主存储器 编辑

主存储器主存储器

主存储器(Main memory),简称主存。是计算机硬件的一个重要部件,其作用是存放指令和数据,并能由中央处理器(CPU)直接随机存取。现代计算机是为了提高性能,又能兼顾合理的造价,往往采用多级存储体系。即由存储容量小,存取速度高的高速缓冲存储器,存储容量和存取速度适中的主存储器是必不可少的。主存储器是按地址存放信息的,存取速度一般与地址无关。32位(比特)的地址最大能表达4GB的存储器地址。这对多数应用已经足够,但对于某些特大运算量的应用和特大型数据库已显得不够,从而对64位结构提出需求。

发展简介

编辑
主存储器一般采用半导体存储器,与辅助存储器相比有容量小、读写速度快、价格高等特点。计算机中的主存储器主要由存储体、控制线路、地址寄存器、数据寄存器和地址译码电路五部分组成。

从70年代起,主存储器已逐步采用大规模集成电路构成。用得最普遍的也是最经济的动态随机存储器芯片(DRAM)。1995年集成度为64Mb(可存储400万个汉字)的DRAM芯片已经开始商业性生产,16MbDRAM芯片已成为市场主流产品。DRAM芯片的存取速度适中,一般为50~70ns。有一些改进型的DRAM,如EDO DRAM(即扩充数据输出的DRAM),其性能可较普通DRAM提高10%以上,又如SDRAM(即同步DRAM),其性能又可较EDO DRAM提高10%左右。1998年SDRAM的后继产品为SDRAMⅡ(或称DDR,即双倍数据速率)的品种已上市。在追求速度和可靠性的场合,通常采用价格较贵的静态随机存储器芯片(SRAM),其存取速度可以达到了1~15ns。无论主存采用DRAM还是SRAM芯片构成,在断电时存储的信息都会“丢失”,因此计算机设计者应考虑发生这种情况时,设法维持若干毫秒的供电以保存主存中的重要信息,以便供电恢复时计算机能恢复正常运行。鉴于上述情况,在某些应用中主存中存储重要而相对固定的程序和数据的部分采用“非易失性”存储器芯片(如EPROM,快闪存储芯片等)构成;对于完全固定的程序,数据区域甚至采用只读存储器(ROM)芯片构成;主存的这些部分就不怕暂时供电中断,还可以防止病毒侵入。

技术指标

编辑
指标含义表现单位

源极的寄生电容CS中。

写数据时:字线为高电平,T导通。

写“1”时,位线(数据线)为低电平,VDD(电源)将向电容充电

写“0时,位线(数据线)为高电平,若电容存储了电荷,则将会使电容完成放电,就表示存储了“0”。

读数据时:先使位线(数据线)变为高电平,当字线高电平到来时T导通,若电容原存储有电荷(是“1”),则电容就要放电,就会使数据线电位由高变低;若电容没有存储电荷(是“0”),则数据线电位不会变化。检测数据线上电位的变化就可以区分读出的数据是1还是0。

注意

①读操作使电容原存储的电荷丢失,因此是破坏性读出。为保持原记忆内容,必须在读操作后立刻跟随一次写入操作,称为预充电延迟。

②向动态存储器的存储单元提供地址,是先送行地址再送列地址。原因就是对动态存储器必须定时刷新(如2ms),刷新不是按字处理,而是每次刷新一行,即为连接在同一行上所有存储单元的电容补充一次能量。

③在动态存储器的位线上读出信号很小,必须接读出放大器,通常用触发器线路实现。

④存储器芯片内部的行地址和列地址锁存器分先后接受行、列地址。

⑤RAS、CAS、WE、Din、Dout时序关系

主存优化

编辑
市场上并不缺少提高数据存储效率的新技术,然而这些新技术绝大多数都是关注备份和存档的,而非主存储。但是,当企业开始进行主存储数据缩减时,对他们来说,了解主存储优化所要求的必要条件十分重要。

主存储,常常被称为1级存储,其特征是存储活跃数据――即经常被存取并要求高性能、低时延和高可用性的数据。主存储一般用于支持关键任务应用,如数据库、电子邮件和交易处理。大多数关键应用具有随机的数据取存模式和不同的取存要求,但它们都生成机构用来运营它们的业务的大量的数据。因此,机构制作数据的许多份拷贝,复制数据供分布使用,库存数据,然后为安全保存备份和存档数据。

绝大多数数据是起源于主数据。随着数据存在的时间增加,它们通常被迁移到二级和三级存储保存。因此,如果机构可以减少主数据存储占用空间,将能够在数据生命期中利用这些节省下来的容量和费用。换句话说,更少的主存储占用空间意味着更少的数据复制、库存、存档和备份。

试图减少主存储占用空间存储管理人员可以考虑两种减少数据的方法:实时压缩和数据去重。

直到不久前,由于性能问题,数据压缩一直没有在主存储应用中得到广泛应用。然而,Storwize等厂商提供利用实时、随机存取压缩/解压技术将数据占用空间压缩15:1的解决方案。更高的压缩率和实时性能使压缩解决方案成为主存储数据缩减的可行的选择。

在备份应用中广泛采用的数据去重技术也在被应用到主存储。目前为止,数据去重面临着一大挑战,即数据去重处理是离线处理。这是因为确定数量可能多达数百万的文件中的多余的数据块需要大量的时间和存储处理器做大量的工作,因此非常活跃的数据可能受到影响。当前,推出数据去重技术的主要厂商包括NetApp、Data Domain和OcarinaNetworks。

