Organization And Technology Of Caches (epo) Patents (Class 711/E12.041)
  • Patent number: 11782707
    Abstract: According to one embodiment, a memory module includes: a memory die including a dynamic random access memory (DRAM) banks, each including: an array of DRAM cells arranged in pages; a row buffer to store values of one of the pages; an input/output (IO) module; and an in-memory compute (IMC) module including: an arithmetic logic unit (ALU) to receive operands from the row buffer or the IO module and to compute an output based on the operands and one of a plurality of ALU operations; and a result register to store the output of the ALU; and a controller to: receive, from a host processor, operands and an instruction; determine, based on the instruction, a data layout; supply the operands to the DRAM banks in accordance with the data layout; and control an IMC module to perform one of the ALU operations on the operands in accordance with the instruction.
    Type: Grant
    Filed: December 10, 2021
    Date of Patent: October 10, 2023
    Assignee: Samsung Electronics Co., Ltd.
    Inventors: Krishna T. Malladi, Wenqin Huangfu
  • Patent number: 11726714
    Abstract: Methods, systems, and devices related to content-addressable memory for signal development caching are described. In one example, a memory device in accordance with the described techniques may include a memory array, a sense amplifier array, and a signal development cache configured to store signals (e.g., cache signals, signal states) associated with logic states (e.g., memory states) that may be stored at the memory array (e.g., according to various read or write operations). The memory device may also include storage, such as a content-addressable memory, configured to store a mapping between addresses of the signal development cache and addresses of the memory array. In various examples, accessing the memory device may include determining and storing a mapping between addresses of the signal development cache and addresses of the memory array, or determining whether to access the signal development cache or the memory array based on such a mapping.
    Type: Grant
    Filed: December 20, 2019
    Date of Patent: August 15, 2023
    Assignee: Micron Technology, Inc.
    Inventors: Dmitri A. Yudanov, Shanky Kumar Jain
  • Patent number: 11551760
    Abstract: A semiconductor memory device includes memory cells, a first circuit that includes a first latch group including first and second data latch circuits and a second latch group including third and fourth data latch circuits, and a control circuit configured to control a write operation during which first and second data to be written into the memory cells are stored in the first and second data latch circuits, respectively, wherein the first and second data are also stored in the third and fourth data latch circuits, respectively, while the first and second data stored in the first and second data latch circuits, respectively, are being written in the memory cells.
    Type: Grant
    Filed: February 22, 2021
    Date of Patent: January 10, 2023
    Assignee: KIOXIA CORPORATION
    Inventor: Naoya Tokiwa
  • Patent number: 11321168
    Abstract: The present disclosure includes apparatuses, methods, and systems for error identification on executed code. An embodiment includes memory and circuitry configured to read data stored in a secure array of the memory, identify a different memory having an error correcting code (ECC) corresponding to the read data of the memory, execute an integrity check to compare the ECC to the read data of the memory; and take an action in response to the comparison of the read data of the memory and the ECC, wherein the comparison indicates that the ECC identified an error in the read data of the memory.
    Type: Grant
    Filed: December 11, 2020
    Date of Patent: May 3, 2022
    Assignee: Micron Technology, Inc.
    Inventors: Antonino Mondello, Alberto Troia
  • Patent number: 9037805
    Abstract: A method for managing a cache region including receiving a new region to be stored within the cache, the cache including multiple regions defined by one or more ranges having a starting index and an ending index, and storing the new region in the cache in accordance with a cache invariant, the cache invariant ensuring that regions in the cache are not overlapping and that the regions are stored in a specified order.
    Type: Grant
    Filed: November 28, 2013
    Date of Patent: May 19, 2015
    Assignee: INTERNATIONAL BUSINESS MACHINES CORPORATION
    Inventors: Tsai-Yang Jea, Zhi Zhang
  • Patent number: 9003124
    Abstract: A system or computer usable program product for managing a cache region including receiving a new region to be stored within the cache, the cache including multiple regions defined by one or more ranges having a starting index and an ending index, and storing the new region in the cache in accordance with a cache invariant, the cache invariant ensuring that regions in the cache are not overlapping and that the regions are stored in a specified order.
    Type: Grant
    Filed: December 13, 2011
    Date of Patent: April 7, 2015
    Assignee: International Business Machines Corporation
    Inventors: Tsai-Yang Jea, Zhi Zhang
  • Patent number: 8996810
    Abstract: A system and method of detecting cache inconsistencies among distributed data centers is described. Key-based sampling captures a complete history of a key for comparing cache values across data centers. In one phase of a cache inconsistency detection algorithm, a log of operations performed on a sampled key is compared in reverse chronological order for inconsistent cache values. In another phase, a log of operations performed on a candidate key having inconsistent cache values as identified in the previous phase is evaluated in near real time in forward chronological order for inconsistent cache values. In a confirmation phase, a real time comparison of actual cache values stored in the data centers is performed on the candidate keys identified by both the previous phases as having inconsistent cache values. An alert is issued that identifies the data centers in which the inconsistent cache values were reported.
    Type: Grant
    Filed: December 10, 2012
    Date of Patent: March 31, 2015
    Assignee: Facebook, Inc.
    Inventor: Xiaojun Liang
  • Patent number: 8977817
    Abstract: Methods and apparatuses for reducing leakage power in a system cache within a memory controller. The system cache is divided into multiple small sections, and each section is supplied with power from a separately controllable power supply. When a section is not being accessed, the voltage supplied to the section is reduced to a voltage sufficient for retention of data but not for access. Incoming requests are grouped together based on which section of the system cache they target. When enough requests that target a given section have accumulated, the voltage supplied to the given section is increased to a voltage sufficient for access. Then, once the given section has enough time to ramp-up and stabilize at the higher voltage, the waiting requests may access the given section in a burst of operations.
    Type: Grant
    Filed: September 28, 2012
    Date of Patent: March 10, 2015
    Assignee: Apple Inc.
    Inventors: Sukalpa Biswas, Shinye Shiu
  • Patent number: 8949565
    Abstract: A system reserves and manages a hidden service partition through components of the hardware platform of a computing device. The hidden partition is not accessible by way of a host operating system on the computing device. A hardware platform controller provisions a portion of nonvolatile storage through configuration settings of the hardware platform controller. When the host system requests settings related to storage in the system, the request is routed through the interfaces of the hardware platform, and the hardware platform controller reports in accordance with the configuration settings, hiding the service partition. The hidden partition is dynamically modifiable through secure remote access to the hardware platform controller, not through the host system such as operating system or BIOS.
    Type: Grant
    Filed: December 27, 2009
    Date of Patent: February 3, 2015
    Assignee: Intel Corporation
    Inventors: Hormuzd M. Khosravi, Yasser Rasheed, Venkat R. Gokulrangan
  • Patent number: 8886882
    Abstract: Storage systems and methods directed to tier management and tier movement. Tier management is conducted based on access frequency of data in a storage subsystem in comparison to the storage subsystem tier. The storage system may then manage cache pre-fetch or tier movement as file location granularity without a special management interface from the host to the storage system.
    Type: Grant
    Filed: September 14, 2012
    Date of Patent: November 11, 2014
    Assignee: Hitachi, Ltd.
    Inventor: Akio Nakajima
  • Patent number: 8862830
    Abstract: Provided are a computer implemented method, computer program product, and system for caching a data object. A copy of an original data object to a specified depth is obtained. The copy of the original data object to the specified depth is cached with reference to the original data object in a prototype chain. A change to a value of a property of the cached copy is received. A new property entry is created for the changed value of the property under the cached copy. A change flag is set to indicate that there is a changed value for the property.
    Type: Grant
    Filed: February 17, 2012
    Date of Patent: October 14, 2014
    Assignee: International Business Machines Corporation
    Inventors: Philip A. Archdeacon, Chris Perkins, Xuebing Qing, Sabrina Tang
  • Patent number: 8850122
    Abstract: Systems and methods for cache optimization, the method comprising monitoring cache access rate for one or more cache tenants in a computing environment, wherein a first cache tenant is allocated a first cache having a first cache size which may be adjusted; determining a cache profile for at least the first cache over one or more time intervals according to data collected during the monitoring, analyzing the cache profile for the first cache to determine an expected cache usage model for the first cache; and analyzing the cache usage model and factors related to cache efficiency for the one or more cache tenants to dictate one or more constraints that define boundaries for the first cache size.
    Type: Grant
    Filed: November 30, 2011
    Date of Patent: September 30, 2014
    Assignee: International Business Machines Corporation
    Inventors: Gregory Chockler, Guy Laden, Ýmir Vigfússon
  • Patent number: 8825937
    Abstract: Apparatuses, systems, and methods are disclosed for managing contents of a cache. A method includes receiving a read request for data stored in a non-volatile cache. A method includes determining whether a read request satisfies a frequent read threshold for a cache. A method includes writing data of a read request forward on a sequential log-based writing structure of a cache in response to determining that the read request satisfies a frequent read threshold.
    Type: Grant
    Filed: February 25, 2013
    Date of Patent: September 2, 2014
    Assignee: Fusion-io, Inc.
    Inventors: David Atkisson, David Flynn
  • Patent number: 8788756
    Abstract: A circuit for enabling the transfer of data by an integrated circuit device is described. The circuit comprises a non-volatile memory array coupled to receive a clock signal and having a plurality of memory elements storing data; and a control circuit coupled to the non-volatile memory array, the control circuit enabling uni-directional transfer of data on a plurality of signal lines between the non-volatile memory array and the control circuit in a first mode and bi-directional transfer of data in a second mode; wherein the control circuit controls the transfer of data on the plurality of signal lines between the non-volatile memory array and the control circuit in the first mode on both the rising and falling edges of the clock signal. A method of enabling the transfer of data by an integrated circuit device is also described.
    Type: Grant
    Filed: November 28, 2011
    Date of Patent: July 22, 2014
    Assignee: Xilinx, Inc.
    Inventor: Sanjay A. Kulkarni
  • Patent number: 8713261
    Abstract: Described are techniques for caching. At a first point in time, a first set of data portions currently stored in a first cache of a first data storage system is determined. Each data portion of the first set is located on a first device of the first data storage system. Sent to a second data storage system is first information including information identifying a storage location on the first device for each data portion of the first set. The second data storage system includes a second device that is maintained as a mirror of the first device. The storage location for each data portion of the first set is used to identify a second storage location of the second device corresponding to the storage location. The first information is used to populate a second cache of the second data storage system.
    Type: Grant
    Filed: March 11, 2011
    Date of Patent: April 29, 2014
    Assignee: EMC Corporation
    Inventors: Dan Aharoni, Amnon Naamad, Alex Veprinsky, Arieh Don
  • Publication number: 20140095777
    Abstract: Methods and apparatuses for reducing leakage power in a system cache within a memory controller. The system cache is divided into multiple small sections, and each section is supplied with power from a separately controllable power supply. When a section is not being accessed, the voltage supplied to the section is reduced to a voltage sufficient for retention of data but not for access. Incoming requests are grouped together based on which section of the system cache they target. When enough requests that target a given section have accumulated, the voltage supplied to the given section is increased to a voltage sufficient for access. Then, once the given section has enough time to ramp-up and stabilize at the higher voltage, the waiting requests may access the given section in a burst of operations.
    Type: Application
    Filed: September 28, 2012
    Publication date: April 3, 2014
    Applicant: APPLE INC.
    Inventors: Sukalpa Biswas, Shinye Shiu
  • Patent number: 8667235
    Abstract: Data storage and retrieval methods and apparatus are provided for facilitating data de-duplication for serial-access storage media such as tape. During data storage, input data is divided into a succession of chunks and, for each chunk, a corresponding data item is written to the storage media. The data item comprises the chunk data itself where it is the first occurrence of that data, and otherwise comprises a chunk-data identifier identifying that chunk of subject data. To facilitate reconstruction of the original data on read-back from the storage media a cache (50) is used together with a database (35R), stored on the media, that includes for each duplicated chunk, the location of the corresponding chunk of subject data.
    Type: Grant
    Filed: February 11, 2010
    Date of Patent: March 4, 2014
    Assignee: Hewlett-Packard Development Company, L.P.
    Inventors: Christopher Williams, Gregory Trezise, Jonathan Peter Buckingham, Neil Thomas Hutchon, Darren Edward Kent, Andrew Hana, Peter Walsh, Rafel Jibry, Robert Morling
  • Patent number: 8627008
    Abstract: An apparatus for memory access prediction which includes a plurality of processors, a plurality of memory caches associated with the processors, a plurality of saturation counters associated with the processors, each of the saturation counters having an indicator bit, and a physical memory shared with the processors, saturation counters and memory caches. Upon a cache miss for a data item, a cache snoop and access to physical memory are initiated in parallel for the data item if the indicator bit is a first predetermined bit (one (1) or zero (0)) whereas a cache snoop is initiated if the most significant bit is a second predetermined bit (zero (0) or one (1)).
    Type: Grant
    Filed: February 4, 2010
    Date of Patent: January 7, 2014
    Assignee: International Business Machines Corporation
    Inventor: Moinuddin Khalil Ahmed Qureshi
  • Patent number: 8627002
    Abstract: A method of managing data in a cache memory storage subsystem upon a cache write operation includes determining a first number of non-contiguously written sectors on a track in the cache and comparing the first number with a second, threshold number. If the first number exceeds the second number, a full background stage operation is issued to fill the non-contiguously written sectors with unmodified data from a storage medium. A corresponding system includes a cache manager module operating on the storage subsystem. Upon a determination that a cache write operation on a track has taken place, the cache manager module determines a first number of non-contiguously written sectors on the track, compares the first number with a second, predetermined threshold number, and issues a background stage operation to fill the non-contiguously written sectors with unmodified data from a storage medium if the first number exceeds the second number.
    Type: Grant
    Filed: October 12, 2006
    Date of Patent: January 7, 2014
    Assignee: International Business Machines Corporation
    Inventors: David F. Mannenbach, Karl A. Nielsen
  • Patent number: 8589638
    Abstract: A memory controller includes a comparison circuitry configured to compare the barrier context value of each write request to be issued to the memory with the barrier context values of at least some pending read requests, the pending read requests being requests received at the memory controller but not yet issued to the memory and, in response to detecting at least one of the pending read requests with an earlier barrier context value identifying a barrier transaction that has a corresponding barrier transaction in the stream of requests on the write channel that is earlier in the stream of requests than the write request, stalling the write request until the at least one pending read request has been performed; and, in response to detecting no pending read requests with the earlier barrier context value, issuing the write request to the memory.
    Type: Grant
    Filed: July 19, 2011
    Date of Patent: November 19, 2013
    Assignee: ARM Limited
    Inventors: Michael Andrew Campbell, Peter Andrew Riocreux
  • Publication number: 20130219127
    Abstract: Provided are a computer implemented method, computer program product, and system for caching a data object. A copy of an original data object to a specified depth is obtained. The copy of the original data object to the specified depth is cached with reference to the original data object in a prototype chain. A change to a value of a property of the cached copy is received. A new property entry is created for the changed value of the property under the cached copy. A change flag is set to indicate that there is a changed value for the property.
    Type: Application
    Filed: February 17, 2012
    Publication date: August 22, 2013
    Applicant: INTERNATIONAL BUSINESS MACHINES CORPORATION
    Inventors: Philip A. ARCHDEACON, Chris PERKINS, Xuebing QING, Sabrina TANG
  • Patent number: 8510509
    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: Grant
    Filed: December 18, 2007
    Date of Patent: August 13, 2013
    Assignee: International Business Machines Corporation
    Inventors: Thomas A. Gregg, Rajaram B. Krishnamurthy
  • Publication number: 20130151788
    Abstract: Some embodiments of the inventive subject matter are directed to a cache comprising a tracking unit and cache state machines. In some embodiments, the tracking unit is configured to track an amount of cache resources used to service cache misses within a past period. In some embodiments, each of the cache state machines is configured to, determine whether a memory access request results in a cache miss or cache hit, and in response to a cache miss for a memory access request, query the tracking unit for the amount of cache resources used to service cache misses within the past period. In some embodiments, the each of the cache state machines is configured to service the memory access request based, at least in part, on the amount of cache resources used to service the cache misses within the past period according to the tracking unit.
    Type: Application
    Filed: December 12, 2011
    Publication date: June 13, 2013
    Applicant: International Business Machines Corporation
    Inventors: Robert H. Bell, JR., Hong L. Hua, William A. Maron, Mysore S. Srinivas
  • Publication number: 20130151929
    Abstract: Mechanisms are provided for efficient storage of meta-bits within a system memory. The mechanisms combine an L/G bit and an SUE bit to form meta-bits. The mechanisms then determine the local/global state of a cache line on the first cycle of data. The mechanisms forward the data to the requesting cache, and the requesting cache may reissue the request globally based on the local/global state of the cache line. The mechanisms then determine the special uncorrectable error state of the cache line on the second or subsequent cycle of data. The mechanisms perform error processing regardless of whether the request was reissued globally.
    Type: Application
    Filed: December 7, 2011
    Publication date: June 13, 2013
    Applicant: International Business Machines Corporation
    Inventors: John S. Dodson, Benjiman L. Goodman, Steven J. Hnatko, Kenneth L. Wright
  • Publication number: 20130138889
    Abstract: Systems and methods for cache optimization, the method comprising monitoring cache access rate for one or more cache tenants in a computing environment, wherein a first cache tenant is allocated a first cache having a first cache size which may be adjusted; determining a cache profile for at least the first cache over one or more time intervals according to data collected during the monitoring, analyzing the cache profile for the first cache to determine an expected cache usage model for the first cache; and analyzing the cache usage model and factors related to cache efficiency for the one or more cache tenants to dictate one or more constraints that define boundaries for the first cache size.
    Type: Application
    Filed: November 30, 2011
    Publication date: May 30, 2013
    Applicant: International Business Machines Corporation
    Inventors: Gregory Chockler, Guy Laden, Ýmir Vigfússon
  • Patent number: 8402223
    Abstract: Embodiments are directed to efficiently determining which cache entries are to be evicted from memory and to incorporating a probability of reuse estimation in a cache entry eviction determination. A computer system with multiple different caches accesses a cache entry. The computer system determines an entry cost value for the accessed cache entry. The entry cost value indicates an amount of time the computer system is slowed down by to load the cache entry into cache memory. The computer system determines an opportunity cost value for the computing system caches. The opportunity cost value indicates an amount of time by which the computer system is slowed down while performing other operations that could have used the cache entry's cache memory space. Upon determining that the entry cost value is lower than the opportunity cost value, the computer system probabilistically evicts the cache entry from cache memory.
    Type: Grant
    Filed: March 21, 2011
    Date of Patent: March 19, 2013
    Assignee: Microsoft Corporation
    Inventors: Adrian Birka, Adam Prout, Sangeetha Shekar, Georgiy I. Reynya
  • Patent number: 8370578
    Abstract: Provided is a storage controller and method of controlling same which, if part of a storage area of a local memory is used as cache memory, enable an access conflict for access to a parallel bus connected to the local memory to be avoided. A storage controller which exercises control of data between a host system and a storage apparatus, comprising a data transfer control unit which exercises control to transfer the data on the basis of a read/write request from the host system; a cache memory which is connected to the data transfer control unit via a parallel bus; a control unit which is connected to the data transfer control unit via a serial bus; and a local memory which is connected to the control unit via a parallel bus, wherein the control unit decides to assign, from a cache segment of either the cache memory or the local memory, a storage area which stores the data on the basis of a CPU operating rate and a path utilization of the parallel bus connected to the cache memory.
    Type: Grant
    Filed: March 3, 2011
    Date of Patent: February 5, 2013
    Assignee: Hitachi, Ltd.
    Inventors: Yoshihiro Yoshii, Mitsuru Inoue, Kentaro Shimada, Sadahiro Sugimoto
  • Publication number: 20120303883
    Abstract: A method and controller for implementing storage adapter performance optimization with cache data and cache directory mirroring between dual adapters minimizing firmware operations, and a design structure on which the subject controller circuit resides are provided. One of the first controller or the second controller operates in a first initiator mode includes firmware to set up an initiator write operation building a data frame for transferring data and a respective cache line (CL) for each page index to the other controller operating in a second target mode. Respective initiator hardware engines transfers data, reading CLs from an initiator control store, and writing updated CLs to an initiator data store, and simultaneously sends data and updated CLs to the other controller. Respective target hardware engines write data and updated CLs to the target data store, eliminating firmware operations of the controller operating in the second target mode.
    Type: Application
    Filed: May 24, 2011
    Publication date: November 29, 2012
    Applicant: INTERNATIONAL BUSINESS MACHINES CORPORATION
    Inventors: Brian E. Bakke, Brian L. Bowles, Michael J. Carnevale, Robert E. Galbraith, II, Adrian C. Gerhard, Murali N. Iyer, Daniel F. Moertl, Mark J. Moran, Gowrisankar Radhakrishnan, Rick A. Weckwerth, Donald J. Ziebarth
  • Patent number: 8291166
    Abstract: A method for managing data storage is described. The method includes receiving data from an external host at a peripheral storage device, detecting a file system type of the external host, and adapting a caching policy for transmitting the data to a memory accessible by the storage device, wherein the caching policy is based on the detected file system type. The detection of the file system type can be based on the received data. The detection bases can include a size of the received data. In some implementations, the detection of the file system type can be based on accessing the memory for file system type indicators that are associated with a unique file system type. Adapting the caching policy can reduce a number of data transmissions to the memory. The detected file system type can be a file allocation table (FAT) system type.
    Type: Grant
    Filed: May 24, 2010
    Date of Patent: October 16, 2012
    Assignee: Apple Inc.
    Inventors: Michael J. Cornwell, Christopher P. Dudte, Kenneth L. Herman
  • Publication number: 20120254502
    Abstract: Embodiments of the present invention provide an adaptive cache system and an adaptive cache system for a hybrid storage system. Specifically, in a typical embodiment, an input/out (I/O) traffic analysis component is provided for monitoring data traffic and providing a traffic analysis based thereon. An adaptive cache algorithm component is coupled to the I/O traffic analysis component for applying a set of algorithms to determine a storage schema for handling the data traffic. Further, an adaptive cache policy component is coupled to the adaptive cache algorithm component. The adaptive cache policy component applies a set of caching policies and makes storage determinations based on the traffic analysis and the storage schema. Based on the storage determinations, data traffic can be stored (e.g., cached) among a set of storage devices coupled to the adaptive cache policy component.
    Type: Application
    Filed: March 28, 2011
    Publication date: October 4, 2012
    Inventor: Byungcheol Cho
  • Patent number: 8281077
    Abstract: An apparatus and method for providing media content to electronic equipment includes transferring media content to the electronic equipment, and using rules to determine how pre-existing media content and the cached media content are stored in memory when free memory in the electronic equipment is insufficient to store the cached media content. At least part of the transferred media content is cached in memory of the electronic equipment for use at a later time.
    Type: Grant
    Filed: December 8, 2006
    Date of Patent: October 2, 2012
    Assignee: Sony Ericsson Mobile Communications AB
    Inventor: Edward C. Hyatt
  • Patent number: 8250303
    Abstract: A mechanism is provided in a cache for emulating larger linesize in a substrate with smaller linesize using gang fetching and gang replacement. Gang fetching fetches multiple lines on a cache miss to ensure that all smaller lines that make up the larger line are resident in cache at the same time. Gang replacement evicts all smaller lines in cache that would have been evicted had the cache linesize been larger. The mechanism provides adaptive linesize using set dueling by dynamically selecting between multiple linsizes depending on which linesize performs the best at runtime. Set dueling dedicates a portion of sets of the cache to always use smaller linesize and dedicates one or more portions of the sets of cache to always emulate larger linesizes. One or more counters keep track of which linesize has the best performance. The cache uses that linesize for the remainder of the sets.
    Type: Grant
    Filed: September 30, 2009
    Date of Patent: August 21, 2012
    Assignee: International Business Machines Corporation
    Inventors: Kerry Bernstein, Moinuddin K. Qureshi
  • Patent number: 8230175
    Abstract: A system and method optimizing data throughput to a processor from a storage device having sequential data access capabilities where the processor enables its data cache for memory operations involving the storage device. The system includes a processor coupled to the data storage device, e.g., a NAND flash memory. The processor establishes an address window used as a cache (CW) for reading data from the flash memory and also establishes a non-cacheable address window (NCW) for commands, address delivery and writes to the flash memory. The CW is sized to be larger than the processor data cache to ensure that reads from the flash memory always encounter a cache-miss so that read data is obtained directly from the flash memory. By reading through the CW from the flash memory, the processor takes advantage of bursting, pipelining and data prefetch efficiencies which significantly increase data throughput.
    Type: Grant
    Filed: August 9, 2005
    Date of Patent: July 24, 2012
    Assignee: Hewlett-Packard Development Company, L.P.
    Inventors: Nicholas Vaccaro, Mostafa Kashi
  • Patent number: 8166246
    Abstract: A computer implemented method, a processor chip, a data processing system, and computer program product in a data processing system process information in a store cache of a data processing system. The store cache receives a first entry that includes a first address indicating a first segment of a cache line. The store cache then receives a second entry including a second address indicating a second segment of the cache line. Responsive to the first segment not being equal to the second segment, the first entry is chained to the second entry.
    Type: Grant
    Filed: January 31, 2008
    Date of Patent: April 24, 2012
    Assignee: International Business Machines Corporation
    Inventors: Guy Lynn Guthrie, Thomas Leo Jeremiah, William Lloyd McNeil, Hugh Shen, William John Starke
  • Publication number: 20120079177
    Abstract: A memory interleave system for providing memory interleave for a heterogeneous computing system is provided. The memory interleave system effectively interleaves memory that is accessed by heterogeneous compute elements in different ways, such as via cache-block accesses by certain compute elements and via non-cache-block accesses by certain other compute elements. The heterogeneous computing system may comprise one or more cache-block oriented compute elements and one or more non-cache-block oriented compute elements that share access to a common main memory. The cache-block oriented compute elements access the memory via cache-block accesses (e.g., 64 bytes, per access), while the non-cache-block oriented compute elements access memory via sub-cache-block accesses (e.g., 8 bytes, per access).
    Type: Application
    Filed: December 5, 2011
    Publication date: March 29, 2012
    Applicant: Convey Computer
    Inventors: Tony M. BREWER, Terrell MAGEE, J. Michael ANDREWARTHA
  • Publication number: 20120072656
    Abstract: A method for maintaining an index in multi-tier data structure includes providing a plurality of a storage devices forming the multi-tier data structure, caching an index of key-value pairs across the multi-tier data structure, wherein each of the key-value pairs includes a key, and one of a data value and a data pointer, the key-value pairs stored in the multi-tier data structure, providing a journal for interfacing with the multi-tier data structure, providing a plurality of zone allocators recording which zones of the multi-tier data structure are in used, and providing a plurality of zone managers for controlling access to cache lines of the multi-tier data structure through the journal and zone allocators, wherein each zone manager maintains a header object pointing to data to be stored in an allocated zone.
    Type: Application
    Filed: June 13, 2011
    Publication date: March 22, 2012
    Inventors: Shrikar Archak, Sagar Dixit, Richard P. Spillane, Erez Zadok
  • Patent number: 8135911
    Abstract: A method, system, and computer program product are provided for managing a cache. A region to be stored within the cache is received. The cache includes multiple regions and each of the regions is defined by memory ranges having a starting index and an ending index. The region that has been received is stored in the cache in accordance with a cache invariant. The cache invariant guarantees that at any given point in time the regions in the cache are stored in a given order and none of the regions are completely contained within any other of the regions.
    Type: Grant
    Filed: October 21, 2008
    Date of Patent: March 13, 2012
    Assignee: International Business Machines Corporation
    Inventors: Uman Chan, Deryck X. Hong, Tsai-Yang Jea, Hanhong Xue
  • Patent number: 8099555
    Abstract: Systems and methods disclosed permit flexible optimization of printer cache memories by specify criteria for determining cache membership for objects derived from a print data streams, wherein the objects may be associated with distinct reference counts. In some embodiments, the method may comprise the steps of: assigning an initial value to the reference count associated with an object, if the object is not present in the cache; incrementing the reference count by a first weight, if the object is already present in the cache; decrementing the reference count by a second weight, in response to an end-of-page event; and removing the object from the cache if the reference count is below a threshold.
    Type: Grant
    Filed: January 23, 2009
    Date of Patent: January 17, 2012
    Assignee: Konica Minolta Laboratory U.S.A., Inc.
    Inventor: Christopher Williamson
  • Publication number: 20110314226
    Abstract: In general, the present invention relates to semiconductor storage systems (SSDs). Specifically, the present invention relates to SSD based cache manager. In a typical embodiment, a cache balancer is coupled to a set of cache meta data units. A set of cache algorithms that utilizes the set of cache meta data units to determine optimal data caching operations. A cache adaptation manger is coupled to and sends volume information to the cache balancer. Typically, this information is computed using the set of cache algorithms. A monitoring manager is coupled to the cache adaptation.
    Type: Application
    Filed: June 16, 2010
    Publication date: December 22, 2011
    Inventor: Byungcheol Cho
  • Publication number: 20110307663
    Abstract: A method is described to partition the memory of application-specific hardware compiled from a software program. Applying the invention generates multiple small memories that need not be kept coherent and are defined over a specific region of the program. The invention creates application specific hardware which preserves the memory image and addressing model of the original software program. The memories are dynamically initialized and flushed at the entries and exits of the program region they are defined in.
    Type: Application
    Filed: June 9, 2011
    Publication date: December 15, 2011
    Applicant: GLOBAL SUPERCOMPUTING CORPORATION
    Inventors: Emre Kultursay, Kemal Ebcioglu, Mahmut Taylan Kandemir
  • Patent number: 8041900
    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: Grant
    Filed: January 15, 2008
    Date of Patent: October 18, 2011
    Assignee: Oracle America, Inc.
    Inventors: Paul Caprioli, Martin Karlsson, Sherman H. Yip
  • Patent number: 8028119
    Abstract: A memory system including a non-volatile memory, a cache memory, a control circuit, and a data processing device is configured. The high speed can be achieved by transferring data in the non-volatile memory to the cache memory to retain the same therein. When the data in the non-volatile memory is transferred to the cache memory, error correction is performed so as to improve the reliability. Since the cache memory and the non-volatile memory can be accessed from the data processing device independently, improvement in usability can be achieved. The memory system including the plurality of chips is configured as a memory system module where respective chips are arranged in a stacked manner and wired by a ball grid array (BGA) and wire bonding between chips.
    Type: Grant
    Filed: May 18, 2006
    Date of Patent: September 27, 2011
    Assignee: Renesas Electronics Corporation
    Inventor: Seiji Miura
  • Publication number: 20110191546
    Abstract: An apparatus for memory access prediction which includes a plurality of processors, a plurality of memory caches associated with the processors, a plurality of saturation counters associated with the processors, each of the saturation counters having an indicator bit, and a physical memory shared with the processors, saturation counters and memory caches. Upon a cache miss for a data item, a cache snoop and access to physical memory are initiated in parallel for the data item if the indicator bit is a first predetermined bit (one (1) or zero (0)) whereas a cache snoop is initiated if the most significant bit is a second predetermined bit (zero (0) or one (1)).
    Type: Application
    Filed: February 4, 2010
    Publication date: August 4, 2011
    Applicant: International Business Machines Corporation
    Inventor: Moinuddin Khalil Ahmed Qureshi
  • Patent number: 7953931
    Abstract: High endurance non-volatile memory devices (NVMD) are described. A high endurance NVMD includes an I/O interface, a NVM controller, a CPU along with a volatile memory subsystem and at least one non-volatile memory (NVM) module. The volatile memory cache subsystem is configured as a data cache subsystem. The at least one NVM module is configured as a data storage when the NVMD is adapted to a host computer system. The I/O interface is configured to receive incoming data from the host to the data cache subsystem and to send request data from the data cache subsystem to the host. The at least one NVM module may comprise at least first and second types of NVM. The first type comprises SLC flash memory while the second type MLC flash. The first type of NVM is configured as a buffer between the data cache subsystem and the second type of NVM.
    Type: Grant
    Filed: February 21, 2008
    Date of Patent: May 31, 2011
    Assignee: Super Talent Electronics, Inc.
    Inventors: I-Kang Yu, David Q. Chow, Charles C. Lee, Abraham Chih-Kang Ma, Ming-Shiang Shen
  • Publication number: 20110119445
    Abstract: A method and system for providing a memory access check on a processor including the steps of detecting accesses to a memory device including level-1 cache using a wakeup unit. The method includes invalidating level-1 cache ranges corresponding to a guard page, and configuring a plurality of wakeup address compare (WAC) registers to allow access to selected WAC registers. The method selects one of the plurality of WAC registers, and sets up a WAC register related to the guard page. The method configures the wakeup unit to interrupt on access of the selected WAC register. The method detects access of the memory device using the wakeup unit when a guard page is violated. The method generates an interrupt to the core using the wakeup unit, and determines the source of the interrupt. The method detects the activated WAC registers assigned to the violated guard page, and initiates a response.
    Type: Application
    Filed: January 29, 2010
    Publication date: May 19, 2011
    Applicant: INTERNATIONAL BUSINESS MACHINES CORPORATION
    Inventors: Thomas M. Gooding, David L. Satterfield, Burkhard Steinmacher-Burow
  • Patent number: 7945737
    Abstract: A computer system includes a memory hub for coupling a processor to a plurality of synchronous dynamic random access memory (“SDRAM”) devices. The memory hub includes a processor interface coupled to the processor and a plurality of memory interfaces coupled to respective SDRAM devices. The processor interface is coupled to the memory interfaces by a switch. Each of the memory interfaces includes a memory controller, a cache memory, and a prediction unit. The cache memory stores data recently read from or written to the respective SDRAM device so that it can be subsequently read by processor with relatively little latency. The prediction unit prefetches data from an address from which a read access is likely based on a previously accessed address.
    Type: Grant
    Filed: January 12, 2009
    Date of Patent: May 17, 2011
    Assignee: Round Rock Research, LLC
    Inventor: Joseph M. Jeddeloh
  • Publication number: 20110078382
    Abstract: A mechanism is provided in a cache for emulating larger linesize in a substrate with smaller linesize using gang fetching and gang replacement. Gang fetching fetches multiple lines on a cache miss to ensure that all smaller lines that make up the larger line are resident in cache at the same time. Gang replacement evicts all smaller lines in cache that would have been evicted had the cache linesize been larger. The mechanism provides adaptive linesize using set dueling by dynamically selecting between multiple linsizes depending on which linesize performs the best at runtime. Set dueling dedicates a portion of sets of the cache to always use smaller linesize and dedicates one or more portions of the sets of cache to always emulate larger linesizes. One or more counters keep track of which linesize has the best performance. The cache uses that linesize for the remainder of the sets.
    Type: Application
    Filed: September 30, 2009
    Publication date: March 31, 2011
    Applicant: International Business Machines Corporation
    Inventors: Kerry Bernstein, Moinuddin K. Qureshi
  • Patent number: 7882319
    Abstract: A method for memory management that includes receiving a request for memory space, identifying a first memory module from a plurality of memory modules based on a first memory power management policy, wherein the first memory power management policy specifies how to allocate memory space in the plurality of memory modules to satisfy a power consumption criteria, and allocating the memory space on the first memory module.
    Type: Grant
    Filed: September 27, 2007
    Date of Patent: February 1, 2011
    Assignee: Oracle America Inc.
    Inventors: Darrin P. Johnson, Eric C. Saxe, Sherry Q. Moore
  • Patent number: 7870337
    Abstract: A snoop coherency method, system and program are provided for intervening a requested cache line from a plurality of candidate memory sources in a multiprocessor system on the basis of the sensed temperature or power dissipation value at each memory source. By providing temperature or power dissipation sensors in each of the candidate memory sources (e.g., at cores, cache memories, memory controller, etc.) that share a requested cache line, control logic may be used to determine which memory source should source the cache line by using the power sensor signals to signal only the memory source with acceptable power dissipation to provide the cache line to the requester.
    Type: Grant
    Filed: November 28, 2007
    Date of Patent: January 11, 2011
    Assignee: International Business Machines Corporation
    Inventors: Robert H. Bell, Jr., Louis B. Capps, Jr., Thomas E. Cook, Michael J. Shapiro, Naresh Nayar
  • Publication number: 20100332761
    Abstract: A mechanism is provided for providing an improved reconfigurable cache. The mechanism partitions a large cache into inclusive cache regions with equal-ratio size or other coarse size increase. The cache controller includes an address decoder for the large cache with a large routing structure. The cache controller includes an additional address decoder for the small cache with a smaller routing structure. The additional address decoder for the small cache reduces decode, array access, and data return latencies. When only a small cache is actively in use, the rest of the cache can be turned into low-power mode to save power.
    Type: Application
    Filed: June 26, 2009
    Publication date: December 30, 2010
    Applicant: International Business Machines Corporation
    Inventor: Jian Li