转载 [网络天地][转贴]服务器基础知识( 五 )


2. dram相关知识
* 基本工作原理 dram是以逻辑阵列形态的基本储存单位来保持数据的 , 因此在存取时必须提供一个行地址和一个位地址来确定数据的正确位置 。 第一步是由列地址信号启动 , 即ras(row address strobe) , 当此信号启动时 , 整列的数据都等待着被输出或输入 , 接着便是由行地址信号启动 , 即cas(column address strobe) , 当行地址信号启动时 , 便在之前已选中的该列中挑出包含所匹配的行地址数据的基本储存单位 , 并将该数据输出或输入到数据总线 。
* 突发模式 突发模式访问不同于一般模式访问 , 能一次传输一批数据 。 第一次的内存访问通常要4-7个时钟周期 , 这叫做存储器的反应时间(latency) 。 如果读取连续的4个内存地址 , 则对第2 , 3 , 4次的内存访问就不必再次的提供地址 , 可以在1-3个时钟周期内完成 , 这就是突发模式访问的原理 。 如果总线宽度为64bit , 则一次突发访问可以依次读取256bits的数据 , 系统的二级缓存被设计成使用256bits的宽度来适应这种访问模式 , 能够存储一次突发访问中读取的所有数据位 。 突发模式的系统定时通常表示成简写的形式:x-y-y-y 。 x代表第一次访问所需的时钟周期的数量 , y代表进行随后的访问所需的时钟周期的数量 。 通常fpm的y值为3 , edo的y值为2 , 而sdram的y值只有1 。
* 接口类型 simm 是single-in line memory module的简写 , 即单边接触内存模组 , 其电路板上焊有数目不等的内存ic芯片 , 即各种dram芯片 , 此种内存条又分为30个金属引脚(30线)和72线 。 dimm 是dual in-line memory module的简写 , 即双边接触内存模组 , 也就是说这种类型接口内存的插板的两边都有数据接口触片 , 这种接口模式的内存广泛应用于现在的计算机中 , 通常为84针 , 但由于是双边的 , 所以一共有84×2=168线接触 , 故而人们经常把这种内存称为168线内存 , 而把72线的simm类型内存模组直接称为72线内存 。 edo dram内存既有72线的 , 也有168线的 , 而sdram内存通常为168线的 。
3. 内存的错误更正功能(ecc) ecc(error check & correct)的功能不但使内存具有数据检查的能力 , 而且使内存具备了数据错误修正的功能 , 奇偶校验为系统存储器提供了一位的错误检测能力 , 但是不能处理多位错误 , 并且也没有办法纠正错误 。 它用一个单独的位来为8位数据提供保护 。 ecc用7位来保护64位 , 它用一种特殊的算法在这7位中包含了足够的详细信息 , 所以能够恢复被保护数据中的一个单独位的错误 , 并且能检测到2 , 3甚至4位的错误 。 大多数支持ecc内存的主板实际上是用标准的奇偶校验内存模块来工作在ecc模式 。 因为64位的奇偶校验内存实际上是72位宽 , 所以有足够的位数来做ecc 。 ecc需要特殊的芯片组来支持 , 芯片组将奇偶校验位组合成ecc所需的7位一组 。 芯片组一般允许ecc包含一种向操作系统报告所纠正错误的方法 , 但是并不是所有的操作系统都支持 。 windows nt和linux会检测这些信息 。
另外 , ecc将会使系统略微变慢 , 原因是ecc的算法比较复杂 , 为了纠正一位的错误需要消耗一定的时间 , 通常是在每次存储器读时序中增加一个等待状态 , 结果是整个系统的性能约下降2-3% 。 但由于这种dram内存在整个系统中较稳定 , 所以仍被用于局域网络的文件服务器或internet服务器 , 其价格较贵 。

猜你喜欢