首页 > 其他分享 >闪存刷新机制文献的解读

闪存刷新机制文献的解读

时间:2024-09-01 13:24:08浏览次数:13  
标签:FCR 闪存 Flash Refresh 解读 place 刷新 阈值电压

闪存刷新机制文献的解读

前言

  今天早上再详细地回顾了这篇文献,发现了一些细节以及这篇文章值得学习的写作方法,于是补充了一下这篇博客

一、文献信息

1、标题:Flash Correct-and-Refresh: Retention-Aware Error Management for Increased Flash Memory Lifetime

2、作者来源:卡耐基梅隆大学

二、Motivation

  1、闪存的主要错误来源是保留错误,即数据在保留过程中由于电荷移动而导致阈值电压变化造成的数据错误。
  2、增强ECC带来的寿命提升效果(P/E 循环次数)远低于其产生的开销和功耗损失。
在这里插入图片描述

三、Technique ( Flash Correct-and-Refresh, FCR )

1、Reprogramming in-place

  当某个page是由于电荷缺失而导致数据错误时,通过对该page进行就地再编程,恢复数据的正确率。
  图a是闪存单元原先正确的阈值分布情况;图b是闪存单元由于电荷流失而导致阈值电压降低使得部分数据错误;图c是指FCR经过就地再编程,恢复正确数据的阈值电压分布。
在这里插入图片描述

2、Hybrid-FCR(in-place reprogramming and remapping)

  在进行in-place reprogramming过程中,可能会对相邻的闪存单元产生编程干扰,导致这些单元因为干扰而被注入了多余的电子,导致阈值电压右移。而由于多余电子注入造成的数据错误无法通过再编程降低阈值电压,只能通过ECC进行纠正之后迁移到新的物理地址中。
  于是FCR引入了hybrid-FCR的方式,结合in-place reprogramming 和 remapping方式,当要进行刷新的数据页中因为阈值电压右移而产生的误码率没有超过ECC的30%时,则执行in-place reprogramming。如果超过了,则进行remapping(即数据迁移到新的物理页中)。通过这种混合方式可以降低GC频率,减少闪存刷新开销,延长闪存寿命。

3、Time of Refresh

  定期的或者是基于P/E循环周期适应性调整刷新时间。其实主要还是根据P/E循环周期动态调整刷新时间,因为闪存初期由于P/E次数较少,对闪存单元的磨损几乎为0,从而数据的保留效果更好,误码率就更低,从而不需要去执行刷新浪费功耗。而越到后期,闪存单元因为P/E次数增加而磨损加剧,就需要动态改变刷新的频率,保证数据的误码率不超过ECC的阈值。

四、实验效果

  通过FCR机制,可以降低长时间保留在闪存中的数据的误码率,从而避免执行读操作时由于数据误码率偏高而需要频繁执行读重试导致闪存损坏或者使用增强ECC版本进行数据纠错导致产生额外的过多的开销和功耗。
  在最小开销的情况下提升了将近46倍的闪存寿命。

五、个人总结

  这篇文章中作者会在tech章节增加一个对其提出的技术点的反思,分别从实现的开销、功耗、技术点实现响应时间、额外的GC开销、其他影响因素进行分析,并经过和先前工作的比较或是通过实验进行验证其分析。这个部分可以让读者更全面地了解作者提出的解决方案可能会有产生什么副作用因素,同时还附加实验数据,使读者更加清晰明了作者是如何解决这些问题,或者是了解这些副作用的影响程度,更加的客观,我也很喜欢这个小节,能体现出作者的用心和细节,看看能否应用到自己的论文中。

reference

1.Y. Cai, G. Yalcin, O. Mutlu, E. F. Haratsch, A. Cristal, O. Unsal, and K. Mai, “Flash Correct-and-Refresh: Retention-Aware Error Management for Increased Flash Memory Lifetime,” in ICCD, 2012.

标签:FCR,闪存,Flash,Refresh,解读,place,刷新,阈值电压
From: https://blog.csdn.net/weixin_46129187/article/details/141726353

