欧美在线观看视频网站,亚洲熟妇色自偷自拍另类,啪啪伊人网,中文字幕第13亚洲另类,中文成人久久久久影院免费观看 ,精品人妻人人做人人爽,亚洲a视频

一種TF卡片內Flash的糾錯方法與流程

文檔序號:11729250閱讀:1366來源:國知局
一種TF卡片內Flash的糾錯方法與流程

本發(fā)明涉及存儲技術領域,尤其涉及一種tf卡片內flash的糾錯方法。



背景技術:

便攜式移動終端的應用滲透到了人們工作生活的每個角落,tf卡以其體積小、存儲能力強大并且采用高效的sd接口傳輸,在便攜設備中獲得良好的推廣和長足的發(fā)展?,F(xiàn)今,tf卡形態(tài)的產(chǎn)品已經(jīng)不僅適用于存儲領域,其在藍牙、無線通信及密碼安全領域也占據(jù)一席之地。對于支持熱插拔的tf卡,啟動時間越短則提供給用戶更好的體驗。當前多數(shù)tf卡采用掛接在spi總線的片外flash,這種flash不支持cpu直接訪問,所以tf卡上電后需要cpu通過spi接口將片外flash中的代碼讀取到ram,在ram中執(zhí)行代碼。受spi總線及片外flash的性能限制,讀取片外flash的速率相比于片內flash會有明顯下降,所以部分用戶選擇片內flash作為程序存儲和運行空間。由于片內flash對芯片生產(chǎn)工藝會有比較高的要求,所以片內flash容易出現(xiàn)故障,其中一種故障類型為:隨著擦寫次數(shù)的增加,flash內部存儲單元出現(xiàn)電平翻轉錯誤的概率急劇上升,直接導致程序運行出錯,造成tf卡故障甚至無法使用。該類問題在芯片出廠時的出現(xiàn)概率較低,通常在芯片投入使用后隨著flash擦寫次數(shù)的增加才會逐步出現(xiàn),導致tf卡使用壽命降低。

對于上述故障,通常采用糾錯或者備份的方式減輕其對整個tf卡系統(tǒng)的危害。糾錯方式是指事先采用糾錯算法(常見ecc算法)處理flash中存儲的有效數(shù)據(jù)并生成糾錯碼,在芯片上電后立即調用糾錯算法處理flash中存儲的有效數(shù)據(jù),對出現(xiàn)電平翻轉的存儲單元及時處理,降低flash出錯的概率。備份方式非常直觀,即在flash開辟一塊與應用程序空間同樣大的區(qū)域,對應用程序作完整備份,上電后即對比兩片區(qū)域,發(fā)現(xiàn)錯誤后則將備份區(qū)域的數(shù)據(jù)覆蓋到原始區(qū)域。

但是,這兩種方式都存在一些問題:

糾錯方式的問題在于糾錯效果和時間性能的沖突,ecc算法只能糾正1bit錯誤,對于2個bit以上的錯誤則糾錯失敗,要想糾錯效果更上一層樓,需要大大增加算法的復雜度,勢必會降低時間性能。

備份方式糾錯效果好,方法簡單高效,但對片內flash的容量要求較高,需要至少2倍于應用程序的空間,flash容量增加直接導致芯片的體積和功耗增大。對于主要應用于移動便攜設備的tf卡,體積和功耗是非常重要的因素,因此備份方式并不十分適用于tf卡的片內flash故障。



技術實現(xiàn)要素:

鑒于上述的分析,本發(fā)明旨在提供一種tf卡片內flash的糾錯方法,用以解決現(xiàn)有tf卡片內flash隨著擦寫次數(shù)的增加出現(xiàn)電平翻轉故障的問題。

本發(fā)明的目的主要是通過以下技術方案實現(xiàn)的:

一種tf卡片內flash的糾錯方法,包括以下步驟:

步驟s1:tf卡上電后,進行軟硬件初始化;

步驟s2:等待上位機的握手信號,若在預設時間內接收到正確的握手信號,執(zhí)行步驟s3;若等待握手信號超時,執(zhí)行步驟s4;

步驟s3:下載應用程序;

步驟s4:對應用程序進行檢錯和糾錯,啟動應用程序。

所述步驟s3包括以下步驟:

步驟s301:接收上位機的應用程序;

步驟s302:將從上位機接收的應用程序寫入片內flash的應用程序區(qū);

步驟s303:將從上位機接收的應用程序寫入片外flash的應用程序備份區(qū);

步驟s304:計算步驟s303應用程序數(shù)據(jù)的crc校驗值作為標準校驗值寫入片外flash的應用程序校驗碼區(qū)。

從上位機每接收到256字節(jié)數(shù)據(jù),執(zhí)行步驟s302,不足256字節(jié)數(shù)據(jù)按實際長度處理。

