【转载】都是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为例。
2D MLC page

      看到了吗? 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就是平板之间距离)。因此,随着闪存制程(process)减小,存储单元之间影响越来越大。因此,Cell-to-Cell interface也是影响制程继续往前的一个因素。”

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

1)floating gate coupling between WL(Word Line)

      比如word line i 两个page都program好,然后再program word line i+1, 我们这里假设最坏的情况,直接从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(Bit Line)

      一个 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(Uncorrectable Error Correction Code )。

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

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



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

相关文章

提问的智慧(转载)

此文让我受益良多。值得一读,大家如果也觉得不错就一起来推~~~   ---------------------------------      在黑客世界里,当提出一个技术问题时,你能得到怎样的回答?这取决于挖出答案的难度,同样取决于你提问的方法。本指南旨在帮助你提高发问技巧,以获取你最想要的答案。       首先你必须明白,黑客们只偏爱艰巨的任务,或者能激发他们

Struts2常用标签总结--转载

Struts2常用标签总结 一 介绍 1.Struts2的作用 Struts2标签库提供了主题、模板支持,极大地简化了视图页面的编写,而且,struts2的主题、模板都提供了很好的扩展性。实现了更好的代码复用。Struts2允许在页面中使用自定义组件,这完全能满足项目中页面显示复杂,多变的需求。 Struts2的标签库有一个巨大的改进之处,struts2标签库的标签不依赖于

【转载】ACM感悟

今天看了一篇我们学校前辈的ACM的感悟,觉得写的十分有道理,这里转载,文章还会不断的改进和更新。 原文链接:http://www.cnblogs.com/Chierush/p/3760870.html?ADUIN=1339764596&ADSESSION=1401536826&ADTAG=CLIENT.QQ.5329_.0&ADPUBNO=26349 声明:本文是写给弱校ACM新手的一点

转载 SPI的比喻理解

SPI 传输是一个虚拟的移位寄存器方式。 你这么理解就可以: 主机和从机之间有一条 16 格的传送带。主机一格一格拨动它转动(相当于发送时钟)。 如果是主机发送,它就把一个个的东西放在传送带上,转动 8 次,就传到从机一侧了。这时,从机可以从传送带上将东西取下。如果从机没有取东西,这些东西再转 8 次又回到主机一侧。 如果是主机接收,从机就要把 8 个东西一次放上传送带。当主机转动 8 次,东西就

转载:从小白鼠试毒问题-海明码

问题提出: 有1000瓶水,其中有一瓶有毒,小白鼠只要尝一点带毒的水24小时后就会死亡,至少要多少只小白鼠才能在24小时时鉴别出哪瓶水有毒? 问题分析: 需要多少只小白鼠?这个很容易想到是10只(二进制),但是如何鉴别哪一瓶水有毒?(即如何安排小白鼠?)原贴如下:https://blog.csdn.net/mengtnt/article/details/8477747 海明码计算: 转载

[转载]20本经典云计算书籍和内容简介

云计算 : 深刻改变未来 内容简介 · · · · · · 本书概述了云计算的起源、发展以及商业模式,介绍了云计算的关键技术、典型应用以及开源软件和社区。 云计算既是机遇也是挑战,中国科技何去何从?需要从国家层面重视云计算,在教育、普及、重点研发、示范工程等诸多领域对其进行统筹规划,从而推动云计算在中国的发展,并最终使云计算造福百姓,惠及国民经济,推动科

将自己的工程开源到GitHub---转载记录保存

1.1 工程中创建Module   最开始你可能自己写了个工程,感觉不错,进行了一定的封装和优化,想留作开发下一个App时用或者给别人用。但是每次复制粘贴代码显得繁琐,还要处理一堆的package name和import错误。于是你想着把它改造成独立的工程,每次整个工程复制进去,设置引用就可以了。这就要使用Android Studio的module了。以前,你的工程只有一个Module,就是(M

数论模板(转载)

https://blog.csdn.net/weixin_43238423/article/details/99685883 这位同学总结得挺好的  #include<bits/stdc++.h>using namespace std;typedef long long ll;const ll mod=1000007;const ll N=100010;ll v[N],prime[N

【转载】如何才是Data Scientist?

发信站: BBS 未名空间站 (Sat Jan  4 17:53:14 2014, 美东) 如何才是Data Scientist? 小弟本是学术界的Bioinformatics Scientist,因生计问题3年前改行工业界Data Scientist,经历过2家大的互联网公司,3个不同的岗位的Data Scientist。现将这些 年来摸爬滚打中所学所做所想所理解总结如下,抛砖引

转载: 成大事的9种心态

每个人做人办事的手段都是不一样的,可以讲,一个人就有一种手段,一个人就有一种靠自己手段获得成功的途径。无数事实表明,有些人就是太过于自信,想念自己确认的手段能够解决任何问题,但不知道这种往往是起不到任何作用。因此,他们总觉得离成功的目标不是越来越近,而实际上越来越远。   人生的计划和行动,是需要靠章法来完成的,而不是靠一些怪招去谋划的。这就好比在拳击台比赛一样:两个拳手相互较量,激战正酣,进