WO2022160308A1 - Data access method and apparatus, and storage medium - Google Patents

Data access method and apparatus, and storage medium Download PDF

Info

Publication number
WO2022160308A1
WO2022160308A1 PCT/CN2021/074545 CN2021074545W WO2022160308A1 WO 2022160308 A1 WO2022160308 A1 WO 2022160308A1 CN 2021074545 W CN2021074545 W CN 2021074545W WO 2022160308 A1 WO2022160308 A1 WO 2022160308A1
Authority
WO
WIPO (PCT)
Prior art keywords
target solid
establishment information
link establishment
storage node
access
Prior art date
Application number
PCT/CN2021/074545
Other languages
French (fr)
Chinese (zh)
Inventor
伍波
Original Assignee
华为技术有限公司
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 华为技术有限公司 filed Critical 华为技术有限公司
Priority to CN202180085306.XA priority Critical patent/CN116670636A/en
Priority to PCT/CN2021/074545 priority patent/WO2022160308A1/en
Publication of WO2022160308A1 publication Critical patent/WO2022160308A1/en

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers

Definitions

  • the present application relates to the technical field of data processing, and in particular, to a data access method, device and storage medium.
  • a single storage node can generally provide a bandwidth of about 10 to 20 GB, and can provide an Input/Output Per Second (IOPS) capability of about 100 to 1000K.
  • IOPS Input/Output Per Second
  • SSD Solid State Disk
  • NVMe Non-Volatile Memory Express
  • IOPS Input/Output Per Second
  • a solid state drive (Solid State Disk, SSD) with a single Non-Volatile Memory Express (NVMe) interface can generally provide 5GB of bandwidth and 1200K IOPS. If one storage node manages 24 SSDs, the bandwidth and IOPS that 24 SSDs can provide are about 6 times and 28 times that of storage nodes, respectively. It can be seen that the performance of storage nodes is far from fully exploiting the high-performance advantages of SSDs.
  • the present application discloses a data access method, device and storage medium, which can improve data access efficiency, reduce CPU/memory overhead of storage nodes, and eliminate system bottlenecks.
  • an embodiment of the present application provides a data access method, which is applied to a storage node in a distributed storage system.
  • the method includes: the storage node receives a remote data sent by a computing node in the distributed storage system.
  • a direct data access RDMA connection request where the RDMA connection request carries the target solid-state drive identifier in the distributed storage system, and the RDMA connection request is used to instruct the storage node to establish a connection between the computing node and the target solid-state drive.
  • An access connection between hard disks; the storage node acquires and stores the link establishment information corresponding to the access connection, wherein the link establishment information includes a completion queue CQ, and the CQ is used to indicate that the target solid-state hard disk has data storage.
  • the storage node sends the stored first address corresponding to the link establishment information to the target SSD, so as to instruct the target SSD to obtain the CQ in the link establishment information, and monitor all described CQ.
  • the storage node sends the address of the chain establishment information corresponding to the access connection between the stored computing node and the target solid state drive to the target solid state drive, so that the target solid state drive obtains the CQ in the chain establishment information, And monitor the CQ, so as to realize the direct access connection between the computing node and the target solid-state hard disk.
  • the command sent by the computing node needs to be parsed by the storage node and then sent to the SSD, and the data flow between the SSD and the computing node in the prior art needs to pass through the storage node.
  • the link establishment information further includes a memory area MR and a queue pair QP, where the MR and QP are used to instruct the target solid-state disk to perform data access.
  • the MR is used to indicate an area of the target solid-state disk for data access
  • the QP is used to instruct the target solid-state disk to operate the QP to send and receive data.
  • QP includes send queue (SendQueue, SQ) and receive queue (ReceiveQueue, RQ), and these queues manage various types of messages.
  • SQ SendQueue
  • RQ receive queue
  • these queues manage various types of messages.
  • the target solid-state hard disk obtains from the CQ that there is a data access task
  • the target solid-state hard disk transmits and receives data by operating the QP.
  • the SSD places the task of sending data in the sending queue SQ for data sending.
  • the SSD obtains the task of receiving data from the receiving queue, and then performs data receiving processing.
  • the storage node stores the link-building information corresponding to the access connection in a shared memory space, where the shared memory space is a Controller Memory Buffer (CMB) of the target solid-state hard disk. ), or the shared memory space is a host memory buffer (Host Memory Buffer, HMB) of the storage node.
  • CMB Controller Memory Buffer
  • HMB host memory buffer
  • the method further includes: the storage node detects the access connection; when a network abnormality is detected, or when receiving a heartbeat abnormality message sent by the target solid-state hard disk message, the storage node deletes the link establishment information on the shared memory space.
  • the access connection between the SSD and the computing node is released in time to ensure the security of data access.
  • the method further includes: the storage node sends the received instruction of disconnecting the access connection sent by the computing node to the target solid-state disk; When the message of successful link disconnection sent by the target solid state disk is sent, the storage node deletes the link establishment information on the shared memory space.
  • an embodiment of the present application provides a data access method, which is applied to a target solid-state disk in a distributed storage system, the method includes: the target solid-state disk receives a data sent by a storage node in the distributed storage system.
  • the message carries a first address, where the first address is the link establishment corresponding to the access connection between the computing node in the distributed storage system and the target SSD stored by the storage node
  • the address of the information, the link establishment information includes the completion queue CQ, and the CQ is used to indicate that the target SSD has a data access task; the target SSD obtains the link establishment information according to the first address. the CQ, and listen to the CQ.
  • the target solid-state drive obtains the CQ in the link establishment information corresponding to the access connection between the computing node and the target solid-state drive based on the address sent by the storage node, and monitors the CQ, thereby realizing the connection between the computing node and the target solid-state drive.
  • Direct access connection between this target SSD Compared with the prior art, the command sent by the computing node needs to be parsed by the storage node and then sent to the SSD, and the data flow between the SSD and the computing node in the prior art needs to pass through the storage node.
  • the link establishment information further includes a memory area MR and a queue pair QP
  • the method further includes: the target solid-state disk acquires the MR and QP in the link establishment information according to the first address, and performs data analysis. access.
  • the storage node stores the link establishment information corresponding to the access connection in a shared memory space, where the shared memory space is a controller memory buffer of the target solid-state hard disk, or the shared memory
  • the memory space is the host memory buffer of the storage node.
  • the method further includes: the target solid-state drive detects the access connection; when detecting that there is an abnormal heartbeat, or when receiving a network abnormality message sent by the storage node message, the target solid state drive confirms whether the commands in the access connection are all completed; if the commands in the access connection are all completed, the target solid state drive stops monitoring the CQ.
  • the method further includes: the target solid-state drive receives an instruction to disconnect the access connection sent by the storage node; the target solid-state drive confirms the command in the access connection Whether all the commands are completed; if all the commands in the access connection are completed, the target solid-state disk stops monitoring the CQ.
  • an embodiment of the present application provides a data access device, including: a receiving module configured to receive a remote direct data access RDMA connection request sent by a computing node in a distributed storage system, where the RDMA connection request carries a target Solid-state disk identifier, the RDMA connection request is used to instruct the storage node to establish an access connection between the computing node and the target solid-state disk; an acquisition module is used to acquire and store the link establishment information corresponding to the access connection , wherein the link establishment information includes a completion queue CQ, and the CQ is used to indicate that the target solid-state hard disk has a data access task; a sending module is used to send the stored first address corresponding to the link establishment information to a the target solid-state disk to instruct the target solid-state disk to obtain the CQ in the link establishment information, and monitor the CQ.
  • the link establishment information further includes a memory area MR and a queue pair QP
  • the MR is used to indicate a data access area of the target solid state drive
  • the QP is used to instruct the target solid state drive to operate the QP to Send and receive data.
  • the device stores the link establishment information corresponding to the access connection in the shared memory space.
  • the shared memory space is a controller memory buffer of the target solid state disk, or the shared memory space is a host memory buffer of the device.
  • the device further includes a detection module configured to detect the access connection; when a network abnormality is detected, or when a message with abnormal heartbeat sent by the target solid-state drive is received, delete all the information. the link establishment information on the shared memory space.
  • a detection module configured to detect the access connection; when a network abnormality is detected, or when a message with abnormal heartbeat sent by the target solid-state drive is received, delete all the information. the link establishment information on the shared memory space.
  • the device further includes a link disconnection module, configured to send the received instruction of disconnecting the access connection sent by the computing node to the target solid-state drive; When the message of successful link disconnection is received, the link establishment information on the shared memory space is deleted.
  • a link disconnection module configured to send the received instruction of disconnecting the access connection sent by the computing node to the target solid-state drive; When the message of successful link disconnection is received, the link establishment information on the shared memory space is deleted.
  • an embodiment of the present application provides a data access device, including: a receiving module configured to receive a message sent by a storage node in a distributed storage system, where the message carries a first address, wherein the first The address is the address of the link establishment information corresponding to the access connection between the computing node and the device in the distributed storage system stored by the storage node, and the link establishment information includes the completion queue CQ; the processing module is used for Acquire the CQ in the link establishment information according to the first address, and monitor the CQ.
  • the link establishment information further includes a memory area MR and a queue pair QP
  • the processing module is further configured to acquire the MR and QP in the link establishment information according to the first address, and perform data access.
  • the storage node stores the link establishment information corresponding to the access connection in a shared memory space, where the shared memory space is a controller memory buffer of the device, or the shared memory space is a The host memory buffer of the storage node.
  • the device further includes a detection module for detecting the access connection; when it is detected that there is an abnormal heartbeat, or when receiving a message sent by the storage node that there is a network abnormality, confirming that the connection is abnormal. Whether the commands in the access connection are all completed; if the commands in the access connection are all completed, stop monitoring the CQ.
  • a detection module for detecting the access connection; when it is detected that there is an abnormal heartbeat, or when receiving a message sent by the storage node that there is a network abnormality, confirming that the connection is abnormal. Whether the commands in the access connection are all completed; if the commands in the access connection are all completed, stop monitoring the CQ.
  • the device further includes a link disconnection module, configured to receive an instruction to disconnect the access connection sent by the storage node; confirm whether the commands in the access connection are all completed; Commands are completed, stop monitoring the CQ.
  • a link disconnection module configured to receive an instruction to disconnect the access connection sent by the storage node; confirm whether the commands in the access connection are all completed; Commands are completed, stop monitoring the CQ.
  • an embodiment of the present application provides a data access device, including a processor, where the processor is configured to: receive a remote direct data access RDMA connection request sent by a computing node in a distributed storage system, and the processor
  • the RDMA connection request carries the target solid-state drive identifier, and the RDMA connection request is used to instruct the storage node to establish an access connection between the computing node and the target solid-state drive; obtain and store the link establishment information corresponding to the access connection , wherein the link establishment information includes a completion queue CQ, and the CQ is used to indicate that the target SSD has a data access task; send the first address corresponding to the stored link establishment information to the target SSD , to instruct the target SSD to obtain the CQ in the link establishment information, and monitor the CQ.
  • the link establishment information also includes a memory area MR and a queue pair QP, the MR is used to indicate the area where the target solid-state disk data is accessed, and the QP is used to indicate that the target solid-state disk operates the QP. to send and receive data.
  • the processor stores the link establishment information corresponding to the access connection in a shared memory space, where the shared memory space is a controller memory buffer of the target solid-state hard disk, or the shared memory space is the host memory buffer of the device.
  • the processor is further configured to: detect the access connection; when a network abnormality is detected, or when receiving a message that the target solid-state hard disk has abnormal heartbeat , delete the link establishment information on the shared memory space.
  • the processor is further configured to: send the received instruction of disconnecting the access connection sent by the computing node to the target solid-state hard disk; When the message of successful link disconnection is sent by the solid state drive, the link establishment information on the shared memory space is deleted.
  • an embodiment of the present application provides a data access device, including a processor, where the processor is configured to: receive a message sent by a storage node in a distributed storage system, where the message carries a first address, wherein , the first address is the address of the link establishment information corresponding to the access connection between the computing node in the distributed storage system and the device stored by the storage node, and the link establishment information includes the completion queue CQ; Acquire the CQ in the link establishment information according to the first address, and monitor the CQ.
  • the link establishment information further includes a memory area MR and a queue pair QP
  • the processor is further configured to: acquire the MR and QP in the link establishment information according to the first address, and perform data access.
  • the storage node stores the link establishment information corresponding to the access connection in a shared memory space, where the shared memory space is the controller memory buffer of the device, or the shared memory space is the storage The node's host memory buffer.
  • the processor is further configured to: detect the access connection; when detecting that there is an abnormal heartbeat, or when receiving a message sent by the storage node that there is a network abnormality , confirm whether the commands in the access connection are all completed; if the commands in the access connection are all completed, stop monitoring the CQ.
  • the processor is further configured to: receive an instruction sent by the storage node to disconnect the access connection; confirm whether the commands in the access connection are all completed; The commands in the connection are all completed, stop monitoring the CQ.
  • the present application provides a computer storage medium, comprising computer instructions, when the computer instructions are executed on an electronic device, the electronic device is made to perform any one of the possible implementations of the first aspect to the second A method provided by any possible embodiment of the aspect.
  • an embodiment of the present application provides a computer program product, which, when the computer program product runs on a computer, enables the computer to execute any possible implementation manner of the first aspect and any possible implementation manner of the second aspect provided method.
  • an embodiment of the present application provides a chip system, which is applied to an electronic device; the chip system includes one or more interface circuits and one or more processors; the interface circuit and the The processors are interconnected by lines; the interface circuit is used for receiving signals from the memory of the electronic device and sending the signals to the processor, the signals including computer instructions stored in the memory; when the processing The electronic device executes the method when the computer executes the computer instructions.
  • an embodiment of the present application provides a distributed storage system, including a computing node, and the above-mentioned data access device.
  • the device according to the third aspect, the device according to the fourth aspect, the device according to the fifth aspect, the device according to the sixth aspect, the computer storage medium according to the seventh aspect, the The computer program product described in the eighth aspect or the chip system described in the ninth aspect is used to execute any one of the methods provided in the first aspect and any possible implementation manner of the second aspect. Therefore, for the beneficial effects that can be achieved, reference may be made to the beneficial effects in the corresponding method, which will not be repeated here.
  • 1a is a schematic diagram of the networking of a distributed storage system in the prior art
  • Fig. 1b is a business schematic diagram of a distributed storage system in the prior art
  • FIG. 2 is a schematic flowchart of a data access method provided by an embodiment of the present application.
  • 3a is a schematic diagram of a service of a distributed storage system provided by an embodiment of the application.
  • 3b is a schematic flowchart of a data access method provided by an embodiment of the present application.
  • FIG. 4 is a schematic flowchart of a data access method provided by an embodiment of the present application.
  • FIG. 5 is a schematic flowchart of another data access method provided by an embodiment of the present application.
  • FIG. 6 is a schematic diagram of a data access method provided by an embodiment of the present application.
  • FIG. 7 is a schematic diagram of another data access method provided by an embodiment of the present application.
  • FIG. 8 is a schematic structural diagram of a data access device according to an embodiment of the present application.
  • FIG. 9 is a schematic structural diagram of another data access device provided by an embodiment of the present application.
  • FIG. 10 is a schematic structural diagram of still another data access apparatus provided by an embodiment of the present application.
  • FIG. 1a it is a schematic diagram of the networking of a distributed storage system in the prior art.
  • the system includes a computing cluster, a storage cluster, and multiple solid-state drives (SSDs).
  • the computing cluster is used to calculate and generate data; the storage cluster is used to save data, provide data access, and ensure data reliability and security.
  • the computing cluster includes multiple computing nodes; the storage cluster includes multiple storage nodes; and the storage nodes can be connected to multiple SSDs.
  • the computing node communicates with the storage node through the network for data storage and access.
  • FIG. 1b it is a schematic diagram of the business of the distributed storage system in the prior art.
  • the remote direct data access (Remote Direct Memory Access, RDMA) connection mode is used for communication between the computing node and the storage node.
  • the storage node and the SSD are connected through the Peripheral Component Interconnect Express (PCIE), and the NVME protocol is used for communication.
  • PCIE Peripheral Component Interconnect Express
  • NVME Network-based non-volatile storage standard
  • All input/output (IO) operation commands of the computing node use the network-based non-volatile storage standard (Non-Volatile Memory Express Over Fabrics, NVMe-OF), Send commands to the storage node through RDMA, and the software on the storage node converts specific IO commands into NVME commands and sends them to the SSD.
  • the read and write data streams on the SSD need to pass through the dynamic random access memory (Dynamic Random Access Memory, DRAM) on the storage node for transit, and interact with the computing node through RDMA.
  • DRAM Dynamic Random Access Memory
  • an embodiment of the present application provides a data access method, wherein the storage node sends the address of the link establishment information corresponding to the access connection between the stored computing node and the target solid-state hard disk to the target solid-state hard disk, so that the target solid-state hard disk is The CQ in the link establishment information is obtained, and the CQ is monitored, so as to realize the direct access connection between the computing node and the target solid-state hard disk.
  • the command sent by the computing node needs to be parsed by the storage node and then sent to the SSD, and the data flow between the SSD and the computing node in the prior art needs to pass through the storage node.
  • FIG. 2 a schematic flowchart of a data access method provided by an embodiment of the present application is shown. Wherein, the data access method is applied to storage nodes in a distributed storage system. The method includes steps 201-203, as follows:
  • a storage node receives a remote direct data access RDMA connection request sent by a computing node, where the RDMA connection request carries a target solid-state disk identifier, and the RDMA connection request is used to instruct the storage node to establish a connection between the computing node and the target. Access connections between SSDs;
  • the above-mentioned target solid-state disk identifier may be an ID of the target solid-state disk SSD, or the like.
  • the storage node acquires and stores the link establishment information corresponding to the access connection, wherein the link establishment information includes a completion queue CQ, and the CQ is used to indicate that the target solid-state disk has a data access task;
  • CQ Complete Queue
  • the above chain establishment information also includes a memory region (Memory Region, MR) and a queue pair (Queue Pairs, QP).
  • MR Memory Region
  • QP Queue Pairs
  • QP includes send queue (SendQueue, SQ) and receive queue (ReceiveQueue, RQ), and these queues manage various types of messages.
  • SendQueue, SQ SendQueue
  • receiveQueue, RQ receive queue
  • these queues manage various types of messages.
  • the target solid-state hard disk obtains from the CQ that there is a data access task
  • the target solid-state hard disk transmits and receives data by operating the QP.
  • the SSD places the task of sending data in the sending queue SQ for data sending.
  • the SSD obtains the task of receiving data from the receiving queue, and then performs data receiving processing.
  • the QP will be mapped to the virtual address space of the application, so that the application communicates with the peer directly through the QP, such as operating the link, controlling the sending and receiving of data, and so on.
  • the above-mentioned MR is a memory area for accessing data.
  • MR, QP, and CQ may be referred to as link establishment information (MR, QP, CQ) for short.
  • multiple RDMA connections can be established between the storage node and the SSD. That is to say, there is link establishment information corresponding to each RDMA connection in the multiple RDMA connections.
  • the storage node stores the link establishment information related to the RDMA connection based on the received RDMA connection request. Wherein, the storage node stores the link establishment information corresponding to the access connection in the shared memory space.
  • the storage node establishes the link establishment information corresponding to the access connection in the controller memory buffer (Controller Memory Buffer, CMB) of the target solid-state hard disk. That is to say, the above-mentioned first address is the address at which the storage node establishes the link establishment information corresponding to the access connection on the controller memory buffer CMB of the above-mentioned target solid-state hard disk.
  • CMB Controller Memory Buffer
  • the storage node establishes the link establishment information corresponding to the access connection in the host memory buffer (Host Memory Buffer, HMB) of the storage node. That is to say, the above-mentioned first address is the address at which the storage node establishes the link establishment information corresponding to the access connection on the host memory buffer HMB of the storage node.
  • HMB Hos Memory Buffer
  • the above-mentioned shared memory space may be the controller memory buffer CMB of the target solid state disk, or may be the host memory buffer HMB of the storage node.
  • FIG. 3a a schematic diagram of a service of a distributed storage system provided by an embodiment of the present application is shown.
  • the storage node establishes the link establishment information (MR, QP, CQ) on the target solid state drive, so that the target solid state drive can directly access data with the computing node through the link establishment information.
  • MR link establishment information
  • QP QP
  • CQ link establishment information
  • the storage node sends the stored first address corresponding to the link establishment information to the target SSD, to instruct the target SSD to obtain the CQ in the link establishment information, and monitor the CQ.
  • the storage node notifies the SSD of the address of the link establishment information corresponding to the access connection on the CMB space of the SSD, so that the SSD obtains the CQ in the link establishment information according to the address, and resolves the CQ address by parsing the CQ address. , then listen for commands on the CQ.
  • the storage node notifies the SSD of the address of the link establishment information corresponding to the access connection on the host memory buffer HMB of the storage node, so that the SSD can obtain the CQ in the link establishment information according to the address, and pass The CQ address is parsed out, and then the command on the CQ is monitored.
  • the storage node forwards the connection successful message sent by the target solid state disk to the computing node.
  • the storage node receives the successful connection response message sent by the target solid-state drive, and forwards the response message to the above-mentioned computing node, so that heartbeat detection starts between the computing node and the SSD.
  • the method further includes:
  • the storage node detects the access connection
  • the storage node When a network abnormality is detected, or when a message of abnormal heartbeat is received from the target solid-state disk, the storage node deletes the link establishment information on the shared memory space.
  • the above-mentioned network abnormality may specifically be a network interruption or the like.
  • network card failure For example, network card failure, network card loose, etc., or storage node/computing node crash, etc.
  • the storage node can delete all the chain-building information established on the target solid-state hard disk.
  • heartbeat information is sent regularly between the computing node and the SSD. Once a component on the entire path is abnormal, the heartbeat will be abnormal.
  • the abnormal heartbeat refers to: for example, the sent heartbeat message does not receive a corresponding response.
  • the SSD can send a message to the storage node to inform the storage node that there is an abnormal heartbeat.
  • an embodiment of the present application further provides a data access method, which is used to disconnect the above-mentioned access connection.
  • a data access method which is used to disconnect the above-mentioned access connection.
  • steps 301-302 as follows:
  • the storage node sends the received instruction of disconnecting the access connection sent by the computing node to the target solid-state drive
  • the computing node when the computing node no longer needs to access data on the target solid-state disk, the computing node sends a link disconnection instruction to the storage node.
  • the storage node deletes the link establishment information on the shared memory space when receiving the message that the link disconnection is successful sent by the target solid-state hard disk.
  • the target solid-state hard disk After the target solid-state hard disk receives the above-mentioned instruction to disconnect the access connection, it stops monitoring the above-mentioned CQ after all the commands on its current connection are completed (ie, drained). Then send a message that the chain is disconnected successfully to the storage node.
  • the storage node receives the message of successful link disconnection sent by the target solid-state drive, and then releases the link establishment information (MR, QP, CQ) related to the access connection above from the shared memory space. For example, from the CMB space of an SSD, or from the storage node's host memory buffer HMB.
  • the link establishment information MR, QP, CQ
  • the storage node sends the message that the link disconnection is successful to the computing node.
  • the storage node returns the link disconnection result to the computing node.
  • the compute node stops sending heartbeat information.
  • the storage node sends the address of the chain establishment information corresponding to the access connection between the stored computing node and the target solid state drive to the target solid state drive, so that the target solid state drive obtains the CQ in the chain establishment information, And monitor the CQ, so as to realize the direct access connection between the computing node and the target solid-state hard disk.
  • the command sent by the computing node needs to be parsed by the storage node before sending the command to the SSD, and the data flow between the SSD and the computing node in the prior art needs to pass through the storage node.
  • the memory of the storage node is not used, which is beneficial to avoid the bandwidth bottleneck of the memory of the storage node and perform parallel expansion of the SSD.
  • the storage node cooperates with the SSD for connection management, which can adapt to scenarios with massive connections.
  • FIG. 4 it is a schematic flowchart of another data access method provided by an embodiment of the present application.
  • the data access method is applied to a target solid-state hard disk in a distributed storage system.
  • the method includes steps 401-402, as follows:
  • the target solid-state disk receives a message sent by a storage node in the distributed storage system, where the message carries a first address, where the first address is the address in the distributed storage system stored by the storage node.
  • the address of the link establishment information corresponding to the access connection between the computing node and the target solid state disk, the link establishment information includes the completion queue CQ;
  • CQ Complete Queue
  • the above chain establishment information also includes a memory region (Memory Region, MR) and a queue pair (Queue Pairs, QP).
  • QP includes send queue (SendQueue, SQ) and receive queue (ReceiveQueue, RQ), and these queues manage various types of messages.
  • the target solid-state hard disk obtains from the CQ that there is a data access task
  • the target solid-state hard disk transmits and receives data by operating the QP.
  • the SSD places the task of sending data in the sending queue SQ for data sending.
  • the SSD obtains the task of receiving data from the receiving queue, and then performs data receiving processing.
  • the QP will be mapped to the virtual address space of the application, so that the application communicates with the peer directly through the QP, such as operating the link, controlling the sending and receiving of data, etc.
  • the above-mentioned MR is a memory area for accessing data.
  • MR, QP, and CQ may be referred to as link establishment information (MR, QP, CQ) for short.
  • the method further includes: acquiring, by the target solid-state disk, the MR and QP in the link establishment information according to the first address, and performing data access.
  • the above-mentioned storage node stores the link establishment information corresponding to the access connection in the shared memory space.
  • the shared memory space is a controller memory buffer of the target solid-state hard disk, or the shared memory space is a host memory buffer of the storage node.
  • the first address is an address at which the storage node establishes the link establishment information corresponding to the access connection on the controller memory buffer CMB of the target solid-state hard disk.
  • the above-mentioned first address is an address at which the storage node establishes the link establishment information corresponding to the access connection on the host memory buffer HMB of the storage node.
  • the target solid-state disk acquires the CQ in the link establishment information according to the first address, and monitors the CQ.
  • the SSD After receiving the first address sent by the storage node, the SSD obtains the CQ in the link establishment information according to the first address, and then monitors the command on the CQ.
  • the SSD sends a response message of successful connection to the computing node through the storage node, so that heartbeat detection starts between the computing node and the SSD.
  • the target solid-state hard disk SSD monitors the command on the CQ, for example, after receiving the command to write data, the target solid-state hard disk SSD operates the storage node to perform the data writing operation through the address of the network card register.
  • the storage node maps the address of the network card register to the SSD in advance.
  • the method further includes:
  • the target solid-state disk detects the access connection
  • the target solid-state drive When detecting that there is an abnormal heartbeat, or when receiving a message that there is a network abnormality sent by the storage node, the target solid-state drive confirms whether the commands in the access connection are all completed;
  • the target solid state drive stops monitoring the CQ.
  • heartbeat information is sent regularly between the computing node and the SSD. Once a component on the entire path is abnormal, the heartbeat will be abnormal. When an abnormal heartbeat is detected, the SSD stops monitoring CQ after emptying the task.
  • the storage node when the network is abnormal, the storage node sends a network abnormality message to the SSD, and after the SSD empties the tasks, it stops monitoring the CQ.
  • the access connection between the SSD and the computing node is released in time to ensure the security of data access.
  • an embodiment of the present application further provides a data access method, which is used to disconnect the above-mentioned access connection.
  • a data access method which is used to disconnect the above-mentioned access connection.
  • steps 501-503 which are as follows:
  • the target solid-state disk receives an instruction sent by the storage node to disconnect the access connection
  • the computing node when the computing node no longer needs to access data on the target solid-state disk, the computing node sends a disconnection instruction to the storage node.
  • the target solid-state drive confirms whether the commands in the access connection are all completed
  • the target solid-state disk stops monitoring the CQ.
  • the SSD empties the commands on the current access connection, it stops monitoring the CQ.
  • the SSD continues to complete each command until all commands are completed, and then stops monitoring the CQ.
  • the SSD also sends a link disconnection success message to the storage node.
  • the target solid-state drive obtains the CQ in the link establishment information corresponding to the access connection between the computing node and the target solid-state drive based on the address sent by the storage node, and monitors the CQ, thereby realizing the connection between the computing node and the target solid-state drive.
  • Direct access connection between this target SSD Compared with the prior art, the command sent by the computing node needs to be parsed by the storage node and then sent to the SSD, and the data flow between the SSD and the computing node in the prior art needs to pass through the storage node.
  • the data access method includes steps 601-606, which are as follows:
  • the computing node initiates an RDMA connection request to the storage node, where the connection request carries the target SSD identifier;
  • the method further includes: the SSD reports the number of connections it supports to the storage node, so that the storage node establishes at least one access between the SSD and the computing node according to the number of connections supported by the SSD connect.
  • the SSD also reports the CMB address to the storage node, so that the storage node performs subsequent operations of storing the link establishment information according to the CMB address of the SSD.
  • the storage node notifies the SSD of the available HMB, so that the SSD can subsequently operate the link establishment information stored on the HMB.
  • the method further includes: the storage node maps the address of the network card register to the SSD, so that the storage node operates the storage node to access data through the address of the network card register during subsequent data access operations.
  • the storage node establishes the chain establishment information (MR, QP, CQ) corresponding to the access connection initiated by the computing node on the shared memory space;
  • the storage node establishes the link establishment information on the CMB space of the target SSD based on the address of the CMB reported by the above-mentioned SSD.
  • the storage node establishes the link establishment information on the host memory buffer HMB of the storage node.
  • the storage node notifies the SSD of the address of the above-mentioned chain establishment information (MR, QP, CQ) in the shared memory space;
  • the SSD After parsing the CQ address in the link building information according to the above address, the SSD monitors the command on the CQ;
  • the storage node notifies the SSD of the address on the shared memory space of the link-building information (MR, QP, CQ) corresponding to the access connection, so that the SSD can obtain the link-building information (MR, QP, CQ) according to the address.
  • the CQ address in the above chain building information (MR, QP, CQ) is parsed out, and then the command on the CQ is monitored.
  • the SSD returns the connection result
  • the SSD sends a connection success message to the storage node, and the storage node sends the connection success message to the computing node.
  • the direct access connection between the computing node and the target solid-state hard disk is realized, and the subsequent computing node and the SSD directly interact without software processing of the storage node.
  • the CPU on the storage node side only participates in the process of building the chain of the computing node, and the workload is greatly reduced, which is beneficial to the overall performance improvement.
  • the command sent by the computing node needs to be parsed by the storage node and then sent to the SSD, and the data flow between the SSD and the computing node in the prior art needs to pass through the storage node.
  • the data access method includes steps 701-705, which are as follows:
  • the computing node sends a disconnection instruction to the target SSD to the storage node;
  • the storage node sends a link disconnection instruction to the target SSD
  • the SSD continues to complete each command until all the commands are completed, and then stops monitoring the access connection; and sends a link disconnection success message to the storage node.
  • the storage node releases the chain establishment information (MR, QP, CQ) corresponding to the access connection from the shared memory space;
  • the storage node receives the message of successful link disconnection sent by the target SSD, and then releases the link establishment information corresponding to the access connection from the shared memory space. For example, from the CMB space of an SSD, or from the storage node's host memory buffer HMB.
  • the storage node returns a link disconnection result to the computing node, and the computing node stops sending heartbeats.
  • the connection between the computing node and the SSD is disconnected, so as to re-establish when data access is required.
  • system resources can be saved.
  • the CPU on the storage node side only participates in the work when the computing node is disconnected, and the workload is greatly reduced, which is beneficial to the overall performance improvement.
  • the data access device includes a receiving module 801, an obtaining module 802 and a sending module 803, and the details are as follows:
  • a receiving module 801 configured to receive a remote direct data access RDMA connection request sent by a computing node in a distributed storage system, where the RDMA connection request carries a target solid-state drive identifier, and the RDMA connection request is used to instruct the storage node to establish an access connection between the computing node and the target SSD;
  • An obtaining module 802 configured to obtain and store link establishment information corresponding to the access connection, wherein the link establishment information includes a completion queue CQ, and the CQ is used to indicate that the target solid-state disk has a data access task;
  • a sending module 803, configured to send the stored first address corresponding to the link establishment information to the target solid-state drive, so as to instruct the target solid-state drive to obtain the CQ in the link establishment information, and monitor the CQ.
  • the link establishment information further includes a memory area MR and a queue pair QP
  • the MR is used to indicate a data access area of the target solid state drive
  • the QP is used to instruct the target solid state drive to operate the QP to Send and receive data.
  • the device stores the link establishment information corresponding to the access connection in the shared memory space.
  • the shared memory space is a controller memory buffer of the target solid state disk, or the shared memory space is a host memory buffer of the device.
  • the device further includes a detection module configured to detect the access connection; when a network abnormality is detected, or when a message with abnormal heartbeat sent by the target solid-state drive is received, delete all the information. the link establishment information on the shared memory space.
  • a detection module configured to detect the access connection; when a network abnormality is detected, or when a message with abnormal heartbeat sent by the target solid-state drive is received, delete all the information. the link establishment information on the shared memory space.
  • the device further includes a link disconnection module, configured to send the received instruction of disconnecting the access connection sent by the computing node to the target solid-state drive; When the message of successful link disconnection is received, the link establishment information on the shared memory space is deleted.
  • a link disconnection module configured to send the received instruction of disconnecting the access connection sent by the computing node to the target solid-state drive; When the message of successful link disconnection is received, the link establishment information on the shared memory space is deleted.
  • the storage node sends the address of the chain establishment information corresponding to the access connection between the stored computing node and the target solid state drive to the target solid state drive, so that the target solid state drive obtains the CQ in the chain establishment information, And monitor the CQ, so as to realize the direct access connection between the computing node and the target solid-state hard disk.
  • the command sent by the computing node needs to be parsed by the storage node and then sent to the SSD, and the data flow between the SSD and the computing node in the prior art needs to pass through the storage node.
  • the data access device includes a receiving module 901 and a processing module 902, as follows:
  • a receiving module 901 configured to receive a message sent by a storage node in a distributed storage system, where the message carries a first address, where the first address is a computation in the distributed storage system stored by the storage node
  • the processing module 902 is configured to acquire the CQ in the link establishment information according to the first address, and monitor the CQ.
  • the link establishment information further includes a memory area MR and a queue pair QP
  • the processing module is further configured to acquire the MR and QP in the link establishment information according to the first address, and perform data access.
  • the storage node stores the link establishment information corresponding to the access connection in a shared memory space, where the shared memory space is a controller memory buffer of the device, or the shared memory space is a The host memory buffer of the storage node.
  • the device further includes a detection module for detecting the access connection; when it is detected that there is an abnormal heartbeat, or when receiving a message sent by the storage node that there is a network abnormality, confirming that the connection is abnormal. Whether the commands in the access connection are all completed; if the commands in the access connection are all completed, stop monitoring the CQ.
  • a detection module for detecting the access connection; when it is detected that there is an abnormal heartbeat, or when receiving a message sent by the storage node that there is a network abnormality, confirming that the connection is abnormal. Whether the commands in the access connection are all completed; if the commands in the access connection are all completed, stop monitoring the CQ.
  • the device further includes a link disconnection module, configured to receive an instruction to disconnect the access connection sent by the storage node; confirm whether the commands in the access connection are all completed; Commands are completed, stop monitoring the CQ.
  • a link disconnection module configured to receive an instruction to disconnect the access connection sent by the storage node; confirm whether the commands in the access connection are all completed; Commands are completed, stop monitoring the CQ.
  • the target solid-state drive obtains the CQ in the link establishment information corresponding to the access connection between the computing node and the target solid-state drive based on the address sent by the storage node, and monitors the CQ, thereby realizing the connection between the computing node and the target solid-state drive.
  • Direct access connection between this target SSD Compared with the prior art, the command sent by the computing node needs to be parsed by the storage node and then sent to the SSD, and the data flow between the SSD and the computing node in the prior art needs to pass through the storage node.
  • An embodiment of the present application provides a data access device, including a processor, where the processor is configured to: receive a remote direct data access RDMA connection request sent by a computing node in a distributed storage system, where the RDMA connection request carries A target solid-state disk identifier, where the RDMA connection request is used to instruct the device to establish an access connection between the computing node and the target solid-state disk; acquire and store link establishment information corresponding to the access connection, wherein the The link establishment information includes a completion queue CQ, and the CQ is used to indicate that the target solid-state drive has a data access task; the first address corresponding to the stored link establishment information is sent to the target solid-state drive to indicate the target solid-state drive.
  • the target solid-state disk acquires the CQ in the link establishment information, and monitors the CQ.
  • the link establishment information also includes a memory area MR and a queue pair QP, the MR is used to indicate the area where the target solid-state disk data is accessed, and the QP is used to indicate that the target solid-state disk operates the QP. to send and receive data.
  • the processor stores the link establishment information corresponding to the access connection in a shared memory space, where the shared memory space is a controller memory buffer of the target solid-state hard disk, or the shared memory space is the host memory buffer of the device.
  • the processor is further configured to: detect the access connection; when a network abnormality is detected, or when receiving a message that the target solid-state hard disk has abnormal heartbeat , delete the link establishment information on the shared memory space.
  • the processor is further configured to: send the received instruction of disconnecting the access connection sent by the computing node to the target solid-state hard disk; When the message of successful link disconnection is sent by the solid state drive, the link establishment information on the shared memory space is deleted.
  • an embodiment of the present application further provides a data access device, including a processor, wherein the processor is configured to: receive a message sent by a storage node in a distributed storage system, where the message carries a first address, The first address is the address of the link establishment information corresponding to the access connection between the computing node in the distributed storage system and the device stored by the storage node, and the link establishment information includes the completion queue CQ ; Acquire the CQ in the link establishment information according to the first address, and monitor the CQ.
  • the link establishment information further includes a memory area MR and a queue pair QP
  • the processor is further configured to: acquire the MR and QP in the link establishment information according to the first address, and perform data access.
  • the storage node stores the link establishment information corresponding to the access connection in a shared memory space, where the shared memory space is the controller memory buffer of the device, or the shared memory space is the storage The node's host memory buffer.
  • the processor is further configured to: detect the access connection; when detecting that there is an abnormal heartbeat, or when receiving a message sent by the storage node that there is a network abnormality , confirm whether the commands in the access connection are all completed; if the commands in the access connection are all completed, stop monitoring the CQ.
  • the processor is further configured to: receive an instruction sent by the storage node to disconnect the access connection; confirm whether the commands in the access connection are all completed; The commands in the connection are all completed, stop monitoring the CQ.
  • the data access device 1000 includes at least one processor 1001 , at least one memory 1002 and at least one communication interface 1003 .
  • the processor 1001, the memory 1002 and the communication interface 1003 are connected through the communication bus and complete the communication with each other.
  • the processor 1001 may be a general-purpose central processing unit (CPU), a microprocessor, an application-specific integrated circuit (ASIC), or one or more integrated circuits used to control the execution of the above programs.
  • CPU central processing unit
  • ASIC application-specific integrated circuit
  • the communication interface 1003 is used to communicate with other devices or communication networks, such as Ethernet, radio access network (RAN), wireless local area network (Wireless Local Area Networks, WLAN).
  • RAN radio access network
  • WLAN Wireless Local Area Networks
  • Memory 1002 may be read-only memory (ROM) or other type of static storage device that can store static information and instructions, random access memory (RAM), or other type of static storage device that can store information and instructions It can also be an electrically erasable programmable read-only memory (Electrically Erasable Programmable Read-Only Memory, EEPROM), a compact disc read-only memory (CD-ROM) or other optical disk storage, optical disk storage (including compact discs, laser discs, optical discs, digital versatile discs, Blu-ray discs, etc.), magnetic disk storage media or other magnetic storage devices, or capable of carrying or storing desired program code in the form of instructions or data structures and capable of being executed by a computer Access any other medium without limitation.
  • the memory can exist independently and be connected to the processor through a bus.
  • the memory can also be integrated with the processor.
  • the memory 1002 is used for storing the application code for executing the above solution, and the execution is controlled by the processor 1001 .
  • the processor 1001 is configured to execute the application code stored in the memory 1002 .
  • the code stored in memory 1002 may perform any of the data access methods provided above.
  • An embodiment of the present application further provides a chip system, the chip system is applied to an electronic device; the chip system includes one or more interface circuits and one or more processors; the interface circuit and the processor pass through line interconnection; the interface circuit is used to receive signals from the memory of the electronic device and send the signals to the processor, the signals include computer instructions stored in the memory; when the processor executes the When executing the computer instructions, the electronic device performs the method.
  • Embodiments of the present application also provide a computer-readable storage medium, where instructions are stored in the computer-readable storage medium, and when the computer or processor is run on a computer or a processor, the computer or the processor is made to execute any one of the above methods. or multiple steps.
  • Embodiments of the present application also provide a computer program product including instructions.
  • the computer program product when run on a computer or processor, causes the computer or processor to perform one or more steps of any of the above methods.
  • the computer program product includes one or more computer instructions.
  • the computer may be a general purpose computer, special purpose computer, computer network, or other programmable device.
  • the computer instructions may be stored in or transmitted over a computer-readable storage medium. The computer instructions can be sent from one website site, computer, server or data center to another website site, computer, server or data center for transmission.
  • the computer-readable storage medium may be any available medium that can be accessed by a computer or a data storage device such as a server, data center, etc. that includes an integration of one or more available media.
  • the usable media may be magnetic media (eg, floppy disks, hard disks, magnetic tapes), optical media (eg, DVDs), or semiconductor media (eg, solid state disks (SSDs)), and the like.
  • “at least one” means one or more, and “plurality” means two or more.
  • “And/or”, which describes the association relationship of the associated objects, indicates that there can be three kinds of relationships, for example, A and/or B, which can indicate: the existence of A alone, the existence of A and B at the same time, and the existence of B alone, where A, B can be singular or plural.
  • the process can be completed by instructing the relevant hardware by a computer program, and the program can be stored in a computer-readable storage medium.
  • the program When the program is executed , which may include the processes of the foregoing method embodiments.
  • the aforementioned storage medium includes: ROM or random storage memory RAM, magnetic disk or optical disk and other mediums that can store program codes.