相关文章

  • 真话有危险,测评需谨慎!一个家最大的内耗:谁都在抱怨,没人肯改变——早读(逆天打工人爬取热
    现在都这么完了吗?引言Python代码第一篇洞见一个家最大的内耗:谁都在抱怨,没人肯改变第二篇故事风云录结尾引言慢慢调整时间一是现在有点忙做那个传播声音的研究实验实在是有点没有头绪没有头绪的事情你就不知道怎么安排时间也就不知道做什么大概需要多久才合......
  • PbootCMS使用Ajax无刷新提交留言及表单
    留言表单<formonsubmit="returnsubmsg(this);">联系人<inputtype="text"name="contacts"requiredid="contacts">手机<inputtype="text"name="mobile"requiredid="mobile"......
  • 如何解读销售数据?你只需要一张销售报表
    在销售管理中,数据是企业做出战略决策的重要依据。有效的销售数据分析不仅能帮助企业精准把握市场动向,还能提高销售团队的工作效率,优化客户关系管理。然而,面对海量的销售数据,如何高效地解读这些数据呢?其实,你只需要一张全面而细致的销售报表。下面我们来详细了解一下销售报表及其在......
  • vue3-pinia保持数据时效性,不会因为刷新浏览器丢失实时数据(pinia-plugin-persistedstat
    1.方法一(pinia-plugin-persistedstate)1.安装插件-pinia-plugin-persistedstateyarnaddpinia-plugin-persistedstatenpmipinia-plugin-persistedstate2.在pinia中注册import{createPinia}from'pinia';importpiniaPluginPersistedstatefrom'pinia-pl......
  • 解读代码检查规则语言CodeNavi的表达式节点和属性
    本文分享自华为云社区《CodeNavi中代码表达式的节点和节点属性》,作者:Uncle_Tom。1.前期回顾《寻找适合编写静态分析规则的语言》根据代码检查中的一些痛点,提出了希望寻找一种适合编写静态分析规则的语言。可以满足用户对代码检查不断增加的各种需求;使用户能够通过增加或减少对检......
  • 大模型备案全网最详细流程解读(附附件+重点解读)
    文章目录一、语料安全评估二、黑盒测试三、模型安全措施评估四、性能评估五、性能评估六、安全性评估七、可解释性评估八、法律和合规性评估九、应急管理措施十、材料准备十一、【线下流程】大模型备案线下详细步骤说明十二、【线上流程】算法备案填报流程及重难......
  • Spring Cloud + JWT实现双Token刷新
            在现代微服务架构中,使用JWT(JSONWebToken)进行身份验证和授权已成为一种标准做法。然而,JWT的无状态特性虽然带来了灵活性,但也需要我们在安全性方面多加考虑。为了解决JWT的一些潜在安全问题,比如令牌的有效期和刷新机制,双 Token 刷新策略是一个非常有效的......
  • 全面解读敏捷企业架构的落地策略,助力企业实现数字化转型
    敏捷企业架构如何推动企业转型成功在当今迅速变化的商业环境中,企业面对的最大挑战之一是如何快速适应市场变化并保持竞争力。传统的企业架构虽然在稳定性和可控性方面具备优势,但在面对数字化转型的浪潮时,显得僵化且反应迟缓。敏捷企业架构通过引入敏捷方法的灵活性和迭代性,为......
  • AutoSynth: Learning to Generate 3D Training Datafor Object Point Cloud Registrat
    目录一、导言二、先导知识1、进化算法概述2、4pcs算法3、Super4PCS算法三、相关工作1、传统点云配准工作2、基于深度学习的点云配准3、生成训练数据集四、AutoSynth框架1、搜索空间2、进化算法3、代理任务模型五、实验 1、测试数据集2、BOP评估指标3、对比实......
  • Java后端微服务架构下的配置动态刷新:Spring Cloud Bus
    Java后端微服务架构下的配置动态刷新:SpringCloudBus大家好,我是微赚淘客返利系统3.0的小编,是个冬天不穿秋裤,天冷也要风度的程序猿!在微服务架构中,服务的配置管理是一个挑战,尤其是当配置需要动态更新时。SpringCloudBus提供了一种基于消息总线的配置刷新机制,允许配置更改在服务......