← 返回学习笔记Lecture 8:知识 - 存储器
408 学习笔记:Lecture 8:知识 - 存储器。保留原有知识内容、公式与图示;有对应原件时提供查看和下载入口。
408 计算机记录日期约 12 分钟阅读408计算机组成原理
本页目录
描述:本讲将半导体存储器、闪存、磁盘与存储芯片组织放在同一张图里: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 常用行列双译码。