日本黄色一级经典视频|伊人久久精品视频|亚洲黄色色周成人视频九九九|av免费网址黄色小短片|黄色Av无码亚洲成年人|亚洲1区2区3区无码|真人黄片免费观看|无码一级小说欧美日免费三级|日韩中文字幕91在线看|精品久久久无码中文字幕边打电话

當前位置:首頁 > 電源 > 數(shù)字電源
[導讀]Nand Flash作為一種安全、快速的存儲體,因其具有體積小、容量大、成本低、掉電數(shù)據(jù)不丟失等一系列優(yōu)點,已逐步取代其它半導體存儲元件,成為嵌入式系統(tǒng)中數(shù)據(jù)存儲的主要載體。盡管Nand Flash的每個單元塊相互獨立,

Nand Flash作為一種安全、快速的存儲體,因其具有體積小、容量大、成本低、掉電數(shù)據(jù)不丟失等一系列優(yōu)點,已逐步取代其它半導體存儲元件,成為嵌入式系統(tǒng)中數(shù)據(jù)存儲的主要載體。盡管Nand Flash的每個單元塊相互獨立,且每塊一般可擦除次數(shù)高達10~100萬次,但是隨著擦寫次數(shù)增加,會有一些單元塊逐漸變得不穩(wěn)定或失效從而形成永久性壞塊。因此,要避免頻繁地對同一塊進行操作,盡量達到擦寫次數(shù)均衡;同時,由于擦除操作耗時較多,會對系統(tǒng)的實時性造成影響。為此,本文介紹了一種基于磨損均衡思想的Nand Flash存儲管理方式,并深入討論了該方式在Ti公司的DSP TMS320F28x中的程序實現(xiàn)。

1 器件介紹

本文中采用的Nand Flash芯片K9F6408U0C是一塊擁有8M(8,388,608)×8bit存儲空間及 256K(262,144)×8bit輔用存儲空間的存儲芯片,電源電壓為1.8V-3.3V。芯片內部按塊和頁的方式來組織的,如圖1所示,共分成1024個塊,每塊包含16個頁,每頁內有528個字節(jié)。 F28x系列DSP是美國TI公司最新推出的C2000平臺上的定點DSP芯片。

圖1 K9F6408UOC內部結構示意圖

F28x系列芯片具有 低成本、低功耗和高效能等特點,特別適用于有大量數(shù)據(jù)處理的測控場合。

2 Flash的特點及存儲管理的作用

由K9F6408U0C的基本結構可以知道,它的基本單位有塊、頁、字節(jié)等。 Nand Flash 芯片具有如下特點:

Flash寫:通過寫命令將每個字節(jié)存儲單元中的1變?yōu)?;寫操作不能把0變?yōu)?。

Flash擦除:擦除命令是Flash中存儲單元0變?yōu)?的唯一途徑,一旦對某一塊中的某一位寫0,要再改變成1,則必須執(zhí)行擦除命令。

通常,對于容量較小的Flash塊的操作過程是:先把整個塊的數(shù)據(jù)讀到RAM中,在RAM中修改數(shù)據(jù)內容,再擦除整個塊,最后寫入修改后的數(shù)據(jù)。顯然,這樣頻繁復雜的讀-擦除- 寫操作,對于Flash的使用壽命以及系統(tǒng)性能是很不利的,而且微處理器中通常RAM大小有限。因此在硬件條件苛刻的嵌入式系統(tǒng)中就迫切需要一種合理的存儲管理方式以便有效地均衡 Flash各個存儲塊的擦寫次數(shù),提高Flash的使用壽命,從而提高數(shù)據(jù)存儲的安全性。

3 存儲管理系統(tǒng)的設計

3.1建立壞塊管理表

Nand Flash由于生產工藝的問題,不可避免的會存在一些壞塊,這些壞塊在芯片出廠前 都已被標識好。根據(jù)Nand Flash數(shù)據(jù)手冊中的介紹,在每一塊的第一頁與第二頁的Spare area 的第六個字節(jié)(也就是該頁的第517字節(jié))即是出廠時的壞塊標識位,如果某塊的該兩頁的第517字節(jié)內容不同時為0xFF,則代表該塊為廠家標識壞塊。這種壞塊的檢測必須在對芯片進行擦除前進行,因為廠家壞塊有可能也能夠被進行擦除操作,如使用這種塊將對數(shù)據(jù)安全留下一定的隱患。

Nand Flash在出廠前會保證每塊芯片的第一塊與第二塊是完好的,所以在本文的設計中,采用的方式是將壞塊管理表存放在第一塊的第一頁的前128個字節(jié)中,每個字節(jié)的一位代表芯片的一塊,如該位為1剛表明該塊是好的,為0則表示對應塊為壞塊。壞塊管理表的建立是必需的,而且最好是在芯片進行其它擦寫操作前進行。

3.2 Flash存儲空間管理

