3.1 存储器分类与特性


3.1 存储器分类与特性

本节摘要:存储器的一切分类与取舍,根子都写在存储单元的物理机理里——一个六管触发器与一个单管电容的差异,决定了 SRAM 与 DRAM 分别霸占金字塔的哪一层。

本章主线的第一站。要看懂"为什么要分层",得先承认一个物理事实:不存在又快又大又便宜的存储材料。本节从存储单元的机理出发,把常用器件按"快慢、大小、断电记不记得"三个维度排开,金字塔的形状就自己浮现了。

速度落差的物理根源

SRAM 用六管触发器存一位:电流在两个反相器构成的环路里循环自锁,只要不断电,状态永远稳定,读取不破坏数据,速度能与处理器核心并驾齐驱。代价是六只管子才存一位,占面积、费硅片,密度上不去、价格下不来。

DRAM 的思路是釜底抽薪:一只晶体管加一只电容存一位,电容有电荷为 1、无电荷为 0。管子少了,密度翻了数量级,价格降了数量级——但电容会漏电,电荷几十毫秒内流失,必须周期性地读出、放大、写回,这个动作叫刷新。刷新占走了带宽,读写也慢于 SRAM 一大截。快与大的矛盾在这里是分子级的,没有任何工艺进步能同时讨好两边。

只读家族的脉络同样由机理驱动。掩膜 ROM 出厂即定型;PROM 允许烧一次;EPROM 用紫外线擦除,芯片顶上那扇石英窗是整整一代工程师的共同记忆;EEPROM 按字节电擦除;Flash 在 EEPROM 基础上按块擦除,密度与成本大幅改善,于是从固件一路扩张到 U 盘与固态硬盘。 NOR Flash 可按字节随机读、适合直接跑代码,NAND Flash 顺序吞吐高、适合存文件——今天"代码存 NOR、数据存 NAND"的分工仍是嵌入式板卡设计的默认。

图 3-1:存储金字塔——速度、容量与价格的三重奏

图 3-1:存储金字塔——速度、容量与价格的三重奏

把特性指标读成承诺

选存储器时商家给一堆参数,真正需要盯住的是四项。访问时间:从地址稳定到数据可用的间隔,与 2.2 节的采样窗口直接对话——上一章插等待状态的账,就是拿它算的。存取周期:连续两次访问的最小间隔,通常略大于访问时间,决定持续吞吐。刷新周期:DRAM 每行必须在规定时间内刷一遍,刷新机制占用总线的时间要在带宽预算里扣掉。数据保持:断电后数据能不能活下来,这条把器件一分为二——易失的 SRAM、DRAM 管运行时数据,非易失的 ROM 家族管固件与文件。

器件 典型访问时间 易失性 密度 在系统里的岗位
SRAM 一至几十纳秒 易失 Cache、快速缓冲
DRAM 数十纳秒 易失 主存
NOR Flash 数十至百纳秒读 非易失 固件、可直接执行
NAND Flash 微秒级页操作 非易失 很高 数据存储、固态盘

案例展开:给数据采集卡选缓存器件

背景:一块多路采集卡要在中断间隙里暂存高速采样流,主存带宽分不出来给它,设计者考虑加一片缓存。操作:候选是两套方案——SRAM 直挂总线,或用 DRAM 加自刷新控制。先算需求:采样流稳定写入,无突发放大,容量需求在百千字节级;再算代价:SRAM 容量达标后价格翻倍,但控制逻辑零额外开销;DRAM 芯片便宜,却要配刷新控制器,且刷新窗口可能与采集写入冲突,需要写缓冲兜底。结果:项目最终选 SRAM,理由是采集卡的生命线是"绝不能漏采",控制路径越短越可靠。解读:容量小、访问模式可预期的场合,SRAM 的贵换来的是确定性;DRAM 的经济性要在容量上到兆级、访问由操作系统统一调度时才兑现。变式:若采样流改为突发成帧后批量上传,NAND Flash 加队列也能胜任——选择随访问模式而变,不随潮流而变。

扩容的两道算术与一道保险

选好器件只是第一步,把它拼成系统需要两道算术。位扩展:手头芯片每片只有四位宽,系统要八位——两片并联,地址与片选共用,数据线各接一半。字扩展:单片容量不够——多片级联,数据线并联,高位地址经译码器产生片选,谁被选中谁发言。实际工程常常两法并用:先用位扩展凑够字长,再用字扩展凑够容量。设计记录里必须写清地址线的切分表——它与 6.1 节的端口译码是同一门手艺。

一道保险叫纠错。存储器是电子世界里的"易耗品":宇宙射线、电源毛刺都可能翻转一位。普通场合丢一位无伤大雅,服务器与工控场合就是事故,于是给每份数据附加校验位:简单方案能查出错误,汉明码方案能查出并纠正一位错误,服务器内存标配的 ECC 正是这一路。纠错的代价是存储与带宽的额外开销——又是一次"可靠性换资源"的权衡,与本册反复出现的取舍逻辑同款。

刷新的税也能量化。典型 DRAM 每六十四毫秒要把全部行刷一遍,按八千行计,平均每八纳秒就要安排一次刷新操作;每次刷新占住总线几十纳秒,粗算下来带宽的百分之二到五要交给刷新。日常应用无感,但带宽预算本就紧张的采集与显示系统里,这笔税要提前入账——存储器的标称带宽与到手带宽之间,刷新是常驻的扣款项之一,与 1.3 节讲的"峰值对有效"呼应成对。

高频追问两则

问:为什么现在主存不用 SRAM? 密度的账算不过来:同容量下 SRAM 的硅面积是 DRAM 的好几倍,价格随面积走。金字塔的分层就是让 SRAM 只在 Cache 里干它擅长的快活,容量的大活交给 DRAM——各安其位。

问:Flash 磨损是怎么回事? 浮栅晶体管每次擦写都会轻微老化,擦写次数有上限。固态盘与嵌入式文件系统的磨损均衡算法,本质是把写入均匀摊到所有单元上,让整块介质同生共死。做嵌入式存储设计时,写入频率与寿命预算要提前算——这是 7.2 节之外另一处"模拟前端式"的隐性工程。

本节要点回顾

  • 机理定命运:六管触发器换来速度,单管电容换来密度,物理上没有两头讨好。
  • 刷新是 DRAM 的税:带宽预算里必须给刷新留出份额。
  • NOR 跑代码、NAND 存数据:随机读与顺序吞吐的分工延续至今。
  • 四项指标对应四类承诺:访问时间对时序,周期对吞吐,刷新对带宽,保持对固件。

金字塔画好了,但 CPU 与主存之间近两个数量级的落差靠什么填平?下一站进入 Cache 的机关内部。


作者与出处
原作者: 灏天文库
来源:灏天文库
整理: 灏天文库整理
由灏天文库平台收录,内容或由平台用户上传,仅供学习交流
发布者: 作者: 灏天文库 转发
评论区 (0)
U