TWI667571B - 資料儲存裝置、系統資訊編程方法及系統資訊重建方法 - Google Patents
資料儲存裝置、系統資訊編程方法及系統資訊重建方法 Download PDFInfo
- Publication number
- TWI667571B TWI667571B TW107120420A TW107120420A TWI667571B TW I667571 B TWI667571 B TW I667571B TW 107120420 A TW107120420 A TW 107120420A TW 107120420 A TW107120420 A TW 107120420A TW I667571 B TWI667571 B TW I667571B
- Authority
- TW
- Taiwan
- Prior art keywords
- block
- system information
- pages
- page
- programming
- Prior art date
Links
Landscapes
- Techniques For Improving Reliability Of Storages (AREA)
Abstract
本發明揭露一種資料儲存裝置,包括一記憶體以及一記憶體控制器。記憶體包括一系統區塊,系統區塊包括複數個大頁面。記憶體控制器用以執行一系統資訊編程程序,包括:判斷一系統資訊是否為一區塊連結表;回應於系統資訊為區塊連結表的判斷,編程部份的系統資訊至系統區塊的一頭部大頁面,並編程剩餘的系統資訊至該系統區塊的該些大頁面的至少其中之一,並編程一記錄表至系統區塊的一尾部大頁面;以及回應於系統資訊非該區塊連結表的判斷,編程系統資訊至系統區塊的該些大頁面的至少其中之一,並編程記錄表至系統區塊的尾部大頁面。
Description
本發明是有關於一種資料儲存裝置、系統資訊編程方法及系統資訊重建方法。
隨著記憶體製造工藝的進步,記憶體的單位儲存容量越來越大。在近年來記憶體內部結構的發展趨勢中,每個區塊的儲存容量不斷提高,而區塊的總數則是不斷減少。換言之,現今的記憶體是朝向「少區塊數量,大區塊容量」的方向在演變。
一般而言,一個出廠的資料儲存裝置的記憶體中會儲存許多裝置資訊,例如映射資訊、鏈結資訊及邏輯對實體映射表等。在現今的記憶體的區塊規劃下,這些裝置資訊勢必要採用不同的管理、更新與重建方式,才能更妥善的維護這些裝置資訊,以確保其可靠性。
本發明的目的為提供一種資料儲存裝置、系統資訊編程方法及系統資訊重建方法。
本發明的一方面係揭露一種資料儲存裝置,包括一記憶體以及一記憶體控制器。記憶體包括一系統區塊,系統區塊包括複數個大頁面。記憶體控制器耦接至記憶體。記憶體控制器用以執行一系統資訊編程程序。系統資訊編程程序包括:判斷一系統資訊是否為一區塊連結表;回應於系統資訊為區塊連結表的判斷,編程部份的系統資訊至系統區塊的一頭部大頁面,並編程剩餘的系統資訊至該系統區塊的該些大頁面的至少其中之一,並編程一記錄表至系統區塊的一尾部大頁面;以及回應於系統資訊非該區塊連結表的判斷,編程系統資訊至系統區塊的該些大頁面的至少其中之一,並編程記錄表至系統區塊的尾部大頁面。
本發明的另一方面係揭露一種系統資訊編程方法,適用於一資料儲存裝置。資料儲存裝置包括一記憶體及一記憶體控制器。當系統資訊編程方法由記憶體控制器執行時,致使記憶體控制器執行下列操作:判斷一系統資訊是否為一區塊連結表;回應於系統資訊為區塊連結表的判斷,編程部份的系統資訊至記憶體的一系統區塊的複數個大頁面中的一頭部大頁面,並編程剩餘的系統資訊至該系統區塊的該些大頁面的至少其中之一,並編程一記錄表至系統區塊的一尾部大頁面;以及回應於系統資訊非區塊連結表的判斷,編程系統資訊至系統區塊的該些大頁面的至少其中之一,並編程記錄表至系統區塊的尾部大頁面。
本發明的又一方面係揭露一種系統資訊重建方法,適用於一資料儲存裝置。資料儲存裝置包括一記憶體及一記憶體控制器。當系統資訊編程方法由記憶體控制器執行時,致使記憶體控制器執行下列操作:反向取得該記憶體的一系統區塊的一有效大頁面,並記錄對該系統區塊的複數個大頁面進行掃描的一掃描頁數;判斷有效大頁面是否為一頭部大頁面且掃描頁數不大於儲存一區塊連結表所需的大頁面總數;回應於有效大頁面為頭部大頁面且該掃描頁數不大於儲存區塊連結表所需的大頁面總數為是的判斷,將一連結旗標的值由一第一值變更為一第二值;回應於有效大頁面為頭部大頁面且掃描頁數不大於儲存區塊連結表所需的大頁面總數為否的判斷,判斷掃描頁數是否大於儲存區塊連結表所需的大頁面總數且連結旗標為該第一值;以及回應於掃描頁數大於儲存區塊連結表所需的大頁面總數且連結旗標為第一值為是的判斷,重建區塊連結表。
依據本發明提供的資料儲存裝置、系統資訊編程方法及系統資訊重建方法,能夠更加精確地判斷出是否要重建區塊連結表及映射資訊表。由於映射資訊表重建需要耗費大量的時間與系統資源,基於本發明可減少錯誤判定重建映射資訊表的情況,而能夠提升資料儲存裝置的整體效能。
為了對本發明之上述及其他方面有更佳的瞭解,下文特舉實施例,並配合所附圖式詳細說明如下:
請參照第1圖,第1圖繪示依據本發明一實施例的資料儲存裝置的方塊圖。資料儲存裝置100主要包括非揮發性記憶體102以及記憶體控制器104,資料儲存裝置100更可包括揮發性記憶體以暫存使用者資料或記憶體控制器104運作所需之韌體或邏輯對實體(Logical to physical, L2P)映射表(Mapping Table)。記憶體控制器104耦接至非揮發性記憶體102,並可用於執行本揭露實施例所描述的系統資訊的編程方法。
資料儲存裝置100更可耦接至一主機(未繪示)。主機可輸出資料存取指令(讀出或寫入)至資料儲存裝置100以存取資料儲存裝置100的使用者資料(讀出或寫入使用者資料)。舉例來說,資料儲存裝置100中的記憶體控制器104可回應來自主機的資料讀取指令,對非揮發性記憶體102中的一或多個特定實體位址進行讀取操作。主機可以為個人電腦、手機、平板電腦、車載系統、導航裝置等。
非揮發性記憶體102可例如是反及閘快閃記憶體(NAND flash)。記憶體控制器104可實現成一或多個控制器晶片,其可與非揮發性記憶體102相互傳送/接收資料與指令,以實現對非揮發性記憶體102的操作,例如讀取(read)、編程(program)、抹除(erase)等操作。
非揮發性記憶體102較佳具有一或多個邏輯單元編號(Logical Unit Number, LUN),可由一晶片致能(Chip Enable,CE)訊號而選取/致能。每一邏輯單元編號包括例如4個平面(Plane),即平面PL1~PL4,每一平面PL1~PL4包括例如2048個區塊(Block),即區塊Bk1~Bkn,其中k=1,2,3,4,n=2048。每一區塊Bk1~Bkn包括例如1024個頁面(Page),即頁面P1~Pm,其中m=1024。每一頁面可由一個字線(Word line)所控制,而一個字線可控制一個以上頁面。一頁面例如具有16768B大小的資料儲存空間,並可劃分成16KB大小的資料區以及384B大小的備用區,資料區可儲存資料(使用者資料或系統資訊),備用區可儲存資料的元資料(Metadata)。另外,字線上的記憶胞可以是四階式記憶胞(Quad Level Cell,QLC)、三階式記憶胞(Triple Level Cell,TLC)、雙階式記憶胞(Multiple Level Cell,MLC)或是單階式記憶胞(Single Level Cell,SLC)。需要注意的是,本實施例係為示例性的,晶片、平面、區塊、頁面、字線及記憶胞的數量皆可依實際需要進行設計與配置。
假設邏輯單元編號包括有四個平面,為了使資料儲存裝置100的效能最大化,在進行資料寫入時,記憶體控制器104通常會以交錯式編程(Interleaved programming)的方式將資料寫入非揮發性記憶體102中。當執行交錯式編程時,理論上可節省資料編程至所有平面的區塊(的頁面)的時間,例如,將4筆資料交錯式編程至平面PL1的區塊B11、平面PL2的區塊B21、平面PL3的區塊B31及平面PL4的區塊B41時,可節省3筆資料的編程時間,如此一來,交錯式編程可提供較高的資料寫入速度。
資料儲存裝置100的系統資訊例如是系統規格、操作參數、映射資訊表、區塊連結表(Linking Table)、壞塊資訊、塊屬性表(例如用以記錄抺除次數或有效頁面數)、除錯資訊表(例如SMART資訊表)等,其中,映射資訊表又稱為高階映射表,其記錄邏輯對實體(Logical to Physical,L2P)映射表的每一子邏輯對實體映射表的位址資訊。不同於使用者資料,系統資訊的預設(或最大值)大小可能不相同,例如:區塊連結表的大小為380KB,映射資訊表的大小為90KB,壞塊資訊的大小為4KB。在上述系統資訊中,區塊連結表(或稱連結表)記錄區塊使用的先後順序,且區塊連結表通常會在任一個區塊寫入區塊關閉資訊(End of Block, EOB)時進行更新。為了提高資料保存能力,記憶體控制器104較佳以非預設模式或SLC模式進行系統資訊的編程。假如以SLC模式進行系統資訊的編程時,一個字線只控制一個頁面。另外,為了方便管理不同類型的系統資訊,記憶體控制器104通常使用一個區塊來記錄一種類型的系統資訊,假如有十種類型的系統資訊,即記憶體控制器104通常使用十個區塊來分別記錄系統資訊。
請參照第2A圖,第2A圖繪示依據本發明另一實施例的資料儲存裝置的方塊圖。資料儲存裝置200的非揮發性記憶體可包括四個邏輯單元編號102A~102D以及記憶體控制器104,每一邏輯單元編號102A~102D具有與非揮發性記憶體102相同或類似的結構,每一邏輯單元編號102A~102D透過獨立的通道(Channel)而連結至記憶體控制器104,記憶體控制器104可以相同的晶片致能訊號或不同的晶片致能訊號致能每一邏輯單元編號102A~102D,並進行資料的存取。
在四通道的架構下,記憶體控制器104可以平行地存取邏輯單元編號102A~102D,資料儲存裝置200的內部資料傳輸量(Data Throughput)為資料儲存裝置100的四倍。在四通道的架構下,記憶體控制器104可以從每一邏輯單元編號的每一平面中分別選取一個區塊以組成一個超級區塊,被選取的區塊又可稱為成員區塊(member block)。例如,記憶體控制器104選取每一邏輯單元編號102A~102D的每一平面PL1~PL4的區塊B11~B41組成一個超級區塊SB1,以此類推。此時,記憶體控制器104使用一個超級區塊來記錄一種類型的系統資訊,假如有十種類型的系統資訊,即記憶體控制器104通常使用十個超級區塊來分別記錄系統資訊。相較於單一區塊,由於超級區塊的存取具有較高的效能。因此,在下述的段落中將以超級區塊為例進行說明,但不以此為限。
隨著非揮發性記憶體102的技術演進,非揮發性記憶體102的區塊的數量可能不會增加,但每個區塊中的頁面數量卻不斷地往上增長,以增加非揮發性記憶體102的資料儲存量。如果記憶體控制器104仍使用十個超級區塊來記錄系統資訊時,系統資訊將佔用許多非揮發性記憶體102的資料儲存空間。
為了降低系統資訊所佔用的資料儲存量,本發明將不同類型的系統資訊儲存至同一超級區塊,例如超級區塊SB1。為了進一步降低系統資訊所佔用的資料儲存量,可依據平面數量參數將超級區塊SB1區分成複數小區塊,假設平面數量參數為2,則超級區塊SB1中位於邏輯單元編號102A的平面PL1~PL2的區塊B11~B21設為第一個小區塊,位於邏輯單元編號102A的平面PL3~PL4的區塊B31~B41設為第二個小區塊,位於邏輯單元編號102D的平面PL3~PL4的區塊B31~B41設為第八個小區塊。接著,依序將所有小區塊中位於不同平面的頁面組成大頁面。如此一來,超級區塊SB1會包括8192個大頁面,即大頁面 BP1~BP8192,如第2B圖所示。假設一個平面的頁面的資料區的大小為16KB,則一個大頁面的資料區的大小為32KB。以大頁面作為系統資訊的儲存單元,不但可加速資料儲存的效率,亦可降低資料儲存空間的佔用。
由於不同類型的系統資訊皆儲存至超級區塊SB1中,當系統資訊編程至超級區塊SB1的過程中,如果遇到意外中斷(例如電力中斷事件),將可能使部份大頁面所儲存的資料遺失,進而造成系統資訊的不完整,導致系統資訊有重建的需要。然而,重建系統資訊中的映射資訊表需花費大量的時間,重建區塊連結表也是。因此,本發明揭露一種系統資訊重建方法,配合本發明系統資訊編程方法,可於發生意外中斷後,針對系統資訊的完整性進行判斷,以決定是否需要重建映射資訊表或區塊連結表。如此一來,可以更有效率地重建系統資訊,避免在不需重建系統資訊的情況下,卻進行系統資訊重建,減少不必要的時間消耗。
請參照第3A圖,第3A圖繪示依據本發明一實施例的系統資訊編程方法的流程圖。步驟S302中,記憶體控制器104選取一個區塊作為系統區塊以儲存系統資訊。例如:記憶體控制器104選取超級區塊SB1作為系統區塊以儲存系統資訊。
步驟S304中,記憶體控制器104判斷系統資訊是否為連結表,其中,記憶體控制器104可依據系統資訊的系統資訊代碼、長度或其他旗標而判斷系統資訊是否為區塊連結表,如果是則執行步驟S306,否則執行步驟S310。
步驟S306中,記憶體控制器104編程部份系統資訊至系統區塊的頭部大頁面。假設區塊連結表的大小為380KB,一個大頁面的大小為32KB,則區塊連結表需編程至十二個大頁面(連結頁面值等於12)。記憶體控制器104將這十二個大頁面中的第一個大頁面作為頭部大頁面,第十二個大頁面作為尾部大頁面。記憶體控制器104僅將部份區塊連結表編程至頭部大頁面,如第3B圖所示,記憶體控制器104僅編程區塊連結表#A的區塊連結表#A0至超級區塊SB1的大頁面BP1(頭部大頁面)。另外,記憶體控制器104於執行資料編程之後,較佳更讀取大頁面BP1的內容以確認區塊連結表#A0的確已編程至大頁面BP1。
步驟S308中,記憶體控制器104編程剩餘系統資訊至系統區塊的至少一大頁面並編程記錄表至系統區塊的尾部大頁面。在四通道的架構下,記憶體控制器104可平行地編程區塊連結表#A的剩餘區塊連結表至系統區塊的多個大頁面,例如,先平行地編程區塊連結表#A1~A7至大頁面BP2~BP8,接著,再平行地編程區塊連結表#A8~A11至大頁面BP9~BP12以完成區塊連結表#A的儲存。另外,記憶體控制器104同時編程區塊連結表#A11以及記錄表至大頁面BP12(尾部大頁面),其中,區塊連結表#A11較佳編程至大頁面BP12的資料區,記錄表較佳編程至大頁面BP12的備用區。
記錄表較佳記錄系統資訊的系統資訊代碼以及儲存位址。例如,系統資訊有五種類型,系統資訊代碼分別為A~E,當區塊連結表儲存至超級區塊的大頁面BP1~BP12時,區塊連結表的儲存位址由預設值「FF」更新為大頁面BP1,如下表所示:
系統資訊的類型 系統資訊代碼 儲存位址 大頁面總數 系統規格 A FF 1 操作參數 B FF 1 映射資訊表 C FF 3 區塊連結表 D BP1 12 壞塊資訊 E FF 1
儲存至記錄表更可記錄不同類型的系統資訊所佔用的大頁面總數。
步驟S310中,記憶體控制器104編程系統資訊至系統區塊的至少一大頁面以及編程記錄表至系統區塊的尾部大頁面。假設系統資訊為映射資訊表#A,映射資訊表#A的大小為90KB,一個大頁面的大小為32KB,則記憶體控制器104將映射資訊表#A0~A2編程至系統區塊的三個大頁面,即大頁面BP13~BP15,並將更新後的記錄表編程至大頁面BP15,更新後的記錄表如下所示:
系統資訊的類型 系統資訊代碼 儲存位址 大頁面總數 系統規格 A FF 1 操作參數 B FF 1 映射資訊表 C BP13 3 區塊連結表 D BP1 12 壞塊資訊 E FF 1
假如區塊連結表有更新時,則記憶體控制器104再度執行步驟S304,將區塊連結表#B0編程至頭部大頁面,即大頁面BP16,接著執行步驟S306,編程區塊連結表#B1~B11至大頁面BP17~BP27並編程記錄表至大頁面BP27。
假設記憶體控制器104於編程區塊連結表#B1~B11至大頁面BP17~BP27的過程中發生了電力中斷事件,導致區塊連結表#B1~B2並未成功地編程大頁面BP17~BP18,區塊連結表#B3~B11尚未開始編程程序。電力中斷事件之後,記憶體控制器104執行本發明系統資訊重建方法,如第3C圖所示,以重建系統資訊。
在步驟S312中,記憶體控制器104反向取得系統區塊的有效大頁面並記錄大頁面的掃描頁數。記憶體控制器104從系統區塊的最後一個大頁面,朝著大頁面BP1,讀取每個大頁面的內容。如果大頁面未儲存資料,例如大頁面BP19,則大頁面的內容與預設值(例如:FFFF,FFFF)相同;如果資料未成功地編程至大頁面,例如:大頁面BP17~BP18,則大頁面的內容通常無法以錯誤更正碼(Error Correction Code,ECC)進行修正,則此大頁面為無效大頁面(標註為”X”);如果資料成功地編程至大頁面,例如:大頁面BP16,則大頁面的內容可以ECC方式進行修正並讀取,則此大頁面為有效大頁面(標註為”O”)。以第3C圖為例,有效大頁面為大頁面BP16。本文所謂「反向」指的是相反於編程大頁面時的順序的方向。例如,編程大頁面時是從BP1開始向BP8192的順序進行編程,則掃描時即從BP8192開始向BP1的順序進行掃描(即反向)。也就是說,在本實施例中,記憶體控制器104以一第一順序對該些大頁面進行編程,並以一第二順序對該些大頁面進行掃描,其中第二順序相反於第一順序。
在步驟S314中,記憶體控制器104判斷有效大頁面是否為頭部大頁面且掃描頁數不大於儲存連結表所需的大頁面總數。此時大頁面BP16恰好為儲存區塊連結表#B的頭部大頁面,掃描頁數(等於3)不大於區塊連結表的大頁面總數(等於12),因此,判斷結果為真,接著執行步驟S316;如果判斷結果為否,接著執行步驟S318。
在步驟S316中,記憶體控制器104設定連結旗標,即記憶體控制器104將連結旗標的值由一第一值(例如「0」)變更為一第二值(例如「1」),接著,重新執行步驟S312。在步驟S312中,記憶體控制器104取得下一個有效大頁面,即大頁面BP15,此為儲存映射資訊表#A的尾部大頁面,且掃描頁數的值增加為4。由於大頁面BP15並非頭部大頁面,因此步驟S314的判斷結果為否,故執行步驟S318。
在步驟S318中,記憶體控制器104判斷掃描頁數是否大於儲存區塊連結表所需的大頁面總數且連結旗標尚未設定(即仍維持第一值),此時,掃描頁數(等於4)不大於區塊連結表的大頁面總數(等於12),因此,判斷結果為否,故執行步驟S320。
在步驟S320中,記憶體控制器104判斷有效大頁面是否儲存記錄表,此時大頁面BP15為儲存映射資訊表#A的尾部大頁面,因此,儲存有記錄表,因此,判斷結果為真,故執行步驟S322。
在步驟S322中,記憶體控制器104判斷掃描頁數是否大於儲存映射資訊表所需的大頁面總數且連結旗標尚未設定,如果判斷結果為真,則執行步驟S328,如果判斷結果為否,則執行步驟S324。此時,掃描頁數(等於4)大於映射資訊表的大頁面總數(等於3),這表示無效大頁面有可能儲存映射資訊表,然而,連結旗標已被設定,因此無效大頁面不可能儲存映射資訊表,反而是儲存區塊連結表#B的其他內容。由於電力中斷事件而導致區塊連結表的更新(區塊連結表#B)尚未完成,因此,區塊連結表#A仍有最新的區塊連結表,因此,無需重建映射資訊表或區塊連結表。
在步驟S324中,記憶體控制器104依據步驟S320所取得的記錄表取得系統資訊。記憶體控制器104讀取記錄表即可取得區塊連結表#A的儲存位址,進而取得最新的區塊連結表(區塊連結表#A),當然,記憶體控制器104讀取記錄表亦可取得其他類型的系統資訊的儲存位址,進而取得其他類型的系統資訊,達到本發明的目的。
在另一種情況下,假設步驟S312中取得的有效大頁面為大頁面BP12,大頁面BP13~BP15皆為無效大頁面,掃描頁數為4,如第3D圖所示。此時步驟S314的判斷結果為否,所以不設定連結旗標。接著,步驟S318的判斷結果為否,步驟S320的判斷結果為是,所以記憶體控制器104從大頁面BP12取得記錄表。由於掃描頁數(等於4)大於映射資訊表的大頁面總數(等於3)且連結旗標並未設定,所以步驟S322的判斷結果為真,表示大頁面BP13~BP18可能儲存映射資訊表,因此執行步驟S328,記憶體控制器104重建映射資訊表(映射資訊表#A)。
在另一種情況下,大頁面BP21~BP27皆為無效大頁面,大頁面BP20為有效大頁面,如第3E圖所示。由於大頁面BP20並未儲存記錄表,因此,記憶體控制器104反向取得下一個有效大頁面,即大頁面BP19,以此類推。當記憶體控制器104取得有效大頁面BP15時,掃描頁數已增加至13且已大於區塊連結表的大頁面總數(等於12)且連結旗標並未設定,因此執行步驟S326,記憶體控制器104重建區塊連結表#B。接著,記憶體控制器104判斷有效大頁面BP13為頭部大頁面,並在有效大頁面BP12取得記錄表,此時掃描頁數已增加至16且已大於映射資訊表的大頁面總數(等於3)且連結旗標並未設定,因此執行步驟S328,記憶體控制器104重建映射資訊表#A。最後,記憶體控制器104再依據記錄表取得其他類型的系統資訊的儲存位址,進而取得其他類型的系統資訊。
值得一提的是,重建映射資訊表或重建區塊連結表可採用本領域中具有通常知識者所熟知的任何手段,本發明並加以限定。
綜上所述,雖然本發明已以實施例揭露如上,然其並非用以限定本發明。本發明所屬技術領域中具有通常知識者,在不脫離本發明之精神和範圍內,當可作各種之更動與潤飾。因此,本發明之保護範圍當視後附之申請專利範圍所界定者為準。
100‧‧‧資料儲存裝置
102‧‧‧記憶體
104‧‧‧記憶體控制器
PL1~PL4‧‧‧平面
B11~B4n‧‧‧區塊
P1~Pm‧‧‧頁面
SB‧‧‧系統區塊
BP1~BPm‧‧‧大頁面
S201~S328‧‧‧步驟
第1圖繪示依據本發明一實施例的資料儲存裝置的示意圖。 第2A圖繪示依據本發明另一實施例的資料儲存裝置的方塊圖。 第2B圖繪示依據本發明一實施例的大頁面的示意圖。 第3A圖繪示依據本發明一實施例的系統資訊編程方法的流程圖。 第3B圖繪示依據本發明一實施例執行系統資訊編程的示意圖。 第3C圖繪示依據本發明一實施例的系統資訊重建方法的流程圖。 第3D圖繪示依據本發明一實施例執行系統資訊重建的一例。 第3E圖繪示依據本發明一實施例執行系統資訊重建的另一例。
Claims (10)
- 一種資料儲存裝置,包括: 一記憶體,包括一系統區塊,該系統區塊包括複數個大頁面;以及 一記憶體控制器,耦接至該記憶體,該記憶體控制器用以執行一系統資訊編程程序,該系統資訊編程程序包括: 判斷一系統資訊是否為一區塊連結表; 回應於該系統資訊為該區塊連結表的判斷,編程部份的該系統資訊至該系統區塊的一頭部大頁面,並編程剩餘的該系統資訊至該系統區塊的該些大頁面的至少其中之一,並編程一記錄表至該系統區塊的一尾部大頁面;以及 回應於該系統資訊非該區塊連結表的判斷,編程該系統資訊至該系統區塊的該些大頁面的至少其中之一,並編程該記錄表至該系統區塊的該尾部大頁面。
- 如申請專利範圍第1項所述之資料儲存裝置,其中該記憶體控制器於編程該系統資訊之後,更讀取對應的該一或多個大頁面的內容以確認是否成功完成編程。
- 如申請專利範圍第1項所述之資料儲存裝置,其中該記憶體控制器依據該系統資訊的一系統資訊代碼、一長度或一旗標判斷該系統資訊是否為該區塊連結表。
- 如申請專利範圍第1項所述之資料儲存裝置,其中該記憶體控制器更用以執行一系統資訊重建程序,該系統資訊重建程序包括: 反向取得該系統區塊的一有效大頁面,並記錄對該些大頁面進行掃描的一掃描頁數; 判斷該有效大頁面是否為該頭部大頁面且該掃描頁數不大於儲存該區塊連結表所需的大頁面總數; 回應於該有效大頁面為該頭部大頁面且該掃描頁數不大於儲存該區塊連結表所需的大頁面總數為是的判斷,將一連結旗標的值由一第一值變更為一第二值; 回應於該有效大頁面為該頭部大頁面且該掃描頁數不大於儲存該區塊連結表所需的大頁面總數為否的判斷,判斷該掃描頁數是否大於儲存該區塊連結表所需的大頁面總數且該連結旗標為該第一值;以及 回應於該掃描頁數大於儲存該區塊連結表所需的大頁面總數且該連結旗標為該第一值為是的判斷,重建該區塊連結表。
- 如申請專利範圍第4項所述之資料儲存裝置,其中該系統資訊重建程序更包括: 回應於該掃描頁數不大於儲存該區塊連結表所需的大頁面總數且該連結旗標為該第一值為否的判斷,判斷該有效大頁面是否儲存有該記錄表; 回應於該有效大頁面儲存有該記錄表為是的判斷,判斷該掃描頁數是否大於儲存該映射資訊表所需的大頁面總數且該連結旗標為該第一值; 回應於該掃描頁數大於儲存一映射資訊表所需的大頁面總數且該連結旗標為該第一值為是的判斷,重建該映射資訊表;以及 回應於該掃描頁數大於儲存該映射資訊表所需的大頁面總數且該連結旗標為該第一值為否的判斷,依據該記錄表取得該系統資訊。
- 一種系統資訊編程方法,適用於一資料儲存裝置,該資料儲存裝置包括一記憶體及一記憶體控制器,當該系統資訊編程方法由該記憶體控制器執行時,致使該記憶體控制器執行下列操作: 判斷一系統資訊是否為一區塊連結表; 回應於該系統資訊為該區塊連結表的判斷,編程部份的該系統資訊至該記憶體的一系統區塊的複數個大頁面中的一頭部大頁面,並編程剩餘的該系統資訊至該系統區塊的該些大頁面的至少其中之一,並編程一記錄表至該系統區塊的一尾部大頁面;以及 回應於該系統資訊非該區塊連結表的判斷,編程該系統資訊至該系統區塊的該些大頁面的至少其中之一,並編程該記錄表至該系統區塊的該尾部大頁面。
- 如申請專利範圍第6項所述之系統資訊編程方法,其中該記憶體控制器於編程該系統資訊之後,更讀取對應的該一或多個大頁面的內容以確認是否成功完成編程。
- 如申請專利範圍第1項所述之系統資訊編程方法,其中該記憶體控制器依據該系統資訊的一系統資訊代碼、一長度或一旗標判斷該系統資訊是否為該區塊連結表。
- 一種系統資訊重建方法,適用於一資料儲存裝置,該資料儲存裝置包括一記憶體及一記憶體控制器,當該系統資訊重建方法由該記憶體控制器執行時,致使該記憶體控制器執行下列操作: 反向取得該記憶體的一系統區塊的一有效大頁面,並記錄對該系統區塊的複數個大頁面進行掃描的一掃描頁數; 判斷該有效大頁面是否為一頭部大頁面且該掃描頁數不大於儲存一區塊連結表所需的大頁面總數; 回應於該有效大頁面為該頭部大頁面且該掃描頁數不大於儲存該區塊連結表所需的大頁面總數為是的判斷,將一連結旗標的值由一第一值變更為一第二值; 回應於該有效大頁面為該頭部大頁面且該掃描頁數不大於儲存該區塊連結表所需的大頁面總數為否的判斷,判斷該掃描頁數是否大於儲存該區塊連結表所需的大頁面總數且該連結旗標為該第一值;以及 回應於該掃描頁數大於儲存該區塊連結表所需的大頁面總數且該連結旗標為該第一值為是的判斷,重建該區塊連結表。
- 如申請專利範圍第9項所述之系統資訊重建方法,更包括: 回應於該掃描頁數不大於儲存該區塊連結表所需的大頁面總數且該連結旗標為該第一值為否的判斷,判斷該有效大頁面是否儲存有該記錄表; 回應於該有效大頁面儲存有該記錄表為是的判斷,判斷該掃描頁數是否大於儲存一映射資訊表所需的大頁面總數且該連結旗標為該第一值; 回應於該掃描頁數大於儲存該映射資訊表所需的大頁面總數且該連結旗標為該第一值為是的判斷,重建該映射資訊表;以及 回應於該掃描頁數大於儲存該映射資訊表所需的大頁面總數且該連結旗標為該第一值為否的判斷,依據該記錄表取得該系統資訊。
Priority Applications (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
TW107120420A TWI667571B (zh) | 2018-06-13 | 2018-06-13 | 資料儲存裝置、系統資訊編程方法及系統資訊重建方法 |
CN201810713691.8A CN110489052B (zh) | 2018-05-14 | 2018-07-03 | 数据储存装置 |
US16/411,967 US20190347006A1 (en) | 2018-05-14 | 2019-05-14 | Method of system information programming for a data storage apparatus and a corresponding method of system information re-building |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
TW107120420A TWI667571B (zh) | 2018-06-13 | 2018-06-13 | 資料儲存裝置、系統資訊編程方法及系統資訊重建方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
TWI667571B true TWI667571B (zh) | 2019-08-01 |
TW202001568A TW202001568A (zh) | 2020-01-01 |
Family
ID=68316406
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
TW107120420A TWI667571B (zh) | 2018-05-14 | 2018-06-13 | 資料儲存裝置、系統資訊編程方法及系統資訊重建方法 |
Country Status (1)
Country | Link |
---|---|
TW (1) | TWI667571B (zh) |
Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
TW200418033A (en) * | 2002-12-09 | 2004-09-16 | Sandisk Corp | Zone boundary adjustment for defects in non-volatile memories |
TW200733123A (en) * | 2005-10-27 | 2007-09-01 | Sandisk Corp | Adaptive handling data writes in non-volatile memories |
TW200919474A (en) * | 2007-10-19 | 2009-05-01 | Phison Electronics Corp | Writing method for non-volatile memory and controller using the same |
TW201109920A (en) * | 2009-06-12 | 2011-03-16 | Micron Technology Inc | Methods, memory controllers and devices for wear leveling a memory |
TW201520766A (zh) * | 2013-11-27 | 2015-06-01 | Silicon Motion Inc | 資料儲存裝置以及快閃記憶體控制方法 |
TW201619967A (zh) * | 2013-08-30 | 2016-06-01 | 慧榮科技股份有限公司 | 資料儲存裝置以及快閃記憶體控制方法 |
-
2018
- 2018-06-13 TW TW107120420A patent/TWI667571B/zh active
Patent Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
TW200418033A (en) * | 2002-12-09 | 2004-09-16 | Sandisk Corp | Zone boundary adjustment for defects in non-volatile memories |
TW200733123A (en) * | 2005-10-27 | 2007-09-01 | Sandisk Corp | Adaptive handling data writes in non-volatile memories |
TW200919474A (en) * | 2007-10-19 | 2009-05-01 | Phison Electronics Corp | Writing method for non-volatile memory and controller using the same |
TW201109920A (en) * | 2009-06-12 | 2011-03-16 | Micron Technology Inc | Methods, memory controllers and devices for wear leveling a memory |
TW201619967A (zh) * | 2013-08-30 | 2016-06-01 | 慧榮科技股份有限公司 | 資料儲存裝置以及快閃記憶體控制方法 |
TW201520766A (zh) * | 2013-11-27 | 2015-06-01 | Silicon Motion Inc | 資料儲存裝置以及快閃記憶體控制方法 |
Also Published As
Publication number | Publication date |
---|---|
TW202001568A (zh) | 2020-01-01 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US7937523B2 (en) | Memory system with nonvolatile semiconductor memory | |
US8180953B2 (en) | Data accessing method for flash memory, and storage system and controller system thereof | |
CN110489052B (zh) | 数据储存装置 | |
US9009399B2 (en) | Flash memory storage system and controller and data writing method thereof | |
US8214578B2 (en) | Method of storing data into flash memory according to usage patterns of addresses and data storage system using the same | |
US8131911B2 (en) | Data writing method, and flash storage system and controller using the same | |
US8055873B2 (en) | Data writing method for flash memory, and controller and system using the same | |
US20100057979A1 (en) | Data transmission method for flash memory and flash memory storage system and controller using the same | |
US8510502B2 (en) | Data writing method, and memory controller and memory storage apparatus using the same | |
US20110055457A1 (en) | Method for giving program commands to flash memory, and controller and storage system using the same | |
US20080016267A1 (en) | Memory controller, flash memory system having memory controller, and method for controlling flash memory | |
JPH06250798A (ja) | 一括消去型不揮発性メモリおよびそれを用いる半導体ディスク装置 | |
US20120198131A1 (en) | Data writing method for rewritable non-volatile memory, and memory controller and memory storage apparatus using the same | |
US8074128B2 (en) | Block management and replacement method, flash memory storage system and controller using the same | |
US9383929B2 (en) | Data storing method and memory controller and memory storage device using the same | |
JP4460967B2 (ja) | メモリカード、不揮発性半導体メモリ、及び半導体メモリの制御方法 | |
US9378130B2 (en) | Data writing method, and memory controller and memory storage apparatus using the same | |
US7657697B2 (en) | Method of controlling a semiconductor memory device applied to a memory card | |
JP2007011872A (ja) | メモリカードとその制御方法 | |
US20140089566A1 (en) | Data storing method, and memory controller and memory storage apparatus using the same | |
US20190347037A1 (en) | Data storage apparatus and system information programming method therefor | |
US8738847B2 (en) | Data writing method, and memory controller and memory storage apparatus using the same | |
TWI667571B (zh) | 資料儲存裝置、系統資訊編程方法及系統資訊重建方法 | |
JP4177292B2 (ja) | メモリンコントローラ、フラッシュメモリシステム及びフラッシュメモリの制御方法 | |
JP4177301B2 (ja) | メモリコントローラ、フラッシュメモリシステム及びフラッシュメモリの制御方法 |