IP Library Granted Patent US 11,513,687
Granted Patent B2
US 11,513,687 · App. 17/084,191 · Granted Nov 29, 2022

Accessing storage space of a physical data fragment in a storage system

Inventors: Douglas E. LeCrone (Hopkinton, MA); Jeremy J. O'Hare (Westborough, MA); Paul A. Linstead (Shrewsbury, MA)
Assignee: EMC IP Holding Company LLC
G06F3/0608G06F3/064G06F3/0686G06F21/602
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,513,687
App. No.
17/084,191
Granted
Nov 29, 2022
Kind
B2
Abstract

Accessing additional storage space of a storage system includes reading a physical data fragment that is an incremental subset of a physical storage unit of the storage system, accessing metadata corresponding to logical blocks stored on the physical data fragment to determine a sidebar storage portion of the physical data fragment that is unused by the logical blocks, and accessing data of the sidebar storage portion. Accessing data of the sidebar storage portion may include providing data from the sidebar storage portion to a calling process. Accessing data of the sidebar storage portion may include modifying a portion of data from the physical data fragment and writing the physical data fragment back to the physical storage device. The physical data fragment may be locked prior to reading the physical data fragment and the physical data fragment may be unlocked after writing the physical data fragment.

Claims (36)

1. A method of accessing additional storage space of a storage system, comprising:

reading a physical data fragment that is an incremental subset of a physical storage unit of the storage system, wherein the physical data fragment includes data for variable size logical blocks of the storage system and includes a separate sidebar storage that corresponds to a portion of the physical data fragment that is not allocated for storage space for the logical blocks;

accessing metadata corresponding to the logical blocks stored on the physical data fragment to determine data for the sidebar storage portion of the physical data fragment that is unused by the logical blocks;

accessing data of the sidebar storage portion;

modifying the data for the sidebar storage portion;

combining the data for the sidebar storage portion with data for the logical blocks to provide data for an entire portion of the physical data fragment; and

writing the data for the entire portion of the physical data fragment.

2. A method, according to claim 1 , wherein accessing data of the sidebar storage portion includes providing data from the sidebar storage portion to a calling process.

3. A method, according to claim 1 , wherein the physical data fragment is locked prior to reading the physical data fragment and the physical data fragment is unlocked after writing the data for the physical data fragment.

4. A method, according to claim 1 , wherein the data for the sidebar storage is encrypted.

5. A method, according to claim 1 , wherein the physical storage unit is a disk drive and the physical data fragment is a track of the disk drive.

6. A method, according to claim 5 , wherein the physical storage unit stores CKD count key data formatted data.

7. A method, according to claim 1 , wherein a size of the sidebar storage portion is less than a size of a logical block.

8. A method, according to claim 1 , wherein I/O operations that access the logical blocks preserve sidebar storage whenever the I/O operations overwrite the logical blocks.

9. A non-transitory computer readable medium containing software that accesses additional storage space of a storage system, the software comprising:

executable code that reads a physical data fragment that is an incremental subset of a physical storage unit of the storage system, wherein the physical data fragment includes data for variable size logical blocks of the storage system and includes a separate sidebar storage that corresponds to a portion of the physical data fragment that is not allocated for storage space for the logical blocks;

executable code that accesses metadata corresponding to the logical blocks stored on the physical data fragment to determine data for the sidebar storage portion of the physical data fragment that is unused by the logical blocks;

executable code that accesses data of the sidebar storage portion;

executable code that modifies the data for the sidebar storage portion;

executable code that combines the data for the sidebar storage portion with data for the logical blocks to provide data for an entire portion of the physical data fragment; and

executable code that writes the data for the entire portion of the physical data fragment.

10. A non-transitory computer readable medium, according to claim 9 , wherein accessing data of the sidebar storage portion includes providing data from the sidebar storage portion to a calling process.

11. A non-transitory computer readable medium, according to claim 9 , wherein the physical data fragment is locked prior to reading the physical data fragment and the physical data fragment is unlocked after writing the data for the physical data fragment.

12. A non-transitory computer readable medium, according to claim 9 , wherein the data for the sidebar storage is encrypted.

13. A non-transitory computer readable medium, according to claim 9 , wherein the physical storage unit is a disk drive and the physical data fragment is a track of the disk drive.

14. A non-transitory computer readable medium, according to claim 13 , wherein the physical storage unit stores CKD count key data formatted data.

15. A non-transitory computer readable medium, according to claim 9 , wherein a size of the sidebar storage portion is less than a size of a logical block.