在本文設計的Flash空間管理中,F(xiàn)lash的存儲塊被分為空閑塊(Free,即空白沒寫數(shù)據(jù)的好塊),有效塊(Valid,即存有有效數(shù)據(jù)的塊,不能被擦除),無效塊(Invalid,即數(shù)據(jù)已無效或是寫入錯誤塊,可被擦除),保留塊(Reserve,用于替換新產生的壞塊),其它的則為壞塊,所有存儲塊的管理均采用單向鏈表方式進行管理。

在大部分的Flash存儲空間管理系統(tǒng)中可能并不存在保留塊,在本系統(tǒng)中增加保留塊的作用主要是,當部分存儲塊因為反復擦寫成為新的壞塊時,可以用保留塊取而代之成為新的空閑塊,從而使得留給用戶的可用存儲塊總數(shù)在一定時期內是一定的,這樣做的優(yōu)點是可以增強數(shù)據(jù)的安全性,延長整個Flash的使用周期,缺點是用戶可用的存儲空間相對減少,不過在Flash芯片技術迅速發(fā)展的今天,大容量的Flash芯片價格已經(jīng)十分低廉,數(shù)據(jù)安全才是嵌入式系統(tǒng)設計最值得重視的。

在本文的設計中,統(tǒng)一規(guī)定Flash每一塊的第一頁的Spare Area為數(shù)據(jù)塊狀態(tài)信息標記區(qū),具體規(guī)定如表2所示:

根據(jù)上表的設計,塊擦除次數(shù)最大為224 ? 1 = 16777215 ,遠大于Flash的最大擦除次數(shù)10到100萬次;塊狀態(tài)標記字節(jié),0xFF代表其為空閑塊,0xFD代表其為保留塊,0xFC代表其為有效塊,0xF0代表其為無效塊,0x00則表明當前塊為壞塊,在壞塊管理表中其對應位為0。

3.3磨損均衡與無效塊回收

如圖2所示,當系統(tǒng)上電后,如不存在壞塊管理表則應首先應建立相應的壞塊管理表,參照壞塊表根據(jù)每一塊的第517字節(jié)建立各個鏈表Free_List,Valid_List,Invalid_List, Reserved_List,初始化并按擦除次數(shù)非遞減序排列各鏈表。當無效塊因擦除成為新的空閑塊時,根據(jù)塊擦除次數(shù)插入到空閑鏈表中相應位置,當需要寫入數(shù)據(jù)到新的空閑塊時則取用空閑鏈表的鏈首所指空閑塊,寫入數(shù)據(jù)有效后則標識該塊為有效塊,否則標識為無效塊,通過這樣的管理方式保證每次都是使用空閑鏈表中擦除次數(shù)最小的塊,從而使磨損達到均衡。[!--empirenews.page--]

圖2 Flash存儲管理流程示意圖

對于靜態(tài)數(shù)據(jù)塊(指的是Flash中存儲的不經(jīng)常被修改的數(shù)據(jù))[3],在本文中采用的處理方法是當空閑塊中的最大擦除次數(shù)與有效塊中的最小擦除次數(shù)之差大于某一設定閥值(該閥值不能過小,否則數(shù)據(jù)搬遷將過于頻繁),則遷移該有效塊中數(shù)據(jù)至空閑鏈表中擦除次數(shù)最大的塊中,從而避免因某些數(shù)據(jù)塊被靜態(tài)數(shù)據(jù)長時間占用而使得其它數(shù)據(jù)塊的磨損加劇,進而可使得整個Flash的磨損趨于平衡。

對于無效塊的擦除回收本文的設計是在有足夠空閑塊的情況下一般是在系統(tǒng)空閑或上電時進行,這樣能節(jié)約更多寶貴的系統(tǒng)資源以進行更重要的工作,當在系統(tǒng)運行過程中,如果空閑塊塊數(shù)與無效塊塊數(shù)的比值超出一個閥值(本系統(tǒng)取50),則啟動程序回收所有無效塊。這個閥值應取得適中,如太大則使得回收過于頻繁,太少的話一方面使空閑空間過少,另一方面一旦啟動回收程序,因要回收塊數(shù)過多,從而使采集數(shù)據(jù)的實時輸入受到影響,本系統(tǒng)中取空閑塊與無效塊的比值作為閥值,好處是只要空閑塊塊數(shù)足夠,無效塊回收基本在系統(tǒng)初始化是進行,即使在采集過程中回收占用的時間也是十分微小,這樣的設計對實時性要求極高的嵌入式系統(tǒng)是很有好處的。

3.4 Flash存儲管理的程序實現(xiàn)

對于Nand Flash在DSP嵌入式系統(tǒng)中的使用,其接口方式與讀寫方法與在其他單片機中的方法都是一樣的,參考[1]中提供的流程圖就可以完成,其難點在于如何管理,在其管理中,對鏈表數(shù)據(jù)結構的操作是最重要的,下面將給出本文系統(tǒng)中用DSP TMS320F28x如何實現(xiàn)Nand Flash存儲管理的鏈表操作的關鍵程序代碼,結合具體的要求只需要進行簡單的修改即可滿足在新系統(tǒng)中的應用。

