Legal claims defining the scope of protection, as filed with the USPTO.
1. A method of handling metadata page updates in a clustered system, the clustered system including a storage node communicably connected to a storage array, the method comprising: during performance of a transaction commit operation by the storage node: writing, in association with a unique transaction identifier (ID), one or more bulk metadata pages to a transactional buffer area of a persistent memory; writing, in association with the unique transaction ID, raw delta updates to metadata pages to a metadata delta log in the persistent memory; and updating the raw delta updates to metadata pages in a volatile memory structure; and during performance of a recovery operation by the storage node: determining whether the unique transaction ID associated with the transactional buffer area is persisted in the metadata delta log; and having determined that the unique transaction ID associated with the transactional buffer area is persisted in the metadata delta log, flushing the bulk metadata pages from the transactional buffer area directly to a metadata page store of the storage array in a manner that bypasses the metadata delta log, thereby recovering the metadata page store to a consistent state.
2. The method of claim 1 further comprising: writing, for each bulk metadata page and in association with the unique transaction ID, a specialized flag to the metadata delta log in the persistent memory, the specialized flag providing an indication that all delta updates that have occurred previous to the writing of the bulk metadata page to the transactional buffer area are to be dropped.
3. The method of claim 1 wherein the transactional buffer area has an associated header, and wherein the method further comprises: writing at least the unique transaction ID to the header of the transactional buffer area, the unique transaction ID corresponding to the transaction commit operation.
4. The method of claim 1 wherein the metadata delta log includes a plurality of transaction commit entries, wherein the raw delta updates are contained in a respective transaction commit entry from among the plurality of transaction commit entries, wherein the respective transaction commit entry has an associated header, and wherein the method further comprises: writing at least the unique transaction ID to the header of the respective transaction commit entry.
5. The method of claim 1 further comprising: replaying the metadata delta log to apply delta updates written thereto to the volatile memory structure, thereby recovering the volatile memory structure to a consistent state.
6. A storage node in a clustered system, the storage node comprising: a volatile memory; a persistent memory; a program memory; and processing circuitry configured to execute program instructions out of the program memory to: during performance of a transaction commit operation: write, in association with a unique transaction identifier (ID), one or more bulk metadata pages to a transactional buffer area of a persistent memory; write, in association with the unique transaction ID, raw delta updates to metadata pages to a metadata delta log in the persistent memory; and update the raw delta updates to metadata pages in a volatile memory structure; and during performance of a recovery operation by the storage node, determine whether the unique transaction ID associated with the transactional buffer area is persisted in the metadata delta log; and having determined that the unique transaction ID associated with the transactional buffer area is persisted in the metadata delta log, flush the bulk metadata pages from the transactional buffer area directly to a metadata page store of a storage array in a manner that bypasses the metadata delta log, thereby recovering the metadata page store to a consistent state.
7. The storage node of claim 6 further comprising: wherein the processing circuitry is further configured to execute the program instructions out of the program memory to write, for each bulk metadata page and in association with the unique transaction ID, a specialized flag to the metadata delta log in the persistent memory, the specialized flag providing an indication that all delta updates that have occurred previous to the writing of the bulk metadata page to the transactional buffer area are to be dropped.
8. The storage node of claim 6 wherein the transactional buffer area has an associated header, and wherein the processing circuitry is further configured to execute the program instructions out of the program memory to write at least the unique transaction ID to the header of the transactional buffer area, the unique transaction ID corresponding to the transaction commit operation.
9. The storage node of claim 6 wherein the metadata delta log includes a plurality of transaction commit entries, wherein the raw delta updates are contained in a respective transaction commit entry from among the plurality of transaction commit entries, wherein the respective transaction commit entry has an associated header, and wherein the processing circuitry is further configured to execute the program instructions out of the program memory to write at least the unique transaction ID to the header of the respective transaction commit entry.
10. The storage node of claim 6 wherein the processing circuitry is further configured to execute the program instructions out of the program memory to: replay the metadata delta log to apply delta updates written thereto to the volatile memory structure, thereby recovering the volatile memory structure to a consistent state.
11. A computer program product including a set of non-transitory, computer-readable media having instructions that, when executed by processing circuitry of a storage node in a clustered system, cause the processing circuitry to perform a method comprising: during performance of a transaction commit operation by the storage node: writing, in association with a unique transaction identifier (ID), one or more bulk metadata pages to a transactional buffer area of a persistent memory; writing, in association with the unique transaction ID, raw delta updates to metadata pages to a metadata delta log in the persistent memory; and updating the raw delta updates to metadata pages in a volatile memory structure; and during performance of a recovery operation by the storage node: determining whether the unique transaction ID associated with the transactional buffer area is persisted in the metadata delta log; and having determined that the unique transaction ID associated with the transactional buffer area is persisted in the metadata delta log, flushing the bulk metadata pages from the transactional buffer area directly to a metadata page store of a storage array in a manner that bypasses the metadata delta log, thereby recovering the metadata page store to a consistent state.
12. The computer program product of claim 11 wherein the method further comprises: writing, for each bulk metadata page and in association with the unique transaction ID, a specialized flag to the metadata delta log in the persistent memory, the specialized flag providing an indication that all delta updates that have occurred previous to the writing of the bulk metadata page to the transactional buffer area are to be dropped.
13. The computer program product of claim 11 wherein the transactional buffer area has an associated header, and wherein the method further comprises: writing at least the unique transaction ID to the header of the transactional buffer area, the unique transaction ID corresponding to the transaction commit operation.
14. The computer program product of claim 11 wherein the metadata delta log includes a plurality of transaction commit entries, wherein the raw delta updates are contained in a respective transaction commit entry from among the plurality of transaction commit entries, wherein the respective transaction commit entry has an associated header, and wherein the method further comprises: writing at least the unique transaction ID to the header of the respective transaction commit entry.
15. The computer program product of claim 11 wherein the method further comprises: replaying the metadata delta log to apply delta updates written thereto to the volatile memory structure, thereby recovering the volatile memory structure to a consistent state.
Unknown
May 31, 2022
Browse 5M+ US patents with plain-English claim translations and AI-generated analysis.