CN111813345A - Data transmission method, device, server and readable storage medium - Google Patents

Data transmission method, device, server and readable storage medium Download PDF

Info

Publication number
CN111813345A
CN111813345A CN202010692653.6A CN202010692653A CN111813345A CN 111813345 A CN111813345 A CN 111813345A CN 202010692653 A CN202010692653 A CN 202010692653A CN 111813345 A CN111813345 A CN 111813345A
Authority
CN
China
Prior art keywords
command
data
data transmission
target
comparison
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.)
Withdrawn
Application number
CN202010692653.6A
Other languages
Chinese (zh)
Inventor
刘子宁
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Jinan Inspur Data Technology Co Ltd
Original Assignee
Jinan Inspur Data Technology Co Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Jinan Inspur Data Technology Co Ltd filed Critical Jinan Inspur Data Technology Co Ltd
Priority to CN202010692653.6A priority Critical patent/CN111813345A/en
Publication of CN111813345A publication Critical patent/CN111813345A/en
Withdrawn legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0602Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
    • G06F3/0604Improving or facilitating administration, e.g. storage management
    • 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/061Improving I/O performance
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/46Multiprogramming arrangements
    • G06F9/54Interprogram communication
    • G06F9/546Message passing systems or structures, e.g. queues

Abstract

The invention discloses a data transmission method, a data transmission device, a server and a readable storage medium, wherein in the method, a controller in a multi-controller system acquires a comparison command reading notice by utilizing a doorbell register; when the host needs to perform data transmission with the storage device, the host writes a comparison command read notification in the doorbell register; reading a target comparison command from a submission queue of the host storing the comparison command; reading first data stored in a target comparison command specified logic block from the storage device; comparing whether the first data and the second data in the target comparison command are equivalent; if so, the status of the flag caw is successful, and the corresponding target write command is executed; if not, the status of flag caw is failed. Therefore, the method can enable the multi-controller system to support the CAW function in the NVMe protocol, and can effectively improve the data transmission reliability of the multi-controller system.

Description

