Multi-user, Multiprocessor, Multiprocessing Cache Systems (epo) Patents (Class 711/E12.023)
  • Patent number: 9026743
    Abstract: For a flexible replication with skewed mapping in a multi-core chip, a request for a cache line is received, at a receiver core in the multi-core chip from a requester core in the multi-core chip. The receiver and requester cores comprise electronic circuits. The multi-core chip comprises a set of cores including the receiver and the requester cores. A target core is identified from the request to which the request is targeted. A determination is made whether the target core includes the requester core in a neighborhood of the target core, the neighborhood including a first subset of cores mapped to the target core according to a skewed mapping. The cache line is replicated, responsive to the determining being negative, from the target core to a replication core. The cache line is provided from the replication core to the requester core.
    Type: Grant
    Filed: April 30, 2012
    Date of Patent: May 5, 2015
    Assignee: International Business Machines Corporation
    Inventors: Jian Li, William Evan Speight
  • Patent number: 8977815
    Abstract: A processing pipeline 6, 8, 10, 12 is provided with a main query stage 20 and a fetch stage 22. A buffer 24 stores program instructions which have missed within a cache memory 14. Query generation circuitry within the main query stage 20 and within a buffer query stage 26 serve to concurrently generate a main query request and a buffer query request sent to the cache memory 14. The cache memory returns a main query response and a buffer query response. Arbitration circuitry 28 controls multiplexers 30, 32 and 34 to direct the program instruction at the main query stage 20, and the program instruction stored within the buffer 24 and the buffer query stage 26 to pass either to the fetch stage 22 or to the buffer 24. The multiplexer 30 can also select a new instruction to be passed to the main query stage 20.
    Type: Grant
    Filed: November 29, 2010
    Date of Patent: March 10, 2015
    Assignee: ARM Limited
    Inventors: Frode Heggelund, Rune Holm, Andreas Due Engh-Halstvedt, Edvard Feilding
  • Patent number: 8966182
    Abstract: A pattern matching accelerator (PMA) for assisting software threads to find the presence and location of strings in an input data stream that match a given pattern. The patterns are defined using regular expressions that are compiled into a data structure comprised of rules subsequently processed by the PMA. The patterns to be searched in the input stream are defined by the user as a set of regular expressions. The patterns to be searched are grouped in pattern context sets. The sets of regular expressions which define the pattern context sets are compiled to generate a rules structure used by the PMA hardware. The rules are compiled before search run time and stored in main memory, in rule cache memory within the PMA or a combination thereof. For each input character, the PMA executes the search and returns the search results.
    Type: Grant
    Filed: February 8, 2011
    Date of Patent: February 24, 2015
    Assignee: International Business Machines Corporation
    Inventors: Giora Biran, Christoph Hagleitner, Timothy H. Heil, Russell D. Hoover, Jan Van Lunteren
  • Patent number: 8966187
    Abstract: For a flexible replication with skewed mapping in a multi-core chip, a request for a cache line is received, at a receiver core in the multi-core chip from a requester core in the multi-core chip. The receiver and requester cores comprise electronic circuits. The multi-core chip comprises a set of cores including the receiver and the requester cores. A target core is identified from the request to which the request is targeted. A determination is made whether the target core includes the requester core in a neighborhood of the target core, the neighborhood including a first subset of cores mapped to the target core according to a skewed mapping. The cache line is replicated, responsive to the determining being negative, from the target core to a replication core. The cache line is provided from the replication core to the requester core.
    Type: Grant
    Filed: December 1, 2011
    Date of Patent: February 24, 2015
    Assignee: International Business Machines Corporation
    Inventors: Jian Li, William Evan Speight
  • Patent number: 8838900
    Abstract: A cache-coherence protocol distributes atomic operations among multiple processors (or processor cores) that share a memory space. When an atomic operation that includes an instruction to modify data stored in the shared memory space is directed to a first processor that does not have control over the address(es) associated with the data, the first processor sends a request, including the instruction to modify the data, to a second processor. Then, the second processor, which already has control of the address(es), modifies the data. Moreover, the first processor can immediately proceed to another instruction rather than waiting for the address(es) to become available.
    Type: Grant
    Filed: June 10, 2013
    Date of Patent: September 16, 2014
    Assignee: Rambus Inc.
    Inventors: Qi Lin, Liang Peng, Craig E. Hampel, Thomas J. Sheffler, Steven C. Woo, Bohuslav Rychlik
  • Patent number: 8832414
    Abstract: Technologies are generally described herein for determining a profitability of direct fetching in a multicore processor. The multicore processor may include a first and a second tile. The first tile may include a first core and a first cache. The second tile may include a second core, a second cache, and a fetch location pointer register (FLPR). The multicore processor may migrate a thread executing on the first core to the second core. The multicore processor may store a location of the first cache in the FLPR. The multicore processor may execute the thread on the second core. The multicore processor may identify a cache miss for a block in the second cache. The multicore processor may determine whether a profitability of direct fetching of the block indicates direct fetching or directory-based fetching. The multicore processor may perform direct fetching or directory-based fetching based on the determination.
    Type: Grant
    Filed: March 24, 2011
    Date of Patent: September 9, 2014
    Assignee: Empire Technology Development LLC
    Inventor: Yan Solihin
  • Patent number: 8806133
    Abstract: Protecting computers against cache poisoning, including a cache-entity table configured to maintain a plurality of associations between a plurality of data caches and a plurality of entities, where each of the caches is associated with a different one of the entities, and a cache manager configured to receive data that is associated with any of the entities and store the received data in any of the caches that the cache-entity table indicates is associated with the entity, and receive a data request that is associated with any of the entities and retrieve the requested data from any of the caches that the cache-entity table indicates is associated with the requesting entity, where any of the cache-entity table and cache manager are implemented in either of computer hardware and computer software embodied in a computer-readable medium.
    Type: Grant
    Filed: September 14, 2009
    Date of Patent: August 12, 2014
    Assignee: International Business Machines Corporation
    Inventors: Roee Hay, Adi Sharabani
  • Patent number: 8799554
    Abstract: In this disclosure, techniques are described for more efficiently sharing resources across multiple virtual machine instances. For example, techniques are disclosed for allowing additional virtual machine instances to be supported by a single computing system by more efficiently allocating memory to virtual machine instances by providing page swapping in a virtualized environment and/or predictive page swapping. In one embodiment, a virtual memory manager swaps pages predicatively in and/or out of a paging pool based on information from a central processing unit (“CPU”) scheduler. In one embodiment, the CPU scheduler provides scheduling information for virtual machine instances to the virtual memory manager, where the scheduling information allows the virtual memory manager to determine when a virtual machine is scheduled to become active or inactive. The virtual memory manager can then swap-in or swap-out memory pages.
    Type: Grant
    Filed: October 27, 2010
    Date of Patent: August 5, 2014
    Assignee: Amazon Technologies, Inc.
    Inventors: Pradeep Vincent, William Lewis
  • Patent number: 8788537
    Abstract: A computer readable medium stores a program causing a computer to execute a process including receiving an instruction for deleting an information group from a first memory; extracting, from the first memory, information regarding information groups having a parent-child relationship with a target information group to be deleted in accordance with the received instruction; extracting a user identification code associated with the target information group from a second memory; storing an identification code of the target information group, the information regarding the information groups, and the extracted user identification code in association with one another in a third memory; deleting the target information group from the first memory; and changing the structure information stored in the first memory to structure information obtained after the target information group has been deleted from the first memory, by changing the child information group as a child of the parent information group.
    Type: Grant
    Filed: February 9, 2011
    Date of Patent: July 22, 2014
    Assignee: Fuji Xerox Co., Ltd.
    Inventor: Haruki Matsui
  • Patent number: 8788581
    Abstract: A method for maintaining a cache of dynamically generated objects. The method includes storing in the cache dynamically generated objects previously served from an originating server to a client. A communication between the client and server is intercepted by the cache. The cache parses the communication to identify an object determinant and to determine whether the object determinant indicates whether a change has occurred or will occur in an object at the originating server. The cache marks the object stored in the cache as invalid if the object determinant so indicates. If the object has been marked as invalid, the cache retrieves the object from the originating server.
    Type: Grant
    Filed: January 18, 2013
    Date of Patent: July 22, 2014
    Assignee: Citrix Systems, Inc.
    Inventors: Prabakar Sundarrajan, Prakash Khemani, Kailash Kailash, Ajay Soni, Rajiv Sinha, Saravana Annamalaisami, Bharath Bhushan K. R., Anil Kumar
  • Patent number: 8725955
    Abstract: A chip having integrated multiple processor cores and a data processing method are disclosed. The processor chip includes an MP core (main processor core), an AP core (application processor core) which performs a processing function designated by a control of the MP core, a first SM controller which sets a path such that the MP core is coupled with a shared memory, and a second SM controller which sets a path such that the AP core is coupled with the shared memory. By virtue of the present invention, the number of chips installed can be minimized, to allow efficient utilization of PCB space and enable a compact size for a portable terminal.
    Type: Grant
    Filed: January 24, 2008
    Date of Patent: May 13, 2014
    Assignee: Mtekvision Co., Ltd.
    Inventor: Jong-Sik Jeong
  • Patent number: 8725950
    Abstract: A processor includes multiple processor core units, each including a processor core and a cache memory. Victim lines evicted from a first processor core unit's cache may be stored in another processor core unit's cache, rather than written back to system memory. If the victim line is later requested by the first processor core unit, the victim line is retrieved from the other processor core unit's cache. The processor has low latency data transfers between processor core units. The processor transfers victim lines directly between processor core units' caches or utilizes a victim cache to temporarily store victim lines while searching for their destinations. The processor evaluates cache priority rules to determine whether victim lines are discarded, written back to system memory, or stored in other processor core units' caches. Cache priority rules can be based on cache coherency data, load balancing schemes, and architectural characteristics of the processor.
    Type: Grant
    Filed: June 30, 2010
    Date of Patent: May 13, 2014
    Assignee: MIPS Technologies, Inc.
    Inventor: Sanjay Vishin
  • Patent number: 8694730
    Abstract: A binary tree based multi-level cache system for multi-core processors and its two possible implementations LogN and LogN+1 models maintaining a true pyramid is described.
    Type: Grant
    Filed: March 4, 2011
    Date of Patent: April 8, 2014
    Inventor: Muhammad Ali Ismail
  • Publication number: 20140089572
    Abstract: The disclosed embodiments provide a system that performs distributed page-table lookups in a shared-memory multiprocessor system with two or more nodes, where each of these nodes includes a directory controller that manages a distinct portion of the system's address space. During operation, a first node receives a request for a page-table entry that is located at a physical address that is managed by the first node. The first node accesses its directory controller to retrieve the page-table entry, and then uses the page-table entry to calculate the physical address for a subsequent page-table entry. The first node determines the home node (e.g., the managing node) for this calculated physical address, and sends a request for the subsequent page-table entry to that home node.
    Type: Application
    Filed: September 24, 2012
    Publication date: March 27, 2014
    Applicant: ORACLE INTERNATIONAL CORPORATION
    Inventors: Pranay Koka, David A. Munday, Michael O. McCracken, Herbert D. Schwetman, JR.
  • Publication number: 20140089591
    Abstract: The present embodiments provide a system for supporting targeted stores in a shared-memory multiprocessor. A targeted store enables a first processor to push a cache line to be stored in a cache memory of a second processor in the shared-memory multiprocessor. This eliminates the need for multiple cache-coherence operations to transfer the cache line from the first processor to the second processor. The system includes an interface, such as an application programming interface (API), and a system call interface or an instruction-set architecture (ISA) that provides access to a number of mechanisms for supporting targeted stores. These mechanisms include a thread-location mechanism that determines a location near where a thread is executing in the shared-memory multiprocessor, and a targeted-store mechanism that targets a store to a location (e.g., cache memory) in the shared-memory multiprocessor.
    Type: Application
    Filed: September 24, 2012
    Publication date: March 27, 2014
    Applicant: ORACLE INTERNATIONAL CORPORATION
    Inventors: Mark S. Moir, David Dice, Paul N. Loewenstein
  • Publication number: 20140067913
    Abstract: A system is provided in which two sets of content are cached in a corresponding two caches—a current cache and a next cache. A client renders content in the current cache and uses the next cache to define the expiration for the content in the current cache as well as provide the replacement content when the current content expires. When a client application renders the content in the current cache, the application checks whether the expiration for the current cache has been reached according to the expiration defined by the content in the next cache (which is not being rendered). If the expiration has been reached, the content in the next cache is moved to the current cache and rendered. New content can then be downloaded to fill the next cache and define the expiration for the content formerly in the next cache but now in the current cache.
    Type: Application
    Filed: September 6, 2012
    Publication date: March 6, 2014
    Applicant: MICROSOFT CORPORATION
    Inventors: Kyle Matthew von Haden, Ryan Patrick Heaney, Neculai Blendea
  • Patent number: 8667227
    Abstract: Briefly stated, technologies are generally described for accessing a data block in a cache with a domain based cache coherence protocol. A first processor in a first tile and first domain can be configured to evaluate a request to access the data block. A cache in a second tile in the first domain can be configured to send the data block to the first tile when the data block is cached in the second tile. The first processor can be configured to send the request to a third tile in another domain when the cached location is outside the first processor's domain. The third processor can be configured to determine and send the request to a data domain associated with the cached location of the data block. A fourth tile can be configured to receive the request and send the data block to the first tile.
    Type: Grant
    Filed: December 22, 2009
    Date of Patent: March 4, 2014
    Assignee: Empire Technology Development, LLC
    Inventor: Yan Solihin
  • Publication number: 20140052913
    Abstract: A multi-ported memory that supports multiple read and write accesses is described herein. The multi-ported memory may include a number of read/write ports that is greater than the number of read/write ports of each memory bank of the multi-ported memory. The multi-ported memory allows for at least one read operation and at least one write operation to be received during the same clock cycle. In the event that an incoming write operation is blocked by the at least one read operation, data for that incoming write operation may be stored in a cache included in the multi-port memory. That cache is accessible to both write operations and read operations. In the event than the incoming write operation is not blocked by the at least one read operation, data for that incoming write operation is stored in the memory bank targeted by that incoming write operation.
    Type: Application
    Filed: October 19, 2012
    Publication date: February 20, 2014
    Applicant: BROADCOM CORPORATION
    Inventors: Weihuang Wang, Chien-Hsien Wu
  • Patent number: 8635405
    Abstract: In a multi-core processor system, cache memories are provided respectively for a plurality of processors. An assignment management unit manages assignment of tasks to the processors. A cache status calculation unit calculates a cache usage status such as a memory access count and a cache hit ratio, with respect to each task. A first processor handles a plurality of first tasks that belong to a first process. If computation amount of the first process exceeds a predetermined threshold value, the assignment management unit refers to the cache usage status to preferentially select, as a migration target task, one of the plurality of first tasks whose memory access count is smaller or whose cache hit ratio is higher. Then, the assignment management unit newly assigns the migration target task to a second processor handling another process different from the first processor.
    Type: Grant
    Filed: February 12, 2010
    Date of Patent: January 21, 2014
    Assignee: NEC Corporation
    Inventors: Kosuke Nishihara, Kazuhisa Ishizaka
  • Publication number: 20140006698
    Abstract: In one embodiment, a cache memory can store a plurality of cache lines, each including a write-set field to store a write-set indicator to indicate whether data has been speculatively written during a transaction of a transactional memory, and a read-set field to store a plurality of read-set indicators each to indicate whether a corresponding thread has read the data before the transaction has committed. A compression filter associated with the cache memory includes a first filter storage to store a representation of a cache line address of a cache line read by a first thread of threads before the transaction has committed. Other embodiments are described and claimed.
    Type: Application
    Filed: June 28, 2012
    Publication date: January 2, 2014
    Inventors: Robert S. Chappell, Ravi Rajwar, Zhongying Zhang, Jason A. Bessette
  • Patent number: 8615637
    Abstract: A processing system is provided. The processing system includes a first processing unit coupled to a first memory and a second processing unit coupled to a second memory. The second memory comprises a coherent memory and a private memory that is private to the second processing unit.
    Type: Grant
    Filed: September 9, 2010
    Date of Patent: December 24, 2013
    Assignee: Advanced Micro Devices, Inc.
    Inventors: Philip J. Rogers, Warren Fritz Kruger, Mark Hummel, Eric Demers
  • Publication number: 20130332670
    Abstract: Embodiments of the invention relate to process identifier (PID) based cache information transfer. An aspect of the invention includes sending, by a first core of a processor, a PID associated with a cache miss in a first local cache of the first core to a second cache of the processor. Another aspect of the invention includes determining that the PID associated with the cache miss is listed in a PID table of the second cache. Yet another aspect of the invention includes based on the PID being listed in the PID table of the second cache, determining a plurality of entries in a cache directory of the second cache that are associated with the PID. Yet another aspect of the invention includes pushing cache information associated with each of the determined plurality of entries in the cache directory from the second cache to the first local cache.
    Type: Application
    Filed: June 11, 2012
    Publication date: December 12, 2013
    Applicant: INTERNATIONAL BUSINESS MACHINES INCORPORATED
    Inventors: Fadi Y. Busaba, Steven R. Carlough, Christopher A. Krygowski, Brian R. Prasky, Chung-Lung K. Shum
  • Publication number: 20130332645
    Abstract: A computational device maintains a first type of cache and a second type of cache. The computational device receives a command from the host to release space. The computational device synchronously discards tracks from the first type of cache, and asynchronously discards tracks from the second type of cache.
    Type: Application
    Filed: June 8, 2012
    Publication date: December 12, 2013
    Applicant: INTERNATIONAL BUSINESS MACHINES CORPORATION
    Inventors: Michael T. Benhase, Lokesh M. Gupta
  • Publication number: 20130318301
    Abstract: Techniques, systems and an article of manufacture for caching in a virtualized computing environment. A method includes enforcing a host page cache on a host physical machine to store only base image data, and enforcing each of at least one guest page cache on a corresponding guest virtual machine to store only data generated by the guest virtual machine after the guest virtual machine is launched, wherein each guest virtual machine is implemented on the host physical machine.
    Type: Application
    Filed: May 24, 2012
    Publication date: November 28, 2013
    Applicant: INTERNATIONAL BUSINESS MACHINES CORPORATION
    Inventors: Han Chen, Hui Lei, Zhe Zhang
  • Patent number: 8583873
    Abstract: A multiport data cache apparatus and a method of controlling the same are provided. The multiport data cache apparatus includes a plurality of cache banks configured to share a cache line, and a data cache controller configured to receive cache requests for the cache banks, each of which including a cache bank identifier, transfer the received cache requests to the respective cache banks according to the cache bank identifiers, and process the cache requests independently from one another.
    Type: Grant
    Filed: February 28, 2011
    Date of Patent: November 12, 2013
    Assignee: Samsung Electronics Co., Ltd.
    Inventors: Jae-Un Park, Ki-Seok Kwon, Suk-Jin Kim
  • Publication number: 20130290638
    Abstract: A technique to provide ownership tracking of data assets in a multiple processor environment. Ownership tracking allows a data asset to be identified to a particular processor and tracked as the data asset travels within a system or sub-system. In one implementation, the sub-system is a cache memory that provides cache support to multiple processors. By utilizing flag bits attached to the data asset, ownership identification is attached to the data asset to identify which processor owns the data asset.
    Type: Application
    Filed: April 30, 2012
    Publication date: October 31, 2013
    Applicant: BROADCOM CORPORATION
    Inventors: Flaviu Dorin Turean, George Harms
  • Publication number: 20130268733
    Abstract: In one embodiment, a method includes receiving data at a cache node in a network of cache nodes, the cache node located on a data path between a source of the data and a network device requesting the data, and determining if the received data is to be cached at the cache node, wherein determining comprises calculating a cost incurred to retrieve the data. An apparatus and logic are also disclosed.
    Type: Application
    Filed: April 10, 2012
    Publication date: October 10, 2013
    Applicant: CISCO TECHNOLOGY, INC.
    Inventors: Ashok Narayanan, David R. Oran
  • Patent number: 8548393
    Abstract: An electronic apparatus includes: a clock generation section which generates and outputs a clock of a frequency according to a state; and an MPU and a DSP which, being supplied with the clock generated by the clock generation section, execute processes at a processing speed synchronized with the clock. The electronic apparatus further includes: a load prediction section which predicts a DSP load based on a DSP application to be executed now out of DSP applications installed by being coded for processing by the DSP as well as on a frequency of a clock currently being outputted from the clock generation section; and a load allocation section which allocates part of processes of the DSP application to be executed now to the MPU, based on the load predicted by the load prediction section and thereby makes the MPU execute the part of processes.
    Type: Grant
    Filed: September 17, 2009
    Date of Patent: October 1, 2013
    Assignee: Fujitsu Limited
    Inventor: Asao Kokubo
  • Patent number: 8510512
    Abstract: A data processing system includes at least a first through third processing nodes coupled by an interconnect fabric. The first processing node includes a master, a plurality of snoopers capable of participating in interconnect operations, and a node interface that receives a request of the master and transmits the request of the master to the second processing unit with a nodal scope of transmission limited to the second processing node. The second processing node includes a node interface having a directory. The node interface of the second processing node permits the request to proceed with the nodal scope of transmission if the directory does not indicate that a target memory block of the request is cached other than in the second processing node and prevents the request from succeeding if the directory indicates that the target memory block of the request is cached other than in the second processing node.
    Type: Grant
    Filed: August 21, 2009
    Date of Patent: August 13, 2013
    Assignee: International Business Machines Corporation
    Inventors: Paul A. Ganfield, Guy L. Guthrie, David J. Krolak, Michael S. Siegel, William J. Starke, Jeffrey A. Stuecheli, Derek E. Williams
  • Publication number: 20130205087
    Abstract: A multiprocessor data processing system includes a plurality of cache memories including a cache memory. In response to the cache memory detecting a storage-modifying operation specifying a same target address as that of a first read-type operation being processed by the cache memory, the cache memory provides a retry response to the storage-modifying operation. In response to completion of the read-type operation, the cache memory enters a referee mode. While in the referee mode, the cache memory temporarily dynamically increases priority of any storage-modifying operation targeting the target address in relation to any second read-type operation targeting the target address.
    Type: Application
    Filed: November 16, 2012
    Publication date: August 8, 2013
    Applicant: INTERNATIONAL BUSINESS MACHINES CORPORATION
    Inventor: International Business Machines Corporation
  • Patent number: 8504779
    Abstract: A data processing system includes at least a first through third processing nodes coupled by an interconnect fabric. The first processing node includes a master, a plurality of snoopers capable of participating in interconnect operations, and a node interface that receives a request of the master and transmits the request of the master to the second processing unit with a nodal scope of transmission limited to the second processing node. The second processing node includes a node interface having a directory. The node interface of the second processing node permits the request to proceed with the nodal scope of transmission if the directory does not indicate that a target memory block of the request is cached other than in the second processing node and prevents the request from succeeding if the directory indicates that the target memory block of the request is cached other than in the second processing node.
    Type: Grant
    Filed: April 12, 2012
    Date of Patent: August 6, 2013
    Assignee: International Business Machines Corporation
    Inventors: Paul A. Ganfield, Guy L. Guthrie, David J. Krolak, Michael S. Siegel, William J. Starke, Jeffrey A. Stuecheli, Derek E. Williams
  • Publication number: 20130185478
    Abstract: Provided are a computer program product, system, and method for managing data in a cache system comprising a first cache, a second cache, and a storage system. A determination is made of tracks stored in the storage system to demote from the first cache. A first stride is formed including the determined tracks to demote. A determination is made of a second stride in the second cache in which to include the tracks in the first stride. The tracks from the first stride are added to the second stride in the second cache. A determination is made of tracks in strides in the second cache to demote from the second cache. The determined tracks to demote from the second cache are demoted.
    Type: Application
    Filed: May 4, 2012
    Publication date: July 18, 2013
    Applicant: INTERNATIONAL BUSINESS MACHINES CORPORATION
    Inventors: Kevin J. Ash, Michael T. Benhase, Lokesh M. Gupta, Matthew J. Kalos, Karl A. Nielsen
  • Publication number: 20130166847
    Abstract: According to one embodiment, an apparatus includes a storage module, a cache module, and a changing module. The cache module is configured to use a first cache data storage region in a storage region of a first storage device as a cache of the storage module, and to manage cache management information includes position information indicating a position of the first cache data storage region. The changing module is configured to store cache data stored in the first cache data storage region in a second cache data storage region in a storage region of a second storage device when it is requested to use the second cache data storage region as the cache of the storage module, and to update the position information.
    Type: Application
    Filed: September 7, 2012
    Publication date: June 27, 2013
    Inventor: Kazunari Kawamura
  • Patent number: 8473681
    Abstract: A cache-coherence protocol distributes atomic operations among multiple processors (or processor cores) that share a memory space. When an atomic operation that includes an instruction to modify data stored in the shared memory space is directed to a first processor that does not have control over the address(es) associated with the data, the first processor sends a request, including the instruction to modify the data, to a second processor. Then, the second processor, which already has control of the address(es), modifies the data. Moreover, the first processor can immediately proceed to another instruction rather than waiting for the address(es) to become available.
    Type: Grant
    Filed: February 2, 2010
    Date of Patent: June 25, 2013
    Assignee: Rambus Inc.
    Inventors: Qi Lin, Liang Peng, Craig E. Hampel, Thomas J. Sheffler, Steven C. Woo, Bohuslav Rychlik
  • Patent number: 8464009
    Abstract: A distributed shared memory multiprocessor system that supports both fine- and coarse- grained interleaving of the shared memory address space. A ceiling mask sets a boundary between the fine-grain interleaved and coarse-grain interleaved memory regions of the distributed shared memory. A method for satisfying a memory access request in a distributed shared memory subsystem of a multiprocessor system having both fine- and coarse-grain interleaved memory segments. Certain low or high order address bits, depending on whether the memory segment is fine- or coarse-grain interleaved, respectively, are used to determine if the memory address is local to a processor node. A method for setting the ceiling mask of a distributed shared memory multiprocessor system to optimize performance of a first application run on a single node and performance of a second application run on a plurality of nodes.
    Type: Grant
    Filed: June 4, 2008
    Date of Patent: June 11, 2013
    Assignee: Oracle America, Inc.
    Inventors: Ramaswamy Sivaramakrishnan, Connie Cheung, William Bryg
  • Patent number: 8463846
    Abstract: Data access time in content delivery networks is improved by storing files in cache servers as file bundles. A cache server determines that multiple files are requested by the same client based on information available in the request including the IP address of the client, a URL of a webpage referring to the file, and/or a cookie stored at a client. The cache server stores multiple files requested by the same client on the hard drive as a file bundle with meta data associating the files with one another, such that they can be accessed together. A future request from the client for a file in a file bundle results in multiple files from the file bundle being loaded in the memory. If the client requests another file from the file bundle, the file is accessed directly from the memory instead of the hard drive, resulting in improved performance.
    Type: Grant
    Filed: May 6, 2010
    Date of Patent: June 11, 2013
    Assignee: CDNetworks Co., Ltd.
    Inventor: Antoine Jean Girbal
  • Publication number: 20130145096
    Abstract: A method, system, and computer program product is disclosed for generating an ordered sequence from a predetermined sequence of symbols using protected interleaved caches, such as semaphore protected interleaved caches. The approach commences by dividing the predetermined sequence of symbols into two or more interleaved caches, then mapping each of the two or more interleaved caches to a particular semaphore of a group of semaphores. The group of semaphores is organized into bytes or machine words for storing the group of semaphores into a shared memory, the shared memory accessible by a plurality of session processes. Protected (serialized) access by the session processes is provided by granting access to one of the two or more interleaved caches only after one of the plurality of session processes performs a semaphore altering read-modify-write operation (e.g., a CAS) on the particular semaphore.
    Type: Application
    Filed: December 1, 2011
    Publication date: June 6, 2013
    Applicant: ORACLE INTERNATIONAL CORPORATION
    Inventors: Fulu LI, Chern Yih CHEAH, Michael ZOLL
  • Publication number: 20130138884
    Abstract: Exemplary embodiments of the invention provide load distribution among storage systems using solid state memory (e.g., flash memory) as expanded cache area. In accordance with an aspect of the invention, a system comprises a first storage system and a second storage system. The first storage system changes a mode of operation from a first mode to a second mode based on load of process in the first storage system. The load of process in the first storage system in the first mode is executed by the first storage system. The load of process in the first storage system in the second mode is executed by the first storage system and the second storage system.
    Type: Application
    Filed: November 30, 2011
    Publication date: May 30, 2013
    Applicant: HITACHI, LTD.
    Inventor: Shunji KAWAMURA
  • Publication number: 20130138885
    Abstract: An apparatus, method, and program product for optimizing a multiprocessor computing system by sampling memory reference latencies and adjusting components of the system in response thereto. During execution of processes the computing system, memory reference sampling of memory locations from shared memory of the computing system referenced in the executing processes is performed. Each sampled memory reference collected from sampling is associated with a latency and a physical memory location in the shared memory.
    Type: Application
    Filed: November 30, 2011
    Publication date: May 30, 2013
    Applicant: INTERNATIONAL BUSINESS MACHINES CORPORATION
    Inventors: Jay P. Kurtz, Glen W. Nelson
  • Publication number: 20130132658
    Abstract: The system of the present invention includes an instruction fetch unit 10, an instruction cache 20, a macro cache unit 30 for associating an instruction with one or more addresses in the main memory storing the instruction and holding the instruction and addresses, and a macro registration determining means 40 for holding instructions in the instruction cache 20 with a high cache hit frequency in the macro cache unit 30. The macro cache unit 30 associates the address specifying the instruction with an already held instruction and holds the address when the instruction specified for holding by the macro registration determining unit 40 is the same instruction already held, and associates the instruction with an address specifying the instruction and holds the instruction and the address when the instruction specified for holding by the macro registration determining unit 40 is not the same instruction being held.
    Type: Application
    Filed: November 13, 2012
    Publication date: May 23, 2013
    Applicant: INTERNATIONAL BUSINESS MACHINES CORPORATION
    Inventor: INTERNATIONAL BUSINESS MACHINES CORP
  • Publication number: 20130111108
    Abstract: A method for controlling a cache memory of a solid state drive is provided. The solid state drive has a flash memory. The flash memory has a plurality of blocks, wherein each block has a plurality of pages. The method includes the following steps. Firstly, a refreshed data corresponding to a part of original data in a specified page of the flash memory is received and stored into a first cache unit. Then, the original data is read from the specified page, wherein an unrefreshed part of the original data is stored into the first cache unit, and a to-be-refreshed part of the original data is stored into a second cache unit. Afterwards, the refreshed data and the unrefreshed part of the original data in the first cache unit are stored into a blank page of the flash memory.
    Type: Application
    Filed: March 7, 2012
    Publication date: May 2, 2013
    Applicant: LITE-ON IT CORPORATION
    Inventors: Yi-Jen Chen, Chi-Sian Chuang, Yen-Chung Chen, Yun-Tzuo Lai
  • Patent number: 8407426
    Abstract: Technologies are generally described for a system for sending a data block stored in a cache. In some examples described herein, a system may comprise a first processor in a first tile. The first processor is effective to generate a request for a data block, the request including a destination identifier identifying a destination tile for the data block, the destination tile being distinct from the first tile. Some example systems may further comprise a second tile effective to receive the request, the second tile effective to determine a data tile including the data block, the second tile further effective to send the request to the data tile. Some example systems may still further comprise a data tile effective to receive the request from the second tile, the data tile effective to send the data block to the destination tile.
    Type: Grant
    Filed: March 2, 2012
    Date of Patent: March 26, 2013
    Assignee: Empire Technology Development, LLC
    Inventor: Yan Solihin
  • Publication number: 20130046934
    Abstract: A caching circuit includes tag memories for storing tagged addresses of a first cache. On-chip data memories are arranged in the same die as the tag memories, and the on-chip data memories form a first sub-hierarchy of the first cache. Off-chip data memories are arranged in a different die as the tag memories, and the off-chip data memories form a second sub-hierarchy of the first cache. Sources (such as processors) are arranged to use the tag memories to service first cache requests using the first and second sub-hierarchies of the first cache.
    Type: Application
    Filed: August 15, 2011
    Publication date: February 21, 2013
    Inventors: Robert Nychka, William Michael Johnson, Steven D. Krueger
  • Publication number: 20130042066
    Abstract: The present disclosure provides a method for processing a storage operation in a system with an added level of storage caching. The method includes receiving, in a storage cache, a read request from a host processor that identifies requested data and determining whether the requested data is in a cache memory of the storage cache. If the requested data is in the cache memory of the storage cache, the requested data may be obtained from the storage cache and sent to the host processor. If the requested data is not in the cache memory of the storage cache, the read request may be sent to a host bus adapter operatively coupled to a storage system. The storage cache is transparent to the host processor and the host bus adapter.
    Type: Application
    Filed: June 8, 2011
    Publication date: February 14, 2013
    Inventor: Jeffrey A. Price
  • Publication number: 20130042065
    Abstract: Methods and systems are presented for custom caching. Application threads define caches. The caches may be accessed through multiple index keys, which are mapped to multiple application thread-defined keys. Methods provide for the each index key and each application thread-defined key to be symmetrical. The index keys are used for loading data from one or more data sources into the cache stores on behalf of the application threads. Application threads access the data from the cache store by providing references to the caches and the application-supplied keys. Some data associated with some caches may be shared from the cache store by multiple application threads. Additionally, some caches are exclusively accessed by specific application threads.
    Type: Application
    Filed: September 14, 2012
    Publication date: February 14, 2013
    Applicant: eBay Inc.
    Inventors: Christopher J. Kasten, Greg Seitz
  • Patent number: 8364909
    Abstract: Illustrated is a system and method for identifying a potential conflict, using a conflict determination engine, between a first transaction and a second transaction stored in a conflict hash map, the potential conflict based upon a potential accessing of a shared resource common to both the first transaction and the second transaction. The system and method further includes determining an actual conflict, using the conflict determination engine to access the combination of the conflict hash map and the read set hash map, between the first transaction and the second transaction, where a time stamp value of only selected shared locations has changed relative to a previous time stamp value, the time stamp value stored in the read set hash map and accessed using the first transaction.
    Type: Grant
    Filed: January 25, 2010
    Date of Patent: January 29, 2013
    Assignee: Hewlett-Packard Development Company, L.P.
    Inventor: Dhruva Chakrabarti
  • Publication number: 20130007367
    Abstract: Disclosed is an information processing apparatus equipped with first and second CPUs, as well as a method of controlling this apparatus. When the first CPU launches an operating system for managing a virtual memory area that includes a first cache area for a device, the first CPU generates specification data, which indicates the corresponding relationship between the first cache and a second cache for the device and provided in a main memory, and transfers the specification data to the second CPU. In accordance with the specification data, the second CPU transfers data, which has been stored in the device, to a physical memory corresponding to a cache to which the first CPU refers. As a result, the first CPU accesses the first cache area is thereby capable of accessing the device at high speed.
    Type: Application
    Filed: September 12, 2012
    Publication date: January 3, 2013
    Applicant: CANON KABUSHIKI KAISHA
    Inventor: Kenji Hara
  • Publication number: 20130007368
    Abstract: Methods and systems for improved transfer of mirrored information between paired dual-active storage controllers in a storage system using a SCSI transport layer. A first portion (approximately half) of the mirrored information transfers are performed in accordance with a first manner in which the controller to receive the mirrored information issues a read operation on the initiator-target nexus (ITN) of the SCSI transport layer to retrieve the mirrored information. A second portion (approximately half) of the mirrored information transfers are performed according to a second manner in which the controller having the information to be mirrored sends the information to be mirrored to the partner controller using a write operation on the ITN. The read and write operations on the same ITN may thus overlap to improve inter-controller communications. The mirrored information may be cached write data or entire I/O requests to be shipped to a partner controller.
    Type: Application
    Filed: June 29, 2011
    Publication date: January 3, 2013
    Applicant: LSI CORPORATION
    Inventors: Randolph W. Sterns, Randy K. Hall
  • Publication number: 20120330802
    Abstract: An apparatus for providing memory energy accounting within a data processing system having multiple chiplets is disclosed. The apparatus includes a system memory, a memory access collection module, a memory throttle counter, and a memory credit accounting module. The memory access collection module receives a first set of signals from a first cache memory within a chiplet and a second set of signals from a second cache memory within the chiplet. The memory credit accounting module tracks the usage of the system memory on a per user basis according to the results of cache accesses extracted from the first and second set of signals from the first and second cache memories within the chiplet.
    Type: Application
    Filed: June 22, 2011
    Publication date: December 27, 2012
    Applicant: INTERNATIONAL BUSINESS MACHINES CORPORATION
    Inventors: GUY L. GUTHRIE, KARTHICK RAJAMANI, GREGORY S. STILL, JEFFREY A. STUECHELI, MALCOLM S. WARE
  • Patent number: 8341357
    Abstract: One embodiment provides a system that pre-fetches into a sibling cache. During operation, a first thread executes in a first processor core associated with a first cache, while a second thread associated with the first thread simultaneously executes in a second processor core associated with a second cache. During execution, the second thread encounters an instruction that triggers a request to a lower-level cache which is shared by the first cache and the second cache. The system responds to this request by directing a load fill which returns from the lower-level cache in response to the request to the first cache, thereby reducing cache misses for the first thread.
    Type: Grant
    Filed: March 16, 2010
    Date of Patent: December 25, 2012
    Assignee: Oracle America, Inc.
    Inventors: Martin R. Karlsson, Shailender Chaudhry, Robert E. Cypher