2008年(8065)
分类: 服务器与存储
2008-08-19 10:02:05
固态硬盘 VS. 传统磁盘
指标 |
固态硬盘 |
2.5英寸传统硬盘 |
撞击标准 |
> |
|
振动 |
|
|
温度 |
-40 ~85摄氏度 |
5~55摄氏度 |
海拔 |
8万英尺 |
5万英尺 |
能耗 |
0.2W |
2.5W |
可靠周期 |
3~5年 |
1年 |
小块随机数据R/W速度(MBps) |
2.5/1.5 |
0.03/0.03 |
大块顺序数据R/W速度(MBps) |
8.0/6.0 |
31/31 |
MTBF |
4,000,000小时 |
300,000小时 |
占空比 |
100% |
20~40% |
我们精细核算后会发现,采用固态存储的最初购买价格也可以比传统硬盘低。因为目前在产的传统硬盘最小是40GB,而一个嵌入式应用可能仅需要1~2GB的容量来存储操作系统和数据,此时,小容量的固态硬盘可能将会是更好的选择。
在设计上,固态硬盘通常都有很小的体积和能耗,以达到足够的便携性,而且寿命通常也很长。此外,固态硬盘在嵌入式系统中的设计也普遍有安全性考量。
整合数据和安全
传统上,嵌入式设备的安全性有一定的局限,这是因为较高安全性设计在极小的空间内难以实现。毕竟,设计需要综合考虑到电源、存储部件、电源寿命和成本等等因素,以往综合考虑后设计的结果是,闪存卡和传统硬盘的安全性受到了限制。
目前,消费电子工业已经开始重视数据的安全性——例如USB thumb设备。USB thumb通过数据加密和密码保护,给用户提供了家用PC、办公用计算机,和网吧环境的数据安全保护。
而对于使用工业嵌入式系统的公司而言,他们对于安全性的要求跟普通用户有所区别。他们希望数据移动的过程,是不可读的,以保证绝对的安全。OEM厂商也希望他们的软件知识产权,以及他们用户的数据是安全的,不会被没有授权的用户查看或使用。
正是因为这种不同的安全需求,在工业嵌入式系统市场上,主机系统通常以安全算法来保证数据以及知识产权不被侵犯。这些算法可以很简单,也可以很复杂,具体情况取决于不同的主机系统设计者,这样要比标准化的部署更为安全。
关键功能保护数据
而对于OEM厂商来说,他们需要在应用中加入两个关键功能。第一,他们必须能够保证最终用户使用的是合格的存储设备。第二,OEM厂商需要低级别的命令,来将应用数据和软件IP绑定到驱动器,以便主机系统可以核对驱动器,并且创建独特的密匙来保护资料。有了这样的命令,任何将存储绑定到主机系统的应用,都可以选定合适的安全级别来保护知识产权不被盗窃。
通过低级别命令,主机可以通过读取一个或多个独特的数据来确认,并且创建数据来解密或加密软件IP或应用数据。尽管这种方法并没有提供备份保护,它还是防止了特定软件在其他系统的使用。
安全地带
工业嵌入系统OEM厂商,不仅得考虑到固态硬盘的安全需求,而且还需要考虑到数据种类。现在,高级的存储技术允许工程师通过多个安全参数来确认多个独立的“安全区域”。这样的设置在工业计算机中很重要,各种敏感文件、分类数据、程序信息都被分门别类的存储到不同的安全地带。
大多数操作系统,例如Windows或Linux都需要注册文件来持续更新。所以,如果你想将OS存储到同一块磁盘上是很困难的,除非你使用“安全区域”技术。由此可见,只要部署得当,全区域可以大量减少存储设备,而且可以降低系统的复杂性,减少系统失效的可能。
数据完整性
不管这个嵌入式系统到底存储的是账单信息、安全资料、又或者是日志,保证数据的完整性和可靠性,是存储系统最重要的工作。但是,现实情况可能并不理想。嵌入式系统经常运行在不够理想的电源情况下。电源如果不稳定,很容易导致存储数据和系统的崩溃,并且引发一系列的失效以及潜在宕机损失。
嵌入式设计工程师必须充分考虑到电源稳定性的问题,一旦主机系统在写过程中失去电源,引发的区错误(sector error)可能很严重。具体来说,主机系统读写的最小单位512-byte部分,我们称之为Sector。而如果在写的中途电源不稳定,那么数据就很可能并没有抵达它应该的位置。
第一种可能,如果区(sector)中的数据不能满足错误检查。那么,一个读区错误在下次系统尝试读的时候就可能发生。多数应用遇到这种问题,会自动生成系统级别错误,来引发宕机,直到该错误被纠正为止。
第二种可能,是brown-out或低电压状况导致的存储设备地址线不稳定。一旦这种状况发生了,可能还有电力来驱动存储部件,此时,存储数据就被写入了错误的地址。
减少计划外宕机
硬盘的自动检测报告技术(SMART),遵循由ANSI标准发布的ATA-3规范。SMART技术,主要是设计用来给主机系统发送信号,来即时重置发生机械错误的硬盘驱动器。
而固态硬盘,由于没有移动部件,许多SMART功能检测就没有必要了。固态硬盘不会发生机械错误,比起传统硬盘有着较高的可靠性。但即便如此,固态硬盘还依旧可能发生错误,例如超过了工作负荷。
假如我们有一块充电电池,我们在数百次充电放电之后,其中能容纳的电量将大幅减小,其实固态硬盘也是如此。在多次使用之后,其保存数据的能力将削弱,当硬盘的某个区域失去了保存数据的能力,数据还可以根据算法来在硬盘其他区域来完成存储,可如果其他区域也都失效了,这个固态硬盘就寿终正寝了。
固态硬盘版的SMART,必须能够监控写入/擦除次数,以便用户能够根据寿命指标来适时更换硬盘。大多数系统设计者,都有一个反馈方法来生成有意义的数据,像SiliconSystem公司的SiSMART技术,就可以实时反馈硬盘的使用率,在硬盘寿命终结之前给出提示。
选择合理的固态硬盘技术
其实,各种固态硬盘产品都有所不同,尽管听起来差不多。工业固态硬盘驱动器跟普通消费电子类闪存有很大区别。
参数 |
SiliconDrive CF |
CompactFlash 卡 |
读写寿命 |
> |
<100K 循环每卡 |
ECC纠错 |
6bit |
1-2bit |
磨损计算方法 |
整个SiliconDrive |
只在剩余空间 |
断电保护 |
有 |
无 |
单块R/W (MBps) |
1-2MBps |
30-40kBps |
大块R/W (MBps) |
6-8MBps |
3-5MBps |
寿命 |
3-5年 |
1年 |
容量 |
8GB |
4GB |
首先,“闪存卡”这个名词本身就有一定的迷惑性。闪存卡必须通过CompactFlash联合会的测试才能称为CompactFlash闪存。这些测试包括了从硬件到固件的各种指标,在timing指标上可能比较宽松。而嵌入式系统,经常有着严苛的Timing Requirement,即便最轻微的改变,也可能影响重大,毕竟工业系统的要求本身也更严厉。因此,专业的固态硬盘更合适工业需求。
其次,工业用固态硬盘和普通闪存卡的区别还在于,耐用性不同。固态硬盘还有着极强的纠错能力。我们还得继续提一下上文说过的电源问题,事实上电源问题导致了大概75%的磁场失效,此时,固态硬盘的纠错能力就变得难能可贵了。另外,传统的固态硬盘并不包括反馈机制,而现在,硬盘可以有完善的反馈,整个嵌入式系统因此变得更加智能。
固态存储的明天
固态硬盘在嵌入式系统中,已经逐渐取代传统硬盘,随着每GB价格的进一步下降,这个过程势必会加速。工业嵌入式系统需要的存储并不难理解:高可靠性,同时拥有低成本。而固态硬盘恰好符合这两点,似乎就是针对工业嵌入式系统市场设计的,它给了OEM厂商很大的空间来改善产品性能。我们有充足的理由相信,固态存储在未来会更加普及。