TWI766431B - 資料處理方法及對應之資料儲存裝置 - Google Patents
資料處理方法及對應之資料儲存裝置 Download PDFInfo
- Publication number
- TWI766431B TWI766431B TW109139250A TW109139250A TWI766431B TW I766431 B TWI766431 B TW I766431B TW 109139250 A TW109139250 A TW 109139250A TW 109139250 A TW109139250 A TW 109139250A TW I766431 B TWI766431 B TW I766431B
- Authority
- TW
- Taiwan
- Prior art keywords
- mapping table
- memory
- hpb
- host
- mapping
- Prior art date
Links
Images
Landscapes
- Read Only Memory (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
一種資料儲存裝置包括一記憶體裝置與一記憶體控制器。記憶體控制器配置一既定記憶體區塊作為用以自一主機裝置接收資料之一現用記憶體區塊,並且對應地於一第一映射表格中記錄複數邏輯位址。響應於需要建議活化記憶體裝置之一或多個子區域或傳送一或多個主機性能增強器(HPB)項目之判斷,記憶體控制器更於傳送一或多個HPB項目至主機裝置前,根據第一映射表格更新一第二映射表格。記憶體控制器更於第二映射表格根據第一映射表格被更新後,根據第二映射表格產生一或多個HPB項目,並且傳送包含一或多個HPB項目之一封包至主機裝置。
Description
本發明係有關於一種可有效改善記憶體裝置之存取效能之資料處理方法及對應之資料儲存裝置。
隨著資料儲存裝置的科技在近幾年快速地成長,許多資料儲存裝置,如符合安全數位(Secure Digital,縮寫為SD)/多媒體卡(Multi Media Card,縮寫為MMC)規格、複合式快閃記憶體(Compact flash,縮寫為CF)規格、記憶條(Memory Stick,縮寫為MS)規格與極數位(Extreme Digital,縮寫為XD)規格的記憶卡、固態硬碟、嵌入式多媒體記憶卡(embedded Multi Media Card,縮寫為eMMC)以及通用快閃記憶體儲存(Universal Flash Storage,縮寫為UFS)已經廣泛地被應用在多種用途上。因此,在這些資料儲存裝置上,有效率的存取控制也變成一個重要的議題。
為了輔助資料儲存裝置的存取操作,資料儲存裝置端可建立並維護一或多個映射表格,用以記錄實體位址與邏輯位址間的映射關係。邏輯位址為由連接資料儲存裝置之一主機裝置所使用的位址,主機裝置可利用邏輯位址識別不同的記憶空間。實體位址為資料儲存裝置所使用的位址,資料儲存裝置可利用實體位址識別不同的記憶空間。記憶體控制器根據記憶體裝置的存取操作管理這些映射表格。
響應於帶有欲讀取之邏輯位址之一讀取指令,記憶體控制器必須查找映射表格,以取得儲存欲讀取之邏輯位址之資料的實體位址。然而,表格的查找或搜尋通常為較耗時的操作。此外,表格大小通常會隨著記憶體裝置的容量增加而增加。因此,在映射表格中查找或搜索所需的時間會隨著映射表格的大小增加而大幅增加。
為解決此問題並且改善記憶體裝置的讀取速度,需要一種可有效處理記憶體裝置所儲存之資料並改善記憶體裝置存取效能的資料處理方法。
本發明之一目的在於解決上述問題,並改善記憶體裝置的讀取速度。
根據本發明之一實施例,一種資料儲存裝置包括一記憶體裝置與一記憶體控制器。記憶體裝置包括複數記憶體區塊。記憶體控制器耦接至記憶體裝置,用以存取記憶體裝置。記憶體控制器配置一既定記憶體區塊作為用以自一主機裝置接收資料之一現用記憶體區塊,並且對應地於一第一映射表格中記錄複數邏輯位址。第一映射表格包括複數欄位,第一映射表格之一欄位用以記錄現用記憶體區塊之一實體位址之映射資訊,並且實體位址之映射資訊為儲存於現用記憶體區塊之實體位址之資料係指向哪個邏輯位址之一實體至邏輯映射資訊。響應於需要建議活化記憶體裝置之一或多個子區域或傳送一或多個主機性能增強器(Host Performance Booster,縮寫HPB)項目之判斷,記憶體控制器更於傳送一或多個HPB項目至主機裝置前,根據第一映射表格更新一第二映射表格。第二映射表格包括複數欄位,第二映射表格之一欄位用以記錄一邏輯位址之映射資訊,並且邏輯位址之映射資訊為記憶體裝置之哪個實體位址儲存邏輯位址之資料之一邏輯至實體映射資訊,並且記憶體控制器更於第二映射表格根據第一映射表格被更新後,根據第二映射表格產生一或多個HPB項目,並且傳
送包含一或多個HPB項目之一封包至主機裝置。
根據本發明之另一實施例,一種資料處理方法,適用於一資料儲存裝置,其中資料儲存裝置包括一記憶體裝置與一記憶體控制器,記憶體裝置包括複數記憶體區塊,記憶體控制器耦接至記憶體裝置用以存取記憶體裝置,資料處理方法由記憶體控制器所執行並包括:配置一既定記憶體區塊作為用以自一主機裝置接收資料之一現用記憶體區塊,並且對應地於一第一映射表格中記錄複數邏輯位址,其中第一映射表格包括複數欄位,第一映射表格之一欄位用以記錄現用記憶體區塊之一實體位址之映射資訊,並且實體位址之映射資訊為儲存於現用記憶體區塊之實體位址之資料係指向哪個邏輯位址之一實體至邏輯映射資訊;響應於需要建議活化記憶體裝置之一或多個子區域或傳送一或多個主機性能增強器(Host Performance Booster,縮寫HPB)項目之判斷,於傳送一或多個HPB項目至主機裝置前根據第一映射表格更新一第二映射表格,其中第二映射表格包括複數欄位,第二映射表格之一欄位用以記錄一邏輯位址之映射資訊,並且邏輯位址之映射資訊為記憶體裝置之哪個實體位址儲存邏輯位址之資料之一邏輯至實體映射資訊;於第二映射表格根據第一映射表格被更新後根據第二映射表格產生一或多個HPB項目;以及傳送包含一或多個HPB項目之一封包至主機裝置。
100:資料儲存裝置
110:記憶體控制器
112:微處理器
112C:程式碼
112M:唯讀記憶體
114:記憶體介面
116:緩衝記憶體
118:主機介面
120:記憶體裝置
130:主機裝置
132:編碼器
134:解碼器
200:邏輯單元
A-1、A-2、A-3、A-4、B-1、B-2、B-3、C-1、C-2、C-3、C-4、C-5、C-6、D-1、
D-2、D-3、D-4、D-5、D-6、D-7:操作
DATA IN UPIU:送入資料之通用快閃記憶體儲存通訊協定資訊單元
HPB_Rgn_0、HPB_Rgn_(N-1):HPB區域
HPB_Sub_Rgn_0、HPB_Sub_Rgn_(L-1):HPB子區域
LBA:邏輯區塊位址
第1圖係顯示根據本發明之一實施例所述之資料儲存裝置的方塊圖範例。
第2圖係顯示邏輯單元與其對應之邏輯區塊位址的一個範例。
第3圖係顯示於主機控制模式下可有的操作。
第4圖係顯示於裝置控制模式下可有的操作。
第5圖係顯示HPB項目的一個範例格式。
第6圖係顯示HPB讀取指令的對應操作。
第7圖係顯示根據本發明之一實施例所述之可改善記憶體裝置之讀取速度之資料處理方法流程圖。
在下文中,描述了許多具體細節以提供對本發明實施例的透徹理解。然而,本領域技術人員仍將理解如何在缺少一個或多個具體細節或依賴於其他方法、元件或材料的情況下實施本發明。在其他情況下,未詳細示出或描述公知的結構、材料或操作,以避免模糊本發明的主要概念。
在整個說明書中對「一實施例」或「一範例」的引用意味著結合該實施例或範例所描述的特定特徵、結構或特性係包括於本發明之多個實施例的至少一個實施例中。因此,貫穿本說明書在各個地方出現的短語「於本發明之一實施例中」、「根據本發明之一實施例」、「於一範例中」或「根據本發明之一範例」不一定都指到相同的實施例或範例。此外,特定特徵、結構或特性可以在一個或多個實施例或範例中以任何合適的組合和/或子組合進行結合。
此外,為讓本發明之目的、特徵和優點能更明顯易懂,下文特舉出本發明之具體實施例,並配合所附圖式,作詳細說明如下。目的在於說明本發明之精神而非用以限定本發明之保護範圍,應理解下列實施例可經由軟體、硬體、韌體、或上述任意組合來實現。
第1圖係顯示根據本發明之一實施例所述之資料儲存裝置的方塊圖範例。資料儲存裝置100可包括一記憶體裝置120與一記憶體控制器110。記憶體控制器110用以存取(Access)記憶體裝置120及控制記憶體裝置120之運作。記憶
體裝置120可為一非揮發性(non-volatile,縮寫為NV)記憶體裝置(例如,一快閃記憶體(flash memory)),並且可包括一或多個記憶元件(例如,一或多個快閃記憶體晶粒、一或多個快閃記憶體晶片、或其他類似元件)。
資料儲存裝置100可耦接至一主機裝置130。主機裝置130可至少包括一處理器、一電源電路、以及至少一隨機存取記憶體(Random Access Memory,縮寫為RAM),例如至少一動態隨機存取記憶體(Dynamic RAM,縮寫為DRAM)、至少一靜態隨機存取記憶體(Static RAM,縮寫為SRAM)等(以上未示於第1圖)。處理器與隨機存取記憶體可透過一匯流排彼此相互連接,並且可耦接至電源電路以取得電源。處理器可控制主機裝置130之運作。電源電路可將電源供應至處理器、隨機存取記憶體以及資料儲存裝置100,例如輸出一或多個驅動電壓至資料儲存裝置100。資料儲存裝置100可自主機裝置130取得所述驅動電壓作為資料儲存裝置100的電源,並且為主機裝置130提供儲存空間。
根據本發明之一實施例,記憶體控制器110可包括一微處理器112、一唯讀記憶體(Read Only Memory,縮寫為ROM)112M、一記憶體介面114、一緩衝記憶體116、與一主機介面118。唯讀記憶體112M係用以儲存程式碼112C。而微處理器112則用來執行程式碼112C以控制對記憶體裝置120之存取。程式碼112C可包括一或多個程式模組,例如啟動載入(boot loader)程式碼。當資料儲存裝置100自主機裝置130取得電源時,微處理器112可藉由執行程式碼112C執行資料儲存裝置100之一初始化程序。於初始化程序中,微處理器112可自記憶體裝置120載入一組系統內編程(In-System Programming,縮寫為ISP)程式碼(未示於第1圖)。微處理器112可執行該組系統內編程程式碼,使得資料儲存裝置100可具備各種功能。根據本發明之一實施例,該組系統內編程程式碼可包括,但不限於:一或多個與記憶體存取(例如,讀取、寫入與抹除)相關的程式模組,例如一讀取操作模組、一查找表格模組、一損耗均衡(wear leveling)模組、一讀取刷新(read
refresh)模組、一讀取回收(read reclaim)模組、一垃圾回收模組、一非預期斷電恢復(Sudden Power Off Recovery,縮寫為SPOR)模組、以及一不可更正錯誤更正碼(Uncorrectable Error Correction Code,縮寫為UECC)模組,其分別被提供用以執行對應之讀取、查找表格、損耗均衡、讀取刷新、讀取回收、垃圾回收、非預期斷電恢復以及對偵測到的UECC錯誤進行錯誤處理等操作。
記憶體介面114包含了一編碼器132以及一解碼器134,其中編碼器132用來對需被寫入記憶體裝置120的資料進行編碼,例如執行ECC編碼,而解碼器134用來對從記憶體裝置120所讀出的資料進行解碼。
於典型狀況下,記憶體裝置120包含了多個記憶元件,例如多個快閃記憶體晶粒或多個快閃記憶體晶片,各記憶元件可包含複數個記憶體區塊(Block)。記憶體控制器110對記憶體裝置120進行抹除資料運作係以區塊為單位來進行。另外,一記憶體區塊可記錄(包含)特定數量的資料頁(Page),例如,實體資料頁,其中記憶體控制器110對記憶體裝置120進行寫入資料之運作係以資料頁為單位來進行寫入。
實作上,記憶體控制器110可利用其本身內部之元件來進行諸多控制運作,例如:利用記憶體介面114來控制記憶體裝置120之存取運作(尤其是對至少一記憶體區塊或至少一資料頁之存取運作)、利用緩衝記憶體116進行所需之緩衝處理、以及利用主機介面118來與主機裝置130溝通。
在一實施例中,記憶體控制器110透過主機介面118並使用一標準通訊協定與主機裝置130溝通。舉例而言,上述之標準通訊協定包含(但不限於):通用序列匯流排(Universal Serial Bus,縮寫為USB)標準、SD介面標準、超高速一代(Ultra High Speed-I,縮寫為UHS-I)介面標準、超高速二代(Ultra High Speed-II,縮寫為UHS-II)介面標準、CF介面標準、MMC介面標準、eMMC介面標準、UFS介面標準、高技術組態(Advanced Technology Attachment,縮寫為ATA)
標準、序列高技術組態(Serial ATA,縮寫為SATA)標準、快捷外設互聯標準(Peripheral Component Interconnect Express,縮寫為PCI-E)標準、並列先進附件(Parallel Advanced Technology Attachment,縮寫為PATA)標準等。
在一實施例中,緩衝記憶體116係以隨機存取記憶體來實施。例如,緩衝記憶體116可以是靜態隨機存取記憶體,但本發明亦不限於此。於其他實施例中,緩衝記憶體116可以是動態隨機存取記憶體。
在一實施例中,資料儲存裝置100可以是可攜式記憶體裝置(例如:符合SD/MMC、CF、MS、XD標準之記憶卡),且主機裝置130為一可與資料儲存裝置連接的電子裝置,例如手機、筆記型電腦、桌上型電腦...等等。而在另一實施例中,資料儲存裝置100可以是固態硬碟或符合UFS或eMMC規格之嵌入式儲存裝置,並且可被設置在一電子裝置中,例如設置在手機、筆記型電腦、桌上型電腦之中,而此時主機裝置130可以是該電子裝置的一處理器。
主機裝置130可對資料儲存裝置100發出指令,例如,讀取指令或寫入指令,用以存取記憶體裝置120所儲存之資料,或者主機裝置130可對資料儲存裝置100發出指令以進一步控制、管理資料儲存裝置100。
記憶體裝置120可儲存一全域邏輯至實體(Logical to Physical,縮寫為L2P)(或稱主機至快閃記憶體(Host to Flash,縮寫為H2F))映射表格,供記憶體控制器110存取記憶體裝置120之資料時使用。全域L2P映射表格可位於記憶體裝置120之一既定區域,例如一系統區域,但本發明並不限於此。全域L2P映射表格可被分為複數區域L2P映射表格,區域L2P映射表格可被儲存於相同或不同的記憶元件內。例如,一記憶元件可儲存一個區域L2P映射表格。於需要時,記憶體控制器110可將全域L2P映射表格的至少一部分(例如,一部分或全部)載入緩衝記憶體116或其他記憶體內。例如,記憶體控制器110可載入一區域L2P映射表格作為一暫時的L2P映射表格,用以根據此區域L2P映射表格存取記憶體裝置120的資
料,但本發明並不限於此。
為了改善讀取效能,近期已發布了主機性能增強器(Host Performance Booster,縮寫為HPB)系列標準。HPB利用主機裝置端的一個記憶體裝置(例如,主機裝置130之DRAM)暫存於UFS裝置端(例如,依循UFS規格實施的資料儲存裝置100)所維護的映射資訊。所述映射資訊可自前述之全域或區域L2P映射表格中取得。借助此映射資訊,主機裝置130可發出帶有主機裝置130所欲讀取之邏輯位址(例如,邏輯區塊位址(logical block addresses,縮寫為LBAs)所對應的實體位址之相關資訊(例如,實體區塊位址(physical block addresses,縮寫為PBAs)的特定讀取指令(以下稱為HPB讀取(HPB READ)指令)以讀取資料,其中所述實體位址之相關資訊可被承載於一或多個HPB項目(HPB entry)中。如此一來,記憶體控制器110可節省自記憶體裝置120讀取及載入全域或區域L2P映射表格所花費的時間,以及節省於載入之L2P映射表格中搜尋出主機裝置130所欲讀取之邏輯位址所對應的實體位址所花費的時間。藉此,讀取效能可被改善。
一般而言,記憶體裝置120可被劃分為多個分區,各分區可被視為一個邏輯單元,且各邏輯單元可對應於複數邏輯區塊位址。第2圖係顯示邏輯單元200與其對應之邏輯區塊位址的一個範例。如HPB規格所定義,各邏輯單元所對應的邏輯區塊位址(例如,邏輯區塊位址LBA 0~LBA Z,其中Z為正整數)可被劃分為複數個HPB區域(例如,HPB區域HPB_Rgn_0~HPB_Rgn_(N-1),其中N為大於1之一正整數),並且各HPB區域可進一步被劃分為複數HPB子區域(例如,HPB子區域HPB_Sub_Rgn_0~HPB_Sub_Rgn_(L-1),其中L為一正整數)。一個HPB子區域的大小可小於或等於一個HPB區域的大小。為簡化說明,以下將HPB子區域簡稱為子區域,以及將HPB區域簡稱為區域。
於本發明之實施例中,有兩種取得HPB項目的模式,包括主機控制模式與裝置控制模式。
第3圖為一示意圖,用以顯示於主機控制模式下可有的操作。於主機控制模式下,主機系統(例如,主機裝置130)可確認要被活化(activate)的新的子區域(操作A-1),並發出一HPB讀取緩衝(HPB READ BUFFER)指令(操作A-2),以請求要被活化之子區域所對應的HPB項目。響應於HPB讀取緩衝指令之接收,UFS裝置(例如,記憶體控制器110)可自記憶體裝置120讀取L2P映射表格之至少一部分(例如,讀取全域L2P映射表格或區域L2P映射表格),該部分係對應於選定要被活化之子區域,並且根據L2P映射表格所記錄之映射資訊提供HPB項目(操作A-3)。UFS裝置接著可透過送入資料(DATA IN)之通用快閃記憶體儲存通訊協定資訊單元(UFS Protocol Information Unit,縮寫為UPIU)封包將HPB項目傳送至主機系統(操作A-4)。主機系統可於系統記憶體內配置一HPB區域(亦可稱為HPB快取區),用以儲存HPB項目(操作A-5)。
主機系統亦可確認要被去活化(deactivate)的區域(操作B-1),並發出一HPB寫入緩衝(HPB WRITE BUFFER)指令,以請求將一區域去活化(操作B-2)。UFS裝置可響應於HPB寫入緩衝指令之接收將對應之區域去活化(操作B-3)。
此外,當UFS裝置判斷需要更新任何子區域所對應之HPB項目時,例如,當UFS裝置修改了一已活化之子區域所對應之L2P映射資訊(操作C-1),UFS裝置可傳送一回應UPIU封包至主機系統,以建議主機系統更新子區域所對應之HPB項目(操作C-2)。響應於回應UPIU封包之接收,主機系統可發出一HPB讀取緩衝指令(操作C-3),並將之傳送給UFS裝置以請求已活化之子區域所對應之更新過的HPB項目(操作C-4)。響應於HPB讀取緩衝指令之接收,UFS裝置可讀取L2P映射表格中之對應於已活化之子區域之部分,並且根據L2P映射表格所記錄之映射資訊提供HPB項目(操作C-5)。同樣地,UFS裝置接著可透過送入資料之通用快閃記憶體儲存通訊協定資訊單元(DATA IN UPIU)封包將HPB項目傳送
至主機系統(操作C-6)。主機系統可根據接收到的資訊更新HPB快取區內所儲存之HPB項目(操作C-7)。
第4圖為一示意圖,用以顯示於裝置控制模式下可有的操作。於裝置控制模式下,UFS裝置可確認要被活化的新的子區域及/或要被去活化之區域(操作D-1),並傳送一回應UPIU封包至主機系統,以建議主機系統活化選定之新的子區域或去活化選定之區域(操作D-2)。對於將選定之區域去活化,主機系統可捨棄不再活化之區域所對應的HPB項目(操作D-3)。對於活化的新的子區域,主機系統可發出一HPB讀取緩衝指令,並將之傳送給UFS裝置以請求要被活化之子區域所對應的HPB項目(操作D-4)。類似地,響應於HPB讀取緩衝指令之接收,UFS裝置可自記憶體裝置120讀取L2P映射表格之至少一部分(例如,讀取全域L2P映射表格或區域L2P映射表格),該部分係對應於選定要被活化之子區域,並且根據L2P映射表格所記錄之映射資訊提供HPB項目(操作D-5)。UFS裝置接著可透過送入資料之通用快閃記憶體儲存通訊協定資訊單元(DATA IN UPIU)封包將HPB項目傳送至主機系統(操作D-6)。主機系統可於系統記憶體內配置一HPB區域(亦可稱為HPB快取區),用以儲存HPB項目(操作D-7)。
第5圖係顯示HPB項目的一個範例格式。於本發明之一實施例中,一個HPB項目的大小為8位元組(Byte)。於此範例格式中,4位元組用以記載自L2P映射表格(例如,全域或區域L2P映射表格,或者由記憶體控制器110載入緩衝記憶體116之暫時的L2P映射表格)取得的實體位址,而其餘4位元組用以記載另一實體位址,此實體位址係快閃記憶體內實際用以儲存前述全域或區域L2P映射表格的位址。更具體的說,於第5圖所示之範例格式中,第一個4位元組大小的PBA與第二個4位元組大小的PBA被合併形成一個HPB項目,其中第一個PBA為儲存於表格1(亦稱為T1表格)的實體區塊位址,此實體區塊位址為一邏輯區塊位址所映射之實體區塊位址,而第二個PBA為儲存於表格2(亦稱為T2表格)的實體區塊
位址,此實體區塊位址則為T1表格的實體區塊位址。於此,T1表格可以是記憶體裝置120內所儲存的全域或區域L2P映射表格,T2表格可以一個系統表格,用以記錄各管理表格(例如,全域或區域L2P映射表格)實際被儲存於記憶體裝置120的實體位址。
由於當一管理表格(例如,全域或區域L2P映射表格)的內容(例如,映射資訊)需被更新時,記憶體控制器110可配置另一個記憶體空間儲存此管理表格更新後的內容,因此,當由一邏輯區塊位址所映射之實體區塊位址改變時,不僅T1表格的內容需要修改,T1表格的更新內容也會被儲存於記憶體裝置120的另一個新的儲存空間。因此,系統表格內所記錄之T1表格所對應之實體位址也會隨之改變。如此一來,HPB項目內所記載的T2表格的內容便能用於驗證由此HPB項目所對應之一邏輯區塊位址所映射之實體區塊位址所儲存資料是否仍為有效資料。當HPB項目所記載之T2表格內容與記憶體控制器110所維護之最新的T1表格的實體位址相符時,代表儲存於此HPB項目所記載之實體區塊位址(T1表格內容)之資料仍為有效資料。反之,代表儲存於此HPB項目所記載之實體區塊位址之資料已為無效資料。需注意的是,前述一實體區塊位址所儲存之資料是否仍為有效資料的驗證可由資料儲存裝置端的記憶體控制器110執行。
借助HPB項目所提供的資訊,主機裝置130可發出前述HPB讀取指令,此HPB讀取指令可承載主機裝置130試圖讀取的起始邏輯地址、傳輸長度(TRANSFER LENGTH)、以及HPB項目所記載的內容等相關資訊,用以讀取資料。第6圖為一示意圖,用以顯示HPB讀取指令的對應操作。主機系統可自HPB快取區取得所需之HPB項目資訊,並且傳送一HPB讀取指令給UFS裝置(操作E-1),此HPB讀取指令帶有一邏輯區塊位址LBA(例如,起始LBA)、此LBA所對應之HPB項目內容以及傳輸長度,並透過HPB讀取指令UPIU封包傳送(操作E-2)。於一特定實施例中,傳輸長度可被限定為1,但本發明並不限於此。於本
發明之其他實施例中,傳輸長度可被設定為任意正整數。於接收到HPB讀取指令時,UFS裝置可解碼此對應於主機裝置130試圖讀取的一個選定的LBA的HPB項目,以取得此選定的LBA所對應的實體位址或PBA的相關資訊,並且根據此實體位址或PBA的相關資訊存取記憶體裝置,以取得主機裝置130試圖讀取的資料(操作E-3)。UFS裝置可於操作E-3中判斷接收到的HPB項目是否仍為有效。例如,透過前述判斷HPB項目所記載之T2表格內容與記憶體控制器110所維護之最新的T1表格的實體位址是否相符判斷HPB項目是否仍為有效。若HPB項目的內容為有效的,UFS裝置可取得主機裝置130試圖讀取的資料(即,圖中所示之「邏輯區塊資料」),並傳送一或多個送入資料之通用快閃記憶體儲存通訊協定資訊單元(DATA IN UPIU)封包至主機系統,以傳送此資料(操作E-4)給主機系統,並且於資料傳輸完成後傳送回應UPIU封包(操作E-5)至主機系統,其中所述「邏輯區塊資料」係指主機裝置130所選定欲讀取的邏輯位址LBA所對應的資料。另一方面,若判斷接收到的HPB項目為無效的,則UFS裝置可略過操作E-4,直接執行操作E-5,藉由傳送一回應UPIU封包至主機系統,以建議主機系統更新對應的HPB項目。
需注意的是,於本發明之一些實施例中,UFS裝置端可主動地建議主機系統更新HPB項目,例如,於前述操作C-2或操作D-2中UFS裝置端藉由傳送一回應UPIU封包主動地建議主機系統更新HPB項目或建議主機系統活化新的子區域。而於本發明之另一些實施例中,UFS裝置端也可不主動地建議主機系統更新HPB項目。於該些實施例中,UFS裝置端可改為在判斷HPB項目為無效的之後,再藉由傳送一回應UPIU封包至主機系統,以建議主機系統更新對應的HPB項目。例如,UFS裝置於接收到HPB讀取指令後,若於前述操作E-3中判斷HPB項目為無效的,透過回應UPIU封包建議主機系統更新對應的HPB項目。
根據本發明之一實施例,記憶體控制器110可配置一既定記憶體區塊
作為用以自主機裝置130接收資料之一現用(active)記憶體區塊(亦可稱為緩存器),並且對應地於一映射表格中記錄複數邏輯位址。此映射表格可為一實體至邏輯(Physical to Logical,縮寫為P2L)(或稱快閃記憶體至主機(Flash to Host,縮寫為F2H))映射表格。不同於前述儲存於記憶體裝置120的全域或區域L2P映射表格,對應於現用記憶體區塊的P2L映射表格通常被儲存於緩衝記憶體116內,作為一臨時的映射表格。
於本發明之一實施例中,P2L映射表格可包括複數欄位,P2L映射表格之一欄位對應於現用記憶體區塊的一個實體位址,用以記錄此實體位址之映射資訊,其中四個實體位址可對應於一實體資料頁。例如,一實體位址可用以儲存4千位元組(KB)之資料,而一實體資料頁的大小可為16KB。現用記憶體區塊的P2L映射表格內所記錄之一個實體位址的映射資訊為儲存於現用記憶體區塊之該實體位址之資料係指向哪個邏輯位址的實體至邏輯映射資訊。
此外,儲存於記憶體裝置120之全域或區域L2P映射表格(以下一併稱為L2P映射表格)可包括複數欄位,L2P映射表格之一欄位用以記錄一邏輯位址之映射資訊。其中一邏輯位址可對應於一邏輯資料頁。L2P映射表格內所記錄之一邏輯位址或一邏輯資料頁的映射資訊為記憶體裝置之哪個實體位址儲存此邏輯位址或邏輯資料頁之資料的邏輯至實體映射資訊。
一般而言,現用記憶體區塊所對應之P2L映射表格的內容僅會在現用記憶體區塊被寫滿且將被更新為記憶體裝置120內之資料區域的一個資料區塊時,被更新至記憶體裝置120所儲存的L2P映射表格。即,於傳統的設計中,當現用記憶體區塊仍作為現役的緩存器且仍被用於自主機裝置130接收資料時,現用記憶體區塊所對應之P2L映射表格的內容不會被更新至L2P映射表格。因此,當接收到一個帶有主機裝置130所欲讀取之資料之一指定邏輯位址之讀取指令時,記憶體控制器110仍必須先根據指定邏輯位址查找現用記憶體區塊所對應的
P2L映射表格,以判斷現用記憶體區塊是否儲存了指定邏輯位址的資料。若是,由於現用記憶體區塊所儲存的資料為最新的資料,記憶體控制器110將現用記憶體區塊中所儲存的此指定邏輯位址所對應的資料提供給主機裝置130。若否,則記憶體控制器110必須進一步載入L2P映射表格(例如,當未應用HPB相關技術時),並且查找L2P映射表格以取得儲存此欲讀取之指定邏輯位址所對應的資料的實體位址。
然而,如上所述,在映射表格中查找或搜索表格內容為相當耗時的操作。為了解決此問題,並進一步改善記憶體裝置的讀取速度,特別是當應用了HPB相關技術時,於本發明之實施例中,響應於需要建議活化記憶體裝置之一或多個子區域(例如,當HPB應用於裝置控制模式下)或需要傳送一或多個HPB項目(例如,當HPB應用於主機控制模式下)之判斷,記憶體控制器110於傳送一或多個HPB項目至主機裝置130前,直接根據現用記憶體區塊所對應之存有最新映射資訊的P2L映射表格更新L2P映射表格的內容。於L2P映射表格的內容根據現用記憶體區塊所對應之P2L映射表格被更新後,記憶體控制器110可根據記錄了最新映射資訊之L2P映射表格的內容產生HPB項目,並傳送包含此HPB項目之一封包(例如,前述之送入資料之通用快閃記憶體儲存通訊協定資訊單元(DATA IN UPIU)封包)至主機裝置130。
第7圖係顯示根據本發明之一實施例所述之可改善記憶體裝置之讀取速度之資料處理方法流程圖。此方法係由記憶體控制器110所執行,並且可包括以下步驟:
步驟S702:於傳送一或多個HPB項目至主機裝置前,根據現用記憶體區塊所對應之P2L映射表格更新L2P映射表格的內容。根據本發明之一實施例,步驟S702的執行可響應於需要建議活化記憶體裝置之一或多個子區域(例如,當HPB應用於裝置控制模式下)之判斷或需要送一或多個HPB項目(例如,當
HPB應用於主機控制模式下)之判斷。
步驟S704:根據更新過的L2P映射表格產生所述HPB項目。
步驟S706:傳送包含所述HPB項目之一封包(例如,DATA IN UPIU封包)至主機裝置。
根據本發明之一實施例,於根據現用記憶體區塊所對應之P2L映射表格更新L2P映射表格的內容時,無論目前現用記憶體區塊是否已被寫滿,現用記憶體區塊所對應之P2L映射表格所記錄的映射資訊皆會被更新至L2P映射表格。換言之,於本發明之實施例中,步驟S702可於現用記憶體區塊尚未被寫滿並且仍被用於自主機裝置130接收資料使用時被執行。因此,於本發明之實施例中,於根據現用記憶體區塊所對應之P2L映射表格更新L2P映射表格的內容時,現用記憶體區塊的狀態可以是已被寫滿或尚未被寫滿。
此外,根據本發明之一實施例,記憶體控制器110可響應於一HPB讀取緩衝指令之接收而判斷需要傳送一或多個HPB項目至主機裝置130。更具體的說,當HPB應用於主機控制模式下,或者當資料儲存裝置100被配置為於主機控制模式下支援HPB時,於自主機裝置130接收HPB讀取緩衝指令後,記憶體控制器110可判斷接下來需要傳送一或多個HPB項目至主機裝置130。
根據本發明之另一實施例,當HPB應用於裝置控制模式下,或者當資料儲存裝置100被配置為於裝置控制模式下支援HPB時,當記憶體裝置110確認要被活化的新的子區域時,記憶體裝置110可決定需要向主機裝置建議活化記憶體裝置之一或多個子區域。於本發明之實施例中,記憶體裝置110可於執行垃圾回收操作後確認要被活化的新的子區域。
參考回如第3圖所示之於主機控制模式下的操作,於本發明的實施例中,第7圖的步驟S702可合併於操作A-3。即,在將L2P映射表格的一選定部分所記載的內容整理為HPB項目前,其中此L2P映射表格的選定部分係主機系統於
HPB讀取緩衝指令內具體指出要被活化的子區域所對應的部分,無論目前現用記憶體區塊是否已被寫滿,記憶體控制器110直接根據現用記憶體區塊所對應之P2L映射表格更新L2P映射表格的內容。於更新L2P映射表格的內容後,記憶體控制器110可將L2P映射表格的所述選定部分所記載的內容整理為HPB項目,用以根據有著最新映射資訊的L2P映射表格所記錄的映射資訊產生HPB項目,並且將包含HPB項目的DATA IN UPIU封包傳送至主機裝置130。
參考回如第4圖所示之於裝置控制模式下的操作,於本發明的其他實施例中,第7圖的步驟S702可合併於UFS裝置端的操作D-1或D-5,或者可於操作D-1或D-5之間被插入。當步驟S702合併於操作D-1時,記憶體控制器110可在確認要被活化的新的子區域(因而判斷需要建議活化記憶體裝置之一或多個子區域)時,於操作D-1中直接根據現用記憶體區塊所對應之P2L映射表格更新L2P映射表格的內容。例如,記憶體控制器110可於傳送回應UPIU封包至主機系統用以建議活化新的子區域/或去活化選定的區域之前,根據現用記憶體區塊所對應之P2L映射表格更新L2P映射表格的內容。當步驟S702合併於操作D-5時,記憶體控制器110可在將L2P映射表格的一選定部分所記載的內容整理為HPB項目前,其中此L2P映射表格的選定部分係主機系統於HPB讀取緩衝指令內具體指出要被活化的子區域所對應的部分,直接根據現用記憶體區塊所對應之P2L映射表格更新L2P映射表格的內容。於更新L2P映射表格的內容後,記憶體控制器110可將L2P映射表格中選定部分所記載的內容整理為HPB項目,用以根據有著最新映射資訊的L2P映射表格所記錄的映射資訊產生HPB項目,並且將包含HPB項目的DATA IN UPIU封包傳送至主機裝置130。
於本發明之實施例中,當記憶體控制器110知道需要將HPB項目提供給主機裝置130時,在提供HPB項目前,藉由直接根據可能仍正在被使用(或,尚未被寫滿)的現用記憶體區塊所對應之P2L映射表格更新L2P映射表格的內容,可
使得提供給主機裝置130的HPB項目具有最新的映射資訊。由於提供給主機裝置130的HPB項目具有最新的映射資訊,當主機裝置130欲讀取資料時,記憶體控制器110可省略傳統技藝中所需要的根據主機裝置130所欲讀取之指定的邏輯位址查找現用記憶體區塊所對應之P2L映射表格的操作,因此,可有效加速讀取操作。
以上所述僅為本發明之較佳實施例,凡依本發明申請專利範圍所做之均等變化與修飾,皆應屬本發明之涵蓋範圍。
100:資料儲存裝置
110:記憶體控制器
112:微處理器
112C:程式碼
112M:唯讀記憶體
114:記憶體介面
116:緩衝記憶體
118:主機介面
120:記憶體裝置
130:主機裝置
132:編碼器
134:解碼器
Claims (12)
- 一種資料儲存裝置,包括:一記憶體裝置,包括複數記憶體區塊;以及一記憶體控制器,耦接至該記憶體裝置,用以存取該記憶體裝置,其中該記憶體控制器配置一既定記憶體區塊作為用以自一主機裝置接收資料之一現用記憶體區塊,並且對應地於一第一映射表格中記錄該現用記憶體區塊之至少一實體位址之一實體至邏輯映射資訊,其中響應於需要建議活化該記憶體裝置之一或多個子區域或傳送一或多個主機性能增強器(Host Performance Booster,縮寫HPB)項目之判斷,該記憶體控制器更於傳送該一或多個HPB項目至該主機裝置前,根據該第一映射表格更新一第二映射表格,其中該第二映射表格記錄至少一邏輯位址之一邏輯至實體映射資訊,並且其中該記憶體控制器更於該第二映射表格根據該第一映射表格被更新後,根據該第二映射表格產生該一或多個HPB項目,並且傳送包含該一或多個HPB項目之一封包至該主機裝置。
- 如申請專利範圍第1項所述之資料儲存裝置,其中於根據該第一映射表格更新該第二映射表格時,該現用記憶體區塊已被寫滿或尚未被寫滿。
- 如申請專利範圍第1項所述之資料儲存裝置,其中該記憶體控制器響應於一HPB讀取緩衝指令之接收而判斷需要傳送該一或多個HPB項目至該主機裝置。
- 如申請專利範圍第1項所述之資料儲存裝置,其中該記憶體控制器 於傳送用以建議活化該記憶體裝置之該一或多個子區域之一回應封包至該主機裝置前,根據該第一映射表格更新該第二映射表格。
- 如申請專利範圍第4項所述之資料儲存裝置,其中該回應封包為一回應通用快閃記憶體儲存(Universal Flash Storage,縮寫為UFS)通訊協定資訊單元(UFS Protocol Information Unit,縮寫為UPIU)封包。
- 如申請專利範圍1項所述之資料儲存裝置,其中該第一映射表格為被儲存於該記憶體控制器之一緩衝記憶體之一暫時的映射表格,並且該第二映射表格被儲存於該記憶體裝置。
- 一種資料處理方法,適用於一資料儲存裝置,其中該資料儲存裝置包括一記憶體裝置與一記憶體控制器,該記憶體裝置包括複數記憶體區塊,該記憶體控制器耦接至該記憶體裝置用以存取該記憶體裝置,該資料處理方法由該記憶體控制器所執行並包括:配置一既定記憶體區塊作為用以自一主機裝置接收資料之一現用記憶體區塊,並且對應地於一第一映射表格中記錄該現用記憶體區塊之至少一實體位址之一實體至邏輯映射資訊;響應於需要建議活化該記憶體裝置之一或多個子區域或傳送一或多個主機性能增強器(Host Performance Booster,縮寫HPB)項目之判斷,於傳送該一或多個HPB項目至該主機裝置前根據該第一映射表格更新一第二映射表格,其中該第二映射表格用以記錄至少一邏輯位址之一邏輯至實體映射資訊;於該第二映射表格根據該第一映射表格被更新後根據該第二映射表格產生該一或多個HPB項目;以及 傳送包含該一或多個HPB項目之一封包至該主機裝置。
- 如申請專利範圍7項所述之資料處理方法,其中於執行根據該第一映射表格更新該第二映射表格之操作時,該現用記憶體區塊已被寫滿或尚未被寫滿。
- 如申請專利範圍7項所述之資料處理方法,其中響應於一HPB讀取緩衝指令之接收而判斷需要傳送該一或多個HPB項目至該主機裝置。
- 如申請專利範圍7項所述之資料處理方法,更包括:響應於需要建議活化該記憶體裝置之該一或多個子區域之判斷而傳送用以建議活化該記憶體裝置之該一或多個子區域之一回應封包至該主機裝置,其中根據該第一映射表格更新該第二映射表格之操作係於傳送該回應封包前被執行。
- 如申請專利範圍10項所述之資料處理方法,其中該回應封包為一回應通用快閃記憶體儲存(Universal Flash Storage,縮寫為UFS)通訊協定資訊單元(UFS Protocol Information Unit,縮寫為UPIU)封包。
- 如申請專利範圍7項所述之資料處理方法,其中該第一映射表格為被儲存於該記憶體控制器之一緩衝記憶體之一暫時的映射表格,並且該第二映射表格被儲存於該記憶體裝置。
Priority Applications (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110052638.XA CN113900582A (zh) | 2020-06-22 | 2021-01-15 | 数据处理方法及对应的数据储存装置 |
US17/242,332 US11614885B2 (en) | 2020-06-22 | 2021-04-28 | Data processing method for improving access performance of memory device and data storage device utilizing the same |
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US202063042539P | 2020-06-22 | 2020-06-22 | |
US63/042,539 | 2020-06-22 |
Publications (2)
Publication Number | Publication Date |
---|---|
TW202201219A TW202201219A (zh) | 2022-01-01 |
TWI766431B true TWI766431B (zh) | 2022-06-01 |
Family
ID=80787883
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
TW109139250A TWI766431B (zh) | 2020-06-22 | 2020-11-11 | 資料處理方法及對應之資料儲存裝置 |
Country Status (1)
Country | Link |
---|---|
TW (1) | TWI766431B (zh) |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101644995A (zh) * | 2008-08-05 | 2010-02-10 | 晶天电子(深圳)有限公司 | 多层控制多闪存装置、存储装置和数据分割固态硬盘 |
US20140281361A1 (en) * | 2013-03-15 | 2014-09-18 | Samsung Electronics Co., Ltd. | Nonvolatile memory device and related deduplication method |
WO2019222381A1 (en) * | 2018-05-18 | 2019-11-21 | Micron Technology, Inc. | Host accelerated operations in managed nand devices |
TW202042068A (zh) * | 2019-05-02 | 2020-11-16 | 慧榮科技股份有限公司 | 資料儲存裝置與資料處理方法 |
-
2020
- 2020-11-11 TW TW109139250A patent/TWI766431B/zh active
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101644995A (zh) * | 2008-08-05 | 2010-02-10 | 晶天电子(深圳)有限公司 | 多层控制多闪存装置、存储装置和数据分割固态硬盘 |
US20140281361A1 (en) * | 2013-03-15 | 2014-09-18 | Samsung Electronics Co., Ltd. | Nonvolatile memory device and related deduplication method |
WO2019222381A1 (en) * | 2018-05-18 | 2019-11-21 | Micron Technology, Inc. | Host accelerated operations in managed nand devices |
TW202042068A (zh) * | 2019-05-02 | 2020-11-16 | 慧榮科技股份有限公司 | 資料儲存裝置與資料處理方法 |
Also Published As
Publication number | Publication date |
---|---|
TW202201219A (zh) | 2022-01-01 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US11614885B2 (en) | Data processing method for improving access performance of memory device and data storage device utilizing the same | |
TWI592799B (zh) | 映射表更新方法、記憶體控制電路單元及記憶體儲存裝置 | |
CN107590080B (zh) | 映射表更新方法、存储器控制电路单元及存储器存储装置 | |
CN113961140B (zh) | 数据处理方法及对应的数据储存装置 | |
CN113885778B (zh) | 数据处理方法及对应的数据储存装置 | |
TWI777720B (zh) | 用來藉助於裝置側表資訊而在主機效能增幅器架構中進行記憶裝置的存取管理的方法及設備 | |
US10339045B2 (en) | Valid data management method and storage controller | |
US11630602B2 (en) | Method and apparatus for performing access management of a memory device with aid of dedicated bit information | |
CN113885779B (zh) | 数据处理方法及对应的数据储存装置 | |
TWI758944B (zh) | 資料處理方法及對應之資料儲存裝置 | |
TW201935232A (zh) | 記憶體管理方法及使用所述方法的儲存控制器 | |
US11636042B2 (en) | Data processing method for improving access performance of memory device and data storage device utilizing the same | |
TWI766526B (zh) | 資料處理方法及對應之資料儲存裝置 | |
TWI766431B (zh) | 資料處理方法及對應之資料儲存裝置 | |
TWI808010B (zh) | 資料處理方法及對應之資料儲存裝置 | |
TWI814590B (zh) | 資料處理方法及對應之資料儲存裝置 | |
TWI808011B (zh) | 資料處理方法及對應之資料儲存裝置 | |
TW202414221A (zh) | 資料處理方法及對應之資料儲存裝置 |