Raid Patents (Class 714/6.22)
  • Patent number: 11461170
    Abstract: Methods, systems, and devices for error caching techniques for improved error correction in a memory device are described. An apparatus, such as a memory device, may use an error cache to store indications of memory cells identified as defective and may augment an error correction procedure using the stored indications. If one or more errors are detected in data read from the memory array, the apparatus may check the error cache, and if a bit of the data is indicated as being associated with a defective cell, the bit may be inverted. After such inversion, the data may be checked for errors again. If the inversion corrects an error, the resulting data may be error-free or may include a reduced quantity of errors that may be correctable using an error correction scheme.
    Type: Grant
    Filed: August 14, 2020
    Date of Patent: October 4, 2022
    Assignee: Micron Technology, Inc.
    Inventors: Sean S. Eilert, William A. Melton, Justin Eno
  • Patent number: 11416447
    Abstract: In some examples, a computer system may receive a data object including object data. For example, the system may be one of three or more systems and each system may be located at a different respective geographic location. The system may determine a value representative of the object data content. The system may further determine a plurality of chunks by dividing the object data into a plurality of data chunks based on a total number of the systems and determining a parity chunk for the plurality of data chunks. The system may determine a respective role value corresponding to each of the systems, and may send individual ones of the chunks to respective ones of the systems based on the role value and the value representative of the object data content. In some examples, each system may perform data deduplication independently of the other systems based on received chunks.
    Type: Grant
    Filed: June 8, 2017
    Date of Patent: August 16, 2022
    Assignee: HITACHI VANTARA LLC
    Inventor: Kevin Canuette Grimaldi
  • Patent number: 11409704
    Abstract: Embodiments of the present disclosure provide a method, a device and a computer program product for managing a storage system. A method of managing a storage system comprises: determining whether a response time of a file system operation occurring in the storage system exceeds a first predetermined threshold, wherein the storage system comprises at least a memory and a plurality of storage devices and wherein the file system operation synchronizes data stored in the memory to at least one storage device from the plurality of storage devices. The method comprises: in response to the response time exceeding the first predetermined threshold, obtaining trace information related to the file system operation. In addition, the method further comprises determining, by analyzing the trace information, one or more factors that cause timeout of the file system operation.
    Type: Grant
    Filed: February 26, 2019
    Date of Patent: August 9, 2022
    Assignee: EMC IP HOLDING COMPANY LLC
    Inventors: Bing Liu, Wei Lin
  • Patent number: 11402998
    Abstract: A technique balances data storage activity within a mapped-RAID environment. The technique involves selecting, by processing circuitry, a source slice of storage from multiple slices of storage of the mapped-RAID environment, the source slice containing particular data to be relocated. The technique further involves selecting, by the processing circuitry, a destination slice of storage from the multiple slices of storage of the mapped-RAID environment. The technique further involves relocating, by the processing circuitry, the particular data from the source slice to the destination slice to balance data storage activity within the mapped-RAID environment. The mapped-RAID environment includes multiple storage devices. Each storage device provides multiple non-overlapping device extents.
    Type: Grant
    Filed: April 27, 2017
    Date of Patent: August 2, 2022
    Assignee: EMC IP Holding Company LLC
    Inventor: Nickolay Alexandrovich Dalmatov
  • Patent number: 11379155
    Abstract: One embodiment facilitates flash storage management. During operation, the system receives a request to write data to a non-volatile memory. The system writes, in a buffer in association with a controller, the data to a next available portion of a current physical page in a page stripe, wherein the page stripe includes physical pages which each correspond to a sequentially ordered die of the non-volatile memory. The system provides power-loss protection to the current physical page and a second physical page which indicates parity information for the page stripe, thereby providing power-loss protection to an increased number of partially full page stripes.
    Type: Grant
    Filed: May 24, 2018
    Date of Patent: July 5, 2022
    Assignee: Alibaba Group Holding Limited
    Inventors: Ping Zhou, Shu Li
  • Patent number: 11379301
    Abstract: Higher-level redundancy information computation enables a Solid-State Disk (SSD) controller to provide higher-level redundancy capabilities to maintain reliable operation in a context of failures of non-volatile (e.g. flash) memory elements during operation of an SSD implemented in part by the controller. For example, a first computation is an XOR, and a second computation is a weighted-sum. Various amounts of storage are dedicated to storing the higher-level redundancy information, such as amounts equivalent to an integer multiple of flash die (e.g. one, two, or three entire flash die), and such as amounts equivalent to a fraction of a single flash die (e.g. one-half or one-fourth of a single flash die).
    Type: Grant
    Filed: March 20, 2020
    Date of Patent: July 5, 2022
    Assignee: Seagate Technology LLC
    Inventor: Earl T. Cohen
  • Patent number: 11341010
    Abstract: Techniques for rebuilding a failed drive of a plurality of drives are provided. The techniques include: (a) determining a number of empty data stripes that have been allocated from the plurality of drives; (b) applying a set of decision criteria to the determined number to yield a decision, wherein applying the set of decision criteria yields a first decision at a first time and a differing second decision at a second time; (c) in response to the first decision at the first time, deallocating an empty data stripe that was allocated from the plurality of drives to yield a plurality of data extents on disparate drives of the plurality of drives and continuing to rebuild the failed drive onto at least one of the plurality of data extents; and (d) in response to the second decision at the second time, pausing rebuilding the failed drive until applying the set of decision criteria yields the first decision.
    Type: Grant
    Filed: January 15, 2020
    Date of Patent: May 24, 2022
    Assignee: EMC IP Holding Company LLC
    Inventors: Geng Han, Hongpo Gao, Jian Gao, Shuyu Lee, Vamsi K. Vankamamidi
  • Patent number: 11334433
    Abstract: A first data location is identified, where the first data location is predetermined to store a first parity data based on a plurality of user data at a plurality of data locations of a storage system. A set of user data is stored at a subset of data locations of the plurality of data locations. A second parity data is stored at a memory buffer location. The second parity data is generated based on the set of user data. An indication of an occurrence of an event is received, the event associated with the storage system. In response to receiving the indication of the occurrence of the event, the second parity data is stored at a second data location external to the plurality of data locations. Upon restart of the storage system, the second parity data is transferred to a third data location of the plurality of data locations. The third data location is situated after the subset of the plurality of data locations and prior to the first data location.
    Type: Grant
    Filed: November 16, 2020
    Date of Patent: May 17, 2022
    Assignee: Micron Technology, Inc.
    Inventor: Daniel A. Boals
  • Patent number: 11262920
    Abstract: Mapped RAID protection is provided for data written into multiple logical RAID spaces, and the data written to each one of the RAID spaces is stored in data storage drives contained in a corresponding one of multiple protection groups of data storage drives. Drive health information is collected for each data storage drive contained in the protection groups, and a faultiness level of each individual data storage drive in the protection groups is calculated based on the drive health information. A faultiness-balanced distribution of the data storage drives across the protection groups is then generated based on the calculated faultiness levels of the individual data storage drives.
    Type: Grant
    Filed: September 30, 2020
    Date of Patent: March 1, 2022
    Assignee: EMC IP Holding Company LLC
    Inventors: Nickolay Dalmatov, Mikhail Danilov
  • Patent number: 11210170
    Abstract: Methods and systems for rebuilding a failed storage device in a data storage system. For example, a method including identifying a first garbage collection group (GCG) in a storage array for garbage collection; extracting valid data and redundancy information from functioning storage devices in the storage array associated with the first GCG; reconstructing data of a failed storage device associated with the first GCG based on the extracted valid data and redundancy information from the functioning storage devices associated with the first GCG; consolidating the extracted valid data from the functioning storage devices and the reconstructed data of the failed storage device associated with the first GCG; writing the consolidated extracted valid data from the functioning storage devices and the reconstructed data of the failed storage device associated with the first GCG to a second GCG in the storage array; and reclaiming the first GCG identified for garbage collection.
    Type: Grant
    Filed: July 23, 2020
    Date of Patent: December 28, 2021
    Assignee: Western Digital Technologies, Inc.
    Inventors: Vladislav Bolkhovitin, Siva Munnangi
  • Patent number: 11210099
    Abstract: A processor includes at least one memory controller, and a decode unit to decode a persistent commit demarcate instruction. The persistent commit demarcate instruction is to indicate a destination storage location. The processor also includes an execution unit coupled with the decode unit and the at least one memory controller. The execution unit, in response to the persistent commit demarcate instruction, is to store a demarcation value in the destination storage location. The demarcation value may demarcate at least all first store to persistent memory operations that are to have been accepted to memory when the persistent commit demarcate instruction is performed, but which are not necessarily to have been stored persistently, from at least all second store to persistent memory operations that are not yet to have been accepted to memory when the persistent commit demarcate instruction is performed.
    Type: Grant
    Filed: May 24, 2019
    Date of Patent: December 28, 2021
    Assignee: Intel Corporation
    Inventor: Kshitij A. Doshi
  • Patent number: 11182252
    Abstract: Embodiments of the present invention provide systems and methods for recovering a high availability storage system. The storage system includes a first layer and a second layer, each layer including a controller board, a router board, and storage elements. When a component of a layer fails, the storage system continues to function in the presence of a single failure of any component, up to two storage element failures in either layer, or a single power supply failure. While a component is down, the storage system will run in a degraded mode. The passive zone is not serving input/output requests, but is continuously updating its state in dynamic random access memory to enable failover within a short period of time using the layer that is fully operational. When the issue with the failed zone is corrected, a failback procedure brings the system back to a normal operating state.
    Type: Grant
    Filed: June 27, 2019
    Date of Patent: November 23, 2021
    Assignee: Western Digital Technologies, Inc.
    Inventors: Ladislav Steffko, Vijay Karamcheti
  • Patent number: 11169880
    Abstract: A storage system comprises a plurality of storage devices, and is configured to establish a redundant array of independent disks (RAID) arrangement comprising a plurality of stripes, with each of the plurality of stripes comprising a plurality of blocks, the blocks being distributed across multiple ones of the storage devices. In conjunction with establishment of the RAID arrangement, the storage system is further configured, for each of the plurality of stripes, to designate multiple ones of the storage devices as respective spare devices for that stripe, and for each of the storage devices, to determine numbers of the stripes for which that storage device is designated as a spare device for respective ones of the other storage devices in each of multiple spare levels and for each of multiple failure combinations. A particular number of spare blocks is reserved for each of the storage devices using the determined numbers.
    Type: Grant
    Filed: June 16, 2020
    Date of Patent: November 9, 2021
    Assignee: EMC IP Holding Company LLC
    Inventor: Yosef Shatsky
  • Patent number: 11169707
    Abstract: A system and method for improving storage system performance by reducing or avoiding load spike amplification when performing garbage collection is disclosed. A storage controller in a storage system tracks system load including write load and read load, as well as available free segments. The storage controller uses these tracked values as inputs and, with these inputs, generates a garbage collection rate. Where read load is included, a scaled portion of the read load is taken into consideration so that, as the number of free segments nears the minimum amount desired and to prevent garbage collecting too slowly, the read load is gradually excluded from the garbage collection rate determination. The garbage collection rate is therefore responsive to system load so that, in times of high system load, the rate reduces as much as is safe so that the write load takes priority with computing resources of the storage controller.
    Type: Grant
    Filed: January 22, 2016
    Date of Patent: November 9, 2021
    Assignee: NETAPP, INC.
    Inventor: Joseph Blount
  • Patent number: 11063855
    Abstract: A device access apparatus for a client-server system is described, wherein the device access apparatus is used to access components of a field bus network. The device access apparatus includes a general application that is installable on a server and configured to interchange data with the components of the field bus network. The device access apparatus also includes a device driver that is installable on a client and a communication proxy that is installable on the server that are configured to set up a data connection between the server and the client. The data connection is used to transmit data between the device driver and one of the components of the field bus network that is associated with the device driver. The communication proxy is configured to monitor data traffic on the data connection between the client and the server and detect errors in the data transmission.
    Type: Grant
    Filed: November 22, 2017
    Date of Patent: July 13, 2021
    Assignee: Endress+Hauser Process Solutions AG
    Inventors: Ingomar Sotriffer, Michael Mayer, Werner Luber, Mike Sutter
  • Patent number: 11055188
    Abstract: A storage system comprises a plurality of enclosures and a storage controller. Each enclosure comprises at least one processing device and a plurality of drives configured in accordance with a redundant array of independent disks (RAID) arrangement. The storage controller obtains an input-output request to read a target data page and issues a command to the at least one processing device of a given enclosure. Responsive to receiving the command, the at least one processing device of the given enclosure obtains data pages associated with a given stripe from the plurality of drives of the given enclosure. The at least one processing device rebuilds the given stripe based at least in part on the obtained data pages, obtains the target data page from the rebuilt given stripe and provides the obtained target data page to the storage controller.
    Type: Grant
    Filed: April 12, 2019
    Date of Patent: July 6, 2021
    Assignee: EMC IP Holding Company LLC
    Inventors: Amitai Alkalay, Boris Glimcher, Zvi Schneider, Aric Hadav
  • Patent number: 11003559
    Abstract: Method and system are provided for handling an underperforming drive in a redundant array of independent disks (RAID) operating a distributed sparing mechanism. The method includes marking an underperforming drive in the array as resting and allocating distributed spare space of the array for data of operations to the resting drive. A data structure is designated to track operations diverted to the distributed spare space from the resting drive. If the resting drive is recovered, the method rebuilds data to the recovered drive from the distributed spare space by reference to the data structure.
    Type: Grant
    Filed: March 26, 2019
    Date of Patent: May 11, 2021
    Assignee: International Business Machines Corporation
    Inventors: Gordon Douglas Hutchison, Ian Boden, John Paul Agombar, Alastair Cooper
  • Patent number: 10977123
    Abstract: Methods and apparatus for use in a dispersed storage network (DSN) to facilitate coordination between dispersed storage computing devices and dispersed storage integrity processing unit rebuild modules. In one example, data may be rebuilt in a DSN by determining a rebuild task to be executed based on an attempt to access data in the DSN. Status information regarding the rebuild task is then generated and forwarded to the dispersed storage computing device and/or one or more dispersed storage units for subsequent attempts to access data in the DSN.
    Type: Grant
    Filed: January 5, 2017
    Date of Patent: April 13, 2021
    Assignee: INTERNATIONAL BUSINESS MACHINES CORPORATION
    Inventors: Manish Motwani, Jason K. Resch
  • 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: 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: 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: 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