Patents Examined by Glenn Gossage
  • Patent number: 9747200
    Abstract: A memory system having non-volatile memory backup with high-speed programming capability. The non-volatile memory, such as flash memory, is pre-aged before first use in a host system. Pre-aging includes execution of a plurality of dummy program and erase cycles as part of the memory system or before assembly as part of the memory system. The memory system can include an NVDIMM having flash memory backup. The pre-aged flash memory programs a page of data in a shorter period of time relative to new flash memory. Fewer flash memory chips are needed in the memory system relative to memory systems using new flash memory chips, thereby reducing cost of the memory system. The NVDIMM may be used to backup data from a volatile memory device such as a DRAM. Programming times may be tracked after each dummy program/erase cycle, and for each programmable page of a memory block.
    Type: Grant
    Filed: July 2, 2014
    Date of Patent: August 29, 2017
    Assignee: Microsemi Solutions (U.S.), Inc.
    Inventor: Rino Micheloni
  • Patent number: 9746986
    Abstract: A storage system includes a plurality of storage devices, including a first storage device and an information processor apparatus for managing the storage system. The first storage device is configured to select a second storage device coupled over a network with the information processor apparatus from among the plurality of storage devices, and assign a representative address such as an Internet Protocol (IP) address to be used for communication with the information processor apparatus to the selected second storage device. The second storage device is configured to receive a request addressed to the representative address from the information processor apparatus, and transfer the request to a third storage device among the plurality of storage devices to process the request. An assigned representative address may be canceled when a storage device fails and an internal IP address may be assigned. Storage devices may be selected based on load and the need for cable or hardwired connections may be reduced.
    Type: Grant
    Filed: December 18, 2015
    Date of Patent: August 29, 2017
    Assignee: FUJITSU LIMITED
    Inventors: Takashi Kuwayama, Tsuyoshi Uchida
  • Patent number: 9734911
    Abstract: A mass storage memory system and method of operation are disclosed. The memory system includes an interface adapted to receive data from a host system, a plurality of memory die and a controller, where the controller is configured to read or write data synchronously across a plurality of die connected to different channels based on a first command, and to read or write data asynchronously and independently in different die in the same channel based on a second command. The controller may program data in a maximum unit of programming for a single memory die. The controller may be a plurality of controllers each configured to select which die of an exclusive subset of die to write data based on characteristics of the die in the subset. The plurality of die may be multi-layer, and multi-partition per layer, flash memory die.
    Type: Grant
    Filed: March 14, 2013
    Date of Patent: August 15, 2017
    Assignee: SanDisk Technologies LLC
    Inventors: Alan Welsh Sinclair, Nicholas James Thomas, Barry Wright
  • Patent number: 9733869
    Abstract: A slave storage is provisioned using metadata of a master B-tree and updates to references (e.g., offsets) pertaining to data operations of the master B-tree. Master-slave pairs can be used to provide data redundancy, and a master copy can include the master B-tree with references to corresponding data. When provisioning a slave copy, the master sends a B-tree copy to the slave, which stores the slave B-tree copy, allocates the necessary space on local storage, and updates respective offsets of the slave B-tree copy to point to the local storage. Data from the master can then be transferred to the slave and stored according to a note and commit process that ensures operational sequence of the data. Operations received to the master during the process can be committed to the slave copy until the slave is consistent with the master and able to take over as master in the event of a failure.
    Type: Grant
    Filed: September 25, 2015
    Date of Patent: August 15, 2017
    Assignee: AMAZON TECHNOLOGIES, INC.
    Inventors: Jianhua Fan, Benjamin Arthur Hawks, Norbert Paul Kusters, Nachiappan Arumugam, Danny Wei, John Luther Guthrie, II
  • Patent number: 9720835
    Abstract: A data processing system and methods for performing cache eviction are disclosed. An exemplary method includes maintaining a metadata set for each cache unit of a cache device, wherein the cache device comprises a plurality of cache units, each cache unit having a plurality of segments, wherein each metadata set includes deletion hints (DH) metadata indicating whether the plurality of segments of a corresponding cache unit are valid. The exemplary method further includes in response to determining that a cache eviction is to be performed, selecting a predetermined number of cache units from the plurality of cache units, and determining a score for each of the selected cache units based on the DH metadata of the respective metadata set. The DH metadata may include, for example, a validation count for each segment group or cache unit. A deprecated segment can be changed back to being valid, and the score for each of the selected cache units may further be determined based on a determined probability.
    Type: Grant
    Filed: January 30, 2015
    Date of Patent: August 1, 2017
    Assignee: EMC IP Holding Company LLC
    Inventors: Philip Shilane, Grant Wallace, Frederick Douglis, Cheng Li
  • Patent number: 9715343
    Abstract: A multidimensional storage array (SA) system includes storage elements (SEs) arranged in storage array partitions, a plurality of input shifters, and a plurality of output shifters. One respective input shifter and output shifter is associated with one partition. The SEs are arranged into rows and columns and each store particular bit(s) of a data word. Each of the input shifters implements a positional shift to a data word that is then loaded to the associated partition. Each of the output shifters unloads a loaded data word, reverses the positional shift of the unloaded data word, and provides the data word to a requesting device, such as a decoder. The loaded data words are exposed so that multiple row or column addressed data words may be unloaded from the SA simultaneously in a single clock cycle. Multiple column or row address data word segments may be physically diagonally arranged within each storage array partition.
    Type: Grant
    Filed: February 23, 2016
    Date of Patent: July 25, 2017
    Assignee: International Business Machines Corporation
    Inventors: Tobias Blaettler, Charles J. Camp, Thomas Parnell
  • Patent number: 9703644
    Abstract: Systems and methods for generating synthetic backups and for consolidating a chain of related backups. The chain of related backups is merged on the fly to create a backup stream. A block allocation table (BAT) may be identified for each backup to be consolidated into a synthetic backup, and BAT entries from each backup may be merged or combined to create a new BAT table associated with the synthetic backup. The data included in the related backups may be reformatted on the fly from big endian to little endian or vice versa. The backup stream is stored on a target device or volume.
    Type: Grant
    Filed: December 9, 2014
    Date of Patent: July 11, 2017
    Assignee: EMC IP Holding Company LLC
    Inventors: Manjunath Jagannatha, Kiran Kumar Madiraju Varadaraju, Pavan Kumar Dattatreya Ati
  • Patent number: 9665435
    Abstract: A storage control apparatus controls storage units in a storage apparatus and includes a memory unit that stores group information identifying a copy-source volume group belonging to a consistency group; and a control unit that creates based on the group information, snapshots of respective volumes of the volume group for a given time point; creates respective difference storage areas to store, as difference data, update data for the respective volumes after the given time point; and transfers to a copy-destination storage apparatus, data of the snapshots of the respective volumes. The control unit further creates snapshots of the respective volumes at an arbitrary time point after the given time point; creates respective difference storage areas to store, as difference data, update data for the respective volumes after the arbitrary time point; and transfers to the copy-destination storage apparatus, the difference data of the respective volumes for the arbitrary time point.
    Type: Grant
    Filed: August 19, 2014
    Date of Patent: May 30, 2017
    Assignee: FUJITSU LIMITED
    Inventors: Kenichi Fujita, Takashi Kuwayama, Noboru Oguri
  • Patent number: 9666285
    Abstract: A mass storage memory system and method of operation are disclosed. The memory system includes an interface adapted to receive data from a host system, a plurality of memory die and a controller, where the controller is configured to read or write data synchronously across a plurality of die connected to different channels based on a first command, and to read or write data asynchronously and independently in different die in the same channel based on a second command. The controller may program data in a maximum unit of programming for a single memory die. The controller may be a plurality of controllers each configured to select which die of an exclusive subset of die to write data based on characteristics of the die in the subset. The plurality of die may be multi-layer, and multi-partition per layer, flash memory die.
    Type: Grant
    Filed: March 14, 2013
    Date of Patent: May 30, 2017
    Assignee: SanDisk Technologies LLC
    Inventors: Alan Welsh Sinclair, Nicholas James Thomas, Barry Wright
  • Patent number: 9652291
    Abstract: Methods and systems for providing a plurality of applications with concurrent access to data are disclosed. One such method includes identifying attributes of an expected data set to be accessed concurrently by the applications, initializing a shared cache with a column data store configured to store the expected data set in columns, and creating a memory map for accessing a physical memory location in the shared cache. The method may also include mapping the applications' data access requests to the shared cache with the memory map. Only one instance of the expected data set is stored in memory, so each application is not required to create additional instances of the expected data set in the application's memory address space. Therefore, larger expected data sets may be entirely stored in memory without limiting the number of applications running concurrently.
    Type: Grant
    Filed: June 3, 2016
    Date of Patent: May 16, 2017
    Assignee: Palantir Technologies, Inc.
    Inventors: Punya Biswal, Beyang Liu, Eugene Marinelli, Nima Ghamsari
  • Patent number: 9645752
    Abstract: Systems and methods for utilization of notification or ordering commands are disclosed that can enable more efficient processing of flush requests from software programs and increase data consistency in storage devices. A storage device can obtain a notification command from a host system identifying one or more data items in a cache of the storage device, determine whether the one or more data items have been committed to non-volatile memory of the storage device, and transmit a notification to the host system upon determining that the one or more data items have been committed. The host system may utilize these commands to process flush requests, such that upon receiving a flush request, a notification command may be issued requesting a notification from the storage device that the relevant data has been committed.
    Type: Grant
    Filed: July 2, 2014
    Date of Patent: May 9, 2017
    Assignee: WESTERN DIGITAL TECHNOLOGIES, INC.
    Inventor: Nathan Obr
  • Patent number: 9645934
    Abstract: A page descriptor can be stored in advance in a memory management unit under various conditions so that an address translation overhead can be reduced. The memory management unit comprises an address translation unit that receives a memory access request as a virtual address and translates the virtual address to a physical address. A translation lookaside buffer (TLB) stores page descriptors of a plurality of physical addresses, the address translation unit determining whether a page descriptor corresponding to a received virtual address is present in the translation lookaside buffer. A prefetch buffer stores page descriptors of the plurality of physical addresses.
    Type: Grant
    Filed: August 19, 2014
    Date of Patent: May 9, 2017
    Assignee: Samsung Electronics Co., Ltd.
    Inventors: Sung-Min Hong, Sim Ji Lee, JaeYoung Hur, JiWoong Kwon, Il Park, Jong-Jin Lee, Jinyong Jung
  • Patent number: 9639296
    Abstract: Systems and methods are disclosed which facilitate management of thin provisioned data storage. Specifically, portions of thinly provisioned data stores may be deallocated when they contain invalid data, such as data deleted by a user. A user may transmit notifications, which may include delete notifications, such as TRIM commands, to a provider of the data store (or to the data store itself) that data has been deleted. A management component may modify the data store, or metadata corresponding to the data store, to reflect the deletion. The management component may further monitor portions of the data store to determine whether individual portions contain entirely invalid data. If so, the portion may be deallocated from the thin provisioned data store, resulting in more efficient thin provisioning. Deallocation may be enabled even where deletion notifications from a user do not correspond directly to allocated storage portions.
    Type: Grant
    Filed: April 5, 2013
    Date of Patent: May 2, 2017
    Assignee: Amazon Technologies, Inc.
    Inventor: Pradeep Vincent
  • Patent number: 9632711
    Abstract: Systems and methods for utilization of notification or ordering commands are disclosed that can enable more efficient processing of flush requests from software programs and increase data consistency in storage devices. For example, when an application requests that a data cache be flushed, a computing device may—instead of completely emptying the data cache—notify the application of a successful flush once relevant data of the application has been committed to non-volatile memory. Targeted notifications, which may identify the relevant data in the data cache, can limit the scope of a flush request, such that the speed and efficiency of the command is increased relative to a non-specific full-cache flush. Such increases in efficiency of flush requests may greatly increase the speed and efficiency of storage devices, and consequently the performance of programs utilizing such storage devices.
    Type: Grant
    Filed: July 2, 2014
    Date of Patent: April 25, 2017
    Assignee: Western Digital Technologies, Inc.
    Inventor: Nathan Obr
  • Patent number: 9632712
    Abstract: A method includes, in a data storage device that includes a non-volatile memory having multiple memory dies, determining whether one or more metablocks are metablock update candidates based on relinking metrics corresponding to the one or more metablocks. Each memory die includes multiple blocks of storage elements, and metablocks are formed through linking of blocks from the multiple memory dies. The method also includes comparing a number of the metablock update candidates to a relinking pool threshold. The method further includes, in response to the number of the metablock update candidates satisfying the relinking pool threshold, updating the linking of the blocks of the metablock update candidates to form updated metablocks. Linking of blocks may be updated by changing fields of a metablock data table, and blocks may be grouped based on block health values to extend an average useful life of the updated metablocks.
    Type: Grant
    Filed: July 2, 2014
    Date of Patent: April 25, 2017
    Assignee: SANDISK TECHNOLOGIES LLC
    Inventor: Zhenlei Shen
  • Patent number: 9632700
    Abstract: A method, system, and computer program product for managing a storage facility are disclosed. A potential file overlay may be detected when performing a file transfer. When a file is common to multiple systems and resides on a shared system storage volume, potential file corruption due to a data transfer request is detected and then able to be prevented. Hardware identifiers such as Universal Unique Identifiers (UUIDs) are used in managing a write of a file to shared system storage. By comparing multiple hardware identifiers, a determination is made as to whether to process the write of the file. If the hardware identifiers mismatch, the write is processed. If the hardware identifiers match, a potential file overlay is detected. Because of the potential file overlay, the write is aborted and a failure notification is returned. A successful overwrite prevention notification may also be returned.
    Type: Grant
    Filed: July 2, 2014
    Date of Patent: April 25, 2017
    Assignee: International Business Machines Corporation
    Inventors: Kimberly T. Bailey, Samuel E. Reynolds, Wayne E. Rhoten, Andrew K. Tracy
  • Patent number: 9606909
    Abstract: Systems and methods are disclosed which facilitate management of thin provisioned data storage. Specifically, portions of thinly provisioned data stores may be deallocated when they contain invalid data, such as data deleted by a user. A user may transmit notifications, which may include write requests corresponding to a defined bit pattern, to a provider of the data store (or to the data store itself) that data has been deleted. A management component may modify the data store, or metadata corresponding to the data store, to reflect the deletion. The management component may further monitor portions of the data store to determine whether individual portions contain entirely invalid data. If so, the portion may be deallocated from the thin provisioned data store, resulting in more efficient thin provisioning. Deallocation may be enabled even where deletion notifications from a user do not correspond directly to allocated storage portions.
    Type: Grant
    Filed: April 5, 2013
    Date of Patent: March 28, 2017
    Assignee: Amazon Technologies, Inc.
    Inventor: Pradeep Vincent
  • Patent number: 9606740
    Abstract: A system, method and computer program product for synchronizing data written to tape with improved data recovery. When writing data to tape, an index is kept in memory and updated to reflect change(s) to a file system mounted on tape. After a predetermined amount of data is written to a tape, a device may perform a sync operation, causing the index to be written into a data partition of the tape. If the sync operation is successful, the index in the index partition of the tape can be updated using a copy of the index in the data partition of the tape next time the tape is mounted. If the sync operation is not successful, the device may write the data to a different location on the same or another tape, update the index, and force another sync operation. This process can be repeated.
    Type: Grant
    Filed: December 10, 2015
    Date of Patent: March 28, 2017
    Assignee: KIP CR P1 LP
    Inventors: Andrew Glen Klein, Robert C. Sims, William H. Moody, II
  • Patent number: 9588884
    Abstract: A method, and system for carrying out the method, for in-place reorganization of content, organized according to an original organization scheme, which is stored in a non-volatile storage of a device, to a target organization scheme. The method includes obtaining instructions to reorganize the content to a defined target organization scheme. The method further includes (i) generating, based on the instructions and applying target organization logic to a virtual storage, a sequence of update commands for generating, in the non-volatile storage, at least one target storage unit organized according to the defined target organization scheme, and (ii) executing the update commands on the non-volatile storage. Potential write-before-read conflicts may be identified based on the sequence of update commands, and potential conflicts resolved by reordering, adding, deleting, altering commands, and/or backing up content.
    Type: Grant
    Filed: March 14, 2013
    Date of Patent: March 7, 2017
    Assignee: RED BEND LTD.
    Inventors: Evyatar Meller, Yoav Salarios
  • Patent number: 9588904
    Abstract: Hierarchical address virtualization within a memory controller and configurable block device allocation are disclosed. Respective virtual block devices (VBDs) are defined in flash memory managed by a common memory controller, with data access managed using address virtualization techniques. The common memory controller then tracks the need for maintenance operations independently for each VBD. Information may be received from the common memory controller regarding the need for maintenance operations in respective virtual block devices (VBDs), and commands are then selectively issued to the common memory controller in a manner so as to independently schedule these operations for the respective VBDs; performance of maintenance operations by the memory controller in a first VBD is unconstrained by performance characteristics associated with a second VBD.
    Type: Grant
    Filed: February 25, 2016
    Date of Patent: March 7, 2017
    Assignee: Radian Memory Systems, Inc.
    Inventors: Robert Lercari, Alan Chen, Mike Jadon, Craig Robertson, Andrey V. Kuzmin