亚洲成年人黄色一级片,日本香港三级亚洲三级,黄色成人小视频,国产青草视频,国产一区二区久久精品,91在线免费公开视频,成年轻人网站色直接看

存儲器控制器及其控制方法

文檔序號:6758863閱讀:117來源:國知局
專利名稱:存儲器控制器及其控制方法
技術(shù)領(lǐng)域
本發(fā)明有關(guān)一種存儲器控制器及其控制方法,且特別是有關(guān)一種存儲器控制器中 先進先出緩沖器(first in first out, FIFO)的指標控制方法。
背景技術(shù)
一般來說,存儲器控制器可連接至存儲器模塊,可將數(shù)據(jù)寫入存儲器模塊或者由 存儲器模塊中讀取數(shù)據(jù)。現(xiàn)今最普遍的存儲器模塊即為雙倍數(shù)據(jù)速率(doubledata rate, 以下簡稱DDR)存儲器模塊。一般來說,當(dāng)存儲器控制器發(fā)出寫入指令時,數(shù)據(jù)可從存儲器控制器傳送至于存 儲器模塊并儲存。而當(dāng)存儲器控制器發(fā)出讀取指令時,數(shù)據(jù)可從存儲器模塊傳送至存儲器 控制器,并進行后續(xù)處理。請參照圖1,其所繪示為存儲器控制器與存儲器模塊之間的連線示意圖。存儲器控 制器100與DDR存儲器模塊200之間的信號至少包括外部時脈CLKext、地址信號、指令信 號、數(shù)據(jù)串行信號DQO DQ7與數(shù)據(jù)觸發(fā)(data strobe)信號DQS。其中,指令信號包括寫 入致能信號WE ;地址信號包括存儲器地址信號AO A13、列地址觸發(fā)信號(row address strobe)RAS、行地址觸發(fā)信號(column address strobe)CAS。再者,一個DDR交易(transaction)包括以下的步驟首先,存儲器控制器100發(fā) 出指令信號以及地址信號,而DDR存儲器模塊200即可根據(jù)指令信號以及地址信號來獲得 一指令,該指令可為一寫入指令或者一讀取指令。接著,DDR存儲器模塊200即根據(jù)指令來 準備儲存或輸出數(shù)據(jù)。當(dāng)該指令為寫入指令時,數(shù)據(jù)串行信號DQO DQ7與數(shù)據(jù)觸發(fā)信號DQS是由存儲 器控制器200所產(chǎn)生。因此,DDR存儲器模塊200根據(jù)存儲器控制器100所產(chǎn)生的數(shù)據(jù)觸發(fā) 信號DQS來拴鎖(latch)數(shù)據(jù)串行信號DQO DQ7上的數(shù)據(jù)并且寫入DDR存儲器模塊200 內(nèi)對應(yīng)的存儲器地址內(nèi)。從存儲器模塊200接收到讀取指令到數(shù)據(jù)準備好可以輸出的時間稱為行地址觸 發(fā)延遲時間(CAS latency)CL0而存儲器控制器100于起始測試時(startup test)即可 得知DDR存儲器模塊200的行地址觸發(fā)延遲時間CL,一般約為2個外部時脈CLKext周期 (CL = 2)。也就是說,當(dāng)指令為讀取指令時,DDR存儲器模塊200會在行地址觸發(fā)延遲時間 CL后,才會驅(qū)動數(shù)據(jù)串行信號DQO DQ7。此時,存儲器控制器100即可根據(jù)數(shù)據(jù)觸發(fā)信號 DQS來拴鎖數(shù)據(jù)串行信號DQO DQ7并獲得相對應(yīng)存儲器地址內(nèi)的數(shù)據(jù)。請參照圖2,其所繪示為讀取指令時的信號時序圖。一般來說,DDR存儲器模塊200 于輸出數(shù)據(jù)時,會產(chǎn)生數(shù)據(jù)觸發(fā)信號DQS以及數(shù)據(jù)串行信號DQO DQ7,此時數(shù)據(jù)觸發(fā)信號 DQS的頻率與外部時脈CLKext相同;反之,DDR存儲器模塊200未輸出數(shù)據(jù)之前,數(shù)據(jù)觸發(fā) 信號DQS是位于高阻抗(high impedance)的第三狀態(tài)(tri-state)。由圖2可知,于時間TO時,由地址信號(Address signal)與指令信號 (Commandsignal)可獲得存儲器地址AO A13與讀取指令(Read),而其它時間則是無運作(nooperation,N0P)。由于行地址觸發(fā)延遲時間CL為2個外部時脈CLKext周期(CL = 2),因此,數(shù)據(jù)觸發(fā)信號DQS于Tl時間由第三狀態(tài)轉(zhuǎn)變?yōu)榈碗娖?,并于T2時間至T4時間之 間產(chǎn)生高低電平變換,而于時間T4之后再次轉(zhuǎn)變?yōu)榈谌隣顟B(tài)。再者,經(jīng)過了 2個外部時脈 CLKext周期的行地址觸發(fā)延遲時間(CL = 2)后,于時間T2至T4的時間內(nèi),數(shù)據(jù)串行信號 DQO DQ7上依序產(chǎn)生DO、Dl、D2、D3的數(shù)據(jù)。因此,存儲器控制器100即可根據(jù)數(shù)據(jù)觸發(fā) 信號DQS的上升緣與下降緣來拴鎖數(shù)據(jù)串行信號DQO DQ7的DO、Dl、D2、D3數(shù)據(jù)。一般 來說,存儲器控制器100是將數(shù)據(jù)觸發(fā)信號DQS延遲相位90度之后即可以拴鎖數(shù)據(jù)串行信 號 DQO DQ7。請參照圖3,其所繪示為現(xiàn)有的存儲器控制器的示意圖。存儲器控制器100 包括一時脈產(chǎn)生器102、指令產(chǎn)生器104、寫入指標(write pointer) 106、讀取指標 (readpointer) 108、先進先出(first-in-first-out,FIFO)緩沖器 110、以及處理電路 112。一般來說,存儲器控制器100中的內(nèi)部時脈CLKin與外部時脈CLKext的頻率相同 但是相位不同。因此,DDR存儲器模塊200輸出的數(shù)據(jù)串行信號DQO DQ7的相位與內(nèi)部 時脈CLKin的相位并不相同。也就是說,數(shù)據(jù)串行信號DQO DQ7與內(nèi)部時脈CLKin不同 步(non-synchronous)0為了要解決存儲器控制器110內(nèi)外數(shù)據(jù)不同步的問題,于存儲器控制器100內(nèi)會 設(shè)置一先進先出緩沖器110。并且,數(shù)據(jù)串行信號DQO DQ7上的數(shù)據(jù)是根據(jù)數(shù)據(jù)觸發(fā)信 號DQS寫入先進先出緩沖器110,而存儲器控制器100內(nèi)的處理電路112則根據(jù)內(nèi)部時脈 CLKin來讀取先進先出緩沖器110內(nèi)的數(shù)據(jù)。如圖3所示,指令產(chǎn)生器104可根據(jù)外部時脈CLKext產(chǎn)生地址信號與指令信號。 而先進先出緩沖器110可根據(jù)數(shù)據(jù)串行信號DQO DQ7以及數(shù)據(jù)觸發(fā)信號DQS將數(shù)據(jù)寫入 先進先出緩沖器110。之后,處理電路112會根據(jù)內(nèi)部時脈CLKin來產(chǎn)生讀取信號Fetch至 先進先出緩沖器110,并將先進先出緩沖器110內(nèi)的數(shù)據(jù)Data依序讀出。為了能夠有效地管理先進先出緩沖器110,存儲器控制器100還包括一寫入指標 106以及一讀取指標108。寫入指標106與讀取指標108可視為一計數(shù)器,當(dāng)DDR存儲器模 塊200寫入一筆數(shù)據(jù)時,寫入指標106會加1 ;同理,當(dāng)處理電路112讀取一筆數(shù)據(jù)時,讀取 指標108也會加1。也就是說,寫入指標106可根據(jù)數(shù)據(jù)觸發(fā)信號DQS來進行計數(shù);而讀取 指標108可根據(jù)讀取信號Fetch來計數(shù)。請參照圖4A 圖4F,其所繪示為先進先出緩沖器的動作示意圖。以下范例是以 圖3所示信號圖為例舉例來說,并且,先進先出緩沖器110有四層(layer),#00、#01、#10、 #11,每一層可儲存一筆數(shù)據(jù)。再者,寫入指標106與讀取指標108皆為二位計數(shù)器,并且寫 入指標106內(nèi)的寫入計數(shù)值與讀取指標108內(nèi)的讀取計數(shù)值皆為“11”。請參照圖4A,于時間T2(數(shù)據(jù)觸發(fā)信號DQS上升緣)時,DO數(shù)據(jù)寫入先進先出緩 沖器Iio的00層,此時寫入指標Wptr加1使得寫入計數(shù)值成為“00”,代表已有有效數(shù)據(jù) (valid data)暫存于00層;再者,讀取指標Rptr的讀取計數(shù)值維持“ 11”,代表尚未有數(shù)據(jù) 被讀取。請參照圖4B,于時間T2’(數(shù)據(jù)觸發(fā)信號DQS下降緣)時,Dl數(shù)據(jù)寫入先進先出 緩沖器110的01層,此時寫入指標Wptr加1使得寫入計數(shù)值成為“01”,代表已有有效數(shù)據(jù) 暫存于01層;再者,讀取指標Rptr的讀取計數(shù)值維持“11”,代表尚未有數(shù)據(jù)被讀取。當(dāng)寫入指標Wptr的寫入計數(shù)值與讀取指標Rptr的讀取計數(shù)值差異超過一設(shè)定值,例如”2”時,處理電路112會開始讀取先進先出緩沖器110內(nèi)的數(shù)據(jù)。因此,如圖4C所 示,于時間T3 (數(shù)據(jù)觸發(fā)信號DQS上升緣)時,D2數(shù)據(jù)寫入先進先出緩沖器110的10層, 此時寫入指標Wptr加1使得寫入計數(shù)值成為“10”,代表已有有效數(shù)據(jù)暫存于10層;再者, 當(dāng)DO數(shù)據(jù)被讀取之后讀取指標Rptr加1使得讀取計數(shù)值成為“00”,代表DO數(shù)據(jù)已經(jīng)成為 無效數(shù)據(jù)(invalid data)。如圖4D所示,于時間T3’(數(shù)據(jù)觸發(fā)信號DQS下降緣)時,D3 數(shù)據(jù)輸入先進先出緩沖器110的11層,此時寫入指標Wptr加1使得寫入計數(shù)值成為“11”, 代表已有有效數(shù)據(jù)暫存于11層;再者,當(dāng)Dl數(shù)據(jù)被讀取之后讀取指標Rptr加1使得讀取 計數(shù)值成為“01”,代表Dl數(shù)據(jù)為無效數(shù)據(jù)。于時間點Τ4之后,已沒有任何數(shù)據(jù)輸入先進先出緩沖器110,并且數(shù)據(jù)觸發(fā)信號 DQS也不再動作,因此,寫入指標Wptr的寫入計數(shù)值會維持在“11”。再者,處理電路112必 須持續(xù)讀取先進先出緩沖器110內(nèi)的數(shù)據(jù)。如圖4Ε所示,當(dāng)D2數(shù)據(jù)被讀取之后讀取指標 Rptr加1使得讀取計數(shù)值成為“ 10”,代表D2數(shù)據(jù)可視為無效數(shù)據(jù)。如圖4F所示,當(dāng)D3數(shù) 據(jù)被讀取之后讀取指標Rptr加1使得讀取計數(shù)值成為“11”,代表D3數(shù)據(jù)可視為無效數(shù)據(jù)。同理,當(dāng)存儲器控制器100再次產(chǎn)生讀取指令時,讀取指標Rptr與寫入指標Wptr 會再次以相同的動作原理來操作,因此不再贅述。由上述可知,先進先出緩沖器110可視為 一環(huán)緩沖器(ring buffer),而寫入指標Wptr的寫入計數(shù)值代表有效數(shù)據(jù)位置,而讀取指 標Rptr的讀取計數(shù)值代表無效數(shù)據(jù)的位置。由于存儲器控制器100與DDR存儲器模塊200是焊接于電路板(未繪示)上,并 且利用電路板上的布線(layout trace)來達成信號連接。不可避免地,電路板上可能會產(chǎn)
生噪聲。換句話說,當(dāng)存儲器控制器100未讀取數(shù)據(jù)且數(shù)據(jù)觸發(fā)信號DQS在第三狀態(tài)時,如 果數(shù)據(jù)觸發(fā)信號DQS受到噪聲干擾而產(chǎn)生閃爍(glitch)時,將造成寫入指標Wptr加1。然 而,并沒有任何的有效數(shù)據(jù)輸入先進先出緩沖器110。如此,將使得處理電路112接收到錯 誤的數(shù)據(jù),嚴重的話將造成整個系統(tǒng)的死機。

