Shared Cache Patents (Class 711/130)
  • Publication number: 20130326147
    Abstract: A multi-core processing apparatus may provide a cache probe and data retrieval method. The method may comprise sending a memory request from a requester to a record keeping structure. The memory request may have a memory address of a memory that stores requested data. The method may further comprise determining that a local last accessor of the memory address may have a copy of the requested data up to date with the memory. The local last accessor may be within a local domain that the requester belongs to. The method may further comprise sending a cache probe to the local last accessor and retrieving a latest value of the requested data from the local last accessor to the requester.
    Type: Application
    Filed: December 29, 2011
    Publication date: December 5, 2013
    Inventors: Simon C. Steely, JR., Samantika Subramaniam, William C. Hasenplaugh, Joel S. Emer
  • Patent number: 8595441
    Abstract: Some of the embodiments of the present disclosure provide apparatuses, systems, and methods for reducing the likelihood of cache line overlaps in a multi-processor system having a shared memory cache. A transformation function module coupled to the shared memory cache is configured to transform an index associated with a cache operation associated with a processor of the plurality of processors using a transformation function to generate a transformed index. In embodiments, groups of one or more processors have different or unique transformation functions associated with them in order to decrease the tendency or likelihood of their respective cache lines in the shared memory cache to overlap. Other embodiments are also described and claimed.
    Type: Grant
    Filed: January 3, 2011
    Date of Patent: November 26, 2013
    Assignee: Marvell Israel (M.I.S.L) Ltd.
    Inventors: Guy Nakibly, Adi Habusha
  • Patent number: 8589629
    Abstract: A system and method for data allocation in a shared cache memory of a computing system are contemplated. Each cache way of a shared set-associative cache is accessible to multiple sources, such as one or more processor cores, a graphics processing unit (GPU), an input/output (I/O) device, or multiple different software threads. A shared cache controller enables or disables access separately to each of the cache ways based upon the corresponding source of a received memory request. One or more configuration and status registers (CSRs) store encoded values used to alter accessibility to each of the shared cache ways. The control of the accessibility of the shared cache ways via altering stored values in the CSRs may be used to create a pseudo-RAM structure within the shared cache and to progressively reduce the size of the shared cache during a power-down sequence while the shared cache continues operation.
    Type: Grant
    Filed: March 27, 2009
    Date of Patent: November 19, 2013
    Assignee: Advanced Micro Devices, Inc.
    Inventors: Jonathan Owen, Guhan Krishnan, Carl D. Dietz, Douglas Richard Beard, William K. Lewchuk, Alexander Branover
  • Patent number: 8578097
    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: October 24, 2011
    Date of Patent: November 5, 2013
    Assignee: Intel Corporation
    Inventors: Daehyun Kim, Christopher J. Hughes, Yen-Kuang Chen, Partha Kundu
  • Publication number: 20130290638
    Abstract: A technique to provide ownership tracking of data assets in a multiple processor environment. Ownership tracking allows a data asset to be identified to a particular processor and tracked as the data asset travels within a system or sub-system. In one implementation, the sub-system is a cache memory that provides cache support to multiple processors. By utilizing flag bits attached to the data asset, ownership identification is attached to the data asset to identify which processor owns the data asset.
    Type: Application
    Filed: April 30, 2012
    Publication date: October 31, 2013
    Applicant: BROADCOM CORPORATION
    Inventors: Flaviu Dorin Turean, George Harms
  • Publication number: 20130290637
    Abstract: A technique to provide hardware protection for bus accesses for a processor in a multiple processor environment where at least two zones are established to separate or segregate processor functionality. In one implementation, control registers within a cache memory that supports the multiple processors are loaded with addresses associated with access rights for a particular processor. Then, when an access request is generated, the registers are checked to authorize the access.
    Type: Application
    Filed: April 30, 2012
    Publication date: October 31, 2013
    Applicant: BROADCOM CORPORATION
    Inventors: Flaviu Dorin Turean, Stephane Rodgers, George Harms, Joshua Stults
  • Patent number: 8572328
    Abstract: A device, comprising a single-ported first memory slice accessible only to a plurality of clients and including a plurality of blocks configured for storing information on behalf of the plurality of clients. The device further comprises a dual-ported second memory slice having a plurality of blocks for storing links and accessible to the plurality of clients and to a list manager that maintains a data structure for allocating memory blocks from the first memory slice and the second memory slice to the plurality of clients. In response to a client request, the list manager allocates a block of the first memory slice and a block of the second memory slice to the client, and stores a link for a next available memory block at the second memory slice.
    Type: Grant
    Filed: September 21, 2011
    Date of Patent: October 29, 2013
    Assignee: QLOGIC, Corporation
    Inventors: Biswajit Khandai, Oscar L. Grijalva
  • Patent number: 8572326
    Abstract: A method and system for dynamic distributed data caching is presented. The method includes establishing a cache community of members for data storage. A request for data at a particular member of the cache community is generated. A cache location in the cache community where the data would be located is determined. A determination is made as to whether the data is stored at the cache location. The data is requested from a source of the data in response to the data not being cached at the cache location. A determination is made as to whether the source is currently unavailable to provide the data. The data is continuously requested from the source while waiting for the source to become available. The particular member is allowed to request other data while waiting for data to become available from the source.
    Type: Grant
    Filed: June 18, 2012
    Date of Patent: October 29, 2013
    Assignee: Parallel Networks, LLC
    Inventors: Keith A. Lowery, Bryan S. Chin, David A. Consolver, Gregg A. DeMasters
  • Publication number: 20130282985
    Abstract: Various embodiments of the present invention allow concurrent accesses to a cache. A request to update an object stored in a cache is received. A first data structure comprising a new value for the object is created in response to receiving the request. A cache pointer is atomically modified to point to the first data structure. A second data structure comprising an old value for the cached object is maintained until a process, which holds a pointer to the old value of the cached object, at least one of one of ends and indicates that the old value is no longer needed.
    Type: Application
    Filed: June 24, 2013
    Publication date: October 24, 2013
    Applicant: International Business Machines Corporation
    Inventors: Paul M. DANTZIG, Robert O. Dryfoos, Sastry S. DURI, Arun IYENGAR
  • Patent number: 8566523
    Abstract: A cache consistency management device according to example embodiments comprises a ping-pong monitoring unit monitoring a ping-pong migration sequence generated between a plurality of processors; a counting unit counting the number of successive generations of the ping-pong migration sequence in response to the monitoring result; and a request modifying unit modifying a migration request to a request of a non-migratory sharing method on the basis of the counting result.
    Type: Grant
    Filed: August 18, 2010
    Date of Patent: October 22, 2013
    Assignee: Samsung Electronics Co., Ltd.
    Inventors: Ju-Hee Choi, HyeOn Jang, Jungyul Pyo
  • Patent number: 8566533
    Abstract: In operation, a first request for data is sent to a cache of a first node. Additionally, it is determined whether the first request can be satisfied within the first node, where the determining includes at least one of determining a type of the first request and determining a state of the data in the cache. Furthermore, a second request for the data is conditionally sent to a second node, based on the determination.
    Type: Grant
    Filed: September 30, 2009
    Date of Patent: October 22, 2013
    Assignee: NetLogic Microsystems, Inc.
    Inventors: Gaurav Garg, David T. Hass
  • Patent number: 8560803
    Abstract: An apparatus for controlling operation of a cache includes a first command queue, a second command queue and an input controller configured to receive requests having a first command type and a second command type and to assign a first request having the first command type to the first command queue and a second command having the first command type to the second command queue in the event that the first command queue has not received an indication that a first dedicated buffer is available.
    Type: Grant
    Filed: June 23, 2010
    Date of Patent: October 15, 2013
    Assignee: International Business Machines Corporation
    Inventors: Diana L. Orf, Robert J. Sonnelitter, III
  • Patent number: 8560628
    Abstract: A method, data processing system, and computer program product autonomously migrate clients serviced by a first VIOS to other VIOSes in the event of a VIOS cluster “split-brain” scenario generating a primary sub-cluster and a secondary sub-cluster, where the first VIOS is in the secondary sub-cluster. The VIOSes in the cluster continually exchange keep-alive information to provide each VIOS with an up-to-date status of other VIOSes within the cluster and to notify the VIOSes when one or more nodes loose connection to or are no longer communicating with other nodes within the cluster, as occurs with a cluster split-brain event/condition. When this event is detected, a first sub-cluster assumes a primary sub-cluster role and one or more clients served by one or more VIOSes within the secondary sub-cluster are autonomously migrated to other VIOSes in the primary sub-cluster, thus minimizing downtime for clients previously served by the unavailable/uncommunicative VIOSes.
    Type: Grant
    Filed: January 11, 2011
    Date of Patent: October 15, 2013
    Assignee: International Business Machines Corporation
    Inventors: Veena Ganti, James A. Pafumi, Jacob Jason Rosales, Morgan Jeffrey Rosas, Vasu Vallabhaneni
  • Publication number: 20130254488
    Abstract: System and methods for cache coherence in a multi-core processing environment having a local/shared cache hierarchy. The system includes multiple processor cores, a main memory, and a local cache memory associated with each core for storing cache lines accessible only by the associated core. Cache lines are classified as either private or shared. A shared cache memory is coupled to the local cache memories and main memory for storing cache lines. The cores follow a write-back to the local memory for private cache lines, and a write-through to the shared memory for shared cache lines. Shared cache lines in local cache memory enter a transient dirty state when written by the core. Shared cache lines transition from a transient dirty to a valid state with a self-initiated write-through to the shared memory. The write-through to shared memory can include only data that was modified in the transient dirty state.
    Type: Application
    Filed: March 11, 2013
    Publication date: September 26, 2013
    Inventors: Stefanos Kaxiras, Alberto Ros
  • Patent number: 8543769
    Abstract: A mechanism is provided in a virtual machine monitor for fine grained cache allocation in a shared cache. The mechanism partitions a cache tag into a most significant bit (MSB) portion and a least significant bit (LSB) portion. The MSB portion of the tags is shared among the cache lines in a set. The LSB portion of the tags is private, one per cache line. The mechanism allows software to set the MSB portion of tags in a cache to allocate sets of cache lines. The cache controller determines whether a cache line is locked based on the MSB portion of the tag.
    Type: Grant
    Filed: July 27, 2009
    Date of Patent: September 24, 2013
    Assignee: International Business Machines Corporation
    Inventors: Ramakrishnan Rajamony, William E. Speight, Lixin Zhang
  • Patent number: 8539158
    Abstract: A method for merging data including receiving a request from an input/output device to merge a data, wherein a merge of the data includes a manipulation of the data, determining that the data exists in a local cache memory that is in local communication with the input/output device, fetching the data to the local cache memory from a remote cache memory or a main memory if the data does not exist in the local cache memory, merging the data according to the request to obtain a merged data, and storing the merged data in the local cache, wherein the merging of the data is performed without using a memory controller within a control flow or a data flow of the merging of the data.
    Type: Grant
    Filed: June 30, 2011
    Date of Patent: September 17, 2013
    Assignee: International Business Machines Corporation
    Inventors: Deanna Postles Dunn, Robert J. Sonnelitter, III, Gary E. Strait
  • Patent number: 8539157
    Abstract: The invention relates to a cache memory and method for controlling access to data. According to the invention, a control area which is advantageously formed separate from a data area is provided for controlling the access to data stored in the cache and to be read by applicative processes. The control area includes at least one release area with offsets and data version definition sections. Application to shared memories for client server architectures.
    Type: Grant
    Filed: May 3, 2011
    Date of Patent: September 17, 2013
    Assignee: Amadeus S.A.S.
    Inventors: Virginie Amar, Luc Capanaccia, Guillaume Touffait, Sébastien Pellise, Xavier Leblanc
  • Patent number: 8527709
    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: July 20, 2007
    Date of Patent: September 3, 2013
    Assignee: Intel Corporation
    Inventors: Sanjeev Jahagirdar, Varghese George, Jose Allarey
  • Patent number: 8526453
    Abstract: Linecards and methods for processing signals are provided.
    Type: Grant
    Filed: May 23, 2007
    Date of Patent: September 3, 2013
    Assignee: Lantiq Deutschland GmbH
    Inventors: Friedrich Geissler, Christian Mandl, Stephan Pruecklmayer
  • Publication number: 20130219105
    Abstract: Example embodiments described herein may relate to memory devices, and may relate more particularly to caching for non-volatile memory devices.
    Type: Application
    Filed: February 16, 2012
    Publication date: August 22, 2013
    Applicant: Micron Technology, Inc.
    Inventor: Emanuele Confalonieri
  • Patent number: 8516196
    Abstract: A processor may include several processor cores, each including a respective higher-level cache; a lower-level cache including several tag units each including several controllers, where each controller corresponds to a respective cache bank configured to store data, and where the controllers are concurrently operable to access their respective cache banks; and an interconnect network configured to convey data between the cores and the lower-level cache. The controllers in a given tag unit may share access to a resource that may include one or more of an interconnect egress port coupled to the interconnect network, an interconnect ingress port coupled to the interconnect network, a test controller, or a data storage structure.
    Type: Grant
    Filed: June 1, 2012
    Date of Patent: August 20, 2013
    Assignee: Oracle America, Inc.
    Inventors: Prashant Jain, Yoganand Chillarige, Sandip Das, Shukur Moulali Pathan, Srinivasan R. Iyengar, Sanjay Patel
  • Patent number: 8516197
    Abstract: An apparatus, method 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: February 11, 2011
    Date of Patent: August 20, 2013
    Assignee: International Business Machines Corporation
    Inventors: Alexandre E. Eichenberger, Alan G. Gara, Martin Ohmacht, Vijayalakshmi Srinivasan
  • Publication number: 20130212332
    Abstract: Techniques are provided for using an intermediate cache to provide some of the items involved in a scan operation, while other items involved in the scan operation are provided from primary storage. Techniques are also provided for determining whether to service an I/O request for an item with a copy of the item that resides in the intermediate cache based on factors such as a) an identity of the user for whom the I/O request was submitted, b) an identity of a service that submitted the I/O request, c) an indication of a consumer group to which the I/O request maps, or d) whether the intermediate cache is overloaded. Techniques are also provided for determining whether to store items in an intermediate cache in response to the items being retrieved, based on logical characteristics associated with the requests that retrieve the items.
    Type: Application
    Filed: March 15, 2013
    Publication date: August 15, 2013
    Applicant: ORACLE INTERNATIONAL CORPORATION
    Inventor: ORACLE INTERNATIONAL CORPORATION
  • Publication number: 20130212333
    Abstract: An information processing apparatus provided with a plurality of nodes each including at least one processor, a system controller, and a main memory, includes a status storage unit that stores statuses of a plurality of cache lines and that is capable of reading statuses of a plurality of cache lines by one reading operation, a recording unit that is provided in a system controller in at least one node and that records all or part of the statuses stored in the status storage unit, wherein the system controller records obtained statuses in the recording unit on a condition that all of the statuses of the plurality of cache lines obtained by reading the status storage unit are invalid statuses or shared statuses in different nodes when the system controller has read the status storage unit in response to a request.
    Type: Application
    Filed: March 15, 2013
    Publication date: August 15, 2013
    Applicant: FUJITSU LIMITED
    Inventor: FUJITSU LIMITED
  • Publication number: 20130205091
    Abstract: In general, this disclosure describes techniques for increasing the throughput of multi-bank cache memory systems accessible by multiple clients. Requests for data from a client may be stored in a pending buffer associated with the client for a first cache memory bank. For each of the requests for data, a determination may be made as to if the request is able to be fulfilled by a cache memory within the first cache memory bank regardless of a status of requests by the client for data at a second cache memory bank. Data requested from the cache memory by the client may be stored in a read data buffer associated with the client according to an order of receipt of the requests for data in the pending buffer.
    Type: Application
    Filed: February 2, 2012
    Publication date: August 8, 2013
    Applicant: QUALCOMM INCORPORATED
    Inventors: Jian Liang, Chun Yu
  • Publication number: 20130205092
    Abstract: An example multicore environment generally described herein may be adapted to improve use of a shared cache by a plurality of processing cores in a multicore processor. For example, where a producer task associated with a first core of the multicore processor places data in a shared cache at a faster rate than a consumer task associated with a second core of the multicore processor, relative task execution rates can be adapted to prevent eventual increased cache misses by the consumer task.
    Type: Application
    Filed: February 6, 2012
    Publication date: August 8, 2013
    Applicant: EMPIRE TECHNOLOGY DEVELOPMENT LLC
    Inventors: Shaibal Roy, Soumya Datta
  • Patent number: 8503469
    Abstract: A technique for providing network access in accordance with at least one layered network access technology comprising layer 1 processes and layer 2 processes is described. In a device implementation, the technique comprises a shared memory adapted to store at least layer 1 data and layer 2 data as well as a memory access component coupled to the shared memory and comprising a first client port adapted to receive memory access requests from a layer 1 processing client and a second client port adapted to receive memory access requests from a layer 2 processing client. The memory access component is configured to serve a memory access request from the layer 1 processing client with a lower priority than a memory access request from the layer 2 processing client. In particular, the memory access component may be adapted to prioritize reading of layer 1 data by the layer 2 processing client over writing of layer 2 data by the layer 1 processing client.
    Type: Grant
    Filed: November 16, 2009
    Date of Patent: August 6, 2013
    Assignee: Telefonaktiebolaget L M Ericsson (Publ)
    Inventors: Seyed-Hami Nourbakhsh, Helmut Steinbach
  • Patent number: 8504773
    Abstract: A system and method for buffering intermediate data in a processing pipeline architecture stores the intermediate data in a shared cache that is coupled between one or more pipeline processing units and an external memory. The shared cache provides storage that is used by multiple pipeline processing units. The storage capacity of the shared cache is dynamically allocated to the different pipeline processing units as needed, to avoid stalling the upstream units, thereby improving overall system throughput.
    Type: Grant
    Filed: December 2, 2008
    Date of Patent: August 6, 2013
    Assignee: Nvidia Corporation
    Inventors: David B. Glasco, Peter B. Holmqvist, George R. Lynch, Patrick R. Marchand, James Roberts
  • Publication number: 20130198459
    Abstract: A de-duplication is configured to cache data for access by a plurality of different storage clients, such as virtual machines. A virtual machine may comprise a virtual machine de-duplication module configured to identify data for admission into the de-duplication cache. Data admitted into the de-duplication cache may be accessible by two or more storage clients. Metadata pertaining to the contents of the de-duplication cache may be persisted and/or transferred with respective storage clients such that the storage clients may access the contents of the de-duplication cache after rebooting, being power cycled, and/or being transferred between hosts.
    Type: Application
    Filed: January 25, 2013
    Publication date: August 1, 2013
    Applicant: Fusion-io, Inc.
    Inventor: Fusion-io, Inc.
  • Patent number: 8489821
    Abstract: Various embodiments of the present invention allow concurrent accesses to a cache. A request to update an object stored in a cache is received. A first data structure comprising a new value for the object is created in response to receiving the request. A cache pointer is atomically modified to point to the first data structure. A second data structure comprising an old value for the cached object is maintained until a process, which holds a pointer to the old value of the cached object, at least one of one of ends and indicates that the old value is no longer needed.
    Type: Grant
    Filed: August 9, 2012
    Date of Patent: July 16, 2013
    Assignee: International Business Machines Corporation
    Inventors: Paul M. Dantzig, Robert O. Dryfoos, Sastry S. Duri, Arun Iyengar
  • Patent number: 8489818
    Abstract: A core cluster includes a cache memory, a core, and a cluster cache controller. The cache memory stores and provides instructions and data. The core accesses the cache memory or a cache memory provided in an adjacent core cluster, and performs an operation. The cluster cache controller allows the core to access the cache memory when the core requests memory access. The cluster cache controller allows the core to access the cache memory provided in the adjacent core cluster when the core requests a clustering to the adjacent core cluster. The cluster cache controller allows a core provided in the adjacent core cluster to access the cache memory when the core receives a clustering request from the adjacent core cluster.
    Type: Grant
    Filed: July 22, 2010
    Date of Patent: July 16, 2013
    Assignee: Electronics and Telecommunications Research Institute
    Inventors: Young Su Kwon, Moo Kyoung Chung, Nak Woong Eum
  • Publication number: 20130179639
    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: Application
    Filed: March 6, 2013
    Publication date: July 11, 2013
    Inventors: SANJEEV JAHAGIRDAR, VARGHESE GEORGE, JOSE ALLAREY
  • Patent number: 8484391
    Abstract: Systems and methods are described including dynamically configuring a shared buffer to support processing of at least two video read streams associated with different video codec formats. The methods may include determining a buffer write address within the shared buffer in response to a memory request associated with one read stream, and determining a different buffer write address within the shared buffer in response to a memory request associated with the other read stream.
    Type: Grant
    Filed: June 20, 2011
    Date of Patent: July 9, 2013
    Assignee: Intel Corporation
    Inventors: Hiu-Fai R. Chan, Scott W. Cheng, Hong Jiang
  • Patent number: 8478836
    Abstract: Proxy cache technology, in which a system determines a subset of content files to include in a proxy cache maintained by a network service provider that provides network service to user downloader devices included in a content delivery network. The system controls the network service provider to store the subset of content files in the proxy cache. The system also controls the user downloader devices to attempt to use the proxy cache as a peer to download a content file prior to using an external peer.
    Type: Grant
    Filed: June 7, 2010
    Date of Patent: July 2, 2013
    Assignee: PurpleComm Inc.
    Inventors: Jack H. Chang, William H. Sheu, Sherman Tuan
  • Publication number: 20130151783
    Abstract: The interface for inter-thread communication between a plurality of threads including a number of producer threads for producing data objects and a number of consumer threads for consuming the produced data objects includes a specifier and a provider. The specifier is configured to specify a certain relationship between a certain producer thread of the number of producer threads which is adapted to produce a certain data object and a consumer thread of the number of consumer threads which is adapted to consume the produced certain data object. Further, the provider is configured to provide direct cache line injection of a cache line of the produced certain data object to a cache allocated to the certain consumer thread related to the certain producer thread by the specified certain relationship.
    Type: Application
    Filed: December 11, 2012
    Publication date: June 13, 2013
    Applicant: INTERNATIONAL BUSINESS MACHINES CORPORATION
    Inventor: International Business Machines Corporation
  • Publication number: 20130151929
    Abstract: Mechanisms are provided for efficient storage of meta-bits within a system memory. The mechanisms combine an L/G bit and an SUE bit to form meta-bits. The mechanisms then determine the local/global state of a cache line on the first cycle of data. The mechanisms forward the data to the requesting cache, and the requesting cache may reissue the request globally based on the local/global state of the cache line. The mechanisms then determine the special uncorrectable error state of the cache line on the second or subsequent cycle of data. The mechanisms perform error processing regardless of whether the request was reissued globally.
    Type: Application
    Filed: December 7, 2011
    Publication date: June 13, 2013
    Applicant: International Business Machines Corporation
    Inventors: John S. Dodson, Benjiman L. Goodman, Steven J. Hnatko, Kenneth L. Wright
  • Publication number: 20130151782
    Abstract: In one embodiment, the present invention includes a multicore processor having a plurality of cores, a shared cache memory, an integrated input/output (IIO) module to interface between the multicore processor and at least one IO device coupled to the multicore processor, and a caching agent to perform cache coherency operations for the plurality of cores and the IIO module. Other embodiments are described and claimed.
    Type: Application
    Filed: December 13, 2011
    Publication date: June 13, 2013
    Inventors: Yen-Cheng Liu, Robert G. Blankenship, Geeyarpuram N. Santhanakrishnan, Ganapati N. Srinivasa, Kenneth C. Creta, Sridhar Muthrasanallur, Bahaa Fahim
  • Publication number: 20130145097
    Abstract: An apparatus includes a cache memory that includes a state array configured to store state information. The state information includes a state that indicates updated corresponding to a particular address of the cache memory is not stored in the cache memory but is available from at least one of multiple sources external to the cache memory, where at least one of the multiple sources is a store buffer.
    Type: Application
    Filed: December 5, 2011
    Publication date: June 6, 2013
    Applicant: QUALCOMM INCORPORATED
    Inventors: Ajay Anant Ingle, Lucian Codrescu
  • Patent number: 8458405
    Abstract: Various embodiments of the present invention manage access to a cache memory. In one embodiment, a set of cache bank availability vectors are generated based on a current set of cache access requests currently operating on a set of cache banks and at least a variable busy time of a cache memory includes the set of cache banks. The set of cache bank availability vectors indicate an availability of the set of cache banks. A set of cache access requests for accessing a set of given cache banks within the set of cache banks is received. At least one cache access request in the set of cache access requests is selected to access a given cache bank based on the a cache bank availability vectors associated with the given cache bank and the set of access request parameters associated with the at least one cache access that has been selected.
    Type: Grant
    Filed: June 23, 2010
    Date of Patent: June 4, 2013
    Assignee: International Business Machines Corporation
    Inventors: Timothy C. Bronson, Garrett M. Drapala, Hieu T. Huynh, Kenneth D. Klapproth
  • Patent number: 8458408
    Abstract: A technique for performing stream detection and prefetching within a cache memory simplifies stream detection and prefetching. A bit in a cache directory or cache entry indicates that a cache line has not been accessed since being prefetched and another bit indicates the direction of a stream associated with the cache line. A next cache line is prefetched when a previously prefetched cache line is accessed, so that the cache always attempts to prefetch one cache line ahead of accesses, in the direction of a detected stream. Stream detection is performed in response to load misses tracked in the load miss queue (LMQ). The LMQ stores an offset indicating a first miss at the offset within a cache line. A next miss to the line sets a direction bit based on the difference between the first and second offsets and causes prefetch of the next line for the stream.
    Type: Grant
    Filed: February 9, 2011
    Date of Patent: June 4, 2013
    Assignee: International Business Machines Corporation
    Inventors: William E. Speight, Lixin Zhang
  • Patent number: 8458406
    Abstract: In one embodiment, a memory controller may be configured to transmit two or more critical words (or beats) corresponding to two or more different read requests prior to returning the remaining beats of the read requests. Such an embodiment may reduce latency to the sources of the memory requests, which may be stalled awaiting the critical words. The remaining words may fill a cache block or other buffer, but may not be required by the sources as quickly as the critical words in order to support higher performance. In some embodiments, once a remaining beat of a block is transmitted, all of the remaining beats may be transmitted contiguously. In other embodiments, additional critical words may be forwarded between remaining beats of a block.
    Type: Grant
    Filed: November 29, 2010
    Date of Patent: June 4, 2013
    Assignee: Apple Inc.
    Inventors: Sukalpa Biswas, Hao Chen, Brian P. Lilly
  • Publication number: 20130132679
    Abstract: There is provided a storage system including one or more LDEVs, one or more processors, a local memory or memories corresponding to the processor or processors, and a shared memory, which is shared by the processors, wherein control information on I/O processing or application processing is stored in the shared memory, and the processor caches a part of the control information in different storage areas on a type-by-type basis in the local memory or memories corresponding to the processor or processors in referring to the control information stored in the shared memory.
    Type: Application
    Filed: January 14, 2013
    Publication date: May 23, 2013
    Applicant: HITACHI, Ltd.
    Inventors: Shintaro ITO, Norio SHIMOZONO
  • Publication number: 20130132678
    Abstract: An information processing system has a plurality of nodes which use a snoop cache memory in each of the plurality of nodes. A directory, which maintains a cache coherence of the snoop cache memory of the plurality of nodes, has a first directory and a second directory which has a different format from a format of the first directory and is only used for a shared state. The node searches the first and second directories, and determines the other node to transmit a snoop.
    Type: Application
    Filed: January 10, 2013
    Publication date: May 23, 2013
    Applicant: FUJITSU LIMITED
    Inventor: FUJITSU LIMITED
  • Patent number: 8447930
    Abstract: Various embodiments of the present invention manage a hierarchical store-through memory cache structure. A store request queue is associated with a processing core in multiple processing cores. At least one blocking condition is determined to have occurred at the store request queue. Multiple non-store requests and a set of store requests associated with a remaining set of processing cores in the multiple processing cores are dynamically blocked from accessing a memory cache in response to the blocking condition having occurred.
    Type: Grant
    Filed: June 22, 2010
    Date of Patent: May 21, 2013
    Assignee: International Business Machines Corporation
    Inventors: Deanna P. Berger, Michael F. Fee, Christine C. Jones, Diana L. Orf, Robert J. Sonnelitter, III
  • Patent number: 8443148
    Abstract: Methods and apparatus relating to system-wide quiescence and per-thread transaction fence in a distributed caching agent are described. Some embodiments utilize messages, counters, and/or state machines that support system-wide quiescence and per-thread transaction fence flows. Other embodiments are also disclosed.
    Type: Grant
    Filed: December 26, 2010
    Date of Patent: May 14, 2013
    Assignee: Intel Corporation
    Inventors: James R. Vash, Bongjin Jung, Rishan Tan
  • Patent number: 8438337
    Abstract: A system and method are provided for sharing data between a network including one or more network nodes. The network includes a number of individual network nodes and a home network node communicating with one another. The individual network nodes and the home network node include a plurality of processors and memory caches. The memory caches consist of private caches corresponding to individual processors, as well as shared caches which are shared among the plurality of processors of an individual node and accessible by the processors of the other network nodes. Each network node is capable of executing a hierarchy of data requests that originate in the private caches of an individual local network node. If no cache hits occur within the local network node, a conditional request is sent to the home network node to request data through the shared caches of the other network nodes.
    Type: Grant
    Filed: September 30, 2009
    Date of Patent: May 7, 2013
    Assignee: NetLogic Microsystems, Inc.
    Inventors: Gaurav Garg, David T. Hass
  • Publication number: 20130111125
    Abstract: Shared cache modules, systems, and methods are provided herein. The shared cache module is useable with at least one initiator on a serial attached small computer system interface system. The shared cache module includes a memory device and a memory interface. The memory device assigns each of the at least one initiator to a portion of a cache memory on the memory device. The memory interface indexes the assignment and communicates with the at least one initiator to perform a memory task.
    Type: Application
    Filed: October 26, 2011
    Publication date: May 2, 2013
    Inventors: Joseph David Black, Balaji Natrajan, Michael G. Myrah
  • Publication number: 20130111142
    Abstract: Embodiments of the present invention disclose a method for accessing a cache and a pseudo cache agent (PCA). The method of the present invention is applied to a multiprocessor system, where the system includes at least one NC, at least one PCA conforming to a processor micro-architecture level interconnect protocol is embedded in the NC, the PCA is connected to at least one PCA storage device, and the PCA storage device stores data shared among memories in the multiprocessor system. The method of the present invention includes: if the NC receives a data request, obtaining, by the PCA, target data required in the data request from the PCA storage device connected to the PCA; and sending the target data to a sender of the data request. Embodiments of the present invention are mainly applied to a process of accessing cache data in the multiprocessor system.
    Type: Application
    Filed: December 19, 2012
    Publication date: May 2, 2013
    Applicant: HUAWEI TECHNOLOGIES CO., LTD.
    Inventor: Huawei Technologies Co., Ltd.
  • Publication number: 20130111141
    Abstract: A network processor includes multiple processor cores for processing packet data. In order to provide the processor cores with access to a memory subsystem, an interconnect circuit directs communications between the processor cores and the L2 Cache and other memory devices. The processor cores are divided into several groups, each group sharing an individual bus, and the L2 Cache is divided into a number of banks, each bank having access to a separate bus. The interconnect circuit processes requests to store and retrieve data from the processor cores across multiple buses, and processes responses to return data from the cache banks. As a result, the network processor provides high-bandwidth memory access for multiple processor cores.
    Type: Application
    Filed: October 31, 2011
    Publication date: May 2, 2013
    Applicant: Cavium, Inc.
    Inventors: Richard E. Kessler, David H. Asher, John M. Perveiler, Bradley D. Dobbie
  • Publication number: 20130103905
    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: Application
    Filed: December 6, 2012
    Publication date: April 25, 2013
    Inventors: Sergey I. Sapronov, Alexey V. Bayduraev, Alexander V. Supalov, Vladimir D. Truschin, Igor Ermolaev, Dmitry Mishura