TW202134884A - 資料寫入系統與方法 - Google Patents

資料寫入系統與方法 Download PDF

Info

Publication number
TW202134884A
TW202134884A TW109106958A TW109106958A TW202134884A TW 202134884 A TW202134884 A TW 202134884A TW 109106958 A TW109106958 A TW 109106958A TW 109106958 A TW109106958 A TW 109106958A TW 202134884 A TW202134884 A TW 202134884A
Authority
TW
Taiwan
Prior art keywords
memory
data
way
address information
cache
Prior art date
Application number
TW109106958A
Other languages
English (en)
Other versions
TWI760702B (zh
Inventor
盧彥儒
Original Assignee
瑞昱半導體股份有限公司
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 瑞昱半導體股份有限公司 filed Critical 瑞昱半導體股份有限公司
Priority to TW109106958A priority Critical patent/TWI760702B/zh
Priority to US17/189,524 priority patent/US11500776B2/en
Publication of TW202134884A publication Critical patent/TW202134884A/zh
Application granted granted Critical
Publication of TWI760702B publication Critical patent/TWI760702B/zh

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/30Arrangements for executing machine instructions, e.g. instruction decode
    • G06F9/34Addressing or accessing the instruction operand or the result ; Formation of operand address; Addressing modes
    • 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/0806Multiuser, multiprocessor or multiprocessing cache systems
    • G06F12/084Multiuser, multiprocessor or multiprocessing cache systems with a shared cache
    • 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/0223User address space allocation, e.g. contiguous or non contiguous base addressing
    • G06F12/023Free address space management
    • G06F12/0238Memory management in non-volatile memory, e.g. resistive RAM or ferroelectric memory
    • G06F12/0246Memory management in non-volatile memory, e.g. resistive RAM or ferroelectric memory in block erasable memory, e.g. flash memory
    • 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/0862Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches with prefetch
    • 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/0864Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches using pseudo-associative means, e.g. set-associative or hashing
    • 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
    • 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/0893Caches characterised by their organisation or structure
    • G06F12/0895Caches characterised by their organisation or structure of parts of caches, e.g. directory or tag array
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/30Arrangements for executing machine instructions, e.g. instruction decode
    • G06F9/30098Register arrangements
    • G06F9/30101Special purpose registers
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/30Arrangements for executing machine instructions, e.g. instruction decode
    • G06F9/38Concurrent instruction execution, e.g. pipeline or look ahead
    • G06F9/3824Operand accessing
    • G06F9/383Operand prefetching
    • 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/1021Hit rate 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/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/60Details of cache memory
    • G06F2212/6028Prefetching based on hints or prefetch instructions

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Software Systems (AREA)
  • Memory System Of A Hierarchy Structure (AREA)

Abstract

一種資料寫入系統包含一處理電路、一第一記憶體、一第一暫存器、一第二暫存器以及一第二記憶體。第一記憶體耦接處理電路。第一暫存器用以儲存一基址資訊。第二暫存器用以儲存一頂址資訊。第二記憶體耦接第一記憶體。若一快取未命中發生且一讀取命令的一存取位址位於第二記憶體的至少一範圍中,相應於存取位址的一預設資料量的資料自第二記憶體寫入第一記憶體的至少一第一路。基址資訊以及頂址資訊定義出至少一範圍。

Description

資料寫入系統與方法
本案中所述實施例內容是有關於一種快取技術,特別關於一種適用於快取記憶體的資料寫入系統以及資料寫入方法。
在記憶體技術中,快取記憶體可協同主記憶體運作。相較於主記憶體,快取記憶體的運作速度較快。據此,藉由配置快取記憶體,可提高整個系統的運作效率。
然而,如何在配置有快取記憶體的情況下降低成本或縮小電路面積,實為本領域的重要議題之一。
本案之一些實施方式是關於一種資料寫入系統。資料寫入系統包含一處理電路、一第一記憶體、一第一暫存器、一第二暫存器以及一第二記憶體。第一記憶體耦接處理電路。第一暫存器用以儲存一基址資訊。第二暫存器用以儲存一頂址資訊。第二記憶體耦接第一記憶體。若一快取未命中發生且一讀取命令的一存取位址位於第二記憶體 的至少一範圍中,相應於存取位址的一預設資料量的資料自第二記憶體寫入第一記憶體的至少一第一路。基址資訊以及頂址資訊定義出至少一範圍。
本案之一些實施方式是關於一種資料寫入方法包含:判斷是否發生一快取未命中且一讀取命令的一存取位址是否位於一第一快閃記憶體的至少一範圍中;以及若是,將相應於存取位址的一預設資料量的資料自第一記憶體寫入一第二記憶體的至少一第一路。一基址資訊以及資頂址資訊定義出該至少一範圍,基址資訊儲存於一第一暫存器,且頂址資訊儲存於一第二暫存器。
綜上所述,本案的資料寫入系統以及資料寫入方法,毋需設置其他記憶體(例如:動態隨機存取記憶體),可達到降低成本以及縮小電路面積的功效。
100:資料寫入系統
120:核心處理電路
140:快取記憶體
141:比較電路
1411:比較器
142:選擇電路
1421:緩衝器
143:輸出電路
160:記憶體
300:運作方法
R1-R3:暫存器
BA:基址資訊
TA:頂址資訊
AI:分配資訊
W0-W2:路
P1:第一部分
P2:第二部分
CL0,CL2:快取行
AA1:存取位址
TAG1:標籤欄位
INDEX:索引欄位
OFFSET:偏移欄位
TAG2:標籤資訊
DATA:資料
HIT:命中訊號
DATA_OUT:輸出資料
MEM_DATA:資料
S310,S320:操作
為讓本案之上述和其他目的、特徵、優點與實施例能夠更明顯易懂,所附圖式之說明如下:
第1圖是依照本案一些實施例所繪示之一資料寫入系統的示意圖;
第2圖是依照本案一些實施例所繪示之一快取記憶體的示意圖;以及
第3圖是依照本案一些實施例所繪示之一資料寫入方法的流程圖。
以下將以圖式揭露本案之複數個實施方式。應瞭解到,實務上的細節不應用以限制本案。也就是說,在本案部分實施方式中,這些實務上的細節是非必要的。此外,為簡化圖式起見,一些習知慣用的結構與元件在圖式中將以簡單示意的方式繪示之。
在本文中所使用的用詞『耦接』亦可指『電性耦接』,且用詞『連接』亦可指『電性連接』。『耦接』及『連接』亦可指二個或多個元件相互配合或相互互動。
參考第1圖。第1圖是依照本案一些實施例所繪示之資料寫入系統100的示意圖。以第1圖示例而言,資料寫入系統100包含核心處理電路120、快取(cache)記憶體140、記憶體160以及暫存器R1-R3。
在一些實施例中,記憶體160是以反及閘快閃記憶體(NAND flash memory)實現。由於反及閘快閃記憶體具有便宜的優點,因此採用反及閘快閃記憶體,可降低資料寫入系統100的成本。
暫存器R1-R3分別耦接核心處理電路120。核心處理電路120分別耦接快取記憶體140以及記憶體160。快取記憶體140耦接記憶體160。
由於快取記憶體140的運作速度較快,一般而言,為了提高運作效率,當核心處理電路120接收到讀取命令時,核心處理電路120會配置為先對快取記憶體140進行讀取。然而,若快取記憶體140中不存在欲讀取的資料而 記憶體160中存在欲讀取的資料,核心處理電路120將直接從記憶體160接收欲讀取的資料。同時,欲讀取的資料亦會從記憶體160寫入快取記憶體140,使得核心處理電路120未來可直接對快取記憶體140進行讀取而獲取此資料。
暫存器R1用以儲存基址(base address)資料BA。暫存器R2用以儲存頂址(top address)資料TA。基址資訊BA與頂址資訊TA可定義出記憶體160的一範圍。在一些其他的實施例中,資料寫入系統100可包含複數暫存器R1以及複數暫存器R2,以定義出兩個或兩個以上的範圍。
參考第1圖以及第2圖。第2圖是依照本案一些實施例所繪示之快取記憶體140的示意圖。
以第2圖示例而言,快取記憶體140包含複數路(way)W0-W2。上述路的數量僅用以示例的目的,各種適用的數量皆在本案的範圍內。舉例而言,快取記憶體140的路的數量可小於或大於3。在快取記憶體140的路的數量大於1的實施例中,可避免資料快速變動(例如,一資料快速地被另一筆資料取代),進而提高快取命中率(cache hit rate)。
暫存器R3用以儲存分配資訊AI。分配資訊AI用以記錄快取記憶體140中第一部分P1的路的數量以及第二部分P2的路的數量。第一部分P1的路是用以儲存來自記憶體160的資料,而第二部分P2的路是用以儲存來 自一靜態隨機存取記憶體(SRAM)的資料。也就是說,來自記憶體160的資料與來自靜態隨機存取記憶體的資料會寫入不同的路。
以第2圖示例而言,第一部分P1包含路W0以及路W1。第二部分P2包含路W2。也就是說,用以儲存來自記憶體160的資料的路的數量為2(即,路W0以及路W1),而用以儲存來自靜態隨機存取記憶體的資料的路的數量為1(即,路W2)。上述第一部分P1的路的數量以及第二部分P2的路的數量僅用以示例的目的,各種適用的數量皆在本案的範圍內。舉例而言,第一部分P1的路的數量可小於或大於2。第二部分P2的路的數量可大於1。
在一些實施例中,路W0(或路W1)的一個快取行的容量(cache line size)不同於路W2的一個快取行的容量。以第2圖示例而言,路W0的快取行CL0的容量小於路W2的快取行CL2的容量。在一些其他的實施例中,路W0(或路W1)的一個快取行的容量可相同於路W2的一個快取行的容量。快取行的容量又可稱作區塊尺寸(block size)。
在運作上,當核心處理電路120收到讀取命令而欲讀取存取位址AA1的資料時,可依據存取位址AA1對快取記憶體140進行讀取。
以第2圖示例而言,存取位址AA1包含標籤欄位TAG1、索引欄位INDEX以及偏移欄位OFFSET。依據索引欄位INDEX,可找到對應的列(row)。將對應列的複 數標籤資訊TAG2與標籤欄位TAG1進行比對,可找到對應的資料DATA。依據偏移欄位OFFSET,可從對應的資料DATA中找出對應的位元。
舉例而言,若索引欄位INDEX指示第6列,比較電路141會將第6列的該些標籤資訊TAG2分別與標籤欄位TAG1進行比對。若路W1的標籤資訊TAG2與標籤欄位TAG1相符,代表「快取命中」。也就是說,快取記憶體140的路W1中存在欲讀取的資料。據此,比較電路141中相應於路W1的比較器1411輸出具有邏輯值1的命中訊號HIT,且選擇電路142中相應於路W1的緩衝器1421會依據偏移欄位OFFSET選擇且輸出路W1中的對應資料DATA的對應位元至輸出電路143。接著,輸出電路143依據具有邏輯值1的命中訊號HIT將路W1中的對應資料DATA的對應位元輸出,以作為輸出資料DATA_OUT。接著,核心處理電路120接收此輸出資料DATA_OUT,以完成讀取程序。
若第6列的該些標籤資訊TAG2與標籤欄位TAG1皆不相符,代表「快取未命中」(cache miss)。也就是說,快取記憶體140中不存在欲讀取的資料而記憶體160中可能存在欲讀取的資料。據此,比較電路141會輸出具有邏輯值0的命中訊號HIT。輸出電路143依據具有邏輯值0的命中訊號HIT,將存在於記憶體160中的欲讀取資料MEM_DATA輸出,以作為輸出資料DATA_OUT。接著,核心處理電路120接收此輸出資料 DATA_OUT。另一方面,如前所述,欲讀取資料MEM_DATA亦會寫入快取記憶體140,使得核心處理電路120未來可直接對快取記憶體140進行讀取而獲取此資料。
在一些實施例中,輸出電路143是以多工器實現。需特別說明的是,上述關於比較電路141、選擇電路142以及輸出電路143的實現方式僅用以示例的目的,本案不以上述為限。
關於記憶體160的資料如何直接(不透過其他記憶體)寫入快取記憶體140將於下面段落進行描述。
如前所述,基址資訊BA與頂址資訊TA可定義出記憶體160的一範圍。當一快取未命中發生且存取位址AA1位於此範圍中時,記憶體160中相應於存取位址AA1的預設資料量的資料會被寫入快取記憶體140的路W0(或路W1)。
在一些實施例中,預設資料量大於路W0的快取行CL0的容量。例如,預設資料量相應於一個分頁(page)。也就是說,相應於存取位址AA1或包含存取位址AA1的一個分頁的資料量會被寫入快取記憶體140。而一個分頁的資料量可大於路W0的快取行CL0的容量。舉例而言,記憶體160的一個分頁的資料量為1024個位元組(byte),而路W0的快取行CL0的容量僅有4個位元組。在這個情況下,需要256個快取行才足夠儲存該預設資料量的資料。據此,來自記憶體160的一個分頁的資料將寫入路W0的 其中256個快取行。而來自靜態隨機存取記憶體的資料則寫入路W2。換句話說,來自記憶體160的資料與來自靜態隨機存取記憶體的資料寫入不同路。
在一些其他的實施例中,若快取記憶體140僅包含一個路(例如:路W0),來自記憶體160的一個分頁的資料寫入路W0的其中256個快取行,且來自靜態隨機存取記憶體的資料寫入路W0的其他快取行。也就是說,來自記憶體160的資料與來自靜態隨機存取記憶體的資料寫入同一路(例如:路W0)的不同快取行。
在一些相關技術中,欲讀取的資料會先從記憶體160(例如:反及閘快閃記憶體)寫入其他記憶體(例如:動態隨機存取記憶體)。接著,此欲讀取的資料再從此其他記憶體寫入快取記憶體140,使得核心處理電路120未來可從快取記憶體140讀取到欲讀取的資料。然而,配置上述其他記憶體會增加成本且增加電路面積。相較於上述相關技術,在本案中,欲讀取的資料可從記憶體160(例如:反及閘快閃記憶體)直接寫入快取記憶體140。如此,毋需設置上述其他記憶體,可降低成本以及縮小電路面積。另外,如前所述,在一些實施例中,記憶體160是採用反及閘快閃記憶體,可降低資料寫入系統100的成本。
參考第3圖。第3圖是依照本案一些實施例所繪示之資料寫入方法300的流程圖。資料寫入方法300包含操作S310以及操作S320。資料寫入方法300可應用於第1圖的資料寫入系統100中,但本案不以此為限。為易 於理解,資料寫入方法300將搭配第1圖以及第2圖進行討論。
在操作S310中,判斷是否發生快取未命中且讀取命令的存取位址AA1是否位於記憶體160的一範圍中。在一些實施例中,此範圍可由基址資訊BA與頂址資訊TA所定義。
在操作S320中,若是,將相應於存取位址AA1的預設資料量的資料自記憶體160寫入快取記憶體140的路W0,使得處理電路120未來可直接自快取記憶體140讀取該些資料。在一些實施例中,預設資料量相應於一個分頁,且一個分頁的資料量大於路W0的快取行CL0的容量。據此,該些資料會寫入路W0的複數個快取行。
綜上所述,本案的資料寫入系統以及資料寫入方法,毋需設置其他記憶體(例如:動態隨機存取記憶體),可達到降低成本以及縮小電路面積的功效。
各種功能性元件和方塊已於此公開。對於本技術領域具通常知識者而言,功能方塊可由電路(不論是專用電路,或是於一或多個處理器及編碼指令控制下操作的通用電路)實現,其一般而言包含用以相應於此處描述的功能及操作對電氣迴路的操作進行控制之電晶體或其他電路元件。如將進一步理解地,一般而言電路元件的具體結構與互連,可由編譯器(compiler),例如暫存器傳遞語言(Register Transfer Language,RTL)編譯器決定。暫存器傳遞語言編譯器對與組合語言代碼(assembly language code) 相當相似的指令碼(script)進行操作,將指令碼編譯為用於佈局或製作最終電路的形式。確實地,暫存器傳遞語言以其促進電子和數位系統設計過程中的所扮演的角色和用途而聞名。
雖然本案已以實施方式揭示如上,然其並非用以限定本案,任何本領域具通常知識者,在不脫離本案之精神和範圍內,當可作各種之更動與潤飾,因此本案之保護範圍當視後附之申請專利範圍所界定者為準。
300:運作方法
S310,S320:操作

Claims (10)

  1. 一種資料寫入系統,包含:
    一處理電路;
    一第一記憶體,耦接該處理電路;
    一第一暫存器,用以儲存一基址(base address)資訊;
    一第二暫存器,用以儲存一頂址(top address)資訊,以及
    一第二記憶體,耦接該第一記憶體,其中若一快取未命中(cache miss)發生且一讀取命令的一存取位址位於該第二記憶體的至少一範圍中,相應於該存取位址的一預設資料量的資料自該第二記憶體寫入該第一記憶體的至少一第一路(way),其中該基址資訊以及該頂址資訊定義出該至少一範圍。
  2. 如請求項1所述的資料寫入系統,其中該第一記憶體的至少一第二路用以儲存一靜態隨機存取記憶體的資料。
  3. 如請求項2所述的資料寫入系統,其中該至少一第二路的一快取行(cache line)容量相異於該至少一第一路的一快取行容量。
  4. 如請求項1所述的資料寫入系統,其中該第 二記憶體為一快閃記憶體。
  5. 如請求項1所述的資料寫入系統,更包含:
    一第三暫存器,用以儲存一分配資訊,其中該分配資訊用以記錄該至少一第一路的數量。
  6. 如請求項1所述的資料寫入系統,其中該預設資料量相應於一分頁(page)。
  7. 如請求項1所述的資料寫入系統,其中該預設資料量大於該至少一第一路的一快取行容量。
  8. 如請求項7所述的資料寫入系統,其中該預設資料量的資料儲存於該至少一第一路的複數第一快取行。
  9. 如請求項8所述的資料寫入系統,其中該至少一第一路的至少一第二快取行用以儲存一靜態隨機存取記憶體的資料。
  10. 一種資料寫入方法,包含:
    判斷是否發生一快取未命中且一讀取命令的一存取位址是否位於一第一記憶體的至少一範圍中;以及
    若是,將相應於該存取位址的一預設資料量的資料自 該第一記憶體寫入一第二記憶體的至少一第一路,
    其中一基址資訊以及資頂址資訊定義出該至少一範圍,該基址資訊儲存於一第一暫存器,且該頂址資訊儲存於一第二暫存器。
TW109106958A 2020-03-03 2020-03-03 資料寫入系統與方法 TWI760702B (zh)

Priority Applications (2)

Application Number Priority Date Filing Date Title
TW109106958A TWI760702B (zh) 2020-03-03 2020-03-03 資料寫入系統與方法
US17/189,524 US11500776B2 (en) 2020-03-03 2021-03-02 Data write system and method with registers defining address range

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
TW109106958A TWI760702B (zh) 2020-03-03 2020-03-03 資料寫入系統與方法

Publications (2)

Publication Number Publication Date
TW202134884A true TW202134884A (zh) 2021-09-16
TWI760702B TWI760702B (zh) 2022-04-11

Family

ID=77555765

Family Applications (1)

Application Number Title Priority Date Filing Date
TW109106958A TWI760702B (zh) 2020-03-03 2020-03-03 資料寫入系統與方法

Country Status (2)

Country Link
US (1) US11500776B2 (zh)
TW (1) TWI760702B (zh)

Family Cites Families (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
TW243509B (en) * 1994-01-31 1995-03-21 Ibm Data processor with memory cache and method of operation
WO1999049395A1 (fr) * 1998-03-23 1999-09-30 Hitachi, Ltd. Controleur de memoire tampon
US7558920B2 (en) * 2004-06-30 2009-07-07 Intel Corporation Apparatus and method for partitioning a shared cache of a chip multi-processor
WO2012093475A1 (ja) * 2011-01-05 2012-07-12 富士通株式会社 情報転送装置および情報転送装置の情報転送方法
KR20170138765A (ko) * 2016-06-08 2017-12-18 삼성전자주식회사 메모리 장치, 메모리 모듈 및 메모리 장치의 동작 방법
US20190324912A1 (en) * 2018-04-18 2019-10-24 Mediatek Singapore Pte. Ltd. Cache memory shared by software having different time-sensitivity constraints

Also Published As

Publication number Publication date
US20210279173A1 (en) 2021-09-09
TWI760702B (zh) 2022-04-11
US11500776B2 (en) 2022-11-15

Similar Documents

Publication Publication Date Title
JP2775549B2 (ja) 連想メモリセルおよび連想メモリ回路
US7657696B2 (en) Method to detect NAND-flash parameters by hardware automatically
US9158683B2 (en) Multiport memory emulation using single-port memory devices
US10866921B2 (en) Apparatuses and methods for an operating system cache in a solid state device
US9575891B2 (en) Sidecar SRAM for high granularity in floor plan aspect ratio
US7472227B2 (en) Invalidating multiple address cache entries
US20190034493A1 (en) Method and apparatus to efficiently perform filter operations for an in-memory relational database
US10496546B2 (en) Cache memory and processor system
US20080040548A1 (en) Method for Processor to Use Locking Cache as Part of System Memory
JP6228523B2 (ja) メモリ制御回路および半導体記憶装置
JPH02234242A (ja) 部分書込み制御装置
JPS5868286A (ja) キヤツシユメモリおよびその作動方法
JP7245842B2 (ja) デバイスをデバッグするときにメタデータにアクセスするための装置及び方法
CN113377684B (zh) 数据写入系统与方法
US20040078544A1 (en) Memory address remapping method
TW202134884A (zh) 資料寫入系統與方法
US20190334524A1 (en) In memory logic functions using memory arrays
KR100517765B1 (ko) 캐시 메모리 및 그 제어 방법
JPH04250542A (ja) コンピューターメモリシステム
WO2020237409A1 (en) Technologies for memory-efficient key-value lookup
US20210149813A1 (en) Data write system and method
US20090182938A1 (en) Content addressable memory augmented memory
US12032479B2 (en) Metadata-caching integrated circuit device
US20020147955A1 (en) Internal storage memory with EDAC protection
US20170075571A1 (en) Memory device and control method thereof