CN112380151A - NVMe-oF heterogeneous storage system and access method - Google Patents

NVMe-oF heterogeneous storage system and access method Download PDF

Info

Publication number
CN112380151A
CN112380151A CN202011254281.5A CN202011254281A CN112380151A CN 112380151 A CN112380151 A CN 112380151A CN 202011254281 A CN202011254281 A CN 202011254281A CN 112380151 A CN112380151 A CN 112380151A
Authority
CN
China
Prior art keywords
nvme
operation instruction
protocol
data
data operation
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.)
Pending
Application number
CN202011254281.5A
Other languages
Chinese (zh)
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.)
Jinan Huaxin Suangu Information Technology Co ltd
Original Assignee
Jinan Huaxin Suangu Information 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 Jinan Huaxin Suangu Information Technology Co ltd filed Critical Jinan Huaxin Suangu Information Technology Co ltd
Priority to CN202011254281.5A priority Critical patent/CN112380151A/en
Publication of CN112380151A publication Critical patent/CN112380151A/en
Pending legal-status Critical Current

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/10Program control for peripheral devices
    • G06F13/12Program control for peripheral devices using hardware independent of the central processor, e.g. channel or peripheral processor
    • G06F13/124Program control for peripheral devices using hardware independent of the central processor, e.g. channel or peripheral processor where hardware is a sequential transfer control unit, e.g. microprocessor, peripheral processor or state-machine
    • G06F13/126Program control for peripheral devices using hardware independent of the central processor, e.g. channel or peripheral processor where hardware is a sequential transfer control unit, e.g. microprocessor, peripheral processor or state-machine and has means for transferring I/O instructions and statuses between control unit and main processor
    • 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

Abstract

The invention discloses an NVMe-oF heterogeneous storage system and an access method, and relates to the technical field oF storage. The system comprises: the communication component is used for communication among the storage controller, the NVMe hard disk and the bridge and is communicated with external equipment through an NVMe-oF protocol; the NVMe hard disk and the SATA disk are used for data storage; the storage controller is used for acquiring a data operation instruction through an NVMe-oF protocol; analyzing the data operation instruction, and determining a target storage medium corresponding to the data operation instruction; when the target storage medium is an SATA disk, transmitting the data operation instruction to the bridge; the bridge is connected with the communication assembly and the SATA disk and used for receiving a data operation instruction and converting the data operation instruction into a data operation instruction of an SATA protocol; and determining the target SATA disk according to the data operation instruction of the SATA protocol, and reading or writing the target SATA disk. The method is used for meeting the requirements of users on a storage system with high performance, large capacity and low cost.

Description

