亚洲成年人黄色一级片,日本香港三级亚洲三级,黄色成人小视频,国产青草视频,国产一区二区久久精品,91在线免费公开视频,成年轻人网站色直接看

在稅控收款機(jī)中使用閃存時(shí)處理壞塊的方法

文檔序號(hào):75090閱讀:410來(lái)源:國(guó)知局
專利名稱:在稅控收款機(jī)中使用閃存時(shí)處理壞塊的方法
技術(shù)領(lǐng)域
本發(fā)明涉及一種在單片機(jī)系統(tǒng)中使用閃存的操作方法,尤其涉及一種在稅控收款機(jī)中使用閃存時(shí)處理壞塊的方法。
背景技術(shù)
NANDFLASH由于其儲(chǔ)存容量大,擦、寫速度快,在數(shù)據(jù)儲(chǔ)存系統(tǒng)中正在被大量使用,由于其接口類似于硬盤,正在向代替硬盤方向發(fā)展,目前的電子盤,如U盤,DOC(disk on chip),智能卡等都是使用NANDFLASH的。
目前,基于8位單片機(jī)的系統(tǒng),很少有用到NANDFLASH做數(shù)據(jù)儲(chǔ)存的。而基于32位ARM內(nèi)核,LINUX平臺(tái)的系統(tǒng),使用的內(nèi)存至少有幾兆甚至于幾十兆,程序也在其中運(yùn)行,主頻在70兆以上,跑任何算法都游刃有余。
其算法大概是這樣的在第0塊建一個(gè)2000*2的表,從第一塊開始留出35個(gè)塊作備用塊,表指針指向?qū)嶋H的物理塊,但有壞塊發(fā)生時(shí),需將第0塊的16K字節(jié)讀回RAM中,在RAM中對(duì)壞指針進(jìn)行改寫后,擦除第0塊,再將16K字節(jié)寫回第0塊。
而8位單片機(jī)系統(tǒng),由于程序量的限制,內(nèi)存容量的限制,頻率的限制而不能得到廣泛的應(yīng)用。而且NANDFLASH由于壞塊的處理問(wèn)題不能很好的應(yīng)用在8位單片機(jī)系統(tǒng)上。

