CN106844248A - The method and system of data transfer - Google Patents

The method and system of data transfer Download PDF

Info

Publication number
CN106844248A
CN106844248A CN201710082710.7A CN201710082710A CN106844248A CN 106844248 A CN106844248 A CN 106844248A CN 201710082710 A CN201710082710 A CN 201710082710A CN 106844248 A CN106844248 A CN 106844248A
Authority
CN
China
Prior art keywords
indexing units
data
block
packet
size
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
CN201710082710.7A
Other languages
Chinese (zh)
Other versions
CN106844248B (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.)
Beijing Catic General Technology Co Ltd
Original Assignee
Beijing Catic General 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 Beijing Catic General Technology Co Ltd filed Critical Beijing Catic General Technology Co Ltd
Priority to CN201710082710.7A priority Critical patent/CN106844248B/en
Publication of CN106844248A publication Critical patent/CN106844248A/en
Application granted granted Critical
Publication of CN106844248B publication Critical patent/CN106844248B/en
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F13/00Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F13/14Handling requests for interconnection or transfer
    • G06F13/20Handling requests for interconnection or transfer for access to input/output bus
    • G06F13/28Handling requests for interconnection or transfer for access to input/output bus using burst mode transfer, e.g. direct memory access DMA, cycle steal
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/02Addressing or allocation; Relocation
    • G06F12/06Addressing a physical block of locations, e.g. base addressing, module addressing, memory dedication
    • G06F12/0615Address space extension
    • G06F12/063Address space extension for I/O modules, e.g. memory mapped I/O
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/02Addressing or allocation; Relocation
    • G06F12/06Addressing a physical block of locations, e.g. base addressing, module addressing, memory dedication
    • G06F12/0646Configuration or reconfiguration

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Communication Control (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)

Abstract

The invention discloses a kind of data transmission method and system, it is applied to I/O equipment and main frame is sent data to by DMA.The method includes:Index quantity S/P is calculated according to preset buffer memory size S and average data packet length P, then the size U according to indexing units calculates the size I=of index memory block(S / P)× U, and index memory block according to this size application;Quantity N=S/the M of the datarams block for needing distribution is calculated according to the size of memory block M according to default cache size S and per block number, and applies N block numbers according to memory block according to preset data block size M;Start physical address, the start physical address of length and all of datarams block and the size of data memory block that memory block will be indexed are written to I/O equipment;Control I/O equipment passes through DMA transfer upstream data;Main frame reads index information and obtains upstream data bag content according to the record of indexing units.The present invention can improve the success rate of the memory source application of host computer system and can effectively utilize less contiguous memory block, to provide more host memory resources for I/O equipment.

Description

