RAID SYSTEM PERFORMANCE ENHANCEMENT USING COMPRESSED DATA AND BYTE ADDRESSABLE STORAGE DEVICES
First Claim
1. A method for operating a storage system, the storage system having memory and RAID storage devices, the method comprising:
- configuring the RAID storage devices to receive in a read or write command a byte count, the byte count indicating an number of data bytes to read or write;
receiving, from a computing system, a first data block to write to the storage system;
compressing the received first data block to generate a first compressed data block, the first compressed data block including the first data block in compressed form;
storing the first compressed data block memory; and
executing a set of RAID operations to perform a partial stripe update to areas of the RAID storage devices, the set of operations including;
retrieving a second compressed data block from memory;
determining a physical size of the second compressed data block, the physical size indicating a byte count of the number of bytes in 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 to the areas of the RAID storage devices 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.
1 Assignment
0 Petitions
Accused Products
Abstract
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.
-
Citations
20 Claims
-
1. A method for operating a storage system, the storage system having memory and RAID storage devices, the method comprising:
-
configuring the RAID storage devices to receive in a read or write command a byte count, the byte count indicating an number of data bytes to read or write; receiving, from a computing system, a first data block to write to the storage system; compressing the received first data block to generate a first compressed data block, the first compressed data block including the first data block in compressed form; storing the first compressed data block memory; and executing a set of RAID operations to perform a partial stripe update to areas of the RAID storage devices, the set of operations including; retrieving a second compressed data block from memory; determining a physical size of the second compressed data block, the physical size indicating a byte count of the number of bytes in 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 to the areas of the RAID storage devices 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. - View Dependent Claims (2, 3, 4, 5, 6, 7)
-
-
8. A storage system, comprising:
-
a set of one or more RAID storage devices configured to receive in a read or write command a byte count, the byte count indicating an number of data bytes to read or write; a computing system interface to receive a data block from a computing system; a storage controller having a processor and a memory, the memory having program instructions embodied therewith, the program instructions executable by the processor to cause the storage controller to; receive, from a computing system, a first data block to write to the storage system; compress the received first data block to generate a first compressed data block, the first compressed data block including the first data block in compressed form; store the first compressed data block memory; and execute a set of RAID operations to perform a partial stripe update to areas of the RAID storage devices, the set of operations to; retrieve a second compressed data block from memory; determine a physical size of the second compressed data block, the physical size indicating a byte count of the number of bytes in the second compressed data block; generate, based on the second compressed data block and the physical size, redundant data corresponding with the second compressed data block; and write the second compressed data block and the redundant data to the areas of the RAID storage devices 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. - View Dependent Claims (9, 10, 11, 12, 13, 14)
-
-
15. A computer program product for operating a storage system having memory and RAID storage devices, the computer program product including a computer readable storage medium having program instructions embodied therewith, wherein the computer readable storage medium is not a transitory signal per se, the program instructions executable by a processing circuit to cause the processing circuit to perform a method comprising:
- configuring the RAID storage devices to receive in a read or write command a byte count, the byte count indicating an number of data bytes to read or write;
receiving, from a computing system, a first data block to write to the storage system; compressing the received first data block to generate a first compressed data block, the first compressed data block including the first data block in compressed form; storing the first compressed data block memory; and executing a set of RAID operations to perform a partial stripe update to areas of the RAID storage devices, the set of operations including; retrieving a second compressed data block from memory; determining a physical size of the second compressed data block, the physical size indicating a byte count of the number of bytes in 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 to the areas of the RAID storage devices 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. - View Dependent Claims (16, 17, 18, 19, 20)
- configuring the RAID storage devices to receive in a read or write command a byte count, the byte count indicating an number of data bytes to read or write;
Specification