Method for improving disk space allocation
First Claim
1. A method for allocating storage space comprising:
- (a) maintaining a list of available runs of blocks of persistent memory in a primary data structure;
(b) categorizing said runs of blocks in said primary data structure according to length; and
(c) coordinating allocation of said categorized runs of blocks between said primary data structure and a thread.
1 Assignment
0 Petitions
Accused Products
Abstract
A method and system for allocating blocks of disk in persistent storage to requesting threads. A primary data structure is provided for organizing and categorizing blocks of disk space. In addition, a secondary data structure is provided for maintaining a list of all active file system processes and blocks of disk space used by those processes. Blocks of disk space are assigned to pages. At such time as a thread may request allocation of disk space, both data structures are reviewed to determine if the requested disk space is available and to limit access of available disk space to a single page of memory to a single thread at any one time.
41 Citations
21 Claims
-
1. A method for allocating storage space comprising:
-
(a) maintaining a list of available runs of blocks of persistent memory in a primary data structure;
(b) categorizing said runs of blocks in said primary data structure according to length; and
(c) coordinating allocation of said categorized runs of blocks between said primary data structure and a thread. - View Dependent Claims (2, 3, 4, 5, 6, 7)
-
-
8. A computer system comprising:
-
a primary data structure adapted to maintain a list of available runs of blocks of persistent memory;
a manager adapted to categorize said runs of blocks according to length; and
a coordinator adapted to allocate said categorized blocks between said primary data structure and a thread. - View Dependent Claims (9, 10, 11, 12, 13, 14)
-
-
15. An article comprising:
-
a computer-readable signal-bearing medium;
means in the medium for maintaining a list of available runs of blocks of persistent memory;
means in the medium for categorizing said runs of blocks in said primary data structure; and
means in the medium for coordinating allocation of said categorized blocks between said primary data structure and a thread. - View Dependent Claims (16, 17, 18, 19, 20)
-
-
21. A method for allocating storage space comprising:
-
(a) maintaining a list of available runs of blocks of persistent memory in a primary data structure;
(b) categorizing said runs of blocks in said primary data structure according to length;
(c) coordinating allocation of said categorized runs of blocks between said primary data structure and a thread; and
(d) maintaining a secondary data structure in communication with said primary data structure, wherein said secondary data structure includes a list of all active file system processes and blocks used by said processes.
-
Specification