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

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

3天内不再提示

eMMC芯片磨损导致MCU和车辆无法正常运作,这是怎么回事?

电子设计 来源:电子设计 作者:电子设计 2021-01-20 13:59 次阅读
加入交流群
微信小助手二维码

扫码添加小助手

加入工程师交流群

监督成本| eMMC NAND闪存技术和用例需求

ODI最近对较旧的Teslas Model S和Model X车辆提出的信息要求突显了工作负载疏忽,其中基于NVIDIA Tegra 3处理器和集成8GB eMMC NAND闪存的主控制单元(MCU)遇到了问题。当引入新的固件更新为电动汽车(EV)带来附加功能时,问题变得更加复杂。这充当进一步激发NAND闪存磨损进度的燃料。尽管在一开始固件不是问题,并且记录的数据具有足够的内存来处理工作量,但每次固件升级都带来了新功能,从而减少了每次更新的存储空间。应ODI的信息请求,特斯拉列出了2,399项投诉和现场报告,7,777项保修索赔以及4,746项与MCU替换方案有关的非保修索赔。倒车时,故障的MCU导致后置摄像头图像显示遗失。随着NAND闪存全部耗尽,驾驶员不能再使用车辆的某些功能,例如HVAC(除雾),与ADAS相关可听得见的提示音,自动驾驶仪和转向信号灯,严格地来说尽管车主仍然可以驾驶车辆,但不能再充电,使汽车无法运行。

eMMC模块因为是以NAND闪存技术为基础而具有预定的使用寿命。它们具备有限的程序/擦除(P/E)周期,即使公司最初按照这些规范进行设计,他们也必须预见到同一系统随着时间的推移必须应对不断增加的工作负载挑战。最后,这问题有三个方面。缺乏对NAND闪存技术的了解,以及对更加复杂和多面的用例了解,并且假设驱动器的使用期限完全取决于NAND闪存技术–而不是正在使用的闪存控制器

了解NAND闪存技术

根据特斯拉维修专家的说法,由于eMMC中的NAND闪存单元结构,在较旧的Model S和X组件中发现的基于嵌入式NAND的eMMC磨损。在一定程度上是对的。不同类型的NAND闪存技术具有不同(但始终是有限的)的P/E周期数或他人所称的“写入周期”。

SLC NAND闪存技术大约10万次P/E周期

MLC NAND闪存技术大约10 000-3500 P/E周期

TLC NAND闪存技术大约3000个P/E周期

QLC NAND闪存技术大约1000-100次P/E周期

这意味着一旦这些周期用完,驱动器将再也无法可靠地存储数据。根据特斯拉的报告,Hynix单元“针对eMMC中每个NAND闪存块,额定3,000个编程/擦除周期”。

要了解NAND闪存单元为何总是具备有限的P/E周期,必须了解其基础技术。NAND闪存是一种非易失性存储器(NVM)技术,它通过电荷陷阱技术或浮栅MOSFET晶体管将数据存储在制成的存储单元阵列中。通过在晶体管的控制栅极上施加高电压,同时将源极和漏极接地,沟道中的电子可以获得足够的能量来克服氧化物势垒,并从沟道移入浮栅。在浮栅中捕获电子的过程是闪存设备的编程(或“写入”)操作,该操作对应于逻辑位0。相反,擦除操作从浮栅中提取电子,从而切换存储在其中的数据NAND闪存单元磨损,因为编程和擦除周期最终会损坏浮栅和基板之间的隔离层。这减少了数据保留,并可能导致数据丢失或意外编程的单元。

了解用例的工作负载

特斯拉电动汽车对于任何存储应用都是一个充满挑战的环境,这不仅是因为汽车质量对温度和功能安全性的要求,而且因为每辆汽车的使用方式都不同。在这种情况下,eMMC模块会受到每日行驶时间,每日充电时间,每日音乐流式传输时间以及一系列其他因素的影响。此外,极其重要的功能和特性取决于MCU能够可靠地执行其工作。这个生态系统中的eMMC具有非常独特的工业级工作负载,只有使用符合工业标准设计的高质量闪存控制器才能适当取得。

特斯拉认为“以每块0.7的额定每日P/E周期使用率计算,在设备中每块平均获得3,000个P/E周期需要11到12年的时间,以每块 1.5的每日P/E周期使用速率的第95个百分位,在设备中平均累积3,000个P/E周期需要5到6年时间。”归根结底,复合固件更新的苛刻性质使这些驱动器比预期还早崩溃。这就引出了一个问题,为什么这些MCU这么早崩溃?

了解NAND闪存控制器的作用

闪存控制器在高端存储系统中的作用常被忽略。在NAND闪存经常引起关注的地方,许多人忽视了评估控制器在管理其应用程序方面的真实能力,而所选闪存则预定义了P/E周期。尽管闪存技术在定义驱动器的使用寿命方面起着重要作用,但所选的控制器应掩盖闪存的所有固有缺陷,从而延长其使用寿命,确保不会出现任何故障设备或数据损坏。

例如,闪存控制器可以针对任何特定的存储设备执行最佳类型的纠错编码(ECC),完全取决于所选NAND闪存的特性以及控制器中可用的处理性能。在不同类型的NAND闪存中,不同类型的错误也更为常见,例如多层单元(MLC)中更容易出现读取干扰错误,而其他控制器功能(如损耗均衡)和垃圾回收的时间也会受到NAND闪存中过度配置的影响。因此,控制器需要仔细匹配NAND闪存的特性,如果忽略这一点,驱动器在预测的时间之前提早崩溃也就不足为奇了。这是一项昂贵的疏忽,选择正确的闪存控制器是设计高效可靠的存储系统(如eMMC模块)必不可少的一个部分。

