TWI436373B - 動態隨機存取記憶體控制器與控制方法 - Google Patents

動態隨機存取記憶體控制器與控制方法 Download PDF

Info

Publication number
TWI436373B
TWI436373B TW98146294A TW98146294A TWI436373B TW I436373 B TWI436373 B TW I436373B TW 98146294 A TW98146294 A TW 98146294A TW 98146294 A TW98146294 A TW 98146294A TW I436373 B TWI436373 B TW I436373B
Authority
TW
Taiwan
Prior art keywords
address
data
dram
read
write
Prior art date
Application number
TW98146294A
Other languages
English (en)
Other versions
TW201123204A (en
Inventor
Jie Ding
Original Assignee
Via Tech Inc
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Via Tech Inc filed Critical Via Tech Inc
Priority to TW98146294A priority Critical patent/TWI436373B/zh
Publication of TW201123204A publication Critical patent/TW201123204A/zh
Application granted granted Critical
Publication of TWI436373B publication Critical patent/TWI436373B/zh

Links

Landscapes

  • Techniques For Improving Reliability Of Storages (AREA)

Description

動態隨機存取記憶體控制器與控制方法
本發明係關於一種動態隨機存取記憶體(Dynamic Random Access Memory,DRAM)控制器與DRAM控制方法,特別關於一種可補償由於回應部分寫請求而執行讀、修改、寫(Read Modify Write,RMW)操作而導致的性能下降的DRAM控制器和DRAM控制方法。
目前,動態隨機存取記憶體(DRAM)已經被廣泛應用於資料儲存領域。通常,使用DRAM控制器來控制對DRAM的讀寫。第1圖係顯示傳統的DRAM控制器的方塊圖。如第1圖所示,DRAM控制器100包括控制單元101和合併單元102,並且通過命令匯流排103和資料匯流排104與DRAM 200相連接。當從中央處理單元(Central Processing Unit,CPU)(圖未示)接收到讀/寫請求時,DRAM控制器100相應地控制對DRAM 200的讀/寫操作,以便向CPU返回所請求讀的資料或者將所請求寫的資料寫入DRAM 200。
對於支援錯誤更正碼(Error Correction Code,ECC)糾錯功能的DRAM(假設為如第1圖所示的DRAM 200),當接收到部分寫請求時,DRAM控制器100需要對DRAM 200執行讀、修改、寫(Read Modify Write,RMW)操作,以便能夠對寫入DRAM 200的資料進行正確的ECC計算。具體地說,如熟習此技藝人士所公知,CPU向DRAM寫資料的最小單位為1位元組,然而CPU和 DRAM之間的匯流排寬度通常大於1位元組,例如可以為8位元組。如果在寫請求中,CPU要寫入DRAM的位元組數小於匯流排寬度,則這種寫請求被稱為部分寫請求,反之,如果要寫入的位元組數等於匯流排寬度,則該寫請求為完全寫請求。由於ECC糾錯是以例如8位元組為單位進行的,因此,若對於該部分寫請求要寫入的資料(例如,1位元組)則無法正確地計算ECC。為了解決這個問題,當接收到部分寫請求時,控制單元101經由命令匯流排向DRAM 200發出讀命令,以便將儲存在DRAM 200中的、包括部分寫請求的寫位址上的資料的一個突發長度(burst length)的資料讀取到合併單元102中(讀操作)。該突發長度的資料的長度為匯流排寬度的倍數。然後,合併單元102將所讀取的資料與該部分寫請求要寫入的資料合併,即,利用要寫入的資料替換所讀取的資料中、在所請求的寫位址上的資料(修改操作)。最後,控制單元101將合併後的資料寫入DRAM 200(寫操作),由此,完成部分寫請求的執行。
如上述,對於一個部分寫請求,需要連續執行三個操作,因而需要耗費較長的時間。如果DRAM控制器在短時間內接收到很多部分寫請求,則其性能將嚴重降低。
因此,需要一種DRAM控制器和DRAM控制方法,其能夠補償由於回應於部分寫請求執行RMW操作而導致的DRAM控制器的性能下降。
為了解決以上問題而提出了本發明的DRAM控制器和DRAM控制方法,其能夠補償由於回應於部分寫請求執行RMW操作而導致的DRAM控制器的性能下降,如此可進一步提高DRAM控制器的性能。
根據本發明之一實施例,一種DRAM控制器,用於控制對DRAM的讀寫,包括:儲存單元,用於儲存包含回應於先前的部分寫請求而寫入DRAM的資料的第一預定長度的資料、以及該第一預定長度的資料在DRAM中的儲存位址;以及控制單元,用於回應於所接收的讀請求而判斷在該儲存位址中是否存在與該讀請求中的讀位址相同的位址,並且當在該儲存位址中存在與該讀位址相同的位址時,從儲存單元中讀取與該讀位址相對應的資料以便輸出。
根據本發明之另一實施例,一種DRAM控制方法,用於DRAM控制器,該DRAM控制器控制對DRAM的讀寫,並且包括儲存單元,該DRAM控制方法包括以下步驟:將包含回應於先前的部分寫請求而寫入DRAM的資料的第一預定長度的資料、以及該第一預定長度的資料在DRAM中的儲存位址儲存在儲存單元中;以及回應於所接收的讀請求而判斷在該儲存位址中是否存在與該讀請求中的讀位址相同的位址,並且當在該儲存位址中存在與該讀位址相同的位址時,從儲存單元中讀取與該讀位址相對應的資料以便輸出。
如上所述,在根據本發明實施例的DRAM控制器中,設置了儲存單元,用於儲存包括回應於先前的部分寫請求 而寫入DRAM的資料的第一預定長度的資料以及該資料在DRAM中的儲存位址。當隨後接收到的讀請求所請求讀取的資料已經被儲存在儲存單元中時,可以直接從儲存單元讀取所請求讀取的資料,而不再需要像傳統技術那樣對DRAM執行讀操作,從而縮短了執行讀請求的時間,補償了由於先前的RMW操作導致的DRAM控制器的性能下降。此外,如下文所述,當接收到部分寫請求時,如果儲存在DRAM中的、包括所請求的寫位址上的資料的第一預定長度的資料已經被儲存在儲存單元中,則可以直接從儲存單元讀取應當與要寫入的資料合併的資料,而不需要對DRAM執行讀操作,由此縮短了執行部分寫請求的時間,減小了由於RMW操作導致的性能下降。
為使本發明之製造、操作方法、目標和優點能更明顯易懂,下文特舉幾個較佳實施例,並配合所附圖式,作詳細說明如下:
實施例:
下面將參照附圖來描述根據本發明實施例的DRAM控制器以及DRAM控制方法。在附圖中,相同的參考標號自始至終表示相同的元件。應當理解:這裡描述的實施例僅僅是說明性的,而不應被解釋為限制本發明的範圍。
首先,參照第2圖來描述根據本發明實施例的DRAM控制器。
如圖2所示,DRAM控制器300包括表格旁路緩衝器(Table Look aside Buffer,TLB)301、控制單元302、多工 單元(MUX)303、以及合併單元304。
DRAM控制器300通過命令匯流排和資料匯流排與DRAM 200相連接,其從諸如CPU的外部設備(圖未示)接收讀/寫請求,並且根據所接收的請求控制對DRAM 200的讀/寫操作。
TLB 301儲存包括回應於先前的部分寫請求而寫入DRAM的資料的第一預定長度的資料、以及該第一預定長度的資料在DRAM中的儲存位址。所述第一預定長度可以為一個突發長度的資料長度的一倍或多倍,但等於一個突發長度的資料長度為較佳。
具體地說,如稍後將詳細描述的那樣,當從CPU接收到部分寫請求時,如果儲存在DRAM 200中的、包括所請求的寫位址上的資料的第一預定長度的資料沒有被預先儲存在TLB 301中,則控制單元302將從DRAM 200讀取所述第一預定長度的資料,並且將所讀取的資料寫入TLB 301。然後,合併單元304將所讀取的資料中、包括所請求的寫位址上的資料的第二預定長度的資料與要寫入的資料合併。另一方面,如果所述第一預定長度的資料已經被預先儲存在TLB 301中,則合併單元304將把要寫入的資料與從TLB 301讀取的、包括所請求的寫位址上的資料的第二預定長度的資料合併。在任一情況下,合併後的資料除了被儲存到DRAM 200中以外,還被儲存到TLB 301中並且替換原來的與相同位址相對應的資料,以供以後的讀請求或部分寫請求使用。除了合併後的資料以外,控制單元302還將所述第一預定長度的資料在DRAM中的對應儲存 位址儲存在TLB 301中。在TLB 301中,可以以表格的形式相關聯地儲存所述資料和儲存位址,也可以採用任何其他合適的資料結構。所述第二預定長度可以小於或等於第一預定長度,例如可以為外部設備與DRAM控制器之間的匯流排寬度的一倍或多倍,但等於匯流排寬度為較佳。
TLB 301的容量(即,用以儲存所述資料和儲存位址的表格的深度)需要在DRAM控制器300的柵極數目(gate count)和命中率之間進行權衡,命中率是指在儲存於TLB 301內的儲存位址中找到與所請求的讀/寫位址相同的位址的比率。如果TLB深度大,則性能補償效果好,但DRAM控制器的柵極數目較多,反之,如果TLB深度小,則DRAM控制器的柵極數目少,但是性能補償效果較差。在實際應用中,可以根據設計需要來設置TLB 301的容量。
控制單元302控制對TLB 301和DRAM 200的讀/寫操作。此外,控制單元302確定DRAM控制器300從CPU接收的請求的類型,並且相應地執行下文所述的操作。控制單元302判斷請求類型的方法是本領域公知的,因此為簡單起見,在此省略對其的詳細描述。
當控制單元302確定所接收的請求為讀請求時,其利用該讀請求中的讀位址(以下稱為讀位址)來查詢TLB 301,即,將讀位址與儲存在TLB 301中的儲存位址進行比較,以便查看在TLB 301中是否存在與讀地址相同的位址。如果在TLB 301中找到與該讀位址相同的位址(即,“命中”),則這意味著:該讀請求要讀取的資料已經被預先儲存在TLB 301中。因此,控制單元302根據讀位址從 TLB 301讀取對應的資料,所讀取的資料被提供給MUX 303。控制單元302還向MUX 303發送第一指示信號,使得MUX 303回應於該第一指示信號而將所讀取的資料提供給CPU。另一方面,如果在TLB 301中沒有找到與讀位址相同的位址(即,“沒有命中”),則這意味著:該讀請求要讀取的資料沒有被儲存在TLB 301中。因此,控制單元302經由命令匯流排向DRAM 200發送讀命令,以便從DRAM 200讀取所述讀位址上的資料。所讀取的資料經由資料匯流排而被提供給MUX 303。控制單元302還向MUX 303發送第二指示信號,使得MUX 303回應於該第二指示信號而將所讀取的資料提供給CPU。
當控制單元302確定所接收的請求為部分寫請求時,其利用該部分寫請求中的寫位址(以下稱為部分寫位址)查詢TLB 301,即,將部分寫位址與儲存在TLB 301中的儲存位址進行比較,以便查看在TLB 301中是否存在與部分寫位址相同的位址。如果在TLB 301中找到與該部分寫位址相同的位址(即,“命中”),則這意味著,儲存在DRAM 200中的、包括該部分寫位址上的資料的第一預定長度的資料已經被預先儲存在TLB 301中,因此,控制單元302根據部分寫位址從TLB 301讀取包括該部分寫位址上的資料的第二預定長度的資料,所讀取的資料被提供給MUX 303。控制單元302還向MUX 303發送第三指示信號,使得MUX 303回應於該第三指示信號而將所述第二預定長度的資料提供給合併單元304。另一方面,如果在TLB 301中沒有找到與部分寫位址相同的位址,則這意味著:儲存 在DRAM 200中的、包括該部分寫位址上的資料的第一預定長度的資料沒有被預先儲存在TLB 301中。因此,控制單元302經由命令匯流排向DRAM 200發送讀命令,以便從DRAM 200讀取包括部分寫位址上的資料的第一預定長度的資料,並且將所讀取的資料以及該資料在DRAM中的對應儲存位址儲存到TLB 301中。然後,控制單元302從TLB 301讀取包括部分寫位址上的資料的第二預定長度的資料,並且將該資料提供給MUX 303。控制單元302還向MUX 303發送第三指示信號,使得MUX 303回應於該第三指示信號而將所述第二預定長度的資料提供給合併單元304。當合併單元304完成所述第二預定長度的資料與要寫入的資料的合併操作時,控制單元302還控制合併單元304將合併後的資料儲存到DRAM 200和TLB 301中,以便利用合併後的資料替換DRAM 200和TLB 301中的對應資料。該替換方法是本領域公知的,在這裡不再贅述。
當控制單元302確定所接收的請求為完全寫請求時,其根據該完全寫請求中的寫位址(以下稱為完全寫位址),經由合併單元304將要寫入的資料寫入DRAM 200。此外,控制單元302還利用完全寫位址查詢TLB 301,以便查看在TLB 301中是否存在與該完全寫位址相同的位址。如果在TLB 301中找到與該完全寫位址相同的位址(即,“命中”),則這意味著:儲存在DRAM 200中的、包括該完全寫位址上的位址已經被預先儲存在TLB 301中,因此,為了使儲存在TLB 301和DRAM 200中的、與該完全寫位址相對應的資料始終保持一致,控制單元302將該完全寫請 求要寫入的資料寫入TLB 301以替換其中的對應資料。另一方面,如果在TLB 301中沒有找到與完全寫位址相同的位址,則控制單元302不執行上述替換操作。
MUX 303實際上為選擇器。如上文所述,MUX 303回應於來自控制單元302的第一、第二或第三指示信號而選擇性地將提供到其輸入端的資料輸出到CPU或合併單元304。
合併單元304將部分寫請求要寫入的資料與從MUX 303提供的所述第二預定長度的資料合併,即,利用要寫入的資料替換所述第二預定長度的資料中、與部分寫位址相對應的資料,並且在控制單元302的控制下將合併後的資料寫入DRAM 200和TLB 301以替換其中的對應資料。
下面,將參照第3A與3B圖來描述根據本發明實施例的DRAM控制方法,該控制方法可由第2圖所示的DRAM控制器執行。
如第3A與3B圖所示,當DRAM控制器300從諸如CPU的外部設備接收到請求時,在步驟S401中,控制單元302確定所接收的請求是否是讀請求。
如果所接收的請求是讀請求,則控制單元302在步驟S402中利用該讀請求中的讀位址查詢TLB 301,並且在步驟S403中確定在儲存於TLB 301內的儲存位址中是否存在與該讀位址相同的位址,即,確定是否“命中”。如果命中,則在步驟S404中,控制單元302根據所述讀位址從TLB 301讀取對應的資料。所讀取的資料被提供給MUX 303。此外,控制單元302還向MUX 303發送第一指示信 號,使得MUX 303將所讀取的資料提供給CPU。另一方面,如果沒有命中,則在步驟S405中,控制單元302經由命令匯流排向DRAM 200發送讀命令,以便利用所述讀位址從DRAM 200讀取對應的資料。所讀取的資料經由資料匯流排而被提供給MUX 303。此外,控制單元302還向MUX 303發送第二指示信號,使得MUX 303將從DRAM 200讀取的資料提供給CPU。
另一方面,如果在步驟S401確定所接收的請求不是讀請求,則在步驟S406中,控制單元302確定該請求是否是部分寫請求。控制單元302判斷該請求是否是部分寫請求的方法是本領域公知的,例如,可以通過該寫請求中針對每個位元組設置的BYTE ENABLE標誌位元判斷該寫請求要寫入的位元組數是否等於匯流排寬度,來確定該寫請求是否是部分寫請求;也可以在所接受的請求中設置一部分寫請求標誌位元,以標誌該請求為部分寫請求。
如果在步驟S406中確定所接收的請求不是部分寫請求而是完全寫請求,則在步驟S407中,控制單元302根據該完全寫請求中的寫位址(以下稱為完全寫位址),將該寫請求要寫入的資料經由合併單元304寫入DRAM 200。然後,在步驟S408中,控制單元302利用所述完全寫位址查詢TLB 301,並且在步驟S409中確定在TLB 301中是否存在與所述完全寫位址相同的位址,即,確定是否“命中”。如果命中,則在步驟S410中,控制單元302將該完全寫請求要寫入的資料寫入TLB 301中以便替換其中的對應資料。反之,如果在步驟S409中沒有命中,則該過程結束, 而不執行前述替換操作。
另一方面,如果在步驟S406中確定所接收的請求是部分寫請求,則在步驟S411中,控制單元302利用該部分寫請求中的寫位址(以下稱為部分寫位址)查詢TLB 301,並且在步驟S412中確定在TLB 301中是否存在與所述部分寫位址相同的位址,即,確定是否“命中”。如果命中,則在步驟S413中,控制單元302從TLB 301讀取包括部分寫位址上的資料的第二預定長度的資料,所讀取的資料被提供給MUX 303。此外,控制單元302還向MUX 303發送第三指示信號,使得MUX 303將從TLB 301讀取的資料提供給合併單元304。反之,如果在步驟S412中沒有命中,則在步驟S414中,控制單元302經由命令匯流排向DRAM 200發送讀命令以便從DRAM 200讀取包括所請求的寫位址上的資料的第一預定長度的資料,並且將所讀取的資料以及該資料在DRAM中的對應儲存位址儲存到TLB 301中。然後,在步驟S415中,控制單元302從TLB 301讀取包括部分寫位址上的資料的第二預定長度的資料並且將其提供給MUX 303。控制單元302還向MUX 303發送第三指示信號,使得MUX 303將所述第二預定長度的資料提供給合併單元304。
接下來,在步驟S416中,合併單元304將從MUX 303提供的所述第二預定長度的資料與該部分寫請求要寫入的資料合併,並且在步驟S417中,將合併後的資料輸出到DRAM 200和TLB 301以替換其中的對應資料。
可以看到,在根據本發明實施例的DRAM控制方法 中,每次執行部分寫請求時,都將合併後的資料儲存在TLB 301中。由此,當隨後接收到讀請求或者部分寫請求時,如果該請求涉及的資料已經被儲存在TLB 301中,則可以直接從TLB 301讀取所需資料,而不再需要像傳統技術那樣對DRAM執行讀操作,由此,減少了執行所述請求的時間,補償了由於RMW操作導致的DRAM控制器性能的下降。
在上文中,描述了根據本發明實施例的DRAM控制器和DRAM控制方法。應當認識到,這裡的描述僅僅是說明性的,而不是限制性的。本領域技術人員可以根據需要對所述DRAM控制器和DRAM控制方法進行各種改變。例如,可以對上述實施例進行如下修改:可以通過向TLB 301和MUX 303施加使能(ENABLE)信號或禁止(DISABLE)信號,來控制是否啟動這兩個部件。具體地,當控制單元302向TLB 301和MUX 303施加使能信號時,TLB 301和MUX 303啟動並且如上文所述的那樣工作,從而與控制單元302和合併單元304一起執行根據本發明實施例的DRAM控制方法。反之,當控制單元302向TLB 301和MUX 302施加禁止信號時,TLB 301和MUX 303被禁用,此時控制單元302和合併單元304像圖1所示的傳統DRAM控制器100那樣工作,而不執行根據本發明實施例的DRAM控制方法。
本發明雖以較佳實施例揭露如上,然其並非用以限定本發明的範圍,任何熟習此項技藝者,在不脫離本發明之精神和範圍內,當可做些許的更動與潤飾,因此本發明之保護範圍當視後附之申請專利範圍所界定者為準。
100、300‧‧‧動態隨機存取記憶體控制器
101、302‧‧‧控制單元
102、304‧‧‧合併單元
105、305‧‧‧命令匯流排
106、306‧‧‧資料匯流排
200‧‧‧動態隨機存取記憶體
301‧‧‧表格旁路緩衝器
303‧‧‧多工單元
第1圖顯示出傳統的DRAM控制的方塊圖;第2圖顯示出根據本發明之一實施例所述之DRAM控制器的方塊圖;第3A與3B圖顯示出根據本發明之一實施例所述之DRAM控制方法的流程圖。
300‧‧‧動態隨機存取記憶體控制器
302‧‧‧控制單元
304‧‧‧合併單元
305‧‧‧命令匯流排
306‧‧‧資料匯流排
200‧‧‧動態隨機存取記憶體
301‧‧‧表格旁路緩衝器
303‧‧‧多工單元

Claims (18)

  1. 一種動態隨機存取記憶體(Dynamic Random Access Memory,DRAM)控制器,用於控制對一動態隨機存取記憶體(DRAM)的讀寫操作,包括:一儲存單元,用於儲存包含回應於一先前之部分寫請求而寫入該DRAM的資料的第一預定長度的資料、以及該第一預定長度的資料在該DRAM中之一或多個儲存位址;以及一控制單元,用於回應於所接收之一讀請求而判斷在該等儲存位址中是否存在與該讀請求中之一讀位址相同的位址,並且當在該等儲存位址中存在與該讀位址相同的位址時,從該儲存單元中讀取與該讀位址相對應的資料以便輸出。
  2. 如申請專利範圍第1項所述之DRAM控制器,其中當在該等儲存位址中不存在與該讀位址相同的位址時,該控制單元從該DRAM讀取該讀位址上的資料以便輸出。
  3. 如申請專利範圍第1項所述之DRAM控制器,其中當接收到一完全寫請求時,該控制單元根據該完全寫請求中之一寫位址,將該完全寫請求要寫入的資料寫入該DRAM。
  4. 如申請專利範圍第3項所述之DRAM控制器,其中該控制單元更判斷在該等儲存位址中是否存在與該完全寫請求中之該寫位址相同的位址,並且當在該等儲存位址中存在與該寫位址相同的位址時,將該完全寫請求要寫入的資料寫入該儲存單元以便替換該儲存單元中的對應資料。
  5. 如申請專利範圍第1項所述之DRAM控制器,還包括:一合併單元,其中當接收到一部分寫請求時,該控制單元判斷在該等儲存位址中是否存在與該部分寫請求中的一寫位址相同的位址,並且當在該等儲存位址中存在與該寫位址相同的位址時,該合併單元將儲存在該儲存單元中的、包含該寫位址上的資料的第二預定長度的資料與該部分寫請求要寫入的資料合併,並且將合併後的資料寫入該DRAM和該儲存單元。
  6. 如申請專利範圍第5項所述之DRAM控制器,其中當在該等儲存位址中不存在與該寫位址相同的位址時,該控制單元從該DRAM讀取包含該寫位址上的資料的該第一預定長度的資料,並且該合併單元將所讀取的該第一預定長度的資料中包含該寫位址上的資料的該第二預定長度的資料與該部分寫請求要寫入的資料合併,並且將該合併後的資料寫入該DRAM和該儲存單元。
  7. 如申請專利範圍第5項所述之DRAM控制器,其中該第一預定長度為一個突發長度(burst length)的資料的長度,該第二預定長度為一外部設備與該DRAM控制器之間之一匯流排寬度。
  8. 如申請專利範圍第1項所述之DRAM控制器,其中該儲存單元是一表格旁路緩衝器(Table Look aside Buffer,TLB)。
  9. 如申請專利範圍第1項所述之DRAM控制器,其中儲存在該儲存單元中的資料和該等儲存位址是以表格的形 式相關聯地被儲存。
  10. 一種動態隨機存取記憶體(Dynamic Random Access Memory,DRAM)控制方法,用於一DRAM控制器,該DRAM控制器控制對一動態隨機存取記憶體(DRAM)的讀寫操作,並且包括一儲存單元,該DRAM控制方法包括:將包含回應於一先前的部分寫請求而寫入該DRAM的資料的第一預定長度的資料、以及該第一預定長度的資料該在DRAM中的一或多個儲存位址儲存在該儲存單元中;以及回應於所接收的一讀請求而判斷在該等儲存位址中是否存在與該讀請求中的一讀位址相同的位址,並且當在該等儲存位址中存在與該讀位址相同的位址時,從該儲存單元中讀取與該讀位址相對應的資料以便輸出。
  11. 如申請專利範圍第10項所述之DRAM控制方法,更包括:當在該等儲存位址中不存在與該讀位址相同的位址時,從該DRAM讀取該讀位址上的資料以便輸出。
  12. 如申請專利範圍第10項所述之DRAM控制方法,更包括:當接收到一完全寫請求時,根據該完全寫請求中的一寫位址,將該完全寫請求要寫入的資料寫入該DRAM。
  13. 如申請專利範圍第12項所述之DRAM控制方法,更包括:判斷在該等儲存位址中是否存在與該完全寫請求中的 該寫位址相同的位址;以及當在該等儲存位址中存在與該寫位址相同的位址時,將該完全寫請求要寫入的資料寫入該儲存單元以便替換該儲存單元中的對應資料。
  14. 如申請專利範圍第10項所述之DRAM控制方法,更包括:當接收到一部分寫請求時,判斷在該等儲存位址中是否存在與該部分寫請求中的一寫位址相同的位址;當在該等儲存位址中存在與該寫位址相同的位址時,將儲存在該儲存單元中的、包含該寫位址上的資料的第二預定長度的資料與該部分寫請求要寫入的資料合併;以及將合併後的資料寫入該DRAM和該儲存單元。
  15. 如申請專利範圍第14項所述之DRAM控制方法,更包括:當在該等儲存位址中不存在與該寫位址相同的位址時,從該DRAM讀取包含該寫位址上的資料的第一預定長度的資料;將所讀取的第一預定長度的資料中、包含該寫位址上的資料的第二預定長度的資料與該部分寫請求要寫入的資料合併;以及將合併後的資料寫入該DRAM和該儲存單元。
  16. 如申請專利範圍第14項所述之DRAM控制方法,其中該第一預定長度為一個突發長度(burst length)的資料的長度,該第二預定長度為一外部設備與該DRAM控制器之間之一匯流排寬度。
  17. 如申請專利範圍第10項所述之DRAM控制方法,其中,該儲存單元是一表格旁路緩衝器(Table Look aside Buffer,TLB)。
  18. 如申請專利範圍第10項所述之DRAM控制方法,其中,儲存在該儲存單元中的資料和該等儲存位址是以表格的形式相關聯地被儲存的。
TW98146294A 2009-12-31 2009-12-31 動態隨機存取記憶體控制器與控制方法 TWI436373B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
TW98146294A TWI436373B (zh) 2009-12-31 2009-12-31 動態隨機存取記憶體控制器與控制方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
TW98146294A TWI436373B (zh) 2009-12-31 2009-12-31 動態隨機存取記憶體控制器與控制方法

Publications (2)

Publication Number Publication Date
TW201123204A TW201123204A (en) 2011-07-01
TWI436373B true TWI436373B (zh) 2014-05-01

Family

ID=45046592

Family Applications (1)

Application Number Title Priority Date Filing Date
TW98146294A TWI436373B (zh) 2009-12-31 2009-12-31 動態隨機存取記憶體控制器與控制方法

Country Status (1)

Country Link
TW (1) TWI436373B (zh)

Also Published As

Publication number Publication date
TW201123204A (en) 2011-07-01

Similar Documents

Publication Publication Date Title
TWI762479B (zh) Ddr相容非同步記憶體模組、系統與操作記憶體模組的方法
KR102025340B1 (ko) 불휘발성 메모리를 포함하는 반도체 메모리 장치, 이를 포함하는 캐쉬 메모리 및 컴퓨터 시스템
US8347180B2 (en) Data storage system and method
US9405698B2 (en) System and methods for memory expansion
US8452918B2 (en) DRAM control method and the DRAM controller utilizing the same
US7774661B2 (en) Register read mechanism
US9003247B2 (en) Remapping data with pointer
US8407394B2 (en) System and methods for memory expansion
TWI655574B (zh) Memory system and processor system
JP5490062B2 (ja) 不揮発性半導体記憶装置
CN109952565B (zh) 内存访问技术
US9734921B2 (en) Memory repair using external tags
US11113145B2 (en) Memory device, semiconductor device, and semiconductor system
US20140047296A1 (en) Error Correcting Code Design For A Parity Enabled Memory
US8621132B2 (en) System and methods for memory expansion
US11294819B2 (en) Command optimization through intelligent threshold detection
US10496546B2 (en) Cache memory and processor system
WO2016043158A1 (ja) メモリ制御回路および記憶装置
TWI436373B (zh) 動態隨機存取記憶體控制器與控制方法
US11704055B2 (en) Storage device, controller and method for operating thereof
US20060184858A1 (en) Memory circuit, such as a DRAM, comprising an error correcting mechanism
TWI417887B (zh) 資料儲存系統與方法
JPS6235146B2 (zh)