RAM、ROM、SRAM、DRAM、SDRAM、NORFLASH、NANDFLASH

         存儲器按其存儲介質特性主要分爲“易失性存儲器”和“非易失性存儲器”兩大類。分別對應RAM和ROM。其中的“易失/非易失”是指存儲器斷電後,它存儲的數據內容是否會丟失的特性。

RAM:“易失性存儲器”

         RAM 是“Random Access Memory”的縮寫,被譯爲隨機存儲器。 所謂―隨機存取,指的是當存儲器中的消息被讀取或寫入時,所需要的時間與這段信息所在的位置無關。
         根據 RAM 的存儲機制,又分爲動態隨機存儲器 DRAM(Dynamic RAM)以及靜態隨機存儲器 SRAM(Static RAM)兩種。

1. 動態隨機存儲器 DRAM

         動態隨機存儲器 DRAM 的存儲單元以電容的電荷來表示數據,有電荷代表 1,無電荷代表 0。但時間一長,代表 1 的電容會放電,代表 0 的電容會吸收電荷,因此它需要定期刷新操作,這就是“動態(Dynamic)”一詞所形容的特性。刷新操作會對電容進行檢查,若電量大於滿電量的 1/2,則認爲其代表 1,並把電容充滿電; 若電量小於 1/2,則認爲其代表 0,並把電容放電,藉此來保證數據的正確性。
         根據 DRAM 的通訊方式,又分爲同步和異步兩種,這兩種方式根據通訊時是否需要使用時鐘信號來區分。有時鐘信號的同步通訊方式爲SDRAM
         爲了進一步提高 SDRAM 的通訊速度,人們設計了 DDR SDRAM 存儲器(Double DataRate SDRAM)。它的存儲特性與 SDRAM 沒有區別,但 SDRAM 只在上升沿表示有效數據,在 1 個時鐘週期內,只能表示 1 個有數據;而 DDR SDRAM 在時鐘的上升沿及下降沿各表示一個數據,也就是說在 1 個時鐘週期內可以表示 2 數據,在時鐘頻率同樣的情況下,提高了一倍的速度。

2. 靜態隨機存儲器 SRAM

         靜態隨機存儲器 SRAM 的存儲單元以鎖存器來存儲數據。這種電路結構不需要定時刷新充電,就能保持狀態(當然,如果斷電了,數據還是會丟失的),所以這種存儲器被稱爲“靜態(Static)” RAM。同樣地, SRAM 根據其通訊方式也分爲同步(SSRAM)和異步 SRAM,相對來說,異步SDRAM 用得多。

ROM:“非易失性存儲器”

         ROM 是“Read Only Memory”的縮寫,意爲只能讀的存儲器。由於技術的發展,後來設計出了可以方便寫入數據的 ROM,而這個“Read Only Memory”的名稱被沿用下來了,現在一般用於指代非易失性半導體存儲器。

1.MASK ROM
         MASK(掩膜) ROM 就是正宗的“Read Only Memory”,存儲在它內部的數據是在出廠時使用特殊工藝固化的,生產後就不可修改,其主要優勢是大批量生產時成本低。當前在生產量大,數據不需要修改的場合,還有應用。
2. OTPROM
         OTPROM(One Time Programable ROM)是一次可編程存儲器。這種存儲器出廠時內部並沒有資料,用戶可以使用專用的編程器將自己的資料寫入,但只能寫入一次,被寫入過後,它的內容也不可再修改。在 NXP 公司生產的控制器芯片中常使用 OTPROM 來存儲密鑰; STM32F767 系列的芯片內部也包含有一部分的 OTPROM 空間。
3. EPROM
         EPROM(Erasable Programmable ROM)是可重複擦寫的存儲器,它解決了 PROM 芯片只能寫入一次的問題。這種存儲器使用紫外線照射芯片內部擦除數據,擦除和寫入都要專用的設備。現在這種存儲器基本淘汰,被 EEPROM 取代。
4. EEPROM
         EEPROM(Electrically Erasable Programmable ROM)是電可擦除存儲器。 EEPROM 可以重複擦寫,它的擦除和寫入都是直接使用電路控制,不需要再使用外部設備來擦寫。而且可以按字節爲單位修改數據,無需整個芯片擦除。現在主要使用的 ROM 芯片都是EEPROM。
5.FLASH
         FLASH 存儲器又稱爲閃存,它也是可重複擦寫的儲器,部分書籍會把 FLASH 存儲器稱爲 FLASH ROM,但它的容量一般比 EEPROM 大得多,且在擦除時,一般以多個字節爲單位。如有的 FLASH 存儲器以 4096 個字節爲扇區,最小的擦除單位爲一個扇區。根據存儲單元電路的不同, FLASH 存儲器又分爲 NOR FLASH 和 NAND          FLASHNOR 與 NAND 的共性是在數據寫入前都需要有擦除操作,而擦除操作一般是以“扇區/塊”爲單位的。而 NOR 與 NAND 特性的差別,主要是由於其內部“地址/數據線”是否分開導致的。
         由於 NOR 的地址線和數據線分開,它可以按“字節”讀寫數據,符合 CPU 的指令譯碼執行要求,所以假如 NOR 上存儲了代碼指令, CPU 給NOR 一個地址, NOR 就能向CPU 返回一個數據讓 CPU 執行,中間不需要額外的處理操作。而由於 NAND 的數據和地址線共用,只能按“塊”來讀寫數據,假如 NAND 上存儲了代碼指令, CPU 給 NAND 地址後,它無法直接返回該地址的數據,所以不符合指令譯碼要求。
         若代碼存儲在 NAND 上,可以把它先加載到 RAM 存儲器上,再由 CPU 執行。所以在功能上可以認爲 NOR 是一種斷電後數據不丟失的 RAM,但它的擦除單位與 RAM 有區別,且讀寫速度比 RAM 要慢得多。
         由於兩種 FLASH 存儲器特性的差異, NOR FLASH 一般應用在代碼存儲的場合,如嵌入式控制器內部的程序存儲空間。而 NAND FLASH 一般應用在大數據量存儲的場合,包括 SD 卡、 U 盤以及固態硬盤等,都是 NAND FLASH 類型的。

個人簡單總結

1. RAM和ROM

根據斷電數據能否保存分爲RAM和ROM

2. RAM

RAM中根據是否需要刷新分爲SRAM和DRAM
         DRAM中根據是否有同步時鐘分爲SDRAM和DRAM
         SRAM中根據是否有同步時鐘分爲SSRAM和SRAM

3. ROM

ROM目前常用的是EPROM和FLASH
         FLASH包括NAND FLASH和NOR FLASH
         NAND FLASH和NOR FLASH的區別是地址線和數據線是否分開

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章