TW202403560A - 資料存取方法及資料存取系統 - Google Patents

資料存取方法及資料存取系統 Download PDF

Info

Publication number
TW202403560A
TW202403560A TW111125763A TW111125763A TW202403560A TW 202403560 A TW202403560 A TW 202403560A TW 111125763 A TW111125763 A TW 111125763A TW 111125763 A TW111125763 A TW 111125763A TW 202403560 A TW202403560 A TW 202403560A
Authority
TW
Taiwan
Prior art keywords
memory
usage
value
pages
column
Prior art date
Application number
TW111125763A
Other languages
English (en)
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 瑞昱半導體股份有限公司
Priority to TW111125763A priority Critical patent/TW202403560A/zh
Priority to US17/984,211 priority patent/US20240012761A1/en
Publication of TW202403560A publication Critical patent/TW202403560A/zh

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/02Addressing or allocation; Relocation
    • G06F12/08Addressing or allocation; Relocation in hierarchically structured memory systems, e.g. virtual memory systems
    • G06F12/0802Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches
    • G06F12/0877Cache access modes
    • G06F12/0882Page mode
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/02Addressing or allocation; Relocation
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/02Addressing or allocation; Relocation
    • G06F12/08Addressing or allocation; Relocation in hierarchically structured memory systems, e.g. virtual memory systems
    • G06F12/0802Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches
    • G06F12/0804Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches with main memory updating
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/04Network architectures or network communication protocols for network security for providing a confidential data exchange among entities communicating through data packet networks
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/02Addressing or allocation; Relocation
    • G06F12/08Addressing or allocation; Relocation in hierarchically structured memory systems, e.g. virtual memory systems
    • G06F12/12Replacement control
    • G06F12/121Replacement control using replacement algorithms
    • G06F12/126Replacement control using replacement algorithms with special data handling, e.g. priority of data or instructions, handling errors or pinning
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2212/00Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
    • G06F2212/10Providing a specific technical effect
    • G06F2212/1016Performance improvement
    • G06F2212/1024Latency reduction
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2212/00Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
    • G06F2212/10Providing a specific technical effect
    • G06F2212/1041Resource optimization
    • G06F2212/1044Space efficiency improvement
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2212/00Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
    • G06F2212/17Embedded application
    • G06F2212/173Vehicle or other transportation

Abstract

資料存取方法包含提供第一記憶體,第一記憶體包含複數個記憶體分頁;取得該些記憶體分頁中,每一個記憶體分頁的使用順序值;在該些記憶體分頁對應的該些使用順序值中,取得第一記憶體內優先順序最高的第一使用順序值;在使用第一使用順序值對應的第一記憶體分頁後,更新第一記憶體;在第一記憶體被更新後,取得更新後的第一記憶體內優先順序最高的第二使用順序值;以及使用第二使用順序值對應的第二記憶體分頁。

Description