Data transmission method, device, server and readable storage medium
Technical Field
The present invention relates to the field of computer application technologies, and in particular, to a data transmission method, an apparatus, a server, and a readable storage medium.
Background
In the big data era, mass data storage occupies a large amount of storage space. Meanwhile, the solid state disk with higher read-write speed is also developed rapidly. How to ensure that the host can quickly read and write data from the solid state disk becomes an important problem.
NVMe can directly access a logic block-based architecture of the solid state disk, and supports highly-parallelized IO, so that the transmission protocol between the traditional host and the storage device is surpassed, and the solid state disk can execute more IO threads.
Currently, the PCIe bus is used as a physical interface, and the NVMe protocol can only be deployed in a server-local manner. The NVM Express working group introduced the NVMe over Fabrics (NVMeoF) specification in 2016. The NVMeOF specification enables a general architecture to transmit an NVMe protocol in advanced storage networks such as InfiniBand, RoCE and iWarp network infrastructures, and can effectively improve the reliability of data transmission.
However, for an MCS (multiple controller system), the related functions in NVMe still cannot be effectively supported, the characteristics of the NVMe protocol and the NVMeoF protocol cannot be fully exerted, and the reliability of data transmission is poor.
In summary, how to effectively support the NVMe protocol and the nvmeaf protocol in the MCS system is a technical problem that needs to be solved by those skilled in the art.
Disclosure of Invention
The invention aims to provide a data transmission method, a data transmission device, a server and a readable storage medium, which are used for improving the transmission reliability of an MCS system.
In order to solve the technical problems, the invention provides the following technical scheme:
a data transmission method is applied to a controller in a multi-controller system and comprises the following steps:
acquiring a comparison command reading notice by using a doorbell register; when the host needs to perform data transmission with the storage device, the host writes the comparison command read notification into the doorbell register;
reading a target compare command from a submission queue in which the host stores compare commands;
reading first data stored in the target comparison command specified logic block from the storage device;
comparing whether the first data and the second data in the target comparison command are equivalent;
if so, the status of the flag caw is successful, and the corresponding target write command is executed;
if not, the caw status is marked as failed.
Preferably, after the comparing command is executed, the method further includes:
sending a completion queue entry to the corresponding I/O completion queue to report the caw status to the host.
Preferably, the executing the corresponding target write command includes:
determining the target writing command with a fusion relation with the target comparison command by using a fusion command;
and executing the target write command.
Preferably, the method further comprises the following steps:
and locking the fusion command and the specified logic block.
Preferably, reading the target compare command from the commit queue of the host depositing compare commands comprises:
reading the target comparison command from the submission queue, and transmitting the target comparison command according to a comparison structure;
the comparison structure body comprises a command identifier, a queue identifier, an operation code, the second data, the logic block ID, the number of logic blocks, an error marking bit and a volatile memory reading marking bit.
Preferably, the method further comprises the following steps:
and performing at least one function management including compression, sequence request, access delay and access frequency limitation on the target write command.
Preferably, the method further comprises the following steps:
and carrying out data transmission by using the SGL structure.
A data transmission device is applied to a controller in a multi-controller system, and comprises:
the notification receiving unit is used for receiving a comparison command reading notification sent by the doorbell register; when the host needs to perform data transmission with the storage device, writing the comparison command reading notification into the doorbell register;
the command reading unit is used for reading a target comparison command from a submission queue of the comparison command stored in the host;
a data reading unit, configured to read first data stored in the target comparison command specifying logical block from the storage device;
the comparison unit is used for comparing whether the first data and the second data in the target comparison command are equivalent or not;
caw flag cell, for marking caw status as successful if equivalent, executing corresponding target write command; if not, the caw status is marked as failed.
A server, comprising: a host, a multi-controller system and a storage device;
the host is used for storing the corresponding target comparison command in a submission queue in the process of data transmission with the storage equipment, and writing a comparison command reading notice in the doorbell register so as to send out the comparison command reading notice;
the controller in the multi-controller system is used for realizing the steps of the data transmission method;
the storage device is used for storing data.
A readable storage medium, on which a computer program is stored which, when being executed by a processor, carries out the steps of the above-mentioned data transmission method.
By applying the method provided by the embodiment of the invention, the doorbell register is utilized to obtain the comparison command reading notification; when the host needs to perform data transmission with the storage device, the host writes a comparison command read notification in the doorbell register; reading a target comparison command from a submission queue of the host storing the comparison command; reading first data stored in a target comparison command specified logic block from the storage device; comparing whether the first data and the second data in the target comparison command are equivalent; if so, the status of the flag caw is successful, and the corresponding target write command is executed; if not, the status of flag caw is failed.
After the controller in the multi-controller system obtains the comparison command reading notice through the doorbell register, the target comparison command can be read from the submission queue of the comparison command stored by the host. Then, the first data stored in the designated logic block corresponding to the target comparison command is read from the storage device. The first data is compared with second data in the target compare command. If the two are equivalent, marking the CAW state as successful, and correspondingly executing the target write command; if the two are not equivalent, the CAW state is marked as identification. Therefore, the method can enable the multi-controller system to support the CAW function (namely, Compared Write) in the NVMe protocol, and can effectively improve the data transmission reliability of the multi-controller system.
Accordingly, embodiments of the present invention further provide a data transmission device, a server, and a readable storage medium corresponding to the data transmission method, which have the above technical effects and are not described herein again.
Drawings
In order to more clearly illustrate the embodiments of the present invention or the technical solutions in the prior art, the drawings used in the description of the embodiments or the prior art will be briefly described below, it is obvious that the drawings in the following description are only some embodiments of the present invention, and for those skilled in the art, other drawings can be obtained according to the drawings without creative efforts.
Fig. 1 is a flowchart of an implementation of a data transmission method according to an embodiment of the present invention;
FIG. 2 is a schematic flow diagram of CAW operation;
FIG. 3 is a schematic flow chart of a match according to an embodiment of the present invention;
FIG. 4 is a schematic diagram of an SGL structure according to an embodiment of the present invention;
FIG. 5 is a schematic structural diagram of a data transmission apparatus according to an embodiment of the present invention;
fig. 6 is a schematic structural diagram of a server according to an embodiment of the present invention.
Detailed Description
In order that those skilled in the art will better understand the disclosure, the invention will be described in further detail with reference to the accompanying drawings and specific embodiments. It is to be understood that the described embodiments are merely exemplary of the invention, and not restrictive of the full scope of the invention. All other embodiments, which can be derived by a person skilled in the art from the embodiments given herein without making any creative effort, shall fall within the protection scope of the present invention.
The first embodiment is as follows:
referring to fig. 1, fig. 1 is a flowchart of a data transmission method in an embodiment of the invention, the method can be applied to a controller in a multi-controller system, and the method includes the following steps:
and S101, acquiring a comparison command reading notice by using a doorbell register.
When the host needs to perform data transmission with the storage device, the host writes a compare command read notification in the doorbell register.
The doorbell register may be embodied as a conventional register that implements a "doorbell"/"notification" effect.
Referring to fig. 2, fig. 2 is a schematic flow chart of the CAW operation. As can be seen, CAW has two operations in common: compare and write. Specifically, the caw operation compares specified content to data stored within specified LBA (logical Block) ranges. If the comparison is successful, the LBA range is updated using the data provided in the Write command. If the compare operation is not successful, the write operation is aborted and the status caw is marked as failed, e.g., "caw failure," and the contents of the LBA range are not modified. For unsuccessful write operations, the compare operation completion status is unaffected.
Referring to fig. 3, fig. 3 is a schematic flow chart of a match according to an embodiment of the invention. The Host (Host) stores the target compare command in a commit queue and writes a doorbell register while performing data transfer with the storage device so that the doorbell register sends a compare command read notification to the controller in the MCS system. The target compare command includes the comparison related information (e.g., the location of the compared logical blocks, the number of logical blocks, etc.), and the Data buffer (Data buffer) provided by the host for comparison.
Preferably, in order to better transmit the CAW command, the command may be transmitted through a compare structure (compare structure) in the present embodiment. That is, step S101 may specifically be to read the target comparison command from the submission queue and transmit the target comparison command according to the comparison structure; the comparison structure body comprises a command identifier, a queue identifier, an operation code, second data, a logic block ID, the number of logic blocks, an error flag bit and a volatile memory reading flag bit. Specifically, the comparison structure includes:
A. the command identification FUSE; the second sub-command representing a complete command (the compare command is the first sub-command of the caw operation).
B. A queue identification CID; identification of commands in the submission queue.
C. An operation code OPC; the opcode of the compare command is 05 h.
D. Second data DPTR; the data to be compared is required.
E. A logic block IDSLBA; the starting logical block id in storage.
F. Number of logical blocks NLB; the number of logical blocks to be compared.
G. An error flag bit LR; if the TRUE bit is set, it indicates that when an error occurs, the controller needs to adopt all possible error recovery methods to search and compare the data, and complete the compare command.
H. A volatile memory reads flag bit FUA; indicating whether data can be read from the non-volatile cache.
After receiving the comparison command read notification, the controller may perform the operation of step S102.
S102, reading the target comparison command from the submission queue of the comparison command stored by the host.
The controller may read a target compare command from a commit queue where the host deposited the compare command. The target compare command is any one compare command in the submission queue.
S103, reading the first data stored in the target comparison command designated logic block from the storage device.
After the target compare command is read, the target compare command may be parsed, the logical block specified by the command may be determined, and the first data stored in the logical block may be read from the storage device.
It should be noted that the first data and the second data are data information for achieving data transmission reliability. When the first data and the second data are equivalent, reliable data transmission is indicated to be capable currently; when the first data and the second data are not equivalent, it is indicated that reliable data transmission is currently not possible.
And S104, comparing whether the first data and the second data in the target comparison command are equivalent.
And the second data is the data which is carried in the target comparison command and is used for comparison, and the data is positioned in the cache.
By comparing the first data and the second data, it can be determined whether the first data and the second data are equivalent. In the present embodiment, an equivalent condition may be set. For example, the task first data and second data are equivalent only when the first data and second data are identical; the first data and the second data can also be considered equivalent when the MD5 value of the first data is equal to the second data; of course, other equivalent judgment conditions may also be set, and are not described in detail herein.
After obtaining the equivalent judgment result, different processing operations can be executed based on different judgment results. Specifically, if the determination result is yes, the operation of step S105 may be performed; if the determination result is negative, the operation of step S106 may be performed.
S105, marking caw as successful, and executing the corresponding target write command.
As can be seen from the above, the comparison operation is one of operations caw, and when the result of the comparison indicates that the first data and the second data are equivalent, the comparison may be considered successful, at which point the corresponding target write command may be executed, and the caw state may be flagged as successful.
And executing the target write command, which may be specifically to write the data in the cache into a specified logical block in the storage device.
The execution process of the target write command comprises the following steps:
step one, determining a target writing command having a fusion relation with a target comparison command by using a fusion command;
and step two, executing the target write command.
In the embodiment of the present invention, a fused command (fused command) may be used to determine a target write command in a specific fusion relationship with a target compare command. I.e., fusing the target compare command and the target write command together through the Fused Operations to support a more complex command.
In one fusion operation, the following requirements are required:
these two commands must be executed in order as an atomic unit. I.e. no other operation can be performed in between these two commands. That is, the target compare operation command must be executed before the target write command is executed.
This fusion operation ends when any one of the commands encounters an error. If the first command in the sequence fails, then the second command should be aborted. If the second command in the sequence fails, then the completion state of the first command is sequence specific. That is, when it is determined that the first data and the second data are not equivalent, the execution of the target write operation is terminated.
If LBAs are used, the LBA range of both command operations must be the same. If the two LBA ranges are not consistent, the Command should be aborted, returning to the Invalid Field in Command state.
These two commands must be inserted into the same SQ one next to the other. If the first command is in the last slot in a SQ, then the second command must be in the first slot of this SQ as a wrap around. For a PCIe link, a SQ tail doorbell pointer update must indicate that the doorbell updates of both commands are updated as a whole.
The fusion operation is aborted and the host must submit an abort command separately for each command.
The controller sends a CQE for each command.
Whether a particular command is part of a FUSE operation is indicated in the FUSE operation (FUSE) field of the command Dword 0. This FUSE field also indicates whether each command is the first command or the second command in the fusion operation. If the FUSE Field is a set of non-zero values, but the controller does not support a fusion operation request, then the controller should abort the Command, returning an Invalid Field in Command status.
Preferably, to implement atomic operations, the fusion command and the specified logical block may also be locked. Specifically, to ensure that the caw operation is an atomic operation in a multi-host environment, the fused command may also be locked to ensure that the compare command and the write command can not be interrupted, and the write command is completed immediately after the compare command is completed. While the disk region is locked, other commands cannot write to the corresponding disk region during caw.
S106, flag caw state is failure.
When the result of the comparison indicates that the first data and the second data are not equivalent, the comparison may be deemed to have failed, at which point it is determined that the target write command is not to be executed further, and the caw status is marked as failed, e.g., a compare failure or a writefail.
Preferably, to make the host aware of command execution, after the compare command is executed, a completion queue entry may also be sent to the corresponding I/O completion queue to report caw the status to the host. That is, the command execution completes, and the controller sends a completion queue entry to the associated I/O completion queue, reporting the status of the command to the host. For example, if the caw operation is complete, success is fed back, otherwise either the compare failure or the write failure is returned.
By applying the method provided by the embodiment of the invention, the doorbell register is utilized to obtain the comparison command reading notification; when the host needs to perform data transmission with the storage device, the host writes a comparison command read notification in the doorbell register; reading a target comparison command from a submission queue of the host storing the comparison command; reading first data stored in a target comparison command specified logic block from the storage device; comparing whether the first data and the second data in the target comparison command are equivalent; if so, the status of the flag caw is successful, and the corresponding target write command is executed; if not, the status of flag caw is failed.
After the controller in the multi-controller system obtains the comparison command reading notice through the doorbell register, the target comparison command can be read from the submission queue of the comparison command stored by the host. Then, the first data stored in the designated logic block corresponding to the target comparison command is read from the storage device. The first data is compared with second data in the target compare command. If the two are equivalent, marking the CAW state as successful, and correspondingly executing the target write command; if the two are not equivalent, the CAW state is marked as identification. Therefore, the method can enable the multi-controller system to support the CAW function (namely, Compared Write) in the NVMe protocol, and can effectively improve the data transmission reliability of the multi-controller system.
It should be noted that, based on the above embodiments, the embodiments of the present invention also provide corresponding improvements. In the preferred/improved embodiment, the same steps as those in the above embodiment or corresponding steps may be referred to each other, and corresponding advantageous effects may also be referred to each other, which are not described in detail in the preferred/improved embodiment herein.
Preferably, on the basis of the above embodiment, a data management function may be further added, and in particular, at least one function management including compression, sequence request, access delay, and access frequency limitation may be performed on the target write command. The flow of the Write command is substantially the same as that of the compare command, and the original interface of the MCS system can be called for realization. Meanwhile, a data management function may be added to the Write module, as shown in table 1, where table 1 is a Write command data management function table:
Figure BDA0002589870990000091
TABLE 1
Preferably, when data transmission is performed, an SGL structure may be used for data transmission to enhance data transmission reliability. Namely, the data transmission is performed by using the SGL structure. Specifically, data to be transmitted, including the first data and the second data, can be transmitted using the SGL structure. Referring to fig. 4, fig. 4 is a schematic diagram of an SGL structure. And carrying out data transmission by using the SGL structure. An SGL consists of SGL segments, with the SGL segments containing the content and type of data, and if data cannot be stored in an SGL segment, the last SGL descriptor is used to link the next SGL segment.
Example two:
corresponding to the above method embodiments, the embodiments of the present invention further provide a data transmission apparatus applicable to a controller in a multi-controller system, and the data transmission apparatus described below and the data transmission method described above may be referred to in correspondence with each other.
Referring to fig. 5, the apparatus includes the following units:
a notification receiving unit 101, configured to obtain a comparison command read notification by using a doorbell register; when the host needs to perform data transmission with the storage device, the host writes a comparison command read notification in the doorbell register;
a command reading unit 102, configured to read a target compare command from a submission queue of the compare command stored in the host;
a data reading unit 103 configured to read first data stored in a target comparison command specifying logical block from the storage device;
a comparison unit 104 for comparing whether the first data and the second data in the target comparison command are equivalent;
caw flag cell 105, for marking caw status as successful if equivalent, executing the corresponding target write command; if not, label caw status is fail.
By applying the device provided by the embodiment of the invention, the doorbell register is utilized to obtain the comparison command reading notification; when the host needs to perform data transmission with the storage device, the host writes a comparison command read notification in the doorbell register; reading a target comparison command from a submission queue of the host storing the comparison command; reading first data stored in a target comparison command specified logic block from the storage device; comparing whether the first data and the second data in the target comparison command are equivalent; if so, the status of the flag caw is successful, and the corresponding target write command is executed; if not, the status of flag caw is failed.
After the controller in the multi-controller system obtains the comparison command reading notice through the doorbell register, the target comparison command can be read from the submission queue of the comparison command stored by the host. Then, the first data stored in the designated logic block corresponding to the target comparison command is read from the storage device. The first data is compared with second data in the target compare command. If the two are equivalent, marking the CAW state as successful, and correspondingly executing the target write command; if the two are not equivalent, the CAW state is marked as identification. Therefore, the device can enable the multi-controller system to support the CAW function (namely, Compared Write) in the NVMe protocol, and can effectively improve the data transmission reliability of the multi-controller system.
In one embodiment of the present invention, the method further comprises:
a feedback unit to send a completion queue entry to the corresponding I/O completion queue to report caw the status to the host after the compare command is executed.
In one embodiment of the present invention, Caw marks cell 105, including:
the write command execution subunit is used for determining a target write command with a fusion relation with the target comparison command by using the fusion command; the target write command is executed.
In one embodiment of the present invention, the method further comprises:
and the locking unit is used for locking the fusion command and the specified logic block.
In an embodiment of the present invention, the command reading unit 102 is specifically configured to read a target comparison command from a submission queue, and transmit the target comparison command according to a comparison structure; the comparison structure body comprises a command identifier, a queue identifier, an operation code, second data, a logic block ID, the number of logic blocks, an error flag bit and a volatile memory reading flag bit.
In one embodiment of the present invention, the method further comprises:
and the write management unit is used for performing at least one function management including compression, sequence request, access delay and access frequency limitation on the target write command.
In one embodiment of the present invention, the method further comprises:
and the data transmission unit is used for carrying out data transmission by utilizing the SGL structure.
Example three:
corresponding to the above method embodiment, the embodiment of the present invention further provides a server, and a server described below and a data transmission method described above may be referred to correspondingly.
Referring to fig. 6, the server includes:
a host 100, a multi-controller system 200, and storage devices (300-30N);
the host is used for storing the corresponding target comparison command in a submission queue in the process of data transmission with the storage equipment, and writing a comparison command reading notice in the doorbell register so as to send out the comparison command reading notice;
controllers (200-20N) in a multi-controller system for implementing the steps of the data transmission method as described in the above method embodiments;
and the storage device is used for storing data.
The steps in the data transmission method described above may be implemented by a structure of a server, so that the method has the corresponding technical effects, and are not described in detail herein.
Example four:
corresponding to the above method embodiment, the embodiment of the present invention further provides a readable storage medium, and a readable storage medium described below and a data transmission method described above may be referred to correspondingly.
A readable storage medium, on which a computer program is stored, which, when being executed by a processor, carries out the steps of the data transmission method of the above-mentioned method embodiment.
The readable storage medium may be a usb disk, a removable hard disk, a Read-Only Memory (ROM), a Random Access Memory (RAM), a magnetic disk or an optical disk, and various other readable storage media capable of storing program codes.
Those of skill would further appreciate that the various illustrative components and algorithm steps described in connection with the embodiments disclosed herein may be implemented as electronic hardware, computer software, or combinations of both, and that the various illustrative components and steps have been described above generally in terms of their functionality in order to clearly illustrate this interchangeability of hardware and software. These functions are performed in either hardware or software, depending on the particular application and design constraints imposed on the solution. Skilled artisans may implement the described functionality in varying ways for each particular application, but such implementation decisions should not be interpreted as causing a departure from the scope of the present invention.

