Memory protection system and method for computer architecture for broadband networks
First Claim
1. A computer processing system, said processing system comprising:
- a first memory for storing programs and data associated with said programs;
a plurality of first processing units for processing said programs and said associated data;
a memory controller for controlling accesses to said first memory by said first processing units;
a second memory for storing an access table and a key table, said access table comprising a plurality of access entries, each said access entry including an access key and an identification of a memory space within said first memory associated with said access key, said key table comprising a plurality of key entries, each said key entry including an identification of one of said first processing units and a request key associated with said first processing unit;
a second processing unit for controlling said processing of said programs and said associated data by said first processing units, said second processing unit being operable to construct and maintain said access table and said key table, said second processing unit being further operable to direct any one of said first processing units to process one of said programs, said one first processing unit being operable in processing said one program to issue a request to said memory controller for access to a storage location within said first memory, said memory controller being operable, in response to said request, to compare the request key associated with said one processing unit in said key table with the access keys in said access table, and if one of said access keys corresponds with the request key associated with said one first processing unit in said key table and said storage location corresponds to the memory space associated with said one access key identified in said access table, to execute said request.
3 Assignments
0 Petitions
Accused Products
Abstract
A computer architecture and programming model for high speed processing over broadband networks are provided. The architecture employs a consistent modular structure, a common computing module and uniform software cells. The common computing module includes a control processor, a plurality of processing units, a plurality of local memories from which the processing units process programs, a direct memory access controller and a shared main memory. A synchronized system and method for the coordinated reading and writing of data to and from the shared main memory by the processing units also are provided. A hardware sandbox structure is provided for security against the corruption of data among the programs being processed by the processing units. The uniform software cells contain both data and applications and are structured for processing by any of the processors of the network. Each software cell is uniquely identified on the network. A system and method for creating a dedicated pipeline for processing streaming data also are provided.
-
Citations
40 Claims
-
1. A computer processing system, said processing system comprising:
-
a first memory for storing programs and data associated with said programs;
a plurality of first processing units for processing said programs and said associated data;
a memory controller for controlling accesses to said first memory by said first processing units;
a second memory for storing an access table and a key table, said access table comprising a plurality of access entries, each said access entry including an access key and an identification of a memory space within said first memory associated with said access key, said key table comprising a plurality of key entries, each said key entry including an identification of one of said first processing units and a request key associated with said first processing unit;
a second processing unit for controlling said processing of said programs and said associated data by said first processing units, said second processing unit being operable to construct and maintain said access table and said key table, said second processing unit being further operable to direct any one of said first processing units to process one of said programs, said one first processing unit being operable in processing said one program to issue a request to said memory controller for access to a storage location within said first memory, said memory controller being operable, in response to said request, to compare the request key associated with said one processing unit in said key table with the access keys in said access table, and if one of said access keys corresponds with the request key associated with said one first processing unit in said key table and said storage location corresponds to the memory space associated with said one access key identified in said access table, to execute said request. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9, 10)
-
-
11. A computer processing method, said method comprising:
-
storing in a first memory programs and data associated with said programs;
processing with a plurality of first processing units said programs and said associated data;
controlling with a memory controller accesses to said first memory by said first processing units;
constructing with a second processing unit in a second memory an access table and a key table, said access table comprising a plurality of access entries, each said access entry including an access key and an identification of a memory space within said first memory associated with said access key, said key table comprising a plurality of key entries, each said key entry including an identification of one of said first processing units and a request key associated with said first processing unit;
controlling with said second processing unit said processing of said programs and said associated data by said first processing units;
directing with said second processing unit any one of said first processing units to process one of said programs;
issuing from said one first processing unit, in processing said one program, a request to said memory controller for access to a storage location within said first memory;
comparing, in response to said request, the request key associated with said one first processing unit in said key table with the access keys in said access table;
if one of said access keys corresponds with the request key associated with said one processing unit in said key table and said storage location corresponds to the memory space associated with said one access key identified in said access table, executing said request. - View Dependent Claims (12, 13, 14, 15, 16, 17, 18, 19, 20)
-
-
21. A computer processing system, said processing system comprising:
-
a first memory for storing programs and data associated with said programs, said first memory comprising a plurality of addressable storage locations, each said addressable storage location comprising an additional memory segment associated with said addressable storage location and containing an access key for said addressable storage location;
a plurality of first processing units for processing said programs and said associated data;
a memory controller for controlling accesses to said first memory by said first processing units;
a second memory for storing a key table comprising a plurality of key entries, each said key entry including an identification of one of said first processing units and a request key associated with said first processing unit;
a second processing unit for controlling said processing of said programs and said associated data by said first processing units, said second processing unit being operable to assign and maintain said access keys and construct and maintain said key table, said second processing unit being further operable to direct any one of said first processing units to process one of said programs, said one first processing unit being operable in processing said one program to issue a request to said memory controller for access to one of said addressable storage locations, said memory controller being operable, in response to said request, to compare the request key associated with said one processing unit in said key table with the access key contained in the additional memory segment associated with said one addressable storage location, and if the request key associated with said one processing unit in said key table corresponds with said access key contained in said additional memory segment associated with said one addressable storage location, to execute said request. - View Dependent Claims (22, 23, 24, 25, 26, 27, 28, 29, 30)
-
-
31. A computer processing method, said method comprising:
-
storing in a first memory programs and data associated with said programs, said first memory comprising a plurality of addressable storage locations, each said addressable storage location including an additional memory segment associated with said addressable storage location;
storing in each said additional memory segment for each said addressable storage location an access key for said addressable storage location;
processing with a plurality of first processing units said programs and said associated data;
controlling with a memory controller accesses to said first memory by said first processing units;
storing in a second memory a key table comprising a plurality of key entries, each said key entry including an identification of one of said first processing units and a request key associated with said first processing unit;
controlling with a second processing unit said processing of said programs and said associated data by said first processing units;
assigning with said second processing unit each said access key;
constructing with said second processing unit said key table;
directing with said second processing unit any one of said first processing units to process one of said programs;
issuing from said one first processing unit, in processing said one program, a request to said memory controller for access to one of said addressable storage locations;
comparing, in response to said request, the request key associated with said one processing unit in said key table with the access key contained in the additional memory segment associated with said one addressable storage location;
if the request key associated with said one processing unit in said key table corresponds with said access key contained in said additional memory segment associated with said one addressable storage location, executing said request. - View Dependent Claims (32, 33, 34, 35, 36, 37, 38, 39, 40)
-
Specification