Using Selective Caching, E.g., Bypass, Partial Write, Etc. (epo) Patents (Class 711/E12.021)
  • Patent number: 8024527
    Abstract: According to a method of data processing in a multiprocessor data processing system, in response to a processor request to read a target granule of a target cache line of data containing multiple granules, a processing unit originates on an interconnect of the multiprocessor data processing system a partial read request that requests permission to read only the target granule of the target cache line. In response to a combined response to the partial read request indicating success, the combined response representing a system-wide response to the partial read request, the processing unit receives the target granule of the target cache line, supplies the target granule to a requesting processor core, and updates a coherency state of the target granule while retaining a coherency state of at least one other granule of the target cache line.
    Type: Grant
    Filed: February 1, 2008
    Date of Patent: September 20, 2011
    Assignee: International Business Machines Corporation
    Inventors: Lakshminarayana B. Arimilli, Ravi K. Arimilli, Jerry D. Lewis, Warren E. Maule
  • Patent number: 7966454
    Abstract: A data processing system enables global shared memory (GSM) operations across multiple nodes with a distributed EA-to-RA mapping of physical memory. Each node has a host fabric interface (HFI), which includes HFI windows that are assigned to at most one locally-executing task of a parallel job. The tasks perform parallel job execution, but map only a portion of the effective addresses (EAs) of the global address space to the local, real memory of the task's respective node. The HFI window tags all outgoing GSM operations (of the local task) with the job ID, and embeds the target node and HFI window IDs of the node at which the EA is memory mapped. The HFI window also enables processing of received GSM operations with valid EAs that are homed to the local real memory of the receiving node, while preventing processing of other received operations without a valid EA-to-RA local mapping.
    Type: Grant
    Filed: February 1, 2008
    Date of Patent: June 21, 2011
    Assignee: International Business Machines Corporation
    Inventors: Lakshimarayana B. Arimilli, Ravi K. Arimilli, Robert S. Blackmore, Chulho Kim, Ramakrishnan Rajamony, William J. Starke, Hanhong Xue
  • Patent number: 7958309
    Abstract: A method of data processing in a processing unit supported by a memory hierarchy includes the processing unit performing a plurality of memory accesses to the memory hierarchy. The plurality of memory accesses includes one or more memory accesses targeting a full cache line of data. The processing unit monitors utilization of data accessed by the plurality of memory accesses, and based upon the utilization of the data, dynamically alters a memory access mode of operation so that a subsequent storage-modifying memory access targets less than a full cache line of data.
    Type: Grant
    Filed: February 1, 2008
    Date of Patent: June 7, 2011
    Assignee: International Business Machines Corporation
    Inventors: Lakshminarayana B. Arimilli, Ravi K. Arimilli, Jerry D. Lewis, Warren E. Maule
  • Patent number: 7945728
    Abstract: A hard disk drive (HDD) comprises nonvolatile semiconductor (NVS) memory, a life monitor module, and a hard disk controller (HDC) module. The life monitor module evaluates cumulative usage of the NVS memory and selectively generates a usage signal based upon the evaluation. The hard disk controller (HDC) module selectively caches data in the NVS memory and suspends caching of at least selected data in the NVS memory based upon the usage signal.
    Type: Grant
    Filed: August 17, 2007
    Date of Patent: May 17, 2011
    Assignee: Marvell International Ltd.
    Inventor: Pantas Sutardja
  • Patent number: 7925836
    Abstract: A data processing system is provided with a general purpose programmable processor and an accelerator processor. Coherency control circuitry manages data coherence between data items which may be stored within a cache memory and/or a further memory. Memory access requests from the accelerator processor are received by a memory request switching circuitry which is responsive to a signal from the accelerator processor to direct the memory access request either via coherency control circuit or directly to the further memory.
    Type: Grant
    Filed: January 25, 2008
    Date of Patent: April 12, 2011
    Assignee: ARM Limited
    Inventors: Ashley Miles Stevens, Edvard Sorgard
  • Publication number: 20110055487
    Abstract: In one embodiment, the present invention includes a method to obtain topology information regarding a system including at least one multicore processor, provide the topology information to a plurality of parallel processes, generate a topological map based on the topology information, access the topological map to determine a topological relationship between a sender process and a receiver process, and select a given memory copy routine to pass a message from the sender process to the receiver process based at least in part on the topological relationship. Other embodiments are described and claimed.
    Type: Application
    Filed: March 31, 2008
    Publication date: March 3, 2011
    Inventors: Sergey I. Sapronov, Alexey V. Bayduraev, Alexander V. Supalov, Vladimir D. Truschin, Igor Ermolaev, Dmitry Mishura
  • Publication number: 20110047317
    Abstract: A system and method is provided wherein, in one aspect, a currently-requested item of information is stored in a cache based on whether it has been previously requested and, if so, the time of the previous request. If the item has not been previously requested, it may not be stored in the cache. If the subject item has been previously requested, it may or may not be cached based on a comparison of durations, namely (1) the duration of time between the current request and the previous request for the subject item and (2) for each other item in the cache, the duration of time between the current request and the previous request for the other item. If the duration associated with the subject item is less than the duration of another item in the cache, the subject item may be stored in the cache.
    Type: Application
    Filed: August 21, 2009
    Publication date: February 24, 2011
    Applicant: Google Inc.
    Inventors: Timo Burkard, David Presotto
  • Publication number: 20110040923
    Abstract: A data packet access control apparatus and a data packet access control method are disclosed. RAM resources in a data packet processing chip are used to implement a Bypass FIFO. The Bypass FIFO is used as a first-level cache for small amount of data, and an external RAM of the data packet processing chip is used as a second-level cache for large amount of data. In this way, some data packets are read and written within the chip and not all data packets have to be read and written through the external RAM. A data packet reading/writing operation may be performed to the external RAM by a BANK interleave mode.
    Type: Application
    Filed: August 5, 2010
    Publication date: February 17, 2011
    Applicant: Hangzhou H3C Technologies Co., Ltd.
    Inventor: Kai REN
  • Patent number: 7865667
    Abstract: In one embodiment, a processor is provided. The processor includes at least two cores, where each of the cores include a first level cache memory. Each of the cores are multi-threaded. In another embodiment, each of the cores includes four threads. In another embodiment a crossbar is included. A plurality of cache bank memories in communication with the at cores through the crossbar is provided. Each of the plurality of cache bank memories are in communication with a main memory interface. In another embodiment a buffer switch core in communication with each of the plurality of cache bank memories is also included. A server and a method for optimizing the utilization of a multithreaded processor core are also provided.
    Type: Grant
    Filed: March 14, 2007
    Date of Patent: January 4, 2011
    Assignee: Oracle America, Inc.
    Inventors: Leslie D. Kohn, KunIe A. Olukotun, Michael K. Wong
  • Patent number: 7836261
    Abstract: Embodiments include retrieving data of a web page from a remote system in response to a request for the web page. It is determined that the web page is indicated in a data structure that indicates web pages not to be cached in a cache of a web browser on a data processing system. The data structure and the cache of the web browser are distinct from each other. The web page is presented with the web browser using the data retrieved from the remote system. The data of the web page is prevented from being cached in the cache of the web browser in accordance with said determining that the web page is indicated in the data structure that indicates web pages not to be cached in the cache of the web browser on the data processing system.
    Type: Grant
    Filed: January 12, 2004
    Date of Patent: November 16, 2010
    Assignee: International Business Machines Corporation
    Inventors: Susann Marie Keohane, Gerald Francis McBrearty, Johnny Meng-Han Shieh, Shawn Patrick Mullen, Jessica Kelley Murillo
  • Patent number: 7831772
    Abstract: A method for temporarily storing data objects in memory of a distributed system comprising a plurality of servers sharing access to data comprises steps of: reserving memory at each of the plurality of servers as a default data cache for storing data objects; in response to user input, allocating memory of at least one of the plurality of servers as a named cache reserved for storing a specified type of data object; in response to an operation at a particular server requesting a data object, determining whether the requested data object is of the specified type corresponding to the named cache at the particular server; if the data object is determined to be of the specified type corresponding to the named cache, storing the requested data object in the named cache at the particular server; and otherwise, using the default data cache for storing the requested data object.
    Type: Grant
    Filed: December 12, 2006
    Date of Patent: November 9, 2010
    Assignee: Sybase, Inc.
    Inventors: Vaibhav A. Nalawade, Vadiraja P. Bhatt, KantiKiran K. Pasupuleti
  • Publication number: 20100274962
    Abstract: The present disclosure relates to methods, devices and computer-readable medium for implementing a caching policy and/or a cache flushing policy in a peripheral non-volatile storage device operatively coupled to a host device. In some embodiments, data is stored to a cache area of a non-volatile memory within the peripheral non-volatile storage device in accordance with a historical rate at which other data was received by the peripheral storage device from the host device and/or a historical average time interval between successive host write requests received and/or an assessed rate at which data is required to be written to the non-volatile memory and/or a detecting by the peripheral non-volatile memory device that the host has read the storage ready/busy flag. In some embodiments, data is copied from a cache storage area of the non-volatile memory to a main storage area in accordance with the historical rate and/or the historical average time interval.
    Type: Application
    Filed: April 26, 2009
    Publication date: October 28, 2010
    Applicant: SanDisk IL Ltd.
    Inventors: Amir MOSEK, Menahem LASSER, Mark MURIN
  • Publication number: 20100275209
    Abstract: A scalable locking system is described herein that allows processors to access shared data with reduced cache contention to increase parallelism and scalability. The system provides a reader/writer lock implementation that uses randomization and spends extra space to spread possible contention over multiple cache lines. The system avoids updates to a single shared location in acquiring/releasing a read lock by spreading the lock count over multiple sub-counts in multiple cache lines, and hashing thread identifiers to those cache lines. Carefully crafted invariants allow the use of partially lock-free code in the common path of acquisition and release of a read lock. A careful protocol allows the system to reuse space allocated for a read lock for subsequent locking to avoid frequent reallocating of read lock data structures. The system also provides fairness for write-locking threads and uses object pooling techniques to make reduce costs associated with the lock data structures.
    Type: Application
    Filed: April 28, 2009
    Publication date: October 28, 2010
    Applicant: Microsoft Corporation
    Inventor: David L. Detlefs
  • Publication number: 20100275049
    Abstract: Embodiments that dynamically conserve power in non-uniform cache access (NUCA) caches are contemplated. Various embodiments comprise a computing device, having one or more processors coupled with one or more NUCA cache elements. The NUCA cache elements may comprise one or more banks of cache memory, wherein ways of the cache are vertically distributed across multiple banks. To conserve power, the computing devices generally turn off groups of banks, in a sequential manner according to different power states, based on the access latencies of the banks. The computing devices may first turn off groups having the greatest access latencies. The computing devices may conserve additional power by turning of more groups of banks according to different power states, continuing to turn off groups with larger access latencies before turning off groups with the smaller access latencies.
    Type: Application
    Filed: April 24, 2009
    Publication date: October 28, 2010
    Applicant: INTERNATIONAL BUSINESS MACHINES CORPORATION
    Inventors: Ganesh Balakrishnan, Anil Krishna
  • Publication number: 20100268891
    Abstract: Techniques are generally described for a multi-core processor with a plurality of processor cores. At least one cache is accessible to at least two of the plurality of processor cores. The multi-core processor can be configured for separately allocating a memory space within the cache to the individual processor cores accessing the cache.
    Type: Application
    Filed: April 21, 2009
    Publication date: October 21, 2010
    Inventors: Thomas Martin Conte, Andrew Wolfe
  • Publication number: 20100257321
    Abstract: A method, system, and computer program product for prioritizing directory scans in cache by a processor is provided. While traversing a directory in the cache, one of attempting to acquire a lock for a directory entry and attempting to acquire access to a track in the directory entry is performed. If one of the lock is not obtained for the directory entry and the access to the track in the directory entry is not obtained, the directory entry is added to a reserved data space. Following completion of traversing the directory, a return is made to the reserved data space to process the directory entry and the track in the directory entry.
    Type: Application
    Filed: April 6, 2009
    Publication date: October 7, 2010
    Applicant: INTERNATIONAL BUSINESS MACHINES CORPORATION
    Inventor: Lokesh M. GUPTA
  • Publication number: 20100250858
    Abstract: A computer-implemented method for controlling initialization of a fingerprint cache for data deduplication associated with a single-instance-storage computing subsystem may comprise: 1) detecting a request to store a data selection to the single-instance-storage computing subsystem, 2) leveraging a client-side fingerprint cache associated with a previous storage of the data selection to the single-instance-storage computing subsystem to initialize a new client-side fingerprint cache, and 3) utilizing the new client-side fingerprint cache for data deduplication associated with the request to store the data selection to the single-instance-storage computing subsystem. Other exemplary methods of controlling initialization of a fingerprint cache for data deduplication, as well as corresponding exemplary systems and computer-readable-storage media, are also disclosed.
    Type: Application
    Filed: March 31, 2009
    Publication date: September 30, 2010
    Applicant: Symantec Corporation
    Inventors: Nick Cremelie, Bastiaan Stougie
  • Publication number: 20100250852
    Abstract: A user terminal apparatus and a control method therefor, which constitutes part of a thin client system which transfers data to a file server and stores the data therein. The system aggregates user data in a file server by controlling writing into a secondary storage device of the user terminal and controlling writing out to an external storage medium, to prevent loss and leakage of confidential information.
    Type: Application
    Filed: March 24, 2010
    Publication date: September 30, 2010
    Applicant: HITACHI SOFTWARE ENGINEERING CO., LTD.
    Inventor: Koji NAKAYAMA
  • Patent number: 7783834
    Abstract: A cache memory logically associates a cache line with at least two cache sectors of a cache array wherein different sectors have different output latencies and, for a load hit, selectively enables the cache sectors based on their latency to output the cache line over successive clock cycles. Larger wires having a higher transmission speed are preferably used to output the cache line corresponding to the requested memory block. In the illustrative embodiment the cache is arranged with rows and columns of the cache sectors, and a given cache line is spread across sectors in different columns, with at least one portion of the given cache line being located in a first column having a first latency, and another portion of the given cache line being located in a second column having a second latency greater than the first latency.
    Type: Grant
    Filed: November 29, 2007
    Date of Patent: August 24, 2010
    Assignee: International Business Machines Corporation
    Inventors: Leo James Clark, Guy Lynn Guthrie, Kirk Samuel Livingston, William John Starke
  • Publication number: 20100180066
    Abstract: An operating system on a computer system can comprise a user space, which can comprise a persistent data store, and a kernel space, which can be extended by loading kernel modules. As provided herein, the kernel space can utilize kernel designated electronically addressed non-volatile memory (e.g., flash memory) to cache data from the user space persistent store, for example, upon a boot event. The kernel space can further comprise a cache controller that can be used to populate the kernel electronically addressed non-volatile memory with kernel in-memory data caches that comprise user space persistently stored data. In one embodiment, the kernel space can further comprise kernel designated volatile main memory (e.g., RAM), which can be used in conjunction with the kernel electronically addressed non-volatile memory to cache user space persistently stored data. In this way, kernel modules may access user space persistent store data from the RAM and/or electronically addressed non-volatile kernel cache.
    Type: Application
    Filed: January 13, 2009
    Publication date: July 15, 2010
    Applicant: NetApp
    Inventor: Paul Powell
  • Publication number: 20100169578
    Abstract: A system comprises tag memories and data memories. Sources use the tag memories with the data memories as a cache. Arbitration of a cache request is replayed, based on an arbitration miss and way hit, without accessing the tag memories. A method comprises receiving a cache request sent by a source out of a plurality of sources. The sources use tag memories with data memories as a cache. The method further comprises arbitrating the cache request, and replaying arbitration, based on an arbitration miss and way hit, without accessing the tag memories.
    Type: Application
    Filed: December 31, 2008
    Publication date: July 1, 2010
    Applicant: TEXAS INSTRUMENTS INCORPORATED
    Inventors: Robert NYCHKA, William M. JOHNSON, Thang M. TRAN
  • Publication number: 20100153655
    Abstract: Some embodiments of the present invention provide a system that performs stores in a memory system. During operation, the system performs a store for a first thread, which involves creating an entry for the store in a store queue for the first thread. It also involves attempting to store-mark a corresponding cache line for the first thread by sending a store-mark request for the first thread to the memory system, wherein a store-mark on the cache line indicates that one or more store queue entries are waiting to be committed to the cache line. If the attempt to store-mark the cache line fails because a second thread holds a store-mark on the cache line, and if obtaining the store-mark will ensure forward progress for the first thread, the system forces the second thread to release the store-mark, so the first thread can acquire a store-mark for the cache line.
    Type: Application
    Filed: December 15, 2008
    Publication date: June 17, 2010
    Applicant: SUN MICROSYSTEMS, INC.
    Inventors: Robert E. Cypher, Haakan E. Zeffer
  • Patent number: 7730264
    Abstract: In one embodiment, the present invention includes a method for routing an early request for requested data on a bypass path around a transaction processing path of a first agent if the requested data is not present in a cache memory of the first agent, and opportunistically transmitting the early request from the first agent to a second agent based on load conditions of an interconnect between the first agent and the second agent. In this way, reduced memory latencies may be realized. Other embodiments are described and claimed.
    Type: Grant
    Filed: September 25, 2006
    Date of Patent: June 1, 2010
    Assignee: Intel Corporation
    Inventor: Krishnakanth Sistla
  • Publication number: 20100131717
    Abstract: This invention describes an apparatus, computer architecture, memory structure, memory control, and cache memory operation method for multi-core processor. A logic core bypasses immediate cache memory units with low yield or deadly performance. The core mounts (multiple) cache unit(s) that might already be in use by other logic cores. Selected cache memory units serve multiple logic cores with the same contents. The shared cache memory unit(s) serves all the mounting cores with cache search, hit, miss, and write back functions. The method recovers a logic core whose cache memory block is not operational by sharing cache memory blocks which might already engage other logic cores. The method is used to improve reliability and performance of the remaining system.
    Type: Application
    Filed: November 21, 2008
    Publication date: May 27, 2010
    Applicant: International Business Machines Corporation
    Inventors: Dan P. Dumarot, Karl J. Duvalsaint, Daeik Kim, Moon J. Kim, Eugene B. Risi
  • Publication number: 20100070709
    Abstract: A method and apparatus used within memory and data processing that reduces the number of references allowed in processor cache by using active rows to reject references that are less frequently used from the cache. Comparators within a memory controller are used to generate a signal indicative of a row hit or miss, which signal is then applied to one or more demultiplexers to enable or disable transfer of a memory reference to processor cache locations. The cache may be level one (L1) or level two (L2) caches including data and or instructions or some combination of L1, L2, data, and instructions.
    Type: Application
    Filed: September 16, 2008
    Publication date: March 18, 2010
    Applicant: MOSAID TECHNOLOGIES INCORPORATED
    Inventor: Nagi Nassief MEKHIEL
  • Publication number: 20090235028
    Abstract: An object of the present invention is to reduce power consumption accompanying a cache hit/miss determination. To achieve this object, when accessing a cache memory provided with a means for setting whether a cache refill to each way in the cache memory is allowed for each CPU or each thread, first, a first cache hit/miss determination is performed only on the way for which a refill is set to be allowed (Steps 2-1 and 2-2), and if the first cache hit/miss determination results in a cache hit, the access is ended (Step 2-6). In the case of a cache miss, the way for which a refill is not set to be allowed is accessed (Step 2-3), or a second hit/miss determination is performed by accessing all the ways (Step 2-4).
    Type: Application
    Filed: March 22, 2006
    Publication date: September 17, 2009
    Applicant: MATSUSHITA ELECTRIC INDUSTRIAL CO., LTD.
    Inventor: Keisuke Kaneko
  • Publication number: 20090187713
    Abstract: A method and system of managing data access in a shared memory cache of a processor are disclosed. The method includes probing one or more memory addresses that map to a subset of the shared memory cache and sensing a plurality of events in the one or more memory addresses. Cache utilization information is then obtained by reading a hardware performance counter of the processor. The hardware performance counter is incremented based on the occurrence of the plurality of events. Based upon the cache utilization information, an occurrence of one of the plurality of events is reduced.
    Type: Application
    Filed: August 27, 2008
    Publication date: July 23, 2009
    Applicant: VMware, Inc.
    Inventors: John ZEDLEWSKI, Carl WALDSPURGER
  • Publication number: 20090182956
    Abstract: Embodiments of the present invention provide a system that executes transactions on a processor that supports transactional memory. The system starts by executing the transaction on the processor. During execution of the transactions, the system places stores in a store buffer. In addition, the system sets a stores_encountered indicator when a first store is placed in the store buffer during the transaction. Upon completing the transaction, the system determines if the stores_encountered indicator is set. If so, the system signals a cache to commit the stores placed in the store buffer during the transaction to the cache and then resumes execution of program code following the transaction when the stores have been committed. Otherwise, the system resumes execution of program code following the transaction without signaling the cache.
    Type: Application
    Filed: January 15, 2008
    Publication date: July 16, 2009
    Applicant: SUN MICROSYSTEMS, INC.
    Inventors: Paul Caprioli, Martin Karlsson, Sherman H. Yip
  • Publication number: 20090182944
    Abstract: A circuit arrangement and method bypass the storage of requested data in a higher level cache of a multi-level memory architecture during the return of the requested data to a requester, while caching the requested data in a lower level cache. For certain types of data, e.g., data that is only used once and/or that is rarely modified or written back to memory, bypassing storage in a higher level cache reduces the likelihood of the requested data casting out frequently used data from the higher level cache. By caching the data in a lower level cache, however, the lower level cache can still snoop data requests and return requested data in the event the data is already cached in the lower level cache.
    Type: Application
    Filed: January 10, 2008
    Publication date: July 16, 2009
    Inventors: Miguel Comparan, Eric Oliver Mejdrich, Adam James Muff
  • Publication number: 20090182940
    Abstract: A storage control system in which a first storage controller is connected to a storage device in a second storage controller and the first storage controller is configured to be able to read and write data from/to the storage device in the second storage controller in response to a request from a host device connected to the first storage apparatus, the first storage controller including: a controller for controlling data transmission and reception between the host device and the storage device in the second storage controller; and a cache memory for temporarily storing the data, wherein the controller sets a threshold value for storage capacity in the cache memory assigned to the storage device according to the properties of the storage device.
    Type: Application
    Filed: December 29, 2008
    Publication date: July 16, 2009
    Inventors: Jun MATSUDA, Mikio Fukuoka, Keishi Tamura
  • Publication number: 20090157977
    Abstract: A method, system, and computer program product for data transfer to memory over an input/output (I/O) interconnect are provided. The method includes reading a mailbox stored on an I/O adapter in response to a request to initiate an I/O transaction. The mailbox stores a directive that defines a condition under which cache injection for data values in the I/O transaction will not be performed. The method also includes embedding a hint into the I/O transaction when the directive in the mailbox matches data received in the request, and executing the I/O transaction. The execution of the I/O transaction causes a system chipset or I/O hub for a processor receiving the I/O transaction, to directly store the data values from the I/O transaction into system memory and to suppress the cache injection of the data values into a cache memory upon presence of the hint in a header of the I/O transaction.
    Type: Application
    Filed: December 18, 2007
    Publication date: June 18, 2009
    Applicant: INTERNATIONAL BUSINESS MACHINES CORPORATION
    Inventors: Thomas A. Gregg, Rajaram B. Krishnamurthy
  • Publication number: 20090157954
    Abstract: A cache memory unit includes: a cache memory; an early write-back condition checking unit for checking whether an early write-back condition has been satisfied; and an early write-back execution unit for monitoring a memory bus connecting the cache memory unit and an external memory unit, and in response to the memory bus being idle and the early write-back condition being satisfied, for causing dirty data in the cache memory to be written back to the external memory unit using the memory bus.
    Type: Application
    Filed: December 15, 2008
    Publication date: June 18, 2009
    Applicant: SAMSUNG ELECTRONICS CO., LTD.
    Inventors: Young Jin CHUNG, Kil Whan LEE
  • Publication number: 20090157975
    Abstract: The page table walker is moved from its conventional location in the memory management unit associated with the data processor to a location in main memory i.e. the main memory controller. As a result, an implementation is provided wherein the processing of requests for data could selectively avoid or bypass cumbersome caches associated with the data processor.
    Type: Application
    Filed: December 14, 2007
    Publication date: June 18, 2009
    Applicant: International Business Machines Corporation
    Inventors: Sumedh W. Sathaye, Gordon Taylor Davis
  • Publication number: 20090144508
    Abstract: A PCI Express (PCIe) computer system utilizes address translation services to translate virtual addresses from I/O device adaptors to physical addresses of system memory. A combined memory controller and host bridge uses a translation agent to convert the I/O addresses via translation control entries (TCEs) in a TCE table (also known as an address translation and protection table). Some of the I/O device adaptors have address translation caches for local storage of TCEs. The TCE definition includes a new non-cacheable control bit which is set active in the TCE table when the TCE is in the process of being invalidated. The memory controller prevents further caching of the TCE while the non-cacheable control bit is active. A further implementation utilizes a change-in-progress control bit of the TCE to indicate that the TCE is in the process of being changed to allow simultaneous invalidation of the previously TCE information.
    Type: Application
    Filed: December 3, 2007
    Publication date: June 4, 2009
    Inventors: Douglas M. Freimuth, Renato J. Recio, Steven M. Thurber
  • Publication number: 20090132772
    Abstract: A system and a method for performing data reading and writing on a physical storage device. A plurality of controllers under a common storage environment is used to realize data read and write operation performed on the physical storage device by a remote client. Firstly, the client assigns a controller in the plurality of controllers as a controller for executing the read and write operation, and each controller performs transmission of management data and cache data of the data to be written in the physical storage device through interlink. Then, the assigned controller reads data from the physical storage device or writes data into the physical storage device through corresponding logical storage device.
    Type: Application
    Filed: November 21, 2007
    Publication date: May 21, 2009
    Applicant: INVENTEC CORPORATION
    Inventors: Qin-Ping Zhuang, Xuan Du, Tom Chen, Win-Harn Liu
  • Publication number: 20090132767
    Abstract: A method for compiler assisted victim cache bypassing including: identifying a cache line as a candidate for victim cache bypassing; conveying a bypassing-the-victim-cache information to a hardware; and checking a state of the cache line to determine a modified state of the cache line, wherein the cache line is identified for cache bypassing if the cache line that has no reuse within a loop or loop nest and there is no immediate loop reuse or there is a substantial across loop reuse distance so that it will be replaced from both main and victim cache before being reused.
    Type: Application
    Filed: January 16, 2009
    Publication date: May 21, 2009
    Applicant: INTERNATIONAL BUSINESS MACHINES CORPORATION
    Inventors: Yaoqing Gao, William E. Speight, Lixin Zhang
  • Publication number: 20090083482
    Abstract: Flash memory often cannot be written at speeds approaching those of rotating magnetic storage speeds. This embodiment permits normal NAND flash to be written much faster and to be read at speeds exceeding typical speeds and through put for normal hard disk storage and enables these speeds while removing incremental cost from the device packaging.
    Type: Application
    Filed: September 21, 2007
    Publication date: March 26, 2009
    Applicant: VIZIO
    Inventors: William Pat Price, Timothy J. Elliott
  • Publication number: 20090063730
    Abstract: A memory system is provided that supports partial cache line write operations to a memory module to reduce write data traffic on a memory channel. The memory system comprises a memory hub device integrated in the memory module and a set of memory devices coupled to the memory hub device. The memory hub device comprises burst logic integrated in the memory hub device. The burst logic determines an amount of write data to be transmitted to the set of memory devices and generates a burst length field corresponding to the amount of write data. The memory hub also comprises a memory hub controller integrated in the memory hub device. The memory hub controller controls the amount of write data that is transmitted using the burst length field. The memory hub device transmits the amount of write data that is equal to or less than a conventional data burst amount.
    Type: Application
    Filed: August 31, 2007
    Publication date: March 5, 2009
    Inventors: Kevin C. Gower, Warren E. Maule
  • Publication number: 20080320234
    Abstract: One aspect of the embodiments utilizes an information processing apparatus having a plurality of system boards connected via a bus, each system board including a CPU having a cache memory, a main memory that forms a shared memory, and a system controller that manages the CPU and the main memory as well as controls a data transfer of at least one of the cache memory and the main memory by a memory access request, wherein each system controller including a snoop controller that selects a transfer source CPU from transfer source candidate CPUs each having cache memory including a data requested by the memory access request when the data is available in a plurality of cache memories.
    Type: Application
    Filed: August 22, 2008
    Publication date: December 25, 2008
    Applicant: FUJITSU LIMITED
    Inventor: Go Sugizaki
  • Publication number: 20080301374
    Abstract: A design structure for resolving the occurrence of livelock at the interface between the processor core and memory subsystem controller. Livelock is resolved by introducing a livelock detection mechanism (which includes livelock detection utility or logic) within the processor to detect a livelock condition and dynamically change the duration of the delay stage(s) in order to alter the “harmonic” fixed-cycle loop behavior. The livelock detection logic (LDL) counts the number of flushes a particular instruction takes or the number of times an instruction re-issues without completing. The LDL then compares that number to a preset threshold number. Based on the result of the comparison, the LDL triggers the implementation of one of two different livelock resolution processes.
    Type: Application
    Filed: June 3, 2008
    Publication date: December 4, 2008
    Applicant: INTERNATIONAL BUSINESS MACHINES CORPORATION
    Inventors: RONALD HALL, Michael L. Karm, Alvan W. Ng, Todd A. Venton
  • Publication number: 20080270758
    Abstract: A data processing apparatus is provided wherein processing circuitry executes multiple program threads including at least one high priority thread and at least one lower priority thread. Instructions required by the threads are retrieved from a cache memory hierarchy comprising multiple cache levels. The cache memory hierarchy includes a bypass path for omitting a predetermined level of the cache memory hierarchy when performing a lookup procedure for a required instruction and for bypassing said predetermined level of the cache memory hierarchy when returning said required instruction to said processing circuitry. The bypass path is used by default when the requested instruction is for a lower priority thread.
    Type: Application
    Filed: April 27, 2007
    Publication date: October 30, 2008
    Applicant: ARM Limited
    Inventors: Emre Ozer, Stuart David Biles
  • Publication number: 20080263280
    Abstract: A system, method and computer program product for supporting thread level speculative execution in a computing environment having multiple processing units adapted for concurrent execution of threads in speculative and non-speculative modes. Each processing unit includes a cache memory hierarchy of caches operatively connected therewith. The apparatus includes an additional cache level local to each processing unit for use only in a thread level speculation mode, each additional cache for storing speculative results and status associated with its associated processor when handling speculative threads. The additional local cache level at each processing unit are interconnected so that speculative values and control data may be forwarded between parallel executing threads. A control implementation is provided that enables speculative coherence between speculative threads executing in the computing environment.
    Type: Application
    Filed: June 27, 2008
    Publication date: October 23, 2008
    Applicant: INTERNATIONAL BUSINESS MACHINES CORPORATION
    Inventors: Alan G. Gara, Michael K. Gschwind, Valentina Salapura
  • Publication number: 20080263282
    Abstract: To ensure efficient access to a memory whose writing process is slow. There is provided a storage device for caching data read from a main memory and data to be written in the main memory, comprises a cache memory having a plurality of cache segments, one or more cache segments holding data matching with data in the main memory being set in a protected state to protect the cache segments from a rewrite state, an upper limit of a number of the one or more cache segments being a predetermined reference number; and a cache controller that, in accordance with a write cache miss, allocates a cache segment selected from those cache segments which are not in the protected state to cache write data and writes the write data in the selected cache segment.
    Type: Application
    Filed: February 26, 2008
    Publication date: October 23, 2008
    Applicant: INTERNATIONAL BUSINESS MACHINES CORPORATION
    Inventors: Nobuyuki Harada, Takeo Nakada
  • Publication number: 20080189478
    Abstract: A nonvolatile semiconductor memory device for an efficient program of multilevel data includes a memory cell array having a plurality of banks and a cache block corresponding to each of the plurality of banks. The cache block has a predetermined data storage capacity. A page buffer is included which corresponds to each of the plurality of banks. A programming circuit programs all of the plurality of banks except a last of said banks with page data. The page data is loaded through each page buffer and programmed into each cache block such that when page data for the last bank is loaded into the page buffer, the loaded page data and the page data programmed into the respective cache blocks are programmed into respective corresponding banks. Accordingly, the time taken in programming can be reduced without increasing a unit of program in a multilevel flash memory, thereby improving performance in a multilevel program of a nonvolatile semiconductor memory device.
    Type: Application
    Filed: January 29, 2008
    Publication date: August 7, 2008
    Applicant: SAMSUNG ELECTRONICS CO., LTD.
    Inventors: Dong-Hyuk CHAE, Young-Ho LIM
  • Publication number: 20080172529
    Abstract: Improved thrashing aware and self configuring cache architectures that reduce cache thrashing without increasing cache size or degrading cache hit access time, for a DSP. In one example embodiment, that is accomplished by selectively caching only the instructions having a higher probability of recurrence to considerably reduce cache thrashing.
    Type: Application
    Filed: January 17, 2007
    Publication date: July 17, 2008
    Inventors: Tushar Prakash Ringe, Abhijit Giri
  • Publication number: 20080162823
    Abstract: Exemplary embodiments include a method for enhancing lock acquisition in a multiprocessor system, the method including: sending a lock-load instruction from a first processor to a cache; setting a reservation flag for the first processor, storing a reservation address, storing a shadow register number, and sending lock data to the first processor in response to the lock-load instruction; placing the lock data in target and shadow registers of the first processor; determining from the lock data whether lock is taken; resending the lock-load instruction from the first processor to the cache upon a determination that the lock is taken; determining whether the reservation flag is still set and its main memory address and shadow register number match with the saved reservation address and shadow register number for the first processor; sending a status-quo signal to the first processor without resending the lock data to the first processor upon a determination that the reservation flag is still set for the first p
    Type: Application
    Filed: January 2, 2007
    Publication date: July 3, 2008
    Applicant: INTERNATIONAL BUSINESS MACHINES CORPORATION
    Inventors: Michael N. Day, Charles R. Johns, Roy M. Kim, Peichun P. Liu
  • Publication number: 20080162716
    Abstract: In a playback apparatus adapted to receive stream data transmitted from a server and play back the received stream data, attribute information is sequentially received from the server and stored in an attribute information buffer, and, on the basis of the attribute information stored in the attribute information buffer, a request is issued to the server to transmit stream data corresponding to the attribute information. The stream data received from the server is sequentially stored in a first-in-first-out stream data buffer. When an end part of the stream data being currently played back has been stored in the stream data buffer, attribute information corresponding to stream data to be played next is read from the attribute information buffer, and on the basis of this attribute information, a request is issued to the server to transmit the stream data to be played next.
    Type: Application
    Filed: December 18, 2007
    Publication date: July 3, 2008
    Applicant: Sony Corporation
    Inventors: Masashi Kayanuma, Kojiro Matsuyama
  • Publication number: 20080140938
    Abstract: A device that implements a method for performing integrated caching in a data communication network. The device is configured to receive a packet from a client over the data communication network, wherein the packet includes a request for an object. At the operating system/kernel level of the device, one or more of decryption processing of the packet, authentication and/or authorization of the client, and decompression of the request occurs prior to and integrated with caching operations. The caching operations include determining if the object resides within a cache, serving the request from the cache in response to a determination that the object is stored within the cache, and sending the request to a server in response to a determination that the object is not stored within the cache.
    Type: Application
    Filed: January 28, 2008
    Publication date: June 12, 2008
    Inventors: Prakash KHEMANI, Prabakar SUNDARRAJAN, Lakshmi KUMAR, Kailash KAILASH, Ajay SONI, Rajiv SINHA, Saravanakumar ANNAMALAISAMI
  • Publication number: 20080140937
    Abstract: A method for temporarily storing data objects in memory of a distributed system comprising a plurality of servers sharing access to data comprises steps of: reserving memory at each of the plurality of servers as a default data cache for storing data objects; in response to user input, allocating memory of at least one of the plurality of servers as a named cache reserved for storing a specified type of data object; in response to an operation at a particular server requesting a data object, determining whether the requested data object is of the specified type corresponding to the named cache at the particular server; if the data object is determined to be of the specified type corresponding to the named cache, storing the requested data object in the named cache at the particular server; and otherwise, using the default data cache for storing the requested data object.
    Type: Application
    Filed: December 12, 2006
    Publication date: June 12, 2008
    Applicant: SYBASE, INC.
    Inventors: Vaibhav A. Nalawade, Vadiraja P. Bhatt, KantiKiran K. Pasupuleti
  • Publication number: 20080005467
    Abstract: Software that writes to storage disks using a differently sized sector format than that of the storage disks can require sector edges to be read from sectors of the disks before the write operation can occur. Write operations can consequently incur a performance penalty by having to pre-read sector edges. A sector-edge cache avoids this performance penalty by storing sector edges obtained from the sectors during previously executed read and write operations. Instead of having to pre-read a sector edge from disk during a write operation, an input/output controller can examine the sector-edge cache to determine if each appropriate sector edge is already present and then combine new data with that cached sector edge. RAID-5 implementations, which use a read-modify-write process to perform write operations, benefit from sector caches by reading and caching sector edges during the read phase so that no additional pre-reads are needed during the write phase.
    Type: Application
    Filed: September 14, 2007
    Publication date: January 3, 2008
    Applicant: EMC CORPORATION
    Inventors: Steve Morley, Joel Young