WO2015055008A1 - Storage controller chip and disk packet transmission method - Google Patents

Storage controller chip and disk packet transmission method Download PDF

Info

Publication number
WO2015055008A1
WO2015055008A1 PCT/CN2014/078367 CN2014078367W WO2015055008A1 WO 2015055008 A1 WO2015055008 A1 WO 2015055008A1 CN 2014078367 W CN2014078367 W CN 2014078367W WO 2015055008 A1 WO2015055008 A1 WO 2015055008A1
Authority
WO
WIPO (PCT)
Prior art keywords
message
network
storage
protocol
interface module
Prior art date
Application number
PCT/CN2014/078367
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 华为技术有限公司
Publication of WO2015055008A1 publication Critical patent/WO2015055008A1/en

Links

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
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0602Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
    • G06F3/0626Reducing size or complexity of storage systems
    • 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
    • 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/0658Controller construction arrangements
    • 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
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0668Interfaces specially adapted for storage systems adopting a particular infrastructure
    • G06F3/0671In-line storage system
    • G06F3/0673Single storage device

Definitions

  • the invention relates to a Chinese patent issued on October 15, 2013 by the Chinese Patent Office, the application number is 201310482817.2, and the invention name is "a storage control chip and a disk message transmission method". Priority of the application, the entire contents of which are incorporated herein by reference.
  • the present invention relates to the field of communications, and in particular, to a storage control chip and a disk message transmission method. Background technique
  • Storage devices are indispensable modules in most current communication devices and electronic devices.
  • the structure of the current storage device mainly includes a storage control and interface control circuit and a storage body (for example, a disk or a hard disk), wherein the storage control and interface control circuit includes a storage controller, a processor, and a network card controller, and the storage controller,
  • the processor and the NIC controller are connected through a Peripheral Component Interconnection Express (PCIE) interface, and the storage controller and the storage port are connected through another interface, for example: Serial Advanced Technology Attachment (SATA) or Serial Attached SCSI (SAS) interface.
  • the NIC controller is connected to an external network (for example, a device that reads a storage device) through other interfaces.
  • Ethernet Ethernet
  • FC Fibre Channel
  • FCoE Fibre Channel Over Ehternet
  • IB Infini Band
  • the storage controller needs to process PCIE, Small Computer System Interface (SCSI) and SATA protocol stacks or protocol stacks for PCIE, SCSI and SAS in the process of reading and writing data
  • the processor needs to handle PCIE and SCSI protocol stack
  • NIC interface needs to handle PCIE, SCSI and Eth stacks or handle PCIE, SCSI and IB protocol stacks.
  • Embodiments of the present invention provide a storage control chip and a disk packet transmission method, which can reduce the cost of the storage control and the interface control circuit.
  • a storage control chip including: a network interface module, a processing engine, and a storage interface module, where the network interface module includes a network side interface, and the network interface module passes the network side The interface is connected to the external network of the chip, the network interface module is connected to the processing engine through a data channel, and the processing engine is further connected to the storage interface module through a data channel, where the storage interface module includes a storage side interface The storage interface module is connected to the disk through the storage side interface; wherein:
  • the network interface module is configured to implement, by using network side protocol processing, to transmit a message between the external network and the processing engine;
  • the processing engine is configured to analyze the packet transmitted by the network interface module, or analyze the packet transmitted by the storage interface module, and represent the analysis result as a packet sent to the disk and sent to the device through the data channel. Storing the interface module, and expressing the analysis result as a message for sending to the external network to be sent to the network interface module through a data channel;
  • the storage interface module is configured to implement, by using a storage side protocol, to transmit a message between the disk and the processing engine.
  • the network interface module is further configured to receive, by using the network side interface, a network side protocol packet that is sent by an external network, including the first internal packet, and The network-side protocol packet is decapsulated to obtain a first target packet that includes the first internal packet, and the first target packet is sent to the processing engine through a data channel;
  • the processing engine is further configured to: obtain the first internal packet according to the first target packet, analyze and process the first internal packet, and obtain an analysis result, where the analysis result indicates the first internal report
  • the first internal is passed through the data channel Sending a message to the storage interface module
  • the storage interface module is further configured to perform storage side protocol encapsulation processing on the first internal packet to obtain a storage side protocol packet, and send the storage side protocol packet to the disk through the storage side interface.
  • the storage interface module is further configured to receive, by using the storage side interface, the sending of the disk a storage side protocol packet including a second internal packet, and decapsulating the storage side protocol packet to obtain the second internal packet, and sending the second internal packet to the device through a data channel Processing engine
  • the processing engine is further configured to perform analysis processing on the second internal packet to obtain an analysis result.
  • the analysis result indicates that the second internal packet is used for sending a message to an external network
  • the data channel is used to Transmitting, by the network interface module, a second target packet that includes the second internal packet;
  • the network interface module is further configured to perform the encapsulation processing on the second target packet to obtain a network side protocol packet, and send the network side protocol packet to the external network by using the network side interface.
  • the network interface module is configured to receive, by using the network side interface, an external network, including the first internal a network-side protocol of the network, and performing network-side protocol decapsulation processing on the network-side protocol to obtain the first internal packet, and then sending the first internal packet through a data channel To the processing engine; or
  • the network interface module is configured to: when the network side protocol packet includes a multi-layer protocol encapsulation, receive, by the network side interface, a network side protocol packet that is sent by an external network, including the first internal packet, and the The network side protocol packet performs the decapsulation processing of the first layer protocol to obtain the target packet including the first internal packet, and then sends the target packet to the processing engine through the data channel;
  • the network side protocol packet includes the multi-layer protocol encapsulation
  • the decapsulation process is performed on the target packet to obtain the first internal packet, and the first internal packet is analyzed and processed to obtain an analysis result.
  • the analysis result indicates that the first internal message is a message for reading a disk, the first internal message is sent to the storage interface module through a data channel.
  • the processing engine is configured to perform an analysis process on the second internal packet to obtain an analysis result, where the analysis is performed The result indicates that when the second internal message is used for sending a message to the external network, the second internal message is sent to the network interface module through the data channel;
  • the processing engine is configured to: when the network side protocol packet includes a multi-layer protocol encapsulation, analyze and process the second internal packet to obtain an analysis result, where the analysis result indicates that the second internal packet is used Encapsulating the second internal packet to obtain a second target packet including the second internal packet, and transmitting the second target packet to the network interface module through a data channel, when the packet is sent to the external network Second target message.
  • the chip further includes: a management interface module, where the management receiving module includes control management The management interface module is connected to the external processor through the control management interface, and the management interface module is further connected to the processing engine through a management channel;
  • the management interface module is configured to receive, by using the control management interface, a configuration management document sent by the external processor for configuring and/or managing the processing engine, and send the configuration management packet by using a management channel. To the processing engine;
  • the processing engine is further configured to configure and/or manage software of the processing engine in accordance with the configuration management message.
  • the chip further includes: a memory management unit MMU controller, where the MMU controller includes a memory The MMU controller is connected to the external memory through the memory interface, and the MMU controller is further connected to the processing engine through a data channel;
  • the MMU controller is configured to store data processed by the processing engine into the external memory.
  • the chip further includes: a direct memory access DMA controller, where the DMA controller passes the control channel and the Processing engine connection, and through the control channel and the MMU Controller connection; where:
  • the DMA controller is configured to control data transmission between the storage interface module and the external memory when the external memory needs to be used, and control data between the network interface module and the external memory transmission.
  • the chip further includes: a data cache, where the data cache passes the data channel and the processing Engine connection; where:
  • the data cache is used to cache the program code or the message information processed by the processing engine.
  • the processing engine is further configured to invoke the program code of the data cache buffer to perform a processing operation on the message.
  • the chip further includes: a flash (Flash) interface module, and one port of the Flash interface module Connected to an external Flash chip, the other end of the Flash interface module is connected to the processing engine;
  • flash Flash
  • the Flash interface module is configured to store, in a power-off state, a program code of software used by the chip to the external Flash chip.
  • a second aspect of the present invention provides a disk packet transmission method, including: a storage control chip receiving a first protocol packet including an internal packet sent by a first device, and performing the first protocol packet Decapsulating the protocol packet to obtain the internal packet; the storage control chip analyzing the internal packet to obtain an analysis result; and when the analyzing result indicates that the internal packet is sent to the second And the storage control chip performs a second protocol encapsulation process on the internal packet to obtain a second protocol packet, and sends the second protocol packet to the second device, where:
  • the first device is a network device connected to the first end of the storage control chip, and the second device is a magnetic disk connected to the second end of the storage control chip; or, the first device is The second device connected to the storage control chip is a network device connected to the first end of the storage control chip.
  • the storage control chip receives a first protocol packet that is sent by the first device and includes an internal packet, and performs the first protocol packet Decapsulating the protocol packet to obtain the internal packet, including:
  • the storage control chip receives a network side protocol packet that is sent by the network device and includes a first internal packet, and performs network side protocol decapsulation processing on the network side protocol to obtain the first internal text. ;
  • the storage control chip When the analysis result indicates that the internal packet is a packet for sending to the second device, the storage control chip performs a second protocol encapsulation process on the internal packet to obtain a second protocol packet. And sending the second protocol packet to the second device, including:
  • the storage control chip When the analysis result indicates that the first internal packet is a packet for sending to a disk, the storage control chip performs a storage side protocol encapsulation process on the first internal packet to obtain a storage side protocol packet. And sending the storage side protocol message to the disk.
  • the storage control chip receives the first protocol packet that is sent by the first device and includes the internal packet, and the first protocol packet Performing the first protocol packet decapsulation process to obtain the internal packet, including:
  • the storage control chip receives a storage side protocol packet that is sent by the disk and includes a second internal packet, and performs a storage side protocol decapsulation process on the storage side protocol packet to obtain the second internal packet.
  • the storage control chip analyzes the second internal packet to obtain an analysis result; when the analysis result indicates that the internal packet is a packet for sending to a second device, the storage control The chip performs a second protocol encapsulation process on the internal packet to obtain a second protocol packet, and sends the second protocol packet to the second device, including:
  • the storage control chip When the analysis result indicates that the second internal packet is a packet for sending to an external network, the storage control chip performs network side protocol encapsulation processing on the second target packet to obtain a network side protocol. And sending the network side protocol " ⁇ " to the network device.
  • the network interface module is connected to the external network through the network side interface, the network interface module is connected to the processing engine through a data channel, and the processing engine is further connected to the storage interface module through a data channel.
  • the storage interface module is connected to the disk through the storage side interface; the network interface module is configured to implement, by using a network side protocol, to transmit a message between the external network and the processing engine; And analyzing the packet transmitted by the network interface module, or analyzing the packet transmitted by the storage interface module; The result of the analysis is that the packet for sending to the disk is sent to the storage interface module through the data channel, and the analysis result is expressed as a packet for sending to the external network, and the packet is sent to the network interface module through the data channel.
  • the storage interface module is configured to implement, by using a storage side protocol, to transmit a message between the disk and the processing engine.
  • the entire storage control chip only needs to process the protocol stack of the network side protocol and the storage side protocol, and the internal connection is through the data channel.
  • the storage control and the interface control circuit pass through the PCIE interface, that is, the existing In the technology, the storage control and the interface control circuit need to process at least a protocol stack of a PCIE protocol, a network side protocol (for example, an Eth protocol), and a storage side protocol (for example, a SAS protocol), and the embodiment of the present invention can reduce the storage control and the interface control circuit. cost.
  • FIG. 1 is a schematic structural diagram of a storage control chip according to an embodiment of the present invention
  • FIG. 2 is a schematic structural diagram of another storage control chip according to an embodiment of the present invention
  • FIG. 3 is another storage provided by an embodiment of the present invention.
  • FIG. 4 is a schematic structural diagram of another storage control chip according to an embodiment of the present invention
  • FIG. 5 is a schematic structural diagram of another storage control chip according to an embodiment of the present invention
  • FIG. 7 is a schematic structural diagram of another storage control chip according to an embodiment of the present invention
  • FIG. 8 is a schematic diagram of an optional protocol stack according to an embodiment of the present invention;
  • FIG. 9 is a schematic flowchart of a disk packet transmission method according to an embodiment of the present invention.
  • FIG. 10 and FIG. 11 are schematic diagrams showing an alternative example according to an embodiment of the present invention. detailed description
  • the storage control chip can be equivalent to the storage control and interface control circuit in the prior art.
  • the circuit is integrated into one chip.
  • the storage control chip can be applied to any device that uses a disk, such as a server, a computer, a mobile phone, a tablet, or the like.
  • the external network in the embodiment of the present invention may specifically refer to an external device that the user accesses the disk, such as a processor, a switch, and a network card device.
  • This embodiment of the present invention does not limit this.
  • the type and number of the disks are not limited in the embodiment of the present invention.
  • it may be a solid state disk (SSD), a mechanical disk, and/or a non-flash (Not And Flash, NAND Flash).
  • the channel transmitted by the data channel may be a packet after the protocol is unloaded, or may be a protocol encapsulated or decapsulated packet, that is, the packet transmitted through the data channel does not need to be like a network side interface or a storage side.
  • An interface can only transmit packets encapsulated by a specific protocol.
  • FIG. 1 is a schematic structural diagram of a storage control chip according to an embodiment of the present invention.
  • the system includes: a network interface module 11, a processing engine 12, and a storage interface module 13, wherein the network interface module 11 includes a network.
  • the network interface module 11 is connected to the external network of the chip through the network side interface, the network interface module 11 is connected to the processing engine 12 through a data channel, and the processing engine 12 also passes through the data channel.
  • the storage interface module 13 includes a storage side interface, and the storage interface module 13 is connected to the disk through the storage side interface;
  • the network interface module 11 is configured to implement transmission of the message between the external network and the processing engine 12 by using network side protocol processing.
  • the network interface module 11 receives the network side protocol packet sent by the external network by using the network side interface, and decapsulates the network side protocol packet to obtain an internal packet, and then transmits the internal packet to the internal interface. Processing engine 12. Or the network interface module 11 passes through the data channel After receiving the internal packet sent by the processing engine 12, the internal packet is encapsulated by the network side protocol to obtain the network side protocol packet, and the network side protocol packet is sent to the external network through the network side interface.
  • the processing engine 12 is configured to analyze the packet transmitted by the network interface module, or analyze the packet transmitted by the storage interface module, and send the analysis result as a packet for sending to the disk, and send the packet to the
  • the interface module is stored, and the analysis result is expressed as a message for sending to the external network to be sent to the network interface module through a data channel.
  • the storage interface module 13 is configured to implement, by using a storage side protocol, to transmit a message between the disk and the processing engine.
  • the storage interface module 13 may be configured to receive the internal packet sent by the processing engine 12 through the data channel, and then encapsulate the internal packet into a storage side protocol to obtain a storage side protocol packet, and then store the storage side protocol packet. Sent to the disk through the storage side interface. Or the storage interface module 13 receives the storage side protocol packet sent by the disk through the storage side interface, and then decapsulates the storage side protocol packet by the storage side protocol to obtain an internal packet, and then sends the internal packet to the processing through the data channel. Engine 12.
  • the network interface module is connected to the external network through the network side interface, the network interface module is connected to the processing engine through a data channel, and the processing engine is further connected to the storage interface module through a data channel.
  • the storage interface module is connected to the disk through the storage side interface; the network interface module is configured to implement, by using a network side protocol, to transmit a message between the external network and the processing engine; And analyzing the packet transmitted by the network interface module, or analyzing the packet transmitted by the storage interface module; and expressing the analysis result as a packet sent to the disk, and sending the packet to the storage interface module through the data channel, and Transmitting the analysis result as a packet sent to the external network to the network interface module by using a data channel; the storage interface module is configured to implement the disk and the processing engine by using storage side protocol processing Transfer messages.
  • the entire storage control chip only needs to process the protocol stack of the network side protocol and the storage side protocol, and the internal connection is through the data channel.
  • the storage control and the interface control circuit pass through the PCIE interface, that is, the existing In the technology, the storage control and the interface control circuit need to process at least a protocol stack of a PCIE protocol, a network side protocol (for example, an Eth protocol), and a storage side protocol (for example, a SAS protocol), which is an embodiment of the present invention.
  • the cost of storage control and interface control circuitry can be reduced.
  • 2 is a schematic structural diagram of a storage control chip according to an embodiment of the present invention. As shown in FIG.
  • the network interface module 21 includes a network interface module 21, a processing engine 22, and a storage interface module 23.
  • the network interface module 21 includes a network.
  • the network interface module 21 is connected to the external network of the chip through the network side interface, the network interface module 21 is connected to the processing engine 22 through a data channel, and the processing engine 22 also passes through the data channel.
  • the storage interface module 23 includes a storage side interface, and the storage interface module 23 is connected to the disk through the storage side interface;
  • the network interface module 21 is configured to receive, by using the network side interface, a network side protocol packet that is sent by the external network, including the first internal packet, and perform decapsulation processing on the network side protocol packet to obtain the first The first target message of the internal message is sent to the processing engine 22 through the data channel.
  • the foregoing network interface may be an Eth interface, an FC interface, an FCoE interface, or an IB interface.
  • the network side protocol may be a protocol packet for transmission in the network interface.
  • the first target packet may be a packet encapsulated by a certain protocol, for example, the network interface is an Eth interface, and the network side protocol packet is an Eth protocol encapsulation packet, where the Eth protocol encapsulates the packet.
  • the Internet Protocol (IP) encapsulates the packet, or the IP encapsulated packet carries the Eth frame or the Eth protocol encapsulated packet.
  • the IP encapsulated packet can also carry the Transmission Control Protocol (TCP).
  • TCP Transmission Control Protocol
  • the TCP-encapsulated packet can also carry the Internet Small Computer System Interface (iSCSI) protocol encapsulated packet, or the iSCSI encapsulated packet. It is carried on the TCP encapsulation message.
  • the first target packet may be an IP-encapsulated packet, a TCP-encapsulated packet, or an iSCSI-encapsulated packet.
  • the first target packet may be directly the first internal packet, that is, the network interface module 21 completes the network. All protocols of the side protocol are uninstalled. When the network interface module 21 only performs the protocol offloading of the partial layer in the network side protocol, the remaining protocol encapsulation can be uninstalled by the processing engine 22.
  • the network interface module 21 and the processing engine 22 can cooperate to complete the network side protocol. deal with.
  • the processing engine 22 is configured to obtain the first internal packet according to the first target packet, and analyze the first internal packet to obtain an analysis result, where the analysis result indicates the first internal packet
  • the first internal packet is sent to the storage interface module 23 through the data channel.
  • the obtaining the first internal packet according to the first target packet may be that the first target packet is used as the first internal packet, that is, the network interface module 21 completes the network-side packet.
  • the first internal packet is obtained by performing partial protocol offloading on the first target packet to obtain the first internal packet, that is, the network interface module. 21 only completed the protocol offloading of some protocol layers of the network side message.
  • the processing engine 22 may further process the file (eg, calculate), The processing engine 22 can also return the processing result to the network interface module 21, and the network interface module returns the processing result to the external network.
  • the processing engine 22 can also be based on the analysis result (the above analysis result indicates the first internal report) The text is an error message), and the first internal essay is lost.
  • the storage interface module 23 is configured to perform a storage side protocol encapsulation process on the first internal packet to obtain a storage side protocol packet, and send the storage side protocol packet to the disk by using the storage side interface.
  • the foregoing storage interface may be a SAS interface or a SATA interface.
  • the storage side protocol packet may be a protocol packet used for transmission in the storage interface.
  • the above can be implemented by receiving the packet sent by the external network and transmitting the packet to the disk.
  • This embodiment can implement only one protocol processing, one protocol decapsulation of the network side protocol, and the other is the storage side protocol. Package.
  • the storage interface module 23 is configured to receive, by using the storage side interface, a storage side protocol packet that is sent by the disk and includes a second internal packet, and perform decapsulation processing on the storage side protocol packet to obtain the second Internal message, and sending the second internal message to the office through the data channel
  • the processing engine 22 is described.
  • the receiving, by the storage interface, the storage side protocol packet that is sent by the disk, including the second internal packet may be a packet that is actively pushed by the disk, or may be returned according to the request sent by the storage interface module 23. Message.
  • the processing engine 22 is configured to perform analysis processing on the second internal packet to obtain an analysis result.
  • the analysis result indicates that the second internal packet is used for sending a message to an external network
  • the data channel is used to
  • the network interface module 21 sends a second target message including the second internal message.
  • the second target packet may be the first target packet.
  • the second target packet is the second internal packet, where the network side protocol is used.
  • the packet includes only the multi-layer protocol encapsulation (for example, the Eth protocol encapsulation, the IP encapsulation, the TCP encapsulation, and the iSCSI protocol encapsulation)
  • the second target packet may be an IP encapsulation packet, a TCP encapsulation packet, or an iSCSI protocol encapsulation packet.
  • the text can also be directly the second internal message. That is, the processing engine 22 can complete at least one of the following encapsulations for the second internal >3 ⁇ 4 text:
  • IP encapsulation IP encapsulation, TCP encapsulation, and iSCSI protocol encapsulation.
  • processing engine 22 may not encapsulate the second internal packet, and directly send the second internal packet to the network interface module 21, and the network interface module 21 completes the encapsulation.
  • the network interface module 21 is configured to perform encapsulation processing on the second target packet to obtain a network side protocol, and send the network side protocol to the external network by using the network side interface 211.
  • the network interface module 21 can only be the second internal packet.
  • the network protocol module 21 and the processing engine 22 cooperate to complete the network side protocol encapsulation, and the second internal packet completes all the networks. Protocol encapsulation of side protocol packets.
  • the first internal packet may be a SCSI packet
  • the second internal packet may be an SCSI packet.
  • the data content of these two messages may be the same or different.
  • the network interface module 21 can be used to pass the network side.
  • the interface receives the network side protocol packet that is sent by the external network, and includes the first internal packet, and performs network side protocol decapsulation processing on the network side protocol packet to obtain the first internal packet, and then uses the data channel to The first internal message is sent to the processing engine 22.
  • the network side interface is an FC interface or an IB interface, that is, the network side protocol packet is a single layer protocol packet, for example, an FC protocol packet or an IB protocol packet.
  • the network interface module 21 can directly decapsulate the network side protocol packet to obtain the first internal message, and then send the first internal message to the processing engine 22 through a data channel. The decapsulation process may be performed by decapsulating the network side protocol packet, removing the network side protocol packet header, and completing the offloading of the network side protocol.
  • the network side interface is an Eth interface or an FCoE interface, that is, the network side protocol packet is a multi-layer protocol packet
  • the network interface module 21 can also perform protocol unloading of all layers of the network side.
  • the network interface module 21 performs all the protocol unloading of the network protocol packet, for example, decapsulating the Eth protocol of the network side protocol, and removing the Eth header to obtain an IP packet;
  • the IP packet is decapsulated by the IP packet, and the IP packet header is removed to obtain a TCP packet.
  • the TCP packet is decapsulated by the TCP packet, and the TCP packet header is removed to obtain an iSCSI packet.
  • the iSCSI decapsulation is performed, and the iSCSI packet header is removed to obtain the SCSI packet, that is, the first internal packet is obtained.
  • the network interface module 21 may be configured to: when the network side protocol packet includes a multi-layer protocol encapsulation, receive, by using the network side interface, a network that includes the first internal packet sent by the external network.
  • the side protocol packet is sent to the network side protocol packet to obtain a target packet including the first internal packet, and the target packet is sent to the local device through the data channel.
  • the processing engine 22 is described.
  • the network interface module 21 performs the protocol unloading of the network protocol packet on the part of the network protocol packet, that is, the decapsulation process of the first layer protocol is performed on the network side protocol packet to obtain the target packet including the first internal packet.
  • the first layer protocol may be one or more layers.
  • the first layer protocol includes at least one of the following:
  • the Eth protocol when the first layer protocol is the Eth protocol, the Eth protocol is decapsulated on the network side protocol, and the Eth packet header is removed to obtain an IP packet, that is, the target packet is
  • the first layer protocol is the Eth protocol and the IP address
  • the Eth protocol is decapsulated on the network side protocol, and the Eth packet header is removed to obtain an IP packet.
  • the IP packet is IP-based.
  • the encapsulation is performed, and the IP packet header is removed, and the TCP packet is obtained, that is, the target packet is a TCP packet.
  • the first layer protocol is Eth protocol, IP, and TCP, you can refer to the above procedure.
  • the processing engine 22 may be configured to: when the network side protocol packet includes the multi-layer protocol encapsulation, decapsulating the target packet to obtain the first internal packet, and analyzing the first internal packet The processing results in the analysis result.
  • the analysis result indicates that the first internal message is a packet for reading a disk
  • the first internal message is sent to the storage interface module 23 through a data channel.
  • the processing engine 22 can perform IP address, IP, TCP, and iSCSI protocol offloading to obtain SCSI packets.
  • the first layer protocol is the Eth protocol and the IP, that is, when the target packet is a TCP packet
  • the processing engine 22 can perform the IP/ ⁇ message, and the TCP and iSCSI protocols are unloaded to obtain the SCSI packet.
  • the Layer 1 protocol is Eth protocol, IP, and TCP, you can refer to the above procedure.
  • the network interface module 21 and the processing engine 22 cooperate to complete the offloading of the network side protocol.
  • the processing engine 22 may be configured to perform analysis processing on the second internal packet to obtain an analysis result, where the analysis result indicates that the second internal packet is used for sending to an external network.
  • the second internal message is sent to the network interface module 21 through a data channel.
  • the second internal packet can be directly sent to the network interface module 21, for example, the SCSI packet is sent, and the network interface module 21 completes the encapsulation of the network side protocol.
  • the processing engine 22 may be configured to: when the network side protocol includes a multi-layer protocol encapsulation, analyze and process the second internal packet to obtain an analysis result, where the analysis result is When the second internal packet is sent to the external network, the second internal packet is encapsulated to obtain a second target packet including the second internal packet, and the data is passed through the second internal packet. The channel sends the second target message to the network interface module 21.
  • the foregoing second target packet may specifically include at least one layer protocol included in the network side protocol.
  • Encapsulation for example, when the network interface is an Eth interface, the second target packet can be an iSCSI packet, an IP packet, or a TCP packet. That is, the processing engine 22 can perform iSCSI encapsulation, IP encapsulation, or TCP encapsulation on the second internal authentication.
  • the information about the encapsulation required by the iSCSI encapsulation, the IP encapsulation, or the TCP encapsulation (for example, the TCP port number, the IP address, the MAC address, and the like) may be previously recorded.
  • the processing engine 22 sends the first internal report to the storage interface module 23. Recorded in the text.
  • the network interface module 21 When the network interface module 21 receives the second target packet, the network side protocol encapsulation that is not completed by the processing engine 22 is completed. For example, when the second target packet is an iSCSI packet, the network interface module 21 is iSCSI packet completion, TCP, IP, and Eth protocol encapsulation. Then send the Eth protocol packet to the external network.
  • the second target packet is an iSCSI packet
  • the network interface module 21 is iSCSI packet completion, TCP, IP, and Eth protocol encapsulation. Then send the Eth protocol packet to the external network.
  • the encapsulation of the network side protocol by the network interface module 21 and the processing engine 22 can be implemented.
  • the network interface module 21 can also be connected to the processing engine 22 through a management channel.
  • the processing engine 22 can also be used to configure and/or manage the software of the network interface module 21 through the management channel, for example: The software of the network interface module 21 or the software of the unloading network interface module 21, and the like.
  • the storage interface module 23 can also be connected to the processing engine 22 through a management channel.
  • the processing engine 22 can also be used to configure and/or manage the software of the storage interface module 23 through the management channel, for example: The software of the storage interface module 23 or the software of the unloading storage interface module 23 or the like.
  • the foregoing management channel may specifically be a data or a command for transmitting configuration management, and does not require a channel for specific protocol encapsulation of data or commands during transmission.
  • the processing engine 22 performs the analysis processing on the first internal packet to obtain an analysis result. Specifically, the processing engine 22 analyzes and processes the packet header of the first internal packet to obtain an analysis result. Or the processing engine 22 analyzes and processes the payload of the first internal packet to obtain an analysis result, or the processing engine 22 analyzes and processes the header and the payload of the first internal packet. result.
  • the processing engine 22 performs an analysis process on the second internal packet to obtain an analysis result. Specifically, the processing engine 22 analyzes and processes the packet header of the second internal packet to obtain an analysis result. Or processing the message entity of the second internal message by the engine 22 The payload is analyzed to obtain an analysis result, or the processing engine 22 analyzes and processes the header and the payload of the second internal packet to obtain an analysis result. In addition, when the storage interface module 23 continuously sends a plurality of packets to the processing engine 22, the processing engine 22 may analyze only the first packet in the packets, and the result of the first packet is equal to the analysis result of the multiple packets. .
  • the packet is sent from the external network to the disk in detail in the foregoing embodiment, and in the process, the storage control chip only needs the network interface module to decapsulate the network side protocol packet (or the network interface).
  • the module and the processing engine cooperate to complete the decapsulation of the network side protocol packet, and the storage interface module encapsulates the internal packet for the storage side protocol.
  • the implementation process of sending the external network to the disk only the network side protocol and the protocol stack of the storage side protocol are processed once.
  • the process of sending the message from the disk to the external network is implemented. , only need to process the protocol stack of the network side protocol and the storage side protocol once. Therefore, the embodiment can achieve the cost of reducing the storage control and the interface control circuit.
  • FIG. 3 is a schematic structural diagram of another storage chip according to an embodiment of the present invention.
  • the method includes: a network interface module 31, a processing engine 32, a storage interface module 33, and a management interface module 34, wherein, the network For the connection between the interface module 31, the processing engine 32, and the storage interface module 33, and the specific implementation manners, refer to the embodiment shown in FIG. 1.
  • the management receiving module 34 includes a control management interface, and the management interface module 34 is connected to an external processor through the control management interface, and the management interface module 34 is further connected to the processing engine 32 through a management channel; :
  • the management interface module 34 is configured to receive, by using the control management interface, a configuration management message sent by the external processor for configuring and/or managing the processing engine 32, and reporting the configuration management report by using a management channel.
  • the text is sent to the processing engine 32.
  • the processing engine 32 is further configured to configure and/or manage software of the processing engine 32 in accordance with the configuration management.
  • the foregoing management channel may specifically be a data or a command for transmitting configuration management, and does not require a channel for specific protocol encapsulation of data or commands during transmission.
  • control management interface may be a Gigabit Ethernet (GB) interface, a Fast Ethernet (FE) interface, a PCIE interface, or a peripheral component expansion.
  • the Pedpherd Component Interconnect (PCI) and the like are not limited in this embodiment.
  • the management interface module 34 is further configured to receive, by using the control management interface, a configuration management document sent by the external processor for configuring and/or managing the processing engine 32, and solution the configuration management packet.
  • An internal message that can configure and/or manage the software of the processing engine 32 is encapsulated and sent to the processing engine 32 via a management channel.
  • the processing engine 32 can directly configure and/or manage the software of the processing engine 32 by receiving the internal message, such as: software installation, software update, or software uninstallation.
  • the management interface module 34 may directly send the configuration management message to the processing engine 32, and the processing engine 32 completes decapsulation of the configuration management file to obtain configuration and/or management of the processing engine 32. Internal message of the software.
  • the chip further includes: a memory management unit (MMU) controller 35, the MMU controller 35 includes a memory interface, and the MMU controller 35 passes the The memory interface is connected to the external memory, and the MMU controller 35 is further connected to the processing engine 32 through a data channel;
  • MMU memory management unit
  • the MMU controller 35 is configured to store data processed by the processing engine 32 to the external memory.
  • the MMU controller 35 may specifically use the external memory as a memory of the storage control chip itself, and store the program code of the software used by the MMU controller processing engine 32 in the working state of the storage control chip, or store the processing engine.
  • the 32 processed data is stored in the above external memory.
  • the software used by the processing engine 32 or the data processed by the processing engine 32 can be stored in the external memory.
  • the data processed by the processing engine 32 is stored in the external memory. .
  • the chip further includes: a direct memory access (DMA) controller 36, wherein the DMA controller is connected to the processing engine 32 through a control channel, respectively. And connecting to the MMU controller through a control channel; wherein:
  • DMA direct memory access
  • a DMA controller 36 configured to control data transmission between the storage interface module 33 and the external memory when the external memory needs to be used, and to control the network interface module 33 Data transfer with the external memory.
  • control channel may specifically be a channel for transmitting control data or commands, and does not need to perform specific protocol encapsulation on data or commands during transmission.
  • the DMA controller 36 may specifically store the data of the network interface to the external memory through the processing engine 32.
  • the network interface module 31 decapsulates the network side protocol packet to obtain a packet entity of the network side protocol packet. Payload).
  • the external memory can be used to store the packet entity data. Since the processing engine 32 can interpret and analyze the packet according to the packet header, the packet header can be stored in the external memory, for example: Control chip's internal cache module "data cache" (refer to the implementation below). In addition, the processing engine 32 may also analyze the entire packet (including the packet header and the packet entity). For example, when reading data from the disk, the processing engine 32 first analyzes the first internal packet (for example, SCSI packet). It is learned that the first internal message (for example: SCSI message) is an instruction to read the disk, and then initiates a read request to the disk.
  • the first internal packet for example, SCSI packet
  • SCSI message an instruction to read the disk
  • the processing engine 32 analyzes the first packet sent by the disk (including the packet header and the packet entity), and learns that the first packet is a data stream read from the disk, and then the subsequent packet processing engine 32 Instead of reanalysis, the DMA controller 36 is enabled to transfer the messages sent by the disk to the external memory, and the processing engine 32 notifies the network interface module 31 to retrieve the message data from the external memory. In this way, the processing engine 32 saves the workload of analyzing each message and improves the processing efficiency.
  • the chip further includes: a data buffer 37, wherein the data cache 37 is connected to the processing engine 32 through a data channel;
  • the data cache 37 is configured to cache program code or message information processed by the processing engine 32;
  • the processing engine 32 is further configured to invoke the program code of the data cache buffer to execute a processing operation processing engine 32 for the message.
  • the data cache 37 may specifically be a software program code for storing the storage control chip in the working state of the storage control chip, and a message header information that is removed when the processing engine 32 decapsulates the packet.
  • the removed header information may also be stored in the data cache by the processing engine 32.
  • the chip further includes: a flash (Flash) interface
  • the port module 38, the port of the flash interface module 38 is connected to an external flash chip, and the other end of the flash interface module 38 is connected to the processing engine 32;
  • the Flash interface module 38 is configured to store program code of software used by the chip processing engine 32 to the external flash chip in a powered down state.
  • the program code of the software used by the memory control chip (for example, the software used by the processing engine 32, the network interface module 31, and the memory interface module 33) is not lost in the power-off state.
  • the network side protocol includes the 801Eth, IP, TCP, and iSCSI protocols shown in FIG. 8.
  • the network interface module 31 can independently perform the decapsulation or encapsulation of the protocol shown in 801, or the network.
  • the interface module 31 and the processing engine 32 cooperate with the decapsulation or encapsulation of the protocol shown in 801. For the implementation of the cooperation, refer to the foregoing implementation manner.
  • the network side protocol includes the 802FC protocol shown in FIG.
  • the network interface module 31 can complete the decapsulation or encapsulation of the protocol shown in 802.
  • the network side protocol includes the 803Eth and FCoE protocols shown in FIG. 8, and the network interface module 31 can complete the decapsulation or encapsulation of the protocol shown in 803, or the network interface module 31 and the processing engine 32 cooperate.
  • the network side protocol includes the 804IB protocol shown in FIG. 8, and the network interface module 31 can complete the decapsulation or encapsulation of the protocol shown in 804.
  • the storage side protocol When the storage side interface is a SAS or SATA interface, the storage side protocol includes the 805SAS or SATA protocol shown in FIG. 8, and the storage interface module 33 can complete the decapsulation and encapsulation of the protocol shown in 805.
  • the storage side protocol When the storage side interface is an SSD interface, the storage side protocol includes the 806 NAND protocol shown in FIG. 8, and the storage interface module 33 can complete the decapsulation and encapsulation of the protocol shown in 806.
  • FIG. 9 is a schematic flowchart of a disk packet transmission method according to an embodiment of the present invention. As shown in FIG. 9, the method includes the following steps: 901.
  • the storage control chip receives the first protocol packet that is sent by the first device, and includes the first protocol packet, and performs the first protocol packet decapsulation process on the first protocol packet to obtain the internal packet.
  • the storage control chip analyzes and processes the internal packet to obtain an analysis result.
  • the storage control chip performs a second protocol encapsulation process on the internal packet to obtain a second protocol packet, and Sending the second protocol message to the second device;
  • the first device is a network device connected to the first end of the storage control chip, and the second device is a magnetic disk connected to the second end of the storage control chip; or, the first device is The second device connected to the second end of the storage control chip, the second device is connected to the first end of the storage control chip.
  • the foregoing first protocol may be a network side protocol
  • the second protocol may be a storage side protocol
  • the first protocol may be specifically one of a storage side protocol
  • the second protocol may be a network side protocol.
  • the method may be specifically applied to the storage control chip introduced in the above embodiment, where the network device may specifically be an external network of the storage control chip introduced in the above embodiment.
  • step 901 may specifically include:
  • the storage control chip receives the network side protocol packet that is sent by the network device and includes the first internal packet, and performs network side protocol decapsulation processing on the network side protocol packet to obtain the first internal packet.
  • the step may be specifically implemented by using the network interface module and the processing engine configuration introduced in the foregoing embodiments.
  • the specific implementation process can refer to the above embodiment.
  • step 902 may specifically include:
  • the storage control chip analyzes the first internal message to obtain an analysis result.
  • the step 903 may specifically include:
  • the storage control chip When the analysis result indicates that the first internal packet is a packet for sending to a disk, the storage control chip performs a storage side protocol encapsulation process on the first internal packet to obtain a storage side protocol packet, and The storage side protocol packet is sent to the disk.
  • the step may be specifically implemented by using the storage interface module and the processing engine configuration introduced in the foregoing embodiments.
  • the specific implementation process can refer to the above embodiment.
  • the first internal packet may be a packet that is written to the disk.
  • a message transmission process in which a storage control chip writes to a disk is introduced, and the process can reduce the cost of the storage control and the interface control circuit.
  • step 901 may specifically include:
  • the storage control chip receives the storage side protocol packet that is sent by the disk and includes the second internal packet, and performs a storage side protocol decapsulation process on the storage side protocol packet to obtain the second internal packet.
  • the step may be specifically implemented by using the storage interface module and the processing engine configuration introduced in the foregoing embodiments.
  • the specific implementation process can refer to the above embodiment.
  • step 902 may specifically include:
  • the storage control chip analyzes and processes the second internal packet to obtain an analysis result.
  • Step 903 specifically includes:
  • the storage control chip When the analysis result indicates that the second internal packet is a packet for sending to an external network, the storage control chip performs network side protocol encapsulation processing on the second target packet to obtain a network side protocol. And send the network side protocol to the external network.
  • the step may be specifically implemented by using the network interface module and the processing engine configuration introduced in the foregoing embodiments.
  • the specific implementation process can refer to the above embodiment.
  • the foregoing second internal packet may be a packet that performs a read operation on the disk.
  • the storage control chip receives the first protocol packet that is sent by the first device and includes the internal packet, and performs decapsulation processing on the first protocol packet by using the first protocol packet.
  • An internal message; the storage control chip analyzes the internal message to obtain an analysis result; and when the analysis result indicates that the internal message is a message for sending to the second device, the storage control chip pairs
  • the internal packet performs a second protocol encapsulation process to obtain a second protocol packet, and sends the second protocol packet to the second device.
  • the entire storage control chip only needs to process the protocol stack of the first protocol and the second protocol.
  • the storage control and the interface control circuit pass through the PCIE interface, that is, the storage control and the interface control circuit in the prior art need to be processed at least.
  • PCIE protocol for example: Eth protocol
  • the protocol stack for example: SAS protocol
  • this embodiment can reduce the cost of the storage control and interface control circuit.
  • the structure of the application scenario is as shown in FIG. 10, and the storage control chip 1011 is configured on the storage board 101 of the server.
  • the storage side interface is SAS
  • the internal disk 1012 is connected
  • the network side interface is an Eth interface
  • the Eth switch connected to the switch board 102 is connected. 1021.
  • the processor 1031 of the server board 103 accesses the storage board 101 by connecting the Eth switch 1021 of the switch board through the Eth network card 1032.
  • the server system runs the iSCSI protocol data.
  • the memory board 101 may further include a processor 1013.
  • the processor 1013 is configured to configure and manage software for storing the control chip.
  • the operation of the disk 1012 on the storage board 101 is described as an example.
  • the flow of the read operation may be as shown in FIG. 11.
  • the process may include the following steps:
  • the server board encapsulates the iSCSI packet in the Eth packet and sends it to the Eth switch of the switch board through the NIC.
  • the Eth switch of the switch board forwards the Eth packet sent by the server board NIC to the storage board.
  • the network side interface of the storage control chip of the storage board receives the Eth packet, and the network interface module decapsulates the Eth packet to remove the Eth packet header, and transmits the processed IP packet to the processing engine.
  • the network interface module decapsulates the IP packet, removes the IP packet header and the TCP packet header, and transmits the processed iSCSI packet to the processing engine.
  • the network interface module decapsulates the iSCSI packet to remove the iSCSI packet header, and transmits the processed SCSI packet to the processing engine.
  • the protocol offloading of the IP and TCP and the protocol offloading of the iSCSI are optional supported functions.
  • the embodiment of the present invention does not limit this, that is, the steps 1104 and 1105 may be performed by the network interface module, or may be The processing engine may perform the above steps 1104 and 1105.
  • the network interface module supports the protocol offload function of IP, TCP, and iSCSI as an example. After the protocol is uninstalled, the SCSI packet is processed.
  • the processing engine receives the SCSI packet sent by the network interface module, when interpreted
  • the SCSI packet is a command request for reading a disk, and the SCSI packet is transmitted to the storage interface module.
  • the storage interface module receives the SCSI packet, and obtains the SAS packet from the SAS packet header of the SCSI package, and sends the SAS packet to the disk.
  • the controller of the disk After receiving the SAS packet, the controller of the disk analyzes the SAS packet to obtain a read command, and reads the SAS packet including the response data, and returns the SAS packet to the storage interface module.
  • the storage interface module receives the SAS packet sent by the disk, decapsulates the SAS packet, removes the SAS packet header, and transmits the processed SCSI packet to the processing engine.
  • the processing engine receives the SCSI packet sent by the storage interface module, and if the SCSI packet is the read disk data, the SCSI packet is transmitted to the network interface module.
  • the network interface module receives the SCSI packet sent by the processing engine, and encapsulates the iSCSI packet header and the TCP packet according to the previously recorded network interface information (for example, including the TCP port number, the IP address, the MAC address, and the like).
  • the packet header, the IP packet header, and the Eth packet header are sent to the switch board.
  • the Eth switch of the switch board forwards the Eth packet sent by the storage board storage control chip to the server board.
  • the server board network card receives the Eth message sent by the switch board, and processes the packet to the processor through the PCIE interface.
  • the storage medium may be a magnetic disk, an optical disk, a read-only memory (ROM), or a random access memory (RAM).

