← Back to Patent Explorer
US5408613A Expired / Lapsed US ⏱️ 0.0 years remaining

Data transfer apparatus

Assignee: Panasonic Holdings Corp
•
Filing: 1992-12-23
•
Granted: 1995-04-18
•
Expires: 2012-12-23
📄 Original PDF 🌐 Google Patents 🔄 Sync Now

Abstract

Abstract A parallel processing system enabling a mixed transfer of packets of different lengths is achieved. The data transfer apparatus in this parallel processing system comprises four address controllers. During the first data transfer the third address controller is used for sending and the first address controller is used for receiving data. During the second transfer, the fourth address controller is used for sending, and the second address controller is used for receiving. When the first and second transfer operations are mixed, the first and second address controllers are selectively used during receiving, and the third and fourth address controllers are selectively used during sending. Each of the address controllers changes the address only after packet transfer is completed. The header of the packet contains a packet length field, which is interpreted to enable simultaneous, dynamic handling of plural packets of different lengths. As a result, packets can be transferred without deadlocks occurring even when packets of different lengths are mixed.

Inventors

  • 👤 Ichiro Okabayashi

Bibliographic Details

Application Number —
Jurisdiction US
Data Source google_patents
Last Synchronized 2026-10-31 21:51
CPC Classifications
G; G06; G06F; G06F15/00; G06F15/16; G06F15/163; G06F15/17; G06F15/173; G06F15/17356; G06F15/17368; G06F15/17381

Claims Analysis

