IP Library Granted Patent US 8,443,264
Granted Patent B2
US 8,443,264 · App. 12/816,444 · Granted May 14, 2013

Disk array apparatus, a disk array apparatus control method and a program for a disk array apparatus

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 8,443,264
App. No.
12/816,444
Granted
May 14, 2013
Kind
B2
Abstract

A disk array apparatus includes a plurality of magnetic disks, and a RAID controller that generates redundancy data for host data received from a host apparatus by a primitive polynomial of Galois extension field, generates a redundancy code for the host data and the redundancy data, the redundancy code is a cyclic code calculated by a generating polynomial identical to the primitive polynomial, and writes the host data and the redundancy data to the plurality of magnetic disks.

Claims (47)

1. A disk array apparatus, comprising:

a plurality of magnetic disks; and

a RAID controller that is configured to: generate redundancy data for host data received from a host apparatus by a primitive polynomial of Galois extension field, said redundancy data being usable to restore one of said plurality of magnetic disks; generate a redundancy code for said host data and a redundancy code for said redundancy data, said redundancy codes being usable to detect an error of a corresponding one of said host data and said redundancy data, said redundancy codes each being a cyclic code based on a generating polynomial which is identical to said primitive polynomial, said redundancy code for said host data being calculated from said host data by said generating polynomial and said redundancy code for said redundancy data being calculated from said redundancy code for said host data and write said host data and said redundancy data to said plurality of magnetic disks.

2. The disk array apparatus according to claim 1 , wherein

said RAID controller is configured to write (i) said host data and said redundancy code for said host data or (ii) said redundancy data and said redundancy code for the redundancy data over two magnetic disks of said plurality of magnetic disks, and said RAID controller is configured to write the whole of one of the redundancy codes into one of the two magnetic disks.

3. The disk array apparatus according to claim 2 , wherein

said RAID controller is configured to: generate said redundancy code for said host data or said redundancy code for said redundancy data for each write unit of said one of said magnetic disks; and write (i) said host data and said redundancy code for said host data or (ii) said redundancy data and said redundancy code for the redundancy data to said two magnetic disks.

4. The disk array apparatus according to claim 2 , wherein

said RAID controller is configured to: generate a plurality of pieces of said redundancy data for a plurality of pieces of said host data; and write the plurality of pieces of said host data and the plurality of pieces of said redundancy data to different magnetic disks of said plurality of magnetic disks, respectively;

and said RAID controller is configured such that, when said redundancy code calculated for a piece of said host data or a piece of said redundancy data read from a first magnetic disk of said plurality of magnetic disks is not identical to said redundancy code corresponding to the piece of said host data or the piece of said redundancy data read from a second magnetic disk of said plurality of magnetic disks, said RAID controller restores a whole of said first magnetic disk and said second magnetic disk by restoring a piece of said host data, a piece of said redundancy data, and said redundancy codes on said first magnetic disk and said second magnetic disk based on pieces of at least one of said host data and said redundancy data on the other magnetic disks of said plurality of magnetic disks.

5. The disk array apparatus according to claim 4 , wherein said RAID controller is configured to regenerate said redundancy code on said first magnetic disk and said second magnetic disk.

6. The disk array apparatus of claim 1 , wherein to generate said recovery codes, the RAID controller is configured to generate the redundancy code for said redundancy data to be usable to detect an error in said redundancy data.

7. The disk array apparatus of claim 1 , wherein the RAID controller is configured to write the redundancy code for the host data and the redundancy code for the redundancy data to said plurality of magnetic disks.

8. A disk array control method, comprising:

generating redundancy data for host data received from a host apparatus by a primitive polynomial of Galois extension field, said redundancy data being usable to restore one of a plurality of magnetic disks;

generating a redundancy code for said host data and a redundancy code for said redundancy data, said redundancy codes being usable to detect an error of a corresponding one of said host data and said redundancy data, said redundancy codes each being a cyclic code based on a generating polynomial which is identical to said primitive polynomial, said redundancy code for said host data being calculated from said host data by said host data by said generating polynomial and said redundancy code for said redundancy data being calculated from said redundancy code for said host data; and

writing said host data and said redundancy data to a plurality of magnetic disks.

9. The disk array control method according to claim 8 , wherein when writing said host data and said redundancy data: writing said host data and said redundancy code for said host data or (ii) said redundancy data and said redundancy code for the redundancy data over two magnetic disks of said plurality of magnetic disks, and writing the whole of one of the redundancy codes into either of the two magnetic disks.

10. The disk array control method according to claim 9 , wherein

when generating said redundancy data, generating said redundancy code for said host data or said redundancy code for said redundancy data for each write unit of said magnetic disk, and

when writing said host data and said redundancy data, writing (i) said host data and said redundancy code for said host data or (ii) said redundancy data and said redundancy code for the redundancy data to said two magnetic disks.

