CN111124959B - Hardware unloading method for processing NVMe protocol management command - Google Patents

Hardware unloading method for processing NVMe protocol management command Download PDF

Info

Publication number
CN111124959B
CN111124959B CN201911271813.3A CN201911271813A CN111124959B CN 111124959 B CN111124959 B CN 111124959B CN 201911271813 A CN201911271813 A CN 201911271813A CN 111124959 B CN111124959 B CN 111124959B
Authority
CN
China
Prior art keywords
command
state
nvme
processing
management
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
CN201911271813.3A
Other languages
Chinese (zh)
Other versions
CN111124959A (en
Inventor
冯志华
裴可
安东博
万星
李艳婷
原晋杰
梁书铭
余仲
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Beijing Institute of Computer Technology and Applications
Original Assignee
Beijing Institute of Computer Technology and Applications
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Beijing Institute of Computer Technology and Applications filed Critical Beijing Institute of Computer Technology and Applications
Priority to CN201911271813.3A priority Critical patent/CN111124959B/en
Publication of CN111124959A publication Critical patent/CN111124959A/en
Application granted granted Critical
Publication of CN111124959B publication Critical patent/CN111124959B/en
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F13/00Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F13/14Handling requests for interconnection or transfer
    • G06F13/16Handling requests for interconnection or transfer for access to memory bus
    • G06F13/1668Details of memory controller
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F13/00Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F13/38Information transfer, e.g. on bus
    • G06F13/42Bus transfer protocol, e.g. handshake; Synchronisation
    • G06F13/4282Bus transfer protocol, e.g. handshake; Synchronisation on a serial bus, e.g. I2C bus, SPI bus
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y02TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
    • Y02DCLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
    • Y02D10/00Energy efficient computing, e.g. low power processors, power management or thermal management

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Memory System Of A Hierarchy Structure (AREA)

Abstract

The invention relates to a hardware unloading method for processing NVMe protocol management commands, which comprises the following steps: dividing hardware logic into a command receiving module, a command analysis module and a command processing module; the command receiving module receives an NVMe management command from a PCIe IP core, and the received command is stored in a local cache command FIFO; the command analysis module detects the empty mark of the FIFO, if the FIFO is not empty, the command in the FIFO is read, after the reading is finished, the operation code in the management command is extracted, the NVMe protocol is referred to, different NVMe management commands are identified and sent to the command processing module for processing; the command processing module receives the instructions analyzed in the command analysis module and processes different NVMe management commands aiming at different instructions. The invention can improve the response processing time of the NVMe management command and can improve the energy efficiency ratio of the large-capacity solid-state disk.

Description

Hardware unloading method for processing NVMe protocol management command
Technical Field
The invention relates to the field of energy-efficient solid-state storage, in particular to a hardware unloading method for processing NVMe protocol management commands.
Background
The existing solid-state disk controller usually adopts a CPU and a special circuit to cooperatively process NVMe management commands issued by a host, the processing flow is different in the command analysis stage, after the special circuit receives the NVMe management commands, the CPU detects flag bits, reads the NVMe management commands from the special circuit through an on-chip bus, analyzes the commands on the CPU after the NVMe management commands are read, and issues different processing commands to the special circuit according to different commands to process the management commands.
The interaction between the CPU of the solid state disk controller and the special circuit once needs to consume a plurality of clock cycles, each submitted command has 64 bytes, the bit width of a bus is 32 bits, 16 interactions need to be consumed, the total interaction time reaches us level, and the time consumption is larger due to the analysis and the processing of the CPU on the NVMe management command; moreover, the CPU of the solid-state disk controller has more tasks, and needs to continuously inspect the flag bit of the command in the dedicated hardware circuit, which consumes the processing resource of the CPU and is not beneficial to the performance improvement of the solid-state disk.
Disclosure of Invention
The invention relates to a hardware unloading method for processing an NVMe protocol management command, which is used for solving the problems that the NVMe management command processing occupies CPU resources and the response speed of the NVMe management command is improved.
The invention relates to a hardware unloading method for processing an NVMe protocol management command, which comprises the following steps: dividing hardware logic into a command receiving module, a command analysis module and a command processing module; the command receiving module receives an NVMe management command from a PCIe IP core, and the received command is stored in a local cache command FIFO; the command analysis module detects the empty mark of the FIFO, if the FIFO is not empty, the command in the FIFO is read, after the reading is finished, the operation code in the management command is extracted, the NVMe protocol is referred to, different NVMe management commands are identified and sent to the command processing module for processing; the command processing module receives the instructions analyzed in the command analysis module and processes different NVMe management commands aiming at different instructions.
According to an embodiment of the hardware unloading method for processing the NVMe protocol management command, the command analysis module is implemented by using a state machine, and 6 states are used for describing an idle state, a state for reading a cache command FIFO, a state for extracting an operation code, a state for judging a command, a state for sending an identification command and a state for sending other instructions.
According to an embodiment of the hardware unloading method for processing the NVMe protocol management command, in an idle state, an empty flag of a cache command FIFO in a command receiving module is detected, if the FIFO is empty, it indicates that the NVMe management command is not received, and the state is maintained in the idle state; when the cache command FIFO is not empty, the NVMe management command is to be processed, and the state jumps to the FIFO reading state; reading the NVMe management command in a state of reading a cache command FIFO, wherein the bit width of the cache command FIFO is 128 bits, the state lasts until the command is submitted once, and then the state jumps to an operation code extracting state; extracting the operation code state, extracting the operation code in the NVMe management submission command, and after the extraction is finished, jumping the state to a judgment command state; under the command state judgment, judging whether the NVMe management command is an identification command, and if the NVMe management command is the identification command, jumping to a command sending state; if the command is not the identification command, the state jumps to the state of sending other instructions; under the state of sending the identification command, sending an operation code and a PCIe address to a command processing module, and after the sending is finished, jumping to an idle state; and sending other instructions to the command processing module in the state of sending other instructions, wherein the other instructions comprise information such as operation codes and the like, and after the sending is finished, the state jumps to an idle state.
According to an embodiment of the hardware unloading method for managing command processing by using the NVMe protocol, the command processing module is implemented by using a state machine, and 10 states are described, namely an idle state, a valid data extraction state, a command type judging state, a ROM read state, a PCIe request state, a PCIe response waiting state, a PCIe write data state, a command completion judging state, a command completion state and a register write state.
According to one embodiment of the hardware unloading method for processing the NVMe protocol management command, whether a valid command mark is high or not is judged in an idle state, if so, the state jumps to a state of extracting valid data, and otherwise, the state is unchanged; under the state of extracting the effective data, extracting an operation code, a PCIe address and an identification number, and jumping to a state of judging the command type; under the state of judging the command type, judging whether the command is an identification command, if so, jumping to a Read Only Memory (ROM) read state, otherwise, jumping to a write register state; in the state of writing the register, writing the extracted effective information into the corresponding register, and jumping to a command completion state; in the ROM reading state, initiating a reading request to the ROM caching the identification command data, and jumping to the PCIe writing request state; in the PCIe write request state, a signal requesting to use the sending channel resource is sent to a PCIe module, and the state jumps to a state waiting for a PCIe response signal; judging whether the PCIe module returns a response signal or not in the state of waiting for the PCIe response signal, and if so, jumping to a PCIe data writing state; writing out the data filling field in the ROM block for caching and identifying the command data in a PCIe data writing state, and jumping to a command completion state; judging whether the length of the residual data is 0 or not in the command completion state, and if so, jumping to the command completion state; otherwise, the state jumps to a read-only memory (ROM) read state; and in the command completion state, sending a completion message to the host, and jumping to the idle state.
According to an embodiment of the hardware uninstalling method for processing NVMe protocol management commands, the management commands include: (1) deleting the I/O submission queue; (2) creating an I/O submission queue; (3) deleting the I/O completion queue; (4) creating an I/O completion queue; and (5) identifying.
According to an embodiment of the hardware uninstalling method for NVMe protocol management command processing of the present invention, in the state of sending other instructions, the other instructions are sent to the command processing module, the instructions include an operation code, and after the sending is completed, the state jumps to the idle state.
According to an embodiment of the hardware uninstalling method for processing the NVMe protocol management command, the command analysis module analyzes the type of the command issued by the host, recognizes that the command is different from other management commands in processing, and distinguishes the processing in the processing module.
According to one embodiment of the hardware unloading method for managing command processing by NVMe protocol, the command processing module receives an instruction of the command analysis module, if the instruction is an identification command, reads a data structure from a ROM, and sends the data structure through a PCIe module; if the module is other module, directly writing corresponding register, and informing host computer of processing completion.
According to an embodiment of the hardware uninstalling method for processing the NVMe protocol management command, in the present invention, the command analysis module directly reads the NVMe management command from the cache command FIFO of the command receiving module, fetches the operation code therein for analysis, and sends different identification instructions to the command processing module according to different NVMe management commands.
The invention relates to a hardware unloading method for processing an NVMe protocol management command. The hardware circuit comprises a command receiving module, a command analyzing module and a command processing module. In addition, in order to improve the efficiency of executing commands, a ROM for storing identification command data is added to the hardware. The hardware circuit work flow is that the management command is received by the command receiving module through the PCIe module, and the command analysis module and the command processing module directly process the management command in the hardware, so that the command processing time is shortened. The method can be used in the design of an energy-efficient solid-state disk controller.
Drawings
FIG. 1 is a schematic diagram of NVMe management command offload;
FIG. 2 is a flow chart of a process of an NVMe controller management command analysis module;
fig. 3 is a flow chart of an NVMe controller management command processing module.
Detailed Description
In order to make the objects, contents, and advantages of the present invention clearer, the following detailed description of the embodiments of the present invention will be made in conjunction with the accompanying drawings and examples.
Fig. 1 is a schematic view of unloading of NVMe management commands, fig. 2 is a flowchart of processing of a management command analysis module of an NVMe controller, and fig. 3 is a flowchart of processing of a management command processing module of an NVMe controller, as shown in fig. 1 to fig. 3, the hardware unloading method for processing of NVMe protocol management commands according to the present invention includes the following steps:
(1) the standard NVMe driver of the host sends commands to the solid-state disk storage through a PCIe interface, and the sent commands comprise management commands such as an I/O (input/output) submission command and the like;
(2) the solid state disk controller receives a management command issued by the host through the PCIe IP core;
(3) the solid-state disk controller command analysis module analyzes the command type issued by the host, identifies that the command is different from other management commands in processing, and treats the command differently in the processing module;
(4) the command processing module in the controller receives the command of the command analysis module, if the command is an identification command, the data structure is read from the ROM, and the data structure is sent through the PCIe module; if the module is other module, directly writing corresponding register, and informing host computer of processing completion.
The command analysis module directly reads the NVMe management command from the cache command FIFO of the command receiving module, takes out the operation code therein for analysis, and sends different identification instructions to the command processing module according to different NVMe management commands
As shown in fig. 1, the solid state disk controller processes the NVMe management command by using the idea of hardware unloading and using a hardware dedicated circuit alone without involving a CPU, thereby increasing the processing speed of the NVMe management command. The hardware module calls a PCIe IP core, the command receiving module receives an NVMe management command from the PCIe IP core, and the received command is stored in a local cache command FIFO; the command analysis module detects the empty mark of the FIFO, if the FIFO is not empty, the command in the FIFO is read, after the reading is finished, the operation code in the management command is extracted, different NVMe management commands are identified by referring to the NVMe protocol, and the different NVMe management commands are processed by the command processing module; the command processing module receives the instructions analyzed in the command analysis module and processes different NVMe management commands aiming at different instructions.
As shown in fig. 2, the command analysis module implements functions in the form of a state machine. The module state machine is described by 6 states, namely an idle state, a read cache command FIFO state, an extract opcode state, a judge command state, a send identify command state and a send other instruction state.
In an idle state, detecting an empty mark of a cache command FIFO in a command receiving module, if the FIFO is empty, indicating that an NVMe management command is not received, and keeping the state in the idle state; when the cache command FIFO is not empty, the NVMe management command is to be processed, and the state jumps to the FIFO reading state;
in the read cache command FIFO state, NVMe management commands are read. The bit width of the cache command FIFO is 128 bits, 4 clocks are needed for reading the once submitted command, so the state lasts for 4 clocks, and then the state jumps to the state of extracting the operation codes;
extracting the operation code state, extracting the operation code in the NVMe management submission command, and after the extraction is finished, jumping the state to a judgment command state;
and under the command judging state, judging whether the NVMe management command is an identification command. The identification command involves reading an identification command field from the ROM, requiring the command processing module to interact with the ROM and therefore be processed separately; if the command is the identification command, the state jumps to a state of sending the identification command; if the command is not the identification command, the state jumps to the state of sending other instructions;
under the state of sending the identification command, sending an operation code and a PCIe address to a command processing module, and after the sending is finished, jumping to an idle state;
and sending other instructions to the command processing module in the state of sending other instructions, wherein the instructions contain information such as operation codes and the like, and after the sending is finished, the state jumps to an idle state.
As shown in fig. 3, the command processing module implements functions in the form of a state machine. The module is described by 10 states, namely an idle state, a valid data extracting state, a command type judging state, a ROM reading state, a PCIe request state, a PCIe response waiting state, a PCIe data writing state, a command completion judging state, a command completion state and a register writing state.
In the idle state, judging whether the valid command mark is high, if so, skipping to the state of extracting valid data; otherwise, the state is unchanged;
under the state of extracting effective data, extracting information such as an operation code, a PCIe address, an identification number and the like, and jumping to a state of judging a command type;
under the state of judging the command type, judging whether the command is an identification command, if so, jumping to a Read Only Memory (ROM) read state; otherwise, jumping to the state of a write register;
in the state of writing the register, writing the extracted effective information into the corresponding register, and jumping to a command completion state;
in the ROM reading state, initiating a reading request to the ROM caching the identification command data, and jumping to the PCIe writing request state;
in the PCIe write request state, a signal requesting to use the sending channel resource is sent to a PCIe module, and the state jumps to a state waiting for a PCIe response signal;
under the state of waiting for the PCIe response signal, judging whether the PCIe module returns the response signal, if so, jumping to a PCIe data writing state, otherwise, waiting in the state;
writing out the data filling field in the ROM block for caching and identifying the command data in a PCIe data writing state, and jumping to a command completion state;
judging whether the length of the residual data is 0 or not in the command completion state, and if so, jumping to the command completion state; otherwise, the state jumps to a read-only memory (ROM) read state;
and in the command completion state, sending a completion message to the host, and jumping to the idle state.
The hardware unloading method for processing the NVMe protocol management command can greatly improve the response processing time of the NVMe management command, simultaneously release a part of CPU resources and improve the energy efficiency ratio of the large-capacity solid-state disk.
The invention introduces the idea of hardware unloading in the solid-state disk controller, and puts the command analysis module and the command processing module into hardware for realization, thereby being closer to the command source and shortening the command processing path. And completely unloading the NVMe management command which is processed by the CPU and the special circuit in a coordinated manner into a hardware circuit to realize the NVMe management command. Compared with the traditional cooperative processing mode, the method does not need the participation of a CPU, reduces the resource consumption of the CPU, reduces the bus interaction between the CPU and a special circuit, and improves the stability of the high-capacity solid-state disk; the special circuit directly reads the NVMe management command from the internal module, so that the response speed and the analysis speed of the NVMe management command are improved, and the energy efficiency ratio of the solid-state disk is improved.
The above description is only a preferred embodiment of the present invention, and it should be noted that, for those skilled in the art, several modifications and variations can be made without departing from the technical principle of the present invention, and these modifications and variations should also be regarded as the protection scope of the present invention.

Claims (9)

1. A hardware unloading method for processing NVMe protocol management commands is characterized by comprising the following steps:
dividing hardware logic into a command receiving module, a command analysis module and a command processing module;
the command receiving module receives an NVMe management command from a PCIe IP core, and the received command is stored in a local cache command FIFO; the command analysis module detects the empty mark of the FIFO, if the FIFO is not empty, the command in the FIFO is read, after the reading is finished, the operation code in the management command is extracted, the NVMe protocol is referred to, different NVMe management commands are identified and sent to the command processing module for processing; the command processing module receives the instructions analyzed by the command analysis module and processes different NVMe management commands aiming at different instructions;
the command processing module receives the command of the command analysis module, if the command is an identification command, the data structure is read from the ROM, and the data structure is sent through the PCIe module; if the instruction is other instruction, the corresponding register is directly written, and the host is informed of the completion of the processing.
2. The hardware offload method for processing NVMe protocol management commands according to claim 1, wherein the command analysis module is implemented by a state machine, and 6 states are described, which are an idle state, a read buffer command FIFO state, an extract opcode state, a determine command state, a send identify command state, and a send other command state.
3. The NVMe protocol management command processing hardware offload method of claim 2,
in an idle state, detecting an empty mark of a cache command FIFO in a command receiving module, if the FIFO is empty, indicating that an NVMe management command is not received, and keeping the state in the idle state; when the cache command FIFO is not empty, the NVMe management command is to be processed, and the state jumps to the state of reading the cache command FIFO;
reading the NVMe management command in a state of reading a cache command FIFO, wherein the bit width of the cache command FIFO is 128 bits, the state of the read cache command FIFO lasts until the command submitting time is read once, and then the state jumps to a state of extracting an operation code;
extracting the operation code state, extracting the operation code in the NVMe management submission command, and after the extraction is finished, jumping the state to a judgment command state;
under the command state judgment, judging whether the NVMe management command is an identification command, and if the NVMe management command is the identification command, jumping to a command sending state; if the command is not the identification command, the state jumps to the state of sending other instructions;
under the state of sending the identification command, sending an operation code and a PCIe address to a command processing module, and after the sending is finished, jumping to an idle state;
and sending other instructions to the command processing module in the state of sending other instructions, wherein the other instructions contain operation code information, and after the sending is finished, the state jumps to an idle state.
4. The hardware offload method for processing NVMe protocol management commands according to claim 1, wherein the command processing module is implemented by a state machine, and 10 states are described, which are an idle state, a state for extracting valid data, a state for determining command type, a ROM read state, a PCIe request state, a state for waiting for PCIe reply, a PCIe write data state, a state for determining whether a command is completed, a command completed state, and a register write state.
5. The NVMe protocol management command processing hardware offload method of claim 4,
in an idle state, judging whether the valid command mark is high, if so, skipping to a state of extracting valid data, otherwise, keeping the state unchanged;
under the state of extracting the effective data, extracting an operation code, a PCIe address and an identification number, and jumping to a state of judging the command type;
under the state of judging the command type, judging whether the command is an identification command, if so, jumping to a Read Only Memory (ROM) read state, otherwise, jumping to a write register state;
in the state of writing the register, writing the extracted effective information into the corresponding register, and jumping to a command completion state;
in the ROM reading state, initiating a reading request to the ROM caching the identification command data, and jumping to the PCIe request state;
in the PCIe write request state, a signal requesting to use the sending channel resource is sent to a PCIe module, and the state jumps to a PCIe response waiting state;
judging whether the PCIe module returns a response signal or not in the state of waiting for the PCIe response signal, and if so, jumping to a PCIe data writing state;
writing out the data filling field in the ROM block for caching and identifying the command data in a PCIe data writing state, and jumping to a state for judging whether the command is finished;
judging whether the length of the residual data is 0 or not in the command completion state, and if so, jumping to the command completion state; otherwise, the state jumps to a read-only memory (ROM) read state;
and in the command completion state, sending a completion message to the host, and jumping to the idle state.
6. The hardware offload method for NVMe protocol management command processing according to claim 1, wherein the management command comprises:
(1) deleting the I/O submission queue;
(2) creating an I/O submission queue;
(3) deleting the I/O completion queue;
(4) creating an I/O completion queue; and
(5) and (5) identifying.
7. The hardware offload method for processing NVMe protocol management commands according to claim 1 or 3, wherein in the state of sending other instructions, the other instructions are sent to the command processing module, the other instructions include an operation code, and after the sending is completed, the state jumps to an idle state.
8. The hardware offload method for processing NVMe protocol management commands according to claim 1, wherein the command analysis module analyzes the type of commands issued by the host, recognizes that the commands are different from other management commands in processing, and distinguishes the processing in the processing module.
9. The hardware uninstalling method of NVMe protocol management command processing according to claim 1, wherein the command analyzing module directly reads the NVMe management command from the cache command FIFO of the command receiving module, fetches the operation code therein for analysis, and sends different identification instructions to the command processing module for different NVMe management commands.
CN201911271813.3A 2019-12-12 2019-12-12 Hardware unloading method for processing NVMe protocol management command Active CN111124959B (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201911271813.3A CN111124959B (en) 2019-12-12 2019-12-12 Hardware unloading method for processing NVMe protocol management command

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201911271813.3A CN111124959B (en) 2019-12-12 2019-12-12 Hardware unloading method for processing NVMe protocol management command

Publications (2)

Publication Number Publication Date
CN111124959A CN111124959A (en) 2020-05-08
CN111124959B true CN111124959B (en) 2021-08-27

Family

ID=70499402

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201911271813.3A Active CN111124959B (en) 2019-12-12 2019-12-12 Hardware unloading method for processing NVMe protocol management command

Country Status (1)

Country Link
CN (1) CN111124959B (en)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN112882989B (en) * 2021-02-04 2024-04-02 无锡沐创集成电路设计有限公司 Protocol processing system and protocol data processing method

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20160095688A (en) * 2015-02-03 2016-08-12 에스케이하이닉스 주식회사 Semiconductor memory device and operation status checking method thereof
CN109814811A (en) * 2019-01-30 2019-05-28 哈尔滨工业大学 A method of reducing NVMe SSD operating lag influences high-speed data storage apparatus writing speed
CN110362274A (en) * 2019-06-28 2019-10-22 苏州浪潮智能科技有限公司 A kind of NVMe controller, networked storage devices and system

Family Cites Families (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN107992436B (en) * 2016-10-26 2021-04-09 华为技术有限公司 NVMe data read-write method and NVMe equipment
CN110109626B (en) * 2019-05-20 2022-01-25 哈尔滨工业大学 NVMe SSD command processing method based on FPGA

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20160095688A (en) * 2015-02-03 2016-08-12 에스케이하이닉스 주식회사 Semiconductor memory device and operation status checking method thereof
CN109814811A (en) * 2019-01-30 2019-05-28 哈尔滨工业大学 A method of reducing NVMe SSD operating lag influences high-speed data storage apparatus writing speed
CN110362274A (en) * 2019-06-28 2019-10-22 苏州浪潮智能科技有限公司 A kind of NVMe controller, networked storage devices and system

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
"基于FPGA的NVMe接口设计";陈思扬;《中国优秀硕士学位论文全文数据库 信息科技辑》;20170315;第二章-第四章 *

Also Published As

Publication number Publication date
CN111124959A (en) 2020-05-08

Similar Documents

Publication Publication Date Title
KR102668599B1 (en) Embedded scheduling of hardware resources for hardware acceleration
US10282132B2 (en) Methods and systems for processing PRP/SGL entries
CN108595350B (en) AXI-based data transmission method and device
CN110109626B (en) NVMe SSD command processing method based on FPGA
CN106227676B (en) A kind of cache and the method and apparatus that data are read from cache
WO2020034500A1 (en) Acceleration control system chip based on thresholding method, and robot
KR20100126446A (en) Extended utilization area for a memory device
CN113791994B (en) DDR controller based on AXI protocol wrap access and processing method
CN112650558B (en) Data processing method and device, readable medium and electronic equipment
CN111949568A (en) Message processing method and device and network chip
US20070079015A1 (en) Methods and arrangements to interface a data storage device
US20190155541A1 (en) Command processing method and storage controller using the same
TWI439925B (en) Embedded systems and methods for threads and buffer management thereof
CN111124959B (en) Hardware unloading method for processing NVMe protocol management command
CN105095104A (en) Method and device for data caching processing
CN116467235B (en) DMA-based data processing method and device, electronic equipment and medium
CN103838694B (en) FPGA high-speed USB interface data reading method
CN105718396A (en) I<2>C bus device with big data master device transmission function and communication method thereof
CN109086231B (en) Access method and device of input and output equipment
CN105487989A (en) Interruption controller and interruption control method for reducing response delay and improving system efficiency
CN116166583B (en) Data precision conversion method and device, DMA controller and medium
US20140189250A1 (en) Store Forwarding for Data Caches
CN103870204A (en) Data writing and reading method in cache as well as cache controller
CN115269199A (en) Data processing method and device, electronic equipment and computer readable storage medium
CN114610467A (en) Multitask timeout management method and system

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant