都是coupling惹的祸

2024-01-24 03:10
文章标签 coupling

本文主要是介绍都是coupling惹的祸,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

我们都知道写flash是严格按page的顺序programming的, 即page 0, page 1,page 2 ,page3, …。但是对于2D MLC/TLC以及现在的micron 3D,我们所谓的顺序page对应到物理的page其实并不是连续的。我们以2D MLC为例。

看到了吗? WL0 有4个page 分别为 page 0,page 1,page 4 和page 5. Page 0 和page 4 是shared page, page 0 是lower page, page 4 是upper page。

为何物理结构的page编号是这样的呢? 作怪的真凶是谁?

原因在于2D MLC/TLC以及Micron的3D都是FGF(Floating Gate Flash),那么它就有floating gate coupling这个缺陷。

我们先来回忆下SSDfans之前的一篇文章《浅谈CT》:

“FGF的浮栅极材料是导体。任何两个彼此绝缘且相隔很近的导体间都构成一个电容器。因此,任何两个存储单元的浮栅极就构成一个电容器,一个浮栅极里面电荷的变化,都会引起别的存储单元浮栅极电荷的变化。

一个浮栅极与其附近的浮栅极之间,都存在耦合电容,这个电容大小与彼此之间距离成反比:距离越短,电容越大,彼此影响越大(回想一下初中物理知识,平板电容器电容公式C=εS/4πkd,其中d就是平板之间距离)。因此,随着闪存制程减小,存储单元之间影响越来越大。因此,Cell-to-Cell interface也是影响制程继续往前的一个因素。”

大家现在对coupling有了一定了解,我们回到正题,为什么page是那么编号的呢?如果不那么编号,会怎么样?

1)floating gate coupling between WL

比如word line i 两个page都program好,然后再program word line i+1, 我们这里假设worst case,直接从erase state 跳到D3状态。如下图所示,word line i 的4个状态的电子都不同程度的往右移动。

等到我们要读这个cell的时候,Vth就可能判断的不对,要进行read retry之类的error handling。

那么如何减少coupling的影响呢?

a) 改变program的顺序

如果我们只先programming WL i 的lower page,等WL i+1 的lower page programming 完再来programming WL i 的upper page 会怎么样的?显然,在这样的情况下,WL i+1 对 WL i的影响只剩下 programming upper page,这样就减少了coupling的影响。再深入一下,那如何让upper page programming的影响相对小些呢?

b) Programming algorithm

programming algorithm有很多种,flash厂商自然会选择coupling影响较小的一种算法。我们对其中一种算法进行说明。

programming lower page:如果写的是1 保持E状态,如果是0,跃迁至D2′

programming upper page: 如果原来状态是E,写入的是1,保持不变,写入的是0,跃迁至D1,如果原来的状态是D2′,写入的是1,跃迁至D2,写入0,跃迁至D3.

那当我们要programming upper page的时候,每个状态到自己的相对位置就比较近,这样coupling的影响就会相对较小

2) floating gate coupling between BL

一个 word line 有4个page,两个even page,两个 odd page。programming odd page的时候会影响到even page。

因此我们的programming 顺序也得做类似WL的修改。

TLC就更加复杂了,它要programming 3次,所以shared page间隔就更加远,这一切都是 floating gate coupling惹的祸!!!

再回头看看第一张图,现在应该明白为什么那么编号的原因了吧。

为什么要探究这个事情呢?FTL在处理save power cycle或者 program fail的时候我们都会用到shared page这个概念,MLC的shared page 即一个WL上的lower page 和 upper page。如果要保护好lower page的数据,一定要把相应的 shared page填满,否则容易出现ECC甚至UECC。

现在的3D 大多数都是CTF(charge trap flash),因此没有coupling issue,所以这也是为什么它可以one shot programming。

这篇关于都是coupling惹的祸的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/638373

相关文章

【文献分享】myMUSCLE, a New Multiphysics, Multiscale Simulation Coupling Environment

