TWI726475B - 快閃記憶體的資料內部搬移方法以及使用該方法的裝置 - Google Patents

快閃記憶體的資料內部搬移方法以及使用該方法的裝置 Download PDF

Info

Publication number
TWI726475B
TWI726475B TW108139908A TW108139908A TWI726475B TW I726475 B TWI726475 B TW I726475B TW 108139908 A TW108139908 A TW 108139908A TW 108139908 A TW108139908 A TW 108139908A TW I726475 B TWI726475 B TW I726475B
Authority
TW
Taiwan
Prior art keywords
data
write
mode
command
internal
Prior art date
Application number
TW108139908A
Other languages
English (en)
Other versions
TW202006553A (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 TW202006553A publication Critical patent/TW202006553A/zh
Application granted granted Critical
Publication of TWI726475B publication Critical patent/TWI726475B/zh

Links

Images

Abstract

本發明提出一種快閃記憶體的資料內部搬移方法,由固態硬碟的處理單元執行,包含:接收內部搬移命令,指示將輸出入通道的來源位置的資料搬移到輸出入通道的新位置;執行輸出入通道的複製回寫程序,用於將輸出入通道的來源位置的資料搬移到輸出入通道的目的地位置;以及依據複製回寫程序的執行結果回覆完成元件給主裝置。

Description

快閃記憶體的資料內部搬移方法以及使用該方法的裝置
本發明關連於一種快閃記憶體,特別是一種快閃記憶體的資料內部搬移方法以及使用該方法的裝置。
快閃記憶體裝置通常分為NOR快閃裝置與NAND快閃裝置。NOR快閃裝置為隨機存取裝置,主裝置(Host)可於位址腳位上提供存取NOR快閃裝置的任意位址,並即時地由NOR快閃裝置的資料腳位上獲得儲存於該位址上的使用者資料。相反地,NAND快閃裝置並非隨機存取,而是序列存取。NAND快閃裝置無法像NOR快閃裝置一樣,可以存取任何隨機位址,主裝置反而需要寫入序列的位元組(Bytes)到NAND快閃裝置中,用以定義請求命令(Command)的類型(如,讀取、寫入、抹除等),以及此命令上的位址。位址可指向一個頁面(在快閃記憶體中的一個寫入作業的最小資料塊)或一個區塊(在快閃記憶體中的一個抹除作業的最小資料塊)。實際上,NAND快閃裝置通常從記憶體單元(Memory Cells)上讀取或寫入完整的數頁資料。當一整頁的資料從陣列讀取到裝置中的緩存器(Buffer)後,藉由使用提取訊號(Strobe Signal)順序地敲出(Clock Out)內容,讓主單元可逐位元組或字元組(Words)存取資料。
開放通道固態硬碟(Open-Channel Solid State Disk)系統包括開放通道固態硬碟(裝置端)以及主裝置,並不在裝置端實施快閃記憶體翻譯層(FTL,Flash Translation Layer),反而在主裝置實施快閃記憶體翻譯層。不同於傳統的固態硬碟,開放通道固態硬碟讓主裝置知道固態硬碟內部的操作參數,並允許主裝置依據操作參數對開放通道固態硬碟進行操作,即進行資料的管理。然而,目前的開放通道固態硬碟只包含三種基本的存取命令:抹除;讀取;及寫入。當主裝置執行一連串讀取及寫入才能完成的存取程序時,例如垃圾收集(GC,Garbage Collection)、耗損平均(Wear Leveling)等時,需要透過開放通道固態硬碟的存取介面傳輸資料,耗費大量存取介面的頻寬。
因此,需要一種快閃記憶體的資料內部搬移方法以及使用該方法的裝置,用以解決如上所述的問題。
有鑑於此,如何減輕或消除上述相關領域的缺失,實為有待解決的問題。
本發明提出一種快閃記憶體的資料內部搬移方法,由固態硬碟的處理單元執行,包含:接收內部搬移命令,指示將輸出入通道的來源位置的資料搬移到輸出入通道的新位置;執行輸出入通道的複製回寫程序,用於將輸出入通道的來源位置的資料搬移到輸出入通道的目的地位置;以及依據複製回寫程序的執行結果回覆完成元件給主裝置。
本發明另提出一種快閃記憶體的資料內部搬移裝置,包含:快閃控制器;以及處理單元。快閃控制器耦接儲存單元,並且儲存單元包含輸出入通道。處理單元耦接快閃控制器,用於從主裝置接收內部搬移命令,指示將輸出入通道的來源位置的資料搬移到輸出入通道的新位置;指示快閃控制器執行輸出入通道的複製回寫程序,用於將輸出入通道的來源位置的資料搬移到輸出入通道的目的地位置;以及依據複製回寫程序的執行結果回覆完成元件給主裝置。
本發明的其他優點將搭配以下的說明和圖式進行更詳細的解說。
以下說明為完成發明的較佳實現方式,其目的在於描述本發明的基本精神,但並不用以限定本發明。實際的發明內容必須參考之後的權利要求範圍。
必須了解的是,使用於本說明書中的”包含”、”包括”等詞,係用以表示存在特定的技術特徵、數值、方法步驟、作業處理、元件以及/或組件,但並不排除可加上更多的技術特徵、數值、方法步驟、作業處理、元件、組件,或以上的任意組合。
於權利要求中使用如”第一”、"第二"、"第三"等詞係用來修飾權利要求中的元件,並非用來表示之間具有優先權順序,先行關係,或者是一個元件先於另一個元件,或者是執行方法步驟時的時間先後順序,僅用來區別具有相同名字的元件。
第1圖係依據本發明實施例之開放通道固態硬碟系統100架構示意圖。開放通道固態硬碟系統100架構包含主裝置110、資料緩衝器(Data Buffer)120及開放通道固態硬碟(SSD,Solid State Disk)130。主裝置110運作時可依據其需求而建立佇列(Queue)、實體儲存對照表(Storage Mapping Table,又稱為L2P Logical-to-Physical表)及使用紀錄。此系統架構可實施於個人電腦、筆記型電腦(Laptop PC)、平板電腦、手機、數位相機、數位攝影機等電子產品。資料緩衝器120、佇列、實體儲存對照表及使用紀錄可實施於隨機存取記憶體(RAM, Random Access Memory)中的特定區域。主裝置110透過開放通道固態硬碟快速非揮發記憶體(NVMe, Non-Volatile Memory express)介面與開放通道固態硬碟130溝通。主裝置110可使用多種方式實施,例如使用通用硬體(例如,單一處理器、具平行處理能力的多處理器、圖形處理器或其他具運算能力的處理器),並且在執行指令(Instructions)、宏碼(Macrocode)或微碼(Microcode)時,提供之後描述的功能。主裝置110可包含運算邏輯單元(ALU,Arithmetic and Logic Unit)以及位移器(Bit Shifter)。運算邏輯單元負責執行布林運算(如AND、OR、NOT、NAND、NOR、XOR、XNOR等)或數學運算(如加、減、乘、除等),而位移器負責位移運算及位元旋轉。開放通道SSD NVMe規格,例如:版本1.2,公開於2016年四月,支援數個輸出入通道(I/O Channels),每一輸出入通道連接至一個邏輯單元編號LUNs,Logical Unit Numbers),用以分別對應到儲存單元139中的多個儲存子單元。於開放通道SSD NVMe規格中,主裝置110整合原來實施於裝置端中的快閃記憶體翻譯層(FTL, Flash Translation Layer),用以最佳化負載。傳統的快閃記憶體翻譯層將主裝置端或檔案系統認得的邏輯區塊位址(LBAs,Logical Block Addresses)映射至儲存單元139的實體位址(也稱為邏輯至實體映射)。於開放通道SSD NVMe規格中,主裝置110可指示開放通道固態硬碟130將使用者資料儲存至儲存單元139中的一個實體位址,因此,實體儲存對照表的維護由主裝置110所負責及記錄每個邏輯區塊位址的使用者資料實際儲存於儲存單元139中的哪個實體位址。
開放通道固態硬碟130包含處理單元133。處理單元133可採用開放通道SSD NVMe通訊協定與主裝置110溝通,用以接收包含實體位址的資料存取命令,並且依據資料存取命令指示快閃控制器135執行抹除、讀取或寫入。於此須注意的是,處理單元133可使用輕簡型通用目的處理器(Lightweight General-Purpose Processor)實施。
開放通道固態硬碟130另包含快閃控制器135、存取介面137及儲存單元139,並且快閃控制器135透過存取介面137與儲存單元139溝通,詳細來說,可採用雙倍資料率(Double Data Rate,DDR)通訊協定,例如,開放NAND快閃(Open NAND Flash Interface,ONFI)、雙倍資料率開關(DDR Toggle)或其他介面。開放通道固態硬碟130的快閃控制器135透過存取介面137寫入使用者資料到儲存單元139中的指定位址(目的位址),以及從儲存單元139中的指定位址(來源位址)讀取使用者資料。存取介面137使用數個電子訊號來協調快閃控制器135與儲存單元139間的資料與命令傳遞,包含資料線(Data Line)、時脈訊號(Clock Signal)與控制訊號(Control Signal)。資料線可用以傳遞命令、位址、讀出及寫入的資料;控制訊號線可用以傳遞晶片致能(Chip Enable, CE)、位址提取致能(Address Latch Enable,ALE)、命令提取致能(Command Latch Enable,CLE)、寫入致能(Write Enable,WE)等控制訊號。處理單元133與快閃控制器135可分開存在或整合於同一晶片中。
於系統開機(System Boot)時,主裝置110從開放通道固態硬碟130獲得控制開放通道固態硬碟130運作時所需的操作參數,例如,區塊數目、壞塊(Bad Block)數目、滯後時間(latency)、輸出入通道總數等。
儲存單元139可包含多個儲存子單元,每個儲存子單元,各自使用關聯的存取子介面與快閃控制器135進行溝通。一或多個儲存子單元可封裝在一個晶粒(Die)之中。第2圖係依據本發明實施例之存取介面與儲存單元的方塊圖。開放通道固態硬碟130可包含j+1個存取子介面137_0至137_j,每一個存取子介面連接i+1個儲存子單元。存取子介面及其後連接的儲存子單元又可統稱為輸出入通道,並可以邏輯單元編號識別。換句話說,i+1個儲存子單元共享一個存取子介面。例如,當開放通道固態硬碟130包含4個輸出入(j=3)且每一個輸出入連接4個儲存單元(i=3)時,開放通道固態硬碟130一共擁有16個儲存子單元139_0_0至139_j_i。快閃控制器135可驅動存取子介面137_0至137_j中之一者,從指定的儲存子單元讀取資料。每個儲存子單元擁有獨立的晶片致能(CE)控制訊號。換句話說,當欲對指定的儲存子單元進行資料讀取時,需要驅動關聯的存取子介面來致能此儲存子單元的晶片致能控制訊號。第3圖係依據本發明實施例之一個存取子介面與多個儲存子單元的連接示意圖。快閃控制器135可透過存取子介面137_0使用獨立的晶片致能控制訊號320_0_0至320_0_i從連接的儲存子單元139_0_0至139_0_i中選擇出其中一者,接著,透過共享的資料線310_0從選擇出的儲存子單元的指定位址讀取資料。
第4圖係儲存單元139的示意圖。儲存單元139包含多個資料平面(Data Planes)410_0至410_m、430_0至430_m、450_0至450_m及470_0至470_m,每一資料平面或多個資料平面置於一個邏輯單元編號中。資料平面410_0至410_m及共享的存取子介面稱為輸出入通道410,資料平面430_0至430_m及共享的存取子介面稱為輸出入通道430,資料平面450_0至450_m及共享的存取子介面稱為輸出入通道450,及資料平面470_0至470_m及共享的存取子介面稱為輸出入通道470,其中,m可為2的次方的整數(例如2、4、8、16、32等),輸出入通道410、430、450及470可使用邏輯單元編號識別。資料平面410_0至470_m中之每一者包含多個實體區塊(Physical Blocks),每個實體區塊包含多個頁面(Pages)P#0至P#(n),每個頁面包含多個區段(Sectors)(例如,4個、8個等),其中,n可為767或1535等。每個頁面包含多個NAND記憶體單元(Memory Cells),並且NAND記憶體單元可為單層式單元(Single-Level Cells, SLCs)、多層式單元(Multi-Level Cells, MLCs)、三層式單元(Triple-Level Cells, TLCs)或四層式單元(Quad-Level Cells, QLCs)。於一些實施例中,當每一個NAND記憶體單元為單層式單元而可記錄2個狀態時,資料平面410_0至470_0中的頁面P#0可虛擬形成超頁面(Super Page)490_0,資料平面410_0至470_0中的頁面P#1可虛擬形成超頁面490_1,依此類推。於另一些實施例中,當每一個NAND記憶體單元為多層式單元而可記錄4個狀態時,一個實體字元線可包含頁面P#0(可稱為最低位元頁面,MSB,Most Significant Bit page)、頁面P#1(可稱為最高位元頁面,LSB,Least Significant Bit page),依此類推。於更另一些實施例中,當每一個NAND記憶體單元為三層式單元而可記錄8個狀態時,一個實體字元線可包含頁面P#0(可稱為最低位元頁面,MSB page)、頁面P#1(可稱為中間位元頁面,CSB,Center Significant Bit page)及頁面P#2(可稱為最高位元頁面,LSB page)。當每一個NAND記憶體單元為四層式單元而可記錄16個狀態時,除了MSB、CSB以及LSB頁面之外,更包括TSB(可稱為頂部位元,TSB,Top Significant Bit)頁面。
儲存單元139運作時,頁面可為資料管理或編程的最小單位,大小例如為16KB,此時實體位址可表示為頁面編號;或者,頁面可包含多個區段,大小例如為4KB,則區段可為資料管理的最小單位,此時實體位址可表示為頁面的區段編號(Sector numbers)或此區段在頁面的偏移量(Offset)。區塊為資料抹除的最小單位。
實體區塊可依據其使用狀態而區分成主動區塊、資料區塊以及閒置區塊。主動區塊表示正在進行資料寫入的實體區塊,即尚未寫入區塊結束(End of Block)資訊的實體區塊。資料區塊為已寫入區塊結束資訊的實體區塊,即不再寫入任何使用者資料。閒置區塊可被選取而成為主動區塊,閒置區塊不儲存任何有效的使用者資料。通常閒置區塊被選取後,需執行抹除動作方可成為主動區塊。
於一些實施例中,主裝置110傳送給開放通道固態硬碟130的實體位址可包含邏輯單元編號、資料平面編號、實體區塊編號、實體頁面編號及區段編號等資訊,用以指出欲讀取或寫入的使用者資料位於特定輸出入通道中的特定資料平面中的特定實體區塊中的特定實體頁面中的特定區段。於一些實施例中,有時會以行(Column)編號取代區段編號。於另一些實施例中,主裝置110傳送給開放通道固態硬碟130的實體位址可包含邏輯單元編號、資料平面編號及實體區塊編號等資訊,用以指出欲抹除特定輸出入通道中的特定資料平面中的特定資料區塊。
第5圖係命令佇列示意圖。佇列可包含遞交佇列(Submission Queue)510及完成佇列(Completion Queue)530,分別用以暫存主裝置指令以及完成元件(Completion Element)。遞交佇列510及完成佇列530中之每一者包含多筆條目的集合。遞交佇列510中的每一筆條目儲存一個主裝置指令,例如:輸出入命令(以下稱為資料存取命令)或管理命令,而完成佇列530中的每一筆條目儲存關聯至一個資料存取命令或管理命令的完成元件,此完成元件的功能類似確認訊息。集合中的條目依序存放。集合的操作基本原則是由結束位置新增條目(可稱為入列),並且由開始位置移除條目(可稱為出列)。也就是說,第一個新增至遞交佇列510或完成佇列530的命令或訊息,也將會是第一個被移出的。主裝置110可寫入資料存取命令(Data Access Command,例如,抹除、讀取、寫入命令等)至遞交佇列510,並且處理單元133從遞交佇列510讀取(或稱為提取Fetch)最早到達的資料存取命令並執行。於資料存取命令執行完成後,處理單元133寫入完成元件至完成佇列530,主裝置110可讀取或提取完成元件而判斷資料存取命令的執行結果。
第6圖係資料存取命令的執行步驟的流程圖。主裝置110產生並寫入資料存取命令(例如,抹除、讀取、寫入命令等)至遞交佇列510(步驟S1110),其中,資料存取命令包含實體位址的資訊,並且,實體位址指向特定的區塊、頁面或區段位址。接著,主裝置110發出遞交門鈴(Submission Doorbell)給處理單元133(步驟S1120),用以通知處理單元133關於遞交佇列510中已寫入一個資料存取命令的資訊,並更新遞交佇列510的佇列尾(Tail)的值。處理單元133接收到遞交門鈴後(步驟S1310),從遞交佇列510讀取(最早到達的)資料存取命令(步驟S1320),並且依據資料存取命令指示快閃控制器135,用以完成指定的作業(例如,抹除、資料讀取、寫入等)(步驟S1330)。指定作業完成後,處理單元133產生並寫入完成元件至完成佇列530(步驟S1340)用以通知主裝置110相應於特定資料存取命令的作業的執行狀態資訊,並且發出中斷給主裝置(步驟S1350)。接收中斷後(步驟S1130),主裝置110從完成佇列530讀取(最早到達的)完成元件(步驟S1130),接著,發出完成門鈴給處理單元133(步驟S1140)。接收完成門鈴後(S1360),處理單元133更新完成佇列530的佇列頭(Head)的值。
於步驟S1120及S1140,主裝置110可設定相應寄存器(registers)來向處理單元133發出遞交門鈴及結束門鈴。
一筆資料存取命令可處理多筆使用者資料,例如:64筆,則完成元件中可包括64個位元的執行回覆表,每個位元分別表示每一筆使用者資料的執行結果,例如:”0”表示成功,”1”表示失敗。資料存取命令包含操作碼欄位,用以儲存資料存取命令的類型(例如,抹除、讀取、寫入等)。完成元件包含狀態欄位,用以儲存對應的資料存取命令的執行狀態(例如,成功、失敗等)。另外,處理單元133可亂序或依優先權的順序來執行資料存取命令,因此,資料存取命令及完成元件都包含命令識別碼(Command Identifier),用以讓主裝置110可將每一個完成元件關聯至特定資料存取命令。
舉例來說,一個閒置區塊在寫入前需要被抹除以成為主動區塊,主裝置110可寫入抹除命令至遞交佇列510(步驟S1110)用以指示開放通道固態硬碟130(詳細來說為處理單元133)針對特定輸出入通道中的特定閒置區塊執行抹除作業。處理單元133因應抹除命令而指示快閃控制器135通過驅動存取介面137以完成於儲存單元139中指定的抹除作業(步驟S1330)。當抹除作業完成,處理單元133寫入完成元件至完成佇列530(步驟S1340)用以通知主裝置110關於相應抹除作業已經完成的資訊。
舉例來說,主裝置110可寫入讀取命令至遞交佇列510(步驟S1110)用以指示開放通道固態硬碟130從特定輸出入通道中的特定資料平面中的特定實體區塊中的特定實體頁面(的特定區段)讀取使用者資料。處理單元133因應讀取命令而指示快閃控制器135通過驅動存取介面137從儲存單元139中指定的實體位址讀取使用者資料,並且將使用者資料儲存至讀取命令所指定的資料緩衝區120(步驟S1330)。當讀取作業完成,處理單元133寫入完成元件至完成佇列530(步驟S1340)用以通知主裝置110關於相應讀取作業已經完成的資訊。
舉例來說,主裝置110可儲存欲寫入的使用者資料於資料緩衝區120,並儲存寫入命令至遞交佇列510(步驟S1110)用以指示開放通道固態硬碟130寫入使用者資料至特定輸出入通道中的特定資料平面中的特定主動區塊中的特定實體頁面(的特定區段),其中,寫入命令包含資料緩衝區120中儲存欲寫入的使用者資料的位址資訊。處理單元133因應寫入命令而從資料緩衝區120中的指定位址讀取欲寫入的使用者資料,並指示快閃控制器135通過驅動存取介面137將使用者資料編程至儲存單元139中寫入命令所指定的實體位址(步驟S1330)。當寫入作業完成,處理單元133寫入完成元件至完成佇列530(步驟S1340)用以通知主裝置110關於相應寫入作業已經完成的資訊。
經過多次的存取後,一個實體頁面可能包含有效及無效區段(又稱為過期區段),其中,有效區段儲存有效的使用者資料,無效區段儲存無效的(舊的)使用者資料。於一些實施方式中,當主裝置110偵測到儲存單元139的可用空間不足時,可使用如上所述的讀取命令指示處理單元133讀取並蒐集有效區段中的使用者資料,接著,主裝置110使用如上所述的寫入命令指示處理單元133重新寫入蒐集起來的有效的使用者資料至閒置區塊或主動區塊的空實體頁面,使得這些包含無效的使用者資料的資料區塊可變更成為閒置區塊,於抹除後,即可提供資料儲存空間。如上所述的程序稱為垃圾收集(GC,Garbage Collection)。
第7圖係依據一些實施方式之垃圾回收示意圖。假設資料區塊的一個實體頁面包括四個區段,每一區段可儲存一筆使用者資料:經過多次存取後,資料區塊710中的實體頁面P1的第0個區段711儲存有效的使用者資料,其餘儲存無效的使用者資料。資料區塊730中的實體頁面P2的第1個區段733儲存有效的使用者資料,其餘儲存無效的使用者資料。資料區塊750中的實體頁面P3的第2個及第3個區段755及757儲存有效的使用者資料,其餘儲存無效的使用者資料。為了將實體頁面P1至P3中的有效的使用者資料蒐集起來並儲存至實體區塊770中的新實體頁面P4,可執行垃圾回收程序,包含一連串的讀取及寫入命令。
此外,由於經過一定次數的抹除(例如,500次、1000次、5000次等),儲存單元139中的實體區塊便會因為不良的資料保存(Data Retention)能力而被列為壞塊而不再使用。為了延長實體區塊的服務壽命,主裝置110持續監督每個實體區塊的抹除次數。當一個資料區塊的抹除次數超過抹除閥值時,主裝置110可使用如上所述的讀取命令指示處理單元133讀取這個資料區塊(來源區塊)中的使用者資料。接著,主裝置110選擇一個抹除次數最少的閒置區塊作為目的區塊,並且使用如上所述的寫入命令指示處理單元133寫入之前的讀取的使用者資料寫至選擇的目的區塊中的可用實體頁面。如上所述的程序稱為耗損平均(Wear Leveling)。第8圖係依據一些實施方式之耗損平均示意圖。假設資料區塊810的抹除次數已經超過抹除閥值,而閒置區塊830的抹除次數是此輸出入通道中所有實體區塊中最少的:主裝置110啟動耗損平均,將資料區塊810中的實體頁面P5至P6的使用者資料搬移至閒置區塊830中的實體頁面P7至P8,其中,耗損平均程序包含一連串的讀取及寫入命令。
此外,主裝置110可記錄每一資料區塊的讀取次數並以讀取次數作為耗損平均程序啟動的條件。例如:在一個月中,資料區塊810的讀取次數最低且抹除次數未超過抹除閥值,主裝置110可選取所有閒置區塊中或同一輸出入通道的所有閒置區塊中具有最高抹除次數的閒置區塊,例如:閒置區塊830,作為目的區塊,並將資料區塊810作為來源區塊,啟動耗損平均程序以將資料區塊810的使用者資料(或稱冷資料)搬移至閒置區塊830,其中,耗損平均程序包含一連串的讀取及寫入命令。
然而,使用如上所述的讀取及寫入命令來完成垃圾收集或耗損平均程序,會讓佇列耗費大量空間儲存一連串的讀取及寫入命令以及完成元件,並且資料緩衝器120也需要耗費大量頻寬傳輸從儲存單元139讀取的資料以及傳輸欲寫入儲存單元139的資料,以及耗費大量空間儲存從儲存單元139讀取的資料。此外,主裝置110及處理單元133亦需要耗費大量運算資源處理這一連串的讀取及寫入命令,而這將使開放通道固態硬碟130無法維持適當的運算資源以及時回應主裝置110的資料存取命令,造成開放通道固態硬碟130的系統效能低落。
為了解決如上所述實施方式的缺陷,本發明實施例提出一種快閃記憶體的資料內部搬移方法,此資料內部搬移方法適用於實體儲存對照表由主裝置110負責維護的系統,例如:開放通道固態硬碟系統100。第9圖係依據本發明實施例之快閃記憶體的資料內部搬移方法流程圖。主裝置110可週期性地監督每一個輸出入通道的使用狀態,例如,可用閒置區塊的數量、每一實體區塊的抹除次數或讀取次數等等。當主裝置110偵測到開放通道固態硬碟130中的一個輸出入通道的使用狀態滿足資料搬移的條件後,產生內部搬移(Internal Movement)命令並寫入至遞交佇列510(步驟S9110),用以指示開放通道固態硬碟130將特定輸出入通道中的來源區塊的使用者資料搬移至相同輸出入通道中的目的區塊,其中,資料搬移的條件可以是閒置區塊的數量低於閒置閥值或是資料區塊(來源區塊)的抹除次數或讀取次數分別高於抹除閥值或讀取閥值。另外,較佳僅搬移有效的使用者資料至目的區塊,但為了較高的執行效率或大部份使用者資料皆為有效時,可搬移全部的使用者資料至目的區塊。
寫入內部搬移命令至遞交佇列510後,主裝置110發出遞交門鈴給處理單元133(步驟S1120),用以通知處理單元133關於遞交佇列510中已寫入一個資料存取命令的資訊。處理單元133接收遞交門鈴後(步驟S1310),從遞交佇列510讀取內部搬移命令(步驟S9310),並且因應內部搬移命令而指示快閃控制器135通過驅動存取介面137在特定輸出入通道的來源區塊和目的區塊之間啟動複製回寫程序(CopyBack Procedure)(步驟S9320)。雖然在最理想的情況下,處理單元133於步驟S9310讀取的最早到達的資料存取命令為內部搬移命令,但是,當遞交佇列510中存在其他較早到達的資料存取命令時,處理單元133會花一段時間讀取並執行完這些較早到達的資料存取命令後,才接著於步驟S9310讀取並執行內部搬移命令。雖然本發明實施例於第6圖中無法沒有顯示這些較早到達的資料存取命令的讀取與執行,但是本發明並不因此受限。當處理單元133完成內部搬移作業後,處理單元133寫入完成元件至完成佇列530(步驟S9330)用以通知主裝置110關於相應內部搬移命令已經完成的資訊。於步驟S1130,主裝置110可執行中斷服務處理程序(ISR,Interrupt Service Routine),用以讀取完成佇列530中完成元件,並且因應已執行的內部搬移作業更新實體儲存對照表。例如,將實體儲存對照表中的一個邏輯區塊位址原先關聯的實體位址(也就是來源區塊)更新為新的實體位址(也就是目的區塊)。雖然在最理想的情況下,處理單元133於步驟S1130讀取的最早到達的確認訊息相應於內部搬移命令,但是,當完成佇列530中存在其他較早到達的確認訊息時,處理單元133會花一段時間讀取這些較早到達的確認訊息並執行相應處理後,才接著於步驟S1130讀取相應於內部搬移命令的確認訊息,並據以更新實體儲存對照表。雖然本發明實施例於第6圖中無法沒有顯示這些較早到達的確認訊息的讀取與相應處理,但是本發明並不因此受限。在另一實施例中,主裝置110於步驟S9110或步驟S9110之前即更新實體儲存對照表,而非等到步驟S1130或步驟S1130之後再更新實體儲存對照表。在另一實施例中,主裝置110於步驟S1130時更會判斷目的區塊是否已寫滿使用者資料並寫入區塊結束資訊,如果是,則更新實體儲存對照表,如果不是,則不更新實體儲存對照表。
內部搬移命令可使用結構化格式定義。第10圖係依據本發明實施例的內部搬移命令的資料格式圖。內部搬移命令可為64位元組命令。內部搬移命令1000的第0雙字組的第0位元組紀錄操作碼(opcode)1010,用以通知開放通道固態硬碟130此為內部搬移命令。內部搬移命令1000的第0雙字組的第2至3位元組紀錄命令識別碼1030,此命令識別碼1030較佳為依序產生,作為內部搬移命令1000識別的依據,也用以讓完成佇列530中的一個對應的完成元件關聯至內部搬移命令1000。內部搬移命令1000以區段為基本單元指示開放通道固態硬碟130執行特定輸出入通道的資料搬移作業,但不以此為限。
內部搬移命令1000的第12雙字組的第0至5位元紀錄搬移區段數量1080,最大值為64,因此,一個內部搬移命令1000可指示開放通道固態硬碟130於資料搬移作業中搬移特定輸出入通道中至多64個區段的使用者資料。
內部搬移命令1000的第10至11雙字組紀錄實體區段(Physical Sector)資訊1070。如果實體區塊的實體位址以32位元表示,且搬移區段數量1080的值為1,則內部搬移命令1000的第10雙字組紀錄使用者資料儲存於來源區塊的區段位址(來源位址),第11雙字組紀錄使用者資料儲存於目的區塊的區段位址(目的位址)。藉由複製回寫程序,處理單元133可將來源位址的使用者資料編程至目的位址。
若搬移區段數量1080的值大於1,或實體區塊的實體位址以64位元表示,則實體區段資訊1070紀錄資料緩衝器120的記憶體位址,此時,來源位址以及目的位址以成對地(Paired)存在資料緩衝器120中。於步驟S9310中,處理單元133從遞交佇列510讀取內部搬移命令1000並依據實體區段資訊1070的記錄以及搬移區段數量1080的值,自資料緩衝器120取得成對的來源位址以及目的位址,藉由複製回寫程序,處理單元133可將多個來源位址的多個使用者資料編程至多個指定的目的位址。
在另一實施例中,內部搬移命令1000的第6至7雙字組以實體區域頁面紀錄(PRP,Physical Region Page Entry)或碎片收集清單(SGL,Scatter Gather List)記錄主要記憶體位址1050,且內部搬移命令1000的第8至9雙字組以實體區域頁面紀錄或碎片收集清單記錄延伸記憶體位址1060。當搬移區段數量1080的值大於1時,實體區段資訊1070可紀錄第一筆來源位址,主要記憶體位址1050可紀錄第一筆目的位址。在另一實施例中,主要記憶體位址1050可紀錄第一筆來源位址,延申記憶體位址1060可紀錄第一筆目的位址。在另一實施例中,主要記憶體位址1050可紀錄第一筆成對的來源位址以及目的位址,當主要記憶體位址1050所涵蓋的記憶體空間無法紀錄所有成對的來源位址以及目的位址時,延申記憶體位址1060可紀錄剩餘的成對的來源位址以及目的位址。
內部搬移命令1000的第12雙字組的第24-25位元紀錄寫入模式(M1)1020,第12雙字組的第26-27位元紀錄讀取模式(M2)1040。寫入模式及讀取模式各可包含二個狀態,例如:預設模式及SLC模式。當其指出為SLC模式時,處理單元133指示快閃控制器135通過驅動存取介面137以SLC模式讀取或寫入一個頁面的資料。當其指出為預設模式時,處理單元133指示快閃控制器135通過驅動存取介面137以預設模式讀取或寫入一個頁面的資料。預設模式以TLC為例,此頁面可以是MSB頁面、CSB頁面或LSB頁面。於另一些實施例中,寫入模式可包含四個狀態,例如:SLC模式;MLC模式;TLC模式;及QLC模式。另外,寫入模式的數目較佳與儲存單元139的編程方式有關,例如:儲存單元139為QLC並採用三段編程(3-Pass Programming)方式,第一段編程僅寫入MSB頁面,第二段編程再寫入CSB頁面以及LSB頁面,第三段編程再寫入TSB頁面,則寫入模式可包含三個模式,包括:SLC模式、TLC模式及QLC模式(預設模式)。當其指出QLC模式時,處理單元133指示快閃控制器135通過驅動存取介面137要求特定輸出入通道於每個記憶體單元寫入MSB頁面、CSB頁面、LSB頁面或TSB頁面的使用者資料。上述設定可也套用至讀取模式中。需注意的是,讀取模式與寫入模式的設定值可不同,例如:讀取模式是SLC模式但寫入模式是預設模式。假設儲存單元139為QLC,主裝置110可以多個輸出內部搬移命令1000而將4筆使用者資料以SLC模式自來源區塊的來源位址中讀出,並依序以QLC模式編程至目的區塊的目的位址。
第11圖係完成元件的資料格式圖。完成元件1100可為16位元組訊息。完成元件1100的第3雙字組的第0至1位元組紀錄命令識別碼1130,其內容應與內部搬移命令1000的命令識別碼1030一致,用以讓此完成元件1100關聯至特定內部搬移命令1000。完成元件1100的第0至1雙字組儲存執行回覆表1110,用以記錄每一使用者資料的存取結果。完成元件1100的第3雙字組的第17至31位元紀錄狀態欄位1120,用以記錄內部搬移命令1000的執行結果。
在步驟S9110之前,主裝置110系統可儲存多筆使用紀錄,每筆紀錄儲存一個輸出入通道的實體區塊的使用狀態的資訊。於每次開放通道固態硬碟130執行完資料存取作業(例如,抹除、讀取、寫入、內部搬移等),主裝置110可更新相應使用紀錄中的使用狀態的資訊,並判定是否滿足相應輸出入通道的資料搬移條件。例如,將相應輸出入通道的閒置區塊的數量減1,將相應輸出入通道的一個實體區塊的抹除次數加1,或將相應輸出入通道的一個資料區塊的讀取次數加1等。於一些實施例中,當使用紀錄指出相應輸出入通道的閒置區塊的數量低於閒置閥值時,代表閒置區塊的數量太少,需要啟動垃圾收集程序,以增加閒置區塊的數量。於一些實施例中,當使用紀錄指出相應輸出入通道的一個實體區塊的抹除次數高於抹除閥值時,主裝置啟動耗損平均程序以避免使用者資料遇到資料保存的問題。
在執行資料讀取或寫入的過程中,可能遇到讀取失敗或寫入失敗的情況。當遇到上述清況時,完成元件1100的狀態欄位1120會被設為”1”,讀取失敗或寫入失敗的使用者資料所對應在執行回覆表的位元也會設為”1”。此時,主裝置110必須先判斷此失敗為讀取失敗或寫入失敗,如果是讀取失敗,則啟動錯誤管理程序,例如:RAID,以修復來源位址的使用者資料;如果是寫入失敗,則重新為使用者資料決定一個新的目的位址。
由上述的描述中可知,內部搬移過程中如果發生會失敗的情況,則主裝置110需耗費大量時間及運算資源以判斷原因並修正此錯誤。為解決如上所述的缺陷,於另一些實施例,主裝置110不為每一個來源位址的使用者資料決定一個目的位址,而是讓開放通道固態硬碟130決定,之後,開放通道固態硬碟130再將決定的目的位址依據內部搬移命令1000的指示上傳至主裝置110所指定的資料緩衝器120的記憶體位址,例如:主要記憶體位址1050、延伸記憶體位址1060或實體區段資訊1070所指定的記憶體位址。最後,透過完成元件1100通知主裝置110目的位址已完成上傳,之後,主裝置110可依據目的位址更新實體儲存對照表。
當需要進行多個區段的使用者資料搬移時,詳細來說,於步驟S9110前,主裝置110可儲存多筆使用者資料的來源位址至資料緩衝區120,並將來源位址在資料緩衝區120的記憶體位址儲存至內部搬移命令1000中的主要記憶體位址1050、延伸記憶體位址1060或實體區段資訊1070其中一個,主要記憶體位址1050、延伸記憶體位址1060或實體區段資訊1070中的另一個則供開放通道固態硬碟130上傳使用者資料的目的位址。在步驟S9110,將內部搬移命令1000寫入至遞交佇列510。來源位址可使用邏輯單元編號、資料平面編號、實體區塊編號、實體頁面編號及區段編號表示。於步驟S9310,處理單元133讀取並判斷內部搬移命令1000的操作碼1010,接著再讀取內部搬移命令1000的搬移區段數量1080、主要記憶體位址1050、延申記憶體位址1060或實體區段資訊1070的值,再至資料緩衝器120的記憶體位址取得多筆使用者資料的來源位址。接著,於步驟S9320,處理單元133為每一個使用者資料決定一個目的位址,例如:選取具有抹除次數的閒置區塊作為目的區塊,並指示快閃控制器135通過驅動存取介面137對特定輸出入通道的來源區塊和目的區塊執行複製回寫程序。當寫入任何一個目的位址失敗時,處理單元133將使用者資料編程至下一個頁面(的第一個區段);或直接將此實體字元線的所有剩餘頁面寫入虛假資料(Dummy Data),再將使用者資料編程至下一個實體字元線的MSB頁面(的第一個區段),或是,重新指示快閃控制器135通過驅動存取介面137要求對特定輸出入通道的來源區塊和目的區塊執行複製回寫程序,將使用者資料搬移至下一個實體字元線的MSB頁面,或是,將使用者資料編程至另一個目的區塊。於步驟S9330,當複製回寫程序成功執行完畢後,處理單元133可儲存所有使用者資料的目的位址至資料緩衝區120,寫入完成元件1100至完成佇列530。於步驟S1130,主裝置110收到完成元件1100之後,依據搬移區段數量1080、主要記憶體位址1050、延伸記憶體位址1060或實體區段資訊1070的值從資料緩衝區120讀取所有的目的位址,並據以更新實體儲存對照表。
當只需要一個區段的使用者資料搬移時,詳細來說,於步驟S9110,主裝置110可儲存一個來源位址至內部搬移命令1000中的實體區段資訊1070,並設定主要記憶體位址1050的值以供開放通道固態硬碟130上傳使用者資料的目的位址,並且寫入內部搬移命令1000至遞交佇列510。於步驟S9310,處理單元133讀取內部搬移命令1000中的實體區段資訊1070的來源位址時,為此來源位址決定一個目的位址,並指示快閃控制器135通過驅動存取介面137要求特定輸出入通道執行複製回寫程序。於步驟S9330,當此複製回寫程序成功執行完畢後,處理單元133上傳使用者資料的目的位址至主要記憶體位址1050所對應的記憶體位址寫入完成元件1100至完成佇列530。於步驟S1130,主裝置110讀取完成元件1100並依據主要記憶體位址1050的值從資料緩衝區120讀取目的位址,並據以更新實體儲存對照表。
第12圖係依據本發明實施例的廢料蒐集程序的內部搬移作業示意圖。主裝置110可寫入內部搬移命令至遞交佇列510,內部搬移命令包含多組來源區段及目的地區段的實體位置。第一組包含來源區段711及目的地區段771的實體位置,第二組包含來源區段733及目的地區段773的實體位置,第三組包含來源區段755及目的地區段775的實體位置,以及第四組包含來源區段757及目的地區段777的實體位置。接著,快閃控制器135驅動存取子介面1210執行複製回寫程序。存取子介面1210指示直接資料存取電路(DMA-Direct Memory Access Circuit)1230讀取來源區段711、733、755及757的資料,並蒐集儲存至寄存器1250,接著,指示直接資料存取電路1230將寄存器1250中一整個實體頁面的資料寫入實體塊770中的實體頁面P4(包含區段771、773、775及777)。
第13圖係依據本發明實施例的耗損平均程序的內部搬移作業示意圖。主裝置110可寫入內部搬移命令至遞交佇列510,內部搬移命令包含多組來源區段及目的地區段的實體位置。例如,第一組包含實體塊810的實體頁面P5中之第一來源區段以及實體塊830的實體頁面P7中之第一目的地區段的實體位置,第二組包含實體塊810的實體頁面P5中之第二來源區段以及實體塊830的實體頁面P7中之第二目的地區段的實體位置,依此類推。接著,快閃控制器135驅動存取子介面1310執行複製回寫程序。存取子介面1310指示直接資料存取電路1330讀取實體頁面P5及P6中八個來源區段的資料,並儲存至寄存器1350,接著,指示直接資料存取電路1330將寄存器1350中二個實體頁面的資料寫入實體塊830中的實體頁面P7及P8。
另外,複製回寫程序的執行過程中,使用者資料不需要上傳至資料緩衝器120。快閃控制器135輸出複製回寫的讀取命令至儲存單元139的來源區塊,使得自來源位址讀取出的使用者資料暫存於儲存單元139的寄存器(快取寄存器或頁面寄存器)中。接著,快閃控制器135輸出複製回寫的編程命令至儲存單元139的目的區塊,使得暫存在寄存器1250的使用者資料被編程至目的位址。由於使用者資料不需要上傳至資料緩衝器120,因此,使用者資料自來源區塊傳送至資料緩衝器120以及自資料緩衝器120傳送至目的區塊的時間即可被節省,故能增加開放通道固態硬碟130的系統效能,達到本發明的目的。
雖然第1至3圖中包含了以上描述的元件,但不排除在不違反發明的精神下,使用更多其他的附加元件,已達成更佳的技術效果。此外,雖然第6圖及第9圖的流程圖採用指定的順序來執行,但是在不違反發明精神的情況下,熟習此技藝人士可以在達到相同效果的前提下,修改這些步驟間的順序,所以,本發明並不侷限於僅使用如上所述的順序。此外,熟習此技藝人士亦可以將若干步驟整合為一個步驟,或者是除了這些步驟外,循序或平行地執行更多步驟,本發明亦不因此而侷限。
雖然本發明使用以上實施例進行說明,但需要注意的是,這些描述並非用於限縮本發明。相反地,此發明涵蓋了熟習此技藝人士顯而易見的修改與相似設置。所以,申請權利要求範圍須以最寬廣的方式解釋來包含所有顯而易見的修改與相似設置。
100‧‧‧主裝置
120‧‧‧資料緩衝器
130‧‧‧固態硬碟
133‧‧‧處理單元
135‧‧‧快閃控制器
137‧‧‧存取介面
137_0~137_j、1210、1310‧‧‧存取子介面
139‧‧‧儲存單元
139_0_0~139_j_i‧‧‧儲存子單元
310_0‧‧‧資料線
320_0_0~320_0_i‧‧‧晶片致能控制訊號
410、430、450、470‧‧‧輸出入通道
410_0~410_m、430_0~430_m、450_0~450_m、470_0~470_m‧‧‧資料平面
490_0~490_n‧‧‧超頁面
P#0~p#(n)‧‧‧實體頁面
510、530‧‧‧佇列
S1110~S1360、S9110~S9120、S9310~S9330‧‧‧方法步驟
P1~P4、P5~P8‧‧‧實體頁面
711、733、755、757‧‧‧區段
810、830‧‧‧實體區塊
1010‧‧‧操作碼
1020‧‧‧寫入模式
1030、1130‧‧‧命令識別碼
1040‧‧‧命名空間識別碼
1050、1060‧‧‧記憶體位址
1070‧‧‧實體區段資訊
1080‧‧‧搬移區段數量
1100‧‧‧完成元件
1110‧‧‧實體區域頁面紀錄
1120‧‧‧狀態旗標
1230、1330‧‧‧直接資料存取電路
1250、1350‧‧‧寄存器
第1圖係依據本發明實施例之快閃記憶體的系統架構示意圖。
第2圖係依據本發明實施例之存取介面與儲存單元的方塊圖。
第3圖係依據本發明實施例之一個存取子介面與多個儲存子單元的連接示意圖。
第4圖係儲存單元的示意圖。
第5圖係命令佇列示意圖。
第6圖係資料存取命令的執行步驟的流程圖。
第7圖係依據一些實施方式之垃圾回收示意圖。
第8圖係依據一些實施方式之耗損平均示意圖。
第9圖係依據本發明實施例之快閃記憶體的資料內部搬移方法流程圖。
第10圖係依據本發明實施例的內部搬移命令的資料格式圖。
第11圖係完成元件的資料格式圖。
第12圖係依據本發明實施例的廢料蒐集程序的內部搬移作業示意圖。
第13圖係依據本發明實施例的耗損平均程序的內部搬移作業示意圖。
111‧‧‧主裝置
133‧‧‧處理單元
S1120~S1140、S1310、S1350~S1360、S9110~S9120、S9310~S9330‧‧‧方法步驟

