WO2024140375A1 - 一种存储设备、数据通信方法以及系统 - Google Patents

一种存储设备、数据通信方法以及系统 Download PDF

Info

Publication number
WO2024140375A1
WO2024140375A1 PCT/CN2023/140344 CN2023140344W WO2024140375A1 WO 2024140375 A1 WO2024140375 A1 WO 2024140375A1 CN 2023140344 W CN2023140344 W CN 2023140344W WO 2024140375 A1 WO2024140375 A1 WO 2024140375A1
Authority
WO
WIPO (PCT)
Prior art keywords
data
sent
chip
otn
storage device
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Ceased
Application number
PCT/CN2023/140344
Other languages
English (en)
French (fr)
Inventor
陈瑜芳
刘晓妮
吴俊宏
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Huawei Technologies Co Ltd
Original Assignee
Huawei Technologies Co Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Huawei Technologies Co Ltd filed Critical Huawei Technologies Co Ltd
Priority to EP23910304.7A priority Critical patent/EP4625853A4/en
Publication of WO2024140375A1 publication Critical patent/WO2024140375A1/zh
Priority to US19/245,593 priority patent/US20260106684A1/en
Anticipated expiration legal-status Critical
Ceased legal-status Critical Current

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04JMULTIPLEX COMMUNICATION
    • H04J3/00Time-division multiplex systems
    • H04J3/16Time-division multiplex systems in which the time allocation to individual channels within a transmission cycle is variable, e.g. to accommodate varying complexity of signals, to vary number of channels transmitted
    • H04J3/1605Fixed allocated frame structures
    • H04J3/1652Optical Transport Network [OTN]
    • H04J3/1664Optical Transport Network [OTN] carrying hybrid payloads, e.g. different types of packets or carrying frames and packets in the paylaod
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04JMULTIPLEX COMMUNICATION
    • H04J3/00Time-division multiplex systems
    • H04J3/16Time-division multiplex systems in which the time allocation to individual channels within a transmission cycle is variable, e.g. to accommodate varying complexity of signals, to vary number of channels transmitted
    • H04J3/1605Fixed allocated frame structures
    • H04J3/1652Optical Transport Network [OTN]
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F15/00Digital computers in general; Data processing equipment in general
    • G06F15/16Combinations of two or more digital computers each having at least an arithmetic unit, a program unit and a register, e.g. for a simultaneous processing of several programs
    • G06F15/163Interprocessor communication
    • G06F15/173Interprocessor communication using an interconnection network, e.g. matrix, shuffle, pyramid, star, snowflake
    • G06F15/17306Intercommunication techniques
    • G06F15/17331Distributed shared memory [DSM], e.g. remote direct memory access [RDMA]
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; 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
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0602Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
    • G06F3/0604Improving or facilitating administration, e.g. storage management
    • G06F3/0607Improving or facilitating administration, e.g. storage management by facilitating the process of upgrading existing storage systems, e.g. for improving compatibility between host and storage device
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; 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
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0628Interfaces specially adapted for storage systems making use of a particular technique
    • G06F3/0655Vertical data movement, i.e. input-output transfer; data movement between one or more hosts and one or more storage devices
    • G06F3/0661Format or protocol conversion arrangements
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; 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
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0668Interfaces specially adapted for storage systems adopting a particular infrastructure
    • G06F3/067Distributed or networked storage systems, e.g. storage area networks [SAN], network attached storage [NAS]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L1/00Arrangements for detecting or preventing errors in the information received
    • H04L1/0001Systems modifying transmission characteristics according to link quality, e.g. power backoff
    • H04L1/0002Systems modifying transmission characteristics according to link quality, e.g. power backoff by adapting the transmission rate
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/10Protocols in which an application is distributed across nodes in the network
    • H04L67/1097Protocols in which an application is distributed across nodes in the network for distributed storage of data in networks, e.g. transport arrangements for network file system [NFS], storage area networks [SAN] or network attached storage [NAS]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04QSELECTING
    • H04Q11/00Selecting arrangements for multiplex systems
    • H04Q11/0001Selecting arrangements for multiplex systems using optical switching
    • H04Q11/0005Switch and router aspects
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04QSELECTING
    • H04Q11/00Selecting arrangements for multiplex systems
    • H04Q11/0001Selecting arrangements for multiplex systems using optical switching
    • H04Q11/0062Network aspects
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04QSELECTING
    • H04Q11/00Selecting arrangements for multiplex systems
    • H04Q11/0001Selecting arrangements for multiplex systems using optical switching
    • H04Q11/0005Switch and router aspects
    • H04Q2011/0007Construction
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04QSELECTING
    • H04Q11/00Selecting arrangements for multiplex systems
    • H04Q11/0001Selecting arrangements for multiplex systems using optical switching
    • H04Q11/0062Network aspects
    • H04Q2011/0073Provisions for forwarding or routing, e.g. lookup tables
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04QSELECTING
    • H04Q2213/00Indexing scheme relating to selecting arrangements in general and for multiplex systems
    • H04Q2213/1301Optical transmission, optical switches