NVMe-oF heterogeneous storage system and access method
Technical Field
The invention relates to the technical field oF storage, in particular to an NVMe-oF heterogeneous storage system and an access method.
Background
With the rapid development of computer technology and storage technology, NVME (Non-Volatile Memory host controller interface specification) hard disks with the technical characteristics of high speed and low latency concurrency, such as NVME SSDs (Solid State disks), have been widely used. It is becoming the mainstream trend for high performance storage. However, the unit capacity is expensive, and only NVME hard disks can be used as physical storage media. The traditional SATA hard disk has mature technology, low price and larger capacity, and is still widely used at present.
Therefore, the advantages of how to be compatible with the above two storage media realize the user's demand for a storage system with high performance, large capacity and low storage cost.
Disclosure of Invention
The invention provides an NVMe-oF heterogeneous storage system and an access method thereof, which are used for meeting the requirements oF a user on the storage system with high performance, large capacity and low cost.
In order to achieve the purpose, the technical scheme of the invention is as follows:
an NVMe-af heterogeneous storage system, comprising: the system comprises a storage controller, a communication component, a nonvolatile memory host controller interface specification NVMe hard disk, a serial advanced technology attachment SATA disk and a bridge; the communication component is used for communication among the storage controller, the NVMe hard disk and the bridge and is communicated with external equipment through an NVMe-oF protocol;
the NVMe hard disk and the SATA disk are used for data storage;
the storage controller is used for acquiring a data operation instruction through an NVMe-oF protocol; analyzing the data operation instruction, and determining a target storage medium corresponding to the data operation instruction; when the target storage medium is an SATA disk, transmitting the data operation instruction to the bridge; the data operation instruction carries a name space; the namespace is used for marking a target storage medium of the data operation instruction; the data operation instruction is an instruction of an NVMe protocol;
the bridge is connected with the communication assembly and the SATA disk and used for receiving the data operation instruction and converting the data operation instruction into a data operation instruction of a SATA protocol; and determining a target SATA disk according to the data operation instruction of the SATA protocol, and reading or writing the target SATA disk.
Optionally, the bridge is further configured to convert data response information of the SATA protocol into data response information of the NVMe protocol, and transmit the data response information of the NVMe protocol to the storage controller;
the storage controller is further configured to transmit the data response information oF the NVMe protocol to an external device through the NVMe-oF protocol.
Optionally, the bridge comprises: the system comprises an NVMe data module, a protocol conversion processing module and an SATA data module;
the bridge is used for receiving the data operation instruction and converting the data operation instruction into a data operation instruction of a SATA protocol; and determining a target SATA disk according to the data operation instruction of the SATA protocol, wherein the reading or writing operation of the target SATA disk specifically comprises the following steps:
the NVMe data module is used for receiving the data operation instruction;
the protocol conversion processing module is used for acquiring the data operation instruction from the NVMe data module, converting the data operation instruction into a data operation instruction of an SATA protocol, and sending the data operation instruction to the SATA data module;
and the SATA data module is used for determining a target SATA disk according to the data operation instruction of the SATA protocol and reading or writing the target SATA disk.
Optionally, the storage controller is further configured to determine, when the target storage medium is an NVMe hard disk, the target NVMe hard disk according to the data operation instruction, and perform a read or write operation on the target NVMe hard disk through the communication component.
Optionally, the communication component comprises: network card and PCIe switching equipment; wherein the content of the first and second substances,
the network card is used for communicating with external equipment through an NVMe-oF protocol;
and the PCIe switching equipment is used for communication among the storage controller, the NVMe hard disk and the bridge.
Optionally, the data operation instruction carries data to be stored or information of an SGL descriptor of a scatter gather table; and/or the presence of a gas in the gas,
and the data response information of the NVMe protocol carries response data.
Optionally, the NVMe hard disk includes: NVMe SSD.
Further, the present application also provides an access method, which is applied to the NVMe-oF heterogeneous storage system described in the above embodiment, where the NVMe-oF heterogeneous storage system includes: the device comprises a storage controller, a communication component, a fast nonvolatile storage NVMe hard disk, a serial advanced technology attachment SATA disk and a bridge; the method comprises the following steps:
acquiring a data operation instruction through an NVMe-oF protocol; the data operation instruction carries a name space; the namespace is used for marking a target storage medium of the data operation instruction; the data operation instruction is an instruction of an NVMe protocol;
analyzing the data operation instruction, and determining a storage medium corresponding to the data operation instruction;
and when the storage medium is the SATA disk, transmitting the data operation instruction to the bridge.
Optionally, the method further comprises:
receiving data response information of the NVMe protocol sent by the bridge;
and transmitting the data response information oF the NVMe protocol to an external device through the NVMe-oF protocol.
Optionally, the method further comprises:
and when the target storage medium is the NVMe hard disk, determining the target NVMe hard disk according to the data operation instruction, and reading or writing the target NVMe hard disk through the communication component.
Optionally, the data operation instruction carries data to be stored or SGL descriptor information; and/or the presence of a gas in the gas,
and the data response information of the NVMe protocol carries response data.
Further, the present application also provides an access method, which is applied to the NVMe-oF heterogeneous storage system described in the above embodiment, where the NVMe-oF heterogeneous storage system includes: the device comprises a storage controller, a communication component, a fast nonvolatile storage NVMe hard disk, a serial advanced technology attachment SATA disk and a bridge; the method comprises the following steps:
receiving a data operation instruction sent by the storage controller; the data operation instruction carries a name space; the namespace is used for marking a target storage medium of the data operation instruction; the data operation instruction is an instruction of an NVMe protocol;
converting the data operation instruction into a data operation instruction of an SATA protocol;
and determining a target SATA disk according to the data operation instruction of the SATA protocol, and reading or writing the target SATA disk.
Optionally, the method further comprises:
generating data response information of the SATA protocol;
converting the data response information of the SATA protocol into the data response information of the NVMe protocol;
and transmitting the data response information oF the NVMe protocol to the storage controller, so that the storage controller transmits the data response information oF the NVMe protocol to an external device through the NVMe-oF protocol.
Optionally, the data operation instruction carries data to be stored or SGL descriptor information; and/or the presence of a gas in the gas,
and the data response information of the NVMe protocol carries response data.
Through the technical scheme, the application discloses an NVMe-oF heterogeneous storage system and an access method, wherein the NVMe-oF heterogeneous storage system comprises: the system comprises a storage controller, a communication component, a nonvolatile memory host controller interface specification NVMe hard disk, a serial advanced technology attachment SATA disk and a bridge; the communication component is used for communication among the storage controller, the NVMe hard disk and the bridge and is communicated with external equipment through an NVMe-oF protocol; the NVMe hard disk and the SATA disk are used for data storage; the storage controller is used for acquiring a data operation instruction through an NVMe-oF protocol; analyzing the data operation instruction, and determining a target storage medium corresponding to the data operation instruction; when the target storage medium is an SATA disk, transmitting a data operation instruction to the bridge; the data operation instruction carries a name space; the namespace is used for marking a target storage medium of the data operation instruction; the data operation instruction is an instruction of an NVMe protocol; the bridge is connected with the communication assembly and the SATA disk and used for receiving a data operation example and converting a data operation instruction into a data operation instruction of a SATA protocol; and determining the target SATA disk according to the data operation instruction of the SATA protocol, and reading or writing the target SATA disk. Thus, the NVMe-oF heterogeneous storage system in the present application may communicate with an external device through an NVMe-oF protocol, and the NVMe-oF heterogeneous storage system includes both an NVMe hard disk and an SATA disk, and the SATA disk is connected to the storage controller through the bridge and the communication component. When the external device needs to read or write the SATA disk, the storage controller receives a data operation instruction sent by the external device through the NVMe-oF protocol, and transmits the data operation instruction to the bridge. And the bridge converts the data operation instruction into a data operation instruction of the SATA protocol, and determines the target SATA disk according to the data operation instruction of the SATA protocol so as to read or write the target SATA disk. That is to say, the NVMe-oF heterogeneous storage system in the present application communicates with an external device through the NVMe-oF protocol, so that storage and calculation can be separated, and flexibility and expandability oF the NVMe-oF heterogeneous storage system are provided. And inside the NVMe-oF heterogeneous storage system, an NVMe hard disk is connected, the conversion between NVMe and SATA protocols can be realized through a bridge, and an SATA disk can be connected, so that the NVMe-oF heterogeneous storage system can simultaneously support various types oF storage media, and further, the requirements oF a user on high performance, large capacity and low cost oF the storage system are met.
Drawings
In order to more clearly illustrate the embodiments of the present invention or the technical solutions in the prior art, the drawings used in the description of the embodiments or the prior art will be briefly described below, it is obvious that the drawings in the following description are only some embodiments of the present invention, and for those skilled in the art, other drawings can be obtained according to the structures shown in the drawings without creative efforts.
Fig. 1 is a schematic structural diagram oF an NVMe-od heterogeneous storage system according to an embodiment oF the present invention;
fig. 2 is a schematic structural diagram oF another NVMe-af heterogeneous storage system according to an embodiment oF the present invention;
fig. 3 is a schematic flowchart of an access method according to an embodiment of the present invention;
fig. 4 is a schematic flowchart of another access method provided in the embodiment of the present invention;
fig. 5 is a schematic flowchart of another access method provided in an embodiment of the present invention;
fig. 6 is a flowchart illustrating another access method according to an embodiment of the present invention.
The implementation, functional features and advantages of the objects of the present invention will be further explained with reference to the accompanying drawings.
Detailed Description
The technical solutions in the embodiments of the present invention will be clearly and completely described below with reference to the drawings in the embodiments of the present invention, and it is obvious that the described embodiments are only a part of the embodiments of the present invention, and not all of the embodiments. All other embodiments, which can be derived by a person skilled in the art from the embodiments given herein without making any creative effort, shall fall within the protection scope of the present invention.
It should be noted that all the directional indications (such as up, down, left, right, front, and back) in the embodiments of the present invention are only used to explain the relative position relationship between the components, the motion situation, and the like in a specific posture (as shown in the drawings), and if the specific posture is changed, the directional indication is changed accordingly.
In addition, the descriptions related to "first", "second", etc. in the present invention are only for descriptive purposes and are not to be construed as indicating or implying relative importance or implicitly indicating the number of technical features indicated. Thus, a feature defined as "first" or "second" may explicitly or implicitly include at least one such feature. In the description of the present invention, "a plurality" means at least two, e.g., two, three, etc., unless specifically limited otherwise.
In the present invention, unless otherwise expressly stated or limited, the terms "connected," "secured," and the like are to be construed broadly, and for example, "secured" may be a fixed connection, a removable connection, or an integral part; can be mechanically or electrically connected; they may be directly connected or indirectly connected through intervening media, or they may be connected internally or in any other suitable relationship, unless expressly stated otherwise. The specific meanings of the above terms in the present invention can be understood by those skilled in the art according to specific situations.
In addition, the technical solutions in the embodiments of the present invention may be combined with each other, but it must be based on the realization of those skilled in the art, and when the technical solutions are contradictory or cannot be realized, such a combination of technical solutions should not be considered to exist, and is not within the protection scope of the present invention.
In the prior art, because the protocols adopted by different storage media are different, the storage device generally can only support one storage mode, and cannot mixedly use the storage media without the protocols, and cannot meet the requirements of users on high performance, large capacity and low cost of the storage system.
In the present application, an NVMe-oF (NVMe over fabric, Non-Volatile Memory standard on a network) NVMe-oF heterogeneous storage system may communicate with an external device through an NVMe-oF protocol, and the NVMe-oF heterogeneous storage system includes both an NVMe (Non-Volatile Memory host controller interface specification) hard disk and an SATA (Serial Advanced Technology Attachment) disk, and the SATA disk is connected to a storage controller through a bridge and a communication component. When the external device needs to read or write the SATA disk, the storage controller receives a data operation instruction sent by the external device through the NVMe-oF protocol, and transmits the data operation instruction to the bridge. And the bridge converts the data operation instruction into a data operation instruction of the SATA protocol, and determines the target SATA disk according to the data operation instruction of the SATA protocol so as to read or write the target SATA disk. That is to say, the NVMe-oF heterogeneous storage system in the present application communicates with an external device through the NVMe-oF protocol, so that storage and calculation can be separated, and flexibility and expandability oF the NVMe-oF heterogeneous storage system are provided. And inside the NVMe-oF heterogeneous storage system, an NVMe hard disk is connected, the conversion between NVMe and SATA protocols can be realized through a bridge, and an SATA disk can be connected, so that the NVMe-oF heterogeneous storage system can simultaneously support various types oF storage media, and further, the requirements oF a user on high performance, large capacity and low cost oF the storage system are met.
The technical solutions provided by the embodiments of the present application are described in detail below with reference to the accompanying drawings.
Fig. 1 is a schematic structural diagram oF an NVMe-af heterogeneous storage system according to an embodiment oF the present application. As shown in fig. 1, the NVMe-af heterogeneous storage system includes: a storage controller 101, a communication component 102, an NVMe hard disk 103, a SATA disk 104, and a bridge 105. Wherein the content of the first and second substances,
and the communication component 102 is used for communication among the storage controller 101, the NVMe hard disk 103 and the bridge 105, and communicating with an external device through the NVMe-oF protocol.
Specifically, communication oF the NVMe-od heterogeneous storage system is divided into external communication and internal communication. Wherein, the external communication refers to communication between the communication component 102 and an external device outside the NVMe-od heterogeneous storage system. And the communication component 102 communicates with the external device using NVMe-af protocol when communicating with the external device. For example, communicating with a client of a user.
And the internal communication refers to communication between devices within the NVMe-af heterogeneous storage system. At this time, the storage controller 101, the NVMe hard disk 103, and the bridge 105 are all connected to the communication module 102, and information is transmitted through the communication module 102, thereby realizing communication.
Optionally, as shown in fig. 2, the communication component 102 includes: a network card 1021, and a PCIe (Peripheral Component Interconnect express) switching device 1022. Wherein the content of the first and second substances,
and a network card 1021 for communicating with an external device through the NVMe-od protocol.
And the PCIe switch device 1022 is used for communication among the storage controller 101, the NVMe hard disk 103, and the bridge 105.
Specifically, the PCIe switch device 1022 functions to connect PCIe devices such as the storage controller 101, the NVMe hard disk 103, and the bridge 105 and ensure high-speed data communication therebetween. That is, when the storage controller 101 needs to send the relevant instruction or data to the NVMe hard disk 103 and the bridge 105, the relevant instruction or data needs to be sent to the PCIe switch device 1022, and the PCIe switch device 1022 sends the relevant instruction or data to the NVMe hard disk 103 and the bridge 105. Similarly, when the NVMe hard disk 103 and the bridge 105 send data information to the storage controller 101, the data information needs to be sent to the PCIe switch device 1022 first, and the PCIe switch device 1022 sends the data information to the storage controller 101.
Alternatively, the PCIe switch device 1022 may be a PCIe switch. The network card 1021 is provided with a DRMA (Remote direct memory Access) for directly acquiring data in the memory of the external device, without involvement of a CPU (Central Processing Unit)/GPU (Graphics Processing Unit), and the like, thereby reducing the delay of data transmission.
And the NVMe hard disk 103 and the SATA disk 104 are used for storing data.
Note that the NVMe hard disk 103 refers to a storage medium conforming to the NVMe standard. In the NVMe-oF heterogeneous storage system in the present application, the NVMe hard disk 103 and the storage controller 101 communicate with each other through the NVMe protocol. SATA disk 104 refers to a storage medium that uses the SATA protocol.
Optionally, the NVMe hard disk 103 includes: NVMe SSD (Solid State Disk).
Optionally, SATA disk 104 includes: at least one of a Hard Disk Drive (SATAHDD) and a SATA SSD.
Further, the NVMe hard disk 103 is connected to the storage controller 101 through a PCIe switch device 1022. SATA disk 104 is connected to bridge 105.
The storage controller 101 is configured to obtain a data operation instruction through an NVMe-oF protocol; analyzing the data operation instruction, and determining a target storage medium corresponding to the data operation instruction; when the target storage medium is a SATA disk, a data operation instruction is transmitted to the bridge 105.
The data operation instruction carries a namespace. The namespace is used to mark a target storage medium for data manipulation instructions. The data operation instruction is an instruction of NVMe protocol.
Specifically, when the external device needs to store data in the NVMe-oF heterogeneous storage system, or the external device needs to read data in the NVMe-oF heterogeneous storage system, a data operation instruction is generated, a namespace corresponding to a target storage medium is added to the data operation instruction, and the data operation instruction can be sent to the NVMe-oF heterogeneous storage system through the NVMe-oF protocol over the high-speed optical fiber network. The storage controller 101 oF the NVMe-oF heterogeneous storage system communicates with an external device through an NVMe-oF protocol over a high-speed optical fiber network via a network card 1021, and acquires a data operation instruction sent by the external device via the network card 1021. The data operation instruction is a data operation instruction of the NVMe protocol. The storage controller 101 analyzes the data operation instruction to obtain a namespace carried by the data operation instruction, and can obtain a target storage medium corresponding to the data operation instruction through the namespace, and further can send the target storage medium to a corresponding target storage medium through the PCIe switch device 1022 in the communication component 102. When the target storage medium is the SATA disk 104, since the SATA disk 104 uses the SATA protocol instead of the NVMe protocol, the storage controller 101 cannot directly send the data operation instruction to the SATA disk 104 through the PCIe switch device 1022. The data operation instruction needs to be sent to the bridge 105 so that the bridge 105 converts the protocol of the data operation instruction.
The bridge 105 is connected to the communication component 102 and the SATA disk 104, and configured to receive a data operation instruction and convert the data operation instruction into a data operation instruction of a SATA protocol; and determining the target SATA disk according to the data operation instruction of the SATA protocol, and reading or writing the target SATA disk.
Specifically, the bridge 105 is connected to the PCIe switch device 1022 in the communication component 102 at one end and to the SATA disk 104 at the other end. The bridge 105 may perform conversion between NVMe and SATA protocols. After receiving the data operation instruction, the bridge 105 converts the data operation instruction from the NVMe protocol format to the SATA protocol format, and determines the target SATA disk 104 according to the data operation instruction of the SATA protocol, thereby performing corresponding reading or writing operation on the target SATA disk 104.
In this way, the SATA disk 104 can be connected to the NVMe-oF heterogeneous storage system through the bridge 105, so that the storage media presented by the NVMe-oF heterogeneous storage system to the external device are all NVMe storage media. That is, the SATA disk 104 can be virtualized as an NVMe hard disk through the bridge 105, so that the user can perform data storage operation.
Each SATA disk 104 can be configured as an independent NVME hard disk according to different implementation configurations. It is also possible that multiple SATA disks 104 are combined as an NVME hard disk, with each SATA disk serving as a namespace for the NVME device (NAMESPACE).
Further, the bridge 105 is further configured to convert the data response information of the SATA protocol into the data response information of the NVMe protocol, and transmit the data response information of the NVMe protocol to the storage controller. The storage controller 101 is further configured to transmit the data response message oF the NVMe protocol to the external device through the NVMe-af protocol.
That is, after the bridge 105 completes the data operation command, the data writing or reading, the data response message may be generated to inform the external device that the data operation command is completed, so that the external device may perform the next operation. At this time, when the bridge 105 completes the read or write operation on the target SATA disk 104, it may generate data response information of the SATA protocol, translate the data response information of the SATA protocol into data response information of the NVMe protocol, and send the data response information of the NVMe protocol to the PCIe switching device 1022 of the communication component 102. The PCIe switching device 1022 transmits the data response message oF the NVMe protocol to the storage controller 101, and the storage controller 101 sends the data response message oF the NVMe protocol to the external device through the network card 1021 in the communication component 102 by using the NVMe-od protocol, so as to notify that the data operation instruction oF the external device is completed.
Further, as shown with reference to fig. 2, the bridge 105 includes: NVMe data module 1051, protocol conversion processing module 1052, and SATA data module 1053.
At this time, the bridge 105 is configured to receive a data operation instruction, and convert the data operation instruction into a data operation instruction of the SATA protocol; and determining a target SATA disk according to a data operation instruction of the SATA protocol, wherein the reading or writing operation of the target SATA disk specifically comprises the following steps:
an NVMe data module 1051, configured to receive the data operation instruction.
The protocol conversion processing module 1052 is configured to obtain the data operation instruction from the NVMe data module, convert the data operation instruction into a data operation instruction of the SATA protocol, and send the data operation instruction to the SATA data module 1053.
The SATA data module 1053 is configured to determine a target SATA disk according to a data operation instruction of the SATA protocol, and perform a read operation or a write operation on the target SATA disk.
In this embodiment, the bridge 105 includes three modules, and the NVMe data module 1051 is connected to the PCIe switching device 1022 in the communication component 102, and may receive a data operation instruction of the NVMe protocol sent by the PCIe switching device 1022, and also send data information of the NVMe protocol to the PCIe switching device 1022. The protocol conversion processing module 1052 is connected to the NVMe data module 1051 and the SATA data module 1053, and the protocol conversion processing module 1052 is configured to perform protocol conversion, and may convert the NVMe protocol into the SATA protocol, and also may convert the SATA protocol into the NVMe protocol. After acquiring the data operation instruction from the NVMe data module 1051, the protocol conversion processing module 1052 converts the data operation instruction of the NVMe protocol into the data operation instruction of the SATA protocol, and sends the data operation instruction to the SATA data module 1053. After receiving the data operation instruction of the SATA protocol, the SATA data module 1053 parses the data operation instruction of the SATA protocol, determines the target SATA disk 104 according to the data operation instruction of the SATA protocol, and performs reading or writing operation on the target SATA disk 104.
It should be noted that, when the NVMe protocol is prepared, the NVMe instruction set corresponding to the NVMe protocol is prepared at the same time, and similarly, when the SATA protocol is prepared, the ATA instruction set corresponding to the NVMe instruction set is prepared at the same time. The protocol conversion processing module 1052 can establish a mapping table of two instruction sets, and after acquiring the data operation instruction of the NVMe protocol, the protocol conversion processing module 1052 can search the mapping table according to the data operation instruction of the NVMe protocol, and find the data operation instruction of the SATA protocol corresponding to the data operation instruction of the NVMe protocol, thereby implementing conversion of the data operation instruction into the data operation instruction of the SATA protocol.
After the SATA data module 1053 executes the data operation instruction of the SATA protocol and completes the reading or writing operation of the target SATA disk 104, the SATA data module 1053 may generate data response information of the SATA protocol and send the data response information of the SATA protocol to the protocol conversion processing module 1052. The protocol conversion processing module 1052 converts the data response information oF the SATA protocol into the data response information oF the NVMe protocol, and sends the data response information oF the NVMe protocol to the NVMe data module 1051, at this time, the NVMe data module 1051 transmits the data response information oF the NVMe protocol to the PCIe switching device 1022, the PCIe switching device 1022 transmits the data response information oF the NVMe protocol to the storage controller 101, and the storage controller 101 transmits the data response information oF the NVMe protocol to the external device through the network card 1021 by using the NVMe-af protocol.
Further, the data operation instruction carries data to be stored or SGL (Scatter Gather List) descriptor information. Thus, when the data to be stored is carried in the data operation instruction, the SATA data module 1053 may directly store the data to be stored carried in the data operation instruction into the target SATA disk 104, and interaction with an external device is not required, so that interaction time between the NVMe-od heterogeneous storage system and the external device is saved.
And/or response data is carried in the data response information of the NVMe protocol. That is, the data response information carries data that needs to be read by the external device. That is to say, when the data response information is generated, the data that the external device needs to read can be added to the data response information and sent to the external device together with the data response information, and interaction with the external device is not needed, so that the interaction time between the NVMe-od heterogeneous storage system and the external device is saved.
Optionally, the NVMe data module 1051 may be an NVMe target IP core, the protocol conversion processing module 1052 is a processor, and the SATA data module 1053 may be an AHCI (Advanced Host Controller Interface) Host IP core. In this way, the NVMe data operation instruction is pushed into the NVMe target IP kernel in the bridge, and the processor extracts the data operation instruction from the NVMe target IP kernel, translates the data operation instruction into the data operation instruction of the SATA protocol, and then sends the data operation instruction to the AHCI host IP kernel. And the IP inner core of the AHCI host analyzes the data operation instruction of the SATA protocol, determines a target SARA disk, and reads or writes the target SATA disk. When the write operation needs to be performed on the target SATA disk 104, if the data operation instruction carries data to be stored, the written data may be acquired from the data operation instruction and directly written into the target SATA disk 104.
And if the data operation instruction does not carry the data to be stored, acquiring the data to be stored from the external equipment. At this time, the data storage can be completed by a DMA (Direct Memory Access) engine in the IP core of the AHCI host, and after the data to be stored of the external device is read, the data to be stored is stored in the target SATA disk 104. And after the IP inner core of the AHCI host finishes the movement of the instruction and the data, generating response information of the SATA protocol for finishing the operation, and sending the response information to the processor. And the processor receives and converts the response information of the SATA protocol into the response information of the NVMe protocol, and pushes the response information of the NVMe protocol to the NVME target IP kernel. The NVME target IP kernel is then sent to the storage controller 101 through the PCIe switch device 1022 of the communication component 102. The storage controller 101 returns the response information oF the NVMe protocol to the receiving queue oF the external device through the NVMe-od protocol to complete the whole IO operation.
Further, the processor may be a software processor, such as INTEL NIOS II, or a hardware processor, such as ARM, which is not limited in this application.
Further, the storage controller 101 is further configured to, when the target storage medium is an NVMe hard disk 103, determine the target NVMe hard disk 103 according to the data operation instruction, and perform a read or write operation on the target NVMe hard disk 103 through the communication component 102.
Specifically, the NVMe-oF heterogeneous storage system is connected with an NVMe hard disk 103, and when an external device needs to read or write the NVMe hard disk 103, a namespace corresponding to the NVMe hard disk 103 is added to a data operation instruction. At this time, when the storage controller 101 analyzes that the target storage medium corresponding to the namespace in the data operation instruction is the NVMe hard disk 103, the data operation instruction may be directly analyzed to determine the target NVMe hard disk 103, and then the PCIe switching device 1022 performs read or write operation on the target NVMe hard disk 103.
In the embodiment oF the application, the NVMe-oF heterogeneous storage system includes both the NVMe hard disk 103 and the SATA disk 104 connected through the bridge 105, and at this time, the SATA disk 104 is virtualized into the NVMe hard disk. The NVMe-oF heterogeneous storage system can communicate with the client through the NVMe-oF protocol. For the client, all storage media in the NVMe-oF heterogeneous storage system are NVMe devices, so that the complexity oF the client is simplified, and the storage cost oF the unit capacity oF a user is reduced.
In addition, in the present application, after the SATA disk 104 is connected to the NVMe-af heterogeneous storage system through the bridge 105, compared with a storage system connected only to NVMe, the storage system oF the present application can implement capacity expansion oF the NVMe-af heterogeneous storage system at a lower cost. In addition, in the storage system, common data can be stored in the NVMe hard disk, and less-used data is stored in the SATA disk, so that the cost performance of the storage system is improved.
To sum up, the NVMe-od heterogeneous storage system in the present application may communicate with an external device through an NVMe-od protocol, and the NVMe-od heterogeneous storage system includes both an NVMe hard disk and an SATA disk, and the SATA disk is connected to a storage controller through a bridge and a communication component. When the external device needs to read or write the SATA disk, the storage controller receives a data operation instruction sent by the external device through the NVMe-oF protocol, and transmits the data operation instruction to the bridge. And the bridge converts the data operation instruction into a data operation instruction of the SATA protocol, and determines the target SATA disk according to the data operation instruction of the SATA protocol so as to read or write the target SATA disk. That is to say, the NVMe-oF heterogeneous storage system in the present application communicates with an external device through the NVMe-oF protocol, so that storage and calculation can be separated, and flexibility and expandability oF the NVMe-oF heterogeneous storage system are provided. And inside the NVMe-oF heterogeneous storage system, an NVMe hard disk is connected, the conversion between NVMe and SATA protocols can be realized through a bridge, and an SATA disk can be connected, so that the NVMe-oF heterogeneous storage system can simultaneously support various types oF storage media, and further, the requirements oF a user on high performance, large capacity and low cost oF the storage system are met.
As shown in fig. 3, the present invention provides an access method, which is applied to the NVMe-af heterogeneous storage system according to the foregoing embodiment, where the NVMe-af heterogeneous storage system includes: the device comprises a storage controller, a communication component, a fast nonvolatile storage NVMe hard disk, a serial advanced technology attachment SATA disk and a bridge; the method comprises the following steps:
and S301, acquiring a data operation instruction through an NVMe-oF protocol.
The data operation instruction carries a name space; the namespace is used for marking a target storage medium of the data operation instruction; the data operation instruction is an instruction of NVMe protocol.
And step S302, analyzing the data operation instruction and determining a storage medium corresponding to the data operation instruction.
Step S303, when the storage medium is the SATA disk, transmitting the data operation instruction to the bridge.
That is, the storage controller communicates with the external device through the NVMe-oF protocol, and when the external device needs to store or read data, sends a data operation instruction to the NVMe-oF heterogeneous storage system. At this time, the storage controller obtains the data operation instruction sent by the external device through the network card. The data operation instruction is a data operation instruction of the NVMe protocol. The storage controller analyzes the data operation instruction to obtain the carried naming space, and can obtain the target storage medium corresponding to the data operation instruction through the naming space and further send the target storage medium to the corresponding target storage medium through the communication assembly. When the target storage medium is a SATA disk, since the SATA disk uses a SATA protocol instead of the NVMe protocol, the storage controller cannot directly send the data operation instruction to the SATA disk through the communication component. The data operation instruction needs to be sent to the bridge so that the bridge converts the protocol of the data operation instruction.
Further, the data operation instruction carries data to be stored or SGL descriptor information.
Further, as shown in fig. 4, the method further includes:
and step S304, receiving data response information of the NVMe protocol sent by the bridge.
Optionally, the data response message of the NVMe protocol carries response data.
And S305, transmitting the data response information oF the NVMe protocol to the external equipment through the NVMe-oF protocol.
That is, after the bridge and the SATA disk complete the data operation command, the bridge and the SATA disk may return response information to the external device. At this time, the bridge sends the data response information oF the NVMe protocol to the storage controller through the communication component, and after receiving the data response information oF the NVMe protocol, the storage controller sends the data response information oF the NVMe protocol to the external device by using the NVMe-af protocol, so that the external device knows that the data operation instruction is completed.
Further, as shown in fig. 4, the method further includes:
and S306, when the target storage medium is the NVMe hard disk, determining the target NVMe hard disk according to the data operation instruction, and reading or writing the target NVMe hard disk through the communication component.
That is, when the external device needs to read or write data from or to the NVMe hard disk, the storage medium corresponding to the namespace in the data operation instruction is the NVMe hard disk, and at this time, the storage control may determine the target NVMe hard disk by analyzing the data operation instruction, and then read or write the target NVMe hard disk through the communication component.
The NVMe-oF heterogeneous storage system is communicated with external equipment through an NVMe-oF protocol, so that storage and calculation can be separated, and the flexibility and the expandability oF the NVMe-oF heterogeneous storage system are provided. And inside the NVMe-oF heterogeneous storage system, an NVMe hard disk is connected, the conversion between NVMe and SATA protocols can be realized through a bridge, and an SATA disk can be connected, so that the NVMe-oF heterogeneous storage system can simultaneously support various types oF storage media, and further, the requirements oF a user on high performance, large capacity and low cost oF the storage system are met.
As shown in fig. 5, the present invention provides an access method, which is applied to the NVMe-af heterogeneous storage system according to the foregoing embodiment, where the NVMe-af heterogeneous storage system includes: the device comprises a storage controller, a communication component, a fast nonvolatile storage NVMe hard disk, a serial advanced technology attachment SATA disk and a bridge; the method comprises the following steps:
step 601, receiving a data operation instruction sent by the storage controller.
The data operation instruction carries a name space; the namespace is used for marking a target storage medium of the data operation instruction; the data operation instruction is an instruction of NVMe protocol.
Optionally, the data operation instruction carries data to be stored or SGL descriptor information.
Step S602, converting the data operation instruction into a data operation instruction of the SATA protocol.
Step S603, determining the target SATA disk according to the data operation instruction of the SATA protocol, and performing a read operation or a write operation on the target SATA disk.
That is, one end of the bridge is connected to the communication component, and the other end is connected to the SATA disk. The bridge can perform conversion between NVMe and SATA protocols. After receiving the data operation instruction, the bridge needs to perform protocol conversion first because the data operation instruction is the NVMe protocol and the SATA disk adopts the SATA protocol, that is, the bridge converts the data operation instruction from the NVMe protocol format to the SATA protocol format.
Further, as shown in fig. 6, the method further includes:
and step S604, generating data response information of the SATA protocol.
Optionally, the data response message of the NVMe protocol carries response data.
And step S605, converting the data response information of the SATA protocol into the data response information of the NVMe protocol.
Step S606, transmitting the data response information oF the NVMe protocol to the storage controller, so that the storage controller transmits the data response information oF the NVMe protocol to the external device through the NVMe-af protocol.
That is, after the bridge executes the data operation command and performs the corresponding read or write operation on the SATA disk, the bridge may generate data response information to notify the external device that the data operation command is completed. At this time, the bridge may generate data response information of the SATA protocol, and at this time, data fed back to the external device may be added to the data response information of the SATA protocol, that is, response data. After the data response message of the SATA protocol is generated, since the NVMe protocol is used for communication between the storage controller and the bridge, the SATA protocol needs to be converted into the NVMe protocol. At this time, the bridge may convert the data response information oF the SATA protocol into the data response information oF the NVMe protocol, and send the NVMe protocol to the storage controller through the communication component, so that the storage controller transmits the data response information oF the NVMe protocol to the external device through the NVMe-od protocol.
The NVMe-oF heterogeneous storage system is communicated with external equipment through an NVMe-oF protocol, so that storage and calculation can be separated, and the flexibility and the expandability oF the NVMe-oF heterogeneous storage system are provided. And inside the NVMe-oF heterogeneous storage system, an NVMe hard disk is connected, the conversion between NVMe and SATA protocols can be realized through a bridge, and an SATA disk can be connected, so that the NVMe-oF heterogeneous storage system can simultaneously support various types oF storage media, and further, the requirements oF a user on high performance, large capacity and low cost oF the storage system are met.
The above description is only a preferred embodiment of the present invention, and is not intended to limit the scope of the present invention, and all modifications and equivalents of the present invention, which are made by the contents of the present specification and the accompanying drawings, or directly/indirectly applied to other related technical fields, are included in the scope of the present invention.

