IP Library › Granted Patent US 10,268,543
Granted Patent B2
US 10,268,543 · App. 15/418,523 · Granted Apr 23, 2019

Online volume repair

Inventors: Siamak Nazari (Mountain View, CA); Jinyang Li (Fremont, CA); Srinivasa D Murthy (Cupertino, CA); Ying Fairweather (Bellevue, WA); Christopher Robert Sutton (Boise, ID)
Assignee: Hewlett Packard Enterprise Development LP
G06F11/1076G06F11/1004
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 10,268,543
App. No.
15/418,523
Granted
Apr 23, 2019
Kind
B2
Abstract

Examples include repair of a volume while the volume is online. In some examples, a request is received to access a compressed page, wherein the compressed page includes compressed data and compression metadata, an error is identified in the compression metadata or the compressed data, and based on the error and the request, repair of the error is handled while the volume is online.

Claims (84)

1. A machine-readable storage medium comprising instructions executable by a processing resource to:

receive a request to access a compressed page of a volume, wherein the compressed page includes compressed data and compression metadata;

identify an error in the compression metadata or the compressed data;

based on the identification of an error in the compression metadata or the compressed data when the request is a read request or a partial overwrite request, flag the compressed page as inconsistent in a translation table entry associated with the compressed page, wherein the translation table entry is part of a translation table for the volume; and

based on the identified error and the request, handle repair of the error while the volume is online.

2. The machine-readable storage medium of claim 1 , wherein the instructions to identify the error comprise instructions executable by the processing resource to:

validate a checksum to determine whether the compression metadata has a compression metadata error; and

based on a determination that the compression metadata does not have a compression metadata error, decompress the compressed data of the compressed page to determine whether the compressed data has a data error.

3. The machine-readable storage medium of claim 2 , wherein the instructions to handle repair of the error while the volume is online comprise instructions executable by the processing resource to:

based on the error being a compression metadata error or a data error and the request being a read request:

alert a user to initiate an online repair;

determine whether the user has initiated the online repair;

based on the determination that the user has initiated the online repair, identify each compressed page within the translation table;

perform a partial data-less write to each identified compressed page to determine each compressed page that generates a compression metadata error or a data error; and

terminate each compressed page that generates a compression metadata error or a data error to repair the volume.

4. The machine-readable storage medium of claim 1 , wherein the instructions to handle repair of the error while the volume is online comprise instructions executable by the processing resource to:

when the request is a full page overwrite request and the error is a compression metadata error:

perform the full page overwrite at a given location other than where the compressed page is stored; and

update the translation table entry associated with the compressed page to point to the given location.

5. The machine-readable storage medium of claim 1 , wherein the instructions to handle repair of the error while the volume is online comprise instructions executable by the processing resource to:

based on the error being a compression metadata error or a data error, and the request being a partial overwrite request:

determine whether another request to access the compressed page has been received; and

based on the another request being another partial overwrite request or a read request, alert the user to initiate an online repair.

6. The machine-readable storage medium of claim 1 , wherein the volume is a logical volume.

7. The machine-readable storage medium of claim 5 , wherein the instructions to handle repair of the error while the volume is online comprise instructions executable by the processing resource to:

determine whether the user has initiated the online repair;

based on a determination that the user has initiated the online repair, identify each compressed page within the translation table;

perform a partial data-less write to each identified compressed page to determine each compressed page that generates a compression metadata error or a data error; and

terminate each compressed page that generates a compression metadata error or a data error to repair the volume.

8. The machine-readable storage medium of claim 5 , wherein the instructions to handle the error while the volume is online comprise instructions executable by the processing resource to:

based on the another request being a full page overwrite request:

perform the full page overwrite at a given location other than where the compressed page is stored without alerting the user, wherein the error is a compression metadata error; and

update the translation table entry associated with the compressed page to point to the another location.

9. The machine-readable storage medium of claim 1 , wherein the compressed page includes up to eight virtual pages of data and the compression metadata includes a reference count, a compressed page offset for each virtual page of data, a virtual page address for each virtual page of data, and a check value.

10. A device comprising:

a processing resource; and

a machine-readable storage medium encoded with instructions executable by the processing resource to:

receive a request to access a compressed page of a volume,