片內flash的起始地址存放糾錯代碼,后續(xù)存放應用程序;片外flash的起始地址存放應用程序的標準校驗值,后續(xù)存放應用程序的備份。

所述步驟s4包括以下步驟:

步驟s401:從片外flash的應用程序校驗碼區(qū)讀取全部的標準校驗值至ram中;

步驟s402:對片內flash中的應用程序空間存儲的有效數(shù)據(jù)求取crc校驗值;

步驟s403:如果求取的crc校驗值與從片外flash讀取至ram中的標準校驗值存在偏差,則對應用程序進行糾錯;

步驟s404:糾錯完成后,關閉片外flash的時鐘和電源,跳轉到應用程序的起始地址啟動應用程序。

片外flash無數(shù)據(jù)讀寫時關閉其獨立電源時鐘,只在使用時開啟。

所述步驟s402中,對于片內flash中的應用程序空間存儲的有效數(shù)據(jù),每256字節(jié)求取一個8bit的crc校驗值,不足256字節(jié)按實際長度處理。

步驟s403所述的對應用程序進行糾錯,從片外flash的應用程序備份區(qū)讀取備份數(shù)據(jù),并將備份數(shù)據(jù)寫入到片內flash中覆蓋原始數(shù)據(jù)。

應用程序運行過程中,當終端設備訪問tf卡時,tf卡自動從低功耗模式恢復到正常模式,糾錯代碼對應用程序進行檢錯和糾錯,糾錯完成后繼續(xù)運行應用程序。

本發(fā)明有益效果如下:

本發(fā)明通過在tf卡的硬件結構中增加掛接在主控芯片上的片外flash,配合crc校驗與備份結合的軟件機制,提供了一種tf卡片內flash的糾錯方法,錯誤的檢出率高,糾錯能力強,大大提高了片內flash的可靠性;程序啟動前的糾錯工作采用首先檢錯,檢出錯誤后再啟用備份數(shù)據(jù)的方式,在一定程度上提高了啟動性能;采用片外flash擴展存儲空間,無數(shù)據(jù)讀寫時可獨立關閉其電源時鐘,降低功耗。

本發(fā)明的其他特征和優(yōu)點將在隨后的說明書中闡述,并且,部分的從說明書中變得顯而易見,或者通過實施本發(fā)明而了解。本發(fā)明的目的和其他優(yōu)點可通過在所寫的說明書、權利要求書、以及附圖中所特別指出的結構來實現(xiàn)和獲得。

附圖說明

附圖僅用于示出具體實施例的目的,而并不認為是對本發(fā)明的限制,在整個附圖中,相同的參考符號表示相同的部件。

圖1為tf卡內部結構示意圖;

圖2為flash的存儲空間分配示意圖;

圖3為tf卡片內flash的糾錯方法流程圖。

具體實施方式

下面結合附圖來具體描述本發(fā)明的優(yōu)選實施例,其中,附圖構成本申請一部分,并與本發(fā)明的實施例一起用于闡釋本發(fā)明的原理。

本發(fā)明實施例提供了一種tf卡片內flash的糾錯方法,包括以下步驟:

步驟s1:tf卡上電后,進行軟硬件初始化。

如圖1所示,所述tf卡包括主控芯片、片外flash、spi總線和nandflash;

所述主控芯片包括sd接口、時鐘控制模塊和片內flash;

具體地,所述軟硬件初始化包括初始化時鐘、sd接口、片內flash和片外flash。

步驟s2:等待上位機的握手信號,若在預設時間內接收到正確的握手信號,執(zhí)行步驟s3;若等待握手信號超時,執(zhí)行步驟s4。

優(yōu)選地,采用握手超時機制區(qū)分下載應用程序和啟動應用程序。

步驟s3:下載應用程序。

具體地,如圖3所示,接收上位機的應用程序,每接收到256字節(jié)數(shù)據(jù),先將其寫入片內flash的應用程序區(qū),然后寫入片外flash的應用程序備份區(qū),最后計算256字節(jié)數(shù)據(jù)的crc校驗值作為標準校驗值并寫入片外flash的應用程序校驗碼區(qū)(不足256字節(jié)數(shù)據(jù)按實際長度處理);

圖2為片內flash和片外flash的存儲空間分配示意圖,片內flash的起始地址存放糾錯代碼,后續(xù)存放應用程序,pc指針可以在糾錯程序和應用程序之間相互跳轉;片外flash的起始地址存放應用程序的標準校驗值,后續(xù)存放應用程序的備份;

所述糾錯代碼同時具備下載應用程序及啟動應用程序的功能。

步驟s4:對應用程序進行檢錯和糾錯,啟動應用程序。

