System and method for optimizing performance of a solid-state drive using a deep neural network

US10963394B2 · US · B2

Patent metadata
FieldValue
Publication numberUS-10963394-B2
Application numberUS-201816012470-A
CountryUS
Kind codeB2
Filing dateJun 19, 2018
Priority dateApr 16, 2018
Publication dateMar 30, 2021
Grant dateMar 30, 2021

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 controller of a data storage device includes: a host interface providing an interface to a host computer; a flash translation layer (FTL) translating a logical block address (LBA) to a physical block address (PBA) associated with an input/output (I/O) request; a flash interface providing an interface to flash media to access data stored on the flash media; and one or more deep neural network (DNN) modules for predicting an I/O access pattern of the host computer. The one or more DNN modules provide one or more prediction outputs to the FTL that are associated with one or more past I/O requests and a current I/O request received from the host computer, and the one or more prediction outputs include at least one predicted I/O request following the current I/O request. The FTL prefetches data stored in the flash media that is associated with the at least one predicted I/O request.

First claim

Opening claim text (preview).

What is claimed is: 1. A controller of a data storage device comprising: a host interface providing an interface to a host computer; a flash translation layer (FTL) translating a logical block address (LBA) to a physical block address (PBA) associated with an input/output (I/O) request received from the host computer via the host interface; a flash interface providing an interface to flash media of the data storage device to access data stored on the flash media of the data storage device; and one or more deep neural network (DNN) modules for predicting an I/O access pattern of the host computer, wherein the host interface provides one or more input vectors to the one or more DNN modules, wherein the one or more DNN modules provide one or more prediction outputs to the FTL that are associated with one or more past I/O requests and a current I/O request received from the host computer using the one or more input vectors, and wherein the one or more prediction outputs include at least one predicted I/O request following the current I/O request and an anticipated idle period, and wherein the FTL determines to prefetch data stored in the flash media that is associated with the at least one predicted I/O request or perform a background operation of the flash media in the anticipated idle period prior to prefetching the data that is associated with the at least one predicted I/O request based on the one or more prediction outputs, and wherein the one or more input vectors includes an LBA and an identifier for the I/O access pattern of the host computer. 2. The controller of claim 1 , wherein the FTL postpones the background operation based on a size of the data associated with the at least one predicted I/O request. 3. The controller of claim 1 , wherein the one or more DNN modules include a prediction table that stores a plurality of prediction outputs based on the current I/O request. 4. The controller of claim 1 , further comprising a prediction error estimator configured to provide a prediction error to the one or more DNN modules to perform training or learning the I/O access pattern associated with the one or more past I/O requests, the current I/O request, and the at least one predicted I/O request. 5. The controller of claim 1 , wherein the FTL determines a time and performs one or more of fetching or updating data structure of the FTL, performing an error correction, un-compressing the data, decrypt the data, providing statistics and logs to the host computer, and offloading a cache based on the I/O access pattern of the host computer. 6. The controller of claim 1 , wherein the controller is implemented in a field-programmable gate array (FPGA), an application-specific integrated circuit (ASIC), or a combination of the FPGA and the ASIC. 7. The controller of claim 1 , wherein the one or more DNN modules employ a long short term memory (LSTM) network or a convolutional neural network (CNN). 8. The controller of claim 1 , wherein the data storage device is a non-volatile memory express (NVMe) solid-state drive (SSD) or an NVMe over fabrics (NVMe-oF) SSD. 9. The controller of claim 1 , wherein the one or more input vectors further includes one or more of a range of LBAes, a length of a host access, a number of a host access, a namespace ID, a host ID, a command opcode (OPC), an I/O type as indicated by the command opcode, a stream ID, an NVM set ID, a time delta and/or a time stamp. 10. The controller of claim 1 , wherein the one or more prediction outputs further include one or more of an LBA cluster, a type of a host access, an imminent idle gap, an imminent access volume. 11. The controller of claim 1 , wherein the one or more DNN modules assign a probability of an imminent access to each block present in a cache, and the controller evicts a block with a lowest probability from the cache. 12. The controller of claim 11 , wherein the controller evicts a block that has an oldest time stamp from the cache if multiple blocks in the cache have a same lowest probability. 13. A data storage device comprising: one or more flash media; a controller configured to control the one or more flash media; and one or more deep neural network (DNN) modules for predicting an I/O access pattern of a host computer, wherein the one or more DNN modules receive one or more input vectors from the controller, provide one or more prediction outputs to the controller that are associated with one or more past I/O requests and a current I/O request received from the host computer using the one or more input vectors, and the one or more prediction outputs include at least one predicted I/O request following the current I/O request and an anticipated idle period, wherein the controller determines to prefetch data stored in the flash media that is associated with the at least one predicted I/O request or perform a background operation of the flash media in the anticipated idle period prior to prefetching the data that is associated with the at least one predicted I/O request based on the one or more prediction outputs, and wherein the one or more input vectors includes an LBA and an identifier for the I/O access pattern of the host computer. 14. The data storage device of claim 13 , wherein the FTL postpones the background operation based on a size of the data associated with the at least one predicted I/O request. 15. The data storage device of claim 13 , wherein the controller comprises a prediction error estimator configured to provide a prediction error to the one or more DNN modules to perform training or learning the host access pattern associated the one or more past I/O requests, the current I/O request, and the at least one predicted I/O request. 16. The data storage device of claim 13 , wherein the controller is implemented in a field-programmable gate array (FPGA), an application-specific integrated circuit (ASIC), or a combination of the FPGA and the ASIC. 17. The data storage device of claim 13 , wherein the data storage device is a non-volatile memory express (NVMe) solid-state drive (SSD) or an NVMe over fabrics (NVMe-oF) SSD. 18. The data storage device of claim 13 , wherein the one or more DNN modules assign a number to each block present in a cache based on a probability of an imminent access, and the controller evicts a block with a lowest probability from the cache. 19. The data storage device of claim 18 , wherein the controller evicts a block that has an oldest time stamp from the cache if multiple blocks in the cache have a same lowest probability. 20. A bridge device comprising: one or more processors; one or more deep neural network (DNN) modules; a processor access module providing an interface between the one or more processors and the one or more DNN modules; a host interface; and a device interface to a solid-state drive (SSD), wherein the one or more DNN modules receive one or more input vectors from the SSD via the host interface, provide one or more prediction outputs to the SSD that are associated with one or more past I/O requests from the remote initiator and a current I/O request received from the remote initiator using the one or more input vectors, and the one or more prediction outputs include at least one predicted I/O request following the current I/O request and an anticipated idle period, wherein the SSD determines to prefetch data stored in a flash media of the SSD that is associated with the at least one predicted I/O request or perform a background operation of the flash media in the antic

Assignees

Inventors

Classifications

  • Combinations of networks · CPC title

  • Recurrent networks, e.g. Hopfield networks · CPC title

  • characterised by memory or gating, e.g. long short-term memory [LSTM] or gated recurrent units [GRU] · CPC title

  • In storage device · CPC title

  • Solid state disk · 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 US10963394B2 cover?
A controller of a data storage device includes: a host interface providing an interface to a host computer; a flash translation layer (FTL) translating a logical block address (LBA) to a physical block address (PBA) associated with an input/output (I/O) request; a flash interface providing an interface to flash media to access data stored on the flash media; and one or more deep neural network …
Who is the assignee on this patent?
Samsung Electronics Co Ltd
What technology area does this patent fall under?
Primary CPC classification G06F3/0658. Mapped technology areas include Physics.
When was this patent published?
Publication date Tue Mar 30 2021 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).