Computer architecture
First Claim
Patent Images
1. A memory system, comprising:
- a tagged memory organized into memory chunks, each memory chunk having an associated memory chunk address field for addressing the memory chunk and each memory chunk further including the following fields;
a data field,a type field that indicates type of data stored in the data field, andan owner address tag field that indicates which objects own which memory chunks, wherein an object in the tagged memory owns a plurality of memory chunks that are sequentially organized within the tagged memory and wherein the owner address tag field of said at least one object and the associated memory chunk address field of the first memory chunk in said sequentially arranged plurality of memory chunks have a same value; and
a memory manager that has exclusive ability to allocate the object which comprises said sequentially arranged plurality of memory chunks, deallocate the sequentially arranged plurality of memory chunks, write to the sequentially arranged plurality of memory chunks, and read the sequentially arranged plurality of memory chunks,wherein when a processor requests access to the object allocated in the tagged memory using an object address and an object offset within the object, the memory manager is configured to;
generate an address of a memory chunk in the tagged memory for access to the object based on the object address and the object offset;
check whether a value in the owner address tag field of the addressed memory chunk is the same as the generated memory chunk address;
grant the access to the object when the value in the owner address tag field of the addressed memory chunk is the same as the generated memory chunk address; and
prevent the access to the object when the value in the owner address tag field of the addressed memory chunk is different from the generated memory chunk address.
1 Assignment
0 Petitions
Accused Products
Abstract
A tagged memory organized is into memory chunks. Each memory chunk has a data field, a type field and an owner address field. The type field indicates type of data stored in the data field. The owner address field indicates which objects own which memory chunks. A memory manager has exclusive ability to allocate the memory chunks, deallocate the memory chunks, write to the memory chunks and read the memory chunks.
6 Citations
24 Claims
-
1. A memory system, comprising:
-
a tagged memory organized into memory chunks, each memory chunk having an associated memory chunk address field for addressing the memory chunk and each memory chunk further including the following fields; a data field, a type field that indicates type of data stored in the data field, and an owner address tag field that indicates which objects own which memory chunks, wherein an object in the tagged memory owns a plurality of memory chunks that are sequentially organized within the tagged memory and wherein the owner address tag field of said at least one object and the associated memory chunk address field of the first memory chunk in said sequentially arranged plurality of memory chunks have a same value; and a memory manager that has exclusive ability to allocate the object which comprises said sequentially arranged plurality of memory chunks, deallocate the sequentially arranged plurality of memory chunks, write to the sequentially arranged plurality of memory chunks, and read the sequentially arranged plurality of memory chunks, wherein when a processor requests access to the object allocated in the tagged memory using an object address and an object offset within the object, the memory manager is configured to; generate an address of a memory chunk in the tagged memory for access to the object based on the object address and the object offset; check whether a value in the owner address tag field of the addressed memory chunk is the same as the generated memory chunk address; grant the access to the object when the value in the owner address tag field of the addressed memory chunk is the same as the generated memory chunk address; and prevent the access to the object when the value in the owner address tag field of the addressed memory chunk is different from the generated memory chunk address. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9, 10)
-
-
11. A computing system comprising:
-
a tagged memory organized into memory chunks, each memory chunk having an associated memory chunk address field for addressing the memory chunk and each memory chunk further including the following fields; a data field, a type field that indicates type of data stored in the data field, and an owner address field that indicates which objects own which memory chunks, wherein an object in the tagged memory owns a plurality of memory chunks that are sequentially organized within the tagged memory and wherein the owner address tag field of said at least one object and the associated memory chunk address field of the first memory chunk in said sequentially arranged plurality of memory chunks have a same value; a memory manager that has exclusive ability to allocate the object which comprises said sequentially arranged plurality of memory chunks, write to the sequentially arranged plurality of memory chunks, and read the sequentially arranged plurality of memory chunks; a plurality of registers, each register having storage capacity to store a value for the data field and a value for the type field; and a processor configured to use the registers to execute instructions, the instructions specifying functions that can be performed on source arguments that include values in both the data field and the type field, wherein when a processor requests access to the object allocated in the tagged memory using an object address and an object offset within the object, the memory manager is configured to; generate an address of a memory chunk in the tagged memory for access to the object based on the object address and the object offset; check whether a value in the owner address tag field of the addressed memory chunk is the same as the generated memory chunk address; grant the access to the object when the value in the owner address tag field of the addressed memory chunk is the same as the generated memory chunk address; and prevent the access to the object when the value in the owner address tag field of the addressed memory chunk is different from the generated memory chunk address. - View Dependent Claims (12, 13, 14, 15, 16, 17, 18)
-
-
19. A method for performing memory accesses within a memory system, the method comprising:
-
organizing a tagged memory into memory chunks, each memory chunk having an associated memory chunk address field for addressing the memory chunk and each memory chunk further including the following fields; a data field, a type field, that indicates type of data stored in the data field, an owner address tag field that indicates which objects own which memory chunks, wherein an object in the tagged memory owns a plurality of memory chunks that are sequentially organized within the tagged memory and wherein the owner address tag field of said at least one object and the associated memory chunk address field of the first memory chunk in said sequentially arranged plurality of memory chunks have a same value; exclusively using a memory manager to allocate the object which comprises said sequentially arranged plurality of memory chunks in the tagged memory, write to the sequentially arranged plurality of memory chunks, and read the sequentially arranged plurality of memory chunks; a processor requesting access to the object allocated in the tagged memory using an object address and an object offset within the object; and in response to the request for access to the object, the memory manager performs the following steps; generating an address of a memory chunk in the tagged memory for access to the object based on the object address and the object offset; checking whether a value in the owner address tag field of the addressed memory chunk is the same as the generated memory chunk address; granting the access to the object when the value in the owner address tag field of the addressed memory chunk is the same as the generated memory chunk address; and preventing the access to the object when the value in the owner address tag field of the addressed memory chunk is different from the generated memory chunk address. - View Dependent Claims (20, 21, 22, 23, 24)
-
Specification