Abstract:
A data storage subsystem that includes three data storage units, three check storage units, and an array controller coupled to the three data and three check storage units can tolerate failure of any three data and check storage units failures can be occur before data stored on the data storage subsystem is lost. Information is stored on the data storage subsystem as a symmetric Maximum Distance Separation code, such as Winograd code, a Reed Solomon code, an EVENODD code or a derivative of an EVENODD code. The array controller determines the contents of the check storage units so that any three erasures of the data storage units and the check storage units can be corrected by the array controller. The array controller updates a block of data contained in any one of the data storage units and the check storage units using only six IO operations.
Abstract:
The error tolerance of an array of m storage units is increased by using a technique referred to as "dodging." A plurality of k stripes are stored across the array of storage units in which each stripe has n + r elements that correspond to a symmetric code having a minimum Hamming distance d = r + 1. Each respective element of a stripe is stored on a different storage unit. An element is selected when a difference between a minimum distance of the donor stripe and a minimum distance of a recipient stripe is greater or equal to 2. The selected element is also stored on a storage unit having no elements of the recipient stripe. A lost element of the recipient stripe is then rebuilt on the selected element.
Abstract:
A data storage subsystem that includes three data storage units, three check storage units, and an array controller coupled to the three data and three check storage units can tolerate failure of any three data and check storage units failures can be occur before data stored on the data storage subsystem is lost. Information is stored on the data storage subsystem as a symmetric Maximum Distance Separation code, such as Winograd code, a Reed Solomon code, an EVENODD code or a derivative of an EVENODD code. The array controller determines the contents of the check storage units so that any three erasures of the data storage units and the check storage units can be corrected by the array controller. The array controller updates a block of data contained in any one of the data storage units and the check storage units using only six IO operations.
Abstract:
An optimum pathway to data stored on a data storage system having N storage devices and more than N pathways is determined in response to a read request for the data. A sorter separates the read request into an appropriate segment size for sending to the storage devices of the data storage system. An assigner generates the set of read permutations satisfying the read request. A read permutation is selected based on a metric. A collector recieves the requested data from the N storage devices in response to the selected read permutation being sent to the storage devices.
Abstract:
Error tolerance is increased for a storage system having a plurality of arrays by making local redundancy in a selected array globally available throughout the storage system. To achieve the increased error tolerance, a donor array is selected from the plurality of arrays when the difference between a minimum distance of the donor array and a minimum distance of a recipient array is greater or equal to 2. A donor storage unit is selected in the donor array and recipient information is then rebuilt from the recipient array on the selected storage unit. The selected storage unit is indicated to the donor array as having been donated before the lost information is rebuilt on the selected storage unit. Preferably, the minimum Hamming distance of the recipient array is d >= 2 before the donor array is selected from the plurality of arrays.
Abstract:
PROBLEM TO BE SOLVED: To enhance performance of a log structure writing cache for a data storage system and the storage system. SOLUTION: There are a RAID (redundant array of independent disks), a magnetic disk, an optical disk and a magnetic tape storage, etc. as the storage system. The writing cache is preferably mounted on a main storage, however, it may be mounted on other storage elements and includes a cache line for temporarily storing written data at a nonvolatile state. Thus, system performance is enhanced by sequentially writing data in a target storage position later. Meta data by every cache line is also held in the writing cache. The meta data includes target sector addresses to each sector in the line and a number indicating an order of data to be written in the cache line. Entry of a buffer table is provided by every cache line. A hash table is used for searching the buffer table by calculating sector addresses required for reading/writing of each piece of data. COPYRIGHT: (C)2004,JPO&NCIPI
Abstract:
A data storage subsystem that includes three data storage units, three check storage units, and an array controller coupled to the three data and three check storage units can tolerate failure of any three data and check storage units failures can be occur before data stored on the data storage subsystem is lost. Information is stored on the data storage subsystem as a symmetric Maximum Distance Separation code, such as Winograd code, a Reed Solomon code, an EVENODD code or a derivative of an EVENODD code. The array controller determines the contents of the check storage units so that any three erasures of the data storage units and the check storage units can be corrected by the array controller. The array controller updates a block of data contained in any one of the data storage units and the check storage units using only six IO operations.
Abstract:
Error tolerance is increased for a storage system having a plurality of arrays by making local redundancy in a selected array globally available throughout the storage system. To achieve the increased error tolerance, a donor array is selected from the plurality of arrays when the difference between a minimum distance of the donor array and a minimum distance of a recipient array is greater or equal to 2. A donor storage unit is selected in the donor array and recipient information is then rebuilt from the recipient array on the selected storage unit. The selected storage unit is indicated to the donor array as having been donated before the lost information is rebuilt on the selected storage unit. Preferably, the minimum Hamming distance of the recipient array is d>=2 before the donor array is selected from the plurality of arrays.
Abstract:
A storage system contains a controller 102, a flash memory 106 and another type of storage device, such as a hard disc drive 108. The flash memory has a life span based on the number of write/erase cycles for each block. The controller estimates the remaining lifespan of the flash memory. Based on the estimate, it determines which data should be written to the flash memory. A limit may be placed on the size of data transfer written to the flash memory. Data transfers over the limit are written to the other storage device without being written to the flash. A limit may be placed on the amount of data pre-fetched from the other storage device during read operations. A proportion of transfers to the system may be written directly to the other storage device and not to the flash memory.