Cache Pipelining Patents (Class 711/140)
-
Patent number: 7206230Abstract: Methods and circuitry are present for improving performance in non-volatile memory devices by allowing the inter-phase pipelining of operations with the same memory, allowing, for example, a read operation to be interleaved between the pulse and verify phases of a write operation. In the exemplary embodiment, the two operations share data latches. In specific examples, at the data latches needed for verification in a multi-level write operation free up, they can be used to store data read from another location during a read performed between steps in the multi-level write. In the exemplary embodiment, the multi-level write need only pause, execute the read, and resume the write at the point where it paused.Type: GrantFiled: April 1, 2005Date of Patent: April 17, 2007Assignee: SanDisk CorporationInventors: Yan Li, Emilio Yero
-
Patent number: 7197603Abstract: A pipelined processor includes a branch acceleration technique which is based on an improved branch cache. The improved branch cache minimizes or eliminates delays caused by branch instructions, especially data-dependent unpredictable branches. The improved branch cache avoids stalls by providing data that will be inserted into the pipeline stages that would otherwise have stalled when a branch is taken. Special architectural features and control structures are supplied to minimize the amount of information that must be cached by recognizing that only selected types of branches should be cached and by making use of available cycles that would otherwise be wasted. The improved branch cache supplies the missing information to the pipeline in the place of the discarded instructions, completely eliminating the pipeline stall. This technique accelerates performance, especially in real-time code that must evaluate data-dependent conditions and branch accordingly.Type: GrantFiled: September 25, 2003Date of Patent: March 27, 2007Assignee: Micron Technology, Inc.Inventor: Eric M. Dowling
-
Patent number: 7181575Abstract: Systems, methodologies, media, and other embodiments associated with cache systems are described. One exemplary system embodiment includes an instruction cache comprising single-ported memories. The example system can further include a cache control logic configured to process cache events of different types that may be received by the instruction cache, and being configured with a multi-stage pipeline that coordinates processing of the cache events to the single-ported memories. The multi-stage pipeline can have different stages pre-assigned as read/write stages for the cache events to minimize access conflicts between the cache events.Type: GrantFiled: September 29, 2004Date of Patent: February 20, 2007Assignee: Hewlett-Packard Development Company, L.P.Inventor: Richard L. Carlson
-
Patent number: 7177987Abstract: 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: GrantFiled: January 20, 2004Date of Patent: February 13, 2007Assignee: Hewlett-Packard Development Company, L.P.Inventors: Stephen R. Van Doren, Gregory Edward Tierney, Simon C. Steely, Jr.
-
Patent number: 7171535Abstract: A general-purpose serial operation pipeline realizes a complicated processing flow with an extemporaneous and explosive amount of operations with respect to various data sizes. A plurality of arithmetic-logic circuits (SALCs) that are controlled individually, and that can be operated together with another arithmetic-logic circuit (SALC) are connected in a cascade manner to form a serial operation pipeline. At least one of the plural SALCs includes a line for outputting data from an upstream SALC to a downstream SALC, a line for feeding back reverse data from the downstream SALC to the upstream SALC, and latch circuits for latching the data on the respective lines, thereby being capable of feeding back data from an arbitrary SALC to another SALC.Type: GrantFiled: April 1, 2003Date of Patent: January 30, 2007Assignee: Sony Computer Entertainment Inc.Inventor: Junichi Naoi
-
Patent number: 7162618Abstract: The invention relates to a method to increase the visibility of effective address computation in pipelined architectures. In this method, the current effective address delay of each instruction in the pipeline is calculated. The current effective address delay is used to determine if a valid effective address is available for each instruction. If a valid effective address for an instruction is not available, it is computed if possible.Type: GrantFiled: December 13, 2001Date of Patent: January 9, 2007Assignee: Texas Instruments IncorporatedInventors: Edward P. Kuzemchak, Christine M. Cipriani, Christophe Favergeon-Borgialli, Mary P. Luley
-
Patent number: 7155574Abstract: A high-speed memory management technique that minimizes clobber in sequentially accessed memory, including but not limited to, for example, a trace cache. The method includes selecting a victim set from a sequentially accessed memory; selecting a victim way for the selected victim set; reading a next way pointer from a trace line of a trace currently stored in the selected victim way, if the selected victim way has the next way pointer; and writing a next line of the new trace into the selected victim way over the trace line of the currently stored trace. The method also includes forcing a replacement algorithm of next set to select a victim way of the next set using the next way pointer, if the trace line of the currently stored trace is not an active trace tail line.Type: GrantFiled: May 1, 2006Date of Patent: December 26, 2006Assignee: Intel CorporationInventors: Peter J. Smith, Satish K. Damaraju, Subramaniam Maiyuran
-
Patent number: 7146468Abstract: 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: GrantFiled: October 7, 2002Date of Patent: December 5, 2006Assignee: IP-First, LLC.Inventor: James N. Hardage, Jr.
-
Patent number: 7143240Abstract: A cost-adaptive cache including the ability to dynamically maximize performance in a caching system by preferentially caching data according to the cost of replacing data. The cost adaptive cache includes a partitioned real cache, wherein data is stored in each of the real cache partitions according to its replacement cost. Also, the cost-adaptive cache includes a partitioned phantom cache to provide a directory of information pertaining to blocks of data which do not qualify for inclusion in the real cache. The partitions in the phantom cache correspond to the partitions in the real cache. Moreover, the cost-adaptive cache maximizes performance in a system by preferentially caching data that is more costly to replace. In one embodiment of the system, the cost of replacing a block of data is estimated by the previous cost incurred to fetch that block of data.Type: GrantFiled: October 31, 2003Date of Patent: November 28, 2006Assignee: International Business Machines CorporationInventors: Windsor Wee Sun Hsu, Honesty Cheng Young
-
Patent number: 7133968Abstract: An in-order single-issue microprocessor detects data cache misses generated by instructions behind a stalled instruction in the microprocessor pipeline and issues memory requests on the processor bus for the missing data so as to overlap with resolution of the stalled instruction, which may also be a cache miss. The data cache has pipeline stages that parallel portions of the main microprocessor pipeline. Replay buffers are employed to save the state, i.e., instructions and associated data addresses, of the parallel data cache stages so that instructions above the stalled instruction can continue to proceed down through the data cache and access the cache memory to generate cache misses. The data cache pipeline stages are restored upon detection that the stall will terminate. The bus requests for the missing data are issued only if the stalled instruction does not access a memory-mapped I/O region of the memory address space.Type: GrantFiled: September 3, 2002Date of Patent: November 7, 2006Assignee: IP-First, LLC.Inventors: Daruis D. Gaskins, G. Glenn Henry, Rodney E. Hooker
-
Patent number: 7130968Abstract: 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: GrantFiled: December 11, 2003Date of Patent: October 31, 2006Assignee: PMC-Sierra, Inc.Inventors: Michael DeMar Taylor, John R. Kinsel, Tom Riordan
-
Patent number: 7124262Abstract: A processor-based device (e.g., a wireless device) may include a processor and a semiconductor memory (e.g., a flash memory) to selectively pipeline and prefetch memory data, such as executable data, in one embodiment, using prefetch/pipeline logic that may enable storage of a first indication associated with executable data at a first storage location and a second indication associated with executable data at a second storage location. Upon retrieval, the prefetch/pipeline logic may selectively perform at least one of pipelining and prefetching of the executable data associated with the second storage location based on the first indication.Type: GrantFiled: November 20, 2002Date of Patent: October 17, 2006Assignee: Intel CorporationInventor: Zafer Kadi
-
Patent number: 7111127Abstract: One or more methods and systems of improving the performance of consecutive data stores into a cache memory are presented. In one embodiment, the method comprises writing data into a data array associated with at least a first store instruction while accessing a tag in a tag array associated with at least a second store instruction. In one embodiment, the method of processing consecutive data stores into a cache memory comprises updating a first data in a cache memory while concurrently looking up or identifying a second data in the cache memory. In one embodiment, a system for improving the execution of data store instructions of a CPU comprises a pipelined buffer using a minimal number of data entries, a data array used for updating data associated with a first store instruction, and a tag array used for looking up data associated with a second store instruction.Type: GrantFiled: December 23, 2003Date of Patent: September 19, 2006Assignee: Broadcom CorporationInventors: Kimming So, Chia-Cheng Choung, BaoBinh Truong, Yook-Khai Cheok
-
Patent number: 7085885Abstract: A cache memory that notifies other functional blocks in the microprocessor that a miss has occurred potentially N clocks sooner than the conventional method, where N is the number of stages in the cache pipeline. The multiple pass cache receives a plurality of busy indicators from resources needed to complete various transaction types. The cache distinguishes between a first set of resources needed to complete a transaction when its cache line address hits in the cache and a second set of resources needed to complete the transaction type when the address misses in the cache. If none of the second set of resources for the type of the transaction type is busy on a miss, then the cache immediately signals a miss rather than retrying the transaction by sending it back through the cache pipeline and causing N additional clock cycles to occur before signaling the miss.Type: GrantFiled: October 7, 2002Date of Patent: August 1, 2006Inventor: James N. Hardage, Jr.
-
Patent number: 7073026Abstract: A microprocessor including a level two cache memory which supports multiple accesses per cycle. The microprocessor includes an execution unit coupled to a cache memory subsystem which includes a cache memory coupled to a plurality of buses. The cache memory includes a plurality of independently accessible storage blocks. The buses may be coupled to convey a plurality of cache access requests to each of the storage blocks. In response to the plurality of cache access requests being conveyed on the plurality of cache buses, different ones of the storage blocks are concurrently accessible.Type: GrantFiled: November 26, 2002Date of Patent: July 4, 2006Assignee: Advanced Micro Devices, Inc.Inventor: Mitchell Alsup
-
Patent number: 7039762Abstract: A microprocessor, having interleaved cache and two parallel processing pipelines adapted to access all of the interleaved cache. The microprocessor comprising: a cache directory for each of the parallel processing pipelines wherein each said cache directory is split according to the interleaved cache and interleaving of the cache directory is independent of address bits used for cache interleaving.Type: GrantFiled: May 12, 2003Date of Patent: May 2, 2006Assignee: International Business Machines CorporationInventors: Jennifer A. Navarro, Chung-Lung K. Shum, Aaron Tsai
-
Patent number: 7028141Abstract: The invention is aimed at providing a high-speed processor system capable of performing distributed concurrent processing without requiring modification of conventional programming styles. The processor system in accordance with the invention has a CPU, a plurality of parallel DRAMs, and a plurality of cache memories arranged in a hierarchical configuration. Each of the cache memories is provided with an MPU which is binarily-compatible with the CPU and which has a function to serve as a processor.Type: GrantFiled: April 20, 2004Date of Patent: April 11, 2006Assignee: Sony Computer Entertainment Inc.Inventor: Akio Ohba
-
Patent number: 7013366Abstract: A method and apparatus for satisfying load operations by accessing data from a store buffer is described herein. The present invention further relates to satisfying load operations faster than prior art techniques in most cases. Finally, the present invention provides an improved technique for satisfying load operations that does not significantly impact processor performance.Type: GrantFiled: March 26, 2002Date of Patent: March 14, 2006Assignee: Intel CorporationInventors: Rajesh B Patel, James David Dundas, Mukesh R. Patel
-
Patent number: 7003645Abstract: Liveness determination in a multinode data processing system is enhanced through the use of a shared nonvolatile memory, typically a disk, which is utilized in conjunction with defined transmission protocols to provide an independent communication path usable for both the transmission of node liveness information and for other, more general, data transfer purposes. This path is considered as having the same degree of importance as other network paths and liveness indications from the shared memory path are likewise considered at the same time as liveness indications from another path or paths.Type: GrantFiled: December 18, 2002Date of Patent: February 21, 2006Assignee: International Business Machines CorporationInventors: Felipe Knop, John R. Hare
-
Patent number: 7000081Abstract: A microprocessor apparatus is provided that enables write back and invalidation of a block of cache lines from memory. The apparatus includes translation logic and execution logic. The translation logic translates a block write back and invalidate instruction into a micro instruction sequence that directs a microprocessor to write back and invalidate a block of cache lines from cache to memory, where the number of cache lines in the block has been previously entered in a register in the microprocessor by a preceding micro instruction. The execution logic is coupled to the translation logic. The execution logic receives the micro instruction sequence, and issues transactions over a memory bus that writes back data corresponding to each of the cache lines within the block.Type: GrantFiled: February 12, 2003Date of Patent: February 14, 2006Assignee: IP-First, LLCInventor: Rodney E. Hooker
-
Patent number: 6996639Abstract: A method includes providing a prefetch cache of entries corresponding to communication rings stored in memory, the communication rings to store information passed from at least one first processing agent to at least one second processing agent. The method also includes detecting that one of the communication rings has an entry, and determining if the communication ring having an entry is to be prefetched. The method further includes prefetching information stored in the communication ring having an the entry by issuing a ring read operation that causes the information to be placed in a corresponding one of the entries in the prefetch cache.Type: GrantFiled: December 10, 2002Date of Patent: February 7, 2006Assignee: Intel CorporationInventor: Charles E. Narad
-
Patent number: 6996665Abstract: A hazard queue for a pipeline, such as a multiple-stage pipeline for transaction conversion, is disclosed. A transaction in the pipeline is determined to represent a hazard relative to another transaction, such as by evaluating the transaction against a hazard content-addressable memory (CAM). The hazard CAM can enforce various hazard rules, such as considering a transaction as active if it is referencing a memory line and is currently being processed within the pipeline, and ensuring that only one active transaction with a given coherent memory line is in the pipeline at a single time. In response to determining that a transaction is a hazard, the transaction is routed to a hazard queue, such as at the end of the pipeline. Once the hazard is released, the transaction re-enters the pipeline.Type: GrantFiled: December 30, 2002Date of Patent: February 7, 2006Assignee: International Business Machines CorporationInventors: Donald R. DeSota, Bruce M. Gilbert, Robert Joersz, Eric N. Lais, Maged M. Michael
-
Patent number: 6990556Abstract: An embodiment of the invention is a processor for providing simultaneous access to the same data for a plurality of requests. The processor includes cache storage having an address sliced directory lookup structure. A same doubleword detection unit receives a first instruction including a plurality of first instruction fields on a first pipe and a second instruction including a plurality of second instruction fields on a second pipe. The same doubleword detection unit generates a same doubleword signal in response to the first instruction fields and the second instruction fields. The cache storage reads data from a single doubleword in the cache storage and simultaneously provides the doubleword to the first pipe and the second pipe in response to the same doubleword signal.Type: GrantFiled: May 12, 2003Date of Patent: January 24, 2006Assignee: International Business Machines CorporationInventors: Mark A. Check, Aaron Tsai
-
Patent number: 6978298Abstract: A method and apparatus in a data processing system for managing sessions for a secure access to the data processing system. A request for a secure connection is received. The secure connection is established, wherein information used to facilitate the secure connection is generated. The information is stored for a selected period of time, wherein the selected period of time is selected to optimize server resources.Type: GrantFiled: May 25, 2000Date of Patent: December 20, 2005Assignee: International Business Machines CorporationInventor: David G. Kuehr-McLaren
-
Patent number: 6978350Abstract: Methods and apparatus are provided for operating an embedded processor system that includes a processor and a cache memory. The method includes filling one or more lines in the cache memory with data associated with a first task, executing the first task, and, in response to a cache miss during execution of the first task, performing a cache line fill operation and, during the cache line fill operation, executing a second task. The cache memory may notify the processor of the line fill operation by generating a processor interrupt or by notifying a task scheduler running on the processor.Type: GrantFiled: August 29, 2002Date of Patent: December 20, 2005Assignee: Analog Devices, Inc.Inventors: Palle Birk, Joern Soerensen, Michael S. Allen, Jose Fridman
-
Patent number: 6968431Abstract: In a multiprocessor system using snooping protocols, system command conflicts are prevented by comparing processor commands with prior snoops within a specified time defined window. A determination is then made as to whether a command issued by a given processor is likely to cause a system conflict with another command issued within said specified time defined window. If so, the time of execution of any such snoop command determined as being likely to cause a system conflict is delayed. This approach uses address bus arbitration rules to prevent system livelocks due to both coherency and resource conflicts.Type: GrantFiled: November 15, 2001Date of Patent: November 22, 2005Assignee: International Business Machines CorporationInventor: Michael John Mayfield
-
Patent number: 6963962Abstract: A memory system for operation with a processor, such as a digital signal processor, includes a high speed pipelined memory, a store buffer for holding store access requests from the processor, a load buffer for holding load access requests from the processor, and a memory control unit for processing access requests from the processor, from the store buffer and from the load buffer. The memory control unit may include prioritization logic for selecting access requests in accordance with a priority scheme and bank conflict logic for detecting and handling conflicts between access requests. The pipelined memory may be configured to output two load results per clock cycle at very high speed.Type: GrantFiled: April 11, 2002Date of Patent: November 8, 2005Assignee: Analog Devices, Inc.Inventors: Hebbalalu S. Ramagopal, Murali S. Chinnakonda, Thang M. Tran
-
Patent number: 6950906Abstract: A method of operating a cache comprises the steps of reading first information from a tag memory for at least two cache lines; reading second information from the tag memory for at least two cache lines; writing third information to the tag memory updating the first information; comparing (i) an address of the tag memory associated with the step of reading the second information with (ii) an address of the tag memory associated with the step of writing the third information and, in response, selectively replacing the second information with the third information; and writing, after the step of comparing, fourth information to the tag memory updating the second information.Type: GrantFiled: December 13, 2002Date of Patent: September 27, 2005Assignee: Hewlett-Packard Development Company, L.P.Inventors: Robert F. Krick, Duane A. Wiens
-
Patent number: 6920531Abstract: In a computer architecture using a prevalidated tag cache design, logic circuits are added to enable store and invalidation operations without impacting integer load data access times and to invalidate stale cache lines. The logic circuits include a translation lookaside buffer (TLB) architecture to handle store operations in parallel with a smaller, faster integer load TLB architecture. A store valid module, added to the TLB architecture, sets a valid bit when a new cache line is written. The valid bit is cleared on the occurrence of an invalidation operation. The valid bit prevents multiple store updates or invalidates for cache lines that are already invalid.Type: GrantFiled: November 4, 2003Date of Patent: July 19, 2005Assignee: Hewlett-Packard Development Company, L.P.Inventor: Terry L Lyon
-
Patent number: 6912608Abstract: Techniques for a pipelined bus which provides a very high performance interface to computing elements, such as processing elements, host interfaces, memory controllers, and other application-specific coprocessors and external interface units. The pipelined bus is a robust interconnected bus employing a scalable, pipelined, multi-client topology, with a fully synchronous, packet-switched, split-transaction data transfer model. Multiple non-interfering transfers may occur concurrently since there is no single point of contention on the bus. An aggressive packet transfer model with local conflict resolution in each client and packet-level retries allows recovery from collisions and buffer backups. Clients are assigned unique IDs, based upon a mapping from the system address space allowing identification needed for quick routing of packets among clients.Type: GrantFiled: April 25, 2002Date of Patent: June 28, 2005Assignee: PTS CorporationInventors: Edward A. Wolff, David Baker, Bryan Garnett Cope, Edwin Franklin Barry
-
Patent number: 6901467Abstract: A method for processing a PCI-X transaction in a bridge is disclosed, wherein data is retrieved from a memory device and is stored in a bridge then delivered to a requesting device. The method may comprise the acts of allocating a buffer in the bridge for the PCI-X transaction, retrieving data from a memory device, wherein the data comprises a plurality of cachelines, storing the plurality of cachelines in the buffer, wherein the plurality of cachelines are tracked and marked for delivery as the plurality of cachelines are received in the buffer, and delivering the plurality of cachelines to the requesting device in address order, the plurality of cachelines transmitted to the requesting device when one of the plurality of cachelines in the buffer aligns to an ending address of an allowable disconnect boundary (ADB) and the remaining cachelines are in address order.Type: GrantFiled: February 23, 2001Date of Patent: May 31, 2005Assignee: Hewlett-Packard Development Company, L.P.Inventors: Paras A. Shah, Timothy K. Waldrop
-
Patent number: 6898694Abstract: The present invention provides a mechanism for supporting high bandwidth instruction fetching in a multi-threaded processor. A multi-threaded processor includes an instruction cache (I-cache) and a temporary instruction cache (TIC). In response to an instruction pointer (IP) of a first thread hitting in the I-cache, a first block of instructions for the thread is provided to an instruction buffer and a second block of instructions for the thread are provided to the TIC. On a subsequent clock interval, the second block of instructions is provided to the instruction buffer, and first and second blocks of instructions from a second thread are loaded into a second instruction buffer and the TIC, respectively.Type: GrantFiled: June 28, 2001Date of Patent: May 24, 2005Assignee: Intel CorporationInventors: Sailesh Kottapalli, James S. Burns, Kenneth D. Shoemaker
-
Patent number: 6880044Abstract: 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. The tag look-ups are performed in parallel with the memory module decodes. This improves latency for cache hits without penalizing the latency for cache misses.Type: GrantFiled: December 31, 2001Date of Patent: April 12, 2005Assignee: Intel CorporationInventor: Howard S. David
-
Patent number: 6851025Abstract: A cache management system includes a main memory for storing instructions and information for identifying cache control instructions, a central processing unit (CPU) for executing the instructions, an instruction identifier for identifying that an instruction stored the main memory is a cache control instruction, a cache controller for predicting a next instruction to be executed by the CPU and for reading a corresponding program information in advance when the cache control instruction is identified by the instruction identifier, and a cache memory for storing executable instructions and data from the main memory and for supplying the executable instructions to the CPU under the control of the cache controller.Type: GrantFiled: December 11, 1998Date of Patent: February 1, 2005Assignee: Hynix Semiconductor Inc.Inventor: Soung Hwi Park
-
Patent number: 6848032Abstract: One embodiment of the present invention provides a system that facilitates pipelining cache coherence operations in a shared memory multiprocessor system. During operation, the system receives a command to perform a memory operation from a processor in the shared memory multiprocessor system. This command is received at a bridge that is coupled to the local caches of the processors in the shared memory multiprocessor system. If the command is directed to a cache line that is subject to an in-progress pipelined cache coherency operation, the system delays the command until the in-progress pipelined cache coherency operation completes. Otherwise, the system reflects the command to local caches of other processors in the shared memory multiprocessor system. The system then accumulates snoop responses from the local caches of the other processor and sends the accumulated snoop response to the local caches of other processors in the shared memory multiprocessor system.Type: GrantFiled: September 27, 2002Date of Patent: January 25, 2005Assignee: Apple Computer, Inc.Inventors: Jack Benkual, William C. Athas, Joseph P. Bratt, Ron Ray Hochsprung
-
Patent number: 6839892Abstract: A data processing system, method, and product are disclosed for debugging partition management firmware from an existing operating system debugger. The partition management firmware is also called a hypervisor. The data processing system is logically partitioned and includes an operating system debugger and hypervisor software. An operating system and the operating system debugger are stored in one of the logical partitions. Extensions are included within the operating system debugger. The extensions are then utilized by the existing operating system debugger to debug the hypervisor.Type: GrantFiled: July 12, 2001Date of Patent: January 4, 2005Assignee: International Business Machines CorporationInventors: George John Dawkins, Bruce G. Mealey
-
Patent number: 6829680Abstract: A method for increasing the processing speed of database instructions using a page prefetch cache. More particularly, the method is executed on a microprocessor and reduces database cache misses and improves the processing speed. The method comprises enabling a page prefetch cache with a database application, issuing one or more page prefetch instructions, and determining whether the particular database page is in the page prefetch cache.Type: GrantFiled: January 5, 2000Date of Patent: December 7, 2004Assignee: Sun Microsystems, Inc.Inventors: Rabin Sugumar, Srikanth T Srinivasan, Partha P. Tirumalai
-
Publication number: 20040215886Abstract: A method of reducing errors in a cache memory of a computer system (e.g., an L2 cache) by periodically issuing a series of purge commands to the L2 cache, sequentially flushing cache lines from the L2 cache to an L3 cache in response to the purge commands, and correcting errors (single-bit) in the cache lines as they are flushed to the L3 cache. Purge commands are issued only when the processor cores associated with the L2 cache have an idle cycle available in a store pipe to the cache. The flush rate of the purge commands can be programmably set, and the purge mechanism can be implemented either in software running on the computer system, or in hardware integrated with the L2 cache. In the case of the software, the purge mechanism can be incorporated into the operating system. In the case of hardware, a purge engine can be provided which advantageously utilizes the store pipe that is provided between the L1 and L2 caches.Type: ApplicationFiled: April 25, 2003Publication date: October 28, 2004Applicant: INTERNATIONAL BUSINESS MACHINES CORPORATIONInventors: Robert Alan Cargnoni, Guy Lynn Guthrie, Harmony Lynn Helterhoff, Kevin Franklin Reick
-
Patent number: 6810467Abstract: An example embodiment of a computer system utilizing a central snoop filter includes several nodes coupled together via a switching device. Each of the nodes may include several processors and caches as well as a block of system memory. All traffic from one node to another takes place through the switching device. The switching device includes a snoop filter that tracks cache line coherency information for all caches in the computer system. The snoop filter has enough entries to track the tags and state information for all entries in all caches in all of the system's nodes. In addition to the tag and state information, the snoop filter stores information indicating which of the nodes has a copy of each cache line.Type: GrantFiled: August 21, 2000Date of Patent: October 26, 2004Assignee: Intel CorporationInventors: Manoj Khare, Faye A. Briggs, Kai Cheng, Lily Pao Looi
-
Publication number: 20040181634Abstract: 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: ApplicationFiled: December 11, 2003Publication date: September 16, 2004Inventors: Michael DeMar Taylor, John R. Kinsel, Tom Riordan
-
Patent number: 6789169Abstract: A computer system includes a processor, a system memory, and an integrated circuit system controller coupled to the processor and the system memory. The system controller includes a system memory controller coupled to the system memory, a processor interface coupled to the processor and an embedded cache memory integrated with the memory controller and the processor interface. The cache memory includes at least one DRAM array, at least one tag memory, and at least one cache memory controller. The cache memory controller initiates an access to either or both the DRAM array and the tag memory, as well as the system memory, before the cache memory controller has determined if the access will result in a cache hit or a cache miss. If the cache memory controller determines that the access will result in a cache hit, data are coupled from the DRAM array to the processor. If the cache memory controller determines that the access will result in a cache miss, data are coupled from the system memory to the processor.Type: GrantFiled: October 4, 2001Date of Patent: September 7, 2004Assignee: Micron Technology, Inc.Inventor: Joseph Jeddeloh
-
Patent number: 6785776Abstract: A data processing system that provides a DMA Exclusive state that enables pipelining of Input/Output (I/O) DMA Write transactions. The data processing system includes a system processor, a system bus, a memory, a plurality of I/O components and an I/O processor. The data processing system further comprises operational protocol providing a pair of instructions/commands that are utilized to complete a DMA Write operation. The pair of instructions is DMA_Write_No_Data and DMA_Write With_Data. DMA_Write_No_Data is an address-only operation on the system bus that is utilized to acquire “DMA ownership” of a cache line that is to be written. The initial ownership of the cache line is marked by a weak DMA state (D1), which indicates that the cache line is being held for writing to the memory, but that the cache line cannot yet force a retry of snooped operations.Type: GrantFiled: July 26, 2001Date of Patent: August 31, 2004Assignee: International Business Machines CorporationInventors: Ravi Kumar Arimilli, George William Daly, Jr., Paul K. Umbarger
-
Patent number: 6782456Abstract: A method and data processing system that supports pipelining of Input/Output (I/O) DMA Write transactions. An I/O processor's operational protocol is provided with a pair of instructions/commands that are utilized to complete a DMA Write operation. The instructions are DMA_Write_No_Data and DMA_Write_With_Data. DMA_Write_No_Data is an address-only operation on the system bus that is utilized to acquire ownership of a cache line that is to be written. The ownership of the cache line is marked by a weak DMA state, which indicates that the cache line is being held for writing to the memory, but that the cache line cannot yet force a retry of snooped operations. When each preceding DMA Write operation has completed or each corresponding DMA_Write_No_Data operation has been placed in a DMA Exclusive state, then the weak DMA state is changed to a DMA Exclusive state, which forces a retry of snooped operations until the write transaction to memory is completed.Type: GrantFiled: July 26, 2001Date of Patent: August 24, 2004Assignee: International Business Machines CorporationInventors: Ravi Kumar Arimilli, George William Daly, Jr., Paul K. Umbarger
-
Patent number: 6775756Abstract: A method and apparatus for out-of-order memory processing within an in-order processing device includes processing that allows a plurality of memory transactions to be processed in a pipeline manner until a dependency arises between two or more memory transactions. Such processing includes, for each of the plurality of memory transactions, determining whether data associated with the transaction is stored in local cache. If the data is stored in local cache, it is written into a data register in a next pipeline interval. The processing continues by storing the memory transaction in a miss buffer when the data associated with the memory transaction is not stored in the local cache. The processing continues by writing the associated data for the memory transaction identified in the missed buffer into the data register when the data is received without regard to the pipeline manner.Type: GrantFiled: October 11, 1999Date of Patent: August 10, 2004Assignee: ATI International SrlInventors: Shalesh Thusoo, Niteen Patkar, Jim Lin
-
Patent number: 6772297Abstract: To perform a data replace control activated prior to the execution of a cache memory reference instruction so as to reduce the latency when a miss occurs to a cache memory. In a cache replace control of a load store unit, a load store unit controlling device comprises a first queue selection logical circuit 41, a second queue selection logical circuit 42 and a mediating unit 43, wherein the first queue selection logical circuit sequentially selects access instructions to access the cache memory which are stored in queues 31, wherein the second queue selection logical circuit selects unissued access instructions of the access instructions to access the cache memory which are stored in the queues prior to the selections by the first queue selection logical circuit, and wherein the mediating unit mediates between the access instructions selected by the first queue selection logical circuit and the pre-access instructions selected by the second queue selection logical circuit for accessing the cache memory.Type: GrantFiled: March 27, 2001Date of Patent: August 3, 2004Assignee: Fujitsu LimitedInventor: Toshiyuki Muta
-
Patent number: 6763421Abstract: Embodiments are provided in which a first and second instructions are executed in parallel. A first and a second address are generated according to the first and second instructions, respectively. The first address is used to select a data cache line of a data cache RAM and a first data bank from the data cache line. The second address is used to select a second data bank from the data cache. The first and second data banks are outputted in parallel from the data cache RAM. An instruction pair testing circuit tests the probability of the first and second instructions accessing a same data cache line of the data cache RAM. If it is unlikely that the two instructions will access a same data cache line, the second instruction is refetched and re-executed, and the second data bank is not used.Type: GrantFiled: October 11, 2001Date of Patent: July 13, 2004Assignee: International Business Machines CorporationInventor: David Arnold Luick
-
Patent number: 6754775Abstract: One embodiment of the present invention provides a system that facilitates flow control to support pipelined accesses to a cache memory. When an access to the cache memory generates a miss, the system increments a number of outstanding misses that are currently in process for a set in the cache to which the miss is directed. If the number of outstanding misses is greater than or equal to a threshold value, the system stalls generation of subsequent accesses to the cache memory until the number of outstanding misses for each set in the cache memory falls below the threshold value. Upon receiving a cache line from a memory subsystem in response to an outstanding miss, the system identifies a set that the outstanding miss is directed to. The system then installs the cache line in an entry associated with the set. The system also decrements a number of outstanding misses that are currently in process for the set.Type: GrantFiled: June 4, 2002Date of Patent: June 22, 2004Assignee: Sun Microsystems, Inc.Inventors: Shailender Chaudhry, Marc Tremblay
-
Patent number: 6748497Abstract: An apparatus and method for memory transaction buffering are implemented. Read and write buffer units are provided. The read buffer unit is configured for storing at least one data value read from a memory device, and the write buffer unit is configured for storing at least one data value for writing to the memory device. The read buffer unit is operable for updating with the at least one data value for writing to the memory device in response to a write to the write buffer unit.Type: GrantFiled: November 20, 2001Date of Patent: June 8, 2004Assignee: Cirrus Logic, Inc.Inventors: Chang Yong Kang, Jun Hao
-
Patent number: 6745290Abstract: The invention is aimed at providing a high-speed processor system capable of performing distributed concurrent processing without requiring modification of conventional programming styles. The processor system in accordance with the invention has a CPU, a plurality of parallel DRAMs, and a plurality of cache memories arranged in a hierarchical configuration. Each of the cache memories is provided with an MPU which is binarily-compatible with the CPU and which has a function to serve as a processor.Type: GrantFiled: April 24, 2003Date of Patent: June 1, 2004Assignee: Sony Computer Entertainment Inc.Inventor: Akio Ohba
-
Publication number: 20040098552Abstract: A processor-based device (e.g., a wireless device) may include a processor and a semiconductor memory (e.g., a flash memory) to selectively pipeline and prefetch memory data, such as executable data, in one embodiment, using prefetch/pipeline logic that may enable storage of a first indication associated with executable data at a first storage location and a second indication associated with executable data at a second storage location. Upon retrieval, the prefetch/pipeline logic may selectively perform at least one of pipelining and prefetching of the executable data associated with the second storage location based on the first indication.Type: ApplicationFiled: November 20, 2002Publication date: May 20, 2004Inventor: Zafer Kadi