fdb_kvdb_init()
│
├─ _fdb_init_ex() ← 读取分区信息,很快
├─ 找 oldest sector ← 读一次各扇区头部,很快
│
├─ _fdb_kv_load() ★★★★★ 这里最慢 ★★★★★
│ │
│ ├─ sector_iterator() 遍历64个扇区
│ │ │
│ │ ├─ 第1扇区: read_sector_info → magic校验失败 → check_sec_hdr_cb()
│ │ │ └─ format_sector() → ①擦除+②写头部 ← 第一次擦除!
│ │ ├─ 第2扇区: read_sector_info → magic校验失败 → check_sec_hdr_cb()
│ │ │ └─ format_sector() → ①擦除+②写头部 ← 第一次擦除!
│ │ ├─ ...
│ │ └─ 第64扇区: ... ← 第一次擦除!
│ │
│ ├─ check_failed_count (64) == SECTOR_NUM (64)
│ │ └─ fdb_kv_set_default() ★ 冗余操作 ★
│ │ ├─ 第1扇区: format_sector → ①擦除+②写头部 ← 第二次擦除!
│ │ ├─ 第2扇区: format_sector → ①擦除+②写头部 ← 第二次擦除!
│ │ ├─ ...
│ │ ├─ 第64扇区: format_sector ← 第二次擦除!
│ │ └─ 逐条写入 default KV ← 少量写入
│ │
│ ├─ sector_iterator() (GC恢复检查) ← 已格式化,基本无操作
│ └─ kv_iterator() (KV恢复检查) ← 已格式化,基本无操作
│
└─ kv_auto_update() (若启用) ← 写入 __ver_num__