国产精品1024永久观看,大尺度欧美暖暖视频在线观看,亚洲宅男精品一区在线观看,欧美日韩一区二区三区视频,2021中文字幕在线观看

  • <option id="fbvk0"></option>
    1. <rt id="fbvk0"><tr id="fbvk0"></tr></rt>
      <center id="fbvk0"><optgroup id="fbvk0"></optgroup></center>
      <center id="fbvk0"></center>

      <li id="fbvk0"><abbr id="fbvk0"><dl id="fbvk0"></dl></abbr></li>

      一種flash存儲器的擦寫方法

      文檔序號:6581429閱讀:649來源:國知局
      專利名稱:一種flash存儲器的擦寫方法
      技術(shù)領(lǐng)域
      本發(fā)明涉及存儲介質(zhì),更具體地說,涉及一種FLASH存儲器的擦寫方法。
      技術(shù)背景
      FLASH存儲器是一種在EPROM和EEPROM的制造基礎(chǔ)上發(fā)展起來的一種可擦除、非 易失性存儲元件,具有速度塊、價格便宜的特點,得到了越來越多的應(yīng)用。FLASH和EEPROM 都能斷電保存數(shù)據(jù),F(xiàn)LASH的數(shù)據(jù)擦除是以固定的區(qū)塊為單位進行擦除的,區(qū)塊大小一般為 256KB到20MB,而EEPROM則可以按單個字節(jié)進行擦寫。因此,F(xiàn)LASH的更新的速度比EEPROM 要快,F(xiàn)LASH和EEPROM都有擦寫次數(shù)的限制,但FLASH的擦寫次數(shù)卻只有EEPROM的1/10 左右(在制作工藝等相當(dāng)?shù)那闆r下),如果頻繁地擦寫FLASH存儲器的固定區(qū)域,就會使該 區(qū)域在較短的時間達到使用壽命,從而降低FLASH存儲器的使用壽命,所以在FLASH中保 存頻繁操作的數(shù)據(jù)時一般都采用寫入多次擦除一次的方法,有效彌補了 FLASH擦寫次數(shù)比 EEPROM少的缺點。同等大小,F(xiàn)LASH的存儲容量比EEPROM大,單個字的寫入FLASH比EEPROM 快。FLASH常用來存儲程序和不發(fā)生改變的數(shù)據(jù),EEPROM常用來存儲用戶設(shè)置以及會發(fā)生 改變的數(shù)據(jù),一般情況下,F(xiàn)LASH和EEPROM同時存在,在PCB上占用的空間多、線路設(shè)計相對 復(fù)雜、成本高,因此,并不是對所有的需要保存程序代碼和用戶設(shè)置數(shù)據(jù)的情況都最優(yōu)化。發(fā)明內(nèi)容
      本發(fā)明要解決的技術(shù)問題在于,針對現(xiàn)有技術(shù)的上述缺陷,提供一種對需要保存 程序代碼和用戶設(shè)置數(shù)據(jù)最優(yōu)化的FLASH存儲器擦寫方法。
      本發(fā)明解決其技術(shù)問題所采用的技術(shù)方案是構(gòu)造一種FLASH存儲器擦寫方法, 包括,
      Al.取FLASH存儲器相同容量的分塊NfdSSB^O ^ i < N,;
      Bi.把&等分成11個,編號分別為、,其中,0彡1<隊0彡]_<11,、用來存儲 一數(shù)據(jù)幀,所述數(shù)據(jù)幀包含8倍字節(jié)數(shù);
      Cl. Bi的最后一個數(shù)據(jù)幀所在的為Bi的當(dāng)前塊,記為cu,N個Cu的j各不相 同;
      Dl.判斷Cij的j是否等于M-I,若是,則轉(zhuǎn)El;若否則轉(zhuǎn)Fl;
      El. Bi執(zhí)行擦除,Cij為biQ,轉(zhuǎn)步驟Gl ;
      FLcij為bi(J+1);
      Gl.往Cij內(nèi)寫入數(shù)據(jù)幀;
      Hl.判斷是否結(jié)束,若否,則轉(zhuǎn)步驟Dl。
      在本發(fā)明所述的FLASH存儲器擦寫方法中,所述N為2,分別為B” Bp
      在本發(fā)明所述的FLASH存儲器擦寫方法中,所述M為8。
      在本發(fā)明所述的FLASH存儲器擦寫方法中,在步驟Cl中,Btl的當(dāng)前塊為1 ,B1的 當(dāng)前塊為b
      實施本發(fā)明的FLASH存儲器擦寫方法,具有以下有益效果
      1、用FLASH的N塊來存儲數(shù)據(jù),一是為了防止意外情況下數(shù)據(jù)丟失。例如在擦寫 FLASH時突然斷電,其余各塊的數(shù)據(jù)必然是保存完好,因此不會造成數(shù)據(jù)丟失;二是為了保 證數(shù)據(jù)的完整性,如果在擦寫EEPROM過程中遇到突然斷電,由于EEPROM是按單個字節(jié)擦寫 的,因此不能將所有要改變的數(shù)據(jù)改變,于是失去了數(shù)據(jù)的完整性,而用本發(fā)明的方法,在 擦寫過程中突然斷電就不會破壞數(shù)據(jù)的完整性;
      2、數(shù)據(jù)寫入Bi (0彡i < N)時是錯開寫入,因此Bi (0彡i < N)寫滿的時刻并不一 致,擦除操作也是錯開進行的,這樣避免了 BiO) < i < N)的擦除在同一次寫入中進行而影 響速度;
      3、此方法保留了 FLASH存儲器的單個字節(jié)寫入方法,因此速度要比EEPROM的單個 字節(jié)寫入快;
      基于上述優(yōu)點,在線路設(shè)計時,可以去掉線路中的EEPR0M,既節(jié)省了 PCB的空間, 又節(jié)省了成本,優(yōu)化了所有需要同時保存程序代碼和用戶設(shè)置數(shù)據(jù)的情況。


      下面將結(jié)合附圖及實施例對本發(fā)明作進一步說明,附圖中
      圖1是本發(fā)明FLASH存儲器的擦寫方法的流程圖2A是本發(fā)明FLASH存儲器擦寫方法中數(shù)據(jù)幀被寫入前的FLASH存儲器的示意 圖2B是本發(fā)明FLASH存儲器擦寫方法中第1個數(shù)據(jù)幀被寫入后的FLASH存儲器 的示意圖2C是本發(fā)明FLASH存儲器擦寫方法中第7個數(shù)據(jù)幀被寫入后的FLASH存儲器 的示意圖2D是本發(fā)明FLASH存儲器擦寫方法中第8個數(shù)據(jù)幀被寫入后的FLASH存儲器 的示意圖2E是本發(fā)明FLASH存儲器擦寫方法中第9個數(shù)據(jù)幀被寫入后的FLASH存儲器 的示意圖。
      具體實施方式
      如圖1所示,在本發(fā)明的FLASH存儲器的擦寫方法中,該方法包括以下步驟
      S101.取FLASH存儲器相同容量的分塊N個,記為BiOXi <N),之所以取相等容 量的塊,是因為在下面步驟中錯開寫入數(shù)據(jù)幀時,保證Bi (0 ^ i <N)永遠不會同時寫滿;
      S102.把&等分成1個,編號分別為、(0彡1<隊0彡」<10,、用來存儲一 數(shù)據(jù)幀,所述數(shù)據(jù)幀包含8倍字節(jié)數(shù);
      S103. Bi的最后一個數(shù)據(jù)幀所在的為Bi的當(dāng)前塊,記為Cij,N個Cij的j各不相 同;
      S104.判斷Cij的j是否等于M-I,若是,則轉(zhuǎn)步驟S105 ;若否則轉(zhuǎn)步驟S106 ;
      S105. Bi執(zhí)行擦除,Cij為bi(1,然后轉(zhuǎn)步驟S107 ;
      S106.Cij*bi(j+1);
      S107.往Cij內(nèi)寫入數(shù)據(jù)幀;
      S108.判斷是否結(jié)束,若是,則結(jié)束FLASH存儲器的操作;若否,則轉(zhuǎn)步驟S104。
      圖2A至圖2E是本發(fā)明FLASH存儲器擦寫方法實施例一的示意圖。
      圖2A是本發(fā)明FLASH存儲器擦寫方法中數(shù)據(jù)幀被寫入前的FLASH存儲器的示意 圖,取FLASH存儲器的相等容量的分塊2塊,分別為B。B1,設(shè)容量為64Kbyte,Bi等分成8 塊,記為、(0彡i < 2,0彡j < 8),每個存儲一個數(shù)據(jù)幀,每個數(shù)據(jù)幀為8KBye。
      圖2B是本發(fā)明FLASH存儲器擦寫方法中第1個數(shù)據(jù)幀被寫入后的FLASH存儲器 的示意圖,當(dāng)?shù)谝粋€數(shù)據(jù)幀D1 (大小8Kbyte)到來時,在FLASH存儲器中進行第一次寫入, 將D1寫在b00和bn,即B0, B1錯開寫入。
      圖2C是本發(fā)明FLASH存儲器擦寫方法中第7個數(shù)據(jù)幀被寫入后的FLASH存儲器 的示意圖,當(dāng)數(shù)據(jù)幀D^2《k彡7)到來時,寫入、、1^+1)中(1彡k彡6)。
      圖2D是本發(fā)明FLASH存儲器擦寫方法中第8個數(shù)據(jù)幀被寫入后的FLASH存儲器 的示意圖,當(dāng)數(shù)據(jù)幀D8到來時,開始進行寫入,對于Btl,直接寫入bOT,對于B1,此時判斷b17已 經(jīng)寫入了 D7,即B1已經(jīng)寫滿,因此將B1擦除,再把D8寫入b1Q。
      圖2E是本發(fā)明FLASH存儲器擦寫方法中第9個數(shù)據(jù)幀被寫入后的FLASH存儲器 的示意圖,當(dāng)數(shù)據(jù)幀D9到來時,開始進行寫入,對于B1,直接寫入bn,對于Btl,此時判斷‘已 經(jīng)寫入了 D8,即Btl已經(jīng)寫滿,因此將Btl擦除,再把D9寫入b。。。
      綜合圖2A至圖2E,當(dāng)一個新的數(shù)據(jù)幀到來時,同時寫入Bc^B1,Bi寫滿時再進行擦 除操作,而且數(shù)據(jù)幀在被寫入B。B1時是錯開的,即Bp B1是不同時被寫滿的,因此B。B1的 擦除時刻也不一致,這樣,就可以防止意外情況下數(shù)據(jù)丟失,而且保證了數(shù)據(jù)的完整性。
      以上所述僅為本發(fā)明的優(yōu)選實施例而已,并不用于限制本發(fā)明,對于本領(lǐng)域的技 術(shù)人員來說,本發(fā)明可以有各種更改和變化。凡在本發(fā)明的精神和原則之內(nèi),所作的任何修 改、等同替換、改進等,均應(yīng)包含在本發(fā)明的權(quán)利要求范圍之內(nèi)。
      權(quán)利要求
      1.一種FLASH存儲器擦寫方法,其特征在于,Al.取FLASH存儲器相同容量的分塊N個,記為Bi, 0 ^ i <N; Bi.把&等分成M個,編號分別為,其中,0彡i <N,0< j <M,用來存儲一數(shù) 據(jù)幀,所述數(shù)據(jù)幀包含8倍字節(jié)數(shù);Cl. Bi的最后一個數(shù)據(jù)幀所在的為Bi的當(dāng)前塊,記為cu,N個的j各不相同;Dl.判斷Cij的j是否等于M-I,若是,則轉(zhuǎn)El ;若否則轉(zhuǎn)Fl ;El. Bi執(zhí)行擦除,Cij為biQ,轉(zhuǎn)步驟Gl ;Fl. Cij 為 bi(J+1);Gl.往Cij內(nèi)寫入數(shù)據(jù)幀;Hl.判斷是否結(jié)束,若否,則轉(zhuǎn)步驟D1。
      2.根據(jù)權(quán)利要求1所述的FLASH存儲器擦寫方法,其特征在于,所述N為2,分別為BpB1 ο
      3.根據(jù)權(quán)利要求2所述的FLASH存儲器擦寫方法,其特征在于,所述M為8。
      4.根據(jù)權(quán)利要求3所述的FLASH存儲器擦寫方法,其特征在于,在步驟Cl中,B0的當(dāng) 前塊為b0J,B1的當(dāng)前塊為b1((J+1)%iS或131((」+7)%0。
      全文摘要
      本發(fā)明涉及一種FLASH存儲器的擦寫方法,該方法包括A1.取FLASH存儲器相同容量的分塊N個,記為Bi(0≤i<N);B1.把Bi等分成M個,編號分別為bij(0≤i<N,0≤j<M),bij用來存儲一數(shù)據(jù)幀;C1.Bi的最后一個數(shù)據(jù)幀所在的bij為Bi的當(dāng)前塊,記為cij,N個cij的j各不相同;D1.判斷cij的j是否等于M-1,若是,則轉(zhuǎn)E1;若否則轉(zhuǎn)F1;E1.Bi執(zhí)行擦除,cij為bi0,轉(zhuǎn)步驟G1;F1.cij為bi(j+1);G1.往cij內(nèi)寫入數(shù)據(jù)幀;H1.判斷是否結(jié)束,若否,則轉(zhuǎn)步驟D1。實施本發(fā)明的技術(shù)方案,優(yōu)化了所有需要同時保存程序代碼和用戶設(shè)置數(shù)據(jù)的情況。
      文檔編號G06F12/06GK102033813SQ20091019028
      公開日2011年4月27日 申請日期2009年9月24日 優(yōu)先權(quán)日2009年9月24日
      發(fā)明者鄭巧紅, 陳恒, 饒麗光 申請人:深圳市九洲電器有限公司
      網(wǎng)友詢問留言 已有0條留言
      • 還沒有人留言評論。精彩留言會獲得點贊!
      1