Each node lives in a node frame with a distinct CDA. A node frame may be allocated to just one node or it may be unallocated. A frame is allocated to a node as the node is created (typically bought from a bank). It remains in that node until it is deleted (typically when sold back to a bank). The node is known by the CDA of its frame, and to distinguish it from nodes previously allocated to that frame, by an allocation count. A node frame may be sequentially allocated to different nodes but just one at a time. Two nodes having been allocated to the same frame will have different allocation counts unless the kernel knows that no keys to the older node were removed from the backchain of that node. The node frame holds the allocation count of the most recent or current node.

Each node frame is a permanent member of some node pot which is the size of a page. Each node pot is the permanent home of a range of node frames with contiguous CDAs. A node pot has a permanent disk address but may be cached in RAM much like user pages. The CDA of the node pot for a node is a simple arithmetic function of the CDA of the node. Individual nodes, extracted from their pots, are further cached in item space which is a RAM array of node frames where nodes are brought to participate. About the only thing that can happen to a node without coming to item space is to be severed or filled with 16 DK(0)’s.

There are swap pots of nodes too, which hold sets of nodes whose CDAs are discontiguous, when there is not room in RAM or item space for nodes and it is too soon to write them back to their home pots. Swap pots are ephemeral and are swapped between the swap areas and RAM. They are created when available swap pots are full and item space is congested. They disappear after the checkpoint migration process if finished. Checkpoint logic sometimes requires two or more partial system states to be maintained.