Write-through Patents (Class 711/142)
  • Patent number: 7263580
    Abstract: A data processing system is used which is provided with a computer for executing a program, and a storage unit having a cache memory for storing data transmitted as a result of execution of the program and a disk device for storing data stored in the cache memory. The storage unit responds to an input of a request for storing data transmitted from the program to store the transmitted data in the cache memory. Next, the storage unit responds to an input of a request for flashing transmitted from the program to store, in the disk device, the data stored in the cache memory.
    Type: Grant
    Filed: May 20, 2004
    Date of Patent: August 28, 2007
    Assignee: Hitachi, Ltd.
    Inventors: Hiroyasu Kiba, Nobuo Kawamura
  • Patent number: 7254686
    Abstract: Provided are a method, system, and article of manufacture, wherein a request is received for switching a logical volume from one state to another state, wherein the logical volume is in a mirrored state if data corresponding to the logical volume is mirrored from a first storage to a second storage, and wherein the logical volume is in a non-mirrored state if the data corresponding to the logical volume is not mirrored from the first storage to the second storage. A determination is made as to whether to perform the switching, in response to receiving the request.
    Type: Grant
    Filed: March 31, 2005
    Date of Patent: August 7, 2007
    Assignee: International Business Machines Corporation
    Inventors: Shah Mohammad Rezaul Islam, Thomas Charles Jarvis, Matthew Joseph Kalos, Robert Akira Kubo
  • Patent number: 7237069
    Abstract: An arrangement and method for update of configuration cache data in a disk storage subsystem in which a cache memory (110) is updated using two-phase (220, 250) commit technique. This provides the advantage that known changes to the subsystem do not require an invalidate/rebuild style operation on the cache. This is especially important where a change will invalidate the entire cache.
    Type: Grant
    Filed: June 20, 2003
    Date of Patent: June 26, 2007
    Assignee: International Business Machines Corporation
    Inventors: David John Carr, Michael John Jones, Andrew Key, Robert Bruce Nicholson, William James Scales, Barry Douglas Whyte
  • Patent number: 7233880
    Abstract: A temperature sensitive memory, such as a ferroelectric polymer memory, may be utilized as a disk cache memory in one embodiment. If the temperature begins to threaten shutdown, the memory may be transitioned from a write-back to a write-through cache memory. In such case, the system is ready for shutdown without the loss of critical data.
    Type: Grant
    Filed: September 11, 2003
    Date of Patent: June 19, 2007
    Assignee: Intel Corporation
    Inventors: Richard L. Coulson, Brian A. Leete
  • Patent number: 7234028
    Abstract: A multiprocessor system may include multiple processors and multiple caches associated with the processors. The system may employ a memory snarfing technique to reduce writes to the system (or main) memory. Cache-ownership capable agents, e.g., agents with write-back caches, may snarf the data (obtain the cache line) if the required cache line is in a valid state in the agent's cache.
    Type: Grant
    Filed: December 31, 2002
    Date of Patent: June 19, 2007
    Assignee: Intel Corporation
    Inventors: Samantha J. Edirisooriya, Sujat Jamil, David E. Miner, R. Frank O'Bleness, Steven J. Tu
  • Patent number: 7231497
    Abstract: In one embodiment, the present invention includes a method for writing data to a disk if inserting the data into a cache, such as a disk cache associated with the disk, would cause a threshold of dirty data in the cache to be met or exceeded. Further, in certain embodiments, the cache may store data according to a first cache policy and a second cache policy. A determination of whether to store data according to the first or second policies may be dependent upon an amount of dirty data in the cache, in certain embodiments. In certain embodiments, the cache may include at least one portion reserved for clean data.
    Type: Grant
    Filed: June 15, 2004
    Date of Patent: June 12, 2007
    Assignee: Intel Corporation
    Inventors: Sanjeev N. Trika, John I. Garney, Michael K. Eschmann
  • Patent number: 7228385
    Abstract: A processing unit for a multiprocessor data processing system includes a store-through upper level cache, an instruction sequencing unit that fetches instructions for execution, at least one instruction execution unit that executes a store-conditional instruction to determine a store target address, a store queue that, following execution of the store-conditional instruction, buffers a corresponding store operation, sequencer logic associated with the store queue. The sequencer logic, responsive to receipt of a latency indication indicating that resolution of the store-conditional operation as passing or failing is subject to significant latency, invalidates, prior to resolution of the store-conditional operation, a cache line in the store-through upper level cache to which a load-reserve operation previously bound.
    Type: Grant
    Filed: October 14, 2004
    Date of Patent: June 5, 2007
    Assignee: International Business Machines Corporation
    Inventors: Guy Lynn Guthrie, Sheldon B. Levenstein, William John Starke, Derek Edward Williams
  • Patent number: 7219197
    Abstract: A cache memory, comprising: a data storage capable of storing data which requires consistency of data with a main memory; and a storage controller which controls to store data which does not require consistency of data with said main memory in an arbitrary data region in said data storage.
    Type: Grant
    Filed: October 30, 2003
    Date of Patent: May 15, 2007
    Assignee: Kabushiki Kaisha Toshiba
    Inventor: Tsutomu Hatakeyama
  • Patent number: 7216202
    Abstract: One embodiment of the present invention provides a system that facilitates avoiding locks by speculatively executing critical sections of code. During operation, the system allows a process to speculatively execute a critical section of code within a program without first acquiring a lock associated with the critical section. If the process subsequently completes the critical section without encountering an interfering data access from another process, the system commits changes made during the speculative execution, and resumes normal non-speculative execution of the program past the critical section. Otherwise, if an interfering data access from another process is encountered during execution of the critical section, the system discards changes made during the speculative execution, and attempts to re-execute the critical section.
    Type: Grant
    Filed: February 24, 2004
    Date of Patent: May 8, 2007
    Assignee: Sun Microsystems, Inc.
    Inventors: Shailender Chaudhry, Marc Tremblay, Quinn A. Jacobson
  • Patent number: 7200717
    Abstract: A processing unit for a multiprocessor data processing system includes a processor core including a store-through upper level cache, an instruction sequencing unit that fetches instructions for execution, a data register, and at least one instruction execution unit coupled to the instruction sequencing unit that concurrently executes multiple threads of instructions. The processor core, responsive to the at least one instruction execution unit executing a load-reserve instruction in a first thread that binds to a load target address in the store-through upper level cache during a reservation hazard window associated with a conflicting store-conditional operation of a second thread, causes a subsequent store-conditional operation of the first thread to a store target address matching the load target address to fail if the store-conditional operation of the second thread succeeds.
    Type: Grant
    Filed: October 14, 2004
    Date of Patent: April 3, 2007
    Assignee: International Business Machines Corporation
    Inventors: Guy Lynn Guthrie, Sheldon B. Levenstein, William John Starke, Derek Edward Williams
  • Patent number: 7197604
    Abstract: A processing unit for a multiprocessor data processing system includes a processor core including a store-through upper level cache, an instruction sequencing unit that fetches instructions for execution, a data register, and at least one instruction execution unit. The instruction execution unit, responsive to receipt of a load-reserve instruction from the instruction sequencing unit, executes the load-reserve instruction to determine a load target address. The processor core, responsive to the execution of the load-reserve instruction, performs a corresponding load-reserve operation by accessing the store-through upper level cache utilizing the load target address to cause data associated with the load target address to be loaded from the store-through upper level cache into the data register and by establishing a reservation for a reservation granule including the load target address.
    Type: Grant
    Filed: October 14, 2004
    Date of Patent: March 27, 2007
    Assignee: International Business Machines Corporation
    Inventors: Guy Lynn Guthrie, Sheldon B. Levenstein, William John Starke, Derek Edward Williams
  • Patent number: 7194587
    Abstract: A microprocessor and a related compiler support a local cache block flush instruction in which an execution unit of a processor determines an effective address. The processor forces all pending references to a cache block corresponding to the determined effective address to commit to the cache subsystem. If the referenced cache line is modified in the local cache (the cache subsystem corresponding to the processor executing the instruction), it is then written back to main memory. If the referenced block is valid in the local cache it is invalidated, but only in the local cache. If the referenced block is not valid in the local cache, there is no invalidation. Remote processors receiving a local cache block flush instruction from another processor via the system ignore the instruction.
    Type: Grant
    Filed: April 24, 2003
    Date of Patent: March 20, 2007
    Assignee: International Business Machines Corp.
    Inventors: John David McCalpin, Balaram Sinharoy, Dereck Edward Williams, Kenneth Lee Wright
  • Patent number: 7185029
    Abstract: Method and apparatus for expanding usable space for an application data file. A control file is maintained with control structures that indicate available and allocated portions of usable space in the data file, along with quantities of available space in portions of the data file. Access to the control structures is limited while the file is undergoing expansion. Space is allocated in the control file for new versions of control structures, and the contents of the control structures are copied to the space for the new versions of the control structures. Pointers that reference the control structures and that are maintained in the control file are updated to reference the new versions of the first and second control structures.
    Type: Grant
    Filed: June 27, 2003
    Date of Patent: February 27, 2007
    Assignee: Unisys Corporation
    Inventors: Scott L. Titus, Sherry L. Crandall
  • Patent number: 7177987
    Abstract: Systems and method are disclosed for providing responses for different cache coherency protocols. One embodiment may comprise a system that includes a first node employing a first cache coherency protocol. A detector associated with the first node detects a condition based on responses provided by the first node to requests provided according to a second cache coherency protocol, the second cache coherency protocol being different from the first cache coherency protocol. The first node provides a response to a given one of the requests to the first node that varies based on the condition detected by the detector.
    Type: Grant
    Filed: January 20, 2004
    Date of Patent: February 13, 2007
    Assignee: Hewlett-Packard Development Company, L.P.
    Inventors: Stephen R. Van Doren, Gregory Edward Tierney, Simon C. Steely, Jr.
  • Patent number: 7162625
    Abstract: The present invention discloses an information handling system that reduces POST time in a boot operation. The information handling system includes a processor, a memory and a BIOS unit. The BIOS also includes memory test pointer and a test block size indicator. During the POST routine, the BIOS tests at least one test block during at least one idle period.
    Type: Grant
    Filed: March 10, 2003
    Date of Patent: January 9, 2007
    Assignee: Dell Products L.P.
    Inventors: Jonathan T. Stern, Marc D. Alexander
  • Patent number: 7159079
    Abstract: A splittable/connectible bus 140 and a network 1000 for transmitting coherence transactions between CPUs are provided between the CPUs, and a directory 160 and a group setup register 170 for storing bus-splitting information are provided in a directory control circuit 150 that controls cache invalidation. The bus is dynamically set to a split or connected state to fit a particular execution form of a job, and the directory control circuit uses the directory in order to manage all inter-CPU coherence control sequences in response to the above setting, while at the same time, in accordance with information of the group setup register, omitting dynamically bus-connected CPU-to-CPU cache coherence control, and conducting only bus-split CPU-to-CPU cache coherence control through the network. Thus, decreases in performance scalability due to an inter-CPU coherence-processing overhead are relieved in a system having multiple CPUs and guaranteeing inter-CPU cache coherence by use of hardware.
    Type: Grant
    Filed: July 8, 2004
    Date of Patent: January 2, 2007
    Assignee: Hitachi, Ltd.
    Inventor: Naonobu Sukegawa
  • Patent number: 7136969
    Abstract: Described is a technique for maintaining local cache coherency between endpoints using the connecting message fabric. Processors in a data storage system communicate using the message fabric. Each processor is an endpoint having its own local cache storage in which portions of global memory may be locally cached. A write through caching technique is described. Each local cache line of data of each processor is either in an invalid or a shared state. When a write to global memory is performed by a processor (write miss or a write hit), the following are performed atomically: the global memory is updated, other processor's local cache lines of the data are invalidated, verification of invalidation is received by the processor, and the processor's local copy is updated. Other processors' cache lines are invalidated by transmission of an invalidate command by the processor. A processor updates its local cache lines upon the next read miss or write miss of the updated cacheable global memory.
    Type: Grant
    Filed: June 17, 2003
    Date of Patent: November 14, 2006
    Assignee: EMC Corporation
    Inventors: Brett D. Niver, Steven R. Chalmer, Steven T. McClure
  • Patent number: 7120752
    Abstract: A cache coherent distributed shared memory multi-processor computer system is provided with a memory controller which includes a recall unit. The recall unit allows selective forced write-backs of dirty cache lines to the home memory. After a request is posted in the recall unit, a recall (“flush”) command is issued which forces the owner cache to write-back the dirty cache line to be flushed. The memory controller will inform the recall unit as each recall operation is completed. The recall unit operation will be interrupted when all flush requests are completed.
    Type: Grant
    Filed: September 5, 2003
    Date of Patent: October 10, 2006
    Assignee: Hewlett-Packard Development Company, L.P.
    Inventors: Kenneth Mark Wilson, Fong Pong, Lance Russell, Tung Nguyen, Lu Xu
  • Patent number: 7103722
    Abstract: A method and structure is disclosed for constraining cache line replacement that processes a cache miss in a computer system. The invention contains a K-way set associative cache that selects lines in the cache for replacement. The invention constrains the selecting process so that only a predetermined subset of each set of cache lines is selected for replacement. The subset has at least a single cache line and the set size is at least two cache lines. The invention may further select between at least two cache lines based upon which of the cache lines was accessed least recently. A selective enablement of the constraining process is based on a free space memory condition of a memory associated with the cache memory. The invention may further constrain cache line replacement based upon whether the cache miss is from a non-local node in a nonuniform-memory-access system. The invention may also process cache writes so that a predetermined subset of each set is known to be in an unmodified state.
    Type: Grant
    Filed: July 22, 2002
    Date of Patent: September 5, 2006
    Assignee: International Business Machines Corporation
    Inventors: Caroline Benveniste, Peter Franaszek, John T. Robinson, Charles Schulz
  • Patent number: 7082500
    Abstract: A method and apparatus for a coherence mechanism that supports a distributed memory programming model in which processors each maintain their own memory area, and communicate data between them. A hierarchical programming model is supported, which uses distributed memory semantics on top of shared memory nodes. Coherence is maintained globally, but caching is restricted to a local region of the machine (a “node” or “caching domain”). A directory cache is held in an on-chip cache and is multi-banked, allowing very high transaction throughput. Directory associativity allows the directory cache to map contents of all caches concurrently. References off node are converted to non-allocating references, allowing the same access mechanism (a regular load or store) to be used for both for intra-node and extra-node references. Stores (Puts) to remote caches automatically update the caches instead of invalidating the caches, allowing producer/consumer data sharing to occur through cache instead of through main memory.
    Type: Grant
    Filed: February 18, 2003
    Date of Patent: July 25, 2006
    Assignee: Cray, Inc.
    Inventors: Steven L. Scott, Abdulla Bataineh
  • Patent number: 7076614
    Abstract: A system and method of optimizing system memory bus bandwidth in a computer system. The system prepares to receive first data from system memory in accordance with at least one read request by evicting previously stored second data to a write back buffer. The at least one read request is then issued consecutively to system memory via the system memory bus. After issuance of the at least one read request, at least one write request is issued consecutively to send the second data in the write back buffer to the system memory via the system memory bus. The consecutive issuance of read and write requests avoids read-to-write and write-to-read bubbles that occur when alternating read and write requests are issued to system memory.
    Type: Grant
    Filed: June 29, 2001
    Date of Patent: July 11, 2006
    Assignee: Intel Corporation
    Inventors: Zeev Sperber, Gabi Malka, Gilad Shmueli, Shmulik Branski
  • Patent number: 7076613
    Abstract: The invention provides a cache management system comprising in various embodiments pre-load and pre-own functionality to enhance cache efficiency in shared memory distributed cache multiprocessor computer systems. Some embodiments of the invention comprise an invalidation history table to record the line addresses of cache lines invalidated through dirty or clean invalidation, and which is used such that invalidated cache lines recorded in an invalidation history table are reloaded into cache by monitoring the bus for cache line addresses of cache lines recorded in the invalidation history table. In some further embodiments, a write-back bit associated with each L2 cache entry records when either a hit to the same line in another processor is detected or when the same line is invalidated in another processor's cache, and the system broadcasts write-backs from the selected local cache only when the line being written back has a write-back bit that has been set.
    Type: Grant
    Filed: January 21, 2004
    Date of Patent: July 11, 2006
    Assignee: Intel Corporation
    Inventors: Jih-Kwon Peir, Steve Y. Zhang, Scott H. Robinson, Konrad Lai, Wen-Hann Wang
  • Patent number: 7039908
    Abstract: Location types in unification-based, flow-insensitive “points-to” analyses represent three kinds of sets of abstract memory locations in a three-level subtyping system. The data constructor for “middle” and “upper” kinds of location types has a reader and a writer component. The “middle” kind of location types represent singleton sets of abstract locations. The reader and writer components of the “middle” type are both the same location type. The “upper” kind of location types represent complex sets of abstract locations. The reader and writer components of the “upper” type may be dissimilar location types. The reader components represent the set of values that may be read from memory via a pointer represented by the location type containing the reader component. The writer components represent the set of values that may be written to memory via a pointer represented by the location type containing the writer component.
    Type: Grant
    Filed: June 26, 2002
    Date of Patent: May 2, 2006
    Assignee: Microsoft Corporation
    Inventor: Bjarne Steensgaard
  • Patent number: 7003631
    Abstract: A system comprises a plurality of nodes, each node comprising one or more coherent agents coupled to an interconnect. Ownership of a coherency block accessed by a transaction on the interconnect is transferred responsive to transmission of the address on the interconnect. The system further includes a second interconnect to which the plurality of nodes are coupled, wherein ownership of a coherency block is transferred on the second interconnect responsive to a transmission of the data comprising the coherency block on the second interconnect. A first node of the plurality of nodes issues a coherency command on the second interconnect to fetch the coherency block in response to the transaction on the interconnect within the first node, whereby ownership transfers within the first node prior to ownership transferring from another one of the plurality of nodes to the first node.
    Type: Grant
    Filed: October 11, 2002
    Date of Patent: February 21, 2006
    Assignee: Broadcom Corporation
    Inventor: Joseph B. Rowlands
  • Patent number: 6996683
    Abstract: A system comprises a first processor having cache memory, a second processor having cache memory and a coherence buffer that can be enabled and disabled by the first processor. The system also comprises a memory subsystem coupled to the first and second processors. For a write transaction originating from the first processor, the first processor enables the second processor's coherence buffer, and information associated with the first processor's write transaction is stored in the second processor's coherence buffer to maintain data coherency between the first and second processors.
    Type: Grant
    Filed: July 31, 2003
    Date of Patent: February 7, 2006
    Assignee: Texas Instruments Incorporated
    Inventors: Gerard Chauvel, Serge Lasserre, Maija Kuusela, Dominique D'Inverno
  • Patent number: 6993631
    Abstract: A first node includes a first cache and a plurality of coherent agents. In response to a transaction to a coherency block by a first coherent agent of the plurality of coherent agents, the first node is configured to fetch the coherency block from another node. The other node is configured to record a state in which the coherency block is provided to the first node. The first cache is designated to store the state of the coherency block recorded by the first node.
    Type: Grant
    Filed: October 11, 2002
    Date of Patent: January 31, 2006
    Assignee: Broadcom Corporation
    Inventor: Joseph B. Rowlands
  • Patent number: 6988170
    Abstract: A chip-multiprocessing system with scalable architecture, including on a single chip: a plurality of processor cores; a two-level cache hierarchy; an intra-chip switch; one or more memory controllers; a cache coherence protocol; one or more coherence protocol engines; and an interconnect subsystem. The two-level cache hierarchy includes first level and second level caches. In particular, the first level caches include a pair of instruction and data caches for, and private to, each processor core. The second level cache has a relaxed inclusion property, the second-level cache being logically shared by the plurality of processor cores. Each of the plurality of processor cores is capable of executing an instruction set of the ALPHA™ processing core. The scalable architecture of the chip-multiprocessing system is targeted at parallel commercial workloads.
    Type: Grant
    Filed: October 24, 2003
    Date of Patent: January 17, 2006
    Assignee: Hewlett-Packard Development Company, L.P.
    Inventors: Luiz Andre Barroso, Kourosh Gharachorloo, Andreas Nowatzyk
  • Patent number: 6983348
    Abstract: Methods and Apparatus for cache-to-cache transfers upon snooping a cache interconnect to detect a memory read request associated with a cache memory block cached in a first cache and a second cache. Upon a cache hit to a first and a second cache, supplying the cached memory block from the first cache or the second cache to a third cache based on a predetermined arbitration hierarchy.
    Type: Grant
    Filed: November 25, 2002
    Date of Patent: January 3, 2006
    Assignee: Intel Corporation
    Inventors: Sujat Jamil, Hang Nguyen, Samantha J. Edirisooriya, David E. Miner, R. Frank O'Bleness, Steven J. Tu
  • Patent number: 6981097
    Abstract: A cache coherence mechanism for a shared memory computer architecture employs tokens to designate a particular node's rights with respect to writing or reading a block of shared memory. The token system provides a correctness substrate to which a number of performance protocols may be freely added.
    Type: Grant
    Filed: March 14, 2003
    Date of Patent: December 27, 2005
    Assignee: Wisconsin Alumni Research Foundation
    Inventors: Milo M. K. Martin, Mark Donald Hill, David Allen Wood
  • Patent number: 6973544
    Abstract: A method and apparatus for providing cache coherence in a multiprocessor system which is configured into two or more nodes with memory local to each node and a tag and address crossbar system and a data crossbar system which interconnects all nodes. The disclosure is applicable to multiprocessor computer systems which utilize system memory distributed over more than one node and snooping of data states in each node which utilizes memory local to that node. Global snooping is used to provide a single point of serialization of data tags. A central crossbar controller examines cache state tags of a given address line for all nodes simultaneously and issues an appropriate reply back to a node requesting data while generating other data requests to any other node in the system for the purpose of maintaining cache coherence and supplying the requested data. The system utilizes memory local to each node by dividing such memory into local and remote categories which are mutually exclusive for any given cache line.
    Type: Grant
    Filed: January 9, 2002
    Date of Patent: December 6, 2005
    Assignee: International Business Machines Corporation
    Inventors: Thomas B. Berg, Bruce M. Gilbert, Thomas D. Lovett
  • Patent number: 6965973
    Abstract: A node is coupled to receive a coherency command and coupled to a memory, wherein the node includes a directory configured to track a state of a first number of coherency blocks less than a total number of the coherency blocks in the memory. The directory is configured to allocate a first entry to track the state of the first coherency block responsive to the coherency command. If the first entry is currently tracking the state of a second coherency block, the second node is configured to generate one or more coherency commands to invalidate the second coherency block in a plurality of nodes.
    Type: Grant
    Filed: October 11, 2002
    Date of Patent: November 15, 2005
    Assignee: Broadcom Corporation
    Inventors: Joseph B. Rowlands, James B. Keller
  • Patent number: 6941423
    Abstract: Apparatus and methods relating to a cache coherency administrator. The cache coherency administrator can include a display to indicate a cache coherency status of a non-volatile cache.
    Type: Grant
    Filed: December 22, 2003
    Date of Patent: September 6, 2005
    Assignee: Intel Corporation
    Inventor: Richard L. Coulson
  • Patent number: 6938127
    Abstract: A processor-based system includes a system firmware program that is transferred to a designated region of a memory in response to an initialization (e.g., a boot sequence). When initialized, for example using at least one programmable register, the system firmware program reconfigures the memory from a first configuration (i.e., a default state) to a second configuration to receive a pattern. By changing the memory to the second configuration, the memory may be declared to be a write combining type. For storage into the memory, the pattern may be buffered in one or more data blocks. Once the pattern is stored, the memory may be restored to the first configuration. Buffered data transfers of the pattern may selectively clear the memory thus providing a rapid booting of the processor-based system.
    Type: Grant
    Filed: September 25, 2001
    Date of Patent: August 30, 2005
    Assignee: Intel Corporation
    Inventors: Terry M. Fletcher, William A. Stevens
  • Patent number: 6938129
    Abstract: One embodiment of a distributed memory module cache includes tag memory and associated logic implemented at the memory controller end of a memory channel. The memory controller is coupled to at least one memory module by way of a point-to-point interface. The data cache and associated logic are located in one or more buffer components on each of the memory modules.
    Type: Grant
    Filed: December 31, 2001
    Date of Patent: August 30, 2005
    Assignee: Intel Corporation
    Inventor: Howard S. David
  • Patent number: 6934806
    Abstract: A method (and system) of improving performance of a multiprocessor system, includes proactively flushing and locking an arbitrarily-sized region of memory out of caches of the multiprocessor system.
    Type: Grant
    Filed: September 23, 2002
    Date of Patent: August 23, 2005
    Assignee: International Business Machines Corporation
    Inventors: Thomas Basilio Genduso, Richard Edwin Harper
  • Patent number: 6931485
    Abstract: A cache memory comprises a group of cache pages which are normal data areas, and a group of work pages each for saving DIRTY data in an associated cache page. When write data transferred from a host computer is written into said cache memory, a host interface controller saves data in a portion in which a write range overlaps a DIRTY range into a work page, and retrieves the data saved in the work page to an associated cache page when a transfer of the write data is interrupted. A disk interface controller writes back the DIRTY data on said cache memory.
    Type: Grant
    Filed: August 12, 2002
    Date of Patent: August 16, 2005
    Assignee: NEC Corporation
    Inventor: Takao Aigo
  • Patent number: 6925537
    Abstract: A computer system has a plurality of processor nodes and a plurality of input/output nodes. Each processor node includes a multiplicity of processor cores, an interface to a local memory system and a protocol engine implementing a predefined cache coherence protocol. Each processor core has an associated memory cache for caching memory lines of information. Each input/output node includes no processor cores, an input/output interface for interfacing to an input/output bus or input/output device, a memory cache for caching memory lines of information and an interface to a local memory subsystem. The local memory subsystem of each processor node and input/output node stores a multiplicity of memory lines of information. The protocol engine of each processor node and input/output node implements the same predefined cache coherence protocol.
    Type: Grant
    Filed: October 31, 2003
    Date of Patent: August 2, 2005
    Assignee: Hewlett-Packard Development Company, L.P.
    Inventors: Luiz A. Barroso, Kourosh Gharachorloo, Andreas Nowatzyk, Mosur K. Ravishankar, Robert J. Stets, Jr.
  • Patent number: 6922756
    Abstract: Described herein is a cache coherency protocol having five states: Modified, Exclusive, Shared, Invalid and Forward (MESIF). The MESIF cache coherency protocol includes a Forward (F) state that designates a single copy of data from which further copies can be made. A cache line in the F state is used to respond to request for a copy of the cache line. In one embodiment, the newly created copy is placed in the F state and the cache line previously in the F state is put in the Shared (S) state, or the Invalid (I) state. Thus, if the cache line is shared, one shared copy is in the F state and the remaining copies of the cache line are in the S state.
    Type: Grant
    Filed: December 19, 2002
    Date of Patent: July 26, 2005
    Assignee: Intel Corporation
    Inventors: Herbert H. J. Hum, James R. Goodman
  • Patent number: 6898676
    Abstract: A computer system supports a first set of processors configured to operate in a dirty-shared mode and a second set of processors configured to operate in a non dirty-shared mode. The computer system may include a portion of shared memory that stores data in terms of memory blocks. Upon receiving a snoop read requesting shared access to a memory block held in a dirty state, a dirty-shared processor sends a copy of the memory block to the originator of the snoop read and retains a valid a copy of the block in its cache. Non dirty-shared processors additionally write the block back to main memory in response to snoop reads and may also send a copy to the originator. Until the write back is completed at main memory or another processor is granted write access to the block, the dirty-shared and non dirty-shared processors preferably continue to satisfy sub-sequent snoop reads targeting the memory block.
    Type: Grant
    Filed: October 3, 2002
    Date of Patent: May 24, 2005
    Assignee: Hewlett-Packard Development Company, L.P.
    Inventors: Stephen R. Van Doren, Gregory E. Tierney
  • Patent number: 6889294
    Abstract: A switched architecture for dual, independent storage controllers overcomes latency and coherency problems by an inter-controller command interchange scheme. The switched architecture permits a read or write command to be presented to either storage controller to effect data transfer on the same or the other storage controller. Communication between the two storage controllers is effected through internal Infiniband switches.
    Type: Grant
    Filed: October 29, 2001
    Date of Patent: May 3, 2005
    Assignee: LSI Logic Corporation
    Inventors: Charles E. Nichols, Keith W. Holt
  • Patent number: 6880047
    Abstract: In a processor module having a local software visible data memory and a write through cache connected to an external memory space external to the processor module over a bus, a method and apparatus for supplementing the local software visible data memory utilizing the write through cache is disclosed which may comprise: a processor bus interface and memory management unit adapted to detect a processor write operation to a preselected location in the external memory space that is not currently a cached address line, that will cause a cache miss, to decode the write operation to the preselected external memory space location as a RAM emulation write operation and to place in the cache pseudo data at the respective address line in the cache, without executing a fetch and store from the actual external memory location in response to the cache miss.
    Type: Grant
    Filed: March 28, 2003
    Date of Patent: April 12, 2005
    Assignee: Emulex Design & Manufacturing Corporation
    Inventor: Thomas Vincent Spencer
  • Patent number: 6880042
    Abstract: A data storage apparatus that stores data series provided from an exterior system in a recording medium using a buffer memory to reduce the processing time of the data storage. The data series are temporarily stored in the buffer memory separately. If a group of the data series is determined to make a series of data as a whole, the group of the data series is combined, and transferred to the recording medium at one time in order to reduce seek time and rotation wait time from those that would be required if the group of the data series is transferred to the recording medium separately.
    Type: Grant
    Filed: April 12, 2002
    Date of Patent: April 12, 2005
    Assignee: Fujitsu Limited
    Inventor: Takeshi Hashimoto
  • Patent number: 6868483
    Abstract: In a multiprocessor data processing system including: a main memory; at least first and second shared caches; a system bus coupling the main memory and the first and second shared caches; at least four processors having respective private caches with the first and second private caches being coupled to the first shared cache and to one another via a first internal bus, and the third and fourth private caches being coupled to the second shared cache and to one another via a second internal bus; method and apparatus for preventing hogging of ownership of a gateword stored in the main memory and which governs access to common code/data shared by processes running in at least three of the processors. Each processor includes a gate control flag. A gateword CLOSE command, establishes ownership of the gateword in one processor and prevents other processors from accessing the code/data guarded until the one processor has completed its use.
    Type: Grant
    Filed: September 26, 2002
    Date of Patent: March 15, 2005
    Assignee: Bull HN Information Systems Inc.
    Inventors: Wayne R. Buzby, Charles P. Ryan
  • Patent number: 6857049
    Abstract: A method of and apparatus for improving the efficiency of a data processing system employing a multiple level cache memory system. The efficiencies result from managing the process of flushing old data from the second level cache memory. In the present invention, the second level cache memory is a store-in memory. Therefore, when data is to be deleted from the second level cache memory, a determination is made whether the data has been modified by the processor. If the data has been modified, the data must be rewritten to lower level memory. To free the second level cache memory for storage of the newly requested data, the data to be flush is loaded into a flush buffer for storage during the rewriting process.
    Type: Grant
    Filed: August 30, 2000
    Date of Patent: February 15, 2005
    Assignee: Unisys Corporation
    Inventors: Donald C. Englin, Kelvin S. Vartti, James L. Federici
  • Patent number: 6857045
    Abstract: In a first aspect, a method is provided for updating a compressed cache. The method includes the steps of (1) initiating an update routine for replacing first data stored within the cache with second data, wherein a first section of a compressed data band stored in the cache includes the first data and a second section of the compressed data band includes third data; and (2) in response to initiating the update routine, replacing the first data within the compressed data band with the second data without decompressing the third data. Numerous other aspects are provided.
    Type: Grant
    Filed: January 25, 2002
    Date of Patent: February 15, 2005
    Assignee: International Business Machines Corporation
    Inventors: Robert Edward Galbraith, Adrian Cuenin Gerhard, Brian James King, William Joseph Maitland, Jr., Timothy Jerry Schimke
  • Patent number: 6850957
    Abstract: A data access method in an information system including a plurality of data utilization systems connected to a network N1, and a plurality of data provision systems connected to a network, wherein a data utilization system transmits a request for utilizing data in a data provision system to another data utilization system P2 through the network N1, the data utilization system, upon receipt of the data utilization request, transmits a processing execution request corresponding to the data utilization request to the data provision system through the network N2, the data provision system, upon receipt of the execution request, executes processing corresponding to this execution request and transmits necessary data to the data provision system through the network, and the data provision system receives the data and stores the same.
    Type: Grant
    Filed: March 11, 2003
    Date of Patent: February 1, 2005
    Assignee: Hitachi, Ltd.
    Inventors: Norifumi Nishikawa, Shoichi Minami, Takanobu Otani, Yasuharu Namba, Hirotaka Mizuno
  • Patent number: 6842822
    Abstract: A system (10) uses shared resources (44, 54) to perform conventional load/store operations, to preload custom data from external sources, and to efficiently manage error handling in a cache (42, 52, 48). A reload buffer (44, 54) is used in conjunction with a cache (42, 52) operating in a write-through mode to permit lower level memory in the system to operate in a more efficient write-back mode. A control signal (70) selectively enables the pushing of data into the cache (42, 52, 48) from an external source. The control signal utilizes one or more attribute fields that provide functional information and define memory characteristics.
    Type: Grant
    Filed: April 5, 2002
    Date of Patent: January 11, 2005
    Assignee: Freescale Semiconductor, Inc.
    Inventors: Michael D. Snyder, Magnus K. Bruce, Jamshed Jalal, Thomas A. Hoy
  • Patent number: 6832295
    Abstract: Methods and systems for efficiently managing an application's address space are provided. An application requests physical memory beyond what is permissibly provided by the operating system. The application's virtual memory addresses are efficiently managed so that when access to a memory buffer is desired by the application, the logic required to map the buffer into the application's address space has been substantially completed prior to the application's request. Additionally, a method and system efficiently flushes, in advance of a need by an application, a virtual memory address from the virtual-to-physical memory caches (e.g., TLBs) of multiple processors on which the application is running.
    Type: Grant
    Filed: April 19, 2001
    Date of Patent: December 14, 2004
    Assignee: NCR Corporation
    Inventor: Thomas E. Stonecypher
  • Patent number: 6829682
    Abstract: A method for controlling the operation of a dynamic random access memory (DRAM) system, the DRAM system having a plurality of memory cells organized into rows and columns, is disclosed. In an exemplary embodiment of the invention, the method includes enabling a destructive read mode, the destructive read mode for destructively reading a bit of information stored within an addressed DRAM memory cell. The destructively read bit of information is temporarily stored into a temporary storage device. A delayed write back mode is enabled, the delayed write back mode for restoring the bit of information back to the addressed DRAM memory cell at a later time. The execution of the delayed write back mode is then scheduled, depending upon the availability of space within the temporary storage device.
    Type: Grant
    Filed: April 26, 2001
    Date of Patent: December 7, 2004
    Assignee: International Business Machines Corporation
    Inventors: Toshiaki Kirihata, Sang Hoo Dhong, Hwa-Joon Oh, Matthew Wordeman
  • Patent number: 6812929
    Abstract: A graphics system may include a frame buffer that includes several sets of one or more memory banks and a cache. The frame buffer may load data from one of the memory banks into the cache in response to receiving a cache fill request. Each set of memory banks is accessible independently of each other set of memory banks. A frame buffer interface coupled to the frame buffer includes a plurality of cache fill request queues. Each cache fill request queue is configured to store one or more cache fill requests targeting a corresponding one of the sets of memory banks. The frame buffer interface is configured to select a cache fill request from one of the cache fill request queues that stores cache fill requests targeting a set of memory banks that is not currently being accessed and to provide the selected cache fill request to the frame buffer.
    Type: Grant
    Filed: March 11, 2002
    Date of Patent: November 2, 2004
    Assignee: Sun Microsystems, Inc.
    Inventors: Michael G. Lavelle, Ewa M. Kubalska, Yan Yan Tang