Organization And Technology Of Caches (epo) Patents (Class 711/E12.041)
-
Patent number: 11782707Abstract: 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: GrantFiled: December 10, 2021Date of Patent: October 10, 2023Assignee: Samsung Electronics Co., Ltd.Inventors: Krishna T. Malladi, Wenqin Huangfu
-
Patent number: 11726714Abstract: 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: GrantFiled: December 20, 2019Date of Patent: August 15, 2023Assignee: Micron Technology, Inc.Inventors: Dmitri A. Yudanov, Shanky Kumar Jain
-
Patent number: 11551760Abstract: 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: GrantFiled: February 22, 2021Date of Patent: January 10, 2023Assignee: KIOXIA CORPORATIONInventor: Naoya Tokiwa
-
Patent number: 11321168Abstract: 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: GrantFiled: December 11, 2020Date of Patent: May 3, 2022Assignee: Micron Technology, Inc.Inventors: Antonino Mondello, Alberto Troia
-
Patent number: 9037805Abstract: 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: GrantFiled: November 28, 2013Date of Patent: May 19, 2015Assignee: INTERNATIONAL BUSINESS MACHINES CORPORATIONInventors: Tsai-Yang Jea, Zhi Zhang
-
Patent number: 9003124Abstract: 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: GrantFiled: December 13, 2011Date of Patent: April 7, 2015Assignee: International Business Machines CorporationInventors: Tsai-Yang Jea, Zhi Zhang
-
Patent number: 8996810Abstract: 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: GrantFiled: December 10, 2012Date of Patent: March 31, 2015Assignee: Facebook, Inc.Inventor: Xiaojun Liang
-
Patent number: 8977817Abstract: 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: GrantFiled: September 28, 2012Date of Patent: March 10, 2015Assignee: Apple Inc.Inventors: Sukalpa Biswas, Shinye Shiu
-
Patent number: 8949565Abstract: 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: GrantFiled: December 27, 2009Date of Patent: February 3, 2015Assignee: Intel CorporationInventors: Hormuzd M. Khosravi, Yasser Rasheed, Venkat R. Gokulrangan
-
Patent number: 8886882Abstract: 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: GrantFiled: September 14, 2012Date of Patent: November 11, 2014Assignee: Hitachi, Ltd.Inventor: Akio Nakajima
-
Patent number: 8862830Abstract: 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: GrantFiled: February 17, 2012Date of Patent: October 14, 2014Assignee: International Business Machines CorporationInventors: Philip A. Archdeacon, Chris Perkins, Xuebing Qing, Sabrina Tang
-
Patent number: 8850122Abstract: 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: GrantFiled: November 30, 2011Date of Patent: September 30, 2014Assignee: International Business Machines CorporationInventors: Gregory Chockler, Guy Laden, Ýmir Vigfússon
-
Patent number: 8825937Abstract: 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: GrantFiled: February 25, 2013Date of Patent: September 2, 2014Assignee: Fusion-io, Inc.Inventors: David Atkisson, David Flynn
-
Patent number: 8788756Abstract: 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: GrantFiled: November 28, 2011Date of Patent: July 22, 2014Assignee: Xilinx, Inc.Inventor: Sanjay A. Kulkarni
-
Patent number: 8713261Abstract: 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: GrantFiled: March 11, 2011Date of Patent: April 29, 2014Assignee: EMC CorporationInventors: Dan Aharoni, Amnon Naamad, Alex Veprinsky, Arieh Don
-
Publication number: 20140095777Abstract: 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: ApplicationFiled: September 28, 2012Publication date: April 3, 2014Applicant: APPLE INC.Inventors: Sukalpa Biswas, Shinye Shiu
-
Patent number: 8667235Abstract: 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: GrantFiled: February 11, 2010Date of Patent: March 4, 2014Assignee: 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: 8627008Abstract: 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: GrantFiled: February 4, 2010Date of Patent: January 7, 2014Assignee: International Business Machines CorporationInventor: Moinuddin Khalil Ahmed Qureshi
-
Patent number: 8627002Abstract: 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: GrantFiled: October 12, 2006Date of Patent: January 7, 2014Assignee: International Business Machines CorporationInventors: David F. Mannenbach, Karl A. Nielsen
-
Patent number: 8589638Abstract: 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: GrantFiled: July 19, 2011Date of Patent: November 19, 2013Assignee: ARM LimitedInventors: Michael Andrew Campbell, Peter Andrew Riocreux
-
Publication number: 20130219127Abstract: 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: ApplicationFiled: February 17, 2012Publication date: August 22, 2013Applicant: INTERNATIONAL BUSINESS MACHINES CORPORATIONInventors: Philip A. ARCHDEACON, Chris PERKINS, Xuebing QING, Sabrina TANG
-
Patent number: 8510509Abstract: 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: GrantFiled: December 18, 2007Date of Patent: August 13, 2013Assignee: International Business Machines CorporationInventors: Thomas A. Gregg, Rajaram B. Krishnamurthy
-
Publication number: 20130151788Abstract: 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: ApplicationFiled: December 12, 2011Publication date: June 13, 2013Applicant: International Business Machines CorporationInventors: Robert H. Bell, JR., Hong L. Hua, William A. Maron, Mysore S. Srinivas
-
Publication number: 20130151929Abstract: 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: ApplicationFiled: December 7, 2011Publication date: June 13, 2013Applicant: International Business Machines CorporationInventors: John S. Dodson, Benjiman L. Goodman, Steven J. Hnatko, Kenneth L. Wright
-
Publication number: 20130138889Abstract: 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: ApplicationFiled: November 30, 2011Publication date: May 30, 2013Applicant: International Business Machines CorporationInventors: Gregory Chockler, Guy Laden, Ýmir Vigfússon
-
Patent number: 8402223Abstract: 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: GrantFiled: March 21, 2011Date of Patent: March 19, 2013Assignee: Microsoft CorporationInventors: Adrian Birka, Adam Prout, Sangeetha Shekar, Georgiy I. Reynya
-
Patent number: 8370578Abstract: 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: GrantFiled: March 3, 2011Date of Patent: February 5, 2013Assignee: Hitachi, Ltd.Inventors: Yoshihiro Yoshii, Mitsuru Inoue, Kentaro Shimada, Sadahiro Sugimoto
-
Publication number: 20120303883Abstract: 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: ApplicationFiled: May 24, 2011Publication date: November 29, 2012Applicant: INTERNATIONAL BUSINESS MACHINES CORPORATIONInventors: 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: 8291166Abstract: 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: GrantFiled: May 24, 2010Date of Patent: October 16, 2012Assignee: Apple Inc.Inventors: Michael J. Cornwell, Christopher P. Dudte, Kenneth L. Herman
-
Publication number: 20120254502Abstract: 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: ApplicationFiled: March 28, 2011Publication date: October 4, 2012Inventor: Byungcheol Cho
-
Patent number: 8281077Abstract: 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: GrantFiled: December 8, 2006Date of Patent: October 2, 2012Assignee: Sony Ericsson Mobile Communications ABInventor: Edward C. Hyatt
-
Patent number: 8250303Abstract: 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: GrantFiled: September 30, 2009Date of Patent: August 21, 2012Assignee: International Business Machines CorporationInventors: Kerry Bernstein, Moinuddin K. Qureshi
-
Patent number: 8230175Abstract: 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: GrantFiled: August 9, 2005Date of Patent: July 24, 2012Assignee: Hewlett-Packard Development Company, L.P.Inventors: Nicholas Vaccaro, Mostafa Kashi
-
Patent number: 8166246Abstract: 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: GrantFiled: January 31, 2008Date of Patent: April 24, 2012Assignee: International Business Machines CorporationInventors: Guy Lynn Guthrie, Thomas Leo Jeremiah, William Lloyd McNeil, Hugh Shen, William John Starke
-
Publication number: 20120079177Abstract: 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: ApplicationFiled: December 5, 2011Publication date: March 29, 2012Applicant: Convey ComputerInventors: Tony M. BREWER, Terrell MAGEE, J. Michael ANDREWARTHA
-
Publication number: 20120072656Abstract: 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: ApplicationFiled: June 13, 2011Publication date: March 22, 2012Inventors: Shrikar Archak, Sagar Dixit, Richard P. Spillane, Erez Zadok
-
Patent number: 8135911Abstract: 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: GrantFiled: October 21, 2008Date of Patent: March 13, 2012Assignee: International Business Machines CorporationInventors: Uman Chan, Deryck X. Hong, Tsai-Yang Jea, Hanhong Xue
-
Patent number: 8099555Abstract: 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: GrantFiled: January 23, 2009Date of Patent: January 17, 2012Assignee: Konica Minolta Laboratory U.S.A., Inc.Inventor: Christopher Williamson
-
Publication number: 20110314226Abstract: 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: ApplicationFiled: June 16, 2010Publication date: December 22, 2011Inventor: Byungcheol Cho
-
Publication number: 20110307663Abstract: 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: ApplicationFiled: June 9, 2011Publication date: December 15, 2011Applicant: GLOBAL SUPERCOMPUTING CORPORATIONInventors: Emre Kultursay, Kemal Ebcioglu, Mahmut Taylan Kandemir
-
Patent number: 8041900Abstract: 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: GrantFiled: January 15, 2008Date of Patent: October 18, 2011Assignee: Oracle America, Inc.Inventors: Paul Caprioli, Martin Karlsson, Sherman H. Yip
-
Patent number: 8028119Abstract: 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: GrantFiled: May 18, 2006Date of Patent: September 27, 2011Assignee: Renesas Electronics CorporationInventor: Seiji Miura
-
Publication number: 20110191546Abstract: 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: ApplicationFiled: February 4, 2010Publication date: August 4, 2011Applicant: International Business Machines CorporationInventor: Moinuddin Khalil Ahmed Qureshi
-
Patent number: 7953931Abstract: 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: GrantFiled: February 21, 2008Date of Patent: May 31, 2011Assignee: Super Talent Electronics, Inc.Inventors: I-Kang Yu, David Q. Chow, Charles C. Lee, Abraham Chih-Kang Ma, Ming-Shiang Shen
-
Publication number: 20110119445Abstract: 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: ApplicationFiled: January 29, 2010Publication date: May 19, 2011Applicant: INTERNATIONAL BUSINESS MACHINES CORPORATIONInventors: Thomas M. Gooding, David L. Satterfield, Burkhard Steinmacher-Burow
-
Patent number: 7945737Abstract: 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: GrantFiled: January 12, 2009Date of Patent: May 17, 2011Assignee: Round Rock Research, LLCInventor: Joseph M. Jeddeloh
-
Publication number: 20110078382Abstract: 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: ApplicationFiled: September 30, 2009Publication date: March 31, 2011Applicant: International Business Machines CorporationInventors: Kerry Bernstein, Moinuddin K. Qureshi
-
Patent number: 7882319Abstract: 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: GrantFiled: September 27, 2007Date of Patent: February 1, 2011Assignee: Oracle America Inc.Inventors: Darrin P. Johnson, Eric C. Saxe, Sherry Q. Moore
-
Patent number: 7870337Abstract: 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: GrantFiled: November 28, 2007Date of Patent: January 11, 2011Assignee: International Business Machines CorporationInventors: Robert H. Bell, Jr., Louis B. Capps, Jr., Thomas E. Cook, Michael J. Shapiro, Naresh Nayar
-
Publication number: 20100332761Abstract: 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: ApplicationFiled: June 26, 2009Publication date: December 30, 2010Applicant: International Business Machines CorporationInventor: Jian Li