摘要:
A system and method enhances performance of updates to sequential block storage of a storage system. According to an aspect of the invention, a disk array of the storage system is utilized to extend write buffers of the system, thereby rendering a portion of the disk array a disk-based log. To that end, one portion of the disk array is organized into a home location array having a set of sequential home locations for disk blocks. Another portion of the disk array is organized into the disk-based log having a set of log buffers configured to store versions of disk blocks that have yet to be returned to their home locations in the home location array. In addition, non-volatile memory of the storage system is organized as an index configured to provide efficient mappings of disk blocks not yet returned to their home locations. In accordance with another aspect of the invention, a novel disk-based multi-level sort procedure is provided to establish locality among updates (write data) held in the disk-based log, thereby enabling the write data to be efficiently written to home locations on the disk array.
摘要:
The present invention provides a system, method, and computer program product for reducing load imbalance in a storage system having a plurality of storage devices organized in one or more RAIDs for storing data by moving data from heavily-loaded storage devices to less-loaded storage devices during normal data access operations. As a result of moving data to less-loaded storage devices, the service latency of those storage devices decreases, thereby optimizing the system's performance.
摘要:
A technique places content, such as data, of one or more data containers on volumes of a striped volume set (SVS). The placement of data across the volumes of the SVS allows specification of a deterministic pattern of fixed length. That is, the pattern determines a placement of data of a data container that is striped among the volumes of the SVS. The placement pattern is such that the stripes are distributed exactly or nearly equally among the volumes and that, within any local span of a small multiple of the number of volumes, the stripes are distributed nearly equally among the volumes. The placement pattern is also substantially similar for a plurality of SVSs having different numbers of volumes.
摘要:
An improved system and method enhances performance of updates to sequential block storage of a storage system. A disk-based sort procedure is provided to establish locality among updates (write data) held in a disk-based log, thereby enabling the write data to be efficiently written to home locations on a home location array. As the write data is received, a log manager of the storage system temporarily stores the data efficiently on the disk-based log. As more write data arrives, the log manager sorts the data in the log in accordance with the sort procedure, thus increasing the locality of data when stored on the home location array. When the log approaches capacity, the log manager writes the sorted data to their home locations on the array with high locality and performance.
摘要:
A system and a method of scheduling a plurality of threads from a multi-threaded program. A shared arena is provided in user memory, wherein the shared arena includes a register save area for each of the plurality of threads. A processor, when allocated to the application, executes the application's user-level scheduler and selects a user-level thread from a plurality of available threads, wherein the step of selecting includes the step of reading register context associated with the selected thread from one of the plurality of register save areas. In multikernel systems, kernels having access to an application's register save areas can execute preempted threads from that application with no kernel-to-kernel communication. Likewise, kernels having access to an application's user-level run queues can execute ready-to-run threads from that application with no kernel-to-kernel communication.
摘要:
In a digital computer, a circular queue of registers in a register file are allocated as temporary local storage for procedures rather than using the known caller/callee save convention in order to minimize main memory references. A called procedure dynamically allocates local registers as needed without regard to registers used by the caller of the procedure or by any callee of the procedure, whereby register allocation is not restricted by any predetermined window size. Local registers, including parameter passing registers, are allocated in the called procedure, rather than a priori at compile time, by adjusting register stack pointer values. Only the number of registers actually required by the procedure need by allocated. Optionally, rotating registers may be allocated among the local registers. Stack pointer values are stored in one of the parameter passing registers when a procedure is called. Hardware register file access circuitry maps virtual register numbers used by the procedures into the hardware register file. Upon return from a procedure, registers are deallocated by adjusting the register stack pointers to the values stored when the procedure was called.
摘要:
A method for sharing data blocks in a hierarchical file system in a storage server includes allocating a plurality of data blocks in the file system, and sharing data blocks in the file system, without using a persistent point-in-time image, to avoid duplication of data blocks. A method for identifying data blocks that can be shared includes computing a fingerprint for each of multiple data blocks to be written to a storage facility and storing the fingerprint with information identifying the data block in an entry in a set of metadata. The set of metadata is used to identify data blocks which are duplicates.
摘要:
Embodiments of the present invention are directed to an apparatus and methods for operating a storage system. The storage system incorporates a storage device associated with a client into a logical group of storage devices managed by the storage system. Thereafter, the storage system is capable of satisfying data access requests from an incorporated storage device managed by the storage system.
摘要:
An improved system and method enhances performance of updates to sequential block storage of a storage system. A disk-based sort procedure is provided to establish locality among updates (write data) held in a disk-based log, thereby enabling the write data to be efficiently written to home locations on a home location array. As the write data is received, a log manager of the storage system temporarily stores the data efficiently on the disk-based log. As more write data arrives, the log manager sorts the data in the log in accordance with the sort procedure, thus increasing the locality of data when stored on the home location array. When the log approaches capacity, the log manager writes the sorted data to their home locations on the array with high locality and performance.
摘要:
A method for enabling recovery from concurrent failure of a plurality of storage devices in a storage array is disclosed. The method stores data on a first plurality of storage devices of the storage array. The first plurality of storage devices may have a number of storage devices equal to a prime number greater then three. Row parity is stored on one or more storage devices of the storage array. A diagonal parity set is computed for the plurality of storage devices. The diagonal parity set is stored on an additional diagonal parity device, the diagonal parity device separate from the first plurality of storage devices.