Snooping Patents (Class 711/146)
-
Patent number: 9456335Abstract: 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: GrantFiled: October 31, 2013Date of Patent: September 27, 2016Assignee: Oracle International CorporationInventors: Wayne Carter, Donald Creig Humes
-
Patent number: 9436605Abstract: 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: GrantFiled: December 20, 2013Date of Patent: September 6, 2016Assignee: INTEL CORPORATIONInventors: Jeffrey D. Chamberlain, Vedaraman Geetha, Robert G. Blankenship, Yen-Cheng Liu, Adrian C. Moga, Herbert H. Hum, Sailesh Kottapalli
-
Patent number: 9430511Abstract: 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: GrantFiled: March 13, 2014Date of Patent: August 30, 2016Assignee: Cavium, Inc.Inventors: Satyanarayana Lakshmipathi Billa, Rajan Goyal
-
Patent number: 9418016Abstract: 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: GrantFiled: December 21, 2010Date of Patent: August 16, 2016Assignee: Intel CorporationInventors: Simon C. Steely, Jr., Joel S. Emer, William C. Hasenplaugh
-
Patent number: 9411692Abstract: 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: GrantFiled: April 26, 2013Date of Patent: August 9, 2016Assignee: Hewlett Packard Enterprise Development LPInventors: Goetz Graefe, Harumi Kuno
-
Patent number: 9378153Abstract: 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: GrantFiled: August 27, 2013Date of Patent: June 28, 2016Assignee: ADVANCED MICRO DEVICES, INC.Inventors: Syed Ali Jafri, Yasuko Eckert, Srilatha Manne
-
Patent number: 9336145Abstract: 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: GrantFiled: April 9, 2009Date of Patent: May 10, 2016Assignee: INTERNATIONAL BUSINESS MACHINES CORPORATIONInventors: Lakshminarayana Baba Arimilli, Ravi K. Arimilli, Jody B. Joyner, William J. Starke
-
Patent number: 9317433Abstract: 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: GrantFiled: January 13, 2014Date of Patent: April 19, 2016Assignee: Marvell Israel (M.I.S.L.) Ltd.Inventors: Eitan Joshua, Tawfik Bayouk
-
Patent number: 9286222Abstract: 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: GrantFiled: April 30, 2013Date of Patent: March 15, 2016Assignee: ARM LimitedInventor: Peter Richard Greenhalgh
-
Patent number: 9280471Abstract: 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: GrantFiled: November 15, 2013Date of Patent: March 8, 2016Assignee: 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: 9274955Abstract: 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: GrantFiled: July 29, 2013Date of Patent: March 1, 2016Assignee: Futurewei Technologies, Inc.Inventors: Iulin Lih, Naxin Zhang, Chenghong He, Hongbo Shi
-
Patent number: 9268703Abstract: 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: GrantFiled: April 15, 2009Date of Patent: February 23, 2016Assignee: International Business Machines CorporationInventors: Lakshminarayana Baba Arimilli, Ravi K. Arimilli, Jody B. Joyner, William J. Starke
-
Patent number: 9271267Abstract: 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: GrantFiled: May 22, 2012Date of Patent: February 23, 2016Assignee: Silicon Graphics International Corp.Inventors: Gregory Marlan, Kenneth Yeager, Mahdi Seddighnezhad, David X. Zhang
-
Patent number: 9251181Abstract: 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: GrantFiled: June 18, 2012Date of Patent: February 2, 2016Assignee: International Business Machines CorporationInventors: Nitin Gaur, Todd E. Kaplinger, Kulvir Singh Bhogal, Douglas Berg
-
Patent number: 9213649Abstract: 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: GrantFiled: September 24, 2012Date of Patent: December 15, 2015Assignee: ORACLE INTERNATIONAL CORPORATIONInventors: Pranay Koka, David A. Munday, Michael O. McCracken, Herbert D. Schwetman, Jr.
-
Patent number: 9189402Abstract: 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: GrantFiled: September 26, 2013Date of Patent: November 17, 2015Assignee: EMC CorporationInventors: Stephen Smaldone, Grant R. Wallace, Frederick Douglis, Philip N. Shilane, Hyong Shim
-
Patent number: 9176913Abstract: 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: GrantFiled: September 7, 2011Date of Patent: November 3, 2015Assignee: Apple Inc.Inventors: Timothy J. Millet, Muditha Kanchana, Shailendra S. Desai
-
Patent number: 9170949Abstract: 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: GrantFiled: September 28, 2013Date of Patent: October 27, 2015Assignee: Qualcomm Technologies, Inc.Inventor: Laurent Moll
-
Patent number: 9158725Abstract: 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: GrantFiled: November 20, 2012Date of Patent: October 13, 2015Assignee: Freescale Semiconductor, Inc.Inventors: William C. Moyer, Quyen Pho
-
Patent number: 9152586Abstract: 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: GrantFiled: October 17, 2013Date of Patent: October 6, 2015Assignee: TEXAS INSTRUMENTS INCORPORATEDInventors: Daniel B Wu, Matthew D Pierson, Kai Chirca, Timothy D Anderson
-
Patent number: 9152137Abstract: 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: GrantFiled: February 10, 2011Date of Patent: October 6, 2015Assignee: AZBIL CORPORATIONInventor: Seiichi Matsuda
-
Patent number: 9148485Abstract: 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: GrantFiled: December 10, 2012Date of Patent: September 29, 2015Assignee: Intel CorporationInventors: Phanindra K. Mannava, Hari K. Nagpal, Meenakshisundaram R. Chinthamani, Robert J. Safranek
-
Patent number: 9141559Abstract: 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: GrantFiled: January 4, 2013Date of Patent: September 22, 2015Assignee: Intel CorporationInventors: Ramesh Thomas, Kuo-Lang Tseng, Ravi L. Sahita, David M. Durham, Madhukar Tallam
-
Publication number: 20150149734Abstract: 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: ApplicationFiled: February 2, 2015Publication date: May 28, 2015Inventors: James Wang, Zongjian Chen, James B. Keller, Timothy J. Millet
-
Publication number: 20150134896Abstract: 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: ApplicationFiled: November 10, 2014Publication date: May 14, 2015Inventors: ALI-REZA ADL-TABATABAI, YANG NI, BRATIN SAHA, VADIM BASSIN, GAD SHEAFFER, DAVID CALLAHAN, JAN GRAY
-
Patent number: 9026742Abstract: 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: GrantFiled: December 21, 2007Date of Patent: May 5, 2015Assignee: Freescale Semiconductor, Inc.Inventors: Sanjay R. Deshpande, Klas M. Bruce, Michael D. Snyder
-
Patent number: 9021211Abstract: 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: GrantFiled: January 11, 2013Date of Patent: April 28, 2015Assignee: International Business Machines CorporationInventors: Bartholomew Blaner, Kevin F. Reick, Michael S. Siegel, Jeff A. Stuecheli
-
Patent number: 9015424Abstract: 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: GrantFiled: August 15, 2012Date of Patent: April 21, 2015Assignee: ARM LimitedInventor: Timothy Charles Mace
-
Publication number: 20150100740Abstract: 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: ApplicationFiled: October 4, 2013Publication date: April 9, 2015Inventors: Jue Wang, Yuan Xie
-
Patent number: 9003130Abstract: 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: GrantFiled: December 19, 2012Date of Patent: April 7, 2015Assignee: Advanced Micro Devices, Inc.Inventors: James O'Connor, Bradford M. Beckmann
-
Publication number: 20150095590Abstract: 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: ApplicationFiled: September 27, 2013Publication date: April 2, 2015Inventors: Jiwei Oliver Lu, Koichi Yamada, James D. Beany, JR., Palaniverlrajan Shanmugavelayutham, Bo Zhang
-
Publication number: 20150095591Abstract: 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: ApplicationFiled: December 4, 2014Publication date: April 2, 2015Inventor: Mohammad ABDALLAH
-
Publication number: 20150089160Abstract: 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: ApplicationFiled: May 12, 2014Publication date: March 26, 2015Applicant: 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: 20150089161Abstract: 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: ApplicationFiled: November 26, 2014Publication date: March 26, 2015Inventors: Robert Beers, Robert G. Blankenship, Robert J. Safranek, Jeff Willey, Robert A. Maddox, Aaron T. Spink
-
Patent number: 8990503Abstract: 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: GrantFiled: January 30, 2013Date of Patent: March 24, 2015Assignee: Oracle International CorporationInventors: Mark S. Moir, Paul N. Loewenstein, David Dice
-
Patent number: 8990513Abstract: 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: GrantFiled: January 11, 2013Date of Patent: March 24, 2015Assignee: International Business Machines CorporationInventors: Bartholomew Blaner, David W. Cummings, George W. Daly, Jr., Michael S. Siegel, Jeff A. Stuecheli
-
Publication number: 20150074357Abstract: 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: ApplicationFiled: March 3, 2014Publication date: March 12, 2015Applicant: QUALCOMM IncorporatedInventors: Joseph G. MCDONALD, Jaya Prakash Subramaniam GANASAN, Thomas Philip SPEIER, Eric F. ROBINSON, Jason Lawrence PANAVICH, Thuong Q. TRUONG
-
Publication number: 20150067272Abstract: 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: ApplicationFiled: November 4, 2014Publication date: March 5, 2015Applicant: Microsoft Technology Licensing, LLCInventors: Marcus Peinado, Taesoo Kim
-
Patent number: 8959290Abstract: 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: GrantFiled: February 21, 2012Date of Patent: February 17, 2015Assignee: LSI CorporationInventors: Vidyalakshmi Rajagopalan, Archna Rai, Sharath Kashyap, Anuj Soni
-
Publication number: 20150046653Abstract: 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: ApplicationFiled: August 9, 2013Publication date: February 12, 2015Applicant: NetApp, Inc.Inventors: Gokul Soundararajan, Lakshmi Narayanan Bairavasundaram, Vipul Mathur
-
Publication number: 20150046660Abstract: 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: ApplicationFiled: October 24, 2014Publication date: February 12, 2015Applicant: IP CUBE PARTNERS (ICP) CO., LTD.Inventor: Moon J. Kim
-
Patent number: 8949545Abstract: 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: GrantFiled: December 4, 2008Date of Patent: February 3, 2015Assignee: Freescale Semiconductor, Inc.Inventor: John D. Pape
-
Patent number: 8949547Abstract: 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: GrantFiled: August 8, 2011Date of Patent: February 3, 2015Assignee: ARM LimitedInventors: Phanindra Kumar Mannava, Jamshed Jalal, Ramamoorthy Guru Prasadh, Michael Alan Filippo
-
Publication number: 20150032974Abstract: 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: ApplicationFiled: February 8, 2013Publication date: January 29, 2015Inventors: Oliver M. Deakin, Victor S. Moore, Robert B. Nicholson, Colin J. Thorne
-
Publication number: 20150026411Abstract: 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: ApplicationFiled: July 29, 2013Publication date: January 22, 2015Applicant: LSI CorporationInventors: Gary M. Lippert, Judy M. Gehman, Scott E. Greenfield, Jerome M. Meyer, John M. Nystuen
-
Patent number: 8938588Abstract: 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: GrantFiled: December 16, 2010Date of Patent: January 20, 2015Assignee: International Business Machines CorporationInventors: Jason A. Cox, Eric F. Robinson, Mark J. Wolski
-
Publication number: 20150012713Abstract: 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: ApplicationFiled: March 2, 2012Publication date: January 8, 2015Applicant: ARM LIMITEDInventors: William Henry Flanders, Ramamoorthy Guru Prasadh, Ashok Kumar Tummala, Jamshed Jalal, Phanindra Kumar Mannava
-
Publication number: 20150012693Abstract: 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: ApplicationFiled: July 2, 2013Publication date: January 8, 2015Inventors: Jonathan AMIT, Chaim KOIFMAN, Amir LIDOR, Sergey MARENKOV
-
Patent number: 8930638Abstract: 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: GrantFiled: November 27, 2012Date of Patent: January 6, 2015Assignee: QUALCOMM Technologies, Inc.Inventors: Laurent Moll, Jean-Jacques Lecler, Philippe Boucard
-
Patent number: 8930528Abstract: 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: GrantFiled: August 16, 2010Date of Patent: January 6, 2015Assignee: Symantec CorporationInventors: Rahul Ravindra Borade, Anindya Banerjee, Kedar Patwardhan