Patent US4914575A successfully refreshed from Google Patents.
← Back to Patent Explorer
US4914575A Expired / Lapsed US ⏱️ 0.0 years remaining

System for transferring data between an interleaved main memory and an I/O device at high speed

Assignee: Toshiba Corp
•
Filing: 1987-08-27
•
Granted: 1990-04-03
•
Expires: 2007-08-27
📄 Original PDF 🌐 Google Patents 🔄 Sync Now

Abstract

Abstract An input/output channel apparatus includes a system bus controller for generating a memory read request and outputting a memory address. Generation of the memory read request is inhibited in response to a request inhibit instruction generated by a request-inhibit generating section. When a memory bank other than one accessed in response to the immediately preceding memory read request is accessed, the request-inhibit instruction is generated. The request-inhibit instruction is canceled when memory interleaved data on the basis of the memory read requests for the same memory bank are input to a buffer in the apparatus.

Inventors

  • 👤 Jun-ichi Kihara
  • 👤 Hiroyuki Kaneko

Bibliographic Details

Application Number —
Jurisdiction US
Data Source google_patents
Last Synchronized 2026-10-27 21:07
CPC Classifications
G; G11; G11C; G11C8/00; G11C8/04; G06; G06F; G06F13/00; G06F13/10; G06F13/12; G06F13/122; G06F13/14; G06F13/16; G06F13/1668; G06F13/1678

Claims Analysis