Definitions

  • the present application relates to the field of optical communication technology, and in particular to a storage device, a data communication method and a system.
  • the Optical Transport Network In the Data Communication Network (DCN), the Optical Transport Network (OTN) has become the mainstream technology used in the transport network due to its high bandwidth, large capacity, high reliability, and low latency. It is widely used in backbone, metropolitan, core, and aggregation networks. OTN frames are used to carry various business data and provide rich management and monitoring functions.
  • DCN Data Communication Network
  • OTN Optical Transport Network
  • the server is deployed with Remote Direct Memory Access (RDMA) applications.
  • RDMA Remote Direct Memory Access
  • the RDMA application calls the Ethernet card in the storage device to read the service data in the storage device, and the Ethernet card encapsulates the service data and sends it to the Ethernet switch.
  • the Ethernet switch forwards the encapsulated data to the OTN device.
  • the OTN device adds an OTN frame header to the encapsulated data to generate an OTN frame and sends the OTN frame to other devices in the OTN. It can be seen that the service data needs to be transmitted and encapsulated multiple times to determine the OTN frame. When the amount of service data is large, the communication efficiency between end-to-end devices in the OTN is low.
  • the present application provides a storage device, a data communication method and a system, which solves the problem that service data needs to be transmitted and encapsulated multiple times through different devices to determine an OTN frame, thereby improving the communication efficiency between end-to-end devices in the OTN.
  • the network card in the storage device completes the OTN encapsulation of the data, so that the data can generate an OTN frame mapped with the data without being transmitted and encapsulated through multiple devices, reducing the transmission delay between the data from the storage device to the optical transceiver and improving the data communication efficiency.
  • the protocol stack used by the storage device to encapsulate the data into the OTN frame does not need to use the Ethernet (ETH) protocol, reducing the encapsulation process required to generate the OTN frame and the amount of data contained in the OTN frame, which is conducive to further improving the data communication efficiency.
  • the optical transceiver is further used to receive a data write response from the target storage device.
  • the data write response is used to indicate that the data to be sent has been written into the target storage device.
  • the memory is further used to maintain at least one remote direct memory access (RDMA) sending queue, the at least one RDMA sending queue includes a first sending queue, the first sending queue stores one or more work queue elements (WQE) of data, the one or more data including the aforementioned data to be sent.
  • the optical transceiver is also used to provide multiple OTN channels, wherein one OTN channel is used to transmit data corresponding to one RDMA sending queue.
  • the aforementioned data processing chip is also used to: read the WQE of the data to be sent from the first sending queue, and establish a mapping relationship between the WQE and the first OTN channel among the multiple OTN channels. The mapping relationship is used to indicate that the data to be sent can be transmitted through the first OTN channel.
  • the RDMA queue in the storage device can establish a mapping relationship with the OTN channel provided by the optical transceiver, so that data of different RDMA queues are transmitted via different OTN channels, wherein the mapping relationship is based on the network card recorded in the RDMA queue.
  • the WQE of the data is used to establish the OTN frame, which prevents the optical transceiver from sending the OTN frame corresponding to the data to the OTN channel that does not match the WQE of the data, thereby improving the accuracy of data communication.
  • the network card can reuse the mapping relationship to transmit the OTN frame mapped with the other data through the first OTN channel, further improving the data communication efficiency in the optical communication network.
  • the data processing chip includes: a first chip and a second chip.
  • the first chip is used to read the WQE of the data to be sent from the first sending queue. And the first chip is also used to: write the data to be sent from the memory to the storage medium according to the source address indicated by the WQE.
  • the second chip is used to: establish a mapping relationship between the WQE and the first OTN channel among the multiple OTN channels. And the second chip is also used to: read the data to be sent in the storage medium, and map the data to be sent to the payload area of the OTN frame generated by the second chip.
  • the second chip can map data to the payload area of different OSU frames, so that the data to be sent can be communicated with finer time slot granularity.
  • OSU technology considers the need for lossless adjustment from the beginning, and there is no compatibility problem with OTN communication, so that the communication process of the data to be sent can support a larger lossless bandwidth adjustment range, which is conducive to improving data communication efficiency.
  • the lossless bandwidth adjustment here includes at least one of bandwidth increase, bandwidth reduction and bandwidth fallback. The bandwidth fallback is used to indicate the operation of restoring the original state after a problem occurs.
  • the second chip is further used to determine whether the data flow rate of the first queue is greater than or equal to a set rate threshold.
  • the data flow rate is the amount of data written to the first queue by the first chip per unit time. If the data flow rate is greater than or equal to the set rate threshold, the second chip is further used to instruct the first chip to lower the data flow rate of writing data to the first queue.
  • the second chip when the expected speed of processing data by the second chip is too high, such as the data flow speed of the second chip is greater than or equal to the set rate threshold, the second chip can instruct the first chip to lower the data flow rate of writing data to the first queue, thereby reducing the amount of data to be processed (such as packaging) by the second chip per unit time, so as to reduce the communication load of the second chip, which is beneficial to avoiding network packet loss of the second chip and improving the communication performance of the optical communication network.
  • an embodiment of the present application provides an optical communication system.
  • the optical communication system includes: a storage device and an optical network device.
  • the storage device includes: a processor, a memory and a network card, and the network card includes a data processing chip, a storage medium and an optical transceiver.
  • the memory is used to store the data to be sent written by the processor.
  • the data processing chip is used to write the data to be sent from the memory to the storage medium.
  • the data processing chip is also used to read the data to be sent in the storage medium and map the data to be sent to the payload area of the OTN frame generated by the data processing chip.
  • the optical transceiver is used to send the OTN frame to the aforementioned optical network device.
  • the memory 1213 stores software programs, and the processor 1212 runs the software programs in the memory 1213 to manage the hard disk.
  • the hard disk is abstracted into a storage resource pool, and the storage resource pool is provided to the server in the form of a logical unit number (LUN).
  • LUN here is actually the hard disk seen on the server.
  • some centralized storage systems are also file servers themselves, which can provide shared file services for the server.
  • the engine may not have a hard disk slot, and the hard disk needs to be placed in a hard disk frame, and the back-end interface 1214 communicates with the hard disk frame.
  • the back-end interface 1214 exists in the engine in the form of an adapter card, and two or more back-end interfaces 1214 can be used simultaneously on one engine to connect multiple hard disk frames.
  • the adapter card can also be integrated on the motherboard, in which case the adapter card can communicate with the processor 1212 via a Peripheral Component Interconnect Express (PCIe) bus.
  • PCIe Peripheral Component Interconnect Express
  • FIG. 2A shows only one engine.
  • the storage system may include two or more engines, and redundancy or load balancing may be performed between the multiple engines.
  • the first chip 231 may be a DPU or other processors with data processing functions, etc.
  • the first chip 231 is used to write data stored in the memory 22 into the cache 233 .
  • the cache 233 may be used to temporarily store data read by the first chip 231, or to temporarily store data received by the optical transceiver 24, etc.
  • the cache 233 may refer to a cache.
  • the cache 233 may also be replaced by other types of storage media, such as DRAM, SCM, mechanical hard disk or SSD, etc.
  • FIG. 2A and FIG. 2B are only possible implementations of the two storage devices provided in the embodiment of the present application.
  • the devices included in the two storage devices can be interchanged.
  • the names used in different diagrams are different, but both can realize the functions of the storage devices provided in the embodiment of the present application to realize the optical signal transmission function in the optical communication system.
  • the network card 23 can be used to realize the functions of the network card 1226, and the network card 1226 can also include the various chips and caches included in the network card 23, and the present application does not limit this.
  • the data access request is used to request the data to be sent stored in the memory 22 .
  • the set threshold is 100 million bytes (MB), 500 MB or other values.
  • an RDMA application initiates a data transmission task, it identifies this task as a long-distance, large-volume data transmission task (10GB data transmission over 1,000 kilometers) and notifies the data processing chip to start the long-distance data transmission.
  • the data processing chip writes the data to be sent from the memory 22 into the cache 233 .
  • the data processing chip here may include the first chip 231 and the second chip 232 shown in FIG. 2B .
  • the first chip 231 may write the to-be-sent data from the memory 22 into the cache 233.
  • the specific implementation process of the first chip writing the data from the memory into the cache may refer to the relevant description of FIG. 5 below, which will not be described in detail here.
  • the data processing chip reads the data to be sent in the buffer 233, and maps the data to be sent to the payload area of the OTN frame generated by the data processing chip.
  • the second chip 232 maps the data to be sent to multiple OSU frames, and the data to be sent is carried in the payload areas of the multiple OSU frames; and the second chip 232 maps the multiple OSU frames to OTN frames.
  • the second chip can map data to the payload area of different OSU frames, so that the data to be sent can be communicated with finer time slot granularity.
  • the OSU technology considers the need for lossless adjustment from the beginning, and there is no compatibility issue with OTN communication, so that the communication process of the data to be sent can support a larger lossless bandwidth adjustment range, which is conducive to improving data communication efficiency.
  • the lossless bandwidth adjustment here includes at least one of: bandwidth increase, bandwidth reduction and bandwidth rollback.
  • the bandwidth rollback is used to indicate the operation of restoring the original state after a problem occurs.
  • S350 The optical transceiver 24 sends the OTN frame generated in S340 .
  • the network card in the storage device implements the OTN encapsulation function of the data, so that the data can generate an OTN frame mapped with the data without being transmitted and encapsulated through multiple devices, thereby reducing the transmission delay of the data from the storage to the optical transceiver and improving the data communication efficiency.
  • the protocol stack used by the storage device to encapsulate the data into OTN frames does not need to use the Ethernet protocol, which reduces the encapsulation process required to generate OTN frames and the amount of data contained in the OTN frames, which is conducive to further improving data communication efficiency.
  • the storage device can directly output the OTN frame on the end-side without forwarding it through the Ethernet switch, thus realizing the hard pipe transmission capability from end-side device to end-side device in the optical communication network, avoiding packet loss during data communication, and improving data communication efficiency.
  • FCS frame check sequence
  • FCS is the tail field of the protocol data unit (frame) of the computer network data link layer, which is a 4-byte cyclic redundancy check code.
  • FCS is also called the frame tail.
  • IB payload is used to carry message payloads, such as RDMA messages or data.
  • IB BTH is the InfiniBand base transport header (IB BTH) provided by the IB protocol.
  • the IB BTH field is used to indicate the destination QP, operation code, packet sequence numbers (PSN) and partition.
  • the OpCode field in the BTH field determines the start and end of the SEND message.
  • the user datagram protocol (UDP) field is used to indicate that the payload of the message is an RDMA message.
  • IP internet protocol
  • the internet protocol (IP) field is used for layer 3 forwarding through the switch.
  • the ETH header field is used to indicate additional fields in the Ethernet transmission process, etc.
  • the OTN header field is used to indicate the frame header for processing the optical signal in the optical transmission network process.
  • the structural diagram of the protocol stack provided in the example, the protocol stack used by the OTN frame in the technical solution provided in this application includes: RDMA application layer protocol (RDMA application protocol), IB transmission protocol, OSU link layer protocol (OSU link layer protocol), OSU physical layer protocol (OSU physical layer protocol, OSU PHY layer).
  • RDMA application protocol RDMA application layer protocol
  • IB transmission protocol OSU link layer protocol
  • OSU link layer protocol OSU link layer protocol
  • OSU physical layer protocol OSU physical layer protocol
  • OSU PHY layer OSU physical layer protocol
  • the storage device can instruct that small data transmission tasks between different DCs still take the switch transmission path, such as the storage device 121-storage device 121 included in the network card-Ethernet switch 21-optical network device 31 shown in Figure 1.
  • the long-distance transmission of large amounts of data in batches is directly transmitted through the OTN network card of the storage device connected to the OTN transmission device.
  • the storage device can directly output OTN frames on the end side without forwarding through the Ethernet switch, realizing the hard pipe transmission capability from end-to-end device in the optical communication network, avoiding packet loss during data communication, and improving data communication efficiency.
  • the optical transceiver 24 may also receive a data write response from the target storage device.
  • the data write response is used to indicate that the data to be sent has been written into the target storage device.
  • the target storage device may refer to the storage device 122 in FIG1 .
  • the data write response may be an OTN frame generated and sent by a network card included in the storage device 122 .
  • the storage device determines that the current data transmission is completed, thereby avoiding resource consumption caused by the storage device reserving hardware resources (such as computing resources or storage resources) for this data transmission, which is conducive to the storage device using limited hardware resources to execute other services.
  • hardware resources such as computing resources or storage resources
  • the memory 22 maintains one or more RDMA send queues (send queue, SQ), which may include SQ 1 to SQ N, etc., and each SQ stores a plurality of WQEs of data.
  • WQE includes: source address of data, target address, memory address of data storage, destination storage device identifier, transmission completion time, data volume, etc.
  • SQE includes: source address of data, target address, memory address of data storage, destination storage device identifier, transmission completion time, data volume, etc.
  • WQE includes: source address of data, target address, memory address of data storage, destination storage device identifier, transmission completion time, data volume, etc.
  • RQ receive queue
  • SQ 1 can also be called the first sending queue.
  • SQ 1 stores WQEs of one or more data, and the one or more data include the aforementioned data to be sent.
  • the optical transceiver 24 is also used to provide multiple OTN channels (such as channel 1 and channel 2 in FIG5 ), wherein one OTN channel is used to transmit data corresponding to one SQ.
  • channel 1 is used to transmit data corresponding to WQE1 and WQE2 in SQ 1.
  • Step 2 DPU (first chip 231) reads the WQE of the data to be sent from SQ 1, and writes the data to be sent from the memory 22 to the cache 233 according to the source address indicated by the WQE.
  • Step 3 The data processing chip establishes a mapping relationship between the WQE of the data to be sent and the first OTN channel among the multiple OTN channels.
  • Step 4 The DPU writes the data to be sent from the memory 22 into the cache of the network card.
  • the cache 233 in the network card maintains multiple queues, including the first queue (QM1), and the storage space corresponding to the first queue is used to store data to be sent.
  • the OTN chip establishes a mapping relationship between QM1 and channel 1.
  • the data corresponding to WQE1 and WQE2 is transmitted through channel 1 corresponding to QM1
  • the data corresponding to WQEm is transmitted through channel 2 corresponding to QM2.
  • different chips in the network card are used to implement different functions.
  • the DPU implements the interaction between the network card and the application layer
  • the OTN chip implements the interaction between the network card and the optical communication network. Therefore, hard pipe transmission of data from the storage device to the optical communication network can be realized by coordinating between different chips in the network card, which is conducive to improving data communication efficiency.
  • Step 5 The OTN chip reads the data to be sent in the buffer, and maps the data to be sent to the payload area of the OTN frame generated by the OTN chip.
  • the OTN chip includes multiple modules: queue management (QM) unit, optical line packet processing (OLPKT) module, customer exchange (CXC) module, and OTN Lite Line Node (OLLN).
  • QM is used to implement multi-queue management, data back pressure processing and other functions
  • OLPKT is used to encode the data to be sent into 256/257B format and cut it into OSU fixed length cells (OSU frames)
  • CXC module is used to map OSU frames into and out of channels
  • OLLN module is used to complete OTN maintenance signal insertion and analysis, etc.
  • the OTN chip divides the data to be sent into multiple 192B data units, maps one data unit to the payload area of an OSU frame, and after multiple data units are mapped to the payload area of the OSU frame, multiple OSU frames are mapped to the OTN frame.
  • the format of the OTN frame can be referred to in Table 2, which is not described here.
  • the data communication method provided in the embodiment of the present application further includes: the OTN chip determines whether the data flow rate of QM1 is greater than or equal to a set rate threshold, and if the data flow rate is greater than or equal to the set rate threshold, the OTN chip instructs the DPU to lower the data flow rate of writing data to QM1.
  • the data flow rate is the amount of data written by the DPU to QM1 per unit time.
  • the above-set rate threshold can be set according to the hardware characteristics of the OTN chip and the DPU. In some optional situations, the set rate threshold can also be set by the user according to the data communication requirements between different DCs, which is not limited in this application.
  • the rate threshold can be 5GB/s, 500MB/s or other values.
  • Step 6 The optical transceiver 24 sends the OTN frame corresponding to the data to be sent to the target storage device through channel 1.
  • the target storage device is also referred to as the peer storage device of the source storage device (referred to as peer).
  • Step 7 The opposite-end OTN chip in the target storage device parses the received OTN frame and writes the aforementioned data to be sent into the cache of the opposite-end network card.
  • the OLLN module parses the OTN maintenance signal to determine whether the OTN frame has an alarm. If there is no alarm, the CXC module demaps the data through the OTN channel, parses the RDMA data (data to be sent), and writes it into the QM queue cached and maintained in the peer network card.
  • Step 9 After the peer DPU writes the data to be sent into the peer storage, the peer OTN chip sends a data write response to the network card of the source storage device through the optical transceiver.
  • the RDMA queues in the storage device can establish a mapping relationship with the OTN channels provided by the optical transceiver, so that data in different RDMA queues are transmitted via different OTN channels.
  • the mapping relationship is established by the network card based on the WQE of the data recorded in the RDMA queue, which avoids the optical transceiver sending the OTN frame corresponding to the data to the OTN channel that does not match the WQE of the data, thereby improving the accuracy of data communication.

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • Human Computer Interaction (AREA)
  • Computer Hardware Design (AREA)
  • Software Systems (AREA)
  • Mathematical Physics (AREA)
  • Quality & Reliability (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)
  • Optical Communication System (AREA)