Abstract

A storage controller chip comprising: a network interface module, a processing engine, and a storage interface module. The network interface module comprises a network side interface. The network interface module is connected to an external network via the network side interface. The network interface module is connected to the processing engine via a data channel. The processing engine also is connected to the storage interface via a data channel. The storage interface module comprises a storage side interface. The storage interface module is connected to a disk via the storage side interface. Also comprised is a method related to the storage controller chip. The controller chip and the corresponding method allow for reduced costs of a storage controller and of an interface controller circuit.

Description

一种存储控制芯片及磁盘报文传输方法 本申请要求于 2013 年 10 月 15 日提交中国专利局、 申请号为 201310482817.2、 发明名称为 "一种存储控制芯片及磁盘报文传输方法" 的 中国专利申请的优先权, 其全部内容通过引用结合在本申请中。  The invention relates to a Chinese patent issued on October 15, 2013 by the Chinese Patent Office, the application number is 201310482817.2, and the invention name is "a storage control chip and a disk message transmission method". Priority of the application, the entire contents of which are incorporated herein by reference.
技术领域 Technical field
本发明涉及通信领域, 尤其涉及一种存储控制芯片及磁盘报文传输方 法。 背景技术  The present invention relates to the field of communications, and in particular, to a storage control chip and a disk message transmission method. Background technique
存储设备是目前大多数通信设备和电子设备中不可缺少的模块。 目前 的存储设备的结构主要包括存储控制及接口控制电路和存储体(例如: 磁 盘或者硬盘), 其中, 存储控制及接口控制电路包括存储控制器、 处理器和 网卡控制器, 而存储控制器、 处理器和网卡控制器之间都是通过快速外围 设备互连 ( Peripheral Component Interconnection Express, PCIE )接口连接, 而存储控制器与存储体之间则是通过另一接口连接, 例如: 通过串行高级 技术接口 ( Serial Advanced Technology Attachment, SATA )或者串行 SCSI 接口 (Serial Attached SCSI, SAS )接口, 另外网卡控制器则是通过其它接 口与外部网络(例如: 读取存储设备的装置) 连接, 例如, 通过以太网 ( Ethernet, Eth )接口或者光纤通道 ( Fibre Channel, FC )接口或者以太网 承载光纤通道( Fibre Channel Over Ehternet, FCoE )接口或者无限带宽( Infini Band, IB )接口与外部网络连接。 这样在读写数据过程中存储控制器就需 要处理 PCIE、小型计算机系统接口( Small Computer System Interface, SCSI ) 和 SATA的协议栈或者处理 PCIE、 SCSI和 SAS的协议栈, 而处理器需要 处理 PCIE和 SCSI的协议栈, 网卡接口需要处理 PCIE、 SCSI和 Eth栈或 者处理 PCIE、 SCSI和 IB协议栈等。  Storage devices are indispensable modules in most current communication devices and electronic devices. The structure of the current storage device mainly includes a storage control and interface control circuit and a storage body (for example, a disk or a hard disk), wherein the storage control and interface control circuit includes a storage controller, a processor, and a network card controller, and the storage controller, The processor and the NIC controller are connected through a Peripheral Component Interconnection Express (PCIE) interface, and the storage controller and the storage port are connected through another interface, for example: Serial Advanced Technology Attachment (SATA) or Serial Attached SCSI (SAS) interface. In addition, the NIC controller is connected to an external network (for example, a device that reads a storage device) through other interfaces. For example, It is connected to the external network through an Ethernet (Eth) interface or a Fibre Channel (FC) interface or an Fibre Channel Over Ehternet (FCoE) interface or an Infini Band (IB) interface. In this way, the storage controller needs to process PCIE, Small Computer System Interface (SCSI) and SATA protocol stacks or protocol stacks for PCIE, SCSI and SAS in the process of reading and writing data, and the processor needs to handle PCIE and SCSI protocol stack, NIC interface needs to handle PCIE, SCSI and Eth stacks or handle PCIE, SCSI and IB protocol stacks.
综上所述, 目前的存储控制及接口控制电路由于每个器件都需要处理 多个协议栈, 这样该电路就会很复杂, 从而导致整个存储控制及接口控制 电路的成本过高。 发明内容 In summary, current storage control and interface control circuits need to be processed for each device. Multiple protocol stacks, so the circuit can be complicated, resulting in excessive cost of the entire memory control and interface control circuit. Summary of the invention
本发明实施例提供了一种存储控制芯片及磁盘报文传输方法, 可以减 少存储控制及接口控制电路的成本。 第一方面, 本发明实施例提供一种存储控制芯片, 包括: 网络接口模 块、 处理引擎和存储接口模块, 其中, 所述网络接口模块包括网络侧接口, 所述网络接口模块通过所述网络侧接口与所述芯片的外部网络连接, 所述 网络接口模块通过数据通道与所述处理引擎连接, 所述处理引擎还通过数 据通道与所述存储接口模块连接, 所述存储接口模块包括存储侧接口, 所 述存储接口模块通过所述存储侧接口与磁盘连接; 其中:  Embodiments of the present invention provide a storage control chip and a disk packet transmission method, which can reduce the cost of the storage control and the interface control circuit. In a first aspect, an embodiment of the present invention provides a storage control chip, including: a network interface module, a processing engine, and a storage interface module, where the network interface module includes a network side interface, and the network interface module passes the network side The interface is connected to the external network of the chip, the network interface module is connected to the processing engine through a data channel, and the processing engine is further connected to the storage interface module through a data channel, where the storage interface module includes a storage side interface The storage interface module is connected to the disk through the storage side interface; wherein:
所述网络接口模块, 用于通过网络侧协议处理实现所述外部网络与所 述处理引擎之间传输报文;  The network interface module is configured to implement, by using network side protocol processing, to transmit a message between the external network and the processing engine;
所述处理引擎, 用于分析所述网络接口模块传输的报文, 或者分析所 述存储接口模块传输的报文; 并将分析结果表示为用于发送至磁盘的报文 通过数据通道发送至所述存储接口模块, 并将分析结果表示为用于发送至 所述外部网络的报文通过数据通道发送至所述网络接口模块;  The processing engine is configured to analyze the packet transmitted by the network interface module, or analyze the packet transmitted by the storage interface module, and represent the analysis result as a packet sent to the disk and sent to the device through the data channel. Storing the interface module, and expressing the analysis result as a message for sending to the external network to be sent to the network interface module through a data channel;
所述存储接口模块, 用于通过存储侧协议处理实现所述磁盘与所述处 理引擎之间传输报文。  The storage interface module is configured to implement, by using a storage side protocol, to transmit a message between the disk and the processing engine.
第一方面的第一种可选的实现方式中, 所述网络接口模块还用于通过 所述网络侧接口接收外部网络发送的包括第一内部报文的网络侧协议报 文, 并对所述网络侧协议报文进行解封装处理得到包括所述第一内部报文 的第一目标报文, 再通过数据通道将所述第一目标报文发送至所述处理引 擎;  In a first optional implementation manner of the first aspect, the network interface module is further configured to receive, by using the network side interface, a network side protocol packet that is sent by an external network, including the first internal packet, and The network-side protocol packet is decapsulated to obtain a first target packet that includes the first internal packet, and the first target packet is sent to the processing engine through a data channel;
所述处理引擎还用于根据所述第一目标报文得到所述第一内部报文, 对所述第一内部报文进行分析处理得到分析结果, 当该分析结果表示所述 第一内部报文是用于发送至磁盘的报文时, 通过数据通道将所述第一内部 报文发送至所述存储接口模块; The processing engine is further configured to: obtain the first internal packet according to the first target packet, analyze and process the first internal packet, and obtain an analysis result, where the analysis result indicates the first internal report When the message is used for sending a message to the disk, the first internal is passed through the data channel Sending a message to the storage interface module;
所述存储接口模块还用于对所述第一内部报文进行存储侧协议封装处 理得到存储侧协议报文, 并通过所述存储侧接口将所述存储侧协议报文发 送至所述磁盘。  The storage interface module is further configured to perform storage side protocol encapsulation processing on the first internal packet to obtain a storage side protocol packet, and send the storage side protocol packet to the disk through the storage side interface.
结合第一方面或者第一方面的第一种可能的实现方式, 第一方面的第 二种可能的实现方式中, 所述存储接口模块还用于通过所述存储侧接口接 收所述磁盘发送的包括第二内部报文的存储侧协议报文, 并对所述存储侧 协议报文进行解封装处理得到所述第二内部报文, 并通过数据通道将所述 第二内部报文发送至所述处理引擎;  With reference to the first aspect, or the first possible implementation manner of the first aspect, in a second possible implementation manner of the first aspect, the storage interface module is further configured to receive, by using the storage side interface, the sending of the disk a storage side protocol packet including a second internal packet, and decapsulating the storage side protocol packet to obtain the second internal packet, and sending the second internal packet to the device through a data channel Processing engine
所述处理引擎还用于对所述第二内部报文进行分析处理得到分析结 果, 当该分析结果表示所述第二内部报文是用于发送至外部网络的报文时, 通过数据通道向所述网络接口模块发送包括所述第二内部报文的第二目标 报文;  The processing engine is further configured to perform analysis processing on the second internal packet to obtain an analysis result. When the analysis result indicates that the second internal packet is used for sending a message to an external network, the data channel is used to Transmitting, by the network interface module, a second target packet that includes the second internal packet;
所述网络接口模块还用于对所述第二目标报文进行封装处理得到网络 侧协议报文, 并通过所述网络侧接口将该网络侧协议报文发送至外部网络。  The network interface module is further configured to perform the encapsulation processing on the second target packet to obtain a network side protocol packet, and send the network side protocol packet to the external network by using the network side interface.
结合第一方面的第一种可能的实现方式中, 在第一方面的第三种可能 的实现方式中, 所述网络接口模块用于通过所述网络侧接口接收外部网络 发送的包括第一内部 ^艮文的网络侧协议 ^艮文, 并对所述网络侧协议 ^艮文进 行网络侧协议解封装处理得到所述第一内部报文, 再通过数据通道将所述 第一内部报文发送至所述处理引擎; 或者  In conjunction with the first possible implementation of the first aspect, in a third possible implementation manner of the first aspect, the network interface module is configured to receive, by using the network side interface, an external network, including the first internal a network-side protocol of the network, and performing network-side protocol decapsulation processing on the network-side protocol to obtain the first internal packet, and then sending the first internal packet through a data channel To the processing engine; or
所述网络接口模块用于当所述网络侧协议报文包括多层协议封装时, 通过所述网络侧接口接收外部网络发送的包括第一内部报文的网络侧协议 报文, 并对所述网络侧协议报文进行第一层协议的解封装处理得到包括所 述第一内部报文的目标报文, 再通过数据通道将所述目标报文发送至所述 处理引擎; 所述处理引擎用于当所述网络侧协议报文包括多层协议封装时, 对所述目标报文进行解封装处理得到所述第一内部报文, 对所述第一内部 报文进行分析处理得到分析结果, 当该分析结果表示所述第一内部报文是 用于读取磁盘的报文时, 通过数据通道将所述第一内部报文发送至所述存 储接口模块。 结合第一方面的第二种可能的实现方式, 第一方面的第四种可能的实 现方式中, 所述处理引擎用于对所述第二内部报文进行分析处理得到分析 结果, 当该分析结果表示所述第二内部报文是用于发送至外部网络的报文 时, 通过数据通道向所述网络接口模块发送所述第二内部报文; 或者 The network interface module is configured to: when the network side protocol packet includes a multi-layer protocol encapsulation, receive, by the network side interface, a network side protocol packet that is sent by an external network, including the first internal packet, and the The network side protocol packet performs the decapsulation processing of the first layer protocol to obtain the target packet including the first internal packet, and then sends the target packet to the processing engine through the data channel; When the network side protocol packet includes the multi-layer protocol encapsulation, the decapsulation process is performed on the target packet to obtain the first internal packet, and the first internal packet is analyzed and processed to obtain an analysis result. When the analysis result indicates that the first internal message is a message for reading a disk, the first internal message is sent to the storage interface module through a data channel. In conjunction with the second possible implementation of the first aspect, in a fourth possible implementation manner of the first aspect, the processing engine is configured to perform an analysis process on the second internal packet to obtain an analysis result, where the analysis is performed The result indicates that when the second internal message is used for sending a message to the external network, the second internal message is sent to the network interface module through the data channel; or
所述处理引擎用于当所述网络侧协议报文包括多层协议封装时, 对所 述第二内部报文进行分析处理得到分析结果, 当该分析结果表示所述第二 内部报文是用于发送至外部网络的报文时, 对所述第二内部报文进行封装 处理得到包括所述第二内部报文的第二目标报文, 并通过数据通道向所述 网络接口模块发送所述第二目标报文。  The processing engine is configured to: when the network side protocol packet includes a multi-layer protocol encapsulation, analyze and process the second internal packet to obtain an analysis result, where the analysis result indicates that the second internal packet is used Encapsulating the second internal packet to obtain a second target packet including the second internal packet, and transmitting the second target packet to the network interface module through a data channel, when the packet is sent to the external network Second target message.
结合第一方面或者第一方面的第一种可能的实现方式, 第一方面的第 五种可能的实现方式中, 所述芯片还包括: 管理接口模块, 其中, 所述管 理接收模块包括控制管理接口, 所述管理接口模块通过所述控制管理接口 与外部处理器连接, 所述管理接口模块还通过管理通道与所述处理引擎连 接; 其中:  With reference to the first aspect or the first possible implementation manner of the first aspect, in a fifth possible implementation manner of the first aspect, the chip further includes: a management interface module, where the management receiving module includes control management The management interface module is connected to the external processor through the control management interface, and the management interface module is further connected to the processing engine through a management channel;
所述管理接口模块, 用于通过所述控制管理接口接收所述外部处理器 发送的用于配置和 /或管理所述处理引擎的配置管理 文, 并通过管理通道 将所述配置管理报文发送至所述处理引擎;  The management interface module is configured to receive, by using the control management interface, a configuration management document sent by the external processor for configuring and/or managing the processing engine, and send the configuration management packet by using a management channel. To the processing engine;
所述处理引擎还用于根据所述配置管理报文配置和 /或管理所述处理引 擎的软件。  The processing engine is further configured to configure and/or manage software of the processing engine in accordance with the configuration management message.
结合第一方面或者第一方面的第一种可能的实现方式, 第一方面的第 六种可能的实现方式中, 所述芯片还包括: 内存管理单元 MMU控制器, 所述 MMU控制器包括内存接口, 所述 MMU控制器通过所述内存接口与 外部内存连接, 所述 MMU控制器还通过数据通道与所述处理引擎连接; 其中:  With reference to the first aspect, or the first possible implementation manner of the first aspect, in a sixth possible implementation manner of the first aspect, the chip further includes: a memory management unit MMU controller, where the MMU controller includes a memory The MMU controller is connected to the external memory through the memory interface, and the MMU controller is further connected to the processing engine through a data channel;
所述 MMU控制器, 用于将所述处理引擎处理的数据存放至所述外部 内存。  The MMU controller is configured to store data processed by the processing engine into the external memory.
结合第一方面的第六种可能的实现方式, 第一方面的第七种可能的实 现方式中, 所述芯片还包括: 直接内存访问 DMA控制器, 所述 DMA控制 器分别通过控制通道与所述处理引擎连接,以及通过控制通道与所述 MMU 控制器连接; 其中: In conjunction with the sixth possible implementation of the first aspect, in a seventh possible implementation manner of the first aspect, the chip further includes: a direct memory access DMA controller, where the DMA controller passes the control channel and the Processing engine connection, and through the control channel and the MMU Controller connection; where:
所述 DMA控制器,用于当需要使用所述外部内存时,控制所述存储接 口模块与所述外部内存之间的数据传输, 以及控制所述网络接口模块与所 述外部内存之间的数据传输。  The DMA controller is configured to control data transmission between the storage interface module and the external memory when the external memory needs to be used, and control data between the network interface module and the external memory transmission.
结合第一方面或者第一方面的第一种可能的实现方式, 第一方面的第 八种可能的实现方式中, 所述芯片还包括: 数据緩存, 所述数据緩存通过 数据通道与所述处理引擎连接; 其中:  With reference to the first aspect, or the first possible implementation manner of the first aspect, in an eighth possible implementation manner of the first aspect, the chip further includes: a data cache, where the data cache passes the data channel and the processing Engine connection; where:
所述数据緩存, 用于緩存程序代码或者所述处理引擎处理的报文信息; 所述处理引擎还用于调用所述数据緩存緩存的程序代码执行对报文的 处理操作。  The data cache is used to cache the program code or the message information processed by the processing engine. The processing engine is further configured to invoke the program code of the data cache buffer to perform a processing operation on the message.
结合第一方面或者第一方面的第一种可能的实现方式, 第一方面的第 九种可能的实现方式中, 所述芯片还包括: 闪存(Flash )接口模块, 所述 Flash接口模块一端口与外部 Flash芯片连接,所述 Flash接口模块的另一端 与所述处理引擎连接; 其中:  In combination with the first aspect or the first possible implementation manner of the first aspect, in a ninth possible implementation manner of the first aspect, the chip further includes: a flash (Flash) interface module, and one port of the Flash interface module Connected to an external Flash chip, the other end of the Flash interface module is connected to the processing engine;
所述 Flash接口模块,用于在下电状态将所述芯片使用的软件的程序代 码存储至所述外部 Flash芯片。  The Flash interface module is configured to store, in a power-off state, a program code of software used by the chip to the external Flash chip.
第二方面, 本发明实施例提供一种磁盘报文传输方法, 包括: 存储控制芯片接收第一装置发送的包括内部报文的第一协议报文, 并 对所述第一协议报文进行第一协议报文解封装处理得到所述内部报文; 所述存储控制芯片对所述内部报文进行分析处理得到分析结果; 当所述分析结果表示所述内部报文是用于发送至第二装置的报文时, 所述存储控制芯片对所述内部报文进行第二协议封装处理得到第二协议报 文, 并将所述第二协议报文发送至所述第二装置; 其中:  A second aspect of the present invention provides a disk packet transmission method, including: a storage control chip receiving a first protocol packet including an internal packet sent by a first device, and performing the first protocol packet Decapsulating the protocol packet to obtain the internal packet; the storage control chip analyzing the internal packet to obtain an analysis result; and when the analyzing result indicates that the internal packet is sent to the second And the storage control chip performs a second protocol encapsulation process on the internal packet to obtain a second protocol packet, and sends the second protocol packet to the second device, where:
所述第一装置为与所述存储控制芯片的第一端连接的网络装置, 所述 第二装置为与所述存储控制芯片的第二端连接的磁盘; 或者, 所述第一装 置为与所述存储控制芯片的第二端连接的磁盘, 所述第二装置为与所述存 储控制芯片的第一端连接的网络装置。  The first device is a network device connected to the first end of the storage control chip, and the second device is a magnetic disk connected to the second end of the storage control chip; or, the first device is The second device connected to the storage control chip is a network device connected to the first end of the storage control chip.
在第二方面的第一种可能的实现方式中, 所述存储控制芯片接收第一 装置发送的包括内部报文的第一协议报文, 并对所述第一协议报文进行第 一协议报文解封装处理得到所述内部报文, 包括: In a first possible implementation manner of the second aspect, the storage control chip receives a first protocol packet that is sent by the first device and includes an internal packet, and performs the first protocol packet Decapsulating the protocol packet to obtain the internal packet, including:
所述存储控制芯片接收所述网络装置发送的包括第一内部报文的网络 侧协议 ^艮文, 并对所述网络侧协议 ^艮文进行网络侧协议解封装处理得到所 述第一内部 文;  The storage control chip receives a network side protocol packet that is sent by the network device and includes a first internal packet, and performs network side protocol decapsulation processing on the network side protocol to obtain the first internal text. ;
所述当所述分析结果表示所述内部报文是用于发送至第二装置的报文 时, 所述存储控制芯片对所述内部报文进行第二协议封装处理得到第二协 议报文, 并将所述第二协议报文发送至所述第二装置, 包括:  When the analysis result indicates that the internal packet is a packet for sending to the second device, the storage control chip performs a second protocol encapsulation process on the internal packet to obtain a second protocol packet. And sending the second protocol packet to the second device, including:
当所述分析结果表示所述第一内部报文是用于发送至磁盘的报文时, 所述存储控制芯片对所述第一内部报文进行存储侧协议封装处理得到存储 侧协议报文, 并将所述存储侧协议报文发送至所述磁盘。  When the analysis result indicates that the first internal packet is a packet for sending to a disk, the storage control chip performs a storage side protocol encapsulation process on the first internal packet to obtain a storage side protocol packet. And sending the storage side protocol message to the disk.
结合第二方面, 在第二方面的第二种可能的实现方式中, 所述存储控 制芯片接收第一装置发送的包括内部报文的第一协议报文, 并对所述第一 协议报文进行第一协议报文解封装处理得到所述内部报文, 包括:  With reference to the second aspect, in a second possible implementation manner of the second aspect, the storage control chip receives the first protocol packet that is sent by the first device and includes the internal packet, and the first protocol packet Performing the first protocol packet decapsulation process to obtain the internal packet, including:
所述存储控制芯片接收磁盘发送的包括第二内部报文的存储侧协议报 文, 并对所述存储侧协议报文进行存储侧协议解封装处理得到所述第二内 部才艮文;  The storage control chip receives a storage side protocol packet that is sent by the disk and includes a second internal packet, and performs a storage side protocol decapsulation process on the storage side protocol packet to obtain the second internal packet.
所述存储控制芯片对所述第二内部报文进行分析处理得到分析结果; 所述当所述分析结果表示所述内部报文是用于发送至第二装置的报文 时, 所述存储控制芯片对所述内部报文进行第二协议封装处理得到第二协 议报文, 并将所述第二协议报文发送至所述第二装置, 包括:  The storage control chip analyzes the second internal packet to obtain an analysis result; when the analysis result indicates that the internal packet is a packet for sending to a second device, the storage control The chip performs a second protocol encapsulation process on the internal packet to obtain a second protocol packet, and sends the second protocol packet to the second device, including:
当所述分析结果表示所述第二内部报文是用于发送至外部网络的报文 时, 所述存储控制芯片对所述第二目标报文进行网络侧协议封装处理得到 网络侧协议 "^文, 并将该网络侧协议 "^文发送至所述网络装置。  When the analysis result indicates that the second internal packet is a packet for sending to an external network, the storage control chip performs network side protocol encapsulation processing on the second target packet to obtain a network side protocol. And sending the network side protocol "^" to the network device.
上述技术方案中, 网络接口模块通过所述网络侧接口与外部网络连接 , 所述网络接口模块通过数据通道与所述处理引擎连接, 所述处理引擎还通 过数据通道与所述存储接口模块连接, 所述存储接口模块通过所述存储侧 接口与磁盘连接; 所述网络接口模块, 用于通过网络侧协议处理实现所述 外部网络与所述处理引擎之间传输报文; 所述处理引擎, 用于分析所述网 络接口模块传输的报文, 或者分析所述存储接口模块传输的报文; 并将分 析结果表示为用于发送至磁盘的报文通过数据通道发送至所述存储接口模 块, 并将分析结果表示为用于发送至所述外部网络的报文通过数据通道发 送至所述网络接口模块; 所述存储接口模块, 用于通过存储侧协议处理实 现所述磁盘与所述处理引擎之间传输报文。 这样整个存储控制芯片就只需 要处理网络侧协议和存储侧协议的协议栈, 且内部都是通过数据通道进行 连接的, 相比现有技术存储控制及接口控制电路都通过 PCIE接口, 即现有 技术中存储控制及接口控制电路至少需要处理 PCIE协议、 网络侧协议(例 如: Eth协议)和存储侧协议(例如: SAS协议)的协议栈, 本发明实施例 可以减少存储控制及接口控制电路的成本。 附图说明 In the above technical solution, the network interface module is connected to the external network through the network side interface, the network interface module is connected to the processing engine through a data channel, and the processing engine is further connected to the storage interface module through a data channel. The storage interface module is connected to the disk through the storage side interface; the network interface module is configured to implement, by using a network side protocol, to transmit a message between the external network and the processing engine; And analyzing the packet transmitted by the network interface module, or analyzing the packet transmitted by the storage interface module; The result of the analysis is that the packet for sending to the disk is sent to the storage interface module through the data channel, and the analysis result is expressed as a packet for sending to the external network, and the packet is sent to the network interface module through the data channel. The storage interface module is configured to implement, by using a storage side protocol, to transmit a message between the disk and the processing engine. In this way, the entire storage control chip only needs to process the protocol stack of the network side protocol and the storage side protocol, and the internal connection is through the data channel. Compared with the prior art, the storage control and the interface control circuit pass through the PCIE interface, that is, the existing In the technology, the storage control and the interface control circuit need to process at least a protocol stack of a PCIE protocol, a network side protocol (for example, an Eth protocol), and a storage side protocol (for example, a SAS protocol), and the embodiment of the present invention can reduce the storage control and the interface control circuit. cost. DRAWINGS
为了更清楚地说明本发明实施例或现有技术中的技术方案, 下面将对 实施例或现有技术描述中所需要使用的附图作简单地介绍, 显而易见地, 下面描述中的附图仅仅是本发明的一些实施例, 对于本领域普通技术人员 来讲, 在不付出创造性劳动的前提下, 还可以根据这些附图获得其他的附 图。  In order to more clearly illustrate the embodiments of the present invention or the technical solutions in the prior art, the drawings used in the embodiments or the description of the prior art will be briefly described below. Obviously, the drawings in the following description are only It is a certain embodiment of the present invention, and other drawings can be obtained from those skilled in the art without any creative work.
图 1是本发明实施例提供的一种存储控制芯片的结构示意图; 图 2是本发明实施例提供的另一种存储控制芯片的结构示意图; 图 3是本发明实施例提供的另一种存储控制芯片的结构示意图; 图 4是本发明实施例提供的另一种存储控制芯片的结构示意图; 图 5是本发明实施例提供的另一种存储控制芯片的结构示意图; 图 6是本发明实施例提供的另一种存储控制芯片的结构示意图; 图 7是本发明实施例提供的另一种存储控制芯片的结构示意图; 图 8是本发明实施例提供的一种可选的协议栈示意图;  1 is a schematic structural diagram of a storage control chip according to an embodiment of the present invention; FIG. 2 is a schematic structural diagram of another storage control chip according to an embodiment of the present invention; FIG. 3 is another storage provided by an embodiment of the present invention. FIG. 4 is a schematic structural diagram of another storage control chip according to an embodiment of the present invention; FIG. 5 is a schematic structural diagram of another storage control chip according to an embodiment of the present invention; FIG. 7 is a schematic structural diagram of another storage control chip according to an embodiment of the present invention; FIG. 8 is a schematic diagram of an optional protocol stack according to an embodiment of the present invention;
图 9是本发明实施例提供的一种磁盘报文传输方法的流程示意图; 图 10和图 11是本发明实施例提供一种可选的举例示意图。 具体实施方式  FIG. 9 is a schematic flowchart of a disk packet transmission method according to an embodiment of the present invention; FIG. 10 and FIG. 11 are schematic diagrams showing an alternative example according to an embodiment of the present invention. detailed description
下面将结合本发明实施例中的附图, 对本发明实施例中的技术方案进 行清楚、 完整地描述, 显然, 所描述的实施例仅仅是本发明一部分实施例, 而不是全部的实施例。 基于本发明中的实施例, 本领域普通技术人员在没 有作出创造性劳动前提下所获得的所有其他实施例, 都属于本发明保护的 范围。 The technical solution in the embodiment of the present invention will be further described below with reference to the accompanying drawings in the embodiments of the present invention. The invention is described in a clear and complete manner, and it is obvious that the described embodiments are only a part of the embodiments of the invention, and not all embodiments. All other embodiments obtained by those skilled in the art based on the embodiments of the present invention without creative efforts are within the scope of the present invention.
本发明实施例中, 存储控制芯片可以等同于现有技术中的存储控制及 接口控制电路, 本发明实施例中, 通过将该电路集成于一个芯片。 该存储 控制芯片可以是应用于任何使用磁盘的设备, 例如: 服务器、 计算机、 手 机、 平板电脑等设备。  In the embodiment of the present invention, the storage control chip can be equivalent to the storage control and interface control circuit in the prior art. In the embodiment of the present invention, the circuit is integrated into one chip. The storage control chip can be applied to any device that uses a disk, such as a server, a computer, a mobile phone, a tablet, or the like.
另外, 本发明实施例中所述外部网络具体可以是指用户访问磁盘的外 部设备, 例如: 处理器、 交换机和网卡设备等。 本发明实施例对此不作限 定。 本发明实施例中对磁盘种类和数量也不作限定, 例如: 可以是固态硬 盘( Solid State Disk, SSD )、机械磁盘和 /或非与闪存( Not And Flash, NAND Flash )等。 的通道, 该数据通道内部传输的报文可以是协议卸载后的报文, 也可以协 议封装或者解封装后的报文, 即通过该数据通道传输的报文不需要像网络 侧接口或者存储侧接口一样只能传输特定协议封装的报文。  In addition, the external network in the embodiment of the present invention may specifically refer to an external device that the user accesses the disk, such as a processor, a switch, and a network card device. This embodiment of the present invention does not limit this. The type and number of the disks are not limited in the embodiment of the present invention. For example, it may be a solid state disk (SSD), a mechanical disk, and/or a non-flash (Not And Flash, NAND Flash). The channel transmitted by the data channel may be a packet after the protocol is unloaded, or may be a protocol encapsulated or decapsulated packet, that is, the packet transmitted through the data channel does not need to be like a network side interface or a storage side. An interface can only transmit packets encapsulated by a specific protocol.
图 1 是本发明实施例提供的一种存储控制芯片的结构示意图, 如图 1 所示, 包括: 网络接口模块 11、 处理引擎 12和存储接口模块 13 , 其中, 所述网络接口模块 11 包括网络侧接口, 所述网络接口模块 11通过所述网 络侧接口与所述芯片的外部网络连接, 所述网络接口模块 11通过数据通道 与所述处理引擎 12连接, 所述处理引擎 12还通过数据通道与所述存储接 口模块 13连接, 所述存储接口模块 13 包括存储侧接口, 所述存储接口模 块 13通过所述存储侧接口与磁盘连接; 其中:  1 is a schematic structural diagram of a storage control chip according to an embodiment of the present invention. As shown in FIG. 1, the system includes: a network interface module 11, a processing engine 12, and a storage interface module 13, wherein the network interface module 11 includes a network. The network interface module 11 is connected to the external network of the chip through the network side interface, the network interface module 11 is connected to the processing engine 12 through a data channel, and the processing engine 12 also passes through the data channel. The storage interface module 13 includes a storage side interface, and the storage interface module 13 is connected to the disk through the storage side interface;
网络接口模块 11 , 用于通过网络侧协议处理实现所述外部网络与所述 处理引擎 12之间传输报文。  The network interface module 11 is configured to implement transmission of the message between the external network and the processing engine 12 by using network side protocol processing.
可选的, 网络接口模块 11具体通过上述网络侧接口接收上述外部网络 发送的网络侧协议报文, 并对该网络侧协议报文进行解封装, 得到内部报 文, 再将内部报文传输至处理引擎 12。 或者网络接口模块 11通过数据通道 接收处理引擎 12发送的内部报文, 再将内部报文进行网络侧协议封装, 得 到网络侧协议报文, 再通过网络侧接口将该网络侧协议报文发送至上述外 部网络。 Optionally, the network interface module 11 receives the network side protocol packet sent by the external network by using the network side interface, and decapsulates the network side protocol packet to obtain an internal packet, and then transmits the internal packet to the internal interface. Processing engine 12. Or the network interface module 11 passes through the data channel After receiving the internal packet sent by the processing engine 12, the internal packet is encapsulated by the network side protocol to obtain the network side protocol packet, and the network side protocol packet is sent to the external network through the network side interface.
处理引擎 12, 用于分析所述网络接口模块传输的报文, 或者分析所述 存储接口模块传输的报文; 并将分析结果表示为用于发送至磁盘的报文通 过数据通道发送至所述存储接口模块, 并将分析结果表示为用于发送至所 述外部网络的报文通过数据通道发送至所述网络接口模块。  The processing engine 12 is configured to analyze the packet transmitted by the network interface module, or analyze the packet transmitted by the storage interface module, and send the analysis result as a packet for sending to the disk, and send the packet to the The interface module is stored, and the analysis result is expressed as a message for sending to the external network to be sent to the network interface module through a data channel.
存储接口模块 13 , 用于通过存储侧协议处理实现所述磁盘与所述处理 引擎之间传输报文。  The storage interface module 13 is configured to implement, by using a storage side protocol, to transmit a message between the disk and the processing engine.
可选的, 存储接口模块 13具体可以是接收处理引擎 12通过数据通道 发送的内部报文, 再将该内部报文进行存储侧协议封装得到存储侧协议报 文, 再将该存储侧协议报文通过存储侧接口发送至磁盘。 或者存储接口模 块 13通过存储侧接口接收磁盘发送的存储侧协议报文, 再将该存储侧协议 报文进行存储侧协议解封装得到内部报文, 再将该内部报文通过数据通道 发送至处理引擎 12。  Optionally, the storage interface module 13 may be configured to receive the internal packet sent by the processing engine 12 through the data channel, and then encapsulate the internal packet into a storage side protocol to obtain a storage side protocol packet, and then store the storage side protocol packet. Sent to the disk through the storage side interface. Or the storage interface module 13 receives the storage side protocol packet sent by the disk through the storage side interface, and then decapsulates the storage side protocol packet by the storage side protocol to obtain an internal packet, and then sends the internal packet to the processing through the data channel. Engine 12.
上述技术方案中, 网络接口模块通过所述网络侧接口与外部网络连接 , 所述网络接口模块通过数据通道与所述处理引擎连接, 所述处理引擎还通 过数据通道与所述存储接口模块连接, 所述存储接口模块通过所述存储侧 接口与磁盘连接; 所述网络接口模块, 用于通过网络侧协议处理实现所述 外部网络与所述处理引擎之间传输报文; 所述处理引擎, 用于分析所述网 络接口模块传输的报文, 或者分析所述存储接口模块传输的报文; 并将分 析结果表示为用于发送至磁盘的报文通过数据通道发送至所述存储接口模 块, 并将分析结果表示为用于发送至所述外部网络的报文通过数据通道发 送至所述网络接口模块; 所述存储接口模块, 用于通过存储侧协议处理实 现所述磁盘与所述处理引擎之间传输报文。 这样整个存储控制芯片就只需 要处理网络侧协议和存储侧协议的协议栈, 且内部都是通过数据通道进行 连接的, 相比现有技术存储控制及接口控制电路都通过 PCIE接口, 即现有 技术中存储控制及接口控制电路至少需要处理 PCIE协议、 网络侧协议(例 如: Eth协议)和存储侧协议(例如: SAS协议)的协议栈, 本发明实施例 可以减少存储控制及接口控制电路的成本。 图 2是本发明实施例提供的一种存储控制芯片的结构示意图, 如图 2 所示, 包括: 网络接口模块 21、 处理引擎 22和存储接口模块 23 , 其中, 所述网络接口模块 21 包括网络侧接口, 所述网络接口模块 21通过所述网 络侧接口与所述芯片的外部网络连接, 所述网络接口模块 21通过数据通道 与所述处理引擎 22连接, 所述处理引擎 22还通过数据通道与所述存储接 口模块 23连接, 所述存储接口模块 23 包括存储侧接口, 所述存储接口模 块 23通过所述存储侧接口与磁盘连接; 其中: In the above technical solution, the network interface module is connected to the external network through the network side interface, the network interface module is connected to the processing engine through a data channel, and the processing engine is further connected to the storage interface module through a data channel. The storage interface module is connected to the disk through the storage side interface; the network interface module is configured to implement, by using a network side protocol, to transmit a message between the external network and the processing engine; And analyzing the packet transmitted by the network interface module, or analyzing the packet transmitted by the storage interface module; and expressing the analysis result as a packet sent to the disk, and sending the packet to the storage interface module through the data channel, and Transmitting the analysis result as a packet sent to the external network to the network interface module by using a data channel; the storage interface module is configured to implement the disk and the processing engine by using storage side protocol processing Transfer messages. In this way, the entire storage control chip only needs to process the protocol stack of the network side protocol and the storage side protocol, and the internal connection is through the data channel. Compared with the prior art, the storage control and the interface control circuit pass through the PCIE interface, that is, the existing In the technology, the storage control and the interface control circuit need to process at least a protocol stack of a PCIE protocol, a network side protocol (for example, an Eth protocol), and a storage side protocol (for example, a SAS protocol), which is an embodiment of the present invention. The cost of storage control and interface control circuitry can be reduced. 2 is a schematic structural diagram of a storage control chip according to an embodiment of the present invention. As shown in FIG. 2, the network interface module 21 includes a network interface module 21, a processing engine 22, and a storage interface module 23. The network interface module 21 includes a network. The network interface module 21 is connected to the external network of the chip through the network side interface, the network interface module 21 is connected to the processing engine 22 through a data channel, and the processing engine 22 also passes through the data channel. Connected to the storage interface module 23, the storage interface module 23 includes a storage side interface, and the storage interface module 23 is connected to the disk through the storage side interface;
网络接口模块 21 , 用于通过所述网络侧接口接收外部网络发送的包括 第一内部报文的网络侧协议报文, 并对所述网络侧协议报文进行解封装处 理得到包括所述第一内部报文的第一目标报文, 再通过数据通道将所述第 一目标报文发送至所述处理引擎 22。  The network interface module 21 is configured to receive, by using the network side interface, a network side protocol packet that is sent by the external network, including the first internal packet, and perform decapsulation processing on the network side protocol packet to obtain the first The first target message of the internal message is sent to the processing engine 22 through the data channel.
可选的, 上述网络接口具体可以是 Eth接口、 FC接口、 FCoE接口或 者 IB接口, 当然, 本实施例对此并不作限定。 上述网络侧协议 ^艮文具体可 以是用于在该网络接口中传输的协议报文。 上述第一目标报文具体可以是 某种协议封装的报文, 例如: 上述网络接口为 Eth接口, 上述网络侧协议报 文就为 Eth协议封装报文, 其中, 该 Eth协议封装报文上可以承载因特网互 联协议( Internet Protocol, IP )封装报文, 或者说 IP封装报文承载 Eth帧 或者 Eth 协议封装报文上; 该 IP 封装报文上还可以承载传输控制协议 ( Transmission Control Protocol, TCP )封装报文, 或者说 TCP报文承载在 IP封装报文上; 该 TCP封装报文上还可以承载互联网小型计算机系统接口 Internet Small Computer System Interface, iSCSI )协议封装报文,或者说 iSCSI 封装报文承载在 TCP封装报文上。那么上述第一目标报文可以是 IP封装报 文、 TCP封装报文或者 iSCSI协议封装报文, 当然, 上述第一目标报文具 体可以直接是第一内部报文, 即网络接口模块 21完成网络侧协议的所有协 议卸载。 当网络接口模块 21只完成网络侧协议中部分层的协议卸载, 剩下 的协议封装可以由处理引擎 22完成卸载, 即本实例中可以实现网络接口模 块 21与处理引擎 22配合完成网络侧协议的处理。 处理引擎 22, 用于根据所述第一目标报文得到所述第一内部报文, 对 所述第一内部报文进行分析处理得到分析结果, 当该分析结果表示所述第 一内部报文是用于发送至磁盘的报文时, 通过数据通道将所述第一内部报 文发送至所述存储接口模块 23。 Optionally, the foregoing network interface may be an Eth interface, an FC interface, an FCoE interface, or an IB interface. The network side protocol may be a protocol packet for transmission in the network interface. The first target packet may be a packet encapsulated by a certain protocol, for example, the network interface is an Eth interface, and the network side protocol packet is an Eth protocol encapsulation packet, where the Eth protocol encapsulates the packet. The Internet Protocol (IP) encapsulates the packet, or the IP encapsulated packet carries the Eth frame or the Eth protocol encapsulated packet. The IP encapsulated packet can also carry the Transmission Control Protocol (TCP). The encapsulated packet, or the TCP packet, is carried on the IP-encapsulated packet. The TCP-encapsulated packet can also carry the Internet Small Computer System Interface (iSCSI) protocol encapsulated packet, or the iSCSI encapsulated packet. It is carried on the TCP encapsulation message. The first target packet may be an IP-encapsulated packet, a TCP-encapsulated packet, or an iSCSI-encapsulated packet. The first target packet may be directly the first internal packet, that is, the network interface module 21 completes the network. All protocols of the side protocol are uninstalled. When the network interface module 21 only performs the protocol offloading of the partial layer in the network side protocol, the remaining protocol encapsulation can be uninstalled by the processing engine 22. In this example, the network interface module 21 and the processing engine 22 can cooperate to complete the network side protocol. deal with. The processing engine 22 is configured to obtain the first internal packet according to the first target packet, and analyze the first internal packet to obtain an analysis result, where the analysis result indicates the first internal packet When the packet is sent to the disk, the first internal packet is sent to the storage interface module 23 through the data channel.
可选的, 上述根据所述第一目标报文得到所述第一内部报文具体可以 是将上述第一目标报文作为上述第一内部报文, 即网络接口模块 21完成对 网络侧报文的所有协议卸载; 上述根据所述第一目标报文得到所述第一内 部报文具体还可以是对第一目标报文进行部分协议卸载, 以得到上述第一 内部报文, 即网络接口模块 21只完成了网络侧报文的部分协议层的协议卸 载。  Optionally, the obtaining the first internal packet according to the first target packet may be that the first target packet is used as the first internal packet, that is, the network interface module 21 completes the network-side packet. The first internal packet is obtained by performing partial protocol offloading on the first target packet to obtain the first internal packet, that is, the network interface module. 21 only completed the protocol offloading of some protocol layers of the network side message.
可选的, 当上述分析结果为上述第一内部报文是需要处理引擎 22进行 处理 (例如: 计算)的"¾文时,处理引擎 22还可以是对该 文进行处理 (例 如: 计算), 处理引擎 22还可以将该处理结果返回网络接口模块 21 , 由网 络接口模块将该处理结果返回至外部网络。 当然, 处理引擎 22还可以是根 据上述分析结果(上述分析结果表示上述第一内部报文为错误报文), 丟失 该第一内部才艮文。  Optionally, when the foregoing analysis result is that the first internal message is required to be processed (eg, calculated) by the processing engine 22, the processing engine 22 may further process the file (eg, calculate), The processing engine 22 can also return the processing result to the network interface module 21, and the network interface module returns the processing result to the external network. Of course, the processing engine 22 can also be based on the analysis result (the above analysis result indicates the first internal report) The text is an error message), and the first internal essay is lost.
存储接口模块 23, 用于对所述第一内部报文进行存储侧协议封装处理 得到存储侧协议报文, 并通过所述存储侧接口将所述存储侧协议报文发送 至所述磁盘。  The storage interface module 23 is configured to perform a storage side protocol encapsulation process on the first internal packet to obtain a storage side protocol packet, and send the storage side protocol packet to the disk by using the storage side interface.
可选的, 上述存储接口具体可以是 SAS接口或者 SATA接口, 当然, 本实施例对此不作限定。 另外, 上述存储侧协议报文具体可以是用于在该 存储接口中传输的协议报文。  Optionally, the foregoing storage interface may be a SAS interface or a SATA interface. In addition, the storage side protocol packet may be a protocol packet used for transmission in the storage interface.
通过上述就可以实现从接收外部网络发送的报文到将该报文传输至磁 盘, 本实施例可以实现只经过两个协议处理, 一次网络侧协议的协议解封 装, 另一次为存储侧协议的封装。  The above can be implemented by receiving the packet sent by the external network and transmitting the packet to the disk. This embodiment can implement only one protocol processing, one protocol decapsulation of the network side protocol, and the other is the storage side protocol. Package.
或者,  Or,
存储接口模块 23 , 用于通过所述存储侧接口接收所述磁盘发送的包括 第二内部报文的存储侧协议报文, 并对所述存储侧协议报文进行解封装处 理得到所述第二内部报文, 并通过数据通道将所述第二内部报文发送至所 述处理引擎 22。 The storage interface module 23 is configured to receive, by using the storage side interface, a storage side protocol packet that is sent by the disk and includes a second internal packet, and perform decapsulation processing on the storage side protocol packet to obtain the second Internal message, and sending the second internal message to the office through the data channel The processing engine 22 is described.
可选的, 通过所述存储侧接口接收所述磁盘发送的包括第二内部报文 的存储侧协议报文具体可以是磁盘主动推送的报文, 还可以是根据存储接 口模块 23发送的请求返回的报文。  Optionally, the receiving, by the storage interface, the storage side protocol packet that is sent by the disk, including the second internal packet, may be a packet that is actively pushed by the disk, or may be returned according to the request sent by the storage interface module 23. Message.
处理引擎 22, 用于对所述第二内部报文进行分析处理得到分析结果, 当该分析结果表示所述第二内部报文是用于发送至外部网络的报文时, 通 过数据通道向所述网络接口模块 21发送包括所述第二内部报文的第二目标 报文。  The processing engine 22 is configured to perform analysis processing on the second internal packet to obtain an analysis result. When the analysis result indicates that the second internal packet is used for sending a message to an external network, the data channel is used to The network interface module 21 sends a second target message including the second internal message.
可选的, 上述第二目标报文可以是第一目标报文一样, 当网络侧协议 报文只包括单层协议封装时, 第二目标报文就是上述第二内部报文, 当网 络侧协议报文只包括多层协议封装(例如: 上述 Eth协议封装、 IP封装、 TCP封装和 iSCSI协议封装) 时, 第二目标报文具体可以是 IP封装报文、 TCP封装报文和 iSCSI协议封装报文, 还可以直接是第二内部报文。 即处 理引擎 22可以对第二内部>¾文完成如下至少一项封装:  Optionally, the second target packet may be the first target packet. When the network side protocol packet includes only the single layer protocol encapsulation, the second target packet is the second internal packet, where the network side protocol is used. When the packet includes only the multi-layer protocol encapsulation (for example, the Eth protocol encapsulation, the IP encapsulation, the TCP encapsulation, and the iSCSI protocol encapsulation), the second target packet may be an IP encapsulation packet, a TCP encapsulation packet, or an iSCSI protocol encapsulation packet. The text can also be directly the second internal message. That is, the processing engine 22 can complete at least one of the following encapsulations for the second internal >3⁄4 text:
IP封装、 TCP封装和 iSCSI协议封装。  IP encapsulation, TCP encapsulation, and iSCSI protocol encapsulation.
当然处理引擎 22还可以是不对第二内部报文进行封装, 直接向网络接 口模块 21发送第二内部报文, 由网络接口模块 21完成这些封装。  Of course, the processing engine 22 may not encapsulate the second internal packet, and directly send the second internal packet to the network interface module 21, and the network interface module 21 completes the encapsulation.
网络接口模块 21 , 用于对所述第二目标报文进行封装处理得到网络侧 协议 4艮文, 并通过所述网络侧接口 211 将该网络侧协议 ^艮文发送至外部网 络。  The network interface module 21 is configured to perform encapsulation processing on the second target packet to obtain a network side protocol, and send the network side protocol to the external network by using the network side interface 211.
可选的, 当网络侧协议 4艮文只包括多层协议封装(例如: 上述 Eth协议 封装、 IP封装、 TCP封装和 iSCSI协议封装)时, 网络接口模块 21仅可以 是对第二内部报文完成网络侧协议报文中最底层协议的封装(例如: Eth协 议封装), 这样可以实现网络接口模块 21与处理引擎 22配合完成网络侧协 议封装; 还可以是对第二内部报文完成所有网络侧协议报文的协议封装。  Optionally, when the network side protocol includes only the multi-layer protocol encapsulation (for example, the Eth protocol encapsulation, the IP encapsulation, the TCP encapsulation, and the iSCSI protocol encapsulation), the network interface module 21 can only be the second internal packet. The network protocol module 21 and the processing engine 22 cooperate to complete the network side protocol encapsulation, and the second internal packet completes all the networks. Protocol encapsulation of side protocol packets.
作为一种可选的实施方式, 上述第一内部报文具体可以是 SCSI报文, 上述第二内部报文具体可以是 SCSI报文。这两个报文的数据内容可以是相 同的也可以是不同的。  As an optional implementation, the first internal packet may be a SCSI packet, and the second internal packet may be an SCSI packet. The data content of these two messages may be the same or different.
作为一种可选的实施方式, 网络接口模块 21可以用于通过所述网络侧 接口接收外部网络发送的包括第一内部报文的网络侧协议报文, 并对所述 网络侧协议报文进行网络侧协议解封装处理得到所述第一内部报文, 再通 过数据通道将所述第一内部报文发送至所述处理引擎 22。 As an optional implementation manner, the network interface module 21 can be used to pass the network side. The interface receives the network side protocol packet that is sent by the external network, and includes the first internal packet, and performs network side protocol decapsulation processing on the network side protocol packet to obtain the first internal packet, and then uses the data channel to The first internal message is sent to the processing engine 22.
例如, 网络侧接口为 FC接口或者 IB接口, 即上述网络侧协议报文就 为单层协议报文, 例如: FC协议报文, 或者 IB协议报文。 网络接口模块 21就可以直接对所述网络侧协议报文进行解封装处理得到所述第一内部报 文, 再通过数据通道将所述第一内部报文发送至所述处理引擎 22。 其中, 该解封装处理具体可以是对该网络侧协议报文进行解封装, 并去掉网络侧 协议报文头, 完成网络侧协议的卸载。 当然, 当上述网络侧接口为 Eth接口 或者 FCoE接口, 即上述网络侧协议报文就为多层协议报文, 网络接口模块 21也同样可以是完成网络侧 ^艮文的所有层的协议卸载, 例如: 上述网络侧 接口为 Eth接口时, 网络接口模块 21对网络协议报文完成所有协议卸载, 如: 对网络侧协议 文进行 Eth协议解封装, 并去掉 Eth 文头, 以得到 IP 报文; 再对该 IP报文进行 IP解封装, 并去掉 IP报文头, 得到 TCP报文; 再对 TCP报文进行 TCP解封装, 并去掉 TCP报文头, 得到 iSCSI报文; 再 对 iSCSI报文进行 iSCSI解封装, 并去掉 iSCSI报文头, 得到 SCSI报文, 即得到上述第一内部报文。  For example, the network side interface is an FC interface or an IB interface, that is, the network side protocol packet is a single layer protocol packet, for example, an FC protocol packet or an IB protocol packet. The network interface module 21 can directly decapsulate the network side protocol packet to obtain the first internal message, and then send the first internal message to the processing engine 22 through a data channel. The decapsulation process may be performed by decapsulating the network side protocol packet, removing the network side protocol packet header, and completing the offloading of the network side protocol. Of course, when the network side interface is an Eth interface or an FCoE interface, that is, the network side protocol packet is a multi-layer protocol packet, the network interface module 21 can also perform protocol unloading of all layers of the network side. For example, when the network side interface is an Eth interface, the network interface module 21 performs all the protocol unloading of the network protocol packet, for example, decapsulating the Eth protocol of the network side protocol, and removing the Eth header to obtain an IP packet; The IP packet is decapsulated by the IP packet, and the IP packet header is removed to obtain a TCP packet. The TCP packet is decapsulated by the TCP packet, and the TCP packet header is removed to obtain an iSCSI packet. The iSCSI decapsulation is performed, and the iSCSI packet header is removed to obtain the SCSI packet, that is, the first internal packet is obtained.
作为一种可选的实施方式, 网络接口模块 21可以用于当所述网络侧协 议报文包括多层协议封装时, 通过所述网络侧接口接收外部网络发送的包 括第一内部报文的网络侧协议报文, 并对所述网络侧协议报文进行第一层 协议的解封装处理得到包括所述第一内部报文的目标报文, 再通过数据通 道将所述目标报文发送至所述处理引擎 22。  As an optional implementation, the network interface module 21 may be configured to: when the network side protocol packet includes a multi-layer protocol encapsulation, receive, by using the network side interface, a network that includes the first internal packet sent by the external network. The side protocol packet is sent to the network side protocol packet to obtain a target packet including the first internal packet, and the target packet is sent to the local device through the data channel. The processing engine 22 is described.
例如, 网络接口模块 21对网络协议报文完成部分层的协议卸载, 即对 所述网络侧协议报文进行第一层协议的解封装处理得到包括所述第一内部 报文的目标报文。 其中, 该第一层协议具体可以是表示一层或者多层协议, 例如, 上述网络侧接口为 Eth接口时, 第一层协议如至少一项包括:  For example, the network interface module 21 performs the protocol unloading of the network protocol packet on the part of the network protocol packet, that is, the decapsulation process of the first layer protocol is performed on the network side protocol packet to obtain the target packet including the first internal packet. The first layer protocol may be one or more layers. For example, when the network side interface is an Eth interface, the first layer protocol includes at least one of the following:
Eth协议、 IP、 TCP和 iSCSI。  Eth protocol, IP, TCP, and iSCSI.
例如: 当上述第一层协议为 Eth协议时, 那么对网络侧协议 ^艮文进行 Eth协议解封装, 并去掉 Eth报文头, 以得到 IP报文, 即上述目标报文为 IP才艮文; 第一层协议为 Eth协议和 IP时, 对网络侧协议^艮文进行 Eth协议 解封装, 并去掉 Eth报文头, 以得到 IP报文; 再对该 IP报文进行 IP解封 装, 并去掉 IP报文头, 得到 TCP报文, 即上述目标报文为 TCP报文。 第 一层协议为 Eth协议、 IP和 TCP时, 可以参考上述流程。 For example, when the first layer protocol is the Eth protocol, the Eth protocol is decapsulated on the network side protocol, and the Eth packet header is removed to obtain an IP packet, that is, the target packet is When the first layer protocol is the Eth protocol and the IP address, the Eth protocol is decapsulated on the network side protocol, and the Eth packet header is removed to obtain an IP packet. Then, the IP packet is IP-based. The encapsulation is performed, and the IP packet header is removed, and the TCP packet is obtained, that is, the target packet is a TCP packet. When the first layer protocol is Eth protocol, IP, and TCP, you can refer to the above procedure.
处理引擎 22可以用于当所述网络侧协议报文包括多层协议封装时, 对 所述目标报文进行解封装处理得到所述第一内部报文, 对所述第一内部报 文进行分析处理得到分析结果, 当该分析结果表示所述第一内部报文是用 于读取磁盘的报文时, 通过数据通道将所述第一内部报文发送至所述存储 接口模块 23。  The processing engine 22 may be configured to: when the network side protocol packet includes the multi-layer protocol encapsulation, decapsulating the target packet to obtain the first internal packet, and analyzing the first internal packet The processing results in the analysis result. When the analysis result indicates that the first internal message is a packet for reading a disk, the first internal message is sent to the storage interface module 23 through a data channel.
例如: 当上述第一层协议为 Eth协议时, 上述目标>¾文为 IP ^艮文, 处 理引擎 22就可以对该 IP报文进行, IP、 TCP和 iSCSI的协议卸载, 以得到 SCSI报文; 当第一层协议为 Eth协议和 IP时, 即上述目标报文为 TCP报 文时, 处理引擎 22就可以对该 IP · ^艮文进行, TCP和 iSCSI的协议卸载, 以得到 SCSI报文。 第一层协议为 Eth协议、 IP和 TCP时, 可以参考上述 流程。  For example, when the first layer protocol is the Eth protocol, the target >3⁄4 text is IP^艮, and the processing engine 22 can perform IP address, IP, TCP, and iSCSI protocol offloading to obtain SCSI packets. When the first layer protocol is the Eth protocol and the IP, that is, when the target packet is a TCP packet, the processing engine 22 can perform the IP/^ message, and the TCP and iSCSI protocols are unloaded to obtain the SCSI packet. . When the Layer 1 protocol is Eth protocol, IP, and TCP, you can refer to the above procedure.
该实施方式, 可以实现由网络接口模块 21和处理引擎 22配合完成网 络侧协议的卸载。  In this embodiment, the network interface module 21 and the processing engine 22 cooperate to complete the offloading of the network side protocol.
作为一种可选的实施方式, 处理引擎 22可以用于对所述第二内部报文 进行分析处理得到分析结果, 当该分析结果表示所述第二内部报文是用于 发送至外部网络的报文时, 通过数据通道向所述网络接口模块 21发送所述 第二内部才艮文。  As an optional implementation manner, the processing engine 22 may be configured to perform analysis processing on the second internal packet to obtain an analysis result, where the analysis result indicates that the second internal packet is used for sending to an external network. During the message, the second internal message is sent to the network interface module 21 through a data channel.
该实施方式可以实现直接向网络接口模块 21发送第二内部报文,例如: 发送 SCSI报文, 由网络接口模块 21完成网络侧协议的封装。  In this embodiment, the second internal packet can be directly sent to the network interface module 21, for example, the SCSI packet is sent, and the network interface module 21 completes the encapsulation of the network side protocol.
作为一种可选的实施方式, 处理引擎 22可以用于当所述网络侧协议才艮 文包括多层协议封装时, 对所述第二内部报文进行分析处理得到分析结果, 当该分析结果表示所述第二内部报文是用于发送至外部网络的报文时, 对 所述第二内部报文进行封装处理得到包括所述第二内部报文的第二目标报 文, 并通过数据通道向所述网络接口模块 21发送所述第二目标报文。  As an optional implementation manner, the processing engine 22 may be configured to: when the network side protocol includes a multi-layer protocol encapsulation, analyze and process the second internal packet to obtain an analysis result, where the analysis result is When the second internal packet is sent to the external network, the second internal packet is encapsulated to obtain a second target packet including the second internal packet, and the data is passed through the second internal packet. The channel sends the second target message to the network interface module 21.
上述第二目标报文具体可以是包括网络侧协议包括的至少一层协议的 封装,例如: 网络接口为 Eth接口时,第二目标报文就可以为 iSCSI报文包、 IP 文或者 TCP 文包。 即处理引擎 22可以对第二内部才艮文进行 iSCSI 封装、 IP封装或者 TCP封装。 其中, iSCSI封装、 IP封装或者 TCP封装需 要的封装信息 (例如: TCP端口号、 IP地址 MAC地址等信息)可以是之 前记录的, 例如: 处理引擎 22向存储接口模块 23发送上述第一内部报文 时记录的。 当网络接口模块 21接收到上述第二目标报文时, 就可以完成处 理引擎 22所未完成的网络侧协议封装, 例如, 第二目标报文为 iSCSI报文 包时, 网络接口模块 21就对 iSCSI报文包完成、 TCP、 IP和 Eth协议封装。 再将 Eth协议报文包发送至外部网络。 The foregoing second target packet may specifically include at least one layer protocol included in the network side protocol. Encapsulation, for example, when the network interface is an Eth interface, the second target packet can be an iSCSI packet, an IP packet, or a TCP packet. That is, the processing engine 22 can perform iSCSI encapsulation, IP encapsulation, or TCP encapsulation on the second internal authentication. The information about the encapsulation required by the iSCSI encapsulation, the IP encapsulation, or the TCP encapsulation (for example, the TCP port number, the IP address, the MAC address, and the like) may be previously recorded. For example, the processing engine 22 sends the first internal report to the storage interface module 23. Recorded in the text. When the network interface module 21 receives the second target packet, the network side protocol encapsulation that is not completed by the processing engine 22 is completed. For example, when the second target packet is an iSCSI packet, the network interface module 21 is iSCSI packet completion, TCP, IP, and Eth protocol encapsulation. Then send the Eth protocol packet to the external network.
该实施方式中, 可以实现由网络接口模块 21和处理引擎 22配合完成 网络侧协议的封装。  In this embodiment, the encapsulation of the network side protocol by the network interface module 21 and the processing engine 22 can be implemented.
作为一种可选的实施方式, 网络接口模块 21还可以通过管理通道与处 理引擎 22连接, 处理引擎 22还可以用于通过该管理通道配置和 /或管理网 络接口模块 21 的软件, 例如: 更新网络接口模块 21的软件或者卸载网络 接口模块 21的软件等。  As an optional implementation, the network interface module 21 can also be connected to the processing engine 22 through a management channel. The processing engine 22 can also be used to configure and/or manage the software of the network interface module 21 through the management channel, for example: The software of the network interface module 21 or the software of the unloading network interface module 21, and the like.
作为一种可选的实施方式, 存储接口模块 23还可以通过管理通道与处 理引擎 22连接, 处理引擎 22还可以用于通过该管理通道配置和 /或管理存 储接口模块 23的软件, 例如: 更新存储接口模块 23的软件或者卸载存储 接口模块 23的软件等。  As an optional implementation, the storage interface module 23 can also be connected to the processing engine 22 through a management channel. The processing engine 22 can also be used to configure and/or manage the software of the storage interface module 23 through the management channel, for example: The software of the storage interface module 23 or the software of the unloading storage interface module 23 or the like.
其中, 上述管理通道具体可以是用于传输配置管理的数据或者命令等, 且传输时不需要对数据或者命令等进行特定协议封装的通道。  The foregoing management channel may specifically be a data or a command for transmitting configuration management, and does not require a channel for specific protocol encapsulation of data or commands during transmission.
作为一种可选的实施方式, 处理引擎 22对所述第一内部报文进行分析 处理得到分析结果具体可以是, 处理引擎 22对第一内部报文的报文头进行 分析处理得到分析结果, 或者处理引擎 22 对第一内部报文的报文实体 ( payload )进行分析处理得到分析结果, 或者处理引擎 22对第一内部报文 的报文头和报文实体(payload )进行分析处理得到分析结果。  As an optional implementation manner, the processing engine 22 performs the analysis processing on the first internal packet to obtain an analysis result. Specifically, the processing engine 22 analyzes and processes the packet header of the first internal packet to obtain an analysis result. Or the processing engine 22 analyzes and processes the payload of the first internal packet to obtain an analysis result, or the processing engine 22 analyzes and processes the header and the payload of the first internal packet. result.
作为一种可选的实施方式, 处理引擎 22对所述第二内部报文进行分析 处理得到分析结果具体可以是, 处理引擎 22对第二内部报文的报文头进行 分析处理得到分析结果, 或者处理引擎 22 对第二内部报文的报文实体 ( payload )进行分析处理得到分析结果, 或者处理引擎 22对第二内部报文 的报文头和报文实体(payload )进行分析处理得到分析结果。 另外, 当存 储接口模块 23连续向处理引擎 22发送多个报文时, 处理引擎 22可以只对 这些报文中首报文进行分析, 首报文的结果等同于这多个报文的分析结果。 As an optional implementation manner, the processing engine 22 performs an analysis process on the second internal packet to obtain an analysis result. Specifically, the processing engine 22 analyzes and processes the packet header of the second internal packet to obtain an analysis result. Or processing the message entity of the second internal message by the engine 22 The payload is analyzed to obtain an analysis result, or the processing engine 22 analyzes and processes the header and the payload of the second internal packet to obtain an analysis result. In addition, when the storage interface module 23 continuously sends a plurality of packets to the processing engine 22, the processing engine 22 may analyze only the first packet in the packets, and the result of the first packet is equal to the analysis result of the multiple packets. .
上述技术方案中, 在上面实施例的基础上详细介绍了从外部网络向磁 盘发送报文, 且在该过程中存储控制芯片只需要网络接口模块对网络侧协 议报文进行解封装 (或者网络接口模块和处理引擎配合完成网络侧协议报 文的解封装), 以及存储接口模块对内部报文进行存储侧协议的封装。 这样 可以实现在外部网络向磁盘发送 4艮文的实现过程中, 只需要对网络侧协议 和存储侧协议的协议栈各进行一次处理; 同理, 在从磁盘向外部网络发送 报文的实现过程, 也只需要对网络侧协议和存储侧协议的协议栈各进行一 次处理。 从而本实施例可以实现减少存储控制及接口控制电路的成本。 图 3是本发明实施例提供的另一种存储芯片的结构示意图, 如图 3所 示, 包括: 包括: 网络接口模块 31、 处理引擎 32、 存储接口模块 33和管 理接口模块 34, 其中, 网络接口模块 31、 处理引擎 32和存储接口模块 33 之间的连接关系, 以及具体的实现方式可以参考图 1 所示的实施方式, 本 实施例对此不作重复说明。另外,所述管理接收模块 34包括控制管理接口, 所述管理接口模块 34通过所述控制管理接口与外部处理器连接, 所述管理 接口模块 34还通过管理通道与所述处理引擎 32连接; 其中:  In the foregoing technical solution, the packet is sent from the external network to the disk in detail in the foregoing embodiment, and in the process, the storage control chip only needs the network interface module to decapsulate the network side protocol packet (or the network interface). The module and the processing engine cooperate to complete the decapsulation of the network side protocol packet, and the storage interface module encapsulates the internal packet for the storage side protocol. In this way, in the implementation process of sending the external network to the disk, only the network side protocol and the protocol stack of the storage side protocol are processed once. Similarly, the process of sending the message from the disk to the external network is implemented. , only need to process the protocol stack of the network side protocol and the storage side protocol once. Therefore, the embodiment can achieve the cost of reducing the storage control and the interface control circuit. FIG. 3 is a schematic structural diagram of another storage chip according to an embodiment of the present invention. As shown in FIG. 3, the method includes: a network interface module 31, a processing engine 32, a storage interface module 33, and a management interface module 34, wherein, the network For the connection between the interface module 31, the processing engine 32, and the storage interface module 33, and the specific implementation manners, refer to the embodiment shown in FIG. 1. This embodiment does not repeatedly describe this. In addition, the management receiving module 34 includes a control management interface, and the management interface module 34 is connected to an external processor through the control management interface, and the management interface module 34 is further connected to the processing engine 32 through a management channel; :
管理接口模块 34, 用于通过所述控制管理接口接收所述外部处理器发 送的用于配置和 /或管理所述处理引擎 32的配置管理 ^艮文,并通过管理通道 将所述配置管理报文发送至所述处理引擎 32。  The management interface module 34 is configured to receive, by using the control management interface, a configuration management message sent by the external processor for configuring and/or managing the processing engine 32, and reporting the configuration management report by using a management channel. The text is sent to the processing engine 32.
所述处理引擎 32 还用于根据所述配置管理 ^艮文配置和 /或管理所述处 理引擎 32的软件。  The processing engine 32 is further configured to configure and/or manage software of the processing engine 32 in accordance with the configuration management.
可选的, 上述管理通道具体可以是用于传输配置管理的数据或者命令 等, 且传输时不需要对数据或者命令等进行特定协议封装的通道。  Optionally, the foregoing management channel may specifically be a data or a command for transmitting configuration management, and does not require a channel for specific protocol encapsulation of data or commands during transmission.
可选的, 上述控制管理接口具体可以是千兆以太网 (Gigabit Ethernet, GB )接口快速以太网(Fast Ethernet, FE)接口、 PCIE接口或者周边元件扩 展接口 (Pedpherd Component Interconnect, PCI )等, 本实施例对此不作限 定。 管理接口模块 34具体还可以用于通过所述控制管理接口接收所述外部 处理器发送的用于配置和 /或管理所述处理引擎 32的配置管理 文,并对所 述配置管理报文进行解封装得到能配置和 /或管理所述处理引擎 32 的软件 的内部报文, 并通过管理通道将该内部报文发送至所述处理引擎 32。 处理 引擎 32接收到该内部报文就可以直接对处理引擎 32的软件进行配置和 /或 管理, 例如: 软件安装、 软件更新或者软件卸载等。 当然, 管理接口模块 34还可以是直接将上述配置管理报文发送至处理引擎 32, 由处理引擎 32 完成对该配置管理 文的解封装, 以得到能配置和 /或管理所述处理引擎 32 的软件的内部报文。 Optionally, the foregoing control management interface may be a Gigabit Ethernet (GB) interface, a Fast Ethernet (FE) interface, a PCIE interface, or a peripheral component expansion. The Pedpherd Component Interconnect (PCI) and the like are not limited in this embodiment. The management interface module 34 is further configured to receive, by using the control management interface, a configuration management document sent by the external processor for configuring and/or managing the processing engine 32, and solution the configuration management packet. An internal message that can configure and/or manage the software of the processing engine 32 is encapsulated and sent to the processing engine 32 via a management channel. The processing engine 32 can directly configure and/or manage the software of the processing engine 32 by receiving the internal message, such as: software installation, software update, or software uninstallation. Of course, the management interface module 34 may directly send the configuration management message to the processing engine 32, and the processing engine 32 completes decapsulation of the configuration management file to obtain configuration and/or management of the processing engine 32. Internal message of the software.
在另一个实施例中, 如图 4 所示, 所述芯片还包括: 内存管理单元 ( Memory Management Unit , MMU )控制器 35 , MMU控制器 35包括内 存接口, 所述 MMU控制器 35 通过所述内存接口与外部内存连接, 所述 MMU控制器 35还通过数据通道与所述处理引擎 32连接; 其中:  In another embodiment, as shown in FIG. 4, the chip further includes: a memory management unit (MMU) controller 35, the MMU controller 35 includes a memory interface, and the MMU controller 35 passes the The memory interface is connected to the external memory, and the MMU controller 35 is further connected to the processing engine 32 through a data channel;
所述 MMU控制器 35,用于将处理引擎 32处理的数据存放至所述外部 内存。  The MMU controller 35 is configured to store data processed by the processing engine 32 to the external memory.
可选的, MMU控制器 35具体可以将上述外部内存是作为存储控制芯 片自身的内存, 并在存储控制芯片在工作状态下将 MMU控制器处理引擎 32使用的软件的程序代码,或者存放处理引擎 32处理的数据存放至上述外 部内存。  Optionally, the MMU controller 35 may specifically use the external memory as a memory of the storage control chip itself, and store the program code of the software used by the MMU controller processing engine 32 in the working state of the storage control chip, or store the processing engine. The 32 processed data is stored in the above external memory.
这样可以实现将处理引擎 32使用的软件, 或者存放处理引擎 32处理 的数据存放至上述外部内存, 例如, 当存储控制芯片包括的数据緩存不够 用时, 将处理引擎 32 处理的数据存放至上述外部内存。  In this way, the software used by the processing engine 32 or the data processed by the processing engine 32 can be stored in the external memory. For example, when the data buffer included in the storage control chip is not enough, the data processed by the processing engine 32 is stored in the external memory. .
在另一个实施例中,如图 5所示,所述芯片还包括:直接内存访问( Direct Memory Access , DMA )控制器 36 , 所述 DMA控制器分别通过控制通道 与所述处理引擎 32连接, 以及通过控制通道与所述 MMU控制器连接; 其 中:  In another embodiment, as shown in FIG. 5, the chip further includes: a direct memory access (DMA) controller 36, wherein the DMA controller is connected to the processing engine 32 through a control channel, respectively. And connecting to the MMU controller through a control channel; wherein:
DMA控制器 36,用于当需要使用所述外部内存时,控制所述存储接口 模块 33 与所述外部内存之间的数据传输, 以及控制所述网络接口模块 33 与所述外部内存之间的数据传输。 a DMA controller 36, configured to control data transmission between the storage interface module 33 and the external memory when the external memory needs to be used, and to control the network interface module 33 Data transfer with the external memory.
可选的, 上述控制通道具体可以是是用于传输控制数据或者命令等, 且传输时不需要对数据或者命令等进行特定协议封装的通道。  Optionally, the foregoing control channel may specifically be a channel for transmitting control data or commands, and does not need to perform specific protocol encapsulation on data or commands during transmission.
DMA控制器 36具体可以是将通过处理引擎 32将网络接口的数据存储 至上述外部内存, 例如: 网络接口模块 31对网络侧协议报文进行解封装处 理得到网络侧协议报文的报文实体( payload )。  The DMA controller 36 may specifically store the data of the network interface to the external memory through the processing engine 32. For example, the network interface module 31 decapsulates the network side protocol packet to obtain a packet entity of the network side protocol packet. Payload).
这样可以实现将外部内存作用于存放报文实体数据, 由于处理引擎 32 可以是根据报文头进行对报文的解释和分析, 这样报文头就可以不存放到 外部内存, 例如: 存放到存储控制芯片的内部緩存模块"数据緩存"(请参考 下面的实施方式)。 另外, 处理引擎 32还可以是分析整个报文(包括报文 头和报文实体)的, 例如从磁盘读取数据时, 处理引擎 32先分析第一内部 报文(例如: SCSI报文), 获知到第一内部报文(例如: SCSI报文)是一 条读取磁盘的指令, 然后向磁盘发起读取请求。 当磁盘发回数据时, 处理 引擎 32通过分析磁盘发送的首包(包括报文头和报文实体), 获知该首包 是从磁盘读取的数据流, 那么后续的报文处理引擎 32都不需要再分析, 而 是启用 DMA控制器 36将磁盘发送的报文传送到外部内存, 处理引擎 32 再通知网络接口模块 31从外部内存取出这些报文数据。 这样, 处理引擎 32 就节省了每个报文都进行分析的工作量, 提高了处理效率。  In this way, the external memory can be used to store the packet entity data. Since the processing engine 32 can interpret and analyze the packet according to the packet header, the packet header can be stored in the external memory, for example: Control chip's internal cache module "data cache" (refer to the implementation below). In addition, the processing engine 32 may also analyze the entire packet (including the packet header and the packet entity). For example, when reading data from the disk, the processing engine 32 first analyzes the first internal packet (for example, SCSI packet). It is learned that the first internal message (for example: SCSI message) is an instruction to read the disk, and then initiates a read request to the disk. When the disk sends back data, the processing engine 32 analyzes the first packet sent by the disk (including the packet header and the packet entity), and learns that the first packet is a data stream read from the disk, and then the subsequent packet processing engine 32 Instead of reanalysis, the DMA controller 36 is enabled to transfer the messages sent by the disk to the external memory, and the processing engine 32 notifies the network interface module 31 to retrieve the message data from the external memory. In this way, the processing engine 32 saves the workload of analyzing each message and improves the processing efficiency.
在另一个实施例中, 如图 6所示, 所述芯片还包括: 数据緩存(buffer ) 37, 所述数据緩存 37通过数据通道与所述处理引擎 32连接; 其中:  In another embodiment, as shown in FIG. 6, the chip further includes: a data buffer 37, wherein the data cache 37 is connected to the processing engine 32 through a data channel;
所述数据緩存 37,用于緩存程序代码或者所述处理引擎 32处理的报文 信息;  The data cache 37 is configured to cache program code or message information processed by the processing engine 32;
所述处理引擎 32还用于调用所述数据緩存緩存的程序代码执行对报文 的处理操作处理引擎 32。  The processing engine 32 is further configured to invoke the program code of the data cache buffer to execute a processing operation processing engine 32 for the message.
数据緩存 37具体可以是在存储控制芯片在工作状态下存放存储控制芯 片的软件程序代码, 以及处理引擎 32对报文进行解封装处理时, 去掉的报 文头信息。 当然, 网络接口模块 31以及存储接口模块 33对报文进行解封 装处理时, 去掉的报文头信息也可以通过处理引擎 32存放至数据緩存。  The data cache 37 may specifically be a software program code for storing the storage control chip in the working state of the storage control chip, and a message header information that is removed when the processing engine 32 decapsulates the packet. Of course, when the network interface module 31 and the storage interface module 33 perform the decapsulation processing on the packet, the removed header information may also be stored in the data cache by the processing engine 32.
在另一个实施例中, 如图 7所示, 所述芯片还包括: 闪存(Flash )接 口模块 38 ,所述 Flash接口模块 38—端口与外部 Flash芯片连接,所述 Flash 接口模块 38的另一端与所述处理引擎 32连接; 其中: In another embodiment, as shown in FIG. 7, the chip further includes: a flash (Flash) interface The port module 38, the port of the flash interface module 38 is connected to an external flash chip, and the other end of the flash interface module 38 is connected to the processing engine 32;
所述 Flash接口模块 38, 用于在下电状态将所述芯片处理引擎 32使用 的软件的程序代码存储至所述外部 Flash芯片。  The Flash interface module 38 is configured to store program code of software used by the chip processing engine 32 to the external flash chip in a powered down state.
这样可以实现在下电状态下, 存储控制芯片使用的软件 (例如: 处理 引擎 32、 网络接口模块 31和存储接口模块 33使用的软件 ) 的程序代码不 会丟失。  In this way, the program code of the software used by the memory control chip (for example, the software used by the processing engine 32, the network interface module 31, and the memory interface module 33) is not lost in the power-off state.
下面以上述第一内部报文和第二内部报文为 SCSI报文为例介绍下,在 传输第一内部报文和第二内部报文时, 存储控制芯片所处理的协议栈, 请 参考图 8, 当上述网络侧接口为 Eth接口时, 网络侧协议包括图 8所示的 801Eth、 IP、 TCP和 iSCSI协议, 网络接口模块 31可以独立完成 801所示 的协议的解封装或者封装, 或者网络接口模块 31和处理引擎 32配合完成 801所示的协议的解封装或者封装, 其中, 配合的实现请参考上述的实施方 式。 当网络侧接口为 FC接口时, 网络侧协议包括图 8所示的 802FC协议, 网络接口模块 31可以完成 802所示的协议的解封装或者封装。 当网络侧接 口为 FCoE接口时, 网络侧协议包括图 8所示的 803Eth和 FCoE协议, 网 络接口模块 31可以完成 803所示的协议的解封装或者封装, 或者网络接口 模块 31和处理引擎 32配合完成 803所示的协议的解封装或者封装。 当网 络侧接口为 IB接口时, 网络侧协议包括图 8所示的 804IB协议 , 网络接口 模块 31可以完成 804所示的协议的解封装或者封装。 当上述存储侧接口为 SAS或者 SATA接口时,存储侧协议包括图 8所示的 805SAS或者 SATA协 议, 存储接口模块 33可以完成 805所示的协议的解封装与封装。 当上述存 储侧接口为 SSD接口时, 存储侧协议包括图 8所示的 806NAND协议, 存 储接口模块 33可以完成 806所示的协议的解封装与封装。  The following takes the first internal packet and the second internal packet as SCSI packets as an example. When transmitting the first internal packet and the second internal packet, the protocol stack processed by the control chip is stored, please refer to the figure. 8. When the network side interface is an Eth interface, the network side protocol includes the 801Eth, IP, TCP, and iSCSI protocols shown in FIG. 8. The network interface module 31 can independently perform the decapsulation or encapsulation of the protocol shown in 801, or the network. The interface module 31 and the processing engine 32 cooperate with the decapsulation or encapsulation of the protocol shown in 801. For the implementation of the cooperation, refer to the foregoing implementation manner. When the network side interface is an FC interface, the network side protocol includes the 802FC protocol shown in FIG. 8, and the network interface module 31 can complete the decapsulation or encapsulation of the protocol shown in 802. When the network side interface is an FCoE interface, the network side protocol includes the 803Eth and FCoE protocols shown in FIG. 8, and the network interface module 31 can complete the decapsulation or encapsulation of the protocol shown in 803, or the network interface module 31 and the processing engine 32 cooperate. Complete the decapsulation or encapsulation of the protocol shown in 803. When the network side interface is an IB interface, the network side protocol includes the 804IB protocol shown in FIG. 8, and the network interface module 31 can complete the decapsulation or encapsulation of the protocol shown in 804. When the storage side interface is a SAS or SATA interface, the storage side protocol includes the 805SAS or SATA protocol shown in FIG. 8, and the storage interface module 33 can complete the decapsulation and encapsulation of the protocol shown in 805. When the storage side interface is an SSD interface, the storage side protocol includes the 806 NAND protocol shown in FIG. 8, and the storage interface module 33 can complete the decapsulation and encapsulation of the protocol shown in 806.
上述技术方案中, 在上面实施例的基础上介绍了多种可选的实施方式, 且都可以实现减少存储控制及接口控制电路的成本。 图 9是本发明实施例提供的一种磁盘报文传输方法的流程示意图, 如 图 9所示, 包括以下步骤: 901、 存储控制芯片接收第一装置发送的包括内部报文的第一协议报 文, 并对所述第一协议报文进行第一协议报文解封装处理得到所述内部报 文。 In the above technical solution, various alternative embodiments are introduced on the basis of the above embodiments, and the cost of the storage control and the interface control circuit can be reduced. FIG. 9 is a schematic flowchart of a disk packet transmission method according to an embodiment of the present invention. As shown in FIG. 9, the method includes the following steps: 901. The storage control chip receives the first protocol packet that is sent by the first device, and includes the first protocol packet, and performs the first protocol packet decapsulation process on the first protocol packet to obtain the internal packet.
902、 存储控制芯片对所述内部报文进行分析处理得到分析结果; 902. The storage control chip analyzes and processes the internal packet to obtain an analysis result.
903、 当所述分析结果表示所述内部报文是用于发送至第二装置的报文 时, 存储控制芯片对所述内部报文进行第二协议封装处理得到第二协议报 文, 并将所述第二协议报文发送至所述第二装置; 其中: 903. When the analysis result indicates that the internal packet is a packet for sending to the second device, the storage control chip performs a second protocol encapsulation process on the internal packet to obtain a second protocol packet, and Sending the second protocol message to the second device; wherein:
所述第一装置为与所述存储控制芯片的第一端连接的网络装置, 所述 第二装置为与所述存储控制芯片的第二端连接的磁盘; 或者, 所述第一装 置为与所述存储控制芯片的第二端连接的磁盘, 所述第二装置为与所述存 储控制芯片的第一端连接网络装置。  The first device is a network device connected to the first end of the storage control chip, and the second device is a magnetic disk connected to the second end of the storage control chip; or, the first device is The second device connected to the second end of the storage control chip, the second device is connected to the first end of the storage control chip.
可选的, 上述第一协议具体可以是网络侧协议, 第二协议具体可以是 存储侧协议; 或者上述第一协议具体可以是存储侧协议中的一个协议, 第 二协议具体可以是网络侧协议。  Optionally, the foregoing first protocol may be a network side protocol, and the second protocol may be a storage side protocol. The first protocol may be specifically one of a storage side protocol, and the second protocol may be a network side protocol. .
需要说明的是, 所述方法具体可以是应用于上面实施例介绍的存储控 制芯片, 其中, 上述网络装置具体可以是上面实施例中介绍的存储控制芯 片的外部网络。  It should be noted that the method may be specifically applied to the storage control chip introduced in the above embodiment, where the network device may specifically be an external network of the storage control chip introduced in the above embodiment.
另一个实施例中, 步骤 901具体可以包括:  In another embodiment, step 901 may specifically include:
存储控制芯片接收网络装置发送的包括第一内部报文的网络侧协议报 文, 并对所述网络侧协议报文进行网络侧协议解封装处理得到所述第一内 部才艮文。  The storage control chip receives the network side protocol packet that is sent by the network device and includes the first internal packet, and performs network side protocol decapsulation processing on the network side protocol packet to obtain the first internal packet.
其中, 该步骤具体可以是通过上面实施例介绍的网络接口模块以及处 理引擎配置实现的。 具体的实现过程可以参考上面的实施例。  The step may be specifically implemented by using the network interface module and the processing engine configuration introduced in the foregoing embodiments. The specific implementation process can refer to the above embodiment.
可选的, 步骤 902具体可以包括:  Optionally, step 902 may specifically include:
存储控制芯片对所述第一内部报文进行分析处理得到分析结果。  The storage control chip analyzes the first internal message to obtain an analysis result.
可选的, 步骤 903具体可以包括:  Optionally, the step 903 may specifically include:
当所述分析结果表示所述第一内部报文是用于发送至磁盘的报文时, 存储控制芯片对所述第一内部报文进行存储侧协议封装处理得到存储侧协 议报文, 并将所述存储侧协议报文发送至所述磁盘。 其中, 该步骤具体可以是通过上面实施例介绍的存储接口模块以及处 理引擎配置实现的。 具体的实现过程可以参考上面的实施例。 When the analysis result indicates that the first internal packet is a packet for sending to a disk, the storage control chip performs a storage side protocol encapsulation process on the first internal packet to obtain a storage side protocol packet, and The storage side protocol packet is sent to the disk. The step may be specifically implemented by using the storage interface module and the processing engine configuration introduced in the foregoing embodiments. The specific implementation process can refer to the above embodiment.
可选的, 上述第一内部报文具体可以是向上述磁盘进行写操作的报文。 该实施例中中, 介绍存储控制芯片对磁盘进行写操作的报文传输过程, 该过程相比有技术, 可以减少存储控制及接口控制电路的成本。  Optionally, the first internal packet may be a packet that is written to the disk. In this embodiment, a message transmission process in which a storage control chip writes to a disk is introduced, and the process can reduce the cost of the storage control and the interface control circuit.
在另一个实施例中, 步骤 901具体可以包括:  In another embodiment, step 901 may specifically include:
存储控制芯片接收磁盘发送的包括第二内部报文的存储侧协议报文, 并对所述存储侧协议报文进行存储侧协议解封装处理得到所述第二内部报 文。  The storage control chip receives the storage side protocol packet that is sent by the disk and includes the second internal packet, and performs a storage side protocol decapsulation process on the storage side protocol packet to obtain the second internal packet.
其中, 该步骤具体可以是通过上面实施例介绍的存储接口模块以及处 理引擎配置实现的。 具体的实现过程可以参考上面的实施例。  The step may be specifically implemented by using the storage interface module and the processing engine configuration introduced in the foregoing embodiments. The specific implementation process can refer to the above embodiment.
可选的, 步骤 902具体可以包括:  Optionally, step 902 may specifically include:
存储控制芯片对所述第二内部报文进行分析处理得到分析结。  The storage control chip analyzes and processes the second internal packet to obtain an analysis result.
步骤 903具体可以包括:  Step 903 specifically includes:
当所述分析结果表示所述第二内部报文是用于发送至外部网络的报文 时, 存储控制芯片对所述第二目标报文进行网络侧协议封装处理得到网络 侧协议 "^文, 并将该网络侧协议 ^艮文发送至外部网络。  When the analysis result indicates that the second internal packet is a packet for sending to an external network, the storage control chip performs network side protocol encapsulation processing on the second target packet to obtain a network side protocol. And send the network side protocol to the external network.
其中, 该步骤具体可以是通过上面实施例介绍的网络接口模块以及处 理引擎配置实现的。 具体的实现过程可以参考上面的实施例。  The step may be specifically implemented by using the network interface module and the processing engine configuration introduced in the foregoing embodiments. The specific implementation process can refer to the above embodiment.
可选的, 上述第二内部报文具体可以是对磁盘进行读取操作的报文。 该实施例中, 上述技术方案中, 存储控制芯片接收第一装置发送的包 括内部报文的第一协议报文, 并对所述第一协议报文进行第一协议报文解 封装处理得到所述内部报文; 存储控制芯片对所述内部报文进行分析处理 得到分析结果; 当所述分析结果表示所述内部报文是用于发送至第二装置 的报文时, 存储控制芯片对所述内部报文进行第二协议封装处理得到第二 协议报文, 并将所述第二协议报文发送至所述第二装置。 这样整个存储控 制芯片就只需要处理第一协议和第二协议的协议栈, 相比现有技术存储控 制及接口控制电路都通过 PCIE接口,即现有技术中存储控制及接口控制电 路至少需要处理 PCIE协议、 网络侧协议(例如: Eth协议)和存储侧协议 (例如: SAS 协议) 的协议栈, 本实施例可以减少存储控制及接口控制电 路的成本。 下面以下具体的应用实例进行举例说明 Optionally, the foregoing second internal packet may be a packet that performs a read operation on the disk. In this embodiment, in the foregoing technical solution, the storage control chip receives the first protocol packet that is sent by the first device and includes the internal packet, and performs decapsulation processing on the first protocol packet by using the first protocol packet. An internal message; the storage control chip analyzes the internal message to obtain an analysis result; and when the analysis result indicates that the internal message is a message for sending to the second device, the storage control chip pairs The internal packet performs a second protocol encapsulation process to obtain a second protocol packet, and sends the second protocol packet to the second device. Thus, the entire storage control chip only needs to process the protocol stack of the first protocol and the second protocol. Compared with the prior art, the storage control and the interface control circuit pass through the PCIE interface, that is, the storage control and the interface control circuit in the prior art need to be processed at least. PCIE protocol, network side protocol (for example: Eth protocol) and storage side protocol The protocol stack (for example: SAS protocol), this embodiment can reduce the cost of the storage control and interface control circuit. The following specific application examples are given as examples.
应用场景的结构可以如图 10所示, 服务器的存储板 101上配置存储控 制芯片 1011 , 其存储侧接口为 SAS, 连接板内磁盘 1012, 网络侧接口为 Eth接口,连接交换板 102的 Eth交换机 1021 ,服务器板 103的处理器 1031 通过 Eth网卡 1032连接交换板的 Eth交换机 1021来访问存储板 101 , 服务 器系统跑的是 iSCSI协议数据。另外,存储板 101上还可以包括处理器 1013 , 例如, 处理器 1013用于配置和管理存储控制芯片的软件。 以服务器板 103 读取存储板 101上的磁盘 1012的操作为例进行说明, 该读取操作的流程可 以参考图 11所示, 该流程可以包括如下步骤:  The structure of the application scenario is as shown in FIG. 10, and the storage control chip 1011 is configured on the storage board 101 of the server. The storage side interface is SAS, the internal disk 1012 is connected, the network side interface is an Eth interface, and the Eth switch connected to the switch board 102 is connected. 1021. The processor 1031 of the server board 103 accesses the storage board 101 by connecting the Eth switch 1021 of the switch board through the Eth network card 1032. The server system runs the iSCSI protocol data. In addition, the memory board 101 may further include a processor 1013. For example, the processor 1013 is configured to configure and manage software for storing the control chip. The operation of the disk 1012 on the storage board 101 is described as an example. The flow of the read operation may be as shown in FIG. 11. The process may include the following steps:
1101、服务器板将 iSCSI报文封装在 Eth报文中, 通过网卡发送至交换 板的 Eth交换机。  1101. The server board encapsulates the iSCSI packet in the Eth packet and sends it to the Eth switch of the switch board through the NIC.
1102、交换板的 Eth交换机转发服务器板网卡发过来的 Eth报文到存储 板。  The Eth switch of the switch board forwards the Eth packet sent by the server board NIC to the storage board.
1103、存储板的存储控制芯片的网络侧接口接收到 Eth报文,其网络接 口模块对 Eth报文进行协议解封装去掉 Eth报文头, 把处理后 IP报文传送 给处理引擎。  1103. The network side interface of the storage control chip of the storage board receives the Eth packet, and the network interface module decapsulates the Eth packet to remove the Eth packet header, and transmits the processed IP packet to the processing engine.
1104、 网络接口模块解封装 IP报文, 去掉 IP报文头和 TCP报文头, 把处理后的 iSCSI报文传送给处理引擎。  1104. The network interface module decapsulates the IP packet, removes the IP packet header and the TCP packet header, and transmits the processed iSCSI packet to the processing engine.
1105、 网络接口模块解封装 iSCSI报文, 以去掉 iSCSI报文头, 把处理 后的 SCSI报文传送给处理引擎。  1105. The network interface module decapsulates the iSCSI packet to remove the iSCSI packet header, and transmits the processed SCSI packet to the processing engine.
需要说明的是, IP和 TCP的协议卸载和 iSCSI的协议卸载是可选支持 的功能, 本发明实施例对此不作限定制, 即步骤 1104和 1105可以是由网 络接口模块执行的, 还可以是由处理引擎执行的, 即处理引擎可以完成上 述步骤 1104和步骤 1105。 本实施例以网络接口模块支持 IP、 TCP和 iSCSI 的协议卸载功能为例进行说明, 则其进行协议卸载处理后的是 SCSI报文。  It should be noted that the protocol offloading of the IP and TCP and the protocol offloading of the iSCSI are optional supported functions. The embodiment of the present invention does not limit this, that is, the steps 1104 and 1105 may be performed by the network interface module, or may be The processing engine may perform the above steps 1104 and 1105. In this embodiment, the network interface module supports the protocol offload function of IP, TCP, and iSCSI as an example. After the protocol is uninstalled, the SCSI packet is processed.
1106、 处理引擎接收到网络接口模块发送过来的 SCSI报文, 当解释出 该 SCSI报文是读取磁盘的命令请求,则把 SCSI报文传送给存储接口模块。1106, the processing engine receives the SCSI packet sent by the network interface module, when interpreted The SCSI packet is a command request for reading a disk, and the SCSI packet is transmitted to the storage interface module.
1107、 存储接口模块接收到 SCSI报文, 将该 SCSI封装上 SAS报文头 得到 SAS报文, 并将该 SAS报文发送至磁盘。 1107. The storage interface module receives the SCSI packet, and obtains the SAS packet from the SAS packet header of the SCSI package, and sends the SAS packet to the disk.
1108、 磁盘内部的控制器接收到该 SAS报文后, 分析 SAS报文获取到 读命令, 并读取出包括响应数据的 SAS报文, 并将该 SAS报文返回给存储 接口模块。  1108. After receiving the SAS packet, the controller of the disk analyzes the SAS packet to obtain a read command, and reads the SAS packet including the response data, and returns the SAS packet to the storage interface module.
1109、 存储接口模块接收到磁盘发过来的 SAS报文, 对该 SAS报文进 行协议解封装去掉 SAS报文头, 把处理后的 SCSI报文传送给处理引擎。  1109. The storage interface module receives the SAS packet sent by the disk, decapsulates the SAS packet, removes the SAS packet header, and transmits the processed SCSI packet to the processing engine.
1110、 处理引擎接收到存储接口模块发过来的 SCSI报文, 解释到该 SCSI报文是读取到的磁盘数据, 则把该 SCSI报文传送给网络接口模块。  1110. The processing engine receives the SCSI packet sent by the storage interface module, and if the SCSI packet is the read disk data, the SCSI packet is transmitted to the network interface module.
1111、 网络接口模块接收到处理引擎发送的 SCSI报文, 根据之前记录 的网络接口信息(例如: 包括 TCP端口号、 IP地址、 MAC地址等), 对该 SCSI报文封装 iSCSI报文头、 TCP报文头、 IP报文头、 Eth报文头, 把处 理后的 Eth报文发送给交换板。  The network interface module receives the SCSI packet sent by the processing engine, and encapsulates the iSCSI packet header and the TCP packet according to the previously recorded network interface information (for example, including the TCP port number, the IP address, the MAC address, and the like). The packet header, the IP packet header, and the Eth packet header are sent to the switch board.
1112、交换板的 Eth交换机转发存储板存储控制芯片发过来的 Eth报文 到服务器板。  1112. The Eth switch of the switch board forwards the Eth packet sent by the storage board storage control chip to the server board.
1113、服务器板网卡接收到交换板发过来的 Eth报文,进行处理后通过 PCIE接口传送给处理器。  1113. The server board network card receives the Eth message sent by the switch board, and processes the packet to the processor through the PCIE interface.
本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流 程, 是可以通过计算机程序来指令相关的硬件来完成, 所述的程序可存储 于一计算机可读取存储介质中, 该程序在执行时, 可包括如上述各方法的 实施例的流程。 其中, 所述的存储介质可为磁碟、 光盘、 只读存储记忆体 ( Read-Only Memory, ROM )或随机存取存 4诸器 ( Random Access Memory, 简称 RAM )等。  A person skilled in the art can understand that all or part of the process of implementing the above embodiment method can be completed by a computer program to instruct related hardware, and the program can be stored in a computer readable storage medium. In execution, the flow of an embodiment of the methods as described above may be included. The storage medium may be a magnetic disk, an optical disk, a read-only memory (ROM), or a random access memory (RAM).
以上所揭露的仅为本发明较佳实施例而已, 当然不能以此来限定本发 明之权利范围, 因此依本发明权利要求所作的等同变化, 仍属本发明所涵 盖的范围。  The above is only the preferred embodiment of the present invention, and the scope of the present invention is not limited thereto, and the equivalent changes made in the claims of the present invention are still within the scope of the present invention.

