Shared Cache Patents (Class 711/130)
  • Patent number: 8275942
    Abstract: According to one embodiment of the invention, a method is disclosed for selecting a first subset of a plurality of cache ways in a cache for storing hardware threads identified as high priority hardware threads for processing by a multi-threaded processor in communication with the cache; assigning high priority hardware threads to the selected first subset; monitoring a cache usage of a high priority hardware thread assigned to the selected first subset of plurality of cache ways; and reassigning the assigned high priority hardware thread to any cache way of the plurality of cache ways if the cache usage of the high priority hardware thread exceeds a predetermined inactive cache usage threshold value based on the monitoring.
    Type: Grant
    Filed: December 22, 2005
    Date of Patent: September 25, 2012
    Assignee: Intel Corporation
    Inventors: Theodros Yigzaw, Geeyarpuram N. Santhanakrishnan, Mark Rowland, Ganapati Srinivasa
  • Patent number: 8275940
    Abstract: A method is provided for optimization of the management of a server cache for dynamic pages, which may be consulted by client terminals with differing characteristics which requires the provision of discrete versions of a dynamic page in the cache. When a terminal requests a dynamic page, a verification step—for the presence of at least one version of the dynamic page in the cache is carried out, such that if the verification is positive the following complementary steps are carried out: procurement of a set of characteristics specific to the type of client terminal, determination of a subset of necessary characteristics from amongst the specific characteristics for the reproduction of the dynamic page on a client terminal, search, among the version(s) of the dynamic page in the cache for a suitable version using the subset of necessary characteristics and allocation of the suitable version to the client terminal.
    Type: Grant
    Filed: March 27, 2006
    Date of Patent: September 25, 2012
    Assignee: Streamezzo
    Inventors: Elouan Lecoq, Julien Perron
  • Patent number: 8271734
    Abstract: A system and method for converting data from one format to another in a processing pipeline architecture. Data is stored in a shared cache that is coupled between one or more clients and an external memory. The shared cache provides storage that is used by multiple clients rather than being dedicated to separately convert the data format for each client. Each client may interface with the memory using a different format, such as a compressed data format. Data is converted to the format expected by the particular client as it is read from the cache and output to the client during a read operation. Bytes of a cache line may be remapped to bytes of an unpack register for output to a naïve client, which may be configured to perform texture mapping operations. Data is converted from the client format to the memory format as it is stored into the cache during a write operation.
    Type: Grant
    Filed: December 5, 2008
    Date of Patent: September 18, 2012
    Assignee: NVIDIA Corporation
    Inventors: David B. Glasco, Peter B. Holmqvist, George R. Lynch, Patrick R. Marchand, Karan Mehra, James Roberts
  • Patent number: 8271735
    Abstract: A new “held” (“H”) cache-coherency state is introduced for directory-based multiprocessor systems. Using the held state enables embodiments of the present invention to track sharers that have a shared copy of a cache line after a directory runs out of space for holding information that identifies processors that have received shared copies of the cache line (e.g., pointers to sharers of the cache line). In these embodiments, when a directory entry is full, the system provides subsequent shared copies of the cache line to sharers in the held state and tracks the identity of the held-copy owners in a data field in the entry for the cache line in a home node.
    Type: Grant
    Filed: January 13, 2009
    Date of Patent: September 18, 2012
    Assignee: Oracle America, Inc.
    Inventor: Robert E. Cypher
  • Publication number: 20120233393
    Abstract: In one embodiment, a processor includes a first cache and a second cache, a first core associated with the first cache and a second core associated with the second cache. The caches are of asymmetric sizes, and a scheduler can intelligently schedule threads to the cores based at least in part on awareness of this asymmetry and resulting cache performance information obtained during a training phase of at least one of the threads.
    Type: Application
    Filed: March 8, 2011
    Publication date: September 13, 2012
    Inventors: Xiaowei Jiang, Li Zhao, Ravishankar Iyer
  • Publication number: 20120226870
    Abstract: A method for recovery in a shared memory environment is provided in the illustrative embodiments. A core in a multi-core processor is designated as a user level core (ULC), which executes an instruction to modify a memory while executing an application. A second core is designated as a operating system core (OSC), which manages checkpointing of several segments of the shared memory. A set of flags is accessible to a memory controller to manage a shared memory. A flag in the set of flags corresponds to one segment in the segments of the shared memory. A message or instruction for modification of a segment is received. A cache line tracking determination is made whether a cache line used for the modification has already been used for a similar modification. If not, a part of the segment is checkpointed. The modification proceeds after checkpointing.
    Type: Application
    Filed: March 7, 2012
    Publication date: September 6, 2012
    Applicant: International Business Machines Corporation
    Inventor: Elmootazbellah Nabil Elnozahy
  • Publication number: 20120226865
    Abstract: Disclosed is a network-on-chip system including an active memory processor for processing increased communication latency by multiple processors and memories. The network-on-chip system includes a plurality of processing elements that request to perform an active memory operation for a predetermined operation from a shared memory to reduce access latency of the shared memory, and an active memory processor connected to the processing elements through a network, storing codes for processing custom transaction in request to the active memory operation, performing an operation addresses or data stored in a shared cache memory or the shared memory based on the codes and transmitting the performed operation result to the processing elements.
    Type: Application
    Filed: December 9, 2009
    Publication date: September 6, 2012
    Applicant: SNU R&DB FOUNDATION
    Inventors: Ki-Young Choi, Jun-Hee Yoo, Sung-Joo Yoo, Hyun-Chul Shin
  • Patent number: 8261021
    Abstract: In order to control an access request to the cache shared between a plurality of threads, a storage unit for storing a flag provided in association with each of the threads is included. If the threads enter the execution of an atomic instruction, a defined value is written to the flags stored in the storage unit. Furthermore, if the atomic instruction is completed, a defined value different from the above defined value is written, thereby displaying whether or not the threads are executing the atomic instruction. If an access request is issued from a certain thread, it is judged whether or not a thread different from the certain thread is executing the atomic instruction by referencing the flag values in the storage unit. If it is judged that another thread is executing the atomic instruction, the access request is kept standby. This makes it possible to realize the exclusive control processing necessary for processing the atomic instruction according to simple configuration.
    Type: Grant
    Filed: December 17, 2009
    Date of Patent: September 4, 2012
    Assignee: Fujitsu Limited
    Inventor: Naohiro Kiyota
  • Patent number: 8260793
    Abstract: A method for updating data includes, in a processor, receiving a data field update associated with an existing data object of a data class, modifying a data field of an updater data object of the data class based upon the data field update, traversing the updater data object to identify the modified data field, and modifying a data field of the existing data object based upon the identified data field of the updater data object.
    Type: Grant
    Filed: June 11, 2010
    Date of Patent: September 4, 2012
    Assignee: Raytheon Company
    Inventors: David A. Kiraly, Adam L. Adkins, Gregory M. Jewell
  • Publication number: 20120221795
    Abstract: A shared memory system provides an access monitoring mechanism 112 with a definition for taking clusters for motion picture attributes as pieces of cluster memory 1 and 2. When a DSP (2) 104 makes access to memory while adding attribute information about an image to the access, the access monitoring mechanism 112 outputs to a cluster memory space selector 119 control information 131 that permits making of access to the pieces of cluster memory 1 and 2. Based on the control information 131, the cluster memory space selector 119 sorts access from the DSP (2) 104 to the cluster memory 1 or 2. The same also applies to access from a GPU 105. A plurality of master processors share shared memory 110 divided into a plurality of clusters 111, thereby holding coherence of cache memory.
    Type: Application
    Filed: May 9, 2012
    Publication date: August 30, 2012
    Applicant: PANASONIC CORPORATION
    Inventors: Masahiro HOSHAKU, Yukiteru Murao, Daisuke Horigome, Masanori Okinoi
  • Publication number: 20120215984
    Abstract: A multi-core processor providing heterogeneous processor cores and a shared cache is presented.
    Type: Application
    Filed: February 27, 2012
    Publication date: August 23, 2012
    Inventors: Frank T. Hady, Mason B. Cabot, John Beck, Mark B. Rosenbluth
  • Publication number: 20120210071
    Abstract: A multi-core processor with a shared physical memory is described. In an embodiment a sending core sends a memory write request to a destination core so that the request may be acted upon by the destination core as if it originated from the destination core. In an example, a data structure is configured in the shared physical memory and mapped to be accessible to the sending and destination cores. In an example, the shared data structure is used as a message channel between the sending and destination cores to carry data using the memory write request. In an embodiment a notification mechanism is enabled using the shared physical memory in order to notify the destination core of events by updating a notification data structure. In an example, the notification mechanism triggers a notification process at the destination core to inform a receiving process of a notification.
    Type: Application
    Filed: February 11, 2011
    Publication date: August 16, 2012
    Applicant: Microsoft Corporation
    Inventors: Richard John Black, Timothy Harris, Ross Cameron Mcilroy, Karin Strauss
  • Patent number: 8244983
    Abstract: A memory control system is provided with a directory cache and a memory controller. The directory cache has a plurality of directory cache entries configured to store information regarding copies of memory lines stored in a plurality of memory caches, wherein each directory cache entry has one or more bits configured to store an ownership state that indicates whether a corresponding master directory entry lacks a memory cache owner. The memory controller is configured to free for re-use ones of the directory cache entries by 1) accessing a particular directory entry, and 2) determining whether the ownership state of the particular directory cache entry indicates that a corresponding master directory entry lacks a memory cache owner. If so, the memory controller A) skips a master directory update process, and B) claims for re-use the particular directory cache entry.
    Type: Grant
    Filed: October 30, 2006
    Date of Patent: August 14, 2012
    Assignee: Hewlett-Packard Development Company, L.P.
    Inventor: Erin A. Handgen
  • Patent number: 8243313
    Abstract: A method is disclosed. The method includes identifying a received object to be cached, calculating a time to rasterize the object, determining if the rasterize time is greater than a time to reuse a rasterized image of the object, caching the object if the reuse time is greater than the rasterize time and caching the rasterized image of the object if the rasterize time is greater than the reuse time.
    Type: Grant
    Filed: May 26, 2009
    Date of Patent: August 14, 2012
    Assignee: InfoPrint Solutions Company LLC
    Inventors: John Varga, Dennis Carney
  • Patent number: 8244981
    Abstract: In one embodiment, a memory that is delineated into transparent and non-transparent portions. The transparent portion may be controlled by a control unit coupled to the memory, along with a corresponding tag memory. The non-transparent portion may be software controlled by directly accessing the non-transparent portion via an input address. In an embodiment, the memory may include a decoder configured to decode the address and select a location in either the transparent or non-transparent portion. Each request may include a non-transparent attribute identifying the request as either transparent or non-transparent. In an embodiment, the size of the transparent portion may be programmable. Based on the non-transparent attribute indicating transparent, the decoder may selectively mask bits of the address based on the size to ensure that the decoder only selects a location in the transparent portion.
    Type: Grant
    Filed: July 10, 2009
    Date of Patent: August 14, 2012
    Assignee: Apple Inc.
    Inventors: James Wang, Zongjian Chen, James B. Keller, Timothy J. Millet
  • Publication number: 20120203950
    Abstract: Methods and apparatus relating to improving address translation caching and/or input/output (I/O) cache performance in virtualized environments are described. In one embodiment, a hint provided by an endpoint device may be utilized to update information stored in an I/O cache. Such information may be utilized for implementation of a more efficient replacement policy in an embodiment. Other embodiments are also disclosed.
    Type: Application
    Filed: April 17, 2012
    Publication date: August 9, 2012
    Inventors: Mahesh Wagh, Jasmin Ajanovic
  • Patent number: 8239879
    Abstract: A method for providing global notification of completion of a global shared memory (GSM) operation during processing by a target task executing at a target node of a distributed system. The distributed system has at least one other node on which an initiating task that generated the GSM operation is homed. The target task receives the GSM operation from the initiating task, via a host fabric interface (HFI) window assigned to the target task. The task initiates execution of the GSM operation on the target node. The task detects completion of the execution of the GSM operation on the target node, and issues a global notification to at least the initiating task. The global notification indicates the completion of the execution of the GSM operation to one or more tasks of a single job distributed across multiple processing nodes.
    Type: Grant
    Filed: February 1, 2008
    Date of Patent: August 7, 2012
    Assignee: International Business Machines Corporation
    Inventors: Lakshminarayana B. Arimilli, Robert S. Blackmore, Gheorghe C. Cascaval, Ramakrishnan Rajamony
  • Publication number: 20120198172
    Abstract: A mechanism is provided in a virtual machine monitor for providing cache partitioning in virtualized environments. The mechanism assigns a virtual identification (ID) to each virtual machine in the virtualized environment. The processing core stores the virtual ID of the virtual machine in a special register. The mechanism also creates an entry for the virtual machine in a partition table. The mechanism may partition a shared cache using a vertical (way) partition and/or a horizontal partition. The entry in the partition table includes a vertical partition control and a horizontal partition control. For each cache access, the virtual machine passes the virtual ID along with the address to the shared cache. If the cache access results in a miss, the shared cache uses the partition table to select a victim cache line for replacement.
    Type: Application
    Filed: April 11, 2012
    Publication date: August 2, 2012
    Applicant: International Business Machines Corporation
    Inventors: Jiang Lin, Lixin Zhang
  • Patent number: 8219758
    Abstract: In an embodiment, a non-transparent memory unit is provided which includes a non-transparent memory and a control circuit. The control circuit may manage the non-transparent memory as a set of non-transparent memory blocks. Software executing on one or more processors may request a non-transparent memory block in which to process data. The control circuit may allocate a first block, and may return an address (or other indication) of the allocated block so that the software can access the block. The control circuit may also provide automatic data movement between the non-transparent memory and a main memory system to which the non-transparent memory unit is coupled. For example, the automatic data movement may include filling data from the main memory system to the allocated block, or flushing the data in the allocated block to the main memory system after the processing of the allocated block is complete.
    Type: Grant
    Filed: July 10, 2009
    Date of Patent: July 10, 2012
    Assignee: Apple Inc.
    Inventors: James Wang, Zongjian Chen, James B. Keller, Timothy J. Millet
  • Patent number: 8214587
    Abstract: A storage apparatus has a channel board 11; a drive board 13; a cache memory 14; a plurality of processor boards 12 that transfer data; and a shared memory 15. The channel board 11 stores a frame transfer table 521 containing information indicative of correspondence between a LDEV 172 and each of the processor boards 12, set in accordance with a right of ownership that is a right of access to the LDEV 172. The processor boards 12 store LDEV control information 524 in a local memory 123, which is referred to by the processor board at the time of access. The channel board 11 transfers a data frame that forms the received data I/O request, to one of the processor boards 12 corresponding to the LDEV 172 specified from the information contained in the frame by using the frame transfer table 521.
    Type: Grant
    Filed: May 26, 2009
    Date of Patent: July 3, 2012
    Assignee: Hitachi, Ltd.
    Inventors: Takashi Noda, Takashi Ochi, Yoshihito Nakagawa
  • Publication number: 20120166731
    Abstract: In some embodiments, an adaptive break-even time, based on the load level of the cache, may be employed.
    Type: Application
    Filed: December 22, 2010
    Publication date: June 28, 2012
    Inventors: CHRISTIAN MACIOCCO, REN WANG, TSUNG-YUAN C. TAI
  • Patent number: 8209490
    Abstract: The present application is a protocol for maintaining cache coherency in a CMP. The CMP design contains multiple processor cores with each core having it own private cache. In addition, the CMP has a single on-ship shared cache. The processor cores and the shared cache may be connected together with a synchronous, unbuffered bidirectional ring interconnect. In the present protocol, a single INVALIDATEANDACKNOWLEDGE message is sent on the ring to invalidate a particular core and acknowledge a particular core.
    Type: Grant
    Filed: December 30, 2003
    Date of Patent: June 26, 2012
    Assignee: Intel Corporation
    Inventors: Matthew Mattina, George Z. Chrysos
  • Patent number: 8209704
    Abstract: Described are techniques for intermodule communication between a first code module and a second code module wherein one of the first and second code modules executing in user space and the other of the first and second code modules executing in kernel space. A shared memory portion includes storage for one or more commands. A first first-in-first-out (FIFO) structure is used to send a location in the shared memory portion from the first to the second code module. A second FIFO structure is used for sending a location in the shared memory portion from the second to the first code module. The first code module stores command data for a command at a first location in the shared memory portion. A command is issued from the first to the second code module by sending the first location using the first FIFO structure.
    Type: Grant
    Filed: March 28, 2008
    Date of Patent: June 26, 2012
    Assignee: EMC Corporation
    Inventors: Peter J. McCann, Christopher M. Gould
  • Publication number: 20120159077
    Abstract: A method and apparatus to reduce unnecessary write backs of cached data to a main memory and to optimize the usage of a cache memory tag directory. In one embodiment of the invention, the power consumption of a processor can be saved by eliminating write backs of cache memory lines that has information that has reached its end-of-life. In one embodiment of the invention, when a processing unit is required to clear one or more cache memory lines, it uses a write-zero command to clear the one or more cache memory lines. The processing unit does not perform a write operation to move or pass data values of zero to the one or more cache memory lines. By doing so, it reduces the power consumption of the processing unit.
    Type: Application
    Filed: December 21, 2010
    Publication date: June 21, 2012
    Inventors: SIMON C. STEELY, JR., Joel S. Emer, William C. Hasenplaugh
  • Patent number: 8205044
    Abstract: A method and system for dynamic distributed data caching is presented. The system includes one or more peer members and a master member. The master member and the one or more peer members form cache community for data storage. The master member is operable to select one of the one or more peer members to become a new master member. The master member is operable to update a peer list for the cache community by removing itself from the peer list. The master member is operable to send a nominate master message and an updated peer list to a peer member selected by the master member to become the new master member.
    Type: Grant
    Filed: February 14, 2011
    Date of Patent: June 19, 2012
    Assignee: Parallel Networks, LLC
    Inventors: Keith A. Lowery, Bryan S. Chin, David A. Consolver, Gregg A. DeMasters
  • Patent number: 8205067
    Abstract: A method, computer-readable medium, and apparatus for context switching between a first thread and a second thread. The method includes detecting an exception, wherein the exception is generated in response to receiving a packet of information directed to one of the first thread and the second thread, and in response to detecting the exception, invoking an exception handler. The exception handler is configured to execute one or more instructions removing access to at least a portion of a processor cache. The portion of the processor cache contains cached information for the first thread using a first address translation. Removing access to the portion of the processor cache prevents the second thread using a second address translation from accessing the cached information in the processor cache. The exception handler is also configured to branch to at least one of the first thread and the second thread.
    Type: Grant
    Filed: January 11, 2010
    Date of Patent: June 19, 2012
    Assignee: International Business Machines Corporation
    Inventors: Jon K. Kriegel, Eric Oliver Mejdrich
  • Patent number: 8205206
    Abstract: A data processing apparatus and method are provided for managing multiple program threads executed by processing circuitry. The multiple program threads include at least one high priority program thread and at least one lower priority program thread. At least one storage unit is shared between the multiple program threads and has multiple entries for storing information for reference by the processing circuitry when executing the program threads. Thread control circuitry is used to detect a condition indicating an adverse effect caused by a lower priority program thread being executed by the processing circuitry and resulting from sharing of the at least one storage unit between the multiple program threads.
    Type: Grant
    Filed: May 8, 2008
    Date of Patent: June 19, 2012
    Assignee: ARM Limited
    Inventors: Emre Özer, Stuart David Biles
  • Publication number: 20120144122
    Abstract: A method and apparatus for accelerated shared data migration between cores is disclosed.
    Type: Application
    Filed: December 7, 2010
    Publication date: June 7, 2012
    Applicant: ADVANCED MICRO DEVICES, INC.
    Inventors: Kevin M. Lepak, Vydhyanathan Kalyanasundharam, William A. Hughes, Benjamin Tsien, Greggory D. Donley
  • Patent number: 8195880
    Abstract: An information handling system (IHS) includes a processor with a cache memory system. The processor includes a processor core with an L1 cache memory that couples to an L2 cache memory. The processor includes an arbitration mechanism that controls load and store requests to the L2 cache memory. The arbitration mechanism includes control logic that enables a load request to interrupt a store request that the L2 cache memory is currently servicing. The L2 cache memory includes dual data banks so that one bank may perform a load operation while the other bank performs a store operation. The cache system provides dual dispatch points into the data flow to the dual cache banks of the L2 cache memory.
    Type: Grant
    Filed: April 15, 2009
    Date of Patent: June 5, 2012
    Assignee: International Business Machines Corporation
    Inventors: Sanjeev Gai, Guy Lynn Guthrie, Hugh Shen, William John Starke
  • Patent number: 8195882
    Abstract: A shader pipe texture filter utilizes a level one cache system as a primary method of storage but with the ability to have the level one cache system read and write to a level two cache system when necessary. The level one cache system communicates with the level two cache system via a wide channel memory bus. In addition, the level one cache system can be configured to support dual shader pipe texture filters while maintaining access to the level two cache system. A method utilizing a level one cache system as a primary method of storage with the ability to have the level one cache system read and write a level two cache system when necessary is also presented. In addition, level one cache systems can allocate a defined area of memory to be sharable amongst other resources.
    Type: Grant
    Filed: June 1, 2009
    Date of Patent: June 5, 2012
    Assignee: Advanced Micro Devices, Inc.
    Inventors: Anthony P. DeLaurier, Mark Leather, Robert S. Hartog, Michael J. Mantor, Mark C. Fowler, Marcos P. Zini
  • Publication number: 20120137075
    Abstract: The invention relates to a multi-core processor system, in particular a single-package multi-core processor system, comprising at least two processor cores, preferably at least four processor cores, each of said at least two cores, preferably at least four processor cores, having a local LEVEL-1 cache, a tree communication structure combining the multiple LEVEL-1 caches, the tree having at least one node, preferably at least three nodes for a four processor core multi-core processor, and TAG information is associated to data managed within the tree, usable in the treatment of the data.
    Type: Application
    Filed: June 9, 2010
    Publication date: May 31, 2012
    Applicant: HYPERION CORE, INC.
    Inventor: Martin Vorbach
  • Publication number: 20120137078
    Abstract: In one embodiment, a memory controller may be configured to transmit two or more critical words (or beats) corresponding to two or more different read requests prior to returning the remaining beats of the read requests. Such an embodiment may reduce latency to the sources of the memory requests, which may be stalled awaiting the critical words. The remaining words may fill a cache block or other buffer, but may not be required by the sources as quickly as the critical words in order to support higher performance. In some embodiments, once a remaining beat of a block is transmitted, all of the remaining beats may be transmitted contiguously. In other embodiments, additional critical words may be forwarded between remaining beats of a block.
    Type: Application
    Filed: November 29, 2010
    Publication date: May 31, 2012
    Inventors: Sukalpa Biswas, Hao Chen, Brian P. Lilly
  • Patent number: 8190823
    Abstract: An apparatus, system, and method are disclosed for deduplicating storage cache data. A storage cache partition table has at least one entry associating a specified storage address range with one or more specified storage partitions. A deduplication module creates an entry in the storage cache partition table wherein the specified storage partitions contain identical data to one another within the specified storage address range thus requiring only one copy of the identical data to be cached in a storage cache. A read module accepts a storage address within a storage partition of a storage subsystem, to locate an entry wherein the specified storage address range contains the storage address, and to determine whether the storage partition is among the one or more specified storage partitions if such an entry is found.
    Type: Grant
    Filed: September 18, 2008
    Date of Patent: May 29, 2012
    Assignee: Lenovo (Singapore) Pte. Ltd.
    Inventors: Rod D. Waltermann, Mark Charles Davis
  • Patent number: 8190839
    Abstract: A multi-processor computer system is provided for managing physical memory domains. The system includes at least one processor having an address interface for sending a memory access message, which includes an address in physical memory and a domain identification (ID). The system also includes a physical memory portioned into a plurality of domains, where each domain includes a plurality of physical addresses. A domain mapping unit (DMU) has an interface to accept the memory access message from the processor. The DMU uses the domain ID to access a permission list, cross-reference the domain ID to a domain including addresses in physical memory, and grant the processor access to the address in response to the address being located in the domain.
    Type: Grant
    Filed: March 11, 2009
    Date of Patent: May 29, 2012
    Assignee: Applied Micro Circuits Corporation
    Inventor: Daniel L. Bouvier
  • Patent number: 8185696
    Abstract: Reconfigurable Systems-an-Chip (RSoCs) on the market consist of full-fledged processors and large Field-Programmable Gate Arrays (FPGAs). The latter can be used to implement the system glue logic, various peripherals, and application-specific coprocessors. Using FPGAs for application-specific coprocessors has certain speedup potentials, but it is less present in practice because of the complexity of interfacing the software application with the coprocessor. In the present application, we present a virtualisation layer consisting of an operating system extension and a hardware component. It lowers the complexity of interfacing and increases portability potentials, while it also allows the coprocessor to access the user virtual memory through a virtual memory window. The burden of moving data between processor and coprocessor is shifted from the programmer to the operating system.
    Type: Grant
    Filed: April 19, 2005
    Date of Patent: May 22, 2012
    Assignee: Ecole Polytechnique Federale de Lausanne (EPFL)
    Inventors: Miljan Vuletic, Laura Pozzi, Paolo Ienne
  • Patent number: 8176255
    Abstract: A system comprises a processor core and a cache coupled to the core and comprising at least one cache way dedicated to the core, where the cache way comprises multiple cache lines. The system also comprises a cache controller coupled to the cache. Upon receiving a data request from the core, the cache controller determines whether the cache has a predetermined amount of invalid cache lines. If the cache does not have the predetermined amount of invalid cache lines, the cache controller is adapted to allocate space in the cache for new data, where the space is allocable in the at least one cache way dedicated to the core.
    Type: Grant
    Filed: October 19, 2007
    Date of Patent: May 8, 2012
    Assignee: Hewlett-Packard Development Company, L.P.
    Inventor: Patrick Knebel
  • Patent number: 8176282
    Abstract: A system and method are provided for managing cache memory in a computer system. A cache controller portions a cache memory into a plurality of partitions, where each partition includes a plurality of physical cache addresses. Then, the method accepts a memory access message from the processor. The memory access message includes an address in physical memory and a domain identification (ID). A determination is made if the address in physical memory is cacheable. If cacheable, the domain ID is cross-referenced to a cache partition identified by partition bits. An index is derived from the physical memory address, and a partition index is created by combining the partition bits with the index. A processor is granted access (read or write) to an address in cache defined by partition index.
    Type: Grant
    Filed: April 6, 2009
    Date of Patent: May 8, 2012
    Assignee: Applied Micro Circuits Corporation
    Inventor: Daniel L. Bouvier
  • Patent number: 8176256
    Abstract: A cache region can be created in a cache in response to receiving a cache region creation request from an application. A storage request from the application can identify the cache region and one or more objects to be stored in the cache region. Those objects can be stored in the cache region in response to receiving the storage request.
    Type: Grant
    Filed: May 14, 2009
    Date of Patent: May 8, 2012
    Assignee: Microsoft Corporation
    Inventors: Muralidhar Krishnaprasad, Anil K. Nori, Subramanian Muralidhar, Sudhir Mohan Jorwekar, Lakshmi Suresh Goduguluru
  • Publication number: 20120110268
    Abstract: The data processing apparatus according to an embodiment of the present invention includes: a first processor; a second processor; and an external RAM to/from which the first processor writes/reads data, the first processor including a cache memory for storing data used in the first processor in association with an address on the external RAM, and the data being written to the cache memory by the second processor not through the external RAM.
    Type: Application
    Filed: January 11, 2012
    Publication date: May 3, 2012
    Applicant: Renesas Electronics Corporation
    Inventor: Mitsunobu Tanigawa
  • Patent number: 8171231
    Abstract: According to one embodiment of the invention, a processor comprises a memory, a plurality of core-cache clusters and a scalability agent unit that operates as an interface between an on-die interconnect and multiple core-cache clusters. The scalability agent operates in accordance with a protocol to ensure that the plurality of core-cache clusters appear as a single caching agent.
    Type: Grant
    Filed: August 10, 2011
    Date of Patent: May 1, 2012
    Assignee: Intel Corporation
    Inventor: Krishnakanth Sistla
  • Patent number: 8171233
    Abstract: A multiport semiconductor memory device and a multiprocessor system employing the same directly accesses a shared nonvolatile memory. The multiport semiconductor memory device includes a plurality of port units coupled with respective corresponding processors. A shared memory area is accessed by both the processors through the port units. A data path control unit controls a data path between the shared memory area and the port units and data transmission/reception is performed between the processors through the shared memory area. An access authority information storage unit is positioned outside of the memory cell array and stores information for an access authority of nonvolatile memory and provides the information to the processors. Accordingly, a direct access is performed by a processor indirectly connected to nonvolatile memory.
    Type: Grant
    Filed: February 10, 2009
    Date of Patent: May 1, 2012
    Assignee: Samsung Electronics Co., Ltd.
    Inventor: Jin-Hyung Kwon
  • Patent number: 8166518
    Abstract: A computer implemented method provides remote access to a plurality of sessions at a computer. The method includes initiating a master process in a context independent from the sessions, establishing a first slave process in a context of a first session, and maintaining communication between the master process and the first slave process. The master process provides access to the computer's display while the display is under control of the first session, detects a second session, having a respective second slave process, communicates with the second slave process, and provides access to the computer's display while the display is under control of the second user session.
    Type: Grant
    Filed: November 15, 2006
    Date of Patent: April 24, 2012
    Assignee: Netopia, Inc.
    Inventors: Michael Byron Price, Marc A. Epard, Donald W. Griffin
  • Patent number: 8156285
    Abstract: A multi-core processor providing heterogeneous processor cores and a shared cache is presented.
    Type: Grant
    Filed: July 6, 2009
    Date of Patent: April 10, 2012
    Assignee: Intel Corporation
    Inventors: Frank T. Hady, Mason B. Cabot, John Beck, Mark B. Rosenbluth
  • Patent number: 8156283
    Abstract: Apparatus and method for employing a Hardware Processing Function in a processor system using a hierarchical memory. Embodiments of the disclosed invention may be used to enhance processor performance and functionality while maintaining cache coherency and reducing cache pollution. A system includes a processor, a hierarchical memory system coupled to the processor, and a Hardware Processing Function coupled to the hierarchical memory system. The processor is configured to decode an instruction and the hierarchical memory system is configured to execute the instruction. The instruction directs the memory system to perform a data manipulation. The processor transfers a value to the memory system. The value comprises a location of source data to be manipulated, a selection of a Hardware Processing Function to perform the data manipulation, and a destination storage location where the manipulated data is to be stored.
    Type: Grant
    Filed: September 27, 2007
    Date of Patent: April 10, 2012
    Assignee: Texas Instruments Incorporated
    Inventors: Eric L. P. Badi, Serge B. Lasserre
  • Patent number: 8151270
    Abstract: A method for designing a time-sliced and multi-threaded architecture comprises the steps of conducting a thorough analysis of a range of applications and building a specific processor to accommodate the range of applications. In one embodiment, the thorough analysis includes extracting real time aspects from each application, determining optimal granularity in the architecture based on the real time aspects of each application, and adjusting the optimal granularity based on acceptable context switching overhead.
    Type: Grant
    Filed: August 20, 2007
    Date of Patent: April 3, 2012
    Assignee: Infineon Technologies AG
    Inventors: Keith Rieken, Joel D. Medlock, David M. Holmes
  • Patent number: 8151059
    Abstract: According to one embodiment of the invention, a processor comprises a memory, a plurality of processor cores in communication with the cache memory and a scalability agent unit. The scalability agent unit is adapted to control conflict detection and resolution of accesses to the memory. The scalability agent unit receives control information concerning transactions involving the memory without receiving data for the transactions.
    Type: Grant
    Filed: November 29, 2006
    Date of Patent: April 3, 2012
    Assignee: Intel Corporation
    Inventor: Krishnakanth Sistla
  • Patent number: 8151057
    Abstract: A shared cache is point-to-point connected to a plurality of point-to-point connected processing nodes, wherein the processing nodes may be integrated circuits or multiprocessing systems. In response to a local cache miss, a requesting processing node issues a broadcast for requested data which is observed by the shared cache. If the shared cache has a copy of the requested data, the shared cache forwards the copy of the requested data to the requesting processing node.
    Type: Grant
    Filed: July 15, 2004
    Date of Patent: April 3, 2012
    Assignee: Oracle America, Inc.
    Inventors: Michael J. Koster, Shailendra Deva, Brian W. O'Krafka
  • Publication number: 20120079204
    Abstract: Parallel pipelines are used to access a shared memory. The shared memory is accessed via a first pipeline by a processor to access cached data from the shared memory. The shared memory is accessed via a second pipeline by a memory access unit to access the shared memory. A first set of tags is maintained for use by the first pipeline to control access to the cache memory, while a second set of tags is maintained for use by the second pipeline to access the shared memory. Arbitrating for access to the cache memory for a transaction request in the first pipeline and for a transaction request in the second pipeline is performed after each pipeline has checked its respective set of tags.
    Type: Application
    Filed: August 18, 2011
    Publication date: March 29, 2012
    Inventors: Abhijeet Ashok Chachad, Raguram Damodaran, Jonathan (Son) Hung Tran, Timothy David Anderson, Sanjive Agarwala
  • Patent number: 8140765
    Abstract: An information handling system (IHS) includes a processor with a cache memory system. The processor includes a processor core with an L1 cache memory that couples to an L2 cache memory. The processor includes an arbitration mechanism that controls load and store requests to the L2 cache memory. The arbitration mechanism includes control logic that enables a load request to interrupt a store request that the L2 cache memory is currently servicing. The L2 cache memory includes dual data banks so that one bank may perform a load operation while the other bank performs a store operation. The cache system provides a single dispatch point into the data flow to the dual cache banks of the L2 cache memory.
    Type: Grant
    Filed: April 15, 2009
    Date of Patent: March 20, 2012
    Assignee: International Business Machines Corporation
    Inventors: Sanjeev Gai, Guy Lynn Guthrie, Hugh Shen, William John Starke
  • Patent number: 8131970
    Abstract: Techniques a generally described for creating a compiler determined map for the allocation of memory space within a cache. An example computing system is disclosed having a multicore processor with a plurality of processor cores. At least one cache may be accessible to at least two of the plurality of processor cores. A compiler determined map may separately allocate a memory space to threads of execution processed by the processor cores.
    Type: Grant
    Filed: April 21, 2009
    Date of Patent: March 6, 2012
    Assignee: Empire Technology Development LLC
    Inventors: Thomas Martin Conte, Andrew Wolfe