[摘要] 與NOR Flash和NAND Flash比較,新器件OneNAND Flash體系結(jié)構(gòu)具有存儲容量大、快速讀取、快速編程和上電自啟動等綜合優(yōu)點(diǎn)。分析和探討了OneNAND Flash的讀數(shù)、編程和擦除等操作時(shí)序,提供若干OneNAND Flash的應(yīng)用參考方案。
[關(guān)鍵詞] OneNAND Flash 體系結(jié)構(gòu) 操作時(shí)序 應(yīng)用方案
OneNAND Flash是當(dāng)今最富有創(chuàng)新概念的可編程、可擦除的半導(dǎo)體存儲芯片[1]。這是三星電子運(yùn)用十多年積累的NAND Flash技術(shù),新近推出的一種集成有NAND存儲內(nèi)核、NOR接口邏輯和SRAM緩沖區(qū)的新型半導(dǎo)體存儲芯片。它綜合了NOR Flash高速讀取、上電能夠自啟動、NAND Flash快速編程和高密度存儲的諸多優(yōu)點(diǎn),是一種超高集成度的熔合式存儲器(Fusion Memory)。目前在新一代3G移動電話、數(shù)碼相機(jī)、便攜式游戲機(jī)和MP4播放器等消費(fèi)類電子產(chǎn)品中,OneNAND Flash被作為統(tǒng)一存儲數(shù)據(jù)和代碼的大容量存儲器使用,有效地提高了產(chǎn)品的工作性能,降低了成本和功耗。本文以KFM2G16Q2M—DBE[2]為例,介紹OneNAND Flash存儲芯片的體系結(jié)構(gòu),外部接口信號配置,分析和探討它的讀數(shù)、編程和擦除等操作時(shí)序,提供若干OneNAND Flash的應(yīng)用參考方案。
1 內(nèi)部結(jié)構(gòu)與接口信號配置
KFM2G16Q2M—DBE存儲芯片的集成位密度是2Gb(128M×16),芯片數(shù)據(jù)字長16位,采用1.8V供電。內(nèi)部結(jié)構(gòu)由三個(gè)邏輯模塊組成,第一個(gè)是NAND Flash 模塊,由2048個(gè)存儲塊組成(Block0~Block2047)。每個(gè)存儲塊由64個(gè)存儲頁面(Page0~Page63)組成。每個(gè)存儲頁面由主存儲區(qū)(Main)和備用存儲區(qū)(Spare)組成。Main區(qū)域由4個(gè)扇區(qū)(Sector0~Sector3)組成,每個(gè)扇區(qū)容量是256字(512字節(jié))。Spare區(qū)域也是由4個(gè)扇區(qū)組成,每個(gè)扇區(qū)容量是8字(16字節(jié))。即每個(gè)存儲頁面的容量是1KW(Main)+32W(Spare)。
第二個(gè)是RAM緩沖區(qū),由三個(gè)部分組成,其邏輯結(jié)構(gòu)與Flash頁面結(jié)構(gòu)相同。即:①BootRAM存儲區(qū),容量是512W+16W,地址范圍是0~1FFH和8000H~800FH;②RAM0存儲區(qū),容量是1KW+32W,地址范圍是200H~5FFH和8010H~802FH;③RAM1存儲區(qū),容量是1KW+32W,地址范圍是600H~9FFH和8030H~804FH。
第三個(gè)是寄存器模塊,地址范圍是F000H~FFFFH,目前開發(fā)使用地址寄存器、命令寄存器、狀態(tài)寄存器和配置寄存器等32個(gè)寄存器。地址寄存器用于尋址Flash塊、頁面和扇區(qū),選擇RAM0或者RAM1。CPU把操作命令寫入命令寄存器后,芯片自動執(zhí)行內(nèi)部操作。狀態(tài)寄存器自動記錄芯片的實(shí)時(shí)狀態(tài),供CPU查詢芯片操作是否成功完成等。
在芯片內(nèi)部Flash數(shù)據(jù)傳送到RAM0(1),叫做數(shù)據(jù)裝入(Load)。RAM0(1)數(shù)據(jù)傳送到Flash,叫做數(shù)據(jù)編程(Program)。CPU通過向地址寄存器和命令寄存器寫入Flash地址信息和操作命令,控制芯片內(nèi)部的數(shù)據(jù)裝入、數(shù)據(jù)編程和存儲塊擦除等操作。裝入RAM0(1)的數(shù)據(jù)由CPU讀取。編程數(shù)據(jù)由CPU寫入RAM0(1)后,再自動編程到Flash頁面。CPU只能讀取BootRAM數(shù)據(jù),不能對其寫入數(shù)據(jù)。CPU可以讀寫RAM0和RAM1存儲區(qū)。OneNAND Flash的這種操作特點(diǎn),稱之為基于寄存器的接口操作(Register Based Interface)。
芯片的接口信號配置有:同步時(shí)鐘信號CLK,頻率是54MHz、66MHz或者83MHz;16位地址數(shù)據(jù)復(fù)合總線AD15~AD0,分時(shí)輸入地址A15~A0和收發(fā)數(shù)據(jù)D15~D0;地址選通控制信號/AVD,輸入低有效;中斷輸出信號INT,高電平指示芯片內(nèi)部操作已經(jīng)完成;忙/就緒輸出信號RDY,高電平指示CPU可以迸發(fā)讀取RAM0(1)數(shù)據(jù)。硬件復(fù)位信號/RP,輸入低電平,芯片立即終止任何操作過程;讀數(shù)據(jù)控制信號/OE,輸入低有效;寫控制信號/WE,輸入低有效;芯片使能控制/CE,輸入低有效;芯片內(nèi)部結(jié)構(gòu)和接口信號配置如圖1,芯片總線操作功能如表1。


