專利名稱:閃存存儲設(shè)備的數(shù)據(jù)寫入方法和閃存存儲設(shè)備的制作方法
技術(shù)領(lǐng)域:
本發(fā)明涉及存儲技術(shù)領(lǐng)域,特別是涉及ー種閃存存儲設(shè)備的數(shù)據(jù)寫入方法和閃存存儲設(shè)備。
背景技術(shù):
閃存存儲設(shè)備在日常生活中應(yīng)用越來越普遍。閃存存儲設(shè)備的寫入速度成為衡量閃存存儲設(shè)備 性能的重要指標(biāo),提高閃存存儲設(shè)備的寫入速度將大大提高數(shù)據(jù)處理效率,有利于擴(kuò)展閃存存儲設(shè)備的應(yīng)用。閃存存儲設(shè)備的物理構(gòu)成為每個封裝片內(nèi)包含一個或多個晶粒;每個晶粒中包含多個塊;每個塊中包含多個頁;每個頁被用戶劃分成ー個或多個扇區(qū)。物理上,閃存存儲設(shè)備是以頁為単位管理的,而邏輯上則是以扇區(qū)為單位管理,ー個頁以ー個或多個扇區(qū)為一組,分組存放在閃存存儲設(shè)備芯片中。傳統(tǒng)的文件管理系統(tǒng)(如FAT文件系統(tǒng))對閃存存儲設(shè)備寫入數(shù)據(jù)的過程是先寫目錄區(qū)、FAT區(qū)等隱藏區(qū),再寫數(shù)據(jù)區(qū)。而閃存存儲設(shè)備是以頁為最小單位進(jìn)行管理的,要寫入的數(shù)據(jù)往往并非從閃存存儲設(shè)備的頁開頭開始,而是從某頁的中部開始寫,又在某頁的中間結(jié)束。由于閃存存儲設(shè)備的特性,對某頁寫數(shù)據(jù)如果不是從該頁的開頭開始寫,就要把該頁以及該頁所在的塊上保存的原有數(shù)據(jù)搬移到ー個臨時塊,把要寫的數(shù)據(jù)也寫到該臨時塊對應(yīng)的頁,再把該頁所在的塊擦除,然后將原有數(shù)據(jù)和新寫數(shù)據(jù)一起寫入該塊,整個過程非常耗時,影響了數(shù)據(jù)的寫入效率,還增加了閃存塊的磨損。
發(fā)明內(nèi)容
基于此,有必要提供一種能提聞與入效率的閃存存儲設(shè)備的數(shù)據(jù)與入方法。一種閃存存儲設(shè)備的數(shù)據(jù)寫入方法,包括以下步驟獲取寫命令;將所述寫命令中的邏輯地址加上預(yù)先動態(tài)統(tǒng)計(jì)寫命令中包含的邏輯地址的起始位置而得到的頁偏移量作為所述寫命令的實(shí)際邏輯地址;按照所述實(shí)際邏輯地址執(zhí)行所述寫命令。在其中一個實(shí)施例中,在所述獲取寫命令的步驟之前,還包括步驟預(yù)先動態(tài)統(tǒng)計(jì)寫命令中包含的邏輯地址的起始位置,并根據(jù)所述邏輯地址的起始位置確定所述頁偏移量。在其中一個實(shí)施例中,所述預(yù)先動態(tài)統(tǒng)計(jì)寫命令中包含的邏輯地址的起始位置,并根據(jù)所述起始位置確定頁偏移量的步驟具體為對寫命令中包含的邏輯地址的起始位置進(jìn)行采樣;將采樣的邏輯地址的起始位置與每頁包含的扇區(qū)數(shù)取余;統(tǒng)計(jì)取得的余數(shù),將數(shù)量最多的余數(shù)作為所述頁偏移量。在其中一個實(shí)施例中,在所述預(yù)先動態(tài)統(tǒng)計(jì)寫命令中包含的邏輯地址的起始位置,并根據(jù)所述起始位置確定頁偏移量的步驟之后,還包括步驟將所述頁偏移量存儲在閃存存儲設(shè)備的預(yù)設(shè)的特定存儲區(qū)域。在其中一個實(shí)施例中,在所述獲取寫命令的步驟之后,還包括步驟判斷所述寫命令中包含的邏輯地址的起始地址是否位于頁的起始位置,若是,則按照所述寫命令中包含的邏輯地址執(zhí)行所述寫命令,若否,則執(zhí)行將所述寫命令中的邏輯地址加上預(yù)先動態(tài)統(tǒng)計(jì)寫命令中包含的邏輯地址的起始位置而得到的頁偏移量作為所述寫命令的實(shí)際邏輯地址執(zhí)行所述寫命令的步驟。此外,還有必要提供一種能提聞與入效率的閃存存儲設(shè)備。一種閃存存儲設(shè)備,包括控制模塊和閃存芯片,所述控制模塊包括接口單元,用于獲取寫命令; 處理單元,用于將所述寫命令中的邏輯地址加上預(yù)先動態(tài)統(tǒng)計(jì)寫命令中包含的邏輯地址的起始位置而得到的頁偏移量作為所述寫命令的實(shí)際邏輯地址;執(zhí)行單元,用于按照所述實(shí)際邏輯地址執(zhí)行所述寫命令。在其中一個實(shí)施例中,所述控制模塊還包括統(tǒng)計(jì)單元,還用于預(yù)先動態(tài)統(tǒng)計(jì)寫命令中包含的邏輯地址的起始位置,并根據(jù)所述邏輯地址的起始位置確定所述頁偏移量。在其中一個實(shí)施例中,所述統(tǒng)計(jì)單元包括采樣子單元,用于對寫命令中包含的邏輯地址的起始位置進(jìn)行采樣;取余子單元,用于將采樣的邏輯地址的起始位置與每頁包含的扇區(qū)數(shù)取余;頁偏移量確定子單元,用于統(tǒng)計(jì)取得的余數(shù),將數(shù)量最多的余數(shù)作為所述頁偏移量。在其中一個實(shí)施例中,所述閃存芯片設(shè)有特定存儲區(qū)域,所述特定存儲區(qū)域用于存儲所述頁偏移量;所述處理單元還用于從所述特定存儲區(qū)域讀取所述頁偏移量。在其中一個實(shí)施例中,所述控制模塊還包括判斷單元,用于判斷所述寫命令中包含的邏輯地址的起始地址是否位于頁的起始位置;所述執(zhí)行單元還用于在所述寫命令中包含的邏輯地址的起始地址是位于頁的起始位置時,按照所述寫命令中包含的邏輯地址執(zhí)行所述寫命令;所述處理單元還用于在所述寫命令中包含的邏輯地址的起始地址不是位于頁的起始位置,將所述寫命令中的邏輯地址加上預(yù)先動態(tài)統(tǒng)計(jì)寫命令中包含的邏輯地址的起始位置而得到的頁偏移量作為所述寫命令的實(shí)際邏輯地址。上述閃存存儲設(shè)備的數(shù)據(jù)寫入方法和閃存存儲設(shè)備,當(dāng)執(zhí)行寫命令時,將寫命令中的邏輯地址加上預(yù)先動態(tài)統(tǒng)計(jì)分析得到的頁偏移量作為實(shí)際邏輯地址,按照實(shí)際邏輯地址執(zhí)行寫命令,如此可保證對閃存存儲設(shè)備的每次數(shù)據(jù)寫入操作,其寫入的邏輯地址的起始位置都與閃存存儲設(shè)備的頁的起始位置對齊,從而大大提高了閃存存儲設(shè)備的寫入速度,且減少了閃存存儲設(shè)備的塊的磨損,提高了閃存存儲設(shè)備的性能。
圖I為ー個實(shí)施例中閃存存儲設(shè)備的數(shù)據(jù)寫入方法的流程示意圖;圖2為預(yù)先動態(tài)統(tǒng)計(jì)寫命令中包含的邏輯地址的起始位置,井根據(jù)該邏輯地址的起始位置確定頁偏移量的步驟的具體流程示意圖;圖3為另ー個實(shí)施例中閃存存儲設(shè)備的數(shù)據(jù)寫入方法的流程示意圖;圖4為ー個實(shí)施例中閃存存儲設(shè)備的內(nèi)部結(jié)構(gòu)示意圖;圖5為ー個實(shí)施例中控制模塊的內(nèi)部結(jié)構(gòu)示意圖;圖6為另ー個實(shí)施例中控制模塊的內(nèi)部結(jié)構(gòu)示意圖;圖7為另ー個實(shí)施例中控制模塊的內(nèi)部結(jié)構(gòu)示意圖。
具體實(shí)施例方式下面結(jié)合具體的實(shí)施例及附圖對閃存存儲設(shè)備的數(shù)據(jù)寫入方法和閃存存儲設(shè)備的技術(shù)方案進(jìn)行詳細(xì)的描述,以使其更加清楚。如圖I所示,在一個實(shí)施例中,一種閃存存儲設(shè)備的數(shù)據(jù)寫入方法,包括以下步驟步驟SI 10,獲取寫命令。具體的,閃存存儲設(shè)備接收到主機(jī)對其發(fā)送的寫命令。步驟S120,將該寫命令中的邏輯地址加上預(yù)先動態(tài)統(tǒng)計(jì)寫命令中包含的邏輯地址的起始位置而得到的頁偏移量作為該寫命令的實(shí)際邏輯地址。例如,寫命令中的邏輯地址為564扇區(qū),預(yù)先對閃存存儲設(shè)備的寫命令中包含的邏輯地址的起始位置動態(tài)統(tǒng)計(jì)而得到的頁偏移量為4個扇區(qū),則加上頁偏移量后,寫命令的邏輯地址為568扇區(qū),將568扇區(qū)作為執(zhí)行該寫命令的實(shí)際邏輯地址。步驟S130,按照實(shí)際邏輯地址執(zhí)行該寫命令。具體的,按照加上頁偏移量得到的實(shí)際邏輯地址開始進(jìn)行寫命令的操作。在一個實(shí)施例中,在步驟SllO之前,還包括步驟預(yù)先動態(tài)統(tǒng)計(jì)寫命令中包含的邏輯地址的起始位置,井根據(jù)該邏輯地址的起始位置確定頁偏移量。具體的,動態(tài)統(tǒng)計(jì)寫命令中包含的邏輯地址的起始位置是指統(tǒng)計(jì)某次寫命令之前的歷史寫命令中包含的邏輯地址的起始位置,記錄邏輯地址的起始位置的頁偏移量,將統(tǒng)計(jì)得到的出現(xiàn)次數(shù)最多的頁偏移量作為該次寫命令的頁偏移量。例如,接收到第100次寫命令時,動態(tài)統(tǒng)計(jì)前99次寫命令中包含的邏輯地址的起始位置的頁偏移量,如頁偏移量3出現(xiàn)最多,則將3作為第100次寫命令的頁偏移量。在一個實(shí)施例中,如圖2所示,預(yù)先動態(tài)統(tǒng)計(jì)寫命令中包含的邏輯地址的起始位置,井根據(jù)該邏輯地址的起始位置確定頁偏移量的步驟具體為步驟S210,對寫命令中包含的邏輯地址的起始位置進(jìn)行采樣。具體的,對主機(jī)發(fā)送的寫命令中包含的邏輯地址的起始位置采樣,采樣數(shù)量可為100或200等,采樣數(shù)量越多,確定的頁偏移量越準(zhǔn)確。步驟S220,將采樣的邏輯地址的起始位置與每頁包含的扇區(qū)數(shù)取余。具體的,將采樣的每個邏輯地址的起始位置與每頁包含的扇區(qū)數(shù)取余。例如,采樣的5個邏輯地址的起始位置為542、564、583、604、628,每頁包含的扇區(qū)數(shù)為8,則分別取余為6、4、7、4、4。采樣數(shù)量越多,取余得到的余數(shù)可能出現(xiàn)O至7。
步驟S230,統(tǒng)計(jì)取得的余數(shù),將數(shù)量最多的余數(shù)作為所述頁偏移量。具體的,取余后,統(tǒng)計(jì)出現(xiàn)次數(shù)最多的余數(shù),例如余數(shù)4的數(shù)量最多,則將4作為頁
偏移量。上述確定頁偏移量的方式僅為此處描述的較為具體的實(shí)現(xiàn)方式,也可采用其他方式確定頁偏移量。在一個實(shí)施例中,在預(yù)先動態(tài)統(tǒng)計(jì)寫命令中包含的邏輯地址的起始位置,并根據(jù)該邏輯地址的起始位置確定頁偏移量的步驟之后,還包括步驟將該頁偏移量存儲在閃存存儲設(shè)備的預(yù)設(shè)的特定存儲區(qū)域。具體的,閃存存儲設(shè)備中預(yù)設(shè)一特定存儲區(qū)域,該特定存儲區(qū)域是指不被數(shù)據(jù)操 作所使用的存儲區(qū)域。如圖3所示,在一個實(shí)施例中,一種閃存存儲設(shè)備的數(shù)據(jù)寫入方法,包括以下步驟步驟S310,獲取寫命令。步驟S320,判斷該寫命令中包含的邏輯地址的起始地址是否位于頁的起始位置,若是,則執(zhí)行步驟S330,若否,則執(zhí)行步驟S340。步驟S330,按照該寫命令中包含的邏輯地址執(zhí)行該寫命令。具體的,該寫命令中包含的邏輯地址是位于頁的起始位置,則直接執(zhí)行寫命令。步驟S340,將該寫命令中的邏輯地址加上預(yù)先動態(tài)統(tǒng)計(jì)對存儲設(shè)備的寫命令中包含的邏輯地址的起始位置而確定的頁偏移量作為所述寫命令的實(shí)際邏輯地址。具體確定頁偏移量的方式如圖2中描述的方式,在此不再贅述。步驟S350,按照實(shí)際邏輯地址執(zhí)行該寫命令。具體的,按照加上頁偏移量得到的實(shí)際邏輯地址開始進(jìn)行寫命令的操作。此外,因閃存存儲設(shè)備的文件系統(tǒng)一旦確定,針對數(shù)據(jù)區(qū)的寫命令,寫命令中包含的邏輯地址的起始地址的頁偏移量都是相同的。但針對隱藏區(qū)的寫命令,其頁偏移量是沒有規(guī)律的,因數(shù)據(jù)區(qū)占整個閃存存儲設(shè)備提供的存儲空間的90%以上,故可以忽略隱藏區(qū)的影響,而采用圖2中描述的方式確定頁偏移量,即將出現(xiàn)次數(shù)最多的余數(shù)作為頁偏移量。進(jìn)一步的,為了避免出現(xiàn)隱藏區(qū)的寫命令中邏輯地址加上頁偏移量得到的實(shí)際邏輯地址不對齊頁的起始位置而影響寫入速度的情況,采用判斷寫命令中包含的邏輯地址的起始位置是否位于頁的起始位置,從而提高了針對隱藏區(qū)的寫命令的寫入速度。當(dāng)閃存存儲設(shè)備上電被格式化后,其文件系統(tǒng)被改變了,則需要重新確定閃存存儲設(shè)備的頁偏移量。因隨著文件系統(tǒng)的改變,隱藏區(qū)域的大小發(fā)生改變,數(shù)據(jù)區(qū)的大小也改變,因此頁偏移量也會發(fā)生改變。如圖4所示,在一個實(shí)施例中,一種閃存存儲設(shè)備,包括控制模塊10和閃存芯片
20??刂颇K10包括接口單元110、處理單元120和執(zhí)行單元130。其中接口單元110用于獲取寫命令。具體的,閃存存儲設(shè)備的接口單元110接收到主機(jī)對閃存存儲設(shè)備發(fā)送的寫命令。處理單元120用于將該寫命令中的邏輯地址加上預(yù)先動態(tài)統(tǒng)計(jì)寫命令中包含的邏輯地址的起始位置而得到的頁偏移量作為該寫命令的實(shí)際邏輯地址。具體的,寫命令中的邏輯地址為564扇區(qū),預(yù)先對閃存存儲設(shè)備的寫命令中包含的邏輯地址的起始位置動態(tài)統(tǒng)計(jì)而得到的頁偏移量為4個扇區(qū),則加上頁偏移量后,寫命令的邏輯地址為568扇區(qū),將568扇區(qū)作為執(zhí)行該寫命令的實(shí)際邏輯地址。執(zhí)行單元130用于根據(jù)該實(shí)際邏輯地址執(zhí)行所述寫命令。具體的,執(zhí)行單元130按照加上頁偏移量得到的實(shí)際邏輯地址開始進(jìn)行寫命令的操作。閃存芯片20與控制模塊10電連接。閃存芯片20設(shè)有特定存儲區(qū)域。該特定存儲區(qū)域用于存儲動態(tài)統(tǒng)計(jì)得到的頁偏移量。控制模塊10的處理單元120還用于從特定存儲區(qū)域讀取該頁偏移量。在一個實(shí)施例中,如圖5所示,控制模塊10除了包括接ロ單元110、處理單元120和執(zhí)行單元130,還包括統(tǒng)計(jì)單元140。其中統(tǒng)計(jì)單元140還用于預(yù)先動態(tài)統(tǒng)計(jì)寫命令中包含的邏輯地址的起始位置,并根據(jù)該邏輯地址的起始位置確定該頁偏移量。具體的,動態(tài)統(tǒng)計(jì)寫命令中包含的邏輯地址的起 始位置是指統(tǒng)計(jì)某次寫命令之前的歷史寫命令中包含的邏輯地址的起始位置,記錄邏輯地址的起始位置的偏移量,將統(tǒng)計(jì)得到的出現(xiàn)次數(shù)最多的偏移量作為該次寫命令的頁偏移量。例如,接收到第100次寫命令時,動態(tài)統(tǒng)計(jì)前99次寫命令中包含的邏輯地址的起始位置的頁偏移量,如頁偏移量3出現(xiàn)最多,則將3作為第100次寫命令的頁偏移量。進(jìn)ー步的,在一個實(shí)施例中,如圖6所示,統(tǒng)計(jì)單元140包括采樣子單元141、取余子單兀143和頁偏移量確定子單兀145。其中采樣子単元141用于對寫命令中包含的邏輯地址的起始位置進(jìn)行采樣。具體的,對主機(jī)發(fā)送的寫命令中包含的邏輯地址的起始位置采樣,采樣數(shù)量可為100或200等,采樣數(shù)量越多,確定的頁偏移量越準(zhǔn)確。取余子単元143用于將采樣的邏輯地址的起始位置與每頁包含的扇區(qū)數(shù)取余。具體的,將采樣的每個邏輯地址的起始位置與每頁包含的扇區(qū)數(shù)取余。例如,采樣的5個邏輯地址的起始位置為542、564、583、604、628,每頁包含的扇區(qū)數(shù)為8,則分別取余為6、4、7、4、
4。采樣數(shù)量越多,取余得到的余數(shù)可能出現(xiàn)O至7。頁偏移量確定子単元145用于統(tǒng)計(jì)取得的余數(shù),將數(shù)量最多的余數(shù)作為所述頁偏移量。具體的,取余后,統(tǒng)計(jì)出現(xiàn)次數(shù)最多的余數(shù),例如余數(shù)4的數(shù)量最多,則將4作為頁偏移量。如圖7所示,在一個實(shí)施例中,控制模塊10除了包括接ロ單元110、處理單元120、執(zhí)行單元130和統(tǒng)計(jì)單元140,還包括判斷単元150。其中判斷単元150用于判斷該寫命令中包含的邏輯地址的起始地址是否位于頁的起始位置。執(zhí)行單元130還用于在該寫命令中包含的邏輯地址的起始地址是位于頁的起始位置吋,按照該寫命令中包含的邏輯地址執(zhí)行該寫命令。處理單元120還用于在該寫命令中包含的邏輯地址的起始地址不是位于頁的起始位置時,將該寫命令中的邏輯地址加上預(yù)先動態(tài)統(tǒng)計(jì)寫命令中包含的邏輯地址的起始位置而確定的頁偏移量作為該寫命令的實(shí)際邏輯地址。在其他實(shí)施例中,控制模塊10可僅包括接ロ単元110、處理單元120、執(zhí)行單元130和判斷單元150。上述閃存存儲設(shè)備的數(shù)據(jù)寫入方法和閃存存儲設(shè)備,當(dāng)執(zhí)行寫命令時,將寫命令中的邏輯地址加上預(yù)先動態(tài)統(tǒng)計(jì)分析得到的頁偏移量作為實(shí)際邏輯地址,按照實(shí)際邏輯地址執(zhí)行寫命令,如此可保證對閃存存儲設(shè)備的每次數(shù)據(jù)寫入操作,其寫入的邏輯地址的起始位置都與閃存存 儲設(shè)備的頁的起始位置對齊,從而大大提高了閃存存儲設(shè)備的寫入速度,且減少了閃存存儲設(shè)備的塊的磨損,提高了閃存存儲設(shè)備的性能。另外,尤其對于隱藏區(qū)的寫命令中邏輯地址的起始位置的頁偏移量是雜亂無章的,通過判斷寫命令中包含的邏輯地址的起始位置是否位于頁的起始位置,可避免隱藏區(qū)的寫命令的邏輯地址的起始位置是位于頁的起始位置時,加上動態(tài)統(tǒng)計(jì)分析得到的頁偏移量反而影響寫入速度的情況,更能保證每次數(shù)據(jù)寫入操作,其寫入的邏輯地址的起始位置都與頁的起始位置對齊;采用采樣寫命令的邏輯地址的起始位置,且將其與每頁包含的扇區(qū)數(shù)取余,統(tǒng)計(jì)數(shù)量最多的余數(shù)作為頁偏移量,提高了確定的頁偏移量的準(zhǔn)確性。以上所述實(shí)施例僅表達(dá)了本發(fā)明的幾種實(shí)施方式,其描述較為具體和詳細(xì),但并不能因此而理解為對本發(fā)明專利范圍的限制。應(yīng)當(dāng)指出的是,對于本領(lǐng)域的普通技術(shù)人員來說,在不脫離本發(fā)明構(gòu)思的前提下,還可以做出若干變形和改進(jìn),這些都屬于本發(fā)明的保護(hù)范圍。因此,本發(fā)明專利的保護(hù)范圍應(yīng)以所附權(quán)利要求為準(zhǔn)。
權(quán)利要求
1.一種閃存存儲設(shè)備的數(shù)據(jù)寫入方法,包括以下步驟 獲取與命令; 將所述寫命令中的邏輯地址加上預(yù)先動態(tài)統(tǒng)計(jì)寫命令中包含的邏輯地址的起始位置而得到的頁偏移量作為所述寫命令的實(shí)際邏輯地址; 按照所述實(shí)際邏輯地址執(zhí)行所述寫命令。
2.根據(jù)權(quán)利要求I所述的閃存存儲設(shè)備的數(shù)據(jù)寫入方法,其特征在于,在所述獲取寫命令的步驟之前,還包括步驟 預(yù)先動態(tài)統(tǒng)計(jì)寫命令中包含的邏輯地址的起始位置,并根據(jù)所述邏輯地址的起始位置確定所述頁偏移量。
3.根據(jù)權(quán)利要求2所述的閃存存儲設(shè)備的數(shù)據(jù)寫入方法,其特征在于,所述預(yù)先動態(tài)統(tǒng)計(jì)寫命令中包含的邏輯地址的起始位置,并根據(jù)所述起始位置確定頁偏移量的步驟具體為 對寫命令中包含的邏輯地址的起始位置進(jìn)行采樣; 將采樣的邏輯地址的起始位置與每頁包含的扇區(qū)數(shù)取余; 統(tǒng)計(jì)取得的余數(shù),將數(shù)量最多的余數(shù)作為所述頁偏移量。
4.根據(jù)權(quán)利要求2或3所述的閃存存儲設(shè)備的數(shù)據(jù)寫入方法,其特征在于,在所述預(yù)先動態(tài)統(tǒng)計(jì)寫命令中包含的邏輯地址的起始位置,并根據(jù)所述起始位置確定頁偏移量的步驟之后,還包括步驟 將所述頁偏移量存儲在閃存存儲設(shè)備的預(yù)設(shè)的特定存儲區(qū)域。
5.根據(jù)權(quán)利要求I至3中任一項(xiàng)所述的閃存存儲設(shè)備的數(shù)據(jù)寫入方法,其特征在于,在所述獲取寫命令的步驟之后,還包括步驟 判斷所述寫命令中包含的邏輯地址的起始地址是否位于頁的起始位置,若是,則按照所述寫命令中包含的邏輯地址執(zhí)行所述寫命令,若否,則執(zhí)行將所述寫命令中的邏輯地址加上預(yù)先動態(tài)統(tǒng)計(jì)寫命令中包含的邏輯地址的起始位置而得到的頁偏移量作為所述寫命令的實(shí)際邏輯地址執(zhí)行所述寫命令的步驟。
6.一種閃存存儲設(shè)備,包括控制模塊和閃存芯片,其特征在于,所述控制模塊包括 接口單元,用于獲取寫命令; 處理單元,用于將所述寫命令中的邏輯地址加上預(yù)先動態(tài)統(tǒng)計(jì)寫命令中包含的邏輯地址的起始位置而得到的頁偏移量作為所述寫命令的實(shí)際邏輯地址; 執(zhí)行單元,用于按照所述實(shí)際邏輯地址執(zhí)行所述寫命令。
7.根據(jù)權(quán)利要求6所述的閃存存儲設(shè)備,其特征在于,所述控制模塊還包括 統(tǒng)計(jì)單元,還用于預(yù)先動態(tài)統(tǒng)計(jì)寫命令中包含的邏輯地址的起始位置,并根據(jù)所述邏輯地址的起始位置確定所述頁偏移量。
8.根據(jù)權(quán)利要求7所述的閃存存儲設(shè)備,其特征在于,所述統(tǒng)計(jì)單元包括 采樣子單元,用于對寫命令中包含的邏輯地址的起始位置進(jìn)行采樣; 取余子單元,用于將采樣的邏輯地址的起始位置與每頁包含的扇區(qū)數(shù)取余; 頁偏移量確定子單元,用于統(tǒng)計(jì)取得的余數(shù),將數(shù)量最多的余數(shù)作為所述頁偏移量。
9.根據(jù)權(quán)利要求7或8所述的閃存存儲設(shè)備,其特征在于,所述閃存芯片設(shè)有特定存儲區(qū)域,所述特定存儲區(qū)域用于存儲所述頁偏移量;所述處理単元還用于從所述特定存儲區(qū)域讀取所述頁偏移量。
10.根據(jù)權(quán)利要求6至8中任一項(xiàng)所述的閃存存儲設(shè)備,其特征在于,所述控制模塊還包括 判斷単元,用于判斷所述寫命令的邏輯地址的起始地址是否位于頁的起始位置; 所述執(zhí)行単元還用于在所述寫命令中包含的邏輯地址的起始地址是位于頁的起始位置時,按照所述寫命令中包含的邏輯地址執(zhí)行所述寫命令; 所述處理単元還用于在所述寫命令中包含的邏輯地址的起始地址不是位于頁的起始位置吋,將所述寫命令中的邏輯地址加上預(yù)先動態(tài)統(tǒng)計(jì)寫命令中包含的邏輯地址的起始位置而得到的頁偏移量作為所述寫命令的實(shí)際邏輯地址。
全文摘要
本發(fā)明提供一種閃存存儲設(shè)備的數(shù)據(jù)寫入方法和閃存存儲設(shè)備。所述閃存存儲設(shè)備的數(shù)據(jù)寫入方法包括以下步驟獲取寫命令;將所述寫命令中的邏輯地址加上預(yù)先動態(tài)統(tǒng)計(jì)寫命令中包含的邏輯地址的起始位置而得到的頁偏移量作為所述寫命令的實(shí)際邏輯地址;按照所述實(shí)際邏輯地址執(zhí)行所述寫命令。上述閃存存儲設(shè)備的數(shù)據(jù)寫入方法和閃存存儲設(shè)備,按照實(shí)際邏輯地址執(zhí)行寫命令,可保證對閃存存儲設(shè)備的每次數(shù)據(jù)寫入操作,其寫入的邏輯地址的起始位置都與閃存存儲設(shè)備的頁的起始位置對齊,從而大大提高了閃存存儲設(shè)備的寫入速度,且減少了閃存存儲設(shè)備的塊的磨損,提高了閃存存儲設(shè)備的性能。
文檔編號G06F13/16GK102722456SQ20121017358
公開日2012年10月10日 申請日期2012年5月30日 優(yōu)先權(quán)日2012年5月30日
發(fā)明者李志雄, 鄧恩華 申請人:深圳市江波龍電子有限公司