在DSP系統(tǒng)工程中的CMD文件中,對于段的定義一定要為.systemmem分配一定的可用RAM空間[ 4 ],這個大小跟系統(tǒng)后面malloc函數(shù)要分配的動態(tài)內存空間有關,以便在產生一個新的結點時申請一個結點類型大小的空間,在結點銷毀時可對空間進行釋放,定義系統(tǒng)中鏈表結點的類型為:

通過這樣的定義就可以得到四個帶頭結點的鏈表,頭結點的數(shù)庫域中是沒有信息的,每一個鏈表的頭結點都指向該鏈表的首元素,如不存在則指向NULL,程序中必須初始化指針,否則會造成致命的系統(tǒng)錯誤。下面給出鏈表的初始化程序,結點生成及銷毀程序,其他的函數(shù)就不一一列舉,只給出其相應函數(shù)名及功能介紹。

4 結論

本文創(chuàng)新點在于:從Nand Flash的特性出發(fā),深入討論了基于磨損均衡算法的Flash存儲管理在DSP系統(tǒng)中采用鏈表結構的程序實現(xiàn),改進了無效塊的回收方式及動靜態(tài)數(shù)據(jù)塊的磨損平衡。經(jīng)實踐證明,有效延長了Flash的使用壽命,進一步提高了其存儲效率和數(shù)據(jù)安全性,從而更有利于在嵌入式系統(tǒng)中的應用。

本站聲明: 本文章由作者或相關機構授權發(fā)布,目的在于傳遞更多信息,并不代表本站贊同其觀點,本站亦不保證或承諾內容真實性等。需要轉載請聯(lián)系該專欄作者,如若文章內容侵犯您的權益,請及時聯(lián)系本站刪除。
換一批
延伸閱讀

LED驅動電源的輸入包括高壓工頻交流(即市電)、低壓直流、高壓直流、低壓高頻交流(如電子變壓器的輸出)等。

關鍵字: 驅動電源

在工業(yè)自動化蓬勃發(fā)展的當下,工業(yè)電機作為核心動力設備,其驅動電源的性能直接關系到整個系統(tǒng)的穩(wěn)定性和可靠性。其中,反電動勢抑制與過流保護是驅動電源設計中至關重要的兩個環(huán)節(jié),集成化方案的設計成為提升電機驅動性能的關鍵。

關鍵字: 工業(yè)電機 驅動電源

LED 驅動電源作為 LED 照明系統(tǒng)的 “心臟”,其穩(wěn)定性直接決定了整個照明設備的使用壽命。然而,在實際應用中,LED 驅動電源易損壞的問題卻十分常見,不僅增加了維護成本,還影響了用戶體驗。要解決這一問題,需從設計、生...

關鍵字: 驅動電源 照明系統(tǒng) 散熱

根據(jù)LED驅動電源的公式,電感內電流波動大小和電感值成反比,輸出紋波和輸出電容值成反比。所以加大電感值和輸出電容值可以減小紋波。

關鍵字: LED 設計 驅動電源

電動汽車(EV)作為新能源汽車的重要代表,正逐漸成為全球汽車產業(yè)的重要發(fā)展方向。電動汽車的核心技術之一是電機驅動控制系統(tǒng),而絕緣柵雙極型晶體管(IGBT)作為電機驅動系統(tǒng)中的關鍵元件,其性能直接影響到電動汽車的動力性能和...

關鍵字: 電動汽車 新能源 驅動電源

在現(xiàn)代城市建設中,街道及停車場照明作為基礎設施的重要組成部分,其質量和效率直接關系到城市的公共安全、居民生活質量和能源利用效率。隨著科技的進步,高亮度白光發(fā)光二極管(LED)因其獨特的優(yōu)勢逐漸取代傳統(tǒng)光源,成為大功率區(qū)域...

關鍵字: 發(fā)光二極管 驅動電源 LED

LED通用照明設計工程師會遇到許多挑戰(zhàn),如功率密度、功率因數(shù)校正(PFC)、空間受限和可靠性等。

關鍵字: LED 驅動電源 功率因數(shù)校正

在LED照明技術日益普及的今天,LED驅動電源的電磁干擾(EMI)問題成為了一個不可忽視的挑戰(zhàn)。電磁干擾不僅會影響LED燈具的正常工作,還可能對周圍電子設備造成不利影響,甚至引發(fā)系統(tǒng)故障。因此,采取有效的硬件措施來解決L...

關鍵字: LED照明技術 電磁干擾 驅動電源

開關電源具有效率高的特性,而且開關電源的變壓器體積比串聯(lián)穩(wěn)壓型電源的要小得多,電源電路比較整潔,整機重量也有所下降,所以,現(xiàn)在的LED驅動電源

關鍵字: LED 驅動電源 開關電源

LED驅動電源是把電源供應轉換為特定的電壓電流以驅動LED發(fā)光的電壓轉換器,通常情況下:LED驅動電源的輸入包括高壓工頻交流(即市電)、低壓直流、高壓直流、低壓高頻交流(如電子變壓器的輸出)等。

關鍵字: LED 隧道燈 驅動電源
關閉