2 OneNAND Flash的存取操作
2.1 數(shù)據(jù)裝入操作(Load)
在芯片內(nèi)部,把某個(gè)Flash頁面數(shù)據(jù)傳送到RAM0(1)緩沖區(qū),叫做數(shù)據(jù)裝入。分為單頁面和多頁面數(shù)據(jù)裝入。
2.1.1 單頁面數(shù)據(jù)裝入
單個(gè)Flash頁面數(shù)據(jù)裝入的操作步驟是:①初始化Flash地址寄存器,設(shè)置塊、頁和扇區(qū)地址。②選擇RAM0或者RAM1緩沖區(qū)。③執(zhí)行數(shù)據(jù)裝入命令。④查詢數(shù)據(jù)裝入是否完成。⑤查詢狀態(tài)寄存器,檢測數(shù)據(jù)裝入是否成功。⑥如果數(shù)據(jù)裝入成功,由CPU讀取RAM緩沖區(qū)數(shù)據(jù)。單個(gè)頁面裝入的數(shù)據(jù)量可以是1~4扇區(qū)。單個(gè)Flash頁面數(shù)據(jù)裝入的操作時(shí)序圖(最后兩個(gè)周期)如圖2。在圖2中,AA表示Flash地址寄存器,LMA表示Flash頁面地址參數(shù),CA表示命令寄存器,LCD表示裝入命令,SA表示狀態(tài)寄存器,“就緒”是查詢Flash頁面數(shù)據(jù)裝入RAM緩沖區(qū)是否成功完成。

2.1.2 Cache數(shù)據(jù)裝入
Cache數(shù)據(jù)裝入是指在預(yù)置兩個(gè)Flash頁面地址后,一次可以傳送兩個(gè)Flash頁面數(shù)據(jù)。因此需要使用RAM0和RAM1交替裝入兩個(gè)Flash頁面數(shù)據(jù)。Cache裝入命令由First Cache命令和Finish Cache命令組成。First Cache命令(0EH)把第1頁面數(shù)據(jù)裝入RAM0(1),同時(shí)把第2頁面數(shù)據(jù)傳送到頁面緩沖區(qū)(Page Buffer)。Finish Cache命令(0CH)把頁面緩沖區(qū)數(shù)據(jù)裝入RAM1(0)。通過再寫入第3、第4等Flash頁面地址,配合CPU交替讀取RAM0和RAM1數(shù)據(jù),可以裝入更多的Flash頁面數(shù)據(jù)。Cache數(shù)據(jù)裝入原理如圖3所示。