Abstract

本申请提供一种存储设备、数据通信方法以及系统,涉及光通信技术领域。存储设备中的网卡实现数据的OTN封装,使得数据不需经由多个设备的传输和封装即可生成映射有该数据的OTN帧,减少了数据从存储器到光收发器之间的传输时延,提高了数据通信效率。而且,由于数据无需经由以太交换机进行处理,因此,存储设备将数据封装为OTN帧所采用的协议栈也无需使用以太网协议,减少了生成OTN帧所需的封装流程以及OTN帧中所包含的数据量,有利于进一步提高数据的通信效率。

Description

一种存储设备、数据通信方法以及系统
本申请要求于2022年12月27日提交国家知识产权局、申请号为202211691501.X、申请名称为“一种存储设备、数据通信方法以及系统”的中国专利申请的优先权,其全部内容通过引用结合在本申请中。
技术领域
本申请涉及光通信技术领域,尤其涉及一种存储设备、数据通信方法以及系统。
背景技术
在数据通信网络(Data Communication Network,DCN)中,光传送网络(Optical Transport Network,OTN)由于其高带宽,大容量,高可靠,低时延等特性,已经成为传送网采用的主流技术,广泛应用于骨干、城域、核心及汇聚等网络。OTN帧用于承载各种业务数据,并提供丰富的管理和监控功能。
目前,服务器中部署有远程直接存储访问(Remote Direct Memory Access,RDMA)应用,RDMA应用调用存储设备中的以太网卡以读取存储设备中的业务数据,并由以太网卡将该业务数据进行封装后发送到以太交换机,该以太交换机将封装后的数据转发到OTN设备,OTN设备为封装后的数据添加OTN帧头生成OTN帧,并将该OTN帧发送到OTN中其他的设备。可知,业务数据需经过多次传输和封装才能确定OTN帧,在业务数据的数据量较大的情况下,OTN中端到端设备之间的通信效率较低。
发明内容
本申请提供了一种存储设备、数据通信方法以及系统,解决了业务数据需经不同的设备进行多次传输和封装才能确定OTN帧的过程,提高了OTN中端到端设备之间的通信效率。
第一方面,本申请实施例提供了一种存储设备。该存储设备包括:处理器、存储器和网卡,网卡包括数据处理芯片、存储介质和光收发器。存储器,用于存储处理器写入的待发送数据。数据处理芯片,用于将待发送数据从存储器写入存储介质。数据处理芯片,还用于读取存储介质中的待发送数据,并将待发送数据映射到数据处理芯片生成的OTN帧的净荷区。光收发器,用于发送OTN帧。
在本实施例中,存储设备中的网卡完成了数据的OTN封装,使得数据不需经由多个设备的传输和封装即可生成映射有该数据的OTN帧,减少了数据从存储器到光收发器之间的传输时延,提高了数据通信效率。而且,由于数据无需经由以太交换机进行处理,因此,存储设备将数据封装为OTN帧所采用的协议栈也无需使用以太网(EtherNet,ETH)协议,减少了生成OTN帧所需的封装流程以及OTN帧中所包含的数据量,有利于进一步提高数据的通信效率。
举例来说,由于网卡可直接将数据不经过以太封装,直接封装成OTN帧,且网卡支持插在端侧存储设备上,因此,存储设备可直接在端侧输出OTN帧,不经过以太交换机的转发,实现了光通信网络中端侧设备到端侧设备的硬管道传输能力,避免了数据通信过程中的丢包,提高了数据的通信效率。
作为一种可选的示例,光收发器,还用于接收目标存储设备的数据写响应。该数据写响应用于指示待发送数据已写入目标存储设备。
举例来说,在光收发器接收到目标存储设备的数据写响应后,存储设备确定数据的本次传输结束,避免了存储设备为该次数据传输预留硬件资源(如计算资源或存储资源)导致的资源消耗,有利于存储设备将有限的硬件资源用于执行其他业务。
在一些可能的情况中,该光收发器还可用于:接收光通信网络中的其他光网络设备发送的OTN帧,并对解析该OTN帧后的数据进行存储。
在一种可选的实现方式中,存储器,还用于维护至少一个远程直接存储访问(remote direct memory access,RDMA)发送队列,该至少一个RDMA发送队列包括第一发送队列,第一发送队列中存储有一个或多个数据的工作队列元素(work queue element,WQE),该一个或多个数据包括前述的待发送数据。光收发器,还用于提供多个OTN通道,其中,一个OTN通道用于传输一个RDMA发送队列对应的数据。前述的数据处理芯片还用于:从第一发送队列中读取待发送数据的WQE,并为该WQE和多个OTN通道中的第一OTN通道建立映射关系。其中,该映射关系用于指示:待发送数据能够通过第一OTN通道进行传输。
在本实施例中,存储设备中的RDMA队列可和光收发器提供的OTN通道建立映射关系,使得不同RDMA队列的数据经由不同的OTN通道进行传输,其中,映射关系是网卡基于RDMA队列中记录 的数据的WQE来建立的,避免了光收发器将数据对应的OTN帧发送到与数据的WQE不匹配的OTN通道,提高了数据通信的准确性。而且,在后续的其他数据的通信过程中,若网卡已经建立了该其他数据的WQE和第一OTN通道的映射关系,则网卡可复用该映射关系,以将映射有该其他数据的OTN帧通过第一OTN通道进行传输,进一步提高了光通信网络中的数据通信效率。
在另一种可选的实现方式中,数据处理芯片包括:第一芯片和第二芯片。其中,第一芯片,用于从第一发送队列中读取待发送数据的WQE。以及,第一芯片还用于:根据WQE指示的源地址,将待发送数据从存储器写入存储介质。第二芯片,用于:为WQE和多个OTN通道中的第一OTN通道建立映射关系。以及,第二芯片还用于:读取存储介质中的待发送数据,并将待发送数据映射到第二芯片生成的OTN帧的净荷区。
作为一种可行的示例,前述的第一芯片可以是数据处理单元(data processing unit,DPU),第二芯片可以是用于执行光线路侧报文处理的光芯片(或称光处理芯片、OTN芯片等)。
可选的,第一芯片用于读取RDMA发送队列中的WQE,以及从存储器中读取数据可以包括:第一芯片根据WQE指示的源地址,将待发送数据从存储器写入多个队列中第一队列对应的存储空间;这里的多个队列是由网卡包括的存储介质所维护的。以及,第二芯片用于为数据的WQE与OTN通道建立映射关系,可包括:第二芯片为前述第一队列与第一OTN通道建立映射关系。
在本实施例中,网卡中不同的芯片用于实现不同的功能,第一芯片实现网卡和应用层的交互,第二芯片实现网卡和光通信网络的交互,因此,由网卡中不同芯片之间进行协调即可实现数据从存储器至光通信网络中的硬管道传输,有利于提高数据的通信效率。
可选的,第二芯片,具体用于:将待发送数据映射到多个光业务单元(Optical Service Unit,OSU)帧。待发送数据承载于这多个OSU帧的净荷区。以及,第二芯片,还具体用于将多个OSU帧映射到OTN帧。
在本实施例中,第二芯片可以将数据映射到不同OSU帧的净荷区,使得待发送数据可以以更细的时隙颗粒度来进行数据通信。且OSU技术从一开始就考虑无损调整的需求,和OTN通信不存在兼容的问题,使得待发送数据的通信过程能够支持更大的无损带宽调整范围,有利于提高数据通信效率。这里的无损带宽调整包括:带宽增加、带宽减少和带宽回退中至少一种。其中的带宽回退用于指示出现问题后恢复原始状态的操作。
可选的,第二芯片,还用于判断第一队列的数据流速率是否大于或等于设定的速率阈值。数据流速率为单位时间内,第一芯片向第一队列中写入的数据量。若数据流速率大于或等于设定的速率阈值,则第二芯片还用于指示第一芯片调低向第一队列写数据的数据流速率。
在本实施例中,在第二芯片处理数据的预期速度过大的情况下,如第二芯片的数据流速度大于或等于设定的速率阈值,则第二芯片可以指示第一芯片调低向第一队列写数据的数据流速率,从而降低第二芯片在单位时间内所要处理(如封装)的数据量,以减小第二芯片的通信负荷,有利于避免第二芯片的网络丢包,提高光通信网络的通信性能。
可选的,处理器用于获取数据访问请求,数据访问请求用于请求待发送数据。处理器还用于判断待发送数据的数据量大于或等于设定的阈值。数据处理芯片具体用于:若待发送数据的数据量大于或等于设定的阈值,将待发送数据从存储器写入存储介质。
在本实施例中,在处理器确定待发送数据的数据量大于或等于设定的阈值的情况下,数据处理芯片才将待发送数据从存储设备的存储器写入网卡中的存储介质。即在大数据量传输的应用场景中,网卡对这些待发送数据进行封装,并通过光收发器来传输OTN帧,减少这些数据经由多次传输和以太封装导致的通信时延,有利于提高大数据量通信场景的数据通信效率。
第二方面,本申请实施例提供了一种数据通信方法。该数据通信方法由存储设备执行,该存储设备包括:处理器、存储器和网卡,该存储器用于存储处理器写入的待发送数据,该网卡包括数据处理芯片、存储介质和光收发器。本实施例提供的数据通信方法包括:首先,数据处理芯片将待发送数据从存储器写入存储介质。其次,数据处理芯片读取存储介质中的待发送数据,并将待发送数据映射到数据处理芯片生成的OTN帧的净荷区。最后,光收发器发送OTN帧。
可选的,存储器还用于维护至少一个RDMA发送队列,该至少一个RDMA发送队列包括第一发送队列,该第一发送队列中存储有一个或多个数据的工作队列元素WQE,该一个或多个数据包括前述的 待发送数据。光收发器用于提供多个OTN通道,其中,一个OTN通道用于传输一个RDMA发送队列对应的数据。数据处理芯片读取存储介质中的待发送数据,包括:数据处理芯片从第一发送队列中读取待发送数据的WQE,并根据WQE指示的源地址,将待发送数据从存储器写入存储介质。以及,在光收发器发送OTN帧之前,本实施例提供的数据通信方法还包括:数据处理芯片为前述的WQE和多个OTN通道中的第一OTN通道建立映射关系。其中,映射关系用于指示:待发送数据能够通过第一OTN通道进行传输。
可选的,数据处理芯片包括:第一芯片和第二芯片。数据处理芯片从第一发送队列中读取待发送数据的WQE,并根据WQE指示的源地址,将待发送数据从存储器写入存储介质,包括:第一芯片从第一发送队列中读取待发送数据的WQE,并根据WQE指示的源地址,将待发送数据从存储器写入存储介质。数据处理芯片为WQE和多个OTN通道中的第一OTN通道建立映射关系,包括:第二芯片为WQE和多个OTN通道中的第一OTN通道建立映射关系。数据处理芯片将待发送数据映射到数据处理芯片生成的OTN帧的净荷区,包括:第二芯片读取存储介质中的待发送数据,并将待发送数据映射到第二芯片生成的OTN帧的净荷区。
可选的,存储介质维护有多个队列,多个队列包括第一队列,第一队列对应的存储空间用于存储待发送数据。第二芯片为WQE和多个OTN通道中的第一OTN通道建立映射关系,包括:第二芯片为第一队列与第一OTN通道建立映射关系。
可选的,本实施例提供的数据通信方法还包括:第二芯片判断第一队列的数据流速率是否大于或等于设定的速率阈值。该数据流速率为单位时间内,第一芯片向第一队列中写入的数据量。以及,若数据流速率大于或等于设定的速率阈值,则第二芯片指示第一芯片调低向第一队列写数据的数据流速率。
可选的,数据处理芯片将待发送数据映射到数据处理芯片生成的光传送网络OTN帧的净荷区,包括:第一步,第二芯片将待发送数据映射到多个OSU帧。待发送数据承载于多个OSU帧的净荷区。第二步,第二芯片将多个OSU帧映射到OTN帧。
可选的,在数据处理芯片将待发送数据从存储器写入存储介质之前,本实施例提供的数据通信方法还包括:处理器获取数据访问请求,该数据访问请求用于请求待发送数据。处理器判断待发送数据的数据量大于或等于设定的阈值,若待发送数据的数据量大于或等于设定的阈值,数据处理芯片将待发送数据从存储器写入存储介质。
可选的,本实施例提供的数据通信方法还包括:光收发器接收目标存储设备的数据写响应,数据写响应用于指示待发送数据已写入目标存储设备。
第三方面,本申请实施例提供了一种光通信系统。该光通信系统包括:存储设备和光网络设备。存储设备包括:处理器、存储器和网卡,网卡包括数据处理芯片、存储介质和光收发器。存储器,用于存储处理器写入的待发送数据。数据处理芯片,用于将待发送数据从存储器写入存储介质。数据处理芯片,还用于读取存储介质中的待发送数据,并将待发送数据映射到数据处理芯片生成的OTN帧的净荷区。光收发器,用于向前述的光网络设备发送OTN帧。
本实施例提供的光通信系统可以用于实现第一方面中任一方式的存储设备的功能,也能实现相应的有益效果,在此不予赘述。
第四方面,本申请实施例提供了一种计算机可读存储介质。该计算机可读存储介质包括:计算机软件指令。当计算机软件指令在存储设备中运行时,使得存储设备执行第二方面中任一种可能的实现方式提供的方法。
第五方面,本申请实施例提供了一种计算机程序产品。该计算机程序产品在存储设备上运行时,使得存储设备执行第二方面中任一种可能的实现方式提供的方法。
第二方面至第五方面中任意一种可能的实现方式的有益效果,可以参考第一方面或第一方面任意一种可能的实现方式的描述,在此不予赘述。本申请在上述各方面提供的实现方式的基础上,还可以进行进一步组合以提供更多实现方式。
附图说明
图1为本申请实施例提供的一种光通信系统的结构示意图;
图2A为本申请实施例提供的一种存储设备的结构示意图一;
图2B为本申请实施例提供的一种存储设备的结构示意图二;
图3为本申请实施例提供的一种数据通信方法的流程示意图一;
图4为本申请实施例提供的协议栈的结构示意图;
图5为本申请实施例提供的一种数据通信方法的流程示意图二。
具体实施方式
本申请提供了一种存储设备,该存储设备包括:处理器、存储器和网卡,网卡包括数据处理芯片、存储介质和光收发器。存储器存储处理器写入的待发送数据。数据处理芯片将待发送数据从存储器写入存储介质。以及,数据处理芯片还读取存储介质中的待发送数据,并将待发送数据映射到数据处理芯片生成的OTN帧的净荷区。光收发器发送该OTN帧。在本实施例中,数据的OTN封装从OTN中的端侧设备调整到了存储设备中的网卡,使得数据不需经由多个设备的传输和封装即可生成映射有该数据的OTN帧,减少了数据从存储器到光收发器之间的传输时延,提高了数据通信效率。而且,由于数据无需经由以太交换机进行处理,因此,存储设备将数据封装为OTN帧所采用的协议栈也无需使用以太网协议,减少了生成OTN帧所需的封装流程以及OTN帧中所包含的数据量,有利于进一步提高数据的通信效率。
举例来说,由于网卡可直接将数据不经过以太封装,直接封装成OTN帧,且网卡支持插在端侧存储设备上,因此,存储设备可直接在端侧输出OTN帧,不经过以太交换机的转发,实现了光通信网络中端侧设备到端侧设备的硬管道传输能力,避免了数据通信过程中的丢包,提高了数据的通信效率。
为了下述各实施例的描述清楚简洁,首先给出相关技术的简要介绍。
RDMA:通过网络把资料或数据直接传入计算机的存储区,将数据从一个系统快速移动到远程系统存储器中,而不对操作系统造成任何影响,这样就不需要用到计算机的处理功能。它消除了外部存储器复制和上下文切换的开销,因而能解放内存带宽和CPU周期,以改进应用系统性能。
基于融合以太网的第二版RDMA(RDMA over Converged Ethernet version 2,RoCEv2)协议是一种基于用户数据报协议(User Datagram Protocol,UDP)的协议,将无限带宽(InfiniBand,IB)协议报文封装在UDP报文中在以太网上传送,存储设备通过网卡将待传输的数据发送给以太交换机汇聚后通过OTN网络传输。
图1为本申请实施例提供的一种光通信系统的结构示意图,该光通信系统包括:数据中心(data center,DC)1和数据中心2,该数据中心2与该数据中心1通过光纤传输数据并实现通信。
不同的数据中心可以部署在相同或不同的城市。数据中心可以包括:服务器、以太交换机、光网络设备和存储设备。如图1所示,数据中心1包括:服务器111、以太交换机21、光网络设备31和存储设备121,数据中心2包括:服务器112、以太交换机22、光网络设备32和存储设备122。
以数据中心1为例,对数据中心包括的各硬件设备进行说明。以太交换机21可以是路由转发设备,例如,路由转发设备可以是路由器或交换机等。光网络设备31可以是光通信系统中通过光传输介质(如光纤)等传输光信号的设备。服务器111可以是应用服务器或认证授权服务器。服务器111可以提供视频服务、游戏服务、消息服务、音乐服务、认证授权服务等。在一种示例中,可以将多个服务的功能集成在服务器111上,例如,游戏服务和音乐服务可以部署在服务器111上。在另一种示例中,还可以是服务器111上集成了部分服务的功能,例如,服务器111上部署了游戏服务的部分服务和视频服务的部分服务。服务器111还可以利用虚拟化技术提供多个虚拟机,由虚拟机提供各项服务。本申请实施例对服务的部署形态不予限定。
存储设备121可以包括:处理器、存储器和网卡等设备,如图2A所示,图2A为本申请实施例提供的一种存储设备的结构示意图一,图2A所示的存储设备121可以是一个集中式存储系统。集中式存储系统的特点是有一个统一的入口,所有从外部设备来的数据都要经过这个入口,这个入口就是集中式存储系统的引擎。引擎是集中式存储系统中最为核心的部件,许多存储系统的高级功能都在其中实现。
引擎中可以有一个或多个控制器,图2A以引擎包含一个控制器为例予以说明。在一种可能的示例中,若引擎具有多个控制器,任意两个控制器之间可以具有镜像通道,实现任意两个控制器互为备份的功能,从而避免硬件故障导致整个存储设备121的不可用。应理解,若引擎包括多个控制器,则引擎也可以称为存储设备121的阵列控制器。
引擎还包含前端接口1211和后端接口1214,其中前端接口1211用于与计算设备通信,从而为计算设备提供数据访问服务。而后端接口1214用于与硬盘通信,以扩充存储设备121的容量。通过后端 接口1214,引擎可以连接更多的硬盘,从而形成一个非常大的存储资源池。
在硬件上,如图2A所示,控制器至少包括处理器1212、内存1213。处理器1212是一个中央处理单元(central processing unit,CPU),用于处理来自存储设备121外部(服务器或者其他存储系统)的数据访问请求,也用于处理存储设备121内部生成的请求。示例性的,处理器1212通过前端接口1211接收计算设备发送的写数据请求时,会将这些写数据请求中的数据暂时保存在内存1213中。当内存1213中的数据总量达到一定阈值时,处理器1212通过后端端口将内存1213中存储的数据发送给机械硬盘1221、机械硬盘1222、固态硬盘(solid state drive,SSD)1223或其他硬盘1224中至少一个硬盘进行持久化存储。
内存1213是指与处理器直接交换数据的内部存储器,它可以随时读写数据,而且速度很快,作为操作系统或其他正在运行中的程序的临时数据存储器。内存包括至少两种存储器,例如内存既可以是随机存取存储器,也可以是只读存储器(read only memory,ROM)。举例来说,随机存取存储器是DRAM,或者SCM。DRAM是一种半导体存储器,与大部分随机存取存储器(random access memory,RAM)一样,属于一种易失性存储器(volatile memory)设备。然而,DRAM和SCM在本实施例中只是示例性的说明,内存还可以包括其他随机存取存储器,例如静态随机存取存储器(static random access memory,SRAM)等。而对于只读存储器,举例来说,可以是可编程只读存储器(programmable read only memory,PROM)、可抹除可编程只读存储器(erasable programmable read only memory,EPROM)等。
另外,内存1213还可以是双列直插式存储器模块或双线存储器模块(dual in-line memory module,DIMM),即由动态随机存取存储器(DRAM)组成的模块,还可以是SSD。实际应用中,控制器中可配置多个内存1213,以及不同类型的内存1213。本实施例不对内存1213的数量和类型进行限定。此外,可对内存1213进行配置使其具有保电功能。保电功能是指系统发生掉电又重新上电时,内存1213中存储的数据也不会丢失。具有保电功能的内存被称为非易失性存储器。
内存1213中存储有软件程序,处理器1212运行内存1213中的软件程序可实现对硬盘的管理。例如将硬盘抽象化为存储资源池,并将存储资源池以逻辑单元号(logical unit number,LUN)的形式提供给服务器使用等。这里的LUN其实就是在服务器上看到的硬盘。当然,一些集中式存储系统本身也是文件服务器,可以为服务器提供共享文件服务。
如图2A所示,在该系统中,引擎可以不具有硬盘槽位,硬盘需要放置在硬盘框中,后端接口1214与硬盘框通信。后端接口1214以适配卡的形态存在于引擎中,一个引擎上可以同时使用两个或两个以上后端接口1214来连接多个硬盘框。或者,适配卡也可以集成在主板上,此时适配卡可通过外围部件互连标准(Peripheral Component Interconnect Express,PCIe)总线与处理器1212通信。
需要说明的是,图2A中只示出了一个引擎,然而在实际应用中,存储系统中可包含两个或两个以上引擎,多个引擎之间做冗余或者负载均衡。
硬盘框包括控制单元1225和若干个硬盘。控制单元1225可具有多种形态。一种情况下,硬盘框属于智能盘框,如图2A所示,控制单元1225包括CPU和内存。CPU用于执行地址转换以及读写数据等操作。内存用于临时存储将要写入硬盘的数据,或者从硬盘读取出来将要发送给控制器的数据。另一种情况下,控制单元1225是一个可编程的电子部件,例如DPU。DPU具有CPU的通用性和可编程性,但更具有专用性,可以在网络数据包,存储请求或分析请求上高效运行。DPU通过较大程度的并行性(需要处理大量请求)与CPU区别开来。可选的,这里的DPU也可以替换成图形处理单元(graphics processing unit,GPU)、嵌入式神经网络处理器(neural-network processing units,NPU)等处理芯片。通常情况下,控制单元1225的数量可以是一个,也可以是两个或两个以上。控制单元1225的功能可以卸载到网卡1226上。换言之,在该种实施方式中,硬盘框内部不具有控制单元1225,而是由网卡1226来完成数据读写、地址转换以及其他计算功能。此时,网卡1226是一个智能网卡。它可以包含CPU和内存。CPU用于执行地址转换以及读写数据等操作。内存用于临时存储将要写入硬盘的数据,或者从硬盘读取出来将要发送给控制器的数据。也可以是一个可编程的电子部件,例如DPU。硬盘框中的网卡1226和硬盘之间没有归属关系,网卡1226可访问该硬盘框中任意一个硬盘(如图2A所示出的机械硬盘1221、机械硬盘1222、固态硬盘1223和其他硬盘1224),因此在存储空间不足时扩展硬盘会较为便捷。
按照引擎与硬盘框之间通信协议的类型,硬盘框可能是串行连接的小型计算机系统接口(serial  attached small computer system interface,SAS)的硬盘框,也可能是NVMe(Non-Volatile Memory express)硬盘框以及其他类型的硬盘框。SAS硬盘框,采用SAS3.0协议,每个框支持25块SAS硬盘。引擎通过板载SAS接口或者SAS接口模块与硬盘框连接。NVMe硬盘框,更像一个完整的计算机系统,NVMe硬盘插在NVMe硬盘框内。NVMe硬盘框再通过RDMA端口与引擎连接。
在一种可选的实现方式中,存储设备121为盘控一体的集中式存储系统,存储设备121中不具有上述的硬盘框,引擎用于管理通过硬盘槽连接的多个硬盘。硬盘槽的功能可以由后端接口1214实现。示例性的,存储设备121可以是指一个存储阵列,如存储介质全部是闪存的全闪存存储阵列。
作为一种可能的示例,网卡1226可以包括:数据处理芯片、光收发器和存储介质等。针对于以上的存储设备121,本示例提供另一种实现方式,如图2B所示,图2B为本申请实施例提供的一种存储设备的结构示意图二,该存储设备20包括:处理器21、存储器22和网卡23,三者之间可以通过PCIe接口进行通信连接。可选的,通信连接的方式也可以采用其他类型的接口或总线等,例如是通用串行总线(universal serial bus,USB)、计算快速互联(compute express link,CXL)或者其他类型的总线或接口等,本申请对此不予限定。
关于处理器21和存储器22的具体实现方式可以参照图2A的相关描述,不予赘述。
如图2B所示,网卡23包括:第一芯片231、第二芯片232、缓存233和光收发器24。
示例性的,该第一芯片231可以是DPU或者其他具有数据处理功能的处理器等。例如,第一芯片231用于将存储在存储器22中的数据写入缓存233。
第二芯片232可以是成帧芯片,该第二芯片232用于将缓存233中存储的数据映射到OTN帧的净荷区。
缓存233可以用于临时存储第一芯片231读取的数据,或者用于临时存储光收发器24接收到的数据等。在一种可能的示例中,缓存233可以是指cache。在另一种可能的示例中,缓存233也可以替换为其他类型的存储介质,例如DRAM、SCM、机械硬盘或者SSD等等。
光收发器24用于发送OTN帧到光通信系统中的其他光网络设备,以及,接收来自其他光网络设备发送的OTN帧或者其他光信号等。
在一些可能的示例中,第一芯片231和第二芯片232所包括的逻辑电路可以集成在一个印制电路板(printed circuit boards,PCB)。因此,第一芯片231和第二芯片232也可合称为数据处理芯片、数据处理模组、数据处理装置或者数据处理单元等。在本申请的后续实施例中,以数据处理芯片为例对第一芯片231和第二芯片232的功能进行详细说明。
值得注意的是,以上图2A和图2B仅为本申请实施例提供的两种存储设备的可能实现方式,两种存储设备包括的各设备可以互换,在不同图示中所采用的名字不同,但是均可以实现本申请实施例提供的存储设备的功能,以实现光通信系统中的光信号传输功能。举例来说,网卡23可用于实现网卡1226的功能,网卡1226也可以包括网卡23所包括的各个芯片和缓存等,本申请对此不予限定。
下面结合前述实施例提供的存储设备20,对本申请实施例提供的数据通信方法进行说明。
图3为本申请实施例提供的一种数据通信方法的流程示意图一。该数据通信方法可以应用于图1所示出的光通信系统,该数据通信方法由存储设备20执行,关于该存储设备20的硬件实现可参照图2B的相关描述,不予赘述。如图3所示,本申请实施例提供的数据通信方法包括以下步骤S310至S350。
S310、处理器21获取数据访问请求。
其中,该数据访问请求用于请求保存在存储器22中的待发送数据。
一种可能的示例中,数据访问请求是处理器21根据存储设备20所执行的业务所生成的。
另一种可能的示例中,该数据访问请求是处理器21从其他设备中接收的,例如该其他设备可以是如图1所示的服务器111,或者与服务器111通信的客户端(用户端)等。
S320、处理器21判断待发送数据的数据量是否大于或等于设定的阈值。
例如,该设定的阈值为100百万字节(million byte,MB)、500MB或者其他值等。
若待发送数据的数据量大于或等于设定的阈值,则继续执行S330。
举例来说,RDMA应用发起数据传输任务时,识别本次任务为长距大数据量传输任务(10GB数据传输1000公里),通知数据处理芯片启动长距数据传输。
S330、数据处理芯片将待发送数据从存储器22写入缓存233。
这里的数据处理芯片可以包括图2B所示出的第一芯片231和第二芯片232等。
举例来说,第一芯片231可将待发送数据从存储器22写入缓存233。关于第一芯片将数据从存储器写入缓存的具体实现过程可参照以下图5的相关描述,在此不予赘述。
S340、数据处理芯片读取缓存233中的待发送数据,并将待发送数据映射到数据处理芯片生成的OTN帧的净荷区。
示例性的,第二芯片232将待发送数据映射到多个OSU帧,该待发送数据承载于多个OSU帧的净荷区;以及,第二芯片232将多个OSU帧映射到OTN帧。
在本实施例中,第二芯片可以将数据映射到不同OSU帧的净荷区,使得待发送数据可以以更细的时隙颗粒度来进行数据通信,且OSU技术从一开始就考虑无损调整的需求,和OTN通信不存在兼容的问题,使得待发送数据的通信过程能够支持更大的无损带宽调整范围,有利于提高数据通信效率。
这里的无损带宽调整包括:带宽增加、带宽减少和带宽回退中至少一种。其中的带宽回退用于指示出现问题后恢复原始状态的操作。有关OSU技术更多的内容可参照通常技术的描述,在此不予赘述。
S350、光收发器24发送S340中生成的OTN帧。
在本实施例中,存储设备中的网卡实现数据的OTN封装功能,使得数据不需经由多个设备的传输和封装即可生成映射有该数据的OTN帧,减少了数据从存储器到光收发器之间的传输时延,提高了数据通信效率。
而且,由于数据无需经由以太交换机进行处理,因此,存储设备将数据封装为OTN帧所采用的协议栈也无需使用以太网协议,减少了生成OTN帧所需的封装流程以及OTN帧中所包含的数据量,有利于进一步提高数据的通信效率。
举例来说,由于网卡可直接将数据不经过以太封装,直接封装成OTN帧,且网卡支持插在端侧存储设备上,因此,存储设备可直接在端侧输出OTN帧,不经过以太交换机的转发,实现了光通信网络中端侧设备到端侧设备的硬管道传输能力,避免了数据通信过程中的丢包,提高了数据的通信效率。
结合协议栈的实现对本申请实施例的有益效果进行说明:通常技术中,数据需经由存储器-网卡-交换机-光网络设备,数据被封装为OTN帧的过程中所采用的协议栈包括如下表1所示的内容。
表1
其中,帧校验序列(Frame Check Sequence,FCS)为计算机网络数据链路层的协议数据单元(帧)的尾部字段,是一段4个字节的循环冗余校验码。一些示例中,FCS又称帧尾。
IB payload用于承载消息负载,如RDMA消息或数据等。
IB BTH为IB协议提供的基本传输头(InfiniBand base transport header,IB BTH),该IB BTH字段用于指示目的QP(destination QP)、操作码(operation code)、报文序列号(packet sequence numbers,PSN)和分区(partition)。BTH字段中的操作码字段(OpCode field)决定了SEND消息的起始和结束。
用户数据报协议(user datagram protocol,UDP)字段用于指示报文的载荷是RDMA消息。互联网协议(internet protocol,IP)字段用于通过交换机进行三层转发。ETH header字段用于指示以太网传输过程中的附加字段等。OTN header字段用于指示光传送网络过程中对光信号进行处理的帧头。
相比之下,在本申请实施例提供的数据通信方法中,数据需经由存储器-网卡-光网络设备,数据被封装为OTN帧的过程中所采用的协议栈包括如下表2所示的内容。
表2
可知,该协议栈通过传输层IB协议直接承载在物理层OSU协议上实现极简协议栈,在传输应用上,存储设备直接出OTN信号(OTN帧)对接光网络设备(或光传送设备),做到从端侧到网络侧之间的端到端硬管道传输。在一些可选的示例中,该极简协议栈也可称为RDMA over OSU,利用OTN零丢包、低时延、传输距离长的优势,极大提升不同DC之间长距传输的通信效率。
比较表1和表2的OTN帧的格式,可知两者采用的协议栈不同,如图4所示,图4为本申请实施 例提供的协议栈的结构示意图,本申请提供的技术方案中OTN帧所采用的协议栈包括:RDMA应用层协议(RDMA application protocol)、IB传输协议、OSU连接层协议(OSU link layer protocol)、OSU物理层协议(OSU physical layer protocol,OSU PHY layer)。在本实施例中,RDMA应用层直接承载在物理层帧格式(OTN帧),如RDMA应用层直接作为OSU的服务层封装到OSU的净荷中,RDMA与OSU之间相互联动和配合以完成整个业务封装和解封装过程。
在一些可选的实现方式中,若待发送数据的数据量小于设定的阈值,则存储设备可以指示不同DC之间的小数据量传输任务仍然走交换机传输路径,如图1所示出的存储设备121-存储设备121包括的网卡-以太交换机21-光网络设备31。
而批量的大数据量长距传输直接通过存储设备的OTN网卡对接OTN传输设备进行传输,存储设备可直接在端侧输出OTN帧,不经过以太交换机的转发,实现了光通信网络中端侧设备到端侧设备的硬管道传输能力,避免了数据通信过程中的丢包,提高了数据的通信效率。
在另一些可选的实现方式中,以上的光收发器24在发送S340中生成的OTN帧之后,该光收发器24还可以接收目标存储设备的数据写响应。该数据写响应用于指示待发送数据已写入目标存储设备。
示例性的,该目标存储设备可以是指图1中的存储设备122。在一些可行的示例中,该数据写响应可以是由存储设备122包括的网卡生成并发送的OTN帧。
在本实施例中,在光收发器接收到目标存储设备的数据写响应后,存储设备确定数据的本次传输结束,避免了存储设备为该次数据传输预留硬件资源(如计算资源或存储资源)导致的资源消耗,有利于存储设备将有限的硬件资源用于执行其他业务。
针对于以上的S330和S340的实现过程,本申请实施例提供了一种可能的实现方式,如图5所示,图5为本申请实施例提供的一种数据通信方法的流程示意图二,网卡接收和发送数据通常采用消息队列的方式,消息队列包括一组队列对(queue pair,QP),QP包括发送队列和接收队列,如网卡23中用于发送数据的消息队列是发送队列(SQ),网卡23中用于接收数据的消息队列是接收队列(RQ)。消息队列是多个主机(或存储设备)之间进行通信所采用的连接方式,例如,多个主机之间可以利用TCP/IP协议建立多条连接,每条连接都有一个接收队列和发送队列,该接收队列和发送队列用于传输该连接的数据。
示例性的,存储器22维护有一个或多个RDMA发送队列(send queue,SQ),这一个或多个SQ可以包括SQ 1至SQ N等,每个SQ中存储有多个数据的WQE。示例性的,WQE包括:数据的源地址、目标地址、存放数据的内存地址、目的存储设备标识、传输完成时长、数据量等等。关于WQE的更多内容可参照通常技术的相关描述,在此不予赘述。相应的,存储器22还维护有RDMA接收队列(receive queue,RQ),RQ用于接收数据的消息。
本实施例以SQ 1为例进行说明,SQ 1也可称为第一发送队列,该SQ 1中存储有一个或多个数据的WQE,该一个或多个数据包括前述的待发送数据。
如图5所示,光收发器24还用于提供多个OTN通道(如图5中的通道1和通道2),其中,一个OTN通道用于传输一个SQ对应的数据。举例来说,通道1用于传输SQ 1中WQE1和WQE2对应的数据。
本申请实施例以第一芯片231是DPU、第二芯片232是OTN芯片为例进行说明,本实施例提供的数据通信方法包括以下的步骤①至步骤⑩。
步骤①:RDMA应用发起数据传输任务,并在SQ中记录数据传输任务对应的数据的WQE。如图5中的WQE1至WQEm。
步骤②:DPU(第一芯片231)从SQ 1中读取待发送数据的WQE,并根据WQE指示的源地址,将待发送数据从存储器22写入缓存233。
举例来说,RDMA应用通知DPU本次待传输的数据量、期望传输完成时间、存放数据的内存地址、目的地址等WQE信息。
步骤③:数据处理芯片为待发送数据的WQE和多个OTN通道中的第一OTN通道建立映射关系。
示例性的,待发送数据的WQE可以是例如图5所示出的WQE1,第一OTN通道可以是例如图5所示出的通道1。该映射关系用于指示:待发送数据能够通过第一OTN通道(通道1)进行传输。
在一种可能的情形中,数据处理芯片包括的OTN芯片与RDMA QP队列产生关联关系,QP队列 生成后(如SQ 1),OTN芯片给该SQ 1分配对应承载的OTN通道。
步骤④:DPU将待发送数据从存储器22写入网卡的缓存。
例如,网卡中的缓存233维护有多个队列,这多个队列包括第一队列(QM1),第一队列对应的存储空间用于存储待发送数据。在OTN芯片建立SQ和OTN通道之间的映射关系的过程中,OTN芯片为QM1与通道1建立映射关系。如WQE1和WQE2对应的数据通过QM1对应的通道1传输,WQEm对应的数据通过QM2对应的通道2传输。
在本实施例中,网卡中不同的芯片用于实现不同的功能,DPU实现网卡和应用层的交互,OTN芯片实现网卡和光通信网络的交互,因此,由网卡中不同芯片之间进行协调即可实现数据从存储器至光通信网络中的硬管道传输,有利于提高数据的通信效率。
步骤⑤:OTN芯片读取缓存中的待发送数据,并将待发送数据映射到OTN芯片生成的OTN帧的净荷区。
如图5所示,OTN芯片包括多个模块:队列管理(queue management,QM)单元、光线路侧报文处理(optical line packet,OLPKT)模块、消费交换(customer exchange,CXC)模块、OTN低线点(OTN Lite Line Node,OLLN)。其中,QM用于实现多队列管理、数据反压处理等功能;OLPKT用于将待发送数据编码转换成256/257B格式,并切成OSU固定长度信元(OSU帧);CXC模块用于将OSU帧进行入通道和出通道映射;OLLN模块用于完成OTN维护信号下插和解析等。
举例来说,OTN芯片将待发送数据切分为多个192B大小的数据单元,并将一个数据单元映射到一个OSU帧的净荷区,并在多个数据单元均映射到OSU帧的净荷区后,将多个OSU帧映射到OTN帧。关于OTN帧的格式可以参照表2的内容,在此不予赘述。
在一种可选的实现方式中,本申请实施例提供的数据通信方法还包括:OTN芯片判断QM1的数据流速率是否大于或等于设定的速率阈值,若数据流速率大于或等于设定的速率阈值,则OTN芯片指示DPU调低向QM1写数据的数据流速率。其中的数据流速率为单位时间内,DPU向QM1中写入的数据量。
值得注意的是,以上设定的速率阈值可以是根据OTN芯片和DPU的硬件特性来设置的。在一些可选的情形中,设定的速率阈值也可以是用户根据不同DC之间的数据通信要求来设置的,本申请对此不予限定,例如该速率阈值可以是5GB/s、500MB/s或其他数值等。
在OTN芯片处理数据的预期速度过大的情况下,如OTN芯片的数据流速度大于或等于设定的速率阈值,则OTN芯片可以指示DPU调低向第一队列写数据的数据流速率,从而降低OTN芯片在单位时间内所要处理(如封装)的数据量,以减小OTN芯片的通信负荷,有利于避免OTN芯片的网络丢包,提高光通信网络的通信性能。
步骤⑥:光收发器24通过通道1将待发送数据对应的OTN帧发送到目标存储设备。
示例性的,目标存储设备和源存储设备可以是指位于不同DC的存储设备,如该目标存储设备是指图1中所示出的存储设备122,源存储设备可以是指图1中所示出的存储设备121。两个存储设备之间可以通过长距离光纤来传输OTN帧。
在本申请实施例中,目标存储设备也称为源存储设备的对端存储设备(简称:对端)。
步骤⑦:目标存储设备中的对端OTN芯片解析接收到的OTN帧,并将前述的待发送数据写入到对端网卡的缓存中。
举例来说,对端OTN芯片接收到数据帧(OTN帧)后,OLLN模块解析出OTN维护信号,判断该OTN帧是否有告警,在没有告警的情况下,CXC模块将数据进行OTN通道解映射,解析出RDMA数据(待发送数据)后写入对端网卡中缓存维护的QM队列。
步骤⑧:对端DPU从QM队列获取接收到的数据,直接存放入目标存储设备的对端存储器(如内存或硬盘)。
步骤⑨:在对端DPU将待发送数据写入对端存储器之后,对端OTN芯片通过光收发器向源存储设备的网卡发送数据写响应。
示例性的,该数据写响应可以是采用OTN帧的格式来传输的,该数据写响应用于指示:待发送数据已写入目标存储设备的存储器中。
步骤⑩:源存储设备的DPU接收到数据写响应后,获知本次数据传输完成,生成传输完成队列信 息CQ1,并将CQ1放置到CQ队列,然后通知RDMA应用本次数据传输完成。
存储设备中的RDMA队列可和光收发器提供的OTN通道建立映射关系,使得不同RDMA队列的数据经由不同的OTN通道进行传输,其中,映射关系是网卡基于RDMA队列中记录的数据的WQE来建立的,避免了光收发器将数据对应的OTN帧发送到与数据的WQE不匹配的OTN通道,提高了数据通信的准确性。
而且,在后续的其他数据的通信过程中,若网卡已经建立了该其他数据的WQE和第一OTN通道的映射关系,则网卡可复用该映射关系,以将映射有该其他数据的OTN帧通过第一OTN通道进行传输,进一步提高了光通信网络中的数据通信效率。
本实施例中的方法步骤可以通过硬件的方式来实现,也可以由处理器执行软件指令的方式来实现。软件指令可以由相应的软件模块组成,软件模块可以被存放于随机存取存储器(random access memory,RAM)、闪存、只读存储器(read-only memory,ROM)、可编程只读存储器(programmable ROM,PROM)、可擦除可编程只读存储器(erasable PROM,EPROM)、电可擦除可编程只读存储器(electrically EPROM,EEPROM)、寄存器、硬盘、移动硬盘、CD-ROM或者本领域熟知的任何其它形式的存储介质中。一种示例性的存储介质耦合至处理器,从而使处理器能够从该存储介质读取信息,且可向该存储介质写入信息。当然,存储介质也可以是处理器的组成部分。处理器和存储介质可以位于ASIC中。另外,该ASIC可以位于计算设备中。当然,处理器和存储介质也可以作为分立组件存在于网络设备或终端设备中。
本申请还提供一种芯片系统,该芯片系统包括处理器,用于实现上述方法中数据处理单元的功能。在一种可能的设计中,所述芯片系统还包括存储器,用于保存程序指令和/或数据。该芯片系统,可以由芯片构成,也可以包括芯片和其他分立器件。
在上述实施例中,可以全部或部分地通过软件、硬件、固件或者其任意组合来实现。当使用软件实现时,可以全部或部分地以计算机程序产品的形式实现。所述计算机程序产品包括一个或多个计算机程序或指令。在计算机上加载和执行所述计算机程序或指令时,全部或部分地执行本申请实施例所述的流程或功能。所述计算机可以是通用计算机、专用计算机、计算机网络、网络设备、用户设备或者其它可编程装置。所述计算机程序或指令可以存储在计算机可读存储介质中,或者从一个计算机可读存储介质向另一个计算机可读存储介质传输,例如,所述计算机程序或指令可以从一个网站站点、计算机、服务器或数据中心通过有线或无线方式向另一个网站站点、计算机、服务器或数据中心进行传输。所述计算机可读存储介质可以是计算机能够存取的任何可用介质或者是集成一个或多个可用介质的服务器、数据中心等数据存储设备。所述可用介质可以是磁性介质,例如,软盘、硬盘、磁带;也可以是光介质,例如,数字视频光盘(digital video disc,DVD);还可以是半导体介质,例如,固态硬盘(solid state drive,SSD)。
以上所述,仅为本申请的具体实施方式,但本申请的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本申请揭露的技术范围内,可轻易想到各种等效的修改或替换,这些修改或替换都应涵盖在本申请的保护范围之内。因此,本申请的保护范围应以权利要求的保护范围为准。

