Snooping Patents (Class 711/146)
  • Publication number: 20140095808
    Abstract: A coherency controller, such as one used within a system-on-chip, is capable of issuing different types of snoops to coherent caches. The coherency controller chooses the type of snoop based on the type of request that caused the snoops or the state of the system or both. By so doing, coherent caches provide data when they have sufficient throughput, and are not required to provide data when they do not have insufficient throughput.
    Type: Application
    Filed: July 10, 2013
    Publication date: April 3, 2014
    Applicant: ARTERIS SAS
    Inventors: Laurent MOLL, Jean-Jacques LECLER
  • Publication number: 20140095809
    Abstract: A coherency controller with a data buffer store that is smaller than the volume of pending read data requests. Data buffers are allocated only for requests that match the ID of another pending request. Buffers are deallocated if all snoops receive responses, none of which contain data. Buffers containing clean data have their data discarded and are reallocated to later requests. The discarded data is later read from the target. When all buffers are full of dirty data requests with a pending order ID are shunted into request queues for later service. Dirty data may be foisted onto coherent agents to make buffers available for reallocation. Accordingly, the coherency controller can issue snoops and target requests for a volume of data that exceeds the number of buffers in the data store.
    Type: Application
    Filed: July 13, 2013
    Publication date: April 3, 2014
    Applicant: QUALCOMM TECHNOLOGIES, INC.
    Inventors: Laurent MOLL, Jean-Jacques Lecler, Jonah Proujansky-Bell
  • Publication number: 20140095806
    Abstract: Configurable snoop filters. A memory system is coupled with one or more processing cores. A coherent system fabric couples the memory system with the one or more processing cores. The coherent system fabric comprising at least a configurable snoop filter that is configured based on workload. The configurable snoop filter having a configurable snoop filter directory and a bloom filter. The configurable snoop filter and the bloom filter include runtime configuration parameters that are used to selectively limit snoop traffic.
    Type: Application
    Filed: September 29, 2012
    Publication date: April 3, 2014
    Inventors: Carlos A. Flores Fajardo, German Fabila Garcia, Li Zhao, Ravishankar Iyer
  • Publication number: 20140095807
    Abstract: A coherency controller, such as one used within a system-on-chip, is capable of issuing different types of snoops to coherent caches. The coherency controller chooses the type of snoop based on the type of request that caused the snoops or the state of the system or both. By so doing, coherent caches provide data when they have sufficient throughput, and are not required to provide data when they do not have insufficient throughput.
    Type: Application
    Filed: July 10, 2013
    Publication date: April 3, 2014
    Applicant: Qualcomm Technologies, Inc.
    Inventors: Laurent MOLL, Jean-Jacques Lecler
  • Patent number: 8688910
    Abstract: A data processing system has a cache which receives both non-debug snoop requests and debug snoop requests for processing. The non-debug snoop requests are generated in response to transactions snooped from a system interconnect. Debug control circuitry that is coupled to the cache provides the debug snoop requests to the cache for processing. The debug snoop requests are generated in response to debug snoop commands from a debugger and without the use of the system interconnect. In one form snoop circuitry has a snoop request queue having a plurality of entries, each entry for storing a snoop request. A debug indicator corresponding to each snoop request indicates whether the snoop request is a debug snoop request or a non-debug snoop request.
    Type: Grant
    Filed: February 6, 2009
    Date of Patent: April 1, 2014
    Assignee: Freescale Semiconductor, Inc.
    Inventor: William C. Moyer
  • Patent number: 8688951
    Abstract: Operating system virtual memory management for hardware transactional memory. A system includes an operating system deciding to unmap a first virtual page. As a result, the operating system removes the mapping of the first virtual page to the first physical page from the virtual memory page table. As a result, the operating system performs an action to discard transactional memory hardware state for at least the first physical page. Embodiments may further suspend hardware transactions in kernel mode. Embodiments may further perform soft page fault handling without aborting a hardware transaction, resuming the hardware transaction upon return to user mode, and even successfully committing the hardware transaction.
    Type: Grant
    Filed: July 20, 2012
    Date of Patent: April 1, 2014
    Assignee: Microsoft Corporation
    Inventors: Koichi Yamada, Gad Sheaffer, Ali-Reza Adl-Tabatabai, Landy Wang, Martin Taillefer, Arun Kishan, David Callahan, Jan Gray, Vadim Bassin
  • Patent number: 8688919
    Abstract: A system and method of tracking multiple non-identification tagged requests in a system with multiple responders using one or more tracking queues. In some embodiments, the system and method may be implemented in a snoop filter covering multiple caches. In some embodiments, a data-less bus query may be used to update the status of a requested line.
    Type: Grant
    Filed: October 22, 2012
    Date of Patent: April 1, 2014
    Assignee: Marvell International Ltd.
    Inventors: R. Frank O'Bleness, Sujat Jamil, David E. Miner, Tom Hameenanttila, Jeffrey Kehl, Richard Bryant, Kim Schuttenberg
  • Publication number: 20140089603
    Abstract: Examples are disclosed for managing power and performance of multi-socket processors. In some examples, a utilization rate of a first processor circuitry in a first processor socket may be determined. An active memory ratio of a cache for the first processor circuitry may be compared to a threshold ratio or a data traffic rate between the first processor circuitry and a second processor circuitry in a second processor socket may be compared to a threshold rate. According to some examples, a first power state of the first processor circuitry may be changed based on the determined utilization rate. The first power state may also be changed based on the comparison of the active memory ratio to the threshold ratio or the comparison of the data traffic rate to the threshold rate.
    Type: Application
    Filed: September 26, 2012
    Publication date: March 27, 2014
    Inventors: Sheshaprasad G. Krishnapura, Vipul Lal, Ty H. Tang
  • Patent number: 8677041
    Abstract: A method and system for balancing loads of a plurality of bus lanes of a snooping-based bus. The system includes: a receiver for receiving snoop transactions from the bus lanes, each of the snoop transactions having a snoop request and at least one snoop response, an analyzer for analyzing respective actual and expected loads of each of the bus lanes dependent on the received snoop transactions, and a controller for providing a next snoop request from a number of outstanding snoop requests to a buffer allocated to the system, where the buffer is dependent on the analyzed loads of the bus lanes.
    Type: Grant
    Filed: August 30, 2011
    Date of Patent: March 18, 2014
    Assignee: International Business Machines Corporation
    Inventor: Andreas Christian Doering
  • Patent number: 8677073
    Abstract: A method and apparatus for supporting cache coherency in a multiprocessor computing environment having multiple processing units, each processing unit having one or more local cache memories associated and operatively connected therewith. The method comprises providing a snoop filter device associated with each processing unit, each snoop filter device having a plurality of dedicated input ports for receiving snoop requests from dedicated memory writing sources in the multiprocessor computing environment. Each snoop filter device includes a plurality of parallel operating port snoop filters in correspondence with the plurality of dedicated input ports, each port snoop filter implementing one or more parallel operating sub-filter elements that are adapted to concurrently filter snoop requests received from respective dedicated memory writing sources and forward a subset of those requests to its associated processing unit.
    Type: Grant
    Filed: August 16, 2012
    Date of Patent: March 18, 2014
    Assignee: Intel Corporation
    Inventors: Matthias A. Blumrich, Dong Chen, Alan G. Gara, Mark E. Giampapa, Philip Heidelberger, Dirk I. Hoenicke, Martin Ohmacht, Valentina Salapura, Pavlos M. Vranas
  • Patent number: 8671247
    Abstract: An L2 cache, method and computer program product for transferring an inbound bus operation to a processor side handling machine. The method includes a bus operation handling machine accepting the inbound bus operation received over a system interconnect, the bus operation handling machine identifying a demand operation of the processor side handling machine that will complete the bus operation, the bus operation handling machine sending the identified demand operation to the processor side handling machine, and the processor side handling machine performing the identified demand operation.
    Type: Grant
    Filed: December 14, 2010
    Date of Patent: March 11, 2014
    Assignee: International Business Machines Corporation
    Inventors: Jason A. Cox, Kevin C K Lin, Eric F. Robinson, Mark J. Wolski
  • Patent number: 8667226
    Abstract: A data processing system (10) includes a first master (14) and a second master (16 or 22). The first master includes a cache (28) and snoop queue circuitry (44, 52, 54) having a snoop request queue (44) which stores snoop requests. The snoop queue circuitry receives snoop requests for storage into the snoop request queue and provides snoop requests from the snoop request queue to the cache, and the snoop queue circuitry provides a ready indicator indicating whether the snoop request queue can store more snoop requests. The second master includes outgoing transaction control circuitry (72) which controls initiation of outgoing transactions to a system interconnect.
    Type: Grant
    Filed: March 24, 2008
    Date of Patent: March 4, 2014
    Assignee: Freescale Semiconductor, Inc.
    Inventor: William C. Moyer
  • Patent number: 8667227
    Abstract: Briefly stated, technologies are generally described for accessing a data block in a cache with a domain based cache coherence protocol. A first processor in a first tile and first domain can be configured to evaluate a request to access the data block. A cache in a second tile in the first domain can be configured to send the data block to the first tile when the data block is cached in the second tile. The first processor can be configured to send the request to a third tile in another domain when the cached location is outside the first processor's domain. The third processor can be configured to determine and send the request to a data domain associated with the cached location of the data block. A fourth tile can be configured to receive the request and send the data block to the first tile.
    Type: Grant
    Filed: December 22, 2009
    Date of Patent: March 4, 2014
    Assignee: Empire Technology Development, LLC
    Inventor: Yan Solihin
  • Publication number: 20140052905
    Abstract: Disclosed herein is a processing network element (NE) comprising at least one receiver configured to receive a plurality of memory request messages from a plurality of memory nodes, wherein each memory request designates a source node, a destination node, and a memory location, and a plurality of response messages to the memory requests from the plurality of memory nodes, wherein each memory request designates a source node, a destination node, and a memory location, at least one transmitter configured to transmit the memory requests and memory responses to the plurality of memory nodes, and a controller coupled to the receiver and the transmitter and configured to enforce ordering such that memory requests and memory responses designating the same memory location and the same source node/destination node pair are transmitted by the transmitter in the same order received by the receiver.
    Type: Application
    Filed: August 2, 2013
    Publication date: February 20, 2014
    Applicant: Futurewei Technologies, Inc.
    Inventors: Iulin Lih, Chenghong He, Hongbo Shi, Naxin Zhang
  • Publication number: 20140052933
    Abstract: A memory interconnect between transaction masters and a shared memory. A first snoop request is sent to other transaction masters to trigger them to invalidate any local copy of that data they may hold and for them to return any cached line of data corresponding to the write line of data that is dirty. A first write transaction is sent to the shared memory. When and if any cached line of data is received from the further transaction masters, then the portion data is used to form a second write transaction which is sent to the shared memory and writes the remaining portions of the cached line of data which were not written by the first write transaction in to the shared memory. The serialisation circuitry stalls any transaction requests to the write line of data until the first write transaction.
    Type: Application
    Filed: August 15, 2012
    Publication date: February 20, 2014
    Applicant: ARM LIMITED
    Inventor: Timothy Charles MACE
  • Patent number: 8656106
    Abstract: Methods, apparatuses, and computer program products are disclosed for cache management. Embodiments include receiving, by a cache controller, a request to insert a new cache line into a cache; determining, by the cache controller, whether the new cache line is associated with a forced injection; in response to determining that the new cache line is associated with a forced injection, accepting, by the cache controller, the insertion of the new cache line into the cache; and in response to determining that the new cache line is not associated with a forced injection, determining, by the cache controller, whether to accept the insertion of the new cache line based on a comparison of an address of the new cache line to a predefined range of addresses.
    Type: Grant
    Filed: December 16, 2010
    Date of Patent: February 18, 2014
    Assignee: International Business Machines Corporation
    Inventors: Jason A. Cox, Praveen G. Karandikar, Eric F. Robinson, Mark J. Wolski
  • Patent number: 8656115
    Abstract: In one embodiment, a method includes receiving a read request from a first caching agent, determining whether a directory entry associated with the memory location indicates that the information is not present in a remote caching agent, and if so, transmitting the information from the memory location to the first caching agent before snoop processing with respect to the read request is completed. Other embodiments are described and claimed.
    Type: Grant
    Filed: August 20, 2010
    Date of Patent: February 18, 2014
    Assignee: Intel Corporation
    Inventors: Sailesh Kottapalli, Henk G. Neefs, Rahul Pal, Manoj K. Arora, Dheemanth Nagaraj
  • Publication number: 20140040561
    Abstract: A method implemented by a computer system comprising a first memory agent and a second memory agent coupled to the first memory agent, wherein the second memory agent has access to a cache comprising a cache line, the method comprising changing a state of the cache line by the second memory agent, and sending a non-snoop message from the second memory agent to the first memory agent via a communication channel assigned to snoop responses, wherein the non-snoop message informs the first memory agent of the state change of the cache line.
    Type: Application
    Filed: May 22, 2013
    Publication date: February 6, 2014
    Inventors: Iulin Lih, Chenghong He, Hongbo Shi, Naxin Zhang
  • Publication number: 20140040552
    Abstract: A method includes storing, with a first programmable processor, shared variable data to cache lines of a first cache of the first processor. The method further includes executing, with the first programmable processor, a store-with-release operation, executing, with a second programmable processor, a load-with-acquire operation, and loading, with the second programmable processor, the value of the shared variable data from a cache of the second programmable processor.
    Type: Application
    Filed: August 2, 2013
    Publication date: February 6, 2014
    Applicant: QUALCOMM Incorporated
    Inventors: Bohuslav Rychlik, Tzung Ren Tzeng, Andrew Evan Gruber, Alexei V. Bourd, Colin Christopher Sharp, Eric Demers
  • Patent number: 8644461
    Abstract: The claimed subject matter provides a system and/or a method that facilitates managing an incoming data communication in connection with unified communications. A unified communications component can employ unified communications for a data communication with at least the following data communication modes: an email data communication mode, a voice data communication mode, and a voicemail data communication mode. A unified rules component can automatically redirect the data communication to a delegate for receipt based upon a universal rule, the universal rule is uniformly applicable to at least two of the email data communication mode, the voice data communication mode, or the voicemail data communication mode.
    Type: Grant
    Filed: November 9, 2011
    Date of Patent: February 4, 2014
    Assignee: Microsoft Corporation
    Inventors: Rajesh Ramanathan, Eran Shtiegman
  • Publication number: 20140032857
    Abstract: Shared cache line data is merged in a bus controller by issuing a snoop request to a plurality of cache controllers with a cache line address for which a bus transaction is performed; collecting snoop responses from the plurality of cache controllers, wherein a snoop response from a given cache controller comprises a cache state of the cache line address in a given cache associated with the given cache controller, and an ownership control signal identifying which portions of the cache line are controlled by the given cache; collecting data responses from the cache controllers, wherein the data response from a given cache controller comprises a data value from the cache line address; merging the data values from the cache controllers based on the ownership control signals to obtain a merged data value; and broadcasting the merged data value to the cache controllers.
    Type: Application
    Filed: July 25, 2012
    Publication date: January 30, 2014
    Inventors: Vidyalakshmi Rajagopalan, Archna Rai, Anuj Soni, Sharath Kashyap
  • Publication number: 20140032858
    Abstract: Methods and apparatus are provided for cache line sharing among cache controllers. A cache comprises a plurality of cache lines; and a cache controller for sharing at least one of the cache lines with one or more additional caches, wherein a given cache line shared by a plurality of caches corresponds to a given set of physical addresses in a main memory. The cache controller optionally maintains an ownership control signal indicating which portions of the at least one cache line are controlled by the cache and a validity control signal indicating whether each portion of the at least one cache line is valid. Each cache line can be in one of a plurality of cache coherence states, including a modified partial state and a shared partial state.
    Type: Application
    Filed: July 25, 2012
    Publication date: January 30, 2014
    Inventors: Vidyalakshmi Rajagopalan, Archna Rai, Anuj Soni, Sharath Kashyap
  • Patent number: 8639910
    Abstract: A memory controller writes to a virtual address associated with data residing within an asymmetric memory component of main memory that is within a computer system and that has a symmetric memory component, while preserving proximate other data residing within the asymmetric memory component. The symmetric memory component within the main memory of the computer system is configured to enable random access write operations in which an address within a block of the symmetric memory component is written without affecting the availability of other addresses within the block of the symmetric memory component during the writing of that address. The asymmetric memory component is configured to enable block write operations in which writing to an address within a region of the asymmetric memory component affects the availability of other addresses within the region of the asymmetric memory component during the block write operations involving the address.
    Type: Grant
    Filed: September 10, 2012
    Date of Patent: January 28, 2014
    Assignee: Virident Systems Inc.
    Inventors: Vijay Karamcheti, Kenneth A. Okin, Kumar Ganapathy, Ashish Singhai, Rajesh Parekh
  • Patent number: 8635411
    Abstract: An interconnect having a plurality of interconnect nodes arranged to provide at least one ring, a plurality of caching nodes for caching data coupled into the interconnect via an associated one of said interconnect nodes, and at least one coherency management node for implementing a coherency protocol to manage coherency of the data cached by each of said caching nodes. Each coherency management node being coupled into the interconnect via an associated one of said interconnect nodes. When each caching node produces a snoop response for said snoop request, the associated interconnect node is configured to output that snoop response in one of said at least one identified slots. Further, each interconnect node associated with a caching node has merging circuitry configured, when outputting the snoop response in an identified slot, to merge that snoop response with any current snoop response information held in that slot.
    Type: Grant
    Filed: July 18, 2011
    Date of Patent: January 21, 2014
    Assignee: ARM Limited
    Inventors: William Henry Flanders, Vikram Khosa
  • Patent number: 8631210
    Abstract: Methods and apparatus relating to allocation and/or write policy for a glueless area-efficient directory cache for hotly contested cache lines are described. In one embodiment, a directory cache stores data corresponding to a caching status of a cache line. The caching status of the cache line is stored for each of a plurality of caching agents in the system. An write-on-allocate policy is used for the directory cache by using a special state (e.g., snoop-all state) that indicates one or more snoops are to be broadcasted to all agents in the system. Other embodiments are also disclosed.
    Type: Grant
    Filed: March 5, 2013
    Date of Patent: January 14, 2014
    Assignee: Intel Corporation
    Inventors: Adrian C. Moga, Malcolm Mandviwalla, Vedaraman Geetha, Herbert H. Hum
  • Publication number: 20140013060
    Abstract: A data processing system implements a weak consistency memory model for a distributed shared memory system. The data processing system concurrently executes, on a plurality of processor cores, one or more transactional memory instructions within a memory transaction and one or more non-transactional memory instructions. The one or more non-transactional memory instructions include a non-transactional store instruction. The data processing system commits the memory transaction to the distributed shared memory system only in response to enforcement of causality of the non-transactional store instruction with respect to the memory transaction.
    Type: Application
    Filed: July 6, 2012
    Publication date: January 9, 2014
    Applicant: INTERNATIONAL BUSINESS MACHINES CORPORATION
    Inventors: Bradly G. Frey, Cathy May, Derek E. Williams
  • Publication number: 20140013055
    Abstract: A data processing system implements a weak consistency memory model for a distributed shared memory system. The data processing system concurrently executes, on a plurality of processor cores, one or more transactional memory instructions within a memory transaction and one or more non-transactional memory instructions. The one or more non-transactional memory instructions include a non-transactional store instruction. The data processing system commits the memory transaction to the distributed shared memory system only in response to enforcement of causality of the non-transactional store instruction with respect to the memory transaction.
    Type: Application
    Filed: February 26, 2013
    Publication date: January 9, 2014
    Applicant: INTERNATIONAL BUSINESS MACHINES CORPORATION
    Inventors: Bradly G. Frey, Cathy May, Derek E. Williams
  • Patent number: 8626591
    Abstract: Methods, systems, and computer program products for storing usual order preferences associated with a point of sale transaction involving an identification article. In one embodiment, the method includes receiving an initial order involving the use of an identification article for purchasing at least one good or service. As part of receiving the initial order, a query asking if the initial order is to be designated as a usual order is issued. The method also includes registering the initial order as the usual order if a received response to the query indicates a usual order designation and storing an indication of the usual order in a storage medium.
    Type: Grant
    Filed: August 13, 2008
    Date of Patent: January 7, 2014
    Assignee: Mastercard International Incorporated
    Inventors: Todd Ablowitz, Mohammad Khan
  • Patent number: 8627008
    Abstract: An apparatus for memory access prediction which includes a plurality of processors, a plurality of memory caches associated with the processors, a plurality of saturation counters associated with the processors, each of the saturation counters having an indicator bit, and a physical memory shared with the processors, saturation counters and memory caches. Upon a cache miss for a data item, a cache snoop and access to physical memory are initiated in parallel for the data item if the indicator bit is a first predetermined bit (one (1) or zero (0)) whereas a cache snoop is initiated if the most significant bit is a second predetermined bit (zero (0) or one (1)).
    Type: Grant
    Filed: February 4, 2010
    Date of Patent: January 7, 2014
    Assignee: International Business Machines Corporation
    Inventor: Moinuddin Khalil Ahmed Qureshi
  • Publication number: 20140006723
    Abstract: A computer-implemented method for adaptively configuring a cache includes: implementing a cache adaptation agent in a system that has multiple applications, the system including a memory and a disk storage, wherein the system creates a cache in the memory for use by each of the applications; monitoring, by the cache adaptation agent, the cache in use by at least one of the applications, the monitoring covering at least a size of the cache used by the application, how many objects are in the application's cache, and sizes of the objects in the application's cache; and configuring, by the cache adaptation agent and based on the monitoring, at least one of the cache and system behavior regarding at least one of the applications.
    Type: Application
    Filed: June 27, 2012
    Publication date: January 2, 2014
    Applicant: SAP AG
    Inventors: Ariel Tammam, Roye Cohen
  • Patent number: 8615633
    Abstract: Technologies are generally for maintaining cache coherency within a multi-core processor. A first cache entry to be evicted from a first cache may be identified. The first cache entry may include a block of data and a first tag indicating an owned state. An owner eviction message for the first cache entry may be broadcasted from the first cache. A second cache entry in a second cache may be identified. The second cache entry may include the block of data and a second tag indicating a shared state. The broadcasted owner eviction message may be detected with the second cache. An ownership acceptance message for the second cache entry may be broadcasted from the second cache. The broadcasted ownership acceptance message may be detected with the first cache. The second tag in the second cache entry may be transformed from the shared state to the owned state.
    Type: Grant
    Filed: April 23, 2009
    Date of Patent: December 24, 2013
    Assignee: Empire Technology Development LLC
    Inventor: Yan Solihin
  • Patent number: 8615637
    Abstract: A processing system is provided. The processing system includes a first processing unit coupled to a first memory and a second processing unit coupled to a second memory. The second memory comprises a coherent memory and a private memory that is private to the second processing unit.
    Type: Grant
    Filed: September 9, 2010
    Date of Patent: December 24, 2013
    Assignee: Advanced Micro Devices, Inc.
    Inventors: Philip J. Rogers, Warren Fritz Kruger, Mark Hummel, Eric Demers
  • Patent number: 8612691
    Abstract: A mechanism for assigning memory to on-chip cache coherence domains assigns caches within a processing unit to coherence domains. The mechanism assigns chunks of memory to the coherence domains. The mechanism monitors applications running on cores within the processing unit to identify needs of the applications. The mechanism may then reassign memory chunks to the cache coherence domains based on the needs of the applications running in the coherence domains. When a memory controller receives the cache miss, the memory controller may look up the address in a lookup table that maps memory chunks to cache coherence domains. Snoop requests are sent to caches within the coherence domain. If a cache line is found in a cache within the coherence domain, the cache line is returned to the originating cache by the cache containing the cache line either directly or through the memory controller.
    Type: Grant
    Filed: April 24, 2012
    Date of Patent: December 17, 2013
    Assignee: International Business Machines Corporation
    Inventors: William E. Speight, Lixin Zhang
  • Publication number: 20130318308
    Abstract: Maintaining cache coherence in a System-on-a-Chip with both multiple cache coherent master IP cores (CCMs) and non-cache coherent master IP cores (NCMs). A plug-in cache coherence manager (CM), coherence logic in agents, and an interconnect are used for the SoC to provide a scalable cache coherence scheme that scales to an amount of CCMs in the SoC. The CCMs each includes at least one processor operatively coupled through the CM to at least one cache that stores data for that CCM. The CM maintains cache coherence responsive to a cache miss of a cache line on a first cache of the caches, then broadcasts a request for an instance of the data stored corresponding to cache miss of the cache line in the first cache. Each CCM maintains its own coherent cache and each NCM is configured to issue communication transactions into both coherent and non-coherent address spaces.
    Type: Application
    Filed: May 21, 2013
    Publication date: November 28, 2013
    Applicant: Sonics, Inc.
    Inventors: Doddaballapur N. Jayasimha, Drew E. Wingard
  • Publication number: 20130311725
    Abstract: In response to a transfer stimulus, performance of a processing workload is transferred from a source processing circuitry to a destination processing circuitry, in preparation for the source processing circuitry to be placed in a power saving condition following the transfer. To reduce the number of memory fetches required by the destination processing circuitry following the transfer, a cache of the source processing circuitry is maintained in a powered state for a snooping period. During the snooping period, cache snooping circuitry snoops data values in the source cache and retrieves the snoop data values for the destination processing circuitry.
    Type: Application
    Filed: April 30, 2013
    Publication date: November 21, 2013
    Applicant: ARM Limited
    Inventor: ARM Limited
  • 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
  • Publication number: 20130275686
    Abstract: A multiprocessor system includes a plurality of master devices, at least one slave device, and a system bus connecting the master devices to the at least one slave device. At least one of the master devices includes at least one cache memory, and the system bus processes a data write or data read request corresponding a transaction issued to the slave device from at least one of the master devices prior to termination of a snooping operation on the master devices.
    Type: Application
    Filed: March 11, 2013
    Publication date: October 17, 2013
    Applicant: SAMSUNG ELECTRONICS CO., LTD.
    Inventors: IL PARK, YOUNG PYO JOO
  • Patent number: 8555024
    Abstract: Data stored within symmetric and asymmetric memory components of main memory is integrated by identifying a first data as having access characteristics suitable for storing in an asymmetric memory component. The first data is included among a collection of data to be written to the asymmetric memory component. An amount of data is identified within the collection of data to be written to the asymmetric memory component. The amount of data is compared within the collection of data to a volume threshold to determine whether a block write to the asymmetric memory component is justified by the amount of data. If justified, the collection of data is loaded to the asymmetric memory component.
    Type: Grant
    Filed: April 10, 2012
    Date of Patent: October 8, 2013
    Assignee: Virident Systems Inc.
    Inventors: Vijay Karamcheti, Kenneth A. Okin, Kumar Ganapathy, Ashish Singhai, Rajesh Parekh
  • Patent number: 8554851
    Abstract: Methods, apparatus and systems for facilitating one-way ordering of otherwise independent message classes. A one-way message ordering mechanism facilitates one-way ordering of messages of different message classes sent between interconnects employing independent pathways for the message classes. In one aspect, messages of a second message class may not pass messages of a first message class. Moreover, when messages of the first and second classes are received in sequence, the ordering mechanism ensures that messages of the first class are forwarded to, and received at, a next hop prior to forwarding messages of the second class.
    Type: Grant
    Filed: September 24, 2010
    Date of Patent: October 8, 2013
    Assignee: Intel Corporation
    Inventors: James R. Vash, Vida Vakilotojar, Bongjin Jung, Yen-Cheng Liu
  • Patent number: 8555002
    Abstract: Main memory is managed by receiving a command from an application to read data associated with a virtual address that is mapped to the main memory. A memory controller determines that the virtual address is mapped to one of the symmetric memory components of the main memory, and accesses memory use characteristics indicating how the data associated with the virtual address has been accessed, The memory controller determines that the data associated with the virtual address has access characteristics suited to an asymmetric memory component of the main memory and loads the data associated with the virtual address to the asymmetric memory component of the main memory. After the loading and using the memory management unit, a command is received from the application to read the data associated with the virtual address, and the data associated with the virtual address is retrieved from the asymmetric memory component.
    Type: Grant
    Filed: April 10, 2012
    Date of Patent: October 8, 2013
    Assignee: Virident Systems Inc.
    Inventors: Vijay Karamcheti, Kenneth A. Okin, Kumar Ganapathy, Ashish Singhai, Rajesh Parekh
  • Publication number: 20130262776
    Abstract: Existing multiprocessor computing systems often have insufficient memory coherency and, consequently, are unable to efficiently utilize separate memory systems. Specifically, a CPU cannot effectively write to a block of memory and then have a GPU access that memory unless there is explicit synchronization. In addition, because the GPU is forced to statically split memory locations between itself and the CPU, existing multiprocessor computing systems are unable to efficiently utilize the separate memory systems. Embodiments described herein overcome these deficiencies by receiving a notification within the GPU that the CPU has finished processing data that is stored in coherent memory, and invalidating data in the CPU caches that the GPU has finished processing from the coherent memory. Embodiments described herein also include dynamically partitioning a GPU memory into coherent memory and local memory through use of a probe filter.
    Type: Application
    Filed: August 31, 2012
    Publication date: October 3, 2013
    Applicants: ATI Technologies ULC, Advanced Micro Devices, Inc.
    Inventors: Anthony ASARO, Kevin NORMOYLE, Mark HUMMEL
  • Patent number: 8543770
    Abstract: A mechanism is provided for assigning memory to on-chip cache coherence domains. The mechanism assigns caches within a processing unit to coherence domains. The mechanism then assigns chunks of memory to the coherence domains. The mechanism monitors applications running on cores within the processing unit to identify needs of the applications. The mechanism may then reassign memory chunks to the cache coherence domains based on the needs of the applications running in the coherence domains. When a memory controller receives the cache miss, the memory controller may look up the address in a lookup table that maps memory chunks to cache coherence domains. Snoop requests are sent to caches within the coherence domain. If a cache line is found in a cache within the coherence domain, the cache line is returned to the originating cache by the cache containing the cache line either directly or through the memory controller.
    Type: Grant
    Filed: May 26, 2010
    Date of Patent: September 24, 2013
    Assignee: International Business Machines Corporation
    Inventors: William E. Speight, Lixin Zhang
  • Patent number: 8543773
    Abstract: Systems and methods for implementing a distributed shared memory (DSM) in a computer cluster in which an unreliable underlying message passing technology is used, such that the DSM efficiently maintains coherency and reliability. DSM agents residing on different nodes of the cluster process access permission requests of local and remote users on specified data segments via handling procedures, which provide for recovering of lost ownership of a data segment while ensuring exclusive ownership of a data segment among the DSM agents detecting and resolving a no-owner messaging deadlock, pruning of obsolete messages, and recovery of the latest contents of a data segment whose ownership has been lost.
    Type: Grant
    Filed: August 25, 2008
    Date of Patent: September 24, 2013
    Assignee: International Business Machines Corporation
    Inventors: Lior Aronovich, Ron Asher
  • Patent number: 8533505
    Abstract: In response to a transfer stimulus, performance of a processing workload is transferred from a source processing circuitry to a destination processing circuitry, in preparation for the source processing circuitry to be placed in a power saving condition following the transfer. To reduce the number of memory fetches required by the destination processing circuitry following the transfer, a cache of the source processing circuitry is maintained in a powered state for a snooping period. During the snooping period, cache snooping circuitry snoops data values in the source cache and retrieves the snoop data values for the destination processing circuitry.
    Type: Grant
    Filed: March 1, 2010
    Date of Patent: September 10, 2013
    Assignee: ARM Limited
    Inventor: Peter Richard Greenhalgh
  • Patent number: 8521962
    Abstract: Filters and methods for managing presence counter saturation are disclosed. The filters can be coupled to a collection of items and maintain information for determining a potential presence of an identified item in the collection of items. The filter includes a filter controller and one or more mapping functions. Each mapping function has a plurality of counters associated with the respective mapping function. When a membership status of an item in the collection of items changes, the filter receives a membership change notification including an identifier identifying the item. Each mapping function processes the identifier to identify a particular counter associated with the respective mapping function. If a particular counter has reached a predetermined value, a request including a reference to the particular counter is sent to the collection of items. The filter receives a response to the request and modifies the particular counter as a result of the response.
    Type: Grant
    Filed: September 1, 2009
    Date of Patent: August 27, 2013
    Assignee: QUALCOMM Incorporated
    Inventors: Vimal K. Reddy, Mike W. Morrow
  • Publication number: 20130219128
    Abstract: Methods and apparatus are provided for reusing snoop responses and data phase results in a bus controller. A bus controller receives an incoming bus transaction BTR1 corresponding to an incoming cache transaction CTR1 for an entry in at least one cache; issues a snoop request with a cache line address of the incoming bus transaction BTR1 for the entry to a plurality of cache controllers; collects at least one snoop response from the plurality of cache controllers; broadcasts a combined snoop response to the plurality of cache controllers, wherein the combined snoop response is a combination of the snoop responses from the plurality of cache controllers; and broadcasts cache line data from a source cache for the entry during a data phase to the plurality of cache controllers, wherein a subsequent cache transaction CTR2 for the entry is processed based on the broadcast combined snoop response and the broadcast cache line data.
    Type: Application
    Filed: February 21, 2012
    Publication date: August 22, 2013
    Inventors: Vidyalakshmi Rajagopalan, Archna Rai, Sharath Kashyap, Anuj Soni
  • Publication number: 20130219129
    Abstract: Methods and apparatus are provided for reusing snoop responses and data phase results in a cache controller. A cache controller receives a broadcast combined snoop response from a bus controller, wherein the broadcast combined snoop response corresponds to an incoming bus transaction BTR1 corresponding to a cache transaction CTR1 for an entry in at least one cache and wherein the combined snoop response is a combination of at least one snoop response from a plurality of cache controllers; receives broadcast cache line data from a source cache as instructed by the bus controller for the entry during a data phase; and processes a subsequent cache transaction CTR2 for the entry based on one or more of the broadcast combined snoop response and the broadcast cache line data.
    Type: Application
    Filed: February 21, 2012
    Publication date: August 22, 2013
    Inventors: Vidyalakshmi Rajagopalan, Archna Rai, Sharath Kashyap, Anuj Soni
  • Patent number: 8516201
    Abstract: A method and apparatus for protecting private data from cache attacks. One embodiment includes storing private data in a protected cache line to protect it from cache attacks. A snoop request may be received to the protected cache line. In response to the snoop request, a miss may be transmitted. Other embodiments are also disclosed and claimed.
    Type: Grant
    Filed: December 5, 2007
    Date of Patent: August 20, 2013
    Assignee: Intel Corporation
    Inventors: Shlomo Raikin, Shay Gueron, Gad Sheaffer
  • Patent number: 8510512
    Abstract: A data processing system includes at least a first through third processing nodes coupled by an interconnect fabric. The first processing node includes a master, a plurality of snoopers capable of participating in interconnect operations, and a node interface that receives a request of the master and transmits the request of the master to the second processing unit with a nodal scope of transmission limited to the second processing node. The second processing node includes a node interface having a directory. The node interface of the second processing node permits the request to proceed with the nodal scope of transmission if the directory does not indicate that a target memory block of the request is cached other than in the second processing node and prevents the request from succeeding if the directory indicates that the target memory block of the request is cached other than in the second processing node.
    Type: Grant
    Filed: August 21, 2009
    Date of Patent: August 13, 2013
    Assignee: International Business Machines Corporation
    Inventors: Paul A. Ganfield, Guy L. Guthrie, David J. Krolak, Michael S. Siegel, William J. Starke, Jeffrey A. Stuecheli, Derek E. Williams
  • Patent number: 8510513
    Abstract: Provided are a network load reducing method and a node structure for a multiprocessor system with a distributed memory. The network load reducing method uses a multiprocessor system including a node having a distributed memory and an auxiliary memory storing a sharer history table. The network load reducing method includes recording the history of a sharer node in the sharer history table of the auxiliary memory, requesting share data with reference to the sharer history table of the auxiliary memory, and deleting share data stored in the distributed memory and updating the sharer history table of the auxiliary memory.
    Type: Grant
    Filed: December 16, 2010
    Date of Patent: August 13, 2013
    Assignee: Electronics and Telecommunications Research Institute
    Inventors: Sang Heon Lee, Moo Kyoung Chung, Kyoung Seon Shin, June Young Chang, Seong Mo Park, Nak Woong Eum