Memory management process and apparatus for the same
First Claim
1. A memory management process for optimizing access to a central memory located within a processing system comprising a set of specific units communicating with each other through said memory, said process comprising:
- a) arranging in a local memory at least a first and a second bank of storage (A, B) for temporary object exchange between a first data object producer and a second data object consumer;
b) arranging an address translation process for mapping a real address of an object to be stored within said banks into an address of each bank;
c) receiving one object produced by said producer and dividing it into stripes of reduced size;
d) storing a first stripe into said first bank;
e) storing a next stripe into said second bank while a preceding stripe is read by said object consumer;
f) storing a further next stripe into said first bank again while the preceding stripe is read by said object consumer;
g) repeating f) and d) until all stripes composing said data objects have been processed; and
h) arranging an interlocking mechanism for locking a writing and a reading process in said banks to ensure said producer has enough space to forward further data and said receiver has data to read.
4 Assignments
0 Petitions
Accused Products
Abstract
Memory management process for optimizing the access to a central memory located within a processing system comprising a set of specific units communicating with each other through said memory, said process involving the steps of: a) arranging in a local memory at least a first and a second bank of storage (A, B) for the purpose of temporary object exchanged between a first data object producer (400) and a second data object consumer (410); b) arranging a address translation process for mapping the real address of an object to be stored within said banks into the address of the bank; b) receiving one object produced by said producer and dividing it into stripes of reduced size; c) storing the first stripe into said first bank; d) storing the next stripe into said second bank while the preceding stripe is read by said object consumer (410); e) storing the next stripe into said first bank again while the preceding stripe is read by said object consumer (410). f) repeating e) and c) until all stripes composing said data objects have been processed; g) arranging an interlocking mechanism for locking the writing and reading process in said banks to ensure producer has enough space to forward further data, as well as receiver has indeed data to read.
-
Citations
8 Claims
-
1. A memory management process for optimizing access to a central memory located within a processing system comprising a set of specific units communicating with each other through said memory, said process comprising:
-
a) arranging in a local memory at least a first and a second bank of storage (A, B) for temporary object exchange between a first data object producer and a second data object consumer; b) arranging an address translation process for mapping a real address of an object to be stored within said banks into an address of each bank; c) receiving one object produced by said producer and dividing it into stripes of reduced size; d) storing a first stripe into said first bank; e) storing a next stripe into said second bank while a preceding stripe is read by said object consumer; f) storing a further next stripe into said first bank again while the preceding stripe is read by said object consumer; g) repeating f) and d) until all stripes composing said data objects have been processed; and h) arranging an interlocking mechanism for locking a writing and a reading process in said banks to ensure said producer has enough space to forward further data and said receiver has data to read. - View Dependent Claims (2, 3, 4, 5)
-
-
6. A digital processing system comprising a central processor arranged with a central memory and a set of specific units communicating with each other through said memory, said system further comprising:
-
a) a local memory comprising at least a first and a second bank of storage (A, B) for a temporary object exchange between a first unit, said first unit being a first data object producer and a second unit, said second unit being a second data object consumer; b) a bus matrix structure arranged for providing access of said producer/consumer to said at least first and second banks, said bus matrix structure performing an address translation process for mapping a real address of an object to be stored within said banks into an address of the bank; c) monitoring circuits associated with each of said first and second banks of storage for monitoring an address, a type of command and an identifier of units accessing each said associated bank, said monitoring circuits being configured to issue an interrupt to a control unit independently of said central processor; and d) said bus matrix structure being further arranged for receiving an object produced by said producer and dividing it into stripes of reduced size and for alternatively performing a writing operation in said at least first bank while the second bank is being read, said bus matrix structure being under the control of said control unit handling said interrupts generated by said monitoring circuits. - View Dependent Claims (7, 8)
-
Specification