国产一级一区二区_segui88久久综合9999_97久久夜色精品国产_欧美色网一区二区

掃一掃
關注微信公眾號

NAND Flash嵌入式存儲系統結構分析
2011-04-29   21IC

目前市場上閃存芯片主要有兩類,即NAND Flash(Not And Flash ROM)和NOR Flash(Not Or Flash ROM)。前者具有容量大、讀寫速度快、芯片面積小、單元密度高、擦除速度快、成本低等特點,更適合于大批量數據存儲的嵌入式系統。如今Windows仍是桌面系統的主流,對FAT文件系統提供了天然的支持。然而就技術而言,FAT文件系統并不適合Flash,因為Flash設備并不是塊設備,為了不破壞兼容性,并在NAND型閃存中應用FAT文件系統,國際上提出了閃存轉譯層FTL(Flash Translation Layer)的解決方案。

1 NAND Flash嵌入式存儲系統結構

基于NAND Flash的存儲系統的設計首先要解決壞塊問題。由于NAND Flash自身存在固有壞塊并在擦除和編程中又隨機產生壞塊,因此為了提高設備的可靠性應該將這兩種操作分散在閃存不同的塊中,以避免對某塊的過度操作。

一般的基于NAND Flash嵌入式存儲系統驅動結構分為三個層次:最底層是硬件操作接口,負責將主控芯片與Flash的控制管腳相連,這方面的固件主要實現對NAND Flash的物理操作;中間層是閃存轉譯層NFTL(NAND FTL),是封裝在Flash驅動中的軟件模塊,其作用是將Flash模擬成與磁盤相類似的塊設備,使對上層操作系統而言,NAND Flash就像普通磁盤一樣被訪問。

這一層主要是封裝一些特殊的復雜管理控制功能;最上面的層就是文件管理層,功能類似于普通磁盤上的通用文件系統,向上層提供標準的文件操作接口。基于NAND Flash的嵌入式系統存儲結構原理圖如圖1所示。

根據以上兩個方面,既要在驅動中實現壞塊管理,又要進行塊模擬,所以可用的方法有兩種:一是在上層文件系統中解決壞塊問題,驅動層只實現本身的功能,文件系統為驅動層提供不變的接口,為上層應用程序提供可靠透明的服務。

這種方法較簡單,開發周期比較短,但只對特定應用的嵌入式系統有很強的適應性;第二種方法是在驅動層的NFTL中解決壞塊問題,將不可靠的NAND Flash虛擬成可靠的存儲設備,為上層文件系統提供可靠透明服務,這種方法較第一種更復雜,但是此法具有較強的可移植性并能徹底斷絕與文件系統的聯系,其他文件系統也同樣適用。

本文是以Samsung的NAND Flash K9F2808U0C作為存儲芯片,設計了一種在NFTL上實現壞塊管理并且實現連續數據讀取的方法。

2 設計思想

2.1 閃存空間劃分

K9F2808U0C是16 MB×8 bit的NAND Flash,共有1 024個Block,1 Block=16 KB,32 Page/Block,1 Page=528 B=(512 B+16 B),其中16 B為備用區,主要存放NAND Flash出廠壞塊標記、ECC校驗碼以及用戶自定義區。K9F2808U0C地址空間是24 bit,分三個周期依次送入NAND Flash的地址鎖存器。本文使用的地址均為字節地址,數據類型為DWORD(4 B)。

將K9F2808U0C的存儲空間劃分為四個區:壞塊映射表存放區、交換塊區、壞塊映射區和實際數據存放區。文件系統管理的空間就是實際的數據存放空間,如圖2所示。

2.2 各分區宏定義

#define FLASH_BLOCK_SIZE 0x40000 //16 KB/Block

#define FLASH_PAGE_SIZE 0x200 //512 B/Page

#define FLASH_SECTOR_SIZE 0x200

//1Page=1Sector(only K9F2808U0C)

#define FLASH_BLOCKS_TABLE 3//壞塊映射表存放塊數

#define FLASH_SWAP_BLOCKS 5 //交換區的塊數

#define FLASH_BAD_BLOCKS_REMAP 50

//壞簇重映區的塊數

#define FLASH_MAX_ADDR 0xFFFFFF

//Flash最大字節地址

各分區首地址計算公式:

FLASH_BLOCK_TABLE_ADDR=FLASH_MAX_ADDR+

1-3*FLASH_BLOCK_SIZE);

FLASH_SWAP_BLOCK_ADDR=(FLASH_BLOCK_

TABLE_ADDR-5*FLASH_BLOCK_SIZE);

FLASH_BAD_BLOCK_REMAP_ADDR=(FLASH_SWAP_

BLOCK_ADDR-50*FLASH_BLOCK_SIZE);

FLASH_MAX_SECTOR_ADDR=(FLASH_MAX_ADDR-

3*FLASH_BLOCK_TABLE_ADDR-5*FLASH_SWAP_

BLOCK_ADDR-50*FLASH_BAD_BLOCK_REMAP_ADDR);

文件系統管理的最大字節地址。

任意地址Addr:

