SRAM
靜態隨機存儲器SRAM的存儲單元以鎖存器來存儲數據,見圖21_4。這種電路結構不需要定時刷新充電,就能保持狀態(當然,如果斷電了,數據還是會丟失的),所以這種存儲器被稱為“靜態(Static)”RAM。

圖21?4 SRAM存儲單元
同樣地,SRAM根據其通訊方式也分為同步(SSRAM)和異步SRAM,相對來說,異步SRAM 用得比較廣泛。
DRAM與SRAM的應用場合
對比DRAM與SRAM的結構,可知DRAM的結構簡單得多,所以生產相同容量的存儲器,DRAM的成本要更低,且集成度更高。而DRAM中的電容結構則決定了它的存取速度不如SRAM,特性對比見表21?1。
表21?1:DRAM與SRAM對比

所以在實際應用場合中,SRAM一般只用于CPU內部的高速緩存(Cache),而外部擴展的內存一般使用DRAM。
非易失性存儲器
非易失性存儲器種類非常多,半導體類的有ROM 和FLASH,而其它的則包括光盤、軟盤及機械硬盤。
ROM存儲器
ROM是“Read Only Memory”的縮寫,意為只能讀的存儲器。由于技術的發展,后來設計出了可以方便寫入數據的ROM,而這個“Read Only Memory”的名稱被沿用下來了,現在一般用于指代非易失性半導體存儲器,包括后面介紹的FLASH存儲器,有些人也把它歸到ROM類里邊。
20.3.1.1
MASK ROM
MASK(掩膜)ROM就是正宗的“Read Only Memory”,存儲在它內部的數據是在出廠時使用特殊工藝固化的,生產后就不可修改,其主要優勢是大批量生產時成本低。當前在生產量大,數據不需要修改的場合,還有應用。
20.3.1.2
OTPROM
OTPROM(One Time Programable ROM)用戶可以使用專用的編程器將自己的資料寫入,但只能寫入一次,被寫入過后,它的內容也不可再修改。在NXP公司生產的控制器芯片中常使用OTPROM 來存儲密鑰。
20.3.1.3
EPROM
EPROM(Erasable Programmable ROM)是可重復擦寫的存儲器,它解決了PROM芯片只能寫入一次的問題。這種存儲器使用紫外線照射芯片內部擦除數據,擦除和寫入都要專用的設備。現在這種存儲器基本淘汰,被EEPROM取代。
20.3.1.4
EEPROM
EEPROM(Electrically Erasable Programmable ROM)是電可擦除存儲器。EEPROM可以重復擦寫,它的擦除和寫入都是直接使用電路控制,不需要再使用外部設備來擦寫。而且可以按字節為單位修改數據,無需整個芯片擦除。現在主要使用的ROM芯片都是EEPROM。
FLASH存儲器
FLASH存儲器又稱為閃存,它也是可重復擦寫的儲器,部分書籍會把FLASH存儲器稱為FLASH ROM,但它的容量一般比EEPROM大得多,且在擦除時,一般以多個字節為單位。如有的FLASH存儲器以4096個字節為扇區,最小的擦除單位為一個扇區。根據存儲單元電路的不同,FLASH存儲器又分為NOR FLASH和NAND FLASH,見表21?2。
表21?2:NOR FLASH 與 NAND FLASH特性對比

NOR與NAND的共性是在數據寫入前都需要有擦除操作,而擦除操作一般是以“扇區/塊”為單位的。而NOR與NAND特性的差別,主要是由于其內部“地址/數據線”是否分開導致的。
由于NOR的地址線和數據線分開,它可以按“字節”讀寫數據,符合CPU的指令譯碼執行要求,所以假如NOR上存儲了代碼指令,CPU給NOR一個地址,NOR就能向CPU返回一個數據讓CPU執行,中間不需要額外的處理操作。
而由于NAND的數據和地址線共用,只能按“塊”來讀寫數據,假如NAND上存儲了代碼指令,CPU給NAND地址后,它無法直接返回該地址的數據,所以不符合指令譯碼要求。表21?2中的最后一項“是否支持XIP”描述的就是這種立即執行的特性(eXecute In Place)。
若代碼存儲在NAND上,可以把它先加載到RAM存儲器上,再由CPU執行。所以在功能上可以認為NOR是一種斷電后數據不丟失的RAM,但它的擦除單位與RAM有區別,且讀寫速度比RAM要慢得多。
另外,FLASH的擦除次數都是有限的(現在普遍是 10萬次左右),當它的使用接近壽命的時候,可能會出現寫操作失敗。由于NAND通常是整塊擦寫,塊內有一位失效整個塊就會失效,這被稱為壞塊,而且由于擦寫過程復雜,從整體來說NOR壽命較長。由于可能存在壞塊,所以FLASH存儲器需要“探測/錯誤更正(EDC/ECC)”算法來確保數據的正確性。
由于兩種FLASH存儲器特性的差異,NOR FLASH 一般應用在代碼存儲的場合,如嵌入式控制器內部的程序存儲空間。而NAND FLASH一般應用在大數據量存儲的場合,包括SD卡、U盤以及固態硬盤等,都是NAND FLASH類型的。
在本教程中會對如何使用RAM、EEPROM、FLASH存儲器進行實例講解。

如您在使用瑞薩MCU/MPU產品中有任何問題,可識別下方二維碼或復制網址到瀏覽器中打開,進入瑞薩技術論壇尋找答案或獲取在線技術支持。
https://community-ja.renesas.com/zh/forums-groups/mcu-mpu/
未完待續
推薦閱讀
使用代碼配置傳輸模式,以及DTC初始化函數&hal_entry入口函數——瑞薩RA系列FSP庫開發實戰指南(60)
實驗4:DTC+UART串口收發——瑞薩RA系列FSP庫開發實戰指南(61)
常用存儲器介紹:存儲器種類及RAM存儲器——瑞薩RA系列FSP庫開發實戰指南(62)

