In this example, the NAM also includes metadata 1412. In some embodiments, the metadata includes page state data used to keep track of which pages are in what state. In some embodiments, the page state data indicates the type of the page (e.g., secondary). In some embodiments, the NAM includes metadata that indicates the state of the page on various nodes throughout the TidalPod. For example, the state of the copy of the page on the NAM is typically a secondary. Copies of the page on other nodes may be secondary, prime, or exclusive. This information can be used, for example, when performing a recovery in a fail over scenario, to restore the state of the TidalPod (e.g., to indicate that a copy of the page on a first node in the TidalPod should be marked as primary (also referred to herein as “prime”), while another copy of the page on a second node should be marked as secondary).
In some embodiments, all pages of the NAM are initially invalid (e.g., on startup of a TidalPod). When a page is written into on a node, a copy of the page is sent to the NAM according to a page/cache coherency protocol described in further detail below. Thus, over time, as pages are created and written on the TidalPod, the NAM maintains a recent copy of all those pages that are created and written (e.g., a copy of the dynamic memory).