Private Caches Patents (Class 711/121)
  • Patent number: 7970999
    Abstract: An information distribution system includes an interconnect and multiple data processing nodes coupled to the interconnect. Each data processing node includes mass storage and a cache. Each data processing node also includes interface logic configured to receive signals from the interconnect and to apply the signals from the interconnect to affect the content of the cache, and to receive signals from the mass storage and to apply the signals from the mass storage to affect the content of the cache. The content of the mass storage and cache of a particular node may also be provided to other nodes of the system, via the interconnect.
    Type: Grant
    Filed: January 22, 2008
    Date of Patent: June 28, 2011
    Assignee: ARRIS Group
    Inventor: Robert C Duzett
  • Patent number: 7966453
    Abstract: Software indicates to hardware of a processing system that its storage modification to a particular cache line is done, and will not be doing any modification for the time being. With this indication, the processor actively releases its exclusive ownership by updating its line ownership from exclusive to read-only (or shared) in its own cache directory and in the storage controller (SC). By actively giving up the exclusive rights, another processor can immediately be given exclusive ownership to that said cache line without waiting on any processor's explicit cross invalidate acknowledgement. This invention also describes the hardware design needed to provide this support.
    Type: Grant
    Filed: December 12, 2007
    Date of Patent: June 21, 2011
    Assignee: International Business Machines Corporation
    Inventors: Chung-Lung Kevin Shum, Kathryn Marie Jackson, Charles Franklin Webb
  • Publication number: 20110145501
    Abstract: An apparatus and method is described herein for intelligently spilling cache lines. Usefulness of cache lines previously spilled from a source cache is learned, such that later evictions of useful cache lines from a source cache are intelligently selected for spill. Furthermore, another learning mechanism—cache spill prediction—may be implemented separately or in conjunction with usefulness prediction. The cache spill prediction is capable of learning the effectiveness of remote caches at holding spilled cache lines for the source cache. As a result, cache lines are capable of being intelligently selected for spill and intelligently distributed among remote caches based on the effectiveness of each remote cache in holding spilled cache lines for the source cache.
    Type: Application
    Filed: December 16, 2009
    Publication date: June 16, 2011
    Inventors: Simon C. Steely, JR., William C. Hasenplaugh, Aamer Jaleel, George Z. Chrysos
  • Patent number: 7917698
    Abstract: Embodiments of the present invention provide a system that handles load-marked and store-marked cache lines. Upon asserting a load-mark or a store-mark for a cache line during a given phase of operation, the system adds an entry to a private buffer and in doing so uses an address of the cache line as a key for the entry in the private buffer. The system also updates the entry in the private buffer with information about the load-mark or store-mark and uses pointers for the entry and for the last entry added to the private buffer to add the entry to a sequence of private buffer entries placed during the phase of operation. The system then uses the entries in the private buffer to remove the load-marks and store-marks from cache lines when the phase of operation is completed.
    Type: Grant
    Filed: October 26, 2007
    Date of Patent: March 29, 2011
    Assignee: Oracle America, Inc.
    Inventors: Robert E. Cypher, Shailender Chaudhry
  • Patent number: 7904587
    Abstract: A novel communication device (e.g., router or switch) facilitates interoperation between a plurality of middleware. The communication device has in-ports, out-ports, and a configurator. In-ports, IP0, . . . , IPm, are associated with a middleware from a plurality of middleware and out-ports, OP0, . . . , OPn, are associated with a middleware from the plurality of middleware. The configurator configures in-ports and out-ports based on a binding and transport of associated middleware and the novel communication device facilitates interoperation between middleware via a communication path between at least one configured in-port and at least one configured out-port, with the communication path allowing an incoming message to pass from said at least one configured in-port to said at least one configured out-port. Parameters ‘m’ and ‘n’ are chosen such that any of the following conditions are true: m=0 and n?1, m?1 and n=0, m=n, m=1 and n>1, m>1 and n=1, and m?n.
    Type: Grant
    Filed: January 19, 2006
    Date of Patent: March 8, 2011
    Assignee: Iona Technologies Limited
    Inventors: Peter Lawrence Cousins, Desmond Carbery
  • Patent number: 7890708
    Abstract: Uncontested priority is provided to out-of-order data transfers over in-order data transfers on a data bus shared by a plurality of memory requesters. By always granting priority to out-of-order transfers such as deferred read data transfers over in-order transfers such as write and/or cache-to-cache data transfers, it is assured that no newer command or transaction ever negatively affects the latency of an older command or transaction.
    Type: Grant
    Filed: February 12, 2008
    Date of Patent: February 15, 2011
    Assignee: International Business Machines Corporation
    Inventors: Wayne Melvin Barrett, Brian T. Vanderpool
  • Patent number: 7890700
    Abstract: A method, system, and computer program product for cross-invalidation handling in a multi-level private cache are provided. The system includes a processor. The processor includes a fetch address register logic in communication with a level 1 data cache, a level 1 instruction cache, a level 2 cache, and a higher level cache. The processor also includes a set of cross-invalidate snapshot counter implemented in the fetch address register. Each cross-invalidate snapshot counter tracks an amount of pending higher level cross-invalidations received before new data for the corresponding cache miss is returned from the higher-level cache. The processor also includes logic executing on the fetch address register for handling level 1 data cache misses and interfacing with the level 2 cache. In response to the new data, and upon determining that older cross-invalidations are pending, the new data is prevented from being used by the processor.
    Type: Grant
    Filed: March 19, 2008
    Date of Patent: February 15, 2011
    Assignee: International Business Machines Corporation
    Inventors: Ka Shan Choy, Jennifer A. Navarro, Chung-Lung Kevin Shum, Aaron Tsai
  • Patent number: 7870343
    Abstract: A method and apparatus for managing coherence between two processors of a two processor node of a multi-processor computer system. Generally the present invention relates to a software algorithm that simplifies and significantly speeds the management of cache coherence in a message passing parallel computer, and to hardware apparatus that assists this cache coherence algorithm. The software algorithm uses the opening and closing of put/get windows to coordinate the activated required to achieve cache coherence. The hardware apparatus may be an extension to the hardware address decode, that creates, in the physical memory address space of the node, an area of virtual memory that (a) does not actually exist, and (b) is therefore able to respond instantly to read and write requests from the processing elements.
    Type: Grant
    Filed: February 25, 2002
    Date of Patent: January 11, 2011
    Assignee: International Business Machines Corporation
    Inventors: Matthias A. Blumrich, Dong Chen, Paul W. Coteus, Alan G. Gara, Mark E. Giampapa, Philip Heidelberger, Dirk Hoenicke, Martin Ohmacht
  • Patent number: 7827354
    Abstract: A method, system, and device for enabling intervention across same-level cache memories. In a preferred embodiment, responsive to a cache miss in a first cache memory a direct intervention request is sent from the first cache memory to a second cache memory requesting a direct intervention that satisfies the cache miss. In an alternate embodiment, direct intervention is utilized to access a same-level victim cache.
    Type: Grant
    Filed: October 25, 2007
    Date of Patent: November 2, 2010
    Assignee: International Business Machines Corporation
    Inventors: Leo James Clark, James Stephen Fields, Jr., Guy Lynn Guthrie, Bradley David McCredie, William John Starke
  • Publication number: 20100268881
    Abstract: A method to associate a storage policy with a cache region is disclosed. In this method, a cache region associated with an application is created. The application runs on virtual machines, and where a first virtual machine has a local memory cache that is private to the first virtual machine. The first virtual machine additionally has a shared memory cache that is shared by the first virtual machine and a second virtual machine. Additionally, the cache region is associated with a storage policy. Here, the storage policy specifies that a first copy of an object to be stored in the cache region is to be stored in the local memory cache and that a second copy of the object to be stored in the cache region is to be stored in the shared memory cache.
    Type: Application
    Filed: July 7, 2010
    Publication date: October 21, 2010
    Inventors: Galin Galchev, Frank Kilian, Oliver Luik, Dirk Marwinski, Petio G. Petev
  • Patent number: 7818560
    Abstract: Various embodiments described herein include one or more of systems, methods, firmware, and software to synchronize system information between processors during system boot in a links-based multi-processor system. Some embodiments synchronize data block by block through memory rather than piece by piece through registers by allowing a System Bootstrap Processor (“SBSP”) to directly access synchronization data in local memory of each of one or more Application Processors. These and other embodiments are described in greater detail below.
    Type: Grant
    Filed: September 21, 2007
    Date of Patent: October 19, 2010
    Assignee: Intel Corporation
    Inventors: Yufu Li, XiaoHua Cai, Rahul Khanna, Murugasamy Nachimuthu, Vincent J. Zimmer
  • Patent number: 7788239
    Abstract: A method provides access to a data entity having a basis version and the creation of derived versions. The method includes a creating procedure for creating a derived version, by carrying out one or more operations on the basis version, storing them, and accepting them. The method further includes a providing procedure for providing access to the derived version through first addresses mapped to second addresses of the basis version and of the accepted one or more operations, by reconstructing the derived version based on the basis version and the accepted one or more operations.
    Type: Grant
    Filed: October 23, 2007
    Date of Patent: August 31, 2010
    Assignee: global infinipool GmbH
    Inventors: Martin Scholl, Marcus Brindoepke, Otto Roth, Michael Preusse
  • Patent number: 7783843
    Abstract: In a bus interface adapted for usage in a multiple-core processor, an interface couples a bus to the one or more processor cores. The bus interface comprises a queue coupled to the interface which is adapted to receive snoop responses from the processor cores and coalesce snoop responses from the processor cores into a single snoop response that reflects snoop responses from all processor cores.
    Type: Grant
    Filed: May 16, 2005
    Date of Patent: August 24, 2010
    Assignee: Hewlett-Packard Development Company, L.P.
    Inventor: Vincent R. Freytag
  • Patent number: 7779205
    Abstract: A multi processor system 1 comprises a plurality of processors 21 to 25, a system bus 30 and a main system memory 40. Each processor 21 to 25 is connected to a respective cache memory 41 to 45, with each cache memory 41 to 45 in turn being connected to the system bus 30. The cache memories 41 to 45 store copies of data or instructions that are used frequently by the respective processors 21 to 25, thereby eliminating the need for the processors 21 to 25 to access the main system memory 40 during each read or write operation. Processor 25 is connected to a local memory 50 having a plurality of data blocks (not shown). According to the invention, the local memory 50 has a first port 51 for connection to its respective processor 25. In addition, the local memory 50 has a second port 52 connected to the system bus 30, thereby allowing one or more of the other processors 21 to 24 to access the local memory 50.
    Type: Grant
    Filed: November 8, 2005
    Date of Patent: August 17, 2010
    Assignee: Koninklijke Philips Electronics N.V.
    Inventor: Jan Hoogerbrugge
  • Patent number: 7739485
    Abstract: A rack mounted computer system comprises a plurality of hot replaceable servers and power supplies that are mounted in chassis and assemblies which are coupled together and in which component specific data is stored in cache memory. The cache memory preferably is implemented on a communication module contained in each chassis/assembly. Some, or all, of the rack mounted components include ROM which contains component specific data. Such data includes one or more values specific to that component. The data may include any or all of the following: serial number, part name, manufacturing information, reorder information and physical dimensions of the associated component. By storing the component specific data in cache, less traffic is necessary on the rack's inter-chassis/assembly communication link(s) the chassis/assembly communication module snoops its cache and, if the data present in cache, provides the requested data from cache to the component.
    Type: Grant
    Filed: October 11, 2002
    Date of Patent: June 15, 2010
    Assignee: Hewlett-Packard Development Company, L.P.
    Inventor: Peter A. Hansen
  • Publication number: 20100146210
    Abstract: A method to verify an implemented coherency algorithm of a multi processor environment on a single processor model is described, comprising the steps of: generating a reference model reflecting a private cache hierarchy of a single processor within a multi processor environment, stimulating the private cache hierarchy with simulated requests and/or cross invalidations from a core side and/or from a nest side, augmenting all data available in the private cache hierarchy with two construction dates and two expiration dates, set based on interface events, wherein multi processor coherency is not observed if the cache hierarchy ever returns data to the processor with an expiration date that is older than the latest construction date of all data used before. Further a single processor model and a computer program product to execute said method are described.
    Type: Application
    Filed: December 4, 2008
    Publication date: June 10, 2010
    Applicant: International Business Machines Corporation
    Inventors: CHRISTIAN HABERMANN, Ralf Winkelmann, Hans-Werner Tast, Christian Jacobi
  • Patent number: 7734936
    Abstract: A method is described that involves storing active sleep mode software instructions to be executed by a low end central processing unit into an on chip cache of a high end central processing unit that caches normal active mode software instructions executed by the high end central processing unit. The active sleep mode software instructions are to be executed by the low end central processing unit during an active sleep mode. The normal active mode software instructions are executed by the high end central processing unit during a normal active mode. The active sleep mode consumes less power than the normal active mode.
    Type: Grant
    Filed: May 18, 2006
    Date of Patent: June 8, 2010
    Assignee: Intel Corporation
    Inventor: Tony G. Hamilton
  • Publication number: 20100138607
    Abstract: In one embodiment, the present invention includes a directory of a private cache hierarchy to maintain coherency between data stored in the cache hierarchy, where the directory is to enable concurrent cache-to-cache transfer of data to two private caches. Other embodiments are described and claimed.
    Type: Application
    Filed: December 3, 2008
    Publication date: June 3, 2010
    Inventors: Christopher J. Hughes, Changkyu Kim, Yen-Kuang Chen
  • Patent number: 7721002
    Abstract: Data is synchronized among multiple web servers, each of which is coupled to a common data server. Each web server retrieves a scheduled activation time from the data server. If the current time is prior to the scheduled activation time, then each web server retrieves updated data from the data server into a staging cache in the web server. At the scheduled activation time, each web server copies data from its staging cache to an active cache in the web server. If a new web server is added or an existing web server is initialized, then data is copied from an active cache in the data server to an active cache in the new or initialized web server. The multiple web servers may be arranged to form a web farm.
    Type: Grant
    Filed: June 29, 2006
    Date of Patent: May 18, 2010
    Assignee: Microsoft Corporation
    Inventors: Kenneth J. Knight, David J. Messner
  • Patent number: 7698506
    Abstract: A technique for partially offloading, from a main cache in a storage server, the storage of cache tags for data blocks in a victim cache of the storage server, is described. The technique includes storing, in the main cache, a first subset of the cache tag information for each of the data blocks, and storing, in a victim cache of the storage server, a second subset of the cache tag information for each of the data blocks. This technique avoids the need to store the second subset of the cache tag information in the main cache.
    Type: Grant
    Filed: April 26, 2007
    Date of Patent: April 13, 2010
    Assignee: Network Appliance, Inc.
    Inventors: Robert L. Fair, William P. McGovern, Thomas C. Holland, Jason Sylvain
  • Publication number: 20100083120
    Abstract: There is provided a storage system including one or more LDEVs, one or more processors, a local memory or memories corresponding to the processor or processors, and a shared memory, which is shared by the processors, wherein control information on I/O processing or application processing is stored in the shared memory, and the processor caches a part of the control information in different storage areas on a type-by-type basis in the local memory or memories corresponding to the processor or processors in referring to the control information stored in the shared memory.
    Type: Application
    Filed: December 18, 2008
    Publication date: April 1, 2010
    Inventors: Shintaro Ito, Norio Shimozono
  • Patent number: 7689778
    Abstract: In various embodiments, hardware, software and firmware or combinations thereof may be used to prevent cache conflicts within microprocessors and/or computer systems. More particularly, embodiments of the invention relate to a technique to prevent cache conflicts within a processor and/or computer system in which a number of accesses may be made to a particular cache or group of caches.
    Type: Grant
    Filed: November 30, 2004
    Date of Patent: March 30, 2010
    Assignee: Intel Corporation
    Inventors: Yen-Cheng Liu, Krishnakanth V. Sistla, George Cai, Jeffrey D. Gilbert
  • Patent number: 7685254
    Abstract: A runtime adaptable search processor is disclosed. The search processor provides high speed content search capability to meet the performance need of network line rates growing to 1 Gbps, 10 Gbps and higher. The search processor provides a unique combination of NFA and DFA based search engines that can process incoming data in parallel to perform the search against the specific rules programmed in the search engines. The processor architecture also provides capabilities to transport and process Internet Protocol (IP) packets from Layer 2 through transport protocol layer and may also provide packet inspection through Layer 7. Further, a runtime adaptable processor is coupled to the protocol processing hardware and may be dynamically adapted to perform hardware tasks as per the needs of the network traffic being sent or received and/or the policies programmed or services or applications being supported.
    Type: Grant
    Filed: December 30, 2005
    Date of Patent: March 23, 2010
    Inventor: Ashish A. Pandya
  • Patent number: 7680865
    Abstract: The present invention provides an image processing apparatus and an image processing method, which can improve security and reinforce privacy protection for cache data and management data generated when an operator employs a browser function, and which can efficiently utilize storage resources of the apparatus. In the image processing apparatus having a browser function, data generated by an operator employing the browser function is stored in the RAM. Herein, it is determined whether or not the operator employing the browser function is a particular operator such as a system administrator. In a case where the browser function is employed by an operator other than the particular operator, the data stored in the RAM is deleted. Meanwhile, in a case of the particular operator, the data is stored in a hard disk drive (HDD).
    Type: Grant
    Filed: November 4, 2005
    Date of Patent: March 16, 2010
    Assignee: Canon Kabushiki Kaisha
    Inventors: Hirohiko Tashiro, Satoshi Ookuma, Kaori Yamada
  • Publication number: 20100042786
    Abstract: A processing system is disclosed. The processing system includes a memory and a first core configured to process applications. The first core includes a first cache. The processing system includes a mechanism configured to capture a sequence of addresses of the application that miss the first cache in the first core and to place the sequence of addresses in a storage array; and a second core configured to process at least one software algorithm. The at least one software algorithm utilizes the sequence of addresses from the storage array to generate a sequence of prefetch addresses. The second core issues prefetch requests for the sequence of the prefetch addresses to the memory to obtain prefetched data and the prefetched data is provided to the first core if requested.
    Type: Application
    Filed: August 14, 2008
    Publication date: February 18, 2010
    Applicant: International Business Machines Corporation
    Inventors: Gordon Bernard BELL, Gordon Taylor DAVIS, Jeffrey Haskell DERBY, Anil KRISHNA, Srinivasan RAMANI, Ken VU, Steve WOOLET
  • Patent number: 7657707
    Abstract: A primary controller operates to transmit write data and a write time to a secondary controller in the earlier sequence of the write times after reporting a completion of a request for write to a processing unit. The secondary controller stores the write data and the write time transmitted from the primary controller in the cache memory. At a time, the secondary controller stores the write data in a disk unit in the earlier sequence of the write time. These operations make it possible to guarantee all the write data on or before the reference time.
    Type: Grant
    Filed: October 19, 2006
    Date of Patent: February 2, 2010
    Assignee: Hitachi, Ltd.
    Inventors: Akira Yamamoto, Katsunori Nakamura, Shigeru Kishiro
  • Patent number: 7653908
    Abstract: Grouping processors is presented. A processing unit (PU) initiates an application and identifies the application's requirements. The PU assigns one or more synergistic processing units (SPUs) and a memory space to the application in the form of a group. The application specifies whether the task requires shared memory or private memory. Shared memory is a memory space that is accessible by the SPUs and the PU. Private memory, however, is a memory space that is only accessible by the SPUs that are included in the group. When the application executes, the resources within the group are allocated to the application's execution thread. Each group has its own group properties, such as address space, policies (i.e. real-time, FIFO, run-to-completion, etc.) and priority (i.e. low or high). These group properties are used during thread execution to determine which groups take precedence over other tasks.
    Type: Grant
    Filed: March 4, 2008
    Date of Patent: January 26, 2010
    Assignee: International Business Machines Corporation
    Inventors: Maximino Aguilar, Jr., Michael Norman Day, Mark Richard Nutter, James Xenidis
  • Patent number: 7620694
    Abstract: Early issue of transaction ID is disclosed. An apparatus comprising decoder to generate a first node ID indicative of the destination of a cache transaction from a caching agent, a transaction ID allocation logic coupled to and operating in parallel to the decoder to select a transaction ID (TID) for the transaction based on the first node ID, a packet creation unit to create a packet that includes the transaction, the first node ID, the TID and a second node ID corresponding to the requestor.
    Type: Grant
    Filed: September 27, 2005
    Date of Patent: November 17, 2009
    Assignee: Intel Corporation
    Inventor: Benjamin Tsien
  • Patent number: 7617363
    Abstract: In one embodiment, a method is provided. The method of this embodiment provides detecting by a network controller a flush occurring on a host bus of a DM (“direct messaging”) packet to a memory from a first cache line associated with a first processor; obtaining and storing the DM packet at a second cache line associated with the network controller; and sending the DM packet over a network to a third cache line associated with a second processor.
    Type: Grant
    Filed: September 26, 2005
    Date of Patent: November 10, 2009
    Assignee: Intel Corporation
    Inventors: Nagabhushan Chitlur, Linda J. Rankin, David S. Dunning, Maruti Gupta, Hongbin (Michael) Liao
  • Publication number: 20090271572
    Abstract: In one embodiment, the present invention includes a method for determining if a state of data is indicative of a first class of data, re-classifying the data from a second class to the first class based on the determination, and moving the data to a first portion of a shared cache associated with a first requester unit based on the re-classification. Other embodiments are described and claimed.
    Type: Application
    Filed: July 2, 2009
    Publication date: October 29, 2009
    Inventors: Christopher J. Hughes, Yen-Kuang Chen
  • Publication number: 20090240889
    Abstract: A method, system, and computer program product for cross-invalidation handling in a multi-level private cache are provided. The system includes a processor. The processor includes a fetch address register logic in communication with a level 1 data cache, a level 1 instruction cache, a level 2 cache, and a higher level cache. The processor also includes a set of cross-invalidate snapshot counter implemented in the fetch address register. Each cross-invalidate snapshot counter tracks an amount of pending higher level cross-invalidations received before new data for the corresponding cache miss is returned from the higher-level cache. The processor also includes logic executing on the fetch address register for handling level 1 data cache misses and interfacing with the level 2 cache. In response to the new data, and upon determining that older cross-invalidations are pending, the new data is prevented from being used by the processor.
    Type: Application
    Filed: March 19, 2008
    Publication date: September 24, 2009
    Applicant: INTERNATIONAL BUSINESS MACHINES CORPORATION
    Inventors: Ka Shan Choy, Jennifer A. Navarro, Chung-Lung Kevin Shum, Aaron Tsai
  • Patent number: 7584327
    Abstract: Embodiments of the invention relate to a method and system for caching data in a multiple-core system with shared cache. According to the embodiments, data used by the cores may be classified as being of one of predetermined types. The classification may enable efficiencies to be realized by performing different types of handling corresponding to different data types. For example, data classified as likely to be re-used may be stored in a shared cache, in a region of the shared cache that is closest to a core using the data. By storing the data this way, access time and energy consumption may be reduced if the data is subsequently retrieved for use by the core.
    Type: Grant
    Filed: December 30, 2005
    Date of Patent: September 1, 2009
    Assignee: Intel Corporation
    Inventors: Yen-Kuang Chen, Christopher J. Hughes
  • Patent number: 7581064
    Abstract: In a method of utilizing cache metadata to optimize memory access, cache metadata associated with a set of cache locations is inspected by software. The cache metadata is analyzed to determine memory utilization. Memory access is optimized based on results of the analysis of the cache metadata.
    Type: Grant
    Filed: April 24, 2006
    Date of Patent: August 25, 2009
    Assignee: VMware, Inc.
    Inventors: John Zedlewski, Carl Waldspurger
  • Patent number: 7565474
    Abstract: A computer system enable system operation by hiding the peculiarity of an upstream port of a switch in a computer system in which a plurality of CPU units are interconnected by a PCI Express switch. When a CPU unit, which is connected to the upstream port of a serial connect switch interconnecting the plurality of CPU units, is unable to operate, and the links between the CPU units and the switch cannot be established, a management controller in the switch unit is selected as a device of the upstream port.
    Type: Grant
    Filed: June 29, 2005
    Date of Patent: July 21, 2009
    Assignee: Fujitsu Limited
    Inventors: Shigeyoshi Ohara, Kazunori Masuyama
  • Patent number: 7562190
    Abstract: A proximity interconnect module includes a plurality of processors operatively connected to a plurality of off-chip cache memories by proximity communication. Due to the high bandwidth capability of proximity interconnect, enhancements to the cache protocol to improve latency may be made despite resulting increased bandwidth consumption.
    Type: Grant
    Filed: June 17, 2005
    Date of Patent: July 14, 2009
    Assignee: Sun Microsystems, Inc.
    Inventors: Michael J. Koster, Brian W. O'Krafka
  • Publication number: 20090157965
    Abstract: Software indicates to hardware of a processing system that its storage modification to a particular cache line is done, and will not be doing any modification for the time being. With this indication, the processor actively releases its exclusive ownership by updating its line ownership from exclusive to read-only (or shared) in its own cache directory and in the storage controller (SC). By actively giving up the exclusive rights, another processor can immediately be given exclusive ownership to that said cache line without waiting on any processor's explicit cross invalidate acknowledgement. This invention also describes the hardware design needed to provide this support.
    Type: Application
    Filed: December 12, 2007
    Publication date: June 18, 2009
    Applicant: INTERNATIONAL BUSINESS MACHINES CORPORATION
    Inventors: Chung-Lung Kevin Shum, Kathryn Marie Jackson, Charles Franklin Webb
  • Patent number: 7546353
    Abstract: Applications, systems and methods for efficiently accessing data and controlling storage devices among multiple computers connected by a network. Upon receiving a request for access to data originally stored in a remote storage device, determining whether the data is already available and valid in a local storage device. Accessing the data from the local storage device if the data is available and valid. Authenticating a request for a secure connection between a local computer associated with the local storage device and a remote computer associated with the remote storage device. Securely connecting the local computer with the remote computer. Requesting the data from the remote storage device, over the network, if the data is not locally available and valid. Receiving data over the network from the remote storage device, and storing the data in the local storage device for direct local access thereto.
    Type: Grant
    Filed: November 13, 2004
    Date of Patent: June 9, 2009
    Assignee: Western Digital Technologies, Inc.
    Inventors: Lambertus Hesselink, Dharmarus Rizal, Eric S. Bjornson
  • Publication number: 20090132059
    Abstract: A multicore processor for industrial control provides for the execution of separate operating systems on the cores under control of one of the cores to tailor the operating system to optimum execution of different applications of industrial control and communication. One core may provide for a reduced instruction set for execution of industrial control programs with the remaining cores providing a general-purpose instruction set.
    Type: Application
    Filed: November 13, 2008
    Publication date: May 21, 2009
    Inventors: Ronald E. Schultz, Scot A. Tutkovics, Richard J. Grgic, James J. Kay, James W. Kenst, Daniel W. Clark
  • Patent number: 7536692
    Abstract: In general, in one aspect, the disclosure describes a processor that includes an instruction store to store instructions of at least a portion of at least one program and multiple engines coupled to the shared instruction store. The engines provide multiple execution threads and include an instruction cache to cache a subset of the at least the portion of the at least one program from the instruction store, with different respective portions of the engine's instruction cache being allocated to different respective ones of the engine threads.
    Type: Grant
    Filed: November 6, 2003
    Date of Patent: May 19, 2009
    Assignee: Intel Corporation
    Inventors: Sridhar Lakshmanamurthy, Wilson Y. Liao, Prashant R. Chandra, Jeen-Yuan Miin, Yim Pun
  • Publication number: 20090113131
    Abstract: Embodiments of the present invention provide a system that handles load-marked and store-marked cache lines. Upon asserting a load-mark or a store-mark for a cache line during a given phase of operation, the system adds an entry to a private buffer and in doing so uses an address of the cache line as a key for the entry in the private buffer. The system also updates the entry in the private buffer with information about the load-mark or store-mark and uses pointers for the entry and for the last entry added to the private buffer to add the entry to a sequence of private buffer entries placed during the phase of operation. The system then uses the entries in the private buffer to remove the load-marks and store-marks from cache lines when the phase of operation is completed.
    Type: Application
    Filed: October 26, 2007
    Publication date: April 30, 2009
    Applicant: Sun Microsystems, Inc.
    Inventors: Robert E. Cypher, Shailender Chaudhry
  • Patent number: 7526608
    Abstract: Methods and apparatus provide a processor for operative connection to a main memory for storing data, the processor being operable to request at least some of the data for use; and a local memory in operative connection with the processor such that the data may be stored therein for use by the processor, the local memory not being a hardware cache memory, wherein the processor is operable to execute application program interface code that configures the local memory to include at least one software invoked cache memory area therein.
    Type: Grant
    Filed: May 24, 2005
    Date of Patent: April 28, 2009
    Assignee: Sony Computer Entertainment Inc.
    Inventor: Masahiro Yasue
  • Patent number: 7512737
    Abstract: Methods for a treatment of cached objects are described. In one embodiment, management of a region of a cache is configured with an eviction policy plug-in. The eviction policy plug-in includes an eviction timing component and a sorting component, with the eviction timing component including code to implement an eviction timing method, and the eviction timing method to trigger eviction of an object from the region of cache. The sorting component includes code to implement a sorting method to identify an object that is eligible for eviction from said region of cache. The sorting method includes identifying an object for eviction that is cached in the region of cache and that is larger than other objects that are cached in the region of cache.
    Type: Grant
    Filed: December 28, 2004
    Date of Patent: March 31, 2009
    Assignee: SAP AG
    Inventors: Petio G. Petev, Michael Wintergerst
  • Patent number: 7500031
    Abstract: Managing data traffic among three or more bus agents configured in a topological ring includes numbering each bus agent sequentially and injecting messages that include a binary polarity value from the bus agents into the ring in a sequential order according to the numbering of the bus agents during cycles of bus agent activity. Messages from the ring are received into two or more receive buffers of a receiving bus agent, and the value of the binary polarity value is alternated after succeeding cycles of bus ring activity. The received messages are ordered for processing by the receiving bus agent based on the polarity value of the messages and a time at which each message was received.
    Type: Grant
    Filed: November 30, 2005
    Date of Patent: March 3, 2009
    Assignee: Broadcom Corporation
    Inventor: Fong Pong
  • Publication number: 20090006751
    Abstract: Various technologies and techniques are disclosed for using transactional memory hardware to accelerate virtualization or emulation. A central processing unit is provided with the transactional memory hardware. Code backpatching can be facilitated by providing transactional memory hardware that supports a facility to maintain private memory state and an atomic commit feature. Changes made to certain code are stored in the private state facility. Backpatching changes are enacted by attempting to commit all the changes to memory at once using the atomic commit feature. An efficient call return stack can be provided by using transactional memory hardware. A call return cache stored in the private state facility captures a host address to return to after execution of a guest function completes. A direct-lookup hardware-based hash table is used for the call return cache.
    Type: Application
    Filed: June 27, 2007
    Publication date: January 1, 2009
    Applicant: Microsoft Corporation
    Inventors: Martin Taillefer, Darek Mihocka, Bruno Silva
  • Publication number: 20090006750
    Abstract: Various technologies and techniques are disclosed for using transactional memory hardware to accelerate virtualization or emulation. State isolation can be facilitated by providing isolated private state on transactional memory hardware and storing the stack of a host that is performing an emulation in the isolated private state. Memory accesses performed by a central processing unit can be monitored by software to detect that a guest being emulated has made a self modification to its own code sequence. Transactional memory hardware can be used to facilitate dispatch table updates in multithreaded environments by taking advantage of the atomic commit feature. An emulator is provided that uses a dispatch table stored in main memory to convert a guest program counter into a host program counter. The dispatch table is accessed to see if the dispatch table contains a particular host program counter for a particular guest program counter.
    Type: Application
    Filed: June 27, 2007
    Publication date: January 1, 2009
    Applicant: Microsoft Corporation
    Inventors: Martin Taillefer, Darek Mihocka, Bruno Silva
  • Publication number: 20080263280
    Abstract: A system, method and computer program product for supporting thread level speculative execution in a computing environment having multiple processing units adapted for concurrent execution of threads in speculative and non-speculative modes. Each processing unit includes a cache memory hierarchy of caches operatively connected therewith. The apparatus includes an additional cache level local to each processing unit for use only in a thread level speculation mode, each additional cache for storing speculative results and status associated with its associated processor when handling speculative threads. The additional local cache level at each processing unit are interconnected so that speculative values and control data may be forwarded between parallel executing threads. A control implementation is provided that enables speculative coherence between speculative threads executing in the computing environment.
    Type: Application
    Filed: June 27, 2008
    Publication date: October 23, 2008
    Applicant: INTERNATIONAL BUSINESS MACHINES CORPORATION
    Inventors: Alan G. Gara, Michael K. Gschwind, Valentina Salapura
  • Publication number: 20080244181
    Abstract: Methods and apparatus relating to dynamic management of cache sizes during run-time are described. In one embodiment, the size of an active portion of a cache may be adjusted (e.g., increased or decreased) based on a cache busyness metric. Other embodiments are also disclosed.
    Type: Application
    Filed: March 30, 2007
    Publication date: October 2, 2008
    Inventors: Michael Walz, Venkat Ramana Yalla
  • Patent number: 7404041
    Abstract: A system, method and computer program product for supporting thread level speculative execution in a computing environment having multiple processing units adapted for concurrent execution of threads in speculative and non-speculative modes. Each processing unit includes a cache memory hierarchy of caches operatively connected therewith. The apparatus includes an additional cache level local to each processing unit for use only in a thread level speculation mode, each additional cache for storing speculative results and status associated with its associated processor when handling speculative threads. The additional local cache level at each processing unit are interconnected so that speculative values and control data may be forwarded between parallel executing threads. A control implementation is provided that enables speculative coherence between speculative threads executing in the computing environment.
    Type: Grant
    Filed: February 10, 2006
    Date of Patent: July 22, 2008
    Assignee: International Business Machines Corporation
    Inventors: Alan G. Gara, Michael K. Gschwind, Valentina Salapura
  • Patent number: 7404046
    Abstract: A cache coherent data processing system includes at least a first cache memory supporting a first processing unit and a second cache memory supporting a second processing unit. The first cache memory includes a cache array and a cache directory of contents of the cache array. In response to the first cache memory detecting on an interconnect a broadcast operation that specifies a request address, the first cache memory determines from the operation a type of the operation and a coherency state associated with the request address. In response to determining the type and the coherency state, the first cache memory filters out the broadcast operation without accessing the cache directory.
    Type: Grant
    Filed: February 10, 2005
    Date of Patent: July 22, 2008
    Assignee: International Business Machines Corporation
    Inventors: Benjiman L. Goodman, Guy L. Guthrie, William J. Starke, Derek E. Williams
  • Patent number: 7398360
    Abstract: In one embodiment, a node comprises a plurality of processor cores, coherency control circuitry coupled to the plurality of processor cores, and at least one coherence unit coupled to the coherency control circuitry. Each processor core is configured to have a plurality of threads active and each processor core includes at least one first level cache. The coherency control circuitry is configured to manage intranode coherency among the plurality of processor cores. The coherency unit is configured to couple to an external interface of the node, and is configured to transmit and receive coherence messages on the external interface to maintain coherency with at least one other node having one or processor cores and a coherence unit. In another embodiment, a system comprises an interconnect and a plurality of nodes coupled to the interconnect.
    Type: Grant
    Filed: August 17, 2005
    Date of Patent: July 8, 2008
    Assignee: Sun Microsystems, Inc.
    Inventors: Ricky C. Hetherington, Stephen E. Phillips