存储技术

    概括性的将存储技术硬件设备,分成三类:硬盘、U盘、内存

①硬盘:把电平通过电磁流写到硬盘上,转换成硬盘里的磁道上的磁性。硬盘里实际上是类似于我们光盘的盘面和一个可以移动的机械臂。

②U盘,存储卡,SSD:他们里面是你所说得到特别细小的电路了,里面有一种叫闪存的芯片,可以长时间存储数据。

③内存:那就是通过电容来存储数据了。它的存储方式比较奇特。它是由仅能存在几毫秒,但有一个不断能刷新的放大电路来刷新的电容来保存数据。

一、硬盘简介。

  硬盘是我们电脑、手机等电子产品上不可或缺的部分。在数据中心的存储设备,也主要是由一块一块的硬盘组成的。硬盘的主要作用是存储数据,保护数据。而随着科技的发展,硬盘的读写速度、容量等方面也在发生着变化。

 

二、各硬盘介绍。

  现在我们常用的硬盘有机械硬盘、固态硬盘、混合硬盘三种。这三种硬盘各有各的优点与缺点。

  1、机械硬盘:机械硬盘是现在最常见最廉价的一种硬盘,它主要有盘片,磁头,盘片转轴及控制电机,磁头控制器,数据转换器,接口,缓存等几个部分组成。

  ① 盘片:硬盘中一般会有多个盘片组成,不同型号的磁盘盘片数量可能不一样。每个盘片包含两个面,每个盘面都会对应一个磁头。一般情况下,盘片的编号自下向上从0开始。数据都会保存在盘片上,而数据的存储依靠盘片上附着的磁性物质。由于磁分两级,正好可以表示二进制的0和1。

  盘片分为磁道和扇区,如下图,绿色部分为磁道,蓝色部分为扇区。

  磁道是盘面中一圈圈绿色同心圆称为磁道

  扇区是从圆心向外画直线,可以将磁道划分为若干个弧段,每个磁道上一个弧段被称之为一个扇区,扇区是磁盘的最小组成单元,通常是512字节。(由于不断提高磁盘的大小,部分厂商设定每个扇区的大小是4096字节)

  ② 磁头:存储数据时,它可以对硬盘盘片表面上附着的磁性物质的磁极进行改变,读取数据时,则是通过磁头去感应磁阻的变化。这里磁头扮演者极为重要的角色,它也是硬盘里最昂贵的部件。

  ⑤ 盘片转轴:使盘片进行高速水平转动,从而使得磁头可以读取盘片上的不同扇区的数据。转速一般为5400rpm/m、7200rpm/m、SCSI、SAS型(服务器)的硬盘一般为10000rpm/m、15000rpm/m。转速越快,读/写数据的速度越快。缺点:转速越高,噪音越大、功耗越高、使用寿命越低。

  ⑥ 磁头控制器:使磁头进行水平圆弧型运动,与磁盘转轴相结合,可以使磁头读取盘片上的任意扇区内的数据。

  ⑦ 缓存:在机械硬盘中,缓存就是为了加速读/写速度的。如内存中的数据写入到硬盘中,由于内存速度比硬盘快的多,这就导致写入速度太慢,而缓存则大大缓解了这个问题,先将数据写入缓存区,之后硬盘本身再将数据保存到盘片中,而不占用其他资源。而对于读取数据,如果一个数据刚刚被读取过,将临近它位置的数据保留在缓存区中,读取时,若命中,则直接从缓存区读出;若没有命中,则会再次从盘片上读取。

  

  2、固态硬盘:固态硬盘的接口规范和定义、功能及使用方法上与普通硬盘几近相同,外形和尺寸也基本与普通的 2.5英寸硬盘一致。主要由三部分组成:主控芯片、NAND闪存芯片、固件算法。

  ① 主控芯片:主控芯片一方面负责合理调配数据在各个闪存芯片上的负荷,另一方面承担了整个数据中转,连接闪存芯片和外部接口。除此之外,主控还负责ECC纠错、耗损平衡、坏块映射、读写缓存、垃圾回收以及加密等一系列的功能。

  ② NAND闪存芯片:存储数据的地方,根据不同颗粒的分类,分为::SLC(每个存储单元存储1bit数据)、MLC(每个存储单元存储2bit数据)、TLC(每个存储单元存储3bit数据)。SLC成本高,数据与数据之间影响较小,读写速度极快,数据出错的可能性极小,使用寿命较长;而TLC成本低,但是据与数据之间影响较大,读写速度慢且极易出错,使用寿命较短。

  ③ 固件算法:主控使用固件算法中的控制程序,去执行自动信号处理,耗损平衡,错误校正码(ECC),坏块管理、垃圾回收算法、与主机设备通信,以及执行数据加密等任务。由于固件冗余存储至NAND闪存中,因此当SSD制造商发布一个更新时,需要手动更新固件来改进和扩大SSD的功能。

 

  3、M.2固态硬盘:M.2接口最主要有以下几个优点:支持更高的速率,潜力大;相对PCI-Emini card,节约20%的PCB空间,节省15%的连接器高度,更小巧玲珑;支持PCI-E3.0,USB3.0和SATA3.0三种当前主流标准,接口更“全能”。

 

