← Back to Learning NotesLecture 8:知识 - 存储器
Chinese-language Computer Science 408 note: Lecture 8:知识 - 存储器. Original source available where applicable.
Computer Science 408Record date12 min read408Computer Organization
On this page
This note is currently available in Chinese. The original wording, formulas and diagrams are preserved to avoid an unverified technical translation.
描述:本讲将半导体存储器、闪存、磁盘与存储芯片组织放在同一张图里:RAM/ROM 按随机访问分类,磁带/磁盘按串行访问分类;SRAM/DRAM 分别服务 Cache/主存,磁盘与 SSD 服务大容量辅存。
3.1 存储系统硬件分类
- RAM 的主要用途是主存或 Cache,分为 SRAM 与 DRAM;ROM 通常保存不变程序、常数或字库。RAM 是易失性,ROM 以及磁/光介质通常非易失。
- Cache 与虚拟存储器都把数据分成块、都需要地址映射、替换与写策略、都依赖局部性将高频数据留在高速层。
3.2 半导体随机访问存储器
3.2.1 SRAM 与 DRAM
- SRAM 的“静态”指信息读出后仍保持原状态,并非断电保持;SRAM 仍是易失性半导体存储器。
- DRAM 用电容是否存有足够电荷表示位值。电荷会泄漏,读操作亦会扰动单元,因此既要读后再生,也必须定期刷新。
- SDRAM 在 DRAM 基础上与系统时钟同步,锁存地址/控制后可在等待期间让 CPU 执行其他操作,并支持突发传送:给出连续块首地址后,连续数据可每时钟输出一个字。
- DDR SDRAM 在一个时钟周期的两个边沿传送数据,数据传输率可较单沿 SDRAM 加倍,是 PC 内存和高端显存常用形式。
3.2.2 DRAM 刷新
- DRAM 以行为刷新单位,芯片内部产生行地址;例如 $2048\times2048\times4b$ 芯片每轮只需刷新 2048 行,而不需要逐列寻址。
- 刷新对 CPU 透明、不依赖外部访存请求;刷新类似读操作但不等同于读后再生。刷新逐行恢复,读后再生仅恢复被读出的单元。
- 刷新时不需逐片选中,存储器中相应芯片可同时执行刷新。
3.3 ROM、闪存与 SSD
3.3.1 ROM 家族
ROM 可随机读、断电保持,与 RAM 一同可映射进主存地址空间。广义 ROM 可被电擦写,仍保留“非易失、随机读、写慢于读”的特征。
- Flash 通过浮栅等电荷状态存储信息,擦写寿命有限;反复充放电会使器件老化,故需控制擦写次数。
3.3.2 SSD 与磨损均衡
定义:#SSD
SSD 由一个或多个 Flash 芯片、控制器与**闪存翻译层(FTL)**组成。FTL 把主机的逻辑块读写请求翻译为底层物理页/块操作。
- 页不能在未擦除的块中原地随意改写;修改含旧数据的页往往需把该块的有效页迁移到新擦除块,再擦除旧块,故随机写慢于读。
- SSD 无机械运动部件,随机访问快、无噪声振动、功耗低、抗震性好;代价是价格较高且闪存块有有限擦写寿命。U 盘、SD 卡和 SSD 都以闪存为核心,SSD 主要在容量、控制器/FTL 与性能上更强。
- 动态磨损均衡优先把新写入分散到擦除次数较少的空闲块;静态磨损均衡还会搬迁长期不变的冷数据,使高、低擦除次数块都能轮换承担写入。若按理想模型计算,$256,GB\times500=128,TB$;若容量按 $256,GiB$ 计,则为 $125,TiB$。这只是原始介质写入上限,实际主机可写量还受预留空间、坏块、写放大和控制策略影响。
3.4 磁盘与 RAID
3.4.1 磁盘组织与容量
磁盘由驱动器(旋转盘片、磁头读写)和控制器(主机接口、命令解释、状态检测)构成。记录面划分磁道,磁道再分扇区;扇区/块是最小读写单位。
$$
\begin{aligned}
\text{非格式化容量}&=\text{记录面数}\times\text{柱面数}\times\text{每道磁化单元数}\
\text{格式化容量}&=\text{记录面数}\times\text{柱面数}\times\text{每道扇区数}\times\text{每扇区容量}
\end{aligned}
$$
- 格式化会放入标识、同步、纠错等信息,故格式化容量小于非格式化容量。
- 道密度是半径方向单位长度磁道数,位密度是磁道单位长度可记录位数,面密度为二者乘积。磁记录靠磁头与磁介质相对运动的电磁转换实现,可采用 FM/MFM 等编码方式。
3.4.2 磁盘性能与工作过程
$$T_{access}=T_{seek}+T_{rotation}+T_{transfer}$$
- 寻道时间是磁头移到目标磁道的时间;旋转延迟是等待目标扇区转到磁头下的时间;传输时间是实际传数据的时间。均匀随机扇区下平均旋转延迟为半圈;平均寻道时间与磁道分布、机构加减速有关,应优先使用题设或设备给定值,不能普遍取“最外道到最内道全程时间的一半”。
- 若转速为 $r$ 转/s、每道有效数据容量为 $N$ B,则不计其他开销时一整圈的平均用户数据传输率为 $D=rN=N/T_{rev}$。原 PDF 还给出扣除扇区间隙的口径:若每道有 $s$ 个扇区、每个间隙经过时间为 $T_{gap}$,则实际传送扇区数据期间的速率为 $N/(T_{rev}-sT_{gap})$;它不等于把间隙也算在内的整圈平均速率。做题先看所问的是哪一种时间口径。
- 传统柱面—磁头—扇区(CHS)地址可按“柱面号|盘面/磁头号|扇区号”拆分。原页例有 16 个盘面、每面 256 个磁道、每道 16 个扇区;若各编号从 0 起,分别需 4、8、4 位,合计 16 位。若扇区号按 1 起或设备实际几何结构不同,编码约定须以题设为准。
- 磁盘控制字可表示寻址、读盘、写盘等操作;磁盘通常经控制器与主存交换数据而非逐字直接交给 CPU。经典单执行器、单通道机械磁盘一次只服务一个磁头/请求;多执行器或磁盘阵列可提供并行性,因此“任何机械磁盘都绝不能并行”不是跨实现的普遍结论。
- 磁盘高速缓冲是内存中的区域,汇集小数据后按簇等较大单位写盘,并可让尚未落盘的中间结果被快速复用。
3.4.3 RAID
- RAID 将多块物理盘组成逻辑盘,通过并行访问提升吞吐;镜像与校验可提高可靠性。交错条带使顺序访问也可利用多盘并行,单纯把数据块不交错分盘无法获得同样收益。
- 冗余使故障后可重建数据,但“热插拔”还要求背板、控制器、驱动和电源设计共同支持,并不是 RAID 级别本身自动保证的能力。
3.5 存储器芯片内部结构
- 单译码法只有行译码器,同一行所有单元作为一个字同时读写,但译码输出线多。
- 双译码法分 X、Y 两个译码器,用行列交点定位单元,DRAM 芯片普遍采用以降低译码线数量。
- 原页芯片图以 8 个位平面、每平面 $64\times64$ 个 1-bit 单元说明双译码:$A_0\sim A_5$ 经 X 译码选 64 行之一,$A_6\sim A_{11}$ 经 Y 译码选 64 列之一;同一行列交点在 8 个位平面各取 1 bit,并行组成 8 位字。因此芯片有 $2^{12}=4096$ 个可寻址字,组织为 $4K\times8$ bit,总数据容量 4 KiB。片选决定该芯片是否响应,读写控制决定本次方向;8 个位平面不是 8 个独立地址。
相关知识
3.6 本节复盘
- RAM、ROM 都支持随机访问;SRAM 快且贵用于 Cache/TLB,DRAM 高密度低价用于主存且需行刷新。
- Cache 和虚拟存储均基于局部性与块交换;前者解决速度且硬件透明,后者解决容量且由 OS/硬件共同管理。
- ROM 家族按写擦方式区分;Flash 支撑 U 盘、SD 卡与 SSD,SSD 以页读写、块擦除并借助 FTL 和磨损均衡控制寿命。
- 磁盘最小 I/O 为扇区,访问时间由寻道、旋转和传输构成;RAID 0 提速不容错,RAID 1 用镜像换可靠性与容量。
- 存储芯片包括存储体、译码、I/O、片选与读写控制;DRAM 常用行列双译码。