TWI601011B - 偵測使用中邏輯頁面之資料儲存裝置與資料儲存方法 - Google Patents
偵測使用中邏輯頁面之資料儲存裝置與資料儲存方法 Download PDFInfo
- Publication number
- TWI601011B TWI601011B TW105121193A TW105121193A TWI601011B TW I601011 B TWI601011 B TW I601011B TW 105121193 A TW105121193 A TW 105121193A TW 105121193 A TW105121193 A TW 105121193A TW I601011 B TWI601011 B TW I601011B
- Authority
- TW
- Taiwan
- Prior art keywords
- logical page
- logical
- page
- data storage
- controller
- Prior art date
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0602—Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
- G06F3/0614—Improving the reliability of storage systems
- G06F3/0619—Improving the reliability of storage systems in relation to data integrity, e.g. data losses, bit errors
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/07—Responding to the occurrence of a fault, e.g. fault tolerance
- G06F11/08—Error detection or correction by redundancy in data representation, e.g. by using checking codes
- G06F11/10—Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's
- G06F11/1008—Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's in individual solid state devices
- G06F11/1068—Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's in individual solid state devices in sector programmable memories, e.g. flash disk
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F12/00—Accessing, addressing or allocating within memory systems or architectures
- G06F12/02—Addressing or allocation; Relocation
- G06F12/0223—User address space allocation, e.g. contiguous or non contiguous base addressing
- G06F12/023—Free address space management
- G06F12/0238—Memory management in non-volatile memory, e.g. resistive RAM or ferroelectric memory
- G06F12/0246—Memory management in non-volatile memory, e.g. resistive RAM or ferroelectric memory in block erasable memory, e.g. flash memory
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0628—Interfaces specially adapted for storage systems making use of a particular technique
- G06F3/0646—Horizontal data movement in storage systems, i.e. moving data in between storage devices or systems
- G06F3/065—Replication mechanisms
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0668—Interfaces specially adapted for storage systems adopting a particular infrastructure
- G06F3/067—Distributed or networked storage systems, e.g. storage area networks [SAN], network attached storage [NAS]
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0668—Interfaces specially adapted for storage systems adopting a particular infrastructure
- G06F3/0671—In-line storage system
- G06F3/0673—Single storage device
- G06F3/0679—Non-volatile semiconductor memory device, e.g. flash memory, one time programmable memory [OTP]
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2212/00—Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
- G06F2212/10—Providing a specific technical effect
- G06F2212/1008—Correctness of operation, e.g. memory ordering
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2212/00—Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
- G06F2212/10—Providing a specific technical effect
- G06F2212/1016—Performance improvement
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2212/00—Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
- G06F2212/10—Providing a specific technical effect
- G06F2212/1032—Reliability improvement, data loss prevention, degraded operation etc
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2212/00—Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
- G06F2212/72—Details relating to flash memory management
- G06F2212/7201—Logical to physical mapping or translation of blocks or pages
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2212/00—Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
- G06F2212/72—Details relating to flash memory management
- G06F2212/7202—Allocation control and policies
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2212/00—Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
- G06F2212/72—Details relating to flash memory management
- G06F2212/7204—Capacity control, e.g. partitioning, end-of-life degradation
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Human Computer Interaction (AREA)
- Computer Security & Cryptography (AREA)
- Quality & Reliability (AREA)
- Techniques For Improving Reliability Of Storages (AREA)
Description
本發明係關於一種資料儲存裝置與資料儲存方法,特別係關於一種偵測邏輯頁面的方法,以找出最後一個使用中的邏輯頁面。
當使用者在使用資料儲存裝置(例如快閃記憶體)時,可能會在寫入資料的過程中,發生意外或不正常的斷電情況。此時,除了正在寫入的頁面會受到影響之外,與此頁面有關係的其他頁面也可能會受到影響。當控制器對資料儲存裝置進行偵測,找出最後一個使用者的頁面時,可能會因為上述被影響的其他頁面而發生誤判。
舉例而言,上述其他被影響的頁面實際上是空白頁,亦即未曾被寫入資料。然而,該頁面因為受到不正常斷電的影響,被控制器誤判為使用中的頁面。如此一來,可能會造成後續資料寫入的問題。因此,需要一種有效偵測頁面的資料儲存裝置與資料儲存方法,正確找出最後一個使用中的頁面。
為了解決上述問題,本發明提出一種資料儲存裝置與資料儲存方法,能夠有效偵測頁面是否為真正的使用中頁面,以找出最後一個使用中的頁面。詳細而言,當偵測出一使
用中的頁面時,本案之資料儲存裝置與資料儲存方法會再檢測該頁面的上一個位址之頁面是否為使用中頁面。如果上一個位址之頁面為空白頁,則表示該頁面並非真正的使用中頁面。因此,本發明所提供之資料儲存裝置與資料儲存方法能夠避免發生誤判,正確地找出最後一個真正的使用中頁面。
本發明之一實施例提供了一種資料儲存裝置,用以儲存複數資料。資料儲存裝置包括一記憶體以及一控制器。記憶體包括複數個區塊,上述區塊之每一者包括複數個實體頁面。控制器耦接記憶體,將複數個邏輯頁面對應為記憶體的等實體頁面,其中當控制器檢測等邏輯頁面中之第一邏輯頁面為使用中邏輯頁面時,檢測第一邏輯頁面的上一個邏輯位址之第二邏輯頁面是否為使用中邏輯頁面,以找出等邏輯頁面中的最後一個真正的使用中邏輯頁面。
當控制器檢測第二邏輯頁面不是使用中邏輯頁面時,則判斷第一邏輯頁面為誤判的使用中邏輯頁面,並且繼續檢測第二邏輯頁面之上一個邏輯位址的第三邏輯頁面是否為使用中邏輯頁面;當控制器檢測第二邏輯頁面為使用中邏輯頁面時,則判斷第一邏輯頁面為最後一個真正的使用中邏輯頁面。當控制器檢測第三邏輯頁面為使用中邏輯頁面時,則判斷第二邏輯頁面為最後一個真正的使用中邏輯頁面。當控制器檢測第三邏輯頁面不是使用中邏輯頁面時,則判斷第二邏輯頁面為誤判的使用中邏輯頁面,並且繼續檢測第三邏輯頁面之上一個邏輯位址的第四邏輯頁面是否為使用中邏輯頁面。
控制器係依據跳躍式線性檢索(linear search)或二
元檢索(binary search),依序檢測等邏輯頁面中之每一者是否為使用中邏輯頁面。上述第一邏輯頁面與第二邏輯頁面屬於不同的字元線(word line)。當邏輯頁面之中的每一位元並非都為1時,則控制器判斷邏輯頁面為使用中邏輯頁面。邏輯頁面之中的每一位元是否都為1係由硬體所判斷。當邏輯頁面發生ECC情況時,則控制器判斷邏輯頁面為使用中邏輯頁面。
本發明提供了一種資料儲存方法,應用於儲存複數資料之一資料儲存裝置。資料儲存裝置包括一記憶體以及一控制器。控制器係將複數個邏輯頁面對應為記憶體的複數個實體頁面,資料儲存方法包括:檢測等邏輯頁面中之第一邏輯頁面是否為使用中邏輯頁面;當檢測等邏輯頁面中之第一邏輯頁面為使用中邏輯頁面時,檢測第一邏輯頁面的上一個邏輯位址之第二邏輯頁面是否為使用中邏輯頁面,以找出等邏輯頁面中的最後一個真正的使用中邏輯頁面。
100‧‧‧資料儲存裝置
120‧‧‧控制器
140‧‧‧記憶體
160-16N‧‧‧區塊
160A、160Z...16NA、16NZ‧‧‧實體頁面
260‧‧‧邏輯區塊
260A...260R‧‧‧邏輯頁面
第1圖係顯示根據本發明一實施例所述之資料儲存裝置與主機之示意圖;第2圖係顯示根據本發明一實施例所述之資料儲存方法之流程圖;第3圖係顯示根據本發明一實施例所述之邏輯頁面之示意圖。
第4圖係顯示根據本發明另一實施例所述之邏輯頁面之示意圖。
為讓本發明之目的、特徵和優點能更明顯易懂,下文特舉出本發明之具體實施例,並配合所附圖式,作詳細說明如下。目的在於說明本發明之精神而非用以限定本發明之保護範圍,應理解下列實施例可經由軟體、硬體、韌體、或上述任意組合來實現。
第1圖係顯示根據本發明一實施例所述之資料儲存裝置100與主機180之示意圖。在一實施例中,資料儲存裝置100包括控制器120與記憶體140,並且資料儲存裝置100耦接主機180以傳送資料與指令、或是接收資料與指令。記憶體140可以為非揮發性記憶體,例如反集閘快閃記憶體(NAND Flash)。主機180可以為手機、平板電腦、筆記型電腦、導航機或車載系統等。
如第1圖所示,記憶體140包括複數個區塊160~16N。詳細而言,區塊160~16N中的每一者更包括複數個實體頁面160A~16NZ。區塊160包括實體頁面160A~160Z,區塊16N包括實體頁面16NA~16NZ。控制器120在對記憶體140執行寫入或儲存動作時,是藉由控制記憶體140以實體頁面為單位來執行寫入或程式化的運作。控制器120藉由控制記憶體140以叢集(cluster)為單位執行讀取運作的方式來對記憶體140執行讀取運作。此外,控制器120耦接記憶體140以相互傳送資料與指令或接收資料與指令。進一步而言,控制器120可包括具有韌體碼之一微控制器以及唯讀記憶體(ROM),並且微控制器執行韌體碼以操作或是存取記憶體140。
對於記憶體140而言,其實體頁面160A~16NZ的每一者皆具有不同的實體位址。換言之,實體頁面160A~16NZ的每一者都具有一個實體位址,而實體頁面160A~16NZ的每一者的實體位址都是不同的。當資料儲存裝置100執行一寫入運作時,控制器120決定記憶體140的一實體位址以寫入或儲存資料。此外,控制器120則分別對應上述複數個實體位址至複數個邏輯位址。因此,對於主機180而言,主機180係藉由邏輯位址,來讀取或寫入資料儲存裝置100所儲存於某個邏輯位址的資料。
控制器120係依據邏輯頁面的順序,將邏輯頁面對應為記憶體140的實體頁面,並且偵測記憶體140所對應之上述實體頁面所儲存之資料的狀態。在一實施例中,控制器120係依據跳躍式線性檢索(linear search)或二元檢索(binary search),依序檢測複數個邏輯頁面中之每一者是否為使用中邏輯頁面。當某一個邏輯頁面之中的每一位元都為1時,則控制器120判斷該邏輯頁面為空白頁,表示該邏輯頁面沒有被寫入任何資料;當某一個邏輯頁面之中的每一位元並非都為1時,則控制器120判斷該邏輯頁面為使用中邏輯頁面。詳細而言,上述邏輯頁面之中的每一位元是否都為1,係由硬體所判斷。
在另一實施例中,當邏輯頁面發生ECC情況時,則控制器120判斷該邏輯頁面為使用中邏輯頁面。舉例而言,詳細而言,控制器120係偵測上述邏輯頁面的ECC位元數,以判斷邏輯頁面所儲存的資料是否發生錯誤。當ECC位元數較低時,則控制器120判斷該資料是正確的,ECC修復成功。當ECC位元
數較高時,則控制器120判斷該資料發生錯誤,表示ECC修復失敗。值得注意的是,無論上述ECC位元數是高還是低,無論ECC是否修復成功,控制器120都會判斷該邏輯頁面為使用中邏輯頁面。
控制器120可藉由上述方法,判斷一邏輯頁面是否為使用中邏輯頁面。然而,控制器120所判定的使用中邏輯頁面可能並非真正有寫入資料的使用中邏輯頁面,而是因為不正常斷電而誤判為使用中邏輯頁面。因此,需要一種有效偵測頁面的資料儲存裝置與資料儲存方法,確保控制器120所判斷的使用中的頁面是真正有寫入資料的使用中頁面。
第2圖係顯示根據本發明一實施例所述之資料儲存方法之流程圖。在步驟S200中,控制器120依序檢測複數個邏輯頁面。在步驟S202中,控制器120檢測複數個邏輯頁面之中的一邏輯頁面是否為使用中邏輯頁面。關於使用中邏輯頁面的檢測與判斷方式如前所述,此處不再贅述。然後在步驟S204中,控制器120檢測該邏輯頁面的上一個邏輯位址之邏輯頁面。在步驟S206中,控制器120檢測該上一個邏輯位址之邏輯頁面是否為使用中邏輯頁面。
如果控制器120檢測該上一個邏輯位址之邏輯頁面為使用中邏輯頁面,則執行步驟S208,控制器120判斷該邏輯頁面為最後一個真正的使用中邏輯頁面。然後在步驟S210中,結束此資料儲存方法。如果控制器120檢測該上一個邏輯位址之邏輯頁面不是使用中邏輯頁面,則執行步驟S212,控制器120判斷該邏輯頁面為誤判的使用中邏輯頁面。換言之,如
果上一個邏輯位址之邏輯頁面不是使用中邏輯頁面,則表示該邏輯頁面不是真正的使用中邏輯頁面,而是因為不正常斷電所造成之誤判。然後,執行步驟S204,控制器120繼續檢測再上一個邏輯位址之邏輯頁面,直到找出最後一個真正的使用中邏輯頁面。
第3圖係顯示根據本發明一實施例所述之邏輯頁面260A-260P之示意圖。在此實施例中,邏輯區塊260包括複數個邏輯頁面260A-260P,並且邏輯頁面260A-260P是依序逐一被寫入的。如第3圖所示,淺色標示的邏輯頁面260A-260I為寫入資料的真正的使用中邏輯頁面,無標示的邏輯頁面260J-K、260M-P以及深色標示的邏輯頁面260L為未寫入資料的空白的邏輯頁面。由於在寫入邏輯頁面260I時發生不正常的斷電,造成同一條字元線(word line)上的另一個邏輯頁面260L也受到損害。換言之,邏輯頁面260I為一字元線的LSB(Least Significant Bit),而邏輯頁面260L為同一字元線的MSB(Most Significant Bit)。邏輯頁面260L原本是未寫入資料的空白頁面,亦即邏輯頁面260L所儲存的每一個位元都是1。因為邏輯頁面260L受到不正常斷電的影響,導致其部分位元變成0,而可能被控制器120誤判為使用中頁面而非空白頁面。
在第3圖所示的實施例中,控制器120係依據跳躍式線性檢索,來回檢測複數個邏輯頁面260A-260P。換言之,控制器120並非逐一檢視複數個邏輯頁面260A-260P。由於邏輯區塊260具有很多個邏輯頁面,逐一檢視會耗費許多時間。因此,採用跳躍式線性檢索以提高檢視的效率。控制器120係檢
視邏輯頁面260A、260E、260I以及260M,然後再返回檢測邏輯頁面260L。
值得注意的是,當控制器120檢測邏輯頁面260L(第一邏輯頁面)為使用中邏輯頁面時,控制器120會檢測該邏輯頁面260L的上一個邏輯位址之邏輯頁面260K(第二邏輯頁面)是否為使用中邏輯頁面,以找出邏輯頁面260A-260P中的最後一個真正的使用中邏輯頁面。在此實施例中,控制器120檢測邏輯頁面260K並非使用中頁面(亦即空白頁面)。因此,控制器120判斷該邏輯頁面260L為誤判的使用中邏輯頁面,並且繼續檢測該邏輯頁面260K之上一個邏輯位址的邏輯頁面260J(第三邏輯頁面)是否為使用中邏輯頁面。
此外,當控制器120檢測邏輯頁面260K為使用中邏輯頁面時,則判斷邏輯頁面260L為最後一個真正的使用中邏輯頁面。由於邏輯頁面260K與260L屬於不同的字元線,邏輯頁面260K不會受到邏輯頁面260I所發生的不正常斷電之影響。因此,藉由判斷邏輯頁面260K的資料狀態,能夠有助於判斷邏輯頁面260L是否為真正的使用中邏輯頁面。
習知的資料儲存方法無法判斷邏輯頁面260L是否為真正的邏輯頁面。如果誤判邏輯頁面260L為最後一個真正的邏輯頁面,則控制器120會從下一個邏輯位址之邏輯頁面260M開始寫入資料。如此一來,空白的邏輯頁面260J與260K就會被控制器120所忽略,沒有被寫入任何資料。對於邏輯區塊260而言,會有中間一部分的邏輯頁面是空白而沒有被程式化,容易造成資料的遺失或損壞。本發明能夠準確判斷出最後一個真正
的邏輯頁面,因此能夠避免上述空白頁被忽略的狀況,提升資料儲存裝置100的可靠度。
在另一實施例中,控制器120檢測邏輯頁面260K不是使用中邏輯頁面時,則判斷邏輯頁面260L為誤判的使用中邏輯頁面,並且繼續檢測再上一個邏輯位址之邏輯頁面J。此時,如果控制器120檢測邏輯頁面J為使用中邏輯頁面時,則判斷邏輯頁面K為最後一個真正的使用中邏輯頁面。如果控制器120檢測邏輯頁面260J不是使用中邏輯頁面時,則判斷邏輯頁面260K為誤判的使用中邏輯頁面,並且繼續檢測邏輯頁面260J之上一個邏輯位址的邏輯頁面260I(第四邏輯頁面)是否為使用中邏輯頁面。
第4圖係顯示根據本發明另一實施例所述之邏輯頁面260A-260R之示意圖。淺色標示的邏輯頁面260A-260I為寫入資料的真正的使用中邏輯頁面,無標示的邏輯頁面260J-K、260M-R以及深色標示的邏輯頁面260L為未寫入資料的空白的邏輯頁面。控制器120係依據二元檢索(binary search),來回檢測複數個邏輯頁面260A-260R。如第4圖所示,控制器120先檢測最初和最後的邏輯頁面260A與260R,再檢測中間的邏輯頁面260I。因為邏輯頁面260I被檢測為使用中邏輯頁面,控制器120再檢測上一個邏輯位址之邏輯頁面260H。由於邏輯頁面260H也是使用中邏輯頁面,因此控制器120判斷邏輯頁面260I為儲存資料的真正的使用中邏輯頁面。
值得注意的是,邏輯頁面L雖然實際上為空白頁,但是因為受到不正常斷電的影響而被檢測為使用中邏輯頁面。
此時,控制器120會再檢測上一個邏輯位址之邏輯頁面260K。由於邏輯頁面260K不是使用中邏輯頁面,控制器120判斷邏輯頁面260L為誤判的使用中邏輯頁面。換言之,控制器120判斷邏輯頁面並非真正的使用中邏輯頁面,而是因為不正常斷電而被誤判的空白頁。
藉由本發明之資料儲存裝置與資料儲存方法,當檢測到使用中頁面時,會再檢測該頁面的上一個位址之頁面是否為使用中頁面。如果上一個位址之頁面為空白頁,則表示該頁面並非真正的使用中頁面。如果上一個位址之頁面為使用中頁面,則表示該頁面為真正的使用中頁面。因此,本發明所提供之資料儲存裝置與資料儲存方法能夠避免發生誤判,正確地找出最後一個真正的使用中頁面。
在本說明書以及申請專利範圍中的序數,例如「第一」、「第二」、「第三」等等,彼此之間並沒有順序上的先後關係,其僅用於標示區分兩個具有相同名字之不同元件。本發明說明書中「耦接」一詞係泛指各種直接或間接之電性連接方式。本發明雖以較佳實施例揭露如上,然其並非用以限定本發明的範圍,任何熟習此項技藝者,在不脫離本發明之精神和範圍內,當可做些許的更動與潤飾,因此本發明之保護範圍當視後附之申請專利範圍所界定者為準。
Claims (17)
- 一種資料儲存裝置,用以儲存複數資料,包括:一記憶體,包括複數個區塊,其中該等區塊之每一者包括複數個實體頁面;一控制器,耦接該記憶體,將複數個邏輯頁面對應為該記憶體的該等實體頁面,其中當該控制器檢測該等邏輯頁面中之第一邏輯頁面為使用中邏輯頁面時,檢測該第一邏輯頁面的上一個邏輯位址之第二邏輯頁面是否為使用中邏輯頁面,以找出該等邏輯頁面中的最後一個真正的使用中邏輯頁面。
- 如申請專利範圍第1項所述之資料儲存裝置,其中當該控制器檢測該第二邏輯頁面不是使用中邏輯頁面時,則判斷該第一邏輯頁面為誤判的使用中邏輯頁面,並且繼續檢測該第二邏輯頁面之上一個邏輯位址的第三邏輯頁面是否為使用中邏輯頁面。
- 如申請專利範圍第2項所述之資料儲存裝置,其中當該控制器檢測該第二邏輯頁面為使用中邏輯頁面時,則判斷該第一邏輯頁面為最後一個真正的使用中邏輯頁面。
- 如申請專利範圍第2項所述之資料儲存裝置,其中當該控制器檢測該第三邏輯頁面為使用中邏輯頁面時,則判斷該第二邏輯頁面為最後一個真正的使用中邏輯頁面。
- 如申請專利範圍第4項所述之資料儲存裝置,其中當該控制器檢測該第三邏輯頁面不是使用中邏輯頁面時,則判斷該第二邏輯頁面為誤判的使用中邏輯頁面,並且繼續檢測該 第三邏輯頁面之上一個邏輯位址的第四邏輯頁面是否為使用中邏輯頁面。
- 如申請專利範圍第1項所述之資料儲存裝置,其中該控制器係依據跳躍式線性檢索(linear search)或二元檢索(binary search),依序檢測該等邏輯頁面中之每一者是否為使用中邏輯頁面。
- 如申請專利範圍第1項所述之資料儲存裝置,其中該第一邏輯頁面與該第二邏輯頁面屬於不同的字元線(word line)。
- 如申請專利範圍第1項所述之資料儲存裝置,其中當邏輯頁面之中的每一位元並非都為1時,則該控制器判斷該邏輯頁面為使用中邏輯頁面。
- 如申請專利範圍第8項所述之資料儲存裝置,其中該邏輯頁面之中的每一位元是否都為1係由硬體所判斷。
- 如申請專利範圍第1項所述之資料儲存裝置,其中當邏輯頁面發生ECC情況時,則該控制器判斷該邏輯頁面為使用中邏輯頁面。
- 一種資料儲存方法,應用於儲存複數資料之一資料儲存裝置,該資料儲存裝置包括一記憶體以及一控制器,該控制器係將複數個邏輯頁面對應為該記憶體的複數個實體頁面,該資料儲存方法包括:檢測該等邏輯頁面中之第一邏輯頁面是否為使用中邏輯頁面;當檢測該等邏輯頁面中之第一邏輯頁面為使用中邏輯頁面時,檢測該第一邏輯頁面的上一個邏輯位址之第二邏輯頁 面是否為使用中邏輯頁面,以找出該等邏輯頁面中的最後一個真正的使用中邏輯頁面。
- 如申請專利範圍第11項所述之資料儲存方法,其中當檢測該第二邏輯頁面不是使用中邏輯頁面時,判斷該第一邏輯頁面為誤判的使用中邏輯頁面,並且繼續檢測該第二邏輯頁面之上一個邏輯位址的第三邏輯頁面是否為使用中邏輯頁面。
- 如申請專利範圍第12項所述之資料儲存方法,其中當檢測該第二邏輯頁面為使用中邏輯頁面時,則判斷該第一邏輯頁面為最後一個真正的使用中邏輯頁面。
- 如申請專利範圍第12項所述之資料儲存方法,其中當檢測該第三邏輯頁面為使用中邏輯頁面時,則判斷該第二邏輯頁面為最後一個真正的使用中邏輯頁面。
- 如申請專利範圍第14項所述之資料儲存方法,其中當檢測該第三邏輯頁面不是使用中邏輯頁面時,則判斷該第二邏輯頁面為誤判的使用中邏輯頁面,並且繼續檢測該第三邏輯頁面之上一個邏輯位址的第四邏輯頁面是否為使用中邏輯頁面。
- 如申請專利範圍第11項所述之資料儲存方法,其中當邏輯頁面之中的每一位元並非都為1時,判斷該邏輯頁面為使用中邏輯頁面。
- 如申請專利範圍第11項所述之資料儲存方法,其中當邏輯頁面發生ECC情況時,判斷該邏輯頁面為使用中邏輯頁面。
Priority Applications (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
TW105121193A TWI601011B (zh) | 2016-07-05 | 2016-07-05 | 偵測使用中邏輯頁面之資料儲存裝置與資料儲存方法 |
CN201710043716.3A CN107577554B (zh) | 2016-07-05 | 2017-01-19 | 检测使用中逻辑页面的数据储存装置与数据储存方法 |
US15/623,586 US10248339B2 (en) | 2016-07-05 | 2017-06-15 | Data storage device and data storage method for detecting currently-used logical pages |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
TW105121193A TWI601011B (zh) | 2016-07-05 | 2016-07-05 | 偵測使用中邏輯頁面之資料儲存裝置與資料儲存方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
TWI601011B true TWI601011B (zh) | 2017-10-01 |
TW201802685A TW201802685A (zh) | 2018-01-16 |
Family
ID=60910829
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
TW105121193A TWI601011B (zh) | 2016-07-05 | 2016-07-05 | 偵測使用中邏輯頁面之資料儲存裝置與資料儲存方法 |
Country Status (3)
Country | Link |
---|---|
US (1) | US10248339B2 (zh) |
CN (1) | CN107577554B (zh) |
TW (1) | TWI601011B (zh) |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
TWI633437B (zh) * | 2017-05-26 | 2018-08-21 | 慧榮科技股份有限公司 | 偵測使用中邏輯頁面之資料儲存裝置與資料儲存方法 |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
TW201407349A (zh) * | 2012-08-01 | 2014-02-16 | Phison Electronics Corp | 資料管理方法、記憶體控制器與記憶體儲存裝置 |
US20140140142A1 (en) * | 2012-11-20 | 2014-05-22 | Phison Electronics Corp. | Memory storage device, memory controller thereof, and method for programming data thereof |
TWI512462B (zh) * | 2015-02-11 | 2015-12-11 | Phison Electronics Corp | 記憶體管理方法、記憶體控制電路單元及記憶體儲存裝置 |
TW201610676A (zh) * | 2014-09-02 | 2016-03-16 | 慧榮科技股份有限公司 | 實體儲存對照表維護方法以及使用該方法的裝置 |
Family Cites Families (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102779551B (zh) * | 2011-05-10 | 2015-01-07 | 群联电子股份有限公司 | 数据写入方法、存储器控制器与存储器储存装置 |
CN102890655B (zh) * | 2011-07-20 | 2015-07-08 | 群联电子股份有限公司 | 存储器储存装置、其存储器控制器与有效数据识别方法 |
JP6072428B2 (ja) * | 2012-05-01 | 2017-02-01 | テセラ アドバンスト テクノロジーズ インコーポレーテッド | 制御装置、記憶装置、記憶制御方法 |
JP5874525B2 (ja) * | 2012-05-11 | 2016-03-02 | ソニー株式会社 | 制御装置、記憶装置、記憶制御方法 |
TWI603194B (zh) * | 2013-12-04 | 2017-10-21 | 慧榮科技股份有限公司 | 資料儲存裝置以及其資料存取方法 |
-
2016
- 2016-07-05 TW TW105121193A patent/TWI601011B/zh active
-
2017
- 2017-01-19 CN CN201710043716.3A patent/CN107577554B/zh active Active
- 2017-06-15 US US15/623,586 patent/US10248339B2/en active Active
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
TW201407349A (zh) * | 2012-08-01 | 2014-02-16 | Phison Electronics Corp | 資料管理方法、記憶體控制器與記憶體儲存裝置 |
US20140140142A1 (en) * | 2012-11-20 | 2014-05-22 | Phison Electronics Corp. | Memory storage device, memory controller thereof, and method for programming data thereof |
TW201610676A (zh) * | 2014-09-02 | 2016-03-16 | 慧榮科技股份有限公司 | 實體儲存對照表維護方法以及使用該方法的裝置 |
TWI512462B (zh) * | 2015-02-11 | 2015-12-11 | Phison Electronics Corp | 記憶體管理方法、記憶體控制電路單元及記憶體儲存裝置 |
Also Published As
Publication number | Publication date |
---|---|
US20180011646A1 (en) | 2018-01-11 |
CN107577554B (zh) | 2020-12-01 |
CN107577554A (zh) | 2018-01-12 |
TW201802685A (zh) | 2018-01-16 |
US10248339B2 (en) | 2019-04-02 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
TWI522804B (zh) | 快閃記憶體控制器以及資料儲存裝置以及快閃記憶體控制方法 | |
TWI512742B (zh) | 非揮發性快閃記憶體擦除異常存儲塊修復方法和裝置 | |
TWI389122B (zh) | 用來存取一快閃記憶體之方法以及相關之記憶裝置及其控制器 | |
US8572444B2 (en) | Memory apparatus and testing method thereof | |
US20140047300A1 (en) | Memory storage device, memory controller thereof, and method for processing data thereof | |
JP2012063882A (ja) | 記憶装置、電子機器及び誤りデータの訂正方法 | |
US11170866B2 (en) | Managing block retirement for temporary operational conditions | |
US9552287B2 (en) | Data management method, memory controller and embedded memory storage apparatus using the same | |
TWI447579B (zh) | 程式碼載入與存取方法、記憶體控制器與記憶體儲存裝置 | |
KR20160046225A (ko) | 고장 제어 기능을 구비한 캐시 메모리 | |
US8738989B2 (en) | Method and apparatus for detecting free page and a method and apparatus for decoding error correction code using the method and apparatus for detecting free page | |
CN106802837B (zh) | 一种更新错误检测和纠正ecc码的方法及装置 | |
TWI527049B (zh) | 操作記憶體之方法及記憶體裝置 | |
JP2012146129A (ja) | メモリアクセス制御装置 | |
CN109215726B (zh) | 存储器测试方法及其存储器装置 | |
TWI601011B (zh) | 偵測使用中邏輯頁面之資料儲存裝置與資料儲存方法 | |
JP2004342112A (ja) | エラーチェック訂正技法を用いて不揮発性メモリユニットのデータ保持損に応答する装置及び方法 | |
TWI594126B (zh) | 資料儲存裝置與資料儲存方法 | |
TW201606785A (zh) | 記憶體控制器 | |
JP6184121B2 (ja) | 記憶装置検査システム、記憶装置検査方法および不揮発性半導体記憶装置 | |
US20180261298A1 (en) | Memory system including a delegate page and method of identifying a status of a memory system | |
TWI845062B (zh) | 對快閃記憶體模組進行測試的方法、與相關的快閃記憶體控制器及記憶裝置 | |
US20240231670A1 (en) | Cross-comparison of data copy pairs during memory device initialization | |
TWI476589B (zh) | 記憶體編程方法及應用其之快閃記憶體裝置 | |
TW201730891A (zh) | 固態儲存裝置及其資料處理方法 |