1. 程式人生 > >高手進階,終極記憶體技術指南——完整/進階版 II (轉)【轉】

高手進階,終極記憶體技術指南——完整/進階版 II (轉)【轉】

轉自:https://blog.csdn.net/lightseed/article/details/4630170

SDRAM晶片的預充電與重新整理操作

預充電

由於SDRAM的定址具體獨佔性,所以在進行完讀寫操作後,如果要對同一L-Bank的另一行進行定址,就要將原來有效(工作)的行關閉,重新發送行/列 地址。L-Bank關閉現有工作行,準備開啟新行的操作就是預充電(Precharge)。預充電可以通過命令控制,也可以通過輔助設定讓晶片在每次讀寫 操作之後自動進行預充電。實際上,預充電是一種對工作行中所有儲存體進行資料重寫,並對行地址進行復位,同時釋放S-AMP(重新加入比較電壓,一般是電 容電壓的1/2,以幫助判斷讀取資料的邏輯電平,因為S-AMP是通過一個參考電壓與儲存體位線電壓的比較來判斷邏輯值的),以準備新行的工作。具體而 言,就是將S-AMP中的資料回寫,即使是沒有工作過的儲存體也會因行選通而使儲存電容受到干擾,所以也需要S-AMP進行讀後重寫。此時,電容的電量 (或者說其產生的電壓)將是判斷邏輯狀態的依據(讀取時也需要),為此要設定一個臨界值,一般為電容電量的1/2,超過它的為邏輯1,進行重寫,否則為邏 輯0,不進行重寫(等於放電)。為此,現在基本都將電容的另一端接入一個指定的電壓(即1/2電容電壓),而不是接地,以幫助重寫時的比較與判斷。

現在我們再回過頭看看讀寫操作時的命令時序圖,從中可以發現地址線A10控制著是否進行在讀寫之後當前L-Bank自動進行預充電,這就是上文所說的“輔 助設定”。而在單獨的預充電命令中,A10則控制著是對指定的L-Bank還是所有的L-Bank(當有多個L-Bank處於有效/活動狀態時)進行預充 電,前者需要提供L-Bank的地址,後者只需將A10訊號置於高電平。

在發出預充電命令之後,要經過一段時間才能允許傳送RAS行有效命令開啟新的工作行,這個間隔被稱為tRP(Precharge command Period,預充電有效週期)。和tRCD、CL一樣,tRP的單位也是時鐘週期數,具體值視時鐘頻率而定。

讀取時預充電時序圖(上圖可點選放 大):圖中設定:CL=2、BL=4、tRP=2。自動預充電時的開始時間與此圖一樣,只是沒有了單獨的預充電命令,並在發出讀取命令時,A10地址線要 設為高電平(允許自動預充電)。可見控制好預充電啟動時間很重要,它可以在讀取操作結束後立刻進入新行的定址,保證執行效率。

誤區:讀寫情況下都要考慮寫回延遲

有些文章強調由於寫回操作而使讀/寫操作後都有一定的延遲,但從本文的介紹中寫可以看出,即使是讀後立即重寫的設計,由於是與資料輸出同步進行,並不存 在延遲。只有在寫操作後進行其他的操作時,才會有這方面的影響。寫操作雖然是0延遲進行,但每筆資料的真正寫入則需要一個足夠的週期來保證,這段時間就是 寫回週期(tWR)。所以預充電不能與寫操作同時進行,必須要在tWR之後才能發出預充電命令,以確保資料的可靠寫入,否則重寫的資料可能是錯的,這就造 成了寫回延遲。

資料寫入時預充電操作時序圖(可點選放大):注意其中的tWR引數,由於它的存在,使預充電操作延後,從而造成寫回延遲

重新整理

之所以稱為DRAM,就是因為它要不斷進行重新整理(Refresh)才能保留住資料,因此它是DRAM最重要的操作。