Abstract

Provided in embodiments of the present application are a data access method and apparatus, and a storage medium, the method comprising: a storage node receiving a remote direct memory access (RDMA) connection request sent by a computing node, wherein the RDMA connection request carries a target solid state disk identifier, and the RDMA connection request is used to instruct the storage node to establish an access connection between the computing node and the target solid state disk; the storage node acquiring and storing link establishment information corresponding to the access connection, wherein the link establishment information comprises a completion queue (CQ); and the storage node sending, to the target solid state disk, a first address corresponding to the stored link establishment information, so as to instruct the target solid state disk to acquire the CQ in the link establishment information and monitor the CQ. By means of the embodiments of the present application, the efficiency of data access can be effectively improved. Moreover, the CPU/memory overhead of a storage node is reduced, and a system bottleneck can be effectively eliminated.

Description

数据存取方法、装置和存储介质Data access method, device and storage medium 技术领域technical field
本申请涉及数据处理技术领域,尤其涉及一种数据存取方法、装置和存储介质。The present application relates to the technical field of data processing, and in particular, to a data access method, device and storage medium.
背景技术Background technique
目前,在现有的计算节点、存储节点、存储介质三级模型组成的分布式存储系统中,存储节点处于中间位置,承担了协议转换、数据缓存的作用,其工作效率会直接影响到整个系统的性能。单个存储节点一般可以提供的带宽在10~20GB左右,其可以提供的每秒的输入输出量(Input/Output Per Second,IOPS)的能力大约在100~1000K。然而,单个非易失存储设备连接协议(Non-Volatile Memory Express,NVMe)接口的固态硬盘(Solid State Disk,SSD)可以提供的带宽一般可以达到5GB,IOPS可以达到1200K。以一个存储节点管理24个SSD来计算,24个SSD能够提供的带宽和IOPS分别是存储节点的6倍和28倍左右。可以看出存储节点的性能远远不能充分发挥SSD盘的高性能优势。At present, in the existing distributed storage system composed of three-level models of computing nodes, storage nodes, and storage media, the storage nodes are in the middle position and undertake the functions of protocol conversion and data caching, and their work efficiency will directly affect the entire system. performance. A single storage node can generally provide a bandwidth of about 10 to 20 GB, and can provide an Input/Output Per Second (IOPS) capability of about 100 to 1000K. However, a solid state drive (Solid State Disk, SSD) with a single Non-Volatile Memory Express (NVMe) interface can generally provide 5GB of bandwidth and 1200K IOPS. If one storage node manages 24 SSDs, the bandwidth and IOPS that 24 SSDs can provide are about 6 times and 28 times that of storage nodes, respectively. It can be seen that the performance of storage nodes is far from fully exploiting the high-performance advantages of SSDs.
这是由于现有的方案,计算节点和SSD之间无连接,计算节点发送的所有命令都需要存储节点上的软件进行解析处理,效率极低。且,存储节点软件解析之后,将NVMe命令发送给SSD,此操作会消耗一定的CPU资源,随着SSD性能提高,IOPS进一步提升,后续CPU可能成为性能瓶颈。另一方面,SSD与计算节点之间的数据流,需要经过存储节点上的内存进行中转,由于内存带宽有限,随着SSD读写带宽进一步提升,后续内存也可能成为性能瓶颈。This is because in the existing solution, there is no connection between the computing node and the SSD, and all commands sent by the computing node need to be parsed and processed by the software on the storage node, which is extremely inefficient. In addition, after the software of the storage node is parsed, the NVMe command is sent to the SSD. This operation consumes a certain amount of CPU resources. As the performance of the SSD improves and the IOPS is further improved, the subsequent CPU may become a performance bottleneck. On the other hand, the data flow between the SSD and the computing node needs to be transferred through the memory on the storage node. Due to the limited memory bandwidth, with the further improvement of the SSD read and write bandwidth, the subsequent memory may also become a performance bottleneck.
发明内容SUMMARY OF THE INVENTION
本申请公开了一种数据存取方法、装置和存储介质,能够提高数据存取效率,同时减小存储节点的CPU/内存开销,消除系统瓶颈。The present application discloses a data access method, device and storage medium, which can improve data access efficiency, reduce CPU/memory overhead of storage nodes, and eliminate system bottlenecks.
第一方面,本申请实施例提供一种数据存取方法,应用于分布式存储系统中的存储节点,所述方法包括:所述存储节点接收所述分布式存储系统中的计算节点发送的远程直接数据存取RDMA连接请求,所述RDMA连接请求携带有所述分布式存储系统中的目标固态硬盘标识,所述RDMA连接请求用于指示所述存储节点建立所述计算节点与所述目标固态硬盘之间的访问连接;所述存储节点获取并存储所述访问连接对应的建链信息,其中,所述建链信息包括完成队列CQ,所述CQ用于指示所述目标固态硬盘存在数据存取任务;所述存储节点将存储的所述建链信息对应的第一地址发送至所述目标固态硬盘,以指示所述目标固态硬盘获取所述建链信息中的所述CQ,并监听所述CQ。In a first aspect, an embodiment of the present application provides a data access method, which is applied to a storage node in a distributed storage system. The method includes: the storage node receives a remote data sent by a computing node in the distributed storage system. A direct data access RDMA connection request, where the RDMA connection request carries the target solid-state drive identifier in the distributed storage system, and the RDMA connection request is used to instruct the storage node to establish a connection between the computing node and the target solid-state drive. An access connection between hard disks; the storage node acquires and stores the link establishment information corresponding to the access connection, wherein the link establishment information includes a completion queue CQ, and the CQ is used to indicate that the target solid-state hard disk has data storage. The storage node sends the stored first address corresponding to the link establishment information to the target SSD, so as to instruct the target SSD to obtain the CQ in the link establishment information, and monitor all described CQ.
通过本申请实施例,存储节点通过将存储的计算节点与目标固态硬盘之间的访问连接对应的建链信息的地址发送至该目标固态硬盘,使得目标固态硬盘获取该建链信息中的CQ,并监听该CQ,进而实现计算节点和该目标固态硬盘的直接访问连接。相较于现有技术中计算节点发送的命令需要存储节点进行解析处理之后,将命令发送给SSD的操作方式,以及现有技术中SSD与计算节点之间的数据流,需要经过存储节点上的内存进行中转的操作方式,采用本申请实施例提供的计算节点和目标固态硬盘的直接访问连接,可有效提高数据存取的效率;同时,由于计算节点和该目标固态硬盘直接进行访问连接,减少了存储节点 的CPU/内存开销,可有效消除系统瓶颈。According to the embodiment of the present application, the storage node sends the address of the chain establishment information corresponding to the access connection between the stored computing node and the target solid state drive to the target solid state drive, so that the target solid state drive obtains the CQ in the chain establishment information, And monitor the CQ, so as to realize the direct access connection between the computing node and the target solid-state hard disk. Compared with the prior art, the command sent by the computing node needs to be parsed by the storage node and then sent to the SSD, and the data flow between the SSD and the computing node in the prior art needs to pass through the storage node. In the operation mode of memory transfer, using the direct access connection between the computing node and the target solid-state hard disk provided by the embodiment of the present application can effectively improve the efficiency of data access; It reduces the CPU/memory overhead of storage nodes and effectively eliminates system bottlenecks.
进一步地,所述建链信息还包括内存区域MR和队列对QP,所述MR和QP用于指示所述目标固态硬盘进行数据存取。具体地,所述MR用于指示所述目标固态硬盘数据存取的区域,所述QP用于指示所述目标固态硬盘操作所述QP以进行数据的收发。Further, the link establishment information further includes a memory area MR and a queue pair QP, where the MR and QP are used to instruct the target solid-state disk to perform data access. Specifically, the MR is used to indicate an area of the target solid-state disk for data access, and the QP is used to instruct the target solid-state disk to operate the QP to send and receive data.
其中,QP包括发送队列(SendQueue,SQ)和接收队列(ReceiveQueue,RQ),这些队列中管理着各种类型的消息。当目标固态硬盘从CQ处获取到存在数据存取任务,则所述目标固态硬盘通过操作所述QP以进行数据的收发。其中,SSD将发送数据的任务置于发送队列SQ中,以便进行数据发送。另一方面,SSD从接收队列中获取接收数据的任务,进而进行数据接收处理。Among them, QP includes send queue (SendQueue, SQ) and receive queue (ReceiveQueue, RQ), and these queues manage various types of messages. When the target solid-state hard disk obtains from the CQ that there is a data access task, the target solid-state hard disk transmits and receives data by operating the QP. Among them, the SSD places the task of sending data in the sending queue SQ for data sending. On the other hand, the SSD obtains the task of receiving data from the receiving queue, and then performs data receiving processing.
可选的,所述存储节点将所述访问连接对应的建链信息存储在共享内存空间上,其中,所述共享内存空间为所述目标固态硬盘的控制器内存缓冲区(Controller Memory Buffer,CMB),或者,所述共享内存空间为所述存储节点的主机内存缓冲区(Host Memory Buffer,HMB)。Optionally, the storage node stores the link-building information corresponding to the access connection in a shared memory space, where the shared memory space is a Controller Memory Buffer (CMB) of the target solid-state hard disk. ), or the shared memory space is a host memory buffer (Host Memory Buffer, HMB) of the storage node.
作为一种可选的实现方式,所述方法还包括:所述存储节点对所述访问连接进行检测;当检测到网络异常时,或者,当接收到所述目标固态硬盘发送的存在心跳异常的消息时,所述存储节点删除所述共享内存空间上的所述建链信息。As an optional implementation manner, the method further includes: the storage node detects the access connection; when a network abnormality is detected, or when receiving a heartbeat abnormality message sent by the target solid-state hard disk message, the storage node deletes the link establishment information on the shared memory space.
通过在检测到出现异常时,及时解除SSD与计算节点之间的访问连接,可保障数据存取的安全性。When an abnormality is detected, the access connection between the SSD and the computing node is released in time to ensure the security of data access.
作为又一种可选的实现方式,所述方法还包括:所述存储节点将接收到的所述计算节点发送的断开所述访问连接的指令发送至所述目标固态硬盘;在接收到所述目标固态硬盘发送的断链成功的消息时,所述存储节点删除所述共享内存空间上的所述建链信息。As another optional implementation manner, the method further includes: the storage node sends the received instruction of disconnecting the access connection sent by the computing node to the target solid-state disk; When the message of successful link disconnection sent by the target solid state disk is sent, the storage node deletes the link establishment information on the shared memory space.
当计算节点不再需要建立与该SSD之间的访问连接时,通过断开计算节点和该SSD之间的连接,以便在需要进行数据存取的时候再建立。采用该手段,可节省系统资源。When the computing node no longer needs to establish an access connection with the SSD, the connection between the computing node and the SSD is disconnected, so as to be re-established when data access is required. By adopting this method, system resources can be saved.
第二方面,本申请实施例提供一种数据存取方法,应用于分布式存储系统中的目标固态硬盘,所述方法包括:所述目标固态硬盘接收所述分布式存储系统中的存储节点发送的消息,所述消息携带第一地址,其中,所述第一地址为所述存储节点存储的所述分布式存储系统中的计算节点与所述目标固态硬盘之间的访问连接对应的建链信息的地址,所述建链信息包括完成队列CQ,所述CQ用于指示所述目标固态硬盘存在数据存取任务;所述目标固态硬盘根据所述第一地址获取所述建链信息中的所述CQ,并监听所述CQ。In a second aspect, an embodiment of the present application provides a data access method, which is applied to a target solid-state disk in a distributed storage system, the method includes: the target solid-state disk receives a data sent by a storage node in the distributed storage system. The message carries a first address, where the first address is the link establishment corresponding to the access connection between the computing node in the distributed storage system and the target SSD stored by the storage node The address of the information, the link establishment information includes the completion queue CQ, and the CQ is used to indicate that the target SSD has a data access task; the target SSD obtains the link establishment information according to the first address. the CQ, and listen to the CQ.
通过本申请实施例,目标固态硬盘基于存储节点发送的地址,进而获取到计算节点与该目标固态硬盘之间的访问连接对应的建链信息中的CQ,并监听该CQ,进而实现计算节点与该目标固态硬盘之间的直接访问连接。相较于现有技术中计算节点发送的命令需要存储节点进行解析处理之后,将命令发送给SSD的操作方式,以及现有技术中SSD与计算节点之间的数据流,需要经过存储节点上的内存进行中转的操作方式,采用本申请实施例提供的计算节点和目标固态硬盘的直接访问连接,可有效提高数据存取的效率;同时,由于计算节点和该目标固态硬盘直接进行访问连接,减少了存储节点的CPU/内存开销,可有效消除系统瓶颈。Through the embodiment of the present application, the target solid-state drive obtains the CQ in the link establishment information corresponding to the access connection between the computing node and the target solid-state drive based on the address sent by the storage node, and monitors the CQ, thereby realizing the connection between the computing node and the target solid-state drive. Direct access connection between this target SSD. Compared with the prior art, the command sent by the computing node needs to be parsed by the storage node and then sent to the SSD, and the data flow between the SSD and the computing node in the prior art needs to pass through the storage node. In the operation mode of memory transfer, using the direct access connection between the computing node and the target solid-state hard disk provided by the embodiment of the present application can effectively improve the efficiency of data access; It reduces the CPU/memory overhead of storage nodes and effectively eliminates system bottlenecks.
进一步地,所述建链信息还包括内存区域MR和队列对QP,所述方法还包括:所述目标固态硬盘根据所述第一地址获取所述建链信息中的MR和QP,并进行数据存取。Further, the link establishment information further includes a memory area MR and a queue pair QP, and the method further includes: the target solid-state disk acquires the MR and QP in the link establishment information according to the first address, and performs data analysis. access.
可选的,所述存储节点将所述访问连接对应的建链信息存储在共享内存空间上,其中,所述共享内存空间为所述目标固态硬盘的控制器内存缓冲区,或者,所述共享内存空间为所述存储节点的主机内存缓冲区。Optionally, the storage node stores the link establishment information corresponding to the access connection in a shared memory space, where the shared memory space is a controller memory buffer of the target solid-state hard disk, or the shared memory The memory space is the host memory buffer of the storage node.
作为一种可选的实现方式,所述方法还包括:所述目标固态硬盘对所述访问连接进行检测;当检测到存在心跳异常时,或者,当接收到所述存储节点发送的存在网络异常的消息时,所述目标固态硬盘确认所述访问连接中的命令是否均完成;若所述访问连接中的命令均完成,所述目标固态硬盘停止监控所述CQ。As an optional implementation manner, the method further includes: the target solid-state drive detects the access connection; when detecting that there is an abnormal heartbeat, or when receiving a network abnormality message sent by the storage node message, the target solid state drive confirms whether the commands in the access connection are all completed; if the commands in the access connection are all completed, the target solid state drive stops monitoring the CQ.
通过在检测到出现异常时及时解除SSD与计算节点之间的访问连接,可保障数据存取的安全性。By releasing the access connection between the SSD and the computing node in time when an abnormality is detected, the security of data access can be guaranteed.
作为另一种可选的实现方式,所述方法还包括:所述目标固态硬盘接收所述存储节点发送的断开所述访问连接的指令;所述目标固态硬盘确认所述访问连接中的命令是否均完成;若所述访问连接中的命令均完成,所述目标固态硬盘停止监控所述CQ。As another optional implementation manner, the method further includes: the target solid-state drive receives an instruction to disconnect the access connection sent by the storage node; the target solid-state drive confirms the command in the access connection Whether all the commands are completed; if all the commands in the access connection are completed, the target solid-state disk stops monitoring the CQ.
通过断开SSD和计算节点之间的连接,以便在需要进行通信的时候再建立。采用该手段,可节省系统资源。By disconnecting the connection between the SSD and the compute node so that it can be re-established when communication is required. By adopting this method, system resources can be saved.
第三方面,本申请实施例提供一种数据存取装置,包括:接收模块,用于接收分布式存储系统中的计算节点发送的远程直接数据存取RDMA连接请求,所述RDMA连接请求携带目标固态硬盘标识,所述RDMA连接请求用于指示所述存储节点建立所述计算节点与所述目标固态硬盘之间的访问连接;获取模块,用于获取并存储所述访问连接对应的建链信息,其中,所述建链信息包括完成队列CQ,所述CQ用于指示所述目标固态硬盘存在数据存取任务;发送模块,用于将存储的所述建链信息对应的第一地址发送至所述目标固态硬盘,以指示所述目标固态硬盘获取所述建链信息中的所述CQ,并监听所述CQ。In a third aspect, an embodiment of the present application provides a data access device, including: a receiving module configured to receive a remote direct data access RDMA connection request sent by a computing node in a distributed storage system, where the RDMA connection request carries a target Solid-state disk identifier, the RDMA connection request is used to instruct the storage node to establish an access connection between the computing node and the target solid-state disk; an acquisition module is used to acquire and store the link establishment information corresponding to the access connection , wherein the link establishment information includes a completion queue CQ, and the CQ is used to indicate that the target solid-state hard disk has a data access task; a sending module is used to send the stored first address corresponding to the link establishment information to a the target solid-state disk to instruct the target solid-state disk to obtain the CQ in the link establishment information, and monitor the CQ.
其中,所述建链信息还包括内存区域MR和队列对QP,所述MR用于指示所述目标固态硬盘数据存取的区域,所述QP用于指示所述目标固态硬盘操作所述QP以进行数据的收发。Wherein, the link establishment information further includes a memory area MR and a queue pair QP, the MR is used to indicate a data access area of the target solid state drive, and the QP is used to instruct the target solid state drive to operate the QP to Send and receive data.
其中,所述装置将所述访问连接对应的建链信息存储在共享内存空间上。所述共享内存空间为所述目标固态硬盘的控制器内存缓冲区,或者,所述共享内存空间为所述装置的主机内存缓冲区。Wherein, the device stores the link establishment information corresponding to the access connection in the shared memory space. The shared memory space is a controller memory buffer of the target solid state disk, or the shared memory space is a host memory buffer of the device.
可选的,所述装置还包括检测模块,用于对所述访问连接进行检测;当检测到网络异常时,或者,当接收到所述目标固态硬盘发送的存在心跳异常的消息时,删除所述共享内存空间上的所述建链信息。Optionally, the device further includes a detection module configured to detect the access connection; when a network abnormality is detected, or when a message with abnormal heartbeat sent by the target solid-state drive is received, delete all the information. the link establishment information on the shared memory space.
可选的,所述装置还包括断链模块,用于将接收到的所述计算节点发送的断开所述访问连接的指令发送至所述目标固态硬盘;在接收到所述目标固态硬盘发送的断链成功的消息时,删除所述共享内存空间上的所述建链信息。Optionally, the device further includes a link disconnection module, configured to send the received instruction of disconnecting the access connection sent by the computing node to the target solid-state drive; When the message of successful link disconnection is received, the link establishment information on the shared memory space is deleted.
第四方面,本申请实施例提供一种数据存取装置,包括:接收模块,用于接收分布式存储系统中的存储节点发送的消息,所述消息携带第一地址,其中,所述第一地址为所述 存储节点存储的所述分布式存储系统中的计算节点与所述装置之间的访问连接对应的建链信息的地址,所述建链信息包括完成队列CQ;处理模块,用于根据所述第一地址获取所述建链信息中的所述CQ,并监听所述CQ。In a fourth aspect, an embodiment of the present application provides a data access device, including: a receiving module configured to receive a message sent by a storage node in a distributed storage system, where the message carries a first address, wherein the first The address is the address of the link establishment information corresponding to the access connection between the computing node and the device in the distributed storage system stored by the storage node, and the link establishment information includes the completion queue CQ; the processing module is used for Acquire the CQ in the link establishment information according to the first address, and monitor the CQ.
可选的,所述建链信息还包括内存区域MR和队列对QP,所述处理模块还用于根据所述第一地址获取所述建链信息中的MR和QP,并进行数据存取。Optionally, the link establishment information further includes a memory area MR and a queue pair QP, and the processing module is further configured to acquire the MR and QP in the link establishment information according to the first address, and perform data access.
其中,所述存储节点将所述访问连接对应的建链信息存储在共享内存空间上,其中,所述共享内存空间为所述装置的控制器内存缓冲区,或者,所述共享内存空间为所述存储节点的主机内存缓冲区。The storage node stores the link establishment information corresponding to the access connection in a shared memory space, where the shared memory space is a controller memory buffer of the device, or the shared memory space is a The host memory buffer of the storage node.
可选的,所述装置还包括检测模块,用于对所述访问连接进行检测;当检测到存在心跳异常时,或者,当接收到所述存储节点发送的存在网络异常的消息时,确认所述访问连接中的命令是否均完成;若所述访问连接中的命令均完成,停止监控所述CQ。Optionally, the device further includes a detection module for detecting the access connection; when it is detected that there is an abnormal heartbeat, or when receiving a message sent by the storage node that there is a network abnormality, confirming that the connection is abnormal. Whether the commands in the access connection are all completed; if the commands in the access connection are all completed, stop monitoring the CQ.
可选的,所述装置还包括断链模块,用于接收所述存储节点发送的断开所述访问连接的指令;确认所述访问连接中的命令是否均完成;若所述访问连接中的命令均完成,停止监控所述CQ。Optionally, the device further includes a link disconnection module, configured to receive an instruction to disconnect the access connection sent by the storage node; confirm whether the commands in the access connection are all completed; Commands are completed, stop monitoring the CQ.
第五方面,本申请实施例提供一种数据存取装置,包括处理器,其中,所述处理器用于:接收分布式存储系统中的计算节点发送的远程直接数据存取RDMA连接请求,所述RDMA连接请求携带目标固态硬盘标识,所述RDMA连接请求用于指示所述存储节点建立所述计算节点与所述目标固态硬盘之间的访问连接;获取并存储所述访问连接对应的建链信息,其中,所述建链信息包括完成队列CQ,所述CQ用于指示所述目标固态硬盘存在数据存取任务;将存储的所述建链信息对应的第一地址发送至所述目标固态硬盘,以指示所述目标固态硬盘获取所述建链信息中的所述CQ,并监听所述CQ。In a fifth aspect, an embodiment of the present application provides a data access device, including a processor, where the processor is configured to: receive a remote direct data access RDMA connection request sent by a computing node in a distributed storage system, and the processor The RDMA connection request carries the target solid-state drive identifier, and the RDMA connection request is used to instruct the storage node to establish an access connection between the computing node and the target solid-state drive; obtain and store the link establishment information corresponding to the access connection , wherein the link establishment information includes a completion queue CQ, and the CQ is used to indicate that the target SSD has a data access task; send the first address corresponding to the stored link establishment information to the target SSD , to instruct the target SSD to obtain the CQ in the link establishment information, and monitor the CQ.
进一步地,所述建链信息还包括内存区域MR和队列对QP,所述MR用于指示所述目标固态硬盘数据存取的区域,所述QP用于指示所述目标固态硬盘操作所述QP以进行数据的收发。Further, the link establishment information also includes a memory area MR and a queue pair QP, the MR is used to indicate the area where the target solid-state disk data is accessed, and the QP is used to indicate that the target solid-state disk operates the QP. to send and receive data.
其中,所述处理器将所述访问连接对应的建链信息存储在共享内存空间上,其中,所述共享内存空间为所述目标固态硬盘的控制器内存缓冲区,或者,所述共享内存空间为所述装置的主机内存缓冲区。The processor stores the link establishment information corresponding to the access connection in a shared memory space, where the shared memory space is a controller memory buffer of the target solid-state hard disk, or the shared memory space is the host memory buffer of the device.
作为一种可选的实现方式,所述处理器还用于:对所述访问连接进行检测;当检测到网络异常时,或者,当接收到所述目标固态硬盘发送的存在心跳异常的消息时,删除所述共享内存空间上的所述建链信息。As an optional implementation manner, the processor is further configured to: detect the access connection; when a network abnormality is detected, or when receiving a message that the target solid-state hard disk has abnormal heartbeat , delete the link establishment information on the shared memory space.
作为另一种可选的实现方式,所述处理器还用于:将接收到的所述计算节点发送的断开所述访问连接的指令发送至所述目标固态硬盘;在接收到所述目标固态硬盘发送的断链成功的消息时,删除所述共享内存空间上的所述建链信息。As another optional implementation manner, the processor is further configured to: send the received instruction of disconnecting the access connection sent by the computing node to the target solid-state hard disk; When the message of successful link disconnection is sent by the solid state drive, the link establishment information on the shared memory space is deleted.
第六方面,本申请实施例提供一种数据存取装置,包括处理器,其中,所述处理器用于:接收分布式存储系统中的存储节点发送的消息,所述消息携带第一地址,其中,所述第一地址为所述存储节点存储的所述分布式存储系统中的计算节点与所述装置之间的访问连接对应的建链信息的地址,所述建链信息包括完成队列CQ;根据所述第一地址获取所述 建链信息中的所述CQ,并监听所述CQ。In a sixth aspect, an embodiment of the present application provides a data access device, including a processor, where the processor is configured to: receive a message sent by a storage node in a distributed storage system, where the message carries a first address, wherein , the first address is the address of the link establishment information corresponding to the access connection between the computing node in the distributed storage system and the device stored by the storage node, and the link establishment information includes the completion queue CQ; Acquire the CQ in the link establishment information according to the first address, and monitor the CQ.
进一步地,所述建链信息还包括内存区域MR和队列对QP,所述处理器还用于:根据所述第一地址获取所述建链信息中的MR和QP,并进行数据存取。Further, the link establishment information further includes a memory area MR and a queue pair QP, and the processor is further configured to: acquire the MR and QP in the link establishment information according to the first address, and perform data access.
其中,所述存储节点将所述访问连接对应的建链信息存储在共享内存空间上,所述共享内存空间为所述装置的控制器内存缓冲区,或者,所述共享内存空间为所述存储节点的主机内存缓冲区。The storage node stores the link establishment information corresponding to the access connection in a shared memory space, where the shared memory space is the controller memory buffer of the device, or the shared memory space is the storage The node's host memory buffer.
作为一种可选的实现方式,所述处理器还用于:对所述访问连接进行检测;当检测到存在心跳异常时,或者,当接收到所述存储节点发送的存在网络异常的消息时,确认所述访问连接中的命令是否均完成;若所述访问连接中的命令均完成,停止监控所述CQ。As an optional implementation manner, the processor is further configured to: detect the access connection; when detecting that there is an abnormal heartbeat, or when receiving a message sent by the storage node that there is a network abnormality , confirm whether the commands in the access connection are all completed; if the commands in the access connection are all completed, stop monitoring the CQ.
作为另一种可选的实现方式,所述处理器还用于:接收所述存储节点发送的断开所述访问连接的指令;确认所述访问连接中的命令是否均完成;若所述访问连接中的命令均完成,停止监控所述CQ。As another optional implementation manner, the processor is further configured to: receive an instruction sent by the storage node to disconnect the access connection; confirm whether the commands in the access connection are all completed; The commands in the connection are all completed, stop monitoring the CQ.
第七方面,本申请提供了一种计算机存储介质,包括计算机指令,当所述计算机指令在电子设备上运行时,使得所述电子设备执行如第一方面任一种可能的实施方式至第二方面任一种可能的实施方式提供的方法。In a seventh aspect, the present application provides a computer storage medium, comprising computer instructions, when the computer instructions are executed on an electronic device, the electronic device is made to perform any one of the possible implementations of the first aspect to the second A method provided by any possible embodiment of the aspect.
第八方面,本申请实施例提供一种计算机程序产品,当计算机程序产品在计算机上运行时,使得计算机执行如第一方面任一种可能的实施方式和第二方面任一种可能的实施方式提供的方法。In an eighth aspect, an embodiment of the present application provides a computer program product, which, when the computer program product runs on a computer, enables the computer to execute any possible implementation manner of the first aspect and any possible implementation manner of the second aspect provided method.
第九方面,本申请实施例提供一种芯片系统,所述芯片系统应用于电子设备;所述芯片系统包括一个或多个接口电路,以及一个或多个处理器;所述接口电路和所述处理器通过线路互联;所述接口电路用于从所述电子设备的存储器接收信号,并向所述处理器发送所述信号,所述信号包括所述存储器中存储的计算机指令;当所述处理器执行所述计算机指令时,所述电子设备执行所述方法。In a ninth aspect, an embodiment of the present application provides a chip system, which is applied to an electronic device; the chip system includes one or more interface circuits and one or more processors; the interface circuit and the The processors are interconnected by lines; the interface circuit is used for receiving signals from the memory of the electronic device and sending the signals to the processor, the signals including computer instructions stored in the memory; when the processing The electronic device executes the method when the computer executes the computer instructions.
第十方面,本申请实施例提供一种分布式存储系统,包括计算节点,还包括上述所述的数据存取装置。In a tenth aspect, an embodiment of the present application provides a distributed storage system, including a computing node, and the above-mentioned data access device.
可以理解地,上述提供的第三方面所述的装置、第四方面所述的装置、第五方面所述的装置、第六方面所述的装置、第七方面所述的计算机存储介质、第八方面所述的计算机程序产品或者第九方面所述的芯片系统均用于执行第一方面中任一所提供的方法及第二方面任一种可能的实施方式。因此,其所能达到的有益效果可参考对应方法中的有益效果,此处不再赘述。It can be understood that the device according to the third aspect, the device according to the fourth aspect, the device according to the fifth aspect, the device according to the sixth aspect, the computer storage medium according to the seventh aspect, the The computer program product described in the eighth aspect or the chip system described in the ninth aspect is used to execute any one of the methods provided in the first aspect and any possible implementation manner of the second aspect. Therefore, for the beneficial effects that can be achieved, reference may be made to the beneficial effects in the corresponding method, which will not be repeated here.
附图说明Description of drawings
为了更清楚地说明本申请实施例或背景技术中的技术方案,下面将对本申请实施例或背景技术中所涉及到的附图作简单地介绍。In order to more clearly illustrate the technical solutions in the embodiments of the present application or the background technology, the accompanying drawings involved in the embodiments or the background technology of the present application will be briefly introduced below.
图1a是现有技术中分布式存储系统的组网示意图;1a is a schematic diagram of the networking of a distributed storage system in the prior art;
图1b是现有技术中分布式存储系统的业务示意图;Fig. 1b is a business schematic diagram of a distributed storage system in the prior art;
图2为本申请实施例提供的一种数据存取方法的流程示意图;2 is a schematic flowchart of a data access method provided by an embodiment of the present application;
图3a为本申请实施例提供的一种分布式存储系统的业务示意图;3a is a schematic diagram of a service of a distributed storage system provided by an embodiment of the application;
图3b为本申请实施例提供的一种数据存取方法的流程示意图;3b is a schematic flowchart of a data access method provided by an embodiment of the present application;
图4为本申请实施例提供的一种数据存取方法的流程示意图;4 is a schematic flowchart of a data access method provided by an embodiment of the present application;
图5为本申请实施例提供的另一种数据存取方法的流程示意图;5 is a schematic flowchart of another data access method provided by an embodiment of the present application;
图6为本申请实施例提供的一种数据存取方法的示意图;6 is a schematic diagram of a data access method provided by an embodiment of the present application;
图7为本申请实施例提供的又一种数据存取方法的示意图;FIG. 7 is a schematic diagram of another data access method provided by an embodiment of the present application;
图8为本申请实施例提供的一种数据存取装置的结构示意图;FIG. 8 is a schematic structural diagram of a data access device according to an embodiment of the present application;
图9为本申请实施例提供的另一种数据存取装置的结构示意图;FIG. 9 is a schematic structural diagram of another data access device provided by an embodiment of the present application;
图10为本申请实施例提供的又一种数据存取装置的结构示意图。FIG. 10 is a schematic structural diagram of still another data access apparatus provided by an embodiment of the present application.
具体实施方式Detailed ways
为了使本技术领域的人员更好地理解本申请方案,下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本申请一部分的实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都应当属于本申请保护的范围。In order to make those skilled in the art better understand the solutions of the present application, the technical solutions in the embodiments of the present application will be clearly and completely described below with reference to the accompanying drawings in the embodiments of the present application. Obviously, the described embodiments are only The embodiments are part of the present application, but not all of the embodiments. Based on the embodiments in the present application, all other embodiments obtained by those of ordinary skill in the art without creative work shall fall within the scope of protection of the present application.
参照图1a所示,为现有技术中分布式存储系统的组网示意图。该系统包括计算集群、存储集群和多个固态硬盘SSD。计算集群用于计算、产生数据;存储集群用于保存数据,并提供数据的访问、保障数据可靠性和安全性。其中,计算集群包括多个计算节点;存储集群包括多个存储节点;存储节点可以与多个SSD连接。计算节点通过网络与存储节点进行通信,以便进行数据的存储及访问等。如图1b所示,为现有技术中分布式存储系统的业务示意图。其中,计算节点与存储节点之间采用远程直接数据存取(Remote Direct Memory Access,RDMA)连接方式进行通信。存储节点与SSD之间通过外围设备高速连接协议(Peripheral Component Interconnect Express,PCIE)进行连接,采用NVME协议通信。计算节点与SSD之间无连接;计算节点的所有输入/输出(Input/Output,IO)操作命令,采用基于网络的非易失性存储标准(Non-Volatile Memory Express Over Fabrics,NVMe-OF),通过RDMA的方式向存储节点发送命令,由存储节点上的软件将具体的IO命令转换成NVME命令并发送给SSD。SSD上的读写数据流,需要经过存储节点上的动态随机存取存储器(Dynamic Random Access Memory,DRAM)进行中转,通过RDMA的方式与计算节点进行交互。Referring to FIG. 1a, it is a schematic diagram of the networking of a distributed storage system in the prior art. The system includes a computing cluster, a storage cluster, and multiple solid-state drives (SSDs). The computing cluster is used to calculate and generate data; the storage cluster is used to save data, provide data access, and ensure data reliability and security. The computing cluster includes multiple computing nodes; the storage cluster includes multiple storage nodes; and the storage nodes can be connected to multiple SSDs. The computing node communicates with the storage node through the network for data storage and access. As shown in FIG. 1b, it is a schematic diagram of the business of the distributed storage system in the prior art. Among them, the remote direct data access (Remote Direct Memory Access, RDMA) connection mode is used for communication between the computing node and the storage node. The storage node and the SSD are connected through the Peripheral Component Interconnect Express (PCIE), and the NVME protocol is used for communication. There is no connection between the computing node and the SSD; all input/output (IO) operation commands of the computing node use the network-based non-volatile storage standard (Non-Volatile Memory Express Over Fabrics, NVMe-OF), Send commands to the storage node through RDMA, and the software on the storage node converts specific IO commands into NVME commands and sends them to the SSD. The read and write data streams on the SSD need to pass through the dynamic random access memory (Dynamic Random Access Memory, DRAM) on the storage node for transit, and interact with the computing node through RDMA.
由于计算节点发送的所有命令都需要存储节点上的软件进行解析处理,效率极低。且,存储节点软件解析之后,将命令发送给SSD,此操作会消耗一定的CPU资源。同时,SSD与计算节点之间的数据流,需要经过存储节点上的内存进行中转,随着SSD读写带宽进一步提升,后续内存也可能成为性能瓶颈。Since all commands sent by the computing nodes need to be parsed and processed by the software on the storage nodes, the efficiency is extremely low. Moreover, after the storage node software parses, it sends the command to the SSD, which consumes a certain amount of CPU resources. At the same time, the data flow between the SSD and the computing node needs to be transferred through the memory on the storage node. As the read and write bandwidth of the SSD is further improved, the subsequent memory may also become a performance bottleneck.
为此,本申请实施例提供一种数据存取方法,存储节点通过将存储的计算节点与目标固态硬盘之间的访问连接对应的建链信息的地址发送至该目标固态硬盘,使得目标固态硬盘获取该建链信息中的CQ,并监听该CQ,进而实现计算节点和该目标固态硬盘的直接访 问连接。相较于现有技术中计算节点发送的命令需要存储节点进行解析处理之后,将命令发送给SSD的操作方式,以及现有技术中SSD与计算节点之间的数据流,需要经过存储节点上的内存进行中转的操作方式,采用本申请实施例提供的计算节点和目标固态硬盘的直接访问连接,可有效提高数据存取的效率;同时,由于计算节点和该目标固态硬盘直接进行访问连接,减少了存储节点的CPU/内存开销,可有效消除系统瓶颈。To this end, an embodiment of the present application provides a data access method, wherein the storage node sends the address of the link establishment information corresponding to the access connection between the stored computing node and the target solid-state hard disk to the target solid-state hard disk, so that the target solid-state hard disk is The CQ in the link establishment information is obtained, and the CQ is monitored, so as to realize the direct access connection between the computing node and the target solid-state hard disk. Compared with the prior art, the command sent by the computing node needs to be parsed by the storage node and then sent to the SSD, and the data flow between the SSD and the computing node in the prior art needs to pass through the storage node. In the operation mode of memory transfer, using the direct access connection between the computing node and the target solid-state hard disk provided by the embodiment of the present application can effectively improve the efficiency of data access; It reduces the CPU/memory overhead of storage nodes and effectively eliminates system bottlenecks.
下面对本申请实施例提供的数据存取方法进行详细介绍。The data access method provided by the embodiment of the present application is described in detail below.
参照图2所示,为本申请实施例提供的一种数据存取方法的流程示意图。其中,该数据存取方法应用于分布式存储系统中的存储节点。该方法包括步骤201-203,具体如下:Referring to FIG. 2 , a schematic flowchart of a data access method provided by an embodiment of the present application is shown. Wherein, the data access method is applied to storage nodes in a distributed storage system. The method includes steps 201-203, as follows:
201、存储节点接收计算节点发送的远程直接数据存取RDMA连接请求,所述RDMA连接请求携带目标固态硬盘标识,所述RDMA连接请求用于指示所述存储节点建立所述计算节点与所述目标固态硬盘之间的访问连接;201. A storage node receives a remote direct data access RDMA connection request sent by a computing node, where the RDMA connection request carries a target solid-state disk identifier, and the RDMA connection request is used to instruct the storage node to establish a connection between the computing node and the target. Access connections between SSDs;
其中,上述目标固态硬盘标识可以是目标固态硬盘SSD的ID等。Wherein, the above-mentioned target solid-state disk identifier may be an ID of the target solid-state disk SSD, or the like.
202、所述存储节点获取并存储所述访问连接对应的建链信息,其中,所述建链信息包括完成队列CQ,所述CQ用于指示所述目标固态硬盘存在数据存取任务;202. The storage node acquires and stores the link establishment information corresponding to the access connection, wherein the link establishment information includes a completion queue CQ, and the CQ is used to indicate that the target solid-state disk has a data access task;
上述完成队列(Complete Queue,CQ),用于指示所述目标固态硬盘存在数据存取任务,即用来知会SSD有需要处理的命令。The above-mentioned complete queue (Complete Queue, CQ) is used to indicate that the target solid-state hard disk has a data access task, that is, it is used to inform the SSD that there is a command that needs to be processed.
进一步地,上述建链信息还包括内存区域(Memory Region,MR)和队列对(Queue Pairs,QP)。Further, the above chain establishment information also includes a memory region (Memory Region, MR) and a queue pair (Queue Pairs, QP).
其中,QP包括发送队列(SendQueue,SQ)和接收队列(ReceiveQueue,RQ),这些队列中管理着各种类型的消息。当目标固态硬盘从CQ处获取到存在数据存取任务,则所述目标固态硬盘通过操作所述QP以进行数据的收发。其中,SSD将发送数据的任务置于发送队列SQ中,以便进行数据发送。另一方面,SSD从接收队列中获取接收数据的任务,进而进行数据接收处理。具体地,QP会被映射到应用的虚拟地址空间,使得应用直接通过QP与对端进行通信,如用来操作链接,控制收发数据等。Among them, QP includes send queue (SendQueue, SQ) and receive queue (ReceiveQueue, RQ), and these queues manage various types of messages. When the target solid-state hard disk obtains from the CQ that there is a data access task, the target solid-state hard disk transmits and receives data by operating the QP. Among them, the SSD places the task of sending data in the sending queue SQ for data sending. On the other hand, the SSD obtains the task of receiving data from the receiving queue, and then performs data receiving processing. Specifically, the QP will be mapped to the virtual address space of the application, so that the application communicates with the peer directly through the QP, such as operating the link, controlling the sending and receiving of data, and so on.
上述MR为用于存取数据的内存区域。The above-mentioned MR is a memory area for accessing data.
上述MR,QP,CQ可简称为建链信息(MR,QP,CQ)。The above-mentioned MR, QP, and CQ may be referred to as link establishment information (MR, QP, CQ) for short.
其中,存储节点和SSD之间可以建立多条RDMA连接。也就是说,存在多条RDMA连接中每条RDMA连接分别对应的建链信息。Among them, multiple RDMA connections can be established between the storage node and the SSD. That is to say, there is link establishment information corresponding to each RDMA connection in the multiple RDMA connections.
该存储节点基于接收到的上述RDMA连接请求,将与该RDMA连接相关的建链信息进行存储。其中,所述存储节点将所述访问连接对应的建链信息存储在共享内存空间上。The storage node stores the link establishment information related to the RDMA connection based on the received RDMA connection request. Wherein, the storage node stores the link establishment information corresponding to the access connection in the shared memory space.
作为一种实现方式,存储节点将该访问连接对应的建链信息建立在上述目标固态硬盘的控制器内存缓冲区(Controller Memory Buffer,CMB)。也就是说,上述第一地址为存储节点将该访问连接对应的建链信息建立在上述目标固态硬盘的控制器内存缓冲区CMB上的地址。As an implementation manner, the storage node establishes the link establishment information corresponding to the access connection in the controller memory buffer (Controller Memory Buffer, CMB) of the target solid-state hard disk. That is to say, the above-mentioned first address is the address at which the storage node establishes the link establishment information corresponding to the access connection on the controller memory buffer CMB of the above-mentioned target solid-state hard disk.
作为另一种实现方式,存储节点将该访问连接对应的建链信息建立在存储节点的主机内存缓冲区(Host Memory Buffer,HMB)。也就是说,上述第一地址为存储节点将该访问 连接对应的建链信息建立在存储节点的主机内存缓冲区HMB上的地址。As another implementation manner, the storage node establishes the link establishment information corresponding to the access connection in the host memory buffer (Host Memory Buffer, HMB) of the storage node. That is to say, the above-mentioned first address is the address at which the storage node establishes the link establishment information corresponding to the access connection on the host memory buffer HMB of the storage node.
也就是说,上述共享内存空间可以是目标固态硬盘的控制器内存缓冲区CMB,也可以是存储节点的主机内存缓冲区HMB。That is to say, the above-mentioned shared memory space may be the controller memory buffer CMB of the target solid state disk, or may be the host memory buffer HMB of the storage node.
如图3a所示,为本申请实施例提供的一种分布式存储系统的业务示意图。其中,存储节点将该建链信息(MR,QP,CQ)建立在该目标固态硬盘上,以便目标固态硬盘通过该建链信息与计算节点直接进行数据存取。As shown in FIG. 3a, a schematic diagram of a service of a distributed storage system provided by an embodiment of the present application is shown. Wherein, the storage node establishes the link establishment information (MR, QP, CQ) on the target solid state drive, so that the target solid state drive can directly access data with the computing node through the link establishment information.
203、所述存储节点将存储的所述建链信息对应的第一地址发送至所述目标固态硬盘,以指示所述目标固态硬盘获取所述建链信息中的所述CQ,并监听所述CQ。203. The storage node sends the stored first address corresponding to the link establishment information to the target SSD, to instruct the target SSD to obtain the CQ in the link establishment information, and monitor the CQ.
作为一种实现方式,存储节点将该访问连接对应的建链信息在SSD的CMB空间上的地址通知给SSD,以便该SSD根据该地址获取该建链信息中的CQ,通过将CQ地址解析出来,然后监听CQ上的命令。As an implementation manner, the storage node notifies the SSD of the address of the link establishment information corresponding to the access connection on the CMB space of the SSD, so that the SSD obtains the CQ in the link establishment information according to the address, and resolves the CQ address by parsing the CQ address. , then listen for commands on the CQ.
作为另一种实现方式,存储节点将该访问连接对应的建链信息在存储节点的主机内存缓冲区HMB上的地址通知给SSD,以便该SSD根据该地址获取该建链信息中的CQ,通过将CQ地址解析出来,然后监听CQ上的命令。As another implementation manner, the storage node notifies the SSD of the address of the link establishment information corresponding to the access connection on the host memory buffer HMB of the storage node, so that the SSD can obtain the CQ in the link establishment information according to the address, and pass The CQ address is parsed out, and then the command on the CQ is monitored.
进一步地,所述存储节点将所述目标固态硬盘发送的连接成功的消息转发至所述计算节点。Further, the storage node forwards the connection successful message sent by the target solid state disk to the computing node.
存储节点接收该目标固态硬盘发送的连接成功的响应消息,并将该响应消息转发给上述计算节点,以便该计算节点与该SSD之间开始进行心跳检测。The storage node receives the successful connection response message sent by the target solid-state drive, and forwards the response message to the above-mentioned computing node, so that heartbeat detection starts between the computing node and the SSD.
作为一种实现方式,在步骤203之后,所述方法还包括:As an implementation manner, after step 203, the method further includes:
所述存储节点对所述访问连接进行检测;The storage node detects the access connection;
当检测到网络异常时,或者,当接收到所述目标固态硬盘发送的存在心跳异常的消息时,所述存储节点删除所述共享内存空间上的所述建链信息。When a network abnormality is detected, or when a message of abnormal heartbeat is received from the target solid-state disk, the storage node deletes the link establishment information on the shared memory space.
上述网络异常具体可以是网络中断等。例如,网卡故障,网卡松动等,或者存储节点/计算节点崩溃等。需要说明的是,在网络异常的情况下,存储节点可删除建立在该目标固态硬盘上的所有建链信息。The above-mentioned network abnormality may specifically be a network interruption or the like. For example, network card failure, network card loose, etc., or storage node/computing node crash, etc. It should be noted that, in the event of an abnormal network, the storage node can delete all the chain-building information established on the target solid-state hard disk.
其中,计算节点和SSD之间会定时发送心跳信息,一旦整个路径上的某个部件发生异常,都会导致心跳异常。该心跳异常指:例如发送的心跳消息未接收到相应响应。此时,SSD可通过向存储节点发送消息,以便告知存储节点存在心跳异常。Among them, heartbeat information is sent regularly between the computing node and the SSD. Once a component on the entire path is abnormal, the heartbeat will be abnormal. The abnormal heartbeat refers to: for example, the sent heartbeat message does not receive a corresponding response. At this time, the SSD can send a message to the storage node to inform the storage node that there is an abnormal heartbeat.
通过在检测到出现异常时及时解除SSD与计算节点之间的访问连接,可保障数据存取的安全性。By releasing the access connection between the SSD and the computing node in time when an abnormality is detected, the security of data access can be guaranteed.
可选的,在步骤203之后,本申请实施例还提供一种数据存取方法,其用于断开上述访问连接。如图3b所示,其包括步骤301-302,具体如下:Optionally, after step 203, an embodiment of the present application further provides a data access method, which is used to disconnect the above-mentioned access connection. As shown in Figure 3b, it includes steps 301-302, as follows:
301、所述存储节点将接收到的所述计算节点发送的断开所述访问连接的指令发送至所述目标固态硬盘;301. The storage node sends the received instruction of disconnecting the access connection sent by the computing node to the target solid-state drive;
具体地,当计算节点不再需要在该目标固态硬盘上存取数据时,该计算节点向存储节点发送断链指令。Specifically, when the computing node no longer needs to access data on the target solid-state disk, the computing node sends a link disconnection instruction to the storage node.
302、在接收到所述目标固态硬盘发送的断链成功的消息时,所述存储节点删除所述共 享内存空间上的所述建链信息。302. The storage node deletes the link establishment information on the shared memory space when receiving the message that the link disconnection is successful sent by the target solid-state hard disk.
其中,该目标固态硬盘接收到上述断开所述访问连接的指令后,将其当前连接上的命令均完成(即排空)之后,停止监控上述CQ。然后向存储节点发送断链成功的消息。Wherein, after the target solid-state hard disk receives the above-mentioned instruction to disconnect the access connection, it stops monitoring the above-mentioned CQ after all the commands on its current connection are completed (ie, drained). Then send a message that the chain is disconnected successfully to the storage node.
具体地,存储节点接收到目标固态硬盘发送的断链成功的消息,然后将上述访问连接相关的建链信息(MR,QP,CQ)从共享内存空间中释放。例如,从SSD的CMB空间中删除,或者从存储节点的主机内存缓冲区HMB中删除。Specifically, the storage node receives the message of successful link disconnection sent by the target solid-state drive, and then releases the link establishment information (MR, QP, CQ) related to the access connection above from the shared memory space. For example, from the CMB space of an SSD, or from the storage node's host memory buffer HMB.
进一步地,所述存储节点向所述计算节点发送所述断链成功的消息。Further, the storage node sends the message that the link disconnection is successful to the computing node.
当计算节点不再需要建立与该SSD之间的访问连接时,通过断开计算节点和该SSD之间的连接,以便在需要进行数据存取的时候再建立。采用该手段,可节省系统资源。When the computing node no longer needs to establish an access connection with the SSD, the connection between the computing node and the SSD is disconnected, so as to be re-established when data access is required. By adopting this method, system resources can be saved.
具体地,存储节点向计算节点返回断链结果。计算节点停止发送心跳信息。Specifically, the storage node returns the link disconnection result to the computing node. The compute node stops sending heartbeat information.
通过本申请实施例,存储节点通过将存储的计算节点与目标固态硬盘之间的访问连接对应的建链信息的地址发送至该目标固态硬盘,使得目标固态硬盘获取该建链信息中的CQ,并监听该CQ,进而实现计算节点和该目标固态硬盘的直接访问连接。相较于现有技术中计算节点发送的命令需要存储节点进行解析处理之后,将命令发送给SSD的操作方式,以及现有技术中SSD与计算节点之间的数据流,需要经过存储节点上的内存进行中转的操作方式,采用本申请实施例提供的计算节点和目标固态硬盘的直接访问连接,可有效提高数据存取的效率;同时,由于计算节点和该目标固态硬盘直接进行访问连接,减少了存储节点的CPU/内存开销,可有效消除系统瓶颈。According to the embodiment of the present application, the storage node sends the address of the chain establishment information corresponding to the access connection between the stored computing node and the target solid state drive to the target solid state drive, so that the target solid state drive obtains the CQ in the chain establishment information, And monitor the CQ, so as to realize the direct access connection between the computing node and the target solid-state hard disk. Compared with the prior art, the command sent by the computing node needs to be parsed by the storage node before sending the command to the SSD, and the data flow between the SSD and the computing node in the prior art needs to pass through the storage node. In the operation mode of memory transfer, using the direct access connection between the computing node and the target solid-state drive provided by the embodiment of the present application can effectively improve the efficiency of data access; It reduces the CPU/memory overhead of storage nodes and effectively eliminates system bottlenecks.
另一方面,当通过使用SSD的CMB空间进行数据中转时,不使用存储节点的内存,有利于规避存储节点内存的带宽瓶颈,进行SSD的平行扩充。在SSD连接资源有限的情况下,由存储节点与SSD配合进行连接管理,可以适配海量连接的场景。On the other hand, when using the CMB space of the SSD for data transfer, the memory of the storage node is not used, which is beneficial to avoid the bandwidth bottleneck of the memory of the storage node and perform parallel expansion of the SSD. In the case of limited SSD connection resources, the storage node cooperates with the SSD for connection management, which can adapt to scenarios with massive connections.
参照图4所示,为本申请实施例提供的另一种数据存取方法的流程示意图。其中,该数据存取方法应用于分布式存储系统中的目标固态硬盘。该方法包括步骤401-402,具体如下:Referring to FIG. 4 , it is a schematic flowchart of another data access method provided by an embodiment of the present application. Wherein, the data access method is applied to a target solid-state hard disk in a distributed storage system. The method includes steps 401-402, as follows:
401、目标固态硬盘接收所述分布式存储系统中的存储节点发送的消息,所述消息携带第一地址,其中,所述第一地址为所述存储节点存储的所述分布式存储系统中的计算节点与所述目标固态硬盘之间的访问连接对应的建链信息的地址,所述建链信息包括完成队列CQ;401. The target solid-state disk receives a message sent by a storage node in the distributed storage system, where the message carries a first address, where the first address is the address in the distributed storage system stored by the storage node. the address of the link establishment information corresponding to the access connection between the computing node and the target solid state disk, the link establishment information includes the completion queue CQ;
上述完成队列(Complete Queue,CQ),用于指示所述目标固态硬盘存在数据存取任务,即用来知会SSD有需要处理的命令。The above-mentioned complete queue (Complete Queue, CQ) is used to indicate that the target solid-state hard disk has a data access task, that is, it is used to inform the SSD that there is a command that needs to be processed.
进一步地,上述建链信息还包括内存区域(Memory Region,MR)和队列对(Queue Pairs,QP)。其中,QP包括发送队列(SendQueue,SQ)和接收队列(ReceiveQueue,RQ),这些队列中管理着各种类型的消息。当目标固态硬盘从CQ处获取到存在数据存取任务,则所述目标固态硬盘通过操作所述QP以进行数据的收发。其中,SSD将发送数据的任务置于发送队列SQ中,以便进行数据发送。另一方面,SSD从接收队列中获取接收数据的任务,进而进行数据接收处理。QP会被映射到应用的虚拟地址空间,使得应用直接通过QP与对 端进行通信,如用来操作链接,控制收发数据等。上述MR为用于存取数据的内存区域。Further, the above chain establishment information also includes a memory region (Memory Region, MR) and a queue pair (Queue Pairs, QP). Among them, QP includes send queue (SendQueue, SQ) and receive queue (ReceiveQueue, RQ), and these queues manage various types of messages. When the target solid-state hard disk obtains from the CQ that there is a data access task, the target solid-state hard disk transmits and receives data by operating the QP. Among them, the SSD places the task of sending data in the sending queue SQ for data sending. On the other hand, the SSD obtains the task of receiving data from the receiving queue, and then performs data receiving processing. The QP will be mapped to the virtual address space of the application, so that the application communicates with the peer directly through the QP, such as operating the link, controlling the sending and receiving of data, etc. The above-mentioned MR is a memory area for accessing data.
上述MR,QP,CQ可简称为建链信息(MR,QP,CQ)。The above-mentioned MR, QP, and CQ may be referred to as link establishment information (MR, QP, CQ) for short.
所述方法还包括:所述目标固态硬盘根据所述第一地址获取所述建链信息中的MR和QP,并进行数据存取。The method further includes: acquiring, by the target solid-state disk, the MR and QP in the link establishment information according to the first address, and performing data access.
其中,上述存储节点将所述访问连接对应的建链信息存储在共享内存空间上。具体地,所述共享内存空间为所述目标固态硬盘的控制器内存缓冲区,或者,所述共享内存空间为所述存储节点的主机内存缓冲区。Wherein, the above-mentioned storage node stores the link establishment information corresponding to the access connection in the shared memory space. Specifically, the shared memory space is a controller memory buffer of the target solid-state hard disk, or the shared memory space is a host memory buffer of the storage node.
作为一种实现方式,上述第一地址为存储节点将该访问连接对应的建链信息建立在上述目标固态硬盘的控制器内存缓冲区CMB上的地址。As an implementation manner, the first address is an address at which the storage node establishes the link establishment information corresponding to the access connection on the controller memory buffer CMB of the target solid-state hard disk.
作为另一种实现方式,上述第一地址为存储节点将该访问连接对应的建链信息建立在存储节点的主机内存缓冲区HMB上的地址。As another implementation manner, the above-mentioned first address is an address at which the storage node establishes the link establishment information corresponding to the access connection on the host memory buffer HMB of the storage node.
402、所述目标固态硬盘根据所述第一地址获取所述建链信息中的所述CQ,并监听所述CQ。402. The target solid-state disk acquires the CQ in the link establishment information according to the first address, and monitors the CQ.
该SSD接收到存储节点发送的该第一地址后,根据该第一地址获取该建链信息中的CQ,然后监听CQ上的命令。After receiving the first address sent by the storage node, the SSD obtains the CQ in the link establishment information according to the first address, and then monitors the command on the CQ.
同时,该SSD将连接成功的响应消息经过上述存储节点发送给该计算节点,以便该计算节点与该SSD之间开始进行心跳检测。At the same time, the SSD sends a response message of successful connection to the computing node through the storage node, so that heartbeat detection starts between the computing node and the SSD.
可选的,所述目标固态硬盘SSD监听CQ上的命令,例如当接收到写入数据的命令后,所述目标固态硬盘SSD通过网卡寄存器的地址操作所述存储节点进行写入数据的操作。其中,存储节点预先将网卡寄存器的地址映射到SSD上。本方案仅以写入数据为例进行说明,其还可以是其他命令,本方案对此不做具体限定。Optionally, the target solid-state hard disk SSD monitors the command on the CQ, for example, after receiving the command to write data, the target solid-state hard disk SSD operates the storage node to perform the data writing operation through the address of the network card register. The storage node maps the address of the network card register to the SSD in advance. This solution only takes writing data as an example for description, which may also be other commands, which are not specifically limited in this solution.
作为一种实现方式,在步骤402之后,所述方法还包括:As an implementation manner, after step 402, the method further includes:
所述目标固态硬盘对所述访问连接进行检测;The target solid-state disk detects the access connection;
当检测到存在心跳异常时,或者,当接收到所述存储节点发送的存在网络异常的消息时,所述目标固态硬盘确认所述访问连接中的命令是否均完成;When detecting that there is an abnormal heartbeat, or when receiving a message that there is a network abnormality sent by the storage node, the target solid-state drive confirms whether the commands in the access connection are all completed;
若所述访问连接中的命令均完成,所述目标固态硬盘停止监控所述CQ。If all the commands in the access connection are completed, the target solid state drive stops monitoring the CQ.
其中,计算节点和SSD之间会定时发送心跳信息,一旦整个路径上的某个部件发生异常,都会导致心跳异常。当检测到存在心跳异常时,SSD通过将任务排空之后,停止监控CQ。Among them, heartbeat information is sent regularly between the computing node and the SSD. Once a component on the entire path is abnormal, the heartbeat will be abnormal. When an abnormal heartbeat is detected, the SSD stops monitoring CQ after emptying the task.
或者,当网络异常时,存储节点向该SSD发送存在网络异常的消息,进而SSD将任务排空之后,停止监控CQ。Alternatively, when the network is abnormal, the storage node sends a network abnormality message to the SSD, and after the SSD empties the tasks, it stops monitoring the CQ.
通过在检测到出现异常时,及时解除SSD与计算节点之间的访问连接,可保障数据存取的安全性。When an abnormality is detected, the access connection between the SSD and the computing node is released in time to ensure the security of data access.
可选的,在步骤402之后,本申请实施例还提供一种数据存取方法,其用于断开上述访问连接。如图5所示,其包括步骤501-503,具体如下:Optionally, after step 402, an embodiment of the present application further provides a data access method, which is used to disconnect the above-mentioned access connection. As shown in Figure 5, it includes steps 501-503, which are as follows:
501、所述目标固态硬盘接收所述存储节点发送的断开所述访问连接的指令;501. The target solid-state disk receives an instruction sent by the storage node to disconnect the access connection;
具体地,当计算节点不再需要在该目标固态硬盘上存取数据时,该计算节点向存储节 点发送断链指令。Specifically, when the computing node no longer needs to access data on the target solid-state disk, the computing node sends a disconnection instruction to the storage node.
502、所述目标固态硬盘确认所述访问连接中的命令是否均完成;502. The target solid-state drive confirms whether the commands in the access connection are all completed;
503、若所述访问连接中的命令均完成,所述目标固态硬盘停止监控所述CQ。503. If all the commands in the access connection are completed, the target solid-state disk stops monitoring the CQ.
具体地,SSD将当前访问连接上的命令排空之后,停止监控CQ。Specifically, after the SSD empties the commands on the current access connection, it stops monitoring the CQ.
作为一种实现方式,若当前访问连接中的命令未完成,所述SSD继续完成各命令,直到完成所有命令后,然后停止监控CQ。所述SSD还向所述存储节点发送断链成功的消息。As an implementation manner, if the commands in the current access connection are not completed, the SSD continues to complete each command until all commands are completed, and then stops monitoring the CQ. The SSD also sends a link disconnection success message to the storage node.
当计算节点不再需要建立与该SSD之间的访问连接时,通过断开计算节点和该SSD之间的连接,以便在需要进行数据存取的时候再建立。采用该手段,可节省系统资源。When the computing node no longer needs to establish an access connection with the SSD, the connection between the computing node and the SSD is disconnected, so as to be re-established when data access is required. By adopting this method, system resources can be saved.
通过本申请实施例,目标固态硬盘基于存储节点发送的地址,进而获取到计算节点与该目标固态硬盘之间的访问连接对应的建链信息中的CQ,并监听该CQ,进而实现计算节点与该目标固态硬盘之间的直接访问连接。相较于现有技术中计算节点发送的命令需要存储节点进行解析处理之后,将命令发送给SSD的操作方式,以及现有技术中SSD与计算节点之间的数据流,需要经过存储节点上的内存进行中转的操作方式,采用本申请实施例提供的计算节点和目标固态硬盘的直接访问连接,可有效提高数据存取的效率;同时,由于计算节点和该目标固态硬盘直接进行访问连接,减少了存储节点的CPU/内存开销,可有效消除系统瓶颈。Through the embodiment of the present application, the target solid-state drive obtains the CQ in the link establishment information corresponding to the access connection between the computing node and the target solid-state drive based on the address sent by the storage node, and monitors the CQ, thereby realizing the connection between the computing node and the target solid-state drive. Direct access connection between this target SSD. Compared with the prior art, the command sent by the computing node needs to be parsed by the storage node and then sent to the SSD, and the data flow between the SSD and the computing node in the prior art needs to pass through the storage node. In the operation mode of memory transfer, using the direct access connection between the computing node and the target solid-state hard disk provided by the embodiment of the present application can effectively improve the efficiency of data access; It reduces the CPU/memory overhead of storage nodes and effectively eliminates system bottlenecks.
参照图6所示,为本申请实施例提供的一种数据存取方法的流程示意图。该数据存取方法包括步骤601-606,具体如下:Referring to FIG. 6 , a schematic flowchart of a data access method provided by an embodiment of the present application is shown. The data access method includes steps 601-606, which are as follows:
601、计算节点向存储节点发起RDMA连接请求,所述连接请求携带目标SSD标识;601. The computing node initiates an RDMA connection request to the storage node, where the connection request carries the target SSD identifier;
作为一种实现方式,在步骤601之前,所述方法还包括:SSD向存储节点上报其支持的连接数,以便存储节点根据该SSD支持的连接数来建立SSD和计算节点之间的至少一个访问连接。As an implementation manner, before step 601, the method further includes: the SSD reports the number of connections it supports to the storage node, so that the storage node establishes at least one access between the SSD and the computing node according to the number of connections supported by the SSD connect.
进一步地,SSD还向存储节点上报CMB地址,以便存储节点根据该SSD的CMB地址来进行后续存储建链信息的操作。Further, the SSD also reports the CMB address to the storage node, so that the storage node performs subsequent operations of storing the link establishment information according to the CMB address of the SSD.
或者,存储节点将可使用的HMB通知给SSD,以便SSD后续对存储在HMB上的建链信息进行操作。Alternatively, the storage node notifies the SSD of the available HMB, so that the SSD can subsequently operate the link establishment information stored on the HMB.
其中,在步骤601之前,还包括:存储节点将网卡寄存器的地址映射到SSD上,以便后续SSD在进行数据存取操作时通过网卡寄存器的地址操作所述存储节点进行存取数据的操作。Before step 601, the method further includes: the storage node maps the address of the network card register to the SSD, so that the storage node operates the storage node to access data through the address of the network card register during subsequent data access operations.
602、存储节点将计算节点发起的访问连接对应的建链信息(MR,QP,CQ)建立在共享内存空间上;602. The storage node establishes the chain establishment information (MR, QP, CQ) corresponding to the access connection initiated by the computing node on the shared memory space;
作为一种实现方式,存储节点基于上述SSD上报的CMB的地址,进而将该建链信息建立在目标SSD的CMB空间上。As an implementation manner, the storage node establishes the link establishment information on the CMB space of the target SSD based on the address of the CMB reported by the above-mentioned SSD.
作为另一种实现方式,存储节点将该建链信息建立在存储节点的主机内存缓冲区HMB上。As another implementation manner, the storage node establishes the link establishment information on the host memory buffer HMB of the storage node.
603、存储节点将上述建链信息(MR,QP,CQ)在共享内存空间上的地址通知给SSD;603. The storage node notifies the SSD of the address of the above-mentioned chain establishment information (MR, QP, CQ) in the shared memory space;
604、SSD根据上述地址将建链信息中的CQ地址解析出来后,监听CQ上的命令;604. After parsing the CQ address in the link building information according to the above address, the SSD monitors the command on the CQ;
存储节点将该访问连接对应的建链信息(MR,QP,CQ)在共享内存空间上的地址通知给SSD,以便该SSD根据该地址获取该建链信息(MR,QP,CQ),通过将上述建链信息(MR,QP,CQ)中的CQ地址解析出来,然后监听CQ上的命令。The storage node notifies the SSD of the address on the shared memory space of the link-building information (MR, QP, CQ) corresponding to the access connection, so that the SSD can obtain the link-building information (MR, QP, CQ) according to the address. The CQ address in the above chain building information (MR, QP, CQ) is parsed out, and then the command on the CQ is monitored.
605、SSD返回连接结果;605. The SSD returns the connection result;
SSD将连接成功的消息发送给存储节点,进而存储节点将该连接成功的消息发送给计算节点。The SSD sends a connection success message to the storage node, and the storage node sends the connection success message to the computing node.
606、计算节点与SSD之间开始进行心跳检测。606. Start heartbeat detection between the computing node and the SSD.
其中,上述步骤的具体实现可参阅前述实施例,在此不再赘述。For the specific implementation of the above steps, reference may be made to the foregoing embodiments, which will not be repeated here.
通过本申请实施例,实现了计算节点和目标固态硬盘的直接访问连接,后续计算节点和SSD之间直接进行交互,不需要存储节点软件处理。存储节点侧的CPU只在计算节点建链的过程中参与工作,工作负载大大降低,有利于整体性能提升。相较于现有技术中计算节点发送的命令需要存储节点进行解析处理之后,将命令发送给SSD的操作方式,以及现有技术中SSD与计算节点之间的数据流,需要经过存储节点上的内存进行中转的操作方式,采用本申请实施例提供的计算节点和目标固态硬盘的直接访问连接,可有效提高数据存取的效率;同时,由于计算节点和该目标固态硬盘直接进行访问连接,减少了存储节点的CPU/内存开销,可有效消除系统瓶颈。Through the embodiment of the present application, the direct access connection between the computing node and the target solid-state hard disk is realized, and the subsequent computing node and the SSD directly interact without software processing of the storage node. The CPU on the storage node side only participates in the process of building the chain of the computing node, and the workload is greatly reduced, which is beneficial to the overall performance improvement. Compared with the prior art, the command sent by the computing node needs to be parsed by the storage node and then sent to the SSD, and the data flow between the SSD and the computing node in the prior art needs to pass through the storage node. In the operation mode of memory transfer, using the direct access connection between the computing node and the target solid-state hard disk provided by the embodiment of the present application can effectively improve the efficiency of data access; It reduces the CPU/memory overhead of storage nodes and effectively eliminates system bottlenecks.
在上述实施例的基础上,参照图7所示,为本申请实施例提供的一种数据存取方法的流程示意图。该数据存取方法包括步骤701-705,具体如下:On the basis of the foregoing embodiment, referring to FIG. 7 , a schematic flowchart of a data access method provided by an embodiment of the present application is shown. The data access method includes steps 701-705, which are as follows:
701、计算节点向存储节点发送对目标SSD的断链指令;701. The computing node sends a disconnection instruction to the target SSD to the storage node;
702、存储节点向目标SSD发送断链指令;702. The storage node sends a link disconnection instruction to the target SSD;
703、SSD将当前该访问连接上的命令排空之后,停止监控CQ;703. After the SSD empties the command on the current access connection, stop monitoring the CQ;
若当前访问连接中的命令未完成,SSD继续完成各命令,直到完成所有命令后,然后停止监控该访问连接;并向所述存储节点发送断链成功的消息。If the command in the current access connection is not completed, the SSD continues to complete each command until all the commands are completed, and then stops monitoring the access connection; and sends a link disconnection success message to the storage node.
704、存储节点将该访问连接对应的建链信息(MR,QP,CQ)从共享内存空间中释放;704. The storage node releases the chain establishment information (MR, QP, CQ) corresponding to the access connection from the shared memory space;
存储节点接收到目标固态硬盘发送的断链成功的消息,然后将该访问连接对应的建链信息从共享内存空间中释放。例如,从SSD的CMB空间中删除,或者从存储节点的主机内存缓冲区HMB中删除。The storage node receives the message of successful link disconnection sent by the target SSD, and then releases the link establishment information corresponding to the access connection from the shared memory space. For example, from the CMB space of an SSD, or from the storage node's host memory buffer HMB.
705、存储节点向计算节点返回断链结果,计算节点停止发送心跳。705. The storage node returns a link disconnection result to the computing node, and the computing node stops sending heartbeats.
其中,上述步骤的具体实现可参阅前述实施例,在此不再赘述。For the specific implementation of the above steps, reference may be made to the foregoing embodiments, which will not be repeated here.
通过本申请实施例,当计算节点不再需要建立与该SSD之间的访问连接时,通过断开计算节点和该SSD之间的连接,以便在需要进行数据存取的时候再建立。采用该手段,可节省系统资源。其中,存储节点侧的CPU只在计算节点断链的过程中参与工作,工作负载大大降低,有利于整体性能提升。Through the embodiments of the present application, when the computing node no longer needs to establish an access connection with the SSD, the connection between the computing node and the SSD is disconnected, so as to re-establish when data access is required. By adopting this method, system resources can be saved. Among them, the CPU on the storage node side only participates in the work when the computing node is disconnected, and the workload is greatly reduced, which is beneficial to the overall performance improvement.
参照图8所示,为本申请实施例提供的一种数据存取装置。如图8所示,该数据存取装置包括接收模块801、获取模块802和发送模块803,具体如下:Referring to FIG. 8 , a data access apparatus provided by an embodiment of the present application is shown. As shown in FIG. 8 , the data access device includes a receiving module 801, an obtaining module 802 and a sending module 803, and the details are as follows:
接收模块801,用于接收分布式存储系统中的计算节点发送的远程直接数据存取RDMA连接请求,所述RDMA连接请求携带目标固态硬盘标识,所述RDMA连接请求用于指示所述存储节点建立所述计算节点与所述目标固态硬盘之间的访问连接;A receiving module 801, configured to receive a remote direct data access RDMA connection request sent by a computing node in a distributed storage system, where the RDMA connection request carries a target solid-state drive identifier, and the RDMA connection request is used to instruct the storage node to establish an access connection between the computing node and the target SSD;
获取模块802,用于获取并存储所述访问连接对应的建链信息,其中,所述建链信息包括完成队列CQ,所述CQ用于指示所述目标固态硬盘存在数据存取任务;An obtaining module 802, configured to obtain and store link establishment information corresponding to the access connection, wherein the link establishment information includes a completion queue CQ, and the CQ is used to indicate that the target solid-state disk has a data access task;
发送模块803,用于将存储的所述建链信息对应的第一地址发送至所述目标固态硬盘,以指示所述目标固态硬盘获取所述建链信息中的所述CQ,并监听所述CQ。A sending module 803, configured to send the stored first address corresponding to the link establishment information to the target solid-state drive, so as to instruct the target solid-state drive to obtain the CQ in the link establishment information, and monitor the CQ.
其中,所述建链信息还包括内存区域MR和队列对QP,所述MR用于指示所述目标固态硬盘数据存取的区域,所述QP用于指示所述目标固态硬盘操作所述QP以进行数据的收发。Wherein, the link establishment information further includes a memory area MR and a queue pair QP, the MR is used to indicate a data access area of the target solid state drive, and the QP is used to instruct the target solid state drive to operate the QP to Send and receive data.
其中,所述装置将所述访问连接对应的建链信息存储在共享内存空间上。所述共享内存空间为所述目标固态硬盘的控制器内存缓冲区,或者,所述共享内存空间为所述装置的主机内存缓冲区。Wherein, the device stores the link establishment information corresponding to the access connection in the shared memory space. The shared memory space is a controller memory buffer of the target solid state disk, or the shared memory space is a host memory buffer of the device.
可选的,所述装置还包括检测模块,用于对所述访问连接进行检测;当检测到网络异常时,或者,当接收到所述目标固态硬盘发送的存在心跳异常的消息时,删除所述共享内存空间上的所述建链信息。Optionally, the device further includes a detection module configured to detect the access connection; when a network abnormality is detected, or when a message with abnormal heartbeat sent by the target solid-state drive is received, delete all the information. the link establishment information on the shared memory space.
可选的,所述装置还包括断链模块,用于将接收到的所述计算节点发送的断开所述访问连接的指令发送至所述目标固态硬盘;在接收到所述目标固态硬盘发送的断链成功的消息时,删除所述共享内存空间上的所述建链信息。Optionally, the device further includes a link disconnection module, configured to send the received instruction of disconnecting the access connection sent by the computing node to the target solid-state drive; When the message of successful link disconnection is received, the link establishment information on the shared memory space is deleted.
上述各模块的具体实现手段可参阅前述实施例,在此不再赘述。For the specific implementation means of the above modules, reference may be made to the foregoing embodiments, which will not be repeated here.
通过本申请实施例,存储节点通过将存储的计算节点与目标固态硬盘之间的访问连接对应的建链信息的地址发送至该目标固态硬盘,使得目标固态硬盘获取该建链信息中的CQ,并监听该CQ,进而实现计算节点和该目标固态硬盘的直接访问连接。相较于现有技术中计算节点发送的命令需要存储节点进行解析处理之后,将命令发送给SSD的操作方式,以及现有技术中SSD与计算节点之间的数据流,需要经过存储节点上的内存进行中转的操作方式,采用本申请实施例提供的计算节点和目标固态硬盘的直接访问连接,可有效提高数据存取的效率;同时,由于计算节点和该目标固态硬盘直接进行访问连接,减少了存储节点的CPU/内存开销,可有效消除系统瓶颈。According to the embodiment of the present application, the storage node sends the address of the chain establishment information corresponding to the access connection between the stored computing node and the target solid state drive to the target solid state drive, so that the target solid state drive obtains the CQ in the chain establishment information, And monitor the CQ, so as to realize the direct access connection between the computing node and the target solid-state hard disk. Compared with the prior art, the command sent by the computing node needs to be parsed by the storage node and then sent to the SSD, and the data flow between the SSD and the computing node in the prior art needs to pass through the storage node. In the operation mode of memory transfer, using the direct access connection between the computing node and the target solid-state hard disk provided by the embodiment of the present application can effectively improve the efficiency of data access; It reduces the CPU/memory overhead of storage nodes and effectively eliminates system bottlenecks.
参照图9所示,为本申请实施例提供的另一种数据存取装置。如图9所示,该数据存取装置包括接收模块901和处理模块902,具体如下:Referring to FIG. 9 , another data access device provided by an embodiment of the present application is shown. As shown in FIG. 9, the data access device includes a receiving module 901 and a processing module 902, as follows:
接收模块901,用于接收分布式存储系统中的存储节点发送的消息,所述消息携带第一地址,其中,所述第一地址为所述存储节点存储的所述分布式存储系统中的计算节点与所述装置之间的访问连接对应的建链信息的地址,所述建链信息包括完成队列CQ,所述CQ用于指示所述装置存在数据存取任务;A receiving module 901, configured to receive a message sent by a storage node in a distributed storage system, where the message carries a first address, where the first address is a computation in the distributed storage system stored by the storage node The address of the link establishment information corresponding to the access connection between the node and the device, the link establishment information includes a completion queue CQ, and the CQ is used to indicate that the device has a data access task;
处理模块902,用于根据所述第一地址获取所述建链信息中的所述CQ,并监听所述CQ。The processing module 902 is configured to acquire the CQ in the link establishment information according to the first address, and monitor the CQ.
可选的,所述建链信息还包括内存区域MR和队列对QP,所述处理模块还用于根据所述第一地址获取所述建链信息中的MR和QP,并进行数据存取。Optionally, the link establishment information further includes a memory area MR and a queue pair QP, and the processing module is further configured to acquire the MR and QP in the link establishment information according to the first address, and perform data access.
其中,所述存储节点将所述访问连接对应的建链信息存储在共享内存空间上,其中,所述共享内存空间为所述装置的控制器内存缓冲区,或者,所述共享内存空间为所述存储节点的主机内存缓冲区。The storage node stores the link establishment information corresponding to the access connection in a shared memory space, where the shared memory space is a controller memory buffer of the device, or the shared memory space is a The host memory buffer of the storage node.
可选的,所述装置还包括检测模块,用于对所述访问连接进行检测;当检测到存在心跳异常时,或者,当接收到所述存储节点发送的存在网络异常的消息时,确认所述访问连接中的命令是否均完成;若所述访问连接中的命令均完成,停止监控所述CQ。Optionally, the device further includes a detection module for detecting the access connection; when it is detected that there is an abnormal heartbeat, or when receiving a message sent by the storage node that there is a network abnormality, confirming that the connection is abnormal. Whether the commands in the access connection are all completed; if the commands in the access connection are all completed, stop monitoring the CQ.
可选的,所述装置还包括断链模块,用于接收所述存储节点发送的断开所述访问连接的指令;确认所述访问连接中的命令是否均完成;若所述访问连接中的命令均完成,停止监控所述CQ。Optionally, the device further includes a link disconnection module, configured to receive an instruction to disconnect the access connection sent by the storage node; confirm whether the commands in the access connection are all completed; Commands are completed, stop monitoring the CQ.
上述各模块的具体实现手段可参阅前述实施例,在此不再赘述。For the specific implementation means of the above modules, reference may be made to the foregoing embodiments, which will not be repeated here.
通过本申请实施例,目标固态硬盘基于存储节点发送的地址,进而获取到计算节点与该目标固态硬盘之间的访问连接对应的建链信息中的CQ,并监听该CQ,进而实现计算节点与该目标固态硬盘之间的直接访问连接。相较于现有技术中计算节点发送的命令需要存储节点进行解析处理之后,将命令发送给SSD的操作方式,以及现有技术中SSD与计算节点之间的数据流,需要经过存储节点上的内存进行中转的操作方式,采用本申请实施例提供的计算节点和目标固态硬盘的直接访问连接,可有效提高数据存取的效率;同时,由于计算节点和该目标固态硬盘直接进行访问连接,减少了存储节点的CPU/内存开销,可有效消除系统瓶颈。Through the embodiment of the present application, the target solid-state drive obtains the CQ in the link establishment information corresponding to the access connection between the computing node and the target solid-state drive based on the address sent by the storage node, and monitors the CQ, thereby realizing the connection between the computing node and the target solid-state drive. Direct access connection between this target SSD. Compared with the prior art, the command sent by the computing node needs to be parsed by the storage node and then sent to the SSD, and the data flow between the SSD and the computing node in the prior art needs to pass through the storage node. In the operation mode of memory transfer, using the direct access connection between the computing node and the target solid-state hard disk provided by the embodiment of the present application can effectively improve the efficiency of data access; It reduces the CPU/memory overhead of storage nodes and effectively eliminates system bottlenecks.
本申请实施例提供一种数据存取装置,包括处理器,其中,所述处理器用于:接收分布式存储系统中的计算节点发送的远程直接数据存取RDMA连接请求,所述RDMA连接请求携带目标固态硬盘标识,所述RDMA连接请求用于指示所述装置建立所述计算节点与所述目标固态硬盘之间的访问连接;获取并存储所述访问连接对应的建链信息,其中,所述建链信息包括完成队列CQ,所述CQ用于指示所述目标固态硬盘存在数据存取任务;将存储的所述建链信息对应的第一地址发送至所述目标固态硬盘,以指示所述目标固态硬盘获取所述建链信息中的所述CQ,并监听所述CQ。An embodiment of the present application provides a data access device, including a processor, where the processor is configured to: receive a remote direct data access RDMA connection request sent by a computing node in a distributed storage system, where the RDMA connection request carries A target solid-state disk identifier, where the RDMA connection request is used to instruct the device to establish an access connection between the computing node and the target solid-state disk; acquire and store link establishment information corresponding to the access connection, wherein the The link establishment information includes a completion queue CQ, and the CQ is used to indicate that the target solid-state drive has a data access task; the first address corresponding to the stored link establishment information is sent to the target solid-state drive to indicate the target solid-state drive. The target solid-state disk acquires the CQ in the link establishment information, and monitors the CQ.
进一步地,所述建链信息还包括内存区域MR和队列对QP,所述MR用于指示所述目标固态硬盘数据存取的区域,所述QP用于指示所述目标固态硬盘操作所述QP以进行数据的收发。Further, the link establishment information also includes a memory area MR and a queue pair QP, the MR is used to indicate the area where the target solid-state disk data is accessed, and the QP is used to indicate that the target solid-state disk operates the QP. to send and receive data.
其中,所述处理器将所述访问连接对应的建链信息存储在共享内存空间上,其中,所述共享内存空间为所述目标固态硬盘的控制器内存缓冲区,或者,所述共享内存空间为所述装置的主机内存缓冲区。The processor stores the link establishment information corresponding to the access connection in a shared memory space, where the shared memory space is a controller memory buffer of the target solid-state hard disk, or the shared memory space is the host memory buffer of the device.
作为一种可选的实现方式,所述处理器还用于:对所述访问连接进行检测;当检测到网络异常时,或者,当接收到所述目标固态硬盘发送的存在心跳异常的消息时,删除所述 共享内存空间上的所述建链信息。As an optional implementation manner, the processor is further configured to: detect the access connection; when a network abnormality is detected, or when receiving a message that the target solid-state hard disk has abnormal heartbeat , delete the link establishment information on the shared memory space.
作为另一种可选的实现方式,所述处理器还用于:将接收到的所述计算节点发送的断开所述访问连接的指令发送至所述目标固态硬盘;在接收到所述目标固态硬盘发送的断链成功的消息时,删除所述共享内存空间上的所述建链信息。As another optional implementation manner, the processor is further configured to: send the received instruction of disconnecting the access connection sent by the computing node to the target solid-state hard disk; When the message of successful link disconnection is sent by the solid state drive, the link establishment information on the shared memory space is deleted.
另一方面,本申请实施例还提供一种数据存取装置,包括处理器,其中,所述处理器用于:接收分布式存储系统中的存储节点发送的消息,所述消息携带第一地址,其中,所述第一地址为所述存储节点存储的所述分布式存储系统中的计算节点与所述装置之间的访问连接对应的建链信息的地址,所述建链信息包括完成队列CQ;根据所述第一地址获取所述建链信息中的所述CQ,并监听所述CQ。On the other hand, an embodiment of the present application further provides a data access device, including a processor, wherein the processor is configured to: receive a message sent by a storage node in a distributed storage system, where the message carries a first address, The first address is the address of the link establishment information corresponding to the access connection between the computing node in the distributed storage system and the device stored by the storage node, and the link establishment information includes the completion queue CQ ; Acquire the CQ in the link establishment information according to the first address, and monitor the CQ.
进一步地,所述建链信息还包括内存区域MR和队列对QP,所述处理器还用于:根据所述第一地址获取所述建链信息中的MR和QP,并进行数据存取。Further, the link establishment information further includes a memory area MR and a queue pair QP, and the processor is further configured to: acquire the MR and QP in the link establishment information according to the first address, and perform data access.
其中,所述存储节点将所述访问连接对应的建链信息存储在共享内存空间上,所述共享内存空间为所述装置的控制器内存缓冲区,或者,所述共享内存空间为所述存储节点的主机内存缓冲区。The storage node stores the link establishment information corresponding to the access connection in a shared memory space, where the shared memory space is the controller memory buffer of the device, or the shared memory space is the storage The node's host memory buffer.
作为一种可选的实现方式,所述处理器还用于:对所述访问连接进行检测;当检测到存在心跳异常时,或者,当接收到所述存储节点发送的存在网络异常的消息时,确认所述访问连接中的命令是否均完成;若所述访问连接中的命令均完成,停止监控所述CQ。As an optional implementation manner, the processor is further configured to: detect the access connection; when detecting that there is an abnormal heartbeat, or when receiving a message sent by the storage node that there is a network abnormality , confirm whether the commands in the access connection are all completed; if the commands in the access connection are all completed, stop monitoring the CQ.
作为另一种可选的实现方式,所述处理器还用于:接收所述存储节点发送的断开所述访问连接的指令;确认所述访问连接中的命令是否均完成;若所述访问连接中的命令均完成,停止监控所述CQ。As another optional implementation manner, the processor is further configured to: receive an instruction sent by the storage node to disconnect the access connection; confirm whether the commands in the access connection are all completed; The commands in the connection are all completed, stop monitoring the CQ.
本申请提供了一种数据存取装置,如图10所示,该数据存取装置1000包括至少一个处理器1001,至少一个存储器1002以及至少一个通信接口1003。所述处理器1001、所述存储器1002和所述通信接口1003通过所述通信总线连接并完成相互间的通信。The present application provides a data access device. As shown in FIG. 10 , the data access device 1000 includes at least one processor 1001 , at least one memory 1002 and at least one communication interface 1003 . The processor 1001, the memory 1002 and the communication interface 1003 are connected through the communication bus and complete the communication with each other.
处理器1001可以是通用中央处理器(CPU),微处理器,特定应用集成电路(application-specific integrated circuit,ASIC),或一个或多个用于控制以上方案程序执行的集成电路。The processor 1001 may be a general-purpose central processing unit (CPU), a microprocessor, an application-specific integrated circuit (ASIC), or one or more integrated circuits used to control the execution of the above programs.
通信接口1003,用于与其他设备或通信网络通信,如以太网,无线接入网(RAN),无线局域网(Wireless Local Area Networks,WLAN)等。The communication interface 1003 is used to communicate with other devices or communication networks, such as Ethernet, radio access network (RAN), wireless local area network (Wireless Local Area Networks, WLAN).
存储器1002可以是只读存储器(read-only memory,ROM)或可存储静态信息和指令的其他类型的静态存储设备,随机存取存储器(random access memory,RAM)或者可存储信息和指令的其他类型的动态存储设备,也可以是电可擦可编程只读存储器(Electrically Erasable Programmable Read-Only Memory,EEPROM)、只读光盘(Compact Disc Read-Only Memory,CD-ROM)或其他光盘存储、光碟存储(包括压缩光碟、激光碟、光碟、数字通用光碟、蓝光光碟等)、磁盘存储介质或者其他磁存储设备、或者能够用于携带或存储具有指令或数据结构形式的期望的程序代码并能够由计算机存取的任何其他介质,但不限于此。存储器可以是独立存在,通过总线与处理器相连接。存储器也可以和处理器集成在一 起。 Memory 1002 may be read-only memory (ROM) or other type of static storage device that can store static information and instructions, random access memory (RAM), or other type of static storage device that can store information and instructions It can also be an electrically erasable programmable read-only memory (Electrically Erasable Programmable Read-Only Memory, EEPROM), a compact disc read-only memory (CD-ROM) or other optical disk storage, optical disk storage (including compact discs, laser discs, optical discs, digital versatile discs, Blu-ray discs, etc.), magnetic disk storage media or other magnetic storage devices, or capable of carrying or storing desired program code in the form of instructions or data structures and capable of being executed by a computer Access any other medium without limitation. The memory can exist independently and be connected to the processor through a bus. The memory can also be integrated with the processor.
其中,所述存储器1002用于存储执行以上方案的应用程序代码,并由处理器1001来控制执行。所述处理器1001用于执行所述存储器1002中存储的应用程序代码。Wherein, the memory 1002 is used for storing the application code for executing the above solution, and the execution is controlled by the processor 1001 . The processor 1001 is configured to execute the application code stored in the memory 1002 .
存储器1002存储的代码可执行以上提供的任一种数据存取方法。The code stored in memory 1002 may perform any of the data access methods provided above.
本申请实施例还提供一种芯片系统,所述芯片系统应用于电子设备;所述芯片系统包括一个或多个接口电路,以及一个或多个处理器;所述接口电路和所述处理器通过线路互联;所述接口电路用于从所述电子设备的存储器接收信号,并向所述处理器发送所述信号,所述信号包括所述存储器中存储的计算机指令;当所述处理器执行所述计算机指令时,所述电子设备执行所述方法。An embodiment of the present application further provides a chip system, the chip system is applied to an electronic device; the chip system includes one or more interface circuits and one or more processors; the interface circuit and the processor pass through line interconnection; the interface circuit is used to receive signals from the memory of the electronic device and send the signals to the processor, the signals include computer instructions stored in the memory; when the processor executes the When executing the computer instructions, the electronic device performs the method.
本申请实施例还提供了一种计算机可读存储介质,该计算机可读存储介质中存储有指令,当其在计算机或处理器上运行时,使得计算机或处理器执行上述任一个方法中的一个或多个步骤。Embodiments of the present application also provide a computer-readable storage medium, where instructions are stored in the computer-readable storage medium, and when the computer or processor is run on a computer or a processor, the computer or the processor is made to execute any one of the above methods. or multiple steps.
本申请实施例还提供了一种包含指令的计算机程序产品。当该计算机程序产品在计算机或处理器上运行时,使得计算机或处理器执行上述任一个方法中的一个或多个步骤。Embodiments of the present application also provide a computer program product including instructions. The computer program product, when run on a computer or processor, causes the computer or processor to perform one or more steps of any of the above methods.
在上述实施例中,可以全部或部分地通过软件、硬件、固件或者其任意组合来实现。当使用软件实现时,可以全部或部分地以计算机程序产品的形式实现。所述计算机程序产品包括一个或多个计算机指令。在计算机上加载和执行所述计算机程序指令时,全部或部分地产生按照本申请实施例所述的流程或功能。所述计算机可以是通用计算机、专用计算机、计算机网络、或者其他可编程装置。所述计算机指令可以存储在计算机可读存储介质中,或者通过所述计算机可读存储介质进行传输。所述计算机指令可以从一个网站站点、计算机、服务器或数据中心通过有线(例如同轴电缆、光纤、数字用户线)或无线(例如红外、无线、微波等)方式向另一个网站站点、计算机、服务器或数据中心进行传输。所述计算机可读存储介质可以是计算机能够存取的任何可用介质或者是包含一个或多个可用介质集成的服务器、数据中心等数据存储设备。所述可用介质可以是磁性介质,(例如,软盘、硬盘、磁带)、光介质(例如,DVD)、或者半导体介质(例如,固态硬盘(solid state disk,SSD))等。In the above-mentioned embodiments, it may be implemented in whole or in part by software, hardware, firmware or any combination thereof. When implemented in software, it can be implemented in whole or in part in the form of a computer program product. The computer program product includes one or more computer instructions. When the computer program instructions are loaded and executed on a computer, all or part of the processes or functions described in the embodiments of the present application are generated. The computer may be a general purpose computer, special purpose computer, computer network, or other programmable device. The computer instructions may be stored in or transmitted over a computer-readable storage medium. The computer instructions can be sent from one website site, computer, server or data center to another website site, computer, server or data center for transmission. The computer-readable storage medium may be any available medium that can be accessed by a computer or a data storage device such as a server, data center, etc. that includes an integration of one or more available media. The usable media may be magnetic media (eg, floppy disks, hard disks, magnetic tapes), optical media (eg, DVDs), or semiconductor media (eg, solid state disks (SSDs)), and the like.
本申请中,“至少一个”是指一个或者多个,“多个”是指两个或两个以上。“和/或”,描述关联对象的关联关系,表示可以存在三种关系,例如,A和/或B,可以表示:单独存在A,同时存在A和B,单独存在B的情况,其中A,B可以是单数或者复数。In this application, "at least one" means one or more, and "plurality" means two or more. "And/or", which describes the association relationship of the associated objects, indicates that there can be three kinds of relationships, for example, A and/or B, which can indicate: the existence of A alone, the existence of A and B at the same time, and the existence of B alone, where A, B can be singular or plural.
本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程,该流程可以由计算机程序来指令相关的硬件完成,该程序可存储于计算机可读取存储介质中,该程序在执行时,可包括如上述各方法实施例的流程。而前述的存储介质包括:ROM或随机存储记忆体RAM、磁碟或者光盘等各种可存储程序代码的介质。Those of ordinary skill in the art can understand that all or part of the processes in the methods of the above embodiments can be implemented. The process can be completed by instructing the relevant hardware by a computer program, and the program can be stored in a computer-readable storage medium. When the program is executed , which may include the processes of the foregoing method embodiments. The aforementioned storage medium includes: ROM or random storage memory RAM, magnetic disk or optical disk and other mediums that can store program codes.
以上所述,仅为本申请实施例的具体实施方式,但本申请实施例的保护范围并不局限于此,任何在本申请实施例揭露的技术范围内的变化或替换,都应涵盖在本申请实施例的保护范围之内。因此,本申请实施例的保护范围应以所述权利要求的保护范围为准。The above are only specific implementations of the embodiments of the present application, but the protection scope of the embodiments of the present application is not limited thereto, and any changes or substitutions within the technical scope disclosed in the embodiments of the present application shall be covered by this within the protection scope of the application examples. Therefore, the protection scope of the embodiments of the present application should be subject to the protection scope of the claims.