資料存取方法及資料存取系統
本揭露揭露一種資料存取方法及資料存取系統,尤指一種利用記憶體之使用順序而實現之高效能及低記憶體使用量之資料存取方法及資料存取系統。
隨著電腦科技的演進,逐漸發展出各式的密集儲存裝置,其中又以記憶體為最廣受使用的儲存媒介。一般來說,依據儲存特性之別,記憶體又可區分為揮發性(Volatile)記憶體與非揮發性(Non-Volatile)記憶體,其中揮發性記憶體所儲存的資料會在電源供應中斷後消失,而非揮發性記憶體所儲存的資料即使在斷電時依舊能夠被保存下來,只要重新供電就能夠讀取內存資料。
目前,在記憶體進行資料存取時,常會採用連結串列(Link List)的結構,以儲存封包內所屬的指標(Pointer)。連結串列是一種常見的資料結構。連結串列係使用節點(Node)記錄、表示以及儲存資料,並利用每一個節點中的指標指向下一個節點。因此,這種連結串列的資料結構可以將多個節點串連起來。然而,連結串列之資料結構的搜尋的時間複雜度為O(N)。並且,連結串列之資料結構需要較大的記憶體空間來儲存指標。因此,發展一種高效能及低記憶體使用量之資料存取方法是一個重要的議題。
本揭露之一實施例提出一種資料存取方法。資料存取方法包含提供第一記憶體,第一記憶體包含複數個記憶體分頁,取得該些記憶體分頁中,每一個記憶體分頁的使用順序值,在該些記憶體分頁對應的該些使用順序值中,取得第一記憶體內優先順序最高的第一使用順序值,在使用第一使用順序值對應的第一記憶體分頁後,更新第一記憶體,在第一記憶體被更新後,取得更新後的第一記憶體內優先順序最高的第二使用順序值,以及使用第二使用順序值對應的第二記憶體分頁。
本揭露另一實施例提出一種資料存取系統。資料存取系統包含第一記憶體、接收端、傳送端以及處理器。第一記憶體包含複數個記憶體分頁,用以儲存資料。接收端用以接收輸入資料,並將輸入資料寫入至第一記憶體。傳送端用以由第一記憶體讀取傳送資料。處理器耦接於第一記憶體、第二記憶體、接收端及傳送端,用以控制第一記憶體、第二記憶體、接收端及傳送端。處理器取得該些記憶體分頁中,每一個記憶體分頁的使用順序值。處理器在該些記憶體分頁對應的該些使用順序值中,取得第一記憶體內優先順序最高的第一使用順序值,以供接收端及傳送端透過第一使用順序值對應的第一記憶體分頁存取資料。處理器在使用第一使用順序值對應的第一記憶體分頁後,更新第一記憶體。處理器於第一記憶體被更新後,取得更新後的第一記憶體內優先順序最高的第二使用順序值,以供接收端及傳送端透過第二使用順序值對應的第二記憶體分頁存取資料。
第1圖係為本揭露之資料存取系統100之實施例的方塊圖。資料存取系統100包含第一記憶體10、接收端RX、傳送端TX以及處理器11。第一記憶體10包含複數個記憶體分頁(Pages),用以儲存資料。第一記憶體10可為靜態隨機存取記憶體(Static Random Access Memory,SRAM),但不限於此。第一記憶體10的該些記憶體分頁可為二維陣列的方式排列。例如,在第1圖中,第一記憶體10可包含第一列的記憶體分頁R1、第二列的記憶體分頁R2、第三列的記憶體分頁R2以及第四列的記憶體分頁R4。每一列的記憶體分頁中可包含至少一個可用的記憶體分頁及/或至少一個不可用(或已使用,memory used in)的記憶體分頁。在第一記憶體10中,可用的記憶體分頁會對應一個使用順序值,而暫不可用的或已經使用的記憶體分頁則無使用順序值。舉例而言,第一列的記憶體分頁R1包含使用順序值5’d10、5’d9、5d’11以及5’d6的可用記憶體分頁。第二列的記憶體分頁R2包含使用順序值5d’7、5d’4、5d’15以及5’d1的可用記憶體分頁。第三列的記憶體分頁R3包含使用順序值5’d3、5’d0以及5’d8的可用記憶體分頁。第四列的記憶體分頁R4包含使用順序值5’d2、5’d5、5’d12、5’d14以及5’d13的可用記憶體分頁。如第1圖所示,使用順序值5’d0至5’d15的記憶體分頁表示接收端RX或傳送端TX存取該些記憶體分頁的順序。並且,對於第一記憶體10而言,該些使用順序值5’d0至5’d15可為對應複數個連續記憶體位址的使用順序值,或對應複數個不連續記憶體位址的使用順序值。在資料存取系統100中,接收端RX用以接收輸入資料,並將輸入資料寫入至第一記憶體10。傳送端TX用以由第一記憶體10讀取傳送資料。處理器11耦接於第一記憶體10、接收端RX及傳送端TX,用以控制第一記憶體10、接收端RX及傳送端TX。處理器11可為記憶體幀分頁順序連結控制器(Frame Page Order Link Controller)。在資料存取系統100中,還可以包含第二記憶體12。第二記憶體12耦接於第一記憶體10以及處理器11。第二記憶體12可為獨立的暫存器,用以緩存每一列之記憶體分頁中,優先順序最高的使用順序值。並且,在資料存取系統100中,當接收端RX或傳送端TX依序使用該些記憶體分頁時,第一記憶體10以及第二記憶體12所存的內容也會同步更新。在資料存取系統100中,處理器11可取得第一記憶體10內之該些記憶體分頁中,每一個記憶體分頁的使用順序值。接著,處理器11可取得第一記憶體10內優先順序最高的第一使用順序值,以供接收端RX及傳送端RX透過第一使用順序值對應的第一記憶體分頁存取資料。處理器11在使用第一使用順序值對應之第一記憶體分頁後,可以同時更新第一記憶體10以及第二記憶體12。接著,處理器11於第一記憶體10以及第二記憶體12被更新後,可取得更新後的第一記憶體內優先順序最高的第二使用順序值,以供接收端RX及傳送端TX透過第二使用順序值對應的第二記憶體分頁存取資料。資料存取系統100搜尋適當的記憶體分頁的細節將於後文詳述。
第2圖係為資料存取系統100中,取得優先順序最高的第一使用順序值5’d0的示意圖。如前述提及,在前述實施例之資料存取系統100中,第一記憶體10可包含第一列的記憶體分頁R1、第二列的記憶體分頁R2、第三列的記憶體分頁R2以及第四列的記憶體分頁R4。處理器11可取得第一記憶體10內,複數列的記憶體分頁(如R1至R4)的每一列的記憶體分頁中,最小的列使用順序值。舉例而言,第一列的記憶體分頁R1包含使用順序值5’d10、5’d9、5d’11以及5’d6的可用記憶體分頁。處理器11將會在順序值集合{5’d10, 5’d9, 5d’11, 5’d6}中,選出優先順序最高的順序值,亦即於第一列的記憶體分頁R1中,可選出最小的列使用順序值5’d6。第二列的記憶體分頁R2包含使用順序值5d’7、5d’4、5d’15以及5’d1的可用記憶體分頁。處理器11將會在順序值集合{5d’7, 5d’4, 5d’15, 5’d1}中,選出優先順序最高的順序值,亦即於第二列的記憶體分頁R2中,可選出最小的列使用順序值5’d1。第三列的記憶體分頁R3包含使用順序值5’d3、5’d0以及5’d8的可用記憶體分頁。處理器11將會在順序值集合{5’d3, 5’d0, 5’d8}中,選出優先順序最高的順序值,亦即於第三列的記憶體分頁R3中,可選出最小的列使用順序值5’d0。第四列的記憶體分頁R4包含使用順序值5’d2、5’d5、5’d12、5’d14以及5’d13的可用記憶體分頁。處理器11將會在順序值集合{5’d2, 5’d5, 5’d12, 5’d14, 5’d13}中,選出優先順序最高的順序值,亦即於第四列的記憶體分頁R3中,可選出最小的列使用順序值5’d2。並且,處理器11可以將每一列的記憶體分頁中,最小的列使用順序值緩存於第二記憶體12。舉例而言,第一列的記憶體分頁R1中,最小的列使用順序值5’d6可緩存於第二記憶體12的第一值。第二列的記憶體分頁R2中,最小的列使用順序值5’d1可緩存於第二記憶體12的第二值。第三列的記憶體分頁R3中,最小的列使用順序值5’d0可緩存於第二記憶體12的第三值。第四列的記憶體分頁R4中,最小的列使用順序值5’d2可緩存於第二記憶體12的第四值。並且,處理器11可取得第二記憶體內12之最小的使用順序值,以做為第一使用順序值。舉例而言,在第二記憶體12緩存了使用順序值集合{5’d6, 5’d1, 5’d0, 5’d2}後,處理器11可由順序值集合{5’d6, 5’d1, 5’d0, 5’d2}中選擇最小的使用順序值5’d0,以當成第一使用順序值。因此,第一使用順序值5’d0對應的第一記憶體分頁MP1可視為第一記憶體10首先被傳送端TX或是接收端RX所使用的記憶體分頁。
第3圖係為資料存取系統100中,在第一記憶體10被更新後,取得優先順序最高的第二使用順序值5’d1的示意圖。接續前述步驟,在處理器11由順序值集合{5’d6, 5’d1, 5’d0, 5’d2}中選擇最小的使用順序值5’d0後,可以更新第一記憶體10。例如,將第一記憶體10中,原本可用順序值5’d0對應的第一記憶體分頁MP1被使用後,第一記憶體分頁MP1可被設定為不可使用或是已經使用,故其順序值集合被設定為「xxx」,表示不考慮分頁候選。換句話說,在第一記憶體10更新後,處理器11可以再次取得更新後的第一記憶體10內,複數列的記憶體分頁(如R1至R4)的每一列的記憶體分頁中,最小的列使用順序值。在第3圖中。第一記憶體10僅更動第三列的記憶體分頁R3中的使用順序值5’d0(設定為「xxx」)。因此,第一列的記憶體分頁R1中的使用順序值集合{5’d10, 5’d9, 5d’11, 5’d6}、第二列的記憶體分頁R2中的使用順序值集合{5d’7, 5d’4, 5d’15, 5’d1}、第四列的記憶體分頁R4中的使用順序值集合{5’d2, 5’d5, 5’d12, 5’d14, 5’d13}並無更動。換句話說,第一列的記憶體分頁R1所存入於第二記憶體12的第一值內的使用順序值5’d6、第二列的記憶體分頁R2所存入於第二記憶體12的第二值內的使用順序值5’d1、以及第四列的記憶體分頁R4所存入於第一記憶體10的第二值內的使用順序值5’d2,與第一記憶體10在更新前的狀態是一樣的。然而,由於第三列的記憶體分頁R3中的使用順序值集合已被更新為{5d’3, 5d’8}。因此,處理器11於第三列的記憶體分頁R3的使用順序值集合{5d’3, 5d’8}所選出的最小的列使用順序值為5d’3。並且,第三列的記憶體分頁R3中,最小的列使用順序值5’d3可緩存於第二記憶體12的第三值。換句話說,第二記憶體12所緩存的順序值集合{5’d6, 5’d1, 5’d0, 5’d2}可被更新為順序值集合{5’d6, 5’d1, 5’d3, 5’d2}。類似的,處理器11可由順序值集合{5’d6, 5’d1, 5’d3, 5’d2}中選擇最小的使用順序值5’d1,以當成第二使用順序值。因此,第二使用順序值5’d1對應的第二記憶體分頁MP2可視為第一記憶體10下一個被傳送端TX或是接收端RX所使用的記憶體分頁。類似地,在第二使用順序值5’d1對應的第二記憶體分頁MP2被使用後,處理器11即可設定第二記憶體分頁MP2為已經使用(memory used in)或是不可使用的狀態,其順序值集合為「xxx」,表示不考慮分頁候選。依此類推,當第一記憶體10以及第二記憶體12再次更新後,處理器11可選出下一個使用的記憶體分頁的順序值,即為5’d2。因此,由於第一記憶體10可搭配第二記憶體12,依據複數個記憶體分頁對應的使用順序值,可以快速地搜尋出目前要進行資料存取的記憶體分頁,故除了降低儲存指標(Pointer)所需的空間外,亦可改善搜尋速度以及時間複雜度。
並且,如前述提及,在第一記憶體10被更新後,若更新後的第一記憶體10中某一列的記憶體分頁為不可用,處理器11可以標記該某一列的記憶體分頁,以降低第二使用順序值的搜尋維度。舉例而言,在第一記憶體10以及第二記憶體12被更新多次後,若第一記憶體10中某一列的記憶體分頁全部對應為「xxx」,表示此列分頁已經不考慮候選。因此,處理器11可以標記不考慮分頁候選的記憶體分頁列,以降低搜尋維度以及複雜度。並且,如前述提及,對於第一記憶體10而言,該些使用順序值可為對應複數個連續記憶體位址的使用順序值,或對應複數個不連續記憶體位址的使用順序值。在資料存取系統100中,也可以引入映射表(Mapping Table),以轉換該些記憶體分頁的該些使用順序值。例如,在資料存取系統100可以引入映射表,將複數個不連續記憶體位址的使用順序值映射至複數個連續記憶體位址的使用順序值。任何合理的硬體變更或是技術變動都屬於本揭露所揭露的範疇。
第4圖係為資料存取系統100中,執行資料存取方法的流程圖。資料存取系統100執行資料存取方法的流程包含步驟S401至步驟S406。任何合理的步驟變更都屬於本揭露所揭露的範疇。步驟S401至步驟S406的描述如下:
步驟S401: 提供第一記憶體10,第一記憶體10包含複數個記憶體分頁;
步驟S402: 取得該些記憶體分頁中,每一個記憶體分頁的使用順序值;
步驟S403: 在該些記憶體分頁對應的該些使用順序值中,取得第一記憶體10內優先順序最高的第一使用順序值5’d0;
步驟S404: 在使用第一使用順序值5’d0對應的第一記憶體分頁MP1後,更新第一記憶體10;
步驟S405: 在第一記憶體10被更新後,取得更新後的第一記憶體10內優先順序最高的第二使用順序值5’d1;
步驟S406: 使用第二使用順序值5d’1對應的第二記憶體分頁MP2。
步驟S401至步驟S406的細節已於前文中詳述,故於此將不再贅述。利用步驟S401至步驟S406,資料存取系統100可以依據複數個記憶體分頁對應的使用順序值,快速地搜尋出目前要進行資料存取的記憶體分頁。因此,資料存取系統100除了降低儲存指標所需的空間外,亦可改善搜尋速度以及時間複雜度。
綜上所述,本揭露描述一種資料存取系統以及資料存取方法。資料存取系統內的靜態隨機存取記憶體包含許多記憶體分頁以及其對應的使用順序值。資料存取系統可以利用記憶體分頁的使用順序值,配合暫存器空間,快速地搜尋出目前要進行資料存取的記憶體分頁。並且,資料存取系統可以同步更新靜態隨機存取記憶體以及暫存器空間所存的內容。不同於傳統的連結串列,資料存取系統是處理使用順序值的資料。因此,資料存取系統除了降低儲存指標所需的空間外,亦可改善搜尋速度以及時間複雜度。 以上所述僅為本發明之較佳實施例,凡依本發明申請專利範圍所做之均等變化與修飾,皆應屬本發明之涵蓋範圍。
100:資料存取系統 RX:接收端 TX:傳送端 10:第一記憶體 11:處理器 12:第二記憶體 R1:第一列的記憶體分頁 R2:第二列的記憶體分頁 R3:第三列的記憶體分頁 R4:第四列的記憶體分頁 5d’0至5d’15:使用順序值 MP1:第一記憶體分頁 MP2:第二記憶體分頁 S401至S406:步驟
第1圖係為本揭露之資料存取系統之實施例的方塊圖。 第2圖係為第1圖之資料存取系統中,取得優先順序最高的第一使用順序值的示意圖。 第3圖係為第1圖之資料存取系統中,在第一記憶體被更新後,取得優先順序最高的第二使用順序值的示意圖。 第4圖係為第1圖之資料存取系統中,執行資料存取方法的流程圖。
100:資料存取系統
RX:接收端
TX:傳送端
10:第一記憶體
11:處理器
12:第二記憶體
R1:第一列的記憶體分頁
R2:第二列的記憶體分頁
R3:第三列的記憶體分頁
R4:第四列的記憶體分頁
5d’0至5d’15:使用順序值