優(yōu)選地,程序啟動前首先進行檢錯,檢出錯誤后再啟用備份數(shù)據(jù);檢錯動作只需要從片外flash中獲取全部的標準校驗值,只有在校驗出錯時才會從片外flash中讀取應用程序備份區(qū)的備份數(shù)據(jù)寫入片內flash覆蓋原始數(shù)據(jù),在一定程度上提高了應用程序的啟動性能;

采用片外flash擴展存儲空間,相比于擴展片內flash存儲空間的方式,在擴展空間使用頻率較低的情況下,片外flash無數(shù)據(jù)讀寫時可關閉其獨立電源時鐘,而只在使用時開啟,以降低功耗。

具體地,所述步驟s4包括以下步驟:

步驟s401:從片外flash的應用程序校驗碼區(qū)讀取全部的標準校驗值至ram中;

步驟s402:對片內flash中的應用程序空間存儲的有效數(shù)據(jù)求取crc校驗值;

具體地,對于片內flash中的應用程序空間存儲的有效數(shù)據(jù),每256字節(jié)求取一個8bit的crc校驗值(不足256字節(jié)按實際長度處理);

步驟s403:如果求取的crc校驗值與從片外flash讀取至ram中的標準校驗值存在偏差,則對應用程序進行糾錯;

具體地,如圖3所示,如果求取的crc校驗值與從片外flash讀取至ram中的標準校驗值存在偏差,則認為該區(qū)間由于存儲單元電平跳變而導致數(shù)據(jù)出錯,則從片外flash的應用程序備份區(qū)的相應位置讀取備份數(shù)據(jù),并將備份數(shù)據(jù)寫入到片內flash中覆蓋原始數(shù)據(jù);

步驟s403:糾錯完成后,關閉片外flash的時鐘和電源,跳轉到應用程序的起始地址啟動應用程序。

優(yōu)選地,糾錯代碼在tf卡上電時對片內flash內的應用程序進行檢錯和糾錯,但在應用程序實時運行過程中片內flash區(qū)域也隨時可能出錯,所以tf卡每次從低功耗模式恢復到正常模式時,糾錯代碼均會對應用程序進行檢錯和糾錯;

具體地,當終端設備沒有訪問tf卡的需求時,tf卡會自動進入低功耗模式,且不再執(zhí)行任何外設訪問操作;當終端設備訪問tf卡時,tf卡自動從低功耗模式恢復到正常模式,然后糾錯代碼對應用程序進行檢錯和糾錯,糾錯完成后繼續(xù)運行應用程序。在tf卡由低功耗模式恢復正常模式時對應用程序進行檢錯和糾錯,選擇了合適的糾錯時機,提高了糾錯頻率,進一步提升了片內flash存儲的可靠性。

綜上所述,本發(fā)明實施例提供了一種tf卡片內flash的糾錯方法,在tf卡主控芯片外掛接flash,配合crc校驗與備份結合的軟件機制,錯誤的檢出率高,糾錯能力強,大大提高了片內flash的可靠性;程序啟動前的糾錯工作采用首先檢錯,檢出錯誤后再啟用備份數(shù)據(jù)的方式,在一定程度上提高了啟動性能;采用片外flash擴展存儲空間,無數(shù)據(jù)讀寫時可獨立關閉其電源時鐘,降低功耗。

本領域技術人員可以理解,實現(xiàn)上述實施例方法的全部或部分流程,可以通過計算機程序來指令相關的硬件來完成,所述的程序可存儲于計算機可讀存儲介質中。其中,所述計算機可讀存儲介質為磁盤、光盤、只讀存儲記憶體或隨機存儲記憶體等。

以上所述,僅為本發(fā)明較佳的具體實施方式,但本發(fā)明的保護范圍并不局限于此,任何熟悉本技術領域的技術人員在本發(fā)明揭露的技術范圍內,可輕易想到的變化或替換,都應涵蓋在本發(fā)明的保護范圍之內。

當前第1頁1 2 
網(wǎng)友詢問留言 已有0條留言
  • 還沒有人留言評論。精彩留言會獲得點贊!
1
治多县| 共和县| 兴仁县| 曲松县| 安图县| 仁化县| 拉孜县| 商河县| 长汀县| 达孜县| 邯郸市| 吉木萨尔县| 淮滨县| 玉树县| 台南县| 高尔夫| 平南县| 印江| 定结县| 招远市| 宁蒗| 沙田区| 丰城市| 三原县| 武城县| 松桃| 镇江市| 临邑县| 荃湾区| 福海县| 台北县| 澄迈县| 深水埗区| 沙湾县| 日土县| 开鲁县| 大理市| 呈贡县| 车险| 鹤庆县| 洛隆县|