PRE-ALLOCATION AND HIERARCHICAL MAPPING OF DATA BLOCKS DISTRIBUTED FROM A FIRST PROCESSOR TO A SECOND PROCESSOR FOR USE IN A FILE SYSTEM
First Claim
1. A method of operating a primary data processor and a secondary data processor for access to a file system in data storage, said method comprising:
- the primary data processor pre-allocating data blocks of the data storage to the file system before the pre-allocated data blocks are needed for extending the file system, and the secondary data processor using at least some of the pre-allocated data blocks for extending the file system, wherein said method further includes selecting an address mapping for said at least some of the pre-allocated blocks in order to reduce block scatter on disk and improve I/O performance.
9 Assignments
0 Petitions
Accused Products
Abstract
In a data processing system, a first processor pre-allocates data blocks for use in a file system at a later time when a second processor needs data blocks for extending the file system. The second processor selectively maps the logical addresses of the pre-allocated blocks so that when the pre-allocated blocks are used in the file system, the layout of the file system on disk is improved to avoid block scatter and enhance I/O performance. The selected mapping can be done at a program layer between a conventional file system manager and a conventional logical volume layer so that there is no need to modify the data block mapping mechanism of the file system manager or the logical volume layer. The data blocks can be pre-allocated adaptively in accordance with the allocation history of the file system.
-
Citations
20 Claims
-
1. A method of operating a primary data processor and a secondary data processor for access to a file system in data storage, said method comprising:
-
the primary data processor pre-allocating data blocks of the data storage to the file system before the pre-allocated data blocks are needed for extending the file system, and the secondary data processor using at least some of the pre-allocated data blocks for extending the file system, wherein said method further includes selecting an address mapping for said at least some of the pre-allocated blocks in order to reduce block scatter on disk and improve I/O performance. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8)
-
-
9. A method of operating a primary data processor and a secondary data processor for access to a file system in data storage, said method comprising:
-
the primary data processor pre-allocating data blocks of the data storage to the file system before the pre-allocated data blocks are needed by the secondary data processor for extending the file system, and the secondary data processor using at least some of the pre-allocated data blocks for extending the file system, wherein the primary data processor pre-allocates an initial chunk size of data blocks when the file system is created, and upon expiration of a release timeout duration from the pre-allocation of the initial chunk size, the secondary data processor releases to the primary data processor an excess of the pre-allocated data blocks over a release threshold. - View Dependent Claims (10, 11, 12, 13)
-
-
14. A data processing system comprising:
-
data storage;
a primary data processor programmed for pre-allocating data blocks of the data storage to a file system in the data storage before the pre-allocated data blocks are needed for extending the file system; and
a secondary data processor coupled to the data storage for access to the file system in the data storage and coupled to the primary data processor for obtaining a map of the data blocks pre-allocated to the file system;
wherein the data processing system is further programmed for selecting an address mapping of at least some of the pre-allocated data blocks in order to reduce block scatter on disk and improve I/O performance. - View Dependent Claims (15, 16, 17, 18, 19, 20)
-
Specification