Memory system
US-2018121354-A1 · May 3, 2018 · US
US10838665B2 · US · B2
| Field | Value |
|---|---|
| Publication number | US-10838665-B2 |
| Application number | US-201715716791-A |
| Country | US |
| Kind code | B2 |
| Filing date | Sep 27, 2017 |
| Priority date | Dec 5, 2016 |
| Publication date | Nov 17, 2020 |
| Grant date | Nov 17, 2020 |
A practical reading order for non-experts. Skip the full description unless you need deep technical detail.
What the patent document calls the invention.
A short plain-language summary of the technical disclosure.
Who owns or filed the patent and who is credited as inventor.
Filing, priority, publication, and grant dates set the timeline.
The legal scope of protection — read this for what is actually claimed.
Technology tags used to group this patent with similar filings.
Prior art links and similar publications in this corpus.
Official abstract text for this publication.
A control device for a non-volatile memory express (NVMe) over fabric architecture is provided. The control device comprises a network adapter and a processor coupled to the network adapter by a bus. Data is transmitted between the control device and a storage device in the NVMe over fabric architecture. The processor is configured to obtain an available storage space of the storage device, determine whether a storage space required by a first data to be transmitted according to a first data read/write command is equal to or less than the available storage space, and send the first data read/write command to the storage device if the storage space required by the first data is equal or less than to the available storage space and suspend sending of the first data read/write command if the storage space occupied by the first data is greater than the available storage space.
Opening claim text (preview).
What is claimed is: 1. A method for controlling a data read/write command between a control device and a storage device in a non-volatile memory express (NVMe) over fabric architecture, the method comprising: sending, by the control device, a data read/write command to the storage device that comprises a data processing unit, a buffer unit, and a storage unit; storing, by the control device, in the storage unit, data to be written to the storage unit, or data to be read from the storage unit, the data processing unit being configured to receive the data read/write command sent by the control device, the buffer unit being configured to buffer data to be transmitted according to the read/write command; obtaining, by the control device, an available storage space of the buffer unit, wherein the available storage space of the buffer unit is a real-time available buffer unit space and the available buffer unit storage space is locally recorded in the control device; determining, by the control device, whether a storage space required by first data to be transmitted based on a first data read/write command being less than or equal to the available storage space; suspending, by the control device, sending of the first data read/write command if the storage space occupied by the first data is greater than the available storage space; after sending the first data read/write command, subtracting, by the control device, the storage space occupied by the first data from the locally recorded real-time available storage space of the buffer unit; and after receiving a response message sent by the data processing unit indicating completion of the first data read/write command, adding, by the control device, the locally recorded real-time available storage space of the buffer unit and the storage space occupied by the first data. 2. The method according to claim 1 , wherein the method further comprises: after sending of the first data read/write command has been suspended for a preset time, reobtaining, by the control device, the available storage space of the buffer unit, and sending the first data read/write command to the storage device when the storage space occupied by the first data is less than or equal to the available storage space of the buffer unit. 3. The method according to claim 1 , wherein the control device performs, only within the preset time, the step of obtaining an available storage space of the buffer unit and the step of determining whether a storage space occupied by first data to be transmitted based on a first data read/write command being less than or equal to the available storage space of the buffer unit. 4. A control device for a non-volatile memory express (NVMe) over fabric architecture, the control device comprising: a network adapter; and a processor coupled to the network adapter by a bus, wherein data is transmitted between the control device and a storage device in the NVMe over fabric architecture, with the processor being configured to: obtain an available storage space of the storage device, wherein the available storage space of the buffer unit is a real-time available buffer unit space and the available buffer unit storage space is locally recorded in the control device; determine whether a storage space required by a first data to be transmitted based on a first data read/write command being equal to or less than the available storage space; send the first data read/write command to the storage device if the storage space required by the first data is equal or less than to the available storage space and suspend sending of the first data read/write command if the storage space occupied by the first data is greater than the available storage space; after sending the first data read/write command, subtract the storage space occupied by the first data from the locally recorded real-time available storage space of the buffer unit; and after receiving a response message that is sent by the data processing unit and indicates completion of the first data read/write command, add the locally recorded real-time available storage space of the buffer unit and the storage space occupied by the first data. 5. The control device according to claim 4 , wherein the processor is further configured to: after sending of the first data read/write command has been suspended for a preset time, reobtain the available storage space of the buffer unit, and send the first data read/write command to the storage device when the storage space occupied by the first data is equal to or less than the available storage space of the buffer unit. 6. The control device according to claim 4 , wherein the processor performs, only within the preset time, the step of obtaining an available storage space of the buffer unit and the step of determining whether a storage space occupied by first data to be transmitted based on a first data read/write command is equal to or less than the available storage space of the buffer unit. 7. A system for controlling a data read/write command in a non-volatile memory express (NVMe) over fabric architecture, the system comprising: a storage device, with the storage device comprising a data processing unit, a buffer unit, and a storage unit, wherein data to be read/written is stored in the storage unit and the buffer unit is configured to buffer data to be transmitted according to the read/write command; and a control device in communication with the storage device, with the control device configured to: obtain an available storage space of the buffer unit, wherein the available storage space of the buffer unit is a real-time available buffer unit space and the available buffer unit storage space is locally recorded in the control device; determine whether a storage space occupied by first data to be transmitted based on a first data read/write command being less than or equal to the available storage space; and send the first data read/write command to the storage device if the storage space occupied by the first data is less than or equal to the available storage space and suspend sending of the first data read/write command if the storage space occupied by the first data is greater than the available storage space; with the data processing unit of the storage device being configured to: receive the first data read/write command sent by the control device; and buffer, in the buffer unit, the first data to be transmitted according to the first data read/write command; after sending the first data read/write command, subtracting, by the control device, the storage space occupied by the first data from the locally recorded real-time available storage space of the buffer unit; and after receiving a response message sent by the data processing unit indicating completion of the first data read/write command, adding, by the control device, the locally recorded real-time available storage space of the buffer unit and the storage space occupied by the first data. 8. The system according to claim 7 , wherein the control device is further configured to: after sending of the first data read/write command has been suspended for a preset time, reobtain the available storage space of the buffer unit; and send the first data read/write command to the storage device when the storage space occupied by the first data is less than or equal to the available storage space of the buffer unit. 9. The system according to claim 7 , wherein the data processing unit is connected to the storage unit using an NVMe over Peripheral Component Interconnect Express (PCIe) architecture. 10. The system according to claim 7 , wherein the data processing unit comprises a controller configured to control
Single storage device · CPC title
Non-volatile semiconductor memory device, e.g. flash memory, one time programmable memory [OTP] · CPC title
Temporary buffering, e.g. using volatile buffer or dedicated buffer blocks · CPC title
being an input/output bus, e.g. ISA bus, EISA bus, PCI bus, SCSI bus · CPC title
Distributed or networked storage systems, e.g. storage area networks [SAN], network attached storage [NAS] · CPC title
Related publications grouped by family.
Answers are generated from the same data shown on this page.