Raid Patents (Class 714/6.22)
  • Patent number: 10936419
    Abstract: Embodiments of the present disclosure provide a method and a device for managing storage system. In an embodiment, a plurality of RAID stripes to be reconstructed in the storage system are determined. A first RAID stripe is selected from a plurality of RAID stripes based on a plurality of I/O load states at a disk extent level for the plurality of RAID stripes at a first storage processor in the storage system, the first RAID having a high I/O load at the disk extent level. Then, a first disk extent for reconstructing the first RAID stripe is determined and the first storage processor is configured to reconstruct data for the first RAID stripe at the first disk extent. A corresponding device to implement the method is further disclosed.
    Type: Grant
    Filed: October 26, 2018
    Date of Patent: March 2, 2021
    Assignee: EMC IP Holding Company LLC
    Inventors: Tao Xu, Hongpo Gao, Jibing Dong, Jian Gao, Changyu Feng, Geng Han
  • Patent number: 10929230
    Abstract: Techniques manage a storage system. The storage system includes at least one part of multiple storage devices, here respective storage devices among the multiple storage devices include a first portion and a second portion, the first portion is for storing data and the second portion is reserved for rebuilding the storage system. The techniques involve: determining a storage device in the at least one part of storage devices fails; recovering data in a first portion of the failed storage device on the basis of data in a first portion of a normal storage device other than the failed storage device in the at least part of storage devices; selecting a group of storage devices from normal storage devices among the multiple storage devices; and writing recovered data to a second portion in the group of selected storage devices. Thereby, the speed of rebuilding the storage system may be increased, and further the overall performance of the storage system may be enhanced.
    Type: Grant
    Filed: December 6, 2018
    Date of Patent: February 23, 2021
    Assignee: EMC IP Holding Company LLC
    Inventors: Jian Gao, Jibing Dong, Xinlei Xu, Geng Han, Jianbin Kang
  • Patent number: 10891066
    Abstract: Example storage systems, storage controllers, and methods provide data redundancy reconfiguration using logical subunits. Storage devices are configured in a storage group with a first data redundancy configuration. A second data redundancy configuration is selected and the space available in the storage group is determined. For each logical data unit, logical data subunits are selected, written to the space available in the second data redundancy configuration, and deleted from the logical data unit. Storage operations using the storage group may be maintained during the migration process.
    Type: Grant
    Filed: December 28, 2018
    Date of Patent: January 12, 2021
    Assignee: INTELLIFLASH BY DDN, INC.
    Inventors: Venkata Ramprasad Darisa, Abhishek Agarwal, Angshuman Devchoudhury
  • Patent number: 10872074
    Abstract: A Distributed Availability Group (DAG) spans two AGs, each spanning one or more replica nodes and functioning as primary or secondary AG. A primary AG is replicated to the secondary AG synchronously or asynchronously. A failover in the DAG results in the AGs swapping their roles. Multiple DAGs can be linked together as a chain, which provides many useful features including disaster recovery across geographical regions, massive read scale (numerous readable secondary nodes), online migration of databases (across different operating systems and computing environments). The systems using DAGs can replicate databases across multiple independent high availability (HA) failover clusters using complex replication topologies and allow for manual failover and failback. The systems allow chaining of multiple AGs to provision a treelike structure of replicas and numerous secondary replicas without impacting performance.
    Type: Grant
    Filed: September 30, 2016
    Date of Patent: December 22, 2020
    Assignee: Microsoft Technology Licensing, LLC
    Inventors: Girish Mittur Venkataramanappa, Zhengguo Sun, Varun Kunjbihari Tibrewal, Steven John Lindell, Sameer Arun Verkhedkar, Sandeep Lingam, Colin Neville
  • Patent number: 10838812
    Abstract: User data to be stored at a data block location of a plurality of data block locations at a storage system may be received. A parity data based on the received user data may be generated. An indication of an occurrence of an event associated with the storage system may be received. In response to receiving the indication of the occurrence of the event, the parity data may be stored by a processing device at a particular data block location of the plurality of data block locations where the particular data block location is situated prior to another data block location, of the plurality of data block locations, that is to store another parity data based on a subsequent user data.
    Type: Grant
    Filed: November 13, 2018
    Date of Patent: November 17, 2020
    Assignee: Micron Technology, Inc.
    Inventor: Daniel A. Boals
  • Patent number: 10825477
    Abstract: Example redundant array of independent disks (RAID) storage systems and methods provide rebuild of logical data groups in priority order. Storage devices are configured as a storage array for storing logical data groups distributed among the storage devices. The logical data groups are written in a configuration of RAID stripes in the storage devices. A logical group index includes a logical group map for each logical data group and identifies corresponding logical blocks. When a storage device fails, the rebuild queue is ordered based on the priority of the logical data groups and rebuild to the replacement storage device is completed in the priority order.
    Type: Grant
    Filed: August 2, 2018
    Date of Patent: November 3, 2020
    Assignee: Western Digital Technologies, Inc.
    Inventor: Adam Roberts
  • Patent number: 10789126
    Abstract: A variety of applications can include apparatus and/or methods that provide parity protection to data spread over multiple memory devices of a memory system. Parity is stored in a buffer, where the parity is generated from portions of data written to a page having a different portion of the page in a portion of each plane of one or more planes of the multiple memory devices. Parity is stored in the buffer for each page. In response to a determination that a transfer criterion is satisfied, the parity data in the buffer is transferred from the buffer to a temporary block. After programming data into the block to close the block, a verification of the block with respect to data errors is conducted. In response to passing the verification, the temporary block can be released for use in a next data write operation. Additional apparatus, systems, and methods are disclosed.
    Type: Grant
    Filed: October 9, 2018
    Date of Patent: September 29, 2020
    Assignee: Micron Technology, Inc.
    Inventors: Harish Reddy Singidi, Xiangang Luo, Preston Thomson, Michael G. McNeeley
  • Patent number: 10776240
    Abstract: A method of monitoring a plurality of storage devices using a storage management system includes receiving and analyzing input/output data related to the storage devices and generating a model in response to the monitoring, including the detected input/output data related to at least a first and a second storage device, and where the input/output data includes at least one measurable storage device aspect. The method also includes determining, in response to the generating, that the first storage device is a control storage device, and that the second storage device is to be compared to the first storage device and comparing the input/output data of the second storage device to the first storage device according to the at least one measurable storage device aspect. The method also includes determining that the second storage device is operating sub-optimally and transmitting a notification that the second storage device is operating sub-optimally.
    Type: Grant
    Filed: May 2, 2017
    Date of Patent: September 15, 2020
    Assignee: Seagate Technology LLC
    Inventors: Christian Bruun Madsen, Estelle Anne-Marie Cormier
  • Patent number: 10776202
    Abstract: In one implementation, a method includes detecting, by a storage system controller associated with a plurality of storage devices, a first anomaly corresponding to a first data shard of a redundant array of independent disks (RAID) group and determining, by the storage system controller, that the first anomaly corresponding to the first data shard is not to be corrected within the RAID group. The method further includes removing the first data shard from the RAID group and recalculating, by the storage system controller, one or more error recovery codes corresponding to the RAID group from a plurality of remaining data shards of the RAID group, without the first data shard.
    Type: Grant
    Filed: September 22, 2017
    Date of Patent: September 15, 2020
    Assignee: PURE STORAGE, INC.
    Inventor: Marco Sanvido
  • Patent number: 10761929
    Abstract: A system and method improve the performance of non-volatile memory storage by rebuilding, on the fly, “lost data” in response to a read request, which identifies data to be read or recovered, by identifying a parity data storage device in a set of data storage devices that contains parity corresponding to the identified data; sending a reconstruction request to a respective data storage device, which may be the parity data storage device or other data storage device in the system, to reconstruct the identified data, and receiving the identified data from the respective data storage device. The reconstruction request commands the respective data storage device to retrieve, via peer-to-peer read requests, from other data storage devices, data from one or more data blocks, and to reconstruct the identified data based on the retrieved data and parity data locally stored at the parity data storage device.
    Type: Grant
    Filed: March 26, 2018
    Date of Patent: September 1, 2020
    Assignee: Western Digital Technologies, Inc.
    Inventors: Vladislav Bolkhovitin, Brian W. O'Krafka, Sanjay Subbarao
  • Patent number: 10725925
    Abstract: A method writing data received from a host device includes determining whether command data of a write command includes metadata, flushing the command data out of a volatile write cache according to a first caching policy responsive to a determination that the command data does includes metadata, and flushing the command data out of the volatile write cache according to a second different caching policy responsive to a determination that the command data does not include metadata.
    Type: Grant
    Filed: September 13, 2018
    Date of Patent: July 28, 2020
    Assignee: SEAGATE TECHNOLOGY LLC
    Inventors: Chee Hou Peng, Mun Kai Lye, WenXiang Xie, Vincent Uy
  • Patent number: 10567007
    Abstract: A method is proposed for processing a data word, in which the data word comprises a first partial data word and a second partial data word, in which first checkbits are defined for the first partial data word, wherein the first partial data word and the first checkbits form a first codeword, in which second checkbits are defined for the second partial data word, wherein the second partial data word and the second checkbits form a second codeword, in which third checkbits are defined for the data word, wherein at least (i) the data word, (ii) a linking of the first checkbits with the second checkbits, and (iii) the third checkbits are parts of a third codeword.
    Type: Grant
    Filed: March 3, 2017
    Date of Patent: February 18, 2020
    Assignee: Infineon Technologies AG
    Inventors: Thomas Kern, Roland Brachmann, Michael Goessel
  • Patent number: 10540091
    Abstract: a method and an apparatus for maintaining reliability of a mapped redundant array of independent disks. The method comprises: determining a first data loss probability, the first data loss probability indicating reliability of a traditional redundant array of independent disks; determining a second data loss probability, the second data loss probability indicating reliability of the mapped redundant array of independent disks; and determining, based on the first and second data loss probabilities, a condition for maintaining the reliability of the mapped redundant array of independent disks. Compared with the prior art, embodiments of the present disclosure can effectively predict the reliability of a mapped RAID through comparison with a traditional RAID, so as to be capable of determining a reliability relationship between the traditional RAID and the mapped RAID. In this way, the reliability of the traditional RAID will not be degraded when being expanded into the mapped RAID.
    Type: Grant
    Filed: February 23, 2017
    Date of Patent: January 21, 2020
    Assignee: EMC IP Holding Company, LLC
    Inventors: Geng Han, Jian Gao, Jibing Dong, Hongpo Gao, Shaoqin Gong
  • Patent number: 10534757
    Abstract: Provided is a data management system including a master group including a data manager configured to manage data, a process manager configured to manage a process of analyzing the data, and a meta data storage unit configured to store meta data information for managing the data; and at least one work group including a work manager configured to manage resources, the data, and a data process on the basis of a scope of groups, and at least one node manager configured to manage the resources, the data, and the data process on the basis of a scope of nodes. The master group and the at least one work group are dispersed from each other.
    Type: Grant
    Filed: July 8, 2016
    Date of Patent: January 14, 2020
    Assignee: ELECTRONICS AND TELECOMMUNICATIONS RESEARCH INSTITUTE
    Inventors: Nguyen Minh Chau, Hee Sun Won
  • Patent number: 10528438
    Abstract: A system and method for managing bad blocks in a hardware accelerated caching solution are provided. The disclosed method includes receiving an Input/Output (I/O) request, performing a hash search for the I/O request against a hash slot data structure, and based on the results of the hash search, either performing the I/O request with a data block identified in the I/O request or diverting the I/O request to a new data block not identified in the I/O request. The diversion may also include diverting the I/O request from hardware to firmware of a memory controller.
    Type: Grant
    Filed: May 25, 2017
    Date of Patent: January 7, 2020
    Assignee: AVAGO TECHNOLOGIES INTERNATIONAL SALES PTE. LIMITED
    Inventors: Horia Simionescu, Gowrisankar Radhakrishnan, Timothy Hoglund, Sridhar Rao Veerla, Panthini Pandit
  • Patent number: 10528265
    Abstract: A data storage system includes a plurality of Data Storage Devices (DSDs). A write command is sent to each DSD of the plurality of DSDs to each store one or more erasure coded shards of an overprovisioned number of shards. The overprovisioned number of shards is generated from an erasure coding on data to provide at least a predetermined level of data reliability. Write complete indications are received for a threshold number of shards less than the overprovisioned number of shards, with each write complete indication indicating that one or more shards of the overprovisioned number of shards has been stored in a DSD. It is determined that the data has been written with at least the predetermined level of data reliability after receiving write complete indications for the threshold number of shards, but before receiving write complete indications for all of the overprovisioned number of shards.
    Type: Grant
    Filed: September 3, 2016
    Date of Patent: January 7, 2020
    Assignee: Western Digital Technologies, Inc.
    Inventors: James N. Malina, Kent Anderson, James C. Alexander
  • Patent number: 10521592
    Abstract: In one embodiment, a software application that is downloaded from an untrusted source is marked, based on the untrusted classification of the source, to be translocated when the software application is launched. When the software application is launched it is translocated, through a mirroring file system, to a random mount point that is a partial bind mount to the real file system that stores the image of the software application (e.g. the image of the software application's bundle).
    Type: Grant
    Filed: April 18, 2017
    Date of Patent: December 31, 2019
    Assignee: Apple Inc.
    Inventors: Simon P. Cooper, Julien Oster, Robert J. Kendall-Kuppe, Christopher S. Linn, Jonathan Grynspan, Keith Stattenfield
  • Patent number: 10506045
    Abstract: A processing device implementing a storage unit is included in a distributed storage network (DSN) that uses employing one or more storage units to store encoded data slices. The storage unit receives an access request that includes a slice identifier associated with an encoded data slice stored in a particular distributed storage (DS) memory of the storage unit. The storage unit obtains a secure seed, and determines a memory range associated with the slice identifier by performing a deterministic function on the slice identifier using the secure seed as an input to the deterministic function. The storage unit identifies the particular DS memory as being associated with the memory range, and performs the access request using the particular DS memory.
    Type: Grant
    Filed: December 8, 2017
    Date of Patent: December 10, 2019
    Assignee: PURE STORAGE, INC.
    Inventors: Ilya Volvovski, Jason K. Resch
  • Patent number: 10467074
    Abstract: Systems and methods are disclosed for a journal for a storage class memory device. The storage class memory device may execute an access command for a first page in the storage class memory device. The storage class memory device may also determine whether a failure occurred while executing the access command. The storage class memory device may create an entry in a journal for the storage class memory device if a failure occurred while executing the access command. The storage class memory device may refrain from creating the entry if a failure does not occur while executing the access command.
    Type: Grant
    Filed: December 30, 2016
    Date of Patent: November 5, 2019
    Assignee: WESTERN DIGITAL TECHNOLOGIES, INC.
    Inventors: Kiran Kumar Gunnam, Viacheslav Anatolyevich Dubeyko
  • Patent number: 10402122
    Abstract: A method for transferring encoded data slices from a first storage unit to a second storage unit begins by a processing module ascertaining a first mathematical process used to determine that the encoded data slices are to be stored in the first storage unit, where the first mathematical process includes a first mathematical function sequence and a first set of coefficients. The method continues with the processing module determining a second mathematical process, which indicates that the encoded data slices are to be stored in the second storage unit, where the second mathematical process corresponds to an adjustment of at least one of the first mathematical function sequence and the first set of coefficients. The method continues with the processing module transferring, based on a transfer command, the encoded data slices from the first storage unit to the second storage unit utilizing the second mathematical process.
    Type: Grant
    Filed: March 28, 2016
    Date of Patent: September 3, 2019
    Assignee: PURE STORAGE, INC.
    Inventors: Jason K. Resch, Manish Motwani
  • Patent number: 10289336
    Abstract: Technology for relocating data stored in an end of life source storage drive that identifies individual destination drive extents corresponding to drive extents located in the source storage drive by selecting individual storage drives within a set of healthy storage drives in a group of storage drives in a round robin manner and identifying an individual destination drive extent from each selected storage drive. The corresponding destination drive extents replace the drive extents located in the source storage drive, and are used to store data copied from the drive extents located in the source storage drive. Data is copied in parallel from a set of multiple drive extents located in the source storage drive that is selected based on the current total input/output load determined for each storage drive in the set of healthy storage drives, and on the storage drives on which the corresponding destination drive extents are located.
    Type: Grant
    Filed: February 5, 2018
    Date of Patent: May 14, 2019
    Assignee: EMC IP Holding Company LLC
    Inventors: Qingyun Liu, Jamin Kang, Shaoqin Gong, Ree Sun, Jian Gao
  • Patent number: 10241877
    Abstract: A data storage system includes a controller, a hot spare storage device and a plurality of primary storage devices. The controller utilizes the hot spare storage device to mirror only a subset of each stripe of logical pages written across the data storage array, where the subset includes a logical page determined by a write input/output operation (IOP) policy. In response to receipt of a write IOP, the controller writes a stripe including a plurality of logical data pages and a logical data protection page across the plurality of primary storage devices and mirrors the logical page determined by the write IOP policy on the hot spare storage device. In response to a failure of a storage device among the plurality of primary storage devices, contents of the failed storage device not already mirrored on the hot spare storage device are rebuilt on the hot spare storage device.
    Type: Grant
    Filed: December 12, 2016
    Date of Patent: March 26, 2019
    Assignee: International Business Machines Corporation
    Inventors: Charles J. Camp, Lev M. Shuhatovich
  • Patent number: 10229023
    Abstract: A computer-implemented method for managing storage devices in a storage subsystem having an array of storage devices, according to one embodiment, includes determining that at least one storage device in the array of storage devices has failed. Storage device characteristics of the failed storage device are compared with storage device characteristics of each of a plurality of candidate devices, and an attempt is made to identify a first candidate storage device having storage device characteristics that match the storage device characteristics of the failed storage device. A second candidate storage device having storage device characteristics most similar to the storage device characteristics of the failed storage device is identified in response to not identifying a candidate device that matches the failed storage device.
    Type: Grant
    Filed: December 18, 2015
    Date of Patent: March 12, 2019
    Assignee: International Business Machines Corporation
    Inventors: Eric J. Bartlett, Matthew J. Fairhurst, William J. Scales
  • Patent number: 10089026
    Abstract: Techniques are disclosed for using virtual drives to provide RAID groups in a data storage system. A pool of virtual drives is generated by i) dividing each one of a set of physical drives into multiple regions of physically contiguous non-volatile data storage, and ii) allocating individual regions of physically contiguous non-volatile data storage to corresponding virtual drives contained in a pool of virtual drives. RAID groups are then formed, where each one of the RAID groups is made up of a set of virtual drives assigned to the RAID group from the pool of virtual drives. One or more storage objects is then mapped to each RAID group, and host I/O operations received by the data storage system and directed to the storage object mapped to the RAID group are serviced using the set of virtual drives assigned to the RAID group.
    Type: Grant
    Filed: December 29, 2016
    Date of Patent: October 2, 2018
    Assignee: EMC IP Holding Company LLC
    Inventors: Peter Puhov, Robert P. Foley, Jian Gao, Geng Han, Jibing Dong
  • Patent number: 10067696
    Abstract: Systems and processes to prevent storage capacity exhaustion within distributed storage systems using chunk-based storage. The systems and processes control capacity by classifying various types of storage chunks into groups and impose used capacity thresholds on chunk groups.
    Type: Grant
    Filed: June 20, 2016
    Date of Patent: September 4, 2018
    Assignee: EMC Corporation
    Inventors: Mikhail Malygin, Mikhail Danilov, Chen Wang, Ivan Tchoub, Andrey Fomin
  • Patent number: 10033803
    Abstract: A method for performing auto-repair of a data volume may include determining a number of unavailable shards from a plurality of shards associated with a data volume. The plurality of shards may be stored in a plurality of data centers. The data volume may be erasure-coded with a total of N shards and can be reconstructed using at least K available shards out of the N shards. The unavailable shards may be filtered to exclude shards that have been unavailable for less than a threshold amount of time. For each of the plurality of data centers, a total number of unavailable shards may be determined if the data center is disabled. The total number of unavailable shards may be based at least in part on a number of shards associated with the data volume and stored at the data center, and a number of the filtered unavailable shards stored at the remaining plurality of data centers.
    Type: Grant
    Filed: October 31, 2014
    Date of Patent: July 24, 2018
    Assignee: Amazon Technologies, Inc.
    Inventors: Jonathan Robert Collins, Divya Malika Patruni, Neha Sherpa, Bogdan Munteanu
  • Patent number: 9886195
    Abstract: The disclosed embodiments provide a system for analyzing data from a monitored system. During operation, the system identifies a difference between a performance of an application and a service-level agreement (SLA) of the application. Next, the system determines a correlation between the performance of the application and a disk input/output (I/O) performance of a data storage device used by the application. When the correlation exceeds a threshold, the system outputs a recommendation to migrate the application between the data storage device and a different type of data storage device.
    Type: Grant
    Filed: January 14, 2016
    Date of Patent: February 6, 2018
    Assignee: Microsoft Technology Licensing, LLC
    Inventors: Zhenyun Zhuang, Sergiy Zhuk, Haricharan K. Ramachandra, Badrinath K. Sridharan
  • Patent number: 9842660
    Abstract: A method for managing a non-volatile random-access memory (NVRAM)-based storage subsystem, the method including: monitoring, by a slave controller on a NVRAM device of the NVRAM-based storage subsystem, an I/O operation on the NVRAM device; identifying, by the slave controller and based on the monitoring, at least one occurrence of error data; comparing, by the slave controller, a numeric aspect of the at least one occurrence of error data with a threshold setting; reporting, by the slave controller on the NVRAM device and to a master controller of the NVRAM-based storage subsystem, the at least one occurrence of error data in response to the numeric aspect crossing the threshold setting; and ascertaining, by the master controller of the NVRAM-based storage system, a physical location of a defect region on the NVRAM device where the error data has occurred by analyzing the reported at least one occurrence of error data.
    Type: Grant
    Filed: March 15, 2013
    Date of Patent: December 12, 2017
    Assignee: VIRIDENT SYSTEMS, LLC
    Inventors: Vijay Karamcheti, Ashish Singhai, Ashwin Narasimha, Muthugopalkrishnan Adiseshan, Viswesh Sankaran, Ajith Kumar
  • Patent number: 9824763
    Abstract: A memory system includes: a memory device comprising a plurality of memory dies, each memory die including a plurality of planes, each plane including a plurality of memory blocks, each memory block including a plurality of pages, each page including a plurality of memory cells in which data is stored; and a controller suitable for, after a first time when the memory system in a power-on state performs a program operation corresponding to a write command received from a host, on first pages of the memory blocks, and records program information on the program operation in a list, in the case where power off occurs at a second time while the memory system performs a program operation on second pages of the memory blocks, checking the program information recorded in the list after the memory system is changed from a power-off state to the power-on state at a third time, and performing a recovery operation for the memory blocks for which a program operation was not completed due do the power off.
    Type: Grant
    Filed: January 13, 2017
    Date of Patent: November 21, 2017
    Assignee: SK Hynix Inc.
    Inventor: Eu-Joon Byun
  • Patent number: 9747973
    Abstract: A data writing method for a solid state storage device includes following steps. A step (a) is performed to judge whether a shutdown command is issued from a host. In a step (b), if the solid state storage device confirms that the shutdown command is not issued from the host, plural program procedures are performed. Consequently, plural write data in a buffer are stored to a triple-level cell flash memory according to a program order. In a step (c), if the solid state storage device confirms that the shutdown command is issued from the host, plural redundant data are added to the plural write data, the write data are stored into the buffer, and the plural program procedures are performed. Consequently, the plural write data in the buffer are stored to the triple-level cell flash memory according to the program order.
    Type: Grant
    Filed: January 11, 2016
    Date of Patent: August 29, 2017
    Assignees: LITE-ON ELECTRONICS (GUANGZHOU) LIMITED, LITE-ON TECHNOLOGY CORPORATION
    Inventors: Ming-Hsuan Lee, Sen-Ming Chuang, Jen-Cheng Liu
  • Patent number: 9740440
    Abstract: A RAID controller stores data in a hybrid asymmetric mix of a RAID 1 mirror and a parity-based RAID array, wherein a first side of the RAID 1 mirror includes a single data storage device storing an operating system image and a second side of the RAID 1 mirror includes a plurality of data storage devices forming a parity-based RAID array. The RAID controller normally calculates parity using data from both the single data storage device and the plurality of data storage devices. However, in response to a user command, the RAID controller recalculates parity stripes on each of the plurality of data storage devices using a predetermined data pattern for a logical data storage device logically replacing the single data storage device storing the operating system. Accordingly, the same stripe count is maintained and the parity-based RAID array maintains redundancy despite physical separation of the single data storage device.
    Type: Grant
    Filed: May 21, 2015
    Date of Patent: August 22, 2017
    Assignee: Lenovo Enterprise Solutions (Singapore) Pte. Ltd.
    Inventors: Gary D. Cudak, Christopher J. Hardee, Lydia M. Do, Adam Roberts
  • Patent number: 9679611
    Abstract: A method implemented by a status-monitoring device connected between a storage device and a corresponding output unit includes: a) determining presence of a storage device according to a first packet from the storage device; b) when it is determined that the storage device is present, generating a pulse signal according to a second packet from the storage device; c) generating a driving signal indicating a status associated with the storage device according to at least a logic level of the pulse signal; and d) sending the driving signal to the output unit for driving the output unit to output an output signal indicating the status.
    Type: Grant
    Filed: September 28, 2015
    Date of Patent: June 13, 2017
    Assignee: MITAC COMPUTING TECHNOLOGY CORPORATION
    Inventors: Yi-Hao Hong, Che-Wei Chang, Chi-Hsing Wang, Hsin-Ta Huang
  • Patent number: 9632870
    Abstract: A data memory system is described, where there may be an asymmetry in the time needed to write or erase data and the time needed to read data. The data may be stored using a RAID data storage arrangement and the reading, writing and erasing operations on the modules arranged such that the erasing and writing operations may be performed without significant latency for performing a read operation. Where a failure of a memory module in the memory system occurs, methods for recovering the data of the failed module are disclosed which may selected in accordance with policies that may relate to the minimizing the possibility of irretrievable data loss, or degradation of latency performance.
    Type: Grant
    Filed: October 8, 2010
    Date of Patent: April 25, 2017
    Assignee: Violin Memory, Inc.
    Inventor: Jon C. R. Bennett
  • Patent number: 9626246
    Abstract: A data storage system employs a de-clustered RAID (DCR) organization with a Vertical Rotation approach to prevent overflow of cache buffers. The Vertical Rotation Controller limits the size of the I/O operation relative to a respective Physical Disk Extent (PDE) to the cache buffer, and writes/reads a computed parity stripe matching the size of the cache, to form chunk bundles in the PDEs. When a bundle is filled in a first PDE residing at a first row, a PDE residing at a second row vertically displaced from the first row is engaged for forming another bundle. The process continues until all PDEs in a Vertical Rotation Group (VRG) are filled, or continues to a next VRG vertically displaced from a previous one to end I/O requesting.
    Type: Grant
    Filed: September 10, 2015
    Date of Patent: April 18, 2017
    Assignee: DataDirect Networks, Inc.
    Inventor: Micheal S. Parkhurst
  • Patent number: 9569136
    Abstract: A mechanism is provided for balancing workload to one or more storage disks in a plurality of storage disks during redistribution or replication associated with adding or removing a storage disk to the plurality of storage disks. Historical information in collected information from the plurality of storage disks is analyzed to identify I/O operation patterns on a per storage disk level. An average amount of I/O operations that occur within each storage disk for a given time period are identified. For each storage disk that is impacted, a disk on/off-hoarding plan is generated that identifies a subset of I/O operations from a set of I/O operations to execute in the given time period using the average amount of I/O operations that historically occur within the storage disk that is impacted during the given time period. The subset of I/O operations are then executed in the given time period.
    Type: Grant
    Filed: April 29, 2015
    Date of Patent: February 14, 2017
    Assignee: International Business Machines Corporation
    Inventors: Liang Fang, Jie P. Wu, Jun W. Zhang, Xiao D. Zhang
  • Patent number: 9519554
    Abstract: In a storage system which supports a redundant disk configuration, while securing fault tolerance, a longer drive access time as well as a drop in I/O throughput are prevented when a redundant data update, generated due to a data update, is mirrored in the drive. A controller for controlling data I/O to and from the drive updates first redundant data and block data of a corresponding data stripe in the disk drive in correspondence with an update of block data of the logical volume, and the controller updates second redundant data on the basis of a predetermined number of block data which belong to the same data stripe as the updated block data with different timing from the update of the block data.
    Type: Grant
    Filed: April 4, 2014
    Date of Patent: December 13, 2016
    Assignee: Hitachi, Ltd.
    Inventor: Hiroaki Akutsu
  • Patent number: 9430341
    Abstract: Failover in a data center that includes a multi-density server, where the multi-density server includes multiple independent servers, includes; detecting, by a management module, a failure of one of the independent servers of the multi-density server; identifying, by the management module, a failover target; determining, by the management module, whether the failover target is a non-failed independent server included in the multi-density server; and responsive to determining that the failover target is a non-failed independent server included in the multi-density server, migrating, by the management module, the failed independent server's workload to another server that is not included in the multi-density server.
    Type: Grant
    Filed: November 22, 2013
    Date of Patent: August 30, 2016
    Assignee: International Business Machines Corporation
    Inventors: Nicholas J. Balogh, Albert D. Bennah, Adrian X. Rodriguez
  • Patent number: 9417821
    Abstract: In accordance with embodiments disclosed herein, there are provided methods, systems, mechanisms, techniques, and apparatuses for presentation of direct accessed storage under a logical drive model; for implementing a distributed architecture for cooperative NVM Data protection; data mirroring for consistent SSD latency; for boosting a controller's performance and RAS with DIF support via concurrent RAID processing; for implementing arbitration and resource schemes of a doorbell mechanism, including doorbell arbitration for fairness and prevention of attack congestion; and for implementing multiple interrupt generation using a messaging unit and NTB in a controller through use of an interrupt coalescing scheme.
    Type: Grant
    Filed: September 30, 2011
    Date of Patent: August 16, 2016
    Assignee: Intel Corporation
    Inventors: Thomas M. Slaight, Sivakumar Radhakrishnan, Mark Schmisseur, Pankaj Kumar, Saptarshi Mondal, Sin S. Tan, David C. Lee, Marc T. Jones, Geetani R. Edirisooriya, Bradley A. Burres, Brian M. Leitner, Kenneth C. Haren, Michael T. Klinglesmith, Matthew R. Wilcox, Eric J. Dahlen
  • Patent number: 9323616
    Abstract: A method of defining a layout mapping function for a parity distributed RAID array including a plurality of target objects, the layout mapping function defining the mapping of the group-address space to the target-address space in the array and including a matrix defining a unit space across a plurality of target objects, the matrix Includes columns defining the target objects and rows defining equally-offset sequential units on the target objects, the method including: a) defining, on a computing apparatus, a layout of stripe groups across the target objects by defining a pattern including a plurality of stripe groups into a predetermined pattern and repeating the pattern across the matrix, each stripe group including a plurality of data units and a plurality of parity units; and b) implementing, on a computing apparatus, the layout on the target objects of the RAID array.
    Type: Grant
    Filed: March 20, 2014
    Date of Patent: April 26, 2016
    Assignee: Xyratex Technology Limited
    Inventors: Eugene Mathew Taranta, II, Stephen F. O'Neil
  • Patent number: 9304875
    Abstract: A technique for operating a storage area network includes detecting an input/output operation failure associated with a logical unit number, which is associated with a first target port. The technique also includes determining, subsequent to the detected input/output operation failure, whether the logical unit number is associated with a second target port. Finally, the technique includes routing subsequent input/output operations for the logical unit number to the logical unit number via the second target port, in response to determining that the logical unit number is associated with the second target port.
    Type: Grant
    Filed: November 30, 2012
    Date of Patent: April 5, 2016
    Assignee: International Business Machines Corporation
    Inventors: Kiran Kumar Anumalasetty, Phani Kumar Ayyagari, Sudhir Maddali, Ramesh Kumar Marupaka, Sanket Rathi
  • Patent number: 9304694
    Abstract: A system and method for effectively scheduling read and write operations among a plurality of solid-state storage devices. A computer system comprises client computers and data storage arrays coupled to one another via a network. A data storage array utilizes solid-state drives and Flash memory cells for data storage. A storage controller within a data storage array comprises an I/O scheduler. The characteristics of corresponding storage devices are used to schedule I/O requests to the storage devices in order to maintain relatively consistent response times at predicted times. Should a device exhibit an unscheduled behavior which may be indicative of the device being in an unknown state, the scheduler may schedule one or more reactive operations on the device configured to cause the device to enter a known state.
    Type: Grant
    Filed: April 23, 2014
    Date of Patent: April 5, 2016
    Assignee: Pure Storage, Inc.
    Inventors: John Colgrove, John Hayes, Bo Hong, Feng Wang, Ethan Miller, Craig Harmer
  • Patent number: 9280579
    Abstract: An improved system and method for query processing in a distributed column chunk data store is provided. A distributed column chunk data store may be provided by multiple storage servers operably coupled to a network. A storage server provided may include a database engine for partitioning a data table into the column chunks for distributing across multiple storage servers, a storage shared memory for storing the column chunks during processing of semantic operations performed on the column chunks, and a storage services manager for striping column chunks of a partitioned data table across multiple storage servers. Query processing may be performed by storage servers or query processing servers operably coupled by a network to storage servers in the column chunk data store. To do so, a hierarchy of servers may be dynamically determined to process execution steps of a query transformed for distributed processing.
    Type: Grant
    Filed: September 20, 2010
    Date of Patent: March 8, 2016
    Assignee: Google Inc.
    Inventor: Radha Krishna Uppala
  • Patent number: 9274717
    Abstract: A storage system comprises a cache for caching data blocks and storage devices for storing blocks. A storage operating system may deduplicate sets of redundant blocks on the storage devices based on a deduplication requirement. Blocks in cache are typically deduplicated based on the deduplication on the storage devices. Sets of redundant blocks that have not met the deduplication requirement for storage devices and have not been deduplicated on the storage devices and cache are targeted for further deduplication processing. Sets of redundant blocks may be further deduplicated based on their popularity (number of accesses) in cache. If a set of redundant blocks in cache is determined to have a combined number of accesses being greater than a predetermined threshold number of accesses, the set of redundant blocks is determined to be “popular.” Popular sets of redundant blocks are selected for deduplication in cache and the storage devices.
    Type: Grant
    Filed: April 25, 2014
    Date of Patent: March 1, 2016
    Assignee: NetApp, Inc.
    Inventor: Manoj Nayak
  • Patent number: 9262286
    Abstract: Failover in a data center that includes a multi-density server, where the multi-density server includes multiple independent servers, includes; detecting, by a management module, a failure of one of the independent servers of the multi-density server; identifying, by the management module, a failover target; determining, by the management module, whether the failover target is a non-failed independent server included in the multi-density server; and responsive to determining that the failover target is a non-failed independent server included in the multi-density server, migrating, by the management module, the failed independent server's workload to another server that is not included in the multi-density server.
    Type: Grant
    Filed: November 19, 2013
    Date of Patent: February 16, 2016
    Assignee: International Business Machines Corporation
    Inventors: Nicholas J. Balogh, Albert D. Bennah, Adrian X. Rodriguez
  • Patent number: 9262265
    Abstract: A storage system has a RAID group configured by storage media, a system controller with a processor, a buffer memory coupled to storage devices and the processor by a communication network, and a cache memory coupled to the processor and the buffer memory by the network. A processor that stores first data, which is related to a write request from a host computer, in a cache memory, specifies a first storage device for storing data before update, which is data obtained before updating the first data, and transfers the first data to the specified first storage device. A first device controller transmits the first data and second data based on the data before update, from the first storage device to the system controller. The processor stores the second data in the buffer memory, specifies a second storage device, and transfers the stored second data to the specified second storage device.
    Type: Grant
    Filed: February 16, 2015
    Date of Patent: February 16, 2016
    Assignee: Hitachi, Ltd.
    Inventor: Tomohiro Yoshihara
  • Patent number: 9253256
    Abstract: A method and apparatus for establishing multiple network sessions over an arbitrary network topology comprises receiving network configuration information describing an initiator system and a target controller. The initiator system contains one or more initiator ports. The target controller contains one or more target ports. Each target port is associated with one or more target nodes. A set of pre-defined rules is identified. The set of pre-defined rules governs the establishment of network sessions between the initiator ports and the target nodes through the target ports. One or more network sessions are established based on the set of pre-defined rules and the network configuration information.
    Type: Grant
    Filed: November 27, 2007
    Date of Patent: February 2, 2016
    Assignee: International Business Machines Corporation
    Inventors: Jesse Paul Arroyo, Josep Cors, David Lee Dosch, Mark Harrison Goff, Jonathan Louis Kaus, Kyle Alan Lucke, Michael Anthony Migliacio, Randall Scott Nelson
  • Patent number: 9229797
    Abstract: Techniques for a method of processing events are described. A first notification is received regarding an occurrence of a first event identifying a first physical drive coming online. It is determined whether the first event is dependent on one or more other events that have not yet occurred. If it is determined that the first event depends on one or more other events that have not yet occurred, performing first processing to defer processing of the first event until the one or more other events have occurred. If it is determined that the first event does not depend on the one or more other events that have not yet occurred, the first event is processed.
    Type: Grant
    Filed: December 26, 2013
    Date of Patent: January 5, 2016
    Assignee: EMC Corporation
    Inventors: Zhipeng Hu, Jian Gao, Wei He, Hongpo Gao, Marc Cassano
  • Patent number: 9229812
    Abstract: A method that includes calculating multiple set parity units for multiple sets of data units that are cached in a storage system thereby providing a group of units that includes multiple sets of units. Each set of units includes a set of data units and at least one associated set parity unit that facilitate a reconstruction of the set of units when a first number of units of the set of units is lost. Calculating at least one group parity unit for the group of units. A combination of the at least one group parity unit and at least one associated set parity unit facilitate a reconstruction of the set of units upon a failure of a second number of units of the set of units. The second number of units of the set of units exceeds the first number of units of the set of units. Destaging the group of units and the at least one group parity unit to multiple disks of the storage system.
    Type: Grant
    Filed: February 10, 2014
    Date of Patent: January 5, 2016
    Assignee: INFINIDAT LTD.
    Inventors: Yechiel Yochai, Ido Ben-Tsion
  • Patent number: 9207873
    Abstract: Data objects can be migrated, while live, to virtualized clustered storage arrays in an efficient manner to allow for efficient transition from non-clustered storage to the virtualized clustered storage arrays. A data migration specification indicates data objects to be migrated and parameters for the migration. The parameters include a source of a data object, a destination of the data object in the virtualized clustered storage arrays, and a transfer space. A migration engine validates and parses the data migration specification. For each unique association of source, destination, and transfer space, the migration engine instantiates a migration process that drives and monitors migration of the corresponding data object. The migration processes operate in parallel for migration of the specified data objects into the virtualized clustered storage arrays.
    Type: Grant
    Filed: December 19, 2013
    Date of Patent: December 8, 2015
    Assignee: NetApp, Inc.
    Inventor: Steven Boyd Nelson
  • Patent number: 9166972
    Abstract: A distributing device for generating private information correctly even if shared information is destroyed or tampered with. A shared information distributing device for use in a system for managing private information by a secret sharing method, including: segmenting unit that segments private information into a first through an nth pieces of shared information; first distribution unit that distributes the n pieces of shared information to n holding devices on a one-to-one basis; and second distribution unit that distributes the n pieces of shared information to the n holding devices so that each holding device holds an ith piece of shared information distributed by the first distribution unit, as well as a pieces of shared information being different from the ith piece of shared information in ordinal position among n pieces of shared information, “i” being an integer in a range from 1 to n.
    Type: Grant
    Filed: November 25, 2014
    Date of Patent: October 20, 2015
    Assignee: Panasonic Corporation
    Inventors: Manabu Maeda, Masao Nonaka, Yuichi Futa, Kaoru Yokota, Natsume Matsuzaki, Hiroki Shizuya, Masao Sakai, Shuji Isobe, Eisuke Koizumi, Shingo Hasegawa, Masaki Yoshida