Garbage Collection Patents (Class 707/813)
  • Patent number: 10275397
    Abstract: A deduplication storage system and associated methods are described. The deduplication storage system may split data objects into segments and store the segments. A plurality of data segment containers may be maintained. Each of the containers may include two or more of the data segments. Maintaining the containers may include maintaining a respective logical size of each container. In response to detecting that the logical size of a particular container has fallen below a threshold level, the deduplication storage system may perform an operation to reclaim the storage space allocated to one or more of the data segments included in the particular container.
    Type: Grant
    Filed: February 22, 2013
    Date of Patent: April 30, 2019
    Assignee: Veritas Technologies LLC
    Inventors: Xianbo Zhang, Haibin She
  • Patent number: 10257374
    Abstract: An image forming apparatus includes a storage unit that stores a personal setting value of a user, a reception unit that receives a login of the user, and a control unit that that determines whether the personal setting value of the user whose login is received can be stored in the storage unit, and in a case where it is determined that the personal setting value cannot be stored and registration of the personal setting value is instructed by the user whose login is received, performs control so as to store the personal setting value of which the registration is instructed in a virtual storage area prepared for temporary storage.
    Type: Grant
    Filed: June 23, 2015
    Date of Patent: April 9, 2019
    Assignee: CANON KABUSHIKI KAISHA
    Inventor: Takafumi Mizuno
  • Patent number: 10254998
    Abstract: A distributed storage system can include a storage node (125, 130, 135). The storage node (125, 130, 135) can include a Solid State Drive (SSD) or other storage device that employs garbage collection (140, 145, 150, 155, 160, 165, 225, 230), a device garbage collection monitor (205), a garbage collection coordinator (210), an Input/Output (I/O) redirector (215), and an I/O resynchronizer (220). The device garbage collection monitor (205) can determine whether any storage devices (140, 145, 150, 155, 160, 165, 225, 230) need to perform garbage collection. The garbage collection coordinator (210) can schedule when the storage device (140, 145, 150, 155, 160, 165, 225, 230) can perform garbage collection. The I/O redirector (215) can redirect read requests (905) and write requests (1005) away from the storage device (140, 145, 150, 155, 160, 165, 225, 230) when it is performing garbage collection.
    Type: Grant
    Filed: February 17, 2016
    Date of Patent: April 9, 2019
    Assignee: SAMSUNG ELECTRONICS CO., LTD.
    Inventors: Vikas Sinha, Zvi Guz, Gunneswara Rao Marripudi
  • Patent number: 10235255
    Abstract: An information processing system includes first to third information processing apparatuses. The first information processing apparatus has a first memory with a cache region and outputs a first power failure signal on detecting a power failure. The second information processing apparatus includes a second memory with a mirror cache region that stores mirror data for the cache region and outputs a second power failure signal on detecting a power failure. The third information processing apparatus monitors the first and second information processing apparatuses and, when both apparatuses have stopped operating, determines whether there is a power failure at the first and second information processing apparatuses based on the first and second power failure signals. When there is no power failure at either apparatus, the first and second information processing apparatuses are restarted in a state where data of the first and second memories is held.
    Type: Grant
    Filed: March 28, 2016
    Date of Patent: March 19, 2019
    Assignee: FUJITSU LIMITED
    Inventors: Tsukasa Makino, Mihoko Nakajima, Reina Okano, Yuki Yamamoto
  • Patent number: 10210168
    Abstract: Provided are a computer program product, system, and method for managing data in a storage. Each index entry in and index identifies a log address in the log of one of the records. Each record in the log includes a key and value, and the log addresses map to physical addresses in the storage. A plurality of processed log addresses in the log are processed by determining whether the index indicates that the processed log address includes a current version of the record in the log; adding the record at the processed log address to a selected log address in the log in response to determining that the index indicates that the processed log address comprises the current version of the record; and deleting a record at the physical address in the storage to which the processed log address maps.
    Type: Grant
    Filed: February 23, 2015
    Date of Patent: February 19, 2019
    Assignee: INTERNATIONAL BUSINESS MACHINES CORPORATION
    Inventors: Lawrence Y. Chiu, Paul H. Muench, Sangeetha Seshadri
  • Patent number: 10176093
    Abstract: Garbage collection processing is facilitated. Based on execution of a load instruction and determining that an address of an object pointer to be loaded is located in a pointer storage area and the object pointer indicates a location within a selected portion of memory undergoing garbage collection, processing control is obtained by a handler executing within a processor of the computing environment. The handler obtains the object pointer from the pointer storage area, and determines whether the object pointer is to be modified. If the object pointer is to be modified, the handler modifies the object pointer. The handler may then store the modified object pointer in a selected location.
    Type: Grant
    Filed: June 30, 2015
    Date of Patent: January 8, 2019
    Assignee: INTERNATIONAL BUSINESS MACHINES CORPORATION
    Inventors: Giles R. Frazier, Michael K. Gschwind
  • Patent number: 10133658
    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: June 6, 2017
    Date of Patent: November 20, 2018
    Assignee: Google LLC
    Inventors: Konstantinos Nikoloudakis, Sven Koehler, Danyao Wang, Sahand Saba, Long Fei, Simon Tyler Wise, David Halladay Schneider
  • Patent number: 10127242
    Abstract: Methods and systems for identifying candidates for de-duplication are disclosed herein. An example system may include: a de-duplication lister that coordinates with a kernel module to identify a unit of data for de-duplication and calculates a signature of the unit of data; a de-duplication queue that manages a de-duplication queue; a de-duplication tracker that maintains a de-duplication data structure including a plurality of entries corresponding to units of data and searches the de-duplication data structure to determine whether the signature of the identified unit of data matches the signature of at least one of the entries in the de-duplication data structure; a de-duplication maintainer that reviews the entries of the de-duplication data structure and removes obsolete entries from the de-duplication data structure; and a de-duplication engine that coordinates with the kernel module to perform de-duplication operations on the de-duplication queue.
    Type: Grant
    Filed: February 9, 2015
    Date of Patent: November 13, 2018
    Assignee: American Megatrends, Inc.
    Inventors: Paresh Chatterjee, Narayanan Balakrishnan, Ajit Narayanan, Anandh Mahalingam
  • Patent number: 10114551
    Abstract: A method for releasing storage space in asynchronously mirrored space-efficient secondary volumes is disclosed. In one embodiment, such a method includes reading a first copy of a free-space data structure stored on a space-efficient secondary volume. The free-space data structure tracks the usage status of storage elements in the space-efficient secondary volume. The method analyzes the first copy to determine which storage elements in the space-efficient secondary volume are not being used. Upon completion of a consistency group on the space-efficient secondary volume, the method reads a second copy of the free-space data structure and compares the first copy to the second copy to determine which storage elements had their usage status change during analysis of the first copy. The method releases storage elements in the space-efficient secondary volume that are not being used. A corresponding system and computer program product are also disclosed.
    Type: Grant
    Filed: January 18, 2016
    Date of Patent: October 30, 2018
    Assignee: International Business Machines Corporation
    Inventors: Theresa M. Brown, Gregory E. McBride, Carol S. Mellgren, David C. Reed
  • Patent number: 10114852
    Abstract: Described herein are techniques for managing content stored on a distributed network. Content is initially placed onto the network and populated across one or more nodes. The content is distributed in association with decay parameters that define a lifetime for the population of the content on the network. Various communication nodes of the distributed network are configured to process the content decay parameters to determine whether to delete the content during subsequent time periods.
    Type: Grant
    Filed: July 31, 2015
    Date of Patent: October 30, 2018
    Assignee: SLING MEDIA L.L.C.
    Inventors: Vikram Dham, Ilya Asnis
  • Patent number: 10102080
    Abstract: An application on a client is presented with a target destination for a backup of data managed by the application. The target destination includes a virtual drive. Data backed up by the application to the virtual drive is received. The data is directed to a de-duplication library executing on the client, where the de-duplication library is separate from the application.
    Type: Grant
    Filed: June 30, 2015
    Date of Patent: October 16, 2018
    Assignee: EMC IP Holding Company LLC
    Inventors: Jerzy Gruszka, Matthew D Buchman, Prashant Shukla, Amarendra Behera, Krishnendu Bagchi, Michael Jones
  • Patent number: 10101981
    Abstract: The present disclosure is directed towards systems and methods for managing application delivery in a network. A device intermediary to a client and one or more servers that provide a plurality of applications, receives a request from the client to access a first application of the plurality of applications. The device holds the request and retrieves, while holding the request, configuration information for an instance of the first application from a configuration repository. The device configures a virtual internet protocol (“VIP”) server using the configuration information for the instance of the first application. The device processes the request via the VIP server.
    Type: Grant
    Filed: May 8, 2015
    Date of Patent: October 16, 2018
    Assignee: Citrix Systems, Inc.
    Inventors: Mahesh Arumugam, Sergey Verzunov, Sandeep Kamath, Josephine Suganthi, Anil Shetty, Abhishek Chauhan
  • Patent number: 10037143
    Abstract: Disclosed are a memory compression method of an electronic device and an apparatus thereof. The method for compressing memory in an electronic device may include: detecting a request for executing the first application; determining whether or not the memory compression is required for the execution of the first application; when the memory compression is required, compressing the memory corresponding to an application in progress in the background of the electronic device; and executing the first application.
    Type: Grant
    Filed: October 20, 2014
    Date of Patent: July 31, 2018
    Assignee: Samsung Electronics Co., Ltd.
    Inventors: Byoungik Kang, Jinyoung Park, Heesub Shin, Seungwook Lee
  • Patent number: 10033811
    Abstract: Methods, apparatus and computer program products implement embodiments of the present invention that include receiving, by a first computer in communication with a storage system, multiple resource packs, each of the resource packs including a plurality of attributes for storage resources on the storage system. Upon the first computer receiving a request from a second computer for a storage service, one or more of the received resource packs are identified that have respective attributes matching the storage service, a given identified resource pack is selected and the given identified resource pack is conveyed to the second computer. In some embodiments, the given identified resource pack can be conveyed by conveying an allocation request to the storage system for a portion of the given identified resource pack, and in response to the request, the storage system can allocate the requested portion of the given identified resource pack to the second computer.
    Type: Grant
    Filed: January 14, 2014
    Date of Patent: July 24, 2018
    Assignee: INTERNATIONAL BUSINESS MACHINES CORPORATION
    Inventors: Daniel I. Goodman, Ran Harel, Rivka M. Matosevich, Orit Nissan-Messing, Yossi Siles
  • Patent number: 10009379
    Abstract: A system for sterilizing data sent through electronic messages includes first computing circuitry configured to receive a first electronic communication including first data having executable code and generate optical data representative of the first data. The system further includes second computing circuitry configured to receive the optical data from the first computing circuitry, convert the optical data into second data representative of the optical data, and transmit a second electronic communication that includes the second data and omits the first data.
    Type: Grant
    Filed: December 21, 2015
    Date of Patent: June 26, 2018
    Inventor: Peter W. J. Jones
  • Patent number: 10002074
    Abstract: A system, method, and techniques for managing memory are provided. An example method includes identifying a plurality of regions in a heap storing one or more objects of a first type and one or more objects of a second type. Each object of the first type includes application data and management data, and the management data is used by a managed runtime to manage the application data. The method also includes determining an object of the first type to read and computing, based on a last-known memory address of the object of the first type, a memory address of an object of the second type storing a current memory address of the object of the first type. The method further includes reading the current memory address stored in the object of the second type and locating the object of the first type at the read memory address.
    Type: Grant
    Filed: June 6, 2016
    Date of Patent: June 19, 2018
    Assignee: Red Hat, Inc.
    Inventors: Christine H. Flood, Andrew Edward Dinn
  • Patent number: 9996270
    Abstract: Various embodiments for managing data by a processor in a multi-tiered computing storage environment. Input/Output (I/O) statistics are examined from each of cache and device drivers in the computing storage environment. Based on the I/O statistics, a ranking mechanism is applied to differentiate data between at least a cache rank and a Solid State Drive (SSD) rank. The ranking mechanism migrates data between the cache rank and SSD rank such that storage space in the cache rank is reserved for those of the plurality of data workload types having a greater adverse effect on a storage performance characteristic if stored in the SSD rank than if those workload types were stored in the cache rank.
    Type: Grant
    Filed: July 8, 2014
    Date of Patent: June 12, 2018
    Assignee: INTERNATIONAL BUSINESS MACHINES CORPORATION
    Inventors: Yong Guo, Bruce McNutt, Jie Tian, Yan Xu
  • Patent number: 9996277
    Abstract: This technology relates to a memory system for processing data into a memory device and an operating method of the same. The memory system may include a memory device comprising one or more closed memory blocks each including plural pages, and a controller suitable for generating valid page counts (VPCs) for each closed memory block at least two different time points, generating a VPC offset for each closed memory block between the at least two different time points, selecting a source memory block among the closed memory blocks according to the generated VPC offsets, and performing a garbage collection operation to the selected source memory block.
    Type: Grant
    Filed: May 2, 2016
    Date of Patent: June 12, 2018
    Assignee: SK Hynix Inc.
    Inventor: Jong-Min Lee
  • Patent number: 9952787
    Abstract: The disclosed embodiments provide a system for detecting and managing inefficiency in external services. During operation, the system obtains a snapshot of a data stream transmitted over an external service from a computer system at a first time. Next, the system applies a compression technique to the snapshot to obtain a set of inefficiency metrics for a set of data elements in the snapshot. The system then outputs the set of inefficiency metrics with additional attributes of the data stream to improve identification of inefficiency in the data stream.
    Type: Grant
    Filed: May 20, 2016
    Date of Patent: April 24, 2018
    Assignee: Microsoft Technology Licensing, LLC
    Inventors: John W. Nicol, Ritesh Maheshwari, Nicholas P. Baggott, Haricharan K. Ramachandra, Badrinath K. Sridharan
  • Patent number: 9934144
    Abstract: A method for allocating cache for a disk array includes monitoring an I/O distribution of the disk array in a predetermined time period, determining a garbage collection state of the disk array, the garbage collection state allows the disk array to perform a garbage collection and prevents the disk array to perform the garbage collection, and determining an allocation of the cache based on the I/O distribution and the garbage collection state.
    Type: Grant
    Filed: September 18, 2015
    Date of Patent: April 3, 2018
    Assignee: International Business Machines Corporation
    Inventors: Zhengyuan Feng, Xue Dong Gao, Changping Lu, Ming Zhi Zhao
  • Patent number: 9898405
    Abstract: An illustrative embodiment of a computer-implemented method for working set adjustment receives a request to use less heap memory than an original maximum forming a new maximum, and determines whether a garbage collection will move objects in response to the request. Responsive to a determination the garbage collection will move objects, add a first callback triggered by initiation of the garbage collection and invoking a handler for the first callback notifying a memory manager to free objects allocated by balloon. The first callback completes and the garbage collection starts. A handler for a second callback is invoked which notifies the memory manager to allocate balloon objects and frees backing memory to an operating system. Completion of the second call back allows the garbage collection to proceed as usual.
    Type: Grant
    Filed: March 25, 2015
    Date of Patent: February 20, 2018
    Assignee: International Business Machines Corporation
    Inventors: Michael H. Dawson, Charles R. Gracie, Graeme Johnson
  • Patent number: 9830342
    Abstract: A method and associated systems for optimized deduplication of a database stored on multiple tiers of storage devices. A database-deduplication system, upon receiving a request to update a database record, uses memory-resident logs and previously generated database-maintenance tables to identify a first logical block that identifies an updated value, stored in a first physical block of storage, to be used to update a database record and to further identify a second logical block that stores in the database a corresponding existing value of the same record. After determining that the first and second logical blocks reside within the same storage tier, the system directs a deduplication module to associate both logical blocks with the first physical block.
    Type: Grant
    Filed: November 20, 2014
    Date of Patent: November 28, 2017
    Assignee: International Business Machines Corporation
    Inventors: Blaine H. Dolph, Nataraj Nagaratnam, Sandeep R. Patil, Riyazahamad M. Shiraguppi
  • Patent number: 9798655
    Abstract: Flash memory on a flash memory device is virtualized using compression that is native to the flash memory device. Through compression, the flash memory device is used to logically store more data in a virtual address space that is larger than the physical address space of the flash memory device. Physical storage capacity of a flash memory device may prevent further storage of data even when the virtual address space is not fully populated. Because compressibility may vary, the extent to which the virtual address space may be populated before physical storage capacity is reached varies. The approaches for virtual memory described herein rely on the memory device client to monitor when this point is reached. In addition, the memory device client is responsible for freeing space as needed to accommodate subsequent requests to store data in the flash memory.
    Type: Grant
    Filed: March 28, 2014
    Date of Patent: October 24, 2017
    Assignee: Oracle International Corporation
    Inventors: Nilesh Coudhury, Selcuk Aya, Zheren Zhang, Kothanda Umamageswaran, Juan Loaiza
  • Patent number: 9798480
    Abstract: A memory system may include: a data storage unit comprising a first memory device through which data are inputted/outputted through a first channel and a second memory device through which data are inputted/outputted through a second channel, wherein each of the first and second memory devices comprises a plurality of blocks each having multi-level cells (MLCs); and a controller suitable for selecting a first target block among the plurality of blocks of a channel which includes a first victim block and selecting a second target block among the plurality of blocks of a channel of which does not include the first victim block, and separating data of the MLCs included in the first victim block on a level basis and copying the separated data into the first and second target blocks, respectively, during a garbage collection operation.
    Type: Grant
    Filed: June 8, 2016
    Date of Patent: October 24, 2017
    Assignee: SK Hynix Inc.
    Inventor: Jeen Park
  • Patent number: 9778881
    Abstract: A method includes (a) writing blocks of data to a storage device, pluralities of the blocks of data being organized into macroblocks, macroblocks having a first fixed size, pluralities of the macroblocks being organized into segments, segments having a second fixed size, (b) marking some of the written blocks as deleted, (c) computing a ratio of storage marked as deleted (SMD) from a segment and storage written (SW) to the segment (ratio SMD:SW), and (d) in response to the computed ratio exceeding a threshold value, performing a compaction operation on the segment. Performing the compaction operation on the segment includes (1) copying blocks which have not been marked as deleted from within macroblocks that contain at least one block marked as deleted to a new macroblock of the first fixed size and (2) in response to copying, marking the macroblocks from which the blocks were copied as free for reuse.
    Type: Grant
    Filed: June 27, 2014
    Date of Patent: October 3, 2017
    Assignee: EMC IP Holding Company LLC
    Inventor: Alexey Valentinovich Romanovskiy
  • Patent number: 9710372
    Abstract: Systems and methods for virtual machine based huge page balloon support are provided. A guest operating system (OS) receives a request from a hypervisor for guest memory to be made available to a host operating system (OS). The guest OS further receives a huge page size of a host page and a quantity of requested guest memory. The guest OS then allocates unused guest memory and transmits at least one address of the allocated guest memory to the hypervisor, where the allocated guest memory is a contiguous block of memory that is at least the size of the huge page size and aligned to the size of the huge page size.
    Type: Grant
    Filed: August 12, 2015
    Date of Patent: July 18, 2017
    Assignee: Red Hat Israel, Ltd.
    Inventor: Michael Tsirkin
  • Patent number: 9665610
    Abstract: For reducing digests storage consumption in a data deduplication system using a processor device in a computing environment, input data is partitioned into chunks, and the chunks are grouped into chunk sets. Digests are calculated for input data and stored in sets corresponding to the chunk sets. Similarity elements are calculated for the input data and the similarity elements are stored in a similarity search structure, and the number of similarity elements associated with a chunk set which are currently contained in the similarity search structure is maintained for each chunk set.
    Type: Grant
    Filed: July 2, 2015
    Date of Patent: May 30, 2017
    Assignee: INTERNATIONAL BUSINESS MACHINES CORPORATION
    Inventor: Lior Aronovich
  • Patent number: 9658923
    Abstract: According to one embodiment, a method includes initiating a rebuild process in a storage system having at least one solid state drive, obtaining a bitmap indicating which blocks of data are in a garbage collection process, determining which blocks of data are in the garbage collection process using the bitmap, accessing the blocks of data that are not in the garbage collection process, not accessing the blocks of data that are in the garbage collection process, and performing the rebuild process using the blocks of data that are not in the garbage collection process.
    Type: Grant
    Filed: September 30, 2014
    Date of Patent: May 23, 2017
    Assignee: International Business Machines Corporation
    Inventors: Xue Dong Gao, Brian A. Rinaldi, Qian Su, You Wei
  • Patent number: 9652150
    Abstract: A global memory sharing method includes counting, by the sub-operating system, a page replacement rate in a task scheduling period of a predetermined quantity of times, and a memory residence time ratio in a page replacement period; calculating, by the sub-operating system, a memory pressure index according to the page replacement rate and the memory residence time ratio; and if the memory pressure index is greater than a memory pressure threshold, sending, by the sub-operating system, an application to a global memory management service module. According to the forgoing method, in an architecture of multiple operating systems, each sub-operating system can complete much adaptive work, which reduces complexity of the global memory management service module and improves system performance. Meanwhile, a utilization rate of global memory may be improved, and the architecture of the multiple operating systems may have better extensibility.
    Type: Grant
    Filed: June 15, 2015
    Date of Patent: May 16, 2017
    Assignee: Huawei Technologies Co., Ltd.
    Inventors: Chongkang Tan, Gang Lu, Jianfeng Zhan, Lixin Zhang
  • Patent number: 9646067
    Abstract: Described herein are systems and methods for garbage collection prediction. A temporal graph is received, the temporal graph including nodes, the nodes including hash references to objects. An accumulated difference count is updated when a node is added to the temporal graph, the accumulated difference count including a number of hash differences between a parent node and its children nodes in the temporal graph. A divested difference count is updated when a node is removed from the temporal graph, the divested difference count including a number of hash differences referenced by the removed node but not by either a parent node of the removed node or any child nodes of the removed node. The outcome of the garbage collection is predicted based on at least one of the accumulated difference count and the divested difference count.
    Type: Grant
    Filed: May 14, 2014
    Date of Patent: May 9, 2017
    Assignee: Actifio, Inc.
    Inventors: Philip J. Abercrombie, Christopher A. Provenzano, Keith Goldberg
  • Patent number: 9619158
    Abstract: A mechanism is provided for coordinated garbage collection in an array controller of a two-level hierarchical log structured array architecture for a non-volatile memory array. The two-level hierarchical log structured array (LSA) architecture comprises an array-level LSA in the array controller and a node-level LSA in each node of the non-volatile memory array. The array controller writes logical pages of data to containers in memory of the array-level storage controller at node logical block addresses in an array-level LSA. The array-level LSA maps the host logical block addresses to node logical block addresses in a node-level LSA in a plurality of nodes. Responsive to initiating array-level garbage collection in the array controller, the mechanism identifies a first container to reclaim according to a predetermined garbage collection policy.
    Type: Grant
    Filed: December 17, 2014
    Date of Patent: April 11, 2017
    Assignee: International Business Machines Corporation
    Inventors: Robert Haas, Nikolas Ioannou, Ioannis Koltsidas, Roman A. Pletka, Andrew D. Walls
  • Patent number: 9569352
    Abstract: A storage module and method for regulating garbage collection operations based on write activity of a host are disclosed. In one embodiment, a storage module determines whether the host is operating in a burst mode by determining whether write activity of the host over a time period exceeds a threshold. The write activity can comprise one or both of (i) an amount of data received from the host to be written in the storage module and (ii) a number of write commands received from the host. If the host is operating in the burst mode, the storage module limits an amount of garbage collection operations during the burst mode. When the host is no longer operating in the burst mode, the storage module increases an amount of garbage collection operations.
    Type: Grant
    Filed: March 14, 2013
    Date of Patent: February 14, 2017
    Assignee: SanDisk Technologies LLC
    Inventors: Alon Marcu, Amir Shaharabany, Hadas Oshinsky, Adir Moshen HaCohen, Einav Pnina Zilberstein
  • Patent number: 9557925
    Abstract: A computer implemented method, system, and computer program product for use replication comprising parsing a file system containing one or more virtual disks (VMD) to determine what portion of the VMDK is thinly provisioned and ignoring, by the vDPA, initialization IO noted determined to be directed to a portion of the VMD that is thinly provisioned.
    Type: Grant
    Filed: December 29, 2014
    Date of Patent: January 31, 2017
    Assignee: EMC IP HOLDING COMPANY LLC
    Inventor: Assaf Natanzon
  • Patent number: 9552288
    Abstract: Method and apparatus for managing data in a memory. In accordance with some embodiments, a data object is stored in a first non-volatile tier of a multi-tier memory structure. A metadata unit is generated to describe the data object, the metadata unit having a selected granularity. The metadata unit is stored in a different, second non-volatile tier of the multi-tier memory structure responsive to the selected granularity.
    Type: Grant
    Filed: February 8, 2013
    Date of Patent: January 24, 2017
    Assignee: Seagate Technology LLC
    Inventors: Ryan James Goss, Mark Allen Gaertner, Michael Joseph Steiner
  • Patent number: 9529611
    Abstract: Methods, systems, and computer programs for managing memory in a host where virtual machines (VMs) execute are presented. In one example, a method includes an operation for determining which amount of heap memory has been reserved in a Java virtual machine (JVM) that is in excess of the heap memory needed by the JVM. If there is excess heap memory, a Java balloon agent reserves a Java object in the heap memory. Typically, the Java object will be the size of one or more memory pages in the host. Further, the Java balloon agent loads the Java object with a certain value, for example, by zeroing out the page of memory. When a virtual machine monitor (VMM) in the host detects that a machine physical memory page associated with the Java object has the first value, then the VMM frees the machine physical memory page to make the memory available to other VMs or to other processes executing in the host.
    Type: Grant
    Filed: December 23, 2014
    Date of Patent: December 27, 2016
    Assignee: VMware, Inc.
    Inventors: Richard McDougall, Wei Huang, Benjamin J. Corrie
  • Patent number: 9514137
    Abstract: Disclosed is a method for hybrid garbage collection of objects in a file system. An example method includes associating, with each object in the file system, a reference counter, an expiration time, and a version identifier. The object is can be kept in the file system while the reference counter of the object is non-zero. After determining that the reference counter of the object is zero, the object can be kept in the file system up to the expiration time associated with the object. When a reference referring to the object is deleted, the expiration time of the object is updated to the latest of the expiration times of the object and the reference. Furthermore, the object can be kept in the file system while the version identifier of the object is larger than a predetermined version number.
    Type: Grant
    Filed: June 12, 2014
    Date of Patent: December 6, 2016
    Assignee: Exablox Corporation
    Inventors: Frank Barrus, Tad Hunt
  • Patent number: 9460008
    Abstract: A log-structured data store may implement efficient garbage collection. Log records may be maintained in data blocks according to a log record sequence. Based, at least in part, on a log reclamation point, the log records may be evaluated to identify data blocks to reclaim that have log records in the log sequence prior to the log reclamation point. New versions of data pages updated by log records in the identified data blocks may be generated and stored in base page storage for the log structured data store. The identified data blocks may then be reclaimed for storing new data.
    Type: Grant
    Filed: September 20, 2013
    Date of Patent: October 4, 2016
    Assignee: Amazon Technologies, Inc.
    Inventors: Yan Valerie Leshinsky, James McClellan Corey, Samuel James McKelvie, Oscar Ricardo Moll Thomae, Pradeep Jnana Madhavarapu
  • Patent number: 9454327
    Abstract: Data storage using application storage analytics that: (i) runs a set of application(s) that use a thin provision data storage device for data storage; (ii) determines a set of runtime behavior(s) of the set of applications(s) with respect to use of the thin provisioning data storage device for data storage; and (iii) calculates a runtime representation capacity based on a predetermined over-provisioning ratio and the set of runtime behavior(s).
    Type: Grant
    Filed: August 29, 2014
    Date of Patent: September 27, 2016
    Assignee: International Business Machines Corporation
    Inventors: Sandeep R. Patil, Riyazahamad M. Shiraguppi, Gandhi Sivakumar, Matthew B. Trevathan
  • Patent number: 9430377
    Abstract: A storage device made up of multiple storage media is configured such that one such media serves as a cache for data stored on another of such media. The device includes a controller configured to manage the cache by consolidating information concerning obsolete data stored in the cache with information concerning data no longer desired to be stored in the cache, and erase segments of the cache containing one or more of the blocks of obsolete data and the blocks of data that are no longer desired to be stored in the cache to produce reclaimed segments of the cache.
    Type: Grant
    Filed: February 24, 2016
    Date of Patent: August 30, 2016
    Assignee: Nimble Storage, Inc.
    Inventor: Umesh Maheshwari
  • Patent number: 9342247
    Abstract: Dynamic allocation of memory in a hybrid system is provided. In particularly, a method and system is provided to leverage a hybrid infrastructure for dynamic memory allocation and persistent file storage. The method includes a method comprises dynamically allocating a file or its part or to cache a file or its part between different storage technologies and respective memory technologies in a hybrid infrastructure.
    Type: Grant
    Filed: August 27, 2015
    Date of Patent: May 17, 2016
    Assignee: INTERNATIONAL BUSINESS MACHINES CORPORATION
    Inventors: Bhushan P. Jain, Sandeep R. Patil, Sri Ramanathan, Gandhi Sivakumar, Matthew B. Trevathan
  • Patent number: 9298608
    Abstract: The various implementations described herein include systems, methods and/or devices used to enable biasing for wear leveling in storage systems. In one aspect, the method includes (1) determining, for each erase unit of a plurality of erase units in the storage medium, an age metric, (2) determining a representative age metric of the plurality of erase units, (3) for each respective erase unit of the plurality of erase units, biasing a respective garbage collection control metric for the respective erase unit in accordance with the age metric of the respective erase unit in relation to the representative age metric of the plurality of erase units to generate an adjusted garbage collection control metric for the respective erase unit, and (4) performing garbage collection for the storage medium in accordance with the adjusted garbage collection control metrics of the plurality of erase units.
    Type: Grant
    Filed: December 20, 2013
    Date of Patent: March 29, 2016
    Assignee: SANDISK ENTERPRISE IP LLC
    Inventors: James Fitzpatrick, James Higgins
  • Patent number: 9286104
    Abstract: A method, system and computer program product for selecting virtual machines to be migrated. The page consumption is monitored and recorded for each virtual machine running on a physical machine in a cloud computing node. Those virtual machines with a positive gradient of page consumption that is less than a threshold are placed in a list of virtual machines to be ranked. The virtual machines in the list are ranked based on an increasing order of the relative page consumption value at each sample interval within an observation window of time. A final rank for each virtual machine in the list is computed based on averaging its ranking across each sample interval within the observation window of time. One or more virtual machines are then selected to be migrated to another physical machine that have the lowest final ranking (i.e., with the lowest relative page consumption values).
    Type: Grant
    Filed: January 5, 2015
    Date of Patent: March 15, 2016
    Assignee: International Business Machines Corporation
    Inventors: Rahul Ghosh, Ivan M. Heninger, Saju Mathew, Aaron J. Quirk
  • Patent number: 9262430
    Abstract: A IO handler receives a write command including write data that is associated with a LBA. The IO handler reserves a deduplication ID according to the LBA with which the write data is associated, within the scope of each LBA, each deduplication ID is unique. The IO handler computes a hash value for the write data. In case a deduplication database does not include an entry which is associated with the hash value, the IO handler: provides a reference key which is a combination of the LBA and the deduplication ID; adds to the deduplication database an entry which is uniquely associated with the hash value and references the reference key; and adds to a virtual address database an entry, including: the reference key; a reference indicator indicating if there is an entry that is associated with the present entry; and a pointer to where the write data is stored.
    Type: Grant
    Filed: November 22, 2012
    Date of Patent: February 16, 2016
    Assignee: Kaminario Technologies Ltd.
    Inventors: Doron Tal, Eyal Gordon
  • Patent number: 9256528
    Abstract: A method for operating a memory controller includes determining a number of free blocks to be created during an idle time by using a block consumption history, and controlling a non-volatile memory device to perform a garbage collection operation during the idle time to create the determined number of free blocks.
    Type: Grant
    Filed: August 8, 2013
    Date of Patent: February 9, 2016
    Assignees: SAMSUNG ELECTRONICS CO., LTD., RESEARCH & BUSINESS FOUNDATION SUNGKYUNKWAN UNIVERSITY
    Inventors: Dong Young Seo, Dong Kun Shin
  • Patent number: 9164899
    Abstract: A computing system includes a number of memory modules and temperature sensors. Each temperature sensor measures a temperature of a memory module. In such a computing system a garbage collector during garbage collection, determines whether a temperature measurement of a temperature sensor indicates that a memory module is overheated and, if a temperature measurement of a temperature sensor indicates a memory module is overheated, the garbage collector reallocates one or more active memory regions on the overheated memory module to a non-overheated memory module. Reallocating the active memory regions includes copying contents of the active memory regions from the overheated memory module to the non-overheated memory module.
    Type: Grant
    Filed: December 11, 2012
    Date of Patent: October 20, 2015
    Assignee: International Business Machines Corporation
    Inventors: Cary L. Bates, Nicholas P. Johnson, Justin K. King
  • Patent number: 9164898
    Abstract: A computing system includes a number of memory modules and temperature sensors. Each temperature sensor measures a temperature of a memory module. In such a computing system a garbage collector during garbage collection, determines whether a temperature measurement of a temperature sensor indicates that a memory module is overheated and, if a temperature measurement of a temperature sensor indicates a memory module is overheated, the garbage collector reallocates one or more active memory regions on the overheated memory module to a non-overheated memory module. Reallocating the active memory regions includes copying contents of the active memory regions from the overheated memory module to the non-overheated memory module.
    Type: Grant
    Filed: September 9, 2011
    Date of Patent: October 20, 2015
    Assignee: International Business Machines Corporation
    Inventors: Cary L. Bates, Nicholas P. Johnson, Justin K. King
  • Patent number: 9131263
    Abstract: Described herein are techniques for managing content stored on a distributed network. Content is initially placed onto the network and populated across one or more nodes. The content is distributed in association with decay parameters that define a lifetime for the population of the content on the network. Various communication nodes of the distributed network are configured to process the content decay parameters to determine whether to delete the content during subsequent time periods.
    Type: Grant
    Filed: July 9, 2010
    Date of Patent: September 8, 2015
    Assignee: Sling Media, Inc.
    Inventors: Vikram Dham, Ilya Asnis
  • Patent number: 9092475
    Abstract: A plurality of transactions in a data storage application are executed during which log entries according to the plurality of transactions are stored in a plurality of log buffers. The log entries are sequentially written into a current log buffer and the plurality of log buffers are written to a plurality of log partitions according to a round-robin distribution. Thereafter, in response to a data recovery event, a sequential list of the log entries in the log buffers are assembled to generate a log that can be used for data recovery by the data storage application. Related apparatus, systems, techniques and articles are also described.
    Type: Grant
    Filed: November 7, 2011
    Date of Patent: July 28, 2015
    Assignee: SAP SE
    Inventor: Ivan Schreter
  • Patent number: 9075818
    Abstract: Object store management operations within compute-centric object stores are provided herein. An exemplary method may include transforming an object storage dump into an object store table by a table generator container, wherein the object storage dump includes at least objects within an object store that are marked for deletion, transmitting records for objects from the object store table to reducer containers, such that each reducer container receives object records for at least one object, the object records comprising all object records for the at least one object, generating a set of cleanup tasks by the reducer containers, and executing the cleanup tasks by a cleanup agents.
    Type: Grant
    Filed: April 2, 2014
    Date of Patent: July 7, 2015
    Assignee: Joyent, Inc.
    Inventors: Mark Cavage, Nathan Fitch, Fred Kuo, Yunong Xiao, David Pacheco, Bryan Cantrill
  • Patent number: 9043285
    Abstract: A method of classifying data is disclosed. Text data items are received. A set of classes into which the text data items are to be classified is received. A phrase-based classifier to classify the text data items into the set of classes is selected. The phrase-based classifier is applied to classify the text data items into the classes. Here, the applying includes creating a controlled vocabulary pertaining to classifying the text data items into the set of classes, building phrases based on the text data items and the controlled vocabulary, and classifying the text data items into the set of classes based on the phrases.
    Type: Grant
    Filed: February 9, 2012
    Date of Patent: May 26, 2015
    Assignee: LinkedIn Corporation
    Inventor: Ron Bekkerman