TWI596541B - 資料存取系統、資料存取裝置及資料存取方法 - Google Patents
資料存取系統、資料存取裝置及資料存取方法 Download PDFInfo
- Publication number
- TWI596541B TWI596541B TW105139388A TW105139388A TWI596541B TW I596541 B TWI596541 B TW I596541B TW 105139388 A TW105139388 A TW 105139388A TW 105139388 A TW105139388 A TW 105139388A TW I596541 B TWI596541 B TW I596541B
- Authority
- TW
- Taiwan
- Prior art keywords
- data
- volatile memory
- memory block
- target data
- access device
- Prior art date
Links
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/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
- G06F12/00—Accessing, addressing or allocating within memory systems or architectures
- G06F12/02—Addressing or allocation; Relocation
- G06F12/06—Addressing a physical block of locations, e.g. base addressing, module addressing, memory dedication
- G06F12/0638—Combination of memories, e.g. ROM and RAM such as to permit replacement or supplementing of words in one module by words in another module
-
- 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/0644—Management of space entities, e.g. partitions, extents, pools
-
- 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
-
- 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/0683—Plurality of storage devices
- G06F3/0685—Hybrid storage combining heterogeneous device types, e.g. hierarchical storage, hybrid arrays
-
- 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/0683—Plurality of storage devices
- G06F3/0688—Non-volatile semiconductor memory arrays
-
- 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/20—Employing a main memory using a specific memory technology
- G06F2212/205—Hybrid memory, e.g. using both volatile and non-volatile memory
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)
Description
本發明是有關於一種資料存取系統、資料存取裝置及資料存取方法。
隨著資料儲存技術的進步,記憶體亦發展出各種不同的類型,各類型記憶體因物理特性不同,例如揮發性/非揮發性、速度快慢、面積成本、功耗大小不同,衍生出各種應用。在單一裝置上,同時使用兩種記憶體以上的設計,越來越普遍。記憶體控制器在存取不同型態的記憶體時,針對不同記憶體特性,應做適當安排,以提升記憶體存取的效率。
本發明提供一種資料存取系統、資料存取裝置及資料存取方法,可大幅地提升混合型記憶體效能。
本發明的資料存取裝置包括混合記憶體以及記憶體控制器。混合記憶體包括揮發性記憶體區塊以及非揮發性記憶體區塊。記憶體控制器耦接混合記憶體,依據存取命令存取目標資料,其中存取命令包括存取資訊,記憶體控制器依據存取資訊得到對應目標資料的資料屬性的存取規則,並依據存取規則對混合記憶體進行目標資料的存取操作。
本發明還提供一種資料存取系統,包括上述的資料存取裝置、中央處理單元、記憶體存取控制電路、圖形處理單元以及非揮發性記憶體。其中記憶體存取控制電路耦接中央處理單元,記憶體存取控制電路包括快取記憶體以及記憶體管理單元。圖形處理單元、非揮發性記憶體以及記憶體控制器透過系統匯流排耦接至記憶體存取控制電路。
本發明還提供一種資料存取裝置的資料存取方法,資料存取裝置包括混合記憶體,混合記憶體包括揮發性記憶體區塊以及非揮發性記憶體區塊,資料存取裝置的資料存取方法包括下列步驟。接收存取命令,其中存取命令包括存取資訊。依據存取資訊得到對應目標資料的資料屬性的存取規則。依據存取規則對混合記憶體進行目標資料的存取操作。
基於上述,本發明實施例的記憶體控制器可依據存取命令存取目標資料,其中存取命令包括指示目標資料的資料屬性的存取資訊,記憶體控制器可依據對應目標資料的資料屬性的存取規則對混合記憶體進行目標資料的存取操作,如此藉由高速硬體裝置依據資料屬性對混合記憶體進行配置管理及資料交換,可有效率地使用混合記憶體,降低不必要的資料存取,而大幅地提升混合型記憶體的效能。
為讓本發明的上述特徵和優點能更明顯易懂,下文特舉實施例,並配合所附圖式作詳細說明如下。
圖1是依照本發明的實施例的一種資料存取裝置的示意圖,請參照圖1。資料存取裝置包括混合記憶體102以及記憶體控制器104,記憶體控制器104耦接混合記憶體102,其中混合記憶體102包括揮發性記憶體區塊106以及非揮發性記憶體區塊108,在本實施例中,記憶體控制器104還可包括快取記憶體區塊110,其可作為非揮發性記憶體區塊108的緩衝記憶體。快取記憶體區塊110可例如以靜態隨機存取記憶體(SRAM)或其它記憶體來實施,此外,混合記憶體102可例如為非揮發性雙直插記憶體模組(Non-Volatile Dual In-line Memory Module,NVDIMM),然不以此為限,揮發性記憶體區塊106可例如為動態隨機存取記憶體(DRAM),而非揮發性記憶體區塊108則可例如為快閃記憶體(Flash memory)或硬碟來實施,然不以此為限。值得注意的是,在部分實施例中,快取記憶體區塊110亦可為揮發性記憶體區塊106的一部分,亦即將揮發性記憶體區塊106的一部分儲存空間作為快取記憶體區塊110使用,亦或是使用其它的獨立揮發性記憶體做為快取記憶體區塊110使用。值得注意的是,在部分實施例中,混合記憶體102與記憶體控制器104亦可整合為一個裝置,例如將混合記憶體102整合至記憶體控制器104中。
記憶體控制器104可依據存取命令存取目標資料,例如可依據中央處理單元執行驅動程式(driver)、載入程式(loader)或應用程式(application)所發出的存取命令,而進行對應存取命令的資料存取。進一步來說,其中,存取命令可包括存取資訊,例如寫入命令、讀取命令及/或存取位置(例如存取位址或存取位址之索引等),記憶體控制器104可依據存取資訊得到對應目標資料的資料屬性,並依據目標資料的資料屬性得到對應的存取規則,以依據存取規則對目標資料進行存取。目標資料的資料屬性可例如為目標資料的資料類型或目標資料的一般存取習慣…等等特性。記憶體控制器104可依據對應目標資料的資料屬性的存取規則對混合記憶體102進行目標資料的存取操作,如此便可更有效率地規劃記憶體空間,降低不必要的存取,進而提昇記憶體的使用效率。此外,記憶體控制器104還可依據屬性規則命令來修改對應資料屬性的存取規則,在部分實施例中,屬性規則命令亦可整合至存取命令,而使用以存取目標資料的存取命令亦可用以修改存取規則。
圖2是依照本發明一實施例的一種資料存取系統的示意圖,請參照圖2。進一步來說,資料存取系統除了資料存取裝置外,還包括中央處理單元202、記憶體存取控制電路204、圖形處理單元206以及非揮發性記憶體208,其中圖形處理單元206、非揮發性記憶體208(其可例如為硬碟(Hard Disk Drive,HDD)或是固態硬碟(Solid-State Drive,SSD))以及記憶體控制器104透過系統匯流排210耦接至記憶體存取控制電路204,記憶體存取控制電路204耦接中央處理單元202,其可包括快取記憶體212以及記憶體管理單元214。記憶體管理單元214(Memory Management Unit,MMU)可負責匯流排的仲裁,管理快取記憶體212與非揮發性記憶體208的記憶體配置,並處理中央處理單元202以及圖形處理單元206(Graphics Processing Unit,GPU)所發出的記憶體存取請求。
資料存取裝置可儲存資料屬性表,舉例來說,資料屬性表可被儲存或備份於非揮發性記憶體區塊108。在部分實施例中,資料屬性表亦可被儲存或備份於非揮發性記憶體208。在資料存取裝置正常操作的期間,記憶體控制器104將資料屬性表載入揮發性記憶體區塊106中,在部分實施例中,記憶體控制器104亦可將資料屬性表載入其本身所包括的揮發性記憶體(例如SRAM)中。此外,資料屬性表除了可儲存於上述的非揮發性記憶體區塊108、非揮發性記憶體208、揮發性記憶體區塊106或記憶體控制器104所包括的揮發性記憶體外,在部分實施例中,亦可儲存於上述儲存記憶體外的獨立非揮發性記憶體或獨立揮發性記憶體內。資料屬性表可如表1所示:
<TABLE border="1" borderColor="#000000" width="85%"><TBODY><tr><td> 索引 </td><td> 資料屬性欄 </td><td> 狀態欄 </td></tr><tr><td> D </td><td> F </td><td> C </td><td> B </td><td> DT </td><td> Adr </td></tr><tr><td> … </td><td> </td><td> </td><td> </td><td> </td><td> </td><td> </td></tr><tr><td> 0x01 </td><td> 1 </td><td> 0 </td><td> 0 </td><td> 0 </td><td> 0 </td><td> 0x00000 </td></tr><tr><td> … </td><td> </td><td> </td><td> </td><td> </td><td> </td><td> </td></tr><tr><td> 0x0a </td><td> 0 </td><td> 1 </td><td> 0 </td><td> 0 </td><td> 0 </td><td> </td></tr><tr><td> 0x0b </td><td> 0 </td><td> 1 </td><td> 0 </td><td> 0 </td><td> 0 </td><td> </td></tr><tr><td> 0x0c </td><td> 0 </td><td> 1 </td><td> 1 </td><td> 0 </td><td> 0 </td><td> </td></tr><tr><td> … </td><td> </td><td> </td><td> </td><td> </td><td> </td><td> </td></tr><tr><td> 0x22 </td><td> 1 </td><td> 0 </td><td> 0 </td><td> 1 </td><td> 1 </td><td> 0x02000 </td></tr><tr><td> … </td><td> </td><td> </td><td> </td><td> </td><td> </td><td> </td></tr><tr><td> 0xN </td><td> 1 </td><td> 0 </td><td> 0 </td><td> 1 </td><td> 1 </td><td> 0x10000 </td></tr><tr><td> 0xM </td><td> 1 </td><td> 1 </td><td> 0 </td><td> 1 </td><td> 1 </td><td> 0x03000 </td></tr><tr><td> … </td><td> </td><td> </td><td> </td><td> </td><td> </td><td> </td></tr></TBODY></TABLE>表1
資料屬性表可例如包括資料屬性欄位以及狀態欄位,其中資料屬性欄位可例如包括揮發性記憶體區塊旗號位元(D)、非揮發性記憶體區塊旗號位元(F)、快取旗號位元(C)以及備份旗號位元(B),另外狀態欄位則可例如包括更新旗號位元(DT)以及目標資料在揮發性記憶體區塊106中的位址資訊(Adr)。揮發性記憶體區塊旗號位元(D)以及非揮發性記憶體區塊旗號位元(F)用以指定進行目標資料的存取的記憶體,例如可依據揮發性記憶體區塊旗號位元(D)決定是否於揮發性記憶體區塊106進行目標資料的存取,並依據非揮發性記憶體區塊旗號位元(F)決定是否於非揮發性記憶體區塊108進行目標資料的存取。快取旗號位元(C)用以指示是否在快取記憶體區塊110進行目標資料的存取,亦即目標資料是否可存入及/或存在於快取記憶體區塊110中,備份旗號位元(B)用以指示在資料存取裝置進行休眠或關機時是否將目標資料在揮發性記憶體區塊106中對應的位址備份至非揮發性記憶體區塊108。另外,更新旗號位元(DT)則用以指示儲存在揮發性記憶體區塊106的目標資料是否已被更新。
在本實施例中,資料屬性表具有4K個項目(entry),其可映射至具有32GB儲存空間的非揮發性記憶體區塊108,其中每個項目對應一塊記憶體區間,存取位址落在此記憶體區間的目標資料可以擁有相同屬性。另外,本實施例的揮發性記憶體區塊106具有16GB的儲存空間。值得注意的是,本實施例的資料屬性表、揮發性記憶體區塊106以及非揮發性記憶體區塊108的大小僅為示範性的實施例,實際應用上並不以此為限。在此舉例幾個資料屬性表的項目進行說明。
上述的存取資訊可例如為資料屬性表的索引值,其中資料屬性表的索引值可例如為存取命令中的高位元部分,例如將存取位址的最高4個位元作為索引值。記憶體控制器104可依據索引值查找資料屬性表,以獲得目標資料的對應屬性,根據目標資料的對應屬性,可得到對應目標資料的存取規則,存取規則可例如包括至少一存取目標資料之記憶體、記憶體空間對應規則、記憶體資料置換規則以及/或備份或還原揮發性記憶體資料的規則。舉例來說,記憶體空間分配規則與記憶體空間對應規則可使非揮發性記憶體區塊108內的某個記憶體空間,在揮發性記憶體區塊106內具有對應的等量的記憶體空間。圖3是依照本發明實施例的一種記憶體配置的示意圖,其中左側為備份於非揮發性記憶體區塊108的屬性資料表(在圖3中僅示出索引值)以及目標資料的示意圖,右側為揮發性記憶體區塊106儲存目標資料的示意圖,請同時參照表1、圖2與圖3。
進一步來說,上述的存取命令與屬性規則命令可例如在資料存取裝置進行開機時或進行休眠或關機時,由中央處理單元202發出,以進行目標資料以及資料屬性表的備份、還原或初始化。此外,屬性規則命令(或包括屬性規則命令的存取命令)亦可例如在中央處理單元202執行驅動程式、載入程式或應用程式時發出,以在進行目標資料的存取前,對應目標資料修改資料屬性表中的屬性設定(例如各個旗號位元修改設定)。
舉例來說,中央處理單元202執行驅動程式時可發出存取命令(或存取命令與屬性規則命令),以要求分配記憶體給裝置(例如顯示卡)使用,其中屬性規則命令(或包括屬性規則命令的存取命令)可用以修改資料屬性表中對應目標資料的屬性設定,存取命令可包括對應欲進行存取的目標資料的資料屬性的索引值,以使記憶體控制器104可依據索引值查找資料屬性表,進而決定記憶體的配置方式。舉例來說,圖形處理單元206所使用的影像資料(亦即目標資料,在圖3中以VD表示)並不需使用非揮發性記憶體區塊108,因此可使存取命令所包括的索引值為“0x01”,此索引值在資料屬性表中所對應的旗號位元(D、F、C、B)依序為“1、0、0、0”,亦即圖形處理單元206所使用的影像資料僅儲存於揮發性記憶體區塊106中(其位址為0x00000),且當資料存取裝置進行休眠或關機時,影像資料在揮發性記憶體區塊106中所對應的位址不需進行備份。又例如,初始資料(.init)則可僅儲存於非揮發性記憶體區塊108中,可使存取命令所包括的索引值為“0x0a”,此索引值在資料屬性表中所對應的旗號位元(D、F、C、B)依序為“0、1、0、0”,類似地,當資料存取裝置進行休眠或關機時,初始資料在揮發性記憶體區塊106中所對應的位址亦不需進行備份。另外,由於初始資料僅儲存於非揮發性記憶體區塊108中,因此在資料屬性表中所對應的位址資訊(Adr)的欄位未記載位址資料。
又例如,中央處理單元202執行載入程式而將編譯過後之各種區塊(Segment)載入記憶體時,中央處理單元202所發出的屬性規則命令(或包括屬性規則命令的存取命令)亦可用以修改資料屬性表中對應目標資料的屬性設定,存取命令亦可對應不同的目標資料的資料屬性而包括不同的索引值,例如記憶體區段(section)為“.text”以及“.rodata”的資料,可僅儲存於非揮發性記憶體區塊108中,以避免佔用揮發性記憶體區塊106的儲存空間。例如在本實施例中,記憶體區段為“.text”以及“.rodata”的資料所對應的存取命令包括的索引值可分別為“0x0b”與”0x0c”,其中記憶體區段為“.text”的資料在資料屬性表中所對應的旗號位元(D、F、C、B)與上述的組織資料所對應的旗號位元相同,因此在此不再贅述。而記憶體區段為“.rodata”的資料在資料屬性表中所對應的旗號位元(D、F、C、B)依序為“0、1、1、0”,也就是說,記憶體區段為“.rodata”的資料除了儲存於非揮發性記憶體區塊108外,亦可被儲存於快取記憶體區塊110,以讀取(read)命令為例,記憶體控制器104可先對快取記憶體區塊110進行目標資料(在此例中為記憶體區段為“.rodata”的資料)的存取,若目標資料不存在快取記憶體區塊110中,再對非揮發性記憶體區塊108進行目標資料的存取。
此外,又例如記憶體區段為“.stack”的資料在資料存取裝置正常操作期間僅儲存於揮發性記憶體區塊106,且當資料存取裝置進行休眠或關機時,記憶體區段為“.stack”的資料在揮發性記憶體區塊106中所對應的位址需進行備份,因此記憶體區段為“.stack”的資料在資料屬性表中所對應的旗號位元(D、F、C、B)依序為“1、0、0、1”。在一實施例中,記憶體控制器104可判斷在揮發性記憶體區塊106中記憶體區段為“.stack”的資料是否被更新,若是,記憶體控制器104可將更新旗號位元(DT)的狀態設為“1”,反之則設為“0”。在進行資料屬性表的備份時,記憶體控制器104可依據更新旗號位元(DT)以及備份旗號位元(B)的狀態來決定是否將記憶體區段為“.stack”的資料及對應位址的內容資料備份至非揮發性記憶體區塊108中。其中,當更新旗號位元(DT)的狀態為“1”且備份旗號位元(B)也為“1”時,記憶體控制器104將記憶體區段為“.stack”的資料及對應位址的內容資料備份至非揮發性記憶體區塊108中,而當更新旗號位元(DT)的狀態為“0”時,代表揮發性記憶體區塊106中所儲存的記憶體區段為“.stack”的資料與前次備份於非揮發性記憶體區塊108中的資料相同,因此可不需再進行資料備份的操作,如此可減少記憶體的存取次數,有效提昇混合記憶體的效能。
又例如,中央處理單元202執行應用程式時可利用客製化函數(例如malloc函數)來定義目標資料的屬性,例如將具有較大記憶體區間的堆積(Heap)(在圖3中以“Heap1”表示)設定為可在揮發性記憶體區塊106與非揮發性記憶體區塊108存取,而具有較小記憶體區間的堆積(在圖3中以“Heap2”表示)則設定為僅在揮發性記憶體區塊106存取。在本實施例中,Heap1對應的索引值為“0xN”,而Heap2對應的索引值為“0xM”。如表1所示,Heap2對應的索引值在資料屬性表中所對應的旗號位元(D、F、C、B、DT)依序為“1、1、0、1、1”,也就是說,可在揮發性記憶體區塊106及/或非揮發性記憶體區塊108進行目標資料的存取。在此情形下,以讀取命令為例,記憶體控制器104可先判斷目標資料是否存在揮發性記憶體區塊106中,若目標資料存在揮發性記憶體區塊106中,直接對揮發性記憶體區塊106進行目標資料的存取。而若目標資料未存在揮發性記憶體區塊106中,記憶體控制器104判斷揮發性記憶體區塊106是否已無對應空間,若已無對應空間,則對揮發性記憶體區塊106與非揮發性記憶體區塊108進行資料交換操作,以將目標資料置換進揮發性記憶體區塊106,然後再對揮發性記憶體區塊106進行目標資料的存取。
進一步來說,應用資料存取裝置的系統於最初初始化時,記憶體控制器104會設定揮發性記憶體區塊106中的一部分的儲存空間,以供後續與非揮發性記憶體區塊108的儲存空間對應使用。當記憶體控制器104執行存取命令,得知目標資料所對應的旗號位元(D)被設定為“1”,且在揮發性記憶體區塊106中尚未被分配儲存空間時(此時資料屬性表中的位址資訊(Adr)欄位為空白),記憶體控制器104將為此目標資料在揮發性記憶體區塊106配置一儲存空間並填入對應位址至資料屬性表中的位址資訊(Adr)欄位,而使得揮發性記憶體區塊106中未被配置的儲存空間減少,當揮發性記憶體區塊106中可被配置的儲存空間為零時,即代表揮發性記憶體區塊106已無對應空間。其中上述目標資料的置換可例如以最近最少使用(Least Recently Used,LRU)演算法進行資料交換,然不以此為限。若揮發性記憶體區塊106尚有對應空間,則將儲存於非揮發性記憶體區塊108中的目標資料載入至揮發性記憶體區塊106,再對揮發性記憶體區塊106進行目標資料的存取。如此藉由將存取頻率較高的資料置放於揮發性記憶體區塊106中進行存取,可有效提昇資料存取裝置的工作效率。此外,本實施例中揮發性記憶體區塊106與非揮發性記憶體區塊108間的資料交換操作為由硬體裝置依據資料屬性執行,並不需佔用系統匯流排210,可有效減少使用中央處理單元202以及系統匯流排210的資源。
類似地,更新旗號位元(DT)可記錄揮發性記憶體區塊106中的目標資料是否被更新(或與非揮發性記憶體區塊108中的目標資料是否相同),若儲存在揮發性記憶體區塊106中的目標資料被更新,更新旗號位元(DT)被設為“1”。此時記憶體控制器104可將儲存於非揮發性記憶體區塊108中的目標資料置換為更新後的目標資料,亦或是在資料存取裝置進行休眠或關機時,再進行更新後的目標資料的備份操作。而若儲存在揮發性記憶體區塊106中的目標資料未被更新(更新旗號位元(DT)被設為“0”),當資料存取裝置進行休眠或關機時,由於儲存在揮發性記憶體區塊106中的目標資料與儲存在非揮發性記憶體區塊108中的目標資料相同,因此可不需進行資料備份的操作,以減少記憶體的存取次數,提昇混合記憶體的效能。
另外,Heap1對應的索引值在資料屬性表中所對應的旗號位元(D、F、C、B、DT)與上述的記憶體區段為“.stack”的資料所對應的旗號位元相同,因此其記憶體配置與資料備份的實施方式在此不再贅述。藉由進行上述實施例的資料屬性表的備份,當資料存取裝置啟動、重新開機及/或自休眠(hibernation)喚醒時,記憶體控制器104即可將非揮發性記憶體區塊108中所備份的資料屬性表還原回揮發性記憶體區塊106,以使資料屬性表回復至前次資料存取裝置工作時的狀態。此外,在部份實施例中,非揮發性記憶體區塊108亦可儲存預設的資料屬性表,其可用於在資料存取裝置重新開機時,被載入揮發性記憶體區塊106,而初始化資料屬性表的狀態。
圖4是依照本發明實施例的一種資料存取裝置的資料存取方法流程圖,請參照圖4。由上述實施例可知,資料存取裝置的資料存取方法可包括下列步驟。首先,記憶體控制器104接收存取命令(步驟S402),存取命令可以包括存取資訊,然後記憶體控制器104依據存取資訊得到對應目標資料的資料屬性的存取規則(步驟S404)。接著,記憶體控制器104依據對應目標資料的資料屬性的存取規則對混合記憶體進行目標資料的存取操作(步驟S406),其中混合記憶體包括揮發性記憶體區塊以及非揮發性記憶體區塊。進一步來說,存取資訊可例如包括索引資訊(其可例如為存取命令中的高位元部分),例如資料屬性表的索引值,資料屬性表可備份或儲存於混合記憶體的非揮發性記憶體區塊中,對應目標資料的資料屬性的存取規則可依據索引資訊查找資料屬性表獲得。其中存取規則可例如包括至少一存取目標資料之記憶體(例如揮發性記憶體區塊、非揮發性記憶體區塊以及快取記憶體區塊至少其中之一,其中快取記憶體區塊可以為揮發性記憶體區塊的一部分)、記憶體空間對應規則、記憶體資料置換規則以及/或備份或還原揮發性記憶體資料的規則。
圖5是依照本發明另一實施例的一種資料存取裝置的資料存取方法流程圖,請參照圖5。在一實施例中,圖5可以是圖4中步驟S404的詳細步驟。詳細來說,記憶體控制器依據存取規則進行目標資料存取的方式可如圖5所示。首先,依據存取規則判斷目標資料是否僅於非揮發性記憶體區塊中被存取(步驟S502),若目標資料僅於非揮發性記憶體區塊中被存取,接著判斷目標資料是否可存在快取記憶體區塊中(步驟S504)。若目標資料不可存在快取記憶體區塊中,對非揮發性記憶體區塊進行目標資料的存取(步驟S506),若步驟S504的判斷結果為是,目標資料可存在快取記憶體區塊中,則直接對快取記憶體區塊存取目標資料(步驟S508)。在步驟S508中,若存取失敗(Miss) 時,例如目標資料不存在於快取記憶體區塊中,可進入步驟S506,對非揮發性記憶體區塊存取目標資料。在步驟S502若判斷出目標資料非僅於非揮發性記憶體區塊中被存取,則接著判斷目標資料是否僅於揮發性記憶體區塊中被存取(步驟S510)。若目標資料僅於揮發性記憶體區塊中被存取,則對揮發性記憶體區塊存取目標資料(步驟S512),若步驟S510的判斷結果為否,目標資料非僅於揮發性記憶體區塊中被存取,則判斷目標資料是否存在揮發性記憶體區塊中(步驟S514),若目標資料存在揮發性記憶體區塊中,則進入步驟S512,對揮發性記憶體區塊存取目標資料。而若步驟S514的判斷結果為否,目標資料未存在揮發性記憶體區塊中,則判斷揮發性記憶體區塊是否尚有對應空間(步驟S516),若揮發性記憶體區塊已無對應空間,對揮發性記憶體區塊與非揮發性記憶體區塊進行資料交換操作,以將目標資料置換進揮發性記憶體區塊(步驟S518),其中資料交換操作可例如使用最近最少使用演算法進行。在將目標資料置換進揮發性記憶體區塊後,再進入步驟S512,對揮發性記憶體區塊存取目標資料。若步驟S516的判斷結果為是,揮發性記憶體區塊尚有對應空間,則將儲存於非揮發性記憶體區塊中的目標資料載入至揮發性記憶體區塊(步驟S520),然後再進入步驟S512,對揮發性記憶體區塊存取目標資料。
舉例來說,假設目標資料在資料屬性表中所對應的旗號位元(D、F、C)依序為“0、1、0”,則在步驟S502中,目標資料將會被判斷為僅於非揮發性記憶體區塊中被存取(因揮發性記憶體區塊旗號位元(D)為“0”,而非揮發性記憶體區塊旗號位元(F)為“1”)。而在接著的步驟S504中,目標資料將會被判斷為不存在快取記憶體區塊中(因快取旗號位元(C)為“0”),因此可進入步驟S506,對非揮發性記憶體區塊存取目標資料。
又例如,假設目標資料在資料屬性表中所對應的旗號位元(D、F、C)依序為“1、0、1”,在步驟S502中,目標資料將會被判斷為非僅於非揮發性記憶體區塊中被存取,並在步驟S510中被判斷為僅於揮發性記憶體區塊中被存取(因揮發性記憶體區塊旗號位元(D)為“1”,而非揮發性記憶體區塊旗號位元(F)為“0”)。因此接著便進入步驟S512,對揮發性記憶體區塊存取目標資料。
圖6是依照本發明實施例的一種備份資料屬性表及其對應資料的方法流程圖,請參照圖6。詳細來說,當資料存取裝置進行休眠或關機時記憶體控制器備份資料屬性表及其對應資料的方法可包括下列步驟。首先,依據資料屬性表中各個項目的備份旗號位元判斷對應的目標資料以及其在該揮發性記憶體區塊中所對應的位址是否需進行備份(步驟S602),若各個項目對應的目標資料以及其在該揮發性記憶體區塊中所對應的位址皆不需進行備份,進行資料存取裝置的休眠或關機(步驟S604)。若需進行備份,則依據更新旗號位元將被更新的目標資料以及其在揮發性記憶體區塊中所對應的位址備份至非揮發性記憶體區塊(步驟S608),其中更新旗號位元指示儲存於揮發性記憶體區塊中的目標資料是否被更新,在目標資料未被更新的情形下,可不需進行備份。在各個項目所對應的目標資料皆進行資料更新的判斷與備份後,將資料屬性表備份至非揮發性記憶體(步驟S610),而可進入步驟S604,進行資料存取裝置的休眠或關機。
圖7是依照本發明實施例的一種還原資料屬性表及其對應資料的方法流程圖,請參照圖7。詳細來說,當資料存取裝置進行開機時記憶體控制器還原資料屬性表及其對應資料的方法可包括下列步驟。首先,判斷是否還原資料屬性表(步驟S702),若不還原資料屬性表,則自非揮發性記憶體區塊載入預設的資料屬性表,以初始化資料屬性表的狀態(步驟S704)。若步驟S702判斷應還原資料屬性表,則將非揮發性記憶體區塊中所備份的資料屬性表還原回揮發性記憶體區塊(步驟S706),以使揮發性記憶體區塊的資料屬性表回復至前次資料存取裝置工作時的狀態。詳細來說,可依據非揮發性記憶體區塊所備份的資料屬性表中的備份旗號位元以及更新旗號位元,將之前被更新的目標資料以及其在揮發性記憶體區塊中所對應的位址還原至揮發性記憶體區塊的資料屬性表中,以使揮發性記憶體區塊的資料屬性表回復至前次資料存取裝置工作時的狀態,而未進行備份或未被更新過的目標資料則可例如依據預設的資料屬性表來進行還原。然後,再依據還原的資料屬性表中的位址資訊將備份於非揮發性記憶體區塊的目標資料還原回揮發性記憶體區塊(步驟S708)。
綜上所述,本發明實施例的記憶體控制器可依據存取命令存取目標資料,其中存取命令包括指示目標資料的資料屬性的存取資訊,記憶體控制器可依據對應目標資料的資料屬性的存取規則對混合記憶體進行目標資料的存取操作,如此藉由高速硬體裝置依據資料屬性對混合記憶體進行配置管理及資料交換,可減少佔用系統匯流排,有效減少使用中央處理單元以及系統匯流排的資源,且可有效率地使用混合記憶體,降低不必要的資料存取,而大幅地提升混合型記憶體的效能。
雖然本發明已以實施例揭露如上,然其並非用以限定本發明,任何所屬技術領域中具有通常知識者,在不脫離本發明的精神和範圍內,當可作些許的更動與潤飾,故本發明的保護範圍當視後附的申請專利範圍所界定者為準。
102‧‧‧混合記憶體
104‧‧‧記憶體控制器
106‧‧‧揮發性記憶體區塊
108‧‧‧非揮發性記憶體區塊
110‧‧‧快取記憶體區塊
202‧‧‧中央處理單元
204‧‧‧記憶體存取控制電路
206‧‧‧圖形處理單元
208‧‧‧非揮發性記憶體
210‧‧‧系統匯流排
212‧‧‧快取記憶體
214‧‧‧記憶體管理單元
VD‧‧‧影像資料
.init、.text、.rodata、.stack‧‧‧資料
Heap1、Heap2‧‧‧堆積
S402~S404、S502~S520‧‧‧資料存取裝置的資料儲存方法步驟
S602~S610‧‧‧備份資料屬性表及其對應資料的方法步驟
S702~S708‧‧‧還原資料屬性表及其對應資料的方法步驟
圖1是依照本發明的實施例的一種資料存取裝置的示意圖。 圖2是依照本發明另一實施例的一種資料存取系統的資料存取裝置的示意圖。 圖3是依照本發明實施例的一種記憶體配置的示意圖。 圖4是依照本發明實施例的一種資料存取裝置的資料存取方法流程圖。 圖5是依照本發明另一實施例的一種資料存取裝置的資料存取方法流程圖。 圖6是依照本發明實施例的一種備份資料屬性表及其對應資料的方法流程圖。 圖7是依照本發明實施例的一種還原資料屬性表及其對應資料的方法流程圖。
S402~S404‧‧‧資料存取裝置的資料儲存方法步驟
Claims (39)
- 一種資料存取裝置,包括:一混合記憶體,包括一揮發性記憶體區塊以及一非揮發性記憶體區塊;以及一記憶體控制器,耦接該混合記憶體,依據一存取命令存取一目標資料,其中該存取命令包括一存取資訊,該記憶體控制器依據該存取資訊得到對應該目標資料的一資料屬性的一存取規則,並依據該存取規則對該混合記憶體進行該目標資料的存取操作。
- 如申請專利範圍第1項所述的資料存取裝置,其中該資料存取裝置更儲存一資料屬性表,該存取資訊包含一索引資訊,該記憶體控制器更依據該索引資訊查找該資料屬性表,以獲得對應該目標資料的該資料屬性的該存取規則。
- 如申請專利範圍第2項所述的資料存取裝置,其中該資料屬性表位於一可讀寫的獨立揮發性記憶體或該揮發性記憶體區塊內。
- 如申請專利範圍第3項所述的資料存取裝置,其中該資料屬性表被備份於該非揮發性記憶體區塊內。
- 如申請專利範圍第2項所述的資料存取裝置,其中該資料屬性表位於可讀寫的一獨立非揮發性記憶體或該非揮發性記憶體內。
- 如申請專利範圍第1項所述的資料存取裝置,其中該存取規則包括至少一存取該目標資料之記憶體、一記憶體空間分配規則、一記憶體空間對應規則、一記憶體資料置換規則或一備份或還原該揮發性記憶體資料的規則。
- 如申請專利範圍第6項所述的資料存取裝置,其中該至少一存取該目標資料之記憶體包括該揮發性記憶體區塊、該非揮發性記憶體區塊以及一快取記憶體區塊至少其中之一,其中該快取記憶體區塊為一獨立揮發性記憶體或該揮發性記憶體區塊的一部分。
- 如申請專利範圍第7項所述的資料存取裝置,其中當該存取規則指示該至少一存取該目標資料之記憶體包括該快取記憶體區塊以及該非揮發性記憶體區塊時,該記憶體控制器先對該快取記憶體區塊存取該目標資料,若該目標資料不存在該快取記憶體區塊中,再對該非揮發性記憶體區塊進行該目標資料的存取。
- 如申請專利範圍第6項所述的資料存取裝置,其中當該存取規則指示該至少一存取該目標資料之記憶體包括該揮發性記憶體區塊與該非揮發性記憶體區塊時,若該目標資料未被儲存於該揮發性記憶體區塊,且該揮發性記憶體區塊已無對應空間,該記憶體控制器對該揮發性記憶體擇一區塊與該非揮發性記憶體區塊進行資料交換操作,以將該目標資料置換進該揮發性記憶體區塊,再對該揮發性記憶體區塊進行該目標資料的存取,若該目標資料未被儲存於該揮發性記憶體區塊,且該揮發性記憶體區塊尚 有對應空間,該記憶體控制器將儲存於該非揮發性記憶體區塊中的該目標資料載入至該揮發性記憶體區塊,再對該揮發性記憶體區塊進行該目標資料的存取。
- 如申請專利範圍第9項所述的資料存取裝置,其中該記憶體控制器更依據該存取規則判斷該目標資料是否僅於非揮發性記憶體區塊中被存取,並判斷該目標資料是否僅於該揮發性記憶體區塊中被存取,其中若該目標資料並非僅於非揮發性記憶體區塊中被存取且並非僅於該揮發性記憶體區塊中被存取,判斷該存取規則指示該至少一存取該目標資料之記憶體包括該揮發性記憶體區塊與該非揮發性記憶體區塊。
- 如申請專利範圍第6項所述的資料存取裝置,其中若該存取規則指示該至少一存取該目標資料之記憶體包括該揮發性記憶體區塊與該非揮發性記憶體區塊,該記憶體控制器判斷儲存於該揮發性記憶體區塊的該目標資料是否被更新,若儲存於該揮發性記憶體區塊的該目標資料被更新,該記憶體控制器將儲存於該非揮發性記憶體區塊的該目標資料置換為被更新的該目標資料。
- 如申請專利範圍第2項所述的資料存取裝置,其中該存取規則包括至少一存取該目標資料之記憶體、一記憶體空間分配規則、一記憶體空間對應規則、一記憶體資料置換規則或一備份或還原該揮發性記憶體資料的規則,備份或還原該目標資料的規則包括於該資料存取裝置進行休眠或關機時進行該資料屬性表的 備份操作,以及於該資料存取裝置進行開機時進行該資料屬性表的初始化操作或該資料屬性表的還原操作。
- 如申請專利範圍第12項所述的資料存取裝置,其中當該存取規則指示該至少一存取該目標資料之記憶體包括該揮發性記憶體區塊且該目標資料需進行備份時,該記憶體控制器於該資料存取裝置進行休眠或關機時判斷儲存於該揮發性記憶體區塊中的該目標資料是否被更新,若該目標資料被更新,將該目標資料以及其在該揮發性記憶體區塊中所對應的位址備份至該非揮發性記憶體區塊,於該資料存取裝置進行開機時,依據備份的該目標資料以及其在該揮發性記憶體區塊中所對應的位址將該目標資料還原至該揮發性記憶體區塊。
- 如申請專利範圍第13項所述的資料存取裝置,其中若該目標資料未被更新,該記憶體控制器不進行該目標資料的備份。
- 如申請專利範圍第2項所述的資料存取裝置,其中於該資料存取裝置進行休眠或關機時,該記憶體控制器更依據該資料屬性表中各個項目的備份旗號位元判斷對應的該目標資料以及該目標資料在該揮發性記憶體區塊中所對應的位址是否需進行備份,若不需進行備份,該資料存取裝置進行休眠或關機,若需進行備份,該記憶體控制器依據更新旗號位元將被更新的該目標資料以及該目標資料在該揮發性記憶體區塊中所對應的位址備份至 該非揮發性記憶體區塊,並將該資料屬性表備份至該非揮發性記憶體區塊。
- 如申請專利範圍第2項所述的資料存取裝置,其中於該資料存取裝置進行開機時,該記憶體控制器更判斷是否還原資料屬性表,若不還原該資料屬性表,自該非揮發性記憶體區塊載入預設的資料屬性表,以初始化該資料屬性表的狀態,若還原資料屬性表,將該非揮發性記憶體區塊中所備份的資料屬性表還原回該揮發性記憶體區塊。
- 如申請專利範圍第1項所述的資料存取裝置,其中該記憶體控制器更依據一屬性規則命令修改該存取規則。
- 如申請專利範圍第17項所述的資料存取裝置,其中該存取命令包括該屬性規則命令。
- 如申請專利範圍第17項所述的資料存取裝置,其中該屬性規則命令在該資料存取裝置進行開機時、進行休眠或關機時、執行驅動程式、執行載入程式或執行應用程式時被傳送至該記憶體控制器。
- 一種包括如申請專利範圍第1項所述的資料存取裝置的資料存取系統,包括:該資料存取裝置;一中央處理單元;一記憶體存取控制電路,耦接該中央處理單元,包括一快取記憶體以及一記憶體管理單元; 一圖形處理單元;以及一非揮發性記憶體,該圖形處理單元、該非揮發性記憶體以及該記憶體控制器透過一系統匯流排耦接至該記憶體存取控制電路。
- 一種資料存取裝置的資料存取方法,該資料存取裝置包括一混合記憶體,該混合記憶體包括一揮發性記憶體區塊以及一非揮發性記憶體區塊,該資料存取裝置的資料存取方法包括:接收一存取命令,該存取命令包括一存取資訊;依據該存取資訊得到對應一目標資料的一資料屬性的一存取規則;以及依據該存取規則對該混合記憶體進行該目標資料的存取操作。
- 如申請專利範圍第21項所述的資料存取裝置的資料存取方法,其中該資料存取裝置更儲存一資料屬性表,該存取資訊包含索引資訊,該資料存取裝置的資料存取方法更包括:依據該索引資訊查找該資料屬性表,以獲得對應該目標資料的該資料屬性的該存取規則。
- 如申請專利範圍第22項所述的資料存取裝置的資料存取方法,其中該資料屬性表位於一可讀寫的獨立揮發性記憶體或該揮發性記憶體區塊內。
- 如申請專利範圍第23項所述的資料存取裝置的資料存取方法,其中該資料屬性表被備份於該非揮發性記憶體區塊內。
- 如申請專利範圍第22項所述的資料存取裝置的資料存取方法,其中該資料屬性表位於一可讀寫的獨立非揮發性記憶體或該非揮發性記憶體內。
- 如申請專利範圍第21項所述的資料存取裝置的資料存取方法,其中該存取規則包括存取該目標資料之記憶體、一記憶體空間分配規則、一記憶體空間對應規則、一資料置換規則或一備份或還原該資料的規則。
- 如申請專利範圍第26項所述的資料存取裝置的資料存取方法,其中存取該目標資料之記憶體包括該揮發性記憶體區塊、該非揮發性記憶體區塊以及一快取記憶體區塊至少其中之一,其中該快取記憶體區塊為一獨立揮發性記憶體或該揮發性記憶體區塊的一部分。
- 如申請專利範圍第27項所述的資料存取裝置的資料存取方法,更包括:當該存取規則指示存取該目標資料之記憶體包括該快取記憶體區塊以及該非揮發性記憶體區塊時,對該快取記憶體區塊存取該目標資料;判斷該目標資料是否可存在該快取記憶體區塊;以及若該目標資料不可存在該快取記憶體區塊中,對該非揮發性記憶體區塊進行該目標資料的存取。
- 如申請專利範圍第26項所述的資料存取裝置的資料存取方法,其中當該存取規則指示存取該目標資料之記憶體包括該 揮發性記憶體區塊與該非揮發性記憶體區塊時,該資料存取裝置的資料存取方法更包括:判斷該目標資料是否被儲存於該揮發性記憶體區塊以及該揮發性記憶體區塊是否尚有對應空間;若該目標資料未被儲存於該揮發性記憶體區塊,且該揮發性記憶體區塊已無對應空間,對該揮發性記憶體區塊與該非揮發性記憶體區塊進行資料交換操作,將該目標資料置換進該揮發性記憶體區塊,再對該揮發性記憶體區塊進行該目標資料的存取;以及若該目標資料未被儲存於該揮發性記憶體區塊,且該揮發性記憶體區塊尚有對應空間,將儲存於該非揮發性記憶體區塊中的該目標資料載入至該揮發性記憶體區塊,再對該揮發性記憶體區塊進行該目標資料的存取。
- 如申請專利範圍第29項所述的資料存取裝置的資料存取方法,復包括:依據該存取規則判斷該目標資料是否僅於非揮發性記憶體區塊中被存取;判斷該目標資料是否僅於該揮發性記憶體區塊中被存取,其中若該目標資料並非僅於非揮發性記憶體區塊中被存取且並非僅於該揮發性記憶體區塊中被存取,判斷該存取規則指示存取該目標資料之記憶體包括該揮發性記憶體區塊與該非揮發性記憶體區塊。
- 如申請專利範圍第26項所述的資料存取裝置的資料存取方法,其中當該存取規則指示存取該目標資料之記憶體包括該揮發性記憶體區塊與該非揮發性記憶體區塊時,該資料存取裝置的資料存取方法更包括:判斷儲存於該揮發性記憶體區塊的該目標資料是否被更新;以及若儲存於該揮發性記憶體區塊的該目標資料被更新,將儲存於該非揮發性記憶體區塊的該目標資料置換為被更新的該目標資料。
- 如申請專利範圍第22項所述的資料存取裝置的資料存取方法,其中該存取規則包括存取該目標資料之記憶體、一記憶體空間分配規則、一記憶體空間對應規則、一資料置換規則或一備份或還原該資料的規則,備份或還原該目標資料的規則包括於該資料存取裝置進行休眠或關機時進行該資料屬性表的備份操作,以及於該資料存取裝置進行開機時進行該資料屬性表的初始化操作或該資料屬性表的還原操作。
- 如申請專利範圍第32項所述的資料存取裝置的資料存取方法,其中當該存取規則指示存取該目標資料之記憶體包括該揮發性記憶體區塊且該目標資料需進行備份時,該資料存取裝置的資料存取方法更包括:於該資料存取裝置進行休眠或關機時判斷儲存於該揮發性記憶體區塊中的該目標資料是否被更新; 若該目標資料被更新,將該目標資料以及其在該揮發性記憶體區塊中所對應的位址備份至該非揮發性記憶體區塊;以及於該資料存取裝置進行開機時,依據備份的該目標資料以及其在該揮發性記憶體區塊中所對應的位址將該目標資料還原至該揮發性記憶體區塊
- 如申請專利範圍第33項所述的資料存取裝置的資料存取方法,其中若該目標資料未被更新,不進行該目標資料的備份。
- 如申請專利範圍第32項所述的資料存取裝置的資料存取方法,包括:於該資料存取裝置進行休眠或關機時,依據該資料屬性表中各個項目的備份旗號位元判斷對應的該目標資料以及該目標資料在該揮發性記憶體區塊中所對應的位址是否需進行備份;若不需進行備份,進行該資料存取裝置的休眠或關機;以及若需進行備份,依據更新旗號位元將被更新的該目標資料以及該目標資料在該揮發性記憶體區塊中所對應的位址備份至該非揮發性記憶體區塊,並將該資料屬性表備份至該非揮發性記憶體區塊。
- 如申請專利範圍第32項所述的資料存取裝置的資料存取方法,包括:於該資料存取裝置進行開機時,判斷是否還原資料屬性表; 若不還原該資料屬性表,自該非揮發性記憶體區塊載入預設的資料屬性表,以初始化該資料屬性表的狀態;以及若還原資料屬性表,將該非揮發性記憶體區塊中所備份的資料屬性表還原回該揮發性記憶體區塊。
- 如申請專利範圍第31項所述的資料存取裝置的資料存取方法,復包括:依據一屬性規則命令修改該存取規則。
- 如申請專利範圍第37項所述的資料存取裝置的資料存取方法,其中該存取命令包括該屬性規則命令。
- 如申請專利範圍第37項所述的資料存取裝置的資料存取方法,其中該屬性規則命令在該資料存取裝置進行開機時、進行休眠或關機時、執行驅動程式、執行載入程式或執行應用程式時被發出。
Priority Applications (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
TW105139388A TWI596541B (zh) | 2016-11-30 | 2016-11-30 | 資料存取系統、資料存取裝置及資料存取方法 |
US15/394,710 US20180150219A1 (en) | 2016-11-30 | 2016-12-29 | Data accessing system, data accessing apparatus and method for accessing data |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
TW105139388A TWI596541B (zh) | 2016-11-30 | 2016-11-30 | 資料存取系統、資料存取裝置及資料存取方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
TWI596541B true TWI596541B (zh) | 2017-08-21 |
TW201821968A TW201821968A (zh) | 2018-06-16 |
Family
ID=60189169
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
TW105139388A TWI596541B (zh) | 2016-11-30 | 2016-11-30 | 資料存取系統、資料存取裝置及資料存取方法 |
Country Status (2)
Country | Link |
---|---|
US (1) | US20180150219A1 (zh) |
TW (1) | TWI596541B (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US11372779B2 (en) | 2018-12-19 | 2022-06-28 | Industrial Technology Research Institute | Memory controller and memory page management method |
Families Citing this family (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US10714179B2 (en) * | 2016-10-07 | 2020-07-14 | Hewlett-Packard Development Company, L.P. | Hybrid memory devices |
KR20180078512A (ko) * | 2016-12-30 | 2018-07-10 | 삼성전자주식회사 | 반도체 장치 |
US11099789B2 (en) | 2018-02-05 | 2021-08-24 | Micron Technology, Inc. | Remote direct memory access in multi-tier memory systems |
US10782908B2 (en) | 2018-02-05 | 2020-09-22 | Micron Technology, Inc. | Predictive data orchestration in multi-tier memory systems |
US11416395B2 (en) * | 2018-02-05 | 2022-08-16 | Micron Technology, Inc. | Memory virtualization for accessing heterogeneous memory components |
US10880401B2 (en) | 2018-02-12 | 2020-12-29 | Micron Technology, Inc. | Optimization of data access and communication in memory systems |
US10877892B2 (en) | 2018-07-11 | 2020-12-29 | Micron Technology, Inc. | Predictive paging to accelerate memory access |
US10852949B2 (en) | 2019-04-15 | 2020-12-01 | Micron Technology, Inc. | Predictive data pre-fetching in a data storage device |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
TW201342053A (zh) * | 2011-12-29 | 2013-10-16 | Intel Corp | 運用直接存取的多階記憶體 |
US20150012717A1 (en) * | 2013-07-03 | 2015-01-08 | Micron Technology, Inc. | Memory controlled data movement and timing |
TW201603037A (zh) * | 2014-03-19 | 2016-01-16 | 美光科技公司 | 記憶體對映 |
TW201640358A (zh) * | 2015-05-07 | 2016-11-16 | 三星電子股份有限公司 | 資料儲存方法、記憶體模組以及資料儲存系統 |
Family Cites Families (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US8060719B2 (en) * | 2008-05-28 | 2011-11-15 | Micron Technology, Inc. | Hybrid memory management |
US8321645B2 (en) * | 2009-04-29 | 2012-11-27 | Netapp, Inc. | Mechanisms for moving data in a hybrid aggregate |
WO2011007599A1 (ja) * | 2009-07-17 | 2011-01-20 | 株式会社 東芝 | メモリ管理装置 |
KR102248915B1 (ko) * | 2014-03-26 | 2021-05-07 | 삼성전자주식회사 | 하이브리드 메모리 장치, 그것을 포함하는 메모리 시스템 및 그것의 데이터 처리 방법 |
-
2016
- 2016-11-30 TW TW105139388A patent/TWI596541B/zh active
- 2016-12-29 US US15/394,710 patent/US20180150219A1/en not_active Abandoned
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
TW201342053A (zh) * | 2011-12-29 | 2013-10-16 | Intel Corp | 運用直接存取的多階記憶體 |
US20150012717A1 (en) * | 2013-07-03 | 2015-01-08 | Micron Technology, Inc. | Memory controlled data movement and timing |
TW201603037A (zh) * | 2014-03-19 | 2016-01-16 | 美光科技公司 | 記憶體對映 |
TW201640358A (zh) * | 2015-05-07 | 2016-11-16 | 三星電子股份有限公司 | 資料儲存方法、記憶體模組以及資料儲存系統 |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US11372779B2 (en) | 2018-12-19 | 2022-06-28 | Industrial Technology Research Institute | Memory controller and memory page management method |
Also Published As
Publication number | Publication date |
---|---|
TW201821968A (zh) | 2018-06-16 |
US20180150219A1 (en) | 2018-05-31 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
TWI596541B (zh) | 資料存取系統、資料存取裝置及資料存取方法 | |
US9727570B2 (en) | Mount-time unmapping of unused logical addresses in non-volatile memory systems | |
US7590815B1 (en) | Method and apparatus for partial memory power shutoff | |
US9069657B2 (en) | LBA bitmap usage | |
US11341059B2 (en) | Using multiple memory elements in an input-output memory management unit for performing virtual address to physical address translations | |
US9811456B2 (en) | Reliable wear-leveling for non-volatile memory and method therefor | |
US9063728B2 (en) | Systems and methods for handling hibernation data | |
US20200117368A1 (en) | Method for achieving data copying in ftl of solid state drive, system and solid state drive | |
US10162554B2 (en) | System and method for controlling a programmable deduplication ratio for a memory system | |
KR20120058352A (ko) | 하이브리드 메모리 시스템, 및 그 관리 방법 | |
CN105630405B (zh) | 一种存储系统及采用该存储系统的读写方法 | |
US10657068B2 (en) | Techniques for an all persistent memory file system | |
CN105608016B (zh) | Dram与mram结合的固态硬盘及使用mram的存储卡 | |
US10146483B2 (en) | Memory system | |
CN110597742A (zh) | 用于具有持久系统存储器的计算机系统的改进存储模型 | |
CN105607862A (zh) | 一种dram与mram结合具有备份电源的固态硬盘 | |
CN108694101B (zh) | 存储器侧高速缓存内容的持久性高速缓存 | |
CN102681792B (zh) | 一种固态盘内存分区方法 | |
US9218294B1 (en) | Multi-level logical block address (LBA) mapping table for solid state | |
KR20140065196A (ko) | 메모리 시스템 및 그 구동 방법 | |
JP2009258925A (ja) | 計算機システムおよび計算機システムのメモリ管理方法 | |
US20200142623A1 (en) | Storage device and electronic device managing data transmitted to storage device | |
US20160210234A1 (en) | Memory system including virtual cache and management method thereof | |
CN107423232B (zh) | Ftl快速访问方法与装置 | |
US20240241656A1 (en) | Apparatus and method for dynamically managing host performance booster control mode |