Claims (10)

  1. 一種資料存取方法,包含: 提供一第一記憶體,該第一記憶體包含複數個記憶體分頁(Pages); 取得該些記憶體分頁中,每一個記憶體分頁的一使用順序值; 在該些記憶體分頁對應的該些使用順序值中,取得該第一記憶體內優先順序最高的一第一使用順序值; 在使用該第一使用順序值對應的一第一記憶體分頁後,更新該第一記憶體;及 在該第一記憶體被更新後,取得該更新後的第一記憶體內優先順序最高的一第二使用順序值;及 使用該第二使用順序值對應的一第二記憶體分頁。
  2. 如請求項1所述之方法,其中在該些記憶體分頁對應的該些使用順序值中,取得該第一記憶體內優先順序最高的該第一使用順序值包含: 取得該第一記憶體內,複數列的記憶體分頁的每一列的記憶體分頁中,一最小的列使用順序值; 將該每一列的記憶體分頁中,該最小的列使用順序值緩存於一第二記憶體;及 取得該第二記憶體內一最小的使用順序值,以做為該第一使用順序值。
  3. 如請求項2所述之方法,另包含: 在該第一記憶體被更新後,更新該第二記憶體緩存的複數個使用順序值; 其中該第一使用順序值對應的該第一記憶體分頁被使用後,該第一記憶體分頁被設定為不可使用,以更新該第一記憶體。
  4. 如請求項1所述之方法,其中在該第一記憶體被更新後,取得該更新後的第一記憶體內優先順序最高的該第二使用順序值包含: 取得該更新後的第一記憶體內,複數列的記憶體分頁的每一列的記憶體分頁中,一最小的列使用順序值; 將該每一列的記憶體分頁中,該最小的列使用順序值緩存於一第二記憶體;及 取得該第二記憶體內一最小的使用順序值,以做為該第二使用順序值。
  5. 如請求項4所述之方法,其中該第二使用順序值對應的該第二記憶體分頁被使用後,該第二記憶體分頁被設定為不可使用。
  6. 如請求項1所述之方法,另包含: 提供一映射表(Mapping Table),以轉換該些記憶體分頁的該些使用順序值; 其中該些使用順序值係為複數個連續記憶體位址的使用順序值或複數個不連續記憶體位址的使用順序值。
  7. 如請求項1所述之方法,其中該第一記憶體的該些記憶體分頁包含至少一個可用的記憶體分頁以及至少一個不可用的記憶體分頁,且該至少一個不可用的記憶體分頁無使用順序值。
  8. 如請求項1所述之方法,其中該第一記憶體係為一靜態隨機存取記憶體(Static Random Access Memory,SRAM),且該第二記憶體係為一暫存器。
  9. 如請求項1所述之方法,其中在該第一記憶體被更新後,若更新後的第一記憶體中某一列的記憶體分頁為不可用,標記該某一列的記憶體分頁,以降低該第二使用順序值的一搜尋維度。
  10. 一種資料存取系統,包含: 一第一記憶體,包含複數個記憶體分頁(Pages),用以儲存資料; 一接收端,用以接收輸入資料,並將該輸入資料寫入至該第一記憶體; 一傳送端,用以由該第一記憶體讀取傳送資料;及 一處理器,耦接於該第一記憶體、該接收端及該傳送端,用以控制該第一記憶體、該接收端及該傳送端; 其中該處理器取得該些記憶體分頁中,每一個記憶體分頁的一使用順序值,該處理器在該些記憶體分頁對應的該些使用順序值中,取得該第一記憶體內優先順序最高的一第一使用順序值,以供該接收端及該傳送端透過該第一使用順序值對應的一第一記憶體分頁存取資料,該處理器在使用該第一使用順序值對應的該第一記憶體分頁後,更新該第一記憶體,及該處理器於該第一記憶體被更新後,取得該更新後的第一記憶體內優先順序最高的一第二使用順序值,以供該接收端及該傳送端透過該第二使用順序值對應的一第二記憶體分頁存取資料。
