Coherency Patents (Class 711/141)
  • Patent number: 9824009
    Abstract: Systems and methods for coherency maintenance are presented. The systems and methods include utilization of multiple information state tracking approaches or protocols at different memory or storage levels. In one embodiment, a first coherency maintenance approach (e.g., similar to a MESI protocol, etc.) can be implemented at one storage level while a second coherency maintenance approach (e.g., similar to a MOESI protocol, etc.) can be implemented at another storage level. Information at a particular storage level or tier can be tracked by a set of local state indications and a set of essence state indications. The essence state indication can be tracked “externally” from a storage layer or tier directory (e.g., in a directory of another cache level, in a hub between cache levels, etc.). One storage level can control operations based upon the local state indications and another storage level can control operations based in least in part upon an essence state indication.
    Type: Grant
    Filed: December 21, 2012
    Date of Patent: November 21, 2017
    Assignee: NVIDIA CORPORATION
    Inventors: Anurag Chaudhary, Guillermo Juan Rozas
  • Patent number: 9811463
    Abstract: An apparatus includes interface configured to receive input/output (I/O) traffic from a host computer via a dedicated I/O channel. The I/O traffic includes one or more I/O requests. The apparatus includes a network interface configured to receive network traffic from a second device via a network. The apparatus includes a cache memory configured to store data and a storage device configured to store second data. The apparatus further includes a processor coupled via a communication path to the storage device. The processor is configured to access the cache memory during processing of the I/O traffic or the network traffic. The processor is further configured to perform one or more access operations at the storage device based on the I/O traffic or the network traffic. The communication path is distinct from the I/O channel.
    Type: Grant
    Filed: February 23, 2017
    Date of Patent: November 7, 2017
    Assignee: LS CLOUD STORAGE TECHNOLOGIES, LLC
    Inventor: Ilya Gertner
  • Patent number: 9805048
    Abstract: Implementations described and claimed herein provide systems and methods for allocating and managing resources for a deduplication table. In one implementation, an upper limit to an amount of memory allocated to a deduplication table is established. The deduplication table has one or more checksum entries, and each checksum entry is associates a checksum with unique data. A new checksum entry corresponding to new unique data is prevented from being added to the deduplication table where adding the new checksum entry will cause the deduplication table to exceed a size limit. The new unique data has a checksum that is different from the checksums in the one or more checksum entries in the deduplication table.
    Type: Grant
    Filed: October 18, 2012
    Date of Patent: October 31, 2017
    Assignee: Oracle International Corporation
    Inventors: Lisa Week, Mark Maybee
  • Patent number: 9785589
    Abstract: An integrated circuit device includes a transmitter circuit operable to transmit a timing signal over a first wire to a DRAM. The DRAM receives a first signal having a balanced number of logical zero-to-one transitions and one-to-zero transitions and samples the first signal at a rising edge of the timing signal to produce a respective sampled value. The device further includes a receiver circuit to receive the respective sampled value from the DRAM over a plurality of wires separate from the first wire. In a first mode, the transmitter circuit repeatedly transmits incrementally offset versions of the timing signal to the DRAM until sampled values received from the DRAM change from a logical zero to a logical one or vice versa; and in a second mode, it transmits write data over the plurality of wires to the DRAM according to a write timing offset generated based on the sampled values.
    Type: Grant
    Filed: July 29, 2016
    Date of Patent: October 10, 2017
    Assignee: Rambus Inc.
    Inventors: Jared LeVan Zerbe, Kevin S. Donnelly, Stefanos Sidiropoulos, Donald C. Stark, Mark A. Horowitz, Leung Yu, Roxanne Vu, Jun Kim, Bruno W. Garlepp, Tsyr-Chyang Ho, Benedict Chung-Kwong Lau
  • Patent number: 9779092
    Abstract: A technique for maintaining consistency between a data object and references to the object in a file. An indication that a source object has changed is received. One or more of the changes made to the source object are identified. A file comprising one or more references related to the source object is analyzed to identify those references that may be inconsistent with the changes made to the source object.
    Type: Grant
    Filed: November 11, 2010
    Date of Patent: October 3, 2017
    Assignee: International Business Machines Corporation
    Inventors: Nigel Daniels, Doina L. Klinger
  • Patent number: 9772950
    Abstract: Technologies are generally described for methods and systems effective to maintain coherence in a multi-core processor on a die. In an example, a method for processing a request for a particular block in a particular region may include analyzing, by a first processor, a first cache to determine whether there is a block indicator in the first cache associated with the particular block. The method may further include when the first processor determines that the block indicator is not present in the first cache, analyzing, by the first processor, the first cache to determine whether there is a region indicator associated with the particular region. The method may further include when the first processor determines that the region indicator is not present in the first cache, the method further includes sending, by the first processor, the request to the directory in the tile.
    Type: Grant
    Filed: October 25, 2012
    Date of Patent: September 26, 2017
    Assignee: EMPIRE TECHNOLOGY DEVELOPMENT LLC
    Inventor: Yan Solihin
  • Patent number: 9760498
    Abstract: An electronic system for multiple agents, both coherent and non-coherent, to communicate with a hybrid cache, the hybrid cache to provide functionality associated with a cache for coherent agents in an outer shareable domain, and to provide functionality associated with a cache for non-coherent agents in a system shareable domain, the functionality provided by tag fields in cache lines stored in the hybrid cache. The tag fields are configured to indicate if a cache line of the hybrid cache belongs to at least one of a logical coherent cache or a logical system cache.
    Type: Grant
    Filed: September 26, 2014
    Date of Patent: September 12, 2017
    Assignee: QUALCOMM Incorporated
    Inventor: Laurent Rene Moll
  • Patent number: 9760430
    Abstract: A solid-state drive (SSD) may not include a dynamic random access memory (DRAM) but rather may utilize a host memory buffer of system random access memory (RAM). During a power failure data on dirty cache lines may be lost. A power protection caching policy may be implemented where an SSD controller is capable of accepting a flush cache signal, which may be a signal to a redefined pin of the SSD or a command, from a controller of the information handling system. The controller may utilize a slope detect mechanism and/or a power good detect mechanism to detect a power failure and if a power failure is detected to issue a flush cache signal the SSD controller to cause a flush of all dirty cache lines from the host memory buffer before the power failure results in inoperability of circuitry associated with the dirty cache lines.
    Type: Grant
    Filed: August 28, 2015
    Date of Patent: September 12, 2017
    Assignee: Dell Products L.P.
    Inventors: Munif Mohammed Farhan, Lawrence Edward Knepper
  • Patent number: 9747199
    Abstract: Data storage using application storage analytics that: (i) runs a set of application(s) that use a thin provision data storage device for data storage; (ii) determines a set of runtime behavior(s) of the set of applications(s) with respect to use of the thin provisioning data storage device for data storage; and (iii) calculates a runtime representation capacity based on a predetermined over-provisioning ratio and the set of runtime behavior(s).
    Type: Grant
    Filed: August 11, 2016
    Date of Patent: August 29, 2017
    Assignee: International Business Machines Corporation
    Inventors: Sandeep R. Patil, Riyazahamad M. Shiraguppi, Gandhi Sivakumar, Matthew B. Trevathan
  • Patent number: 9740617
    Abstract: Methods and apparatuses to control cache line coherence are described. A hardware processor may include a first processor core with a cache to store a cache line, a second set of processor cores that each include a cache to store a copy of the cache line, and cache coherence logic to aggregate in a tag directory an acknowledgment message from each of the second set of processor cores in response to a request from the first processor core to modify the copy of the cache line in each of the second set of processor cores and send a consolidated acknowledgment message to the first processor core.
    Type: Grant
    Filed: December 23, 2014
    Date of Patent: August 22, 2017
    Assignee: Intel Corporation
    Inventors: Samantika Sury, Simon Steely, Jr., William Hasenplaugh, Joel Emer, David Webb
  • Patent number: 9740629
    Abstract: According to embodiments of the present disclosure, a method for invalidating an address translation entry in an effective address to real address translation table (ERAT) for a computer memory can include receiving a first invalidation request. According to some embodiments, the method may also include determining that a first entry in the ERAT corresponds with the first invalidation request, wherein the ERAT has a plurality of entries, each entry in the plurality of entries having an indicator. In particular embodiments, the method may then determine that a first indicator associated with the first entry indicates that the first entry is not being used by any of a plurality of memory access entities (MAE), wherein a first MAE can concurrently use a same entry as a second MAE. The first entry may then be invalidated in response to determining that the first entry is not being used.
    Type: Grant
    Filed: December 19, 2014
    Date of Patent: August 22, 2017
    Assignee: International Business Machines Corporation
    Inventors: Bartholomew Blaner, Jay G. Heaslip, Kenneth A. Lauricella, Jeffrey A. Stuecheli
  • Patent number: 9727464
    Abstract: A computer system comprising multiple nodes, each node comprising a plurality of processors and a local cache hierarchy, suppresses local cache coherency of a node operations or global cache coherency operations between nodes based on the coherency request being a global or local request, and the state of the cache line at the node.
    Type: Grant
    Filed: November 20, 2014
    Date of Patent: August 8, 2017
    Assignee: INTERNATIONAL BUSINESS MACHINES CORPORATION
    Inventors: Garrett Michael Drapala, William J Lewis, Pak-kin Mak, Robert J Sonnelitter, III
  • Patent number: 9727483
    Abstract: According to embodiments of the present disclosure, a method for invalidating an address translation entry in an effective address to real address translation table (ERAT) for a computer memory can include receiving a first invalidation request. According to some embodiments, the method may also include determining that a first entry in the ERAT corresponds with the first invalidation request, wherein the ERAT has a plurality of entries, each entry in the plurality of entries having an indicator. In particular embodiments, the method may then determine that a first indicator associated with the first entry indicates that the first entry is not being used by any of a plurality of memory access entities (MAE), wherein a first MAE can concurrently use a same entry as a second MAE. The first entry may then be invalidated in response to determining that the first entry is not being used.
    Type: Grant
    Filed: June 1, 2015
    Date of Patent: August 8, 2017
    Assignee: International Business Machines Corporation
    Inventors: Bartholomew Blaner, Jay G. Heaslip, Kenneth A. Lauricella, Jeffrey A. Stuecheli
  • Patent number: 9727600
    Abstract: A data consistency management system may include a memory storing machine readable instructions to receive a query, and determine a suitability of the query for processing by a NoSQL data store, or a RDBMS. The memory may further include machine readable instructions to rank data tables based on a combination of read queries and query patterns suitable for the NoSQL data store. Based on the ranking, the memory may further include machine readable instructions to determine data tables that are to be managed by the NoSQL data store, or by the RDBMS, determine whether the query is for a data table managed by the NoSQL data store, and based on a determination that the query is for a data table managed by the NoSQL data store, translate the query to NoSQL API calls for using the NoSQL data store to respond to the query.
    Type: Grant
    Filed: July 6, 2015
    Date of Patent: August 8, 2017
    Assignee: ACCENTURE GLOBAL SERVICES LIMITED
    Inventors: Chen Fu, Sugi Venugeethan, Kunal Taneja
  • Patent number: 9720982
    Abstract: A method for natural language search for variables is provided. The method may include searching an index using key words from a user's natural language question and the context of the user's question. The index may reference variables and/or web service calls in a domain model. The method may also include saving documents obtained in response to the search. The method may also include mapping each of the documents as a node into an object graph. Each node may be associated with a parent node, except when the node is a root node. The method may also include identifying the root node of each document. The method may also include identifying the path of each node from the node to the node's root node. The method may also include identifying matching paths. Each matching path may provide an answer to the user's question.
    Type: Grant
    Filed: July 26, 2016
    Date of Patent: August 1, 2017
    Assignee: Bank of America Corporation
    Inventors: Viju Kothuvatiparambil, Ramakrishna R. Yannam
  • Patent number: 9720833
    Abstract: A computer system comprising multiple nodes, each node comprising a plurality of processors and a local cache hierarchy, suppresses local cache coherency of a node operations or global cache coherency operations between nodes based on the coherency request being a global or local request, and the state of the cache line at the node.
    Type: Grant
    Filed: August 3, 2015
    Date of Patent: August 1, 2017
    Assignee: INTERNATIONAL BUSINESS MACHINES CORPORATION
    Inventors: Garrett Michael Drapala, William J Lewis, Pak-kin Mak, Robert J Sonnelitter, III
  • Patent number: 9703712
    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: Grant
    Filed: December 27, 2014
    Date of Patent: July 11, 2017
    Assignee: Intel Corporation
    Inventors: Robert H. Beers, Ching-Tsun Chou, Robert J. Safranek, James Vash
  • Patent number: 9697124
    Abstract: A dynamic cache extension in a multi-cluster heterogeneous processor architecture is described. One embodiment is a system comprising a first processor cluster having a first level two (L2) cache and a second processor cluster having a second L2 cache. The system further comprises a controller in communication with the first and second L2 caches. The controller receives a processor workload input and a cache workload input from the first processor cluster. Based on processor workload input and the cache workload input, the cache controller determines whether a current task associated with the first processor cluster is limited by a size threshold of the first L2 cache or a performance threshold of the first processor cluster. If the current task is limited by the size threshold of the first L2 cache, the controller uses at least a portion of the second L2 cache as an extension of the first L2 cache.
    Type: Grant
    Filed: January 13, 2015
    Date of Patent: July 4, 2017
    Assignee: QUALCOMM Incorporated
    Inventors: Hee Jun Park, Krishna Vsssr Vanka, Sravan Kumar Ambapuram, Shirish Kumar Agarwal, Ashvinkumar Namjoshi, Harshad Bhutada
  • Patent number: 9699017
    Abstract: A storage client and a quorum-based distributed storage system may implement dynamic utilization of bandwidth for a quorum-based distributed storage system. An update at a storage client may be received, and storage nodes of a protection group may be sent a write request indicating the update. In some embodiment, storage nodes that receive the write request may determine whether other storage nodes have not received the update and send the write request to be completed at those other storage nodes. In some embodiments, if a latency threshold is exceeded other storage nodes in the protection group not previously sent the write request may be identified and sent the write request. Based on acknowledgements received from storage nodes in the distributed storage system, it may be determined whether a write quorum requirement is met for a write request.
    Type: Grant
    Filed: September 25, 2013
    Date of Patent: July 4, 2017
    Assignee: Amazon Technologies, Inc.
    Inventors: Anurag Windlass Gupta, Pradeep Jnana Madhavarapu, Samuel James McKelvie, Yan Valerie Leshinsky
  • Patent number: 9691492
    Abstract: A predetermined pattern of bits is written to a non-volatile memory device prior to powering down the non-volatile memory device. A plurality of voltages are applied to the non-volatile memory device to determine which voltage of the plurality of voltages allows the predetermined pattern of bits to be read with a least amount of error. The determined voltage is set to be a demarcation voltage for reading from the non-volatile memory device.
    Type: Grant
    Filed: September 29, 2016
    Date of Patent: June 27, 2017
    Assignee: INTEL CORPORATION
    Inventors: Bruce Querbach, Zion S. Kwok, Christopher F. Connor, Philip Hillier, Jeffrey W. Ryden
  • Patent number: 9684595
    Abstract: A method for determining an inclusion policy includes determining a ratio of a capacity of a large cache to a capacity of a core cache in a cache subsystem of a processor and selecting an inclusive policy as the inclusion policy for the cache subsystem in response to the cache ratio exceeding an inclusion threshold. The method may further include selecting a non-inclusive policy in response to the cache ratio not exceeding the inclusion threshold and, responsive to a cache transaction resulting in a cache miss, performing an inclusion operation that invokes the inclusion policy.
    Type: Grant
    Filed: May 24, 2016
    Date of Patent: June 20, 2017
    Assignee: Intel Corporation
    Inventors: Larisa Novakovsky, Joseph Nuzman, Alexander Gendler
  • Patent number: 9672266
    Abstract: Methods of conducting database transactions. One such method comprises receiving data to be written to a database; identifying a set of shard replicas corresponding to the database to which the data is to be written; transmitting, to each of the replicas in the set, a request to write the data thereto; receiving votes back from the replicas in the set, each vote representing whether the respective replica commits to a writing of the data thereto; determining whether to commit to the writing of the data to the database according to whether a majority of the replicas of every shard having replicas in the set has transmitted a vote committing to the writing of the data thereto; and transmitting an outcome of the determining to each of the replicas in the set.
    Type: Grant
    Filed: March 14, 2014
    Date of Patent: June 6, 2017
    Assignee: Neo Technology, Inc.
    Inventors: James Webber, Ian S. Robinson, Mats Tobias Lindaaker, Alistair Philip Campbell Jones
  • Patent number: 9661561
    Abstract: In a wireless network discovery operation, before a WiFi station sends a network probe request in a WiFi network to request for network information it needs to connect to an access point, it first listens to communications on a current channel of the WiFi network for a preset period of time. When the WiFi station receives on the current channel a network probe request message sent by another WiFi station, it further delays sending the first network probe request by a second time period, in anticipation of some signals from the access point. If during the second time period a network discovery message from the access point, such as a probe response or a beacon message, is detected and that message contains the network information needed, the WiFi station cancels the sending of its probe request. Otherwise, the WiFi station sends its probe request after the second time period expires.
    Type: Grant
    Filed: October 24, 2014
    Date of Patent: May 23, 2017
    Assignee: HUAWEI DEVICE CO., LTD.
    Inventor: Guiming Shu
  • Patent number: 9652404
    Abstract: This invention optimizes non-shared accesses and avoids dependencies across coherent endpoints to ensure bandwidth across the system even when sharing. The coherence controller is distributed across all coherent endpoints. The coherence controller for each memory endpoint keeps a state around for each coherent access to ensure the proper ordering of events. The coherence controller of this invention uses First-In-First-Out allocation to ensure full utilization of the resources before stalling and simplicity of implementation. The coherence controller provides Snoop Command/Response ID Allocation per memory endpoint.
    Type: Grant
    Filed: February 18, 2016
    Date of Patent: May 16, 2017
    Assignee: TEXAS INSTRUMENTS INCORPORATED
    Inventors: Matthew D. Pierson, Kai Chirca
  • Patent number: 9632958
    Abstract: A system for migrating stash transactions includes first and second cores, an input/output memory management unit (IOMMU), an IOMMU mapping table, an input/output (I/O) device, a stash transaction migration management unit (STMMU), a queue manager and an operating system (OS) scheduler. The I/O device generates a first stash transaction request for a first data frame. The queue manager stores the first stash transaction request. When the first core executes a first thread, the queue manager stashes the first data frame to the first core by way of the IOMMU. The OS scheduler migrates the first thread from the first core to the second core and generates pre-empt notifiers. The STMMU uses the pre-empt notifiers to update the IOMMU mapping table and generate a stash replay command. The queue manager receives the stash replay command and stashes the first data frame to the second core.
    Type: Grant
    Filed: July 6, 2014
    Date of Patent: April 25, 2017
    Assignee: FREESCALE SEMICONDUCTOR, INC.
    Inventors: Yashpal Dutta, Himanshu Goel, Varun Sethi
  • Patent number: 9621668
    Abstract: The present application is directed towards invalidating (also referred to as poisoning) ASDR table entries that are determined to be inaccurate because of changes to a multi-node system. For example, when a node leaves or enters a multi-node system, the ownership of the entries in the ASDR table can change thus invalidating cached and replica entries. More specifically, the system and methods disclosed herein include searching an ASDR table for cached entries responsive to the system determining the multi-node system has changed. After finding a cached entry, the system may determine if the entry should be poisoned. The decision to poison the entry may be responsive to the creation time of the entry, the time when the change to the multi-node system occurred, and in the case of a replica, the owner of the replica's position in a replication chain relative to source of the replica.
    Type: Grant
    Filed: April 4, 2014
    Date of Patent: April 11, 2017
    Assignee: CITRIX SYSTEMS, INC.
    Inventors: Sandeep Kamath, Mahesh Arumugam, Anil Shetty, Gopinath Sikha, Jaidev Sridhar
  • Patent number: 9607120
    Abstract: A method and apparatus are provided for implementing system irritator accelerator field programmable gate array (FPGA) Units (AFUs) residing behind a Coherent Attached Processors Interface (CAPI) unit in a computer system. An AFU is implemented in an FPGA residing behind the CAPI unit, the AFU includes a system irritator accelerator. A processor configures the AFU and enables the AFU system irritator to execute. The AFU system irritator is replicated to create additional irritation and is re-programmable.
    Type: Grant
    Filed: December 30, 2014
    Date of Patent: March 28, 2017
    Assignee: International Business Machines Corporation
    Inventors: Jason D. Greenwood, Steven D. McJunkin, Paul E. Schardt, Nathaniel K. Tuen
  • Patent number: 9608842
    Abstract: An embodiment may include circuitry that may provide, at least in part, at least one indication that at least one portion of data is available for processing by at least one data processor. The at least one indication may be provided, at least in part, prior to the entirety of the at least one portion of the data being available for the processing by the at least one data processor. The at least one data processor may begin the processing in response, at least in part, to the at least one indication. Many alternatives, variations, and modifications are possible.
    Type: Grant
    Filed: December 13, 2013
    Date of Patent: March 28, 2017
    Assignee: Intel Corporation
    Inventors: Ygdal Naouri, Ronen Chayat, Ben-Zion Friedman, Parthasarathy Sarangam, Anil Vasudevan, Alain Gravel
  • Patent number: 9600618
    Abstract: A method and apparatus are provided for implementing system irritator accelerator field programmable gate array (FPGA) Units (AFUs) residing behind a Coherent Attached Processors Interface (CAPI) unit in a computer system. An AFU is implemented in an FPGA residing behind the CAPI unit, the AFU includes a system irritator accelerator. A processor configures the AFU and enables the AFU system irritator to execute. The AFU system irritator is replicated to create additional irritation and is re-programmable.
    Type: Grant
    Filed: April 27, 2015
    Date of Patent: March 21, 2017
    Assignee: International Business Machines Corporation
    Inventors: Jason D. Greenwood, Steven D. McJunkin, Paul E. Schardt, Nathaniel K. Tuen
  • Patent number: 9596004
    Abstract: A method and a system for communicating personal health data in a Near Field Communication (NFC) environment are provided. An NFC manager sets control information in an NFC Data Exchange Format (NDEF) for providing synchronized communication of personal health data between the NFC manager and an NFC agent. The control information may include a direction flag, a state flag, sequence identifier field, and request/response flag. The NFC manager writes the NDEF format including the control information and payload data into an NFC tag associated with the NFC agent. Subsequently, the NFC manager reads the NDEF record stored in the NFC tag and determines whether the NDEF record is written into the NFC tag by the NFC agent based on the control information in the read NDEF format. Accordingly, the NFC manager repeats the above mentioned steps if the NDEF record includes payload data of the NFC agent.
    Type: Grant
    Filed: March 28, 2014
    Date of Patent: March 14, 2017
    Assignee: Samsung Electronics Co., Ltd.
    Inventors: Jayabharath Reddy Badvel, Thenmozhi Arunan, Eun-Tae Won
  • Patent number: 9588894
    Abstract: A method to merge one or more non-transactional stores and one or more thread-specific transactional stores into one or more cache line templates in a store buffer in a store cache. The method receives a thread-specific non-transactional store address and a first data, maps the store address to a first cache line template, and merges the first data into the first cache line template, according to a store policy. The method further receives a thread-specific transactional store address and a second data, maps the thread-specific store address into a second cache line template, according to a store policy. The method further writes back a copy of a cache line template to a cache and invalidates a third cache line template, which frees the third cache line template from a store address mapping.
    Type: Grant
    Filed: December 22, 2014
    Date of Patent: March 7, 2017
    Assignee: International Business Machines Corporation
    Inventors: Uwe Brandt, Willm Hinrichs, Walter Lipponer, Martin Recktenwald, Hans-Werner Tast
  • Patent number: 9589005
    Abstract: At least first nodes and second nodes of a decision tree are stored within a memory of an information handling system. The first nodes include a first parent node and first remaining nodes that descend from the first parent node. The second nodes include a second parent node and second remaining nodes that descend from the second parent node. The first nodes are grouped into a first packed node stored in first physically contiguous locations of the memory. The first nodes are sequenced in the first physically contiguous locations according to respective depth levels of the first nodes within the decision tree. The second nodes are grouped into a second packed node stored in second physically contiguous locations of the memory. The second nodes are sequenced in the second physically contiguous locations according to respective depth levels of the second nodes within the decision tree.
    Type: Grant
    Filed: April 4, 2012
    Date of Patent: March 7, 2017
    Assignee: TEXAS INSTRUMENTS INCORPORATED
    Inventor: Goksel Dedeoglu
  • Patent number: 9588893
    Abstract: A method to merge one or more non-transactional stores and one or more thread-specific transactional stores into one or more cache line templates in a store buffer in a store cache. The method receives a thread-specific non-transactional store address and a first data, maps the store address to a first cache line template, and merges the first data into the first cache line template, according to a store policy. The method further receives a thread-specific transactional store address and a second data, maps the thread-specific store address into a second cache line template, according to a store policy. The method further writes back a copy of a cache line template to a cache and invalidates a third cache line template, which frees the third cache line template from a store address mapping.
    Type: Grant
    Filed: November 10, 2014
    Date of Patent: March 7, 2017
    Assignee: International Business Machines Corporation
    Inventors: Uwe Brandt, Willm Hinrichs, Walter Lipponer, Martin Recktenwald, Hans-Werner Tast
  • Patent number: 9588889
    Abstract: Method and apparatus to efficiently maintain cache coherency by reading/writing a domain state field associated with a tag entry within a cache tag directory. A value may be assigned to a domain state field of a tag entry in a cache tag directory. The cache tag directory may belong to a hierarchy of cache tag directories. Each tag entry may be associated with a cache line from a cache belonging to a first domain. The first domain may contain multiple caches. The value of the domain state field may indicate whether its associated cache line can be read or changed.
    Type: Grant
    Filed: December 29, 2011
    Date of Patent: March 7, 2017
    Assignee: INTEL CORPORATION
    Inventors: Simon C. Steely, Jr., William C. Hasenplaugh, Joel S. Emer
  • Patent number: 9582559
    Abstract: One or more processing platforms are configured to implement at least a first site of a multi-site storage system. The first site comprises a first file system resident at the first site, and a replicated version of a second file system. The second file system is resident at a second site of the multi-site storage system, and the replicated version of the second file system is resident at the first site. Virtual block storage appliances running on respective virtual machines of the first site interact with one another and with similar appliances at the second site to allow the replicated version of the second file system to be synchronized at a cache level with the second file system, and to allow a replicated version of the first file system at the second site to be synchronized at a cache level with the first file system at the first site.
    Type: Grant
    Filed: June 29, 2012
    Date of Patent: February 28, 2017
    Assignee: EMC IP Holding Company LLC
    Inventors: Sorin Faibish, John Bent
  • Patent number: 9575815
    Abstract: In a multithreaded data processing system including a plurality of processor cores, storage-modifying requests of a plurality of concurrently executing hardware threads are received in a shared queue. The storage-modifying requests include a translation invalidation request of an initiating hardware thread. The translation invalidation request is removed from the shared queue and buffered in sidecar logic in one of a plurality of sidecars each associated with a respective one of the plurality of hardware threads. While the translation invalidation request is buffered in the sidecar, the sidecar logic broadcasts the translation invalidation request so that it is received and processed by the plurality of processor cores. In response to confirmation of completion of processing of the translation invalidation request by the initiating processor core, the sidecar logic removes the translation invalidation request from the sidecar.
    Type: Grant
    Filed: December 22, 2015
    Date of Patent: February 21, 2017
    Assignee: International Business Machines Corporation
    Inventors: Guy L. Guthrie, Hugh Shen, Derek E. Williams
  • Patent number: 9575665
    Abstract: A graphics display system integrated circuit is used in a set-top box for controlling a television display. The graphics display system processes analog video input, digital video input, and graphics input. The system incorporates a unified memory architecture that is shared by the graphics system, a CPU, and other peripherals. The unified memory architecture uses real time scheduling to service tasks. Critical instant analysis is used to find a schedule for memory usage that does not affect memory requirements of real time tasks while at the same time servicing non-real-time tasks as needed.
    Type: Grant
    Filed: July 2, 2015
    Date of Patent: February 21, 2017
    Assignee: BROADCOM CORPORATION
    Inventors: Alexander G. MacInnis, Chengfuh Tang, Xiaodong Xie, James T. Patterson, Greg A. Kranawetter
  • Patent number: 9558116
    Abstract: A coherence decoupling buffer. In accordance with a first embodiment, a coherence decoupling buffer is for storing tag information of cache lines evicted from a plurality of cache memories. A coherence decoupling buffer may be free of value information of the plurality of cache memories. A coherence decoupling buffer may also be combined with a coherence memory.
    Type: Grant
    Filed: June 3, 2014
    Date of Patent: January 31, 2017
    Assignee: Intellectual Ventures Holding 81 LLC
    Inventor: Guillermo J. Rozas
  • Patent number: 9552294
    Abstract: The described embodiments include a main memory and a cache memory (or “cache”) with a cache controller that includes a mode-setting mechanism. In some embodiments, the mode-setting mechanism is configured to dynamically determine an access pattern for the main memory. Based on the determined access pattern, the mode-setting mechanism configures at least one region of the main memory in a write-back mode and configures other regions of the main memory in a write-through mode. In these embodiments, when performing a write operation in the cache memory, the cache controller determines whether a region in the main memory where the cache block is from is configured in the write-back mode or the write-through mode and then performs a corresponding write operation in the cache memory.
    Type: Grant
    Filed: January 7, 2013
    Date of Patent: January 24, 2017
    Assignee: ADVANCED MICRO DEVICES, INC.
    Inventors: Jaewoong Sim, Mithuna S. Thottethodi, Gabriel H. Loh
  • Patent number: 9547596
    Abstract: A data processing apparatus forms a portion of a coherent cache system and has a master device for performing data processing operations including a wait for event operation causing the master device to enter a power saving mode. A cache stores data values for access by the master device when performing the data processing operations. Coherency handling circuitry is responsive to a coherency request from another portion of the coherent cache system, to detect whether a data value identified by the coherency request is present in the cache, and if so, to cause a coherency action to be taken in respect of that data value stored in the cache. Wake event circuitry issues a wake event to the master device if the coherency action is taken, and the master device exits the power saving mode.
    Type: Grant
    Filed: December 24, 2009
    Date of Patent: January 17, 2017
    Assignee: ARM Limited
    Inventor: Simon John Craske
  • Patent number: 9547496
    Abstract: A processor is described herein that is configured to switch between a first instruction issue mode of the processor and a second instruction issue mode of the processor based at least in part on a characteristic associated with a plurality of instructions. The first instruction issue mode and the second instruction issue mode are associated with different energy consumption characteristics. Also, the first instruction issue mode may be an out-of-order instruction issue mode and the second instruction issue mode may be an in-order instruction issue mode.
    Type: Grant
    Filed: November 7, 2013
    Date of Patent: January 17, 2017
    Assignee: Microsoft Technology Licensing, LLC
    Inventors: Douglas C. Burger, Aaron L. Smith
  • Patent number: 9542313
    Abstract: A parallel computer system includes information processing devices, each of the information processing devices including a communication control device that performs communication, a main memory that stores data, and an arithmetic processing device that is coupled to the communication control device and the main memory, the information processing devices being coupled to each other through a network by the respective communication control device, wherein the arithmetic processing device includes a cache memory and a cache controller, the cache controller that executes an atomic operation for target data on the cache memory that stores the target data when the communication control device outputs an atomic operation request that is used to request the atomic operation, the atomic operation being not divided into a smaller operation, and notifies the communication control device of a result that is obtained by executing the atomic operation on the cache memory.
    Type: Grant
    Filed: November 13, 2014
    Date of Patent: January 10, 2017
    Assignee: FUJITSU LIMITED
    Inventors: Shinya Hiramoto, Tomohiro Inoue, Masahiro Maeda, Shun Ando, Yuta Toyoda
  • Patent number: 9535848
    Abstract: Example implementations of the present disclosure are directed to handling the eviction of a conflicting cuckoo entry while reducing performance degradation resulting. In example implementations, when an address is replacing another address, the evicted address does not necessarily map to the same places as the new address. Example implementations attempt to conduct a run through of the cache coherent directory with the new entry such that the evicted address can find an empty entry in the directory and fill the empty entry.
    Type: Grant
    Filed: June 18, 2014
    Date of Patent: January 3, 2017
    Assignee: NetSpeed Systems
    Inventors: Joe Rowlands, Sailesh Kumar
  • Patent number: 9529722
    Abstract: A locality associated with a read request is identified based at least in part on a read address included in the read request. A predicted read address is generated based at least in part on the locality. It is decided whether to permit the predicted read address to be prefetched; in the event it is decided to permit the predicted read address to be prefetched, data from the predicted read address is prefetched and the prefetched data is stored in a prefetch cache.
    Type: Grant
    Filed: July 9, 2015
    Date of Patent: December 27, 2016
    Assignee: SK hynix memory solutions Inc.
    Inventors: Xiangyu Tang, Jason Bellorado, Lingqi Zeng, Zheng Wu, Arunkumar Subramanian
  • Patent number: 9513960
    Abstract: In a transactional memory environment, a computer-implemented method includes a first processor initiating a first transaction and encountering an abort condition. Responsive to the abort condition, an abort other request is communicated between the first processor and one or more additional processors. The one or more additional processors receive the abort other request, and, responsive to the abort other request, the one or more additional processors selectively abort a current second transaction based on the abort other request and an abort other condition. Optionally, the transactional memory environment supports a transaction category scheme, whereby each transaction has associated therewith a category identifier. In such embodiments, the abort other request includes an abort category identifier, and the abort other condition includes aborting the current second transaction if the abort category identifier matches the category identifier for the current second transaction.
    Type: Grant
    Filed: September 22, 2015
    Date of Patent: December 6, 2016
    Assignee: International Business Machines Corporation
    Inventors: Fadi Y. Busaba, Valentina Salapura, Chung-Lung K. Shum
  • Patent number: 9513959
    Abstract: A hardware transactional memory 12, 14, 16, 18, 20 is provided within a multiprocessor 4, 6, 8, 10 system with coherency control and hardware transaction memory control circuitry 22 that serves to at least partially manage the scheduling of processing transactions in dependence upon conflict data 26, 28, 30. The conflict data characterizes previously encountered conflicts between processing transactions. The scheduling is performed such that a candidate processing transaction will not be scheduled if the conflict data indicates that one of the already running processing transactions has previously conflicted with the candidate processing transaction.
    Type: Grant
    Filed: April 24, 2008
    Date of Patent: December 6, 2016
    Assignees: ARM Limited, The Regents of the University of Michigan
    Inventors: Stuart David Biles, Geoffrey Blake, Trevor Nigel Mudge
  • Patent number: 9514048
    Abstract: In a transactional memory environment, a computer-implemented method includes a first processor initiating a first transaction and encountering an abort condition. Responsive to the abort condition, an abort other request is communicated between the first processor and one or more additional processors. The one or more additional processors receive the abort other request, and, responsive to the abort other request, the one or more additional processors selectively abort a current second transaction based on the abort other request and an abort other condition. Optionally, the transactional memory environment supports a transaction category scheme, whereby each transaction has associated therewith a category identifier. In such embodiments, the abort other request includes an abort category identifier, and the abort other condition includes aborting the current second transaction if the abort category identifier matches the category identifier for the current second transaction.
    Type: Grant
    Filed: November 9, 2015
    Date of Patent: December 6, 2016
    Assignee: International Business Machines Corporation
    Inventors: Fadi Y. Busaba, Valentina Salapura, Chung-Lung K. Shum
  • Patent number: 9501425
    Abstract: Each of multiple translation lookaside buffers (TLBs) is associated with a corresponding processing element. A first TLB invalidation (TLBI) instruction is issued at a first processing element, and sent to a second processing element. An element-specific synchronization instruction is issued at the first processing element. A synchronization command is broadcast, and received at the second processing element. The element-specific synchronization instruction prevents issuance of additional TLBI instructions at the first processing element until an acknowledgement in response to the synchronization command is received at the first processing element.
    Type: Grant
    Filed: November 14, 2014
    Date of Patent: November 22, 2016
    Assignee: Cavium, Inc.
    Inventors: Shubhendu S. Mukherjee, David Asher, Mike Bertone, Bradley Dobbie, Thomas Hummel
  • Patent number: 9501408
    Abstract: A method of testing cache coherency in a computer system design allocates different portions of a single cache line for use by accelerators and processors. The different portions of the cache line can have different sizes, and the processors and accelerators can operate in the simulation at different frequencies. The verification system can control execution of the instructions to invoke different modes of the coherency mechanism such as direct memory access or cache intervention. The invention provides a further opportunity to test any accelerator having an original function and an inverse function by allocating cache lines to generate an original function output, allocating cache lines to generate an inverse function output based on the original function output, and verifying correctness of the original and inverse functions by comparing the inverse function output to the original function input.
    Type: Grant
    Filed: February 19, 2013
    Date of Patent: November 22, 2016
    Assignee: GlobalFoundries Inc.
    Inventors: Manoj Dusanapudi, Sairam Kamaraju, Shakti Kapoor
  • Patent number: 9497268
    Abstract: Method and device for data transmissions using RDMA. The present invention is implemented between a first entity using a first data structure type and a second entity using a second data structure type over a third entity. The third entity is coupled to a table caching fingerprints of first data structures of the first data structure type and second data structures of the second data structure type associated therewith. A certain first data structure and the second data structure associated therewith represent a certain, identical RDMA function call. A first data structure representing a certain RDMA function call is sent from the first entity to the third entity; the fingerprint for the sent first data structure is determined; a second data structure associated with the determined fingerprint is looked up in the table; and the looked up second data structure is sent to the second entity.
    Type: Grant
    Filed: January 28, 2014
    Date of Patent: November 15, 2016
    Assignee: INTERNATIONAL BUSINESS MACHINES CORPORATION
    Inventors: Bernard Metzler, Patrick Stuedi, Animesh Kumar Trivedi