IP Library › Granted Patent US 11,995,315
Granted Patent B2
US 11,995,315 · App. 17/732,622 · Granted May 28, 2024

Converting data formats in a storage system

Inventors: David Grunwald (San Francisco, CA); Christopher Golden (Emerald Hills, CA); Jianting Cao (Mountain View, CA); Scott Smith (San Mateo, CA); Qi Zhou (Sunnyvale, CA); Wentian Cui (Sunnyvale, CA)
Assignee: PURE STORAGE, INC.
G06F3/0604G06F3/0607G06F3/0632G06F3/0661G06F3/067G06F3/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,995,315
App. No.
17/732,622
Granted
May 28, 2024
Kind
B2
Abstract

Converting data formats in a storage system: converting 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 dataset, including updating the second data to include: a reference to first data associated with a portion of the dataset that precedes a data-converted portion of the dataset; second data associated with the data-converted portion of the dataset, wherein the second data associated with the data-converted portion of the dataset is in the second data format; and a reference to first data associated with a portion of the dataset that follows the data-converted portion of the dataset; and replacing first data associated with the data-converted portion of the dataset with a reference to the second data associated with the data-converted portion of the dataset.

Claims (71)

1. A method comprising:

converting first data stored in a storage system 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 dataset, including updating the second data to include:

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

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

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

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

2. The method of claim 1 further comprising:

updating system software in a storage system that stores the data, 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 dataset of data; and

the first data includes metadata describing the dataset of data.

3. The method of claim 1 wherein the dataset is a volume.

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

5. The method of claim 4 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 dataset that precedes the data-converted portion of the dataset;

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

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

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

6. The method of claim 1 further comprising:

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

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

copying metadata associated with the dataset stored at the first location in the storage system, wherein the metadata associated with the dataset 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 dataset stored at the second location within the storage system.

7. 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.

8. 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:

converting first data stored in a storage system 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 dataset, including updating the second data to include:

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

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

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

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

9. The apparatus of claim 8 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 dataset of data; and

the first data includes metadata describing the dataset of data.

10. The apparatus of claim 8 wherein the dataset is a volume.

11. The apparatus of claim 8 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 a storage array controller, a data conversion process.

12. The apparatus of claim 11 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 dataset that precedes the data-converted portion of the dataset;

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

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

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

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

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

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

copying metadata associated with the dataset stored at the first location in the storage system, wherein the metadata associated with the dataset 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 dataset stored at the second location within the storage system.

14. The apparatus of claim 8 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.

15. 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:

converting first data stored in a storage system 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 dataset, including updating the second data to include:

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

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

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

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

16. The computer program product of claim 15 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 dataset of data; and

the first data includes metadata describing the dataset of data.

17. The computer program product of claim 15 wherein the dataset is a volume.

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

19. The computer program product of claim 18 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 dataset that precedes the data-converted portion of the dataset;

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

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

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

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

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

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

copying metadata associated with the dataset stored at the first location in the storage system, wherein the metadata associated with the dataset 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 dataset stored at the second location within the storage system.

Assignments (1)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jun 7, 2022
From: GRUNWALD, DAVID; GOLDEN, CHRISTOPHER; CAO, JIANTING; SMITH, SCOTT; ZHOU, QI; CUI, WENTIAN
To: PURE STORAGE, INC.
Reel/Frame 060125/0626 →
Continuity (4)
Continuation In Part 16993715 · Aug 14, 2020
Continuation 15965769 · Apr 27, 2018
Continuation 15071663 · Mar 16, 2016
Related Publication 20220253216A1 · Aug 11, 2022