Claims (23)

  1. 一种数据存取方法,其特征在于,应用于分布式存储系统中的存储节点,所述方法包括:A data access method, characterized in that it is applied to a storage node in a distributed storage system, the method comprising:
    所述存储节点接收所述分布式存储系统中的计算节点发送的远程直接数据存取RDMA连接请求,所述RDMA连接请求携带有所述分布式存储系统中的目标固态硬盘标识,所述RDMA连接请求用于指示所述存储节点建立所述计算节点与所述目标固态硬盘之间的访问连接;The storage node receives a remote direct data access RDMA connection request sent by a computing node in the distributed storage system, where the RDMA connection request carries the target solid-state disk identifier in the distributed storage system, and the RDMA connection request The request is used to instruct the storage node to establish an access connection between the computing node and the target solid-state disk;
    所述存储节点获取并存储所述访问连接对应的建链信息,其中,所述建链信息包括完成队列CQ,所述CQ用于指示所述目标固态硬盘存在数据存取任务;The storage node acquires and stores the link establishment information corresponding to the access connection, wherein the link establishment information includes a completion queue CQ, and the CQ is used to indicate that the target solid-state disk has a data access task;
    所述存储节点将存储的所述建链信息对应的第一地址发送至所述目标固态硬盘,以指示所述目标固态硬盘获取所述建链信息中的所述CQ,并监听所述CQ。The storage node sends the stored first address corresponding to the link establishment information to the target solid-state drive, so as to instruct the target solid-state drive to acquire the CQ in the link establishment information, and monitor the CQ.
  2. 根据权利要求1所述的方法,其特征在于,所述建链信息还包括内存区域MR和队列对QP,所述MR用于指示所述目标固态硬盘数据存取的区域,所述QP用于指示所述目标固态硬盘操作所述QP以进行数据的收发。The method according to claim 1, wherein the link establishment information further comprises a memory area MR and a queue pair QP, the MR is used to indicate a data access area of the target solid-state disk, and the QP is used to Instructing the target solid state drive to operate the QP for data transmission and reception.
  3. 根据权利要求2所述的方法,其特征在于,所述存储节点将所述访问连接对应的建链信息存储在共享内存空间上,其中,所述共享内存空间为所述目标固态硬盘的控制器内存缓冲区,或者,所述共享内存空间为所述存储节点的主机内存缓冲区。The method according to claim 2, wherein the storage node stores the link establishment information corresponding to the access connection in a shared memory space, wherein the shared memory space is a controller of the target solid state disk The memory buffer, or the shared memory space is the host memory buffer of the storage node.
  4. 根据权利要求3所述的方法,其特征在于,所述方法还包括:The method according to claim 3, wherein the method further comprises:
    所述存储节点对所述访问连接进行检测;The storage node detects the access connection;
    当检测到网络异常时,或者,当接收到所述目标固态硬盘发送的存在心跳异常的消息时,所述存储节点删除所述共享内存空间上的所述建链信息。When a network abnormality is detected, or when a message of abnormal heartbeat is received from the target solid-state disk, the storage node deletes the link establishment information on the shared memory space.
  5. 根据权利要求3所述的方法,其特征在于,所述方法还包括:The method according to claim 3, wherein the method further comprises:
    所述存储节点将接收到的所述计算节点发送的断开所述访问连接的指令发送至所述目标固态硬盘;The storage node sends the received instruction of disconnecting the access connection sent by the computing node to the target solid-state drive;
    在接收到所述目标固态硬盘发送的断链成功的消息时,所述存储节点删除所述共享内存空间上的所述建链信息。The storage node deletes the link establishment information on the shared memory space when receiving the message that the link disconnection is successful sent by the target solid-state hard disk.
  6. 一种数据存取方法,其特征在于,应用于分布式存储系统中的目标固态硬盘,所述方法包括:A data access method, characterized in that it is applied to a target solid-state hard disk in a distributed storage system, the method comprising:
    所述目标固态硬盘接收所述分布式存储系统中的存储节点发送的消息,所述消息携带第一地址,其中,所述第一地址为所述存储节点存储的所述分布式存储系统中的计算节点与所述目标固态硬盘之间的访问连接对应的建链信息的地址,所述建链信息包括完成队列CQ,所述CQ用于指示所述目标固态硬盘存在数据存取任务;The target solid-state disk receives a message sent by a storage node in the distributed storage system, and the message carries a first address, where the first address is an address in the distributed storage system stored by the storage node. The address of the link establishment information corresponding to the access connection between the computing node and the target SSD, the link establishment information includes a completion queue CQ, and the CQ is used to indicate that the target SSD has a data access task;
    所述目标固态硬盘根据所述第一地址获取所述建链信息中的所述CQ,并监听所述CQ。The target solid state disk acquires the CQ in the link establishment information according to the first address, and monitors the CQ.
  7. 根据权利要求6所述的方法,其特征在于,所述建链信息还包括内存区域MR和队列对QP,所述方法还包括:The method according to claim 6, wherein the link establishment information further comprises a memory region MR and a queue pair QP, and the method further comprises:
    所述目标固态硬盘根据所述第一地址获取所述建链信息中的MR和QP,并进行数据存取。The target solid state disk acquires the MR and QP in the link establishment information according to the first address, and performs data access.
  8. 根据权利要求7所述的方法,其特征在于,所述存储节点将所述访问连接对应的建链信息存储在共享内存空间上,其中,所述共享内存空间为所述目标固态硬盘的控制器内存缓冲区,或者,所述共享内存空间为所述存储节点的主机内存缓冲区。The method according to claim 7, wherein the storage node stores the link establishment information corresponding to the access connection in a shared memory space, wherein the shared memory space is a controller of the target solid state disk The memory buffer, or the shared memory space is the host memory buffer of the storage node.
  9. 根据权利要求7或8所述的方法,其特征在于,所述方法还包括:The method according to claim 7 or 8, wherein the method further comprises:
    所述目标固态硬盘对所述访问连接进行检测;The target solid-state disk detects the access connection;
    当检测到存在心跳异常时,或者,当接收到所述存储节点发送的存在网络异常的消息时,所述目标固态硬盘确认所述访问连接中的命令是否均完成;When detecting that there is an abnormal heartbeat, or when receiving a message that there is a network abnormality sent by the storage node, the target solid-state drive confirms whether the commands in the access connection are all completed;
    若所述访问连接中的命令均完成,所述目标固态硬盘停止监控所述CQ。If all the commands in the access connection are completed, the target solid state drive stops monitoring the CQ.
  10. 根据权利要求7或8所述的方法,其特征在于,所述方法还包括:The method according to claim 7 or 8, wherein the method further comprises:
    所述目标固态硬盘接收所述存储节点发送的断开所述访问连接的指令;receiving, by the target solid-state disk, an instruction sent by the storage node to disconnect the access connection;
    所述目标固态硬盘确认所述访问连接中的命令是否均完成;The target SSD confirms whether the commands in the access connection are all completed;
    若所述访问连接中的命令均完成,所述目标固态硬盘停止监控所述CQ。If all the commands in the access connection are completed, the target solid state drive stops monitoring the CQ.
  11. 一种数据存取装置,其特征在于,包括处理器,其中,所述处理器用于:A data access device, comprising a processor, wherein the processor is used for:
    接收分布式存储系统中的计算节点发送的远程直接数据存取RDMA连接请求,所述RDMA连接请求携带有所述分布式存储系统中的目标固态硬盘标识,所述RDMA连接请求用于指示所述处理器建立所述计算节点与所述目标固态硬盘之间的访问连接;Receive a remote direct data access RDMA connection request sent by a computing node in a distributed storage system, where the RDMA connection request carries a target solid-state disk identifier in the distributed storage system, and the RDMA connection request is used to indicate the The processor establishes an access connection between the computing node and the target solid-state disk;
    获取并存储所述访问连接对应的建链信息,其中,所述建链信息包括完成队列CQ,所述CQ用于指示所述目标固态硬盘存在数据存取任务;Acquire and store the link establishment information corresponding to the access connection, wherein the link establishment information includes a completion queue CQ, and the CQ is used to indicate that the target solid-state disk has a data access task;
    将存储的所述建链信息对应的第一地址发送至所述目标固态硬盘,以指示所述目标固态硬盘获取所述建链信息中的所述CQ,并监听所述CQ。The first address corresponding to the stored link establishment information is sent to the target solid-state disk, so as to instruct the target solid-state disk to obtain the CQ in the chain establishment information, and monitor the CQ.
  12. 根据权利要求11所述的装置,其特征在于,所述建链信息还包括内存区域MR和队列对QP,所述MR用于指示所述目标固态硬盘数据存取的区域,所述QP用于指示所述目标固态硬盘操作所述QP以进行数据的收发。The device according to claim 11, wherein the link establishment information further comprises a memory area MR and a queue pair QP, the MR is used to indicate a data access area of the target solid-state disk, and the QP is used to Instructing the target solid state drive to operate the QP for data transmission and reception.
  13. 根据权利要求12所述的装置,其特征在于,所述处理器将所述访问连接对应的建链信息存储在共享内存空间上,其中,所述共享内存空间为所述目标固态硬盘的控制器内 存缓冲区,或者,所述共享内存空间为所述装置的主机内存缓冲区。The device according to claim 12, wherein the processor stores the link establishment information corresponding to the access connection in a shared memory space, wherein the shared memory space is a controller of the target solid-state hard disk The memory buffer, or the shared memory space is the host memory buffer of the device.
  14. 根据权利要求13所述的装置,其特征在于,所述处理器还用于:The apparatus of claim 13, wherein the processor is further configured to:
    对所述访问连接进行检测;detecting the access connection;
    当检测到网络异常时,或者,当接收到所述目标固态硬盘发送的存在心跳异常的消息时,删除所述共享内存空间上的所述建链信息。When a network abnormality is detected, or when a heartbeat abnormality message sent by the target solid-state disk is received, the link establishment information on the shared memory space is deleted.
  15. 根据权利要求13所述的装置,其特征在于,所述处理器还用于:The apparatus of claim 13, wherein the processor is further configured to:
    将接收到的所述计算节点发送的断开所述访问连接的指令发送至所述目标固态硬盘;sending the received instruction to disconnect the access connection sent by the computing node to the target solid-state drive;
    在接收到所述目标固态硬盘发送的断链成功的消息时,删除所述共享内存空间上的所述建链信息。When receiving the message of successful link disconnection sent by the target solid-state hard disk, the link establishment information on the shared memory space is deleted.
  16. 一种数据存取装置,其特征在于,包括处理器,其中,所述处理器用于:A data access device, comprising a processor, wherein the processor is used for:
    接收分布式存储系统中的存储节点发送的消息,所述消息携带第一地址,其中,所述第一地址为所述存储节点存储的所述分布式存储系统中的计算节点与所述装置之间的访问连接对应的建链信息的地址,所述建链信息包括完成队列CQ,所述CQ用于指示所述装置存在数据存取任务;Receive a message sent by a storage node in a distributed storage system, where the message carries a first address, where the first address is the relationship between the computing node in the distributed storage system and the device stored by the storage node. The address of the link establishment information corresponding to the access connection between, the link establishment information includes the completion queue CQ, and the CQ is used to indicate that the device has a data access task;
    根据所述第一地址获取所述建链信息中的所述CQ,并监听所述CQ。Acquire the CQ in the link establishment information according to the first address, and monitor the CQ.
  17. 根据权利要求16所述的装置,其特征在于,所述建链信息还包括内存区域MR和队列对QP,所述处理器还用于:The device according to claim 16, wherein the link establishment information further comprises a memory region MR and a queue pair QP, and the processor is further configured to:
    根据所述第一地址获取所述建链信息中的MR和QP,并进行数据存取。Acquire the MR and QP in the link establishment information according to the first address, and perform data access.
  18. 根据权利要求17所述的装置,其特征在于,所述存储节点将所述访问连接对应的建链信息存储在共享内存空间上,其中,所述共享内存空间为所述装置的控制器内存缓冲区,或者,所述共享内存空间为所述存储节点的主机内存缓冲区。The device according to claim 17, wherein the storage node stores the link establishment information corresponding to the access connection in a shared memory space, wherein the shared memory space is a controller memory buffer of the device or, the shared memory space is the host memory buffer of the storage node.
  19. 根据权利要求17或18所述的装置,其特征在于,所述处理器还用于:The apparatus according to claim 17 or 18, wherein the processor is further configured to:
    对所述访问连接进行检测;detecting the access connection;
    当检测到存在心跳异常时,或者,当接收到所述存储节点发送的存在网络异常的消息时,确认所述访问连接中的命令是否均完成;When detecting that there is an abnormal heartbeat, or when receiving a message that the storage node has a network abnormality, confirming whether the commands in the access connection are all completed;
    若所述访问连接中的命令均完成,停止监控所述CQ。If all the commands in the access connection are completed, stop monitoring the CQ.
  20. 根据权利要求17或18所述的装置,其特征在于,所述处理器还用于:The apparatus according to claim 17 or 18, wherein the processor is further configured to:
    接收所述存储节点发送的断开所述访问连接的指令;receiving an instruction to disconnect the access connection sent by the storage node;
    确认所述访问连接中的命令是否均完成;Confirm whether the commands in the access connection are completed;
    若所述访问连接中的命令均完成,停止监控所述CQ。If all the commands in the access connection are completed, stop monitoring the CQ.
  21. 一种计算机可读存储介质,其特征在于,所述计算机可读存储介质存储有计算机程序,所述计算机程序被处理器执行以实现权利要求1至10任意一项所述的方法。A computer-readable storage medium, characterized in that, the computer-readable storage medium stores a computer program, and the computer program is executed by a processor to implement the method of any one of claims 1 to 10.
  22. 一种计算机程序产品,其特征在于,当计算机程序产品在计算机上运行时,使得所述计算机执行如权利要求1至10任意一项所述的方法。A computer program product, characterized in that, when the computer program product runs on a computer, the computer is caused to execute the method according to any one of claims 1 to 10.
  23. 一种分布式存储系统,其特征在于,包括计算节点,还包括如权利要求11至15任一项所述的数据存取装置,以及如权利要求16至20任一项所述的数据存取装置。A distributed storage system, characterized by comprising a computing node, further comprising the data access device according to any one of claims 11 to 15, and the data access device according to any one of claims 16 to 20 device.
