TW201633171A - 用於or鍊接匯流排之增強型資料匯流排反轉編碼技術 - Google Patents

用於or鍊接匯流排之增強型資料匯流排反轉編碼技術 Download PDF

Info

Publication number
TW201633171A
TW201633171A TW104136029A TW104136029A TW201633171A TW 201633171 A TW201633171 A TW 201633171A TW 104136029 A TW104136029 A TW 104136029A TW 104136029 A TW104136029 A TW 104136029A TW 201633171 A TW201633171 A TW 201633171A
Authority
TW
Taiwan
Prior art keywords
data
bus
logic
value
sources
Prior art date
Application number
TW104136029A
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 英特爾公司
Publication of TW201633171A publication Critical patent/TW201633171A/zh

Links

Classifications

    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03MCODING; DECODING; CODE CONVERSION IN GENERAL
    • H03M13/00Coding, decoding or code conversion, for error detection or error correction; Coding theory basic assumptions; Coding bounds; Error probability evaluation methods; Channel models; Simulation or testing of codes
    • H03M13/03Error detection or forward error correction by redundancy in data representation, i.e. code words containing more digits than the source words
    • H03M13/05Error detection or forward error correction by redundancy in data representation, i.e. code words containing more digits than the source words using block codes, i.e. a predetermined number of check bits joined to a predetermined number of information bits
    • H03M13/13Linear codes
    • H03M13/19Single error correction without using particular properties of the cyclic codes, e.g. Hamming codes, extended or generalised Hamming codes
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F13/00Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F13/38Information transfer, e.g. on bus
    • G06F13/42Bus transfer protocol, e.g. handshake; Synchronisation
    • G06F13/4247Bus transfer protocol, e.g. handshake; Synchronisation on a daisy chain bus
    • G06F13/4252Bus transfer protocol, e.g. handshake; Synchronisation on a daisy chain bus using a handshaking protocol
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F13/00Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F13/38Information transfer, e.g. on bus
    • G06F13/42Bus transfer protocol, e.g. handshake; Synchronisation
    • G06F13/4204Bus transfer protocol, e.g. handshake; Synchronisation on a parallel bus
    • G06F13/4221Bus transfer protocol, e.g. handshake; Synchronisation on a parallel bus being an input/output bus, e.g. ISA bus, EISA bus, PCI bus, SCSI bus
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F13/00Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F13/38Information transfer, e.g. on bus
    • G06F13/42Bus transfer protocol, e.g. handshake; Synchronisation
    • G06F13/4204Bus transfer protocol, e.g. handshake; Synchronisation on a parallel bus
    • G06F13/4234Bus transfer protocol, e.g. handshake; Synchronisation on a parallel bus being a memory bus
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F13/00Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F13/38Information transfer, e.g. on bus
    • G06F13/42Bus transfer protocol, e.g. handshake; Synchronisation
    • G06F13/4265Bus transfer protocol, e.g. handshake; Synchronisation on a point to point bus
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y02TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
    • Y02DCLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
    • Y02D10/00Energy efficient computing, e.g. low power processors, power management or thermal management

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Probability & Statistics with Applications (AREA)
  • Computer Hardware Design (AREA)
  • Error Detection And Correction (AREA)
  • Bus Control (AREA)
  • Information Transfer Systems (AREA)
  • Mathematical Physics (AREA)
  • Dc Digital Transmission (AREA)

Abstract

本發明描述與用於OR鏈接匯流排之增強型資料匯流排反轉(EDBI)編碼技術有關的方法及設備。在一實施例中,至少部分基於對匯流排上的下一資料值是否將要自有效值變遷至停駐狀態之判定來編碼該匯流排上的進入資料。本發明亦揭示其他實施例。

Description

