Least Recently Used Patents (Class 711/136)
  • Patent number: 7721048
    Abstract: A computer processing system is disclosed that includes a cache that includes cache blocks of data. The system includes a marking sub-system, an ordering sub-system, and a replacement sub-system. The marking sub-system identifies and marks cache blocks that were provided to the cache via a wrong path with marking data. The ordering sub-system provides an order in which the cache blocks of data will be replaced in the cache, and the ordering sub-system is responsive to the marking data. The replacement sub-system replaces cache blocks in the cache in accordance with the ordering sub-system as required.
    Type: Grant
    Filed: March 15, 2007
    Date of Patent: May 18, 2010
    Assignee: Board of Governors for Higher Education, State of Rhode Island and Providence Plantations
    Inventors: Resit Sendag, Ayse Yilmazer, Augustus K. Uht
  • Publication number: 20100122035
    Abstract: A spiral cache memory provides reduction in access latency for frequently-accessed values by self-organizing to always move a requested value to a front-most central storage element of the spiral. The occupant of the central location is swapped backward, which continues backward through the spiral until an empty location is swapped-to, or the last displaced value is cast out of the last location in the spiral. The elements in the spiral may be cache memories or single elements. The resulting cache memory is self-organizing and for the one-dimensional implementation has a worst-case access time proportional to N, where N is the number of tiles in the spiral. A k-dimensional spiral cache has a worst-case access time proportional to N1/k. Further, a spiral cache system provides a basis for a non-inclusive system of cache memory, which reduces the amount of space and power consumed by a cache memory of a given size.
    Type: Application
    Filed: November 13, 2008
    Publication date: May 13, 2010
    Applicant: International Business Machines Corporation
    Inventors: Volker Strumpen, Matteo Frigo
  • Patent number: 7711905
    Abstract: A system for managing data in a plurality of storage locations. In response to a least recently used algorithm wanting to move data from a cache to a storage location, an aging table is searched for an associated entry for the data. In response to finding the associated entry for the data in the aging table, an indicator is enabled on the data. In response to determining that the indicator is enabled on the data, the data is kept in the cache despite the least recently used algorithm wanting to move the data to the storage location.
    Type: Grant
    Filed: July 16, 2007
    Date of Patent: May 4, 2010
    Assignee: International Business Machines Corporation
    Inventors: Diane Garza Flemming, Octavian Florin Herescu, William A. Maron, Mysore Sathyanarayana Srinivas
  • Patent number: 7711904
    Abstract: A system, method and computer program product for executing a cache replacement algorithm. A system includes a computer processor having an instruction processor, a cache and one or more useful indicators. The instruction processor processes instructions in a running program. The cache includes two or more cache levels including a level one (L1) cache level and one or more higher cache levels. Each cache level includes one or more cache lines and has an associated directory having one or more directory entries. A useful indicator is located within one or more of the directory entries and is associated with a particular cache line. The useful indicator is set to provide an indication that the associated cache line contains one or more instructions that are required by the running program and cleared to provide lack of such an indication.
    Type: Grant
    Filed: March 22, 2007
    Date of Patent: May 4, 2010
    Assignee: International Business Machines Corporation
    Inventors: Philip G. Emma, Daniel N. Lynch, Thomas R. Puzak
  • Patent number: 7707382
    Abstract: A self-tuning, low overhead, simple to implements locally adaptive, novel cache management policy that dynamically and adaptively partitions the cache space amongst sequential and random streams so as to reduce read misses.
    Type: Grant
    Filed: April 2, 2008
    Date of Patent: April 27, 2010
    Assignee: International Business Machines Corporation
    Inventors: Binny Sher Gill, Dharmendra Shantilal Modha
  • Patent number: 7698506
    Abstract: A technique for partially offloading, from a main cache in a storage server, the storage of cache tags for data blocks in a victim cache of the storage server, is described. The technique includes storing, in the main cache, a first subset of the cache tag information for each of the data blocks, and storing, in a victim cache of the storage server, a second subset of the cache tag information for each of the data blocks. This technique avoids the need to store the second subset of the cache tag information in the main cache.
    Type: Grant
    Filed: April 26, 2007
    Date of Patent: April 13, 2010
    Assignee: Network Appliance, Inc.
    Inventors: Robert L. Fair, William P. McGovern, Thomas C. Holland, Jason Sylvain
  • Publication number: 20100077153
    Abstract: Computer implemented method, system and computer usable program code for cache management. A cache is provided, wherein the cache is viewed as a sorted array of data elements, wherein a top position of the array is a most recently used position of the array and a bottom position of the array is a least recently used position of the array. A memory access sequence is provided, and a training operation is performed with respect to a memory access of the memory access sequence to determine a type of memory access operation to be performed with respect to the memory access. Responsive to a result of the training operation, a cache replacement operation is performed using the determined memory access operation with respect to the memory access.
    Type: Application
    Filed: September 23, 2008
    Publication date: March 25, 2010
    Applicant: INTERNATIONAL BUSINESS MACHINES CORPORATION
    Inventors: Roch Georges Archambault, Shimin Cui, Chen Ding, Yaoqing Gao, Xiaoming Gu, Raul Esteban Silvera, Chengliang Zhang
  • Patent number: 7684347
    Abstract: This is invention comprises a method and apparatus for Infinite Network Packet Capture System (INPCS). The INPCS is a high performance data capture recorder capable of capturing and archiving all network traffic present on a single network or multiple networks. This device can be attached to Ethernet networks via copper or SX fiber via either a SPAN port (101) router configuration or via an optical splitter (102). By this method, multiple sources or network traffic including gigabit Ethernet switches (102) may provide parallelized data feeds to the capture appliance (104), effectively increasing collective data capture capacity. Multiple captured streams are merged into a consolidated time indexed capture stream to support asymmetrically routed network traffic as well as other merged streams for external consumption.
    Type: Grant
    Filed: May 21, 2009
    Date of Patent: March 23, 2010
    Assignee: Solera Networks
    Inventors: Jeffrey V Merkey, Bryan W Sparks
  • Patent number: 7685356
    Abstract: Chronological identification information is composed of a plurality of cyclic numbers with priorities. For generating new chronological identification information, the chronological relation is compared in order from cyclic numbers with the highest priority to extract the newest chronological identification information in the chronological relation; when the newest chronological identification information in the chronological relation is extracted, a cyclic number with a priority as a comparison target in the extraction of the extracted chronological identification information is determined to be a cyclic number with the priority in the newly generated chronological identification information.
    Type: Grant
    Filed: May 22, 2007
    Date of Patent: March 23, 2010
    Assignee: TDK Corporation
    Inventor: Naoki Mukaida
  • Patent number: 7673102
    Abstract: Techniques for use in CDMA-based products and services, including replacing cache memory allocation so as to maximize residency of a plurality of set ways following a tag-miss allocation. Herein, steps forming a first-in, first-out (FIFO) replacement listing of victim ways for the cache memory, wherein the depth of the FIFO replacement listing approximately equals the number of ways in the cache set. The method and system place a victim way on the FIFO replacement listing only in the event that a tag-miss results in a tag-miss allocation, the victim way is placed at the tail of the FIFO replacement listing after any previously selected victim way. Use of a victim way on the FIFO replacement listing is prevented in the event of an incomplete prior allocation of the victim way by, for example, stalling a reuse request until such initial allocation of the victim way completes or replaying a reuse request until such initial allocation of the victim way completes.
    Type: Grant
    Filed: May 17, 2006
    Date of Patent: March 2, 2010
    Assignee: QUALCOMM Incorporated
    Inventor: Muhammad Ahmed
  • Patent number: 7669009
    Abstract: A method and apparatus for selecting and updating a replacement candidate in a cache is disclosed. In one embodiment, a cache miss may initiate the eviction of a present replacement candidate in a last-level cache. The cache miss may also initiate the selection of a future replacement candidate. Upon the selection of the future replacement candidate, the corresponding cache line may be invalidated in lower-level caches but remain resident in the last-level cache. The future replacement candidate may be updated by subsequent hits to the replacement candidate in the last-level cache prior to a subsequent cache miss.
    Type: Grant
    Filed: September 23, 2004
    Date of Patent: February 23, 2010
    Assignee: Intel Corporation
    Inventors: Sailesh Kottapalli, John H. Crawford
  • Patent number: 7653672
    Abstract: Under program execution environment, a file size of a heap dump is reduced which is acquired so as to detect memory leaks, and so as to investigate occurrence causes of the memory leaks. In order to provide a memory leak investigating means which can be used even in a large-scaled system, the below-mentioned heap dump acquiring method is provided: When a heap dump is acquired, only such an object within objects stored in a heap memory is outputted which is adapted to the following conditions: That is, in a condition (1), an object exists among objects which are newly produced within a designated time period, and in another condition (2), an object is present on a reference path defined from a root set to the object which satisfies the above-explained condition (1).
    Type: Grant
    Filed: May 30, 2006
    Date of Patent: January 26, 2010
    Assignee: Hitachi, Ltd.
    Inventors: Koji Doi, Hiroyasu Nishiyama, Motoki Obata
  • Patent number: 7640399
    Abstract: A system and method for managing a memory system. A system includes a plurality of processing entities and a cache which is shared by the processing entities. Responsive to a replacement event, circuitry may identify data entries of the shared cache which are candidates for replacement. Data entries which have been identified as candidates for replacement may be removed as candidates for replacement in response to detecting the data entry corresponds to data which is shared by at least two of the plurality of processing entities. The circuitry may maintain an indication as to which of the processing entities caused an initial allocation of data into the shared cache. When the circuitry detects that a particular data item is accessed by a processing entity other than a processing entity which caused an allocation of the given data item, the data item may be deemed classified as shared data.
    Type: Grant
    Filed: May 10, 2006
    Date of Patent: December 29, 2009
    Assignee: Advanced Micro Devices, Inc.
    Inventors: Kevin M. Lepak, Roger D. Isaac
  • Patent number: 7640276
    Abstract: Provided is a backup method including a step (S1) of reading a log which is a data update difference, and identifying a data storage area (page) of backup data, a step (S2) of determining high/low reusability of the identified data storage area, a step (S3) of storing a log corresponding to a data storage area determined to be low in reusability in a log storage area preset on a memory, and a step (S4) of applying a log corresponding to a data storage area determined to be high in reusability to the identified data storage area in a cache area set on the memory, and updating the data storage area. Thus, by further reducing the number of I/O times in an external storage system of a standby system which backs up data by log transfer, it is possible to reduce introduction costs of a backup system and its normal-time operation's costs at normal times.
    Type: Grant
    Filed: May 19, 2005
    Date of Patent: December 29, 2009
    Assignee: Hitachi, Ltd.
    Inventors: Satoru Watanabe, Yoshio Suzuki, Shinji Fujiwara
  • Publication number: 20090307364
    Abstract: In a communication apparatus for communicating based on a communication protocol, context information relating to a connection of the communication protocol is held and managed. The timer used in the communication protocol is used for time-count process, a notification of timeout of the timer is given in advance, and when the notification of timeout is given in advance, an instruction for pre-load is given so that the context information is stored in the cache memory. Thereby, upon timeout of the timer, the context information is stored in the cache memory.
    Type: Application
    Filed: May 26, 2009
    Publication date: December 10, 2009
    Applicant: CANON KABUSHIKI KAISHA
    Inventor: Masami Shimakura
  • Patent number: 7627719
    Abstract: The invention provides a cache device and method for performing a cache process on a cache memory having a high capacity in a high speed. The cache processing section performs a cache process composed of two-stage processes, a query process (P1) and a subsequent process (P2). In the query process (P1), the respective index tables and the identifier table are used to query whether the target identifier is present in the cache memory at a step (S101). If it is present, a data address of the target identifier in the cache memory is transmitted to the CPU. Otherwise, a data address of an identifier for a previously prepared ultimate LRU in the cache memory is transmitted to the CPU at a step (S102). In a subsequent process (P2), adjustment operations for the respective tables, regarding insertion of an identifier for a new data and deletion of the identifier for the ultimate LRU data, are performed at a step (S201).
    Type: Grant
    Filed: February 18, 2005
    Date of Patent: December 1, 2009
    Inventor: Deyuan Wang
  • Patent number: 7613877
    Abstract: A storage system comprises a volatile cache memory, and a non-volatile memory, which is a type of memory that can continue to memorize data irrespective of whether or not power is supplied. The temporary storage address of data following access commands from the upper level device shall be the volatile cache memory. If power is not supplied from primary power source to the volatile cache memory, power supplied from a battery is used to copy data memorized in volatile cache memory to non-volatile memory.
    Type: Grant
    Filed: December 13, 2006
    Date of Patent: November 3, 2009
    Assignee: Hitachi, Ltd.
    Inventors: Norio Shimozono, Akira Fujibayashi
  • Publication number: 20090235030
    Abstract: A cache system includes processing units operative to access a main memory device, caches coupled in one-to-one correspondence to the processing units, and a controller coupled to the caches to control data transfer between the caches and data transfer between the main memory and the caches, wherein the controller includes a memory configured to store first information and second information separately for each index, the first information indicating an order of oldness of entries in each one of the caches, and the second information indicating an order of oldness of entries for the plurality of the caches, and a logic circuit configured to select an entry to be evicted and its destination in response to the first and second information when an entry of an index corresponding to an accessed address is to be evicted from a cache corresponding to the processing unit that accesses the main memory device.
    Type: Application
    Filed: May 21, 2009
    Publication date: September 17, 2009
    Applicant: FUJITSU LIMITED
    Inventors: Yi Ge, Shinichiro Tago
  • Patent number: 7590742
    Abstract: Managing addresses to be assigned to users of an IP network is described, in which it is detected that a packet has been addressed to a released address held in a queue for holding released addresses, and the held address to which the packet has been addressed is returned to the end of the queue.
    Type: Grant
    Filed: March 3, 2004
    Date of Patent: September 15, 2009
    Assignee: Nokia Corporation
    Inventor: Lassi Hippelainen
  • Publication number: 20090219829
    Abstract: This is invention comprises a method and apparatus for Infinite Network Packet Capture System (INPCS). The INPCS is a high performance data capture recorder capable of capturing and archiving all network traffic present on a single network or multiple networks. This device can be attached to Ethernet networks via copper or SX fiber via either a SPAN port (101) router configuration or via an optical splitter (102). By this method, multiple sources or network traffic including gigabit Ethernet switches (102) may provide parallelized data feeds to the capture appliance (104), effectively increasing collective data capture capacity. Multiple captured streams are merged into a consolidated time indexed capture stream to support asymmetrically routed network traffic as well as other merged streams for external consumption.
    Type: Application
    Filed: May 21, 2009
    Publication date: September 3, 2009
    Applicant: SOLERA NETWORKS, INC.
    Inventors: Jeffrey V. Merkey, Bryan W. Sparks
  • Patent number: 7584231
    Abstract: A method is provided enabling concurrent garbage collection of a young generation of a task with other tasks executing in a multi-tasking virtual machine. A first record is provided for each thread which has a value in an old generation memory after each thread successfully allocates an object in the old generation memory. A second record is provided for each thread which has a memory address value. Threads of a garbage-collecting task are stopped and an end of scan value for the task is calculated. Garbage collection on threads associated the garbage-collected task are permitted when one of two conditions involving either second records or second records and first records are met.
    Type: Grant
    Filed: May 25, 2006
    Date of Patent: September 1, 2009
    Assignee: Sun Microsystems, Inc.
    Inventors: Laurent Daynès, Andrew McClure, Grzegorz J. Czajkowski
  • Patent number: 7584326
    Abstract: Techniques for use in CDMA-based products and services, including replacing cache memory allocation so as to maximize residency of a plurality of set ways following a tag miss allocation. Herein, steps and instructions provide for forming a first-in, first-out (FIFO) cache way listing of victim ways for the cache memory, wherein the depth of the FIFO cache way listing approximately equals the number of ways in the cache memory. The method and system place a victim way on the FIFO cache way listing only in the event that a tag miss results in a tag miss allocation, the victim way is placed at the tail of the FIFO cache way listing after any previously selected victim way. Use of a victim way on the FIFO cache way listing is prevented in the event of an incomplete prior allocation of the victim way by, for example, stalling a reuse request until such initial allocation of the victim way completes or replaying a reuse request until such initial allocation of the victim way completes.
    Type: Grant
    Filed: September 12, 2006
    Date of Patent: September 1, 2009
    Assignee: QUALCOMM Incorporated
    Inventor: Muhammad Ahmed
  • Publication number: 20090216955
    Abstract: A two pipe pass method for least recently used (LRU) compartment capture in a multiprocessor system. The method includes receiving a fetch request via a requesting processor and accessing a cache directory based on the received fetch request, performing a first pipe pass by determining whether a fetch hit or a fetch miss has occurred in the cache directory, and determining an LRU compartment associated with a specified congruence class of the cache directory based on the fetch request received, when it is determined that a fetch miss has occurred, and performing a second pipe pass by using the LRU compartment determined and the specified congruence class to access the cache directory and to select an LRU address to be cast out of the cache directory.
    Type: Application
    Filed: February 22, 2008
    Publication date: August 27, 2009
    Applicant: INTERNATIONAL BUSINESS MACHINES CORPORATION
    Inventors: Arthur J. O'Neill, JR., Michael F. Fee, Pak-kin Mak
  • Patent number: 7581065
    Abstract: A processor includes a multi-level cache hierarchy where locality information property such as a Low Locality of Reference (LLR) property is associated with a cache line. The LLR cache line retains the locality information and may move back and forth within the cache hierarchy until evicted from the outer-most level of the cache hierarchy.
    Type: Grant
    Filed: April 7, 2005
    Date of Patent: August 25, 2009
    Inventors: Dennis M. O'Connor, Michael W. Morrow
  • Publication number: 20090204767
    Abstract: The exemplary embodiment of the present invention relates to a generalized LRU algorithm is provided that is associated with a specified cache associativity line set value that is determined by a system user. As configured, the LRU algorithm as presented can comprise n-levels for an LRU tree, each specified tree being individually analyzed within the LRU algorithm. Within each LRU tree level comprises the associativity line value can be further broken down into sub-analysis groups of any desired configuration, however, the total sub-analysis group configuration must equal the specified cache associativity line value.
    Type: Application
    Filed: February 13, 2008
    Publication date: August 13, 2009
    Applicant: INTERNATIONAL BUSINESS MACHINES CORPORATION
    Inventors: David S. Hutton, Keith N. Langston, Kathryn M. Jackson, Hanno Ulrich, Craig R. Walters
  • Publication number: 20090204768
    Abstract: A runtime code manipulation system is provided that supports code transformations on a program while it executes. The runtime code manipulation system uses code caching technology to provide efficient and comprehensive manipulation of an application running on an operating system and hardware. The code cache includes a system for automatically keeping the code cache at an appropriate size for the current working set of an application running.
    Type: Application
    Filed: December 30, 2008
    Publication date: August 13, 2009
    Inventors: Derek L. Bruening, Saman P. Amarasinghe
  • Publication number: 20090198901
    Abstract: A computer system includes a main memory for storing a large amount of data, a cache memory that can be accessed at a higher speed than the main memory, a memory replacement controller for controlling the replacement of data between the main memory and the cache memory, and a memory controller capable of allocating one or more divided portions of the cache memory to each process unit. The memory replacement controller stores priority information for each process unit, and replaces lines of the cache memory based on a replacement algorithm taking the priority information into consideration, wherein the divided portions of the cache memory are allocated so that the storage area is partially shared between process units, after which the allocated amounts of cache memory are changed automatically.
    Type: Application
    Filed: October 8, 2008
    Publication date: August 6, 2009
    Inventor: Yoshihiro Koga
  • Publication number: 20090193196
    Abstract: The proposed system and associated algorithm when implemented improves the processor cache miss rates and overall cache efficiency in multi-core environments in which multiple CPU's share a single cache structure (as an example). The cache efficiency will be improved by tracking CPU core loading patterns such as miss rate and minimum cache line load threshold levels. Using this information along with existing cache eviction method such as LRU, results in determining which cache line from which CPU is evicted from the shared cache when a capacity conflict arises. This methodology allows one to dynamically allocate shared cache entries to each core within the socket based on the particular core's frequency of shared cache usage.
    Type: Application
    Filed: November 16, 2008
    Publication date: July 30, 2009
    Inventors: Marcus Lathan Kornegay, Ngan Ngoc Pham
  • Publication number: 20090182953
    Abstract: This is invention comprises a method and apparatus for Infinite Network Packet Capture System (INPCS). The INPCS is a high performance data capture recorder capable of capturing and archiving all network traffic present on a single network or multiple networks. This device can be attached to Ethernet networks via copper or SX fiber via either a SPAN port (101) router configuration or via an optical splitter (102). By this method, multiple sources or network traffic including gigabit Ethernet switches (102) may provide parallelized data feeds to the capture appliance (104), effectively increasing collective data capture capacity. Multiple captured streams are merged into a consolidated time indexed capture stream to support asymmetrically routed network traffic as well as other merged streams for external consumption.
    Type: Application
    Filed: April 1, 2009
    Publication date: July 16, 2009
    Applicant: SOLERA NETWORKS. INC.
    Inventors: JEFFREY V. MERKEY, BRYAN W. SPARKS
  • Publication number: 20090182952
    Abstract: A cache stores information in each of a plurality of cache lines. Addressing circuitry receives memory addresses for comparison with multiple ways of stored addresses to determine a hit condition representing a match of a stored address and a received address. A pseudo least recently used (PLRU) tree circuit stores one or more states of a PLRU tree and implements a tree having a plurality of levels beginning with a root and indicates one of a plurality of ways in the cache. Each level has one or more nodes. Multiple nodes within a same level are child nodes to a parent node of an immediately higher level. PLRU update circuitry that is coupled to the addressing circuitry and the PLRU tree circuit receives lock information to lock one or more lines of the cache and prevent a PLRU tree state from selecting a locked line.
    Type: Application
    Filed: January 15, 2008
    Publication date: July 16, 2009
    Inventor: William C. Moyer
  • Publication number: 20090182951
    Abstract: Methods and apparatus allowing a choice of Least Frequently Used (LFU) or Most Frequently Used (MFU) cache line replacement are disclosed. The methods and apparatus determine new state information for at least two given cache lines of a number of cache lines in a cache, the new state information based at least in part on prior state information for the at least two given cache lines. Additionally, when an access miss occurs in one of the at least two given lines, the methods and apparatus (1) select either LFU or MFU replacement criteria, and (2) replace one of the at least two given cache lines based on the new state information and the selected replacement criteria. Additionally, a cache for replacing MFU cache lines is disclosed.
    Type: Application
    Filed: May 30, 2008
    Publication date: July 16, 2009
    Applicant: International Business Machines Corporation
    Inventors: Richard Edward Matick, Jaime H. Moreno, Malcolm Scott Ware
  • Publication number: 20090177844
    Abstract: The present invention relates generally to a method and system for efficiently identifying a cache entry for cast out in relation to scanning a predetermined sampling subset of pseudo-randomly sampled cached entries and determining a least recently used (LRU) entry from the scanned cached entries subset, thereby avoiding a comprehensive review of all of or groups of the cached entries in the cache at any instant. In one or more implementations, a subset of the data entries in a cache are randomly sampled, assessed by timestamp in a doubly-linked listing and a least recently used data entry to cast out is identified.
    Type: Application
    Filed: January 8, 2008
    Publication date: July 9, 2009
    Applicant: International Business Machines Corporation
    Inventors: Bruce Eric Naylor, David Edwin Ormsby, Betty Joan Patterson
  • Patent number: 7558921
    Abstract: A method and means are provided for increasing both the MMBR (minimum misses before replaceable) and MHBR (minimum hits before replaceable) parameters for a virtual 3-way cache, consisting of three unlocked sets, from one to two. Thus, a minimum of two accesses to the sets B, C and D would be required, before a previously accessed set becomes the LRU. In one embodiment, a method is provided for selecting a data set for replacement in a locking cache that includes at least four data sets. Initially, a 4-way binary tree LRU associated with at least some of the sets of the locking cache is specified or configured, wherein the binary tree has a top level LRU bit, a first branch having one locked set and one unlocked set, and a second branch having two unlocked sets. The first and second branches are each provided with an LRU bit.
    Type: Grant
    Filed: August 16, 2005
    Date of Patent: July 7, 2009
    Assignee: International Business Machines Corporation
    Inventors: Ronald P. Hall, Gavin Balfour Meil
  • Publication number: 20090172285
    Abstract: A method and apparatus for tracking temporal use associated with cache evictions to reduce allocations in a victim cache is disclosed. Access data for a number of sets of instructions in an instruction cache is tracked at least until the data for one or more of the sets reach a predetermined threshold condition. Determinations whether to allocate entry storage in the victim cache may be made responsive in part to the access data for sets reaching the predetermined threshold condition. A micro-operation can be inserted into the execution pipeline in part to synchronize the access data for all the sets. Upon retirement of the micro-operation from the execution pipeline, access data for the sets can be synchronized and/or any previously allocated entry storage in the victim cache can be invalidated.
    Type: Application
    Filed: December 29, 2007
    Publication date: July 2, 2009
    Inventors: Peter J. Smith, Mongkol Ekpanyapong, Harikrishna Baliga, Ilhyun Kim
  • Publication number: 20090172291
    Abstract: A method and apparatus for efficiently caching streaming and non-streaming data is described herein. Software, such as a compiler, identifies last use streaming instructions/operations that are the last instruction/operation to access streaming data for a number of instructions or an amount of time. As a result of performing an access to a cache line for a last use instruction/operation, the cache line is updated to a streaming data no longer needed (SDN) state. When control logic is to determine a cache line to be replaced, a modified Least Recently Used (LRU) algorithm is biased to select SDN state lines first to replace no longer needed streaming data.
    Type: Application
    Filed: December 31, 2007
    Publication date: July 2, 2009
    Inventors: Eric Sprangle, Anwar Rohillah, Robert Cavin
  • Patent number: 7555610
    Abstract: The cache memory in the present invention includes a C flag setting unit 40 which adds, to each cache entry holding line data, a cleaning flag C indicating whether or not a write operation will be performed hereafter, and a cleaning unit 39 which writes back, to the memory, line data of a cache entry that has been added with a cleaning flag C indicating that a write operation will not be performed, and has been set with a dirty flag D indicating that the cache entry has been written into.
    Type: Grant
    Filed: November 2, 2004
    Date of Patent: June 30, 2009
    Assignee: Panasonic Corporation
    Inventors: Hazuki Okabayashi, Ryuta Nakanishi, Tetsuya Tanaka
  • Patent number: 7552195
    Abstract: A preloader works in conjunction with a web/app server and optionally a profile server to cache web page content elements or components for faster on-demand and anticipatory dynamic web page delivery. The preloader uses a cache manager to manage requests for retrievals, insertions, and removal of web page components in a component cache. The preloader uses a cache replacement manager to manage the replacement of components in the cache. While the cache replacement manager may utilize any cache replacement policy, a particularly effective replacement policy utilizes predictive information to make replacement decisions. Such a policy uses a profile server, which predicts a user's next content request. The components that can be cached are identified by tagging them within the dynamic scripts that generate them. The preloader caches components that are likely to be accessed next, thus improving a web site's scalability.
    Type: Grant
    Filed: September 16, 2003
    Date of Patent: June 23, 2009
    Assignee: Integrated Architecture, LLC
    Inventor: Anindya Datta
  • Publication number: 20090150617
    Abstract: A method, apparatus, and computer for identifying selection of a bad victim during victim selection at a cache and recovering from such bad victim selection without causing the system to crash or suspend forward progress of the victim selection process. Among the bad victim selection addressed are recovery from selection of a deleted member and recovery from use of LRU state bits that do not map to a member within the congruence class. When LRU victim selection logic generates an output vector identifying a victim, the output vector is checked to ensure that it is a valid vector (non-null) and that it is not pointing to a deleted member. When the output vector is not valid or points to a deleted member, the LRU victim selection logic is triggered to re-start the victim selection process.
    Type: Application
    Filed: December 6, 2007
    Publication date: June 11, 2009
    Inventors: ROBERT H. BELL, JR., Guy Lynn Guthrie, William John Starke
  • Patent number: 7546419
    Abstract: A method is disclosed which may include providing a cache in a computing system having an initial group of cache objects, the cache object having an initial compression ratio and including stored data; decreasing an amount of data storage space in the cache occupied by at least one of the cache objects other than a given one of the cache objects; and increasing an amount of data storage space in the cache occupied by the given cache object.
    Type: Grant
    Filed: June 1, 2005
    Date of Patent: June 9, 2009
    Inventor: Blaise Aguera y Arcas
  • Patent number: 7543109
    Abstract: A method for caching data in a blade computing complex includes providing a storage blade that includes a disk operative to store pages of data and a cache memory operative to store at least one of the pages. A processor blade is provided that includes a first memory area to store at least one of the pages and a second memory area configured to store an address of each of the pages and a hint value that is assigned to each of the pages. An address of each of the pages is stored in the second memory area, and a hint is assigned to each of the pages, where the hint is one of: likely to be accessed, may be accessed, and unlikely to be accessed. The page is then stored in storage blade cache memory based on the hint.
    Type: Grant
    Filed: May 16, 2008
    Date of Patent: June 2, 2009
    Assignee: International Business Machines Corporation
    Inventors: Robert H. Bell, Jr., Jose R. Escalera, Octavian F. Herescu, Vernon W. Miller, Michael D. Roll
  • Patent number: 7536512
    Abstract: The eviction candidate sorting tool (ECST) is used with existing eviction algorithms that utilize a database for tracking objects stored in a cache. Rather than storing all the metadata associated with an object in a cache, the ECST extracts only certain attributes from the metadata, creating an “evict table” listing all the cached objects and the chosen attributes, or “classes.” The table can be sorted by class based on an eviction algorithm. An eviction mechanism can use the sorted table to identify candidates for eviction.
    Type: Grant
    Filed: September 14, 2006
    Date of Patent: May 19, 2009
    Assignee: International Business Machines Corporation
    Inventors: Madhu Chetuparambil, Andrew C. Chow, Andrew Ivory, Nirmala Kodali
  • Patent number: 7533239
    Abstract: A self-tuning, low overhead, simple to implement, locally adaptive, novel cache management policy that dynamically and adaptively partitions the cache space amongst sequential and random streams so as to reduce read misses.
    Type: Grant
    Filed: February 19, 2008
    Date of Patent: May 12, 2009
    Assignee: International Business Machines Corporation
    Inventors: Binny Sher Gill, Dharmendra Shantilal Modha
  • Publication number: 20090113137
    Abstract: A multi-way cache system includes multi-way cache storage circuitry, a pseudo least recently used (PLRU) tree state representative of a PLRU tree, the PLRU tree having a plurality of levels, and PLRU control circuitry coupled to the multi-way cache storage circuitry and the PLRU tree state. The PLRU control circuitry has programmable PLRU tree level update enable circuitry which selects Y levels of the plurality of levels of the PLRU tree to be updated. The PLRU control circuitry, in response to an address hitting or resulting in an allocation in the multi-way cache storage circuitry, updates only the selected Y levels of the PLRU tree state.
    Type: Application
    Filed: October 30, 2007
    Publication date: April 30, 2009
    Inventors: Brian C. Grayson, Klas M. Bruce, Anhdung D. Ngo, Michael D. Snyder
  • Patent number: 7526607
    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: September 22, 2005
    Date of Patent: April 28, 2009
    Assignee: Juniper Networks, Inc.
    Inventors: Amit P. Singh, Balraj Singh, Vanco Burzevski
  • Publication number: 20090106496
    Abstract: A system comprises processing logic that issues a request associated with an address. The system comprises a first cache that comprises a plurality of line frames. Each line frame has a status bit indicative of how recently that line frame has been accessed. The system comprises a second cache comprising another line frame having another status bit that is indicative of how recently the another line frame has been accessed. The another line frame comprises data other than the another status bit. If one of the plurality of line frames comprises the data associated with the address and the status bit associated with the one of the plurality of line frames is in a predetermined state, the first cache generates a hint transaction signal which is used to update the another status bit. The hint transaction signal does not cause the data to be updated.
    Type: Application
    Filed: October 19, 2007
    Publication date: April 23, 2009
    Inventor: Patrick KNEBEL
  • Publication number: 20090106497
    Abstract: An apparatus includes a processor which issues a plurality of commands including an identifier for classifying each of the commands, a cache memory which includes a plurality of ways to store a data corresponding to a command, wherein the cache memory includes a register to store the identifier, the register corresponding to at least one of the ways being fixed, the fixed way exclusively storing the data corresponding to the identifier during which the register stores the identifier, a replacement controller which selects a replacement way based on a predetermined replacement algorithm in case of a cache miss, and excludes the fixed way from a candidate of the replacement way when the register corresponding to the fixed way stores the identifier.
    Type: Application
    Filed: September 8, 2008
    Publication date: April 23, 2009
    Applicant: NEC CORPORATION
    Inventor: Koji Kobayashi
  • Patent number: 7516275
    Abstract: A computer implemented method and system for managing replacement of sets in a locked cache. A cache access by a program is performed, and a side of a binary tree pointed to by a base leaf is identified. A determination is made as to whether a number of accesses to the identified side of the binary tree equals a number of sets associated with the program on the identified side. The base leaf is changed to point to an opposite side of the binary tree if the number of accesses to the identified side equals the number of sets associated with the program on the identified side.
    Type: Grant
    Filed: April 25, 2006
    Date of Patent: April 7, 2009
    Assignee: International Business Machines Corporation
    Inventors: Jonathan James DeMent, Ronald P. Hall, Brian Patrick Hanley, Kevin C. Stelzer
  • Publication number: 20090089509
    Abstract: Systems and methods for cache replacement monitoring (CRM) are provided. The system includes a monitored cache comprising a monitored cache line set, the monitored cache line set comprising at least one cache line capable of holding data of a monitored address; and a CRM mechanism operatively associated with the monitored cache. The CRM mechanism collects CRM information for the monitored address. The method includes the steps of collecting CRM information for a monitored address in a monitored cache; and recording the CRM information for the monitored address, when at least one of (1) the monitored address is cached in the monitored cache, (2) the monitored address is replaced in the monitored cache, (3) any cache line in a cache line set corresponding to the monitored address is cached in the monitored cache, and (4) any cache line in a cache line set corresponding to the monitored address is replaced in the monitored cache.
    Type: Application
    Filed: June 9, 2008
    Publication date: April 2, 2009
    Inventors: XIAOWEI SHEN, Yefim Shuf, Peter F. Sweeney
  • Patent number: 7512739
    Abstract: Exemplary embodiments include a method for updating an Cache LRU tree including: receiving a new cache line; traversing the Cache LRU tree, the Cache LRU tree including a plurality of nodes; biasing a selection the victim line toward those lines with relatively low priorities from the plurality of lines; and replacing a cache line with a relatively low priority with the new cache line.
    Type: Grant
    Filed: July 5, 2006
    Date of Patent: March 31, 2009
    Assignee: International Business Machines Corporation
    Inventors: Aaron C. Sawdey, Steven P. VanderWiel
  • Patent number: 7509470
    Abstract: A self-tuning, low overhead, simple to implement, locally adaptive, novel cache management policy that dynamically and adaptively partitions the cache space amongst sequential and random streams so as to reduce read misses.
    Type: Grant
    Filed: February 18, 2008
    Date of Patent: March 24, 2009
    Assignee: International Business Machines Corporation
    Inventors: Binny Sher Gill, Dharmendra Shantilal Modha