專利名稱:適用于動態(tài)隨機存取內(nèi)存的內(nèi)存控制器及控制方法
技術(shù)領(lǐng)域:
本發(fā)明涉及ー種內(nèi)存控制器,特別是涉及ー種動態(tài)隨機存取內(nèi)存(DRAM)的內(nèi)存控制器。
背景技術(shù):
動態(tài)隨機存取內(nèi)存(DRAM)是揮發(fā)性內(nèi)存的ー種,其將每ー數(shù)據(jù)位儲存于個別的電容。動態(tài)隨機存取內(nèi)存具有多種型式,例如同步DRAM(SDRAM)、雙倍數(shù)據(jù)速率SDRAM(DDRSDRAM), DDR2 SDRAM及DDR3 SDRAM,各具有不同密度及操作速度。
內(nèi)存控制器,例如DRAM控制器,是ー種管理進出內(nèi)存(例如DRAM)的數(shù)據(jù)流的電路。內(nèi)存控制器借由選擇內(nèi)存的列與行地址以控制讀與寫。除了內(nèi)存控制器外,現(xiàn)今的內(nèi)存還配置有快取機制,用以將數(shù)據(jù)儲存于高速緩存,例如靜態(tài)隨機存取內(nèi)存(SRAM)。若所請求數(shù)據(jù)位于高速緩存中(稱為命中),即可從高速緩存快速讀出,因而增進內(nèi)存的存取效能。否則,若所請求數(shù)據(jù)沒有位于高速緩存中(稱為未命中),則需從內(nèi)存慢速地取出。有各種寫入方法用以將數(shù)據(jù)寫入高速緩存。傳統(tǒng)快取機制使用大尺寸的高速緩存,以儲存上百或上千筆數(shù)據(jù)。傳統(tǒng)快取機制還使用復(fù)雜的快取控制電路及算法以執(zhí)行快取命中/未命中的判定。因此,需要相當(dāng)?shù)碾娐访娣e以容納高速緩存及快取控制電路,因而增加了芯片面積。鑒于上述,因此亟需提出一種新穎的內(nèi)存控制器,可適用于內(nèi)存(例如DRAM),以降低芯片面積,但不會影響內(nèi)存的存取效能。由此可見,上述現(xiàn)有的內(nèi)存控制器在方法、產(chǎn)品結(jié)構(gòu)及使用上,顯然仍存在有不便與缺陷,而亟待加以進一歩改進。因此如何能創(chuàng)設(shè)ー種新的適用于動態(tài)隨機存取內(nèi)存的內(nèi)存控制器及控制方法,亦成為當(dāng)前業(yè)界極需改進的目標。
發(fā)明內(nèi)容
本發(fā)明的目的在于,克服現(xiàn)有的內(nèi)存控制器存在的缺陷,而提供ー種新的適用于動態(tài)隨機存取內(nèi)存的內(nèi)存控制器及控制方法,所要解決的技術(shù)問題是使其在于提出適用于動態(tài)隨機存取內(nèi)存(DRAM)的ー種內(nèi)存控制器,其使用小尺寸緩沖器及簡單的算法,非常 適于實用。本發(fā)明的目的及解決其技術(shù)問題是采用以下技術(shù)方案來實現(xiàn)的。依據(jù)本發(fā)明提出的一種適用于動態(tài)隨機存取內(nèi)存(DRAM)的內(nèi)存控制器,包含一 DRAM控制器,用以管理進出該DRAM的數(shù)據(jù)流;及一寫入緩沖器,受控于該DRAM控制器以暫存要寫入該DRAM的ー筆寫入數(shù)據(jù);其中,當(dāng)該寫入緩沖器為空的,則將該筆寫入數(shù)據(jù)儲存于該寫入緩沖器,且該筆儲存數(shù)據(jù)及要寫入該DRAM的一筆后續(xù)寫入數(shù)據(jù)將一井寫入該DRAM。本發(fā)明的目的及解決其技術(shù)問題還可采用以下技術(shù)措施進ー步實現(xiàn)。前述的適用于動態(tài)隨機存取內(nèi)存的內(nèi)存控制器,其中所述的該寫入緩沖器的尺寸為足以儲存單筆數(shù)據(jù),其可被個別地址所尋址。
前述的適用于動態(tài)隨機存取內(nèi)存的內(nèi)存控制器,其中所述的該內(nèi)存控制器不含用以儲存讀取自該DRAM的數(shù)據(jù)的讀取緩沖器。前述的適用于動態(tài)隨機存取內(nèi)存的內(nèi)存控制器,其中所述的該筆后續(xù)寫入數(shù)據(jù)為該筆儲存數(shù)據(jù)的下ー筆寫入數(shù)據(jù),且其中該筆儲存數(shù)據(jù)及該下ー筆寫入數(shù)據(jù)ー并寫入該DRAM,使得該筆儲存數(shù)據(jù)與該下ー筆寫入數(shù)據(jù)的列主動時間互相部分重疊。前述的適用于動態(tài)隨機存取內(nèi)存的內(nèi)存控制器,其中所述的該筆后續(xù)寫入數(shù)據(jù)位于該筆儲存數(shù)據(jù)之后;該筆后續(xù)寫入數(shù)據(jù)與該筆儲存數(shù)據(jù)具有相同列地址,而該筆儲存數(shù)據(jù)與該筆后續(xù)寫入數(shù)據(jù)之間的寫入數(shù)據(jù)先該筆儲存數(shù)據(jù)與該筆后續(xù)數(shù)據(jù)寫入該DRAM。前述的適用于動態(tài)隨機存取內(nèi)存的內(nèi)存控制器,其中所述的當(dāng)該寫入緩沖器不是空的且讀取數(shù)據(jù)的列地址不同于該筆儲存數(shù)據(jù)的列地址,則僅執(zhí)行讀取操作,但不執(zhí)行寫入操作。
前述的適用于動態(tài)隨機存取內(nèi)存的內(nèi)存控制器,其中所述的當(dāng)該寫入緩沖器不是空的且讀取數(shù)據(jù)的列地址同于該筆儲存數(shù)據(jù)的列地址,則執(zhí)行寫入操作,再接著執(zhí)行讀取操作。本發(fā)明的目的及解決其技術(shù)問題還采用以下技術(shù)方案來實現(xiàn)。依據(jù)本發(fā)明提出的一種適用于動態(tài)隨機存取內(nèi)存(DRAM)的內(nèi)存控制方法,包含以ーDRAM控制器管理進出該DRAM的數(shù)據(jù)流;提供一寫入緩沖器,用以暫存要寫入該DRAM的ー筆寫入數(shù)據(jù);當(dāng)該寫入緩沖器為空的,則將該筆寫入數(shù)據(jù)儲存于該寫入緩沖器;及將該筆儲存數(shù)據(jù)及要寫入該DRAM的一筆后續(xù)寫入數(shù)據(jù)ー并寫入該DRAM。本發(fā)明的目的及解決其技術(shù)問題還可采用以下技術(shù)措施進ー步實現(xiàn)。前述的適用于動態(tài)隨機存取內(nèi)存的內(nèi)存控制方法,其中所述的該寫入緩沖器的尺寸為足以儲存單筆數(shù)據(jù),其可被個別地址所尋址。 前述的適用于動態(tài)隨機存取內(nèi)存的內(nèi)存控制方法,其中所述的該筆后續(xù)寫入數(shù)據(jù)為該筆儲存數(shù)據(jù)的下ー筆寫入數(shù)據(jù),且其中該筆儲存數(shù)據(jù)及該下ー筆寫入數(shù)據(jù)ー并寫入該DRAM,使得該筆儲存數(shù)據(jù)與該下ー筆寫入數(shù)據(jù)的列主動時間互相部分重疊。前述的適用于動態(tài)隨機存取內(nèi)存的內(nèi)存控制方法,其中所述的該筆后續(xù)寫入數(shù)據(jù)位于該筆儲存數(shù)據(jù)之后;該筆后續(xù)寫入數(shù)據(jù)與該筆儲存數(shù)據(jù)具有相同列地址,而該筆儲存數(shù)據(jù)與該筆后續(xù)寫入數(shù)據(jù)之間的寫入數(shù)據(jù)先該筆儲存數(shù)據(jù)與該筆后續(xù)數(shù)據(jù)寫入該DRAM。前述的適用于動態(tài)隨機存取內(nèi)存的內(nèi)存控制方法,其中所述的當(dāng)該寫入緩沖器不是空的且讀取數(shù)據(jù)的列地址不同于該筆儲存數(shù)據(jù)的列地址,則更包含僅執(zhí)行讀取操作,但不執(zhí)行寫入操作。前述的適用于動態(tài)隨機存取內(nèi)存的內(nèi)存控制方法,其中所述的當(dāng)該寫入緩沖器不是空的且讀取數(shù)據(jù)的列地址同于該筆儲存數(shù)據(jù)的列地址,則更包含執(zhí)行寫入操作,再接著執(zhí)行讀取操作。本發(fā)明與現(xiàn)有技術(shù)相比具有明顯的優(yōu)點和有益效果。由以上技術(shù)方案可知,本發(fā)明的主要技術(shù)內(nèi)容如下適用于動態(tài)隨機存取內(nèi)存(DRAM)的內(nèi)存控制器包含DRAM控制器及寫入緩沖器。DRAM控制器管理進出DRAM的數(shù)據(jù)流。寫入緩沖器受控于DRAM控制器以暫存要寫入DRAM的一筆寫入數(shù)據(jù)。其中,當(dāng)寫入緩沖器為空的,則將該筆寫入數(shù)據(jù)儲存于寫入緩沖器,且該筆儲存數(shù)據(jù)及要寫入DRAM的一筆后續(xù)寫入數(shù)據(jù)將一井寫入DRAM。
借由上述技術(shù)方案,本發(fā)明適用于動態(tài)隨機存取內(nèi)存的內(nèi)存控制器及控制方法至少具有下列優(yōu)點及有益效果在于提出適用于動態(tài)隨機存取內(nèi)存(DRAM)的ー種內(nèi)存控制器,其使用小尺寸緩沖器及簡單的算法??蛇m用于內(nèi)存(例如DRAM),以降低芯片面積,但不會影響內(nèi)存的存取效能。上述說明僅是本發(fā)明技術(shù)方案的概述,為了能夠更清楚了解本發(fā)明的技術(shù)手段, 而可依照說明書的內(nèi)容予以實施,并且為了讓本發(fā)明的上述和其它目的、特征和優(yōu)點能夠更明顯易懂,以下特舉較佳實施例,并配合附圖,詳細說明如下。
圖I顯示本發(fā)明實施例的內(nèi)存控制器,其可適用于動態(tài)隨機存取內(nèi)存(DRAM)方框圖。圖2顯示本發(fā)明實施例的DRAM的數(shù)據(jù)存取流程。圖3A顯示未使用寫入緩沖器以寫入ニ筆數(shù)據(jù)的時序圖。圖3B顯示本發(fā)明實施例使用寫入緩沖器以寫入ニ筆數(shù)據(jù)的時序圖。圖4顯示未使用寫入緩沖器以寫入三筆數(shù)據(jù)的時序圖。圖5顯示本發(fā)明實施例使用寫入緩沖器以寫入三筆數(shù)據(jù)的時序圖。I:內(nèi)存控制器10 DRAM 控制器12 :寫入緩沖器2 :動態(tài)隨機存取內(nèi)存(DRAM)21-28 :步驟tRAS :列主動時間
具體實施例方式為更進一步闡述本發(fā)明為達成預(yù)定發(fā)明目的所采取的技術(shù)手段及功效,以下結(jié)合附圖及較佳實施例,對依據(jù)本發(fā)明提出的適用于動態(tài)隨機存取內(nèi)存的內(nèi)存控制器及控制方法其具體實施方式
、方法、步驟、結(jié)構(gòu)、特征及其功效,詳細說明如后。圖I的方框圖顯示本發(fā)明實施例的內(nèi)存控制器1,其可適用于動態(tài)隨機存取內(nèi)存(DRAM) 2 ο DRAM 2 可以為同步 DRAM (SDRAM)、雙倍數(shù)據(jù)速率 SDRAM (DDR SDRAM)、DDR2 SDRAM及DDR3 SDRAM,但不以此為限。在本實施例中,內(nèi)存控制器I包含DRAM控制器10,用以管理進出DRAM2的數(shù)據(jù)流。根據(jù)本實施例的特征之一,內(nèi)存控制器I包含寫入緩沖器12,用以暫存即將寫入DRAM 2的數(shù)據(jù),但不合有讀取緩沖器。本實施例的寫入緩沖器12具小尺寸,較佳的尺寸為足以儲存單筆數(shù)據(jù),其可被個別地址所尋址。圖2顯示本發(fā)明實施例的DRAM 2的數(shù)據(jù)存取流程。步驟21,DRAM控制器10判定是否收到寫入命令。如果有收到寫入命令,DRAM控制器10更在步驟22判定寫入緩沖器12是否為空的。如果寫入緩沖器12是空的,則將接收的數(shù)據(jù)儲存于寫入緩沖器12 (步驟23)。該數(shù)據(jù)可以是接收自電子系統(tǒng)(例如系統(tǒng)單芯片(SOC))。相反的,如果寫入緩沖器12并非是空的(亦即,ー筆先前數(shù)據(jù)已儲存于寫入緩沖器12,但是尚未被取出),則將儲存于寫入緩沖器12的先前數(shù)據(jù)以及接收自系統(tǒng)的目前數(shù)據(jù)ー并寫入DRAM 2 (步驟24)。圖3A顯示未使用寫入緩沖器以寫入ニ筆數(shù)據(jù)(例如數(shù)據(jù)I及數(shù)據(jù)2)的時序圖,而圖3B顯示本發(fā)明實施例使用寫入緩沖器以寫入ニ筆數(shù)據(jù)的時序圖。在時序圖中,“主動#”(#為I或2)表示列存取時間(row access time),在該時間內(nèi),從DRAM控制器10發(fā)出列地址給DRAM 2 ;而“寫入#” (#為I或2)表示寫入命令時間(write command time),在該時間內(nèi),從DRAM控制器10發(fā)出寫入命令至DRAM 2。列存取時間(“主動#”)與寫入命令時間(“寫入#”)之間需要有列主動時間(row active time) tRAS,例如圖3A的時間a和b之間。對于圖3A所示時序圖,在數(shù)據(jù)I寫入完成后,才寫入數(shù)據(jù)2。對于圖3B所示時序圖,由于使用了寫入緩沖器12,因此可同時得到數(shù)據(jù)I及數(shù)據(jù)2。數(shù)據(jù)2的列存取時間(主動2)位于數(shù)據(jù)I的列存取時間(主動I)之后,但可位于數(shù)據(jù)I的寫入命令時間(寫入I)之前。因此,數(shù)據(jù)I的列主動時間(例如,時間e至f)與數(shù)據(jù)2的列主動時間(例如,時間 g至h)部分重疊。借此,在本實施例中,寫入數(shù)據(jù)I和數(shù)據(jù)2所需時間(例如,時間e至h)較傳統(tǒng)未用寫入緩沖器以寫入數(shù)據(jù)I和數(shù)據(jù)2所需時間(例如,時間a至d)來得短。圖4顯示未使用寫入緩沖器以寫入三筆數(shù)據(jù)(例如數(shù)據(jù)I、數(shù)據(jù)2及數(shù)據(jù)3)的時序圖,而圖5顯示本發(fā)明實施例使用寫入緩沖器12以寫入三筆數(shù)據(jù)的時序圖。在這個例子中,數(shù)據(jù)I具列地址a(及行地址I),數(shù)據(jù)2具列地址b,而數(shù)據(jù)3具列地址a(及行地址2),其列地址同于數(shù)據(jù)I。對于圖4所示時序圖,在數(shù)據(jù)I完全寫入后才進行數(shù)據(jù)2的寫入,且在數(shù)據(jù)2完全寫入后才進行數(shù)據(jù)3的寫入。由于相鄰數(shù)據(jù)具不同列地址,因此于寫入命令(“寫入”)和下一個列地址時間(“主動”)兩者之間,必須要有一預(yù)充電時間。對于圖5所示時序圖,由于數(shù)據(jù)I儲存于寫入緩沖器12,且數(shù)據(jù)I和數(shù)據(jù)3具有相同列地址(列a),因此,可在數(shù)據(jù)2完全寫入后才進行數(shù)據(jù)I和數(shù)據(jù)3的寫入。借此,相較于圖4,可以節(jié)省至少ー個列存取時間(“主動”)。因此,借由改變數(shù)據(jù)的寫入順序,而可以實質(zhì)的縮短內(nèi)存的寫入時間。再參閱圖2,如果步驟21判定收到讀取命令,則DRAM控制器10更在步驟25判定寫入緩沖器12是否為空的。如果寫入緩沖器12是空的,則執(zhí)行步驟26的讀取操作。如果寫入緩沖器12不是空的,亦即,有數(shù)據(jù)儲存于寫入緩沖器12,則在步驟27比較讀取數(shù)據(jù)的列地址是否同于寫入數(shù)據(jù)的列地址。如果列地址不相同,則僅執(zhí)行步驟26的數(shù)據(jù)讀取操作(亦即,自DRAM 2讀取數(shù)據(jù)),但是不將數(shù)據(jù)寫入DRAM 2。由于在此情形下并無執(zhí)行寫入操作,因而可節(jié)省寫入復(fù)原時間(write recovery time)(亦即,在寫入操作之后與下ー個讀取操作之前所需時間)。相反的,步驟27,如果判定讀取數(shù)據(jù)的列地址同于寫入數(shù)據(jù)的列地址,則執(zhí)行寫入操作,再接著執(zhí)行讀取步驟(步驟28)。由于寫入操作與讀取操作具相同列地址,因而類似于圖5所示,可節(jié)省ー個列存取時間。以上所述,僅是本發(fā)明的較佳實施例而已,并非對本發(fā)明作任何形式上的限制,雖然本發(fā)明已以較佳實施例揭露如上,然而并非用以限定本發(fā)明,任何熟悉本專業(yè)的技術(shù)人員,在不脫離本發(fā)明技術(shù)方案范圍內(nèi),當(dāng)可利用上述掲示的技術(shù)內(nèi)容作出些許更動或修飾為等同變化的等效實施例,但凡是未脫離本發(fā)明技術(shù)方案內(nèi)容,依據(jù)本發(fā)明的技術(shù)實質(zhì)對 以上實施例所作的任何簡單修改、等同變化與修飾,均仍屬于本發(fā)明技術(shù)方案的范圍內(nèi)。
權(quán)利要求
1.一種適用于動態(tài)隨機存取內(nèi)存的內(nèi)存控制器,其特征在于包含 ー控制器,用以管理進出該的數(shù)據(jù)流 '及 一寫入緩沖器,受控于該控制器以暫存要寫入該的ー筆寫入數(shù)據(jù); 其中,當(dāng)該寫入緩沖器為空的,則將該筆寫入數(shù)據(jù)儲存于該寫入緩沖器,且該筆儲存數(shù)據(jù)及要寫入該的ー筆后續(xù)寫入數(shù)據(jù)將一井寫入該。
2.如權(quán)利要求I所述的適用于動態(tài)隨機存取內(nèi)存的內(nèi)存控制器,其特征在于該寫入緩沖器的尺寸為足以儲存單筆數(shù)據(jù),其可被個別地址所尋址。
3.如權(quán)利要求I所述的適用于動態(tài)隨機存取內(nèi)存的內(nèi)存控制器,其特征在于該內(nèi)存控制器不含用以儲存讀取自該的數(shù)據(jù)的讀取緩沖器。
4.如權(quán)利要求I所述的適用于動態(tài)隨機存取內(nèi)存的內(nèi)存控制器,其特征在于該筆后續(xù)寫入數(shù)據(jù)為該筆儲存數(shù)據(jù)的下ー筆寫入數(shù)據(jù),且其中該筆儲存數(shù)據(jù)及該下ー筆寫入數(shù)據(jù)ー并寫入該,使得該筆儲存數(shù)據(jù)與該下ー筆寫入數(shù)據(jù)的列主動時間互相部分重疊。
5.如權(quán)利要求I所述的適用于動態(tài)隨機存取內(nèi)存的內(nèi)存控制器,其特征在于該筆后續(xù)寫入數(shù)據(jù)位于該筆儲存數(shù)據(jù)之后;該筆后續(xù)寫入數(shù)據(jù)與該筆儲存數(shù)據(jù)具有相同列地址,而該筆儲存數(shù)據(jù)與該筆后續(xù)寫入數(shù)據(jù)之間的寫入數(shù)據(jù)先該筆儲存數(shù)據(jù)與該筆后續(xù)數(shù)據(jù)寫入。
6.如權(quán)利要求I所述的適用于動態(tài)隨機存取內(nèi)存的內(nèi)存控制器,其特征在于當(dāng)該寫入緩沖器不是空的且讀取數(shù)據(jù)的列地址不同于該筆儲存數(shù)據(jù)的列地址,則僅執(zhí)行讀取操作,但不執(zhí)行寫入操作。
7.如權(quán)利要求I所述的適用于動態(tài)隨機存取內(nèi)存的內(nèi)存控制器,其特征在于當(dāng)該寫入緩沖器不是空的且讀取數(shù)據(jù)的列地址同于該筆儲存數(shù)據(jù)的列地址,則執(zhí)行寫入操作,再接著執(zhí)行讀取操作。
8.—種適用于動態(tài)隨機存取內(nèi)存的內(nèi)存控制方法,其特征在于包含 以ー控制器管理進出該的數(shù)據(jù)流; 提供一寫入緩沖器,用以暫存要寫入該的ー筆寫入數(shù)據(jù); 當(dāng)該寫入緩沖器為空的,則將該筆寫入數(shù)據(jù)儲存于該寫入緩沖器;及 將該筆儲存數(shù)據(jù)及要寫入該的ー筆后續(xù)寫入數(shù)據(jù)ー并寫入該。
9.如權(quán)利要求8所述的適用于動態(tài)隨機存取內(nèi)存的內(nèi)存控制方法,其特征在于該寫入緩沖器的尺寸為足以儲存單筆數(shù)據(jù),其可被個別地址所尋址。
10.如權(quán)利要求8所述的適用于動態(tài)隨機存取內(nèi)存的內(nèi)存控制方法,其特征在于該筆后續(xù)寫入數(shù)據(jù)為該筆儲存數(shù)據(jù)的下ー筆寫入數(shù)據(jù),且其中該筆儲存數(shù)據(jù)及該下ー筆寫入數(shù)據(jù)ー并寫入該,使得該筆儲存數(shù)據(jù)與該下ー筆寫入數(shù)據(jù)的列主動時間互相部分重疊。
11.如權(quán)利要求8所述的適用于動態(tài)隨機存取內(nèi)存的內(nèi)存控制方法,其特征在于該筆后續(xù)寫入數(shù)據(jù)位于該筆儲存數(shù)據(jù)之后;該筆后續(xù)寫入數(shù)據(jù)與該筆儲存數(shù)據(jù)具有相同列地址,而該筆儲存數(shù)據(jù)與該筆后續(xù)寫入數(shù)據(jù)之間的寫入數(shù)據(jù)系先該筆儲存數(shù)據(jù)與該筆后續(xù)數(shù)據(jù)寫入。
12.如權(quán)利要求8所述的適用于動態(tài)隨機存取內(nèi)存的內(nèi)存控制方法,其特征在于當(dāng)該寫入緩沖器不是空的且讀取數(shù)據(jù)的列地址不同于該筆儲存數(shù)據(jù)的列地址,則更包含僅執(zhí)行讀取操作,但不執(zhí)行寫入操作。
13.如權(quán)利要求8所述的適用于動態(tài)隨機存取內(nèi)存的內(nèi)存控制方法,其特征在于當(dāng)該寫入緩沖器不是空的且讀取數(shù)據(jù)的列地址同于該筆儲存數(shù)據(jù)的列地址,則更包含執(zhí)行寫入 操作,再接著執(zhí)行讀取操作。
全文摘要
本發(fā)明是有關(guān)于一種適用于動態(tài)隨機存取內(nèi)存(DRAM)的內(nèi)存控制器及方法。DRAM控制器管理進出DRAM的數(shù)據(jù)流。寫入緩沖器受控于DRAM控制器,用以暫存要寫入DRAM的一筆寫入數(shù)據(jù)。當(dāng)寫入緩沖器為空的,則將該筆寫入數(shù)據(jù)儲存于寫入緩沖器,且該筆儲存數(shù)據(jù)及要寫入DRAM的一筆后續(xù)寫入數(shù)據(jù)將一并寫入該DRAM。
文檔編號G06F3/06GK102681788SQ201110093898
公開日2012年9月19日 申請日期2011年4月11日 優(yōu)先權(quán)日2011年3月10日
發(fā)明者劉幸和 申請人:擎泰科技股份有限公司