CN112416830B - NVME and SATA protocol conversion realization circuit - Google Patents

NVME and SATA protocol conversion realization circuit Download PDF

Info

Publication number
CN112416830B
CN112416830B CN202011428627.9A CN202011428627A CN112416830B CN 112416830 B CN112416830 B CN 112416830B CN 202011428627 A CN202011428627 A CN 202011428627A CN 112416830 B CN112416830 B CN 112416830B
Authority
CN
China
Prior art keywords
sata
data
command
nvme
module
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
CN202011428627.9A
Other languages
Chinese (zh)
Other versions
CN112416830A (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.)
Hongqin Beijing Technology Co ltd
Original Assignee
Hongqin Beijing Technology Co ltd
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 Hongqin Beijing Technology Co ltd filed Critical Hongqin Beijing Technology Co ltd
Priority to CN202011428627.9A priority Critical patent/CN112416830B/en
Publication of CN112416830A publication Critical patent/CN112416830A/en
Application granted granted Critical
Publication of CN112416830B publication Critical patent/CN112416830B/en
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

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/38Information transfer, e.g. on bus
    • G06F13/382Information transfer, e.g. on bus using universal interface adapter
    • G06F13/385Information transfer, e.g. on bus using universal interface adapter for adaptation of a particular data processing system to different peripheral devices
    • 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/4204Bus transfer protocol, e.g. handshake; Synchronisation on a parallel bus
    • G06F13/4221Bus transfer protocol, e.g. handshake; Synchronisation on a parallel bus being an input/output bus, e.g. ISA bus, EISA bus, PCI bus, SCSI bus
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2213/00Indexing scheme relating to interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F2213/0026PCI express

Abstract

The invention relates to the technical field of electronic disks, in particular to an implementation circuit for converting NVME and SATA protocols, which can enable wide-temperature SATA electronic disk products to be connected into a system needing the NVME electronic disk; the circuit comprises a SATA electronic disk, a SATA physical layer, a SATA transmission layer, a SATA application layer, a command/address translation module, an NVME protocol module, a data circulation buffer zone, a data DMA engine, a PCIE Hard Block and a host, wherein the SATA electronic disk is connected with the SATA physical layer, the SATA physical layer is connected with the SATA transmission layer, the SATA transmission layer is connected with the SATA application layer, the SATA application layer is connected with the command/address translation module, the command/address translation module is connected with the NVME protocol module, the SATA application layer is connected with the data circulation buffer zone through data flow, the data circulation buffer zone is connected with the data DMA engine, the data DMA engine and the NVME protocol module are both connected with the PCIE Hard Block, and the PCIE Hard Block is connected with the host.

Description

