With Multilevel Cache Hierarchies (epo) Patents (Class 711/E12.024)
-
Patent number: 11675704Abstract: In a ray tracer, a cache for streaming workloads groups ray requests for coherent successive bounding volume hierarchy traversal operations by sending common data down an attached data path to all ray requests in the group at the same time or about the same time. Grouping the requests provides good performance with a smaller number of cache lines.Type: GrantFiled: September 23, 2021Date of Patent: June 13, 2023Assignee: NVIDIA CorporationInventors: Greg Muthler, Timo Aila, Tero Karras, Samuli Laine, William Parsons Newhall, Jr., Ronald Charles Babich, Jr., John Burgess, Ignacio Llamas
-
Patent number: 11650957Abstract: Provided are a computer program product, system, and method receiving at a cache node notification of changes to files in a source file system served from a cache file system at the cache node. A cache file system is established at the cache node as a local share of a source file system at the source node. The source node establishes a local share of the cache file system at the cache node. Notification is received, from the source node, that the source node modified a source control file for a source file at the source node. In response to receiving the notification, a cache control file, for a cached file in the cache file system, is updated to indicate the source file at the source node is modified. A request is sent to the source node to obtain data for the source file indicated as modified.Type: GrantFiled: June 1, 2021Date of Patent: May 16, 2023Assignee: INTERNATIONAL BUSINESS MACHINES CORPORATIONInventors: Venkateswara Rao Puvvada, Karrthik K G, Saket Kumar, Ravi Kumar Komanduri
-
Patent number: 11650934Abstract: One example method includes a cache eviction operation. Entries in a cache are maintained in an entry list that includes a recent list and a frequent list. When an eviction operation is initiated or triggered, timestamps of last access for the entries are adjusted by corresponding adjustment values. Candidates for eviction are identified based on the adjusted timestamps of last access. At least some of the candidates are evicted from the cache.Type: GrantFiled: November 30, 2021Date of Patent: May 16, 2023Assignee: DELL PRODUCTS L.P.Inventors: Keyur B. Desai, Xiaobing Zhang
-
Patent number: 11625587Abstract: An artificial intelligence integrated circuit is provided. The artificial intelligence integrated circuit includes a flash memory, a dynamic random access memory (DRAM), and a memory controller. The flash memory is configured to store a logical-to-physical mapping (L2P) table that is divided into a plurality of group-mapping (G2P) tables. The memory controller includes a first processing core and a second processing core. The first processing core receives a host access command from a host. When a specific G2P table corresponding to a specific logical address in the host access command is not stored in the DRAM, the first processing core determines whether the second processing core has loaded the specific G2P table from the flash memory to the DRAM according to the values in a first column in a first bit map and in a second column of a second bit map.Type: GrantFiled: January 17, 2020Date of Patent: April 11, 2023Assignee: GLENFLY TECHNOLOGY CO., LTD.Inventor: Deming Gu
-
Patent number: 11621042Abstract: Disclosed in some examples are methods, systems, memory devices, and machine-readable mediums which increase read throughput by introducing a delay prior to issuing a command to increase the chances that read commands can be executed in parallel. Upon receipt of a read command, if there are no other read commands in the command queue for a given portion (e.g., plane or plane group) of the die, the controller can delay issuing the read command for a delay period using a timer. If, during the delay period, an eligible read command is received, the delayed command and the newly received command are both issued in parallel using a multi-plane read. If no eligible read command is received during the delay period, the read command is issued after the delay period expires.Type: GrantFiled: April 16, 2021Date of Patent: April 4, 2023Assignee: Micron Technology, Inc.Inventor: David Aaron Palmer
-
Patent number: 11602401Abstract: Systems and methods for operating a robotic surgical system are provided. The system includes a surgical tool, a manipulator comprising links for controlling the tool, a navigation system includes a tracker and a localizer to monitor a state of the tracker. Controller(s) determine a relationship between one or more components of the manipulator and one or more components of the navigation system by utilizing kinematic measurement data from the manipulator and navigation data from the navigation system. The controller(s) utilize the relationship to determine whether an error has occurred relating to at least one of the manipulator and the navigation system. The error is at least one of undesired movement of the manipulator, undesired movement of the localizer, failure of any one or more components of the manipulator or the localizer, and/or improper calibration data.Type: GrantFiled: May 24, 2021Date of Patent: March 14, 2023Assignee: Mako Surgical Corp.Inventor: Michael Dale Dozeman
-
Patent number: 11599469Abstract: A computer system includes a first core including a first local cache and a second core including a second local cache. The first core and the second core are coupled through a remote link. A shared cache coupled to the first core and to the second core. The shared cache includes an ownership table that includes a plurality of entries indicating if a cache line is stored solely in the first local cache or solely in the second local cache. The remote link includes a first link between the first core and the shared cache and a second link between the second core and the shared cache.Type: GrantFiled: January 7, 2022Date of Patent: March 7, 2023Assignee: HUAWEI TECHNOLOGIES CO., LTD.Inventors: Louis-Philippe Hamelin, Chang Hoon Lee, John Edward Vincent, Olivier D'Arcy, Guy-Armand Kamendje Tchokobou
-
Patent number: 11593108Abstract: Aspects are provided for sharing instruction cache footprint between multiple threads. A set/way pointer to an instruction cache line is derived from a system memory address associated with an instruction fetch from a memory page. It is determined that the instruction cache line is shareable between a first thread and a second thread. An alias table entry is created indicating that other instruction cache lines associated with the memory page are also shareable between threads. Another instruction fetch is received from another thread requesting an instruction from another system memory address associated with the memory page. A further set/way pointer to another instruction cache line is derived from the other system memory address. It is determined that the other instruction cache line is shareable based on the alias table entry.Type: GrantFiled: June 7, 2021Date of Patent: February 28, 2023Assignee: INTERNATIONAL BUSINESS MACHINES CORPORATIONInventors: Sheldon Bernard Levenstein, Nicholas R. Orzol, Christian Gerhard Zoellin, David Campbell
-
Patent number: 11586382Abstract: A data processing system includes first memory system including a first nonvolatile memory device; a second memory system including a second nonvolatile memory device; and a master system including a third nonvolatile memory device. The master system classifies any one of the first memory system and the second memory system as a first slave system and the other as a second slave system depending on a predetermined reference, wherein the master system is coupled to a host, and includes a write buffer for temporarily storing a plurality of write data, and wherein the master system classifies the write data, into first write data grouped into a transaction and second write data which are not grouped into the transaction, stores the second write data in the third nonvolatile memory device, and stores the first write data in the first nonvolatile memory device or the second nonvolatile memory device.Type: GrantFiled: April 16, 2019Date of Patent: February 21, 2023Assignee: SK hynix Inc.Inventor: Hae-Gi Choi
-
Patent number: 11567874Abstract: An apparatus includes a CPU core, a first memory cache with a first line size, and a second memory cache having a second line size larger than the first line size. Each line of the second memory cache includes an upper half and a lower half. A memory controller subsystem is coupled to the CPU core and to the first and second memory caches. Upon a miss in the first memory cache for a first target address, the memory controller subsystem determines that the first target address resulting in the miss maps to the lower half of a line in the second memory cache, retrieves the entire line from the second memory cache, and returns the entire line from the second memory cache to the first memory cache.Type: GrantFiled: November 8, 2021Date of Patent: January 31, 2023Assignee: Texas Instruments IncorporatedInventors: Bipin Prasad Heremagalur Ramaprasad, David Matthew Thompson, Abhijeet Ashok Chachad, Hung Ong
-
Patent number: 11561900Abstract: A data processing system includes system memory and a plurality of processor cores each supported by a respective one of a plurality of vertical cache hierarchies. A first vertical cache hierarchy records information indicating communication of cache lines between the first vertical cache hierarchy and others of the plurality of vertical cache hierarchies. Based on selection of a victim cache line for eviction, the first vertical cache hierarchy determines, based on the recorded information, whether to perform a lateral castout of the victim cache line to another of the plurality of vertical cache hierarchies rather than to system memory and selects, based on the recorded information, a second vertical cache hierarchy among the plurality of vertical cache hierarchies as a recipient of the victim cache line via a lateral castout. Based on the determination, the first vertical cache hierarchy performs a castout of the victim cache line.Type: GrantFiled: August 4, 2021Date of Patent: January 24, 2023Assignee: International Business Machines CorporationInventors: Bernard C. Drerup, Guy L. Guthrie, Jeffrey A. Stuecheli, Alexander Michael Taft, Derek E. Williams
-
Patent number: 11556474Abstract: Embodiments are provided for an integrated semi-inclusive hierarchical metadata predictor. A hit in a second-level structure is determined, the hit being associated with a line of metadata in the second-level structure. Responsive to determining that a victim line of metadata in a first-level structure meets at least one condition, the victim line of metadata is stored in the second-level structure. The line of metadata from the second-level structure is stored in a first-level structure to be utilized to facilitate performance of a processor, the line of metadata from the second-level structure including entries for a plurality of instructions.Type: GrantFiled: August 19, 2021Date of Patent: January 17, 2023Assignee: International Business Machines CorporationInventors: James Bonanno, Adam Benjamin Collura, Edward Thomas Malley, Brian Robert Prasky
-
Patent number: 11520701Abstract: Methods and systems associated with caches are disclosed. One disclosed system includes at least one memory storing at least two data structures. The at least two data structures include a first data structure and a second data structure. The system also includes at least two caches with a first cache which caches the first data structure and a second cache which caches the second data structure. The system also includes a controller communicatively coupled to the at least two caches. The controller separately configures the first cache based on the first data structure and the second cache based on the second data structure. The system also comprises at least one processor communicatively coupled to the at least two caches. The processor accesses each of the at least two data structures using the at least two caches and during the execution of a complex computation.Type: GrantFiled: April 2, 2021Date of Patent: December 6, 2022Assignee: Tenstorrent Inc.Inventors: Ljubisa Bajic, Davor Capalija, Ivan Matosevic, Alex Cejkov
-
Patent number: 11520585Abstract: In at least one embodiment, a processing unit includes a processor core and a vertical cache hierarchy including at least a store-through upper-level cache and a store-in lower-level cache. The upper-level cache includes a data array and an effective address (EA) directory. The processor core includes an execution unit, an address translation unit, and a prefetch unit configured to initiate allocation of a directory entry in the EA directory for a store target EA without prefetching a cache line of data into the corresponding data entry in the data array. The processor core caches in the directory entry an EA-to-RA address translation information for the store target EA, such that a subsequent demand store access that hits in the directory entry can avoid a performance penalty associated with address translation by the translation unit.Type: GrantFiled: April 1, 2021Date of Patent: December 6, 2022Assignee: International Business Machines CorporationInventors: Bryan Lloyd, Brian W. Thompto, George W. Rohrbaugh, III, Mohit Karve, Vivek Britto
-
Patent number: 11474944Abstract: This invention involves a cache system in a digital data processing apparatus including: a central processing unit core; a level one instruction cache; and a level two cache. The cache lines in the second level cache are twice the size of the cache lines in the first level instruction cache. The central processing unit core requests additional program instructions when needed via a request address. Upon a miss in the level one instruction cache that causes a hit in the upper half of a level two cache line, the level two cache supplies the upper half level cache line to the level one instruction cache. On a following level two cache memory cycle, the level two cache supplies the lower half of the cache line to the level one instruction cache. This cache technique thus prefetches the lower half level two cache line employing fewer resources than an ordinary prefetch.Type: GrantFiled: January 19, 2021Date of Patent: October 18, 2022Assignee: TEXAS INSTRUMENTS INCORPORATEDInventors: Oluleye Olorode, Ramakrishnan Venkatasubramanian, Hung Ong
-
Patent number: 11467937Abstract: An electronic device includes a cache with a cache controller and a cache memory. The electronic device also includes a cache policy manager. The cache policy manager causes the cache controller to use two or more cache policies for cache operations in each of multiple test regions in the cache memory, with different configuration values for the two or more cache policies being used in each test region. The cache policy manager selects a selected configuration value for at least one cache policy of the two or more cache policies based on performance metrics for cache operations while using the different configuration values for the two or more cache policies in the test regions. The cache policy manager causes the cache controller to use the selected configuration value when using the at least one cache policy for cache operations in a main region of the cache memory.Type: GrantFiled: August 27, 2020Date of Patent: October 11, 2022Assignee: Advanced Micro Devices, Inc.Inventors: John Kelley, Paul Moyer
-
Patent number: 11461011Abstract: The present disclosure techniques for implementing an apparatus, which includes processing circuitry that performs an operation based a target data block, a processor-side cache that implements a first cache line, memory-side cache that implements a second cache line having line width greater than the first cache line, and a memory array. The apparatus includes one or more memory controllers that, when the target data block results in a cache miss, determine a row address that identifies a memory cell row as storing the target data block, instruct the memory array to successively output multiple data blocks from the memory cell row to enable the memory-side cache to store each of the multiple of data blocks in the second cache line, and instruct the memory-side cache to output the target data block to a coherency bus to enable the processing circuitry to perform the operation based on the target data block.Type: GrantFiled: October 29, 2020Date of Patent: October 4, 2022Assignee: Micron Technology, Inc.Inventors: Richard C. Murphy, Anton Korzh, Stephen S. Pawlowski
-
Patent number: 11455253Abstract: An apparatus comprises first-level and second-level set-associative caches each comprising the same number of sets of cache entries. Indexing circuitry generates, based on a lookup address, a set index identifying which set of the first-level set-associative cache or the second-level set-associative cache is a selected set of cache entries to be looked up for information associated with the lookup address. The indexing circuitry generates the set index using an indexing scheme which maps the lookup address to the same set index for both the first-level set-associative cache and the second-level set-associative cache. This can make migration of cached information between the cache levels more efficient, which can be particularly useful for caches with high access frequency, such as branch target buffers for a branch predictor.Type: GrantFiled: October 1, 2020Date of Patent: September 27, 2022Assignee: Arm LimitedInventors: Yasuo Ishii, James David Dundas, Chang Joo Lee, Muhammad Umar Farooq
-
Patent number: 11442851Abstract: A processing-in-memory includes: a memory; a register configured to store offset information; and an internal processor configured to: receive an instruction and a reference physical address of the memory from a memory controller, determine an offset physical address of the memory based on the offset information, determine a target physical address of the memory based on the reference physical address and the offset physical address, and perform the instruction by accessing the target physical address.Type: GrantFiled: March 15, 2021Date of Patent: September 13, 2022Assignee: Samsung Electronics Co., Ltd.Inventors: Hosang Yoon, Seungwon Lee
-
Patent number: 11366765Abstract: In an approach to optimizing metadata management to boost overall system performance, a cache for a storage system is initialized. Responsive to receiving a cache hit from a host cache during a host I/O operation, a first metadata of a plurality of metadata is transferred to a storage cache, where the first metadata is associated with a user data from the host I/O operation, and further wherein the first metadata is deleted from the host cache. Responsive to determining that the storage cache is full, a second metadata of the plurality of metadata is destaged from the storage cache, where the second metadata is destaged by moving the second metadata to the host cache, and further wherein the second metadata is deleted from the storage cache.Type: GrantFiled: April 21, 2021Date of Patent: June 21, 2022Assignee: International Business Machines CorporationInventors: Qiang Xie, Hui Zhang, Hong Qing Zhou, Yongjie Gong, Ping Hp He
-
Patent number: 11354243Abstract: A processing unit for a data processing system includes a processor core that issues memory access requests and a cache memory coupled to the processor core. The cache memory includes a reservation circuit that tracks reservations established by the processor core via load-reserve requests and a plurality of read-claim (RC) state machines for servicing memory access requests of the processor core. The cache memory, responsive to receipt from the processor core of a store-conditional request specifying a store target address, allocates an RC state machine among the plurality of RC state machines to process the store-conditional request and transfers responsibility for tracking a reservation for the store target address from the reservation circuit to the RC state machine.Type: GrantFiled: November 17, 2020Date of Patent: June 7, 2022Assignee: International Business Machines CorporationInventors: Derek E. Williams, Guy L. Guthrie, Hugh Shen, Sanjeev Ghai, Luke Murray
-
Patent number: 11321201Abstract: Provided are a computer program product, system, and method for using a mirroring cache list to mirror modified tracks for a primary storage in a cache to a secondary storage. Indication is made of a modified track for the primary storage stored in the cache in a mirroring cache list. The mirroring cache list is processed to select modified tracks in the cache to transfer to the secondary storage that have not yet been transferred. The selected modified tracks are transferred to the secondary storage. Indication of a modified track is removed from the mirroring cache list in response to demoting the modified track from the cache.Type: GrantFiled: March 13, 2020Date of Patent: May 3, 2022Assignee: INTERNATIONAL BUSINESS MACHINES CORPORATIONInventors: Lokesh Mohan Gupta, Kevin J. Ash, Kyler A. Anderson, Matthew J. Kalos
-
Patent number: 11307836Abstract: Disclosed are a general machine learning model generation method and apparatus, and a computer device and a storage medium. The method comprises: acquiring task parameters of a machine learning task (S1201); performing classification processing on the task parameters to obtain task instructions and model parameters (S1202); aggregating the task instructions and the model parameters according to a data type to obtain stack data and heap data (S1203); and integrating the stack data and the heap data to obtain a general machine learning model (S1204). By means of the method, compiled results of a corresponding general model in the running of an algorithm can be directly executed, which avoids repetitive compilation, thus greatly improving the efficiency of machine learning algorithm implementation and shortening the time from compilation to obtaining execution results.Type: GrantFiled: December 22, 2020Date of Patent: April 19, 2022Assignee: SHANGHAI CAMBRICON INFORMATION TECHNOLOGY CO., LTD.Inventors: Weijian Du, Linyang Wu, Xunyu Chen
-
Patent number: 10685718Abstract: Disclosed in some examples are methods, systems, memory devices, and machine-readable mediums which increase read throughput by introducing a delay prior to issuing a command to increase the chances that read commands can be executed in parallel. Upon receipt of a read command, if there are no other read commands in the command queue for a given portion (e.g., plane or plane group) of the die, the controller can delay issuing the read command for a delay period using a timer. If, during the delay period, an eligible read command is received, the delayed command and the newly received command are both issued in parallel using a multi-plane read. If no eligible read command is received during the delay period, the read command is issued after the delay period expires.Type: GrantFiled: October 29, 2018Date of Patent: June 16, 2020Assignee: Micron Technnology, Inc.Inventor: David Aaron Palmer
-
Patent number: 10545820Abstract: A memory device, a memory system, and a method of operating the same. The memory device includes a memory cell array including a plurality of memory cells and a write command determination unit (WCDU) that determines whether a write command input to the memory device is (to be) accompanied a masking signal. The WCDU produces a first control signal if the input write command is (to be) accompanied by a masking signal. A data masking unit combines a portion of read data read from the memory cell array with a corresponding portion of input write data corresponding to the write command and generates modulation data in response to the first control signal. An error correction code (ECC) engine generates parity of the modulation data.Type: GrantFiled: May 13, 2016Date of Patent: January 28, 2020Assignee: SAMSUNG ELECTRONICS CO., LTD.Inventor: Jong-Wook Park
-
Patent number: 10037247Abstract: The memory system may include a memory device including a plurality of sub-memory devices coupled to a channel; and a controller suitable for controlling the memory device to store a first data into a selected sub-memory device and at least one idle sub-memory device among the sub-memory devices during a first program operation to a selected sub-memory device among the sub-memory devices with the first data with a first data; and to perform a second program operation to the selected sub-memory device with the first data stored in the idle sub-memory device when the first program operation to the selected sub-memory device fails.Type: GrantFiled: February 19, 2016Date of Patent: July 31, 2018Assignee: SK Hynix Inc.Inventors: Sung Yeob Cho, Dong Yeob Chun
-
Patent number: 9672041Abstract: A method for compressing instruction is provided, which includes the following steps. Analyze a program code to be executed by a processor to find one or more instruction groups in the program code according to a preset condition. Each of the instruction groups includes one or more instructions in sequential order. Sort the one or more instruction groups according to a cost function of each of the one or more instruction groups. Put the first X of the sorted one or more instruction groups into an instruction table. X is a value determined according to the cost function. Replace each of the one or more instruction groups in the program code that are put into the instruction table with a corresponding execution-on-instruction-table (EIT) instruction. The EIT instruction has a parameter referring to the corresponding instruction group in the instruction table.Type: GrantFiled: August 1, 2013Date of Patent: June 6, 2017Assignee: ANDES TECHNOLOGY CORPORATIONInventors: Wei-Hao Chiao, Hong-Men Su, Haw-Luen Tsai
-
Patent number: 9645936Abstract: Systems, methods, and other embodiments associated with providing limited writing in a memory hierarchy are described. According to one embodiment, an apparatus includes a plurality of memory devices sequentially configured in a memory hierarchy. The apparatus also includes a first logic configured to execute a first command to initiate a sequence of write operations to write data to the plurality of memory devices in the memory hierarchy via propagation of the data sequentially through the memory hierarchy. The apparatus further includes a second logic configured to execute a second command to initiate an interruption of the sequence of write operations by indicating to at least one memory device of the plurality of memory devices to terminate the propagation of the data through the memory hierarchy prior to completing the propagation.Type: GrantFiled: March 26, 2015Date of Patent: May 9, 2017Assignee: MARVELL INTERNATIONAL LTD.Inventors: Kim Schuttenberg, Richard Bryant
-
Patent number: 9032157Abstract: Disclosed is a computer system (100) comprising a processor unit (110) adapted to run a virtual machine in a first operating mode; a cache (120) accessible to the processor unit, said cache comprising a plurality of cache rows (1210), each cache row comprising a cache line (1214) and an image modification flag (1217) indicating a modification of said cache line caused by the running of the virtual machine; and a memory (140) accessible to the cache controller for storing an image of said virtual machine; wherein the processor unit comprises a replication manager adapted to define a log (200) in the memory prior to running the virtual machine in said first operating mode; and said cache further includes a cache controller (122) adapted to periodically check said image modification flags; write only the memory address of the flagged cache lines in the defined log and subsequently clear the image modification flags.Type: GrantFiled: December 11, 2012Date of Patent: May 12, 2015Assignee: International Business Machines CorporationInventors: Sanjeev Ghai, Guy L. Guthrie, Geraint North, William J. Starke, Phillip G. Williams
-
Patent number: 8972663Abstract: A method for cache coherence, including: broadcasting, by a requester cache (RC) over a partially-ordered request network (RN), a peer-to-peer (P2P) request for a cacheline to a plurality of slave caches; receiving, by the RC and over the RN while the P2P request is pending, a forwarded request for the cacheline from a gateway; receiving, by the RC and after receiving the forwarded request, a plurality of responses to the P2P request from the plurality of slave caches; setting an intra-processor state of the cacheline in the RC, wherein the intra-processor state also specifies an inter-processor state of the cacheline; and issuing, by the RC, a response to the forwarded request after setting the intra-processor state and after the P2P request is complete; and modifying, by the RC, the intra-processor state in response to issuing the response to the forwarded request.Type: GrantFiled: March 14, 2013Date of Patent: March 3, 2015Assignee: Oracle International CorporationInventors: Paul N. Loewenstein, Stephen E. Phillips, David Richard Smentek, Connie Wai Mun Cheung, Serena Wing Yee Leung, Damien Walker, Ramaswamy Sivaramakrishnan
-
Populating a first stride of tracks from a first cache to write to a second stride in a second cache
Patent number: 8966178Abstract: Provided are a computer program product, system, and method for managing data in a cache system comprising a first cache, a second cache, and a storage system. A determination is made of tracks stored in the storage system to demote from the first cache. A first stride is formed including the determined tracks to demote. A determination is made of a second stride in the second cache in which to include the tracks in the first stride. The tracks from the first stride are added to the second stride in the second cache. A determination is made of tracks in strides in the second cache to demote from the second cache. The determined tracks to demote from the second cache are demoted.Type: GrantFiled: January 17, 2012Date of Patent: February 24, 2015Assignee: International Business Machines CorporationInventors: Kevin J. Ash, Michael T. Benhase, Lokesh M. Gupta, Matthew J. Kalos, Karl A. Nielsen -
Populating a first stride of tracks from a first cache to write to a second stride in a second cache
Patent number: 8959279Abstract: Provided are a computer program product, system, and method for managing data in a cache system comprising a first cache, a second cache, and a storage system. A determination is made of tracks stored in the storage system to demote from the first cache. A first stride is formed including the determined tracks to demote. A determination is made of a second stride in the second cache in which to include the tracks in the first stride. The tracks from the first stride are added to the second stride in the second cache. A determination is made of tracks in strides in the second cache to demote from the second cache. The determined tracks to demote from the second cache are demoted.Type: GrantFiled: May 4, 2012Date of Patent: February 17, 2015Assignee: International Business Machines CorporationInventors: Kevin J. Ash, Michael T. Benhase, Lokesh M. Gupta, Matthew J. Kalos, Karl A. Nielsen -
Patent number: 8943287Abstract: A multi-core processor system includes a number of cores, a memory system, and a common access bus. Each core includes a core processor; a dedicated core cache operatively connected to the core processor; and, a core processor rate limiter operatively connected to the dedicated core cache. The memory system includes physical memory; a memory controller connected to the physical memory; and, a dedicated memory cache connected to the memory controller. The common access bus interconnects the cores and the memory system. The core processor rate limiters are configured to constrain the rate at which data is accessed by each respective core processor from the memory system so that each core processor memory access is capable of being limited to an expected value.Type: GrantFiled: July 17, 2012Date of Patent: January 27, 2015Assignee: Rockwell Collins, Inc.Inventors: David A. Miller, David C. Matthews
-
Patent number: 8924623Abstract: A method for managing multi-layered data structures in a pipelined memory architecture, comprising the steps of: —providing a multi-level data structure where each level corresponds to a memory access; —storing each level in a separate memory block with respect to the other levels. In this way, a more efficient usage of memory is achieved.Type: GrantFiled: July 28, 2010Date of Patent: December 30, 2014Assignee: Oricane ABInventor: Mikael Sundström
-
Patent number: 8909866Abstract: A processor transfers prefetch requests from their targeted cache to another cache in a memory hierarchy based on a fullness of a miss address buffer (MAB) or based on confidence levels of the prefetch requests. Each cache in the memory hierarchy is assigned a number of slots at the MAB. In response to determining the fullness of the slots assigned to a cache is above a threshold when a prefetch request to the cache is received, the processor transfers the prefetch request to the next lower level cache in the memory hierarchy. In response, the data targeted by the access request is prefetched to the next lower level cache in the memory hierarchy, and is therefore available for subsequent provision to the cache. In addition, the processor can transfer a prefetch request to lower level caches based on a confidence level of a prefetch request.Type: GrantFiled: November 6, 2012Date of Patent: December 9, 2014Assignee: Advanced Micro Devices, Inc.Inventors: John Kalamatianos, Ravindra Nath Bhargava, Ramkumar Jayaseelan
-
Patent number: 8856444Abstract: Data caching for use in a computer system including a lower cache memory and a higher cache memory. The higher cache memory receives a fetch request. It is then determined by the higher cache memory the state of the entry to be replaced next. If the state of the entry to be replaced next indicates that the entry is exclusively owned or modified, the state of the entry to be replaced next is changed such that a following cache access is processed at a higher speed compared to an access processed if the state would stay unchanged.Type: GrantFiled: April 28, 2012Date of Patent: October 7, 2014Assignee: International Business Machines CorporationInventors: Christian Habermann, Martin Recktenwald, Hans-Werner Tast, Ralf Winkelmann
-
Patent number: 8850120Abstract: Some embodiments of the present invention provide a system that performs stores in a memory system. During operation, the system performs a store for a first thread, which involves creating an entry for the store in a store queue for the first thread. It also involves attempting to store-mark a corresponding cache line for the first thread by sending a store-mark request for the first thread to the memory system, wherein a store-mark on the cache line indicates that one or more store queue entries are waiting to be committed to the cache line. If the attempt to store-mark the cache line fails because a second thread holds a store-mark on the cache line, and if obtaining the store-mark will ensure forward progress for the first thread, the system forces the second thread to release the store-mark, so the first thread can acquire a store-mark for the cache line.Type: GrantFiled: December 15, 2008Date of Patent: September 30, 2014Assignee: Oracle America, Inc.Inventors: Robert E. Cypher, Haakan E. Zeffer
-
Patent number: 8838891Abstract: The invention provides for SSD cache expansion by assigning all excess overprovisioned space (OP) above a level of advertised SSD memory to SSD cache. As additional SSD memory is needed to provide the advertised SSD memory, an offsetting portion of the OP is reassigned from excess overprovisioned space to the SSD cache. In this manner, the advertised SSD memory is maintained while continuously allocating all available excess OP to cache. The result is that all of the available SSD memory is allocated to cache, a portion to maintain the advertised SSD memory and the balance as excess OP allocated to cache. This eliminates idle OP in the SSD allocation.Type: GrantFiled: June 27, 2012Date of Patent: September 16, 2014Assignee: LSI CorporationInventor: Luca Bert
-
Patent number: 8832377Abstract: Information is maintained on strides configured in a second cache and occupancy counts for the strides indicating an extent to which the strides are populated with valid tracks and invalid tracks. A determination is made of tracks to demote from a first cache. A first stride is formed including the determined tracks to demote. The tracks from the first stride are to a second stride in the second cache having an occupancy count indicating the stride is empty. A determination is made of a target stride in the second cache based on the occupancy counts of the strides in the second cache. A determination is made of at least two source strides in the second cache having valid tracks based on the occupancy counts of the strides in the second cache. The target stride is populated with the valid tracks from the source strides.Type: GrantFiled: February 27, 2013Date of Patent: September 9, 2014Assignee: International Business Machines CorporationInventors: Michael T. Benhase, Lokesh M. Gupta
-
Patent number: 8825956Abstract: Information on strides configured in the second cache includes information indicating a number of valid tracks in the strides, wherein a stride has at least one of valid tracks and free tracks not including valid data. A determination is made of tracks to demote from the first cache. A first stride is formed including the determined tracks to demote. The tracks from the first stride are added to a second stride in the second cache that has no valid tracks. A target stride in the second cache is selected based on a stride most recently used to consolidate strides from at least two strides into one stride. Data from the valid tracks is copied from at least two source strides in the second cache to the target stride.Type: GrantFiled: February 27, 2013Date of Patent: September 2, 2014Assignee: International Business Machines CorporationInventors: Michael T. Benhase, Lokesh M. Gupta
-
Patent number: 8825957Abstract: Information is maintained on strides configured in a second cache and occupancy counts for the strides indicating an extent to which the strides are populated with valid tracks and invalid tracks. A determination is made of tracks to demote from a first cache. A first stride is formed including the determined tracks to demote. The tracks from the first stride are to a second stride in the second cache having an occupancy count indicating the stride is empty. A determination is made of a target stride in the second cache based on the occupancy counts of the strides in the second cache. A determination is made of at least two source strides in the second cache having valid tracks based on the occupancy counts of the strides in the second cache. The target stride is populated with the valid tracks from the source strides.Type: GrantFiled: January 17, 2012Date of Patent: September 2, 2014Assignee: International Business Machines CorporationInventors: Michael T. Benhase, Lokesh M. Gupta
-
Patent number: 8825953Abstract: Information on strides configured in the second cache includes information indicating a number of valid tracks in the strides, wherein a stride has at least one of valid tracks and free tracks not including valid data. A determination is made of tracks to demote from the first cache. A first stride is formed including the determined tracks to demote. The tracks from the first stride are added to a second stride in the second cache that has no valid tracks. A target stride in the second cache is selected based on a stride most recently used to consolidate strides from at least two strides into one stride. Data from the valid tracks is copied from at least two source strides in the second cache to the target stride.Type: GrantFiled: January 17, 2012Date of Patent: September 2, 2014Assignee: International Business Machines CorporationInventors: Michael T. Benhase, Lokesh M. Gupta
-
Patent number: 8769205Abstract: This disclosure describes, generally, methods and systems for implementing transcendent page caching. The method includes establishing a plurality of virtual machines on a physical machine. Each of the plurality of virtual machines includes a private cache, and a portion of each of the private caches is used to create a shared cache maintained by a hypervisor. The method further includes delaying the removal of the at least one of stored memory pages, storing the at least one of stored memory pages in the shared cache, and requesting, by one of the plurality of virtual machines, the at least one of the stored memory pages from the shared cache. Further, the method includes determining that the at least one of the stored memory pages is stored in the shared cache, and transferring the at least one of the stored shared memory pages to the one of the plurality of virtual machines.Type: GrantFiled: January 20, 2009Date of Patent: July 1, 2014Assignee: Oracle International CorporationInventor: Daniel Magenheimer
-
Patent number: 8769206Abstract: This disclosure describes, generally, methods and systems for implementing transcendent page caching. The method includes establishing a plurality of virtual machines on a physical machine. Each of the plurality of virtual machines includes a private cache, and a portion of each of the private caches is used to create a shared cache maintained by a hypervisor. The method further includes delaying the removal of the at least one of stored memory pages, storing the at least one of stored memory pages in the shared cache, and requesting, by one of the plurality of virtual machines, the at least one of the stored memory pages from the shared cache. Further, the method includes determining that the at least one of the stored memory pages is stored in the shared cache, and transferring the at least one of the stored shared memory pages to the one of the plurality of virtual machines.Type: GrantFiled: March 3, 2010Date of Patent: July 1, 2014Assignee: Oracle International CorporationInventor: Daniel Magenheimer
-
Publication number: 20140129772Abstract: A processor transfers prefetch requests from their targeted cache to another cache in a memory hierarchy based on a fullness of a miss address buffer (MAB) or based on confidence levels of the prefetch requests. Each cache in the memory hierarchy is assigned a number of slots at the MAB. In response to determining the fullness of the slots assigned to a cache is above a threshold when a prefetch request to the cache is received, the processor transfers the prefetch request to the next lower level cache in the memory hierarchy. In response, the data targeted by the access request is prefetched to the next lower level cache in the memory hierarchy, and is therefore available for subsequent provision to the cache. In addition, the processor can transfer a prefetch request to lower level caches based on a confidence level of a prefetch request.Type: ApplicationFiled: November 6, 2012Publication date: May 8, 2014Applicant: Advanced Micro Devices, Inc.Inventors: John Kalamatianos, Ravindra Nath Bhargava, Ramkumar Jayaseelan
-
Patent number: 8719508Abstract: Parallel computing environments, where threads executing in neighboring processors may access the same set of data, may be designed and configured to share one or more levels of cache memory. Before a processor forwards a request for data to a higher level of cache memory following a cache miss, the processor may determine whether a neighboring processor has the data stored in a local cache memory. If so, the processor may forward the request to the neighboring processor to retrieve the data. Because access to the cache memories for the two processors is shared, the effective size of the memory is increased. This may advantageously decrease cache misses for each level of shared cache memory without increasing the individual size of the caches on the processor chip.Type: GrantFiled: December 10, 2012Date of Patent: May 6, 2014Assignee: International Business Machines CorporationInventors: Miguel Comparan, Robert A. Shearer
-
Patent number: 8719507Abstract: Parallel computing environments, where threads executing in neighboring processors may access the same set of data, may be designed and configured to share one or more levels of cache memory. Before a processor forwards a request for data to a higher level of cache memory following a cache miss, the processor may determine whether a neighboring processor has the data stored in a local cache memory. If so, the processor may forward the request to the neighboring processor to retrieve the data. Because access to the cache memories for the two processors is shared, the effective size of the memory is increased. This may advantageously decrease cache misses for each level of shared cache memory without increasing the individual size of the caches on the processor chip.Type: GrantFiled: January 4, 2012Date of Patent: May 6, 2014Assignee: International Business Machines CorporationInventors: Miguel Comparan, Robert A. Shearer
-
Patent number: 8719494Abstract: For movement of partial data segments within a computing storage environment having lower and higher levels of cache by a processor, a whole data segment containing one of the partial data segments is promoted to both the lower and higher levels of cache. Requested data of the whole data segment is split and positioned at a Most Recently Used (MRU) portion of a demotion queue of the higher level of cache. Unrequested data of the whole data segment is split and positioned at a Least Recently Used (LRU) portion of the demotion queue of the higher level of cache. The unrequested data is pinned in place until a write of the whole data segment to the lower level of cache completes.Type: GrantFiled: March 6, 2013Date of Patent: May 6, 2014Assignee: International Business Machines CorporationInventors: Michael T. Benhase, Stephen L. Blinick, Evangelos S. Eleftheriou, Lokesh M. Gupta, Robert Haas, Xiao-Yu Hu, Matthew J. Kalos, Ioannis Koltsidas, Roman A. Pletka
-
Publication number: 20140122805Abstract: Embodiments related to selecting a runahead poison policy from a plurality of runahead poison policies during microprocessor operation are provided. The example method includes causing the microprocessor to enter runahead upon detection of a runahead event and implementing a first runahead poison policy selected from a plurality of runahead poison policies operative to manage runahead poison injection during runahead. The example method also includes during microprocessor operation, selecting a second runahead poison policy operative to manage runahead poison injection differently from the first runahead poison policy.Type: ApplicationFiled: October 26, 2012Publication date: May 1, 2014Applicant: NVIDIA CORPORATIONInventors: Magnus Ekman, James van Zoeren, Paul Serris
-
Publication number: 20140115244Abstract: Aspects of the present disclosure disclose systems and methods for providing a level-two persistent cache. In various aspects, a solid-state drive is employed as a level-two cache to expand the capacity of existing caches. In particular, any data that is scheduled to be evicted or otherwise removed from a level-one cache is stored in the level-two cache with corresponding metadata in a manner that is quickly retrievable.Type: ApplicationFiled: October 18, 2012Publication date: April 24, 2014Applicant: ORACLE INTERNATIONAL CORPORATIONInventors: Mark Maybee, Mark J. Musante, Victor Latushkin