0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
会员中心
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

使嵌入式存储具有容错能力

星星科技指导员 来源:嵌入式计算设计 作者:C.C. Wu 2022-10-24 11:11 次阅读
加入交流群
微信小助手二维码

扫码添加小助手

加入工程师交流群

容错是嵌入式系统的圣杯,特别是对于军事和工业应用,在这些应用中,实时操作系统很常见,停机时间成本高昂。然而,最大限度地减少停机时间说起来容易做起来难 - 尤其是在存储方面。

几十年来,使用独立磁盘冗余阵列 (RAID) 技术的冗余存储一直在企业级流行,但嵌入式系统的大小、重量和计算限制使得在该部门实施起来变得更加困难。最近,高密度 SSD 在越来越小的外形尺寸中盛行,使得即使在紧凑的嵌入式系统中也可以实现存储冗余。随着超紧凑的硬件RAID控制器,我们可能正在进入一个新时代,在这个时代,高可用性的嵌入式存储不再是矛盾的。

在创建可靠的存储系统时,冗余是关键。自 20 世纪 90 年代以来,使用 RAID 镜像磁盘一直是常见的做法,RAID 是一种用于跨驱动器镜像数据的标准化系统,允许构建容错存储系统 - 即使使用相对便宜的硬件也是如此。如果驱动器发生故障,其镜像备份可以接管,从而在实施良好的系统中实现最少甚至没有停机时间。

虽然RAID对服务器应用程序很有意义,但在嵌入式系统级别实现它是一个挑战。在SSD普及之前,硬盘驱动器是主要的存储介质。它们的尺寸和重量意味着对于大多数(如果不是全部)嵌入式应用程序来说,拥有冗余驱动器是不可能的。

当固态硬盘进入市场时,RAID仍然难以实施。闪存存储最初非常昂贵,对于许多应用程序来说,冗余嵌入式存储的成本过高。即使使用SSDS,尺寸也是一个问题,因为早期的SSD并不总是比它们更换的硬盘驱动器小。

传统上,管理RAID所需的计算能力需要笨重的硬件RAID控制器(对于空间受限的系统不切实际)或软件RAID控制器。虽然软件RAID控制器在节省空间方面是有意义的,但对于嵌入式系统来说,它并不总是正确的选择。嵌入式计算机通常是大小和能量受限的系统,无法承受运行RAID软件的CPU和内存开销。

可靠性与容错

由于在嵌入式系统中实现存储冗余存在各种挑战,因此最大限度地减少嵌入式存储的停机时间传统上侧重于可靠性而不是容错。通过确保使用高质量的组件并设计具有更高平均故障时间(MTTF)的可靠系统,可以延长使用寿命和运行时间。

机械硬盘容易出现多种故障模式。振动、冲击和普通的旧磨损意味着驱动器是否会发生故障,而是何时发生故障。制造可靠的硬盘意味着使用更高质量的组件和坚固的机械设计,以更好地承受冲击和振动。

如今的固态硬盘采用固态设计,可消除机械问题作为故障模式,但在驱动控制器或存储介质级别仍可能发生故障。闪存单元的写入周期数有限,然后单元不再准确存储位状态。因此,虽然闪光灯在面对冲击和振动时很坚固,但需要仔细监控固态硬盘的写入耐久性。

因此,对于固态硬盘,提高可靠性需要使用工业驱动器,这些驱动器具有针对可靠性和写入耐久性(而不是纯性能)而优化的驱动器控制器,以及使用更高等级的闪存。工业系统通常不使用消费级多级单元(MLC)闪存,而是使用单级单元(SLC)或类似SLC的闪存,如iSLC。这些更高等级的闪存比MLC闪存长,可持续数千个写入周期,从而大大延长了存储使用寿命。

虽然提高可靠性始终是工业系统的主要目标,但真正的弹性也需要容错能力。要了解如何创建容错,我们只需要查看企业数据中心 - 其中停机时间可能花费数千至数百万美元。在这些关键任务环境中,可靠的组件与容错设计相结合,以创建高度可用的系统。

可用性(可被视为最大限度地减少停机时间)通过两种方式进行处理。第一种方法是延长系统的使用寿命,即提高可靠性。另一种方法是减少恢复系统所需的时间,从而提高容错能力。

容错嵌入式存储

容错存储需要存储冗余 - 没有办法绕过它。值得庆幸的是,如今,SSD和RAID控制器的大小都大大缩小了。

[图1|像这样的M.2固态硬盘M.2 3SE3驱动器将高达32GB的存储空间打包成一个微小的22x42x3.5mm外形]

