閃存芯片主要分為NOR型和NAND型兩大類。它們的區(qū)別如下:
1、容量:NOR型與NAND型閃存的區(qū)別很大,打個比方說,NOR型閃存更像內(nèi)存,有獨立的地址線和數(shù)據(jù)線,但價格比較貴,容量比較小;而NAND型更像硬盤,地址線和數(shù)據(jù)線是共用的I/O線,類似硬盤的所有信息都通過一條硬盤線傳送一般,而且NAND型與NOR型閃存相比,成本要低一些,而容量大得多。
2、應用:NOR型閃存比較適合頻繁隨機讀寫的場合,通常用于存儲程序代碼并直接在閃存內(nèi)運行,手機就是使用NOR型閃存的大戶,所以手機的“內(nèi)存”容量通常不大;NAND型閃存主要用來存儲資料,我們常用的閃存產(chǎn)品,如閃存盤、數(shù)碼存儲卡等。
3、速度:閃存的速度其實很有限,它本身操作速度、頻率就比內(nèi)存低得多,而且NAND型閃存類似硬盤的操作方式效率也比內(nèi)存的直接訪問方式慢得多。因此,不要以為閃存盤的性能瓶頸是在接口,甚至想當然地認為閃存盤采用USB2.0接口之后會獲得巨大的性能提升。
NAND型閃存的操作方式效率低,這和它的架構(gòu)設計和接口設計有關(guān),就像硬盤一樣(其實NAND型閃存在設計之初就考慮了與硬盤的兼容性)。它的性能特點也很像硬盤:小數(shù)據(jù)塊操作速度很慢,而大數(shù)據(jù)塊速度就很快,這種差異遠比其他存儲介質(zhì)大的多。這種性能特點非常值得我們留意。
4、存儲單元:NAND型內(nèi)存和NOR型閃存的基本存儲單元是bit,用戶可以隨機訪問任何一個bit的信息。而NAND型閃存的基本存儲單元是頁(Page),每一頁的有效容量是512字節(jié)的倍數(shù),就類似硬盤的扇區(qū)。
所謂的有效容量是指用于數(shù)據(jù)存儲的部分,實際上還要加上16字節(jié)的校驗信息,因此我們可以在閃存廠商的技術(shù)資料當中看到“(512+16)Byte”的表示方式。
5、擦除操作:NAND型閃存以塊為單位進行擦除操作。閃存的寫入操作必須在空白區(qū)域進行,如果目標區(qū)域已經(jīng)有數(shù)據(jù),必須先擦除后寫入,因此擦除操作是閃存的基本操作。
一般每個塊包含32個512字節(jié)的頁,容量16KB;而大容量閃存采用2KB頁時,則每個塊包含64個頁,容量128KB。
每顆NAND型閃存的I/O接口一般是8條,每條數(shù)據(jù)線每次傳輸(512+16)bit信息,8條就是(512+16)×8bit。但較大容量的NAND型閃存也越來越多地采用16條I/O線的設計,如三星編號K9K1G16U0A的芯片但基本單位還是512字節(jié)。
6、尋址:尋址時,NAND型閃存通過8條I/O接口數(shù)據(jù)線傳輸?shù)刂沸畔堪鼈魉?位地址信息。由于閃存芯片容量比較大,一組8位地址只夠?qū)ぶ?56個頁,但這顯然不夠,因此通常一次地址傳送需要分若干組,占用若干個時鐘周期。
NAND的地址信息包括列地址(頁面中的起始操作地址)、塊地址和相應的頁面地址,傳送時分別分組,至少需要三次,占用三個周期。隨著容量的增大,地址信息會更多,需要占用更多的時鐘周期傳輸,因此NAND型閃存的一個重要特點就是容量越大,尋址時間越長屬于NAND型閃存不太適合大量的小容量讀寫請求。