IP Library Granted Patent US 9,684,591
Granted Patent B2
US 9,684,591 · App. 13/519,721 · Granted Jun 20, 2017

Storage system and storage apparatus

Inventors: Go Uehara (Odawara, JP); Shigeo Homma (Odawara, JP); Yoshiyuki Noborikawa (Sagamihara, JP)
Assignee: Hitachi, Ltd.
G06F12/0246G06F3/0688G06F11/108G06F2211/1059
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 9,684,591
App. No.
13/519,721
Granted
Jun 20, 2017
Kind
B2
Abstract

A storage system comprises a first controller and a plurality of storage devices. The plurality of storage devices configure RAID, each of which includes one or more non-volatile memory chips providing storage space where data from a host computer is stored, and a second controller coupled to the non-volatile memory chips. In case where the first controller receives an update request to update first data to second data from the host computer, the second controller in a first storage device of the storage devices is configured to store the second data in an area different from an area where the first data has been stored, in the storage space of the first storage device; generate information that relates the first data and the second data; and generate an intermediate parity based on the first and the second data.

Claims (45)

1. A system comprising:

a plurality of storage devices, each of which includes one or more flash memory chips and a device controller coupled to the flash memory chips, and the plurality of storage devices include a first storage device storing old data and a second storage device storing old parity corresponding to the old data; and

a processor coupled to the storage devices,

wherein:

a first device controller in the first storage device is configured to generate intermediate parity based on the old data and new data, while the first device controller maintains a valid status of the new data and the old data,

the processor is configured to send the intermediate parity in accordance with issuing a parity-update-write command to the second storage device,

a second device controller in the second storage device is configured to receive the intermediate parity and to generate new parity based on the old parity and the intermediate parity,

the processor is configured to issue an unmap-old-data command for invalidating the old data to the first storage device when a completion response regarding the parity-update write command is received from the second storage device, and

the first device controller in the first storage device is configured to invalidate the old data when the unmap-old-data command is received from the processor.

2. A system according to claim 1 , wherein the first device controller is configured to delete the old data after receiving the unmap-old-data command.

3. A system according to claim 1 , wherein, when the processor does not receive the completion response from the second storage device within a prescribed period of time after issuing the parity-update-write command, the processor is configured to acquire the intermediate parity from the first storage device and re-send the intermediate parity to the second storage device.

4. A system according to claim 1 , wherein the processor is configured to control the plurality of storage devices as a RAID group.

5. A system according to claim 1 , wherein the first device controller includes a corresponding processor connected to a corresponding memory which stores instructions that, when executed on the corresponding processor, cause the corresponding processor to:

generate the intermediate parity based on the old data and new data, while maintaining the valid status of the new data and the old data, and

invalidate the old data when the unmap-old-data command is received.

6. A system according to claim 1 , wherein the second device controller includes a corresponding processor connected to a corresponding memory which stores instructions that, when executed on the corresponding processor, cause the corresponding processor to:

receive the intermediate parity,

generate the new parity based on the old parity and the intermediate parity, and

send the completion response.

7. A system according to claim 1 , wherein the processor is connected to a memory which stores instructions that, when executed on the processor, cause the processor to:

send the intermediate parity in accordance with issuing the parity-update-write command to the second storage device, and

issue the unmap-old-data command for invalidating the old data when the completion response regarding the parity-update write command is received from the second storage device.

8. A system comprising:

a plurality of storage devices, each of which includes one or more flash memory chips and a device controller coupled to the flash memory chips, and the plurality of storage devices include a first storage device storing old data and a second storage device storing old parity corresponding to the old data; and

a processor coupled to the storage devices,

wherein:

a first device controller in the first storage device is configured to generate intermediate parity based on the old data and new data, while the first device controller maintains a valid status of the new data and the old data,

the processor is configured to send the intermediate parity to the second storage device,

a second device controller in the second storage device is configured to receive the intermediate parity and to generate new parity based on the old parity and the intermediate parity,

the processor is configured to issue an unmap-old-data command for invalidating the old data when a completion response regarding the new parity is received from the second storage device,

the first device controller in the first storage device is configured to invalidate the old data when the unmap-old-data command is received from the processor after recognizing that the new parity is generated.

9. A system according to claim 8 , wherein the first device controller is configured to delete the old data after receiving the unmap-old-data command.

10. A system according to claim 8 , wherein, when the processor does not receive the completion response from the second storage device within a prescribed period of time following the transfer of the intermediate parity, the processor is configured to acquire the intermediate parity from the first storage device and re-send the intermediate parity to the second storage device.

11. A system according to claim 8 , wherein the processor is configured to control the plurality of storage devices as a RAID group.

12. A system according to claim 8 , wherein the first device controller includes a corresponding processor connected to a corresponding memory which stores instructions that, when executed on the corresponding processor, cause the corresponding processor to:

generate intermediate parity based on the old data and new data, while maintaining the valid status of the new data and the old data, and

invalidate the old data when the unmap-old-data command is received from the processor after recognizing that the new parity is generated.

13. A system according to claim 8 , wherein the second device controller includes a corresponding processor connected to a corresponding memory which stores instructions that, when executed on the corresponding processor, cause the corresponding processor to:

receive the intermediate parity,

generate the new parity based on the old parity and the intermediate parity, and

send the completion response.

14. A system according to claim 8 , wherein the processor is connected to a memory which stores instructions that, when executed on the processor, cause the processor to:

send the intermediate parity to the second storage device, and

issue the unmap-old-data command for invalidating the old data when the completion response regarding the new parity is received from the second storage device.

15. A system according to claim 1 , wherein the processor receives a write command including the new data, the first device controller receives an old-data-store command including the new data, and the old data is maintained as the valid status until after the processor receives the completion response regarding the parity-update write command.

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 Jun 28, 2012
From: UEHARA, GO; HONMA, SHIGEO; NOBORIKAWA, YOSHIYUKI
To: HITACHI, LTD.
Reel/Frame 028461/0754 →
Continuity (1)
Related Publication 20130290629A1 · Oct 31, 2013