Private Caches Patents (Class 711/121)
-
Patent number: 7970999Abstract: 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: GrantFiled: January 22, 2008Date of Patent: June 28, 2011Assignee: ARRIS GroupInventor: Robert C Duzett
-
Patent number: 7966453Abstract: 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: GrantFiled: December 12, 2007Date of Patent: June 21, 2011Assignee: International Business Machines CorporationInventors: Chung-Lung Kevin Shum, Kathryn Marie Jackson, Charles Franklin Webb
-
Publication number: 20110145501Abstract: 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: ApplicationFiled: December 16, 2009Publication date: June 16, 2011Inventors: Simon C. Steely, JR., William C. Hasenplaugh, Aamer Jaleel, George Z. Chrysos
-
Patent number: 7917698Abstract: 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: GrantFiled: October 26, 2007Date of Patent: March 29, 2011Assignee: Oracle America, Inc.Inventors: Robert E. Cypher, Shailender Chaudhry
-
Patent number: 7904587Abstract: 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: GrantFiled: January 19, 2006Date of Patent: March 8, 2011Assignee: Iona Technologies LimitedInventors: Peter Lawrence Cousins, Desmond Carbery
-
Patent number: 7890708Abstract: 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: GrantFiled: February 12, 2008Date of Patent: February 15, 2011Assignee: International Business Machines CorporationInventors: Wayne Melvin Barrett, Brian T. Vanderpool
-
Patent number: 7890700Abstract: 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: GrantFiled: March 19, 2008Date of Patent: February 15, 2011Assignee: International Business Machines CorporationInventors: Ka Shan Choy, Jennifer A. Navarro, Chung-Lung Kevin Shum, Aaron Tsai
-
Patent number: 7870343Abstract: 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: GrantFiled: February 25, 2002Date of Patent: January 11, 2011Assignee: International Business Machines CorporationInventors: Matthias A. Blumrich, Dong Chen, Paul W. Coteus, Alan G. Gara, Mark E. Giampapa, Philip Heidelberger, Dirk Hoenicke, Martin Ohmacht
-
Patent number: 7827354Abstract: 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: GrantFiled: October 25, 2007Date of Patent: November 2, 2010Assignee: International Business Machines CorporationInventors: Leo James Clark, James Stephen Fields, Jr., Guy Lynn Guthrie, Bradley David McCredie, William John Starke
-
Publication number: 20100268881Abstract: 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: ApplicationFiled: July 7, 2010Publication date: October 21, 2010Inventors: Galin Galchev, Frank Kilian, Oliver Luik, Dirk Marwinski, Petio G. Petev
-
Patent number: 7818560Abstract: 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: GrantFiled: September 21, 2007Date of Patent: October 19, 2010Assignee: Intel CorporationInventors: Yufu Li, XiaoHua Cai, Rahul Khanna, Murugasamy Nachimuthu, Vincent J. Zimmer
-
Patent number: 7788239Abstract: 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: GrantFiled: October 23, 2007Date of Patent: August 31, 2010Assignee: global infinipool GmbHInventors: Martin Scholl, Marcus Brindoepke, Otto Roth, Michael Preusse
-
Patent number: 7783843Abstract: 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: GrantFiled: May 16, 2005Date of Patent: August 24, 2010Assignee: Hewlett-Packard Development Company, L.P.Inventor: Vincent R. Freytag
-
Patent number: 7779205Abstract: 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: GrantFiled: November 8, 2005Date of Patent: August 17, 2010Assignee: Koninklijke Philips Electronics N.V.Inventor: Jan Hoogerbrugge
-
Patent number: 7739485Abstract: 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: GrantFiled: October 11, 2002Date of Patent: June 15, 2010Assignee: Hewlett-Packard Development Company, L.P.Inventor: Peter A. Hansen
-
Publication number: 20100146210Abstract: 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: ApplicationFiled: December 4, 2008Publication date: June 10, 2010Applicant: International Business Machines CorporationInventors: CHRISTIAN HABERMANN, Ralf Winkelmann, Hans-Werner Tast, Christian Jacobi
-
Patent number: 7734936Abstract: 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: GrantFiled: May 18, 2006Date of Patent: June 8, 2010Assignee: Intel CorporationInventor: Tony G. Hamilton
-
Publication number: 20100138607Abstract: 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: ApplicationFiled: December 3, 2008Publication date: June 3, 2010Inventors: Christopher J. Hughes, Changkyu Kim, Yen-Kuang Chen
-
Patent number: 7721002Abstract: 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: GrantFiled: June 29, 2006Date of Patent: May 18, 2010Assignee: Microsoft CorporationInventors: Kenneth J. Knight, David J. Messner
-
Patent number: 7698506Abstract: 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: GrantFiled: April 26, 2007Date of Patent: April 13, 2010Assignee: Network Appliance, Inc.Inventors: Robert L. Fair, William P. McGovern, Thomas C. Holland, Jason Sylvain
-
Publication number: 20100083120Abstract: 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: ApplicationFiled: December 18, 2008Publication date: April 1, 2010Inventors: Shintaro Ito, Norio Shimozono
-
Patent number: 7689778Abstract: 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: GrantFiled: November 30, 2004Date of Patent: March 30, 2010Assignee: Intel CorporationInventors: Yen-Cheng Liu, Krishnakanth V. Sistla, George Cai, Jeffrey D. Gilbert
-
Patent number: 7685254Abstract: 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: GrantFiled: December 30, 2005Date of Patent: March 23, 2010Inventor: Ashish A. Pandya
-
Patent number: 7680865Abstract: 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: GrantFiled: November 4, 2005Date of Patent: March 16, 2010Assignee: Canon Kabushiki KaishaInventors: Hirohiko Tashiro, Satoshi Ookuma, Kaori Yamada
-
Publication number: 20100042786Abstract: 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: ApplicationFiled: August 14, 2008Publication date: February 18, 2010Applicant: International Business Machines CorporationInventors: Gordon Bernard BELL, Gordon Taylor DAVIS, Jeffrey Haskell DERBY, Anil KRISHNA, Srinivasan RAMANI, Ken VU, Steve WOOLET
-
Patent number: 7657707Abstract: 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: GrantFiled: October 19, 2006Date of Patent: February 2, 2010Assignee: Hitachi, Ltd.Inventors: Akira Yamamoto, Katsunori Nakamura, Shigeru Kishiro
-
Patent number: 7653908Abstract: 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: GrantFiled: March 4, 2008Date of Patent: January 26, 2010Assignee: International Business Machines CorporationInventors: Maximino Aguilar, Jr., Michael Norman Day, Mark Richard Nutter, James Xenidis
-
Patent number: 7620694Abstract: 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: GrantFiled: September 27, 2005Date of Patent: November 17, 2009Assignee: Intel CorporationInventor: Benjamin Tsien
-
Patent number: 7617363Abstract: 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: GrantFiled: September 26, 2005Date of Patent: November 10, 2009Assignee: Intel CorporationInventors: Nagabhushan Chitlur, Linda J. Rankin, David S. Dunning, Maruti Gupta, Hongbin (Michael) Liao
-
Publication number: 20090271572Abstract: 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: ApplicationFiled: July 2, 2009Publication date: October 29, 2009Inventors: Christopher J. Hughes, Yen-Kuang Chen
-
Publication number: 20090240889Abstract: 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: ApplicationFiled: March 19, 2008Publication date: September 24, 2009Applicant: INTERNATIONAL BUSINESS MACHINES CORPORATIONInventors: Ka Shan Choy, Jennifer A. Navarro, Chung-Lung Kevin Shum, Aaron Tsai
-
Patent number: 7584327Abstract: 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: GrantFiled: December 30, 2005Date of Patent: September 1, 2009Assignee: Intel CorporationInventors: Yen-Kuang Chen, Christopher J. Hughes
-
Patent number: 7581064Abstract: 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: GrantFiled: April 24, 2006Date of Patent: August 25, 2009Assignee: VMware, Inc.Inventors: John Zedlewski, Carl Waldspurger
-
Patent number: 7565474Abstract: 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: GrantFiled: June 29, 2005Date of Patent: July 21, 2009Assignee: Fujitsu LimitedInventors: Shigeyoshi Ohara, Kazunori Masuyama
-
Patent number: 7562190Abstract: 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: GrantFiled: June 17, 2005Date of Patent: July 14, 2009Assignee: Sun Microsystems, Inc.Inventors: Michael J. Koster, Brian W. O'Krafka
-
Publication number: 20090157965Abstract: 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: ApplicationFiled: December 12, 2007Publication date: June 18, 2009Applicant: INTERNATIONAL BUSINESS MACHINES CORPORATIONInventors: Chung-Lung Kevin Shum, Kathryn Marie Jackson, Charles Franklin Webb
-
Patent number: 7546353Abstract: 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: GrantFiled: November 13, 2004Date of Patent: June 9, 2009Assignee: Western Digital Technologies, Inc.Inventors: Lambertus Hesselink, Dharmarus Rizal, Eric S. Bjornson
-
Publication number: 20090132059Abstract: 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: ApplicationFiled: November 13, 2008Publication date: May 21, 2009Inventors: Ronald E. Schultz, Scot A. Tutkovics, Richard J. Grgic, James J. Kay, James W. Kenst, Daniel W. Clark
-
Patent number: 7536692Abstract: 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: GrantFiled: November 6, 2003Date of Patent: May 19, 2009Assignee: Intel CorporationInventors: Sridhar Lakshmanamurthy, Wilson Y. Liao, Prashant R. Chandra, Jeen-Yuan Miin, Yim Pun
-
Publication number: 20090113131Abstract: 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: ApplicationFiled: October 26, 2007Publication date: April 30, 2009Applicant: Sun Microsystems, Inc.Inventors: Robert E. Cypher, Shailender Chaudhry
-
Patent number: 7526608Abstract: 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: GrantFiled: May 24, 2005Date of Patent: April 28, 2009Assignee: Sony Computer Entertainment Inc.Inventor: Masahiro Yasue
-
Patent number: 7512737Abstract: 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: GrantFiled: December 28, 2004Date of Patent: March 31, 2009Assignee: SAP AGInventors: Petio G. Petev, Michael Wintergerst
-
Patent number: 7500031Abstract: 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: GrantFiled: November 30, 2005Date of Patent: March 3, 2009Assignee: Broadcom CorporationInventor: Fong Pong
-
Publication number: 20090006751Abstract: 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: ApplicationFiled: June 27, 2007Publication date: January 1, 2009Applicant: Microsoft CorporationInventors: Martin Taillefer, Darek Mihocka, Bruno Silva
-
Publication number: 20090006750Abstract: 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: ApplicationFiled: June 27, 2007Publication date: January 1, 2009Applicant: Microsoft CorporationInventors: Martin Taillefer, Darek Mihocka, Bruno Silva
-
Publication number: 20080263280Abstract: 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: ApplicationFiled: June 27, 2008Publication date: October 23, 2008Applicant: INTERNATIONAL BUSINESS MACHINES CORPORATIONInventors: Alan G. Gara, Michael K. Gschwind, Valentina Salapura
-
Publication number: 20080244181Abstract: 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: ApplicationFiled: March 30, 2007Publication date: October 2, 2008Inventors: Michael Walz, Venkat Ramana Yalla
-
Patent number: 7404041Abstract: 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: GrantFiled: February 10, 2006Date of Patent: July 22, 2008Assignee: International Business Machines CorporationInventors: Alan G. Gara, Michael K. Gschwind, Valentina Salapura
-
Patent number: 7404046Abstract: 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: GrantFiled: February 10, 2005Date of Patent: July 22, 2008Assignee: International Business Machines CorporationInventors: Benjiman L. Goodman, Guy L. Guthrie, William J. Starke, Derek E. Williams
-
Patent number: 7398360Abstract: 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: GrantFiled: August 17, 2005Date of Patent: July 8, 2008Assignee: Sun Microsystems, Inc.Inventors: Ricky C. Hetherington, Stephen E. Phillips