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

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

3天内不再提示

使嵌入式存储容错

星星科技指导员 来源:嵌入式计算设计 作者:C. C. Wu 2022-08-17 10:35 次阅读

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

几十年来,使用独立磁盘冗余阵列 (RAID) 威廉希尔官方网站 的冗余存储已在企业级盛行,但嵌入式系统的大小、重量和计算限制使得该领域的实施变得更加困难。最近,外形尺寸越来越小的高密度 SSD 的流行使存储冗余成为可能,即使在紧凑的嵌入式系统中也是如此。除了超紧凑的硬件 RAID 控制器,我们可能正在进入一个新时代,高可用性嵌入式存储不再是矛盾的说法。

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

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

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

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

可靠性与容错

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

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

今天的 SSD 凭借其固态设计,消除了作为故障模式的机械问题,但仍可能在驱动器控制器或存储介质级别出现故障。在单元不再准确地存储位状态之前,闪存单元具有有限数量的写入周期。因此,虽然闪存在面对冲击和振动时非常强大,但需要仔细监控 SSD 的写入耐久性。

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

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

可用性,可以被认为是最小化停机时间,有两种方法。第一种方法涉及提高系统的使用寿命——提高可靠性。另一种方法是减少恢复系统所需的时间——提高容错能力。

容错嵌入式存储

容错存储需要存储冗余——没有办法绕过它。值得庆幸的是,这些天来,SSD 和 RAID 控制器的尺寸都大大缩小了。

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

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

对于当今的嵌入式系统设计人员而言,市场上有多种存储形式可供选择:

对于具有现有 2.5 英寸驱动器插槽的大型系统,这些 AID 控制器interwetten与威廉的赔率体系 2.5 英寸磁盘。它们由一个硬件 RAID 控制器和两个用于冗余 SSD 的 mSATA 或 M.2 插槽组成。可以在 RAID 1 或 RAID 0 配置中进行配置以提高性能,它们作为普通 2.5 英寸驱动器呈现给主机系统,同时提供冗余和容错,或者在 RAID 0 的情况下提供更高的性能。

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

这些 SATA 驱动器可以是使用柔性电缆连接的普通大小的 SATA 驱动器,也可以是 SATADOM 驱动器,它是直接连接到 SATA 连接器的紧凑型 SSD。Innodisk 的 SATADOM 驱动器具有各种物理配置,从垂直到水平,以适应各种嵌入式系统。

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

实施高可用性嵌入式存储

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

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

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

审核编辑:郭婷

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

    关注

    52

    文章

    8237

    浏览量

    146371
  • 嵌入式
    +关注

    关注

    5082

    文章

    19126

    浏览量

    305260
  • SSD
    SSD
    +关注

    关注

    21

    文章

    2862

    浏览量

    117430
