Least Recently Used Patents (Class 711/136)
  • Publication number: 20120096226
    Abstract: A two-level replacement scheme is provided for selecting an entry in a cache memory to replace when a cache miss takes place and the memory is full. The scheme divides the tags associated with each memory location of the cache into two or more groups, each group relating to a subset of memory locations of the cache. The scheme uses a first algorithm to select one of the groups and passes the tags for the group through a second algorithm. The second algorithm produces a local index which, when combined with a group index, produces a replacement index that identifies a memory location in the cache to replace.
    Type: Application
    Filed: October 18, 2010
    Publication date: April 19, 2012
    Inventors: Stephen P. Thompson, Robert Krick, Tarun Nakra
  • Patent number: 8161240
    Abstract: Systems, methods and computer readable media for cache management. Cache management can operate to organize pages into files and score the respective files stored in a cache memory. The organized pages can be stored to an optical storage media based upon the organization of the files and based upon the score associated with the files.
    Type: Grant
    Filed: October 10, 2007
    Date of Patent: April 17, 2012
    Assignee: Apple Inc.
    Inventor: Wenguang Wang
  • Patent number: 8161244
    Abstract: A first portion of an identifier can be used to assign the identifier to a slot in a first directory. The identifier can identify a cache unit in a cache. It can be determined whether assignment of the identifier to the slot in the first directory will result in the identifier and one or more other identifiers being assigned to the same slot in the first directory. If so, then the technique can include (1) using a second portion of the identifier to assign the identifier to a slot in a second directory; and (2) assigning the one or more other identifiers to one or more slots in the second directory. In addition, it can be determined whether a directory in a cache lookup data structure includes more than one pointer. If not, then a parent pointer that points to the subject directory can be removed.
    Type: Grant
    Filed: May 13, 2009
    Date of Patent: April 17, 2012
    Assignee: Microsoft Corporation
    Inventors: Muralidhar Krishnaprasad, Sudhir Mohan Jorwekar, Sharique Muhammed, Subramanian Muralidhar, Anil K. Nori
  • Publication number: 20120089784
    Abstract: An apparatus and a method for providing amortized lock access in a data container is described. Each access from each thread of a process in a memory to each object of a data container in the memory is recorded in a queue of the data container. A queue manager determines whether the recorded number of accesses in the queue has reached a predetermined threshold. The queue manager executes a lock algorithm and an eviction algorithm on all objects in the data container when the recorded number of accesses in the queue has reached the predetermined threshold. The lock algorithm is configured to lock objects in the data container while the eviction algorithm is performed on the data container. The eviction algorithm is configured to evict one or more objects from the data container pursuant to the eviction algorithm.
    Type: Application
    Filed: October 12, 2010
    Publication date: April 12, 2012
    Applicant: RED HAT, INC.
    Inventors: Manik Surtani, Vladimire Blagojevic
  • Publication number: 20120084515
    Abstract: The present disclosure relates to a cache memory controller for controlling a set-associative cache memory, in which two or more blocks are arranged in the same set, the cache memory controller including a content modification status monitoring unit for monitoring whether some of the blocks arranged in the same set of the cache memory have been modified in contents, and a cache block replacing unit for replacing a block, which has not been modified in contents, if some of the blocks arranged in the same set have been modified in contents.
    Type: Application
    Filed: September 2, 2009
    Publication date: April 5, 2012
    Inventor: Gi Ho Park
  • Publication number: 20120084514
    Abstract: Provided are a computer program product, system, and method for locking a cache line for a burst write operations on a bus. A cache line is allocated in a cache for a target address. A lock is set for the cache line, wherein setting the lock prevents the data in the cache line from being cast out. Data is written to the cache line. All the data in the cache line is flushed to the target address over a bus in response to completing writing to the cache line.
    Type: Application
    Filed: October 4, 2010
    Publication date: April 5, 2012
    Applicant: INTERNATIONAL BUSINESS MACHINES CORPORATION
    Inventors: Stephen L. Blinick, Charles S. Cardinell, Roger G. Hathorn, Bernhard Laubli, Miguel A. Montoya, Timothy J. Van Patten
  • Publication number: 20120072671
    Abstract: A prefetch filter receives a memory read request having an associated address for accessing data that is stored in a line of memory. An address window is determined that has an address range that encompasses an address space that is twice as large as the line of memory. In response to a determination of in which half the address window includes the requested line of memory, a prefetch direction is to a first direction or to an opposite direction. The prefetch filter can include an array of slots for storing a portion of a next predicted access and determine a memory stream in response to a hit on the array by a subsequent memory request. The prefetch filter FIFO counter cycles through the slots of the array before wrapping around to a first slot of the array for storing a next predicted address portion.
    Type: Application
    Filed: August 18, 2011
    Publication date: March 22, 2012
    Inventors: Kai Chirca, Joseph R.M. Zbiciak, Matthew D. Pierson, Timothy D. Anderson
  • Publication number: 20120072670
    Abstract: A method for metadata management in a storage system configured for supporting sub-LUN tiering. The method may comprise providing a metadata queue of a specific size; determining whether the metadata for a particular sub-LUN is cached in the metadata queue; updating the metadata for the particular sub-LUN when the metadata for the particular sub-LUN is cached in the metadata queue; inserting the metadata for the particular sub-LUN to the metadata queue when the metadata queue is not full and the metadata is not cached; replacing an entry in the metadata queue with the metadata for the particular sub-LUN when the metadata queue is full and the metadata is not cached; and identifying at least one frequently accessed sub-LUN for moving to a higher performing tier in the storage system, the at least one frequently accessed sub-LUN being identified based on the metadata cached in the metadata queue.
    Type: Application
    Filed: September 21, 2010
    Publication date: March 22, 2012
    Applicant: LSI CORPORATION
    Inventor: Martin Jess
  • Patent number: 8140757
    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. 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: January 17, 2011
    Date of Patent: March 20, 2012
    Assignee: Juniper Networks, Inc.
    Inventors: Amit P. Singh, Balraj Singh, Vanco Burzevski
  • Patent number: 8140767
    Abstract: The illustrative embodiments provide a method, apparatus, and computer program product for managing a number of cache lines in a cache. In one illustrative embodiment, it is determined whether activity on a memory bus in communication with the cache exceeds a threshold activity level. A least important cache line is located in the cache responsive to a determination that the threshold activity level is exceeded, wherein the least important cache line is located using a cache replacement scheme. It is determined whether the least important cache line is clean responsive to the determination that the threshold activity level is exceeded. The least important cache line is selected for replacement in the cache responsive to a determination that the least important cache line is clean.
    Type: Grant
    Filed: June 4, 2009
    Date of Patent: March 20, 2012
    Assignee: International Business Machines Corporation
    Inventors: Gordon Bernard Bell, Anil Krishna, Brian Michael Rogers, Ken Van Vu
  • Patent number: 8131936
    Abstract: A method and apparatus for implementing a combined data/coherency cache for a shared memory multi-processor. The combined data/coherency cache includes a system cache with a number of entries. The method includes building a system cache directory with a number of entries equal to the number of entries of the system cache. The building includes designating a number of sub-entries for each entry which is determined by a number of sub-entries operable for performing system cache coherency functions. The building also includes providing a sub-entry logic designator for each entry, and mapping one of the sub-entries for each entry to the system cache via the sub-entry logic designator.
    Type: Grant
    Filed: February 11, 2005
    Date of Patent: March 6, 2012
    Assignee: International Business Machines Corporation
    Inventors: Keith N. Langston, Pak-kin Mak, Bruce A. Wagar
  • Patent number: 8131931
    Abstract: One embodiment of the invention is a method for evicting data from an intermediary cache that includes the steps of receiving a command from a client, determining that there is a cache miss relative to the intermediary cache, identifying one or more cache lines within the intermediary cache to store data associated with the command, determining whether any of data residing in the one or more cache lines includes raster operations data or normal data, and causing the data residing in the one or more cache lines to be evicted or stalling the command based, at least in part, on whether the data includes raster operations data or normal data. Advantageously, the method allows a series of cache eviction policies based on how cached data is categorized and the eviction classes of the data. Consequently, more optimized eviction decisions may be made, leading to fewer command stalls and improved performance.
    Type: Grant
    Filed: October 22, 2008
    Date of Patent: March 6, 2012
    Assignee: NVIDIA Corporation
    Inventors: James Roberts, David B. Glasco, Patrick R. Marchand, Peter B. Holmqvist, George R. Lynch, John H. Edmondson
  • Publication number: 20120054446
    Abstract: A computer-implemented method, computer program product, and system are provided for implementing a cache offloader. A current cache memory usage is compared with a memory threshold. Responsive to the current cache memory usage exceeding the memory threshold, cache records are selected to be offloaded. Available memory in a plurality of computer systems is identified and the selected cache records are sent to the identified available memory. Transactional systems are dynamically enabled to use memory cache across multiple connected computer systems on demand eliminating conventional evictor and data miss issues that adversely impact performance.
    Type: Application
    Filed: September 1, 2010
    Publication date: March 1, 2012
    Applicant: INTERNATIONAL BUSINESS MACHINES CORPORATION
    Inventor: Hao Wang
  • Publication number: 20120054447
    Abstract: A method for removing cache blocks from a cache queue includes detecting a first cache miss for the cache queue, identifying, within the cache queue, a new cache block storing a value of a storage block, calculating an estimated cache miss cost for a storage container having the storage block, calculating a removal probability for the storage container based on a mathematical formula of the estimated cache miss cost, randomly selecting a probability number from a uniform distribution, where the removal probability exceeds the probability number, and evicting, in response to the removal probability exceeding the probability number, the new cache block from the cache queue.
    Type: Application
    Filed: January 14, 2011
    Publication date: March 1, 2012
    Applicant: ORACLE INTERNATIONAL CORPORATION
    Inventors: Garret Frederick Swart, David Vengerov
  • Patent number: 8122197
    Abstract: A method and apparatus for managing coherence between two processors of a two processor node of a multi-processor computer system. Generally the present invention relates to a software algorithm that simplifies and significantly speeds the management of cache coherence in a message passing parallel computer, and to hardware apparatus that assists this cache coherence algorithm. The software algorithm uses the opening and closing of put/get windows to coordinate the activated required to achieve cache coherence. The hardware apparatus may be an extension to the hardware address decode, that creates, in the physical memory address space of the node, an area of virtual memory that (a) does not actually exist, and (b) is therefore able to respond instantly to read and write requests from the processing elements.
    Type: Grant
    Filed: August 19, 2009
    Date of Patent: February 21, 2012
    Assignee: International Business Machines Corporation
    Inventors: Matthias A. Blumrich, Dong Chen, Paul W. Coteus, Alan G. Gara, Mark E. Giampapa, Philip Heidelberger, Dirk Hoenicke, Martin Ohmacht
  • Patent number: 8117397
    Abstract: A cache memory includes a cache array including a plurality of congruence classes each containing a plurality of cache lines, where each cache line belongs to one of multiple classes which include at least a first class and a second class. The cache memory also includes a cache directory of the cache array that indicates class membership. The cache memory further includes a cache controller that selects a victim cache line for eviction from a congruence class. If the congruence class contains a cache line belonging to the second class, the cache controller preferentially selects as the victim cache line a cache line of the congruence class belonging to the second class based upon access order. If the congruence class contains no cache line belonging to the second class, the cache controller selects as the victim cache line a cache line belonging to the first class based upon access order.
    Type: Grant
    Filed: December 16, 2008
    Date of Patent: February 14, 2012
    Assignee: International Business Machines Corporation
    Inventors: Guy L. Guthrie, Thomas L. Jeremiah, William L. McNeil, Piyush C. Patel, William J. Starke, Jeffrey A. Stuecheli
  • Patent number: 8112589
    Abstract: To ensure efficient access to a memory whose writing process is slow. There is provided a storage device for caching data read from a main memory and data to be written in the main memory, comprises a cache memory having a plurality of cache segments, one or more cache segments holding data matching with data in the main memory being set in a protected state to protect the cache segments from a rewrite state, an upper limit of a number of the one or more cache segments being a predetermined reference number; and a cache controller that, in accordance with a write cache miss, allocates a cache segment selected from those cache segments which are not in the protected state to cache write data and writes the write data in the selected cache segment.
    Type: Grant
    Filed: February 26, 2008
    Date of Patent: February 7, 2012
    Assignee: International Business Machines Corporation
    Inventors: Nobuyuki Harada, Takeo Nakada
  • Patent number: 8108614
    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: Grant
    Filed: December 31, 2007
    Date of Patent: January 31, 2012
    Inventors: Eric Sprangle, Anwar Rohillah, Robert Cavin
  • Publication number: 20120017050
    Abstract: Methods, systems, and apparatuses facilitate the processing of requests for media content, which can originate from a request by a user or device to change a channel. The media content for a subset of channels can be locally cached and fetched for quick retrieval.
    Type: Application
    Filed: January 19, 2011
    Publication date: January 19, 2012
    Applicant: ARRIS GROUP, INC.
    Inventor: Stephen J. Kraiman
  • Publication number: 20120011324
    Abstract: Embodiments disclosed herein utilize statistical approximations to manage large filesystem-based caches based on imperfect information. When removing entries from a large cache, which may have a million or more entries, the cache manager does not need to find the absolutely oldest entry that has been accessed the least recently. Instead, it suffices to find an entry that is older than most. In embodiments disclosed herein, statistical sampling of the cache is performed to produce models of different properties of the cache, including the number of entries, distribution of access times, distribution of entry sizes, etc. The models are then used to guide decisions that involve those properties. The size of the samples can be adjusted to balance the cost of acquiring the samples against the confidence level of the models produced by the samples. To achieve randomness, entries are stored using prefixes of addresses generated via a message-digest function.
    Type: Application
    Filed: September 20, 2011
    Publication date: January 12, 2012
    Inventors: Kin-Chung Fung, Mark R. Scheevel
  • Patent number: 8095931
    Abstract: Memory assigned to a virtual machine is reclaimed. A resource reservation application running as a guest application on the virtual machine reserves a location in guest virtual memory. The corresponding physical memory can be reclaimed and allocated to another virtual machine. The resource reservation application allows detection of guest virtual memory page-out by the guest operating system. Measuring guest virtual memory page-out is useful for determining memory conditions inside the guest operating system. Given determined memory conditions, memory allocation and reclaiming can be used control memory conditions. Memory conditions in the virtual machine can be controlled with the objective of achieving some target memory conditions.
    Type: Grant
    Filed: September 21, 2006
    Date of Patent: January 10, 2012
    Assignee: VMware, Inc.
    Inventors: Xiaoxin Chen, Carl Waldspurger, Anil Rao
  • Patent number: 8082396
    Abstract: A method, apparatus, system, and signal-bearing medium that, in an embodiment, select a command to send to memory. In an embodiment, the oldest command in a write queue that does not collide with a conflict queue is sent to memory and added to the conflict queue if some or all of the following are true: all of the commands in the read queue collide with the conflict queue, any read command incoming from the processor does not collide with the write queue, the number of commands in the write queue is greater than a first threshold, and all commands in the conflict queue have been present for less than a second threshold. In an embodiment, a command does not collide with a queue if the command does not access the same cache line in memory as the commands in the queue. In this way, in an embodiment, write commands are sent to the memory at a time that reduces the impact on the performance of read commands.
    Type: Grant
    Filed: April 28, 2005
    Date of Patent: December 20, 2011
    Assignee: International Business Machines Corporation
    Inventors: Herman Lee Blackmon, Philip Rogers Hillier, III, Joseph Allen Kirscht, Brian T. Vanderpool
  • Publication number: 20110307447
    Abstract: Systems for performing inline wire speed data deduplication are described herein. Some embodiments include a device for inline data deduplication that includes one or more input ports for receiving an input data stream containing duplicates, one or more output ports for providing a data deduplicated output data stream, and an inline data deduplication engine coupled to said one or more input ports and said one or more output ports to process input data containing duplicates into output data which is data deduplicated, said inline data deduplication engine having an inline data deduplication bandwidth of at least 4 Gigabytes per second.
    Type: Application
    Filed: June 9, 2010
    Publication date: December 15, 2011
    Applicant: BROCADE COMMUNICATIONS SYSTEMS, INC.
    Inventors: Amr Sabaa, Pashupati Kumar, Bao Vu, Tarak Parekh, Poulo Kuriakose, Vidyasagara Reddy Guntaka, Madhsudan Hans, Kung-Ling Ko
  • Patent number: 8078826
    Abstract: An embodiment of the invention provides a method for effective memory clustering to minimize page faults and optimize memory utilization. More specifically, the method monitors data access requests to secondary storage and identifies data addresses in secondary storage having similar properties. Multi-dimensional clusters are created based on the monitoring to group the data addresses having similar properties. A memory page is created from a multi-dimensional cluster, wherein a cross-sectional partition is created (sliced) from the multi-dimensional cluster. The method receives a request for a data object in secondary storage and identifies a data address corresponding to the requested data object. The data address is mapped to the multi-dimensional cluster and/or the memory page; and, the memory page is transferred to a data cache in primary storage.
    Type: Grant
    Filed: April 10, 2009
    Date of Patent: December 13, 2011
    Assignee: International Business Machines Corporation
    Inventor: Maharaj Mukherjee
  • Patent number: 8074026
    Abstract: A scatter/gather technique optimizes unstructured streaming memory accesses, providing off-chip bandwidth efficiency by accessing only useful data at a fine granularity, and off-loading memory access overhead by supporting address calculation, data shuffling, and format conversion.
    Type: Grant
    Filed: May 10, 2006
    Date of Patent: December 6, 2011
    Assignee: Intel Corporation
    Inventors: Daehyun Kim, Christopher J. Hughes, Yen-Kuang Chen, Partha Kundu
  • Publication number: 20110289277
    Abstract: The present invention obtains with high precision, in a storage system, the effect of additional installation or removal of cache memory, that is, the change of the cache hit rate and the performance of the storage system at that time. For achieving this, when executing normal cache control in the operational environment of the storage system, the cache hit rate when the cache memory capacity has changed is also obtained. Furthermore, with reference to the obtained cache hit rate, the peak performance of the storage system is obtained. Furthermore, with reference to the target performance, the cache memory and the number of disks and other resources that are additionally required are obtained.
    Type: Application
    Filed: March 30, 2009
    Publication date: November 24, 2011
    Inventors: Masanori Takada, Shuji Nakamura, Kentaro Shimada
  • Patent number: 8065496
    Abstract: To reduce the number of bits required for LRU control when the number of target entries is large, and achieve complete LRU control. Each time an entry is used, an ID of the used entry is stored to configure LRU information so that storage data 0 stored in the leftmost position indicates an ID of an entry with the oldest last use time (that is, LRU entry), for example as shown in FIG. 1(1). An LRU control apparatus according to a first embodiment of the present invention refers to the LRU information, and selects an entry corresponding to the storage data 0 (for example, entry 1) from the LRU information as a candidate for the LRU control, based on the storage data 0 as the ID of the entry with the oldest last use time.
    Type: Grant
    Filed: August 27, 2008
    Date of Patent: November 22, 2011
    Assignee: Fujitsu Limited
    Inventors: Tomoyuki Okawa, Hiroyuki Kojima, Masaki Ukai
  • Patent number: 8065488
    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: Grant
    Filed: October 20, 2010
    Date of Patent: November 22, 2011
    Assignee: Intel Corporation
    Inventors: Eric Sprangle, Anwar Rohillah, Robert Cavin
  • Patent number: 8060797
    Abstract: A semiconductor storage device can efficiently perform a refresh operation. A semiconductor storage device is provided which includes a non-volatile semiconductor memory storing data in blocks, the block being a unit of data erasing. A controlling unit is further included monitoring an error count of data stored in a monitored block selected from the blocks and for refreshing data in the monitored block in which the error count is equal to or larger than a threshold value.
    Type: Grant
    Filed: September 22, 2008
    Date of Patent: November 15, 2011
    Assignee: Kabushiki Kaisha Toshiba
    Inventors: Toshikatsu Hida, Shinichi Kanno, Hirokuni Yano, Kazuya Kitsunai, Shigehiro Asano, Junji Yano
  • Patent number: 8055849
    Abstract: Reducing cache pollution of a software controlled cache is provided. A request is received to prefetch data into the software controlled cache. A first designator is set for a first cache access to a first value. If there is the second cache access to prefetch, a determination is made as to whether data associated with the second cache access exists in the software controlled cache. If the data is in the software controlled cache, a determination is made as to whether a second value of a second designator is greater than the first value of the first cache access. If the second value fails to be greater than the first value, the position of the first cache access and the second cache access in a cache line is swapped. The first value is decremented by a predetermined amount and the second value is replaced to equal the first value.
    Type: Grant
    Filed: April 4, 2008
    Date of Patent: November 8, 2011
    Assignee: International Business Machines Corporation
    Inventors: Tong Chen, Marc Gonzalez tallada, Zehra N. Sura, Tao Zhang
  • Patent number: 8037241
    Abstract: A video storage system includes a storage area network and at least one local cache storage unit. Both the storage mechanism and the local cache storage unit store at least some content in common. In response to a react request, a read director determines which of the storage mechanism and local cache storage unit contains the requested content. Upon determining that the requested content resides on the local cache storage unit, the read director directs the content request to the local cache storage unit, thereby reducing the demand on the storage mechanism. If the content does not reside on the local cache storage unit, read director directs the request to the storage mechanism, but if the content is unavailable, the content request will be filled with filler data from a filler data source.
    Type: Grant
    Filed: August 21, 2003
    Date of Patent: October 11, 2011
    Assignee: GVBB Holdings S.A.R.L.
    Inventors: Steven Brian Rosker, Charles Todd Singer
  • Patent number: 8032708
    Abstract: A method for caching data in a storage system involves receiving a request for a first datum stored on a storage disk, retrieving the first datum from the storage disk when a copy of the first datum is not stored on an asymmetric cache device (ACD), storing a first copy of the first datum in a main memory, updating a list of data to include the first datum, storing, prior to any data being evicted from the main memory, a second copy of the first datum on the ACD, and evicting the first copy of the first datum from the main memory when a first copy of a second datum is designated for storing in the main memory and the main memory is full and the first datum is at the tail of the list of data.
    Type: Grant
    Filed: February 11, 2009
    Date of Patent: October 4, 2011
    Assignee: Oracle America, Inc.
    Inventors: Brendan D. Gregg, Adam H. Leventhal, Bryan M. Cantrill
  • Publication number: 20110238920
    Abstract: A microprocessor includes a cache memory and a data prefetcher. The data prefetcher detects a pattern of memory accesses within a first memory block and prefetch into the cache memory cache lines from the first memory block based on the pattern. The data prefetcher also observes a new memory access request to a second memory block. The data prefetcher also determines that the first memory block is virtually adjacent to the second memory block and that the pattern, when continued from the first memory block to the second memory block, predicts an access to a cache line implicated by the new request within the second memory block. The data prefetcher also responsively prefetches into the cache memory cache lines from the second memory block based on the pattern.
    Type: Application
    Filed: February 24, 2011
    Publication date: September 29, 2011
    Applicant: VIA Technologies, Inc.
    Inventors: Rodney E. Hooker, John Michael Greer
  • Publication number: 20110231598
    Abstract: According to one embodiment, a memory system includes a first memory that is nonvolatile, a second memory, and a controller that performs data transfer between a host device and the first memory by using the second memory. The controller caches data of each write command transmitted from the host device in the second memory, and performs a first transfer of transferring the data of each write command, which is cached in the second memory, to the first memory while leaving a beginning portion at a predetermined timing.
    Type: Application
    Filed: July 13, 2010
    Publication date: September 22, 2011
    Applicant: KABUSHIKI KAISHA TOSHIBA
    Inventor: Kosuke HATSUDA
  • Publication number: 20110219193
    Abstract: A processor and a memory management method are provided. The processor includes a processor core, a cache which transceives data to/from the processor core via a single port, and stores the data accessed by the processor core, and a Scratch Pad Memory (SPM) which transceives the data to/from the processor core via at least one of a plurality of multi ports.
    Type: Application
    Filed: March 11, 2011
    Publication date: September 8, 2011
    Inventors: Il Hyun Park, Soojung Ryu, Dong-Hoon Yoo, Dong Kwan Suh, Jeongwook Kim, Choon Ki Jang
  • Patent number: 7987320
    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: Grant
    Filed: December 6, 2007
    Date of Patent: July 26, 2011
    Assignee: International Business Machines Corporation
    Inventors: Robert H. Bell, Jr., Guy Lynn Guthrie, William John Starke
  • Patent number: 7984243
    Abstract: A cache memory according to the present invention includes a W flag setting unit that modifies order data indicating an access order per cache entry that holds a data unit of a cache so as to reflect an actual access order and a replace unit that selects a cache entry for replacement based on the modified order data and replaces the cache entry.
    Type: Grant
    Filed: November 2, 2004
    Date of Patent: July 19, 2011
    Assignee: Panasonic Corporation
    Inventors: Hazuki Kawai, Ryuta Nakanishi, Tetsuya Tanaka, Shuji Miyasaka
  • Publication number: 20110161548
    Abstract: A cache manager receives a request for data, which includes a requested effective address. The cache manager determines whether the requested effective address matches a most recently used effective address stored in a mapped tag vector. When the most recently used effective address matches the requested effective address, the cache manager identifies a corresponding cache location and retrieves the data from the identified cache location. However, when the most recently used effective address fails to match the requested effective address, the cache manager determines whether the requested effective address matches a subsequent effective address stored in the mapped tag vector. When the cache manager determines a match to a subsequent effective address, the cache manager identifies a different cache location corresponding to the subsequent effective address and retrieves the data from the different cache location.
    Type: Application
    Filed: December 29, 2009
    Publication date: June 30, 2011
    Applicant: International Business Machines Corporation
    Inventors: Brian Flachs, Barry L. Minor, Mark Richard Nutter
  • Publication number: 20110161598
    Abstract: Embodiments of the present invention provide a method, system and computer program product for dual timer fragment caching. In an embodiment of the invention, a dual timer fragment caching method can include establishing both a soft timeout and also a hard timeout for each fragment in a fragment cache. The method further can include managing the fragment cache by evicting fragments in the fragment cache subsequent to a lapsing of a corresponding hard timeout. The management of the fragment cache also can include responding to multiple requests by multiple requestors for a stale fragment in the fragment cache with a lapsed corresponding soft timeout by returning the stale fragment from the fragment cache to some of the requestors, by retrieving and returning a new form of the stale fragment to others of the requestors, and by replacing the stale fragment in the fragment cache with the new form of the stale fragment with a reset soft timeout and hard timeout.
    Type: Application
    Filed: December 31, 2009
    Publication date: June 30, 2011
    Applicant: INTERNATIONAL BUSINESS MACHINES CORPORATION
    Inventors: Rohit D. Kelapure, Gautam Singh, Christian Steege, Filip R. Zawadiak
  • Patent number: 7970997
    Abstract: A program section layout method capable of improving space efficiency of a cache memory. A grouping unit groups program sections into section groups so that the total size of the program sections composing each section group does not exceed cache memory size. A layout optimization unit optimizes the layout of section group storage regions by combining each section group and a program section that does not belong to any section groups or by combining section groups while keeping the ordering relations of the program sections composing each section group.
    Type: Grant
    Filed: December 23, 2004
    Date of Patent: June 28, 2011
    Assignee: Fujitsu Semiconductor Limited
    Inventor: Manabu Watanabe
  • Patent number: 7971001
    Abstract: Methods for a treatment of cached objects are described. In one embodiment, management of a region of a cache is configured with an eviction policy plug-in. The eviction policy plug-in includes an eviction timing component and a sorting component, with the eviction timing component including code to implement an eviction timing method, and the eviction timing method to trigger eviction of an object from the region of cache. The sorting component includes code to implement a sorting method to identify an object that is eligible for eviction from said region of cache. The sorting method includes identifying an object for eviction that is cached in the region of cache and that has been used least recently compared to other objects that are cached in the region of cache.
    Type: Grant
    Filed: December 28, 2004
    Date of Patent: June 28, 2011
    Assignee: SAP AG
    Inventors: Petio G. Petev, Michael Wintergerst
  • Patent number: 7970989
    Abstract: A hard disk cache includes entries to be written to a disk, and also includes ordering information describing the order that they should be written to the disk. Data may be written from the cache to the disk in the order specified by the ordering information. In some situations, data may be written out of order. Further, in some situations, clean data from the cache may be combined with dirty data from the cache when performing a cache flush.
    Type: Grant
    Filed: June 30, 2006
    Date of Patent: June 28, 2011
    Assignee: Intel Corporation
    Inventor: Jeanna N. Matthews
  • Publication number: 20110153953
    Abstract: A multi-core system that includes a 64-bit cache storage and a 32-bit memory storage that stores a 32-bit cache object directory. One or more cache engines execute on cores of the multi-core system to retrieve objects from the 64-bit cache, create cache directory objects, insert the created cache directory object into the cache object directory, and search for cache directory objects in the cache object directory. When an object is stored in the 64-bit cache, a cache engine can create a cache directory object that corresponds to the cached object and can insert the created cache directory object into an instance of a cache object directory. A second cache engine can receive a request to access the cached object and can identify a cache directory object in the instance of the cache object directory, using a hash key calculated based on one or more attributes of the cached object.
    Type: Application
    Filed: December 23, 2009
    Publication date: June 23, 2011
    Inventors: Prakash Khemani, Anil Kumar, Abhishek Chauhan, Rama Praveen
  • Patent number: 7962807
    Abstract: It is an object to provide a semiconductor storage apparatus managing system for implementing a semiconductor storage apparatus which can be actually utilized in place of a hard disk apparatus. A semiconductor storage apparatus managing system SY for managing an apparatus lifetime of a semiconductor storage apparatus 10 having a semiconductor memory area 15 for storing data and a defective block substituting area 16 for substituting a defective block in the semiconductor memory area 15,includes a storage apparatus side controller 12 for detecting the number of consumed blocks in the defective block substituting area 16 and a host side controller 31 for predicting the apparatus lifetime of the semiconductor storage apparatus 10 based on a result of the detection and giving a notice of a result of the prediction.
    Type: Grant
    Filed: June 19, 2007
    Date of Patent: June 14, 2011
    Assignee: Seiko Epson Corporation
    Inventor: Jinichi Nakamura
  • Patent number: 7962695
    Abstract: A method of integrating a hybrid architecture in a set associative cache having a first type of memory structure for one or more ways in each congruence class, and a second type of memory structure for the remaining ways of the congruence class, includes determining whether a memory access request results in a cache hit or a cache miss; in the event of a cache miss, determining whether LRU way of the first type memory structure is also the LRU way of the entire congruence class, and if not, then copying the contents of the LRU way of the first type memory structure into the LRU way of the entire congruence class, and filling the LRU way of the first type memory structure with a new cache line in the event of a cache miss; and updating LRU bits, depending upon the results of the memory access request.
    Type: Grant
    Filed: December 4, 2007
    Date of Patent: June 14, 2011
    Assignee: International Business Machines Corporation
    Inventors: Marc R. Faucher, Hillery C. Hunter, William R. Reohr, Peter A. Sandon, Vijayalakshmi Srinivasan, Arnold S. Tran
  • Patent number: 7958311
    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: Grant
    Filed: May 30, 2008
    Date of Patent: June 7, 2011
    Assignee: International Business Machines Corporation
    Inventors: Richard Edward Matick, Jaime H. Moreno, Malcolm Scott Ware
  • Publication number: 20110125972
    Abstract: In one embodiment, there is provided an information recording device that includes: a plurality of cache buffers on which writing is performed in response to an external write request; and a controller configured to determine, according to an LRU algorithm, which of the cache buffers writing should be performed on. If a range of the write request does not overlap with any of cache ranges of the cache buffers and if an effective range of one of the cache buffers includes the end of its cache range, the controller preferentially uses the one of the cache buffers whose effective range includes the end of its cache range, instead of a cache buffer candidate that is determined according to the LRU algorithm.
    Type: Application
    Filed: August 10, 2010
    Publication date: May 26, 2011
    Inventor: Takuya Ootani
  • Patent number: 7937531
    Abstract: In one embodiment, a processor regularly writes one or more cache entries back to memory to reduce the likelihood of cache soft errors. The regularly occurring write backs operate independently of Least Recently Used (LRU) status of the entries so that all entries are flushed.
    Type: Grant
    Filed: February 1, 2007
    Date of Patent: May 3, 2011
    Assignee: Cisco Technology, Inc.
    Inventor: Somnath Mitra
  • Patent number: 7937543
    Abstract: A method for automatically determining performance problems in a computer system due to a metric indicating a current memory peak load in the computer system is disclosed.
    Type: Grant
    Filed: September 19, 2007
    Date of Patent: May 3, 2011
    Assignee: International Business Machines Corporation
    Inventors: Bernard R Pierce, Elpida Tzortzatos, Dieter Wellerdiek
  • Patent number: RE43301
    Abstract: An apparatus and method for an improved stack comprises an advantageous indexing scheme and stack arrangement allowing more efficient performance of stack operations. The most-recently-used stack item appears at the top of the stack and the least-recently-used item is at the bottom of the stack. Values in between the top and bottom items are ordered from top to bottom with succeedingly less recently used items. An indexing scheme is used to indirectly reference locations of the stack items in the stack. A set of registers is used to reference the locations of the stack items in an embedded memory array. The registers function as pointers to the memory array locations. To promote an item to the top of the stack, the item is identified as the most-recently-used and the contents of the other registers are changed to specify the new locations, e.g. these pointers are shifted down one.
    Type: Grant
    Filed: October 10, 2002
    Date of Patent: April 3, 2012
    Assignee: Apple Inc.
    Inventor: Stuart L. Claassen