專利名稱:存取一閃存的方法以及相關(guān)的記憶裝置的制作方法
技術(shù)領(lǐng)域:
本發(fā)明涉及閃存(Flash Memory)的相關(guān)技術(shù)領(lǐng)域,更具體地說,涉及一種存取一 閃存的方法以及相關(guān)的記憶裝置及其控制器。
背景技術(shù):
近年來由于閃存的技術(shù)不斷地發(fā)展,各種可攜式記憶裝置(例如符合SD/MMC、 CF、MS、)(D標(biāo)準(zhǔn)的記憶卡)被廣泛地實(shí)施于諸多應(yīng)用中。因此,這些可攜式記憶裝置中的閃 存的存取控制遂成為相當(dāng)熱門的議題。
請參考圖1,圖1是傳統(tǒng)的存儲器控制器將更新數(shù)據(jù)寫入至閃存中一區(qū)塊100的示 意圖。如圖1所示,存儲器控制器將更新數(shù)據(jù)自一主裝置(例如一個人計(jì)算機(jī))循序?qū)懭?至區(qū)塊100的數(shù)據(jù)頁P(yáng)l、P2、P3、P4、...中,然而,若是在存儲器控制器將數(shù)據(jù)寫入數(shù)據(jù)頁 P4的過程中發(fā)生斷電的情形,則會使得數(shù)據(jù)頁P(yáng)4的寫入不完全。因此,等到供電回復(fù)正常 時,存儲器控制器會從區(qū)塊100中最后一個數(shù)據(jù)頁P(yáng)n往回開始讀取(此時數(shù)據(jù)頁P(yáng)5 Pn 均是空白數(shù)據(jù)頁),當(dāng)讀到數(shù)據(jù)頁P(yáng)4時,若是數(shù)據(jù)頁P(yáng)4中的數(shù)據(jù)發(fā)生讀取錯誤,亦即,數(shù)據(jù) 頁P(yáng)4中的數(shù)據(jù)無法使用其錯誤更正碼(Error Correction Code, ECC)更正回正確的數(shù)據(jù) 時,存儲器控制器會判斷數(shù)據(jù)頁P(yáng)4的數(shù)據(jù)是在斷電的情形下寫入的,并將數(shù)據(jù)頁P(yáng)4的數(shù)據(jù) 舍棄不用;若是數(shù)據(jù)頁P(yáng)4中的數(shù)據(jù)沒有發(fā)生讀取錯誤(亦即可以使用其錯誤更正碼更正回 正確的數(shù)據(jù)),則存儲器控制器會將數(shù)據(jù)頁P(yáng)4的數(shù)據(jù)視為正確的。
然而,在將數(shù)據(jù)寫入數(shù)據(jù)頁的過程中發(fā)生斷電很容易造成閃存中記憶單元的電位 不穩(wěn)定,亦即,前述數(shù)據(jù)頁P(yáng)4的“寫入不完全”的狀態(tài)包含有明顯的寫入錯誤,或是介于寫 入錯誤與寫入正確之間的寫入模糊狀態(tài),若是數(shù)據(jù)頁P(yáng)4為寫入模糊狀態(tài),則數(shù)據(jù)頁P(yáng)4于下 一時間被讀取時,在一般狀態(tài)下可能會讀取出正確的數(shù)據(jù),然而,若是在大量耗電的狀態(tài)下 (例如閃存進(jìn)行大量的讀取寫入),數(shù)據(jù)頁P(yáng)4可能會發(fā)生讀取錯誤的情形。換句話說,在數(shù) 據(jù)頁P(yáng)4為寫入模糊的狀態(tài)下,每一次讀取數(shù)據(jù)頁P(yáng)4可能都會有不同的結(jié)果,亦即有時候所 讀取的數(shù)據(jù)是正確的,而有時候所讀取的數(shù)據(jù)卻是錯誤的。因此,若是在斷電后供電回復(fù)正 常時,存儲器控制器因?yàn)閿?shù)據(jù)頁P(yáng)4中的數(shù)據(jù)沒有發(fā)生讀取錯誤而判斷數(shù)據(jù)頁P(yáng)4中的數(shù)據(jù) 是正確的,則很有可能在后續(xù)的使用上,數(shù)據(jù)頁P(yáng)4中的數(shù)據(jù)會發(fā)生讀取錯誤而造成使用者 的困擾。發(fā)明內(nèi)容
本發(fā)明要解決的技術(shù)問題在于,針對現(xiàn)有技術(shù)的上述缺陷,提供一種存取一閃存 的方法以及相關(guān)的記憶裝置及其控制器,以解決上述的問題。
本發(fā)明解決其技術(shù)問題所采用的技術(shù)方案之一是構(gòu)造一種存取一閃存的方法, 包含將一數(shù)據(jù)串流寫入該閃存的至少一區(qū)塊的至少一個數(shù)據(jù)頁中,其中該至少一個數(shù)據(jù) 頁中每一數(shù)據(jù)頁均具有一識別碼;讀取對應(yīng)于該至少一個數(shù)據(jù)頁的至少一個識別碼;以及 依據(jù)該至少一個識別碼來決定一特定數(shù)據(jù)頁,其中該特定數(shù)據(jù)頁為該閃存在斷電前該數(shù)據(jù)4串流最后寫入的數(shù)據(jù)頁。2、根據(jù)權(quán)利要求1所述的方法,其特征在于,其中該多個識別碼為 多個寫入次序碼,以及該多個寫入次序碼紀(jì)錄該數(shù)據(jù)串流寫入至該多個數(shù)據(jù)頁的順序。
進(jìn)一步地,上述本發(fā)明所述的方法,其中當(dāng)將該數(shù)據(jù)串流寫入一第一區(qū)塊的數(shù)據(jù) 頁時,將對應(yīng)該第一區(qū)塊的數(shù)據(jù)頁的識別碼記錄為K,當(dāng)將該數(shù)據(jù)串流寫入一第二區(qū)塊的數(shù) 據(jù)頁時,將對應(yīng)該第二區(qū)塊的數(shù)據(jù)頁的識別碼記錄為K+1或K-1。
進(jìn)一步地,上述本發(fā)明所述的方法,其中依據(jù)該至少一個識別碼來決定該特定數(shù) 據(jù)頁的步驟更包含
選擇該些寫入次序碼中具有最大值或最小值的一寫入次序碼作為一特定寫入次 序碼;以及將對應(yīng)該特定寫入次序碼的至少一數(shù)據(jù)頁決定為該特定數(shù)據(jù)頁。
進(jìn)一步地,上述本發(fā)明所述的方法,其中將對應(yīng)該特定寫入次序碼的該至少一數(shù) 據(jù)頁決定為該特定數(shù)據(jù)頁的步驟更包含
將對應(yīng)該特定寫入次序碼的該些數(shù)據(jù)頁中具有最大實(shí)體頁地址的數(shù)據(jù)頁決定為 該特定數(shù)據(jù)頁。
進(jìn)一步地,上述本發(fā)明所述的方法,其中當(dāng)將該數(shù)據(jù)串流寫入一第一數(shù)據(jù)頁時,將 對應(yīng)該第一數(shù)據(jù)頁的識別碼記錄為K,當(dāng)將該數(shù)據(jù)串流寫入一第二數(shù)據(jù)頁時,將對應(yīng)該第二 數(shù)據(jù)頁的識別碼記錄為K+1或K-I。
進(jìn)一步地,上述本發(fā)明所述的方法,另包含有
使用該特定數(shù)據(jù)頁的錯誤更正碼來判斷該特定數(shù)據(jù)頁中的錯誤數(shù)據(jù)是否可以更 正。
進(jìn)一步地,上述本發(fā)明所述的方法,另包含有
當(dāng)該特定數(shù)據(jù)頁中的錯誤數(shù)據(jù)被判斷為可更正時,更正該特定數(shù)據(jù)頁中的錯誤數(shù) 據(jù),并將更正后的數(shù)據(jù)儲存至一空白區(qū)塊中。
進(jìn)一步地,上述本發(fā)明所述的方法,另包含有
當(dāng)該特定數(shù)據(jù)頁中的錯誤數(shù)據(jù)被判斷為可更正時,另將該區(qū)塊中其它所有數(shù)據(jù)頁 的數(shù)據(jù)儲存至該空白區(qū)塊中。
進(jìn)一步地,上述本發(fā)明所述的方法,其中依據(jù)該至少一個識別碼來決定該特定數(shù) 據(jù)頁的步驟更包含
當(dāng)一第一數(shù)據(jù)頁所對應(yīng)的識別碼異常,則將該第一數(shù)據(jù)頁決定該特定數(shù)據(jù)頁。
本發(fā)明解決其技術(shù)問題所采用的技術(shù)方案之二是構(gòu)造一種記憶裝置,包含有一 閃存以及一控制器,該控制器用來將一數(shù)據(jù)串流寫入該閃存的至少一區(qū)塊的至少一個數(shù)據(jù) 頁中,其中該至少一個數(shù)據(jù)頁中每一數(shù)據(jù)頁均具有一識別碼,該控制器讀取對應(yīng)于該至少 一個數(shù)據(jù)頁的至少一個識別碼,并依據(jù)該至少一個識別碼來決定一特定數(shù)據(jù)頁,其中該特 定數(shù)據(jù)頁為該閃存在斷電前該數(shù)據(jù)串流最后寫入的數(shù)據(jù)頁。
進(jìn)一步地,上述本發(fā)明所述的記憶裝置,其中該多個識別碼為多個寫入次序碼,該 多個寫入次序碼紀(jì)錄該數(shù)據(jù)串流寫入至該多個數(shù)據(jù)頁的順序。
進(jìn)一步地,上述本發(fā)明所述的記憶裝置,其中當(dāng)將該數(shù)據(jù)串流寫入一第一區(qū)塊的 數(shù)據(jù)頁時,該控制器將對應(yīng)該第一區(qū)塊的數(shù)據(jù)頁的識別碼記錄為K,當(dāng)將該數(shù)據(jù)串流寫入一 第二區(qū)塊的數(shù)據(jù)頁時,該控制器將對應(yīng)該第二區(qū)塊的數(shù)據(jù)頁的識別碼記錄為K+1或K-1。
進(jìn)一步地,上述本發(fā)明所述的記憶裝置,其中該控制器選擇該些寫入次序碼中具有最大值或最小值的一寫入次序碼作為一特定寫入次序碼;以及該控制器將對應(yīng)該特定寫 入次序碼的至少一數(shù)據(jù)頁決定為該特定數(shù)據(jù)頁。
進(jìn)一步地,上述本發(fā)明所述的記憶裝置,其中該控制器將對應(yīng)該特定寫入次序碼 的該些數(shù)據(jù)頁中具有最大實(shí)體頁地址的數(shù)據(jù)頁決定為該特定數(shù)據(jù)頁。
進(jìn)一步地,上述本發(fā)明所述的記憶裝置,其中當(dāng)將該數(shù)據(jù)串流寫入一第一數(shù)據(jù)頁 時,該控制器將對應(yīng)該第一數(shù)據(jù)頁的識別碼記錄為K,當(dāng)將該數(shù)據(jù)串流寫入一第二數(shù)據(jù)頁 時,該控制器將對應(yīng)該第二數(shù)據(jù)頁的識別碼記錄為K+1或K-1。
進(jìn)一步地,上述本發(fā)明所述的記憶裝置,其中該控制器另使用該特定數(shù)據(jù)頁的錯 誤更正碼來判斷該特定數(shù)據(jù)頁中的錯誤數(shù)據(jù)是否可以更正。
進(jìn)一步地,上述本發(fā)明所述的記憶裝置,當(dāng)該特定數(shù)據(jù)頁中的錯誤數(shù)據(jù)被判斷為 可更正時,該控制器更正該特定數(shù)據(jù)頁中的錯誤數(shù)據(jù)并將更正后的數(shù)據(jù)儲存至一空白區(qū)塊 中。
進(jìn)一步地,上述本發(fā)明所述的記憶裝置,當(dāng)該特定數(shù)據(jù)頁中的錯誤數(shù)據(jù)被判斷為 可更正時,該控制器另將該區(qū)塊中其它所有數(shù)據(jù)頁的數(shù)據(jù)儲存至該空白區(qū)塊中。
進(jìn)一步地,上述本發(fā)明所述的記憶裝置,其中當(dāng)一第一數(shù)據(jù)頁所對應(yīng)的識別碼異 常,則該控制器將該第一數(shù)據(jù)頁決定該特定數(shù)據(jù)頁。
實(shí)施本發(fā)明的技術(shù)方案,具有以下有益效果在更新數(shù)據(jù)寫入數(shù)據(jù)頁的過程中,若 發(fā)生斷電,在等到供電回復(fù)正常后,可確保記憶裝置不會發(fā)生有數(shù)據(jù)頁中的數(shù)據(jù)為寫入模 糊的狀態(tài),因此可以避免在后續(xù)的使用上,數(shù)據(jù)頁中的數(shù)據(jù)會發(fā)生讀取錯誤的問題。
下面將結(jié)合附圖及實(shí)施例對本發(fā)明作進(jìn)一步說明,附圖中
圖1是傳統(tǒng)的存儲器控制器將更新數(shù)據(jù)寫入至閃存中一區(qū)塊的示意圖2是本發(fā)明一實(shí)施例的一種記憶裝置的示意圖3是本發(fā)明一實(shí)施例當(dāng)母區(qū)塊Ml M3中的一部分?jǐn)?shù)據(jù)需要更新時,圖2所示 的存儲器控制器將一數(shù)據(jù)串流自主裝置寫入閃存中多個暫時區(qū)塊Tl T3的示意圖4是本發(fā)明一實(shí)施例的存取閃存的流程圖5是本發(fā)明另一實(shí)施例當(dāng)母區(qū)塊Ml M3中的一部分?jǐn)?shù)據(jù)需要更新時,圖2所 示的存儲器控制器將一數(shù)據(jù)串流自主裝置寫入閃存中多個暫時區(qū)塊Tl T3的示意圖6是本發(fā)明另一實(shí)施例當(dāng)母區(qū)塊Ml M3中的一部分?jǐn)?shù)據(jù)需要更新時,圖2所 示的存儲器控制器將一數(shù)據(jù)串流自主裝置寫入閃存中多個暫時區(qū)塊Tl T3的示意圖。
主要組件符號說明
權(quán)利要求
1.一種存取一閃存的方法,其特征在于,包含有將一數(shù)據(jù)串流寫入該閃存的至少一區(qū)塊的至少一個數(shù)據(jù)頁中,其中該至少一個數(shù)據(jù)頁 中每一數(shù)據(jù)頁均具有一識別碼;讀取對應(yīng)于該至少一個數(shù)據(jù)頁的至少一個識別碼;以及依據(jù)該至少一個識別碼來決定一特定數(shù)據(jù)頁,其中該特定數(shù)據(jù)頁為該閃存在斷電前該 數(shù)據(jù)串流最后寫入的數(shù)據(jù)頁。
2.根據(jù)權(quán)利要求1所述的方法,其特征在于,其中該多個識別碼為多個寫入次序碼,以 及該多個寫入次序碼紀(jì)錄該數(shù)據(jù)串流寫入至該多個數(shù)據(jù)頁的順序。
3.根據(jù)權(quán)利要求2所述的方法,其特征在于,其中當(dāng)將該數(shù)據(jù)串流寫入一第一區(qū)塊的 數(shù)據(jù)頁時,將對應(yīng)該第一區(qū)塊的數(shù)據(jù)頁的識別碼記錄為K,當(dāng)將該數(shù)據(jù)串流寫入一第二區(qū)塊 的數(shù)據(jù)頁時,將對應(yīng)該第二區(qū)塊的數(shù)據(jù)頁的識別碼記錄為K+1或K-I。
4.根據(jù)權(quán)利要求2所述的方法,其特征在于,其中依據(jù)該至少一個識別碼來決定該特 定數(shù)據(jù)頁的步驟更包含選擇該些寫入次序碼中具有最大值或最小值的一寫入次序碼作為一特定寫入次序碼;以及將對應(yīng)該特定寫入次序碼的至少一數(shù)據(jù)頁決定為該特定數(shù)據(jù)頁。
5.根據(jù)權(quán)利要求4所述的方法,其特征在于,其中將對應(yīng)該特定寫入次序碼的該至少 一數(shù)據(jù)頁決定為該特定數(shù)據(jù)頁的步驟更包含將對應(yīng)該特定寫入次序碼的該些數(shù)據(jù)頁中具有最大實(shí)體頁地址的數(shù)據(jù)頁決定為該特 定數(shù)據(jù)頁。
6.根據(jù)權(quán)利要求2所述的方法,其特征在于,其中當(dāng)將該數(shù)據(jù)串流寫入一第一數(shù)據(jù)頁 時,將對應(yīng)該第一數(shù)據(jù)頁的識別碼記錄為K,當(dāng)將該數(shù)據(jù)串流寫入一第二數(shù)據(jù)頁時,將對應(yīng) 該第二數(shù)據(jù)頁的識別碼記錄為K+1或K-I。
7.根據(jù)權(quán)利要求1所述的方法,其特征在于,另包含有使用該特定數(shù)據(jù)頁的錯誤更正碼來判斷該特定數(shù)據(jù)頁中的錯誤數(shù)據(jù)是否可以更正。
8.根據(jù)權(quán)利要求7所述的方法,其特征在于,另包含有當(dāng)該特定數(shù)據(jù)頁中的錯誤數(shù)據(jù)被判斷為可更正時,更正該特定數(shù)據(jù)頁中的錯誤數(shù)據(jù), 并將更正后的數(shù)據(jù)儲存至一空白區(qū)塊中。
9.根據(jù)權(quán)利要求8所述的方法,其特征在于,另包含有當(dāng)該特定數(shù)據(jù)頁中的錯誤數(shù)據(jù)被判斷為可更正時,另將該區(qū)塊中其它所有數(shù)據(jù)頁的數(shù) 據(jù)儲存至該空白區(qū)塊中。
10.根據(jù)權(quán)利要求1所述的方法,其特征在于,其中依據(jù)該至少一個識別碼來決定該特 定數(shù)據(jù)頁的步驟更包含當(dāng)一第一數(shù)據(jù)頁所對應(yīng)的識別碼異常,則將該第一數(shù)據(jù)頁決定該特定數(shù)據(jù)頁。
11.一種記憶裝置,其特征在于,包含有一閃存;以及一控制器,用來將一數(shù)據(jù)串流寫入該閃存的至少一區(qū)塊的至少一個數(shù)據(jù)頁中,其中該 至少一個數(shù)據(jù)頁中每一數(shù)據(jù)頁均具有一識別碼,該控制器讀取對應(yīng)于該至少一個數(shù)據(jù)頁的 至少一個識別碼,并依據(jù)該至少一個識別碼來決定一特定數(shù)據(jù)頁,其中該特定數(shù)據(jù)頁為該閃存在斷電前該數(shù)據(jù)串流最后寫入的數(shù)據(jù)頁。
全文摘要
本發(fā)明涉及一種存取一閃存的方法,其包含將一數(shù)據(jù)串流寫入該閃存的至少一區(qū)塊的至少一個數(shù)據(jù)頁中,其中該至少一個數(shù)據(jù)頁中每一數(shù)據(jù)頁均具有一識別碼;讀取對應(yīng)于該至少一個數(shù)據(jù)頁的至少一個識別碼;以及依據(jù)該至少一個識別碼來決定一特定數(shù)據(jù)頁,其中該特定數(shù)據(jù)頁為該閃存在斷電前該數(shù)據(jù)串流最后寫入的數(shù)據(jù)頁。本發(fā)明還涉及一種記憶裝置,其包含有一閃存以及一控制器。本發(fā)明在更新數(shù)據(jù)寫入數(shù)據(jù)頁的過程中,若發(fā)生斷電,在等到供電回復(fù)正常后,可確保記憶裝置不會發(fā)生有數(shù)據(jù)頁中的數(shù)據(jù)為寫入模糊的狀態(tài),因此可以避免在后續(xù)的使用上,數(shù)據(jù)頁中的數(shù)據(jù)會發(fā)生讀取錯誤的問題。
文檔編號G06F12/06GK102033814SQ20091020479
公開日2011年4月27日 申請日期2009年9月25日 優(yōu)先權(quán)日2009年9月25日
發(fā)明者洪麒翔, 陳柏軒 申請人:慧榮科技股份有限公司