Claims (19)

  1. 一种存储设备,其特征在于,包括:处理器、存储器和网卡,所述网卡包括数据处理芯片、存储介质和光收发器;
    所述存储器,用于存储所述处理器写入的待发送数据;
    所述数据处理芯片,用于将所述待发送数据从所述存储器写入所述存储介质;
    所述数据处理芯片,还用于读取所述存储介质中的待发送数据,并将所述待发送数据映射到所述数据处理芯片生成的光传送网络OTN帧的净荷区;
    所述光收发器,用于发送所述OTN帧。
  2. 根据权利要求1所述的存储设备,其特征在于,
    所述存储器,还用于维护至少一个远程直接存储访问RDMA发送队列,所述至少一个RDMA发送队列包括第一发送队列,所述第一发送队列中存储有一个或多个数据的工作队列元素WQE,所述一个或多个数据包括所述待发送数据;
    所述光收发器,还用于提供多个OTN通道,其中,一个OTN通道用于传输一个RDMA发送队列对应的数据;
    所述数据处理芯片,还用于:从所述第一发送队列中读取所述待发送数据的WQE,并为所述WQE和所述多个OTN通道中的第一OTN通道建立映射关系;其中,所述映射关系用于指示:所述待发送数据能够通过所述第一OTN通道进行传输。
  3. 根据权利要求2所述的存储设备,其特征在于,所述数据处理芯片包括:第一芯片和第二芯片;
    所述第一芯片,用于从所述第一发送队列中读取所述待发送数据的WQE;
    以及,所述第一芯片,还用于:根据所述WQE指示的源地址,将所述待发送数据从所述存储器写入所述存储介质;
    所述第二芯片,用于:为所述WQE和所述多个OTN通道中的第一OTN通道建立所述映射关系;
    以及,所述第二芯片,还用于:读取所述存储介质中的待发送数据,并将所述待发送数据映射到所述第二芯片生成的OTN帧的净荷区。
  4. 根据权利要求3所述的存储设备,其特征在于,所述存储介质维护有多个队列;
    所述第一芯片,具体用于:根据所述WQE指示的源地址,将所述待发送数据从所述存储器写入所述多个队列中第一队列对应的存储空间;
    所述第二芯片,具体用于:为所述第一队列与所述第一OTN通道建立所述映射关系。
  5. 根据权利要求4所述的存储设备,其特征在于,
    所述第二芯片,还用于判断所述第一队列的数据流速率是否大于或等于设定的速率阈值;所述数据流速率为单位时间内,所述第一芯片向所述第一队列中写入的数据量;
    若所述数据流速率大于或等于设定的速率阈值,则所述第二芯片还用于指示所述第一芯片调低向所述第一队列写数据的数据流速率。
  6. 根据权利要求3-5中任一项所述的存储设备,其特征在于,
    所述第二芯片,具体用于:将所述待发送数据映射到多个光业务单元OSU帧;所述待发送数据承载于所述多个OSU帧的净荷区;以及,将所述多个OSU帧映射到OTN帧。
  7. 根据权利要求1-6中任一项所述的存储设备,其特征在于,
    所述处理器,用于获取数据访问请求,所述数据访问请求用于请求所述待发送数据;
    所述处理器,还用于判断所述待发送数据的数据量大于或等于设定的阈值;
    所述数据处理芯片,具体用于:若所述待发送数据的数据量大于或等于设定的阈值,将所述待发送数据从所述存储器写入所述存储介质。
  8. 根据权利要求1-6中任一项所述的存储设备,其特征在于,
    所述光收发器,还用于接收目标存储设备的数据写响应,所述数据写响应用于指示所述待发送数据已写入所述目标存储设备。
  9. 一种数据通信方法,其特征在于,所述方法由存储设备执行,所述存储设备包括:处理器、存储器和网卡,所述存储器用于存储所述处理器写入的待发送数据,所述网卡包括数据处理芯片、存储介质 和光收发器;
    所述方法包括:
    所述数据处理芯片将所述待发送数据从所述存储器写入所述存储介质;
    所述数据处理芯片读取所述存储介质中的待发送数据,并将所述待发送数据映射到所述数据处理芯片生成的光传送网络OTN帧的净荷区;
    所述光收发器发送所述OTN帧。
  10. 根据权利要求9所述的方法,其特征在于,所述存储器还用于维护至少一个远程直接存储访问RDMA发送队列,所述至少一个RDMA发送队列包括第一发送队列,所述第一发送队列中存储有一个或多个数据的工作队列元素WQE,所述一个或多个数据包括所述待发送数据;
    所述光收发器用于提供多个OTN通道,其中,一个OTN通道用于传输一个RDMA发送队列对应的数据;
    所述数据处理芯片读取所述存储介质中的待发送数据,包括:
    所述数据处理芯片从所述第一发送队列中读取所述待发送数据的WQE,并根据所述WQE指示的源地址,将所述待发送数据从所述存储器写入所述存储介质;
    在所述光收发器发送所述OTN帧之前,所述方法还包括:
    所述数据处理芯片为所述WQE和所述多个OTN通道中的第一OTN通道建立映射关系;其中,所述映射关系用于指示:所述待发送数据能够通过所述第一OTN通道进行传输。
  11. 根据权利要求10所述的方法,其特征在于,所述数据处理芯片包括:第一芯片和第二芯片;
    所述数据处理芯片从所述第一发送队列中读取所述待发送数据的WQE,并根据所述WQE指示的源地址,将所述待发送数据从所述存储器写入所述存储介质,包括:
    所述第一芯片从所述第一发送队列中读取所述待发送数据的WQE,并根据所述WQE指示的源地址,将所述待发送数据从所述存储器写入所述存储介质;
    所述数据处理芯片为所述WQE和所述多个OTN通道中的第一OTN通道建立映射关系,包括:
    所述第二芯片为所述WQE和所述多个OTN通道中的第一OTN通道建立所述映射关系;
    所述数据处理芯片将所述待发送数据映射到所述数据处理芯片生成的OTN帧的净荷区,包括:
    所述第二芯片读取所述存储介质中的待发送数据,并将所述待发送数据映射到所述第二芯片生成的OTN帧的净荷区。
  12. 根据权利要求11所述的方法,其特征在于,所述存储介质维护有多个队列,所述多个队列包括第一队列,所述第一队列对应的存储空间用于存储所述待发送数据;
    所述第二芯片为所述WQE和所述多个OTN通道中的第一OTN通道建立所述映射关系,包括:
    所述第二芯片为所述第一队列与所述第一OTN通道建立所述映射关系。
  13. 根据权利要求12所述的方法,其特征在于,所述方法还包括:
    所述第二芯片判断所述第一队列的数据流速率是否大于或等于设定的速率阈值;所述数据流速率为单位时间内,所述第一芯片向所述第一队列中写入的数据量;
    若所述数据流速率大于或等于设定的速率阈值,则所述第二芯片指示所述第一芯片调低向所述第一队列写数据的数据流速率。
  14. 根据权利要求11-12中任一项所述的方法,其特征在于,
    所述数据处理芯片将所述待发送数据映射到所述数据处理芯片生成的OTN帧的净荷区,包括:
    所述第二芯片将所述待发送数据映射到多个光业务单元OSU帧;所述待发送数据承载于所述多个OSU帧的净荷区;
    所述第二芯片将所述多个OSU帧映射到OTN帧。
  15. 根据权利要求9-14中任一项所述的方法,其特征在于,在所述数据处理芯片将所述待发送数据从所述存储器写入所述存储介质之前,所述方法还包括:
    所述处理器获取数据访问请求,所述数据访问请求用于请求所述待发送数据;
    所述处理器判断所述待发送数据的数据量大于或等于设定的阈值;
    若所述待发送数据的数据量大于或等于设定的阈值,所述数据处理芯片将所述待发送数据从所述存储器写入所述存储介质。
  16. 根据权利要求9-15中任一项所述的方法,其特征在于,所述方法还包括:
    所述光收发器接收目标存储设备的数据写响应,所述数据写响应用于指示所述待发送数据已写入所述目标存储设备。
  17. 一种光通信系统,其特征在于,所述系统包括:存储设备和光网络设备;其中:
    所述存储设备包括:处理器、存储器和网卡,所述网卡包括数据处理芯片、存储介质和光收发器;
    所述存储器,用于存储所述处理器写入的待发送数据;
    所述数据处理芯片,用于将所述待发送数据从所述存储器写入所述存储介质;
    所述数据处理芯片,还用于读取所述存储介质中的待发送数据,并将所述待发送数据映射到所述数据处理芯片生成的OTN帧的净荷区;
    所述光收发器,用于向所述光网络设备发送所述OTN帧。
  18. 一种计算机可读存储介质,其特征在于,包括:计算机软件指令;当所述计算机软件指令在存储设备中运行时,所述存储设备执行权利要求9-16中任一项所述的方法。
  19. 一种计算机程序产品,其特征在于,当所述计算机程序产品在存储设备中运行时,所述存储设备执行权利要求9-16中任一项所述的方法。