NVME and SATA protocol conversion realization circuit
Technical Field
The invention relates to the technical field of electronic disks, in particular to a circuit for realizing conversion between NVME and SATA protocols.
Background
Electronic disc products supporting NVME protocol at present can be generally used only in a commercial grade temperature range, and even can only work in a temperature range of 10-60 degrees. While many special industry products require the use of wider temperature range NVME protocol electronic disc products.
Disclosure of Invention
In order to solve the technical problems, the invention provides a circuit for realizing the conversion between NVME and SATA protocols, which can enable wide-temperature SATA electronic disk products to be connected into a system requiring NVME electronic disks.
The invention relates to a circuit for realizing conversion between NVME and SATA protocol, which comprises a SATA electronic disk, a SATA physical layer, a SATA transmission layer, a SATA application layer, a command/address translation module, a NVME protocol module, a data circulation buffer area, a data DMA engine, a PCIE Hard Block and a host.
The invention relates to a circuit for realizing conversion between NVME and SATA protocol, wherein an NVME protocol module comprises a management queue circulation buffer zone with variable length: the management command is used for caching the management command issued by the host for processing by a subsequent module;
variable length IO command queue circular buffer: the system is used for caching high-speed read, write, erase and other IO operation commands for subsequent command and address translation module analysis and processing;
variable length IO completion queue circular buffer: the address translation module is used for caching commands, processing completed commands and finishing information of the DMA engine.
The invention relates to a circuit for realizing NVME and SATA protocol conversion, which comprises a data DMA engine: under the drive of a command and address translation module, high-speed data movement is realized;
variable length data circular buffer: for caching read and write data at high speed.
The invention relates to a circuit for realizing NVME and SATA protocol conversion, which comprises a command/address translation module: the translation of information such as read, write commands, addresses, data length, read-write priority and the like is realized, and read-write requests under the NVMe protocol are translated into corresponding SATA operations; the response (correct completion, exception) of SATA is transferred to state information under NVMe protocol and filled into IO completion queue circular buffer.
The invention relates to a circuit for realizing NVME and SATA protocol conversion, which comprises a SATA application layer: the NCQ protocol (optimizing order, executing multiple commands) is implemented to send and execute commands.
The invention relates to a circuit for realizing NVME and SATA protocol conversion, which comprises a SATA transmission layer: assembling the command and address transmitted by the application layer into FIS (or reverse analysis) (FIS is a mechanism for information transmission between Host and device, and the FIS format has 14 types and maximum length 8192 bits); the data accompanying the command is assembled into a FIS (or reverse parse).
The invention relates to a circuit for realizing NVME and SATA protocol conversion, which comprises a SATA physical layer: the method comprises the steps of packaging the GTX of the FPGA to realize the OOB and other functions, calculating CRC value, scrambling, carrying out 8bit/10bit coding on FIS transmitted by a transmission layer, packaging a Frame signal and transmitting the Frame signal to the GTX; or reversely carrying out 8bit/10bit decoding, descrambling, CRC checking and the like on the data transmitted by the GTX, and transmitting the FIS to a transmission layer module.
Compared with the prior art, the invention has the beneficial effects that: through the SATA electronic disk, the SATA physical layer, the SATA transmission layer, the SATA application layer, the command/address translation module, the NVME protocol module, the data circulation buffer, the data DMA engine, the PCIE Hard Block and the host, all the functional modules are realized by adopting an FPGA with a PCIE Hard core and a high-speed GTX transceiver, the circuit is realized by adopting XC7K325T, and a wide-temperature SATA electronic disk product can be accessed into a system needing the NVME electronic disk.
Drawings
FIG. 1 is a schematic diagram of the structure of the present invention;
the reference numerals in the drawings: 1. SATA electronic disks; 2. SATA physical layer; 3. a SATA transport layer; 4. a SATA application layer; 5. a command/address translation module; 6. a data circular buffer; 7. a data DMA engine; 8. PCIE Hard Block; 9. a host; 10. managing a queue circular buffer; 11. IO command queue circular buffer; 12. IO completion queue circular buffer.
Detailed Description
The following describes in further detail the embodiments of the present invention with reference to the drawings and examples. The following examples are illustrative of the invention and are not intended to limit the scope of the invention.
All the functional modules are realized by adopting an FPGA with PCIE Hard Block8 and a high-speed GTX transceiver, and particularly, the realizing circuit of the invention is realized by adopting XC7K 325T.
As shown in fig. 1, an implementation circuit for converting NVME and SATA protocols of the present invention includes a SATA electronic disk 1, a SATA physical layer 2, a SATA transport layer 3, a SATA application layer 4, a command/address translation module 5, an NVME protocol module, a data circulation buffer 6, a data DMA engine 7, a PCIE Hard Block8, and a host 9, wherein the SATA electronic disk 1 is connected to the SATA physical layer 2, the SATA physical layer 2 is connected to the SATA transport layer 3, the SATA transport layer 3 is connected to the SATA application layer 4, the SATA application layer 4 is connected to the command/address translation module 5, the command/address translation module 5 is connected to the NVME protocol module, the SATA application layer 4 is connected to the data circulation buffer 6 through a data stream, the data circulation buffer 6 is connected to the data DMA engine 7, the data DMA engine 7 and the NVME protocol module are connected to the PCIE Hard Block8, and the PCIE Hard Block8 is connected to the host 9.
The invention relates to a circuit for realizing conversion between NVME and SATA protocol, wherein an NVME protocol module comprises a management queue circulating buffer zone 10 with variable length: the management command issued by the host 9 is used for caching the management command for processing by a subsequent module;
variable length IO command queue circular buffer 11: the system is used for caching high-speed read, write, erase and other IO operation commands for subsequent command and address translation module analysis and processing;
variable length IO completion queue circular buffer 12: the address translation module is used for caching commands, processing completed commands and finishing information of the DMA engine.
The invention relates to a circuit for realizing conversion between NVME and SATA protocols, which comprises a data DMA engine 7: under the drive of a command and address translation module, high-speed data movement is realized;
variable length data circular buffer 6: for caching read and write data at high speed.
The invention relates to a circuit for realizing NVME and SATA protocol conversion, which comprises a command/address translation module 5: the translation of information such as read, write commands, addresses, data length, read-write priority and the like is realized, and read-write requests under the NVMe protocol are translated into corresponding SATA operations; the SATA response (correct completion, exception) is transferred to state information under NVMe protocol and filled into IO completion queue circular buffer 12.
The invention relates to a circuit for realizing NVME and SATA protocol conversion, which comprises a SATA application layer 4: the NCQ protocol (optimizing order, executing multiple commands) is implemented to send and execute commands.
The invention relates to a circuit for realizing NVME and SATA protocol conversion, which comprises a SATA transmission layer 3: assembling the command and address transmitted by the application layer into FIS (or reverse analysis) (FIS is a mechanism for information transmission between Host and device, and the FIS format has 14 types and maximum length 8192 bits); the data accompanying the command is assembled into a FIS (or reverse parse).
The invention relates to a circuit for realizing NVME and SATA protocol conversion, which comprises a SATA physical layer 2: the method comprises the steps of packaging the GTX of the FPGA to realize the OOB and other functions, calculating CRC value, scrambling, carrying out 8bit/10bit coding on FIS transmitted by a transmission layer, packaging a Frame signal and transmitting the Frame signal to the GTX; or reversely carrying out 8bit/10bit decoding, descrambling, CRC checking and the like on the data transmitted by the GTX, and transmitting the FIS to a transmission layer module.
In the circuit for realizing the conversion between the NVME and the SATA protocol, all the power consumption modules and the power consumption devices are common electric devices in the market, the power consumption modules and the power consumption devices can be used only by mutually and electrically connecting the power consumption modules and the power consumption devices according to the use instruction purchased together when the power consumption devices are purchased, and the control modules are common self-contained modules, so that the details are not repeated herein.
The foregoing is merely a preferred embodiment of the present invention, and it should be noted that it will be apparent to those skilled in the art that modifications and variations can be made without departing from the technical principles of the present invention, and these modifications and variations should also be regarded as the scope of the invention.