重新整理操作與預充電中重寫的操作一樣,都是用S-AMP先讀再寫。但為什麼有預充電操作還要進行重新整理呢?因為預充電是對一個或所有L-Bank中的工作行操 作,並且是不定期的,而重新整理則是有固定的週期,依次對所有行進行操作,以保留那些久久沒經歷重寫的儲存體中的資料。但與所有L-Bank預充電不同的是, 這裡的行是指所有L-Bank中地址相同的行,而預充電中各L-Bank中的工作行地址並不是一定是相同的。

那麼要隔多長時間重複一次重新整理呢?目前公認的標準是,儲存體中電容的資料有效儲存期上限是64ms(毫秒,1/1000秒),也就是說每一行重新整理的迴圈周 期是64ms。這樣重新整理速度就是:行數量/64ms。我們在看記憶體規格時,經常會看到4096 Refresh Cycles/64ms或8192 Refresh Cycles/64ms的標識,這裡的4096與8192就代表這個晶片中每個L-Bank的行數。重新整理命令一次對一行有效,傳送間隔也是隨總行數而變 化,4096行時為15.625μs(微秒,1/1000毫秒),8192行時就為7.8125μs。

重新整理操作分為兩種:自動重新整理(Auto Refresh,簡稱AR)與自重新整理(Self Refresh,簡稱SR)。不論是何種重新整理方式,都不需要外部提供行地址資訊,因為這是一個內部的自動操作。對於AR, SDRAM內部有一個行地址生成器(也稱重新整理計數器)用來自動的依次生成行地址。由於重新整理是針對一行中的所有儲存體進行,所以無需列定址,或者說CAS在 RAS之前有效。所以,AR又稱CBR(CAS Before RAS,列提前於行定位)式重新整理。由於重新整理涉及到所有L-Bank,因此在重新整理過程中,所有L-Bank都停止工作,而每次重新整理所佔用的時間為9個時鐘周 期(PC133標準),之後就可進入正常的工作狀態,也就是說在這9 個時鐘期間內,所有工作指令只能等待而無法執行。64ms之後則再次對同一行進行重新整理,如此周而復始進行迴圈重新整理。顯然,重新整理操作肯定會對SDRAM的性 能造成影響,但這是沒辦法的事情,也是DRAM相對於SRAM(靜態記憶體,無需重新整理仍能保留資料)取得成本優勢的同時所付出的代價。

SR則主要用於休眠模式低功耗狀態下的資料儲存,這方面最著名的應用就是STR(Suspend to RAM,休眠掛起於記憶體)。在發出AR命令時,將CKE置於無效狀態,就進入了SR模式,此時不再依靠系統時鐘工作,而是根據內部的時鐘進行重新整理操作。在 SR期間除了CKE之外的所有外部訊號都是無效的(無需外部提供重新整理指令),只有重新使CKE有效才能退出自重新整理模式並進入正常操作狀態。

資料掩碼

在講述讀/寫操作時,我們談到了突發長度。如果BL=4,那麼也就是說一次就傳送4×64bit的資料。但是,如果其中的第二筆資料是不需要的,怎麼辦? 還都傳輸嗎?為了遮蔽不需要的資料,人們採用了資料掩碼(Data I/O Mask,簡稱DQM)技術。通過DQM,記憶體可以控制I/O埠取消哪些輸出或輸入的資料。這裡需要強調的是,在讀取時,被遮蔽的資料仍然會從儲存體傳 出,只是在“掩碼邏輯單元”處被遮蔽。DQM由北橋控制,為了精確遮蔽一個P-Bank位寬中的每個位元組,每個DIMM有8個DQM訊號線,每個訊號針對 一個位元組。這樣,對於4bit位寬晶片,兩個晶片共用一個DQM訊號線,對於8bit位寬晶片,一個晶片佔用一個DQM訊號,而對於16bit位寬晶片, 則需要兩個DQM引腳。

