IP Library Granted Patent US 9,697,079
Granted Patent B2
US 9,697,079 · App. 14/797,368 · Granted Jul 4, 2017

Protecting data integrity in de-duplicated storage environments in combination with software defined native raid

Inventors: Frank Broede (Loerzweiler, DE); Michael Diederich (Mainz, DE); Monty C. Poppe (Austin, TX); Erik Rueger (Ockenheim, DE); Lance W. Russell (Rosanky, TX)
Assignee: International Business Machines Corporation
G06F11/1076G06F3/064G06F3/0619G06F3/0641G06F3/0689
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,697,079
App. No.
14/797,368
Granted
Jul 4, 2017
Kind
B2
Abstract

A mechanism is provided in a data processing system for securing data integrity in de-duplicated storage environments in combination with software defined native redundant array of independent disks (RAID). The mechanism receives a data portion to write to storage, divides the data portion into a plurality of chunks, and identifies a given chunk within the plurality of chunks for de-duplication. The mechanism increment a de-duplication counter for the given chunk and determines a RAID level for the given chunk based on a value of the de-duplication counter. The mechanism stores the given chunk based on the determined RAID level.

Claims (40)

1. A method, in a data processing system, for securing data integrity in de -duplicated storage environments in combination with software defined native redundant array of independent disks (RAID), the method comprising:

receiving a data portion to write to storage;

dividing the data portion into a plurality of chunks;

identifying a given chunk within the plurality of chunks for de-duplication;

incrementing a de-duplication counter for the given chunk;

determining a RAID level for the given chunk based on a value of the de-duplication counter; and

storing the given chunk based on the determined RAID level.

2. The method of claim 1 , wherein determining the RAID level for the given chunk comprises comparing the de-duplication counter to at least one threshold, wherein the at least one threshold are mapped to corresponding RAID levels.

3. The method of claim 2 , wherein values of the de-duplication counter less than a first threshold are mapped to RAID 5, wherein values of the de-duplication counter greater than the first threshold and less than a second threshold are mapped to RAID 6, wherein values of the de-duplication counter greater than the second threshold and less than a third threshold are mapped to RAID 10, and wherein values of the de -duplication counter greater than the third threshold are mapped to RAID 1.

4. The method of 1, further comprising determining a performance level for the given chunk based on the value of the de-duplication counter, wherein storing the given chunk comprises storing the given chunk based on the determined RAID level and the determined performance level.

5. The method of claim 4 , wherein storing the given chunk comprises storing a reference to a previously stored chunk in physical storage and migrating the previously stored chunk based on the determined RAID level.

6. The method of claim 4 , wherein determining the performance level for the given chunk comprises comparing the de-duplication counter to at least one threshold, wherein the at least one threshold are mapped to corresponding RAID levels.

7. The method of claim 6 , wherein values of the de-duplication counter less than a first threshold are mapped to a low performance pool of storage, wherein values of the de-duplication counter greater than the first threshold and less than a second threshold are mapped to a medium performance pool of storage, and wherein values of the de-duplication counter greater than the second threshold are mapped to a high performance pool of storage.

8. The method of claim 1 , further comprising dynamically adjusting the RAID level of the given chunk based on data demand.

9. The method of claim 1 , wherein storing the given chunk comprises storing a reference to a previously stored chunk in physical storage and migrating the previously stored chunk based on the determined RAID level.

10. A computer program product comprising a computer readable storage medium having a computer readable program stored therein, wherein the computer readable program, when executed on a computing device, causes the computing device to:

receive a data portion to write to storage;

divide the data portion into a plurality of chunks;

identify a given chunk within the plurality of chunks for de-duplication;

increment a de-duplication counter for the given chunk;

determine a RAID level for the given chunk based on a value of the de -duplication counter; and

store the given chunk based on the determined RAID level.

11. The computer program product of claim 10 , wherein determining the RAID level for the given chunk comprises comparing the de-duplication counter to at least one threshold, wherein the at least one threshold are mapped to corresponding RAID levels.

12. The computer program product of claim 11 , wherein values of the de -duplication counter less than a first threshold are mapped to RAID 5, wherein values of the de-duplication counter greater than the first threshold and less than a second threshold are mapped to RAID 6, wherein values of the de-duplication counter greater than the second threshold and less than a third threshold are mapped to RAID 10, and wherein values of the de-duplication counter greater than the third threshold are mapped to RAID 1.

13. The computer program product of 10 , wherein the computer readable program further causes the computing device to determine a performance level for the given chunk based on the value of the de-duplication counter, wherein storing the given chunk comprises storing the given chunk based on the determined RAID level and the determined performance level.

14. The computer program product of claim 13 , wherein storing the given chunk comprises storing a reference to a previously stored chunk in physical storage and migrating the previously stored chunk based on the determined RAID level.

15. The computer program product of claim 13 , wherein determining the performance level for the given chunk comprises comparing the de-duplication counter to at least one threshold, wherein the at least one threshold are mapped to corresponding RAID levels.

16. The computer program product of claim 15 , wherein values of the de -duplication counter less than a first threshold are mapped to a low performance pool of storage, wherein values of the de-duplication counter greater than the first threshold and less than a second threshold are mapped to a medium performance pool of storage, and wherein values of the de-duplication counter greater than the second threshold are mapped to a high performance pool of storage.

17. The computer program product of claim 10 , wherein the computer readable program further causes the computing device to dynamically adjust the RAID level of the given chunk based on data demand.

18. The computer program product of claim 10 , wherein storing the given chunk comprises storing a reference to a previously stored chunk in physical storage and migrating the previously stored chunk based on the determined RAID level.

19. An apparatus comprising:

a processor; and

a memory coupled to the processor, wherein the memory comprises instructions which, when executed by the processor, cause the processor to:

receive a data portion to write to storage;

divide the data portion into a plurality of chunks;

identify a given chunk within the plurality of chunks for de-duplication;

increment a de-duplication counter for the given chunk;

determine a RAID level for the given chunk based on a value of the de -duplication counter; and

store the given chunk based on the determined RAID level.

20. The apparatus of 19 , wherein the computer readable program further causes the computing device to determine a performance level for the given chunk based on the value of the de-duplication counter, wherein storing the given chunk comprises storing the given chunk based on the determined RAID level and the determined performance level.

Assignments (1)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jul 13, 2015
From: BROEDE, FRANK; DIEDERICH, MICHAEL; POPPE, MONTY C.; RUEGER, ERIK; RUSSELL, LANCE W.
To: INTERNATIONAL BUSINESS MACHINES CORPORATION
Reel/Frame 036099/0281 →
Continuity (1)
Related Publication 20170017547A1 · Jan 19, 2017