IP Library Granted Patent US 11,467,735
Granted Patent B2
US 11,467,735 · App. 17/108,068 · Granted Oct 11, 2022

I/O operations in log structured arrays

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/0611G06F3/065G06F3/0659G06F3/0665G06F3/0673
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,467,735
App. No.
17/108,068
Granted
Oct 11, 2022
Kind
B2
Abstract

A method, system, and computer program product for managing input/output (I/O) operations in log structured arrays (LSA) is provided. The method receives a write request for a storage volume. The write request including a set of data. The method determines the set of data for a target extent of the storage volume is not copied to a target location based on a target map for a flash copy volume. An LSA is instructed to perform an internal copy-on-write (COW) for the set of data during a next IO operation for the storage volume. Based on the internal COW instruction, the method moves an internal pointer of the target location from a virtual volume to the flash copy volume.

Claims (58)

1. A computer-implemented method, comprising:

receiving, by a storage controller, a write request for a storage volume, the write request including a set of data;

determining the set of data for a target extent of the storage volume is not copied to a target location based on a target map for a flash copy volume;

instructing a log structured array (LSA) to perform an internal copy-on-write (COW) for the set of data during a next input/output (I/O) operation for the storage volume;

based on the internal COW instruction, moving a first internal pointer of the target location from a virtual volume to the flash copy volume; and

generating a second internal pointer for the set of data from the virtual volume to a bitmap for the storage volume.

2. The method of claim 1 , further comprising:

in response to the moving of the internal pointer, updating a bitmap for the LSA.

3. The method of claim 1 , further comprising:

determining a COW status on the storage volume targeted by the write request.

4. The method of claim 1 , further comprising:

detecting the virtual volume for the storage volume; and

detecting the flash copy volume for the storage volume.

5. The method of claim 4 , further comprising:

overwriting the set of data to the virtual volume, the set of data replacing a set of prior values within the virtual volume.

6. The method of claim 5 , the method further comprising:

generating the second internal pointer for the set of data within the virtual volume to a location in a physical volume logical block address (LBA) map for the storage volume.

7. The method of claim 6 , further comprising:

based on moving the first internal pointer and generating the second internal pointer, triggering a bitmap update for the physical volume LBA map at the LSA.

8. A system, comprising:

one or more processors; and

a computer-readable storage medium, coupled to the one or more processors, storing program instructions that, when executed by the one or more processors, cause the one or more processors to perform operations comprising:

receiving, by a storage controller, a write request for a storage volume, the write request including a set of data;

determining the set of data for a target extent of the storage volume is not copied to a target location based on a target map for a flash copy volume;

instructing a log structured array (LSA) to perform an internal copy-on-write (COW) for the set of data during a next input/output (I/O) operation for the storage volume;

based on the internal COW instruction, moving a first internal pointer of the target location from a virtual volume to the flash copy volume; and

generating a second internal pointer for the set of data from the virtual volume to a bitmap for the storage volume.

9. The system of claim 8 , wherein the operations further comprise:

in response to the moving of the internal pointer, updating a bitmap for the LSA.

10. The system of claim 8 , wherein the operations further comprise:

determining a COW status on the storage volume targeted by the write request.

11. The system of claim 8 , wherein the operations further comprise:

detecting the virtual volume for the storage volume; and

detecting the flash copy volume for the storage volume.

12. The system of claim 11 , wherein the operations further comprise:

overwriting the set of data to the virtual volume, the set of data replacing a set of prior values within the virtual volume.

13. The system of claim 12 , the operations further comprising:

generating the second internal pointer for the set of data within the virtual volume to a location in a physical volume logical block address (LBA) map for the storage volume.

14. The system of claim 13 , wherein the operations further comprise:

based on moving the first internal pointer and generating the second internal pointer, triggering a bitmap update for the physical volume LBA map at the LSA.

15. A computer program product comprising a computer readable storage medium having program instructions embodied therewith, the program instructions being executable by one or more processors to cause the one or more processors to perform operations comprising:

receiving, by a storage controller, a write request for a storage volume, the write request including a set of data;

determining the set of data for a target extent of the storage volume is not copied to a target location based on a target map for a flash copy volume;

instructing a log structured array (LSA) to perform an internal copy-on-write (COW) for the set of data during a next input/output (I/O) operation for the storage volume;

based on the internal COW instruction, moving a first internal pointer of the target location from a virtual volume to the flash copy volume; and

generating a second internal pointer for the set of data from the virtual volume to a bitmap for the storage volume.

16. The computer program product of claim 15 , wherein the operations further comprise:

in response to the moving of the internal pointer, updating a bitmap for the LSA.

17. The computer program product of claim 15 , wherein the operations further comprise:

determining a COW status on the storage volume targeted by the write request.

18. The computer program product of claim 15 , wherein the operations further comprise:

detecting the virtual volume for the storage volume; and

detecting the flash copy volume for the storage volume.

19. The computer program product of claim 18 , wherein the operations further comprise:

overwriting the set of data to the virtual volume, the set of data replacing a set of prior values within the virtual volume.

20. The computer program product of claim 19 , the operations further comprising:

generating the second internal pointer for the set of data within the virtual volume to a location in a physical volume logical block address (LBA) map for the storage volume; and

based on moving the first internal pointer and generating the second internal pointer, triggering a bitmap update for the physical volume LBA map at the LSA.

Assignments (1)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Dec 1, 2020
From: SZCZEPANIK, GRZEGORZ PIOTR; PALUS, LUKASZ JAKUB; PATEL, KUSHAL S.; PATEL, SARVESH S.
To: INTERNATIONAL BUSINESS MACHINES CORPORATION
Reel/Frame 054500/0022 →
Continuity (1)
Related Publication 20220171537A1 · Jun 2, 2022