flash是幹啥的(flash是幹什麼用的)
@人人能科普,處處有新知FLASH的發展歷史FLASH快閃記憶體是是一種非易失性( Non-Volatile )記憶體,其名字有閃耀,閃爍的意思,也體現了其讀寫快速的特點,“讀寫過程一閃而過”。
首先簡單介紹一下FLASH的發展過程。
1.在計算機的發展初期,BIOS都存放在ROM(Read Only Memory,只讀儲存器)中。ROM內部的資料是在ROM的製造工序中,在工廠裡用特殊的方法被燒錄進去的,其中的內容只能讀不能改,一旦燒錄進去,就不能再作任何修改。並且由於ROM是在生產線上生產的,成本高,一般只用在大批量應用的場合。
2.由於ROM製造和升級的不便,後來人們發明了PROM(Programmable ROM,可程式設計ROM)。使用者可以用專用的程式設計器將自己的資料寫入,但是這種機會只有一次,一旦寫入後也無法修改。並且其成本比ROM還高,而且寫入資料的速度比ROM的速度要慢,一般只適用於少量需求的場合或是ROM量產前的驗證。
3.EPROM(Erasable Programmable ROM,可擦除可程式設計ROM)晶片可重複擦除和寫入,解決了ROM、PROM晶片只能寫入一次的弊端。EPROM晶片可以重複的擦除和寫入,但是EPROM的擦除和寫入都需要專用的擦除器和程式設計器。
4.後來針對EPROM擦除寫入必須使用專用裝置的弊端,出現了EEPROM(Electrically Erasable Programmable ROM,電可擦除可程式設計ROM)。EEPROM的擦除不需要藉助於其它裝置,它是以電子訊號來修改其內容的,而且是以Byte為最小修改單位,不必將資料全部洗掉才能寫入,徹底擺脫了EPROM Eraser和程式設計器的束縛。
5.FLASH ROM在使用上很類似EEPROM,因此,有些書籍上便把FLASH ROM作為EEPROM的一種,這可以稱為廣義EEPROM,而狹義的EEPROM則將二者分開。事實上,二者還是有差別的。FLASH ROM在擦除時,也要執行專用的重新整理程式,但是在刪除資料時,並非以Byte為基本單位,而是以Sector(又稱Block)為最小單位,Sector的大小隨廠商的不同而有所不同;只有在寫入時,才以Byte為最小單位寫入; FLASH ROM的儲存容量普遍大於EEPROM。
FLASH的一些基本概念。
完整的FLASH晶片稱為device一個device可能包含1個或多個die(LUN),die是具備完整flash晶片功能的模組,對比含1個die的device,區別在於沒有封裝的就是die,封裝後的就是device。Die內可以含多個plane,每個plane具備獨立的讀、寫、擦除功能,但多個plane可以公用控制邏輯暫存器,即在die內,可以同時對多個plane進行相同的操作Plane下最小擦除單元就是block,一個block包含多個page,所有串在同樣BL下的page組成一個block。
Page是能夠執行程式設計和讀操作的最小單元,同一根WL上的所有資料即page,WL即page.Cell是Page中的最小操作擦寫讀單元,對應一個浮柵電晶體,可以儲存1bit或多bit資料。
FLASH層次結構圖
根據FLASH內部儲存結構劃分,可以將FLASH劃分為兩類:NOR型和NAND型。Intel於1988年首先開發出NOR Flash 技術,徹底改變了原先由EPROM(Erasable Programmable Read-Only-Memory電可程式設計序只讀儲存器)和EEPROM(電可擦只讀儲存器Electrically Erasable Programmable Read - Only Memory)一統天下的局面。緊接著,1989年,東芝公司發表了NAND Flash 結構,強調降低每位元的成本,有更高的效能,並且像磁碟一樣可以通過介面輕鬆升級。
從字面意思理解,NOR就是NOT OR,就是或非門,因為對於NOR型FLASH來說,只有當字線和位線都為低時,對應的儲存單元的資料才是高。
NAND就是NOT AND,就是與非門,因為只有當字線都為高時,位線才為低。對於什麼是位線,什麼是字線,請看下面兩張圖,
WORD對應的就是字線,Bit對應的就是位線。
NOR FLASH結構示意
NAND FLASH結構示意
對於FLASH的操作一般分為讀、寫、擦除,NOR和NAND型FLASH的操作方式上也是有所差異的。NOR型FLASH,採用的是溝道熱電子注入(CHE)的方式來寫入資料,F-N隧穿效應來擦除資料。而NAND型FLASH,寫入和擦除都是利用F-N隧穿效應來實現的。
F-N隧穿效應涉及到很高深的量子理論,不過這個效應很早就被人發現了,是在1957年被日本人發現的。
NOR FLASH和NAND FLASH由於它們不同的儲存結構,也表現出了很多不同的特點:
1、容量和成本NOR FLASH在1~4MB的小 容量時具有很高的成本效益NAND FLASH 在大容量場合單位容量成本低
2、效能差別NOR 擦除和寫入慢,讀取快,可以直接執行程式碼,NAND 擦除和寫入快,讀取慢,需要將程式先讀入RAM再執行。
3、介面差別nor flash 的介面和RAM一樣,而 nand flash 是使用I/O口來序列地存取資料。
4、易用性nor flash可以直接地使用基於 nor flash 地記憶體,可以直接在上面執行程式碼而使用 nand flash需要先寫入驅動程式,還要將程式先讀入RAM再執行。
5、耐用性在nand flash記憶體中的每個塊的最大擦除寫次數是100萬次,而nor flash 的擦寫次數是10萬次。
6、主要用途兩者的差異也就決定了它們的使用範圍的不同,在BIOS、穿戴裝置、汽車電子等不需要頻繁擦除寫入,並且容量要求低的場合,多使用NOR FLASH。而在人們常用的U盤、一些工業裝置如PLC、HMI等,則一般使用NAND FLASH。綜上,可以將二者的差異彙總為如下表格。