摘要:
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.
摘要:
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 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 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.
摘要:
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.
摘要:
A system for moving physically stored data in a distributed, virtualized storage network is disclosed. A group of data sets is written to a first storage device as part of a write operation such as migration. A plurality of storage devices partially filled with data are designated as substitutes. The write operation to the first storage device is suspended upon receiving a request to read a data set stored in the first storage device, such as occurs in a recall operation. A second storage device is then selected from the plurality of substitute storage devices. The write operation is continued by writing data sets from the group of data sets included in the write operation that were not written to the first storage device to the selected second storage device. The requested data is then read from the first storage device. After data has been read from the first storage device, the first storage device may be designated as a substitute storage device so that the partially filled first storage device may be selected for continuing write operations. Data sets from substitute storage devices may be transferred or merged into a lesser number of storage devices during recycle operations to prevent the number of substitute storage devices from increasing beyond a predetermined limit or goal. Recycling operations in which data sets from different storage devices are transferred or merged may be performed by building a first queue including a list of filled tapes ordered according to the least amount of valid data and a second queue including all unassociated partially filled storage devices ordered by the amount of available storage space, and merging.
摘要:
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.
摘要:
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.