Garbage Collection, I.e., Reclamation Of Unreferenced Memory (epo) Patents (Class 711/E12.009)
  • Patent number: 10911946
    Abstract: A local maintenance monitoring unit is intended to be installed near an item of equipment, in order to make it possible to validate a task that is carried out by a maintenance technician on the item of equipment. The local maintenance monitoring unit is provided with short-range display or communication unit in order to transmit a check-value and a timestamp to a portable communication terminal with which the technician is equipped. It is thus possible to guarantee that the technician assigned for the task is actually located at the site of the maintenance task.
    Type: Grant
    Filed: December 22, 2017
    Date of Patent: February 2, 2021
    Assignee: GETRALINE
    Inventors: Jean-Patrick Azpitarte, Nicolas Violet
  • Patent number: 10387042
    Abstract: Interfaces to storage devices that employ storage space optimization technologies, such as thin provisioning, are configured to enable the benefits gained from such technologies to be sustained. Such an interface may be provided in a hypervisor of a virtualized computer system to enable the hypervisor to discover features of a logical unit number (LUN), such as whether or not the LUN is thinly provisioned, and also in a virtual machine (VM) of the virtualized computer system to enable the VM to discover features of a virtual disk, such as whether or not the virtual disk is thinly provisioned. The discovery of these features enables the hypervisor or the VM to instruct the underlying storage device to carry out certain operations such as an operation to deallocate blocks previously allocated to a logical block device, so that the storage device can continue to benefit from storage space optimization technologies implemented therein.
    Type: Grant
    Filed: October 24, 2014
    Date of Patent: August 20, 2019
    Assignee: VMware, Inc.
    Inventors: Satyam B. Vaghani, Tejasvi Aswathanarayana
  • Patent number: 10311252
    Abstract: Technologies for managed code execution include a computing device having a processor with protection key support. The computing device sets a protection key register of the processor with permissions to disallow data access to any protection domain of the computing device and then executes a domain switch routine to switch to a managed applet. The managed applet is included in an applet protection domain, the domain switch routine is included in a switch protection domain, and a managed runtime environment is included in a normal protection domain. The domain switch routine sets the protection key register with permissions to disallow access to any protection domain other than the applet protection domain and then executes the managed applet. Other managed applets may be each be included in separate applet domains. Each managed applet may be a thread executed within a common process address space. Other embodiments are described and claimed.
    Type: Grant
    Filed: March 15, 2017
    Date of Patent: June 4, 2019
    Assignee: Intel Corporation
    Inventors: Xiaoning Li, Mingqiu Sun, David A. Koufaty, Ravi L. Sahita
  • Patent number: 9483272
    Abstract: A processor is configured to execute instructions of a first thread and a second thread. A first return stack corresponds to the first thread, and a second return stack to the second thread. Control circuitry pushes a return address to the first return stack in response to a branch to subroutine instruction in the first thread. If the first return stack is full and borrowing is not enabled by the borrow enable indicator, the control circuitry removes an oldest return address from the first return stack and not store the removed oldest return address in the second return stack. If the first return stack is full and borrowing is enabled by the borrow enable indicator and the second thread is not enabled, the control circuitry removes the oldest return address from the first return stack and push the removed oldest return address onto the second return stack.
    Type: Grant
    Filed: September 30, 2014
    Date of Patent: November 1, 2016
    Assignee: FREESCALE SEMICONDUCTOR, INC.
    Inventors: Jeffrey W. Scott, William C. Moyer, Alistair P. Robertson
  • Patent number: 9026765
    Abstract: Techniques are described for processing a data operation that writes first data to a data portion currently stored on first physical storage of a first storage tier of a data storage system, including storage tiers each having a different performance ranking relative to other storage tiers. Second physical storage is allocated from one of the storage tiers for storing the first data written to the data portion. This one storage tier is selected independent of the first storage tier. The first data is stored in a cache and destaged from the cache to the second physical storage. A single merged copy of data for the data portion is formed. Based on an activity level of the data portion, a target tier is selected for storing the single merged copy of data for the data portion.
    Type: Grant
    Filed: September 11, 2012
    Date of Patent: May 5, 2015
    Assignee: EMC Corporation
    Inventors: Marik Marshak, Amnon Naamad, Alexandr Veprinsky, Arieh Don
  • Patent number: 9026760
    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 18, 2013
    Date of Patent: May 5, 2015
    Assignee: EMC Corporation
    Inventors: Marik Marshak, Alexandr Veprinsky
  • Patent number: 9015412
    Abstract: A storage system is configured to manage a pool to which multiple virtual volumes (VVOLs) are associated, assign a real area (RA) from any tier in an available tier pattern associated with a write-destination VVOL to a write-destination virtual area (VA), and carry out a reassignment process for migrating data inside the RA to an RA of a different tier, based on an access status of the RA. A management system is configured to assume a specified tier has been removed from the available tier pattern of a target VVOL, predict performance of all VVOLs associated with the pool to which the target VVOL is associated, determine whether there is a VVOL for which predicted performance is lower than a required performance, and when such a VVOL does not exist, instruct the storage system to remove the specified tier from the available tier pattern of the target VVOL.
    Type: Grant
    Filed: September 13, 2011
    Date of Patent: April 21, 2015
    Assignee: Hitachi Ltd.
    Inventors: Kyoko Miwa, Tsukasa Shibayama, Masayasu Asano
  • Patent number: 9003146
    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: Grant
    Filed: August 2, 2012
    Date of Patent: April 7, 2015
    Assignee: International Business Machines Corporation
    Inventors: Kiyokuni Kawachiya, Kazunori Ogata
  • Patent number: 8990532
    Abstract: A method of managing a memory in a computer system including a processor executing programs and the memory, the memory including a first area, which is managed by a garbage collector, and a second area, which is not managed by the garbage collector, the method including the steps executed by the processor of: checking a reference relation of basic point data associated with the second area by tracing references from the basic point data; when the reference relation of the basic point data has a structure including a reference to data belonging to the same class as the class of the basic point data, determining that particular data out of data constituting the structure is prohibited from being migrated to the second area; and migrating data stored in the first area out of data remaining after excluding the particular data from the data constituting the structure to the second area.
    Type: Grant
    Filed: March 8, 2010
    Date of Patent: March 24, 2015
    Assignee: Hitachi, Ltd.
    Inventors: Motoki Obata, Hiroyasu Nishiyama, Masahiko Adachi
  • Patent number: 8972672
    Abstract: A computer-implemented method and system for performing garbage collection in a delta compressed data storage system selects a file recipe to traverse to identify live data chunks and selects a chunk identifier from the file recipe. The chunk identifier is added to a set of live data chunks. Delta references in the file metadata corresponding to the chunk identifier are added to the set of live data chunks. Data chunks in a data storage system not identified by the set of live data chunks are then discarded.
    Type: Grant
    Filed: June 13, 2012
    Date of Patent: March 3, 2015
    Assignee: EMC Corporation
    Inventors: Grant R. Wallace, Philip N. Shilane
  • Patent number: 8966203
    Abstract: A managed memory in which multiple computing entities each have a corresponding entity-specific portion that is subject to garbage collection. An immutable buffer is located outside of managed memory. For a given computing entity, the corresponding managed memory portion contains entity-specific objects that can be accessed by a specific computing entity, but not by the other multiple computing entities. For one or more of the entity-specific managed memory portions, the portion also includes a reference to shared memory, such as an immutable buffer. The reference is structured to be ignored by the garbage collector, though the reference may appear just as a normal object in the managed memory portion. Thus, a unified memory access model is made possible in which the methods for a computing entity to access a regular object in managed memory is similar to how the computing entity accesses shared memory.
    Type: Grant
    Filed: January 4, 2013
    Date of Patent: February 24, 2015
    Assignee: Microsoft Corporation
    Inventor: Martin Taillefer
  • Patent number: 8949555
    Abstract: In one embodiment of the invention, a memory system includes non-volatile-memory-devices (NVMDs) coupled to memory channels to share busses and a memory controller coupled to the memory channels in communication between the plurality of NVMDs. Each NVMD independently executes a read, write, or erase operation at a time. The memory controller includes channel schedulers to schedule control and data transfers associated with the read, write, and erase operations on the memory channels; and high priority and low priority queues coupled to the channel schedulers. The channel schedulers prioritize operations waiting in the high priority queues over operations waiting in the low priority queues. The channel schedulers further prioritize read operations waiting in either the high priority queue or the low priority queue over write and erase operations waiting in each respective queue.
    Type: Grant
    Filed: June 16, 2011
    Date of Patent: February 3, 2015
    Assignee: Virident Systems, Inc.
    Inventors: Vijay Karamcheti, Shibabrata Mondal, Ajith Kumar
  • Patent number: 8943276
    Abstract: A plurality of tracks is examined for meeting criteria for a discard scan. In lieu of waiting for a completion of a track access operation, at least one of the plurality of tracks is marked for demotion. An additional discard scan may be subsequently performed for tracks not previously demoted. The discard and additional discard scans may proceed in two phases.
    Type: Grant
    Filed: March 14, 2013
    Date of Patent: January 27, 2015
    Assignee: International Business Machines Corporation
    Inventors: Michael T. Benhase, Lokesh M. Gupta, Carol S. Mellgren, Kenneth W. Todd
  • Patent number: 8924659
    Abstract: The present invention aims to improve the performance of accessing flash memory used as a storage medium in a storage device. In the storage device in accordance with the present invention, a storage controller, before accessing the flash memory, queries a flash controller as to whether the flash memory is accessible.
    Type: Grant
    Filed: February 6, 2013
    Date of Patent: December 30, 2014
    Assignee: Hitachi, Ltd.
    Inventor: Hideyuki Koseki
  • Patent number: 8914600
    Abstract: A method for data storage includes providing a memory, which includes multiple groups of memory cells and is configured to concurrently store first data using a first storage configuration having a first access time, and second data using a second storage configuration having a second access time, longer than the first access time, such that each memory cell in each of the groups stores at least one bit of the first data and one or more bits of the second data. Data items are accepted for storage in the memory. The accepted data items are classified into a fast-access class and a normal-access class. The data items in the fast-access class are stored in the memory using the first storage configuration, and the data items in the normal-access class are stored in the memory using the second storage configuration.
    Type: Grant
    Filed: July 14, 2014
    Date of Patent: December 16, 2014
    Assignee: Apple Inc.
    Inventor: Amit Rubowitz
  • Patent number: 8909853
    Abstract: A disclosed example method involves associating a shared reclaim thread with an on-board flash memory device to reclaim first memory space in the on-board flash memory device. The shared reclaim thread is associated with a removable flash memory device to reclaim second memory space in the removable flash memory device while the shared reclaim thread is also in association with the on-board flash memory device. Different priorities are assigned to the on-board flash memory device and the removable flash memory device to selectively reclaim the first and second memory spaces based on the different priorities.
    Type: Grant
    Filed: March 9, 2012
    Date of Patent: December 9, 2014
    Assignee: Intel Corporation
    Inventors: Ajith K. Illendula, Philip F. Low
  • Patent number: 8898410
    Abstract: A method includes determining which of a plurality of blocks of data in a data storage device having a plurality of memory devices to copy during garbage collection using a cost function based on a number of free pages and a number of replicated pages in each of the blocks, where the replicated pages include replicated data that is a copy of data stored in another storage device and determining not to copy one or more of the blocks of data during garbage collection based on the cost function.
    Type: Grant
    Filed: February 20, 2013
    Date of Patent: November 25, 2014
    Assignee: Google Inc.
    Inventor: Daniel Ari Ehrenberg
  • Patent number: 8880775
    Abstract: In a particular embodiment, a controller is adapted to perform a garbage collection operation to remove redundant data, to predict a performance parameter associated with performance of the garbage collection operation, and to abort the garbage collection operation when the predicted performance parameter exceeds a threshold.
    Type: Grant
    Filed: June 20, 2008
    Date of Patent: November 4, 2014
    Assignee: Seagate Technology LLC
    Inventors: Stefanus Stefanus, Feng Shen, Wei Loon Ng
  • Patent number: 8874872
    Abstract: The disclosure is related to systems and methods of managing a memory. In a particular embodiment, a memory channel is disclosed that includes multiple memory units, with each memory unit comprising multiple garbage collection units. The memory channel also includes a controller that is communicatively coupled to the multiple memory units. The controller selects a memory unit of the multiple memory units for garbage collection based on a calculated number of memory units, of the multiple memory units, to garbage collect.
    Type: Grant
    Filed: January 21, 2011
    Date of Patent: October 28, 2014
    Assignee: Seagate Technology LLC
    Inventors: Timothy R. Feldman, Jonathan W. Haines, Wayne H. Vinson
  • Patent number: 8856441
    Abstract: A dynamic hard disk mapping method and a server using the same are disclosed. The server includes a first motherboard, a second motherboard, a first disk group corresponding to the first motherboard, and a second disk group corresponding to the second motherboard. In the dynamic hard disk mapping method, at first, a disk redistributing instruction is received and stored. Thereafter, a reset instruction is received and performed. Then, the number of hard disks of the first disk group and the number of hard disks of the second disk group are summed up to obtain a total hard disk number N, wherein N is a positive integer greater than zero. Thereafter, the disk redistributing instruction is read, and a redistribution computation is performed in accordance with the disk redistributing instruction to obtain a third disk group corresponding to the first motherboard and a fourth disk group corresponding to the second motherboard.
    Type: Grant
    Filed: April 9, 2012
    Date of Patent: October 7, 2014
    Assignee: Inventec Corporation
    Inventors: Chia-Ming Wu, Wen-Cheng Huang
  • Patent number: 8856475
    Abstract: A method for storing data in a memory that includes multiple memory blocks, includes running a compaction process that selects one or more memory blocks containing both valid data and invalid data, copies the valid data from the selected memory blocks to other storage locations, and then erases the selected memory blocks. At least one memory block, which meets a criterion predictive of imminent invalidation of at least some of the data in the block, is identified. Selection of the identified memory block in the compaction process is inhibited.
    Type: Grant
    Filed: June 29, 2011
    Date of Patent: October 7, 2014
    Assignee: Apple Inc.
    Inventors: Avraham Meir, Michael Shachar
  • Publication number: 20140289447
    Abstract: An apparatus, system, and method are disclosed for storage space recovery. A storage division selection module selects a first storage division for recovery. The first storage division comprises a portion of solid-state storage in a solid-state storage device. A data recovery module reads valid data from the first storage division in response to selecting the first storage division for recovery. The data recovery module stores the valid data in a second storage division of the solid-state storage device. The data recovery module passes the valid data through at least a portion of a write data pipeline for the solid-state storage device without passing the valid data to a host device and/or without routing the valid data outside of a solid-state storage controller for the solid-state storage device.
    Type: Application
    Filed: November 15, 2011
    Publication date: September 25, 2014
    Applicant: FUSION-IO, INC.
    Inventors: David Flynn, Bert Lagerstedt, John Strasser, Jonathan Thatcher, John Walker, Michael Zappe, Stephan Uphoff, Joshua Aune, Kevin Vigor
  • Patent number: 8838877
    Abstract: A file system programs metadata on a non-volatile memory device. The metadata can include data associating files with ranges of logical block addresses. During a garbage collection process, the data can be used to determine portions of physical blocks of the non-volatile memory device that are associated with files that have been deleted. Using the programmed metadata during garbage collection results in erasure of larger portions of blocks and improved wear leveling.
    Type: Grant
    Filed: September 16, 2009
    Date of Patent: September 16, 2014
    Assignee: Apple Inc.
    Inventors: Nir Jacob Wakrat, Vadim Khmelnitsky, Daniel Jeffrey Post
  • Patent number: 8806159
    Abstract: Storage systems and methods are presented. In one embodiment, a data storage resource management method comprises: performing a data update process, including communicating a data update input output packet between a primary storage resource and a secondary storage resource, wherein corresponding data updates in the secondary storage resource are a mirror of data updates in the primary storage resource; and performing a reclamation process, including: communicating reclamation information in a reclamation input output packet through the same interface as the data update input output packet, wherein the reclamation input output packet is communicated between the primary storage resource and the secondary storage resource; and reclaiming storage locations on the secondary storage resource in accordance with reclamation information in the reclamation input output packet communicated between the primary storage resource and secondary storage resource.
    Type: Grant
    Filed: April 8, 2011
    Date of Patent: August 12, 2014
    Assignee: Symantec Corporation
    Inventor: Kirubakaran Kaliannan
  • Patent number: 8782370
    Abstract: A method for data storage includes providing a memory, which includes multiple groups of memory cells and is configured to concurrently store first data using a first storage configuration having a first access time, and second data using a second storage configuration having a second access time, longer than the first access time, such that each memory cell in each of the groups stores at least one bit of the first data and one or more bits of the second data. Data items are accepted for storage in the memory. The accepted data items are classified into a fast-access class and a normal-access class. The data items in the fast-access class are stored in the memory using the first storage configuration, and the data items in the normal-access class are stored in the memory using the second storage configuration.
    Type: Grant
    Filed: March 22, 2012
    Date of Patent: July 15, 2014
    Assignee: Apple Inc.
    Inventor: Amit Rubowitz
  • Patent number: 8751727
    Abstract: A storage apparatus includes: a memory allowing an operation to be carried out in order to additionally write new write data into a storage area already used for storing previous write data so as to store the new data in the storage area along with the previous write data; an input/output section configured to receive write data in a write access; and a control section configured to write the write data into the memory on the basis of the write access, wherein, in internal processing based on the write access, the control section carries out an additional-write operation for a storage area already used for storing the previous write data in the internal processing.
    Type: Grant
    Filed: February 28, 2011
    Date of Patent: June 10, 2014
    Assignee: Sony Corporation
    Inventors: Keita Kawamura, Shingo Aso
  • Patent number: 8738859
    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: September 13, 2012
    Date of Patent: May 27, 2014
    Assignee: International Business Machines Corporation
    Inventors: Chen-Yong Cher, Michael K. Gschwind
  • Patent number: 8738850
    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: April 30, 2013
    Date of Patent: May 27, 2014
    Assignee: Oracle International Corporation
    Inventors: SangCheol Lee, BongSoo Ko, HyungGook Yoo, SongHee Kang
  • Patent number: 8725974
    Abstract: A method, apparatus and computer program product for providing page-protection based memory access barrier traps is presented. A value for a user-mode bit (u-bit) is computed for each extant virtual page in an address space, the u-bit indicative that an object on the virtual page is being moved by a Garbage Collector process. An instruction is executed which causes an access protection fault. The state of the u-bit for the virtual page associated with the access protection fault is consulted when the access protection fault is encountered. Additionally, the access protection fault is translated into a user-trap (utrap) and the utrap is serviced when the u-bit is set.
    Type: Grant
    Filed: January 17, 2007
    Date of Patent: May 13, 2014
    Assignee: Oracle America, Inc.
    Inventors: David Dice, Antonios Printezis
  • Publication number: 20140122776
    Abstract: A system and method for tuning a solid state disk memory includes computing a metric representing a usage trend of a solid state disk memory. Whether one or more parameters need to be adjusted to provide a change in performance is determined. The parameter is adjusted in accordance with the metric to impact the performance of running workloads. These steps are repeated after an elapsed time interval.
    Type: Application
    Filed: November 15, 2012
    Publication date: May 1, 2014
    Applicant: International Business Machines Corporation
    Inventor: International Business Machines Corporation
  • Publication number: 20140122774
    Abstract: Different FTL implementations, including the use of different mapping schemes, log block utilization, merging, and garbage collection strategies, perform more optimally than others for different data operations with certain characteristics. The presently claimed invention provides a method to distinguish and categorize the different data operations according to their different characteristics, or data attributes; then deploy the most optimal mapping schemes, log block utilization, merging, and garbage collection strategies depending on the data attributes; wherein the data attributes include, but are not limited to, access frequency, access sequence, access size, request mode, and request write ratio.
    Type: Application
    Filed: October 31, 2012
    Publication date: May 1, 2014
    Applicant: Hong Kong Applied Science and Technology Research Institute Company Limited
    Inventor: Hong Kong Applied Science and Technology Research Institute Company Limited
  • Publication number: 20140115291
    Abstract: Methods and systems for garbage collection are provided. The method includes and the system is configured for assigning a garbage collection thread to execute on a first node of a plurality of nodes in a non-uniform memory access (NUMA) computing system, determining whether each of a plurality of application threads is a local thread that is active on the first node, and selecting the local thread for garbage collection by the garbage collection thread when the local thread is active on the first node.
    Type: Application
    Filed: October 19, 2012
    Publication date: April 24, 2014
    Applicant: ADVANCED MICRO DEVICES, INC.
    Inventor: Eric R. Caspole
  • Patent number: 8706953
    Abstract: A method of storing data in a storage medium of a data storage device comprises storing input data in the storage medium, and reading the input data from the storage medium and compressing the read data during a background operation of the data storage device.
    Type: Grant
    Filed: April 28, 2011
    Date of Patent: April 22, 2014
    Assignee: Samsung Electronics Co., Ltd.
    Inventors: Kyoung Lae Cho, Kwang Ho Kim, Jun Jin Kong, Jaehong Kim, Hong Rak Son
  • Patent number: 8706985
    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: July 23, 2013
    Date of Patent: April 22, 2014
    Assignee: Western Digital Technologies, Inc.
    Inventors: William B. Boyle, Robert M. Fallone
  • Publication number: 20140101369
    Abstract: A data storage device comprises a plurality of non-volatile memory devices storing physical pages, each stored at a predetermined physical location. A controller may be coupled to the memory devices and configured to access data stored in a plurality of logical pages (L-Pages), each associated with an L-Page number that enables the controller to logically reference data stored in the physical pages. A volatile memory may comprise a logical-to-physical address translation map that enables the controller to determine a physical location, within the physical pages, of data stored in each L-Page. The controller may be configured to maintain, in the memory devices, journals defining physical-to-logical correspondences, each journal covering a predetermined range of physical pages and comprising a plurality of entries that associate one or more physical pages to each L-Page. The controller may read the journals upon startup and rebuild the address translation map from the read journals.
    Type: Application
    Filed: October 5, 2012
    Publication date: April 10, 2014
    Applicant: WESTERN DIGITAL TECHNOLOGIES, INC.
    Inventor: Western Digital Technologies, Inc.
  • Patent number: 8694748
    Abstract: A data merging method for merging valid data of one logical block in a rewritable non-volatile memory module is provided. The method includes assigning a plurality of log physical blocks for the logical block. The method also includes performing a data arrangement operation and a data move operation with a partial synchronization manner to copy the valid data of the logical block into the lower physical pages of the log physical blocks from a first data physical block and at least one spare physical block while programming the valid data of the logical block into a second data physical block from the lower physical pages of the log physical blocks in units of each physical page group. The method further includes remapping the logical block to the second physical block. Accordingly, the method can effectively shorten the time of merging valid data and improving the reliability of data writing.
    Type: Grant
    Filed: May 24, 2012
    Date of Patent: April 8, 2014
    Assignee: Phison Electronics Corp.
    Inventors: Kiang-Giap Lau, Kheng-Chong Tan
  • Patent number: 8677057
    Abstract: Systems and processes may use a host and an external host. The host may be a portable device that includes a memory, a memory controller, and a communication interface for communication with the external host. The portable device may receive a command signal from the external host and initiate a predetermined amount of wear leveling in response to the command signal.
    Type: Grant
    Filed: February 22, 2011
    Date of Patent: March 18, 2014
    Assignee: Apple Inc.
    Inventors: Michael J. Cornwell, Christopher P. Dudte, Nir Jacob Wakrat
  • Patent number: 8671233
    Abstract: Techniques are described for reducing write operations in memory. In use, write operations to be performed on data stored in memory are identified. A difference is then determined between results of the write operations and the data stored in the memory. Difference information is stored in coalescing memory buffers. To this end, the write operations may be reduced, utilizing the difference information.
    Type: Grant
    Filed: March 15, 2013
    Date of Patent: March 11, 2014
    Assignee: LSI Corporation
    Inventor: Radoslav Danilak
  • Patent number: 8667248
    Abstract: A data storage device is disclosed including a non-volatile media having a first and a second plurality of physical locations, the first plurality of physical locations storing user data and the non-volatile media storing first metadata associating each of the first plurality of physical locations with a logical block address (LBA), and a mapping table including a mapping of each LBA to a current physical location. The data storage device further includes control circuitry that reads the first metadata to obtain a first plurality of LBAs, reads the mapping table to determine a current physical location for the first plurality of LBAs, and compares the current physical location of each of the first plurality of LBAs to a corresponding one of the first plurality of physical locations to identify valid user data in the first plurality of physical locations for migration into the second plurality of physical locations.
    Type: Grant
    Filed: June 16, 2011
    Date of Patent: March 4, 2014
    Assignee: Western Digital Technologies, Inc.
    Inventor: Srinivas Neppalli
  • Patent number: 8650381
    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: Grant
    Filed: August 4, 2011
    Date of Patent: February 11, 2014
    Assignee: Hitachi, Ltd.
    Inventor: Kohei Tatara
  • Patent number: 8645651
    Abstract: A method for queuing update buffers to enhance garbage collection. The method includes running an application thread and providing, for the application thread, a data structure including current and finished update buffer slots. The method includes providing an update buffer for the application thread and storing a pointer to the update buffer in the current update buffer slot. The method includes storing null in the finished update buffer slot and, with the application thread, writing to the update buffer. The thread may write a pointer to the filled update buffer in the finished update buffer slot after the buffer is filled. The method includes using a garbage collector thread to inspect the finished update buffer slot and claim filled buffers and change the pointer to null. The thread then obtains an empty update buffer and updates the current update buffer slot to point to the new buffer.
    Type: Grant
    Filed: January 26, 2010
    Date of Patent: February 4, 2014
    Assignee: Oracle International Corporation
    Inventors: Antonios Printezis, Paul H. Hohensee
  • Publication number: 20140032817
    Abstract: A method for garbage collection in a solid state drive (SSD) includes determining whether the SSD is idle by a garbage collection module of the SSD; based on determining that the SSD is idle, determining a victim block from a plurality of memory blocks of the SSD; determining a number of valid pages in the victim block; comparing the determined number of valid pages in the victim block to a valid page threshold; and based on the number of valid pages in the victim block being less than the valid page threshold, issuing a garbage collection request for the victim block.
    Type: Application
    Filed: July 27, 2012
    Publication date: January 30, 2014
    Applicant: INTERNATIONAL BUSINESS MACHINES CORPORATION
    Inventors: Werner Bux, Robert Haas, Xiao-Yu Hu, Ilias Iliadis
  • Patent number: 8635403
    Abstract: A reconfigurable type of flash memory-based storage device is disclosed. The flash memory-based storage device provides a plurality of mechanisms to accommodate a number of flash memory cards. As the storage capacity of the flash memory cards is increased over the time, so does the flash memory-based storage device by replacing only the flash memory cards.
    Type: Grant
    Filed: July 2, 2011
    Date of Patent: January 21, 2014
    Assignee: O.C.K. Investment B.V. LLC
    Inventors: Yingju Sun, Joe Zheng
  • Patent number: 8631189
    Abstract: A storage apparatus includes: an input/output section configured to input and output data related to an external access; a memory for storing input data input by the input/output section by distributing the input data to a plurality of areas while making use of a cache area for temporarily storing the input data; and a control section configured to make an access to the memory on the basis of the external access and carry out a garbage collection operation on the areas including the cache area in order to release the cache area in the access made to the memory on the basis of the external access.
    Type: Grant
    Filed: February 28, 2011
    Date of Patent: January 14, 2014
    Assignee: Sony Corporation
    Inventors: Keita Kawamura, Shingo Aso
  • 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: 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: 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: 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: 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