TW201820117A - 可用於資料儲存裝置之資料儲存方法與資料回復程序、以及採用這些方法的資料儲存裝置 - Google Patents
可用於資料儲存裝置之資料儲存方法與資料回復程序、以及採用這些方法的資料儲存裝置 Download PDFInfo
- Publication number
- TW201820117A TW201820117A TW106118406A TW106118406A TW201820117A TW 201820117 A TW201820117 A TW 201820117A TW 106118406 A TW106118406 A TW 106118406A TW 106118406 A TW106118406 A TW 106118406A TW 201820117 A TW201820117 A TW 201820117A
- Authority
- TW
- Taiwan
- Prior art keywords
- data
- data block
- comparison table
- active
- storage device
- Prior art date
Links
- 238000013500 data storage Methods 0.000 title claims abstract description 62
- 238000000034 method Methods 0.000 title claims abstract description 31
- 238000011084 recovery Methods 0.000 title abstract description 7
- 230000015654 memory Effects 0.000 description 20
- 238000007796 conventional method Methods 0.000 description 4
- 238000012545 processing Methods 0.000 description 4
- 238000013502 data validation Methods 0.000 description 3
- 238000012790 confirmation Methods 0.000 description 2
- 230000008878 coupling Effects 0.000 description 2
- 238000010168 coupling process Methods 0.000 description 2
- 238000005859 coupling reaction Methods 0.000 description 2
- 230000006870 function Effects 0.000 description 2
- 230000014759 maintenance of location Effects 0.000 description 2
- 238000004458 analytical method Methods 0.000 description 1
- 230000003139 buffering effect Effects 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 238000007726 management method Methods 0.000 description 1
- 238000013507 mapping Methods 0.000 description 1
- 238000012544 monitoring process Methods 0.000 description 1
- 230000011218 segmentation Effects 0.000 description 1
- 230000003068 static effect Effects 0.000 description 1
- 230000001960 triggered effect Effects 0.000 description 1
Landscapes
- Techniques For Improving Reliability Of Storages (AREA)
Abstract
本發明提出可用於資料儲存裝置之一種資料儲存方法與一種資料回復程序,以及採用這些方法的資料儲存裝置。此資料儲存方法包括:選取主動資料區塊以儲存來自主機的資料;判斷是否發生電源中斷事件;當判斷為是時,記錄主動資料區塊的編號、以及主動資料區塊中具有資料的最後一個資料頁的編號;產生主要F2H對照表;以及將主要F2H對照表、主動資料區塊的編號、以及具有資料的最後一個資料頁的編號寫入至指定資料區塊。
Description
本發明是有關於資料儲存之技術,尤其是有關於可用於資料儲存裝置之一種資料儲存方法與一種資料回復程序、以及一種採用這些方法的資料儲存裝置。
傳統上,採用非揮發性記憶體(Non-volatile memory)作為資料儲存媒體的資料儲存裝置在運作時如果發生電源中斷事件,必需立即產生一實體位址至邏輯位址(Flash Physical-to-Host Logical address mapping table,F2H)對照表,以下簡稱為F2H對照表,以建立使用者資料的實體位址(physical address)至邏輯位址(logical address)之間的對應關係(簡稱對應關係),避免使用者資料的遺失。由此可知,F2H對照表對於資料儲存裝置的運作極為重要。
然而,電源中斷事件發生後,資料儲存裝置需要在所剩無幾的時間內建立並儲存F2H對照表。因此,如何建立一個精簡的F2H對照表並將它儲存至適當的地方,以便復電時資料儲存裝置可以依據F2H對照表而取得使用者資料,存在著實作上的需求。
本發明之一目的在提供可用於資料儲存裝置之資料儲存方法,以此方法所產生之F2H對照表的資料量較少。
本發明之另一目的在提供一種對應於上述資料儲存方法的資料回復程序。
本發明之再一目的在提供一種採用上述方法的資料儲存裝置。
本發明提出一種可用於資料儲存裝置之資料儲存方法,此資料儲存方法包括有下列步驟:選取主動資料區塊以儲存來自主機的資料;判斷是否發生電源中斷事件;當判斷為是時,記錄主動資料區塊的編號、以及主動資料區塊中具有資料的最後一個資料頁的編號;產生主要F2H對照表;以及將主要F2H對照表、主動資料區塊的編號、以及具有資料的最後一個資料頁的編號寫入至指定資料區塊。
本發明另提出一種可用於資料儲存裝置之資料儲存方法,此資料儲存方法包括有下列步驟:選取主動資料區塊以儲存來自主機的資料;判斷是否發生電源中斷事件;當判斷為是時,進一步判斷主動資料區塊是否已發生另一電源中斷事件;當進一步判斷的結果為否時,記錄主動資料區塊的編號、以及主動資料區塊中具有資料的最後一個資料頁的主要編號;產生主要F2H對照表;以及將主要F2H對照表、主動資料區塊的編號、以及具有資料的最後一個資料頁的主要編號寫入至指定資料區塊。
本發明再提出一種可用於資料儲存裝置之資料回復程序,此資料回復程序包括下列步驟:讀取指定資料區塊而取得F2H對照表、主動資料區塊的編號、以及具有資料的最後一個資料頁的編號;判斷F2H對照表的內容是否與主動資料區塊的編號以及具有資料的最後一個資料頁的編號一致;當判斷為是時,將F2H對照表儲存至揮發性儲存媒體;以及選取一主動資料區塊以儲存來自主機的資料。
本發明又提出一種資料儲存裝置,其包括有非揮發性儲存媒體以及控制單元。控制單元用以自非揮發性儲存媒體選取主動資料區塊以儲存來自主機的資料,並判斷是否發生電源中斷事件。當判斷為是時,控制單元便記錄主動資料區塊的編號、以及主動資料區塊中具有資料的最後一個資料頁的編號,據以產生主要F2H對照表,並將主要F2H對照表、主動資料區塊的編號、以及具有資料的最後一個資料頁的編號寫入至非揮發性儲存媒體中之指定資料區塊。
本發明又另提出一種資料儲存裝置,其包括有非揮發性儲存媒體以及控制單元。控制單元用以自揮發性儲存媒體選取主動資料區塊以儲存來自主機的資料,並判斷是否發生電源中斷事件,當判斷為是時,進一步判斷主動資料區塊是否已發生另一電源中斷事件。且當進一步判斷的結果為否時,控制單元便記錄主動資料區塊的編號、以及主動資料區塊中具有資料的最後一個資料頁的主要編號,據以產生主要F2H對照表,並將主要F2H對照表、主動資料區塊的編號、以及具有資料的最後一個資料頁的主要編號寫入至非揮發性儲存媒體之指定資料區塊。
本發明又再提出一種資料儲存裝置,其包括有揮發性儲存媒體、非揮發性儲存媒體以及控制單元。控制單元用以讀取非揮發性儲存媒體中之指定資料區塊而取得F2H對照表、主動資料區塊的編號、以及具有資料的最後一個資料頁的編號,並判斷F2H對照表的內容是否與主動資料區塊的編號以及具有資料的最後一個資料頁的編號一致。當判斷為是時,控制單元便將F2H對照表儲存至揮發性儲存媒體,並自非揮發性儲存媒體選取主動資料區塊以儲存來自主機的資料。
在本發明中,由於控制單元在電源中斷時所產生的F2H對照表僅記錄部份資料頁的資料的對應關係,因此,產生的F2H對照表的資料量會少於採習知方法所產生之完整F2H對照表的資料量,不但可以降低F2H對照表的資料量,更能減少產生的F2H對照表所需要的時間,且將F2H對照表儲存至具有較佳資料保存能力的資料區塊中,更能提供F2H對照表較佳的保護。
圖1繪有依照本發明一實施例之資料儲存裝置及其與主機的電性耦接關係。請參照圖1,主機100主要包括有中央處理單元110與連接介面120。連接介面120適於電性耦接資料儲存裝置200。中央處理單元110用以透過連接介面120傳送命令、資料給資料儲存裝置200,例如是傳送讀取命令給資料儲存裝置200,或是傳送寫入命令及欲寫入資料儲存裝置200的資料給資料儲存裝置200。而在此例中,主機100包括以電腦、手機、平板、相機或是其他具運算功能的手持式電子裝置來實現。
資料儲存裝置200主要包括有控制單元210、非揮發性儲存媒體220與揮發性儲存媒體230。控制單元210係電性耦接非揮發性儲存媒體220與揮發性儲存媒體230,並用以控制非揮發性儲存媒體220與揮發性儲存媒體230的操作(例如進行資料的存取與抹除)。在此例中,非揮發性儲存媒體220例如是以快閃記憶體(Flash memory)、磁阻式隨機存取記憶體(Magnetoresistive RAM)、鐵電隨機存取記憶體(Ferroelectric RAM)等具有長時間資料保存之記憶體裝置來實現,在下述的說明中將以快閃記憶體為例進行說明,但不以此為限。
揮發性儲存媒體230例如是以動態隨機存取記憶體(Dynamic Random-Access Memory,DRAM)、靜態隨機存取記憶體(Static Random-Access Memory, SRAM)等具有資料緩衝(data buffering)功能的元件來實現。
控制單元210主要包括有介面邏輯212、微處理器214與控制邏輯216。微處理器214電性耦接介面邏輯212與控制邏輯214。微處理器214用以透過控制邏輯216存取非揮發性儲存媒體220與揮發性儲存媒體230中的資料,且微處理器214還用以透過介面邏輯212接收來自主機100之命令或資料,例如:寫入命令、欲寫入資料儲存裝置200的資料、讀取命令、抺除命令等。
圖2繪有依照本發明一實施例之非揮發性儲存媒體220的實現方式。請參照圖2,非揮發性儲存媒體220包括有記憶體0~4。記憶體0較佳為SLC(Single Level Cell,單階儲存單元)類型快閃記憶體,以提供較大的資料存取能力或較佳的資料正確性(data integrity)。記憶體0可用以儲存機密(confidential)資料、保護(protection)資料或管理(management)資料,其中,保護資料包括:使用者設定的安全資訊(例如密碼)、偵錯日誌等,其中偵錯日誌較佳為S.M.A.R.T.(Self-Monitoring Analysis and Reporting Technology,自我監測、分析及報告技術)資訊。記憶體0具有多個SLC類型資料區塊240,而每一個SLC類型資料區塊240較佳具有二個平面(planes),分別以平面P1與P2來表示。每一個平面具有Q+1個實體資料頁(physical page),其中Q為自然數,例如是256。控制單元210較佳可同時對平面P1與P2的一個資料頁進行存取,此運作模式稱之為多平面(multi-planes)存取,並將此二個平面P1與P2資料頁邏輯上視為一個多平面資料頁250。想當然爾,控制單元210亦可分別對平面P1與P2的一個資料頁進行存取,此為實作上的選項,並不以此為限。
記憶體1~4較佳為TLC(Triple-Level Cell,三階儲存單元)類型快閃記憶體,用以儲存使用者資料。每一記憶體1~4亦具有多個TLC類型資料區塊,每一個TLC類型資料區塊具有二個平面,分別以P1與P2來表示,支援多平面(multi-planes)存取;每一個平面具有R+1個資料頁(或稱實體資料頁,physical page),其中R為自然數,例如是2304。控制單元210較佳可同時對記憶體1~4的一個TLC類型資料區塊進行存取,此時,邏輯上可將總共4個TLC類型資料區塊視為一個超級資料區塊260,並將總共8個資料頁視為一個超級資料頁270。想當然爾,控制單元210亦可只選取記憶體1~4的其中一個資料區塊進行存取,此為實作上的選項,並不以此為限。
在實作上,記憶體0亦可為操作於binary mode的MLC(Multi-Level Cell,多階儲存單元)或TLC類型快閃記憶體;記憶體1~4亦可為MLC或SLC類型快閃記憶體。使用者可以依其實際需求而進行替換,並不以本發明中的設定為限。
圖3為依照本發明一實施例之資料儲存方法的流程圖,請同時參照圖1~3。步驟S301:選取一個主動資料區塊以儲存來自主機100的資料。當資料儲存裝置200接收來自主機100的寫入命令時,資料儲存裝置200的控制單元210便會選取一個超級資料區塊260,例如:超級資料區塊#0,作為主動資料區塊,以儲存來自主機100的資料,而來自主機100的資料較佳係依序儲存至超級資料區塊#0的超級資料頁270。假設超級資料區塊#0包含2304個超級資料頁270,則來自主機100的資料較佳先從超級資料區塊#0的超級資料頁#0開始寫入資料,接著是超級資料頁#1,以下依此類推。如果超級資料區塊#0已寫滿資料,則控制單元210便會選取另一個超級資料區塊260,例如超級資料區塊#1,作為主動資料區塊,以儲存後續的資料。
步驟S302,判斷是否發生電源中斷事件。控制單元210會持續地判斷是否發生電源中斷事件。當主機100因故停止對資料儲存裝置200進行供電,或要求資料儲存裝置200進入指定的電力狀態(power state)以節約電力的消耗,皆可能觸發電源中斷事件。
步驟S303,記錄主動資料區塊的編號以及主動資料區塊中具有資料的最後一個資料頁的編號。假設發生電源中斷事件時,最後一個完成資料寫入或即將完成資料寫入的是超級資料區塊#0的超級資料頁#63,則超級資料頁#63為具有資料的最後一個超級資料頁270,那麼控制單元210就會將超級資料區塊的編號0與超級資料頁270的編號63這二者記錄下來。
步驟S304,產生主要F2H對照表,其中,主要F2H對照表係記錄具有資料的最後一個資料頁及其之前的所有資料頁的資料的對應關係。以前述的例子來說,此主要F2H對照表係記錄超級資料區塊#0之超級資料頁#63及其以前的所有超級資料頁270,即超級資料頁#0至超級資料頁#63共計64個超級資料頁270,的資料的對應關係。相較於習知方法,依習知方法所產生的完整F2H對照表則需要將超級資料頁#0至超級資料頁#2303,總共2304個超級資料頁270,的資料的對應關係通通記錄下來。對比之下,依本發明之資料儲存方法所產生的主要F2H對照表僅為完整F2H對照表的一部份,除了資料量較少之外,產生主要F2H對照表所需的時間亦較短。
在步驟S304的另一實施例中,主要F2H對照表僅記錄具有資料的最後一個資料頁及其以前的所有資料頁的有效資料的對應關係。以前述的例子來說,最後一個具有資料的資料頁是超級資料頁#63,假設超級資料頁#0~#63所儲存的資料皆為有效資料,則控制單元210會產生包含超級資料頁#0~#63的資料的對應關係的主要F2H對照表,此主要F2H對照表的內容與上一實施例相同;假設超級資料頁#0~#63中僅超級資料頁#60~#63所儲存的資料為有效資料,則控制單元210僅產生包含超級資料頁#60~#63的資料的對應關係的主要F2H對照表,如此一來,此實施例的主要F2H對照表的大小會小於上一實施例。綜上所述,依此實施例所產生的主要F2H對照表的資料量會小於完整F2H對照表的資料量。
步驟S305,將主要F2H對照表、主動資料區塊的編號、以及具有資料的最後一個資料頁的編號寫入至指定資料區塊,其中,指定資料區塊與主動資料區塊較佳為不同類型的資料區塊,或指定資料區塊的每個儲存單元(cell)的資料儲存能力不大於主動資料區塊的每個儲存單元(cell)的資料儲存能力,或指定資料區塊不用以儲存來自主機100的資料。以上述為例,控制單元210便將產生的主要F2H對照表、超級資料區塊260的編號0、以及具有資料的最後一個超級資料頁270的編號63寫入至SLC類型資料區塊#0的多平面資料頁250。
依習知方法所產生的完整F2H對照表,其記錄超級資料區塊#0之2304個超級資料頁270的資料的對應關係,而儲存此完整F2H對照表共需要SLC類型資料區塊240中的72個多平面資料頁250來儲存,則較佳將完整F2H對照表分割成72份,使每一分割後的完整F2H對照表可儲存至SLC類型資料區塊240的一個資料頁,並分別給予一個編號,例如編號0~71,則第一個分割後的完整F2H對照表為F2H#0對照表,第72個分割後的完整F2H對照表為F2H#71對照表,而每一個分割後的完整F2H對照表係可記錄32個超級資料頁270的資料的對應關係。另外,使用者亦可使每一分割後的完整F2H對照表可儲存至SLC類型資料區塊240的複數個資料頁,其運作原理相似,故不多作說明。由於主要F2H對照表以及SLC類型資料區塊240的多平面資料頁250的大小為已知,因此,控制單元210可以計算出儲存主要F2H對照表所需的多平面資料頁250的數目,並將主要F2H對照表予以分割, 每一個分割後的主要F2H對照表給予一個編號(index),而此編號與分割後的完整F2H對照表的編號一致。
由於主要F2H對照表僅為完整F2H對照表的一部份,假設主要F2H對照表需儲存至SLC類型資料區塊240的二個多平面資料頁250,那麼控制單元210可將主要F2H對照表分割並寫入至多平面資料頁#K與#K+1,其中K亦為自然數,並在這二個多平面資料頁250中分別儲存F2H#0對照表與F2H#1對照表。較佳地,F2H#0對照表與F2H#1對照表的編號,即編號0以及1,可分別記錄在多平面資料頁#K與#K+1的詮釋資料(matadata)中,以作為日後資料確認的依據。此外,超級資料區塊260的編號(即編號0)、以及具有資料的最後一個超級資料頁270的編號(即編號63)亦可記錄在多平面資料頁#K與#K+1的詮釋資料中,同樣可以作為日後資料確認的依據。
由於SLC類型快閃記憶體240的可靠性(即錯誤率)優於MLC類型快閃記憶體的可靠性,而MLC類型快閃記憶體的可靠性又優於TLC類型快閃記憶體的可靠性,因此將步驟S303所產生的主要F2H對照表儲存在SLC類型資料區塊240可以使主要F2H對照表得到較好的保護。
圖4為依照本發明另一實施例之資料儲存方法的流程圖,相較於圖3所對應的實施例,圖4所對應的實施例可適用於同一主動資料區塊上發生多重電源中斷事件的處理。步驟S401:選取一個主動資料區塊以儲存來自主機100的資料;S402:判斷是否發生電源中斷事件。由於步驟S401與S301相同,步驟S402與S302相同,故不多作說明。
步驟S403,當步驟S402的判斷結果為是時,判斷此主動資料區塊是否已發生另一電源中斷事件。以前述例子來說就是判斷超級資料區塊#0是否已發生上述另一電源中斷事件。
步驟S404,當步驟S403的判斷結果為否時,記錄主動資料區塊的編號以及主動資料區塊中具有資料的最後一個資料頁的主要編號;步驟S405,產生主要F2H對照表,其中,主要F2H對照表係記錄具有資料的最後一個資料頁及其之前的所有資料頁的資料的對應關係;步驟S406,將主要F2H對照表、主動資料區塊的編號、以及具有資料的最後一個資料頁的主要編號寫入至指定資料區塊,其中,指定資料區塊與主動資料區塊較佳為不同類型的資料區塊,或指定資料區塊的每個儲存單元的資料儲存能力不大於主動資料區塊的每個儲存單元的資料儲存能力,或指定資料區塊不用以儲存來自主機100的資料。由於步驟S404與S303類似,步驟S405與S304相同,步驟S406與S305類似,主要的差異乃在於具有資料的最後一個資料頁的編號變更為具有資料的最後一個資料頁的主要編號,故不多作說明。
步驟S407,當步驟S403的判斷結果為是時,記錄主動資料區塊的編號、以及具有資料的最後一個資料頁的次要編號。假設超級資料區塊#0曾發生過電源中斷事件(稱之為第一次電源中斷事件),且當時最後一個具有資料的超級資料頁270是超級資料頁#63。現在又再度發生電源中斷事件(稱之為第二次電源中斷事件),且最後一個具有資料的超級資料頁270是超級資料頁#127,那麼控制單元210就會記錄超級資料區塊的編號0、以及超級資料頁的編號128(即次要編號)。
步驟S408,產生一個次要F2H對照表,此次要F2H對照表係記錄步驟S404的主要編號以及步驟S407的次要編號,此兩個編號之間的所有資料頁的資料的對應關係。控制單元210會產生一個次要F2H對照表,此次要F2H對照表係記錄第一次電源中斷事件時最後一個具有資料的超級資料頁270的編號(即編號63)以及第二次電源中斷事件時最後一個具有資料的超級資料頁270的編號(編號127),兩個編號之間的所有超級資料頁270的資料的對應關係。由於次要F2H對照表係記錄超級資料區塊#0之超級資料頁#64至超級資料頁#127這64個超級資料頁270的資料的對應關係,而非超級資料頁#0至超級資料頁#127這128個超級資料頁270的資料的對應關係,因此,控制單元210僅需較少的時間即能完成次要F2H對照表的建立。
步驟S409,將次要F2H對照表、主動資料區塊的編號、以及具有資料的最後一個資料頁的次要編號寫入至指定資料區塊。控制單元210便將新產生的次要F2H對照表、超級資料區塊260的編號(即編號0)、以及第二次電源中斷時具有資料的的最後一個超級資料頁270的次要編號(即編號127)寫入至 SLC類型資料區塊#0的多平面資料頁250。
假設記錄超級資料頁#64至超級資料頁#127這64個超級資料頁270的資料的對應關係的次要F2H對照表需以SLC類型資料區塊240中的二個多平面資料頁250來儲存,那麼控制單元210可將次要F2H對照表分割並分別寫入至多平面資料頁#K+2與#K+3,並在這二個多平面資料頁250中分別儲存F2H#2對照表與F2H#3對照表。較佳地,F2H#2對照表與F2H#3對照表的編號,即編號2以及3,超級資料區塊260的編號(即編號0)、以及具有資料的最後一個超級資料頁270的編號(即編號127)記錄在多平面資料頁#K+2與#K+3的詮釋資料中,以作為日後資料確認的依據。
假設記錄超級資料頁#64至超級資料頁#127這64個超級資料頁270的資料並非全是新的資料,而是更新後的資料,則分割後的F2H對照表的編號有可能會重覆。例如,超級資料頁#64至超級資料頁#127所儲存的資料包含32筆新的資料以及超級資料頁#0-31的更新資料,則次要F2H對照表包含F2H#2對照表與更新後的F2H#0對照表,則控制單元210可將F2H#2對照表與更新後的F2H#0對照表儲存至多平面資料頁#K+2與#K+3,並將F2H#2對照表與更新後的F2H#0對照表的編號,即編號2以及0,可分別記錄在多平面資料頁#K+2與#K+3的詮釋資料(matadata)中,以作為資料確認的依據。此外,超級資料區塊260的編號(即編號0)、以及具有資料的最後一個超級資料頁270的編號(即編號127)亦可記錄在多平面資料頁#K+2與#K+3的詮釋資料中,同樣可以作為資料確認的依據。
圖5為本發明一實施例的資料回復程序的流程,本發明資料回復程序可應用於資料儲存裝置200,以便於復電後進行資料回復。步驟S501,讀取指定資料區塊而取得F2H對照表、主動資料區塊的編號以及具有資料的最後一個資料頁的編號。控制單元210讀取SLC類型資料區塊240的內容可以取得F2H對照表,例如,步驟S305所儲存的主要F2H對照表,或是步驟S406所儲存的主要F2H對照表以及步驟S409所儲存的次要F2H對照表。
步驟S502判斷F2H對照表的內容是否與主動資料區塊的編號以及具有資料的最後一個資料頁的編號一致。由於F2H對照表的編號乃已建立,因此,藉由詮釋資料所記錄的F2H對照表的編號即可得知分割後的F2H對照表的總數。再判斷是否需要將分割後的F2H對照表予以合併,即可得到完整的主要F2H對照表以及次要F2H對照表。主要F2H對照表及次要F2H對照表的內容本身含有主動資料區塊的編號以及具有資料的最後一個資料頁的編號(主要編號及次要編號)的資訊,控制單元210可藉比對此些資料即可得到判斷的結果。假設詮釋資料所記錄的主動資料區塊是超級資料區塊#0,且具有資料的最後一個超級資料頁270的主要編號是63,次要編號是127,那麼控制單元210就會判斷出這些是否符合主要F2H對照表以及次要F2H對照表的記錄。如果F2H對照表包括主要F2H對照表以及次要F2H對照表,由於次要F2H對照表僅記錄第一次電源中斷事件後所新增或更新的資料的對應關係,因此,次要F2H對照表需結合主要F2H對照表的才是完整的F2H對照表,也才能得到超級資料區塊#0中所有具有資料的超級資料頁270的資料的對應關係。假如分割後的次要F2H對照表的編號與分割後的主要F2H對照表的編號重覆時,如上述例子中所述的F2H#0對照表,這表示於第一次電源中斷事件後,超級資料頁#0~#31的資料已被更新,因此,超級資料頁#0~#31的資料的對應關係將以分割後的次要F2H對照表(即F2H#0對照表)為準。
步驟S503,如果步驟S502的判斷結果為是,則將F2H對照表儲存至揮發性儲存媒體230。控制單元210會將主要F2H對照表儲存至揮發性儲存媒體230,或同時將主要F2H對照表及次要F2H對照表儲存至揮發性儲存媒體230。
步驟S504,選取主動資料區塊以儲存來自主機100的資料。以上述為例,由於超級資料區塊#0仍有空間可以儲存來自主機100的資料,則控制單元210會將後續的資料寫入至超級資料區塊#0中。以上述為例,如果F2H對照表僅包含主要F2H對照表,則後續的資料將寫入至超級資料頁#64以及後續的超級資料頁270;如果F2H對照表包含主要F2H對照表以及次要F2H對照表,則後續的資料將寫入至超級資料頁#128以及後續的超級資料頁270。
在另一實施例中,於步驟S503,控制單元210會將F2H對照表寫入主動資料區塊,並於步驟S504,選取另一個超級資料區塊260,例如超級資料區塊#1,作為主動資料區塊,以儲存來自主機100的資料。或者,於步驟S503,控制單元210會將主要F2H對照表以及次要F2H對照表寫入主動資料區塊,並於步驟S504,選取另一個超級資料區塊260,例如超級資料區塊#1,作為主動資料區塊,以儲存來自主機100的資料。在此實施例中,由於超級資料區塊#0發生過電源中斷事件,其資料儲存能力可能已受到影響,因此,將超級資料區塊#0予以關閉,並選取超級資料區塊#1作為主動資料區塊,可以降低資料流失的風險。此外,若步驟S502中的判斷結果為否,則控制單元210將執行資料修復程序(如步驟S505所示),由於資料修復程序為習知技術,故不多作說明。
綜上所述,在本發明中,由於控制單元210在電源中斷時所產生的主要或次要F2H對照表僅記錄有儲存資料的資料頁的資料的對應關係,因此,產生的主要或次要F2H對照表的資料量會少於採習知方法所產生之完整F2H對照表的資料量,不但可以降低主要或次要F2H對照表的資料量,更能減少產生主要或次要F2H對照表所需要的時間,且將主要或次要F2H對照表儲存至具有較佳資料保存能力的資料區塊中,更能提供主要或次要F2H對照表較佳的保護。
100‧‧‧主機
110‧‧‧中央處理單元
120‧‧‧連接介面
200‧‧‧資料儲存裝置
210‧‧‧控制單元
212‧‧‧介面邏輯
214‧‧‧微處理器
216‧‧‧控制邏輯
220‧‧‧非揮發性儲存媒體
230‧‧‧揮發性儲存媒體
240‧‧‧SLC類型資料區塊
250‧‧‧多平面資料頁
260‧‧‧超級資料區塊
270‧‧‧超級資料頁
F2H#0~ F2H#3‧‧‧具有編號的F2H對照表
P1、P2‧‧‧平面
S301~S305、S401~S409、S501-S505‧‧‧步驟
圖1繪有依照本發明一實施例之資料儲存裝置及其與主機的電性耦接關係; 圖2繪有依照本發明一實施例之非揮發性儲存媒體220的實現方式; 圖3為依照本發明一實施例之資料儲存方法的流程圖; 圖4為依照本發明另一實施例之資料儲存方法的流程圖; 圖5為本發明一實施例的資料回復程序的流程。
Claims (14)
- 一種資料儲存裝置,包括: 一主動資料區塊;以及 一指定資料區塊記錄一F2H對照表以及該主動資料區塊的編號,其中,該F2H對照表記錄該主動資料區塊所儲存的資料的對應關係。
- 如申請專利範圍第1項所述之資料儲存裝置,其中,該指定資料區塊於一中斷事件後記錄該F2H對照表以及該主動資料區塊的編號。
- 如申請專利範圍第1項所述之資料儲存裝置,其中,該主動資料區塊與該指定資料區塊為同一類型的資料區塊。
- 如申請專利範圍第1項所述之資料儲存裝置,其中,該主動資料區塊與該指定資料區塊為不同類型的資料區塊。
- 如申請專利範圍第1項所述之資料儲存裝置,其中,該主動資料區塊與該指定資料區塊操作在不同的工作模式下。
- 如申請專利範圍第1項所述之資料儲存裝置,其中該F2H對照表僅記錄該主動資料區塊所儲存的有效資料的對應關係。
- 如申請專利範圍第1項所述之資料儲存裝置,其中,資料儲存裝置更包括一控制單元。
- 如申請專利範圍第1項所述之資料儲存裝置,其中,該主動資料區塊以儲存來自一主機的資料。
- 如申請專利範圍第1項所述之資料儲存裝置,其中,該指定資料區塊更記錄該主動資料區塊中具有資料的最後一個資料頁的編號。
- 一種資料回復方法,包括下列步驟: 判斷是否曾發生一中斷事件;如果是,則暫存一指定資料區塊所記錄的一F2H對照表;以及 依據該指定資料區塊所記錄的一主動資料區塊的編號而選取該主動資料區塊,並以該主動資料區塊儲存來自一主機的資料。
- 如申請專利範圍第10項所述之資料回復方法,其中,該主動資料區塊與該指定資料區塊為同一類型的資料區塊。
- 如申請專利範圍第10項所述之資料回復方法,其中,該主動資料區塊與該指定資料區塊為不同類型的資料區塊。
- 如申請專利範圍第10項所述之資料回復方法,其中,該主動資料區塊與該指定資料區塊操作在不同的工作模式下。
- 如申請專利範圍第10項所述之資料回復方法,其中,該F2H對照表僅記錄該主動資料區塊所儲存的有效資料的對應關係。
Priority Applications (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| TW106118406A TWI670640B (zh) | 2016-11-25 | 2016-11-25 | 可用於資料儲存裝置之資料儲存方法與資料回復程序、以及採用這些方法的資料儲存裝置 |
Applications Claiming Priority (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| TW106118406A TWI670640B (zh) | 2016-11-25 | 2016-11-25 | 可用於資料儲存裝置之資料儲存方法與資料回復程序、以及採用這些方法的資料儲存裝置 |
Publications (2)
| Publication Number | Publication Date |
|---|---|
| TW201820117A true TW201820117A (zh) | 2018-06-01 |
| TWI670640B TWI670640B (zh) | 2019-09-01 |
Family
ID=63258052
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| TW106118406A TWI670640B (zh) | 2016-11-25 | 2016-11-25 | 可用於資料儲存裝置之資料儲存方法與資料回復程序、以及採用這些方法的資料儲存裝置 |
Country Status (1)
| Country | Link |
|---|---|
| TW (1) | TWI670640B (zh) |
Families Citing this family (2)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| TWI740454B (zh) * | 2020-04-14 | 2021-09-21 | 慧榮科技股份有限公司 | 反應電源事件的資料存取方法及裝置 |
| CN113535459B (zh) | 2020-04-14 | 2024-04-12 | 慧荣科技股份有限公司 | 响应电源事件的数据存取方法及装置 |
Family Cites Families (4)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| CN101458659A (zh) * | 2007-12-14 | 2009-06-17 | 环达电脑(上海)有限公司 | 闪存储存系统及其方法 |
| TW201107970A (en) * | 2009-08-21 | 2011-03-01 | Hsu Hsiu Yu | Memory accessing method for microcontroller |
| TWI448891B (zh) * | 2012-09-06 | 2014-08-11 | Silicon Motion Inc | 資料儲存裝置與快閃記憶體控制方法 |
| US9542278B2 (en) * | 2013-12-26 | 2017-01-10 | Silicon Motion, Inc. | Data storage device and flash memory control method |
-
2016
- 2016-11-25 TW TW106118406A patent/TWI670640B/zh active
Also Published As
| Publication number | Publication date |
|---|---|
| TWI670640B (zh) | 2019-09-01 |
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| KR102580577B1 (ko) | 솔리드 스테이트 드라이브들 내의 zns들 | |
| TWI591533B (zh) | 可用於資料儲存裝置之資料儲存方法與資料回復程序、以及採用這些方法的資料儲存裝置 | |
| US10303599B2 (en) | Memory system executing garbage collection | |
| US11354236B2 (en) | Garbage collection method for data storage device | |
| US11055176B1 (en) | Storage devices hiding parity swapping behavior | |
| TW201732597A (zh) | 資料儲存裝置和其操作方法 | |
| US8127072B2 (en) | Data storage device and method for accessing flash memory | |
| US11726672B2 (en) | Operating method of storage device setting secure mode of command, and operating method of storage system including the storage device | |
| JPWO2009096180A1 (ja) | メモリコントローラ、不揮発性記憶装置、及び、不揮発性記憶システム | |
| US11269783B2 (en) | Operating method for data storage device | |
| CN110764691A (zh) | 数据储存装置以及非挥发式存储器控制方法 | |
| KR20200114212A (ko) | 데이터 저장 장치 및 그것의 동작 방법 | |
| US20140219041A1 (en) | Storage device and data processing method thereof | |
| US11288184B2 (en) | Systems and methods for managing an artificially limited logical space of non-volatile memory | |
| TWI670640B (zh) | 可用於資料儲存裝置之資料儲存方法與資料回復程序、以及採用這些方法的資料儲存裝置 | |
| TW202439150A (zh) | 用於處理要求在快閃記憶體上寫入虛擬樣式的主機寫入命令的方法以及相關記憶體控制器與儲存系統 | |
| CN115904226B (zh) | 固态驱动器、设备及固态驱动器的操作方法 | |
| US20220342584A1 (en) | Data Parking for ZNS Devices | |
| KR20230037255A (ko) | 이벤트 로그 관리 방법, 컨트롤러 및 저장 장치 | |
| US12436680B2 (en) | NVMe copy command acceleration | |
| US12423203B2 (en) | HMB multi-segment optimal selection | |
| TW201621668A (zh) | 資料儲存裝置及其資料寫入方法 | |
| KR20220092770A (ko) | 커맨드의 보안 모드를 설정하는 스토리지 장치의 동작 방법, 및 스토리지 장치를 포함하는 스토리지 시스템의 동작 방법 | |
| US12511078B2 (en) | Selective scanning of overlap-table in storage memories | |
| KR20200053052A (ko) | 스토리지 장치 및 스토리지 장치로 전송되는 데이터를 관리하는 전자 장치 |