题目:myMUSCLE, a New Multiphysics, Multiscale Simulation Coupling Environment 链接: https://doi.org/10.1080/00295639.2022.2148809 myMUSCLE,一种新的多物理场、多尺度仿真耦合环境   摘要 计算能力的提高使核界能够结合有关反应堆中发生的各种不同物理现象的现有

Coupling and Cohesion

耦合和聚合(或者内聚)我敢保证这两个词,你会经常听到。同时我也敢说,你问一下你所有的同事,不会有几个人可以清楚地定义这两个词。以下定义来自《UML和模式应用 面向对象分析和设计导论》中译版,姚淑珍译。英文版《Applying UML and Patterns An introduction to Object-Oriented Analysis and Design》By Craig Larman

【转载】都是coupling惹的祸

我们都知道写flash是严格按page的顺序programming的, 即page 0, page 1,page 2 ,page3, …。但是对于2D MLC/TLC以及现在的micron 3D,我们所谓的顺序page对应到物理的page其实并不是连续的。我们以2D MLC为例。       看到了吗? WL0 有4个page 分别为 page 0,page 1,page 4 和p

Accurate prediction of protein contact maps by coupling residual two-dimensional bidirectional long

论文题目:Accurate prediction of protein contact maps by coupling residual two-dimensional bidirectional long short-term memory with convolutional neural networks 下载链接:https://academic.oup.com/bioinformat

AC3 channel coupling

1.overview 如果使用channel coupling, encoder端计算所有channel的transform coefficients的平均值,将平均值压缩到coupling channel.每一个coupled channel具有一组唯一的coupling coordinator用来还原出其原始的高频部分的envelop.  channel coupling只在某个频率以上进

简要论文笔记:Conformer: Local Features Coupling Global Representations for Visual Recognition

作者团队: Zhiliang Peng,Wei Huang,Shanzhi Gu,Lingxi Xie,Yaowei Wang,Jianbin Jiao,Qixiang Ye国科大,华为,鹏城实验室 在下面我们将简要总结一下介绍一下Conformer,有兴趣的读者可以看下原文:论文原文 VIT后很多工作都是想办法把transforemer和convolution结合起来,希望同时享受各自的优

TransGCN:Coupling Transformation Assumptions with GCN for Link Prediction阅读笔记

研究现状 TransE、TransD、TransR 基于平移的方法 针对单个三元组进行训练  A Three-Way Model for Collective Learning on Multi-Relational Data(2011) 基于语义匹配的方法 Embedding entities and relations for learning and infe

Planning for electric vehicle needs by coupling charging profiles with urban mobility

这是发表在nature energy上的一篇论文,相当牛的期刊,相当牛的论文,花了两天看了下,在此就慢慢解读记录下。 1.文章概述 论文主要是分析了电动汽车充电问题,也就是说现在电动车越来越多,这些电动车一起充电,将会带来一个用电高峰,这个高峰可能会使得区域供电系统不稳定,甚至崩溃,因此作者希望能够降低峰值用电情况,解决这个问题的办法很自然地想到是错峰用电,这样就可以减小用电峰值了,但是如何错

Memory testing 6------------Fuctional RAM Modle------------Coupling Fault (CF)

四、 耦合故障        4.1 状态耦合故障:当一个单元处于某个状态值时,另一个耦合单元被置0或1。        4.2 翻转耦合故障:当一个单元发生上升沿跳变或下降沿跳变时,会引起另一个单元内容的翻转。        4.3 幂耦合故障:当一个单元发生上升沿跳变或下降沿跳变时,会迫使另一个单元内容置0 或置1。        4.4 动态耦合故障   1、State Coup

Object Oriented Design-coupling and cohesion

Firstly and most importantly, Designs that exhibit low coupling and high cohesion are preferred. What is coupling? coupling就是两个class之间的相关程度,所以越低越好。 Figure 1b provides an alternate design involving t