專利名稱:存儲器訪問控制裝置、存儲器系統(tǒng)和存儲器訪問控制方法
技術(shù)領(lǐng)域:
本發(fā)明涉及一種用于控制對具有不同等待時間(latency)的多個存儲器裝置的訪問的存儲器訪問控制裝置和命令發(fā)出裝置以及方法。
背景技術(shù):
傳統(tǒng)上,設(shè)計基板使得大規(guī)模集成電路(LSI)和存儲器裝置之間的布線延遲(wiring delay)不超過存儲器的一個時鐘周期。然而,隨著工作頻率增高,已經(jīng)變得難以通過基板設(shè)計來保持布線延遲不超過存儲器的一個時鐘周期,并且出現(xiàn)了存儲器裝置具有不同的訪問等待時間的情況。 因此,已經(jīng)設(shè)想了能夠在考慮到布線延遲的情況下精確地進行與多個存儲器裝置的數(shù)據(jù)交換的存儲器訪問控制電路(例如,日本特開2003-173290號公報)。圖I是示出在傳統(tǒng)例子中的存儲器訪問控制電路的一個例子的框圖。如圖I所示,存儲器裝置191和192連接到存儲器訪問控制電路100,并且存儲器訪問控制電路100控制對存儲器裝置191和192的訪問。注意,在圖I中示出的例子中,使用DDR型存儲器裝置作為存儲器裝置。在圖I中,101是片選信號,并且當(dāng)存儲器訪問控制電路100訪問存儲器裝置191時斷言(assert)該信號。102是片選信號,并且當(dāng)存儲器訪問控制電路100訪問存儲器裝置192時斷言該信號。103是時鐘信號,并且將其從存儲器訪問控制電路100提供給存儲器裝置191和192。存儲器裝置191和192與時鐘信號103同步運行。104是命令信號,并且將其從存儲器訪問控制電路100發(fā)出給存儲器裝置191和192。當(dāng)斷言了相應(yīng)的片選信號101和102時,存儲器裝置191和192接收命令信號104,并進行與該命令的內(nèi)容相對應(yīng)的處理。105是雙向數(shù)據(jù)選通信號。當(dāng)發(fā)送數(shù)據(jù)時,存儲器訪問控制電路100以及存儲器裝置191和192驅(qū)動數(shù)據(jù)選通信號105。106是雙向數(shù)據(jù)信號。當(dāng)寫入時,存儲器訪問控制電路100在預(yù)定定時驅(qū)動數(shù)據(jù)信號106,并且當(dāng)讀取時,存儲器裝置191或存儲器裝置192在預(yù)定定時驅(qū)動數(shù)據(jù)信號106。在存儲器訪問控制電路100中,110是在前命令信息保持電路,并且保持與緊接之前(immediately before)發(fā)出的命令有關(guān)的信息。該在前命令信息保持電路110內(nèi)部設(shè)置有用于保持緊接之前發(fā)出的命令的讀取或?qū)懭敕较虻脑谇霸L問方向緩沖器111。120是命令信息保持電路,并且保持與接下來要發(fā)出的命令有關(guān)的信息。該命令信息保持電路120內(nèi)部設(shè)置有用于保持接下來要發(fā)出的命令的讀取或?qū)懭敕较虻脑L問方向緩沖器121。130是命令間隔信息保持電路,并且保持與從發(fā)出在前命令到發(fā)出下一命令的最小命令發(fā)出間隔有關(guān)的信息。該命令間隔信息保持電路130內(nèi)部配置有命令間隔緩沖器131a 131d,并且保持在前命令的讀取和寫入方向與下一命令的讀取和寫入方向的所有組合中的最小命令發(fā)出間隔。換句話說,在圖I中示出的例子中,保持了四組命令間隔。140是等待時間信息保持電路,并且保持與連接到存儲器訪問控制電路100的存儲器裝置的設(shè)置相對應(yīng)的存儲器裝置的讀取等待時間和寫入等待時間。150是命令發(fā)出控制電路,并且控制對存儲器裝置191和192的命令的發(fā)出。命令發(fā)出間隔選擇電路151根據(jù)在前訪問方向緩沖器111和訪問方向緩沖器121從命令間隔緩沖器131a 131d中選擇相關(guān)的命令間隔。接著,命令發(fā)出定時控制電路152將用于使下一命令發(fā)出的定時延遲由命令發(fā)出間隔選擇電路151所選擇的命令間隔。160是數(shù)據(jù)發(fā)出控制電路,并且在自從命令發(fā)出控制電路150發(fā)出了命令起經(jīng)過了與保持在等待時間信息保持電路140中的寫入等待時間等同的時間段之后,驅(qū)動數(shù)據(jù)信號106。170是數(shù)據(jù)接收控制電路,并且接收從存儲器裝置191和192讀取的數(shù)據(jù)。 180是存儲器訪問接口,并且接收來自外部電路的存儲器訪問請求,向命令發(fā)出控制電路150發(fā)送命令并將讀取或?qū)懭胄畔⒃O(shè)置到訪問方向緩沖器121中。下面說明用于計算要設(shè)置到命令間隔緩沖器131a 131d中的命令發(fā)出間隔的方法。計算方法如下面在(I)到⑷中列出。(I)發(fā)出寫入命令之后再發(fā)出寫入命令命令發(fā)出間隔=數(shù)據(jù)傳送長度/2+最小數(shù)據(jù)間隔(2)發(fā)出寫入命令之后再發(fā)出讀取命令命令發(fā)出間隔=在前訪問裝置寫入等待時間+數(shù)據(jù)傳送長度/2+最大訪問裝置布線延遲-下一訪問裝置讀取等待時間-最小訪問裝置布線延遲(3)發(fā)出讀取命令之后再發(fā)出寫入命令命令發(fā)出間隔=最大訪問裝置布線延遲X2+在前訪問裝置讀取等待時間+數(shù)據(jù)傳送長度/2+最小數(shù)據(jù)間隔-下一訪問裝置寫入等待時間(4)發(fā)出讀取命令之后再發(fā)出讀取命令命令發(fā)出間隔=最大訪問裝置布線延遲X2+數(shù)據(jù)傳送長度/2+最小數(shù)據(jù)間隔-最小訪問裝置布線延遲X2如果在不滿足使用上述計算方法計算出的命令發(fā)出間隔的情況下發(fā)出命令,則在存儲器訪問控制電路100與存儲器裝置191和192之間的數(shù)據(jù)信號的驅(qū)動之間存在發(fā)生沖突的風(fēng)險。注意,在存儲器訪問控制電路100與存儲器裝置191和192之間的讀取和寫入訪問均使用4拍(four-beat)傳送。假定存儲器訪問控制電路100和存儲器裝置191之間的布線延遲為O. 5個時鐘周期,并且假定存儲器訪問控制電路100和存儲器裝置192之間的布線延遲為I. 5個時鐘周期。假定保持在等待時間信息保持電路140中的讀取等待時間為3個時鐘周期,并且假定保持在等待時間信息保持電路140中的寫入等待時間為2個時鐘周期。如上所述,基于訪問長度、布線延遲和等待時間計算最小命令間隔值,使得通過存儲器訪問控制電路100以及存儲器裝置191和192對數(shù)據(jù)信號106的驅(qū)動不沖突,并且將這些最小命令間隔值設(shè)置到命令間隔緩沖器131a 131d中。
在傳統(tǒng)例子中,由于僅處理了 4拍的存儲器訪問,因此“數(shù)據(jù)傳送長度/2”為2個時鐘周期。此外,“最小數(shù)據(jù)間隔”是用于防止連續(xù)訪問的數(shù)據(jù)在數(shù)據(jù)信號中鄰接的間隔,并且該“最小數(shù)據(jù)間隔”通常為I個時鐘周期。當(dāng)使用上述命令發(fā)出間隔計算方法計算命令發(fā)出間隔時,結(jié)果如下。即,將下面的間隔(時鐘周期)設(shè)置到命令間隔緩沖器131a 131d中,并且在命令之間設(shè)置等于至少這些間隔的時鐘周期。(I)發(fā)出寫入命令之后再發(fā)出寫入命令(131a) 3個時鐘周期(2)發(fā)出寫入命令之后再發(fā)出讀取命令2個時鐘周期(3)發(fā)出讀取命令之后再發(fā)出寫入命令7個時鐘周期 (4)發(fā)出讀取命令之后再發(fā)出讀取命令5個時鐘周期參考圖2,現(xiàn)在說明在存儲器訪問控制電路100向存儲器裝置192發(fā)出讀取命令然后再向存儲器裝置191發(fā)出寫入命令的情況下的操作(操作例子I)。圖2是示出在傳統(tǒng)例子中發(fā)出命令時的操作例子I的時序圖。在圖2中,標記為存儲器訪問控制電路100的波形是通過采樣存儲器訪問控制電路100的信號管腳(signalpin)所獲得的波形。CLK、CS0、CS1和CMD是存儲器訪問控制電路100的輸出信號,并且DQS和DQ是存儲器訪問控制電路100的輸入/輸出信號。存儲器裝置191和存儲器裝置192是通過采樣存儲器裝置的信號管腳所獲得的波形。CLK_0、CS_0和CMD_0以及CLK_1、CS_1和CMD_1是存儲器裝置的輸入信號,并且DQS_0和DQ_0以及DQS_1和DQ_1是存儲器裝置的輸入/輸出信號。通過存儲器訪問接口 180將意為下一命令是讀取命令的信息設(shè)置到訪問方向緩沖器121中。當(dāng)設(shè)置了訪問方向緩沖器121時,由于在前訪問方向緩沖器111為空,因而命令發(fā)出間隔選擇電路151通知命令發(fā)出定時控制電路152在可能進行命令發(fā)出之前存在O個周期。另一方面,命令發(fā)出定時控制電路152接收表示在命令發(fā)出之前存在O個時鐘周期的信息,并且在O個時鐘周期之后給出命令發(fā)出許可。命令發(fā)出控制電路150斷言片選信號102并且發(fā)出讀取命令(T3)。命令發(fā)出控制電路150發(fā)出命令,并且同時將訪問方向緩沖器121的表示讀取的信息設(shè)置到在前訪問方向緩沖器111。同時,存儲器訪問接口 180將表示下一命令是寫入命令的信息設(shè)置到訪問方向緩沖器121。在I. 5個時鐘周期的延遲之后存儲器裝置192接收到由命令發(fā)出控制電路150發(fā)出的讀取命令(B4)。由于接收到的命令是讀取命令,因此存儲器裝置192在經(jīng)過了 3個時鐘周期的讀取等待時間之后驅(qū)動數(shù)據(jù)信號106 (B7)。在I. 5個時鐘周期的延遲之后數(shù)據(jù)接收控制電路170接收到由存儲器裝置192驅(qū)動的數(shù)據(jù)(T10 T12)。由于在前命令是讀取命令且下一命令是寫入命令,因而命令發(fā)出間隔選擇電路151選擇命令間隔緩沖器131c。因此,通知命令發(fā)出定時控制電路152在可能進行命令發(fā)出之前存在7個時鐘周期。命令發(fā)出定時控制電路152接收表示在命令發(fā)出之前存在7個時鐘周期的信息,并且在從發(fā)出在前命令(T3)起的7個時鐘周期之后給出命令發(fā)出許可。命令發(fā)出控制電路150斷言片選信號101并且發(fā)出寫入命令(TlO)。命令發(fā)出控制電路150發(fā)出命令,并且同時將訪問方向緩沖器121的信息設(shè)置到在前訪問方向緩沖器111。在O. 5個時鐘周期的延遲之后存儲器裝置191接收到由命令發(fā)出控制電路150發(fā)出的寫入命令(AU)。在從命令發(fā)出控制電路150發(fā)出了寫入命令的定時起經(jīng)過了由等待時間信息保持電路140保持的2個周期的寫入等待時間之后,數(shù)據(jù)發(fā)出控制電路160驅(qū)動數(shù)據(jù)信號106 (T13)。在O. 5個時鐘周期的延遲之后,存儲器裝置191接收到由數(shù)據(jù)發(fā)出控制電路160發(fā)出的數(shù)據(jù)(A13 A15)。接著,參考圖3,現(xiàn)在說明在存儲器訪問控制電路100向存儲器裝置191發(fā)出讀取命令然后再向存儲器裝置192發(fā)出寫入命令的情況下的操作(操作例子2)。圖3是示出在傳統(tǒng)例子中發(fā)出命令時的操作例子2的時序圖。注意,圖3中示出的波形的采樣點與圖2中的相同。
通過存儲器訪問接口 180將意為下一命令是讀取命令的信息設(shè)置到訪問方向緩沖器121。當(dāng)設(shè)置了訪問方向緩沖器121時,由于在前訪問方向緩沖器111為空,因而命令發(fā)出間隔選擇電路151通知命令發(fā)出定時控制電路152在可能進行命令發(fā)出之前存在O個周期。另一方面,命令發(fā)出定時控制電路152接收表示在命令發(fā)出之前存在O個時鐘周期的信息,并且在O個時鐘周期之后給出命令發(fā)出許可。命令發(fā)出控制電路150斷言片選信號101并且發(fā)出讀取命令(T3)。命令發(fā)出控制電路150發(fā)出命令,并且同時將訪問方向緩沖器121的表示讀取的信息設(shè)置到在前訪問方向緩沖器111。同時,存儲器訪問接口 180將表示下一命令是寫入命令的信息設(shè)置到訪問方向緩沖器121。在O. 5個時鐘周期的延遲之后,存儲器裝置191接收到由命令發(fā)出控制電路150發(fā)出的讀取命令(A4)。由于接收到的命令是讀取命令,因此存儲器裝置191在經(jīng)過了 3個時鐘周期的讀取等待時間之后驅(qū)動數(shù)據(jù)信號106 (A7)。在O. 5個時鐘周期的延遲之后,數(shù)據(jù)接收控制電路170接收到由存儲器裝置192驅(qū)動的數(shù)據(jù)(T8 T10)。由于在前命令是讀取命令且下一命令是寫入命令,因而命令發(fā)出間隔選擇電路151選擇命令間隔緩沖器131c。因此通知命令發(fā)出定時控制電路152在可能進行命令發(fā)出之前存在7個時鐘周期。命令發(fā)出定時控制電路152接收表示在命令發(fā)出之前存在7個時鐘周期的信息,并且在從發(fā)出在前命令(T3)起的7個時鐘周期之后給出命令發(fā)出許可。命令發(fā)出控制電路150斷言片選信號102并且發(fā)出寫入命令(TlO)。命令發(fā)出控制電路150發(fā)出命令,并且同時將訪問方向緩沖器121的信息設(shè)置到在前訪問方向緩沖器111。在I. 5個時鐘周期的延遲之后,存儲器裝置192接收到由命令發(fā)出控制電路150發(fā)出的寫入命令(BH)。在從命令發(fā)出控制電路150發(fā)出了寫入命令的定時起經(jīng)過了由等待時間信息保持電路140保持的2個周期的寫入等待時間之后,數(shù)據(jù)發(fā)出控制電路160驅(qū)動數(shù)據(jù)信號106(T13)。在I. 5個時鐘周期的延遲之后,存儲器裝置192接收到由數(shù)據(jù)發(fā)出控制電路160發(fā)出的數(shù)據(jù)(B13 B15)。僅說明了在讀取之后再寫入的情況下的操作,但寫入之后再寫入、寫入之后再讀取以及讀取之后再讀取的情況相同。換句話說,通過命令發(fā)出間隔選擇電路151從命令間隔緩沖器131a 131d中選擇相關(guān)的信息,并且命令發(fā)出定時控制電路152根據(jù)所選擇的信息來給出發(fā)出許可。由于命令發(fā)出控制電路150發(fā)出命令,因此在數(shù)據(jù)信號106的驅(qū)動沒有沖突的情況下進行數(shù)據(jù)傳送。然而,如果基于在前命令的讀取/寫入信息和下一命令的讀取/寫入信息來控制命令發(fā)出間隔,則需要等待命令發(fā)出間隔與對具有最大訪問等待時間的存儲器裝置的訪問相匹配??赡艹霈F(xiàn)這種情況即使當(dāng)訪問具有短的訪問等待時間的存儲器裝置時,由于命令發(fā)出間隔的過多間隙而使得無法驅(qū)動數(shù)據(jù)信號。例如,在上述相關(guān)技術(shù)例子中,在圖3中,即使將由存儲器訪問控制電路100發(fā)出的寫入命令提前兩個時鐘周期(T 8)發(fā)出,也可以在數(shù)據(jù)信號106的驅(qū)動不沖突的情況下進行存儲器訪問。因此,出現(xiàn)了在可能進行數(shù)據(jù)傳送的周期期間浪費了不必要的傳送間隔的問題,從而降低了存儲器總線的使用效率。
發(fā)明內(nèi)容
本發(fā)明的目的在于高效訪問存儲器。本發(fā)明的另一目的在于提供一種存儲器訪問控制裝置,用于控制到具有不同的等待時間的多個存儲器裝置的訪問,所述存儲器訪問控制裝置包括訪問部件,用于訪問所述多個存儲器裝置;以及控制部件,用于在通過所述訪問部件先進行第一訪問再進行第二訪問的情況下,根據(jù)在所述第一訪問中訪問的存儲器裝置和在所述第二訪問中訪問的存儲器裝置來控制由所述訪問部件進行所述第二訪問的定時。本發(fā)明的另一目的在于提供一種命令發(fā)出裝置,用于向具有不同的等待時間的多個存儲器裝置發(fā)出命令,所述命令發(fā)出裝置包括發(fā)出部件,用于向所述多個存儲器裝置之一發(fā)出命令;以及控制部件,用于在所述發(fā)出部件先發(fā)出第一命令再發(fā)出第二命令的情況下,根據(jù)接收所述第一命令的存儲器裝置和接收所述第二命令的存儲器裝置來控制由所述發(fā)出部件發(fā)出所述第二命令的定時。本發(fā)明的又一目的在于提供一種存儲器訪問控制方法,用于控制到具有不同的等待時間的多個存儲器裝置的訪問,所述存儲器訪問控制方法包括訪問步驟,用于訪問所述多個存儲器裝置,以及控制步驟,用于在所述訪問步驟中進行第一訪問和第二訪問的情況下,根據(jù)在所述第一訪問中訪問的存儲器裝置和在所述第二訪問中訪問的存儲器裝置來控制在所述訪問步驟中進行所述第二訪問的定時。本發(fā)明的又一目的在于提供一種命令發(fā)出方法,用于向具有不同的等待時間的多個存儲器裝置發(fā)出命令,所述命令發(fā)出方法包括發(fā)出步驟,用于向所述多個存儲器裝置之一發(fā)出命令;以及控制步驟,用于在先發(fā)出第一命令再發(fā)出第二命令的情況下,根據(jù)接收所述第一命令的存儲器裝置和接收所述第二命令的存儲器裝置來控制發(fā)出所述第二命令的定時。根據(jù)以下(參考附圖)對典型實施例的說明,本發(fā)明的其它特征將變得明顯。
圖I是示出傳統(tǒng)例子中的存儲器訪問控制電路的一個例子的框圖2是示出在傳統(tǒng)例子中發(fā)出命令時的操作例子I的時序圖;圖3是示出在傳統(tǒng)例子中發(fā)出命令時的操作例子2的時序圖;圖4是示出根據(jù)第一實施例的存儲器訪問控制電路的一個例子的框圖;圖5是示出使用根據(jù)第一實施例的命令發(fā)出計算方法計算出的命令發(fā)出間隔的圖;圖6是示出根據(jù)第一實施例的當(dāng)發(fā)出命令時的操作例子I的時序圖;圖7是示出根據(jù)第一實施例的當(dāng)發(fā)出命令時的操作例子2的時序圖;圖8是示出根據(jù)第二實施例的存儲器訪問控制電路的一個例子的框圖。
具體實施例方式參考附圖,下面詳細說明用于執(zhí)行本發(fā)明的優(yōu)選實施例。第一實施例圖4是示出根據(jù)第一實施例的存儲器訪問控制電路的一個例子的框圖。如在圖4中所示,兩個存儲器裝置591和592連接到存儲器訪問控制裝置500,并且存儲器訪問控制裝置500控制對存儲器裝置591和592的訪問。在第一實施例中,同樣使用DDR型存儲器裝置作為存儲器裝置。由于在存儲器訪問控制裝置500與存儲器裝置591和592之間的信號501到506與使用圖I說明的信號101到106相同,因此省略對這些信號的說明。在存儲器訪問控制裝置500中,510是在前命令信息保持電路,并且保持與緊接之前發(fā)出的命令有關(guān)的信息。在前命令信息保持電路510內(nèi)部設(shè)置有在前訪問方向緩沖器511和在前訪問裝置緩沖器512,其中,在前訪問方向緩沖器511用于保持緊接之前發(fā)出的命令的讀取或?qū)懭敕较?,在前訪問裝置緩沖器512用于保持與緊接之前發(fā)出的命令所訪問的裝置有關(guān)的信息。520是命令信息保持電路,并且保持與接下來要發(fā)出的命令有關(guān)的信息。命令信息保持電路520內(nèi)部設(shè)置有訪問方向緩沖器521和訪問裝置緩沖器522,其中,訪問方向緩沖器521用于保持接下來要發(fā)出的命令的讀取或?qū)懭敕较颍L問裝置緩沖器522用于保持與接下來要發(fā)出的命令所訪問的裝置有關(guān)的信息。530是命令間隔信息保持電路,并且保持與從發(fā)出在前命令到發(fā)出下一命令的最小命令發(fā)出間隔有關(guān)的信息。命令間隔信息保持電路530內(nèi)部設(shè)置有命令間隔緩沖器531a 531N,并且保持在前命令的訪問裝置和讀取及寫入方向以及下一命令的訪問裝置和讀取及寫入方向的所有組合中的最小命令發(fā)出間隔。在圖4示出的例子中,由于兩個存儲器裝置591和592連接到存儲器訪問控制裝置500,因此保持了 16組命令間隔。通過2 X (裝置數(shù))X 2 X (裝置數(shù))得出組合的總數(shù)N。540是等待時間信息保持電路,并且保持與連接到存儲器訪問控制裝置500的存儲器裝置的設(shè)置相對應(yīng)的存儲器裝置的讀取等待時間和寫入等待時間。550是命令發(fā)出控制電路,并且控制對存儲器裝置591和592的命令的發(fā)出。命令發(fā)出控制電路550可以由CPU(MPU)、ROM和外圍電路等構(gòu)成。命令發(fā)出間隔選擇電路551根據(jù)保持在在前命令信息保持電路510和命令信息保持電路520中的信息,從命令間隔緩沖器531a 531N中選擇相關(guān)的命令間隔。接著,命令發(fā)出定時控制電路552將用于使下一命令發(fā)出的定時延遲由命令發(fā)出間隔選擇電路551所選擇的命令間隔。560是數(shù)據(jù)發(fā)出控制電路,并在自從命令發(fā)出控制電路550發(fā)出了命令起經(jīng)過了與保持在等待時間信息保持電路540中的寫入等待時間等同的時間段之后,驅(qū)動數(shù)據(jù)信號506。570是數(shù)據(jù)接收控制電路,并且接收從存儲器裝置591和592讀取的數(shù)據(jù)。580是存儲器訪問接口,并且接收來自外部電路的存儲器訪問請求,向命令發(fā)出控制電路550發(fā)送命令并將讀取或?qū)懭胄畔⒃O(shè)置到訪問方向緩沖器521。下面說明用于計算要設(shè)置到命令間隔緩沖器531a 531N中的命令發(fā)出間隔的方法。計算方法如下面在(I) (4)中列出。(I)發(fā)出寫入命令之后再發(fā)出寫入命令命令發(fā)出間隔=數(shù)據(jù)傳送長度/2+最小數(shù)據(jù)間隔
(2)發(fā)出寫入命令之后再發(fā)出讀取命令命令發(fā)出間隔=在前訪問裝置寫入等待時間+數(shù)據(jù)傳送長度/2+在前訪問裝置布線延遲-下一訪問裝置讀取等待時間-下一訪問裝置布線延遲(3)發(fā)出讀取命令之后再發(fā)出寫入命令命令發(fā)出間隔=在前訪問裝置布線延遲X2+在前訪問裝置讀取等待時間+數(shù)據(jù)傳送長度/2+最小數(shù)據(jù)間隔-下一訪問裝置寫入等待時間(4)發(fā)出讀取命令之后再發(fā)出讀取命令命令發(fā)出間隔=在前訪問裝置布線延遲X 2+數(shù)據(jù)傳送長度/2+最小數(shù)據(jù)間隔-下一訪問裝置布線延遲X2如果在不滿足使用上述計算方法計算出的命令發(fā)出間隔的情況下發(fā)出命令,則在存儲器訪問控制裝置500與存儲器裝置591和592之間的數(shù)據(jù)信號的驅(qū)動之間存在發(fā)生沖突的風(fēng)險。注意,在存儲器訪問控制裝置500與存儲器裝置591和592之間的讀取和寫入訪問均使用4拍傳送。假定存儲器訪問控制裝置500與存儲器裝置591之間的布線延遲為O. 5個時鐘周期,并且假定存儲器訪問控制裝置500與存儲器裝置592之間的布線延遲為I. 5個時鐘周期。假定保持在等待時間信息保持電路540中的讀取等待時間為3個時鐘周期,并且假定保持在等待時間信息保持電路540中的寫入等待時間為2個時鐘周期。如上所述,基于訪問長度、布線延遲和等待時間來計算最小命令間隔值,使得通過存儲器訪問控制裝置500以及存儲器裝置591和592對數(shù)據(jù)信號506的驅(qū)動不會沖突,并且將這些最小命令間隔值設(shè)置到命令間隔緩沖器531a 531N。這里,由于僅處理了 4拍的存儲器訪問,因此“數(shù)據(jù)傳送長度/2”為2個時鐘周期。此外,“最小數(shù)據(jù)間隔”是用于防止連續(xù)訪問的數(shù)據(jù)在數(shù)據(jù)信號中鄰接的間隔,并且該“最小數(shù)據(jù)間隔”通常為一個時鐘周期。圖5是示出使用根據(jù)第一實施例的命令發(fā)出計算方法計算出的命令發(fā)出間隔的圖。換句話說,將圖5中示出的間隔(時鐘周期)設(shè)置到命令間隔緩沖器53Ia 53Ip (N=16,所以所添加的字母是P),并且需要等待大于或等于這些間隔的時鐘周期?,F(xiàn)在參考圖6說明在存儲器訪問控制裝置500向存儲器裝置592發(fā)出讀取命令然后再向存儲器裝置591發(fā)出寫入命令的情況下的操作(操作例子I)。
圖6是示出根據(jù)第一實施例的當(dāng)發(fā)出命令時的操作例子I的時序圖。注意,標記為存儲器訪問控制裝置500的波形是通過采樣存儲器訪問控制裝置500的信號管腳所獲得的波形。CLK、CS0、CS1和CMD是存儲器訪問控制裝置500的輸出信號,并且DQS和DQ是存儲器訪問控制裝置500的輸入/輸出信號。標記為存儲器裝置591和存儲器裝置592的波形是通過采樣存儲器裝置的信號管腳所獲得的波形。CLK_0、CS_0和CMD_0以及CLK_1、CS_1和CMD_1是存儲器裝置的輸入信號,并且DQS_0和DQ_0以及DQS_1和DQ_1是存儲器裝置的輸入/輸出信號。通過存儲器訪問接口 580將意為下一命令是讀取命令的信息設(shè)置到訪問方向緩沖器521中。當(dāng)設(shè)置了訪問方向緩沖器521時,由于在前訪問方向緩沖器511為空,因此命令發(fā)出間隔選擇電路551通知命令發(fā)出定時控制電路552在可能進行命令發(fā)出之前存在O個周期。
另一方面,命令發(fā)出定時控制電路552接收表示在命令發(fā)出之前存在O個時鐘周期的信息,并且在O個時鐘周期之后給出命令發(fā)出許可。命令發(fā)出控制電路550斷言片選信號502并且發(fā)出讀取命令(T3)。命令發(fā)出控制電路550發(fā)出命令,并同時將訪問方向緩沖器521的表示讀取的信息設(shè)置到在前訪問方向緩沖器511中。同時,存儲器訪問接口 580將表示下一命令是寫入命令的信息設(shè)置到訪問方向緩沖器521。在I. 5個時鐘周期的延遲之后,存儲器裝置592接收到由命令發(fā)出控制電路550發(fā)出的讀取命令(B4)。由于接收到的命令是讀取命令,因此存儲器裝置592在經(jīng)過了 3個時鐘周期的讀取等待時間之后驅(qū)動數(shù)據(jù)信號506 (B7)。在I. 5個時鐘周期的延遲之后,數(shù)據(jù)接收控制電路570接收到由存儲器裝置592驅(qū)動的數(shù)據(jù)(T10 T12)。由于在前命令是讀取、在前訪問裝置是存儲器裝置592、下一命令是寫入并且下一訪問裝置是存儲器裝置591,因而命令發(fā)出間隔選擇電路551選擇命令間隔緩沖器531m。因此,通知命令發(fā)出定時控制電路552在可能進行命令發(fā)出之前存在7個時鐘周期。另一方面,命令發(fā)出定時控制電路552接收表示在命令發(fā)出之前存在7個周期的信息,并且在7個時鐘周期之后給出命令發(fā)出許可。命令發(fā)出控制電路550斷言片選信號501并且發(fā)出寫入命令(TlO)。命令發(fā)出控制電路550發(fā)出命令,并且同時將訪問方向緩沖器521的信息設(shè)置到在前訪問方向緩沖器511。在O. 5個時鐘周期的延遲之后,存儲器裝置591接收到由命令發(fā)出控制電路550發(fā)出的寫入命令(AU)。在從命令發(fā)出控制電路550發(fā)出了寫入命令的定時起經(jīng)過了由等待時間信息保持電路540保持的2個周期的寫入等待時間之后,數(shù)據(jù)發(fā)出控制電路560驅(qū)動數(shù)據(jù)信號506 (T13)。在O. 5個時鐘周期的延遲之后,存儲器裝置591接收到由數(shù)據(jù)發(fā)出控制電路560發(fā)出的數(shù)據(jù)(A13 A15)。接著,參考圖7,現(xiàn)在說明在存儲器訪問控制裝置500向存儲器裝置591發(fā)出讀取命令然后再向存儲器裝置592發(fā)出寫入命令的情況下的操作(操作例子2)。圖7是示出根據(jù)第一實施例的當(dāng)發(fā)出命令時的操作例子2的時序圖。注意,圖7中示出的波形的采樣點與圖6中示出的相同。通過存儲器訪問接口 580將意為下一命令是讀取命令的信息設(shè)置到訪問方向緩沖器521中。當(dāng)設(shè)置了訪問方向緩沖器521時,由于在前訪問方向緩沖器511為空,因此命令發(fā)出間隔選擇電路551通知命令發(fā)出定時控制電路522在可能進行命令發(fā)出之前存在O個周期。另一方面,命令發(fā)出定時控制電路552接收表示在命令發(fā)出之前存在O個時鐘周期的信息,并且在O個時鐘周期之后給出命令發(fā)出許可。命令發(fā)出控制電路550斷言片選信號501并且發(fā)出讀取命令(T3)。命令發(fā)出控制電路550發(fā)出命令,并且同時將訪問方向緩沖器521的表示讀取的信息設(shè)置到在前訪問方向緩沖器511。同時,存儲器訪問接口 580將表示下一命令是寫入命令的信息設(shè)置到訪問方向緩沖器521。在O. 5個時鐘周期的延遲之后,存儲器裝置591接收到由命令發(fā)出控制電路550發(fā)出的讀取命令(A4)。由于接收到的命令是讀取命令,因而存儲器裝置591在經(jīng)過了 3個時鐘周期的讀取等待時間之后驅(qū)動數(shù)據(jù)信號506 (A7)。在O. 5個時鐘周期的延遲之后,數(shù)據(jù)·接收控制電路570接收到由存儲器裝置592驅(qū)動的數(shù)據(jù)(T8 T10)。由于在前命令是讀取、在前訪問裝置是存儲器裝置591、下一命令是寫入且下一訪問裝置是存儲器裝置592,因而命令發(fā)出間隔選擇電路551選擇命令間隔緩沖器531g。因此,通知命令發(fā)出定時控制電路552在可能進行命令發(fā)出之前存在5個時鐘周期。命令發(fā)出定時控制電路552接收表示在命令發(fā)出之前存在5個周期的信息,并且在5個時鐘周期之后給出命令發(fā)出許可。命令發(fā)出控制電路550斷言片選信號502并且發(fā)出寫入命令(T8)。命令發(fā)出控制電路550發(fā)出命令,并且同時將訪問方向緩沖器521的信息設(shè)置到在前訪問方向緩沖器511。在I. 5個時鐘周期的延遲之后,存儲器裝置592接收到由命令發(fā)出控制電路550發(fā)出的寫入命令(B9)。在從命令發(fā)出控制電路550發(fā)出了寫入命令的定時起經(jīng)過了由等待時間信息保持電路540保持的2個周期的寫入等待時間之后,數(shù)據(jù)發(fā)出控制電路560驅(qū)動數(shù)據(jù)信號506 (Tll)。在I. 5個時鐘周期的延遲之后,存儲器裝置592接收到由數(shù)據(jù)發(fā)出控制電路560發(fā)出的數(shù)據(jù)(Bll B13)。僅說明了在讀取之后再寫入的情況下的操作,但是寫入之后再寫入、寫入之后再讀取以及讀取之后再讀取的情況相同。換句話說,命令發(fā)出間隔選擇電路551從命令間隔緩沖器531a 531N中選擇相關(guān)的信息,并且命令發(fā)出定時控制電路522根據(jù)所選擇的信息給出發(fā)出許可。然后,命令發(fā)出控制電路550發(fā)出命令,因此可以在數(shù)據(jù)信號506的驅(qū)動不沖突的情況下在可能的最短時間內(nèi)驅(qū)動數(shù)據(jù)信號506。在第一實施例中,說明了存儲器裝置的訪問等待時間由于不同的布線延遲而有所差異的情況的操作。然而,通過以與存儲器裝置的等待時間不同的情況下相同的方式設(shè)置命令發(fā)出間隔,可以在數(shù)據(jù)信號的驅(qū)動不沖突的情況下在可能的最短時間內(nèi)驅(qū)動數(shù)據(jù)信號。在第一實施例中,示出了連接兩個存儲器裝置的情況,但本發(fā)明并不僅局限于此,并且可以應(yīng)用于連接三個或更多個裝置的情況。利用第一實施例,可以根據(jù)如下信息調(diào)整命令發(fā)出間隔關(guān)于在前命令是用于讀取還是寫入的信息、關(guān)于哪個訪問裝置接收到在前命令的信息、關(guān)于下一命令是用于讀取還是寫入的信息以及關(guān)于哪個訪問裝置將接收下一命令的信息。由于該原因,在可能進行數(shù)據(jù)傳送的周期期間,不存在浪費的傳送間隔。換句話說,可以在存儲器訪問控制電路驅(qū)動數(shù)據(jù)信號的定時與存儲器裝置驅(qū)動數(shù)據(jù)信號的定時不沖突的情況下更高效地使用存儲器總線。第二實施例接著,參考附圖,給出對根據(jù)本發(fā)明的第二實施例的詳細說明。在第一實施例中,將最小命令間隔值保持在命令間隔緩沖器531a 531N中,但在第二實施例中,在發(fā)出下一命令時計算這些最小命令間隔值。圖8是示出根據(jù)第二實施例的存儲器訪問控制電路的一個例子的框圖。如圖8所示,存儲器訪問控制裝置900連接到存儲器裝置991和992,并且控制對存儲器裝置991和992的訪問。
在第二實施例中,同樣使用DDR型存儲器裝置作為存儲器裝置。由于在存儲器訪問控制裝置900與存儲器裝置991和992之間的信號901到906與使用圖4說明的信號501到506相同,因此省略對這些信號的說明。在存儲器訪問控制裝置900中,910是在前命令信息保持電路,并且保持與緊接之前發(fā)出的命令有關(guān)的信息。在前命令信息保持電路910內(nèi)部設(shè)置有在前訪問方向緩沖器911和在前訪問裝置緩沖器912,其中,在前訪問方向緩沖器911用于保持緊接之前發(fā)出的命令的讀取或?qū)懭敕较颍谇霸L問裝置緩沖器912用于保持與由緊接之前發(fā)出的命令所訪問的裝置有關(guān)的信息。920是命令信息保持電路,并且保持與接下來要發(fā)出的命令有關(guān)的信息。命令信息保持電路920內(nèi)部設(shè)置有訪問方向緩沖器921和訪問裝置緩沖器922,其中,訪問方向緩沖器921用于保持接下來要發(fā)出的命令的讀取或?qū)懭敕较颍L問裝置緩沖器922用于保持與由接下來要發(fā)出的命令所訪問的裝置有關(guān)的信息。 930是布線延遲信息保持電路,并且保持所有存儲器裝置的布線延遲信息。該布線延遲信息保持電路930內(nèi)部設(shè)置有布線延遲緩沖器931a 931N,在這些布線延遲緩沖器931a 931N中保持了連接到存儲器訪問控制裝置900的所有存儲器裝置的布線延遲量。在圖8的例子中,兩個存儲器裝置991和992連接到存儲器訪問控制裝置900,該存儲器訪問控制裝置900設(shè)置有分別保持兩個布線延遲量的布線延遲緩沖器931a和931b。940是等待時間信息保持電路,并且保持與連接到存儲器訪問控制裝置900的存儲器裝置的設(shè)置相對應(yīng)的存儲器裝置的讀取等待時間和寫入等待時間。941是輸出到命令發(fā)出控制電路950的等待時間信息。950是命令發(fā)出控制電路,并且控制對存儲器裝置991和992的命令的發(fā)出。命令發(fā)出控制電路950可以由CPU(MPU)、ROM和外圍電路等構(gòu)成。命令發(fā)出間隔計算電路951基于等待時間/[目息941以及保持在在如命令/[目息保持電路910、命令/[目息保持電路920和布線延遲信息保持電路930中的信息來計算在可以發(fā)出下一命令之前的周期數(shù)。命令發(fā)出定時控制電路952將用于發(fā)出下一命令的定時延遲由命令發(fā)出間隔計算電路951計算出的命令間隔。960是數(shù)據(jù)發(fā)出控制電路,并且在自從命令發(fā)出控制電路950發(fā)出了命令起經(jīng)過了與保持在等待時間信息保持電路940中的寫入等待時間等同的時間段之后,驅(qū)動數(shù)據(jù)信號906。970是數(shù)據(jù)接收控制電路,并且接收從存儲器裝置991和992讀取的數(shù)據(jù)。980是存儲器訪問接口,并且接收來自外部電路的存儲器訪問請求,向命令發(fā)出控制電路950發(fā)送命令并將讀取或?qū)懭胄畔⒃O(shè)置到訪問方向緩沖器921。通過命令發(fā)出間隔計算電路951對命令發(fā)出間隔的計算方法如下面在(I)到(4)中所示。(I)發(fā)出寫入命令之后再發(fā)出寫入命令命令發(fā)出間隔=數(shù)據(jù)傳送長度/2+最小數(shù)據(jù)間隔(2)發(fā)出寫入命令之后再發(fā)出讀取命令命令發(fā)出間隔=在前訪問裝置寫入等待時間+數(shù)據(jù)傳送長度/2+在前訪問裝置布 線延遲-下一訪問裝置讀取等待時間-下一訪問裝置布線延遲(3)發(fā)出讀取命令之后再發(fā)出寫入命令命令發(fā)出間隔=在前訪問裝置布線延遲X2+在前訪問裝置讀取等待時間+數(shù)據(jù)傳送長度/2+最小數(shù)據(jù)間隔-下一訪問裝置寫入等待時間(4)發(fā)出讀取命令之后再發(fā)出讀取命令命令發(fā)出間隔=在前訪問裝置布線延遲X2+數(shù)據(jù)傳送長度/2+最小數(shù)據(jù)間隔-下一訪問裝置布線延遲X2如果在不滿足使用上述計算方法計算出的命令發(fā)出間隔的情況下發(fā)出命令,則在存儲器訪問控制裝置900與存儲器裝置991和992之間的數(shù)據(jù)信號的驅(qū)動之間存在發(fā)生沖突的風(fēng)險。注意,存儲器訪問控制裝置900與存儲器裝置991和992之間的讀取和寫入訪問均使用4拍傳送。假定存儲器訪問控制裝置900與存儲器裝置991之間的布線延遲為O. 5個時鐘周期,并且假定存儲器訪問控制裝置900與存儲器裝置992之間的布線延遲為I個時鐘周期。假定保持在等待時間信息保持電路940中的讀取等待時間為3個時鐘周期,并且假定保持在等待時間信息保持電路940中的寫入等待時間為2個時鐘周期。將存儲器裝置991和存儲器裝置992的布線延遲設(shè)置到布線延遲緩沖器931a 931N(N是裝置數(shù))?,F(xiàn)在參考第一實施例所參考的圖6,說明在存儲器訪問控制裝置900向存儲器裝置992發(fā)出讀取命令然后再向存儲器裝置991發(fā)出寫入命令的情況下的操作(操作例子I)。通過存儲器訪問接口 980將意為下一命令是讀取命令的信息設(shè)置到訪問方向緩沖器921。當(dāng)設(shè)置了訪問方向緩沖器921時,由于在前訪問方向緩沖器911為空,因此命令發(fā)出間隔計算電路951通知命令發(fā)出定時控制電路952在可能進行命令發(fā)出之前存在O個時鐘周期。另一方面,命令發(fā)出定時控制電路952接收表示在命令發(fā)出之前存在O個時鐘周期的信息,并且在O個時鐘周期之后給出命令發(fā)出許可。命令發(fā)出控制電路950斷言片選信號902并且發(fā)出讀取命令(T3)。命令發(fā)出控制電路950發(fā)出命令,并且同時將訪問方向緩沖器921的表示讀取的信息設(shè)置到在前訪問方向緩沖器911。同時,存儲器訪問接口 980將表示下一命令是寫入命令的信息設(shè)置到訪問方向緩沖器921。在I. 5個時鐘周期的延遲之后,存儲器裝置992接收到由命令發(fā)出控制電路950發(fā)出的讀取命令(B4)。由于接收到的命令是讀取命令,因此存儲器裝置992在經(jīng)過了 3個時鐘周期的讀取等待時間之后驅(qū)動數(shù)據(jù)信號906 (B 7)。在I. 5個時鐘周期的延遲之后,數(shù)據(jù)接收控制電路970接收到由存儲器裝置992驅(qū)動的數(shù)據(jù)(T10 T12)。命令發(fā)出間隔計算電路951使用上述命令發(fā)出間隔計算方法基于下面的信息計算出在可以發(fā)出下一命令之前存在7個時鐘周期,并且通知命令發(fā)出定時控制電路952。-在前命令是讀取命令-在前訪問裝置是存儲器裝置992 -下一命令是寫入命令-下一訪問裝置是存儲器裝置991-存儲器裝置991的布線延遲為O.5個時鐘周期-存儲器裝置992的布線延遲為I.5個時鐘周期-存儲器裝置的讀取等待時間為3個時鐘周期-存儲器裝置的寫入等待時間為2個時鐘周期另一方面,命令發(fā)出定時控制電路952接收表示在命令發(fā)出之前存在7個時鐘周期的信息,并且在7個時鐘周期之后給出命令發(fā)出許可。命令發(fā)出控制電路950斷言片選信號901并且發(fā)出寫入命令(TlO)。命令發(fā)出控制電路950發(fā)出命令,并且同時將訪問方向緩沖器921的信息設(shè)置到在前訪問方向緩沖器911。在O. 5個時鐘周期的延遲之后,存儲器裝置991接收到由命令發(fā)出控制電路950發(fā)出的寫入命令(AU)。在從命令發(fā)出控制電路950發(fā)出了寫入命令的定時起經(jīng)過了由等待時間信息保持電路940保持的2個周期的寫入等待時間之后,數(shù)據(jù)發(fā)出控制電路960驅(qū)動數(shù)據(jù)信號906 (T13)。在O. 5個時鐘周期的延遲之后,存儲器裝置991接收到由數(shù)據(jù)發(fā)出控制電路960發(fā)出的數(shù)據(jù)(A 13 A 15)?,F(xiàn)在參考由第一實施例參考的圖7,說明在存儲器訪問控制裝置900向存儲器裝置991發(fā)出讀取命令之后再向存儲器裝置992發(fā)出寫入命令的情況下的操作(操作例子2)。通過存儲器訪問接口 980將意為下一命令是讀取命令的信息設(shè)置到訪問方向緩沖器921。當(dāng)設(shè)置了訪問方向緩沖器921時,由于在前訪問方向緩沖器911為空,因此命令發(fā)出間隔計算電路951通知命令發(fā)出定時控制電路952在可能進行命令發(fā)出之前存在O個時鐘周期。另一方面,命令發(fā)出定時控制電路952接收表示在命令發(fā)出之前存在O個時鐘周期的信息,并且在O個時鐘周期之后給出命令發(fā)出許可。命令發(fā)出控制電路950斷言片選信號902并且發(fā)出讀取命令(T3)。命令發(fā)出控制電路950發(fā)出命令,并且同時將訪問方向緩沖器921的表示讀取的信息設(shè)置到在前訪問方向緩沖器911。同時,存儲器訪問接口 980將表示下一命令是寫入命令的信息設(shè)置到訪問方向緩沖器921。在O. 5個時鐘周期的延遲之后,存儲器裝置991接收到由命令發(fā)出控制電路950發(fā)出的讀取命令(A4)。由于接收到的命令是讀取命令,因此存儲器裝置991在經(jīng)過了 3個時鐘周期的讀取等待時間之后驅(qū)動數(shù)據(jù)信號906 (A7)。在O. 5個時鐘周期的延遲之后,數(shù)據(jù)接收控制電路970接收到由存儲器裝置991驅(qū)動的數(shù)據(jù)(T8 T10)。命令發(fā)出間隔計算電路951使用上述命令發(fā)出間隔計算方法基于下面的信息計算出在可以發(fā)出下一命令之前存在5個時鐘周期,并且通知命令發(fā)出定時控制電路952。-在前命令是讀取命令-在前訪問裝置是存儲器裝置991-下一命令是寫入命令-下一訪問裝置是存儲器裝置992-存儲器裝置991的布線延遲為O.5個時鐘周期 -存儲器裝置992的布線延遲為I.5個時鐘周期-存儲器裝置的讀取等待時間為3個時鐘周期-存儲器裝置的寫入等待時間為2個時鐘周期另一方面,命令發(fā)出定時控制電路952接收表示在命令發(fā)出之前存在5個時鐘周期的信息,并且在5個時鐘周期之后給出命令發(fā)出許可。命令發(fā)出控制電路950斷言片選信號901并且發(fā)出寫入命令(T8)。命令發(fā)出控制電路950發(fā)出命令,并且同時將訪問方向緩沖器921的信息設(shè)置到在前訪問方向緩沖器911。在I. 5個時鐘周期的延遲之后,存儲器裝置992接收到由命令發(fā)出控制電路950發(fā)出的寫入命令(B9)。在從命令發(fā)出控制電路950發(fā)出了寫入命令的定時起經(jīng)過了由等待時間信息保持電路940保持的2個周期的寫入等待時間之后,數(shù)據(jù)發(fā)出控制電路960驅(qū)動數(shù)據(jù)信號906(T11)。在I. 5個時鐘周期的延遲之后,存儲器裝置992接收到由數(shù)據(jù)發(fā)出控制電路960發(fā)出的數(shù)據(jù)(Bll B13)。僅說明了在讀取之后再寫入的情況下的操作,但是寫入之后再寫入、寫入之后再讀取以及讀取之后再讀取的情況相同。換句話說,命令發(fā)出定時控制電路952根據(jù)使用上述命令發(fā)出間隔計算方法由命令發(fā)出間隔計算電路951計算出的命令發(fā)出間隔來給出發(fā)出許可。然后,命令發(fā)出控制電路950發(fā)出命令,因此可以在數(shù)據(jù)信號906的驅(qū)動不沖突的情況下在可能的最短時間內(nèi)驅(qū)動數(shù)據(jù)信號906。在第二實施例中,說明了存儲器裝置的訪問等待時間由于不同的布線延遲而有所差異的情況的操作。然而,通過以與存儲器裝置的等待時間不同的情況下相同的方式來計算命令發(fā)出間隔,可以在數(shù)據(jù)信號的驅(qū)動不相沖突的情況下在可能的最短時間內(nèi)驅(qū)動數(shù)據(jù)信號。在第二實施例中,示出了連接兩個存儲器裝置的情況,但是本發(fā)明并不僅局限于此,并且可以應(yīng)用于連接三個或更多個裝置的情況。注意,本發(fā)明可應(yīng)用于由多個裝置(例如,主計算機、接口裝置、讀取器和打印機等)構(gòu)成的系統(tǒng),或者應(yīng)用于由一個裝置(例如,復(fù)印機、傳真機等)組成的設(shè)備。此外,向系統(tǒng)或裝置提供存儲了用于實現(xiàn)上述實施例的功能的軟件的程序代碼的存儲介質(zhì),并且系統(tǒng)或裝置的計算機(CPU或MPU)讀取并執(zhí)行該程序代碼。以該方式同樣可以實現(xiàn)本發(fā)明的目的。
在該情況下,從計算機可讀記錄介質(zhì)讀取的程序代碼執(zhí)行上述實施例的功能,并且存儲了程序代碼的記錄介質(zhì)構(gòu)成了本發(fā)明??梢允褂萌缦陆橘|(zhì)作為用于提供程序代碼的存儲介質(zhì)軟盤、硬盤、光盤、電磁盤、CD-ROM、CD-R、磁帶、非易失性存儲卡和ROM等。不僅通過執(zhí)行由計算機讀取的程序代碼實現(xiàn)了上述實施例的功能,而且還包括了下面的情況。換句話說,運行在計算機上的操作系統(tǒng)(O S)基于程序代碼中的指令進行全部或部分實際處理,并且通過這些處理實現(xiàn)上述實施例的功能。此外,將從存儲介質(zhì)讀取的程序代碼讀入到為插入到計算機中的功能增強板或連接到計算機的功能增強單元所設(shè)置的存儲器中。這還包括如下情況為功能增強板或功能增強單元設(shè)置的CPU等基于程序代碼的指令進行全部或部分實際處理,并且通過這些處理實現(xiàn)上述實施例的功能。盡管已經(jīng)參考典型實施例說明了本發(fā)明,但是應(yīng)該理解,本發(fā)明并不局限于所公開的典型實施例。所附權(quán)利要求書的范圍符合最寬的解釋,以包含所有這類修改、等同結(jié)構(gòu) 和功能。
權(quán)利要求
1.一種存儲器訪問控制裝置,用于控制對具有不同等待時間的多個DDR型存儲器裝置的訪問,所述存儲器訪問控制裝置包括 命令信息保持電路,用于保持在前命令的命令類型和當(dāng)前命令的命令類型,其中所述在前命令是緊挨在所述當(dāng)前命令之前發(fā)出的,所述命令類型包括讀取訪問和寫入訪問; 命令發(fā)出電路,用于控制所述在前命令和所述當(dāng)前命令之間的間隔, 其中,所述命令發(fā)出電路將第一情況下的間隔設(shè)置成大于第二情況下的間隔,其中所述第一情況是所述在前命令是讀取訪問且所述當(dāng)前命令是寫入訪問,所述第二情況是所述在前命令是讀取訪問且所述當(dāng)前命令是讀取訪問、或者所述在前命令是寫入訪問且所述當(dāng)前命令是讀取訪問、或者所述在前命令是寫入訪問且所述當(dāng)前命令是寫入訪問。
2.根據(jù)權(quán)利要求I所述的存儲器訪問控制裝置,其特征在于,所述命令發(fā)出電路利用通用數(shù)據(jù)信號線來連接所述多個DDR型存儲器裝置。
3.根據(jù)權(quán)利要求I所述的存儲器訪問控制裝置,其特征在于,還包括 間隔信息保持電路,用于保持多個間隔。
4.根據(jù)權(quán)利要求I所述的存儲器訪問控制裝置,其特征在于,所述命令類型還包括訪問方向。
5.根據(jù)權(quán)利要求I所述的存儲器訪問控制裝置,其特征在于,所述命令類型還包括片選信息。
6.—種存儲器系統(tǒng),包括 具有不同等待時間的多個DDR型存儲器裝置; 命令信息保持電路,用于保持在前命令的命令類型和當(dāng)前命令的命令類型,其中所述在前命令是緊挨在所述當(dāng)前命令之前發(fā)出的,所述命令類型包括讀取訪問和寫入訪問; 命令發(fā)出電路,用于控制所述在前命令和所述當(dāng)前命令之間的間隔, 其中,所述命令發(fā)出電路將第一情況下的間隔設(shè)置成大于第二情況下的間隔,其中所述第一情況是所述在前命令是讀取訪問且所述當(dāng)前命令是寫入訪問,所述第二情況是所述在前命令是讀取訪問且所述當(dāng)前命令是讀取訪問、或者所述在前命令是寫入訪問且所述當(dāng)前命令是讀取訪問、或者所述在前命令是寫入訪問且所述當(dāng)前命令是寫入訪問。
7.一種存儲器訪問控制方法,用于控制對具有不同等待時間的多個DDR型存儲器裝置的訪問,所述存儲器訪問控制方法包括以下步驟 保持在前命令的命令類型和當(dāng)前命令的命令類型,其中所述在前命令是緊挨在所述當(dāng)前命令之前發(fā)出的,所述命令類型包括讀取訪問和寫入訪問; 控制所述在前命令和所述當(dāng)前命令之間的間隔, 其中,將第一情況下的間隔設(shè)置成大于第二情況下的間隔,其中所述第一情況是所述在前命令是讀取訪問且所述當(dāng)前命令是寫入訪問,所述第二情況是所述在前命令是讀取訪問且所述當(dāng)前命令是讀取訪問、或者所述在前命令是寫入訪問且所述當(dāng)前命令是讀取訪問、或者所述在前命令是寫入訪問且所述當(dāng)前命令是寫入訪問。
全文摘要
本發(fā)明涉及一種存儲器訪問控制裝置、命令發(fā)出裝置和方法。該存儲器訪問控制裝置用于控制對具有不同等待時間的多個存儲器裝置的訪問,所述存儲器訪問控制裝置在進行第一訪問之后再進行第二訪問時,根據(jù)在第一訪問中訪問的存儲器裝置以及在第二訪問中訪問的存儲器裝置來控制進行第二訪問的定時。
文檔編號G06F13/42GK102841879SQ201210233110
公開日2012年12月26日 申請日期2008年9月27日 優(yōu)先權(quán)日2007年10月3日
發(fā)明者落合涉 申請人:佳能株式會社