Compression and formatting of data for data storage systems
First Claim
Patent Images
1. A data storage system comprising:
- non-volatile memory (NVM) configured to store a plurality of memory data units, a memory data unit being a unit of storage in the NVM; and
a controller configured to;
in response to a write data command received from a host system, the command associated with a plurality of host data units associated with a plurality of logical addresses;
compress the plurality of host data units to obtain a compressed payload, wherein a size of the compressed payload is smaller than or equal to a size of the plurality of host data units;
assemble the compressed payload into a compressed mapping unit;
assemble the compressed mapping unit along with one or more additional compressed mapping units into a storage unit, wherein a size of the storage unit is aligned with the size of the memory data unit;
generate a storage unit metadata portion indicating a position in the storage unit of at least one of the compressed mapping unit or the one or more additional compressed mapping units;
include the metadata portion in the storage unit; and
store the storage unit in the NVM.
8 Assignments
0 Petitions
Accused Products
Abstract
Embodiments of compression and formatting of data for data storage systems are disclosed. In some embodiments, a data storage system can compress fixed sized data before storing it on a media and format obtained variable sized compressed data for storing on the media that typically has fixed size storage granularity. One or more modules compress the incoming host data and create an output stream of fixed sized storage units that contain compressed data. The storage units are stored on the media. Capacity, reliability, and performance are thereby increased.
169 Citations
48 Claims
-
1. A data storage system comprising:
-
non-volatile memory (NVM) configured to store a plurality of memory data units, a memory data unit being a unit of storage in the NVM; and a controller configured to; in response to a write data command received from a host system, the command associated with a plurality of host data units associated with a plurality of logical addresses; compress the plurality of host data units to obtain a compressed payload, wherein a size of the compressed payload is smaller than or equal to a size of the plurality of host data units; assemble the compressed payload into a compressed mapping unit; assemble the compressed mapping unit along with one or more additional compressed mapping units into a storage unit, wherein a size of the storage unit is aligned with the size of the memory data unit; generate a storage unit metadata portion indicating a position in the storage unit of at least one of the compressed mapping unit or the one or more additional compressed mapping units; include the metadata portion in the storage unit; and store the storage unit in the NVM. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 47)
-
-
25. A method of storing data in a non-volatile storage system comprising a non-volatile memory (NVM) configured to store a plurality of memory data units, a memory data unit being a unit of storage in the NVM, the method comprising:
-
in response to receiving a write data command from a host system, the command associated with a plurality of host data units associated with a plurality of logical addresses; compressing the plurality of host data units to obtain a compressed payload, wherein a size of the compressed payload is smaller or equal to a size of the plurality of host data units; assembling the compressed payload into a compressed mapping unit; assembling the compressed mapping unit along with one or more additional compressed mapping units into a storage unit, wherein a size of the storage unit is aligned with the size of the memory data unit; generating a storage unit metadata portion indicating a position in the storage unit of at least one of the compressed mapping unit or the one or more additional compressed mapping units; including the metadata portion in the storage unit; and storing the storage unit in the NVM, wherein the method is performed under control of a controller. - View Dependent Claims (26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 48)
-
Specification