Garbage Collection, I.e., Reclamation Of Unreferenced Memory (epo) Patents (Class 711/E12.009)
-
Patent number: 8626991Abstract: 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: GrantFiled: June 30, 2011Date of Patent: January 7, 2014Assignee: EMC CorporationInventor: Robert W. Beauchamp
-
Patent number: 8621150Abstract: 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: GrantFiled: April 9, 2010Date of Patent: December 31, 2013Assignee: International Business Machines CorporationInventors: Mauricio J. Serrano, Xiaotong Zhuang
-
Patent number: 8621145Abstract: 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: GrantFiled: January 29, 2010Date of Patent: December 31, 2013Assignee: NetApp, Inc.Inventors: Jeffrey S. Kimmel, Randy Pafford, Rajesh Sundaram
-
Patent number: 8621172Abstract: 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: GrantFiled: May 26, 2009Date of Patent: December 31, 2013Assignee: NetApp, Inc.Inventors: Vijayan Rajan, David Brittain Bolen, Douglas P. Doucette
-
Publication number: 20130318290Abstract: 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: ApplicationFiled: May 23, 2012Publication date: November 28, 2013Applicant: INTERNATIONAL BUSINESS MACHINES CORPORATIONInventors: David F. Bacon, Perry S. Cheng, Sunil K. Shukla
-
Patent number: 8578120Abstract: 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: GrantFiled: December 28, 2009Date of Patent: November 5, 2013Assignee: CommVault Systems, Inc.Inventors: Deepak R. Attarde, Rajiv Kottomtharayil, Manoj K. Vijayan
-
Patent number: 8578112Abstract: 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: GrantFiled: February 23, 2012Date of Patent: November 5, 2013Assignees: Hitachi, Ltd., Hitachi Computer Peripherals Co., Ltd.Inventor: Naomitsu Tashiro
-
Patent number: 8566546Abstract: 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: GrantFiled: September 27, 2010Date of Patent: October 22, 2013Assignee: EMC CorporationInventors: Marik Marshak, Alex Veprinsky
-
Patent number: 8555020Abstract: 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: GrantFiled: September 23, 2011Date of Patent: October 8, 2013Assignee: Hewlett-Packard Development Company, L.P.Inventor: Kurt David Gillespie
-
Patent number: 8527727Abstract: 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: GrantFiled: March 21, 2011Date of Patent: September 3, 2013Assignee: Kabushiiki Kaisha ToshibaInventors: Naoki Ootsuka, Hirokazu Morita, Hirokuni Yano
-
Publication number: 20130227237Abstract: 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: ApplicationFiled: February 23, 2012Publication date: August 29, 2013Inventor: Naomitsu Tashiro
-
Patent number: 8521947Abstract: 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: GrantFiled: September 18, 2009Date of Patent: August 27, 2013Assignee: A-Data Technology Co., Ltd.Inventors: Tso-Cheng Su, Shih-Fang Hung, Tzu-Wei Fang
-
Patent number: 8521972Abstract: 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: GrantFiled: June 30, 2010Date of Patent: August 27, 2013Assignee: Western Digital Technologies, Inc.Inventors: William B. Boyle, Robert M. Fallone
-
Patent number: 8495314Abstract: 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: GrantFiled: September 29, 2010Date of Patent: July 23, 2013Assignee: Rockwell Automation Technologies, Inc.Inventor: Benjamin J. Copass
-
Patent number: 8495282Abstract: 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: GrantFiled: November 12, 2010Date of Patent: July 23, 2013Assignee: Oracle International CorporationInventors: SangCheol Lee, BongSoo Ko, HyungGook Yoo, SongHee Kang
-
Patent number: 8489840Abstract: 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: GrantFiled: February 26, 2009Date of Patent: July 16, 2013Assignee: Red Hat, Inc.Inventor: James P. Schneider
-
Publication number: 20130166824Abstract: 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: ApplicationFiled: September 13, 2012Publication date: June 27, 2013Applicant: SAMSUNG ELECTRONICS CO., LTD.Inventors: GYU-DONG SHIM, YANG-SUP LEE, WON-MOON CHEON
-
Publication number: 20130159623Abstract: 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: ApplicationFiled: December 14, 2011Publication date: June 20, 2013Applicant: ADVANCED MICRO DEVICES, INC.Inventors: Gabriel H. Loh, Mauricio Breternitz
-
Patent number: 8458417Abstract: 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: GrantFiled: March 10, 2010Date of Patent: June 4, 2013Assignee: Seagate Technology LLCInventors: Ryan J. Goss, Kevin Gomez, Mark Allen Gaertner
-
Publication number: 20130132647Abstract: 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: ApplicationFiled: October 30, 2012Publication date: May 23, 2013Applicant: STEC, Inc.Inventor: STEC, Inc.
-
Patent number: 8447918Abstract: 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: GrantFiled: April 7, 2010Date of Patent: May 21, 2013Assignee: Google Inc.Inventors: Robert S. Sprinkle, Albert T. Borchers, Andrew T. Swing
-
Publication number: 20130124785Abstract: 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: ApplicationFiled: October 10, 2012Publication date: May 16, 2013Applicant: Huawei Technologies Co., Ltd.Inventor: Huawei Technologies Co., Ltd.
-
Publication number: 20130111144Abstract: 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: ApplicationFiled: October 28, 2011Publication date: May 2, 2013Applicant: INTERNATIONAL BUSINESS MACHINES CORPORATIONInventors: AVINASH KORADHANYAMATH, SHIRISH T. S. KUNCOLIENKAR, AJITH RAMANATH
-
Publication number: 20130111153Abstract: 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: ApplicationFiled: March 15, 2012Publication date: May 2, 2013Inventor: Ju Pyung LEE
-
Publication number: 20130111161Abstract: 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: ApplicationFiled: October 28, 2011Publication date: May 2, 2013Applicant: DELL PRODUCTS L.P.Inventors: Gary B. Kotzur, Surender Brahmaroutu
-
Publication number: 20130111106Abstract: 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: ApplicationFiled: November 1, 2011Publication date: May 2, 2013Applicant: INTERNATIONAL BUSINESS MACHINES CORPORATIONInventors: 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: 20130097380Abstract: 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: ApplicationFiled: October 14, 2011Publication date: April 18, 2013Inventors: John Colgrove, John Hayes, Ethan Miller, Joseph S. Hasbani, Cary Sandvig
-
Patent number: 8417876Abstract: 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: GrantFiled: June 23, 2010Date of Patent: April 9, 2013Assignee: SanDisk Technologies Inc.Inventors: Sergey Anatolievich Gorobets, Robert George Young, Alan David Bennett
-
Patent number: 8417904Abstract: 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: GrantFiled: March 17, 2010Date of Patent: April 9, 2013Assignee: Seagate Technology LLCInventors: Ryan James Goss, Mark Allen Gaertner
-
Patent number: 8417882Abstract: 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: GrantFiled: April 9, 2012Date of Patent: April 9, 2013Assignee: Hitachi, Ltd.Inventors: Katsuya Tanaka, Shuji Nakamura, Makio Mizuno
-
Patent number: 8412894Abstract: 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: GrantFiled: February 22, 2011Date of Patent: April 2, 2013Assignee: Oracle International CorporationInventors: Mark S. Moir, Victor Luchangco, Maurice Herlihy
-
Publication number: 20130080707Abstract: 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: ApplicationFiled: March 29, 2012Publication date: March 28, 2013Applicant: INTERNATIONAL BUSINESS MACHINES CORPORATIONInventors: Vijay Sundaresan, Andres H. Voldman
-
Publication number: 20130080706Abstract: 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: ApplicationFiled: September 23, 2011Publication date: March 28, 2013Applicant: INTERNATIONAL BUSINESS MACHINES CORPORATIONInventors: Vijay Sundaresan, Andres H. Voldman
-
Patent number: 8407401Abstract: 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: GrantFiled: November 26, 2008Date of Patent: March 26, 2013Assignee: Core Wireless Licensing S.A.R.L.Inventor: Olli Olavi Luukkainen
-
Patent number: 8402242Abstract: 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: GrantFiled: July 29, 2009Date of Patent: March 19, 2013Assignee: International Business Machines CorporationInventors: Xiao-yu Hu, Evangelos S. Eleftheriou, Robert Haas
-
Publication number: 20130067185Abstract: 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: ApplicationFiled: November 2, 2012Publication date: March 14, 2013Inventors: Motoki OBATA, Hiroyasu NISHIYAMA, Kei NAKAJIMA, Koichi OKADA, Takuma NAGASE
-
Publication number: 20130060991Abstract: 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: ApplicationFiled: March 7, 2012Publication date: March 7, 2013Applicant: LITE-ON IT CORPORATIONInventors: Shih-Chiang Lee, Ling-Feng Chen
-
Publication number: 20130054925Abstract: 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: ApplicationFiled: August 24, 2011Publication date: February 28, 2013Applicant: MICROSOFT CORPORATIONInventor: Calvin Hsia
-
Publication number: 20130046951Abstract: 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: ApplicationFiled: August 19, 2011Publication date: February 21, 2013Inventor: Stephen Jones
-
Publication number: 20130036282Abstract: 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: ApplicationFiled: August 2, 2012Publication date: February 7, 2013Applicant: International Business Machines CorporationInventors: Kiyokuni Kawachiya, Kazunori Ogata
-
Publication number: 20130036279Abstract: 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: ApplicationFiled: August 4, 2011Publication date: February 7, 2013Inventor: Kohei Tatara
-
Publication number: 20130024609Abstract: 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: ApplicationFiled: July 23, 2012Publication date: January 24, 2013Inventors: Sergey Anatolievich Gorobets, Liam Michael Parker, Neil David Hutchison, Robert George Young, Alan David Bennett
-
Patent number: 8356136Abstract: 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: GrantFiled: February 8, 2010Date of Patent: January 15, 2013Assignee: National Taiwan UniversityInventors: Yuan-Hao Chang, Tei-Wei Kuo
-
Publication number: 20130007371Abstract: 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: ApplicationFiled: June 28, 2011Publication date: January 3, 2013Inventors: 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: 20120324200Abstract: 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: ApplicationFiled: August 7, 2012Publication date: December 20, 2012Applicant: International Business Machines CorporationInventors: Li Li, Ju Wei Shi, Wen Jie Wang, Bo Yang
-
Publication number: 20120317345Abstract: 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: ApplicationFiled: March 15, 2012Publication date: December 13, 2012Applicant: TSINGHUA UNIVERSITYInventors: Liyang Pan, Chen Tang
-
Patent number: 8321638Abstract: 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: GrantFiled: March 6, 2009Date of Patent: November 27, 2012Assignee: Red Hat, Inc.Inventors: Henri Han van Riel, Adriaan DM van de Ven
-
Patent number: 8321631Abstract: 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: GrantFiled: April 6, 2010Date of Patent: November 27, 2012Assignee: Samsung Electronics Co., Ltd.Inventor: Sung Hoon Baek
-
Publication number: 20120297122Abstract: 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: ApplicationFiled: May 10, 2012Publication date: November 22, 2012Inventors: Sergey Anatolievich Gorobets, Alan David Bennett, Tom Hugh Shippey, Liam Michael Parker, Yauheni Yaromenka, Steven T. Sprouse, William S. Wu, Marielle Bundukin
-
Patent number: 8312219Abstract: 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: GrantFiled: March 2, 2009Date of Patent: November 13, 2012Assignee: International Business Machines CorporationInventors: Chen-Yong Cher, Michael K. Gschwind