Claims (12)

  1. 一種快閃記憶體的資料內部搬移方法,由一固態硬碟中的一處理單元執行,包含: 接收一內部搬移命令,指示將一輸出入通道的一來源位置的資料搬移到上述輸出入通道的一新位置; 執行上述輸出入通道的一複製回寫程序,用於將上述輸出入通道的上述來源位置的資料搬移到上述輸出入通道的一目的地位置;以及 依據上述複製回寫程序的執行結果回覆一完成元件給上述主裝置。
  2. 如請求項1所述的快閃記憶體的資料內部搬移方法,其中,上述目的地位置由上述主機端決定,並且上述內部搬移命令包含上述來源位置和上述目的地位置的資訊。
  3. 如請求項1所述的快閃記憶體的資料內部搬移方法,包含: 在上述複製回寫程序執行前,決定上述目的地位置;以及 在上述複製回寫程序成功執行後,利用上述完成元件通知上述主裝置關於上述目的地位置的資訊。
  4. 如請求項1至3中任一項所述的快閃記憶體的資料內部搬移方法,其中,上述主裝置持續監督上述輸出入通道的一使用狀態,用於決定發送上述內部搬移命令給上述固態硬碟的時間點。
  5. 如請求項4所述的快閃記憶體的資料內部搬移方法,其中,上述使用狀態包含一可用閒置區塊的數量、每一實體區塊的抹除次數或讀取次數。
  6. 如請求項1至3中任一項所述的快閃記憶體的資料內部搬移方法,其中,上述內部搬移命令包含一讀取模式和一寫入模式的資訊,上述讀取模式指出一第一預設模式或一第一單層式單元模式,以及上述寫入模式指出一第二預設模式或一第二單層式單元模式。
  7. 如請求項6所述的快閃記憶體的資料內部搬移方法,包含: 依據上述內部搬移命令,以上述第一預設模式或上述第一單層式單元模式讀取上述輸出入通道的上述來源位置的資料;以及 依據上述內部搬移命令,以上述第二預設模式或上述第二單層式單元模式寫入資料至上述輸出入通道的上述目的地位置。
  8. 一種快閃記憶體的資料內部搬移裝置,包含: 一快閃控制器,耦接一儲存單元,其中,上述儲存單元包含一輸出入通道;以及 一處理單元,耦接上述快閃控制器,用於從一主裝置接收一內部搬移命令,指示將上述輸出入通道的一來源位置的資料搬移到上述輸出入通道的一新位置;指示上述快閃控制器執行上述輸出入通道的一複製回寫程序,用於將上述輸出入通道的上述來源位置的資料搬移到上述輸出入通道的一目的地位置;以及依據上述複製回寫程序的執行結果回覆一完成元件給上述主裝置。
  9. 如請求項8所述的快閃記憶體的資料內部搬移裝置,其中,上述目的地位置由上述主機端決定,並且上述內部搬移命令包含上述來源位置和上述目的地位置的資訊。
  10. 如請求項8所述的快閃記憶體的資料內部搬移裝置,其中,上述處理單元在上述複製回寫程序執行前,決定上述目的地位置;以及在上述複製回寫程序成功執行後,利用上述完成元件通知上述主裝置關於上述目的地位置的資訊。
  11. 如請求項8至10中任一項所述的快閃記憶體的資料內部搬移裝置,其中,上述內部搬移命令包含一讀取模式和一寫入模式的資訊,上述讀取模式指出一第一預設模式或一第一單層式單元模式,以及上述寫入模式指出一第二預設模式或一第二單層式單元模式。
  12. 如請求項11所述的快閃記憶體的資料內部搬移裝置,其中,上述處理單元依據上述內部搬移命令,指示上述快閃控制器以上述第一預設模式或上述第一單層式單元模式讀取上述輸出入通道的上述來源位置的資料;以及依據上述內部搬移命令,指示上述快閃控制器以上述第二預設模式或上述第二單層式單元模式寫入資料至上述輸出入通道的上述目的地位置。
