Using parallelism for clear status track processing during error handling behavior in a storage system
AssigneeInternational Business Machines Corporation
InventorsAngelique Budaya, Aaron Mahar, James Springer
Life of this patent
Estimating the term…
Abstract
Tracks of meta data are cleared in a storage server by allocating task control blocks for executing associated tasks in parallel. Throttling and recycling of task control blocks is provided to efficiently use memory and processing resources. Under the control of a master task, task control blocks are allocated to different hierarchical levels of storage resources in the storage server, such as a logical subsystem level and a subordinate volume level. The task control blocks are not deallocated from memory until there are no further tasks to process.
Claims24
A method for clearing meta data in a data storage system, comprising:
- determining a number N of task control blocks to be used for implementing a plurality of tasks for clearing the meta data;
- wherein the meta data is provided in tracks that are associated with the storage resources, and the storage resources are arranged in a hierarchy including at least a first level and a lower second level;
- and
- implementing the tasks by allocating a first subset of the N task control blocks, comprising a first plurality of the task control blocks, for first tasks for clearing first tracks of the meta data that are associated with the first level, and allocating a second subset of the N task control blocks, comprising a second plurality of the task control blocks, for second tasks for clearing second tracks of the meta data that are associated with the second level.
A data storage system, comprising:
- a memory resource for storing software instructions;
- and
- a processing resource associated with the memory for executing the software instructions for:
- determining a number N of task control blocks to be used for implementing a plurality of tasks for clearing the meta data;
- wherein the meta data is provided in tracks that are associated with the storage resources, and the storage resources are arranged in a hierarchy including at least a first level and a lower second level;
- and
- implementing the tasks by allocating a first subset of the N task control blocks, comprising a first plurality of the task control blocks, for first tasks for clearing first tracks of the meta data that are associated with the first level, and allocating a second subset of the N task control blocks, comprising a second plurality of the task control blocks, for second tasks for clearing second tracks of the meta data that are associated with the second level.
A program storage device, tangibly embodying a program of instructions executable by a processing resource in a data storage system to perform a method for clearing meta data in the data storage system, the method comprising:
- determining a number N of task control blocks to be used for implementing a plurality of tasks for clearing the meta data;
- wherein the meta data is provided in tracks that are associated with the storage resources, and the storage resources are arranged in a hierarchy including at least a first level and a lower second level;
- and
- implementing the tasks by allocating a first subset of the N task control blocks, comprising a first plurality of the task control blocks, for first tasks for clearing first tracks of the meta data that are associated with the first level, and allocating a second subset of the N task control blocks, comprising a second plurality of the task control blocks, for second tasks for clearing second tracks of the meta data that are associated with the second level.
A method for clearing meta data in a data storage system, comprising:
- allocating task control blocks in a memory resource in the data storage system for implementing a first plurality of tasks for clearing the meta data in a second plurality of meta data tracks;
- wherein the first plurality is less than the second plurality, and the second plurality of meta data tracks are associated with a plurality of different hierarchical levels of storage resources in the data storage system;
- implementing throttling and recycling of the task control blocks at the different hierarchical levels to implement the first plurality of tasks.
A data storage system, comprising:
- a memory resource for storing software instructions;
- and
- a processing resource associated with the memory for executing the software instructions for:
- allocating task control blocks in a memory resource in the data storage system for implementing a first plurality of tasks for clearing the meta data in a second plurality of meta data tracks;
- wherein the first plurality is less than the second plurality, and the second plurality of meta data tracks are associated with a plurality of different hierarchical levels of storage resources in the data storage system;
- implementing throttling and recycling of the task control blocks at the different hierarchical levels to implement the first plurality of tasks.
A program storage device, tangibly embodying a program of instructions executable by a processing resource in a data storage system to perform a method for clearing meta data in the data storage system, the method comprising:
- allocating task control blocks in a memory resource in the data storage system for implementing a first plurality of tasks for clearing the meta data in a second plurality of meta data tracks;
- wherein the first plurality is less than the second plurality, and the second plurality of meta data tracks are associated with a plurality of different hierarchical levels of storage resources in the data storage system;
- implementing throttling and recycling of the task control blocks at the different hierarchical levels to implement the first plurality of tasks.
A method for clearing meta data in a data storage system, comprising:
- determining a number N of task control blocks to be used for implementing a plurality of tasks for clearing the meta data;
- wherein the meta data is provided in tracks that are associated with the storage resources, and the storage resources are arranged in a hierarchy including at least a first level and a lower second level;
- and
- implementing the tasks by allocating a first subset of the N task control blocks, comprising a first plurality of the task control blocks, for first tasks for clearing first tracks of the meta data that are associated with the first level, and allocating a second subset of the N task control blocks, comprising a second plurality of the task control blocks, for second tasks for clearing second tracks of the meta data that are associated with the second level;
- allocating at least a first additional one of the N task control blocks for implementing a first master task for coordinating the allocating of the first subset of the N task control blocks, and reusing of the first task control blocks as initial ones of the first tasks are completed to implement subsequent ones of the first tasks;
- and
- allocating at least a second additional one of the N task control blocks for implementing a second master task for coordinating the allocating of the second subset of the N task control blocks, and reusing of the second task control blocks as initial ones of the second tasks are completed to implement subsequent ones of the second tasks.
A data storage system, comprising:
- a memory resource for storing software instructions;
- and
- a processing resource associated with the memory for executing the software instructions for:
- determining a number N of task control blocks to be used for implementing a plurality of tasks for clearing the meta data;
- wherein the meta data is provided in tracks that are associated with the storage resources, and the storage resources are arranged in a hierarchy including at least a first level and a lower second level;
- and
- implementing the tasks by allocating a first subset of the N task control blocks, comprising a first plurality of the task control blocks, for first tasks for clearing first tracks of the meta data that are associated with the first level, and allocating a second subset of the N task control blocks, comprising a second plurality of the task control blocks, for second tasks for clearing second tracks of the meta data that are associated with the second level;
- allocating at least a first additional one of the N task control blocks for implementing a first master task for coordinating the allocating of the first subset of the N task control blocks, and reusing of the first task control blocks as initial ones of the first tasks are completed to implement subsequent ones of the first tasks;
- and
- allocating at least a second additional one of the N task control blocks for implementing a second master task for coordinating the allocating of the second subset of the N task control blocks, and reusing of the second task control blocks as initial ones of the second tasks are completed to implement subsequent ones of the second tasks.
A program storage device, tangibly embodying a program of instructions executable by a processing resource in a data storage system to perform a method for clearing meta data in the data storage system, the method comprising:
- determining a number N of task control blocks to be used for implementing a plurality of tasks for clearing the meta data;
- wherein the meta data is provided in tracks that are associated with the storage resources, and the storage resources are arranged in a hierarchy including at least a first level and a lower second level;
- and
- implementing the tasks by allocating a first subset of the N task control blocks, comprising a first plurality of the task control blocks, for first tasks for clearing first tracks of the meta data that are associated with the first level, and allocating a second subset of the N task control blocks, comprising a second plurality of the task control blocks, for second tasks for clearing second tracks of the meta data that are associated with the second level;
- allocating at least a first additional one of the N task control blocks for implementing a first master task for coordinating the allocating of the first subset of the N task control blocks, and reusing of the first task control blocks as initial ones of the first tasks are completed to implement subsequent ones of the first tasks;
- and
- allocating at least a second additional one of the N task control blocks for implementing a second master task for coordinating the allocating of the second subset of the N task control blocks, and reusing of the second task control blocks as initial ones of the second tasks are completed to implement subsequent ones of the second tasks.
Dependencies are inferred from the claim text.