Access Control Bit Patents (Class 711/145)
  • Patent number: 7698504
    Abstract: Embodiments of the present invention provide a system that marks cache lines using shared timestamps. During operation, the system starts a transaction for a thread, wherein starting the transaction involves recording the value of an active timestamp and incrementing a transaction or overflow counter (TO_counter) corresponding to the recorded value. The system then places load-marks on cache lines which are loaded during the transaction. While placing the load-marks, the system writes the recorded value into metadata corresponding to the cache lines. Upon completing the transaction for the thread, the system decrements the TO_counter corresponding to the recorded value and resumes non-transactional execution for the thread without removing the load-marks from cache lines which were load-marked during the transaction.
    Type: Grant
    Filed: July 3, 2007
    Date of Patent: April 13, 2010
    Assignee: Oracle America, Inc.
    Inventors: Robert E. Cypher, Shailender Chaudhry
  • Patent number: 7693883
    Abstract: A system to delete a data volume may include storage of a plurality of data pages of the data volume of a data area into a cache, prevention of writing of data pages to the data volume, and designation of each of the plurality of data pages in the cache as modified. The system may also include writing of all data pages in the cache that are designated as modified to a respective location in one or more other data volumes of the data area, and updating, for each of the written data pages, a converter page of the cache to associate the written data page with its respective location in the one or more other data volumes.
    Type: Grant
    Filed: January 30, 2006
    Date of Patent: April 6, 2010
    Assignee: SAP AG
    Inventors: Henrik Hempelmann, Torsten Strahl
  • Patent number: 7689776
    Abstract: Systems and methods for the implementation of more efficient cache locking mechanisms are disclosed. These systems and methods may alleviate the need to present both a virtual address (VA) and a physical address (PA) to a cache mechanism. A translation table is utilized to store both the address and the locking information associated with a virtual address, and this locking information is passed to the cache along with the address of the data. The cache can then lock data based on this information. Additionally, this locking information may be used to override the replacement mechanism used with the cache, thus keeping locked data in the cache. The translation table may also store translation table lock information such that entries in the translation table are locked as well.
    Type: Grant
    Filed: June 6, 2005
    Date of Patent: March 30, 2010
    Assignees: Kabushiki Kaisha Toshiba, International Business Machines Corporation
    Inventors: Takeki Osanai, Kimberly Fernsler
  • Patent number: 7689806
    Abstract: A method and system to indicate which page within a software-managed page table triggers an exception within a microprocessor, such as, for example, a digital signal processor, wherein a software-managed translation lookaside buffer (TLB) module receives a virtual address produced by an instruction within a Very Long Instruction Word (VLIW) packet, such as, for example, a fetch instruction, and further compares the virtual address to each stored TLB entry. If a match exists, then the TLB module outputs a corresponding mapped physical address for the instruction. Otherwise, if the VLIW packet spans two pages, where a first page is present as a TLB entry within the TLB module and the second page is missing from the stored TLB entries, an indication bit within a data field of a control register is set to identify the TLB miss exception to a software management unit.
    Type: Grant
    Filed: July 14, 2006
    Date of Patent: March 30, 2010
    Assignee: Q
    Inventors: Lucian Codrescu, Erich Plondke, Muhammad Ahmed, Vijaya Kumar Janjanam
  • Patent number: 7689777
    Abstract: A method and apparatus for enabling protection of a particular member of a cache during LRU victim selection. LRU state array includes additional “protection” bits in addition to the state bits. The protection bits serve as a pointer to identify the location of the member of the congruence class that is to be protected. A protected member is not removed from the cache during standard LRU victim selection, unless that member is invalid. The protection bits are pipelined to MRU update logic, where they are used to generate an MRU vector. The particular member identified by the MRU vector (and pointer) is protected from selection as the next LRU victim, unless the member is Invalid. The make MRU operation affects only the lower level LRU state bits arranged a tree-based structure and thus only negates the selection of the protected member, without affecting LRU victim selection of the other members.
    Type: Grant
    Filed: December 6, 2007
    Date of Patent: March 30, 2010
    Assignee: International Business Machines Corporation
    Inventors: Robert H. Bell, Jr., Guy Lynn Guthrie, William John Starke, Jeffrey Adam Stuecheli
  • Patent number: 7685373
    Abstract: A system and structure for snooping cache memories of several snooping masters connected to a bus macro, wherein each non-originating snooping master has a cache memory, and wherein some, but less than all the cache memories, may have the data requested by an originating snooping master and wherein the needed data in an non-originating snooping master is marked as updated, and wherein a main memory having addresses for all data is connected to the bus macro. Only those non-originating snooping masters which may have the requested data are queried. All the non-originating snooping masters that have been queried reply. If a non-originating snooping master has the requested data marked as updated, that non-originating snooping master returns the updated data to the originating snooping master and possibly to the main memory. If none of the non-originating snooping masters has the requested data marked as updated, then the requested data is read from main memory.
    Type: Grant
    Filed: January 8, 2008
    Date of Patent: March 23, 2010
    Assignee: International Business Machines Corporation
    Inventors: James N. Dieffenderfer, Bernard C. Drerup, Jaya P. Ganasan, Richard G. Hofmann, Thomas A. Sartorius, Thomas P. Speier, Barry J. Wolford
  • Patent number: 7676632
    Abstract: Systems and methods are disclosed for locking code in cache. A processor comprises a cache and a cache controller. The cache is configured to store a temporary copy of code residing in main memory. Also, the cache is divided into a number of cache ways, where each cache way is further divided into a number of cache way portions. The cache controller is configured to utilize a first signal and a second signal. The first signal designates one of the cache ways as a partial cache way and the second signal defines which ones of the cache way portions of the partial cache way are to be locked.
    Type: Grant
    Filed: September 6, 2006
    Date of Patent: March 9, 2010
    Assignee: VIA Technologies, Inc.
    Inventor: William V. Miller
  • Patent number: 7676637
    Abstract: In shared-memory multiprocessor systems, cache interventions from different sourcing caches can result in different cache intervention costs. With location-aware cache coherence, when a cache receives a data request, the cache can determine whether sourcing the data from the cache will result in less cache intervention cost than sourcing the data from another cache. The decision can be made based on appropriate information maintained in the cache or collected from snoop responses from other caches. If the requested data is found in more than one cache, the cache that has or likely has the lowest cache intervention cost is generally responsible for supplying the data. The intervention cost can be measured by performance metrics that include, but are not limited to, communication latency, bandwidth consumption, load balance, and power consumption.
    Type: Grant
    Filed: April 27, 2004
    Date of Patent: March 9, 2010
    Assignee: International Business Machines Corporation
    Inventors: Xiaowei Shen, Jaehyuk Huh, Balaram Sinharoy
  • Publication number: 20100057994
    Abstract: Device and method for controlling caches, comprising a decoder configured to decode additional information of datasets retrievable from a memory, wherein the decoded additional information is configured to control whether particular ones of the datasets are to be stored in a cache.
    Type: Application
    Filed: August 29, 2008
    Publication date: March 4, 2010
    Applicant: Infineon Technologies AG
    Inventor: Jens Barrenscheen
  • Patent number: 7664919
    Abstract: A cache system includes a data storage which stores the data, which a memory supplies, in memory regions that are identified by identification numbers. A management data storage stores a relation between the identification numbers and the addresses of data items stored or being stored in the data storage and stores validation information indicating whether the data storage stores the data items. A refill-processing unit designates a memory region in which the data of a new address supplied from a processor is to be stored and requests the memory to output the data of the new address. An inspection unit receives the identification number of the memory region designated, determines whether the validation information about the identification number of the memory region designated is valid, and requests the data storage to output the data stored in the memory region designated when the validation information is valid.
    Type: Grant
    Filed: June 2, 2006
    Date of Patent: February 16, 2010
    Assignee: Kabushiki Kaisha Toshiba
    Inventor: Hiroshi Miyazaki
  • Patent number: 7657888
    Abstract: A method is provided for increasing the efficiency of virtual machine processing. A parent virtual machine is provided on a host computer. The parent virtual machine is temporarily or permanently suspended. A child virtual machine is created at a new location by forking the parent virtual machine. The child virtual machine may not initially include all the stored data that is associated with the parent virtual machine.
    Type: Grant
    Filed: December 21, 2007
    Date of Patent: February 2, 2010
    Assignee: Microsoft Corporation
    Inventors: Eric P. Traut, Rene A. Vega
  • Patent number: 7653790
    Abstract: According to the present invention, methods and apparatus are provided for increasing the efficiency of data access in a multiple processor, multiple cluster system. A home cluster of processors receives a cache access request from a request cluster. The home cluster includes mechanisms for instructing probed remote clusters to respond to the request cluster instead of to the home cluster. The home cluster can also include mechanisms for reducing the number of probes sent to remote clusters. Techniques are also included for providing the requesting cluster with information to determine the number of responses to be transmitted to the requesting cluster as a result of the reduction in the number of probes sent at the home cluster.
    Type: Grant
    Filed: May 13, 2002
    Date of Patent: January 26, 2010
    Inventor: David B. Glasco
  • Patent number: 7653789
    Abstract: One embodiment of the present invention provides a system that reduces coherence traffic in a multiprocessor system by supporting both coherent memory accesses and non-coherent memory accesses. During operation, the system receives a request to perform a memory access. Next, the system obtains a page table entry (PTE) associated with the memory access. The system then determines if the memory access is coherent or non-coherent by examining an indicator in the PTE. If the memory access is coherent, the system performs the memory access using a coherence protocol. On the other hand, if the memory access is non-coherent, the system performs the memory access without generating coherence traffic.
    Type: Grant
    Filed: February 1, 2006
    Date of Patent: January 26, 2010
    Assignee: Sun Microsystems, Inc.
    Inventors: Gregory M. Wright, Mario I. Wolczko
  • Patent number: 7644235
    Abstract: In a cache tag integrated on an SRAM with a memory cache, laser fuses are programmed to indicate which, if any, tag subarrays in the cache tag are not functioning properly. In addition, the burst length of the SRAM is increased to reduce the number of tag subarrays necessary for operation of the cache tag so any nonfunctional tag subarrays are no longer necessary. In accordance with the indications from the programmed laser fuses and the increased burst length, logic circuitry disables any nonfunctional tag subarrays, leaving only functional tag subarrays to provide tag functionality for the memory cache. As a result, an SRAM that is typically scrapped as a result of nonfunctional tag subarrays can, instead, be recovered for sale and subsequent use.
    Type: Grant
    Filed: August 3, 2006
    Date of Patent: January 5, 2010
    Assignee: Micron Technology, Inc.
    Inventor: Joseph T. Pawlowski
  • Patent number: 7640399
    Abstract: A system and method for managing a memory system. A system includes a plurality of processing entities and a cache which is shared by the processing entities. Responsive to a replacement event, circuitry may identify data entries of the shared cache which are candidates for replacement. Data entries which have been identified as candidates for replacement may be removed as candidates for replacement in response to detecting the data entry corresponds to data which is shared by at least two of the plurality of processing entities. The circuitry may maintain an indication as to which of the processing entities caused an initial allocation of data into the shared cache. When the circuitry detects that a particular data item is accessed by a processing entity other than a processing entity which caused an allocation of the given data item, the data item may be deemed classified as shared data.
    Type: Grant
    Filed: May 10, 2006
    Date of Patent: December 29, 2009
    Assignee: Advanced Micro Devices, Inc.
    Inventors: Kevin M. Lepak, Roger D. Isaac
  • Patent number: 7636811
    Abstract: A cacheable memory access space receives memory access addresses having different data structures according to a status of a cache capacity from a processor. A cache hit detector determines whether data has been hit based on a mode signal, an enbblk [n] signal, and a signal indicating whether the way is valid or invalid, which are preset in the cache hit detector, a tag comparison address received from the cacheable memory access space, and a tag received from the storage unit.
    Type: Grant
    Filed: November 24, 2004
    Date of Patent: December 22, 2009
    Assignee: Fujitsu Limited
    Inventors: Tomoyuki Okawa, Mie Tonosaki, Masaki Ukai
  • Patent number: 7624231
    Abstract: An apparatus, program product and method stripe value data associated with each of a plurality of keyed data sets across a plurality of processes in a data process set and accessing a first keyed data set among the plurality of keyed data sets using at least one of the plurality of processes. Value data is striped by dividing a keyed data set among the plurality of keyed data sets across the plurality of processes in the data process set based on a striping strategy.
    Type: Grant
    Filed: November 29, 2006
    Date of Patent: November 24, 2009
    Assignee: International Business Machines Corporation
    Inventor: Douglas Charles Berg
  • Patent number: 7613884
    Abstract: A directory of each node in a shared memory multiprocessor is made up of directory entries each including one or more directory bits indicating whether the cache memory of another node stores a copy of a part of a memory region group of the main memory of one node. The memory region group includes memory regions having the same memory address portion including a cache index portion. Each node is assigned one of the directory bits. When accessing the main memory, the node checks whether the directory bits of the directory entry corresponding to a memory region to be accessed are set to a predetermined value, and if one or more of the directory bits of the directory entry are set to the predetermined value, an access address is multicast or broadcast to other nodes to perform coherency control.
    Type: Grant
    Filed: January 28, 2005
    Date of Patent: November 3, 2009
    Assignee: Hitachi, Ltd.
    Inventor: Masahiro Tokoro
  • Patent number: 7610448
    Abstract: For each memory location in a set of memory locations associated with a thread, setting an indication associated with the memory location to request a signal if data from the memory location is evicted from a cache; and in response to the signal, reloading the set of memory locations into the cache.
    Type: Grant
    Filed: December 27, 2006
    Date of Patent: October 27, 2009
    Assignee: Intel Corporation
    Inventors: Mark Buxton, Ernie Brickell, Quinn A. Jacobson, Hong Wang, Baiju Patel
  • Patent number: 7606981
    Abstract: According to one embodiment of the invention, a method comprises verifying that a cache block is not exclusively owned, and if not, transmitting a message identifying both the cache block and a caching agent requesting ownership of the cache block to a broadcast interconnect.
    Type: Grant
    Filed: December 19, 2005
    Date of Patent: October 20, 2009
    Assignee: Intel Corporation
    Inventors: Bratin Saha, Hariharan L. Thantry, Ali-Reza Adl-Tabatabai
  • Patent number: 7606978
    Abstract: A node in a multi-node system includes a memory, an active device that includes a cache, an interface that sends and receives coherency messages on an inter-node network coupling the node to another node, and an address network that communicates address packets between the devices in the node. In response to receiving a coherency message from the other node requesting an access right to a coherency unit, the interface sends an address packet on the address network. The address packet is a first type of address packet if the coherency unit is in the modified global access state in the node and a second type of address packet otherwise. If the active device is the owner of the coherency unit, the active device responds to the first type of address packet and ignores the second type of address packet.
    Type: Grant
    Filed: April 9, 2004
    Date of Patent: October 20, 2009
    Assignee: Sun Microsystems, Inc.
    Inventors: Anders Landin, Robert E. Cypher, Erik E. Hagersten
  • Patent number: 7596665
    Abstract: The present invention provides a mechanism for a processor to write data to a cache or other fast memory, without also writing it to main memory. Further, the data is “locked” into the cache or other fast memory until it is loaded for use. Data remains in the locking cache until it is specifically overwritten under software control. The locking cache or other fast memory can be used as additional system memory. In an embodiment of the invention, the locking cache is one or more sets of ways, but not all of the sets or ways, of a multiple set associative cache.
    Type: Grant
    Filed: October 18, 2007
    Date of Patent: September 29, 2009
    Assignee: International Business Machines Corporation
    Inventors: Michael Norman Day, Charles Johns, Thuong Truong
  • Patent number: 7584331
    Abstract: In an entry of a first cache memory within a first coherency domain of a data processing system including at least first and second coherency domains, a coherency state field is set to a first state that indicates that an associated address tag is valid, an associated storage location does not contain valid data, and a memory block identified by the address tag is likely cached outside the first coherency domain. In response to snooping a castout operation, the first cache memory determines if the castout operation hits in the entry and, if so, updates the coherency state field from the first state to a second state indicating that the associated address tag is invalid.
    Type: Grant
    Filed: June 6, 2005
    Date of Patent: September 1, 2009
    Assignee: International Business Machines Corporation
    Inventors: Guy L. Guthrie, William J. Starke, Jeffrey A. Stuecheli, Derek E. Williams
  • Patent number: 7584329
    Abstract: A cache coherent data processing system includes at least first and second coherency domains each including at least one processing unit and a cache memory. The cache memory includes a cache controller, a data array including a data storage location for caching a memory block, and a cache directory. The cache directory includes a tag field for storing an address tag in association with the memory block and a coherency state field associated with the tag field and the data storage location. The coherency state field has a plurality of possible states including a state that indicates that the address tag is valid, that the storage location does not contain valid data, and that the memory block is possibly cached outside of the first coherency domain.
    Type: Grant
    Filed: February 10, 2005
    Date of Patent: September 1, 2009
    Assignee: International Business Machines Corporation
    Inventors: James Stephen Fields, Jr., Guy Lynn Guthrie, William John Starke, Jeffrey Adam Stuecheli
  • Patent number: 7581065
    Abstract: A processor includes a multi-level cache hierarchy where locality information property such as a Low Locality of Reference (LLR) property is associated with a cache line. The LLR cache line retains the locality information and may move back and forth within the cache hierarchy until evicted from the outer-most level of the cache hierarchy.
    Type: Grant
    Filed: April 7, 2005
    Date of Patent: August 25, 2009
    Inventors: Dennis M. O'Connor, Michael W. Morrow
  • Patent number: 7577802
    Abstract: Systems, methods, and computer program products are presented for transiently clearing a reservation on a device, where the reservation belongs to a host that owns the device and the reservation blocks a host that does not own the device from performing an operation with the device. The reservation is cleared transiently by the host that does not own the device. While the reservation is cleared, the operation is performed with the device using the host that does not own the device.
    Type: Grant
    Filed: April 18, 2005
    Date of Patent: August 18, 2009
    Assignee: NetApp, Inc.
    Inventor: Stephen Parsons
  • Patent number: 7577015
    Abstract: In general, in one aspect, the disclosure describes an apparatus that includes a memory device having a plurality of memory cells. An inverter is used to invert data and tag information destined for the memory device. A register is used to capture the inverted data and tag information. A write inverted value logic is used to determine when to enable writing the inverted data and tag information from the register to the memory device. When inverted data and tag information is written to a memory cell the memory cell is invalidated.
    Type: Grant
    Filed: March 30, 2007
    Date of Patent: August 18, 2009
    Assignee: Intel Corporation
    Inventors: Jaume Abella, Xavier Vera, Javier Carretero Casado, Jose-Alejandro Pineiro, Antonio Gonzalez
  • Patent number: 7568073
    Abstract: A computer-implemented method for enforcing cache coherence includes multicasting a cache request for a memory address from a requesting node without an ordering restriction over a network, collecting, by the requesting node, a combined snoop response of the cache request over a unidirectional ring embedded in the network, and enforcing cache coherence for the memory address at the requesting node, according to the combined snoop response.
    Type: Grant
    Filed: November 6, 2006
    Date of Patent: July 28, 2009
    Assignee: International Business Machines Corporation
    Inventors: Xiaowei Shen, Karin Strauss
  • Publication number: 20090182956
    Abstract: Embodiments of the present invention provide a system that executes transactions on a processor that supports transactional memory. The system starts by executing the transaction on the processor. During execution of the transactions, the system places stores in a store buffer. In addition, the system sets a stores_encountered indicator when a first store is placed in the store buffer during the transaction. Upon completing the transaction, the system determines if the stores_encountered indicator is set. If so, the system signals a cache to commit the stores placed in the store buffer during the transaction to the cache and then resumes execution of program code following the transaction when the stores have been committed. Otherwise, the system resumes execution of program code following the transaction without signaling the cache.
    Type: Application
    Filed: January 15, 2008
    Publication date: July 16, 2009
    Applicant: SUN MICROSYSTEMS, INC.
    Inventors: Paul Caprioli, Martin Karlsson, Sherman H. Yip
  • Patent number: 7558910
    Abstract: Various techniques for manipulating data using access states of memory, access control fields of pointers and operations, and exception raising and exception trapping in a multithreaded computer system. In particular, the techniques include synchronization support for a thread blocked in a word, demand evaluation of values, parallel access of multiple threads to a list, synchronized and unsynchronized access to a data buffer, use of forwarding to avoid checking for an end of a buffer, use of sentinel word to detect access past a data structure, concurrent access to a word of memory using different synchronization access modes, and use of trapping to detect access to restricted memory.
    Type: Grant
    Filed: October 30, 2003
    Date of Patent: July 7, 2009
    Assignee: Cray Inc.
    Inventors: Gail A. Alverson, Charles David Callahan, II, Simon H. Kahan, Brian D. Koblenz, Allan Porterfield, Burton J. Smith
  • Patent number: 7555597
    Abstract: Methods and apparatus to perform direct cache access in multiple core processors are described. In an embodiment, data corresponding to a direct cache access request is stored in a storage unit and a corresponding read request is generated. Other embodiments are also described.
    Type: Grant
    Filed: September 8, 2006
    Date of Patent: June 30, 2009
    Assignee: Intel Corporation
    Inventors: Durgesh Srivastava, Jeffrey D. Gilbert
  • Publication number: 20090157982
    Abstract: Presented herein are system(s) and method(s) for a multiple miss cache. In one embodiment, there is presented a cache system for storing data. The cache comprises a plurality of data words, a plurality of first bits, and a plurality of second bits. The plurality of data words store data. The plurality of first bits correspond to particular ones of the plurality of data words, each of the plurality of bits indicating whether the data word corresponding thereto stores valid data. The plurality of second bits correspond to particular ones of the plurality of data words, each of the plurality of bits for indicating whether a cache miss has occurred with the data word corresponding thereto.
    Type: Application
    Filed: December 15, 2008
    Publication date: June 18, 2009
    Inventors: Alexander G. MacInnis, Lei Zhang
  • Patent number: 7546422
    Abstract: A method and apparatus for the synchronization of distributed caches. More particularly, the present invention to cache memory systems and more particularly to a hierarchical caching protocol suitable for use with distributed caches, including use within a caching input/output (I/O) hub.
    Type: Grant
    Filed: August 28, 2002
    Date of Patent: June 9, 2009
    Assignee: Intel Corporation
    Inventors: Robert T George, Mathew A Lambert, Tony S Rand, Robert G Blankenship, Kenneth C Creta
  • Publication number: 20090144508
    Abstract: A PCI Express (PCIe) computer system utilizes address translation services to translate virtual addresses from I/O device adaptors to physical addresses of system memory. A combined memory controller and host bridge uses a translation agent to convert the I/O addresses via translation control entries (TCEs) in a TCE table (also known as an address translation and protection table). Some of the I/O device adaptors have address translation caches for local storage of TCEs. The TCE definition includes a new non-cacheable control bit which is set active in the TCE table when the TCE is in the process of being invalidated. The memory controller prevents further caching of the TCE while the non-cacheable control bit is active. A further implementation utilizes a change-in-progress control bit of the TCE to indicate that the TCE is in the process of being changed to allow simultaneous invalidation of the previously TCE information.
    Type: Application
    Filed: December 3, 2007
    Publication date: June 4, 2009
    Inventors: Douglas M. Freimuth, Renato J. Recio, Steven M. Thurber
  • Patent number: 7543115
    Abstract: A method for cache coherency in a network of a plurality of caching agents includes storing a plurality of miss requests, transmitting the miss requests into the network, sending a probe message on a probe channel and a request message on a second channel from one of the plurality of caching agents, and maintaining an open status for the miss request until the requesting cache agent receives the data or an ownership indicator.
    Type: Grant
    Filed: January 13, 2006
    Date of Patent: June 2, 2009
    Assignee: Intel Corporation
    Inventors: Brannon Batson, Benjamin Tsien, William A. Welch
  • Publication number: 20090138664
    Abstract: A system, method, and a computer readable for inserting data into a cache memory based on information in a semi-synchronous memory copy instruction are disclosed. The method comprises determining a start of a semi-synchronous memory copy operation. The semi-synchronous memory copy operation is checked for a given value in at least one cache injection bit. In response to the given value in the cache injection bit, a predefined number of lines of destination data is copied into at least one level of cache memory.
    Type: Application
    Filed: January 26, 2009
    Publication date: May 28, 2009
    Applicant: International Business Machines Corp.
    Inventors: Ravi K. Arimilli, Rama K. Govindaraju, Peter H. Hochschild, Bruce G. Mealey, Satya P. Sharma, Balaram Sinharoy
  • Publication number: 20090132769
    Abstract: Systems and methods that optimize memory allocation in hierarchical and/or distributed data storage. A memory management component facilitates a compact manner of identifying approximately how often the memory chunk is being used, to promote efficient operation of the system as a whole. Each memory location can be changed based on the corresponding memory access that is determined through tracking of statistical usage counts of memory locations, and a comparison thereof with a threshold value.
    Type: Application
    Filed: November 19, 2007
    Publication date: May 21, 2009
    Applicant: MICROSOFT CORPORATION
    Inventors: Steve Pronovost, Ketan K. Dalal, Ameet A. Chitre
  • Patent number: 7523267
    Abstract: A method to use of dual valid bit sets including a regular bit set and alternate valid bits set which prevents new requests to a given cache line from entering a multi-nodal computer systems' nest system until all requests to the given cache line have been completed successfully. By providing the alternate valid bits the dual set of resource valids for each remote requester is provided for each remote requester, where one set of valids indicates if the resource is valid and actively working on the line, and the other set of valids indicates if the resource was valid but encountered some conflict that requires resolution before the request can complete. Only on successful reload and completion of the remote operation does this alternate address valid bit reset and open the way for any pending interface requests to proceed, so all outstanding requests currently loaded in a local resource within the nest system are able to complete before new interface requests are allowed into the system.
    Type: Grant
    Filed: September 15, 2006
    Date of Patent: April 21, 2009
    Assignee: International Business Machines Corporation
    Inventors: Craig R. Walters, Vesselina K. Papazova, Michael A. Blake, Pak-kin Mak
  • Patent number: 7523260
    Abstract: A method, processing node, and computer readable medium for propagating data using mirrored lock caches are disclosed. The method includes coupling a first mirrored lock cache associated with a first processing node to a bus that is communicatively coupled to at least a second mirrored lock cache associated with a second processing node in a multi-processing system. The method further includes receiving, by the first mirrored lock cache, data from a processing node. The data is then mirrored automatically so that the same data is available locally at the second mirrored lock cache for use by the second processing node.
    Type: Grant
    Filed: December 22, 2005
    Date of Patent: April 21, 2009
    Assignee: International Business Machines Corporation
    Inventors: Ravi K. Arimilli, Rama K. Govindaraju, Peter H. Hochschild, Bruce G. Mealey, Satya P. Sharma, Balaram Sinharoy
  • Patent number: 7519791
    Abstract: According to some embodiments, a memory management unit receives a virtual address and provides a corresponding physical address. The memory management unit stores generated virtual address-to-physical address translations. If a virtual address-to-physical address translation is available for a particular virtual address, the memory management unit retrieves the corresponding physical address. If a translation is not available, the memory management unit generates the corresponding physical address from the virtual address. The memory management unit converts the virtual address to a modified virtual address using a process identifier and then performs a page table walk using the modified virtual address, generating the physical address.
    Type: Grant
    Filed: February 5, 2004
    Date of Patent: April 14, 2009
    Assignee: Intel Corporation
    Inventor: Dennis M. O'Connor
  • Patent number: 7512741
    Abstract: A messaging protocol that facilitates a distributed cache coherency conflict resolution in a multi-node system that resolves conflicts at a home node. The protocol may perform a method including supporting at least three protocol classes for the messaging protocol, via at least three virtual channels provided by a link layer of a network fabric coupled to the caching agents, wherein the virtual channels include a first virtual channel to support a probe message class, a second virtual channel to support an acknowledgment message class, and a third virtual channel to support a response message class.
    Type: Grant
    Filed: January 13, 2006
    Date of Patent: March 31, 2009
    Assignee: Intel Corporation
    Inventors: Brannon Batson, Benjamin Tsien, William A. Welch
  • Patent number: 7509461
    Abstract: The present invention augments each entry in a memory frame table to include information associated with the availability of any page that is buffer cache allocated. The availability information may include, for example, a link to a buffer cache descriptor associated with a buffer cache allocated page. Alternatively, the availability information may include a use status of the buffer cache allocated page. During a consecutive multi-page allocation process, pages which are buffer cache allocated are checked for availability. Should a buffer cache allocated page be available for use, it is intelligently pre-empted by the allocation process. By providing a mechanism to readily determine buffer cache page availability, a multi-page allocation process with increased efficiency may make intelligent decisions about the appropriateness of buffer cache page pre-emption.
    Type: Grant
    Filed: June 29, 2006
    Date of Patent: March 24, 2009
    Assignee: EMC Corporation
    Inventors: Deepika Bhayana, Jean-Pierre Bono
  • Publication number: 20090077540
    Abstract: During execution of a program, the situation where the atomicity of a pair of instructions that are to be executed atomically is violated is identified, and a bug is detected as occurring in the program at the pair of instructions. The pairs of instructions that are to be executed atomically can be identified in different manners, such as by executing a program multiple times and using the results of those executions to automatically identify the pairs of instructions.
    Type: Application
    Filed: September 19, 2007
    Publication date: March 19, 2009
    Inventors: Yuanyuan Zhou, Shan Lu, Joseph Andrew Tucek
  • Patent number: 7506107
    Abstract: In a shared memory multiprocessor system, data reading accesses and data write-back completion notifications are selected in synchronism with all of the nodes to order them. In each of the nodes, a subject address of ordered data reading access is compared with a subject address of ordered data write-back completion notification to detect a data reading operation of the same address which is passed by the completion of the data writing-back operation. Both a data reading sequence and a data writing-back sequence are determined. At this time, such a coherency response for prompting a re-reading operation of the data is transmitted to the node which transmitted the data reading access, so that coherency of the data is maintained.
    Type: Grant
    Filed: May 17, 2006
    Date of Patent: March 17, 2009
    Assignee: Hitachi, Ltd.
    Inventors: Takashi Yasui, Shisei Fujiwara, Norihiko Murata
  • Patent number: 7502895
    Abstract: Method and apparatus for reducing castouts in a snoop filter. More specifically, there is provided a system comprising a plurality of buses, one or more processors coupled to each of the plurality of buses and a snoop filter. The snoop filter configured to eliminate unnecessary snoops of the plurality of buses, and further configured to track requests from the one or more processors only if tracking the request does not result in a castout penalty.
    Type: Grant
    Filed: September 13, 2005
    Date of Patent: March 10, 2009
    Assignee: Hewlett-Packard Development Company, L.P.
    Inventors: Phillip Matthew Jones, Kourosh Gharachorloo
  • Patent number: 7500068
    Abstract: A method and system for managing memory in a multiprocessor system includes defining the plurality of processor coherence domains within a system coherence domain of the multiprocessor system. The processor coherence domains each include a plurality of processors and a processor memory. Shared access to data in the processor memory of each processor coherence domain is provided only to elements of the multiprocessor system within the processor coherence domain. Non-shared access to data in the processor memory of each processor coherence domain is provided to elements of the multiprocessor system within and outside of the processor coherence domain.
    Type: Grant
    Filed: June 26, 2006
    Date of Patent: March 3, 2009
    Assignee: Silicon Graphics, Inc.
    Inventors: Daniel E. Lenoski, Jeffrey S. Kuskin, William A. Huffman, Michael S. Woodacre
  • Patent number: 7500064
    Abstract: A data coherence system includes a generation number written to a data track of a logical sub-system. The generation number is compared to a corresponding generation number in a processing device when it is initialized. If the two generations numbers are the same, the generation numbers are incremented and saved. If not, cache associated with the logical sub-system residing within the processing device is erased and the generation numbers are reset.
    Type: Grant
    Filed: December 3, 2007
    Date of Patent: March 3, 2009
    Assignee: International Business Machines Corporation
    Inventors: Said A. Ahmad, Michael T. Benhase, William D. Williams
  • Patent number: 7496715
    Abstract: A memory control system and method is disclosed. The system includes cache tag logic and an optional cache coupled to a main memory. If available, the cache retains a subset of the data stored within the main memory. This subset is selected by programmable control indicators. These indicators further control which data will be recorded by the tag logic. The indicators may select the sub-sets based on which type of memory request results in the return of data from the main memory to the cache, for example. Alternatively, or in addition, these indicators may specify the identity of a requester, a memory response type, or a storage mode to control the selection of the sub-sets of data stored within the cache and recorded by the tag logic. In one embodiment, data may be tracked by the cache tag logic but not stored within the cache itself.
    Type: Grant
    Filed: July 16, 2003
    Date of Patent: February 24, 2009
    Assignee: Unisys Corporation
    Inventors: Kelvin S. Vartti, Ross M. Weber
  • Patent number: 7496726
    Abstract: A system for controlling contention between conflicting transactions in a transactional memory system. During operation, the system receives a request to access a cache line and then determines if the cache line is already in use by an existing transaction in a cache state that is incompatible with the request. If so, the system determines if the request is from a processor which is in a polite mode. If this is true, the system denies the request to access the cache line and continues executing the existing transaction.
    Type: Grant
    Filed: April 18, 2005
    Date of Patent: February 24, 2009
    Assignee: Sun Microsystems, Inc.
    Inventors: Daniel S. Nussbaum, Victor M. Luchangco, Mark S. Moir, Ori Shalev, Nir N. Shavit
  • Patent number: 7496966
    Abstract: A method for controlling operation of a secure execution mode-capable processor includes receiving access requests to a plurality of addressable locations within a system memory. The method may further include preventing the access requests from completing in response to determining that the secure execution mode-capable processor is operating in a secure execution mode.
    Type: Grant
    Filed: April 18, 2003
    Date of Patent: February 24, 2009
    Assignee: Advanced Micro Devices, Inc.
    Inventors: Kevin J. McGrath, David S. Christie, Geoffrey S. Strongin