所在塊地址:Addr&(~(FLASH_BLOCK_SIZE-1));

塊內偏移地址:Addr&(FLASH_BLOCK_SIZE-1);

塊中的頁:(Addr&(FLASH_BLOCK_SIZE-1))/FLASH_

PAGE_SIZE;

2.3 分區功能設計

壞塊映射區存放復制3份的壞塊信息BBI(Bad Block Information)表。復制3份是預防系統突然斷電,造成BBI表數據丟失。選擇最后3個塊,主要是出于固件設計。當Flash首次上電,固件程序通過讀取Flash ID,獲得設備的容量等信息,然后從Flash的最后一塊中尋找BBI表,如果最后一塊沒有發現BBI表,則認為此塊為壞塊,繼續前移尋找,依此類推,直到在預留的3個塊中找到,并將其數據讀入到在主控芯片為其開設的RAM中。如果還找不到,則固件認為該片Flash沒有BBI表。

交換塊區是對NAND Flash進行擦除或寫操作時用來臨時存放數據,共分配5個塊。選取5塊是出于可靠性設計。用一個數組FlashSwapBlockStatus[FLASH_SWAP_BLOCKS]記錄交換塊狀態:有效還是已經損壞。

初始化時,固件認為所有的交換塊都是有效塊,在隨后對其進行擦除或寫操作時,通過讀Flash狀態寄存器判斷該交換塊的真實狀態,并記錄在數組中。交換塊的管理圍繞固件請求返回當前可用交換塊地址或當前正在使用的交換塊地址,并判斷標記當前使用的交換塊狀態為壞。

壞塊映射區是當主機向數據區寫數據時,檢測到當前塊(數據區)為壞塊時,將數據寫到壞塊映射區中的相應好塊中,并且將這兩個塊的塊地址記錄到BBI表中,以后主機若要對當前塊(數據區)訪問時,只需讀BBI表就可以找到相應映射塊,從而代替壞塊的訪問。

這樣就使文件系統所見邏輯塊地址LBA(Logical Block Address)變成連續的,但實際上物理塊地址PBA(Physical Block Address)可能并不連續。上述方法就是壞塊管理的精髓。出于保守設計本文共選50塊作為重映塊。用數組FlashRemapBlockStatus[FLASH_BAD_BLOCKS_REMAP]標識壞塊映射區的狀態:未使用、已使用還是已經損壞。初始化時認為壞塊映射區中所有塊都是好塊。

目前市場上閃存芯片主要有兩類,即NAND Flash(Not And Flash ROM)和NOR Flash(Not Or Flash ROM)。前者具有容量大、讀寫速度快、芯片面積小、單元密度高、擦除速度快、成本低等特點,更適合于大批量數據存儲的嵌入式系統。如今Windows仍是桌面系統的主流,對FAT文件系統提供了天然的支持。

然而就技術而言,FAT文件系統并不適合Flash,因為Flash設備并不是塊設備,為了不破壞兼容性,并在NAND型閃存中應用FAT文件系統,國際上提出了閃存轉譯層FTL(Flash Translation Layer)的解決方案。

原文鏈接:http://tech.watchstor.com/storage-systems-131047.htm

熱詞搜索:

上一篇:云服務提供商人間蒸發 客戶數據會怎樣?
下一篇:解析TSM存儲管理Backup Set功能