SDRAM官方規定,在讀取時DQM發出兩個時鐘週期後生效,而在寫入時,DQM與寫入命令一樣是立即成效。

讀取時資料掩碼操作,DQM在兩個週期後生效,突發週期的第二筆資料被取消(上圖可點選放大)

寫入時資料掩碼操作,DQM立即生效,突發週期的第二筆資料被取消(上圖可點選放大)

有關記憶體內部的基本操作就到此結束,其實還有很多記憶體的操作沒有描述,但都不是很重要了,限於篇幅與必要性,我們不在此介紹,有興趣的讀者可以自行檢視相關資料。

================================

圖解SDRAM工作流程:倉庫物語

貨物基地(主機板)連線著物資(資料)的供求方。基地的貨物排程廠房(北橋晶片)掌管著若干個用於臨時供貨/生產與儲存的倉庫基地(P-Bank),它們通 常隸屬於某一倉儲集團(DIMM),這種基地與排程廠房之間必須由64條傳送帶聯絡著(P-Bank位寬),每條傳送帶一次只能運送一個標準的貨物 (1bit資料),而且一次至少要傳送64個標準貨物,這是它們之間的約定,倉庫基地必須滿足。

(點選放大)

上圖(點選放大)就是這樣的一個倉庫基地(P-Bank),它由4個大倉庫(記憶體晶片)組成,它們的規模都相當大,每個大倉庫為基地提供16條傳送帶(芯 片位寬為16bit),總共加起來剛好就是64條。每個大倉庫裡都有四個規模和結構相同的子倉庫(L-Bank),它們都被統一編了號。而子倉庫中有很多 層(行),每層裡又有很多的儲藏間(列),每個儲藏間可以放置16個標準貨物,雖然子倉庫的規模很大,但每一層和每一個房間也都編好了號,而且每一層都有 一個搬運工在值班。

為了與外界聯絡方便,倉儲集團與排程室設定了專線電話,和一個國家一樣,每個倉庫基地有一個區號(片選),另外還有四個子倉庫號碼(L-Bank地址), 是所有大倉庫共享的,一個號碼對應所有大倉庫中編號相同的子倉庫。而專線電話的數量也是四個,這樣可保證與某個子倉庫通話時不會妨礙給其他子倉庫打電話。 在子倉庫的每層則設立分機給搬運工使用。子倉庫的樓下就是傳送帶,找到貨物把它扔到上面。但每個大倉庫只有一個傳送帶,也就是說同一時間內只能有一個子倉 庫在工作。每個子倉庫都有一個自己的生產車間(讀出放大器)負責指定貨物的生產,並且每個大倉庫都有一個外運站(資料輸出暫存器)和寄存託運處(資料輸入 暫存器與寫入驅動器)與傳送帶相連,前者負責貨物的輸出中轉,後者負責所接受貨物並寄存然後幫助搬運工運送到指定儲藏間。那麼它是如何與排程廠房協同工作 的呢?  

1、需求方有貨物請求了,這個請求傳送到排程廠房,排程人員開根據貨主的要求給指定的子倉庫打電話,電話號碼是:區號+子倉庫號碼+樓層分機(片選+L-Bank定址+行有效/選通)。那一層的搬運工接到電話後就開始準備工作。  

2、當搬運工點亮所有儲藏間的門牌(tRCD)之後,排程人員會告訴搬運工,貨物放在哪個儲藏間裡(列定址),如果貨物很多,並且是連續存放的,排程員會 通知搬運工:“一會兒要搬的時候,從起始房間開始連續將後面的n個房間的貨物都搬出來,我就不再重複了”(突發傳輸)。但是,他告訴搬運工要等一下,要求 所有大倉庫的人員統一行動,先別出貨。  

