2、存储介质基础:存储介质的分类与关键性能指标

大家好,我是你们的老朋友。今天咱们聊聊存储介质的基础知识。说实话,我在黑匣子项目里踩过的坑,有一半都跟介质选型有关。你想想看,飞机坠毁了,黑匣子要是因为存储介质失效而没录下数据,那后果多严重?

所以这一节,我带你把存储介质的底裤都扒干净。咱们从分类开始,再到那几个绕不开的性能指标。

2.1 存储介质的分类:易失性与非易失性

存储介质分两大类:易失性非易失性。说白了,就是断电后数据还在不在。

2.1.1 易失性存储器

断电就丢数据。典型代表就是 SRAMDRAM

  • SRAM(静态随机存取存储器):速度快,功耗低,但容量小、成本高。我习惯用它做 CPU 的缓存,或者黑匣子里的临时数据缓冲。
  • DRAM(动态随机存取存储器):容量大,成本低,但需要定期刷新。黑匣子里很少直接用 DRAM 做主存储,因为断电就没了。不过,有些设计会用 DRAM 做数据暂存,然后定期写到非易失介质里。
我的经验: 在黑匣子设计中,SRAM 常用于存储关键的状态寄存器。有一次,我发现系统复位后某些参数丢了,查了半天才发现是 SRAM 的供电电容没选对。嗯,从那以后,我对 SRAM 的掉电保持电路格外上心。

2.1.2 非易失性存储器

断电后数据还在。这才是黑匣子的主角。

  • Flash(闪存):目前最主流的选择。NAND Flash 容量大、成本低,NOR Flash 读取快、可靠性高。
  • EEPROM:可以字节擦写,但容量小、速度慢。我一般用它存配置参数,比如黑匣子的采样率、通道配置。
  • FRAM(铁电存储器):读写速度快,功耗极低,寿命长(10^12 次擦写)。但容量小,价格贵。我在一些高端黑匣子里见过它做日志存储。
  • MRAM(磁阻存储器):速度接近 SRAM,非易失,抗辐射能力强。航天级黑匣子偶尔会用,但成本感人。
注意: 我曾经在一个项目中,为了省钱选了某品牌的低端 NAND Flash。结果高温测试时,数据保持时间直接缩水到标称值的十分之一。从那以后,我选 Flash 只看工业级或车规级,绝不碰消费级。

2.2 关键性能指标

选存储介质,你得盯着四个指标:容量、速度、功耗、寿命。缺一不可。

2.2.1 容量

黑匣子要录多久?录什么格式?音频、视频、还是传感器数据?

  • 音频:一般 8kHz 采样,16bit,一小时约 57MB。
  • 视频:1080p 压缩后,一小时约 1-2GB。
  • 传感器数据:取决于通道数和采样率,一小时可能几十 MB 到几 GB。

我建议你按最恶劣情况算,再留 20% 余量。比如,要求录 2 小时 1080p 视频,那至少需要 2.4GB 的可用容量。考虑到文件系统和坏块管理,实际选型要 4GB 以上。

2.2.2 速度

速度分两种:读写速度随机访问速度

  • 连续读写速度:黑匣子主要做顺序写入,所以连续写速度更重要。NAND Flash 的连续写速度一般在 10-500 MB/s 之间。
  • 随机访问速度:黑匣子很少随机读,但系统启动时需要快速读取配置。NOR Flash 的随机读取延迟在 50-100ns,而 NAND 需要几百微秒。
避坑指南: 我曾经选了一款标称写速度 50MB/s 的 NAND Flash,结果实际测试只有 15MB/s。为什么?因为它的写入速度是在 4KB 页面连续写条件下测的,而我的系统每次写 512 字节。所以,一定要用你的实际写入模式去测速。

2.2.3 功耗

黑匣子通常由飞机或车辆的电源供电,但掉电瞬间需要靠电容或电池完成最后的写入。所以,写入功耗是关键。

介质类型 典型写入功耗 待机功耗
NAND Flash 100-300 mW 10-50 μW
NOR Flash 50-150 mW 5-20 μW
FRAM 10-50 mW 1-10 μW
MRAM 50-200 mW 10-50 μW

你看,FRAM 的写入功耗最低。但容量太小,不适合做大容量存储。我一般这样搭配:FRAM 存关键参数,NAND Flash 存大块数据

2.2.4 寿命

寿命主要看擦写次数数据保持时间

  • 擦写次数:NAND Flash 的 SLC 约 10 万次,MLC 约 1 万次,TLC 约 3000 次。黑匣子需要频繁写入,所以至少选 MLC,最好选 SLC 或 pSLC 模式。
  • 数据保持时间:黑匣子要求数据能保存 10 年甚至更久。NAND Flash 在高温下数据保持时间会急剧缩短。我见过一个案例,黑匣子在沙漠里暴晒后,数据只保留了 3 年。
我的教训: 曾经有个项目,用了 TLC NAND 做黑匣子,还开了高密度模式。结果一年后,坏块率飙升到 30%。从那以后,我坚持用 SLC 或工业级 MLC,并且强制开启 ECC 和坏块管理。

2.3 选型建议

说了这么多,给你一个简单的选型思路:

  1. 容量需求:先算总数据量,再除以 0.8(留余量),得到最小容量。
  2. 速度需求:根据写入带宽选介质。比如,需要 100MB/s 连续写,那 NAND Flash 是唯一选择。
  3. 功耗约束:如果掉电保持时间有限,优先选写入功耗低的介质,或者加超级电容。
  4. 寿命要求:黑匣子至少 10 年寿命,擦写次数按最恶劣情况算。SLC 或 pSLC 是首选。
我的习惯: 我一般先画一个表格,把候选介质的四个指标列出来,然后加权打分。容量权重 30%,速度 20%,功耗 20%,寿命 30%。这样选出来的介质,基本不会出大问题。

好了,存储介质的基础就聊到这儿。下一节,咱们深入讲讲 NAND Flash 的内部结构和管理策略。到时候我会分享一个我亲手调过的坏块管理算法,保证让你少走弯路。