Partitioned Cache Patents (Class 711/129)
  • Patent number: 10915462
    Abstract: Provided are techniques for destaging pinned retryable data in cache. A ranks scan structure is created with an indicator for each rank of multiple ranks that indicates whether pinned retryable data in a cache for that rank is destageable. A cache directory is partitioned into chunks, wherein each of the chunks includes one or more tracks from the cache. A number of tasks are determined for the scan of the cache. The number of tasks are executed to scan the cache to destage pinned retryable data that is indicated as ready to be destaged by the ranks scan structure, wherein each of the tasks selects an unprocessed chunk of the cache directory for processing until the chunks of the cache directory have been processed.
    Type: Grant
    Filed: June 25, 2019
    Date of Patent: February 9, 2021
    Assignee: International Business Machines Corporation
    Inventors: Kyler A. Anderson, Kevin J. Ash, Matthew G. Borlick, Lokesh M. Gupta
  • Patent number: 10877675
    Abstract: Provided is a system and method for improving memory management in a database. In one example, the method may include receiving a request to store a data object within a database, determining a category type associated with the data object from among a plurality of category types based on an attribute of the data object, and storing the data object via a memory pool corresponding to the determined category from among a plurality of memory pools corresponding to the plurality of respective categories, where the storing comprises allocating a first category type of data object to a first memory pool locked to main memory and allocating a second category type of data object to a second memory pool that is swapped out to disk over time. The locked memory pool can ensure that more important data items remain available even when they are the least recently used.
    Type: Grant
    Filed: February 15, 2019
    Date of Patent: December 29, 2020
    Assignee: SAP SE
    Inventors: Anupam Mukherjee, Mihnea Andrei
  • Patent number: 10856046
    Abstract: A buffer status metric representing a current amount of video packets in a video playback buffer (303) of a user device (300). A buffer status action is triggered based on the buffer status action and at least one of a mobility metric representing a mobility pattern of the user device (300) and a radio quality metric representing a signal strength of a radio channel carrying video packets towards the user device (300). The embodiments also relate to determination of a buffer control model (142) that can be used in order to control the video playback buffer based on the input metrics. The embodiments achieve a more efficient control of video playback buffers (303) and may reduce the risk of freezes during video playback.
    Type: Grant
    Filed: December 18, 2015
    Date of Patent: December 1, 2020
    Assignee: TELEFONAKTIEBOLAGET LM ERICSSON (PUBL)
    Inventors: Jing Fu, Steven Corroy, Selim Ickin
  • Patent number: 10783131
    Abstract: A system and method for efficiently storing data in a storage system. A data storage subsystem includes multiple data storage locations on multiple storage devices in addition to at least one mapping table. A data storage controller determines whether data to store in the storage subsystem has one or more patterns of data intermingled with non-pattern data within an allocated block. Rather than store the one or more pattern on the storage devices, the controller stores information in a header on the storage devices. The information includes at least an offset for the first instance of a pattern, a pattern length, and an identification of the pattern. The data may be reconstructed for a corresponding read request from the information stored in the header.
    Type: Grant
    Filed: January 3, 2018
    Date of Patent: September 22, 2020
    Assignee: Pure Storage, Inc.
    Inventors: Marco Sanvido, Richard Hankins, John Hayes, Steve Hodgson, Feng Wang, Sergey Zhuravlev, Andrew Kleinerman
  • Patent number: 10769021
    Abstract: A cache coherency protection system provides for data redundancy by sharing a cache coherence memory pool for protection purposes. The system works consistently across all communication protocols, yields improved data availability with potentially less memory waster and makes data availability faster in node/director failure scenarios. According to various embodiments, the cache coherency protection system may include a writer/requester director that receives a write request from host, a protection target director that is a partner of the writer/request director and a directory.
    Type: Grant
    Filed: December 31, 2010
    Date of Patent: September 8, 2020
    Assignee: EMC IP Holding Company LLC
    Inventors: Victor Salamon, Paul A. Shelley, Ronald C. Unrau, Steven R. Bromling
  • Patent number: 10761984
    Abstract: Disclosed are embodiments for running an application on a local processor when the application is dependent on pages not locally present but contained in a remote host. The system is informed that the pages on which the application depends are locally present. While running, the application encounters a cache miss and a cache line satisfying the miss from the remote host is obtained and provided to the application. Alternatively, the page containing the cache line satisfying the miss is obtained and the portion of the page not including the cache line is stored locally while the cache line is provided to the application. The cache miss is discovered by monitoring coherence events on a coherence interconnect connected to the local processor. In some embodiments, the cache misses are tracked and provide a way to predict a set of pages to be pre-fetched in anticipation of the next cache misses.
    Type: Grant
    Filed: July 27, 2018
    Date of Patent: September 1, 2020
    Assignee: VMware, Inc.
    Inventors: Irina Calciu, Jayneel Gandhi, Aasheesh Kolli, Pratap Subrahmanyam
  • Patent number: 10725914
    Abstract: An infrequently used method is selected for eviction from a code cache repository by accessing a memory management data structure from an operating system, using the data structure to identify a first set of pages that are infrequently referenced relative to a second set of pages, determining whether or not a page of the first set of pages is part of a code cache repository and includes at least one method, in response to the page of the first set of pages being part of the code cache repository and including at least one method, flagging the at least one method as a candidate for eviction from the code cache repository, determining whether or not a code cache storage space limit has been reached for the code cache repository, and, in response to the storage space limit being reached, evicting the at least one flagged method from the code cache repository.
    Type: Grant
    Filed: April 30, 2019
    Date of Patent: July 28, 2020
    Assignee: International Business Machines Corporation
    Inventor: Marius Pirvu
  • Patent number: 10698832
    Abstract: The present invention discloses a method of using memory allocation to address hot and cold data, which comprises steps: using a hardware performance monitor (HPM) to detect at least one read/write event of a central processor; while a number of the read/write events reaches a threshold or a random value, a computer system recording an access type of the read/write event occurring latest and a memory address causing the read/write event; and the computer system assigning the memory object in the memory address to a volatile memory or a non-volatile memory according to the memory address and the access type. Thereby, data pages can be assigned automatically according to the access types categorized by the central processor, exempted from being assigned manually by engineers.
    Type: Grant
    Filed: July 31, 2018
    Date of Patent: June 30, 2020
    Assignee: NATIONAL CHUNG CHENG UNIVERSITY
    Inventor: Shi-Wu Lo
  • Patent number: 10698778
    Abstract: A dispersed storage network (DSN) includes multiple storage units. A processing unit included in the DSN issues an access request to one of the storage units, and identifies the storage unit as a failing storage unit based, at least in part, on a rate of growth of a network queue associated with the storage unit. the processing unit then issues an error indicator to a recovery unit for further action.
    Type: Grant
    Filed: January 2, 2019
    Date of Patent: June 30, 2020
    Assignee: PURE STORAGE, INC.
    Inventors: Kumar Abhijeet, Andrew D. Baptist, Ilir Iljazi, Gregory A. Papadopoulos, Jason K. Resch
  • Patent number: 10691566
    Abstract: Provided are a computer program product, system, and method for using a track format code in a cache control block for a track in a cache to process read and write requests to the track in the cache. A track format table associates track format codes with track format metadata. A determination is made as to whether the track format table has track format metadata matching track format metadata of a track staged into the cache. A determination is made as to whether a track format code from the track format table for the track format metadata in the track format table matches the track format metadata of the track staged. A cache control block for the track being added to the cache is generated including the determined track format code when the track format table has the matching track format metadata.
    Type: Grant
    Filed: July 27, 2017
    Date of Patent: June 23, 2020
    Assignee: INTERNATIONAL BUSINESS MACHINES CORPORATION
    Inventors: Kyler A. Anderson, Kevin J. Ash, Lokesh M. Gupta, Matthew J. Kalos, Beth A. Peterson
  • Patent number: 10678690
    Abstract: Providing fine-grained Quality of Service (QoS) control using interpolation for partitioned resources in processor-based systems is disclosed. In this regard, in one aspect, a processor-based system provides a partitioned resource (such as a system cache or memory access bandwidth to a shared system memory) that is subdivided into a plurality of partitions, and that is configured to service a plurality of resource clients. A resource allocation agent of the processor-based system provides a plurality of allocation indicators corresponding to each combination of resource client and partition, and indicating an allocation of each partition for each resource client. The resource allocation agent allocates the partitioned resource among the resource clients based on an interpolation of the plurality of allocation indicators.
    Type: Grant
    Filed: August 29, 2017
    Date of Patent: June 9, 2020
    Assignee: QUALCOMM Incorporated
    Inventors: Derek Robert Hower, Carl Alan Waldspurger, Vikramjit Sethi
  • Patent number: 10664396
    Abstract: A method and apparatus for performing a data transfer, which include a selection a data transfer operation mode, based on telemetry data, from a first operation mode where a first type of data is transferred from a memory of a computing system to one or more shared storage devices, and a second operation mode where a second type of data is transferred from the memory to the one or more shared storage devices, the first type of data being associated with a first range of address space of the one or more shared storage devices, the second type of data being associated with a second range of address space of the one or more shared storage devices different from the first range of address space. Furthermore, a data transfer from the memory to the one or more shared storage devices in the selected data transfer operation mode may be included.
    Type: Grant
    Filed: October 4, 2017
    Date of Patent: May 26, 2020
    Assignee: INTEL CORPORATION
    Inventors: Francesc Guim Bernat, Kshitij Doshi, Sujoy Sen
  • Patent number: 10664453
    Abstract: According to one embodiment, a file system (FS) of a storage system is partitioned into a plurality of FS partitions, where each FS partition stores segments of data files. In response to a request for writing a file to the storage system, the file is stored in a first of the FS partitions that is selected based on a time attribute of the file, such that files having similar time attributes are stored in an identical FS partition.
    Type: Grant
    Filed: February 28, 2017
    Date of Patent: May 26, 2020
    Assignee: EMC IP HOLDING COMPANY LLC
    Inventors: Soumyadeb Mitra, Windsor W. Hsu
  • Patent number: 10642757
    Abstract: Single hypervisor call to perform pin and unpin operations. A hypervisor call relating to the pinning of units of memory is obtained. The hypervisor call specifies an unpin operation for a first memory address and a pin operation for a second memory address. Based on obtaining the hypervisor call, at least one of the unpin operation for the first memory address and the pin operation for the second memory address is performed.
    Type: Grant
    Filed: November 14, 2017
    Date of Patent: May 5, 2020
    Assignee: INTERNATIONAL BUSINESS MACHINES CORPORATION
    Inventors: Michael K. Gschwind, Valentina Salapura
  • Patent number: 10642735
    Abstract: Disclosed are methods and apparatuses that implement automatic resizing of statement caches in response to cache metrics. One embodiment provides an approach for periodically calculating a session eligibility index for each session cache, wherein the session eligibility index indicates the priority level of the session cache for resizing, and selecting and resizing one or more cache sessions based at least in part on the session eligibility index.
    Type: Grant
    Filed: March 15, 2013
    Date of Patent: May 5, 2020
    Assignee: ORACLE INTERNATIONAL CORPORATION
    Inventors: Mehul Dilip Bastawala, Srinath Krishnaswamy, Lakshminarayanan Luxi Chidambaran, Santanu Datta
  • Patent number: 10635594
    Abstract: One embodiment is related to a method for redistributing cache space, comprising: determining utility values associated with all of a plurality of clients, each client being associated with a respective utility value, the utility value being indicative of an efficiency of cache space usage of the associated client; and redistributing cache space among the plurality of clients based on the utility values.
    Type: Grant
    Filed: December 30, 2016
    Date of Patent: April 28, 2020
    Assignee: EMC IP HOLDING COMPANY LLC
    Inventors: Grant Wallace, Philip Shilane, Shuang Liang
  • Patent number: 10592288
    Abstract: A computing system includes a computer in communication with a tiered storage system. The computing system identifies a set of data transferring to a storage tier within the storage system. The computing system identifies a program to which the data set is allocated and determines to increase or reduce resources of the computer allocated to the program, based on the set of data transferring to the storage tier. The computing system discontinues transferring the set of data to the storage tier if a resource allocated to the program cannot be increased.
    Type: Grant
    Filed: October 16, 2018
    Date of Patent: March 17, 2020
    Assignee: International Business Machines Corporation
    Inventors: Rahul M. Fiske, Akshat Mithal, Sandeep R. Patil, Subhojit Roy
  • Patent number: 10592418
    Abstract: Shared memory caching resolves latency issues in computing nodes associated with a cluster in a virtual computing environment. A portion of random access memory in one or more of the computing nodes is allocated for shared use by the cluster. Whenever local cache memory is unable in one of the computing nodes, a cluster neighbor cache allocated in a different computing node may be utilized as remote cache memory. Neighboring computing nodes may thus share their resources for the benefit of the cluster.
    Type: Grant
    Filed: October 27, 2017
    Date of Patent: March 17, 2020
    Assignee: Dell Products, L.P.
    Inventor: John Kelly
  • Patent number: 10592420
    Abstract: One embodiment is related to a method for redistributing cache space, comprising: determining a request by a first client of a plurality of clients for additional cache space, each of the plurality of clients being associated with a guaranteed minimum amount (MIN) and a maximum amount (MAX) of cache space; and fulfilling or denying the request based on an amount of cache space the first client currently occupies, an amount of cache space requested by the first client, and the MIN and the MAX cache space associated with the first client.
    Type: Grant
    Filed: December 30, 2016
    Date of Patent: March 17, 2020
    Assignee: EMC IP HOLDING COMPANY LLC
    Inventors: Shuang Liang, Philip Shilane, Grant Wallace
  • Patent number: 10585670
    Abstract: A processor architecture includes a register file hierarchy to implement virtual registers that provide a larger set of registers than those directly supported by an instruction set architecture to facilitate multiple copies of the same architecture register for different processing threads, where the register file hierarchy includes a plurality of hierarchy levels. The processor architecture further includes a plurality of execution units coupled to the register file hierarchy.
    Type: Grant
    Filed: April 3, 2018
    Date of Patent: March 10, 2020
    Assignee: Intel Corporation
    Inventor: Mohammad A. Abdallah
  • Patent number: 10585808
    Abstract: Single hypervisor call to perform pin and unpin operations. A hypervisor call relating to the pinning of units of memory is obtained. The hypervisor call specifies an unpin operation for a first memory address and a pin operation for a second memory address. Based on obtaining the hypervisor call, at least one of the unpin operation for the first memory address and the pin operation for the second memory address is performed.
    Type: Grant
    Filed: November 14, 2017
    Date of Patent: March 10, 2020
    Assignee: INTERNATIONAL BUSINESS MACHINES CORPORATION
    Inventors: Michael K. Gschwind, Valentina Salapura
  • Patent number: 10565139
    Abstract: Multiple memory devices, such as hard drives, can be combined and logical partitions can be formed between the drives to allow a user to control regions on the drives that will be used for storing content, and also to provide redundancy of stored content in the event that one of the drives fails. Priority levels can be assigned to content recordings such that higher value content can be stored in more locations and easily accessible locations within the utilized drives. Users can control and organize how recorded content is stored between the drives such that an external drive may be removed from a first gateway device and attached to a second gateway device without losing the ability to access the recorded content from the first gateway device at a later time. In this manner, a user is provided with the ability to transport an external drive containing stored content recordings between multiple different gateway devices such that the recordings may be accessed at different locations or user premises.
    Type: Grant
    Filed: September 23, 2014
    Date of Patent: February 18, 2020
    Assignee: Comcast Cable Communications, LLC
    Inventor: Ross Gilson
  • Patent number: 10552329
    Abstract: A SSD caching system for hybrid storages is disclosed. The caching system for hybrid storages includes: a Solid State Drive (SSD) for storing cached data, separated into a Repeated Pattern Cache (RPC) area and a Dynamical Replaceable Cache (DRC) area; and a caching managing module, including: an Input/output (I/O) profiling unit, for detecting I/O requests for accesses of blocks in a Hard Disk Drive (HDD) during a number of continuously detecting time intervals, and storing first data corresponding to first blocks being repeatedly accessed at least twice in individual continuously detecting time intervals to the RPC area sequentially; and a hot data searching unit, for detecting I/O requests for accesses of a HDD during a independently detecting time interval, and storing second data corresponding to second blocks being accessed at least twice in the independently detecting time interval to the DRC area sequentially.
    Type: Grant
    Filed: December 23, 2014
    Date of Patent: February 4, 2020
    Assignee: Prophetstor Data Services, Inc.
    Inventors: Wen Shyen Chen, Ming Jen Huang
  • Patent number: 10552327
    Abstract: Systems, methods, and computer readable media to improve the operation of electronic devices that use integrated cache systems are described. In general, techniques are disclosed to manage the leakage power attributable to an integrated cache memory by dynamically resizing the cache during device operations. More particularly, run-time cache operating parameters may be used to dynamically determine if the cache may be resized. If effective use of the cache may be maintained using a smaller cache, a portion of the cache may be power-gated (e.g., turned off). The power loss attributable to that portion of the cache power-gated may thereby be avoided. Such power reduction may extend a mobile device's battery runtime. Cache portions previously turned off may be brought back online as processing needs increase so that device performance does not degrade.
    Type: Grant
    Filed: August 23, 2016
    Date of Patent: February 4, 2020
    Assignee: Apple Inc.
    Inventors: Robert P. Esser, Nikolay N. Stoimenov
  • Patent number: 10541044
    Abstract: Providing efficient handling of memory array failures in processor-based systems is disclosed. In this regard, in one aspect, a memory controller of a processor-based device is configured to detect a defect within a memory element of a plurality of memory elements of a memory array. In response, a disable register of one or more disable registers is set to correspond to the memory element to indicate that the memory element is disabled. The memory controller receives a memory access request to a memory address corresponding to the memory element, and determines, based on one or more disable registers, whether the memory element is disabled. If so, the memory controller disallows the memory access request. Some aspects may provide that the memory controller, in response to detecting the defect, provides a failure indication to an executing process, and subsequently receives, from the executing process, a request to set the disable register.
    Type: Grant
    Filed: July 6, 2017
    Date of Patent: January 21, 2020
    Assignee: QUALCOMM Incorporated
    Inventors: Thomas Philip Speier, Viren Ramesh Patel, Michael Phan, Manish Garg, Kevin Magill, Paul Steinmetz, Clint Mumford, Kshitiz Saxena
  • Patent number: 10503655
    Abstract: The described embodiments include a computing device that caches data acquired from a main memory in a high-bandwidth memory (HBM), the computing device including channels for accessing data stored in corresponding portions of the HBM. During operation, the computing device sets each of the channels so that data blocks stored in the corresponding portions of the HBM include corresponding numbers of cache lines. Based on records of accesses of cache lines in the HBM that were acquired from pages in the main memory, the computing device sets a data block size for each of the pages, the data block size being a number of cache lines. The computing device stores, in the HBM, data blocks acquired from each of the pages in the main memory using a channel having a data block size corresponding to the data block size for each of the pages.
    Type: Grant
    Filed: July 21, 2016
    Date of Patent: December 10, 2019
    Assignee: ADVANCED MICRO DEVICES, INC.
    Inventors: Mitesh R. Meswani, Jee Ho Ryoo
  • Patent number: 10474486
    Abstract: Various systems, methods, and processes for accelerating data access in application and testing environments are disclosed. A production dataset is received from a storage system, and cached in a consolidated cache. The consolidated cache is implemented by an accelerator virtual machine. A file system client intercepts a request for the production dataset from one or more application virtual machines, and transmits the request to the accelerator virtual machine. The accelerator virtual machine serves the production dataset to the one or more application virtual machines from the consolidated cache.
    Type: Grant
    Filed: August 28, 2015
    Date of Patent: November 12, 2019
    Assignee: Veritas Technologies LLC
    Inventors: Chirag Dalal, Vaijayanti Bharadwaj
  • Patent number: 10437822
    Abstract: In one respect, there is provided a method. The method can include identifying, based on a plurality of queries executed at a distributed database, a disjoint table set. The identifying of the disjoint table set can include: identifying a first table used in executing a first query; identifying a second query also using the first table used in executing the first query; identifying a second table used in executing the second query but not in executing the first query; and including, in the disjoint table set, the first table and the second table. The method can further include allocating, based at least on the first disjoint table set, a storage and/or management of the first disjoint table set such that the first disjoint table set is stored at and/or managed by at least one node in the distributed database. Related systems and articles of manufacture are also disclosed.
    Type: Grant
    Filed: March 6, 2017
    Date of Patent: October 8, 2019
    Assignee: SAP SE
    Inventors: Antje Heinle, Hans-Joerg Leu
  • Patent number: 10417139
    Abstract: A list of a first type of tracks in a cache is generated. A list of a second type of tracks in the cache is generated, wherein I/O operations are completed relatively faster to the first type of tracks than to the second type of tracks. A determination is made as to whether to demote a track from the list of the first type of tracks or from the list of the second type of tracks.
    Type: Grant
    Filed: August 18, 2017
    Date of Patent: September 17, 2019
    Assignee: INTERNATIONAL BUSINESS MACHINES CORPORATION
    Inventors: Kyler A. Anderson, Kevin J. Ash, Lokesh M. Gupta
  • Patent number: 10387050
    Abstract: Systems and methods for reducing problems and disadvantages associated with traditional approaches to providing accessibility and redundancy for access controller storage media are provided. A method for providing accessibility for storage media of an access controller in an information handling system may include: (i) emulating the storage media such that the storage media appears to an operating system executing on the information handling system as storage media locally attached to the information handling system; (ii) mounting the storage media such that data may be communicated between the storage media and a processor integral to the access controller; (iii) mounting a portion of a network-attached storage remote to the information handling system such that data may be communicated between the portion of the network-attached storage and the processor; and (iv) maintaining redundancy between the storage media and the portion of network-attached storage in accordance with a redundancy policy.
    Type: Grant
    Filed: June 22, 2015
    Date of Patent: August 20, 2019
    Assignee: Dell Products L.P.
    Inventors: Shawn Joel Dube, Quy N. Hoang, Timothy M. Lambert
  • Patent number: 10387329
    Abstract: Profiling cache replacement is a technique for managing data migration between a main memory and a cache memory to improve overall system performance. A profiler maintains counters that count memory requests for access to the pages maintained in both the cache memory and the main memory. Based on this access-request count information, a mover moves pages between the main and cache memories. For example, the mover can swap little-requested pages of the cache memory with highly-requested pages of the main memory. The mover can do so, for instance, when the counters indicate that the number of page access requests for highly-requested pages of the main memory is greater than the number of page access requests for little-requested pages of the cache memory. To avoid impeding the operations of memory users, the mover can perform page swapping in the background at predetermined time intervals, such as once every microsecond (?s).
    Type: Grant
    Filed: April 12, 2016
    Date of Patent: August 20, 2019
    Assignee: Google LLC
    Inventor: Chih-Chung Chang
  • Patent number: 10379776
    Abstract: An aspect includes interlocking operations in an address-sliced cache system. A computer-implemented method includes determining whether a dynamic memory relocation operation is in process in the address-sliced cache system. Based on determining that the dynamic memory relocation operation is in process, a key operation is serialized to maintain a sequenced order of completion of the key operation across a plurality of slices and pipes in the address-sliced cache system. Based on determining that the dynamic memory relocation operation is not in process, a plurality of key operation requests is allowed to launch across two or more of the slices and pipes in parallel in the address-sliced cache system while ensuring that only one instance of the key operations is in process across all of the slices and pipes at a same time.
    Type: Grant
    Filed: May 24, 2017
    Date of Patent: August 13, 2019
    Assignee: INTERNATIONAL BUSINESS MACHINES CORPORATION
    Inventors: Deanna P. Berger, Michael A. Blake, Ashraf Elsharif, Kenneth D. Klapproth, Pak-kin Mak, Robert J. Sonnelitter, III, Guy G. Tracy
  • Patent number: 10360156
    Abstract: A method of operating a data storage device in which a nonvolatile memory is included and a mapping table defining a mapping relation between a physical address and a logical address of the nonvolatile memory is stored in a host memory buffer of a host memory includes requesting a host for an asynchronous event based on information about a map miss that the mapping relation about the logical address received from the host is not included in the mapping table, receiving information about the host memory buffer adjusted by the host based on the asynchronous event, and updating the mapping table to the adjusted host memory buffer with reference to the information about the host memory buffer. A method of operating a data storage device according to example embodiments of the inventive concept can reduce the number of map misses or improve reliability of a nonvolatile memory.
    Type: Grant
    Filed: July 18, 2017
    Date of Patent: July 23, 2019
    Assignee: Samsung Electronics Co., Ltd.
    Inventors: Eun-Jin Yun, Sil Wan Chang
  • Patent number: 10359933
    Abstract: A memory having a memory controller is configured to operate a hybrid cache including a dynamic cache including x-level cell (XLC) (e.g., multi-level cell (MLC)) blocks and a static cache including single level cell (SLC) blocks. A method of operating the memory includes storing at least a portion of host data into the SLC blocks as static cache; and storing at least another portion of host data into XLC blocks in an SLC mode as dynamic cache responsive to a burst of host data being determined to be greater than the static cache can handle. At least one of the static cache or dynamic cache may be disabled based on monitoring a workload of the hybrid cache relative to a Total Bytes Written (TBW) specification, such as by counting program-erase (PE) cycles of different portions of memory, or responsive to the workload exceeding a predetermined threshold defining one or more switch points.
    Type: Grant
    Filed: September 19, 2016
    Date of Patent: July 23, 2019
    Assignee: Micron Technology, Inc.
    Inventors: Kishore K. Muchherla, Ashutosh Malshe, Sampath K. Ratnam, Peter Feeley, Michael G. Miller, Christopher S. Hale, Renato C. Padilla
  • Patent number: 10346308
    Abstract: Techniques described herein generally include methods and systems related to cache partitioning in a chip multiprocessor. Cache-partitioning for a single thread or application between multiple data sources improves energy or latency efficiency of a chip multiprocessor by exploiting variations in energy cost and latency cost of the multiple data sources. Partition sizes for each data source may be selected using an optimization algorithm that minimizes or otherwise reduces latencies or energy consumption associated with cache misses.
    Type: Grant
    Filed: March 30, 2017
    Date of Patent: July 9, 2019
    Assignee: Empire Technology Development LLC
    Inventor: Yan Solihin
  • Patent number: 10331573
    Abstract: Techniques are provided to adjust the behavior of a cache based on a count of cache misses for items recently evicted. In an embodiment, a computer responds to evicting a particular item (PI) from a cache by storing a metadata entry for the PI into memory. In response to a cache miss for the PI, the computer detects whether or not the metadata entry for the PI resides in memory. When the metadata entry for the PI is detected in memory, the computer increments a victim hit counter (VHC) that may be used to calculate how much avoidable thrashing is the cache experiencing, which is how much thrashing would be reduced if the cache were expanded. Either immediately or arbitrarily later, the computer adjusts a policy of the cache based on the VHC's value. For example, the computer may adjust the capacity of the cache based on the VHC.
    Type: Grant
    Filed: August 25, 2017
    Date of Patent: June 25, 2019
    Assignee: Oracle International Corporation
    Inventors: Justin Matthew Lewis, Zuoyu Tao, Jia Shi, Kothanda Umamageswaran
  • Patent number: 10318256
    Abstract: Computer code from an application program comprising a plurality of modules that each comprise a separately loadable file is code cached in a shared and persistent caching system. A shared code caching engine receives native code comprising at least a portion of a single module of the application program, and stores runtime data corresponding to the native code in a cache data file in the non-volatile memory. The engine then converts cache data file into a code cache file and enables the code cache file to be pre-loaded as a runtime code cache. These steps are repeated to store a plurality of separate code cache files at different locations in non-volatile memory.
    Type: Grant
    Filed: November 27, 2012
    Date of Patent: June 11, 2019
    Assignee: VMware, Inc.
    Inventors: Derek Bruening, Vladimir L. Kiriansky
  • Patent number: 10318421
    Abstract: An infrequently used method is selected for eviction from a code cache repository by accessing a memory management data structure from an operating system, using the data structure to identify a first set of pages that are infrequently referenced relative to a second set of pages, determining whether or not a page of the first set of pages is part of a code cache repository and includes at least one method, in response to the page of the first set of pages being part of the code cache repository and including at least one method, flagging the at least one method as a candidate for eviction from the code cache repository, determining whether or not a code cache storage space limit has been reached for the code cache repository, and, in response to the storage space limit being reached, evicting the at least one flagged method from the code cache repository.
    Type: Grant
    Filed: April 12, 2017
    Date of Patent: June 11, 2019
    Assignee: International Business Machines Corporation
    Inventor: Marius Pirvu
  • Patent number: 10296466
    Abstract: A device includes: a cache memory configured to store a first list and a second list, and a processor. The first list includes one or more entries that include any one of data pieces in a storage device and information indicating a location of the data piece on the storage device, and the second list includes one or more entries that include information indicating a location of an already discarded data piece on the storage device, the already discarded data piece having been included in an entry that has been evicted from the first list. The processor counts a count number of entries including data pieces updated and being consecutive from an eviction target entry when updating data piece of an entry in the first list, and writes data of a target entry in the storage device and discards the data from the cache memory based on a certain rule.
    Type: Grant
    Filed: April 12, 2017
    Date of Patent: May 21, 2019
    Assignee: FUJITSU LIMITED
    Inventor: Jun Kato
  • Patent number: 10282106
    Abstract: An operating method of a memory controller includes steps of: configuring the memory controller to receive a read command and read at least one piece of first data stored in a non-volatile memory according to the received read command; configuring the memory controller to determine whether a read count of the at least one piece of first data is greater than a set value; and configuring the memory controller to copy and store the at least one piece of first data in a data temporary storage device when the read count of the at least one piece of first data is determined to be greater than the set value. A data storage device and another operating method are also provided.
    Type: Grant
    Filed: February 22, 2017
    Date of Patent: May 7, 2019
    Assignee: SILICON MOTION, INC.
    Inventors: Yen-Ting Yeh, Teng-Chi Liang
  • Patent number: 10261859
    Abstract: Methods and apparatus relating to techniques for avoiding cache lookup for cold cache. In an example, an apparatus comprises logic, at least partially comprising hardware logic, to receive metadata from an application, wherein the meta data indicates one or more processing operations which can accommodate a predetermined level of bit errors in read operations from memory, determine, from the metadata, pixel data for which error correction code bypass is acceptable, and generate one or more error correction code bypass hints for subsequent cache access to the pixel data for which error correction code bypass is acceptable, and transmit the one or more error correction code bypass hints to a graphics processing pipeline. Other embodiments are also disclosed and claimed.
    Type: Grant
    Filed: April 17, 2017
    Date of Patent: April 16, 2019
    Assignee: INTEL CORPORATION
    Inventors: Altug Koker, Abhishek R. Appu, Kiran C. Veernapu, Joydeep Ray
  • Patent number: 10223435
    Abstract: A parallel track/sector switching device and associated method is provided. The method includes identifying data replication sources and locating data replication targets associated with the data replication sources. Data replication instances associated with moving data from the data replication sources to the data replication targets are determined. A first data replication instance for moving first data from a first data replication source to a first data replication target is determined and an antenna capacity associated with the first data replication source and the first data replication target is identified. A memory to track ID map associated with a storage device of the first data replication target is identified and it is determined if a last replication slot has been allotted to the first data replication target based on the memory to track ID map.
    Type: Grant
    Filed: July 26, 2018
    Date of Patent: March 5, 2019
    Assignee: International Business Machines Corporation
    Inventors: Faried Abrahams, Gandhi Sivakumar, Lennox E. Thomas
  • Patent number: 10210167
    Abstract: Techniques are described for managing access to data storage in a plurality of bitstore nodes. In some situations, a data storage service uses multiple bitstore nodes to store data accessible via a network, such as the Internet. In some situations, multi-level cache systems are employed by each bitstore node and managed, for example to increase throughput of the data storage service.
    Type: Grant
    Filed: May 7, 2012
    Date of Patent: February 19, 2019
    Assignee: AMAZON TECHNOLOGIES, INC.
    Inventor: James C. Sorenson, III
  • Patent number: 10204056
    Abstract: A microprocessor includes a cache memory and a control module. The control module makes the cache size zero and subsequently make it between zero and a full size of the cache, counts a number of evictions from the cache after making the size between zero and full and increase the size when the number of evictions reaches a predetermined number of evictions. Alternatively, a microprocessor includes: multiple cores, each having a first cache memory; a second cache memory shared by the cores; and a control module. The control module puts all the cores to sleep and makes the second cache size zero and receives a command to wakeup one of the cores. The control module counts a number of evictions from the first cache of the awakened core after receiving the command and makes the second cache size non-zero when the number of evictions reaches a predetermined number of evictions.
    Type: Grant
    Filed: February 25, 2014
    Date of Patent: February 12, 2019
    Assignee: VIA ALLIANCE SEMICONDUCTOR CO., LTD
    Inventors: G. Glenn Henry, Stephan Gaskins
  • Patent number: 10176060
    Abstract: Provided are a memory apparatus for applying fault repair based on a physical region and a virtual region and a control method thereof. That is, the fault repair is applied based on the physical region and the virtual region which use an information storage table of a virtual basic region using a hash function, thereby improving efficiency of the fault repair.
    Type: Grant
    Filed: January 30, 2017
    Date of Patent: January 8, 2019
    Assignee: Korea University Research and Business Foundation
    Inventors: Seon Wook Kim, Ho Kwon Kim, Jae Yung Jun, Kyu Hyun Choi
  • Patent number: 10152318
    Abstract: Systems, methods, and other embodiments associated with introducing a new data structure to an executing application are described. In one embodiment, a method includes executing an application as an executing application to process data of a data structure maintained according to a data model. The example method may also include receiving a new data structure definition of a new data structure to define for the data model. The example method may also include performing impact analysis to determine whether the executing application is capable of processing data of the new data structure. The example method may also include updating the data model to include the new data structure definition to create an updated data model. The example method may also include generating control instructions to instruct the executing application to utilize data from the new data structure according to the updated data model.
    Type: Grant
    Filed: January 31, 2017
    Date of Patent: December 11, 2018
    Assignee: ORACLE FINANCIAL SERVICES SOFTWARE LIMITED
    Inventors: Rajaram N. Vadapandeshwara, Seema M. Monteiro, Jesna Jacob, Tara Kant
  • Patent number: 10133673
    Abstract: The embodiments implement file size variance caching optimizations. The optimizations are based on a differentiated caching implementation involving a small size content optimized first cache and a large size content optimized second cache optimized. The first cache reads and writes data using a first block size. The second cache reads and writes data using a different second block size that is larger than the first block size. A request management server controls request distribution across the first and second caches. The request management server differentiates large size content requests from small size content requests. The request management server uses a first request distribution scheme to restrict large size content request distribution across the first cache and a second request distribution scheme to restrict small size content request distribution across the second cache.
    Type: Grant
    Filed: March 9, 2016
    Date of Patent: November 20, 2018
    Assignee: Verizon Digital Media Services Inc.
    Inventors: Harkeerat Singh Bedi, Amir Reza Khakpour, Derek Shiell
  • Patent number: 10114753
    Abstract: Provided are a computer program product, system, and method for using cache lists for multiple processors to cache and demote tracks in a storage system. Tracks in the storage stored in the cache are indicated in lists, wherein there is one list for each of a plurality of processors. Each of the processors processes the list for that processor to process the tracks in the cache indicated on the list. A determination is made of one of the lists from which to select one of the tracks in the cache indicated in the determined list to demote. The selected track is demoted from the cache.
    Type: Grant
    Filed: August 21, 2015
    Date of Patent: October 30, 2018
    Assignee: INTERNATIONAL BUSINESS MACHINES CORPORATION
    Inventors: Kevin J. Ash, Matthew G. Borlick, Lokesh M. Gupta, Matthew J. Kalos
  • Patent number: 10114751
    Abstract: Disclosed is an improved approach to implement memory-efficient cache size estimations. A HyperLogLog is used to efficiently approximate an MRC with sufficient granularity to size caches.
    Type: Grant
    Filed: May 31, 2016
    Date of Patent: October 30, 2018
    Assignee: Nutanix, Inc.
    Inventors: Rickard Edward Faith, Peter Scott Wyckoff
  • Patent number: 10089233
    Abstract: A method of partitioning a set-associative cache for a plurality of software components may comprise identifying a cache height equal to a number of sets in the set-associative cache based on hardware specifications of a computing platform. The method may further comprise determining at least one component demand set of the plurality of software components and dedicating a set in the set-associative cache for the at least one component demand set. The method may further comprise assembling a proportional component sequence of the at least one component demand set having a sequence length equal to an integer submultiple of the cache height. The method may further comprise concatenating assembled proportional component sequences to form a template for mapping a RAM to the dedicated sets in the set-associative cache.
    Type: Grant
    Filed: May 11, 2016
    Date of Patent: October 2, 2018
    Assignee: GE Aviation Systems, LLC
    Inventor: Christopher John Goebel