發(fā)明內(nèi)容為解決上述問(wèn)題本發(fā)明提供一種在稅控收款機(jī)中使用閃存時(shí)處理壞塊的方法,以實(shí)現(xiàn)對(duì)NANDFLASH進(jìn)行壞塊管理。
本發(fā)明提供的技術(shù)方案為、一種在稅控收款機(jī)中使用閃存時(shí)處理壞塊的方法,在閃存處理過(guò)程中在首扇區(qū)建立一邏輯塊與物理塊的映射表,一旦有壞塊發(fā)生時(shí),新的映射關(guān)系可以直接在首扇區(qū)中追加形成,當(dāng)編程邏輯塊X的第P頁(yè)失敗或擦除某邏輯塊Y不成功時(shí),先作壞塊標(biāo)識(shí),再找出最大備用塊號(hào)BLK及其表地址ADR,編程或擦除BLK+1直到成功,再將新物理塊地址填入映射表中。
上述技術(shù)方案的進(jìn)一步改進(jìn)在于在編程邏輯塊X的第P頁(yè)失敗時(shí),還包括將前P-1頁(yè)數(shù)據(jù)拷貝到該塊后,把該塊號(hào)寫入ADR+2處的步驟,還包括找出X*8所在頁(yè),從左到右開始算,在最先出現(xiàn)FF的位置處記錄下BLK值的步驟。
上述技術(shù)方案的進(jìn)一步改進(jìn)在于在擦除某邏輯塊Y不成功時(shí)還包括將該塊號(hào)BLK+N寫入ADR+2處的步驟,還包括找出Y*8所在頁(yè),從左到右開始算,在最先出現(xiàn)FF的位置處記錄下BLK+N的值的步驟。
上述技術(shù)方案的進(jìn)一步改進(jìn)在于還包括在數(shù)據(jù)區(qū)某位變通過(guò)ECC進(jìn)行校驗(yàn)并糾正的步驟。
本發(fā)明的有益效果是基于本方法處理的壞塊管理程序,程序量不超過(guò)2K,RAM使用不超過(guò)去30字節(jié)且是可覆蓋的(不包括讀數(shù)據(jù)用到的緩沖區(qū)),不需要做大數(shù)據(jù)量的搬遷工作,簡(jiǎn)單實(shí)用,易于理解和實(shí)現(xiàn),占用代碼量少,運(yùn)行速度快且穩(wěn)定,該方法在稅控收款機(jī)上應(yīng)用,系統(tǒng)切實(shí)可靠。
圖1是本發(fā)明的一個(gè)編程實(shí)施例的流程圖;圖2是本發(fā)明的一個(gè)擦除實(shí)施例的流程圖。
具體實(shí)施方式下面結(jié)合附圖和具體實(shí)施方式
對(duì)本發(fā)明作進(jìn)一步詳述現(xiàn)以一容量32M閃存為例,該閃存共分2048個(gè)塊,每塊又劃分成32頁(yè),每頁(yè)上有512+16B字節(jié),其中前512字節(jié)一般用來(lái)存放數(shù)據(jù),后16B用來(lái)存放校驗(yàn)碼和壞塊標(biāo)志。所以將容量設(shè)計(jì)成共有2000個(gè)邏輯塊,每塊32頁(yè),每頁(yè)512字節(jié),特理塊0存放映射表,最后的47塊為映射備用塊。上述閃存的映射表設(shè)計(jì)如下a.規(guī)則芯片的物理塊地址通過(guò)第0塊中的映射表獲得,如果一片芯片有超過(guò)47塊壞塊,或某對(duì)應(yīng)塊連續(xù)壞了4次且不是同時(shí)壞的,認(rèn)為芯片壞;b.第0塊共有16384B,每個(gè)邏輯塊占用8字節(jié),分別表示其第一,第二,第三,第四備用塊,所以說(shuō)每塊最多只能壞四次;c.下表中,藍(lán)色為映射塊地址(塊0),紅色為該邏輯塊所映射的物理塊;d.邏輯塊3的物理塊為2001(0×7d1),因物理塊3已壞。
e.邏輯塊2000的物理塊為2005(0×7d5),因物理塊2000和物理壞2002先后均已壞。
f.用第0塊的第31頁(yè)的后256B記錄已用備用塊的最大塊號(hào),如在格式化時(shí)有三塊壞塊,則在3F00,3F01的值為07H,D1H(2001);3F02,3F03的值為07H,D2H(2002);3F04,3F05的值為07H,D3H(2003),對(duì)2000后的物理塊不格式化,應(yīng)用中處理(映射后不能操作則丟棄)。
如圖1所示,在編程邏輯塊X的第P頁(yè)失敗時(shí),先進(jìn)行壞塊標(biāo)識(shí),并找出最大備用塊號(hào)BLK及其表地址ADR,編程該塊的第P頁(yè),失敗再將BLK+1直到成功,將前P-1頁(yè)數(shù)據(jù)拷貝到該塊后,把該塊號(hào)寫入ADR+2處。同時(shí)找出X*8所在頁(yè),從左到右開始算,在最先出現(xiàn)FF的位置處記錄下BLK值,如果8個(gè)字節(jié)全為非FF,提示FLASH壞。(因?yàn)閼?yīng)用中是滾動(dòng)儲(chǔ)存了,這種情況實(shí)際應(yīng)用中出現(xiàn)的可能性極低),然后在數(shù)據(jù)區(qū)某位變通過(guò)ECC進(jìn)行校驗(yàn)并糾正。
本發(fā)明另一個(gè)實(shí)施例中,如圖2所示,在擦除某邏輯塊Y不成功時(shí),同樣,先作壞塊標(biāo)識(shí),再找出最大備用塊號(hào)BLK及其表地址ADR,再擦除BLK+1直到成功,將該塊號(hào)BLK+N寫入ADR+2處,同時(shí)找出Y*8所在頁(yè),從左到右開始算,在最先出現(xiàn)FF的位置處記錄下BLK+N的值,如果8個(gè)字節(jié)全為非FF,提示FLASH壞,然后在數(shù)據(jù)區(qū)某位變通過(guò)ECC進(jìn)行校驗(yàn)并糾正。
權(quán)利要求
1.一種在稅控收款機(jī)中使用閃存時(shí)處理壞塊的方法,在閃存處理過(guò)程中在首扇區(qū)建立一邏輯塊與物理塊的映射表,一旦有壞塊發(fā)生時(shí),新的映射關(guān)系可以直接在首扇區(qū)中追加形成,當(dāng)編程邏輯塊X的第P頁(yè)失敗或擦除某邏輯塊Y不成功時(shí),先作壞塊標(biāo)識(shí),再找出最大備用塊號(hào)BLK及其表地址ADR,編程或擦除BLK+1直到成功,再將新物理塊地址填入映射表中。
2.如權(quán)利要求
1所述的在稅控收款機(jī)中使用閃存時(shí)處理壞塊的方法,其特征在于在編程邏輯塊X的第P頁(yè)失敗時(shí),還包括將前P-1頁(yè)數(shù)據(jù)拷貝到該塊后,把該塊號(hào)寫入ADR+2處的步驟。
3.如權(quán)利要求
2所述的在稅控收款機(jī)中使用閃存時(shí)處理壞塊的方法,其特征在于還包括找出X*8所在頁(yè),從左到右開始算,在最先出現(xiàn)FF的位置處記錄下BLK值的步驟。
4.如權(quán)利要求
1所述的在稅控收款機(jī)中使用閃存時(shí)處理壞塊的方法,其特征在于在擦除某邏輯塊Y不成功時(shí)還包括將該塊號(hào)BLK+N寫入ADR+2處的步驟。
5.如權(quán)利要求
4所述的在稅控收款機(jī)中使用閃存時(shí)處理壞塊的方法,其特征在于還包括找出Y*8所在頁(yè),從左到右開始算,在最先出現(xiàn)FF的位置處記錄下BLK+N的值的步驟。
6.如權(quán)利要求
1-5任何一項(xiàng)所述的在稅控收款機(jī)中使用閃存時(shí)處理壞塊的方法,其特征在于還包括在數(shù)據(jù)區(qū)某位變通過(guò)ECC進(jìn)行校驗(yàn)并糾正的步驟。
專利摘要
本發(fā)明涉及一種在稅控收款機(jī)中使用閃存時(shí)處理壞塊的方法,解決了NANDFLASH由于壞塊的處理問(wèn)題不能很好的應(yīng)用在8位單片機(jī)系統(tǒng)上的問(wèn)題,采取的技術(shù)為在閃存處理過(guò)程中,在首扇區(qū)建立一邏輯塊與物理塊的映射表,一旦有壞塊發(fā)生時(shí),新的映射關(guān)系可以直接在首扇區(qū)中追加形成,當(dāng)編程邏輯塊X的第P頁(yè)失敗或擦除某邏輯塊Y不成功時(shí),先作壞塊標(biāo)識(shí),再找出最大備用塊號(hào)BLK及其表地址ADR,編程或擦除BLK+1直到成功,再將新物理塊地址填入映射表中。該方法具有簡(jiǎn)單實(shí)用,易于理解和實(shí)現(xiàn),占用代碼量少,運(yùn)行速度快且穩(wěn)定,該方法在稅控收款機(jī)上應(yīng)用,系統(tǒng)切實(shí)可靠等優(yōu)點(diǎn)。
文檔編號(hào)G06F11/10GK1991788SQ200510121160
公開日2007年7月4日 申請(qǐng)日期2005年12月30日
發(fā)明者李偉民, 程永生, 鄧武陵 申請(qǐng)人:深圳市桑達(dá)實(shí)業(yè)股份有限公司, 深圳桑達(dá)商用機(jī)器有限公司導(dǎo)出引文BiBTeX, EndNote, RefMan
網(wǎng)友詢問(wèn)留言 已有0條留言
  • 還沒(méi)有人留言評(píng)論。精彩留言會(huì)獲得點(diǎn)贊!
1