2.1.3 Flash塊數(shù)據(jù)裝入
與Cache數(shù)據(jù)裝入比較,F(xiàn)lash塊(Block)數(shù)據(jù)裝入操作,只要設(shè)置好Flash首頁面地址和頁面數(shù)后,執(zhí)行塊數(shù)據(jù)裝入命令,配合CPU交替讀取RAM0和RAM1操作,一次可以讀出3~64個(gè)Flash頁面數(shù)據(jù),數(shù)據(jù)傳輸量大,速度快。塊數(shù)據(jù)裝入操作必須遵守的約束是:①數(shù)據(jù)必須從RAM0開始裝入,然后與RAM1交替裝入;②所有頁面同屬于一個(gè)Flash塊,頁面數(shù)3~64;③只能裝入和讀出Flash頁面的Main存儲區(qū)數(shù)據(jù)。
2.1.4 CPU讀寫RAM0(1)緩沖區(qū)
CPU通過尋址芯片內(nèi)部的RAM0(1)緩沖區(qū),對其進(jìn)行讀寫操作。讀寫RAM0(1)緩沖區(qū)分為異步讀寫方式和同步讀寫方式。在異步讀寫方式下,芯片不需要輸入CLK時(shí)鐘信號,CPU輸出某個(gè)RAM緩沖區(qū)的地址,就讀出或者寫入一個(gè)字單元。在同步讀寫方式下,芯片需要輸入CLK時(shí)鐘信號,在配置好線性迸發(fā)存取長度后,CPU輸出RAM緩沖區(qū)的地址后,在延遲BRWL時(shí)間(迸發(fā)讀寫延遲,3~7個(gè)時(shí)鐘周期,與CLK頻率成正比)后,可以讀出或者寫入4、8、16、32或1024個(gè)字單元。如果采用握手控制方式,通過查詢RDY輸出狀態(tài),判斷芯片輸出的迸發(fā)數(shù)據(jù)是否可讀。4字線性迸發(fā)讀RAM0(1)緩沖區(qū)數(shù)據(jù)的時(shí)序如圖4。

2.2 頁面編程操作
CPU把數(shù)據(jù)寫入RAM0(1)緩沖區(qū)后,再自動傳送到指定的Flash頁面中,叫做Flash頁面數(shù)據(jù)編程。編程分為單頁面編程、雙頁面編程、多頁面編程和頁面?zhèn)浞菥幊痰炔僮鳌m撁婢幊瘫仨氉袷氐募s束是:在一個(gè)Flash存儲塊內(nèi)部,頁面編程的順序是從頁面0到頁面63,不支持隨機(jī)頁面編程。在編程期間,芯片拒收CPU的任何命令和禁止芯片復(fù)位。
2.2.1單頁面編程
單頁面編程的單位是1~4扇區(qū)。頁面編程步驟是:①設(shè)置Flash塊、頁面和扇區(qū)地址;②選擇RAM0或者RAM1;③CPU把數(shù)據(jù)寫入RAM0或者RAM1;④執(zhí)行編程命令,開始編程;⑤查詢編程是否成功完成。如果頁面編程失敗,該存儲塊必須打上無效存儲塊標(biāo)記,另選一個(gè)有效存儲塊編程。單頁面編程時(shí)序(最后兩個(gè)周期)如圖5。在圖5中,AA表示Flash地址寄存器,PMA表示Flash頁面地址參數(shù),BA表示RAM0(1)緩沖區(qū),BD表示編程數(shù)據(jù),CA表示命令寄存器,PCD表示編程命令,SA表示狀態(tài)寄存器,“就緒”是查詢Flash頁面數(shù)據(jù)編程是否成功完成。

2.2.2雙頁面編程
芯片中NAND Flash由2048個(gè)存儲塊(Block0 ~ Block2047)組成。在雙頁面編程時(shí),一個(gè)頁面來自偶地址塊Block2j(j=0,1,2 …),另一個(gè)頁面來自奇地址塊Block2j+1,兩個(gè)頁面地址必須相同。RAM0數(shù)據(jù)編程到Block2j塊中頁面,RAM1數(shù)據(jù)編程到Block2j+1塊中頁面。雙頁面編程操作的步驟是:①設(shè)置Block2j塊地址和頁面地址;②設(shè)置RAM0編程Block2j塊中頁面;③CPU把編程數(shù)據(jù)寫入RAM0和RAM1;④執(zhí)行雙頁面編程命令;⑤查詢雙頁面編程是否成功完成。
以上操作步驟說明,雙頁面編程只要確定偶地址塊及其頁面地址后,奇地址塊及其頁面地址也就隨之而定,反之則不然。另外,如果編程數(shù)據(jù)少于頁面容量,頁面中剩下的所有單元必須寫入全1數(shù)據(jù)。
2.2.3多頁面編程
多頁面編程也叫做Cache編程。其功能是至少執(zhí)行三次雙頁面編程操作。可以完成對偶地址存儲塊和奇地址存儲塊中各3個(gè)頁面的數(shù)據(jù)編程,因此編程效率更高。Cache編程的原理是,CPU把4KB編程數(shù)據(jù)分別寫入RAM0和RAM1后,執(zhí)行Cache編程命令,RAM0和RAM1數(shù)據(jù)同時(shí)分別傳送到兩個(gè)頁面緩沖區(qū)中,與此同時(shí)中斷標(biāo)志置1,指示CPU再把新的4KB編程數(shù)據(jù)分別寫入RAM0和RAM1,其后再執(zhí)行Cache編程命令或者執(zhí)行結(jié)束Cache編程命令,完成多頁面編程操作。Cache編程操作原理如圖6。

