IP Library Granted Patent US 8,977,894
Granted Patent B2
US 8,977,894 · App. 13/387,740 · Granted Mar 10, 2015

Operating a data storage system

Inventors: Evangelos Stavros Eleftheriou (Zurich, CH); Robert Haas (Zurich, CH); Xiao-Yu Hu (Zurich, CH); Ilias Iliadis (Zurich, CH)
Assignee: International Business Machines Corporation
G06F3/0647G06F3/0616G06F3/0688G06F12/0246G06F2212/7208G06F2212/7211
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,977,894
App. No.
13/387,740
Granted
Mar 10, 2015
Kind
B2
Abstract

A data storage system including at least one memory device array including memory devices for storing data; and a storage subsystem controller for performing a method for operating the memory devices within the memory device array by relocating parity entities from a first memory device to a spare memory device replacing a failed memory device, and by storing one or more of reconstructed data entities on the first memory device.

Claims (32)

1. A method for operating memory devices of a data storage system, the method comprising:

relocating one or more parity entities (PE) from a first memory device to a spare memory device replacing a failed memory device, wherein one or more of the memory devices is a Solid State Drive (SSD); and

storing one or more reconstructed data entities (DE) on the first memory device.

2. The method according to claim 1 , wherein said relocating of said one or more parity entities (PE) to said spare memory device is performed if at least one predetermined relocation criterion is met.

3. The method according to claim 2 , wherein said relocation criterion takes into account a relative age of one or more of the memory devices of said data storage system, said relative age of a memory device being calculated as a ratio between an age counter value (ACV) which is incremented upon each write operation on the respective memory device and an expected lifetime value (ELTV) of said memory device.

4. The method according to claim 3 ,

wherein data to be stored on said data storage system is split into groups of data entities (DE), and wherein data entities (DE) belonging to the same group are stored on different memory devices of said data storage system.

5. The method according to claim 4 , wherein at least one parity entity (PE) is calculated for each group of data entities (DE) and is stored on a memory device other than the memory devices the data entities (DE) of the same group are stored on.

6. The method according to claim 4 , wherein the one or more data entities (DE) stored on the failed memory device are reconstructed on the basis of the remaining data entities (DE) of the respective group of data entities (DE) and the corresponding calculated parity entity (PE) of said group.

7. The method according to claim 5 , wherein the parity entity (PE) for a group of data entities (DE) is calculated by performing a bitwise XOR-operation on the data entities (DE) of said group of data entities.

8. The method according to claim 5 , wherein the parity entity (PE) for a group of data entities (DE) is calculated by performing Galois Field operations on the data entities (DE) of said group of data entities.

9. The method according to claim 1 , wherein the one or more parity entities (PE) of the first memory device are relocated to the spare memory device by a swap with one or more of the reconstructed data entities (DE) stored on the spare memory device.

10. The method according to claim 1 , wherein after reconstruction the one or more reconstructed data entities (DE) are directly stored on the first memory device.

11. A data storage system comprising:

a plurality of memory devices for storing data; and

a storage subsystem controller designed for operating said memory devices by relocating one or more parity entities (PE) from a first of said memory devices to a spare memory device replacing a failed of said memory devices, and for storing one or more reconstructed data entities on the first memory device, wherein one or more of the memory devices is a Solid State Drive (SSD).

12. The data storage system according to claim 11 , wherein said memory devices comprise solid state drives.

13. The data storage system according to claim 11 ,

wherein said memory devices comprise flash memory chips.

14. The data storage system according to claim 11 , wherein said memory devices comprise phase change memory chips.

15. A computer program product comprising a computer readable storage device having stored therein a computer program for operating memory devices of a data storage system stored therein, which, when executed by a data processing system, causes the data processing system to perform actions comprising:

relocating one or more parity entities (PE) from a first memory device to a spare memory device replacing a failed memory device, wherein one or more of the memory devices is a Solid State Drive (SSD); and

storing one or more reconstructed data entities (DE) on the first memory device.

16. The computer program product according to claim 15 , wherein said relocating of said one or more parity entities (PE) to said spare memory device is performed if at least one predetermined relocation criterion is met.

17. The computer program product according to claim 16 , wherein said relocation criterion takes into account a relative age of one or more of the memory devices of said data storage system, said relative age of a memory device being calculated as a ratio between an age counter value (ACV) which is incremented upon each write operation on the respective memory device and an expected lifetime value (ELTV) of said memory device.

18. The computer program product according to claim 17 , wherein data to be stored on said data storage system is split into groups of data entities (DE), and wherein data entities (DE) belonging to the same group are stored on different memory devices of said data storage system.

19. The computer program product according to claim 18 , wherein at least one parity entity (PE) is calculated for each group of data entities (DE) and is stored on a memory device other than the memory devices the data entities (DE) of the same group are stored on.

20. The computer program product according to claim 18 , wherein the one or more data entities (DE) stored on the failed memory device are reconstructed on the basis of the remaining data entities (DE) of the respective group of data entities (DE) and the corresponding calculated parity entity (PE) of said group.

21. The computer program product according to claim 19 , wherein the parity entity (PE) for a group of data entities (DE) is calculated by performing a bitwise XOR-operation on the data entities (DE) of said group of data entities.

22. The computer program product according to claim 19 , wherein the parity entity (PE) for a group of data entities (DE) is calculated by performing Galois Field operations on the data entities (DE) of said group of data entities.

23. The computer program product according to claim 15 , wherein the one or more parity entities (PE) of the first memory device are relocated to the spare memory device by a swap with one or more of the reconstructed data entities (DE) stored on the spare memory device.

24. The computer program product according to claim 15 , wherein after reconstruction the one or more reconstructed data entities (DE) are directly stored on the first memory device.

Assignments (1)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jan 29, 2012
From: ELEFTHERIOU, EVANGELOS STRAVROS; HAAS, ROBERT; HU, XIAO-YU; ILIADIS, ILIAS
To: INTERNATIONAL BUSINESS MACHINES CORPORATION
Reel/Frame 027613/0406 →
Priority Claims (1)
EP 09168424 · Aug 21, 2009 · regional
Continuity (1)
Related Publication 20120131381A1 · May 24, 2012