Storage device and data processing method thereof

US10095613B2 · US · B2

Patent metadata
FieldValue
Publication numberUS-10095613-B2
Application numberUS-201414310292-A
CountryUS
Kind codeB2
Filing dateJun 20, 2014
Priority dateSep 6, 2013
Publication dateOct 9, 2018
Grant dateOct 9, 2018

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 data storage device which exchanges multi-stream data with a host includes a nonvolatile memory device; a buffer memory configured to temporarily store data to be stored in the nonvolatile memory device or data read from the nonvolatile memory device; and a storage controller configured to receive from the host an access command for accessing segments of the multi-stream data, the accessing including reading the segments of the multi-stream data from or writing the segments of the multi-stream data to the nonvolatile memory device, wherein the storage controller is configured to store the access-requested segments in the buffer memory, the access-requested segments being the segments of data for which access is requested in the access command, the multi-stream data including a plurality of data streams that correspond respectively to a plurality of multi-stream indexes, the first multi-stream index being one of a plurality of multi-stream indexes.

First claim

Opening claim text (preview).

What is claimed is: 1. A data storage device configured to exchange multi-stream data with a host, the data storage device comprising: a nonvolatile memory device; a buffer memory configured to temporarily store data to be stored in the nonvolatile memory device or data read from the nonvolatile memory device; and a storage controller configured to receive from the host an access command for accessing segments of the multi-stream data, the accessing including reading the segments of the multi-stream data from or writing the segments of the multi-stream data to the nonvolatile memory device, wherein the storage controller is configured to determine whether access-requested segments are sequential stream data or non-stream data based on whether a first multi-stream index is included in the access command and the storage controller is configured to store the access-requested segments in the buffer memory based on the determination, the access-requested segments being the segments of the multi-stream data for which access is requested in the access command, the multi-stream data including a plurality of data streams that correspond respectively to a plurality of multi-stream indexes, the first multi-stream index being one of a plurality of multi-stream indexes, each multi-stream index identifying a respective data stream. 2. The data storage device of claim 1 , wherein the storage controller is configured to configure a read buffer area and a write buffer area of the buffer memory for buffering of each of the plurality of data streams of the multi-stream data according to a request of the host. 3. The data storage device of claim 2 , wherein the storage controller is configured to divide the write buffer area into a plurality of write stream units and each of the plurality of write stream units is configured to buffer write-requested segments having the same multi-stream index from among the plurality of multi-stream indexes, the write-requested segments being segments identified in a write command received by the data storage device. 4. The data storage device of claim 3 , wherein the storage controller is configured such that a size of each of the plurality of write stream units corresponds to a memory block size of the nonvolatile memory device. 5. The data storage device of claim 3 , wherein the data storage device is configured such that when a write stream unit, from among the plurality of write stream units, is filled with data to provide a filled write stream unit, the data of the filled write stream unit is sequentially programmed in an allocated memory block of the nonvolatile memory device. 6. The data storage device of claim 2 , wherein the access command is a first read command, and the storage controller is configured to predict data for which a second read command will be received in the future using the first multi-stream index and an address included in the first read command provided from the host. 7. The data storage device of claim 6 , wherein the storage controller is configured to read the predicted data from the nonvolatile memory device, and configured to temporarily store the predicted data in the read buffer area. 8. The data storage device of claim 7 , wherein the storage controller is configured to divide the read buffer area into a plurality of read resource units respectively corresponding to the plurality of multi-stream indexes and the predicted data is stored in a corresponding one of the read resource units. 9. The data storage device of claim 8 , the data storage device is configured such that when data stored in the read resource units is equal to read-requested data, the storage controller sends data stored in the read resource units to the host, the read-requested data being data identified in a read command received by the data storage device. 10. The data storage device of claim 8 , wherein the data storage device is configured such that when data stored in the read resource units is different from read-requested data, the storage controller discards data stored in the read resource units and accesses the nonvolatile memory device to read the read-requested data, the read-requested data being data identified in a read command received by the data storage device. 11. The data storage device of claim 1 , wherein the storage controller supports at least one interface type from among USB (Universal Serial Bus), SCSI (Small Computer System Interface), PCI express, ATA, PATA (Parallel ATA), SATA (Serial ATA), SAS (Serial Attached SCSI), and NVMe. 12. The data storage device of claim 1 , wherein, the nonvolatile memory device is a flash memory device; the storage controller is configured to receive an ID read request from the host and, in response to the ID read request, send ID information associated with a maximum number of data streams capable of being processed with respect to the access command of the host; and the storage controller includes a flash interface configured to exchange data with the flash memory device through one or more memory channels. 13. A user device comprising: a host configured to issue access requests for a plurality of data streams of multi-stream data through a plurality of threads and configured to provide different ones of a plurality of multi-stream indexes to the plurality of data streams when the access requests are issued, each multi-stream index identifying a respective stream; and a solid state drive configured to receive an access request for accessing segments of the multi-stream data, the accessing including reading the segments of the multi-stream data from or writing the segments of the multi-stream data to the solid state drive, and determine whether access-requested segments are sequential stream data or non-stream data based on whether a multi-stream index, from among the plurality of multi-stream indexes, is included in the access request, the access-requested segments being the segments of the multi-stream data for which access is requested in the access request. 14. A data storage device configured to exchange multi-stream data including a plurality of data streams with a host, the data storage device comprising: a non-volatile memory device; a buffer memory; and a storage controller configured to, receive a data access command for performing a data access operation on the non-volatile memory device, the data access command identifying segments of data included in the data access operation, determine whether each of the identified segments is sequential stream data or non-stream data based on whether the data access command identifies a corresponding one of a plurality of multi-stream indexes, the plurality of multi-stream indexes identifying, respectively, the plurality of data streams, and store the identified segments in the buffer memory in accordance with the one or more of the plurality of multi-stream indexes based on the determination. 15. The data storage device of claim 14 , wherein the buffer memory includes a write buffer area and a read buffer area. 16. The data storage device of claim 15 wherein, the storage controller is configured to divide the write buffer area into a plurality of sections corresponding, respectively, to the plurality of multi-stream indexes, and the storage controller is configured such that when the data access command is a write command, the storage controller stores each of the identified segments in the section of the write buffer area that corresponds to the multi-stream index of the identified segment. 17. The data storage device of claim 15 , w

Assignees

Inventors

Classifications

  • with prefetch · CPC title

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

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

  • Logical to physical mapping or translation of blocks or pages · CPC title

  • Handling requests for interconnection or transfer · 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 US10095613B2 cover?
A data storage device which exchanges multi-stream data with a host includes a nonvolatile memory device; a buffer memory configured to temporarily store data to be stored in the nonvolatile memory device or data read from the nonvolatile memory device; and a storage controller configured to receive from the host an access command for accessing segments of the multi-stream data, the accessing i…
Who is the assignee on this patent?
Samsung Electronics Co Ltd
What technology area does this patent fall under?
Primary CPC classification G06F12/0246. Mapped technology areas include Physics.
When was this patent published?
Publication date Tue Oct 09 2018 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 8 related publications on this page (citations in our corpus or others sharing the same primary CPC).