US2025291779A1PendingUtilityA1

Metadata page allocation by storing a portion of a bitmap of metadata pages in memory

Assignee: DELL PRODUCTS LPPriority: Mar 14, 2024Filed: Mar 14, 2024Published: Sep 18, 2025
Est. expiryMar 14, 2044(~17.6 yrs left)· nominal 20-yr term from priority
G06F 3/0644G06F 3/064G06F 3/067G06F 3/0608G06F 16/2237
51
PatentIndex Score
0
Cited by
0
References
0
Claims

Abstract

Techniques are provided for metadata page allocation by storing a portion of a bitmap of metadata pages in memory. One method comprises obtaining a request to allocate metadata pages of a metadata storage volume; identifying at least one bit, corresponding to an unallocated metadata page, in a given chunk of a bitmap of metadata pages associated with the metadata storage volume, wherein the given chunk of the bitmap is stored in memory and comprises a portion of the bitmap; updating a bit value of the identified at least one bit to indicate the allocation of the metadata pages of the metadata storage volume; and initiating an allocation of the metadata pages. The bitmap may be allocated to a designated size, and each bit of the bitmap may indicate whether a corresponding metadata page of the metadata storage volume is allocated or unallocated.

Claims

exact text as granted — not AI-modified
1 . A method, comprising:
 obtaining a request to allocate one or more metadata pages of at least one metadata storage volume, wherein the at least one metadata storage volume is distinct from at least one data storage volume, wherein the at least one data storage volume stores data and wherein the at least one metadata storage volume stores metadata corresponding to the data;   identifying at least one bit, corresponding to an unallocated metadata page, in a given chunk of a bitmap of metadata pages associated with the at least one metadata storage volume, wherein the given chunk of the bitmap is stored in memory and comprises a portion of the bitmap, wherein each bit of the bitmap indicates whether a corresponding metadata page of the at least one metadata storage volume is allocated or unallocated;   updating a bit value of the identified at least one bit to indicate the allocation of the one or more metadata pages of the at least one metadata storage volume; and   initiating an allocation of the one or more metadata pages;   wherein the method is performed by at least one processing device comprising a processor coupled to a memory.   
     
     
         2 . The method of  claim 1 , wherein the bitmap is allocated to a designated size. 
     
     
         3 . The method of  claim 1 , further comprising loading a new chunk of the bitmap having a designated number of bits corresponding to unallocated metadata pages in response to the number of unallocated metadata pages of the given chunk falling below a first designated threshold. 
     
     
         4 . The method of  claim 3 , further comprising demoting the given chunk in response to the number of unallocated metadata pages of the given chunk falling below a second designated threshold. 
     
     
         5 . The method of  claim 1 , further comprising obtaining a request to deallocate one or more metadata pages of the at least one metadata storage volume; determining whether a particular chunk of the bitmap corresponding to the deallocated one or more metadata pages is stored in memory; and performing one or more of: (i) in response to the particular chunk being in memory: updating one or more bits of the bitmap corresponding to the deallocated one or more metadata pages, incrementing a counter of a number of unallocated metadata pages in the particular chunk and updating a data structure in memory comprising a list of unallocated metadata pages; and (ii) in response to the particular chunk not being in memory: incrementing the counter of the number of unallocated metadata pages in the particular chunk corresponding to the deallocated one or more metadata pages, and updating the data structure in memory comprising the list of unallocated metadata pages. 
     
     
         6 . The method of  claim 5 , further comprising, in response to the data structure comprising the list of unallocated metadata pages exceeding a designated amount of storage space, for each unallocated metadata page listed in the data structure: storing a corresponding chunk of the bitmap in memory and updating a bit of the corresponding chunk of the bitmap corresponding to the respective listed unallocated metadata page. 
     
     
         7 . The method of  claim 6 , further comprising storing the updated bitmap in a persistent storage device and deallocating the data structure comprising the list of unallocated metadata pages. 
     
     
         8 . The method of  claim 1 , further comprising decrementing a counter of a number of unallocated metadata pages in the given chunk. 
     
     
         9 . The method of  claim 1 , further comprising, in response to a number of allocated metadata pages of the at least one metadata storage volume exceeding a designated threshold, expanding a number of metadata pages of the at least one metadata storage volume and a size of the bitmap. 
     
     
         10 . An apparatus comprising:
 at least one processing device comprising a processor coupled to a memory;   the at least one processing device being configured to implement the following steps:   obtaining a request to allocate one or more metadata pages of at least one metadata storage volume, wherein the at least one metadata storage volume is distinct from at least one data storage volume, wherein the at least one data storage volume stores data and wherein the at least one metadata storage volume stores metadata corresponding to the data;   identifying at least one bit, corresponding to an unallocated metadata page, in a given chunk of a bitmap of metadata pages associated with the at least one metadata storage volume, wherein the given chunk of the bitmap is stored in memory and comprises a portion of the bitmap, wherein each bit of the bitmap indicates whether a corresponding metadata page of the at least one metadata storage volume is allocated or unallocated;   updating a bit value of the identified at least one bit to indicate the allocation of the one or more metadata pages of the at least one metadata storage volume; and   initiating an allocation of the one or more metadata pages.   
     
     
         11 . The apparatus of  claim 10 , wherein the bitmap is allocated to a designated size. 
     
     
         12 . The apparatus of  claim 10 , further comprising loading a new chunk of the bitmap having a designated number of bits corresponding to unallocated metadata pages in response to the number of unallocated metadata pages of the given chunk falling below a first designated threshold, and demoting the given chunk in response to the number of unallocated metadata pages of the given chunk falling below a second designated threshold. 
     
     
         13 . The apparatus of  claim 10 , further comprising obtaining a request to deallocate one or more metadata pages of the at least one metadata storage volume; determining whether a particular chunk of the bitmap corresponding to the deallocated one or more metadata pages is stored in memory; and performing one or more of: (i) in response to the particular chunk being in memory: updating one or more bits of the bitmap corresponding to the deallocated one or more metadata pages, incrementing a counter of a number of unallocated metadata pages in the particular chunk and updating a data structure in memory comprising a list of unallocated metadata pages; and (ii) in response to the particular chunk not being in memory: incrementing the counter of the number of unallocated metadata pages in the particular chunk corresponding to the deallocated one or more metadata pages, and updating the data structure in memory comprising the list of unallocated metadata pages. 
     
     
         14 . The apparatus of  claim 13 , further comprising, in response to the data structure comprising the list of unallocated metadata pages exceeding a designated amount of storage space, for each unallocated metadata page listed in the data structure: storing a corresponding chunk of the bitmap in memory and updating a bit of the corresponding chunk of the bitmap corresponding to the respective listed unallocated metadata page. 
     
     
         15 . The apparatus of  claim 10 , further comprising, in response to a number of allocated metadata pages of the at least one metadata storage volume exceeding a designated threshold, expanding a number of metadata pages of the at least one metadata storage volume and a size of the bitmap. 
     
     
         16 . A non-transitory processor-readable storage medium having stored therein program code of one or more software programs, wherein the program code when executed by at least one processing device causes the at least one processing device to perform the following steps:
 obtaining a request to allocate one or more metadata pages of at least one metadata storage volume, wherein the at least one metadata storage volume is distinct from at least one data storage volume, wherein the at least one data storage volume stores data and wherein the at least one metadata storage volume stores metadata corresponding to the data;   identifying at least one bit, corresponding to an unallocated metadata page, in a given chunk of a bitmap of metadata pages associated with the at least one metadata storage volume, wherein the given chunk of the bitmap is stored in memory and comprises a portion of the bitmap, wherein each bit of the bitmap indicates whether a corresponding metadata page of the at least one metadata storage volume is allocated or unallocated;   updating a bit value of the identified at least one bit to indicate the allocation of the one or more metadata pages of the at least one metadata storage volume; and   initiating an allocation of the one or more metadata pages.   
     
     
         17 . The non-transitory processor-readable storage medium of  claim 16 , wherein the bitmap is allocated to a designated size. 
     
     
         18 . The non-transitory processor-readable storage medium of  claim 16 , further comprising loading a new chunk of the bitmap having a designated number of bits corresponding to unallocated metadata pages in response to the number of unallocated metadata pages of the given chunk falling below a first designated threshold, and demoting the given chunk in response to the number of unallocated metadata pages of the given chunk falling below a second designated threshold. 
     
     
         19 . The non-transitory processor-readable storage medium of  claim 16 , further comprising obtaining a request to deallocate one or more metadata pages of the at least one metadata storage volume; determining whether a particular chunk of the bitmap corresponding to the deallocated one or more metadata pages is stored in memory; and performing one or more of: (i) in response to the particular chunk being in memory: updating one or more bits of the bitmap corresponding to the deallocated one or more metadata pages, incrementing a counter of a number of unallocated metadata pages in the particular chunk and updating a data structure in memory comprising a list of unallocated metadata pages; and (ii) in response to the particular chunk not being in memory: incrementing the counter of the number of unallocated metadata pages in the particular chunk corresponding to the deallocated one or more metadata pages, and updating the data structure in memory comprising the list of unallocated metadata pages. 
     
     
         20 . The non-transitory processor-readable storage medium of  claim 16 , further comprising, in response to a number of allocated metadata pages of the at least one metadata storage volume exceeding a designated threshold, expanding a number of metadata pages of the at least one metadata storage volume and a size of the bitmap.

Join the waitlist — get patent alerts

Track US2025291779A1 — get alerts on status changes and closely related new filings.

We store only your email — no account needed. See our privacy policy.