TWI782644B - 用來進行資料儲存管理以提升資料可靠度之方法、記憶裝置及其控制器以及電子裝置 - Google Patents

用來進行資料儲存管理以提升資料可靠度之方法、記憶裝置及其控制器以及電子裝置 Download PDF

Info

Publication number
TWI782644B
TWI782644B TW110127864A TW110127864A TWI782644B TW I782644 B TWI782644 B TW I782644B TW 110127864 A TW110127864 A TW 110127864A TW 110127864 A TW110127864 A TW 110127864A TW I782644 B TWI782644 B TW I782644B
Authority
TW
Taiwan
Prior art keywords
volatile memory
blocks
data
type
memory
Prior art date
Application number
TW110127864A
Other languages
English (en)
Other versions
TW202209106A (zh
Inventor
歐旭斌
楊孟樺
Original Assignee
慧榮科技股份有限公司
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 慧榮科技股份有限公司 filed Critical 慧榮科技股份有限公司
Publication of TW202209106A publication Critical patent/TW202209106A/zh
Application granted granted Critical
Publication of TWI782644B publication Critical patent/TWI782644B/zh

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/008Reliability or availability analysis
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input 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/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0602Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
    • G06F3/0614Improving the reliability of storage systems
    • G06F3/0619Improving the reliability of storage systems in relation to data integrity, e.g. data losses, bit errors
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/08Error detection or correction by redundancy in data representation, e.g. by using checking codes
    • G06F11/10Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's
    • G06F11/1008Adding 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/1068Adding 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
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/02Addressing or allocation; Relocation
    • G06F12/0223User address space allocation, e.g. contiguous or non contiguous base addressing
    • G06F12/023Free address space management
    • G06F12/0238Memory management in non-volatile memory, e.g. resistive RAM or ferroelectric memory
    • G06F12/0246Memory management in non-volatile memory, e.g. resistive RAM or ferroelectric memory in block erasable memory, e.g. flash memory
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input 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/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0602Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
    • G06F3/061Improving I/O performance
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input 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/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0628Interfaces specially adapted for storage systems making use of a particular technique
    • G06F3/0638Organizing or formatting or addressing of data
    • G06F3/064Management of blocks
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input 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/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0628Interfaces specially adapted for storage systems making use of a particular technique
    • G06F3/0638Organizing or formatting or addressing of data
    • G06F3/0644Management of space entities, e.g. partitions, extents, pools
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input 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/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0628Interfaces specially adapted for storage systems making use of a particular technique
    • G06F3/0655Vertical data movement, i.e. input-output transfer; data movement between one or more hosts and one or more storage devices
    • G06F3/0659Command handling arrangements, e.g. command buffers, queues, command scheduling
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input 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/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0668Interfaces specially adapted for storage systems adopting a particular infrastructure
    • G06F3/0671In-line storage system
    • G06F3/0673Single storage device
    • G06F3/0679Non-volatile semiconductor memory device, e.g. flash memory, one time programmable memory [OTP]
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input 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/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0668Interfaces specially adapted for storage systems adopting a particular infrastructure
    • G06F3/0671In-line storage system
    • G06F3/0683Plurality of storage devices
    • G06F3/0688Non-volatile semiconductor memory arrays
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C11/00Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor
    • G11C11/21Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using electric elements
    • G11C11/34Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using electric elements using semiconductor devices
    • G11C11/40Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using electric elements using semiconductor devices using transistors
    • G11C11/401Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using electric elements using semiconductor devices using transistors forming cells needing refreshing or charge regeneration, i.e. dynamic cells
    • G11C11/4063Auxiliary circuits, e.g. for addressing, decoding, driving, writing, sensing or timing
    • G11C11/407Auxiliary circuits, e.g. for addressing, decoding, driving, writing, sensing or timing for memory cells of the field-effect type
    • G11C11/4074Power supply or voltage generation circuits, e.g. bias voltage generators, substrate voltage generators, back-up power, power control circuits
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C11/00Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor
    • G11C11/56Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using storage elements with more than two stable states represented by steps, e.g. of voltage, current, phase, frequency
    • G11C11/5621Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using storage elements with more than two stable states represented by steps, e.g. of voltage, current, phase, frequency using charge storage in a floating gate
    • G11C11/5628Programming or writing circuits; Data input circuits
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C16/00Erasable programmable read-only memories
    • G11C16/02Erasable programmable read-only memories electrically programmable
    • G11C16/06Auxiliary circuits, e.g. for writing into memory
    • G11C16/10Programming or data input circuits
    • G11C16/102External programming circuits, e.g. EPROM programmers; In-circuit programming or reprogramming; EPROM emulators
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2212/00Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
    • G06F2212/72Details relating to flash memory management
    • G06F2212/7207Details relating to flash memory management management of metadata or control data
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C2211/00Indexing scheme relating to digital stores characterized by the use of particular electric or magnetic storage elements; Storage elements therefor
    • G11C2211/56Indexing scheme relating to G11C11/56 and sub-groups for features not covered by these groups
    • G11C2211/564Miscellaneous aspects
    • G11C2211/5641Multilevel memory having cells with different number of storage levels

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 Hardware Design (AREA)
  • Quality & Reliability (AREA)
  • Computer Security & Cryptography (AREA)
  • Microelectronics & Electronic Packaging (AREA)
  • Techniques For Improving Reliability Of Storages (AREA)
  • Credit Cards Or The Like (AREA)
  • Read Only Memory (AREA)

Abstract

本發明提供一種用來進行資料儲存管理以提升資料可靠度之方法與設備。該方法包含:從一主系統接收一寫入命令,其中該寫入命令指出需要將一組資料寫入至一非揮發性記憶體;判斷一重複寫入條件是否被滿足,該重複寫入條件包含該寫入命令是一先前寫入命令的一重複寫入命令且對應於和該先前寫入命令相同之一相同位址與一相同長度;以及因應該重複寫入條件被滿足,將該組資料儲存至該非揮發性記憶體中的一第一類型的區塊的至少一個,以供進行資料儲存加強處理,該第一類型的區塊的每記憶細胞的位元數小於一第二類型的區塊的每記憶細胞的位元數。

Description

用來進行資料儲存管理以提升資料可靠度之方法、記憶裝置 及其控制器以及電子裝置
本發明係有關於記憶體控制,尤指一種用來進行資料儲存管理以提升資料可靠度(reliability)之方法以及相關設備(apparatus)諸如一記憶裝置及其控制器以及一電子裝置,例如該資料儲存管理可藉助於重複寫入命令偵測(repeated write command detection)來進行。
近年來由於記憶體的技術不斷地發展,各種可攜式或非可攜式記憶裝置(例如:符合SD/MMC、CF、MS、XD或UFS標準之記憶卡;又例如:固態硬碟;又例如:符合UFS或eMMC規格之嵌入式(embedded)記憶裝置)被廣泛地實施於諸多應用中。因此,如何改善這些記憶裝置中之記憶體的存取(access)控制遂成為相當熱門的議題。
以常用的NAND型快閃記憶體而言,其主要可區分為單階細胞(Single Level Cell,SLC)與多階細胞(Multiple Level Cell,MLC)兩大類之快閃 記憶體。單階細胞快閃記憶體中之每個被當作記憶細胞(memory cell)的電晶體只有兩種電荷值,分別用來表示邏輯值0與邏輯值1。另外,多階細胞快閃記憶體中之每個被當作記憶單元的電晶體的儲存能力則被充分利用,係採用較高的電壓來驅動,以透過不同級別的電壓在一個電晶體中記錄至少兩組位元資訊(諸如00、01、11、10);理論上,多階細胞快閃記憶體的記錄密度可以達到單階細胞快閃記憶體的記錄密度之至少兩倍,因此廣受NAND型快閃記憶體製造商的歡迎。
相較於單階細胞快閃記憶體,由於多階細胞快閃記憶體之價格較便宜,並且在有限的空間裡可提供較大的容量,故多階細胞快閃記憶體很快地成為市面上之記憶裝置競相採用的主流。然而,多階細胞快閃記憶體的不穩定性所導致的問題也一一浮現。為了確保記憶裝置對快閃記憶體之存取控制能符合相關規範,快閃記憶體的控制器通常備有某些管理機制以妥善地管理資料之存取。
依據相關技術,有了這些管理機制的記憶裝置還是有不足之處。舉例來說,一主系統諸如一多功能行動電話、平板電腦、全合一(All-In-One,AIO)電腦、膝上型電腦等可將使用者的各種使用者資料儲存在其內的一記憶裝置中。當需要使該記憶裝置符合某個規格時,該記憶裝置可能僅僅按照主系統(host system)所請求來執行某些基本操作諸如讀取、寫入等,並且可能沒有用於裝置間(inter-device)通訊的額外命令。於是,該記憶裝置可能默認以經濟有效的方式將使用者的使用者資料儲存在該記憶裝置的一資料區中,而沒有任何特殊處理,這是因為沒有可用於裝置間通訊的額外命令。因此,需要一種新穎的方法及相關架構,以在沒有副作用或較不可能帶來副作用之狀況下提升記憶裝置之 效能。
本發明之一目的在於提供一種用來進行資料儲存管理以提升資料可靠度(reliability)之方法(例如:該資料儲存管理可藉助於重複寫入命令偵測來進行),以及提供相關設備諸如一記憶裝置及其控制器、包含該記憶裝置之一電子裝置等,以解決上述問題。
本發明至少一實施例提供一種用來進行資料儲存管理以提升資料可靠度(reliability)之方法,其中該方法可被應用於(applied to)一記憶裝置。該記憶裝置可包含一非揮發性記憶體(non-volatile memory,NV memory),該非揮發性記憶體可包含至少一非揮發性記憶體元件(NV memory element)(例如一或多個非揮發性記憶體元件),且上述至少一非揮發性記憶體元件可包含複數個區塊(block)。該方法可包含:從一主系統(host system)接收一寫入命令,其中該寫入命令指出需要將一組資料寫入至該非揮發性記憶體;判斷一重複寫入條件(repeated writing condition)是否被滿足,其中該重複寫入條件包含:該寫入命令是一先前寫入命令的一重複寫入命令,且該寫入命令對應於和該先前寫入命令相同之一相同位址與一相同長度;以及因應該重複寫入條件被滿足,將該組資料儲存至在該非揮發性記憶體當中的一第一類型的區塊(first type of blocks)中的至少一第一類型區塊(first type block),以供進行資料儲存加強處理(data storage enhancement processing),其中在該第一類型的區塊中的任一區塊中的一記憶細胞(memory cell)中所儲存的一或多個位元的一第一位元數(bit count)小於在該非揮發性記憶體當中的一第二類型的區塊(second type of blocks)中的任一區塊中的一記憶細胞中所儲存的多個位元的一第二位元數。
除了以上方法外,本發明亦提供一種記憶裝置,且該記憶裝置可包含一非揮發性記憶體以及一控制器。該非揮發性記憶體係用來儲存資訊,其中該非揮發性記憶體可包含至少一非揮發性記憶體元件(例如一或多個非揮發性記憶體元件),且上述至少一非揮發性記憶體元件可包含複數個區塊。該控制器係耦接至該非揮發性記憶體,且該控制器係用來控制該記憶裝置的運作。另外,該控制器包含一處理電路,其係用來依據來自一主系統(host system)的複數個主指令(host command)來控制該控制器,以容許該主系統透過該控制器存取該非揮發性記憶體。例如,該控制器從該主系統接收一寫入命令,其中該寫入命令指出需要將一組資料寫入至該非揮發性記憶體;該控制器判斷一重複寫入條件是否被滿足,其中該重複寫入條件包含:該寫入命令是一先前寫入命令的一重複寫入命令,且該寫入命令對應於和該先前寫入命令相同之一相同位址與一相同長度;以及因應該重複寫入條件被滿足,該控制器將該組資料儲存至在該非揮發性記憶體當中的一第一類型的區塊中的至少一第一類型區塊,以供進行資料儲存加強處理,其中在該第一類型的區塊中的任一區塊中的一記憶細胞中所儲存的一或多個位元的一第一位元數小於在該非揮發性記憶體當中的一第二類型的區塊中的任一區塊中的一記憶細胞中所儲存的多個位元的一第二位元數。
依據某些實施例,本發明另提供一種電子裝置。該電子裝置可包含上述記憶裝置,且可另包含該主系統。另外,該主系統可包含一主裝置(host device),而該主裝置可耦接至該記憶裝置。該主裝置可包含:至少一處理器,用來控制該主裝置之操作;以及一電源供應電路,耦接至該至少一處理器,用來提供電源予該至少一處理器與該記憶裝置。此外,該記憶裝置可用來提供儲 存空間給該主裝置。
除了以上方法外,本發明亦提供一種記憶裝置的控制器,其中該記憶裝置包含該控制器以及一非揮發性記憶體。該非揮發性記憶體可包含至少一非揮發性記憶體元件(例如一或多個非揮發性記憶體元件),且上述至少一非揮發性記憶體元件可包含複數個區塊。另外,該控制器包含一處理電路,其係用來依據來自一主系統的複數個主指令來控制該控制器,以容許該主系統透過該控制器存取該非揮發性記憶體。例如,該控制器從該主系統接收一寫入命令,其中該寫入命令指出需要將一組資料寫入至該非揮發性記憶體;該控制器判斷一重複寫入條件是否被滿足,其中該重複寫入條件包含:該寫入命令是一先前寫入命令的一重複寫入命令,且該寫入命令對應於和該先前寫入命令相同之一相同位址與一相同長度;以及因應該重複寫入條件被滿足,該控制器將該組資料儲存至在該非揮發性記憶體當中的一第一類型的區塊中的至少一第一類型區塊,以供進行資料儲存加強處理,其中在該第一類型的區塊中的任一區塊中的一記憶細胞中所儲存的一或多個位元的一第一位元數小於在該非揮發性記憶體當中的一第二類型的區塊中的任一區塊中的一記憶細胞中所儲存的多個位元的一第二位元數。
本發明的方法及相關設備能確保該記憶裝置能在各種情況下妥善地運作。藉助於本發明的方法及相關設備,該記憶裝置不會遭受相關技術中的既有的問題。另外,實施本發明的實施例不會大幅增加額外成本。因此,相關技術的問題能被解決,而整體成本不會增加太多。相較於相關技術,本發明的方法及相關設備能在沒有副作用或較不會帶來副作用的情況下能達到最佳化效能。
10:電子裝置
20:主系統
50:主裝置
52:處理器
54:電源供應電路
60:橋接裝置
100:記憶裝置
110:記憶體控制器
112:微處理器
112C:程式碼
112M:唯讀記憶體
114:控制邏輯電路
116:緩衝記憶體
118:傳輸介面電路
120:非揮發性記憶體
122-1,122-2~122-N:非揮發性記憶體元件
120MT:管理表
S10,S12,S14,S16,S20,S22,S24,S26,S28,S30:步驟
第1圖為依據本發明一實施例之一電子裝置的示意圖。
第2圖為依據本發明一實施例之一種用來進行資料儲存管理以提升資料可靠度(reliability)之方法的流程圖,例如該資料儲存管理可藉助於重複寫入命令偵測(repeated write command detection)來進行。
第3圖依據本發明一實施例繪示第2圖所示方法所涉及的一資料儲存加強程序(data storage enhancement procedure)之一工作流程。
第1圖為依據本發明一實施例之一種電子裝置10的示意圖,其中電子裝置10包含一主系統(host system)20與一記憶裝置100,而主系統20包含一主裝置(host device)50與一橋接裝置(bridge device)60。主裝置50可包含:至少一處理器52(例如一或多個處理器),用來控制主裝置50之操作;以及一電源供應電路54,耦接至上述至少一處理器52,用來提供電源予上述至少一處理器52、橋接裝置60與記憶裝置100,尤其,輸出至少一驅動電壓至橋接裝置60、且透過橋接裝置60提供一或多個驅動電壓至記憶裝置100(例如:透過橋接裝置60輸出該一或多個驅動電壓至記憶裝置100;或利用橋接裝置60穩壓(regulate)來自主裝置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規格之嵌入式記憶裝置)。橋接裝置60的例子可包含(但不限於):記憶卡讀卡機(memory card reader)、記憶裝置轉接器(memory device adaptor)、介接電路(interfacing circuit)等。為了便於理解,記憶裝置100可用來提供儲存空間給主裝置50,且可透過橋接裝置60從主裝置50取得該一或多個驅動電壓,作為記憶裝置100之電源,但本發明不限於此。於某些實施例中,第1圖所示架構可予以變化。例如,橋接裝置60可被忽略或可被整合至主裝置50中。此情況下,主系統20可代表主裝置50。
依據本實施例,記憶裝置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)標準)且可依據該特定通訊標準進行通訊。為了便於理解,橋接裝置60可用來橋接主裝置50與記憶裝置100,例如,在主裝置50符合異於該特定通訊標準之另一通訊標準,但本發明不限於此。於某些例子中,主裝置50也可以符合該特定通訊標準,而橋接裝置60可旁通(bypass)命令及資料至記憶裝置100、或旁通資料至主裝置50。
於本實施例中,主系統20(尤其,其內的主裝置50,藉助於橋接裝置60)可傳送複數個主命令(host command)諸如主裝置命令(host device command)以及對應的邏輯位址予記憶體控制器110,以間接地存取記憶裝置100中之非揮發性記憶體120。記憶體控制器110接收該複數個主命令與邏輯位址,並將該複數個主命令分別轉譯成記憶體操作命令(簡稱操作命令),再以操作命令控制非揮發性記憶體120讀取、寫入(write)/編程(Program)非揮發性記 憶體120當中特定實體位址之記憶單位(memory unit)或資料頁面(page),其中實體位址關聯於邏輯位址。例如記憶體控制器110可產生或更新至少一邏輯對實體位址映射表(logical-to-physical address mapping table)來管理實體位址與邏輯位址之間的關係。非揮發性記憶體120可儲存一管理表(management table)120MT,以供記憶體控制器110控制記憶裝置100管理儲存著用某處置方式(treatment)處理過的使用者資料之區塊。當需要時,記憶體控制器110可將管理表120MT載入緩衝記憶體116或其它記憶體。管理表120MT可位於非揮發性記憶體元件122-1中之一預定區域,諸如一系統區(system region),但本發明不限於此。於某些實施例中,管理表120MT可位於非揮發性記憶體元件122-1、122-2、...與122-N之任一者。
另外,上述至少一非揮發性記憶體元件(例如該一或多個非揮發性記憶體元件諸如{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)、一區塊位址與一頁面位址來存取該多個平面中之某一平面中的某一區塊中的某一頁面。
基於第1圖所示架構,記憶裝置100(尤其,其內的記憶體控制器110)能在各種情況下妥善地運作,以避免相關技術中的既有的問題,例如,在沒有任何用於主系統20(例如:主裝置50與橋接裝置60的組合;或主裝置50,針對「橋接裝置60可被忽略或可被整合至主裝置50中」的例子而言)與記憶裝置100之間的裝置間(inter-device)通訊的額外命令的情況下。
第2圖為依據本發明一實施例之一種用來進行資料儲存管理以提升資料可靠度(reliability)之方法的流程圖,例如該資料儲存管理可藉助於重複寫入命令偵測(repeated write command detection)來進行。該方法可應用於記憶裝置100以及其內的記憶體控制器110,且可應用於包含主系統20與記憶裝置100的電子裝置10。
在步驟S10中,記憶體控制器110可從主系統20接收一命令,諸如該複數個主命令的其中一個。
在步驟S12中,記憶體控制器110可判斷該命令是否為一寫入命令。如果「是」,則記憶體控制器110可執行步驟S14;如果「否」,則記憶體控制器110可執行步驟S16。例如,該命令可以代表該寫入命令(例如,記憶體控制器110可在步驟S10中從主系統20接收該寫入命令),並且該寫入命令可指出需要將一組資料寫入至非揮發性記憶體120,但本發明不限於此。又例如,該命令可代表一讀取命令,並且該讀取命令可指出需要從非揮發性記憶體120讀取一或多組資料。
在步驟S14中,記憶體控制器110可判斷一重複寫入條件(repeated writing condition)是否被滿足,其中該重複寫入條件可包含:該寫入命令是一先前寫入命令的一重複寫入命令,且該寫入命令對應於和該先前寫入命令相同之一相同位址與一相同長度。如果「是」,則記憶體控制器110可執行步驟S20;如果「否」,則記憶體控制器110可執行步驟S30。依據本實施例,記憶體控制器110可判斷該寫入命令是否為該先前寫入命令的下一個寫入命令,尤其,可判斷是否這個寫入命令指出需要將具有該相同長度的於該相同位址(例如:相同邏輯位址)的資料寫入至非揮發性記憶體120。例如,當這個寫入命令是該先前寫入命令的下一個寫入命令、且這個寫入命令指出需要於該相同位址(例如:相同邏輯位址)寫入具有該相同長度的資料,記憶體控制器110可判斷該重複寫入條件被滿足,且因此進入步驟S20;否則,記憶體控制器110可判斷該重複寫入條件未被滿足,且因此進入步驟S30;但本發明不限於此。
在步驟S16中,當該命令不是該寫入命令(例如:該命令可代表該讀取命令),記憶體控制器110可進行其它處理,而非寫入。
在步驟S20中,因應該重複寫入條件被滿足,記憶體控制器110可執行一資料儲存加強程序(data storage enhancement procedure),以使用在非揮發性記憶體120當中的一第一類型的區塊(first type of blocks)中的至少一第一類型區塊(first type block)來進行資料儲存加強處理。尤其,在該第一類型的區塊中的任一區塊中的一記憶細胞中所儲存的一或多個位元(例如:BITCNT(1)個位元)的一第一位元數BITCNT(1)小於在非揮發性記憶體120當中的一第二類型的區塊(second type of blocks)中的任一區塊中的一記憶細胞中所儲存的多個位元(例如:BITCNT(2)個位元)的一第二位元數BITCNT(2)。舉例來說,該第一類型的區塊可包含一群單階細胞(Single Level Cell,簡稱SLC)區塊,而該第 二類型的區塊可包含一群三階細胞(Triple Level Cell,簡稱TLC)區塊,其中第一位元數BITCNT(1)與第二位元數BITCNT(2)可分別等於一與三,但本發明不限於此。
在步驟S30中,因應該重複寫入條件未被滿足,記憶體控制器110可將資料(例如:該組資料)儲存至在非揮發性記憶體120當中的該第二類型的區塊中的至少一第二類型區塊(second type block)。
基於第2圖所示工作流程,步驟S14之操作(例如:判斷該重複寫入條件是否被滿足之操作)可被執行多次以分別產生多個判斷結果諸如一第一判斷結果與一第二判斷結果,其中該第一判斷結果可指出該重複寫入條件被滿足,而該第二判斷結果可指出該重複寫入條件未被滿足。舉例來說,步驟S20之操作(例如:執行該資料儲存加強程序以進行該資料儲存加強處理之操作)可以是因應該第一判斷結果來執行。對於另一例子而言,步驟S30之操作(例如:將該組資料儲存至在非揮發性記憶體120當中的該第二類型的區塊中的上述至少一第二類型區塊之操作)可以是因應該第二判斷結果來執行。請注意,在步驟S14所述之重複寫入條件被滿足的情況下,記憶體控制器110可在步驟S20所述之資料儲存加強程序的期間針對該組資料進行該資料儲存加強處理,以在具備較高可靠度的該第一類型的區塊中的上述至少一第一類型區塊中保護該組資料。
為了更好地理解,該方法可用第2圖所示工作流程來說明,但本發明不限於此。依據某些實施例,一個或多個步驟可於第2圖所示工作流程中增加、刪除或修改。
依據某些實施例,該第一類型的區塊及/或該第二類型的區塊的實施方式可予以變化。例如,該第一類型的區塊可包含該群SLC區塊,而該第二類型的區塊可包含一群四階細胞(Quadruple Level Cell,簡稱QLC)區塊,其中第一位元數BITCNT(1)與第二位元數BITCNT(2)可分別等於一與四。又例如,該第一類型的區塊可包含該群SLC區塊,而該第二類型的區塊可包含一群多階細胞(Multiple Level Cell,簡稱MLC)區塊,其中第一位元數BITCNT(1)可等於一,而第二位元數BITCNT(2)可等於或大於二(例如:依照針對MLC之不同的觀點而異)。於某些例子中,該第一類型的區塊可包含該群SLC區塊,而該第二類型的區塊可包含多群較高階細胞(higher level cell)區塊中的任一群,且該多群較高階細胞區塊可包含該群MLC區塊,尤其,可包含該群TLC區塊、該群QLC區塊等,其中第一位元數BITCNT(1)可等於一,而第二位元數BITCNT(2)可等於從一序列{2,3,4,...}選擇之對應的位元數。於某些其它例子中,該第一類型的區塊可包含一系列群中之一第一群,而該系列群可包含該群SLC區塊、該群MLC區塊、該群TLC區塊、該群QLC區塊等,並且該第二類型的區塊可包含該系列群中之一第二群,諸如在該系列群中的在該第一群以後的後續群中的一個,其中第一位元數BITCNT(1)可等於從對應於該系列群的一序列{1,2,3,4,...}選擇之某一位元數,而第二位元數BITCNT(2)可等於從序列{1,2,3,4,...}選擇、且大於第一位元數BITCNT(1)之另一位元數。
第3圖依據本發明一實施例繪示第2圖所示方法所涉及的該資料儲存加強程序之一工作流程。
在步驟S22中,因應該重複寫入條件被滿足,記憶體控制器110可將 該組資料儲存至在非揮發性記憶體120當中的該第一類型的區塊中的上述至少一第一類型區塊,以供進行該資料儲存加強處理。例如,步驟S220之操作可以是因應該第一判斷結果來執行。
在步驟S24中,記憶體控制器110可判斷對應於該資料儲存加強處理之管理表120MT是否已滿,以供為該資料儲存加強處理管理在非揮發性記憶體120當中的一第一儲存池(storage pool),其中該第一儲存池可包含在非揮發性記憶體120當中的該第一類型的區塊的至少一部分區塊(例如:一部分或全部區塊),且管理表120MT的表內容(table content)可對應於該第一類型的區塊的上述至少一部分區塊,尤其,可代表該第一類型的區塊的上述至少一部分區塊,但本發明不限於此。如果「是」,則記憶體控制器110可執行步驟S26;如果「否」,則記憶體控制器110可執行步驟S28。
在步驟S26中,因應管理表120MT已滿,記憶體控制器110可從該第一儲存池的一或多個舊成員取得至少一組先前資料(例如:一或多組先前資料),將上述至少一組先前資料儲存至該第二類型的區塊中的一或多個第二類型區塊,且從管理表120MT移除該一或多個舊成員的區塊資訊(例如:一或多個實體位址),以將該一或多個舊成員從該第一儲存池清除(purge),其中該一或多個舊成員可代表該第一類型的區塊中的一或多個第一類型區塊。
在步驟S28中,記憶體控制器110可記錄該第一類型的區塊的上述至少一第一類型區塊的區塊資訊(例如:至少一實體位址)至管理表120MT,以將該第一類型的區塊的上述至少一第一類型區塊辨識為該第一儲存池的至少一成員。
基於第3圖所示工作流程,步驟S24之操作(例如:判斷對應於該資料儲存加強處理之管理表120MT是否已滿之操作)可被執行多次以分別產生多個判斷結果諸如一第三判斷結果與一第四判斷結果,其中該第三判斷結果可指出管理表120MT已滿,而該第四判斷結果可指出管理表120MT並非已滿。舉例來說,步驟S26之操作(例如:從該第一儲存池的該一或多個舊成員取得上述至少一組先前資料、將上述至少一組先前資料儲存至該第二類型的區塊中的該一或多個第二類型區塊、且從管理表120MT移除該一或多個舊成員的該區塊資訊之操作)可以是因應該第三判斷結果來執行。對於另一例子而言,步驟S28之操作(例如:記錄該第一類型的區塊的上述至少一第一類型區塊的該區塊資訊至管理表120MT之操作)可以是因應該第四判斷結果來執行。請注意,不論步驟S24所述之管理表120MT已滿或並非已滿,記憶體控制器110可於步驟S28中記錄該第一類型的區塊的上述至少一第一類型區塊的該區塊資訊至管理表120MT,以將該第一類型的區塊的上述至少一第一類型區塊加入該第一儲存池,其中記憶體控制器110可將該組資料儲存至具備較高可靠度的該第一類型的區塊中的上述至少一第一類型區塊中以保護該組資料。於是,管理表120MT的這些表內容可指出該第一類型的區塊的上述至少一部分區塊中所儲存的資料是被該資料儲存加強處理所保護。
為了更好地理解,該方法(尤其,該資料儲存加強程序)可用第3圖所示工作流程來說明,但本發明不限於此。依據某些實施例,一個或多個步驟可於第3圖所示工作流程中增加、刪除或修改。
依據某些實施例,記憶體控制器110可利用對應於該第一類型的區塊 之一第一區塊池(block pool)(例如:對應於該群SLC區塊之一SLC池)進行步驟S20所述之資料儲存加強處理,其中該第一區塊池的任一區塊中所儲存的資料是被該資料儲存加強處理所保護,且對應於該第二類型的區塊之一第二區塊池(例如:對應於該群TLC區塊之一TLC池、對應於該群QLC區塊之一QLC池等)的任一區塊中所儲存的資料並未被該資料儲存加強處理所保護,但本發明不限於此。
針對步驟S14所述之重複寫入條件的某些實施細節可進一步說明如下。依據某些實施例,在步驟S10所述命令代表該寫入命令並且後續進入步驟S12與S14的情況下,記憶體控制器110可進行針對該組資料的一額外檢查,以確保步驟S14的操作的正確性。在步驟S14中,記憶體控制器110可進一步進行針對該組資料的一重複資料偵測以產生一重複資料偵測結果,其中該重複資料偵測結果可指出按照這個寫入命令所請求的將被寫入的這組資料是否和先前寫入資料諸如按照該先前寫入命令所請求的已被寫入的資料相同。例如,當這個寫入命令是該先前寫入命令的下一個寫入命令、且這個寫入命令指出需要於該相同位址(例如:相同邏輯位址)寫入具有該相同長度的資料(例如:該組資料),並且該重複資料偵測結果指出按照這個寫入命令所請求的將被寫入的這組資料和該先前寫入資料(例如:按照該先前寫入命令所請求的已被寫入的資料)相同,則記憶體控制器110可判斷該重複寫入條件被滿足,且因此進入步驟S20;否則,記憶體控制器110可判斷該重複寫入條件未被滿足,且因此進入步驟S30。於是,該重複寫入條件可另包含:該重複資料偵測結果指出按照這個寫入命令所請求的將被寫入的這組資料和該先前寫入資料(例如:按照該先前寫入命令所請求的已被寫入的資料)相同。
依據某些實施例,進行該重複資料偵測可藉由偵測該組資料的特徵資訊諸如該組資料的循環冗餘校驗(Cyclic Redundancy Check,簡稱CRC)碼、哈希值(hash value)等方式來實施。尤其,在進行該重複資料偵測的期間,記憶體控制器110可偵測該組資料的該特徵資訊(例如:其CRC碼、哈希值等),並且將該組資料的該特徵資訊和先前特徵資訊進行比較以判斷該組資料的該特徵資訊是否和該先前特徵資訊相同,以產生該重複資料偵測結果。例如,記憶體控制器110可預先將該先前寫入資料的特徵資訊(例如:該先前寫入命令的資料的CRC碼、哈希值等)暫時地儲存在緩衝記憶體116中以作為該先前特徵資訊,但本發明不限於此。又例如,記憶體控制器110可預先將該先前寫入資料的該特徵資訊(例如:該先前寫入命令的該資料的該CRC碼、該哈希值等)暫時地儲存在記憶裝置100的任何其它記憶體中以作為該先前特徵資訊。再例如,記憶體控制器110可從非揮發性記憶體120讀取該先前寫入資料的該特徵資訊(例如:該先前寫入命令的該資料的該CRC碼、該哈希值等)以作為該先前特徵資訊。
依據某些實施例,記憶體控制器110可自行計算該組資料的該特徵資訊(例如:其CRC碼、哈希值等)以及該先前特徵資訊(例如:該先前寫入命令的該資料的該CRC碼、該哈希值等),但本發明不限於此。於某些實施例中,主系統20(例如:主裝置50)可預先計算該組資料的該特徵資訊(例如:其CRC碼、哈希值等)以及該先前特徵資訊(例如:該先前寫入命令的該資料的該CRC碼、該哈希值等)並且將它們發送給記憶裝置100,例如,以作為各自的資料的附加資訊(attached information),因此,記憶體控制器110可取得該組資料的該特徵資訊以及該先前特徵資訊。
依據某些實施例,進行該重複資料偵測可藉由將該組資料和該先前寫入資料進行比較的方式來實施。例如,記憶體控制器110可將按照該寫入命令(例如:目前寫入命令)所請求的將被寫入的該組資料和該先前寫入資料進行比較,而該先前寫入資料仍可以被緩衝在記憶裝置100的某一緩衝器中,其中這個緩衝器可用記憶體控制器110的一外部記憶體諸如在記憶裝置100中之一動態隨機存取記憶體(Dynamic RAM,DRAM)來實現,但本發明不限於此。以上所述僅為本發明之較佳實施例,凡依本發明申請專利範圍所做之均等變化與修飾,皆應屬本發明之涵蓋範圍。
10:電子裝置
20:主系統
50:主裝置
52:處理器
54:電源供應電路
60:橋接裝置
100:記憶裝置
110:記憶體控制器
112:微處理器
112C:程式碼
112M:唯讀記憶體
114:控制邏輯電路
116:緩衝記憶體
118:傳輸介面電路
120:非揮發性記憶體
122-1,122-2~122-N:非揮發性記憶體元件
120MT:管理表

Claims (7)

  1. 一種用來進行資料儲存管理以提升資料可靠度(reliability)之方法,該方法係應用於一記憶裝置,該記憶裝置包含一非揮發性記憶體(non-volatile memory,NV memory),該非揮發性記憶體包含至少一非揮發性記憶體元件,所述至少一非揮發性記憶體元件包含複數個區塊,該方法包含:從一主系統(host system)接收一寫入命令,其中該寫入命令指出需要將一組資料寫入至該非揮發性記憶體;比對該組資料與該至少一非揮發性記憶體元件的一先前寫入資料來判斷一重複寫入條件(repeated writing condition)是否被滿足,其中該先前寫入資料係對應至該寫入命令的前一個寫入命令,且該重複寫入條件為該寫入命令的邏輯位址與該前一個寫入命令的邏輯位址相同;因應該重複寫入條件被滿足,將該組資料儲存至在該非揮發性記憶體當中的一第一類型的區塊(first type of blocks)中的至少一第一類型區塊(first type block),以供進行資料儲存加強處理(data storage enhancement processing),其中在該第一類型的區塊中的任一區塊中的一記憶細胞(memory cell)中所儲存的一或多個位元的一第一位元數(bit count)小於在該非揮發性記憶體當中的一第二類型的區塊(second type of blocks)中的任一區塊中的一記憶細胞中所儲存的多個位元的一第二位元數;以及因應該重複寫入條件未被滿足,將該組資料儲存至在該非揮發性記憶體當中的該第二類型的區塊。
  2. 如申請專利範圍第1項所述之方法,另包含: 在將該組資料儲存至在該非揮發性記憶體當中的該第一類型的區塊中的所述至少一第一類型區塊之步驟被執行後,判斷對應於該資料儲存加強處理之一管理表是否已滿,以供為該資料儲存加強處理管理在該非揮發性記憶體當中的一第一儲存池(storage pool),其中該第一儲存池包含在該非揮發性記憶體當中的該第一類型的區塊的至少一部分區塊,且該管理表的表內容(table content)對應於該第一類型的區塊的所述至少一部分區塊。
  3. 如申請專利範圍第1項所述之方法,其中該第一類型的區塊包含一群單階細胞(Single Level Cell,SLC)區塊,且該第二類型的區塊包含多群較高階細胞(higher level cell)區塊中的任一群,且該多群較高階細胞區塊包含一群三階細胞(Triple Level Cell,TLC)區塊與一群四階細胞(Quadruple Level Cell,QLC)區塊。
  4. 一種記憶裝置,包含:一非揮發性記憶體(non-volatile memory,NV memory),用來儲存資訊,其中該非揮發性記憶體包含至少一非揮發性記憶體元件,且所述至少一非揮發性記憶體元件包含複數個區塊;以及一控制器,耦接至該非揮發性記憶體,用來控制該記憶裝置的操作,其中該控制器包含:一處理電路,用來依據來自一主系統(host system)的複數個主指令(host command)來控制該控制器,以容許該主系統透過該控制器存取該非揮發性記憶體,其中:該控制器從該主系統接收一寫入命令,其中該寫入命令指出需要將 一組資料寫入至該非揮發性記憶體;該控制器比對該組資料與該至少一非揮發性記憶體元件的一先前寫入資料來判斷一重複寫入條件(repeated writing condition)是否被滿足,其中該先前寫入資料係對應至該寫入命令的前一個寫入命令,且該重複寫入條件為該寫入命令的邏輯位址與該前一個寫入命令的邏輯位址相同;因應該重複寫入條件被滿足,該控制器將該組資料儲存至在該非揮發性記憶體當中的一第一類型的區塊(first type of blocks)中的至少一第一類型區塊(first type block),以供進行資料儲存加強處理(data storage enhancement processing),其中在該第一類型的區塊中的任一區塊中的一記憶細胞(memory cell)中所儲存的一或多個位元的一第一位元數(bit count)小於在該非揮發性記憶體當中的一第二類型的區塊(second type of blocks)中的任一區塊中的一記憶細胞中所儲存的多個位元的一第二位元數;以及因應該重複寫入條件未被滿足,將該組資料儲存至在該非揮發性記憶體當中的該第二類型的區塊。
  5. 如申請專利範圍第4項所述之記憶裝置,其中在將該組資料儲存至在該非揮發性記憶體當中的該第一類型的區塊中的所述至少一第一類型區塊之操作被執行後,該控制器判斷對應於該資料儲存加強處理之一管理表是否已滿,以供為該資料儲存加強處理管理在該非揮發性記憶體當中的一第一儲存池(storage pool),其中該第一儲存池包含在該非揮發性記憶體當中的該第一類型的區塊的至少一部分區塊,且該管理表的表內容(table content)對應於該第一類型的區塊的所述至少一部分區塊。
  6. 如申請專利範圍第4項所述之記憶裝置,其中該第一類型的區塊包含一群單階細胞(Single Level Cell,SLC)區塊,且該第二類型的區塊包含多群較高階細胞(higher level cell)區塊中的任一群,且該多群較高階細胞區塊包含一群三階細胞(Triple Level Cell,TLC)區塊與一群四階細胞(Quadruple Level Cell,QLC)區塊。
  7. 一種記憶裝置的控制器,該記憶裝置包含該控制器以及一非揮發性記憶體(non-volatile memory,NV memory),該非揮發性記憶體包含至少一非揮發性記憶體元件,所述至少一非揮發性記憶體元件包含複數個區塊,該控制器包含:一處理電路,用來依據來自一主系統(host system)的複數個主指令(host command)來控制該控制器,以容許該主系統透過該控制器存取該非揮發性記憶體,其中:該控制器從該主系統接收一寫入命令,其中該寫入命令指出需要將一組資料寫入至該非揮發性記憶體;該控制器比對該組資料與該至少一非揮發性記憶體元件的一先前寫入資料來判斷一重複寫入條件(repeated writing condition)是否被滿足,其中該先前寫入資料係對應至該寫入命令的前一個寫入命令,且該重複寫入條件為該寫入命令的邏輯位址與該前一個寫入命令的邏輯位址相同;因應該重複寫入條件被滿足,該控制器將該組資料儲存至在該非揮發性記憶體當中的一第一類型的區塊(first type of blocks)中的至少一第一類型區塊(first type block),以供進行資料儲存加強處理(data storage enhancement processing),其中在該第一類型的區塊中的任一區塊中的一記憶細胞(memory cell)中所儲存的一或多個位元的一第一位元數(bit count)小於在該非揮發性記憶體當中的一第二類型的區塊(second type of blocks)中的任一區塊中的一記憶細胞中所儲存的多個位元的一第二位元數;以及因應該重複寫入條件未被滿足,將該組資料儲存至在該非揮發性記憶體當中的該第二類型的區塊。
TW110127864A 2020-02-19 2020-05-22 用來進行資料儲存管理以提升資料可靠度之方法、記憶裝置及其控制器以及電子裝置 TWI782644B (zh)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US16/795,536 US20210255783A1 (en) 2020-02-19 2020-02-19 Method and apparatus for performing data storage management to enhance data reliability with aid of repeated write command detection
US16/795,536 2020-02-19

Publications (2)

Publication Number Publication Date
TW202209106A TW202209106A (zh) 2022-03-01
TWI782644B true TWI782644B (zh) 2022-11-01

Family

ID=77273484

Family Applications (2)

Application Number Title Priority Date Filing Date
TW110127864A TWI782644B (zh) 2020-02-19 2020-05-22 用來進行資料儲存管理以提升資料可靠度之方法、記憶裝置及其控制器以及電子裝置
TW109117219A TWI739440B (zh) 2020-02-19 2020-05-22 用來進行資料儲存管理以提升資料可靠度之方法、記憶裝置及其控制器以及電子裝置

Family Applications After (1)

Application Number Title Priority Date Filing Date
TW109117219A TWI739440B (zh) 2020-02-19 2020-05-22 用來進行資料儲存管理以提升資料可靠度之方法、記憶裝置及其控制器以及電子裝置

Country Status (3)

Country Link
US (1) US20210255783A1 (zh)
CN (1) CN113360303A (zh)
TW (2) TWI782644B (zh)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2023044471A (ja) * 2021-09-17 2023-03-30 キオクシア株式会社 メモリシステム及びメモリ制御方法
US11606104B1 (en) * 2021-12-08 2023-03-14 Amazon Technologies, Inc. Data integrity protection

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5621885A (en) * 1995-06-07 1997-04-15 Tandem Computers, Incorporated System and method for providing a fault tolerant computer program runtime support environment
US20090300269A1 (en) * 2008-05-28 2009-12-03 Radke William H Hybrid memory management
US20150039811A1 (en) * 2013-08-05 2015-02-05 Silicon Motion Inc. Method for managing memory apparatus, associated memory apparatus thereof and associated controller thereof
TWI523016B (zh) * 2013-08-05 2016-02-21 慧榮科技股份有限公司 用來管理一記憶裝置之方法以及記憶裝置與控制器
US9514042B2 (en) * 2013-08-05 2016-12-06 Silicon Motion Inc. Method for managing memory apparatus to perform writing control according to monitored data amount of received data, associated memory apparatus thereof and associated controller thereof

Family Cites Families (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101483067B (zh) * 2008-01-11 2012-04-18 群联电子股份有限公司 快闪存储器数据写入方法及其快闪存储器控制器
CN101625897B (zh) * 2008-07-11 2012-05-30 群联电子股份有限公司 用于快闪存储器的数据写入方法、储存***与控制器
TWI385527B (zh) * 2009-02-10 2013-02-11 Phison Electronics Corp Mlc nand型快閃記憶體儲存系統及其控制器與存取方法

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5621885A (en) * 1995-06-07 1997-04-15 Tandem Computers, Incorporated System and method for providing a fault tolerant computer program runtime support environment
US20090300269A1 (en) * 2008-05-28 2009-12-03 Radke William H Hybrid memory management
US20150039811A1 (en) * 2013-08-05 2015-02-05 Silicon Motion Inc. Method for managing memory apparatus, associated memory apparatus thereof and associated controller thereof
TWI523016B (zh) * 2013-08-05 2016-02-21 慧榮科技股份有限公司 用來管理一記憶裝置之方法以及記憶裝置與控制器
US9514042B2 (en) * 2013-08-05 2016-12-06 Silicon Motion Inc. Method for managing memory apparatus to perform writing control according to monitored data amount of received data, associated memory apparatus thereof and associated controller thereof

Also Published As

Publication number Publication date
TW202209106A (zh) 2022-03-01
TW202133166A (zh) 2021-09-01
CN113360303A (zh) 2021-09-07
US20210255783A1 (en) 2021-08-19
TWI739440B (zh) 2021-09-11

Similar Documents

Publication Publication Date Title
TWI720588B (zh) 用以在記憶裝置中進行存取管理的方法、相關記憶裝置及其控制器以及相關電子裝置
US10698762B2 (en) Data reading method and storage controller
TWI664634B (zh) 快閃記憶體控制器、管理快閃記憶體模組的方法及相關的電子裝置
TWI656442B (zh) 用來於一記憶裝置中進行存取控制之方法以及記憶裝置及其控制器
TWI693520B (zh) 用來於一記憶裝置中進行系統備份的方法、相關記憶裝置及其控制器、以及相關電子裝置
TWI782644B (zh) 用來進行資料儲存管理以提升資料可靠度之方法、記憶裝置及其控制器以及電子裝置
US11061614B2 (en) Electronic apparatus having data retention protection and operating method thereof
TWI798630B (zh) 用以存取快閃記憶體模組的方法、快閃記憶體控制器與電子裝置
TWI698742B (zh) 用來於一記憶裝置中進行存取控制之方法以及記憶裝置及其控制器
TWI748410B (zh) 用來針對非揮發性記憶體進行區塊管理的方法以及設備
TWI687930B (zh) 快閃記憶體控制器、管理快閃記憶體模組的方法及相關的電子裝置
TWI502591B (zh) 用來管理一記憶裝置之方法以及記憶裝置與控制器
TWI782458B (zh) 用以存取快閃記憶體模組的方法、快閃記憶體控制器與電子裝置
TWI839288B (zh) 用來在主機效能增幅器架構中藉助於裝置側表資訊編碼與解碼進行記憶裝置的存取管理的方法、記憶裝置、電子裝置及控制器
US20230178159A1 (en) Memory device and operating method thereof
CN117636967B (zh) 存储器控制方法、存储器存储装置及存储器控制电路单元
TWI818370B (zh) 資料儲存分配方法、記憶體儲存裝置及記憶體控制電路單元
WO2024082136A1 (en) Memory system and operation thereof
US10169224B2 (en) Data protecting method for preventing received data from losing, memory storage apparatus and memory control circuit unit
CN112015339A (zh) 一种存储器的数据保存***,保存方法及存储***