TWI813455B - 位址轉換系統及位址轉換方法 - Google Patents
位址轉換系統及位址轉換方法 Download PDFInfo
- Publication number
- TWI813455B TWI813455B TW111136841A TW111136841A TWI813455B TW I813455 B TWI813455 B TW I813455B TW 111136841 A TW111136841 A TW 111136841A TW 111136841 A TW111136841 A TW 111136841A TW I813455 B TWI813455 B TW I813455B
- Authority
- TW
- Taiwan
- Prior art keywords
- buffer
- virtual
- coupler
- storage device
- algorithm
- Prior art date
Links
- 238000000034 method Methods 0.000 title claims description 20
- 238000006243 chemical reaction Methods 0.000 title abstract description 15
- 239000000872 buffer Substances 0.000 claims abstract description 309
- 230000008878 coupling Effects 0.000 claims abstract description 58
- 238000010168 coupling process Methods 0.000 claims abstract description 58
- 238000005859 coupling reaction Methods 0.000 claims abstract description 58
- 238000013519 translation Methods 0.000 claims abstract description 38
- 238000001514 detection method Methods 0.000 description 13
- 239000004065 semiconductor Substances 0.000 description 11
- 230000006870 function Effects 0.000 description 6
- 238000012544 monitoring process Methods 0.000 description 6
- 238000010586 diagram Methods 0.000 description 4
- 230000000694 effects Effects 0.000 description 4
- 238000005516 engineering process Methods 0.000 description 4
- 238000012545 processing Methods 0.000 description 3
- 238000009739 binding Methods 0.000 description 2
- 230000005540 biological transmission Effects 0.000 description 2
- 230000006835 compression Effects 0.000 description 2
- 238000007906 compression Methods 0.000 description 2
- 238000013461 design Methods 0.000 description 2
- 238000013507 mapping Methods 0.000 description 2
- 238000012946 outsourcing Methods 0.000 description 2
- 230000009467 reduction Effects 0.000 description 2
- 230000001360 synchronised effect Effects 0.000 description 2
- 230000006837 decompression Effects 0.000 description 1
- 230000004069 differentiation Effects 0.000 description 1
- 230000007246 mechanism Effects 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 238000012546 transfer Methods 0.000 description 1
- 239000002699 waste material Substances 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F13/00—Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
- G06F13/14—Handling requests for interconnection or transfer
- G06F13/16—Handling requests for interconnection or transfer for access to memory bus
- G06F13/1668—Details of memory controller
- G06F13/1673—Details of memory controller using buffers
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F13/00—Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
- G06F13/38—Information transfer, e.g. on bus
- G06F13/40—Bus structure
- G06F13/4063—Device-to-bus coupling
- G06F13/4068—Electrical coupling
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- General Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Computer Hardware Design (AREA)
- Memory System Of A Hierarchy Structure (AREA)
- Bus Control (AREA)
- Communication Control (AREA)
Abstract
一種位址轉換系統包含儲存裝置、記憶器匯流排及處理器。處理器用以根據儲存裝置的複數個指令以執行以下步驟:於儲存裝置產生實體緩衝區;透過虛擬緩衝區演算法於儲存裝置的虛擬容量中產生虛擬緩衝區;藉由記憶器匯流排的耦合器透過耦合演算法建立實體緩衝區與虛擬緩衝區的耦合關係;藉由實體緩衝區從第一裝置接受壓縮資料;當第二裝置欲讀取虛擬緩衝區時,藉由耦合器透過耦合關係導引第二裝置至實體緩衝區進行讀取;藉由記憶器匯流排將實體緩衝區的壓縮資料傳送至耦合器;藉由耦合器將壓縮資料解壓縮為解壓縮資料。
Description
本案係有關於一種轉換系統及轉換方法,且特別是關於一種位址轉換系統及位址轉換方法。
目前,位於系統單晶片(System on a Chip, SOC)上硬體(或元件)間的資料傳送,需要透過在記憶體內設置的緩衝區(Buffer)做中間傳送資料的角色,並透過其他器件協助將資料壓縮及解壓縮,讓兩個不同位址的元件可以傳送資料順利。然而,兩個不同的元件通常需要搭配兩個緩衝區,但兩個緩衝區會消耗記憶體內的資源,造成資源上的浪費,也導致僅僅傳送資料卻造成消耗記憶體內資源的情況。
發明內容旨在提供本揭示內容的簡化摘要,以使閱讀者對本揭示內容具備基本的理解。此發明內容並非本揭示內容的完整概述,且其用意並非在指出本案實施例的重要/關鍵元件或界定本案的範圍。
本案內容之一技術態樣係關於一種位址轉換系統。位址轉換系統包含儲存裝置、記憶器匯流排及處理器。記憶器匯流排用以將第一裝置耦合至第二裝置。處理器用以根據儲存裝置的複數個指令以執行以下步驟:於儲存裝置產生實體緩衝區;透過虛擬緩衝區演算法於儲存裝置的虛擬容量中產生虛擬緩衝區;藉由記憶器匯流排的耦合器透過耦合演算法建立實體緩衝區與虛擬緩衝區的耦合關係;藉由實體緩衝區從第一裝置接受壓縮資料;當第二裝置欲讀取虛擬緩衝區時,藉由耦合器透過耦合關係導引第二裝置至實體緩衝區進行讀取;藉由記憶器匯流排將實體緩衝區的壓縮資料傳送至耦合器;藉由耦合器將壓縮資料解壓縮為解壓縮資料;以及藉由記憶器匯流排將解壓縮資料傳送至第二裝置。
本案內容之另一技術態樣係關於一種位址轉換方法。位址轉換方法包含:於儲存裝置產生實體緩衝區;透過虛擬緩衝區演算法於儲存裝置的虛擬容量中產生虛擬緩衝區;藉由記憶器匯流排透過耦合演算法建立實體緩衝區與虛擬緩衝區的耦合關係;藉由實體緩衝區從第一裝置接受壓縮資料;當第二裝置欲讀取虛擬緩衝區時,藉由耦合器透過耦合關係導引第二裝置至實體緩衝區進行讀取;藉由記憶器匯流排將實體緩衝區的壓縮資料傳送至耦合器;藉由耦合器將壓縮資料解壓縮為解壓縮資料;以及藉由記憶器匯流排將解壓縮資料傳送至第二裝置。
因此,根據本案之技術內容,本案實施例所示之位址轉換系統及位址轉換方法得以降低記憶體內資源之消耗,以達到兩個不同位址的硬體傳遞資料的效果。
在參閱下文實施方式後,本案所屬技術領域中具有通常知識者當可輕易瞭解本案之基本精神及其他發明目的,以及本案所採用之技術手段與實施態樣。
為了使本揭示內容的敘述更加詳盡與完備,下文針對了本案的實施態樣與具體實施例提出了說明性的描述;但這並非實施或運用本案具體實施例的唯一形式。實施方式中涵蓋了多個具體實施例的特徵以及用以建構與操作這些具體實施例的方法步驟與其順序。然而,亦可利用其他具體實施例來達成相同或均等的功能與步驟順序。
除非本說明書另有定義,此處所用的科學與技術詞彙之含義與本案所屬技術領域中具有通常知識者所理解與慣用的意義相同。此外,在不和上下文衝突的情形下,本說明書所用的單數名詞涵蓋該名詞的複數型;而所用的複數名詞時亦涵蓋該名詞的單數型。
另外,關於本文中所使用之「耦接」或「連接」,可指二或多個元件相互直接作實體或電性接觸,或是相互間接作實體或電性接觸,亦可指二或多個元件相互操作或動作。
在說明書及申請專利範圍中使用了某些詞彙來指稱特定的元件。然而,所屬技術領域中具有通常知識者應可理解,同樣的元件可能會用不同的名詞來稱呼。說明書及申請專利範圍並不以名稱的差異做為區分元件的方式,而是以元件在功能上的差異來做為區分的基準。在說明書及申請專利範圍所提及的「包含」為開放式的用語,故應解釋成「包含但不限定於」。
第1圖係依照本案一實施例繪示一種位址轉換系統的方塊示意圖。如圖所示,位址轉換系統100包含儲存裝置110、記憶器匯流排120及處理器130。於連接關係,儲存裝置110耦接於記憶器匯流排120,記憶器匯流排120耦接於處理器130。
為降低消耗記憶體內資源之消耗,以達到兩個不同位址的硬體傳遞資料的效果,本案提供如第1圖所示之位址轉換系統100,其相關操作詳細說明如後。
在一實施例中,記憶器匯流排120的耦合器121用以將第一裝置900耦合至第二裝置910。在一實施例中,處理器130用以根據儲存裝置110的複數個指令以執行以下步驟:於儲存裝置110產生實體緩衝區111;透過虛擬緩衝區演算法於儲存裝置110的虛擬容量中產生虛擬緩衝區113;藉由記憶器匯流排120的耦合器121透過耦合演算法建立實體緩衝區111與虛擬緩衝區113的耦合關係;藉由實體緩衝區111從第一裝置900接受壓縮資料;當第二裝置910欲讀取虛擬緩衝區113時,藉由耦合器121透過耦合關係導引第二裝置910至實體緩衝區111進行讀取;藉由記憶器匯流排120將實體緩衝區111的壓縮資料傳送至耦合器121;藉由耦合器121將壓縮資料解壓縮為解壓縮資料;以及藉由記憶器匯流排120將解壓縮資料傳送至第二裝置910。
為使位址轉換系統100之上述操作易於理解,請一併參閱第2圖,第2圖係依照本案一實施例繪示一種位址轉換系統之處理器的方塊示意圖。
請一併參閱第1圖,於操作上,在一實施例中,記憶器匯流排120的耦合器121用以將第一裝置900耦合至第二裝置910。舉例而言,記憶器匯流排120的耦合器121可以用以將第一裝置900映射(mapping)、結合(bind)或耦合(coupling)至第二裝置910。在一些實施例中,第一裝置900可以包含一位址,第二裝置910可以包含另一位址,記憶器匯流排120的耦合器121可以用以將第一裝置900的位址映射、結合或耦合至第二裝置910的另一位址,但本案不以此為限。
此外,在一些實施例中,第一裝置900可以為自製產品(In-house IP),即為自家公司生產的元件,此外,第一裝置900也可以為影像解碼器(video decoder)。第二裝置910可以為外購產品(Vendor IP),即為外購其他公司生產的元件,此外,第二裝置910也可以為圖形處理器(Graphics Processing Unit, GPU),但本案不以此為限。在一些實施例中,第一裝置900及第二裝置910可以位於系統單晶片(System on a Chip, SOC)上,但本案不以此為限。在一些實施例中,第一裝置900也可以為圖形處理器(Graphics Processing Unit, GPU),第二裝置910也可以為影像解碼器(video decoder),此時記憶器匯流排120可以具有解壓縮圖形處理器中資料的設計(Design)或功能(Function),但本案不以此為限。
在一些實施例中,處理器130用以根據儲存裝置110的複數個指令以執行以下步驟:於儲存裝置110產生實體緩衝區111。舉例而言,儲存裝置110可以為容量4GB的雙倍資料率同步動態隨機存取記憶體(Double Data Rate Synchronous Dynamic Random Access Memory, DDR SDRAM,以下簡稱為DDR),實體緩衝區111可以位於儲存裝置110 的0~4GB中,換句話說,實體緩衝區111可以使用的資源為0~4GB,但本案不以此為限。
請參閱第2圖,在一實施例中,處理器130可以包含記憶體分配器(memory allocator),並用以於儲存裝置110產生實體緩衝區111及虛擬緩衝區113,但本案不以此為限。在一些實施例中,記憶體分配器( memory allocator)130可以為第三演算法135A(例如:甲半導體記憶體管理(RXX dvrMemory Manager)演算法,如第2圖所示),且第三演算法135A(例如:甲半導體記憶體管理(RXX dvrMemory Manager)演算法)135A可以為基於Linux作業系統上,甲半導體(RXX)公司所開發的軟體模組,但本案不以此為限。
然後,處理器130透過虛擬緩衝區演算法於儲存裝置110的虛擬容量中產生虛擬緩衝區113。舉例而言,虛擬緩衝區演算法可以為第一演算法131A(例如:Linux系統核心(Linux kernel)演算法,如第2圖所示),虛擬容量可以為虛擬地址空間(fake address space),虛擬緩衝區113可以為稀疏記憶體(Sparse Memory)區塊113,換句話說,處理器130可以於第一演算法131A(例如:Linux系統核心(Linux kernel)演算法)註冊稀疏記憶體(Sparse Memory)區塊113,但本案不以此為限。
在一些實施例中,儲存裝置110的總容量可以為4GB,實體緩衝區111可以為第一緩衝器(Buffer 1),虛擬緩衝區113可以為第二緩衝器(Buffer 2),第二緩衝器(Buffer 2)可以為稀疏記憶體(Sparse Memory)區塊113,處理器130可以透過虛擬緩衝區演算法於儲存裝置110產生虛擬地址空間(fake address space),第一緩衝器(Buffer 1)可以使用儲存裝置110 的0~4GB區域,而稀疏記憶體(Sparse Memory)區塊113則使用虛擬地址空間(fake address space)中的4~5GB區域(對於儲存裝置110而言,實際上不存在),然而,稀疏記憶體(Sparse Memory)區塊113具有核心分頁結構(kernel pages structure)特性,故對第二裝置910而言,稀疏記憶體(Sparse Memory)區塊113可以視為實際存在的記憶體(physical memory),但本案不以此為限。故位址轉換系統100不須為將第一裝置900耦接於第二裝置910而增加硬體(例如:額外的記憶體容量)或資源。
在一些實施例中,實體緩衝區111可以為第一緩衝器(Buffer 1),虛擬緩衝區113可以為第二緩衝器(Buffer 2),而第一緩衝器(Buffer 1)及第二緩衝器(Buffer 2)的總數量可以為12塊,當然第一緩衝器(Buffer 1)及第二緩衝器(Buffer 2)的總數量可以更多或更少,但本案不以此為限。
再來,藉由記憶器匯流排120的耦合器121透過耦合演算法建立實體緩衝區111與虛擬緩衝區113的耦合關係。舉例而言,記憶器匯流排120可以包含匯流偵測轉換器(MonitorWrapper)121,且匯流偵測轉換器(MonitorWrapper)121可以透過耦合演算法以將緩衝區111的第一位址耦合於虛擬緩衝區113的第二位址,但本案不以此為限。
然後,藉由實體緩衝區111從第一裝置900接受壓縮資料。舉例而言,第一裝置900可為自製產品(In-house IP)900,其可以輸出壓縮資料(compressed data),壓縮資料可以寫入實體緩衝區111,但本案不以此為限。
再來,當第二裝置910欲讀取虛擬緩衝區113時,藉由耦合器121透過耦合關係導引第二裝置910至實體緩衝區111進行讀取。舉例而言,第二裝置910可為外購產品(Vendor IP )910,且記憶器匯流排120可以包含匯流偵測轉換器(MonitorWrapper)121,當外購產品(Vendor IP)910欲讀取虛擬緩衝區113時,可以藉由匯流偵測轉換器(MonitorWrapper)121透過耦合關係導引外購產品(Vendor IP) 910至實體緩衝區111進行讀取,但本案不以此為限。
隨後,藉由記憶器匯流排120將實體緩衝區111的壓縮資料傳送至耦合器121。然後,藉由記憶器匯流排120將壓縮資料解壓縮為解壓縮資料。再來,藉由記憶器匯流排120將解壓縮資料傳送至第二裝置910。舉例而言,緩衝區111可以將壓縮資料(compressed data)傳送至耦合器121,耦合器121可以接受壓縮資料後,耦合器121將壓縮資料解壓縮為解壓縮資料(decompressed data),然後,記憶器匯流排120將解壓縮資料傳送至第二裝置910,但本案不以此為限。
在一些實施例中,處理器130更用以根據儲存裝置110的複數指令以執行以下步驟:藉由第一裝置900傳送生成緩衝區指令;以及根據生成緩衝區指令以透過緩衝區演算法於儲存裝置110產生實體緩衝區111。舉例而言,實體緩衝區111可以為第一緩衝器(Buffer 1),生成緩衝區指令可以為緩衝器輸出請求(request output Buffer)指令,但本案不以此為限。
在一些實施例中,處理器130更用以根據儲存裝置110的複數指令以執行以下步驟:傳送返回緩衝區指令至第一裝置900;以及藉由第二裝置910傳送生成虛擬緩衝區指令。舉例而言,返回緩衝區指令可以為返回第一緩衝器(return Buffer 1)指令,生成虛擬緩衝區指令可以為緩衝器輸入請求(request input Buffer)指令,但本案不以此為限。
在一些實施例中,處理器130更用以根據儲存裝置110的複數指令以執行以下步驟:根據生成虛擬緩衝區指令以透過虛擬緩衝區演算法於儲存裝置110的虛擬容量中產生虛擬緩衝區113。舉例而言,處理器130可以根據虛擬緩衝區指令(例如:緩衝器輸入請求(request input Buffer)指令)以透過虛擬緩衝區演算法(例如:Linux系統核心(Linux kernel)演算法) 於儲存裝置110的虛擬容量(例如fake address space)中產生虛擬緩衝區113(例如:第二緩衝器(Buffer 2)),但本案不以此為限。
在一些實施例中,處理器130更用以根據儲存裝置110的複數指令以執行以下步驟:輸出耦合指令至記憶器匯流排120的耦合器121;以及藉由耦合器121根據耦合指令以透過耦合演算法將實體緩衝區111的第一位址耦合於虛擬緩衝區113的第二位址。舉例而言,耦合指令可以為分配虛擬第二緩衝器(allocate fake Buffer 2)指令,耦合指令寫入記憶器匯流排120的耦合器121(例如:匯流偵測轉換器(MonitorWrapper)121)用以將虛擬緩衝區113(例如:第二緩衝器(Buffer 2))的第二位址映射(mapping)、結合(bind)或耦合(coupling)至實體緩衝區111(例如:第一緩衝器(Buffer 1))的第一位址,但本案不以此為限。
在一些實施例中,耦合演算法可以為匯流偵測轉換器(MonitorWrapper)121用以即時(real-time)的監督第二裝置910的位址(例如:讀取位置(read address))。當起始位址(read address)落在虛擬緩衝區113的第二位址(例如:第二緩衝器(Buffer 2)的起始位址(start address)、結束位址(end address)之間),則將讀取位址(read address)進行第一轉換(例如:零階位址轉換(Level-0 address translator))以將讀取位址(read address)轉換為第一緩衝器(Buffer 1)相對應的位址(例如:第一緩衝器讀取位址(Buffer 1_read_address))。
然後,將第一緩衝器讀取位址(Buffer 1_read_address)進行第二轉換(例如:第一階轉換(Level-1 translator))以取得第一緩衝器(Buffer 1)相對應的資料偏移(例如:第一緩衝器偏移位址(Buffer 1_offset_address))及第一快取(例如:首標快取(header cache))。此外,第一快取(例如:首標快取(header cache))可以生成第二快取(例如:解壓縮資料快取(Decompressor/data cache))。
再來,儲存裝置110的介面(例如:記憶體界面(DDR interface))接收第一緩衝器偏移位址(Buffer 1_offset_address)及解壓縮資料快取(Decompressor/data cache)後,記憶體界面(DDR interface)根據解壓縮資料快取(Decompressor/data cache)以驅動匯流偵測轉換器(MonitorWrapper)121將第一裝置900(例如:自製產品(In-house IP))的壓縮資料解壓縮為解壓縮資料(decompress data)。然後,匯流偵測轉換器(MonitorWrapper)121將解壓縮資料傳送至第二裝置910(例如:外購產品(Vendor IP)),但本案不以此為限。
在一些實施例中,處理器130更用以根據儲存裝置110的複數指令以執行以下步驟:傳送返回虛擬緩衝區指令至第二裝置910。舉例而言,返回虛擬緩衝區指令可以為返回第二緩衝器(return Buffer 2)指令,但本案不以此為限。
在一些實施例中,處理器130更用以根據儲存裝置110的複數指令以執行以下步驟:第一裝置900根據返回緩衝區指令以將壓縮資料傳送至實體緩衝區111。舉例而言,第一裝置900可以根據返回第一緩衝器(return Buffer 1)指令以將壓縮資料傳送至第一緩衝器(Buffer 1),但本案不以此為限。
在一些實施例中,處理器130更用以根據儲存裝置110的複數指令以執行以下步驟:藉由第二裝置910根據返回虛擬緩衝區指令以傳送讀取資料指令至記憶器匯流排120;以及藉由耦合器121確認是否從第二裝置910接收虛擬讀取資料指令。舉例而言,讀取資料指令可以為從第二緩衝器讀取資料(read data from Buffer 2)指令,虛擬讀取資料指令可以為虛擬讀取資料器(faked read trigger )指令,第二裝置910可以根據返回第二緩衝器(return Buffer 2)指令以傳送從第二緩衝器讀取資料(read data from Buffer 2)指令至記憶器匯流排120,且耦合器121可以進一步辨識從第二裝置910輸出的第二緩衝器讀取資料(read data from Buffer 2)指令是否為虛擬讀取觸發器(faked read trigger) 指令,但本案不以此為限。
在一些實施例中,處理器130更用以根據儲存裝置110的複數指令以執行以下步驟:藉由耦合器121確認有從第二裝置910接收虛擬讀取資料指令以傳送讀取緩衝區指令至實體緩衝區111;以及藉由實體緩衝區111根據讀取緩衝區指令以將壓縮資料傳送至耦合器121。舉例而言,讀取緩衝區指令可以為從第一緩衝器讀取請求(request read from Buffer 1)指令,耦合器121可以或辨識從第二裝置910輸出的第二緩衝器讀取資料(read data from Buffer 2)指令為虛擬讀取觸發器(faked read trigger) 指令,且耦合器121可以接著傳送從第一緩衝器讀取請求(request read from Buffer 1)指令至實體緩衝區111,實體緩衝區111根據從第一緩衝器讀取請求(request read from Buffer 1)指令以將壓縮資料傳送至耦合器121。然後,耦合器121可以將壓縮資料解壓縮為解壓縮資料。再來,記憶器匯流排120可以將解壓縮資料傳送至第二裝置910,但本案不以此為限。
在一些實施例中,虛擬緩衝區演算法包含Linux演算法,且耦合器121包含解壓縮器。舉例而言,虛擬緩衝區演算法可以與第一演算法131A(例如:Linux系統核心(Linux kernel),如第2圖所示)相關的演算法技術,解壓縮器可以為任何泛指實體或軟體上的解壓縮器(Decompressor),耦合器121可以包含匯流偵測轉換器(MonitorWrapper)及解壓縮器(Decompressor),但本案不以此為限。
請參閱第2圖,在一些實施例中,處理器130包含複數個演算法。舉例而言,處理器130可以包含第一演算法131A、第二演算法133A及第三演算法135A,第一演算法131A可以為Linux系統核心頁面(Linux kernel pages)演算法,第二演算法133A可以為稀疏記憶體(Sparse Memory)演算法,第三演算法135A可以為甲半導體記憶體管理(RXX dvrMemory Manager)演算法,且甲半導體記憶體管理(RXX dvrMemory Manager)演算法可以為基於Linux作業系統上,甲半導體半導體(RXX)公司開發的軟體模組,換句話說,甲半導體記憶體管理(RXX dvrMemory Manager)演算法可以為底層使用Linux系統核心(Linux kernel)的稀疏記憶體(Sparse Memory)技術與甲半導體半導體(RXX)公司開發的記憶體管理模式,但本案不以此為限。
在一些實施例中,儲存裝置110可以包含第一演算法131A、第二演算法133A及第三演算法135A(圖中未示)。舉例而言,第一演算法131A可以為Linux系統核心頁面(Linux kernel pages)演算法,第二演算法133A可以為稀疏記憶體(Sparse Memory)演算法,第三演算法135A可以為甲半導體記憶體管理(RXX dvrMemory Manager)演算法,但本案不以此為限。
在一些實施例中,本案透過使用虛擬緩衝區113,以達到縮減實體緩衝區111之尺寸(size)的效果。舉例而言,虛擬緩衝區113(例如:第二緩衝器(Buffer 2))的尺寸(size)可以為
,而儲存裝置110的實體緩衝區111(例如:第一緩衝器(Buffer 1))的尺寸(size)可以為
,縮減比例可以為50%,而縮減比例可以與第一裝置900(例如:自製產品(In-house IP) 900)的壓縮速率(compress rate)相關,但本案不以此為限。
在一些實施例中,傳統記憶體之緩衝器具有第一體積,而本案之儲存裝置110的實體緩衝區111(例如:第一緩衝器(Buffer 1))具有第二體積,且第二體積小於第一體積。舉例而言,透過本案的虛擬緩衝區建立技術,可以達到有效縮小緩衝器之體積(buffer size)的效果。在一些實施例中,第二裝置910(例如:外購產品(Vendor IP )910)透過虛擬緩衝區113(例如:第二緩衝器(Buffer 2))來讀取(read/write)指令,且第二裝置910(例如:外購產品(Vendor IP )910)可以認為自己讀的是完整的緩衝器尺寸(buffer size),而不是實體緩衝區111(例如:第一緩衝器(Buffer 1))中有被壓縮過的尺寸(size),但本案不以此為限。
在一些實施例中,匯流偵測轉換器(MonitorWrapper)121可以具有一階位址轉換(level 1 address translation)的功能,而不具有處理虛擬緩衝區113(例如:第二緩衝器(Buffer 2))的機制。進一步來說,第一裝置900(例如:自製產品(In-house IP) 900)與第二裝置910(例如:外購產品(Vendor IP )910)讀到的緩衝器尺寸(buffer size)跟緩衝器位址(buffer address)可以是同一個。意即,對於第一裝置900(例如:自製產品(In-house IP) 900)與第二裝置910(例如:外購產品(Vendor IP )910)而言,儲存裝置110的實體緩衝區111(例如:第一緩衝器(Buffer 1))所佔的記憶體尺寸(memory size)相當於原本虛擬緩衝區113(例如:第二緩衝器(Buffer 2))的尺寸(size),無法變小,但本案不以此為限。
第3圖係依照本案一實施例繪示一種位址轉換方法的流程圖。為使第3圖之位址轉換方法300易於理解,請一併參閱第1圖及第3圖。第3圖之位址轉換方法300包含以下步驟:
步驟301:於儲存裝置110產生實體緩衝區111;
步驟302:透過虛擬緩衝區演算法於儲存裝置110的虛擬容量中產生虛擬緩衝區113;
步驟303:藉由記憶器匯流排120的耦合器121透過耦合演算法建立實體緩衝區111與虛擬緩衝區113的耦合關係;
步驟304:藉由實體緩衝區111從第一裝置900接受壓縮資料;
步驟305:當第二裝置910欲讀取虛擬緩衝區113時,藉由耦合器121透過耦合關係導引第二裝置910至實體緩衝區111進行讀取;
步驟306:藉由記憶器匯流排120將實體緩衝區111的壓縮資料傳送至耦合器121;
步驟307:藉由耦合器121將壓縮資料解壓縮為解壓縮資料;
步驟308:藉由記憶器匯流排120將解壓縮資料傳送至第二裝置。
在一實施例中,請參閱301,處理器130於儲存裝置110產生實體緩衝區111。舉例而言,儲存裝置110可以為容量4GB的雙倍資料率同步動態隨機存取記憶體(Double Data Rate Synchronous Dynamic Random Access Memory, DDR SDRAM,以下簡稱為DDR),實體緩衝區111可以為於儲存裝置110 的0~4GB中,換句話說,實體緩衝區111可以使用的資源為0~4GB,但本案不以此為限。
請參閱第2圖,在一實施例中,處理器130可以包含記憶體分配器(memory allocator),並用以於儲存裝置110產生實體緩衝區111及虛擬緩衝區113,但本案不以此為限。在一些實施例中,記憶體分配器(memory allocator)130可以為第三演算法135A(例如:甲半導體記憶體管理(RXX dvrMemory Manager)演算法,如第2圖所示),且第三演算法135A(例如:甲半導體記憶體管理(RXX dvrMemory Manager)演算法)可以為基於Linux作業系統上,甲半導體公司開發的軟體模組,但本案不以此為限。
在一實施例中,請參閱步驟302,處理器130透過虛擬緩衝區演算法於儲存裝置110的虛擬容量中產生虛擬緩衝區113。舉例而言,虛擬緩衝區演算法可以為第一演算法131A(例如:Linux系統核心(Linux kernel)演算法,如第2圖所示),虛擬容量可以為虛擬地址空間(fake address space),虛擬緩衝區113可以為稀疏記憶體(Sparse Memory)區塊113,換句話說,處理器130可以於第一演算法131A(例如:Linux系統核心(Linux kernel)演算法)註冊稀疏記憶體(Sparse Memory)區塊113,但本案不以此為限。
在一些實施例中,儲存裝置110的總容量可以為4GB,實體緩衝區111可以為第一緩衝器(Buffer 1),虛擬緩衝區113可以為第二緩衝器(Buffer 2),第二緩衝器(Buffer 2)可以為稀疏記憶體(Sparse Memory)區塊113,處理器130可以透過虛擬緩衝區演算法於儲存裝置110產生虛擬地址空間(fake address space),第一緩衝器(Buffer 1)可以使用儲存裝置110 的0~4GB區域,而稀疏記憶體(Sparse Memory)區塊113則使用虛擬地址空間(fake address space)中的4~5GB區域(對於儲存裝置110而言,實際上不存在),然而,稀疏記憶體(Sparse Memory)區塊113具有核心分頁結構(kernel pages structure)特性,故對第二裝置910而言,稀疏記憶體(Sparse Memory)區塊113可以視為實際存在的記憶體(physical memory),但本案不以此為限。故位址轉換系統100不須為將第一裝置900耦接於第二裝置910而增加硬體(例如:額外的記憶體容量)或資源。
在一些實施例中,實體緩衝區111可以為第一緩衝器(Buffer 1),虛擬緩衝區113可以為第二緩衝器(Buffer 2),而第一緩衝器(Buffer 1)及第二緩衝器(Buffer 2)的總數量可以為12塊,當然第一緩衝器(Buffer 1)及第二緩衝器(Buffer 2)的總數量可以更多或更少,但本案不以此為限。
在一實施例中,請參閱步驟303,藉由記憶器匯流排120的耦合器121透過耦合演算法建立實體緩衝區111與虛擬緩衝區113的耦合關係。舉例而言,記憶器匯流排120可以包含匯流偵測轉換器(MonitorWrapper)121,且匯流偵測轉換器(MonitorWrapper)121可以透過耦合演算法以將緩衝區111的第一位址耦合於虛擬緩衝區113的第二位址,但本案不以此為限。
在一實施例中,請參閱步驟304,藉由實體緩衝區111從第一裝置900接受壓縮資料。舉例而言,第一裝置900可為自製產品(In-house IP) 900,其可以輸出壓縮資料(compressed data),壓縮資料可以寫入緩衝區111,但本案不以此為限。
在一實施例中,請參閱步驟305,當第二裝置910欲讀取虛擬緩衝區113時,藉由耦合器121透過耦合關係導引第二裝置910至實體緩衝區111進行讀取。舉例而言,第二裝置910可為外購產品(Vendor IP) 910,且記憶器匯流排120可以包含匯流偵測轉換器(MonitorWrapper )121,當外購產品(Vendor IP) 910欲讀取虛擬緩衝區113時,可以藉由匯流偵測轉換器(MonitorWrapper )121透過耦合關係導引外購產品(Vendor IP) 910至實體緩衝區111進行讀取,但本案不以此為限。
在一實施例中,請參閱步驟306,藉由記憶器匯流排120將實體緩衝區111將壓縮資料傳送至耦合器121。在一實施例中,請參閱步驟307,藉由耦合器121將壓縮資料解壓縮為解壓縮資料。在一實施例中,請參閱步驟308,藉由記憶器匯流排120將解壓縮資料傳送至第二裝置910。舉例而言,實體緩衝區111可以將壓縮資料(compressed data)傳送至耦合器121,耦合器121可以接受壓縮資料後,耦合器121將壓縮資料解壓縮為解壓縮資料(decompressed data),然後,記憶器匯流排120將解壓縮資料傳送至第二裝置910,但本案不以此為限。
第4圖至第6圖係依照本案一實施例繪示另一種位址轉換方法的流程圖。為使第4圖至第6圖之位址轉換方法400易於理解,請一併參閱第1圖、第2圖、第4圖至第6圖。第4圖至第6圖之位址轉換方法400包含以下步驟:
步驟401:藉由第一裝置900傳送生成緩衝區指令;
步驟402:根據生成緩衝區指令以透過緩衝區演算法於儲存裝置110產生實體緩衝區111;
步驟403:傳送返回緩衝區指令至第一裝置900;
步驟404:藉由第二裝置910傳送生成虛擬緩衝區指令;
步驟405:根據生成虛擬緩衝區指令以透過虛擬緩衝區演算法於儲存裝置110的虛擬容量中產生虛擬緩衝區113;
步驟406:輸出耦合指令至記憶器匯流排120的耦合器121;
步驟407:藉由耦合器121根據耦合指令以透過耦合演算法將實體緩衝區111的第一位址耦合於虛擬緩衝區113的第二位址;
步驟408:傳送返回虛擬緩衝區指令至第二裝置910;
步驟409:藉由第一裝置900根據返回緩衝區指令以將壓縮資料傳送至實體緩衝區111;
步驟410:藉由第二裝置910根據返回虛擬緩衝區指令以傳送讀取資料指令至記憶器匯流排120;
步驟411:藉由耦合器121確認是否從第二裝置910接收虛擬讀取資料指令;
步驟412:藉由耦合器121確認有從第二裝置910接收虛擬讀取資料指令以傳送讀取緩衝區指令至實體緩衝區111;
步驟413:藉由實體緩衝區111根據讀取緩衝區指令以將壓縮資料傳送至耦合器121;
步驟414:藉由耦合器121將壓縮資料解壓縮為解壓縮資料;
步驟415:藉由記憶器匯流排120將解壓縮資料傳送至第二裝置910。
在一實施例中,請參閱步驟301、步驟401及步驟402,處理器130於儲存裝置110產生緩衝區111的步驟包含:藉由第一裝置900傳送生成緩衝區指令;以及處理器130根據生成緩衝區指令以透過緩衝區演算法於儲存裝置110產生實體緩衝區111。舉例而言,實體緩衝區111可以為第一緩衝器(Buffer 1),生成緩衝區指令可以為緩衝器輸出請求(request output Buffer )指令,但本案不以此為限。
在一實施例中,請參閱步驟301、步驟403及步驟404,處理器130於儲存裝置110產生實體緩衝區111的步驟更包含:處理器130傳送返回緩衝區指令至第一裝置900;以及藉由第二裝置910傳送生成虛擬緩衝區指令。舉例而言,返回緩衝區指令可以為返回第一緩衝器(return Buffer 1)指令,生成虛擬緩衝區指令可以為緩衝器輸入請求(request input Buffer)指令,但本案不以此為限。
在一實施例中,請參閱步驟302及步驟405,處理器130透過虛擬緩衝區演算法於儲存裝置110的虛擬容量中產生虛擬緩衝區113的步驟包含:處理器130根據生成虛擬緩衝區指令以透過虛擬緩衝區演算法於儲存裝置110的虛擬容量中產生虛擬緩衝區113。舉例而言,處理器130可以根據虛擬緩衝區指令(例如:緩衝器輸入請求(request input Buffer)指令)以透過建立虛擬緩衝區演算法(例如:Linux系統核心(Linux kernel)演算法) 於儲存裝置110的虛擬容量(例如fake address space)中產生虛擬緩衝區113(例如:第二緩衝器(Buffer 2)),但本案不以此為限。
在一實施例中,請參閱步驟303、步驟406及步驟407,藉由記憶器匯流排120透過耦合演算法建立實體緩衝區111與虛擬緩衝區113的耦合關係的步驟包含:處理器130輸出耦合指令至記憶器匯流排120的耦合器121;以及藉由耦合器121根據耦合指令以透過耦合演算法將實體緩衝區111的第一位址耦合於虛擬緩衝區的第二位址。舉例而言,耦合指令可以為分配虛擬第二緩衝器(allocate fake Buffer 2)指令,耦合指令寫入記憶器匯流排120的耦合器121(例如:匯流偵測轉換器(MonitorWrapper)121)用以將虛擬緩衝區113(例如:第二緩衝器(Buffer 2))的第二位址映射(mapping)、結合(bind)或耦合(coupling)至緩衝區111(例如:第一緩衝器(Buffer 1))的第一位址,但本案不以此為限。
在一些實施例中,耦合演算法可以為匯流偵測轉換器(MonitorWrapper)121用以即時(real-time)的監督第二裝置910的位址(例如:讀取位置(read address))。當讀取位置(read address)落在虛擬緩衝區113的第二位址(例如:第二緩衝器(Buffer 2)的起始位址(start address)、結束位址(end address)之間),則將讀取位址(read address)進行第一轉換(例如:零階位址轉換(Level-0 address translator))以將讀取位址(read address)轉換為第一緩衝器(Buffer 1)相對應的位址(例如:第一緩衝器讀取位址(Buffer 1_read_address))。
然後,將第一緩衝器讀取位址(Buffer 1_read_address)進行第二轉換(例如:第一階轉換(Level-1 translator))以取得第一緩衝器(Buffer 1)相對應的資料偏移(例如:第一緩衝器偏移位址(Buffer 1_offset_address))及第一快取(例如:首標快取(header cache))。此外,第一快取(例如:首標快取(header cache))可以生成第二快取(例如:解壓縮資料快取(Decompressor/data cache))。
再來,儲存裝置110的介面(例如:記憶體界面(DDR interface))接收第一緩衝器偏移位址(Buffer 1_offset_address)及解壓縮資料快取(Decompressor/data cache)後,記憶體界面(DDR interface)根據解壓縮資料快取(Decompressor/data cache)以驅動匯流偵測轉換器(MonitorWrapper)121將第一裝置900(例如:自製產品(In-house IP) )的壓縮資料解壓縮為解壓縮資料(decompress data)。然後,匯流偵測轉換器(MonitorWrapper)121將解壓縮資料傳送至第二裝置910(例如:外購產品(Vendor IP)),但本案不以此為限。
在一實施例中,請參閱步驟303及步驟408,藉由記憶器匯流排120透過耦合演算法建立實體緩衝區111與虛擬緩衝區113的耦合關係的步驟更包含:處理器130傳送返回虛擬緩衝區指令至第二裝置910。舉例而言,返回虛擬緩衝區指令可以為返回第二緩衝器(return Buffer 2)指令,但本案不以此為限。
在一實施例中,請參閱步驟304及步驟409,藉由實體緩衝區111從第一裝置900接受壓縮資料的步驟包含:藉由第一裝置900根據返回緩衝區指令以將壓縮資料傳送至實體緩衝區111。舉例而言,第一裝置900可以根據返回第一緩衝器(return Buffer 1)指令以將壓縮資料傳送至第一緩衝器(Buffer 1),但本案不以此為限。
在一實施例中,請參閱步驟305、步驟410及步驟411,當第二裝置910欲讀取虛擬緩衝區113時,藉由記憶器匯流排120透過耦合關係導引第二裝置910至實體緩衝區111進行讀取的步驟包含:藉由第二裝置910根據返回虛擬緩衝區指令以傳送讀取資料指令至記憶器匯流排120;以及藉由耦合器121確認是否從第二裝置910接收虛擬讀取資料指令。
舉例而言,讀取資料指令可以為從第二緩衝器讀取資料(read data from Buffer 2)指令,虛擬讀取資料指令可以為虛擬讀取觸發器(faked read trigger) 指令,第二裝置910可以根據返回第二緩衝器(return Buffer 2)指令以傳送從第二緩衝器讀取資料(read data from Buffer 2)指令至記憶器匯流排120,且耦合器121可以進一步確認(或辨識)從第二裝置910輸出的第二緩衝器讀取資料(read data from Buffer 2)指令是否為虛擬讀取觸發器(faked read trigger) 指令,但本案不以此為限。
在一實施例中,請參閱步驟306、步驟412及步驟413,藉由實體緩衝區111將壓縮資料傳送至記憶器匯流排120的步驟包含:藉由耦合器121確認有從第二裝置910接收虛擬讀取資料指令以傳送讀取緩衝區指令至實體緩衝區111;以及藉由實體緩衝區111根據讀取緩衝區指令以將壓縮資料傳送至耦合器121。
舉例而言,讀取緩衝區指令可以為從第一緩衝器讀取請求(request read from Buffer 1)指令,耦合器121可以確認(或辨識)從第二裝置910輸出的第二緩衝器讀取資料(read data from Buffer 2)指令為虛擬讀取觸發器(faked read trigger) 指令,且耦合器121可以接著傳送從第一緩衝器讀取請求(request read from Buffer 1)指令至實體緩衝區111,實體緩衝區111根據從第一緩衝器讀取請求(request read from Buffer 1)指令以將壓縮資料傳送至耦合器121,但本案不以此為限。
在一實施例中,請參閱步驟307及步驟414,藉由耦合器121將壓縮資料解壓縮為解壓縮資料。在一實施例中,請參閱步驟307及步驟415,藉由記憶器匯流排120將解壓縮資料傳送至第二裝置910。舉例而言,耦合器121可以接受壓縮資料後,耦合器121將壓縮資料解壓縮為解壓縮資料(decompressed data),然後,記憶器匯流排120將解壓縮資料傳送至第二裝置910,但本案不以此為限。
在一些實施例中,虛擬緩衝區演算法包含Linux演算法,且耦合器121包含解壓縮器。舉例而言,虛擬緩衝區演算法可以與第一演算法131A(例如:Linux系統核心(Linux kernel),如第2圖所示)相關的演算法技術,解壓縮器可以為任何泛指實體或軟體上的解壓縮器(Decompressor),記憶器匯流排120可以包含匯流偵測轉換器(MonitorWrapper)及解壓縮器(Decompressor),但本案不以此為限。
由上述本案實施方式可知,應用本案具有下列優點。本案實施例所示之位址轉換系統及位址轉換方法得以降低消耗記憶體內資源之消耗,以達到兩個不同位址的硬體傳遞資料的效果。
雖然上文實施方式中揭露了本案的具體實施例,然其並非用以限定本案,本案所屬技術領域中具有通常知識者,在不悖離本案之原理與精神的情形下,當可對其進行各種更動與修飾,因此本案之保護範圍當以附隨申請專利範圍所界定者為準。
100:位址轉換系統
110:儲存裝置
111:緩衝區
113:虛擬緩衝區
120:記憶器匯流排
121:耦合器(匯流偵測轉換器)
130、130A:處理器
900:第一裝置(自製產品)
910:第二裝置(外購產品)
131A:第一演算法(演算法)
133A:第二演算法(演算法)
135A:第三演算法(演算法)
300、400:位址轉換方法
301~307:步驟
401~414:步驟
為讓本案之上述和其他目的、特徵、優點與實施例能更明顯易懂,所附圖式之說明如下:
第1圖係依照本案一實施例繪示一種位址轉換系統的方塊示意圖。
第2圖係依照本案一實施例繪示一種位址轉換系統之處理器的方塊示意圖。
第3圖係依照本案一實施例繪示一種位址轉換方法的流程圖。
第4圖至第6圖係依照本案一實施例繪示另一種位址轉換方法的流程圖。
根據慣常的作業方式,圖中各種特徵與元件並未依比例繪製,其繪製方式是為了以最佳的方式呈現與本案相關的具體特徵與元件。此外,在不同圖式間,以相同或相似的元件符號來指稱相似的元件/部件。
國內寄存資訊(請依寄存機構、日期、號碼順序註記)
無
國外寄存資訊(請依寄存國家、機構、日期、號碼順序註記)
無
100:位址轉換系統
110:儲存裝置
111:實體緩衝區
113:虛擬緩衝區
120:記憶器匯流排
121:耦合器
130:處理器
900:第一裝置
910:第二裝置
Claims (10)
- 一種位址轉換系統,包含:一儲存裝置;一記憶器匯流排,包含:一耦合器,用以將一第一裝置耦合至一第二裝置;以及一處理器,用以根據該儲存裝置的複數個指令以執行以下步驟:於該儲存裝置產生一實體緩衝區;透過一虛擬緩衝區演算法於該儲存裝置的一虛擬容量中產生一虛擬緩衝區;藉由該記憶器匯流排的該耦合器透過一耦合演算法建立該實體緩衝區與該虛擬緩衝區的一耦合關係;藉由該實體緩衝區從該第一裝置接受一壓縮資料;當該第二裝置欲讀取該虛擬緩衝區時,藉由該耦合器透過該耦合關係導引該第二裝置至該實體緩衝區進行讀取;藉由該記憶器匯流排將該實體緩衝區的一壓縮資料傳送至該耦合器;藉由該耦合器將該壓縮資料解壓縮為一解壓縮資料;以及藉由該記憶器匯流排將該解壓縮資料傳送至該第二裝置。
- 如請求項1所述之位址轉換系統,其中該處 理器更用以根據該儲存裝置的該些指令以執行以下步驟:藉由該第一裝置傳送一生成緩衝區指令;以及根據該生成緩衝區指令以透過一緩衝區演算法於該儲存裝置產生該實體緩衝區。
- 如請求項2所述之位址轉換系統,其中該處理器更用以根據儲存裝置的該些指令以執行以下步驟:傳送一返回緩衝區指令至該第一裝置;以及藉由該第二裝置傳送一生成虛擬緩衝區指令。
- 如請求項3所述之位址轉換系統,其中該處理器更用以根據該儲存裝置的該些指令以執行以下步驟:根據該生成虛擬緩衝區指令以透過該虛擬緩衝區演算法於該儲存裝置的該虛擬容量中產生該虛擬緩衝區。
- 如請求項4所述之位址轉換系統,其中該處理器更用以根據該儲存裝置的該些指令以執行以下步驟:輸出一耦合指令至該記憶器匯流排的該耦合器;以及藉由該耦合器根據該耦合指令以透過該耦合演算法將該實體緩衝區的一第一位址耦合於該虛擬緩衝區的一第二位址。
- 如請求項5所述之位址轉換系統,其中該處理器更用以根據該儲存裝置的該些指令以執行以下步驟: 傳送一返回虛擬緩衝區指令至該第二裝置。
- 如請求項6所述之位址轉換系統,其中該處理器更用以根據該儲存裝置的該些指令以執行以下步驟:藉由該第一裝置根據該返回緩衝區指令以將該壓縮資料傳送至該實體緩衝區。
- 如請求項7所述之位址轉換系統,其中該處理器更用以根據該儲存裝置的該些指令以執行以下步驟:藉由該第二裝置根據該返回虛擬緩衝區指令以傳送一讀取資料指令至該記憶器匯流排;以及藉由該耦合器確認是否從該第二裝置接收一虛擬讀取資料指令。
- 如請求項8所述之位址轉換系統,其中該處理器更用以根據該儲存裝置的該些指令以執行以下步驟:藉由該耦合器確認有從該第二裝置接收該虛擬讀取資料指令以傳送一讀取緩衝區指令至該實體緩衝區;以及藉由該實體緩衝區根據該讀取緩衝區指令以將該壓縮資料傳送至該耦合器。
- 一種位址轉換方法,包含:於一儲存裝置產生一實體緩衝區;透過一虛擬緩衝區演算法於該儲存裝置的一虛擬容量中 產生一虛擬緩衝區;藉由一記憶器匯流排的一耦合器透過一耦合演算法建立該實體緩衝區與該虛擬緩衝區的一耦合關係;藉由該耦合器透過該耦合演算法以將該實體緩衝區的一第一位址耦合於該虛擬緩衝區的一第二位址;藉由該實體緩衝區從一第一裝置接受一壓縮資料;當一第二裝置欲讀取該虛擬緩衝區時,藉由該耦合器透過該耦合關係導引該第二裝置至該實體緩衝區進行讀取;藉由該記憶器匯流排將該實體緩衝區的一壓縮資料傳送至該耦合器;藉由該耦合器將該壓縮資料解壓縮為一解壓縮資料:以及藉由該記憶器匯流排將該解壓縮資料傳送至該第二裝置。
Priority Applications (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
TW111136841A TWI813455B (zh) | 2022-09-28 | 2022-09-28 | 位址轉換系統及位址轉換方法 |
US18/320,185 US20240104032A1 (en) | 2022-09-28 | 2023-05-18 | Address conversion system and address conversion method |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
TW111136841A TWI813455B (zh) | 2022-09-28 | 2022-09-28 | 位址轉換系統及位址轉換方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
TWI813455B true TWI813455B (zh) | 2023-08-21 |
TW202414226A TW202414226A (zh) | 2024-04-01 |
Family
ID=88585936
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
TW111136841A TWI813455B (zh) | 2022-09-28 | 2022-09-28 | 位址轉換系統及位址轉換方法 |
Country Status (2)
Country | Link |
---|---|
US (1) | US20240104032A1 (zh) |
TW (1) | TWI813455B (zh) |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
TW201435585A (zh) * | 2013-03-05 | 2014-09-16 | Htc Corp | 用以存取資料之電子裝置及其資料存取方法 |
TW201918882A (zh) * | 2017-11-13 | 2019-05-16 | 韓商愛思開海力士有限公司 | 記憶體系統及其操作方法 |
TW202225983A (zh) * | 2020-12-23 | 2022-07-01 | 美商英特爾公司 | 使用捆綁式存取控制之安全位址轉換服務 |
-
2022
- 2022-09-28 TW TW111136841A patent/TWI813455B/zh active
-
2023
- 2023-05-18 US US18/320,185 patent/US20240104032A1/en active Pending
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
TW201435585A (zh) * | 2013-03-05 | 2014-09-16 | Htc Corp | 用以存取資料之電子裝置及其資料存取方法 |
TW201918882A (zh) * | 2017-11-13 | 2019-05-16 | 韓商愛思開海力士有限公司 | 記憶體系統及其操作方法 |
CN109783397A (zh) * | 2017-11-13 | 2019-05-21 | 爱思开海力士有限公司 | 存储器***及其操作方法 |
TW202225983A (zh) * | 2020-12-23 | 2022-07-01 | 美商英特爾公司 | 使用捆綁式存取控制之安全位址轉換服務 |
Also Published As
Publication number | Publication date |
---|---|
US20240104032A1 (en) | 2024-03-28 |
TW202414226A (zh) | 2024-04-01 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN110647480B (zh) | 数据处理方法、远程直接访存网卡和设备 | |
US6263413B1 (en) | Memory integrated circuit and main memory and graphics memory systems applying the above | |
US8001294B2 (en) | Methods and apparatus for providing a compressed network in a multi-processing system | |
JP5681782B2 (ja) | オン・ダイ・システム・ファブリック・ブロックの制御 | |
US5974471A (en) | Computer system having distributed compression and decompression logic for compressed data movement | |
US7275123B2 (en) | Method and apparatus for providing peer-to-peer data transfer within a computing environment | |
JP6069031B2 (ja) | 計算機及びメモリ管理方法 | |
US6704022B1 (en) | System for accessing graphics data from memory and method thereof | |
EP3964949B1 (en) | Graphics processing method and apparatus | |
CN109308283A (zh) | 一种SoC片上***及其外设总线切换方法 | |
TW201214133A (en) | USB transaction translator and a bulk transaction method | |
TWI813455B (zh) | 位址轉換系統及位址轉換方法 | |
CN204390227U (zh) | 计算设备扩展装置、以及可扩展的计算*** | |
US11625344B2 (en) | Transmission control circuit, data transmission system using different data formats, and operating method thereof | |
CN117891755A (zh) | 地址转换***及地址转换方法 | |
CN111724295B (zh) | 一种外部存储器的协同访问方法及***、协同访问架构 | |
KR100591243B1 (ko) | 온-칩 직렬 주변장치 버스 시스템 및 그 운용방법 | |
CN113094310A (zh) | 内存管理器、处理器内存子***、处理器和电子设备 | |
US7716397B2 (en) | Methods and systems for interprocessor message exchange between devices using only write bus transactions | |
JP2002123420A (ja) | メモリアクセス装置 | |
CN114840458B (zh) | 读写模块、片上***和电子设备 | |
WO2016170673A1 (ja) | 計算機システム、及び、メモリモジュール | |
WO2024037251A1 (zh) | 数据传输方法、装置、***、设备及存储介质 | |
KR20110047838A (ko) | 모바일용 스토리지 제어 장치 및 방법 | |
JP2003333108A (ja) | 通信コントローラ及び通信方法 |