PCT/CN2021/074545 2021-01-30 2021-01-30 Data access method and apparatus, and storage medium WO2022160308A1 (en)

Priority Applications (2)

Application Number Priority Date Filing Date Title
CN202180085306.XA CN116670636A (en) 2021-01-30 2021-01-30 Data access method, device and storage medium
PCT/CN2021/074545 WO2022160308A1 (en) 2021-01-30 2021-01-30 Data access method and apparatus, and storage medium

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
PCT/CN2021/074545 WO2022160308A1 (en) 2021-01-30 2021-01-30 Data access method and apparatus, and storage medium

Publications (1)

Publication Number Publication Date
WO2022160308A1 true WO2022160308A1 (en) 2022-08-04

Family

ID=82652934

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/CN2021/074545 WO2022160308A1 (en) 2021-01-30 2021-01-30 Data access method and apparatus, and storage medium

Country Status (2)

Country Link
CN (1) CN116670636A (en)
WO (1) WO2022160308A1 (en)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN116243957A (en) * 2023-05-10 2023-06-09 北京得瑞领新科技有限公司 Function extension control method, device and system of SSD

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN117406932B (en) * 2023-12-12 2024-03-19 苏州元脑智能科技有限公司 Data processing method, device, server and storage medium

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20150248366A1 (en) * 2013-04-17 2015-09-03 Apeiron Data Systems Method and apparatus for accessing multiple storage devices from multiple hosts without use of remote direct memory access (rdma)
CN107728936A (en) * 2017-09-05 2018-02-23 华为技术有限公司 Method and apparatus for transmitting data processing request
CN108268208A (en) * 2016-12-30 2018-07-10 清华大学 A kind of distributed memory file system based on RDMA
CN109274647A (en) * 2018-08-27 2019-01-25 杭州创谐信息技术股份有限公司 Distributed credible memory exchanges method and system
CN110515536A (en) * 2018-05-22 2019-11-29 杭州海康威视数字技术股份有限公司 Data-storage system

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20150248366A1 (en) * 2013-04-17 2015-09-03 Apeiron Data Systems Method and apparatus for accessing multiple storage devices from multiple hosts without use of remote direct memory access (rdma)
CN108268208A (en) * 2016-12-30 2018-07-10 清华大学 A kind of distributed memory file system based on RDMA
CN107728936A (en) * 2017-09-05 2018-02-23 华为技术有限公司 Method and apparatus for transmitting data processing request
CN110515536A (en) * 2018-05-22 2019-11-29 杭州海康威视数字技术股份有限公司 Data-storage system
CN109274647A (en) * 2018-08-27 2019-01-25 杭州创谐信息技术股份有限公司 Distributed credible memory exchanges method and system

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN116243957A (en) * 2023-05-10 2023-06-09 北京得瑞领新科技有限公司 Function extension control method, device and system of SSD
CN116243957B (en) * 2023-05-10 2023-10-31 北京得瑞领新科技有限公司 Function extension control method, device and system of SSD

