存储器 体系 存储器体系为什么采用分级结构?
存储器是用来存放程序和数据的部件,是个记忆装置,是计算机实现“存储程序控制”的基础。在计算机 体系中,规模较大的存储器分成若干级,称为存储器 体系。传统的存储器 体系一般分为高速缓冲存储器(Cache)、主存储器、辅助存储器电影。存储器中数据常用的存取方式有顺序存取、直接存取、随机存取和相联存取四种。
存储器 体系的性能指标有四个,分别为存取 时刻、存取器带宽、存储器周期和数据传输效率。
一、主存储器
主存储器简称主存或内存,是计算机硬件的重要部件,其 影响是存放计算机运行时的程序和数据,并能由CPU直接随机地进行读/写。 由于CPU要频繁地访问主存, 因此主存的性能在很大程度上影响了整个计算机 体系的性能。根据工艺和技术不同,主存可以分为随机存储器(RAM)和只读存储器(ROM)。
1.随机存储器(RAM):既可以写入也可以读出,但断电后信息无法保存,因此只能用于暂存数据。RAM又可分为DRAM(动态DRAM)和SRAM(静态RAM)。DRAM的信息会随 时刻逐渐消失,因此需要定时对其进行刷新,以维持信息不丢失;SRAM在不断电的情况下,信息能够一直保持而不会丢失信息。
2.只读存储器(ROM):只能随机读出而不能写入。其特点是信息一旦写入ROM,即使断电,写入内容也不会丢失。ROM一般用于存放 体系程序BIOS(c Input Output System,基本输入输出 体系)、专用的子程序,或用作函数发生器、字符发生器及微程序控制器中的控制存储器。
二、辅助存储器
辅助存储器简称辅存,用于存放需持久性存储的信息。其特点是存储器容量大、可靠性高、价格低。常用的辅存有磁带存储器、硬盘存储器、磁盘阵列和光盘存储器等。
1.磁带存储器
磁带存储器是由磁带机及其控制器组成的,是一种顺序存取的设备。磁带控制器是连接计算机与磁带机之间的接口设备,是计算机在磁带上存取数据用的控制电路设备。磁带的优点是存储量大、便于携带、价格便宜,缺点是存取速度慢。
2.硬盘存储器
简称硬盘,属于直接存取设备,即存取磁盘上任一物理块的 时刻不依赖于该物理块所处的位置,分为机械硬盘(HDD)、固态硬盘(SSD)和混合硬盘(SSHD)。
(1)HDD是传统硬盘,由磁性盘片、驱动 体系、读写 体系和控制 体系组成。其信息分布呈 下面内容层次:记录面、圆柱面、磁道和扇区。也就是其存取地址可表示为:驱动器号、柱面号、磁头(读写头)号、扇区号。 驱动器号、柱面号、磁头(读写头)号、扇区号。存储容量=n×t×s×b,其中:n为保存数据的总记录面数、t为每面的磁道数、s为每道的扇区数,b为每个扇区存储的字节数。
图2-1 HDD的结构
(2)SSD是由多个闪存芯片加主控以及缓存组成的阵列式存储设备,属于固态电子存储芯片阵列制成的硬盘,与HDD相比,读取速度快、寻道 时刻可忽略不计,但价格更高。
(3)SSHD是机械硬盘与固态硬盘的结合体,采用容量较小的闪存用来存储常用文件, 而磁盘才是最主要的存储介质,闪存仅起到缓冲 影响,将更多的常用文件保存到闪存中,可以 减小寻道 时刻,进一步 进步读/写操作效率。
3.磁盘阵列
廉价磁盘冗余阵列(RAID)技术旨在缩小日益扩大 的CPU速度和磁盘存储器速度之间的差距。其策略是用多个较小的磁盘驱动器替换单一的大 容量磁盘驱动器,同时合理地在多个磁盘上分布存放数据以支持同时从多个磁盘进行读写,从 而改善 体系的I/O性能。RAID现在代表独立磁盘冗余阵列,应用的主要技术有分块技术、交叉技术和重聚技术,分为RAID0(无冗余和无校验码的数据分块)、RAID1(磁盘阵列)、RAID2(采用纠错海明码的磁盘阵列)、RAID3(采用位交叉奇偶校验码)、RAID4(采用块交叉奇偶校验码)、RAID5(无独立校验盘的奇偶校验码磁盘阵列)、RAID6(具有独立的数据硬盘与两个独立的分布式校验方案)、RAID7(具有最优的异步高I/O速率和高数据传输效率的磁盘阵列)、RAID10(高可靠性与高性能的组合)。
4.光盘存储器
光盘存储器是利用激光束在记录表面存储信息,根据激光束的反射光来读出信息。根据性能和用途不同,分为CD-ROM、CD-R、CD-RW和DVD-ROM。
(1) CD- ROM (Compact Disc Read-Only M e m o r y ,只读压缩盘)又称固定型光盘。它由生 产厂家预先写入数据和程序,使用时用户只能读出,不能修改或写入新内容。C D-R O M 的读取 目前有三种方式,分别是恒定角速度、恒定线速度和部分恒定角速度。
(2) CD-R 光盘采用W O R M (Write One Read M a n y ) 标准,光盘可由用户写入信息,写入 后可以多次读出;但只能写入一次,信息写入后将不能再修改。
(3) CD-RW 光盘是可以写入、擦除、重写的可逆性记录 体系,这种光盘类似于磁盘,可重 复读写。
(4) DVD-ROM 技术类似于CD-ROM 技术, 然而可以提供更高的存储容量。DVD 可以分为单面单层、单面双层、双面单层和双面双层4种物理结构。
三、高速缓冲存储器
Cache,其主要功能是 进步CPU数据输入输出的速率,突破所谓的“冯·诺依曼瓶颈”,即CPU与存储 体系之间的数据传送带宽限制。高速存储器能以极高的速率进行数据的访问,但其价格高昂,通常在CPU与内存之间设置小容量的Cache,利用Cache速度快的特点,通过优化调度算法,使 体系的性能得到改善。
1.基本原理
使用Cache改善 体系性能的依据是程序的局部性原理。程序访问的局部性有两个方面的含义,分别是 时刻局部性和空间局部性。其中:
(1) 时刻局限性,如果一个存储单元被访问,则可能该单元会很快被再次访问。
(2)空间局部性,如果一个存储单元被访问,则该单元邻近的单元也可能很快被访问。
2.映射机制
当CPU发出访存请求后,存储器地址先被送到Cache控制器以确定所需数据是否已在 Cache中,若命中,则直接对Cache进行访问。这个 经过称为Cache的地址映射(映像)。常见的映射 技巧有直接映射、全相联映射和组相联映射。
映射方式 | 特点 | 优缺点 |
直接映射 | 每个主存块只能映射到固定Cache行 | 简单但冲突率高 |
全相联映射 | 主存块可映射到任意Cache行 | 灵活但实现成本高 |
组相联映射 | 主存块映射到特定组的任意行 | 性能与成本折中 |
3.替换算法
当Cache产生了一次访问未命中之后,相应的数据应同时读入CPU和Cache。 然而当 Cache已存满数据后,新数据必须替换(淘汰)Cache中的某些旧数据。最常用的替换算法有随机算法、先进先出算法和近期最少使用算法三种。
4.写操作
写操作 | 特点 | 优缺点 |
写直达(写通) | 同时写 Cache 和主存 | 实现简单,能保证主存数据的正确性,但增加不必要的主存写入,降低存取速度 |
写回 | 只写 Cache,标记脏位 (替换时写回) | 操作速度快,但因主存中的字块未随时修改而有可能出错 |
写分配 | 将目标数据所在的整个缓存块从主存加载到Cache,在cache中执行写入 | 提升后续访问效率,但可能污染缓存 |
非写分配 | 直接写入主存,不加载数据块到Cache | 节省缓存空间,减少无效数据加载,但若后续访问该数据,需从慢速主存读取 |
四、网络存储技术
常用的网络存储技术主要有 下面内容三种:直接附加存储( DAS)或,服务器附加存储(SAS)、网络附加存储(NAS) 和存储区域网络(SAN )。
分类 | 核心原理 | 协议/接口 | 优缺点 | 适用场景 |
DAS或SAS | 存储设备直接挂载到服务器(无网络) | SCSI/SATA/SAS | 部署简单、成本低但扩展性差、数据无法共享 | 单服务器本地存储 |
NAS | 文件级存储,通过网络共享文件 | NFS/CIFS/ B | 跨平台共享、即插即用,但传输效率低 | 企业文件共享、备份归档、视频编辑 |
SAN | 块级存储,通过专用网络直连磁盘 | FC-SAN(光纤通道) iSCSI(IP网络) | 高性能、高扩展性,但成本高、配置复杂 | 数据库集群、虚拟化平台、高IO应用 |
五、虚拟存储技术
虚拟存储(Virtual Storage)是指把多个存储介质模块(例如,硬盘、RAID等)通过一定 的手段集中管理,形成统一管理的存储池(Storage Pool),为用户提供大容量、高数据传输性 能的存储 体系。存储虚拟化是将实际的物理存储实体与存储的逻辑表示实现分离,使用虚拟存 存储实体上。 虚拟存储(Virtual Storage) 是指把多个存储介质模块(例如,硬盘、R A I D 等)通过一定 的手段集中管理,形成统一管理的存储池(Storage Pool),为用户提供大容量、高数据传输性 能的存储 体系。存储虚拟化是将实际的物理存储实体与存储的逻辑表示实现分离,使用虚拟存 储技术,应用服务器只与分配给它们的逻辑卷(虚卷)交互,而不用关心其数据是在 何者物理 存储实体上。
1.虚拟存储分类
(1)拓扑结构:对称式和非对称式
(2)实现原理:数据块虚拟和虚拟文件 体系
2.虚拟存储的特点
(1)虚拟存储提供了一个大容量存储 体系集中管理的手段,由网络中的一个环节进行统一 管理,避免了 由于存储设备扩充所带来的管理方面的麻烦。例如,增加新的存储设备时,只需 要管理员对存储 体系进行较为简单的配置更改,客户端无需任何操作。
(2)虚拟存储可以大大 进步存储 体系整体访问带宽。存储 体系是由多个存储模块组成的, 而虚拟存储 体系可以很好地进行负载平衡,把每一次数据访问所需的带宽合理地分配到各个存 储模块上,这样, 体系的整体访问带宽就增大了。 而虚拟存储 体系可以很好地进行负载平衡,把每一次数据访问所需的带宽合理地分配到各个存 储模块上,这样, 体系的整体访问带宽就增大了
(3) 虚拟存储技术为存储资源管理提供了更好的灵活性和兼容性,可以将不同类型的存储 虚拟存储技术为存储资源管理提供了更好的灵活性和兼容性,可以将不同类型的存储 设备集中管理使用,保护用户的已有投资。 设备集中管理使用,保护用户的己有投资。
(4) 虚拟存储技术可以通过管理软件,为网络 体系提供一些其他的有用功能,例如,无须 服务器的远程镜像和数据快照等。 虚拟存储技术可以通过管理软件,为网络 体系提供一些其他的有用功能,例如,无须 服务器的远程镜像和数据快照等。
(5) 虚拟存储技术将计算机的应用 体系与存储设备分离,使各种不同的存储设备具有标准 虚拟存储技术将计算机的应用 体系与存储设备分离,使各种不同的存储设备具有标准 的存储特性,而应用 体系无须关心数据存储的具体设备,减轻了应用 体系的负担。