or
Bookmark and Share
Cache controller for maintaining cache coherency in a multiprocessor system including multiple data coherency procedures
   
Document Number
US Patent 5226144
Issued Date
July 6, 1993
Link
Inventors
Map
Abstract
A data processing system that includes a plurality of processors with at least a portion of this plurality of processors each individually connected to a cache memory for storing data for that processor. Each cache memory includes a cache controller that is connected to a bus. Each controller includes a circuit for independently storing a data coherency procedure indicator indicating that the controller will perform one of two or more data coherency procedures. According to one procedure, when data is updated in a cache memory, corresponding data is updated in another cache that stores the corresponding data. In a second data coherency procedure, when data is updated in one cache, the corresponding data stored in another cache is invalidated. The individual and independent storing of the coherency procedure indicator enables each cache to perform either one or the other data coherency procedure without interfering with the data coherency procedures performed by other caches in the data processing system. Furthermore, the cache that is updating data provides an updating signal on the bus, which is received by the other caches on the bus. The controllers of those caches will then either update or invalidate any corresponding data in accordance with those caches stored coherency procedure indicators.
Tags:
Description:
Amusing 0%
Clever 0%
Complex 0%
Efficient 0%
Historic 0%
Important 0%
Innovative 0%
Interesting 0%
Practical 0%
Simple 0%
Number of Claims:
20
Comments:
no comments yet
Published
July 6, 1993
Application Number
07/463,687
Filed
January 11, 1990
US Classification
711/121   711/141
Int'l Classification
G06F   12/08   (20060101)  
Examiner
Assistant Examiner
Attorney/Law Firm
Priority Data
Jan 13, 1989 [JP] 64-4799
USPTO Field of Search
364/2MSFile   364/9MSFile   395/425   395/400  
Related Patents
6101582 - Dcbst with icbi mechanism - Owned by International Business Machines Corporation (Armonk, NY)

Depending on a processor or instruction mode, a data cache block store (dcbst) or equivalent instruction is treated differently. A coherency maintenance mode for the instruction, in which the instruction is utilized to maintain coherency between bifurcated data and instruction caches, may be entered by setting bits in a processor register or by setting hint bits within the instruction. In the coherency maintenance mode, the instruction both pushes modified data to system memory and invalidates the cache entry in instruction caches. Subsequent instruction cache block invalidate (icbi) or equivalent instructions targeting the same cache location are no-oped when issued by a processor following a data cache block store or equivalent instruction executed in coherency maintenance mode. Execution of the data cache clock store instruction in coherency maintenance mode results in a novel system bus operation being initiated on the system bus. The bus operation directs other devices having bifurcated data and instruction caches to clean the specified cache entry in their data cache to at least the point of instruction/data cache coherency and invalidate the specified cache entry in their instruction cache. When repeatedly employed in sequence to write one or more pages of data to system memory, the mechanism for maintaining coherency saves processor cycles and reduces both address and data bus traffic.

5673414 - Snooping of I/O bus and invalidation of processor cache for memory data transfers between one I/O device and cacheable memory in another I/O device - Owned by International Business Machines Corporation (Armonk, NY)

In a computer system that contains an input output (I/O) bus connecting to I/O devices, a central processing unit (CPU), a CPU cache memory, a system memory not directly accessible via the I/O bus, and a system bus used for conducting data transfers between the I/O bus and both the CPU cache and system memory, a method and apparatus are provided to allow addressable memory locations in both the system memory and I/O devices coupled to the I/O bus to be cacheable in the CPU cache. The I/O bus supports data transfers between pairs of I/O devices, as well as data transfers between individual I/O devices and the system which presents a problem of maintaining coherency in the CPU cache when data is written by one I/O device to a cacheable memory location in another I/O device. The present solution employs a snoop/data invalidation function at the system interface to the I/O bus to determine when a memory location in an I/O device coupled to the I/O bus is being written to by another I/O device coupled to the I/O bus. If such a write is taking place, it is then determined if the address of the location being written is in an address range predesignated as cacheable; if so, then the CPU cache controller or other device controlling the CPU cache is notified that memory at a cacheable location in an I/O device has been overwritten.

5568633 - Process for managing a hierarcy of memories - Owned by Bull S.A. (Louveciennes,FR)

The process for exchanges between the levels in a hierarchy of memories comprising at least one intermediate level in the hierarchy linked to a higher level in the hierarchy and to a lower level in the hierarchy, with each level in the hierarchy being divided into memories (3, 5, 6) which are in turn divided into blocks (10) containing information (11) associated with addresses (Ad), with the blocks of the memories on the higher level and on the intermediate level in the hierarchy containing copies of the information held in the blocks at the corresponding addresses on the lower level in the hierarchy, and during a modification of a piece of information in a block (10.32) of a memory on the higher level in the hierarchy, invalidating at least some of the information at the corresponding addresses of other memories on the higher level in the hierarchy, and managing an update or an invalidation of the information at the corresponding addresses on the intermediate level and the lower level in the hierarchy, depending on the usefulness of the update.

7017012 - Distributed storage cache coherency system and method - Owned by Sun Microsystems, Inc. (Santa Clara, CA)

In a computer system, a distributed storage system having a data coherency unit for maintaining data coherency across a number of storage devices sharing such data is described. The data coherency unit includes logic to monitor data transition states in each of the data storage devices to detect when the processing status of data being shared by two or more of the storage devices changes. The data coherency unit advantageously ensures a status change in shared data in one storage device is broadcast to other storage devices having copies of the data without having each storage device independently monitor adjourning storage devices to detect data state changes.

5966728 - Computer system and method for snooping date writes to cacheable memory locations in an expansion memory device - Owned by International Business Machines Corp. (Armonk, NY)

A computer system and method allow memory locations in both system memory and expansion memory devices coupled to an input/output (I/O) bus to be cacheable in a central processing unit (CPU) cache. The computer system contains an I/O bus connected to I/O devices and an expansion bus connected to expansion memory devices, a system memory not accessible via the I/O bus or expansion bus, and the system bus used for conducting data transfers between the I/O bus and both the CPU cache and system memory. The I/O bus supports data transfers between pairs of I/O devices, and I/O devices and expansion memory devices on the expansion bus, as well as data transfers between individual I/O devices and the system, which presents a problem of maintaining coherency in the CPU cache when data is written by one I/O device or expansion memory device to a cacheable memory location in another I/O device or expansion memory device. The computer system employs a snoop/data invalidation function at the system interface to the I/O bus to determine when a memory location in an expansion memory device coupled to the expansion bus is being written to by another expansion memory device coupled to the expansion bus or an I/O device coupled to the I/O bus. If such a write is taking place, it is then determined if the address of the location being written is in and address range predesignated as cacheable; if so, then the CPU cache controller or other device controlling the CPU cache is notified that memory at a cacheable location in an expansion memory device has been overwritten.

Claims
Description
About| FAQs| Terms & Disclaimer| Link to Us| Contact Us