3、根據事先的規定,搬運工在經過指定的時間後開始將貨物扔到傳送帶上,傳送帶開始運轉並將貨物送到生產車間,由它來複製出全新的貨物,然後再送到傳送帶 上通過外運站向排程廠房運去。人們通常把從搬運工找到具體儲藏間開始,到貨物真正出現在送往排程廠房的傳送帶上的這段時間稱之為“輸出潛伏期”(CL), 而從值班人把貨物扔到傳送帶到貨物開始傳向排程廠房的這段時間,被稱為“貨物輸出延遲”(tAC),它體現了值班人員的反應時間和生產車間的效率,也影響 著倉庫基地所在集團(DIMM)的名聲。  

4、在這個搬運工工作的同時,由於電話對於編號相同的子倉庫是並聯的,所以其他子倉庫相同樓層的搬運工也收到相同的命令,從相同編號的房間搬出貨物,運向各自的生產車間。此時,同一批貨物同時出現在各自的16條傳送帶上,並整齊地向排程廠房運去。  

5、當貨物傳送完後,原始貨物還要送回儲藏間保管,這是必須的,但如果沒有要求,貨物可以一直保留在生產車間,如果再有需要就再生產,而不用再麻煩搬運工 了(讀出放大器相當於一個Cache)。排程人員接著會進行下一批貨物的排程,當他發現下一批貨物在上次操作的子倉庫中,但不在剛才通話的那一層,只能再 重新撥電話。這時,他通知各子倉庫貨物翻新運回,清理生產車間,之後結束通話電話(預充電命令),這一切必須要在指定時間裡(tRP)完成,然後才能給新的樓 層打電話。搬運員接到通知後,就將這一

層中所有房間的貨物都拿到生產車間進行翻新(沒有貨物的就不用翻新),然後再搬回儲藏間。幹完這一切之後,搬運工掛了電話(關閉行)就可以休息了,他們稱 這種工作為“貨物清理返運”(預充電)。這個工作的速度也要快,否則同樣會影響集團名聲。當然,這個工作可以讓搬運工自動完成(自動預充電),只需排程員 在當初下搬運指令時提醒一他:“貨物運送完了,就進行貨物清理返運吧,我不管了”(用A10地址線)。  

6、當有貨物要運來儲存時,排程員在向子倉庫傳送貨物的同時就給指定的樓層打電話,讓他們準備好房間,此時貨物已經到了寄存託運處,沒有任何的運送延遲 (寫入延遲=0),搬運工在託運間的幫助下,向指定的儲藏間運送貨物,這可需要一定的時間了,他們稱之為貨物堆放時間(tWR),必須給足搬運工們這一時 間,而不能在這期間裡讓他們幹其他的工作,否則他們會令貨物丟失並罷工……

(注:本插欄是對DRAM操作的形象性描述,謹 供輔助性理解本專題,嚴謹的操作說明見上文。另外,在此請各位讀者注意,將記憶體比喻為倉庫只是為了形象化描述,而不要把記憶體等同理解為儲存,它們是有本質 的不同的,在本文的比喻中,它只是一個臨時性倉庫,這一點請大家分清,不要因此產生新的錯誤概念。)

=============================

 

SDRAM的結構、時序與效能的關係(上)

在講完SDRAM的基本工作原理和主要操作之後,我們現在要重要分析一下SDRAM的時序與效能之間的關係,它不在侷限於晶片本身,而是從整體的記憶體系統 去分析。這也是廣大DIYer所關心的話題。比如CL值對效能的影響有多大幾乎是每個記憶體論壇都會有討論,今天我們就詳細探討一下,其中的很多內容同樣適 用於DDR與RDRAM。這裡需要強調一點,對於記憶體系統整體而言,一次記憶體訪問就是對一個頁的訪問,這個頁的定義已經在解釋Full Page含義時講明瞭。由於在P-Bank中,每個晶片的定址都是一樣的,所以可以將頁訪問“濃縮”等效為對每晶片中指定行的訪問,這樣可能比較好理解。 但為了與官方標準統一,在下文中會經常用頁來描述相關的內容,請讀者注意理解。

一、影響效能的主要時序引數