Claims (14)

1. An NVMe-af heterogeneous storage system, comprising: the system comprises a storage controller, a communication component, a nonvolatile memory host controller interface specification NVMe hard disk, a serial advanced technology attachment SATA disk and a bridge; wherein the content of the first and second substances,
the communication component is used for communication among the storage controller, the NVMe hard disk and the bridge and is communicated with external equipment through an NVMe-oF protocol;
the NVMe hard disk and the SATA disk are used for data storage;
the storage controller is used for acquiring a data operation instruction through an NVMe-oF protocol; analyzing the data operation instruction, and determining a target storage medium corresponding to the data operation instruction; when the target storage medium is an SATA disk, transmitting the data operation instruction to the bridge; the data operation instruction carries a name space; the namespace is used for marking a target storage medium of the data operation instruction; the data operation instruction is an instruction of an NVMe protocol;
the bridge is connected with the communication assembly and the SATA disk and used for receiving the data operation instruction and converting the data operation instruction into a data operation instruction of a SATA protocol; and determining a target SATA disk according to the data operation instruction of the SATA protocol, and reading or writing the target SATA disk.
2. The NVMe-oF heterogeneous storage system oF claim 1,
the bridge is further configured to convert data response information of the SATA protocol into data response information of the NVMe protocol, and transmit the data response information of the NVMe protocol to the storage controller;
the storage controller is further configured to transmit the data response information oF the NVMe protocol to an external device through the NVMe-oF protocol.
3. The NVMe-if heterogeneous storage system oF claim 1, wherein the bridge comprises: the system comprises an NVMe data module, a protocol conversion processing module and an SATA data module;
the bridge is used for receiving the data operation instruction and converting the data operation instruction into a data operation instruction of a SATA protocol; and determining a target SATA disk according to the data operation instruction of the SATA protocol, wherein the reading or writing operation of the target SATA disk specifically comprises the following steps:
the NVMe data module is used for receiving the data operation instruction;
the protocol conversion processing module is used for acquiring the data operation instruction from the NVMe data module, converting the data operation instruction into a data operation instruction of an SATA protocol, and sending the data operation instruction to the SATA data module;
and the SATA data module is used for determining a target SATA disk according to the data operation instruction of the SATA protocol and reading or writing the target SATA disk.
4. The NVMe-oF heterogeneous storage system oF claim 1,
the storage controller is further configured to determine a target NVMe hard disk according to the data operation instruction when the target storage medium is an NVMe hard disk, and perform read or write operation on the target NVMe hard disk through the communication component.
5. The NVMe-oF heterogeneous storage system according to any one oF claims 1-4, wherein the communication component comprises: network card and PCIe switching equipment; wherein the content of the first and second substances,
the network card is used for communicating with external equipment through an NVMe-oF protocol;
and the PCIe switching equipment is used for communication among the storage controller, the NVMe hard disk and the bridge.
6. The NVMe-oF heterogeneous storage system according to claim 2, wherein the data operation instruction carries data to be stored or SGL descriptor information oF a scatter gather table; and/or the presence of a gas in the gas,
and the data response information of the NVMe protocol carries response data.
7. The NVMe-oF heterogeneous storage system according to any one oF claims 1-4, wherein the NVMe hard disk comprises: NVMe SSD.
8. An access method applied to the NVMe-oF heterogeneous storage system according to any one oF claims 1 to 7, the NVMe-oF heterogeneous storage system comprising: the device comprises a storage controller, a communication component, a fast nonvolatile storage NVMe hard disk, a serial advanced technology attachment SATA disk and a bridge; the method comprises the following steps:
acquiring a data operation instruction through an NVMe-oF protocol; the data operation instruction carries a name space; the namespace is used for marking a target storage medium of the data operation instruction; the data operation instruction is an instruction of an NVMe protocol;
analyzing the data operation instruction, and determining a storage medium corresponding to the data operation instruction;
and when the storage medium is the SATA disk, transmitting the data operation instruction to the bridge.
9. The method of claim 8, further comprising:
receiving data response information of the NVMe protocol sent by the bridge;
and transmitting the data response information oF the NVMe protocol to an external device through the NVMe-oF protocol.
10. The method of claim 8 or 9, further comprising:
and when the target storage medium is the NVMe hard disk, determining the target NVMe hard disk according to the data operation instruction, and reading or writing the target NVMe hard disk through the communication component.
11. The method according to claim 9, wherein the data operation instruction carries data to be stored or SGL descriptor information; and/or the presence of a gas in the gas,
and the data response information of the NVMe protocol carries response data.
12. An access method applied to the NVMe-oF heterogeneous storage system according to any one oF claims 1 to 7, the NVMe-oF heterogeneous storage system comprising: the device comprises a storage controller, a communication component, a fast nonvolatile storage NVMe hard disk, a serial advanced technology attachment SATA disk and a bridge; the method comprises the following steps:
receiving a data operation instruction sent by the storage controller; the data operation instruction carries a name space; the namespace is used for marking a target storage medium of the data operation instruction; the data operation instruction is an instruction of an NVMe protocol;
converting the data operation instruction into a data operation instruction of an SATA protocol;
and determining a target SATA disk according to the data operation instruction of the SATA protocol, and reading or writing the target SATA disk.
13. The method of claim 12, further comprising:
generating data response information of the SATA protocol;
converting the data response information of the SATA protocol into the data response information of the NVMe protocol;
and transmitting the data response information oF the NVMe protocol to the storage controller, so that the storage controller transmits the data response information oF the NVMe protocol to an external device through the NVMe-oF protocol.
14. The method according to claim 13, wherein the data operation instruction carries data to be stored or SGL descriptor information; and/or the presence of a gas in the gas,
and the data response information of the NVMe protocol carries response data.
CN202011254281.5A 2020-11-11 2020-11-11 NVMe-oF heterogeneous storage system and access method Pending CN112380151A (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202011254281.5A CN112380151A (en) 2020-11-11 2020-11-11 NVMe-oF heterogeneous storage system and access method

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202011254281.5A CN112380151A (en) 2020-11-11 2020-11-11 NVMe-oF heterogeneous storage system and access method

Publications (1)

Publication Number Publication Date
CN112380151A true CN112380151A (en) 2021-02-19

Family

ID=74582690

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202011254281.5A Pending CN112380151A (en) 2020-11-11 2020-11-11 NVMe-oF heterogeneous storage system and access method

Country Status (1)

Country Link
CN (1) CN112380151A (en)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN113031862A (en) * 2021-03-18 2021-06-25 中国电子科技集团公司第五十二研究所 Storage system for controlling SATA (Serial advanced technology attachment) disk based on NVME (network video and management entity) protocol
CN113392046A (en) * 2021-06-10 2021-09-14 杭州华澜微电子股份有限公司 Data transmission method and device and electronic equipment

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN113031862A (en) * 2021-03-18 2021-06-25 中国电子科技集团公司第五十二研究所 Storage system for controlling SATA (Serial advanced technology attachment) disk based on NVME (network video and management entity) protocol
CN113031862B (en) * 2021-03-18 2024-03-22 中国电子科技集团公司第五十二研究所 Storage system for controlling SATA disk based on NVME protocol
CN113392046A (en) * 2021-06-10 2021-09-14 杭州华澜微电子股份有限公司 Data transmission method and device and electronic equipment

Similar Documents

Publication Publication Date Title
EP2849077B1 (en) Method for writing data into storage device and storage device
EP2849076B1 (en) Dma transmission method and system
JP3497834B2 (en) Route repeater, USB communication system, USB communication control method
KR101466592B1 (en) Scalable storage devices
US8972615B2 (en) Communication with input/output system devices
KR20190040886A (en) System and method for providing near storage compute using bridge device
US20060004935A1 (en) Multi-protocol bridge
WO2017066944A1 (en) Method, apparatus and system for accessing storage device
US7080190B2 (en) Apparatus and method for providing transparent sharing of channel resources by multiple host machines
JP6040101B2 (en) Storage device control method, storage device, and information processing device
JP2007501987A (en) Storage shelf router interface tunneling system and method
CN112380151A (en) NVMe-oF heterogeneous storage system and access method
EP2570913A1 (en) Method and system for accessing storage device
CN102033840A (en) Bus-protocol converting device and bus-protocol converting method
CN114201268B (en) Data processing method, device and equipment and readable storage medium
US20060259650A1 (en) Method of transmitting data between storage virtualization controllers and storage virtualization controller designed to implement the method
JP2541767B2 (en) Smart bus control unit
US7383372B2 (en) Bus system, station for use in a bus system, and bus interface
CN112380152A (en) NVMe-oF heterogeneous storage access controller and access method
US20120102251A1 (en) Serial attached small computer system interface (sas) domain access through a universal serial bus interface of a data processing device
KR100453071B1 (en) Apparatus and method for connecting processor to bus
US20050154800A1 (en) Command serialization
KR20230024843A (en) Multi-function flexible computational storage device
TWM244533U (en) A device integrates the reading card function and the instruction input function and a integration chip in which
CN114637458A (en) Data transmission method and network card

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