IP Library › Granted Patent US 11,340,785
Granted Patent B1
US 11,340,785 · App. 16/993,715 · Granted May 24, 2022

Upgrading data in a storage system using background processes

Inventors: Jianting Cao (Sunnyvale, CA); Wentian Cui (Sunnyvale, CA); Christopher Golden (Emerald Hills, CA); David Grunwald (San Francisco, CA); Scott Smith (San Mateo, CA); Qi Zhou (Sunnyvale, CA)
Assignee: Pure Storage, Inc.
G06F3/0604G06F3/0607G06F3/067G06F3/0632G06F3/0661G06F3/0673G06F8/656
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 11,340,785
App. No.
16/993,715
Granted
May 24, 2022
Kind
B1
Abstract

Performing a non-disruptive upgrade of data in a storage system that includes a plurality of storage devices and a storage controller, including: creating new data in a new data format, wherein the new data includes a reference to old data in an old data format, wherein system software in the storage system can utilize data in the new data format and the old data format; determining that a portion of the volume has changed; and responsive to determining that the portion of the volume has changed, updating the new data to include a reference to old data associated with a portion of the volume that precedes the changed portion of the volume, new data associated with the changed portion of the volume, and a reference to old data associated with a portion of the volume that follows the changed portion of the volume.

Claims (68)

1. A method comprising:

executing, as a background process in a storage system, a data conversion process to convert first data in a first format to second data in a second format, wherein second data in the second format includes a reference to the first data, wherein the first data and the second data are associated with a volume of data, and wherein executing the data conversion process includes updating the second data to include:

a reference to first data associated with a portion of the volume that precedes a data-converted portion of the volume;

second data associated with the data-converted portion of the volume, wherein the second data associated with the data-converted portion of the volume is in the second data format; and

a reference to first data associated with a portion of the volume that follows the data-converted portion of the volume; and

replacing first data associated with the data-converted portion of the volume with a reference to the second data associated with the data-converted portion of the volume.

2. The method of claim 1 further comprising:

updating system software in the storage system, wherein the updated system software utilizes metadata in the second data format and a previously installed version of the system software utilizes metadata in the first data format, wherein:

the second data includes metadata describing the volume of data; and

the first data includes metadata describing the volume of data.

3. The method of claim 1 further comprising executing, as a background process on the storage array controller, a data conversion process.

4. The method of claim 3 wherein executing the data conversion process further comprises:

updating the second data to include:

a reference to first data associated with a portion of the volume that precedes the data-converted portion of the volume;

second data associated with the data-converted portion of the volume, wherein the second data associated with the data-converted portion of the volume is in the second data format; and

a reference to first data associated with a portion of the volume that follows the data-converted portion of the volume; and

replacing first data associated with the data-converted portion of the volume with a reference to the second data associated with the data-converted portion of the volume.

5. The method of claim 1 further comprising:

copying a volume stored at a first location in the storage system;

storing, at a second location within the storage system, the copy of the volume;

copying metadata associated with the volume stored at the first location in the storage system, wherein the metadata associated with the volume stored at the first location in the storage system includes metadata in the second data format and metadata in the first data format; and

storing, at a third location in the storage system, the metadata, wherein the metadata stored at the third location is associated with the copy of the volume stored at the second location within the storage system.

6. The method of claim 1 further comprising placing the first data and the second data in the storage system in dependence upon one or more space efficiency considerations.

7. An apparatus comprising a computer processor, a computer memory operatively coupled to the computer processor, the computer memory having disposed within it computer program instructions that, when executed by the computer processor, cause the apparatus to carry out the steps of:

executing, as a background process in a storage system, a data conversion process to convert first data in a first format to second data in a second format, wherein second data in the second format includes a reference to the first data, wherein the first data and the second data are associated with a volume of data, and wherein executing the data conversion process includes updating the second data to include:

a reference to first data associated with a portion of the volume that precedes a data-converted portion of the volume;

second data associated with the data-converted portion of the volume, wherein the second data associated with the data-converted portion of the volume is in the second data format; and

a reference to first data associated with a portion of the volume that follows the data-converted portion of the volume; and

replacing first data associated with the data-converted portion of the volume with a reference to the second data associated with the data-converted portion of the volume.

8. The apparatus of claim 7 further comprising computer program instructions that, when executed by the computer processor, cause the apparatus to carry out the step of:

