Addressing Cache Memories Patents (Class 711/3)
  • Patent number: 7366820
    Abstract: A circuit for driving and controlling a second cache that is incorporated in a processor and comprises a plurality of RAM. The circuit comprises a second-cache control unit 1A and a chip-enable control unit 61. The second-cache control unit 1A receives an access request for an access to the second cache and designates some of the RAMs, which need not operate, in accordance with the type or address of the access request, or both. The chip-enable control unit 61 outputs an intra-macro stop-instructing signal to the RAMs that have been designated by the second-cache control unit 1A.
    Type: Grant
    Filed: November 30, 2004
    Date of Patent: April 29, 2008
    Assignee: Fujitsu Limited
    Inventors: Mie Tonosaki, Tomoyuki Okawa
  • Patent number: 7366801
    Abstract: Disclosed is a technique for buffering work requests. It is determined that a work request is about to be placed into an in-memory structure. When the in-memory structure is not capable of storing the work request, a work request ordering identifier for the work request is stored into an overflow structure. When the in-memory structure is capable of storing the work request, a recovery stub is generated for the work request ordering identifier, and the recovery stub is stored into the in-memory structure.
    Type: Grant
    Filed: January 30, 2004
    Date of Patent: April 29, 2008
    Assignee: International Business Machines Corporation
    Inventors: Ramani Mathrubutham, Adwait Sathye, Chendong Zou
  • Patent number: 7366819
    Abstract: A cache unit multiple memory towers, which can be independently addressed. Cache lines are divided among multiple towers. Furthermore, physical lines of the memory towers are shared by multiple cache lines. Because each tower can be addressed independently and the cache lines are split among the towers, unaligned cache access can be performed. Furthermore, power can be conserved because not all the memory towers of the cache unit needs to be activated during some memory access operations.
    Type: Grant
    Filed: February 11, 2004
    Date of Patent: April 29, 2008
    Assignee: Infineon Technologies AG
    Inventor: Klaus J. Oberlaender
  • Patent number: 7355601
    Abstract: A CPU module includes a host element configured to perform a high-level host-related task, and one or more data-generating processing elements configured to perform a data-generating task associated with the high-level host-related task. Each data-generating processing element includes logic configured to receive input data, and logic configured to process the input data to produce output data.
    Type: Grant
    Filed: December 16, 2005
    Date of Patent: April 8, 2008
    Assignees: International Business Machines Corporation, Microsoft Corporation
    Inventors: Jeffrey A. Andrews, Nicholas R. Baker, J. Andrew Goossen, Russell D. Hoover, Eric O. Mejdrich, Sandra S. Woodward
  • Patent number: 7356627
    Abstract: A data handling device capable of operating in a system in which two or more devices are connected by a data bus for the transmission of communications therebetween, the data bus having two or more data lines and the device having: two or more data bus connectors, each for connection to a respective data line of the data bus; an identity acquisition unit capable of functioning in a first mode of operation of the device to receive data transmitted over the data bus and in response to the order in which the bits of one or more data words of a predetermined form are received on the data bus connectors during the first mode of operation determine an identity for the device and store the identity in an identity store of the device; and a data handling unit capable of functioning in a second mode of operation of the device to handle communications transmitted over the bus and that specify the identity stored in the data store as a destination.
    Type: Grant
    Filed: July 10, 2003
    Date of Patent: April 8, 2008
    Assignee: Nokia Corporation
    Inventors: Anssi Haverinen, Pekka Karppinen, Antti Latva-aho, Neil Webb
  • Publication number: 20080082720
    Abstract: A data processing system having debugging circuitry and a method for operating the data processing system is provided. In the system, a processor has a cache memory and is coupled to a system bus. An instruction is received which indicates an effective address. The instruction is executed and it is determined if the effective address results in a hit or a miss in the cache. If the effective address results in a hit, data associated with the effective address is provided from the cache to the system bus without modifying a state of the cache. The instruction allows real-time debugging circuits to be able to view the current value of one or more variables in memory that may be hidden from access due to cache hierarchy without modifying the value or impacting the current state of the cache.
    Type: Application
    Filed: September 28, 2006
    Publication date: April 3, 2008
    Inventor: William C. Moyer
  • Publication number: 20080082721
    Abstract: A virtual hint based data cache way prediction scheme, and applications thereof. In an embodiment, a processor retrieves data from a data cache based on a virtual hint value or an alias way prediction value and forwards the data to dependent instructions before a physical address for the data is available. After the physical address is available, the physical address is compared to a physical address tag value for the forwarded data to verify that the forwarded data is the correct data. If the forwarded data is the correct data, a hit signal is generated. If the forwarded data is not the correct data, a miss signal is generated. Any instructions that operate on incorrect data are invalidated and/or replayed.
    Type: Application
    Filed: October 11, 2006
    Publication date: April 3, 2008
    Applicant: MIPS Technologies, Inc.
    Inventors: Meng-Bing Yu, Era K. Nangia, Michael Ni, Vidya Rajagopalan
  • Patent number: 7353221
    Abstract: The invention relates to a method for the automatic retrieval of engineering data from installations. The engineering and runtime objects are described by a uniform object model. This allows the correspondence between engineering objects and runtime objects to be determined at object level and no information is lost as a result of the mapping. In addition, a direct communication between engineering and runtime objects can take place, which can be utilized when the method is carried out.
    Type: Grant
    Filed: March 9, 2000
    Date of Patent: April 1, 2008
    Assignee: Siemens Aktiengesellschaft
    Inventors: Norbert Becker, Georg Biehler, Matthias Diezel, Albrecht Donner, Dieter Eckardt, Manfred Krämer, Dirk Langkafel, Ralf Leins, Ronald Lange, Karsten Schneider, Helmut Windl
  • Patent number: 7353326
    Abstract: A flash memory device comprises a non-volatile memory core operatively connected to first and second buffer memories through a page buffer. The device further comprises a first register adapted to receive command and address information from a host system, a copy circuit adapted to copy the command and address information from the first register to a second register within a control logic circuit. The device alternately transfers information to the first and second buffer memories during a cache read operation comprising a plurality of data read operations.
    Type: Grant
    Filed: December 16, 2005
    Date of Patent: April 1, 2008
    Assignee: Samsung Electronics Co., Ltd.
    Inventors: Hyun-Duk Cho, Young-Joon Choi, Tae-Gyun Kim
  • Patent number: 7350016
    Abstract: A high speed DRAM cache architecture. One disclosed embodiment includes a multiplexed bus interface to interface with a multiplexed bus. A cache control circuit drives a row address portion of an address on the multiplexed bus interface and a command to open a memory page containing data for a plurality of ways. The cache control circuit subsequently drives a column address including at least a way indicator to the multiplexed bus interface.
    Type: Grant
    Filed: January 10, 2006
    Date of Patent: March 25, 2008
    Assignee: Intel Corporation
    Inventors: Kuljit S. Bains, Herbert Hum, John Halbert
  • Patent number: 7349942
    Abstract: A file-mapping method and system can better manage the number of items (i.e., files, subdirectories, or a combination of them) within any single directory within a storage medium. The method and system can be used to limit the number of items within the directory, direct content and content components to different directories, and provide an internally recognizable name for the filename. When searching the storage medium, time is not wasted searching what appears to be a seemingly endless list of filenames or subdirectory names within any single directory. A client computer can have requests for content fulfilled quicker, and the network site can reduce the load on hardware or software components. While the method and system can be used for nearly any storage media, the method and system are well suited for cache memories used with web servers.
    Type: Grant
    Filed: December 31, 2002
    Date of Patent: March 25, 2008
    Assignee: Vignette Corporation
    Inventors: Conleth S. O'Connell, Jr., Eric R. White, N. Isaac Rajkumar
  • Publication number: 20080065809
    Abstract: Process, cache memory, computer product and system for loading data associated with a requested address in a software cache. The process includes loading address tags associated with a set in a cache directory using a Single Instruction Multiple Data (SIMD) operation, determining a position of the requested address in the set using a SIMD comparison, and determining an actual data value associated with the position of the requested address in the set.
    Type: Application
    Filed: September 7, 2006
    Publication date: March 13, 2008
    Inventor: Alexandre E. Eichenberger
  • Publication number: 20080065810
    Abstract: A system and method for recording trace data while conserving cache resources includes generating trace data and creating a cache line containing the trace data. The cache line is assigned a tag which corresponds to an intermediate address designated for processing the trace data. The cache line also contains embedded therein an actual address in memory for storing the trace data, which may include either a real address or a virtual address. The cache line may be received at the intermediate address and parsed to read the actual address. The trace data may then be written to a location in memory corresponding to the actual address. By routing trace data through a designated intermediate address, CPU cache may be conserved for other more important or more frequently accessed data.
    Type: Application
    Filed: September 8, 2006
    Publication date: March 13, 2008
    Inventors: Carol Spanel, Andrew Dale Walls
  • Patent number: 7340562
    Abstract: A distributed data cache includes a number of cache memory units or register files each having a number of cache lines. Data buses are connected with the cache memory units. Each data bus is connected with a different cache line from each cache memory unit. A number of data address generators are connected with a memory unit and the data buses. The data address generators retrieve data values from the memory unit and communicate the data values to the data buses without latency. The data address generators are adapted to simultaneously communicate each of the data values to a different data bus without latency. The cache memory units are adapted to simultaneously load data values from the data buses, with each data value loaded into a different cache line without latency.
    Type: Grant
    Filed: July 24, 2003
    Date of Patent: March 4, 2008
    Assignee: NVIDIA Corporation
    Inventor: Amit Ramchandran
  • Patent number: 7334088
    Abstract: A computer system and a method for enhancing the cache prefetch behavior. A computer system including a processor, a main memory, a prefetch controller, a cache memory, a prefetch buffer, and a main memory, wherein each page in the main memory has associated with it a tag, which is used for controling the prefetching of a variable subset of lines from this page as well as lines from at least one other page. And, coupled to the processor is a prefetch controller, wherein the prefetch controller responds to the processor determining a fault (or miss) occurred to a line of data by fetching a corresponding line of data with the corresponding tag, with the corresponding tag to be stored in the prefetch buffer, and sending the corresponding line of data to the cache memory.
    Type: Grant
    Filed: December 20, 2002
    Date of Patent: February 19, 2008
    Assignee: International Business Machines Corporation
    Inventor: Peter Franaszek
  • Patent number: 7330961
    Abstract: A cache control method controls data sharing conditions in a processor system having multi-level caches that are in an inclusion relationship. The cache control method indexes an upper level cache by a real address and indexes a lower level cache by a virtual address, and prevents a real address that is referred by a plurality of different virtual addresses from being registered a plurality of times within the same cache. A plurality of virtual addresses are registrable within the upper level cache, so as to relax the data sharing conditions.
    Type: Grant
    Filed: December 13, 2004
    Date of Patent: February 12, 2008
    Assignee: Fujitsu Limited
    Inventors: Hideki Sakata, Tatsumi Nakada, Eiki Ito, Akira Nodomi
  • Publication number: 20080028152
    Abstract: Caching techniques for storing instructions, constant values, and other types of data for multiple software programs are described. A cache provides storage for multiple programs and is partitioned into multiple tiles. Each tile is assignable to one program. Each program may be assigned any number of tiles based on the program's cache usage, the available tiles, and/or other factors. A cache controller identifies the tiles assigned to the programs and generates cache addresses for accessing the cache. The cache may be partitioned into physical tiles. The cache controller may assign logical tiles to the programs and may map the logical tiles to the physical tiles within the cache. The use of logical and physical tiles may simplify assignment and management of the tiles.
    Type: Application
    Filed: July 25, 2006
    Publication date: January 31, 2008
    Inventors: Yun Du, Guofang Jiao, Chun Yu, De Dzwo Hsu
  • Patent number: 7318076
    Abstract: A comprehensive Memory-Resident Database Management System architecture and implementation is disclosed where a) all data storage in database is in memory, b) all database management functionality is in memory except backup and recovery storage based on hard disk, c) all database objects including tables, views, triggers, procedures, functions . . . are in memory, d) all data security is at memory level, e) all data indexed, sorted and searched based on the selected search algorithms are in memory, f) all logging functionality to refresh in-between transactions reside in memory. Therefore, the processing speed of database query will take advantage of speed of RAM (Random Access Memory) without sacrifice any speed losing on Hard disk I/O. Not only the whole database is running in RAM, but also all or pre-selected database table columns are default to be indexed. All internal processing of database query is based on indexed columns.
    Type: Grant
    Filed: January 22, 2003
    Date of Patent: January 8, 2008
    Assignee: Intelitrac, Inc.
    Inventors: Tianlong Chen, Jonathan Vu
  • Patent number: 7318114
    Abstract: In one embodiment, a system includes a plurality of memory controllers each coupled between a processor and a respective memory. Each memory controller includes a plurality of decoders. Each decoder of a given memory controller may be independently configurable to match on a respective value of a subset of address bits such as the low-order cache line address bits, for example, received in a memory request. In one specific implementation, the number of decoders included on a given memory controller may correspond to the number of ways in which the memory is interleaved.
    Type: Grant
    Filed: October 29, 2004
    Date of Patent: January 8, 2008
    Assignee: Sun Microsystems, Inc.
    Inventor: Robert E. Cypher
  • Patent number: 7313667
    Abstract: Fields of entries are mapped into new values with these mapped values combined into mapped entries for use in lookup operations typically for packet processing. One implementation identifies a list including multiple items each having a first field and a second field. The unique first and second fields of each item are respectively mapped to mapped first and second fields. A first associative memory is programmed with the unique first fields, and a first stage memory is programmed with the mapped first fields at corresponding locations. A second associative memory is programmed with the unique second fields, a second stage memory is programmed with the mapped second fields at corresponding locations. A second stage associative memory is then programmed, using the mapped first and second fields, with entries corresponding to one or more of the original multiple items.
    Type: Grant
    Filed: August 5, 2002
    Date of Patent: December 25, 2007
    Assignee: Cisco Technology, Inc.
    Inventors: Venkateshwar Rao Pullela, Dileep Kumar Devireddy, Shyamsundar Rao Pullela
  • Patent number: 7308536
    Abstract: A method for informing a processor of a selected order of transmission of data to the processor. The method comprises the steps of coupling system components via a data bus to the processor to effectuate data transfer, determining at the system component logic the order in which to transmit data to the processor, and issuing to the data bus a selected order bit concurrent with the data, wherein the selected order bit alerts the processor of the order and the data is transmitted in that order. In a preferred embodiment, the system component is the cache and the method may involve receiving at the cache a preference of ordering for a read address/request from the processor. The preference order logic of the cache controller or a preference order logic component evaluates the preference of ordering desired by comparing the processor preference with other preferences, including cache order preference.
    Type: Grant
    Filed: January 22, 2005
    Date of Patent: December 11, 2007
    Assignee: International Business Machines Corporation
    Inventors: Ravi Kumar Arimilli, Vicente Enrique Chung, Guy Lynn Guthrie, Jody Bern Joyner
  • Patent number: 7293139
    Abstract: To correctly generate LAs even when out-of-order occurs. In a disk array system according to the present invention, a control unit includes: a host input/output unit that exchanges data and a control signal with a host connected to a disk array system; a disk input/output unit that exchanges data and a control signal with a disk; a cache memory that temporarily stores the data during transfer between the host input/output unit and the disk input/output unit in units of segments that are each formed by a plurality of blocks having a predetermined size; an MPU that controls an operation of the control unit by executing a control program; and a cache controller that controls input/output of the data into/from the cache memory, and the host input/output unit transfers, to the cache controller, transfer information containing the guarantee codes of the first blocks of the segments relating to the data transfer.
    Type: Grant
    Filed: October 8, 2004
    Date of Patent: November 6, 2007
    Assignee: Hitachi, Ltd.
    Inventors: Akira Nishimoto, Naoto Matsunami, Masahiko Sato, Hidemi Baba
  • Patent number: 7290116
    Abstract: An apparatus and method for mapping memory addresses to reduce or avoid conflicting memory accesses in memory systems such as cache memories is described in connection with a multithreaded multiprocessor chip. A CMT processor reduces the probability of hot-spots in cache operations by hashing certain bits of a physical cache address to form a hashed cache address. By using exclusive OR functionality to hash the index bits, an efficient address transformation is achieved for indexing into an L2 cache memory.
    Type: Grant
    Filed: June 30, 2004
    Date of Patent: October 30, 2007
    Assignee: Sun Microsystems, Inc.
    Inventors: Greg F. Grohoski, Manish Shah, John D. Davis, Ashley Saulsbury, Cong Fu, Venkatesh Iyengar, Jenn-Yuan Tsai, Jeff Gibson
  • Publication number: 20070250666
    Abstract: An instruction cache system having a virtually tagged instruction cache which, from a software program perspective, operates as if it were a physically tagged instruction cache is disclosed. The instruction cache system also includes a means for address translation which is responsive to an address translation invalidate instruction and a control logic circuit. The control logic circuit is configured to invalidate an entry in the virtually tagged instruction cache in response to the address translation invalidate instruction.
    Type: Application
    Filed: August 31, 2006
    Publication date: October 25, 2007
    Inventors: Thomas Andrew Sartorius, Rodney Wayne Smith, Daren Eugene Streett
  • Patent number: 7269825
    Abstract: A method and system to provide improved operation of a software emulated platform through the use of a relative address translation cache containing a plurality of cache sets. Each address translation contained within the relative address translation cache contains a Base Descriptor Register selection, a relative address limit check, an access privilege check, generation of an absolute address and a real address, and breakpoint discovery.
    Type: Grant
    Filed: December 27, 2002
    Date of Patent: September 11, 2007
    Assignee: Unisys Corporation
    Inventor: James W. Adcock
  • Patent number: 7269663
    Abstract: Apparatus and methods are provided for a Network Address Translation (NAT)-aware unified cache. According to one embodiment, multiple packet-processing applications distributed among one or more processors of a network device share one or more unified caches without requiring a cache synchronization protocol. When a packet is received at the network device, a first packet-processing application, such as NAT or another application that modifies part of the packet header upon which a cache lookup key is based, tags the packet with a cache lookup key based upon the original contents of the packet header. Then, other packet-processing applications attempting to access the cache entry from the unified cache subsequent to the tagging by the first packet-processing application use the tag (the cache lookup key generated by the first packet-processing application) rather than determining the cache lookup key based upon the current contents of the packet header.
    Type: Grant
    Filed: September 28, 2001
    Date of Patent: September 11, 2007
    Assignee: Intel Corporation
    Inventors: Niels Beier, Jacob M. Christensen, Kjeld B. Egevang
  • Patent number: 7266651
    Abstract: A method for in-place interleaving and de-interleaving of a memory includes, in one embodiment, generating a new address corresponding to a new location in the memory by performing a bit-wise XOR operation on a number of bits of a first portion of a current address and a number of bits of a different portion of the current address. The current address corresponds to a current location in the memory. In addition, the method includes performing a data swap on data stored at the current location with data stored at the new location.
    Type: Grant
    Filed: September 7, 2004
    Date of Patent: September 4, 2007
    Assignee: Sun Microsystems, Inc.
    Inventor: Robert E. Cypher
  • Patent number: 7254680
    Abstract: To enhance the speed of first access (read access different in word line from the previous access) to a multi-bank memory, multi-bank memory macro structures are used. Data are held in a sense amplifier for every memory bank. When access is hit to the held data, data latched by the sense amplifier are output to thereby enhance the speed of first access to the memory macro structures. Namely, each memory bank is made to function as a sense amplifier cache. To enhance the hit ratio of such a sense amplifier cache more greatly, an access controller self-prefetches the next address (an address to which a predetermined offset has been added) after access to a memory macro structure so that data in the self-prefetched address are preread by a sense amplifier in another memory bank.
    Type: Grant
    Filed: December 20, 2006
    Date of Patent: August 7, 2007
    Assignee: Renesas Technology Corp.
    Inventors: Kazushige Ayukawa, Seiji Miura, Jun Satoh, Takao Watanabe, Kazumasa Yanagisawa, Yusuke Kanno, Hiroyuki Mizuno
  • Patent number: 7246202
    Abstract: In a computer system that concurrently executes a plurality of tasks, a cache controller eliminates the possibility of the hit rate of one task dropping due to execution of another task. A region managing unit manages a plurality of regions in a cache memory in correspondence with a plurality of tasks. An address receiving unit receives, from a microprocessor, an address of a location in a main memory at which data to be accessed to execute one of the plurality of tasks is stored. A caching unit acquires, if the data to be accessed is not stored in the cache memory, a data block including the data from the main memory, and stores the acquired data block into a region in the cache memory corresponding to the task.
    Type: Grant
    Filed: November 10, 2003
    Date of Patent: July 17, 2007
    Assignee: Matsushita Electric Industrial Co., Ltd.
    Inventors: Hiroyuki Morishita, Tokuzo Kiyohara
  • Patent number: 7243192
    Abstract: A single memory element, which may consist of general purpose SRAM chips, implements both tag and data cache memory functions, resulting in an efficient, low cost implementation of high speed external cache memory. In one embodiment, a bank of general purpose RAM used by a microprocessor as an external cache memory stores both cache tags and cache data in separate memory locations. During a read operation, the microprocessor retrieves a cache tag from the bank of general purpose RAM before retrieving corresponding cache data therefrom, and compares the cache tag to a memory address to assess whether requested data resides in the cache memory. The comparison may also be performed concurrently by a system controller device, which may abort the main memory access if a cache hit is detected.
    Type: Grant
    Filed: June 27, 2006
    Date of Patent: July 10, 2007
    Assignee: PMC-Sierra, Inc.
    Inventors: Michael DeMar Taylor, John R. Kinsel, Tom Riordan
  • Patent number: 7240143
    Abstract: A low-latency storage memory system is built from multiple memory units such as high-density random access memory. Multiple access ports provide access to memory units and send the resultant data out interface ports. The memory units communicate with the access ports through an interconnected mesh to allow any access port to access any memory unit. An address virtualization mechanism using address translators allows any access port of the memory storage system to access requested data as abstract objects without regard for the physical memory unit that the data is located in, or the absolute memory addresses within that memory unit.
    Type: Grant
    Filed: December 8, 2003
    Date of Patent: July 3, 2007
    Assignee: Broadbus Technologies, Inc.
    Inventors: Robert G. Scheffler, Michael A. Kahn, Frank J. Stifter
  • Publication number: 20070150640
    Abstract: An integrated circuit 2 is provided with a cache memory 6 and a cache controller 10 coupled to the cache memory 6 via a cache memory interface 8. The cache controller supports different cache memory sizes. The cache memory 6 includes masking logic 14 responsive to cache memory size signals to form masked address values for use in accessing the cache memory 6. The cache controller 10 can be part of a processor core 4 which may be hardened in its design and yet able to cope with variable cache memory sizes since the masking logic 14 is provided within the cache memory 6 outside of the hardened periphery of the processor core 4.
    Type: Application
    Filed: December 6, 2006
    Publication date: June 28, 2007
    Applicant: ARM LIMITED
    Inventors: Florent Begon, Vladimir Vasekin, Andrew Christophe Rose, Nicolas Chaussade
  • Patent number: 7213126
    Abstract: A processor includes a trace cache memory coupled to a trace generator. The trace generator may be configured to generate a plurality of traces each including one or more operations that may be decoded from one or more instructions. Each of the operations may be associated with a respective address. The trace cache memory is coupled to the trace generator and includes a plurality of entries each configured to store one of the traces. The trace generator may be further configured to restrict each of the traces to include only operations having respective addresses that fall within one or more predetermined ranges of contiguous addresses.
    Type: Grant
    Filed: January 12, 2004
    Date of Patent: May 1, 2007
    Assignee: Advanced Micro Devices, Inc.
    Inventors: Gregory William Smaus, Raghuram S. Tupuri, Gerald D. Zuraski, Jr.
  • Patent number: 7209989
    Abstract: Method and apparatus relating to an acknowledgement mechanism in an interconnected subsystem architecture. After a data message is transmitted, the transmitting device may transmit an acknowledge message on a channel undefined by the inter-subsystem communication protocol associated with the interconnection architecture. The undefined channel may be generated using a device-specific identifier on a channel defined to be a broadcast channel. The receiving device may acknowledge the transfer by switching a sideband control signal line.
    Type: Grant
    Filed: September 29, 2004
    Date of Patent: April 24, 2007
    Assignee: Intel Corporation
    Inventor: Peter D. Mueller
  • Patent number: 7203790
    Abstract: Caches are associated with processors, such multiple caches may be associated with multiple processors. This association may be different for different main memory address ranges. The techniques of the invention are flexible, as a system designer can choose how the caches are associated with processors and main memory banks, and the association between caches, processors, and main memory banks may be changed while the multiprocessor system is operating. Cache coherence may or may not be maintained. An effective address in an illustrative embodiment comprises an interest group and an associated address. The interest group is an index into a cache vector table and an entry into the cache vector table and the associated address is used to select one of the caches. This selection can be pseudo-random. Alternatively, in some applications, the cache vector table may be eliminated, with the interest group directly encoding the subset of caches to use.
    Type: Grant
    Filed: August 5, 2005
    Date of Patent: April 10, 2007
    Assignee: International Business Machines Corporation
    Inventors: Monty Montague Denneau, Peter Heiner Hochschild, Henry Stanley Warren, Jr.
  • Patent number: 7181568
    Abstract: The disclosure includes a description of a content addressable memory (CAM) that includes at least one tag input and at least one random access memory. The CAM also includes circuitry to perform multiple read operations of the at least one random access memory with multiple, different ones of the read operations specifying an address based on different subsets of tag bits. The circuitry includes digital logic circuitry coupled to the at least one random access memory to determine whether a lookup tag matches a subset of the different subsets of tag bits.
    Type: Grant
    Filed: March 25, 2004
    Date of Patent: February 20, 2007
    Assignee: Intel Corporation
    Inventors: Mark B. Rosenbluth, Gilbert Wolrich
  • Patent number: 7177986
    Abstract: A cache is configured to receive direct access transactions. Each direct access transaction explicitly specifies a cache storage entry to be accessed in response to the transaction. The cache may access the cache storage entry (bypassing the normal tag comparisons and hit determination used for memory transactions) and either read the data from the cache storage entry (for read transactions) or write data from the transaction to the cache storage entry (for write transactions). The direct access transactions may, for example, be used to perform testing of the cache memory. As another example, direct access transactions may be used to perform a reset of the cache (by writing known data to each cache entry). In embodiments employing error checking and correction (ECC) mechanisms, direct access write transactions could also be used to recover from uncorrectable ECC errors, by overwriting the failing data to eliminate the errant data.
    Type: Grant
    Filed: December 30, 2003
    Date of Patent: February 13, 2007
    Assignee: Broadcom Corporation
    Inventors: Joseph B. Rowlands, Michael P. Dickman
  • 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: 7174405
    Abstract: A method and system for updating registers by performing an atomic read-modify-write operations initiated by a host over a host/daughtercard bus. A field in the write command determines whether data included in the write command is written to a targeted register or used as a mask to set or clear selected bits in a word held in the targeted register.
    Type: Grant
    Filed: June 6, 2003
    Date of Patent: February 6, 2007
    Assignee: Cisco Technology, Inc.
    Inventors: Leo Dumov, Eddie B. Collins, Jr.
  • Patent number: 7171540
    Abstract: One embodiment of the present invention provides an object-addressed memory hierarchy that is able to access objects stored outside of main memory. During operation, the system receives a request to access an object, wherein the request includes an object identifier for the object that is used to reference the object within the object-addressed memory hierarchy. Next, the system uses the object identifier to retrieve an object table entry associated with the object. The system then examines a valid bit within the object table entry. If the valid bit indicates the object is located in main memory, the system uses a physical address in the object table entry to access the object in main memory. On the other hand, if the valid bit indicates that the object is not located in main memory, the system relocates the object into memory from a location outside of memory, and then accesses the object in main memory.
    Type: Grant
    Filed: October 31, 2003
    Date of Patent: January 30, 2007
    Assignee: Sun Microsystems, Inc.
    Inventors: Matthew L. Seidl, Gregory M. Wright, Mario I. Wolczko
  • Patent number: 7165151
    Abstract: To enhance the speed of first access (read access different in word line from the previous access) to a multi-bank memory, multi-bank memory macro structures are used. Data are held in a sense amplifier for every memory bank. When access is hit to the held data, data latched by the sense amplifier are output to thereby enhance the speed of first access to the memory macro structures. Namely, each memory bank is made to function as a sense amplifier cache. To enhance the hit ratio of such a sense amplifier cache more greatly, an access controller self-prefetches the next address (an address to which a predetermined offset has been added) after access to a memory macro structure so that data in the self-prefetched address are preread by a sense amplifier in another memory bank.
    Type: Grant
    Filed: December 14, 2004
    Date of Patent: January 16, 2007
    Assignee: Renesas Technology Corp.
    Inventors: Kazushige Ayukawa, Seiji Miura, Jun Satoh, Takao Watanabe, Kazumasa Yanagisawa, Yusuke Kanno, Hiroyuki Mizuno
  • Patent number: 7162589
    Abstract: According to the present invention, methods and apparatus are provided for increasing the efficiency of data access in a multiple processor, multiple cluster system. Mechanisms for transmitting memory cancels to memory controllers in the various clusters of a multiple cluster system are provided. In one example, memory cancels are transmitted between clusters when it is determined that a memory line associated with a probe is dirty. The memory cancel directs the memory controller to no longer proceed with a data fetch from main memory. In another example, memory cancels are transmitted at a home cluster based on information in a coherence directory in order to more quickly end a data fetch.
    Type: Grant
    Filed: December 16, 2002
    Date of Patent: January 9, 2007
    Assignee: Newisys, Inc.
    Inventors: David B. Glasco, Rajesh Kota
  • Patent number: 7151544
    Abstract: Cache access is optimized through identifying redundant accesses (read-requests made to identical system memory addresses), and issuing a single cache data request for each group of redundant accesses. One embodiment of the invention is a graphics system comprising a system memory that stores texture data, coupled to a texture cache that is coupled to one or more texture pipes. Each pipe processes information for a respective spatial bin. A cache preprocessor receives read-requests for texels from the texture pipes and generates a control code corresponding to each read-request, indicating whether the read-request is a redundant access, and linking redundant accesses to a single cache data request. The cache preprocessor provides the control codes and the read-requests to a cache arbiter, which issues the codes and the cache data requests to the texture cache.
    Type: Grant
    Filed: May 16, 2003
    Date of Patent: December 19, 2006
    Assignee: Sun Microsystems, Inc.
    Inventor: Brian D. Emberling
  • Patent number: 7146468
    Abstract: A cache memory that completes an in-flight operation with another cache that collides with a snoop operation, rather than canceling the in-flight operation. Operations to the cache comprise a query pass and one or more finish passes. When the cache detects a snoop query intervening between the query pass and a finish pass of the in-flight operation, the cache generates a more up-to-date status for the snoop query that takes into account the tag status to which the in-flight finish pass will update the implicated cache line. This is necessary because otherwise the snoop query might not see the affect of the in-flight finish pass status update. This allows the in-flight finish pass to complete instead of being cancelled and the snoop finish pass to correctly update the status after the in-flight finish pass, and to provide modified data from the cache line to the externally snooped transaction.
    Type: Grant
    Filed: October 7, 2002
    Date of Patent: December 5, 2006
    Assignee: IP-First, LLC.
    Inventor: James N. Hardage, Jr.
  • Patent number: 7143239
    Abstract: A cache structure comprising a plurality of tag arrays and a plurality of data arrays, the tag arrays each configured to point to lines of data in multiple ones of the plurality of data arrays, wherein multiple tag arrays are searched in parallel for data that may be contained in the data arrays.
    Type: Grant
    Filed: August 7, 2003
    Date of Patent: November 28, 2006
    Assignee: Hewlett-Packard Development Company, L.P.
    Inventor: Eric DeLan
  • 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: 7130968
    Abstract: A single memory element, which may consist of general purpose SRAM chips, is used to implement both tag and data cache memory functions, resulting in an efficient, low cost implementation of high speed external cache memory. In one embodiment, a bank of general purpose random access memory used by a microprocessor as an external cache memory stores both cache tags and cache data in separate memory locations. During a read operation, the microprocessor retrieves a cache tag from the bank of general purpose random access memory before retrieving corresponding cache data therefrom, and compares the cache tag to a memory address to assess whether requested data resides within the cache memory. The microprocessor preferably accesses the bank of general purpose random access memory using a memory mapping function which maps the memory address into a cache tag address and a cache data address.
    Type: Grant
    Filed: December 11, 2003
    Date of Patent: October 31, 2006
    Assignee: PMC-Sierra, Inc.
    Inventors: Michael DeMar Taylor, John R. Kinsel, Tom Riordan
  • Patent number: 7130956
    Abstract: A storage system including hierarchical cache metadata storages includes a cache, a first metadata storage, and a second metadata storage. In one embodiment, the cache may store a plurality of data blocks in a first plurality of locations. The first metadata storage may include a plurality of entries that stores metadata including block addresses of data blocks within the cache. The second metadata storage may include a second plurality of locations for storing metadata including the block addresses identifying the data blocks within the cache. The metadata stored within the second metadata storage may also include pointers to the data blocks within the cache. The cache and the first metadata storage are non-volatile storages. However, the second metadata storage may be a volatile storage.
    Type: Grant
    Filed: February 10, 2004
    Date of Patent: October 31, 2006
    Assignee: Sun Microsystems, Inc.
    Inventor: Raghavendra J. Rao
  • Patent number: 7130957
    Abstract: A storage system includes a cache and a collection of metadata, organized by their associations with regard to the data they represent. In one embodiment, the cache stores data blocks in a first plurality of locations. A first metadata storage stores metadata including block addresses of data blocks within the cache. A second metadata storage includes a second plurality of locations, each for storing metadata including a block address identifying a corresponding data block within the cache. The metadata stored within the second metadata storage also includes a first pointer to the corresponding data block. In addition, at least one of the second locations may store a second pointer to another of the second locations that stores metadata corresponding to a related data block. The cache and the first metadata storage are non-volatile storages; however, the second metadata storage may be a volatile storage.
    Type: Grant
    Filed: February 10, 2004
    Date of Patent: October 31, 2006
    Assignee: Sun Microsystems, Inc.
    Inventor: Raghavendra J. Rao
  • Patent number: 7124236
    Abstract: A microprocessor including a level two cache memory including asynchronously accessible cache blocks. The microprocessor includes an execution unit coupled to a cache memory subsystem which includes a plurality of storage blocks, each configured to store a plurality of data units. Each of the plurality of storage blocks may be accessed asynchronously. In addition, the cache subsystem includes a plurality of tag units which are coupled to the plurality of storage blocks. Each of the tag units may be configured to store a plurality of tags each including an address tag value which corresponds to a given unit of data stored within the plurality of storage blocks. Each of the plurality of tag units may be accessed synchronously.
    Type: Grant
    Filed: November 26, 2002
    Date of Patent: October 17, 2006
    Assignee: Advanced Micro Devices, Inc.
    Inventors: Teik-Chung Tan, Mitchell Alsup, Jerry D. Moench