專利名稱:同步動態(tài)存儲器的訪問控制方法及同步動態(tài)存儲器控制器的制作方法
技術領域:
本發(fā)明涉及存儲控制技術,尤其涉及一種同步動態(tài)存儲器(SDRAM)的訪問控制方法、一種SDRAM控制器以及一種控制單元。
背景技術:
如今在嵌入式系統(tǒng)中SDRAM的使用越來越頻繁,對SDRAM的訪問也越來越多,SDRAM的訪問控制在某種意義上決定了整個系統(tǒng)的性能。對SDRAM的訪問控制一般是通過SDRAM控制器執(zhí)行的,SDRAM控制器的結構參見圖1所示,主要包括控制狀態(tài)機、寄存器組與數據緩存區(qū)、片內總線協議接口和SDRAM總線協議接口這幾個部分。其中,寄存器組主要用于存儲一些控制信息與狀態(tài)信息;片內總線協議接口主要用于解析芯片內部總線協議,在控制狀態(tài)機的控制下根據芯片內部總線協議從芯片內部總線讀入數據到數據緩存區(qū)、或者從數據緩存區(qū)讀取數據發(fā)送給芯片內部總線;SDRAM總線協議接口主要用于解析SDRAM總線協議,在控制狀態(tài)機的控制下對SDRAM進行初始化配置,并將數據從數據緩存區(qū)寫入SDRAM、或者從SDRAM中讀取數據寫入數據緩存區(qū)。也就是說,現有的SDRAM控制器主要只是完成了基本的片內總線協議和SDRAM總線協議之間的協議轉換,并且采用最保守的方法滿足該協議轉換,而并不考慮效率。
目前嵌入式系統(tǒng)中的SDRAM控制器主要是供中央處理器(CPU)使用。但在常用的多媒體處理芯片等實際應用中,SDRAM控制器不僅要提供給CPU使用,還要提供給各個功能模塊使用,很多情況下芯片內部總線的設備們(如視頻設備、音頻設備等)會通過多個通道同時對SDRAM進行訪問。SDRAM的訪問效率高低與一次性向SDRAM中讀寫的數據量大小有關,一次讀寫的數據量越大即采用突發(fā)傳輸的數據量越大,SDRAM的訪問效率就越高。而對于零散的訪問,SDRAM控制器只能進行單個數據操作,這將嚴重影響SDRAM的訪問效率。
對于多個設備同時訪問SDRAM的情況而言,由于它們的訪問順序不固定,地址隨機性極強,因此這種訪問的無規(guī)律性容易造成SDRAM訪問效率的降低,導致系統(tǒng)帶寬偏低、性能下降。并且,對于多區(qū)(BANK)SDRAM而言,由于其跨區(qū)操作是隨機的,且由于SDRAM自身固有的一些特性,如在跨行操作的時候必須進行預充電、必須定期進行刷新等,使得多區(qū)SDRAM無法得到高效利用。也就是說,現有的SDRAM訪問控制方法和SDRAM控制器已經無法滿足日益增長的對SDRAM的訪問需求,SDRAM的訪問效率較為低下,SDRAM的使用率也較低。
發(fā)明內容
有鑒于此,本發(fā)明的主要目的在于提供一種SDRAM的訪問控制方法、一種SDRAM控制器以及一種控制單元,以便于提高SDRAM的訪問效率。
為達到上述目的,本發(fā)明提供的SDRAM訪問控制方法如下SDRAM控制器將收到的對SDRAM的訪問命令插入調度隊列中,并根據SDRAM的工作狀態(tài)處理所述訪問命令。
所述SDRAM控制器將收到的對SDRAM的訪問命令插入調度隊列中包括SDRAM控制器判斷自身緩存的訪問命令中是否存在與收到的訪問命令同行的操作,如果存在,則將收到的訪問命令插入所述緩存的同行訪問命令之后;否則,按照正常調度流程將收到的訪問命令插入調度隊列中。
所述SDRAM控制器將收到的對SDRAM的訪問命令插入調度隊列中之前進一步包括SDRAM控制器對收到的訪問命令所對應的地址進行重映射;所述SDRAM控制器將收到的對SDRAM的訪問命令插入調度隊列中包括SDRAM控制器使用重映射后的地址替換所述訪問命令原有地址,并將經過地址重映射后的訪問命令插入調度隊列中。
所述SDRAM控制器根據SDRAM的工作狀態(tài)處理所述訪問命令包括SDRAM控制器優(yōu)先執(zhí)行與前一次操作同行的訪問命令。
所述SDRAM控制器優(yōu)先執(zhí)行與前一次操作同行的訪問命令之前進一步包括SDRAM控制器判斷前一次操作所對應的區(qū)是否需要刷新或預充電,并在不需要時優(yōu)先執(zhí)行與前一次操作同行的訪問命令。
所述SDRAM控制器根據SDRAM的工作狀態(tài)處理所述訪問命令包括當同時有一個以上的SDRAM區(qū)可以訪問且不存在同行操作時,SDRAM控制器按照并行矢量接入中FirstHit函數的計算公式選擇區(qū),并執(zhí)行該區(qū)的訪問命令。
本發(fā)明提供的SDRAM控制器包括片內總線協議接口、主控制單元、以及與SDRAM各區(qū)一一對應的區(qū)控制單元,其中,主控制單元,用于將收到的來自片內總線協議接口的訪問命令廣播給各個區(qū)控制單元,并用于接收來自區(qū)控制單元的區(qū)操作申請,根據當前各區(qū)的工作狀態(tài)授予其中一區(qū)控制單元訪問權限;區(qū)控制單元,用于將收到的屬于本區(qū)的的訪問命令插入調度隊列中,并向主控制單元發(fā)送區(qū)操作申請,在獲得訪問權限后對相應的區(qū)進行訪問。
所述工作狀態(tài)包括是否存在同行操作;所述主控制單元用于將訪問權限優(yōu)先授予存在同行操作的區(qū)所對應的區(qū)控制單元。
所述工作狀態(tài)包括是否需要預充電或刷新;所述主控制單元用于將訪問權限優(yōu)先授予無需進行預充電或刷新的區(qū)所對應的區(qū)控制單元。
該控制器進一步包括地址重映射單元,用于對片內總線協議接口發(fā)送來的訪問命令所對應的地址進行重映射,并將重映射后的地址發(fā)送給主控制單元;主控制單元,用于使用重映射后的地址替換所述訪問命令原有地址,并將經過地址重映射后的訪問命令廣播給各個區(qū)控制單元。
所述區(qū)控制單元包括SDRAM總線協議接口、訪問調度單元和調度流水單元,其中,訪問調度單元,用于在收到屬于本區(qū)的訪問命令時,判斷調度流水單元緩存的訪問命令中是否存在與收到的訪問命令同行的操作,如果存在,則將收到的訪問命令插入所述緩存的同行訪問命令之后的調度流水單元中,否則,按照正常調度流程將收到的訪問命令插入調度流水單元中;并向主控制單元發(fā)送區(qū)操作申請,在獲得訪問權限后通過SDRAM總線協議接口對相應的區(qū)執(zhí)行調度流水單元中緩存的訪問命令;調度流水單元,用于緩存訪問調度單元插入的訪問命令。
所述訪問調度單元進一步用于,在當前操作與前一次操作同行時向主控制單元發(fā)送同行信號。
本發(fā)明提供的控制單元包括SDRAM總線協議接口、訪問調度單元和調度流水單元,其中,調度流水單元,用于緩存訪問命令;訪問調度單元,用于在收到訪問命令時,判斷調度流水單元緩存的訪問命令中是否存在與收到的訪問命令同行的操作,如果存在,則將收到的訪問命令插入所述緩存的同行訪問命令之后的調度流水單元中,否則,按照正常調度流程將收到的訪問命令插入調度流水單元中;并通過SDRAM總線協議接口對SDRAM執(zhí)行調度流水單元中緩存的訪問命令。
所述訪問調度單元進一步用于,對收到的訪問命令所對應的地址進行重映射,并判斷調度流水單元緩存的訪問命令中是否存在與經地址重映射后的訪問命令同行的操作。
由此可見,在本發(fā)明中,SDRAM控制器接收到對SDRAM的訪問命令后,需要判斷是否存在同行操作,如果存在,則優(yōu)先執(zhí)行同行訪問命令,也就是說,對于同一行的操作即使不是連續(xù)發(fā)生的命令也優(yōu)先進行,盡量提高每一次行操作的效率,實現SDRAM訪問效率的提高;并且,對于規(guī)律性出現的零散的SDRAM操作,SDRAM控制器可以將其進行組合重新映射到新的連續(xù)的地址上,然后再按照映射后的地址執(zhí)行SDRAM操作,這樣可以進一步提高SDRAM的訪問效率;另外,對于多區(qū)SDRAM,SDRAM控制器可以利用多區(qū)SDRAM的特性,對SDRAM的訪問進行調度,若需要對某一個區(qū)進行刷新或預充電,則先進行其它區(qū)的操作,盡量保證每個時刻都有一個區(qū)可以進行操作而其它的區(qū)在刷新或預充電,使得多區(qū)SDRAM的各個區(qū)都能得到充分利用,從而提高SDRAM的訪問效率和使用率。
圖1為現有技術中的SDRAM控制器結構示意圖。
圖2為本發(fā)明實施例中的地址重映射過程示意圖。
圖3為本發(fā)明實施例中的SDRAM控制器結構示意圖。
圖4為本發(fā)明實施例中的區(qū)控制單元結構示意圖。
圖5為本發(fā)明實施例中主控制器選擇區(qū)控制單元的流程示意圖。
具體實施例方式
為使本發(fā)明的目的、技術方案及優(yōu)點更加清楚明白,下面參照附圖并舉實施例,對本發(fā)明作進一步詳細說明。
本發(fā)明提供的SDRAM訪問控制方法的基本思想是,SDRAM控制器收到對SDRAM的訪問命令后,將收到的訪問命令插入調度隊列中,并根據SDRAM的工作狀態(tài)處理所述訪問命令。
由于SDRAM在跨行操作時必須進行預充電,而SDRAM的訪問效率高低又與一次性向SDRAM中讀寫的數據量大小有關,因此,為了提高每一次行操作的效率,SDRAM控制器在收到對SDRAM的訪問命令后,可以將同行的訪問命令進行合并。具體而言,即SDRAM控制器判斷自身緩存的訪問命令中是否存在與收到的訪問命令同行的操作,如果存在,則將收到的訪問命令插入所述緩存的同行訪問命令之后;否則,按照正常調度流程將收到的訪問命令插入調度隊列中。
另外,為了避免零散操作對訪問效率的影響,提高SDRAM的訪問效率,SDRAM控制器可以在將訪問命令插入調度隊列之前,對收到的訪問命令所對應的地址進行重映射。也就是說,SDRAM控制器對有規(guī)律的零散操作進行重新組合,將規(guī)律性出現的不連續(xù)的地址映射到新的連續(xù)的地址上。然后,SDRAM控制器使用重映射后的地址替換訪問命令的原有地址,并將經過地址重映射后的訪問命令插入調度隊列中,按照經地址重映射后的訪問命令對SDRAM進行訪問操作。
比如,當系統(tǒng)執(zhí)行某一項任務時,如果連續(xù)對某一個區(qū)的不同行進行操作,則可以通過地址重映射將這些不同行的地址重新映射到連續(xù)的同一行中,以達到盡量多地對同一行進行操作的目的,從而提高SDRAM的訪問效率。當對同一行的操作完成后,可以換區(qū)進行操作,使原來的區(qū)可以進行預充電或刷新等。地址重映射的過程參見圖2所示,其中,左邊是映射前的地址,右邊是映射后的地址。由圖2可見,經過地址重映射后,系統(tǒng)中不同模塊對SDRAM操作的不連續(xù)的無規(guī)律的地址變成了連續(xù)的有規(guī)律的地址,就如同中央處理器(CPU)對SDRAM的操作經過高速緩沖存儲器(cache)一樣。
其中,SDRAM的工作狀態(tài)包括SDRAM是否在刷新或預充電、是否存在同行操作等。
SDRAM控制器根據SDRAM的工作狀態(tài)處理訪問命令包括優(yōu)先執(zhí)行與前一次操作同行的訪問命令;對于多區(qū)SDRAM,可以利用多區(qū)SDRAM的特性,對SDRAM的訪問進行調度,當需要對某一個區(qū)進行刷新或預充電,則先進行其它區(qū)的操作,盡量保證每個時刻都有一個區(qū)可以進行操作而其它的區(qū)在刷新或預充電,使得多區(qū)SDRAM的各個區(qū)都能得到充分利用,提高SDRAM的訪問效率和使用率;當同時有一個以上的區(qū)可以訪問且不存在同行操作時,SDRAM控制器可以按照并行矢量接入(Parallel Vector Access,PVA)中FirstHit函數的計算公式選擇區(qū),并執(zhí)行該區(qū)的訪問命令。
圖3所示為本發(fā)明實施例中的SDRAM控制器結構示意圖。下面結合圖3對本發(fā)明進行詳細闡述。
如圖3所示,SDRAM控制器主要包括片內總線協議接口、主控制單元以及與SDRAM的各區(qū)一一對應的區(qū)控制單元。片內總線協議接口受主控制單元的控制,當發(fā)起的傳輸是向SDRAM寫數據時,主控制單元控制控制片內總線協議接口讀取數據和內存地址信息;當發(fā)起的傳輸是從SDRAM讀數據時,主控制單元將數據寫入片內總線協議接口中。
當然,除了這些單元,本發(fā)明提供的SDRAM控制器還包括一些與傳統(tǒng)SDRAM控制器相同的基本單元,比如寄存器組。這些基本單元的功能與現有技術一致,這里不再贅述。
下面主要對主控制單元和區(qū)控制單元的功能進行詳細說明。
主控制單元通過片內總線協議接口收到對SDRAM的訪問命令后,將收到的訪問命令廣播給各個區(qū)控制單元。比如將從片內總線協議接口傳過來的地址、數據以及從地址重映射單元返回的內存地址廣播到各個區(qū)控制單元上,由區(qū)控制單元決定是否對本區(qū)的SDRAM進行操作。
區(qū)控制單元收到主控制單元廣播的訪問命令后,將收到的屬于本區(qū)的的訪問命令插入調度隊列中;并在需要對本區(qū)進行操作時,向主控制單元發(fā)送區(qū)操作申請。主控制單元收到來自區(qū)控制單元的區(qū)操作申請后,根據當前各區(qū)的工作狀態(tài)(如是否需要刷新、預充電或是否為同行操作等)授予其中一個區(qū)控制單元對相應區(qū)進行訪問的權限。比如,主控制單元將訪問權限優(yōu)先授予存在同行操作的區(qū)所對應的區(qū)控制單元。當某區(qū)需要進行預充電或刷新時,控制單元將訪問權限優(yōu)先授予其它的無需進行預充電或刷新的區(qū)所對應的區(qū)控制單元。
區(qū)控制單元在獲得訪問權限后,就可以對自身對應的區(qū)進行訪問。當訪問命令是對SDRAM寫數據時,被授予訪問權限的區(qū)控制單元就將主控制單元傳送過來的數據寫入自己控制的區(qū)內;當訪問命令是從SDRAM讀數據時,被授予訪問權限的區(qū)控制單元就從自己控制的區(qū)內讀取數據并發(fā)送給主控制單元。
另外,主控制單元還會定期向各個區(qū)控制單元下發(fā)刷新指令,區(qū)控制單元收到刷新指令后對自身控制的區(qū)進行刷新操作。
關于區(qū)控制單元,其可以使用訪問調度機制來操作真正的SDRAM區(qū),響應主控制單元發(fā)出的讀、寫、預充電、刷新等操作。區(qū)控制單元的結構參見圖4所示,主要包括SDRAM總線協議接口、訪問調度單元以及一組調度流水單元。
其中,訪問調度單元,用于在收到屬于本區(qū)的訪問命令時,將收到的訪問命令插入調度流水單元中。每個調度流水單元都包括數據緩存部分,用于緩存訪問調度單元插入的訪問命令。調度流水單元組在正常模式下會進行移位操作,當最后一個調度流水單元完成操作后,之前的各個調度流水單元會相應的向后移動,以保證在正常情況下,先發(fā)起的傳輸能夠先完成。另外,在滿足時序要求的前提下,也可以根據需要將某些傳輸放到先進行的調度流水單元中。
下面對訪問調度單元和調度流水單元的工作過程進行詳細說明。
訪問調度單元收到來自主控制單元的屬于本區(qū)的訪問命令后,判斷調度流水單元緩存的訪問命令中是否存在與收到的訪問命令同行的操作,如果存在,則將收到的訪問命令插入所述緩存的同行訪問命令之后的調度流水單元中;否則,按照正常調度流程將收到的訪問命令插入調度流水單元中。
比如,當訪問調度單元收到的訪問命令與最后一個調度流水單元中的訪問命令位于同一行時,訪問調度單元就直接將收到的訪問命令插入倒數第二個調度流水單元中;當收到的訪問命令不與任何一個調度流水單元中的訪問命令同行時,訪問調度單元就將收到的訪問命令按照順序插入空的調度流水單元中。若收到的訪問命令為對SDRAM的寫操作,則插入調度流水單元中的內容包括寫控制信號、需要寫入的數據和地址等;若收到的訪問命令為對SDRAM的讀操作,則插入調度流水單元中的內容包括讀控制信號以及需要讀取的地址。
當倒數第二個調度流水單元中與最后一個調度流水單元中的訪問命令位于同一行時,訪問調度單元置起預置同行信號;當倒數第二個流水單元移位到最后一個調度流水單元時,訪問調度單元就向主控制單元發(fā)出同行信號,并向主控制單元發(fā)出區(qū)操作申請。若主控制單元授予訪問權限,允許其進行操作,訪問調度單元則執(zhí)行相應的區(qū)操作。比如,通過SDRAM總線協議接口將最后一個調度流水單元中的數據寫入SDRAM,或者通過SDRAM總線協議接口從SDRAM獲取數據并傳給主控制單元。
當所有的調度流水單元都為空時,從主控制單元傳來的控制信號和數據直接進入最后一個調度流水單元,并以次類推,直到將調度流水單元填滿為止。
另外,在主控制單元沒有發(fā)起強行刷新和預充電指令的情況下,訪問調度單元也可自動根據訪問情況和時間向調度流水單元中插入刷新和預充電指令。
其中,關于主控制單元在收到多個區(qū)控制單元的區(qū)操作申請后,具體給予哪個區(qū)控制單元以訪問權限可以按照圖5所示的流程進行處理。參見圖5所示,主控制單元選擇區(qū)控制器的流程主要包括以下步驟步驟501主控制單元接收來自區(qū)控制單元的區(qū)操作申請。
步驟502主控制單元判斷發(fā)出區(qū)操作申請的區(qū)控制單元對應的區(qū)是否需要進行刷新或預充電,若是,則執(zhí)行步驟507;否則,執(zhí)行步驟503。
步驟503主控制單元判斷是否收到區(qū)控制單元發(fā)出的同行信號,若是,則執(zhí)行步驟505;否則,執(zhí)行步驟504。
步驟504主控制單元判斷區(qū)控制單元對應的區(qū)是否符合并行矢量接入PVA中FirstHit函數的計算公式,如果符合,則執(zhí)行步驟505;否則,返回執(zhí)行步驟501。
也就是說,當同時有一個以上的區(qū)控制單元發(fā)出區(qū)操作申請,并且這些區(qū)控制單元對應的區(qū)均無需進行刷新或預充電,且不存在同行操作時,主控制單元可以按照PVA中FirstHit函數的計算公式選擇授予訪問權限的區(qū)控制單元。
步驟505主控制單元將訪問SDRAM的權限給予該區(qū)控制單元,該區(qū)控制單元得到訪問權限后對自身控制的區(qū)進行訪問操作。
步驟506主控制單元判斷區(qū)操作是否完畢,若是,則返回執(zhí)行步驟501;否則,返回執(zhí)行步驟505。
步驟507主控制單元向需要進行刷新或預充電的區(qū)對應的區(qū)控制單元發(fā)出預充電或刷新指令,區(qū)控制單元收到指令后,對本區(qū)進行預充電或刷新操作。
步驟508主控制單元判斷預充電或刷新是否結束,若是,則返回執(zhí)行步驟501;否則,繼續(xù)執(zhí)行本步驟。
由圖5可見,主控制單元在選擇區(qū)控制單元時主要滿足以下條件一、當一個區(qū)需要進行預充電或刷新操作時,則不將訪問權限給予該區(qū)對應的區(qū)控制單元;二、若需要訪問的數據位于當前正在訪問的區(qū)的同一行中,且該區(qū)無需進行刷新,則優(yōu)先將訪問權限給予當前正在訪問的區(qū)的區(qū)控制單元;三、區(qū)的選擇符合PVA中FirstHit函數的計算公式。
另外,為了避免零散操作對訪問效率的影響,提高系統(tǒng)對SDRAM的訪問效率,還可以在SDRAM控制器中增加地址重映射單元,如圖3所示。主控制單元收到從片內總線協議接口傳輸過來的對SDRAM的訪問命令后,根據寄存器組的配置狀況判斷是否需要進行地址重映射,并在需要時將收到的訪問命令所對應的SDRAM地址發(fā)送給地址重映射單元;地址重映射單元主要用于對有規(guī)律的零散操作進行重新組合,將收到的規(guī)律性出現的不連續(xù)的地址映射到新的連續(xù)的地址上,然后將映射后的地址返回給主控制單元;主控制單元收到后,使用重映射后的地址替換訪問命令的原有地址,并將經過地址重映射后的訪問命令廣播給各個區(qū)控制單元,然后按照經地址重映射后的訪問命令對SDRAM進行訪問操作。
另外,本發(fā)明還提出了一種控制單元,其結構與圖4一致,主要包括SDRAM總線協議接口、訪問調度單元和調度流水單元。其中,調度流水單元,用于緩存訪問命令;訪問調度單元,用于在收到訪問命令時,判斷調度流水單元緩存的訪問命令中是否存在與收到的訪問命令同行的操作,如果存在,則將收到的訪問命令插入所述緩存的同行訪問命令之后的調度流水單元中,否則,按照正常調度流程將收到的訪問命令插入調度流水單元中;并通過SDRAM總線協議接口對SDRAM執(zhí)行調度流水單元中緩存的訪問命令。
所述訪問調度單元還可進一步用于,在判斷是否存在同行操作前,對收到的訪問命令所對應的地址進行重映射,然后判斷調度流水單元緩存的訪問命令中是否存在與經地址重映射后的訪問命令同行的操作,之后再根據判斷結果進行相應處理。
以上所述對本發(fā)明的目的、技術方案和有益效果進行了進一步的詳細說明,所應理解的是,以上所述并不用以限制本發(fā)明,凡在本發(fā)明的精神和原則之內,所做的任何修改、等同替換、改進等,均應包含在本發(fā)明的保護范圍之內。
權利要求
1.一種同步動態(tài)存儲器SDRAM的訪問控制方法,其特征在于,包括SDRAM控制器將收到的對SDRAM的訪問命令插入調度隊列中,并根據SDRAM的工作狀態(tài)處理所述訪問命令。
2.根據權利要求1所述的方法,其特征在于,所述SDRAM控制器將收到的對SDRAM的訪問命令插入調度隊列中包括SDRAM控制器判斷自身緩存的訪問命令中是否存在與收到的訪問命令同行的操作,如果存在,則將收到的訪問命令插入所述緩存的同行訪問命令之后;否則,按照正常調度流程將收到的訪問命令插入調度隊列中。
3.根據權利要求2所述的方法,其特征在于,所述SDRAM控制器將收到的對SDRAM的訪問命令插入調度隊列中之前進一步包括SDRAM控制器對收到的訪問命令所對應的地址進行重映射;所述SDRAM控制器將收到的對SDRAM的訪問命令插入調度隊列中包括SDRAM控制器使用重映射后的地址替換所述訪問命令原有地址,并將經過地址重映射后的訪問命令插入調度隊列中。
4.根據權利要求1至3任一項所述的方法,其特征在于,所述SDRAM控制器根據SDRAM的工作狀態(tài)處理所述訪問命令包括SDRAM控制器優(yōu)先執(zhí)行與前一次操作同行的訪問命令。
5.根據權利要求4所述的方法,其特征在于,所述SDRAM控制器優(yōu)先執(zhí)行與前一次操作同行的訪問命令之前進一步包括SDRAM控制器判斷前一次操作所對應的區(qū)是否需要刷新或預充電,并在不需要時優(yōu)先執(zhí)行與前一次操作同行的訪問命令。
6.根據權利要求1至3任一項所述的方法,其特征在于,所述SDRAM控制器根據SDRAM的工作狀態(tài)處理所述訪問命令包括當同時有一個以上的SDRAM區(qū)可以訪問且不存在同行操作時,SDRAM控制器按照并行矢量接入中FirstHit函數的計算公式選擇區(qū),并執(zhí)行該區(qū)的訪問命令。
7.一種同步動態(tài)存儲器SDRAM控制器,其特征在于,包括片內總線協議接口、主控制單元、以及與SDRAM各區(qū)一一對應的區(qū)控制單元,其中,主控制單元,用于將收到的來自片內總線協議接口的訪問命令廣播給各個區(qū)控制單元,并用于接收來自區(qū)控制單元的區(qū)操作申請,根據當前各區(qū)的工作狀態(tài)授予其中一區(qū)控制單元訪問權限;區(qū)控制單元,用于將收到的屬于本區(qū)的的訪問命令插入調度隊列中,并向主控制單元發(fā)送區(qū)操作申請,在獲得訪問權限后對相應的區(qū)進行訪問。
8.根據權利要求7所述的控制器,其特征在于,所述工作狀態(tài)包括是否存在同行操作;所述主控制單元用于將訪問權限優(yōu)先授予存在同行操作的區(qū)所對應的區(qū)控制單元。
9.根據權利要求7所述的控制器,其特征在于,所述工作狀態(tài)包括是否需要預充電或刷新;所述主控制單元用于將訪問權限優(yōu)先授予無需進行預充電或刷新的區(qū)所對應的區(qū)控制單元。
10.根據權利要求7所述的控制器,其特征在于,該控制器進一步包括地址重映射單元,用于對片內總線協議接口發(fā)送來的訪問命令所對應的地址進行重映射,并將重映射后的地址發(fā)送給主控制單元;主控制單元,用于使用重映射后的地址替換所述訪問命令原有地址,并將經過地址重映射后的訪問命令廣播給各個區(qū)控制單元。
11.根據權利要求7、8、9或10所述的控制器,其特征在于,所述區(qū)控制單元包括SDRAM總線協議接口、訪問調度單元和調度流水單元,其中,訪問調度單元,用于在收到屬于本區(qū)的訪問命令時,判斷調度流水單元緩存的訪問命令中是否存在與收到的訪問命令同行的操作,如果存在,則將收到的訪問命令插入所述緩存的同行訪問命令之后的調度流水單元中,否則,按照正常調度流程將收到的訪問命令插入調度流水單元中;并向主控制單元發(fā)送區(qū)操作申請,在獲得訪問權限后通過SDRAM總線協議接口對相應的區(qū)執(zhí)行調度流水單元中緩存的訪問命令;調度流水單元,用于緩存訪問調度單元插入的訪問命令。
12.根據權利要求11所述的控制器,其特征在于,所述訪問調度單元進一步用于,在當前操作與前一次操作同行時向主控制單元發(fā)送同行信號。
13.一種控制單元,其特征在于,包括SDRAM總線協議接口、訪問調度單元和調度流水單元,其中,調度流水單元,用于緩存訪問命令;訪問調度單元,用于在收到訪問命令時,判斷調度流水單元緩存的訪問命令中是否存在與收到的訪問命令同行的操作,如果存在,則將收到的訪問命令插入所述緩存的同行訪問命令之后的調度流水單元中,否則,按照正常調度流程將收到的訪問命令插入調度流水單元中;并通過SDRAM總線協議接口對SDRAM執(zhí)行調度流水單元中緩存的訪問命令。
14.根據權利要求13所述的控制單元,其特征在于,所述訪問調度單元進一步用于,對收到的訪問命令所對應的地址進行重映射,并判斷調度流水單元緩存的訪問命令中是否存在與經地址重映射后的訪問命令同行的操作。
全文摘要
本發(fā)明提供了一種同步動態(tài)存儲器(SDRAM)的訪問控制方法,該方法包括SDRAM控制器將收到的對SDRAM的訪問命令插入調度隊列中,并根據SDRAM的工作狀態(tài)處理所述訪問命令。比如,優(yōu)先執(zhí)行同行訪問命令,利用多區(qū)SDRAM的特性對SDRAM的訪問進行調度等。同時,本發(fā)明還提供了一種SDRAM控制器,主要包括片內總線協議接口、主控制單元以及與SDRAM各區(qū)一一對應的區(qū)控制單元。該SDRAM控制器還可進一步包括地址重映射單元。另外,本發(fā)明還提供了一種控制單元,主要包括SDRAM總線協議接口、訪問調度單元和調度流水單元。利用本發(fā)明能夠提高SDRAM的訪問效率和使用率。
文檔編號G06F13/18GK101021819SQ200710064419
公開日2007年8月22日 申請日期2007年3月14日 優(yōu)先權日2007年3月14日
發(fā)明者鄒楊 申請人:北京中星微電子有限公司