所謂的影響效能是並不是指SDRAM的頻寬,頻率與位寬固定後,頻寬也就不可更改了。但這是理想的情況,在記憶體的工作週期內,不可能總處於資料傳輸的狀態,因為要有命令、定址等必要的過程。但這些操作佔用的時間越短,記憶體工作的效率越高,效能也就越好。

非資料傳輸時間的主要組成部分就是各種延遲與潛伏期。通過上文的講述,大家應該很明顯看出有三個引數對記憶體的效能影響至關重要,它們是tRCD、CL和tRP。每條正規的記憶體模組都會在標識上註明這三個引數值,可見它們對效能的敏感性。

以記憶體最主要的操作——讀取為例。tRCD決定了行定址(有效)至列定址(讀/寫命令)之間的間隔,CL決定了列定址到資料進行真正被讀取所花費的時間, tRP則決定了相同L-Bank中不同工作行轉換的速度。現在可以想象一下讀取時可能遇到的幾種情況(分析寫入操作時不用考慮CL即可):

1、要定址的行與L-Bank是空閒的。也就是說該L-Bank的所有行是關閉的,此時可直接傳送行有效命令,資料讀取前的總耗時為tRCD+CL,這種情況我們稱之為頁命中(PH,Page Hit)。

2、要定址的行正好是前一個操作的工作行,也就是說要定址的行已經處於選通有效狀態,此時可直接傳送列定址命令,資料讀取前的總耗時僅為CL,這就是所謂 的背靠背(Back to Back)定址,我們稱之為頁快速命中(PFH,Page Fast Hit)或頁直接命中(PDH,Page Direct Hit)。

3、要定址的行所在的L-Bank中已經有一個行處於活動狀態(未關閉),這種現象就被稱作定址衝突,此時就必須要進行預充電來關閉工作行,再對新行傳送 行有效命令。結果,總耗時就是tRP+tRCD+CL,這種情況我們稱之為頁錯失(PM,Page Miss)。

顯然,PFH是最理想的定址情況,PM則是最糟糕的定址情況。上述三種情況發生的機率各自簡稱為PHR——PH Rate、PFDR——PFH Rate、PMR——PM Rate。因此,系統設計人員(包括記憶體與北橋晶片)都儘量想提高PHR與PFHR,同時減少PMR,以達到提高記憶體工作效率的目的。

二、增加PHR的方法

顯然,這與預充電管理策略有著直接的關係,目前有兩種方法來儘量提高PHR。自動預充電技術就是其中之一,它自動的在每次行操作之後進行預充電,從而減少 了日後對同一L-Bank不同行定址時發生衝突的可能性。但是,如果要在當前行工作完成後馬上開啟同一L-Bank的另一行工作時,仍然存在tRP的延 遲。怎麼辦? 此時就需要L-Bank交錯預充電了。

VIA的4路交錯式記憶體控制就是在一個L-Bank工作時,對下一個要工作的L-Bank進行預充電。這樣,預充電與資料的傳輸交錯執行,當訪問下一個L -Bank時,tRP已過,就可以直接進入行有效狀態了。目前VIA聲稱可以跨P-Bank進行16路記憶體交錯,並以LRU演算法進行預充電管理。

有關L-Bank交錯預充電(存取)的具體執行在本刊2001年第2期已有詳細介紹,這裡就不再重複了。

L-Bank交錯自動預充電/讀取時序圖(可點選放大):L-Bank 0與L-Bank 3實現了無間隔交錯讀取,避免了tRP對效能的影響 三、增加PFHR的方法

無論是自動預充電還是交錯工作的方法都無法消除tRCD所帶來的延遲。要解決這個問題,就要儘量讓一個工作行在進行預充電前儘可能多的接收多個工作命令,以達到背靠背的效果,此時就只剩下CL所造成的讀取延遲了(寫入時沒有延遲)。

