Entries |
Document | Title | Date |
20110066882 | WEAR LEVELING OF SOLID STATE DISKS BASED ON USAGE INFORMATION OF DATA AND PARITY RECEIVED FROM A RAID CONTROLLER - A controller configures a plurality of solid state disks as a redundant array of independent disks (RAID), wherein the plurality of solid state disks store a plurality of blocks, and wherein storage areas of the plurality of solid state disks corresponding to at least some blocks of the plurality of blocks have different amounts of estimated life expectancies. The controller includes in data structures associated with a block that is to be stored in the storage areas of the plurality of solid state disks an indication that the block includes parity information corresponding to the RAID, wherein parity information comprises information corresponding to an error correction mechanism to protect against a disk failure. The controller sends the data structures to the plurality of solid state disks, wherein the plurality of solid state disks allocate a storage area that is estimated to have a relatively greater life expectancy in comparison to other storage areas to store the block that includes the parity information. | 03-17-2011 |
20110066883 | DATA STORAGE APPARATUS AND DATA WRITING/READING METHOD - According to one embodiment, a data storage apparatus includes a RAID controller, error detectors, and memory units. The RAID controller receives an encoded data stream, divides the encoded data stream into a predetermined number of data blocks and generates a block of parity data. The data blocks and the parity data block are distributed to the error detectors. The error detectors add an error detection code to the data blocks and the parity data block, respectively. The memory units receive the data blocks and the parity data block from the error detectors and set the data blocks and the parity data block to have the writable page units, respectively. Each of the memory units includes a plurality of memory chips and a memory controller. The memory controllers write the data blocks and the parity data block of the writable page units in the memory chips. | 03-17-2011 |
20110078496 | STRIPE BASED MEMORY OPERATION - The present disclosure includes methods and devices for stripe-based memory operation. One method embodiment includes writing data in a first stripe across a storage volume of a plurality of memory devices. A portion of the first stripe is updated by writing updated data in a portion of a second stripe across the storage volume of the plurality of memory devices. The portion of the first stripe is invalidated. The invalid portion of the first stripe and a remainder of the first stripe are maintained until the first stripe is reclaimed. Other methods and devices are also disclosed. | 03-31-2011 |
20110099418 | Non-Volatile Memory And Method With Post-Write Read And Adaptive Re-Write To Manage Errors - Data errors in non-volatile memory inevitably increase with usage and with higher density of bits stored per cell. For acceptable quality assurance, conventional error correction codes (“ECC”) have to correct a maximum number of error bits up to the far tail end of a statistical population. The present memory is configured to have a first portion operating with less error but of lower density storage, and a second portion operating with a higher density but less robust storage. If excessive error bits (at the far tail-end) occur after writing a group of data to the second portion, the data is adaptively rewritten to the first portion which will produce less error bits. Preferably, the data is initially written to a cache also in the first portion to provide source data for any rewrites. Thus, a more efficient ECC not requiring to correcting for the far tail end can be used. | 04-28-2011 |
20110154105 | Redundant File System - Some embodiments of the invention shift the responsibility for creating parity and error correction blocks from the hardware or software RAID units or modules to the computer system's file system, allowing the file system's existing mechanisms of write atomicity to be used to help ensure consistency of the on-disk information throughout all or increasing portions of the information saving and/or updating cycle. | 06-23-2011 |
20110202792 | System and Methods for RAID Writing and Asynchronous Parity Computation - A computer storage management system for managing a first plurality of data storage units, the system including: (a) an asynchronous parity computation manager which, responsive to a write operation in which an incoming data portion is to be written into an individual storage unit from among the storage units, deposits the incoming value in the individual storage unit an stores a copy of the data element in a pre-parity storage area, and wherein asynchronously with depositing the incoming value in the individual storage unit, the asynchronous parity computation manager is operative to compute parity data corresponding to the incoming data portion and to other data portions which are associated with the incoming data portion and to store the parity data; and (b) a post-loss data recovery manager operative to recover lost data including determining whether at least one parity value associated with at least one data portion within said lost data is not current and, for at least one non-current parity, using information stored in the pre-parity storage area to generate, after said lost data has been lost, a current parity to replace said non-current parity and using said current parity to recover said lost data. | 08-18-2011 |
20110208994 | REBUILDING LOST DATA IN A DISTRIBUTED REDUNDANCY DATA STORAGE SYSTEM - Rebuilding lost data in a distributed redundancy data storage system including multiple nodes, is provided. User data is stored as a collection of stripes, each stripe comprising a collection of data strips and associated parity strips, the stripes distributed across multiple corresponding data owner nodes and multiple corresponding parity owner nodes. A data owner node maintains the associated data strip holding a first copy of data, and a parity owner node maintains a parity strip holding a parity for the collection of data strips. Upon detecting a failure condition, the owner node initiates a rebuilding protocol for recovery of lost data and/or parity it owns. The protocol includes reconstruction of lost data or parity by a computation involving data and/or parity from a recovery strip set in a stripe, wherein a recovery strip set contains at least one surviving data or parity strip. The recovery strip set for a lost data strip contains at least one surviving parity strip. | 08-25-2011 |
20110208995 | READ-MODIFY-WRITE PROTOCOL FOR MAINTAINING PARITY COHERENCY IN A WRITE-BACK DISTRIBUTED REDUNDANCY DATA STORAGE SYSTEM - Data storage reliability is maintained in a write-back distributed data storage system including multiple nodes, each node comprising a processor and an array of failure independent data storage devices. Information is stored as a set of stripes, each stripe including a collection of multiple data strips and associated parity strips, the stripes distributed across multiple corresponding primary data nodes and multiple corresponding parity nodes. A primary data node maintains the data strip holding a first copy of data, and each parity node maintains a parity strip holding a parity for the multiple data strips. A read-modify-write parity update protocol is performed for maintaining parity coherency, the primary data node driving parity coherency with its corresponding parity nodes, independently of other data nodes, in order to keep its relevant parity strips coherent. | 08-25-2011 |
20110208996 | READ-OTHER PROTOCOL FOR MAINTAINING PARITY COHERENCY IN A WRITE-BACK DISTRIBUTED REDUNDANCY DATA STORAGE SYSTEM - Data storage reliability is maintained in a write-back distributed data storage system including multiple nodes. Each node comprises a processor and an array of failure independent data storage devices. Information is stored as a set of stripes, each stripe including a collection of at least a data strip and associated parity strips, the stripes distributed across a primary data node and multiple corresponding parity nodes. A read-other parity update protocol maintains parity coherency. The primary data node for each data strip drives parity coherency with the corresponding parity nodes, independently of other data nodes, in keeping relevant parity strips for the primary data node coherent. A parity value is determined based on data other than a difference between new data and existing data. A new parity value is based on new data and dependent data, wherein with respect to one data value, dependent data comprises other data encoded in a corresponding parity value. | 08-25-2011 |
20110289349 | System and Method for Monitoring and Repairing Memory - Monitoring and repairing memory includes selecting a first memory bank comprising a plurality of memory cells to analyze. The plurality of memory cells are copied from the first memory bank to a second memory bank, wherein a request to access the first memory bank is redirected to the second memory bank. A determination is made whether the first memory bank comprises an error of the memory cell. | 11-24-2011 |
20120151255 | METHOD OF CALCULATING PARITY IN ASYMETRIC CLUSTERING FILE SYSTEM - Disclosed is a method of calculating parity. The method dividing, by a client system, a file which is to be stored into chunks of a preset size and distributively storing the chunks in a plurality of data servers; sending, by the client system, a data write complete notification message to a metadata server; storing, by the metadata server, a file sent through the data write complete notification message in a recovery queue; and sending, by the metadata server, a random data server a parity calculation request for the file stored in the recovery queue. | 06-14-2012 |
20120304001 | IMPLEMENTING STORAGE ADAPTER PERFORMANCE OPTIMIZATION WITH CHAINED HARDWARE OPERATIONS AND ERROR RECOVERY FIRMWARE PATH - A method and controller for implementing storage adapter performance optimization with a predefined chain of hardware operations configured to minimize hardware and firmware interactions and a bridge code configured to select a firmware sequence for error recovery to complete the operations responsive to an identified error in the predefined chain, and a design structure on which the subject controller circuit resides are provided. A selected predefined chain is configured to implement a particular performance path to maximize performance. Responsive to an identified predefined error during hardware operations in the predefined hardware chain, a bridge code is configured to select a non-performance path firmware sequence for error recovery completion of remaining operations. | 11-29-2012 |
20120331338 | TWO-WAY RAID CONTROLLER WITH PROGRAMMABLE HOST INTERFACE FOR A SEMICONDUCTOR STORAGE DEVICE - Provided is a two-way RAID controlled storage device of a serial attached small computer system interface/serial advanced technology attachment (PCI-Express) type, which provides data storage/reading services through a PCI-Express interface. The RAID controller typically comprises multiple sets of RAID equipment coupled to one another via a hardware host connect, an adaptive host interface controller, a host connect controller, a two-way RAID controller, a disk connect controller, an adaptive disk mount controller, and a hardware disk connect. Coupled to the hardware disk connect are a set of DDR, SSD memory disk units. Further, each set of RAID equipment typically comprises a programmable host interface unit, a disk controller, a high speed host interface, a disk monitoring unit, a disk plug and play controllers, and a programmable disk mount. | 12-27-2012 |
20130055013 | STORAGE CONTROL APPARATUS AND STORAGE CONTROL APPARATUS CONTROL METHOD - The present invention reduces the amount of rebuild processing and executes a rebuild process efficiently. Multiple storage devices configure a parity group. Of the multiple storage devices, a prescribed storage device in which a failure has occurred is blocked. Each storage device stores management information. The management information manages from among the storage areas of the storage device a prescribed area having data from a higher-level apparatus. A controller determines whether a storage area of the prescribed storage device is the prescribed area based on the management information, and executes a rebuild process with respect to the area determined to be the prescribed area. | 02-28-2013 |
20130067275 | VIDEO SERVER AND METHOD FOR CONTROLLING REBUILDING OF A DISK ARRAY - According to one embodiment, a video server includes an allocator. The allocator allocates resources for performing rebuilding. When processing which needs to be performed in real time is requested during the rebuilding, the allocator determines whether resources for performing the requested processing are available. When resources for performing the requested processing are available, the allocator allocates available resources to the requested processing. When resources for performing the requested processing are not available, the allocator deallocates resources allocated to the rebuilding to secure resources for performing the requested processing, and allocates the secured resources to the requested processing. | 03-14-2013 |
20130073901 | DISTRIBUTED STORAGE AND COMMUNICATION - Apparatus and method of storing, retrieving, transmitting and receiving data comprising a) separating the data into a plurality of data elements, b) matching the position of each data element according to its position in the data with a storage location, c) storing each data element at its matched storage location, d) generating parity data from groups of data elements such that any one or more of the data elements within a group may be recreated from the remaining data elements within the group and the parity data for that group, e) generating further parity data from further groups of data elements formed from the same data elements used in step d) in different combinations and f) storing the parity data and further parity data in separate storage locations. | 03-21-2013 |
20130173955 | DATA PROTECTION IN A RANDOM ACCESS DISK ARRAY - A disk array memory system comprises: a plurality of disks in a disk array for storage of content data and parity data in stripes, content data in a same stripe sharing parity bits of said parity data, each disk having a spare disk capacity including at least some of a predefined array spare capacity, said array spare capacity providing a dynamic space reserve over said array to permit data recovery following a disk failure event; a cache for caching content data prior to writing to said disk array; and a controller configured to select a stripe currently having a largest spare stripe capacity, for a current write operation of data from said cache, thereby to write all said data of said current write operation on a same stripe, thereby to maximize sharing of parity bits per write operation and minimize separate parity write operations. | 07-04-2013 |
20130173956 | USING PARITY DATA FOR CONCURRENT DATA AUTHENTICATION, CORRECTION, COMPRESSION, AND ENCRYPTION - A system for software error-correcting code (ECC) protection or compression of original data using ECC data in a first memory is provided. The system includes a processing core for executing computer instructions and accessing data from a main memory, and a non-volatile storage medium for storing the computer instructions. The software ECC protection or compression includes: a data matrix for holding the original data in the first memory; a check matrix for holding the ECC data in the first memory; an encoding matrix for holding first factors in the main memory, the first factors being for encoding the original data into the ECC data; and a thread for executing on the processing core. The thread includes a Galois Field multiplier for multiplying entries of the data matrix by an entry of the encoding matrix, and a sequencer for ordering operations using the Galois Field multiplier to generate the ECC data. | 07-04-2013 |
20130205167 | METHODS AND SYSTEMS FOR TWO DEVICE FAILURE TOLERANCE IN A RAID 5 STORAGE SYSTEM - Methods and systems for two device failure tolerance in a RAID 5 storage system. Features and aspects hereof provide for allocating a spare storage device in the storage system for use with a standard RAID level 5 storage volume to form an enhanced RAID level 5 volume. Additional redundancy information is generated and stored on the spare storage device such that the enhanced RAID level 5 volume is operated by the storage controller so as to survive a failure of up to two of the storage devices of the enhanced volume. The allocated spare storage device may be reallocated by the storage controller for another purpose in which case the storage controller continues to operate the enhanced volume as a standard RAID level 5 volume that can only tolerate a single failure of a storage device of the volume. | 08-08-2013 |
20130205168 | PARTIAL-MAXIMUM DISTANCE SEPARABLE (PMDS) ERASURE CORRECTING CODES FOR STORAGE ARRAYS - Embodiments of the invention relate to correcting erasures in a storage array. A read stripe is received from a plurality of n storage devices. The read stripe includes an array of entries arranged in m rows and n columns with each column corresponding to one of the storage devices. The entries include data entries and mr+s parity entries. Each row contains at least r parity entries generated from the data entries according to a partial maximum distance separable (PMDS) code. It is determined that the read stripe includes at least one erased entry, at most mr+s erased entries and that no row has more than r+s erased entries. The erased entries are reconstructed from the non-erased entries, resulting in a recovered read stripe. | 08-08-2013 |
20130219214 | ACCELERATED REBUILD AND ZERO TIME REBUILD IN RAID SYSTEMS - A RAID data storage system incorporates permanently empty blocks into each stripe, distributed among all the data storage devices, to accelerate rebuild time by reducing the number of blocks that need to be rebuilt in the event of a failure. | 08-22-2013 |
20130227346 | CONTROLLING NONVOLATILE MEMORY DEVICE AND NONVOLATILE MEMORY SYSTEM - A method for controlling a nonvolatile memory device includes reading a sub stripe including a plurality of sub pages stored in a first region, writing data stored in valid sub pages of the sub stripe to a second region different from the first region, and generating parity data using the data written to the second region and constituting a new sub stripe. | 08-29-2013 |
20130232378 | REBUILDING A DATA SEGMENT IN A DISPERSED STORAGE NETWORK - A method begins with a processing module storing a set of encoded data slices in memory of a dispersed storage network (DSN), where a data segment is encoded using an error coding dispersal storage function to produce the set of encoded data slices. The method continues with the processing module adding the data segment to a rebuilding list, where encoded data slices of data segments identified in the rebuilding list are checked via a rebuilding process to detect errors and, when one of the encoded data slices has an error, the rebuilding process rebuilds the one of the encoded data slices. The method continues with the processing module, in response to a condition, removing the data segment from the rebuilding list. | 09-05-2013 |
20130246842 | INFORMATION PROCESSING APPARATUS, PROGRAM, AND DATA ALLOCATION METHOD - In an information processing apparatus, a first selecting unit selects, as a source stripe, a stripe in which at least one of blocks stores a data item and another one of the blocks stores an error-correcting code for the data item, among a plurality of stripes each including a group of storage areas of a plurality of blocks that are located one on each of a plurality of storage devices. A second selecting unit selects, as a destination stripe, a stripe in which at least one of blocks stores a data item and in which the number of available blocks is equal to or greater than the number of blocks of the source stripe which store data items, among the stripes other than the source stripe. A moving unit moves the data item stored in the source stripe to the available block of the destination stripe. | 09-19-2013 |
20130262921 | SYSTEMS AND METHODS FOR PREVENTING DATA LOSS - For preventing data loss in storage systems, a detection is made that a storage device in a plurality of storage devices is experiencing a malfunction. The type of malfunction is determined. A SMART rebuilding technique, a normal building technique, a data migration technique, or a user data backup technique is selected to preserve the data in the storage device based on the determined type of the malfunction. The selected technique is performed on the storage device. | 10-03-2013 |
20140006850 | REDUNDANT DISK ENCODING VIA ERASURE DECODING | 01-02-2014 |
20140006851 | SEMICONDUCTOR MEMORY CONTROLLING DEVICE | 01-02-2014 |
20140047266 | Distributed System for Fault-Tolerant Data Storage - Fault-tolerant storage is provided using a distributed data storage system that receives input data from clients and divides that data into data blocks for storage. The data blocks are processed using a coding scheme that generates redundant level one error correction blocks (L1EC Blocks). The L1EC blocks enable the reconstruction of one or more damaged or inaccessible data blocks, and the L1EC blocks and the data blocks are divided into distribution sets and stored at a plurality of data storage locations. At each data storage location additional level two error correction blocks (L2EC blocks) are generated that provide local data redundancy. Upon detecting a data disruption event, an inaccessible data storage location is identified and the elements that were stored at the inaccessible data storage location are reconstructed. | 02-13-2014 |
20140053018 | OPTIMISTIC DATA WRITING IN A DISPERSED STORAGE NETWORK - A method begins by a processing module dispersed storage error encoding data to produce a set of encoded data slices and sending a set of write request messages to a set of dispersed storage (DS) units, wherein each of the set of write request messages includes an encoded data slice of the set of encoded data slices. The method continues with the processing module determining whether a pillar width number of favorable write response messages has been received within a write acknowledgement (ACK) time period. The method continues with the processing module executing a retry write process to at least one DS unit of the set of DS units from which a favorable write response message was not received during the write ACK time period when the pillar width number of favorable write response messages has not been received within the write ACK time period. | 02-20-2014 |
20140108858 | VIRTUAL DISK DRIVE SYSTEM AND METHOD - A disk drive system and method capable of dynamically allocating data is provided. The disk drive system may include a RAID subsystem having a pool of storage, for example a page pool of storage that maintains a free list of RAIDs, or a matrix of disk storage blocks that maintain a null list of RAIDs, and a disk manager having at least one disk storage system controller. The RAID subsystem and disk manager dynamically allocate data across the pool of storage and a plurality of disk drives based on RAID-to-disk mapping. The RAID subsystem and disk manager determine whether additional disk drives are required, and a notification is sent if the additional disk drives are required. Dynamic data allocation and data progression allow a user to acquire a disk drive later in time when it is needed. Dynamic data allocation also allows efficient data storage of snapshots/point-in-time copies of virtual volume pool of storage, instant data replay and data instant fusion for data backup, recovery etc., remote data storage, and data progression, etc. | 04-17-2014 |
20140115384 | FAST DATA RECOVERY FROM HDD FAILURE - A storage system comprises a first storage device having a first plurality of hard disk drives and a first controller. The first controller stores data in the first plurality of hard disk drives by stripes. Each stripe includes M data and N parity data allocated to M+N hard disk drives of the first plurality of hard disk drives. A first hard disk drive includes data or parity data of both a first stripe of the stripes and a second stripe of the stripes, while a second hard disk drive includes data or parity data of only one of the first stripe or the second stripe. During data recovery involving failure of one of the first plurality of hard disk drives, the data in the failed hard disk drive is recovered for each stripe by calculation using data and parity data in other hard disk drives for each stripe. | 04-24-2014 |
20140122925 | VERIFYING DATA OF A DISPERSED STORAGE NETWORK - A method begins by a dispersed storage (DS) processing module of a storage unit receiving, over time, access requests regarding reading or writing of various data blocks. The method continues with the DS processing module establishing an internal verification access rate for verifying data blocks stored in a memory device of the storage unit based on a rate of the access requests and a maximum access rate of the memory device. The method continues with the DS processing module generating internal verification requests in accordance with the internal verification access rate, coordinating the internal verification requests and the access requests for accessing the memory device, and accessing the memory device based on the internal verification requests to verify the data blocks. | 05-01-2014 |
20140149788 | SYSTEMS AND METHODS FOR STORING AND RECOVERING CONTROLLER DATA IN NON-VOLATILE MEMORY DEVICES - Systems and methods are disclosed for storing the firmware and other data of a flash memory controller, such as using a RAID configuration across multiple flash memory devices or portions of a single memory device. In various embodiments, the firmware and other data used by a controller, and error correction information, such as parity information for RAID configuration, may be stored across multiple flash memory devices, multiple planes of a multi-plane flash memory device, or across multiple blocks or pages of a single flash memory device. The controller may detect the failure of a memory device or a portion thereof, and reconstruct the firmware and/or other data from the other memory devices or portions thereof. | 05-29-2014 |
20140164825 | IDENTIFYING LOST WRITE ERRORS IN A RAID ARRAY - A data access request is received specifying a data block stored in a stripe of a parity group that includes a plurality of data storage devices to store data blocks and a parity storage device to store parity information for the data. The stripe includes a data block from each of the plurality of data storage devices and the stripe includes a parity block from the parity storage device. An error is detected in the data block specified by the data access request. The error is identified as a lost write error for the data block or a lost write error for the parity block. Identifying the error includes comparing a first storage device signature stored in a metadata field associated with the data block to a second storage device signature stored in a label block identifying a data storage device where the data block is stored. | 06-12-2014 |
20140181578 | METHOD AND APPARATUS FOR SLICE PARTIAL REBUILDING IN A DISPERSED STORAGE NETWORK - A dispersed storage system includes a plurality of storage units that each include a partial rebuild grid module. The partial rebuild grid module includes partial rebuilding functionality to reconstruct one of a plurality of encoded data slices wherein the plurality of encoded data slices are generated from a data segment based on an error encoding dispersal function. In the partial rebuilding process, a data slice is rebuilt by combining in any order slice partials generated from at least a threshold number T of the plurality of data slices. | 06-26-2014 |
20140189424 | Apparatus and Method for Parity Resynchronization in Disk Arrays - A method for parity resynchronization in disk arrays, in which an intent log comprising a list of addresses of pieces of data stored in a data write cache is generated. The pieces of data of the data write cache are written to a disk while the pieces of data are withdrawn from the data write cache. When power supply is interrupted during writing of the data to the disk, a processor supplies power to the disk to resume an operation of the disk, checks whether parity mismatch has occurred on the data of the disk corresponding to the data address list, and corrects a parity mismatch block using a parity block. When the consistency of data is damaged by unexpected power interruption, data being written is compared with a pre-stored intent log, shortening the time required for parity resynchronization. | 07-03-2014 |
20140201567 | ENCODING DATA UTILIZING A ZERO INFORMATION GAIN FUNCTION - A method begins by a dispersed storage (DS) processing module encoding data using a dispersed storage error coding function to produce a set of encoded data slices. The method continues with the DS processing module encoding a first encoded data slice of the set of encoded data slices using a zero information gain (ZIG) function based on a second encoded data slice of the set of encoded data slices to produce a ZIG encoded data slice. The method continues with the DS processing module outputting the ZIG encoded data slice and a subset of encoded data slices of the set of encoded data slices, wherein the subset of encoded data slices includes less than a decode threshold number of encoded data slices and does not include the first or the second encoded data slice. | 07-17-2014 |
20140208156 | MEMORY ACCESS METHODS AND APPARATUS - A disclosed example apparatus includes a row address register ( | 07-24-2014 |
20140215263 | LARGE SCALE SUBSCRIPTION BASED DISPERSED STORAGE NETWORK - A method begins with a set top box determining whether a content request is regarding playback of stored content or streaming of broadcast content. When the content request is regarding playback of stored content, the method continues with the set top box determining whether to retrieve the stored content for a group of set top boxes in a common area or from storage units DSN memory. When the stored content is to be retrieved from the group of set top boxes, the method continues with the set top box obtaining, from at least some of the set top boxes, the decode threshold number of encoded data slices for each set of encoded data slices corresponding to the stored content. The method continues with the set top box decoding, for each set of encoded data slices, the decode threshold number of encoded data slices to reconstruct the stored content. | 07-31-2014 |
20140237287 | IMPLEMENTING RAID IN SOLID STATE MEMORY - The present disclosure includes systems and techniques relating to implementing fault tolerant data storage in solid state memory. In some implementations, a method includes receiving a data request for a solid state memory; identifying a logical block grouping corresponding to the data request, wherein the logical block grouping indicates physical data storage blocks spanning at least two distinct memory units of the solid state memory; reading stored data and parity information from at least a portion of the physical data storage blocks spanning the at least two distinct memory units; and recovering data of at least one block of the logical block grouping based on the stored data and the parity information. | 08-21-2014 |
20140281691 | MASS STORAGE DEVICE AND METHOD OF OPERATING THE SAME TO STORE PARITY DATA - A mass storage memory device is disclosed. The device includes a plurality of blades where two blades are used to store parity data corresponding to data stored in the other blades. The device also includes a controller configured to write data to the blades along stripes extending from the other blades to the two blades, where the parity data within a stripe is based on the data written to the other blades in the stripe, and wherein the parity data includes two or more types of parity data. | 09-18-2014 |
20140298090 | DATA RECOVERY IN A SOLID STATE STORAGE SYSTEM - Methods for data recovery and memory systems are provided. According to at least one such method, when defective data is read from a memory location, the data is recovered by an XOR operation on the remaining good data and associated RAID data to reconstruct the defective data. The defective data is excluded from the XOR operation. | 10-02-2014 |
20140317447 | ADAPTIVE RAID FOR AN SSD ENVIRONMENT - A system and method for adaptive RAID geometries. 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 is configured to determine a first RAID layout for use in storing data, and write a first RAID stripe to the device group according to the first RAID layout. In response to detecting a first condition, the controller is configured to determine a second RAID layout which is different from the first RAID layout, and write a second RAID stripe to the device group according to the second layout, whereby the device group concurrently stores data according to both the first RAID layout and the second RAID layout. | 10-23-2014 |
20140325265 | BACKGROUND INITIALIZATION FOR PROTECTION INFORMATION ENABLED STORAGE VOLUMES - Technology is disclosed for performing background initialization on protection information enabled storage volumes or drives. In some embodiments, a storage controller generates multiple I/O requests for stripe segments of each drive (e.g., disk) of multiple drives of a RAID-based system (e.g., RAID-based disk array). The I/O requests are then sorted for each of the drives according to a pre-determined arrangement and initiated in parallel to the disks while enforcing the pre-determined arrangement. Sorting and issuing the I/O requests in the manner described herein can, for example, reduce drive head movement resulting in faster storage subsystem initialization. | 10-30-2014 |
20140331085 | METHOD AND APPARATUS FOR DISTRIBUTED STORAGE INTEGRITY PROCESSING - A distributed storage integrity system in a dispersed storage network includes a scanning agent and a control unit. The scanning agent identifies an encoded data slice that requires rebuilding, wherein the encoded data slice is one of a plurality of encoded data slices generated from a data segment using an error encoding dispersal function. The control unit retrieves at least a number T of encoded data slices needed to reconstruct the data segment based on the error encoding dispersal function. The control unit is operable to reconstruct the data segment from at least the number T of the encoded data slices and generate a rebuilt encoded data slice from the reconstructed data segment. The scanning agent is located in a storage unit and the control unit is located in the storage unit or in a storage integrity processing unit, a dispersed storage processing unit or a dispersed storage managing unit. | 11-06-2014 |
20140344616 | TECHNIQUES FOR PROVIDING DATA REDUNDANCY AFTER REDUCING MEMORY WRITES - A storage subsystem receives writes via a storage subsystem interface and reduces a number of the writes. Data associated with the reduced number of writes is stored in storage devices of a single drive. Computed redundancy information is stored in the storage devices. A data redundancy scheme is implemented via a disk controller that is enabled to operate without a loss of data in the presence of at least a single failure of any of the storage devices. | 11-20-2014 |
20140351632 | STORING DATA IN MULTIPLE FORMATS INCLUDING A DISPERSED STORAGE FORMAT - A method begins by a processing module of a dispersed storage network (DSN) receiving data in a redundant array of independent disks (RAID) format and converting from the RAID format to an original format of the data. The method continues with the processing module dispersed storage error encoding a data segment of the data in the original format to produce a set of encoded data slices, where a set of encoded data slices includes a decode threshold sub-set of encoded data slices and an error correcting sub-set of encoded data slices. The method continues with the processing module converting the decode threshold sub-set of encoded data slices into a RAID formatted data segment, storing the RAID formatted data segment in RAID memory, and storing at least the error correcting sub-set of encoded data slices in DSN memory. | 11-27-2014 |
20140351633 | STORING RAID DATA AS ENCODED DATA SLICES IN A DISPERSED STORAGE NETWORK - A method begins by a processing module receiving data for storage and interpreting the data to identify the data as redundant array of independent disks (RAID) data. The method continues with the processing module interpreting the RAID data to identify at least one of RAID block data and RAID parity data. When the RAID data includes RAID block data and RAID parity data the method continues with the processing module encoding the RAID block data in accordance with error coding dispersal storage function parameters to produce at least one set of encoded data slices and outputting the at least one set of encoded data slices to a dispersed storage network memory. | 11-27-2014 |
20140365821 | Independent Management of Data and Parity Logical Block Addresses - A data storage method includes identifying, in a set of data items associated with respective logical addresses for storage in a memory, a first subset of the logical addresses associated with the data items containing application data, and a second subset of the logical addresses associated with the data items containing parity information that has been calculated over the application data. The data items associated with the first identified subset are stored in one or more first physical memory areas of the memory, and the data items associated with the second identified subset are stored in one or more second physical memory areas of the memory, different from the first physical memory areas. A memory management task is performed independently in the first physical memory areas and in the second physical memory areas. | 12-11-2014 |
20140380092 | EFFICIENT RAID TECHNIQUE FOR RELIABLE SSD - Provided is a control device for managing a plurality of memory channels driven through multichannel interleaving. The apparatus includes a stripe configuring unit for configuring a stripe according to a physical number of pages included in the plurality of memory channels, and a parity generating unit for generating parity data on the configured stripe. | 12-25-2014 |
20140380093 | RESILIENT DISTRIBUTED REPLICATED DATA STORAGE SYSTEM - A resilient distributed replicated data storage system is described herein. The storage system includes zones that are independent, and autonomous from each other. The zones include nodes that are independent and autonomous. The nodes include storage devices. When a data item is stored, it is partitioned into a plurality of data objects and a plurality of parity objects are calculated. Reassembly instructions are created for the data item. The data objects, parity objects and reassembly instructions are spread across nodes and zones in the storage system according to a policy for the data item. When a zone is inaccessible, a virtual zone is created and used until the intended zone is available. When a read request is received, the data item is prepared from the lowest latency nodes according to the reassembly instructions, and a virtual zone is accessed in place of a real zone when the real zone is inaccessible. | 12-25-2014 |
20150033070 | DATA RECOVERY METHOD, DATA RECOVERY DEVICE AND DISTRIBUTED STORAGE SYSTEM - A data recovery method, a data recovery device and a distributed storage system are provided, where the method includes: in a case that a distributed storage system loses data of three nodes, recovering data on a target data storage node of the data on the three nodes according to data of a parity node and a data storage node without data loss; and performing degraded recovery on the remaining lost data according to the recovered data of the target data storage node. According to the embodiments of the present invention, a target data storage node first recovered is determined according to the symmetry of lost data, and the lost data of three nodes is recovered according to parity data and data that is not lost, which can improve the data recovery performance of the distributed storage system in a case that the data of three nodes is lost. | 01-29-2015 |
20150039935 | SOLID STATE DRIVE ARRAY PERFORMANCE AND RELIABILITY - A computing device collects wear life data of a first and a second solid state drive, wherein each solid state drive includes at least one stride, and wherein wear life data is data which includes information regarding wear and deterioration of each stride of each solid state drive. Based on the collected wear life data, the computing device determines the first solid state drive contains more high usage strides than the second solid state drive, wherein a high usage stride is a stride containing high usage data. The computing device then re-allocates data from at least one high usage stride of the first solid state drive to a stride of the second solid state drive, wherein the re-allocated data includes parity data. | 02-05-2015 |
20150039936 | DISTRIBUTED STORAGE NETWORK WITH ALTERNATIVE FOSTER STORAGE APPROACHES AND METHODS FOR USE THEREWITH - A method includes encoding input data into a plurality of slices. The plurality of slices are sent to a plurality of distributed storage and task execution units for storage, the plurality of distributed storage and task execution units being located at a corresponding plurality of sites A storage failure is detected corresponding to at least one of the plurality of slices corresponding to at least one of the plurality of the distributed storage and task execution units and at least one of the corresponding plurality of sites A foster storage approach is determined. At least one alternative distributed storage and task execution unit is selected in accordance with the foster storage approach. At least one foster slice is generated corresponding to the at least one of the plurality of slices. The at least one foster slice is sent to the at least one alternative distributed storage and task execution unit. | 02-05-2015 |
20150052388 | ENCRYPTING DATA FOR STORAGE IN A DISPERSED STORAGE NETWORK - A method begins by a dispersed storage (DS) processing module encrypting a plurality of data segments of the data using a plurality of encryption keys to produce a plurality of encrypted data segments and generating a plurality of deterministic values from the plurality of encrypted data segments. The method continues with the DS processing module establishing a data intermingling pattern and generating a plurality of masked keys by selecting one or more of the plurality of deterministic values in accordance with the data intermingling pattern and performing a masking function on the plurality of encryption keys and the selected one or more of the plurality of deterministic values. The method continues with the DS processing module appending the plurality of masked keys to the plurality of encrypted data segments to produce a plurality of secure data packages and outputting the plurality of secure data packages. | 02-19-2015 |
20150058661 | Methods for Accessing a Storage Unit of a Flash Memory and Apparatuses using the Same - An embodiment of a method for accessing a storage unit of a flash memory, performed by a processing unit, includes at least the following steps. After a notification indicating that errors presented in a message of a sector within a RAID (Redundant Array of Independent Disk) group cannot be fixed by an error correction algorithm with a horizontal ECC (Error Correction Code) of the sector is received, addresses of the other sectors within the RAID group are determined Information is provided to a sector-decoding unit and a RAID-decoding unit, which indicates that a vertical correction procedure has been activated. Storage-unit access interfaces are directed to read content from the determined addresses of the storage unit, thereby enabling the RAID-decoding unit to recover the message of the sector by using the read content. | 02-26-2015 |
20150058662 | Methods for Accessing a Storage Unit of a Flash Memory and Apparatuses using the Same - An embodiment of a method for accessing a storage unit of a flash memory, performed by an arbiter, includes at least the following steps. After transmitting data to first storage units each connected to one of storage-unit access interfaces in a first batch, the arbiter issues a data write command to each first storage unit, thereby enabling each first storage unit to start a physical data programming. During the physical data programming of each first storage unit, data is transmitted to second storage units each connected to one of the storage-unit access interfaces in a second batch. | 02-26-2015 |
20150058663 | HIGH AVAILABILITY VIRTUAL MACHINE CLUSTER - One embodiment of the present invention is a system including: (a) plural virtualization systems configured in a cluster; (b) storage accessible to each virtualization system of the cluster, wherein for each virtual machine operative in a virtualization system of the cluster, the storage maintains a representation of virtual machine state that includes at least a description of a hardware system virtualized and an image of virtualized memory state for the virtual machine; and (c) a failover system that, responsive to an interruption of, or on, a particular one of the virtualization systems, transitions at least one affected virtual machine to another virtualization system of the cluster and resumes computations of the transitioned virtual machine based on state encoded by a corresponding one of the virtual machine states represented in the storage. | 02-26-2015 |
20150089282 | METHOD OF, AND APPARATUS FOR, LAYOUT RECTIFICATION OF ERASURE ENCODED STORAGE SYSTEMS - There is provided a method of recovering configuration metadata from an erasure encoded RAID array. The RAID array includes raw data including a plurality of codewords encoded using Reed-Solomon encoding. The codewords include message data and checksum data, and the configuration metadata includes parameters relating to the layout of the RAID array. The method includes reading, from the RAID array, raw data including message data and checksum data. Then a set of linear equations are defined using the message data and checksum data. The linear equations are then solved and then, from the solved linear equations, one or more parameters relating to the layout of the RAID array are determined. | 03-26-2015 |
20150095696 | SECOND-LEVEL RAID CACHE SPLICING - System and methods for managing I/O write requests of host systems to physical storage. A storage subsystem includes a plurality of storage devices where each storage device is configured to provide data storage. A controller is connected to the plurality of storage devices for executing the I/O write requests from the host systems and is further connected to a plurality of solid state drives in a parity RAID configuration. Non-valid portions of cache lines stored in stripes of the parity RAID configured second level cache are filled with known default values. Upon receiving an I/O write request to write new data to a non-valid portion of a cache line existing in the second level cache, the new data is spliced into the cache line and a new parity value is calculated without reading the known default values saving a read and an XOR operation. | 04-02-2015 |
20150095697 | METHOD AND SYSTEM FOR MULTI-DIMENSIONAL RAID - A method for storing data including calculating: a first set of parity values using the data, a second set of parity values using the first set of parity values, and a third set of parity values using the data, and the first set and second set of parity values. The method further includes storing a portion of the data in a grid, where the grid includes grids locations that are each associated with a physical location, where each physical location is determined using a unique combination of at least a first value determined using a first independent fault domain and a second value determined using a second independent fault domain. The method further includes storing parity values from the first set of parity values and parity values from the second set of parity values in the grid, and storing the third set of parity values in an associated parity grid. | 04-02-2015 |
20150113319 | STORAGE SYSTEM - A storage system includes a plurality of data disks that store information, and a parity disk that corresponds to a disk group including some of the plurality of data disks and stores parity information generated on the basis of data of the data disks included in the corresponding disk group. Any of the data disks is included in a plurality of the disk groups. | 04-23-2015 |
20150121132 | METHODS AND SYSTEMS FOR REDUNDANT DATA STORAGE IN A REGISTER - A register structure in an integrated circuit includes a first register element to store a first copy of data, a second register element to store a second copy of the data, and storage cells to store copies of a parity value of the data. The register structure also includes parity computing circuitry, coupled to the first and second register elements, to generate respective parity values of the first and second copies of the data. The register structure further includes a selection circuit to select between the first and second copies of the data based on a comparison of the respective parity values of the first and second copies of the data to a majority value of the copies of the parity value stored in the storage cells. | 04-30-2015 |
20150121133 | PROTOCOL CHECKING LOGIC CIRCUIT FOR MEMORY SYSTEM RELIABILITY - A buffer integrated circuit device. The device comprising an output driver formed on the substrate member, the output driver having at least a command bus and an address bus. The device has a protocol and parity checking block (“Block”). The device has a table configured in the block. The table is programmable with a plurality of timing parameters. The device has a memory state block coupled to the table and a command history table coupled to the table to process protocol information for all commands that pass through the Block. The buffer integrated circuit device utilizes the protocol checking functionality to prevent failure propagation and enables data protection even in the case of host memory controller failure or system-level failure of any signal or signals on the command, control and address bus from the host memory controller to the buffer integrated device. | 04-30-2015 |
20150127974 | METHOD OF STORING A DATA ITEM IN A DISTRIBUTED DATA STORAGE SYSTEM, CORRESPONDING STORAGE DEVICE FAILURE REPAIR METHOD AND CORRESPONDING DEVICES - The methods of the invention of storing a data item and the associated method of repair of a failed storage device allow exact repair of the data lost by a failed storage device in a distributed data storage system. As repaired data is exactly identical to lost data, this simplifies data integrity checking, which is appealing for distributed data storage systems that require a high level of data security. The methods and devices of the invention use erasure correcting codes that are optimized at the MBCR point such that they minimize both storage size required to store a data item and repair bandwidth required for data- and message exchange between the devices of the distributed storage system in case of repair. | 05-07-2015 |
20150135005 | Efficient Incremental Updates for Shingled Magnetic Recording (SMR) Drives in a RAID Configuration - The invention pertains to a method and apparatus for writing data to an array of Shingled Magnetic Recording (SMR) devices. In an embodiment of the invention a parity band configured to allow random access writes is provided. Next, data is appended sequentially to a stripe on an array of SMR devices. Then the parity band is updated to contain parity data consistent with the data appended to the stripe. In another embodiment of the invention, a shingled parity band is provided. Data is then appended sequentially to a stripe on an array of SMR devices without the user being required to write an entire stripe of data. The provided parity band is then updated to contain parity data consistent with the data that was appended to the stripe. In such an embodiment it is not always necessary to delete all of the parity data in the parity band when updating the parity band. | 05-14-2015 |
20150135006 | System and Method of Write Hole Protection for a Multiple-Node Storage Cluster - The disclosure is directed to preserving data consistency in a multiple-node data storage system. According to various embodiments, a write log is maintained including log entries for data transfer requests being served by a respective node of the multiple-node data storage system. Rather than maintaining a full write journal of data and parity associated with each data transfer request, the log entries only need to identify portions of the virtual volume being updated according to the data transfer requests served by each node. When a first node fails, a second node takes over administration of a virtual volume for the failed node. Upon taking over for the first (failed) node, the second node resolves any inconsistencies between data and parity in portions of the virtual volume identified the respective log entries. Accordingly, write holes are prevented without substantially increasing memory usage or system complexity. | 05-14-2015 |
20150149819 | PARITY CHUNK OPERATING METHOD AND DATA SERVER APPARATUS FOR SUPPORTING THE SAME IN DISTRIBUTED RAID SYSTEM - The present invention relates to operating a parity chunk, and a parity chunk operating method, in an environment dividing data of a file by a chunk unit, constituting a stripe by calculating a parity for a failure recovery, dispersely storing a data chunk and a parity chunk included in the stripe in multiple data servers, comprising the steps of: storing a data chunk and a parity chunk of a stripe structure in data servers; generating a partial parity using a previous data chunk in the storing step of a update data chunk by the data server storing the data chunk; and transmitting a partial parity to the data server storing the parity chunk, and a data server apparatus for supporting the same are disclosed. | 05-28-2015 |
20150301749 | STORAGE CONTROLLER, STORAGE SYSTEM AND METHOD OF OPERATING STORAGE CONTROLLER - A redundant array of independent disks (RAID) storage system, includes a RAID master controller receiving a RAID request selectively communicating the RAID request to one of a plurality of storage devices, wherein first and second storage devices are directly connected outside a data communication path including the host among the storage devices. The first storage device determines upon receiving the RAID request whether distribution of a RAID sub-request to the second storage device is necessary, such that upon determining that the distribution of a RAID sub-request is necessary, the first RAID controller communicates the RAID sub-request to the second storage device via the direct network connection. | 10-22-2015 |
20150301893 | DISTRIBUTED STORAGE AND COMMUNICATION - Storing, retrieving, transmitting and receiving data ( | 10-22-2015 |
20150301894 | ADAPTIVE REBUILD SCHEDULING SCHEME - Method and apparatus for redundant array of independent disks (RAID) recovery are disclosed. In one embodiment, a RAID controller schedules requests to rebuild failed drives based on the wear state of secondary drives and input/output (I/O) activity. The controller may be configured to assign higher scheduling priority to rebuild requests only when necessary, so as to reduce the time needed for the rebuild and to avoid affecting performance of the RAID system. In particular, the controller may give higher priority to rebuild requests if secondary drive failure is likely. In addition, the controller may determine when write-intensive periods occur, and assign lower priority to rebuild requests during such periods. | 10-22-2015 |
20150301895 | ADAPTIVE REBUILD SCHEDULING SCHEME - Method and apparatus for redundant array of independent disks (RAID) recovery are disclosed. In one embodiment, a RAID controller schedules requests to rebuild failed drives based on the wear state of secondary drives and input/output (I/O) activity. The controller may be configured to assign higher scheduling priority to rebuild requests only when necessary, so as to reduce the time needed for the rebuild and to avoid affecting performance of the RAID system. In particular, the controller may give higher priority to rebuild requests if secondary drive failure is likely. In addition, the controller may determine when write-intensive periods occur, and assign lower priority to rebuild requests during such periods. | 10-22-2015 |
20150301896 | LOAD BALANCING ON DISKS IN RAID BASED ON LINEAR BLOCK CODES - An improved technique involves assigning a different generator matrix to each data stripe of the redundant disk array such that all of the different generator matrices represent the same code. For example, when a k×n generator matrix G represents a linear code C, k being the block length and n the code length, then for any invertible k×k matrix P, the matrix G′=PG is also a generator that represents C. When C is a systematic code, then G consists of a k×k identity matrix representing payload data concatenated with a k×(n−k) parity matrix representing parity data. Certain matrices P represent row operations on G, meaning that the matrix G′ may have the columns of the identity matrix in G to different locations in G′. | 10-22-2015 |
20150309871 | SYSTEMS AND METHODS FOR DATA STORAGE REMEDIATION - Systems, methods, and non-transitory computer-readable media can receive an indication that a drive included in a set of drives has experienced an error. Acquiring first data associated with the drive can be attempted. The drive can be prompted to undergo a power-cycle. Acquiring second data associated with the drive can be attempted. At least one of the first data or the second data can be analyzed to determine that the drive is remediable. At least the drive included in the set of drives can be remediated, such as by being rebuilt or reconfigured. | 10-29-2015 |
20150309877 | DISPERSED STORAGE WRITE PROCESS - A method includes issuing write commands to DS storage units regarding encoded data slices. A write command causes a storage unit to store an encoded data slice, but not allow access to the stored encoded data slices. The method includes receiving write acknowledgements from at least some of DS storage units to produce received write acknowledgements. The method includes, when a write threshold number of the received write acknowledgements have been received within a given time frame, issuing commit commands to the DS storage units. A commit command causes the storage unit to allow access to the stored encoded data slice. The method includes, when the write threshold number of the received write acknowledgements have not been received within the given time frame, issuing rollback commands to the DS units. A rollback command causes the storage unit to continue to not allow access to the stored encoded data slice. | 10-29-2015 |
20150317206 | ARRANGING DATA HANDLING IN A COMPUTER-IMPLEMENTED SYSTEM IN ACCORDANCE WITH RELIABILITY RATINGS BASED ON REVERSE PREDICTIVE FAILURE ANALYSIS IN RESPONSE TO CHANGES - Various embodiments for arranging data handling in a computer-implemented system comprising a plurality of existing physical entities include assigning at least one reliability rating to various said existing physical entities of the computer-implemented system; and using the assigned reliability ratings in accordance with reverse predictive failure analysis, to provide a designated cumulative reliability rating, the designated cumulative reliability rating being determined in accordance with the following equation: 1−[PAF(f+Δf, n+Δn)]=1−[PAF(f, n)+(∂PAF/∂f)*Δf+(∂PAF/∂n)*Δn], where PAF is a probability of failure of the computer-implemented system, f is a probability of failure of a physical entity, and n is a number of drives in the computer-implemented system. | 11-05-2015 |
20150324123 | DATA STORAGE CLUSTER WITH DISTRIBUTED ZONES - Techniques for a data storage cluster and a method for maintaining and updating reliability data and reducing data communication between nodes, are disclosed herein. Each data object is written to a single data zone on a data node within the data storage cluster. Each data object includes one or more data chunks, and the data chunks of a data object are written to a data node in an append-only log format. When parity is determined for a reliability group including the data zone, there is no need to transmit data from other data nodes where the rest of data zones of the reliability group reside. Thus, inter-node data communication for determining reliability data is reduced. | 11-12-2015 |
20150339194 | MANAGING RAID PARITY STRIPE CONTENTION - For managing RAID parity stripe contention using a processor device in a computing environment, delaying one of a multiplicity of operations overlapping a parity sector in a parity stripe with a currently running operation and serializing each one of the multiplicity of operations overlapping the parity sector. | 11-26-2015 |
20150355971 | FAILURE DOMAIN BASED STORAGE SYSTEM DATA STRIPE LAYOUT - A method for performing stripe placement within a storage system is disclosed. After a set of failure domains within a storage system has been identified, the failure domains are then organized to form a hierarchy of failure domains. A failure domain is defined as a group of one or more disks that are more likely to fail together because a common component is shared by that group of disks. Stripe placement is performed across all active failure domains within the storage system using a greedy algorithm. | 12-10-2015 |
20150378819 | MEMORY SYSTEM WITH VARIABLE LENGTH PAGE STRIPES INCLUDING DATA PROTECTION INFORMATION - Methods and apparatuses for enhanced protection of data stored in a non-volatile memory system involve a controller capable of adapting to the failure of one or more non-volatile memory devices in the memory system. The controller stores data in the form of page stripes, each page stripe composed of data pages, and each data page stored in a different non-volatile memory device. The controller also detects failure of a non-volatile memory device in which a data page of a particular page stripe is stored, reconstructs the data page, and stores the reconstructed data page in a new page stripe, where the number of data pages in the new page stripe is less than the number of data pages in the particular page stripe, and where no page of the new page stripe is stored in a memory location within the failed non-volatile memory device. | 12-31-2015 |
20150378827 | ADJUSTING A DATA STORAGE ADDRESS MAPPING IN A MAINTENANCE FREE STORAGE CONTAINER - A method includes sending, by a computing device, an access request to one or more site controllers. The method further includes identifying, by a site controller, storage containers based on DSN addresses. The method includes sending, by the site controller, the access request to the identified storage containers. The method includes interpreting, by a container controller, the access request to identify storage units affiliated with some of the DSN addresses. The method includes determining, by the container controller, whether the storage units are in a storage failure mode. The method includes when the storage units are in the storage failure mode, determining, by the container controller, whether to rebuild, to change virtual to physical address mapping, or to migrate encoded data slices. The method includes, when the encoded data slices are to be rebuild, facilitating, by the container controller, rebuilding of the encoded data slices. | 12-31-2015 |
20160011943 | SYSTEM AND METHOD FOR TRANSFERRING TRADITIONAL RAID TO DISTRIBUTED ARRAY | 01-14-2016 |
20160062837 | DEFERRED REBUILDING OF A DATA OBJECT IN A MULTI-STORAGE DEVICE STORAGE ARCHITECTURE - Technology is disclosed for a data storage architecture for providing enhanced storage resiliency for a data object. The data storage architecture can be implemented in a single-tier configuration and/or a multi-tier configuration. In the single-tier configuration, a data object is encoded, e.g., based on an erasure coding method, to generate many data fragments, which are stored across many storage devices. In the multi-tier configuration, a data object is encoded, e.g., based on an erasure coding method, to generate many data segments, which are sent to one or more tiers of storage nodes. Each of the storage nodes further encodes the data segment to generate many data fragments representing the data segment, which are stored across many storage devices associated with the storage node. The I/O operations for rebuilding the data in case of device failures is spread across many storage devices, which minimizes the wear of a given storage device. | 03-03-2016 |
20160092304 | METHOD AND SYSTEM FOR IMPROVING FLASH STORAGE UTILIZATION BY PREDICTING BAD M-PAGES - A method for managing persistent storage. The method includes selecting a page for a proactive read request, where the page is located in the persistent storage. The method further includes issuing the proactive read request to the page, receiving, in response to the proactive read request, a bit error value (BEV) for data stored on the page, obtaining a BEV threshold (T) for the page, wherein T is determined using a program/erase cycle value associated with the page and a retention time of the data stored on the page, making a first determination that the BEV is greater than T, based on the first determination: identifying an m-page, where the m-page is a set of pages and the page is in the set of pages, and setting the m-page as non-allocatable for future operations. | 03-31-2016 |
20160098315 | DEVICE FOR MANAGING THE STORAGE OF DATA - A device manages the storage of data in at least one storage device of a first type and in a storage device of a second type, the at least one storage device of the first type being physically distinct from the storage device of the second type. The device partitions data to be stored into blocks of data, determines redundancies generated by an error detection code for each block of data, stores blocks of data in the at least one storage device of the first type, the storage device(s) of the first type being compliant with an avionic quality assurance level of a given quality level, and stores redundancies in the storage device of the second type, the storage device of the second type being compliant with an avionic quality assurance level that is higher than the avionic quality assurance level of the storage device(s) of first type. | 04-07-2016 |
20160110249 | ADAPTIVE STORAGE RELIABILITY MANAGEMENT - A storage controller identifies a storage location within a storage division that corresponds to a high error rate. In response, the storage controller may refresh data stored on the storage division by relocating data from the storage division and/or initializing (e.g., erasing) the storage division. In some embodiments, the storage division is selectively refreshed by relocating data from the storage location(s) having high error rates, while deferring a full relocation of other data from the storage division. The storage division may be selectively refreshed based on reliability characteristics of the storage division, such as the remaining data retention time calculated for the storage division. | 04-21-2016 |
20160110251 | METHODS FOR MANAGING FAILURE OF A SOLID STATE DEVICE IN A CACHING STORAGE - Techniques for managing caching use of a solid state device are disclosed. In some embodiments, the techniques may be realized as a method for managing caching use of a solid state device. Management of the caching use may include receiving, at a host device, notification of failure of a solid state device. In response to the notification a cache mode may be set to uncached. In uncached mode input/output (I/O) requests may be directed to uncached storage (e.g., disk). | 04-21-2016 |
20160139991 | PARITY-LAYOUT GENERATING METHOD, PARITY-LAYOUT GENERATING APPARATUS, AND STORAGE SYSTEM - A parity-layout generating method, includes: creating a first local parity layout with a first calculation range for calculating local parity; creating a second local parity layout with a second calculation range for calculating local parity, a length of the second calculation range being different from a length of the first calculation range; and creating, by a computer, a third local parity layout with the first calculation range and the second calculation range by combining the first local parity layout and the second local parity layout. | 05-19-2016 |
20160140002 | RECOVERY IMPROVEMENT FOR QUIESCED SYSTEMS - Methods and apparatuses for performing a quiesce operation during a processor recovery action is provided. A processor performs a processor recovery action. A processor retrieves a quiesce status of a computer system from a shared cache with a second processor. A processor determines a quiesce status of the first processor based, a least in part, on the retrieved quiesce status of the computer system. | 05-19-2016 |
20160147601 | METHOD FOR SCHEDULING HIGH SPEED CACHE OF ASYMMETRIC DISK ARRAY - A method for asymmetrically scheduling buffer cache of disk array. The method including: (1) detecting whether access from a upper layer is hit in a buffer cache, proceeding to (7) if yes, and proceeding to (2) if no; (2) detecting whether the buffer cache is full, proceeding to (3) if yes, and proceeding to (5) if no; (3) detecting whether the number of pages of a sacrificial disk is greater than a threshold, proceeding to (4) if yes, and proceeding to (6) if no; (4) selecting and replacing a cold page of the sacrificial disk; (5) buffering data requested by a user in a blank page in the buffer cache; (6) selecting and replacing all cold pages of the buffer cache; and (7) reading or writing the data, and changing positions or status thereof in pages of the buffer cache. | 05-26-2016 |
20160147602 | I/O HANDLING BETWEEN VIRTUALIZATION AND RAID STORAGE - A method for handling input/output (I/O) in a data storage system comprising a RAID subsystem storing data according to a RAID level utilizing a parity scheme, where RAID stripes have been configured across a plurality of data storage devices. The method may include monitoring write requests to the RAID subsystem, identifying write requests destined for the same RAID stripe, and bundling the identified write requests for substantially simultaneous execution at the corresponding RAID stripe. Monitoring write requests to the RAID subsystem may include delaying at least some of the write requests to the RAID subsystem so as to build-up a queue of write requests. In some embodiments, identifying write requests and bundling the identified write requests may include identifying and bundling a number of write requests as required to perform a full stripe write to the corresponding RAID stripe. | 05-26-2016 |
20160170851 | MULTI LEVEL DATA RECOVERY IN STORAGE DISK ARRAYS | 06-16-2016 |
20160179410 | Two-Level Hierarchical Log Structured Array Architecture with Minimized Write Amplification | 06-23-2016 |
20160179621 | Prioritizing Data Reconstruction in Distributed Storage Systems | 06-23-2016 |
20160188410 | STRIPE RECONSTITUTING METHOD PERFORMED IN STORAGE SYSTEM, METHOD OF PERFORMING GARBAGE COLLECTION BY USING THE STRIPE RECONSTITUTING METHOD, AND STORAGE SYSTEM PERFORMING THE STRIPE RECONSTITUTING METHOD - A stripe reconstituting method in a storage system, a garbage collection method employing the stripe reconstituting method, and the storage system performing the stripe reconstituting method are provided. The stripe reconstituting method includes the operations of selecting a target stripe in which an imbalance between valid page ratios of memory blocks included in the target stripe exceeds an initially-set threshold value, from among stripes produced in a log-structured storage system; and reconstituting a stripe by regrouping the memory blocks included in the target stripe such that the imbalance between the valid page ratios of the memory blocks included in the target stripe is reduced. | 06-30-2016 |
20160188411 | CONTRACTING AND/OR DE-CONTRACTING STORED PARAMETERS - Briefly, methods and/or systems of contracting and/or de-contracting stored parameters are disclosed. | 06-30-2016 |
20160188412 | MANAGEMENT OF MICROCODE ERRORS IN A STORAGE OPERATION - Embodiments of the present disclosure relate to a system and computer program product for managing a microcode error in a storage operation. Embodiments include receiving an error code that corresponds to the microcode error and receiving a received error path signature for the error code. Embodiments also include identifying a metadata error path signature for the error code within a metadata table and determining whether the received error path signature for the error code substantially matches the metadata error path signature for the error code. Embodiments also include initiating a mitigation action in response to the received error path signature for the error code substantially matching the metadata error path signature for the error code. | 06-30-2016 |
20160196182 | READ BUFFER ARCHITECTURE SUPPORTING INTEGRATED XOR-RECONSTRUCTED AND READ-RETRY FOR NON-VOLATILE RANDOM ACCESS MEMORY (NVRAM) SYSTEMS | 07-07-2016 |
20160203055 | SYNCHRONIZED FLASHCOPY BACKUP RESTORE OF A RAID PROTECTED ARRAY | 07-14-2016 |
20160253251 | Using unused portion of the storage space of physical storage devices configured as a RAID | 09-01-2016 |
20170235631 | RESILIENT DISTRIBUTED STORAGE SYSTEM | 08-17-2017 |
20190146875 | MACHINE LEARNING TO ENHANCE REDUNDANT ARRAY OF INDEPENDENT DISKS REBUILDS | 05-16-2019 |
20190146878 | CONVERTING A DATA CHUNK INTO A RING ALGEBRAIC STRUCTURE FOR FAST ERASURE CODING | 05-16-2019 |