今天給大家總結(jié)一下我們常見的存儲(chǔ)器的一些區(qū)別;這些常見的存儲(chǔ)器在平時(shí)的學(xué)習(xí)和工作當(dāng)中是經(jīng)常都會(huì)接觸的,如果我們對(duì)它們有一個(gè)非常熟悉的了解,對(duì)我們理解一些東西還是非常有幫助的。
一、從存儲(chǔ)器的層次展開講:
如下圖圖1所示,是在看深入理解計(jì)算機(jī)操作系統(tǒng)書里面講解到的存儲(chǔ)器層次結(jié)構(gòu)圖:
圖1
當(dāng)然這里涉及到的存儲(chǔ)器類型沒有那么多,我們今天主要來分享:RAM ROM flash NORflash Nandflash sram sdram ddr等常見存儲(chǔ)器,下面我們就來開始正式來分享了:
1、ram和rom:
ram(random access memory):它是一種隨機(jī)存儲(chǔ)器。存儲(chǔ)單元的內(nèi)容可以按需要來隨意取出或者存入,而且存取的速度與存儲(chǔ)單元的位置無關(guān);同時(shí)它也有缺點(diǎn),就是在斷電的時(shí)候,它里面保存的內(nèi)容全部會(huì)被丟失;它主要的作用就是存儲(chǔ)代碼和數(shù)據(jù)供CPU 在需要的時(shí)候調(diào)用;按照存儲(chǔ)信息的不同,我們又可以把它分為兩種類型的存儲(chǔ)器(下面會(huì)專門介紹這兩種存儲(chǔ)器,這里先不介紹):
靜態(tài)隨機(jī)存儲(chǔ)器(static ram,簡(jiǎn)稱sram)
動(dòng)態(tài)隨機(jī)存儲(chǔ)器(dynamic ram,簡(jiǎn)稱dram)
rom(read-only memory):它是一種只讀存儲(chǔ)器,也就是說它只能讀出事先規(guī)定的存儲(chǔ)數(shù)據(jù),一旦存儲(chǔ)進(jìn)去后,就不能對(duì)里面的數(shù)據(jù)進(jìn)行修改了,而且它不會(huì)因?yàn)閿嚯娏硕鴣G失數(shù)據(jù)。
2、sram和sdram:
sram:它是一種靜態(tài)隨機(jī)存儲(chǔ)器(static ram,簡(jiǎn)稱sram),一般的話,這種存儲(chǔ)器不需要刷新電路就能保存它內(nèi)部存儲(chǔ)的數(shù)據(jù)。它的特點(diǎn)是:讀寫速度非???,是目前讀寫最快的存儲(chǔ)設(shè)備了,但是它也非常昂貴,所以只在要求很苛刻的地方使用,譬如CPU的一級(jí)緩沖,二級(jí)緩沖,三級(jí)緩沖(在我們上面的存儲(chǔ)器的層次結(jié)構(gòu)可以看到。)。
dram:它是一種動(dòng)態(tài)隨機(jī)存儲(chǔ)器(dynamic ram,簡(jiǎn)稱dram),但是它與靜態(tài)隨機(jī)存儲(chǔ)器就不同了,動(dòng)態(tài)隨機(jī)存取存儲(chǔ)器,需要不斷的刷新,才能保存數(shù)據(jù)。它的特點(diǎn)是:保留數(shù)據(jù)的時(shí)間很短,速度也比SRAM慢,不過它還是比任何的ROM都要快,但從價(jià)格上來說DRAM相比SRAM要便宜很多,計(jì)算機(jī)內(nèi)存就是DRAM的(內(nèi)存是用來存放當(dāng)前正在使用的(即執(zhí)行中)的數(shù)據(jù)和程序,我們平常所提到的計(jì)算機(jī)的內(nèi)存指的是動(dòng)態(tài)內(nèi)存(即DRAM),動(dòng)態(tài)內(nèi)存中所謂的“動(dòng)態(tài)”,指的是當(dāng)我們將數(shù)據(jù)寫入DRAM后,經(jīng)過一段時(shí)間,數(shù)據(jù)會(huì)丟失,因此需要一個(gè)額外設(shè)電路進(jìn)行內(nèi)存刷新操作)。
3、flash:flash存儲(chǔ)器又稱閃存,它結(jié)合了ROM和RAM的長(zhǎng)處,不僅具備電子可擦除可編程(EEPROM)的性能,還不會(huì)斷電丟失數(shù)據(jù)同時(shí)可以快速讀取數(shù)據(jù)(NVRAM的優(yōu)勢(shì)),U盤和MP3里用的就是這種存儲(chǔ)器。在以往,嵌入式系統(tǒng)一直使用ROM(EPROM)作為它們的存儲(chǔ)設(shè)備,然而近年來Flash全面代替了ROM(EPROM)在嵌入式系統(tǒng)中的地位,它用作存儲(chǔ)Bootloader以及操作系統(tǒng)或者程序代碼,或者直接當(dāng)硬盤使用(U盤)。而flash又被分為兩種類型:
NOR Flash
NADN Flash
這兩種flash應(yīng)該是我們平時(shí)見的最多的存儲(chǔ)器了,下面我們來著重來看一下他們的區(qū)別:
(1)性能比較:
任何flash器件的寫入操作只能在空或已擦除的單元內(nèi)進(jìn)行,所以大多數(shù)情況下,在進(jìn)行寫入操作之前必須先執(zhí)行擦除。NAND器件執(zhí)行擦除操作是十分簡(jiǎn)單的,而NOR則要求在進(jìn)行擦除前先要將目標(biāo)塊內(nèi)所有的位都寫為1。
由于擦除NOR器件時(shí)是以64~128KB的塊進(jìn)行的,執(zhí)行一個(gè)寫入/擦除操作的時(shí)間為5s,與此相反,擦除NAND器件是以8~32KB的塊進(jìn)行的,執(zhí)行相同的操作最多只需要4ms。
由此可見:
NOR的讀速度比NAND稍快一些。
但是NAND的寫入速度比NOR快很多。
NAND的4ms擦除速度遠(yuǎn)比NOR的5s快。
大多數(shù)寫入操作需要先進(jìn)行擦除操作。
NAND的擦除單元更小,相應(yīng)的擦除電路更少。
(2)接口差別:
NOR flash帶有SRAM接口,有足夠的地址引腳來尋址,可以很容易地存取其內(nèi)部的每一個(gè)字節(jié)。
NAND器件使用復(fù)雜的I/O口來串行地存取數(shù)據(jù),各個(gè)產(chǎn)品或廠商的方法可能各不相同。8個(gè)引腳用來傳送控制、地址和數(shù)據(jù)信息。
NAND讀和寫操作采用512字節(jié)的塊,這一點(diǎn)有點(diǎn)像硬盤管理此類操作,很自然地,基于NAND的存儲(chǔ)器就可以取代硬盤或其他塊設(shè)備。
(3)成本上:
NOR Flash的讀取和我們常見的SDRAM的讀取是一樣,用戶可以直接運(yùn)行裝載在NOR FLASH里面的代碼,這樣可以減少SRAM的容量從而節(jié)約了成本。
NAND Flash沒有采取內(nèi)存的隨機(jī)讀取技術(shù),它的讀取是以一次讀取一塊的形式來進(jìn)行的,通常是一次讀取512個(gè)字節(jié),采用這種技術(shù)的Flash比較廉價(jià)。用戶不能直接運(yùn)行NAND Flash上的代碼,因此好多使用NAND Flash的開發(fā)板除了使用NAND Flah以外,還加上了一塊小的NOR Flash來運(yùn)行啟動(dòng)代碼。
一般小容量的用NOR Flash,因?yàn)槠渥x取速度快,多用來存儲(chǔ)操作系統(tǒng)等重要信息,而大容量的用NAND FLASH,最常見的NAND FLASH應(yīng)用是嵌入式系統(tǒng)采用的DOC(Disk On Chip)和我們通常用的“閃盤”,可以在線擦除。
?。?)易于使用:
可以非常直接地使用基于NOR的閃存,可以像其他存儲(chǔ)器那樣連接,并可以在上面直接運(yùn)行代碼。
由于nandflash需要I/O接口,所以要復(fù)雜得多。各種NAND器件的存取方法因廠家而異。
在使用NAND器件時(shí),必須先寫入驅(qū)動(dòng)程序,才能繼續(xù)執(zhí)行其他操作。向NAND器件寫入信息需要相當(dāng)?shù)募记?,因?yàn)樵O(shè)計(jì)師絕不能向壞塊寫入,這就意味著在NAND器件上自始至終都必須進(jìn)行虛擬映射。
(5)尋址:
NAND每次讀取數(shù)據(jù)時(shí)都是指定塊地址、頁(yè)地址、列地址,列地址就是讀的頁(yè)內(nèi)起始地址,每次都是先將數(shù)據(jù)讀入頁(yè)緩沖區(qū)內(nèi),再 由I/O輸入地址 在緩沖區(qū)內(nèi)尋址,其實(shí)這里列地址,只是指定起始地址的作用。NAND是 以頁(yè) 為基本單位 操作的。寫入數(shù)據(jù)也是首先在頁(yè)面緩沖區(qū)內(nèi)緩沖,數(shù)據(jù)首先寫入這里,再寫命令后,再統(tǒng)一寫入頁(yè)內(nèi)。因此NAND頁(yè)緩沖區(qū)的作用就是,保證芯片的按頁(yè)的讀、寫操作,是I/O操作與芯片操作的接口、橋梁,因?yàn)閿?shù)據(jù)是從I/O輸入的,又是每次一個(gè)字節(jié),因此需要緩沖。即使每次改寫一個(gè)字節(jié),都要重寫整個(gè)頁(yè),因?yàn)樗恢С猪?yè)寫,而且如果頁(yè)內(nèi)有未擦除的部分,則無法編程,在寫入前必須保證頁(yè)是空的。
NOR的 讀、寫 是字節(jié)為基本單位操作的,但擦除 是以扇區(qū)操作的。綜上所述在芯片操作上,NAND要比NOR快很多,因?yàn)镹AND是頁(yè)操作的而NOR是字節(jié)操作的。
?。?)應(yīng)用:
NAND 正是基于這種構(gòu)造:塊、頁(yè),無法字節(jié)尋址,頁(yè)讀寫本身就靠的是內(nèi)部復(fù)雜的串、并行轉(zhuǎn)換 ,因此也沒有很多地址引腳,所以其地址、數(shù)據(jù)線共用,所以容量可以做的很大 。 NOR 是和SRAM一樣的可隨機(jī)存儲(chǔ)的,也不需要驅(qū)動(dòng),因此,其地址就有限,所以容量普遍較小,其實(shí)是受限于地址線。 基于以上幾點(diǎn),
在工業(yè)領(lǐng)域,NOR 用的較多,特別是程序存儲(chǔ),少量數(shù)據(jù)存儲(chǔ)等。
在消費(fèi)領(lǐng)域,大量數(shù)據(jù)存儲(chǔ),NAND較多。
責(zé)任編輯人:CC
評(píng)論