分享到: 收藏
国产一级一区二区_segui88久久综合9999_97久久夜色精品国产_欧美色网一区二区
国产日韩欧美综合在线| 91精品91久久久中77777| 国产一区二区三区在线观看免费视频 | 色综合天天综合在线视频| 亚洲色图视频网站| 亚洲制服欧美中文字幕中文字幕| 亚洲资源在线观看| 欧美乱熟臀69xxxxxx| 亚洲一区二区综合| 欧美肥大bbwbbw高潮| 欧美一区二区三区在线观看| 成人午夜碰碰视频| 在线影视一区二区三区| 欧美成人精品1314www| 麻豆国产精品777777在线| 欧美精品一区二区久久婷婷| 日韩久久一区二区| 99re热视频精品| 欧美成人女星排行榜| 久久蜜桃一区二区| 午夜成人在线视频| 不卡的av中国片| 欧美色图免费看| 国产乱色国产精品免费视频| 91女人视频在线观看| 亚洲国产中文字幕| 秋霞国产午夜精品免费视频 | 日本韩国欧美在线| 91精品在线免费| 91传媒视频在线播放| 成人中文字幕在线| 亚洲电影视频在线| 国产欧美日韩三区| 日韩欧美在线影院| 不卡av电影在线播放| 国产v日产∨综合v精品视频| 欧美无砖专区一中文字| 国产成人夜色高潮福利影视| 蜜臀精品一区二区三区在线观看| 亚洲欧美激情小说另类| 九九热在线视频观看这里只有精品| 一本久久a久久精品亚洲| 国内成人精品2018免费看| 欧美日韩国产大片| 亚洲日本一区二区三区| 99久久久久免费精品国产| 美女在线一区二区| 美女视频黄免费的久久 | 一区二区三区在线看| 一区二区三国产精华液| 91色乱码一区二区三区| 亚洲免费观看高清完整 | 亚洲欧洲韩国日本视频| 久久精品亚洲一区二区三区浴池| 青青草伊人久久| 欧美精品99久久久**| 91丨porny丨最新| 亚洲激情在线播放| 日韩国产欧美一区二区三区| 亚洲最色的网站| 欧美精品粉嫩高潮一区二区| 欧日韩精品视频| 一区二区免费视频| 亚洲香蕉伊在人在线观| 午夜在线成人av| 日韩黄色一级片| 国产亚洲综合在线| 国产日韩欧美综合一区| 中文字幕在线观看一区| 亚洲欧美激情小说另类| 亚洲自拍另类综合| 精品理论电影在线观看| 久久这里只有精品6| 成人理论电影网| 亚洲电影一级黄| 日韩欧美亚洲一区二区| 国产永久精品大片wwwapp| 国产欧美综合色| 亚洲欧洲中文日韩久久av乱码| 色av成人天堂桃色av| 日韩电影在线看| 久久免费看少妇高潮| 国产精品免费视频一区| 91福利视频久久久久| 国产乱人伦偷精品视频不卡 | 亚洲v日本v欧美v久久精品| 欧美日韩国产片| 欧美日韩中文字幕一区| 亚洲国产另类av| 一区二区三区**美女毛片| 国产白丝精品91爽爽久久| 91麻豆精品91久久久久同性| 丝袜亚洲精品中文字幕一区| 五月婷婷综合网| 国产一区二区三区免费| 亚洲免费观看高清完整版在线观看熊| 亚洲小说欧美激情另类| 日本一区二区动态图| 5566中文字幕一区二区电影| 国产视频亚洲色图| 亚洲国产人成综合网站| 久久香蕉国产线看观看99| 综合久久一区二区三区| 欧美v国产在线一区二区三区| 亚洲色图自拍偷拍美腿丝袜制服诱惑麻豆| 亚洲色图欧美激情| 精品亚洲国内自在自线福利| 亚洲欧洲成人av每日更新| 蜜臀久久99精品久久久久久9| 91在线精品一区二区| 精品一区二区三区香蕉蜜桃| 一区二区三区欧美视频| 狠狠色狠狠色综合日日91app| 亚洲国产aⅴ成人精品无吗| 尤物视频一区二区| 亚洲国产精品精华液ab| 国产精品18久久久久久久久| 精品在线观看免费| 国产亚洲精品精华液| 午夜伦欧美伦电影理论片| 在线观看www91| 国产黑丝在线一区二区三区| 日韩免费视频一区二区| 欧美三级电影网| 99国产精品久| 久久久亚洲精华液精华液精华液| 国产日产精品一区| 欧美va亚洲va国产综合| 亚洲国产视频在线| 狠狠色狠狠色合久久伊人| 亚洲国产精品一区二区www在线| 另类小说视频一区二区| 91精品国产一区二区三区香蕉| 成人黄色在线看| 日韩影院精彩在线| 欧美成人综合网站| 97久久精品人人做人人爽| 午夜视频久久久久久| 日韩一区二区三区高清免费看看 | 国产日韩欧美制服另类| 精品在线免费视频| 日本一区二区三区视频视频| 久久久精品天堂| 中文一区二区在线观看| www欧美成人18+| 国产在线观看免费一区| 欧美日韩国产三级| 日韩成人免费看| 欧美喷水一区二区| 日韩av午夜在线观看| 奇米精品一区二区三区在线观看一| 久久91精品国产91久久小草| 欧美日韩视频在线第一区| 一区二区三区高清| 6080亚洲精品一区二区| 免费看日韩精品| 337p粉嫩大胆色噜噜噜噜亚洲 | 欧美区视频在线观看| 国产精品欧美一区二区三区| 国产成人综合在线观看| 日韩精品一区二区三区中文不卡 | 欧美肥胖老妇做爰| 老司机免费视频一区二区| 日韩午夜小视频| 国产精品理伦片| 欧美日韩一区二区在线视频| 久久你懂得1024| 99re亚洲国产精品| 久久66热re国产| 中文字幕免费观看一区| 精品污污网站免费看| 国产精品美女一区二区三区 | 成人深夜在线观看| 欧美精品乱码久久久久久| 日本三级亚洲精品| 99热99精品| 捆绑调教一区二区三区| 国产精品成人网| 精品久久久久久久久久久久久久久久久| 国产美女精品在线| 欧美美女激情18p| 国产成人av电影免费在线观看| 亚洲天天做日日做天天谢日日欢 | 国产一区二区剧情av在线| 国产精品网站一区| 日韩欧美中文一区二区| a4yy欧美一区二区三区| 国产最新精品免费| 亚洲一区视频在线| 欧美国产一区二区在线观看| 91精品欧美一区二区三区综合在| 丁香六月久久综合狠狠色| 美国一区二区三区在线播放| 99riav一区二区三区| 国产精品123区| 久久这里只有精品6| 欧美老肥妇做.爰bbww视频| 肉色丝袜一区二区| 69久久99精品久久久久婷婷| 欧美中文一区二区三区|