归根结底,在工业中–故障系统和数据损坏不像在其他市场中那样被接受,因为期望寿命和故障成本更为急切。像eMMC模块这样的存储系统需要针对其独特的工作负载进行设计,并进行适当的管理,以避免在其特定领域发生故障。最后,闪存控制器在掩饰所选NAND闪存技术的缺陷方面起着非常重要的作用,应被视为核心组件,而不仅仅是NAND闪存的支援。

审核编辑 黄昊宇

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

    关注

    462

    文章

    53573

    浏览量

    459389
  • mcu
    mcu
    +关注

    关注

    147

    文章

    18635

    浏览量

    387631
  • emmc
    +关注

    关注

    7

    文章

    251

    浏览量

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

扫码添加小助手

加入工程师交流群

    评论

    相关推荐
    热点推荐

    把qspi0配置成了普通的fifo模式,读什么都返回0xff,这是怎么回事

    我把qspi0配置成了普通的fifo模式,不是xip模式,但是现在读什么都返回0xff,读id也返回0xff,也不是没有数据,RXDATA寄存器里是有数据的,但是就是0xff,这是怎么回事
    发表于 11-06 06:57

    micropython 文件同步失败是怎么回事

    您好! 在自己的stm32f407vet6开发板上,构建的rt-thread添加了micropython模块。 下载运行执行正常。执行将文件下载到开发板或者点击“文件同步”时,总提示 “所连接设备可能未处于repl状态或者不是一个micropython设备”。 这是
    发表于 09-17 07:28

    工业网关的emmc是什么

    是详细解析: 1. eMMC的核心组成 NAND Flash存储芯片 :用于实际存储数据,类似U盘或SSD的存储介质。 控制器 :集成在eMMC内部,负责管理数据读写、错误纠正(ECC)、磨损
    的头像 发表于 08-15 10:21 615次阅读

    用rt thread studio创建的K210工程,编译后很多警告,这是怎么回事

    用rt thread studio创建的 K210工程,编译后很多警告,这是怎么回事?有人知道吗?
    发表于 03-07 08:45

    LT8365无法产生想要的高压信号怎么解决?

    我的电路按照芯片手册搭建的,但是实际的电路无法产生想要的高压信号?请问这是怎么回事呢?
    发表于 03-06 07:10

    测量ADS1274的DOUT[5:8],竟然和地是通的,这是怎么回事?

    测量ADS1274的DOUT[5:8],竟然和地是通的,这是怎么回事? 是芯片的问题?
    发表于 02-13 08:21

    电机嗡嗡响不转怎么回事

    不良或损坏,导致单相运作。          - 电压不稳定或过低,无法满足电机的启动需求。       2. 负载过大:          - 电机所驱动的负载超过了其承受能力,导致
    的头像 发表于 01-21 07:39 6827次阅读
    电机嗡嗡响不转<b class='flag-5'>怎么回事</b>

    【AI技术支持】ESP32模组接大电容无法正常启动处理

    电压检查芯片,电路经常无法正常启动,这是为什么呢?启明云端/02解决思路外接大电容2200uf/25V,检查发现造成当VDD供电从0V慢慢升到3.3V时,
    的头像 发表于 01-20 18:03 1452次阅读
    【AI技术支持】ESP32模组接大电容<b class='flag-5'>无法</b><b class='flag-5'>正常</b>启动处理

    按照DAC7811手册上接,输出误差达到了10%,请问这是怎么回事

    按照DAC7811手册上接,输出误差达到了10%,请问这是怎么回事
    发表于 01-17 06:30

    SN74AVCH16T245GR VCCA 2.5V VCCB 3.3V上电后VCC被拉成3.3V,这是怎么回事

    在同一板上用了三个SN74AVCH16T245GR芯片,排查发现是DIR置低的那颗芯片导致的问题,其他两个芯片没有问题。换新的芯片后会好
    发表于 01-09 07:16

    ads1299测量不到信号是怎么回事啊?

    我使用的是ti的ads1299前端板子,可以测量到片子上的测试信号(方波),但是如果正常输入模式,我用两个电极分别连到胳膊上,信号却一直是0,但是通道8却一直有平稳的随机信号,虽然我已经把通道8关闭了,请问这是怎么回事啊?
    发表于 01-09 07:13

    使用lmh0030将16bits数据转化为SDI输出,SDI无输出,请问这是怎么回事

    使用lmh0030将16bits数据转化为SDI输出,16bit分别用的是DV2-9和DV12-19, 现在是16bit有数据输入,但是SDI无输出,请问这是怎么回事? 只是将并行数据转化为串行
    发表于 01-07 07:24

    STM32模拟eeprom只有起始地址0x8001000正常其他地址都会造成单片机运行不正常怎么回事

    STM32F103C8T6模拟eeprom只有起始地址0x8001000正常其他地址都会造成单片机运行不正常怎么回事
    发表于 12-29 23:05

    ads1278芯片采集不到电压值是怎么回事

    ,sync设置为高电平,DIN接地,DOUT1接STM32的MISO。SPI设置为全双工模式,用示波器测的sclk波形正常,但是用ads1278通道采集电压数据时候一直显示如图(未采集数据时也这样显示),采集通道接了1.8v电 压数据显示依然如图,不知道是怎么回事?请各位
    发表于 12-24 06:08

    使用ads1256读取DRDY的口就变高,而且晶振也不起振了,这是怎么回事

    使用ads1256的时候一读取DRDY的口就变高,而且晶振也不起振了,请问这是怎么回事啊,有哪位大侠知道吗,请不吝赐教
    发表于 12-20 06:56