With Pre-fetch (epo) Patents (Class 711/E12.057)
  • Publication number: 20100306471
    Abstract: A method of providing history based done logic for a D-cache includes receiving a D-cache line in an L2 cache; determining if the D-cache line is unprefetchable; aging the D-cache line without a delay if the D-cache line is prefetchable; and aging the D-cache line with a delay if the D-cache line is unprefetchable.
    Type: Application
    Filed: May 28, 2009
    Publication date: December 2, 2010
    Applicant: INTERNATIONAL BUSINESS MACHINES CORPORATION
    Inventor: David A. Luick
  • Publication number: 20100306484
    Abstract: A storage system can comprise storage devices having storage media with differing characteristics. An eviction handler can receive information regarding the state of storage media or of data stored thereon, as well as information regarding application or operating system usage, or expected usage, of data, or information regarding policy, including user-selected policy. Such information can be utilized by the eviction handler to optimize the use of the storage system by evicting data from storage media, including evicting data in order to perform maintenance on, or replace, such storage media, and evicting data to make room for other data, such as data copied to such storage media to facilitate pre-fetching or implement policy. The eviction handler can be implemented by any one or more of processes executing on a computing device, control circuitry of any one or more of the storage devices, or intermediate storage-centric devices.
    Type: Application
    Filed: May 27, 2009
    Publication date: December 2, 2010
    Applicant: MICROSOFT CORPORATION
    Inventors: Nathan Steven Obr, Sompong Paul Olarig, Shiv Rajpal
  • Publication number: 20100306477
    Abstract: Systems and methods for efficient handling of store misses. A processor comprises a store queue that stores data for committed store instructions. Coupled to the store queue is a cache responsible for ensuring consistent ordering of store operations for all consumers, which may be accomplished by maintaining a corresponding cache line be in an exclusive state before executing a store operation. In response to a first committed store instruction missing in the cache, the store queue is configured to convey to the cache a second entry of the plurality of queue entries as a speculative prefetch instruction. This second entry corresponds to a committed store instruction that follows in program order the first committed store instruction of a given thread. If the prefetch instruction misses in the cache, the latency for acquiring a corresponding cache line overlaps with the latency of the first store instruction.
    Type: Application
    Filed: May 28, 2009
    Publication date: December 2, 2010
    Inventor: Mark A. Luttrell
  • Publication number: 20100306472
    Abstract: A method of providing history based done logic for a I-cache includes receiving an I-cache line in an L2 cache; determining if the I-cache line is unprefetchable; aging the I-cache line without a delay if the I-cache line is prefetchable; and aging the I-cache line with a delay is the I-cache line is unprefetchable.
    Type: Application
    Filed: May 28, 2009
    Publication date: December 2, 2010
    Applicant: INTERNATIONAL BUSINESS MACHINES CORPORATION
    Inventor: David A. Luick
  • Patent number: 7840761
    Abstract: A processor executes one or more prefetch threads and one or more main computing threads. Each prefetch thread executes instructions ahead of a main computing thread to retrieve data for the main computing thread, such as data that the main computing thread may use in the immediate future. Data is retrieved for the prefetch thread and stored in a memory, such as data fetched from an external memory and stored in a buffer. A prefetch controller determines whether the memory is full. If the memory is full, a cache controller stalls at least one prefetch thread. The stall may continue until at least some of the data is transferred from the memory to a cache for use by at least one main computing thread. The stalled prefetch thread or threads are then reactivated.
    Type: Grant
    Filed: April 1, 2005
    Date of Patent: November 23, 2010
    Assignee: STMicroelectronics, Inc.
    Inventors: Osvaldo M. Colavin, Davide Rizzo
  • Publication number: 20100293339
    Abstract: A method of data processing in a processor includes maintaining a usage history indicating demand usage of prefetched data retrieved into cache memory. An amount of data to prefetch by a data prefetch request is selected based upon the usage history. The data prefetch request is transmitted to a memory hierarchy to prefetch the selected amount of data into cache memory.
    Type: Application
    Filed: February 1, 2008
    Publication date: November 18, 2010
    Inventors: RAVI K. ARIMILLI, Gheorghe C. Cascaval, Balaram Sinharoy, William E. Speight, Lixin Zhang
  • Patent number: 7831800
    Abstract: A processor system (100) includes a central processing unit (102) and a prefetch engine (110). The prefetch engine (110) is coupled to the central processing unit (102). The prefetch engine (110) is configured to detect, when data associated with the central processing unit (102) is read from a memory (114), a stride pattern in an address stream based upon whether sums of a current stride and a previous stride are equal for a number of consecutive reads. The prefetch engine (110) is also configured to prefetch, for the central processing unit (102), data from the memory (114) based on the detected stride pattern.
    Type: Grant
    Filed: May 17, 2007
    Date of Patent: November 9, 2010
    Inventor: Andrej Kocev
  • Publication number: 20100281221
    Abstract: A method, circuit arrangement, and design structure for prefetching data for responding to a memory request, in a shared memory computing system of the type that includes a plurality of nodes, is provided. Prefetching data comprises, receiving, in response to a first memory request by a first node, presence data for a memory region associated with the first memory request from a second node that sources data requested by the first memory request, and selectively prefetching at least one cache line from the memory region based on the received presence data. Responding to a memory request comprises tracking presence data associated with memory regions associated with cached cache lines in the first node, and, in response to a memory request by a second node, forwarding the tracked presence data for a memory region associated with the memory request to the second node.
    Type: Application
    Filed: April 30, 2009
    Publication date: November 4, 2010
    Applicant: International Business Machines Corporation
    Inventors: Jason F. Cantin, Steven R. Kunkel
  • Patent number: 7822943
    Abstract: Systems, methods and computer program products for improving data stream prefetching in a microprocessor are described herein.
    Type: Grant
    Filed: August 4, 2008
    Date of Patent: October 26, 2010
    Assignee: MIPS Technologies, Inc.
    Inventor: Keith E. Diefendorff
  • Publication number: 20100268885
    Abstract: A system and method for specifying an access hint for prefetching limited use data. A processing unit receives a data cache block touch (DCBT) instruction having an access hint indicating to the processing unit that a program executing on the data processing system may soon access a cache block addressed within the DCBT instruction. The access hint is contained in a code point stored in a subfield of the DCBT instruction. In response to detecting that the code point is set to a specific value, the data addressed in the DCBT instruction is prefetched into an entry in the lower level cache. The entry may then be updated as a least recently used entry of a plurality of entries in the lower level cache. In response to a new cache block being fetched to the cache, the prefetched cache block is cast out of the cache.
    Type: Application
    Filed: April 16, 2009
    Publication date: October 21, 2010
    Applicant: INTERNATIONAL BUSINESS MACHINES CORPORATION
    Inventors: Bradly G. Frey, Guy L. Guthrie, Cathy May, Balaram Sinharoy, Peter K. Szwed
  • Publication number: 20100268892
    Abstract: In an embodiment, a processor comprises a data cache and a prefetch unit coupled to the data cache. The prefetch unit is configured to detect one or more prefetch streams corresponding to load operations that miss the data cache, and comprises a memory configured to store data corresponding to potential prefetch streams. The prefetch unit is configured to confirm a prefetch stream in response to N or more demand accesses to addresses in the prefetch stream, where N is a positive integer greater than one and is dependent on a prefetch pattern being detected. The prefetch unit comprises a plurality of stream engines, each stream engine configured to generate prefetches for a different prefetch stream assigned to that stream engine. The prefetch unit is configured to assign the confirmed prefetch stream to one of the plurality of stream engines.
    Type: Application
    Filed: April 20, 2009
    Publication date: October 21, 2010
    Inventor: Mark A. Luttrell
  • Publication number: 20100268894
    Abstract: In one embodiment, a processor comprises a prefetch unit coupled to a data cache. The prefetch unit is configured to concurrently maintain a plurality of separate, active prefetch streams. Each prefetch stream is either software initiated via execution by the processor of a dedicated prefetch instruction or hardware initiated via detection of a data cache miss by one or more load/store memory operations. The prefetch unit is further configured to generate prefetch requests responsive to the plurality of prefetch streams to prefetch data in to the data cache.
    Type: Application
    Filed: July 6, 2010
    Publication date: October 21, 2010
    Inventors: Sudarshan Kadambi, Puneet Kumar, Po-Yung Chang
  • Publication number: 20100268893
    Abstract: In an embodiment, a processor comprises a data cache and a prefetch unit coupled to the data cache. The prefetch unit is configured to identify a prefetch stream in cache misses from the data cache, and the prefetch unit is configured to issue prefetches predicted by the prefetch stream to prefetch data into the data cache. More particularly, the prefetch unit implements one or more stream engines that generate prefetches for respective prefetch streams. Each stream engine is configured to maintain limit data that indicates a number of prefetches that are permitted to be outstanding beyond a most recent demand access. The stream engine is configured to increase the limit responsive to the number of demand accesses that consume prefetched data at least equaling the limit.
    Type: Application
    Filed: April 20, 2009
    Publication date: October 21, 2010
    Inventor: Mark A. Luttrell
  • Publication number: 20100268886
    Abstract: A system and method for specifying an access hint for prefetching only a subsection of cache block data, for more efficient system interconnect usage by the processor core. A processing unit receives a data cache block touch (DCBT) instruction containing an access hint and identifying a specific size portion of data to be prefetched. Both the access hint and a value corresponding to an amount of data to be prefetched are contained in separate subfields of the DCBT instruction. In response to detecting that the code point is set to a specific value, only the specific size of data identified in a sub-field of the DCBT and addressed in the DCBT instruction is prefetched into an entry in the lower level cache.
    Type: Application
    Filed: April 16, 2009
    Publication date: October 21, 2010
    Applicant: INTERNATIONAL BUISNESS MACHINES CORPORATION
    Inventors: Bradly George Frey, Guy Lynn Guthrie, Cathy May, Ramakrishnan Rajamony, Balaram Sinharoy, William John Starke, Peter Kenneth Szwed
  • Publication number: 20100250859
    Abstract: A microprocessor includes a cache memory, a load unit, and a prefetch unit, coupled to the load unit. The load unit is configured to receive a load request that includes an indicator that the load request is loading a page table entry. The prefetch unit is configured to receive from the load unit a physical address of a first cache line that includes the page table entry specified by the load request. The prefetch unit is further configured to responsively generate a request to prefetch into the cache memory a second cache line. The second cache line is the next physically sequential cache line to the first cache line. In an alternate embodiment, the second cache line is the previous physically sequential cache line to the first cache line rather than the next physically sequential cache line to the first cache line.
    Type: Application
    Filed: October 23, 2009
    Publication date: September 30, 2010
    Applicant: VIA Technologies, Inc.
    Inventors: Rodney E. Hooker, Colin Eddy
  • Publication number: 20100241811
    Abstract: Technologies are generally described for allocating available prefetch bandwidth among processor cores in a multiprocessor computing system. The prefetch bandwidth associated with an off-chip memory interface of the multiprocessor may be determined, partitioned, and allocated across multiple processor cores.
    Type: Application
    Filed: March 20, 2009
    Publication date: September 23, 2010
    Inventor: Yan Solihin
  • Publication number: 20100228921
    Abstract: A system and method for cache hit management.
    Type: Application
    Filed: March 4, 2009
    Publication date: September 9, 2010
    Inventors: ADI GROSSMAN, Omri Shacham
  • Publication number: 20100223431
    Abstract: In a multi-core processor of a shared-memory type, deterioration in the data processing capability caused by competitions of memory accesses from a plurality of processors is suppressed effectively. In a memory access controlling system for controlling accesses to a cache memory in a data read-ahead process when the multi-core processor of a shared-memory type performs a task including a data read-ahead thread for executing data read-ahead and a parallel execution thread for performing an execution process in parallel with the data read-ahead, the system includes a data read-ahead controller which controls an interval between data read-ahead processes in the data read-ahead thread adaptive to a data flow which varies corresponding to an input value of the parallel process in the parallel execution thread. By controlling the interval between the data read-ahead processes, competitions of memory accesses in the multi-core processor are suppressed.
    Type: Application
    Filed: February 4, 2008
    Publication date: September 2, 2010
    Inventor: Kosuke Nishihara
  • Publication number: 20100211745
    Abstract: Systems and methods are disclosed herein, including those that operate to prefetch a programmable number of data words from a selected memory vault in a stacked-die memory system when a pipeline associated with the selected memory vault is empty.
    Type: Application
    Filed: February 13, 2009
    Publication date: August 19, 2010
    Inventor: Joe M. Jeddeloh
  • Publication number: 20100199045
    Abstract: A system and method to optimize runahead operation for a processor without use of a separate explicit runahead cache structure. Rather than simply dropping store instructions in a processor runahead mode, store instructions write their results in an existing processor store queue, although store instructions are not allowed to update processor caches and system memory. Use of the store queue during runahead mode to hold store instruction results allows more recent runahead load instructions to search retired store queue entries in the store queue for matching addresses to utilize data from the retired, but still searchable, store instructions. Retired store instructions could be either runahead store instructions retired, or retired store instructions that executed before entering runahead mode.
    Type: Application
    Filed: February 3, 2009
    Publication date: August 5, 2010
    Applicant: INTERNATIONAL BUISNESS MACHINES CORPORATION
    Inventors: Gordon Bell, Anil Krishna, Srinivasan Ramani
  • Publication number: 20100191920
    Abstract: In one embodiment, the present invention includes a method for receiving a memory request from a device coupled to an input/output (IO) interconnect, accessing a mapping table associated with the IO interconnect to determine if an address range including an address of the memory request is coherent, and if so, sending the memory request and a coherency indicator to indicate the coherent state of data at the address, otherwise sending the memory request and the coherency indicator to indicate a non-coherent state. Other embodiments are described and claimed.
    Type: Application
    Filed: January 27, 2009
    Publication date: July 29, 2010
    Inventors: Zhen Fang, David J. Harriman, Michael W. Leddige
  • Publication number: 20100191918
    Abstract: Disclosed are a cache controller device, an interfacing method and a programming method using the same. The cache controller device prefetching and supplying data distributed in a memory to a main processor, includes: a cache temporarily storing data in a memory block having a limited size; a cache controller circularly reading out the data from the memory block to a cache memory, or transferring the data from the cache memory to the cache; and a memory input/output controller controlling prefetching the data to the cache, or transferring the data from the cache to a memory.
    Type: Application
    Filed: January 4, 2010
    Publication date: July 29, 2010
    Inventors: Hwang-Soo Lee, Jung-Keum Kim, Il-Song Han, Young Serk Shim
  • Publication number: 20100180081
    Abstract: A data processing system includes a processor, a unit that includes a multi-level cache, a prefetch system and a memory. The data processing system can operate in a first mode and a second mode. The prefetch system can change behavior in response to a desired power consumption policy set by an external agent or automatically via hardware based on on-chip power/performance thresholds.
    Type: Application
    Filed: January 15, 2009
    Publication date: July 15, 2010
    Inventors: Pradip Bose, Alper Buyuktosunoglu, Miles Robert Dooley, Michael Stephen Floyd, David Scott Ray, Bruce Joseph Ronchetti
  • Patent number: 7747821
    Abstract: A compression device recognizes patterns of data and compressing the data, and sends the compressed data to a decompression device that identifies a cached version of the data to decompress the data. In this way, the compression device need not resend high bandwidth traffic over the network. Both the compression device and the decompression device cache the data in packets they receive. Each device has a disk, on which each device writes the data in the same order. The compression device looks for repetitions of any block of data between multiple packets or datagrams that are transmitted across the network. The compression device encodes the repeated blocks of data by replacing them with a pointer to a location on disk. The decompression device receives the pointer and replaces the pointer with the contents of the data block that it reads from its disk.
    Type: Grant
    Filed: April 17, 2009
    Date of Patent: June 29, 2010
    Assignee: Juniper Networks, Inc.
    Inventors: Amit P. Singh, Balraj Singh, Vanco Burzevski
  • Patent number: 7743216
    Abstract: Method and apparatus for caching and retaining non-requested speculative data from a storage array in an effort to accommodate future requests for such data. A cache manager stores requested readback data from the storage array to a cache memory, and selectively transfers speculative non-requested readback data to the cache memory in relation to a time parameter and a locality parameter associated with a data structure of which the requested readback data forms a part. The locality parameter preferably comprises a stream count as an incremented count of consecutive read requests for a contiguous data range of the storage array, and the time parameter preferably indicates a time range over which said read requests have been issued. The speculative readback data are transferred when both said parameters fall within a selected threshold range. The data structure preferably comprises a RAID stripe on a selected storage device of the array.
    Type: Grant
    Filed: June 30, 2006
    Date of Patent: June 22, 2010
    Assignee: Seagate Technology LLC
    Inventors: Clark E. Lubbers, Michael D. Walker
  • Publication number: 20100153653
    Abstract: The present disclosure is directed towards a prefetch controller configured to communicate with a prefetch cache in order to increase system performance. In some embodiments, the prefetch controller may include an instruction lookup table (ILT) configured to receive a first tuple including a first instruction ID and a first missed data address. The prefetch controller may further include a tuple history queue (THQ) configured to receive an instruction/stride tuple, the instruction/stride tuple generated by subtracting a last data access address from the first missed data address. The prefetch controller may further include a sequence prediction table (SPT) in communication with the tuple history queue (THQ) and the instruction lookup table. The prefetch controller may also include an adder in communication with the instruction lookup table (ILT) and the sequence prediction table (SPT) configured to generate a predicted prefetch address and to provide the predicted prefetch address to a prefetch cache.
    Type: Application
    Filed: December 15, 2008
    Publication date: June 17, 2010
    Inventors: AHMED EL-MAHDY, HISHAM ELSHISHINY
  • Publication number: 20100122036
    Abstract: Methods and apparatuses are disclosed for improving speculation success in processors. In some embodiments, the method may include executing a plurality of threads of program code, the plurality of threads comprising a first speculative load request, setting an indicator bit corresponding to a cache line in response to the first speculative load request, and in the event that a second speculative load request from the plurality of threads refers to a first cache line with the indicator bit set, determining if a second cache line is available.
    Type: Application
    Filed: November 7, 2008
    Publication date: May 13, 2010
    Applicant: Sun Microsystems, Inc.
    Inventors: Zoran Radovic, Erik Martin Roland Karlsson
  • Publication number: 20100122037
    Abstract: A method for generating cache user initiated pre-fetch requests, the method comprises initiating a sequence of user initiated pre-fetch requests; the method being characterized by: determining the timing of user initiated pre-fetch requests of the sequence of user initiated pre-fetch requests in response to: the timing of an occurrence of a last triggering event, a user initiated pre-fetch sequence delay period and a user initiated pre-fetch sequence rate.
    Type: Application
    Filed: March 13, 2007
    Publication date: May 13, 2010
    Applicant: Freescale Semiconductor, Inc.
    Inventors: Rotem Porat, Moshe Anschel, Shai Koren, Itay Peled, Erez Steinberg
  • Publication number: 20100115206
    Abstract: A system analyzes access patterns in a storage system. Logic circuitry in the system identifies different address regions of contiguously accessed memory locations. A statistical record identifies a number of storage accesses to the different address regions and a historical record identifies previous address regions accessed prior to the address regions currently being accessed. The logic circuitry is then used to prefetch data from the different address regions according to the statistical record and the historical record.
    Type: Application
    Filed: October 23, 2009
    Publication date: May 6, 2010
    Applicant: Gridlron Systems, Inc.
    Inventors: Erik de la Iglesia, Som Sikdar
  • Patent number: 7711903
    Abstract: A mechanism is provided for efficiently managing the operation of a translation buffer. The mechanism is utilized to pre-load a translation buffer to prevent poor operation as a result of slow warming of a cache. A software pre-load mechanism may be provided for preloading a translation look aside buffer (TLB) via a hardware implemented controller. Following preloading of the TLB, control of accessing the TLB may be handed over to the hardware implemented controller. Upon an application context switch operation, the software preload mechanism may be utilized again to preload the TLB with new translation information for the newly active application instance.
    Type: Grant
    Filed: January 9, 2007
    Date of Patent: May 4, 2010
    Assignee: International Business Machines Corporation
    Inventors: Michael N. Day, Jonathan J. DeMent, Charles R. Johns
  • Patent number: 7707359
    Abstract: One embodiment of the present invention provides a system which facilitates selective prefetching based on resource availability. During operation, the system executes instructions in a processor. While executing the instructions, the system monitors the availability of one or more system resources and dynamically adjusts an availability indicator for each system resource based on the current availability of the system resource. Upon encountering a prefetch instruction which involves the system resource, the system checks the availability indicator. If the availability indicator indicates that the system resource is not sufficiently available, the system terminates the execution of the prefetch instruction, whereby terminating execution prevents prefetch instructions from overwhelming the system resource.
    Type: Grant
    Filed: March 27, 2006
    Date of Patent: April 27, 2010
    Assignee: Oracle America, Inc.
    Inventors: Wayne Mesard, Paul Caprioli
  • Publication number: 20100100683
    Abstract: A processing unit for a multiprocessor data processing system includes a processor core and a cache hierarchy coupled to the processor core to provide low latency data access. The cache hierarchy includes an upper level cache coupled to the processor core and a lower level victim cache coupled to the upper level cache. In response to a prefetch request of the processor core that misses in the upper level cache, the lower level victim cache determines whether the prefetch request misses in the directory of the lower level victim cache and, if so, allocates a state machine in the lower level victim cache that services the prefetch request by issuing the prefetch request to at least one other processing unit of the multiprocessor data processing system.
    Type: Application
    Filed: October 22, 2008
    Publication date: April 22, 2010
    Applicant: International Business Machines Corporation
    Inventors: Guy L. Guthrie, William J. Starke, Jeffrey A. Stuecheli, Philip G. Williams
  • Publication number: 20100100682
    Abstract: A data processing system includes a processor core having an associated upper level cache and a lower level victim cache. In response to a memory access request of the processor core that specifies a non-modifying access to a target coherency granule, a determination is made whether the memory access request hits or misses in a directory of the lower level victim cache. In response to determining that the memory access request hits in the lower level victim cache in a data-valid coherence state, the lower level victim cache provides the target coherency granule of the memory access request to the upper level cache. The lower level victim cache preserves the target coherency granule in the lower level victim cache in a shared coherence state if the memory access request is of a first type and invalidates the target coherency granule if the memory access request is of a second type.
    Type: Application
    Filed: October 22, 2008
    Publication date: April 22, 2010
    Applicant: International Business Machines Corporation
    Inventors: Guy L. Guthrie, Thomas L. Jeremiah, William L. McNeil, Piyush C. Patel, William J. Starke, Jeffrey A. Stuecheli
  • Publication number: 20100100687
    Abstract: The invention increases performance of HTTP over long-latency links by pre-fetching objects concurrently via aggregated and flow-controlled channels. An agent and gateway together assist a Web browser in fetching HTTP contents faster from Internet Web sites over long-latency data links. The gateway and the agent coordinate the fetching of selective embedded objects in such a way that an object is ready and available on a host platform before the resident browser requires it. The seemingly instantaneous availability of objects to a browser enables it to complete processing the object to request the next object without much wait. Without this instantaneous availability of an embedded object, a browser waits for its request and the corresponding response to traverse a long delay link.
    Type: Application
    Filed: December 21, 2009
    Publication date: April 22, 2010
    Inventor: Krishna RAMADAS
  • Publication number: 20100095070
    Abstract: An information processing apparatus including a main memory and a processor, the processor includes: a cache memory that stores data fetched to the cache memory; an instruction processing unit that accesses a part of the data in the cache memory sub block by sub block; an entry holding unit that holds a plurality of entries including a plurality of block addresses and access history information; and a controller that controls fetching of data from the main memory to the cache memory, while the access by the instruction processing unit to sub blocks of data in a block indicated by another of the entries immediately preceding the one of the entries, in accordance with order of the access from the instruction processing unit to sub blocks in the block indicated by the another of the entries and access history information associated with the one of the entries.
    Type: Application
    Filed: December 16, 2009
    Publication date: April 15, 2010
    Inventors: HIDEKI OKAWARA, IWAO YAMAZAKI
  • Publication number: 20100077154
    Abstract: A method for pre-fetching data. The method includes obtaining a pre-fetch request. The pre-fetch request identifies new data to pre-fetch from memory and store in a cache. The method further includes identifying a set in the cache to store the new data and identifying a value of a hotness indicator for the set. The hotness indicator value defines a number of replacements of at least one line in the set. The method further includes determining whether the value of the hotness indicator exceeds a predefined threshold, and storing the new data in the set when the value of the hotness indicator does not exceed the pre-defined threshold.
    Type: Application
    Filed: September 24, 2008
    Publication date: March 25, 2010
    Applicant: SUN MICROSYSTEMS, INC.
    Inventor: Yuan C. Chou
  • Publication number: 20100077151
    Abstract: A computer system includes a data cache supported by a copy-back buffer and pre-allocation request stack. A programmable trigger mechanism inspects each store operation made by the processor to the data cache to see if a next cache line should be pre-allocated. If the store operation memory address occurs within a range defined by START and END programmable registers, then the next cache line that includes a memory address within that defined by a programmable STRIDE register is requested for pre-allocation. Bunches of pre-allocation requests are organized and scheduled by the pre-allocation request stack, and will take their turns to allow the cache lines being replaced to be processed through the copy-back buffer. By the time the processor gets to doing the store operation in the next cache line, such cache line has already been pre-allocated and there will be a cache hit, thus saving stall cycles.
    Type: Application
    Filed: January 24, 2008
    Publication date: March 25, 2010
    Applicant: NXP, B.V.
    Inventor: Jan Willem Van De Waerdt
  • Publication number: 20100070716
    Abstract: A processor loads a program from a main memory, detects a register updating instruction, and registers the address of the register updating instruction in a register-producer table storing unit. Moreover, the processor loads the program to detect a memory access instruction, compares a register number utilized by the detected memory access instruction with a register-producer table to specify an address generation instruction, and rewrites an instruction corresponding to the address generation instruction.
    Type: Application
    Filed: November 20, 2009
    Publication date: March 18, 2010
    Applicant: FUJITSU LIMITED
    Inventors: Takashi Toyoshima, Takashi Aoki
  • Publication number: 20100070700
    Abstract: A cache management system and method and a content distribution system. In one embodiment, the cache management system includes: (1) a content request receiver configured to receive content requests, (2) a popularity lifetime prediction modeler coupled to the content request receiver and configured to generate popularity lifetime prediction models for content that can be cached based on at least some of the content requests, (3) a database coupled to the popularity lifetime prediction modeler and configured to contain the popularity lifetime prediction models and (4) a popularity lifetime prediction model matcher coupled to the content request receiver and the database and configured to match at least one content request to the popularity lifetime prediction models and control a cache based thereon.
    Type: Application
    Filed: September 12, 2008
    Publication date: March 18, 2010
    Applicant: Lucent Technologies, Inc.
    Inventors: Simon C. Borst, James R. Ensor, Volker F. Hilt, Markus A. Hofmann, Ivica Rimac, Anwar I. Walid
  • Publication number: 20100042786
    Abstract: A processing system is disclosed. The processing system includes a memory and a first core configured to process applications. The first core includes a first cache. The processing system includes a mechanism configured to capture a sequence of addresses of the application that miss the first cache in the first core and to place the sequence of addresses in a storage array; and a second core configured to process at least one software algorithm. The at least one software algorithm utilizes the sequence of addresses from the storage array to generate a sequence of prefetch addresses. The second core issues prefetch requests for the sequence of the prefetch addresses to the memory to obtain prefetched data and the prefetched data is provided to the first core if requested.
    Type: Application
    Filed: August 14, 2008
    Publication date: February 18, 2010
    Applicant: International Business Machines Corporation
    Inventors: Gordon Bernard BELL, Gordon Taylor DAVIS, Jeffrey Haskell DERBY, Anil KRISHNA, Srinivasan RAMANI, Ken VU, Steve WOOLET
  • Publication number: 20100023701
    Abstract: Embodiments of the present invention provide a system that handles way mispredictions in a multi-way cache. The system starts by receiving requests to access cache lines in the multi-way cache. For each request, the system makes a prediction of a way in which the cache line resides based on a corresponding entry in the way prediction table. The system then checks for the presence of the cache line in the predicted way. Upon determining that the cache line is not present in the predicted way, but is present in a different way, and hence the way was mispredicted, the system increments a corresponding record in a conflict detection table. Upon detecting that a record in the conflict detection table indicates that a number of mispredictions equals a predetermined value, the system copies the corresponding cache line from the way where the cache line actually resides into the predicted way.
    Type: Application
    Filed: July 28, 2008
    Publication date: January 28, 2010
    Applicant: SUN MICROSYSTEMS, INC.
    Inventors: Shailender Chaudhry, Robert E. Cypher, Martin Karlsson
  • Publication number: 20100011198
    Abstract: A computing system includes a microprocessor that receives values for configuring operating modes thereof. A device driver monitors which software applications currently running on the microprocessor are in a predetermined list and responsively dynamically writes the values to the microprocessor to configure its operating modes. Examples of the operating modes the device driver may configure relate to the following: data prefetching; branch prediction; instruction cache eviction; instruction execution suspension; sizes of cache memories, reorder buffer, store/load/fill queues; hashing algorithms related to data forwarding and branch target address cache indexing; number of instruction translation, formatting, and issuing per clock cycle; load delay mechanism; speculative page tablewalks; instruction merging; out-of-order execution extent; caching of non-temporal hinted data; and serial or parallel access of an L2 cache and processor bus in response to an instruction cache miss.
    Type: Application
    Filed: July 10, 2008
    Publication date: January 14, 2010
    Applicant: VIA Technologies, Inc.
    Inventors: Rodney E. Hooker, Colin Eddy, G. Glenn Henry
  • Publication number: 20100011169
    Abstract: Disclosed is a cache memory, design structure, and corresponding method for improving cache performance comprising one or more cache lines of equal size, each cache line adapted to store a cache block of data from a main memory in response to an access request from a processor; and a predict buffer, of size equal to the size of the cache lines, configured to store a next block of data from said main memory in response to a predict-fetch signal generated using at least one previous access request.
    Type: Application
    Filed: July 8, 2008
    Publication date: January 14, 2010
    Inventor: Anil Pothireddy
  • Publication number: 20100011170
    Abstract: A cache memory device includes an address generation unit, a data memory, a tag memory, and a hit judging unit. The address generation unit generates a prefetch index address included in a prefetch address based on an input address supplied from a higher-level device. The tag memory stores a plurality of tag addresses corresponding to a plurality of line data stored in the data memory. Further, the tag memory comprises a memory component that is configured to receive the prefetch index address and an input index address included in the input address in parallel and to output a first tag address in accordance with the input index address and a second tag address in accordance with the prefetch index address in parallel. The hit judging unit performs cache hit judgment of the input address and the prefetch address based on the first tag address and the second tag address.
    Type: Application
    Filed: June 29, 2009
    Publication date: January 14, 2010
    Applicant: NEC Electronics Corporation
    Inventors: Tohru MURAYAMA, Hideyuki Miwa
  • Publication number: 20090320006
    Abstract: A exemplary system and method are provided for learning and cache management in software defined contexts. Exemplary embodiments of the present invention described herein address the problem of the data access wall resulting from processor stalls due to the increasing discrepancies between processor speed and the latency of access to data that is not stored in the immediate vicinity of the processor requesting the data.
    Type: Application
    Filed: May 13, 2008
    Publication date: December 24, 2009
    Inventors: Peter A. Franaszek, Luis Alfonso Lastras Montano, R. Brett Tremaine
  • Publication number: 20090287842
    Abstract: The present solution provides a variety of techniques for accelerating and optimizing network traffic, such as HTTP based network traffic. The solution described herein provides techniques in the areas of proxy caching, protocol acceleration, domain name resolution acceleration as well as compression improvements. In some cases, the present solution provides various prefetching and/or prefreshening techniques to improve intermediary or proxy caching, such as HTTP proxy caching. In other cases, the present solution provides techniques for accelerating a protocol by improving the efficiency of obtaining and servicing data from an originating server to server to clients. In another cases, the present solution accelerates domain name resolution more quickly. As every HTTP access starts with a URL that includes a hostname that must be resolved via domain name resolution into an IP address, the present solution helps accelerate HTTP access.
    Type: Application
    Filed: July 21, 2009
    Publication date: November 19, 2009
    Inventor: Robert Plamondon
  • Publication number: 20090287750
    Abstract: A method of pre-fetching and preparing content in an information processing system is provided. The method includes the steps of generating at least one content pre-fetching policy and at least one content preparation policy, wherein each of the policies are at least in part a function of context information associated with a user. The content is pre-fetched based on information contained within the at least one content pre-fetching policy. Once the content has been pre-fetched, it is prepared based on information contained within the at least one content preparation policy. The context information associated with the user includes at least one of the user's usage patterns, current location, future plans and preferences.
    Type: Application
    Filed: July 29, 2009
    Publication date: November 19, 2009
    Applicant: International Business Machines Corporation
    Inventors: Guruduth Somasekhara Banavar, Maria Rene Ebling, Guerney Douglas Halloway Hunt, Hui Lei, Daby Mousse Sow
  • Publication number: 20090276577
    Abstract: A method, system, and medium related to a mechanism to cache key-value pairs of a lookup process during an extract transform load process of a manufacturing execution system. The method includes preloading a cache with a subset of a set of key-value pairs stored in source data; receiving a request of a key-value pair; determining whether the requested key-value pair is in the preloaded cache; retrieving the requested key-value pair from the preloaded cache if the requested key-value pair is in the preloaded cache; queuing the requested key-value pair in an internal data structure if the requested key-value pair is not in the preloaded cache until a threshold number of accumulated requested key-value pairs are queued in the internal data structure; and executing a query of the source data for all of the accumulated requested key-value pairs.
    Type: Application
    Filed: March 11, 2009
    Publication date: November 5, 2009
    Inventor: Trevor Bell
  • Publication number: 20090248991
    Abstract: A real request from a CPU to the same memory bank as a prior prefetch request is transmitted to the per-memory bank logic along with a kill signal to terminate the prefetch request. This avoids waiting for a prefetch request to complete before sending the real request to the same memory bank. The kill signal gates off any acknowledgement of completion of the prefetch request. This invention reduces the latency for completion of a high priority real request when a low priority speculative request to a different address in the same memory bank has already been dispatched.
    Type: Application
    Filed: January 20, 2009
    Publication date: October 1, 2009
    Inventors: Sajish Sajayan, Alok Anand, Ashish Rai Shrivastava, Joseph R. Zbiciak
  • Publication number: 20090248992
    Abstract: A prefetch controller implements an upgrade when a real read access request hits the same memory bank and memory address as a previous prefetch request. In response per-memory bank logic promotes the priority of the prefetch request to that of a read request. If the prefetch request is still waiting to win arbitration, this upgrade in priority increases the likelihood of gaining access generally reducing the latency. If the prefetch request had already gained access through arbitration, the upgrade has no effect. This thus generally reduces the latency in completion of a high priority real request when a low priority speculative prefetch was made to the same address.
    Type: Application
    Filed: January 20, 2009
    Publication date: October 1, 2009
    Inventors: Sajish Sajayan, Alok Anand, Ashish Rai Shrivastava, Joseph R. Zbiciak