ARM中儲存器的介紹

2021-05-06 18:09:35 字數 3121 閱讀 3094

1 sram

sram是英文static ram的縮寫,它是一種具有靜止訪問功能的記憶體,不需要重新整理電路即能儲存它內部儲存的資料。不像dram記憶體那樣需要重新整理電路,每隔一段時間,固定要對dram重新整理充電一次,否則內部的資料即會消失,因此sram具有較高的效能,但是sram也有它的缺點,即它的整合度較低,相同容量的dram記憶體可以設計為較小的體積,但是sram卻需要很大的體積,所以在主機板上sram儲存器要占用一部分面積。

◎優點,速度快,不必配合記憶體重新整理電路,可提高整體的工作效率。

◎缺點,整合度低,功耗較大,相同的容量體積較大,而且**較高,少量用於關鍵性系統以提高效率。

2 sdram

sdram:synchronous dynamic random access memory,同步動態隨機訪問儲存器,同步是指memory工作需要同步時鐘,內部的命令的傳送與資料的傳輸都以它為基準;動態是指儲存陣列需要不斷的重新整理來保證資料不丟失;隨機是指資料不是線性依次儲存,而是由指定位址進行資料讀寫。

sdram在程式中主要用作程式的執行空間,資料及堆疊區。

3 flash

flash為非易失快閃儲存器技術。可以在系統進行電擦寫。

目前rom有被flash取代的趨勢,

flash按結構分為nor (或非)和nand (與非)是兩大類。各有優缺點

採用flahs介質時乙個需要重點考慮的問題是可用性。對於需要擴充套件mtbf的系統來說,flash是非常合適的儲存方案。可以從壽命(耐用性)、位交換和壞塊處理三個方面來比較nor和nand的可用性。

壽命(耐用性)

在nand快閃儲存器中每個塊的最大擦寫次數是一百萬次,而nor的擦寫次數是十萬次。nand儲存器除了具有10比1的塊擦除週期優勢,典型的nand塊尺寸要比nor器件小8倍,每個nand儲存器塊在給定的時間內的刪除次數要少一些。

位交換

所有flash器件都受位交換現象的困擾。在某些情況下(很少見,nand發生的次數要比nor多),乙個位元位會發生反轉或被報告反轉了。

一位的變化可能不很明顯,但是如果發生在乙個關鍵檔案上,這個小小的故障可能導致系統停機。如果只是報告有問題,多讀幾次就可能解決了。

當然,如果這個位真的改變了,就必須採用錯誤探測/錯誤更正(edc/ecc)演算法。位反轉的問題更多見於nand快閃儲存器,nand的**商建議使用nand快閃儲存器的時候,同時使用edc/ecc演算法。

這個問題對於用nand儲存多**資訊時倒不是致命的。當然,如果用本地儲存裝置來儲存作業系統、配置檔案或其他敏感資訊時,必須使用edc/ecc系統以確保可*性。

壞塊處理

nand器件中的壞塊是隨機分布的。以前也曾有過消除壞塊的努力,但發現成品率太低,代價太高,根本不划算。

nand器件需要對介質進行初始化掃瞄以發現壞塊,並將壞塊標記為不可用。在已製成的器件中,如果通過可*的方法不能進行這項處理,將導致高故障率。

易於使用

可以非常直接地使用基於nor的快閃儲存器,可以像其他儲存器那樣連線,並可以在上面直接執行**。

由於需要i/o介面,nand要複雜得多。各種nand器件的訪問方法因廠家而異。

在使用nand器件時,必須先寫入驅動程式,才能繼續執行其他操作。向nand器件寫入資訊需要相當的技巧,因為設計師絕不能向壞塊寫入,這就意味著在nand器件上自始至終都必須進行虛擬對映。

軟體支援

當討論軟體支援的時候,應該區別基本的讀/寫/擦操作和高一級的用於磁碟**和快閃儲存器管理演算法的軟體,包括效能優化。

