之前学习相关存储器的时候,对各种存储器的介质都不太了解,比如nand flash、SDRAM、 DDR4、DDR5这些名词的含义以及发展历史是什么?本文旨在给不了解的人扫盲。
存储介质基本分类
存储介质基本分类为ROM和RAM。
- RAM:随机访问存储器(Random Access Memory),易失性。是与CPU直接交换数据的内部存储器,它可以随时读写,而且速度很快当电源关闭时RAM不能保留数据, 常用作为内存的介质。
- ROM:只读存储器(Read Only Memory),非易失性。一般是装入整机前事先写好的,整机工作过程中只能读出。ROM所存数据稳定,断电后所存数据也不会改变。计算机中的ROM主要是用来存储一些系统信息,或者启动程序BIOS程序,这些都是非常重要的,只可以读一般不能修改,断电也不会消失。
RAM和ROM相比,两者的最大区别是RAM在断电以后保存在上面的数据会自动消失,而ROM不会自动消失,可以长时间断电保存。
随机访问存储器:RAM
随机访问存储器分为两类:静态的和动态的。静态的RAM(SRAM)比动态RAM(DRAM)更快,但也贵很多。
SRAM
SRAM存储器单元具有双稳态特性,只要有电,它就会永远的保持它的值。一般用于CPU中的cache(高速缓冲存储器)
DRAM
动态RAM。DRAM使用电容来存储数据,电容会逐渐漏电,因此需要定期刷新以保持数据的正确性。
SDRAM(Synchronous DRAM)
同步DRAM。*1996年底出现,为了与CPU的计时同步化所设计,亦可称为SDR SDRAM(Single Data Rate SDRAM),意指SDR SDRAM在1个周期内只能读写1次,若需要同时写入与读取,必须等到先前的指令执行完毕,才能接着存取。
DDR
全称为双倍数据速率同步 DRAM(Double Data-Rate Synchronous DRAM)为双通道同步动态随机存取内存,是新一代的SDRAM技术。别于SDR(Single Data Rate)单一周期内只能读写1次,DDR的双倍数据传输率指的就是单一周期内可读取或写入2次,速率是双倍。
DDR2/3/4/5
后面出现的DDR2/3/4/5其实都是在提高频率,降低电压,达到更高的io效率。
而DDR5与DDR4的区别就是从一个64bit的单通道, 变成了2*32的双通道, 双通道的速率相对单通道速率可以提升。
可以看我之前写的文章 一文了解内存物理结构
只读存储器:ROM
计算机存储器在其上数据已被预先记录。一旦将数据写入ROM 芯片,就无法将其删除,只能读取。与主存储器(RAM)不同,即使计算机关闭,ROM也会保留其内容。,虽然ROM中有的类型可以读也可以写,但是整体上都被称为只读存储器
PROM/EPROM/EEPROM
- PROM(Programmable ROM):可编程ROM,只能被编程一次。
- EPROM(Erasable Programmable ROM,EPROM):可擦写可编程ROM,擦写可达1000次。
- EEPROM(Electrically Erasable Programmable ROM,电子可擦除EPROM)
之前主板上的bios芯片一般是EEPROM, 近年逐渐被FLASH ROM取代
flash
基于EEPROM,flash已经成为一种重要的存储技术。固态硬盘(SSD)U盘等就是一种基于闪存的存储器
闪存可根据半导体芯片内的电路排列方式进行分类。垂直排列的闪存称为NAND闪存,水平排列的闪存称为NOR闪存。
nor flash
nor flash由Intel于1988年开发出来,彻底打破了EPROM和EEPROM分割市场的局面。
- NOR闪存的存储单元是水平排列的,因此它具有比NAND闪存读取速度更快的结构,能够更快地确定数据的位置。
- NAND闪存更容易增加存储容量,写入速度也更快,成本相对高,容量相对小,适合应用于存储少量的代码。
应用:
- TWS(真无线蓝牙耳机),比如Apple(苹果)的AirPods等
- 汽车系统,从最初的车用广播需要1Mb的低端NOR,发展到中控系统搭载128Mb~256Mb的。
- 5G基站使用的NOR Flash,大约是1~2G的产品,
- 手机方面,用在手机中的BIOS程序、引导加载程序,AMOLED屏幕的光学补偿等
总之,nor flash有“小而美”的特点。
nand flash
1989年,东芝公司发表了NAND Flash 结构,强调降低每比特的成本,有更高的性能,NAND的写入速度比NOR快很多,拥有更大的容量。
现在的 USB 硬盘和手机储存空间,就是用 NAND Flash 为主流技术。固态硬盘(Solid State Drive, SSD)也是以 NAND 型 Flash 为基础所建构的储存装置。
下图是NVMe M.2硬盘
内存
内存模组(或者说内存条)有不同的类型。
主要分为 UDIMM、RDIMM,、LRDIMM、NVDIMM、SODIMM等
UDIMM
UDIMM:全称Unbuffered DIMM,即无缓冲双列直插内存模块,无寄存器,带ECC(纠错内存)。
我们平时台式机的内存用的就是 不带ECC的 UDIMM, 即 Non-ECC DIMM.
数据从CPU传到每个内存颗粒时,UDIMM需保证CPU到每个内存颗粒之间的传输距离相等,这样并行传输才有效,而这需要较高的制造工艺,因此UDIMM在容量和频率上都较低。
同时,一些高端台式机、高端笔记本电脑、服务器也会有带ECC的UDIMM。
应用:服务器/台式机(工作站)
RDIMM
RDIMM:全称Registered DIMM,带寄存器的双列直插内存模块。RDIMM在内存条上加了一个寄存器进行传输,其位于CPU和内存颗粒之间,减少并行传输的距离,又保证传输的有效性。由于寄存器效率很高,相比UDIMM,其容量和频率更容易提高。
应用:服务器
下图是Micron 64GB DDR4-3200 RDIMM 2Rx4
LRDIMM
LRDIMM:全称Load Reduced DIMM,低负载双列直插内存模块。相比RDIMM,LRDIMM并未使用复杂寄存器,只是简单缓冲,缓冲降低了下层主板上的电力负载,但对内存性能几乎无影响。
此外,LRDIMM内存将RDIMM内存上的Register芯片改为iMB(isolation Memory Buffer)内存隔离缓冲芯片,直接好处就是降低了内存总线负载,进一步提升内存支持容量。
应用:服务器
SODIMM
SODIMM,即小型双列直插式内存模块,是一种改良型的DIMM模块,体积比一般DIMM模块小,主要用于笔记本电脑、列表机、传真机和各种终端机等。SODIMM的特点是体积更小(大约是正常DIMM尺寸的一半),因此特别适用于对尺寸要求较高的场合。
应用:笔记本电脑
NVDIMM
NVDIMM (Non-Volatile DIMM)非易失性双列直插式内存模组, 是一种由DRAM、NAND和Controller组成的内存解决方案。
以下是美光的32GB DDR4 NVDIMM
在断电时,超级电容提供备份数据所需的电源。从而使存储在DRAM中的数据安全地转移到NAND。
NVDIMM的主要应用领域是服务器和存储,这两个领域对数据的安全性要求都很高。
JEDEC组织定义了多种NVDIMM,包括NVDIMM-N、NVDIMM-F、NVDIMM-P和NVDIMM-H(标准在研)。
硬盘
硬盘分为机械硬盘和固态硬盘。
机械硬盘
机械硬盘是传统的硬盘,因为其通过磁头读写盘片上的数据,而磁头是装在机械的磁臂上,所以称之为机械硬盘。
磁头可沿盘片的半径方向运动,加上盘片每分钟几千转的高速旋转,磁头就可以定位在盘片的指定位置上进行数据的读写操作。信息通过离磁性表面很近的磁头,由电磁流来改变极性方式被电磁流写到磁盘上,信息可以通过相反的方式读取。
工作原理有兴趣可以在网上查查。
- 根据接口不同,分为SATA硬盘,接口速率为为6Gb/s;SAS硬盘,接口速率为12Gb/s。
- 根据尺寸不同,分为3.5英寸硬盘和2.5英寸硬盘。
- 根据转速不同,分为7200rpm、10000rpm、15000rpm。
固态硬盘
固态硬盘以前面提到的NAND闪存为存储颗粒。
对比机器硬盘:
- 固态硬盘的读写速度远超机械硬盘。
- 固态硬盘读取数据不会对闪存造成使用寿命的损耗,只有在写入数据时才会有损耗
- 在数据恢复方面,机械硬盘由于其物理性质,在硬盘损坏时,通过专业手段有可能恢复数据。固态硬盘一旦损坏,数据恢复的难度和成本则相对较高。
- 机械硬盘存储容量是真的香,通常比SSD大得多,且价格更便宜些
接口
我们平时接触到的硬盘,大多数用的是 SAS, SATA的接口, 有时也会看到m.2接口的硬盘,以下对各种接口进行简单的介绍。
IDE接口 (已淘汰)
SCSI接口 (淘汰)
SATA接口
使用 SATA(Serial ATA)口的硬盘又叫 串口硬盘。目前速率大约在6.0Gbps
SAS接口
Serial Attached SCSI,串行SCSI。SAS的接口技术可以向下兼容SATA。
SAS一般是作企业级硬盘,一般用于企业服务器。
SATA硬盘可以直接使用在SAS的环境中,但是SAS却不能直接使用在仅支持SATA的环境中。
目前速率大约在24Gbps。
M.2接口
2013年诞生的M.2接口,是Intel推出的一种替代MSATA新的接口规范。
按照插槽来划分可以分为BKey和MKey.
- Bkey支持SATA通道和PCI-EX2通道,常见于笔记本
- Mkey支持PCI-E x 4通道,在PCI-E*4通道上可以支持NVME协议,理论带宽32Gbps。常见于台式机和服务器
一开始,B key的只能插在b key(Socket 2)的接口中,m key的只能插在m key(Socket 3)的接口中,但是随着m key接口的普及,越来越多电脑主板只有m key 接口,b key的ssd根本插不上去,于是厂商们又设计了一个b&m key接口的ssd。
现在市面上只有b&m key和m key两种m2 ssd卖, b key的m2 ssd 已经绝迹。
按照接口协议可以分为:STAT和NVME
SATA协议,带宽6Gb/S,实际传输速度不超过600MB/S,和普通固态没有区别;
NVME是PCI-E 3.0X4协议,带宽32Gb/S,实际传输速度上限可以达到3200MB/S,传输速度远远超过SATA协议硬盘。
在市面上你能买到的ssd中,绝大多数b&m key的ssd都是不支持nvme协议的,只支持sata协议,所有m key的ssd都支持nvme协议。
下图是金士顿SATA M.2 固态硬盘, 2022年后金士顿不再生产基于 SATA 的 M.2 SSD。
下图是NVMe M.2 固态硬盘
感兴趣可以看金士顿的文章 : M.2 固态硬盘的两种类型:SATA 和 NVMe
U.2接口
U.2 也叫 SFF-8639,为企业存储提供到SSD的PCIe连接,并且能兼容SAS和SATA。
M.2 和 U.2 都可以走 PCIe 3.0 x4通道,同样支持NVMe规范,两者可以转换。U.2可以专程M.2接口,只要M.2接口也是32Gbps带宽,这种转换不会有性能损失。
U.2 接口SSD存储主要是企业级产品,市场上只有Intel公司提供了消费级 U.2 SSD磁盘,所以直接购买成本非常高。
目前网上消费级硬盘大多是m.2接口
PCIE接口
在传统SATA硬盘中,当我们进行数据操作时,数据会先从硬盘读取到内存,再将数据提取至CPU内部进行计算,计算后写入内存,存储至硬盘中;
而PCI-E就不一样了,数据直接通过总线与CPU直连,省去了内存调用硬盘的过程,传输效率与速度都成倍提升。
很显然,PCI-E SSD传输速度远远大于SATA SSD。
缺点就是贵,另外,由于PCI-E会占用总线通道,入门以及中端平台CPU通道数较少,都不太适合添加PCI-E SSD。 家用级几乎不会用到。
接口总结
下面用找来的一张图总结:
磁盘RAID
一般服务器都会组建Raid,到达磁盘冗余,有一定的容灾能力,当一块盘坏之后,系统还可以正常工作。
RAID 全称为独立磁盘冗余阵列(Redundant Array of Independent Disks),也就是我们常说的磁盘阵列,是一种磁盘冗余技术。RAID技术的基本思想就是把多个硬盘组合起来,成为一个硬盘阵列组,以达到预期的性能和容量,同时还具备数据保护等功能。
际应用领域中使用最多的 RAID 等级是 RAID0 、 RAID1 、 RAID3 、 RAID5 、 RAID6 和 RAID10。
RAID0
RAID 0称为Stripe(条带化)或Striping,是一种简单的、无数据校验的数据条带化技术
RAID 0把连续的数据分散到多个磁盘上存取,系统有数据请求就可以被多个磁盘并行的执行,
优缺点:
优点:具有低成本、高读写性能、 100% 的高存储空间利用率
缺点:不提供数据冗余,因此一旦用户数据损坏,损坏的数据将无法得到恢复
RAID1
RAID 1又称为Mirror或Mirroring(镜像),它将数据完全一致地分别写到工作磁盘和镜像磁盘,它的磁盘空间利用率为 50%;
RAID1 在数据写入时,响应时间会有所影响,但是读数据的时候没有影响。
RAID1 提供了最佳的数据保护,一旦工作磁盘发生故障,系统自动从镜像磁盘读取数据,不会影响用户工作。
优缺点
优点:较高的数据安全性,拥有完全容错的能力
缺点:磁盘空间利用率低,存储成本高
RAID5
RAID5 的磁盘上同时存储数据和校验数据,数据块和对应的校验信息存保存在不同的磁盘上,当一个数据盘损坏时,系统可以根据同一条带的其他数据块和对应的校验数据来重建损坏的数据。与其他 RAID 等级一样,重建数据时, RAID5 的性能会受到较大的影响。
RAID6
RAID6 引入双重校验的概念,它可以保护阵列中同时出现两个磁盘失效时,阵列仍能够继续工作,不会发生数据丢失。 RAID6 等级是在 RAID5 的基础上为了进一步增强数据保护而设计的一种 RAID 方式,它可以看作是一种扩展的 RAID5 等级。
RAID10/01
RAID 0+1是先做条带化再作镜像,本质是对物理磁盘实现镜像。而 RAID10 是先做镜像再作条带化,是对虚拟磁盘实现镜像。相同的配置下,通常 RAID01 比 RAID10 具有更好的容错能力。
RAID01 兼备了 RAID0 和 RAID1 的优点,它先用两块磁盘建立镜像,然后再在镜像内部做条带化。 RAID01 的数据将同时写入到两个磁盘阵列中,如果其中一个阵列损坏,仍可继续工作,保证数据安全性的同时又提高了性能。
RAID01 和 RAID10 内部都含有 RAID1 模式,因此整体磁盘利用率均仅为 50%
总结
其他不常用的 raid3,raid4 就不再细说。
总结
本文介绍了存储器类型, 内存相关知识,硬盘接口类型,以及硬盘的raid类型。
希望对你有所帮助
由于参考的文章过多,懒得一一找出来了,对某一项感兴趣的可以自行谷歌~
**粗体** _斜体_ [链接](http://example.com) `代码` - 列表 > 引用
。你还可以使用@
来通知其他用户。