引用:
Originally posted by HardCorr
http://www.mushkin.com/mushkin/pop-up/latencies.htm
大意是說: 記憶體, 跟一本書一樣, 你要把書打開並翻到某頁才可以開始讀, RAS 就是在一個時間裡把那一頁給合起來. 所以, 最低tRAS 必須為 RAS to CAS delay 加 latency. 在EDO 跟 FPM記憶體上是沒問題的, 因為它們一次只傳送1 word data. 但在SDRAM裡, memory controller 一次傳送4個quadword. 在DDR裡變成8個quadword = 2組4個quadword
現在, 想像當你在閱讀一段文章時有人把你的書給合起來, 而且一直不斷的把你的書給合起來. 這就是tRAS 設太小的結果. 在你可以把書合起來並不會喪失資料前,第2組quadword 必須要被初始化和prefetch 到輸出 buffer 裡 (就像你先喵一下書裡的主題). 所以最低 tRAS 必須為 tRCD+CAS latency + 2 cycles (在輸出第一組quadword 時在output buffer 裡為下一組quadword 舖路)
|
tRAS >= tRCD+ (BL/2) * tCK 即可 , 跟 CL(Cas Latency) 無關
BL= Burst Length , tCK = Cycle Time
CMD 訊號 ACTIVE CMD<>tRCD<>READ CMD<>PRECHARGE CMD
DQ 訊號 XXXXXXXXX<>XXXX<>XXXXXXXX<>CL<>DQ
tRAS 為 ACTIVE CMD 到 PRECHARGE CMD 的時間差
而 ACTIVE CMD 到 READ CMD 的時間差為 tRCD(RAS-to-CAS Delay)
所以簡單講 READ CMD 到 PRECHARGE CMD 中間的時間不可以少於 BL/2 個週期 , 否則 DATA 來不及完整輸出到 OUTPUT BUFFER 之前就會被 PRECHARGE CMD 破壞其餘的部分
如果 tRCD=2 , BL=8 , tRAS >= 6
如果 tRCD=2 , BL=4 , tRAS >= 4