摘要:
A digital data management system for managing a shadow set of storage media includes a plurality of storage media each accessible by at least one data processing device for I/O operations. Successive comparisons are carried out between data stored in corresponding locations in the storage media while maintaining access to the storage media for I/O operations. When inconsistency between data in corresponding locations is detected, a management operation is performed on at least one of the shadow set storage media. The management operation includes interrupting I/O operations to at least the storage medium on which the operation is performed, modifying data on one of the shadow set storage media to correct the inconsistency, and resuming availability of the storage media for I/O operations.
摘要:
A log for managing data in a shadow set of storage media includes a system for maintaining a log of address information associated with at least one write command received from one of a plurality of data processing devices. The system for maintaining a log of address information includes a device for receiving a write command from a data processing device, a device which writes data associated with the write command in a section of one of the storage media, and a device which writes address information in a log indicative of the location of that section. A device is provided which then implements a management operation on data stored on one of the storage media in accordance with the address information stored in the log.
摘要:
A system and method for transferring data from a first storage medium to a second storage medium, each of the storage media being divided into corresponding data blocks, the method comprising steps of: (a) reading data stored in a first data block in the first storage medium, the first data block initially constituting a current data block; (b) comparing data read in the current data block to data stored in a corresponding data block in the second storage medium; (c) if the data compared in step b are identical, reading data stored in a different data block in the first storage medium, the different data block becoming the current data block, and returning to step b; (d) modifying the data stored in one of the storage media such that the data in the current data block is identical to the corresponding data in the second storage medium; and (e) rereading the data in the current data block and returning to step b.
摘要:
A method and apparatus for transferring data between two storage media, and is used in an illustrative embodiment to transfer data between two storage media in a shadow set, the storage media being accessible to one or more host processors. The method of the preferred embodiment includes the steps of: A. receiving a command from one of the host processors, the command specifying data to be transferred from a first storage medium to a second storage medium; B. transferring the data specified in the command received from the host from the first storage medium to the second storage medium in a series of subtransfers, each of the subtransfers transferring a portion of the data; and C. processing one or more I/O requests to the shadow set received from one or more host processors by, for each received I/O request: a. implementing the I/O request if the I/O request does not involve a section of the shadow set currently involved in one of the subtransfers; and b. stalling the I/O request if the I/O request involves a section of said shadow set currently involved in one of the subtransfers, and implementing the I/O request when the subtransfer has completed.
摘要:
The present invention provides a method for copying data through a virtualized storage system using distributed table driven (I/O) mapping. In a system having a virtual disk (the “original disk”), a persistent mapping table for this virtual disk exists on a controller, and volatile copies of some or all entries in this mapping table are distributed to one or more more mapping agents. The method of the present invention creates a new virtual disk mapping table that has the exact same entries as the mapping table as the original virtual disk. The new snapshot disk then shares the same storage as the original disk, so it is space efficient. Furthermore, creating new snapshot disk involves only copying the contents of the mapping table, not moving data, so the creation is fast. In order to allow multiple virtual disks to share storage segments, writes to either the original virtual disk or the snapshot copy cannot be seen by the other. Therefore, in addition to simply copying the mapping table, both the original and snapshot disk mapping table must also cause writes to these disks to be handled specially. Finally, any changes to the original disk mapping table stored in the controller must be coordinated with the volatile copies stored in the mapping agent in such a way so that all hosts see a consistent view of that disk.
摘要:
The present invention provides a system and method for creating virtualized storage in a storage area network using distributed table-driven input/output mapping. The present invention distributes the virtualization mapping in multiple parallel, mapping agents that are separate from a controller. This allows the performance-sensitive mapping process to be parallelized and distributed optimally for performance, while the control of the mapping may be located in a controller chosen for optimal cost, management, and other implementation practicalities. The mapping agents store the virtual mapping tables in volatile memory, substantially reducing the cost and complexity of implementing the mapping agents. The controller is responsible for persistent storage of mapping tables, thereby consolidating the costs and management for persistent mapping table storage in a single component. Distributed virtualization also allows the controller to manage multiple virtual disks used by multiple host systems, and allows a single virtual disk to be shared by multiple host systems. The mapping agents preferably do not interact only with other mapping agents, thereby improving the scalability of the virtual storage system and the virtual storage system's tolerance of component failures.
摘要:
Data storage systems using a RAID-4 or RAID-5 organization divide an application I/O request into a number of individual I/O requests, each of which is contained within the boundaries of a single strip. The data blocks of each chunk on a strip responsive to an I/O request can form a complex geometric pattern requiring complicated operations to perform the I/O request. To simplify the necessary operations, each individual I/O request to a strip is divided into at most three requests targeted to data blocks forming a rectangle and each of these rectangles are processed as a unit. If a data block within a rectangle is unavailable, then the request to that rectangle is further subdivided into at most two requests targeted to data blocks forming smaller, non-overlapping rectangles which collectively are the original rectangle. The recursive decomposition of rectangles into smaller rectangles isolates the data block with an error and permits the selection of fewer and less complicated operation algorithms to complete the I/O request.
摘要:
A virtual storage system comprises an agent to store a first table to map virtual storage segments to storage locations, and a controller to store a second table and to intermittently cause contents of the first table to be replaced by contents of the second table. During an I/O operation, one of the entries in the first table can be accessed by a host to determine one of the storage locations. Also, a method for performing an I/O operation on a virtual storage segment, defined by first table that maps a storage segment to a first storage location, comprises turning off I/O operations at the first storage location, identifying portions of the virtual storage segment to be effected during a write operation, storing a record of identified portions at a second table not the first table, and writing to portions of the second storage location associated with the identified portions.
摘要:
A storage system having a plurality of disks arranged in a RAID array with one of said disks being a replacement disk. A method and apparatus for restoring the contents of the replacement disk without interrupting concurrent access to the RAID array. An access request by a user application to a data block in the replacement disk results in regeneration and reconstruction of the accessed data block. In addition, the systematic reconstruction of data or parity blocks not yet accessed by the user application occurs by locating status bits associated with each data and parity block of the new disk.
摘要:
Preferred embodiments of the present invention provide a system and method for the management of virtual storage. The system and method include an object-oriented computer hardware/software model that can be presented, for example, via a management interface (e.g., via graphical user interfaces, command line interfaces, application programming interfaces, etc.). In some preferred embodiments, the model separates physical storage management from virtual disks presented to hosts and management can be automated such that the user (e.g., customer, manager and/or administrator) specifies goals rather than means—enhancing ease of use while maintaining flexible deployment of storage resources.