The method and system of data transfer
Technical field
The present invention relates to field of data transmission, and in particular to towards the Data Transmission Controlling of the I/O equipment such as PCIE, mainly The method and system of memory source allocation manager and data transfer are provided for the DMA transfer of the I/O equipment such as PCIE.
Background technology
I/O equipment generally uses direct memory access (Direct Memory Access, letter when carrying out data transmission Claim DMA) data in technical transmission I/O equipment, so as to be achieved independently of the backstage bulk data transfer of CPU.In dma operation In, main frame is that dma operation distributes DMA memory address spaces, and I/O equipment is directly read in the enterprising row data of DMA memory address spaces Write, so as to complete dma mode data transfer.Dma operation realizes that I/O equipment sends DMA messages to main frame by DMA messages, DMA address is included in DMA messages, DMA address is located on the DMA memory address spaces that main frame is distributed by dma operation.Pass through DMA address in DMA messages, I/O equipment directly can be written and read to the data on the DMA memory address spaces of main frame, tool Body, for example, when main frame carries out write operation to I/O equipment, DMA messages are the text of reading the newspaper to internal memory, and data are by the reading One or more completion order bags that message is responded are carried, from memory copying to I/O equipment;When main frame enters to I/O equipment During row read operation, the size of data for copying as needed, the DMA messages of I/O equipment generation write message for one or more, report Text carries the data of copy, writes the DMA memory address spaces that message reaches destination host, and the data load in message is copied to In corresponding memory headroom.Because in dma operation, the process of data transfer is participated in without host CPU, it is achieved thereby that I/ High-speed read-write of the O device to host data independence.
With continuing to develop for computer technology, bandwidth needed for various computer PCI E equipment is also increasing, corresponding PCIE device is also required to distribute bigger up-downgoing data buffer storage in main frame.And conventional main frame is distributing up DMA cachings When be usually that one piece of application or two pieces of larger contiguous memorys carry out data buffer storage, but as required caching is increasing, Conventional method the drawbacks of it is also more and more obvious:
Drawback 1:Larger contiguous memory application chance of success is low, once system cannot provide expected contiguous memory resource, that Size continuation application can only be reduced until applying successfully, so cannot usually obtain being expected cache size;
Drawback 2:Host computer system memory source is underutilized, since it is desired that the relatively large contiguous memory of application, so being Less contiguous memory block in system cannot be used, even if having enough memory sources in may so causing system, but Also a portion can only be used by corresponding PCIE device.
The content of the invention
In view of above-mentioned the deficiencies in the prior art, the present invention proposes a kind of for being carried out between I/O equipment and host device The method and data transmission system of DMA data transfer, to improve the success rate of the memory source application of host computer system and can have Effect is using less contiguous memory block to provide more host memory resources for I/O equipment.
According to an aspect of the invention, there is provided a kind of data transmission method, methods described is applied to I/O equipment and passes through DMA sends data to main frame, and methods described includes:
Index quantity S/P is calculated according to preset buffer memory size S and average data packet length P, then according to indexing units Size U calculate index memory block size I=(S / P)× U, and index memory block according to this size application;
The number of the datarams block for needing distribution is calculated according to the size of memory block M according to default cache size S and per block number Amount N=S/M, and apply N block numbers according to memory block according to preset data block size M;
The start physical address and datarams of the start physical address, length and all of datarams block of memory block will be indexed The size of block is written to I/O equipment;
Control I/O equipment passes through DMA transfer upstream data;
Main frame reads index information and obtains upstream data bag content according to the record of indexing units.
The indexing units include datarams block sequence number, packet original position where data packet length, packet Offset address, indexing units significant notation, indexing units finish the information such as mark, wherein,
Data packet length is used for recording the length information of the corresponding packet of current indexing units;
Which data are datarams block sequence number where packet, be located in for recording the corresponding packet of current indexing units In counterfoil;
The offset address of packet original position, the original position for recording the corresponding packet of current indexing units is deposited at it The byte number that the start address of the datarams block put offsets backward;
Indexing units significant notation, for representing whether current indexing units are effective;
Indexing units finish mark, and whether the indexing units for representing next packet will start anew retrieval
In a kind of possible design, after the main frame obtains current indexing units corresponding packet, will currently index It is invalid that unit significant notation is set to, when the I/O equipment is stored in new packet in datarams block, by current indexing units Significant notation is set to effectively.
In a kind of possible design, when the significant notation that main frame checks indexing units to be read is asserted When, i.e., the offset address for packaging beginning position according to the packet place datarams block sequence number and data that are recorded in indexing units exists The position of corresponding data bag is found in datarams block, the data packet length for then being recorded according to indexing units obtains upper line number According to bag.
In a kind of possible design, after the main frame obtains packet, the mark that finishes of indexing units is also checked for, if The mark that finishes is effective, then it is invalid that the mark that will finish is set to, while the indexing units position for checking of host record is changed It is first indexing units;If finishing marked invalid, the indexing units position for checking of host record is then changed It is next indexing units.
According to another aspect of the present invention, there is provided a kind of data transmission system, the system include main frame and with master The I/O equipment of machine connection, the I/O equipment sends data to main frame by DMA, and the main frame includes:
Index internal memory application unit, for according to preset buffer memory size S and average data packet length P calculate index quantity S/ P, then the size U according to indexing units calculate index memory block size I=(S / P)× U, and according to this size Shen Please index memory block;
Datarams application unit, for calculating needs according to the size of memory block M according to default cache size S and per block number Quantity N=S/the M of the datarams block of distribution, and apply N block numbers according to memory block according to preset data block size M;
Memory Allocation information transmitting unit, start physical address, length and all of datarams for memory block will to be indexed The start physical address of block and the size of data memory block are written to I/O equipment;
Upstream data reading unit, for reading index information and obtaining upstream data bag content according to the record of indexing units.
The present invention because without once applying for relatively large continuous physical memory, in so every piece of continuous physical of main frame application The successful probability of counterfoil will be greatly increased, so that the drawbacks of prior art preferably being solved, improves the internal memory money of host computer system The success rate of source application simultaneously can effectively utilize less contiguous memory block, so as to for including the various I/ including such as PCIE device O device provides more host memory resources.
Brief description of the drawings
Fig. 1 shows host memory resource map of the invention.
Fig. 2 shows upstream data bag filling flow chart of the invention.
Fig. 3 shows that host data bag of the invention receives flow chart.
Specific embodiment
Below in conjunction with the accompanying drawing in the embodiment of the present invention, the technical scheme in the embodiment of the present invention is carried out clear, complete Site preparation is described, it is clear that described embodiment is only a part of embodiment of the invention, rather than whole embodiments.It is based on Embodiment in the present invention, the every other implementation that those skilled in the art are obtained under the premise of creative work is not made Example, belongs to the scope of protection of the invention.
Because the present invention is applied to carry out up DMA data transfer between I/O equipment and host device, for convenience to this The understanding of invention, the flow to DMA write operation in the prior art is briefly described.DMA write operation can be realized data In the DMA memory address for copying destination host to from I/O equipment, DMA write operation comprises the following steps:
1st, request is started according to the dma operation for receiving, I/O device driver softwares generate an I/O command bag, comprising DMA copies Data in I/O equipment to internal memory command information, source data address and target memory DMA address on I/O device;
2nd, I/O device receives the order bag, and the size of data for copying as needed generates one or more DMA write message, The destination address of message is internal memory DMA address, and message carries the data of copy;
3rd, DMA write message is sent to corresponding passage (generally PCIE links);
4th, DMA write message reaches the physical memory space of main frame, and the data load in message is copied into corresponding target memory On DMA address.
By the I/O equipment up DMA transfer of control in the present invention, main frame needs to apply for two kinds of physical memory blocks:1)For depositing Store up a fritter continuous physical memory of packet description information(Hereinafter will be simply referred to as indexing memory block);2)Polylith is used for storing The multiple isometric continuous physical memory block message of upstream data bag(Hereinafter will be simply referred to as datarams block).
These memory blocks are all little per block size, and it is 1MB or 2MB to recommend size according to memory block per block number;Index internal memory Block size can be calculated according to the average data packet length of setting and data memory block total size, under normal circumstances also will not be too Greatly.Because without once applying for relatively large continuous physical memory, so every piece of continuous physical memory block of main frame application into The probability of work(will be greatly increased, and be used for the total size of the data storage area of data storage in datarams number of blocks × data Counterfoil size.
, it is necessary to the start physical address and length that memory block and all datarams blocks will be indexed after memory source application is finished Degree informs I/O equipment.When I/O equipment needs to transmit up DMA data, can be suitable according to the transmission of location information of the record of itself Sequence will need the packet DMA for uploading in certain datarams block, and be filled out in the index record of newest index memory block Write relevant information.
Main frame is to know the packet information being newly written by reading significant notation in index memory block, and according to The positional information and length information of each latest data bag recorded in index memory block obtain the packet content being newly written.It is main The internal memory application situation of machine is as shown in Figure 1.
Embodiment 1:
The present embodiment describes the workflow of data transmission method of the invention in detail, by I/O equipment(As PCIE hardware sets It is standby)Up DMA transfer is controlled, when main frame load driver, is started working in accordance with the following steps:
1st step, index quantity is calculated according to preset buffer memory size S and average data packet length P, then according to indexing units Size U calculates the size I of index memory block(I =(S / P)× U), and apply indexing memory block first according to this size.
Datarams block sequence number, packet start bit where data packet length, packet are needed in each indexing units The offset address put, indexing units significant notation, indexing units finish the information such as mark, and the effect of these information is as follows:
Data packet length:Record the length information of the corresponding packet of current indexing units;
Datarams block sequence number where packet:The corresponding packet of current indexing units is recorded positioned at which data memory block In;
The offset address of packet original position:Record what the original position of the corresponding packet of current indexing units was deposited at it The byte number that the start address of datarams block offsets backward;
Indexing units significant notation:Whether effectively the mark is used for representing current indexing units, when main frame obtains the Index List After the corresponding packet of unit, it is invalid that this mark is set to;When PCIE device is stored in new packet in datarams block, by this Mark is set to effectively;
Indexing units finish mark:When the packet of transmission has all write last block end than being so large that datarams block Cannot again write new packet, but the indexing units in index memory block are when also having vacant, last effective Index List The mark that finishes of unit is set to and effectively represents that the indexing units of next packet will start anew to retrieve.
2nd step, the data for calculating needs distribution according to the size of memory block M according to default cache size S and per block number The quantity N of memory block, and apply N block numbers according to memory block according to preset data block size M(N = S / M).
3rd step, will index memory block start physical address, length and all of datarams block start physical address Be written to PCIE hardware devices with the size of data memory block, allow hardware device know upstream data by DMA where.
4th step, control PCIE hardware devices start to transmit upstream data.
When needing to carry out transmitting uplink data, PCIE hardware devices can since index memory block initial address according to Order using each indexing units and can record currently used which indexing units arrived backward one by one;It is same for internal memory Data block be also from the first BOB(beginning of block) in sequence one by one backward using and record currently used datarams block sequence number and The data length filled.It should be noted that every piece of internal storage data block can fill many packets, including each packet Be also in deposit data block since the initial address of internal storage data block order fill backward, only when an internal storage data block without When method writes new packet, next internal storage data block can be just enabled;
Whenever having a upstream data bag to need transmission, PCIE hardware devices are first according to the currently used data of self record The data length that the sequence number of memory block and the datarams block had been filled with is write the data packet in datarams block, Ran Hougen Packet information is filled into newest indexing units according to the indexing units service condition of self record, finally by the indexing units Significant notation be set to effectively.
5th step, main frame read index information and read upstream data bag content according to the record of indexing units.
Main frame can equally record the position of the indexing units for checking, when main frame checks indexing units to be read When significant notation is asserted, i.e., datarams block sequence number and data are packaged according to where the packet recorded in indexing units The beginning offset address of position finds the position of corresponding data bag in datarams block, the data for then being recorded according to indexing units Packet length, you can access whole packet.After treatment full number is according to bag, main frame is needed the significant notation of indexing units It is invalid to be set to;Now, the mark that finishes of inspection indexing units is also needed, if the mark that finishes is effective, then also need the mark that will finish It is invalid to be set to, and the indexing units position for checking of host record needs to be changed to first indexing units;If finishing mark Note is invalid, then the indexing units position for checking of host record is then changed to next indexing units.
The upstream data bag for describing PCIE hardware devices in detail referring to Fig. 2 fills flow:
Electricity on S201, PCIE hardware device;
S202, the length records clearing that currently used datarams block sequence number and data block are had been filled with data;
S203, currently used indexing units sequence number is recorded reset;
S204, main frame(That is host computer)The letter such as write-in index block address memory, length and multiple datarams block address, length Breath;
Whether S205, PCIE device are waited needs transmission upstream data bag to main frame, if necessary to transmit, then into step 206, Otherwise continue waiting for;
S206, PCIE device have been filled with the length of data according to the currently used datarams block sequence number and the data block of record By packet DMA to specified physical memory, the destination address of DMA is for " current data memory block initial address+current data block is Filling data length ", the data length of DMA is to need the upstream data bag of transmission long;
S207, the offset address of data packet length, datarams block sequence number where packet, packet original position is filled into It is set to effectively in interim indexing units buffer structure and by significant notation;
The currently used datarams block of S208, renewal has been filled with data length record, and having been filled with length increases upstream data bag Bag length;
S209, judge datarams block size subtract currently used datarams block have been filled with data length record whether be less than Maximum bag length, if it is, going to step S210, otherwise goes to step S215;
S210, the length records clearing that datarams block is had been filled with data;
S211, judge whether currently used datarams block is last block, if it is, going to step S212, otherwise go to Step S213;
S212, currently used datarams block sequence number is reset;
S213, currently used datarams block sequence number is added 1;
S214, mark that the indexing units of interim indexing units buffer structure finish are set to effectively;
S215, the physical address by the content DMA of interim indexing units buffer structure to currently used indexing units;
S216, judge whether currently used indexing units LSN is last indexing units, if it is, going to step S217, otherwise goes to step S218;
S217, currently used indexing units sequence number is recorded reset, go to step 205;
S218, currently used indexing units sequence number is added 1, go to step 205.
Describe the idiographic flow of main frame reading DMA data in detail referring to Fig. 3:
S301, main frame prepare to start to receive upstream data;
S302, the indexing units sequence number of the current check of software records are entered as obtaining newest write-in rope from PCIE hardware devices Draw unit number;
S303, main frame check that whether effectively current indexing units significant notation, if performing step S305, otherwise performs step Rapid S304;
S304,1 millisecond of current receiving thread dormancy, go to step S303;
S305, according in indexing units record datarams block sequence number and skew, data packet length acquisition of information packet in Hold;
The current indexing units of S306, main frame inspection finish and mark whether effectively, if performing step S309, otherwise to perform step Rapid S307;
Whether the current indexing units of S307, main frame inspection are last, if performing step S309, otherwise perform step S308;
S308, the indexing units sequence number of the current check of software records add 1, go to step S303;
S309, the indexing units sequence number of the current check of software records reset, and go to step S303.
Embodiment 2:
The present embodiment describes data transmission system of the invention, that includes main frame and the I/O equipment being connected with main frame.Its In, the main frame includes:
Index internal memory application unit, for according to preset buffer memory size S and average data packet length P calculate index quantity S/ P, then the size U according to indexing units calculate index memory block size I=(S / P)× U, and according to this size Shen Please index memory block;
Datarams application unit, for calculating needs according to the size of memory block M according to default cache size S and per block number Quantity N=S/the M of the datarams block of distribution, and apply N block numbers according to memory block according to preset data block size M;
Memory Allocation information transmitting unit, start physical address, length and all of datarams for memory block will to be indexed The start physical address of block and the size of data memory block are written to I/O equipment;
Upstream data reading unit, for reading index information and obtaining upstream data bag content according to the record of indexing units.
Data transmission method of the invention and system are described in detail above, those skilled in the art Ying Ming In vain, embodiments of the invention can be provided as method, system or computer program product.Therefore, the present invention can use complete hardware The form of the embodiment in terms of embodiment, complete software embodiment or combination software and hardware.And, the present invention can be used One or more wherein include the computer-usable storage medium of computer usable program code, and (including but not limited to disk is deposited Reservoir and optical memory etc.) on implement computer program product form.
The present invention is the flow with reference to method according to embodiments of the present invention, equipment (system) and computer program product Figure and/or block diagram are described.It should be understood that every first-class during flow chart and/or block diagram can be realized by computer program instructions The combination of flow and/or square frame in journey and/or square frame and flow chart and/or block diagram.These computer programs can be provided The processor of all-purpose computer, special-purpose computer, Embedded Processor or other programmable data processing devices is instructed to produce A raw machine so that produced for reality by the instruction of computer or the computing device of other programmable data processing devices The device of the function of being specified in present one flow of flow chart or multiple one square frame of flow and/or block diagram or multiple square frames.
These computer program instructions may be alternatively stored in can guide computer or other programmable data processing devices with spy In determining the computer-readable memory that mode works so that instruction of the storage in the computer-readable memory is produced and include finger Make the manufacture of device, the command device realize in one flow of flow chart or multiple one square frame of flow and/or block diagram or The function of being specified in multiple square frames.
These computer program instructions can be also loaded into computer or other programmable data processing devices so that in meter Series of operation steps is performed on calculation machine or other programmable devices to produce computer implemented treatment, so as in computer or The instruction performed on other programmable devices is provided for realizing in one flow of flow chart or multiple flows and/or block diagram one The step of function of being specified in individual square frame or multiple square frames.Obviously, those skilled in the art can carry out various to the present invention Change with modification without departing from the spirit and scope of the present invention.So, if these modifications of the invention and modification belong to this hair Within the scope of bright claim and its equivalent technologies, then the present invention is also intended to comprising these changes and modification.

Claims (10)

1. a kind of data transmission method, it is characterised in that methods described is applied to I/O equipment and sends data to master by DMA Machine, methods described includes:
Index quantity S/P is calculated according to preset buffer memory size S and average data packet length P, then according to indexing units Size U calculate index memory block size I=(S / P)× U, and index memory block according to this size application;
The number of the datarams block for needing distribution is calculated according to the size of memory block M according to default cache size S and per block number Amount N=S/M, and apply N block numbers according to memory block according to preset data block size M;
The start physical address and datarams of the start physical address, length and all of datarams block of memory block will be indexed The size of block is written to I/O equipment;
Control I/O equipment passes through DMA transfer upstream data;
Main frame reads index information and obtains upstream data bag content according to the record of indexing units.
2. data transmission method as claimed in claim 1, it is characterised in that the indexing units include data packet length, Datarams block sequence number, the offset address of packet original position, indexing units significant notation, indexing units are complete where packet The information such as junction mark, wherein,
Data packet length is used for recording the length information of the corresponding packet of current indexing units;
Which data are datarams block sequence number where packet, be located in for recording the corresponding packet of current indexing units In counterfoil;
The offset address of packet original position, the original position for recording the corresponding packet of current indexing units is deposited at it The byte number that the start address of the datarams block put offsets backward;
Indexing units significant notation, for representing whether current indexing units are effective;
Indexing units finish mark, and whether the indexing units for representing next packet will start anew retrieval.
3. data transmission method as claimed in claim 2, it is characterised in that when the main frame obtains current indexing units pair After the packet answered, it is invalid that current indexing units significant notation is set to, when the I/O equipment is stored in new packet to data In memory block, current indexing units significant notation is set to effectively.
4. data transmission method as claimed in claim 2, it is characterised in that the main frame reads index information and according to index The record of unit read upstream data bag content specifically,
When the significant notation that main frame checks indexing units to be read is asserted, i.e., according to record in indexing units The offset address that datarams block sequence number and data where packet package beginning position finds corresponding data in datarams block The position of bag, the data packet length for then being recorded according to indexing units obtains upstream data bag.
5. data transmission method as claimed in claim 4, it is characterised in that
After the main frame obtains packet, the mark that finishes of indexing units is also checked for, if the mark that finishes is effective, will finish mark It is invalid that note is set to, while the indexing units position for checking of host record is changed into first indexing units;If complete Junction mark is invalid, then the indexing units position for checking of host record is then changed into next indexing units.
6. a kind of data transmission system, it is characterised in that the system includes main frame and the I/O equipment being connected with main frame, described I/O equipment sends data to main frame by DMA, and the main frame includes:
Index internal memory application unit, for according to preset buffer memory size S and average data packet length P calculate index quantity S/ P, then the size U according to indexing units calculate index memory block size I=(S / P)× U, and according to this size Shen Please index memory block;
Datarams application unit, for calculating needs according to the size of memory block M according to default cache size S and per block number Quantity N=S/the M of the datarams block of distribution, and apply N block numbers according to memory block according to preset data block size M;
Memory Allocation information transmitting unit, start physical address, length and all of datarams for memory block will to be indexed The start physical address of block and the size of data memory block are written to I/O equipment;
Upstream data reading unit, for reading index information and obtaining upstream data bag content according to the record of indexing units.
7. data transmission system as claimed in claim 6, it is characterised in that the indexing units include data packet length, Datarams block sequence number, the offset address of packet original position, indexing units significant notation, indexing units are complete where packet The information such as junction mark, wherein,
Data packet length is used for recording the length information of the corresponding packet of current indexing units;
Which data are datarams block sequence number where packet, be located in for recording the corresponding packet of current indexing units In counterfoil;
The offset address of packet original position, the original position for recording the corresponding packet of current indexing units is deposited at it The byte number that the start address of the datarams block put offsets backward;
Indexing units significant notation, for representing whether current indexing units are effective;
Indexing units finish mark, and whether the indexing units for representing next packet will start anew retrieval.
8. data transmission system as claimed in claim 7, it is characterised in that when the main frame obtains current indexing units pair After the packet answered, it is invalid that current indexing units significant notation is set to, when the I/O equipment is stored in new packet to data In memory block, current indexing units significant notation is set to effectively.
9. data transmission system as claimed in claim 7, it is characterised in that the main frame reads index information and according to index The record of unit read upstream data bag content specifically,
When the significant notation that main frame checks indexing units to be read is asserted, i.e., according to record in indexing units The offset address that datarams block sequence number and data where packet package beginning position finds corresponding data in datarams block The position of bag, the data packet length for then being recorded according to indexing units obtains upstream data bag.
10. data transmission system as claimed in claim 9, it is characterised in that
After the main frame obtains packet, the mark that finishes of indexing units is also checked for, if the mark that finishes is effective, will finish mark It is invalid that note is set to, while the indexing units position for checking of host record is changed into first indexing units;If complete Junction mark is invalid, then the indexing units position for checking of host record is then changed into next indexing units.
CN201710082710.7A 2017-02-16 2017-02-16 The method and system of data transmission Active CN106844248B (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201710082710.7A CN106844248B (en) 2017-02-16 2017-02-16 The method and system of data transmission

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201710082710.7A CN106844248B (en) 2017-02-16 2017-02-16 The method and system of data transmission

Publications (2)

Publication Number Publication Date
CN106844248A true CN106844248A (en) 2017-06-13
CN106844248B CN106844248B (en) 2019-09-24

Family

ID=59128833

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201710082710.7A Active CN106844248B (en) 2017-02-16 2017-02-16 The method and system of data transmission

Country Status (1)

Country Link
CN (1) CN106844248B (en)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN115168259A (en) * 2022-09-06 2022-10-11 浪潮电子信息产业股份有限公司 Data access method, device, equipment and computer readable storage medium
CN115190089A (en) * 2022-05-26 2022-10-14 中科驭数(北京)科技有限公司 Message storage method, device, equipment and storage medium
CN116974977A (en) * 2023-07-26 2023-10-31 中科驭数(北京)科技有限公司 Data transmission method, device, equipment and storage medium

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6115799A (en) * 1996-07-19 2000-09-05 Canon Kabushiki Kaisha Information processing apparatus and associated method for managing a memory using a next fit and for reducing a memory fragmentation problem
CN101043282A (en) * 2006-03-24 2007-09-26 中兴通讯股份有限公司 Data storage means for multi-channel voice process
CN101150486A (en) * 2007-11-15 2008-03-26 曙光信息产业(北京)有限公司 A management method for receiving network data of zero copy buffer queue
CN101630992A (en) * 2008-07-14 2010-01-20 中兴通讯股份有限公司 Method for managing shared memory
CN104317753A (en) * 2014-10-21 2015-01-28 中国科学院上海微系统与信息技术研究所 Storage device and data reading-writing method thereof

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6115799A (en) * 1996-07-19 2000-09-05 Canon Kabushiki Kaisha Information processing apparatus and associated method for managing a memory using a next fit and for reducing a memory fragmentation problem
CN101043282A (en) * 2006-03-24 2007-09-26 中兴通讯股份有限公司 Data storage means for multi-channel voice process
CN101150486A (en) * 2007-11-15 2008-03-26 曙光信息产业(北京)有限公司 A management method for receiving network data of zero copy buffer queue
CN101630992A (en) * 2008-07-14 2010-01-20 中兴通讯股份有限公司 Method for managing shared memory
CN104317753A (en) * 2014-10-21 2015-01-28 中国科学院上海微系统与信息技术研究所 Storage device and data reading-writing method thereof

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN115190089A (en) * 2022-05-26 2022-10-14 中科驭数(北京)科技有限公司 Message storage method, device, equipment and storage medium
CN115190089B (en) * 2022-05-26 2024-03-22 中科驭数(北京)科技有限公司 Message storage method, device, equipment and storage medium
CN115168259A (en) * 2022-09-06 2022-10-11 浪潮电子信息产业股份有限公司 Data access method, device, equipment and computer readable storage medium
CN115168259B (en) * 2022-09-06 2023-01-24 浪潮电子信息产业股份有限公司 Data access method, device, equipment and computer readable storage medium
CN116974977A (en) * 2023-07-26 2023-10-31 中科驭数(北京)科技有限公司 Data transmission method, device, equipment and storage medium

Also Published As

Publication number Publication date
CN106844248B (en) 2019-09-24

Similar Documents

Publication Publication Date Title
CN102449607B (en) Storage system provided with a plurality of flash packages
US6047356A (en) Method of dynamically allocating network node memory's partitions for caching distributed files
US8898410B1 (en) Efficient garbage collection in a data storage device
US5555391A (en) System and method for storing partial blocks of file data in a file cache system by merging partial updated blocks with file block to be written
US20030212865A1 (en) Method and apparatus for flushing write cache data
US10942849B2 (en) Use of a logical-to-logical translation map and a logical-to-physical translation map to access a data storage device
EP4220415A2 (en) Method and apparatus for compressing addresses
CN107943726A (en) A kind of data transmission system and method based on PCIe interface
US5813025A (en) System and method for providing variable sector-format operation to a disk access system
CN106469085A (en) The online migration method, apparatus and system of virtual machine
CN101150485A (en) A management method for network data transmission of zero copy buffer queue
CN106844248A (en) The method and system of data transfer
CN106326140A (en) Data copying method, direct memory access controller and computer system
CN109388590A (en) Promote the dynamic buffering block management method and device of multi-channel DMA access performance
CN107391050A (en) A kind of data migration method, system, device and computer-readable recording medium
CN106708444A (en) Data storage method and hard disc controller
TW200417857A (en) Allocating cache lines
CN101303685B (en) Method for improving read-write data speed of all-purpose sequence bus storage equipment
CN109491605A (en) A kind of date storage method based on COW, device and medium
US20080098187A1 (en) System, method and computer program product for generating a consistent point in time copy of data
CN104965793B (en) A kind of cloud storage data node device
CN105354153B (en) A kind of implementation method of close coupling heterogeneous multi-processor data exchange caching
CN102520879B (en) Priority-based file information storage method, device and system
CN104375967B (en) A kind of flow control methods, equipment and system applied to PCI E
US20050238038A1 (en) Asynchronous packet based dual port link list header and data credit management structure

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