999精品在线视频,手机成人午夜在线视频,久久不卡国产精品无码,中日无码在线观看,成人av手机在线观看,日韩精品亚洲一区中文字幕,亚洲av无码人妻,四虎国产在线观看 ?

圖解DM800 se機器NAND FLASH芯片壞塊檢測和處理方法

2014-04-29 15:57:19
衛星電視與寬帶多媒體 2014年2期

NAND FLASH壞塊處理機制

大家都知道,機械硬盤會產生壞道,FLASH芯片也會這樣,一般我們稱此為“壞塊(Bad Block)”。在NAND FLASH中,一個塊中含有1個或多個位是壞的,就稱其為壞塊。

產生壞塊的原因有兩種:

(1)出廠時就有的壞塊,稱作Factory masked bad block(廠屏蔽壞塊)或Initial bad/invalid block(初始壞/無效塊),NAND FLASH器件中的壞塊是隨機分布的。以前做過消除壞塊的努力,但發現成品率太低,代價太高,成本不劃算。

(2)使用過程中產生的壞塊,稱作Worn-out bad block(破舊的壞塊)。由于使用過程時間長了,在擦除塊時出錯,說明此塊壞了,在程序運行過程中發現,并且標記成壞塊。

正常的塊寫入讀出都是正常的,而壞塊的讀寫是無法保證的。在Linux系統中,對于NAND FLASH有壞塊管理(BBM,Bad Block Managment)機制,通過一個對應的壞塊表(BBT,Bad Block Table)來記錄好塊,壞塊的信息,以及壞塊是出廠就有的,還是后來使用產生的。

在L i n u x內核M T D(M e m o r y Technology Device,內存技術設備)架構和Uboot中的NAND FLASH驅動,在加載完驅動后,都會主動掃描壞塊,建立必要的BBT,以備后面壞塊管理所使用。下面是DM800 se機器在系統啟動過程中,通過超級終端獲取的一段進程信息,可以看出執行BBT和ECC管理。

[4294669.853000] BrcmNAND mfg ad 76 Hynix HY27US08121A (dream) 64MB

[4294669.854000]

[4294669.854000] Found NAND: A C C = 1 7 f f 1 0 1 0 , c f g = 0 4 0 4 2 3 0 0 , flashId=ad76ad76, tim16

[4294669.855000] BrcmNAND version= 0x0302 64MB @00000000

[ 4 2 9 4 6 6 9 . 8 5 6 0 0 0 ] B 4 : N a n d S e l e c t = 4 0 0 0 0 0 0 2 , nandConfig=04042300, chipSelect=-1

[4294669.856000] brcmnand_probe: CS-1: dev_id=ad76ad76

[ 4 2 9 4 6 6 9 . 8 5 7 0 0 0 ] A f t e r : N a n d S e l e c t = 4 0 0 0 0 0 0 2 , nandConfig=04042300

[4294669.858000] Found NAND chip on Chip Select -1, chipSize=64MB, usable size=x

[4294669.859000] brcmnand_scan: B4 nand_select = 40000002

[4294669.859000] brcmnand_scan: After nand_select = 40000002

[4294669.860000] page_shift=9, bbt_ erase_shift=14, chip_shift=26, phys_erase_ sh4

[4294669.861000] Brcm NAND controller version = 3.2 NAND flash size 64MB @1c0000

[4294669.862000] mtd->oobsize=16, mtd->eccOobSize=16

[4294669.862000] brcmnand_scan: mtd->oobsize=16

[4294669.863000] brcmnand_scan: oobavail=12, eccsize=512, writesize=512

[4294669.864000] brcmnand_scan, eccsize=512, writesize=512, eccsteps=1, eccleve3

[4294669.865000] brcmnand_default_ bbt: bbt_td = bbt_main_descr

[4294669.867000] brcmnandCET: Status -> Deferred

DM800 se NAND FLASH芯片分區

D M 8 0 0 s e機器(包括S R 4機器)N A N D F L A S H芯片型號為HY27U518S2CTR(2011年前期采用HY27US08121B)(U703),如圖1所示。這是韓國Hynix(海力士)公司的NAND FLASH芯片,采用64M×8bit結構,容量為64MB,用于存儲接收機的系統軟件。

HY27U518S2CTR芯片劃分為三個分區:第1分區(partition 1)為引導裝載程序(loader)、第2分區(partition 2)為內核啟動系統(boot)、第3分區(partition 3)為根文件系統(root),分配容量分別為:0.25MB、3.75MB、60MB。FLASH分區地址信息可以在系統啟動過程中通過超級終端獲取:

[4294669.867000] numchips=1, size=4000000

[4294669.868000] Creating 4 MTD partitions on "bcm7xxx-nand.0":

[4294669.869000] 0x0000000000000000-0x0000000004000000 :"complete"

[4294669.873000] 0x0000000000000000-0x0000000000040000 :"loader" ……………………………………partition 1

[4294669.874000] 0x0000000000040000-0 x 0 0 0 0 0 0 0 0 0 0 4 0 0 0 0 0 : " b o o t p a r t i t i o n "……………………………………partition 2