updating system software in the storage system, wherein the updated system software utilizes metadata in the second data format and a previously installed version of the system software utilizes metadata in the first data format, wherein:

the second data includes metadata describing the volume of data; and

the first data includes metadata describing the volume of data.

9. The apparatus of claim 7 further comprising computer program instructions that, when executed by the computer processor, cause the apparatus to carry out the step of executing, as a background process on the storage array controller, a data conversion process.

10. The apparatus of claim 9 wherein executing the data conversion process further comprises:

updating the second data to include:

a reference to first data associated with a portion of the volume that precedes the data-converted portion of the volume;

second data associated with the data-converted portion of the volume, wherein the second data associated with the data-converted portion of the volume is in the second data format; and

a reference to first data associated with a portion of the volume that follows the data-converted portion of the volume; and

replacing first data associated with the data-converted portion of the volume with a reference to the second data associated with the data-converted portion of the volume.

11. The apparatus of claim 7 further comprising computer program instructions that, when executed by the computer processor, cause the apparatus to carry out the steps of:

copying a volume stored at a first location in the storage system;

storing, at a second location within the storage system, the copy of the volume;

copying metadata associated with the volume stored at the first location in the storage system, wherein the metadata associated with the volume stored at the first location in the storage system includes metadata in the second data format and metadata in the first data format; and

storing, at a third location in the storage system, the metadata, wherein the metadata stored at the third location is associated with the copy of the volume stored at the second location within the storage system.

12. The apparatus of claim 7 further comprising computer program instructions that, when executed by the computer processor, cause the apparatus to carry out the step of placing the first data and the second data in the storage system in dependence upon one or more space efficiency considerations.

13. A computer program product disposed upon a non-transitory computer readable medium, the computer program product comprising computer program instructions that, when executed, cause a computer to carry out the steps of:

executing, as a background process in a storage system, a data conversion process to convert first data in a first format to second data in a second format, wherein second data in the second format includes a reference to the first data, wherein the first data and the second data are associated with a volume of data, and wherein executing the data conversion process includes updating the second data to include:

a reference to first data associated with a portion of the volume that precedes a data-converted portion of the volume;

second data associated with the data-converted portion of the volume, wherein the second data associated with the data-converted portion of the volume is in the second data format; and

a reference to first data associated with a portion of the volume that follows the data-converted portion of the volume; and

replacing first data associated with the data-converted portion of the volume with a reference to the second data associated with the data-converted portion of the volume.

14. The computer program product of claim 13 further comprising computer program instructions that, when executed, cause a computer to carry out the step of:

updating system software in the storage system, wherein the updated system software utilizes metadata in the second data format and a previously installed version of the system software utilizes metadata in the first data format, wherein:

the second data includes metadata describing the volume of data; and

the first data includes metadata describing the volume of data.

15. The computer program product of claim 13 further comprising computer program instructions that, when executed, cause a computer to carry out the step of executing, as a background process on the storage array controller, a data conversion process.

16. The computer program product of claim 15 wherein executing the data conversion process further comprises:

updating the second data to include:

a reference to first data associated with a portion of the volume that precedes the data-converted portion of the volume;

second data associated with the data-converted portion of the volume, wherein the second data associated with the data-converted portion of the volume is in the second data format; and

a reference to first data associated with a portion of the volume that follows the data-converted portion of the volume; and

replacing first data associated with the data-converted portion of the volume with a reference to the second data associated with the data-converted portion of the volume.

17. The computer program product of claim 13 further comprising computer program instructions that, when executed, cause a computer to carry out the steps of:

copying a volume stored at a first location in the storage system;

storing, at a second location within the storage system, the copy of the volume;

copying metadata associated with the volume stored at the first location in the storage system, wherein the metadata associated with the volume stored at the first location in the storage system includes metadata in the second data format and metadata in the first data format; and

storing, at a third location in the storage system, the metadata, wherein the metadata stored at the third location is associated with the copy of the volume stored at the second location within the storage system.

Assignments (1)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Aug 14, 2020
From: CAO, JIANTING; CUI, WENTIAN; GOLDEN, CHRISTOPHER; GRUNWALD, DAVID; SMITH, SCOTT; ZHOU, QI
To: PURE STORAGE, INC.
Reel/Frame 053498/0709 →
Continuity (2)
Continuation 15965769 · Apr 24, 2018
Continuation 15071663 · Mar 16, 2016