Systems and methods of compressing data
AssigneeSanDisk Technologies LLC
InventorsTal Rostoker, Alon Marcu
Life of this patent
Estimating the term…
Abstract
A method includes, in response to a first write command corresponding to first data and a first context which is identifiable with a first identifier and to a second write command corresponding to second data and a second context identifiable with a second identifier, determining whether the first identifier of the first context matches the second identifier of the second context. The method also includes, if the first identifier of the first context is determined to match the second identifier of the second context, forming a compression group of data including the first data and the second data, and generating compressed data corresponding to the compression group of data.
Claims32
A method comprising:
- at a data storage device that includes a controller and a memory having single level cells storing first data associated with a first write command from an accessing device and associated with information from the accessing device indicating whether the first data is compressible, the first write command corresponding to a first context identifiable with a first context identifier included with the first write command, and having multilevel cells, performing:
- in response to a second write command from the accessing device, the second write command corresponding to second data and a second context identifiable with a second context identifier included with the second write command, determining whether the first context identifier of the first context matches the second identifier of the second context;
- if the first context identifier of the first context is determined to match the second context identifier of the second context, forming a group of data including the first data and the second data, the first context identifier assigned by the accessing device to indicate a first operational context associated with the first data within the accessing device, the second context identifier assigned by the accessing device to indicate a second operational context associated with the second data within the accessing device;
- and
- writing compressed data to a portion of the multilevel cells, the compressed data corresponding to a compression group of data and including at least one of the first data or the second data.
A data storage device comprising:
- a controller;
- and
- a memory coupled to the controller and having single level cells storing first data associated with a first write command from an access device and associated with information from the access device indicating whether the first data is compressible,
- wherein the controller is configured to:
- perform a comparison of a first context identifier associated with a first context and included with the first write command and a second context identifier associated with a second context and included with a second write command from the access device, the first context identifier assigned by the accessing device to indicate a first operational context associated with the first data within the accessing device, the second context identifier assigned by the accessing device to indicate a second operational context associated with second data within the accessing device;
- and
- write compressed data to multilevel cells of the memory if the first context identifier matches the second context identifier, the compressed data generated by compressing a compression group of data including at least one of the first data or second data corresponding to the second write command.
A method comprising:
- at a data storage device that includes a controller and a memory having single level cells to store information associated with an indicator from an accessing device indicating whether the information is compressible and associated with a context identifier included with a command from the accessing device, the context identifier assigned by the accessing device to indicate an operational context associated with the information within the accessing device operational context associated with second data within the accessing device, performing:
- in response to a read command from the accessing device and associated with a particular memory address, determining, based on mapping information that maps memory addresses of multilevel cells of the memory to group identifiers associated with compression groups of data, whether the particular memory address is associated with any of the group identifiers;
- and
- if the particular memory address is associated with a group identifier:
- determining a set of memory addresses corresponding to a compression group of data identified by the group identifier, the set of memory addresses including the particular memory address and one or more additional memory addresses;
- performing a read operation to read compressed data from a set of storage elements of the memory, the set of storage elements corresponding to the set of memory addresses;
- and
- generating decompressed data corresponding to the compressed data.
An apparatus comprising:
- means for storing information, the means for storing having single level cells configured to store first data associated with a first write command from means for providing access to the means for storing and associated with information from the means for providing access indicating whether the first data is compressible;
- and
- means for controlling the means for storing,
- wherein the means for controlling is configured to:
- perform a comparison of a first context identifier associated with a first context and included with the first write command and a second context identifier associated with a second context and included with a second write command from the means for providing access, the first context identifier assigned by the means for providing access to indicate a first operational context associated with the first data within the means for providing access, the second context identifier assigned by the means for providing access to indicate a second operational context associated with the second data within the means for providing access;
- and
- write compressed data to multilevel cells of the means for storing if the first context identifier matches the second context identifier, the compressed data generated by compressing a compression group of data including at least one of the first data or second data corresponding to the second write command.
Dependencies are inferred from the claim text.