Using A Bus Scheme, E.g., With Bus Monitoring Or Watching Means, Etc. (epo) Patents (Class 711/E12.033)
  • Patent number: 9026744
    Abstract: The disclosure is directed to a weakly-ordered processing system and method for enforcing strongly-ordered memory access requests in a weakly-ordered processing system. The processing system includes a plurality of memory devices and a plurality of processors. Each of the processors are configured to generate memory access requests to one or more of the memory devices, with each of the memory access requests having an attribute that can be asserted to indicate a strongly-ordered request. The processing system further includes a bus interconnect configured to interface the processors to the memory devices, the bus interconnect being further configured to enforce ordering constraints on the memory access requests based on the attributes.
    Type: Grant
    Filed: October 19, 2005
    Date of Patent: May 5, 2015
    Assignee: QUALCOMM Incorporated
    Inventors: Richard Gerard Hofmann, Thomas Andrew Sartorius, Thomas Philip Speier, Jaya Prakash Subramaniam Ganasan, James Norris Dieffenderfer, James Edward Sullivan
  • Patent number: 8949545
    Abstract: A data processing device includes a load/store module to provide an interface between a processor device and a bus. In response to receiving a load or store instruction from the processor device, the load/store module determines a predicted coherency state of a cache line associated with the load or store instruction. Based on the predicted coherency state, the load/store module selects a bus transaction and communicates it to the bus. By selecting the bus transaction based on the predicted cache state, the load/store module does not have to wait for all pending bus transactions to be serviced, providing for greater predictability as to when bus transactions will be communicated to the bus, and allowing the bus behavior to be more easily simulated.
    Type: Grant
    Filed: December 4, 2008
    Date of Patent: February 3, 2015
    Assignee: Freescale Semiconductor, Inc.
    Inventor: John D. Pape
  • Patent number: 8892931
    Abstract: Technologies are generally described for power channel monitoring in multicore processors. A power management system can be configured to monitor the power channels supplying individual cores within a multicore processor. A power channel monitor can provide a direct measurement of power consumption for each core. The power consumption of individual cores can indicate which cores are encountering higher or lower usage. The usage determination can be made without sending any data messages to, or from, the cores being measured. The determined usage load being serviced by each processor core may be used to adjust power and/or clock signals supplied to the cores.
    Type: Grant
    Filed: October 20, 2009
    Date of Patent: November 18, 2014
    Assignee: Empire Technology Development LLC
    Inventor: Ezekiel John Joseph Kruglick
  • Patent number: 8886889
    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: Grant
    Filed: February 21, 2012
    Date of Patent: November 11, 2014
    Assignee: LSI Corporation
    Inventors: Vidyalakshmi Rajagopalan, Archna Rai, Sharath Kashyap, Anuj Soni
  • Patent number: 8886890
    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: Grant
    Filed: June 27, 2012
    Date of Patent: November 11, 2014
    Assignee: SAP Portals Israel Ltd
    Inventors: Ariel Tammam, Roye Cohen
  • Patent number: 8856448
    Abstract: Efficient techniques are described for tracking a potential invalidation of a data cache entry in a data cache for which coherency is required. Coherency information is received that indicates a potential invalidation of a data cache entry. The coherency information in association with the data cache entry is retained to track the potential invalidation to the data cache entry. The retained coherency information is kept separate from state bits that are utilized in cache access operations. An invalidate bit, associated with a data cache entry, may be utilized to represents a potential invalidation of the data cache entry. The invalidate bit is set in response to the coherency information, to track the potential invalidation of the data cache entry. A valid bit associated with the data cache entry is set in response to the active invalidate bit and a memory synchronization command. The set invalidate bit is cleared after the valid bit has been cleared.
    Type: Grant
    Filed: February 19, 2009
    Date of Patent: October 7, 2014
    Assignee: QUALCOMM Incorporated
    Inventors: Michael W. Morrow, James Norris Dieffenderfer
  • Patent number: 8850128
    Abstract: A method for implementing data storage and a dual port, dual element storage device are provided. A storage device includes a predefined form factor including a first port and a second port, and a first storage element and a second storage element. A controller coupled between the first port and second port, and the first storage element and second storage element controls access and provides two separate data paths to the first storage element and second storage element.
    Type: Grant
    Filed: December 23, 2009
    Date of Patent: September 30, 2014
    Assignee: HGST Netherlands B.V.
    Inventors: Frank R. Chu, Spencer W. Ng, Motoyasu Tsunoda, Marco Sanvido
  • Patent number: 8806147
    Abstract: A system comprises a first node operative to provide a source broadcast requesting data. The first node associates an F-state with a copy of the data in response to receiving the copy of the data from memory and receiving non-data responses from other nodes in the system. The non-data responses include an indication that at least a second node includes a shared copy of the data. The F-state enabling the first node to serve as an ordering point in the system capable of responding to requests from other nodes in the system with a shared copy of the data.
    Type: Grant
    Filed: December 28, 2011
    Date of Patent: August 12, 2014
    Assignee: Hewlett-Packard Development Company, L.P.
    Inventors: Gregory Edward Tierney, St phen R. Van Doren, Simon C. Steely, Jr.
  • Patent number: 8799586
    Abstract: Methods and apparatus relating to memory mirroring and migration at a Home Agent (HA) are described. In one embodiment, a home agent may mirror its data at a slave agent. In some embodiments, a bit in a directory may indicate status of cache lines. Other embodiments are also disclosed.
    Type: Grant
    Filed: September 30, 2009
    Date of Patent: August 5, 2014
    Assignee: Intel Corporation
    Inventors: Ganesh Kumar, Dheemanth Nagaraj, Vincent R. Freytag, Eric Delano, Gregory S. Averill
  • Patent number: 8719499
    Abstract: Embodiments of the invention provide a method, system, and computer program product for cache-line based notification. An embodiment of the method comprises injecting a cache-line including notification information into a cache of a processing unit, marking the cache-line as having the notification information, and using the notification information to notify a processing thread of the presence of the cache-line in the cache. In an embodiment, the cache-line identifies a thread affiliation. In an embodiment, a multitude of threads operate in the processing unit, and the using includes notifying a plurality of these threads of the presence of the cache-line in the cache, and analyzing the cache-line to identify this plurality of threads. The cache may include a plurality of cache-lines, each of which includes a notification, and the processing unit thread uses these notifications to form a linked list of at least some of the cache-lines.
    Type: Grant
    Filed: February 10, 2009
    Date of Patent: May 6, 2014
    Assignee: International Business Machines Corporation
    Inventor: Florian Alexander Auernhammer
  • Publication number: 20140052930
    Abstract: A system and method for efficiently storing traces of multiple components in an embedded system. A system-on-a-chip (SOC) includes a trace unit for collecting and storing trace history, bus event statistics, or both. The SOC may transfer cache coherent messages across multiple buses between a shared memory and a cache coherent controller. The trace unit includes a trace buffer with multiple physical partitions assigned to subsets of the multiple buses. The number of partitions is less than the number of multiple buses. One or more trace instructions may cause a trace history, trace bus event statistics, local time stamps and a global time-base value to be stored in a physical partition within the trace buffer.
    Type: Application
    Filed: August 20, 2012
    Publication date: February 20, 2014
    Inventors: Manu Gulati, James D. Ramsay, Kevin R. Walker
  • Publication number: 20140052929
    Abstract: A system and method for efficiently monitoring traces of multiple components in an embedded system. A system-on-a-chip (SOC) includes a trace unit for collecting and storing trace history, bus event statistics, or both. The SOC may transfer cache coherent messages across multiple buses between a shared memory and a cache coherent controller. The trace unit includes multiple bus event filters. Programmable configuration registers are used to assign the bus event filters to selected buses for monitoring associated bus traffic and determining whether qualified bus events occur. If so, the bus event filters increment an associated count for each of the qualified bus events. The values used for determining qualified bus events may be set by programmable configuration registers.
    Type: Application
    Filed: August 20, 2012
    Publication date: February 20, 2014
    Inventors: Manu Gulati, James D. Ramsay, Kevin R. Walker
  • 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
  • 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
  • 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: 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: 8601200
    Abstract: A controller for a solid state disk is provided. The controller includes a storage module to store an index of at least one idle bank among a plurality of memory banks, and a control module to control an access to the at least one idle bank using the stored index. Here, the access to the at least one idle bank may be controlled based on a state of a channel corresponding to each of the at least one idle bank.
    Type: Grant
    Filed: October 30, 2009
    Date of Patent: December 3, 2013
    Assignee: OCZ Technology Group Inc.
    Inventors: Yongsik Joo, Hyunmo Chung
  • 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
  • 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
  • Publication number: 20130205098
    Abstract: A multiprocessor data processing system includes a plurality of cache memories including a cache memory. In response to the cache memory detecting a storage-modifying operation specifying a same target address as that of a first read-type operation being processed by the cache memory, the cache memory provides a retry response to the storage-modifying operation. In response to completion of the read-type operation, the cache memory enters a referee mode. While in the referee mode, the cache memory temporarily dynamically increases priority of any storage-modifying operation targeting the target address in relation to any second read-type operation targeting the target address.
    Type: Application
    Filed: February 8, 2012
    Publication date: August 8, 2013
    Applicant: INTERNATIONAL BUSINESS MACHINES CORPORATION
    Inventors: Guy L. Guthrie, Hien M. Le, Jeff A. Stuecheli, Derek E. Williams
  • Publication number: 20130205099
    Abstract: A multiprocessor data processing system includes a plurality of cache memories including a cache memory. The cache memory issues a read-type operation for a target cache line. While waiting for receipt of the target cache line, the cache memory monitors to detect a competing store-type operation for the target cache line. In response to receiving the target cache line, the cache memory installs the target cache line in the cache memory, and sets a coherency state of the target cache line installed in the cache memory based on whether the competing store-type operation is detected.
    Type: Application
    Filed: February 8, 2012
    Publication date: August 8, 2013
    Applicant: INTERNATIONAL BUSINESS MACHINES CORPORATION
    Inventors: Guy L. Guthrie, Hien M. Le, Hugh Shen, Jeff A. Stuecheli, Derek E. Williams
  • Patent number: 8489823
    Abstract: A microprocessor configured to access an external memory includes a first-level cache, a second-level cache, and a bus interface unit (BIU) configured to interface the first-level and second-level caches to a bus used to access the external memory. The BIU is configured to prioritize requests from the first-level cache above requests from the second-level cache. The second-level cache is configured to generate a first request to the BIU to fetch a cache line from the external memory. The second-level cache is also configured to detect that the first-level cache has subsequently generated a second request to the second-level cache for the same cache line. The second-level cache is also configured to request the BIU to refrain from performing a transaction on the bus to fulfill the first request if the BIU has not yet been granted ownership of the bus to fulfill the first request.
    Type: Grant
    Filed: June 27, 2012
    Date of Patent: July 16, 2013
    Assignee: VIA Technologies, Inc.
    Inventors: Clinton Thomas Glover, Colin Eddy, Rodney E. Hooker, Albert J. Loper
  • Publication number: 20130159633
    Abstract: Methods and apparatuses for assigning a QoS level to memory requests based on the number of currently outstanding memory requests. One or more processors of a processor complex issue memory requests to a L2 cache. The L2 cache controller assigns a QoS level to the memory request based on whether the number of outstanding memory requests is above or below a programmable threshold. If the number is above the threshold, then new requests typically do not impair processor performance since the processor is already waiting for a large number of previous memory requests, and so the new memory request is assigned a low priority level. If the number of outstanding memory requests is below the threshold, then the new memory request is assigned a high priority level.
    Type: Application
    Filed: December 15, 2011
    Publication date: June 20, 2013
    Inventor: Brian P. Lilly
  • 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: 20130046925
    Abstract: In one embodiment, the present invention includes a method for executing a transactional memory (TM) transaction in a first thread, buffering a block of data in a first buffer of a cache memory of a processor, and acquiring a write monitor on the block to obtain ownership of the block at an encounter time in which data at a location of the block in the first buffer is updated. Other embodiments are described and claimed.
    Type: Application
    Filed: October 23, 2012
    Publication date: February 21, 2013
    Inventors: Ali-Reza Adl-Tabatabai, YANG NI, BRATIN SAHA, VADIM BASSIN, GAD SHEAFFER, DAVID CALLAHAN, JAN GRAY
  • Publication number: 20130042077
    Abstract: A data processing system that manages data hazards at a coherency controller and not at an initiator device is disclosed. The data processing system process write requests in a two part form, such that a first part is transmitted and when the coherency controller has space to accept data it responds to the first part and the data and state of the data prior to the write are sent as a second part of the write request. When there are copending reads and writes to the same address the writes are stalled by the coherency controller by not responding to the first part of the write and the initiator device proceeds to process any snoop requests received to the address of the write regardless of the fact that the write is pending. When the pending read has completed the coherency controller will respond to the first part of the write and the initiator device will complete the write by sending the data and an indicator of the state of the data following the snoop.
    Type: Application
    Filed: August 8, 2011
    Publication date: February 14, 2013
    Inventors: Phanindra Kumar Mannava, Jamshed Jalal, Ramamoorthy Guru Prasadh, Michael Alan Filippo
  • Publication number: 20130042070
    Abstract: A data processing system 2 includes a cache hierarchy having a plurality of local cache memories and a shared cache memory 18. State data 30, 32 stored within the shared cache memory 18 on a per cache line basis is used to control whether or not that cache line of data is stored and managed in accordance with non-inclusive operation or inclusive operation of the cache memory system. Snoop transactions are filtered on the basis of data indicating whether or not a cache line of data is unique or non-unique. A switch from non-inclusive operation to inclusive operation may be performed in dependence upon the transaction type of a received transaction requesting a cache line of data.
    Type: Application
    Filed: August 8, 2011
    Publication date: February 14, 2013
    Applicant: ARM LIMITED
    Inventors: Jamshed Jalal, Mark David Werkheiser, Brett Stanley Feero, Michael Alan Filippo
  • Publication number: 20130042078
    Abstract: A data processing apparatus 2 includes a plurality of transaction sources 8, 10 each including a local cache memory. A shared cache memory 16 stores cache lines of data together with shared cache tag values. Snoop filter circuitry 14 stores snoop filter tag values tracking which cache lines of data are stored within the local cache memories. When a transaction is received for a target cache line of data, then the snoop filter circuitry 14 compares the target tag value with the snoop filter tag values and the shared cache circuitry 16 compares the target tag value with the shared cache tag values. The shared cache circuitry 16 operates in a default non-inclusive mode. The shared cache memory 16 and the snoop filter 14 accordingly behave non-inclusively in respect of data storage within the shared cache memory 16, but inclusively in respect of tag storage given the combined action of the snoop filter tag values and the shared cache tag values.
    Type: Application
    Filed: August 8, 2011
    Publication date: February 14, 2013
    Inventors: Jamshed Jalal, Brett Stanley Feero, Mark David Werkheiser, Michael Alan Filippo
  • Publication number: 20130024629
    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: Application
    Filed: July 18, 2011
    Publication date: January 24, 2013
    Inventors: William Henry Flanders, Vikram Khosa
  • Publication number: 20130024630
    Abstract: A memory controller for a slave memory that controls an order of data access requests is disclosed. There is a read and write channel having streams of requests with corresponding barrier transactions within the request streams indicating where reordering should not occur. The controller has barrier response generating circuitry located on the read and said write channels and being responsive to receipt of one of said barrier transactions: to issue a response to the received barrier transaction such that subsequent requests in said stream of requests are not blocked by the barrier transaction and can be received and to terminate the received barrier transaction and not transmit the received barrier transaction further; and to mark requests subsequent to the received barrier transaction in the stream of requests with a barrier context value identifying the received barrier transaction.
    Type: Application
    Filed: July 19, 2011
    Publication date: January 24, 2013
    Applicant: ARM LIMITED
    Inventors: Michael Andrew Campbell, Peter Andrew Riocreux
  • Publication number: 20130007376
    Abstract: Methods and apparatus relating to Opportunistic Snoop Broadcast (OSB) in directory enabled home snoopy systems are described. In one embodiment, a plurality of snoops are broadcast to a plurality of caching agents in response to a request for data and based on a comparison of a bandwidth consumption of the link and a threshold value. Other embodiments are also disclosed.
    Type: Application
    Filed: July 1, 2011
    Publication date: January 3, 2013
    Inventors: SAILESH KOTTAPALLI, VEDARAMAN GEETHA, HENK G. NEEFS, YOUNGSOO CHOI
  • Patent number: 8347040
    Abstract: In one embodiment, a system comprises a plurality of agents coupled to an interconnect and a cache coupled to the interconnect. The plurality of agents are configured to cache data. A first agent of the plurality of agents is configured to initiate a transaction on the interconnect by transmitting a memory request, and other agents of the plurality of agents are configured to snoop the memory request from the interconnect. The other agents provide a response in a response phase of the transaction on the interconnect. The cache is configured to detect a hit for the memory request and to provide data for the transaction to the first agent prior to the response phase and independent of the response.
    Type: Grant
    Filed: April 18, 2011
    Date of Patent: January 1, 2013
    Assignee: Apple Inc.
    Inventors: Brian P. Lilly, Sridhar P. Subramanian, Ramesh Gunna
  • Publication number: 20120317369
    Abstract: A method and apparatus for preserving memory ordering in a cache coherent link based interconnect in light of partial and non-coherent memory accesses is herein described. In one embodiment, partial memory accesses, such as a partial read, is implemented utilizing a Read Invalidate and/or Snoop Invalidate message. When a peer node receives a Snoop Invalidate message referencing data from a requesting node, the peer node is to invalidate a cache line associated with the data and is not to directly forward the data to the requesting node. In one embodiment, when the peer node holds the referenced cache line in a Modified coherency state, in response to receiving the Snoop Invalidate message, the peer node is to writeback the data to a home node associated with the data.
    Type: Application
    Filed: August 21, 2012
    Publication date: December 13, 2012
    Inventors: Robert H. Beers, Ching- Tsun Chou, Robert J. Safranek, James Vash
  • Publication number: 20120317370
    Abstract: Systems and methods for cache state management to preserve user experience with a mobile application on a mobile device while conserving resources in a wireless network are disclosed. In one embodiment, the method can include, for example, storing content from a content server as cached elements in a local cache on the mobile device and in response to receiving polling requests to contact the content server, retrieving the cached elements from the local cache to respond to the polling requests made at the mobile device, and/or using state information associated with the cached elements to provide the cached elements as responses to the polling requests such that user experience is preserved.
    Type: Application
    Filed: August 22, 2012
    Publication date: December 13, 2012
    Applicant: Seven Networks, Inc.
    Inventor: Michael Luna
  • Publication number: 20120317368
    Abstract: A memory interface apparatus 24 is provided with first interface circuitry 28, second interface circuitry 30 and transaction control circuitry 32. The first interface circuitry receives a first write request from a transaction master 20, 22 and issues a further transaction request associated with the memory address of the first write request via the second interface circuitry to a memory system. When an indication of the completion of the further transaction has been received at the second interface circuitry, then a second write request may be issued from the second interface circuitry to the memory system to write the target data associated with the first write request. After a write response signal in respect of the second write request is received at the second interface circuitry, then an acknowledge signal RACK indicating completion of the further transaction and that the write response signal has been received may be issued from the second interface circuitry.
    Type: Application
    Filed: June 13, 2011
    Publication date: December 13, 2012
    Applicant: ARM LIMITED
    Inventors: Christopher William Laycock, Antony John Harris, Arthur Laughton
  • Publication number: 20120311267
    Abstract: A processor transmits clean castout messages indicating that a cache line is not dirty and is no longer being stored by a lowest level cache of the processor. An external cache receives the clean castout messages and manages cache lines based in part on the clean castout messages.
    Type: Application
    Filed: May 31, 2011
    Publication date: December 6, 2012
    Inventors: Blaine D. Gaither, David A. Plettner
  • Publication number: 20120311272
    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: Application
    Filed: August 16, 2012
    Publication date: December 6, 2012
    Applicant: INTERNATIONAL BUSINESS MACHINES 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
  • Publication number: 20120303908
    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: August 9, 2012
    Publication date: November 29, 2012
    Applicant: International Business Machines Corporation
    Inventors: Paul M. DANTZIG, Robert O. DRYFOOS, Sastry S. DURI, Arun IYENGAR
  • Publication number: 20120290796
    Abstract: Techniques are disclosed for maintaining cache coherency across a serial interface bus such as a Peripheral Component Interconnect Express (PCIe) bus. The techniques include generating a snoop request (SNP) to determine whether first data stored in a local memory is coherent relative to second data stored in a data cache, the snoop request including destination information that identifies the data cache on the serial interface bus and causing the snoop request to be transmitted over the serial interface bus to a second processor. The techniques further include extracting a cache line address from the snoop request, determining whether the second data is coherent, generating a complete message (CPL) indicating that the first data is coherent with the second data, and causing the complete message to be transmitted over the bus to the first processor. The snoop request and complete messages may be vendor defined messages.
    Type: Application
    Filed: July 25, 2012
    Publication date: November 15, 2012
    Inventors: Brian Keith LANGENDORF, David B. GLASCO, Michael Brian COX, Jonah M. ALBEN
  • Publication number: 20120272011
    Abstract: A method for refining multithread software executed on a processor chip of a computer system. The envisaged processor chip has at least one processor core and a memory cache coupled to the processor core and configured to cache at least some data read from memory. The method includes, in logic distinct from the processor core and coupled to the memory cache, observing a sequence of operations of the memory cache and encoding a sequenced data stream that traces the sequence of operations observed.
    Type: Application
    Filed: April 19, 2011
    Publication date: October 25, 2012
    Applicant: MICROSOFT CORPORATION
    Inventors: Susan Carrie, Vijay Balakrishnan
  • Publication number: 20120265944
    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: Application
    Filed: April 24, 2012
    Publication date: October 18, 2012
    Applicant: International Business Machines Corporation
    Inventors: William E. Speight, Lixin Zhang
  • Publication number: 20120210073
    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: Application
    Filed: February 11, 2011
    Publication date: August 16, 2012
    Applicant: INTERNATIONAL BUSINESS MACHINES CORPORATION
    Inventors: Alexandre E. Eichenberger, Alan Gara, Martin Ohmacht, Vijayalakshmi Srinivasan
  • Publication number: 20120179878
    Abstract: In one embodiment, link logic of a multi-chip processor (MCP) formed using multiple processors may interface with a first point-to-point (PtP) link coupled between the MCP and an off-package agent and another PtP link coupled between first and second processors of the MCP, where the on-package PtP link operates at a greater bandwidth than the first PtP link. Other embodiments are described and claimed.
    Type: Application
    Filed: March 16, 2012
    Publication date: July 12, 2012
    Inventors: Krishnakanth Sistla, Ganapati Srinivasa
  • Publication number: 20120173825
    Abstract: Each level of cache within a memory hierarchy of a device is configured with a cache results register (CRR). The caches are coupled to a debugger interface via a peripheral bus. The device is placed in debug mode, and a debugger forwards a transaction address (TA) of a dummy transaction to the device. On receipt of the TA, the device processor forwards the TA via the system bus to the memory hierarchy to initiate an address lookup operation within each level of cache. For each cache in which the TA hits, the cache controller (debug) logic updates the cache's CRR with Hit, Way, and Index values, identifying the physical storage location within the particular cache at which the corresponding instruction/data is stored. The debugger retrieves information about the hit/miss status, the physical storage location and/or a copy of the data via direct requests over the peripheral bus.
    Type: Application
    Filed: December 30, 2010
    Publication date: July 5, 2012
    Applicant: FREESCALE SEMICONDUCTOR, INC.
    Inventors: Robert Ehrlich, Kevin C. Heuer, Robert A. McGowan
  • Publication number: 20120159087
    Abstract: Ensuring forward progress of token-required cache operations in a shared cache, including: snooping an instruction to execute a token-required cache operation; determining if a snoop machine is available and if the snoop machine is set to a reservation state; if the snoop machine is available and the snoop machine is in the reservation state, determining whether the instruction to execute the token-required cache operation owns a token or is a joint instruction; if the instruction is a joint instruction, instructing the operation to retry; if the instruction to execute the token-required cache operation owns a token, dispatching a cache controller; determining whether all required cache controllers of relevant compute nodes are available to execute the instruction; executing the instruction if the required cache controllers are available otherwise not executing the instruction.
    Type: Application
    Filed: December 16, 2010
    Publication date: June 21, 2012
    Applicant: INTERNATIONAL BUSINESS MACHINES CORPORATION
    Inventors: Jason A. Cox, Eric F. Robinson, Mark J. Wolski
  • Publication number: 20120151297
    Abstract: A method and system for precisely tracking lines evicted from a region coherence array (RCA) without requiring eviction of the lines from a processor's cache hierarchy. The RCA is a set-associative array which contains region entries consisting of a region address tag, a set of bits for the region coherence state, and a line-count for tracking the number of region lines cached by the processor. Tracking of the RCA is facilitated by a non-tagged hash table of counts represented by a Region Victim Hash (RVH). When a region is evicted from the RCA, and lines from the evicted region still reside in the processor's caches (i.e., the region's line-count is non-zero), the RCA line-count is added to the corresponding RVH count. The RVH count is decremented by the value of the region line count following a subsequent processor cache eviction/invalidation of the region previously evicted from the RCA.
    Type: Application
    Filed: February 17, 2012
    Publication date: June 14, 2012
    Applicant: IBM CORPORATION
    Inventors: Robert H. Bell, JR., Jason F. Cantin
  • Publication number: 20120151151
    Abstract: Systems and methods for managing destage scan times in a cache are provided. One system includes a cache and a processor. The processor is configured to utilize a first thread to continually determine a desired scan time for scanning the plurality of storage tracks in the cache and utilize a second thread to continually control an actual scan time of the plurality of storage tracks in the cache based on the continually determined desired scan time. One method includes utilizing a first thread to continually determine a desired scan time for scanning the plurality of storage tracks in the cache and utilizing a second thread to continually control an actual scan time of the plurality of storage tracks in the cache based on the continually determined desired scan time. Physical computer storage mediums including a computer program product for performing the above method are also provided.
    Type: Application
    Filed: December 10, 2010
    Publication date: June 14, 2012
    Applicant: INTERNATIONAL BUSINESS MACHINES CORPORATION
    Inventors: Brent C. BEARDSLEY, Michael T. BENHASE, Lokesh M. GUPTA, Sonny E. WILLIAMS