Claims

权利要求 Rights request
1、 一种存储控制芯片, 其特征在于, 包括: 网络接口模块、 处理引擎 和存储接口模块, 其中, 所述网络接口模块包括网络侧接口, 所述网络接 口模块通过所述网络侧接口与所述芯片的外部网络连接, 所述网络接口模 块通过数据通道与所述处理引擎连接, 所述处理引擎还通过数据通道与所 述存储接口模块连接, 所述存储接口模块包括存储侧接口, 所述存储接口 模块通过所述存储侧接口与磁盘连接; 其中: 1. A storage control chip, characterized in that it includes: a network interface module, a processing engine and a storage interface module, wherein the network interface module includes a network side interface, and the network interface module communicates with the network interface through the network side interface. The chip is connected to an external network, the network interface module is connected to the processing engine through a data channel, the processing engine is also connected to the storage interface module through a data channel, the storage interface module includes a storage side interface, The storage interface module is connected to the disk through the storage side interface; wherein:
所述网络接口模块, 用于通过网络侧协议处理实现所述外部网络与所 述处理引擎之间传输报文; The network interface module is used to transmit messages between the external network and the processing engine through network-side protocol processing;
所述处理引擎, 用于分析所述网络接口模块传输的报文, 或者分析所 述存储接口模块传输的报文; 并将分析结果表示为用于发送至磁盘的报文 通过数据通道发送至所述存储接口模块, 并将分析结果表示为用于发送至 所述外部网络的报文通过数据通道发送至所述网络接口模块; The processing engine is used to analyze the messages transmitted by the network interface module, or analyze the messages transmitted by the storage interface module; and represent the analysis results as messages sent to the disk through the data channel. Describe the storage interface module, and represent the analysis results as messages for sending to the external network and send them to the network interface module through the data channel;
所述存储接口模块, 用于通过存储侧协议处理实现所述磁盘与所述处 理引擎之间传输报文。 The storage interface module is used to transmit messages between the disk and the processing engine through storage-side protocol processing.
2、 如权利要求 1所述的芯片, 其特征在于, 所述所述网络接口模块还 用于通过所述网络侧接口接收所述外部网络发送的包括第一内部报文的网 络侧协议报文, 并对所述网络侧协议报文进行解封装处理得到包括所述第 一内部报文的第一目标报文, 再通过数据通道将所述第一目标报文发送至 所述处理引擎; 2. The chip according to claim 1, wherein the network interface module is further configured to receive a network-side protocol message including a first internal message sent by the external network through the network-side interface. , decapsulate the network side protocol message to obtain a first target message including the first internal message, and then send the first target message to the processing engine through a data channel;
所述处理引擎还用于根据所述第一目标报文得到所述第一内部报文, 对所述第一内部报文进行分析处理得到分析结果, 当该分析结果表示所述 第一内部报文是用于发送至磁盘的报文时, 通过数据通道将所述第一内部 报文发送至所述存储接口模块; The processing engine is further configured to obtain the first internal message according to the first target message, analyze and process the first internal message to obtain an analysis result, and when the analysis result indicates that the first internal message When the message is a message sent to a disk, the first internal message is sent to the storage interface module through a data channel;
所述存储接口模块还用于对所述第一内部报文进行存储侧协议封装处 理得到存储侧协议报文, 并通过所述存储侧接口将所述存储侧协议报文发 送至所述磁盘。 The storage interface module is further configured to perform storage-side protocol encapsulation processing on the first internal message to obtain a storage-side protocol message, and send the storage-side protocol message to the disk through the storage-side interface.
3、 如权利要求 1或 2所述的芯片, 其特征在于, 所述存储接口模块还 用于通过所述存储侧接口接收所述磁盘发送的包括第二内部报文的存储侧 协议报文, 并对所述存储侧协议报文进行解封装处理得到所述第二内部报 文, 并通过数据通道将所述第二内部报文发送至所述处理引擎; 3. The chip according to claim 1 or 2, wherein the storage interface module is further configured to receive a storage-side protocol message including a second internal message sent by the disk through the storage-side interface, and decapsulating the storage-side protocol message to obtain the second internal message, and sending the second internal message to the processing engine through a data channel;
所述处理引擎还用于对所述第二内部报文进行分析处理得到分析结 果, 当该分析结果表示所述第二内部报文是用于发送至外部网络的报文时, 通过数据通道向所述网络接口模块发送包括所述第二内部报文的第二目标 报文; The processing engine is also configured to analyze and process the second internal message to obtain an analysis result. When the analysis result indicates that the second internal message is a message for sending to an external network, send the second internal message to the external network through the data channel. The network interface module sends a second target message including the second internal message;
所述网络接口模块还用于对所述第二目标报文进行封装处理得到网络 侧协议报文, 并通过所述网络侧接口将该网络侧协议报文发送至外部网络。 The network interface module is also configured to encapsulate the second target message to obtain a network-side protocol message, and send the network-side protocol message to an external network through the network-side interface.
4、 如权利要求 2所述的芯片, 其特征在于, 所述网络接口模块用于通 过所述网络侧接口接收外部网络发送的包括第一内部报文的网络侧协议报 文, 并对所述网络侧协议报文进行网络侧协议解封装处理得到所述第一内 部报文, 再通过数据通道将所述第一内部报文发送至所述处理引擎; 或者 所述网络接口模块用于当所述网络侧协议报文包括多层协议封装时, 通过所述网络侧接口接收外部网络发送的包括第一内部报文的网络侧协议 报文, 并对所述网络侧协议报文进行第一层协议的解封装处理得到包括所 述第一内部报文的目标报文, 再通过数据通道将所述目标报文发送至所述 处理引擎; 所述处理引擎用于当所述网络侧协议报文包括多层协议封装时, 对所述目标报文进行解封装处理得到所述第一内部报文, 对所述第一内部 报文进行分析处理得到分析结果, 当该分析结果表示所述第一内部报文是 用于读取磁盘的报文时, 通过数据通道将所述第一内部报文发送至所述存 储接口模块。 4. The chip of claim 2, wherein the network interface module is configured to receive a network-side protocol message including a first internal message sent by an external network through the network-side interface, and process the The network side protocol message is subjected to network side protocol decapsulation processing to obtain the first internal message, and then the first internal message is sent to the processing engine through a data channel; or the network interface module is used when all When the network side protocol message includes multi-layer protocol encapsulation, the network side protocol message including the first internal message sent by the external network is received through the network side interface, and the first layer of the network side protocol message is processed. The decapsulation process of the protocol obtains the target message including the first internal message, and then sends the target message to the processing engine through the data channel; the processing engine is used to process the network side protocol message When multi-layer protocol encapsulation is included, the target message is decapsulated to obtain the first internal message, the first internal message is analyzed and processed to obtain an analysis result, and when the analysis result indicates that the first internal message is When the internal message is a message for reading a disk, the first internal message is sent to the storage interface module through a data channel.
5、 如权利要求 3所述的芯片, 其特征在于, 所述处理引擎用于对所述 第二内部报文进行分析处理得到分析结果, 当该分析结果表示所述第二内 部报文是用于发送至外部网络的报文时, 通过数据通道向所述网络接口模 块发送所述第二内部报文; 或者 5. The chip according to claim 3, wherein the processing engine is used to analyze and process the second internal message to obtain an analysis result, and when the analysis result indicates that the second internal message is When sending a message to the external network, the network interface module is block and send the second internal message; or
所述处理引擎用于当所述网络侧协议报文包括多层协议封装时, 对所 述第二内部报文进行分析处理得到分析结果, 当该分析结果表示所述第二 内部报文是用于发送至外部网络的报文时, 对所述第二内部报文进行封装 处理得到包括所述第二内部报文的第二目标报文, 并通过数据通道向所述 网络接口模块发送所述第二目标报文。 The processing engine is configured to analyze and process the second internal message to obtain an analysis result when the network side protocol message includes multi-layer protocol encapsulation. When the analysis result indicates that the second internal message is When sending a message to an external network, the second internal message is encapsulated to obtain a second target message including the second internal message, and the second target message is sent to the network interface module through a data channel. Second destination message.
6、 如权利要求 1或 2所述的芯片, 其特征在于, 所述芯片还包括: 管 理接口模块, 其中, 所述管理接收模块包括控制管理接口, 所述管理接口 模块通过所述控制管理接口与所述芯片的外部处理器连接, 所述管理接口 模块还通过管理通道与所述处理引擎连接; 其中: 6. The chip according to claim 1 or 2, characterized in that, the chip further includes: a management interface module, wherein the management receiving module includes a control management interface, and the management interface module passes the control management interface Connected to the external processor of the chip, the management interface module is also connected to the processing engine through a management channel; wherein:
所述管理接口模块, 用于通过所述控制管理接口接收所述外部处理器 发送的用于配置和 /或管理所述处理引擎的配置管理 文, 并通过管理通道 将所述配置管理报文发送至所述处理引擎; The management interface module is configured to receive a configuration management message sent by the external processor for configuring and/or managing the processing engine through the control management interface, and send the configuration management message through a management channel. to said processing engine;
所述处理引擎还用于根据所述配置管理报文配置和 /或管理所述处理引 擎的软件。 The processing engine is further configured to configure and/or manage software of the processing engine according to the configuration management message.
7、 如权利要求 1或 2所述的芯片, 其特征在于, 所述芯片还包括: 内 存管理单元 MMU控制器 , 所述 MMU控制器包括内存接口 , 所述 MMU 控制器通过所述内存接口与外部内存连接, 所述 MMU控制器还通过数据 通道与所述处理引擎连接; 其中: 7. The chip according to claim 1 or 2, characterized in that, the chip further includes: a memory management unit MMU controller, the MMU controller includes a memory interface, and the MMU controller communicates with the memory interface through the memory interface. External memory connection, the MMU controller is also connected to the processing engine through a data channel; where:
所述 MMU控制器, 用于将所述处理引擎处理的数据存放至所述外部 内存。 The MMU controller is used to store the data processed by the processing engine into the external memory.
8、 如权利要求 7所述的芯片, 其特征在于, 所述芯片还包括: 直接内 存访问 DMA控制器,所述 DMA控制器分别通过控制通道与所述处理引擎 连接, 以及通过控制通道与所述 MMU控制器连接; 其中: 8. The chip according to claim 7, wherein the chip further includes: a direct memory access DMA controller, the DMA controller is connected to the processing engine through a control channel, and is connected to the processing engine through a control channel. The MMU controller connection; where:
所述 DMA控制器,用于当需要使用所述外部内存时,控制所述存储接 口模块与所述外部内存之间的数据传输, 以及控制所述网络接口模块与所 述外部内存之间的数据传输。 The DMA controller is used to control data transmission between the storage interface module and the external memory when the external memory needs to be used, and to control the network interface module and the external memory. Describes data transfer between external memories.
9、 如权利要求 1或 2所述的芯片, 其特征在于, 所述芯片还包括: 数 据緩存, 所述数据緩存通过数据通道与所述处理引擎连接; 其中: 9. The chip according to claim 1 or 2, characterized in that, the chip further includes: a data cache, the data cache is connected to the processing engine through a data channel; wherein:
所述数据緩存, 用于緩存程序代码或者所述处理引擎处理的报文信息; 所述处理引擎还用于调用所述数据緩存緩存的程序代码执行对报文的 处理操作。 The data cache is used to cache program codes or message information processed by the processing engine; the processing engine is also used to call the program code cached in the data cache to perform processing operations on messages.
10、 如权利要求 1或 2所述的芯片, 其特征在于, 所述芯片还包括: 闪存 Flash接口模块, 所述 Flash接口模块一端口与外部 Flash芯片连接, 所述 Flash接口模块的另一端与所述处理引擎连接; 其中: 10. The chip according to claim 1 or 2, characterized in that, the chip further includes: a Flash interface module, one port of the Flash interface module is connected to an external Flash chip, and the other end of the Flash interface module is connected to an external Flash chip. the processing engine connection; where:
所述 Flash接口模块,用于在下电状态将所述芯片使用的软件的程序代 码存储至所述外部 Flash芯片。 The Flash interface module is used to store the program code of the software used by the chip to the external Flash chip in the power-off state.
11、 一种磁盘报文传输方法, 其特征在于, 包括: 11. A disk message transmission method, characterized by including:
存储控制芯片接收第一装置发送的包括内部报文的第一协议报文, 并 对所述第一协议报文进行第一协议报文解封装处理得到所述内部报文; 所述存储控制芯片对所述内部报文进行分析处理得到分析结果; 当所述分析结果表示所述内部报文是用于发送至第二装置的报文时, 所述存储控制芯片对所述内部报文进行第二协议封装处理得到第二协议报 文, 并将所述第二协议报文发送至所述第二装置; 其中: The storage control chip receives a first protocol message including an internal message sent by the first device, and performs a first protocol message decapsulation process on the first protocol message to obtain the internal message; the storage control chip The internal message is analyzed and processed to obtain an analysis result; when the analysis result indicates that the internal message is a message sent to the second device, the storage control chip performs a third processing on the internal message. The second protocol encapsulation process is performed to obtain a second protocol message, and the second protocol message is sent to the second device; wherein:
所述第一装置为与所述存储控制芯片的第一端连接的网络装置, 所述 第二装置为与所述存储控制芯片的第二端连接的磁盘; 或者, 所述第一装 置为与所述存储控制芯片的第二端连接的磁盘, 所述第二装置为与所述存 储控制芯片的第一端连接的网络装置。 The first device is a network device connected to the first end of the storage control chip, and the second device is a disk connected to the second end of the storage control chip; or, the first device is a network device connected to the first end of the storage control chip. The second end of the storage control chip is connected to a disk, and the second device is a network device connected to the first end of the storage control chip.
12、 如权利要求 11所述的方法, 其特征在于, 所述存储控制芯片接收 第一装置发送的包括内部报文的第一协议报文, 并对所述第一协议报文进 行第一协议报文解封装处理得到所述内部报文, 包括: 所述存储控制芯片接收所述网络装置发送的包括第一内部报文的网络 侧协议 ^艮文, 并对所述网络侧协议 ^艮文进行网络侧协议解封装处理得到所 述第一内部 文; 12. The method of claim 11, wherein the storage control chip receives a first protocol message including an internal message sent by the first device, and performs a first protocol on the first protocol message. The internal message is obtained through message decapsulation processing, including: The storage control chip receives a network-side protocol message including a first internal message sent by the network device, and performs network-side protocol decapsulation processing on the network-side protocol message to obtain the first internal message. ;
所述当所述分析结果表示所述内部报文是用于发送至第二装置的报文 时, 所述存储控制芯片对所述内部报文进行第二协议封装处理得到第二协 议报文, 并将所述第二协议报文发送至所述第二装置, 包括: When the analysis result indicates that the internal message is a message sent to the second device, the storage control chip performs a second protocol encapsulation process on the internal message to obtain a second protocol message, and sending the second protocol message to the second device, including:
当所述分析结果表示所述第一内部报文是用于发送至磁盘的报文时, 所述存储控制芯片对所述第一内部报文进行存储侧协议封装处理得到存储 侧协议报文, 并将所述存储侧协议报文发送至所述磁盘。 When the analysis result indicates that the first internal message is a message for sending to a disk, the storage control chip performs storage-side protocol encapsulation processing on the first internal message to obtain a storage-side protocol message, and sends the storage side protocol message to the disk.
13、 如权利要求 11所述的方法, 其特征在于, 所述存储控制芯片接收 第一装置发送的包括内部报文的第一协议报文, 并对所述第一协议报文进 行第一协议报文解封装处理得到所述内部报文, 包括: 13. The method of claim 11, wherein the storage control chip receives a first protocol message including an internal message sent by the first device, and performs a first protocol on the first protocol message. The internal message is obtained through message decapsulation processing, including:
所述存储控制芯片接收磁盘发送的包括第二内部报文的存储侧协议报 文, 并对所述存储侧协议报文进行存储侧协议解封装处理得到所述第二内 部才艮文; The storage control chip receives the storage-side protocol message including the second internal message sent by the disk, and performs storage-side protocol decapsulation processing on the storage-side protocol message to obtain the second internal message;
所述存储控制芯片对所述第二内部报文进行分析处理得到分析结果; 所述当所述分析结果表示所述内部报文是用于发送至第二装置的报文 时, 所述存储控制芯片对所述内部报文进行第二协议封装处理得到第二协 议报文, 并将所述第二协议报文发送至所述第二装置, 包括: The storage control chip analyzes and processes the second internal message to obtain an analysis result; when the analysis result indicates that the internal message is a message for sending to the second device, the storage control chip The chip performs a second protocol encapsulation process on the internal message to obtain a second protocol message, and sends the second protocol message to the second device, including:
当所述分析结果表示所述第二内部报文是用于发送至外部网络的报文时, 所述存储控制芯片对所述第二目标报文进行网络侧协议封装处理得到网络 侧协议报文, 并将该网络侧协议报文发送至所述网络装置。 When the analysis result indicates that the second internal message is a message for sending to an external network, the storage control chip performs network-side protocol encapsulation processing on the second target message to obtain a network-side protocol message. , and send the network side protocol message to the network device.
PCT/CN2014/078367 2013-10-15 2014-05-26 Storage controller chip and disk packet transmission method WO2015055008A1 (en)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
CN201310482817.2A CN103558995B (en) 2013-10-15 2013-10-15 A kind of storage control chip and disk message transmitting method
CN201310482817.2 2013-10-15

