閃存是一種非易失性存儲器,即斷電數(shù)據(jù)也不會丟失。因運(yùn)用閃存的數(shù)碼產(chǎn)品為閃存,不像RAM(隨機(jī)存取存儲器)一樣以字節(jié)為單位改寫數(shù)據(jù),因此不能取代RAM。
閃存卡(Flash Card)是利用閃存(Flash Memory)技術(shù)達(dá)到存儲電子信息的存儲器,一般應(yīng)用在數(shù)碼相機(jī),掌上電腦,MP3等小型數(shù)碼產(chǎn)品中作為存儲介質(zhì),所以樣子小巧,有如一張卡片,所以稱之為閃存卡。根據(jù)不同的生產(chǎn)廠商和不同的應(yīng)用,閃存卡大概有SmartMedia(SM卡)、Compact Flash(CF卡)、MultiMediaCard(MMC卡)、Secure Digital(SD卡)、Memory Stick(記憶棒)、XD-Picture Card(XD卡)和微硬盤(MICRODRIVE)這些閃存卡雖然外觀、規(guī)格不同,但是技術(shù)原理都是相同的。
NOR型與NAND型閃存的區(qū)別很大,打個比方說,NOR型閃存更像
單片機(jī)閃存
內(nèi)存,有獨(dú)立的地址線和數(shù)據(jù)線,但價格比較貴,容量比較??;而NAND型更像硬盤,地址線和數(shù)據(jù)線是共用的I/O線,類似硬盤的所有信息都通過一條硬盤線傳送一般,而且NAND型與NOR型閃存相比,成本要低一些,而容量大得多。因此,NOR型閃存比較適合頻繁隨機(jī)讀寫的場合,通常用于存儲程序代碼并直接在閃存內(nèi)運(yùn)行,手機(jī)就是使用NOR型閃存的大戶,所以手機(jī)的“內(nèi)存”容量通常不大;NAND型閃存主要用來存儲資料,我們常用的閃存產(chǎn)品,如閃存盤、數(shù)碼存儲卡都是用NAND型閃存。這里我們還需要端正一個概念,那就是閃存的速度其實(shí)很有限,它本身操作速度、頻率就比內(nèi)存低得多,而且NAND型閃存類似硬盤的操作方式效率也比內(nèi)存的直接訪問方式慢得多。因此,不要以為閃存盤的性能瓶頸是在接口,甚至想當(dāng)然地認(rèn)為閃存盤采用USB2.0接口之后會獲得巨大的性能提升。
前面提到NAND型閃存的操作方式效率低,這和它的架構(gòu)設(shè)計和接口設(shè)計有關(guān),它操作起來確實(shí)挺像硬盤(其實(shí)NAND型閃存在設(shè)計之初確實(shí)考慮了與硬盤的兼容性),它的性能特點(diǎn)也很像硬盤:小數(shù)據(jù)塊操作速度很慢,而大數(shù)據(jù)塊速度就很快,這種差異遠(yuǎn)比其他存儲介質(zhì)大的多。這種性能特點(diǎn)非常值得我們留意。
閃存存取比較快速,無噪音,散熱小。用戶空間容量需求量小的,打算購置的話可以不考慮太多,同樣存儲空間買閃存。如果需要容量空間大的(如500G),就買硬盤,較為便宜,也可以滿足用戶應(yīng)用的需求。
要講解閃存的存儲原理,還是要從EPROM和EEPROM說起。
EPROM是指其中的內(nèi)容可以通過特殊手段擦去,然后重新寫入。其基本單元電路(存儲細(xì)胞),常采用浮空柵雪崩注入式MOS電路,簡稱為FAMOS。它與MOS電路相似,是在N型基片上生長出兩個高濃度的P型區(qū),通過歐姆接觸分別引出源極S和漏極D。在源極和漏極之間有一個多晶硅柵極浮空在SiO2絕緣層中,與四周無直接電氣聯(lián)接。這種電路以浮空柵極是否帶電來表示存1或者0,浮空柵極帶電后(譬如負(fù)電荷),就在其下面,源極和漏極之間感應(yīng)出正的導(dǎo)電溝道,使MOS管導(dǎo)通,即表示存入0。若浮空柵極不帶電,則不形成導(dǎo)電溝道,MOS管不導(dǎo)通,即存入1。
EEPROM基本存儲單元電路的工作原理如下圖所示。與EPROM相似,它是在EPROM基本單元電路的浮空柵的上面再生成一個浮空柵,前者稱為第一級浮空柵,后者稱為第二級浮空柵??山o第二級浮空柵引出一個電極,使第二級浮空柵極接某一電壓VG。若VG為正電壓,第一浮空柵極與漏極之間產(chǎn)生隧道效應(yīng),使電子注入第一浮空柵極,即編程寫入。若使VG為負(fù)電壓,強(qiáng)使第一級浮空柵極的電子散失,即擦除。擦除后可重新寫入。
閃存的基本單元電路,與EEPROM類似,也是由雙層浮空柵MOS管組成。但是第一層?xùn)沤橘|(zhì)很薄,作為隧道氧化層。寫入方法與EEPROM相同,在第二級浮空柵加以正電壓,使電子進(jìn)入第一級浮空柵。讀出方法與EPROM相同。擦除方法是在源極加正電壓利用第一級浮空柵與源極之間的隧道效應(yīng),把注入至浮空柵的負(fù)電荷吸引到源極。由于利用源極加正電壓擦除,因此各單元的源極聯(lián)在一起,這樣,快擦存儲器不能按字節(jié)擦除,而是全片或分塊擦除。到后來,隨著半導(dǎo)體技術(shù)的改進(jìn),閃存也實(shí)現(xiàn)了單晶體管(1T)的設(shè)計,主要就是在原有的晶體管上加入了浮動?xùn)藕瓦x擇柵,
在源極和漏極之間電流單向傳導(dǎo)的半導(dǎo)體上形成貯存電子的浮動棚。浮動?xùn)虐粚庸柩趸そ^緣體。它的上面是在源極和漏極之間控制傳導(dǎo)電流的選擇/控制柵。數(shù)據(jù)是0或1取決于在硅底板上形成的浮動?xùn)胖惺欠裼须娮?。有電子?,無電子為1。
閃存就如同其名字一樣,寫入前刪除數(shù)據(jù)進(jìn)行初始化。具體說就是從所有浮動?xùn)胖袑?dǎo)出電子。即將有所數(shù)據(jù)歸“1”。
寫入時只有數(shù)據(jù)為0時才進(jìn)行寫入,數(shù)據(jù)為1時則什么也不做。寫入0時,向柵電極和漏極施加高電壓,增加在源極和漏極之間傳導(dǎo)的電子能量。這樣一來,電子就會突破氧化膜絕緣體,進(jìn)入浮動?xùn)拧?/p>
讀取數(shù)據(jù)時,向柵電極施加一定的電壓,電流大為1,電流小則定為0。浮動?xùn)艣]有電子的狀態(tài)(數(shù)據(jù)為1)下,在柵電極施加電壓的狀態(tài)時向漏極施加電壓,源極和漏極之間由于大量電子的移動,就會產(chǎn)生電流。而在浮動?xùn)庞须娮拥臓顟B(tài)(數(shù)據(jù)為0)下,溝道中傳導(dǎo)的電子就會減少。因?yàn)槭┘釉跂烹姌O的電壓被浮動?xùn)烹娮游蘸螅茈y對溝道產(chǎn)生影響。
FLASH閃存閃存的英文名稱是"Flash Memory",一般簡稱為"Flash",它屬于內(nèi)存器件的一種,是一種非易失性( Non-Volatile )內(nèi)存。閃存的物理特性與常見的內(nèi)存有根本性的差異:目前各類 DDR 、 SDRAM 或者 RDRAM 都屬于揮發(fā)性內(nèi)存,只要停止電流供應(yīng)內(nèi)存中的數(shù)據(jù)便無法保持,因此每次電腦開機(jī)都需要把數(shù)據(jù)重新載入內(nèi)存;閃存在沒有電流供應(yīng)的條件下也能夠長久地保持?jǐn)?shù)據(jù),其存儲特性相當(dāng)于硬盤,這項(xiàng)特性正是閃存得以成為各類便攜型數(shù)字設(shè)備的存儲介質(zhì)的基礎(chǔ)。
flash閃存是非易失存儲器,可以對稱為塊的存儲器單元塊進(jìn)行擦寫和再編程。任何flash器件的寫入操作只能在空或已擦除的單元內(nèi)進(jìn)行,所以大多數(shù)情況下,在進(jìn)行寫入操作之前必須先執(zhí)行擦除。NAND器件執(zhí)行擦除操作是十分簡單的,而NOR則要求在進(jìn)行擦除前先要將目標(biāo)塊內(nèi)所有的位都寫為0。由于擦除NOR器件時是以64~128KB的塊進(jìn)行的,執(zhí)行一個寫入/擦除操作的時間為5ms,與此相反,擦除NAND器件是以8~32KB的塊進(jìn)行的,執(zhí)行相同的操作最多只需要4ms。執(zhí)行擦除時塊尺寸的不同進(jìn)一步拉大了NOR和NADN之間的性能差距,統(tǒng)計表明,對于給定的一套寫入操作(尤其是更新小文件時),更多的擦除操作必須在基于NOR的單元中進(jìn)行。這樣,當(dāng)選擇存儲解決方案時,設(shè)計師必須權(quán)衡以下的各項(xiàng)因素。它結(jié)合了ROM和RAM的長處,不僅具備電子可擦除可編程的性能,還不會因斷電而丟失數(shù)據(jù),具有快速讀取數(shù)據(jù)的特點(diǎn);在現(xiàn)在琳瑯滿目的電子市場上,F(xiàn)lash總類可謂繁多,功能各異,而你對它了解有多少呢?為了讓大家更深入了解Flash,今天將主要根據(jù)芯片的通信協(xié)議并且結(jié)合Flash的特點(diǎn),給大家一個全新認(rèn)識。
● NOR的讀速度比NAND稍快一些。
● NAND的寫入速度比NOR快很多。
● NAND的4ms擦除速度遠(yuǎn)比NOR的5ms快。
● 大多數(shù)寫入操作需要先進(jìn)行擦除操作。
● NAND的擦除單元更小,相應(yīng)的擦除電路更少。
NOR flash帶有SRAM接口,有足夠的地址引腳來尋址,可以很容易地存取其內(nèi)部的每一個字節(jié)。
NAND器件使用復(fù)雜的I/O口來串行地存取數(shù)據(jù),各個產(chǎn)品或廠商的方法可能各不相同。8個引腳用來傳送控制、地址和數(shù)據(jù)信息。
NAND讀和寫操作采用512字節(jié)的塊,這一點(diǎn)有點(diǎn)像硬盤管理此類操作,很自然地,基于NAND的存儲器就可以取代硬盤或其他塊設(shè)備。
NAND flash的單元尺寸幾乎是NOR器件的一半,由于生產(chǎn)過程更為簡單,NAND結(jié)構(gòu)可以在給定的模具尺寸內(nèi)提供更高的容量,也就相應(yīng)地降低了價格。
NOR flash占據(jù)了容量為1~16MB閃存市場的大部分,而NAND flash只是用在8MB~128GB的產(chǎn)品當(dāng)中,這也說明NOR主要應(yīng)用在代碼存儲介質(zhì)中,NAND適合于數(shù)據(jù)存儲,NAND在CompactFlash、Secure Digital、PC Cards和MMC存儲卡市場上所占份額最大。
可靠性
采用flash介質(zhì)時一個需要重點(diǎn)考慮的問題是可靠性。對于需要擴(kuò)展MTBF的系統(tǒng)來說,Flash是非常合適的存儲方案。可以從壽命(耐用性)、位交換和壞塊處理三個方面來比較NOR和NAND的可靠性。
耐用性
在NAND閃存中每個塊的最大擦寫次數(shù)是一百萬次,而NOR的擦寫次數(shù)是十萬次。NAND存儲器除了具有10比1的塊擦除周期優(yōu)勢,典型的NAND塊尺寸要比NOR器件小8倍,每個NAND存儲器塊在給定的時間內(nèi)的刪除次數(shù)要少一些。
位交換
所有flash器件都受位交換現(xiàn)象的困擾。在某些情況下(很少見,NAND發(fā)生的次數(shù)要比NOR多),一個比特位會發(fā)生反轉(zhuǎn)或被報告反轉(zhuǎn)了。
一位的變化可能不很明顯,但是如果發(fā)生在一個關(guān)鍵文件上,這個小小的故障可能導(dǎo)致系統(tǒng)停機(jī)。如果只是報告有問題,多讀幾次就可能解決了。
當(dāng)然,如果這個位真的改變了,就必須采用錯誤探測/錯誤更正(EDC/ECC)算法。位反轉(zhuǎn)的問題更多見于NAND閃存,NAND的供應(yīng)商建議使用NAND閃存的時候,同時使用EDC/ECC算法。
這個問題對于用NAND存儲多媒體信息時倒不是致命的。當(dāng)然,如果用本地存儲設(shè)備來存儲操作系統(tǒng)、配置文件或其他敏感信息時,必須使用EDC/ECC系統(tǒng)以確保可靠性。
壞塊處理
NAND器件中的壞塊是隨機(jī)分布的。以前也曾有過消除壞塊的努力,但發(fā)現(xiàn)成品率太低,代價太高,根本不劃算。
NAND器件需要對介質(zhì)進(jìn)行初始化掃描以發(fā)現(xiàn)壞塊,并將壞塊標(biāo)記為不可用。在已制成的器件中,如果通過可靠的方法不能進(jìn)行這項(xiàng)處理,將導(dǎo)致高故障率。
易于使用
可以非常直接地使用基于NOR的閃存,可以像其他存儲器那樣連接,并可以在上面直接運(yùn)行代碼。由于需要I/O接口,NAND要復(fù)雜得多。各種NAND器件的存取方法因廠家而異。在使用NAND器件時,必須先寫入驅(qū)動程序,才能繼續(xù)執(zhí)行其他操作。向NAND器件寫入信息需要相當(dāng)?shù)募记?因?yàn)樵O(shè)計師絕不能向壞塊寫入,這就意味著在NAND器件上自始至終都必須進(jìn)行虛擬映射。
軟件支持
當(dāng)討論軟件支持的時候,應(yīng)該區(qū)別基本的讀/寫/擦操作和高一級的用于磁盤仿真和閃存管理算法的軟件,包括性能優(yōu)化。在NOR器件上運(yùn)行代碼不需要任何的軟件支持,在NAND器件上進(jìn)行同樣操作時,通常需要驅(qū)動程序,也就是內(nèi)存技術(shù)驅(qū)動程序(MTD),NAND和NOR器件在進(jìn)行寫入和擦除操作時都需要MTD。使用NOR器件時所需要的MTD要相對少一些,許多廠商都提供用于NOR器件的更高級軟件,這其中包括M-System的TrueFFS驅(qū)動,該驅(qū)動被Wind River System、Microsoft、QNX Software System、Symbian和Intel等廠商所采用。
一、IIC EEPROM
IIC EEPROM,采用的是IIC通信協(xié)議;IIC通信協(xié)議具有的特點(diǎn):簡單的兩條總線線路,一條串行數(shù)據(jù)線(SDA),一條串行時鐘線(SCL);串行半雙工通信模式的8位雙向數(shù)據(jù)傳輸,位速率標(biāo)準(zhǔn)模式下可達(dá)100Kbit/s;一種電可擦除可編程只讀存儲器,掉電后數(shù)據(jù)不丟失,由于芯片能夠支持單字節(jié)擦寫,且支持擦除的次數(shù)非常之多,一個地址位可重復(fù)擦寫的理論值為100萬次,在實(shí)際應(yīng)用中具有著不可替代的作用。日常我們常接觸芯片型號有AT24C02、FM24C02、CAT24C02等,其常見的封裝多為DIP8,SOP8,TSSOP8等。
二、SPI NorFlash
SPI NorFlash,采用的是SPI 通信協(xié)議,有4線(時鐘,兩個數(shù)據(jù)線,片選線)或者3線(時鐘,兩個數(shù)據(jù)線)通信接口,由于它有兩個數(shù)據(jù)線能實(shí)現(xiàn)全雙工通信,因此比IIC通信協(xié)議的IIC EEPROM的讀寫速度上要快很多。SPI NorFlash具有NOR技術(shù)Flash Memory的特點(diǎn),即程序和數(shù)據(jù)可存放在同一芯片上,擁有獨(dú)立的數(shù)據(jù)總線和地址總線,能快速隨機(jī)讀取,允許系統(tǒng)直接從Flash中讀取代碼執(zhí)行;可以單字節(jié)或單字編程,但不能單字節(jié)擦除,必須以Sector為單位或?qū)φ瑘?zhí)行擦除操作,在對存儲器進(jìn)行重新編程之前需要對Sector或整片進(jìn)行預(yù)編程和擦除操作。NorFlash在擦寫次數(shù)上遠(yuǎn)遠(yuǎn)達(dá)不到IIC EEPROM,并且由于NOR技術(shù)Flash Memory的擦除和編程速度較慢,塊尺寸又較大,因此擦除和編程操作所花費(fèi)的時間會很長;但SPI NorFlash接口簡單,使用的引腳少,易于連接,操作方便,并且可以在芯片上直接運(yùn)行代碼,其穩(wěn)定性出色,傳輸速率高,在小容量時具有很高的性價比,這使其很適合應(yīng)于嵌入式系統(tǒng)中作為 FLASH ROM,所以在市場的占用率非常高。我們通常見到的S25FL128、MX25L1605、W25Q64等型號都是SPI NorFlash,其常見的封裝多為SOP8,SOP16,WSON8,US0N8,QFN8、BGA24等。
三、Parallel NorFalsh
Parallel NorFalsh,也叫做并行NorFlash,采用的Parallel接口通信協(xié)議,擁有獨(dú)立的數(shù)據(jù)線和地址總線,它同樣繼承了NOR技術(shù)Flash Memory的所有特點(diǎn);由于采用了Parallel接口。Parallel NorFalsh相對于SPI NorFlash,支持的容量更大,讀寫的速度更快,但是由于占用的地址線和數(shù)據(jù)線太多,在電路電子設(shè)計上會占用很多資源。Parallel NorFalsh讀寫時序類似于SRAM,只是寫的次數(shù)較少,速度也慢,由于其讀時序類似于SRAM,讀地址也是線性結(jié)構(gòu),所以多用于不需要經(jīng)常更改程序代碼的數(shù)據(jù)存儲。
我們通常見到的S29GL128、MX29GL512、SST39VF020等型號都是Parallel NorFlash,其常見的封裝多為TSSOP32、TSOP48、BGA64,PLCC32等。
四、Parallel NandFlash
Parallel NandFlash同樣采用了Parallel接口通信協(xié)議,NandFlash在工藝制程方面分有三種類型:SLC、MLC、TLC。NandFlash技術(shù)Flash Memory具有以下特點(diǎn):以頁為單位進(jìn)行讀和編程操作,以塊為單位進(jìn)行擦除操作;具有快編程和快擦除的功能,其塊擦除時間是2ms,而NOR技術(shù)的塊擦除時間達(dá)到幾百ms;芯片尺寸小,引腳少,是位成本(bit cost)最低的固態(tài)存儲器;芯片包含有壞塊,其數(shù)目取決于存儲器密度。壞塊不會影響有效塊的性能,但設(shè)計者需要有一套的壞塊管理策略!對比Parallel NorFalsh,NandFlash在擦除、讀寫方面,速度快,使用擦寫次數(shù)更多,并且它強(qiáng)調(diào)更高的性能,更低的成本,更小的體積,更大的容量,更長的使用壽命。這使NandFlash很擅于存儲純資料或數(shù)據(jù)等,在嵌入式系統(tǒng)中用來支持文件系統(tǒng)。其主要用來數(shù)據(jù)存儲,大部分的U盤都是使用NandFlash,當(dāng)前NandFlash在嵌入式產(chǎn)品中應(yīng)用仍然極為廣泛,因此壞塊管理、掉電保護(hù)等措施就需要依賴NandFlash使用廠家通軟件進(jìn)行完善。
我們通常見到的S34ML01G100、MX30LF2G18AC、MT29F4G08ABADA等型號都是Parallel NandFlash,其常見的封裝多為TSOP48、BGA63、BGA107,BGA137等。
五、SPI NandFlash
SPI NandFlash,采用了SPI NorFlash一樣的SPI的通信協(xié)議,在讀寫的速度上沒什么區(qū)別,但在存儲結(jié)構(gòu)上卻采用了與Parallel NandFlash相同的結(jié)構(gòu),所以SPI nand相對于SPI norFlash具有擦寫的次數(shù)多,擦寫速度快的優(yōu)勢,但是在使用以及使用過程中會同樣跟Parallel NandFlash一樣會出現(xiàn)壞塊,因此,也需要做特殊壞塊處理才能使用;SPI NandFlash相對比Parallel NandFlash還有一個重要的特點(diǎn),那就是芯片自己有內(nèi)部ECC糾錯模塊,用戶無需再使用ECC算法計算糾錯,用戶可以在系統(tǒng)應(yīng)用當(dāng)中可以簡化代碼,簡單操作;我們通常見到的W25N01GVZEIGGD5F4GQ4UBYIG、F50L1G41A等型號都是SPI NandFlash,其常見的封裝多為QFN8、BGA24等。
六、eMMC Flash
eMMC采用統(tǒng)一的MMC標(biāo)準(zhǔn)接口,自身集成MMC Controller,存儲單元與NandFlash相同。針對Flash的特性,eMMC產(chǎn)品內(nèi)部已經(jīng)包含了Flash管理技術(shù),包括錯誤探測和糾正,F(xiàn)lash平均擦寫,壞塊管理,掉電保護(hù)等技術(shù)。MMC接口速度高達(dá)每秒52MBytes,eMMC具有快速、可升級的性能,同時其接口電壓可以是 1.8v 或者是 3.3v。eMMC相當(dāng)于NandFlash+主控IC ,對外的接口協(xié)議與SD、TF卡一樣,主要是針對手機(jī)或平板電腦等產(chǎn)品的內(nèi)嵌式存儲器標(biāo)準(zhǔn)規(guī)格。eMMC的一個明顯優(yōu)勢是在封裝中集成了一個控制器,它提供標(biāo)準(zhǔn)接口并管理閃存,使得手機(jī)廠商就能專注于產(chǎn)品開發(fā)的其它部分,并縮短向市場推出產(chǎn)品的時間。這些特點(diǎn)對于希望通過縮小光刻尺寸和降低成本的NAND供應(yīng)商來說,同樣的重要。eMMC由一個嵌入式存儲解決方案組成,帶有MMC(多媒體卡)接口、快閃存儲器設(shè)備(Nand Flash)及主控制器,所有都在一個小型的BGA 封裝,最常見的有BGA153封裝;我們通常見到的KLMAG8DEDD、THGBMAG8B4JBAIM、EMMC04G-S100等型號都是eMMC Flash。eMMCFlash存儲容量大,市場上32GByte容量都常見了,其常見的封裝多為BGA153、BGA169、BGA100等。
七、USF2.0
JEDEC在2013年9月發(fā)布了新一代的通用閃存存儲器標(biāo)準(zhǔn)USF2.0,該標(biāo)準(zhǔn)下得閃存讀寫速度可以高達(dá)每秒1400MB,這相當(dāng)于在兩秒鐘內(nèi)讀寫兩個CD光盤的數(shù)據(jù),不僅比eMMC有更巨大的優(yōu)勢,而且它甚至能夠讓電腦上使用的閃存存儲介質(zhì)固態(tài)硬盤也相形見絀。UFS閃存規(guī)格采用了新的標(biāo)準(zhǔn)2.0接口,它使用的是串行界面,很像PATA、SATA的轉(zhuǎn)換,并且它支持全雙工運(yùn)行,可同時讀寫操作,還支持指令隊列。相對之下,eMMC是半雙工,讀寫必須分開執(zhí)行,指令也是打包,在速度上就已經(jīng)是略遜一籌了,而且UFS芯片不僅傳輸速度快,功耗也要比eMMC5.0低一半,可以說是日后旗艦手機(jī)閃存的理想搭配。目前僅有少數(shù)的半導(dǎo)體廠商有提供封裝成品,如三星、東芝電子等。
-
單片機(jī)
+關(guān)注
關(guān)注
6030文章
44497瀏覽量
632148 -
FlaSh
+關(guān)注
關(guān)注
10文章
1614瀏覽量
147665 -
存儲器
+關(guān)注
關(guān)注
38文章
7438瀏覽量
163529
原文標(biāo)題:【經(jīng)典單片機(jī)外設(shè)器件】你知道存儲器嗎?FLASH存儲類型詳細(xì)介紹
文章出處:【微信號:KY_QRS,微信公眾號:開源嵌入式】歡迎添加關(guān)注!文章轉(zhuǎn)載請注明出處。
發(fā)布評論請先 登錄
相關(guān)推薦
評論