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 processing a read data command associated with a range of logical addresses corresponding to a plurality of host data units;
identify and retrieve from the NVM at least one storage unit that includes the plurality of host data units associated with the read data command and a storage unit metadata portion indicating a position in the at least one storage unit of one or more compressed mapping units;
identify, using the position, a plurality of compressed mapping units in the retrieved at least one storage unit, wherein combined compressed payloads of the plurality of compressed mapping units comprise at least the plurality of host data units associated with the read data command;
decompress the compressed payloads of the identified plurality of compressed mapping units; and
provide the plurality of host data units obtained from the decompressed payloads to a host system.
5 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.
170 Citations
20 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 processing a read data command associated with a range of logical addresses corresponding to a plurality of host data units; identify and retrieve from the NVM at least one storage unit that includes the plurality of host data units associated with the read data command and a storage unit metadata portion indicating a position in the at least one storage unit of one or more compressed mapping units; identify, using the position, a plurality of compressed mapping units in the retrieved at least one storage unit, wherein combined compressed payloads of the plurality of compressed mapping units comprise at least the plurality of host data units associated with the read data command; decompress the compressed payloads of the identified plurality of compressed mapping units; and provide the plurality of host data units obtained from the decompressed payloads to a host system. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9, 10)
-
-
11. 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 processing a read data command associated with a range of logical addresses corresponding to a plurality of host data units; identifying and retrieving from the NVM at least one storage unit that includes the plurality of host data units associated with the read data command and a storage unit metadata portion indicating a position in the at least one storage unit of one or more compressed mapping units; identifying, using the position, a plurality of compressed mapping units in the retrieved at least one storage unit, wherein combined compressed payloads of the plurality of compressed mapping units comprise at least the plurality of host data units associated with the read data command; decompressing the compressed payloads of the identified plurality of compressed mapping units; and providing the plurality of host data units obtained from the decompressed payloads to a host system, wherein the method is performed under control of a controller. - View Dependent Claims (12, 13, 14, 15, 16, 17, 18, 19, 20)
-
Specification