介绍一下什么是“存储器”
构成存储器的存储介质主要采用半导体器件和磁性材料。存储器中最小的存储单位就是一个双稳态半导体电路或一个CMOS晶体管或磁性材料的存储元,它可存储一个二进制代码。由若干个存储元组成一个存储单元,然后再由许多存储单元组成一个存储器。
分类
根据存储材料的性能及使用方法的不同,存储器有几种不同的分类方法。
1.按存储介质分类
- 半导体存储器:用半导体器件组成的存储器。
- 磁表面存储器:用磁性材料做成的存储器。
2.按存储方式分类
- 随机存储器:任何存储单元的内容都能被随机存取,且存取时间和存储单元的物理位置无关。
- 顺序存储器:只能按某种顺序来存取,存取时间与存储单元的物理位置有关。
3.按存储器的读写功能分类
- 只读存储器(ROM):存储的内容是固定不变的,只能读出而不能写入的半导体存储器。
- 随机读写存储器(RAM):既能读出又能写入的半导体存储器。
4.按信息的可保存性分类
- 非永久记忆的存储器:断电后信息即消失的存储器。
- 永久记忆性存储器:断电后仍能保存信息的存储器。
5.按在计算机系统中的作用分类
- 主存储器(内存):用于存放活动的程序和数据,其速度高、容量较小、每位价位高。
- 辅助存储器(外存储器):主要用于存放当前不活跃的程序和数据,其速度慢、容量大、每位价位低。
- 缓冲存储器:主要在两个不同工作速度的部件起缓冲作用。
数据存储
数据存储是数据流在加工过程中产生的临时文件或加工过程中需要查找的信息。数据以某种格式记录在计算机内部或外部存储媒介上。数据存储要命名,这种命名要反映信息特征的组成含义。数据流反映了系统中流动的数据,表现出动态数据的特征;数据存储反映系统中静止的数据,表现出静态数据的特征。
常见存储方式
DAS
DAS(Direct Attached Storage)直接附加存储
DAS这种存储方式与我们普通的PC存储架构一样,外部存储设备都是直接挂接在服务器内部总线上,数据存储设备是整个服务器结构的一部分。
DAS存储方式主要适用以下环境:
- (1)小型网络
因为网络规模较小,数据存储量小,而且也不是很复杂,采用这种存储方式对服务器的影响不会很大。并且这种存储方式也十分经济,适合拥有小型网络的企业用户。
- (2)地理位置分散的网络
虽然企业总体网络规模较大,但在地理分布上很分散,通过SAN或NAS在它们之间进行互联非常困难,此时各分支机构的服务器也可采用DAS存储方式,这样可以降低成本。
- (3)特殊应用服务器
在一些特殊应用服务器上,如微软的集群服务器或某些数据库使用的原始分区,均要求存储设备直接连接到应用服务器。
- (4)提高DAS存储性能
在服务器与存储的各种连接方式中,DAS曾被认为是一种低效率的结构,而且也不方便进行数据保护。直连存储无法共享,因此经常出现的情况是某台服务器的存储空间不足,而其他一些服务器却有大量的存储空间处于闲置状态却无法利用。如果存储不能共享,也就谈不上容量分配与使用需求之间的平衡。
DAS结构下的数据保护流程相对复杂,如果做网络备份,那么每台服务器都必须单独进行备份,而且所有的数据流都要通过网络传输。如果不做网络备份,那么就要为每台服务器都配一套备份软件和磁带设备,所以说备份流程的复杂度会大大增加。
想要拥有高可用性的DAS存储,就要首先能够降低解决方案的成本,例如:LSI的12Gb/s SAS,在它有DAS直联存储,通过DAS能够很好的为大型数据中心提供支持。对于大型的数据中心、云计算、存储和大数据,所有这一切都对DAS存储性能提出了更高的要求,云和企业数据中心数据的爆炸性增长也推动了市场对于可支持更高速数据访问的高性能存储接口的需求,因而LSI 12Gb/s SAS正好是能够满足这种性能增长的要求,它可以提供更高的IOPS和更高的吞吐能力,12Gb/s SAS提高了更高的写入的性能,并且提高了RAID的整个综合性能。
与直连存储架构相比,共享式的存储架构,比如SAN(storage-area network)或者NAS(network-attached storage)都可以较好的解决以上问题。于是乎我们看到DAS被淘汰的进程越来越快了。可是到目前为止,DAS仍然是服务器与存储连接的一种常用的模式。事实上,DAS不但没有被淘汰,近几年似乎还有回潮的趋势。
NAS
NAS(Network Attached Storage)网络附加存储
NAS方式则全面改进了以前低效的DAS存储方式。它采用独立于服务器,单独为网络数据存储而开发的一种文件服务器来连接所存储设备,自形成一个网络。这样数据存储就不再是服务器的附属,而是作为独立网络节点而存在于网络之中,可由所有的网络用户共享。
NAS的优点:
- (1)真正的即插即用
NAS是独立的存储节点存在于网络之中,与用户的操作系统平台无关,真正的即插即用。
- (2)存储部署简单
NAS不依赖通用的操作系统,而是采用一个面向用户设计的,专门用于数据存储的简化操作系统,内置了与网络连接所需要的协议,因此使整个系统的管理和设置较为简单。
- (3)存储设备位置非常灵活
- (4)管理容易且成本低
NAS数据存储方式是基于现有的企业Ethernet而设计的,按照TCP/IP协议进行通信,以文件的I/O方式进行数据传输。
NAS的缺点:
- (1)存储性能较低
- (2)可靠度不高
SAN
SAN(Storage Area Network)存储区域网络
1991年,IBM公司在S/390服务器中推出了ESCON(Enterprise System Connection)技术。它是基于光纤介质,最大传输速率达17MB/s的服务器访问存储器的一种连接方式。在此基础上,进一步推出了功能更强的ESCON Director(FC SWitch),构建了一套最原始的SAN系统。
SAN存储方式创造了存储的网络化。存储网络化顺应了计算机服务器体系结构网络化的趋势。FC-SAN的支撑技术是光纤通道(FC Fiber Channel)技术。它是ANSI为网络和通道I/O接口建立的一个标准集成。FC技术支持HIPPI、IPI、SCSI、IP、ATM等多种高级协议,其最大特性是将网络和设备的通信协议与传输物理介质隔离开,这样多种协议可在同一个物理连接上同时传送。当然SAN也可以使用IP通道进行部署---IP-SAN。
FC-SAN的硬件基础设施是光纤通道,用光纤通道构建的SAN由以下三个部分组成:
- (1)存储和备份设备:包括磁带、磁盘和光盘库等。
- (2)光纤通道网络连接部件:包括主机总线适配卡、驱动程序、光缆、集线器、交换机、光纤通道和SCSI间的桥接器
- (3)应用和管理软件:包括备份软件、存储资源管理软件和存储设备管理软件。
FC-SAN的优势:
- (1)网络部署容易;
- (2)高速存储性能。因为SAN采用了光纤通道技术,所以它具有更高的存储带宽,存储性能明显提高。SAn的光纤通道使用全双工串行通信原理传输数据,传输速率高达1062.5Mb/s。
- (3)良好的扩展能力。由于SAN采用了网络结构,扩展能力更强。光纤接口提供了10公里的连接距离,这使得实现物理上分离,不在本地机房的存储变得非常容易。
存储方式比较
DAS、NAS和SAN三种存储方式比较
存储应用最大的特点是没有标准的体系结构,这三种存储方式共存,互相补充,已经很好满足企业信息化应用。
从连接方式上对比,DAS采用了存储设备直接连接应用服务器,具有一定的灵活性和限制性;NAS通过网络(TCP/IP,ATM,FDDI)技术连接存储设备和应用服务器,存储设备位置灵活,随着万兆网的出现,传输速率有了很大的提高;FC-SAN则是通过光纤通道(Fibre Channel)技术连接存储设备和应用服务器,具有很好的传输速率和扩展性能。三种存储方式各有优势,相互共存,占到了磁盘存储市场的70%以上。SAN和NAS产品的价格仍然远远高于DAS.许多用户出于价格因素考虑选择了低效率的直连存储而不是高效率的共享存储。
客观的说,SAN和NAS系统已经可以利用类似自动精简配置(thin provisioning)这样的技术来弥补早期存储分配不灵活的短板。然而,之前它们消耗了太多的时间来解决存储分配的问题增加内链,以至于给DAS留有足够的时间在数据中心领域站稳脚跟。此外,SAN和NAS依然问题多多,至今无法解决。但是SAN常用于大型网络存储的建设,并且在混合存储技术成熟的未来,是颇具潜力的。
存储技术
存储技术:不同存储技术的访问时间差异很大。速度较快的技术每字节的成本要比速度较慢的技术高,而且容量小。一种组织存储器系统的方法,成为存储器层次结构(memory hierarchy)。如下图所示,是一个典型的存储器层次结构。
一般而言,从高层往底层走,存储设备变得更慢、更便宜和更大。
- L0是少量快速的CPU寄存器,CPU可以在一个时钟周期内访问它们。
- L1、L2、L3是一个或多个小型到中型的基于SRAM的高速缓存存储器,CPU可以在几个时钟周期内访问它们。
- L4是一个大的基于DRAM的主存,CPU可以在几十到几百个时钟周期内访问它们。
- L5是慢速但是容量很大的本地磁盘。
- L6是一层附加的远程服务器上的磁盘,需要通过网络来访问它们。
存储器层次结构的中心思想是:对于每个k,位于k层的更快更小的存储设备作为位于k+1层的更大更慢的存储设备的缓存。换句话说,层次结构中的每一层都缓存来自较低一层的数据对象。
例如,本地磁盘作为通过网络从远程磁盘取出的文件(如web页面)的缓存,主存作为本地磁盘上数据的缓存,以此类推,直到最小的缓存—CPU寄存器。
如上图所示,第k层的存储器被划分成较少的块的集合,每个块的大小与k+1层的块的大小一样。在任何时刻,第k层的缓存包含第k+1层块的一个子集的副本。
当程序需要第k+1层的某个数据对象d时,首先在当前存储在第k层的一个块中查找d。如果d刚好缓存在第k层,那么就是缓存命中(cache hit)。该程序直接从第k层读取d,根据存储器层次结构的性质,这要比从第k+1层读取d更快。另一方面,如果第k层没有缓存数据对象d,即缓存不命中(cache miss)。当发生缓存不命中时,第k层的缓存从第k+1层缓存中取出包含d的那个块,如果第k层缓存已经满了,就会覆盖现存的一个块。
概况来说,基于缓存的存储器层次结构行之有效,是因为较慢的存储设备比较快的存储设备更便宜,还因为程序倾向于展示局部性:
- 利用时间局部性:由于时间局部性,同一数据对象可能会被多次使用。一旦一个数据对象在第一次不命中时被复制到缓存中,我们就会期望后面对该目标有一系列的访问命中,从而提高访问速度。
- 利用空间局部性:块通常包含有多个数据对象,由于空间局部性,我们会期望后面对该块中其他对象的访问能够补偿不命中后复制该块的花费。
存储媒介类型
- 硬盘
- 磁带
- 光盘
- 移动存储设备
- 网盘、云盘