IP Library Granted Patent US 8,276,041
Granted Patent B2
US 8,276,041 · App. 12/269,123 · Granted Sep 25, 2012

Data integrity validation using hierarchical volume management

Assignee: International Business Machines Corporation
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,276,041
App. No.
12/269,123
Granted
Sep 25, 2012
Kind
B2
Abstract

A method for reading data from a data storage system is provided. The method comprises requesting a virtual data volume to access data from one or more data blocks in the data storage system; requesting a virtual protection information volume to access protection information associated with the data blocks; validating the data using the protection information; and providing the data to the host interface, in response to successful validation of the data. A method for writing data to a data storage system is also provided. The method comprises receiving data to be written to one or more data blocks in the data storage system, wherein the data is stored in a cache; generating protection information to be stored on a virtual protection information volume; requesting a virtual data volume to update the data blocks with the data; and requesting the virtual protection information volume to store the protection information.

Claims (69)

1. A method executed on one or more processors for reading data from data blocks in a data storage system, the method comprising:

requesting a virtual data volume to access data from one or more data blocks in the data storage system, in response to receiving a read request from a host interface;

requesting a virtual protection information volume to access protection information associated with the data blocks, wherein the protection information is stored on the virtual protection information volume;

validating the data using the protection information; and

providing the data to the host interface, in response to successful validation of the data.

2. The method of claim 1 , wherein additional protection information is embedded in association with the data on the virtual data volume, the method further comprising:

requesting the virtual data volume to access the embedded protection information, along with the data, from the data blocks; and

validating the data using the embedded protection information,

wherein the data is returned, exclusive of the embedded protection information.

3. A method executed on one or more processors for writing data to data blocks in a data storage system, the method comprising:

receiving data to be written to one or more data blocks in the data storage system from a host interface, wherein the data is stored in a cache;

generating protection information to be stored on a virtual protection information volume;

requesting a virtual data volume to update the data blocks with the data; and

requesting the virtual protection information volume to store the protection information.

4. The method of claim 3 , wherein the protection information is incomplete, further comprising:

requesting missing protection information from the virtual protection information volume; and

merging the missing protection information with the protection information, so that the protection information is complete.

5. The method of claim 3 , further comprising:

generating embedded protection information for validating the data, wherein the embedded protection information is stored with the data in the cache; and

requesting the virtual data volume to update the data blocks with the data and the embedded protection information.

6. The method of claim 5 , wherein the embedded protection information is incomplete, further comprising:

requesting missing embedded protection information from the virtual data volume; and

merging the missing embedded protection information with the embedded protection information, so that the embedded protection information is complete.

7. A system for reading data from data blocks in a data storage system having one or more data storage mediums, the system comprising:

a logic unit for requesting a virtual data volume to access first data from one or more first data blocks in the data storage system, in response to receiving a read request from a host interface;

a logic unit for requesting a virtual protection information volume to access first protection information associated with the first data blocks, wherein the first protection information is stored on the virtual protection information volume;

a logic unit for validating the first data using the first protection information; and

a logic unit for providing the first data to the host interface, in response to successful validation of the first data.

8. The system of claim 7 , wherein additional protection information is embedded in association with the first data on the virtual data volume, the system further comprising:

a logic unit for requesting the virtual data volume to access the first embedded protection information, along with the first data, from the first data blocks; and

a logic unit for validating the first data using the first embedded protection information,

wherein the first data is returned, exclusive of the first embedded protection information.

9. The system of claim 7 , wherein data is written to data blocks in the data storage system, the system comprising:

a logic unit for receiving second data to be written to one or more second data blocks in the data storage system from the host interface, wherein the second data is stored in a cache;

a logic unit for generating second protection information to be stored on the virtual protection information volume;

a logic unit for requesting the virtual data volume to update the second data blocks with the second data; and

a logic unit for requesting the virtual protection information volume to store the second protection information.

10. The system of claim 9 , wherein the second protection information is incomplete, further comprising:

a logic unit for requesting missing protection information from the virtual protection information volume; and

a logic unit for merging the missing protection information with the second protection information, so that the second protection information is complete.

11. The system of claim 9 , further comprising:

a logic unit for generating second embedded protection information for validating the second data, wherein the second embedded protection information is stored with the second data in the cache; and

a logic unit for requesting the virtual data volume to update the second data blocks with the second data and the second embedded protection information.

12. The system of claim 11 , wherein the second embedded protection information is incomplete, further comprising:

a logic unit for requesting missing embedded protection information from the virtual data volume; and

a logic unit for merging the missing embedded protection information with the second embedded protection information, so that the second embedded protection information is complete.

