从外部看,很少有东西能够比USB存储棒(或U盘)或SD格式的存储卡更简单,这些存储产品每个都包含有一个闪存阵列、一个USB接口和一个存储控制器,为基于文件的非易失性存储提供通用支持。但是,大多数通用型设备并不提供下述的功能,来容易地支持通过物理紧凑外形实现覆盖范围广泛的许多应用案例:各种各样的系统现在都将支持USB或SD外围设备作为标准,可适用于除数据存储以外的应用。
这些方面使得USB或SD格式存储设备成为构建增强功能、可靠性和安全性等增值应用的绝佳平台。为确保高运行时间和安全操作,存储的可靠性至关重要。传统的USB和SD控制器通过执行磨损均衡(wear leveling)等操作来保持闪存的寿命和有限写入的耐久性。但是,这些设备专为大众市场应用而设计,与嵌入式应用有不同的要求。它们通常针对多媒体文件和文档等批量数据存储进行了优化,而嵌入式系统具有极其多样的功能,并具有除永久存储之外的不同要求。
嵌入式系统需要一个可靠的非易失性存储解决方案,可针对传感器数据更新和来自其他实时监控器的数据等小量数据应用而进行优化。写入文件系统的配置文件可能与用于大文件更新的配置文件差别很大,而表示传感器状态的某个变量在正常操作期间可以重新写入数百万次。通常存储地址也非常分散,导致非常不平衡的访问。这将对任何闪存存储单元的可靠性造成挑战,如果管理不善,可能导致失效或故障,尽管该阵列中的其余部分却很少使用。
嵌入式系统的设计人员还需要确保更新已正确完成,并且非易失性内存的内容不会因为在完成工作之前由于停电或任务崩溃导致的写入失败而过时。这就是为嵌入式环境优化的存储控制器的关键所在,它能够包括为各种嵌入式应用提供可靠的非易失性存储所需的功能。
此外,通过结合支持定制算法的能力,可以使存储设备的效用最大化。采用一个智能控制器,并可通过应用程序编程接口(参见下文)访问的丰富功能,存储控制器可以成为嵌入式系统的关键组件,或充当智能协处理器,充分利用可移除闪存的优势。
如果能够将加密和其他安全技术嵌入到独立于主机CPU的存储设备,将可以极大地提高系统的抗篡改能力,并为智能移动存储开辟了新的市场。通过将安全功能内置到已批准的USB存储棒或SD卡中,系统管理员可以确保拒绝接受未经保护的外围设备。基于大众市场USB存储控制器的现成解决方案无法提供相同级别的功能、可靠性和安全性,而集成了支持可靠闪存存储所需核心功能的可编程USB存储控制器则可以提供这些,甚至更多功能。
系统开发人员可使用自定义特性来实现各种增值功能。例如,如果系统提供有效的安全证书,这些功能可以确保系统只能读取或写入设备的信息,因而可以用来防止IP盗窃或通过非常难以保护的接口引入恶意软件,但仍支持在终端设备中使用可移除存储。例如,通过这种方式,制造商可以保留维护工程师安装软件更新或访问运行时间数据的授权,且具有可以验证的额外好处。
为了安全访问闪存阵列,存储控制器需要支持有效的加密基元(encryption primitives),这些基元可以经由用户应用组合到解决方案中。访问定制硬件是进一步的要求。为了增加保护,设备本身可能包括生物识别技术或传感器,以确保它只能在特定的位置使用。例如,USB或SD卡上基于GPS的传感器可以检查设备是否在核准位置上使用,如果在该区域外使用,则会触发警报。这些额外的传感器和功能可以为制造商提供时间限制和位置锁定键,这些键仅在存储单元存在时才起作用。这样可以支持多种面向服务的业务模型,并且是桌面型闪存控制器所不具备的功能。
Hyperstone为了设计其智能闪存控制器,考虑到了这些方面以及许多其他要求。作为标准,控制器本身需要执行许多对嵌入式系统非常重要的功能。例如,磨损均衡算法考虑了小量写入和零散数据,并可自动整合这些元素以确保更高效和可靠的运行。通过集成一个应用程序接口(API),还可以通过用户定义的功能扩展智能存储控制器的全部功能。
该API能够提供所需的许多服务,以支持USB和SD存储的增值应用。开发人员可以在核心服务之上构建更广泛的增值应用,能够访问USB驱动器或SD模块上的定制硬件。为了支持这些,控制器可以提供16个通用I/O线路,可配置为SDIO、SPI或I2C接口。通过这些接口,可以连接数字传感器、RF收发器和其他附加元件。例如,用户可以配置I/O线路以支持ISO7816协议,这样可以集成订户身份模块(Subscriber Identity Module,SIM)等专用外设来代表存储控制器执行身份验证。每次读取或写入都可以检查其安全状态,并在数据传入和传出卡闪存阵列过程中对数据进行加密和解密。这可确保在移动存储丢失或被盗时,其中的数据能够得到保护。
USB模块可以充当安全连接器,只有当认证模块插入I/O端口时,才允许对系统进行调试和测试访问。模块外表面上的外部连接器能够提供必要的端口,但是,某些应用不需要如此高的安全级别,供应商可以选择使用USB端口作为向客户提供升级和增强产品的方式。例如,内置于模块中、并由存储控制器管理的MEMS麦克风可以增加音频录制功能。
在Hyperstone架构中,客户自己的固件扩展不依赖于底层的闪存技术。不同格式闪存之间的差异由控制器本身的内置功能处理,用户二进制文件可以使用传统写入进行更新,并且能够使用存储控制器固件上的地址范围锁定来防止无意或有害的写入。一旦固件已经加载到设备上,就可以删除它的更新能力。架构还支持冗余固件以及错误检测和纠正,可确保在固件的一个副本如果损坏或更新失败时不会危害到设备。
开发Hyperstone存储控制器所使用的是许多工程师都熟悉的标准软件工具,支持一个基于GNU的编译器工具链。为了调试,采用了Eclipse IDE和GNU调试器(GDB)。
通过为增值应用实施硬件和软件的安全性保证(hooks),Hyperstone的闪存控制器可实现全新类别的存储设备。这些设备不仅可以提高存储单元本身的可靠性和安全性,还可以充当抗御对物联网(IoT)和工业物联网(IIoT)系统攻击的主干。通过可编程I/O访问硬件外设,存储模块本身也可以成为智能设备。借助于使用GPS接收器、编码器和加速计等MEMS传感器,存储模块远不止再是简单的数据存储库,而是能够打开全新可移除存储设备大门的全新技术。
获取更多评论