如何做到這一點呢?這就是北橋晶片的責任了。在上文的時序圖中有一個引數tRAS(Active to Precharge Command,行有效至預充電命令間隔週期)。它有一個範圍,對於PC133標準,一般是預充電命令至少要在行有效命令5個時鐘週期之後發出,最長間隔 視晶片而異(基本在120000ns左右),否則工作行的資料將有丟失的危險。那麼這也就意味著一個工作行從有效(選通)開始,可以有120000ns的 持續工作時間而不用進行預充電。顯然,只要北橋晶片不發出預充電(包括允許自動預充電)的命令,行開啟的狀態就會一直保持。在此期間的對該行的任何讀寫操 作也就不會有tRCD的延遲。可見,如果北橋晶片在能同時開啟的行(頁)越多,那麼PFHR也就越大。需要強調的是,這裡的同時開啟不是指對多行同時定址 (那是不可能的),而是指多行同時處於選通狀態。我們可以看到一些SDRAM晶片組的資料中會指出可以同時開啟多少個頁的指標,這可以說是決定其記憶體效能 的一個重要因素。

Intel 845晶片組MCH的資料:其中表明它可以支援24個頁面同時處於開啟狀態

但是,可同時開啟的頁數也是有限制的。從SDRAM的定址原理講,同一L-Bank中不可能有兩個開啟的行(S-AMP只能為一行服務),這就限制了可同 時開啟的頁面總數。以SDRAM有4個L-Bank,北橋最多支援8個P-Bank為例,理論上最多隻能有32個頁面能同時處於開啟的狀態。而如果只有一 個P-Bank,那麼就只剩下4個頁面,因為有幾個L-Bank才能有同時開啟幾個行而互不干擾。Intel 845的MHC雖然可以支援24個開啟的頁面,那也是指6個P-Bank的情況下(845MCH只支援6個P-Bank)。可見845已經將同時開啟頁數 發揮到了極致。

不過,同時開啟頁數多了,也對存取策略提出了一定的要求。理論上,要儘量多地使用已開啟的頁來保證最短的延遲週期,只有在資料不存在(讀取時)或頁存滿了 (寫入時)再考慮開啟新的指定頁,這也就是變向的連續讀/寫。而開啟新頁時就必須要關閉一個開啟的頁,如果此時開啟的頁面已是北橋所支援的最大值但還不到 理論極限的話,就需要一個替換策略,一般都是用LRU演算法來進行,這與VIA的交錯控制大同小異。

 


=============================

SDRAM的結構、時序與效能的關係(下)

四、記憶體結構對PHR的影響

這是結構設計上的問題,所以單獨來說。在我們介紹L-Bank時,曾經提到單一的L-Bank會造成嚴重的定址衝突。現在,當我們瞭解了記憶體定址的原理 後,就不難理解這句話了。如果只有一個L-Bank,那麼除非是背靠背式的操作(PFH),否則tRP、tRCD、CL(讀取時)一個也少不了。

上文中,記憶體交錯之所以能實現就是因為有多個L-Bank,從這點就可以看出L-Bank數量與頁命中率之間的關係了。PHR基本上可以等於“(L-Bank數-1)/L-Bank數”。

SDRAM有4個L-Bank,那麼頁命中率就是75%,DDR-Ⅱ SDRAM最多將有8個L-Bank,PHR最高為87.5%。而RDRAM則最多有32個L-Bank,PHR到了驚人的96.875%,這也是當時RDRAM攻擊SDRAM的一主要方面。

不過,從記憶體的結構圖上可以看出,L-Bank多了,相應外圍輔助的元件也要增加,比如S-AMP,L-Bank地址線等等。在RDRAM的介紹中,我會講到L-Bank數量增多後所帶來的一些新問題。

五、讀/寫延遲不同對效能所造成的影響

