Chinaunix首页 | 论坛 | 博客
  • 博客访问: 11626036
  • 博文数量: 8065
  • 博客积分: 10002
  • 博客等级: 中将
  • 技术积分: 96708
  • 用 户 组: 普通用户
  • 注册时间: 2008-04-16 17:06
文章分类

全部博文(8065)

文章存档

2008年(8065)

分类: 服务器与存储

2008-08-19 10:02:05

固态存储现在已经变成了工业嵌入式系统的重要选择之一。固态存储中,没有任何可移动的部件,性能表现比传统的硬盘强很多。传统的硬盘现在看起来,已经不太适合于嵌入式系统。我们下面的表格,比较了二者的技术指标。

固态硬盘 VS. 传统磁盘
 

指标

固态硬盘

2.5英寸传统硬盘

撞击标准

>1000g per MIL 810F

200g

振动

16.3g rms  per MIL 810F

1g

温度

-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

读写寿命

>2M 循环每区

<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厂商很大的空间来改善产品性能。我们有充足的理由相信,固态存储在未来会更加普及。

阅读(1028) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~