对于一些基本存储概念的理解

  • 格式:doc
  • 大小:20.00 KB
  • 文档页数:2

对于一些基本概念的理解
首先我们来谈一下对于第二栏的基本概念(IDE、SATA、SCSI、SAS)。

这一栏的基本概念都是硬盘的驱动接口。

由于人们习惯性的叫法,通常对于使用这几种驱动的硬盘人们就会叫做对应的硬盘,如IDE硬盘。

我们再次细分一下IDE和SATA一组,而SCSI和SAS一组。

其中IDE和SATA一般主要针对的应该是家庭用户。

而SCSI和SAS主要是针对的企业级的应用。

这两组中后者都是前者的升级规范标准。

而且我们也看到了一种趋势就是一开始人们使用的并行传输,而后的升级替代标准一般选择了是串行传输。

也许现在时钟频率成倍增长和简单的电路以及数据冗余检测简单是提升数据存储的主要途径吧。

下面我们就分开来介绍一下这些硬盘的驱动接口规范的优缺点。

对于IDE来说最大的优点是简单,和价格便宜以及应用广泛。

在我们现行的PC机子中一般都有IDE 的接口(一般是一个IDE接口一个接硬盘一个接光驱),当然处在一种要淘汰的趋势下,IDE的接口可能变少了但是一般还是会有的。

在IDE接口一个IDE接口最多可以连接两个设备但是由于两台设备共享数据总线所以两台设备不能并行独立工作。

IDE中把两台设备分为“主从”设备的区分,两者只能交替与主机交互数据。

而且主从设备没有明确区分,只要通过调整从设备可以成为主设备同理一样。

这些限制了IDE的扩展是一件非常头疼的事情,因为它接口最多只能支持两个而且线缆长度过短(一般看到的是在机箱内,只是资料这么说)。

其中IDE主要是通过直接的IO中断或者DMA方式与主机进行通讯。

在其控制器中没有IO处理器进行IO传输中全程的处理。

所以总体来讲IDE还是占用了相当一部分的CPU工作周期。

现有的并行传输需要复杂的线路对线路设计做出很高的要求。

而总线时钟频率较低以及复杂的数据冗余这些都是对IDE提升速度的限制。

SATA是对IDE的一种改进或者说是一种替代方案吧。

SATA是一种串行的传输标准。

它不需要复杂的引脚电路。

每次传输一位让它在数据冗余方面变得轻松,当然串行的设备接入方便,扩展性更好。

标准规范讲SATA中线缆长度可达1米以及SATA设备接入支持星状接入(感觉应该就像是星状网络一样)这样对于以后实现硬盘阵列相当方便。

并且现在的SATA可以支持热插拔。

现在一般PC机子都开始提供SATA硬盘接口。

并且开始使用SATA来代替IDE。

在SATA规范是一个正在不断完善的规范,并且标准的版本按照资料提示应该比较多。

并且定义的一些新的技术标准可能在现有的技术背景下对存储器的速度提升并不是很明显(因为现在的机械盘内部的读写速度成为了瓶颈)。

而且新的技术可能支持的芯片还比较少吧(这并不是很清楚,平常没有看过硬盘的这些具体的参数)。

SCSI应该来说最初设计的主要是企业级用户的一种通用接口并不针对硬盘。

而现在我们的PC主板都会提供一个(我自己没有用过,应该是机箱后面那一个有很多针的接口,当时只是知道这个接口一般是预留给打印机的)。

SCSI接口它提供了两种提升数据传输速度的方式,一种是提升数据总线的频率,另外一种是增加数据带宽。

SCSI做为一个并行的标准和IDE最大的区别我觉得应该是SCSI提供了IO处理机,这样数据的传输只需要简单的几条甚至一条CPU指令就可以交给IO处理机进行传输了。

这样既解放了CPU在数据传输中的空跑的现象,也对于不同的速度的存储设备有IO处理机进行一个通道的选择吧。

而SCSI相对于IDE另外一个明显优势就是扩展性好,它可以连接7-15个设备。

而且它的最大线缆可以长达6米。

SAS是一个SCSI的替代标准。

它是串行的连接SCSI。

它的接口电路并且能够支持SATA硬盘。

它最大的优势应该就是灵活性好。

我们选用这种接口可以根据自己的实际情况选用硬盘。

这主要是因为该标准在协议层,SAS由3种类型协议组成,根据连接的不同设备使用相应的协议进行数据传输。