SDRAM在讀取操作時會有CL造成的延遲,而在寫入時則是0延遲。這樣,在讀操作之後馬上進行寫操作的話,由於沒有寫延遲,資料線不會出現空閒的時候, 保證了資料匯流排的利用率。但是,若在寫操作之後馬上進行讀操作的話,即使是背靠背式進行,仍然會由於tWR與CL的存在而造成間隔,這期間資料匯流排將是空 閒的,利用率受到了影響。

在先寫後讀的操作中,由於保證寫入的可靠性,讀取命令在tWR之後發出,並再經過CL才能輸出資料,本例中CL=3,造成了兩個時鐘週期的匯流排空閒(上圖可點選放大)

這裡需要著重說明一下,在突發讀取過程中,想立刻中斷並進行新的讀操作,和讀後讀模式(見“突發連續讀取模式圖”)一樣,只是新的讀命令根據需要提前若干 個週期發出,經過CL後就會自動傳輸新的資料。但是,若想中斷讀後立即進行寫操作,就需要資料掩碼(DQM)來遮蔽寫入命令發出時的資料輸出,避免匯流排衝 突。根據晶片設計的不同,有時可能會浪費一個週期進行匯流排I/O的調轉,此時一個週期的匯流排空閒也是不可避免的。

突發讀後寫時的操作,以本圖為例,在 最後一個所需資料(本例為第一筆資料)輸出前一個週期使DQM有效,遮蔽第二筆資料的輸出;2、發出寫入命令,此時所讀取的第二筆資料被遮蔽。3、繼續 DQM以遮蔽第三筆資料的輸出。其中tHZ表示輸出資料與外部電路的連線週期,tDS表示資料輸入準備時間,如果tHZ+tDS>tCK,那麼寫入 操作就要延後一個週期,這要視晶片的具體設計而定(上圖可點選放大)

六、BL對效能的影響

從讀/寫之間的中斷操作我們又引出了BL(突發長度)對效能影響的話題。首先,BL的長短與其應用的領域有著很大關係,下表就是目前三個主要的記憶體應用領域所使用的BL,這是廠商們經過多年的實踐總結出來的。

BL與相應的工作領域

BL越長,對於連續的大資料量傳輸很有好處,但是對零散的資料,BL太長反而會造成匯流排週期的浪費。以P-Bank位寬64bit為例,BL=4時,一個 突發操作能傳輸32位元組的資料,但如果只需要前16個位元組,後兩個週期是無效的。如果需要40位元組,需要再多進行一次突發傳輸,但實際只需要一個傳輸週期 就夠了,從而浪費了三個傳輸週期。而對於2KB的資料,BL=4的設定意味著要每隔4個週期傳送新的列地址,並重復63次。而對於BL=256,一次突發 就可完成,並且不需要中途再進行控制。不少人都因此表示了BL設定對效能影響的擔心。

但設計人員也不是傻瓜,通過上文的介紹,可以看出他們在這方面的考慮。通過寫命令、DQM、讀命令的配合/操作,完全可以任意地中斷突發週期開始新的操 作,而且DQM還可以幫我們在BL中選擇有用的資料,從而最大限度降低突發傳輸對效能帶來的影響。另外,預充電命令與專用的突發傳輸終止命令都可以用來中 斷BL,前者在中斷後進行預充電,後者在中斷後不進行其他讀/寫操作。

專用的突發停止命令可用來中斷突發讀取,其生效潛伏期與CL相同。對於寫入則立即有效(上圖可點選放大)

用預充電命令來中斷突發讀取,生效潛伏期與CL相同,要小於或等於tRP。寫入時預充電在最後一個有效寫入週期完成,並經過tWR之後發出,同時立即中斷突發傳輸

所以,突發週期的中斷並不難,但用短BL應付大資料量存取需要不斷的指令與列定址配合,而為了取消不需要的傳輸週期,由於需要運用額外的控制,也將佔用不 少的控制資源。所以BL針對不同應用領域有不同設計的主要目的,就是在保證效能的同時,系統控制資源也能得到合理的運用。