找回密码
 注册
关于网站域名变更的通知
查看: 219|回复: 1
打印 上一主题 下一主题

 Upper Page和Lower Page那些事儿

[复制链接]
  • TA的每日心情
    开心
    2019-11-20 15:00
  • 签到天数: 2 天

    [LV.1]初来乍到

    跳转到指定楼层
    1#
    发表于 2019-4-3 07:00 | 只看该作者 |只看大图 回帖奖励 |倒序浏览 |阅读模式

    EDA365欢迎您登录!

    您需要 登录 才可以下载或查看,没有帐号?注册

    x

    Upper Page和Lower Page那些事儿

    根据Lower page和Upper page的不同特性解决不同的问题,在实际的应用中会带来极好的效果,如:提升性能、大幅提升寿命、解决异常掉电的可靠性安全隐患等等。一些特殊应用或许会带来其他方面的损失,如:提升性能和寿命可能需要牺牲容量等,但这些取舍的操作往往比通用的操作更具有现实意义。

      d4 ~0 t; ^; L9 l3 N8 N9 j

    Upper Page和Lower Page的概念在各个Nand Flash厂商的Datasheet中基本没有提及,Datasheet会给出笼统的program时间,这个操作时间是Lower和upper的平均时间,实际上,Upper page的操作时间会比Lower Page的操作时间长3-4倍左右(MLC)。这些结论可以通过NFA100-E很直观的看到:


      i9 Q& [4 j2 i1 `8 Q3 m. J

    + Y$ V% u3 ?+ g( V: P9 L
           最直接的测试数据(时间单位:μs):

    $ I/ E2 x, I3 A  s* M

    ! q2 d. {% j: v* T7 _

    那么,到底操作时间短的叫Upper page,还是操作时间长的叫Upper page?Lower Page是所谓的“快页”还是“慢页”?

    9 c3 X% f7 Y5 K5 P% A& c

    答案是:Upper Page是操作时间较长的Page,也叫“慢页”;Lower Page是操作时间较短的Page,也叫“快页”。为何如此,后文有分析。


    / ^+ O3 g& J/ j, o* G8 ?

    关于LSB和MSB


    * W! ]$ q4 |" a5 ]$ z

    在谈Upper page和Lower page之前,必须得从两个绕不开词说起:LSB(Least significant bit最低有效位)和MSB(Mostsignificant bit最高有效位)。

    ; s$ m7 V& g9 g4 E" ?% F

    MSB是指一个n位二进制数字中的n-1位,具有最高的权值2^(n-1),在大端序中,MSB即指最左端的位,LSB则相反。

    ' a$ \1 @# S9 G+ U

    Nand Flash最初始的状态是“11”,在此状态下,左边的1是MSB,右边的1是LSB,所以,对Nand Flash进行Program的过程,就是将“11”中的MSB或者LSB或者二者Program为“0”或者继续保持“1”的状态,由此,cell其实有四种状态,四种状态分布对应不同的Cell电压值:


    ) @$ c* H4 T3 v: @
    ! Q+ r- _5 a! i1 [6 \1 i: k) ~

    11:Erase状态;


    2 o+ r( M& ~" X# m  m1 k, i

    10:Program 0(LSB被program)

    ' _8 i1 z/ |- v$ j$ S

    00:Program 0(LSB和MSB被Program)

    ! _9 `0 z( m: P- ?* q3 X: E2 |) T  q

    01:Program 0(MSB被program)


      j! g5 _- j2 n

    Upper Page和Lower Page


    : k. e! _7 n, f7 G6 ]2 \

    那么,LSB和MSB和upper page和Lower page又是什么关系呢?

    ) v/ a" T: {' h' C

    厂商是这样做的:把MSB和LSB一个物理cell上的两个bit分别映射到两个不同的page上,那么,LSB对应的page就是Lower page,MSB对应的page就是Upper page。美其名曰:sharedpages或者paired pages,具体如何映射,每个厂商各有不同,每一代的Nand Flash的映射方法也不同,例如:34nm和25nm就不一定相同,2D nand和3D Nand也不同,更为悲催的是,有些厂商在datasheet中并不提供对应的表供用户查询。

    & g3 D0 y1 U$ r3 \  a

    例如:page32和page64,page75和page138互为shared page,开头和结尾的一些pages(数量不确定,每个厂商都不同,2D nand和3D也不同)有特殊用途,没有分配shared page。


    " E' |& @3 N( b, W# b; f8 p8 |1 {

    Datasheet没有说明这一对page中,哪个是Upper Page,哪个是Lower Page,事实上,数字小的是Lower Page,数字大的是Upper Page。

    7 q. [/ M- u$ j2 H1 o; w1 S6 ~8 T1 J


    . }* j1 Z2 G7 _8 B& l" d. b2 _   那么为什么LowerPage的速度快,Upper page的速度慢呢?这是因为,与Lower page不同,Upper Page在Program时,不仅仅需要自身的阈值电压,还需要知道Lower Page阈值电压分布情况,具体来说:

    : P- y( `. b& j


    & d% @% {- b. I7 F    Nand Flash对一个cell的编程必须是从LSB也就是对应的Lower page开始执行编程,那么,LSB将会面临两种状态:

    . B5 J8 N' S! e

    1、如果是写入“1”,Cell的阈值电压不会发生改变,仍然保持“擦除”状态;


    # t) G) I! F8 z1 x+ [, \$ p

    2、如果是写入“0”,Vth将会升高,直到达到“10”或“00”所需的电压值。

    - l1 i' p% C2 [! [' E

    LSB编程完毕,才开始MSB也就是Upper Page的编程,同样:


    5 Z* k, f8 j6 k* [) N/ M- p

    1、 如果是写入“1”,Vth不会发生改变,仍然保持擦除状态;

    7 T6 n# h7 z+ i0 H

    2、 如果是写入“0”,那么:


    2 @0 L9 y' q+ z5 M5 M3 `4 K$ w

    2.1  如果Lower page是“1”,Vth将会升高到“01”;

    , i" _! V& k3 L' r( T

    2.2  如果Lower page是“0”,将会升高到“00”所需电压值;


    % R' i$ l+ C& R" ?: t- O6 L. g- j


    5 y: T8 Y  n' W2 l, G8 M异常掉电的影响:


    0 }' U" U3 F. g

    正如上面所述,一个物理cell其实是被两个page所共享,那么,问题就来了,既然一个cell中的两个bit被映射到两个不同的逻辑页中,那么当对其中一个bit进行写入操作时(无论是MSB还是LSB),如果突然掉电,那么,这个cell中的数据势必会丢失,也就是说,两个page中的数据都会出现错误。所以,断电保护的作用就不言而喻。


    # G$ C' R9 b7 H/ l5 n7 \& H# u. V

    通常情况下,SSD会使用钽电容或者超级电容做断电保护,二者各具优缺点,钽电容更适合宽温环境,但钽电容容量一般都较小,不适合做大容量SSD断电保护,超级电容则不适合高低温环境,更适合做大容量SSD断电保护。


    3 R4 _+ ]  ^4 L2 r5 z, X& a# @
    您需要登录后才可以回帖 登录 | 注册

    本版积分规则

    关闭

    推荐内容上一条 /1 下一条

    EDA365公众号

    关于我们|手机版|EDA365电子论坛网 ( 粤ICP备18020198号-1 )

    GMT+8, 2025-7-31 14:09 , Processed in 0.140625 second(s), 26 queries , Gzip On.

    深圳市墨知创新科技有限公司

    地址:深圳市南山区科技生态园2栋A座805 电话:19926409050

    快速回复 返回顶部 返回列表