2.2.4頁面?zhèn)浞菥幊?/p>
芯片的擦除操作是以存儲塊為單位。因此,當(dāng)存儲塊中有部分頁面數(shù)據(jù)需要修改時(shí),必須擦除去整個(gè)存儲塊數(shù)據(jù)后,重新進(jìn)行頁面數(shù)據(jù)編程才能完成修改。為了保護(hù)存儲塊中其他的頁面數(shù)據(jù),必須把這些頁面數(shù)據(jù)拷貝到另一個(gè)空白的存儲塊中,這種數(shù)據(jù)拷貝叫做頁面?zhèn)浞菥幊滩僮鳌m撁鎮(zhèn)浞菥幊滩僮魍耆窃谛酒瑑?nèi)部進(jìn)行,無需借助外部存儲器,因此省時(shí)間和速度快。頁面?zhèn)浞莶僮鞯牟襟E是:①設(shè)置Flash源與目頁面地址;②選擇RAM0或者RAM1;③執(zhí)行備份編程命令,把源頁面數(shù)據(jù)裝入RAM0(1),覆蓋先前數(shù)據(jù),然后自動編程到目標(biāo)頁面;④查詢頁面?zhèn)浞菥幊滩僮魇欠癯晒ν瓿伞?/p>
2.2.5可修改數(shù)據(jù)的備份編程
數(shù)據(jù)可以修改的頁面?zhèn)浞菥幊滩僮鞣秩竭M(jìn)行:①執(zhí)行數(shù)據(jù)裝入命令,把Flash源頁面數(shù)據(jù)裝入RAM0(1)中;②由CPU完成對RAM0(1)數(shù)據(jù)的修改;③執(zhí)行頁面編程命令,把RAM0(1)數(shù)據(jù)寫入目標(biāo)Flash頁面。
2.3 芯片擦除操作
Flash以存儲塊為單位擦除操作。存儲塊被擦除前應(yīng)處于開鎖狀態(tài),處于鎖定狀態(tài)的存儲塊無法擦除。可以擦除單個(gè)存儲塊,也支持一次最多擦除64個(gè)存儲塊的多塊擦除操作。
2.3.1單存儲塊擦除
每次擦除一個(gè)存儲塊。擦除步驟是:①設(shè)置存儲塊地址;②執(zhí)行塊擦除命令;③查詢塊擦除是否成功完成。在塊擦除期間,禁止對芯片復(fù)位操作。除了擦除暫停命令外,芯片拒收CPU寫入的任何命令。單個(gè)存儲塊擦除操作時(shí)序如圖7。在圖7中,AA表示Flash地址寄存器,EMA表示Flash存儲塊地址參數(shù),CA表示命令寄存器,ECD表示存儲塊擦除命令,SA表示狀態(tài)寄存器,“就緒”是查詢Flash存儲塊擦除操作是否成功完成。
2.3.2多存儲塊擦除
多個(gè)存儲塊擦除操作,一次可以擦除2~64個(gè)存儲塊。多塊擦除操作的步驟是:①逐個(gè)輸入要擦除的存儲塊地址;②執(zhí)行多塊擦除命令,啟動擦除過程;③再逐個(gè)輸入塊地址,查詢每個(gè)存儲塊是否擦除成功。在多塊擦除期間,如果遇到某個(gè)存儲塊擦除失敗的情況,也不會中止擦除過程,直到完成所有存儲塊的擦除操作。在多塊擦除操作中,除非遇到最后一個(gè)存儲塊被鎖定的情況,會導(dǎo)致擦除操作失敗。否則會自動跳過鎖定塊,完成其他未鎖定存儲塊的擦除操作。

