摘要:
A method for operating a RAID storage system includes configuring the RAID storage devices to receive in a read or write command a byte count, receiving a first data block to write to the storage system, compressing the received first data block to generate a first compressed data block, and then storing the first compressed data block memory. The method additionally includes executing a set of RAID operations to perform a partial stripe update, including: retrieving a second compressed data block from memory; determining a physical size of the second compressed data block; generating, based on the second compressed data block and the physical size, redundant data corresponding with the second compressed data block; and writing the second compressed data block and the redundant data by transmitting a write command including the second compressed data block, the redundant data, and the physical size to the set of RAID storage devices.
摘要:
Provided are techniques for capturing compression efficiency metrics for processing data. In response to retrieving native data for a first operation, perform the first operation; perform a second operation to generate a compression efficiency metric from the native data based on a ratio of the native data to compressed native data; and store the compression efficiency metric persistently for subsequent use in prioritizing compression of the native data.
摘要:
Partially overwriting a compression group without decompressing compressed data can consumption of resources for the decompression. A storage server partially overwrites the compression group when a file block identifier of a client's write request resolves to the compression group. The compression group remains compressed while the partial overwriting is performed.
摘要:
The storage system includes a plurality of storage devices and a storage controller. The storage controller stores a data request quantity indicating the data quantity of write data written to the target area in a specific period, and estimates, based on the quantity of request data and relationship information received from storage devices, the estimated data quantity written to the nonvolatile semiconductor memory chips based on the write data written to the target area in the specific period. The storage controller selects a second logical storage area with an estimated data quantity less than an estimated data quantity for the first logical storage area and assigned to a storage device different from a storage device assigned to the first logical storage area, and migrates the first data stored in the first logical storage area to the second logical storage area.
摘要:
The method includes receiving an object operation from an application at a hardware device manager. The object operation includes an object identifier. The method includes performing the object operation directly on a storage device. A physical address for the object corresponding to the object identifier is mapped directly to the object identifier in an index managed by the hardware device manager.
摘要:
Provided are a storage controller and a storage control method capable of improving the transaction performance. This storage controller includes a disk controller for receiving a read command and a write command from a host computer, and an external disk controller and an internal disk device for sending and receiving data to and from the disk controller. A storage device of the external disk controller or the internal disk controller processes the access from the disk controller in physical sub-block units. When the disk controller is to access the storage device of the external disk controller or the internal disk device in logical sub-block units in which an additional code containing a guarantee code is added to user data, it makes such access in minimum common multiple units of logical sub-blocks and physical sub-blocks, and changes the guarantee code length.
摘要:
One code (a compressed redundant code) is created based on a plurality of first redundant codes, each created on the basis of a plurality of data units, and this compressed redundant code is written to a nonvolatile storage area. This compressed redundant code is used to restore either a data element constituting a multiple-failure data, or a first redundant code corresponding to the multiple-failure data, which is stored in an unreadable sub-storage area of a partially failed storage device, and to restore the data element constituting the multiple-failure data which is stored in a sub-storage area of a completely failed storage device, based on the restored either data element or first redundant code, and either another data element constituting the multiple-failure data or the first redundant code corresponding to the multiple-failure data.
摘要:
A flexible array of storage devices stores a plurality of blocks divided into sets of blocks called stripes, each block of a stripe being stored on a different device. An array controller supports formatting of the stripes independently in accordance with different memory structures. Specifically, the memory structures supported in the preferred embodiment are non-redundant, mirrored, and parity protected. Each block of storage exists in one of five states: (1) EMPTY; (2) DATA; (3) PARITY; (4) COPY; or (5) FREE. Each stripe of storage blocks exists within one of seven states which depend upon the states of the blocks. Certain slate transitions are defined, permitting stripes of one type to be converted to stripes of another type while minimizing the movement of data. Specifically, a stripe in a fully mirrored state is transformed to a parity protected state by designating any one block within the mirrored stripe as a PARITY block, and changing certain status information. No movement of data is necessary in this case. It is also possible to transform a non-redundant or parity protected stripe into a mirrored stripe.
摘要:
Provided are techniques for capturing compression efficiency metrics for processing data. In response to retrieving native data for a first operation, perform the first operation; perform a second operation to generate a compression efficiency metric from the native data based on a ratio of the native data to compressed native data; and store the compression efficiency metric persistently for subsequent use in prioritizing compression of the native data.
摘要:
Overwriting part of compressed data without decompressing on-disk compressed data is implemented by receiving a write request for a block of data in a compression group from a client, wherein the compression group comprises a group of data blocks that is compressed, wherein the block of data is uncompressed. The storage server partially overwrites the compression group, wherein the compression group remains compressed while the partial overwriting is performed. The storage server determines whether the partially overwritten compression group including the uncompressed block of data should be compressed. The storage server defers compression of the partially overwritten compression group if the partially overwritten compression group should not be compressed. The storage server compresses the partially overwritten compression group if the partially overwritten compression group should be compressed.