16. A non-transitory computer readable medium, according to claim 9 , wherein I/O operations that access the logical blocks preserve sidebar storage whenever the I/O operations overwrite the logical blocks.

17. A storage system, comprising:

a plurality of physical storage units that contain data for the storage system;

a processor; and

a non-transitory computer readable medium containing executable code that reads a physical data fragment that is an incremental subset of a physical storage unit of the storage system, wherein the physical data fragment includes data for variable size logical blocks of the storage system and includes a separate sidebar storage that corresponds to a portion of the physical data fragment that is not allocated for storage space for the logical blocks, executable code that accesses metadata corresponding to the logical blocks stored on the physical data fragment to determine data for the sidebar storage portion of the physical data fragment that is unused by the logical blocks, executable code that accesses data of the sidebar storage portion, executable code that modifies the data for the sidebar storage portion, executable code that combines the data for the sidebar storage portion with data for the logical blocks to provide data for an entire portion of the physical data fragment, and executable code that writes the data for the entire portion of the physical data fragment.

18. A storage system, according to claim 17 , wherein the data for the sidebar storage is encrypted.

19. A storage system, according to claim 17 , wherein the physical storage unit is a disk drive and the physical data fragment is a track of the disk drive and wherein the physical storage unit stores CKD count key data formatted data.

20. A storage system, according to claim 17 , wherein a size of the sidebar storage portion is less than a size of a logical block.

21. A storage system, according to claim 17 , wherein I/O operations that access the logical blocks preserve sidebar storage whenever the I/O operations overwrite the logical blocks.

Assignments (9)
RELEASE OF SECURITY INTEREST IN PATENTS PREVIOUSLY RECORDED AT REEL/FRAME (054475/0523) Recorded Jun 10, 2022
From: THE BANK OF NEW YORK MELLON TRUST COMPANY, N.A., AS NOTES COLLATERAL AGENT
To: EMC IP HOLDING COMPANY LLC; DELL PRODUCTS L.P.
Reel/Frame 060332/0664 →
RELEASE OF SECURITY INTEREST IN PATENTS PREVIOUSLY RECORDED AT REEL/FRAME (054475/0434) Recorded Jun 10, 2022
From: THE BANK OF NEW YORK MELLON TRUST COMPANY, N.A., AS NOTES COLLATERAL AGENT
To: EMC IP HOLDING COMPANY LLC; DELL PRODUCTS L.P.
Reel/Frame 060332/0740 →
RELEASE OF SECURITY INTEREST IN PATENTS PREVIOUSLY RECORDED AT REEL/FRAME (054475/0609) Recorded Jun 10, 2022
From: THE BANK OF NEW YORK MELLON TRUST COMPANY, N.A., AS NOTES COLLATERAL AGENT
To: EMC IP HOLDING COMPANY LLC; DELL PRODUCTS L.P.
Reel/Frame 062021/0570 →
RELEASE OF SECURITY INTEREST AT REEL 054591 FRAME 0471 Recorded Nov 2, 2021
From: CREDIT SUISSE AG, CAYMAN ISLANDS BRANCH
To: DELL PRODUCTS L.P.; EMC IP HOLDING COMPANY LLC
Reel/Frame 058001/0463 →
SECURITY INTEREST Recorded Nov 18, 2020
From: EMC IP HOLDING COMPANY LLC; DELL PRODUCTS L.P.
To: THE BANK OF NEW YORK MELLON TRUST COMPANY, N.A., AS COLLATERAL AGENT
Reel/Frame 054475/0609 →
SECURITY INTEREST Recorded Nov 18, 2020
From: EMC IP HOLDING COMPANY LLC; DELL PRODUCTS L.P.
To: THE BANK OF NEW YORK MELLON TRUST COMPANY, N.A., AS NOTES COLLATERAL AGENT
Reel/Frame 054475/0434 →
SECURITY INTEREST Recorded Nov 18, 2020
From: EMC IP HOLDING COMPANY LLC; DELL PRODUCTS L.P.
To: THE BANK OF NEW YORK MELLON TRUST COMPANY, N.A., AS NOTES COLLATERAL AGENT
Reel/Frame 054475/0523 →
SECURITY AGREEMENT Recorded Nov 13, 2020
From: EMC IP HOLDING COMPANY LLC; DELL PRODUCTS L.P.
To: CREDIT SUISSE AG, CAYMAN ISLANDS BRANCH
Reel/Frame 054591/0471 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Oct 29, 2020
From: LECRONE, DOUGLAS E.; O'HARE, JEREMY J.; LINSTEAD, PAUL A.
To: EMC IP HOLDING COMPANY LLC
Reel/Frame 054214/0920 →