2.4 存儲塊的寫保護(hù)
芯片中的每一個(gè)存儲塊都可以設(shè)置成寫保護(hù)狀態(tài),以便禁止對存儲塊進(jìn)行編程和擦除操作。芯片上電時(shí),內(nèi)部自動產(chǎn)生冷復(fù)位(Cold reset),所有存儲塊自動進(jìn)入寫保護(hù)狀態(tài)。當(dāng)芯片的/RP引腳輸入低電平時(shí),產(chǎn)生硬件復(fù)位操作,所有存儲塊也自動進(jìn)入寫保護(hù)狀態(tài)。芯片設(shè)計(jì)了開鎖(Unlock)、鎖定(Lock)和鎖緊(Lock tight)三種軟件命令,分別用于對每個(gè)存儲塊的開鎖、鎖定或者鎖緊操作。處于開鎖狀態(tài)的存儲塊接受數(shù)據(jù)編程或者擦除操作。處于鎖緊狀態(tài)的存儲塊,使用開鎖命令無法打開,只能對芯片硬件復(fù)位或者斷電后重新啟動,才能使存儲塊從鎖緊狀態(tài)轉(zhuǎn)換到鎖定狀態(tài),再使用開鎖命令打開。芯片還設(shè)計(jì)了同時(shí)解鎖所有存儲塊的命令,以便在芯片上電后,控制所有存儲塊一次性開鎖。查詢寫保護(hù)狀態(tài)寄存器,可以知道任何一個(gè)存儲塊當(dāng)前是處于開鎖、鎖定或者鎖緊狀態(tài)。
另外,芯片中的BootRAM也受到寫保護(hù)。當(dāng)芯片上電時(shí),受內(nèi)部產(chǎn)生的冷復(fù)位觸發(fā),自動將存儲于存儲塊0頁面0中,容量為1KB的啟動代碼裝入BootRAM,此后BootRAM處于鎖定狀態(tài),CPU可以讀取,但不能改寫。
2.5 芯片的復(fù)位操作
芯片具有冷(Cold)、溫(Warm)和熱(Hot)復(fù)位三種操作。冷復(fù)位就是芯片上電復(fù)位(Power On Reset)。暖復(fù)位就是/RP引腳輸入低電平的硬件復(fù)位。熱復(fù)位是軟件復(fù)位。軟件復(fù)位命令分為“Flash內(nèi)核復(fù)位命令”和“芯片復(fù)位命令”兩種。它們的區(qū)別是,前者復(fù)位不影響寄存器陣列,而后者復(fù)位要初始化寄存器陣列,兩種軟件命令都不影響B(tài)ootRAM和RAM0(1)。
2.6 OTP塊的操作
芯片中有兩個(gè)是一次性可編程存儲塊(One Time Progr- ammable Block),一個(gè)是獨(dú)立于Flash陣列的OTP塊,另一個(gè)是Flash陣列中的Block0存儲塊。OTP塊可以讀出、一次性編程和鎖定操作,但不能被擦除。OTP塊不能與其他存儲塊配對進(jìn)行雙頁面編程操作。OTP塊保證是合格有效的存儲塊。OTP塊不是使用塊地址訪問,而是使用專用的命令訪問。通過任何一種復(fù)位操作可以退出OTP塊操作。獨(dú)立OTP塊劃分成兩個(gè)部分,頁面0~頁面49供用戶使用,頁面50~頁面63由廠家在芯片出廠前完成編程。Block0存儲塊內(nèi)部64個(gè)頁面全部供用戶使用。
讀取OTP塊內(nèi)部頁面數(shù)據(jù)的操作步驟是:①執(zhí)行OTP塊訪問命令(65H);②設(shè)置OTP塊頁面和扇區(qū)地址;③選擇RAM0(1);④執(zhí)行數(shù)據(jù)裝入命令;⑤CPU讀取RAM0(1)數(shù)據(jù);⑥執(zhí)行任何一種復(fù)位命令,退出OTP塊操作。
OTP塊內(nèi)部任何單元都只能編程一次,而且無法擦除。OTP塊的編程操作步驟是:①執(zhí)行OTP塊訪問命令(65H);②設(shè)置OTP塊頁面和扇區(qū)地址;③選擇RAM0(1);④CPU把編程數(shù)據(jù)寫入RAM0(1);⑤執(zhí)行編程命令;⑥執(zhí)行任何一種復(fù)位命令,退出OTP塊操作。
OTP塊的鎖定操作是通過編程獨(dú)立OTP塊內(nèi)部頁面0中備用扇區(qū)0的第8字單元實(shí)現(xiàn)的。如果該字單元寫入數(shù)據(jù)0FCH,則鎖定獨(dú)立OTP塊。如果該字單元寫入數(shù)據(jù)0F3H,則鎖定Block0存儲塊。如果該字單元寫入數(shù)據(jù)0F0H,則同時(shí)鎖定兩個(gè)OTP塊。兩個(gè)OTP塊之間的鎖定約束是:如果先鎖定獨(dú)立OTP塊,那么Block0存儲塊不能鎖定;如果先鎖定Block0存儲塊,獨(dú)立OTP塊可以任何時(shí)候鎖定。OTP存儲塊或Block0存儲塊鎖定后,必須執(zhí)行上電復(fù)位命令,退出OTP塊操作。
2.7上電自啟動
芯片具有的最好特性之一,就是可以作為啟動設(shè)備使用。芯片內(nèi)置有啟動裝載器(Boot Loader)。芯片上電時(shí),啟動裝載器把事先存儲在Flash中的啟動程序傳送到BootRAM,CPU就象讀取SRAM或者NOR Flash一樣讀取BootRAM中的指令并執(zhí)行之。如果啟動程序容量不超過1KB,那么BootRAM正好存儲。如果啟動程序容量大于1KB而小于3KB,那么1KB傳送到BootRAM,剩下部分使用裝入命令傳送到RAM0或者RAM1,CPU執(zhí)行完BootRAM指令后,再執(zhí)行RAM0或者RAM1指令。如果啟動程序容量大于3KB,那么1KB傳送到BootRAM,剩下部分使用雙緩沖方式,通過兩個(gè)數(shù)據(jù)緩沖區(qū)(RAM0和RAM1)傳送到系統(tǒng)的DRAM中,CPU讀取和執(zhí)行DRAM中的指令,速度更快。
2.8 自動檢糾錯(cuò)
芯片內(nèi)置有ECC(Error Correction Code)檢糾錯(cuò)邏輯,可以檢測出Flash頁面數(shù)據(jù)中發(fā)生的兩個(gè)位錯(cuò)誤和糾正一個(gè)位錯(cuò)誤。在Flash頁面編程時(shí),ECC邏輯自動為每個(gè)主扇區(qū)產(chǎn)生24位ECC代碼,為每個(gè)備用扇區(qū)產(chǎn)生10位ECC代碼,分別存儲在備用扇區(qū)的相應(yīng)字單元中。在裝入Flash頁面數(shù)據(jù)時(shí),ECC邏輯又會產(chǎn)生新的ECC代碼,但沒有存儲到備用扇區(qū),通過自動比較讀和寫過程中產(chǎn)生的兩種ECC代碼,就能夠檢測出Flash頁面中發(fā)生錯(cuò)誤的數(shù)據(jù)字和數(shù)據(jù)位,并且記錄在相應(yīng)的狀態(tài)寄存器中。狀態(tài)寄存器記錄三種錯(cuò)誤類型,分別是:無錯(cuò)誤;1位可糾正的錯(cuò)誤;2位無法糾正的錯(cuò)誤。如果需要,CPU可以查詢狀態(tài)寄存器,確定讀取Flash頁面數(shù)據(jù)是否發(fā)生錯(cuò)誤。
2.9 無效存儲塊的管理
新出廠的芯片或者在芯片的使用壽命期間,都可能存在和產(chǎn)生無效的存儲塊(Invalid Block)。無效塊也就是壞塊(Bad Block),是指存儲塊內(nèi)部存在著一個(gè)或者幾個(gè)可靠性無法得到保證的位單元。壞塊不會影響有效塊的性能,因?yàn)榇鎯K之間是互相絕緣的。芯片中的Block0和OTP這兩個(gè)存儲塊保證是有效的,否則是廢品。芯片出廠前,在每個(gè)存儲塊的頁面0或者頁面1的備用扇區(qū)0的首字單元中,存儲著該存儲塊有效性的信息,有效存儲塊的信息是FFFFH,否則就是壞塊。在使用中有必要創(chuàng)建一個(gè)壞塊記錄表,用來登記壞塊的地址,以供查詢。
3 實(shí)際應(yīng)用方案
OneNAND Flash以存儲容量大、讀數(shù)與編程快速、功耗低、價(jià)格低廉、上電自啟動和自動糾錯(cuò)等綜合優(yōu)點(diǎn),目前正逐步取代以往使用的NOR Flash和NAND Flash,被廣泛應(yīng)用在各種消費(fèi)類電子產(chǎn)品中,實(shí)現(xiàn)了使用一塊OneNAND Flash芯片同時(shí)存儲程序和數(shù)據(jù),有效降低了電子產(chǎn)品的功耗,顯著提高了電子產(chǎn)品的性能。
3.1 在3G移動電話中的應(yīng)用
新一代的3G移動電話要求配置更大容量的存儲器,以便能夠以更高的帶寬下載和處理大容量的多媒體信息。以往移動電話的組成方案如圖8所示,其中使用NOR Flash+NAND Flash組合,分別存儲程序和數(shù)據(jù)。使用OneNAND Flash統(tǒng)一存儲程序和數(shù)據(jù)的3G移動電話的最新解決方案如圖9,本系統(tǒng)有效減少了Flash芯片的使用品種,顯著降低了系統(tǒng)的成本和功耗,3G移動電話的成本效益得到顯著提高。

