IP Library Granted Patent US 10,067,833
Granted Patent B2
US 10,067,833 · App. 15/124,040 · Granted Sep 4, 2018

Storage system

Inventor: Akira Matsui (Tokyo, JP)
Assignee: Hitachi, Ltd.
G06F11/1415G06F3/06G06F11/2094G06F2201/805
View Patent ↗
Loading inventors, assignments & file history…
Monitor This Case
Get email alerts when status or documents change.
Order Certified Copies
Most orders are placed with the USPTO same day — all within 24 business hours.
Order via The Patent Place →
Pre-filled with this patent's details
Quick Facts
Patent No.
US 10,067,833
App. No.
15/124,040
Granted
Sep 4, 2018
Kind
B2
Abstract

A storage system according to the present invention comprises a controller and multiple storage devices, constitutes a RAID group from (n+m) number of storage devices, wherein the storage system stores write data from a host computer to n number of storage devices, and stores redundant data generated from the n number of data to m number of storage devices. When failure occurs to at least one storage device, the controller reads data in a compressed state and redundant data from each of the storage devices where failure has not occurred in the storage devices constituting the RAID group, and transmits the read data in the compressed state to the storage device which is a data recovery destination.

Claims (56)

1. A storage system having a storage controller connected to a host computer, and multiple storage devices connected to the storage controller, wherein

the storage system is configured to:

constitute a RAID group from (n+m) number of the storage devices out of the multiple storage devices,

generate m number of redundant data for restoring n number of data from the n number of data received together with a write request from the host computer, and

store the n number of data and m number of redundant data to the (n+m) number of the storage devices constituting the RAID group; and wherein

when failure occurs to one of the storage devices constituting the RAID group,

the storage controller:

selects one recovery destination storage device from the multiple storage devices;

reads the data and the redundant data in a compressed state from each of the storage devices where failure has not occurred in the RAID group; and

transfers the data and the redundant data in the compressed state having been read to the recovery destination storage device.

2. The storage system according to claim 1 , wherein

the storage device has a storage medium and a device controller;

when failure occurs to one of the storage devices constituting the RAID group, the storage controller issues a compressed Read command to each of the storage devices where failure has not occurred in the RAID group; and

when the device controller receives the compressed Read command from the storage controller, the device controller reads data stored in the storage device in the compressed state, and transfers the data in the compressed state to the storage controller.

3. The storage system according to claim 2 , wherein

if the data is stored in the storage medium in a non-compressed state,

when the device controller receives the compressed Read command from the storage controller, the device controller compresses the data stored in the storage medium, and then transfers the data in the compressed state to the storage controller.

4. The storage system according to claim 2 , wherein

the storage system is configured to store the n number of data and the m number of redundant data in the compressed state in the (n+m) number of storage devices; and

the device controller transfers the data in the compressed state stored in the storage medium to the storage controller when receiving the compressed Read command from the storage controller.

5. The storage system according to claim 2 , wherein

the storage controller issues a compressed parity operation Write command to the recovery destination storage device when transferring the data or the redundant data in the compressed state to the recovery destination storage device; and

the recovery destination storage device having received the compressed parity operation Write command expands the data or the redundant data in the compressed state, computes a new parity based on the expanded data or redundant data and an intermediate parity generated when the compressed parity operation Write command has been received in the past, and stores the new parity as an intermediate parity to the storage device.

6. The storage system according to claim 5 , wherein

if the recovery destination storage device having received the compressed parity operation Write command had not received the compressed parity operation Write command in the past,

the recovery destination storage device expands the data or the redundant data in the compressed state having been received together with the compressed parity operation Write command, and stores the expanded data as the intermediate parity to the storage device.

7. The storage system according to claim 5 , wherein

the recovery destination storage device having received the compressed parity operation Write command keeps a count that the compressed parity operation Write command has been received, and at a point of time when the count in which the compressed parity operation Write command has been received reaches a given number, it stores the new parity as recovered data to the storage medium.

8. The storage system according to claim 5 , wherein

when the recovery destination storage device receives a commit command, the recovery destination storage device stores the intermediate parity stored in the storage device as recovered data in the storage medium.

9. The storage system according to claim 5 , wherein

the storage controller is configured to add a verification information to the data received together with the write request from the host computer and store in the storage device;

the recovery destination storage device having received the compressed parity operation Write command expands the data or the redundant data in the compressed state, performs data check using the verification information added to the expanded data, and

returns error to the storage controller when the verification result is not normal.

10. The storage system according to claim 9 , wherein

the storage controller is configured to store address information of the storage device into the verification information when adding the verification information to the data received together with the write request from the host computer;

the compressed parity operation Write command includes the address information of the storage device to which the data or the redundant data in the compressed state had been stored; and

the recovery destination storage device having received the compressed parity operation Write command expands the data or the redundant data in the compressed state, and returns error to the storage controller when the address information included in the verification information added to the expanded data does not correspond to the address information included in the compressed parity operation Write command.

11. The storage system according to claim 1 , wherein

when failure occurs to one of the storage devices constituting the RAID group,

if an accessible storage area exists in the storage area of the storage device in which failure has occurred, instead of reading the data and the redundant data from each of the storage devices in the RAID group where failure has not occurred,

the storage controller

reads data in the compressed state from the accessible storage area; and

stores the read data in the compressed state to the recovery destination storage device.

12. A storage device for receiving a data access request from a storage controller comprising:

a storage medium, and

a device controller; wherein

when the storage device receives a compressed parity operation Write command and data in a compressed state from the storage controller;

the storage device expands the data in the compressed state, calculates a new parity from the expanded data and an intermediate parity generated when the compressed parity operation Write command has been received in the past, and stores the new parity as an intermediate parity to the storage device.

13. The storage device according to claim 12 , wherein

when the device controller receives a compressed Read command from the storage controller, the device controller reads data stored in the storage device in the compressed state, and transfers the data in the compressed state to the storage controller.

14. The storage device according to claim 12 , wherein

the storage device having received the compressed parity operation Write command keeps a count that the compressed parity operation Write command has been received, and at the point of time when the count that the compressed parity operation Write command has been received has reached a given number, the storage device stores the new parity as recovered data into the storage medium.

15. The storage device according to claim 12 , wherein

when the recovery destination storage device receives a commit command;

it stores an intermediate parity stored in the storage device as recovered data into the storage medium.

Assignments (2)
COMPANY SPLIT Recorded Aug 20, 2024
From: HITACHI, LTD.
To: HITACHI VANTARA, LTD.
Reel/Frame 069518/0761 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Sep 7, 2016
From: MATSUI, AKIRA
To: HITACHI, LTD.
Reel/Frame 039646/0724 →
Continuity (1)
Related Publication 20170017550A1 · Jan 19, 2017