Garbage Collection, I.e., Reclamation Of Unreferenced Memory (epo) Patents (Class 711/E12.009)
  • Publication number: 20110010490
    Abstract: A solid state drive (SSD) comprises an input/output interface and a memory controller. The input/output interface stores a plurality of input/output commands. The memory controller comprises first and second input/output contexts and an input/output scheduler. The first and second input/output contexts process input/output commands from the input/output interface in an alternating sequence. The input/output scheduler schedules operations of the first and second input/output contexts. In particular, the input/output scheduler suspends execution of a first input/output command by the first input/output context upon determining that an execution time of the first input/output command exceeds an interval before a deadline time. After suspending execution of the first input/output command, the input/output scheduler transmits a second input/output command to the second input/output context.
    Type: Application
    Filed: June 22, 2010
    Publication date: January 13, 2011
    Applicant: SAMSUNG ELECTRONICS CO., LTD.
    Inventors: Mincheol KWON, Dong jun SHIN, Sun-Mi YOO
  • Patent number: 7853627
    Abstract: A technique for establishing a dense prefix for a memory in a computer system. Memory is divided into a plurality of chunks. An efficiency factor is generated for each chunk in one or more chunks contained in the plurality of chunks. The efficiency factor may be based on an amount of memory to be reclaimed, an amount of memory to be scanned and an amount of memory to be copied relative to the chunk. A dense prefix is then established for the memory based on an efficiency factor associated with a chunk.
    Type: Grant
    Filed: March 20, 2007
    Date of Patent: December 14, 2010
    Assignee: Oracle America, Inc.
    Inventors: Antonios Printezis, John W. Coomes
  • Patent number: 7849272
    Abstract: A method for dynamically managing memory to support one or more processes executing in a remote direct memory access (RDMA) environment is provided. The method includes inserting a descriptor in a shared descriptor table, the descriptor corresponding to a block of memory allocated to a heap by an operating system. The method further includes, in response to allocating a portion of the block of memory from the heap to a process, determining whether the process has an existing registration with an application program interface for the block of memory. If the process has no existing registration, registering the process the process is registered with the application program interface and a registration corresponding to the block of memory is stored in a private registration table of the process.
    Type: Grant
    Filed: December 17, 2007
    Date of Patent: December 7, 2010
    Assignee: International Business Machines Corporation
    Inventors: David Kalmuk, Jack Hon Wai Ng, Hebert Walter Pereyra
  • Publication number: 20100306452
    Abstract: Disclosed is a storage system. The storage system includes a redundant array of inexpensive disks (RAID) controller. The RAID controller includes a flash memory controller coupled to a flash memory. The flash memory controller may perform background management tasks. These include logging and error reporting, address translation, cache table management, bad block management, defect management, wear leveling, and garbage collection. The array controller also allows the flash memory to be divided into multiple mappings.
    Type: Application
    Filed: June 2, 2009
    Publication date: December 2, 2010
    Inventors: Bret S. Weber, Timothy E. Hoglund, Robert E. Ober
  • Publication number: 20100287216
    Abstract: A method of efficiently allocating space for copied objects during garbage collection by grouping many objects together, and after determining which objects belong to a group, allocating space for them in one unit and copying the objects to the allocated space (possibly in parallel).
    Type: Application
    Filed: May 7, 2009
    Publication date: November 11, 2010
    Applicant: TATU YLONEN OY LTD
    Inventor: Tatu J. Ylonen
  • Publication number: 20100287352
    Abstract: Disclosed is a method and computer program product to track allocation of a plurality of objects in a heap. A data processing system, during an object allocation, prevents an object from being moved to another place in memory or being deleted. The data processing system prevents such activity concurrently with garbage collection on a second object not currently being allocated. The data processing system notifies a profiler of object information based on the object allocation via a callback function, wherein object information is a one-to-one mapping of the object address. The data processing system revives garbage collector processing of the object.
    Type: Application
    Filed: May 5, 2009
    Publication date: November 11, 2010
    Applicant: INTERNATIONAL BUSINESS MACHINES CORPORATION
    Inventors: Graham A. Chapman, Scott T. Jones, Maciek Klimkowski, Frank E. Levine, Milena Milenkovic
  • Publication number: 20100274947
    Abstract: In a virtual machine system built from a plurality of virtual machines, the utilization efficiency of utilized physical memory is raised. A memory management method in which a virtual machine environment, constituted by having one or several virtual machines and a hypervisor part for operating the same virtual machines, is built on a physical machine and in which: a virtual machine operates an allocation processing part and an application part, application part making a physical memory processing part allocate unallocated physical memory to a memory area and allocation processing part transmitting, when unallocated physical memory is scarce, an instruction for the release, from memory areas utilized by each application part, of memory pages for which physical memory is assigned but not used.
    Type: Application
    Filed: February 10, 2010
    Publication date: October 28, 2010
    Inventors: Tomoya Ohta, Ryozo Yamashita, Hiroyasu Nishiyama
  • Publication number: 20100268881
    Abstract: A method to associate a storage policy with a cache region is disclosed. In this method, a cache region associated with an application is created. The application runs on virtual machines, and where a first virtual machine has a local memory cache that is private to the first virtual machine. The first virtual machine additionally has a shared memory cache that is shared by the first virtual machine and a second virtual machine. Additionally, the cache region is associated with a storage policy. Here, the storage policy specifies that a first copy of an object to be stored in the cache region is to be stored in the local memory cache and that a second copy of the object to be stored in the cache region is to be stored in the shared memory cache.
    Type: Application
    Filed: July 7, 2010
    Publication date: October 21, 2010
    Inventors: Galin Galchev, Frank Kilian, Oliver Luik, Dirk Marwinski, Petio G. Petev
  • Publication number: 20100268872
    Abstract: A data storage system comprising a storage device comprising at least one nonvolatile memory, and a controller connected to the storage device through a channel. The memory controller sends part or all of a command, address and data for a next operation to the nonvolatile memory while the nonvolatile memory device is in a busy state. The memory controller then performs a background operation while the nonvolatile memory device remains in the busy state.
    Type: Application
    Filed: April 19, 2010
    Publication date: October 21, 2010
    Applicant: SAMSUNG ELECTRONICS CO., LTD.
    Inventors: Dong Jin LEE, Taek-Sung KIM, Kwang Ho KIM, Seong Sik HWANG, Hyuck-Sun KWON
  • Patent number: 7818495
    Abstract: This storage device performs deduplication of eliminating duplicated data by storing a logical address of one or more corresponding logical unit memory areas in a prescribed management information storage area of a physical unit memory area defined in the storage area provided by the flash memory chip, and executes a reclamation process of managing a use degree as the total number of the logical addresses used stored in the management information storage area and a duplication degree as the number of valid logical addresses corresponding to the physical unit memory area for each of the physical unit memory areas, and returning the physical unit memory area to an unused status when the difference of the use degree and the duplication degree exceeds a default value in the physical unit memory area.
    Type: Grant
    Filed: January 28, 2008
    Date of Patent: October 19, 2010
    Assignee: Hitachi, Ltd.
    Inventors: Katsuya Tanaka, Shuji Nakamura, Makio Mizuno
  • Publication number: 20100262766
    Abstract: A method of formatting a data storage device that includes a plurality of flash memory chips includes monitoring a failure rate of memory blocks of one or more flash memory chips of a storage device that has a first usable size for user space applications, estimating a future usable size of the data storage device based on the monitored failure rate, and defining, via a host coupled to the data storage device, a second usable size of the data storage device for user space applications based on the monitored failure rate.
    Type: Application
    Filed: April 7, 2010
    Publication date: October 14, 2010
    Applicant: GOOGLE INC.
    Inventors: Robert Stevan Sprinkle, Albert T. Borchers, Andrew Timothy Swing
  • Publication number: 20100257331
    Abstract: Storage expansion for a virtual machine operating system is reduced. In one embodiment, virtual machines are run on a host and accessed by remote clients over a network. When a guest operating system on one of the virtual machines deletes a file, a VM storage manager on the host detects a special write performed by the guest operating system that writes zeros into a logical block of the file. The VM storage manager links the logical block to a designated block, and de-allocates the disk block that is mapped to the logical block. The de-allocation allows the disk block to be reused by the virtual machines.
    Type: Application
    Filed: April 6, 2009
    Publication date: October 7, 2010
    Inventor: Shahar Frank
  • Publication number: 20100251263
    Abstract: Methods, systems, and computer-readable media are disclosed for monitoring a distributed application. A particular method identifies a plurality of components of a distributed application. The method also identifies a specific technology associated with a particular component and attaches a technology specific interceptor to the particular component based on the identified specific technology. The method includes intercepting messages that are sent by or received by the particular component using the technology specific interceptor. At least one potential work item is generated based on the intercepted messages. The method includes determining whether to schedule the at least one potential work item for execution based on a predicted impact of the at least one work potential item on performance of the distributed application.
    Type: Application
    Filed: March 24, 2009
    Publication date: September 30, 2010
    Applicant: Microsoft Corporation
    Inventors: Alexandre A. Coelho, Venkata Seshu Kumar Kurapati, Ilarie G. Letca, Ashvinkumar J. Sanghvi, Dhananjay M. Mahajan, Rajeev Sudhakar, Anandha K. Ganesan
  • Publication number: 20100241786
    Abstract: An apparatus and method for managing memory in low-end electronic devices is provided. The apparatus includes a memory management unit. The memory management unit configured to allocate a portion of random access memory and a portion of flash memory as swap areas. The memory management unit performs swapping operations by swapping pages of content between the random access memory swap area and one or more blocks of the flash memory swap area. Thereafter, a page of content can be loaded from the flash memory swap area. The memory management unit also allocates a portion of flash memory as a garbage collection area. The memory management unit transfers dirty pages from the flash swap area to the garbage collection unit to free up flash memory swap area blocks.
    Type: Application
    Filed: March 19, 2009
    Publication date: September 23, 2010
    Applicant: Samsung Electronics, Co., Ltd.
    Inventors: Satpreet Singh, Fan Zhang
  • Publication number: 20100228802
    Abstract: Systems and methods responsive to a data file deletion instruction are disclosed. A method includes receiving an instruction to delete a data file. The data file is stored at a plurality of persistent memory cells of a memory. The memory also stores a directory that includes a first entry corresponding to the data file. In response to receiving the instruction to delete the data file, multiple attribute bits of the first entry are programmed and also a first bit of the first entry is programmed. The first bit of the first entry is distinct from the multiple attribute bits. Programming the multiple attribute bits converts the first entry from a first entry type to a second entry type. Programming the first bit of the first entry indicates that the first entry has an unused status.
    Type: Application
    Filed: March 9, 2009
    Publication date: September 9, 2010
    Applicant: SANDISK IL LTD.
    Inventors: DONALD RAY BRYANT-RICH, TAL SAGY
  • Publication number: 20100223441
    Abstract: Chunks are stored in a container of a data store, where the chunks are produced by dividing input data as part of a deduplication process. In response to determining that the size of the container has reached a predefined size threshold, at least one of the chunks in the container is moved to another container.
    Type: Application
    Filed: May 11, 2010
    Publication date: September 2, 2010
    Inventors: MARK DAVID LILLIBRIDGE, Deepavali Mahendra Bhagwat, Peter Thomas Camble, Gregory Trezise
  • Publication number: 20100217947
    Abstract: Some embodiments of discontiguous object addressing have been presented. In one embodiment, a set of objects, each having one or more properties, are stored in a memory of a computer system. The memory is divided into chunks. The properties of at least one of the objects are stored in discontiguous chunks of the memory. Furthermore, a processor in the computer system may independently access the individual properties in the discontiguous chunks of memory.
    Type: Application
    Filed: February 26, 2009
    Publication date: August 26, 2010
    Inventor: James P. Schneider
  • Publication number: 20100191901
    Abstract: A memory controller, a non-volatile storage device, a host device, and a non-volatile storage system capable of performing real-time recording even in the case where normal data and file management information/auxiliary information are written in alternating manner are provided. The host device (2) issues a memory management command before the start, after the end, or both before and after the start and end of real-time recording. When the non-volatile storage device (1) receives the memory management command, an internal memory controller (11) clears memory control information and performs garbage collection as necessary.
    Type: Application
    Filed: July 28, 2009
    Publication date: July 29, 2010
    Inventor: Masayuki Toyama
  • Publication number: 20100169542
    Abstract: A method and system writes data to a memory device including dynamic assignment of logical block addresses (LBAs) to physical write blocks. The method includes receiving a request to write data for a logical block address within an LBA range to the memory device. The method assigns the LBA range to a particular write block exclusively or non-exclusively, depending on the existence of previously assigned write blocks and the availability of unwritten blocks. A data structure may be utilized to record the recent usage of blocks for assigning non-exclusive write blocks. An intermediate storage area may be included that implements the dynamic assignment of LBA ranges to physical write blocks. Data in the intermediate storage area may be consolidated and written to the main storage area. Lower fragmentation and write amplification ratios may result by using this method and system.
    Type: Application
    Filed: December 30, 2008
    Publication date: July 1, 2010
    Inventor: Alan W. Sinclair
  • Publication number: 20100153475
    Abstract: Apparatus, systems, and methods are disclosed that operate to monitor the occurrence of memory garbage collection events and node content service requests, to determine a correlation between the node content service requests and the memory garbage collection events, and to report information associated with suspicious ones of the node content service requests. Suspicious requests may be identified as those that satisfy a preselected criteria associated with the correlation. Additional apparatus, systems, and methods are disclosed.
    Type: Application
    Filed: December 16, 2008
    Publication date: June 17, 2010
    Applicant: SAP AG
    Inventors: Albert Zedlitz, Jean Baptiste Doudia
  • Publication number: 20100153644
    Abstract: A system, method and program product for providing an on demand Java application manager. A system is provided that includes: a bootstrap system for setting up a cache within a local storage and pointing to at least one application at a network resource; a class loader that loads class files for a selected application into the JVM in an on demand fashion, wherein the class loader searches for a requested class file initially in the cache and if not present downloads the requested class file from the network resource to the cache; and a disk management system that manages storage space in the cache, wherein the disk management system includes a facility for discarding class files from the cache.
    Type: Application
    Filed: January 7, 2009
    Publication date: June 17, 2010
    Inventors: Frederic J. Bauchot, Gerard Marrniqere, Joaquin Picon, Vincent Tassy
  • Publication number: 20100138460
    Abstract: A method and a computer readable article of manufacture for controlling memory power consumption on a computer. The method includes a memory having a power saving mode and performs a garbage collection for collecting no-longer-needed objects in groups the no-longer-needed objects being allocated to memory blocks obtained by dividing a memory's address space by a predetermined constant size. The method includes the steps of dividing a heap area of the memory into a number of sub-heap areas; managing the sub-heap areas; and changing the number of sub-heap areas used for garbage collection based on a magnitude correlation between a required time for the garbage collection and a predefined target value.
    Type: Application
    Filed: November 20, 2009
    Publication date: June 3, 2010
    Applicant: INTERNATIONAL BUSINESS MACHINES CORPORATION
    Inventor: Takeshi Ogasawara
  • Patent number: 7730016
    Abstract: Techniques for memory management or analysis with conservative garbage collectors is provided. The native stack is analyzed during runtime to identify within frames references to objects in the heap space. An amount of memory is calculated that represents the memory implicated by the reference. A log can be generated that conveys the frame, location of the reference in the frame and amount of memory implicated by the reference.
    Type: Grant
    Filed: January 31, 2005
    Date of Patent: June 1, 2010
    Assignee: Oracle International Corporation
    Inventors: Robert Lee, Harlan Sexton, Peter Benson
  • Publication number: 20100077172
    Abstract: A method of managing memory, and a system implementing the method, are disclosed herein. In one embodiment according to the invention, the method comprises the step of allocating a first space, a first semi-space and a second semi-space of a memory unit. The first space has a first space size, and the first and second semi-spaces have a semi-space size. The first object is transformed into a plurality of elements and a spine containing pointers to the plurality of elements. The plurality of elements are stored in the first space and the spine in one of the first semi-space and the second semi-space. First memory portions of the first space are reclaimed using a mark-sweep policy and second memory portions of one of the first semi-space and the second semi-space are reclaimed using a moving policy.
    Type: Application
    Filed: September 22, 2009
    Publication date: March 25, 2010
    Inventor: Filip Pizlo
  • Publication number: 20090327377
    Abstract: Copying or compacting performance in garbage collection is improved by copying a first memory area (preferably comprising multiple objects) to a second memory area without traversing individual objects in the copied memory area and adjusting all copied memory locations identified as pointers in a metadata data structure. An entire linearized subgraph of the object graph can be copied at a time.
    Type: Application
    Filed: June 23, 2009
    Publication date: December 31, 2009
    Applicant: Tatu Ylonen Oy Ltd
    Inventor: Tatu J. Ylonen
  • Publication number: 20090319720
    Abstract: In a particular embodiment, a controller is adapted to perform a garbage collection operation to remove redundant data, to predict a performance parameter associated with performance of the garbage collection operation, and to abort the garbage collection operation when the predicted performance parameter exceeds a threshold.
    Type: Application
    Filed: June 20, 2008
    Publication date: December 24, 2009
    Applicant: Seagate Technology LLC
    Inventors: Stefanus Stefanus, Feng Shen, Wei Loon Ng
  • Publication number: 20090271460
    Abstract: A memory management method and a system for performing garbage collection. The method includes the steps of providing in a memory space a heap partitioned into a plurality of areas including an area for object allocation and a To area for future object allocation. In garbage collection, an object reachable from a root set among objects allocated in the area of use is copied into the To area. In addition, a finalizable object among the objects allocated in the area of use is set as a finalization target. Here, the finalizable object is an object unreachable from the root set and has a finalize method. After the garbage collection is completed, the finalizable object of finalization target allocated in the area of use is finalized.
    Type: Application
    Filed: April 27, 2009
    Publication date: October 29, 2009
    Inventor: Hiroshi Inoue
  • Publication number: 20090265508
    Abstract: A re-programmable non-volatile memory system, such as a flash EEPROM system, having its memory cells grouped into blocks of cells that are simultaneously erasable is operated to perform memory system housekeeping operations in the foreground during execution of a host command, wherein the housekeeping operations are unrelated to execution of the host command. Both one or more such housekeeping operations and execution of the host command are performed within a time budget established for executing that particular command. One such command is to write data being received to the memory. One such housekeeping operation is to level out the wear of the individual blocks that accumulates through repetitive erasing and re-programming.
    Type: Application
    Filed: June 29, 2009
    Publication date: October 22, 2009
    Inventors: Alan David Bennett, Sergey Anatolievich Gorobets, Andrew Tomlin, Charles Schroter
  • Publication number: 20090248763
    Abstract: A method for operating a computer storage system maintains a client computer interacting with the storage system, the client computer storing data on a data storage device of the computer storage system. Locating, by a client-side agent executing on the client computer that examines metadata of the client computer, one or more sets of blocks allocated and then deleted, hereinafter referred to as deleted blocks, within the computer storage system. Sending a command to the storage system, the command to identify the deleted blocks within the computer storage system. Deallocating, in response to receiving the command, the identified deleted blocks within the computer storage system.
    Type: Application
    Filed: May 26, 2009
    Publication date: October 1, 2009
    Inventors: Vijayan Rajan, David Brittain Bolen, Douglas P. Doucette
  • Publication number: 20090222802
    Abstract: A system and method is provided for efficiently pinning references to the managed heap. The system and method allow for references to managed objects to be declared as pinned during a call to unmanaged code. The references are then reported as pinned to a garbage collector in response to invocation of a garbage collection service. The reference can be declared as pinned by a programmer within the source code or automatically invoked at run-time based on an unsafe condition. The garbage collection service will not move or relocate objects that are referenced by the active pinned local variables. If a garbage collection does not occur, the fact that the local variables are declared pinned is ignored.
    Type: Application
    Filed: May 12, 2009
    Publication date: September 3, 2009
    Applicant: MICROSOFT CORPORATION
    Inventors: Patrick H. Dussud, Vance P. Morrison
  • Publication number: 20090204650
    Abstract: A method and apparatus for removing duplicated data in a file system utilizing copy-on-write storage tiers. A synthetic namespace is created via file virtualization, and is comprised of one or more file systems. Deduplication is applied at the namespace level and on all of the file systems comprising the synthetic namespace. A set of storage policies selects a set of files from the namespace that become the candidates for deduplication. The entire chosen set is migrated to a Copy-On-Write (COW) storage tier. This Copy-On-Write storage tier may be a virtual storage tier that resides within another physical storage tier (such as tier-1 or tier-2 storage). Each file stored in a Copy-On-Write storage tier is deduped, regardless of whether there is any file with identical contents in the set or in the COW storage tier. After deduplication, the deduped file becomes a sparse file where all the files storage space is reclaimed while all the file's attributes, including size, remain.
    Type: Application
    Filed: November 11, 2008
    Publication date: August 13, 2009
    Applicant: ATTUNE SYSTEMS, INC.
    Inventors: Thomas K. Wong, Ron S. Vogel
  • Patent number: 7516291
    Abstract: System, method and computer program product for allocating physical memory to processes. The method includes enabling a kernel to free memory in a physical memory space corresponding to arbitrarily sized memory allocations released by processes or applications in a virtual memory space. After freeing the memory, the system determines whether freed physical memory in the physical memory space spans one or more fixed size memory units (e.g., page frames). The method further includes designating a status of the one or more page frames as available for reuse; the freed page frames marked as available for reuse being available for backing a new process without requiring the kernel to delete data included in the freed memory released by the process.
    Type: Grant
    Filed: November 21, 2005
    Date of Patent: April 7, 2009
    Assignee: Red Hat, Inc.
    Inventors: Henri Han van Riel, Adriaan D M van de Ven
  • Patent number: 7509360
    Abstract: In accordance with the present invention a process is provided for allocating and deallocating resources in a distributed processing system having a requester platform and a server platform. The process involves receiving a request from the requestor platform referring to a system resource and specifying a requested lease period, permitting shared access to the system resource for a lease period, sending a return call to the requestor platform advising of the lease period, and deallocating the system resource when the lease period expires.
    Type: Grant
    Filed: July 12, 2004
    Date of Patent: March 24, 2009
    Assignee: Sun Microsystems, Inc.
    Inventors: Ann M. Wollrath, James H. Waldo, Roger Riggs
  • Publication number: 20090006505
    Abstract: A method that allows use of a memory page dirty bit by a number of modules.
    Type: Application
    Filed: July 8, 2005
    Publication date: January 1, 2009
    Inventors: Roque Scheer, Luciano Andre Stertz
  • Publication number: 20080065842
    Abstract: A system and method for detecting memory leaks in a garbage collected environment. In particular, the present invention provides a mechanism by which objects in the memory space of a virtual machine are analyzed as to whether they are warm or cold, i.e., how long they have persisted in memory without being accessed or referenced by another object. Following this analysis, the objects are clustered into groups of warm or cold objects, and any links from warm clusters to cold clusters are determined. This information is then provided to the software developer for use in detecting and analyzing potential memory leaks.
    Type: Application
    Filed: November 5, 2007
    Publication date: March 13, 2008
    Applicant: BEA SYSTEMS, INC.
    Inventors: Joakim Dahlstedt, Peter Lonnebring, Mikael Vidstedt