Publications (1)

Publication Number Publication Date
WO2015055008A1 true WO2015055008A1 (en) 2015-04-23

Family

ID=50013255

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/CN2014/078367 WO2015055008A1 (en) 2013-10-15 2014-05-26 Storage controller chip and disk packet transmission method

Country Status (2)

Country Link
CN (1) CN103558995B (en)
WO (1) WO2015055008A1 (en)

Families Citing this family (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103558995B (en) * 2013-10-15 2016-09-28 华为技术有限公司 A kind of storage control chip and disk message transmitting method
CN106649190A (en) * 2015-10-29 2017-05-10 池州职业技术学院 Integrated system for integrated rapid storage of electronic products
US10142447B2 (en) * 2016-06-02 2018-11-27 Honeywell International Inc. System having a protocol independent configuration environment
CN111464505B (en) * 2020-03-11 2022-04-15 贺雪峰 Message processing method, device, apparatus, storage medium and processor

Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1567247A (en) * 2003-07-10 2005-01-19 上海龙林通信技术有限公司 Media file memory system and fetching mode thereof
CN1710530A (en) * 2005-07-21 2005-12-21 华中科技大学 Storage controler based on object and dispatching method used thereof
WO2006059283A2 (en) * 2004-12-03 2006-06-08 Koninklijke Philips Electronics N.V. Streaming memory controller
CN1821946A (en) * 2006-02-16 2006-08-23 杭州华为三康技术有限公司 Storage system and method of storaging data and method of reading data
CN101566927A (en) * 2008-04-23 2009-10-28 杭州华三通信技术有限公司 Memory system, memory controller and data caching method
CN103558995A (en) * 2013-10-15 2014-02-05 华为技术有限公司 Memory control chip and disk message transmission method

Family Cites Families (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101657802A (en) * 2006-12-06 2010-02-24 弗森多系统公司(dba弗森-艾奥) The device, the system and method that are used for long-range direct memory access (DMA) solid storage device
CN101324867B (en) * 2007-06-16 2011-07-20 深圳市硅格半导体有限公司 Device and method for managing data based on semiconductor storage medium
CN101437046A (en) * 2008-12-11 2009-05-20 成都市华为赛门铁克科技有限公司 Method for processing data of solid-state hard disk, solid-state hard disk and network appliance
WO2012050934A2 (en) * 2010-09-28 2012-04-19 Fusion-Io, Inc. Apparatus, system, and method for a direct interface between a memory controller and non-volatile memory using a command protocol

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1567247A (en) * 2003-07-10 2005-01-19 上海龙林通信技术有限公司 Media file memory system and fetching mode thereof
WO2006059283A2 (en) * 2004-12-03 2006-06-08 Koninklijke Philips Electronics N.V. Streaming memory controller
CN1710530A (en) * 2005-07-21 2005-12-21 华中科技大学 Storage controler based on object and dispatching method used thereof
CN1821946A (en) * 2006-02-16 2006-08-23 杭州华为三康技术有限公司 Storage system and method of storaging data and method of reading data
CN101566927A (en) * 2008-04-23 2009-10-28 杭州华三通信技术有限公司 Memory system, memory controller and data caching method
CN103558995A (en) * 2013-10-15 2014-02-05 华为技术有限公司 Memory control chip and disk message transmission method

Also Published As

Publication number Publication date
CN103558995B (en) 2016-09-28
CN103558995A (en) 2014-02-05

Similar Documents

Publication Publication Date Title
US11397703B2 (en) Methods and systems for accessing host memory through non-volatile memory over fabric bridging with direct target access
US11275530B2 (en) Method, system, and related device for NAS data access
WO2015197027A1 (en) Method for accessing nvme storage device, and nvme storage device
WO2018137217A1 (en) Data processing system, method, and corresponding device
TWI777072B (en) Host, nvme ssd and method for storage service
JP4347247B2 (en) Method, system, and program for executing a data transfer request
US20080304481A1 (en) System and Method of Offloading Protocol Functions
WO2016187813A1 (en) Data transmission method and device for photoelectric hybrid network
JP2006033854A (en) Method of enabling transmission between nodes, system, and program
EP3660686B1 (en) Method and device for transmitting data processing request
US20150032837A1 (en) Hard Disk and Data Processing Method
WO2022166359A1 (en) Method and apparatus for sending fragmented packets
US10372343B2 (en) Storage system, method, and apparatus for processing operation request
TW200814672A (en) Method and system for a user space TCP offload engine (TOE)
WO2019057005A1 (en) Data check method, device and network card
US20150071290A1 (en) Data routing acceleration
WO2015055008A1 (en) Storage controller chip and disk packet transmission method
KR20170133236A (en) STORAGE SYSTEM, METHOD, AND APPARATUS FOR FAST IO ON PCIe DEVICES
WO2020044086A1 (en) File transfer and play method and apparatus, and device/terminal/server
CN114697387B (en) Data packet transmission method, device and storage medium
US10255213B1 (en) Adapter device for large address spaces
WO2020221033A1 (en) Method for managing remote storage device by means of management device
CN113497767A (en) Method and device for transmitting data, computing equipment and storage medium
WO2015000294A1 (en) Hard disk and method for forwarding and obtaining hard disk data
WO2014205638A1 (en) Method and device for transmitting data packet

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

Country of ref document: EP

Kind code of ref document: A1

NENP Non-entry into the national phase

Ref country code: DE

122 Ep: pct application non-entry in european phase

Ref document number: 14854472

Country of ref document: EP

Kind code of ref document: A1