Claims (2)

1. The circuit is characterized by comprising a SATA electronic disk, a SATA physical layer, a SATA transmission layer, a SATA application layer, a command/address translation module, a NVME protocol module, a data circulation buffer area, a data DMA engine, a PCIE Hard Block and a host, wherein the SATA electronic disk is connected with the SATA physical layer, the SATA physical layer is connected with the SATA transmission layer, the SATA transmission layer is connected with the SATA application layer, the SATA application layer is connected with the command/address translation module, the command/address translation module is connected with the NVME protocol module, the SATA application layer is connected with the data circulation buffer area through data flow, the data circulation buffer area is connected with the data DMA engine, the data DMA engine and the NVME protocol module are connected with the PCIE Hard Block, and the PCIE Hard Block is connected with the host;
the NVME protocol module includes a variable length management queue circular buffer: the management command is used for caching the management command issued by the host for processing by a subsequent module;
variable length IO command queue circular buffer: the system is used for caching high-speed read, write, erase and other IO operation commands for subsequent command and address translation module analysis and processing;
variable length IO completion queue circular buffer: the address translation module is used for caching commands, processing completed commands and finishing information of the DMA engine;
command/address translation module: translation of read and write commands, addresses, data length and read and write priority information is realized, and read and write requests under the NVMe protocol are translated into corresponding SATA operations; transferring the response of the SATA into state information under the NVMe protocol, and filling the state information into an IO completion queue circulation buffer area;
SATA application layer: realizing sending and executing command and NCQ protocol;
SATA transport layer: assembling the command and the address transmitted by the application layer into FIS or reverse analysis; assembling data accompanied by the command into FIS or reverse parsing;
SATA physical layer: packaging the GTX of the FPGA to realize the OOB function, calculating CRC value, scrambling, 8bit/10bit coding for FIS transmitted by a transmission layer, packaging a framing signal and transmitting the framing signal to the GTX; or reversely decoding 8bit/10bit data transmitted from the GTX, descrambling and CRC, and transmitting the FIS to a transmission layer module.
2. The implementation circuit for NVME and SATA protocol conversion as recited in claim 1 wherein said data DMA engine: under the drive of a command and address translation module, high-speed data movement is realized;
variable length data circular buffer: for caching read and write data at high speed.
CN202011428627.9A 2020-12-09 2020-12-09 NVME and SATA protocol conversion realization circuit Active CN112416830B (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202011428627.9A CN112416830B (en) 2020-12-09 2020-12-09 NVME and SATA protocol conversion realization circuit

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202011428627.9A CN112416830B (en) 2020-12-09 2020-12-09 NVME and SATA protocol conversion realization circuit

Publications (2)

Publication Number Publication Date
CN112416830A CN112416830A (en) 2021-02-26
CN112416830B true CN112416830B (en) 2024-03-26

Family

ID=74774979

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202011428627.9A Active CN112416830B (en) 2020-12-09 2020-12-09 NVME and SATA protocol conversion realization circuit

Country Status (1)

Country Link
CN (1) CN112416830B (en)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN114721984B (en) * 2022-03-30 2024-03-26 湖南长城银河科技有限公司 SATA interface data transmission method and system for low-delay application

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101008931A (en) * 2005-11-18 2007-08-01 伊诺瓦科技股份有限公司 Cryptographic serial ATA apparatus and method
CN102902489A (en) * 2012-08-17 2013-01-30 杭州华澜微科技有限公司 Dual-interface memory controller and system thereof
CN103415085A (en) * 2013-07-15 2013-11-27 同济大学 Automatic generation method of general MAC protocol processor
CN109240952A (en) * 2018-08-27 2019-01-18 北京计算机技术及应用研究所 A kind of high-speed data encryption NVMe-SATA converter circuit

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101008931A (en) * 2005-11-18 2007-08-01 伊诺瓦科技股份有限公司 Cryptographic serial ATA apparatus and method
CN102902489A (en) * 2012-08-17 2013-01-30 杭州华澜微科技有限公司 Dual-interface memory controller and system thereof
CN103415085A (en) * 2013-07-15 2013-11-27 同济大学 Automatic generation method of general MAC protocol processor
CN109240952A (en) * 2018-08-27 2019-01-18 北京计算机技术及应用研究所 A kind of high-speed data encryption NVMe-SATA converter circuit

Also Published As

Publication number Publication date
CN112416830A (en) 2021-02-26

Similar Documents

Publication Publication Date Title
US8225019B2 (en) SATA mass storage device emulation on a PCIe interface
CN103180816B (en) The high speed bridger of USB to SATA
EP1866778B1 (en) Method and apparatus for improving the performance of usb mass storage devices in the presence of long transmission delays
CN103907088A (en) Method and apparatus for scalable low latency solid state drive interface
WO2009049546A1 (en) Solid-state hard disk controller circuit and solid-state hard disk
US9910800B1 (en) Utilizing remote direct memory access (‘RDMA’) for communication between controllers in a storage array
CN103336745A (en) FC HBA (fiber channel host bus adapter) based on SSD (solid state disk) cache and design method thereof
CN112416830B (en) NVME and SATA protocol conversion realization circuit
CN102937939A (en) DMA (Direct Memory Access) address couple pre-reading method based on SATA (Serial Advanced Technology Attachment) controller
CN103403667A (en) Data processing method and device
US20080005384A1 (en) Hard disk drive progressive channel interface
US20080183921A1 (en) Serial advanced technology attachment (SATA) frame information structure (FIS) processing
Woods et al. Groundhog-a serial ata host bus adapter (hba) for fpgas
KR100843199B1 (en) High speed IDE interface device and method for the same
US10853255B2 (en) Apparatus and method of optimizing memory transactions to persistent memory using an architectural data mover
CN113076066B (en) High-capacity high-speed storage device and operation method thereof
US7587538B2 (en) Disk controller, channel interface and methods for use therewith
CN113031862B (en) Storage system for controlling SATA disk based on NVME protocol
TWI416339B (en) Usb transaction translator and an isochronous-in transaction method
US20070022226A1 (en) Direct memory access system for iSCSI
CN103678217B (en) Based PC IE high-velocity scanning interface arrangement
US20060015774A1 (en) System and method for transmitting data in storage controllers
CN102073459B (en) Computer system based on solid state drive and solid state drive
US8856389B1 (en) Efficient data transfers over serial data streams
CN105653197A (en) Data caching equipment and data caching method

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