发明名称 Reconstruction of dense tree volume metadata state across crash recovery
摘要 Embodiments herein are directed to efficient crash recovery of persistent metadata managed by a volume layer of a storage input/output (I/O) stack executing on one or more nodes of a cluster. Volume metadata managed by the volume layer is organized as a multi-level dense tree, wherein each level of the dense tree includes volume metadata entries for storing the volume metadata. When a level of the dense tree is full, the volume metadata entries of the level are merged with the next lower level of the dense tree. During a merge operation, two sets of generation IDs may be used in accordance with a double buffer arrangement: a first generation ID for the append buffer that is full (i.e., a merge staging buffer) and a second, incremented generation ID for the append buffer that accepts new volume metadata entries. Upon completion of the merge operation, the lower level (e.g., level 1) to which the merge is directed is assigned the generation ID of the merge staging buffer.
申请公布号 US9501359(B2) 申请公布日期 2016.11.22
申请号 US201414482618 申请日期 2014.09.10
申请人 NetApp, Inc. 发明人 Pundir Anshul;D'Sa Janice;Krishnamachari Srinath;Zheng Ling
分类号 G06F17/30;G06F11/10;G06F11/20;G06F11/14 主分类号 G06F17/30
代理机构 Cesari and McKenna, LLP 代理人 Cesari and McKenna, LLP
主权项 1. A method comprising: receiving a write request directed towards a logical unit (LUN), the write request having data, a logical block address (LBA) and a first length representing a first address range of the LUN, the write request processed at a storage system having a memory; associating a key with the data; determining whether a first metadata structure exceeds an occupancy threshold to store a first data entry having the key, a first offset and the first length representing the first address range of the LUN, the first metadata structure assigned a first generation identifier (ID); in response to determining that the first metadata structure exceeds the occupancy threshold, storing the first data entry in a second metadata structure, the second metadata structure assigned a second generation ID different from the first generation ID; merging a second data entry of a first level 0 of the first metadata structure with a third data entry of a level 1 of the first metadata structure to form a fourth data entry, the second data entry having a second offset and a second length representing a second address range, the third data entry having a third offset and a third length representing a third address range, the fourth data entry representing a merge of the second address range with the third address range; and storing the fourth data entry in a storage array of solid state drives (SSDs) attached to the storage system.
地址 Sunnyvale CA US