三、接口模式

  一般平常家用的计算机都是IDE、SATA、M.2等接口模式;服务器/存储端使用SCSI、SAS接口模式

  ① IDE接口模式为电子集成驱动器,出现时间比较早,该模式下硬盘价格低廉、兼容性强、性价比高,但是现在基本没有IDE接口模式的硬盘了。

  ② SATA接口模式相对于IDE出现时间较晚,但是数据传输时会对数据进行纠错,可靠性较高,目前主流接口为SATA3接口。

  ③ M.2接口模式是新型的硬盘接口模式是inter发布的一种新的主机接口方案,可以兼容多种通信协议。同时也有体积小、速度快的优点。

  ④ SCSI接口模式则完全通过独立的高速的SCSI卡来控制数据的读写操作,CPU就不必浪费时间进行等待,显然可以提高系统的整体性能。连接7—15个设备,性能更稳定、耐用,可靠性也更好。

  ⑤ SAS接口模式是将SATA与SCSI两者相结合,这样就可以同时发挥两者的优势了。在这种情况下SAS应运而生。

四、硬盘模式

  现有技术中,硬盘有两种模式:MBR、GPT(有时会有GUID模式,使用GUID分区表的磁盘称为GPT磁盘)

  MBR(主引导记录区):此模式为比较早期的磁盘分区模式,最多支持4个主分区或n(0<n<4)个主分区加1个扩展分区。最大支持的硬盘容量为2TB,超出部分将无法识别与使用。

  GPT(GUID分区表):此模式下硬盘主分区没有个数限制(Windows系统中限制最多128个分区),支持超过2TB的硬盘容量。但是并不是所有Windows系统支持GPT分区启动系统。

 

五、文件系统

  1、在Windows中,文件系统包括FAT16、FAT32、NTFS。Linux中包含EXT2、EXT3、EXT4、XFS。

  磁盘在分出分区后,每一分区都会保留一小块空间,这小块空间存储的就是文件系统。分区需要进行格式化,而格式化过程就是文件系统选择与重置的过程。

  注:这一小块保留的文件系统空间看不到;Windows中快速格式化只是删除了文件系统中记录的数据,而磁盘中的文件没有删除,可以通过软件找回。前提是没有再次写入数据。当保留的小空间写满后(情况比较极端),这样虽然硬盘有空间,但是依然无法写入数据。

  2、文件系统类似于一个文件索引,称为node。一般情况下,对于硬盘中的每一个文件都会有一个相对应的Inode,大小为128字节。每个Inode是由Inode ID、文件各个时间、文件权限、存储位置等组成。当Inode丢失后,硬盘中对应的文件便无法找到(可以通过软件恢复Inode)

  

