Garbage Collection Patents (Class 707/813)
  • Patent number: 11907166
    Abstract: Various embodiments of the disclosure disclose a method and an apparatus, which includes: a display, a memory, and a processor operatively connected to the display and/or the memory, wherein the processor is configured to: add a frame to an appended file based on a request to update application data, allocate a reserved space to the appended file, update a database file based on an update condition, and allocate the reserved space to the database file.
    Type: Grant
    Filed: December 20, 2021
    Date of Patent: February 20, 2024
    Assignee: Samsung Electronics Co., Ltd.
    Inventors: Kisung Lee, Hyeeun Jun, Kiwon Song
  • Patent number: 11741005
    Abstract: Techniques for using data mirroring across regions to reduce the likelihood of losing objects in a cloud object storage platform are provided. In one set of embodiments, a computer system can upload first and second copies of a data object to first and second regions of the cloud object storage platform respectively, where the first and second copies are identical. The computer system can then attempt to read the first copy of the data object from the first region. If the read attempt fails, the computer system can retrieve the second copy of the data object from the second region.
    Type: Grant
    Filed: September 22, 2022
    Date of Patent: August 29, 2023
    Assignee: VMware, Inc.
    Inventors: Wenguang Wang, Vamsi Gunturu, Junlong Gao
  • Patent number: 11709059
    Abstract: Methods, systems, and apparatus, including computer programs encoded on computer storage media, for executing the operations represented by an asynchronous execution graph. One of the methods includes receiving data characterizing an asynchronous execution graph comprising one or more subgraphs, wherein each subgraph comprises a plurality of nodes connected by edges, the plurality of nodes comprising a source node, one or more processor nodes, and one or more sink nodes; receiving source data from an external system that corresponds to the source node of a first subgraph in the graph; in response, executing the operations represented by the processor nodes in the first subgraph; and executing the operations represented by each sink node in the first subgraph.
    Type: Grant
    Filed: December 23, 2019
    Date of Patent: July 25, 2023
    Assignee: Waymo LLC
    Inventors: Ouais Alsharif, Ian Michael Wilkes
  • Patent number: 11693589
    Abstract: A storage device capable of maintaining consistency of data for the same address may include a memory device including a plurality of memory blocks, a buffer memory device including a plurality of cache buffers temporarily storing data previously received from a host, and a memory controller configured to receive a write request and a write data from the host and configured to control the buffer memory device and the memory device to store a previously received data, stored in one of the plurality of cache buffers with a logical address that matches a logical address of the write data, in the memory device before the write request is processed.
    Type: Grant
    Filed: April 8, 2021
    Date of Patent: July 4, 2023
    Assignee: SK hynix Inc.
    Inventor: Gi Pyo Um
  • Patent number: 11663120
    Abstract: Devices and techniques for controlling NAND operation latency are described herein. A controlled can receive a write request. The controller can then calculate a number of garbage collection operations to perform on a physical block that is closed. Here, the calculation includes adding a logical-to-physical (L2P) region search ratio to a cadence calculation for garbage collection. Garbage collection operations can be performed on the physical block in accordance with the calculated number of garbage collection operations to perform. Then, the controller can perform the write request in response to completing the calculated number of garbage collection operations.
    Type: Grant
    Filed: November 8, 2021
    Date of Patent: May 30, 2023
    Assignee: Micron Technology, Inc.
    Inventors: Giuseppe D'Eliseo, Luigi Esposito, Xinghui Duan, Lucia Santojanni, Massimo Iaculo
  • Patent number: 11625190
    Abstract: A method for generating a reconstructed version of a filesystem entity, the method may include (i) generating fallback retrieval metadata for a reconstructed version segment, when the reconstructed version segment is (a) associated with a corresponding intermediate version segment, and (b) the corresponding intermediate version segment is preceded by a corresponding most updated segment that does not exceed a fallback version of the filesystem entity; wherein the reconstructed version segment, the corresponding intermediate version segment and the corresponding most updated segment that does not exceed a fallback version have a same address range; (ii) generating a non-existing indicator for the reconstructed version segment, when the reconstructed version segment is (a) associated with the corresponding intermediate version segment, and (b) the corresponding intermediate version segment is not preceded by any corresponding most updated segment that does not exceed the fallback version; and (iii) maintaining
    Type: Grant
    Filed: August 17, 2021
    Date of Patent: April 11, 2023
    Assignee: VAST DATA LTD.
    Inventors: Yogev Vaknin, Eli Malul
  • Patent number: 11604729
    Abstract: Techniques for efficient continuation stack storage are disclosed. In some embodiments, when a continuation yields, the continuation stack, or portion thereof, is copied from a thread stack to a data object, referred to herein as a chunk, allocated from memory. The copied stack portion may maintain the same representation in the chunk as on the thread stack to minimize processing overhead of the operation. When the continuation resumes, the continuation stack, or some portion thereof, is copied from the chunk to the thread stack. During execution, the continuation stack that was copied may be modified on the thread stack. When the continuation yields again, the runtime environment may determine, based at least in part on whether the first object in memory is subject to a garbage collection barrier, whether to copy the modified portion of the continuation stack to the existing chunk or to allocate a new chunk.
    Type: Grant
    Filed: June 19, 2020
    Date of Patent: March 14, 2023
    Assignee: Oracle International Corporation
    Inventors: Ron Pressler, Erik Österlund
  • Patent number: 11550658
    Abstract: A storage system caches logical-to-physical address table entries read in volatile memory. The logical-to-physical address table entries are stored in codewords. The storage system can vary a number or size of an entry in a codeword. Additionally or alternatively, each codeword can store both complete and partial logical-to-physical address table entries. In one example, a codeword having 62 bytes of data and two bytes of error correction code stores 15 complete logical-to-physical address table entries and one partial logical-to-physical address table entry, where the remainder of the partial entry is stored in another codeword. This configuration strikes a good balance between storage space efficiency and random-access write performance.
    Type: Grant
    Filed: September 2, 2021
    Date of Patent: January 10, 2023
    Assignee: Western Digital Technologies, Inc.
    Inventors: James J. Walsh, Stephen Gold, David R. Meyer, Vivek Shivhare
  • Patent number: 11550714
    Abstract: Functions of an application may include multiple implementations that have corresponding behaviors but perform different garbage collection-related activities such that the different implementations may be executed during different garbage collection phases to reduce overall garbage collection overhead during application execution.
    Type: Grant
    Filed: April 15, 2019
    Date of Patent: January 10, 2023
    Assignee: International Business Machines Corporation
    Inventor: Kelvin D. Nilsen
  • Patent number: 11526437
    Abstract: A method for heap space management includes, in response to a determination that consumption of a first heap space of an application exceeds a first threshold, determining whether a second heap space of the application after garbage collection is sufficient to accommodate data stored in the first heap space. The method further includes, in response to a determination that the second heap space after the garbage collection is sufficient to accommodate the data, performing the garbage collection on the second heap space. The method further includes storing the data into the second heap space.
    Type: Grant
    Filed: June 11, 2021
    Date of Patent: December 13, 2022
    Assignee: International Business Machines Corporation
    Inventors: Gan Zhang, Xing Xing Shen, Shan Gao, Le Chang, Ming Lei Zhang, Zeng Yu Peng
  • Patent number: 11513952
    Abstract: Methods, systems, and devices for data separation for garbage collection are described. A control component coupled to the memory array may identify a source block for a garbage collection procedure. In some cases, a first set of pages of the source block may be identified as a first type associated with a first access frequency and a second set of pages of the source block ay be identified as a second type associated with a second access frequency. Once the pages are identified as either the first type or the second type, the first set of pages may be transferred to a first destination block, and the second set of pages may be transferred to a second destination block as part of the garbage collection procedure.
    Type: Grant
    Filed: July 1, 2020
    Date of Patent: November 29, 2022
    Assignee: Micron Technology, Inc.
    Inventors: Nicola Colella, Antonino Pollio
  • Patent number: 11507422
    Abstract: A method and system for intelligently provisioning resources in storage systems. Specifically, the method and system disclosed herein entail throttling the allocation of resources aiding in the performance of background service tasks on a backup storage system. That is, throughout a predicted span of a background service task, resources may be dynamically allocated towards the performance of the background service task at discrete time intervals within the predicted span, thereby improving overall system utilization.
    Type: Grant
    Filed: August 1, 2019
    Date of Patent: November 22, 2022
    Assignee: EMC IP HOLDING COMPANY LLC
    Inventors: Rahul Deo Vishwakarma, Supriya Kannery
  • Patent number: 11461241
    Abstract: Embodiments are directed to managing data in a file system. A file system that includes a file storage tier and a cache storage tier may be provided. An amount of hot blocks present in the cache storage tier that are associated with a heat score that matches a maximum heat score value may be determined. In response to the amount of hot blocks exceeding an amount threshold value further actions may be performed, including: determining each cooldown block in the cache storage tier based on each heat score associated with each block in the cache storage tier; and decrementing the heat score associated with each cooldown block. In response to one or more blocks in the cache storage tier being read, the heat score associated with the one or more blocks being read may be set to the maximum heat score value.
    Type: Grant
    Filed: March 3, 2021
    Date of Patent: October 4, 2022
    Assignee: Qumulo, Inc.
    Inventors: Edward Carpenter, Ying Fairweather, Tripurari Volpe
  • Patent number: 11429388
    Abstract: Aspects of the current subject matter are directed to an approach in which a parallel load operation of file ID mapping containers is accomplished at start and/or restart of a database system. Parallel load operation of file ID mapping and/or large binary object (LOB) file ID mapping is done among a plurality of scanning engines into a plurality of data buffers that are associated with each of the plurality of scanning engines. Each scanning engine operates on a certain path of a page chain of a page structure including the mapping, causing the page chain to be split among scanning engines to process maps. Contents of the data buffers are pushed to mapping engines via a queue. The mapping engines load the file ID mapping and the LOB file ID mapping into maps for in-system access.
    Type: Grant
    Filed: May 26, 2020
    Date of Patent: August 30, 2022
    Assignee: SAP SE
    Inventors: Dirk Thomsen, Thorsten Glebe, Tobias Scheuer, Werner Thesing, Johannes Gloeckle
  • Patent number: 11392304
    Abstract: Apparatus and method for object storage, such as a solid-state drive (SSD) or array thereof. In some embodiments, data arranged as an object are presented for storage to a non-volatile memory (NVM) of a data storage device. Prior to storage, a configuration of the NVM is adaptively adjusted, such as by adjusting a garbage collection unit (GCU) layout, an error correction code (ECC) scheme, and/or a map metadata format used by the NVM. The object is thereafter stored to the NVM using the adaptively adjusted configuration. A controller of the data storage device generates a predicted remaining storage capacity of the NVM in terms of additional objects that can be stored by the NVM responsive to the adaptively adjusted configuration of the NVM. A non-linear sliding scale may be used such that a greater number of smaller objects or a smaller number of larger objects may be accommodated.
    Type: Grant
    Filed: May 29, 2020
    Date of Patent: July 19, 2022
    Inventors: Ryan James Goss, Daniel John Benjamin, David W. Claude, Graham David Ferris, Ryan Charles Weidemann
  • Patent number: 11366751
    Abstract: A storage device includes a nonvolatile memory with physical blocks each including a plurality of clusters, and a controller that maintains a first table storing a relationship between a logical address and a physical address of the cluster, and a second table storing a relationship between a logical block and physical blocks allocated thereto. The controller performs garbage collection processing which includes copying data read from valid clusters of the first logical block to a destination logical block, creating a new logical block when the data read contains an uncorrectable error, allocating the physical blocks of the first logical block to the new logical block, and updating the second table so that the physical blocks of the first logical block are associated with the new logical block and no physical blocks are associated with the first logical block.
    Type: Grant
    Filed: July 21, 2020
    Date of Patent: June 21, 2022
    Assignee: KIOXIA CORPORATION
    Inventor: Tetsuya Yasuda
  • Patent number: 11347698
    Abstract: Examples disclosed herein are relevant to garbage collection for data structures, such as hash tables. The data structure can store garbage collection values for use during a garbage collection process. The garbage collection values can have a value indicating the occurrence of a poisoned status. Disclosed configurations can be suited for use in high-performance computing applications.
    Type: Grant
    Filed: October 4, 2019
    Date of Patent: May 31, 2022
    Assignee: Target Brands, Inc.
    Inventors: Christopher Fretz, Hrishikesh V. Prabhune, Luis F. Stevens
  • Patent number: 11301155
    Abstract: One example method includes chunking a respective disk of each of a plurality of virtual machines (VM) to create a respective plurality of chunks associated with each of the VMs, creating, based on the chunking process, a cluster comprising one or more of the VMs, creating a VM template whose data and disk structure match respective data and disk structures of each of the VMs in the cluster, and in response to a file operation involving a first one of the VM disks, defragmenting the first VM disk so that a disk structure of the first VM disk is the same as a disk structure of the VM template.
    Type: Grant
    Filed: April 22, 2019
    Date of Patent: April 12, 2022
    Assignee: EMC IP HOLDING COMPANY LLC
    Inventors: Assaf Natanzon, David Zlotnick, Boris Shpilyuck
  • Patent number: 11301376
    Abstract: A data storage device can be arranged with a semiconductor memory having a plurality of erasure blocks accessed by a controller to store data. An access count for each respective erasure block can be generated to allow a wear range for the semiconductor memory to be computed based on the respective access counts with the controller. A performance impact of the wear range is evaluated with the controller in order to intelligently alter a deterministic window of a first erasure block of the plurality of erasure blocks in response to the performance impact.
    Type: Grant
    Filed: January 31, 2019
    Date of Patent: April 12, 2022
    Inventors: Stephen H. Perlmutter, Kyumsung Lee
  • Patent number: 11281577
    Abstract: A storage system determines a present amount of reclaimable space in storage memory. The storage system determines a garbage collection directive based on the present amount of reclaimable space in comparison to a target amount of reclaimable space. The storage system selects blocks of storage memory for a group of blocks for garbage collection. Each block selected has greater than or equal to a threshold amount of reclaimable space in accordance with the garbage collection directive. The storage system performs garbage collection, using blocks from the group.
    Type: Grant
    Filed: June 19, 2018
    Date of Patent: March 22, 2022
    Assignee: Pure Storage, Inc.
    Inventors: Aswin Karumbunathan, Yanwei Jiang, Naveen Neelakantam, Scott Chao, Bo Feng, Kiron Vijayasankar
  • Patent number: 11262928
    Abstract: A storage system and method for enabling partial defragmentation are provided. In one embodiment, a storage system comprises a memory and a controller. The controller is configured to receive an indication from a host that the host will be reading from a portion of the memory in a burst mode; determine whether a fragmentation level of the portion of the memory is above a threshold; and in response to determining that the fragmentation level of the portion of the memory is above the threshold, perform a defragmentation of the portion of the memory prior to reading data stored in the portion of the memory. Other embodiments are provided.
    Type: Grant
    Filed: June 12, 2020
    Date of Patent: March 1, 2022
    Assignee: Western Digital Technologies, Inc.
    Inventor: Ramanathan Muthiah
  • Patent number: 11226865
    Abstract: Embodiments for a mostly unique file selection process for a deduplication backup system are described. The process assigns tags to files. A tag serves as a hint about the similarity of files in a deduplication file system. It is expected that files from the same client machine will be assigned the same tag. The tag is the smallest unit of migration and serves as a hint of the similarity of the files. The MUFS process measures the uniqueness using a u-index that is a function of the total unique size of a tag relative to the total size of the tag. A load balancer then selects the most unique tags for migration to free the maximum space. It uses the u-index to measure the uniqueness percentage of a tag, so that tags with the highest u-index are selected for migration to free up maximum space on the source node.
    Type: Grant
    Filed: January 18, 2019
    Date of Patent: January 18, 2022
    Assignee: EMC IP Holding Company LLC
    Inventors: Tony Wong, Hemanth Satyanarayana, Abhinav Duggal
  • Patent number: 11216472
    Abstract: Systems and user interfaces enable integration of data items from disparate sources to generate optimized packages of data items. For example, the systems described herein can obtain data items from various sources, score the data items, and present, via an interactive user interface, options for packaging the data items based on the scores. The systems may include artificial intelligence algorithms for selecting optimal combinations of data items for packaging. Further, the interactive user interfaces may enable a user to efficiently add data items to, and remove data items from, the data packages. The system may interactively re-calculate and update scores associated with the package of data items as the user interacts with the data package via the user interface. The systems and user interfaces may thus, according to various embodiments, enable the user to optimize the packages of data items based on multiple factors quickly and efficiently.
    Type: Grant
    Filed: September 13, 2019
    Date of Patent: January 4, 2022
    Assignee: Palantir Technologies Inc.
    Inventors: Yifei Huang, Grace Garde, Nikhita Singh, Sarah Gershkon, James Winchester, Laurynas Pliuskys
  • Patent number: 11194625
    Abstract: For one embodiment of the present invention, methods and systems for accelerating data operations with efficient memory management in native code and native dynamic class loading mechanisms are disclosed. In one embodiment, a data processing system comprises memory and a processing unit coupled to the memory. The processing unit is configured to receive input data, to execute a domain specific language (DSL) for a DSL operation with a native implementation, to translate a user defined function (UDF) into the native implementation by translating user defined managed software code into native software code, to execute the native software code in the native implementation, and to utilize a native memory management mechanism for the memory to manage object instances in the native implementation.
    Type: Grant
    Filed: December 3, 2019
    Date of Patent: December 7, 2021
    Assignee: BIGSTREAM SOLUTIONS, INC.
    Inventors: Weiwei Chen, Behnam Robatmili, Maysam Lavasani, John David Davis
  • Patent number: 11188460
    Abstract: An arena-based memory management system is disclosed. In response to a call to reclaim memory storing a plurality of objects allocated in an arena, a garbage collection of the arena is triggered based on heap-related parameter. A live object of the plurality of objects is preserved with the garbage collection.
    Type: Grant
    Filed: June 18, 2018
    Date of Patent: November 30, 2021
    Assignee: Microsoft Technology Licensing, LLC
    Inventors: Maoni Zhang Stephens, Patrick H. Dussud, Peter F. Sollich
  • Patent number: 11176035
    Abstract: A data storage device includes a memory device and a memory controller. The memory device includes multiple memory blocks. The memory controller determines whether execution of a garbage collection procedure is required according to a number of spare memory blocks. When the execution of the garbage collection procedure is required, the memory controller determines an execution period according to a latest editing status of a plurality of open memory blocks; starts the execution of the garbage collection procedure so as to perform at least a portion of the garbage collection procedure in the execution period; and suspends the execution of the garbage collection procedure when the execution period has expired but the garbage collection procedure is not finished. The memory controller further determines a time interval for continuing the execution of the garbage collection procedure later according to the latest editing status of the open memory blocks.
    Type: Grant
    Filed: March 26, 2020
    Date of Patent: November 16, 2021
    Assignee: Silicon Motion, Inc.
    Inventor: Kuan-Yu Ke
  • Patent number: 11175847
    Abstract: A data merging method for flash memory, a flash memory control circuit unit and a flash memory storage device are provided. The disclosure is applicable to a flash memory, an embedded memory device or a solid state drive of 3D structure. The method includes: selecting at least one source physical erasing unit from at least one first physical erasing unit according to a valid data count of the at least one first physical erasing unit and a valid data count of each of a plurality of memory sub-modules; and copying valid data in the at least one source physical erasing unit to at least one destination physical erasing unit to perform a valid data merging operation.
    Type: Grant
    Filed: March 18, 2020
    Date of Patent: November 16, 2021
    Assignee: Hefei Core Storage Electronic Limited
    Inventors: Qi-Ao Zhu, Wan-Jun Hong, Jing Zhang, Xin Wang, Xu Hui Cheng
  • Patent number: 11150981
    Abstract: One embodiment provides a method for recovery after failure using a checkpoint in a chronological log-structured key-value store in a system including writing tombstone entries in a log structure for dirty checkpoint records to point to data records in an aborted target slot.
    Type: Grant
    Filed: February 27, 2020
    Date of Patent: October 19, 2021
    Assignee: International Business Machines Corporation
    Inventors: Aayush Gupta, Sangeetha Seshadri
  • Patent number: 11120147
    Abstract: A computerized operating system begins a garbage-collection operation by collecting a set of “garbage” data objects to be deleted. Certain of these objects are identified, either by an embedded identifier or by an entry in a sensitive-objects data structure, as containing sensitive data. When the garbage collector moves or deletes a sensitive object during the garbage-collection procedure, the collector zeroes out any residual data left at the object's original location in memory or secondary storage. If the collector determines that the object no longer has any connection to other software entities, the collector zeroes out the storage locations of all identified instances of the object. The collector then updates the data structure to indicate the current location of sensitive objects that have been moved or copied, and deletes entries for zeroed out instances of deleted sensitive objects.
    Type: Grant
    Filed: September 11, 2018
    Date of Patent: September 14, 2021
    Assignee: International Business Machines Corporation
    Inventors: Daniel Heidinga, Charles R. Gracie
  • Patent number: 11106578
    Abstract: A memory controller includes a block ratio calculator configured to calculate a ratio of free blocks among memory blocks for storing data; a policy selector configured to select, based on the calculated ratio of free blocks, any one garbage collection policy of a first garbage collection policy of specifying priorities to be used to select a victim block depending on attributes of the data, and a second garbage collection policy of specifying the priorities to be used to select the victim block regardless of the attributes of the data; and a garbage collection performing component configured to perform a garbage collection operation on at least one memory block of the memory blocks according to the garbage collection policy selected by the policy selector.
    Type: Grant
    Filed: March 28, 2019
    Date of Patent: August 31, 2021
    Assignee: SK hynix Inc.
    Inventor: Hung Yung Cho
  • Patent number: 11106579
    Abstract: A method and system for self-regulating memory of a JAVA virtual machine optimizes memory use by the JVM and by an operating system. A computer running a garbage collector extension monitors and records free committed memory of the JVM at predetermined intervals over time to define a historical record. The computer calculates an average allocation of the free committed memory in the historical record over predetermined intervals. An allocation rate is determined, wherein the allocation rate is based on the average allocation over the predetermined intervals. The computer calculates an estimated time to exhaust committed memory based on free committed heap memory and the allocation rate. Memory is recovered from the operating system if the time to exhaust committed memory is below a first predetermined threshold value and is released to the operating system when said time to exhaust committed memory is above a second predetermined threshold value.
    Type: Grant
    Filed: November 26, 2019
    Date of Patent: August 31, 2021
    Assignee: International Business Machines Corporation
    Inventors: Dinakar Guniguntala, Ashutosh Mehra, Parameswaran Selvam
  • Patent number: 11003624
    Abstract: Systems and methods for incrementally repairing physical locality for live or active data are provided. Files that are enumerated to determine their locality are identified using dataless consistency points. The files are walked in order to measure their locality or at least the locality of their data segments. Locality repair is performed when the locality is greater than a threshold locality.
    Type: Grant
    Filed: March 18, 2019
    Date of Patent: May 11, 2021
    Assignee: EMC IP HOLDING COMPANY LLC
    Inventor: Abhinav Duggal
  • Patent number: 10970254
    Abstract: A computer-implemented method according to one embodiment includes receiving data, storing chunks of the data in fixed size blocks in physical storage, and deduplicating a copy of the data. The storing includes splitting some of the data chunks into portions for filling the fixed size blocks. Metadata is stored with the data chunks for chaining the associated portions of the split data chunks together. The deduplicating including creating a pointer to a first of the data chunks. A computer program product for utilizing free space in physical storage, according to another embodiment includes a computer readable storage medium having program instructions embodied therewith. The computer readable storage medium is not a transitory signal per se. The program instructions are readable and/or executable by a computer to cause the computer to perform the foregoing method.
    Type: Grant
    Filed: May 2, 2018
    Date of Patent: April 6, 2021
    Assignee: International Business Machines Corporation
    Inventors: Asaf Porat-Stoler, Jonathan Fischer-Toubol, Shai Tahar, Afief Halumi
  • Patent number: 10938581
    Abstract: Aspects of the disclosed technology relate to ways to determine the optimal storage of data structures across different memory device is associated with physically disparate network nodes. In some aspects, a process of the technology can include steps for receiving a first retrieval request for a first object, searching a local PMEM device for the first object based on the first retrieval request, in response to a failure to find the first object on the local PMEM device, transmitting a second retrieval request to a remote node, wherein the second retrieval request is configured to cause the remote node to retrieve the first object from a remote PMEM device. Systems and machine-readable media are also provided.
    Type: Grant
    Filed: February 27, 2018
    Date of Patent: March 2, 2021
    Assignee: CISCO TECHNOLOGY, INC.
    Inventors: Johnu George, Amit Kumar Saha, Arun Saha, Debojyoti Dutta
  • Patent number: 10901828
    Abstract: The techniques described herein may include memory allocation techniques that provide improved security and performance. In embodiments, a method implemented in a computer system may include a processor and a memory, the method may comprise mapping a block of memory, dividing the block of memory into a plurality of heaps, dividing each heap into a plurality of sub-heaps, wherein each sub-heap is associated with one thread of software executing in the computer system, dividing each sub-heap into a plurality of bags, wherein each bag is associated with one size class of objects, and storing a plurality of objects in at least some of the bags, wherein each object is stored in a bag having size class corresponding to a size of the object.
    Type: Grant
    Filed: October 26, 2018
    Date of Patent: January 26, 2021
    Assignee: Board of Regents, The University of Texas System
    Inventors: Tongping Liu, Sam Silvestro, Hongyu Liu
  • Patent number: 10884921
    Abstract: A storage device includes at least one nonvolatile memory device including a plurality of memory blocks, the nonvolatile memory device configured to store user data and meta data in the plurality of memory blocks, and a device controller configured to control the nonvolatile memory device, to calculate a user cost corresponding to a time of memory accesses to the user data to be performed at garbage collection with respect to each of the plurality of memory blocks, to calculate a meta cost corresponding to a time of memory accesses to the meta data to be performed at the garbage collection with respect to each of the plurality of memory blocks, to select a victim block among the plurality of memory blocks based on the user cost and the meta cost, and to perform the garbage collection on the victim block.
    Type: Grant
    Filed: September 28, 2018
    Date of Patent: January 5, 2021
    Assignee: Samsung Electronics Co., Ltd.
    Inventors: In-Tae Hwang, Ju-Young Lee, Won-Jin Lim, Sung-Hyun Cho
  • Patent number: 10831400
    Abstract: According to one or more embodiments described herein, a method for pause-less garbage collection includes selecting, by a garbage collector, for garbage collection, a process thread that is executing a process. The method further includes causing a first activation frame that is associated with a first method to be scanned, either by a garbage collector thread or by the process thread that is presently executing. The method further includes instructing the process thread to subsequently scan a second pause-less activation frame that is associated with a second method from a process that the process thread is presently executing. The method further includes scanning using a garbage collector thread, a third pause-less activation frame that is associated with a third method from the process, wherein scanning a pause-less activation frame includes examining and overwriting one or more live pointers from a method corresponding to said pause-less activation frame being scanned.
    Type: Grant
    Filed: August 21, 2019
    Date of Patent: November 10, 2020
    Assignee: INTERNATIONAL BUSINESS MACHINES CORPORATION
    Inventor: Kelvin D. Nilsen
  • Patent number: 10797892
    Abstract: Aspects of the disclosed technology relate to ways to determine the optimal storage of data structures across different memory device is associated with physically disparate network nodes. In some aspects, a process of the technology can include steps for receiving a first retrieval request for a first object, searching a local PMEM device for the first object based on the first retrieval request, in response to a failure to find the first object on the local PMEM device, transmitting a second retrieval request to a remote node, wherein the second retrieval request is configured to cause the remote node to retrieve the first object from a remote PMEM device. Systems and machine-readable media are also provided.
    Type: Grant
    Filed: February 27, 2018
    Date of Patent: October 6, 2020
    Assignee: CISCO TECHNOLOGY, INC.
    Inventors: Johnu George, Amit Kumar Saha, Arun Saha, Debojyoti Dutta
  • Patent number: 10783073
    Abstract: One embodiment provides a method including storing a key-value store in a memory. Out-of-place operations are performed to maintain chronological ordering of the operations by enforcing ordering of the operations on a storage layer in presence of a garbage collection transaction without an explicit secondary index.
    Type: Grant
    Filed: February 23, 2018
    Date of Patent: September 22, 2020
    Assignee: International Business Machines Corporation
    Inventors: Aayush Gupta, Sangeetha Seshadri
  • Patent number: 10754674
    Abstract: A method for reducing memory usage of a browser in a portable terminal device is disclosed. The method comprises mapping an anonymous memory, allocated by an operating system of the portable terminal device, into a process space of a browser; and removing the mapped anonymous memory from the process space of the browser, after an operation of the browser using the anonymous memory is completed.
    Type: Grant
    Filed: December 11, 2015
    Date of Patent: August 25, 2020
    Assignee: Guangzhou UCWeb Computer Technology Co., Ltd.
    Inventors: Jie Liang, Qing Huang
  • Patent number: 10698630
    Abstract: Facilitating intra-cluster migration of data in an elastic cloud storage environment is provided herein. A system can comprise a processor and a memory that stores executable instructions that, when executed by the processor, facilitate performance of operations. The operations can comprise scheduling a migration of a data chunk from a source storage node to a target storage node. Further, the operations can comprise facilitating the migration of the data chunk from a first location in the source storage node to a second location in the target storage node. Data indicative of an identity of the data chunk can be migrated with the data chunk. The operations can also comprise replacing the first location with the second location in a storage mapping table.
    Type: Grant
    Filed: June 13, 2018
    Date of Patent: June 30, 2020
    Assignee: EMC IP Holding Company LLC
    Inventors: Mikhail Danilov, Konstantin Buinov
  • Patent number: 10684786
    Abstract: A method, non-transitory computer readable medium, and device that assists with performing global data deduplication on data blocks across different volumes includes identifying at least two data blocks stored in two or more storage volumes. It is determined whether the at least two data blocks are classified as a shared data block. A new data volume signature is created when the at least two data blocks are determined to be shared. One of the at least two data blocks that are determined to be shared is deleted and the other one of the at least two data blocks and the created signature in one of the two or more storage volumes is stored.
    Type: Grant
    Filed: April 28, 2017
    Date of Patent: June 16, 2020
    Assignee: NetApp, Inc.
    Inventor: Manish Katiyar
  • Patent number: 10671287
    Abstract: A method of operating a storage device to perform a garbage collection operation on a nonvolatile memory device having a plurality of memory blocks, the storage device configured to operate based on a multi-stream scheme such that a plurality of data is written into the plurality of memory blocks based on which of a plurality of streams is associated with the plurality of data. The method may include selecting at least two memory blocks among the plurality of memory blocks as victim memory blocks such that the victim memory blocks are configured to store data associated with a same stream of the plurality of streams; and performing the garbage collection operation on the victim memory blocks.
    Type: Grant
    Filed: August 23, 2018
    Date of Patent: June 2, 2020
    Assignee: Samsung Electronics Co., Ltd.
    Inventors: In-Hwan Doh, Byung-Hei Jun, Joo-Young Hwang
  • Patent number: 10628301
    Abstract: A system and method of managing non-volatile computer storage media may include: receiving at least one value of at least one parameter, including for example: a size of data objects, a frequency of data write requests, a size of write units (WUs) and a required write amplification value; setting a cyclic write pointer to point to a WU having a logical address space; setting a cyclic garbage collection (GC) pointer to point to a WU having a logical address space, located ahead of the WU pointed by the write pointer; performing GC on the WU pointed by the GC pointer; and incrementing the cyclic GC pointer to point to a next WU according to the value of the cyclic write pointer and according to the at least one received parameter value.
    Type: Grant
    Filed: June 21, 2018
    Date of Patent: April 21, 2020
    Assignee: Lightbits Labs Ltd.
    Inventors: Shmuel Ben-Yehuda, Ofir Efrati, Abel Alkon Gordon, Sagi Grimberg, Eran Kirzner, Maor Vanmak
  • Patent number: 10621079
    Abstract: Methods, systems, apparatus, including computer programs encoded on computer storage media, for reclaiming storage space in a storage environment. In one aspect, the method includes actions of aggregating data that is indicative of access to one or more data objects, determining a future storage cost associated with each of a plurality of data objects, determining an access window for each of the plurality of data objects, identifying a data object based on (i) the future storage cost that satisfies a predetermined threshold and (ii) a data object access window, providing a notification to a user device that requests feedback from a user indicating whether the data object can be deleted, and in response to receiving data that indicates that the data object can be deleted, generating an instruction to cause deletion of the data object upon the expiration of the access window.
    Type: Grant
    Filed: November 16, 2018
    Date of Patent: April 14, 2020
    Assignee: Google LLC
    Inventors: Konstantinos Nikoloudakis, Sven Koehler, Danyao Wang, Sahand Saba, Long Fei, Simon Tyler Wise, David Halladay Schneider
  • Patent number: 10593409
    Abstract: Memory device comprising flash memory and method for controlling a write speed of a bus transmitting data for storage on the flash memory. The flash memory of the memory device comprises a plurality of physical blocks for writing data transmitted over the bus from a host device to the memory device. The writing of data in any one of the plurality of physical blocks is preceded by an erase of the physical block. The memory device also comprises a memory device controller controlling a write speed of the bus. The write speed of the bus defines a transmission rate at which data are transmitted over the bus from the host device to the memory device, for further writing on the flash memory. The control of the write speed of the bus comprises adapting the transmission rate based on a number of physical blocs erased.
    Type: Grant
    Filed: October 12, 2017
    Date of Patent: March 17, 2020
    Assignee: DISTECH CONTROLS INC.
    Inventors: Francois Gervais, Danny Breton
  • Patent number: 10592150
    Abstract: A storage apparatus according to an aspect of the present invention is configured to perform a deduplication process on write data from a host. For the deduplication process, the storage apparatus calculates a feature value of write data, and records, in a management region, metadata that is a set of the feature value of the write data and information on a storage position of the write data. However, to prevent the amount of metadata stored in the management region from increasing, if write data meets a predetermined condition, the storage apparatus does not perform the deduplication process, and suppresses creation of metadata of the write data.
    Type: Grant
    Filed: February 15, 2016
    Date of Patent: March 17, 2020
    Assignee: Hitachi, Ltd.
    Inventors: Keisuke Sakamoto, Hisaharu Takeuchi, Haruki Takei, Hajime Ikeda
  • Patent number: 10579481
    Abstract: Restoring data from a storage device to a cloud service includes initializing each of a plurality of flags for each of portions of the data when the data is initially recalled from the cloud service to the storage device, the flags indicating whether a corresponding portion of the data has been modified while being stored on the storage device, modifying a particular one of the flags in response to a corresponding one of the portions being modified, transferring only portions of the data having corresponding flags that have been modified to migrate, and merging the portions of the data with remaining data at the cloud service. Data that is recalled from the cloud service to the storage device may be maintained on the cloud service. The portions of data that are transferred from the storage device to the cloud service may overwrite data maintained at the cloud service.
    Type: Grant
    Filed: January 31, 2018
    Date of Patent: March 3, 2020
    Assignee: EMC IP Holding Company LLC
    Inventors: Douglas E. LeCrone, Brett A. Quinn
  • Patent number: 10558363
    Abstract: A hybrid compressed media is maintained by detecting hot data within a logical unit name (LUN), and compressing a remaining cold data within the LUN while keeping the hot data uncompressed. The uncompressed hot data and the compressed cold data are both stored within the LUN.
    Type: Grant
    Filed: August 9, 2016
    Date of Patent: February 11, 2020
    Assignee: INTERNATIONAL BUSINESS MACHINES CORPORATION
    Inventors: Christophe Fagiano, Itzhack Goldberg, Sandor Lengyel, Neil Sondhi, Daniel J. Winarski
  • Patent number: 10552041
    Abstract: A write request for the data object is received. The data object is stored at one or more of a plurality of storage nodes according to the write request. A storage manager catalog that maps a data object identification (DOID) for the data object is updated with an actual storage location of the data object, the DOID for a corresponding data object being calculated based on content of the data object, a plurality of data objects being organized into one or more storage volumes. The storage manager catalog includes a count of a number of instances of a data object that is currently referenced for each of the one or more storage volumes.
    Type: Grant
    Filed: November 13, 2017
    Date of Patent: February 4, 2020
    Assignee: eBay Inc.
    Inventors: Vinay Pundalika Rao, Mark S. Lewis, Anna Povzner