其中串行SCSI协议(SSP)用于传输SCSI命令;SCSI管理协议(SMP)用于对连接设备的维护和管理;SATA通道协议(STP)用于SAS和SATA之间数据的传输。

因此在这3种协议的配合下,SAS可以和SATA以及部分SCSI设备无缝结合。

我觉得正是在协议层上的这种支持使得SAS可以灵活的扩展。

但是对于机械盘来说它同样面对着与SATA的问题。

最大的瓶颈可能是机械盘内部的读写速度而不是接口的速度。

RAID 0、RAID 1、RAID 3、RAID 4、RAID 5、RAID 6、RAID 50系列标准。

RAID本身就是硬盘矩阵存储的概念。

它将不同的硬盘按照矩阵接入到系统。

在这种概念下RAID 0更加符合我们说的矩阵存储。

RAID 0 就是我们所说的高字节交叉编址(或者低字节交叉编址)存储器的一个应用吧。

他把数据按照一定的规
则比如字节的位数进行分拆,然后将得到的数据分别存在不同的存储体(硬盘)中。

这样当主机访问数据请求时,不同的存储体独立工作提高了访问速度。

但是在这种标准模型下有一个最大的缺点就是当一个存储体坏掉以后所有的数据都可能无法访问。

RAID1是对数据安全性提出的一个标准。

它要求物理存储体成对出现,分为正在使用和备份盘。

数据完全即时的备份到备份盘。

当主盘坏掉的时候,主机就会查询备份盘,使主机感觉不到存储体的异常。

当然这样存储体只能有效利用一半的空间另一半是备份盘。

再就是这样是部署存储器价格也相当不菲。

RAID 3是将数据按照字节或者位来分开存储到不同的存储体中。

但是它增加了一块用于奇偶检验的硬盘。

这样当有一个硬盘出错时候它可以生成数据。

并且允许奇偶校验盘失效的时候读写数据。

RAID4 同RAID3大体原理相同,但是数据是按照块来分别存储到不同的存储体中。

RAID5中就不再提供单独的奇偶校验盘了。

它是将数据及校验数据交叉的存储到不同的存储体中。

RAID6在RAID5中增加了一个奇偶校验信息块。

两个校验信息块的计算方法不同,这样使得在RAID6中即使有两块硬盘损坏也不会影响到数据的访问。

RAID50是RAID0和RAID5的一个组合标准。

它的实施标准是RAID5下面每个子盘组中包含三个硬盘,在磁盘组内进行数据的分离。

这样它允许每个磁盘组内有一个损坏的硬盘但是存储器会构建出正确的数据。

DAS、NAS、SAN、IP SAN、ISCSI、FC SAN这些应该是存储器提供的一种服务的部署解决方案标准。

其中DAS是直连式存储。

它是将存储器与主机服务器就像我们PC的硬盘连接相似,存储器的变动都会影响到服务器,存储器的备份以及读写都会占用CPU相当大的工作周期。

同理服务器的扩张也是存储器不能对外提供数据。

ISCSI它是IBM对SCSI的指令与以太网的结合。

SCSI的指令可以在IP协议上运行,使得SCSI 的接口规范不再局限在6米的线缆长度,它可以在ip网络上部署。

SAN的部署感觉到两张图对其解释的相当经典。

上面这张图应该就将了SAN部署的实施方案图。

我们在这张图可以看到SAN是一个局域网中的存储体部署。

它可以提供类似数据库的分层,或者是说网络的分层吧。

使得各个部分的只关心自己层次的部分就好了。

这张图就是SAN与LAN的关系图。

在这张图里面我们看到的是SAN与LAN在速度上不相互影响的原理图吧。

因为SAN它并没有占用LAN的主线。

IPSAN应该是在TCP/IP网络上应用ISCSI实施部署SAN系统的一个部署方案。

而FCSAN就是实施部署SAN的介质是FC光纤了。

早期的SAN采用的是光纤通道(FC,Fiber Channel)技术,所以,以前的SAN 多指采用光纤通道的存储局域网络,到了iSCSI协议出现以后,为了区分,业界就把SAN分为FC-SAN和IP-SAN。

(这是百度百科中关于IPSAN以及FCSAN的一个说明)。

NAS具体不是很明白。

我们是不是可以这样讲SAN只是一个网络或者一种部署方案不能独立的提供服务。

而NAS则是一种服务器的标准,这种解决方案可以独立的提供存储服务并且它可能会用到SAN提供的存储器部署方案。