Abstract:
A network caching system has a multi-protocol caching filer coupled to an origin server to provide storage virtualization of data served by the filer in response to data access requests issued by multi-protocol clients over a computer network. The multi-protocol caching filer includes a file system configured to manage a sparse volume that "virtualizes" a storage space of the data to thereby provide a cache function that enables access to data by the multi-protocol clients. To that end, the caching filer further includes a multi-protocol engine configured to translate the multi-protocol client data access requests into generic file system primitive operations executable by both the caching filer and the origin server.
Abstract:
Provided is a method and system for protecting data transactions transmitted on an integrated circuit bus. Specifically, by transmitting data along with the complement of the data from one component to another component that are connected by the integrated circuit bus, the data and complemented data can be compared for errors. Exemplary errors include bit flips. Comparisons include logical operations, such as XOR, that determine if an error has occurred during the transmission of the data or complemented data on the integrated circuit bus.
Abstract:
This invention provides a system and method for selecting and communicating a single disk (a "coredump disk") for use in a coredump procedure by a failed file server (or filer). A selection method on the failed filer determines the "best candidate" coredump disk according to a predetermined set of criteria. For example, the available disks that can receive coredump data are located and ordered so as to prefer disks that best match the coredump data size requirement, are least likely to be needed for normal service by the server; and require the least preparation to receive coredump data. Appropriate attributes on the selected coredump disk are written to indicate that a coredump is in progress, and the location of the coredump data. Upon reboot of the failed filer (or takeover by a cluster partner), the coredump disk is identified and the coredump data recovered by reading back appropriate attributes.
Abstract:
A cloning technique enables efficient and substantially instantaneous creation of a clone that is a writable copy of a "parent" virtual volume (vvol) in an aggregate of a storage system. A base snapshot is provided from the parent vvol. In addition, a new vvol is created, along with a new file system identifier, a new subdirectory in the aggregate and a new storage label file. The new vvol is embodied as a clone and comprises an appropriately sized container file, wherein initially the container file has no data. Moreover, a volume information (volinfo) block for the clone is created that is a slightly modified version of the volinfo block from the base snapshot; the modified volinfo block is written to the container file. The clone is then instantiated by loading a file system associated with the new vvol onto the clone and bringing the clone "online".
Abstract:
A storage system implements a storage operating system configured to concurrently perform speculative readahead for a plurality of different read streams. Unlike previous implementations, the operating system manages a separate set of readahead metadata for each of the plurality of read streams. Consequently, the operating system can "match" a received client read request with a corresponding read stream, then perform readahead operations for the request in accordance with the read stream's associated set of metadata. Because received client read requests are matched to their corresponding read streams on a request-by-request basis, the operating system can concurrently perform readahead operations for multiple read streams, regardless of whether the read streams' file read requests are received by the storage system in sequential, nearly-sequential or random orders. Further, the operating system can concurrently perform speculative readahead for the plurality of different read streams, even when the read streams employ different readahead algorithms. The invention may be implemented by file-based or block-based storage systems, or combinations thereof.
Abstract:
A storage system implements a storage operating system configured to concurrently perform speculative readahead for a plurality of different read streams. Unlike previous implementations, the operating system manages a separate set of readahead metadata for each of the plurality of read streams. Consequently, the operating system can "match" a received client read request with a corresponding read stream, then perform readahead operations for the request in accordance with the read stream's associated set of metadata. Because received client read requests are matched to their corresponding read streams on a request-by-request basis, the operating system can concurrently perform readahead operations for multiple read streams, regardless of whether the read streams' file read requests are received by the storage system in sequential, nearly-sequential or random orders. Further, the operating system can concurrently perform speculative readahead for the plurality of different read streams, even when the read streams employ different readahead algorithms. The invention may be implemented by file-based or block-based storage systems, or combinations thereof.
Abstract:
A multi-protocol storage appliance serves file and block protocol access to information stored on storage devices in an integrated manner for both network attached storage (NAS) and storage area network (SAN) deployments. A storage operating system of the appliance implements a file system (320) that cooperates with novel virtualization modules to provide a virtualization system (300) that "virtualizes" the storage space provided by the devices. The file system provides volume management capabilities for use in block-based access to the information stored on the devices. The virtualization system (300) allows the file system to logically organize the information as named file (324), directory (326) and virtual disk storage objects (322, 328) to thereby provide an integrated NAS and SAN appliance approach to storage by enabling file-based access to the files and directories while further enabling block-based access to the virtual disks.
Abstract:
As seen in Figure 1, a storage virtualization selection technique "automates" a virtualization selection process to create virtual disk (vdisk) storage objects over a volume (150) & (160) of a file system implemented by a storage operating system (200) of a multi-protocol storage appliance (100). The file system provides a virtualization system that aggregates physical storage of a set of disks (130) or portions (e.g., extents) of disks into a pool of blocks that can be dynamically allocated to form a vdisk. The file system also provides reliability guarantees for the vdisks in accordance with its underlying architecture. That is, the file system organizes its storage within volumes created among the managed disks. The vdisk is thereafter created as a storage object within a volume and inherits the underlying reliability configuration associated with that volume.
Abstract:
The invention provides a method and system for recovery of file system data in file servers having mirrored file system volumes. The invention makes use of a "snapshot" feature of a robust file system (the "WAFL File System) to rapidly determine which of two or more mirrored volumes is most up-to-date, and which file blocks of the most recent mirrored volume have been changed from each one of the mirrored file systems. In a preferred embodiment, among a plurality of mirrored volumes, the invention rapidly determines which is the most up-to-date by examining a consistency point number maintained by the WAFL File System at each mirrored volume. The invention rapidly pairwise determines what blocks are shared between that most up-to-date mirrored volume and each other mirrored volume, in response to a snapshot of the file system maintained at each mirrored volume and are stored in common pairwise between each mirrored volume and the most up-to-date mirrored volume. The invention re synchronizes only those blocks that have been changed between the common snapshot and the most up-to-date snapshot.
Abstract:
A method and apparatus for a reliable data storage system using block level checksums appended to data blocks. Files are stored on hard disks in storage blocks, including data blocks and block-appended checksums. The block-appended checksum includes a checksum of the data block, a VBN, a DBN, and an embedded checksum for checking the integrity of the block-appended checksum itself. A file system includes file blocks with associated block-appended checksum to the data blocks. The file blocks with block-appended checksums are written to storage blocks. In a preferred embodiment a collection of disk drives are formatted with 520 bytes of data per sector. For each 4,096-byte file block, a corresponding 64-byte block-appended checksum is appended to the file block with the first 7 sectors including most of the file block data while the 8th sector includes the remaining file block data and the 64-byte block-appended checksum.