發(fā)明內(nèi)容
本發(fā)明的目的是提出一種存儲器控制器及其控制方法,于有效數(shù)據(jù)即將寫入先進 先出緩沖器之前,利用一指標校正單元將正確的數(shù)值更新于寫入指標內(nèi)。本發(fā)明提出一種存儲器控制器,連接至一存儲器模塊,該存儲器控制器包括一時 脈產(chǎn)生器,用以產(chǎn)生一內(nèi)部時脈以及產(chǎn)生一外部時脈至該存儲器模塊;一指令產(chǎn)生器,用以 根據(jù)該外部時脈產(chǎn)生一讀取指令至該存儲器模塊;一先進先出緩沖器,用以于該指令產(chǎn)生 器產(chǎn)生該讀取指令后的一行地址觸發(fā)延遲時間,根據(jù)該存儲器模塊產(chǎn)生的一數(shù)據(jù)觸發(fā)信號 將該存儲器模塊產(chǎn)生的一數(shù)據(jù)串行信號中的數(shù)據(jù)寫入該寫入先進先出緩沖器;一處理電 路,用以根據(jù)該內(nèi)部時脈進行運作并讀取該先進先出緩沖器內(nèi)的數(shù)據(jù);一寫入指標,用以根 據(jù)該數(shù)據(jù)觸發(fā)信號來進行計數(shù),并且該寫入指標的計數(shù)值是代表該先進先出緩沖器內(nèi)有效 數(shù)據(jù)的位置;一讀取指標,用以根據(jù)處理電路讀取該先進先出緩沖器內(nèi)數(shù)據(jù)的次數(shù)來進行 計數(shù),并且該讀取的計數(shù)值是代表該先進先出緩沖器內(nèi)無效數(shù)據(jù)的位置;以及,一指標校正 單元,連接至該指令產(chǎn)生器,用以于該讀取指令產(chǎn)生后該存儲器模塊輸出數(shù)據(jù)之前,控制該 寫入指標內(nèi)的數(shù)值相同于該讀取指標內(nèi)的數(shù)值。
本發(fā)明還提出一種存儲器控制器的控制方法,該存儲器控制器連接至一存儲器 模塊,并可利用一先進先出緩沖器接收該存儲器模塊輸出的數(shù)據(jù),一寫入指標來代表該先 進先出緩沖器內(nèi)有效數(shù)據(jù)的位置,及一讀取指標來代表該先進先出緩沖器內(nèi)無效數(shù)據(jù)的位 置,根據(jù)該存儲器控制器的控制方法,于該存儲器控制器產(chǎn)生一讀取指令產(chǎn)生之后的一行 地址觸發(fā)延遲時間之內(nèi),該寫入指標內(nèi)的數(shù)值是控制相同于該讀取指標內(nèi)的數(shù)值。