用於OR鍊接匯流排之增強型資料匯流排反轉編碼技術 發明領域
本揭示案一般而言係關於電子學領域。更特定而言,實施例係關於用於OR鏈接匯流排之增強型資料匯流排反轉編碼技術。
發明背景
通常,對於具有相對寬的匯流排的系統(例如,強調資料傳輸),大量能量由於匯流排電容(用於資料變遷活動)之充電及放電而耗散。匯流排上的交換活動可由於(1)資料值改變;及/或(2)資料匯流排自有效變遷至「停駐」狀態而發生。「停駐」狀態通常涉及匯流排具有例如用以更快速及/或更準確地促進後續操作之確定性狀態的狀態。先前解決方案在組合匯流排時通常不考慮「停駐」狀態;且因此可增加交換活動,此亦導致較多功率消耗、成本、延遲等。
依據本發明之一實施例,係特地提出一種設備,其包含:一接收器,其係耦接至一資料匯流排,該接收器 用以接收進入資料;控制邏輯,其耦接至該接收器,該控制邏輯用以判定該資料匯流排上的一下一資料值是否將要自一有效值變遷至一停駐狀態;以及編碼邏輯,其用以至少部分基於對該匯流排上的該下一資料值是否將要自該有效值變遷至該停駐狀態之該判定來編碼該進入資料。
100、700、800‧‧‧計算系統
102-1~102-M‧‧‧代理
104‧‧‧網路組構/組構
106、108‧‧‧單向鏈路
110‧‧‧雙向鏈路
120、712、810、812、960‧‧‧記憶體
160‧‧‧EDBI編碼器邏輯/邏輯
200‧‧‧計算系統/系統
202~208‧‧‧插座
402、602‧‧‧多工器
404‧‧‧反向器
406‧‧‧正反器
500‧‧‧方法
502~510‧‧‧操作
600‧‧‧EDBI決策塊邏輯/邏輯
604‧‧‧加法器
606‧‧‧比較器
702‧‧‧中央處理單元/處理器
704‧‧‧互連網路/匯流排
705‧‧‧網路
706、820‧‧‧晶片集
708‧‧‧圖形記憶體控制集線器(GMCH)
710、942‧‧‧記憶體控制器
714‧‧‧圖形介面
716‧‧‧顯示裝置/顯示器
718‧‧‧集線器介面
720‧‧‧輸入/輸出控制集線器(ICH)
722、840、844‧‧‧匯流排
724‧‧‧週邊橋接器(或控制器)
726、847‧‧‧音訊裝置
728‧‧‧碟片驅動機
730‧‧‧網路配接器
732‧‧‧作業系統(O/S)
734‧‧‧應用程式
736‧‧‧裝置驅動器
802、804‧‧‧處理器
806、808‧‧‧區域記憶體控制器集線器(MCH)
814、822、824‧‧‧點對點(PtP)介面
816、818、826~832、837、841‧‧‧點對點介面電路
834‧‧‧高效能圖形電路
836‧‧‧高效能圖形介面
842‧‧‧匯流排橋接器
843、970‧‧‧I/O裝置
845‧‧‧鍵盤/滑鼠
846‧‧‧通訊裝置
848‧‧‧資料儲存器裝置
849‧‧‧碼
902‧‧‧SOC/SOC封裝
920‧‧‧中央處理單元(CPU)核心
930‧‧‧圖形處理器單元(GPU)核心
940‧‧‧輸入/輸出(I/O)介面
參照附圖來提供詳細描述。在該等圖中,參考編號之一或多個最左數位識別該參考編號首次出現在哪一個圖中。在不同圖中使用相同參考編號指示相似或相同之項目。
圖1例示計算系統之實施例的方塊圖,該計算系統可經利用來實行本文所論述之各種實施例。
圖2例示計算系統之實施例的方塊圖,該計算系統可經利用來實行本文所論述之一或多個實施例。
圖3A例示具有資料停駐的4位元匯流排資料傳輸,其中資料匯流排反轉(DBI)編碼技術增加資料傳輸活動。
圖3B例示具有資料停駐的4位元匯流排資料傳輸,其中權重編碼(WC)編碼技術增加資料傳輸活動。
圖4例示根據一實施例之增強型資料匯流排反轉(EDBI)編碼器的方塊圖。
圖5例示根據一實施例之提供EDBI編碼技術之方法的流程圖。
圖6例示根據一實施例之EDBI決策塊。
圖7例示計算系統之實施例的方塊圖,該計算系統可經利用來實行本文所論述之一或多個實施例。
圖8例示計算系統之實施例的方塊圖,該計算系統可經利用來實行本文所論述之一或多個實施例。
圖9例示根據一實施例之系統單晶片(SOC)封裝的方塊圖。
較佳實施例之詳細說明
以下描述中闡述眾多具體細節,以便提供對各種實施例之透徹理解。然而,可在無該等具體細節的情況下實踐一些實施例。在其他情況下,未詳細描述熟知的方法、程序、組件及電路,以免混淆特定實施例。另外,可使用各種構件來執行實施例之各種態樣,該等構件諸如:積體半導體電路(「硬體」)、組織成一或多個程式(「軟體」)的電腦可讀指令,或硬體與軟體之一些組合。出於本揭示內容之目的,提及「邏輯」應意味硬體、軟體或上述各者之一些組合。
通常,對於具有相對寬的匯流排的系統(例如,強調資料傳輸),大量能量由於匯流排電容(用於資料變遷活動)之充電及放電而耗散。匯流排上的交換活動可由於(1)資料值改變;及/或(2)資料匯流排自有效變遷至「停駐」狀態而發生。「停駐」狀態通常涉及匯流排具有例如用以更快速及/或更準確地促進後續操作之確定性狀態的狀態。例如,一些實行方案在組合(OR鏈接)兩個匯流排時可使用複雜多 工器。然而,若匯流排之狀態為停駐,則控制閘之輸出可經確定性地讀取(例如,其中輸入中一者始終為1或0)。另外,使狀態停駐減少與複雜多工器相關聯的硬體之量(此狀況亦降低成本、功率消耗及/或延遲)。此外,複雜多工器之缺乏提供較容易的控制解決方案,因為用於多工器之控制信號不再存在。先前解決方案在組合匯流排時通常不考慮「停駐」狀態;且因此可增加交換活動,此亦導致較多功率消耗、成本、延遲等。
為此,一些實施例提供用於「OR」(亦即,邏輯OR)鏈接匯流排之增強型資料匯流排反轉(EDBI)編碼技術。如本文所論述,「匯流排」一詞可為可互換地被稱為「互連件」。如本文所論述,當使用匯流排停駐時,EDBI編碼技術可減少資料匯流排之交換活動(例如,在每一匯流排上具有多個發送器的情況下)。在一實施例中,至少部分基於對匯流排上的下一資料值是否將要自有效值變遷至停駐狀態之判定來編碼匯流排上的進入資料(例如,出自多個來源/匯流排)。
此外,本文所論述之技術可利用於各種計算系統(例如,諸如桌上型電腦、伺服器、工作站等的非行動裝置,以及諸如智慧型電話、平板電腦、UMPC(超級行動個人電腦)、膝上型電腦、UltrabookTM計算裝置、可穿戴式裝置(諸如,智慧型手錶、智慧型眼鏡)等的行動裝置)中,包括參照圖1至圖9所論述之該等計算系統。更特定而言,圖1例示根據一實施例之計算系統100的方塊圖。系統100包括一或多 個代理102-1至102-M(在本文中共同的被稱為「數個代理102」或更一般地「代理102」)。在一實施例中,代理102中之一或多者為計算系統之組件,該計算系統諸如參照圖1至圖9所論述之計算系統。
如圖1中所例示,代理102經由網路組構104通訊。在一實施例中,網路組構104包括允許各種代理(諸如計算裝置)通訊資料的電腦網路。在一實施例中,網路組構104包括一或多個互連件(或互連網路),該一或多個互連件經由串列(例如,點對點)鏈路及/或共享通訊網路(該共享通訊網路在一實施例中經組配為環形)通訊。每一鏈路可包括一或多個通道。例如,一些實施例促進鏈路上的組件除錯或驗證,該等鏈路允許與全緩衝雙直列記憶體模組(FBD)通訊,例中,其中FBD鏈路為用於將記憶體模組耦接至主機控制器裝置(諸如處理器或記憶體集線器)之串列鏈路。自FBD通道主機傳輸除錯資訊,使得藉由通道訊務追蹤擷取工具(諸如一或多個邏輯分析器)沿通道觀察除錯資訊。
在一實施例中,系統100支援分層協定方案,該分層協定方案包括實體層、鏈路層、選路層、傳送層及/或協定層。組構104進一步促進資料(例如,呈封包形式)自用於點對點網路或共享網路之一協定(例如,快取處理器或快取知覺記憶體控制器)至另一協定之傳輸。另外,在一些實施例中,網路組構104提供擁護一或多個快取記憶體同調協定的通訊。
此外,如由圖1中之箭頭方向所示,代理102可經 由網路組構104傳輸且/或接收資料。因此,一些代理利用單向鏈路,而其他代理利用雙向鏈路來通訊。例如,一或多個代理(諸如代理102-M)傳輸資料(例如,經由單向鏈路106),其他代理(諸如代理102-2)接收資料(例如,經由單向鏈路108),而一些代理(諸如代理102-1)傳輸且接收資料(例如,經由雙向鏈路110)。
另外,代理102中至少一者為本地代理,且代理102中一或多者為請求或快取代理。通常,請求/快取代理將請求發送至本地節點/代理以用於對記憶體位址之存取,對應「本地代理」與該記憶體位址相關聯。此外,在一實施例中,代理102中一或多者(針對代理102-1展示僅一者)可存取諸如記憶體120之記憶體(該記憶體可專用於代理或與其他代理共享)。在一些實施例中,代理102中每一者(或至少一者)耦接至記憶體120,該記憶體在與代理相同的晶粒上或代理以其他方式可存取該記憶體。另外,如圖1中所示,代理102包括用以支援用於OR鏈接匯流排之EDBI編碼操作的EDBI編碼器邏輯160,如本文所論述。
圖2為根據一實施例之計算系統200的方塊圖。系統200包括多個插座202-208(示出四個,但一些實施例可具有更多或更少的插座)。每一插座包括處理器。另外,系統200中之各種代理可包括邏輯160。儘管邏輯160僅展示於物品202及MC2/HA2中,但邏輯160可提供於系統200之其他代理中。此外,更多或更少的邏輯塊可取決於實行方案而存在於系統中。另外,每一插座經由點對點(PtP)鏈路或微分 互連件(諸如快速通道互連(QPI)、MIPI(行動產業處理器介面)等)耦接至其他插座。如關於圖1之網路組構104所論述,每一插座耦接至例如由多個雙直列記憶體模組(DIMM)形成的系統記憶體之區域部分,該等多個雙直列記憶體模組包括動態隨機存取記憶體(DRAM)。
在另一實施例中,網路組構經利用於任何系統單晶片(SoC或SOC)應用程式,利用定製或標準介面,諸如用於AMBA(先進微控制器匯流排架構)之ARM順應介面、OCP(開放核心通訊協定)、MIPI(行動產業處理器介面)、PCI(週邊組件互連)或PCIe(快速週邊組件互連)。
一些實施例在不對IP資源自身做出任何改變的情況下於以PC(個人電腦)為基礎的系統中使用允許異質資源之使用的技術,諸如AXI/OCP技術,該以PC為基礎的系統諸如以PCI為基礎的系統。實施例提供兩個極薄的硬體塊(本文中被稱為Yunit及墊片(shim)),該等硬體塊可用來將AXI/OCP IP插入自動產生的互連組構以產生PCI相容系統。在一實施例中,Yunit之第一(例如,北)介面連接至適配器塊,該適配器塊介接至PCI相容匯流排,該PCI相容匯流排諸如直接媒體介面(DMI)匯流排、PCI匯流排或高速週邊組件互連(PCIe)匯流排。第二(例如,南)介面直接連接至非PC互連件,諸如AXI/OCP互連件。在各種實行方案中,此匯流排可為OCP匯流排。
在一些實施例中,Yunit工具藉由將PCI組態週期翻譯成目標IP可理解的交易來實行PCI列舉。此單元亦執行 自可重新定位PCI位址至固定AXI/OCP位址之位址翻譯且反之亦然。Yunit可進一步實行排序機制以滿足生產者-消費者模型(例如,PCI生產者-消費者模型)。轉而,個別IP經由專用PCI墊片連接至互連件。每一墊片可實行用於對應IP之整個PCI標頭。Yunit將所有存取選路至PCI標頭且將裝置記憶空間選路至墊片。墊片消耗所有標頭讀取/寫入交易且將其他交易傳遞至IP。在一些實施例中,墊片亦實行用於IP之功率管理有關之特徵。
因此,實行Yunit的實施例採用分散式方式,而非為單石相容性塊。跨所有IP共用的功能性(例如,位址翻譯及排序)實行於Yunit中,而IP特定的功能性(諸如功率管理、錯誤處置等)實行於為該IP定製的墊片中。
以此方式,新IP可在具有最小變化的情況下增添至Yunit。例如,在一實行方案中,變化可藉由在位址重定向表中增添新項而發生。雖然墊片為IP特定的,但在一些實行方案中大量功能性(例如,多於90%)為跨所有IP共用的。此允許現有墊片針對新IP之快速重新組態。因此,一些實施例在無修改的情況下亦允許自動產生之互連組構之使用。在點對點匯流排架構中,設計互連組構可為挑戰性任務。以上所描述之Yunit方法在最小努力的情況下且在不需要對產業標準工具之任何修改的情況下將產業生態系統利用至PCI系統中。
如圖2中所示,每一插座耦接至記憶體控制器(MC)/本地代理(HA)(諸如MC0/HA0至MC3/HA3)。記憶體控 制器耦接至對應區域記憶體(標記為MEM0至MEM3),該對應區域記憶體可為系統記憶體(諸如圖7之記憶體712)之一部分。在一些實施例中,記憶體控制器(MC)/本地代理(HA)(諸如MC0/HA0至MC3/HA3)可與圖1之代理102-1相同或類似,且標記為MEM0至MEM3的記憶體可與本文參照任何圖所論述之記憶體裝置相同或類似。另外,在一實施例中,MEM0至MEM3可經組配來將資料映射同步為為例如主機及受控器。另外,系統200之一或多個組件在一些實施例中可包括於相同積體電路上。
此外,至少一實行方案(諸如圖2中所示)可與映射同步一起用於插座無膠組態。例如,分配給記憶體控制器(諸如MC0/HA0)的資料經由PtP鏈路映射同步至另一記憶體控制器(諸如MC3/HA3)。
用於組合匯流排之一些解決方案可包括:
(1)資料匯流排反轉(DBI),其為使用一額外線的匯流排編碼方案。DBI計算目前匯流排值與用以傳輸的下一資料值之間的漢明距離(DH)。若DH大於匯流排寬度之一半,則將額外線值設定為邏輯『1』,且將下一匯流排值設定為反轉的下一資料值。否則,將額外線設定為邏輯『0』,且將下一匯流排值設定為等於下一資料值;以及
(2)權重編碼(WC)計算下一資料值上的邏輯『1』之數目。若算得的數目大於匯流排寬度之一半,則將下一匯流排值設定為反轉的資料值。WC亦可使用額外線來指示匯流排值是否經反轉。
在一實施例中,EDBI編碼器邏輯160基於以下起作用:(a)EDBI邏輯160判定下一資料值是否將自有效變為「停駐」狀態。若如此,則EDBI邏輯考慮以下兩者:(1)目前匯流排值與用以傳輸的下一資料值之間的DH;以及(2)用以判定匯流排上的位元值之雙態觸變的下一資料值之權重(W);以及(b)否則,EDBI邏輯160類似於DBI編碼地執行。
對於自多個來源收集資料(例如,使用OR樹)的匯流排,在資料傳輸結束時執行資料停駐。例如,多個記憶體組可藉由OR樹耦接在一起(例如,在一鏈中,其中每一對記憶體組之輸出與邏輯OR閘組合且經饋送至下一級段以與鏈中之下一記憶體組之輸出進行邏輯OR操作)。在此實例(例如,為資料停駐提供全部零值)中,且其中在資料傳輸結束時執行資料停駐,諸如DBI或WC編碼技術之先前匯流排編碼方案可增加資料變遷活動,分別如圖3A及圖3B中所示。更特定而言,圖3A展示DBI編碼技術如何將位元變遷之數目自4增加至6,且圖3B例示WC編碼技術如何將位元變遷之數目自4增加至6。相反,即使在請求資料停駐時,EDBI亦可保證其編碼技術對於任何資料匯流排值降低(或維持)資料變遷活動之位準。
圖4例示根據一實施例之增強型資料匯流排反轉(EDBI)編碼器邏輯160的方塊圖。在一實施例中,假定停駐狀態為全部零。此外,本文所論述之技術可應用於(a)匯流排之所有位元或(b)藉由將匯流排分裂成個別群組來應用, 其中群組經單獨編碼。
如圖4中所例示,EDBI編碼器邏輯160使用額外線執行匯流排編碼(亦即,自n位元未編碼資料至(n+1)位元編碼後資料),此類似於習知DBI及WC(因此,EDBI邏輯不增添任何額外管理負擔)。若假定下一資料傳輸在資料停駐操作之後,則將命名為「旗標_停駐(flag_Parking)」的一位元旗標(或額外線)設定為1(或另一個值,取決於實行方案),且EDBI決策塊邏輯600考慮以下兩者:(1)目前匯流排值(Yt-1)與下一資料值(Xt)之間的DH;以及(2)下一資料值之權重(W)。否則,EDBI決策塊邏輯600在一實施例中以與DBI編碼技術類似的方式操作。
此外,如圖4中所示,未編碼資料經饋送至多工器402(例如直接饋送並且經由反向器404饋送)。邏輯600隨後判定選擇多工器402之哪一個輸入來饋送至正反器406且輸出為編碼後資料。
圖5例示根據一實施例之用以提供EDBI編碼技術之方法500的流程圖。在一實施例中,參照圖1至圖4及圖6至圖9所論述之各種組件可經利用來執行參照圖5所論述之操作中一或多者。在一實施例中,方法500實行於諸如圖1之EDBI編碼器邏輯1600之邏輯中。
參照圖5,在操作502處,判定旗標_停駐是否經斷言(例如,設定為『1』)。若如此,則在操作504處,將下一資料值(Xt)與目前匯流排值(Yt-1)之組合之權重(如邏輯XOR操作所示)加下一資料值(Xt)之權重與n(n為如圖4所示 之進入匯流排之寬度)相比。若此權重之組合大於n,則操作506選取下一匯流排值作為反轉的未編碼/進入資料,且額外線上的信號經斷言(例如,設定為邏輯『1』)。若組合不大於n,則操作508將下一匯流排值選取為等於反轉的未編碼/進入資料,且額外線上的信號經去斷言(例如,設定為邏輯『0』)。或者,若在操作502處,判定旗標_停駐經去斷言(例如,設定為『0』),則操作510判定與目前匯流排值(Yt-1)進行邏輯XOR操作的下一資料值(Xt)之權重是否大於n之一半。若如此,則方法500繼續操作506;否則,在操作510之後執行操作508。
圖6例示根據一實施例之EDBI決策塊邏輯600。如所例示,EDBI決策塊邏輯600包括用以在匯流排寬度之一半(0.5n)與下一資料值(Xt)之權重之間選擇(例如,基於旗標_停駐旗標之狀態的多工器602。多工器602之輸出隨後與同目前匯流排值(Yt-1)進行邏輯XOR操作的下一資料值(Xt)之權重組合(亦即,藉由加法器604增添至該權重)。加法器604之輸出藉由比較器606與n相比,且結果隨後藉由反向器(例如,在圖6中未示出但在圖4中標記為INV)反轉(在經饋送為用於圖4之多工器402之選擇信號之前)。
在一些實施例(例如,假定資料發送器藉由自停駐狀態開始來傳輸資料,隨後發送2叢發資料且返回至停駐狀態)中,所提議EDBI編碼技術在與WC及DBI編碼技術相比時達成較低位元變遷概率,例如,其中對4位元資料群組執行的WC或DBI可導致至約0.44的減少之位元變遷概率。 在以上提及之假定下,當完全不使用匯流排編碼方案時,位元變遷概率為約0.5。
此外,一些實施例能夠判定使用OR樹或菊鏈自多個來源收集資料的匯流排之終值。例如,EDBI邏輯160反轉位元以確保組合資料變遷活動盡可能低;而其他解決方案(諸如DBI或WC編碼技術)不考慮最終停駐狀態,例如,導致資料變遷活動之增加。因此,一些實施例降低與OR樹或菊鏈耦接的匯流排之功率消耗。繼而,所節省功率預算可延長包括此匯流排的計算系統之電池壽命且/或用來改良效能。
圖7例示計算系統700之實施例的方塊圖。圖1之代理102中一或多者可包含計算系統700中一或多個組件。另外,系統700之各種組件包括如圖7中所例示之邏輯160。然而,邏輯160可提供於系統700各處的位置中,包括或排除所例示之該等位置。例如,邏輯160可提供於記憶體712內部且提供在記憶體712之介面處,或其他塊處。因此,邏輯160可經置放在資料值需要經停駐的任何地方。計算系統700包括耦接至互連網路(或匯流排)704的一或多個中央處理單元(CPU)702(本文中共同地被稱為「數個處理器702」或更一般地「處理器702」)。參照圖1至圖6所論述之操作可藉由系統700之一或多個組件執行。
處理器702可為任何類型之處理器,諸如通用處理器、網路處理器(其處理經由電腦網路705通訊之資料)等(包括精簡指令集電腦(RISC)處理器或複雜指令集電腦 (CISC))。此外,處理器702可具有單核心設計或多核心設計。具有多核心設計之處理器702可在相同積體電路(IC)晶粒上整合不同類型之處理器核心。另外,具有多核心設計之處理器702可實行為對稱或不對稱的多個處理器。
處理器702包括一或多個快取記憶體,該一或多個快取記憶體在各種實施例中為私用的及/或共享的。通常,快取記憶體儲存對應於儲存在其他地方或較早計算的原始資料的資料。為減少記憶體存取潛時,一旦資料經儲存於快取記憶體中,可藉由存取快取複本而非預取或再計算原始資料來進行未來使用。快取記憶體可為任何類型之快取記憶體,此類1階(L1)快取記憶體、2階(L2)快取記憶體、3階(L3)快取記憶體、中階快取記憶體、末階快取記憶體(LLC)等,以儲存由系統700之一或多個組件利用的電子資料(例如,包括指令)。另外,此類快取記憶體可位於各種位置中(例如,在本文所論述之計算系統之其他組件內部)。
晶片集706可另外耦接至互連網路704。此外,晶片集706包括圖形記憶體控制集線器(GMCH)708。GMCH 708包括耦接至記憶體712的記憶體控制器710。記憶體712儲存資料,例如,包括由處理器702或處於與計算系統700之組件通訊中的任何其他裝置執行的指令序列。另外,在一實施例中,記憶體712包括一或多個依電性儲存(或記憶)裝置,諸如隨機存取記憶體(RAM)、動態RAM(DRAM)、同步DRAM(SDRAM)、靜態RAM(SRAM)等。亦可利用非依電性記憶體,諸如硬碟片。諸如多個處理器及/或多個系統記 憶體之額外裝置可耦接至互連網路704。
GMCH 708進一步包括耦接(例如,在一實施例中經由圖形加速器耦接)至顯示裝置716的圖形介面714。在一實施例中,圖形介面714經由加速圖形埠(AGP)或週邊組件互連(PCI)(或高速PCI(PCIe)介面)耦接至顯示裝置716。在一實施例中,顯示裝置716(諸如平面顯示器)經由例如信號轉換器耦接至圖形介面714,該信號轉換器將儲存於諸如視訊記憶體或系統記憶體(例如,記憶體712)之儲存裝置中的影像之數位表示變換成由顯示器716解譯並顯示的顯示信號。
如圖7中所示,集線器介面718將GMCH 708耦接至輸入/輸出控制集線器(ICH)720。ICH 720提供至輸入/輸出(I/O)裝置之介面,該等輸入/輸出(I/O)裝置耦接至計算系統700。ICH 720經由週邊橋接器(或控制器)724耦接至匯流排722,該週邊橋接器(或控制器)諸如符合PCIe規範的週邊組件互連(PCI)橋接器、通用串列匯流排(USB)控制器、I2C(介面至通訊)等。橋接器724提供處理器702與週邊裝置之間的資料路徑。亦可利用其他類型之拓撲。另外,多個匯流排可例如經由多個橋接器或控制器耦接至ICH 720。此外,匯流排722可包含其他類型及組態之匯流排系統。此外,在各種實施例中,耦接至ICH 720的其他週邊裝置可包括整合驅動電子學(IDE)或小型電腦系統介面(SCSI)硬驅動機、USB埠、I2C裝置、鍵盤、滑鼠、並列埠、串列埠、軟碟驅動機、數位輸出支援(例如,數位視訊介面(DVI))等。
匯流排722耦接至音訊裝置726、一或多個碟片驅動機728及網路配接器730(其在一實施例中為NIC)。在一實施例中,網路配接器730或耦接至匯流排722的其他裝置與晶片集706通訊。另外,在一些實施例中,各種組件(諸如網路配接器730)耦接至GMCH 708。另外,處理器702及GMCH 708可加以組合來形成單個晶片。在一實施例中,記憶體控制器710係提供於CPU 702中之一或多者中。此外,在一實施例中,GMCH 708及ICH 720組合成週邊控制集線器(PCH)。
另外,計算系統700包括依電性及/或非依電性記憶體(或儲存器)。例如,非依電性記憶體包括以下中之一或多者:唯讀記憶體(ROM)、可規劃ROM(PROM)、可抹除PROM(EPROM)、電氣EPROM(EEPROM)、碟片驅動機(例如,728)、軟碟片、光碟片ROM(CD-ROM)、數位多功能光碟(DVD)、快閃記憶體、磁光碟,或能夠儲存電子資料(例如,包括指令)的其他類型之非依電性機器可讀媒體。
在一實施例中,記憶體712包括以下中之一或多者:作業系統(O/S)732、應用程式734及/或裝置驅動器736。記憶體712亦可包括專用於記憶體對映I/O(MMIO)操作的區域。作為記憶體管理操作之部分,儲存於記憶體712中的程式及/或資料經調換至碟片驅動機728中。應用程式734執行(例如,在處理器702上)來與耦接至網路705的一或多個計算裝置通訊一或多個封包。在一實施例中,封包為藉由自至少一發送器傳輸至至少一接收器(例如,經由諸如網路 705之網路)的一或多個電氣信號編碼的一或多個符號及/或值之序列。例如,每一封包具有標頭,該標頭包括在選路及/或處理封包中利用的各種資訊,諸如來源位址、目的地位址、封包類型等。每一封包具有酬載,該酬載包括封包正經由電腦網路(諸如網路705)在各種計算裝置之間傳送的原始數據(或內容)。
在一實施例中,應用程式734利用O/S 732來例如經由裝置驅動器736與系統700之各種組件通訊。因此,裝置驅動器736包括網路配接器730特定的命令,以例如經由晶片集706提供O/S 732與網路配接器730或耦接至系統700的其他I/O裝置之間的通訊介面。
在一實施例中,O/S 732包括網路協定堆疊。協定堆疊通常涉及執行來處理經由網路705發送的封包的程序或程式之集合,其中封包符合指定協定。例如,TCP/IP(傳送控制協定/網際網路協定)封包係使用TCP/IP堆疊加以處理。裝置驅動器736指示記憶體712中將要例如經由協定堆疊處理的緩衝器。
網路705可包括任何類型之電腦網路。網路配接器730可進一步包括直接記憶體存取(DMA)引擎,該直接記憶體存取引擎將封包寫入至緩衝器(例如,儲存於記憶體712中),該等緩衝器經分配給可利用的描述符(例如,儲存於記憶體712中),以經由網路705傳輸且/或接收資料。另外,網路配接器730包括用以執行配接器有關之操作的網路配接器控制器邏輯(諸如一或多個可規劃處理器)。在一實施例 中,配接器控制器為MAC(媒體存取控制)組件。網路配接器730進一步包括記憶體,諸如任何類型之依電性/非依電性記憶體(例如,包括一或多個快取記憶體及/或參照記憶體712所論述之其他記憶體類型)。
圖8例示根據一實施例之以點對點(PtP)組態佈置的計算系統800。特定而言,圖8展示處理器、記憶體及輸入/輸出裝置係藉由若干點對點介面來互連的系統。參照圖1至圖7所論述之操作可藉由系統800之一或多個組件執行。
如圖8中所例示,系統800包括若干處理器,為清楚起見,僅展示其中兩個處理器802及處理器804。處理器802及804各自包括區域記憶體控制器集線器(MCH)806及808來允許與記憶體810及812通訊。記憶體810及/或812儲存各種資料,諸如參照圖8之記憶體812所論述之資料。如圖8中所示,處理器802及804(或系統800之其他組件,諸如晶片集820、I/O裝置843等)亦可包括一或多個快取記憶體,諸如參照圖1至圖7所論述之該等快取記憶體。
在一實施例中,處理器802及804可為參照圖8所論述之處理器802中之一者。處理器802及804可分別使用PtP介面電路816及818來經由點對點(PtP)介面814交換資料。另外,處理器802及804可各自使用點對點介面電路826、828、830及832來經由個別PtP介面822及824與晶片集820交換資料。晶片集820可進一步經由高效能圖形介面836例如使用PtP介面電路837來與高效能圖形電路834交換資料。
在至少一實施例中,邏輯160係提供於處理器802、804及/或晶片集820中之一或多者中。然而,其他實施例可存在於圖8之系統800內的其他電路、邏輯單元或裝置中。此外,其他實施例可貫穿圖8中所例示之若干個電路、邏輯單元或裝置來分佈。例如,系統800之各種組件包括圖1之邏輯160。然而,邏輯160可提供於系統800各處的位置中,包括或排除所例示之該等位置。
晶片集820使用PtP介面電路841來與匯流排840通訊。匯流排840可具有與其通訊之一或多個裝置,諸如匯流排橋接器842及I/O裝置843。經由匯流排844,匯流排橋接器842與其他裝置通訊,該等其他裝置諸如鍵盤/滑鼠845、通訊裝置846(諸如數據機、網路介面裝置或與電腦網路805通訊的其他通訊裝置)、音訊I/O裝置及/或資料儲存器裝置848。資料儲存裝置848儲存由處理器802及/或804執行的碼849。
在一些實施例中,本文所論述的組件中之一或多者可體現為系統單晶片(SOC)裝置。圖9例示根據一實施例之SOC封裝的方塊圖。如圖9中所例示,SOC 902包括一或多個中央處理單元(CPU)核心920、一或多個圖形處理器單元(GPU)核心930、輸入/輸出(I/O)介面940及記憶體控制器942。SOC封裝902之各種組件耦接至諸如本文中參照其他圖所論述之互連件或匯流排。另外,SOC封裝902可包括更多或更少的組件,諸如本文中參照其他圖所論述之組件。此外,SOC封裝920之每一組件可包括例如本文中參照其他 圖所論述之一或多個其他組件。在一實施例中,SOC封裝902(及其組件)係提供於一或多個積體電路(IC)晶粒上,該或該等晶粒例如係封裝於單個半導體裝置中。
如圖9中所例示,SOC封裝902經由記憶體控制器942耦接至記憶體960(其可與本文中參照其他圖所論述之記憶體類似或相同)。在一實施例中,記憶體960(或其部分)可整合於SOC封裝902上。
I/O介面940例如經由諸如本文中參照其他圖所論述之互連件及/或匯流排耦接至一或多個I/O裝置970。I/O裝置970包括鍵盤、滑鼠、觸控板、顯示器、影像/視訊擷取裝置(諸如攝影機或攝錄影機/視訊記錄器)、觸控式螢幕、揚聲器等中之一或多者。此外,在一實施例中,SOC封裝902包括/整合邏輯160。或者,邏輯160經提供於SOC封裝902外部(亦即,作為離散邏輯)。
以下實例係關於進一步實施例。實例1包括一種設備,該設備包含:接收器,其用以耦接至資料匯流排,該接收器用以接收進入資料;控制邏輯,其耦接至接收器,該控制邏輯用以判定資料匯流排上的下一資料值是否將要自有效值變遷至停駐狀態;以及編碼邏輯,其用以至少部分基於對匯流排上的下一資料值是否將要自有效值變遷至停駐狀態之判定來編碼進入資料。實例2包括實例1之設備,其中編碼邏輯用以至少部分基於以下兩者之比較來編碼進入資料:目前匯流排值與下一資料值之間的漢明距離,及下一資料值之權重。實例3包括實例1之設備,其中編碼邏 輯用以至少部分基於下一資料值之權重與匯流排之寬度之比較來引起下一資料值之反轉。實例4包括實例1之設備,其中進入資料出自多個來源。實例5包括實例4之設備,其中該等多個來源包含多個匯流排。實例6包括實例4之設備,其中該等多個來源係以菊鏈配置耦接。實例7包括實例4之設備,其中該等多個來源係以OR樹置耦接。實例8包括實例1之設備,其中編碼邏輯用以使用額外位元編碼來自該等多個匯流排的進入資料。實例9包括實例1之設備,其中編碼邏輯、控制邏輯、具有一或多個處理器核心之處理器及記憶體在同一整合式裝置上。
實例10包括一種方法,該方法包含:至少部分基於對匯流排上的下一資料值是否將要自有效值變遷至停駐狀態之判定來編碼匯流排上的進入資料。實例11包括實例10之方法,其進一步包含至少部分基於以下兩者之比較來編碼進入資料:目前匯流排值與下一資料值之間的漢明距離,及下一資料值之權重。實例12包括實例10之方法,其進一步包含至少部分基於下一資料值之權重與匯流排之寬度之比較來引起下一資料值之反轉。實例13包括實例10之方法,其中進入資料出自多個來源。實例14包括實例13之方法,其中該等多個來源包含多個匯流排。實例15包括實例13之方法,其中該等多個來源係以菊鏈配置耦接。實例16包括實例13之方法,其中該等多個來源係以OR樹配置耦接。實例17包括實例10之方法,其進一步包含使用額外位元編碼來自該等多個匯流排的進入資料。
實例18包括一種系統,該系統包含:顯示裝置;處理器,其耦接至顯示裝置以使顯示裝置顯示儲存於記憶體中的一或多個影像;邏輯,其用以至少部分基於對匯流排上的下一資料值是否將要自有效值變遷至停駐狀態之判定來編碼匯流排上的進入資料,該匯流排耦接至處理器。實例19包括實例18之系統,其中邏輯用以至少部分基於以下兩者之比較來編碼進入資料:目前匯流排值與下一資料值之間的漢明距離,及下一資料值之權重。實例20包括實例18之系統,其中邏輯用以至少部分基於下一資料值之權重與匯流排之寬度之比較來引起下一資料值之反轉。實例21包括實例18之系統,其中進入資料出自多個來源。實例22包括實例21之系統,其中該等多個來源包含多個匯流排。實例23包括實例21之系統,其中該等多個來源係以菊鏈配置耦接。實例24包括實例21之系統,其中該等多個來源係以OR樹配置耦接。實例25包括實例18之系統,其中邏輯用以使用額外位元編碼來自該等多個匯流排的進入資料。
實例26包括一種設備,該設備包含用以執行如在任何前述實例中闡述之方法的構件。
實例27包括一種機器可讀儲存器,該機器可讀儲存器包括機器可讀指令,該等機器可讀指令在經執行時用以實行方法或實現如在任何前述實例中闡述之設備。
在各種實施例中,本文例如參照圖1至圖9所論述之操作可實行為硬體(例如,電路)、軟體、韌體、微碼或上述各者之組合,該硬體、軟體、韌體、微碼或上述各者之 組合可提供為電腦程式產品,例如包括有形(例如,非暫時性)機器可讀或(例如,非暫時性)電腦可讀媒體,該有形(例如,非暫時性)機器可讀或(例如,非暫時性)電腦可讀媒體上儲存有用以程式化電腦來執行本文所論述之處理之指令(或軟體程序)。另外,「邏輯」一詞可包括例如軟體、硬體,或軟體及硬體之組合。機器可讀媒體可包括諸如參照圖1至圖9所論述之彼等儲存裝置。另外,此電腦可讀媒體可作為電腦程式產品加以下載,其中該程式可藉由載波或其他傳播媒體中的資料信號經由通訊鏈路(例如,匯流排、數據機或網路連接)自遠端電腦(例如,伺服器)傳送至請求電腦(例如,客戶端)。
在說明書中對「一個實施例」或「一實施例」之引用意味結合實施例所描述之特定特徵、結構或特性可包括於至少一實行方案中。本說明書中多處出現之片語「在一個實施例中」可能或可能並非全部涉及同一實施例。
另外,在描述及申請專利範圍中,可使用「耦接」及「連接」等詞以及其衍生詞。在一些實施例中,「連接」可用來指示兩個或兩個以上的元件處於彼此直接實體接觸或電氣接觸狀態中。「耦接」可意味,兩個或兩個以上元件處於直接實體接觸或電接觸狀態中。然而,「耦接」亦可意味兩個或兩個以上元件可能並未處於彼此直接接觸狀態中,但可能仍彼此協作或互相作用。
因而,儘管已用特定針對結構特徵及/或方法動作之語言來描述實施例,但是應理解的是,所請求標的可 能不限於所描述之具體特徵或動作。相反,揭示該等具體特徵及動作來作為實行所請求標的之範例形式。
160‧‧‧EDBI編碼器邏輯/邏輯
402‧‧‧多工器
404‧‧‧反向器
406‧‧‧正反器
600‧‧‧EDBI決策塊邏輯/邏輯

Claims (25)

  1. 一種設備,其包含:一接收器,其係耦接至一資料匯流排,該接收器用以接收進入資料;控制邏輯,其耦接至該接收器,該控制邏輯用以判定該資料匯流排上的一下一資料值是否將要自一有效值變遷至一停駐狀態;以及編碼邏輯,其用以至少部分基於對該匯流排上的該下一資料值是否將要自該有效值變遷至該停駐狀態之該判定來編碼該進入資料。
  2. 如請求項1之設備,其中該編碼邏輯用以至少部分基於以下兩者之比較來編碼該進入資料:一目前匯流排值與該下一資料值之間的一漢明距離,及該下一資料值之一權重。
  3. 如請求項1之設備,其中該編碼邏輯用以至少部分基於該下一資料值之一權重與該匯流排之一寬度之比較來引起該下一資料值之一反轉。
  4. 如請求項1之設備,其中該進入資料出自多個來源。
  5. 如請求項4之設備,其中該等多個來源係包含多個匯流排。
  6. 如請求項4之設備,其中該等多個來源係以一菊鏈配置耦接。
  7. 如請求項4之設備,其中該等多個來源係以一OR樹配置 耦接。
  8. 如請求項1之設備,其中該編碼邏輯用以使用一額外位元編碼來自該等多個匯流排的該進入資料。
  9. 如請求項1之設備,其中該編碼邏輯、該控制邏輯、具有一或多個處理器核心之一處理器及記憶體在同一整合式裝置上。
  10. 一種方法,其包含:至少部分基於對一匯流排上的一下一資料值是否將要自一有效值變遷至一停駐狀態之一判定來編碼該匯流排上的進入資料。
  11. 如請求項10之方法,其進一步包含至少部分基於以下兩者之比較來編碼該進入資料:一目前匯流排值與該下一資料值之間的一漢明距離,及該下一資料值之一權重。
  12. 如請求項10之方法,其進一步包含至少部分基於該下一資料值之一權重與該匯流排之一寬度之比較來引起該下一資料值之一反轉。
  13. 如請求項10之方法,其中該進入資料出自多個來源。
  14. 如請求項13之方法,其中該等多個來源包含多個匯流排。
  15. 如請求項13之方法,其中該等多個來源係以一菊鏈配置耦接。
  16. 如請求項13之方法,其中該等多個來源係以一OR樹配置耦接。
  17. 如請求項10之方法,其進一步包含使用一額外位元編碼 來自該等多個匯流排的該進入資料。
  18. 一種系統,其包含:一顯示裝置;一處理器,其耦接至該顯示裝置以使該顯示裝置顯示儲存於記憶體中的一或多個影像;邏輯,其用以至少部分基於對一耦接至該處理器之匯流排上的一下一資料值是否將要自一有效值變遷至一停駐狀態之一判定來編碼該匯流排上的進入資料。
  19. 如請求項18之系統,其中該邏輯用以至少部分基於以下兩者之比較來編碼該進入資料:一目前匯流排值與該下一資料值之間的一漢明距離,及該下一資料值之一權重。
  20. 如請求項18之系統,其中該邏輯用以至少部分基於該下一資料值之一權重與該匯流排之一寬度之比較來引起該下一資料值之一反轉。
  21. 如請求項18之系統,其中該進入資料出自多個來源。
  22. 如請求項21之系統,其中該等多個來源包含多個匯流排。
  23. 如請求項21之系統,其中該等多個來源係以一菊鏈配置耦接。
  24. 如請求項21之系統,其中該等多個來源係以一OR樹配置耦接。
  25. 如請求項18之系統,其中該邏輯使用一額外位元編碼來自該等多個匯流排的該進入資料。
TW104136029A 2014-12-15 2015-11-02 用於or鍊接匯流排之增強型資料匯流排反轉編碼技術 TW201633171A (zh)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
US14/569,985 US20160173134A1 (en) 2014-12-15 2014-12-15 Enhanced Data Bus Invert Encoding for OR Chained Buses

Publications (1)

Publication Number Publication Date
TW201633171A true TW201633171A (zh) 2016-09-16

Family

ID=54703784

Family Applications (1)

Application Number Title Priority Date Filing Date
TW104136029A TW201633171A (zh) 2014-12-15 2015-11-02 用於or鍊接匯流排之增強型資料匯流排反轉編碼技術

Country Status (6)

Country Link
US (1) US20160173134A1 (zh)
EP (1) EP3037976B1 (zh)
JP (1) JP6171210B2 (zh)
KR (1) KR101887126B1 (zh)
CN (1) CN105740195B (zh)
TW (1) TW201633171A (zh)

Families Citing this family (15)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9703620B1 (en) * 2016-01-07 2017-07-11 Lenovo Enterprise Solutions (Singapore) PTE., LTD. Locating lane fault in multiple-lane bus
US10373657B2 (en) * 2016-08-10 2019-08-06 Micron Technology, Inc. Semiconductor layered device with data bus
US10290289B2 (en) 2017-04-01 2019-05-14 Intel Corporation Adaptive multibit bus for energy optimization
KR20190029227A (ko) * 2017-09-12 2019-03-20 에스케이하이닉스 주식회사 데이터 전송 회로, 이를 이용하는 반도체 장치 및 반도체 시스템
US11159153B2 (en) 2018-03-29 2021-10-26 Nvidia Corp. Data bus inversion (DBI) on pulse amplitude modulation (PAM) and reducing coupling and power noise on PAM-4 I/O
US10657094B2 (en) 2018-03-29 2020-05-19 Nvidia Corp. Relaxed 433 encoding to reduce coupling and power noise on PAM-4 data buses
US10599606B2 (en) 2018-03-29 2020-03-24 Nvidia Corp. 424 encoding schemes to reduce coupling and power noise on PAM-4 data buses
US11966348B2 (en) 2019-01-28 2024-04-23 Nvidia Corp. Reducing coupling and power noise on PAM-4 I/O interface
US10623200B2 (en) * 2018-07-20 2020-04-14 Nvidia Corp. Bus-invert coding with restricted hamming distance for multi-byte interfaces
CN111507463B (zh) * 2019-01-30 2023-06-20 芯立嘉集成电路(杭州)有限公司 神经形态的符码处理器及操作所述符码处理器的方法
KR20210063011A (ko) 2019-11-22 2021-06-01 홍익대학교 산학협력단 저전력 투-버스트 데이터 전송을 위한 or-네트워크 버스 인코딩 장치 및 방법
US11588726B2 (en) * 2020-07-08 2023-02-21 OpenVPN, Inc Augmented routing of data
US11720516B2 (en) 2021-08-15 2023-08-08 Apple Inc. Methods for data bus inversion
US11836107B2 (en) 2022-03-01 2023-12-05 Apple Inc. Power consumption control based on random bus inversion
US12132590B2 (en) 2022-03-18 2024-10-29 Nvidia, Corp. Hardware-efficient PAM-3 encoder and decoder

Family Cites Families (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR0167235B1 (ko) * 1995-03-28 1999-02-01 문정환 메모리의 데이타 전송장치
EP0834134B1 (en) * 1995-06-07 2005-02-16 Samsung Electronics Co., Ltd. Delay reduction in transfer of buffered data between two mutually asynchronous buses
US6577687B2 (en) * 1998-12-23 2003-06-10 Maxtor Corporation Method for transmitting data over a data bus with minimized digital inter-symbol interference
US7616133B2 (en) * 2008-01-16 2009-11-10 Micron Technology, Inc. Data bus inversion apparatus, systems, and methods
US8498344B2 (en) * 2008-06-20 2013-07-30 Rambus Inc. Frequency responsive bus coding
JP5575237B2 (ja) * 2009-07-13 2014-08-20 ラムバス・インコーポレーテッド 組み合わせデータマスクおよびデータバス反転を用いたデータ符号化
US8930647B1 (en) * 2011-04-06 2015-01-06 P4tents1, LLC Multiple class memory systems
US8706958B2 (en) * 2011-09-01 2014-04-22 Thomas Hein Data mask encoding in data bit inversion scheme
US8909840B2 (en) 2011-12-19 2014-12-09 Advanced Micro Devices, Inc. Data bus inversion coding

Also Published As

Publication number Publication date
JP2016122435A (ja) 2016-07-07
KR101887126B1 (ko) 2018-08-09
EP3037976A1 (en) 2016-06-29
US20160173134A1 (en) 2016-06-16
CN105740195B (zh) 2020-04-21
EP3037976B1 (en) 2018-01-03
CN105740195A (zh) 2016-07-06
KR20160072772A (ko) 2016-06-23
JP6171210B2 (ja) 2017-08-02

Similar Documents

Publication Publication Date Title
TW201633171A (zh) 用於or鍊接匯流排之增強型資料匯流排反轉編碼技術
US20190303003A1 (en) METHOD AND APPARATUS TO ENABLE INDIVIDUAL NON VOLATILE MEMORY EXPRESS (NVMe) INPUT/OUTPUT (IO) QUEUES ON DIFFERING NETWORK ADDRESSES OF AN NVMe CONTROLLER
CN117795495A (zh) 通过图形处理单元的网络接口的直接存储器写入
US8225069B2 (en) Control of on-die system fabric blocks
US11709774B2 (en) Data consistency and durability over distributed persistent memory systems
US11880710B2 (en) Adaptive data shipment based on burden functions
EP4235441A1 (en) System, method and apparatus for peer-to-peer communication
KR101845465B1 (ko) 듀얼 전압 데이터 전송을 이용한 메시 성능 향상
US20220043475A1 (en) Access to multiple timing domains
JP6092351B2 (ja) クロスダイ・インタフェース・スヌープ又はグローバル観測メッセージの順序付け
US20150058524A1 (en) Bimodal functionality between coherent link and memory expansion
US9489333B2 (en) Adaptive termination scheme for low power high speed bus
Klilou et al. Performance optimization of high-speed Interconnect Serial RapidIO for onboard processing
WO2020087275A1 (zh) 大数据运算加速系统执行运算的方法
Phadke et al. A Novel Bus Controller For Advanced Microcontroller Bus Architecture
TWI721989B (zh) 共享網目技術
CN116561036A (zh) 数据访问控制方法、装置、设备及存储介质
WO2020087278A1 (zh) 大数据运算加速系统及方法
Wu et al. A high-speed and low-power synchronous and asynchronous packaging circuit based on standard gates under four-phase dual-rail protocol