外行看Flash的存储原理
突然在網上看到別人兩年前寫的一篇關于nor和nand的好文章,做為csdn的合法公民,有必要轉
?一、存儲數據的原理
兩種閃存都是用三端器件作為存儲單元,分別為源極、漏極和柵極,與場效應管的工作原理相同,主要是利用電場的效應來控制源極與漏極之間的通斷,柵極的電流消耗極小,不同的是場效應管為單柵極結構,而FLASH為雙柵極結構,在柵極與硅襯底之間增加了一個浮置柵極。
?
浮置柵極是由氮化物夾在兩層二氧化硅材料之間構成的,中間的氮化物就是可以存儲電荷的電荷勢阱。上下兩層氧化物的厚度大于50埃,以避免發生擊穿。
二、浮柵的重放電
向數據單元內寫入數據的過程就是向電荷勢阱注入電荷的過程,寫入數據有兩種技術,熱電子注入(hot electron injection)和F-N隧道效應(Fowler Nordheim tunneling),前一種是通過源極給浮柵充電,后一種是通過硅基層給浮柵充電。NOR型FLASH通過熱電子注入方式給浮柵充電,而NAND則通過F-N隧道效應給浮柵充電。
在寫入新數據之前,必須先將原來的數據擦除,這點跟硬盤不同,也就是將浮柵的電荷放掉,兩種FLASH都是通過F-N隧道效應放電。
?
??????????????????????????????????????????? NAND flash的寫入和擦除
?
???????????????????????????????????????????????NOR flash的寫入和擦除
?
三、0和1
這方面兩種FLASH一樣,向浮柵中注入電荷表示寫入了'0',沒有注入電荷表示'1',所以對FLASH清除數據是寫1的,這與硬盤正好相反;
對于浮柵中有電荷的單元來說,由于浮柵的感應作用,在源極和漏極之間將形成帶正電的空間電荷區,這時無論控制極上有沒有施加偏置電壓,晶體管都將處于導通狀態。而對于浮柵中沒有電荷的晶體管來說只有當控制極上施加有適當的偏置電壓,在硅基層上感應出電荷,源極和漏極才能導通,也就是說在沒有給控制極施加偏置電壓時,晶體管是截止的。
如果晶體管的源極接地而漏極接位線,在無偏置電壓的情況下,檢測晶體管的導通狀態就可以獲得存儲單元中的數據,如果位線上的電平為低,說明晶體管處于導通狀態,讀取的數據為0,如果位線上為高電平,則說明晶體管處于截止狀態,讀取的數據為1。由于控制柵極在讀取數據的過程中施加的電壓較小或根本不施加電壓,不足以改變浮置柵極中原有的電荷量,所以讀取操作不會改變FLASH中原有的數據。
四、連接和編址方式
兩種FLASH具有相同的存儲單元,工作原理也一樣,為了縮短存取時間并不是對每個單元進行單獨的存取操作,而是對一定數量的存取單元進行集體操作,NAND型FLASH各存儲單元之間是串聯的,而NOR型FLASH各單元之間是并聯的;為了對全部的存儲單元有效管理,必須對存儲單元進行統一編址。
NAND的全部存儲單元分為若干個塊,每個塊又分為若干個頁,每個頁是512byte,就是512個8位數,就是說每個頁有512條位線,每條位線下有8個存儲單元;那么每頁存儲的數據正好跟硬盤的一個扇區存儲的數據相同,這是設計時為了方便與磁盤進行數據交換而特意安排的,那么塊就類似硬盤的簇;容量不同,塊的數量不同,組成塊的頁的數量也不同。在讀取數據時,當字線和位線鎖定某個晶體管時,該晶體管的控制極不加偏置電壓,其它的7個都加上偏置電壓而導通,如果這個晶體管的浮柵中有電荷就會導通使位線為低電平,讀出的數就是0,反之就是1。
NOR的每個存儲單元以并聯的方式連接到位線,方便對每一位進行隨機存取;具有專用的地址線,可以實現一次性的直接尋址;縮短了FLASH對處理器指令的執行時間。
?
五、性能1、速度
在寫數據和擦除數據時,NAND由于支持整塊擦寫操作,所以速度比NOR要快得多,兩者相差近千倍;讀取時,由于NAND要先向芯片發送地址信息進行尋址才能開始讀寫數據,而它的地址信息包括塊號、塊內頁號和頁內字節號等部分,要順序選擇才能定位到要操作的字節;這樣每進行一次數據訪問需要經過三次尋址,至少要三個時鐘周期;而NOR型FLASH的操作則是以字或字節為單位進行的,直接讀取,所以讀取數據時,NOR有明顯優勢。
2、容量和成本
NOR型FLASH的每個存儲單元與位線相連,增加了芯片內位線的數量,不利于存儲密度的提高。所以在面積和工藝相同的情況下,NAND型FLASH的容量比NOR要大得多,生產成本更低,也更容易生產大容量的芯片。
3、易用性
NAND FLASH的I/O端口采用復用的數據線和地址線,必須先通過寄存器串行地進行數據存取,各個產品或廠商對信號的定義不同,增加了應用的難度;NOR FLASH有專用的地址引腳來尋址,較容易與其它芯片進行連接,另外還支持本地執行,應用程序可以直接在FLASH內部運行,可以簡化產品設計。
4、可靠性
NAND FLASH相鄰單元之間較易發生位翻轉而導致壞塊出現,而且是隨機分布的,如果想在生產過程中消除壞塊會導致成品率太低、性價比很差,所以在出廠前要在高溫、高壓條件下檢測生產過程中產生的壞塊,寫入壞塊標記,防止使用時向壞塊寫入數據;但在使用過程中還難免產生新的壞塊,所以在使用的時候要配合EDC/ECC(錯誤探測/錯誤更正)和BBM(壞塊管理)等軟件措施來保障數據的可靠性。壞塊管理軟件能夠發現并更換一個讀寫失敗的區塊,將數據復制到一個有效的區塊。
5、耐久性
FLASH由于寫入和擦除數據時會導致介質的氧化降解,導致芯片老化,在這個方面NOR尤甚,所以并不適合頻繁地擦寫,NAND的擦寫次數是100萬次,而NOR只有10萬次。
總結
以上是生活随笔為你收集整理的外行看Flash的存储原理的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 市场被国产手游席卷了 日本:课税!
- 下一篇: 蔚来单日换电量首次突破 5 万次,春节期