有業(yè)界的朋友問:“我一直認(rèn)為閃存里的數(shù)據(jù)是通過測存儲單元的電流來判斷Vt的,電流大的是1,電流小的是0。為什么你這里說的,是在同一個Id電流下尋找Vg,Vg大的是0,Vg小的是1?這和我以前的認(rèn)知不同。”這其實(shí)是非常好的問題,問的很在點(diǎn)上,而且這個理解在實(shí)際操作中也是正確的。閃存的定義看Vt,閃存的操作看Id ? 定義只是定義,實(shí)操沒有按定義來做。原因很簡單,因?yàn)樵?/span>Id-Vg曲線上,Vg是自變量,Id是應(yīng)變量;或者說Vg是函數(shù)的輸入,Id是函數(shù)的輸出。所以如要確定一個存儲單元的Vt,就需要掃描Vg;直到輸出的Id等于預(yù)設(shè)值It,才能獲得這個存儲單元的Vt (參考本系列的第一篇:“閃存的閾值電壓(Vt)是什么”)。然而“掃描”就意味著需要對這個存儲單元做多次操作,這在性能和可靠性上都是不可取的。所以閃存實(shí)際的讀取,以SLC為例,只用了一個Vg電壓,通過Id電流來判斷存儲單元里的數(shù)據(jù)。如圖所示:

假設(shè)有兩個SLC存儲單元,分別用紅色實(shí)線和藍(lán)色實(shí)線表示;還有一個比較電壓,用黑色虛線表示。1.如要通過判斷Vt的方法來判別兩個存儲單元是擦除態(tài)還是編程態(tài),就需要通過多次操作,找到Vt1和Vt2,然后將他們與Vref做比較來得出結(jié)論,這在性能和可靠性上是不可取的。2.更簡單的方法是,在所有存儲單元的柵極上加一個Vref電壓,一次性獲得這些存儲端元的Id。Id大于It的,就是擦除態(tài)的單元;反之就是編程態(tài)的單元。因?yàn)橹徊僮髁艘淮危孕阅芎涂煽啃愿鼉?yōu)。Id的比較則有多種方法。在NOR閃存上,因?yàn)?/span>Id電流較大(uA級),且NOR需要百納秒級的讀取速度,因此一般直接用分壓的方法將Id轉(zhuǎn)為電壓作比較。簡圖如下,

兩個分壓電阻的阻值是相同的,而待判斷存儲單元的柵極電壓是Vref。因此只要該單元的輸出電流比It大,則分壓電阻的分壓就大,反之則分壓就小。通過右側(cè)的比較放大器就能獲得0/1結(jié)果。NAND閃存的Id判斷則困難些,因?yàn)?/span>NAND的Id通常在nA級別,分壓往往不能獲得精確結(jié)果,且NAND的讀取在十微秒級別即可,因此現(xiàn)在的手段都是通過對位線(Bit Line, BL)的充放電來實(shí)現(xiàn)閃存單元的數(shù)據(jù)讀取。流程大體如下1.將位線看作是一個電容 ? 由于NAND閃存的位線很長,所以容值不小。3.打開待測存儲單元的選擇管,連接待測單元所屬串(string)與位線4.在待測存儲單元的柵極加上Vref,對位線電容放電5.如果待測存儲單元是編程態(tài),則位線電容放電慢;是擦除態(tài),則放電快6.讀出放大器(Sense Amplifier)讀出位線放電后的結(jié)果

上面的電路,不論是NOR還是NAND的讀出電路,都已經(jīng)非常簡化,比如在NAND的示意圖上沒有畫出相同串上的未選擇單元(Unselected Cells)等等。實(shí)際讀出電路要復(fù)雜得多,但中心思想還是一致的,即把閃存單元看成是一個源極接地的NMOS管。這個NMOS就是最簡單的放大器,其輸入是柵極電壓、其輸出是漏極電流;它完成了將電壓轉(zhuǎn)化為電流的工作。轉(zhuǎn)換出來的電流,在放大器端又被轉(zhuǎn)換成電壓,再次放大,這個放大的結(jié)果就是邏輯電平0和1,代表著閃存單元里的數(shù)據(jù)。這個過程可以畫成流程圖,

在真正的使用過程中,這些電路上的電壓怎么加,時序怎么控制,都是閃存的核心知識產(chǎn)權(quán)。各位有興趣的話,可以找一些論文看一下,作為科普性質(zhì)的文章,就不一一列舉了。這之后的幾篇,會介紹一些閃存讀取過程中可能會遇到的、相對“非常規(guī)”的、對讀出的Vt分布有影響的話題,希望對大家理解閃存能有所幫助。