Method for composing addresses of a memory
First Claim
1. A method for subdividing the memory locations of an n-dimensional memory into distinct groups and allocating each group to a respective memory bank, wherein said n-dimensional memory includes defined therein a plurality of unit divisions, each unit division having a plurality of vertices, each one of said vertices being identified by a unique n-dimensional address, said method comprising the steps of:
- providing 2n of said respective memory banks wherein said n equals the number of dimensions associated with said n-dimensional memory, each one of said memory banks being identified by a unique identifying number; and
deriving from each said n-dimensional address a value which corresponds to said identifying number, said value indicating to which said respective memory bank said n-dimensional address is to be allocated, said value being mathematically derived from said n-dimensional address such that no two n-dimensional addresses associated with a given one of said unit divisions are allocated to a single memory bank.
1 Assignment
0 Petitions
Accused Products
Abstract
A method for subdividing the addresses of a multi-dimensional memory, having n-dimensional addresses defined over a logical address space which is divided into a plurality of unit divisions. Each unit division has several vertices each of which is addressable by one of the n-dimensional addresses. Each one of the addresses associated with a given unit division is divided and allocated to a distinct memory bank so that no two addresses of the same unit division are in the same memory bank. There are a total of 2n memory banks, each having independent data lines and address lines. The original n-dimensional address of the vertices determines to which memory bank the vertex address will be allocated. Moreover, the n-dimensional address also determines the address of the given vertex within the memory bank to which it has been allocated. Thus, the data corresponding to all the vertices of a given unit division can be accessed simultaneously to thereby significantly reduce data retrieval times in many applications.
42 Citations
15 Claims
-
1. A method for subdividing the memory locations of an n-dimensional memory into distinct groups and allocating each group to a respective memory bank, wherein said n-dimensional memory includes defined therein a plurality of unit divisions, each unit division having a plurality of vertices, each one of said vertices being identified by a unique n-dimensional address, said method comprising the steps of:
-
providing 2n of said respective memory banks wherein said n equals the number of dimensions associated with said n-dimensional memory, each one of said memory banks being identified by a unique identifying number; and deriving from each said n-dimensional address a value which corresponds to said identifying number, said value indicating to which said respective memory bank said n-dimensional address is to be allocated, said value being mathematically derived from said n-dimensional address such that no two n-dimensional addresses associated with a given one of said unit divisions are allocated to a single memory bank. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8)
-
-
9. A memory based, multi-dimensional, interpolation apparatus for providing, simultaneously, a set of data associated with and derived from an n-dimensional data base which includes a plurality of unit divisions, each unit division having a plurality of vertices, each of said vertices being identified by an n-dimensional address, said apparatus comprising:
-
2n memory banks, n being equal to the dimension of the interpolation apparatus; means for mathematically deriving from each n-dimensional address a value, said value determining in which one of said memory banks a data item corresponding to said n-dimensional address is to be stored, said data item being stored in a memory bank in which another data item associated with said set of data is not stored; and means for generating addresses for each one of said memory banks to thereby enable simultaneous retrieval of said set of data from said memory banks.
-
-
10. A method for subdividing the memory locations of an n-dimensional memory into distinct groups and allocating each group to a respective memory bank to provide simultaneous access to sets of data stored in said memory locations, comprising the steps of:
-
defining in the memory locations of said n-dimensional memory a plurality of unit divisions, each unit division to contain one such set of data to be accessed, and each unit division having a plurality of vertices for containing the respective data constituting such set of data, and each one of said vertices being identified by a unique n-dimensional address, subdividing the memory locations of said memory into 2n respective memory banks, wherein n equals the number of dimensions associated with said n-dimensional memory, each one of said memory banks being identified by a unique identifying number; and deriving from each said n-dimensional address a value which corresponds to one of said identifying numbers, said value indicating to which said respective memory bank said n-dimensional address is to be allocated, said value being mathematically derived from said n-dimensional address such that no two n-dimensional addresses associated with a given one of said unit divisions are allocated to a single memory bank. - View Dependent Claims (11, 12, 13, 14, 15)
-
12. The method of claim 11, in which each n-dimensional address which is allocated to a given memory bank is reassigned a new n-dimensional address, the new n-dimensional address being derived from the relationship ##EQU10## in which only the integer result of the calculation is used for the new n-dimensional address and the fractional part is discarded.
-
13. The method of claim 10, in which each of said memory banks comprises independent data lines and address lines.
-
14. The method of claim 11, in which each of said memory banks comprises independent data lines and address lines.
-
15. The method of claim 12, in which each of said memory banks comprises independent data lines and address lines.
-
Specification