亚洲免费av电影一区二区三区,日韩爱爱视频,51精品视频一区二区三区,91视频爱爱,日韩欧美在线播放视频,中文字幕少妇AV,亚洲电影中文字幕,久久久久亚洲av成人网址,久久综合视频网站,国产在线不卡免费播放

        ?

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

        2014-04-29 15:57:19
        衛(wèi)星電視與寬帶多媒體 2014年2期
        關(guān)鍵詞:占用率固件扇區(qū)

        NAND FLASH壞塊處理機(jī)制

        大家都知道,機(jī)械硬盤會(huì)產(chǎn)生壞道,F(xiàn)LASH芯片也會(huì)這樣,一般我們稱此為“壞塊(Bad Block)”。在NAND FLASH中,一個(gè)塊中含有1個(gè)或多個(gè)位是壞的,就稱其為壞塊。

        產(chǎn)生壞塊的原因有兩種:

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

        (2)使用過程中產(chǎn)生的壞塊,稱作Worn-out bad block(破舊的壞塊)。由于使用過程時(shí)間長了,在擦除塊時(shí)出錯(cuò),說明此塊壞了,在程序運(yùn)行過程中發(fā)現(xiàn),并且標(biāo)記成壞塊。

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

        在L i n u x內(nèi)核M T D(M e m o r y Technology Device,內(nèi)存技術(shù)設(shè)備)架構(gòu)和Uboot中的NAND FLASH驅(qū)動(dòng),在加載完驅(qū)動(dòng)后,都會(huì)主動(dòng)掃描壞塊,建立必要的BBT,以備后面壞塊管理所使用。下面是DM800 se機(jī)器在系統(tǒng)啟動(dòng)過程中,通過超級(jí)終端獲取的一段進(jìn)程信息,可以看出執(zhí)行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芯片分區(qū)

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

        HY27U518S2CTR芯片劃分為三個(gè)分區(qū):第1分區(qū)(partition 1)為引導(dǎo)裝載程序(loader)、第2分區(qū)(partition 2)為內(nèi)核啟動(dòng)系統(tǒng)(boot)、第3分區(qū)(partition 3)為根文件系統(tǒng)(root),分配容量分別為:0.25MB、3.75MB、60MB。FLASH分區(qū)地址信息可以在系統(tǒng)啟動(dòng)過程中通過超級(jí)終端獲?。?/p>

        [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機(jī)器的固件(IMG),就知道IMG是由第二引導(dǎo)系統(tǒng)(secondstage,main.bin.gz)、啟動(dòng)(boot.jffs2)、根系統(tǒng)(root.jffs2)三個(gè)部分組成,圖2所示的是《山水評(píng)測室》制作的DM800se G3-iCVS8#84B打造版固件的內(nèi)部包,對(duì)應(yīng)于上述的三個(gè)分區(qū)。

        DM800 se NAND FLASH芯片壞塊檢測

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

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

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

        1. mtd0整片檢查

        執(zhí)行mtd0檢查整片,如圖6所示。

        從圖中可以看出:

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

        《山水評(píng)測室》提示:

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

        2. mtd1引導(dǎo)系統(tǒng)檢查

        執(zhí)行mtd1檢查,如圖7所示??梢钥闯龇峙淞?6個(gè)塊給第二引導(dǎo)系統(tǒng)(secondstage),分配容量為16×16=256(kB),即0.25MB,其中未使用5個(gè)塊,已全部使用11個(gè)塊,容量為16×11=176(kB),和制作的main. bin.gz(即secondstage84b.bin)容量176456÷024=175.25(kB)完全符合。

        3. mtd2啟動(dòng)系統(tǒng)檢查

        執(zhí)行mtd2檢查,如圖8所示??梢钥闯龇峙淞?40個(gè)塊給啟動(dòng)系統(tǒng)(boot),分配容量容量為240×16=3840kB,即3.75MB,其中已全部使用145個(gè)塊,已部分使用1個(gè)塊,容量為16×145.5=2328(kB),和制作的boot.jffs2容量2382988÷024=2327.1(kB)完全符合。

        4. mtd3根系統(tǒng)檢查

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

        5. 壞塊檢查

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

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

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

        分區(qū)壞塊導(dǎo)致DM800 se無法刷機(jī)的解決方法

        1. 由于分區(qū)壞塊導(dǎo)致無法刷機(jī)

        當(dāng)采用Web網(wǎng)頁RJ-45網(wǎng)口刷寫時(shí),出現(xiàn)如圖17所示的“too much data (or bad sectors) in ……”提示,表示分區(qū)3(partition 3)有壞扇區(qū)。

        當(dāng)采用DreamUp軟件USB虛擬串口在刷寫時(shí),如果DreamUp軟件【Log】日志區(qū)域里顯示類似如下提示:

        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芯片分區(qū)1(partition 1)有太多的壞扇區(qū),無法刷寫。這些都是由于NAND FLASH芯片壞塊引起的,因?yàn)閴牧说膲K是無法擦除和寫人數(shù)據(jù)的。

        2. 刷機(jī)方法

        對(duì)于NAND FLASH芯片壞塊引起的刷機(jī),如果還是想采用Web網(wǎng)頁進(jìn)行刷寫,我們可以先進(jìn)入機(jī)器的BIOS進(jìn)行設(shè)置一下。

        在其中的Misc(雜項(xiàng))設(shè)置界面中,顯示DM800 se機(jī)器的一些雜項(xiàng)設(shè)置,如圖18所示。

        其中的【Flash Sector Recovery】(閃存扇區(qū)恢復(fù))選項(xiàng),默認(rèn)為禁用狀態(tài),當(dāng)遇到因壞扇區(qū)而無法刷寫軟件時(shí),可以啟用該選項(xiàng)來解決。有時(shí)機(jī)器無法啟動(dòng),也可以啟用該選項(xiàng)試一試。

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

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

        DM800 se NAND FLASH芯片更換

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

        對(duì)于NAND FLASH芯片出現(xiàn)少量的壞塊,用戶不必?fù)?dān)心,因?yàn)镈M800機(jī)器驅(qū)動(dòng)在讀寫NAND FLASH芯片時(shí),通常檢測壞塊,同時(shí)還在NAND驅(qū)動(dòng)中加入壞塊管理的功能,使得機(jī)器完全能夠正常工作。

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

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

        猜你喜歡
        占用率固件扇區(qū)
        分階段調(diào)整增加扇區(qū)通行能力策略
        南北橋(2022年2期)2022-05-31 04:28:07
        降低CE設(shè)備子接口占用率的研究與應(yīng)用
        魅力中國(2019年6期)2019-07-21 07:12:10
        U盤故障排除經(jīng)驗(yàn)談
        基于貝葉斯估計(jì)的短時(shí)空域扇區(qū)交通流量預(yù)測
        基于固件的遠(yuǎn)程身份認(rèn)證
        重建分區(qū)表與FAT32_DBR研究與實(shí)現(xiàn)
        基于排隊(duì)論的區(qū)域路內(nèi)停車最優(yōu)泊位占用率研究
        提取ROM固件中的APP
        電腦愛好者(2015年7期)2015-04-09 08:54:02
        一種通過USB接口的可靠固件升級(jí)技術(shù)
        奧林巴斯XZ—2新固件升級(jí)
        中國攝影(2014年1期)2014-02-24 01:50:23
        亚洲中文字幕国产综合| 一区二区av日韩免费| 草莓视频中文字幕人妻系列| 91精品综合久久久久m3u8| 中文字幕一二区中文字幕| 亚洲自偷自拍另类第一页| 国产自拍成人在线免费视频| 国内自拍视频一区二区三区| av中文字幕在线资源网| 亚洲国产人成综合网站| 久久精品熟女亚洲av麻| 国产精品无码无卡无需播放器| 亚洲国产精品va在线看黑人 | 日本免费视频一区二区三区| 一区二区视频中文字幕| 久久精品国产久精国产爱| 国产精品美女久久久久av福利| 国产激情久久久久影院老熟女免费 | 那有一级内射黄片可以免费看| 亚洲熟女精品中文字幕| 97在线观看视频| 装睡被陌生人摸出水好爽| 日韩AV无码免费二三区| 免费国产h视频在线观看86| 一区二区三区国产精品| 日本一区二区三区视频免费在线| 亚洲av永久无码精品一福利| 西西大胆午夜人体视频| 日韩精品人妻系列无码专区免费| 国产欧美亚洲另类第一页| 激情都市亚洲一区二区| 日韩欧美中文字幕公布| 久久99精品久久久久久9蜜桃| 久久久久久久久888| 九九精品无码专区免费| 国产杨幂AV在线播放| 91羞射短视频在线观看 | 久久久久久久久国内精品影视| 亚洲捆绑女优一区二区三区| 欧美大屁股xxxx高跟欧美黑人| 欧美自拍区|