Total Claims: 16
Claim 1
Independent Claim 357 words
A channel apparatus, connected by an m bit data bus to a memory section having a plurality of memory banks under interleaving control in units of m times n bits, each respective memory bank having predetermined memory addresses assigned to the respective memory bank, the memory banks for outputting data blocks in response to a sequence of memory addresses such that any moment in the sequence may be defined by a current memory address and a previous memory address in the sequence of memory addresses, said channel apparatus comprising: address output means, connected to the plurality of memory banks for outputting the previous memory address in the sequence of memory addresses to said memory section in response to an address output instruction, for generating the current memory address in the sequence of the memory addresses, and for retaining the current memory address; comparing means for comparing the current memory address with the previous memory address to determine whether the current memory address and the previous memory address are assigned to the same respective memory bank, and for generating a noncoincidence signal when the current memory address and the previous memory address are not assigned to the same respective memory bank; counting means for counting a number of memory addresses output from said address output means, in response to the noncoincidence signal from said comparing means, for counting a number of the data blocks output by said memory section, and for generating an inhibition instruction until the counted number of data blocks reaches the counted number of memory addresses, whereby the channel apparatus determines that a full m times n bits of memory address have been read to the respective assigned memory bank; control means, connected to the address output means, the comparing means the counting means, for generating and outputting the address output instruction to said address output means in response to a data transfer command, and for inhibiting generation of the address output instruction in response to the inhibition instruction from said counting means, whereby each respective memory bank reads data in the same sequence as said sequence of the m times n bit memory addresses.
Claim 2
Dependent Claim 357 words
A channel apparatus, connected by an m bit data bus to a memory section having a plurality of memory banks under interleaving control in units of m times n bits, each respective memory bank having predetermined memory addresses assigned to the respective memory bank, the memory banks for outputting data blocks in response to a sequence of memory addresses such that any moment in the sequence may be defined by a current memory address and a previous memory address in the sequence of memory addresses, said channel apparatus comprising: address output means, connected to the plurality of memory banks for outputting the previous memory address in the sequence of memory addresses to said memory section in response to an address output instruction, for generating the current memory address in the sequence of the memory addresses, and for retaining the current memory address; comparing means for comparing the current memory address with the previous memory address to determine whether the current memory address and the previous memory address are assigned to the same respective memory bank, and for generating a noncoincidence signal when the current memory address and the previous memory address are not assigned to the same respective memory bank; counting means for counting a number of memory addresses output from said address output means, in response to the noncoincidence signal from said comparing means, for counting a number of the data blocks output by said memory section, and for generating an inhibition instruction until the counted number of data blocks reaches the counted number of memory addresses, whereby the channel apparatus determines that a full m times n bits of memory address have been read to the respective assigned memory bank; control means, connected to the address output means, the comparing means the counting means, for generating and outputting the address output instruction to said address output means in response to a data transfer command, and for inhibiting generation of the address output instruction in response to the inhibition instruction from said counting means, whereby each respective memory bank reads data in the same sequence as said sequence of the m times n bit memory addresses.
Claim 3
Dependent Claim 31 words
An apparatus according to claim 1, wherein said apparatus is connected to said memory section through a bus having an m-bit data width, and the number of memory addresses is n.
Claim 4
Dependent Claim 76 words
An apparatus according to claim 1, further comprising second counting means for counting a number of data blocks received from said memory section, and for generating a completion indication when the counted number of data blocks reaches a predetermined number which is designated by the data transfer command, and wherein said control means further comprises means for inhibiting the generation of the address output instruction in response to the completion indication from said second counting means.
Claim 5
Dependent Claim 66 words
An apparatus according to claim 1, wherein said control means further comprises means for outputting a memory request to said memory section when the address output instruction is output to said address output means, said memory section outputs a response to said apparatus together with the data block, and said counting means includes means for counting a number of responses as the number of data blocks.
Claim 6
Dependent Claim 32 words
An apparatus according to claim 1, wherein said counting means includes means for counting a number of address output instructions as the number of memory addresses output from said address output means.
Claim 7
Independent Claim 321 words
A method of reading out data blocks, across a data bus of m bit capacity, from a memory in response to generated memory addresses of m times n bits and in an order of the generated memory address, the memory having a plurality of memory banks under interleaving control in units of m times n, each respective memory bank having predetermined memory addresses assigned to the respective memory bank, comprising the steps of: (1) sequentially generating an address output instruction in response to a data transfer command; (2) outputting a retained memory address as a previous memory address to said memory in response to the address output instruction; (3) updating the retained memory address from the previous memory address to a current memory address; (4) comparing the current memory address with the previous memory address to generated a noncoincidence signal when the current memory address is not assigned to the same respective memory bank as the previous memory address; (5) repeating steps 2-4 until a noncoincidence signal is generated; (6) counting the number of memory addresses output from said address output means; (7) generating a count start instruction in response to the noncoincidence signal; (8) counting a number of data blocks received from said memory in response to the count start instruction; (9) generating an inhibition instruction until the counted number of data blocks coincides with the number of memory addresses output from said address output means to determine that n data blocks have been read from the memory; (10) resetting the number of data blocks and the number of memory addresses when the counted number of data blocks coincides with the number of memory addresses output from the address output means; and (11) inhibiting generation of the address output instruction in response to the inhibition instruction to ensure that all data blocks corresponding to the m times n memory address are readout before generation of the address output instructions continues.
Claim 8
Independent Claim 321 words
A method of reading out data blocks, across a data bus of m bit capacity, from a memory in response to generated memory addresses of m times n bits and in an order of the generated memory address, the memory having a plurality of memory banks under interleaving control in units of m times n, each respective memory bank having predetermined memory addresses assigned to the respective memory bank, comprising the steps of: (1) sequentially generating an address output instruction in response to a data transfer command; (2) outputting a retained memory address as a previous memory address to said memory in response to the address output instruction; (3) updating the retained memory address from the previous memory address to a current memory address; (4) comparing the current memory address with the previous memory address to generated a noncoincidence signal when the current memory address is not assigned to the same respective memory bank as the previous memory address; (5) repeating steps 2-4 until a noncoincidence signal is generated; (6) counting the number of memory addresses output from said address output means; (7) generating a count start instruction in response to the noncoincidence signal; (8) counting a number of data blocks received from said memory in response to the count start instruction; (9) generating an inhibition instruction until the counted number of data blocks coincides with the number of memory addresses output from said address output means to determine that n data blocks have been read from the memory; (10) resetting the number of data blocks and the number of memory addresses when the counted number of data blocks coincides with the number of memory addresses output from the address output means; and (11) inhibiting generation of the address output instruction in response to the inhibition instruction to ensure that all data blocks corresponding to the m times n memory address are readout before generation of the address output instructions continues.
Claim 9
Dependent Claim 16 words
A method according to claim 6, wherein each memory address corresponds to a m-bit data block.
Claim 10
Dependent Claim 55 words
A method according to claim 6, further comprising the step of: generating a completion indication when the counted number of data blocks reaches a predetermined number which is determined by the data transfer command, and wherein said inhibiting step further comprises inhibiting the generation of the address output instruction in response to the completion indication.
Claim 11
Dependent Claim 59 words
A method according to claim 6, wherein said step of outputting the memory address further comprises outputting a memory request to said memory when the address output instruction is generated, said memory outputs a response to said apparatus together with a data block, and said counting step includes counting a number of responses as the number of data blocks.
Claim 12
Dependent Claim 24 words
A method according to claim 6, wherein said counting step includes counting a number of address output instructions as the number of memory addresses.
Claim 13
Dependent Claim 273 words
A channel apparatus, connected by an m bit data bus to a memory section having a plurality of memory banks under interleaving control in units of m times n bits, each respective memory bank having predetermined memory addresses assigned to the respective memory bank, the memory banks for outputting data blocks in response to a sequence of memory addresses such that any moment in the sequence may be defined by a current memory address and a previous memory address in the sequence of memory addresses, said channel apparatus comprising: memory access means for sequentially generating and outputting a series of memory addressees to said memory section in response to an input data transfer command and for inhibiting generation of the series of memory addresses in response to an inhibition instruction; comparing means for comparing a first memory address of the series of memory addresses with a second memory address of the series of memory addresses previous to the first memory address to determine whether the first memory address and the second memory address are assigned to the same respective memory bank, and for generating a noncoincidence signal when the first memory address and the second memory address are not assigned to the same respective memory bank; counting means for, in response to the noncoincidence signal, counting a number of the data blocks received from said memory, for generating a inhibition instruction until the counted number of data blocks reaches a predetermined number, and for resetting the counted number of data blocks, whereby a respective, assigned memory bank reads data in the same sequence as the sequence of m times n bit memory addresses.
Claim 14
Dependent Claim 273 words
A channel apparatus, connected by an m bit data bus to a memory section having a plurality of memory banks under interleaving control in units of m times n bits, each respective memory bank having predetermined memory addresses assigned to the respective memory bank, the memory banks for outputting data blocks in response to a sequence of memory addresses such that any moment in the sequence may be defined by a current memory address and a previous memory address in the sequence of memory addresses, said channel apparatus comprising: memory access means for sequentially generating and outputting a series of memory addressees to said memory section in response to an input data transfer command and for inhibiting generation of the series of memory addresses in response to an inhibition instruction; comparing means for comparing a first memory address of the series of memory addresses with a second memory address of the series of memory addresses previous to the first memory address to determine whether the first memory address and the second memory address are assigned to the same respective memory bank, and for generating a noncoincidence signal when the first memory address and the second memory address are not assigned to the same respective memory bank; counting means for, in response to the noncoincidence signal, counting a number of the data blocks received from said memory, for generating a inhibition instruction until the counted number of data blocks reaches a predetermined number, and for resetting the counted number of data blocks, whereby a respective, assigned memory bank reads data in the same sequence as the sequence of m times n bit memory addresses.
Claim 15
Dependent Claim 32 words
An apparatus according to claim 11, wherein said apparatus is connected to said memory section through a bus having an m-bit data width, each memory address corresponding to an m-bit data block.
Claim 16
Dependent Claim 79 words
An apparatus according to claim 11, further comprising second counting means for counting a number of data blocks received from said memory section, and for generating a completion indication when the counted number of data blocks reaches a second predetermined number which is designated by the data transfer command, and wherein said memory access means further comprises means for stopping the generation of the series of memory addresses in response to the completion indication from said second counting means.

References Cited (Backward Citations)

US4027291A Cited
US4099231A Cited
US4122520A Cited
US4214304A Cited
US4157587A Cited
US4403282A Cited
US4366539A Cited
US4467419A Cited
US4598362A Cited
US4723223A Cited
US4669056A Cited

USPTO Annuity & Maintenance Windows

Annuity Stage Window Opens Payment Deadline Surcharge Period Until Estimated Fee Status
3.5 Years (Year 4) 1993-04-02 1993-10-02 1994-04-03 $2000.00 Window Closed / Lapsed
7.5 Years (Year 8) 1997-04-02 1997-10-02 1998-04-03 $3760.00 Window Closed / Lapsed
11.5 Years (Year 12) 2001-04-02 2001-10-02 2002-04-03 $7700.00 Window Closed / Lapsed

Assigned Categories & Tags

No categories assigned to this patent yet.

Assign Category Tag