Method of operating a storage device to compress or decompress data and a data storage system including the storage device

US10496312B2 · US · B2

Patent metadata
FieldValue
Publication numberUS-10496312-B2
Application numberUS-201715497258-A
CountryUS
Kind codeB2
Filing dateApr 26, 2017
Priority dateSep 27, 2016
Publication dateDec 3, 2019
Grant dateDec 3, 2019

How to read this patent

A practical reading order for non-experts. Skip the full description unless you need deep technical detail.

  1. Title

    What the patent document calls the invention.

  2. Abstract

    A short plain-language summary of the technical disclosure.

  3. Assignees and inventors

    Who owns or filed the patent and who is credited as inventor.

  4. Key dates

    Filing, priority, publication, and grant dates set the timeline.

  5. First independent claim

    The legal scope of protection — read this for what is actually claimed.

  6. CPC / IPC classifications

    Technology tags used to group this patent with similar filings.

  7. Citations and related patents

    Prior art links and similar publications in this corpus.

Abstract

Official abstract text for this publication.

A method of operating a storage device including at least one nonvolatile storage and a storage controller configured to control the nonvolatile storage. A first type of request, original data and a first request information associated with the original data are received, in the storage controller, from an external host device, a compression operation to compress the original data to generate compressed data is performed in the storage controller, in response to the first type of request, and a write operation to write the compressed data in a data storage area of the nonvolatile storage is performed in the storage controller. The data storage area of the nonvolatile storage may store the first request information associated with the original data. The external host may manage mapping information in the form of a mapping table associated with compression/decompression at the storage device.

First claim

Opening claim text (preview).

