Pre-decoder circuitry
US-2024321327-A1 · Sep 26, 2024 · US
US9263102B2 · US · B2
| Field | Value |
|---|---|
| Publication number | US-9263102-B2 |
| Application number | US-201113248016-A |
| Country | US |
| Kind code | B2 |
| Filing date | Sep 28, 2011 |
| Priority date | Sep 28, 2010 |
| Publication date | Feb 16, 2016 |
| Grant date | Feb 16, 2016 |
A practical reading order for non-experts. Skip the full description unless you need deep technical detail.
What the patent document calls the invention.
A short plain-language summary of the technical disclosure.
Who owns or filed the patent and who is credited as inventor.
Filing, priority, publication, and grant dates set the timeline.
The legal scope of protection — read this for what is actually claimed.
Technology tags used to group this patent with similar filings.
Prior art links and similar publications in this corpus.
Official abstract text for this publication.
Apparatuses, systems, and methods are disclosed for executing data transformations for a data storage device. A storage controller module controls a storage operation for a set of data within a data storage device. A transformation module determines to apply a data transformation to the set of data in response to a transformation indicator. A processing module applies the data transformation to the set of data internally on the data storage device prior to completing the storage operation.
Opening claim text (preview).
What is claimed is: 1. A method comprising: initiating a block I/O operation for a set of data of a data storage device; determining whether to apply a data transformation to the set of data in response to a client request, the client request defining the data transformation and comprising a request to apply the data transformation; determining that applying the data transformation satisfies an efficiency metric by being capable of being applied at a full data rate for a data pipeline configured to service the data transformation at the storage device; applying the data transformation to the set of data at the storage device in response to the determination that applying the data transformation satisfies the efficiency metric, the data transformation being applied prior to completing the block I/O operation; determining that applying a second data transformation to a second set of data fails to satisfy the efficiency metric by not being capable of being applied at the full data rate; and applying the second data transformation to the second set of data at a host device, using a device driver for the storage device, in response to the determination that the second data transformation fails to satisfy the efficiency metric. 2. The method of claim 1 , further comprising monitoring a flow of data within a data pipeline to identify the set of data, at least a portion of data in the set of data satisfying a location identifier associated with the client request, the location identifier comprising a logical or physical storage location associated with the data storage device. 3. The method of claim 2 , wherein the data transformation is performed in a data transformation pipeline that is separate from the data pipeline. 4. The method of claim 1 , further comprising returning to a client a return result satisfying the block I/O operation, the return result comprising a result of applying the data transformation to the set of data. 5. The method of claim 4 , wherein the return result comprises a smaller size than the set of data. 6. The method of claim 1 , wherein the client request comprises a location identifier for the set of data and an identifier of the data transformation. 7. The method of claim 6 , wherein the identifier of the data transformation comprises a definition of the data transformation. 8. The method of claim 1 , wherein the data transformation comprises adding data integrity information to the set of data. 9. The method of claim 8 , further comprising storing the set of data and the data integrity information on a second data storage device, wherein a data integrity protocol of the data integrity information is unsupported by the second data storage device. 10. The method of claim 1 , wherein the data transformation comprises a filter transformation, the filter transformation reducing a size of the set of data by excluding data that satisfies a predicate condition. 11. The method of claim 10 , further comprising setting the predicate condition based on the client request. 12. The method of claim 1 , wherein the client request comprises a write request for an amount of data less than a block size for the data storage device, and the data transformation comprises reading a data block for the set of data, modifying the data block with the set of data at a data offset within the data block, and writing the modified data block to the data storage device, the data transformation applied internally on the data storage device. 13. The method of claim 1 , wherein the client request comprises a transformation request, the transformation request comprising one of a synchronous transformation request for a storage request; an asynchronous transformation request for a storage request; a transformation request for a plurality of storage requests; a transformation request for a set of logical block addresses of the data storage device; and a global transformation request for the data storage device. 14. The method of claim 1 , wherein the block I/O operation comprises one of reading data, writing data, validating data, and deleting data. 15. The method of claim 1 , wherein the client communicates with the data storage device using a block interface comprising a transformation indicator. 16. An apparatus comprising: a storage controller module configured to control a block I/O operation for a set of data of a data storage device; a transformation module configured to determine whether to apply a data transformation to the set of data in response to a transformation indicator provided by a client request that identifies the block I/O operation and the data transformation and to determine whether the data transformation is capable of being applied at a full data rate for a data pipeline configured to service the block I/O operation within the data storage device, the data transformation comprising one or more of adding data integrity information to the set of data, applying a predicate to return a Boolean result, applying a predicate to return a count of data entries that satisfies the predicate, applying a predicate to return a count of data entries that fail to satisfy the predicate, discarding a portion of a data block to return a requested sub-block, and writing a data block with a modified portion; and a processing module configured to apply the data transformation to the set of data internally on the data storage device prior to completing the block I/O operation in response to the transformation module determining that the data transformation is capable of being applied at the full data rate, and to apply the data transformation to the set of data at a host device, using a device driver for the data storage device, in response to the transformation module determining that the data transformation is not capable of being applied at the full data rate. 17. The apparatus of claim 16 , wherein the transformation module is configured to monitor a flow of data within a data pipeline to identify the set of data, at least a portion of data in the set of data satisfying a location identifier associated with the client request. 18. The apparatus of claim 16 , wherein the storage controller module is configured to return to a client a return result satisfying the block I/O operation, the return result comprising a result of applying the data transformation to the set of data. 19. A system comprising: a solid-state data storage device in communication with a host device over a communications bus; a storage controller module that controls a block I/O operation for a set of data of the data storage device; a modification module that determines whether to apply a data modification to the set of data in response to a client request that identifies the data modification, and that determines whether applying the data modification satisfies an efficiency metric by being capable of being applied at a full data rate of the communications bus; and a processing module that applies the data modification to the set of data within the solid-state data storage device in response to the modification module determining that applying the data modification satisfies the efficiency metric, and that applies the data modification to the set of data at the host device, using a device driver for the data storage device, in response to the modification module determining that applying the data modification fails to satisfy the efficiency metric. 20. The system of claim 19 , wherein the processing module comprises logic hardware of the data storage device,
Data format conversion from or to a database · CPC title
Non-volatile semiconductor memory arrays · CPC title
Non-volatile semiconductor memory device, e.g. flash memory, one time programmable memory [OTP] · CPC title
Format or protocol conversion arrangements · CPC title
Command handling arrangements, e.g. command buffers, queues, command scheduling · CPC title
Related publications grouped by family.
Answers are generated from the same data shown on this page.