EEJournal

专题文章
现在就订阅

沟通解决了Flash的不可预测性

肝癌嵌入式发射一个安全闪存转换层

flash拇指驱动器在你的口袋里是一个野兽的记忆。我们这么多东西存储在小空间;形成因素完全民主化的存储大量的数据,一旦已经分配给以前的一个巨大的数据中心。现在在你的口袋里。

当然,这是有代价的。这是快闪记忆体,当你的主要目标是最小化内存区域,最大化的能力——你必须贸易一些东西。最明显的是,你不能随机访问单个细胞或词或任何其他小型单位的数据,编程和擦除。(好吧,你不可能消除随机和闪存,但你可以计划和阅读细胞随机)。你必须处理页面NAND闪存(阅读和编程)或一块(清除)。

flash专家,这是明显的——作为接下来的会有一些。但是我们工作的一个方面我们需要为了激励为什么NAND闪存来说是一种挑战关键安全系统和为什么肝癌嵌入式推出了管理软件,可以适用于这些系统。

很多工作的小东西

所有这些页面增加管理开销,块级的东西。需要改变一些地方从0到1 ?(是的,默认“抹去”状态不是0…它是1…)不可以做,牛仔…改变一个0到1是抹去,和你做,只有整个块。所以你最终不得不做的是复制整个块包含一点你想改变成一个新的块——复制一切除了这一点,当然。在新鲜的块已经抹去,你想保持这种方式。

等待,你说没有块把这个留在有空吗?哦,好吧,在这种情况下,我们需要寻找一个不再使用的块(就像我们当前块很快会),擦掉它,然后做复制的事情。

或者,也许没有可用的块?那么你需要复制阻挡,擦掉,然后重写它按你所希望的方式。(希望没有停电虽然这正在发生,因为你可能会将内容存储在挥发性记忆,直到你可以把它写在。)

,所有这一切只是一个从0到1。

只有管理部分开始的地方。编程Flash细胞可以磨损如果太多次——所谓的耐力规范告诉你有多少机会让写一个细胞。但它不是黑白:它不像一个细胞会停止工作一天。细胞也会泄露出来的内容随着时间的推移,数据保留规范。当你计划多次,您创建nano-damage(还是pico-damage ?),加快了数据丢失。

所以旧电池不是停止工作:这是一个能够不再持有数据为指定的时间。它可能仍然保存数据;不是的。或者你可能会得到一些错误,噪音使阅读过程不太确定。

这噪音也可以发生在某种程度上新鲜的记忆,所以纠错码(ECC)是用于正确的一定数量的失败。在某种程度上,然而,失败会比ECC可以正确的,用坏的,这是另一个症状。

自然,如果你把这样的NAND闪存DRAM,你会有一些低地址你轰炸不断用新的数据。假设你没有完全填满记忆,你会有你从未真正的高位地址细胞。因此,尽管低位地址细胞穿出去,高位地址的是没有,整个记忆可能被视为磨损仅基于一些细胞,而其他许多完美的细胞仍然存在。

或者你可能有一些细胞值改变很少而其他人改变很多。这些infrequently-changed细胞几乎不穿出和容易改变主意的的是一样快。

我已经搬到

这就是为什么平均读写被发明。你不仅把新数据随机不同的块;你甚至可能需要接一个静态块和重写一下其他地方保持移动。这个想法是,生活的记忆,所有的细胞都应该或多或少的磨损以同样的速度,当记忆终于完成,没有不变的岛屿,浪费细胞。

但是事情是这样的:损耗均衡意味着你必须有一个表映射地址系统知道什么实际的单元地址在任何特定的时刻——因为他们移动。这是由底层软件。需要多长时间会有所不同,这取决于需要移动和多少操作是必要的。例如,你可以搬到一个新的块吗?或者你需要先找到并消除一块吗?

根深蒂固的应用程序——特别是一个关键安全系统——将运行一个操作系统,所以有些时间可预测性而非实时操作系统。但是,他们得到很多中断,它可以为操作系统是不可能预测这些闪存管理操作将花多长时间。当涉及到安全,可预测性是很重要的。这使得NAND闪存很难使用,安全是一个需求。

“那也不闪呢?“你可能会问。也不是经常安全至上的系统的最佳选择;它也被用于执行代码。因为阅读可以通过随机位置,只需读取和执行——存储BIOS的有用的东西。如果代码没有改变,那么你不是编程或穿出设备。说,一个flash细胞——在理论上是一个flash细胞,它是不清楚为什么把他们不同会改变任何可靠性特征。

