Storage device storing data based on key-value and operating method of the same

US11573890B2 · US · B2

Patent metadata
FieldValue
Publication numberUS-11573890-B2
Application numberUS-202017034242-A
CountryUS
Kind codeB2
Filing dateSep 28, 2020
Priority dateDec 24, 2019
Publication dateFeb 7, 2023
Grant dateFeb 7, 2023

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 storage device generates and stores a key stream and a value stream by extracting from data a plurality of keys and a plurality of values respectively corresponding to the plurality of keys. The storage device includes a controller and a non-volatile memory. The controller receives from a host information about an invalid key included in the key stream together with a compaction command, and performs a compaction operation on the key stream in response to the compaction command. The non-volatile memory stores the key stream and the value stream. The controller merges the key stream with another key stream based on the information about the invalid key in the compaction operation.

First claim

Opening claim text (preview).

What is claimed is: 1. A storage device comprising: a controller configured to generate a key stream and a value stream by extracting a plurality of keys and a plurality of values respectively corresponding to the plurality of keys provided by a host, receive, from the host, information about a specific invalid key included in the key stream together with a compaction command, and perform a compaction operation on the key stream in response to the compaction command; and a non-volatile memory that stores the key stream and the value stream, wherein the controller merges the key stream with another key stream to a merged key stream based on the information about the invalid key in the compaction operation. 2. The storage device of claim 1 , wherein the controller is configured to generate the key stream by merging each of the plurality of keys with an index corresponding to a corresponding value among the plurality of values. 3. The storage device of claim 2 , wherein the controller receives, from the host, an index corresponding to the invalid key as the information about the invalid key. 4. The storage device of claim 1 , wherein the controller generates a first key stream by combining at least some of the plurality of keys, generates a second key stream by combining at least some of the plurality of keys, generates a third key stream by merging the first key stream with the second key stream based on the information about the invalid key, and stores the generated third key stream in the non-volatile memory. 5. The storage device of claim 4 , wherein the controller determines invalid keys among a plurality of keys included in the first key stream and the second key stream based on the information about the invalid key, and generates the third key stream by combining valid keys included in the first key stream and the second key stream, wherein the invalid keys correspond to values that have received a delete command from the host among the plurality of values. 6. The storage device of claim 1 , further comprising: a volatile memory that stores a key table comprising a physical address for the non-volatile memory and a value table comprising a physical address for the non-volatile memory of the value stream. 7. The storage device of claim 6 , wherein the key table stores a validity bit corresponding to the value stream so that a valid key corresponds to a key corresponding to the plurality of values. 8. The storage device of claim 6 , wherein, when performing the compaction operation, the controller updates the key table by adding an address for the merged key stream to the key table. 9. The storage device of claim 1 , wherein the controller further receives, from the host, data capacity information about values corresponding to a plurality of invalid keys including the invalid key, and performs a garbage collection operation on the values by using the data capacity information. 10. The storage device of claim 1 , wherein the controller receives an address of the non-volatile memory in which the invalid key is stored, as the information about the invalid key. 11. An operating method of a storage device that stores a key stream and a value stream generated by extracting, from data, a plurality of keys and a plurality of values respectively corresponding to the plurality of keys, the operating method comprising: receiving from a host a compaction command and information about a specific invalid key included in the key stream; performing a compaction operation based on the compaction command by merging the key stream with another key stream to a merged key stream based on the information about the invalid key; and storing the merged key stream in a non-volatile memory. 12. The operating method of claim 11 , further comprising: generating indices for the plurality of values respectively corresponding to the plurality of keys; and generating the key stream by relating the indices with the plurality of keys. 13. The operating method of claim 12 , wherein the information about the invalid key includes index information corresponding to a plurality of invalid keys including the invalid key, and the performing of the compaction operation comprises merging only valid keys of the key stream with another key stream h excluding the plurality of invalid keys from the key stream based on the index information. 14. The operating method of claim 13 , further comprising: generating a key table comprising information about a storage location of the key stream in the non-volatile memory and a validity bit corresponding to the key stream; and updating the validity bit based on the information about the invalid key. 15. The operating method of claim 14 , wherein the performing of the compaction operation comprises generating the merged key stream by extracting valid keys among a plurality of keys included) in the key stream and the another key stream based on the validity bit. 16. A storage system storing a key stream and a value stream generated by extracting, from data, a plurality of keys and a plurality of values respectively corresponding to the plurality of keys, the storage system comprising: a host configured to transmit a compaction command for the key stream and information about a specific invalid key included in the key stream; and a storage device configured to receive the compaction command, perform a compaction operation based on the compaction command by merging the key stream with another key stream to a merged key stream based on the information about the invalid key, and store the merged key stream. 17. The storage system of claim 16 , wherein the storage device generates the key stream by combining each of the plurality of keys with an index corresponding to a corresponding value among the plurality of values, and the information about the invalid key comprises index information corresponding to a plurality of invalid keys including the invalid key. 18. The storage system of claim 17 , wherein the storage device generates a first key stream by combining at least some of the plurality of keys, generates a second key, stream by combining at least some of the plurality of keys that are not in the first key stream generates a third key stream by merging the first key stream with the second key stream based on the index information, and stores the generated third key stream in a non-volatile memory. 19. The storage system of claim 18 , wherein the key table stores a validity bit corresponding to each of the plurality of values to correspond to a key corresponding to the plurality of values. 20. The storage system of claim 16 , wherein the storage device further receives, from the host, data capacity information about values corresponding to a plurality of invalid keys including the invalid key, and performs a garbage collection operation on the values by using the data capacity information.

Assignees

Inventors

Classifications

  • in semiconductor storage media, e.g. directly-addressable memories · CPC title

  • to protect a block of data words, e.g. CRC or checksum (G06F11/1076 takes precedence; security arrangements for protecting computers or computer systems against unauthorized activity G06F21/00) · CPC title

  • in relation to throughput · CPC title

  • Details of memory controller · CPC title

  • in relation to availability · 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 US11573890B2 cover?
A storage device generates and stores a key stream and a value stream by extracting from data a plurality of keys and a plurality of values respectively corresponding to the plurality of keys. The storage device includes a controller and a non-volatile memory. The controller receives from a host information about an invalid key included in the key stream together with a compaction command, and …
Who is the assignee on this patent?
Samsung Electronics Co Ltd
What technology area does this patent fall under?
Primary CPC classification G06F13/1668. Mapped technology areas include Physics.
When was this patent published?
Publication date Tue Feb 07 2023 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 7 related publications on this page (citations in our corpus or others sharing the same primary CPC).