虽然SSD最初与他们更换的3.5英寸硬盘驱动器大小相同,但今天的mSATA和M.2外形尺寸的SSD甚至使2.5英寸笔记本电脑驱动器看起来像超大的庞然大物。这些紧凑型 SSD 的尺寸不到扑克牌的一半,其厚度以毫米为单位。

RAID控制器也经历了严重的节食。过去需要完整 PCIe 卡的功能现在可以在 SoC 型芯片上实现。当与正确的固件配对时,新一代RAID控制器旨在与SSD配合使用,而不是与SSD配合使用。

对于当今的嵌入式系统设计人员来说,市场上有许多适用于各种存储外形规格的选项:

[图2 |这款 E2SS-32R2 xRAID 控制器采用 2.5 英寸驱动器外壳,将双 M.2 SSD 阵列虚拟化为单个 2.5 英寸驱动器。

对于具有现有 2.5 英寸驱动器插槽的大型系统,这些 AID 控制器模拟 2.5 英寸磁盘。它们由一个硬件 RAID 控制器组成,该控制器具有两个用于冗余 SSD 的 mSATA 或 M.2 插槽,可以配置为 RAID 1 或 RAID 0 配置以提高性能,它们显示为主机系统的普通 2.5 英寸驱动器,同时提供冗余和容错能力,或者在 RAID 0 的情况下提供更高的性能。

[图3|这款 EGSS-32R1 RAID 控制器集成在 22x42x11mm M.2 外形中,是目前市面上最小的 RAID 控制器卡。

对于较小的系统,mSATA 或 M.2 接口可以提供当今最紧凑的 RAID 配置之一。就像 2.5 英寸磁盘更换一样,mSATA 或 M.2 RAID 控制器插入相应的接口并呈现单个驱动器。实际上,它通过与两个 SATA 驱动器的物理连接提供存储冗余。

这些 SATA 驱动器可以是使用柔性电缆连接的正常大小的 SATA 驱动器,也可以是为了获得最大的空间效率,SATADOM 驱动器是直接连接到 SATA 连接器的紧凑型 SSD。因诺迪斯克的 SATADOM 驱动器具有从垂直到水平的各种物理配置,以适应各种嵌入式系统。

[图4|像这样的SATADOM驱动器因诺迪斯克SH 3SE3有垂直和水平配置,以适应空间受限的嵌入式系统]

虽然对于大多数低功耗嵌入式系统来说,这不是一种选择,但具有严重空间限制的高端嵌入式PC可以考虑将双 SSD与软件RAID结合使用。mSATA、M.2 和 SATADOM 固态硬盘的紧凑特性使其成为终极的紧凑型 RAID 配置,但软件 RAID 的 CPU 和内存使其仅适用于具有支持此配置资源的高端嵌入式系统。

实施高可用性嵌入式存储

容错冗余 RAID 存储与可靠的工业级 SSD 驱动器(如 SLC 或 iSLC 级 SSD)相结合,使嵌入式系统能够实现真正的高可用性。可靠性(故障前的时间)和容错(修复时间)都得到了解决,从而最大限度地减少了存储子系统的停机时间。

容错功能也可以单独使用,适用于 MLC 级 SLC。对于低写入周期应用程序,这是一种经济实惠且非常有效的方法,可最大限度地减少停机时间。

虽然这是一个漫长而艰巨的旅程,但 SSD 和 RAID 控制器的小型化使当今的嵌入式系统最终能够实现真正的容错存储。

审核编辑:郭婷

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • 控制器
    +关注

    关注

    114

    文章

    17877

    浏览量

    195111
  • 嵌入式
    +关注

    关注

    5209

    文章

    20655

    浏览量

    336986
  • 服务器
    +关注

    关注

    14

    文章

    10357

    浏览量

    91752
收藏 人收藏
加入交流群
微信小助手二维码

扫码添加小助手

加入工程师交流群

    评论

    相关推荐
    热点推荐

    低功耗psram在嵌入式存储领域的作用

    嵌入式存储领域,低功耗PSRAM(伪静态随机存取存储器)正逐渐成为智能穿戴、物联网设备等对功耗和体积敏感应用的理想选择。
    的头像 发表于 04-03 11:29 226次阅读
    低功耗psram在<b class='flag-5'>嵌入式</b><b class='flag-5'>存储</b>领域的作用

    什么是嵌入式应用开发?

    系统中,用于控制、监测或通信等特定用途。与一般计算机系统不同,嵌入式系统通常具有较小的存储容量、处理能力和功耗,且需要满足特定的实时性、可靠性和安全性要求‌。 应用领域
    发表于 01-12 16:13

    arm嵌入式主板优缺点

    设备里面做控制、数据处理使用的CPU板。一般作为工控主板使用。   ARM处理器是一种16/32位的嵌入式RISC微处理器,具有低成本、高性能、低功耗的特点。ARM9系列微处理器具有以下特点:支持
    发表于 01-08 07:08

    系统嵌入式的学习路线

    嵌入式技术是各种电子产品的核心技术,也是工业4.0、远程医疗、3D打印等新兴产业的核心技术,具有广阔的发展前景。很多计算机、电子信息类专业的学生都想把嵌入式开发作为自己的职业目标,但是因为嵌入
    发表于 12-16 07:49

    嵌入式应掌握的几种能力

    能力。 我觉得牢牢地掌握这些99.99999%的概率都会用得上的嵌入式软件基础对找工作才比较有利。其它一些技术可以再用的时候再去了解、学习。 特别是一些行业相关知识,可以入行之后再进行学习。如果你一开始的目标就很明确,要在某一行、某一个方向进行深耕,也可以提早学习相
    发表于 12-08 06:05

    ARM嵌入式这样学

    的内核就是ARM内核,它的主频高很多,普通的都有几百M。CPU缓存大,分有很多级的流水处理线,这样大大提高了CPU利用率。这种IC的资源足以让一个嵌入式操作系统正常跑起来,WINCE, LINUX
    发表于 12-04 07:48

    嵌入式和FPGA的区别

    开发中做出更明智的技术选择。 基本概念解析 嵌入式系统(Embedded System)是一种专用计算机系统,通常包含微处理器/微控制器、存储器和专用外围设备,被设计用于执行特定功能。它强调
    发表于 11-19 06:55

    芯盛智能嵌入式eMMC E210系列斩获2025年度嵌入式存储产品金奖

    11月18日, 一年一度中国数据与存储峰会在北京顺利召开,备受关注的2025存储风云榜同期揭晓。作为领先的存储控制器与解决方案提供商,芯盛智能受邀参会,凭借自主研发的嵌入式eMMC E
    的头像 发表于 11-18 17:17 1954次阅读
    芯盛智能<b class='flag-5'>嵌入式</b>eMMC E210系列斩获2025年度<b class='flag-5'>嵌入式</b><b class='flag-5'>存储</b>产品金奖

    嵌入式开发的关键点介绍

    嵌入式开发的关键点: 1. 硬件限制: 嵌入式系统通常具有严格的硬件限制,例如处理器速度、内存和存储容量等。因此,嵌入式开发需要考虑这些
    发表于 11-13 08:12

    CPM系列核心板,一款存储灵活的嵌入式核心板

    嵌入式产品开发中,存储空间不足是一个常见问题。一旦硬件设计定型,后期想扩容往往面临成本飙升、周期拉长、可靠性风险等难题。本文将介绍一种创新的解决方案,帮助开发者灵活应对存储空间不足的挑战。硬件定型
    的头像 发表于 08-13 11:34 582次阅读
    CPM系列核心板,一款<b class='flag-5'>存储</b>灵活的<b class='flag-5'>嵌入式</b>核心板

    盘点嵌入式就业所需要的技能有哪些?

    硬件结构,如处理器、存储器、传感器等。 - 具备良好的沟通能力和团队合作精神,能够与不同领域的工程师协同工作。 3.智能硬件行业: - 熟悉嵌入式编程语言,如C/C++、Python等。 - 掌握模拟
    发表于 08-11 15:43

    入行嵌入式应该怎么准备?

    架构、总线协议和存储器管理等概念的理解也是必不可少的。 三、操作系统嵌入式系统通常需要运行一个实时操作系统(RTOS)或者一个精简版的操作系统。熟悉RTOS的概念和使用方法,能够编写多任务和实时
    发表于 08-06 10:34

    Linux嵌入式和单片机嵌入式的区别?

    用于对实时性要求高、资源需求较低的场合,如家电控制、工业自动化、小型机器人等。 Linux嵌入式 :适用于需要复杂功能、高处理能力的应用,如智能手机、平板电脑、智能电视、汽车电子等。 2. 开发环境
    发表于 06-20 09:46

    嵌入式力矩电机的设计方法研究

    摘 要:介绍一种用于机床直驱部件的嵌入式力短电机的设计和电磁结构优化方法。为了使嵌入式力矩电机满足机床内部结构紧凑的要求,必须具有较高的磁密。通过计算分析,得到不同长径比、不同磁极对数
    发表于 06-11 15:08

    嵌入式工控机VS普通工控机,哪个产品的性能更好?

    大型系统构建中,普通工控机的系统扩展能力、网络通讯能力也是嵌入式工控机难以替代的; 还有,在可视化设计、流程监控、数据统计、科学计算、原型仿真设计、在环仿真等领域,普通工控机具有先天的
    的头像 发表于 04-30 17:53 1130次阅读
    <b class='flag-5'>嵌入式</b>工控机VS普通工控机,哪个产品的性能更好?