在nor器件上執行**不需要任何的軟體支援,在nand器件上進行同樣操作時,通常需要驅動程式,也就是記憶體技術驅動程式(mtd),nand和nor器件在進行寫入和擦除操作時都需要mtd。

使用nor器件時所需要的mtd要相對少一些,許多廠商都提供用於nor器件的更高階軟體,這其中包括m-system的trueffs驅動,該驅動被wind river system、microsoft、qnx software system、symbian和intel等廠商所採用。

驅動還用於對diskonchip產品進行**和nand快閃儲存器的管理,包括糾錯、壞塊處理和損耗平衡。

效能比較

flash快閃儲存器是非易失儲存器,可以對稱為塊的儲存器單元塊進行擦寫和再程式設計。任何flash器件的寫入操作只能在空或已擦除的單元內進行,所以大多數情況下,在進行寫入操作之前必須先執行擦除。nand器件執行擦除操作是十分簡單的,而nor則要求在進行擦除前先要將目標塊內所有的位都寫為0。

由於擦除nor器件時是以64~128kb的塊進行的,執行乙個寫入/擦除操作的時間為5s,與此相反,擦除nand器件是以8~32kb的塊進行的,執行相同的操作最多隻需要4ms。

執行擦除時塊尺寸的不同進一步拉大了nor和nadn之間的效能差距,統計表明,對於給定的一套寫入操作(尤其是更新小檔案時),更多的擦除操作必須在基於nor的單元中進行。這樣,當選擇儲存解決方案時,設計師必須權衡以下的各項因素。

● nor的讀速度比nand稍快一些。

● nand的寫入速度比nor快很多。

● nand的4ms擦除速度遠比nor的5s快。

● 大多數寫入操作需要先進行擦除操作。

● nand的擦除單元更小,相應的擦除電路更少。

介面差別

nor flash帶有sram介面,有足夠的位址引腳來定址,可以很容易地訪問其內部的每乙個位元組。

nand器件使用複雜的i/o口來序列地訪問資料,各個產品或廠商的方法可能各不相同。8個引腳用來傳送控制、位址和資料資訊。

nand讀和寫操作採用512位元組的塊,這一點有點像硬碟管理此類操作,很自然地,基於nand的儲存器就可以取代硬碟或其他塊裝置。

容量和成本

nand flash的單元尺寸幾乎是nor器件的一半,由於生產過程更為簡單,nand結構可以在給定的模具尺寸內提供更高的容量,也就相應地降低了**。

nor flash佔據了容量為1~16mb快閃儲存器市場的大部分,而nand flash只是用在8~128mb的產品當中,這也說明nor主要應用在**儲存介質中,nand適合於資料儲存,nand在compactflash、secure digital、pc cards和mmc儲存卡市場上所佔份額最大。

可用性和耐用性

ARM儲存器介紹

arm授權給晶元廠商的arm的ip核主要有ahp和apb兩條匯流排,各廠商在這兩條匯流排上新增各種外設和儲存器。大端 小端 目前幾乎所有的mcu的程式儲存都是flash,分為片內和片外。而片內的ram為sram,速度較sdram快。外擴flash種類 1 nor flash nor flash 讀取...

Arm Qt 實戰二 在Arm裝置中儲存sql資料

首先確定你的arm裝置中已經有了sql庫的支援。在專案的.pro檔案中增加qt sql即可呼叫qt的sqlite project created by qtcreator 2020 08 01t19 53 32 qt core qt network qt sql qt gui target core...

Keil中儲存器型別和儲存器模型

c51編譯器支援8051及其派生器件結構並提供對8051所有儲存區的訪問。每個變數可以明確地分配到指定儲存空間。對內部資料儲存器的訪問比對外部資料的訪問快許多。因此,應當將頻繁使用的變數放在內部儲存器,而把較少使用的變數放在外部儲存器中。變數的定義包括了儲存器型別的指定,可以指定變數存放的位置。儲存...