IP Library › Granted Patent US 8,352,691
Granted Patent B2
US 8,352,691 · App. 12/857,735 · Granted Jan 8, 2013

Facilitation of simultaneous storage initialization and data destage

Assignee: International Business Machines Corporation
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 8,352,691
App. No.
12/857,735
Granted
Jan 8, 2013
Kind
B2
Abstract

Various embodiments for storage initialization and data destage in a computing storage environment are provided. At least a portion of data on a storage device is initialized using a background process, while one of simultaneously and subsequently destaging the at least the portion of the data to the storage device using a foreground process is performed. A persistent metadata bitmap, adapted to indicate whether the at least the portion of the data has been initialized, is staged to cache, the cache operable in the computing storage environment. The background process maintains a volatile bitmap indicating a status of the initialization of the at least the portion of the data in direct correspondence to the metadata bitmap. As the background process initializes the at least the portion of the data, an applicable bit on the persistent metadata bitmap is cleared and a corresponding bit is set on the volatile bitmap.

Claims (37)

1. A method for storage initialization and data destage in a computing storage environment by a processor device, comprising:

initializing at least a portion of storage on a storage device operable in the computing storage environment using a background process, while performing one of simultaneously and subsequently destaging at least a portion of data to the storage device using a foreground process, wherein:

a persistent metadata bitmap, adapted to indicate whether the at least the portion of the data has been initialized, is read to a memory structure operable in the computing storage environment, and

the background process maintains a volatile bitmap indicating a status of the initialization of the at least the portion of the data in direct correspondence to the persistent metadata bitmap, the volatile bitmap examined in conjunction with the read metadata bitmap to determine if a data collision has occurred, further wherein as the background process initializes the at least the portion of the data, an applicable bit on the read metadata bitmap is cleared and a corresponding bit is set on the volatile bitmap; further wherein:

previous to commencing destaging the at least the portion of the data, the value of the applicable bit on the read data bitmap is determined, and

if the bit in the read metadata bitmap is found to be clear, and the corresponding bit on the volatile bitmap is not set, a work queue lock is placed on the at least the portion of the data, and

if the bit in the read metadata bitmap is found to be clear, and the corresponding bit on the volatile bitmap is set, the background process is requested to perform an immediate destage of the metadata bitmap in the cache to the storage device.

2. The method of claim 1 , further including, previous to commencing the initializing the at least the portion of the data, performing at least one of placing a lock protection on the at least the portion of the data, and determining a value of the applicable bit on the read metadata bitmap.

3. The method of claim 2 , wherein:

if the at least the portion of the data to be initialized is determined not to be placed on a work queue, adding the at least the portion of the data to the work queue, and

subsequent to initializing the at least the portion of the data, removing the at least the portion of the data from the work queue.

4. The method of claim 1 , further including, subsequent to placing the work queue lock protection, if the at least the portion of the data is determined to not be hanging on the work queue, releasing the work queue lock.

5. A system for storage initialization and data destage in a computing storage environment, comprising:

a processor device operable in the computing storage environment, wherein the processor device is adapted for:

initializing at least a portion of storage on a storage device operable in the computing storage environment using a background process, while performing one of simultaneously and subsequently destaging at least a portion of data to the storage device using a foreground process, wherein:

a persistent metadata bitmap, adapted to indicate whether the at least the portion of the data has been initialized, is read to a memory structure operable in the computing storage environment, and

the background process maintains a volatile bitmap indicating a status of the initialization of the at least the portion of the data in direct correspondence to the persistent metadata bitmap, the volatile bitmap examined in conjunction with the read metadata bitmap to determine if a data collision has occurred, further wherein as the background process initializes the at least the portion of the data, an applicable bit on the read metadata bitmap is cleared and a corresponding bit is set on the volatile bitmap; further wherein:

previous to commencing destaging the at least the portion of the data, the value of the applicable bit on the read data bitmap is determined, and

if the bit in the read metadata bitmap is found to be clear, and the corresponding bit on the volatile bitmap is not set, a work queue lock is placed on the at least the portion of the data, and

if the bit in the read metadata bitmap is found to be clear, and the corresponding bit on the volatile bitmap is set, the background process is requested to perform an immediate destage of the metadata bitmap in the cache to the storage device.

6. The system of claim 5 , wherein the processor device is further adapted for, previous to commencing the initializing the at least the portion of the data, performing at least one of placing a lock protection on the at least the portion of the data, and determining a value of the applicable bit on the hardened metadata bitmap.

7. The system of claim 6 , wherein the processor device is further adapted for:

if the at least the portion of the data to be initialized is determined not to be placed on a work queue, adding the at least the portion of the data to the work queue, and

subsequent to initializing the at least the portion of the data, removing the at least the portion of the data from the work queue.

8. The system of claim 5 , wherein the processor device is further adapted for, subsequent to placing the work queue lock protection, if the at least the portion of the data is determined to not be hanging on the work queue, releasing the work queue lock.

9. A computer program product for storage initialization and data destage in a computing storage environment by a processor device, the computer program product comprising a non-transitory computer-readable storage medium having computer-readable program code portions stored therein, the computer-readable program code portions comprising:

a first executable portion for initializing at least a portion of storage on a storage device operable in the computing storage environment using a background process, while performing one of simultaneously and subsequently destaging at least a portion of data to the storage device using a foreground process, wherein:

a persistent metadata bitmap, adapted to indicate whether the at least the portion of the data has been initialized, is read to a memory structure operable in the computing storage environment, and

the background process maintains a volatile bitmap indicating a status of the initialization of the at least the portion of the data in direct correspondence to the persistent metadata bitmap, the volatile bitmap examined in conjunction with the read metadata bitmap to determine if a data collision has occurred, further wherein as the background process initializes the at least the portion of the data, an applicable bit on the read metadata bitmap is cleared and a corresponding bit is set on the volatile bitmap; further wherein:

previous to commencing destaging the at least the portion of the data, the value of the applicable bit on the read data bitmap is determined, and

if the bit in the read metadata bitmap is found to be clear, and the corresponding bit on the volatile bitmap is not set, a work queue lock is placed on the at least the portion of the data, and

if the bit in the read metadata bitmap is found to be clear, and the corresponding bit on the volatile bitmap is set, the background process is requested to perform an immediate destage of the metadata bitmap in the cache to the storage device.

10. The computer program product of claim 9 , further including a second executable portion for, previous to commencing the initializing the at least the portion of the data, performing at least one of placing a lock protection on the at least the portion of the data, and determining a value of the applicable bit on the read metadata bitmap.

11. The computer program product 10 , further including a third executable portion for:

if the at least the portion of the data to be initialized is determined not to be placed on a work queue, adding the at least the portion of the data to the work queue, and

subsequent to initializing the at least the portion of the data, removing the at least the portion of the data from the work queue.

12. The computer program product of claim 9 , further including a sixth executable portion for, subsequent to placing the work queue lock protection, if the at least the portion of the data is determined to not be hanging on the work queue, releasing the work queue lock.

Assignments (1)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Sep 9, 2010
From: GRUSY, ELLEN J.; KALOS, MATTHEW J.; LOVRIEN, KURT A.; SANCHEZ, MATTHEW
To: INTERNATIONAL BUSINESS MACHINES CORPORATION
Reel/Frame 024957/0850 →
Continuity (1)
Related Publication 20120047342A1 · Feb 23, 2012