事实证明,是的,在理论上细胞是相同的,但他们已经设计有不同的目标。与非目标是能力——这意味着超级小细胞。也没有目标是更多关于可靠性,因为关键代码BIOS引导代码依赖于一个忠实阅读内容的每一个时间。所以细胞较大,没有ECC使用。这就是为什么它通常关键安全系统的点头。

翻译请

这和其他相关功能的底层软件层的一部分被称为Flash翻译层(FTL)。它处理所有的管理开销,这样系统的其余部分不需要担心。它涉及到的不仅仅是穿平整;肝癌嵌入式FTL还处理:

  • 的的ECCs
  • 坏块管理——如果一些块有一个失败的原因,那么它可以从地图上删除,这样你不必扔掉剩下的内存
  • Read-disturb管理:如果你读一点,你可以,在原则上,意外地改变(或“打扰”)另一个不相关的。连续多次你读没有擦除和刷新,这是更大的风险。肝癌嵌入式帮助管理这个问题。

所以一切都很好,但我们仍在安全性至关重要的环境中使用这种挑战。这里的目标,HCC嵌入所述,被称为安全元素的上下文,或SEOOC。这个想法是为了减少常见的系统组件从头开始重新设计为每个新的安全性至关重要的项目。相反,意图是模块化的碎片——像一个内存或FTL——已被证明是安全的,只要坚持某些假设。

这些假设在一篇安全手册记录。如果你使用的模块按照手册,然后你可以通过安全的检查没有重新requalify模块所需的所有工作。

这是这个原因,嵌入式开发了一种肝细胞癌失效保护FTL。这可能似乎是行不通的,因为从本质上讲,这些管理功能不可以预测的。你不知道提前当你需要他们的时候,当你需要他们的时候,你不知道等待需要花费多少的时间。

但让我们更具体的关于这个:RTOS不知道一个FTL函数需要多长时间。和FTL不知道多少次它可能被打断之前完成一个任务。这完全不适合安全吗?

不。问题不在于每次时机可能不同;问题是,操作系统不知道时间是什么,所以它不能处理FTL确定性函数。这里决定论是这个游戏的名字。

但是,有这么多的问题,特别是人类的,良好的沟通可以转危为安。这里的交易:FTL可以看看需要做什么,需要确定有多少周期。操作系统不知道——除非FTL告诉它。和不同的故障保险FTL:操作系统可以问FTL多少周期需要一些操作,和操作系统可以安排操作根据优先级在玩。

是的,大规模的,还有一些不可预知性,但是,在当地的规模,真正重要的,现在的操作系统得到足够的冷静地了解发生了什么,可以预见管理操作。

这意味着FTL(及其相关的安全手册)现在适合安全至上的系统。它可以利用NAND和记忆,也使得NAND内存时更可行的安全很重要。

更多信息:

肝癌嵌入式故障保险FTL

一个想法“沟通解决了Flash不可预测性”

留下一个回复

有特色的博客
2023年3月14日,
我们解释云计算硬件IP验证硬件设计流中节省宝贵的时间通过自动化SoC模拟和减少调试时间。邮局在云中执行您的硬件验证活动'“验证工程师的角度出现f……
2023年3月13日
多样性、公正和包容(一些)不仅仅是单词但节奏体现了通过我们的文化价值观。在DEI@Cadence博客系列,你会发现一个社区,员工分享他们的观点和经验。通过提供个人的……
2023年3月10日,
证明指南,使项目经理成功接管正在进行的项目和完成工作!…

有特色的视频

你的知识水平!

逮老鼠的电子产品

感觉在游戏吗?逮老鼠的通讯和技术资源订阅将确保你的技能是下一个层次!设置你的偏好和定制您的订阅今天启动你的知识!

点击这里获取更多信息

以注入式教学法亚博里的电子竞技

ADI的ISOverse
为了推进创新的智能优势,我们需要仔细看看隔离和如何它可以帮助培养采用高电压充电解决方案和可靠和健壮的高速通信。注入式教学法在这节课中,阿米莉亚道尔顿亚博里的电子竞技被Allison Lemus加入,莫里吉奥Granato,和Karthi格帕兰从模拟设备和他们检查隔离带来好处,聪明的边缘应用包括智能建筑控制、行业4.0的支持等等。他们也检查如何模拟装置iCoupler®数字隔离技术可以大大小小的鼓励创新!
2023年3月14日,
162的浏览量
Baidu