Storage Coding for Wear Leveling in Flash Memories
闪存是由单元块组成的非易失性计算机存储器,其中每个单元被实现为NAND或NOR浮栅。NAND闪存是目前使用最广泛的闪存类型。在NAND闪存中,每个单元块都由许多页组成;即使重写单个页也需要擦除和重新编程整个块。块擦除决定了闪存的寿命和效率。因此,当NAND闪存中的数据被重组时,最小化实现期望的数据移动所需的块擦除的总数是重要的目标。这就引出了本文研究的闪存数据移动问题。我们表明,编码可以显着减少数据移动所需的块擦除的数量,并提出了几个最佳或接近最佳的数据移动算法的基础上,从编码理论和组合学的想法。特别是,我们表明,排序为基础的(非编码)计划至少需要O(nlogn)擦除n块之间移动数据,而编码为基础的计划只需要O(n)擦除。此外,基于编码的方案仅使用一个辅助块,这是最好的可能,并且在n+1个块中的每个块中的擦除的数量之间实现良好的平衡。
2009-11-20 cs.IT math.IT
Quantizing for Noisy Flash Memory Channels
本文提出联合优化量化与验证电平的集成框架,以最小化均方误差,解决闪存存内计算中噪声引起的可靠性问题,实验验证其显著提升系统可靠性。
2025-06-21 cs.IT eess.SP math.IT
Performance of Multilevel Flash Memories with Different Binary Labelings: A Multi-User Perspective
在这项工作中,我们研究了不同的解码方案的多级闪存的性能,在每个块中的每个页面是独立编码。我们专注于多级单元(MLC)的闪存,这是建模为两个用户的多路访问通道遭受非对称噪声。针对P/E循环模型和数据保持模型,研究了干扰作为噪声(TIN)译码和连续抵消(SC)译码的均匀速率域和和速率之和.我们检查了单元水平的不同二进制标记的效果,以及存储器输出的进一步量化的影响(即,额外的读取阈值)。最后,我们扩展我们的分析,三电平单元(TLC)的闪存。
2016-05-03 cs.IT math.IT
Multi-Erasure Locally Recoverable Codes Over Small Fields For Flash Memory Array
擦除码在存储系统中起着防止数据丢失的重要作用。本文研究了一类用于闪存阵列的擦除码--多擦除局部可恢复码(ME-LRC)。与以前的相关工作相比,我们专注于小领域的ME-LRC的建设。我们首先开发的最小距离的ME-LRC的上限和下限。这些界限明确考虑了字段大小。我们的主要贡献是提出了一种基于广义张量积码的ME-LRC的一般构造,并研究了其纠删性质。给出了一种适合于擦除恢复的译码算法。然后,我们证明,我们的建设产生最佳的ME-LRC与广泛的代码参数。最后,我们提出了几个家庭的ME-LRC在不同的领域。
2017-01-22 cs.IT math.IT
Using Dynamic Allocation of Write Voltage to Extend Flash Memory Lifetime
闪存单元的读取通道在重复编程和擦除(P/E)操作之后退化。这种退化通常被建模为P/E周期数的函数。与此相反,本文模型的退化作为一个功能的累积效应的电荷写入和擦除的单元。基于这种建模方法,本文动态分配电压使用较低的电压写入阈值在器件寿命的开始,并增加阈值,以保持互信息的读取通道在面对退化。本文介绍了一个理想化的设置中的技术,然后删除信道知识和可用的电压分辨率的理想假设,得出结论与一个实用的方案,性能接近的理想化设置。
2016-10-11 cs.IT math.IT
Rewritable Codes for Flash Memories Based Upon Lattices, and an Example Using the E8 Lattice
描述了一种基于格的用于闪存的重写代码构造。存储在闪存单元中的值对应于点阵点。这种构造将信息编码到格点,使得数据可以多次写入存储器而不会减少单元值。该构造将闪存的立方信号空间划分为块。最小写入次数在其中一个代码参数中显示为线性。最后给出了一个E8格的例子,并给出了数值结果。
2010-07-12 cs.IT math.IT
Deep Learning-Aided Dynamic Read Thresholds Design For Multi-Level-Cell Flash Memories
实际的NAND闪存遭受难以预测的各种非平稳噪声。此外,在回读过程中,数据保留噪声引起的通道偏移是未知的。这严重影响了从存储单元的数据恢复。在本文中,我们首先提出了一种新的递归神经网络(RNN)为基础的检测器,有效地检测存储在多级单元(MLC)闪存的数据符号,而无需任何先验知识的通道。然而,与传统的阈值检测器相比,所提出的RNN检测器引入了更长的读取延迟和更多的功耗。为了解决这个问题,我们进一步提出了一个RNN辅助(RNN)动态阈值检测器,其检测阈值可以根据RNN检测器的输出导出。因此,我们只需要在系统空闲时周期性地激活RNN检测器。此外,为了实现纠错码的软判决解码,我们首先展示了如何基于从RNN检测器导出的硬判决读取阈值来获得更多的读取阈值。然后,我们提出了基于整数的可靠性映射的基础上设计的读阈值,它可以产生的软信息的通道。最后,我们提出了将密度进化(DE)结合差分进化算法来优化LDPC编码的闪存通道的读阈值。计算机模拟的结果表明,我们的RNA动态读取阈值设计的有效性,为未编码和LDPC编码的闪存通道,没有任何先验知识的通道。
2019-07-09 cs.IT math.IT
Modulation Codes for Flash Memory Based on Load-Balancing Theory
在本文中,我们考虑的调制码的实际多级闪存存储系统的单元级。我们不是最大化设备的寿命[Ajiang-isit 07 -01,Ajiang-isit 07 -02,Yaakobi_verdy_siegel_aller_allerton 08,Finucane_Liu_Mitzenmacher_aller08],而是最大化每个单元级别存储的平均信息量,这被定义为存储效率。使用这个框架,我们表明,最坏情况下的标准[Ajiang-isit 07 -01,Ajiang-isit 07 -02,Yaakobi_verdy_siegel_aller_allerton 08]和平均情况下的标准[Finucane_Liu_Mitzenmacher_aller08]是我们的目标函数的两个极端情况。提出了一种自随机调制码,它是渐近最优的,对于任意的输入字母表和独立同分布。投入分配在实际的闪存系统中,单元级的数量仅是适度大的。所以渐近性能可能不能说明全部情况。利用负载均衡理论的工具,分析了自随机调制码的存储效率。结果表明,只有一小部分的细胞被利用时,细胞级的数量只有适度的大。我们还提出了一个负载均衡调制码,基于被称为“两个随机选择的权力”[Mitzenmacher 96 thepower]的现象,以提高实际系统的存储效率。理论分析和仿真结果表明,我们的负载均衡调制码可以提供显着的增益,实际的闪存存储系统。虽…
2009-10-12 cs.IT math.IT
Quasi-Cross Lattice Tilings with Applications to Flash Memory
我们考虑$\R^n$的格子镶嵌的形状,我们称之为一个$(\kp,\km,n)$ -准十字。这样的格形成完美的纠错码,其用正误差和负误差的规定最大幅度(其比率被称为平衡比)来校正单个有限幅度的误差。这些代码可以用于校正闪存中的干扰和保持错误,其特征在于具有有限的幅度和不同的符号。我们构造了任意有理平衡比的完美码的无限族,并给出了$(2,1,n)$ -拟交叉格点拼接的具体构造。这些构造与群分裂和模$B_1$序列有关。我们还研究了准十字格镶嵌参数的界,连接准十字的臂长和维数。我们还证明了限制组分裂,一个具体的情况下,表明$(2,1,n)$准交叉的晶格平铺的参数是唯一可能的。
2011-02-10 cs.IT math.IT
Deep Transfer Learning-based Detection for Flash Memory Channels
针对NAND闪存信道非平稳、传统机器学习检测需大量标注样本且大偏移下标签难获取的问题,提出基于模型与无监督域适应的深度迁移学习检测方案,大幅减少训练数据需求,可无标签实现近最优误码率性能。
2024-10-08 cs.IT eess.SP math.IT
DNN-aided Read-voltage Threshold Optimization for MLC Flash Memory with Finite Block Length
Nanjing University of Science and Technology(南京理工大学);Nanjing University of Posts and Telecommunications(南京邮电大学);Singapore University of Technology and Design(新加坡科技设计大学)
多级单元(MLC)NAND闪存的纠错性能与纠错码(ECC)的块长度和读电压阈值的对数似然比(LLR)密切相关。针对这一问题,本文对MLC闪存的读电压阈值进行了优化,以提高有限块长ECC的译码性能。首先,通过对有限块长度下的信道编码率(CCR)和译码错误概率的分析,建立了以最大译码错误概率最小为目标的读电压阈值优化问题。其次,我们提出了一种交叉迭代搜索(CIS)算法来优化读电压阈值下的闪存通道的完美知识。然而,由于实际上闪存的数据保持时间(DRT)很难记录,因此分析表征数据保持噪声(DRN)影响下的电压分布具有挑战性。为了解决这个问题,我们开发了一种深度神经网络(DNN)辅助优化策略来优化读取电压阈值,其中采用多层感知(MLP)网络来学习电压分布和读取电压阈值之间的关系。仿真结果表明,与现有方案相比,所提出的DNN辅助的读电压阈值优化策略结合设计良好的LDPC码,不仅可以提高编程擦除(PE)耐受性,而且可以降低读延迟。
2020-04-11 cs.IT cs.LG math.IT
Asymmetric Error Correction and Flash-Memory Rewriting using Polar Codes
我们提出了两种通信设置有效的编码方案:1。不对称信道,以及2.信道具有通知的编码器。这些设置在非易失性存储器以及光学和广播通信中很重要。这些方案基于非线性极化码,它们建立在这些设置的基础上并改进了最近的工作。在非对称通道中,我们解决了以前已知的计划,导致使用大型布尔函数的指数存储要求。提出了一种改进的方案,该方案在满足多项式计算复杂性和存储要求的情况下达到了非对称信道的容量。所提出的非线性计划,然后推广到设置信道编码与一个知情的编码器,使用多编码技术。我们认为具体的情况下,该计划的闪存,将纠错能力与重写。由于所考虑的代码是非线性的,它们消除了先前已知的方案(称为极性一次写入存储器代码)对编码器和解码器之间的共享随机性的要求。最后,我们提到的多编码方案也是有用的广播通信在马顿的区域,改善以前的计划,这种设置。
2015-12-28 cs.IT math.IT
Rank-Modulation Rewrite Coding for Flash Memories
当前的闪存技术集中于其静态存储容量的成本最小化。然而,所得到的方法支持相对小数量的编程-擦除周期。该技术对于消费者设备(例如,智能手机和照相机),其中编程擦除周期的数量很小。但是,对于需要大量生命周期写入的企业存储系统来说,这并不经济。本文提出的方法,用于缓解这个问题包括两个关键思想的有效整合:(i)提高可靠性和耐久性表示的信息使用相对值通过秩调制方案和(ii)增加整体(寿命)容量的闪存设备通过重写代码,即,擦除前每个单元执行多次写入。本文提出了一种新的编码方案,结合秩调制和重写。新方案的主要优点包括:(i)每次写入时每个单元存储接近2位的能力,对存储器的寿命影响最小,以及(ii)利用最近提出的容量实现一次写入存储器(WOM)代码的高效编码和解码算法。
2014-12-31 cs.IT math.IT
A Nearly Optimal Construction of Flash Codes
闪存是由单元块组成的非易失性计算机存储器,其中每个单元可以采用q个不同的值或电平。虽然增加单元电平很容易,但降低单元电平只能通过擦除整个块来实现。由于块擦除是非常不期望的,所以已经设计了编码方案(称为浮动码或闪存码),以便在引起块擦除之前最大化存储在闪存中的信息可以被写入(和重写)的次数。(n,k,t)_q闪速码C是用于在n个单元中存储k个信息比特的编码方案,其方式使得可以在没有块擦除的情况下容纳多达t个写入的任何序列(其中写入是k个比特中的任何一个比特中的转变0-> 1或1-> 0)。n个单元中可用电平转换的总数为n(q-1),C的写入不足定义为δ(C)= n(q-1)-t,它是代码接近完美利用所有这些转换的程度的度量。对于k> 6和大的n,以前已知的最好的闪存代码的构造实现了O(qk^2)的写缺陷。另一方面,写不足的最佳已知下限是Ω(qk)。在本文中,我们提出了一个新的建设的闪存代码,接近这个下限内的一个因子对数k。为此,我们首先改进了所谓的“索引”闪存代码,由于江和布鲁克,通过消除需要在江-布鲁克建设的索引单元。接下来,我们通过引入一个新的多级(递归)索引方案来进一步增加写入的数量。然后,我们表明,所产生的闪存代码的写不足是O(qk \log k),如果q \geq \log_2 k,否则至多O(k \log^2 k)。
2009-05-10 cs.IT math.IT
When Do WOM Codes Improve the Erasure Factor in Flash Memories?
闪存是一种只写一次的介质,其中对单元进行重新编程需要首先擦除包含它们的块。闪存的寿命是块擦除次数的函数,可以小到几千次。为了减少块擦除的数量,作为最小写入单元的页在存储器中被重写。一次写入存储器(WOM)代码是一种编码方案,其使得能够在擦除之前多次写入块。然而,这些代码具有显著的速率损失。例如,写入两次的速率(具有相同的速率)最多为0.77。在本文中,我们研究WOM码和他们之间的权衡率损失和减少块擦除的数量,当页面均匀随机写入。首先,我们引入了一个新的措施,称为擦除因子,它反映了块擦除的数量和每个块上可以写入的数据量。在我们的分析中的一个关键点是,这种权衡取决于内存中的WOM代码的具体实现。我们考虑两个系统,使用WOM代码,一个传统的计划,通常使用,和一个新的最近的设计,保留了整体的存储容量。虽然第一个系统可以提高擦除因子,只有当存储速率是最多0.6442,我们表明,第二个方案总是提高这个品质因数。
2015-04-22 cs.IT math.IT
Error Correction for NOR Memory Devices with Exponentially Distributed Read Noise
具有多级存储单元(MLC)的高密度NOR闪存器件由于其较高的本征位出错率(IBER)而遇到可靠性的突破。芯片制造商公司提供两种解决方案来满足输出位出错率(OBER)规范:使用纠错码(ECC)的部分覆盖或单级单元(SLC)中的数据存储,这显著增加了管芯成本。NOR闪存允许以小部分写入信息,因此,由于所需的高冗余(例如,$\sim$ 50%),完全错误保护变得昂贵。这与NAND闪存一次写入大量信息非常不同; NAND ECC只需要$\sim$ 10%的冗余。本文分析了一种适用于单字节或非存储器的新型差错保护方案。该方法不需要任何冗余单元,但假设第5编程级别。该信息被映射到由等于2的最小曼哈顿距离分隔的4维空间中的状态。此代码保留了信息容量:一个字节占用四个存储单元。我们证明了OBER $\sim$ IBER $^{3/2}$缩放定律,其中IBER是针对4级MLC存储器计算的。例如,具有IBER $\sim10^{-9}$的4级MLC(这对于高密度产品是不可接受的)可以转换为OBER $\sim10^{-12}$。我们假设IBER由指数分布的读取噪声决定。这是NOR闪存器件的情况,因为指数尾对于随机电报信号(RTS)噪声和大多数电荷损失、电荷增益和电荷共享数据损失是典型的。
2013-06-22 cs.IT math.IT
Multidimensional Flash Codes
闪存是由单元块组成的非易失性计算机存储器,其中每个单元可以具有与其包含的电子数量相对应的q个不同的电平。增加单元级别很容易;然而,减少单元级别会迫使同一块中的所有其他单元被擦除。这种擦除操作是不希望的,因此必须尽可能少地使用。我们考虑的问题,设计代码,用于此目的,其中k位存储使用一个块的n个单元格与q级。目标是在需要擦除操作之前最大化位写入的数量。我们提出了一个有效的建设的代码,可以存储任意数量的位。我们的构造可以被看作是Jiang和Bruck早期工作的多维扩展,其中提出了只能存储2位的一维码。
2009-04-03 cs.IT math.IT
Rewriting Codes for Flash Memories
闪存是包括单元块的非易失性计算机存储器,其中每个单元可以采用q个不同的值或电平。虽然增加单元电平很容易,但降低单元电平只能通过擦除整个块来实现。由于块擦除是非常不期望的,所以已经设计了编码方案(称为浮动码(或闪存码)和缓冲器码),以便在引起块擦除之前最大化存储在闪存中的信息可以被写入(和重写)的次数。(n,k,t)q闪速码C是用于在$n$单元中存储k个信息比特的编码方案,其方式使得可以在没有块擦除的情况下容纳多达t个写入的任何序列。n个单元中可用电平转换的总数为n(q-1),C的写入不足定义为δ(C)= n(q-1)-t,它是代码接近完美利用所有这些转换的程度的度量。在本文中,我们给出了一个Flash码的构造,当\geq \log_2 k时,写亏数为O(qkPDMATHABMN k),否则写亏数至多为O(k \log^2 k).(n,r,\ell,t)q缓冲代码是一种编码方案,用于存储r个\ell进制符号的缓冲区,使得对于任何t个符号的序列,都可以成功解码写入的最后r个符号。我们改进了以前的上限上的最大写入次数t的情况下,有一个单一的细胞存储缓冲区。然后,我们展示了如何改进Jiang等人使用多个单元的构造,其中n \geq 2 r。
2012-10-28 cs.IT math.IT
Geometric WOM codes and coding strategies for multilevel flash memories
本文研究了一次写入存储器(WOM)代码在闪存存储中的设计和应用。利用Merkx('84)的思想,我们给出了一种基于$\mathbb{F}_2$上有限欧氏几何的WOM码的构造.这种结构产生WOM码与新的参数,并提供洞察的标准,关联结构应满足产生良好的代码。我们还分析了适应二进制WOM代码用于多级闪存单元的方法。特别是,我们给出了两种策略的基础上不同的重写目标。这些策略的平均写入性能的简要讨论,以及WOM代码的级联方法也提供了。
2012-05-07 cs.IT math.CO math.IT
Concatenated Raptor Codes in NAND Flash Memory
针对NAND闪存中的错误控制问题,提出了两种基于固定速率Raptor码的级联编码方案。一个是面向离线恢复不可纠正的页面,另一个是专为页面错误校正在正常读取模式。这两个建议的编码策略假设硬判决解码的内码与内部解码失败产生的外部猛禽码的擦除符号。Raptor码允许对非常长的码字进行低复杂度解码,同时为擦除信道提供接近容量的性能。对于离线页恢复方案,一个完整的NAND块形成Raptor码字,每个内部码字通常由几个Raptor符号组成。一个有效的查找表的策略,设计了猛禽编码和解码,避免使用大型缓冲区的控制器,尽管相当大的规模的猛禽代码。所提出的计划的潜在性能优势进行评估的概率块恢复条件下存在不可纠正的页面。另一方面,在所建议的页面错误校正策略中,使用硬决策迭代乘积码作为内码。在这项工作中采用的特定产品代码是基于行-列级联与多个交叉位,允许使用较长的组件代码。在这种设置中,在行-列代码的每个交叉点内捕获的位的集合充当Raptor符号,并且失败的行代码和列代码的交叉点被声明为擦除。出错率分析表明,相对于现有的基于长BCH码的纠错系统,该级联方案具有显著的性能提升.
2013-12-20 cs.IT math.IT
DNA Tails for Molecular Flash Memory
本文提出DNA Tails存储范式,通过在DNA切口位点生长不同长度的单链DNA尾巴来编码非二进制符号,并结合秩调制码纠正校准错误和截断尾巴生长错误,从而提升DNA存储密度。
2025-05-06 cs.ET cs.IT math.IT
Layered Index-less Indexed Flash Codes for Improving Average Performance
本文提出了一种适用于闪存存储系统的无索引闪存码(ILIFC)的改进方案。虽然Mahdavifar等人提出的ILIFC具有优异的最坏情况性能,但ILIFC在平均情况性能方面可以进一步改进。所提出的方案,称为{ \em分层ILIFC},是基于ILIFC。然而,本研究的主要重点是平均情况下的性能。该方案的主要特点是使用基于层的索引编码来表示信息比特的索引。层索引编码促进了单元级别的统一使用,这导致更好的平均情况性能。实验结果表明,该方案在不损失最坏性能的前提下,实现了比原ILIFC更大的平均重写次数。
2011-02-17 cs.IT math.IT
Managing Device Lifecycle: Reconfigurable Constrained Codes for M/T/Q/P-LC Flash Memories
闪存器件正在赢得与磁记录器件的存储密度竞争。这一结果源于物理学的进步,允许每个单元存储超过一位,加上信号处理的进步,减少了物理不稳定性的影响。在存储中使用约束代码以避免有问题的模式。最近,我们介绍了二进制对称字典序约束码(LOCO码)的数据存储和数据传输。本文介绍了简单的约束代码,支持非二进制物理基板,多,三,四,和目前正在开发的五电平单元(M/T/Q/P-LC)闪存。如果有问题的模式随着时间的推移而改变,新的代码可以很容易地修改。这些代码旨在减轻单元间干扰,这是闪存设备中的关键错误来源。错误的发生是浮栅晶体管中和跨浮栅晶体管的寄生电容的结果,导致电荷从被编程到最高电荷电平的单元传播到被编程到较低电平的相邻单元。新的代码被称为$q$ -ary非对称LOCO码(QA-LOCO码),和建设包括以前设计的单级单元(SLC)闪存设备(A-LOCO码)的代码。QA-LOCO码适用于每个单元具有任意数量($q$)电平的闪存器件。对于$q \geq 4$,我们表明,QA-LOCO码可以实现速率大于$0.95 \log_2 q$信息位每编码符号。编码和解码的复杂性是适度的,重新配置代码就像重新编程加法器一样容易。容量实现率、经济实惠的编码-解码复杂性和易于重新配置性支持M/T/Q/P-LC闪存设备的不断发展,以及生命周期管理,因为这些设备的特征随着时间的推移而变化。
2020-01-08 cs.IT math.IT
The I/O Complexity of Attention, or How Optimal is Flash Attention?
University of California, San Diego(加利福尼亚大学圣迭戈分校)
该研究针对FlashAttention算法的I/O复杂度最优性,证明了其在任意缓存大小下的下界匹配性,并提出了更优算法及通信复杂度与I/O复杂度的新联系。
2024-02-12 cs.CC cs.DS cs.IT