Also Published As

Publication number Publication date
CN116670636A (en) 2023-08-29

Similar Documents

Publication Publication Date Title
US11403227B2 (en) Data storage method and apparatus, and server
WO2022160308A1 (en) Data access method and apparatus, and storage medium
WO2014032233A1 (en) System and method for live migration of virtual machine
WO2016202051A1 (en) Method and device for managing active and backup nodes in communication system and high-availability cluster
US9645859B1 (en) Performing I/O quiesce and drain operations in multi-node distributed systems
US11184435B2 (en) Message transmission method and apparatus in cluster file system
US7502369B2 (en) High speed interface systems and methods
US20210096939A1 (en) Fault Tolerance Processing Method, Apparatus, and Server
US10601692B2 (en) Integrating a communication bridge into a data processing system
WO2016135919A1 (en) Storage device
US11240100B2 (en) Using an out-of-band network to reconfigure a bus interface port
US10958527B2 (en) Transaction fencing in a multi-domain network
US9032118B2 (en) Administration device, information processing device, and data transfer method
WO2024066449A1 (en) Communication fault processing method and system, and device
US9307005B2 (en) Communication control system, method, and apparatus
CN114880266B (en) Fault processing method and device, computer equipment and storage medium
US20220147412A1 (en) Method for Implementing Storage Service Continuity in Storage System, Front-End Interface Card, and Storage System
WO2013060266A1 (en) High performance virtual converged enhanced ethernet with persistent state flow control
JP5826381B2 (en) Switch, transmission method, program, recording medium
JP2014532236A (en) Connection method
JP5794748B2 (en) Switch, transmission method, program, recording medium
US8650433B2 (en) Shared ethernet adapter (SEA) load sharing and SEA fail-over configuration as set by a user interface
US9584444B2 (en) Routing communication between computing platforms
WO2023142936A1 (en) Memory management method and system, and related apparatus
US8005082B2 (en) Concurrent enablement of persistent information unit pacing

Legal Events

Date Code Title Description
121 Ep: the epo has been informed by wipo that ep was designated in this application

Ref document number: 21921909

Country of ref document: EP

Kind code of ref document: A1

WWE Wipo information: entry into national phase

Ref document number: 202180085306.X

Country of ref document: CN

NENP Non-entry into the national phase

Ref country code: DE

122 Ep: pct application non-entry in european phase

Ref document number: 21921909

Country of ref document: EP

Kind code of ref document: A1