Computer system and method for maintaining memory consistency in a pipelined, non-blocking caching bus request queue
First Claim
Patent Images
1. A computer system including:
- a bus;
a multi-level memory system coupled to the bus;
a CPU coupled to the bus and to the multi-level memory system, and including,a cache consistency mechanism for ensuring consistency of data among various level(s) of cache within the multi-level memory system, the cache consistency mechanism including,an external bus request queue for ensuring that requests to a same address are issued and serviced on the bus according to a predetermined memory ordering scheme, wherein the external bus request queue maintains status information regarding both read and write requests which are to be issued to various levels of the multi-level memory system.
1 Assignment
0 Petitions
Accused Products
Abstract
A computer system, and a method performed by it, having a mechanism for ensuring consistency of data among various level(s) of caching in a multi-level hierarchical memory system. The cache consistency mechanism includes an external bus request queue which and associated mechanism, which cooperate to monitor and control the issuance of data requests, such as read requests and write requests, onto an external bus. The computer system includes one or more CPUs each having this consistency mechanism.
262 Citations
13 Claims
-
1. A computer system including:
-
a bus; a multi-level memory system coupled to the bus; a CPU coupled to the bus and to the multi-level memory system, and including, a cache consistency mechanism for ensuring consistency of data among various level(s) of cache within the multi-level memory system, the cache consistency mechanism including, an external bus request queue for ensuring that requests to a same address are issued and serviced on the bus according to a predetermined memory ordering scheme, wherein the external bus request queue maintains status information regarding both read and write requests which are to be issued to various levels of the multi-level memory system. - View Dependent Claims (2)
-
-
3. A method of operating a computer system to maintain memory consistency, the computer system including a pipelined external bus, one or more CPUs coupled to the external bus and including an external bus request queue, a memory system including a main memory and one or more levels of cache and coupled to the external bus, the method comprising the steps of:
-
executing a program on the CPU, the program including a plurality of memory data requests which the program expects will be serviced according to a predetermined ordering, wherein the plurality of memory data requests includes both read and write requests; issuing the plurality of data requests onto the external bus in a pipelined ordering; queuing the issued data requests in entries of the external bus request queue to monitor status information regarding each issued data request; and updating the entries to maintain memory consistency, ensure that each request receives current data, and service requests according to the predetermined ordering. - View Dependent Claims (4, 5)
-
-
6. An apparatus for use in a computer system having a multi-level memory system, the apparatus comprising:
a cache consistency mechanism for ensuring consistency of data among various level(s) of cache within the multi-level memory system, the cache consistency mechanism including, an external bus request queue for ensuring that requests to a same address are issued and serviced on the bus according to a predetermined memory ordering scheme, wherein the external bus request queue maintains status information regarding both read and write requests which are to be issued to various levels of the multi-level memory system. - View Dependent Claims (7, 8, 9, 10)
-
11. An apparatus for use in a computer system to maintain memory consistency, the computer system including a pipelined external bus, one or more CPU'"'"'s coupled to the external bus and including an external bus request queue, a memory system including a main memory and one or more levels of cache memory and coupled to the external bus, the apparatus comprising:
-
means for executing a program on the CPU, the program including a plurality of data requests which the program expects will be serviced according to a predetermined ordering, wherein the plurality of memory data requests includes both read and write requests; means for issuing the plurality of data requests onto the external bus in a pipelined ordering; means for queuing data requests to monitor status information regarding each issued data request; and means for updating the entries to maintain memory consistency, ensure that each request receives current data, and service requests according to the predetermined ordering. - View Dependent Claims (12, 13)
-
Specification