收藏 人收藏

    评论

    相关推荐

    什么是嵌入式人工智能

    嵌入式人工智能的目标是使嵌入式系统具备智能化的感知、分析和响应能力,从而实现自主决策、自适应学习和智能交互等功能,以提高系统的性能、效率和用户体验.
    的头像 发表于 12-11 09:23 299次阅读
    什么是<b class='flag-5'>嵌入式</b>人工智能

    mmc卡在嵌入式系统中的使用

    随着科技的发展,嵌入式系统在我们的日常生活中扮演着越来越重要的角色。从智能手机到家用电器,再到工业控制系统,嵌入式系统无处不在。存储设备作为嵌入式系统中的关键组件之一,对于数据的保存和
    的头像 发表于 11-25 09:58 233次阅读

    什么是嵌入式?一文读懂嵌入式主板

    在现代科技浪潮中,嵌入式威廉希尔官方网站 已成为支撑各种智能设备和系统运行的核心力量。那么,究竟什么是嵌入式嵌入式系统,顾名思义,是将计算机的硬件和软件嵌入到某种设备或系统中,以实现特定功能的计算
    的头像 发表于 10-16 10:14 982次阅读

    AMD 面向嵌入式系统推出高能效 EPYC 嵌入式 8004 系列

    AMD 凭借其 EPYC™ 嵌入式处理器不断树立行业标准,为网络、存储和工业应用提供卓越的性能、效率、连接与创新。今天,我们正以第四代 AMD EPYC 嵌入式 8004 系列处理器扩展这一
    发表于 10-11 13:58 718次阅读

    嵌入式主板是什么意思?嵌入式主板全面解析

    嵌入式主板,通常被称为嵌入式系统的核心组件,是一种用于控制和数据处理的计算机硬件,其设计旨在嵌入特定设备中执行专门任务。嵌入式主板如同是设备的“大脑”,主要功能是根据需要管理和控制设备
    的头像 发表于 09-30 10:05 474次阅读

    嵌入式linux开发的基本步骤有哪些?

    之前,首先需要选择合适的硬件平台。硬件选择需要考虑以下几个方面: 1.1 处理器 嵌入式Linux开发需要一个处理器,常见的处理器有ARM、MIPS、PowerPC等。选择处理器时,需要考虑处理器的性能、功耗、成本等因素。 1.2 存储
    的头像 发表于 09-02 09:11 496次阅读

    嵌入式linux开发板芯片的工作原理

    了处理器、存储器、输入/输出接口等硬件资源的嵌入式系统开发平台。它通常采用Linux操作系统作为底层软件平台,提供了丰富的开发工具和库函数,方便开发者进行嵌入式系统开发。 1.1 嵌入式
    的头像 发表于 09-02 09:07 394次阅读

    EVASH Ultra EEPROM:助力ChatGPT等AI应用的嵌入式存储解决方案

    EVASH Ultra EEPROM:助力ChatGPT等AI应用的嵌入式存储解决方案
    的头像 发表于 06-26 18:13 914次阅读

    嵌入式系统软硬件基础知识大全

    两部分组成的。硬件部分包括处理器、存储器、输入输出等,是嵌入式系统实现功能的基础。软件部分则包括操作系统、驱动程序、应用程序等,负责控制硬件组件的工作和实现各种功能。嵌入系统的硬件和软件是相互依存、相互
    发表于 05-09 14:12

    嵌入式系统的外设器件选择

    ,都可视系统的实际需求来进行选择。本文将为您介绍上述外设器件的类型与选择的考虑要素。 存储器的种类众多且特性不同 存储器 在嵌入式系统中,[存储器]是一个关键的器件,它用于
    的头像 发表于 05-05 09:38 915次阅读
    <b class='flag-5'>嵌入式</b>系统的外设器件选择

    入门嵌入式系统这些知识你知道吗?

    嵌入式系统是一种专用的计算机系统,作为装置或设备的一部分。通常,嵌入式系统是一个控制程序存储在ROM中的嵌入式处理器控制板。事实上,所有带有数字接口的设备,如手表、微波炉、录像机、汽车
    发表于 05-03 09:54 579次阅读

    嵌入式主板,你了解多少?

    嵌入式主板,也称为嵌入式计算机主板,是一种专门设计用于嵌入式系统的计算机主板。与台式机和笔记本电脑中使用的常规主板不同,嵌入式主板设计用于集成到更大的电子设备中,例如汽车、医疗设备或自
    的头像 发表于 04-17 15:11 1458次阅读

    再谈嵌入式实时操作系统

    等领域。嵌入式实时操作系统(RTOS)构造简单、功能齐全、便于使用,特别适合各类应用场景,因此它在软件应用程序开发中发挥着重要的作用,使嵌入式系统的开发更加高效。
    的头像 发表于 04-09 17:27 802次阅读
    再谈<b class='flag-5'>嵌入式</b>实时操作系统

    嵌入式fpga是什么意思

    嵌入式FPGA是指将FPGA威廉希尔官方网站 集成到嵌入式系统中的一种解决方案。嵌入式系统是一种为特定应用而设计的计算机系统,它通常包括处理器、内存、外设接口等组件,并且被嵌入到更大的设备或系统中,
    的头像 发表于 03-15 14:29 1261次阅读

    fpga是嵌入式

    FPGA(现场可编程门阵列)不是嵌入式系统,但FPGA在嵌入式系统中有着重要的应用。
    的头像 发表于 03-14 17:19 2322次阅读