3.2 在硬盤式MP3播放器中的應(yīng)用
當(dāng)前硬盤式MP3播放器的組成結(jié)構(gòu)如圖10,其中容量512Mb DRAM的待機(jī)功耗是200微安,容量16Mb NOR Flash的待機(jī)功耗是10微安,總待機(jī)功耗是210微安。使用One NAND Flash的MP3播放器結(jié)構(gòu)如圖11,其中容量512Mb OneNAND Flash的待機(jī)功耗也只是10微安,而DRAM的配置容量被顯著減小到64Mb,待機(jī)功耗減少到90微安,從而系統(tǒng)總待機(jī)功耗降低到100微安。由此可見,使用OneNAND Flash的電子產(chǎn)品,系統(tǒng)功耗得到明顯降低,因此電池的供電時(shí)間和使用壽命都會得到顯著的增加。

4 結(jié)語
目前三星電子推出的OneNAND Flash系列產(chǎn)品非常豐富。本系列產(chǎn)品還有KFN4G16Q2M[3]和KFK8G16Q2M[4]。這兩種芯片的數(shù)據(jù)字長都是16位,芯片存儲密度分別是4Gb和8Gb。4Gb芯片內(nèi)部集成兩個(gè)2Gb模塊,而且只配置一條片選輸入/CS,它是通過對配置寄存器進(jìn)行設(shè)置,來選擇內(nèi)部的某一個(gè)2Gb模塊,進(jìn)行各種存取和擦除操作。8Gb芯片內(nèi)部集成四個(gè)2Gb模塊,配置兩條片選輸入/CS1和/CS2,再配合對配置寄存器的設(shè)置,來選擇內(nèi)部的某一個(gè)2Gb模塊,進(jìn)行各種存取和擦除操作。高密度、高速度、低功耗、高性價(jià)比的OneNAND Flash系列存儲芯片,滿足了新一代3G移動設(shè)備需要配置大容量存儲器,以便能夠下載和存儲大容量的多媒體信息以及高帶寬傳輸多媒體信息的要求。
參考文獻(xiàn)
[1] Samsung Electronics Co., LTD. OneNAND Product overview [EB/OL]. [2008-3-26].http://www.samsung.com/global/business/semiconductor/products/fusionmemory/Products_OneNAND.html
[2] Samsung Electronics Co., LTD. KFM2G16Q2M-DEBX [EB/OL]. [2008-3- 26].http//www.samsung.com/products/fusionmemory/oneNAND.htlm.
[3] Samsung Electronics Co., LTD. KFN4G16Q2M-DEBX [EB/OL]. [2008- 3-26].http//www.samsung.com/products/fusionmemory/oneNAND.htlm.
[4] Samsung Electronics Co., LTD. KFK8G16Q2M-DEBX [EB/OL]. [2008- 3-26].http//www.samsung.com/products/fusionmemory/oneNAND.htlm.