Systolic memory arrays
First Claim
Patent Images
1. A memory comprising:
- a plurality of systolic memory arrays each divided into banks, each of the memory arrays arranged in a pipelined architecture and each of the plurality of systolic memory arrays to support pipeline access to the corresponding banks using a plurality of data pipes; and
a plurality of pipeline registers, each register to couple to a first one of the banks of a corresponding one of the plurality of systolic memory arrays to provide read and write operations through a data pipe to the banks of the corresponding one of the systolic memory arrays beginning with the first one of the banks and to provide address access through an address pipe to the banks of the corresponding one of the systolic memory arrays beginning with the first one of the banks.
2 Assignments
0 Petitions
Accused Products
Abstract
A short latency and high bandwidth memory includes a systolic memory that is sub-divided into a plurality of memory arrays, including banks and pipelines that access these banks. Shorter latency and faster performance is achieved with this memory, because each bank is smaller in size and is accessed more rapidly. A high throughput rate is accomplished because of the pipelining. Memory is accessed at the pipeline frequency with the proposed read and write mechanism. Design complexity is reduced because each bank within the memory is the same and repeated. The memory array size is re-configured and organized to fit within desired size and area parameters.
53 Citations
27 Claims
-
1. A memory comprising:
-
a plurality of systolic memory arrays each divided into banks, each of the memory arrays arranged in a pipelined architecture and each of the plurality of systolic memory arrays to support pipeline access to the corresponding banks using a plurality of data pipes; and a plurality of pipeline registers, each register to couple to a first one of the banks of a corresponding one of the plurality of systolic memory arrays to provide read and write operations through a data pipe to the banks of the corresponding one of the systolic memory arrays beginning with the first one of the banks and to provide address access through an address pipe to the banks of the corresponding one of the systolic memory arrays beginning with the first one of the banks. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9, 10, 12, 13, 15, 16, 17, 18, 19, 23)
-
-
11. A memory comprising:
-
a plurality of systolic memory arrays each divided into banks, each of the systolic memory arrays arranged in a pipelined architecture and each of the plurality of memory arrays to support pipeline access to the corresponding banks using a plurality of data pipes, and a writing operation into the memory is performed by pumping an address with data that is to be written into the memory; and a plurality of pipeline registers, each register to couple to a first one of the banks of a corresponding one of the plurality of systolic memory arrays through a data pipe and an address pipe to provide read/write data input, data output and address access to the banks of the corresponding one of the systolic memory arrays through the first one of the banks arranged in the pipelined architecture. - View Dependent Claims (14)
-
-
20. A processing system comprising:
-
a die including a microprocessor; peripheral equipment coupled to the processing system; a network interface; and on-die or off-die systolic memory including; a plurality of separate systolic memory arrays, each systolic memory array including a plurality of memory banks in a pipelined fashion, the plurality of memory banks of each systolic memory array to share an address line in a pipelined fashion and data lines in a pipelined fashion, and a read operation from the systolic memory is performed by pumping an address once and allowing the address to flow through an address pipe to reach individual banks one cycle at a time, and a plurality of pipeline registers. each register coupled to one of the separate systolic memory arrays, and each register is coupled to one end of a corresponding one of the systolic memory arrays to provide read data from the memory array, to provide write data to the array and to provide address information to the array. - View Dependent Claims (21, 22)
-
-
24. A memory comprising:
a plurality of separate systolic memory arrays, each systolic memory array including a plurality of memory banks in pipelined fashion, the plurality of memory banks of each memory array to share an address line in a pipelined fashion and data lines in a pipelined fashion, and a read operation is performed by pumping an address and allowing the address to flow through the address line to reach individual banks of one of the plurality of separate systolic memory arrays one cycle at a time, and access latency for one bank of one of the plurality of senarate systolic memory arrays is represented by 2i+L, where i represents time it takes to allow an address to reach a desired i th bank and L represents cycles of latency to access the memory. - View Dependent Claims (25, 26)
-
27. A memory comprising:
a plurality of separate systolic memory arrays, each systolic memory array including a plurality of memory banks in pipelined fashion, the plurality of memory banks of each systolic memory array to share an address line in a pipelined fashion and data lines in a pipelined fashion, and peripheral access for writing operations and addressing for one systolic memory array is accomplished from one side of the one systolic memory array and data for reading operations for the one systolic memory array is received from the one side of the one systolic memory array.
Specification