[4294669.875000] 0x0000000000400000-0 x 0 0 0 0 0 0 0 0 0 4 0 0 0 0 0 0 : " r o o t p a r t i t i o n "……………………………………partition 3

如果制作過DM800 se機器的固件(IMG),就知道IMG是由第二引導系統(secondstage,main.bin.gz)、啟動(boot.jffs2)、根系統(root.jffs2)三個部分組成,圖2所示的是《山水評測室》制作的DM800se G3-iCVS8#84B打造版固件的內部包,對應于上述的三個分區。

DM800 se NAND FLASH芯片壞塊檢測

對于DM800 se機器NAND FLASH芯片壞塊檢查,可以安裝FLASH芯片檢查插件檢查出壞塊、空塊、填充塊等數量(圖3)。在FLASH芯片檢查插件主界面,提供了mtd0整片、mtd1(secondstage loader)、mtd2(boot)、mtd3(root)四項檢查內容(圖4)。

檢查前,首先了解各個字符代碼的注釋:每一個壞塊用一個“B”表示,每一個空塊用一個“.”表示,每一個部分使用塊用一個“-”表示,每一個全部使用塊用一個“=”表示,具體如圖5所示。

下面,我們對采用DM800 se G3-iCVS8#84B打造版IMG的NAND FLASH芯片進行檢查。

1. mtd0整片檢查

執行mtd0檢查整片,如圖6所示。

從圖中可以看出:

(1)一個典型的NAND FLASH都是由4096塊(Block)組成,HY27U518S2CTR芯片每塊大小是16384bytes(即16kB),容量合計:16384×4096=67108864(bytes),也就是67108864÷1024÷1024=64(MB)

《山水評測室》提示:

空閑區域并非真的“空閑”,它在物理上與其它頁并沒有區別。ECC、耗損均衡(Wear Leveling)、其它軟件開銷等很多額外的功能要依托于這部分空間來實現。換一句話說:對于一個頁,0~511 bytes為主存儲區,即通常所說的用戶可設定地址區,用來存儲數據;512~527共16 bytes為擴展存儲區,用來存儲頁的信息。擴展區的16字節用于描述主存儲區的512字節。而對于壞塊,也僅僅是將這16字節的第6字節設置為不等于0xff,來標示壞塊。

2. mtd1引導系統檢查

執行mtd1檢查,如圖7所示。可以看出分配了16個塊給第二引導系統(secondstage),分配容量為16×16=256(kB),即0.25MB,其中未使用5個塊,已全部使用11個塊,容量為16×11=176(kB),和制作的main. bin.gz(即secondstage84b.bin)容量176456÷024=175.25(kB)完全符合。

3. mtd2啟動系統檢查

執行mtd2檢查,如圖8所示。可以看出分配了240個塊給啟動系統(boot),分配容量容量為240×16=3840kB,即3.75MB,其中已全部使用145個塊,已部分使用1個塊,容量為16×145.5=2328(kB),和制作的boot.jffs2容量2382988÷024=2327.1(kB)完全符合。

4. mtd3根系統檢查

執行mtd3檢查,如圖9所示。可以看出分配了3840個塊給根系統(root),分配容量為3840×16=61440(kB),即60MB,具體固件使用容量不再分析了。

5. 壞塊檢查

我們收到一個用戶的故障DM800 se機器,反映不能安裝某些插件,運行不穩定。我們刷寫同樣的56MB容量的DM800 se G3-iCVS8#84B打造版固件,經過DCC-E2的【Memory Info】選項檢查,故障機(圖10a)的和《山水評測室》全新的打造版機器(圖10b)的ROOT占用率分別為92%、89%。

具體檢查對比如圖11~圖16所示,其中(a)圖為故障機界面,(b)圖為正常機界面,可見故障機有很多壞塊,而和全新打造版沒有一個壞塊(注:FLASH芯片末尾壞塊是無需作統計的)。

圖中的第257塊到第4096塊分配給根系統(root),經統計,故障機一共顯示8+31+10+44+14=107壞塊,占用容量為107×16÷1024=1.7(MB),壞塊占用率為1.7÷60=2.8%,因此故障機FLASH的root占用率=89%(固件空間占用率)+2.8%(壞塊空間占用率),即顯示已占用92%。

分區壞塊導致DM800 se無法刷機的解決方法

1. 由于分區壞塊導致無法刷機

當采用Web網頁RJ-45網口刷寫時,出現如圖17所示的“too much data (or bad sectors) in ……”提示,表示分區3(partition 3)有壞扇區。

當采用DreamUp軟件USB虛擬串口在刷寫時,如果DreamUp軟件【Log】日志區域里顯示類似如下提示:

Log: +++ 006 verify failed, at 0003c000: e0. Block will be marked as bad.

Flashing failed (!!! 005 too much data(or bad sectors) in partition 1 (end: 00040000, pos: 00040000)), box will be unusable now!!

其意是:FLASH芯片分區1(partition 1)有太多的壞扇區,無法刷寫。這些都是由于NAND FLASH芯片壞塊引起的,因為壞了的塊是無法擦除和寫人數據的。

2. 刷機方法

