TWI653536B - 用於調整最佳化參數以自訂用於共用匯流排上目標晶片之信號眼之方法、系統及電腦程式產品 - Google Patents

用於調整最佳化參數以自訂用於共用匯流排上目標晶片之信號眼之方法、系統及電腦程式產品 Download PDF

Info

Publication number
TWI653536B
TWI653536B TW105121637A TW105121637A TWI653536B TW I653536 B TWI653536 B TW I653536B TW 105121637 A TW105121637 A TW 105121637A TW 105121637 A TW105121637 A TW 105121637A TW I653536 B TWI653536 B TW I653536B
Authority
TW
Taiwan
Prior art keywords
driver
coupled
target wafer
wafers
common
Prior art date
Application number
TW105121637A
Other languages
English (en)
Other versions
TW201717038A (zh
Inventor
藍A 伯奇
班哲明A 法克斯
威斯利D 馬汀
喬治R 四世 賽特斯
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
Priority claimed from US14/793,985 external-priority patent/US10114788B2/en
Priority claimed from US14/793,860 external-priority patent/US10423545B2/en
Priority claimed from US14/794,041 external-priority patent/US10241937B2/en
Application filed by 美商萬國商業機器公司 filed Critical 美商萬國商業機器公司
Publication of TW201717038A publication Critical patent/TW201717038A/zh
Application granted granted Critical
Publication of TWI653536B publication Critical patent/TWI653536B/zh

Links

Landscapes

  • Logic Circuits (AREA)
  • Dram (AREA)

Abstract

本發明之實施例自耦接至一共用匯流排之多個晶片當中識別一目標晶片並自訂用於該特定晶片之一最佳化參數。換言之,於在一共用匯流排上之僅一個晶片(或晶片之一子集)為預定目標之一通信系統中,該系統可自訂用於該匯流排上之該目標晶片之特定位置的一最佳化參數。在接收到意欲用於一不同晶片之新資料時,亦即,該目標晶片改變時,該系統可基於該匯流排上之新的目標晶片之位置而動態地改變該參數。

Description

用於調整最佳化參數以自訂用於共用匯流排上目標晶片之信號眼之方法、系統及電腦程式產品
本發明係關於調整一信號眼,且更特定言之係關於在識別耦接至由多個晶片共用之匯流排之一目標晶片後便調整該信號眼。
當設計傳統DDR3飛控網(fly-by net)時,諸如驅動器之I/O阻抗及轉換速率的控制設定係取決於DRAM模組距驅動器之距離而設定。大體而言,對於飛控網上之增加數目之負載,驅動器阻抗經設定為較低且轉換速率經設定為較高。若DRAM模組過於接近(電力地)驅動器,則此等模組處之所接收信號可具有導致不正確鎖存之資料之不良信號眼。典型解決方案為添加驅動器與網上之第一DRAM模組之間的電長度,此情形使得DRAM模組之鏈自驅動器之視角顯現為更類似於單一負載。儘管此情形改良最接近於驅動器之DRAM模組處之信號品質,但額外跡線長度在信號沿網傳播時引起信號中之更多衰減。因此,網上之最後DRAM模組可接收到在接收器臨限值以下之降級信號眼。隨著資料傳輸速率增加,識別准許飛控網上之所有DRAM模組恰當地接收信號的合適之控制設定變成困難(即使並非不可能)之任務。
本發明之一項實施例為一種包括接收在共用匯流排上傳輸之資料的方法,其中複數個晶片耦接至共用匯流排。該方法亦包括評估所 接收資料以識別該複數個晶片中之至少一個目標晶片,其中該目標晶片為所接收資料之一預定接受者。方法包括基於目標晶片在共用匯流排上之位置調整耦接至共用匯流排的驅動器之控制設定,及使用具有經調整控制設定之驅動器在共用匯流排上傳輸所接收的資料。
本發明之另一實施例為一種包括以下各者之系統:驅動器、耦接至該驅動器之共用匯流排、沿著共用匯流排耦接至各別位置的複數個晶片,及組態邏輯。組態邏輯經組態以評估所接收資料以識別該複數個晶片中之至少一個目標晶片,其中該目標晶片為所接收資料之一預定接受者。邏輯亦經組態以在驅動器在共用匯流排上傳輸所接收資料之前基於目標晶片在共用匯流排上之位置而調整驅動器之控制設定。
本發明之另一實施例為一種用於通信系統之電腦程式產品,該電腦程式產品包括電腦可讀儲存媒體,該電腦可讀儲存媒體具有與其一起體現之電腦可讀程式碼。電腦可讀程式碼可由一或多個電腦處理器執行以:接收在共用匯流排上傳輸之資料,其中複數個晶片耦接至共用匯流排;及評估所接收資料以識別該複數個晶片中之至少一個目標晶片,其中目標晶片為所接收資料之預定接受者。此外,程式碼可執行以基於目標晶片在共用匯流排上之位置調整耦接至共用匯流排的驅動器之控制設定,及使用具有經調整控制設定之驅動器在共用匯流排上傳輸所接收的資料。
本發明之另一實施例為一種包括接收在共用匯流排上傳輸之資料的方法,其中複數個晶片耦接至共用匯流排。該方法亦包括評估所接收資料以識別該複數個晶片中之至少一個目標晶片,其中該目標晶片為所接收資料之預定接受者。方法包括基於目標晶片在共用匯流排上之位置而調整動態終端電阻器之電阻值,其中終端電阻器耦接至共用匯流排之第一末端且驅動器耦接至共用匯流排之與該第一末端對置 的第二末端。方法包括使用驅動器及經調整電阻值在共用匯流排上傳輸所接收資料。
本發明之另一實施例為一種包括以下各者之系統:共用匯流排驅動器、沿著共用匯流排耦接至各別位置的複數個晶片、耦接至共用匯流排之第一末端之驅動器、耦接至共用匯流排之第二末端的動態終端電阻器及組態邏輯。組態邏輯經組態以:評估所接收資料以識別該複數個晶片中之至少一個目標晶片,其中目標晶片為所接收資料之預定接受者;及在驅動器在共用匯流排上傳輸所接收資料之前基於目標晶片在共用匯流排上之位置調整終端電阻器之電阻值。
本發明之另一實施例為一種用於通信系統之電腦程式產品,該電腦程式產品包括電腦可讀儲存媒體,該電腦可讀儲存媒體具有與其一起體現之電腦可讀程式碼。電腦可讀程式碼可由一或多個電腦處理器執行以:接收在共用匯流排上傳輸的資料,其中複數個晶片耦接至共用匯流排;及評估所接收資料以識別該複數個晶片中之至少一個目標晶片,其中目標晶片為所接收資料之預定接受者。程式碼可執行以基於目標晶片在共用匯流排上之位置而調整動態終端電阻器之電阻值,其中終端電阻器耦接至共用匯流排之第一末端且驅動器耦接至共用匯流排的與第一末端對置之第二末端。程式碼可執行以使用驅動器及經調整電阻值在共用匯流排上傳輸所接收資料。
本發明之另一實施例為一種包括接收在共用匯流排上傳輸之資料的方法,其中複數個晶片及複數個動態電阻器耦接至共用匯流排。該方法亦包括評估所接收資料以識別該複數個晶片中之至少一個目標晶片,其中該目標晶片為所接收資料之預定接受者。方法包括:基於目標晶片在共用匯流排上之位置調整在最接近於目標晶片在共用匯流排上之位置的位置處耦接至共用匯流排的該複數個動態電阻器中之一動態電阻器之電阻值,及在動態電阻器處於經調整電阻值的同時使用 驅動器在共用匯流排上傳輸所接收資料。
本發明之另一實施例為一種包括以下各者之系統:共用匯流排、沿著共用匯流排耦接至各別位置之複數個晶片、耦接至共用匯流排之驅動器、耦接至共用匯流排之複數個動態電阻器,及組態邏輯。組態邏輯經組態以評估所接收資料以識別該複數個晶片中之至少一個目標晶片,其中該目標晶片為所接收資料之預定接受者。邏輯亦經組態以基於目標晶片在共用匯流排上之位置而調整在最接近於目標晶片在共用匯流排上之位置的位置處耦接至共用匯流排的該複數個動態電阻器中之一動態電阻器之電阻值。
本發明之另一實施例為一種用於通信系統之電腦程式產品,該電腦程式產品包括電腦可讀儲存媒體,該電腦可讀儲存媒體具有與其一起體現之電腦可讀程式碼。電腦可讀程式碼可由一或多個電腦處理器執行以接收在共用匯流排上傳輸之資料,其中複數個晶片及複數個動態電阻器耦接至共用匯流排。此外,程式碼可執行以評估所接收資料以識別該複數個晶片中之至少一個目標晶片,其中該目標晶片為所接收資料之預定接受者。程式碼可執行以:基於目標晶片在共用匯流排上之位置而調整在最接近於目標晶片在共用匯流排上之位置的位置處耦接至共用匯流排的該複數個動態電阻器中之一動態電阻器之電阻值,及在動態電阻器處於經調整電阻值的同時使用驅動器在共用匯流排上傳輸所接收資料。
100‧‧‧通信系統
105‧‧‧驅動器
110‧‧‧組態邏輯
115‧‧‧I/O阻抗/I/O阻抗值
120‧‧‧轉換速率/轉換速率值
125‧‧‧共用匯流排
130‧‧‧晶片
135‧‧‧終端電阻器
140‧‧‧狀態信號
200‧‧‧用於在識別共用匯流排上之目標晶片後調整驅動器控制設定之方法
300‧‧‧通信系統
305‧‧‧驅動器
310‧‧‧組態邏輯
315‧‧‧終端設定
320‧‧‧動態終端電阻器
325‧‧‧控制信號
400‧‧‧用於在識別出共用匯流排上之目標晶片後便調整動態終端電阻器之方法
500‧‧‧通信系統
505‧‧‧驅動器
510‧‧‧組態邏輯
515‧‧‧終端設定
520‧‧‧動態電阻器
525‧‧‧控制信號
600‧‧‧用於調整對應於共用匯流排上之目標晶片之動態電阻器的方法
700‧‧‧印刷電路板(PCB)
705‧‧‧記憶體控制器
710‧‧‧組態邏輯
715‧‧‧I/O阻抗
720‧‧‧轉換速率
725‧‧‧電位計設定
730‧‧‧電位計
735‧‧‧控制信號
735A‧‧‧控制信號
735B‧‧‧控制信號
740‧‧‧共用匯流排
740A‧‧‧第一部分
740B‧‧‧第二部分
745‧‧‧DRAM模組
750‧‧‧狀態信號/印刷電路板(PCB)
750A‧‧‧狀態信號
750B‧‧‧狀態信號
800‧‧‧資料結構/圖表
805‧‧‧列
810‧‧‧列
圖1說明根據本文中所描述之一項實施例的具有耦接至共用匯流排之多個晶片的通信系統。
圖2為根據本文中所描述之一項實施例的用於在識別共用匯流排上之目標晶片後便調整驅動器控制設定的流程圖。
圖3說明根據本文中所描述之一項實施例的具有耦接至共用匯流 排之多個晶片的通信系統。
圖4為根據本文中所描述之一項實施例的用於在識別共用匯流排上之目標晶片後便調整動態終端電阻器的流程圖。
圖5說明根據本文中所描述之一項實施例的具有耦接至共用匯流排之多個晶片及對應動態電阻器的通信系統。
圖6為根據本文中所描述之一項實施例的用於調整對應於共用匯流排上之目標晶片之動態電阻器的流程圖。
圖7A及圖7B說明根據本文中所描述之一項實施例之DRAM記憶體系統。
圖8說明根據本文中所描述之一項實施例的用於識別對應於目標DRAM的DRAM記憶體系統中之最佳化參數的資料結構。
為了促進理解,已使用相同參考數字在可能的情況下指明諸圖中共同的相同元件。預期到,一項實施例中揭示的元件可有利地在其他實施例上利用而不需特定敍述。
本發明之實施例識別共用匯流排上之目標晶片且接著最佳化用於特定晶片之參數,而非識別用於耦接至共用匯流排之所有晶片之最佳化參數以準確地接收所傳輸資料。換言之,在共用匯流排上之僅一個晶片(或晶片之一子集)為預定目標之通信系統中,該系統基於目標晶片在共用匯流排上之特定位置而自訂最佳化參數。在接收意欲用於不同晶片之新資料時,亦即,目標晶片改變時,系統可基於新的目標晶片在匯流排上之位置動態地改變最佳化參數。因此,即使當前最佳化參數導致在耦接至共用匯流排之其他晶片(亦即非目標晶片)處不滿足接收器臨限值的信號眼,但由於資料僅意欲用於目標晶片而無關緊要。
在一項實施例中,通信系統包括傳輸資料信號至耦接至多個半 導體晶片之共用匯流排上的驅動器。在一個實例中,晶片可為諸如DRAM記憶體模組或NAND快閃記憶體之記憶體。此外,共用匯流排可用於傳輸待儲存於記憶體中之命令/位址資料或資料資訊(例如,DQ信號)。在一項實施例中,通信系統可取決於哪一晶片為資料傳輸之預定目標而改變驅動器之I/O阻抗及/或其轉換速率(在本文中稱為「控制設定」)。若目標晶片為最接近於驅動器之晶片,則驅動器阻抗在轉換速率為500ps的情況下可設定成20歐姆。若目標晶片為共用匯流排上距驅動器最遠之晶片,則阻抗及轉換速率可分別改變至15歐姆及50ps。另外或替代地,通信系統可取決於晶片中之哪一者為用於資料傳輸之目標而動態地改變終端電阻。舉例而言,動態終端電阻器(例如,數位控制之電位計)可安置於共用匯流排之與耦接至驅動器之末端對置的末端上。取決於哪一晶片為目標,系統可改變終端電阻器之電阻值以最佳化目標晶片在共用匯流排上之位置處的信號眼。
在另一實施例中,通信系統可包括耦接至共用匯流排之各自對應於晶片中之一者的多個動態電阻器。當識別出目標晶片時,通信系統可將對應於目標晶片之動態電阻器之值設定成特定電阻值。此外,通信系統可變更其他動態電阻器之電阻值,使得在目標晶片處之信號眼得以改良。另外或替代地,系統可停用其他非目標晶片(例如,將晶片切換至Hi-Z模式)。通信系統可修改上文所論述的最佳化參數(例如,I/O阻抗、轉換速率、終端電阻器、耦接至每一晶片之動態電阻器,或啟動/停用動晶片之信號)之全部或其子集以最佳化目標晶片在共用匯流排上之位置處的信號品質。
圖1說明根據本文中所描述之一項實施例的具有耦接至共用匯流排125之多個晶片130的通信系統100。另外,系統100包括耦接至共用匯流排125之各別末端的驅動器105及終端電阻器135。系統100亦可包括用於選擇性地啟動及撤銷啟動晶片130(例如,將晶片130自Hi-Z模 式(非作用中)切換至低Z模式(作用中))的狀態信號140,但此並非係一要求。
在一項實施例中,通信系統100可為命令/位址資料或DQ信號自驅動器105傳輸至晶片130的記憶體系統(例如,DRAM或NAND快閃記憶體)。然而,本文中之實施例可用於任何通信系統100中,在該通信系統處,耦接至共用匯流排的僅一個晶片(或晶片之子集)為自驅動器105起的資料傳輸之預定目標。舉例而言,通信系統100可用於在封包意欲用於連接至匯流排之目標之子集時執行乙太網路通信以傳輸網路封包至不同目標(例如,晶片130)。
在一項實施例中,晶片130附接至共用匯流排125之不同位置,以使得晶片130距驅動器105及終端電阻器135距離不同。此等距離指共用匯流排125的將特定晶片130與驅動器105、終端電阻器135或另一晶片130分離之長度(例如,跡線長度)。儘管展示為直線,但共用匯流排125可具有任何數目個彎曲或曲線。因此,有可能的是共用匯流排125可具有如下配置:在用以比較驅動器105與晶片130之間的距離的直接路徑情況下,根據共用匯流排125之長度最接近於驅動器105的晶片130相較於另一晶片130可實際上距驅動器105更遠。
在一項實施例中,當傳輸資料傳輸時,驅動器105無差別地發送資料至所有晶片130。換言之,系統100不包括准許耦接至共用匯流排125之晶片130之僅子集接收資料傳輸的任何切換邏輯。實情為,在所有晶片130上接收資料傳輸。然而,由於晶片130在匯流排125上之不同位置,資料傳輸之信號品質(亦即,信號眼)針對晶片130發生變化。舉例而言,背反射及/或衰減可以不同方式影響在晶片130之各個位置處的資料傳輸。因此,在最接近驅動器105之晶片130處的資料傳輸之品質可不同於在距驅動器105最遠之晶片130處的資料傳輸之品質。此外,驅動器105傳輸資料傳輸所藉以的速度亦影響背反射及/或 衰減,藉此影響在耦接至晶片130之匯流排125之位置處的信號品質。
考慮沿著共用匯流排125的各個位置處之信號品質,系統100可嘗試平衡驅動器105中之控制設定及終端電阻器135,使得在匯流排125上的各個晶片位置處之信號眼對於每一晶片接收資料足夠。亦即,即使晶片130並非為資料傳輸之預定目標,但所有晶片130仍可接收並處理資料傳輸。然而,固定控制設定使得所有晶片130可接收資料傳輸可限制驅動器105可傳輸資料所藉以的速度。舉例而言,所有晶片130可能能夠準確接收在1600兆傳送/秒下之資料傳輸,但對於相同控制設定,若資料速率增加至2100兆傳送/秒,則晶片130的僅一部分可準確接收資料。通信系統100使用共用匯流排125上之所欲目標晶片130之位置動態地調整驅動器105之控制設定而非使用經設定使得所有晶片130可接收資料傳輸的靜態控制設定,即使如此進行意謂匯流排125上的晶片130中之一些不能準確接收資料傳輸。
驅動器105包括用於識別所接收資料傳輸之預定目標(亦即,一或多個特定晶片130)並相應地調整驅動器105之控制設定的組態邏輯110。組態邏輯110儲存驅動器105之I/O阻抗值115及轉換速率值120。驅動器105可自諸如意欲用於晶片130中之僅一者的主機處理器或記憶體控制器之上游源(未圖示)接收資料。組態邏輯110可處理所接收資料以識別晶片130中之哪一者為目標晶片。一旦識別出,組態邏輯110可參考內部或外部記憶體以識別對應於目標晶片之控制設定。組態邏輯110可根據預定義設定而更新驅動器105的I/O阻抗115或轉換速率120設定(或兩者)。以此方式,組態邏輯110最佳化驅動器105之一或多個控制設定(亦即,驅動器之I/O阻抗115或轉換速率120)以調整用於共用匯流排125上的目標晶片130之特定位置之資料傳輸之信號品質。
組態邏輯110可為韌體、硬體、軟體或其某一組合。此外,如展示為驅動器105之部分,在其他實施例中,組態邏輯110可定位於與驅 動器105分離之積體電路上,或與驅動器105分隔之控制器(例如,記憶體控制器)上。
圖2為說明根據本文中所描述之一項實施例的用於在識別共用匯流排上之目標晶片後調整驅動器控制設定之方法200的流程圖。方法200在區塊205處開始,在區塊205處,驅動器接收意欲用於耦接至共用匯流排之複數個晶片中之一者的資料。在一項實施例中,資料可意欲用於該複數個晶片中的僅一者。替代地,資料可意欲用於該複數個晶片之子集,例如四個晶片中的兩個。如上文所描述,資料可為用於特定記憶體晶片之命令/位址資料,或待儲存於晶片上之DQ資料。替代地,資料可為指定用於耦接至共用匯流排之處理器晶片或控制器晶片之乙太網路通信封包。
在區塊210處,組態邏輯使用所接收資料中之資訊自該複數個晶片中識別目標晶片。舉例而言,所接收資料可包括晶片數目或指定耦接至共用匯流排之晶片中之一者的識別符。替代地,所接收資料可包括組態邏輯使用以識別晶片之位址資料。舉例而言,不同位址區塊可經指派給晶片,及因此,藉由識別哪一區塊包括所接收資料中之位址,組態邏輯可識別目標晶片。在另一實例中,組態邏輯可評估用於識別封包之目的地(亦即目標晶片)的封包標頭。
在區塊215處,組態邏輯調整用於傳輸所接收資料至資料匯流排上之驅動器之轉換速率及/或I/O阻抗。舉例而言,組態邏輯可更新設定驅動器之I/O阻抗(例如,15歐姆、20歐姆、30歐姆等)及轉換速率(例如,50ps、100ps、500ps等)的內部暫存器。換言之,組態邏輯可回應於識別出目標晶片及其在共用匯流排上之位置而調整此等控制設定。
在一項實施例中,組態邏輯可在通信系統首次通電時執行測試或組態階段。組態邏輯可測試驅動器之I/O阻抗及轉換速率之不同之 可能組合並瞭解哪些組合引起晶片準確地接收測試資料及針對其之資料傳輸速率。舉例而言,組態邏輯可判定當使用15歐姆之I/O阻抗及500ps時,第一晶片準確接收以1600兆傳送/秒之速率傳輸的測試資料,但第二晶片未準確接收測試資料。實情為,第二晶片可需要20歐姆之阻抗及100ps以在該傳輸速率處準確接收資料。組態邏輯可針對多個不同資料傳輸速率(例如,1600、1800及2100兆傳送/秒)識別用於匯流排中之晶片之控制設定。此資訊可儲存在組態邏輯中之記憶體中,可接著在區塊215處參考該記憶體。
在另一實施例中,用於不同晶片之最佳化控制設定可在通信系統通電時預先載入組態邏輯中而非執行測試或校準階段。舉例而言,技術員可使用測試設備或模擬器來判定針對各種資料傳輸速率產生共用匯流排上的晶片位置中之每一者之最佳信號品質(亦即,最佳信號眼)的控制設定,並在通信系統運送至消費者之前將此等控制設定儲存至組態邏輯中。
在一項實施例中,控制設定可經設定用於一晶片群組而非用於每一個別晶片。舉例而言,系統100可包括呈圖7B中展示之分裂飛控拓撲(split fly-by)結構之多列晶片130,而非如圖1中所示之單列晶片130。控制設定可取決於目標晶片所在之列而設定。換言之,組態邏輯可具有用於每一列而非用於每一晶片之不同控制設定。因此,控制設定可為相同的而無關於列中之哪一晶片為目標晶片。
在區塊220處,驅動器在共用匯流排上傳輸所接收資料。因此,耦接至共用匯流排之晶片中之每一者接收由驅動器產生之信號,儘管此可為僅晶片之子集可準確解碼由信號表示之資料的狀況。舉例而言,資料傳輸之信號品質可能不足以准許晶片中之一或多者讀取數位資料。舉例而言,信號眼可在沿著共用匯流排的一些位置處關閉藉此禁止耦接至此等位置之晶片解碼資料傳輸信號。然而,只要預定目標 (或多個目標)可準確地識別資料傳輸中之數位資料,信號品質對於非目標晶片可太過差以致不能接收資料的事實無關緊要。
在區塊225處,組態邏輯判定是否自源接收到額外資料。若否,則方法200結束。然而,若接收到額外資料,則方法200返回至區塊210以判定用於新接收之資料的目標晶片。組態邏輯可基於新目標晶片調整控制設定(假定新目標晶片對應於不同於驅動器之當前控制設定的控制設定)。以此方式,方法200隨用於共用匯流排上所傳輸之資料的目標晶片改變而動態地調整驅動器之控制設定。
圖3說明根據本文中所描述之一項實施例之具有耦接至共用匯流排125之多個晶片130的通信系統300。系統300類似於圖1中之通信系統100,唯系統300包括動態終端電阻器320及控制信號325外。不同於靜態電阻器,動態終端電阻器320之電阻值可回應於控制信號325而改變。舉例而言,組態邏輯310可使用控制信號325來將動態終端電阻器320之電阻值自40歐姆改變至20歐姆,或反之亦然。
類似於圖1中,組態邏輯310可取決於哪一晶片130為目標晶片而調整驅動器305的I/O阻抗115及轉換速率120。另外,組態邏輯310包括設定動態終端電阻器320之電阻值的終端設定315。在一項實施例中,一旦目標晶片被識別出,組態邏輯310便判定對應於目標晶片之電阻器320之電阻值並使用終端設定315及控制信號325來動態地調整終端電阻器320之電阻值。舉例而言,邏輯310可在最接近驅動器305之晶片130為目標晶片時將終端電阻器320之電阻值設定成30歐姆,但在距驅動器305最遠之晶片130為目標晶片時將電阻值改變成15歐姆。
如圖所示,沿與共用匯流排125分離之通信鏈路傳輸控制信號325。因此,與在共用匯流排125上之資料相比,驅動器305可使用不同通信技術來傳輸控制信號325。因而,與用以在共用匯流排125上傳輸所接收資料的資料介面相比,驅動器305可使用不同資料介面來傳 輸控制信號325至終端電阻器320。與在共用匯流排125上傳輸資料信號所藉以的速度相比,驅動器305傳輸控制信號325所藉以的速度可相同或較慢。
在一項實施例中,組態邏輯310可動態地調整終端電阻器320而不需動態地調整驅動器310之控制設定,例如阻抗115及轉換速率120。舉例而言,彼等值可為固定的而不考慮那一晶片130為目標晶片,且組態邏輯310替代地隨目標晶片不同而使終端電阻器320之電阻值發生變化。然而,能夠基於識別目標晶片使驅動器305之控制設定及動態終端電阻器320兩者發生變化可係較佳的,此係由於此可能使得驅動器305能夠以高資料傳輸速度進行傳輸。然而,若其調整驅動器305之控制設定或終端電阻器320之電阻值中的僅一者,則製造通信系統300可係較便宜的。
系統100亦可包括用於選擇性地啟動及撤銷啟動晶片130(例如,將晶片130自Hi-Z模式(非作用中)切換至Low-Z模式(作用中))的狀態信號140,但此並非係一要求。舉例而言,組態邏輯310可撤銷啟動非目標晶片130同時使目標晶片啟動。如此進行可改良在目標晶片在共用匯流排125上之位置處所傳輸資料之信號品質。此外,儘管組態邏輯310經展示為安置於驅動器305上,但此並非係一要求。
圖4為說明根據本文中所描述之一項實施例的用於在識別出共用匯流排上之目標晶片後便調整動態終端電阻器之方法400的流程圖。區塊405及區塊410可與圖2中之區塊205及區塊210相同,且因此此處將不予以詳細地描述。
在區塊415處,組態邏輯基於目標晶片調整耦接至共用匯流排之末端的動態終端電阻器之至少一個電阻值。亦即,組態邏輯將動態終端電阻器改變至對應於目標晶片之電阻值。舉例而言,組態邏輯可在圖3中展示之通信系統300首次通電時執行測試或組態階段。組態邏輯 可測試終端電阻器之不同之可能電阻值以判定晶片中之那些準確地接收在一或多個資料傳輸速率下的測試資料。舉例而言,組態邏輯可在終端電阻器具有15歐姆之阻抗時判定第一晶片準確地接收以1600兆傳送/秒之速率傳輸的測試資料但第二晶片不準確接收該測試資料。實情為,第二晶片可需要20歐姆之終端電阻以準確接收在此資料傳輸速率下的資料。組態邏輯可針對不同資料傳輸速率(例如,1600、1800及2100兆傳送/秒)識別用於共用匯流排上的晶片中之每一者的終端電阻值。此資訊可儲存在組態邏輯中之記憶體中,可接著在區塊415處參考該記憶體。替代地,電阻值至晶片之映射可預先載入至組態邏輯中而非執行測試或校準階段。此外,如上文所論述,組態邏輯除在識別出目標晶片後便調整終端電阻以外亦可改變驅動器的I/O阻抗及/或轉換速率。
在一項實施例中,組態邏輯使用與共用匯流排125分離之通信鏈路以將終端電阻器調整至對應於目標晶片之電阻值。舉例而言,通信系統可包括分離跡線,該分離跡線將上面安置有組態邏輯之積體電路連接至動態終端電阻器。然而,在其他實施例中,若(例如)目標晶片具有至終端電阻器之用於調整其電阻的通信鏈路,則可係可能的是使用共用匯流排調整終端電阻器之值。
在區塊420處,驅動器用動態終端電阻器的新調整之電阻值在共用匯流排上傳輸接收器資料。在一項實施例中,共用匯流排上的非目標晶片中之一或多者處之信號之品質可在接收器臨限值以下。因此,此等晶片可忽略信號。然而,由於此等晶片並非為所傳輸資料之目標,因此此結果係可接受的。此外,若系統具有靜態終端電阻器,則藉由回應於識別出目標晶片(或多個晶片)而調整動態終端電阻器,傳輸資料速率可超過將為可能的傳輸資料速率,在該靜態終端電阻器處,電阻值在其一旦被設定(亦即一旦通信系統通電)便不改變。
在區塊425處,組態邏輯判定驅動器是否接收到待在共用匯流排上傳輸之額外資料。若否,則方法400結束。然而,若接收到額外資料,則方法400返回至區塊410以識別用於新資料的目標晶片。若資料係用於相同目標晶片,則組態邏輯不調整終端電阻器。此外,即使目標晶片確實改變,此舉仍未必意謂組態邏輯將調整終端電阻器之電阻值。亦即,耦接至共用匯流排之不同晶片可對應於相同電阻值。此外,組態邏輯可向匯流排上的晶片群組指派相同電阻值。舉例而言,最接近驅動器之三個晶片可對應於第一終端電阻值,接下來之三個晶片對應於第二終端電阻值,等等。因此,若新目標晶片在與先前目標晶片相同之群組內,則組態邏輯不調整終端電阻器之電阻值。
圖5說明根據本文中所描述之一項實施例的具有耦接至共用匯流排125的多個晶片130及對應動態電阻器520之通信系統500。系統500包括在共用匯流排125上傳輸資料至晶片130之驅動器505。如上,儘管所有晶片130接收信號(即使信號品質對於所有晶片過差而不能識別由信號表示之資料),但所傳輸資料可意欲用於晶片130之僅子集-亦即一或多個目標晶片。
系統500包括耦接至共用匯流排125之多個動態電阻器520。在一項實施例中,系統500包括用於耦接至共用匯流排125之晶片130中之每一者的各別動態電阻器520(或終端電阻器320)。亦即,每一晶片130對應於各別動態電阻器520,在該動態電阻器處,最後晶片130(亦即,距驅動器505最遠之晶片130)對應於終端電阻器320。因此,系統500包括相等數目個晶片130及動態電阻器(亦即,動態電阻器520及動態終端電阻器320)。
系統500包括用以調整動態電阻器320、520之電阻值的控制信號325、525。此等控制信號325、525中之每一者可對應於個別通信鏈路(例如,跡線),或控制信號325、525可在共用鏈路上傳輸。無論如 何,使用控制信號325、525,驅動器505可基於在共用匯流排125上傳輸之資料之當前目標個別地調整動態電阻器320、520之電阻值。
類似於在通信系統100及300中,組態邏輯510包括用於驅動器505之I/O阻抗115及轉換速率120的控制設定。然而,不同於系統100及300,組態邏輯510儲存用於多個動態電阻器(亦即,電阻器320及電阻器520)之多個終端設定515。在一項實施例中,組態邏輯510儲存用於晶片130中之每一者的終端設定515。取決於哪一晶片130為目標晶片,邏輯510可使用對應終端設定515以設定用於所有動態電阻器320、520之電阻值。換言之,用於電阻器320及電阻器520中之每一者的電阻值可取決於晶片130中之哪一者為目標而改變。然而,儘管組態邏輯510可取決於目標晶片而調整多個動態電阻器320、520,但在另一實施例中,邏輯510可僅改變直接對應於目標晶片之動態電阻器。舉例而言,驅動器505可使用狀態信號140以撤銷啟動所有非目標晶片130並使用控制信號325、525中之一者以調整耦接至共用匯流排125上之與目標晶片相同的位置之動態電阻器320、520(亦即,驅動器505不調整對應於非目標晶片之動態電阻器320、520)。舉例而言,若距驅動器505最遠之晶片130為目標晶片,則組態邏輯可調整僅動態終端電阻器320並使動態電阻器520之電阻值不改變。此外,驅動器505可使用狀態信號140撤銷啟動非目標晶片。
圖6為說明根據本文中所描述之一項實施例的用於調整對應於共用匯流排上之目標晶片之動態電阻器的方法600之流程圖。區塊605及區塊615可與圖2中之區塊205及210相同,且因此此處將不予以詳細地描述。
在區塊615處,組態邏輯調整耦接至目標晶片之動態電阻器之電阻值。在一項實施例中,邏輯調整最接近節點的動態電阻器之電阻值,目標晶片在該節點處耦接至共用匯流排。換言之,組態邏輯調整 對目標晶片在共用匯流排上之位置處的信號品質具有最大影響之動態電阻器之電阻值。在一項實施例中,動態電阻器及目標晶片耦接至共用匯流排上之相同位置。
在其他實施例中,組態邏輯基於判定用於資料傳輸之目標晶片而調整多個動態電阻器之電阻值。舉例而言,組態邏輯可隨著目標晶片改變而調整用於耦接至共用匯流排之所有動態電阻器(其可包括終端電阻器)的電阻值。可在測試/校準階段期間或使用預先載入資料儲存區期間判定動態電阻器之電阻值。
在區塊620處,組態邏輯撤銷啟動非目標晶片。在一個非限制性實例中,組態邏輯將非目標晶片設定為處於Hi-Z模式。然而,可使用任何撤銷啟動非目標晶片之方法。此外,在一些實施例中,方法600可省略此步驟,亦即非目標晶片可保持在作用中。
在區塊625處,驅動器在共用匯流排625上傳輸所接收資料。在一項實施例中,在共用匯流排上之非目標晶片中之一或多者處的信號之品質可在接收器臨限值以下。因此,此等晶片可忽略信號。然而,由於其並非為用於所傳輸資料之目標,因此此結果係可接受的。此外,若系統具有僅靜態電阻器或僅動態終端電阻器,則藉由回應於識別出目標晶片而調整動態電阻器中之一或多者,傳輸資料速率可超過將為可能的傳輸資料速率。
在區塊630處,組態邏輯判定驅動器是否接收到待在共用匯流排上傳輸之額外資料。若否,則方法600結束。然而,若接收到額外資料,則方法600返回至區塊610以識別用於新資料的目標晶片。若資料係用於相同目標晶片,則組態邏輯不調整終端電阻器。此外,即使目標晶片確實改變,此舉未必意謂組態邏輯將調整動態電阻器之電阻值。亦即,耦接至共用匯流排之不同晶片可對應於動態電阻器之相同電阻值。
圖7A及圖7B說明根據本文中所描述之一項實施例的DRAM記憶體系統。具體而言,圖7A說明印刷電路板(PCB)700,其包括耦接至共用匯流排740之記憶體控制器705、DRAM模組745及電位計730。記憶體控制器705可包括用於傳輸所接收資料信號至共用匯流排740上之驅動器(未圖示)。然而,在其他實施例中,驅動器可與記憶體控制器705(例如,分離緩衝器)分離。在一項實施例中,記憶體控制器705及DRAM模組745中之每一者各自為分離之積體電路或晶片。此外,電位計630亦可為分離組件或可整合至DRAM模組745中。
記憶體控制器705包括組態邏輯710,其可儲存用於驅動所接收資料至匯流排740上之控制設定以及用於調整電位計730之電阻值。在此實例中,邏輯710包括取決於哪一DRAM模組745為目標模組而改變的I/O阻抗715及轉換速率720的值。舉例而言,共用匯流排740可用於傳輸命令/位址資料至DRAM模組745。然而,命令/位址資料可意欲用於DRAM模組745中之僅一者。因此,若非目標DRAM模組745接收資料傳輸,則模組745判定命令/位址指令意欲用於不同模組並忽略資料。因此,組態邏輯710可調整I/O阻抗715及轉換速率720以最佳化目標DRAM模組745在共用匯流排740上之位置處的所傳輸信號之品質。其他DRAM模組745處之信號品質對於此等模組745可過差而不能解碼信號無關緊要,此係由於此等模組745並非為預定目標。
組態邏輯710亦包括用於基於識別出目標DRAM模組745而調整電位計730的電位計設定725。舉例而言,取決於哪一DRAM模組745為目標,組態邏輯710可改變所有電位計730上之電阻值。替代地,組態邏輯710可改變電位計730中之僅一者或一些上的電阻值。PCB 700亦包括組態邏輯710可使用以撤銷啟動非目標DRAM模組745的狀態信號750。儘管圖7A中之組態邏輯710每當目標晶片變化時可調整驅動器控制設定、電位計730及狀態信號750,但在其他實施例中,邏輯710 可調整僅此等參數之子集。
圖7B說明DRAM模組745以分裂飛控拓撲配置的PCB 750。共用匯流排分成兩個部分或分支:第一部分740A及第二部分740B。第一部分740A及第二部分740B係在第一末端處耦接至亦連接至記憶體控制器705的共同節點。然而,每一部分740A、740B之第二末端耦接至不同終端電阻器(例如,電位計730)。如在圖7A中之飛控拓撲中,記憶體控制器705同時傳輸所接收資料至兩個部分740A、740B上。表示在所有DRAM模組745處接收所傳輸資料之信號,但信號品質對於DRAM模組745中之一或多者可能過差而不能解調變信號並恢復資料。
如上,在沿著共用匯流排之部分740A、740B的DRAM模組745之不同位置處的信號品質根據I/O阻抗715、轉換速率720、電位計設定725及哪些模組745係在作用中/非作用中而發生變化。在識別出用於特定資料傳輸(例如,命令/位址指令)之目標DRAM模組745後,組態邏輯710便可調整I/O阻抗715、轉換速率720、電位計設定725及哪些模組745係在作用中/在非作用中以最佳化共用匯流排之耦接至目標DRAM模組745之位置處的信號品質。因此,本文中所描述的技術及實施例可適用於飛控拓撲及分裂飛控拓撲。此外,本文中之實施例亦可用以傳輸DQ資料至包括多個負載的記憶體系統中之目標DRAM模組。
圖8說明根據本文中所描述之一項實施例的用於識別對應於目標DRAM之DRAM記憶體系統中之最佳化參數的資料結構800。每當新的目標晶片經識別為用於命令/位址指令或用於DQ資料之接受者時,圖表800可由DRAM記憶體系統中之組態邏輯參考。此外,圖表800可在記憶體系統通電時在測試階段期間形成,或可預先載入至系統中。
圖表800在列805處列出動態終端電阻器之可能電阻值,並在列 810處列出I/O阻抗及轉換速率之可能組合。一旦識別出目標DRAM模組(例如,DRAM 01、DRAM 02等),組態邏輯可便查找彼模組之對應最佳化參數。舉例而言,若目標為DRAM 01,則組態邏輯將終端電阻器之電阻調整至15歐姆,將記憶體控制器(或緩衝器)之I/O阻抗調整至15歐姆,並將轉換速率調整至500ps。以此方式,記憶體系統經最佳化以傳輸資料至DRAM 01,即使如此進行可能意謂當在其他DRAM模組(例如,DRAM 02或DRAM 03)處接收時信號係在接收器臨限值以下。
此外,若記憶體系統包括對應於DRAM模組中之每一者的各別電位計,則圖表800可經擴展以包括用於此等電位計之值。另外,圖表800可包括用於圖7A及圖7B中所展示之狀態信號750之值以指示在傳輸資料至目標DRAM模組時哪些DRAM模組應被撤銷啟動。在一項實施例中,組態邏輯可維持用於記憶體系統可支援的資料傳輸速率中之每一者的不同圖表800,此係由於改變傳輸速率可改變用於DRAM模組中之每一者的最佳化參數。
在一項實施例中,圖表800可包括用於一群DRAM模組而非用於每一DRAM模組之最佳化參數,如圖所示。舉例而言,在分裂飛控拓撲中,圖表800可將相同最佳化參數用於共用匯流排之相同列中的所有DRAM模組。舉例而言,若DRAM 01、DRAM 02及DRAM 03全部在分裂飛控網之相同列上連接,則最佳化參數可係相同的。舉例而言,最佳化參數可確保該列之每一DRAM模組可準確地接收資料傳輸,即使彼情形意謂在共用匯流排上之不同列上的DRAM模組不可準確地接收資料傳輸。
本發明之態樣可採用完全硬體實施例、完全軟體實施例(包括韌體、常駐軟體、微碼,等等)或組合軟體與硬體態樣之實施例的形式,該等實施例在本文中皆統稱為「電路」、「模組」或「系統」。
本發明可為系統、方法及/或電腦程式產品。電腦程式產品可包括電腦可讀儲存媒體(或多個媒體),其上具有電腦可讀程式指令以使得處理器進行本發明之態樣。
電腦可讀儲存媒體可為有形器件,其可保留及儲存指令以供指令執行器件使用。電腦可讀儲存媒體可為(例如但不限於)電子儲存器件、磁性儲存器件、光學儲存器件、電磁儲存器件、半導體儲存器件或前述各者之任何合適組合。電腦可讀儲存媒體之非窮盡性清單包括以下各者:攜帶型電腦磁片、硬碟、隨機存取記憶體(RAM)、唯讀記憶體(ROM)、可擦除可程式化唯讀記憶體(EPROM或快閃記憶體)、靜態隨機存取記憶體(SRAM)、攜帶型緊密光碟唯讀記憶體(CD-ROM)、數位化通用光碟(DVD)、記憶棒、軟性磁碟、機械編碼器件(諸如上面記錄有指令之凹槽中之打孔卡片或凸起結構)及前述各者之任何合適組合。如本文中所使用,不將電腦可讀儲存媒體本身解釋為暫時信號,諸如無線電波或其他自由傳播之電磁波、經由波導或其他傳輸媒體傳播之電磁波(例如,經由光纖線纜傳遞之光脈衝),或經由電線傳輸之電信號。
本文中所描述之電腦可讀程式指令可自電腦可讀儲存媒體下載至各別計算/處理器件或經由網路(例如,網際網路、區域網路、廣域網路及/或無線網路)下載至外部電腦或外部儲存器件。網路可包含銅傳輸線纜、光學傳輸光纖、無線傳輸、路由器、防火牆、交換器、閘道器電腦及/或邊緣伺服器。每一計算/處理器件中之網路配接卡或網路介面自網路接收電腦可讀程式指令且轉遞電腦可讀程式指令以用於儲存於各別計算/處理器件內之電腦可讀儲存媒體中。
用於進行本發明之操作之電腦可讀程式指令可為以一或多種程式設計語言之任何組合撰寫之組譯程式指令、指令集合架構(ISA)指令、機器指令、機器相關指令、微碼、韌體指令、狀態設定資料或原 始程式碼或目標碼,該一或多種程式設計語言包括諸如Smalltalk、C++或其類似者之物件導向式程式設計語言,及諸如「C」程式設計語言或類似程式設計語言之習知程序程式設計語言。電腦可讀程式指令可完全在使用者電腦上執行,作為單獨套裝軟體部分在使用者之電腦上執行,部分在使用者之電腦上及部分在遠端電腦上執行或完全在遠端電腦或伺服器上執行。在後種情形中,遠端電腦可經由任一類型之網路(包括區域網路(LAN)或廣域網路(WAN))連接至使用者之電腦,或可(例如,經由使用網際網路服務提供者之網際網路)連接至外部電腦。在一些實施例中,電子電路(包括例如可程式化邏輯電路、場可程式化閘陣列(FPGA)或可程式化邏輯陣列(PLA))可藉由利用電腦可讀程式指令之狀態資訊來個人化電子電路而執行電腦可讀程式指令,以執行本發明之態樣。
本文中參考根據本發明之實施例的方法、裝置(系統)及電腦程式產品之流程圖說明及/或方塊圖來描述本發明之態樣。應理解,可藉由電腦可讀程式指令實施流程圖說明及/或方塊圖中之每一區塊,及流程圖說明及/或方塊圖中的區塊之組合。
可將此等電腦可讀程式指令提供至通用電腦、專用電腦或其他可程式化資料處理裝置之處理器以產生一機器,以使得經由該電腦或其他可程式化資料處理裝置之處理器執行之指令產生用於實施該或該等流程圖及/或方塊圖區塊中所指定之功能/動作之構件。亦可將此等電腦可讀程式指令儲存於電腦可讀儲存媒體中,其可指導電腦、可程式化資料處理裝置及/或其他器件以特定方式起作用,使得其中儲存有指令之電腦可讀儲存媒體包含製品,該製品包括實施在該或該等流程圖及/或方塊圖區塊中指定之功能/動作之態樣的指令。
電腦可讀程式指令亦可載入至電腦、其他可程式化資料處理裝置或其他器件上,以使一系列操作步驟在該電腦、其他可程式化裝置 或其他器件上執行以產生電腦實施程序,使得在該電腦、其他可程式化裝置或其他器件上執行之指令實施該或該等流程圖及/或方塊圖區塊中所指定之功能/動作。
諸圖中之流程圖及方塊圖說明根據本發明之各種實施例之系統、方法及電腦程式產品之可能實施之架構、功能性及操作。就此而言,流程圖或方塊圖中之每一區塊可表示模組、區段或指令之部分,其包含用於實施指定邏輯功能之一或多個可執行指令。在一些替代實施中,區塊中提到之功能可不按諸圖中所提到之次序發生。舉例而言,取決於所涉及的功能性,以連續方式展示的兩個區塊實際上可大體上同時執行,或該等區塊有時可以相反次序執行。亦將注意到,可藉由執行指定功能或動作或進行專用硬體及電腦指令之組合的基於專用硬體之系統實施方塊圖及/或流程圖說明之每一區塊,及方塊圖及/或流程圖說明中的區塊之組合。
雖然前述內容是針對本發明之實施例,但在不脫離本發明之基本範疇的情況下,可設計出本發明之其他及另外實施例,且由以下申請專利範圍判定本發明之範疇。

Claims (42)

  1. 一種方法,其包含:接收在一共用匯流排上傳輸之資料,其中複數個晶片耦接至該共用匯流排;評估該所接收資料以識別該複數個晶片中之至少一個目標晶片,其中該目標晶片為該所接收資料之一預定接受者;基於該目標晶片在該共用匯流排上之一位置而調整耦接至該共用匯流排的一驅動器之一控制設定,並基於該目標晶片在該共用匯流排上之一位置而調整一動態終端電阻器之一電阻值,並且通過在一耦接至一終端電阻器的通信鏈路上傳輸一控制信號,該控制信號位該終端電阻器提供該電阻值,並且其中該通信鏈路與該共用匯流排相獨立且隔離;及使用具有該調整之控制設定的該驅動器在該共用匯流排上傳輸該所接收資料。
  2. 如請求項1之方法,其中調整該驅動器之該控制設定進一步包含:基於該共用匯流排上之該目標晶片之該位置而調整該驅動器之一輸入/輸出(I/O)阻抗。
  3. 如請求項1之方法,其中調整一驅動器之該控制設定進一步包含:基於該目標晶片在該共用匯流排上之該位置而調整該驅動器之一轉換速率。
  4. 如請求項1之方法,其中該等晶片在不同位置處耦接至該共用匯流排,以使得該等晶片與該驅動器之間的沿著該共用匯流排之各別距離不同。
  5. 如請求項1之方法,其中該驅動器耦接至該共用匯流排之一第一末端,且一終端電阻器耦接至該共用匯流排之一第二末端。
  6. 如請求項5之方法,其中該等晶片中之每一者包含一DRAM記憶體模組。
  7. 如請求項1之方法,其進一步包含:評估該所接收資料以識別該複數個晶片中之至少一個非目標晶片;及在使用該驅動器在該共用匯流排上傳輸該所接收資料之前撤銷啟動該非目標晶片。
  8. 一種系統,其包含:一驅動器;一共用匯流排,其耦接至該驅動器;複數個晶片,其沿著該共用匯流排耦接至各別位置;及組態邏輯,其經組態以:評估所接收資料以識別該複數個晶片中之至少一個目標晶片,其中該目標晶片為該所接收資料之一預定接受者,且在該驅動器在該共用匯流排上傳輸該所接收資料之前基於該目標晶片在該共用匯流排上之一位置而調整該驅動器之一控制設定,並基於該目標晶片在該共用匯流排上之一位置而調整一動態終端電阻器之一電阻值,並且通過在一耦接至一終端電阻器的通信鏈路上傳輸一控制信號,該控制信號位該終端電阻器提供該電阻值,並且其中該通信鏈路與該共用匯流排相獨立且隔離。
  9. 如請求項8之系統,其中該控制設定為該驅動器之一I/O阻抗。
  10. 如請求項8之系統,其中該控制設定為該驅動器之轉換速率。
  11. 如請求項8之系統,其中該等晶片與該驅動器之間的沿著該共用 匯流排之各別距離不同。
  12. 如請求項8之系統,其進一步包含:一終端電阻器,其耦接至該共用匯流排之一第一末端,其中該驅動器耦接至該共用匯流排之一第二末端,且其中該等晶片中之每一者包含一DRAM記憶體模組。
  13. 如請求項8之系統,其中該組態邏輯經組態以:評估該所接收資料以識別該複數個晶片中之至少一個非目標晶片;及在該驅動器在該共用匯流排上傳輸該所接收資料之前撤銷啟動該非目標晶片。
  14. 一種用於一通信系統之電腦程式產品,該電腦程式產品包含:一電腦可讀儲存媒體,其具有與其一起體現的電腦可讀程式碼,該電腦可讀程式碼可由一或多個電腦處理器執行以實施請求項1至7之方法中之任一者。
  15. 一種方法,其包含:接收在一共用匯流排上傳輸之資料,其中複數個晶片耦接至該共用匯流排;評估該所接收資料以識別該複數個晶片中之至少一個目標晶片,其中該目標晶片為該所接收資料之一預定接受者;基於該目標晶片在該共用匯流排上之一位置而調整一動態終端電阻器之一電阻值,其中該終端電阻器耦接至該共用匯流排之一第一末端,且一驅動器耦接至該共用匯流排之與該第一末端對置的一第二末端,其中並且通過在一耦接至一終端電阻器的通信鏈路上傳輸一控制信號,該控制信號位該終端電阻器提供該電阻值,並且其中該通信鏈路與該共用匯流排相獨立且隔離;及 使用該驅動器及該調整之電阻值在該共用匯流排上傳輸該所接收資料。
  16. 如請求項15之方法,其中調整該終端電阻器之該電阻值進一步包含:在耦接至該終端電阻器之一通信鏈路上傳輸一控制信號,該控制信號提供該電阻值至該終端電阻器,且其中該通信鏈路與該共用匯流排分隔。
  17. 如請求項15之方法,其中該等晶片在不同位置處耦接至該共用匯流排,以使得該等晶片與該驅動器之間沿著該共用匯流排的各別距離不同。
  18. 如請求項15之方法,其中該等晶片中之每一者包含一DRAM記憶體模組。
  19. 如請求項15之方法,其進一步包含於在該共用匯流排上傳輸該所接收資料之後:接收在該共用匯流排上傳輸之新資料;評估該新的所接收資料以識別該複數個晶片中之一新目標晶片;基於該新目標晶片在該共用匯流排上之一位置而改變該終端電阻器之該電阻值;及使用該驅動器及該改變之電阻值在該共用匯流排上傳輸該新的所接收資料。
  20. 如請求項15之方法,其中該驅動器、共用匯流排、晶片及終端電阻器以一飛控拓撲及分裂飛控拓撲中的一者配置。
  21. 如請求項15之方法,其進一步包含:評估該所接收資料以識別該複數個晶片中之至少一個非目標晶片;及 在使用該驅動器在該共用匯流排上傳輸該所接收資料之前撤銷啟動該非目標晶片。
  22. 一種系統,其包含:一共用匯流排;複數個晶片,其沿著該共用匯流排耦接至各別位置;一驅動器,其耦接至該共用匯流排之一第一末端;一動態終端電阻器,其耦接至該共用匯流排之一第二末端;及組態邏輯,其經組態以:評估所接收資料以識別該複數個晶片中之至少一個目標晶片,其中該目標晶片為該所接收資料之一預定接受者,及在該驅動器在該共用匯流排上傳輸該所接收資料之前基於該目標晶片在該共用匯流排上之一位置而調整該終端電阻器之一電阻值。
  23. 如請求項22之系統,其進一步包含耦接至該組態邏輯及該終端電阻器之一通信鏈路,其中該通信鏈路與該共用匯流排分離,且其中該組態邏輯經組態以在該通信鏈路上傳輸控制信號以改變該終端電阻器之該電阻值。
  24. 如請求項22之系統,其中該等晶片在不同位置處耦接至該共用匯流排,以使得該等晶片與該驅動器之間沿著該共用匯流排的各別距離不同。
  25. 如請求項22之系統,其中該等晶片中之每一者包含一DRAM記憶體模組。
  26. 如請求項22之系統,其中該驅動器、共用匯流排、晶片及終端電阻器以一飛控拓撲及分裂飛控拓撲中的一者配置。
  27. 如請求項22之系統,其中該組態邏輯經組態以:評估該所接收資料以識別該複數個晶片中之至少一個非目標 晶片;及在該驅動器在該共用匯流排上傳輸該所接收資料之前撤銷啟動該非目標晶片。
  28. 一種用於一通信系統之電腦程式產品,該電腦程式產品包含:一電腦可讀儲存媒體,其具有與其一起體現的電腦可讀程式碼,該電腦可讀程式碼可由一或多個電腦處理器執行以實施請求項15至21之方法中之任一者。
  29. 一種方法,其包含:接收在一共用匯流排上傳輸之資料,其中複數個晶片及複數個動態電阻器耦接至該共用匯流排;評估該所接收資料以識別該複數個晶片中之至少一個目標晶片,其中該目標晶片為該所接收資料之一預定接受者;基於該目標晶片在該共用匯流排上之一位置調整在最接近於該目標晶片在該共用匯流排上之該位置的一位置處耦接至該共用匯流排的該複數個動態電阻器中之一動態電阻器之一電阻值;及在該動態電阻器係處於該調整之電阻值的同時使用一驅動器在該共用匯流排上傳輸該所接收資料。
  30. 如請求項29之方法,其中調整該動態電阻器之該電阻值進一步包含:在耦接至該動態電阻器之一通信鏈路上傳輸一控制信號,該控制信號提供該電阻值至該動態電阻器,且其中該通信鏈路與該共用匯流排分離。
  31. 如請求項29之方法,其中該複數個晶片及動態電阻器在不同位置處耦接至該共用匯流排,以使得該等晶片與該驅動器之間及該等動態電阻器與該驅動器之間沿著該共用匯流排的的各別距 離不同。
  32. 如請求項29之方法,其中該等晶片中之每一者包含一DRAM記憶體模組。
  33. 如請求項29之方法,其進一步包含:基於該目標晶片在該共用匯流排上之該位置而調整該複數個動態電阻器中之每一者的一各別電阻值,其中該等各別電阻值中之每一者被改變。
  34. 如請求項29之方法,其中該複數個動態電阻器中之至少一者為耦接至該共用匯流排之一第一末端的一終端電阻器,其中該驅動器耦接至該匯流排之與該第一末端對置的一第二末端。
  35. 如請求項29之方法,其進一步包含:評估該所接收資料以識別該複數個晶片中之至少一個非目標晶片;及在使用該驅動器在該共用匯流排上傳輸該所接收資料之前撤銷啟動該非目標晶片。
  36. 一種系統,其包含:一共用匯流排;複數個晶片,其沿著該共用匯流排耦接至各別位置;一驅動器,其耦接至該共用匯流排;複數個動態電阻器,其耦接至該共用匯流排;及組態邏輯,其經組態以:評估所接收資料以識別該複數個晶片中之至少一個目標晶片,其中該目標晶片為該所接收資料之一預定接受者,及基於該目標晶片在該共用匯流排上之一位置調整在最接近於該目標晶片在該共用匯流排上之該位置的一位置處耦接至該共用匯流排的該複數個動態電阻器中之一動態電阻器之一 電阻值。
  37. 如請求項36之系統,其進一步包含耦接至該組態邏輯及該複數個動態電阻器之至少一個通信鏈路,其中該通信鏈路與該共用匯流排分離,且其中該組態邏輯經組態以在該通信鏈路上傳輸控制信號以改變該動態電阻器之該電阻值。
  38. 如請求項36之系統,其中該複數個晶片及動態電阻器在不同位置處耦接至該共用匯流排,以使得該等晶片與該驅動器之間及該等動態電阻器與該驅動器之間沿著該共用匯流排的各別距離不同。
  39. 如請求項36之系統,其中該等晶片中之每一者包含一DRAM記憶體模組。
  40. 如請求項36之系統,其中該組態邏輯經組態以:基於該目標晶片在該共用匯流排上之該位置而調整該複數個動態電阻器中之每一者的一各別電阻值,其中該等各別電阻值中之每一者被改變。
  41. 如請求項36之系統,其中該組態邏輯經組態以:評估該所接收資料以識別該複數個晶片中之至少一個非目標晶片;及在該驅動器在該共用匯流排上傳輸該所接收資料之前撤銷啟動該非目標晶片。
  42. 一種用於一通信系統之電腦程式產品,該電腦程式產品包含:一電腦可讀儲存媒體,其具有與其一起體現的電腦可讀程式碼,該電腦可讀程式碼可由一或多個電腦處理器執行以實施請求項29至35之方法中之任一者。
TW105121637A 2015-07-08 2016-07-07 用於調整最佳化參數以自訂用於共用匯流排上目標晶片之信號眼之方法、系統及電腦程式產品 TWI653536B (zh)

Applications Claiming Priority (6)

Application Number Priority Date Filing Date Title
US14/793,985 US10114788B2 (en) 2015-07-08 2015-07-08 Adjusting an optimization parameter to customize a signal eye for a target chip on a shared bus
US14/793,985 2015-07-08
US14/794,041 2015-07-08
US14/793,860 2015-07-08
US14/793,860 US10423545B2 (en) 2015-07-08 2015-07-08 Adjusting an optimization parameter to customize a signal eye for a target chip on a shared bus
US14/794,041 US10241937B2 (en) 2015-07-08 2015-07-08 Adjusting an optimization parameter to customize a signal eye for a target chip on a shared bus

Publications (2)

Publication Number Publication Date
TW201717038A TW201717038A (zh) 2017-05-16
TWI653536B true TWI653536B (zh) 2019-03-11

Family

ID=59366799

Family Applications (1)

Application Number Title Priority Date Filing Date
TW105121637A TWI653536B (zh) 2015-07-08 2016-07-07 用於調整最佳化參數以自訂用於共用匯流排上目標晶片之信號眼之方法、系統及電腦程式產品

Country Status (1)

Country Link
TW (1) TWI653536B (zh)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN116774990B (zh) * 2023-08-25 2023-11-28 合肥晶合集成电路股份有限公司 一种半导体机台的产品程式管理系统及管理方法

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6191663B1 (en) 1998-12-22 2001-02-20 Intel Corporation Echo reduction on bit-serial, multi-drop bus
US6321282B1 (en) 1999-10-19 2001-11-20 Rambus Inc. Apparatus and method for topography dependent signaling
TWI299622B (en) 2004-10-01 2008-08-01 Broadcom Corp Stateless hardware security module
TWI430084B (zh) 2007-06-28 2014-03-11 Ibm 記憶體系統中錯誤校正與偵測之系統及方法

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6191663B1 (en) 1998-12-22 2001-02-20 Intel Corporation Echo reduction on bit-serial, multi-drop bus
US6321282B1 (en) 1999-10-19 2001-11-20 Rambus Inc. Apparatus and method for topography dependent signaling
TWI299622B (en) 2004-10-01 2008-08-01 Broadcom Corp Stateless hardware security module
TWI430084B (zh) 2007-06-28 2014-03-11 Ibm 記憶體系統中錯誤校正與偵測之系統及方法

Also Published As

Publication number Publication date
TW201717038A (zh) 2017-05-16

Similar Documents

Publication Publication Date Title
US10528493B2 (en) Adjusting an optimization parameter to customize a signal eye for a target chip on a shared bus
US10013368B2 (en) Adjusting an optimization parameter to customize a signal eye for a target chip on a shared bus
KR102457658B1 (ko) 적응형 인터페이스 스토리지 장치
KR20230144996A (ko) 캘리브레이션 동작을 수행하는 반도체 장치 및 시스템
JP2005285125A (ja) Odtを効果的に制御するメモリモジュールシステム
KR102483890B1 (ko) 적응형 인터페이스 고 가용성 스토리지 장치
CN111199762B (zh) 用于独立地调谐裸片上终结阻抗和输出驱动阻抗的方法和设备,以及相关的半导体装置和系统
KR20170025883A (ko) 버퍼 회로, 이를 이용하는 리시버 및 시스템
US10223320B2 (en) Adjusting an optimization parameter to customize a signal eye for a target chip on a shared bus
TWI653536B (zh) 用於調整最佳化參數以自訂用於共用匯流排上目標晶片之信號眼之方法、系統及電腦程式產品
US8866524B2 (en) Semiconductor device having output circuit and operating method thereof
US20150280712A1 (en) Data output circuit of semiconductor apparatus
KR101206099B1 (ko) 전압 모드 드라이버, 전압 모드 드라이버를 이용한 비교 회로 및 그 동작 방법
KR20050111442A (ko) 반도체 장치, 이 장치의 미러 모드 설정 방법, 및 이장치를 이용한 모듈
CN104954005B (zh) 半导体装置的数据输出电路
TWI671755B (zh) 具有多模式通訊機制之記憶體裝置
US20150280713A1 (en) Data output circuit of semiconductor apparatus
JP6322701B2 (ja) ストレージシステム及び信号伝送方法
KR20110109987A (ko) 프로세서의 성능 파라미터들의 다이 내 변화들을 최소화하는 방법 및 장치
US9496054B1 (en) Driving test circuit and semiconductor device including the same
US20180139087A1 (en) Multi-mode configurable network audio
KR20070096151A (ko) 다수의 동작 타입을 가지는 데이터 수신 회로 및 상기데이터 수신회로를 구비하는 반도체 장치
JP4339338B2 (ja) カードバスデバイスを備えた装置及びそのアクセス制御方法
KR100559035B1 (ko) 오프칩 드라이버 회로 및 이를 이용한 데이터 출력 회로
US20160006432A1 (en) Semiconductor device and operating method thereof