Doserv技术分析:固态硬盘革命即将到来

一场固态硬盘席卷传统硬盘在服务器和企业存储设备领域市场份额的革命即将开始。

随着各大制造商以迅雷之势开始对从iPods播放器到可移动存储媒体到超便携式笔记本等领域的硬盘配置进行创新,固态硬盘对消费类产品市场的冲击已经形成不可阻挡的趋势。消费类市场所发生的一切大概1年后就会在企业类设备商成为现实,使得服务器市场直接成为固态硬盘大展拳脚的前沿阵地。

固态硬盘能将占据主导地位的原因是固态硬盘能为服务器管理员提供一些显而易见的好处。他们中很多人受到一个事实的困扰,就是固态硬盘不能像传统硬盘那样具备可移动的部件(传统硬盘是采用金属碟片+磁性材料进行数据读写的),因为他们是固态的,因此固态硬盘不会产生机械故障,从而更加可靠和能够承受极端震荡,振动和各种温度变化。这也就意味着它的能耗较少(估计闲置状态下的能耗仅为0.5瓦特,工作状态下的能耗为2.4瓦特,而传统的硬盘闲置能耗为4.5瓦特,工作能耗为6瓦特),产生的热量也较少。

但是或许固态硬盘最大的优势还在于它惊人的数据随机存取速度。传统硬盘的工作原理是,访问转动的硬盘上的指定数据是将读写磁头指向特殊位置,等待需要读取的数据由转动的磁头读出。这些机械动作需要花费时间,时间的多少取决于读取请求发出时磁头和磁盘上数据的相对位置。通常读取时间为5-10毫秒。

值得对比的是,固态硬盘可以非常快速的读取任何指定数据,不管数据存储在何处。存取时间也是不变的(甚至当磁盘闲置一段时间也是如此),需要花费的时间是0.075毫秒,比传统硬盘的数据存取速度要快了大概100倍。磁盘出现碎片也不受影响,因为存储时间与数据的物理位置是没有关系的。

看到硬盘性能的提升,你可以往能用固态硬盘来取代传统硬盘,我们可以做一个快速的测试–与测试系统上使用SATA II硬盘启动操作系统所需的时间为32秒相比,在测试系统上一个售价99美元的32GB Crucial Internal 2.5"固态硬盘能将启动Ubuntu 8.04系统所需的时间减少到18秒(这并不是一项严格的测试,但是从某一方面反映出固态硬盘在读取时间上的大幅改进)。

固态硬盘飞快的读取速度对运行网络服务器和某些数据库的特定应用软件非常具有吸引力,因为对于这些应用软件来说,高性能是关键,输入/输出速度是瓶颈。固态硬盘的不足之处就是他们的就爱个:一款OCZ Vertex 250G固态硬盘大约750美元的售价足以让普通用户望而却步,这个价格是同样容量的传统Seagate Barracuda硬盘售价的10倍左右。但是随着固态硬盘价格的下降(目前每年调整的比例大概为60%),那些运行速度型应用软件服务器将越来越多的会考虑使用固态硬盘。如果价格以目前预期的下降幅度继续走低,固态硬盘将开始在未来三年内取代存储阵列领域中的高性能光纤通道硬盘。

尽管固态硬盘与传统硬盘相比,在存取时间上表现非常出众,当时当他们写入数据时却是完全不同的两回事。将数据写入固态硬盘比起传统硬盘的过程要慢,这主要是因为"写入放大"这种现象加剧的结果。基本上说,一个固态硬盘要立即写入一整套完整的数据,因此将4KB数据写入内存可能就需要从固态硬盘中读取256KB或者更多的数据,向现有的数据新增4KB的容量,然后重新写入256KB的数据块返回到固态硬盘。固态硬盘技术的进步正在使得写入放大和写入加快,并尽可能的减少问题的发生,但是向固态硬盘写入数据目前比向传统硬盘写入数据明显要慢得多。

固态硬盘还有几个潜在的大问题,那就是处理个体存储单元写入时间的限制。根据内存数量的不同,可能仅为10000写入次数这么少,或者100万以上那么多。可以通过一项称为wear leveling的技术来缓解这个问题,这个技术能保证固态硬盘的所有部件都同时使用,这样就不会让硬盘因为某些部分过度使用而其他分一直闲置而被烧坏。具有代表性的固态硬盘的wear leveling有效性大概是3%,意味着在使用的最多和最少之间只相差3%。

还有一个棘手的问题:就是在固态硬盘被淘汰之前它能坚持多久?这个答案取决于如何使用固态硬盘,也取决与固态硬盘存储的应用软件或者数据的类型。由于wear leveling的使用,固态硬盘的容量对它持续的时间也起着作用。这是因为对于指定数量的存储数据和使用模式,在所有的存储单元耗尽之前,固态硬盘容量越大,它持续的时间越长,这只是因为他们有更多的容量可供消耗。

因此尽管不可能准确的说明固态硬盘将持续的时间,但对于读取型应用软件都是那样,固态硬盘合适的容量多少年都不会消耗殆尽,几乎比传统硬盘每隔两到三年就要更新换代的周期还要长。

在这方面,很多人推荐不要用固态硬盘运行Ext3这样的日志文件系统,因为日志文件所导致的额外写入活动会很快消耗掉内存资源,但是目前的一些量化研究数据表明日志文件系统对固态硬盘的使用周期的影响实际上是非常小的:在多数情况下向硬盘中写入的数据只会多出4%到12%。

用传统硬盘使用的普遍旋压法来安装固态硬盘任何操作呢?所有常用的固态硬盘使用的是SATA界面和电源连接器,因此在连接方面就是简单的拔下现有的SATA硬盘,替换上固态硬盘。多数固态硬盘都采用的是2.5英寸形制而不是传统硬盘的3.5英寸形制,因此你可能需要一个适配器工具包来将固态硬盘插入3.5英寸接口,工具包的价格最多不超过5美元。

固态硬盘的价格下降的非常迅猛,因此在购买上迟疑不决的您现在出手毫无疑问将省一大笔钱。但是对于运行读取型应用软件的服务器,硬盘输入/输出是其瓶颈所在,高性能是它的关键,过渡到目前的固态硬盘将让你以合理的价格立竿见影的看到性能的显著提升,而且对你其他的基础架构不会有任何明显的改变。随着固态硬盘价格的持续回落,他们配置低能耗,高速度的固态硬盘的服务器数量将越来越多。