CN109564502A - Treating method and apparatus applied to the access request in storage equipment - Google Patents

Treating method and apparatus applied to the access request in storage equipment Download PDF

Info

Publication number
CN109564502A
CN109564502A CN201680088376.XA CN201680088376A CN109564502A CN 109564502 A CN109564502 A CN 109564502A CN 201680088376 A CN201680088376 A CN 201680088376A CN 109564502 A CN109564502 A CN 109564502A
Authority
CN
China
Prior art keywords
request
data packet
storage equipment
access request
data
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
CN201680088376.XA
Other languages
Chinese (zh)
Other versions
CN109564502B (en
Inventor
黄永兵
徐君
王元钢
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Huawei Technologies Co Ltd
Original Assignee
Huawei Technologies Co Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Huawei Technologies Co Ltd filed Critical Huawei Technologies Co Ltd
Publication of CN109564502A publication Critical patent/CN109564502A/en
Application granted granted Critical
Publication of CN109564502B publication Critical patent/CN109564502B/en
Active legal-status Critical Current
Anticipated expiration legal-status Critical

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

Abstract

The present embodiments relate to the treating method and apparatus for the access request being applied in storage equipment.This method comprises: network interface card receives the data packet that other storage equipment are sent, it include at least one access request in the data packet, which carries the request type information of at least one access request;The network interface card judges whether at least one access request is the request that modification operation is executed to the storage equipment according to the request type information;When at least one access request is to execute the request of modification operation to the storage equipment, which is stored in the data packet in the Nonvolatile memory;Otherwise, which is stored in the data packet in the volatile ram.The treating method and apparatus for the access request of the embodiment of the present invention being applied in storage equipment, the buffer area of network interface card buffer area and storage system in the prior art can be unified, to reduce the copy expense of data between the two.

Description

Treating method and apparatus applied to the access request in storage equipment Technical field
The present invention relates to the communications fields, more particularly to applied to the treating method and apparatus of the access request in storage equipment.
Background technique
Distributed memory system is dispersedly stored in data in multiple independent storage equipment, using expansible system structure, shares storage load using more storage equipment.Specifically, distributed memory system can be got up multiple storage apparatus interconnections by network, be uniformly managed.Client access storage equipment is stored, or data can be transmitted by high speed network between storage equipment.Distributed memory system not only has reliability, availability and access efficiency, is also easy to extend.
For storing client access storage equipment, when storage client sends data packet to storage equipment, first by network interface card (the Network Interface Card in receiving end storage equipment, NIC it) is received, and it is buffered in the data buffer zone of network interface card, it carries out unpacking in the data buffer zone of network interface card simultaneously and network protocol stack is handled, later, data in the data packet are copied to dynamic random access memory (the Dynamic Random Access Memory of storage equipment by the processor in storage equipment from the data buffer zone of network interface card again, DRAM so that the processor of storage equipment is handled in).Such as, if data are written in the data packet request, the processor for then storing equipment can be by the data from the corresponding position for copying storage medium in DRAM, which can be storage level memory (Storage Class Memory, SCM) or flash memory (flash).
In above-mentioned storage equipment, network interface card generally comprises one or more request queues, the corresponding data buffer zone of each request queue, for caching the data packet received.And the copy function of data refers to and copies the data in data packet to memory, such as DRAM from the request queue of network interface card in data buffer zone, is handled.Data copy operation needs to expend central processing unit (the Central Processing Unit of storage equipment,) and memory source CPU, therefore, if the data volume for including in data packet is larger, the expense of data copy operation can occupy biggish specific gravity in network transmission.However, memory bandwidth is a bottleneck of system, multiple data copy will certainly consume a large amount of memory bandwidth.Therefore, the copy that buffer data how is reduced or eliminated in distributed memory system has very big value to the performance of optimization network request.
Summary of the invention
This application provides a kind for the treatment of method and apparatus applied to the access request in storage equipment, the occupancy and data copy time expense of memory bandwidth when can reduce storage device processes request of data.
First aspect, provide a kind of processing method applied to the access request in storage equipment, the storage equipment includes network interface card, volatile ram and Nonvolatile memory, this method comprises: the network interface card receives the data packet that other storage equipment are sent, it include at least one access request in the data packet, which carries the request type information of at least one access request;The network interface card judges whether at least one access request is the request that modification operation is executed to the storage equipment according to the request type information;When at least one access request is to execute the request of modification operation to the storage equipment, which is stored in the data field part in the data packet in the Nonvolatile memory, which includes the request content of at least one access request;When at least one access request is to execute the request of non-modification operation to the storage equipment, which is stored in the data field part in the data packet in the volatile ram.
Therefore, the processing method of the access request being applied in storage equipment of the embodiment of the present application, the request type information that network interface card includes in data packet based on the received, determine whether at least one access request is the request that modification operation is executed to storage equipment in the data packet, when at least one access request is to execute the request of modification operation to the storage equipment, network interface card stores the data field part of the data packet into Nonvolatile memory, otherwise, network interface card stores the data field part of data packet into volatile ram, the buffer area of network interface card buffer area and storage system in the prior art can be unified in this way, to reduce the copy expense of data between the two, and it is flexibly applied in various application scenarios, it avoids in the prior art to the limitation of network interface card performance;It reduces simultaneously and storage of the access request of modification operation in Nonvolatile memory SCM is not executed to storage equipment, reduce the demand to SCM large capacity, improve the reading-writing life-span of SCM.
It should be understood that, network interface card receives the data packet that other equipment are sent, including at least one access request, at least one access request request type having the same in the data packet, and the request type of at least one access request can be indicated by the request type information in the data packet.
With reference to first aspect, in a kind of implementation of first aspect, when at least one access request is to execute the request of modification operation to the storage equipment, this method further include: the packet header domain part in the data packet is stored in the Nonvolatile memory or the volatile ram by the network interface card, which includes the information for indicating the address of the data packet.
It should be understood that, when network interface card is according to the request type information for including in data packet, determine that at least one access request in data packet is when executing modification operation to storage equipment, the data field part of data packet is stored into Nonvolatile memory, the data packet may include packet header domain and data field two parts, then can will wrap Header field and data field are stored into Nonvolatile memory, wherein can be stored in the packet header in the data packet into the persistence request queue in the Nonvolatile memory;Opposite, when determining at least one access request in data packet is not to execute modification operation to storage equipment, such as when executing read operation, the data field part of data packet is stored into volatile ram, packet header domain part and data field part can also be stored into Nonvolatile memory, wherein it is possible to by packet header storage into the non-persistentization request queue in the volatile ram.
It should be understood that, the different access request of request type is respectively stored into different memories, it is corresponding, packet header in data packet can also be respectively stored into different memories, i.e. by the type of access request be to storage equipment modify operation data packet packet header domain part store into the persistence request queue of Nonvolatile memory, and the packet header domain part that the type of access request is the data packet that non-modification operation is carried out to storage equipment is stored into the non-persistentization request queue of volatile ram, so that each request queue only supports that storage access request type is to execute the packet header of the data packet of modification operation to storage equipment, or, only support that storage access request type is that the packet header of the data packet of read operation is executed to storage equipment.
Optionally, in order to be further reduced the utilization rate of Nonvolatile memory, such as the Nonvolatile memory can be SCM, can also at least one access request in the packet be to storage equipment execute modification operation when, the packet header domain part of the data packet is stored in volatile ram, such as in DRAM, but still the data field part in data packet is stored in SCM, packet header domain part and data field part can be stitched together to obtain complete data packet by dispersion-collection (scatter-gather) later.
Specifically, after the complete each request packet of storage server process, it needs to send the corresponding response bag of the data packet to the transmitting terminal for sending data packet, for example, the data packet is the write request in key-value system, then the packet header domain part in the response bag can be reused, and the packet header domain part can also reconfigure out even if loss, and hence it is also possible to which volatile ram is also stored in the packet header domain part of the write request, such as in DRAM, rather than in SCM.That is, the type of access request be modify to storage equipment operation data packet packet header domain part, such as the packet header domain of the write request, and having stored in DRAM, but will the data field part in the data packet be stored in SCM.
It should be understood that, by the type of access request be modify to storage equipment operation data packet the storage of packet header domain part to volatile ram, such as in DRAM, in the DRAM, still it is divided into persistence request queue and non-persistentization request queue, i.e. the type of access request is that modify to the storage equipment packet header domain part of data packet of operation stores in persistence request queue into DRAM, and the packet header domain part that the type of access request is the data packet that non-modification operation is carried out to storage equipment is stored into the non-persistentization request queue in DRAM.
It is that modify to the storage equipment packet header domain part of data packet of operation is stored into volatile ram by the type of access request, it is possible to reduce to the utilization rate of Nonvolatile memory SCM, so that the SCM has enough spaces storage target data.
With reference to first aspect and its above-mentioned implementation, in another implementation of first aspect, which is stored in the data packet in the Nonvolatile memory, comprising: the data packet is stored in the Nonvolatile memory by the network interface card in the form of log.
It should be understood that being stored in Nonvolatile memory in the form of log, refer to address, length and the data content for storing the data in the data packet.
In this way, data packet is stored in the form of log, so that the region of data packet storage is Log storage region in the prior art, the expense of data copy can be further reduced to avoid the process that data are copied to Log storage region from storage unit DRAM in the prior art.
With reference to first aspect and its above-mentioned implementation, in another implementation of first aspect, which can be storage level memory SCM, which can be dynamic random access memory DRAM.
With reference to first aspect and its above-mentioned implementation, in another implementation of first aspect, modification operation includes at least one of operations described below: write operation updates operation and delete operation;The non-modification operation includes read operation.
It should be understood that different data packet can have different request types.For example, perhaps more new data or deletion data, the request type of the data packet can be determined as executing storage equipment the type of modification operation when data packet writes data for requesting;When data packet reads data for requesting, the request type of the data packet can be determined as executing storage equipment non-modification operation, i.e. execution read operation.
With reference to first aspect and its above-mentioned implementation, in another implementation of first aspect, at least one request for including in the data packet has same request type, the data packet includes number of requests information, which is used to indicate the number of at least one access request.
It should be understood that, the request of same type can be sent to storage equipment by same data packet by sending ending equipment, it include one or more access requests in the data packet, then the data in data packet correspond to the data of at least one access request request processing, and at least one access request has same request type, and the number of at least one access request can be indicated by the number of requests information, avoid the request of same type from sending multiple data packets, to reduce overhead.
Second aspect provides a kind of method applied to the transmission access request in storage equipment, this method comprises: generating data packet, which includes at least one access request, which carries this The request type information of at least one access request;The data packet is sent to storage equipment, in order to which the storage equipment is according to the request type information, judge whether at least one access request is the request that modification operation is executed to the storage equipment, and when at least one access request is to execute the request of modification operation to the storage equipment, which is stored in the data packet in the Nonvolatile memory;When at least one access request is to execute the request of read operation to the storage equipment, which is stored in the data packet in the volatile ram.
Therefore, the method of the transmission access request being applied in storage equipment of the embodiment of the present application, according to the difference of the request type of access request, generate different data packets, in order to receiving end storage equipment according to the request type of data packet, the data packet for executing modification operation to storage equipment is stored in the Nonvolatile memory of storage system, the data packet for executing read operation to storage equipment is stored in volatile ram, the buffer area of network interface card buffer area and storage system in the prior art can be unified in this way, to reduce the copy expense of data between the two;It reduces simultaneously and storage of the data packet of non-modification operation in Nonvolatile memory SCM is executed to storage equipment, reduce the demand to SCM large capacity, improve the reading-writing life-span of SCM.
In conjunction with second aspect, in a kind of implementation of second aspect, the generation data packet includes: to polymerize at least one access request, generate the data packet, the data packet includes at least one access request, at least one access request has same request type, which includes number of requests information, which is used to indicate the number of at least one access request.
It should be understood that, the request of same type is sent to storage equipment by same data packet by sending ending equipment, and the number of at least one access request is indicated by the number of requests information, avoid the access request of same type from sending multiple data packets, to reduce overhead.
The third aspect provides a kind of network interface card stored in equipment, the method in any possible implementation for executing above-mentioned first aspect or first aspect.Specifically, which includes the module for executing the method in any possible implementation of above-mentioned first aspect or first aspect.
Fourth aspect provides a kind of device for storing and sending access request in equipment, the method in any possible implementation for executing above-mentioned second aspect or second aspect.Specifically, which includes the module for executing the method in any possible implementation of above-mentioned second aspect or second aspect.
5th aspect, provide a kind of network interface card stored in equipment, it include: storage unit and processor, the storage unit is for storing instruction, the processor is used to execute the instruction of memory storage, and when the processor executes the instruction of memory storage, the execution is so that the processor executes the method in any possible implementation of first aspect or first aspect.
6th aspect, provide a kind of device for storing and sending access request in equipment, it include: storage unit and processor, the storage unit is for storing instruction, the processor is used to execute the instruction of memory storage, and when the processor executes the instruction of memory storage, the execution is so that the processor executes the method in any possible implementation of second aspect or second aspect.
7th aspect, provide a kind of storage equipment, the storage equipment includes network interface card, volatile ram and Nonvolatile memory, wherein, the network interface card is used for: receiving the data packet that other storage equipment are sent, it include at least one access request in the data packet, which carries the request type information of at least one access request;According to the request type information, judge whether at least one access request is the request that modification operation is executed to the storage equipment;When at least one access request is to execute the request of modification operation to the storage equipment, which is stored in the Nonvolatile memory;When at least one access request is to execute the request of read operation to the storage equipment, which is stored in the volatile ram.
In conjunction with the 7th aspect, in a kind of implementation of the 7th aspect, which is the network interface card in first aspect or first aspect in any one possible implementation.
Eighth aspect, provide a kind of distributed memory system, it is characterized in that, the distributed memory system includes the first storage equipment and the second storage equipment, the first storage equipment is used for: sending data packet to the second storage equipment, it include at least one access request in the data packet, which carries the request type information of at least one access request;The second storage equipment is used for: receiving the data packet that the first storage equipment is sent;According to the request type information, judge whether at least one access request is the request that modification operation is executed to the storage equipment;When at least one access request is to execute the request of modification operation to the storage equipment, which is stored in the Nonvolatile memory;When at least one access request is to execute the request of read operation to the storage equipment, which is stored in the volatile ram.
In conjunction with eighth aspect, in a kind of implementation of eighth aspect, the first storage equipment is also used to: when at least one access request is to execute the request of modification operation to the storage equipment, which being stored in the Nonvolatile memory in the form of log.
In conjunction with eighth aspect and its above-mentioned implementation, in another implementation of eighth aspect, modification operation includes at least one of operations described below: write operation updates operation and delete operation.
9th aspect, provides a kind of computer-readable medium, for storing computer program, which includes the instruction for executing the method in any possible implementation of first aspect or first aspect.
Tenth aspect, provides a kind of computer-readable medium, for storing computer program, which includes the instruction for executing the method in any possible implementation of second aspect or second aspect.
Detailed description of the invention
In order to illustrate the technical solution of the embodiments of the present invention more clearly, will be briefly described below to attached drawing needed in the embodiment of the present invention, it should be apparent that, drawings described below is only the attached drawing of some embodiments of the present invention.
Fig. 1 is the schematic diagram of distributed memory system according to an embodiment of the present invention.
Fig. 2 is the schematic block diagram of storage equipment according to an embodiment of the present invention.
Fig. 3 is the schematic flow chart of the processing method of the access request according to an embodiment of the present invention being applied in storage equipment.
Fig. 4 is the schematic diagram of data packet format according to an embodiment of the present invention.
Fig. 5 is another schematic flow chart of the processing method of the access request according to an embodiment of the present invention being applied in storage equipment.
Fig. 6 is the schematic block diagram of the network interface card in storage equipment according to an embodiment of the present invention.
Specific embodiment
Following will be combined with the drawings in the embodiments of the present invention, and technical scheme in the embodiment of the invention is clearly and completely described, it is clear that described embodiment is a part of the embodiments of the present invention, rather than whole embodiments.
Fig. 1 shows the schematic diagram of distributed memory system 100.The distributed memory system 100 can be connected multiple storage equipment by network, be managed collectively.Specifically, as shown in Figure 1, between any two storage equipment, storage equipment 102 and storage equipment 103 can transmit data by interchanger in the distributed memory system 100;In addition, again may be by switch-access storage equipment 102 or storage equipment 103 for storage client 101.Wherein, storing client 101, storage equipment 102 and storage equipment 103 includes network interface card, and by the network interface card received data packet, which may include packet header domain and data field two parts.For example, the data packet is sent to storage equipment 102 by interchanger by the network interface card of the storage client 101, the network interface card of the storage equipment 102 receives the data packet when storing client 101 to when storing the transmission data packet of equipment 102.
Fig. 2 shows the schematic block diagram of storage equipment 200 according to an embodiment of the present invention, which is set Standby 200 corresponding to the storage equipment 102 or storage equipment 103 in Fig. 1.Specifically, as shown in Fig. 2, the storage equipment 200 includes: network interface card 201, Nonvolatile memory 202, volatile ram 203, processor 204, I/O bus 205 and rambus 206.Wherein, processor 204 is connected by rambus 206 with Nonvolatile memory 202 and volatile ram 203.Processor 204 can access Nonvolatile memory 202 and volatile ram 203 by the rambus 206.Network interface card 201 is connected by I/O bus 205 with Nonvolatile memory 202 and volatile ram 203.Network interface card 201 can access Nonvolatile memory 202 and volatile ram 203 by I/O bus 205.
It should be understood that may include direct memory access (Direct Memory Access, DMA) engine in network interface card 201, network interface card 201 can realize the direct access to Nonvolatile memory 202 and volatile ram 203 by the DMA engine.
Specifically, DMA engine can directly administer bus, such as, for the DMA in the network interface card 201 in Fig. 2, before DMA engine transmits data, bus control right can be given DMA engine by processor 204, and after terminating DMA engine transmission data, bus control right is handed back to processor 204 again by DMA engine.
Specifically, by taking Fig. 2 as an example, a complete DMA transfer data procedures can be divided into DMA request, DMA response, DMA transfer, DMA terminate four parts.In the DMA request stage, the DMA can be initialized by processor 204, and issue operational order to I/O bus 205, I/O bus 205 proposes DMA request.In DMA response phase, dma controller differentiates priority and shielding to DMA request, proposes bus request to bus ruling logic unit.When processor 204 has executed Current bus period i.e. releasable bus control right.At this point, bus ruling logic unit output bus response, indicates that DMA has responded to, I/O bus 205 is notified to start DMA transfer by dma controller.In the DMA transfer stage, after DMA engine obtains bus control right, internal operation is hung up or only carry out at once to processor 204, exports read write command by dma controller, directly controls memory and I/O bus 205 carries out DMA transfer.Therefore, under the control of DMA engine, data transmission is directly carried out between memory and external equipment, the participation of central processing unit can not be needed in transmit process.
Fig. 3 shows the schematic flow chart of the processing method 300 of the access request according to an embodiment of the present invention being applied in storage equipment, and this method 300 can be applied in the storage equipment 102 in distributed memory system as shown in Figure 1 or storage equipment 103.Since Fig. 2 is the structural schematic diagram for storing equipment 102 or storing equipment 103, will be illustrated in the following embodiments with the storage equipment 200 in Fig. 2.As shown in Fig. 2, the storage equipment of the embodiment of the present invention may include network interface card, volatile ram and Nonvolatile memory.Method 300 provided in an embodiment of the present invention can be by the network interface card in the storage equipment 200 201 execute.As shown in figure 3, this method 300 includes:
S310, the network interface card receive the data packet that other storage equipment are sent, and include at least one access request in the data packet, which carries the request type information of at least one access request.
Specifically, as shown in Figure 2, the data packet that client or other storage equipment are sent can be received by network interface card 201 by storing equipment 200, such as shown in Fig. 1, data packet can be sent to storage equipment 102 by network interface card by storing client 101, or storage equipment 103 sends data packet to storage equipment 102 by network interface card, and storage client 101 can be received by network interface card or store the data packet that equipment 103 is sent by storing equipment 102.
Optionally, the data packet is to may include at least one access request, and the data packet further includes request type information, the request type information is used to indicate the request type of at least one access request, for example, the request type information can indicate that at least one access request is read data request, it or is write data requests, perhaps it is to update request of data or be deletion request of data etc., the embodiment of the present invention is not limited to this.
S320 judges whether at least one access request is the request that modification operation is executed to the storage equipment according to the request type information.
It should be understood that, in the prior art, network interface card default only parses the content in the packet header of data packet extremely, such as support the distributed memory system of key assignments (Key-Value), data packet middle wrapping head content includes agreement (the Internet Protocol interconnected between ethernet packet header, network, IP) packet header and User Datagram Protocol (User Datagram Protocol, UDP) packet header, for routing and judging whether the address of request is to belong to current storage devices, and data area is not handled usually.In embodiments of the present invention, it needs to extend the processing function of network interface card, increases network interface card to the dissection process of the request type of data packet.
In embodiments of the present invention, as shown in Figure 2, after 201 received data packet of network interface card of storage equipment 200 includes, network interface card 201 is according to the request type information in data packet, the request type for determining at least one access request in the data packet judges whether at least one access request is the request that modification operation is executed to the storage equipment.Optionally, other equipment can expand or modify the format of available data packet, such as fill specific packet header domain when sending data packet to storage equipment, request type information to include by the data packet, indicates the request type of at least one access request in the data packet.For example, the data field in data packet increases request type field, the request type of at least one access request in the data is indicated by the request type field.
Specifically, the request type of the access request of at least one in data packet can be divided into two major classes, one kind modifies the request of operation to execute to the storage equipment;One kind is to the non-modification of storage equipment execution The request of generic operation, such as the request of read operation is executed to storage equipment.Wherein, when the request type of at least one access request in data packet is to execute modification operation to storage equipment, if the loss of data in the data packet, the data in system is can result in and inconsistent characteristic occur;And when the request type of at least one access request in data packet is to execute non-modification generic operation to storage equipment, the loss of data in data packet will not influence the data in system.
Optionally, request type can be generally distinguished according to read/write, in the data packet of read request after loss of data, do not influence the correctness of system data, therefore the request type of read request is to execute non-modification generic operation to storage equipment, or be referred to as and execute read operation to storage equipment;And in the data packet of write request after loss of data, it will lead to that system data is inconsistent, therefore the request type of write request is to execute modification generic operation to storage equipment.
Similarly, it updates (update) request of data or deletes (delete) request of data, it in the packet all can data in change system when loss of data, therefore, it updates (update) request of data or deletes (delete) request of data and belong to the request type for executing modification generic operation to storage equipment.
Similar, such as Key-Value system, get request, it is retransmitted after the corrupt data in corresponding data packet similar to read request for reading data from memory node, the consistency of data is not influenced, and therefore, get request belongs to the request type that read operation is executed to storage equipment.And put is requested, and is similar to write request, is needed to guarantee that the data in data packet are written correctly into storage system, to guarantee the consistency of system data, then put request belongs to the request type that modification operation is executed to storage equipment.
In embodiments of the present invention, the request type information that data packet includes, it can be by expanding or modifying the format of request packet, such as fill specific packet header domain, or the data field in modification data packet, to indicate the request type of at least one access request in the data packet by carrying request type information.It specifically, in the packet may include request type field, which is used to indicate the request type of at least one access request included in data packet.Below by taking the distributed memory system for supporting Key-Value as an example, increase request type field in the data field part of data packet, the format of the data packet can be as shown in Figure 4.
Specifically, as shown in figure 4, data packet can be divided into two parts of data field where the data of packet header domain and request processing, wherein data field includes the request content of at least one access request in data packet;Packet header domain includes the information of the instruction address of the instruction data packet.Specifically, the packet header domain part in the embodiment of the present invention is similar with the packet header of conventional data packet, including ethernet packet header, the packet header IP and the packet header UDP etc., is used to indicate the address information etc. of network.And the part of the data field in data packet, it is different from traditional data packet, not only include the data to be transmitted, multiple regions can also be further divided into.
Specifically, it may include request type field in the data field part, the request type field carries request type information, is used to indicate the request type of at least one access request in the data included, i.e., whether executes modification operation to storage equipment for identifying at least one access request.Specifically, whether request type field can execute modification operation to storage equipment come at least one access request in identification data packet by scheduled numerical value.It is operated for example, identifying the request type for the access request that the data packet includes with 0 to execute modification to storage equipment, and is to execute non-modification operation to storage equipment with the request type of 1 identification access request, that is, execute read operation.Or, the request type field can also indicate the specific request content of the data packet, according to the request content, determine whether the access request of the data packet executes modification operation to storage equipment, for example, for Key-Value system, access request in data packet can request for get, i.e. request type field indicates the access request in the data packet as get request, then get request is similar to read request, can determine that the type of the access request is to execute non-modification to storage system to operate;And put is requested, it is similar to write request, then can determine that the type of the access request is to execute modification operation to storage system.
It optionally, in the packet can also include number of requests information, which is used to indicate the total number of at least one access request in the data packet.Specifically, the data packet that transmitting terminal generates and sends may include one or more access requests, and when the data packet includes multiple access requests, multiple access request belongs to same request type, and the number of multiple access requests in the data packet can be indicated by number of requests information.For example, can also include number of requests field in the data field part of the data packet, the quantity of at least one access request in the data packet be indicated by the number of requests field.
Optionally, it can also include request head file in the data field part, the request header is used to indicate the information such as the size of data that processing is requested in the data packet, such as, as shown in Figure 4, the number of requests field of the data packet indicates that the data packet includes n access request, corresponding requests head 1 to n, the corresponding size for indicating the component requests data of the request header of each data.
Optionally, the request head file in the data field can also include the information of the concrete operations type for the access request being used to indicate in the data packet.When processor in storage equipment handles the data packet, the concrete operations type of access request is determined according to request field in the data packet.For example, determining that the access request is write request according to the request field, or determine that the access request is read request.Specifically, by taking Fig. 2 as an example, the processor 204 in equipment 200 is stored when needing to handle the data packet, it can parse the request head file of the data field part, the access request of the data is determined according to the request head file, for example, determining that the access request is write request according to the request head file, then phase is written into the data in the data packet In the storage unit answered.
It optionally, can also include data field in the data field part, which is used to carry the data of data packet request processing.Specifically, for example, for write request, which carries the data that the data packet needs to be written;For another example the data field can carry the address information etc. of the data of data packet request reading for read request.
For another example the data field part in the data packet can specifically include key (key) Attribute domain for Key-Value system, it also may include value (value) Attribute domain.Specifically, when data packet is get request, then the data field part includes key Attribute domain, without including value Attribute domain;When data packet is that put is requested, such as shown in Fig. 4, then the data field part includes key Attribute domain and value Attribute domain.
It should be understood that, the request content at least one access request that the data field part of the data packet includes, the request content can refer to the data that data field carries in the data packet, such as, for Key-Value system, the request content may include request head file and key Attribute domain, also may include value Attribute domain.Optionally, the data field of the data packet can also be consistent with the request content of at least one access request, i.e. the request content of at least one access request includes total data domain part.
In embodiments of the present invention, the multiple access requests for belonging to same request type can be aggregated into a data packet and sent by the transmitting terminal for sending data packet.Such as, transmitting terminal can be storage client, storage client is when receiving the access request of multiple pairs of storage equipment ends, first multiple access request can be added in the buffer queue of the storage client, by taking read request as an example, multiple read requests in current cache queue can be aggregated into a big read request data packet, maximum limitation of the size of read request data packet after the polymerization no more than load (payload), format according to above-mentioned data packet, read request data after the polymerization is wrapped plus IP, the packet header such as DUP, form the data packet including multiple access requests of above-mentioned format, the data packet is sent to storage equipment.Again by taking write request as an example, multiple write requests in current cache queue can be aggregated into a big write request data packet, and Key and Value are successively stored, equally, the size of data packet after polymerization is no more than the limitation of payload, along with the packet header such as IP, DUP form the data packet of above-mentioned format.Similarly, access request of same request type, such as Update, delete etc. are requested, according to same mode, the access request of same type can be formed into a data packet and sent.
S330, when at least one access request is to execute the request of modification operation to the storage equipment, which is stored in the data field part in the data packet in the Nonvolatile memory, which includes the request content of at least one access request.
Optionally, as shown in Figure 2, when the request type of at least one access request in the data packet is to execute modification operation to the storage equipment, the network interface card 201 for storing equipment 200 stores the data field part in the data packet into Nonvolatile memory 202, optionally, the packet header domain part of the data packet can also be stored into Nonvolatile memory 202 in corresponding persistence request queue, the persistence request queue is also corresponding with the data field part stored in Nonvolatile memory 202, wherein, the packet header domain part of the data packet includes the information for indicating the address of the data packet.
S340, when at least one access request is to execute the request of non-modification operation to the storage equipment, which is stored in the data field part in the data packet in the volatile ram.
Optionally, as shown in Figure 2, when the request type of at least one access request in data packet is to execute non-modification operation to the storage equipment, such as when executing read operation, the network interface card 201 for storing equipment 200 stores the data field part in the data packet into volatile ram 203, optionally, the packet header domain part of the data packet can also be stored into the non-persistentization request queue in volatile ram 203, the data field part stored in the non-persistentization request queue and volatile ram 203 is corresponding.
Specifically, for the S330 and S340 in method 300, different memories is assigned with for the data field part in the data packet with different access request type, wherein, type for access request is the data packet of operation of modifying to storage equipment, it is stored using Nonvolatile memory, can enable the caching for needing the data in write storage device lasting in data packet.
In the prior art, after the network interface card of storage equipment receives data packet, it include in the request queue for be buffered in network by the data, i.e. in data buffer zone, the data buffer zone of the network interface card can be the partial region of occupancy volatile ram DRAM, later the data unpack and the processing such as network protocol stack, by the data so that storage equipment being further processed from the DRAM for copying storage equipment in the data buffer zone of network interface card to, such as, for write request, the data in the data packet can be completed write operation from being written in corresponding storage unit in DRAM again.
Therefore, in the prior art, the performance bottleneck of network is mainly made of two parts: the processing of network protocol stack and the copy function of buffer data.Existing data packet is generally divided into packet header and data two parts composition.Wherein, packet header contains the information such as request Packet type, network address, such as ethernet packet header, the packet header IP and the packet header UDP.Processing for network protocol stack, the main packet header including parsing, identification and processing data packet, executes the functions such as corresponding forwarded, request extraction.Currently, the optimization of network protocol stack passes through the new technical means such as data surface developing instrument (Data Plane Development Kit, DPDK), open source packet (Open Data Plane, ODP) often to improve the treatment effeciency of protocol stack.
In addition, the copy function for buffer data, data copy operation needs to expend CPU and interior Deposit resource.If the data volume for including in network request is larger, the expense of data copy operation can occupy biggish specific gravity in network transmission.
In embodiments of the present invention, network interface card may include two class request queues, respectively persistence request queue and non-persistentization request queue, every Class Queue may include multiple request queues in the two classes request queue, the packet header domain part that each request queue is wrapped for storing data, and each queue only supports storage to have the corresponding packet header domain of same request type, such as any queue, it can only support that storage request type is the packet header that the data packet of access request of modification operation is executed to storage equipment, or only support that storage request type is the packet header that the data packet of access request of read operation is executed to storage equipment.Optionally, which can be located in Nonvolatile memory, rather than persistence request queue is located in volatile ram.Specifically, it is the packet header that the data for executing modification operation to storage equipment include that persistence request queue, which is used to store request type, and it is to execute the packet header that the data of read operation include to storage equipment that non-persistentization request queue, which is used to store request type,.
In embodiments of the present invention, when the request at least one access request that network interface card includes in parsing data packet is according to type, persistence request queue or non-persistentization request queue can be corresponded to the packet header determined in data packet by analyzing request type.It is corresponding, the transmitting terminal of data packet is sent, such as storage client or other storage equipment are packaged data packet according to the request type of data packet to access request.Later, the packet header of data packet can be stored in different request queues by storage equipment in receiving end according to the type of the access request in data packet.
Optionally, for persistence request queue and non-persistentization request queue, in order to effectively utilize resource, each request queue can also use loop-around data queue.
Accordingly, type for access request is that the data packet of modification operation is executed to storage equipment, also the data field part in the data packet is directly stored in Nonvolatile memory, it and is to execute non-modification to storage equipment to operate for the type of access request, such as read operation, also the data field part in the data packet is directly stored in volatile ram, without as in the prior art, by the data buffer storage in the data packet in network interface card in data buffer zone in DRAM, in the storage region for copying DRAM to again, further according to the content of data packet to access request, data are written again in different storage units, reduce the data buffer zone of network interface card to the expense of the copy between storage unit.
Specifically, type for access request is that the data packet of modification operation is executed to storage equipment, data field part in the data packet is stored into Nonvolatile memory, the Nonvolatile memory has memory behavior, network interface card can directly access the Nonvolatile memory by DMA engine, will be in the data field partial write of the data packet Nonvolatile memory.Optionally, which can be storage level memory (Storage Class Memory, SCM).As a kind of novel storage medium, performance and memory capacity have the access interface of memory between DRAM and flash memory (flash), are able to maintain the persistence for the data being stored in SCM SCM.SCM will be as the important storage medium in High Performance Cache and Memory System.
May include data buffer zone in the SCM, the data buffer zone wrap for storing data in data field part.And in the prior art, it include data buffer zone in network interface card, the data buffer zone can be located in DRAM, network interface card stores data in the data buffer zone, it is copied the data in storage unit DRAM again, and in the embodiment of the present invention, data are directly stored in the data buffer zone of Nonvolatile memory by network interface card, without as carrying out in the prior art from the buffer area of network interface card to the data copy of storage unit.
It should be understood that the data buffer zone in SCM can have multiple and physical address continuous, the length field of each data buffer zone can be identical as the maximum transmission unit (Maximum Transmission Unit, MTU) of network interface card.
It should be understood that the data buffer zone in the SCM can be also used for storing the packet header of corresponding data packet, i.e. the data buffer zone can be used for storing persistence request queue.
In addition, the data buffer zone in the SCM can also be used as region log (Log) of the storage equipment.Equipment is stored in order to guarantee that the consistency of data when such as write request, can first write data into the region Log when receiving the request of data for needing persistence.The region Log for storing equipment is usually one piece of continuous physical region, and the data write mode in the region Log is sequentially written in.
In the prior art, which can also be located in SCM or in other storage units, and network interface card writes data into the data buffer zone of network interface card, then copies the data to storage unit, such as copies in DRAM from data buffer zone.By taking write request as an example, when processor in storage equipment handles the write request, need again to copy the data to from DRAM the storage region of corresponding storage unit, such as in the storage region of write-in SCM, and before processor executes write request, the processor for storing equipment can be first by the relevant information of data, such as data address, data content etc., it is written to the region Log, in this way, it is subsequent by the corresponding data of the write request be written to respective memory regions occur mistake when, can according to the information of Log regional record, execute re-write or cancel write-in.
But in embodiments of the present invention, data buffer zone in the SCM can also be used as the region Log, i.e. the type of access request is to execute the data in the data packet of modification operation to storage equipment to write direct in the data buffer zone of Nonvolatile memory SCM by network interface card, and the data buffer zone of the SCM is equivalent to datum buffering area of network card, the region DRAM and the region Log in the prior art.
Specifically, using the data buffer zone of the SCM as the region Log, it then in the data procedures in storing data packet, is stored in the form of log, that is, stores address, length and the data content of the data in the data packet, wherein, the address of data indicates the information for the address that the data finally store, for example, the access request in data packet is write request, when then being stored in the form of log, need to store the address information of the final writing position for writing data;The length of the data, the as size of the data.
Similarly, type for the access request in data packet is to execute read operation to storage equipment, data in the data packet are directly stored in volatile ram, the volatile ram can be DRAM, it is similar in SCM with storing data into, also may include data buffer zone in the DRAM, the data buffer zone wrap for storing data in data.In embodiments of the present invention, the type of the access request in data packet is that the data of storage equipment execution read operation are directly stored in the data buffer zone of volatile ram by network interface card, without as carrying out in the prior art by the data copy of buffer area to storage unit.
It should be understood that it is to execute the packet header of the data packet of read operation to storage equipment that the data buffer zone in the DRAM, which can be also used for storage access request type, i.e., the data buffer zone is for storing non-persistentization request queue.
It should be understood that, after storage facility network is stuck in determining request type, it can be according to the different type of access request, the packet header of data packet is stored in Nonvolatile memory or volatile ram, such as, it can be that the packet header for the data packet for executing modification operation to storage equipment store in the persistence request queue into SCM by the type of access request in a kind of situation.In another case, in order to be further reduced the utilization rate to the region SCM, it can also be that the packet header for executing the data packet that modification operates to storage equipment is stored in volatile ram by the type of access request, such as in DRAM, the data field part of the data packet of the type is stored in SCM, packet header and data item can be stitched together to obtain complete data packet by dispersion-collection (scatter-gather) later.
Specifically, by taking the operation of the write request of Key-Value system as an example, the packet header of the data packet of the write request and data item can all be existed in SCM.And actually, after the complete each request packet of storage device processes, it needs to the transmitting terminal for sending the data packet, the response bag for data packet is sent, the data packet head part in the response bag can be reused, and data packet head can also reconfigure out even if loss, belong to non-persistentization, and hence it is also possible to the data packet head of the write request is also stored in DRAM, rather than in SCM.That is, the type of access request is to execute the packet header of the data packet of modification operation to storage equipment, such as packet header of the write request is possibly stored in DRAM, but will the data field part in the data packet be stored in SCM.
It should be understood that being the packet for executing the data packet of modification operation to storage equipment for the type of access request Head can also store in the packet header into volatile ram, such as DRAM.In the DRAM, persistence request queue and non-persistentization request queue can be divided into, i.e. the type of access request is in the persistence request queue stored to the packet header of the data packet of storage equipment execution modification operation into DRAM, is to store to the packet header for storing the data packet that equipment executes read operation into the non-persistentization request queue in DRAM by the type of access request.
In embodiments of the present invention, further, when storage equipment needs to handle data packet, as shown in Fig. 2, the processor 204 in storage equipment 200 can call the data in data packet be handled from Nonvolatile memory 202;Similarly, the data in data packet can also be called to be handled from volatile ram 203.
Specifically, for the data in Nonvolatile memory, the type of the corresponding access request of the data is to execute modification operation to storage equipment, when storage equipment needs to handle the data packet of the type, such as when receiving the instruction for handling the data packet, as shown in Figure 2, storage equipment 200 can assure reason and metadata management to the data packet in advance according to processor 204, obtain the essential information of data and storage location information in the data packet, to in the corresponding data buffer zone of Nonvolatile memory 202, such as in the corresponding data buffer zone in SCM, find the storage location of the corresponding data field of the data packet, and the data is called to be handled.Optionally, the essential information of data and storage location information can store in corresponding persistence request queue in the data packet.
Such as, when the processor for storing equipment needs to read the simultaneously data of processing write requests, the data of the data packet of the write request are stored in Nonvolatile memory, processor can be directly according to the information of data in data packet, such as the corresponding Key value of data in request address either Key-Value storage system, inquiry Key corresponds to the position of Value data, the data are found in Nonvolatile memory, write operation is carried out to the data, store that data into specified storage region, such as storage is into SCM or in flash memory (flash).
Equally, for the data in volatile ram, the type of the corresponding access request of the data is to execute read operation to storage equipment, when storage equipment needs to handle the data packet of the type, such as when receiving the instruction for handling the data packet, as shown in Figure 2, storage equipment 200 can assure reason and metadata management to the data packet in advance according to processor 204, obtain the essential information of data and storage location information in the data packet, to in the corresponding data buffer zone of volatile ram 203, such as in the corresponding data buffer zone in DRAM, find the storage location of the corresponding data of the data packet, and the data is called to be handled.
It should be understood that when the inadequate buffer space of the data buffer zone of Nonvolatile memory 202, such as The data buffer zone memory space inadequate of SCM can eliminate the partial data in data buffer zone in other storage units, or carry out garbage reclamation processing to the space of SCM, so that SCM has sufficient space data cached.
Therefore, the processing method for the access request of the embodiment of the present invention being applied in storage equipment, network interface card is according to the request type information for including in data packet, determine whether at least one access request is the request that modification operation is executed to storage equipment in the data packet, when at least one access request is to execute the request of modification operation to the storage equipment, network interface card stores the data packet into Nonvolatile memory, otherwise, network interface card stores data packet into volatile ram, the buffer area of network interface card buffer area and storage system in the prior art can be unified in this way, to reduce the copy expense of data between the two;It reduces simultaneously and storage of the access request of modification operation in SCM is not executed to storage equipment, reduce the demand to SCM large capacity, improve the reading-writing life-span of SCM.
Above in conjunction with Fig. 1 to Fig. 4, the method for handling request of data in distributed memory system according to an embodiment of the present invention is described in detail from the angle of receiving end storage equipment and describes the method for the embodiment of the present invention in conjunction with specific embodiments below in conjunction with Fig. 5.
Fig. 5 shows the schematic flow chart of the processing method 400 of the access request according to an embodiment of the present invention being applied in storage equipment.As shown in Figure 5, this method 400 can be executed by storage equipment, such as the storage equipment in distributed memory system shown in FIG. 1 executes, which is storage equipment 102 or storage equipment 103 in Fig. 1, which is also storage equipment 200 as shown in Figure 2.Specifically, this method 400 includes:
S401 stores equipment received data packet.
It should be understood that, storage equipment can receive the data packet by network interface card, it include at least one access request in the data packet, it and include request type information in the data packet, such as, include request type field in the data packet, request type information is carried by the request type field, which is used to indicate the request type of at least one access request in the data packet.
S402, storage equipment parse the request type information in the data packet, judge the request type of at least one access request.
Specifically, the network interface card of the storage equipment parses data packet, according to the request type field in the data packet, determine the request type of at least one access request in the data packet, the request type of at least one access request is judged to execute modification operation to storage equipment, or operated to execute non-modification to storage equipment, for example, executing read operation.
S403, storage equipment determine that the request type of at least one access request in the data packet is to depositing When storing up equipment execution modification operation, S404 is executed;Storage equipment determines that the request type of at least one access request in the data packet is when executing read operation to storage equipment, to execute S405.
S404, storage equipment determine that the request type of at least one access request in the data packet is to execute modification operation to storage equipment, by data packet storage into Nonvolatile memory, the data in the data packet are persistently cached, and continue to execute S405.
Optionally, the network interface card of equipment is stored to store data packet into Nonvolatile memory, including by the data packet data and packet header be written in the Nonvolatile memory.
Optionally, which can be SCM.
It should be understood that may include data buffer zone in the SCM, for storing the data in the data packet, the packet header of storing data packet can be also used for.It should be understood that the SCM can also be stored in the form of log, i.e. the SCM is also used as the region Log storing data, to guarantee data consistency.
S405 when the storage device processes data packet, from calling the data in the data packet to be handled in Nonvolatile memory, executes S408 after processing.
It should be understood that, when storage equipment needs to handle data packet, the processor of storage equipment assures reason and metadata management according to the data packet, obtain the essential information of data and storage location information in the data packet, to find the storage location of the corresponding data of the data packet in the corresponding data buffer zone SCM, and the data is called to be handled.
S406, storage equipment determines that the request type of at least one access request in the data packet is to execute read operation to storage equipment, by data packet storage into volatile ram, such as DRAM, and continue to execute S407.
S407 calls the data to be handled from volatile ram, S408 is executed after processing when the storage device processes data packet.
S408, data packet process flow terminate.
Therefore, the processing method for the access request of the embodiment of the present invention being applied in storage equipment, network interface card is according to the request type information for including in data packet, determine whether at least one access request is the request that modification operation is executed to storage equipment in the data packet, when at least one access request is to execute the request of modification operation to the storage equipment, network interface card stores the data packet into Nonvolatile memory, otherwise, network interface card stores data packet into volatile ram, the buffer area of network interface card buffer area and storage system in the prior art can be unified in this way, to reduce the copy expense of data between the two;It reduces simultaneously and storage of the access request of modification operation in Nonvolatile memory SCM is not executed to storage equipment, reduce the demand to SCM large capacity, improve the reading-writing life-span of SCM.
It should be understood that, in various embodiments of the present invention, magnitude of the sequence numbers of the above procedures are not meant that the order of the execution order, and the execution sequence of each process should be determined by its function and internal logic, and the implementation process of the embodiments of the invention shall not be constituted with any limitation.
Above in conjunction with Fig. 1 to Fig. 5, the processing method of the access request according to an embodiment of the present invention being applied in storage equipment is described in detail, below in conjunction with Fig. 6, describes the processing unit of the access request according to an embodiment of the present invention being applied in storage equipment.
Fig. 6 shows the schematic block diagram of the network interface card 500 in storage equipment according to an embodiment of the present invention, which may include network interface card 500, volatile ram and the Nonvolatile memory.It for example, the storage equipment can be the middle storage equipment 102 and 103 of distributed memory system as shown in Figure 1, or may be storage equipment 200 shown in Fig. 2, as shown in fig. 6, the network interface card 500 includes:
Receiving module 510 includes at least one access request in the data packet, which carries the request type information of at least one access request for receiving the data packet of other storage equipment transmissions;
Determining module 520, for according to the request type information, judging whether at least one access request is the request for executing modification operation to the storage equipment;
Processing module 530, for when at least one access request is to execute the request of modification operation to the storage equipment, data field part in the data packet is stored in the Nonvolatile memory, which includes the request content of at least one access request;
The processing module 530 is also used to: when at least one access request is to execute the request of non-modification operation to the storage equipment, the data field part in the data packet being stored in the volatile ram.
Therefore, network interface card in the storage equipment of the embodiment of the present invention, according to the request type information for including in data packet, determine whether at least one access request is the request that modification operation is executed to storage equipment in the data packet, when at least one access request is to execute the request of modification operation to the storage equipment, network interface card stores the data packet into Nonvolatile memory, otherwise, network interface card stores data packet into volatile ram, the buffer area of network interface card buffer area and storage system in the prior art can be unified in this way, to reduce the copy expense of data between the two;It reduces simultaneously and storage of the access request of modification operation in SCM is not executed to storage equipment, reduce the demand to SCM large capacity, improve the reading-writing life-span of SCM.
Optionally, which is specifically used for: when at least one access request is to execute the request of modification operation to the storage equipment, which being stored in the Nonvolatile memory in the form of log.
Optionally, modification operation includes at least one of operations described below: write operation updates operation and delete operation;The non-modification operation includes read operation.
Optionally, which is storage level memory SCM, which is dynamic random access memory DRAM.
Optionally, when at least one access request is to execute the request of modification operation to the storage equipment, this method further include: the packet header domain part in the data packet is stored in the Nonvolatile memory or the volatile ram by the network interface card, which includes the information for indicating the address of the data packet.
It should be understood that, network interface card 500 in storage equipment according to an embodiment of the present invention can correspond to execute the method 300 and method 400 in the embodiment of the present invention, and above and other operation and/or function of the modules in network interface card 500 stores the corresponding process that the network interface card of equipment executes in order to realize Fig. 1 in each method into Fig. 5 respectively, for sake of simplicity, details are not described herein.
Therefore, network interface card in the storage equipment of the embodiment of the present invention, according to the request type information for including in data packet, determine whether at least one access request is the request that modification operation is executed to storage equipment in the data packet, when at least one access request is to execute the request of modification operation to the storage equipment, network interface card stores the data packet into Nonvolatile memory, otherwise, network interface card stores data packet into volatile ram, the buffer area of network interface card buffer area and storage system in the prior art can be unified in this way, to reduce the copy expense of data between the two;It reduces simultaneously and storage of the access request of modification operation in SCM is not executed to storage equipment, reduce the demand to SCM large capacity, improve the reading-writing life-span of SCM.
Those of ordinary skill in the art may be aware that unit described in conjunction with the examples disclosed in the embodiments of the present disclosure and algorithm steps, can be realized with the combination of electronic hardware or computer software and electronic hardware.These functions are implemented in hardware or software actually, the specific application and design constraint depending on technical solution.Professional technician can use different methods to achieve the described function each specific application, but such implementation should not be considered as beyond the scope of the present invention.
In several embodiments provided herein, it should be understood that disclosed systems, devices and methods may be implemented in other ways.For example, the apparatus embodiments described above are merely exemplary, for example, the division of the module, only a kind of logical function partition, there may be another division manner in actual implementation.In addition, each functional module in each embodiment of the present invention can integrate in a processing module, it is also possible to modules and physically exists alone, can also be integrated in two or more modules in a module.
If the function is realized in the form of SFU software functional unit and when sold or used as an independent product, can store in a computer readable storage medium.Based on this understanding, substantially the part of the part that contributes to existing technology or the technical solution can be embodied in the form of software products technical solution of the present invention in other words, which is stored in a storage medium In, including some instructions use is so that a computer equipment (can be personal computer, server or the network equipment etc.) performs all or part of the steps of the method described in the various embodiments of the present invention.And storage medium above-mentioned includes: USB flash disk, mobile hard disk, read-only memory (ROM, Read-Only Memory), random access memory (RAM, Random Access Memory), the various media that can store program code such as magnetic or disk.

Claims (16)

  1. A kind of processing method applied to the access request in storage equipment, which is characterized in that the storage equipment includes network interface card, volatile ram and Nonvolatile memory, which comprises
    The network interface card receives the data packet that other storage equipment are sent, and includes at least one access request in the data packet, and the data packet carries the request type information of at least one access request;
    The network interface card judges whether at least one described access request is the request that modification operation is executed to the storage equipment according to the request type information;
    When at least one described access request is to execute the request of modification operation to the storage equipment, data field part in the data packet is stored in the Nonvolatile memory by the network interface card, and the data field part includes the request content of at least one access request;
    When at least one described access request is to execute the request of non-modification operation to the storage equipment, the data field part in the data packet is stored in the volatile ram by the network interface card.
  2. The method according to claim 1, wherein the data packet is stored in the Nonvolatile memory by the network interface card, comprising:
    The data packet is stored in the Nonvolatile memory by the network interface card in the form of log.
  3. Method according to claim 1 or 2, which is characterized in that the modification operation includes at least one of operations described below: write operation updates operation and delete operation;
    The non-modification operation includes read operation.
  4. According to the method in any one of claims 1 to 3, which is characterized in that when at least one described access request is to execute the request of modification operation to the storage equipment, the method also includes:
    Packet header domain part in the data packet is stored in the Nonvolatile memory or the volatile ram by the network interface card, and packet header domain part includes the information for indicating the address of the data packet.
  5. Network interface card in a kind of storage equipment, which is characterized in that the storage equipment includes the network interface card, volatile ram and Nonvolatile memory, and the network interface card includes:
    Receiving module includes at least one access request in the data packet for receiving the data packet of other storage equipment transmissions, and the data packet carries the request type information of at least one access request;
    Determining module, for judging whether at least one described access request is the request for executing modification operation to the storage equipment according to the request type information;
    Processing module, for being to execute modification behaviour to the storage equipment when at least one described access request When the request of work, the data field part in the data packet is stored in the Nonvolatile memory, the data field part includes the request content of at least one access request;
    The processing module is also used to: when at least one described access request is to execute the request of non-modification operation to the storage equipment, the data field part in the data packet being stored in the volatile ram.
  6. Network interface card according to claim 5, which is characterized in that the processing module is specifically used for:
    When at least one described access request is to execute the request of modification operation to the storage equipment, the data packet is stored in the Nonvolatile memory in the form of log.
  7. Network interface card according to claim 5 or 6, which is characterized in that the modification operation includes at least one of operations described below: write operation updates operation and delete operation;
    The non-modification operation includes read operation.
  8. Network interface card according to any one of claims 5 to 7, which is characterized in that the processing module is specifically used for:
    When at least one described access request is to execute the request of modification operation to the storage equipment, packet header domain part in the data packet is stored in the Nonvolatile memory or the volatile ram, packet header domain part includes the information for indicating the address of the data packet.
  9. A kind of storage equipment, which is characterized in that the storage equipment includes network interface card, volatile ram and Nonvolatile memory, and the network interface card is used for:
    The data packet that other storage equipment are sent is received, includes at least one access request in the data packet, the data packet carries the request type information of at least one access request;
    According to the request type information, judge whether at least one described access request is the request that modification operation is executed to the storage equipment;
    When at least one described access request is to execute the request of modification operation to the storage equipment, the data field part in the data packet is stored in the Nonvolatile memory, the data field part includes the request content of at least one access request;
    When at least one described access request is to execute the request of non-modification operation to the storage equipment, the data field part in the data packet is stored in the volatile ram.
  10. Storage equipment according to claim 9, which is characterized in that the network interface card is also used to:
    When at least one described access request is to execute the request of modification operation to the storage equipment, the data packet is stored in the Nonvolatile memory in the form of log.
  11. Storage equipment according to claim 9 or 10, which is characterized in that the modification behaviour Make to include at least one of operations described below: write operation updates operation and delete operation;
    The non-modification operation includes read operation.
  12. The storage equipment according to any one of claim 9 to 11, which is characterized in that the network interface card is also used to:
    When at least one described access request is to execute the request of modification operation to the storage equipment, packet header domain part in the data packet is stored in the Nonvolatile memory or the volatile ram, packet header domain part includes the information for indicating the address of the data packet.
  13. A kind of distributed storage system system, which is characterized in that the distributed memory system includes that the first storage equipment and second store equipment,
    The first storage equipment is used for:
    Data packet is sent to the second storage equipment, includes at least one access request in the data packet, the data packet carries the request type information of at least one access request;
    The second storage equipment is used for:
    Receive the data packet that the first storage equipment is sent;
    According to the request type information, judge whether at least one described access request is the request that modification operation is executed to the storage equipment;
    When at least one described access request is to execute the request of modification operation to the storage equipment, the data field part in the data packet is stored in the Nonvolatile memory, the data field part includes the request content of at least one access request;
    When at least one described access request is to execute the request of non-modification operation to the storage equipment, the data field part in the data packet is stored in the volatile ram.
  14. Distributed storage system according to claim 13 system, which is characterized in that the second storage equipment is also used to:
    When at least one described access request is to execute the request of modification operation to the storage equipment, the data packet is stored in the Nonvolatile memory in the form of log.
  15. Distributed storage system system described in 3 or 14 according to claim 1, which is characterized in that the modification operation includes at least one of operations described below: write operation updates operation and delete operation;
    The non-modification operation includes read operation.
  16. Distributed memory system described in any one of 3 to 15 according to claim 1, which is characterized in that the first storage equipment is also used to:
    It, will when at least one described access request is to execute the request of modification operation to the storage equipment Packet header domain part in the data packet is stored in the Nonvolatile memory or the volatile ram, and packet header domain part includes the information for indicating the address of the data packet.
CN201680088376.XA 2016-08-19 2016-08-19 Processing method and device applied to access request in storage device Active CN109564502B (en)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
PCT/CN2016/096089 WO2018032510A1 (en) 2016-08-19 2016-08-19 Method and apparatus for processing access request applied to storage device

Publications (2)

Publication Number Publication Date
CN109564502A true CN109564502A (en) 2019-04-02
CN109564502B CN109564502B (en) 2020-12-08

Family

ID=61196160

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201680088376.XA Active CN109564502B (en) 2016-08-19 2016-08-19 Processing method and device applied to access request in storage device

Country Status (2)

Country Link
CN (1) CN109564502B (en)
WO (1) WO2018032510A1 (en)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN111831306A (en) * 2020-03-26 2020-10-27 成都万创科技有限责任公司 Serial number and ProjectName reading and writing method based on network card NVM
CN114125081A (en) * 2021-10-27 2022-03-01 桂林长海发展有限责任公司 Received data processing method and device and storage medium
CN114285676A (en) * 2021-11-24 2022-04-05 中科驭数(北京)科技有限公司 Intelligent network card, network storage method and medium for intelligent network card

Families Citing this family (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN113688072B (en) * 2020-05-19 2024-03-26 华为技术有限公司 Data processing method and device
CN113157628A (en) * 2021-04-20 2021-07-23 北京达佳互联信息技术有限公司 Storage system, data processing method and device, storage system and electronic equipment
US20220113914A1 (en) * 2021-12-23 2022-04-14 Kshitij Arun Doshi Storage class memory device including a network

Citations (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH0750666A (en) * 1993-08-05 1995-02-21 Hitachi Ltd Routing system
CN101707590A (en) * 2009-09-25 2010-05-12 曙光信息产业(北京)有限公司 Zero-copy mode based TCP/IP messaging method and device
CN102567226A (en) * 2011-12-31 2012-07-11 曙光信息产业股份有限公司 Data access implementation method and data access implementation device
WO2012169032A1 (en) * 2011-06-09 2012-12-13 富士通株式会社 Buffer apparatus, buffer control apparatus and buffer control method
CN103441948A (en) * 2013-07-03 2013-12-11 华为技术有限公司 Data access method, network card and storage system
CN103631532A (en) * 2012-08-29 2014-03-12 国际商业机器公司 Data access method and device used in data storage system
US20140156907A1 (en) * 2012-12-05 2014-06-05 Douglas A. Palmer Smart memory
CN105224240A (en) * 2014-05-30 2016-01-06 北京忆恒创源科技有限公司 By the method for data write storage device, device and memory device

Family Cites Families (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9367562B2 (en) * 2013-12-05 2016-06-14 Google Inc. Distributing data on distributed storage systems
CN104063344B (en) * 2014-06-20 2018-06-26 华为技术有限公司 A kind of method and network interface card for storing data
CN105068817B (en) * 2015-08-26 2019-02-19 华为技术有限公司 Write data into the method and storage equipment of storage equipment
CN105260136B (en) * 2015-09-24 2019-04-05 北京百度网讯科技有限公司 Data read-write method and distributed memory system

Patent Citations (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH0750666A (en) * 1993-08-05 1995-02-21 Hitachi Ltd Routing system
CN101707590A (en) * 2009-09-25 2010-05-12 曙光信息产业(北京)有限公司 Zero-copy mode based TCP/IP messaging method and device
WO2012169032A1 (en) * 2011-06-09 2012-12-13 富士通株式会社 Buffer apparatus, buffer control apparatus and buffer control method
CN102567226A (en) * 2011-12-31 2012-07-11 曙光信息产业股份有限公司 Data access implementation method and data access implementation device
CN103631532A (en) * 2012-08-29 2014-03-12 国际商业机器公司 Data access method and device used in data storage system
US20140156907A1 (en) * 2012-12-05 2014-06-05 Douglas A. Palmer Smart memory
CN103441948A (en) * 2013-07-03 2013-12-11 华为技术有限公司 Data access method, network card and storage system
CN105224240A (en) * 2014-05-30 2016-01-06 北京忆恒创源科技有限公司 By the method for data write storage device, device and memory device

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN111831306A (en) * 2020-03-26 2020-10-27 成都万创科技有限责任公司 Serial number and ProjectName reading and writing method based on network card NVM
CN114125081A (en) * 2021-10-27 2022-03-01 桂林长海发展有限责任公司 Received data processing method and device and storage medium
CN114125081B (en) * 2021-10-27 2023-09-22 桂林长海发展有限责任公司 Method and device for processing received data and storage medium
CN114285676A (en) * 2021-11-24 2022-04-05 中科驭数(北京)科技有限公司 Intelligent network card, network storage method and medium for intelligent network card
CN114285676B (en) * 2021-11-24 2023-10-20 中科驭数(北京)科技有限公司 Intelligent network card, network storage method and medium of intelligent network card

Also Published As

Publication number Publication date
CN109564502B (en) 2020-12-08
WO2018032510A1 (en) 2018-02-22

Similar Documents

Publication Publication Date Title
US11010681B2 (en) Distributed computing system, and data transmission method and apparatus in distributed computing system
CN109564502A (en) Treating method and apparatus applied to the access request in storage equipment
US11392363B2 (en) Implementing application entrypoints with containers of a bundled application
US9584628B2 (en) Zero-copy data transmission system
JP6763984B2 (en) Systems and methods for managing and supporting virtual host bus adapters (vHBAs) on InfiniBand (IB), and systems and methods for supporting efficient use of buffers with a single external memory interface.
EP4318251A1 (en) Data access system and method, and device and network card
CN110119304B (en) Interrupt processing method and device and server
WO2020199760A1 (en) Data storage method, memory and server
CN113127139B (en) Memory allocation method and device based on DPDK of data plane development kit
US10084613B2 (en) Self adapting driver for controlling datapath hardware elements
CN116049085A (en) Data processing system and method
US20140351536A1 (en) Efficient replication of changes to a byte-addressable persistent memory over a network
CN112100146A (en) Efficient erasure correction distributed storage writing method, system, medium and terminal
US11582168B2 (en) Fenced clone applications
WO2023142605A1 (en) Blockchain-based data processing method and related apparatus
US8898353B1 (en) System and method for supporting virtual host bus adaptor (VHBA) over infiniband (IB) using a single external memory interface
US20160085683A1 (en) Data receiving device and data receiving method
CN114401072B (en) Dynamic buffer control method and system for frame disassembly reordering queue based on HINOC protocol
JP2020088517A (en) Communication apparatus, and control method and program of communication apparatus
US20140359062A1 (en) Data transferring apparatus, data transferring system and non-transitory computer readable medium
CN107615259A (en) A kind of data processing method and system
US20230315683A1 (en) File Access Method, Storage Node, and Network Interface Card
US9104637B2 (en) System and method for managing host bus adaptor (HBA) over infiniband (IB) using a single external memory interface
CN116155828B (en) Message order keeping method and device for multiple virtual queues, storage medium and electronic equipment
CN117312201B (en) Data transmission method and device, accelerator equipment, host and storage medium

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant