TWI652571B - 記憶體裝置之管理系統及管理方法 - Google Patents
記憶體裝置之管理系統及管理方法 Download PDFInfo
- Publication number
- TWI652571B TWI652571B TW106126865A TW106126865A TWI652571B TW I652571 B TWI652571 B TW I652571B TW 106126865 A TW106126865 A TW 106126865A TW 106126865 A TW106126865 A TW 106126865A TW I652571 B TWI652571 B TW I652571B
- Authority
- TW
- Taiwan
- Prior art keywords
- tracking
- layer
- original address
- data
- original
- Prior art date
Links
Landscapes
- Storage Device Security (AREA)
Abstract
本發明揭露一種記憶體裝置之管理系統。管理系統用以管理一記憶體裝置。記憶體裝置具有多個子晶片。各子晶片包括一容納區塊與一資料區塊。管理系統包括一處理器以及一熱資料追蹤裝置。處理器耦接至記憶體裝置。處理器依據子晶片之個別溫度從子晶片中選擇一目標子晶片。熱資料追蹤裝置耦接至處理器。熱資料追蹤裝置包括多個追蹤層。當處理器欲存取儲存在資料區塊其中之一之一第一原始資料時,熱資料追蹤裝置從處理器取得第一原始資料之一第一原始位址。當熱資料追蹤裝置判斷第一原始位址已記錄於熱資料追蹤裝置之追蹤層其中之一時,熱資料追蹤裝置依據記錄有第一原始位址之追蹤層之一當前追蹤層指示處理器於目標子晶片的容納區塊內存取對應於第一原始資料之一第一複製資料。當熱資料追蹤裝置判斷第一原始位址未記錄於熱資料追蹤裝置時,處理器依照第一原始位址從資料區塊內存取第一原始資料。
Description
本發明是有關於一種記憶體裝置之管理系統及管理方法。
記憶體(memory)可應用於多種電子裝置。記憶體可分為揮發性記憶體(volatile memory)與非揮發性記憶體(non-volatile memory,NVM)。部分的非揮發性記憶體例如快閃記憶體(flash memory)、相變記憶體(phase-change memory,PCM)等具有熱效應(Thermal Effect)。熱效應可能影響記憶體的耐久度(endurance)及寫入速度(write capability),例如高溫的記憶體晶片具有較高的耐久度及較低的耗能。
因此,善加利用記憶體的熱效應,以提高記憶體的可靠度(reliability)及效能(performance),已然成為一個重要的課題。
本發明實施例係揭露一種記憶體裝置之管理系統。管理系統用以管理一記憶體裝置。記憶體裝置具有多個子晶片。各子晶片包括一容納區塊與一資料區塊。管理系統包括一處理器
以及一熱資料追蹤裝置。處理器耦接至記憶體裝置。處理器依據子晶片之個別溫度從子晶片中選擇一目標子晶片。熱資料追蹤裝置耦接至處理器。熱資料追蹤裝置包括多個追蹤層。當處理器欲存取儲存在資料區塊其中之一之一第一原始資料時,熱資料追蹤裝置從處理器取得第一原始資料之一第一原始位址。當熱資料追蹤裝置判斷第一原始位址已記錄於熱資料追蹤裝置之追蹤層其中之一時,熱資料追蹤裝置依據記錄有第一原始位址之追蹤層之一當前追蹤層指示處理器於目標子晶片的容納區塊內存取對應於第一原始資料之一第一複製資料。當熱資料追蹤裝置判斷第一原始位址未記錄於熱資料追蹤裝置時,處理器依照第一原始位址從資料區塊內存取第一原始資料。
本發明實施例揭露一種記憶體裝置之管理方法。管理方法用以管理一記憶體裝置。記憶體裝置具有多個子晶片,各子晶片包括一容納區塊與一資料區塊。管理方法包括下列步驟:一處理器依據子晶片之個別溫度選擇一目標子晶片;當處理器欲存取在資料區塊其中之一之一第一原始資料時,一熱資料追蹤裝置取得第一原始資料之一第一原始位址;當熱資料追蹤裝置判斷第一原始位址已記錄於複數個追蹤層其中之一時,處理器依據記錄有第一原始位址之追蹤層之一當前追蹤層,於目標子晶片的容納區塊內存取對應於第一原始資料之一第一複製資料;當熱資料追蹤裝置判斷第一原始位址未記錄於追蹤層時,處理器依照第一原始位址從資料區塊內存取第一原始資料。
為了對本發明之上述及其他方面有更佳的瞭解,下文特舉實施例,並配合所附圖式詳細說明如下:
1‧‧‧管理系統
110‧‧‧處理器
130‧‧‧熱資料追蹤裝置
22‧‧‧記憶體裝置
210_1~210_n‧‧‧子晶片
215_1~215_s‧‧‧溫度感測元件
310‧‧‧工作記憶體
315‧‧‧邏輯電路
310_0‧‧‧觀察層
310_1~310_m‧‧‧追蹤層
Carea_2‧‧‧容納區塊
Carea_2_1~Carea_2_m、Carea_i_1‧‧‧子容納區塊
Carea_i_1_1~Carea_i_1_m‧‧‧儲存單位
OAD1‧‧‧第一原始位址
OAD2‧‧‧第二原始位址
NAD_1_1~NAD_j_p‧‧‧存取位址
Darea_2‧‧‧資料區塊
第1圖繪示依據本發明實施例之記憶體裝置之管理系統的系統方塊圖。
第2圖繪示依據本發明實施例之記憶體裝置的系統方塊圖。
第3A圖繪示依據本發明實施例之熱資料追蹤裝置的系統方塊圖。
第3B圖繪示依據本發明實施例之追蹤層與子容納區塊的映射關係的示意圖。
第4A圖~第4C圖繪示依據本發明實施例之記憶體裝置之管理方法的流程圖。
第5圖~第15圖繪示依據本發明實施例之記憶體裝置之管理方法的各操作示意圖。
請參照第1圖,第1圖繪示的是依據本發明實施例之記憶體裝置之管理系統的系統方塊圖。如第1圖所示,依據本發明實施例之管理系統1用以管理記憶體裝置(memory device)22。管理系統1包括處理器(central processing unit,CPU)110以及熱資料追蹤裝置(hot data tracking device)130。處理器110耦接至記憶體裝置22與熱資料追蹤裝置130。
本發明實施例所稱之「熱資料(hot data)」是指頻繁地被存取的資料。另外,下文所稱之「潛在熱資料(potential hot data)」是指未來可能被判定為熱資料的資料,但目前尚未被判定為熱資料。熱資料追蹤裝置130可用於追蹤熱資料,並根據潛在熱資料的存取頻率決定潛在熱資料是否足以升級為熱資料,或者根據熱資料的存取頻率決定是否將熱資料降級為潛在熱資料,或者根據潛在熱資料的存取頻率決定是否將潛在熱資料降級為一般資料。熱資料追蹤裝置130可根據熱資料的存取頻率高低進行熱度分級。換言之,存取頻率越高的資料熱度級別越高。因此,對於熱度級別越高的資料,處理器110可使用越高的寫入速度進行存取,如此可以提高整體存取速度。至於熱資料追蹤裝置130的細節將於下文說明之。
請參照第2圖,第2圖繪示的是依據本發明實施例之記憶體裝置的方塊圖。記憶體裝置22包括多個子晶片(sub-chip)210_1~210_n(n為正整數,n代表子晶片的數量)及多個溫度感測元件(thermal sensor)215_1~215_s(s為正整數,s代表溫度感測元件的數量)。溫度感測元件215_1~215_s可用以偵測子晶片210_1~210_n的溫度,並將偵測結果回報給處理器110。
請同時參照第1圖與第2圖,在本發明實施例中,處理器110於各子晶片210_1~210_n內分別虛擬設置容納區塊(container area)Carea_1~Carea_n(圖未示出)與資料區塊Darea_1~Darea_n(圖未示出),並在各容納區塊Carea_i中設置多個子容納區塊(sub-container)Carea_i_1~Carea_i_m(m為正整數,m代表各容納區塊
中的子容納區塊的數量,且i=1,2,...n)。處理器110虛擬設定各子容納區塊Carea_1_1~Carea_n_m以對應至個別的寫入模式(programing mode),寫入模式有關於處理器110對該些子容納區塊Carea_1_1~Carea_n_m的寫入速度。各子容納區塊Carea_1_1~Carea_n_m的寫入模式可以相同或不相同。舉例來說,處理器110將子晶片210_2的儲存空間虛擬劃分為容納區塊Carea_2及資料區塊Darea_2,並將容納區塊Carea_2虛擬劃分為多個子容納區塊Carea_2_1~Carea_2_m。處理器110將各子容納區塊Carea_2_1~Carea_2_m虛擬劃分為多個相同大小的儲存單位,例如處理器110將子容納區塊Carea_2_1劃分為多個儲存單位Carea_2_1_1~Carea_2_1_p(p為正整數,p代表各子容納區塊中的儲存單位的數量)。各子容納區塊Carea_1_1~Carea_n_m所包含的儲存單位的數量相同。儲存單位在本實施例中可以是一條快取線(cache line),但本案不受限於此。各子晶片210_1~210_n的各資料區塊Darea_1~Darea_n用於存放原始資料,每一筆原始資料都有一個對應的原始位址(original address,OAD),原始位址代表的是存放原始資料的記憶體位址。例如,如果資料區塊Darea_2內的第一原始資料被熱資料追蹤裝置130由「潛在熱資料」升級為「熱資料」時,處理器110將該筆第一原始資料複製到目標子晶片的容納區塊內,並可在目標子晶片的容納區塊內對該筆第一原始資料(其已為「熱資料」)的複製資料(即第一複製資料)進行讀寫(但不存取資料區塊Darea_2內的第一原始資料)。而當該筆第一原始資料被熱資料追蹤裝置130由「熱資料」降級
為「潛在熱資料」時,處理器110將該筆第一複製資料(可能已被讀寫過而與第一原始資料不同)由目標子晶片的容納區塊寫回資料區塊Darea_2並覆蓋第一原始資料,且之後,處理器110改為存取存在資料區塊Darea_2內的該筆資料。
此外,在一例中,在子容納區塊Carea_i_1~Carea_i_m之中,由子容納區塊Carea_i_1至Carea_i_m的個別寫入速度遞增,當然,本發明實施例並不受限於此。
請參照第3A圖,第3A圖繪示的是依據本發明實施例之熱資料追蹤裝置的方塊圖。熱資料追蹤裝置130包括工作記憶體310及邏輯電路315。邏輯電路315耦接至工作記憶體310與處理器110。處理器110可例如是透過位址匯流排及資料匯流排耦接至記憶體裝置22。處理器110更透過位址匯流排耦接至熱資料追蹤裝置130。
工作記憶體310虛擬劃分成觀察層(watching layer)310_0及多個追蹤層(tracking layer)310_1~310_m。追蹤層310_1~310_m可與各子晶片210_i的該些子容納區塊Carea_i_1~Carea_i_m具有相同的數量,且一對一映射。例如追蹤層310_1映射至子容納區塊Carea_i_1,追蹤層310_2映射至子容納區塊Carea_i_2,以此類推。
觀察層310_0包括多個觀察欄位,每一觀察欄位包括原始位址項目及存取位元項目。觀察欄位的原始位址項目用以記錄潛在熱資料的原始位址,即當某一原始資料被判定為潛在熱資料時,該筆原始資料的原始位址(位於資料區塊Darea_1~Darea_n其中之一)將被
記錄至觀察欄位的原始位址項目。觀察欄位的存取位元項目用以記錄潛在熱資料的存取狀況,存取位元項目可為0或1。當某一筆原始資料被升級為潛在熱資料,該筆原始資料的原始位址被記錄至觀察欄位的原始位址項目時,對應的存取位元將設為0;當該筆潛在熱資料再次被存取,對應的存取位元將由0設為1;倘若有另一筆原始資料試圖取代該筆潛在熱資料時,該筆潛在熱資料的對應的存取位元將由1重設為0。
追蹤層310_1~310_m分別包括多個追蹤欄位,每一追蹤欄位包括存取位址項目、原始位址項目及存取位元項目。追蹤欄位的原始位址項目用以記錄熱資料的原始位址,即當某一筆原始資料被判定為「熱資料」時,該筆原始資料的原始位址(位於資料區塊Darea_1~Darea_n其中之一)將被記錄至追蹤欄位的原始位址項目。追蹤欄位的存取位元項目用以記錄熱資料的存取狀況,存取位元項目可為0或1。當某一筆原始資料被升級為熱資料,該筆原始資料的原始位址被記錄至追蹤欄位的原始位址項目時,對應的存取位元將設為0。當該筆熱資料再次被存取,對應的存取位元將由0設為1。倘若有另一筆原始資料試圖取代該筆熱資料,該筆熱資料的對應的存取位元將由1重設為0。存取位址項目的細節於下文搭配第3B圖說明之。
請參照第3B圖所示,各追蹤層310_1~310_m的追蹤欄位可與各子容納區塊Carea_i_j的儲存單位Carea_i_j_1~Carea_i_j_p具有相同的數量,且一對一映射(i=1,2,...n,j=1,2,...m)。以追蹤層310_1為例,如果追蹤層310_1對應至子容納區塊Carea_i_1,則追蹤層310_1的追蹤欄位的存取位址項目所記錄的存取位址NAD_1_1~NAD_1_p分
別對應至子晶片Carea_i_1的儲存單位Carea_i_1_1~Carea_i_1_p。可以理解的是,存取位址NAD_j_1可以是指向儲存單位Carea_i_j_1的指標,或者存取位址NAD_j_1即儲存單位Carea_i_j_1所在的記憶體位址。相對於原始位址而言,存取位址是一個新位址(new address,NAD),用以存放已被判定為熱資料的原始資料的複製資料。舉例來說,當某一原始資料由潛在熱資料升級為熱資料,該筆原始資料的原始位址將被記錄至對應存取位址NAD_1_1的追蹤欄位,熱資料追蹤裝置130將依據存取位址NAD_1_1指示處理器110將該筆原始資料由原始位址複製至儲存單位Carea_i_1_1,以成為該筆原始資料的複製資料。當該筆原始資料的原始位址仍被記錄在對應儲存單位Carea_i_1_1的追蹤欄位時,每當處理器110欲存取該筆原始資料,熱資料追蹤裝置130就會指示處理器110改為存取儲存單位Carea_i_1_1內儲存的該筆複製資料,也就是處理器110是對該筆複製資料進行讀寫操作,而非對該筆原始資料進行讀寫操作。
以上說明是對本發明的概念進行概略性的描述,以下將參照第4A圖~第4C圖,同時搭配第1圖~第3B圖,對本發明實施例之記憶體裝置管理系統的運作進行詳細說明。
在步驟S400中,處理器110依據由溫度感測元件215_1~215_s所回報的子晶片210_1~210_n的溫度,從子晶片210_1~210_n之中選擇一目標子晶片210_i。在本實施例中,處理器110係選擇子晶片210_1~210_n中溫度最高者為目標子晶片210_i,若有多個子晶片溫度同為溫度最高者時,處理器110可從同樣具有最高溫的子
晶片中隨機選擇或選擇具有較佳耐久性(endurance)者為目標子晶片,耐久度代表子晶片210_1~210_n的可被寫入的殘餘次數。舉例來說,子晶片210_1~210_n的可被寫入次數初始值為一千萬次(即最大耐久度為一千萬次),當某一具有最高溫的子晶片的耐久度剩餘一百萬次時(即已被寫入九百萬次),該子晶片會被排除在目標子晶片的候選名單之外。當處理器110選出目標子晶片210_i,熱資料追蹤裝置130的邏輯電路315將追蹤層310_1~310_m分別對應到目標子晶片210_i的子容納區塊Carea_i_1~Carea_i_m。
在步驟S401中,當處理器110欲存取記憶體裝置22內的第一原始資料時,熱資料追蹤裝置130會取得第一原始資料之第一原始位址OAD1。第一原始資料可以是儲存於子晶片210_1~210_n內的資料區塊Darea_1~Darea_n。也就是說,當處理器110欲存取位於資料區塊Darea_x(x=1,2,...n)的第一原始資料時,處理器110會將第一原始資料的第一原始位址OAD1傳送至熱資料追蹤裝置130,由熱資料追蹤裝置130的邏輯電路315接收第一原始位址OAD1。
在步驟S403中,熱資料追蹤裝置130判斷第一原始位址OAD1是否已被追蹤。也就是說,邏輯電路315判斷第一原始位址OAD1是否已記錄於觀察層310_0或追蹤層310_1~310_m其中之一。當第一原始位址OAD1未被追蹤,執行步驟S405;當第一原始位址OAD1已被追蹤,則執行步驟S417。
在步驟S405中,熱資料追蹤裝置130依據第一原始位址OAD1於觀察層310_0的觀察欄位中選擇一目標觀察欄位,並判斷目標
觀察欄位是否為空。詳細來說,邏輯電路315依據第一原始位址OAD1進行例如雜湊函數(hash function)的運算得到一雜湊值,再依據雜湊值於觀察層中選擇目標觀察欄位。接著,邏輯電路315檢查目標觀察欄位的原始位址項目中是否已記錄有其他的原始位址。若目標觀察欄位的原始位址項目未記錄有其他的原始位址,則邏輯電路315判斷目標觀察欄位為空;反之,若目標觀察欄位的原始位址項目已記錄有其他的原始位址,則邏輯電路315判斷目標觀察欄位為非空。當邏輯電路315判斷目標觀察欄位為空,執行步驟S407;當邏輯電路315判斷目標觀察欄位為非空時,則執行步驟S409。
在步驟S407中,熱資料追蹤裝置130將第一原始位址OAD1記錄至觀察層310_0的目標觀察欄位。詳細來說,如第5圖所示,當目標觀察欄位的原始位址項目是空的時,邏輯電路315可將第一原始位址OAD1記錄於目標觀察欄位的原始位址項目,並將第一原始位址OAD1的存取位元設為0。在這種情況下,熱資料追蹤裝置130不會對處理器110發送進一步的指示,而處理器110可依據第一原始位址OAD1存取第一原始資料。
在步驟S409中,目標觀察欄位的原始位址項目已記錄有第二原始位址OAD2,此時熱資料追蹤裝置130的邏輯電路315進一步判斷記錄於觀察層310_0的第二原始位址OAD2的存取位元為0或1。當第二原始位址的存取位元為0,執行步驟S411;當第二原始位址OAD2的存取位元為1,則執行步驟S413。
在步驟S411中,當邏輯電路315判斷記錄於觀察層310_0的第二原始位址OAD2的存取位元為0,代表位於第二原始位址OAD2的第二原始資料自從存取位元被重設為0後未被存取過。如第6圖所示,邏輯電路315便判定第一原始資料為潛在熱資料,而將第一原始位址OAD1取代第二原始位址OAD2,也就是邏輯電路315將第一原始位址OAD1記錄於觀察層310_0的目標觀察欄位的原始位址項目內,並將第一原始位址OAD1的存取位元設為0。在這種情況下,熱資料追蹤裝置130不會對處理器110發送進一步的指示,而處理器110可依據第一原始位址OAD1存取第一原始資料。
在步驟S413中,當邏輯電路315判斷記錄於觀察層310_0的第二原始位址OAD2的存取位元為1,這代表於第二原始位址OAD2的存取位元自從被重設為0後,位於第二原始位址OAD2的第二原始資料又再次被存取過。如第7圖所示,邏輯電路315判定第二原始資料仍是潛在熱資料,而將第二原始位址OAD2的存取位元設為0。在這種情況下,熱資料追蹤裝置130不會對處理器110發送進一步的指示,而處理器110可依據第一原始位址存OAD1取第一原始資料。
亦即,在本發明實施例中,當第一原始位址OAD1未被追蹤時,邏輯電路315試著將第一原始位址OAD1記錄於觀察層310_0中。當觀察層310_0的目標觀察欄位為空時,邏輯電路315將第一原始位址OAD1記錄於觀察層310_0的目標觀察欄位內,且將記錄於觀察層310_0的第一原始位址OAD1的存取位元設為0。當觀察層310_0的目標觀察欄位為非空時(亦即,已記錄第二原始位址OAD2),且第二原始位
址OAD2的存取位元為0時,邏輯電路315將第一原始位址OA1取代第二原始位址OAD2,並將第一原始位址OAD1的存取位元設為0。當觀察層310_0的目標觀察欄位為非空時(亦即,已記錄第二原始位址OAD2),且目第二原始位址OAD2的存取位元為1時,邏輯電路315將第二原始位址OAD2的存取位元重設為0(但不將第一原始位址OAD1記錄至目標觀察欄位內)。
如果第一原始位址OAD1已被追蹤,代表第一原始位址OAD1可能是記錄於觀察層310_0之中的當前觀察欄位,或者記錄於追蹤層310_j(j=1,2,...m)中的當前追蹤欄位。在步驟S417中,不論第一原始位址OAD1記錄於觀察層310_0或當前追蹤層310_j,熱資料追蹤裝置130的邏輯電路315判斷第一原始位址OAD1的的存取位元為0或1。當邏輯電路315判斷第一原始位址OAD1的存取位元為0時,執行步驟S419;當邏輯電路315判斷第一原始位址OAD1的存取位元為1時,則執行步驟S421。
在步驟S419中,當第一原始位址OAD1記錄在觀察層310_0時,如第8圖所示,邏輯電路315將記錄於觀察層310_0的第一原始位址OAD1的存取位元設為1。熱資料追蹤裝置130不會對處理器110發送進一步的指示,而處理器110可依據第一原始資料OAD1存取第一原始資料。
當第一原始地址OAD1記錄在當前追蹤層310_j時,如第9圖所示,邏輯電路315將記錄於當前追蹤層310_j的第一原始位址OAD1的存取位元設為1,且熱資料追蹤電路130依據第一原始位址
OAD1所對應的第一存取位址NAD_j_1(即當前追蹤欄位的存取位址項目所記錄的內容)指示處理器110改為存取第二儲存單位Carea_i_j_1(即位於目標子晶片210_i的子容納區塊Carea_i_j)內的第一複製資料(而非依據第一原始位址OAD1存取第一原始資料)。
步驟S419說明了兩種情況。一種情況是第一原始位址OAD1記錄於觀察層310_0,且第一原始位址OAD1的存取位元是0,這代表第一原始資料已被判定為潛在熱資料,但尚未被判定為熱資料,且第一原始資料自存取位元重設為0後未被存取過。所以,第一原始資料不會被複製到目標子晶片210_i的容納區塊Carea_i。處理器110仍依據第一原始位址OAD1存取第一原始資料。另一種情況是第一原始位址OAD1記錄於當前追蹤層310_j,且第一原始位址OAD1的存取位元是0,這代表第一原始資料已被判定為熱資料,且第一原始資料已被複製到子容納區塊Carea_i_j的第二儲存單位Carea_i_j_1,亦即第二儲存單位Carea_i_j_1內儲存有第一複製資料。因此,熱資料追蹤裝置130會依據第一存取位址NAD_j_1指示處理器110存取第一儲存單位Carea_i_j_1內的第一複製資料。
在步驟S421中,熱資料追蹤裝置130的邏輯電路315依據第一原始位址OAD1在一下一級追蹤層310_(j+1)的追蹤欄位中選擇一目標追蹤欄位,並判斷目標追蹤欄位是否為空。在本案實施例中,所謂下一級追蹤層310_(j+1)指的是,熱度級別比記錄有第一原始位址OAD1的當前追蹤層310_j高一級的追蹤層。舉例來說,當第一原始位址OAD1是記錄在熱度級別最低的追蹤層310_1,則下一級追蹤層即為
追蹤層310_2,以此類推。而對於觀察層310_0來說,下一級追蹤層即熱度級別最低的追蹤層310_1。需要注意的是,當第一原始位址OAD1記錄於熱度級別最高的追蹤層310_m,由於不存在下一級追蹤層,邏輯電路315便無須再到下一級追蹤層中尋找目標追蹤欄位,而可以直接結束本流程。當下一級追蹤層310_(j+1)的目標追蹤欄位為空,執行步驟S423;當下一級追蹤層310_(j+1)的目標追蹤欄位為非空,則執行步驟S425。邏輯電路315例如是藉由依據第一原始位址OAD1進行雜湊函數運算以選擇下一級追蹤層310_(j+1)的目標追蹤欄位。步驟S421是用以判斷第一原始資料是否可升級熱度級別。換言之,當第一原始位址OAD1記錄於觀察層310_0時,步驟421是用以檢查第一原始資料是否可由潛在熱資料升級熱資料;當第一原始位址OAD1記錄於當前追蹤層310_j時,步驟421是用以檢查是否可升級第一原始資料(已被判定為熱資料)的熱度級別。
在步驟S423中,熱資料追蹤裝置130的邏輯電路315將第一原始位址OAD1記錄至下一級追蹤層310_(j+1)的目標追蹤欄位的原始位址項目,將記錄於下一級追蹤層310_(j+1)的第一原始位址OAD1的存取位元(即目標追蹤欄位的存取位元項目)設為0,並將當前觀察欄位(當第一原始位址OAD1原本在觀察層310_0時)清空或當前追蹤欄位(當第一原始位址OAD1原本在當前追蹤層310_j)清空。本發明實施例所謂「清空」,乃是指將觀察欄位及/或追蹤欄位的原始位址項目及存取位元項目所記錄的內容刪除。
步驟S423說明了兩種情況。一種情況是,如第10圖所示,第一原始位址OAD1記錄於觀察層310_0,且第一原始位址OAD1的存取位元為1,這代表第一原始資料已被判定為潛在熱資料,且有資格升級為熱資料。接著,邏輯電路315在下一級追蹤層(即追蹤層310_1)中選擇出目標追蹤欄位,並試圖將第一原始位址OAD1記錄至追蹤層310_1的目標追蹤欄位。當邏輯電路315判斷追蹤層310_1的目標追蹤欄位是空的,邏輯電路315便可將第一原始位址OAD1記錄至追蹤層310_1,使得第一原始資料升級為熱資料。此種情況下,熱資料追蹤裝置130依據目標追蹤欄位的存取位址項目記錄的第二存取位址NAD_1_1指示處理器110將第一原始資料複製至子容納區塊Carea_i_1的第一儲存單位Carea_i_1_1,以成為第一複製資料,並指示處理器110依據第二存取位址NAD_1_1存取子容納區塊Carea_i_1的第一儲存單位Carea_i_1_1內的第一複製資料。
步驟S423的另一種情況是,如第11圖所示,第一原始位址OAD1記錄於當前追蹤層310_j,且第一原始位址OAD1的存取位元為1,這代表第一原始資料已被判定為熱資料,且有資格提高熱度級別。邏輯電路315在下一級追蹤層310_(j+1)中選擇出目標追蹤欄位,並試圖將第一原始位址OAD1記錄至下一級追蹤層310_(j+1)的目標追蹤欄位。當邏輯電路315判斷下一級追蹤層310_(j+1)的目標追蹤欄位是空的,邏輯電路315便可將第一原始位址OAD1記錄至下一級追蹤層310_(j+1),以使第一原始資料的熱度級別提升一級。在此種情況下,熱資料追蹤裝置130依據下一級追蹤層310_(j+1)的目標追蹤欄位的存
取位址項目記錄的第二存取位址NAD_(j+1)_1指示處理器110將子容納區塊Carea_i_j的第二儲存單位Carea_i_j_1內儲存的第一複製資料移動至子容納區塊Carea_i_(j+1)的第三儲存單位Carea_i_(j+1)_1,並指示處理器110依據第二存取位址NAD_(j+1)_1存取子容納區塊Carea_i_(j+1)的第三儲存單位Carea_i_(j+1)_1內的第一複製資料。
在步驟S425中,當下一級追蹤層310_(j+1)之目標追蹤欄位為非空,且已記錄有第二原始位址OAD2時,熱資料追蹤裝置130的邏輯電路315判斷記錄於下一級追蹤層310_((j+1))的第二原始位址OAD2的存取位元為0或1。當第二原始位址OAD2的存取位元為1,執行步驟S427;當第二原始位址OAD2的存取位元為0,則執行步驟S429。步驟S425是用以進一步判斷第一原始資料是否可升級熱度級別。換言之,當第一原始位址OAD1記錄於觀察層310_0時,步驟425是用以進一步檢查第一原始資料是否可由潛在熱資料升級熱資料;當第一原始位址OAD1記錄於當前追蹤層310_j時,步驟425是用以進一步檢查是否可升級第一原始資料的熱度級別。
於步驟S427中,當第一原始位址OAD1是被記錄在觀察層310_0,熱資料追蹤裝置130的邏輯電路315將記錄於追蹤層310_1的第二原始位址OAD2的存取位元設為0,且熱資料追蹤裝置130不會對處理器110發送進一步的指示,而處理器110依據第一原始位址OAD1存取第一原始資料。當第一原始地址記錄在當前追蹤層310_j,熱資料追蹤裝置130的邏輯電路315將記錄於下一級追蹤層310_(j+1)的第二原始位址OAD2的存取位元設為0,且熱資料追蹤電路130依據當前追
蹤層310_j的當前追蹤欄位的存取位址項目記錄的存取位址指示處理器110。
步驟S427說明了兩種情。一種情況是,如第12圖所示,第一原始位址OAD1記錄於觀察層310_0,且第一原始位址OAD1的存取位元為1,這代表位於第一原始資料已被判定為潛在熱資料,且第一原始資料有資格升級為熱資料,但由於追蹤層310_1中的目標追蹤欄位已經記錄有第二原始位址OAD2,且第二原始位址OAD2的存取位元為1(代表對應於第二原始資料的第二複製資料近期有被存取過),故邏輯電路315將記錄於追蹤層310_1的第二原始位址OAD2的存取位元重設為0,並維持第一原始資料為潛在熱資料。在這情況下,熱資料追蹤裝置130不會對處理器110發出進一步的指示,而使處理器110依據第一原始位址OAD1存取第一原始資料。
步驟S427的另一種情況是,如第13圖所示,第一原始位址OAD1記錄於當前追蹤層310_j,且第一原始位址OAD1的存取位元為1,這代表第一原始資料已被判定為熱資料,且有資格升級熱度級別,但由於下一追蹤層310_(j+1)的目標追蹤欄位已記錄有第二原始位址OAD2,第二原始位址OAD2的存取位元為1(代表對應於第二原始資料的第二複製資料近期有被存取過),故邏輯電路315將第二原始位址OAD2的存取位元重設為0,並維持第一原始資料當前的熱度級別(亦即第一原始資料未被升級)。在這種情況下,第一原始資料已經被複製至第二儲存單位Carea_i_j_1(對應於第一存取位址NAD_j_1),即子容納區塊Carea_i_j的第二儲存單位Carea_i_j_1內儲存的已是第一複製資
料。故熱資料追蹤裝置130會依據記錄於當前追蹤層310_j的第一存取位址NAD_j_1指示處理器110存取子容納區塊Carea_i_j的第二儲存單位Carea_i_j_1內的第一複製資料。
在步驟S429中,當第一原始位址OAD1是記錄於觀察層310_0,熱資料追蹤裝置130的邏輯電路130會將觀察層310_0的當前觀察欄位的原始位址項目與追蹤層310_1的目標追蹤欄位的原始位址項目交換,並將第一原始位址OAD1(已被記錄至追蹤層310_1)的存取位元與第二原始位址OAD2(已被記錄至觀察層310_0)的存取位元皆設為0。當第一原始位址OAD1是記錄於當前追蹤層310_j,熱資料追蹤裝置130的邏輯電路130會將當前追蹤層310_j的當前追蹤欄位的原始位址項目與下一追蹤層310_(j+1)的目標追蹤欄位的原始位址項目交換,並將第一原始位址OAD1(已被記錄至追蹤層310_(j+1))的存取位元與第二原始位址OAD2(已被記錄至當前追蹤層310_j)的存取位元皆設為0。
步驟S429說明了兩種情況。一種情況是,如第14圖所示,第一原始位址OAD1記錄於觀察層310_0,且第一原始位址OAD1的存取位元為1,代表第一原始資料有資格由潛在熱資料升級為熱資料,故邏輯電路315於熱度級別最低的追蹤層310_1(亦即下一追蹤層)中選擇出目標追蹤欄位,並試圖將第一原始位址OAD1記錄至追蹤層310_1。由於目標追蹤欄位已記錄有第二原始位址OAD2,邏輯電路315需先檢查第二原始位址OAD2的存取位元,以進一步判定是否能將第一原始位址OAD1取代第二原始位址OAD2記錄於追蹤層310_1。當邏輯電路315判斷第二原始位址OAD2的存取位元為0,邏輯電路315便可將
第一原始位址OAD1取代第二原始位址OAD2,也就是將第一原始位址OAD1記錄至追蹤層310_1,以將第一原始資料由潛在熱資料升級為熱資料,第二原始資料則被由熱資料降級為潛在熱資料。換言之,邏輯電路315將第一原始位址OAD1記錄至追蹤層310_1的目標追蹤欄位的原始位址項目,將第二原始位址OAD2記錄至觀察層310_0的當前觀察欄位的原始位址項目。在這種情況下,熱資料追蹤裝置130依據追蹤層310_1的目標追蹤欄位的存取位址項目記錄的第二存取位址NAD_1_1指示處理器110將第一原始資料複製至子容納區塊Carea_i_1的第一儲存單位Carea_i_1_1,以成為第一複製資料,並依據第二存取位址NAD_1_1存取第一儲存單位Carea_i_1_1內的第一複製資料。在此之前,熱資料追蹤裝置130亦會指示處理器110將第一儲存單位Carea_i_1_1內儲存的第二複製資料(對應於第二原始資料)寫回並覆蓋第二原始資料(位於第二原始位址OAD2)。
步驟S429的另一種情況是,如第15圖所示,第一原始位址OAD1記錄於當前追蹤層310_j,且第一原始位址OAD1的存取位元為1,代表第一原始資料有資格被升級,故邏輯電路315於下一級追蹤層310_(j+1)中選擇出目標追蹤欄位,並試圖將第一原始位址記錄至下一級追蹤層310_(j+1)。由於目標追蹤欄位已記錄有第二原始位址OAD2,邏輯電路315需先檢查第二原始位址OAD2的存取位元,以進一步判定是否能將第一原始位址OAD1取代第二原始位址OAD2記錄於下一級追蹤層310_(j+1)。當邏輯電路315判斷第二原始位址OAD2的存取位元為0,邏輯電路315便可將第一原始位址OAD1取代第二原
始位址OAD2記錄至下一級追蹤層310_(j+1),以將第一原始資料的熱度級別提高一級,第二原始資料的熱度級別則降低一級。換言之,邏輯電路315將第一原始位址OAD1記錄至下一級追蹤層310_(j+1)的目標追蹤欄位的原始位址項目,將第二原始位址OAD2記錄至當前追蹤層310_j的當前追蹤欄位的原始位址項目。在這種情況下,熱資料追蹤裝置130會依據下一級追蹤層310_(j+1)的目標追蹤欄位的存取位址項目記錄的第二存取位址NAD_(j+1)_1與當前追蹤層310_j的當前追蹤欄位的存取位址項目記錄的第一存取位址NAD_j_1指示處理器110將子容納區塊Carea_i_(j+1)的第三儲存單位Carea_i_(j+1)_1內儲存的第二複製資料(對應第二原始資料)與子容納區塊Carea_i_j的第二儲存單位Carea_i_j_1內儲存的第一複製資料(對應第一原始資料)交換,並指示處理器110於交換後依據第二存取位址NAD_(j+1)_1存取子容納區塊Carea_i_(j+1)的第三儲存單位Carea_i_(j+1)_1內的第一複製資料。
需要說明的是,邏輯電路315可以是專門為了追蹤熱資料而設計的電路,而使得,當處理器110欲存取熱資料時,從熱資料追蹤裝置130接收到第一原始位址OAD1起至對處理器110發送指示之間的時間可遠小於記憶體裝置22的存取時間(access time)。也就是說,當處理器110欲存取熱資料時,熱資料追蹤裝置130可及時將指示傳送至處理器110,使得處理器110可改為存取對應的儲存單位內的複製資料。
依據本發明實施例,當熱資料追蹤裝置130判斷某一筆原始資料為熱資料時,熱資料追蹤裝置130可指示處理器110將該筆熱資料複製至溫度最高的子晶片中的容納區塊已成為該筆原始資料的複
製資料,並指示處理器110在該容納區塊中對複製資料執行讀寫操作。因而,處理器110可以使用較低的耗能存取複製進行。此外,對於熱度級別越高的熱資料,處理器110可以使用越高的寫入速度進行存取,從而提高整體效能。換言之,本發明實施例善加利用了記憶體裝置22的熱效應,能有效降低耗能、縮短寫入時間、提高整體效能以及延長記憶體裝置的壽命。
綜上所述,雖然本發明已以實施例揭露如上,然其並非用以限定本發明。本發明所屬技術領域中具有通常知識者,在不脫離本發明之精神和範圍內,當可作各種之更動與潤飾。因此,本發明之保護範圍當視後附之申請專利範圍所界定者為準。
Claims (10)
- 一種記憶體裝置之管理系統,用以管理一記憶體裝置,該記憶體裝置具有多個子晶片,各該子晶片包括一容納區塊與一資料區塊,該管理系統包括:一處理器,耦接至該記憶體裝置,該處理器依據該些子晶片之個別溫度從該些子晶片選擇一目標子晶片;以及一熱資料追蹤裝置,耦接至該處理器,該熱資料追蹤裝置包括多個追蹤層,其中,當該處理器欲存取儲存在該些資料區塊其中之一之一第一原始資料時,該熱資料追蹤裝置從該處理器取得該第一原始資料之一第一原始位址;當該熱資料追蹤裝置判斷該第一原始位址已記錄於該熱資料追蹤裝置之該些追蹤層其中之一時,該熱資料追蹤裝置依據記錄有該第一原始位址之該些追蹤層之一當前追蹤層指示該處理器於該目標子晶片的該容納區塊內存取對應於該第一原始資料之一第一複製資料;以及當該熱資料追蹤裝置判斷該第一原始位址未記錄於該熱資料追蹤裝置時,該處理器依照該第一原始位址從該些資料區塊內存取該第一原始資料。
- 如申請專利範圍第1項所述之管理系統,其中: 該處理器於各該容納區塊設置複數個子容納區塊,該些追蹤層與各該容納區塊之該些子容納區塊具有相同的數量,且為一對一映射;各該子容納區塊包括複數個儲存單位;該熱資料追蹤裝置更包括一觀察層,該觀察層包括複數個觀察欄位,各該觀察欄位包括一原始位址項目及一存取位元項目;以及各該些追蹤層包括複數個追蹤欄位,各該追蹤欄位包括一存取位址項目、一原始位址項目及一存取位元項目,且各該追蹤層之該些追蹤欄位與各該子容納區塊之該些儲存單位具有相同的數量,且為一對一映射。
- 如申請專利範圍第2項所述之管理系統,其中:當該熱資料追蹤裝置判斷該第一原始位址未記錄於該熱資料追蹤裝置內,該熱資料追蹤裝置依據該第一原始位址於該觀察層的該些觀察欄位中選擇一目標觀察欄位,並判斷該觀察層的該目標觀察欄位是否為空;當該觀察層的該目標觀察欄位為空,該熱資料追蹤裝置將該第一原始位址記錄至該觀察層的該目標觀察欄位之該原始位址項目,並將記錄於該觀察層的該第一原始位址之一存取位元設為0; 當該觀察層的該目標觀察欄位為非空,且記錄有一第二原始位址,該熱資料追蹤裝置判斷記錄於該觀察層的該第二原始位址之該存取位元為0或1,當記錄於該觀察層的該第二原始位址之該存取位元為0,該熱資料追蹤裝置將該第一原始位址記錄至該觀察層的該目標觀察欄位,並將記錄於該觀察層的該第一原始位址之該存取位元設為0;以及當記錄於該觀察層的該第二原始位址之該存取位元為1,該熱資料追蹤裝置將記錄於該觀察層的該第二原始位址之該存取位元項目設為0。
- 如申請專利範圍第2項所述之管理系統,其中:當該熱資料追蹤裝置判斷該第一原始位址已記錄於該觀察層之一當前觀察欄位內時,該熱資料追蹤裝置判斷記錄於該觀察層的該第一原始位址之一存取位元為0或1;當記錄於該觀察層的該第一原始位址之該存取位元為0,該熱資料追蹤裝置將記錄於該觀察層的該第一原始位址之該存取位元設為1,該處理器依照該第一原始位址從該些資料區塊內存取該第一原始資料;當記錄於該觀察層的該第一原始位址之該存取位元為1,該熱資料追蹤裝置依據該第一原始位址於一下一級追蹤層的該些追蹤欄位中選擇一目標追蹤欄位,並判斷該下一級追蹤層的該目標追蹤欄位是否為空; 當該下一級追蹤層的該目標追蹤欄位為空,該熱資料追蹤裝置將該第一原始位址記錄至該下一級追蹤層的該目標追蹤欄位之該原始位址項目,並將記錄於該下一級追蹤層的該第一原始位址之該存取位元設為0,並將該觀察層的該當前觀察欄位清空,並依據該下一級追蹤層的該目標追蹤欄位之該存取位址項目指示該處理器將該第一原始資料複製至一第一儲存單位,以成為該第一複製資料,並指示該處理器存取該第一複製資料;當該下一級追蹤層的該目標追蹤欄位為非空,且該下一級追蹤層的該目標追蹤欄位之該原始位址項目已記錄有一第二原始位址,該熱資料追蹤裝置判斷記錄於該下一級追蹤層的該第二原始位址之該存取位元為0或1;當記錄於該下一級追蹤層的該第二原始位址之存取位元為0,該熱資料追蹤裝置將該第一原始位址記錄至該下一級追蹤層的該目標追蹤欄位之該原始位址項目,並將該第二原始位址記錄至該觀察層的當前觀察欄位之該原始位址項目,並將記錄於該下一級追蹤層的該第一原始位址及記錄於該觀察層的該第二原始位址之該存取位元設為0,並依據該下一級追蹤層的該目標追蹤欄位之該存取位址項目指示該處理器將該第一儲存單位內儲存之一第二複製資料複製至該第二原始位址,並指示該處理器將該第一原始資料複製至該第一儲存單位,以成為 該第一複製資料,並指示該處理器改為存取該第一複製資料;以及當記錄於該下一級追蹤層的該第二原始位址之該存取位元為1,該熱資料追蹤裝置將記錄於該下一級追蹤層的該第二原始位址之該存取位元設為0,該處理器依照該第一原始位址從該些資料區塊內存取該第一原始資料;其中該第一儲存單位係對應於該目標追蹤欄位之該存取位址項目,且該第一儲存單位係位於對應該下一級追蹤層之該子容納區塊內。
- 如申請專利範圍第2項所述之管理系統,其中:當該第一原始位址記錄於該些追蹤層其中之一的一當前追蹤層的該當前追蹤欄位,該熱資料追蹤裝置判斷記錄於該當前追蹤層的該第一原始位址之一存取位元為0或1;當記錄於該當前追蹤層的該第一原始位址之該存取位元為0,該熱資料追蹤裝置將記錄於該當前追蹤層的該第一原始位址之該存取位元設為1,該熱資料追蹤裝置依據該當前追蹤層的該當前追蹤欄位之該存取位址項目指示該處理器存取一第二儲存單位內儲存之該第一複製資料;當記錄於該當前追蹤層的該第一原始位址之該存取位元為1,該熱資料追蹤裝置依據該第一原始位址於一下一級追蹤層的該些追蹤欄位中選擇一目標追蹤欄位,並判斷該目標追蹤欄位是否為空; 當該下一級追蹤層的該目標追蹤欄位為空,該熱資料追蹤裝置將該第一原始位址記錄至該下一級追蹤層的該目標追蹤欄位之該原始位址項目,並將記錄於該下一級追蹤層的該第一原始位址之該存取位元設為0,並將該當前追蹤層的該當前追蹤欄位清空,並依據該下一級追蹤層的該目標追蹤欄位之該存取位址項目指示該處理器將該第二儲存單位內儲存之該第一複製資料移動至一第三儲存單位,並指示處理器改為存取該第三儲存單位內儲存之該第一複製資料;當該下一級追蹤層的該目標追蹤欄位為非空且記錄有該第二原始位址,該熱資料追蹤裝置判斷記錄於該下一級追蹤層的該第二原始位址之該存取位元為0或1;當記錄於該下一級追蹤層的該第二原始位址之該存取位元為1,該熱資料追蹤裝置將記錄於該下一級追蹤層的該第二原始位址之該存取位元設為0,並依據該當前追蹤層的該當前追蹤欄位之該存取位址項目指示該處理器改為存取該第二儲存單位內儲存之該第一複製資料;以及當記錄於該下一級追蹤層的該第二原始位址之該存取位元為0,該熱資料追蹤裝置將該第一原始位址記錄至該下一級追蹤層的該目標追蹤欄位之該原始位址項目,並將該第二原始位址記錄至該當前追蹤層的該當前追蹤欄位之該原始位址項目,並將記錄於該下一級追蹤層的該第一原始位址及記錄於該當前追蹤層的該第二原始位址之該存取位元設為0,並依據該 下一級追蹤層的該目標追蹤欄位之該存取位址項目及該當前追蹤層的該當前追蹤欄位之該存取位址項目指示該處理器將該第三儲存單位儲存之一第二複製資料與該第二儲存單位儲存之該第一複製資料交換,並指示該處理器改為存取該第三儲存單位儲存之該第一複製資料;其中該第二儲存單位係對應於該當前追蹤欄位之該存取位址項目,該第二儲存單位係位於對應該當前追蹤層之該子容納區塊內,該第三儲存單位係對應於該目標追蹤欄位之該存取位址項目,且該第三儲存單位係位於對應該下一級追蹤層之該子容納區塊內。
- 一種記憶體裝置之管理方法,用以管理一記憶體裝置,該記憶體裝置具有多個子晶片,各該子晶片包括一容納區塊與一資料區塊,該管理方法包括:一處理器依據該些子晶片之個別溫度從該些子晶片選擇一目標子晶片;當該處理器欲存取在該些資料區塊其中之一之一第一原始資料時,一熱資料追蹤裝置取得該第一原始資料之一第一原始位址;當該熱資料追蹤裝置判斷該第一原始位址已記錄於複數個追蹤層其中之一時,該處理器依據記錄有該第一原始位址之該些追蹤層之一當前追蹤層,於該目標子晶片的該容納區塊內存取對應於該第一原始資料之一第一複製資料;以及 當該熱資料追蹤裝置判斷該第一原始位址未記錄於該些追蹤層時,該處理器依照該第一原始位址從該些資料區塊內存取該第一原始資料。
- 如申請專利範圍第6項所述之管理方法,其中:各該容納區塊設置有複數個子容納區塊,該些追蹤層之數與各該容納區塊之該些子容納區塊具有相同的數量,且為一對一映射;各該子容納區塊包括複數個儲存單位;以及各該些追蹤層包括複數個追蹤欄位,各該追蹤欄位包括一存取位址項目、一原始位址項目及一存取位元項目,且各該追蹤層之該些追蹤欄位與各該子容納區塊之該些儲存單位具有相同的數量,且為一對一映射。
- 如申請專利範圍第7項所述之管理方法,更包括:當該熱資料追蹤裝置判斷該第一原始位址未記錄於一觀察層與該些追蹤層內,該熱資料追蹤裝置依據該第一原始位址於該觀察層中選擇一目標觀察欄位,該熱資料追蹤裝置並判斷該觀察層的該目標觀察欄位是否為空,該觀察層包括複數個觀察欄位,各該觀察欄位包括一原始位址項目及一存取位元項目;當該觀察層的該目標觀察欄位為空,該熱資料追蹤裝置將該第一原始位址記錄至該觀察層的該目標觀察欄位之該原始位址項目; 當該觀察層的該目標觀察欄位為非空,且記錄有一第二原始位址時,該熱資料追蹤裝置判斷記錄於該觀察層的該第二原始位址之一存取位元為0或1,當記錄於該觀察層的該第二原始位址之該存取位元為0,該熱資料追蹤裝置將該第一原始位址記錄至該觀察層的該目標觀察欄位之該原始位址項目,該熱資料追蹤裝置並將記錄於該觀察層的該第一原始位址之該存取位元設為0;以及當記錄於該觀察層的該第二原始位址之該存取位元為1,該熱資料追蹤裝置將記錄於該觀察層的該第二原始位址之該存取位元設為0。
- 如申請專利範圍第7項所述之管理方法,更包括:當該熱資料追蹤裝置判斷該第一原始位址已記錄於該觀察層之一當前觀察欄位內時,該熱資料追蹤裝置判斷記錄於該觀察層的該第一原始位址之該存取位元為0或1;當記錄於該觀察層的該第一原始位址之該存取位元為0,該熱資料追蹤裝置將記錄於該觀察層的該第一原始位址之該存取位元設為1,該處理器依照該第一原始位址從該些資料區塊內存取該第一原始資料;當記錄於該觀察層的該第一原始位址之該存取位元為1,該熱資料追蹤裝置依據該第一原始位址於一下一級追蹤層的該些追蹤欄位中選擇一目標追蹤欄位,該熱資料追蹤裝置並判斷該下一級追蹤層的該目標追蹤欄位是否為空; 當該下一級追蹤層的該目標追蹤欄位為空,該熱資料追蹤裝置將該第一原始位址記錄至該下一級追蹤層的該目標追蹤欄位之該原始位址項目,該熱資料追蹤裝置並將記錄於該下一級追蹤層的該第一原始位址之該存取位元設為0,該熱資料追蹤裝置並將該觀察層的該當前觀察欄位清空,該處理器依據該下一級追蹤層的該目標追蹤欄位之該存取位址項目將該第一原始資料複製至一第一儲存單位,以成為該第一複製資料,該處理器存取該第一複製資料;當該下一級追蹤層的該目標追蹤欄位為非空,且該下一級追蹤層的該目標追蹤欄位之該原始位址項目已記錄有該第二原始位址,該熱資料追蹤裝置判斷記錄於該下一級追蹤層的該第二原始位址之該存取位元為0或1;當記錄於該下一級追蹤層的該第二原始位址之存取位元為0,該熱資料追蹤裝置將該第一原始位址記錄至該下一級追蹤層的該目標追蹤欄位之該原始位址項目,該熱資料追蹤裝置並將該第二原始位址記錄至該觀察層的該當前觀察欄位之該原始位址項目,該熱資料追蹤裝置並將記錄於該下一級追蹤層的該第一原始位址及記錄於該觀察層的該第二原始位址之該存取位元設為0,該熱資料追蹤裝置依據該下一級追蹤層的該目標追蹤欄位之該存取位址項目將該第一儲存單位內儲存之一第二複製資料覆蓋一第二原始資料,該處理器並將該第一原始 資料複製至該第一儲存單位,以成為該第一複製資料,該處理器改為存取該第一複製資料;以及當記錄於該下一級追蹤層的該第二原始位址之該存取位元為1,該熱資料追蹤裝置將記錄於該下一級追蹤層的該第三原始位址之該存取位元設為0,該處理器依照該第一原始位址從該些資料區塊內存取該第一原始資料;其中該第一儲存單位係對應於該目標追蹤欄位之該存取位址項目,且該第一儲存單位係位於對應該下一級追蹤層之該子容納區塊內。
- 如申請專利範圍第7項所述之管理方法,更包括:當該第一原始位址記錄於該些追蹤層其中之一的一當前觀追蹤的該當前追蹤欄位,該熱資料追蹤裝置判斷記錄於該當前追蹤層的該第一原始位址之該存取位元為0或1;當記錄於該當前追蹤層的該第一原始位址之該存取位元為0,該熱資料追蹤裝置將記錄於該當前追蹤層的該第一原始位址之該存取位元設為1,該處理器依據該當前追蹤層的當前追蹤欄位之該存取位址項目存取一第二儲存單位內儲存之該第一複製資料;當記錄於該當前追蹤層的該第一原始位址之該存取位元為1,該熱資料追蹤裝置依據該第一原始位址於一下一級追蹤層的該些追蹤欄位中選擇一目標追蹤欄位,該熱資料追蹤裝置並判斷該下一級追蹤層的該目標追蹤欄位是否為空; 當該下一級追蹤層的該目標追蹤欄位為空,該熱資料追蹤裝置將該第一原始位址記錄至該下一級追蹤層的該目標追蹤欄位之該原始位址項目,該熱資料追蹤裝置並將記錄於該下一級追蹤層的該第一原始位址之該存取位元設為0,該熱資料追蹤裝置並將該當前追蹤層的該當前追蹤欄位清空,該處理器依據該下一級追蹤層的該目標追蹤欄位之該存取位址項目將該第二儲存單位內儲存之該第一複製資料移動至一第三儲存單位,該處理器改為存取該第三儲存單位內儲存之該第一複製資料;當該下一級追蹤層的該目標追蹤欄位為非空且記錄有該第二原始位址,該熱資料追蹤裝置判斷記錄於該下一級追蹤層的該第二原始位址之該存取位元為0或1;當記錄於該下一級追蹤層的該第二原始位址之該存取位元為1,該熱資料追蹤裝置將記錄於該下一級追蹤層的該第二原始位址之該存取位元設為0,該處理器依據該當前追蹤層的該當前追蹤欄位之該存取位址項目改為存取該第二儲存單位內儲存之該第一複製資料;以及當記錄於該下一級追蹤層的該第二原始位址之該存取位元為0,該熱資料追蹤裝置將該第一原始位址記錄至該下一級追蹤層的該目標追蹤欄位之該原始位址項目,該熱資料追蹤裝置並將該第二原始位址記錄至該當前追蹤層的該當前追蹤欄位之該原始位址項目,該熱資料追蹤裝置並將記錄於該下一級追 蹤層的該第一原始位址及記錄於該當前追蹤層的該第二原始位址之該存取位元設為0,該處理器依據該下一級追蹤層的該目標追蹤欄位之該存取位址項目及該當前追蹤層的該當前追蹤欄位之該存取位址項目將該第三儲存單位儲存之該第二複製資料與該第二儲存單位儲存之該第一複製資料交換,該處理器改為存取該第三儲存單位儲存之該第一複製資料;其中該第二儲存單位係對應於該當前追蹤欄位之該存取位址項目,該第二儲存單位係位於對應原記錄該當前追蹤層之該子容納區塊內,該第三儲存單位係對應於該目標追蹤欄位之該存取位址項目,且該第三儲存單位係位於對應該下一級追蹤層之該子容納區塊內。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
TW106126865A TWI652571B (zh) | 2017-08-09 | 2017-08-09 | 記憶體裝置之管理系統及管理方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
TW106126865A TWI652571B (zh) | 2017-08-09 | 2017-08-09 | 記憶體裝置之管理系統及管理方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
TWI652571B true TWI652571B (zh) | 2019-03-01 |
TW201911048A TW201911048A (zh) | 2019-03-16 |
Family
ID=66589984
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
TW106126865A TWI652571B (zh) | 2017-08-09 | 2017-08-09 | 記憶體裝置之管理系統及管理方法 |
Country Status (1)
Country | Link |
---|---|
TW (1) | TWI652571B (zh) |
Citations (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
TW200839510A (en) | 2007-03-19 | 2008-10-01 | A Data Technology Co Ltd | Hybrid density memory storage device and control method thereof |
CN101526923A (zh) | 2009-04-02 | 2009-09-09 | 成都市华为赛门铁克科技有限公司 | 一种数据处理方法、装置和闪存存储系统 |
US20110264843A1 (en) | 2010-04-22 | 2011-10-27 | Seagate Technology Llc | Data segregation in a storage device |
TW201222247A (en) | 2010-11-26 | 2012-06-01 | Etron Technology Inc | Method of decaying hot data |
TW201351138A (zh) | 2012-06-01 | 2013-12-16 | Macronix Int Co Ltd | 群組式耗損平均方法及設備 |
CN103597444A (zh) | 2011-06-09 | 2014-02-19 | 微软公司 | 按照使用来管理基于闪存的存储上的数据放置 |
TW201430563A (zh) | 2013-01-21 | 2014-08-01 | Skymedi Corp | 非揮發性記憶體的平均抹寫系統及方法 |
TW201543481A (zh) | 2011-12-23 | 2015-11-16 | Intel Corp | 使用系統熱感測資料之記憶體操作 |
US20160132392A1 (en) | 2014-11-07 | 2016-05-12 | International Business Machines Corporation | Non-volatile memory data storage with low read amplication |
-
2017
- 2017-08-09 TW TW106126865A patent/TWI652571B/zh active
Patent Citations (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
TW200839510A (en) | 2007-03-19 | 2008-10-01 | A Data Technology Co Ltd | Hybrid density memory storage device and control method thereof |
CN101526923A (zh) | 2009-04-02 | 2009-09-09 | 成都市华为赛门铁克科技有限公司 | 一种数据处理方法、装置和闪存存储系统 |
US20110264843A1 (en) | 2010-04-22 | 2011-10-27 | Seagate Technology Llc | Data segregation in a storage device |
TW201222247A (en) | 2010-11-26 | 2012-06-01 | Etron Technology Inc | Method of decaying hot data |
CN103597444A (zh) | 2011-06-09 | 2014-02-19 | 微软公司 | 按照使用来管理基于闪存的存储上的数据放置 |
TW201543481A (zh) | 2011-12-23 | 2015-11-16 | Intel Corp | 使用系統熱感測資料之記憶體操作 |
TW201351138A (zh) | 2012-06-01 | 2013-12-16 | Macronix Int Co Ltd | 群組式耗損平均方法及設備 |
TW201430563A (zh) | 2013-01-21 | 2014-08-01 | Skymedi Corp | 非揮發性記憶體的平均抹寫系統及方法 |
US20160132392A1 (en) | 2014-11-07 | 2016-05-12 | International Business Machines Corporation | Non-volatile memory data storage with low read amplication |
Also Published As
Publication number | Publication date |
---|---|
TW201911048A (zh) | 2019-03-16 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US9378131B2 (en) | Non-volatile storage addressing using multiple tables | |
JP4956922B2 (ja) | 記憶装置 | |
JP4688584B2 (ja) | ストレージ装置 | |
US20200097403A1 (en) | Recency based victim block selection for garbage collection in a solid state device (ssd) | |
US8190811B2 (en) | Defragmentation of solid state memory | |
JP3534585B2 (ja) | フラッシュメモリを複数使用した外部記憶装置のデータ記憶制御方法及び装置 | |
US20080209114A1 (en) | Reliability High Endurance Non-Volatile Memory Device with Zone-Based Non-Volatile Memory File System | |
US8838877B2 (en) | File system derived metadata for management of non-volatile memory | |
US9195579B2 (en) | Page replacement method and memory system using the same | |
CN101174473A (zh) | 在包括闪存的半导体存储装置中提供块状态信息的方法 | |
KR20060127760A (ko) | 기억장치 | |
TW201011767A (en) | NAND error management | |
US20100070733A1 (en) | System and method of allocating memory locations | |
CN107632942A (zh) | 一种固态硬盘实现lba级别trim命令的方法 | |
CN104813270B (zh) | 从主机至存储设备的对所删除的数据的提示 | |
US11269783B2 (en) | Operating method for data storage device | |
US20090172269A1 (en) | Nonvolatile memory device and associated data merge method | |
TW201111987A (en) | Memory system | |
CN107818808A (zh) | 数据写入方法、存储器控制电路单元与存储器存储装置 | |
JP5338859B2 (ja) | 記憶装置および情報処理システム | |
CN110968527B (zh) | Ftl提供的缓存 | |
TWI652571B (zh) | 記憶體裝置之管理系統及管理方法 | |
US11847337B2 (en) | Data parking for ZNS devices | |
JP5617873B2 (ja) | 記憶装置 | |
US10671296B2 (en) | Management system for managing memory device and management method for managing the same |