TW111125763A 2022-07-08 2022-07-08 資料存取方法及資料存取系統 TW202403560A (zh)

Priority Applications (2)

Application Number Priority Date Filing Date Title
TW111125763A TW202403560A (zh) 2022-07-08 2022-07-08 資料存取方法及資料存取系統
US17/984,211 US20240012761A1 (en) 2022-07-08 2022-11-09 Data Accessing Method and Data Accessing System Capable of Providing High Data Accessing Performance and Low Memory Utilization

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
TW111125763A TW202403560A (zh) 2022-07-08 2022-07-08 資料存取方法及資料存取系統

Publications (1)

Publication Number Publication Date
TW202403560A true TW202403560A (zh) 2024-01-16

Family

ID=89431334

Family Applications (1)

Application Number Title Priority Date Filing Date
TW111125763A TW202403560A (zh) 2022-07-08 2022-07-08 資料存取方法及資料存取系統

Country Status (2)

Country Link
US (1) US20240012761A1 (zh)
TW (1) TW202403560A (zh)

Family Cites Families (35)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5261068A (en) * 1990-05-25 1993-11-09 Dell Usa L.P. Dual path memory retrieval system for an interleaved dynamic RAM memory unit
US5325509A (en) * 1991-03-05 1994-06-28 Zitel Corporation Method of operating a cache memory including determining desirability of cache ahead or cache behind based on a number of available I/O operations
US5404485A (en) * 1993-03-08 1995-04-04 M-Systems Flash Disk Pioneers Ltd. Flash file system
US5535156A (en) * 1994-05-05 1996-07-09 California Institute Of Technology Transistorless, multistable current-mode memory cells and memory arrays and methods of reading and writing to the same
KR100193101B1 (ko) * 1994-07-22 1999-06-15 모리시다 요이치 비휘발성 반도체 기억장치 및 그 구동방법
US5889949A (en) * 1996-10-11 1999-03-30 C-Cube Microsystems Processing system with memory arbitrating between memory access requests in a set top box
TW338132B (en) * 1997-06-28 1998-08-11 United Microelectronics Corp The adaptive selecting method for memory access priority control in MPEG processor
US6564304B1 (en) * 2000-09-01 2003-05-13 Ati Technologies Inc. Memory processing system and method for accessing memory including reordering memory requests to reduce mode switching
US7017023B1 (en) * 2002-01-14 2006-03-21 Veritas Operating Corporation Generalized architecture for automatic storage configuration for diverse server applications
US7043619B1 (en) * 2002-01-14 2006-05-09 Veritas Operating Corporation Storage configurator for determining an optimal storage configuration for an application
US7085895B2 (en) * 2003-09-05 2006-08-01 International Business Machines Corporation Apparatus, system, and method flushing data from a cache to secondary storage
EP1560221B1 (en) * 2004-01-29 2008-09-03 Sharp Kabushiki Kaisha Semiconductor memory device
US7363532B2 (en) * 2004-08-20 2008-04-22 Dell Products L.P. System and method for recovering from a drive failure in a storage array
TW200741683A (en) * 2006-04-27 2007-11-01 Realtek Semiconductor Corp Method for adjusting write power in optical disk drive system
JP4792335B2 (ja) * 2006-06-16 2011-10-12 富士通株式会社 Raid装置、raid制御プログラムおよびキャッシュ管理方法
US8117414B2 (en) * 2006-09-04 2012-02-14 Sandisk Il Ltd. Method for prioritized erasure of flash memory
JP4682998B2 (ja) * 2007-03-15 2011-05-11 ソニー株式会社 記憶素子及びメモリ
US8644162B2 (en) * 2007-07-16 2014-02-04 Echostar Technologies L.L.C. Network performance assessment apparatus, systems, and methods
US7957187B2 (en) * 2008-05-09 2011-06-07 Sandisk Corporation Dynamic and adaptive optimization of read compare levels based on memory cell threshold voltage distribution
US8027192B2 (en) * 2008-08-20 2011-09-27 Samsung Electronics Co., Ltd. Resistive memory devices using assymetrical bitline charging and discharging
KR101556779B1 (ko) * 2009-04-17 2015-10-02 삼성전자주식회사 저장 장치의 액세스 방법
EP2517169A4 (en) * 2009-12-23 2017-10-18 Intel Corporation Image processing techniques
US8996789B2 (en) * 2011-05-23 2015-03-31 International Business Machines Corporation Handling high priority requests in a sequential access storage device having a non-volatile storage cache
KR101897826B1 (ko) * 2012-01-30 2018-09-12 에스케이하이닉스 주식회사 반도체 메모리 장치 및 이의 동작 방법
US10467212B2 (en) * 2012-04-27 2019-11-05 Empire Technology Development Llc Multiple variable coverage memory for database indexing
US9106136B2 (en) * 2013-02-11 2015-08-11 Microchip Technology Incorporated Pulse width modulation load share bus
US9250814B2 (en) * 2013-02-11 2016-02-02 Apple Inc. Command order re-sequencing in non-volatile memory
CN105518791A (zh) * 2013-08-15 2016-04-20 瑞萨电子株式会社 半导体器件
KR102233808B1 (ko) * 2014-03-14 2021-03-30 삼성전자주식회사 저장 장치 및 그것의 테이블 관리 방법
KR102151182B1 (ko) * 2014-11-07 2020-09-02 삼성전자주식회사 메모리 장치 및 상기 메모리 장치의 동작 방법
US10529433B1 (en) * 2018-08-13 2020-01-07 Micron Technology, Inc. Offset memory component automatic calibration (AUTOCAL) error recovery for a memory sub-system
US11157418B2 (en) * 2020-02-09 2021-10-26 International Business Machines Corporation Prefetching data elements within a heterogeneous cache
KR20210108749A (ko) * 2020-02-26 2021-09-03 삼성전자주식회사 가속기, 가속기의 동작 방법 및 이를 포함한 가속기 시스템
US11693582B2 (en) * 2020-08-07 2023-07-04 Intel Corporation Automatic read calibration operations
US20230141986A1 (en) * 2021-11-08 2023-05-11 Microchip Technology Incorporated System and Method for Enhancing Flash Channel Utilization

