Patent ID: 8738880

Claim:
A method for throttling storage initialization for data destage in a computing storage environment by a processor device, comprising at least one of: performing an implicit throttling operation by limiting at least one of a plurality of finite resources available to a background initialization process, the background initialization process adapted for performing the storage initialization ahead of a data destage request, wherein if a predefined percentage of the plurality of finite resources is utilized, the at least one of the plurality of finite resources is deferred to a foreground process that is triggered by the data destage request, the foreground process adapted to perform the storage initialization ahead of a data destage performed pursuant to the data destage request, wherein the implicit throttling operation further includes: limiting at least one of a plurality of associated storage devices concurrently being initialized on a single storage adapter, the plurality of associated storage devices including the at least one associated storage device, wherein the plurality of associated storage devices include a plurality of sectors, and limiting a total number of the plurality of associated storage devices concurrently being initialized; and performing an explicit throttling operation by examining a snapshot of storage activity occurring outside the background initialization process by performing each one of: subtracting base sectors written from a number of sectors written to obtain a write snapshot, wherein the number of sectors written are stored as new base sectors written, subtracting base sectors read from a number of sectors read to obtain a read snapshot, wherein the number of sectors read are stored as new base sectors read, adding the write snapshot to the read snapshot to render a combined snapshot, calculating a number of sectors written by the background initialization process from a number of strides initialized by the background initialization process, resetting the number of strides initialized by the background initialization process to zero, and subtracting the number of sectors that are cleaned by a background extent clean task from the combined snapshot, wherein the number of sectors that are cleaned are zeroed, and a resultant from the subtracting the number of sectors that are cleaned by the background extent clean task from the combined snapshot is stored to a foreground activity snapshot field for the examining the snapshot of storage activity occurring outside the background initialization process, wherein if the storage activity exceeds a predetermined level: the storage initialization if at least one of limited per a predetermined time to one of a predetermined number of portions of the storage and a predetermined size of the storage, and a delay is injected into the background initialization process.