What is claimed is: 1. A method of operating a storage device, comprising: receiving from an external host device, a first type of request, original data and first request information associated with the original data based on mapping information managed by the external host device, the first request information including a sector offset, a first stripe identifier that identifies a first stripe of a plurality of stripes of the nonvolatile storage device, and a sector number; performing, by a storage controller, a compression operation on the original data to generate compressed data, in response to receiving the first type of request; writing the compressed data in a data storage area of a nonvolatile storage device using the sector offset and the sector number, wherein the nonvolatile storage device is controlled by the storage controller; outputting, by the storage controller, a size of the compressed data to the host device; and updating, by the host device, the mapping information using the received size; wherein the first request information associated with the original data is stored in the data storage area of the nonvolatile storage, and wherein in response to the storage controller determining that available sectors of the first stripe are insufficient to store all of the compressed data, the storage controller stores the compressed data in a second stripe of the plurality different from the first stripe, and the storage controller transmits to the external host device, a second stripe identifier of the second stripe and information of the available sectors of the first stripe. 2. The method of claim 1 , further comprising: transmitting, by the storage controller, a return information associated with the writing of the compressed data to the external host device after the writing of the compressed data in the nonvolatile storage is completed. 3. The method of claim 2 , wherein the first request information includes a size of the original data, and wherein the return information includes a size information of the compressed data in the data storage area and a status signal indicating a status of the writing of the compressed data. 4. The method of claim 3 , wherein the first request information further includes a starting logical block address of the first stripe of the nonvolatile storage in which the compressed data is to be stored based on the mapping information in the external host device, and wherein the return information further includes the compressed data. 5. The method of claim 3 , wherein the first request information further includes a first stripe identifier that identifies an engine identifier that identifies a selected compression engine of a plurality of compression engines, wherein the selected compression engine performs the compression operation on the original data to generate the compressed data, and wherein the return information further includes a starting logical block address of the stripe of the nonvolatile storage in which the compressed data is stored. 6. The method of claim 1 , wherein the storage controller includes at least one compression/decompression engine, and the compression operation on the original data to generate the compressed data is performed by at least one compression engine of the at least one compression/decompression engine. 7. The method of claim 1 , wherein the storage controller includes a compression/decompression engine including a plurality of compression engines, and the compression operation on the original data to generate the compressed data is performed by a compression engine of the plurality of compression engines, and wherein the compression engine is selected according to a compression engine identifier that identifies one of the plurality of compression engines. 8. The method of claim 1 , wherein the storage controller includes at least one compression/decompression engine including a plurality of compression engines, the compression operation on the original data to generate the compressed data is performed in each of a plurality of compression engines in the at least one compression/decompression engine, and the storage controller transmits the compressed data output from one compression engine of the plurality of compression engines to the nonvolatile storage, wherein the one compression engine is selected based on a compression ratio of each of the plurality of compression engines. 9. The method of claim 1 , wherein after the writing of the compressed data is completed, the method further comprises: receiving, by the storage controller, a second type of request, and a second request information associated with the compressed data from the external host device; reading, by the storage controller, the compressed data from the data storage area in response to the second type of request; decompressing, by the storage controller, the compressed data to recover the original data; and transmitting, by the storage controller, the recovered original data to the external host device. 10. The method of claim 1 , further comprising: monitoring, by the external host device, an amount of a data stream transmitted between the external host device and the storage device; determining, by the external host device, whether the monitored amount of the data stream is greater than a threshold value; and adjusting, by the external host device, a number of issuances of the first type of request adaptively based on the determining whether the monitored amount of the data stream is greater than a threshold value. 11. The method of claim 10 , wherein the number of issuances of the first type of request is decreased in response to determining the monitored amount of the data stream is greater than the threshold value. 12. The method of claim 10 , wherein the number of issuances of the first type of request is increased in response to determining the monitored amount of the data stream is less than the threshold value. 13. The method of claim 9 , wherein the first type of request corresponds to a write after compression command (WACCMD) to direct that the original data is compressed into the compressed data and then the compressed data is written, and wherein the second type of request corresponds to a decompression after read command (DACCMD) to direct that the compressed data is read and then the read compressed data is decompressed. 14. The method of claim 1 , wherein the mapping information maps a logical address of the data storage area to the sector offset and the sector number, and the updating changes the sector number based on the received size. 15. A data storage system comprising: a host device including mapping information and generating first request information based on the mapping information; a storage device external to the host device, the storage device including a processor and a nonvolatile storage device, wherein the storage device is configured to: perform a compression operation on original data received from the host device to generate compressed data, in response to receipt of a first type of request from the host device, perform a write operation to write the compressed data in a data storage area of the nonvolatile storage, device using a sector offset, a first stripe identifier that identifies a first stripe of a plurality of stripes of the nonvolatile storage device, and a sector number included in the first request information received from the host device along with the request, and output a size of the compressed data to the host device; and a host interface configured to interface the storage device to the host device, wherein the host devic

Assignees

Inventors

Classifications

  • Non-volatile semiconductor memory device, e.g. flash memory, one time programmable memory [OTP] · CPC title

  • Improving I/O performance · CPC title

  • Data buffering arrangements · CPC title

  • Monitoring storage devices or systems · CPC title

  • in block erasable memory, e.g. flash memory · CPC title

Patent family

Related publications grouped by family.

External sources

Frequently asked questions

Answers are generated from the same data shown on this page.

What does patent US10496312B2 cover?
A method of operating a storage device including at least one nonvolatile storage and a storage controller configured to control the nonvolatile storage. A first type of request, original data and a first request information associated with the original data are received, in the storage controller, from an external host device, a compression operation to compress the original data to generate c…
Who is the assignee on this patent?
Samsung Electronics Co Ltd
What technology area does this patent fall under?
Primary CPC classification G06F3/064. Mapped technology areas include Physics.
When was this patent published?
Publication date Tue Dec 03 2019 00:00:00 GMT+0000 (Coordinated Universal Time) (B2). Legal status and post-grant events are not shown on this page.
What related patents are in patentsdb?
We list 4 related publications on this page (citations in our corpus or others sharing the same primary CPC).