Total Claims: 11
Claim 1
Independent Claim 232 words
A data transfer apparatus comprising a memory port connected to an external memory area, a network port connected to a network, buffers connected between the memory port and the network port for holding the data flowing between the two ports, an interpreter and evaluation means connected to the memory port side of the buffers for interpreting the operating mode encoded in the transfer data, and an address pointer pointing to a specific address and connected to the interpreter and evaluation means such that when data flows from the network port to the memory port, the interpreter and evaluation means decodes the memory port buffer output; when the memory port buffer output is interpreted to be a memory read request and an immediate response is enabled as determined by a buffer not-full state, the interpreter and evaluation means enters the corresponding memory-read sequence to read the data from the memory area specified by the memory read request; when an immediate response is not enabled as determined by a buffer full state, the interpreter and evaluation means writes the memory read request to the memory area indicated by the address pointer so that the interpreter and evaluation means can fetch the memory read request from this same memory area when response becomes possible as determined by a buffer not-full state, interpret the read memory read request, and thus proceed with the corresponding memory-read sequence.
Claim 2
Dependent Claim 232 words
A data transfer apparatus comprising a memory port connected to an external memory area, a network port connected to a network, buffers connected between the memory port and the network port for holding the data flowing between the two ports, an interpreter and evaluation means connected to the memory port side of the buffers for interpreting the operating mode encoded in the transfer data, and an address pointer pointing to a specific address and connected to the interpreter and evaluation means such that when data flows from the network port to the memory port, the interpreter and evaluation means decodes the memory port buffer output; when the memory port buffer output is interpreted to be a memory read request and an immediate response is enabled as determined by a buffer not-full state, the interpreter and evaluation means enters the corresponding memory-read sequence to read the data from the memory area specified by the memory read request; when an immediate response is not enabled as determined by a buffer full state, the interpreter and evaluation means writes the memory read request to the memory area indicated by the address pointer so that the interpreter and evaluation means can fetch the memory read request from this same memory area when response becomes possible as determined by a buffer not-full state, interpret the read memory read request, and thus proceed with the corresponding memory-read sequence.
Claim 3
Dependent Claim 87 words
A data transfer apparatus according to claim 1 wherein the external memory area is used as a first-in, first-out (FIFO) device by means of write address pointers and read address pointers whereby the request is written to the address indicated by the write address pointer and the write address pointer is then advanced when there is a write request, and the request is read from the address indicated by the read request pointer and the read address pointer is then advanced when there is a read request.
Claim 4
Dependent Claim 52 words
A data transfer apparatus according to claim 2 further comprising an externally programmable register for storing the initialization values of the two address pointer sets, and information defining the allowable range of address pointer change, and the address pointers are reset to the initialization values after being advanced to the range limit.
Claim 5
Dependent Claim 31 words
A data transfer apparatus according to claim 1, 2, or 3 wherein the data format comprises a field for identifying the transfer mode, and a field for identifying the memory address.
Claim 6
Dependent Claim 41 words
A parallel processing system comprising plural processor elements each having a data transfer apparatus according to claim 1, 2, 3, or 4 as the interface to the network, and a network connecting the processor elements to enable data transfer there between.
Claim 7
Dependent Claim 324 words
A data packet transfer apparatus comprising a memory port connected to an external memory area, first and second network ports connected to a network, a data selector of which the output is connected to the second network port, a first buffer of which the input is connected to the first network port, and the output is connected to the memory port, a second buffer of which the output is connected to a first input of the data selector, and the input is connected to the first network port, a third buffer of which the output is connected to a second input of the data selector, and the input is connected to the memory port, a first packet interpreter for detecting the packet length included in the data input from the first network port, first and second address controllers for setting the network switch addresses according to the output from the first packet interpreter, a first address selector of which the input is the output from the first and second address controllers, and the output is connected to the first network port, a first control means for controlling the data transfer operation of the first network port, a second packet interpreter for detecting the packet length included in the data input from the third buffer to determine the packet length, a third address controller for setting the network switch addresses according to the output from the second packet interpreter, a third packet interpreter for detecting the packet length included in the data input from the second buffer to determine the packet length, a fourth address controller for setting the network switch addresses according to the output from the third packet interpreter, a second address selector of which the input is the output from the third and fourth address controllers, and the output is connected to the second network port, and a second control means for controlling the data transfer operation of the second network port.
Claim 8
Dependent Claim 324 words
A data packet transfer apparatus comprising a memory port connected to an external memory area, first and second network ports connected to a network, a data selector of which the output is connected to the second network port, a first buffer of which the input is connected to the first network port, and the output is connected to the memory port, a second buffer of which the output is connected to a first input of the data selector, and the input is connected to the first network port, a third buffer of which the output is connected to a second input of the data selector, and the input is connected to the memory port, a first packet interpreter for detecting the packet length included in the data input from the first network port, first and second address controllers for setting the network switch addresses according to the output from the first packet interpreter, a first address selector of which the input is the output from the first and second address controllers, and the output is connected to the first network port, a first control means for controlling the data transfer operation of the first network port, a second packet interpreter for detecting the packet length included in the data input from the third buffer to determine the packet length, a third address controller for setting the network switch addresses according to the output from the second packet interpreter, a third packet interpreter for detecting the packet length included in the data input from the second buffer to determine the packet length, a fourth address controller for setting the network switch addresses according to the output from the third packet interpreter, a second address selector of which the input is the output from the third and fourth address controllers, and the output is connected to the second network port, and a second control means for controlling the data transfer operation of the second network port.
Claim 9
Dependent Claim 746 words
A parallel processing system comprising an N×N matrix of processor elements arranged in a two-dimensional array with a data packet transfer apparatus comprising a memory port connected to an external memory area, first and second network ports connected to switches of network, a data selector of which the output is connected to the second network port, a first buffer of which the input is connected to the first network port, and the output is connected to the memory port, a second buffer of which the output is connected to a first input of the data selector, and the input is connected to the first network port, a third buffer of which the output is connected to a second input of the data selector, and the input is connected to the memory port, a first packet interpreter for detecting the packet length included in the data input from the first network port, first and second address controllers for setting network switch addresses according to the output from the first packet interpreter, a first address selector of which the input is the output from the first and second address controllers, and the output is connected to the first network port, a first control means for controlling the data transfer operation of the first network port, a second packet interpreter for detecting the packet length included in the data input from the third buffer to determine the packet length, a third address controller for setting the network switch addresses according to the output from the second packet interpreter, a third packet interpreter for detecting the packet length included in the data input from the second buffer to determine the packet length, a fourth address controller for setting the network switch addresses according to the output from the third packet interpreter, a second address selector of which the input is the output from the third and fourth address controllers, and the output is connected to the second network port, and a second control means for controlling the data transfer operation of the second network port functioning as the interface to the network, and an N×N×N matrix of switches in a three-dimensional arrangement with each switch comprising two internal buffers; when in this network the processor element in row i column j is identified as PEij and the number-k switch at row i column j is identified as SWijk where i, j, k, and l are integers greater than zero and less than or equal to (N-1), one network port of PEij is connected in common to one terminal of N switches SWijk (k=0, 1, . . . N-1), the other network port of PEij is connected in common to one terminal of N switches SWjli (1=0, 1, . . . N-1), the other terminal of SWijk is connected to PEki, and the other terminal of SWjli is connected to PEjl, and when plural packets comprising a header and plural data blocks are transferred from PEij to PElk, the packets are transferred from PEij through the first buffer of SWijk to PEki in the first transfer step, and from PEki through the second buffer of SWkil to PElk in the second transfer step, and data transfer apparatus PEki specifies using the first address controller the addresses of those N switches SWijk (j=0, 1, . . . N-1) of which the first buffer is in use, specifies using the second address controller the addresses of those N switches SWijk (j=0, 1, . . . N-1) of which the second buffer is in use, specifies using the third address controller the addresses of those N switches SWkil (1=0, 1, . . . N-1) of which the first buffer is in use, specifies using the fourth address controller the addresses of those N switches SWkil (1=0, 1, . . . N-1) of which the second buffer is in use, uses the third address controller when sending data in the first transfer step, and uses the first address controller when receiving data in the first transfer step, uses the fourth address controller when sending data in the second transfer step, and uses the second address controller when receiving data in the second transfer step, and when the first and second transfers are mixed, switches between the first and second address controllers when receiving, and switches between the third and fourth address controllers when sending, and the address controllers are characterized by changing the address only at the breaks between packets during the data transfer operation.
Claim 10
Dependent Claim 746 words
A parallel processing system comprising an N×N matrix of processor elements arranged in a two-dimensional array with a data packet transfer apparatus comprising a memory port connected to an external memory area, first and second network ports connected to switches of network, a data selector of which the output is connected to the second network port, a first buffer of which the input is connected to the first network port, and the output is connected to the memory port, a second buffer of which the output is connected to a first input of the data selector, and the input is connected to the first network port, a third buffer of which the output is connected to a second input of the data selector, and the input is connected to the memory port, a first packet interpreter for detecting the packet length included in the data input from the first network port, first and second address controllers for setting network switch addresses according to the output from the first packet interpreter, a first address selector of which the input is the output from the first and second address controllers, and the output is connected to the first network port, a first control means for controlling the data transfer operation of the first network port, a second packet interpreter for detecting the packet length included in the data input from the third buffer to determine the packet length, a third address controller for setting the network switch addresses according to the output from the second packet interpreter, a third packet interpreter for detecting the packet length included in the data input from the second buffer to determine the packet length, a fourth address controller for setting the network switch addresses according to the output from the third packet interpreter, a second address selector of which the input is the output from the third and fourth address controllers, and the output is connected to the second network port, and a second control means for controlling the data transfer operation of the second network port functioning as the interface to the network, and an N×N×N matrix of switches in a three-dimensional arrangement with each switch comprising two internal buffers; when in this network the processor element in row i column j is identified as PEij and the number-k switch at row i column j is identified as SWijk where i, j, k, and l are integers greater than zero and less than or equal to (N-1), one network port of PEij is connected in common to one terminal of N switches SWijk (k=0, 1, . . . N-1), the other network port of PEij is connected in common to one terminal of N switches SWjli (1=0, 1, . . . N-1), the other terminal of SWijk is connected to PEki, and the other terminal of SWjli is connected to PEjl, and when plural packets comprising a header and plural data blocks are transferred from PEij to PElk, the packets are transferred from PEij through the first buffer of SWijk to PEki in the first transfer step, and from PEki through the second buffer of SWkil to PElk in the second transfer step, and data transfer apparatus PEki specifies using the first address controller the addresses of those N switches SWijk (j=0, 1, . . . N-1) of which the first buffer is in use, specifies using the second address controller the addresses of those N switches SWijk (j=0, 1, . . . N-1) of which the second buffer is in use, specifies using the third address controller the addresses of those N switches SWkil (1=0, 1, . . . N-1) of which the first buffer is in use, specifies using the fourth address controller the addresses of those N switches SWkil (1=0, 1, . . . N-1) of which the second buffer is in use, uses the third address controller when sending data in the first transfer step, and uses the first address controller when receiving data in the first transfer step, uses the fourth address controller when sending data in the second transfer step, and uses the second address controller when receiving data in the second transfer step, and when the first and second transfers are mixed, switches between the first and second address controllers when receiving, and switches between the third and fourth address controllers when sending, and the address controllers are characterized by changing the address only at the breaks between packets during the data transfer operation.
Claim 11
Dependent Claim 46 words
A parallel processing system according to claim 7 wherein the packets used comprise a field indicating the transfer mode, a field indicating the switch address in the network, a field indicating a broadcast, which signifies transfer to all switches, and a field indicating the packet length.

References Cited (Backward Citations)

US4667287A Cited
US4769771A Cited
US5047917A Cited
JPS63124162A Cited
US5315707A Cited

USPTO Annuity & Maintenance Windows

Annuity Stage Window Opens Payment Deadline Surcharge Period Until Estimated Fee Status
3.5 Years (Year 4) 1998-04-17 1998-10-17 1999-04-18 $2000.00 Window Closed / Lapsed
7.5 Years (Year 8) 2002-04-17 2002-10-17 2003-04-18 $3760.00 Window Closed / Lapsed
11.5 Years (Year 12) 2006-04-17 2006-10-17 2007-04-18 $7700.00 Window Closed / Lapsed

Assigned Categories & Tags

No categories assigned to this patent yet.

Assign Category Tag