Class / Patent application number | Description | Number of patent applications / Date published |
714770000 | Disk array | 43 |
20080256420 | ERROR CHECKING ADDRESSABLE BLOCKS IN STORAGE - Provided are a method, system, and article of manufacture for error checking addressable blocks in storage. Addressable blocks of data are stored in a storage in stripes, wherein each stripe includes a plurality of data blocks for one of the addressable blocks and at least one checksum block including checksum data derived from the data blocks for the addressable block. A write request is received to modify data in one of the addressable blocks. The write and updating the checksum are performed in the stripe having the modified addressable block. An indication is made to perform an error checking operation on the stripe for the modified addressable block in response to the write request, wherein the error checking operation reads the data blocks and the checksum in the stripe to determine if the checksum data is accurate. An error handling operation is initiated in response to determining that the checksum data is not accurate. | 10-16-2008 |
20080276152 | System and Method for Error Detection in a Data Storage System - A system and method for error detection in a data storage array includes one or more storage medium interconnected with a controller through a network. A data integrity engine in the controller applies a first error detection process to a data object to create one or more data blocks and associated parity codes. First and second error detection processes are applied to detect and repair errors in the data object. | 11-06-2008 |
20100088576 | MAGNETIC DISK CONTROLLER AND METHOD - Among other disclosed subject matter, a magnetic disk controller includes an interface that receives and transmits data to be written into a magnetic disk. The magnetic disk controller includes a first buffer and a second buffer each of which temporarily stores data that is to be written into at least one sector of the magnetic disk. The magnetic disk controller includes an encoding unit that encodes the data stored in any of the first buffer and the second buffer into data representing a signal to be applied to the magnetic disk. A data width M between the encoding unit and the first and second buffers is at least equal to twice a data width N between the interface and the first and second buffers. | 04-08-2010 |
20100251073 | DISK CONTROLLER METHODS AND APPARATUS WITH IMPROVED STRIPING, REDUNDANCY OPERATIONS AND INTERFACES - A RAID disk drive controller (FIG. | 09-30-2010 |
20100325522 | Storage device, storage control device, data transfer intergrated circuit, and storage control method - A storage device is for restoring the data saved in a nonvolatile memory to a cache memory, even if there is not a read response from the nonvolatile memory. In a data saving operation, parity data of to-be-saved data is generated, and the to-be-saved data and the parity data having CRCs and AIDs added thereto are written into a flash memory. In a data restoring operation, if an operation to read data from the flash memory is not completed within a predetermined period of time, the data reading operation is suspended, and additional data is set. The to-be-saved data having a data error corrected with the parity data is then written into the cache memory. | 12-23-2010 |
20110078543 | PARALLEL INVERSIONLESS ERROR AND ERASURE PROCESSING - A complementary error evaluator polynomial is generated by obtaining a syndrome polynomial and one or more erasure locations. The syndrome polynomial and the erasure locations are associated with Reed-Solomon encoded information. A complementary error evaluator polynomial and an error locator polynomial are simultaneously generated using the syndrome polynomial and the erasure locations where the complementary error evaluator polynomial is a complement of the error evaluator polynomial. | 03-31-2011 |
20110126083 | 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. | 05-26-2011 |
20110231737 | DATA STORAGE APPARATUS AND DATA WRITING/READING METHOD - According to one embodiment, a data storage apparatus including memory chips includes an error correction encoder, a RAID controller, error detectors and memory units. Each of the memory chips includes a semiconductor memory. The error correction encoder adds an error correction code to an encoded data stream. The RAID controller divides the encoded data stream from the error correction encoder into data blocks. The RAID controller generates a parity data block based on the data blocks. The RAID controller outputs the data blocks and parity data block to the error detectors, respectively. The error detectors add an error detection code to the data blocks and parity data block output from the RAID controller. Each of the memory units includes the memory chips. The memory units write the data blocks and parity data block from the error detectors to the memory chips. | 09-22-2011 |
20110276859 | STORAGE DEVICE ARRAY SYSTEM, INFORMATION PROCESSING APPARATUS, STORAGE DEVICE ARRAY CONTROL METHOD, AND PROGRAM - A disk array apparatus, if a rebuild error occurs, stores information indicating an error occurrence place in a sector holding unit, and then stops rebuild processing. A host computer, if a rebuild error occurs in the disk array apparatus, acquires the information indicating the error occurrence place from the disk array apparatus. The host computer determines whether the rebuild error does not obstruct continuation of the rebuild processing based on the acquired information indicating the error occurrence place. If it is determined that the rebuild error does not obstruct continuation of the rebuild processing, the host computer instructs the disk array apparatus to resume the rebuild processing while skipping the error occurrence place. In response to the instruction from the host computer, the disk array apparatus resumes the rebuild processing while skipping the error occurrence place. | 11-10-2011 |
20110307763 | RECORDING APPARATUS - To suppress deterioration in image quality even if skew occurs during conveyance of a medium, an apparatus, which is configured to record on the medium conveyed in a direction that intersects an array direction of a plurality of recording elements using a recording head on which the recording elements are arranged, includes a table in which the recording elements are divided into a plurality of groups, and which includes correction information corresponding to the recording elements for each group, a first acquisition unit configured to acquire position information about the medium in the array direction, a second acquisition unit configured to acquire the correction information based on the position information and the table, and a correction unit configured to correct image data based on the correction information. | 12-15-2011 |
20110320914 | ERROR CORRECTION AND DETECTION IN A REDUNDANT MEMORY SYSTEM - Error correction and detection in a redundant memory system that includes a memory controller; a plurality of memory channels in communication with the memory controller, the memory channels including a plurality of memory devices; a cyclical redundancy code (CRC) mechanism for detecting that one of the memory channels has failed, and for marking the memory channel as a failing memory channel; and an error correction code (ECC) mechanism. The ECC is configured for ignoring the marked memory channel and for detecting and correcting additional memory device failures on memory devices located on one or more of the other memory channels, thereby allowing the memory system to continue to run unimpaired in the presence of the memory channel failure. | 12-29-2011 |
20120089889 | DATA TRANSMISSION UTILIZING PARTITIONING AND DISPERSED STORAGE ERROR ENCODING - A method begins by a first device obtaining data for transmission to a second device and partitioning the data to produce a plurality of data portions. The method continues with the first device dispersed storage error encoding the plurality of data portions using a plurality of sets of error coding dispersal storage function parameters to produce a plurality of sets of encoded data slices and transmitting the plurality of sets of encoded data slices to the second device via a network. The method continues with a second device receiving at least a decode threshold number of encoded data slices and dispersed storage error decoding the at least a decode threshold number of encoded data slices to produce a decoded data portion for each set of the plurality of sets of encoded data slices. The method continues with the second device recapturing the data from a plurality of decoded data portions. | 04-12-2012 |
20120192038 | SAS-BASED SEMICONDUCTOR STORAGE DEVICE MEMORY DISK UNIT - Embodiments of the present invention provide a storage device of a serial-attached small computer system interface/serial advanced technology attachment (PCI-Express) type that supports a low-speed data processing speed for a host. Specifically, the present invention provides a SSD memory system comprising (among other components) a set (at least one) of SSD memory disk units. Each SSD memory disk unit generally comprises (among other components), a host interface unit; a serial-attached small computer system interface (SAS) protocol controller for controlling a SAS protocol of the SSD memory disk unit coupled to the host interface unit; a direct memory access (DMA) controller for controlling access to the SSD memory disk unit coupled to the host interface unit; and a data buffer for buffering data stored in the SSD memory disk unit coupled to the DMA controller. | 07-26-2012 |
20120221926 | Nested Multiple Erasure Correcting Codes for Storage Arrays - Embodiments of the invention relate to storing data in a storage array. An aspect of the invention includes receiving write data. The write data is arranged into “r” rows and “n” columns of pages, with each page including a plurality of sectors. The write data is encoded using a plurality of horizontal and vertical erasure correcting codes on the pages. The encoding allows recovery from up to t | 08-30-2012 |
20120266049 | Parallel Reed-Solomon RAID (RS-RAID) Architecture, Device, and Method - The parallel RS-RAID data storage architecture can aggregate that data and checksums within each cluster into intermediate or partial sums that are transferred or distributed to other clusters. The use of intermediate data symbols, intermediate checksum symbols, cluster configuration information on the assignment of data storage devices to clusters and the operational status of data storage devices, and the like, can reduce the computational burden and latency for the error correction calculations while increasing the scalability and throughput of the parallel RS-RAID distributed data storage architecture. | 10-18-2012 |
20120297272 | IMPLEMENTING ENHANCED IO DATA CONVERSION WITH PROTECTION INFORMATION MODEL INCLUDING PARITY FORMAT OF DATA INTEGRITY FIELDS - A method and controller for implementing enhanced input/output (IO) data conversion with an enhanced protection information model including an enhanced parity format of the data integrity fields (DIF), and a design structure on which the subject controller circuit resides are provided. The controller implements a protection information model including a unique parity data integrity fields (DIF) format. The unique parity DIF format enables corruption detection for RAID parity blocks. The unique parity DIF format includes a predefined size for a protection information model logical block guard cyclic redundancy check (CRC) field and a logical block Reference Tag (RT) field. A plurality of storage devices in a RAID configuration are coupled to the controller, and configured to store data and RAID parity redundancy data, and wherein a strength of RAID parity redundancy data is not reduced when a loss of a single storage device in the plurality of storage devices occurs. | 11-22-2012 |
20130036340 | METHOD FOR IMPROVING PERFORMANCE IN RAID SYSTEMS - A method for computing and storing parity information in a RAID system includes dividing each segment in a stripe into a data block and a parity block, and storing in each parity block, parity information for a limited number of other data blocks in the stripe. A method for rebuilding data in a RAID system includes rebuilding the data from parity information and storing the rebuilt data on reserve portions of the remaining disks in the system. | 02-07-2013 |
20130117634 | MEMORY SYSTEM AND DATA STORAGE METHOD - A memory system comprises a nonvolatile memory device comprising a memory cell array comprising first and second memory blocks, and a memory controller configured to control the nonvolatile memory device to read data from the first memory block, selectively determine an error correction operation to be performed on the data after it is read from the first memory block based on a state of at least one of the first and second memory blocks, and then store the data in the second memory block. | 05-09-2013 |
20130132801 | ERROR CHECKING ADDRESSABLE BLOCKS IN STORAGE - Provided are a method, system, and article of manufacture for error checking addressable blocks in storage. Addressable blocks of data are stored in a storage in stripes, wherein each stripe includes a plurality of data blocks for one of the addressable blocks and at least one checksum block including checksum data for the addressable block. A write request is received to modify data in one of the addressable blocks. The write and updating the checksum are performed in the stripe having the modified addressable block. An indication is made to perform an error checking operation on the stripe for the modified addressable block in response to the write request, wherein the error checking operation reads the data blocks and the checksum in the stripe to determine if the checksum data is accurate. An error handling operation is initiated in response to determining that the checksum data is not accurate. | 05-23-2013 |
20130173996 | ACCELERATED ERASURE CODING SYSTEM AND METHOD - An accelerated erasure coding 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 processing core, storage medium, and computer instructions are configured to implement an erasure coding system, which includes: a data matrix for holding original data in the main memory; a check matrix for holding check data in the main memory; an encoding matrix for holding first factors in the main memory, the first factors being for encoding the original data into the check data; and a thread for executing on the processing core. The thread includes: a parallel multiplier for concurrently multiplying multiple entries of the data matrix by a single entry of the encoding matrix; and a first sequencer for ordering operations through the data matrix and the encoding matrix using the parallel multiplier to generate the check data. | 07-04-2013 |
20130191703 | DYNAMIC GRADUATED MEMORY DEVICE PROTECTION IN REDUNDANT ARRAY OF INDEPENDENT MEMORY (RAIM) SYSTEMS - Dynamic graduated memory device protection in redundant array of independent memory (RAIM) systems that include a plurality of memory devices is provided. A first severity level of a first failing memory device in the plurality of memory devices is determined. The first failing memory device is associated with an identifier used to communicate a location of the first failing memory device to an error correction code (ECC). A second severity level of a second failing memory device in the plurality of memory devices is determined. It is determined that the second severity level is higher than the first severity level. The identifier from the first failing memory device is removed based on determining that the second severity level is higher than the first severity level. The identifier is applied to the second failing memory device based on determining that the second severity level is higher than the first severity level. | 07-25-2013 |
20130238957 | DATA DISTRIBUTION UTILIZING UNIQUE READ PARAMETERS IN A DISPERSED STORAGE SYSTEM - A centralized DVR includes a dispersed storage error encoding module, storage nodes, and a distribution module. The dispersed storage error encoding module encodes a broadcast of data in accordance with an error coding dispersal storage function to produce a plurality of sets of encoded data slices, which is stored in the storage nodes. For a first playback request, the distribution module determines a first unique combination and retrieves, as a first unique copy of the broadcast data from the storage nodes, encoded data slices of the plurality of sets of encoded data slices in accordance with the first unique combination. For a second playback request, the distribution module determines a second unique combination and retrieves, as a second unique copy of the broadcast data from the storage nodes, encoded data slices of the plurality of sets of encoded data slices in accordance with the second unique combination. | 09-12-2013 |
20140013186 | COMPUTING SYSTEM UTILIZING DISPERSED STORAGE - A computing system comprises at least a processing module, a main memory, a memory controller, and a plurality of memory components. A method begins by the memory controller receiving a memory access request regarding a data segment. The method continues with the memory controller interpreting the memory access request to determine whether an error encoding dispersal function of the data segment is applicable. The method continues with the memory controller identifying at least a threshold number of memories based on the memory access request, wherein the threshold number of memories includes at least one of the main memory and/or one or more of the plurality of memory components, when the error encoding dispersal function is applicable. The method continues with the memory controller addressing the at least a threshold number of memories to facilitate the memory access request. | 01-09-2014 |
20140026017 | MEMORY SELECTION FOR SLICE STORAGE IN A DISPERSED STORAGE NETWORK - A method begins by a dispersed storage (DS) processing module determining that a plurality of sets of encoded data slices is to be stored in a set of storage units of a dispersed storage network (DSN) and identifying one or more devices of the DSN that will potentially issue a read request for at least some sets of encoded data slices. The method continues with the (DS) processing module determining transmission times between the one or more devices and the set of storage units and determining a storage strategy for storing the plurality of sets of encoded data slices in the set of storage units based on the transmission times and memory devices of the set of storage units such that, from set to set of encoded data slices, at least a threshold number of encoded data slices are retrievable with comparable read response times. | 01-23-2014 |
20140040703 | STORING ENCODED DATA SLICES IN A DISPERSED STORAGE UNIT - A method begins with a processing module receiving an access request for the data object. The method continues by ascertaining that the data object is divided into a plurality of data segments and that plurality of data segments are dispersed storage error encoded to produce a plurality of sets of encoded data slices. The method continues by ascertaining batching of the plurality of sets of encoded data slices, wherein the plurality of sets of encoded data slices are arranged into a set of batched encoded data slices. The method continues by outputting a set of access requests for the set of batched encoded data slices to storage units of the DSN. | 02-06-2014 |
20140068381 | LDPC Decoder Irregular Decoding of Regular Codes - The present inventions are related to systems and methods for irregular decoding of regular codes in an LDPC decoder, and in particular to allocating decoding resources based in part on data quality. | 03-06-2014 |
20140101518 | DYNAMIC GRADUATED MEMORY DEVICE PROTECTION IN REDUNDANT ARRAY OF INDEPENDENT MEMORY (RAIM) SYSTEMS - Dynamic graduated memory device protection in redundant array of independent memory (RAIM) systems that include a plurality of memory devices is provided. A first severity level of a first failing memory device in the plurality of memory devices is determined. The first failing memory device is associated with an identifier used to communicate a location of the first failing memory device to an error correction code (ECC). A second severity level of a second failing memory device in the plurality of memory devices is determined. It is determined that the second severity level is higher than the first severity level. The identifier from the first failing memory device is removed based on determining that the second severity level is higher than the first severity level. The identifier is applied to the second failing memory device based on determining that the second severity level is higher than the first severity level. | 04-10-2014 |
20140115426 | TRIPLE PARITY ENCODING TO FACILITATE DATA RECOVERY - Examples are disclosed for facilitating recovery from failures associated with a storage array having a plurality of storage devices. | 04-24-2014 |
20140129905 | Flexible Low Density Parity Check Code Seed - Various embodiments of the present inventions provide systems and methods for data processing with a flexible LDPC seed. | 05-08-2014 |
20140164877 | STORING PORTIONS OF DATA IN A DISPERSED STORAGE NETWORK - A method begins, in accordance with a segmentation approach, dividing large data to be stored into regions and dividing a region into segments. The method continues by generating preliminary DSN storage information for one or more regions. The method continues by identifying other large data stored in the DSN that has a relationship with the large data to be stored in the DSN and retrieving DSN storage information for the other large data. The method continues by comparing, at a region level, the preliminary DSN storage information with the retrieved DSN storage information. When a region of the large data to be stored has substantially similar DSN storage information as a region of the other large data, the method continues by utilizing the DSN storage information for the region of the other large data for the DSN storage information of the region of the large data. | 06-12-2014 |
20140250347 | UTILIZING A DISPERSED STORAGE NETWORK ACCESS TOKEN MODULE TO ACCESS A DISPERSED STORAGE NETWORK MEMORY - A method includes a DSN access token module retrieving one or more sets of at least a threshold number of dispersed storage (DS) error coding function slices from the DSN memory via the computing device. The method continues with the computing device and/or the DSN access token module decoding the one or more sets of the at least a threshold number of DS error coding function slices using a default DS error coding function to recapture a DS error coding function. The method continues with the computing device and/or the DSN access token module generating a plurality of sets of data access requests in accordance with the DS error coding function. The method continues with the computing device sending the plurality of sets of data access requests to the DSN memory. | 09-04-2014 |
20140281818 | Method for Format Savings in Coherently Written Fragmented Sectors - A method and system for performing a shortened acquire cycle for at least one fragment of at least one data sector having coherently written fragments, the coherently written fragments being written during a single rotation of a storage medium. The method includes performing a full acquire cycle for a first fragment of a particular data sector of the at least one data sector. The method further includes reusing at least a portion of the acquisition information of the first fragment to perform a shortened acquire cycle for at least one subsequent coherently written fragment. The method also includes reusing at least a portion of the acquisition information of the first fragment to perform a shortened acquire cycle for at least one subsequent coherently written fragment. Additionally, the method includes performing the shortened acquire cycle for the at least one subsequent coherently written fragment. | 09-18-2014 |
20140380127 | FOLDED CODES FOR CORRECTION OF LATENT MEDIA ERRORS - Data is obtained at a data storage system. Codewords are generated from the obtained data. The codewords are computed using a folded code and each codeword comprises symbols. The codewords are stored on an array of disks associated with the data storage system in accordance with a codeword symbol mapping that is specified by at least one parameter of the folded code used to generate each codeword. | 12-25-2014 |
20140380128 | DATA MIGRATION BETWEEN A RAID MEMORY AND A DISPERSED STORAGE NETWORK MEMORY - A method begins by a processing module determining to change storage format from a redundant array of independent disks (RAID) format to a dispersed storage network (DSN) format. The method continues with the processing module retrieving the data from a RAID memory that is stored in the RAID format to produce retrieved RAID data. The method continues with the processing module converting stripe-block data of the retrieved RAID data into a plurality of sets of encoded data slices and reprovisioning the RAID memory for storing DSN formatted data to produce reprovisioned memory. The method continues with the processing module outputting the plurality of sets of encoded data slices to at least one of the RAID memory and a DSN memory for storage therein. | 12-25-2014 |
20150089328 | Flex Erasure Coding of Controllers of Primary Hard Disk Drives Controller - System and method embodiments are provided for managing storage systems. In an embodiment, a storage system includes an over-provisioned redundant array of independent disks (RAID); and a flexible erasure coding controller coupled to the RAID, the controller comprising a flexible exclusive-or engine configured to provide erasure coding for the over-provisioned RAID using M-parity convolution codes. | 03-26-2015 |
20150143200 | COMPUTER MEMORY POWER MANAGEMENT - A method of operating a computer memory system with ECC features that will enable operational modes with less electrical power consumption. A chip mark normally used to mark a failing DRAM device may instead be used to mark a non-failing DRAM device before a computer memory system shuts off electrical power to the marked non-failing DRAM device to reduce power consumption, putting the rank of memory that contains the DRAM device in a low power consumption mode. Upon a request from the computer memory system, the chip mark may be removed from the marked non-failing DRAM device in order to return the non-failing DRAM device to normal operation. | 05-21-2015 |
20150149869 | PHYSICAL SUBSECTOR ERROR MARKING - Physical subsector error marking allows for selectively marking subsectors of a physical sector of a storage medium as unreadable. The error marking may include a bad sector mask to indicate that the subsector is unreadable combined with an error signature to confirm that the bad sector mask was set intentionally. The remaining readable subsectors of the physical sector may be returned to the host. | 05-28-2015 |
20160019115 | FLEXIBLE DATA STORAGE SYSTEM - Methods and systems for managing and locating available storage space in a system comprising data files stored in a plurality of storage devices and configured in accordance with various data storage schemes (mirroring, striping and parity-striping). A mapping table associated with each of the plurality of storage devices is used to determine the available locations and amount of available space in the storage devices. The data storage schemes for one or more of the stored data files are changed to a basic storage mode when the size of a new data file configured in accordance with an assigned data storage scheme exceeds the amount of available space. The configured new data file is stored in accordance with the assigned data storage scheme in one or more of the available locations and the locations of the new data file are recorded. | 01-21-2016 |
20160026528 | TECHNIQUES FOR PROVIDING DATA REDUNDANCY AFTER REDUCING MEMORY WRITES - The present disclosure relates to techniques for providing data redundancy after reducing memory writes. In one example implementation according to aspects of the present disclosure, a storage controller receives a storage command for providing data redundancy in accordance with a first data redundancy scheme. The storage controller then translates the storage command for providing the data redundancy in accordance with a second data redundancy scheme. | 01-28-2016 |
20160026529 | RETRIEVING DATA SEGMENTS FROM A DISPERSED STORAGE NETWORK - A method includes dividing a data file into a plurality of data regions. For each data region, the method includes determining a segmentation approach; determining a dispersed storage error encoding function; segmenting the data region into a plurality of data segments in accordance with the segmentation approach; and dispersed storage error encoding the plurality of data segments to produce a plurality of sets of encoded data slices in accordance with the dispersed storage error encoding function. The method includes creating a segment allocation table (SAT) for the data file and dispersed storage error encoding the segment allocation table to produce a set of encoded SAT slices. The method includes outputting the set of encoded SAT slices with at least one of the pluralities of sets of encoded data slices for storage in storage units of the DSN. | 01-28-2016 |
20160034341 | ORPHAN BLOCK MANAGEMENT IN NON-VOLATILE MEMORY DEVICES - A system for data storage includes one or more non-volatile memory (NVM) devices, each device including multiple memory blocks, and a processor. The processor is configured to assign the memory blocks into groups, to apply a redundant data storage scheme in each of the groups, to identify a group of the memory blocks including at least one bad block that renders remaining memory blocks in the group orphan blocks, to select a type of data suitable for storage in the orphan blocks, and to store the data of the identified type in the orphan blocks. | 02-04-2016 |
20160179370 | Reducing Memory Overhead Associated With Memory Protected By A Fault Protection Scheme | 06-23-2016 |
20160378600 | FILE LEVEL DEFINED DE-CLUSTERED REDUNDANT ARRAY OF INDEPENDENT STORAGE DEVICES SOLUTION - A RAID (redundant array of independent storage devices) storage system where a file is stored at a physical protection level corresponding to a RAID protection level defined by metadata included in and/or with the file to be stored. | 12-29-2016 |