Snooping Patents (Class 711/146)
  • Patent number: 9456335
    Abstract: A method and system for defining an offlinable model graph. In one embodiment of the method, a request is generated by a mobile device. The mobile device receives a response to the request. The mobile device updates a plurality of tables stored in memory of the mobile device, wherein the updating comprises adding a component of the response to a first table of the plurality of tables.
    Type: Grant
    Filed: October 31, 2013
    Date of Patent: September 27, 2016
    Assignee: Oracle International Corporation
    Inventors: Wayne Carter, Donald Creig Humes
  • Patent number: 9436605
    Abstract: An apparatus and method for reducing or eliminating writeback operations. For example, one embodiment of a method comprises: detecting a first operation associated with a cache line at a first requestor cache; detecting that the cache line exists in a first cache in a modified (M) state; forwarding the cache line from the first cache to the first requestor cache and storing the cache line in the first requestor cache in a second modified (M?) state; detecting a second operation associated with the cache line at a second requestor; responsively forwarding the cache line from the first requestor cache to the second requestor cache and storing the cache line in the second requestor cache in an owned (O) state if the cache line has not been modified in the first requestor cache; and setting the cache line to a shared (S) state in the first requestor cache.
    Type: Grant
    Filed: December 20, 2013
    Date of Patent: September 6, 2016
    Assignee: INTEL CORPORATION
    Inventors: Jeffrey D. Chamberlain, Vedaraman Geetha, Robert G. Blankenship, Yen-Cheng Liu, Adrian C. Moga, Herbert H. Hum, Sailesh Kottapalli
  • Patent number: 9430511
    Abstract: In an embodiment, a method of updating a memory with a plurality of memory lines, the memory storing a tree, a plurality of buckets, and a plurality of rules, includes maintaining a copy of the memory with a plurality of memory lines. The method further includes writing a plurality of changes to at least one of the tree, the plurality of buckets, and the plurality of rules to the copy. The method further includes determining whether each of the plurality of changes is an independent write or a dependent write. The method further includes merging independent writes to the same line of the copy. The method further includes transferring updates from the plurality of lines of the copy to the plurality of lines of the memory.
    Type: Grant
    Filed: March 13, 2014
    Date of Patent: August 30, 2016
    Assignee: Cavium, Inc.
    Inventors: Satyanarayana Lakshmipathi Billa, Rajan Goyal
  • Patent number: 9418016
    Abstract: A method and apparatus to reduce unnecessary write backs of cached data to a main memory and to optimize the usage of a cache memory tag directory. In one embodiment of the invention, the power consumption of a processor can be saved by eliminating write backs of cache memory lines that has information that has reached its end-of-life. In one embodiment of the invention, when a processing unit is required to clear one or more cache memory lines, it uses a write-zero command to clear the one or more cache memory lines. The processing unit does not perform a write operation to move or pass data values of zero to the one or more cache memory lines. By doing so, it reduces the power consumption of the processing unit.
    Type: Grant
    Filed: December 21, 2010
    Date of Patent: August 16, 2016
    Assignee: Intel Corporation
    Inventors: Simon C. Steely, Jr., Joel S. Emer, William C. Hasenplaugh
  • Patent number: 9411692
    Abstract: A data portion is evicted from a buffer, where the evicted data portion is modified from a corresponding data portion in a persistent storage. Write elision is applied to suppress writing the evicted data portion to the persistent storage. Subsequent to applying the write elision and in response to reading a version of the data portion, a redo of a modification of the read data portion is applied.
    Type: Grant
    Filed: April 26, 2013
    Date of Patent: August 9, 2016
    Assignee: Hewlett Packard Enterprise Development LP
    Inventors: Goetz Graefe, Harumi Kuno
  • Patent number: 9378153
    Abstract: A level of cache memory receives modified data from a higher level of cache memory. A set of cache lines with an index associated with the modified data is identified. The modified data is stored in the set in a cache line with an eviction priority that is at least as high as an eviction priority, before the modified data is stored, of an unmodified cache line with a highest eviction priority among unmodified cache lines in the set.
    Type: Grant
    Filed: August 27, 2013
    Date of Patent: June 28, 2016
    Assignee: ADVANCED MICRO DEVICES, INC.
    Inventors: Syed Ali Jafri, Yasuko Eckert, Srilatha Manne
  • Patent number: 9336145
    Abstract: A technique for performing cache injection includes monitoring, at a host fabric interface, snoop responses to an address on a bus. When the snoop responses indicate a data block associated with the address is in a shared state, input/output data associated with the address on the bus is directed to a cache that includes the data block in the shared state and is located physically closer to the host fabric interface than one or more other caches that include the data block associated with the address in the shared state.
    Type: Grant
    Filed: April 9, 2009
    Date of Patent: May 10, 2016
    Assignee: INTERNATIONAL BUSINESS MACHINES CORPORATION
    Inventors: Lakshminarayana Baba Arimilli, Ravi K. Arimilli, Jody B. Joyner, William J. Starke
  • Patent number: 9317433
    Abstract: Some of the embodiments of the present disclosure provide a multi-core processing system configured to selectively enter a dormant mode, comprising: a plurality of processing cores; a plurality of cache memories, wherein a cache memory is associated with one or more corresponding processing cores; and a coherency fabric configured to transmit snoop commands to the respective caches to maintain data coherency in data stored in the respective caches, the coherency fabric comprising: a queue configured to intercept and store snoop commands that are directed to a first cache when a first processing core associated with the first cache is in the dormant mode.
    Type: Grant
    Filed: January 13, 2014
    Date of Patent: April 19, 2016
    Assignee: Marvell Israel (M.I.S.L.) Ltd.
    Inventors: Eitan Joshua, Tawfik Bayouk
  • Patent number: 9286222
    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: April 30, 2013
    Date of Patent: March 15, 2016
    Assignee: ARM Limited
    Inventor: Peter Richard Greenhalgh
  • Patent number: 9280471
    Abstract: Systems, processors, and methods for sharing an agent's private cache with other agents within a SoC. Many agents in the SoC have a private cache in addition to the shared caches and memory of the SoC. If an agent's processor is shut down or operating at less than full capacity, the agent's private cache can be shared with other agents. When a requesting agent generates a memory request and the memory request misses in the memory cache, the memory cache can allocate the memory request in a separate agent's cache rather than allocating the memory request in the memory cache.
    Type: Grant
    Filed: November 15, 2013
    Date of Patent: March 8, 2016
    Assignee: Apple Inc.
    Inventors: Manu Gulati, Harshavardhan Kaushikkar, Gurjeet S. Saund, Wei-Han Lien, Gerard R. Williams, III, Sukalpa Biswas, Brian P. Lilly, Shinye Shiu
  • Patent number: 9274955
    Abstract: A processing network comprising a cache configured to store copies of memory data as a plurality of cache lines, a cache controller configured to receive data requests from a plurality of cache agents, and designate at least one of the cache agents as an owner of a first of the cache lines, and a directory configured to store cache ownership designations of the first cache line, and wherein the directory is encoded to support substantially simultaneous ownership of the first cache line by a plurality but less than all of the cache agents. Also disclosed is a method comprising receiving coherent transactions from a plurality of cache agents, and storing ownership designations of a plurality of cache lines by the cache agents in a directory, wherein the directory is configured to support storage of substantially simultaneous ownership designations for a plurality but less than all of the cache agents.
    Type: Grant
    Filed: July 29, 2013
    Date of Patent: March 1, 2016
    Assignee: Futurewei Technologies, Inc.
    Inventors: Iulin Lih, Naxin Zhang, Chenghong He, Hongbo Shi
  • Patent number: 9268703
    Abstract: A technique for performing cache injection in a processor system includes monitoring, by a cache, addresses on a bus. Input/output data associated with an address of a data block stored in the cache is then requested from a remote node, via a network controller. Ownership of the input/output data is acquired by the cache when an address on the bus that is associated with the input/output data corresponds to the address of the data block stored in the cache.
    Type: Grant
    Filed: April 15, 2009
    Date of Patent: February 23, 2016
    Assignee: International Business Machines Corporation
    Inventors: Lakshminarayana Baba Arimilli, Ravi K. Arimilli, Jody B. Joyner, William J. Starke
  • Patent number: 9271267
    Abstract: In an embodiment, a system includes a resource. The system also includes a first processor having a load/store functional unit. The load/store functional unit is to attempt to access the resource based on access requests. The first processor includes a congestion detection logic to detect congestion of access of the resource based on a consecutive number of negative acknowledgements received in response to the access requests prior to receipt of a positive acknowledgment in response to one of the access requests within a first time period.
    Type: Grant
    Filed: May 22, 2012
    Date of Patent: February 23, 2016
    Assignee: Silicon Graphics International Corp.
    Inventors: Gregory Marlan, Kenneth Yeager, Mahdi Seddighnezhad, David X. Zhang
  • Patent number: 9251181
    Abstract: A method, system and computer program product for dynamic map template discovery and map creation may include determining a frequency of use of a data object in a database and discovering a dynamic map template corresponding to the data object based on the frequency of use of the data object. The method may also include creating a dynamic map from the dynamic map template in response to discovering the dynamic map template.
    Type: Grant
    Filed: June 18, 2012
    Date of Patent: February 2, 2016
    Assignee: International Business Machines Corporation
    Inventors: Nitin Gaur, Todd E. Kaplinger, Kulvir Singh Bhogal, Douglas Berg
  • Patent number: 9213649
    Abstract: The disclosed embodiments provide a system that performs distributed page-table lookups in a shared-memory multiprocessor system with two or more nodes, where each of these nodes includes a directory controller that manages a distinct portion of the system's address space. During operation, a first node receives a request for a page-table entry that is located at a physical address that is managed by the first node. The first node accesses its directory controller to retrieve the page-table entry, and then uses the page-table entry to calculate the physical address for a subsequent page-table entry. The first node determines the home node (e.g., the managing node) for this calculated physical address, and sends a request for the subsequent page-table entry to that home node.
    Type: Grant
    Filed: September 24, 2012
    Date of Patent: December 15, 2015
    Assignee: ORACLE INTERNATIONAL CORPORATION
    Inventors: Pranay Koka, David A. Munday, Michael O. McCracken, Herbert D. Schwetman, Jr.
  • Patent number: 9189402
    Abstract: A computer-implemented method for caching content in a cache memory device is disclosed. The method starts with receiving, at a cache manager, one or more data chunks to be cached in a cache memory device, where the one or more data chunks are retrieved from a persistent storage disk of a storage system in response to a read request of a region of a file. Then the one or more data chunks of a file extent is compressed using a predetermined compression algorithm, and the file extent is packed into a write-evict unit (WEU) maintained in a random-access memory (RAM) that has been open to store a plurality of file extents. In response to determining that the WEU is full, the cache manager writes the WEU from the RAM into the cache memory device.
    Type: Grant
    Filed: September 26, 2013
    Date of Patent: November 17, 2015
    Assignee: EMC Corporation
    Inventors: Stephen Smaldone, Grant R. Wallace, Frederick Douglis, Philip N. Shilane, Hyong Shim
  • Patent number: 9176913
    Abstract: A system, apparatus, and method for routing traffic in a SoC from I/O devices to memory. A coherence switch routes coherent traffic through a coherency port on a processor complex to a real-time port of a memory controller. The coherence switch routes non-coherent traffic to a non-real time port of the memory controller. The coherence switch can also dynamically switch traffic between the two paths. The routing of traffic can be configured via a configuration register, and while software can initiate an update to the configuration register, the actual coherence switch hardware will implement the update. Software can write to a software-writeable copy of the configuration register to initiate an update to the flow path to memory for a transaction identifier. The coherence switch detects the update to the software-writeable copy, and then the coherence switch updates the working copy of the configuration register and implements the new routing.
    Type: Grant
    Filed: September 7, 2011
    Date of Patent: November 3, 2015
    Assignee: Apple Inc.
    Inventors: Timothy J. Millet, Muditha Kanchana, Shailendra S. Desai
  • Patent number: 9170949
    Abstract: A simplified coherency controller supports multiple exclusively active fully coherent agent interfaces and any number of active I/O (partially) coherent agent interfaces. A state controller determines which fully coherent agent is active. Multiple fully coherent agents can be simultaneously active during a short period of a transition of processing from one to another processor. Multiple fully coherent agents can be simultaneously active, though without a mutually consistent view of memory, which is practical in cases such as when running multiple operating systems on different processors.
    Type: Grant
    Filed: September 28, 2013
    Date of Patent: October 27, 2015
    Assignee: Qualcomm Technologies, Inc.
    Inventor: Laurent Moll
  • Patent number: 9158725
    Abstract: A store gathering policy is enabled or disabled at a data processing device. A store gathering policy to be implemented by a store buffer can be selected from a plurality of store gathering polices. For example, the plurality of store gathering policies can be constrained or unconstrained. A store gathering policy can be enabled by a user programmable storage location. A specific store gathering policy can be specified by a user programmable storage location. A store gathering policy can be determined based upon an attribute of a store request, such as based upon a destination address.
    Type: Grant
    Filed: November 20, 2012
    Date of Patent: October 13, 2015
    Assignee: Freescale Semiconductor, Inc.
    Inventors: William C. Moyer, Quyen Pho
  • Patent number: 9152586
    Abstract: To enable efficient tracking of transactions, an acknowledgement expected signal is used to give the cache coherent interconnect a hint for whether a transaction requires coherent ownership tracking. This signal informs the cache coherent interconnect to expect an ownership transfer acknowledgement signal from the initiating master upon read/write transfer completion. The cache coherent interconnect can therefore continue tracking the transaction at its point of coherency until it receives the acknowledgement from the initiating master only when necessary.
    Type: Grant
    Filed: October 17, 2013
    Date of Patent: October 6, 2015
    Assignee: TEXAS INSTRUMENTS INCORPORATED
    Inventors: Daniel B Wu, Matthew D Pierson, Kai Chirca, Timothy D Anderson
  • Patent number: 9152137
    Abstract: A register circuit having a plurality of registers enabling the writing and reading of data by the specification of an address; a register controlling circuit monitoring data of a plurality of registers of the register circuit through the specification of an address, and writing, to a register pre-established in the register circuit, for activating devices; and a signal transmitting circuit causing a device to execute a specific operation, based on a specified address and on data read from the register circuit are provided; and not only is a collection of first bits for controlling jointly the individual operations of the plurality of devices assigned in a first register that is established in advance in the plurality of registers, but also second bits for controlling individually the individual operations in the plurality of devices are assigned respectively in a plurality of respective second registers that differ from the first register.
    Type: Grant
    Filed: February 10, 2011
    Date of Patent: October 6, 2015
    Assignee: AZBIL CORPORATION
    Inventor: Seiichi Matsuda
  • Patent number: 9148485
    Abstract: In one embodiment, the present invention includes a processor that can generate data packets for transmission to an agent, where the processor can generate a data packet having a command portion including a first operation code to encode a transaction type for the data packet and a second operation code to encode a processor-specific operation. This second operation code can encode many different features such as an indication that the data packet is of a smaller size than a standard packet, in order to reduce bandwidth. This operation code can also identify an operation to be performed by a destination agent coupled to the agent. Other embodiments are described and claimed.
    Type: Grant
    Filed: December 10, 2012
    Date of Patent: September 29, 2015
    Assignee: Intel Corporation
    Inventors: Phanindra K. Mannava, Hari K. Nagpal, Meenakshisundaram R. Chinthamani, Robert J. Safranek
  • Patent number: 9141559
    Abstract: Embodiments of techniques and systems for increasing efficiencies in computing systems using virtual memory are described. In embodiments, instructions which are located in two memory pages in a virtual memory system, such that one of the pages does not permit execution of the instructions located therein, are identified and then executed under temporary permissions that permit execution of the identified instructions. In various embodiments, the temporary permissions may come from modified virtual memory page tables, temporary virtual memory page tables which allow for execution, and/or emulators which have root access. In embodiments, per-core virtual memory page tables may be provided to allow two cores of a computer processor to operate in accordance with different memory access permissions. in embodiments, a physical page permission table may be utilized to provide for maintenance and tracking of per-physical-page memory access permissions. Other embodiments may be described and claimed.
    Type: Grant
    Filed: January 4, 2013
    Date of Patent: September 22, 2015
    Assignee: Intel Corporation
    Inventors: Ramesh Thomas, Kuo-Lang Tseng, Ravi L. Sahita, David M. Durham, Madhukar Tallam
  • Publication number: 20150149734
    Abstract: In one embodiment, a memory that is delineated into transparent and non-transparent portions. The transparent portion may be controlled by a control unit coupled to the memory, along with a corresponding tag memory. The non-transparent portion may be software controlled by directly accessing the non-transparent portion via an input address. In an embodiment, the memory may include a decoder configured to decode the address and select a location in either the transparent or non-transparent portion. Each request may include a non-transparent attribute identifying the request as either transparent or non-transparent. In an embodiment, the size of the transparent portion may be programmable. Based on the non-transparent attribute indicating transparent, the decoder may selectively mask bits of the address based on the size to ensure that the decoder only selects a location in the transparent portion.
    Type: Application
    Filed: February 2, 2015
    Publication date: May 28, 2015
    Inventors: James Wang, Zongjian Chen, James B. Keller, Timothy J. Millet
  • Publication number: 20150134896
    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: November 10, 2014
    Publication date: May 14, 2015
    Inventors: ALI-REZA ADL-TABATABAI, YANG NI, BRATIN SAHA, VADIM BASSIN, GAD SHEAFFER, DAVID CALLAHAN, JAN GRAY
  • Patent number: 9026742
    Abstract: A processor provides memory request and a coherency state value for a coherency granule associated with a memory request. The processor further provides either a first indicator or a second indicator depending on whether the coherency state value represents a cumulative coherency state for a plurality of caches of the processor. The first indicator and the second indicator identify the coherency state value as representing a cumulative coherency state or a potentially non-cumulative coherency state, respectively. If the second indicator is provided, a transaction management module determines whether to request the cumulative coherency state for the coherency granule in response to receiving the second indicator. The transaction management module then provides an indicator of the request for the cumulative coherency state to the processor in response to determining to request the cumulative coherency state.
    Type: Grant
    Filed: December 21, 2007
    Date of Patent: May 5, 2015
    Assignee: Freescale Semiconductor, Inc.
    Inventors: Sanjay R. Deshpande, Klas M. Bruce, Michael D. Snyder
  • Patent number: 9021211
    Abstract: A coherent attached processor proxy (CAPP) participates in coherence communication in a primary coherent system on behalf of an attached processor external to the primary coherent system. The CAPP includes an epoch timer that advances at regular intervals to define epochs of operation of the CAPP. Each of one or more entries in a data structure in the CAPP are associated with a respective epoch. Recovery operations for the CAPP are initiated based on a comparison of an epoch indicated by the epoch timer and the epoch associated with one of the one or more entries in the data structure.
    Type: Grant
    Filed: January 11, 2013
    Date of Patent: April 28, 2015
    Assignee: International Business Machines Corporation
    Inventors: Bartholomew Blaner, Kevin F. Reick, Michael S. Siegel, Jeff A. Stuecheli
  • Patent number: 9015424
    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 serialization circuitry stalls any transaction requests to the write line of data until the first write transaction.
    Type: Grant
    Filed: August 15, 2012
    Date of Patent: April 21, 2015
    Assignee: ARM Limited
    Inventor: Timothy Charles Mace
  • Publication number: 20150100740
    Abstract: Processors and methods disclosed herein include a cache memory unit, n processor cores where n?1, a controller connected to the cache memory unit and to each of the n processor cores, and n obstruction monitoring units, where each obstruction monitoring unit is connected to the controller and to a different one of the n processor cores, and where during operation of the electronic processor, each obstruction monitoring unit is configured to detect an obstruction corresponding to an operation from the processor core connected to the obstruction monitoring unit before the operation executes in the cache memory unit.
    Type: Application
    Filed: October 4, 2013
    Publication date: April 9, 2015
    Inventors: Jue Wang, Yuan Xie
  • Patent number: 9003130
    Abstract: A data processing device is provided that facilitates cache coherence policies. In one embodiment, a data processing device utilizes invalidation tags in connection with a cache that is associated with a processing engine. In some embodiments, the cache is configured to store a plurality of cache entries where each cache entry includes a cache line configured to store data and a corresponding cache tag configured to store address information associated with data stored in the cache line. Such address information includes invalidation flags with respect to addresses stored in the cache tags. Each cache tag is associated with an invalidation tag configured to store information related to invalidation commands of addresses stored in the cache tag. In such embodiment, the cache is configured to set invalidation flags of cache tags based upon information stored in respective invalidation tags.
    Type: Grant
    Filed: December 19, 2012
    Date of Patent: April 7, 2015
    Assignee: Advanced Micro Devices, Inc.
    Inventors: James O'Connor, Bradford M. Beckmann
  • Publication number: 20150095590
    Abstract: An apparatus and method for page level monitoring are described. For example, one embodiment of a method for monitoring memory pages comprises storing information related to each of a plurality of memory pages including an address identifying a location for a monitor variable for each of the plurality of memory pages in a data structure directly accessible only by a software layer operating at or above a first privilege level; detecting virtual-to-physical page mapping consistency changes or other page modifications to a particular memory page for which information is maintained in the data structure; responsively updating the monitor variable to reflect the consistency changes or page modifications; checking a first monitor variable associated with a first memory page prior to execution of first program code; and refraining from executing the first program code if the first monitor variable indicates consistency changes or page modifications to the first memory page.
    Type: Application
    Filed: September 27, 2013
    Publication date: April 2, 2015
    Inventors: Jiwei Oliver Lu, Koichi Yamada, James D. Beany, JR., Palaniverlrajan Shanmugavelayutham, Bo Zhang
  • Publication number: 20150095591
    Abstract: In a processor, a method for filtering stores to prevent all stores from having to snoop check against all words of a cache. The method includes implementing a cache wherein stores snoop the caches for address matches to maintain coherency; marking a portion of a cache line if a given core out of a plurality of cores loads from that portion by using an access mask; checking the access mask upon execution of subsequent stores to the cache line; and causing a miss prediction when a subsequent store to the portion of the cache line sees a prior mark from a load in the access mask.
    Type: Application
    Filed: December 4, 2014
    Publication date: April 2, 2015
    Inventor: Mohammad ABDALLAH
  • Publication number: 20150089160
    Abstract: A cache and a method for performing data copying are provided. The cache includes a copy logic and be connected to a processor through a first bus and to a memory controller through a second bus, which is different from the first bus. Moreover, the copy logic may perform data copying through the second bus based on a data copy command received from the processor.
    Type: Application
    Filed: May 12, 2014
    Publication date: March 26, 2015
    Applicant: Samsung Electronics Co., Ltd.
    Inventors: Jin Yong JANG, Gil Yoon KIM, Jin Young PARK, Seung Jin YANG, Chun Mok CHUNG, Jin CHOI, Eun Seok HONG
  • Publication number: 20150089161
    Abstract: A coherence protocol message is sent corresponding to a particular cache line. A potential conflict involving the particular cache line is identified and a forward request is sent to a home agent to identify the potential conflict. A forward response can be received in response to the forward request from the home agent and a response to the conflict can be determined.
    Type: Application
    Filed: November 26, 2014
    Publication date: March 26, 2015
    Inventors: Robert Beers, Robert G. Blankenship, Robert J. Safranek, Jeff Willey, Robert A. Maddox, Aaron T. Spink
  • Patent number: 8990503
    Abstract: A system and method for supporting targeted stores in a shared-memory multiprocessor. A targeted store enables a first processor to push a cache line to be stored in a cache memory of a second processor. This eliminates the need for multiple cache-coherence operations to transfer the cache line from the first processor to the second processor. More specifically, the disclosed embodiments provide a system that notifies a waiting thread when a targeted store is directed to monitored memory locations. During operation, the system receives a targeted store which is directed to a specific cache in a shared-memory multiprocessor system. In response, the system examines a destination address for the targeted store to determine whether the targeted store is directed to a monitored memory location which is being monitored for a thread associated with the specific cache. If so, the system informs the thread about the targeted store.
    Type: Grant
    Filed: January 30, 2013
    Date of Patent: March 24, 2015
    Assignee: Oracle International Corporation
    Inventors: Mark S. Moir, Paul N. Loewenstein, David Dice
  • Patent number: 8990513
    Abstract: A coherent attached processor proxy (CAPP) that participates in coherence communication in a primary coherent system on behalf of an external attached processor maintains, in each of a plurality of entries of a CAPP directory, information regarding a respective associated cache line of data from the primary coherent system cached by the attached processor. In response to initiation of recovery operations, the CAPP transmits, in a generally sequential order with respect to the CAPP directory, multiple memory access requests indicating an error for addresses indicated by the plurality of entries. In response to a snooped memory access request that targets a particular address hitting in the CAPP directory during the transmitting, the CAPP performs a coherence recovery operation for the particular address prior to a time indicated by the generally sequential order.
    Type: Grant
    Filed: January 11, 2013
    Date of Patent: March 24, 2015
    Assignee: International Business Machines Corporation
    Inventors: Bartholomew Blaner, David W. Cummings, George W. Daly, Jr., Michael S. Siegel, Jeff A. Stuecheli
  • Publication number: 20150074357
    Abstract: A low latency cache intervention mechanism implements a snoop filter to dynamically select an intervener cache for a cache “hit” in a multiprocessor architecture of a computer system. The selection of the intervener is based on variables such as latency, topology, frequency, utilization, load, wear balance, and/or power state of the computer system.
    Type: Application
    Filed: March 3, 2014
    Publication date: March 12, 2015
    Applicant: QUALCOMM Incorporated
    Inventors: Joseph G. MCDONALD, Jaya Prakash Subramaniam GANASAN, Thomas Philip SPEIER, Eric F. ROBINSON, Jason Lawrence PANAVICH, Thuong Q. TRUONG
  • Publication number: 20150067272
    Abstract: The described implementations relate to computer memory. One implementation provides a technique that can include providing stealth memory to an application. The stealth memory can have an associated physical address on a memory device. The technique can also include identifying a cache line of a cache that is mapped to the physical address associated with the stealth page, and locking one or more other physical addresses on the memory device that also map to the cache line.
    Type: Application
    Filed: November 4, 2014
    Publication date: March 5, 2015
    Applicant: Microsoft Technology Licensing, LLC
    Inventors: Marcus Peinado, Taesoo Kim
  • Patent number: 8959290
    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: Grant
    Filed: February 21, 2012
    Date of Patent: February 17, 2015
    Assignee: LSI Corporation
    Inventors: Vidyalakshmi Rajagopalan, Archna Rai, Sharath Kashyap, Anuj Soni
  • Publication number: 20150046653
    Abstract: Technology for operating a cache sizing system is disclosed. In various embodiments, the technology monitors input/output (IO) accesses to a storage system within a monitor period; tracks an access map for storage addresses within the storage system during the monitor period; and counts a particular access condition of the IO accesses based on the access map during the monitor period. When sizing a cache of the storage system that enables the storage system to provide a specified level of service, the counting is for computing a working set size (WSS) estimate of the storage system.
    Type: Application
    Filed: August 9, 2013
    Publication date: February 12, 2015
    Applicant: NetApp, Inc.
    Inventors: Gokul Soundararajan, Lakshmi Narayanan Bairavasundaram, Vipul Mathur
  • Publication number: 20150046660
    Abstract: In general, the present invention relates to data cache processing. Specifically, the present invention relates to a system that provides reconfigurable dynamic cache which varies the operation strategy of cache memory based on the demand from the applications originating from different external general processor cores, along with functions of a virtualized hybrid core system. The system includes receiving a data request, selecting an operational mode based on the data request and a predefined selection algorithm, and processing the data request based on the selected operational mode.
    Type: Application
    Filed: October 24, 2014
    Publication date: February 12, 2015
    Applicant: IP CUBE PARTNERS (ICP) CO., LTD.
    Inventor: Moon J. Kim
  • 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: 8949547
    Abstract: A data processing system that manages data hazards at a coherency controller and not at an initiator device is disclosed. Write requests are processed in a two part form, such that a first part is transmitted and when the coherency controller has space to accept data, the data and a state of the data prior to a write are sent as a second part of a write request. When there are copending reads and writes to the same address, writes are stalled by not responding to the first part of a write request and snoop requests received to the address are processed 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 request and the initiator device will complete the write by sending the data and a state indicator following the snoop.
    Type: Grant
    Filed: August 8, 2011
    Date of Patent: February 3, 2015
    Assignee: ARM Limited
    Inventors: Phanindra Kumar Mannava, Jamshed Jalal, Ramamoorthy Guru Prasadh, Michael Alan Filippo
  • Publication number: 20150032974
    Abstract: Method and system are provided for object caching with mobility management for mobile data communication. The method may include: intercepting and snooping data communications at a base station between a user equipment and a content server without terminating communications; implementing object caching at the base station using snooped data communications; implementing object caching at an object cache server in the network, wherein the object cache server proxies communications to the content server from the user equipment; and maintaining synchrony between an object cache at the base station and an object cache at the object cache server.
    Type: Application
    Filed: February 8, 2013
    Publication date: January 29, 2015
    Inventors: Oliver M. Deakin, Victor S. Moore, Robert B. Nicholson, Colin J. Thorne
  • Publication number: 20150026411
    Abstract: A cache controller configured to detect a wait type (i.e., a wait event) associated with an imprecise collision and/or contention event is disclosed. The cache controller is configured to operatively connect to a cache memory device, which is configured to store a plurality of cache lines. The cache controller is configured to detect a wait type due to an imprecise collision and/or collision event associated with a cache line. The cache controller is configured to cause transmission of a broadcast to one or more transaction sources (e.g., broadcast to the transaction sources internal to the cache controller) requesting the cache line indicating the transaction source can employ the cache line.
    Type: Application
    Filed: July 29, 2013
    Publication date: January 22, 2015
    Applicant: LSI Corporation
    Inventors: Gary M. Lippert, Judy M. Gehman, Scott E. Greenfield, Jerome M. Meyer, John M. Nystuen
  • Patent number: 8938588
    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: Grant
    Filed: December 16, 2010
    Date of Patent: January 20, 2015
    Assignee: International Business Machines Corporation
    Inventors: Jason A. Cox, Eric F. Robinson, Mark J. Wolski
  • Publication number: 20150012713
    Abstract: A data processing apparatus (2) comprises a first protocol domain A configured to operate under a write progress protocol and a second protocol domain B configured to operate under a snoop progress protocol. A deadlock condition is detected if a write target address for a pending write request issued from the first domain A to the second domain B is the same as a snoop target address or a pending snoop request issued from the second domain B to the first domain A. When the deadlock condition is detected, a bridge (4) between the domains may issue an early response to a selected one of the deadlocked write and snoop requests without waiting for the selected request serviced. The early response indicates to the domain that issued the selected request that the selected request has been serviced, enabling the other request to be serviced by the issuing domain.
    Type: Application
    Filed: March 2, 2012
    Publication date: January 8, 2015
    Applicant: ARM LIMITED
    Inventors: William Henry Flanders, Ramamoorthy Guru Prasadh, Ashok Kumar Tummala, Jamshed Jalal, Phanindra Kumar Mannava
  • Publication number: 20150012693
    Abstract: For read based temporal locality compression by a processor device in a computing environment, read operations are monitored, traced, and/or analyzed to identify repetitions of read patterns of compressed data. The compressed data is rearranged based on the repetitions of read order of the compressed data that are in a read order.
    Type: Application
    Filed: July 2, 2013
    Publication date: January 8, 2015
    Inventors: Jonathan AMIT, Chaim KOIFMAN, Amir LIDOR, Sergey MARENKOV
  • Patent number: 8930638
    Abstract: A cache coherency controller, a system comprising such, and a method of its operation are disclosed. The coherency controller ensures that target-side security checking rules are not violated by the performance-improving processes commonly used in coherency controllers such as dropping, merging, invalidating, forwarding, and snooping. This is done by ensuring that requests marked for target-side security checking and any other requests to overlapping addresses are forwarded directly to the target-side security filter without modification or side effects.
    Type: Grant
    Filed: November 27, 2012
    Date of Patent: January 6, 2015
    Assignee: QUALCOMM Technologies, Inc.
    Inventors: Laurent Moll, Jean-Jacques Lecler, Philippe Boucard
  • Patent number: 8930528
    Abstract: A method of partitioning directory. Accesses, e.g., shared/exclusive, and/or waiting requests, e.g., shared/exclusive, to access one or more files with a directory are monitored, e.g., incrementing/decrementing respective counters. The waiting requests are queued to be granted at a later time. The directory is determined to be primed for partitioning if a number of waiting requests to access the directory is greater than a threshold value of a plurality of heuristics and optionally further based on satisfying the condition for at least a programmable time threshold period. A trigger signal is automatically generated if the directory is primed for partitioning. The trigger signal causes a file system to partition the directory. It is appreciated that the plurality of heuristics is user programmable.
    Type: Grant
    Filed: August 16, 2010
    Date of Patent: January 6, 2015
    Assignee: Symantec Corporation
    Inventors: Rahul Ravindra Borade, Anindya Banerjee, Kedar Patwardhan