DevTrends开发者趋势
主题色

lularible /

storage-book

一本从存储的本质讲起,一路走到文件系统设计与实现的开源技术书。从结绳记事、泥板、纸张这些"存储是什么"的追问开始,到 Flash 物理(浮栅晶体管、擦写不对称、氧化层陷阱、掉电半成品),再到 LittleFS 源码分析,最后到 KnotFS 从零实现(约 840 行 C,可运行)。读完不仅知道"文件系统怎么写",还知道"存储为什么是这样的"。 本书是"汽车电子知识体系"开源系列的一部分。该系列共 7 册,覆盖芯片总纲、PTP 时间同步、…

DT研究与学习DT软件开发DT内容 / 资源DTLinux

产品配图

关于

一本从存储的本质讲起,一路走到文件系统设计与实现的开源技术书。从结绳记事、泥板、纸张这些"存储是什么"的追问开始,到 Flash 物理(浮栅晶体管、擦写不对称、氧化层陷阱、掉电半成品),再到 LittleFS 源码分析,最后到 KnotFS 从零实现(约 840 行 C,可运行)。读完不仅知道"文件系统怎么写",还知道"存储为什么是这样的"。 本书是"汽车电子知识体系"开源系列的一部分。该系列共 7 册,覆盖芯片总纲、PTP 时间同步、HSM 安全、存储、UDS 诊断、功能安全、软件工程,从芯片物理一路讲到工程实践。本书为存储卷。 稀缺性:没有书这么写过。 大部分存储技术书分为两类:一类从文件系统 API 往下讲(VFS、ext4、FAT),不讲物理层;一类只讲 Flash 物理(浮栅、隧穿、SLC/MLC),不讲到文件系统。这本书从"存储是什么"的本质追问出发,经过物理层,再到实现层,三层打通了。 为什么这很重要? 你的行车记录仪断电后文件损坏、你的物联网设备日志突然消失、你的 ECU 标定参数被覆盖,这些问题根子在物理层。Flash 不能原地修改,有擦写寿命上限,掉电时会处于半成品状态。不懂这些物理约束,写出来的存储方案早晚会出问题。 更关键的是:几乎没有专门为异步模型设计的文件系统。 主流的文件系统(ext4、FAT、LittleFS)都是同步阻塞模型——写入操作从头到尾不可拆分,CPU 必须等待 Flash 擦写完成才能返回。在需要非阻塞写入的场景下,只能靠应用层在同步文件系统外围包一层任务状态机来模拟异步。KnotFS 从设计之初就以异步状态机为核心,通过 knotfsrun() 将写操作拆解为可让出 CPU 的子步骤,每次调度只做一个子操作就主动返回。 这不是工业级产品,但填补了这个方向上的一块空白。 运行效果: 核心特性: 📖 39 节 —— 5 个章节:存储本质、Flash 物理(含浮栅晶体管时序图)、文件系统理论、LittleFS 源码分析、手写 KnotFS 🔬 物理层到底层 —— 浮栅陷阱机制、擦写不对称比例、掉电 200ms 窗口、CoW 四层防护 ⚙️ KnotFS —— 教学级异步文件系统(约 840 行 C),含异步状态机、双超级块、日志回放、孤儿块修复、磨损均衡,可在 Linux 上编译运行 关于作者:目前正在系统化构建"汽车电子知识体系"开源系列——7 册从芯片物理写到工程实践,覆盖一个汽车电子软件工程师需要理解的全部知识链。本书是其中的存储卷,前作 PTP 时间同步卷已被阮一峰老师《科技爱好者周刊》第 401 期收录。 开源协议:CC BY-NC-ND 4.0(内容) · MIT(代码)

收录记录

  1. 阮一峰周刊·用户投稿

    2026年7月8日 · 1 次收录

讨论这个产品