IP Library › Granted Patent US 11,782,641
Granted Patent B2
US 11,782,641 · App. 17/342,767 · Granted Oct 10, 2023

Backend aware virtualized storage

Inventors: Grzegorz Piotr Szczepanik (Cracow, PL); Lukasz Jakub Palus (Cracow, PL); Kushal S. Patel (Pune, IN); Sarvesh S. Patel (Pune, IN)
Assignee: International Business Machines Corporation
G06F3/0659G06F3/0604G06F3/067G06F3/0644G06F3/0647G06F3/0652G06F3/0664
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,782,641
App. No.
17/342,767
Granted
Oct 10, 2023
Kind
B2
Abstract

A first backend housekeeping operation of a backend storage system is detected by a storage virtualization system. The first backend housekeeping operation is related to a first backend storage portion of the backend storage system. The storage virtualization system transfers data to the backend storage system for storage and retrieval. The storage virtualization system issues commands to the backend storage system. A first virtualized operation related to a first virtualized storage portion of the storage virtualization system is identified. A storage overhead condition is determined based on the first backend storage portion and based on the first virtualized operation. A storage corrective action is performed based on the storage overhead condition. The storage corrective action prevents the potential performance of one or more additional backend housekeeping operations.

Claims (56)

1. A method comprising:

detecting, by a storage virtualization system, a first backend housekeeping operation of a backend storage system,

wherein the first backend housekeeping operation is related to a first backend storage portion of the backend storage system,

wherein the storage virtualization system performs storage operations based on a plurality of logical data structures of one or more client systems,

wherein the storage virtualization system transfers data to the backend storage system for storage and retrieval, and

wherein the storage virtualization system issues commands to the backend storage system;

identifying a first virtualized operation of the storage virtualization system related to a first virtualized storage portion of the storage virtualization system that corresponds to the first backend storage portion of the backend storage system;

determining, based on the first backend storage portion and based on the first virtualized operation, a storage overhead condition; and

performing, based on the storage overhead condition, a storage corrective action that delays storage virtualization system operations that issue instructions related to the first backend storage portion so that no instructions related to the first backend storage portion are sent to the backend storage system during the delay, wherein the storage corrective action prevents potential performance of one or more additional backend housekeeping operations.

2. The method of claim 1 , wherein the first virtualized operation includes an internal housekeeping operation of the storage virtualization system.

3. The method of claim 2 , wherein the first virtualized operation is a tiering operation.

4. The method of claim 1 , wherein the first virtualized operation is an update from a first client of the one or more client systems, and wherein the method further comprises:

requesting, from the first client, a data deletion timeline of the update, wherein the update is related to the first virtualized storage portion.

5. The method of claim 4 further comprising:

requesting, from the backend storage system, a data deletion timeline of the first backend storage portion.

6. The method of claim 1 , wherein the backend storage system is a second storage virtualization system.

7. The method of claim 1 , wherein the backend storage system is a storage device.

8. The method of claim 1 , wherein the first virtualized storage portion is a logical extent of a first volume provided to a first client system of the one or more client systems, and wherein the first backend storage portion is a physical extent of the backend storage system.

9. The method of claim 1 , wherein the first backend housekeeping operation is a garbage collection operation related to the first backend storage portion.

10. The method of claim 9 , wherein the first virtualized operation is an unmap operation of the storage virtualization system, and wherein the storage corrective action includes not communicating the unmap operation to the backend storage system.

11. The method of claim 9 , wherein the first virtualized operation is a delete operation of the storage virtualization system.

12. The method of claim 11 , wherein the storage corrective action comprises:

cancelling a transmission of a delete command to the backend storage system, wherein the delete command corresponds to the delete operation.

13. The method of claim 1 , wherein the first backend housekeeping operation is a future backend housekeeping operation, and wherein the identification is identifying a queued command of a storage controller of the backend storage system.

14. The method of claim 1 , wherein the method further comprises:

determining, by the storage virtualization system, the first backend housekeeping operation has been performed by the backend storage system;

identifying an update to one or more second backend storage portions of the backend storage system, wherein the second backend storage portions correspond to one or more second virtualized storage portions of the storage virtualization system; and

updating a pointer in the storage virtualization system, wherein the pointer corresponds to the one or more second virtualized storage portions.

15. A storage virtualization system, the system comprising:

a memory, the memory containing one or more instructions; and

a processor, the processor communicatively coupled to the memory, the processor, in response to reading the one or more instructions, configured to:

detect a first backend housekeeping operation of a backend storage system,

wherein the first backend housekeeping operation is related to a first backend storage portion of the backend storage system,

wherein the storage virtualization system performs storage operations based on a plurality logical of data structures of one or more client systems,

wherein the storage virtualization system transfers data to the backend storage system for storage and retrieval, and

wherein the storage virtualization system issues commands to the backend storage system;

identify a first virtualized operation of the storage virtualization system related to a first virtualized storage portion of the storage virtualization system that corresponds to the first backend storage portion of the backend storage system;

determine, based on the first backend storage portion and based on the first virtualized operation, a storage overhead condition; and

perform, based on the storage overhead condition, a storage corrective action that delays storage virtualization system operations that issue instructions related to the first backend storage portion so that no instructions related to the first backend storage portion are sent to the backend storage system during the delay, wherein the storage corrective action prevents potential performance of one or more additional backend housekeeping operations.

16. The system of claim 15 , wherein the first virtualized operation includes an internal housekeeping operation of the storage virtualization system.

17. The system of claim 15 , wherein the first virtualized operation is an update from a first client of the one or more client systems, and wherein the processor is further configured to:

requesting, from the first client, a data deletion timeline of the update, wherein the update is related to the first virtualized storage portion.

18. A computer program product, the computer program product comprising:

one or more computer readable storage media; and

program instructions collectively stored on the one or more computer readable storage media, the program instructions configured to:

detect, by a storage virtualization system, a first backend housekeeping operation of a backend storage system,

wherein the first backend housekeeping operation is related to a first backend storage portion of the backend storage system,

wherein the storage virtualization system performs storage operations based on a plurality of logical data structures of one or more client systems,

wherein the storage virtualization system transfers data to the backend storage system for storage and retrieval, and

wherein the storage virtualization system issues commands to the backend storage system;

identify a first virtualized operation of the storage virtualization system related to a first virtualized storage portion of the storage virtualization system that corresponds to the first backend storage portion of the backend storage system;

determine, based on the first backend storage portion and based on the first virtualized operation, a storage overhead condition; and

perform, based on the storage overhead condition, a storage corrective action that delays storage virtualization system operations that issue instructions related to the first backend storage portion so that no instructions related to the first backend storage portion are sent to the backend storage system during the delay, wherein the storage corrective action prevents potential performance of one or more additional backend housekeeping operations.

19. The computer program product of claim 18 , wherein the first virtualized operation includes an internal housekeeping operation of the storage virtualization system.

20. The computer program product of claim 18 , wherein the first virtualized operation is an update from a first client of the one or more client systems, and wherein the program instructions are further configured to:

requesting, from the first client, a data deletion timeline of the update, wherein the update is related to the first virtualized storage portion.

Assignments (1)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jun 9, 2021
From: SZCZEPANIK, GRZEGORZ PIOTR; PALUS, LUKASZ JAKUB; PATEL, KUSHAL S.; PATEL, SARVESH S.
To: INTERNATIONAL BUSINESS MACHINES CORPORATION
Reel/Frame 056484/0322 →
Continuity (1)
Related Publication 20220398033A1 · Dec 15, 2022
Cited By (1)
US 12,650,784