11. The disk array control method according to claim 9 , wherein

when generating said redundancy data, generating a plurality of pieces of said redundancy data for a plurality of pieces of said host data, and

when writing said host data and said redundancy data, writing the plurality of pieces of said host data and the plurality of pieces of said redundancy data to different magnetic disks of said plurality of magnetic disks, respectively, and

further comprising:

restoring, when said redundancy code calculated for a piece of said host data or a piece of said redundancy data read from a first magnetic disk of said plurality of magnetic disks is not identical to said redundancy code corresponding to the piece of said host data or the piece of said redundancy data read from a second magnetic disk of said plurality of magnetic disks, a whole of said first magnetic disk and said second magnetic disk by restoring a piece of said host data, a piece of said redundancy data, and said redundancy codes on said first magnetic disk and said second magnetic disk based on pieces of at least one of said host data and said redundancy data on the other magnetic disks of said plurality of magnetic disks.

12. The disk array control method according to claim 11 , wherein

when restoring said host data and said redundancy data, regenerating said redundancy code on said first magnetic disk and said second magnetic disk.

13. A computer readable medium storing a program that, when executed by computer, causes the computer to perform a method comprising:

generating redundancy data for host data received from a host apparatus by a primitive polynomial of Galois extension field, said redundancy data being usable to restore one of a plurality of magnetic disks;

generating a redundancy code for said host data and a redundancy code for said redundancy data, said redundancy codes being usable to detect an error of a corresponding one of said host data and said redundancy data, said redundancy codes each being a cyclic code based on a generating polynomial which is identical to said primitive polynomial, said redundancy code for said host data being calculated from said host data by said host data by said generating polynomial and said redundancy code for said redundancy data being calculated from said redundancy code for said host data; and

writing said host data and said redundancy data to a plurality of magnetic disks.

14. The computer readable medium according to claim 13 , wherein

when writing said host data and said redundancy data: writing said host data and said redundancy code for said host data or (ii) said redundancy data and said redundancy code for the redundancy data over two magnetic disks of said plurality of magnetic disks, and writing the whole of one of the redundancy codes into either of the two magnetic disks.

15. The computer readable medium according to claim 14 , wherein

when generating said redundancy data, generating said redundancy code for said host data or said redundancy code for said redundancy data for each write unit of said magnetic disk, and

when writing said host data and said redundancy data, writing (i) said host data and said redundancy code for said host data or (ii) said redundancy data and said redundancy code for the redundancy data to said two magnetic disks.

16. The computer readable medium according to claim 14 , wherein

when generating said redundancy data, generating a plurality of pieces of said redundancy data for a plurality of pieces of said host data, and

when writing said host data and said redundancy data, writing the plurality of pieces of said host data and the plurality of pieces of said redundancy data to different magnetic disks of said plurality of magnetic disks, respectively, and

the method further comprising:

restoring, when said redundancy code calculated for a piece of said host data or a piece of said redundancy data read from a first magnetic disk of said plurality of magnetic disks is not identical to said redundancy code corresponding to the piece of said host data or the piece of said redundancy data read from a second magnetic disk of said plurality of magnetic disks, a whole of said first magnetic disk and said second magnetic disk by restoring a piece of said host data, a piece of said redundancy data, and said redundancy codes on said first magnetic disk and said second magnetic disk based on pieces of at least one of said host data and said redundancy data on the other magnetic disks of said plurality of magnetic disks.

17. The computer readable medium according to claim 16 , wherein

when restoring said host data and said redundancy data, regenerating said redundancy code on said first magnetic disk and said second magnetic disk.

18. A disk array apparatus, comprising:

a storage means including a plurality of magnetic disks; and

a control means for: generating redundancy data for host data received from a host apparatus by a primitive polynomial of Galois extension field, said redundancy data being usable to restore one of said plurality of disks; generating a redundancy code for said host data and a redundancy code for said redundancy data, said redundancy codes being usable to detect an error of a corresponding one of said host data and said redundancy data, said redundancy codes each being a cyclic code based on a generating polynomial which is identical to said primitive polynomial, said redundancy code for said host data being calculated from said host data by said host data by said generating polynomial and said redundancy code for said redundancy data being calculated from said redundancy code for said host data and writing said host data and said redundancy data to said plurality of magnetic disks.

Assignments (4)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jun 27, 2024
From: IP WAVE PTE LTD.
To: CLOUD BYTE LLC.
Reel/Frame 067944/0332 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jan 27, 2024
From: NEC ASIA PACIFIC PTE LTD.
To: IP WAVE PTE LTD.
Reel/Frame 066376/0276 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Apr 17, 2023
From: NEC CORPORATION
To: NEC ASIA PACIFIC PTE LTD.
Reel/Frame 063349/0459 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jun 16, 2010
From: SUGANUMA, SHIGERU
To: NEC CORPORATION
Reel/Frame 024542/0530 →