為了使能更進一步了解本發(fā)明特征及技術(shù)內(nèi)容,請參閱以下有關(guān)本發(fā)明的詳細說 明與附圖,然而附圖僅提供參考與說明,并非用來對本發(fā)明加以限制,其中圖1所繪示為存儲器控制器與存儲器模塊之間的連線示意圖。圖2所繪示為讀取指令時信號示意圖。圖3所繪示為現(xiàn)有的存儲器控制器的示意圖。圖4A 圖4F所繪示為先進先出緩沖器的動作示意圖。圖5所繪示為本發(fā)明存儲器控制器的示意圖。圖6所繪示為根據(jù)本發(fā)明的一實施例的存儲器控制器的控制方法流程圖。圖7所繪示為根據(jù)本發(fā)明的一另實施例的存儲器控制器的控制方法流程圖。
具體實施例方式根據(jù)本發(fā)明的實施例,于存儲器控制器內(nèi)增加一指標校正單元,并于DDR存儲器 模塊即將輸出有效數(shù)據(jù)至先進先出緩沖器之前,利用該指標校正單元將正確的數(shù)值更新于 寫入指標。請參照圖5,其所繪示為本發(fā)明存儲器控制器的示意圖。存儲器控制器300包括一 時脈產(chǎn)生器302、指令產(chǎn)生器304、寫入指標306、讀取指標308、先進先出緩沖器310、以及處 理電路312、以及指標校正單元320。其中,時脈產(chǎn)生器302可產(chǎn)生一外部時脈CLKext至DDR存儲器模塊400,以及產(chǎn)生 一內(nèi)部時脈CLKin至處理電路312使得處理電路312根據(jù)內(nèi)部時脈CLKin來運作。指令產(chǎn) 生器304可根據(jù)外部時脈CLKext產(chǎn)生一讀取指令至DDR存儲器模塊400。先進先出緩沖器 310根據(jù)DDR存儲器模塊400產(chǎn)生的數(shù)據(jù)觸發(fā)信號DQS將數(shù)據(jù)串行信號DQO DQ7中的數(shù) 據(jù)寫入先進先出緩沖器310,以及,先進先出緩沖器310根據(jù)處理電路312所產(chǎn)生的讀取信 號Fetch來輸出數(shù)據(jù)Data。寫入指標306根據(jù)數(shù)據(jù)觸發(fā)信號DQS來進行計數(shù),并且其計數(shù) 值可代表先進先出緩沖器310內(nèi)有效數(shù)據(jù)的位置。讀取指標308根據(jù)讀取信號Fetch來進 行計數(shù),并且其計數(shù)值可代表先進先出緩沖器310內(nèi)無效數(shù)據(jù)的位置。根據(jù)本發(fā)明的實施例,由于存儲器控制器300已先行得知DDR存儲器模塊400的 行地址觸發(fā)延遲時間CL。因此,指標校正單元320連接至指令產(chǎn)生器304,當(dāng)指令產(chǎn)生器 304產(chǎn)生讀取指令時,可輸出一校正信號CHK至指標校正單元320,而指標校正單元320即 可根據(jù)行地址觸發(fā)延遲時間CL并在有效數(shù)據(jù)輸入之前適時的將讀取指標308內(nèi)的讀取計 數(shù)值更新于寫入指標306的寫入計數(shù)值。由先前技術(shù)的說明可知,當(dāng)處理電路312讀取先前最后一筆數(shù)據(jù)后,寫入指標306 與讀取指標308內(nèi)的的寫入計數(shù)值與讀取計數(shù)值會相同。因此,當(dāng)下一個讀取指令產(chǎn)生到
7有效數(shù)據(jù)寫入先進先出緩沖器310之前,寫入指標306與讀取指標308內(nèi)的寫入計數(shù)值與 讀取計數(shù)值也必須維持相同的數(shù)值。因此,本發(fā)明的指標校正單元320即利用上述特性來 更新寫入指標306的寫入計數(shù)值,亦即利用讀取指標308內(nèi)的讀取計數(shù)值來更新寫入指標 306寫入計數(shù)值。因此可以確定DDR存儲器模塊400產(chǎn)生有效數(shù)據(jù)并寫入先進先出緩沖器 310之前,寫入指標306與讀取指標308內(nèi)的寫入計數(shù)值與讀取計數(shù)值相同。以行地址觸發(fā)延遲時間CL等于2為例(CL = 2),當(dāng)指令產(chǎn)生器304產(chǎn)生讀取指令 后的2個外部時脈CLKext周期時間之內(nèi),就算數(shù)據(jù)觸發(fā)信號DQS受到噪聲干擾而產(chǎn)生閃爍 造成寫入指標306改變寫入計數(shù)值,然而此時讀取指標308的讀取計數(shù)值并不會受到影響。 因此,于有效數(shù)據(jù)輸入先進先出緩沖器310之前,指標校正單元320會先行將正確的讀取計 數(shù)值更新于寫入指標306內(nèi)的寫入計數(shù)值。之后,當(dāng)存儲器模塊400開始產(chǎn)生數(shù)據(jù)觸發(fā)信號DQS與數(shù)據(jù)串行信號DQO DQ7 并將有效數(shù)據(jù)輸入先進先出緩沖器310時,寫入指標306內(nèi)的寫入計數(shù)值已經(jīng)確認為正確 的數(shù)值。因此,寫入指標306根據(jù)數(shù)據(jù)觸發(fā)信號DQS來繼續(xù)計數(shù)也可以進一步確定處理電 路312將不會接收到錯誤的數(shù)據(jù)而產(chǎn)生誤動作。上述的實施例是利用指標校正單元304利用行地址觸發(fā)延遲時間CL,于讀取指令 產(chǎn)生后且有效數(shù)據(jù)輸入先進先出存儲器310之前,將讀取指標308內(nèi)的讀取計數(shù)值更新于 寫入指標306內(nèi)。請參照圖6,其所繪示為根據(jù)本發(fā)明一實施例的存儲器控制器的控制方法流程圖。 于存儲器控制器開始運作時,獲得一行地址觸發(fā)延遲時間CL(步驟S10)。接著,當(dāng)指令產(chǎn) 生器304發(fā)出一讀取指令時(步驟S12),則于行地址觸發(fā)延遲時間CL之內(nèi)將讀取指標308 內(nèi)的讀取計數(shù)值更新于寫入指標306的寫入計數(shù)值(步驟S14)。反之,當(dāng)指令產(chǎn)生器304 未發(fā)出讀取指令時(步驟S12),則繼續(xù)等待指令產(chǎn)生器304發(fā)出讀取指令。當(dāng)然,于寫入指 標306的寫入計數(shù)值被更新之后,即可再次等待下一次的讀取指令產(chǎn)生。因此,于行地址觸發(fā)延遲時間CL之后,存儲器模塊400開始產(chǎn)生數(shù)據(jù)觸發(fā)信號DQS 與數(shù)據(jù)串行信號DQO DQ7并將有效數(shù)據(jù)輸入先進先出緩沖器310時,寫入指標306內(nèi)的 寫入計數(shù)值已經(jīng)確認為正確的數(shù)值。據(jù)此,寫入指標306根據(jù)數(shù)據(jù)觸發(fā)信號DQS來繼續(xù)計 數(shù)并可進一步確定處理電路312將不會接收到錯誤的數(shù)據(jù)而產(chǎn)生誤動作。然而,在此技術(shù)領(lǐng)域的技術(shù)人員也可以利用其它方式來達成相同的功效。請參照 圖7,其所繪示為根據(jù)本發(fā)明另一實施例的存儲器控制器的控制方法流程圖。于存儲器控制 器開始運作時,獲得一行地址觸發(fā)延遲時間CL (步驟S20)。接著,當(dāng)指令產(chǎn)生器304發(fā)出一 讀取指令時(步驟S22),則判斷讀取指標308內(nèi)的讀取計數(shù)值是否等于寫入指標306的寫 入計數(shù)值(步驟S24)。反之,當(dāng)指令產(chǎn)生器304未發(fā)出讀取指令時(步驟S12),則繼續(xù)等 待指令產(chǎn)生器304發(fā)出讀取指令。接著,當(dāng)讀取指標308內(nèi)的讀取計數(shù)值不等于寫入指標306的寫入計數(shù)值時(步 驟S24),于行地址觸發(fā)延遲時間CL之內(nèi)將讀取指標308內(nèi)的讀取計數(shù)值更新于寫入指標 306的寫入計數(shù)值(步驟S26),并且于寫入指標306的寫入計數(shù)值被更新之后,即可再次等 待下一次的讀取指令產(chǎn)生。接著,當(dāng)讀取指標308內(nèi)的讀取計數(shù)值等于寫入指標306的寫入計數(shù)值時(步驟 S24),則不需進行寫入指標306的更新,直接等待下一次的讀取指令產(chǎn)生。
也就是說,于讀取指令產(chǎn)生后且有效數(shù)據(jù)輸入先進先出存儲器310之前,指標校 正單元304可比較讀取指標308與寫入指標306內(nèi)的寫入計數(shù)值與讀取計數(shù)值。當(dāng)寫入計 數(shù)值與讀取計數(shù)值相同時,指標校正單元304不更新寫入指標306 ;反之,當(dāng)寫入計數(shù)值與 讀取計數(shù)值不相同時,指標校正單元304利用正確的讀取計數(shù)值來更新寫入指標306的寫 入計數(shù)值。因此,本發(fā)明提出一種存儲器控制器及其控制方法,于有效數(shù)據(jù)即將寫入先進先 出緩沖器之前,利用一指標校正單元將正確的讀取計數(shù)值更新于寫入指標內(nèi)的寫入計數(shù) 值,確保后續(xù)的處理電路不會讀取到無效數(shù)據(jù)而造成系統(tǒng)的死機。綜上所述,雖然本發(fā)明已以較佳實施例揭露如上,然而其并非用以限定本發(fā)明,任 何熟悉此技術(shù)者,在不脫離本發(fā)明之精神和范圍內(nèi),當(dāng)可作出各種等同的改變或替換,因此 本發(fā)明的保護范圍當(dāng)視后附的本申請權(quán)利要求范圍所界定的為準。
權(quán)利要求
1.一種存儲器控制器,連接至一存儲器模塊,該存儲器控制器包括一時脈產(chǎn)生器,用以產(chǎn)生一內(nèi)部時脈,以及產(chǎn)生一外部時脈至該存儲器模塊; 一指令產(chǎn)生器,用以根據(jù)該外部時脈產(chǎn)生一讀取指令至該存儲器模塊; 一先進先出緩沖器,用以于該指令產(chǎn)生器產(chǎn)生該讀取指令后的一行地址觸發(fā)延遲時 間,根據(jù)該存儲器模塊產(chǎn)生的一數(shù)據(jù)觸發(fā)信號將該存儲器模塊產(chǎn)生的一數(shù)據(jù)串行信號中的 數(shù)據(jù)寫入該先進先出緩沖器;一處理電路,用以根據(jù)該內(nèi)部時脈運作并讀取該先進先出緩沖器內(nèi)的數(shù)據(jù); 一寫入指標,用以根據(jù)該數(shù)據(jù)觸發(fā)信號進行計數(shù)以產(chǎn)生一寫入計數(shù)值,并且該寫入計 數(shù)值是代表該先進先出緩沖器內(nèi)有效數(shù)據(jù)的位置;一讀取指標,用以根據(jù)該處理電路讀取該先進先出緩沖器內(nèi)數(shù)據(jù)的次數(shù)進行計數(shù)以產(chǎn) 生一讀取計數(shù)值,并且該讀取計數(shù)值是代表該先進先出緩沖器內(nèi)無效數(shù)據(jù)的位置;以及一指標校正單元,連接至該指令產(chǎn)生器,用以于該讀取指令產(chǎn)生后且該存儲器模塊輸 出數(shù)據(jù)之前,控制該寫入計數(shù)值相同于該讀取計數(shù)值。
2.根據(jù)權(quán)利要求1所述的存儲器控制器,其特征在于,該存儲器模塊為一雙倍數(shù)據(jù)速 率存儲器模塊。
3.根據(jù)權(quán)利要求1所述的存儲器控制器,其特征在于,當(dāng)該處理電路讀取一次該先進 先出緩沖器內(nèi)的數(shù)據(jù)時,該讀取指標加1。
4.根據(jù)權(quán)利要求1所述的存儲器控制器,其特征在于,該先進先出緩沖器是一環(huán)緩沖 器,且該讀取指標與該寫入指標是計數(shù)器。
5.根據(jù)權(quán)利要求1所述的存儲器控制器,其特征在于,該指標校正單元是比較該讀取 計數(shù)值與該寫入計數(shù)值,且于該讀取計數(shù)值與該寫入計數(shù)值不相同時,將該讀取指標內(nèi)的 該讀取計數(shù)值更新于該寫入指標內(nèi)的該寫入計數(shù)值。
6.一種存儲器控制器的控制方法,該存儲器控制器連接至一存儲器模塊,該控制方法 包括下列步驟獲得該存儲器模塊的一行地址觸發(fā)延遲時間; 判斷該存儲器控制器中的一指令產(chǎn)生器是否產(chǎn)生一讀取指令;以及 當(dāng)該指令產(chǎn)生器產(chǎn)生該讀取指令時,于該行地址觸發(fā)延遲時間內(nèi),將該存儲器控制器 中一讀取指標的一讀取計數(shù)值更新于一寫入指標的一寫入計數(shù)值。
7.根據(jù)權(quán)利要求6所述的存儲器控制器的控制方法,其特征在于,該存儲器模塊為一 雙倍數(shù)據(jù)速率存儲器模塊。
8.根據(jù)權(quán)利要求7所述的存儲器控制器的控制方法,其特征在于,還包括下列步驟 于產(chǎn)生該讀取指令之后的該行地址觸發(fā)延遲時間,根據(jù)該雙倍數(shù)據(jù)速率存儲器模塊的一數(shù)據(jù)觸發(fā)信號來更改該寫入指標的該寫入計數(shù)值,并且該寫入計數(shù)值是代表該存儲器控 制器中一先進先出緩沖器內(nèi)有效數(shù)據(jù)的位置。
9.根據(jù)權(quán)利要求8所述的存儲器控制器的控制方法,其特征在于,還包括下列步驟 于該存儲器控制器中的一處理電路讀取該先進先出緩沖器內(nèi)數(shù)據(jù)的次數(shù)來改變該讀取計數(shù)值,并且該讀取計數(shù)值是代表該先進先出緩沖器內(nèi)無效數(shù)據(jù)的位置。
10.根據(jù)權(quán)利要求8所述的存儲器控制器,其特征在于,該先進先出緩沖器是一環(huán)緩沖 器,且該讀取指標與該寫入指標是計數(shù)器。
11.一種存儲器控制器的控制方法,該存儲器控制器連接至一存儲器模塊,該控制方法 包括下列步驟獲得該存儲器模塊的一行地址觸發(fā)延遲時間; 判斷該存儲器控制器中的一指令產(chǎn)生器是否產(chǎn)生一讀取指令; 當(dāng)該指令產(chǎn)生器產(chǎn)生該讀取指令時,比較該存儲器控制器中一讀取指標的一讀取計數(shù) 值與一寫入指標的一寫入計數(shù)值;以及于該讀取計數(shù)值與該寫入計數(shù)值不相同時,于該行地址觸發(fā)延遲時間內(nèi),將該存儲器 控制器中該讀取指標的該讀取計數(shù)值更新于該寫入指標的該寫入計數(shù)值。
12.根據(jù)權(quán)利要求11所述的存儲器控制器的控制方法,其特征在于,該存儲器模塊為 一雙倍數(shù)據(jù)速率存儲器模塊。
13.根據(jù)權(quán)利要求12所述的存儲器控制器的控制方法,其特征在于,還包括下列步驟 于產(chǎn)生該讀取指令之后的該行地址觸發(fā)延遲時間,根據(jù)雙倍數(shù)據(jù)速率存儲器模塊的一數(shù)據(jù)觸發(fā)信號來更改該寫入指標的該寫入計數(shù)值,并且該寫入計數(shù)值是代表該存儲器控制 器中一先進先出緩沖器內(nèi)有效數(shù)據(jù)的位置。
14.根據(jù)權(quán)利要求13所述的存儲器控制器的控制方法,其特征在于,還包括下列步驟 于該存儲器控制器中的一處理電路讀取該先進先出緩沖器內(nèi)數(shù)據(jù)的次數(shù)來改變該讀取計數(shù)值,并且該讀取計數(shù)值是代表該先進先出緩沖器內(nèi)無效數(shù)據(jù)的位置。
15.根據(jù)權(quán)利要求13所述的存儲器控制器,其特征在于,該先進先出緩沖器是一環(huán)緩 沖器,且該讀取指標與該寫入指標是計數(shù)器。
全文摘要
本發(fā)明揭露一種存儲器控制器及其控制方法。此存儲器控制器連接至一存儲器模塊,并以一先進先出緩沖器接收存儲器模塊輸出的數(shù)據(jù),以一寫入指標來代表該先進先出緩沖器內(nèi)有效數(shù)據(jù)的位置,及以一讀取指標來代表該先進先出緩沖器內(nèi)無效數(shù)據(jù)的位置。根據(jù)該存儲器控制器的控制方法,于該存儲器控制器產(chǎn)生一讀取指令產(chǎn)生之后的一行地址觸發(fā)延遲時間之內(nèi),該寫入指標內(nèi)的寫入計數(shù)值是控制相同于該讀取指標內(nèi)的讀取計數(shù)值。
文檔編號G11C7/10GK102110461SQ20091026255
公開日2011年6月29日 申請日期2009年12月24日 優(yōu)先權(quán)日2009年12月24日
發(fā)明者劉先鳳, 葉明杰, 陳宥霖 申請人:晨星半導(dǎo)體股份有限公司, 晨星軟件研發(fā)(深圳)有限公司
網(wǎng)友詢問留言 已有0條留言
  • 還沒有人留言評論。精彩留言會獲得點贊!
1