Also Published As

Publication number Publication date
US20240012761A1 (en) 2024-01-11

Similar Documents

Publication Publication Date Title
KR102036769B1 (ko) 데이터 캐싱 방법, 캐시 및 컴퓨터 시스템
JP4372671B2 (ja) 時間的に近接して記憶システムに書き込まれたデータユニットを示すコンテンツアドレスの生成方法およびその装置
TW201832086A (zh) 對混合記憶體模組進行存取元資料的方法及混合記憶體模組
JP2017151982A (ja) データストレージサブシステムにおけるキャッシングのための方法およびシステム
US20150113230A1 (en) Directory storage method and query method, and node controller
WO2018090255A1 (zh) 内存访问技术
US20180173623A1 (en) Reducing or avoiding buffering of evicted cache data from an uncompressed cache memory in a compressed memory system to avoid stalling write operations
US20120117297A1 (en) Storage tiering with minimal use of dram memory for header overhead
JP5435132B2 (ja) 情報処理システム
TW202403560A (zh) 資料存取方法及資料存取系統
CN109992535B (zh) 一种存储控制方法、装置和系统
US11829292B1 (en) Priority-based cache-line fitting in compressed memory systems of processor-based systems
CN116431080A (zh) 一种数据落盘方法、系统、设备及计算机可读存储介质
US10061698B2 (en) Reducing or avoiding buffering of evicted cache data from an uncompressed cache memory in a compression memory system when stalled write operations occur
US8812782B2 (en) Memory management system and memory management method
CN117472791A (zh) 数据存取方法和数据存取系统
CN114258533A (zh) 在基于处理器的设备中优化对页表条目的访问
US11868244B2 (en) Priority-based cache-line fitting in compressed memory systems of processor-based systems
TW201308079A (zh) 快取記憶體裝置與快取記憶體資料存取方法
US9128853B1 (en) Lookup structure for large block cache
TW202331522A (zh) 在基於處理器的系統的經壓縮記憶體系統中基於優先順序的快取記憶體行裝入
US11138119B2 (en) Increasing effective cache associativity
JPS6029135B2 (ja) バツフアメモリシステム
JPH0784886A (ja) キャッシュメモリ制御方法およびキャッシュメモリ制御装置
CN117785737A (zh) 基于链表结构并支持动态分区粒度访问的末级高速缓存