六、数据块(簇)

  Windows中称为簇、Linux中称为块。是存储数据的最小单位。是由多个扇区组成(每个簇可以包括2、4、8、16、32或64个扇区),一般的默认大小为4096字节。一个簇/块中只能存储一个文件,一个文件可以被存储在多个簇/块中。例如一个10KB的文件,每个簇/块大小为4KB,则需要三个簇/块来进行存储,这样会造成有一个簇/块只使用了2KB。这个簇/块虽然没有完全使用,但是也无法再使用(一个簇/块中只能存储一个文件)。

内存的实现,从底层的二极管到内存的电路结构,本章逻辑线路为:电路–>二极管–>逻辑门–>组合逻辑单元j和存储单元–>内存

我们知道计算机本质是在做0和1的二进制运算,那么内存从抽象意义上看也是保存着0和1,那么问题是怎么保存这些0和1呢?下面就说说内存的硬件实现哈。

电路

先从一个简单电路看起,

image

二极管

然而我们要控制二进制,在计算机里我们用两种互补的二极管(CMOS即n-MOS管和p-MOS管)实现这个开关,这两种原理如下。

image

n-MOS管,栅极端(Gate)通电后,则电路联通,栅极断电则电路断开

image

p-MOS管反过来,栅极端(Gate)通电后,则电路断开,栅极断电则电路联通

提示:小圆圈表示“非”,即取反的意思,若输入为1,流经小圆圈后则变为0

逻辑门

通过这些二极管的组合,我们可以实现计算机里的“与”、“或”、“非”逻辑电路。

非门(NOT):

image

对应真值表:

In Out
0 1
1 0
或门(OR):

image

真值表:

A B C
0 0 0
0 1 1
1 0 1
1 1 1
与门(AND):

image

真值表:

A B C
0 0 0
0 1 0
1 0 0
1 1 1

既然知道逻辑门的二极管实现后则可以用符号替代这复杂的底层实现。

image

看完了逻辑门,紧接着看计算机内的逻辑单元。逻辑单元可以分为两类:

  1. 一类不可存储信息的(组合逻辑单元)

  2. 另一类可存储信息(存储单元)。我们分别介绍和内存相关的几个结构。

组合逻辑单元

不可储存信息的结构:用于计算或控制二进制

  1. 译码器:依据输入端的二进制,在输出端选中某一条电路

image

如图,如果A=0,B=0,则选中最上面的那条线

  1. 多路复用器:根据控制信号,只选择输入端的某根电路,把这根线输出到输出端

image

如图,若S1=0,S2=0,则A线路被选中,A的值即是输出值。

存储单元

可存储信息的结构:可用于保存二进制

  1. 门控D锁存器

    image

  • WE=0时(不可读写),S和R必为1,则电路稳定,out端可保持原来的值

  • WE=1时(可读写),则根据D的值,out端变为对应的值。然后恢复WE=0则保存起来

  1. 寄存器:
    一个门控D锁存器只能保存一个bit,则组合起来就能保存n个bit,这就是寄存器

image

介绍完这些组成结构后,我们终于可以讲解内存啦!

内存

先介绍两个概念:

  1. 寻址空间:即能保存多少个内存地址,我们通常意义上的4G内存,就表示计算机能保存2的32次方个地址!能保存这么多地址,也就能找到这些地址上的二进制信息

  2. 寻址能力:每个地址里具体存多少个bit,由于历史原因,绝大部分计算机都是8bit的寻址能力。

那么我们来看一个超简单的内存哈。这个内存是2的2次方的寻址空间,即只能查找4个地址。寻址能力是3个bit,即每个地址只能存3个bit。

如图

  1. 内存的寻址由一个2个输入的译码器实现。译码器根据A1和A2的输入,选中对应的一条线,即找到地址对应的存储空间。

  2. 内存存储信息的能力具体实现是由门控D锁存器保存bit信息。

  3. 读取内存的输出由多路复用器实现。根据寻址时译码器选中的某一个线路,每一列的多路复用器只能输出那个线路的对应的那个门控D锁存器保存的bit。则最终的三个bit都是由同一个线路对应的三个门控D锁存器的输出。

这就是内存的实现原理了哈。

Leave a Comment

电子邮件地址不会被公开。 必填项已用*标注