對于NAND FLASH芯片壞塊引起的刷機,如果還是想采用Web網頁進行刷寫,我們可以先進入機器的BIOS進行設置一下。

在其中的Misc(雜項)設置界面中,顯示DM800 se機器的一些雜項設置,如圖18所示。

其中的【Flash Sector Recovery】(閃存扇區恢復)選項,默認為禁用狀態,當遇到因壞扇區而無法刷寫軟件時,可以啟用該選項來解決。有時機器無法啟動,也可以啟用該選項試一試。

如果采用DreamUp軟件刷機,在刷寫前,先點擊DreamUp軟件菜單欄的【Extras】(附加)功能,勾選“recover bad sectors”(恢復壞扇區)功能,如圖19所示,再重新刷寫一次就可解決。

所謂“恢復壞扇區”,實際上就是使用相同的地址可以屏蔽掉壞了的塊,而指針指向好塊,也就是地址重映射,跳過壞塊。

DM800 se NAND FLASH芯片更換

對于Dreambox高清機來講,NAND FLASH芯片產生壞塊的原因有多種,主要有以下一些因素:① NAND FLASH芯片質量差,壽命短,一些機器甚至采用二手的舊芯;②不正確的機器操作,如不正確的開關機,頻繁地刷寫有問題的固件,導致NAND FLASH芯片一些扇區或塊的過分磨損、出現壞塊;③芯片自然老化、接近生命周期規定的讀寫次數。

對于NAND FLASH芯片出現少量的壞塊,用戶不必擔心,因為DM800機器驅動在讀寫NAND FLASH芯片時,通常檢測壞塊,同時還在NAND驅動中加入壞塊管理的功能,使得機器完全能夠正常工作。

不過NAND FLASH芯片過多的壞塊,除了由此引發的數據丟失而工作不正常外,還會導致剩余容量減小,機器不能正常安裝一些稍大容量的插件。一般機器運行時,ROOT占用率不能超過93%,即FLASH芯片剩余容量不低于4MB,否則,機器運行可能不穩定,易死機。對于FLASH芯片剩余容量,可以在【藍色面板】下進入山水插件服務器,從下載頁面左上角查看,如圖20所示。

壞塊過多的NAND FLASH芯片建議更換,找到機器主板的NAND FLASH芯片(U703),用熱風槍將它拆下(圖21),更換一片全新的、帶有DM800 se機器底層驅動的NAND FLASH芯片,更換完成后,需要重新刷寫IMG。

主站蜘蛛池模板: 亚洲愉拍一区二区精品| 超碰91免费人妻| 国内精品手机在线观看视频| 亚洲精品无码高潮喷水A| 亚洲第一极品精品无码| 亚洲精品福利视频| 伊伊人成亚洲综合人网7777| 99视频免费观看| 精品人妻AV区| 性色一区| 孕妇高潮太爽了在线观看免费| 91探花在线观看国产最新| 国产欧美性爱网| av在线无码浏览| 无码国产伊人| 福利一区三区| 欧美亚洲综合免费精品高清在线观看| 99热线精品大全在线观看| 亚洲熟妇AV日韩熟妇在线| 国产青青草视频| 高清码无在线看| 欧美在线伊人| 欧美国产综合视频| 欧美一级特黄aaaaaa在线看片| 国产高颜值露脸在线观看| 久久国产精品电影| 波多野结衣在线一区二区| 国产日本欧美亚洲精品视| 国产精品福利在线观看无码卡| 国产91特黄特色A级毛片| 成人无码一区二区三区视频在线观看| 一级成人a做片免费| 一级毛片网| 久久亚洲天堂| 国产精品九九视频| 麻豆精品在线视频| 国产精品不卡永久免费| 在线国产你懂的| a色毛片免费视频| 午夜a视频| 色哟哟精品无码网站在线播放视频| 青青青伊人色综合久久| 中文字幕亚洲另类天堂| 欧美一区二区三区香蕉视| 中文无码精品A∨在线观看不卡 | 欧美日韩中文国产| 熟女日韩精品2区| 国产免费a级片| 999福利激情视频| 秋霞一区二区三区| 91亚洲视频下载| 色视频久久| 国产凹凸一区在线观看视频| 国产精品一区不卡| 国产微拍一区| 国产成人成人一区二区| 精品国产自在现线看久久| 国产人成午夜免费看| 国产精品视频免费网站| h网站在线播放| 成人自拍视频在线观看| 久久久久人妻一区精品色奶水| 亚洲国产黄色| 欧美另类第一页| 日韩视频福利| 996免费视频国产在线播放| 中文无码精品A∨在线观看不卡| 欧美日韩亚洲国产主播第一区| 久草国产在线观看| 成人福利一区二区视频在线| 日韩毛片免费| 一级做a爰片久久毛片毛片| 国产国拍精品视频免费看 | 久久久久国产一级毛片高清板| 日韩在线播放中文字幕| 国产超薄肉色丝袜网站| 国产精品私拍99pans大尺度| 亚洲精品视频在线观看视频| 91久久偷偷做嫩草影院电| 国产福利观看| 精品伊人久久久久7777人| 国产福利观看|