Adaptive compression data storing method for non-volatile memories and system using the same
AssigneeStorart Technology Co. Ltd.
InventorsJui Hui HUNG, Ming-Yi CHU
Life of this patent
Estimating the term…
Abstract
An adaptive compression data storing method for non-volatile memories and a system using the method are disclosed. The system includes a host interface unit, a data compressor, a padding unit, a buffer, a combining unit, and a mapping table unit. By combining some compressed data in one page, the present invention can settle the problem that space for storing a compressed data that can not be utilized. Further, lifetime of non-volatile memories can be extended.
Claims17
An adaptive compression data storing method for non-volatile memories, comprising the steps of:
- A. receiving a first data, wherein a size of the first data is not greater than that of a page in a non-volatile memory and continuously received first data form an original data which needs to be stored in the non-volatile memory;
- B. dividing the first data into at least two basic units if the size of the first data is greater than a predetermined size, wherein at least one of the basic units is equal to the predetermined size;
- C. compressing the basic units or the first data;
- D. connecting and padding the compressed basic units or the first data to form one second data so that the second data has a size as an integral multiple of the predetermined size;
- E. storing the second data in a buffer;
- F. repeating step A to step E if the number of second data is 1 and the original data has not been received completely;
- G. searching for at least two of the second data that can be combined to have a size of one page in the buffer;
- H. combining the at least two of the second data in the buffer as a third data, or padding the second data or connecting and padding the second data in the buffer as a third data if the original data has been received completely, wherein a size of the third data is the same as that of one page;
- I. programming the third data to a specific page in the non-volatile memory;
- and
- J. processing step A if the original data has not been received completely, wherein 0 is used as an element for padding.
An adaptive compression data storing system for non-volatile memories, comprising:
- a host interface unit, for communicating with a host and receiving first data having a size not greater than that of a page in a non-volatile memory from the host, wherein continuously received first data form an original data which needs to be stored in the non-volatile memory;
- a data compressor, electrically connected to the host interface unit, for dividing each first data into at least two basic units if the size of the first data is greater than a predetermined size, wherein at least one of the basic units is equal to the predetermined size;
- and compressing the basic units;
- a padding unit, electrically connected to the data compressor, for connecting and padding the compressed basic units to form one second data, and padding the second data or connecting and padding the second data as a third data if the original data has been received completely;
- a buffer, electrically connected with the padding unit and the non-volatile memory, for temporarily storing the second data, replacing one stored second data when it is full or substantially full, and programming the third data to a specific page in the non-volatile memory;
- and
- a combining unit, electrically connected with the buffer, for combining at least two of the second data in the buffer as a third data,
- wherein if the size of the original data is not greater than the predetermined size, the first data will not be divided but be compressed and padded to a size of one page and programmed to the non-volatile memory;
- the second data has a size as an integral multiple of the predetermined size;
- the third data has a size the same as that of one page;
- 0 is used as an element for padding.
Dependencies are inferred from the claim text.