System and method for storing data using ethernet drives and ethernet open-channel drives

US11726948B2 · US · B2

Patent metadata
FieldValue
Publication numberUS-11726948-B2
Application numberUS-202117537126-A
CountryUS
Kind codeB2
Filing dateNov 29, 2021
Priority dateSep 13, 2018
Publication dateAug 15, 2023
Grant dateAug 15, 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 system for reading stored data may include one or more Ethernet drives and a controller, both configured to communicatively connect to a host device. The controller may receive a first read command from the host device, determine a first drive among the one or more Ethernet drives using the first read command and a mapping table, translate the first read command into a second read command, and send the second read command to the first drive. Responsive to receiving the second read command, the first drive may send a first remote data transfer instruction to the host device independent of the controller. The first remote data transfer instruction may include stored data read from the first drive to cause the host device to write the stored data read from the first drive to one or more memory buffers in the host device indicated by the second read command.

First claim

Opening claim text (preview).

What is claimed is: 1. A system for managing stored data, comprising: one or more Ethernet drives configured to communicatively connect to a host device; and a controller in communication with the host device and the one or more Ethernet drives, configured to: receive a first write command from the host device, the first write command including a first set of one or more input parameters and a first set of one or more output parameters indicating one or more memory buffers in the host; determine a first drive among the one or more Ethernet drives using at least one of the one or more input parameters and a mapping table; translate the first write command into a second write command, the second write command including a logical unit number (LUN) within the first drive obtained from the mapping table and a second set of one or more output parameters indicating one or more memory buffers in the host device; and send the second write command to the first drive, wherein the first drive is configured to responsive to receiving the second write command, send a first remote data transfer instruction to the host device independent of the controller, the first remote data transfer instruction being configured to cause the host device to read data from the one or more memory buffers indicated by the second set of one or more output parameters and to remotely write the read data from the one or more memory buffers to the LUN of the first drive. 2. The system of claim 1 , wherein the first write command is an Non-Volatile Memory Express over Fabric (NVMeoF) write command, and the first remote data transfer instruction is a remote direct memory access (RDMA) read command. 3. The system of claim 1 , wherein the controller is further configured to: execute a garbage collection command, the garbage collection command including a first drive identifier identifying the first drive among one or more Ethernet drives; allocate, with the first drive identifier using a mapping table, a free block at a destination address in a destination drive among one or more Ethernet drives; and identify, with the first drive identifier using the mapping table, a source address in the first drive. 4. The system of claim 3 , wherein the controller is further configured to send a move command to the first drive, the move command including the source address, the destination address, and the destination drive, and wherein the first drive is further configured to: responsive to receiving the move command, read data from the identified source address in the first drive; and send a program command to the destination drive and cause the destination drive to copy the data read from the identified source address to the free block at the destination address in the destination drive. 5. The system of claim 4 , wherein the one or more Ethernet drives includes at least one Ethernet Open-Channel drive supporting Open-Channel program and read of a page, and Open-Channel move and erase of a block, the move command is an Open-Channel move command, and the program command is an Open-Channel program command. 6. The system of claim 4 , wherein the first drive is further configured to, responsive to completion of copying the data to the free block, send an acknowledgement command to the controller, and wherein the controller is further configured to: responsive to receiving the acknowledgement command from the first drive, update the mapping table with the destination address; and responsive to completion of updating the mapping table with the destination address, send an erase command to the first drive and cause the first drive to erase the data at the identified source address in the first drive. 7. The system of claim 6 , wherein the erase command is an Open-Channel erase command. 8. A method for managing stored data, comprising: receiving, by a controller in communication with a host device and one or more Ethernet drives, a first write command from the host device, the first write command including a first set of one or more input parameters and a first set of one or more output parameters indicating one or more memory buffers in the host; determining, by the controller, a first drive among the one or more Ethernet drives in communication with the host device, using at least one of the one or more input parameters and a mapping table; translating, by the controller, the first write command into a second write command, the second write command including a logical unit number (LUN) within the first drive obtained from the mapping table and a second set of one or more output parameters indicating one or more memory buffers in the host device; sending, by the controller, the second write command to the first drive, responsive to receiving the second write command, sending by the first drive a first remote data transfer instruction to the host device independent of the controller, the first remote data transfer instruction being configured to cause the host device to read data from the one or more memory buffers indicated by the second set of one or more output parameters and to remotely write the read data from the one or more memory buffers to the LUN within the first drive. 9. The method of claim 8 , wherein the first write command is an Non-Volatile Memory Express over Fabric (NVMeoF) write command, and the first remote data transfer instruction is a remote direct memory access (RDMA) read command. 10. The method of claim 8 , further comprising: executing, by the controller, a garbage collection command, the garbage collection command including a first drive identifier identifying the first drive among one or more Ethernet drives; allocating, by the controller with the first drive identifier using a mapping table, a free block at a destination address in a destination drive among one or more Ethernet drives; and identifying, by the controller with the first drive identifier using the mapping table, a source address in the first drive. 11. The method of claim 10 , further comprising: sending, by the controller, a move command to the first drive, the move command including the source address, the destination address, and the destination drive; responsive to receiving the move command, reading, by the first drive, data from the identified source address in the first drive; and sending, by the first drive, a program command to the destination drive and causing the destination drive to copy the data read from the identified source address to the free block at the destination address in the destination drive. 12. The method of claim 11 , wherein the one or more Ethernet drives includes at least one Ethernet Open-Channel drive supporting Open-Channel program and read of a page, and Open-Channel move and erase of a block, the move command is an Open-Channel move command, and the program command is an Open-Channel program command. 13. The method of claim 11 , further comprising: responsive to completion of copying the data to the free block, by the first drive, sending an acknowledgement command to the controller; responsive to receiving the acknowledgement command from the first drive, by the controller, updating the mapping table with the destination address; and responsive to completion of updating the mapping table with the destination address, by the controller, sending an erase command to the first drive and causing the first drive to erase the data at the identified source address in the first drive. 14. The method of claim 13 , wherein the erase command is an Open-Channel erase command. 15. A method for managing

Assignees

Inventors

Classifications

  • Protocols for interworking; Protocol conversion · CPC title

  • in the physical layer [OSI layer 1] · CPC title

  • for distributed storage of data in networks, e.g. transport arrangements for network file system [NFS], storage area networks [SAN] or network attached storage [NAS] · CPC title

  • Distributed shared memory [DSM], e.g. remote direct memory access [RDMA] · 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 US11726948B2 cover?
A system for reading stored data may include one or more Ethernet drives and a controller, both configured to communicatively connect to a host device. The controller may receive a first read command from the host device, determine a first drive among the one or more Ethernet drives using the first read command and a mapping table, translate the first read command into a second read command, an…
Who is the assignee on this patent?
Kioxia Corp
What technology area does this patent fall under?
Primary CPC classification G06F15/17331. Mapped technology areas include Physics.
When was this patent published?
Publication date Tue Aug 15 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 10 related publications on this page (citations in our corpus or others sharing the same primary CPC).