主存部署

编辑

零性能影响

与备份或存档存储不同,活跃数据集的性能比能够用某种形式的数据缩减技术节省的存储容量更为关键。因此,选择的数据缩减技术必须不影响到性能。它必须有效和简单;它必须等价于“拨动一个开关,就消耗更少的存储”。

活跃存储缩减解决方案只在需要去重的数据达到非活跃状态时才为活跃存储去重。换句话说,这意味着实际上只对不再被存取但仍保存在活跃存储池中的文件――近活跃存储级――进行去重。

去重技术通过建议只对轻I/O工作负载去重来避免性能瓶颈。因此,IT基础设施的关键组件的存储没有得到优化。数据库排在关键组件清单之首。由于它们是1级存储和极其活跃的组件并且几乎始终被排除在轻工作负载之外,去重处理从来不分析它们。因此,它们在主存储中占据的空间没有得到优化。

另一方面,实时压缩系统实时压缩所有流经压缩系统的数据。这导致节省存储容量之外的意外好处:存储性能的提高。当所有数据都被压缩时,每个I/O请求提交的数据量都有效地增加,硬盘空间增加了,每次写和读操作都变得效率更高。

实际结果是占用的硬盘容量减少,总体存储性能显著提高。

主存储去重的第二个好处是所有数据都被减少,这实现了包括数据库在内的所有数据的容量节省。尽管Oracle环境的实时数据压缩可能造成一些性能问题,但迄今为止的测试表明性能提高了。

另一个问题是对存储控制器本身的性能影响。人们要求今天的存储控制器除了做伺服硬盘外,还要做很多事情,包括管理不同的协议,执行复制和管理快照。再向这些功能增加另一个功能可能会超出控制器的承受能力――即使它能够处理额外的工作负载,它仍增加了一个存储管理人员必须意识到可能成为潜在I/O瓶颈的过程。将压缩工作交给外部专用设备去做,从性能问题中消除了一个变数,而且不会给存储控制器造成一点影响。

高可用性

许多关注二级存储的数据缩减解决方案不是高可用的。这是由于它们必须立即恢复的备份或存档数据不像一级存储中那样关键。但是,甚至在二级存储中,这种概念也逐渐不再时兴,高可用性被作为一种选择添加到许多二级存储系统中。

可是,高可用性在主存储中并不是可选的选项。从数据缩减格式(被去重或被压缩)中读取数据的能力必须存在。在数据缩减解决方案中(其中去重被集成到存储阵列中),冗余性是几乎总是高可用的存储阵列的必然结果。

在配件市场去重系统中,解决方案的一个组件以数据的原始格式向客户机提供去重的数据。这个组件就叫做读出器(reader)。读出器也必须是高可用的,并且是无缝地高可用的。一些解决方案具有在发生故障时在标准服务器上加载读出器的能力。这类解决方案经常被用在近活跃的或更合适的存档数据上;它们不太适合非常活跃的数据集。

多数联机压缩系统被插入系统中和网络上,放置(逻辑上)在交换机与存储之间。因此,它们由于网络基础设施级上几乎总是设计具有的高可用性而取得冗余性。沿着这些路径插入联机专用设备实现了不需要IT管理人员付出额外努力的无缝的故障切换;它利用了已经在网络上所做的工作。

节省空间

部署这些解决方案之一必须带来显著的容量节省。如果减少占用容量的主存储导致低于标准的用户性能,它没有价值。

主数据不具有备份数据通常具有的高冗余存储模式。这直接影响到总体容量节省。这里也有两种实现主数据缩减的方法:数据去重和压缩。

数据去重技术寻找近活跃文件中的冗余数据,而能取得什么水平的数据缩减将取决于环境。在具有高冗余水平的环境中,数据去重可以带来显著的ROI(投资回报),而另一些环境只能取得10%到20%的缩减。

压缩对所有可用数据都有效,并且它在可以为高冗余数据节省更多的存储容量的同时,还为主存储应用常见的更随机的数据模式始终带来更高的节省。

实际上,数据模式冗余度越高,去重带来的空间节省就越大。数据模式越随机,压缩带来的空间节省就越高。

独立于应用

真正的好处可能来自所有跨数据类型(不管产生这些数据是什么应用或数据有多活跃)的数据缩减。虽然实际的缩减率根据去重数据的水平或数据的压缩率的不同而不同,但所有数据都必须合格。

当涉及存档或备份时,应用特有的数据缩减具有明确的价值,并且有时间为这类数据集定制缩减过程。但是对于活跃数据集,应用的特殊性将造成性能瓶颈,不会带来显著的容量缩减的好处。

独立于存储

在混合的厂商IT基础设施中,跨所有平台使用同样的数据缩减工具的能力不仅将进一步增加数据缩减的ROI好处,而且还简化了部署和管理。每一个存储平台使用一种不同的数据缩减方法将需要进行大量的培训,并造成管理级上的混乱。

互补

在完成上述所有优化主存储的工作后,当到了备份主存储时,最好让数据保持优化的格式(被压缩或去重)。如果数据在备份之前必须扩展恢复为原始格式,这将是浪费资源。

为备份扩展数据集将需要:

使用存储处理器或外部读出器资源解压数据;

扩展网络资源以把数据传送给备份目标;

把额外的资源分配给保存备份数据的备份存储设备。

下一篇 指令寄存器

上一篇 冯诺依曼体系