TWI780697B - 用以管理快閃記憶體模組的方法、快閃記憶體控制器與電子裝置 - Google Patents
用以管理快閃記憶體模組的方法、快閃記憶體控制器與電子裝置 Download PDFInfo
- Publication number
- TWI780697B TWI780697B TW110116690A TW110116690A TWI780697B TW I780697 B TWI780697 B TW I780697B TW 110116690 A TW110116690 A TW 110116690A TW 110116690 A TW110116690 A TW 110116690A TW I780697 B TWI780697 B TW I780697B
- Authority
- TW
- Taiwan
- Prior art keywords
- blocks
- valid data
- flash memory
- group
- block
- Prior art date
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0668—Interfaces specially adapted for storage systems adopting a particular infrastructure
- G06F3/0671—In-line storage system
- G06F3/0673—Single storage device
- G06F3/0679—Non-volatile semiconductor memory device, e.g. flash memory, one time programmable memory [OTP]
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0628—Interfaces specially adapted for storage systems making use of a particular technique
- G06F3/0646—Horizontal data movement in storage systems, i.e. moving data in between storage devices or systems
- G06F3/0652—Erasing, e.g. deleting, data cleaning, moving of data to a wastebasket
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F12/00—Accessing, addressing or allocating within memory systems or architectures
- G06F12/02—Addressing or allocation; Relocation
- G06F12/0223—User address space allocation, e.g. contiguous or non contiguous base addressing
- G06F12/023—Free address space management
- G06F12/0238—Memory management in non-volatile memory, e.g. resistive RAM or ferroelectric memory
- G06F12/0246—Memory management in non-volatile memory, e.g. resistive RAM or ferroelectric memory in block erasable memory, e.g. flash memory
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F12/00—Accessing, addressing or allocating within memory systems or architectures
- G06F12/02—Addressing or allocation; Relocation
- G06F12/08—Addressing or allocation; Relocation in hierarchically structured memory systems, e.g. virtual memory systems
- G06F12/10—Address translation
- G06F12/1009—Address translation using page tables, e.g. page table structures
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0602—Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
- G06F3/0604—Improving or facilitating administration, e.g. storage management
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0602—Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
- G06F3/0608—Saving storage space on storage systems
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0602—Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
- G06F3/061—Improving I/O performance
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0628—Interfaces specially adapted for storage systems making use of a particular technique
- G06F3/0638—Organizing or formatting or addressing of data
- G06F3/064—Management of blocks
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0628—Interfaces specially adapted for storage systems making use of a particular technique
- G06F3/0655—Vertical data movement, i.e. input-output transfer; data movement between one or more hosts and one or more storage devices
- G06F3/0658—Controller construction arrangements
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2212/00—Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
- G06F2212/72—Details relating to flash memory management
- G06F2212/7205—Cleaning, compaction, garbage collection, erase control
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)
- Techniques For Improving Reliability Of Storages (AREA)
- Read Only Memory (AREA)
- Memory System (AREA)
Abstract
一種管理一快閃記憶體模組的方法包含:將該快閃記憶體模組中的複數個區塊分為複數個分組,其中每一分組中包含至少二區塊;建立一有效資料頁表,其中該有效資料頁表分別記錄該複數個區塊的索引以及有效資料頁的對應個數;依據該有效資料頁表建立一分組最少有效資料頁陣列;參考該分組最少有效資料頁陣列以選擇具有一總體最少有效資料頁的一目標分組,其中,該總體最少有效資料頁是藉由在最少有效資料頁中選擇一最小值所得到;搜尋該目標分組中的該至少二區塊,而不搜尋其他分組中的區塊,以判斷具有該總體最少有效資料頁的一目標區塊。
Description
本發明係相關於一種快閃記憶體控制器,尤指一種快閃記憶體模組管理方法以及相關的快閃記憶體控制器。
在快閃記憶體模組中,因為儲存在一區塊的一資料頁中的資料不能被覆寫,當資料被新資料更新時,新資料必須儲存到另一資料頁中,原始資料則變為無效資料。因此,當藉由儲存在另一個區塊的資料頁中的新資料來更新該區塊的資料時,將減少該區塊內的有效資料頁的數量。為了有效率地使用快閃記憶體模組的區塊,快閃記憶體控制器搜尋所有區塊以找到一或多個具有最少有效資料頁的區塊,並且快閃記憶體控制器執行垃圾回收操作以釋放這些具有最少有效資料頁的區塊。換句話說,快閃記憶體控制器將這些區塊的有效資料頁移動到其他區塊,然後將這些區塊抹除以成為空白區塊。
因為快閃記憶體控制器搜尋所有區塊以找到具有最少有效資料頁的區塊,所以如果快閃記憶體模組包括許多區塊(例如一千個區塊),使得搜索時間變長,則可能導致系統效率降低。
本發明之一目的在於提供一種快閃記憶體模組的控制方法,可以對該快閃記憶體模組的區塊進行分組,以使該快閃記憶體控制器能有效率地找到具有最少有效資料頁的區塊,以解決上述的問題。
本發明一實施例揭示了一種用以管理一快閃記憶體模組的方法,該方法包含:將該快閃記憶體模組中的複數個區塊分為複數個分組,其中每一分組中包含至少二區塊;建立一有效資料頁表,其中該有效資料頁表分別記錄該複數個區塊的索引以及有效資料頁的對應個數;依據該有效資料頁表建立一分組最少有效資料頁陣列,其中,該分組最少有效資料頁陣列分別記錄分組索引以及對應的最少有效資料頁,其中,該最少有效資料頁是藉由在該分組中的該區塊的有效資料頁個數中選擇一最小值所得到;參考該分組最少有效資料頁陣列以選擇具有一總體最少有效資料頁的一目標分組,其中,該總體最少有效資料頁是藉由在分組中的該最少有效資料頁中選擇一最小值所得到;搜尋該目標分組中的該至少二區塊,而不搜尋其他分組中的區塊,以判斷具有該總體最少有效資料頁的一目標區塊;以及將該目標區塊加到一垃圾收集佇列。
本發明另一實施例揭示了一種快閃記憶體控制器,其中該快閃記憶體控制器耦接至一快閃記憶體模組,以及該快閃記憶體控制器包含一記憶體以及一微處理器,該記憶體用來儲存一程式碼,該微處理器用來執行該程式碼以存取該快閃記憶體模組,其中該微處理器將該快閃記憶體模組中的複數個區塊分為複數個分組,其中每一分組中包含至少二區塊;該微處理器建立一有效資料頁表,其中該有效資料頁表分別記錄該複數個區塊的索引以及有效資料頁的
對應個數;該微處理器依據該有效資料頁表建立一分組最少有效資料頁陣列,其中,該分組最少有效資料頁陣列分別記錄分組索引以及對應的最少有效資料頁,其中,該最少有效資料頁是藉由在該分組中的該些區塊的有效資料頁個數中選擇一最小值所得到;該微處理器參考該分組最少有效資料頁陣列以選擇具有一總體最少有效資料頁的一目標分組,其中,該總體最少有效資料頁是藉由在分組中的該最少有效資料頁中選擇一最小值所得到;該微處理器搜尋該目標分組中的該至少二區塊,而不搜尋其他分組中的區塊,以判斷具有該總體最少有效資料頁的一目標區塊;以及該微處理器將該目標區塊加到一垃圾收集佇列。
本發明又另一實施例揭示了一種電子裝置,該電子裝置包含一快閃記憶體模組以及一快閃記憶體控制器,該快閃記憶體控制器用以存取該快閃記憶體模組,其中該快閃記憶體控制器將該快閃記憶體模組中的複數個區塊分為複數個分組,其中每一分組中包含至少二區塊;該快閃記憶體控制器建立一有效資料頁表,其中該有效資料頁表分別記錄該複數個區塊的索引以及有效資料頁的對應個數;該快閃記憶體控制器依據該有效資料頁表建立一分組最少有效資料頁陣列,其中,該分組最少有效資料頁陣列分別記錄分組索引以及對應的最少有效資料頁,其中,該最少有效資料頁是藉由在該分組中的該些區塊的有效資料頁個數中選擇一最小值所得到;該快閃記憶體控制器參考該分組最少有效資料頁陣列以選擇具有一總體最少有效資料頁的一目標分組,其中,該總體最少有效資料頁是藉由在分組中的該最少有效資料頁中選擇一最小值所得到;該快閃記憶體控制器搜尋該目標分組中的該至少二區塊,而不搜尋其他分組中的區塊,以判斷具有該總體最少有效資料頁的一目標區塊;以及該快閃記憶體控制器將該目標區塊加到一垃圾收集佇列。
10:電子裝置
50:主機裝置
52:處理器
54:電源供應電路
100:記憶體裝置
110:記憶體控制器
112:微處理器
112C:程式碼
112M:唯讀記憶體
114:控制邏輯電路
116:隨機存取記憶體
118:傳輸介面電路
120:快閃記憶體模組
122-1,122-2,122-N:快閃記憶體晶片
132:編碼器
134:解碼器
136:隨機化器
138:去隨機化器
300,302,304,306,308,
310,312,314,600,602
604,606,608,610,612
614,616,618,620:步驟
410_1~410_M:分組
510:有效資料頁表
520:分組最少有效資料頁陣列
720_1~720_P:分組
M(1,1,1),M(2,1,1),M(Nx,1,1),M(1,2,1),M(Nx,2,1),M(1,Ny,1),M(Nx,Ny,1),M(1,1,2),M(2,1,2),M(Nx,1,2),M(1,2,2),M(Nx,2,2),M(1,Ny,2),M(Nx,Ny,2),M(1,1,Nz),M(Nx,1,Nz),M(1,2,Nz),M(Nx,2,Nz),M(1,Ny,Nz),M(Nx,Ny,Nz),M(nx,ny,nz):記憶體單元
MBLS(1,1),MBLS(Nx,1),MBLS(1,2),MBLS(Nx,2),
MBLS(1,Ny),MBLS(Nx,Ny):上方選擇電路
MSLS(1,1),MSLS(Nx,1),MSLS(1,2),MSLS(Nx,2),MSLS(1,Ny),MSLS(Nx,Ny):下方選擇電路
BL(1),BL(Nx):位元線
WL(1,1),WL(2,1),WL(Ny,1),WL(1,2),WL(2,2),WL(Ny,2),WL(1,Nz),WL(2,Nz),WL(Ny,Nz):字元線
BLS(1),BLS(2),BLS(Ny):上方選擇線
SLS(1),SLS(2),SLS(Ny):下方選擇線
SL(1),SL(2),SL(Ny):源極線
PS2D(1),PS2D(2),PS2D(Ny):電路模組
S(1,1),S(Nx,1),S(1,2),S(Nx,2),S(1,Ny),S(Nx,Ny):次要電路模組
B_1~B_N,B_(N+1)-B_2N,B_(2N+1)~B_(3N),B_((M-1×N+1))~B_(M×N):區塊
第1圖是依據本發明一實施例的一電子裝置的示意圖。
第2圖是依據本發明一實施例的一三維NAND型快閃記憶體的示意圖。
第3圖是一種用來管理該快閃記憶體模組的方法的流程圖。
第4圖是顯示依據本發明一實施例的分組。
第5圖是顯示依據本發明一實施例的一有效資料頁表和一組最少有效頁陣列。
第6圖是依據本發明另一實施例的用來管理該快閃記憶體模組的方法的流程圖。
第7圖顯示依據本發明一實施例的不同類型的區塊被分組。
請參考第1圖,第1圖是本發明一實施例的一電子裝置10的示意圖,其中電子裝置10可包含一主機裝置(host device)50以及一記憶體裝置(memory device)100。主機裝置50可包含至少一處理器(例如一個或多個處理器),可被統稱為處理器52,且可進一步包含耦接至處理器52的一電源供應電路54,處理器52可用以控制主機裝置50的運作,而電源供應電路54可用來提供電源給處理器52與記憶體裝置100,並且輸出一個或多個驅動電壓至記憶體裝置100,記憶體裝置100可用以提供儲存空間給主機裝置50,並且從主機裝置50取得該一個或多個驅動電壓作為記憶體裝置100的電源。主機裝置50的例子可包含(但不限於):多功能行動電話(multifunctional mobile phone)、穿戴裝置、平板電腦(tablet)以及個人電腦(personal computer)諸如桌上型電腦及筆記型電腦。記憶體裝置100的例子可包含(但不限於):固態硬碟(solid state drive,SSD)以及各種型式的嵌入式(embedded)記憶體裝置,例如符合快捷外設組件互聯(Peripheral Component Interconnect Express,PCIe)標準的嵌入式記憶體裝置等等。依據本實施例,記憶體裝置100可
包含一快閃記憶體控制器(flash memory controller)110,且可另包含一快閃記憶體模組(flash memory module)120,其中快閃記憶體控制器110可用以控制記憶體裝置100的運作以及存取快閃記憶體模組120,以及快閃記憶體模組120係用以儲存資訊。快閃記憶體模組120可包含至少一快閃記憶體晶片,例如複數個快閃記憶體晶片122-1、122-2、…、122-N,其中「N」可表示大於1之正整數。
如第1圖所示,快閃記憶體控制器110可包含一處理電路(例如一微處理器112)、一儲存單元(例如一唯讀記憶體(read-only memory,ROM)112M)、一控制邏輯電路114、一隨機存取記憶體(random access memory,RAM)116以及一傳輸介面電路118,其中上述元件可經由一匯流排(bus)彼此耦接。隨機存取記憶體116係以一靜態隨機存取記憶體(Static RAM,SRAM)來實施,但本發明不限於此。隨機存取記憶體116可用以提供內部儲存空間給快閃記憶體控制器110,舉例來說,隨機存取記憶體116可用來作為一緩衝記憶體以緩衝資料。另外,本實施例的唯讀記憶體112M可用以儲存一程式碼112C,且微處理器112可用以執行程式碼112C以控制快閃記憶體模組120的存取。請注意,在某些例子中,程式碼112C可儲存在隨機存取記憶體116或任何型式的記憶體內。此外,控制邏輯電路114可用以控制快閃記憶體模組120,且控制邏輯電路114可包含一編碼器132、一解碼器134、一隨機化器(randomizer)136、一去隨機化器(de-randomizer)138以及其他電路。傳輸介面電路118可符合一特定通信標準(諸如串列高級技術附件(Serial Advanced Technology Attachment,SATA)標準、外設組件互聯(Peripheral Component Interconnect,PCI)標準、快捷外設組件互聯標準、通用快閃儲存(Universal Flash Storage,UFS)標準等等),且可依據該特定通訊標準進行通訊,舉例來說,可以為了記憶體裝置100而和主機裝置50進行通訊,其中主機裝置50可包含符合該特定通訊標準之對應的傳輸介面電路,來和記憶體裝置100進行通訊。
在本實施例中,主機裝置50可將主機指令(host command)與對應的邏輯位址(logical address)傳送至快閃記憶體控制器110以存取記憶體裝置100,快閃記憶體控制器110接收主機指令及邏輯位址,並將主機指令轉換成記憶體操作指令(可簡稱為操作指令),並進一步以操作指令控制快閃記憶體模組120來對快閃記憶體模組120當中某些實體位址之記憶體單元(例如資料分頁)進行讀取、寫入(write)/編程(program)等操作,其中實體位址對應於邏輯位址。當快閃記憶體控制器110對複數個快閃記憶體晶片122-1、122-2、…以及122-N中的任一快閃記憶體晶片122-n進行一抹除(erase)運作時(其中,「n」可以表示在區間[1,N]中的任一整數),快閃記憶體晶片122-n的多個區塊(block)中的至少一區塊可被抹除,其中,該多個區塊中的每一區塊可包含多個分頁(例如資料分頁),且一存取運作(例如讀取或寫入)可對一或多個分頁進行。
第2圖是依據本發明一實施例的一三維(three-dimensional,3D)NAND型快閃記憶體的示意圖,舉例來說,前述的快閃記憶體晶片122-1、122-2、…以及122-N中的至少一者中的任一記憶體元件可基於第2圖所示的該三維NAND快閃記憶體來實施,但本發明不限於此。
依據本實施例,該三維NAND型快閃記憶體可包含以一三維架構排列的複數個記憶體單元,諸如分別被排列於垂直Z軸的Nz層並且對齊分別對應於X軸、Y軸及Z軸的三個方向的(Nx * Ny * Nz)個記憶體單元{{M(1,1,1),…,M(Nx,1,1)},{M(1,2,1),…,M(Nx,2,1)},…,{M(1,Ny,1),…,M(Nx,Ny,1)}}、{{M(1,1,2),…,M(Nx,1,2)},{M(1,2,2),…,M(Nx,2,2)},…,{M(1,Ny,2),…,M(Nx,Ny,2)}}、…、以及{{M(1,1,Nz),…,M(Nx,1,Nz)},{M(1,2,Nz),…,M(Nx,2,Nz)},…,
{M(1,Ny,Nz),…,M(Nx,Ny,Nz)}},且可另包含用於進行選擇控制的複數個選擇電路(selector circuit),諸如被排列於該Nz層上面的一上方層(upper layer)的(Nx * Ny)個上方選擇電路{MBLS(1,1),…,MBLS(Nx,1)}、{MBLS(1,2),…,MBLS(Nx,2)}、…及{MBLS(1,Ny),…,MBLS(Nx,Ny)}、以及被排列於該Nz層下面的一下方層(lower layer)的(Nx * Ny)個下方選擇電路{MSLS(1,1),…,MSLS(Nx,1)}、{MSLS(1,2),…,MSLS(Nx,2)}、…及{MSLS(1,Ny),…,MSLS(Nx,Ny)}。另外,該三維NAND型快閃記憶體可包含用於存取控制的複數條位元線(bit line)以及複數條字元線(word line),諸如被排列於該上方層上面的一頂部層(top layer)的Nx條位元線BL(1)、…及BL(Nx)、以及分別被排列於該Nz層的(Ny * Nz)條字元線{WL(1,1),WL(2,1),…,WL(Ny,1)}、{WL(1,2),WL(2,2),…,WL(Ny,2)}、…及{WL(1,Nz),WL(2,Nz),…,WL(Ny,Nz)}。此外,該三維NAND型快閃記憶體可包含用於進行選取控制的複數條選擇線(selection line),諸如被排列於該上方層的Ny條上方選擇線BLS(1)、BLS(2)、…及BLS(Ny)、以及被排列於該下方層的Ny條下方選擇線SLS(1)、SLS(2)、…及SLS(Ny),且可另包含用於提供多個參考位準的複數條源極線(source line),諸如被排列於該下方層下面的一底部層(bottom layer)的Ny個源極線SL(1)、SL(2)、…及SL(Ny)。
如第2圖所示,該三維NAND型快閃記憶體可被區分成沿著Y軸分佈的Ny個電路模組PS2D(1)、PS2D(2)、…及PS2D(Ny)。為便於理解,電路模組PS2D(1)、PS2D(2)、…及PS2D(Ny)可具有與一平面(planar)NAND快閃記憶體(其記憶體單元被排列於一單一層)類似的某些電氣特徵,因此可分別被視為多個虛擬二維(pseudo-2D)電路模組,但本發明不限於此。另外,電路模組PS2D(1)、PS2D(2)、…及PS2D(Ny)中的任一電路模組PS2D(ny)可包含Nx個次要(secondary)電路模組S(1,ny)、…及S(Nx,ny),其中「ny」可表示區間[1,Ny]中之任一整數。
例如,電路模組PS2D(1)可包含Nx個次要電路模組S(1,1)、…及S(Nx,1),電路模組PS2D(2)可包含Nx個次要電路模組S(1,2)、…及S(Nx,2),…,以及電路模組PS2D(Ny)可包含Nx個次要電路模組S(1,Ny)、…及S(Nx,Ny)。在電路模組PS2D(ny)中,次要電路模組S(1,ny)、…及S(Nx,ny)中的任一個次要電路模組S(nx,ny)可包含Nz個記憶體單元M(nx,ny,1)、M(nx,ny,2)、…及M(nx,ny,Nz),且可包含對應於記憶體單元M(nx,ny,1)、M(nx,ny,2)、…及M(nx,ny,Nz)的一組選擇電路,諸如上方選擇電路MBLS(nx,ny)以及下方選擇電路MSLS(nx,ny),其中「nx」可表示區間[1,Nx]中之任一整數。上方選擇電路MBLS(nx,ny)、下方選擇電路MSLS(nx,ny)以及記憶體單元M(nx,ny,1)、M(nx,ny,2)、…及M(nx,ny,Nz)可由電晶體來實施,例如,上方選擇電路以及下方選擇電路MSLS(nx,ny)可由不具有任何浮動閘極(floating gate)的普通電晶體來實施,而記憶體單元M(nx,ny,1)、M(nx,ny,2)、…及M(nx,ny,Nz)中之任一記憶體單元M(nx,ny,nz)可由一浮動閘極電晶體來實施,其中「nz」可表示區間[1,Nz]中之任一整數,但本發明不限於此。此外,在電路模組PS2D(ny)中的上方選擇電路MBLS(1,ny)、…及MBLS(Nx,ny)可依據對應的選擇線BLS(ny)上的選擇訊號來進行選擇,而在電路模組PS2D(ny)中的下方選擇電路MSLS(1,ny)、…及MSLS(Nx,ny)可依據對應的選擇線SLS(ny)上的選擇訊號來進行選擇。
在快閃記憶體模組120中,當快閃記憶體晶片122-1~122-N中任一者的區塊作為單階儲存單元(single-level cell,SLC)區塊時,該區塊內的每一實體分頁對應於一邏輯分頁,亦即該分頁的每個記憶體單元僅用以儲存一位元,其中一實體分頁可包含由一字元線所控制的多個電晶體(例如對應至字元線WL(1,Nz)的記憶體單元M(1,1,Nz)~M(Nx,1,Nz)形成一實體分頁)。當快閃記憶體晶片122-1~122-N中任一者的區塊作為多階儲存單元(multiple-level cell,MLC)區塊
時,該區塊內的每一實體分頁對應於二個邏輯分頁,亦即該分頁的每個記憶體單元用以儲存二個位元。當快閃記憶體晶片122-1~122-N中任一者的區塊作為三階儲存單元(triple-level cell,TLC)區塊時,該區塊內的每一實體分頁對應於三個邏輯分頁,亦即該分頁的每個記憶體單元用以儲存三個位元。當快閃記憶體晶片122-1~122-N中任一者的區塊作為四階儲存單元(quad-level cell,QLC)區塊時,該區塊內的每一實體分頁對應於四個邏輯分頁,亦即該分頁的每個記憶體單元用以儲存四個位元。
第3圖是一種用來管理快閃記憶體模組120的方法的流程圖。在步驟300中,流程開始,並且快閃記憶體控制器110和快閃記憶體模組120從電源關閉狀態啟動電源。在步驟302中,快閃記憶體控制器110的微處理器112開始建立一分組最少有效資料頁陣列(group minimum valid page array)。具體來說,快閃記憶體模組120內的區塊被分為數個分組,並且每一分組包括許多區塊。第4圖顯示依據本發明一實施例的多個分組410_1~410_M,其中分組410_1包含區塊B_1~B_N,分組410_2包含區塊B_(N+1)~B_2 * N,分組410_3包含區塊B_(2*N+1)~3 * N,…,以及分組410_M包含區塊B_((M-1 * N+1))~B_(M * N)。在一實施例中,假設需要分組的區塊個數為A,則將這些區區塊劃分為個分組,其中如果不是整數,則分組的個數是大於的一最小整數;且一分組內的區塊個數為,其中如果不是整數,則一分組內的區塊個數為小於的最大整數。
在分組方法的一第一實施例中,每個分組具有相同個數的區塊,並且剩餘的區塊不被分組。舉例來說,如果有一千個區塊,則可以設置三十二個分組,每個分組包括三十一個區塊,其餘的八個區塊不被分組。在分組方法的第二實施例中,不同分組之間可以具有不同個數的區塊。
請參考第5圖,微處理器112建立一有效資料頁表510,其中,有效資料頁表510記錄多個區塊索引和有效資料頁的相對應個數,舉例來說,區塊B_1內的有效資料頁個數為C_1,B_2區塊中有效資料頁個數為C_2,區塊B_3中的有效資料頁個數是C_3,依此類推。值得注意的是,區塊B_1至區塊B_(M * N)中某些區塊是空白的,因此有效資料頁表510僅記錄其中有儲存資料的區塊。如果在快閃記憶體模組120上執行寫入操作,例如,如果新資料被寫入區塊B_2並且新資料用於更新儲存在區塊B_1中的原始資料(例如,新資料和原始資料具有相同的邏輯地址),則可以藉由增加個數C_2和減少個數C_1來更新有效資料頁表510。另外,有效資料頁表510可以儲存在RAM 116或一外部動態隨機存取儲存器(dynamic random access memory,DRAM)中。
依據分組410_1~410_M和有效資料頁表510,微處理器112建立分組最少有效資料頁陣列520。具體來說,分組最少有效資料頁陣列520記錄區塊之間的分組索引(group index)和對應的最少有效資料頁。詳細來說,微處理器112參考有效資料頁表510以獲得分別與分組410_1內的區塊B_1~B_N相對應的有效資料頁個數C_1~C_N,且微處理器112選擇個數C_1~C_N中的最小值作為記錄在分組最少有效資料頁陣列520中的最少有效資料頁C_G1。舉例來說,如果C_1、C_2、C_3、…C_N分別為64、40、90,…,80,則可以選擇個數C_2,並且分組最少有效資料頁陣列520將個數C_2記錄為與分組410_1相對應的最少有效資料頁C_G1。類似地,微處理器112參考有效資料頁表510以獲得分別與分組410_2內的區塊B_(N+1)-B_2 * N相對應的有效資料頁個數C_(N+1)-C_2 * N,微處理器112選擇個數C_(N+1)~C_2 * N的最小值作為記錄在分組最少有效資料頁陣列520中的最少有效資料頁C_G2。另外,分組最少有效資料頁陣列520可以儲存在RAM
116或DRAM中。
在步驟304中,微處理器112判斷是否更新了有效資料頁表510以及是否改變了至少一個區塊的有效資料頁個數,若是,則流程進入步驟306;若否,則流程進入步驟312。如果在快閃記憶體模組120上執行寫入操作,則可以更新有效資料頁表510,並且可以增加一或多個區塊的有效資料頁的個數,及/或可以減少一或多個區塊的有效資料頁的個數。
在步驟306中,微處理器112判斷出具有有效資料頁個數已改變的區塊的分組,並且微處理器112參考分組最少有效資料頁陣列520,以得到與所判斷的分組相對應的最少有效資料頁。舉例來說,如果對應於區塊B_3的個數C_3被改變,則微處理器112從分組最少有效資料頁陣列520得到個數C_G1。
在步驟308中,微處理器112確定步驟304改變後的有效資料頁個數是否小於在步驟306中獲得的最少有效資料頁個數,若是,則進入步驟310;若否,則流程進入步驟304。
在步驟310中,微處理器120藉由使用步驟304改變後的有效資料頁個數來更新分組最少有效資料頁陣列520。例如,如果個數C_G1等於具有值「40」的個數C_3,並且在步驟304中將個數C_2更新為「38」,則微處理器112藉由使用個數C_2來更新個數C_G1。
在步驟312中,判斷快閃記憶體微處理器112是否從主機裝置50接收到一關機(shutdown)通知,若是,則進入步驟314,使快閃記憶體控制器110和快閃
記憶體模組120關閉電源;若否,則流程進入步驟304。
第6圖是依據本發明另一實施例的用來管理快閃記憶體模組120的方法的流程圖。在步驟600中,流程開始,並且分組最少有效資料頁陣列520已經被儲存在RAM 116或外部DRAM中。在步驟602中,微處理器112參考分組最少有效資料頁陣列520以選擇第一個分組。以第4圖為例,選擇分組410_1,而最少有效資料頁C_G1作為總體(global)最少有效資料頁。在步驟604中,微處理器112判斷當前分組是否為記錄在分組最少有效資料頁陣列520中的最後一個分組,若是,則進入步驟612;若否,則流程進入步驟606。在步驟606中,微處理器112選擇下一個分組並獲得當前分組的最少有效資料頁,此時,選擇分組410_2,進而獲得最少有效資料頁C_G2。在步驟608中,微處理器112判斷在步驟608中獲得的最少有效資料頁是否小於總體最少有效資料頁,若是,則進入步驟610;若否,則流程進入步驟604。在步驟610中,微處理器112藉由使用在步驟606中獲得的最少有效資料頁來更新總體最少有效資料頁。例如,如果總體最少有效資料頁是最少有效資料頁C_G1,並且最少有效資料頁C_G2小於最少有效資料頁C_G1,則總體最少有效資料頁變為最少有效資料頁C_G2。
在步驟612中,微處理器112依序搜尋具有總體最少有效資料頁的分組內的區塊。在步驟614中,微處理器112判斷當前區塊是否為最後一個區塊,若是,則進入步驟618;若否,則流程進入步驟616。在步驟616中,微處理器112參考有效資料頁表510以得到當前區塊的有效資料頁,且微處理器112判斷當前區塊的有效資料頁是否等於總體最少有效資料頁,若是,流程進入步驟618;若否,則流程進入步驟614。在步驟618中,微處理器618選擇具有總體最少有效資料頁的區塊,並且微處理器618將該區塊加到一垃圾收集佇列(garbage collection queue)
中,其中,該垃圾收集佇列中記錄的區塊將進行一垃圾收集操作,以將有效資料移動到其他區塊中。在步驟620,流程結束。
在第3圖和第6圖所示的實施例中,藉由建立分組最少有效資料頁陣列520並使用分組最少有效資料頁陣列520搜尋具有最少有效資料頁的區塊,微處理器112僅藉由搜尋或掃描一分組內的區塊而無需搜尋屬於其他分組的區塊,就可以簡單地獲得具有最少有效資料頁的區塊。因此,搜索時間變短且可以不會使系統效率降低。
在本發明的一個實施例中,如第4圖和第5圖所示,需要將快閃記憶體模組120中的所有區塊都予以分組在分組最少有效資料頁陣列520中,即不論是SLC區塊、MLC區塊、TLC區塊、QLC區塊、資料區塊或備用區塊,需要將其予以分組在單一個分組最少有效資料頁陣列520中。在另一實施例中,依據區塊的類型來建立兩個或更多個分組最少有效資料頁陣列。以第7圖為例,快閃記憶體模組120有諸如SLC區塊和TLC區塊等不同類型的區塊,該TLC區塊被分組為多個分組710_1至710_K,並且每一分組包含複數個TLC區塊,其中,可依據TLC區塊的有效資料頁個數,建立如第5圖所示的分組最少有效資料頁陣列520相似的第一分組最少有效資料頁陣列。另外,SLC區塊被分組為多個分組720_1至720_P,且每一分組包含複數個SLC區塊,其中,依據所述SLC區塊的有效資料頁個數,建立如第5圖所示的分組最少有效資料頁陣列520相似的第二分組最少有效資料頁陣列。在本實施例中,分別執行針對TLC區塊和SLC區塊的垃圾收集操作,即微處理器112依據上述第一分組最少有效資料頁陣列判斷具有最少有效資料頁的TLC區塊,且微處理器112依據上述第二分組最少有效資料頁陣列判斷具有最少有效資料頁的SLC區塊。
在另一實施例中,只有快閃記憶體模組120中的一部分區塊被分組,而其他區塊未被分組。以第7圖為例,快閃記憶體模組120具有諸如SLC區塊和TLC區塊等不同類型的區塊,並且僅將TLC區塊分組以產生分組最少有效資料頁陣列,而不對SLC區塊進行分組,即分組最少有效資料頁陣列不包含SLC區塊的信息。
以上所述僅為本發明之較佳實施例,凡依本發明申請專利範圍所做之均等變化與修飾,皆應屬本發明之涵蓋範圍。
10:電子裝置
50:主機裝置
52:處理器
54:電源供應電路
100:記憶體裝置
110:記憶體控制器
112:微處理器
112C:程式碼
112M:唯讀記憶體
114:控制邏輯電路
132:編碼器
134:解碼器
136:隨機化器
138:去隨機化器
116:隨機存取記憶體
118:傳輸介面電路
120:快閃記憶體模組
122-1,122-2,122-N:快閃記憶體晶片
Claims (15)
- 一種用以管理一快閃記憶體模組的方法,包含:將該快閃記憶體模組中的複數個區塊分為複數個分組,其中每一分組中包含至少二區塊;建立一有效資料頁表,其中該有效資料頁表分別記錄該複數個區塊的索引以及每一個區塊之有效資料頁個數;依據該有效資料頁表建立一分組最少有效資料頁陣列,其中該分組最少有效資料頁陣列分別記錄分組索引以及對應的最少有效資料頁個數,以及每一分組之最少有效資料頁個數是藉由在該分組中每一個區塊的有效資料頁個數中選擇一最小值所得到;參考該分組最少有效資料頁陣列以選擇具有一總體最少有效資料頁個數的一目標分組,其中該總體最少有效資料頁個數是藉由在該複數個分組中每一個分組的最少有效資料頁個數中選擇一最小值所得到;搜尋該目標分組中的該至少二區塊,而不搜尋其他分組中的區塊,以判斷具有該總體最少有效資料頁的一目標區塊;以及將該目標區塊加到一垃圾收集佇列。
- 如申請專利範圍第1項所述之方法,其中該快閃記憶體模組包含一第一類型的多個區塊以及一第二類型的多個區塊,並且被分組的該複數個區塊僅包含該第一類型的區塊,而不包含該第二類型的區塊。
- 如申請專利範圍第4項所述之方法,其中該第一類型的區塊是三階儲存單元(triple-level cell,TLC)的區塊或四階儲存單元(quad-level cell,QLC)的區塊,而該第二類型的區塊是單階儲存單元(single-level cell,SLC)的區塊。
- 一種快閃記憶體控制器,其中該快閃記憶體控制器耦接至一快閃記憶體模組,以及該快閃記憶體控制器包含:一記憶體,用來儲存一程式碼;以及一微處理器,用來執行該程式碼以存取該快閃記憶體模組;其中該微處理器將該快閃記憶體模組中的複數個區塊分為複數個分組,其中每一分組中包含至少二區塊;該微處理器建立一有效資料頁表,其中該有效資料頁表分別記錄該複數個區塊的索引以及每一個區塊之有效資料頁個數;該微處理器依據該有效資料頁表建立一分組最少有效資料頁陣列,其中該分組最少有效資料頁陣列分別記錄分組索引以及對應的最少有效資料頁個數,以及每一分組之最少有效資料頁個數是藉由在該分組中每一個區塊的有效資料頁個數中選擇一最小值所得到;該微處理器參考該分組最少有效資料頁陣列以選擇具有一總體最少有效資料頁個數的一目標分組,其中該總體最少有效資料頁個數是藉由在該複數個分組中每一個分組的最少有效資料頁個數中選擇一最小值所得到;該微處 理器搜尋該目標分組中的該至少二區塊,而不搜尋其他分組中的區塊,以判斷具有該總體最少有效資料頁的一目標區塊;以及該微處理器將該目標區塊加到一垃圾收集佇列。
- 如申請專利範圍第6項所述之快閃記憶體控制器,其中該快閃記憶體模組包含一第一類型的多個區塊以及一第二類型的多個區塊,並且被分組的該複數個區塊僅包含該第一類型的區塊,而不包含該第二類型的區塊。
- 如申請專利範圍第9項所述之快閃記憶體控制器,其中該第一類型的區塊是三階儲存單元(triple-level cell,TLC)的區塊或四階儲存單元(quad-level cell,QLC)的區塊,而該第二類型的區塊是單階儲存單元(single-level cell,SLC)的區塊。
- 一種電子裝置,包含:一快閃記憶體模組;以及一快閃記憶體控制器,用以存取該快閃記憶體模組; 其中該快閃記憶體控制器將該快閃記憶體模組中的複數個區塊分為複數個分組,其中每一分組中包含至少二區塊;該快閃記憶體控制器建立一有效資料頁表,其中該有效資料頁表分別記錄該複數個區塊的索引以及每一個區塊之有效資料頁個數;該快閃記憶體控制器依據該有效資料頁表建立一分組最少有效資料頁陣列,其中該分組最少有效資料頁陣列分別記錄分組索引以及對應的最少有效資料頁個數,以及每一分組之最少有效資料頁個數是藉由在該分組中每一個區塊的有效資料頁個數中選擇一最小值所得到;該快閃記憶體控制器參考該分組最少有效資料頁陣列以選擇具有一總體最少有效資料頁個數的一目標分組,其中,該總體最少有效資料頁個數是藉由在該複數個分組中每一個分組的最少有效資料頁個數中選擇一最小值所得到;該快閃記憶體控制器搜尋該目標分組中的該至少二區塊,而不搜尋其他分組中的區塊,以判斷具有該總體最少有效資料頁的一目標區塊;以及該快閃記憶體控制器將該目標區塊加到一垃圾收集佇列。
- 如申請專利範圍第11項所述之電子裝置,其中該快閃記憶體模組 包含一第一類型的多個區塊以及一第二類型的多個區塊,並且被分組的該複數個區塊僅包含該第一類型的區塊,而不包含該第二類型的區塊。
- 如申請專利範圍第14項所述之電子裝置,其中該第一類型的區塊是三階儲存單元(triple-level cell,TLC)的區塊或四階儲存單元(quad-level cell,QLC)的區塊,而該第二類型的區塊是單階儲存單元(single-level cell,SLC)的區塊。
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US17/149,700 | 2021-01-14 | ||
US17/149,700 US20220222008A1 (en) | 2021-01-14 | 2021-01-14 | Method for managing flash memory module and associated flash memory controller and memory device |
Publications (2)
Publication Number | Publication Date |
---|---|
TW202227980A TW202227980A (zh) | 2022-07-16 |
TWI780697B true TWI780697B (zh) | 2022-10-11 |
Family
ID=82321835
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
TW110116690A TWI780697B (zh) | 2021-01-14 | 2021-05-10 | 用以管理快閃記憶體模組的方法、快閃記憶體控制器與電子裝置 |
Country Status (3)
Country | Link |
---|---|
US (1) | US20220222008A1 (zh) |
CN (1) | CN114764306A (zh) |
TW (1) | TWI780697B (zh) |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
TW201907311A (zh) * | 2017-07-07 | 2019-02-16 | 群聯電子股份有限公司 | 記憶體管理方法、記憶體控制電路單元與記憶體儲存裝置 |
TW201926046A (zh) * | 2017-12-05 | 2019-07-01 | 慧榮科技股份有限公司 | 存取快閃記憶體模組的方法及相關的快閃記憶體控制器與電子裝置 |
TW202008167A (zh) * | 2018-08-01 | 2020-02-16 | 大陸商深圳大心電子科技有限公司 | 記憶體管理方法以及儲存控制器 |
TW202028987A (zh) * | 2018-09-03 | 2020-08-01 | 大陸商合肥沛睿微電子股份有限公司 | 快閃記憶體控制器及相關控制方法 |
TW202032563A (zh) * | 2019-02-26 | 2020-09-01 | 慧榮科技股份有限公司 | 資料儲存裝置以及非揮發式記憶體控制方法 |
Family Cites Families (45)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7984084B2 (en) * | 2005-08-03 | 2011-07-19 | SanDisk Technologies, Inc. | Non-volatile memory with scheduled reclaim operations |
US7464216B2 (en) * | 2006-09-29 | 2008-12-09 | Sandisk Corporation | Method for phased garbage collection with state indicators |
JP4912174B2 (ja) * | 2007-02-07 | 2012-04-11 | 株式会社日立製作所 | ストレージシステム及び記憶管理方法 |
US8285918B2 (en) * | 2009-12-11 | 2012-10-09 | Nimble Storage, Inc. | Flash memory cache for data storage device |
US8443263B2 (en) * | 2009-12-30 | 2013-05-14 | Sandisk Technologies Inc. | Method and controller for performing a copy-back operation |
US9244833B2 (en) * | 2012-05-30 | 2016-01-26 | Silicon Motion, Inc. | Data-storage device and flash memory control method |
US9734911B2 (en) * | 2012-12-31 | 2017-08-15 | Sandisk Technologies Llc | Method and system for asynchronous die operations in a non-volatile memory |
US9734050B2 (en) * | 2012-12-31 | 2017-08-15 | Sandisk Technologies Llc | Method and system for managing background operations in a multi-layer memory |
US9348746B2 (en) * | 2012-12-31 | 2016-05-24 | Sandisk Technologies | Method and system for managing block reclaim operations in a multi-layer memory |
US9465731B2 (en) * | 2012-12-31 | 2016-10-11 | Sandisk Technologies Llc | Multi-layer non-volatile memory system having multiple partitions in a layer |
US9336133B2 (en) * | 2012-12-31 | 2016-05-10 | Sandisk Technologies Inc. | Method and system for managing program cycles including maintenance programming operations in a multi-layer memory |
US8873284B2 (en) * | 2012-12-31 | 2014-10-28 | Sandisk Technologies Inc. | Method and system for program scheduling in a multi-layer memory |
US9223693B2 (en) * | 2012-12-31 | 2015-12-29 | Sandisk Technologies Inc. | Memory system having an unequal number of memory die on different control channels |
US9652376B2 (en) * | 2013-01-28 | 2017-05-16 | Radian Memory Systems, Inc. | Cooperative flash memory control |
KR102053865B1 (ko) * | 2013-03-15 | 2019-12-09 | 삼성전자주식회사 | 호스트-주도 가비지 컬렉션 방법과 상기 방법을 수행할 수 있는 시스템 |
US20140325148A1 (en) * | 2013-04-29 | 2014-10-30 | Sang Hoon Choi | Data storage devices which supply host with data processing latency information, and related data processing methods |
TWI512467B (zh) * | 2014-09-02 | 2015-12-11 | Silicon Motion Inc | 實體儲存對照表維護方法以及使用該方法的裝置 |
TWI545433B (zh) * | 2015-03-04 | 2016-08-11 | 慧榮科技股份有限公司 | 實體儲存對照表維護方法以及使用該方法的裝置 |
EP3350703A1 (en) * | 2015-10-19 | 2018-07-25 | Huawei Technologies Co., Ltd. | Method and device for determination of garbage collector thread number and activity management in log-structured file systems |
US10133490B2 (en) * | 2015-10-30 | 2018-11-20 | Sandisk Technologies Llc | System and method for managing extended maintenance scheduling in a non-volatile memory |
US9778855B2 (en) * | 2015-10-30 | 2017-10-03 | Sandisk Technologies Llc | System and method for precision interleaving of data writes in a non-volatile memory |
US10120613B2 (en) * | 2015-10-30 | 2018-11-06 | Sandisk Technologies Llc | System and method for rescheduling host and maintenance operations in a non-volatile memory |
KR102625637B1 (ko) * | 2016-02-01 | 2024-01-17 | 에스케이하이닉스 주식회사 | 데이터 저장 장치 및 그것의 동작 방법 |
US9910772B2 (en) * | 2016-04-27 | 2018-03-06 | Silicon Motion Inc. | Flash memory apparatus and storage management method for flash memory |
US10019314B2 (en) * | 2016-04-27 | 2018-07-10 | Silicon Motion Inc. | Flash memory apparatus and storage management method for flash memory |
US10025662B2 (en) * | 2016-04-27 | 2018-07-17 | Silicon Motion Inc. | Flash memory apparatus and storage management method for flash memory |
CN107391026B (zh) * | 2016-04-27 | 2020-06-02 | 慧荣科技股份有限公司 | 闪存装置及闪存存储管理方法 |
US9830098B1 (en) * | 2016-07-11 | 2017-11-28 | Silicon Motion, Inc. | Method of wear leveling for data storage device |
US10430279B1 (en) * | 2017-02-27 | 2019-10-01 | Tintri By Ddn, Inc. | Dynamic raid expansion |
US10503412B2 (en) * | 2017-05-24 | 2019-12-10 | Western Digital Technologies, Inc. | Priority-based internal data movement |
JP7030463B2 (ja) * | 2017-09-22 | 2022-03-07 | キオクシア株式会社 | メモリシステム |
TWI653538B (zh) * | 2017-11-13 | 2019-03-11 | 慧榮科技股份有限公司 | 資料儲存裝置與記憶體裝置之資料處理方法 |
KR102567140B1 (ko) * | 2017-11-24 | 2023-08-16 | 삼성전자주식회사 | 데이터 관리 방법 및 이를 수행하는 저장 장치 |
TWI645404B (zh) * | 2017-12-28 | 2018-12-21 | 慧榮科技股份有限公司 | 資料儲存裝置以及非揮發式記憶體操作方法 |
JP2019168937A (ja) * | 2018-03-23 | 2019-10-03 | 東芝メモリ株式会社 | メモリシステム、制御方法及びコントローラ |
US10936199B2 (en) * | 2018-07-17 | 2021-03-02 | Silicon Motion, Inc. | Flash controllers, methods, and corresponding storage devices capable of rapidly/fast generating or updating contents of valid page count table |
US10884662B2 (en) * | 2018-08-06 | 2021-01-05 | Silicon Motion, Inc. | Method for performing storage control in a storage server, associated memory device and memory controller thereof, and associated storage server |
KR102585883B1 (ko) * | 2018-09-18 | 2023-10-10 | 에스케이하이닉스 주식회사 | 메모리 시스템의 동작 방법 및 메모리 시스템 |
US10983715B2 (en) * | 2018-09-19 | 2021-04-20 | Western Digital Technologies, Inc. | Expandable memory for use with solid state systems and devices |
US10831388B2 (en) * | 2019-02-15 | 2020-11-10 | International Business Machines Corporation | Selective data destruction via a sanitizing wipe command |
US10891065B2 (en) * | 2019-04-01 | 2021-01-12 | Alibaba Group Holding Limited | Method and system for online conversion of bad blocks for improvement of performance and longevity in a solid state drive |
US10929054B2 (en) * | 2019-06-06 | 2021-02-23 | International Business Machines Corporation | Scalable garbage collection |
US11232070B2 (en) * | 2019-06-24 | 2022-01-25 | Western Digital Technologies, Inc. | Metadata compaction in a distributed storage system |
US11620215B2 (en) * | 2019-06-26 | 2023-04-04 | International Business Machines Corporation | Multi-threaded pause-less replicating garbage collection |
CN112286721A (zh) * | 2019-07-23 | 2021-01-29 | 慧荣科技股份有限公司 | 瞬间断电回复处理方法及计算机可读取存储介质以及装置 |
-
2021
- 2021-01-14 US US17/149,700 patent/US20220222008A1/en not_active Abandoned
- 2021-05-10 TW TW110116690A patent/TWI780697B/zh active
- 2021-05-12 CN CN202110516366.4A patent/CN114764306A/zh active Pending
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
TW201907311A (zh) * | 2017-07-07 | 2019-02-16 | 群聯電子股份有限公司 | 記憶體管理方法、記憶體控制電路單元與記憶體儲存裝置 |
TW201926046A (zh) * | 2017-12-05 | 2019-07-01 | 慧榮科技股份有限公司 | 存取快閃記憶體模組的方法及相關的快閃記憶體控制器與電子裝置 |
TW202008167A (zh) * | 2018-08-01 | 2020-02-16 | 大陸商深圳大心電子科技有限公司 | 記憶體管理方法以及儲存控制器 |
TW202028987A (zh) * | 2018-09-03 | 2020-08-01 | 大陸商合肥沛睿微電子股份有限公司 | 快閃記憶體控制器及相關控制方法 |
TW202032563A (zh) * | 2019-02-26 | 2020-09-01 | 慧榮科技股份有限公司 | 資料儲存裝置以及非揮發式記憶體控制方法 |
Also Published As
Publication number | Publication date |
---|---|
TW202227980A (zh) | 2022-07-16 |
US20220222008A1 (en) | 2022-07-14 |
CN114764306A (zh) | 2022-07-19 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN111352581B (zh) | 在存储设备中写入数据的方法、存储设备、和存储系统 | |
CN110083545B (zh) | 数据存储装置及其操作方法 | |
US20120005451A1 (en) | Data storage device and bad block managing method thereof | |
KR102503177B1 (ko) | 메모리 시스템 및 그것의 동작 방법 | |
US10860231B2 (en) | Memory system for adjusting map segment based on pattern and operating method thereof | |
CN110928805B (zh) | 存储器系统及其操作方法 | |
KR20210115954A (ko) | 컨트롤러 및 메모리 시스템 | |
CN112783437A (zh) | 存储设备及其操作方法 | |
CN111078584A (zh) | 存储器系统及其操作方法 | |
US11263148B2 (en) | Mapping host logical address to target address that is selected from combination of first memory's physical addresses and second memory's virtual addresses | |
CN113805791A (zh) | 由存储设备向主机传送数据重定位信息以提高系统性能 | |
CN111666223B (zh) | 控制器、包括控制器的存储器系统和操作该系统的方法 | |
TWI798630B (zh) | 用以存取快閃記憶體模組的方法、快閃記憶體控制器與電子裝置 | |
US10466938B2 (en) | Non-volatile memory system using a plurality of mapping units and operating method thereof | |
KR102516106B1 (ko) | 메모리 컨트롤러 및 이를 포함하는 메모리 시스템 | |
CN109902031B (zh) | 存储系统及其操作方法 | |
CN110309075B (zh) | 存储器控制器以及具有存储器控制器的存储器系统 | |
TWI780697B (zh) | 用以管理快閃記憶體模組的方法、快閃記憶體控制器與電子裝置 | |
TWI807275B (zh) | 用以管理快閃記憶體模組的方法、快閃記憶體控制器與電子裝置 | |
CN111723023A (zh) | 存储器系统、计算设备及其操作方法 | |
CN110908596A (zh) | 数据存储装置、其操作方法和包括存储装置的存储系统 | |
KR20190073125A (ko) | 메모리 시스템 및 이의 동작 방법 | |
CN113515466B (zh) | 用于多内核之间动态逻辑块地址分布的系统和方法 | |
TWI798632B (zh) | 存取快閃記憶體模組的方法和半導體封裝 | |
US20240220143A1 (en) | Method for managing virtual zone |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
GD4A | Issue of patent certificate for granted invention patent |