wherein the compressed page includes compressed data and compression metadata, and

wherein the request is a read request, a partial overwrite request, or a full page overwrite request;

identify an error in the compression metadata or the compressed data; and

based on identification of an error in the compression metadata when the request is a full page overwrite request, perform the full page overwrite at a given location other than where the compressed page is stored and update a translation table entry associated with the compressed page to point to the given location, wherein the translation table entry is part of a translation table for the volume; and

based on and the request being a partial overwrite request, flag the compressed page as inconsistent in the translation table entry, wherein the translation table entry is part of a translation table for the volume.

11. The device of claim 10 , wherein the instructions are executable by the processing resource to, based on the error being a compression metadata error or a data error and the request being a read request, alert a user to initiate an online repair.

12. The device of claim 11 , wherein the instructions are executable by the processing resource to:

determine whether the user has initiated the online repair;

based on the determination that the user has initiated the online repair, identify each compressed page within the translation table;

perform a partial data-less write to each identified compressed page to determine each compressed page that generates a compression metadata error or a data error; and

terminate each compressed page that generates a compression metadata error or a data error to repair the volume.

13. The device of claim 10 , wherein the volume is a logical volume.

14. The device of claim 10 , wherein the instructions are executable by the processing resource to:

when the request is a partial overwrite request:

determine whether another request to access the compressed page has been received;

based on the another request being a full page overwrite request;

perform the full page overwrite at a given location other than where the compressed page is stored without alerting the user, wherein the error is a compression metadata error, and update the translation table entry associated with the compressed page to point to the given location; and

based on the another request being another partial overwrite request or a read request, alert the user to initiate the online repair.

15. The device of claim 10 , wherein the instructions are executable by the processing resource to:

based on the error being a compression metadata error and the request being a full page overwrite request:

perform the full page overwrite at a given location other than where the compressed page is stored; and

update the translation table entry associated with the compressed page to point to the given location.

16. A method of a processing resource, the method comprising:

receiving a request to access a compressed page of a volume, wherein the compressed page includes compressed data and compression metadata;

determining whether the request is a read request, a partial overwrite request, or a full page overwrite request;

determining whether an error exists in the compressed page;

based on a determination that an error exists in the compressed page and based on the request, handling repair of the error while the volume is online,

wherein, when the request is a full page overwrite request and the error in the compressed page is a compression metadata error, the handling repair of the error comprises:

performing the full page overwrite at a given location other than where the compressed page is stored; and

updating a translation table entry associated with the compressed page to point to the given location, wherein the translation table entry is part of a translation table for the volume.

17. The method of claim 16 , wherein, when the request is a read request, the handling repair of the error while the volume is online comprises:

flagging the compressed page as inconsistent in the translation table entry associated with the compressed page;

alerting a user to initiate an online repair;

determining whether the user has initiated the online repair;

based on a determination that the user has initiated the online repair, identifying each compressed page within the translation table;

performing a partial data-less write to each identified compressed page to determine each compressed page that generates a compression metadata error or a data error;

terminating each compressed page that generates a compression metadata error or a data error to repair the volume; and

clearing any inconsistent flag for each compressed page that does not generate a compression metadata error or a data error.

18. The method of claim 16 , wherein, when the request is the partial overwrite request, the handling repair of the error while the volume is online comprises:

flagging the compressed page as inconsistent in the translation table entry associated with the compressed page;

determining whether another request to access the compressed page has been received;

based on a determination that the another request is a full page overwrite request:

performing the full page overwrite at a given location other than where the compressed page is stored, wherein the error is a compression metadata error, and

updating the translation table entry associated with the compressed page to point to the given location and clearing the inconsistent flag; and

based on a determination that the another request is a partial overwrite request or a read request has been received, alerting a user to initiate an online repair.

19. The method of claim 16 , wherein the volume is a logical volume.

Assignments (1)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Feb 1, 2017
From: NAZARI, SIAMAK; LI, JINYANG; MURTHY, SRINIVASA D; FAIRWEATHER, YING; SUTTON, CHRISTOPHER ROBERT
To: HEWLETT PACKARD ENTERPRISE DEVELOPMENT LP
Reel/Frame 041145/0364 →
Continuity (1)
Related Publication 20180217897A1 · Aug 2, 2018