PCT/CN2023/140344 2022-12-27 2023-12-20 一种存储设备、数据通信方法以及系统 Ceased WO2024140375A1 (zh)

Priority Applications (2)

Application Number Priority Date Filing Date Title
EP23910304.7A EP4625853A4 (en) 2022-12-27 2023-12-20 STORAGE DEVICE, AND METHOD AND SYSTEM FOR DATA COMMUNICATION
US19/245,593 US20260106684A1 (en) 2022-12-27 2025-06-23 Storage device, data communication method, and system

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
CN202211691501.X 2022-12-27
CN202211691501.XA CN118264353A (zh) 2022-12-27 2022-12-27 一种存储设备、数据通信方法以及系统

Related Child Applications (1)

Application Number Title Priority Date Filing Date
US19/245,593 Continuation US20260106684A1 (en) 2022-12-27 2025-06-23 Storage device, data communication method, and system

Publications (1)

Publication Number Publication Date
WO2024140375A1 true WO2024140375A1 (zh) 2024-07-04

Family

ID=91606340

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/CN2023/140344 Ceased WO2024140375A1 (zh) 2022-12-27 2023-12-20 一种存储设备、数据通信方法以及系统

Country Status (4)

Country Link
US (1) US20260106684A1 (zh)
EP (1) EP4625853A4 (zh)
CN (1) CN118264353A (zh)
WO (1) WO2024140375A1 (zh)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN119835239A (zh) * 2024-12-31 2025-04-15 无锡众星微系统技术有限公司 一种基于rdma的单qp场景性能优化系统及方法
WO2026066110A1 (zh) * 2024-09-26 2026-04-02 华为技术有限公司 存储节点、存储阵列和数据访问方法

Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20030123493A1 (en) * 2001-12-19 2003-07-03 Nec Corporation Network, switching apparatus and OTN frame processing method for use therein; its circuit and integrated circuit
CN101155006A (zh) * 2006-09-30 2008-04-02 华为技术有限公司 一种固定速率业务传送的方法与装置
CN109491809A (zh) * 2018-11-12 2019-03-19 西安微电子技术研究所 一种降低高速总线延迟的通信方法
US20200026656A1 (en) * 2018-07-20 2020-01-23 International Business Machines Corporation Efficient silent data transmission between computer servers
CN113900972A (zh) * 2020-07-06 2022-01-07 华为技术有限公司 一种数据传输的方法、芯片和设备
CN115499084A (zh) * 2022-09-19 2022-12-20 中国电信股份有限公司 以太网业务传输方法、装置、电子设备及存储介质

