没有合适的资源?快使用搜索试试~ 我知道了~
闪存技术中基于WOM代码的页面重用分析-ACM存储交易,Vol.141,2018年2月
ACM Transactions on Storage,Vol.号141、第10条。出版日期:2018年2月基于WOM代码的Flash页面重用分析以色列理工学院的Gala Yadgar和EITAN YAAKOBIFABIO MARGAGLIA,Pure Storage10YUE LI,加州理工学院亚历山大·尤科维奇,纳丘姆·本达克,利奥·吉隆,尼尔·雅科维,ASSAF SCHUSTER,Technion约翰内斯·古腾堡-美因茨大学安德烈·布林克曼闪存在现代服务器和设备中很普遍再加上闪存技术的规模缩小擦除是闪存单元磨损的主要原因,但是减少擦除是具有挑战性的,因为闪存是一次写入介质-存储器单元必须在写入之前被擦除。最近受到相当关注的一种方法依赖于一次写入存储器(WOM)代码,该代码被设计为在一次写入介质上容纳额外的写入。然而,所提出的用于重用具有WOM代码的Flash页面的技术在其范围内是有限的。许多人只关注编码理论,而其他人则建议FTL设计是特定于应用的,或者由于其复杂性、开销或多级单元(MLC)闪存的特定约束而不适用。这项工作是第一个解决页重用的通用FTL MLC闪存的端到端分析的所有方面。我们使用硬件评估设置来直接测量页面重用对SSD耐用性和能耗的短期和长期影响,并表明FTL设计必须明确考虑到这些影响。然后,我们提供了一个详细的分析模型,用于推导出最佳的垃圾收集策略,这样的FTL设计,并预测实际硬件和工作负载特性的重用的好处CCS概念:·信息系统→闪存; ·硬件→电路和系统的老化;存储器和密集存储; ·软件及其工程→二级存储;附加关键词和短语:WOM代码,NAND闪存,闪存转换层,SSD,离线分析ACM参考格式:Gala Yadgar,Eitan Yaakobi,Fabio Margaglia,Yue Li,Alexander Yucovich,Nachum Bundak,LiorGilon,Nir Yakovi,Assaf Schuster,and André Brinkmann.2018.基于WOM代码的Flash页面重用分析。ACM Trans. 存储14,1,第10条(2018年2月),39页。https://doi.org/10.1145/3177886这项工作得到了美国-以色列两国科学基金会(BSF)资助2010075,NSF资助CCF- 1218005,以色列科学基金会(ISF)资助1624/14,欧盟玛丽居里初始培训网络SCALUS资助238808和德国-以色列科学研究与发展基金会(GIF)资助I-1356-407.6/2016的部分支持作者Yadgar,E.Yaakobi,A.Yucovich,N.邦达克湖Gilon,N.Yakovi和A.Schuster,Technion计算机科学系;电子邮件:{gala,yaakobi}@cs.technion.ac.il,yucovich@technion.ac.il,{nb,sglior,nir.yakovi}@campus.technion.ac.il,assaf@cs.technion.ac.il; F.Margaglia,Pure Storage;电子邮件:margagl@uni-mainz.de; Y.Li,加州理工学院;电子邮件:yli@caltech.edu; A.Brinkmann,Johannes Gutenberg-Universität Mainz; email:brinkman@uni-mainz.de.允许免费制作本作品的全部或部分的数字或硬拷贝,以供个人或课堂使用,前提是制作或分发副本的目的不是为了盈利或商业利益,并且副本的第一页上有本声明和完整的引用。本作品的版权归ACM以外的其他人所有,必须予以尊重。允许使用学分进行摘要。以其他方式复制、重新发布、在服务器上发布或重新分发到列表中,需要事先获得特定许可和/或付费。请求权限请发邮件至permissions@acm.org。© 2018 ACM 1553-3077/2018/02-ART10 $15.00https://doi.org/10.1145/3177886ACM Transactions on Storage,Vol.号141、第10条。出版日期:2018年2月10点整:2G. Yadgar等人1介绍闪存具有特殊的特性,使其特别适用于固态驱动器(SSD)。与传统的基于硬盘的驱动器相比,它们的短读写时间和不断增加的吞吐量提供了巨大的然而,一旦闪存单元被写入,将其值从1改变为0,则必须在重写之前擦除该闪存单元。除了它们引起的延迟之外,这些擦除还会磨损单元,降低其可靠性。因此,闪存单元具有有限的寿命,以块可以承受的擦除次数来测量。支持四个电压电平的闪存多电平单元(MLC)增加了可用容量,但寿命特别短,低至几千次擦除。许多减少块擦除的方法已被建议纳入闪存转换层(FTL),SSD管理固件。这些措施包括最大限度地减少用户和内部写入流量(Colgrove et al.2015; Gupta et al.2011;Huang et al.2013; Kim and Ahn2008; Oh et al.2012; Park et al.2015; Saxena et al.2012 年 ;Soundararajan等人2010; Yang et al.2013年)和跨驱动器块均匀分布擦除2008年)。减少块擦除的一种有前途的技术是使用一次写入存储器(WOM)代码。WOM代码在物理写入之前改变逻辑数据,从而允许重复使用单元进行多次写入。它们确保在每次连续写入时,1可以被0覆盖,但反之亦然。使用这种技术重复使用闪存单元可能会增加在必须擦除之前写入块的数据量。Flash页面重用很有吸引力,因为它与其他FTL优化正交。事实上,口碑代码和使用这些代码的系统的设计近年来受到了很大的关注。而编码理论社区专注于优化这些代码,以降低其冗余性和复杂性(Burshtein2015; Burshtein和Strugatski2013; Cohen等人1986; En Gad等人1988)。2015; Shpilka2014; Yaakobi等人2012年b),存储社区专注于SSD设计,可以抵消这些开销,并应用于实际系统(Jagmohan等人。2010; Odeh and Cassuto2014; Yadgar etal.2015年b)。然而,将WOM代码应用于最先进的闪存芯片并不简单。MLC芯片对修改其电压电平施加了额外的约束。先前研究检查了在真实硬件上的页面重用,确定了对MLC闪存重新编程的一些限制,因此仅在SLC闪存上(Jagmohan等人,2010年),在SSD框架之外(Grupp等人,2011年)进行页面重用。2009年),或在有限的特殊用途超光速(Margaglia和Brinkmann2015年)。因此,以前的SSD设计,利用WOM代码还没有实现在真实的平台上,他们的好处是通过模拟单独分析,提出了关注,他们不能在现实世界的存储系统中实现。特别地,之前尚未检查硬件方面,诸如由于附加写入和更高的所得电压电平而导致的单元磨损和能量消耗的可能增加,但是它们可能对系统性能具有显著影响这种方法的适用性。在这项研究中,我们从我们的初步研究(Margaglia et al.2016)扩展了Flash页面重用的端到端评估和分析。我们分析的第一部分包括对五种最先进的MLC闪存芯片的低级别评估。我们研究的可能性,几个reprogramming计划MLC闪存和他们的短期和长期的影响芯片的耐用性,以及在能源消耗的差异相比我们提出了两种替代的超光速设计,考虑到在低层次的分析中确定的限制,并可能在真正的硬件上实现也就是说,LLH-FTL重用每个块的50%LHH-FTL不需要这样的预留,但仅重用每个块的25%。基于WOM代码的Flash页面重用分析10点整:ACM Transactions on Storage,Vol.号141、第10条。出版日期:2018年2月3表1.WOM代码示例数据位第1次写入第二次写11111000010111001010101000110001在我们的分析的第二部分,我们提出了一个理论框架,优化Flash页面重用WOM代码和计算预期的好处,从重新编程。这个理论模型是我们初步研究(Yaakobi et al.2015)的基本模型的概括,并考虑了页面重用的物理限制和写请求的(可能不均匀的)分布从这个模型中,我们得到一个最佳的垃圾收集政策,以及预期的块擦除次数和减少由于重新编程。我们对代表性真实世界和合成工作负载的验证表明,该模型预测重编程的益处的准确性比以前的分析高得多(Odeh和Cassuto2014; Yadgar et al.2015年b)。本文的其余部分组织如下。第2节描述了基本概念,确定在何种程度上可以从flash页面重用中受益。我们在第3节中确定了MLC闪存中页面重用的限制,并在第4节中确定了FTL设计的影响。我们在第5节提出了我们的理论框架,然后在第6节提出了它的验证。我们在第7节中概述了相关工作,并在第8节中总结。2预赛在本节中,我们将介绍决定闪存页面重用潜在优势的基本概念:WOM代码、MLC闪存和SSD设计。2.1一次写入存储器代码WOM码最早由Rivest和Shamir于1982年提出,用于在一次写入存储介质上多次记录信息(Rivest和Shamir1982)。他们给出了一个简单的WOM代码示例,如表1所示。该代码允许在三个单元中记录两次两位信息,确保在两次写入中单元的值仅从1变为0。例如,如果要存储的第一个消息是00,则写入110,仅对最后一个单元进行编程。如果第二个消息是10,则写入010,同时对第一个单元进行编程。请注意,如果没有特殊的编码,00不能被10覆盖而不进行擦除。如果第一和第二消息相同,则单元在第一和第二写入之间不改变它们的值。因此,在执行第二次写入之前,必须读取单元值以确定正确的编码。WOM代码实例或构造在可实现的写入的数量和每个连续写入的编码方式上不同。WOM码构造对存储的适用性取决于三个特征:(a)容量开销,其是对原始消息进行编码所需的额外单元的数量;(b)编码和解码效率;以及(c)成功率,其是产生可用于对所选单元进行编码的编码输出的概率。这些特性中的任何两个都可以以以下代价进行优化:损害第三个(Shpilka2013; Yaakobi et al.2012 b; Burshtein and Strugatski2013)。例如,考虑表1中描述的代码,其中编码和解码通过简单的表查找完成,因此具有复杂度O(1)和100%的成功率。然而,这段代码在每次写入时都会产生50%的容量开销这意味着(a)只有2个整体10点整:4G. Yadgar等人ACM Transactions on Storage,Vol.号141、第10条。出版日期:2018年2月物理容量可用于逻辑数据,以及(b)每次读和写必须访问比逻辑数据大小所需的多50%的单元。两次写入的容量开销的理论下限为29%(Rivest和Shamir1982)。导致这种最小开销(容量实现)的代码不适合实际系统。它们要么具有指数复杂度,因此不适用,要么复杂度为nlogn(其中n是编码比特数),但故障率接近1(Burshtein和Strugatski2013; En Gad etal.2015年)。因此,使用基于容量实现代码的WOM代码重写闪存页面的早期提议是不切实际的此外,他们需要在每次写入时部分编程额外的页面,修改物理页面大小(Bermanand Birk2013; Grupp et al.2009; Jacobvitz等人2012; Luojie et al.2012; Odeh and Cassuto2014;Yaakobi et al.2010),或者在编码之前压缩逻辑数据(Jagmohan et al.2010年)。最近提出的两种WOM码族,Polar(Burshtein2015; Burshtein and Strugatski2013)和LDPC(En Gad et al.2015),具有与它们所源自的纠错码(ECC)相同的复杂性。对于这些复杂性,不同的结构会产生不同的容量开销,并且故障率随着容量开销的增加而降低。特别感兴趣的是第一次写入的开销为0的构造(即,在一个物理页上写入一个逻辑页)。为第二次写入而编码的数据需要两个完整的物理页用于一个逻辑页。这种结构用于可重用SSD的设计(Yadgar等人,2015 b),其中第二次写入通过并行编程两个不同块上包含无效数据的页面来执行。2.2MLC闪存闪存芯片由浮栅单元构成,其状态取决于它们保留的电子数量。写入是通过对存储单元进行编程,增加激活存储单元所需的阈值电压(Vth)来块被进一步划分为页,页是读取和编程单元。单电平单元(SLC)支持两个电压电平,映射到1(初始状态)或0.因此,SLC闪存是一个经典的WOM,其中页面可以通过将它们的一些1编程为0来重用。我们把没有预先擦除的编程称为重新编程。MLC支持四个电压电平,映射到11(初始状态)、01、00或10。如果单元的电压电平受到干扰,则这种映射(其中单个位在连续状态之间翻转)使位错误最小化。由MLC的电压电平表示的最低有效位和最高有效位分别映射到两个单独的页,即低页和高页这些页面可以独立编程和但是,编程必须按照一定的顺序进行,以确保所有可能的位组合都能正确读取。三电平单元(TLC)支持八个电压电平,因此可以存储三位。它们的映射方案和编程约束类似于MLC闪存。我们将重点讨论MLC闪存,这是当今SSD中最常见的技术。图1描述了MLC中低位和高位的正常编程顺序单元低位首先被编程:编程1使单元处于擦除状态,而编程0提高其电平并将其移动到临时状态。1对高位进行编程会根据低位被编程后的状态改变单元我们将在下一节中讨论这种映射方案对页面重用的影响当单元的状态无意中改变时,会发生位错误,从而导致位值翻转。闪存块的可靠性是通过其误码率(BER)--平均误码数--来衡量的1在临时状态下部分编程高位是为了减少编程干扰。基于WOM代码的Flash页面重用分析10点整:ACM Transactions on Storage,Vol.号141、第10条。出版日期:2018年2月图1.一、MLC闪存的正常编程顺序和状态ER是初始(擦除)状态。每页。在重复的编程和擦除操作期间施加到闪存单元的高电压逐渐降低它们保持所施加的电压电平的能力这导致BER随着块接近其寿命的结束而增加,其以编程/擦除(P/E)周期来测量MLC闪存中的位错误主要是由于保留错误和编程干扰(Cai等人,2013年)。当单元的电压电平逐渐降低到低于其被编程的状态的边界时,发生保持错误。当在相邻页中的单元的编程期间改变单元的状态时,发生编程干扰。在下面的部分中,我们将讨论程序干扰如何限制MLC页面重用,并评估重用块的页面对其BER的影响ECC用于纠正前面描述的一些错误。ECC的冗余位存储在每页的备用区中ECC可以纠正的位错误的数量随着冗余位的数量而增加,冗余位的数量根据块寿命结束时的预期BER来选择(Zhao et al. 2013年)。写请求不能更新存储在同一位置的数据,因为必须首先擦除页面。因此,写入是在不适当的位置执行的:先前的数据位置被标记为无效,并且数据被再次写入到干净的页面上。FTL是负责将逻辑地址映射到物理页面的SSD固件组件。我们将在第4节中进一步讨论FTL的相关组件。3闪存可靠性闪存芯片不支持通过其标准接口重新编程因此,重新编程对单元的状态转换和耐久性的影响不能从标准文档中导出,并且需要用专门的硬件进行我们进行了一系列的实验与几个国家的最先进的闪存芯片,以评估重新编程MLC闪存页的限制和芯片的寿命,可靠性和能源消耗的重新编程的影响3.1Flash评估设置我们使用了来自三家制造商的五个NAND闪存芯片和各种功能尺寸,详见表2。我们还在讨论中包括了之前对第四家制造商的芯片进行的研究的观察结果(Margaglia和Brinkmann2015)。因此,我们的分析涵盖了现有的四家闪存供应商。芯片测试表包括芯片的预期寿命,通常是在平均BER达到10−3之前可以执行的最大P/E周期数。然而,在实验室设置中循环芯片通常比正常操作更快地磨损细胞,因为它们编程并连续擦除同一块。因此,在较少的P/E周期10点整:6G. Yadgar等人ACM Transactions on Storage,Vol.号141、第10条。出版日期:2018年2月表2.评估的闪存芯片特性A16A27B16B29C19D35特征尺寸16nm27nm16nm29nm19nm35nm页面大小16KB8KB16KB4KB16KB8KB每区块256256512256256128备用面积(%) 10.157.8111.425.477.813.12寿命(T)3K5K10K10K3KNAA、B、C和D代表不同的制造商。D35芯片在之前的研究中进行了检查,并在此完整地列出。比预期在我们的评估中,我们认为芯片的寿命(T)是预期周期数和达到10−3的BER所需数量中的最小值。我们的实验使用SigNASII商用NAND闪存测试仪进行[Siglead 2014]。测试仪允许对物理编程的闪存块和其中的页面进行软件控制。通过禁用ECC硬件,我们能够检查每个单元的状态并计算每页中的位错误。一些制造商在他们的芯片内采用加扰,其中在编程之前将随机向量添加到逻辑数据加扰实现了闪存单元电平的均匀分布,从而减少了各种干扰效应。为了控制每一页上编程的确切数据,我们绕过了使用它的芯片上的加扰机制我们的评估排除了保留错误,这是在编程和读取页面之间经过相当长的时间时发生的。重编程可能会增加保留错误的概率,因为它增加了单元但是,由于它主要用于短期数据,我们认为它不会导致额外的保留错误。3.2重新编程的限制闪存单元重新编程严格受限于Vth只能增加的约束,除非块被擦除。同时,WOM编码确保重新编程仅尝试将每个位的值从1更改为0。然而,用于将电压电平映射到位值的方案以及避免额外的编程干扰的需要强加了额外的限制因此,页重用必须遵循确保所有重编程单元达到其期望状态的重编程方案我们使用我们的评估设置来检查哪些状态转换在实践中是可能的。我们包括所有“允许”的转换,包括那些预计不会改变位值的转换。原因是闪存单元是以页粒度编程的,因此不应修改的位仍以其现有值重新编程。我们考虑四种不同的重编程方案。在前三种方案中,块在被重新编程之前被完全编程。在第四方案中,最初仅编程块的低页。在这些方案中,我们确定了两个适用于实际的FTL设计。让我们假设整个块的页面在被重用之前已经被编程。因此,单元的状态如图1的底行所示。在低-高-低(LHL)重新编程方案中,如图2(a)所示,我们尝试从该状态编程低位细箭头描绘了该方案中可能的期望转变两个这样的转换是不可能的,导致不期望的状态(由粗箭头描绘)。在低-高-高(LHH)重编程方案中,如图2(b)所示,高页在完全使用的块中被重编程在这里,也有两个状态转换失败。基于WOM代码的Flash页面重用分析10点整:ACM Transactions on Storage,Vol.号141、第10条。出版日期:2018年2月图二、三种重编程方案中的状态转换细箭头表示尝试的过渡。虚线箭头表示失败的转换,粗体箭头表示发生的错误转换 只有LLH重编程才能在不干扰程序的情况下实现页面重用所需的所有转换。LHL方案中的失败转变的可能原因是由对低位进行编程的命令施加的电压不足以将Vth从P1升高到P2以及从ER升高到P3。2在LHH方案中从P3到P2的过渡是不可能的,因为它需要减小Vth。另一个问题,在LHH计划发生在状态P1时,我们试图离开已经编程高位不变。由于未知的干扰,单元无意中转换到P2,破坏了相应低页上的数据。这些有问题的转变中的三个可能在适当的制造商支持下成为可能-在LHH方案中从P3到P2的转变可能在不同的电压电平到状态的映射下成为可能,并且如果在重新编程期间施加更高的电压,则LHL方案中的两个转变可能成功虽然最近的技术趋势,例如一次性编程和3D V-NAND(Im et al.2015),消除了对页面编程的一些约束,将这种架构变化应用于现有的MLC闪存可能会放大编程干扰并增加BER。因此,它们需要仔细研究和优化。2从ER到P3的过渡实际上在较老的D35芯片上取得了成功(Margaglia和Brinkmann2015)。本节中讨论的所有其他问题转换在表2中的所有芯片中均失败。10点整:8G. Yadgar等人ACM Transactions on Storage,Vol.号141、第10条。出版日期:2018年2月表3.修改WOM代码数据位第1次写入第二次写00000111101000110101010111001110电压电平到MLC中的两位值的映射意味着在某些情况下,0具体地说,从P1或P2到P3的转换将高位从0变为1。受此观察的启发,我们研究了第三种重编程方案,该方案使用了修改后的WOM编码,如表3所示。每个比特的初始状态是1。在第一次写入中,根据原始WOM要求,1然而,在第二次写入中,0结果代码是表1中代码的补充。例如,如果要存储的第一个消息是10,则写入100,对第二个和最后一个单元进行编程如果第二个消息是01,则通过将最后一个单元重新编程为1来写入101图2(c)显示了所得的LHH重编程方案。它的第一个缺点是,它corrupts低页,所以一个高页可以重用,只有当低页上的数据是无效的或复制到其他地方之前重新编程。这种重编程也显著增加了与重编程页相邻的高页的BER这可能是从P1到P3的转换所需的电压变化的副作用,其高于相邻状态之间的转换所需的电压变化因此,该方案仅允许对两个高页中的一个进行安全重编程我们在4.3节中讨论了超光速设计中的这一限制。有趣的是,重新编程来自制造商A的芯片中的高位返回一个错误代码,并且不改变它们的状态,不管尝试的转换如何。一个可能的解释是,该制造商可能会阻止通过某种内部机制重新编程高位,以防止前面描述的损坏。LHL和LHH方案的问题促使Margaglia和Brinkmann(2015)引入了低-低-高(LLH)重编程方案该方案中的模块分两轮编程在第一轮中,仅编程低页。第二轮在大多数低页无效后进行。在块中的所有页面都是按顺序编程的,也就是说,一个低页被重新编程,然后相应的高页第一次编程,然后再移动到下一对页面。我们在A和B厂商的芯片上验证了LLH方案的适用性。图2(d)描绘了单元的对应状态转换由于低位的编程和重新编程都使单元处于擦除或临时状态,因此对底行中的高页的编程没有限制该方案在我们检查的所有芯片中都工作良好然而,它有一个明显的缺点,即在第一个路由器中有一半的块LLH和LHH重编程方案都适用于我们研究的芯片,表明MLC闪存中的页面重用是可能的。同时,这两种方案都只能利用一半的页面,每种方案都呈现出不同的权衡:LHH方案干扰与重编程的页面相邻的高页面,从而进一步限制重用,而LLH方案要求提前保留块的一些我们将在以下章节中研究这些方案的长期影响以及它们对FTL设计的特定限制的影响基于WOM代码的Flash页面重用分析10点整:ACM Transactions on Storage,Vol.号141、第10条。出版日期:2018年2月−表4.由于Vth增加,预期寿命缩短Num. PLLH周期A16A27B16B29C19T(=整个寿命)百分之三十二百分之二十九百分之二十百分之三十点五百分之三十六0的情况。6×T0的情况。4×T0的情况。2×T百分之八占6%百分之二百分之九6.5%百分之三百分之八占6%百分之三百分之九6.5%百分之三点五百分之十五点七百分之十二点七百分之十四点二3.3平均Vth和BER在分析重新编程对芯片耐久性的影响时,我们区分了由于当前P/E周期中的修改而对BER的短期影响和对单元的通过这种区别,我们希望确定芯片寿命的安全部分,在此期间,所重编程增加了单元格的值为0的概率。因此,重用页的平均V_th高于仅被编程一次的页的平均V_th。较高的Vth增加了比特错误的概率。增加的Vth的短期影响包括增加的编程干扰和保持错误,这是单元及其相邻单元的当前Vth长期磨损是由于在编程和擦除期间施加的较高电压。我们的第一组实验评估了增加Vth对块在每个芯片中,我们执行T个常规P/E周期,在一个块上写入随机数据,其中T是芯片的寿命,如表2所示。我们用不同的1和0分布重复这个过程。均p0. 5,其中ab成为e 0的概率为0. 5,这是我们的基线。在PLLH条件下,0的概率在低页和高页中分别为0.75和0.5。这对应LLH重编程后的预期概率。我们在每个P/E周期后读取块的内容并记录BER。我们在六块砖上重复每个实验,并计算平均值。在我们所有的实验中,我们考虑P0。5作为我们的基线。BER增加的含义取决于它是否保持在ECC的纠错能力范围在块的生命周期结束时BER的小幅增加可能会对于具有寿命的芯片,T,设BERT为T个常规P/E周期后的BER,设T ×为本实验中达到BER T所需的周期数。则TT×是由于增加Vth而导致的寿命减少。我们的结果总结在表4中,在我们检查的所有芯片中都是一致的3编程与对应于较高平均Vth的PLLH相比,芯片的寿命显著缩短在接下来的一组实验中,我们评估了Vth的长期影响。每个实验都有两个部分:我们在第一部分用P LLH编程块,在其生命周期的一部分,以及P0。5在第二部分中,该部分由再发邮件周期组成。因此,第二部分中的BER表示第一部分中的偏置编程的长期影响。我们将第一部分的长度在块生命周期的20%、40%和60%之间变化。图3显示了A16芯片中模块的BER(不同芯片的图形相似),表4显示了其余芯片的寿命缩短。我们的研究结果表明,增加Vth的长期影响是适度的,尽管不可忽略-在块的寿命早期增10点整:G. Yadgar等人ACM Transactions on Storage,Vol.号141、第10条。出版日期:2018年2月加Vth3在本节描述的所有实验中,来自制造商A和B的芯片的完整图表集可在我们的技术报告中获得(Yadgar etal.2016年)的报告。基于WOM代码的Flash页面重用分析10点整:ACM Transactions on Storage,Vol.号141、第10条。出版日期:2018年2月图3.第三章。增加的Vth对A16芯片的影响图四、LLH重编程对A16芯片的短期影响表5. LLH重新程控导致的预期寿命缩短LLH周期(#)A16A27B16B29C19T(=整个寿命)百分之三十八百分之五十九点五百分之九十九百分之三十一百分之四十0的情况。6×T0的情况。4×T0的情况。2×T百分之八点五百分之五点二百分之一百分之八占6%百分之二点五占7%百分之五百分之三百分之八点五百分之五点五百分之三百分之二十二百分之二十百分之一对于来自制造商A和B的芯片,在块的寿命的20%、40%和60%期间分别增加Vth芯片C19的寿命大大缩短,缩短了12%至16%。3.4LLH重编程和BER重编程方案使用的块与常规编程不同首先,它们增加了重用页面的平均Vth第二,他们按照不同于制造商预期的顺序对块的页面进行编程。为了评估每个效应的权重,我们测量了重新编程的效应,并将其与增加Vth的常规编程的效应进行比较。在第三组实验中,我们通过对每个芯片中的块执行T个LLH重编程循环来测量重编程的效果。图4显示了A16芯片的BER结果,表5总结了其余芯片的预期寿命缩短情况。10点整:G. Yadgar等人ACM Transactions on Storage,Vol.号141、第10条。出版日期:2018年2月在所有芯片中,由于没有高页的干扰,第一轮编程低页(L1)的BER非常低。然而,在第二轮中,BER低(L2)和高(H)页的阅读量均高于基线,基于WOM代码的Flash页面重用分析10点整:ACM Transactions on Storage,Vol.号141、第10条。出版日期:2018年2月图五、LLH重编程对A16芯片的长期影响寿命大于由增加Vth引起的寿命。我们认为,这种差异的主要原因是针对常规LH编程顺序进行了优化(Park等人,2008)。这些优化在最近的芯片中更为常见,例如B16芯片。在第四组实验中,我们评估了LLH重编程的长期影响在这里,每个实验也由两部分组成:我们在第一部分用LLH重新编程对块进行编程,在第二部分用P0. 第二部分是规范的程序设计。 我们改变了第一部分的长度之间的20%,40%和60%的块的生命周期。 图5显示了A16芯片的BER结果,表5总结了其余芯片的预期寿命缩短情况。我们观察到,重新编程的长期影响是适度的,并且与每个芯片上增加Vth的长期影响这支持了我们的假设,即在前一组实验中观察到的BER的额外短期增加不是实际重新编程过程的结果,而是芯片优化的编程顺序与LLH重新编程方案之间的不匹配。这一点在B16上表现得尤为明显芯片,其中BER在第一部分期间高于10−3的极限,但在实验的第二部分中显著较小。因此,仅在块的生命周期开始时重用闪存页的方案可以增加其利用率,此外,在除了B16芯片之外的所有芯片中,LLH在块寿命的前40%中我们在第4节的超光速设计中依赖于这一观察结果。然而,我们注意到,我们检查的芯片之间的差异很大,并且短期和长期影响不仅仅取决于特征尺寸。例如,A16芯片因此,块的生命周期中可以安全重用其页的部分取决于其芯片的特性。超光速引擎必须考虑到芯片重复使用的长期影响3.5LHH重编程和BER我们对LHH重编程的短期和长期影响进行了类似的评估。 为了充分理解重编程高页引起的干扰的含义,我们定义了LHH方案的以下变体。在LHH-Skip-X重编程中,高页被重编程,跳过每X个高页。因此,LHH-Skip-0是图2(c)中检查的基本LHH在LHH-Skip-1和LHH-Skip-2中,分别对每两个或三个高页中的一个应用重新编程通过在随后的P/E循环中交替跳跃模式,获得每个块内的磨损均衡。例如,在LHH-Skip-1中,偶数和奇数高页分别在偶数和奇数周期中被重新编程。十点十二G. Yadgar等人ACM Transactions on Storage,Vol.号141、第10条。出版日期:2018年2月图六、LHH重编程变异对B29芯片的影响在第五组实验中,我们测量了LHH重编程方案的三种变化的短期影响。在所有的实验中,高页面的BER都高于低页面。在这组特定的实验中,高页面的BER比整体BER(低和高页面的组合)更能指示块的单元的磨损原因是在重新编程期间,只有高页保存有效数据,而低页不可避免地被破坏。因此,在下面的讨论中,基线的BER由其高页的BER(H)表示,并且LHH的BER由高页被重新编程时的BER(H2)表示。每个周期中H2的BER仅针对在该周期中实际重新编程的高页计算。图6显示了B29芯片上LHH-Skip-0、LHH-Skip-1和LHH-Skip-2的BER。表6总结了B29和C19芯片的预期寿命缩短。正如我们预期的那样,LHH-Skip-0的BER总是高于10−3-重新编程每个高页会显著增加相邻高页的BER。然而,LHH-Skip-1的BER仍然低于在B29芯片中,这个阈值在块的生命周期中占了很大一部分,LHH-Skip-2可以安全地使用更长的时间,最长可达块生命周期的95%,但有一个明显的缺点,即重用较少的页面容量。LHH-Skip-2的BER低于芯片寿命开始时的基线,因为这里仅针对重新编程的高页进行我们的第六组实验测量了LHH重编程的长期影响与之前一样,每个实验由两部分组成:我们在第一部分中使用LHH-Skip-1或LHH-Skip-2对块进行编程,并在第二部分中使用常规编程我们将第一部分的长度在20%到80%之间变化,这取决于前一组实验中每个芯片上每个方案的结果。图7显示了第一部分中具有LHH- Skip-1的B29芯片的BER结果,表6总结了剩余实验中预期的寿命缩短这些结果证明了LHH-Skip-X方案的优势:虽然在每个周期中最多可以重用一半的高页,但跳过剩余页可以避免重新编程造成的长期磨损。因此,与LLH重编程相比,这些方案可以应用于块的寿命的相当长的部分在最后一组实验中,我们试图最大限度地提高B29芯片的重用潜力,其中LHH-Skip-1和LHH-Skip-2之间的差异是巨大的。每个实验由三部分组成:我们在第一和第二部分中分别用LHH-Skip-1和LHH-Skip-2对块进行编程,并且在最后部分中用常规编程对块进行编程。图8显示了BER结果,其中第一和第二部分的长度变化,最后一部分的长度变化。基于WOM代码的Flash页面重用分析10点整:ACM Transactions on Storage,Vol.号141、第10条。出版日期:2018年2月表6.LHH重新程控导致的预期寿命缩短LHH周期LHH-跳过-1个周期LHH-跳过-2个周期基线B29C19不不不百分之九十九点九九百分之十二点五百分之五百分之九十九点九六百分之六十二点七52.54%0的情况。8×T0的情况。6×T0的情况。4×T0的情况。2×T0的情况。2×T0的情况。4×T0的情况。6×T0的情况。8×T百分之十五百分之七点五占6%百分之十二点七百分之八点五百分之十点二0的情况。8×T0的情况。6×T0的情况。4×T0的情况。2×T0的情况。2×T0的情况。4×T0的情况。6×T0的情况。8×T百分之五4.5%百分之四百分之九点三百分之四点二百分之五点一3.4%0的情况。6×T0的情况。4×T0的情况。2×T0的情况。0的情况。2×T0的情况。4×T0的情况。6×T0的情况。0的情况。2×T0的情况。2×T0的情百分之十二百分之十三点五百分之十点五十点十二G. Yadgar等人ACM Transactions on Storage,Vol.号141、第10条。出版日期:2018年2月2×T0的情况。2×T4×T0的情况。2×T况。2×T0的情况。4×T0的情况。6×T占6%百分之四图7.第一次会议。LHH-Skip-1重编程对B29芯片的长期影响部分固定在20%。表6总结了其他组合的预期寿命缩短。比较图7和图8表明,在实验的第二部分中,额外的LHH-Skip-2对寿命缩短只有很小的影响。3.6能耗闪存读取、写入和擦除操作消耗不同的能量,这也取决于操作是在高页还是在低页上执行,以及其数据模式。我们通过将示波器连接到SigNAS测试仪来检查LLH重新编程对能耗的影响我们计算了A16芯片上的以下操作中的每一个所消耗的能量:擦除用PLLH和p=0.5编程的块、读取和写入高页和低页、重新编程低页以及在部分使用基于WOM代码的Flash页面重用分析十点十五ACM Transactions on Storage,Vol.号141、第10条。出版日期:2018年2月图8.第八条。联合LHH-Skip-1和LHH-Skip-2重编程对B29芯片的长期影响表7.芯片A16上Flash操作的能耗操作基线(μJ)LLH(μJ)擦除读取(L)读取(H)程序(L1)重新编程(L2)程序(H)192.7950.3751.2568.18NA195.65186.4950.3751.2568.5563.04180.85平均逻辑读取平均逻辑写入50.81132.6460.79145.71块我们评估的这一部分仅限于LLH重编程,因为在制造商A的芯片上重编程高页是禁用的为了说明WOM编码数据的传输开销,我们对读取、编程和重新编程操作的测量包括了到/来自寄存器的I/O传输我们的结果(三次独立测量的平均值)总结在表7中。我们还提出了平均能量消耗每次读取或写入操作与基线和LLH重新编程,考虑到编程数据的大小,读取使用的页面提供的无效数据作为输入的WOM编码器,和页面的数量,可以写入之前,每次擦除。这些结果表明,页面重用消耗更多的整体能源比基线。这与以前的研究表明可能节省能源相反这些研究假设能量与编程单元的数量成比例,这在第一次写入和第二次写入中是等效的(G
下载后可阅读完整内容,剩余1页未读,立即下载
cpongm
- 粉丝: 4
- 资源: 2万+
上传资源 快速赚钱
- 我的内容管理 收起
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
会员权益专享
最新资源
- zigbee-cluster-library-specification
- JSBSim Reference Manual
- c++校园超市商品信息管理系统课程设计说明书(含源代码) (2).pdf
- 建筑供配电系统相关课件.pptx
- 企业管理规章制度及管理模式.doc
- vb打开摄像头.doc
- 云计算-可信计算中认证协议改进方案.pdf
- [详细完整版]单片机编程4.ppt
- c语言常用算法.pdf
- c++经典程序代码大全.pdf
- 单片机数字时钟资料.doc
- 11项目管理前沿1.0.pptx
- 基于ssm的“魅力”繁峙宣传网站的设计与实现论文.doc
- 智慧交通综合解决方案.pptx
- 建筑防潮设计-PowerPointPresentati.pptx
- SPC统计过程控制程序.pptx
资源上传下载、课程学习等过程中有任何疑问或建议,欢迎提出宝贵意见哦~我们会及时处理!
点击此处反馈
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功