TWI662410B - 資料儲存裝置與記憶體裝置之資料處理方法 - Google Patents

資料儲存裝置與記憶體裝置之資料處理方法 Download PDF

Info

Publication number
TWI662410B
TWI662410B TW106144391A TW106144391A TWI662410B TW I662410 B TWI662410 B TW I662410B TW 106144391 A TW106144391 A TW 106144391A TW 106144391 A TW106144391 A TW 106144391A TW I662410 B TWI662410 B TW I662410B
Authority
TW
Taiwan
Prior art keywords
data
mapping table
buffer
controller
logical
Prior art date
Application number
TW106144391A
Other languages
English (en)
Other versions
TW201928685A (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 慧榮科技股份有限公司
Priority to TW106144391A priority Critical patent/TWI662410B/zh
Priority to CN201810718490.7A priority patent/CN109933545B/zh
Priority to US16/039,787 priority patent/US10540276B2/en
Application granted granted Critical
Publication of TWI662410B publication Critical patent/TWI662410B/zh
Publication of TW201928685A publication Critical patent/TW201928685A/zh

Links

Classifications

    • 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/08Addressing or allocation; Relocation in hierarchically structured memory systems, e.g. virtual memory systems
    • G06F12/10Address translation
    • G06F12/1009Address translation using page tables, e.g. page table structures
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F13/00Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F13/14Handling requests for interconnection or transfer
    • G06F13/20Handling requests for interconnection or transfer for access to input/output bus
    • G06F13/24Handling requests for interconnection or transfer for access to input/output bus using interrupt
    • 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/0646Horizontal data movement in storage systems, i.e. moving data in between storage devices or systems
    • G06F3/0652Erasing, e.g. deleting, data cleaning, moving of data to a wastebasket
    • 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
    • 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
    • G11C11/5635Erasing 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/14Circuits for erasing electrically, e.g. erase voltage switching circuits
    • G11C16/16Circuits for erasing electrically, e.g. erase voltage switching circuits for erasing blocks, e.g. arrays, words, groups
    • 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
    • G06F2212/00Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
    • G06F2212/40Specific encoding of data in memory or cache
    • G06F2212/401Compressed data
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2212/00Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
    • G06F2212/65Details of virtual memory and virtual address translation
    • G06F2212/652Page size control
    • 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/7201Logical to physical mapping or translation of blocks or pages
    • 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/7203Temporary buffering, e.g. using volatile buffer or dedicated buffer blocks
    • 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)
  • Techniques For Improving Reliability Of Storages (AREA)
  • Memory System (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

一種資料儲存裝置,包括一記憶體裝置、一靜態隨機存取記憶體以及一控制器。記憶體裝置包括用以儲存複數連續邏輯頁面之資料之一第一緩存器。靜態隨機存取記憶體用以儲存一第一映射表格。第一映射表格紀錄該第一緩存器之各物理頁面所儲存之資料係指向哪個邏輯頁面。控制器耦接記憶體裝置與靜態隨機存取記憶體。當控制器因應一抹除指令對第一緩存器所儲存之資料執行抹除操作時,控制器於每完成一既定數量(M)之邏輯頁面之抹除操作後,再檢查是否自一主機裝置接收到一中斷訊號或一重置指令,其中既定數量(M)為大於1之一正整數。

Description

資料儲存裝置與記憶體裝置之資料處理方法
本發明係關於一種適用於快閃記憶體裝置之資料處理方法,可有效地避免映射表格內容產生不同步的問題。
隨著資料儲存裝置的科技在近幾年快速地成長,許多資料儲存裝置,如符合SD/MMC規格、CF規格、MS規格與XD規格的記憶卡、固態硬碟、內嵌式記憶體(embedded Multi Media Card,縮寫為eMMC)以及通用快閃記憶體(Universal Flash Storage,縮寫為UFS)已經廣泛地被應用在多種用途上。因此,在這些資料儲存裝置上,有效的存取控制也變成一個重要的議題。
為了提高資料儲存裝置的存取效能,本發明提出一種新的資料處理方法,可有效地避免映射表格內容產生不同步的問題,並提升記憶體裝置之效能。
本發明揭露一種資料儲存裝置,包括一記憶體裝置、一靜態隨機存取記憶體以及一控制器。記憶體裝置包括用以儲存複數連續邏輯頁面之資料之一第一緩存器。靜態隨機存取記憶體用以儲存一第一映射表格,其中第一映射表格紀錄該第一緩存器之各物理頁面所儲存之資料係指向哪個邏輯頁面。 控制器耦接記憶體裝置與靜態隨機存取記憶體,其中當控制器因應一抹除指令對第一緩存器所儲存之資料執行抹除操作時,控制器於每完成一既定數量(M)之邏輯頁面之抹除操作後,再檢查是否自一主機裝置接收到一中斷訊號或一重置指令,其中既定數量(M)為大於1之一正整數。
本發明揭露一種記憶體裝置之資料處理方法,適用於一資料儲存裝置,資料儲存裝置包括一記憶體裝置、一靜態隨機存取記憶體與一控制器。記憶體裝置包括用以儲存複數連續邏輯頁面之資料之一第一緩存器,靜態隨機存取記憶體儲存一第一映射表格。資料處理方法包括:由控制器根據一資料壓縮率(R)編輯第一映射表格,其中第一映射表格紀錄第一緩存器之各物理頁面所儲存之資料係指向哪個邏輯頁面,並且其中部分資料被儲存於第一緩存器之邏輯頁面之資訊未被記錄於第一映射表格;由控制器接收對第一緩存器所儲存之資料執行抹除操作之一抹除指令;以及因應抹除指令對第一緩存器所儲存之資料執行抹除操作時,由控制器於每完成一既定數量(M)之邏輯頁面之抹除操作時,才檢查是否自一主機裝置接收到一中斷訊號或一重置指令,其中既定數量(M)為大於1之一正整數,並且其中既定數量與第一映射表格之資料壓縮率(R)相關。
100‧‧‧資料儲存裝置
110A、110B‧‧‧控制器
111‧‧‧微處理器
112、SRAM‧‧‧靜態隨機存取記憶體
113、ROM‧‧‧唯讀記憶體
114‧‧‧編碼器
115‧‧‧擾亂器
120‧‧‧記憶體裝置
200‧‧‧主機裝置
117、118‧‧‧介面
300A、300B‧‧‧電子裝置
第1A圖係顯示根據本發明之一實施例所述之電子裝置範例方塊圖。
第1B圖係顯示根據本發明之另一實施例所述之電子裝置 範例方塊圖。
第2圖係顯示根據本發明之一實施例所述之資料處理方法流程圖。
第3圖係顯示根據本發明之一實施例所述之檢查點示意圖。
為讓本發明之目的、特徵和優點能更明顯易懂,下文特舉出本發明之具體實施例,並配合所附圖式,作詳細說明如下。目的在於說明本發明之精神而非用以限定本發明之保護範圍,應理解下列實施例可經由軟體、硬體、韌體、或上述任意組合來實現。
第1A圖係顯示根據本發明之一實施例所述之電子裝置方塊圖。電子裝置300A可包括主機裝置200與資料儲存裝置100。電子裝置300A可為行動裝置,例如智慧型手機、智慧型手錶或平板電腦,但不以此為限。
根據本發明之一實施例,資料儲存裝置100可包括控制器110A與記憶體裝置120。控制器110A可至少包括一微處理器111、靜態隨機存取記憶體(Static Random Access Memory,縮寫為SRAM)112、唯讀記憶體(ROM)113、一編碼器114與一擾亂器115。記憶體裝置120可包括一或多個非揮發性記憶體,例如,快閃記憶體。
主機裝置200與資料儲存裝置100可透過一既定介面117相互連接。例如,當資料儲存裝置100符合通用快閃記憶體(Universal Flash Storage,縮寫為UFS)之規範時,主機裝置 200與資料儲存裝置100可透過UFS介面相互連接。又例如,當資料儲存裝置100符合內嵌式記憶體(embedded Multi Media Card,縮寫為eMMC)之規範時,主機裝置200與資料儲存裝置100可透過MMC介面相互連接。此外,控制器110A與記憶體裝置120可透過另一記憶體介面118相互連接。
唯讀記憶體113儲存程式碼,微處理器111可執行該程式碼,以控制記憶體裝置120之存取運作,並利用靜態隨機存取記憶體112進行所需的緩衝處理,以及透過介面117與主機裝置200溝通。編碼器114可對資料進行編碼、解碼,並且可根據欲寫入記憶體裝置120之資料內容產生同位檢查(parity check)位元,用以檢查及更正錯誤。擾亂器115可根據隨機種子對欲寫入記憶體裝置120之資料進行資料擾亂,以及根據對應之隨機種子對自記憶體裝置120讀出之資料進行解擾亂。
第1B圖係顯示根據本發明之另一實施例所述之電子裝置300B範例方塊圖。於此實施例中,SRAM 112被配置於控制器110B外部,並且耦接至控制器110B。
值得注意的是,為簡化說明,第1A圖與第1B圖僅顯示與本發明相關之元件,並且第1A圖與第1B圖僅顯示多種可應用本發明之架構的其中兩種。然而,本發明之實施並不僅限於第1A圖與第1B圖所示之元件與架構。
根據本發明之一實施例,記憶體裝置120包括複數記憶體區塊。記憶體區塊可進一步被區分為複數單層單元(Single Level Cell,縮寫為SLC)區塊與複數多層單元區塊(Multiple Level Cell,縮寫為MLC)區塊。SLC區塊的每個記憶 體單元中儲存一個位元資料,MLC區塊的每個記憶體單元中儲存多個位元資料。例如,根據本發明之一實施例,MLC區塊的每個記憶體單元中儲存兩個位元資料。
各記憶體區塊可包括複數頁面,通常在快閃記憶體中,一個頁面為一個寫入作業的最小資料塊單位。一個物理頁面的大小為固定的,而一個邏輯頁面的大小則可根據韌體編程需求彈性地被設計。
一般而言,為了使MLC區塊的編程能維持穩定狀態,記憶體裝置120之SLC區塊以及部分MLC區塊可作用為快取記憶體,或稱緩存器(buffer),用以暫存資料。待緩存器的使用率達到一定程度時,控制器110A/110B再將緩存器儲存的資料寫入MLC區塊或將作為緩存器之MLC區塊更新成資料區塊,如此一來,緩存器的記憶體空間可被釋放並可再度被使用。
本發明係應用於使用雙緩存器之資料儲存裝置。根據本發明之一實施例,記憶體裝置120可包括一第一緩存器Buffer_1與一第二緩存器Buffer_2,其中第一緩存器Buffer_1可包括一或多個多層單元(MLC)區塊,第二緩存器Buffer_2可包括一或多個單層單元(SLC)區塊。
第一緩存器Buffer_1被設定為用以儲存連續或大筆資料,例如,用以儲存複數個連續邏輯頁面之資料,而第二緩存器Buffer_2被設定為用以隨機或小筆資料。根據本發明之一實施例,控制器110A/110B可根據一筆寫入指令中所指示欲被寫入之資料的資料量以及欲寫入記憶體裝置120之既定資料 DATA之起始主頁面(Host page,HP)編號,判斷將資料寫入第一緩存器Buffer_1或第二緩存器Buffer_2。於本發明之實施例中,主頁面即為一種邏輯頁面。
一般而言,控制器110A/110B自主機裝置200接收用以指示將一既定資料DATA寫入記憶體裝置120之一寫入指令WCMD。既定資料DATA可包括複數頁面(例如,複數邏輯頁面或複數主頁面)之資料。舉例而言,既定資料DATA為主機裝置之主頁面HP 0~10的資料,其中一個主頁面可被設定為主機裝置系統一次存取作業的資料單位。例如,當一個物理頁面的大小為16K位元組(Byte)時,一個主頁面的大小可被設定為4K位元組。
由於執行同一個寫入指令WCMD需連續寫入一特定數量的主頁面(例如,一個寫入指令WCMD需連續寫入N個主頁面,N為大於1之一正整數),因此,根據本發明之一實施例,當寫入指令WCMD中起始主頁面的編號為N的整數倍(或,除以N所得之餘數為0),且既定資料DATA的資料量大於或等於一臨界值或者為該臨界值之整數倍時,控制器110A/110B可判斷將資料寫入第一緩存器Buffer_1。反之,控制器110A/110B可判斷將資料寫入第二緩存器Buffer_2。
根據本發明之一實施例,第一緩存器Buffer_1用以儲存至少特定數量(N)個以上連續邏輯頁面之資料,其中特定數量N與一邏輯頁面大小及一物理頁面大小相關。根據本發明之一實施例,所述之臨界值可以是一個物理頁面大小(例如,16K位元組),且當主頁面的大小被設定為4K位元組時,因一物 理頁面大小相當於4個主頁面,特定數量N可以設定為4(一個物理頁面與一邏輯頁面之比值)。因此,於本發明之一實施例中,一個寫入指令WCMD需連續寫入4個主頁面,且第一緩存器Buffer_1用以儲存至少4個以上連續邏輯頁面之資料。
根據本發明之一實施例,以特定數量N=4作為範例,當寫入指令WCMD中起始主頁面的編號為4的整數倍(或,除以4所得之餘數為0),且既定資料DATA的資料量為16K位元組之整數倍時,控制器110A/110B可判斷將資料寫入第一緩存器Buffer_1。反之,控制器110A/110B可判斷將資料寫入第二緩存器Buffer_2。
舉例而言,當欲寫入記憶體裝置120之既定資料DATA為主機裝置之HP 0~HP3時,由於起始主頁面編號0除以4所得之餘數為0,且既定資料DATA的資料量為一個物理頁面大小(即,4個主頁面大小),控制器110A/110B可判斷將資料寫入第一緩存器Buffer_1。舉另一例而言,當欲寫入記憶體裝置120之既定資料DATA為HP 1~HP4時,即便欲被寫入之資料的資料量為臨界值之整數倍,因起始主頁面編號並非為4的倍數(1除以4所得之餘數並非為0),控制器110A/110B仍會判斷將資料寫入第二緩存器Buffer_2。此外,當欲寫入記憶體裝置120之既定資料DATA為HP 0~HP2時,由於欲被寫入之資料的資料量並非為臨界值之整數倍,控制器110A/110B會判斷將資料寫入第二緩存器Buffer_2。
根據本發明之一實施例,控制器110A/110B會維護複數個映射表格,包含一第一映射表格、一第二映射表格與一 第三映射表格。第一映射表格為儲存於SRAM 112之一快閃記憶體對主機映射(Flash to Host mapping table,縮寫為F2H)表格。第一映射表格紀錄第一緩存器Buffer_1及第二緩存器Buffer_2之各物理頁面所儲存之資料係指向哪個邏輯頁面,例如,第一映射表格中可紀錄對應之邏輯頁面之邏輯區塊位址(Logical Block Address,縮寫為LBA)。
第二映射表格為儲存於記憶體裝置120之一主機對快閃記憶體映射(Host to Flash mapping table,縮寫為H2F)表格,用以紀錄各邏輯頁面之資料係指向(被儲存於)哪個記憶體區塊的哪個物理頁面。一般而言,當第一緩存器Buffer_1被寫滿時,儲存於SRAM 112中第一緩存器Buffer_1所對應之第一映射表格(F2H表格)可用來更新儲存於記憶體裝置120的H2F表格(即,所述之第二映射表格),此時,原先作為緩存器使用之記憶體區塊(即,對應之第一緩存器Buffer_1)也會被轉換為資料區塊。
第三映射表格為儲存於記憶體裝置120之一F2H表格,用以紀錄對應之資料區塊之各物理頁面所儲存之資料係指向哪個邏輯頁面。同樣地,當第一緩存器Buffer_1被寫滿時,儲存於SRAM 112之第一映射表格(F2H表格)會被更新至記憶體裝置120(即,所述之第三映射表格),因此,第二映射表格與第三映射表格紀錄之內容通常為相對應的。值得注意的是,於本發明之實施例中,儲存於SRAM 112中的第一映射表格(F2H表格)為被壓縮過的(以下將有更詳細的介紹),儲存於記憶體裝置120的第三映射表格(F2H表格)為未被壓縮過的(即,由 將第一映射表格展開而得)。
如上述,由於第一緩存器Buffer_1被設定為用以儲存連續或大筆資料,例如,用以儲存複數個連續邏輯頁面之資料,且第一映射表格被儲存於SRAM 112中,因此,根據本發明之一實施例,當SRAM 112空間有限時,控制器110A/110B可根據一資料壓縮率(R)編輯第一緩存器Buffer_1所對應之第一映射表格,以降低SRAM 112的使用率。所述之資料壓縮率R代表SRAM 112實際上僅使用(X/R)位元組之資料量來記錄x位元組之資料,其中,X與R均為大於1之一正整數。換言之,根據本發明之一實施例,第一緩存器Buffer_1所對應之第一映射表格所記錄之資訊為被壓縮過,而第二緩存器Buffer_2所對應之第一映射表格所記錄之資訊為未被壓縮過。
根據本發明之一實施例,第一映射表格根據資料壓縮率R紀錄第一緩存器Buffer_1之各物理頁面所儲存之資料係指向哪個邏輯頁面,因此,部分資料被儲存於第一緩存器Buffer_1之邏輯頁面所對應之資訊(例如,邏輯區塊位址(LBA))不會被記錄於第一映射表格中。更具體的說,根據本發明之一實施例,對於每R個資料被儲存於第一緩存器Buffer_1的連續邏輯頁面,僅其中的一個邏輯頁面所對應之資訊(例如,邏輯區塊位址(LBA))會被記錄於第一映射表格。
根據本發明之一實施例,資料壓縮率R與特定數量N相關。舉例而言,當特定數量N被設定為4時,資料壓縮率R可被設定為特定數量N或特定數量N的整數倍。假設資料壓縮率R=4,則根據本發明之一實施例,對於每4個被寫入第一緩存 器Buffer_1的連續主頁面,僅其中的一個主頁面所對應之邏輯區塊位址(LBA)會被記錄於第一映射表格。舉例而言,當欲寫入記憶體裝置120之既定資料DATA為主機裝置之HP 0~HP3時,第一緩存器Buffer_1所對應之第一映射表格僅記錄起始主頁面HP 0所對應之邏輯區塊位址(LBA)。換言之,於此範例中,若第一緩存器Buffer_1所對應之第一映射表格中,對於某物理頁面僅記錄了主頁面HP 0所對應之邏輯區塊位址(LBA),代表著該物理頁面實際上所儲存的資料指向主頁面HP 0~HP3。如此一來,壓縮過的映射表格所需資料量可被減少為未壓縮過的映射表格所需的資料量的1/4倍。
由於第一緩存器Buffer_1所對應之第一映射表格係根據資料壓縮率R被編輯,使得映射表格資料量可降低為未壓縮過的1/R倍,因此,當控制器110A/110B對第一緩存器Buffer_1儲存之資料執行抹除操作時,也必須做特殊的處理。
根據本發明之一實施例,於抹除記憶體裝置120所儲存之資料時,控制器110A/110B會將該資料於第二映射表格以及第一映射表格(若該資料所對應之連結亦存在於第一映射表格)中所對應之連結清除。更具體的說,假設欲抹除之資料為包括複數邏輯頁面之資料時,控制器110A/110B應依序將每一邏輯頁面於第二映射表格以及第一映射表格(若該資料所對應之連結亦存在於第一映射表格)中所對應之連結清除(例如,將對應之數值設成0xFF)。當一邏輯頁面於各映射表格中所對應之連結被清除後,控制器110A/110B便無法讀取該邏輯頁面之資料。
而根據eMMC記憶體規範,控制器110A/110B於執行讀取、寫入或抹除操作時,主機裝置200可對資料儲存裝置100發出中斷訊號(High Priority Interrupt,縮寫為HPI)或重置(Soft reset)指令。中斷訊號HPI的機制為允許在完成具有低優先權的操作前中斷此低優先權的操作,用以執行具有高優先權的操作。當控制器110A/110B接收到HPI中斷訊號時,就會執行重置(soft reset)。此外,當硬體重置腳位的電壓被拉低時,控制器110A/110B,也會執行重置(softreset)。舉例而言,當控制器110A/110B偵測到中斷訊號或重置指令時,必須立刻停止目前的讀取、寫入或抹除操作(即便操作尚未完成),並且於一既定時間(例如,10ms)內將記憶體裝置120之控制權交給主機裝置200,而主機裝置200可於既定時間屆滿後發出新的指令給資料儲存裝置100。一般而言,一旦因中斷訊號或重置指令而中斷讀取、寫入或抹除操作,控制器110A/110B不會再恢復執行被中斷之讀取、寫入或抹除操作。
然而,由於第一緩存器Buffer_1所對應之第一映射表格係根據資料壓縮率R被編輯,例如,對於資料被儲存於第一緩存器Buffer_1的R個連續主頁面HP(r)~HP(r+R),由於僅其中的一個主頁面所對應之邏輯區塊位址(LBA)會被記錄於第一映射表格,因此,當控制器110A/110B於執行用以抹除第一緩存器Buffer_1所儲存之資料的抹除操作過程中接收到中斷訊號或重置指令,則可能發生部分主頁面於第二映射表格、第三映射表格以及第一映射表格內的連結不同步的問題。
舉例而言,假設除第一緩存器Buffer_1所對應之第 一映射表格僅記錄主頁面HP(r)所對應之邏輯區塊位址(LBA)以代表連續主頁面HP(r)~HP(r+R)之資訊,其中r為一正整數。當控制器110A/110B清除掉主頁面HP(r)於第二映射表格以及第一映射表格之連結後,正好因收到中斷訊號或重置指令而中斷抹除操作,則因第一映射表格為壓縮過的表格,於主頁面HP(r)的連結被清除掉後,剩餘的主頁面HP(r+1)~HP(r+R)也會被視為刪除。因此,對於剩餘的主頁面HP(r+1)~HP(r+R),雖其於第一映射表格之連結已相對應地被清除,但由於其於第二映射表格之連結未同步地被清除,則會發生不樂見的讀取錯誤。舉例而言,由於主頁面HP(r+1)~HP(r+R)於第二映射表格之連結未能同步地被更新,爾後於讀取主頁面HP(r+1)~HP(r+R)的資料時,控制器110A/110B極可能會回傳舊的資料。
此外,當第一映射表格的內容已被更新至記憶體裝置120內所儲存之第二映射表格時,映射表格內的連結的不同步也有可能導致殭屍區塊(Zombie block)的產生。舉例而言,當緩存器尚未被寫滿時,但因一些特殊需求,控制器110A/110B亦可提前將目前的第一映射表格的內容更新至記憶體裝置120內所儲存之第二映射表格及/或第三映射表格。例如,主機裝置200發出關機通知(Power Off Notification,縮寫為PON)指令給控制器110A/110B的時候,或者資料儲存裝置100經歷突然斷電回復(Sudden Power Off Recovery,縮寫為SPOR)之後,於重建好第一映射表格後也可先將目前的第一映射表格內容更新至記憶體裝置120的H2F表格(即,所述之第二映射表格)及/或F2H表格(即,所述之第三映射表格)。此時,第二映射表格的 內容係指到目前的第一映射表格中儲存之主頁面(例如,以上範例所述之主頁面HP(r)~HP(r+R))之資料的頁面的實體位址。又例如,控制器110A/110B執行一寫入指令寫了一筆連續資料後,發現該寫入指令後面是接到了一個讀取指令時,可以在執行讀取指令之前先把第一映射表格的內容更新到記憶體裝置120的第二映射表格(H2F表格),這樣可以省去讀取指令從頭掃描第一映射表格的時間。
同樣地,當控制器110A/110B因收到中斷訊號或重置指令而中斷抹除操作,可能使得某些主頁面於第一映射表格已對應被刪除,但於第二映射表格中的連結仍存在,使得這些主頁面所儲存的資料無法於偵測有效頁面的過程中被偵測出來,也無法被搬走。包含這類主頁面的記憶體區塊則稱為殭屍區塊。
舉例而言,殭屍區塊可於下列情境之下產生。假設因上述特殊需求,控制器110A/110B先將目前的第一映射表格的內容更新至記憶體裝置120內所儲存之第二映射表格,因此,若第一緩存器Buffer_1所對應之第一映射表格(F2H表格)記錄了主頁面HP(r)所對應之邏輯區塊位址(LBA)以代表連續主頁面HP(r)~HP(r+R)之資訊,則主頁面HP(r)~HP(r+R)之資訊同樣也被更新至記憶體裝置120內所儲存之H2F表格(即,第二映射表格)。
假設當控制器110A/110B清除掉主頁面HP(r)於第一映射表格之連結後,正好因收到中斷訊號或重置指令而中斷抹除操作,則會導致第二映射表格內剩餘的主頁面HP (r+1)~HP(r+R)的連結未能被更新。爾後,當第一緩存器Buffer_1被寫滿時,原先作為緩存器使用之記憶體區塊(即,對應之第一緩存器Buffer_1)會被轉換為資料區塊,且此時控制器110A/110B會依據第一映射表格(F2H表格)更新記憶體裝置120內未壓縮的F2H表格(即,第三映射表格),其中,記憶體裝置120內所儲存之F2H表格(即,第三映射表格)係用以於爾後控制器110A/110B執行垃圾回收(garbage collection)程序時幫助控制器110A/110B找出有效頁面。
由於第一映射表格(F2H表格)中的HP(r)之連結已被刪除,所以第三映射表格(F2H表格)的HP(r)~HP(r+R)的連結紀錄都會是0xFF。之後啟動垃圾回收程序時,雖然資料區塊的主頁面HP(r+1)~HP(r+R)都是有效資料,但是由於第三映射表格的HP(r)~HP(r+R)之連結都是0xFF,所以這些主頁面並不會挑出來再去找第二映射表格(H2F表格)中的HP(r+1)~HP(r+R)的實體位置是否對應到資料區塊所儲存之主頁面HP(r+1)~HP(r+R)的實體位址,亦即,雖然主頁面HP(r+1)~HP(r+R)是有效資料,結果啟動垃圾回收程序時卻無法透過第三映射表格偵測出來,且主頁面HP(r+1)~HP(r+R)所儲存的資料也無法搬走,因而產生殭屍區塊。根據本發明之一實施例,當控制器110A/110B對第一緩存器Buffer_1儲存之資料執行抹除操作時,必須做特殊的處理,以避免因執行抹除操作的過程中,由於中斷訊號或重置指令所造成映射表格內的連結不同步的問題,進而導致控制器110A/110B錯誤地回傳舊的資料,或殭屍區塊的產生。以下將針對所述特殊的處理做更詳細的介紹。
根據本發明之一實施例,其中當控制器110A/110B因應一抹除指令對第一緩存器Buffer_1所儲存之資料執行抹除操作時,控制器110A/110B可被設計為於每完成一既定數量(M)之邏輯頁面之抹除操作後,再檢查是否自主機裝置200接收到一中斷訊號或一重置指令,其中既定數量(M)為大於1之一正整數。
根據本發明之一實施例,既定數量M與第一緩存器Buffer_1所對應之第一映射表格之資料壓縮率R相關,其中,M可等於R、或者M>R並且M為R之整數倍,或者R>M並且R為M之整數倍。換言之,於本發明之實施例中,不使控制器110A/110B於每完成一個邏輯頁面之抹除操作後便立刻檢查是否自主機裝置200接收到一中斷訊號或一重置指令,而是將控制器110A/110B設計為每完成既定數量M之邏輯頁面之抹除操作後(每隔M個邏輯頁面),才檢查是否自主機裝置200接收到一中斷訊號或一重置指令。或者,每當控制器110A/110B處理的邏輯頁面之編號除以既定數量M之餘數為0時,控制器110A/110B才檢查是否自主機裝置200接收到一中斷訊號或一重置指令。
如上述,由於主機裝置200可於發出中斷訊號或重置指令後之既定時間屆滿後發出新的指令給資料儲存裝置100,因此,既定數量M之設計亦可根據既定時間而調整。舉例而言,適當選擇既定數量M,使得控制器110A/110B能在既定時間內完成M個邏輯頁面之抹除操作,如此一來,即便控制器110A/110B並非於每完成一個邏輯頁面之抹除操作後便立刻檢 查是否自主機裝置200接收到一中斷訊號或一重置指令,仍可來的及於既定時間屆滿後接收到新的指令,可符合記憶體的規範。
值得注意的是,上述的特殊設計適用於當抹除指令欲抹除的資料量大於或等於上述臨界值、為上述臨界值之整數倍、或者欲抹除的資料為特定數量(N)個連續邏輯頁面之資料時的抹除操作。
根據本發明之一實施例,當抹除指令欲抹除的資料量大於或等於上述臨界值、為上述臨界值之整數倍、或者欲抹除的資料為特定數量(N)個連續邏輯頁面之資料,且欲抹除的資料的起始主頁面的編號為N的整數倍(或,除以N所得之餘數為0)時,控制器110A/110B可被設計為於每完成一既定數量(M)之邏輯頁面之抹除操作後,再檢查是否自主機裝置200接收到一中斷訊號或一重置指令。於此條件下的抹除操作,控制器110A/110B將清除各邏輯頁面於映射表格之連結,而非將邏輯頁面的資料改寫為0。
根據本發明之一實施例,既定數量M與特定數量N相關,其中,M可等於N、或者M>N並且M為N之整數倍,或者N>M並且N為M之整數倍。
於本發明之一實施例中,N=M=R。因此,於本發明之一實施例中,既定數量M可與一邏輯頁面大小及一物理頁面大小相關,例如,既定數量M可設計為一個物理頁面與一邏輯頁面之比值。此外,資料壓縮率R亦可與一邏輯頁面大小及一物理頁面大小相關。例如,資料壓縮率R亦可設計為一個物 理頁面與一邏輯頁面之比值。
第2圖係顯示根據本發明之一實施例所述之資料處理方法流程圖。首先,根據一資料壓縮率(R)編輯第一緩存器Buffer_1所對應之第一映射表格(步驟S202)。如上述,第一映射表格紀錄第一緩存器Buffer_1之各物理頁面所儲存之資料係指向哪個邏輯頁面,並且於第一映射表格中,一個邏輯頁面的資訊可用以代表包含該邏輯頁面之R個連續邏輯頁面的資訊。
接著,當控制器接收對第一緩存器Buffer_1所儲存之資料執行抹除操作之一抹除指令(步驟S204),並且當抹除指令欲抹除的資料量為上述臨界值之整數倍(或者欲抹除的資料為特定數量(N)個連續邏輯頁面之資料),且欲抹除的資料的起始主頁面的編號為N的整數倍(或,除以N所得之餘數為0)時,控制器於每完成一既定數量(M)之邏輯頁面之抹除操作時,才檢查是否自一主機裝置接收到一中斷訊號或一重置指令(步驟S206)。
第3圖係顯示根據本發明之一實施例所述之檢查點示意圖。於此實施例中,N=M=R=4。假設抹除指令欲抹除第一緩存器Buffer_1中所儲存之對應於主頁面HP 0~HP 11的資料,則控制器110A/110B可於每隔4個邏輯頁面檢查是否自主機裝置200接收到一中斷訊號或一重置指令。假設主機裝置200於控制器110A/110B對主頁面HP 5執行抹除操作時發出中斷信號HPI,則控制器110A/110B將於對主頁面HP 8執行抹除操作之前(或者,於對主頁面HP 7完成抹除操作之後)偵測到此HPI,並 且立刻停止目前的抹除操作。因此,因應中斷信號HPI的接收,控制器110A/110B將不會繼續抹除主頁面HP 8~HP 11。此外,由於控制器110A/110B偵測到中斷信號HPI前,已完成主頁面HP 4~HP 7之抹除操作,其中HP 4~HP 7於映射表格內的連結均已同步地被清除,如此一來,可有效避免因映射表格內的連結不同步,進而導致控制器110A/110B錯誤地回傳舊的資料,或殭屍區塊的產生等的問題,有效提升記憶體裝置之效能。
申請專利範圍中用以修飾元件之“第一”、“第二”等序數詞之使用本身未暗示任何優先權、優先次序、各元件之間之先後次序、或方法所執行之步驟之次序,而僅用作標識來區分具有相同名稱(具有不同序數詞)之不同元件。
雖然本發明已以較佳實施例揭露如上,然其並非用以限定本發明,任何熟悉此項技藝者,在不脫離本發明之精神和範圍內,當可做些許更動與潤飾,因此本發明之保護範圍當視後附之申請專利範圍所界定者為準。

Claims (10)

  1. 一種資料儲存裝置,包括:一記憶體裝置,包括用以儲存複數連續邏輯頁面之資料之一第一緩存器;一靜態隨機存取記憶體,用以儲存一第一映射表格,其中該第一映射表格紀錄該第一緩存器之各物理頁面所儲存之資料係指向哪個邏輯頁面;以及一控制器,耦接該記憶體裝置與該靜態隨機存取記憶體,其中該控制器根據一資料壓縮率(R)編輯該第一映射表格,並且其中部分資料被儲存於該第一緩存器之該等邏輯頁面之資訊未被記錄於該第一映射表格,以及其中當該控制器因應一抹除指令對該第一緩存器所儲存之資料執行抹除操作時,該控制器於每完成一既定數量(M)之邏輯頁面之抹除操作後,再檢查是否自一主機裝置接收到一中斷訊號或一重置指令,其中該既定數量(M)與該資料壓縮率(R)為大於1之一正整數,並且其中該既定數量(M)與該第一映射表格之該資料壓縮率(R)相關。
  2. 如申請專利範圍第1項所述之資料儲存裝置,其中對於每R個資料被儲存於該第一緩存器的連續邏輯頁面,僅其中的一個邏輯頁面之資訊會被記錄於該第一映射表格。
  3. 如申請專利範圍第1項所述之資料儲存裝置,其中該既定數量(M)為該第一映射表格之該資料壓縮率(R)之一整數倍。
  4. 如申請專利範圍第1項所述之資料儲存裝置,其中該第一緩存器用以儲存一特定數量(N)個連續邏輯頁面之資料,並且其中該特定數量(N)與一邏輯頁面大小及一物理頁面大小相關。
  5. 一種記憶體裝置之資料處理方法,適用於一資料儲存裝置,該資料儲存裝置包括一記憶體裝置、一靜態隨機存取記憶體與一控制器,該記憶體裝置包括用以儲存複數連續邏輯頁面之資料之一第一緩存器,該靜態隨機存取記憶體儲存一第一映射表格,該方法包括:由該控制器根據一資料壓縮率(R)編輯該第一映射表格,其中該第一映射表格紀錄該第一緩存器之各物理頁面所儲存之資料係指向哪個邏輯頁面,並且其中部分資料被儲存於該第一緩存器之該等邏輯頁面之資訊未被記錄於該第一映射表格;由該控制器接收對該第一緩存器所儲存之資料執行抹除操作之一抹除指令;以及因應該抹除指令對該第一緩存器所儲存之資料執行抹除操作時,由該控制器於每完成一既定數量(M)之邏輯頁面之抹除操作時,才檢查是否自一主機裝置接收到一中斷訊號或一重置指令,其中該既定數量(M)為大於1之一正整數,並且其中該既定數量與該第一映射表格之該資料壓縮率(R)相關。
  6. 如申請專利範圍第5項所述之資料處理方法,其中該既定數量(M)為該第一映射表格之該資料壓縮率(R)之一整數倍。
  7. 如申請專利範圍第5項所述之資料處理方法,其中對於每R個資料被儲存於該第一緩存器的連續邏輯頁面,僅其中的一個邏輯頁面之資訊會被記錄於該第一映射表格。
  8. 如申請專利範圍第5項所述之資料處理方法,其中該第一緩存器用以儲存一特定數量(N)個連續邏輯頁面之資料,並且其中該特定數量(N)與一邏輯頁面大小及一物理頁面大小相關。
  9. 一種資料儲存裝置,包括:一記憶體裝置,包括用以儲存複數連續邏輯頁面之資料之一第一緩存器;一靜態隨機存取記憶體,用以儲存一第一映射表格,其中該第一映射表格紀錄該第一緩存器之各物理頁面所儲存之資料係指向哪個邏輯頁面,並且其中對於每R個資料被儲存於該第一緩存器的連續邏輯頁面,僅其中的一個邏輯頁面之資訊會被記錄於該第一映射表格;以及一控制器,耦接該記憶體裝置與該靜態隨機存取記憶體,其中當該控制器因應一抹除指令對該第一緩存器所儲存之資料執行抹除操作時,該控制器於每完成一既定數量(M)之邏輯頁面之抹除操作後,再檢查是否自一主機裝置接收到一中斷訊號或一重置指令,其中該既定數量(M)與R為大於1之一正整數。
  10. 如申請專利範圍第9項所述之資料儲存裝置,其中R為該第一映射表格之一資料壓縮率,並且該既定數量(M)為該資料壓縮率(R)之一整數倍。
TW106144391A 2017-12-18 2017-12-18 資料儲存裝置與記憶體裝置之資料處理方法 TWI662410B (zh)

Priority Applications (3)

Application Number Priority Date Filing Date Title
TW106144391A TWI662410B (zh) 2017-12-18 2017-12-18 資料儲存裝置與記憶體裝置之資料處理方法
CN201810718490.7A CN109933545B (zh) 2017-12-18 2018-07-03 数据储存装置与存储器装置的数据处理方法
US16/039,787 US10540276B2 (en) 2017-12-18 2018-07-19 Method of processing data based on erase operations of logical pages related to data compression rate of mapping table in data storage device

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
TW106144391A TWI662410B (zh) 2017-12-18 2017-12-18 資料儲存裝置與記憶體裝置之資料處理方法

Publications (2)

Publication Number Publication Date
TWI662410B true TWI662410B (zh) 2019-06-11
TW201928685A TW201928685A (zh) 2019-07-16

Family

ID=66816017

Family Applications (1)

Application Number Title Priority Date Filing Date
TW106144391A TWI662410B (zh) 2017-12-18 2017-12-18 資料儲存裝置與記憶體裝置之資料處理方法

Country Status (3)

Country Link
US (1) US10540276B2 (zh)
CN (1) CN109933545B (zh)
TW (1) TWI662410B (zh)

Families Citing this family (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US11061600B2 (en) * 2018-01-12 2021-07-13 Western Digital Technologies, Inc. Tiered storage data evacuation within solid state devices
US10922013B2 (en) * 2018-04-09 2021-02-16 Western Digital Technologies, Inc. Suspending and resuming a read operation for a non-volatile memory
US10545701B1 (en) * 2018-08-17 2020-01-28 Apple Inc. Memory arbitration techniques based on latency tolerance
KR102520540B1 (ko) * 2018-10-23 2023-04-12 에스케이하이닉스 주식회사 메모리 장치 및 이의 동작 방법
US10949284B2 (en) * 2018-11-29 2021-03-16 Micron Technology, Inc. Techniques using nonvolatile memory and volatile memory
TWI707234B (zh) * 2019-05-20 2020-10-11 慧榮科技股份有限公司 資料儲存裝置與資料處理方法
TWI744049B (zh) * 2020-02-06 2021-10-21 瑞昱半導體股份有限公司 記憶體控制器與資料處理方法
CN111597129B (zh) * 2020-05-21 2022-06-07 北京泽石科技有限公司 缓存管理方法、装置、存储介质和固态非易失存储设备
CN111737173B (zh) * 2020-06-24 2022-03-22 浪潮(北京)电子信息产业有限公司 I2c总线通信控制方法、装置、系统及可读存储介质
KR20220042649A (ko) * 2020-09-28 2022-04-05 에스케이하이닉스 주식회사 저장 장치 및 그 동작 방법
CN114691020A (zh) * 2020-12-30 2022-07-01 上海曼卜信息科技有限公司 基于zns标准提供数据压缩存储设备及其方法

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
TW201415468A (zh) * 2012-09-15 2014-04-16 Lsi Corp 在一非揮發性記憶體中測量平均抹除之記憶體胞損壞
TW201606776A (zh) * 2014-08-08 2016-02-16 旺宏電子股份有限公司 記憶體電路及其操作方法
CN106157066A (zh) * 2015-03-23 2016-11-23 阿里巴巴集团控股有限公司 映射关系处理方法、系统及信息处理平台设备

Family Cites Families (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100706242B1 (ko) * 2005-02-07 2007-04-11 삼성전자주식회사 메모리 시스템 및 그것의 런 단위 어드레스 매핑 테이블 구성 방법
US20070016721A1 (en) * 2005-07-18 2007-01-18 Wyse Technology Inc. Flash file system power-up by using sequential sector allocation
US8140739B2 (en) * 2008-08-08 2012-03-20 Imation Corp. Flash memory based storage devices utilizing magnetoresistive random access memory (MRAM) to store files having logical block addresses stored in a write frequency file buffer table
JP2013061799A (ja) * 2011-09-13 2013-04-04 Toshiba Corp 記憶装置、記憶装置の制御方法およびコントローラ
US8954694B2 (en) * 2012-11-15 2015-02-10 Western Digital Technologies, Inc. Methods, data storage devices and systems for fragmented firmware table rebuild in a solid state drive
TWI456393B (zh) * 2012-12-24 2014-10-11 Phison Electronics Corp 資料讀取方法、記憶體控制器與記憶體儲存裝置
CN103914391B (zh) * 2013-01-07 2016-12-28 群联电子股份有限公司 数据读取方法、存储器控制器与存储器存储装置
TWI515737B (zh) * 2013-12-09 2016-01-01 慧榮科技股份有限公司 資料儲存裝置以及其資料抹除方法
US20150178188A1 (en) * 2013-12-20 2015-06-25 Sandisk Technologies Inc. Storage Module and Method for Re-Enabling Preloading of Data in the Storage Module
US9626112B2 (en) * 2014-12-08 2017-04-18 Symbol Technologies, Llc eMMC functionality expander
US9983820B2 (en) * 2016-03-29 2018-05-29 Nxp B.V. Method for performing data updates

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
TW201415468A (zh) * 2012-09-15 2014-04-16 Lsi Corp 在一非揮發性記憶體中測量平均抹除之記憶體胞損壞
TW201606776A (zh) * 2014-08-08 2016-02-16 旺宏電子股份有限公司 記憶體電路及其操作方法
CN106157066A (zh) * 2015-03-23 2016-11-23 阿里巴巴集团控股有限公司 映射关系处理方法、系统及信息处理平台设备

Also Published As

Publication number Publication date
CN109933545A (zh) 2019-06-25
US10540276B2 (en) 2020-01-21
US20190188125A1 (en) 2019-06-20
CN109933545B (zh) 2022-09-20
TW201928685A (zh) 2019-07-16

Similar Documents

Publication Publication Date Title
TWI662410B (zh) 資料儲存裝置與記憶體裝置之資料處理方法
CN109582217B (zh) 数据储存装置与将数据写入存储器装置的方法
CN108733510B (zh) 数据储存装置及映射表重建方法
US9122587B2 (en) Self recovery in a solid state drive
US20090193058A1 (en) System and method for providing copyback data integrity in a non-volatile memory system
TWI633428B (zh) 資料儲存裝置與記憶體裝置之資料處理方法
US10642731B2 (en) Memory management method and storage controller
TWI591482B (zh) 資料保護方法、記憶體控制電路單元及記憶體儲存裝置
CN109697170B (zh) 存取闪存模块的方法及相关的闪存控制器与电子装置
US11442657B1 (en) Abnormal data management method, memory storage device, and memory control circuit unit
CN103984506A (zh) 闪存存储设备数据写的方法和系统
CN107045890B (zh) 数据保护方法、存储器控制电路单元及存储器存储装置
US10635583B2 (en) Memory management method and storage controller
US9760456B2 (en) Memory management method, memory storage device and memory control circuit unit
CN110825653B (zh) 存储器管理方法以及存储控制器
US11662940B2 (en) Data storage device and data processing method for restoring MLC/TLC memory to avoid degradation of access performance of a memory device caused by word line short
CN112732199B (zh) 数据存取方法、存储器控制电路单元及存储器存储装置
CN110825310A (zh) 存储器管理方法以及存储控制器
CN109002265B (zh) 一种数据处理的方法以及相关装置
CN110134322B (zh) 运用dram的储存装置及其相关数据处理方法
CN113721832A (zh) 数据储存装置与数据处理方法
TWI811130B (zh) 用以存取一快閃記憶體模組的方法、快閃記憶體控制器以及電子裝置
US11977745B2 (en) Data retry-read method, memory storage device, and memory control circuit element
CN117992282A (zh) 异常断电后的编码方法和存储器存储装置
CN115221077A (zh) 数据重读方法、存储器存储装置及存储器控制电路单元