Shared Cache Patents (Class 711/130)
  • Publication number: 20140156938
    Abstract: A method to store objects in a memory cache is disclosed. A request is received from an application to store an object in a memory cache associated with the application. The object is stored in a cache region of the memory cache based on an identification that the object has no potential for storage in a shared memory cache and a determination that the cache region is associated with a storage policy that specifies that objects to be stored in the cache region are to be stored in a local memory cache and that a garbage collector is not to remove objects stored in the cache region from the local memory cache.
    Type: Application
    Filed: July 12, 2011
    Publication date: June 5, 2014
    Inventors: Galin Galchev, Frank Kilian, Oliver Luik, Dirk Marwinski, Petio G. Petev
  • Patent number: 8745618
    Abstract: A mechanism is provided in a virtual machine monitor for providing cache partitioning in virtualized environments. The mechanism assigns a virtual identification (ID) to each virtual machine in the virtualized environment. The processing core stores the virtual ID of the virtual machine in a special register. The mechanism also creates an entry for the virtual machine in a partition table. The mechanism may partition a shared cache using a vertical (way) partition and/or a horizontal partition. The entry in the partition table includes a vertical partition control and a horizontal partition control. For each cache access, the virtual machine passes the virtual ID along with the address to the shared cache. If the cache access results in a miss, the shared cache uses the partition table to select a victim cache line for replacement.
    Type: Grant
    Filed: August 25, 2009
    Date of Patent: June 3, 2014
    Assignee: International Business Machines Corporation
    Inventors: Jiang Lin, Lixin Zhang
  • Patent number: 8738868
    Abstract: A computing device employs a cooperative memory management technique to dynamically balance memory resources between host and guest systems running therein. According to this cooperative memory management technique, memory that is allocated to the guest system is dynamically adjusted up and down according to a fairness policy that takes into account various factors including the relative amount of readily freeable memory resources in the host and guest systems and the relative amount of memory allocated to hidden applications in the host and guest systems.
    Type: Grant
    Filed: August 23, 2011
    Date of Patent: May 27, 2014
    Assignee: VMware, Inc.
    Inventors: Harvey Tuch, Craig Newell, Cyprien Laplace
  • Patent number: 8739159
    Abstract: A mechanism is provided in a virtual machine monitor for providing cache partitioning in virtualized environments. The mechanism assigns a virtual identification (ID) to each virtual machine in the virtualized environment. The processing core stores the virtual ID of the virtual machine in a special register. The mechanism also creates an entry for the virtual machine in a partition table. The mechanism may partition a shared cache using a vertical (way) partition and/or a horizontal partition. The entry in the partition table includes a vertical partition control and a horizontal partition control. For each cache access, the virtual machine passes the virtual ID along with the address to the shared cache. If the cache access results in a miss, the shared cache uses the partition table to select a victim cache line for replacement.
    Type: Grant
    Filed: April 11, 2012
    Date of Patent: May 27, 2014
    Assignee: International Business Machines Corporation
    Inventors: Jiang Lin, Lixin Zhang
  • Publication number: 20140143496
    Abstract: A method and system for self-sizing dynamic cache for virtualized environments is disclosed. The preferred embodiment self sizes unequal portions of the total amount of cache and allocates to a plurality of active virtualized machines (VM) according to VM requirements and administrative standards. As a new VM may emerge and request an amount of cache, the cache controller reclaims currently used cache from the active VM and reallocates the unequal portions of cache required by each VM. To ensure cache availability, a quick reclamation amount of cache is immediately available to each new VM as it makes the request begins operation. After reallocation, the newly created VM may rely on a guaranteed minimum quota of cache to ensure performance.
    Type: Application
    Filed: November 20, 2012
    Publication date: May 22, 2014
    Applicant: LSI CORPORATION
    Inventor: Luca Bert
  • Patent number: 8732399
    Abstract: A technique to retain cached information during a low power mode, according to at least one embodiment. In one embodiment, information stored in a processor's local cache is saved to a shared cache before the processor is placed into a low power mode, such that other processors may access information from the shared cache instead of causing the low power mode processor to return from the low power mode to service an access to its local cache.
    Type: Grant
    Filed: March 6, 2013
    Date of Patent: May 20, 2014
    Assignee: Intel Corporation
    Inventors: Sanjeev Jahagirdar, Varghese George, Jose P. Allarey
  • Patent number: 8732407
    Abstract: Some embodiments of the present invention provide a system that avoids deadlock while attempting to acquire store-marks on cache lines. During operation, the system keeps track of store-mark requests that arise during execution of a thread, wherein a store-mark on a cache line indicates that one or more associated store buffer entries are waiting to be committed to the cache line. In this system, store-mark requests are processed in a pipelined manner, which allows a store-mark request to be initiated before preceding store-mark requests for the same thread complete. Next, if a store-mark request fails, within a bounded amount of time, the system removes or prevents store-marks associated with younger store-mark requests for the same thread, thereby avoiding a potential deadlock that can arise when one or more other threads attempt to store-mark the same cache lines.
    Type: Grant
    Filed: November 19, 2008
    Date of Patent: May 20, 2014
    Assignee: Oracle America, Inc.
    Inventors: Robert E. Cypher, Haakan E. Zeffer, Shailender Chaudhry
  • Patent number: 8719500
    Abstract: A technique to track shared information in a multi-core processor or multi-processor system. In one embodiment, core identification information (“core IDs”) are used to track shared information among multiple cores in a multi-core processor or multiple processors in a multi-processor system.
    Type: Grant
    Filed: December 7, 2009
    Date of Patent: May 6, 2014
    Assignee: Intel Corporation
    Inventors: Yen-Kuang Chen, Christopher J. Hughes, Changkyn Kim
  • Patent number: 8717375
    Abstract: The subject matter of this specification can be embodied in, among other things, a method that includes computer-implemented graphics frame buffer process that establishes on a computing device a graphics frame buffer accessible to be written by an application process and to be read by a graphics server process. The method further comprises generating a plurality of control bits whose value or values control access to the frame buffer by the application process and the graphics server process and reading frames from the frame buffer using the value or values in the plurality of control bits.
    Type: Grant
    Filed: January 31, 2013
    Date of Patent: May 6, 2014
    Assignee: Google Inc.
    Inventor: Mathias Marc Agopian
  • Patent number: 8713255
    Abstract: A system, method, and computer program product are provided for conditionally sending a request for data to a home node. In operation, a first request for data is sent to a first cache of a node. Additionally, if the data does not exist in the first cache, a second request for the data is sent to a second cache of the node. Furthermore, a third request for the data is conditionally sent to a home node.
    Type: Grant
    Filed: May 1, 2013
    Date of Patent: April 29, 2014
    Assignee: NetLogic Microsystems, Inc.
    Inventors: Gaurav Garg, David T. Hass
  • Patent number: 8713257
    Abstract: A data storage system includes at least one host device configured to initiate a data request, at least one target device configured to store data, and a serial attached SCSI (SAS) switch coupled between the at least one host device and the at least one target device. The SAS switch includes a cache memory and includes control programming configured to determine whether data of the data request is stored in the cache is at least one of data stored in the cache memory of the SAS switch or data to be written in the cache memory of the SAS switch. The cache memory of the SAS switch is a shared cache that is shared across each of the at least one host device and the at least one target device.
    Type: Grant
    Filed: August 26, 2011
    Date of Patent: April 29, 2014
    Assignee: LSI Corporation
    Inventor: Ankit Sihare
  • Patent number: 8706966
    Abstract: A system and method are provided for adaptively configuring L2 cache memory usage in a system of microprocessors. A system-on-chip (SoC) is provided with a plurality of n selectively enabled processor cores and a plurality of n L2 cache memories. The method associates each L2 cache with a corresponding processor core, and shares the n L2 caches between enabled processor cores. More explicitly, associating each L2 cache with the corresponding processor core means connecting each processor core to its L2 cache using an L2 data/address bus. Sharing the n L2 caches with enabled processors means connecting each processor core to each L2 cache via a data/address bus mesh with dedicated point-to-point connections.
    Type: Grant
    Filed: May 24, 2011
    Date of Patent: April 22, 2014
    Assignee: Applied Micro Circuits Corporation
    Inventors: Waseem Saify Kraipak, George Bendak
  • Patent number: 8700857
    Abstract: In one embodiment, the present invention includes a method to obtain topology information regarding a system including at least one multicore processor, provide the topology information to a plurality of parallel processes, generate a topological map based on the topology information, access the topological map to determine a topological relationship between a sender process and a receiver process, and select a given memory copy routine to pass a message from the sender process to the receiver process based at least in part on the topological relationship. Other embodiments are described and claimed.
    Type: Grant
    Filed: December 6, 2012
    Date of Patent: April 15, 2014
    Assignee: Intel Corporation
    Inventors: Sergey I. Sapronov, Alexey V. Bayduraev, Alexander V. Supalov, Vladimir D. Truschin, Igor Ermolaev, Dmitry Mishura
  • Patent number: 8694730
    Abstract: A binary tree based multi-level cache system for multi-core processors and its two possible implementations LogN and LogN+1 models maintaining a true pyramid is described.
    Type: Grant
    Filed: March 4, 2011
    Date of Patent: April 8, 2014
    Inventor: Muhammad Ali Ismail
  • Publication number: 20140095796
    Abstract: According to one aspect of the present disclosure, a method and technique for performance-driven cache line memory access is disclosed. The method includes: receiving, by a memory controller of a data processing system, a request for a cache line; dividing the request into a plurality of cache subline requests, wherein at least one of the cache subline requests comprises a high priority data request and at least one of the cache subline requests comprises a low priority data request; servicing the high priority data request; and delaying servicing of the low priority data request until a low priority condition has been satisfied.
    Type: Application
    Filed: February 15, 2013
    Publication date: April 3, 2014
    Applicant: INTERNATIONAL BUSINESS MACHINES CORPORATION
    Inventor: INTERNATIONAL BUSINESS MACHINES CORPORATION
  • Publication number: 20140089591
    Abstract: The present embodiments provide a system for supporting targeted stores in a shared-memory multiprocessor. A targeted store enables a first processor to push a cache line to be stored in a cache memory of a second processor in the shared-memory multiprocessor. This eliminates the need for multiple cache-coherence operations to transfer the cache line from the first processor to the second processor. The system includes an interface, such as an application programming interface (API), and a system call interface or an instruction-set architecture (ISA) that provides access to a number of mechanisms for supporting targeted stores. These mechanisms include a thread-location mechanism that determines a location near where a thread is executing in the shared-memory multiprocessor, and a targeted-store mechanism that targets a store to a location (e.g., cache memory) in the shared-memory multiprocessor.
    Type: Application
    Filed: September 24, 2012
    Publication date: March 27, 2014
    Applicant: ORACLE INTERNATIONAL CORPORATION
    Inventors: Mark S. Moir, David Dice, Paul N. Loewenstein
  • Patent number: 8683127
    Abstract: A cache management method using checkpoint tags in checkpoint mode includes steps of: receiving a request to save data; fetching at least one cache block including the data from cache memory; writing the data from the at least one cache block into the data array; writing a physical address and metadata of the cache block into an array of cache memory tags; and upon receipt of a restore request: fetching an identifier for the at least one cache block stored in the checkpoint tag array; reloading the cache memory with the at least one cache block in the checkpoint tag array; and switching to normal mode.
    Type: Grant
    Filed: August 2, 2012
    Date of Patent: March 25, 2014
    Assignee: International Business Machines Corporation
    Inventors: Harold Wade Cain, III, Jong-Deok Choi
  • Patent number: 8683138
    Abstract: A prefetch data machine instruction having an M field performs a function on a cache line of data specifying an address of an operand. The operation comprises either prefetching a cache line of data from memory to a cache or reducing the access ownership of store and fetch or fetch only of the cache line in the cache or a combination thereof. The address of the operand is either based on a register value or the program counter value pointing to the prefetch data machine instruction.
    Type: Grant
    Filed: January 6, 2012
    Date of Patent: March 25, 2014
    Assignee: International Business Machines Corporation
    Inventors: Dan F Greiner, Timothy J Slegel
  • Publication number: 20140082285
    Abstract: Data storage and management systems can be interconnected as clustered systems to distribute data and operational loading. Further, independent clustered storage systems can be associated to form peered clusters. As provided herein, methods and systems for creating and managing intercluster relationships between independent clustered storage systems, allowing the respective independent clustered storage systems to exchange data and distribute management operations between each other while mitigating administrator involvement. Cluster introduction information is provided on a network interface of one or more nodes in a cluster, and intercluster relationships are created between peer clusters. A relationship can be created by initiating contact with a peer using a logical interface, and respective peers retrieving the introduction information provided on the network interface.
    Type: Application
    Filed: November 22, 2013
    Publication date: March 20, 2014
    Applicant: NetApp Inc.
    Inventor: Steven M. Ewing
  • Publication number: 20140082291
    Abstract: In a processor, a method for speculative permission acquisition for access to a shared memory. The method includes receiving a store from a processor core to modify a shared cache line, and in response to receiving the store, marking the cache line as speculative. The cache line is then modified in accordance with the store. Upon receiving a modification permission, the modified cache line is subsequently committed.
    Type: Application
    Filed: September 14, 2012
    Publication date: March 20, 2014
    Applicant: NVIDIA CORPORATION
    Inventors: James Van Zoeren, Alexander Klaiber, Guillermo J. Rozas, Paul Serris
  • Patent number: 8677081
    Abstract: A processor includes a plurality of cache memories, and a plurality of processor cores, each associated with one of the cache memories. Each of at least some of the cache memories is associated with information indicating whether data stored in the cache memory is shared among multiple processor cores.
    Type: Grant
    Filed: August 16, 2011
    Date of Patent: March 18, 2014
    Assignee: Tilera Corporation
    Inventors: David M. Wentzlaff, Matthew Mattina, Anant Agarwal
  • Publication number: 20140075121
    Abstract: Techniques for conflict detection in hardware transactional memory (HTM) are provided. In one aspect, a method for detecting conflicts in HTM includes the following steps. Conflict detection is performed eagerly by setting read and write bits in a cache as transactions having read and write requests are made. A given one of the transactions is stalled when a conflict is detected whereby more than one of the transactions are accessing data in the cache in a conflicting way. An address of the conflicting data is placed in a predictor. The predictor is queried whenever the write requests are made to determine whether they correspond to entries in the predictor. A copy of the data corresponding to entries in the predictor is placed in a store buffer. The write bits in the cache are set and the copy of the data in the store buffer is merged in at transaction commit.
    Type: Application
    Filed: October 5, 2012
    Publication date: March 13, 2014
    Applicant: International Business Machines Corporation
    Inventors: Colin B. Blundell, Harold W. Cain, III, Jose E. Moreira
  • Patent number: 8671245
    Abstract: In an exemplary computer system having one or more masters configured to the same slave memory using a protocol, such as the AMBA AXI protocol, a master provides an ID field to the memory as part of a data request, where the ID field has a line ID sub-field that represents a line ID value that uniquely identifies a particular cache line (or subset of cache lines) in the master, where the memory returns the line ID value back to the master along with the retrieved data. The master uses the line ID value to identify the cache line into which the retrieved data is to be stored. In this way, the master does not need to maintain a queue of address buffers to retain the addresses for data requests currently being processed, where the size of the queue limits the number of parallel in-service data requests by the master.
    Type: Grant
    Filed: December 27, 2010
    Date of Patent: March 11, 2014
    Assignee: LSI Corporation
    Inventor: Eran Dosh
  • Patent number: 8661205
    Abstract: A communication apparatus has plural processors to perform pipeline processing on communication data. A first processor among the plural processors transfers information, used by a second processor to perform post-stage processing of the first processor, from a first memory to a second memory.
    Type: Grant
    Filed: December 10, 2007
    Date of Patent: February 25, 2014
    Assignee: Canon Kabushiki Kaisha
    Inventors: Masami Shimakura, Yuta Masuda
  • Patent number: 8661479
    Abstract: Methods and arrangements for caching video object portions. A request for stand-alone content in a video object is received, the content neither being cached nor being adjacent to a cached video object portion, and a first portion of the video object is cached. A value is assigned to the first video object portion. A subsequent request for content in the video object is received, the subsequent request corresponding to access to the first video object portion and a second, uncached portion of the video object. The value of the first video object portion is updated. For the second video object portion, an amount to cache and a value are determined.
    Type: Grant
    Filed: September 19, 2011
    Date of Patent: February 25, 2014
    Assignee: International Business Machines Corporation
    Inventors: Malolan Chetlur, Umamaheswari C. Devi, Shivkumar Kalyanaraman, Robert Bruce Nicholson, Ramana V. Polavarapu
  • Publication number: 20140052923
    Abstract: A processor includes a plurality of nodes arranged two dimensionally in the X-axis direction and in the Y-axis direction, and each of the nodes includes a processor core and a distributed shared cache memory. The processor also includes a first connecting unit and a second connecting unit. The first connecting unit connects adjacent nodes in the X-axis direction among the nodes, in a ring shape. The second connecting unit connects adjacent nodes in the Y-axis direction among the nodes, in a ring shape. The cache memories included in the respective nodes are divided into banks in the Y-axis direction. Coherency of the cache memories in the X-axis direction is controlled by a snoop system. The cache memories are shared by the nodes.
    Type: Application
    Filed: June 18, 2013
    Publication date: February 20, 2014
    Inventor: Yoshiro Ikeda
  • Patent number: 8656128
    Abstract: A first SMP computer has first and second processing units and a first system memory pool, a second SMP computer has third and fourth processing units and a second system memory pool, and a third SMP computer has at least fifth and sixth processing units and third, fourth and fifth system memory pools. The fourth system memory pool is inaccessible to the third, fourth and sixth processing units and accessible to at least the second and fifth processing units, and the fifth system memory pool is inaccessible to the first, second and sixth processing units and accessible to at least the fourth and fifth processing units. A first interconnect couples the second processing unit for load-store coherent, ordered access to the fourth system memory pool, and a second interconnect couples the fourth processing unit for load-store coherent, ordered access to the fifth system memory pool.
    Type: Grant
    Filed: August 30, 2012
    Date of Patent: February 18, 2014
    Assignee: International Business Machines Corporation
    Inventors: Guy L Guthrie, Charles F. Marino, William J. Starke, Derek E. Williams
  • Patent number: 8656129
    Abstract: An aggregate symmetric multiprocessor (SMP) data processing system includes a first SMP computer including at least first and second processing units and a first system memory pool and a second SMP computer including at least third and fourth processing units and second and third system memory pools. The second system memory pool is a restricted access memory pool inaccessible to the fourth processing unit and accessible to at least the second and third processing units, and the third system memory pool is accessible to both the third and fourth processing units. An interconnect couples the second processing unit in the first SMP computer for load-store coherent, ordered access to the second system memory pool in the second SMP computer, such that the second processing unit in the first SMP computer and the second system memory pool in the second SMP computer form a synthetic third SMP computer.
    Type: Grant
    Filed: August 30, 2012
    Date of Patent: February 18, 2014
    Assignee: International Business Machines Corporation
    Inventor: William J. Starke
  • Publication number: 20140040556
    Abstract: Apparatus and method embodiments for dynamically allocating cache space in a multi-threaded execution environment are disclosed. In some embodiments, a processor includes a cache shared by each of a plurality of processor cores and/or each of a plurality of threads executing on the processor. The processor further includes a cache allocation circuit configured to dynamically allocate space in the cache provided to each of the plurality of processor cores based on their respective usage patterns. The cache allocation unit may track cache usage by each of the processor cores/threads using subsets of usage bits and counters configured to update states of the usage bits. The cache allocation circuit may track the usage of cache space by the processor cores/threads and may allocate more space to those that exhibit more usage of the cache.
    Type: Application
    Filed: August 5, 2012
    Publication date: February 6, 2014
    Inventor: William L. Walker
  • Publication number: 20140040555
    Abstract: The present disclosure provides a method, device, and system for processing a request in a multi-core system. The method comprises steps of: receiving a request for data by a filter from a requesting unit; comparing an indicator indicative of a logical partition in the request with an indicator indicative of the logical partition in a record of the filter; searching in a unit where the filter is located based on the request and returning a search result to the requesting unit if a comparison result matches; and returning a NONE response to the requesting unit from the filter if the comparison result does not match.
    Type: Application
    Filed: August 1, 2012
    Publication date: February 6, 2014
    Applicant: INTERNATIONAL BUSINESS MACHINES CORPORATION
    Inventors: Yi GE, Rui HOU, Kun WANG, Hong Bo ZENG, Yu ZHANG
  • Publication number: 20140040554
    Abstract: A system and method for providing very large read-sets for hardware transactional memory with limited hardware support by monitoring meta data such as page table entries. The system and method include a Hardware-based Transactional Memory (HTM) mechanism that tracks meta-data such as page-table entries (PTE) rather than all the data itself. The HTM mechanism protects large regions of memory by providing conflict detection so that regions of memory can be located within a local read or write set.
    Type: Application
    Filed: July 31, 2012
    Publication date: February 6, 2014
    Inventors: Martin T. Pohlack, Stephan Diestelhorst
  • Publication number: 20140040558
    Abstract: An information processing apparatus included in a parallel computer system has a memory that holds data and a processor including a cache memory that holds a part of the data held on the memory and a processor core that performs arithmetic operations using the data held on the memory or the cache memory. Moreover, the information processing apparatus has a communication device that determines whether data received from a different information processing apparatus is data that the processor core waits for. When the communication device determines that the received data is data that the processor core waits for, the communication device stores the received data on the cache memory. When the communication device determines that the received data is data that the processor core does not wait for, the communication device stores the received data on the memory.
    Type: Application
    Filed: October 7, 2013
    Publication date: February 6, 2014
    Applicant: FUJITSU LIMITED
    Inventors: Yuichiro AJIMA, Tomohiro INOUE, Shinya HIRAMOTO
  • Publication number: 20140040557
    Abstract: In a multiprocessor data processing system having a distributed shared memory system, first and second nested memory transactions are executed, where the first memory transaction is a rewind-only transaction (ROT) and the second memory transaction is a non-ROT memory transaction. The first memory transaction has a transaction body including the second memory transaction and an additional plurality of transactional memory access instructions. In response to execution of the transactional memory access instructions, memory accesses are performed to the distributed shared memory system. Conflicts between memory accesses not within the first memory transaction and at least a load footprint of any of the transactional memory access instructions preceding the second memory transaction are not tracked.
    Type: Application
    Filed: October 12, 2012
    Publication date: February 6, 2014
    Applicant: INTERNATIONAL BUSINESS MACHINES CORPORATION
    Inventors: BRADLY G. FREY, GUY L. GUTHRIE, CATHY MAY, DEREK E. WILLIAMS
  • Publication number: 20140032848
    Abstract: A method and directory system that recognizes and represents the subset of sharing patterns present in an application is provided. As used herein, the term sharing pattern refers to a group of processors accessing a single memory location in an application. The sharing pattern is decoupled from each cache line and held in a separate directory table. The sharing pattern of a cache block is the bit vector representing the processors that share the block. Multiple cache lines that have the same sharing pattern point to a common entry in the directory table. In addition, when the table capacity is exceeded, patterns that are similar to each other are dynamically collated into a single entry.
    Type: Application
    Filed: September 7, 2012
    Publication date: January 30, 2014
    Applicant: UNIVERSITY OF ROCHESTER
    Inventors: Hongzhou ZHAO, Arrvindh SHRIRAMAN, Sandhya DWARKADAS
  • Publication number: 20140032845
    Abstract: A method for supporting a plurality of load accesses is disclosed. A plurality of requests to access a data cache is accessed, and in response, a tag memory is accessed that maintains a plurality of copies of tags for each entry in the data cache. Tags are identified that correspond to individual requests. The data cache is accessed based on the tags that correspond to the individual requests. A plurality of requests to access the same block of the plurality of blocks causes an access arbitration that is executed in the same clock cycle as is the access of the tag memory.
    Type: Application
    Filed: July 30, 2012
    Publication date: January 30, 2014
    Applicant: SOFT MACHINES, INC.
    Inventors: Karthikeyan Avudaiyappan, Mohammad Abdallah
  • Publication number: 20140025898
    Abstract: An information processing system and computer program storage product for managing objects stored in a shared memory cache. The system includes at least a plurality of cache readers accessing data from the shared memory cache. The system updates data in the shared memory cache using a cache writer. The system maintains a cache replacement process collocated with a cache writer. The cache replacement process makes a plurality of decisions on objects to store in the shared memory cache. Each of the plurality of cache readers maintains information on frequencies with which it accesses cached objects. Each of the plurality of cache readers communicates the maintained information to the cache replacement process. The cache replacement process uses the communicated information on frequencies to make at least one decision on replacing at least one object currently stored in the shared memory cache.
    Type: Application
    Filed: September 14, 2012
    Publication date: January 23, 2014
    Applicant: INTERNATIONAL BUSINESS MACHINES CORPORATION
    Inventor: Arun IYENGAR
  • Publication number: 20140025897
    Abstract: A method for managing objects stored in a shared memory cache. The method includes accessing data from the shared memory cache using at least a plurality of cache readers. A system updates data in the shared memory cache using a cache writer. The system maintains a cache replacement process collocated with a cache writer. The cache replacement process makes a plurality of decisions on objects to store in the shared memory cache. Each of the plurality of cache readers maintains information on frequencies with which it accesses cached objects. Each of the plurality of cache readers communicates the maintained information to the cache replacement process. The cache replacement process uses the communicated information on frequencies to make at least one decision on replacing at least one object currently stored in the shared memory cache.
    Type: Application
    Filed: July 20, 2012
    Publication date: January 23, 2014
    Applicant: INTERNATIONAL BUSINESS MACHINES CORPORATION
    Inventor: Arun IYENGAR
  • Patent number: 8635412
    Abstract: A multi-processor system is disclosed comprising a first processor, a first memory coupled to the first processor, a second processor, and a shared memory subsystem including a shared memory and a data transfer unit. The first processor is configured to build a data structure in the first memory and to send a direct memory access (DMA) transfer request to the data transfer unit of the shared memory subsystem, the DMA transfer request including an address of the data structure in the first memory. The data transfer unit is configured to retrieve the data structure from the first memory based on the DMA transfer request, to store the data structure in the shared memory, and to send a shared memory pointer to the second processor indicating an address of the data structure in the shared memory.
    Type: Grant
    Filed: June 23, 2011
    Date of Patent: January 21, 2014
    Assignee: Western Digital Technologies, Inc.
    Inventor: James C. Wilshire
  • Patent number: 8626866
    Abstract: A network caching system has a multi-protocol caching filer coupled to an origin server to provide storage virtualization of data served by the filer in response to data access requests issued by multi-protocol clients over a computer network. The multi-protocol caching filer includes a file system configured to manage a sparse volume that “virtualizes” a storage space of the data to thereby provide a cache function that enables access to data by the multi-protocol clients. To that end, the caching filer further includes a multi-protocol engine configured to translate the multi-protocol client data access requests into generic file system primitive operations executable by both the caching filer and the origin server.
    Type: Grant
    Filed: August 10, 2011
    Date of Patent: January 7, 2014
    Assignee: NetApp, Inc.
    Inventors: Jason Ansel Lango, Robert M. English, Paul Christopher Eastham, Qinghua Zheng, Brian Mederic Quirion, Peter Griess, Matthew Benjamin Amdur, Kartik Ayyar, Robert Lieh-Yuan Tsai, David Grunwald, J. Chris Wagner, Emmanuel Ackaouy, Ashish Prakash
  • Patent number: 8627130
    Abstract: A power saving archive system includes a front storage system accessible by clients and one or more back storage systems connected to the front storage system. A client file received by the front storage system is written to one of the back storage systems, while the front storage system stores a reference to the file and deletes the file from the front storage system after a certain time period. Each back storage system enters an inactive state (e.g. a powered off state) after a period of unuse, and can become active again in response to a wakeup command (e.g. a Wake-on-LAN signal) from the front storage system. Upon receiving a file read request from a client, the front storage system wakes up the appropriate back storage system, restores the file from the back storage system, and provides the file to the client.
    Type: Grant
    Filed: October 8, 2010
    Date of Patent: January 7, 2014
    Assignee: Bridgette, Inc.
    Inventor: Lawrence John Dickson
  • Patent number: 8627030
    Abstract: A method and apparatus for a late lock acquire mechanism is herein described. In response to detecting a late-lock acquire event, such as expiration of a timer, a full cachet set, and an irrevocable event, a late-lock acquire may be initiated. Consecutive critical sections are stalled until a late-lock acquire is completed utilizing fields of access buffer entries associated with consecutive critical section operations.
    Type: Grant
    Filed: November 7, 2007
    Date of Patent: January 7, 2014
    Assignee: Intel Corporation
    Inventors: Haitham Akkary, Ravi Rajwar, Srikanth T. Srinivasan
  • Patent number: 8627010
    Abstract: An apparatus and computer program product for improving performance of a parallel computing system. A first hardware local cache controller associated with a first local cache memory device of a first processor detects an occurrence of a false sharing of a first cache line by a second processor running the program code and allows the false sharing of the first cache line by the second processor. The false sharing of the first cache line occurs upon updating a first portion of the first cache line in the first local cache memory device by the first hardware local cache controller and subsequent updating a second portion of the first cache line in a second local cache memory device by a second hardware local cache controller.
    Type: Grant
    Filed: September 5, 2012
    Date of Patent: January 7, 2014
    Assignee: International Business Machines Corporation
    Inventors: Alexandre E. Eichenberger, Alan G. Gara, Martin Ohmacht, Vijayalakshmi Srinivasan
  • Publication number: 20140006716
    Abstract: In some implementations, a shared cache structure may be provided for sharing data among a plurality of processor cores. A data structure may be associated with the shared cache structure, and may include a plurality of entries, with each entry corresponding to one of the cache lines in the shared cache. Each entry in the data structure may further include a field to identify a processor core that most recently requested the data of the cache line corresponding to the entry. When a request for a particular cache line is received, a request for the data may be sent to a particular processor core identified in the data structure as the last accessor of the data.
    Type: Application
    Filed: December 29, 2011
    Publication date: January 2, 2014
    Inventors: Simon C. Steeley, JR., William C. Hasenplaugh
  • Patent number: 8621154
    Abstract: A flow based reply cache of a storage system is illustratively organized into one or more microcaches, each having a plurality of reply cache entries. Each microcache is maintained by a protocol server executing on the storage system and is allocated on a per client basis. To that end, each client is identified by a client connection or logical “data flow” and is allocated its own microcache and associated entries, as needed. As a result, each microcache of the reply cache may be used to identify a logical stream of client requests associated with a data flow, as well as to isolate that client stream from other client streams and associated data flows used to deliver other requests served by the system. The use of microcaches thus provides a level of granularity that enables each client to have its own pool of reply cache entries that is not shared with other clients, thereby obviating starvation of entries allocated to the client in the reply cache.
    Type: Grant
    Filed: April 18, 2008
    Date of Patent: December 31, 2013
    Assignee: NetApp, Inc.
    Inventors: Jason L. Goldschmidt, Peter D. Shah, Thomas M. Talpey
  • Publication number: 20130339616
    Abstract: Embodiments relate to controlling observability of transactional and non-transactional stores. An aspect includes receiving one or more store instructions. The one or more store instructions are initiated within an active transaction and include store data. The active transaction effectively delays committing stores to memory until successful completion of the active transaction. The store data is stored in a local storage buffer causing alterations to the local storage buffer from a first state to a second state. A signal is received that the active transaction has terminated. If the active transaction has terminated abnormally then: the local storage buffer is reverted back to the first state if the store data was stored by a transactional store instruction, and is propagated to a shared cache if the store instruction is non-transactional.
    Type: Application
    Filed: March 7, 2013
    Publication date: December 19, 2013
    Applicant: INTERNATIONAL BUSINESS MACHINES CORPORATION
    Inventors: Khary J. Alexander, Christian Jacobi, Hans-Werner Tast, Patrick M. West
  • Publication number: 20130339615
    Abstract: Embodiments relate to controlling observability of transactional and non-transactional stores. An aspect includes receiving one or more store instructions. The one or more store instructions are initiated within an active transaction and include store data. The active transaction effectively delays committing stores to memory until successful completion of the active transaction. The store data is stored in a local storage buffer causing alterations to the local storage buffer from a first state to a second state. A signal is received that the active transaction has terminated. If the active transaction has terminated abnormally then: the local storage buffer is reverted back to the first state if the store data was stored by a transactional store instruction, and is propagated to a shared cache if the store instruction is non-transactional.
    Type: Application
    Filed: June 15, 2012
    Publication date: December 19, 2013
    Applicant: INTERNATIONAL BUSINESS MACHINES CORPORATION
    Inventors: Khary J. Alexander, Christian Jacobi, Hans-Werner Tast, Patrick M. West
  • Publication number: 20130339595
    Abstract: In one embodiment, the present invention includes a method for identifying a memory request corresponding to a load instruction as a critical transaction if an instruction pointer of the load instruction is present in a critical instruction table associated with a processor core, sending the memory request to a system agent of the processor with a critical indicator to identify the memory request as a critical transaction, and prioritizing the memory request ahead of other pending transactions responsive to the critical indicator. Other embodiments are described and claimed.
    Type: Application
    Filed: December 30, 2011
    Publication date: December 19, 2013
    Inventors: Amit Kumar, Sreenivas Subramoney
  • Publication number: 20130339614
    Abstract: A computer program product for mitigating conflicts for shared cache lines between an owning core currently owning a cache line and a requestor core. The computer program product includes a tangible storage medium readable by a processing circuit and storing instructions for execution by the processing circuit for performing a method. The method includes determining whether the owning core is operating in a transactional or non-transactional mode and setting a hardware-based reject threshold at a first or second value with the owning core determined to be operating in the transactional or non-transactional mode, respectively. The method further includes taking first or second actions to encourage cache line sharing between the owning core and the requestor core in response to a number of rejections of requests by the requestor core reaching the reject threshold set at the first or second value, respectively.
    Type: Application
    Filed: June 14, 2012
    Publication date: December 19, 2013
    Applicant: INTERNATIONAL BUSINESS MACHINES CORPORATION
    Inventors: Khary J. Alexander, Chung-Lung K. Shum
  • Patent number: 8606997
    Abstract: The present invention is directed to a system managing data in a multilevel cache memory system. Certain cache data is designated and stored only in particular levels of the multilevel cache, bypassing other levels of the multilevel cache. In a multiprocessor environment, the present invention includes cache coherency operations or messages that pertain to data stored only in certain levels of a multilevel cache.
    Type: Grant
    Filed: December 23, 2008
    Date of Patent: December 10, 2013
    Assignee: Oracle America, Inc.
    Inventors: Robert Cypher, Haakan Zeffer, Anders Landin
  • Publication number: 20130326146
    Abstract: An information processing apparatus that appropriately manages data of an auxiliary memory apparatus is provided to prevent data from leaking. The information processing apparatus includes a first memory apparatus, a second memory apparatus, and a caching unit. The caching unit stores write data to be written on the second memory apparatus in a cache area ensured on the first memory apparatus. When a first event occurs, the caching unit initializes a management information table, in which the address of the cache area in which the write data is stored is associated with the address of the second memory apparatus in which the write data is to be stored, and restores the second memory apparatus to a state pervious to a state in which data is written.
    Type: Application
    Filed: March 4, 2013
    Publication date: December 5, 2013
    Applicants: TOSHIBA SOLUTIONS CORPORATION, KABUSHIKI KAISHA TOSHIBA
    Inventor: Tomonori ABE