Abstract:
A file storage method includes: splitting each of multiple files into one or more file block objects with different sizes; and writing the file block objects obtained from file splitting into corresponding large object storage files, wherein a preset number of large object storage files are pre-created in a storage apparatus, and storage spaces occupied by the preset number of large object storage files in the storage apparatus are continuous.
Abstract:
A storage controller for determining an amount of data to be sent to a flash memory apparatus for storage comprises a communications interface for communicating with the flash memory apparatus and a processor. The flash memory apparatus comprises a block including a plurality of pages. And at least one of the pages is unavailable for storage. The processor is configured to receive information of the block sent by the flash memory apparatus, wherein the information includes capacity of one or more unavailable pages in the block. And then, the processor determines an available capacity of the block, based on the information and a total capacity of the block. Further, the processor obtains data to be sent to the flash memory apparatus, wherein an amount of the data is equal to the available capacity of the block. At last, the processor sends the data to the flash memory apparatus.
Abstract:
A distributed storage system including at least one storage node, and at least one object storage device (OSD) is deployed on the at least one storage node. At least one data processing device and at least one metadata processing device that has a mapping relationship with the at least one data processing device are deployed on the at least one OSD. A target data processing module of an input/output (IO) operation is configured to determine a target metadata processing device corresponding to the target data processing device and an identifier of an OSD in which the target metadata processing device is located, send an access operation to the target metadata processing device, and access data of the IO operation based on the IO operation. The target metadata processing device is configured to access metadata of the IO operation based on the access operation.
Abstract:
According to a write data request processing method and a storage array provided in the embodiments of the present invention, a controller is connected to a cache device via a switching device, an input/output manager is connected to the controller via the switching device, and the input/output manager is connected to a cache device via the switching device. The controller obtains a cache address from the cache device for to-be-written data according to the write data request, the controller sends an identifier of the cache device and the cache address to the input/output manager via the switching device, and the input/output manager writes the to-be-written data to the cache address via the switching device.
Abstract:
According to a data deduplication system and method for a storage array is provided in embodiments of the present invention, where a controller is connected to a cache device via a switching device, the cache device calculates an eigenvalue of a to-be-deduplicated data block, the controller queries an eigenvalue index set of data blocks according to the eigenvalue of the to-be-deduplicated data block, and when the same eigenvalue is not found, the controller sends a cache address of the to-be-deduplicated data block in the cache device to a controller of a target storage unit such as a hard disk drive, and the controller of the target hard disk reads the to-be-deduplicated data block from the cache address of the data block.
Abstract:
According to a write data request processing method and a storage array provided in the embodiments of the present invention, a controller is connected to a cache device via a switching device, an input/output manager is connected to the controller via the switching device, and the input/output manager is connected to a cache device via the switching device. The controller obtains a cache address from the cache device for to-be-written data according to the write data request, the controller sends an identifier of the cache device and the cache address to the input/output manager via the switching device, and the input/output manager writes the to-be-written data to the cache address via the switching device.
Abstract:
A solution for processing a stripe in a storage device is provided. Where at least one stripe unit not requiring garbage collection from each stripe of at least two stripes in the storage device is determined, each of the at least two stripes comprises a stripe unit requiring garbage collection and a stripe unit not requiring garbage collection; parity data of data in the determined stripe units not requiring garbage collection is computed and stored into a first idle stripe unit, where the first idle stripe unit and the determined stripe units not requiring garbage collection are in a new stripe in the storage device.
Abstract:
A distributed storage system comprises a data storage node Nx that receives a write success response returned by a hard disk that provides the storage address. The data storage node Nx returns a write success response to a client. The client receives the write success response returned by the data storage node Nx, and the client returns a write completion response to a host.
Abstract:
A data index establishment method obtains M raw data segments and a first-layer mapping relationship through segment fitting on raw data in a raw data table, and further obtains N first key segments and a second-layer mapping relationship through segment fitting on a first key of each raw data segment. In a subsequent data query process, a multi-layer mapping relationship is input from a to-be-queried key sequentially in descending order, until a location of the to-be-queried key in the raw data table is located.
Abstract:
A flash memory apparatus for controlling storage of data comprises a plurality of blocks for storing data and a controller. Each block includes a plurality of pages. The controller receives first target data and identifies a first block to store the first target data. Then, the controller divides the first target data into two parts. A size of a first part is equal to the available capacity of the first block. And a size of a second part is equal to the size of the first target data minus the size of the first part. The controller further determines a second block that has stored data but is not full. At last, the controller writes the first part into the first block and write the second part into the second block.