摘要:
A method is provided for storing and retrieving data in a network-attached data storage device by a cooperatively multitasking real time operating system configured to execute datapath routines and a general purpose operating system kernel configured to communicate with the network.
摘要:
A system and method for high performance multi-controller processing is disclosed. Independent Network storage controllers (NSCs) are connected by a high-speed data link. The NSCs control a plurality of storage devices. connected by a Fiber Channel Arbitrated Loop (FCAL). To provide redundancy, for a given logical unit of storage one NSC will function as the primary controller and the other NSC will function as the primary controller and the enhance the efficiency of command-response data transfers between NSCs, mirror memory is correlated with primary memory and named resources are used for command-response data transfers. Methods are disclosed to provide for efficient active mirroring of data.
摘要:
A storage system permits virtual storage of user data by implementing a logical disk mapping structure that provides access to user data stored on physical storage media and methods for generating point-in-time copies, or snapshots, of logical disks. A snapshot logical disk is referred to as a predecessor logical disk and the original logical disk is referred to as a successor logical disk. Creating a snapshot involves creating predecessor logical disk mapping data structures and populating the data structures with metadata that maps the predecessor logical disk to the user data stored on physical media. Logical disks include metadata that indicates whether user information is shared between logical disks. Multiple generations of snapshots may be created, and user data may be shared between these generations. Methods are disclosed for maintaining data accuracy when write I/O operations are directed to a logical disk.
摘要:
The present invention includes embodiments that minimize storage space and storage time in storage systems. In particular, the present invention appends additional information to data that will be stored. The contents of the additional information indicate the status of the stored data. Preferably, the additional information is not combined with another type of information so that it directly indicates the status of the stored data. Alternatively, the additional information can be used to determine the status of one or more corresponding data that are not the data to which the additional information is appended.
摘要:
A data replication management (DRM) architecture comprising a plurality of storage cells interconnected by a fabric. Flexibility in connectivity is provided by configuring each storage cell port to the fabric to handle both host data access requests and DRM traffic. Each storage cell comprises one or more storage controllers that can be connected to the fabric in any combination. Processes executing in the storage controller find a path to a desired destination storage cell. The discovery algorithm implements a link service that exchanges information related to DRM between the storage controllers. The DRM architecture is symmetric and peer cooperative such that each controller and storage cell can function as a source and a destination of replicated data. The DRM architecture supports parallel and serial “fan-out” to multiple destinations, whereby the multiple storage cells may implement data replicas.
摘要:
A data storage system adapted to maintain redundant data storage sets at a destination location(s) is disclosed. The data storage system establishes a copy set comprising a source volume and a destination volume. Data written to a source volume is automatically copied to the destination volume. The data storage system maintains a data log that may be activated when the destination volume is inaccessible due to, for example, a malfunction in the destination storage system or in the communication link between the source system and the destination system. I/O commands and the data associated with those commands are written to the data log, and after a destination system becomes available the information in the data log is merged into the destination volume to conform the data in the destination volume to the data in the source volume. The data log competes for disk capacity with other volumes on the system, and log memory is allocated as needed. If multiple remote sites are provided, then the system permits to implements a merge fence to manage the process of merging data into multiple destinations.
摘要:
A data storage system and associated method comprising system configuration information; a first processor adapted for identifying a portion of the system configuration information in response to a configuration change request to the memory space, and for signaling an update request incident with the configuration change request to a second processor; and a second processor adapted for updating the portion in response to the update request and independently of the first processor.
摘要:
Metadata architecture and associated methodology for a data storage system employing a grid-based storage capacity wherein each grid defines a storage unit in terms of a plurality of storage domains along one axis against one or more rows of a plurality of storage stripes along another axis, and wherein a grid grouping of two or more grids defines a sheet of data storage capacity. The metadata comprises identification information stored in a memory space characterizing an allocation status of the sheets in the storage capacity. A method is provided for allocating memory for the grid-based storage capacity comprising determining whether the allocation is associated with an existing logical device. If the determining step is associated with an existing logical device, then a logical device allocation map and a sheet allocation table are accessed to allocate a selected storage unit. Otherwise, a sheet allocation descriptor and a sheet allocation map are accessed to allocate a selected storage unit. A method is provided for transferring data for the grid-based storage capacity comprising accessing a logical device allocation map and a drive organization table to transfer data to or from a selected storage unit.
摘要:
Methods for allocating memory for logging data written by a host computer to a source virtual disk and for managing memory allocated to a data log, in a data storage system adapted to maintain redundant data storage sets at a destination location(s) are disclosed. The data storage system maintains a data log that may be activated when a destination volume is inaccessible. During the logging process the system implements an adaptive memory allocation algorithm that adjusts the log memory allocation increment as a function of the velocity of logging data written by the host computer(s). Similarly, during a merge process the system implements an adaptive memory deallocation algorithm that deallocates log memory in response to the velocity of logging data written by the host computer(s) and the velocity of merge data transmitted to the remote system. An amount of memory allocated to logging data may be compared with an amount of memory allocated to corresponding user data and, if greater, the data log terminated.
摘要:
A system for communicating between two devices in a network in which a semi-persistent tunnel is established between the two devices in advance of data communication. The semi-persistent tunnel includes resources that are pre-allocated in a first device at a first end of the communication link by a second device at the second end of the communication link. The first and second devices implement a plurality of processes for handling data transfer operations. Preferably, the semi-persistent tunnel also includes resources that are pre-allocated in a device at the second end of the communication link by the device at the first end of the communication link to allow bi-directional communication. Data transfer operations transmitted through the tunnel include an identification of specific resources of the pre-allocated resources that are to handle the data transfer operation. Data transfer operations also include a vector identifying a particular process among the plurality of processes that implement the data transfer operation.