Garbage Collection, I.e., Reclamation Of Unreferenced Memory (epo) Patents (Class 711/E12.009)
  • Patent number: 8626991
    Abstract: A method, computer program product, and computing system for dividing a physical memory device into at least a first logical memory device and a second logical memory device. The physical memory device includes a plurality of physical memory elements. A first portion of the plurality of physical memory elements is assigned to the first logical memory device. A second portion of the plurality of physical memory elements is assigned to the second logical memory device.
    Type: Grant
    Filed: June 30, 2011
    Date of Patent: January 7, 2014
    Assignee: EMC Corporation
    Inventor: Robert W. Beauchamp
  • Patent number: 8621150
    Abstract: Mechanisms are provided for data placement optimization during runtime of a computer program. The mechanisms detect cache misses in a cache of the data processing system and collect cache miss information for objects of the computer program. Data context information is generated for an object in an object access sequence of the computer program. The data context information identifies one or more additional objects accessed as part of the object access sequence in association with the object. The cache miss information is correlated with the data context information of the object. Data placement optimization is performed on the object, in the object access sequence, with which the cache miss information is associated. The data placement optimization places connected objects in the object access sequence in close proximity to each other in a memory structure of the data processing system.
    Type: Grant
    Filed: April 9, 2010
    Date of Patent: December 31, 2013
    Assignee: International Business Machines Corporation
    Inventors: Mauricio J. Serrano, Xiaotong Zhuang
  • Patent number: 8621145
    Abstract: Described is a technique for managing the content of a nonvolatile solid-state memory data cache to improve cache performance while at the same time, and in a complementary manner, providing for automatic wear leveling. A modified circular first-in first-out (FIFO) log/algorithm is generally used to determine cache content replacement. The algorithm is used as the default mechanism for determining cache content to be replaced when the cache is full but is subject to modification in some instances. In particular, data are categorized according to different data classes prior to being written to the cache, based on usage. Once cached, data belonging to certain classes are treated differently than the circular FIFO replacement algorithm would dictate. Further, data belonging to each class are localized to designated regions within the cache.
    Type: Grant
    Filed: January 29, 2010
    Date of Patent: December 31, 2013
    Assignee: NetApp, Inc.
    Inventors: Jeffrey S. Kimmel, Randy Pafford, Rajesh Sundaram
  • Patent number: 8621172
    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: Grant
    Filed: May 26, 2009
    Date of Patent: December 31, 2013
    Assignee: NetApp, Inc.
    Inventors: Vijayan Rajan, David Brittain Bolen, Douglas P. Doucette
  • Publication number: 20130318290
    Abstract: A computing device is provided and includes a memory module, a sweep engine, a root snapshot module, and a trace engine. The memory module has a memory implemented as at least one hardware circuit. The memory module uses a dual-ported memory configuration. The sweep engine includes a stack pointer. The sweep engine is configured to send a garbage collection signal if the stack pointer falls below a specified level. The sweep engine is in communication with the memory module to reclaim memory. The root snapshot engine is configured to take a snapshot of roots from at least one mutator if the garbage collection signal is received from the sweep engine. The trace engine receives roots from the root snapshot engine and is in communication with the memory module to receive data.
    Type: Application
    Filed: May 23, 2012
    Publication date: November 28, 2013
    Applicant: INTERNATIONAL BUSINESS MACHINES CORPORATION
    Inventors: David F. Bacon, Perry S. Cheng, Sunil K. Shukla
  • Patent number: 8578120
    Abstract: Described in detail herein are systems and methods for single instancing blocks of data in a data storage system. For example, the data storage system may include multiple computing devices (e.g., client computing devices) that store primary data. The data storage system may also include a secondary storage computing device, a single instance database, and one or more storage devices that store copies of the primary data (e.g., secondary copies, tertiary copies, etc.). The secondary storage computing device receives blocks of data from the computing devices and accesses the single instance database to determine whether the blocks of data are unique (meaning that no instances of the blocks of data are stored on the storage devices). If a block of data is unique, the single instance database stores it on a storage device. If not, the secondary storage computing device can avoid storing the block of data on the storage devices.
    Type: Grant
    Filed: December 28, 2009
    Date of Patent: November 5, 2013
    Assignee: CommVault Systems, Inc.
    Inventors: Deepak R. Attarde, Rajiv Kottomtharayil, Manoj K. Vijayan
  • Patent number: 8578112
    Abstract: A data management system and data management method capable of inhibiting an increase of I/Os caused by deduplication are provided. Data blocks are managed by grouping them; a plurality of chunks belonging to the same group after deduplication are collectively managed as a chunk data set; and if a host system issues a data block deletion request, garbage collection of the relevant chunk data set is performed based on the number of times of references of the chunk data set and the chunk data set after the garbage collection is managed by overwriting the existing chunk data set with a new chunk data set composed of only chunks of data blocks which are not deleted.
    Type: Grant
    Filed: February 23, 2012
    Date of Patent: November 5, 2013
    Assignees: Hitachi, Ltd., Hitachi Computer Peripherals Co., Ltd.
    Inventor: Naomitsu Tashiro
  • Patent number: 8566546
    Abstract: Described are techniques for enforcing an allocation policy. Information is received that describes one or more storage groups. Each of the storage groups includes one or more thin devices. Each of the thin devices includes a plurality of chunks of storage allocated on one or more of a plurality of storage tiers. For each of the one or more storage groups, a plurality of counters is determined indicating amounts of storage currently allocated from the plurality of storage tiers for use by the storage group. Using the plurality of counters, it is determined whether each of the one or more storage groups violates thresholds included in an allocation policy associated with each storage group. Each of the thresholds specifies a maximum amount of storage of one of the plurality of storage tiers that can be used by each storage group.
    Type: Grant
    Filed: September 27, 2010
    Date of Patent: October 22, 2013
    Assignee: EMC Corporation
    Inventors: Marik Marshak, Alex Veprinsky
  • Patent number: 8555020
    Abstract: In a method for reclaiming space occupied by an expired variable record in a non-volatile record storage, a reclaim state data that includes a state of a reclaim operation is maintained. In addition, the state of the reclaim operation is marked to indicate a progress of the reclaim operation at a plurality of stages of the reclaim operation. The reclaim operation is implemented by sliding, one section at a time, the data in a first direction along the plurality of sections and by sliding, one section at a time, the variable records, excluding the expired variable record, in a second direction along the plurality of sections, to thereby remove the expired variable record.
    Type: Grant
    Filed: September 23, 2011
    Date of Patent: October 8, 2013
    Assignee: Hewlett-Packard Development Company, L.P.
    Inventor: Kurt David Gillespie
  • Patent number: 8527727
    Abstract: According to the embodiments, a first storing unit as a cache, second and third storing units included in a nonvolatile semiconductor memories, and a controller are included, in which the controller includes an organizing unit that increases a resource by organizing data in the nonvolatile semiconductor memories, and an organizing-state notifying unit that, when an organizing-state notification request is input from a host, outputs an organizing state by the organizing unit to the host as an organizing-state notification, thereby improving a command response speed and the writing efficiency.
    Type: Grant
    Filed: March 21, 2011
    Date of Patent: September 3, 2013
    Assignee: Kabushiiki Kaisha Toshiba
    Inventors: Naoki Ootsuka, Hirokazu Morita, Hirokuni Yano
  • Publication number: 20130227237
    Abstract: A data management system and data management method capable of inhibiting an increase of I/Os caused by deduplication are provided. Data blocks are managed by grouping them; a plurality of chunks belonging to the same group after deduplication are collectively managed as a chunk data set; and if a host system issues a data block deletion request, garbage collection of the relevant chunk data set is performed based on the number of times of references of the chunk data set and the chunk data set after the garbage collection is managed by overwriting the existing chunk data set with a new chunk data set composed of only chunks of data blocks which are not deleted.
    Type: Application
    Filed: February 23, 2012
    Publication date: August 29, 2013
    Inventor: Naomitsu Tashiro
  • Patent number: 8521947
    Abstract: Method for writing data into flash memory is disclosed. The method includes storing the frequently updated data and the not-aligned data collectively into some of the physical memory blocks of the flash memory. In other words, the method collectively writes those data into the same physical memory blocks of the flash memory as far as possible. By doing this, the invalid physical memory pages in the physical memory blocks can be generated collectively. As a result, the storage releasing efficiency of garbage collection can be greatly improved.
    Type: Grant
    Filed: September 18, 2009
    Date of Patent: August 27, 2013
    Assignee: A-Data Technology Co., Ltd.
    Inventors: Tso-Cheng Su, Shih-Fang Hung, Tzu-Wei Fang
  • Patent number: 8521972
    Abstract: The present invention is directed to systems and methods for optimizing garbage collection in data storage. The data storage may be a shingled disk drive or a non-volatile solid-state memory device. Garbage collection is optimized by selectively saving data read from certain locations of the data storage in response to host read commands and using the saved data for subsequent garbage collection operations. The decision of whether to save data may be based on a number of criteria, including whether the data is located in an area of the data storage that is due to be garbage collected in the near future. In this manner, certain garbage collection operations can be performed without having to re-read the saved data.
    Type: Grant
    Filed: June 30, 2010
    Date of Patent: August 27, 2013
    Assignee: Western Digital Technologies, Inc.
    Inventors: William B. Boyle, Robert M. Fallone
  • Patent number: 8495314
    Abstract: Systems and methods are presented to facilitate implementation of controlling memory management, e.g., garbage collection, of computer objects based upon determination of a source side weak event and associated components. A first class determines the existence of a listener and a second class, based upon an indication from the first class, determines whether the second class should “re-register for finalization” during execution of a finalizing operation. Where existence of the second class is maintained, existence of associated components such as the first class, a delegate, a listener, and the like, is continued and data, etc., continues to be published from the weak event to the listener. Where existence of the second class is no longer maintained (e.g., the second class does not re-register for finalization), the various components, e.g., the first class, the second class, a delegate, a listener, and any other objects are available for garbage collection.
    Type: Grant
    Filed: September 29, 2010
    Date of Patent: July 23, 2013
    Assignee: Rockwell Automation Technologies, Inc.
    Inventor: Benjamin J. Copass
  • Patent number: 8495282
    Abstract: Reliable storage for database management systems (DBMS) running on memory devices such as NAND type flash memory utilizes minimum I/O overhead and provides maximum data durability. A virtual page map is utilized between the flash memory and a page access component to record changes to the DBMS pages and prevent overwriting or data loss. There is no need for journaling and logging, and performance is increased by reducing the write and erase counts on the flash memory. The logical page numbers of the DBMS are mapped to physical page numbers in the page map, such that the virtual page map allocates an available page from the physical pages when changes to a page occur, and the updated information is stored in the allocated page. The allocated page number is mapped to the logical page number of the original page, thus maintaining a modified page representation while preventing physical in-place updates.
    Type: Grant
    Filed: November 12, 2010
    Date of Patent: July 23, 2013
    Assignee: Oracle International Corporation
    Inventors: SangCheol Lee, BongSoo Ko, HyungGook Yoo, SongHee Kang
  • Patent number: 8489840
    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: Grant
    Filed: February 26, 2009
    Date of Patent: July 16, 2013
    Assignee: Red Hat, Inc.
    Inventor: James P. Schneider
  • Publication number: 20130166824
    Abstract: A method of managing memory blocks in a nonvolatile memory device comprises identifying a full memory block among a plurality of memory blocks in the nonvolatile memory device, determining whether a block life of the full memory block exceeds a threshold value, and upon determining that the block life of the full memory block exceeds the threshold value, selecting the full memory block as a target block for garbage collection.
    Type: Application
    Filed: September 13, 2012
    Publication date: June 27, 2013
    Applicant: SAMSUNG ELECTRONICS CO., LTD.
    Inventors: GYU-DONG SHIM, YANG-SUP LEE, WON-MOON CHEON
  • Publication number: 20130159623
    Abstract: Improved memory management in a processor is provided using garbage collection utilities. The processor includes higher performance memory units and lower performance memory units and a memory management unit. The memory management unit includes a garbage collection utility programmed to identify high use memory blocks and low use memory blocks within the higher and lower performance memory units. The memory management unit is also configured to move the high use memory blocks to higher performance memory and move the low use memory blocks to lower performance memory. The method comprises determining performance characteristics of available memory to identify higher performance memory and lower performance memory. Next memory block use metrics are analyzed to identify high use memory blocks and low use memory blocks. Finally, high use memory blocks are moved to the higher performance memory while the low use memory blocks are moved to the lower performance memory.
    Type: Application
    Filed: December 14, 2011
    Publication date: June 20, 2013
    Applicant: ADVANCED MICRO DEVICES, INC.
    Inventors: Gabriel H. Loh, Mauricio Breternitz
  • Patent number: 8458417
    Abstract: In general, this disclosure relates to garbage collection in a storage device. Aspects of this disclosure describe techniques to identify one or more candidate memory storage blocks that should be recycled during garbage collection. The one or more candidate memory storage blocks may be identified based at least on monitored soft metrics of the candidate memory storage blocks. During garbage collection, the identified one or more candidate memory storage blocks may be recycled to free up storage space.
    Type: Grant
    Filed: March 10, 2010
    Date of Patent: June 4, 2013
    Assignee: Seagate Technology LLC
    Inventors: Ryan J. Goss, Kevin Gomez, Mark Allen Gaertner
  • Publication number: 20130132647
    Abstract: A method for managing memory operations in a storage device having a plurality of data blocks, the method including steps for determining a number of invalid pages, in each of the plurality of data blocks, determining a number of page reads for each of the plurality of data blocks and determining a dwell time for each of the plurality of data blocks. In certain aspects, the method further comprises steps for selecting a data block, from among the plurality of data blocks, for memory reclamation based on the number of invalid pages, the number of page reads, and the dwell time of the selected data block. A flash storage system and computer-readable media are also provided.
    Type: Application
    Filed: October 30, 2012
    Publication date: May 23, 2013
    Applicant: STEC, Inc.
    Inventor: STEC, Inc.
  • Patent number: 8447918
    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: Grant
    Filed: April 7, 2010
    Date of Patent: May 21, 2013
    Assignee: Google Inc.
    Inventors: Robert S. Sprinkle, Albert T. Borchers, Andrew T. Swing
  • Publication number: 20130124785
    Abstract: A data deleting method and apparatus is provided in embodiments of this application. The method comprises: when a file system detects a delete request for a target file, examining a security property of the target file, wherein the security property of a file comprises secret classified property; if the security property of the target file is secret classified property, executing an overwrite operation on the target file and then executing a delete operation to delete the target file; wherein the overwrite operation comprises sending a write command to a SSD, the write command being a predefined write command which is expanded by adding an immediate scrubbing flag, to cause the SSD to invoke a backstage garbage collection program according to the predefined write command to immediately delete data on garbage blocks corresponding to logical block addresses of the target file.
    Type: Application
    Filed: October 10, 2012
    Publication date: May 16, 2013
    Applicant: Huawei Technologies Co., Ltd.
    Inventor: Huawei Technologies Co., Ltd.
  • Publication number: 20130111144
    Abstract: The use of heap memory is optimized by extending a cache implementation with a CacheInterface base class. An instance of a ReferenceToCache is attached to the CacheInterface base class. The cache implementation is registered to a garbage collector application. The registration is stored as a reference list in a memory. In response to an unsatisfied cache allocation request, a garbage collection cycle is triggered to check heap occupancy. In response to exceeding a threshold value, the reference list is traversed for caches to be cleaned based upon a defined space constraint value. The caches are cleaned in accordance with the defined space constraint value.
    Type: Application
    Filed: October 28, 2011
    Publication date: May 2, 2013
    Applicant: INTERNATIONAL BUSINESS MACHINES CORPORATION
    Inventors: AVINASH KORADHANYAMATH, SHIRISH T. S. KUNCOLIENKAR, AJITH RAMANATH
  • Publication number: 20130111153
    Abstract: A distributed storage managing apparatus id provided. The distributed storage managing apparatus includes a detector configured to detect a busy storage node having a latency element from among a plurality of storage nodes that distributively store data using a plurality of replicas, and a controller configured to transfer a request associated with data reading or data writing to storage nodes other than the detected busy storage node.
    Type: Application
    Filed: March 15, 2012
    Publication date: May 2, 2013
    Inventor: Ju Pyung LEE
  • Publication number: 20130111161
    Abstract: In accordance with embodiments of the present disclosure, a method may include receiving a read command. The method may also include determining if the read command is a command to read current data or historical data for a given logical address. The method may additionally include reading data stored on a storage resource at a historical physical address defined by a historical data offset associated with the given logical address in response to determining that the read command is a command to read historical data. The method may further include communicating the data stored at the historical physical address as a response to the read command.
    Type: Application
    Filed: October 28, 2011
    Publication date: May 2, 2013
    Applicant: DELL PRODUCTS L.P.
    Inventors: Gary B. Kotzur, Surender Brahmaroutu
  • Publication number: 20130111106
    Abstract: Exemplary method, system, and computer program product embodiments for efficient track destage in secondary storage in a more effective manner, are provided. In one embodiment, by way of example only, for temporal bits employed with sequential bits for controlling the timing for destaging the track in a primary storage, the temporal bits and sequential bits are transferred from the primary storage to the secondary storage. The temporal bits are allowed to age on the secondary storage. Additional system and computer program product embodiments are disclosed and provide related advantages.
    Type: Application
    Filed: November 1, 2011
    Publication date: May 2, 2013
    Applicant: INTERNATIONAL BUSINESS MACHINES CORPORATION
    Inventors: Michael T. BENHASE, Stephen L. BLINICK, Evangelos S. ELEFTHERIOU, Lokesh M. GUPTA, Robert HAAS, Xiao-Yu HU, Matthew J. KALOS, Ioannis KOLTSIDAS, Karl A. NIELSEN, Roman A. PLETKA
  • Publication number: 20130097380
    Abstract: A system and method for managing multiple fingerprint tables in a deduplicating storage system. A computer system includes a storage medium, a first fingerprint table comprising a first plurality of entries, and a second fingerprint table comprising a second plurality of entries. Each of the first plurality of entries and the second plurality of entries are configured to store fingerprint related data corresponding to data stored in the storage medium. A storage controller is configured to select the first fingerprint table for storage of entries corresponding to data stored in the data storage medium that has been deemed more likely to be successfully deduplicated than other data stored in the data storage medium; and select the second fingerprint table for storage of entries corresponding to data stored in the data storage medium that has been deemed less likely to be successfully deduplicated than other data stored in the storage medium.
    Type: Application
    Filed: October 14, 2011
    Publication date: April 18, 2013
    Inventors: John Colgrove, John Hayes, Ethan Miller, Joseph S. Hasbani, Cary Sandvig
  • Patent number: 8417876
    Abstract: Techniques are presented for performing maintenance operations, such as garbage collection, on non-volatile memory systems will still respecting the maximum latency, or time-out, requirements of a protocol. A safety guard band in the space available for storing host data, control data, or both, is provided. If, on an access of the memory, it is determined that the guard band space is exceeded, the system uses a recovery back to the base state by triggering and prioritizing clean-up operations to re-establish all safety guard bands without breaking the timing requirements. To respect these timing requirements, the operations are split into portions and done in a phased manner during allowed latency periods.
    Type: Grant
    Filed: June 23, 2010
    Date of Patent: April 9, 2013
    Assignee: SanDisk Technologies Inc.
    Inventors: Sergey Anatolievich Gorobets, Robert George Young, Alan David Bennett
  • Patent number: 8417904
    Abstract: Method and apparatus for handling data in a data storage device. In accordance with some embodiments, a memory space with a plurality of garbage collection units (GCUs) that are each arranged into pages of memory that store user data identified by logical addresses (LAs) and each GCU has a metadata region that stores metadata that correlates the LAs with physical addresses (PAs). A header region in each page of memory stores a bitmask and a sequence map of the LAs in each page that are used by a log manager to creates a bitmask table stored in a first cache and a hierarchical log stored in a second cache. The bitmask table and hierarchical log are used to determine when the LAs stored in the selected GCU are stale, and update the bitmask for each page in the selected GCU after the stale data has been erased.
    Type: Grant
    Filed: March 17, 2010
    Date of Patent: April 9, 2013
    Assignee: Seagate Technology LLC
    Inventors: Ryan James Goss, Mark Allen Gaertner
  • Patent number: 8417882
    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: April 9, 2012
    Date of Patent: April 9, 2013
    Assignee: Hitachi, Ltd.
    Inventors: Katsuya Tanaka, Shuji Nakamura, Makio Mizuno
  • Patent number: 8412894
    Abstract: Solutions to a value recycling problem facilitate implementations of computer programs that may execute as multithreaded computations in multiprocessor computers, as well as implementations of related shared data structures. Some exploitations allow non-blocking, shared data structures to be implemented using standard dynamic allocation mechanisms (such as malloc and free). Some exploitations allow non-blocking, indeed even lock-free or wait-free, implementations of dynamic storage allocation for shared data structures. In some exploitations, our techniques provide a way to manage dynamically allocated memory in a non-blocking manner without depending on garbage collection. While exploitations of solutions to the value recycling problem that we propose include management of dynamic storage allocation wherein values managed and recycled tend to include values that encode pointers, they are not limited thereto.
    Type: Grant
    Filed: February 22, 2011
    Date of Patent: April 2, 2013
    Assignee: Oracle International Corporation
    Inventors: Mark S. Moir, Victor Luchangco, Maurice Herlihy
  • Publication number: 20130080707
    Abstract: A classloader cache class definition is obtained by a processor. The classloader cache class definition includes code that creates a classloader object cache that is referenced by a strong internal reference by a classloader object in response to instantiation of the classloader cache class definition. A classloader object cache is instantiated using the obtained classloader cache class definition. The strong internal reference is created at instantiation of the classloader object cache. A public interface to the classloader object cache is provided. The public interface to the classloader object cache operates as a weak reference to the classloader object cache and provides external access to the classloader object cache.
    Type: Application
    Filed: March 29, 2012
    Publication date: March 28, 2013
    Applicant: INTERNATIONAL BUSINESS MACHINES CORPORATION
    Inventors: Vijay Sundaresan, Andres H. Voldman
  • Publication number: 20130080706
    Abstract: A classloader cache class definition is obtained by a processor. The classloader cache class definition includes code that creates a classloader object cache that is referenced by a strong internal reference by a classloader object in response to instantiation of the classloader cache class definition. A classloader object cache is instantiated using the obtained classloader cache class definition. The strong internal reference is created at instantiation of the classloader object cache. A public interface to the classloader object cache is provided. The public interface to the classloader object cache operates as a weak reference to the classloader object cache and provides external access to the classloader object cache.
    Type: Application
    Filed: September 23, 2011
    Publication date: March 28, 2013
    Applicant: INTERNATIONAL BUSINESS MACHINES CORPORATION
    Inventors: Vijay Sundaresan, Andres H. Voldman
  • Patent number: 8407401
    Abstract: A method, apparatus, and computer program product are provided for enhancing memory erase functionality. An apparatus may include a block-based mass memory and a controller configured to receive an erase command from a host device comprising an indication of a location of a block in the mass memory storing memory allocation data. The controller may be further configured to access the memory allocation data based at least in part upon the indicated location. The controller may additionally be configured to determine, based at least in part upon the memory allocation data, blocks within the mass memory that have been freed by the host device. The controller may also be configured to erase the freed blocks. Corresponding methods and computer program products are also provided.
    Type: Grant
    Filed: November 26, 2008
    Date of Patent: March 26, 2013
    Assignee: Core Wireless Licensing S.A.R.L.
    Inventor: Olli Olavi Luukkainen
  • Patent number: 8402242
    Abstract: A memory management system and method for managing memory blocks of a memory device of a computer. The system includes a free block data structure including free memory blocks for writing, and sorting the free memory blocks in a predetermined order based on block write-erase endurance cycle count and receiving new user-write requests to update existing data and relocation write requests to relocate existing data separately, a user-write block pool for receiving youngest blocks holding user-write data (i.e., any page being updated frequently) from the free block data structure, a relocation block pool for receiving oldest blocks holding relocation data (i.e., any page being updated infrequently) from the free block data structure, and a garbage collection pool structure for selecting at least one of user-write blocks and relocation blocks for garbage collection, wherein the selected block is moved back to the free block data structure upon being relocated and erased.
    Type: Grant
    Filed: July 29, 2009
    Date of Patent: March 19, 2013
    Assignee: International Business Machines Corporation
    Inventors: Xiao-yu Hu, Evangelos S. Eleftheriou, Robert Haas
  • Publication number: 20130067185
    Abstract: Memory management by garbage collection involves a memory area that is allocated in a computer. Data is created in the memory area in accordance with a program executed by a processor of the computer, and it is checked whether or not data necessary to execute the program exists in the memory area to be released, in response to an explicit instruction to release the memory area. As a result of the check, if data necessary to execute the program does not exist in the memory area, the memory area is released. As a result of the check, if data necessary to execute the program exists in the memory area, the data is moved to a memory area different from the memory area to be released.
    Type: Application
    Filed: November 2, 2012
    Publication date: March 14, 2013
    Inventors: Motoki OBATA, Hiroyasu NISHIYAMA, Kei NAKAJIMA, Koichi OKADA, Takuma NAGASE
  • Publication number: 20130060991
    Abstract: A garbage collection control method for a solid state drive is provided. The garbage collection control method includes the following steps. Firstly, a total number of releasable spaces in a plurality of data-containing blocks of a flash memory is calculated and defined as A. A total number of spaces in a plurality of blank blocks of the flash memory is calculated and defined as B. If the ratio B/A is smaller than a first threshold value, a garbage collection is performed. During the garbage collection is performed, if the ratio B/A is larger than a second threshold value, the garbage collection is ended. The first threshold value is smaller than the second threshold value.
    Type: Application
    Filed: March 7, 2012
    Publication date: March 7, 2013
    Applicant: LITE-ON IT CORPORATION
    Inventors: Shih-Chiang Lee, Ling-Feng Chen
  • Publication number: 20130054925
    Abstract: The subject disclosure relates to tracking and/or auditing memory allocations for one or more computer-implemented processes. In particular, memory allocation commands as well as memory free commands, both native and managed, can be intercepted. As such, a tag can be created that can be associated with a particular memory allocation. This tag can include various information that can more robustly describe the current state of system memory. Moreover, the tag can be deleted as an associated memory free command is received. Thus, as memory is freed and therefore no longer relevant to the current state of system memory, such does not clutter present examination.
    Type: Application
    Filed: August 24, 2011
    Publication date: February 28, 2013
    Applicant: MICROSOFT CORPORATION
    Inventor: Calvin Hsia
  • Publication number: 20130046951
    Abstract: One embodiment of the present invention sets forth a technique for dynamically allocating memory using a nested hierarchical heap. A lock-free mechanism is used to access to a hierarchical heap data structure for allocating and deallocating memory from the heap. The heap is organized as a series of levels of fixed-size blocks, where all blocks at given level are the same size. At each lower level of the hierarchy, a collection of N blocks in the lower level equals the size of a single block at the level above. When a thread requests an allocation, one or more blocks at only one level are allocated to the thread. When threads are finished using an allocation, each thread deallocates the respective allocated blocks. When all of the blocks for a level have been deallocated, defragmentation is performed at that level.
    Type: Application
    Filed: August 19, 2011
    Publication date: February 21, 2013
    Inventor: Stephen Jones
  • Publication number: 20130036282
    Abstract: A method for managing data in a memory of a computer. The method includes the steps of: prohibiting a specified memory area in a memory from being accessed temporarily or intermittently; and attaching, to first data, a first mark indicating that the first data has been read when a page fault has occurred as a result of an access by any process to read on the first data; where the first data is present in a specified memory area prohibited from being accessed; and where at least one of the steps is carried out using a computer device.
    Type: Application
    Filed: August 2, 2012
    Publication date: February 7, 2013
    Applicant: International Business Machines Corporation
    Inventors: Kiyokuni Kawachiya, Kazunori Ogata
  • Publication number: 20130036279
    Abstract: The present invention aims at preventing the access performance of a distributed memory system by accessing via cross-over ownership a track mapping information formed as a hierarchical memory. In the process of assigning a real data storage area to a virtual volume, at first, a page from a pool is assigned, and thereafter, a track is assigned from said page. The page is composed of multiple tracks into which track data assigned at host write operation timings are stored sequentially from the top. A mapping information of the virtual volume and the page is stored in a control information page that differs from the track data, and the mapping information is stored in the control information page which could only be accessed by a microprocessor having the ownership of the virtual volume.
    Type: Application
    Filed: August 4, 2011
    Publication date: February 7, 2013
    Inventor: Kohei Tatara
  • Publication number: 20130024609
    Abstract: A non-volatile memory organized into flash erasable blocks sorts units of data according to a temperature assigned to each unit of data, where a higher temperature indicates a higher probability that the unit of data will suffer subsequent rewrites due to garbage collection operations. The units of data either come from a host write or from a relocation operation. Among the units more likely to suffer subsequent rewrites, a smaller subset of data super-hot is determined. These super-hot data are then maintained in a dedicated portion of the memory, such as a resident binary zone in a memory system with both binary and MLC portions.
    Type: Application
    Filed: July 23, 2012
    Publication date: January 24, 2013
    Inventors: Sergey Anatolievich Gorobets, Liam Michael Parker, Neil David Hutchison, Robert George Young, Alan David Bennett
  • Patent number: 8356136
    Abstract: A block management method applicable to a non-volatile memory storage system is provided. The non-volatile memory storage system includes a plurality of chips. Each chip includes a plurality of physical blocks. The physical blocks form a plurality of physical block sets. Each logical block in a logical space corresponds to at most two physical block sets. In the block management method, when a logical block corresponds to two physical block sets filled with data and more data is to be written, a free physical block set is allocated for storing the data. Then, one of the two physical block sets corresponding to the logical block is selected according to a predetermined criterion. The valid data in the selected physical block set is copied into the free physical block set. Next, the selected physical block set is erased and collected to the pool of free physical block sets.
    Type: Grant
    Filed: February 8, 2010
    Date of Patent: January 15, 2013
    Assignee: National Taiwan University
    Inventors: Yuan-Hao Chang, Tei-Wei Kuo
  • Publication number: 20130007371
    Abstract: Browser storage management techniques are described. In one or more implementations, inputs are received at a computing device that specify maximum aggregate sizes of application and database caches, respectively, of browser storage to be used to locally store data at the computing device. For example, the inputs may be provided using a policy, by an administrator of the computing device, and so on. The maximum aggregate sizes are set of application and database caches, respectively, of browser storage at the computing device to the sizes specified by the inputs.
    Type: Application
    Filed: June 28, 2011
    Publication date: January 3, 2013
    Inventors: Israel Hilerio, David J. Sheldon, David Vaughn Winkler, Matthew R. Cox, Jonathan A. Silvera, Ivan D. Pashov, Martin A. Chisholm, Dany Joly, Victor Ngo, Adam U. Herchenroether, Katerina V. Sedova, Kedar Sanjeev Hirve, Karen Elizabeth Parker Anderson
  • Publication number: 20120324200
    Abstract: A computer-implemented method, system, apparatus, and article of manufacture for memory overload management. The method includes: collecting memory application information of at least one node of a computer system that is implementing the method; predicting a memory overload period and an overload memory size of a first node where memory overload will occur based on the memory application information; and scheduling a memory space according to the memory overload period and the overload memory size.
    Type: Application
    Filed: August 7, 2012
    Publication date: December 20, 2012
    Applicant: International Business Machines Corporation
    Inventors: Li Li, Ju Wei Shi, Wen Jie Wang, Bo Yang
  • Publication number: 20120317345
    Abstract: The present invention discloses a wear leveling method; the method determines a pool mask for each physical block based on an erase number of each physical block. For different erase numbers, masks of the physical blocks are determined as cool pool mask CPM, normal pool mask NPM or hot pool mask HPM. When the pool mask of one physical block is changed from NPM to HPM, data of any physical block of which the pool mask is CPM is copied to the physical block of which the pool mask is HPM, and the physical block of which the pool mask is CPM is recycled as a garbage block. The present invention discloses a wear leveling apparatus, the method and apparatus can reduce additional wear caused by the wear leveling.
    Type: Application
    Filed: March 15, 2012
    Publication date: December 13, 2012
    Applicant: TSINGHUA UNIVERSITY
    Inventors: Liyang Pan, Chen Tang
  • Patent number: 8321638
    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: March 6, 2009
    Date of Patent: November 27, 2012
    Assignee: Red Hat, Inc.
    Inventors: Henri Han van Riel, Adriaan DM van de Ven
  • Patent number: 8321631
    Abstract: A data storage device is provided. The data storage device may include a buffer memory, a storage medium, and a controller. The buffer memory may be configured to sequentially store written data blocks received from a host. The storage medium may be configured to include at least one drive. The controller may be configured to calculate first parity data for data selected from the written data in the buffer memory, generate journaling data, and control the generated journaling data to be stored in the storage medium. The data storage device may decrease a number of inputs/outputs used for a parity calculation to thereby reduce overhead.
    Type: Grant
    Filed: April 6, 2010
    Date of Patent: November 27, 2012
    Assignee: Samsung Electronics Co., Ltd.
    Inventor: Sung Hoon Baek
  • Publication number: 20120297122
    Abstract: A non-volatile memory organized into flash erasable blocks sorts units of data according to a temperature assigned to each unit of data, where a higher temperature indicates a higher probability that the unit of data will suffer subsequent rewrites due to garbage collection operations. The units of data either come from a host write or from a relocation operation. The data are sorted either for storing into different storage portions, such as SLC and MLC, or into different operating streams, depending on their temperatures. This allows data of similar temperature to be dealt with in a manner appropriate for its temperature in order to minimize rewrites. Examples of a unit of data include a logical group and a block.
    Type: Application
    Filed: May 10, 2012
    Publication date: November 22, 2012
    Inventors: Sergey Anatolievich Gorobets, Alan David Bennett, Tom Hugh Shippey, Liam Michael Parker, Yauheni Yaromenka, Steven T. Sprouse, William S. Wu, Marielle Bundukin
  • Patent number: 8312219
    Abstract: Hybrid caching techniques and garbage collection using hybrid caching techniques are provided. A determination of a measure of a characteristic of a data object is performed, the characteristic being indicative of an access pattern associated with the data object. A selection of one caching structure, from a plurality of caching structures, is performed in which to store the data object based on the measure of the characteristic. Each individual caching structure in the plurality of caching structures stores data objects has a similar measure of the characteristic with regard to each of the other data objects in that individual caching structure. The data object is stored in the selected caching structure and at least one processing operation is performed on the data object stored in the selected caching structure.
    Type: Grant
    Filed: March 2, 2009
    Date of Patent: November 13, 2012
    Assignee: International Business Machines Corporation
    Inventors: Chen-Yong Cher, Michael K. Gschwind