存儲器測試數據產生電路與方法與流程
2023-09-16 09:30:40
本發明是關於存儲器,尤其是關於存儲器的可靠度驗證。
背景技術:
在一個採用存儲器的應用系統中,例如多媒體系統,因為存在來自電源線及/或信號線的幹擾,所以必須對存儲器執行電源完整性(power integrity,PI)及/或信號完整性(signal integrity,SI)的測試分析,以驗證存儲器的可靠度。上述的存儲器包含DRAM(dynamic random access memory,動態隨機存取存儲器)、SDRAM(synchronous dynamic random access memory,同步動態隨機存取存儲器)等。在PISI的分析或模擬中,常採用最壞噪聲模式來測試存儲器。例如以電源完整性而言,當信號快速轉換的時候,電源會因為阻抗、電壓平面、以及接地平面所形成的腔特性而產生電源供應或接地準位的波動,進而影響系統的可靠度。另一方面,以信號完整性而言,由於信號傳輸線間會有彼此的耦合、串擾、以及互擾,進而影響系統的可靠度,例如傳輸線中僅有一信號線的信號由低準位轉態至高準位,其它多個信號線的信號則由高準位轉態至低準位,因而對於該信號線而言,其它多個信號將會透過所述的耦合、串擾、以及互擾效應,使得該信號線轉態至高準位的信號特性較差,包含轉態至高準位的轉態速率低、或者高準位的目標電壓因而降低,進而影響系統的可靠度。藉由前述的PISI測試分析,可模擬系統操作於最壞的可靠度狀況,即最壞噪聲模式。請參閱圖1,其系習知測試數據產生電路的功能方塊圖。存儲器測試數據產生電路120透過存儲器控制器130存取存儲器140。存儲器測試數據產生電路120與存儲器控制器130之間的數據總線可能是256位或是128位,而存儲器控制器130與存儲器140之間的數據總線可能是16位或是8位。分析存儲器時,存儲器測試數據產生電路120發出模擬最壞噪聲的預設測試數據及相關的測試控制信號,此測試數據藉由存儲器控制器130的控制寫入及讀出存儲器140, 最後分析讀出的數據以驗證存儲器140的可靠度。
預設的測試數據必須具有代表性以利存儲器140的分析。然而如圖1所示,在不同的存儲器測試數據產生電路120與存儲器控制器130之間有不同的數據總線位寬度,例如256位或128位,存儲器控制器130與存儲器140之間也有不同的數據總線位寬度,例如16位或8位。更有如圖2所示,一個存儲器控制器130與兩個存儲器140耦接的情況,此時存儲器控制器130與存儲器140之間的數據總線位寬度為32位。如此多種不同的數據總線位寬度組合使得存儲器測試數據產生電路120難以在存儲器140端以相同的最壞噪聲模式來驗證存儲器140的可靠度,造成測試存儲器的複雜度提高。
技術實現要素:
鑑於先前技術的不足,本發明的一目的在於提供一種存儲器測試數據產生電路與方法,以簡化測試存儲器的程序。
本發明揭露了一種存儲器測試數據產生電路,用來產生多個測試數據,該些測試數據藉一存儲器控制器經由多個通道耦接於一存儲器以對該存儲器進行測試,該存儲器測試數據產生電路包含:多個計數器,用來產生多個計數值;以及一數據重複及組合單元,依據該多個計數值、該測試數據產生電路與該存儲器控制器之間的位寬度、以及該存儲器控制器與該存儲器之間的位寬度產生該些測試數據;其中,每一通道的測試數據系周期性的相同數據數列。
本發明另揭露了一種產生存儲器測試數據的方法,用於產生多個測試數據,該些測試數據藉一存儲器控制器經由多個通道耦接於一存儲器以對該存儲器進行測試,該產生存儲器測試數據的方法包含:產生多個計數值;以及依據該存儲器控制器接收該些測試數據時所使用的位寬度以及該存儲器控制器與該存儲器之間的位寬度,對該多個計數値進行重複與組合,以產生該些測試數據;其中,每一通道的測試數據系周期性的相同數據數列。
本發明的存儲器測試數據產生電路與方法能夠因應存儲器控制器與測試數據產生電路之間及與存儲器之間的不同的數據總線位寬度組合,以相同的數據數列所構成的存儲器測試數據進行測試。相較於習知技術,本發明大幅降低產生測試數據的複雜度,並提升存儲器測試的便利性及效率。
有關本發明的特徵、實作與功效,茲配合圖式作較佳實施例詳細說明如下。
附圖說明
圖1為習知測試數據產生電路、存儲器控制器與存儲器的功能方塊圖;
圖2為習知測試數據產生電路、存儲器控制器與存儲器的另一功能方塊圖;
圖3為本發明的存儲器測試數據產生電路與存儲器控制器的連接關係圖;
圖4為本發明的存儲器測試數據的示意圖;
圖5為本發明的存儲器測試數據產生電路的一實施例的電路圖;
圖6A~圖6E為本發明的存儲器測試數據對應不同數據總線位寬度組合的示意圖;以及
圖7為本發明存儲器測試數據產生方法的一實施例的流程圖。
符號說明
120、320 存儲器測試數據產生電路
130、330 存儲器控制器
140、340 存儲器
510 計數器
530 數據重複及組合單元
S710~S720 步驟
具體實施方式
本發明的揭露內容包含存儲器測試數據產生電路與方法,該電路與方法可應用於採用存儲器元件的系統。在實施為可能的前提下,本技術領域具有通常知識者能夠依本說明書的揭露內容來選擇等效的元件或步驟來實現本發明,亦即本發明的實施並不限於後敘的實施例。
請參閱圖3,其系本發明的存儲器測試數據產生電路與存儲器控制器的連接關係圖。在一實施例中,存儲器測試數據產生電路320可用來產生各種不同的噪聲,例如為最壞噪聲。存儲器測試數據產生電路320與存儲器控制器330之間的數據總線位寬度為m位,而存儲器控制器330與存儲器340之間的數據 總線位寬度為n位,m與n皆為正整數。更詳細地說,存儲器控制器330與存儲器340之間n位數據總線通常被劃分為n/8個通道(channel),意即每個通道的位寬度為一個字節(byte)。存儲器測試數據產生電路320依據兩個設定值產生多個測試數據。該兩個設定值即為存儲器控制器330與存儲器測試數據產生電路320之間的數據總線位寬度以及存儲器控制器330與存儲器340之間的數據總線位寬度。兩設定值可以以m及n或是其等效的數值表示,例如以2的冪次表示。存儲器測試數據產生電路320所產生的測試數據經過設計,使得依據m與n的數值所產生的測試數據,經由存儲器控制器330存取轉換後,每個通道皆包含相同的數據數列,以利於分析存儲器340的測試結果。如此一來,存儲器測試數據產生電路320無需針對各種不同的數據總線位寬度組合(即m與n的組合),而設計不同的噪聲產生器以對應不同的測試數據,因此本發明可大幅降低存儲器測試的複雜度。請注意,存儲器340可能由單一或是兩個以上的物理內存元件所組成,其位寬度的總合為n位。存儲器測試數據產生電路320及存儲器控制器330依據時鐘CLK動作。視存儲器為單倍數據率(single data rate,SDR)、雙倍數據率(single data rate,DDR)或更高的數據倍率,存儲器控制器330有不同的動作方式,此為本技術領域具有通常知識者所熟知,故不贅述。
請參閱圖4,其系本發明的存儲器測試數據的示意圖。圖中的4個通道代表存儲器控制器330與存儲器340之間的數據總線。此例中n=32,表示所耦接的存儲器裝置為總和32位寬度,亦表示本例中的4個通道皆傳輸測試數據。通道1隨時間遞增(T0、T1、T2、…、Tx-1、Tx、Tx+1、Tx+2、…)依序輸出數據D0、D1、D2、…、Dx-1、Dx、D0、D1、…。通道1所輸出的數據數列為周期性的數據數列,周期為Tx。其中,圖中所示不同標號的數據有可能相等或不相等,例如D2可以等於或不等於D3,在較佳的測試操作下,不同標號的數據不相等,即D2不等於D3。通道2、通道3及通道4輸出的數據與通道1為相同的數據數列,且同樣具有周期Tx。但各通道間的數據具有時間上的差異,例如通道4在時間T0輸出數據D3,相同的數據D3在通道3、通道2及通道1中則分別在時間T1、T2及T3輸出。因此可以視為通道4的數據數列領先通道3的數據1個時鐘周期,通道4的數據數列領先通道2的數據2個時鐘周期, 以及通道4的數據數列領先通道1的數據3個時鐘周期。雖然每個通道的數據數列互有落後或領先,但長時間下來(即整個測試時間而輸出大量測試數據時),可視為每個通道輸出同樣的內容,意即相同的數據數列。當存儲器340的數據總線位寬度為16位(即n=16)時,只要選取4個通道中的任2個通道;當存儲器340的數據總線位寬度為8位(即n=8)時,只要選取4個通道中的任1個通道。也就是說每個通道皆可獨立作為最壞噪聲模式信號的測試。
請參閱圖5,其系本發明的存儲器測試數據產生電路的一實施例的電路圖。存儲器測試數據產生電路320包含k個計數器510以及數據重複及組合單元530。所有計數器510的初始值構成數據D0~Dx的連續的一部分。舉例來說,若k等於10,則此10個計數器510的初始值可以是D0~D9,或是D1~D10,...,以此類推。計數器510依據圖3的時鐘CLK動作,並依據數據數列的順序產生計數值。也就是說,每個計數器510以D0→D1→D2→...→Dx-1→Dx→D0→D1→...的順序循環產生計數值。數據重複及組合單元530依據設定值m及n來選取需要的數據,依據不同的位寬度組合(即m與n的組合),所需要的計數器510的個數也不同。以SDR的存儲器為例,所需的計數器510的個數為:(m/n)+(n/8)-1。舉例來說,當m=128,n=16時,共有9個計數器510的數據被數據重複及組合單元530所選取,並進一步組合成存儲器測試數據。數據重複及組合單元530同樣依據時鐘CLK動作。以SDR的存儲器為例,數據重複及組合單元530每m/n個時鐘CLK的周期產生一次存儲器測試數據。以下以不同的m/n組合以及簡化的數值來舉例說明數據重複及組合單元530進行存儲器測試數據組合的動作。
請參閱圖6A~圖6E,其系本發明的存儲器測試數據對應不同數據總線位寬度組合的示意圖。圖中的每一個數值代表一字節的數據。圖6A的例子中,m=256且n=32。也就是說存儲器測試數據產生電路320在T0時傳輸256位的數據給存儲器控制器330,存儲器控制器330再將該些256位的數據平均於T0~T7中輸出。更詳細地說,數據重複及組合單元530依據m/n=256/32以及上述的公式共選出11個計數器510的計數值,該些計數器510在T0時輸出0~10的數據,以圖6A為例,即數據重複及組合單元530在T0時接收計數器510-1至計數器510-10的計數值,各計數值分別自計數0至10;數據重複及組 合單元530再依據這些數據組合出通道1~4在T0~T7中的所有輸出數據(共256位),例如為0、1、2、3、1、2、3、4、2、3、4、5、3、4、5、6、4、5、6、7、5、6、7、8、6、7、8、9、7、8、9、10的位續接(bit-by-bit concatenation)。T1~T7的時間內,數據重複及組合單元530暫停輸出存儲器測試數據,但計數器510繼續改變其計數值。直到T8(與T0相距m/n=256/32=8個周期)時,數據重複及組合單元530再依據此時該些11個計數器510的計數值(8~18)組合成存儲器測試數據並輸出,再以圖6A為例,即數據重複及組合單元530在T8時接收計數器510-1至計數器510-10的計數值,此時經過8個時間周期後,各計數值分別自計數8至18,所組合的存儲器測試數據(共256位)例如為8、9、10、11、9、10、11、12、10、11、12、13、11、12、13、14、12、13、14、15、13、14、15、16、14、15、16、17、15、16、17、18的位續接(bit-by-bit concatenation);。重複以上的動作則通道1~4將各自輸出周期性的數據,且各通道的數據順序相同但具有時間差。請注意,圖中僅描繪T0~T31的情況,實際上有更多的數據產生,而且此例中數據周期大於等於32個時鐘周期。圖6B~圖6E分別為m/n=256/16、128/32、128/16及128/8的情況,相關的操作原理原則類似,不再此贅述。明顯可見,各通道可以獨立用於最壞噪聲模式信號的測試,因此本發明適用於各種m/n的組合,亦即存儲器控制器與測試數據產生電路之間及與存儲器之間的數據總線位寬度的各種組合,大幅減低測試的複雜度。
除前述的存儲器測試數據產生電路外,本發明亦相對應地揭露了一種存儲器測試數據產生方法。本方法可以由前揭存儲器測試數據產生電路或其等效電路執行。該些存儲器測試數據藉存儲器控制器經由多個通道存取於存儲器以對存儲器進行測試。該些存儲器測試數據以m位的數據總線位寬度傳送至該存儲器控制器,且該存儲器控制器以n位的數據總線位寬度存取存儲器。如圖7所示,本發明存儲器測試數據產生方法的一實施例包含下列步驟:
步驟S710:產生多個計數值;以及
步驟S720:依據該存儲器控制器接收該些測試數據時所使用的位寬度以及該存儲器控制器與該存儲器之間的位寬度,對該多個計數値進行重複與組合,以產生該些測試數據。存儲器測試數據可以依據計數器所產生的計數值排 列組合而成,計數器的初始值依據該存儲器控制器接收該些測試數據時所使用的位寬度以及該存儲器控制器與該存儲器之間的位寬度決定。計數器的個數與上述的數值m及數值n有關。在一個實施例中,計數器的時鐘與存儲器控制器的時鐘相同,所需的計數器個數為(m/n)+(n/8)-1。計數器每個時鐘周期改變一次計數值,而此步驟每m/n個時鐘周期產生一次存儲器測試數據。
如圖4所示,上述的存儲器測試數據經過存儲器控制器後會分布在多個通道上,每個通道可傳8位的數據,所以存取存儲器時總共使用的通道數為n/8。每個通道的數據呈現周期性,因此長時間下來每個通道可視為具有相同數據數列的存儲器測試數據。此外,通道與通道之間的數據在時間上延遲,也就是各通道間的數據具有時間差。由圖4可見,每個通道皆可獨立用於存儲器的最壞噪聲模式信號的測試,因此不需要因為不同的m/n組合而產生多個測試模型(pattern)。當本發明用於一個存儲器控制器連接兩個存儲器的情形時(如圖2所示),兩個存儲器可以使用相同的存儲器測試數據進行測試,如此可以簡化測試結果的比對複雜度,並且可以提高存儲器驗證的準確性。
以上雖以SDR的存儲器為例,然而本技術領域具有通常知識者可以依據以上的揭露將本發明應用於當存儲器控制器330及存儲器340以雙倍或更高倍的數據率操作的情形。例如當本發明應用於雙倍數據率的存儲器,在產生測試數據時,可能需要更多的計數器,以同時選取更多的計數器來滿足更多存儲器測試數據的需求。
由於本領域技術人員可藉由圖3及圖5的電路發明的揭露內容來了解圖7的方法發明的實施細節與變化,因此雖然本發明的實施例如上所述,然而該些實施例並非用來限定本發明,本領域技術人員可依據本發明的明示或隱含的內容對本發明的技術特徵施以變化,凡此種種變化均可能屬於本發明所尋求的專利保護範疇,換言之,本發明的專利保護範圍須視本說明書的權利要求所界定者為準。