13. A computer program product comprising a non-transitory data storage medium having a computer readable program, wherein the computer readable program when executed on a computer causes the computer to:

request a virtual data volume to access first data from one or more first data blocks in a data storage system, in response to receiving a read request from a host interface;

request a virtual protection information volume to access first protection information associated with the first data blocks, wherein the first protection information is stored on the virtual protection information volume;

validate the first data using the first protection information; and

providing the first data to the host interface, in response to successful validation of the first data.

14. The computer program product of claim 13 , wherein the computer readable program when executed on a computer further causes the computer to:

request the virtual data volume to access first embedded protection information, along with the first data, from the first data blocks; and

validate the first data using the first embedded protection information,

wherein the first data is returned, exclusive of the first embedded protection information.

15. The computer program product of claim 13 , wherein the computer readable program when executed on a computer further causes the computer to:

receive second data to be written to one or more data blocks in the data storage system from the host interface, wherein the second data is stored in a cache;

generate second protection information to be stored on the virtual protection information volume;

request the virtual data volume to update second data blocks with the second data; and

request the virtual protection information volume to store the second protection information.

16. The computer program product of claim 15 , wherein the computer readable program when executed on a computer further causes the computer to:

request missing protection information from the virtual protection information volume; and

merge the missing protection information with the second protection information, so that the second protection information is complete.

17. The computer program product of claim 15 , wherein the computer readable program when executed on a computer further causes the computer to:

generate second embedded protection information for validating the second data, wherein the second embedded protection information is stored with the second data in the cache; and

request the virtual data volume to update the second data blocks with the second data and the second embedded protection information.

18. The computer program product of claim 17 , wherein the computer readable program when executed on a computer further causes the computer to:

request missing embedded protection information from the virtual data volume; and

merge the missing embedded protection information with the second embedded protection information, so that the second embedded protection information is complete.

Assignments (8)
CORRECTIVE ASSIGNMENT TO CORRECT THE EFFECTIVE DATE OF MERGER TO 09/05/2018 PREVIOUSLY RECORDED AT REEL: 047230 FRAME: 0133. ASSIGNOR(S) HEREBY CONFIRMS THE MERGER. Recorded Oct 29, 2018
From: AVAGO TECHNOLOGIES GENERAL IP (SINGAPORE) PTE. LTD.
To: AVAGO TECHNOLOGIES INTERNATIONAL SALES PTE. LIMITED
Reel/Frame 047630/0456 →
MERGER Recorded Oct 4, 2018
From: AVAGO TECHNOLOGIES GENERAL IP (SINGAPORE) PTE. LTD.
To: AVAGO TECHNOLOGIES INTERNATIONAL SALES PTE. LIMITED
Reel/Frame 047230/0133 →
TERMINATION AND RELEASE OF SECURITY INTEREST IN PATENTS Recorded Feb 3, 2017
From: BANK OF AMERICA, N.A., AS COLLATERAL AGENT
To: AVAGO TECHNOLOGIES GENERAL IP (SINGAPORE) PTE. LTD.
Reel/Frame 041710/0001 →
PATENT SECURITY AGREEMENT Recorded Feb 11, 2016
From: AVAGO TECHNOLOGIES GENERAL IP (SINGAPORE) PTE. LTD.
To: BANK OF AMERICA, N.A., AS COLLATERAL AGENT
Reel/Frame 037808/0001 →
TERMINATION AND RELEASE OF SECURITY INTEREST IN PATENT RIGHTS (RELEASES RF 032856-0031) Recorded Feb 2, 2016
From: DEUTSCHE BANK AG NEW YORK BRANCH, AS COLLATERAL AGENT
To: LSI CORPORATION; AGERE SYSTEMS LLC
Reel/Frame 037684/0039 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Apr 3, 2015
From: LSI CORPORATION
To: AVAGO TECHNOLOGIES GENERAL IP (SINGAPORE) PTE. LTD.
Reel/Frame 035390/0388 →
PATENT SECURITY AGREEMENT Recorded May 8, 2014
From: LSI CORPORATION; AGERE SYSTEMS LLC
To: DEUTSCHE BANK AG NEW YORK BRANCH, AS COLLATERAL AGENT
Reel/Frame 032856/0031 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Nov 12, 2008
From: HAFNER, JAMES LEE; BELLUOMINI, WENDY ANN; DEWEY, DOUGLAS WILLIAM
To: INTERNATIONAL BUSINESS MACHINES CORPORATION
Reel/Frame 021820/0261 →
Continuity (1)
Related Publication 20100122055A1 · May 13, 2010