Family Cites Families (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN111356037B (zh) * 2018-12-21 2021-08-20 深圳市海思半导体有限公司 光传送网线路带宽切换方法及装置
CN113395613B (zh) * 2020-03-11 2022-08-19 华为技术有限公司 一种业务承载的方法、装置和系统

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20030123493A1 (en) * 2001-12-19 2003-07-03 Nec Corporation Network, switching apparatus and OTN frame processing method for use therein; its circuit and integrated circuit
CN101155006A (zh) * 2006-09-30 2008-04-02 华为技术有限公司 一种固定速率业务传送的方法与装置
US20200026656A1 (en) * 2018-07-20 2020-01-23 International Business Machines Corporation Efficient silent data transmission between computer servers
CN109491809A (zh) * 2018-11-12 2019-03-19 西安微电子技术研究所 一种降低高速总线延迟的通信方法
CN113900972A (zh) * 2020-07-06 2022-01-07 华为技术有限公司 一种数据传输的方法、芯片和设备
CN115499084A (zh) * 2022-09-19 2022-12-20 中国电信股份有限公司 以太网业务传输方法、装置、电子设备及存储介质

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2026066110A1 (zh) * 2024-09-26 2026-04-02 华为技术有限公司 存储节点、存储阵列和数据访问方法
CN119835239A (zh) * 2024-12-31 2025-04-15 无锡众星微系统技术有限公司 一种基于rdma的单qp场景性能优化系统及方法

Also Published As

Publication number Publication date
EP4625853A4 (en) 2026-03-18
EP4625853A1 (en) 2025-10-01
US20260106684A1 (en) 2026-04-16
CN118264353A (zh) 2024-06-28

Similar Documents

Publication Publication Date Title
US20240388545A1 (en) Packet processing method, gateway device, and storage system
US7917682B2 (en) Multi-protocol controller that supports PCIe, SAS and enhanced Ethernet
US20260106684A1 (en) Storage device, data communication method, and system
US8725879B2 (en) Network interface device
TW202016744A (zh) 主機、非揮發性記憶體快速固態驅動器及儲存服務的方法
CN115701063B (zh) 一种报文传输方法以及通信装置
US20130138758A1 (en) Efficient data transfer between servers and remote peripherals
CN115858146A (zh) 内存扩展系统和计算节点
CN117221225A (zh) 一种网络拥塞通知方法、装置及存储介质
CN116250220A (zh) 一种多芯片封装结构、交换机
CN102843435A (zh) 一种在集群系统中存储介质的访问、响应方法和系统
CN113783808A (zh) 一种转发方式自适应切换的数据转发方法及装置
WO2022042396A1 (zh) 数据传输方法和系统、芯片
WO2015055008A1 (zh) 一种存储控制芯片及磁盘报文传输方法
US7580410B2 (en) Extensible protocol processing system
US12093571B1 (en) Accelerating request/response protocols
CN118590566A (zh) 应用于dpu的报文转发装置、方法、dpu设备和存储介质
CN118555034A (zh) 一种数据传输方法及计算机可读存储介质
CN1731730A (zh) 一种用于海量存储系统的核心存储交换平台系统
CN120881177B (zh) 一种通信方法、装置及存储介质
CN115529275B (zh) 一种报文处理系统及方法
CN118101605B (zh) 天文射电望远镜终端高性能数据交换方法及系统
CN118283135B (zh) Toe组件及其处理数据的方法
CN120803988B (zh) 基于ROCEv2的高带宽低延迟数据处理方法
CN118283134B (zh) Toe组件及其处理数据的方法

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: 23910304

Country of ref document: EP

Kind code of ref document: A1

WWE Wipo information: entry into national phase

Ref document number: 2023910304

Country of ref document: EP

ENP Entry into the national phase

Ref document number: 2023910304

Country of ref document: EP

Effective date: 20250624

NENP Non-entry into the national phase

Ref country code: DE

WWP Wipo information: published in national office

Ref document number: 2023910304

Country of ref document: EP