Claims (10)

1. A data transmission method is characterized in that a controller applied to a multi-controller system comprises the following steps:
acquiring a comparison command reading notice by using a doorbell register; when the host needs to perform data transmission with the storage device, the host writes the comparison command read notification into the doorbell register;
reading a target compare command from a submission queue in which the host stores compare commands;
reading first data stored in the target comparison command specified logic block from the storage device;
comparing whether the first data and the second data in the target comparison command are equivalent;
if so, the status of the flag caw is successful, and the corresponding target write command is executed;
if not, the caw status is marked as failed.
2. The data transmission method according to claim 1, further comprising, after the comparing command is executed:
sending a completion queue entry to the corresponding I/O completion queue to report the caw status to the host.
3. The data transmission method according to claim 1, wherein the executing the corresponding target write command comprises:
determining the target writing command with a fusion relation with the target comparison command by using a fusion command;
and executing the target write command.
4. The data transmission method according to claim 3, further comprising:
and locking the fusion command and the specified logic block.
5. The data transmission method of claim 1, wherein reading the target compare command from the commit queue of the host deposit compare commands comprises:
reading the target comparison command from the submission queue, and transmitting the target comparison command according to a comparison structure;
the comparison structure body comprises a command identifier, a queue identifier, an operation code, the second data, the logic block ID, the number of logic blocks, an error marking bit and a volatile memory reading marking bit.
6. The data transmission method according to claim 1, further comprising:
and performing at least one function management including compression, sequence request, access delay and access frequency limitation on the target write command.
7. The data transmission method according to claim 1, further comprising:
and carrying out data transmission by using the SGL structure.
8. A data transmission apparatus, applied to a controller in a multi-controller system, comprising:
the notification receiving unit is used for acquiring a comparison command reading notification by using the doorbell register; when the host needs to perform data transmission with the storage device, the host writes the comparison command read notification into the doorbell register;
the command reading unit is used for reading a target comparison command from a submission queue of the comparison command stored in the host;
a data reading unit, configured to read first data stored in the target comparison command specifying logical block from the storage device;
the comparison unit is used for comparing whether the first data and the second data in the target comparison command are equivalent or not;
caw flag cell, for marking caw status as successful if equivalent, executing corresponding target write command; if not, the caw status is marked as failed.
9. A server, comprising: a host, a multi-controller system and a storage device;
the host is used for storing the corresponding target comparison command in a submission queue in the process of data transmission with the storage equipment, and writing a comparison command reading notice in the doorbell register so as to send out the comparison command reading notice;
a controller in the multi-controller system for implementing the steps of the data transmission method according to any one of claims 1 to 7;
the storage device is used for storing data.
10. A readable storage medium, characterized in that the readable storage medium has stored thereon a computer program which, when being executed by a processor, carries out the steps of the data transmission method according to any one of claims 1 to 7.
CN202010692653.6A 2020-07-17 2020-07-17 Data transmission method, device, server and readable storage medium Withdrawn CN111813345A (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202010692653.6A CN111813345A (en) 2020-07-17 2020-07-17 Data transmission method, device, server and readable storage medium

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202010692653.6A CN111813345A (en) 2020-07-17 2020-07-17 Data transmission method, device, server and readable storage medium

Publications (1)

Publication Number Publication Date
CN111813345A true CN111813345A (en) 2020-10-23

Family

ID=72865588

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202010692653.6A Withdrawn CN111813345A (en) 2020-07-17 2020-07-17 Data transmission method, device, server and readable storage medium

Country Status (1)

Country Link
CN (1) CN111813345A (en)

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN112363762A (en) * 2020-11-13 2021-02-12 苏州浪潮智能科技有限公司 Fusion command processing method, system, device and medium
CN112748882A (en) * 2021-01-15 2021-05-04 苏州浪潮智能科技有限公司 Communication method, device, equipment and readable medium of host and storage equipment
CN114003182A (en) * 2022-01-04 2022-02-01 苏州浪潮智能科技有限公司 Instruction interaction method and device, storage equipment and medium
US11934700B2 (en) 2022-04-13 2024-03-19 Western Digital Technologies, Inc. Fused command handling

Citations (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103858116A (en) * 2011-08-09 2014-06-11 Lsi公司 I/o device and computing host interoperation
WO2014089828A1 (en) * 2012-12-14 2014-06-19 华为技术有限公司 Method for accessing storage device and storage device
CN103885393A (en) * 2012-12-21 2014-06-25 上海铼钠克数控科技有限公司 Cluster control system and operation method thereof
CN104205132A (en) * 2011-12-02 2014-12-10 茂福公司 Writing data in a non-volatile memory of a smart card
CN104246742A (en) * 2012-01-17 2014-12-24 英特尔公司 Techniques for command validation for access to a storage device by a remote client
CN106255961A (en) * 2014-05-09 2016-12-21 索尼公司 Memory control apparatus, storage device and storage controlling method
CN107135240A (en) * 2016-02-29 2017-09-05 华为技术有限公司 Order distribution method, apparatus and system in a kind of distributed system
CN110088722A (en) * 2017-03-24 2019-08-02 西部数据技术公司 The system and method for the position detection of reading in memory devices or write-in stream for identification

Patent Citations (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103858116A (en) * 2011-08-09 2014-06-11 Lsi公司 I/o device and computing host interoperation
CN104205132A (en) * 2011-12-02 2014-12-10 茂福公司 Writing data in a non-volatile memory of a smart card
CN104246742A (en) * 2012-01-17 2014-12-24 英特尔公司 Techniques for command validation for access to a storage device by a remote client
WO2014089828A1 (en) * 2012-12-14 2014-06-19 华为技术有限公司 Method for accessing storage device and storage device
CN104054071A (en) * 2012-12-14 2014-09-17 华为技术有限公司 Method for accessing storage device and storage device
CN103885393A (en) * 2012-12-21 2014-06-25 上海铼钠克数控科技有限公司 Cluster control system and operation method thereof
CN106255961A (en) * 2014-05-09 2016-12-21 索尼公司 Memory control apparatus, storage device and storage controlling method
CN107135240A (en) * 2016-02-29 2017-09-05 华为技术有限公司 Order distribution method, apparatus and system in a kind of distributed system
CN110088722A (en) * 2017-03-24 2019-08-02 西部数据技术公司 The system and method for the position detection of reading in memory devices or write-in stream for identification

Cited By (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN112363762A (en) * 2020-11-13 2021-02-12 苏州浪潮智能科技有限公司 Fusion command processing method, system, device and medium
CN112363762B (en) * 2020-11-13 2023-01-06 苏州浪潮智能科技有限公司 Fusion command processing method, system, device and medium
CN112748882A (en) * 2021-01-15 2021-05-04 苏州浪潮智能科技有限公司 Communication method, device, equipment and readable medium of host and storage equipment
CN112748882B (en) * 2021-01-15 2023-01-10 苏州浪潮智能科技有限公司 Communication method, device, equipment and readable medium of host and storage equipment
CN114003182A (en) * 2022-01-04 2022-02-01 苏州浪潮智能科技有限公司 Instruction interaction method and device, storage equipment and medium
US11934700B2 (en) 2022-04-13 2024-03-19 Western Digital Technologies, Inc. Fused command handling

Similar Documents

Publication Publication Date Title
CN111813345A (en) Data transmission method, device, server and readable storage medium
US7823008B2 (en) Maintaining consistency in a remote copy data storage system
US7917813B2 (en) Exception condition determination at a control unit in an I/O processing system
CN111930676B (en) Method, device, system and storage medium for communication among multiple processors
US8583840B1 (en) Methods and structure for determining mapping information inconsistencies in I/O requests generated for fast path circuits of a storage controller
US20090210769A1 (en) Multiple crc insertion in an output data stream
EP0405925A2 (en) Method and apparatus for managing a shadow set of storage media
CN109964215B (en) Flow control in remote direct memory access data communications with ring buffer mirroring
CN106575251B (en) Speculative data processing of streaming data
WO2017088572A1 (en) Data processing method, device, and system
US6842793B2 (en) Method and apparatus for verifying data in a storage system
CN104317716B (en) Data transmission method and distributed node equipment between distributed node
US7849355B2 (en) Distributed object sharing system and method thereof
CN111966287A (en) Data storage method, electronic device and storage medium
CN108459824A (en) A kind of data modification write method and device
WO2018108158A1 (en) Method and device for storing data based on majority, and storage medium and apparatus
US7996712B2 (en) Data transfer controller, data consistency determination method and storage controller
CN102984002B (en) Method and device for processing input/output (I/O) overtime
US8533560B2 (en) Controller, data storage device and program product
CN112363762B (en) Fusion command processing method, system, device and medium
CN117492661A (en) Data writing method, medium, device and computing equipment
JP2003044369A (en) Pseudo i/o system and pseudo i/o method
CN114328374A (en) Snapshot method, device, related equipment and database system
CN106844088B (en) Data sending method and device of RAID storage system
CN107430533A (en) A kind of data verification method and device

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
WW01 Invention patent application withdrawn after publication

Application publication date: 20201023

WW01 Invention patent application withdrawn after publication