TWI650763B - 用來進行記憶裝置的頁可用性管理之方法、記憶裝置及電子裝置以及頁可用性管理系統 - Google Patents
用來進行記憶裝置的頁可用性管理之方法、記憶裝置及電子裝置以及頁可用性管理系統 Download PDFInfo
- Publication number
- TWI650763B TWI650763B TW107116235A TW107116235A TWI650763B TW I650763 B TWI650763 B TW I650763B TW 107116235 A TW107116235 A TW 107116235A TW 107116235 A TW107116235 A TW 107116235A TW I650763 B TWI650763 B TW I650763B
- Authority
- TW
- Taiwan
- Prior art keywords
- page
- pages
- risk
- memory device
- error
- Prior art date
Links
Classifications
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C29/00—Checking stores for correct operation ; Subsequent repair; Testing stores during standby or offline operation
- G11C29/70—Masking faults in memories by using spares or by reconfiguring
- G11C29/88—Masking faults in memories by using spares or by reconfiguring with partially good memories
- G11C29/883—Masking faults in memories by using spares or by reconfiguring with partially good memories using a single defective memory device with reduced capacity, e.g. half capacity
-
- 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/0602—Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
- G06F3/0604—Improving or facilitating administration, e.g. storage management
-
- 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/0616—Improving the reliability of storage systems in relation to life time, e.g. increasing Mean Time Between Failures [MTBF]
-
- 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
- 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/0629—Configuration or reconfiguration of storage systems
-
- 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/0638—Organizing or formatting or addressing of data
- G06F3/0644—Management of space entities, e.g. partitions, extents, pools
-
- 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
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C29/00—Checking stores for correct operation ; Subsequent repair; Testing stores during standby or offline operation
- G11C29/04—Detection or location of defective memory elements, e.g. cell constructio details, timing of test signals
- G11C29/08—Functional testing, e.g. testing during refresh, power-on self testing [POST] or distributed testing
- G11C29/12—Built-in arrangements for testing, e.g. built-in self testing [BIST] or interconnection details
- G11C29/38—Response verification devices
- G11C29/42—Response verification devices using error correcting codes [ECC] or parity check
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C29/00—Checking stores for correct operation ; Subsequent repair; Testing stores during standby or offline operation
- G11C29/52—Protection of memory contents; Detection of errors in memory contents
-
- 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/7204—Capacity control, e.g. partitioning, end-of-life degradation
-
- 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/7207—Details relating to flash memory management management of metadata or control data
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C29/00—Checking stores for correct operation ; Subsequent repair; Testing stores during standby or offline operation
- G11C29/04—Detection or location of defective memory elements, e.g. cell constructio details, timing of test signals
- G11C2029/0409—Online test
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C29/00—Checking stores for correct operation ; Subsequent repair; Testing stores during standby or offline operation
- G11C29/04—Detection or location of defective memory elements, e.g. cell constructio details, timing of test signals
- G11C2029/0411—Online error correction
Abstract
本發明提供一種用來進行記憶裝置的頁可用性管理之方法、相關之記憶裝置及電子裝置以及頁可用性管理系統。該方法包含:取得一非揮發性記憶體之一組頁錯誤更正碼錯誤表;基於一預定規則,分別依據該組頁錯誤更正碼錯誤表尋找複數個區塊中之至少一部分區塊的各自的局部風險頁,以產生分別對應於多個頁索引之多個局部風險頁數;依據該多個局部風險頁數尋找對應於該多個頁索引中之一或多個頁索引之一或多個全域風險頁;以及將一全域風險頁表寫入該記憶裝置中,以供控制該記憶裝置跳過使用該複數個區塊中之每一者的該一或多個全域風險頁。
Description
本發明係有關於快閃記憶體(Flash memory)之存取(access),尤指一種用來進行一記憶裝置的頁可用性管理(page availability management)之方法、相關之記憶裝置及電子裝置以及頁可用性管理系統。
近年來由於記憶體的技術不斷地發展,各種可攜式或非可攜式記憶裝置(例如:符合SD/MMC、CF、MS、XD或UFS標準之記憶卡;又例如:固態硬碟;又例如:符合UFS或EMMC規格之嵌入式(embedded)儲存裝置)被廣泛地實施於諸多應用中。因此,這些記憶裝置中之記憶體的存取控制遂成為相當熱門的議題。
以常用的NAND型快閃記憶體而言,其主要可區分為單階細胞(single level cell, SLC)與多階細胞(multiple level cell, MLC)兩大類之快閃記憶體。單階細胞快閃記憶體中之每個被當作記憶細胞(memory cell)的電晶體只有兩種電荷值,分別用來表示邏輯值0與邏輯值1。另外,多階細胞快閃記憶體中之每個被當作記憶單元的電晶體的儲存能力則被充分利用,係採用較高的電壓來驅動,以透過不同級別的電壓在一個電晶體中記錄至少兩組位元資訊(諸如00、01、11、10);理論上,多階細胞快閃記憶體的記錄密度可以達到單階細胞快閃記憶體的記錄密度之至少兩倍,這對於曾經在發展過程中遇到瓶頸的NAND型快閃記憶體之相關產業而言,是非常好的消息。
相較於單階細胞快閃記憶體,由於多階細胞快閃記憶體之價格較便宜,並且在有限的空間裡可提供較大的容量,故多階細胞快閃記憶體很快地成為市面上之記憶裝置競相採用的主流。然而,多階細胞快閃記憶體的不穩定性所導致的問題也一一浮現。為了確保記憶裝置對快閃記憶體之存取控制能符合相關規範,快閃記憶體的控制器通常備有某些管理機制以妥善地管理資料之存取。
依據相關技術,有了這些管理機制的記憶裝置還是有不足之處。舉例來說,採用較新的技術製造快閃記憶體可使具備大容量的記憶裝置變得普及。當嘗試將降級的快閃記憶體裸晶(downgraded flash die)應用於製造較小容量的記憶裝置時,這些安裝有降級的快閃記憶體裸晶之記憶裝置可能會發生各種問題,諸如資料錯誤、生產時的寫讀測試失敗等。因此,需要一種新穎的方法及相關架構,以在沒有副作用或較不可能帶來副作用之狀況下提昇記憶裝置之效能。
本發明之一目的在於提供一種用來進行一記憶裝置的頁可用性管理(page availability management)之方法、相關之記憶裝置及電子裝置以及頁可用性管理系統,以解決上述問題。
本發明之另一目的在於提供一種用來進行一記憶裝置的頁可用性管理之方法、相關之記憶裝置及電子裝置以及頁可用性管理系統,以在沒有副作用或較不可能帶來副作用之狀況下達到記憶裝置之最佳化(optimal)效能。
本發明之至少一實施例提供一種用來進行一記憶裝置的頁可用性管理之方法,其中該方法係可應用於(applicable to)耦接至該記憶裝置之一頁可用性管理系統,該記憶裝置包含一非揮發性記憶體(non-volatile memory, NV memory),該非揮發性記憶體包含一或多個非揮發性記憶體元件(NV memory element),且該一或多個非揮發性記憶體元件包含複數個區塊(block)。例如,該方法可包含:取得該非揮發性記憶體之一組頁錯誤更正碼錯誤表(page Error Correction Code error table, page ECC error table),其中該組頁錯誤更正碼錯誤表分別對應於該複數個區塊,以及該組頁錯誤更正碼錯誤表中之每一個頁錯誤更正碼錯誤表包含該複數個區塊中之一相對應區塊之多頁的各自的錯誤更正碼錯誤位元數(ECC error bit count);基於一預定規則,分別依據該組頁錯誤更正碼錯誤表尋找該複數個區塊中之至少一部分區塊的各自的局部風險頁(local risky page),以產生分別對應於多個頁索引(page index)之多個局部風險頁數(local risky page count),其中該多個頁索引分別對應於該複數個區塊中之每一者的各自的頁,以及針對該至少一部分區塊中之一相同區塊,存在於該相同區塊中的一或多個局部風險頁的一或多個錯誤更正碼錯誤位元數大於該相同區塊中之其它頁的錯誤更正碼錯誤位元數;依據該多個局部風險頁數尋找對應於該多個頁索引中之一或多個頁索引之一或多個全域風險頁(global risky page),其中對應於該一或多個頁索引之一或多個局部風險頁數大於該多個局部風險頁數中之其它局部風險頁數;以及將一全域風險頁表寫入該記憶裝置中,以供控制該記憶裝置跳過(skip)使用該複數個區塊中之每一者的該一或多個全域風險頁,其中該全域風險頁表指出該一或多個全域風險頁。
依據某些實施例,本發明另提供一種記憶裝置,其可依據上述之方法所產生之該全域風險頁表來運作。該記憶裝置可包含:該非揮發性記憶體,用來儲存資訊;以及一控制器,耦接至該非揮發性記憶體,用來控制該記憶裝置之運作。該控制器可包含:一處理電路,用來依據來自一主裝置(host device)的複數個主裝置指令(host command)控制該控制器,以容許該主裝置透過該控制器存取(access)該非揮發性記憶體。另外,該控制器依據該全域風險頁表控制該記憶裝置跳過使用該複數個區塊中之每一者的該一或多個全域風險頁。
依據某些實施例,本發明另提供一種電子裝置,其可包含上述之記憶裝置,且另包含:該主裝置,耦接至該記憶裝置。該主裝置可包含:至少一處理器,用來控制該主裝置之運作;以及一電源供應電路,耦接至該至少一處理器,用來提供電源予該至少一處理器與該記憶裝置、且輸出該驅動電壓至該記憶裝置。另外,該記憶裝置可用來提供儲存空間給該主裝置。
依據某些實施例,本發明另提供一種頁可用性管理系統,其可依據上述之方法來運作。該頁可用性管理系統可包含:一處理電路,用來依據該方法控制該頁可用性管理系統,以將該全域風險頁表寫入該記憶裝置中,以供控制該記憶裝置跳過使用該複數個區塊中之每一者的該一或多個全域風險頁。
本發明的好處之一是,本發明的方法與相關裝置能針對該控制器的運作進行妥善的控制,以達到記憶裝置之最佳化效能。尤其是,於快閃記憶體製造商採用較新的技術製造具備超大儲存空間的快閃記憶體時,本發明的方法與相關裝置能充分利用快閃記憶體製造商所提供的各種等級的快閃記憶體裸晶(flash die)。另外,依據本發明之實施例來實施並不會增加許多額外的成本。因此,相關技術的問題可被解決,且整體成本不會增加太多。相較於相關技術,本發明能在沒有副作用或較不可能帶來副作用之狀況下達到記憶裝置之最佳化效能。
I. 記憶體系統
第1圖為依據本發明一實施例之一種電子裝置10的示意圖,其中電子裝置10包含一主裝置(host device)50與一記憶裝置100。主裝置50可包含:至少一處理器52(例如一或多個處理器),用來控制主裝置50之運作;以及一電源供應電路54,耦接至上述至少一處理器52,用來提供電源予上述至少一處理器52與記憶裝置100、且輸出一或多個驅動電壓至記憶裝置100,其中記憶裝置100可用來提供儲存空間給主裝置50,且可從主裝置50取得該一或多個驅動電壓,作為記憶裝置100之電源。主裝置50的例子可包含(但不限於):多功能行動電話(multifunctional mobile phone)、平板電腦(tablet)、可穿戴裝置(wearable device)以及個人電腦(personal computer)諸如桌上型電腦與膝上型電腦。記憶裝置100的例子可包含(但不限於):可攜式記憶裝置(諸如符合SD/MMC、CF、MS、XD或UFS標準之記憶卡)、固態硬碟(solid state drive, SSD)以及各種嵌入式(embedded)儲存裝置(諸如符合UFS或EMMC規格之嵌入式儲存裝置)。依據本實施例,記憶裝置100可包含一控制器諸如記憶體控制器110,且可另包含一非揮發性記憶體(non-volatile memory, NV memory)120,其中該控制器係用來存取(access)非揮發性記憶體120,且非揮發性記憶體120係用來儲存資訊。非揮發性記憶體120可包含至少一非揮發性記憶體元件(NV memory element)(例如一或多個非揮發性記憶體元件),諸如複數個非揮發性記憶體元件122-1、122-2、…與122-N,其中符號「N」可代表大於一的正整數。例如:非揮發性記憶體120可為一快閃記憶體(Flash memory),而非揮發性記憶體元件122-1、122-2、…與122-N可分別為複數個快閃記憶體晶片(Flash memory chip;可簡稱為快閃晶片)或複數個快閃記憶體裸晶(Flash memory die;可簡稱為快閃裸晶),但本發明不限於此。
如第1圖所示,記憶體控制器110可包含處理電路諸如微處理器112、儲存器諸如唯讀記憶體(Read Only Memory, ROM)112M、控制邏輯電路114、緩衝記憶體116與傳輸介面電路118,其中這些元件中之至少一部分(例如一部分或全部)可透過匯流排彼此耦接。緩衝記憶體116係以隨機存取記憶體(Random Access Memory, RAM)來實施,例如可為靜態隨機存取記憶體(Static RAM, SRAM),其中該隨機存取記憶體可用來提供內部儲存空間給記憶體控制器110,例如可暫時地儲存資料,但本發明不限於此。另外,本實施例之唯讀記憶體112M係用來儲存一程式碼112C,而微處理器112則用來執行程式碼112C以控制對非揮發性記憶體120之存取。請注意,程式碼112C亦得儲存在緩衝記憶體116或任何形式之記憶體內。此外,控制邏輯電路114可用來控制非揮發性記憶體120。控制邏輯電路114可包含一錯誤更正碼電路(Error Correction Code circuit,可簡稱為「ECC電路」;未顯示於第1圖),其可進行錯誤更正碼編碼(ECC encoding,可簡稱為「ECC編碼」)與錯誤更正碼解碼(ECC decoding,可簡稱為「ECC解碼」),以保護資料、及/或進行錯誤更正,而傳輸介面電路118可符合一特定通訊標準(諸如串列高級技術附件(Serial Advanced Technology Attachment, SATA)標準、通用序列匯流排(Universal Serial Bus, USB)標準、快捷外設互聯(Peripheral Component Interconnect Express, PCIE)標準、嵌入式多媒體記憶卡(embedded Multi Media Card, eMMC)標準、或通用快閃記憶體儲存(Universal Flash Storage, UFS)標準)且可依據該特定通訊標準進行通訊。
於本實施例中,主裝置50可藉由傳送複數個主裝置指令(host command)與對應的邏輯位址予記憶體控制器110來間接地存取記憶裝置100中之非揮發性記憶體120。記憶體控制器110接收該複數個主裝置指令與邏輯位址,並將該複數個主裝置指令分別轉譯成記憶體操作指令(簡稱操作指令),再以操作指令控制非揮發性記憶體120讀取、寫入(write)/編程(Program)非揮發性記憶體120當中特定實體位址之記憶單位(memory unit)或資料頁(page),其中實體位址對應於邏輯位址。例如記憶體控制器110可產生或更新至少一邏輯對實體位址映射表(logical-to-physical address mapping table)來管理實體位址與邏輯位址之間的關係。非揮發性記憶體120可儲存一全域風險頁表(global risky page table)120RPT,以供記憶體控制器110控制記憶裝置100避免使用某些風險頁(risky page)。當需要時,記憶體控制器110可將全域風險頁表120RPT載入緩衝記憶體116或其它記憶體。全域風險頁表120RPT可位於非揮發性記憶體元件122-1中之一預定區域,諸如一系統區,但本發明不限於此。於某些實施例中,全域風險頁表120RPT可位於非揮發性記憶體元件122-1、122-2、…與122-N之任一者中之一預定區域,諸如一系統區(system region)。
另外,上述至少一非揮發性記憶體元件(例如該一或多個非揮發性記憶體元件諸如{122-1, 122-2, …, 122-N})可包含複數個區塊,其中記憶體控制器110對非揮發性記憶體120進行抹除資料之運作的最小單位可為區塊,而記憶體控制器110對非揮發性記憶體120進行寫入資料之運作的最小單位可為頁,但本發明不限於此。例如,非揮發性記憶體元件122-1、122-2、…與122-N中之任一非揮發性記憶體元件122-n(符號「n」可代表區間[1, N]中之任一整數)可包含多個區塊,且該多個區塊中之一區塊可包含且可記錄特定數量的頁,其中記憶體控制器110可依據一區塊位址與一頁位址來存取該多個區塊中之某一區塊中的某一頁。又例如,非揮發性記憶體元件122-n可包含多個平面(plane),其一平面可包含一組區塊諸如上述該多個區塊,且記憶體控制器110可依據一平面編號(plane number)來指定該多個平面中之某一平面,以存取此平面中的某一區塊中的某一頁。由於總區塊數增加,非揮發性記憶體120的儲存容量可變得更大。關於製造非揮發性記憶體120,有多種技術可供採用,例如:將記憶細胞排列成單層之平面NAND型快閃(2D/Planar NAND Flash)技術;以及將記憶細胞排列成多層垂直堆疊之立體NAND型快閃(3D NAND Flash)技術。依據某些實施例,非揮發性記憶體120可被實施成具有單層排列的記憶細胞之平面NAND型快閃架構。依據某些實施例,非揮發性記憶體120可被實施成具有以多層垂直堆疊的記憶細胞之立體NAND型快閃架構。此狀況下,非揮發性記憶體120的儲存容量可變得非常巨大。
II. 多重篩選(multi-screening)機制
第2圖為依據本發明一實施例之一種用來進行一記憶裝置的頁可用性管理(page availability management, PAM)之方法200的流程圖,其中方法200可應用於第1圖所示之電子裝置10,尤其是其內的主裝置50與記憶裝置100。例如,本發明所提供之一種頁可用性管理系統(PAM system,可簡稱為「PAM系統」)可依據方法200來運作,尤其是,該PAM系統可實施成為一主裝置諸如第1圖所示之主裝置50。
於步驟S10中,該PAM系統(例如主裝置50)可從記憶裝置100取得非揮發性記憶體120之一組頁錯誤更正碼錯誤表(page ECC error table,可簡稱為「頁ECC錯誤表」),其中該組頁ECC錯誤表分別對應於該複數個區塊,以及該組頁ECC錯誤表中之每一個頁ECC錯誤表包含該複數個區塊中之一相對應區塊之多頁的各自的錯誤更正碼錯誤位元數(ECC error bit count,可簡稱為「ECC錯誤位元數」)。
於步驟S20中,基於一預定規則,該PAM系統(例如主裝置50)可分別依據該組頁ECC錯誤表尋找該複數個區塊中之至少一部分區塊的各自的局部風險頁(local risky page),以產生分別對應於多個頁索引(page index)之多個局部風險頁數(local risky page count),諸如分別對應於M個頁索引{IND(0), IND(1), …, IND(M - 1)}之M個局部風險頁數{LRPC(0), LRPC(1), …, LRPC(M - 1)}。該多個頁索引分別對應於該複數個區塊中之每一者的各自的頁。針對該至少一部分區塊中之一相同區塊,存在於該相同區塊中的一或多個局部風險頁的一或多個ECC錯誤位元數大於該相同區塊中之其它頁的ECC錯誤位元數。為了便於理解,記憶體控制器110可透過一區塊位址來指定該複數個區塊中之任一區塊,以供存取,而該多個頁索引諸如該M個頁索引{IND(0), IND(1), …, IND(M - 1)}可分別代表M個頁位址{ADD(0), ADD(1), …, ADD(M - 1)},其可分別指向此區塊中之M個頁,諸如頁{PAGE(0), PAGE(1), …, PAGE(M - 1)},以供記憶體控制器110分別存取該M個頁,但本發明不限於此。
於步驟S30中,該PAM系統(例如主裝置50)可依據該多個局部風險頁數尋找對應於該多個頁索引中之一或多個頁索引之一或多個全域風險頁(global risky page),其中對應於該一或多個頁索引之一或多個局部風險頁數大於該多個局部風險頁數中之其它局部風險頁數。
於步驟S40中,該PAM系統(例如主裝置50)可將全域風險頁表120RPT寫入記憶裝置100中,以供控制記憶裝置100跳過(skip)使用該複數個區塊中之每一者的該一或多個全域風險頁,其中全域風險頁表120RPT指出該一或多個全域風險頁。記憶裝置100可依據該一或多個頁索引進行位址遮罩(masking)、位址映射、位址轉換等運作中之任一者,以避免使用對應於該一或多個頁索引之該一或多個全域風險頁,例如,當全域風險頁表120RPT之一位元組BYTE(0)的值為0xCF(或11001111b),就表示頁{PAGE(0), PAGE(1), PAGE(2), PAGE(3), PAGE(6), PAGE(7)}可使用,而頁{PAGE(4), PAGE(5)}不予使用,但本發明不限於此。於本實施例中,該PAM系統(例如主裝置50)可包含一處理電路(例如:處理器52),而該處理電路可依據方法200控制該PAM系統,以將全域風險頁表120RPT寫入記憶裝置100中,以供控制記憶裝置100跳過使用該複數個區塊中之每一者的該一或多個全域風險頁。
舉例來說,在M = 258的狀況下,該複數個區塊中之一特定區塊之M個頁可包含258頁諸如頁{PAGE(0), PAGE(1), …, PAGE(257)}(例如:符號PAGE( )的括弧中之數值{0, 1, …, 257}可代表頁索引),其各自的ECC錯誤位元數可為M個錯誤位元數諸如下列258個十六進位數值:(依順序列出) { 19 19 14 1D 23 14 1D 1F 11 19 1E 14 18 1B 12 1A 1B 13 1B 19 13 19 17 18 19 1D 18 1A 1A 14 1C 1B 0F 19 1E 18 1A 1C 14 1B 1A 18 17 1A 16 1C 1C 10 17 14 11 1C 17 15 18 12 12 18 16 17 13 1C 0F 17 16 14 17 18 16 19 1A 1C 18 1A 13 19 17 1C 19 1D 13 16 18 11 19 1B 10 17 17 16 18 1A 17 14 1C 11 12 20 15 18 1E 17 16 18 14 18 19 1C 15 1A 17 14 18 12 15 18 10 18 1A 19 12 19 11 15 18 13 13 15 12 15 1C 14 13 16 14 11 1A 15 13 16 14 14 1A 14 14 1A 16 13 17 11 14 1C 1A 16 19 20 12 1C 18 12 16 17 11 16 18 11 19 16 12 1A 18 12 1A 16 13 15 14 14 17 16 11 17 12 12 18 16 11 19 15 11 1A 14 11 19 14 14 17 14 12 17 14 0F 15 14 0F 16 16 14 17 1C 14 16 1A 12 1A 15 13 16 17 15 19 19 12 17 17 11 13 1E 11 18 19 15 21 16 11 1E 15 16 15 1A 0C 16 18 0A 13 14 10 15 15 0E 13 16 0B 14 10 03 01 00 } 其中頁PAGE(0)有19個錯誤位元,頁PAGE(1)有19個錯誤位元,依此類推,且頁PAGE(257)有0個錯誤位元。
關於步驟S10,該PAM系統(例如主裝置50)可進行下列運作:傳送至少一寫入指令至記憶裝置100以將資料寫入該相對應區塊之該多頁(例如:頁{PAGE(0), PAGE(1), …, PAGE(257)});傳送至少一其它指令至記憶裝置100,以觸發記憶裝置100於從該相對應區塊之該多頁讀取該資料時產生該相對應區塊之該多頁的該些各自的ECC錯誤位元數(例如:上列258個ECC錯誤位元數{19, 19, 14, …, 01, 00},在該相對應區塊代表該特定區塊的狀況下);以及從記憶裝置100取得該相對應區塊之該多頁的該些各自的ECC錯誤位元數,以供儲存作為該每一個頁ECC錯誤表。例如,針對將該資料寫入該相對應區塊之該多頁,記憶裝置100(例如該ECC電路)可進行ECC編碼以保護該資料。又例如,上述至少一其它指令可包含至少一讀取指令。針對從該相對應區塊之該多頁讀取該資料,當該多頁中之任一頁存在一或多個錯誤位元時,記憶裝置100(例如該ECC電路)可進行ECC解碼以修正該一或多個錯誤位元,且可輸出該一或多個錯誤位元的位元數作為這一頁的ECC錯誤位元數。
第3圖繪示第2圖所示方法200的依據本發明一實施例之實施細節。關於步驟S20,該PAM系統(例如主裝置50)可依據該多個頁索引來累計(accumulate)該至少一部分區塊的該些各自的局部風險頁的數量,以產生分別對應於該多個頁索引之該多個局部風險頁數,諸如該M個局部風險頁數{LRPC(0), LRPC(1), …, LRPC(M - 1)}。
於步驟S21中,基於該預定規則,該PAM系統(例如主裝置50)可依據該複數個區塊中之一區塊之一個頁ECC錯誤表嘗試尋找該區塊的一或多個局部風險頁。例如,此區塊可選自該複數個區塊中之尚未透過步驟S21處理的區塊。
於步驟S22中,該PAM系統(例如主裝置50)可檢查(步驟S21中所述之)該一或多個局部風險頁是否存在。當該一或多個局部風險頁存在,進入步驟S23;否則,進入步驟S24。
於步驟S23中,依據(步驟S21中所述之)該一或多個局部風險頁之一或多個頁索引,該PAM系統(例如主裝置50)可累計該區塊的該一或多個局部風險頁的數量,以更新對應於該一或多個頁索引之一或多個局部風險頁數。
於步驟S24中,該PAM系統(例如主裝置50)可檢查是否所有區塊(例如該複數個區塊)處理完畢。當所有區塊處理完畢(這表示該多個局部風險頁數諸如該M個局部風險頁數{LRPC(0), LRPC(1), …, LRPC(M - 1)}已透過第3圖所示之工作流程產生),進入步驟S30;否則,進入步驟S21。 表1
<TABLE border="1" borderColor="#000000" width="85%"><TBODY><tr><td> 頁索引 </td><td> 0 </td><td> 1 </td><td> 2 </td><td> 3 </td><td> 4 </td><td> … </td><td> 257 </td></tr><tr><td> 局部風險頁數 </td><td> 69 </td><td> 11 </td><td> 18 </td><td> 10 </td><td> 133 </td><td> … </td><td> 22 </td></tr></TBODY></TABLE>
表1展示該多個局部風險頁數諸如該M個局部風險頁數{LRPC(0), LRPC(1), …, LRPC(M - 1)}之例子,其中在M = 258的狀況下,該258個局部風險頁數{LRPC(0), LRPC(1), …, LRPC(257)}分別為{69, 11, …, 22},但本發明不限於此。
第4圖繪示第2圖所示方法200的依據本發明一實施例之控制方案,其中步驟S20與S30之運作可分別於階段Phase(1)與Phase(2)進行。該組頁ECC錯誤表可視為階段Phase(1)的輸入,上述至少一部分區塊的各自的局部風險頁可視為階段Phase(1)的輸出或階段Phase(2)的輸入,而該一或多個全域風險頁可視為階段Phase(2)的輸出。另外,階段Phase(1)之高風險頁可包含該些局部風險頁,而階段Phase(2)之高風險頁可包含該一或多個全域風險頁。尤其是,在取出全部區塊之各自的頁ECC錯誤表的期間或之後,該PAM系統(例如主裝置50)可於階段Phase(1)中統計全部區塊在符合某一統計分佈的狀況下是否有異常頁,諸如不可更正ECC錯誤(uncorrectable ECC error, UECC error)或是ECC錯誤位元數顯著偏高的頁,記錄這些異常頁作為局部風險頁,並依據該些頁索引進行投票(例如:當區塊BLOCK(0)中之頁{PAGE(1), PAGE(18)}為異常頁,就針對頁索引{1, 18}分別計數一次;當區塊BLOCK(1)中之頁{PAGE(1), PAGE(66), PAGE(195)}為異常頁,就針對頁索引{1, 66, 195}分別計數一次;依此類推)。在完成全部區塊的上列處理(例如投票)之後,該PAM系統(例如主裝置50)可於階段Phase(2)中分析分別對應該些頁索引之投票結果,以判斷這些票數(例如計數值)在符合某一統計的分佈的狀況下是否有顯著高票數的頁,記錄這些異常頁作為全域風險頁。例如,記憶裝置可避免使用這些全域風險頁。又例如,在進行即時寫入/讀取時,記憶裝置可對這些全域風險頁進行特別的檢驗,以線上控管是否繼續使用這些全域風險頁。依據某些實施例,上述某一統計分佈可以是各種不同種類的分佈中之任一者,而階段Phase(1)與Phase(2)的運作可予以進行多疊代的運算(例如:在第一次疊代中剔除頁PAGE(1),在第二次疊代中剔除頁PAGE(66)…等)。
依據某些實施例,該預定規則可包含對應於一第一分佈模型(例如常態分佈模型)之頁篩選(page screening)。於步驟S20中,該PAM系統(例如主裝置50)可進行下列運作:針對對應於該每一個頁ECC錯誤表之該相對應區塊,計算該些各自的ECC錯誤位元數之平均值AVG(1)與標準差σ(1)(其可分別稱為錯誤位元數平均值與錯誤位元數標準差),其中平均值AVG(1)與標準差σ(1)對應於該第一分佈模型;依據一第一預定參數PP(1)與標準差σ(1)之乘積(PP(1) * σ(1))以及平均值AVG(1),決定一門檻值TH(1)(其可稱為第一篩選門檻值),其中TH(1) = AVG(1) + (PP(1) * σ(1)),且基於該第一分佈模型,對應於門檻值TH(1)之一錯誤位元數期望值小於一;以及檢查該相對應區塊中之該多頁中之一頁的一ECC錯誤位元數是否達到門檻值TH(1),以選擇性地決定該頁是否為一局部風險頁,其中該頁是否為一局部風險頁對應於該頁的該ECC錯誤位元數是否達到門檻值TH(1)。例如,當該頁的該ECC錯誤位元數大於或等於門檻值TH(1),則該頁是一局部風險頁,否則,該頁不是一局部風險頁。又例如,當該頁的該ECC錯誤位元數大於門檻值TH(1),則該頁是一局部風險頁,否則,該頁不是一局部風險頁。
另外,於步驟S30中,該PAM系統(例如主裝置50)可進行下列運作:計算該多個局部風險頁數之平均值AVG(2)與標準差σ(2)(其可分別稱為頁數平均值與頁數標準差),其中平均值AVG(2)與標準差σ(2)對應於一第二分佈模型(例如常態分佈模型);依據一第二預定參數PP(2)與標準差σ(2)之乘積(PP(2) * σ(2))以及平均值AVG(2),決定一門檻值TH(2)(其可稱為第二篩選門檻值),其中TH(2) = AVG(2) + (PP(2) * σ(2)),且基於該第二分佈模型,對應於門檻值TH(2)之一頁數期望值小於一;以及檢查該多個局部風險頁數中之一局部風險頁數是否達到門檻值TH(2),以選擇性地決定一相對應頁是否為一全域風險頁,其中該相對應頁是否為一全域風險頁對應於該相對應頁的該局部風險頁數是否達到門檻值TH(2)。例如,當該相對應頁的該局部風險頁數大於或等於門檻值TH(2),則該相對應頁是一全域風險頁,否則,該相對應頁不是一全域風險頁。又例如,當該相對應頁的該局部風險頁數大於門檻值TH(2),則該相對應頁是一全域風險頁,否則,該相對應頁不是一全域風險頁。
第5圖與第6圖分別繪示該第一分佈模型與該第二分佈模型之例子。該PAM系統(例如主裝置50)可調整相關參數諸如PP(1)與PP(2)以調整門檻值TH(1)與TH(2),使對應於曲線下陰影之期望值小於一,例如透過預設設定或使用者設定,其中第5圖的橫軸與縱軸可分別代表ECC錯誤位元數與樣本數,而第6圖的橫軸與縱軸分別代表局部風險頁數與樣本數,但本發明不限於此。例如,於第6圖的橫軸上之局部風險頁數亦可視為次數,諸如對應相同頁索引之累計次數。
假設頁品質是均勻的;在具有優良品質的快閃記憶體裸晶中,每一頁的優良品質程度應該是相似的。舉例來說,在M = 258的狀況下,一區塊(諸如該特定區塊)之該258頁諸如頁{PAGE(0), PAGE(1), …, PAGE(257)}之各自的ECC錯誤位元數可被預期對應於常態分佈,故該PAM系統(例如主裝置50)可計算對應的平均值u與標準差σ(其可作為平均值AVG(1)與標準差σ(1)的例子)。例如:u = 20(位元)且σ = 3.9。在常態分佈下錯誤位元數大於(u + 2.6σ)的機率為0.235%,且針對258個統計值,出現極端值(諸如離群者(outlier))的期望值為(258 * 0.235%) = 0.6(0.6 < 1),所以在正常情況下,不應該出現大於(u + 2.6σ)的錯誤位元數。基於此,該PAM系統(例如主裝置50)可逐一檢查此區塊的每一頁的錯誤位元數。當任一頁的錯誤位元數大於(u + 2.6σ)(諸如(20 + (2.6 * 3.9)) = 30.14),則該PAM系統(例如主裝置50)可針對此頁的頁索引進行計數一次。舉例來說,於前述258個十六進位數值中,頁PAGE(4)的錯誤位元數為0x23,而0x23 = 35(位元),其大於30.14,故該PAM系統(例如主裝置50)可針對頁PAGE(4)的頁索引4計數一次;依此類推。於是,該PAM系統(例如主裝置50)可產生該258個局部風險頁數{LRPC(0), LRPC(1), …, LRPC(257)},諸如表1中之局部風險頁數{69, 11, …, 22}。基於相同假設(頁品質是均勻的),該258個局部風險頁數{LRPC(0), LRPC(1), …, LRPC(257)}可被預期對應於常態分佈,故該PAM系統(例如主裝置50)可計算對應的平均值u’與標準差σ’(其可作為平均值AVG(2)與標準差σ(2)的例子)。例如:u’ = 21(次數)且σ’ = 6.6。相仿地,在正常情況下,不應該出現大於(u’ + 2.6σ’)的局部風險頁數(或次數)。基於此,該PAM系統(例如主裝置50)可逐一檢查該258個局部風險頁數{LRPC(0), LRPC(1), …, LRPC(257)}中之每一者。當任一局部風險頁數LRPC(IND)大於(u’ + 2.6σ’)(諸如(21 + (2.6 * 6.6)) = 38.16),這表示此局部風險頁數LRPC(IND)的頁索引IND所代表的頁PAGE(IND)屬於高風險頁,則該PAM系統(例如主裝置50)可決定此頁PAGE(IND)為全域風險頁,且於全域風險頁表120RPT中記下對應的資訊以指出此頁PAGE(IND)為全域風險頁。以表1中之局部風險頁數{69, 11, …, 22}為例,該PAM系統(例如主裝置50)可決定頁{PAGE(0), PAGE(4)}為全域風險頁。例如,透過進行上列處理多次,該PAM系統(例如主裝置50)可進行上述多疊代的運算,以於每次疊代中挑出全域風險頁且予以排除,直到留下來的頁都是正常頁為止(例如不再出現任何風險頁)。關於相關參數諸如PP(1)與PP(2)的決定,該PAM系統(例如主裝置50)可使用預設的自動判斷機制(例如基於頁的數量)、或提供使用者介面來以容許使用者自己決定。舉例來說,若某一快閃裸晶中之每一區塊有2304頁,則在所有資料都正常的狀況下,錯誤位元數大於(u + 2.6σ)的機率為0.235%,其對應的期望值為5.4(頁),這表示極端值的標準(例如門檻值TH(1))太嚴苛。因此,該PAM系統(例如主裝置50)可調整PP(1),尤其增加PP(1)。例如PP(1) = 3.5,其中錯誤位元數大於(u + 3.5σ)的機率為0.02%,其對應的期望值為(2304 * 0.02%) = 0.46(頁)。在此標準下(例如TH(1) = (u + 3.5σ)),如果還有任一頁的錯誤位元數大於(u + 3.5σ),則代表此頁的確是高風險頁。於某些實施例中,調整相關參數諸如PP(1)與PP(2)可包含增加及/或減少。
基於本發明之方法與相關裝置能精確地找出風險頁,例如確實讀寫整顆快閃裸晶上的每一區塊和每一頁,且利用統計模型依據讀取每一頁時產生的錯誤位元數的分佈來進行分析,以預測每一區塊之共同可使用的頁,以供儲存資料。針對資料讀寫過程中會持續不斷有新的損壞頁的裸晶(例如降級的快閃裸晶),本發明之方法與相關裝置能大幅地提昇寫讀測試良率。 以上所述僅為本發明之較佳實施例,凡依本發明申請專利範圍所做之均等變化與修飾,皆應屬本發明之涵蓋範圍。
10‧‧‧電子裝置
50‧‧‧主裝置
52‧‧‧處理器
54‧‧‧電源供應電路
100‧‧‧記憶裝置
110‧‧‧記憶體控制器
112‧‧‧微處理器
112C‧‧‧程式碼
112M‧‧‧唯讀記憶體
114‧‧‧控制邏輯電路
116‧‧‧緩衝記憶體
118‧‧‧傳輸介面電路
120‧‧‧非揮發性記憶體
122-1,122-2,…,122-N‧‧‧非揮發性記憶體元件
120RPT‧‧‧全域風險頁表
200‧‧‧方法
S10,S20,S30,S40,S21,S22,S23,S24‧‧‧步驟
AVG(1),AVG(2)‧‧‧平均值
σ(1),σ(2)‧‧‧標準差
TH(1),TH(2)‧‧‧門檻值
第1圖為依據本發明一實施例之一種記憶裝置與一主裝置(host device)的示意圖。 第2圖為依據本發明一實施例之一種用來進行一記憶裝置的頁可用性管理(page availability management)之方法的流程圖,其中該方法可應用於第1圖所示之記憶裝置。 第3圖繪示第2圖所示方法的依據本發明一實施例之實施細節。 第4圖繪示第2圖所示方法的依據本發明一實施例之控制方案。 第5圖繪示第2圖所示方法之一第一分佈模型之例子。 第6圖繪示第2圖所示方法之一第二分佈模型之例子。
Claims (17)
- 一種用來進行一記憶裝置的頁可用性管理(page availability management)之方法,該方法係可應用於(applicable to)耦接至該記憶裝置之一頁可用性管理系統,該記憶裝置包含一非揮發性記憶體(non-volatile memory, NV memory),該非揮發性記憶體包含一或多個非揮發性記憶體元件(NV memory element),該一或多個非揮發性記憶體元件包含複數個區塊(block),該方法包含有: 取得該非揮發性記憶體之一組頁錯誤更正碼錯誤表(page Error Correction Code error table, page ECC error table),其中該組頁錯誤更正碼錯誤表分別對應於該複數個區塊,以及該組頁錯誤更正碼錯誤表中之每一個頁錯誤更正碼錯誤表包含該複數個區塊中之一相對應區塊之多頁的各自的錯誤更正碼錯誤位元數(ECC error bit count); 基於一預定規則,分別依據該組頁錯誤更正碼錯誤表尋找該複數個區塊中之至少一部分區塊的各自的局部風險頁(local risky page),以產生分別對應於多個頁索引(page index)之多個局部風險頁數(local risky page count),其中該多個頁索引分別對應於該複數個區塊中之每一者的各自的頁,以及針對該至少一部分區塊中之一相同區塊,存在於該相同區塊中的一或多個局部風險頁的一或多個錯誤更正碼錯誤位元數大於該相同區塊中之其它頁的錯誤更正碼錯誤位元數; 依據該多個局部風險頁數尋找對應於該多個頁索引中之一或多個頁索引之一或多個全域風險頁(global risky page),其中對應於該一或多個頁索引之一或多個局部風險頁數大於該多個局部風險頁數中之其它局部風險頁數;以及 將一全域風險頁表寫入該記憶裝置中,以供控制該記憶裝置跳過(skip)使用該複數個區塊中之每一者的該一或多個全域風險頁,其中該全域風險頁表指出該一或多個全域風險頁。
- 如申請專利範圍第1項所述之方法,其中取得該非揮發性記憶體之該組頁錯誤更正碼錯誤表之步驟另包含: 傳送至少一寫入指令至該記憶裝置,以將資料寫入該相對應區塊之該多頁; 傳送至少一其它指令至該記憶裝置,以觸發該記憶裝置於從該相對應區塊之該多頁讀取該資料時產生該相對應區塊之該多頁的該些各自的錯誤更正碼錯誤位元數;以及 從該記憶裝置取得該相對應區塊之該多頁的該些各自的錯誤更正碼錯誤位元數,以供儲存作為該每一個頁錯誤更正碼錯誤表。
- 如申請專利範圍第2項所述之方法,其中針對將該資料寫入該相對應區塊之該多頁,該記憶裝置進行錯誤更正碼編碼(ECC encoding)以保護該資料;以及針對從該相對應區塊之該多頁讀取該資料,當該多頁中之任一頁存在一或多個錯誤位元時,該記憶裝置進行錯誤更正碼解碼(ECC decoding)以修正該一或多個錯誤位元。
- 如申請專利範圍第2項所述之方法,其中該至少一其它指令包含至少一讀取指令。
- 如申請專利範圍第1項所述之方法,其中分別依據該組頁錯誤更正碼錯誤表尋找該複數個區塊中之該至少一部分區塊的該些各自的局部風險頁以產生分別對應於該多個頁索引之該多個局部風險頁數之步驟另包含: 依據該多個頁索引來累計(accumulate)該至少一部分區塊的該些各自的局部風險頁的數量,以產生分別對應於該多個頁索引之該多個局部風險頁數。
- 如申請專利範圍第1項所述之方法,其中該預定規則包含對應於一第一分佈模型之頁篩選(page screening);以及分別依據該組頁錯誤更正碼錯誤表尋找該複數個區塊中之該至少一部分區塊的該些各自的局部風險頁以產生分別對應於該多個頁索引之該多個局部風險頁數之步驟另包含: 針對對應於該每一個頁錯誤更正碼錯誤表之該相對應區塊,計算該些各自的錯誤更正碼錯誤位元數之一錯誤位元數平均值與一錯誤位元數標準差,其中該錯誤位元數平均值與該錯誤位元數標準差對應於該第一分佈模型; 依據一第一預定參數與該錯誤位元數標準差之一第一乘積以及該錯誤位元數平均值,決定一第一篩選門檻值,其中該第一篩選門檻值等於該錯誤位元數平均值加上該第一乘積,且基於該第一分佈模型,對應於該第一篩選門檻值之一錯誤位元數期望值小於一;以及 檢查該相對應區塊中之該多頁中之一頁的一錯誤更正碼錯誤位元數是否達到該第一篩選門檻值,以選擇性地決定該頁是否為一局部風險頁,其中該頁是否為一局部風險頁對應於該頁的該錯誤更正碼錯誤位元數是否達到該第一篩選門檻值。
- 如申請專利範圍第6項所述之方法,其中當該頁的該錯誤更正碼錯誤位元數大於或等於該第一篩選門檻值,則該頁是一局部風險頁,否則,該頁不是一局部風險頁。
- 如申請專利範圍第6項所述之方法,其中當該頁的該錯誤更正碼錯誤位元數大於該第一篩選門檻值,則該頁是一局部風險頁,否則,該頁不是一局部風險頁。
- 如申請專利範圍第6項所述之方法,其中該第一分佈模型是一常態分佈模型。
- 如申請專利範圍第1項所述之方法,其中依據該多個局部風險頁數尋找對應於該多個頁索引中之該一或多個頁索引之該一或多個全域風險頁之步驟另包含: 計算該多個局部風險頁數之一頁數平均值與一頁數標準差,其中該頁數平均值與該頁數標準差對應於一第二分佈模型; 依據一第二預定參數與該頁數標準差之一第二乘積以及該頁數平均值,決定一第二篩選門檻值,其中該第二篩選門檻值等於該頁數平均值加上該第二乘積,且基於該第二分佈模型,對應於該第二篩選門檻值之一頁數期望值小於一;以及 檢查該多個局部風險頁數中之一局部風險頁數是否達到該第二篩選門檻值,以選擇性地決定一相對應頁是否為一全域風險頁,其中該相對應頁是否為一全域風險頁對應於該相對應頁的該局部風險頁數是否達到該第二篩選門檻值。
- 如申請專利範圍第10項所述之方法,其中當該相對應頁的該局部風險頁數大於或等於該第二篩選門檻值,則該相對應頁是一全域風險頁,否則,該相對應頁不是一全域風險頁。
- 如申請專利範圍第10項所述之方法,其中當該相對應頁的該局部風險頁數大於該第二篩選門檻值,則該相對應頁是一全域風險頁,否則,該相對應頁不是一全域風險頁。
- 如申請專利範圍第10項所述之方法,其中該第二分佈模型是一常態分佈模型。
- 一種記憶裝置,其依據透過如申請專利範圍第1項所述之方法所產生之該全域風險頁表來運作,該記憶裝置包含有: 該非揮發性記憶體,用來儲存資訊;以及 一控制器,耦接至該非揮發性記憶體,用來控制該記憶裝置之運作,其中該控制器包含: 一處理電路,用來依據來自一主裝置(host device)的複數個主裝置指令(host command)控制該控制器,以容許該主裝置透過該控制器存取(access)該非揮發性記憶體; 其中該控制器依據該全域風險頁表控制該記憶裝置跳過(skip)使用該複數個區塊中之每一者的該一或多個全域風險頁。
- 一種電子裝置,其包含如申請專利範圍第14項所述之記憶裝置,且另包含: 該主裝置,耦接至該記憶裝置,其中該主裝置包含: 至少一處理器,用來控制該主裝置之運作;以及 一電源供應電路,耦接至該至少一處理器,用來提供電源予該至少一處理器與該記憶裝置; 其中該記憶裝置係用來提供儲存空間給該主裝置。
- 一種頁可用性管理(page availability management)系統,其依據如申請專利範圍第1項所述之方法來運作,該頁可用性管理系統包含有: 一處理電路,用來依據該方法控制該頁可用性管理系統,以將該全域風險頁表寫入該記憶裝置中,以供控制該記憶裝置跳過使用該複數個區塊中之每一者的該一或多個全域風險頁。
- 如申請專利範圍第16項所述之頁可用性管理系統,其中該頁可用性管理系統是一主裝置(host device)。
Priority Applications (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
TW107116235A TWI650763B (zh) | 2018-05-14 | 2018-05-14 | 用來進行記憶裝置的頁可用性管理之方法、記憶裝置及電子裝置以及頁可用性管理系統 |
CN201810726449.4A CN110489264B (zh) | 2018-05-14 | 2018-07-04 | 记忆装置页可用性管理方法及系统、记忆装置及电子装置 |
US16/141,983 US10811120B2 (en) | 2018-05-14 | 2018-09-26 | Method for performing page availability management of memory device, associated memory device and electronic device, and page availability management system |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
TW107116235A TWI650763B (zh) | 2018-05-14 | 2018-05-14 | 用來進行記憶裝置的頁可用性管理之方法、記憶裝置及電子裝置以及頁可用性管理系統 |
Publications (2)
Publication Number | Publication Date |
---|---|
TWI650763B true TWI650763B (zh) | 2019-02-11 |
TW201947600A TW201947600A (zh) | 2019-12-16 |
Family
ID=66213716
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
TW107116235A TWI650763B (zh) | 2018-05-14 | 2018-05-14 | 用來進行記憶裝置的頁可用性管理之方法、記憶裝置及電子裝置以及頁可用性管理系統 |
Country Status (3)
Country | Link |
---|---|
US (1) | US10811120B2 (zh) |
CN (1) | CN110489264B (zh) |
TW (1) | TWI650763B (zh) |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
TWI697006B (zh) * | 2019-05-09 | 2020-06-21 | 點序科技股份有限公司 | 快閃記憶體管理方法及快閃記憶體 |
US11210005B2 (en) | 2019-03-04 | 2021-12-28 | Silicon Motion, Inc. | Unbalanced plane management method, associated data storage device and controller thereof |
TWI752784B (zh) * | 2019-03-04 | 2022-01-11 | 慧榮科技股份有限公司 | 非對稱型平面管理方法以及資料儲存裝置及其控制器 |
Families Citing this family (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
TWI748410B (zh) | 2020-04-15 | 2021-12-01 | 慧榮科技股份有限公司 | 用來針對非揮發性記憶體進行區塊管理的方法以及設備 |
US11556420B2 (en) | 2021-04-06 | 2023-01-17 | Macronix International Co., Ltd. | Managing error correction coding in memory systems |
Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2007010829A1 (ja) * | 2005-07-15 | 2007-01-25 | Matsushita Electric Industrial Co., Ltd. | 不揮発性記憶装置、メモリコントローラ及び不良領域検出方法 |
CN101339525A (zh) * | 2008-08-22 | 2009-01-07 | 北京星网锐捷网络技术有限公司 | 一种对数据进行错误检测的方法、系统和设备 |
CN102033791A (zh) * | 2009-09-25 | 2011-04-27 | 慧荣科技股份有限公司 | 提升闪存的控制器的验证效率的方法、记忆装置及控制器 |
US20120216094A1 (en) * | 2011-02-22 | 2012-08-23 | Samsung Electronics Co., Ltd. | Controller, A Method Of Operating The Controller And A Memory System |
CN103348326A (zh) * | 2010-09-28 | 2013-10-09 | 净睿存储股份有限公司 | Ssd环境中的适配raid |
CN104637542A (zh) * | 2013-11-11 | 2015-05-20 | 旺宏电子股份有限公司 | 储存对应于数据的错误更正码的存储器装置及其操作方法 |
Family Cites Families (12)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US8051260B1 (en) * | 2004-06-30 | 2011-11-01 | Emc Corporation | Determining environmental availability in a storage subsystem |
US7809994B2 (en) * | 2006-05-17 | 2010-10-05 | Sandisk Corporation | Error correction coding for multiple-sector pages in flash memory devices |
US20070300130A1 (en) * | 2006-05-17 | 2007-12-27 | Sandisk Corporation | Method of Error Correction Coding for Multiple-Sector Pages in Flash Memory Devices |
US20090132876A1 (en) * | 2007-11-19 | 2009-05-21 | Ronald Ernest Freking | Maintaining Error Statistics Concurrently Across Multiple Memory Ranks |
US8185685B2 (en) * | 2007-12-14 | 2012-05-22 | Hitachi Global Storage Technologies Netherlands B.V. | NAND flash module replacement for DRAM module |
KR20110086725A (ko) * | 2008-11-10 | 2011-07-29 | 퓨전-아이오, 인크. | 솔리드-스테이트 저장장치의 고장을 예측하는 장치, 시스템 및 방법 |
JP2012094132A (ja) * | 2010-10-01 | 2012-05-17 | Siglead Inc | 不揮発性半導体メモリ装置とデータ誤り訂正方法 |
US20140115422A1 (en) * | 2012-10-24 | 2014-04-24 | Laurence H. Cooke | Non-volatile memory error correction |
US9389937B2 (en) * | 2013-11-19 | 2016-07-12 | Lenovo Enterprise Solutions (Singapore) Pte. Ltd. | Managing faulty memory pages in a computing system |
US9558107B2 (en) * | 2013-12-24 | 2017-01-31 | International Business Machines Corporation | Extending useful life of a non-volatile memory by health grading |
KR102244618B1 (ko) * | 2014-02-21 | 2021-04-26 | 삼성전자 주식회사 | 플래시 메모리 시스템 및 플래시 메모리 시스템의 제어 방법 |
US10025710B2 (en) * | 2014-04-30 | 2018-07-17 | Walmart Apollo, Llc | Pattern for integrating primary and secondary data stores in a sharded data domain |
-
2018
- 2018-05-14 TW TW107116235A patent/TWI650763B/zh active
- 2018-07-04 CN CN201810726449.4A patent/CN110489264B/zh active Active
- 2018-09-26 US US16/141,983 patent/US10811120B2/en active Active
Patent Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2007010829A1 (ja) * | 2005-07-15 | 2007-01-25 | Matsushita Electric Industrial Co., Ltd. | 不揮発性記憶装置、メモリコントローラ及び不良領域検出方法 |
US20090055680A1 (en) * | 2005-07-15 | 2009-02-26 | Matsushita Electric Industrial Co., Ltd. | Nonvolatile storage device, memory controller, and defective region detection method |
CN101339525A (zh) * | 2008-08-22 | 2009-01-07 | 北京星网锐捷网络技术有限公司 | 一种对数据进行错误检测的方法、系统和设备 |
CN102033791A (zh) * | 2009-09-25 | 2011-04-27 | 慧荣科技股份有限公司 | 提升闪存的控制器的验证效率的方法、记忆装置及控制器 |
CN103348326A (zh) * | 2010-09-28 | 2013-10-09 | 净睿存储股份有限公司 | Ssd环境中的适配raid |
US20120216094A1 (en) * | 2011-02-22 | 2012-08-23 | Samsung Electronics Co., Ltd. | Controller, A Method Of Operating The Controller And A Memory System |
CN104637542A (zh) * | 2013-11-11 | 2015-05-20 | 旺宏电子股份有限公司 | 储存对应于数据的错误更正码的存储器装置及其操作方法 |
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US11210005B2 (en) | 2019-03-04 | 2021-12-28 | Silicon Motion, Inc. | Unbalanced plane management method, associated data storage device and controller thereof |
TWI752784B (zh) * | 2019-03-04 | 2022-01-11 | 慧榮科技股份有限公司 | 非對稱型平面管理方法以及資料儲存裝置及其控制器 |
US11809723B2 (en) | 2019-03-04 | 2023-11-07 | Silicon Motion, Inc. | Unbalanced plane management method, associated data storage device and controller thereof |
TWI697006B (zh) * | 2019-05-09 | 2020-06-21 | 點序科技股份有限公司 | 快閃記憶體管理方法及快閃記憶體 |
Also Published As
Publication number | Publication date |
---|---|
CN110489264A (zh) | 2019-11-22 |
US10811120B2 (en) | 2020-10-20 |
US20190347028A1 (en) | 2019-11-14 |
CN110489264B (zh) | 2022-09-20 |
TW201947600A (zh) | 2019-12-16 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
TWI650763B (zh) | 用來進行記憶裝置的頁可用性管理之方法、記憶裝置及電子裝置以及頁可用性管理系統 | |
TWI643066B (zh) | 用來於一記憶裝置中重新使用關於垃圾收集的一目的地區塊之方法、記憶裝置及其控制器以及電子裝置 | |
US11862263B2 (en) | Storage device and method of operating the same | |
US9442662B2 (en) | Device and method for managing die groups | |
US10698762B2 (en) | Data reading method and storage controller | |
US9152555B2 (en) | Data management with modular erase in a data storage system | |
US9875027B2 (en) | Data transmitting method, memory control circuit unit and memory storage device | |
TWI498898B (zh) | 資料寫入方法、記憶體控制器與記憶體儲存裝置 | |
US11630768B2 (en) | Method for managing flash memory module and associated flash memory controller and electronic device | |
US10628257B2 (en) | Memory management method and storage controller | |
US8832527B2 (en) | Method of storing system data, and memory controller and memory storage apparatus using the same | |
US10628082B2 (en) | Data reading method and storage controller | |
TWI729903B (zh) | 藉助於機器學習來針對記憶裝置的服務品質優化進行存取控制的方法、相關記憶裝置及其控制器 | |
TW202025165A (zh) | 資料讀取方法、儲存控制器與儲存裝置 | |
US9268631B2 (en) | Adaptive moving read references for memory cells | |
TWI656442B (zh) | 用來於一記憶裝置中進行存取控制之方法以及記憶裝置及其控制器 | |
US20190073298A1 (en) | Memory management method, memory control circuit unit and memory storage apparatus | |
TW201942906A (zh) | 解碼方法以及儲存控制器 | |
CN110364197B (zh) | 解码方法以及存储控制器 | |
TWI759580B (zh) | 管理快閃記憶體模組的方法及相關的快閃記憶體控制器與電子裝置 | |
TWI664527B (zh) | 用來於一記憶裝置中進行初始化之方法、記憶裝置及其控制器以及電子裝置 | |
US10489077B2 (en) | Systems and methods for controlling metapage storage on data storage devices | |
CN109273037B (zh) | 数据读取方法以及存储控制器 | |
TWI781886B (zh) | 管理快閃記憶體模組的方法及相關的快閃記憶體控制器與電子裝置 | |
US10169224B2 (en) | Data protecting method for preventing received data from losing, memory storage apparatus and memory control circuit unit |