Read collision avoidance in sequential mixed workloads

US12229423B2 · US · B2

Patent metadata
FieldValue
Publication numberUS-12229423-B2
Application numberUS-202318348314-A
CountryUS
Kind codeB2
Filing dateJul 6, 2023
Priority dateOct 4, 2022
Publication dateFeb 18, 2025
Grant dateFeb 18, 2025

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 processes a mixed workload including a plurality of superblocks to be written to and read from a plurality of memory dies, where each of the plurality of superblocks to be apportioned among the plurality of memory dies. The data storage device writes a first data stripe associated with a first superblock to the plurality of memory dies according to a sequential write pattern, and reads the first data stripe associated with the first superblock from the plurality of memory dies according to a sequential read pattern. The sequential write pattern causes the controller to write to the plurality of memory dies in a first order of memory dies. The sequential read pattern causes the controller to read from the plurality of memory dies in a second order of memory dies different from the first order of memory dies, thereby reducing read collisions.

First claim

Opening claim text (preview).

What is claimed is: 1. A data storage device, comprising: a non-volatile memory comprising a plurality of memory dies; and a controller configured to control the non-volatile memory and communicate with a host, wherein the controller is configured to: receive a mixed workload including a plurality of superblocks to be written to and read from the plurality of memory dies, each of the plurality of superblocks to be apportioned among the plurality of memory dies; write a first data stripe associated with a first superblock of the plurality of superblocks to the plurality of memory dies according to a sequential write pattern; and read the first data stripe associated with the first superblock from the plurality of memory dies according to a sequential read pattern, wherein: the sequential write pattern causes the controller to write to the plurality of memory dies in a first order of memory dies; and the sequential read pattern causes the controller to read from the plurality of memory dies in a second order of memory dies different from the first order of memory dies, and wherein: the first order associated with the sequential write pattern is a random order, and the second order associated with the sequential read pattern is a sequential order; or the controller is configured to, based on one or more future read operations, reorder the first order associated with the sequential write pattern to avoid writing to any memory dies of the plurality of memory dies while they are being read. 2. The data storage device of claim 1 , wherein the controller is further configured to, while writing the first data stripe associated with the first superblock to the plurality of memory dies, read a previously written data stripe associated with a previously written superblock of the plurality of superblocks from the plurality of memory dies. 3. The data storage device of claim 2 , wherein the controller is configured to read the previously written data stripe using the sequential read pattern. 4. The data storage device of claim 1 , wherein differences in the first order and the second order cause the controller to avoid simultaneously writing to and reading from a same memory die of the plurality of memory dies. 5. The data storage device of claim 1 , wherein: the plurality of memory dies includes a total of N memory dies, N being an integer greater than or equal to 2; and differences in the first order and the second order cause the controller to simultaneously write to and read from a same memory die of the plurality of memory dies fewer than N/2 times while a given data stripe is being written. 6. The data storage device of claim 1 , wherein: the mixed workload is characterized by 50% write commands and 50% read commands; and each write command included in the mixed workload corresponds to a respective read command included in the mixed workload. 7. The data storage device of claim 1 , wherein the controller is configured to: detect the one or more future read operations using a sequential read ahead algorithm. 8. The data storage device of claim 7 , wherein the controller is configured to reorder the first order based on a degree of freedom associated with the first order for a given data stripe. 9. A method of operating a data storage device, the method comprising: at a data storage device including a non-volatile memory comprising a plurality of memory dies, and a controller configured to control the non-volatile memory and communicate with a host: receiving a mixed workload including a plurality of superblocks to be written to and read from the plurality of memory dies, each of the plurality of superblocks to be apportioned among the plurality of memory dies; writing a first data stripe associated with a first superblock of the plurality of superblocks to the plurality of memory dies according to a sequential write pattern; and reading the first data stripe associated with the first superblock from the plurality of memory dies according to a sequential read pattern, wherein: the sequential write pattern causes the controller to write to the plurality of memory dies in a first order of memory dies; and the sequential read pattern causes the controller to read from the plurality of memory dies in a second order of memory dies different from the first order of memory dies, and wherein: the first order associated with the sequential write pattern alternates between: a first sequential order having a first sequence of memory dies; and a second sequential order having a second sequence of memory dies opposite the first sequence of memory dies; and the second order associated with the sequential read pattern is a sequential order having the first sequence of memory dies. 10. The method of claim 9 , wherein: the mixed workload is characterized by 50% write commands and 50% read commands; and each write command included in the mixed workload corresponds to a respective read command included in the mixed workload. 11. A data storage device, comprising: a non-volatile memory comprising a plurality of memory dies; and a controller configured to control the non-volatile memory and communicate with a host, wherein the controller includes: means for receiving a mixed workload including a plurality of superblocks to be written to and read from the plurality of memory dies, each of the plurality of superblocks to be apportioned among the plurality of memory dies; means for writing a first data stripe associated with a first superblock of the plurality of superblocks to the plurality of memory dies according to a sequential write pattern; and means for reading the first data stripe associated with the first superblock from the plurality of memory dies according to a sequential read pattern, and wherein: the sequential write pattern causes the means for writing to write to the plurality of memory dies in a first order of memory dies; and the sequential read pattern causes the means for reading to read from the plurality of memory dies in a second order of memory dies different from the first order of memory dies, and wherein: the first order associated with the sequential write pattern is a sequential order that begins with a random memory die of the plurality of memory dies for each successive data stripe being written, or that begins with a memory die being identified as a last memory die used to read prior to writing a given data stripe; and the second order associated with the sequential read pattern is a sequential order that begins with a same memory die of the plurality of memory dies for each successive data stripe being read.

Assignees

Inventors

Classifications

  • Improving I/O performance · CPC title

  • Controller construction arrangements · CPC title

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

  • G06F3/0635Primary

    by changing the path, e.g. traffic rerouting, path reconfiguration · CPC title

  • Command handling arrangements, e.g. command buffers, queues, command scheduling · 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 US12229423B2 cover?
A data storage device processes a mixed workload including a plurality of superblocks to be written to and read from a plurality of memory dies, where each of the plurality of superblocks to be apportioned among the plurality of memory dies. The data storage device writes a first data stripe associated with a first superblock to the plurality of memory dies according to a sequential write patte…
Who is the assignee on this patent?
Western Digital Tech Inc, Sandisk Technologies Inc
What technology area does this patent fall under?
Primary CPC classification G06F3/0635. Mapped technology areas include Physics.
When was this patent published?
Publication date Tue Feb 18 2025 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 12 related publications on this page (citations in our corpus or others sharing the same primary CPC).