Pipelined high speed data transfer mechanism
First Claim
1. In a communications system having an origination storage device and a destination storage device, a data transfer pipeline apparatus for transferring data in a sequence of N stages, where N is a positive integer grater than 1, from said origination to said destination device, comprising:
- dedicated memory means having a predetermined number of buffers dedicated for carrying data associated with the transfer of data from said origination storage device to said destination device; and
master control means for registering and controlling processes associated with said data transfer apparatus for participation in the N stage data transfer sequence, wherein said processes include at least a first stage process for initiating said data transfer and a last Nth stage process for completing data transfer, wherein said first stage process is operative to allocate a buffer from said predetermined number of buffers available within said dedicated memory means for collection, processing, and sending of said data from said origination device to a next stage process; and
wherein said last Nth stage process is operative to receive a buffer allocated to said first stage process from the (N−
1)th stage process in the data transfer sequence and to free said buffer upon processing completion and storage in the destination device to permit reallocation of said buffer, said master control means further including monitor means for monitoring the number of buffers from said pool of buffers allocated or assigned to particular processes in said pipeline, wherein said monitor means is operative to prevent allocation of further buffers to a particular process when said number of buffers currently allocated exceeds a predetermined threshold.
5 Assignments
0 Petitions
Accused Products
Abstract
There is disclosed in a communications system having an origination storage device and a destination storage device, a data transfer pipeline apparatus for transferring data in a sequence of N stages, where N is a positive integer grater than 1, from the origination to the destination device. The data transfer apparatus comprises dedicated memory means having a predetermined number of buffers dedicated for carrying data associated with the transfer of data from the origination storage device to the destination device; and master control means for registering and controlling processes associated with the data transfer apparatus for participation in the N stage data transfer sequence. The processes include at least a first stage process for initiating the data transfer and a last Nth stage process for completing data transfer. The first stage process is operative to allocate a buffer from the predetermined number of buffers available within the dedicated memory means for collection, processing, and sending of the data from the origination device to a next stage process. The Nth stage process is operative to receive a buffer allocated to the first stage process from the (N−1)th stage process in the data transfer sequence and to free the buffer upon processing completion and storage in the destination device to permit reallocation of the buffer. The master control means further includes monitor means for monitoring the number of buffers from the pool of buffers allocated or assigned to particular processes in the pipeline, in order to prevent allocation of further buffers to a particular process when the number of buffers currently allocated exceeds a predetermined threshold.
146 Citations
20 Claims
-
1. In a communications system having an origination storage device and a destination storage device, a data transfer pipeline apparatus for transferring data in a sequence of N stages, where N is a positive integer grater than 1, from said origination to said destination device, comprising:
-
dedicated memory means having a predetermined number of buffers dedicated for carrying data associated with the transfer of data from said origination storage device to said destination device; and
master control means for registering and controlling processes associated with said data transfer apparatus for participation in the N stage data transfer sequence, wherein said processes include at least a first stage process for initiating said data transfer and a last Nth stage process for completing data transfer, wherein said first stage process is operative to allocate a buffer from said predetermined number of buffers available within said dedicated memory means for collection, processing, and sending of said data from said origination device to a next stage process; and
wherein said last Nth stage process is operative to receive a buffer allocated to said first stage process from the (N−
1)th stage process in the data transfer sequence and to free said buffer upon processing completion and storage in the destination device to permit reallocation of said buffer,said master control means further including monitor means for monitoring the number of buffers from said pool of buffers allocated or assigned to particular processes in said pipeline, wherein said monitor means is operative to prevent allocation of further buffers to a particular process when said number of buffers currently allocated exceeds a predetermined threshold. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 15, 16, 17, 18, 20)
-
-
14. In a communications system having an origination storage device resident on a first computer and a destination storage device resident on a second computer, a data transfer pipeline apparatus for transferring data from said first storage device to said second storage device in a sequence of N stages for data archival, where N is a positive integer greater than 1, comprising:
-
dedicated memory means comprising a first memory resident on the first computer being a pool of buffers dedicated for carrying data associated with said origination storage device to said destination device and a second memory resident on the second computer; and
master control means for registering and initiating processes associated with said data transfer apparatus for partcipation in the N stage data transfer sequence, wherein said processes include;
a first stage collection process resident on said first computer and operative to allocate a sequence of buffers from said pool of buffers within said dedicated memory means for collection, processing, and sending of said data in said allocated buffers, wherein said allocated buffers are assigned to said process currently operating thereon such that said buffers are unavailable for further allocation until freed by the process to which said buffers are assigned;
an Nth stage backup/restore process resident on said second computer for receiving said sequence of buffers and assigning thereto, storing the data resident in said buffers in said destination storage device, and freeing said buffers so that they may be reallocated;
said master control means further including monitor means for monitoring the number of buffers from said pool of buffers allocated or assigned to particular processes in said pipeline wherein said monitor means is operative to prevent allocation of further buffers to a particular process when said number of buffers currently allocated exceeds a predetermined threshold; and
a network control means responsive to said master control means for initiating a plurality of network agent processes coupled between said first stage collection process and said Nth stage backup process to enable data transfer between said processes located on different computers and coupled together via a network, wherein said dedicated data memory means is shared among each of the processes participating in said data transfer pipeline.
-
-
19. In a communications system having an origination storage device and a destination storage device, a method for transferring data in a pipelined sequence of N stages, where N is a positive integer greater than 1, from said origination device to said destination device comprising the steps of:
-
providing dedicated memory means, comprising a pool of buffers dedicated for carrying data associated with said origination storage device to said destination device;
registering and initiating processes for participation in the N stage data transfer sequence including providing a first stage collection process;
sequentially allocating buffers to said collection process from said pool buffers within said dedicated memory, wherein said allocated buffers are assigned to said process currently operating thereon such that said buffers are unavailable for further allocation until freed by a process to which said buffers are assigned to providing an Nth stage backup/restore process for receiving said sequence of buffers;
assigning said sequence of buffers to said Nth stage process;
storing the data resident in said buffers in said destination storage device;
freeing said assigned buffers for reallocation and re-entry into said pool of available buffers;
and monitoring the number of buffers allocated and assigned to each process in said pipeline and preventing further allocation of buffers from said pool of buffers when the number of buffers currently allocated to a particular process exceeds a predetermined threshold.
-
Specification