[go: up one dir, main page]

TWI866812B - 一種借助彈性表頁面群組來進行一預定通訊架構中的一記憶體裝置之表管理的方法、記憶體裝置的記憶體控制器、記憶體裝置以及電子裝置 - Google Patents

一種借助彈性表頁面群組來進行一預定通訊架構中的一記憶體裝置之表管理的方法、記憶體裝置的記憶體控制器、記憶體裝置以及電子裝置 Download PDF

Info

Publication number
TWI866812B
TWI866812B TW113109589A TW113109589A TWI866812B TW I866812 B TWI866812 B TW I866812B TW 113109589 A TW113109589 A TW 113109589A TW 113109589 A TW113109589 A TW 113109589A TW I866812 B TWI866812 B TW I866812B
Authority
TW
Taiwan
Prior art keywords
page
update
memory controller
content
memory
Prior art date
Application number
TW113109589A
Other languages
English (en)
Other versions
TW202439140A (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 TW202439140A publication Critical patent/TW202439140A/zh
Application granted granted Critical
Publication of TWI866812B publication Critical patent/TWI866812B/zh

Links

Classifications

    • 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/1076Parity data used in redundant arrays of independent storages, e.g. in RAID systems
    • G06F11/108Parity data distribution in semiconductor storages, e.g. in SSD
    • 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/0608Saving storage space on storage systems
    • 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/1004Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's to protect a block of data words, e.g. CRC or checksum
    • 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/1076Parity data used in redundant arrays of independent storages, e.g. in RAID systems
    • 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
    • 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/0292User address space allocation, e.g. contiguous or non contiguous base addressing using tables or multilevel address translation means
    • 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/0604Improving or facilitating administration, e.g. storage management
    • 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/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
    • G06F2212/00Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
    • G06F2212/10Providing a specific technical effect
    • G06F2212/1016Performance improvement
    • G06F2212/1024Latency reduction
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2212/00Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
    • G06F2212/10Providing a specific technical effect
    • G06F2212/1032Reliability improvement, data loss prevention, degraded operation etc
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2212/00Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
    • G06F2212/26Using a specific storage system architecture
    • G06F2212/261Storage comprising a plurality of storage devices
    • G06F2212/262Storage comprising a plurality of storage devices configured as RAID
    • 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/7205Cleaning, compaction, garbage collection, erase 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/7207Details relating to flash memory management management of metadata or control 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/72Details relating to flash memory management
    • G06F2212/7209Validity control, e.g. using flags, time stamps or sequence numbers

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Quality & Reliability (AREA)
  • Human Computer Interaction (AREA)
  • Computer Security & Cryptography (AREA)
  • Techniques For Improving Reliability Of Storages (AREA)

Abstract

一種借助彈性表頁面群組來進行一預定通訊架構中的一記憶體裝置之表管理的方法包含有:利用記憶體控制器來進行一表管理程序,以針對該記憶體裝置的內部管理來管理至少一表。舉例來說,表管理程序包含有:因應需要更新至少一表之中的一第一表的一第一先前表內容,將第一表的一第一更新表內容寫入至至少一表區塊的至少一第一更新表頁面中;以及將第一更新表內容的一第一容錯式磁碟陣列同位寫入至一第一同位頁面中,其中受第一同位頁面所保護的至少一第一更新表頁面的一第一更新表頁面計數被即時地決定。

Description

一種借助彈性表頁面群組來進行一預定通訊架構中的一記憶 體裝置之表管理的方法、記憶體裝置的記憶體控制器、記憶體裝置以及電子裝置
本發明係有關於記憶體控制,且尤指一種借助彈性表頁面群組(flexible table page grouping)來進行一預定通訊架構中的一記憶體裝置的表管理的方法以及相關裝置。
記憶體裝置可包含有快閃記憶體以供儲存資料,而針對快閃記憶體的存取管理相當複雜。舉例來說,記憶體裝置可以是一記憶卡、一固態硬碟(solid state drive,SSD)或一嵌入式儲存裝置(例如符合通用快閃儲存(universal flash storage,UFS)規範的嵌入式儲存裝置)。記憶體裝置可用以將不同檔案(例如系統檔案以及使用者檔案)儲存至主機的檔案系統中。由於某些檔案可能會被頻繁地存取,因此某些資料可能會變為無效資料,並且可能需要釋放更多儲存空間以供進一步的使用。此外,於存取該些檔案的期間,多個類型的內部管理資 訊之中的一部分的內部管理資訊可能會相對應地發生變化,由於該多個類型的內部管理資訊可能以不同方式發生變化,因此其管理亦相當複雜,其增加了相關處理的處理時間。當發生斷電時,需要更多處理來防止錯誤,其進一步地增加處理時間。在相關技術中並未有適當的解決方法,因此,需要一種創新的方法以及相關架構來在不引入副作用的情況下或藉由不太可能引入副作用的方式解決該些問題。
因此,本發明的目的之一在於提供一種借助彈性表頁面群組來進行一預定通訊架構(例如一通用快閃儲存通訊架構)中的一記憶體裝置的表管理的方法以及相關裝置,以解決上述問題。
本發明的另一目的之一在於提供一種借助彈性表頁面群組來進行一預定通訊架構(例如一通用快閃儲存通訊架構)中的一記憶體裝置的表管理的方法以及相關裝置,以藉由表容錯式磁碟陣列(redundant array of independent disks,RAID)保護機制來適當地保護異質(heterogeneous)表。
根據本發明至少一實施例,提供了一種借助彈性表頁面群組來進行一預定通訊架構中的一記憶體裝置的表管理的方法,其中該方法可應用於記憶體裝置的一記憶體控制器,記憶體裝置可包含有記憶體控制器以及一非揮發性記憶體,非揮發性記憶體可包含有至少一非揮發性記憶體元件(例如一個或多個非揮發性記憶體元件),以及至少一非揮發性記憶體元件可包含有複數個區塊。該方法可包含有:利用記憶體控制器來進行一表管理程序,以針對記憶體裝置的內部管理來管理至少一表,其中至少一表係儲存於複數個區塊之中的至 少一表區塊中。舉例來說,表管理程序可包含有:因應需要更新至少一表之中的一第一表的一第一先前表內容,將第一表的一第一更新表內容寫入至至少一表區塊的至少一第一更新表頁面中,其中第一更新表內容係第一先前表內容的一更新版本,以及第一先前表內容係儲存於至少一表區塊的至少一第一先前表頁面中;以及因應在一第一時間點時無需對第一表進行進一步的表更新,將第一更新表內容的一第一容錯式磁碟陣列同位寫入至至少一表區塊中的對應於至少一第一更新表頁面的一第一同位頁面中,以保護至少一第一更新表頁面,其中受第一同位頁面所保護的至少一第一更新表頁面的一第一更新表頁面計數被即時地決定。
除了上述方法之外,本發明亦提供了一種記憶體裝置的記憶體控制器,其中記憶體裝置包含有記憶體控制器以及一非揮發性記憶體,非揮發性記憶體可包含有至少一非揮發性記憶體元件(例如一個或多個非揮發性記憶體元件),以及至少一非揮發性記憶體元件可包含有複數個區塊。此外,記憶體控制器包含有一處理電路,其中處理電路係用以根據來自一主機裝置的複數個主機命令來控制記憶體控制器以允許主機裝置透過記憶體控制器來存取非揮發性記憶體,並係另用以借助彈性表頁面群組來進行一預定通訊架構中的記憶體裝置的表管理。舉例來說,記憶體控制器可進行一表管理程序來針對記憶體裝置的內部管理以管理至少一表,其中至少一表係儲存於複數個區塊之中的至少一表區塊,以及表管理程序可包含有:因應需要更新至少一表之中的一第一表的一第一先前表內容,將第一表的一第一更新表內容寫入至至少一表區塊的至少一第一更新表頁面中,其中第一更新表內容係第一先前表內容的一更新版本,以及第一先前表內容係儲存於至少一表區塊的至少一第一先前表頁面中;以及因應在一第一時間點時無需對第一表進行進一步的表更新,將第一更新表內容的 一第一容錯式磁碟陣列同位寫入至至少一表區塊中的對應於至少一第一更新表頁面的一第一同位頁面中,以保護至少一第一更新表頁面,其中受第一同位頁面所保護的至少一第一更新表頁面的一第一更新表頁面計數被即時地決定。
除了上述方法之外,本發明亦提供了一種包含有上述記憶體控制器的記憶體裝置,其中記憶體裝置包含有:非揮發性記憶體,用以儲存資訊;以及記憶體控制器,耦接於非揮發性記憶體,並用以控制記憶體裝置的操作。
除了上述方法外,本發明亦提供了一種包含有上述記憶體裝置的電子裝置,其中電子裝置另包含有耦接於記憶體裝置的主機裝置。主機裝置可包含有:至少一處理器,用以控制主機裝置的操作;以及一電源供應電路,耦接於至少一處理器,並用以提供電源給至少一處理器以及記憶體裝置。此外,記憶體裝置提供儲存空間給主機裝置。
根據某些實施例,該裝置可包含有電子裝置的至少一部分(例如一部分或全部),舉例來說,該裝置可包含有記憶體裝置內的記憶體控制器,又例如,該裝置可包含有記憶體裝置,又例如,該裝置可包含有電子裝置。
根據某些實施例,記憶體裝置可為主機裝置儲存資料,其中可能需要更新儲存資料之中的某些資料。為了校正相關技術的問題,建議記憶體裝置可根據該方法的至少一控制方案(例如一個或多個控制方案)來操作,尤其是,在一第一時間點時決定受第一同位頁面所保護的至少一第一更新表頁面的第一更新表頁面計數,並在此時將第一容錯式磁碟陣列同位寫入至第一同位頁面中以立即地開始保護至少一第一更新表頁面,而無需等待不受保護表頁面(例如 未受任一個同位頁面所保護的表頁面)的一不受保護表頁面計數達到一預定不受保護表頁面計數門檻。
本發明的方法以及相關裝置可保證記憶體裝置在不同情況下可適當地操作,舉例來說,當在第一時間點不需要對第一表進行進一步的表更新時,記憶體裝置(或其中的記憶體控制器)可將第一容錯式磁碟陣列同位寫入至第一同位頁面中以在此時立即地開始保護至少一第一更新表頁面,以減少非預期斷電恢復(sudden power off recovery,SPOR)的處理負擔,並因此增加整體效能。此外,本發明的方法以及相關裝置可在不引入副作用的情況下或藉由不太可能引入副作用的方式解決先前技術所遇到的問題。
10:電子裝置
50:主機裝置
52:處理器
54:電源供應電路
58,118:傳輸介面電路
100:記憶體裝置
110:記憶體控制器
112:微處理器
112C:程式碼
112M:唯讀記憶體
115:容錯式磁碟陣列電路
116:隨機存取記憶體
116T:暫時邏輯至實體位址映射表
117T:暫時實體至邏輯位址映射表
118C:通用快閃儲存控制器
118M:M實體層電路
118U:標準化通訊協定電路
120:非揮發性記憶體
120T:全域邏輯至實體位址映射表
122-1~122-N:非揮發性記憶體元件
220:主動區塊
227T:實體至邏輯位址映射表
S11~S14,S20~S22,S23A,S23B,S24A,S24B,S25,S31~S36,S41~S43:步驟
第1圖為依據本發明一實施例之電子裝置的示意圖。
第2圖為依據本發明一實施例之表處理控制方案的示意圖。
第3圖為依據本發明一實施例之第一表保護控制方案的示意圖。
第4圖為依據本發明一實施例之第二表保護控制方案的示意圖。
第5圖為依據本發明一實施例之借助彈性表頁面群組來進行一預定通訊架構中的一記憶體裝置的表管理之方法的可變頁面群組表保護控制方案的示意圖。
第6圖為依據本發明一實施例之第5圖所示之可變頁面群組表保護控制方案的某些實施細節的示意圖。
第7圖為依據本發明一實施例之該方法的動態表保護控制方案的示意圖。
第8圖為依據本發明一實施例之該方法的系統區域垃圾回收控制方案的示意圖。
第9圖為依據本發明一實施例之該方法的錯誤校正控制方案的示意圖。
第10圖為依據本發明一實施例之該方法的工作流程的示意圖。
第1圖為依據本發明一實施例之電子裝置10的示意圖,其中電子裝置10可包含有主機裝置50以及記憶體裝置100。主機裝置50可包含有至少一處理器(例如一個或多個處理器;其可被統稱為處理器52)、電源供應電路54以及傳輸介面電路58,其中處理器52與傳輸介面電路58可透過匯流排而彼此耦接,並且可耦接於電源供應電路54來取得電源。處理器52可用以控制主機裝置50的操作,以及電源供應電路54可用以提供電源至處理器52、傳輸介面電路58以及記憶體裝置100,並輸出一個或多個驅動電壓至記憶體裝置100。記憶體裝置100可用以提供儲存空間給主機裝置50,並且可自主機裝置50取得一個或多個驅動電壓以作為記憶體裝置100的電源。主機裝置50的範例可包含有但不限於:多功能手機、平板電腦、可穿戴裝置以及個人電腦,例如桌上型電腦以及筆記型電腦。記憶體裝置100的範例可包含有但不限於:可攜式記憶體裝置(例如符合SD/MMC、CF、MS或XD規範的記憶卡、固態硬碟(solid state drive,SSD)以及不同類型的嵌入式記憶體裝置(例如符合通用快閃儲存(universal flash storage,UFS)規範或嵌入式多媒體卡(embedded multi media card,eMMC)規範的嵌入式記憶體裝置)。根據本實施例,記憶體裝置100可包含有一控制器,諸如記憶體控制器110,並且可另包含有非揮發性(non-volatile,NV)記憶體120(為簡潔起見,在第1圖中標記為“NV記憶體”),其中記憶體控制器110係用以存取非揮發性記憶體120,以及非揮發性記憶體120係用以儲存資訊。非揮發性記憶體120可包含有至少一非揮發性記憶體元件(例如一個或多個非揮發性記憶體元件),諸如複數個非揮發性記憶體元件122-1、122-2、...、以及122-N(為簡潔起見,在第1圖中分別標記為“NV記憶體元件”),其中“N”可以代表大於1的正整數。舉例來說,非揮發性 記憶體120可以是快閃記憶體,並且複數個非揮發性記憶體元件122-1、122-2、...、以及122-N可以是複數個快閃記憶體晶片或複數個快閃記憶體裸晶(die),但是本發明不限於此。
如第1圖所示,記憶體控制器110可包含有一處理電路(例如微處理器112)、一儲存單元(例如唯讀記憶體(read-only memory,ROM)112M;為簡潔起見,標記為“ROM”)、控制邏輯電路114、容錯式磁碟陣列(redundant array of independent disks,RAID)電路115、隨機存取記憶體116(random access memory,RAM;為簡潔起見,標記為“RAM”,舉例來說,其可以藉由靜態隨機存取記憶體(static random access memory,SRAM)來實現,但是本發明不限於此)以及傳輸介面電路118,其中上述元件之至少一部分(例如一部分或全部)可通過匯流排彼此耦接。隨機存取記憶體116可用以提供內部儲存空間給記憶體控制器110(例如可暫時地儲存資訊)。此外,本實施例之唯讀記憶體112M係用以儲存程式碼112C,並且微處理器112係用以執行程式碼112C以控制非揮發性記憶體120的存取,要注意的是,程式碼112C也可被儲存於隨機存取記憶體116或任一類型的記憶體。此外,控制邏輯電路114可用以控制非揮發性記憶體120,容錯式磁碟陣列電路115可進行容錯式磁碟陣列編碼以及容錯式磁碟陣列解碼,以為一實體頁面群組保護資料及/或進行錯誤校正,但是本發明不限於此。根據某些實施例,記憶體控制器110可另包含有一錯誤校正碼(error correction code,ECC)電路(未顯示於第1圖)以供進行錯誤校正碼編碼以及錯誤校正碼解碼,以為一實體頁面內的多個子儲存單元中的任一個子儲存單元保護資料及/或進行錯誤校正。舉例來說,該多個子儲存單元可具有相同大小,諸如小於實體頁面之大小的一預定大小。
傳輸介面電路118可包含有多個子電路,並且該多個子電路可彼此互動以進行通訊,傳輸介面電路118可符合不同通訊規範(例如序列先進技術附件(Serial Advanced Technology Attachment,SATA)規範、通用序列匯流排(Universal Serial Bus,USB)規範、快捷外部連接標準(Peripheral Component Interconnect Express,PCIe)規範、嵌入式多媒體卡規範或通用快閃儲存規範)之中的一個或多個通訊規範,並可為記憶體裝置100來根據該一個或多個通訊規範與主機裝置50(例如傳輸介面電路58)進行通訊。類似地,傳輸介面電路58可符合該一個或多個通訊規範,並可為主機裝置50來根據該一個或多通訊規範與記憶體裝置100(例如傳輸介面電路118)進行通訊。舉例來說,傳輸介面電路118的該多個子電路可包含有通用快閃儲存控制器118C(為簡潔起見,標記為“UFS控制器”)、標準化通訊協定(Unified Protocol,通常稱為UniPro)電路118U(為簡潔起見,標記為“UniPro電路”)以及一實體層(physical layer,PHY)電路(例如符合MIPI聯盟相關規格之M實體層(M-PHY)電路118M),並且傳輸介面電路58可被實現為具有與傳輸介面電路118之電路架構類似或相同的電路架構(例如多個相對應的子電路),但是本發明不限於此。
在本實施例中,主機裝置50可以藉由將複數個主機命令以及相對應的邏輯位址傳送至記憶體控制器110來間接地存取記憶體裝置100內的非揮發性記憶體120。記憶體控制器110接收複數個主機命令以及相對應的邏輯位址,並且分別將複數個主機命令轉換成複數個記憶體操作命令(其可簡稱為操作命令),再利用複數個操作命令來控制非揮發性記憶體120,以對非揮發性記憶體120內特定實體位址的記憶體單元或資料頁面(data page)進行讀取或寫入/編程等等,其中實體位址可以與邏輯位址相關。舉例來說,記憶體控制器110可產生或更新至少一邏輯至實體(logical-to-physical,L2P)位址映射表來管理實體位址與邏 輯位址之間的關係,非揮發性記憶體120可儲存全域(global)邏輯至實體位址映射表120T以供記憶體控制器110控制記憶體裝置100來存取非揮發性記憶體120中的資料,但是本發明不限於此。此外,記憶體控制器110可產生或更新至少一實體至邏輯(physical-to-logical,P2L)位址映射表(例如暫時實體至邏輯位址映射表117T),舉例來說,當需要時,記憶體控制器110可參考暫時實體至邏輯位址映射表117T來進行某些內部管理操作(例如垃圾回收(garbage collection,GC)操作)。
為了更好的理解,全域邏輯至實體位址映射表i20T可位於非揮發性記憶體122-1元件內的一預定區域(region)(例如一系統區域)中,但是本發明不限於此。舉例來說,全域邏輯至實體位址映射表120T可被劃分成複數個局部(local)邏輯至實體位址映射表,並且該複數個局部邏輯至實體位址映射表可儲存於非揮發性記憶體元件122-1、122-2以及122-N的一個或多個非揮發性記憶體元件中,尤其是,可分別儲存於非揮發性記憶體元件122-1、122-2以及122-N中。當需要時,記憶體控制器110可將全域邏輯至實體位址映射表120T的至少一部分(例如一部分或全部)加載至隨機存取記憶體116或其它記憶體中,舉例來說,記憶體控制器110可將該複數個局部邏輯至實體位址映射表之中的一局部邏輯至實體位址映射表(例如一第一局部邏輯至實體位址映射表)加載至隨機存取記憶體116中以作為一暫時邏輯至實體位址映射表116T,以供根據儲存為暫時邏輯至實體位址映射表116T的該局部邏輯至實體位址映射表來存取非揮發性記憶體120中的資料,但是本發明不限於此。
隨機存取記憶體116的記憶體區域可包含有多個子區域以供暫時地儲存不同資訊(例如緩衝資料、暫時邏輯至實體位址映射表116T以及暫時實體 至邏輯位址映射表117T),並且記憶體區域的多個子區域之中的至少一部分的子區域(例如一部分的子區域或全部的子區域)可視為資料緩衝器,舉例來說,以供暫時地儲存緩衝資料的子區域可視為資料緩衝器,但是本發明不限於此。根據某些實施例,全部的記憶體區域(例如以供暫時地儲存緩衝資料、暫時邏輯至實體位址映射表116T以及暫時實體至邏輯位址映射表117T的多個子區域)可視為資料緩衝器。
此外,上述至少一非揮發性記憶體元件(例如一個或多個非揮發性記憶體元件,諸如{122-1,122-2,...,122-N})可包含有複數個區塊,其中記憶體控制器110可對非揮發性記憶體120進行資料抹除操作的最小單位為一區塊,並且記憶體控制器110可對非揮發性記憶體120進行資料寫入操作的最小單位為一頁面,但是本發明不限於此。舉例來說,非揮發性記憶體元件122-1、122-2、...以及122-N之中的任一個非揮發性記憶體元件122-n(符號“n”可代表在區間[1,N]中的任一整數)可包含有複數個區塊,並且該複數個區塊內的一區塊可包含並記錄一特定頁面數量,其中記憶體控制器110可根據一區塊位址以及一頁面位址來存取該複數個區塊內某個區塊的某個頁面。
根據某些實施例,記憶體控制器110可分別監控該複數個區塊的至少一部分(例如一部分或全部)的有效頁面計數,以供後續處理(例如垃圾回收操作)來使用。針對資料接收,記憶體控制器110可將非揮發性記憶體120中的至少一非揮發性記憶體元件(例如一個或多個非揮發性記憶體元件,諸如{122-1,122-2,...,122-N})的該複數個區塊之中的至少一區塊(例如一個或多個區塊)配置為至少一主動區塊(active block;例如一個或多個主動區塊),並利用上述至少一主動區塊來自主機裝置50接收並儲存資料(諸如主機寫入資料(host-write data))。舉例來說,該資料(例如主機寫入資料,諸如待寫入至非揮發性記憶體120中的資料)可包含有複數組部分資料(partial data),並且上述至少一主動區塊可包含有一第一主動區塊,其中暫時實體至邏輯位址映射表117T可對應於第一主動區塊,尤其是,可針對第一主動區塊來儲存相關映射資訊以供指示實體至邏輯位址映射關係。此外,記憶體控制器110可維持(例如產生或更新)暫時實體至邏輯位址映射表117T以進行相關內部管理。
第2圖為依據本發明一實施例之表處理控制方案的示意圖。於自主機裝置50接收並儲存資料(例如主機寫入資料,諸如帶寫入至非揮發性記憶體120中的資料)的期間,記憶體控制器110可利用第一主動區塊(例如主動區塊220)來接收並儲存該複數組部分資料之中的一組或多組部分資料,並將相關映射資訊(例如實體至邏輯表項目(entry))記錄至對應於主動區塊220的暫時實體至邏輯位址映射表117中(為簡潔起見,在第2圖中標記為“P2L表”),以供指示針對主動區塊220的實體至邏輯位址映射關係。實體至邏輯表項目所指示的實體至邏輯位址映射關係可包含有邏輯位址與實體位址之間的實體至邏輯位址映射關係,其中主機裝置50將該一組或多組部分資料寫入至該邏輯位址中,以及該實體位址指示該一組或多組部分資料儲存至主動區塊220中的位置。當達到一第一預定標準(例如主動區塊220被完整地編程)時,記憶體控制器110可進行一組表處理操作,並且該組表處理操作可包含有:(1)一第一表處理操作:根據對應於主動區塊220的暫時實體至邏輯位址映射表117T(為簡潔起見,在第2圖中標記為“P2L表”)來更新全域邏輯至實體位址映射表120T(為簡潔起見,在第2圖中標記為“L2P表”),尤其是,根據暫時實體至邏輯位址映射表117T中的實體至邏輯表項目(為簡潔起見,在第2圖中標記為“P2L項目”)來更新全域邏輯至實體位址映射表120T中的某些邏輯至實體表項目 (為簡潔起見,在第2圖中標記為“L2P項目”),以供指示針對主動區塊220的邏輯至實體位址映射關係;(2)一第二表處理操作:將暫時實體至邏輯位址映射表117T(例如其中的實體至邏輯表項目)儲存至非揮發性記憶體12中,以產生或更新一第一實體至邏輯位址映射表(例如實體至邏輯位址映射表227T;為簡潔起見,在第2圖中標記為“P2L表”)。舉例來說,藉由將記錄於暫時實體至邏輯位址映射表117T中的所有實體至邏輯表項目寫入至實體至邏輯位址映射表227T中來進行上述的後續操作,其中實體至邏輯位址映射表227T可視為暫時實體至邏輯位址映射表117T的一備份版本;以及(3)一第三表處理操作:在進行第一表處理操作(例如根據暫時實體至邏輯位址映射表117T來更新全域邏輯至實體位址映射表120T)與第二表處理操作(例如將暫時實體至邏輯位址映射表117T儲存至非揮發性記憶體120中)之後,清除暫時實體至邏輯位址映射表117T(例如其中的實體至邏輯表項目),以重複使用暫時實體至邏輯位址映射表117T及/或隨機存取記憶體116中的相對應的儲存空間;但是本發明不限於此。根據某些實施例,第一表處理操作可包含有將全域邏輯至實體位址映射表120T內的某個局部邏輯至實體位址映射表(例如第一局部邏輯至實體位址映射表)加載至隨機存取記憶體116中以作為暫時邏輯至實體位址映射表116T、更新暫時邏輯至實體位址映射表116T中的一個或多個邏輯至實體表項目來指示針對主動區塊220的多個邏輯至實體位址映射關係之中的一個或多個邏輯至實體位址映射關係,以及根據暫時邏輯至實體位址映射表116T來更新全域邏輯至實體位址映射表120T(例如其中的該局部邏輯至實體位址映射表)。
在上述至少一主動區塊之中的任一個主動區塊(例如主動區塊220) 被完整地編程之後,記憶體裝置100(例如記憶體控制器110)可關閉(close)上述任一個主動區塊來使得上述任一個主動區塊變為非主動區塊,並擇取一空白區塊(例如一抹除區塊(erased block))來作為上述任一個主動區塊的一代替,以供進行對應於上述任一個主動區塊的後續資料接收。此外,上述的後續處理可包含有進行一垃圾回收程序來將非主動區塊中所有資料之中的有效資料寫入至另一個空白區塊(例如另一個抹除區塊)中,但是本發明不限於此。
根據某些實施例,由於上述至少一實體至邏輯位址映射表(例如暫時實體至邏輯位址映射表117T或實體至邏輯位址映射表227T)中的實體至邏輯表項目所指示的實體至邏輯位址映射關係以及邏輯至實體位址映射表120T中的相關邏輯至實體表項目所指示的邏輯至實體位址映射關係應彼此為逆(inverse)位址映射關係,因此記憶體控制器110可根據上述至少一實體至邏輯位址映射表中的實體至邏輯表項目所攜帶的最新映射資訊(例如邏輯位址)來決定邏輯至實體位址映射表120T中的邏輯至實體表項目所攜帶的最新映射資訊(例如實體位址)。此外,記憶體控制器110可進行一表管理程序來管理針對記憶體裝置100的內部管理之至少一表,並且上述至少一表可儲存至該複數個區塊之中的至少一表區塊中。舉例來說,上述至少一表可包含有至少一位址映射表,記憶體控制器110可透過傳輸介面電路118來自主機裝置50接收一組第一命令,並進行表管理程序來相對應地更新上述至少一位址映射表,其中該組第一命令可分別指示要求寫入一組第一資料。由於可能需要因應記憶體裝置100的某些內部操作來更新上述至少一表的某些先前表內容,因此記憶體控制器110可將更新後的表內容寫入至上述至少一表區塊的一個或多個新表頁面中,並將儲存著先前表內容的一個或多個先前表頁面標記為無效頁面。該一個或多個新表頁面可以視上述至少一表中的一個或多個後續表頁面,舉例來說,該一個或多個後續表頁面可 以是該一個或多個先前表頁面之後的空白頁面。由於該一個或多個新表頁面可用以儲存更新後表內容,因此該一個或多個表頁面可稱為更新後表頁面。
根據某些實施例,上述至少一表可儲存至上述至少一表區塊中的複數個實體頁面中,尤其是,可保護於包含有該複數個實體頁面的一部分(例如一部分或全部)的至少一表容錯式磁碟陣列保護群組中,其中上述至少一表容錯式磁碟陣列保護群組之中的任一個表容錯式磁碟陣列保護群組可作為實體頁面群組的範例。
第3圖為依據本發明一實施例之第一表保護控制方案的示意圖。當更新上述至少一表之中的一第一表時,記憶體控制器110可寫入上述至少一表區塊中的多個頁面來產生如第3圖中自左上角開始並且如虛線箭頭所示逐行排列的寫入順序(writing sequence),尤其是,可將第一表的更新後表內容寫入至一新表頁面中,並可另將更新後表內容的一容錯式磁碟陣列同位碼(RAID parity code;為簡潔起見,其可稱為容錯式磁碟陣列同位(RAID parity))寫入至一同位頁面中,以供利用容錯式磁碟陣列同位來保護更新後表內容,以產生具有兩個頁面的一表容錯式磁碟陣列保護群組來利用儲存至同位頁面(亦即該兩個頁面的最後頁面)中的容錯式磁碟陣列同位以保護更新後表內容。舉例來說,儲存至同位頁面中的容錯式磁碟陣列同位可與儲存至新表頁面中的更新後表內容相等,但是本發明不限於此。因此,記憶體控制器110可將更新後表內容寫入至上述至少一表區塊的多個新表頁面中,並將儲存至該多個新表頁面中的更新後表內容的容錯式磁碟陣列同位分別寫入至相對應的同位頁面中,以產生多個表容錯式磁碟陣列保護群組來分別保護更新後表內容,其中本實施例之一表容錯式磁碟陣列保護群組中的同位頁面計數至總頁面計數的比例係等於(1/2)。
第4圖為依據本發明一實施例之第二表保護控制方案的示意圖。於更新第一表的期間,記憶體控制器110可寫入上述至少一表區塊中的多個頁面來產生如第4圖中自左上角開始並且如虛線箭頭所示逐行排列的寫入順序,尤其是,可將更新後表內容分別寫入至上述至少一表區塊的7個新表頁面中,並將儲存至7個新表頁面中的更新後表內容的容錯式磁碟陣列同位寫入至在7個新表頁面之後的一相對應同位頁面中,以產生具有8個頁面的一表容錯式磁碟陣列保護群組,以供利用儲存至該相對應同位頁面(亦即該8個頁面中的最後頁面)中的容錯式磁碟陣列同位來保護更新後表內容。舉例來說,記憶體控制器110可利用容錯式磁碟陣列電路115來對對應於7個新表頁面的更新後表內容進行容錯式磁碟陣列編碼,以產生容錯式磁碟陣列同位。與第3圖所示之實施例相比,本實施例中的表容錯式磁碟陣列保護群組之中的同位頁面計數至總頁面計數的比例係等於(1/8)。
為了更好的理解,針對是否開始保護新表頁面,還沒受任一個同位頁面所保護的表頁面可稱為不受保護表頁面(non-protected table page)。當不受保護表頁面的不受保護表頁面計數達到預定不受保護表頁面計數門檻M1時,記憶體控制器110可將儲存於新表頁面中的更新後表內容的容錯式磁碟陣列同位寫入至在新表頁面之後的相對應同位頁面中,以產生具有M個頁面的表容錯式磁碟陣列保護群組,以供藉由儲存於相對應同位頁面(例如該M個頁面中的最後頁面)中的容錯式磁碟陣列同位來保護更新後表內容,其中M1=(M-1),以及“M”可以是大於1的正整數。舉例來說,可根據第3圖所示之第一表保護控制方案來操作記憶體控制器110,並將預定不受保護表頁面計數門檻M1設置為一第一固定值,在M=2的情況下,M1=(2-1)=1。又例如,可根據第4圖所示之第二表保 護控制方案來操作記憶體控制器110,並將預定不受保護表頁面計數門檻M1設置為一第二固定值,在M=8的情況下,M1=(8-1)=7。
第5圖為依據本發明一實施例之借助彈性表頁面群組(flexible table page grouping)來進行預定通訊架構中的記憶體裝置100之表管理的方法的可變頁面群組(variable-page-group)表保護控制方案。與分別由第3圖以及第4圖所示的實施例相比,本實施例中的表容錯式磁碟陣列保護群組中的同位頁面計數至總頁面計數的比例(1/M)係可變的,以作為根據可變頁面群組表保護控制方案來操作的結果,其中比例(1/M)可稱為同位比例(1/M)。於更新第一表的期間,記憶體控制器110可寫入上述至少一表區塊中的多個頁面來產生如第5圖中自左上角開始並且如虛線箭頭所示逐行排列的寫入順序,尤其是,寫入一個或多個表頁面並當需要時寫入一同位頁面,以產生具有M個頁面的表容錯式磁碟陣列保護群組。由於根據可變頁面群組表保護控制方案來操作的記憶體控制器110可立即地寫入同位頁面來保護該一個或多個表頁面,而無需等待不受保護頁面的不受保護表頁面計數達到任一個固定值,因此同位比例(1/M)不會保持不變。舉例來說,記憶體控制器110可利用容錯式磁碟陣列電路115來對對應於(M-1)個新表頁面的更新後表內容進行容錯式磁碟陣列編碼,以產生容錯式磁碟陣列同位。因此,一表容錯式磁碟陣列保護群組的同位比例(1/M)可能會與另一表容錯式磁碟陣列保護群組的同位比例(1/M)不同。
根據某些實施例,非揮發性記憶體元件122-1、122-2、...以及122-N可包含有至少兩個記憶體元件122-1以及122-2(例如晶片#0與#1,或裸晶#0與#1),並且非揮發性記憶體元件122-1、122-2、...以及122-N內的任一個非揮發性記憶體元件122-n可包含有多個平面(plane),諸如平面#0與#1,其中非揮發性記 憶體元件122-n之該多個平面之中的任一個平面可包含有其本身的區塊#0、#1等等。此外,記憶體控制器110可將所有非揮發性記憶體元件的所有平面中的多組相對應區塊#0、#1等等分別組合至多個超級區塊(superblock)#0、#1等等中。記憶體控制器110可分別根據多個實體區塊位址(physical block address,PBA)來存取(例如讀取或寫入)超級區塊#0、#1內的該多組相對應區塊#0、#1等等,尤其是,可分別根據多個實體區塊位址以及相關的實體頁面位址(physical page address,PPA)來存取超級區塊#0、#1內的相對應頁面。舉例來說,在第3圖至第5圖中的任一個實施例中,位於相同行的頁面可代表利用相同實體區塊位址與相同實體頁面位址來存取的一組相對應頁面,但是本發明不限於此。為簡潔起見,對於該些實施例的類似內容在此不再重複詳細描述。
第6圖為依據本發明一實施例之第5圖所示之可變頁面群組表保護控制方案的某些實施細節。於更新第一表的期間,記憶體控制器110可將元資料(metadata),諸如容錯式磁碟陣列索引以及同位辨識符(parity identifier),儲存於上述至少一表區塊的頁面(例如表頁面以及同位頁面)中,以供分別辨識後續處理中的頁面。舉例來說,記憶體控制器110可分別將先前表容錯式磁碟陣列保護群組之4個表頁面的容錯式磁碟陣列索引設置為{0x00,0x01,0x02,0x03},並將先前表容錯式磁碟陣列保護群組之同位頁面的同位辨識符設置為0xFF;記憶體控制器110可分別將目前表容錯式磁碟陣列保護群組之7個表頁面的容錯式磁碟陣列索引設置為{0x00,0x01,0x02,0x03,0x04,0x05,0x06},並將目前表容錯式磁碟陣列保護群組之同位頁面的同位辨識符設置為0xFF;其餘可以此類推。
第7圖為依據本發明一實施例之該方法的動態表保護控制方案。舉例來說,在執行步驟S11之前,記憶體控制器110可將表頁面計數TPGCNT的初始值 設置為0,在執行完步驟S11之後以1為增量來遞增表頁面計數TPGCNT(為簡潔起見,標記為“TPGCNT++”),並在執行完步驟S14之後將表頁面計數TPGCNT重設為0,其中表頁面計數TPGCNT可用以指示不受保護表頁面計數。此外,可根據參數M_target來操作參數記憶體控制器110,以限制所有表容錯式磁碟陣列保護群組之各自的頁面計數{M}小於或等於參數M_target,其中參數M_target可與一預定值(例如一固定值)相等。
在步驟S11中,記憶體控制器110可將攜帶有容錯式磁碟陣列索引的表頁面寫入至非揮發性記憶體120中來作為新表頁面,尤其是,可將最新表內容(例如更新後表內容)以及容錯式磁碟陣列索引寫入或儲存至新表頁面中,其中容錯式磁碟陣列索引可以與此時的表頁面計數TPGCNT(亦即當執行步驟S11時的表頁面計數TPGCNT的目前數值)相等。第5圖與第6圖所示之可變頁面群組表保護控制方案的表容錯式磁碟陣列保護群組中的新表頁面可作為步驟S11中的新表頁面的範例。
在步驟S12中,記憶體控制器110可檢查表頁面計數TPGCNT是否達到參數M_target與1之間的差異(M_target-1)(為簡潔起見,在第7圖中標記為“TPGCNT==(M_target-1)?”),如果是,進入步驟S14;如果否,進入步驟S13。
在步驟S13中,記憶體控制器110可檢查此時(亦即執行步驟S13的時間點)是否需要表的下一個更新,如果是,進入步驟S11;如果否,進入步驟S14。
在步驟S14中,記憶體控制器110可將攜帶有對應於不受保護表頁面之容錯式磁碟陣列同位的同位頁面以及同位辨識符寫入至非揮發性記憶體120 中來作為新同位頁面,尤其是,可將容錯式磁碟陣列同位以及同位辨識符寫入或儲存至新同位頁面中。舉例來說,記憶體控制器110可利用容錯式磁碟陣列電路115來對不受保護表頁面的表內容進行容錯式磁碟陣列編碼,以產生容錯式磁碟陣列同位,但是本發明不限於此。又例如,當此時(亦即執行步驟S14的時間點)的TPGCNT=1(其代表不受保護表頁面包含有單一不受保護表頁面)時,記憶體控制器110可利用該單一不受保護表頁面的表內容來作為此表內容的容錯式磁碟陣列同位,以供儲存於新同位頁面中。
為了更好的理解,該方法可藉由第7圖所示之工作流程來闡明,但是本發明不限於此。根據某些實施例,一個或多個步驟可於第7圖所示之工作流程中增加、刪除或修改。
根據某些實施例,記憶體控制器110可利用容錯式磁碟陣列電路115來對表內容進行至少一逐位元(bitwise)互斥或(exclusive-OR,XOR)操作,以根據表內容來產生至少一互斥或結果以作為容錯式磁碟陣列同位。舉例來說,記憶體控制器110可利用第一不受保護表頁面的第一表內容來作為該第一表內容的第一容錯式磁碟陣列同位,利用容錯式磁碟陣列電路115來對第二不受保護表頁面的第二表內容以及該第一容錯式磁碟陣列同位進行第一互斥或操作以產生該第二表內容的第二容錯式磁碟陣列同位,利用容錯式磁碟陣列電路115來對第三不受保護表頁面的第三表內容以及該第二容錯式磁碟陣列同位進行第二互斥或操作以產生該第三表內容的第三容錯式磁碟陣列同位,以及其餘可以此類推。為簡潔起見,對於該些實施例的類似內容在此不再重複詳細描述。
第8圖為依據本發明一實施例之該方法的系統區域垃圾回收控制方 案。舉例來說,在由於表更新操作而使得上述至少一表的某些表內容變得無效之後,記憶體控制器110可對系統區域進行一系統區域垃圾回收程序,尤其是,捨棄(discard)包含有無效表內容的多個無效表頁面,自現有表容錯式磁碟陣列保護群組(例如第5圖與第6圖所示之可變頁面群組表保護控制方案的表容錯式磁碟陣列保護群組)取得包含有有效表內容的多個有效表頁面,將該多個有效表頁面的該有效表內容儲存於目的地頁面(destination page)中以作為新表頁面,以及將新容錯式磁碟陣列同位相對應地寫入至新同位頁面中來產生複數個新表容錯式磁碟陣列保護群組。由於進行系統區域垃圾回程序一次或多次的緣故,相關的同位比例(1/M)的平均可能會減少以自動地接近並最終達到一目標同位比例(1/M_target)。舉例來說,目的地頁面以及新同位頁面可如第4圖所示來配置,而當M_target=8時,目標同位比例(1/M_target)可以與(1/8)相等,但是本發明不限於此。根據某些實施例,參數M_target可以與某些大於2的其它正整數的任一個正整數相等,以及目標同位比例(1/M_target)可以相對應地變化。此外,在執行步驟S21之前,記憶體控制器110可將表頁面計數TPGCNT的初始數值設置為0,在執行完步驟S22之後,以1為增量來增加表頁面計數TPGCNT(為簡潔起見,標記為“TPGCNT++”),並且在執行完步驟S24之後,將表頁面計數TPGCNT重設為0,其中表頁面計數TPGCNT可用以指示不受保護表頁面計數。
在步驟S20中,記憶體控制器110可判斷是否應進行系統區域的任一個垃圾回收,如果是,進入步驟S21來開始進行垃圾回收;如果否,第8圖所示之工作流程結束。尤其是,根據非揮發性記憶體120內的一備用區域(spare region)的備用區塊計數(例如備用區域中的備用區塊的數量),記憶體控制器110可判斷是否執行自步驟S21開始的部份工作流程。於更新上述至少一表的期間,記憶體控制器110可利用備用區域中的至少一備用區塊來作為至少一新表區塊,以供 儲存最新的更新後表內容。由於上述至少一備用區塊可能變為上述至少一新表區塊來作為上述至少一表區塊之中的至少一新成員,備用區塊計數可能會相對應地減少。舉例來說,當備用區塊計數小於一預定備用區塊計數(其可指示剩餘的備用區塊不足)時,記憶體控制器110可判斷應進行系統區域的垃圾回收來釋放更多的儲存空間,並因此進入步驟S21。在完成垃圾回收之後,備用區塊計數可增加來變得再次大於預定備用區塊計數。又例如,當備用區塊計數大於或等於預定備用區塊計數(其指示剩餘的備用區塊是足夠的)時,記憶體控制器110可判斷不應進行系統區域的垃圾回收。
在步驟S21中,記憶體控制器110可自非揮發性記憶體120讀取現有表容錯式磁碟陣列保護群組的複數個表頁面之中的一有效表頁面,尤其是,自非揮發性記憶體120讀取該有效表頁面得有效表內容,其中該有效表頁面係多個有效表頁面的其一,以及有效表內容係上述有效表內容的其一。第5圖與第6圖所示之可變頁面群組表保護控制方案的表容錯式磁碟陣列保護群組中的新表頁面可作為步驟S21所提及的該複數個表頁面的範例。由於元資料(例如容錯式磁碟陣列索引以及同位辨識符)可能已經儲存於現有表容錯式磁碟陣列保護群組的頁面中,因此記憶體控制器110可辨識現有表容錯式磁碟陣列保護群組中的表頁面以及同位頁面,以自該複數個表頁面取得該有效表頁面。
在步驟S22中,記憶體控制器110可將攜帶有有效表頁面的有效表內容之表頁面以及新的相對應容錯式磁碟陣列索引寫入至非揮發性記憶體120中,以作為上述目的地頁面之中的新表頁面,尤其是,將有效表內容以及新的相對應容錯式磁碟陣列索引寫入或儲存至新表頁面中,並將該有效表頁面標記為無效,其中新的相對應容錯式磁碟陣列可以與此時的TPGCNT(亦即當執行步 驟S22時,表頁面計數TPGCNT的目前數值)相等。舉例來說,目的地頁面可如第4圖所示來配置,並且目標同位比例(1/M_target)可等於(1/8)。
在步驟S23A中,記憶體控制器110可判斷表頁面計數TPGCNT是否達到參數M_target與1之間的差異(M_target-1)(為簡潔起見,在第8圖中標記為“TPGCNT==(M_target-1)‘?”),如果是,其指示此時(亦即當執行步驟S23A的時間點)有(M_target-1)個不受保護表頁面,進入步驟S24A;如果否,進入步驟S23B。
在步驟S23B中,記憶體控制器110可判斷是否已經超過一預定垃圾回收時間,如果是,進入步驟S24B;如果否,進入步驟S25。舉例來說,記憶體控制器110可在背景(background)中進行系統區域垃圾回收程序並將每一次進行的時間限制為預定垃圾回收時間,以防止造成前景(foreground)操作(例如為主機裝置50存取非揮發性記憶體120中的資料的操錯)的延遲。
在步驟S24A中,記憶體控制器110可將攜帶有對應於(M_target-1)個不受保護表頁面的容錯式磁碟陣列同位之同位頁面以及同位辨識符寫入至非揮發性記憶體120中以作為新同位頁面,尤其是,將容錯式磁碟陣列同位以及同位辨識符寫入或儲存至新同位頁面中。舉例來說,記憶體控制器110可利用容錯式磁碟陣列電路115來對(M_target-1)個不受保護表頁面的表內容進行容錯式磁碟陣列編碼,以產生容錯式磁碟陣列同位。
在步驟S24B中,記憶體控制器110可將對應於不受保護表頁面的容錯式磁碟陣列同位之同位頁面以及同位辨識符寫入至非揮發性記憶體120中來作 為新同位頁面,尤其是,將容錯式磁碟陣列同位以及同位辨識符寫入或儲存至新同位頁面中。舉例來說,記憶體控制器110可利用容錯式磁碟陣列電路115來對不受保護表頁面的表內容進行容錯式磁碟陣列編碼,以產生容錯式磁碟陣列同位,但是本發明不限於此。又例如,當此時(亦即執行步驟S24B的時間點)的TPGCNT=1(其代表不受保護表頁面包含有單一不受保護表頁面)時,記憶體控制器110可利用該單一不受保護表頁面的表內容來作為此表內容的容錯式磁碟陣列同位,以供儲存至新同位頁面中。
在步驟S25中,記憶體控制器110可檢查此時(亦即執行步驟S25的時間點)是否需要進行下一個系統區域垃圾回收操作,如果是,進入步驟S21;如果否,第8圖所示之工作流程結束。舉例來說,記憶體控制器110可判斷是否多個有效表頁面的所有有效表內容皆已經寫入至目的地頁面中,倘若多個有效表頁面的所有有效表內容皆已經寫入至目的地頁面的話,則記憶體控制器110可判斷此時無需進行額外的系統區域垃圾回收操作;否則,記憶體控制器110可判斷此時需要進行下一個系統區域垃圾回收操作。
為了更好的理解,該方法可藉由第8圖所示之工作流程來闡明,但是本發明不限於此。根據某些實施例,一個或多個步驟可於第8圖所示之工作流程中增加、刪除或修改。舉例來說,在取得步驟S25的判斷結果“否”之後,記憶體控制器110可選擇性地進行一抹除程序來釋放更多的儲存空間。尤其是,記憶體控制器110可根據是否沒有前景操作來判斷是否進行抹除程序。倘若沒有前景操作的話,記憶體控制器110可進行抹除程序來抹除一個或多個無效表區塊(例如不具有效表頁面的表區塊);否則,記憶體控制器110可防止進行抹除程序。為簡潔起見,對於該些實施例的類似內容在此不再重複詳細描述。
根據某些實施例,備用區域可以被劃分成一第一備用區域以及一第二備用區域,而記憶體控制器110可利用第一備用區域中的至少一第一備用區塊來作為上述至少一新表區塊,並利用第二備用區域中的至少一第二備用區塊來作為至少一資料區塊以供儲存使用者資料,但是本發明不限於此。
第9圖為依據本發明一實施例之該方法的錯誤校正控制方案。當現有表容錯式磁碟陣列保護群組之中的一現有表容錯式磁碟陣列保護群組的任一個表頁面的任一個錯誤發生時,記憶體控制器110可判斷該現有表容錯式磁碟陣列保護群組的起點位置以及終點位置(例如該現有表容錯式磁碟陣列保護群組的第一表頁面的位置以及該現有表容錯式磁碟陣列保護群組的同位頁面的位置),並校正該錯誤來恢復(recover)該表頁面。具有錯誤的表頁面可稱為錯誤表頁面,舉例來說,錯誤表頁面可以是頁面Y,其中“Y”可以是一整數以供指示錯誤表頁面沿著上述至少一表區塊中的頁面之寫入順序的位置。記憶體控制器110可改變位置參數A與B,尤其是,可以在執行完步驟S32之後以1為減量來遞減位置參數A(為簡潔起見,在第9圖中標記為“A--”),並在執行完步驟S34之後以1為增量來遞增位置參數B(為簡潔起見,在第9圖中標記為“B++”)。在執行完包含有步驟S32與步驟S33的迴圈一次或多次之後,記憶體控制器110可利用位置參數A的結果數值加上1(亦即(A+1))來指示現有表容錯式磁碟陣列保護群組之第一表頁面沿著寫入順序的位置。在執行完包含有步驟S34與步驟S35的迴圈一次或多次後,記憶體控制器110可利用位置參數B的結果數值來指示現有表容錯式磁碟陣列保護群組之同位頁面沿著寫入順序的位置。
在步驟S31中,記憶體控制器110可位置參數A與B的初始數值皆設置 為Y,其中“A”與“B”可以是整數。
在步驟S32中,記憶體控制器110可自非揮發性記憶體120讀取一後頁面(backward page)來嘗試搜尋同位辨識符(例如0xFF),此時(例如執行步驟S32的時間點)的後頁面可代表頁面(A-1)。
在步驟S33中,記憶體控制器110可檢查是否搜尋到同位辨識符,如果是,進入步驟S34;如果否,進入步驟S32。
在步驟S34中,記憶體控制器110可自非揮發性記憶體120讀取一前頁面(forward page)來嘗試搜尋同位辨識符(例如0xFF)。此時(例如執行步驟S34的時間點)的前頁面可代表頁面(B+1)。
在步驟S35中,記憶體控制器110可檢查是否搜尋到同位辨識符,如果是,進入步驟S36;如果否,進入步驟S34。
在步驟S36中,記憶體控制器110可除了頁面Y之外,自頁面(A+1)至頁面B來對現有表容錯式磁碟陣列保護群組進行解碼,以恢復頁面Y。
為了更好的理解,該方法可藉由第9圖所示之工作流程來闡明,但是本發明不限於此。根據某些實施例,一個或多個步驟可於第9圖所示之工作流程中增加、刪除或修改。
第10圖為依據本發明一實施例之該方法的工作流程的示意圖。記憶 體控制器110可根據第5圖所示之可變頁面群組表保護控制方案來操作以進行表管理程序,尤其是,可根據第7圖所示之動態表保護控制方案來操作以產生上述至少一表區塊中的現有表容錯式磁碟陣列保護群組。為了清楚地闡明對應於現有表容錯式磁碟陣列保護群組之中的一表容錯式磁碟陣列保護群組的一處理階段,假設:(1)記憶體控制器110可間歇性地(intermittently)處於一空閒狀態(idle state)中,而無需持續更新該第一表;以及(2)在進行步驟S13與S14之後,記憶體控制器110可等待直到需要進一步地更新該第一表;但是本發明不限於此。此外,當更新該第一表時,記憶體控制器110可更新該第一表的多個先前表內容{TBL_cont_prev(i)}(例如先前表內容{TBL_cont_prev(1),TBL_cont_prev(2),...})以產生該第一表的多個更新後表內容{TBL_cont_u(i)}(例如更新後表內容{TBL_cont_u(1),TBL_cont_u(2),...}),其中“i”可具有一初始數值(例如1;為簡潔起見,在第10圖中標記為“i=1”),可藉由一增量(例如1)來進行遞增(為簡潔起見,在第10圖中標記為“i++”)。
在步驟S41中,當需要更新先前表內容TBL_cont_prev(i)時,記憶體控制器110可將更新後表內容TBL_cont_u(i)寫入至上述至少一表區塊的至少一更新後表頁面PG_u(i)中,其中更新後表內容TBL_cont_u(i)係先前表內容TBL_cont_prev(i)的一更新後版本,以及待更新的先前表內容TBL_cont_prev(i)係儲存於上述至少一表區塊的至少一先前表頁面PG_prev(i)中。舉例來說,記憶體控制器110可自上述至少一先前表頁面PG_prev(i)讀取先前表內容TBL_cont_prev(i),並更新先前表內容TBL_cont_prev(i)來產生更新後表內容TBL_cont_u(i),以供寫入至上述至少一更新後表頁面PG_u(i)中。
由於記憶體控制器110可暫時地停止該第一表並立即地將相對應的容錯式磁碟陣列同位寫入至非揮發性記憶體120中,因此相對於i來說,上述至少一更新後表頁面PG_u(i)的數量可能會發生變化,尤其是,一表容錯式磁碟陣列保護群組GRP的同位比例(1/M)可能會與另一表容錯式磁碟陣列保護群組GRP的同位比例(1/M)不同。例如,對於M=2的案例來說,上述至少一更新後表頁面PG_u(i)可代表一單一更新後表頁面PG_u(i),或對於M>2的案例來說,上述至少一更新後表頁面PG_u(i)可代表多個更新後表頁面{PG_u(i)}。無論M=2或M>2,上述至少一更新後表頁面PG_u(i)可統稱為更新後表頁面PG_u(i)。
在步驟S42中,當在時間點T(i)無需該第一表的進一步的表更新時,記憶體控制器110可將更新後表內容TBL_cont_u(i)的一容錯式磁碟陣列同位TBL_par(i)寫入至對應於該至少一表區塊中的更新後表頁面PG_u(i)的一同位頁面PG_par(i)中,以產生具有M個頁面的表容錯式磁碟陣列保護群組GRP(i),以供保護更新後表頁面PG_u(i),其中可即時地且動態地決定受同位頁面PG_par(i)所保護之更新後表頁面PG_u(i)的更新後表頁面計數PGCNT(i)(例如PGCNT(i)=(M-1))。舉例來說,在時間點T(i)時,記憶體控制器110可決定受同位頁面PG_par(i)所保護之更新後表頁面PG_u(i)的更新後表頁面計數PGCNT(i)。
在步驟S43中,記憶體控制器110可檢查此時(例如進行步驟S43的時間點)是否需要該第一表之新的更新(new update),如果是,進入步驟S41;如果否,重新進入步驟S43。
在進行包含有步驟S41~S43的迴圈多次之後,受同位頁面PG_par(i1) 所保護的更新後表頁面PG_u(i1)的更新後表頁面計數PGCNT(i1)可能不同於受同位頁面PG_par(i2)所保護的更新後表頁面PG_u(i2)的更新後表頁面計數PGCNT(i2),其中“i1”與“i2”可以是不同正整數。舉例來說,假設i1=1且i2=2,則更新後表頁面PG_u(1)以及更新後表頁面PG_u(2)可分別代表第6圖所示之實施例中的先前表容錯式磁碟陣列保護群組的4個表頁面以及目前表容錯式磁碟陣列保護群組的7個表頁面。在此情況中,更新後表頁面計數PGCNT(1)(例如對於先前表容錯式磁碟陣列保護群組來說,PGCNT(1)=4)可能不同於更新後表頁面計數PGCNT(2)(例如目前表容錯式磁碟陣列保護群組來說,PGCNT(2)=7)。為了簡潔起見,對於該實施例的類似內容在此不再重複詳細描述。
為了更好的理解,該方法可藉由第10圖所示之工作流程來闡明,但是本發明不限於此。根據某些實施例,一個或多個步驟可於第10圖所示之工作流程中增加、刪除或修改。舉例來說,步驟S41可包含有多個子步驟(例如第7圖所示之步驟S11~S13),並且可藉由包含有第7圖所示之步驟S11~S13的迴圈的部分工作流程來實現,而步驟S42可藉由第7圖所示之步驟S14來實現,其中如同在第7圖所示之最下面部分工作流程的步驟S14的操作之後進行步驟S43的檢查操作,可在步驟S42之後進行步驟S43。為了簡潔起見,對於該些實施例的類似內容在此不再重複詳細描述。
根據某些實施例,上述至少一位址映射表可包含有至少一邏輯至實體位址映射表(例如全域邏輯至實體位址映射表120T)以及至少一實體至邏輯位址映射表(例如實體至邏輯位址映射表227T)。舉例來說,該第一表可代表全域邏輯至實體位址映射表120T的至少一部分(例如一部分或全部),諸如全域邏輯至實體位址映射表120T內的第一局部邏輯至實體位址映射表。又例如,該第 一表可代表實體至邏輯位址映射表227T。在某些範例中,該第一表可代表一有效頁面計數表,以及記憶體控制器110可將上述複數個區塊的至少一部分的有效頁面計數(例如有效頁面的數量)分別記錄於該有效頁面計數表中。尤其是,記憶體控制器110可將該複數個區塊之中的複數個資料區塊配置至非揮發性記憶體120內的一資料區域中以供儲存使用者資料、系統資料等等,並將該複數個資料區塊之各自的有效頁面計數記錄於該有效頁面計數表中。為了簡潔起見,對於該些實施例的類似內容在此不再重複詳細描述。
以上所述僅為本發明之較佳實施例,凡依本發明申請專利範圍所做之均等變化與修飾,皆應屬本發明之涵蓋範圍。
S41~S43:步驟

Claims (15)

  1. 一種借助彈性表頁面群組來進行一預定通訊架構中的一記憶體裝置之表管理的方法,該方法係應用於該記憶體裝置的一記憶體控制器,該記憶體裝置包含有該記憶體控制器以及一非揮發性記憶體,該非揮發性記憶體包含有至少一非揮發性記憶體元件,該至少一非揮發性記憶體元件包含有複數個區塊,該方法包含有:利用該記憶體控制器來進行一表管理程序,以針對該記憶體裝置的內部管理來管理至少一表(at least one table),其中該至少一表係儲存於該複數個區塊之中的至少一表區塊中,以及該表管理程序包含有:因應需要更新該至少一表(the at least one table)之中的一第一表(a first table)的一第一先前表內容(a first previous table content),將該第一表的一第一更新表內容寫入至該至少一表區塊的至少一第一更新表頁面中,其中該第一更新表內容係該第一先前表內容的一更新版本,以及該第一先前表內容係儲存於該至少一表區塊的至少一第一先前表頁面中;以及因應在一第一時間點時無需對該第一表進行進一步的表更新,將該第一更新表內容的一第一容錯式磁碟陣列同位(RAID parity)寫入至該至少一表區塊中的對應於該至少一第一更新表頁面的一第一同位頁面中,以保護該至少一第一更新表頁面,其中受該第一同位頁面所保護的該至少一第一更新表頁面的一第一更新表頁面計數被即時地決定。
  2. 如申請專利範圍第1項所述之方法,其中該至少一表包含有至少一位址映射表,該記憶體控制器係用以透過該記憶體控制器的一傳輸介面電路 來自一主機裝置接收一組第一命令,並進行該表管理程序來相對應地更新該至少一位址映射表,其中該組第一命令分別指示要求寫入一組第一資料。
  3. 如申請專利範圍第2項所述之方法,其中該至少一位址映射表包含有至少一邏輯至實體位址映射表,以及該第一表代表該至少一邏輯至實體位址映射表之中的一第一邏輯至實體位址映射表。
  4. 如申請專利範圍第2項所述之方法,其中該至少一位址映射表包含有至少一實體至邏輯位址映射表,以及該第一表代表該至少一實體至邏輯位址映射表之中的一第一實體至邏輯位址映射表。
  5. 如申請專利範圍第2項所述之方法,其中該至少一位址映射表包含有至少一邏輯至實體位址映射表以及至少一實體至邏輯位址映射表。
  6. 如申請專利範圍第1項所述之方法,其中該表管理程序另包含有:自該至少一第一先前表頁面讀取該第一表的該第一先前表內容,以及更新該第一表的該第一先前表內容以產生該第一更新表內容,以供寫入至該至少一第一更新表頁面中。
  7. 如申請專利範圍第1項所述之方法,其中受該第一同位頁面所保護的該至少一第一更新表頁面的該第一更新表頁面計數係在該第一時間點時被決定。
  8. 如申請專利範圍第1項所述之方法,其中該表管理程序另包含有: 因應需要更新該第一表的一第二先前表內容,將該第一表的一第二更新表內容寫入至該至少一表區塊的至少一第二更新表頁面中,其中該第二更新表內容係該第二先前表內容的一更新版本,以及該第二先前表內容係儲存於該至少一表區塊的至少一第二先前表頁面中;以及因應在一第二時間點時無需對該第一表進行進一步的表更新,將該第二更新表內容的一第二容錯式磁碟陣列同位寫入至該至少一表區塊中的對應於該至少一第二更新表頁面的一第二同位頁面中,以保護該至少一第二更新表頁面,其中受該第二同位頁面所保護的該至少一第二更新表頁面的一第二更新表頁面計數被即時地決定。
  9. 如申請專利範圍第8項所述之方法,其中該表管理程序另包含有:自該至少一第二先前表頁面讀取該第一表的該第二先前表內容,以及更新該第一表的該第二先前表內容以產生該第二更新表內容,以供寫入至該至少一第二更新表頁面中。
  10. 如申請專利範圍第8項所述之方法,其中受該第二同位頁面所保護的該至少一第二更新表頁面的該第二更新表頁面計數係在該第二時間點時被決定。
  11. 如申請專利範圍第8項所述之方法,其中受該第二同位頁面所保護的該至少一第二更新表頁面的該第二更新表頁面計數係不同於受該第一同位頁面所保護的該至少一第一更新表頁面的該第一更新表頁面計數。
  12. 一種記憶體裝置的記憶體控制器,該記憶體裝置包含有該記憶體 控制器以及一非揮發性記憶體,該非揮發性記憶體包含有至少一非揮發性記憶體元件,該至少一非揮發性記憶體元件包含有複數個區塊,該記憶體控制器包含有:一處理電路,用以根據來自一主機裝置的複數個主機命令來控制該記憶體控制器,以允許該主機裝置透過該記憶體控制器來存取該非揮發性記憶體,其中該處理電路係用以借助彈性表頁面群組來進行一預定通訊架構中的該記憶體裝置的表管理;其中該記憶體控制器進行一表管理程序以針對該記憶體裝置的內部管理來管理至少一表(at least one table),該至少一表係儲存於該複數個區塊之中的至少一表區塊中,以及該表管理程序包含有:因應需要更新該至少一表(the at least one table)之中的一第一表(a first table)的一第一先前表內容(a first previous table content),將該第一表的一第一更新表內容寫入至該至少一表區塊的至少一第一更新表頁面中,其中該第一更新表內容係該第一先前表內容的一更新版本,以及該第一先前表內容係儲存於該至少一表區塊的至少一第一先前表頁面中;以及因應在一第一時間點時無需對該第一表進行進一步的表更新,將該第一更新表內容的一第一容錯式磁碟陣列同位寫入至該至少一表區塊中的對應於該至少一第一更新表頁面的一第一同位頁面中,以保護該至少一第一更新表頁面,其中受該第一同位頁面所保護的該至少一第一更新表頁面的一第一更新表頁面計數被即時地決定。
  13. 如申請專利範圍第12項所述之記憶體控制器,其中該至少一表包 含有至少一位址映射表,以及該記憶體控制器另包含有:一傳輸介面電路,用以與該主機裝置進行通訊;其中該記憶體控制器係用以透過該記憶體控制器的該傳輸介面電路來自該主機裝置接收一組第一命令,並進行該表管理程序來相對應地更新該至少一位址映射表;以及該組第一命令分別指示要求寫入一組第一資料。
  14. 一種記憶體裝置,其包含有申請專利範圍第12項所述之記憶體控制器,其中該記憶體裝置包含有:該非揮發性記憶體,用以儲存資訊;以及該記憶體控制器,耦接於該非揮發性記憶體,並且用以控制該記憶體裝置的操作。
  15. 一種電子裝置,其包含有申請專利範圍第14項所述之記憶體裝置,並且另包含有:該主機裝置,耦接於該記憶體裝置,其中該主機裝置包含有:至少一處理器,用以控制該主機裝置的操作;以及一電源供應電路,耦接於該至少一處理器,並且用以提供電源給該至少一處理器以及該記憶體裝置;其中該記憶體裝置提供儲存空間給該主機裝置。
TW113109589A 2023-03-23 2024-03-15 一種借助彈性表頁面群組來進行一預定通訊架構中的一記憶體裝置之表管理的方法、記憶體裝置的記憶體控制器、記憶體裝置以及電子裝置 TWI866812B (zh)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US18/125,131 US20240320095A1 (en) 2023-03-23 2023-03-23 Method and apparatus for performing table management of memory device in predetermined communications architecture with aid of flexible table page grouping
US18/125,131 2023-03-23

Publications (2)

Publication Number Publication Date
TW202439140A TW202439140A (zh) 2024-10-01
TWI866812B true TWI866812B (zh) 2024-12-11

Family

ID=92765317

Family Applications (1)

Application Number Title Priority Date Filing Date
TW113109589A TWI866812B (zh) 2023-03-23 2024-03-15 一種借助彈性表頁面群組來進行一預定通訊架構中的一記憶體裝置之表管理的方法、記憶體裝置的記憶體控制器、記憶體裝置以及電子裝置

Country Status (3)

Country Link
US (1) US20240320095A1 (zh)
CN (1) CN118689389A (zh)
TW (1) TWI866812B (zh)

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20130311707A1 (en) * 2012-05-16 2013-11-21 Hitachi, Ltd. Storage control apparatus and storage control method
TW201702879A (zh) * 2015-07-06 2017-01-16 上海寶存信息科技有限公司 主機裝置、存取系統、以及存取方法
TW202117548A (zh) * 2018-11-08 2021-05-01 慧榮科技股份有限公司 用來進行關於容錯式磁碟陣列的映射資訊管理之方法與裝置以及儲存系統
CN114047886A (zh) * 2022-01-13 2022-02-15 苏州浪潮智能科技有限公司 一种nvme命令处理方法、系统、电子设备及存储介质

Family Cites Families (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7945762B2 (en) * 2008-01-29 2011-05-17 Cadence Design Systems, Inc. Method and apparatus for memory management in a non-volatile memory system using a block table
KR20180051706A (ko) * 2016-11-07 2018-05-17 삼성전자주식회사 어드레스 맵핑 테이블의 에러 정정을 수행하는 메모리 시스템
TWI647566B (zh) * 2018-01-19 2019-01-11 慧榮科技股份有限公司 資料儲存裝置與資料處理方法
KR20220007212A (ko) * 2020-07-10 2022-01-18 삼성전자주식회사 Raid 스토리지 장치, 호스트 장치 및 raid 시스템

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20130311707A1 (en) * 2012-05-16 2013-11-21 Hitachi, Ltd. Storage control apparatus and storage control method
TW201702879A (zh) * 2015-07-06 2017-01-16 上海寶存信息科技有限公司 主機裝置、存取系統、以及存取方法
TW202117548A (zh) * 2018-11-08 2021-05-01 慧榮科技股份有限公司 用來進行關於容錯式磁碟陣列的映射資訊管理之方法與裝置以及儲存系統
CN114047886A (zh) * 2022-01-13 2022-02-15 苏州浪潮智能科技有限公司 一种nvme命令处理方法、系统、电子设备及存储介质

Also Published As

Publication number Publication date
US20240320095A1 (en) 2024-09-26
CN118689389A (zh) 2024-09-24
TW202439140A (zh) 2024-10-01

Similar Documents

Publication Publication Date Title
CN109634517B (zh) 进行存取管理的方法、记忆装置、电子装置和其控制器
US11113149B2 (en) Storage device for processing corrupted metadata and method of operating the same
US11138080B2 (en) Apparatus and method for reducing cell disturb in an open block of a memory system during a recovery procedure
US10347349B2 (en) Method and device for fail-safe erase of flash memory
TWI463313B (zh) 記憶體管理方法、記憶體控制器與記憶體儲存裝置
TWI451439B (zh) 記憶體儲存裝置、其記憶體控制器與資料寫入方法
CN103377143A (zh) 存储器管理方法、存储器控制器与存储器存储装置
US20200250104A1 (en) Apparatus and method for transmitting map information in a memory system
CN111984462A (zh) 无预警断电复原管理方法、记忆装置、控制器及电子装置
TWI866812B (zh) 一種借助彈性表頁面群組來進行一預定通訊架構中的一記憶體裝置之表管理的方法、記憶體裝置的記憶體控制器、記憶體裝置以及電子裝置
TWI857926B (zh) 借助系統區域垃圾回收來進行預定通訊架構中的記憶體裝置的表管理的方法、記憶體裝置的記憶體控制器、記憶體裝置以及電子裝置
TWI867743B (zh) 借助表錯誤校正來進行預定通訊架構中的記憶體裝置的表管理的方法、記憶體裝置的記憶體控制器、記憶體裝置以及電子裝置
US12032843B2 (en) Apparatus and method for increasing operation efficiency in data processing system
TWI866827B (zh) 用來進行預定通訊架構中的記憶體裝置的資料存取管理的方法、記憶體裝置的記憶體控制器、記憶體裝置以及電子裝置
TWI862437B (zh) 用來進行預定通訊架構中的記憶體裝置的資料存取管理的方法、記憶體裝置的記憶體控制器、記憶體裝置以及電子裝置
US11809314B2 (en) Method and apparatus for performing access control of memory device with aid of multi-stage garbage collection management
CN103853666A (zh) 存储器、其存储控制器与数据写入方法
TW202509747A (zh) 借助多表檢查來進行預定通訊架構中的記憶體裝置的資料存取管理的方法、記憶體裝置的記憶體控制器、記憶體裝置以及電子裝置
CN118312443A (zh) 存储器装置的数据存取管理的方法、存储器装置的存储器控制器、存储器装置以及电子装置
CN118312442A (zh) 存储器装置的数据存取管理的方法、存储器装置的存储器控制器、存储器装置以及电子装置