TW108139908A 2017-09-22 2018-01-16 快閃記憶體的資料內部搬移方法以及使用該方法的裝置 TWI726475B (zh)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US201762561824P 2017-09-22 2017-09-22
US62/561,824 2017-09-22

Publications (2)

Publication Number Publication Date
TW202006553A TW202006553A (zh) 2020-02-01
TWI726475B true TWI726475B (zh) 2021-05-01

Family

ID=66991786

Family Applications (2)

Application Number Title Priority Date Filing Date
TW108139908A TWI726475B (zh) 2017-09-22 2018-01-16 快閃記憶體的資料內部搬移方法以及使用該方法的裝置
TW107101541A TWI679535B (zh) 2017-09-22 2018-01-16 快閃記憶體的資料內部搬移方法以及使用該方法的裝置

Family Applications After (1)

Application Number Title Priority Date Filing Date
TW107101541A TWI679535B (zh) 2017-09-22 2018-01-16 快閃記憶體的資料內部搬移方法以及使用該方法的裝置

Country Status (1)

Country Link
TW (2) TWI726475B (zh)

Families Citing this family (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US11580017B2 (en) 2020-04-27 2023-02-14 Silicon Motion, Inc. Method and apparatus and computer program product for preparing logical-to-physical mapping information for host side
TWI756854B (zh) * 2020-04-27 2022-03-01 慧榮科技股份有限公司 管理資料儲存的方法及裝置以及電腦程式產品
US11262938B2 (en) 2020-05-05 2022-03-01 Silicon Motion, Inc. Method and apparatus for performing access management of a memory device with aid of dedicated bit information
TWI748507B (zh) * 2020-06-08 2021-12-01 瑞昱半導體股份有限公司 資料存取系統及操作資料存取系統的方法
TWI790568B (zh) * 2021-03-15 2023-01-21 宏碁股份有限公司 記憶體裝置的工作狀態控制方法與資料儲存系統
JP2022147448A (ja) 2021-03-23 2022-10-06 キオクシア株式会社 メモリシステム及びデータ管理方法

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103761988A (zh) * 2013-12-27 2014-04-30 华为技术有限公司 固态硬盘及数据移动方法
TW201543227A (zh) * 2014-05-01 2015-11-16 Wuunet Technology Co Ltd 與外部裝置互動的電子裝置
TWI520153B (zh) * 2013-11-05 2016-02-01 威盛電子股份有限公司 非揮發性記憶體裝置及其操作方法
CN105745628A (zh) * 2014-06-27 2016-07-06 华为技术有限公司 一种将数据写入闪存装置的方法、闪存装置和存储系统
US9465731B2 (en) * 2012-12-31 2016-10-11 Sandisk Technologies Llc Multi-layer non-volatile memory system having multiple partitions in a layer

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9465731B2 (en) * 2012-12-31 2016-10-11 Sandisk Technologies Llc Multi-layer non-volatile memory system having multiple partitions in a layer
TWI520153B (zh) * 2013-11-05 2016-02-01 威盛電子股份有限公司 非揮發性記憶體裝置及其操作方法
CN103761988A (zh) * 2013-12-27 2014-04-30 华为技术有限公司 固态硬盘及数据移动方法
TW201543227A (zh) * 2014-05-01 2015-11-16 Wuunet Technology Co Ltd 與外部裝置互動的電子裝置
CN105745628A (zh) * 2014-06-27 2016-07-06 华为技术有限公司 一种将数据写入闪存装置的方法、闪存装置和存储系统

Also Published As

Publication number Publication date
TW201915743A (zh) 2019-04-16
TWI679535B (zh) 2019-12-11
TW202006553A (zh) 2020-02-01

Similar Documents

Publication Publication Date Title
CN109542335B (zh) 快闪存储器的数据内部搬移方法以及使用该方法的装置
TWI726475B (zh) 快閃記憶體的資料內部搬移方法以及使用該方法的裝置
US11593259B2 (en) Directed sanitization of memory
TWI506430B (zh) 映射資訊記錄方法、記憶體控制器與記憶體儲存裝置
TWI399643B (zh) 快閃記憶體儲存系統及其控制器與資料寫入方法
TWI678618B (zh) 快閃記憶裝置的命名空間操作方法及裝置
US8392649B2 (en) Memory storage device, controller, and method for responding to host write commands triggering data movement
TWI601060B (zh) 資料傳輸方法、記憶體儲存裝置及記憶體控制電路單元
US11675698B2 (en) Apparatus and method and computer program product for handling flash physical-resource sets
TWI421870B (zh) 用於快閃記憶體的資料寫入方法及其控制器與儲存系統
US20180067648A1 (en) Data writing method, memory control circuit unit and memory storage apparatus which performs data rrangement operation according to usage frequency of physical erasing unit of memory storage apparatus
TW201426303A (zh) 資料讀取方法、記憶體控制器與記憶體儲存裝置
TWI670595B (zh) 主動錯誤更正失敗處理方法
CN111399750B (zh) 闪存数据写入方法及计算机可读取存储介质
US20200356491A1 (en) Data storage device and method for loading logical-to-physical mapping table thereof
TW202042068A (zh) 資料儲存裝置與資料處理方法
TW201923599A (zh) 記憶體管理方法、記憶體儲存裝置及記憶體控制電路單元
CN109558266B (zh) 主动错误更正失败处理方法
US11403011B1 (en) Host memory buffer allocation management
TWI613656B (zh) 固態硬碟系統的優先寫入方法以及使用該方法的裝置
TWI734370B (zh) 快閃記憶體之資料合併方法、控制電路單元與儲存裝置
CN114115739A (zh) 存储器管理方法、存储器存储装置及存储器控制电路单元