TWI550403B - 記憶體控制器及其記憶體位址產生方法 - Google Patents
記憶體控制器及其記憶體位址產生方法 Download PDFInfo
- Publication number
- TWI550403B TWI550403B TW102111928A TW102111928A TWI550403B TW I550403 B TWI550403 B TW I550403B TW 102111928 A TW102111928 A TW 102111928A TW 102111928 A TW102111928 A TW 102111928A TW I550403 B TWI550403 B TW I550403B
- Authority
- TW
- Taiwan
- Prior art keywords
- address
- bit
- memory
- row
- block
- Prior art date
Links
Classifications
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C8/00—Arrangements for selecting an address in a digital store
- G11C8/18—Address timing or clocking circuits; Address control signal generation or management, e.g. for row address strobe [RAS] or column address strobe [CAS] signals
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C8/00—Arrangements for selecting an address in a digital store
- G11C8/06—Address interface arrangements, e.g. address buffers
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C8/00—Arrangements for selecting an address in a digital store
- G11C8/10—Decoders
Description
本發明是有關於一種記憶體控制器,且特別是有關於一種運用於倍數資料速率動態隨機存取記憶體的記憶體控制器。
雙倍資料速率動態隨機存取記憶體(簡稱DDR記憶體)的存取速度快速且價格低廉,現在已成為電腦系統或者是電子裝置中資料的暫存元件。由於DDR記憶體的持續演進,現今的電腦系統或者電子裝置大多已經搭配第三代DDR記憶體(以下簡稱DDR3記憶體)。而為了能夠存取DDR3記憶體,在電腦系統或者電子裝置中的存取元件(Client),例如中央處理單元、繪圖單元、或者其他週邊元件,皆需透過記憶體控制器(memory controller)來存取DDR3記憶體。
由於記憶體技術的持續進步,第四代DDR DRAM(以下簡稱DDR4)的規格已經問世,而DDR3記憶體與DDR4記憶體的記憶體位址組態(memory address configuration)並不相同。舉例來說,DDR3記憶體位址包括:區塊位址(bank address)、列位址(row address)與行位址(column address)。而根據DDR4記憶體的規格書,其DDR4記憶體位址包括:區塊位址、區塊群位址(bank group address)、列位址與行位址。亦即,相較於DDR3記憶體位址,DDR4記憶體位址的組態中多了區塊群位址。
再者,由DDR4記憶體的規格中可知,其資料存取的限制參數更多。因此,在DDR4記憶體的系統下,記憶體控制
器需要有全新的記憶體位址產生方式,以有效率地使用DDR4記憶體。
本發明提出一種記憶體控制器,連接至倍數資料速率動態隨機存取記憶體與存取單元,記憶體控制器包括:處理單元,接收該存取單元所產生之系統位址;以及映射單元,位於處理單元內,用以將系統位址轉換為一記憶體位址並傳遞至倍數資料速率動態隨機存取記憶體;倍數資料速率動態隨機存取記憶體的一突發存取長度為L,L=2x時,以及記憶體位址中由最低位元開始的第(x+1)個位元係屬於一區塊群位址,且L與x為正整數。
本發明更提出一種記憶體位址的產生方法,用以定址一倍數資料速率動態隨機存取記憶體,該方法包括下列步驟:確認相關於該倍數資料速率動態隨機存取記憶體的一記憶體位址之參數,包括Rn位元的列位址、Bn位元的區塊位址、Gn位元的區塊群位址、與Cn位元的行位址;確認該倍數資料速率動態隨機存取記憶體的一突發存取長度為L且L=2x;將接收的一系統位址中的[(x-1):0]位元設定為一第一部份的行位址COL[(x-1):0];以及將該系統位址中的[x]位元設定為包含於該Gn位元的區塊群位址中。
本發明更提出一種記憶體位址的產生方法,用以定址一倍數資料速率動態隨機存取記憶體,該方法包括下列步驟:確認倍數資料速率動態隨機存取記憶體的一記憶體位址,且該記憶體位址中包括一區塊群位址;確認該倍數資料速率動態隨機存取記憶體的一突發存取長度為L且L=2x;接收一系統位址;以及設定該系統位址中由最低位元開始的第(x+1)個位元包含於該記憶體位址的該區塊群位址中。
為了對本發明之上述及其他方面有更佳的瞭解,下文特舉較佳實施例,並配合所附圖式,作詳細說明如下:
102、104、106‧‧‧存取單元
110‧‧‧記憶體控制器
112‧‧‧仲裁單元
114‧‧‧處理單元
116‧‧‧映射單元
120‧‧‧DDR4記憶體
第1圖繪示本發明DDR4記憶體的系統示意圖。
第2圖繪示為記憶體控制器發出寫入指令時的相關信號示意圖。
第3圖繪示映射單元將系統位址轉換為DDR4記憶體位址之示意圖。
第4圖繪示本發明DDR4記憶體位址產生方法之實施例。
第5A圖與第5B圖繪示由四顆4Gb晶粒所組成的16Gb之DDR4記憶體的位址表,及利用本發明實施例所產生的DDR4記憶體位址示意圖。
第6圖繪示本發明DDR4記憶體位址產生方法之實施例。
第7圖繪示本發明實施例所產生的DDR4記憶體位址示意圖。
請參照第1圖,其所繪示為記憶體存取系統示意圖。第1圖雖然是以DDR4記憶體為例來作說明,但並無限於此,其可運用於其他的倍數資料速率動態隨機存取記憶體。記憶體控制器110連接於多個存取單元(Client)102、104、106以及DDR4記憶體120。每個存取單元102、104、106皆透過記憶體控制器110存取DDR4記憶體120中的資料。
記憶體控制器110包括仲裁單元112及處理單元114;處理單元114中包括映射單元(mapping unit)116。如第1圖所示,仲裁單元112連接至所有的存取單元102、104、106用以仲裁存取單元102、104、106使用DDR4記憶體120的優先順序。
舉例來說,當仲裁單元112決定存取單元102可存取DDR4記憶體120時,存取單元102所產生的讀取指令以及系
統位址(system address)會傳送至處理單元114。接著,處理單元114中的映射單元116將系統位址轉換為符合DDR4記憶體120規格的記憶體位址(DDR4 Addr.)後,處理單元114再將讀取指令與記憶體位址傳送至DDR4記憶體120。最後,DDR4記憶體120即根據記憶體位址提取讀取資料經由記憶體控制器110回傳存取單元102以完成此次讀取交易(read transaction)。
同理,當存取單元102進行資料寫入時,寫入命令、系統位址與寫入資料將傳遞至處理單元114。當處理單元114中的映射單元116將系統位址轉換為記憶體位址後,處理單元114再將寫入命令、記憶體位址以及寫入資料傳送至DDR4記憶體120。最後,DDR4記憶體120即根據記憶體位址將寫入資料紀錄於DDR4記憶體120以完成此次寫入交易(write transaction)。
由以上的說明可知,映射單元116接收到系統位址後,皆需要先轉換為記憶體位址後再傳遞至DDR4記憶體120。DDR4記憶體120根據記憶體位址以及指令來完成該次交易。
根據DDR4記憶體的規格,DDR4記憶體位址包括:區塊位址、區塊群位址、列位址與行位址。於資料進行連續存取時,指令的發出時間間隔係被tCCD_L與tCCD_S參數所限制;亦即,當記憶體控制器110連續發出二個讀取或寫入指令至DDR4記憶體120時,若對應的二個記憶體位址中的區塊群位址相同時,則二個指令之間需要間隔tCCD_L的時間;另一方面,當記憶體控制器110連續發出二個讀取或寫入指令至DDR4記憶體120時,若對應的二個記憶體位址中的區塊群位址不相同時,則兩個指令之間僅需要間隔tCCD_S的時間,其中,tCCD_L>tCCD_S。以下的說明係以tCCD_L為6個時脈時間(6T),tCCD_S為4個時脈時間(4T)為例來作說明,但並不限定於此。
請參照第2圖,其所繪示為記憶體控制器110發出寫入指令時的相關信號示意圖。假設記憶體控制器110欲連續發出三個寫入指令Write0、Write1與Write2時,指令Write0對應
的記憶體位址中的區塊群位址(BG)為bg0,指令Write1對應的記憶體位址中的區塊群位址(BG)為bg0,指令Write2對應的記憶體位址中的區塊群位址(BG)為bg1。
如第2圖所示,於時間點T0產生指令Write0且其對應的區塊群位址(BG)為bg0。由於指令Write1所對應的區塊群位址(BG)也為bg0,因此記憶體控制器110根據tCCD_L之規範,在時間點T6產生指令Write1,而時間點T0至時間點T6之間則為無動作(NOP)。再者,由於指令Write2所對應的區塊群位址(BG)變為bg1,因此記憶體控制器110可以根據tCCD_S之規範,在時間點T10產生指令Write2,而時間點T6至時間點T10之間則為無動作(NOP)。很明顯地,指令Write0與指令Write1之間間隔了6個時脈時間(6T),而指令Write1與指令Write2之間僅間隔了4個時脈時間(4T)。
由以上的說明可知,於連續寫入指令產生時如果區塊群位址(BG)產生變化,則DDR4記憶體的使用效率會較高。反之,連續寫入指令產生時如果區塊群位址(BG)未產生變化,則DDR4記憶體的使用效率會較低。
同理,讀取指令的發出時間的間隔也同樣被tCCD_L與tCCD_S參數所限制,此處不再贅述。
請參照第3圖,其所繪示為映射單元116將系統位址(System Address)轉換為DDR4記憶體位址(DDR4 Address)之示意圖。一般來說,映射單元116接收到存取單元的系統位址後,會根據DDR4記憶體的規範,由最高位元(MSB)至最低位元(LSB)將系統位址劃分為四個部份,並依序作為DDR4記憶體位址的列位址(ROW)、區塊位址(BA)、區塊群位址(BG)與行位址(COL)。在第3圖的DDR4記憶體位址其中包括:Rn位元的列位址(ROW[Rn-1:0])、Bn位元的區塊位址(BA[Bn-1:0])、Gn位元的區塊群位址(BG[Gn-1:0])、以及Cn位元的行位址(COL[Cn-1:0])。
然而,當記憶體控制器110的映射單元116以第3
圖之方式產生DDR4記憶體位址時,於存取連續的DDR4記憶體位址時,將嚴重降低DDR4記憶體的使用效率。其原因在於,於存取連續的DDR4記憶體位址只會造成行位址(COL[Cn-1:0])的變化,而區塊群位址(BG[Gn-1:0])不會變化。因此,記憶體控制器110存取連續的DDR4記憶體位址時,將受到tCCD_L參數之限制而降低DDR4記憶體的使用效率。
而本發明係在第1圖的架構下,更改映射單元116產生DDR4記憶體位址的方式。使得記憶體控制器110存取連續的DDR4記憶體位址時,僅受限於tCCD_S參數,並可以有效地提高DDR4記憶體的使用效率。詳細說明如下:請參照第4圖,其所繪示為本發明DDR4記憶體位址產生方法之第一實施例。首先,確認DDR4記憶體位址之參數包括Rn位元的列位址,Bn位元的區塊位址,Gn位元的區塊群位址,與Cn位元的行位址(步驟S402),其中Rn、Bn、Gn與Cn為正整數。接著,確認DDR4記憶體的突發存取長度(burst length)為L,且L=2x(步驟S404)。一般來說,DDR4記憶體的突發存取長度(burst length)L可設定為8或者4,而x即為3或者2。亦即,L與x皆為大於0的正整數。
接著,依序將系統位址中的[(x-1):0]位元設定為第一部份的行位址COL[(x-1):0](步驟S406);將系統位址中的[(x+Gn-1):x]位元設定為區塊群位址BG[Gn-1:0](步驟S408);將系統位址中的[(Cn+Gn-1):(x+Gn)]位元設定為第二部份的行位址COL[Cn-1:x](步驟S410);將系統位址中的[(Cn+Gn+Bn-1):(Cn+Gn)]位元設定為區塊位址BA[Bn-1:0](步驟S412);以及將系統位址中的[(Cn+Gn+Bn+Rn-1):(Cn+Gn+Bn)]位元設定為列位址ROW[Rn-1:0](步驟S414)。也就是說,映射單元116可利用上述方法進行轉譯後,將DDR4記憶體位址由最高位元至最低位元排列為ROW[Rn-1:0],BA[Bn-1:0],COL[Cn-1:x],BG[Gn-1:0],COL[(x-1):0]。
請參照第5A圖與第5B圖,其所繪示為由四顆4Gb晶粒所組成的16Gb之DDR4記憶體的位址表(addressing table),及利用本發明第一實施例所產生的DDR4記憶體位址示意圖。基本上,16Gb的DDR4也可以用八顆2Gb晶粒或者用十六顆1Gb晶粒來組成。而不同的組成,其列位址、行位址、區塊群位址與區塊位址數目將會不同。而以下僅以四顆4Gb晶粒所組成的16Gb之DDR4記憶體來進行說明,本發明並不限定於此。
根據DDR4記憶體的規格書可知,由四顆4Gb晶粒所組成的16Gb之DDR4記憶體位址之參數可知,DDR4記憶體需要A0~A17共18位元的列位址,Rn=18;A0~A9共10位元的行位址,Cn=10;BG0~BG1共2位元的區塊群位址,Gn=2;以及,BA0~BA1共2位元的區塊位址,Bn=2。並且,假設DDR4記憶體的突發存取長度(burst length)設定為8,且8=2x,x=3。
因此,如第5B圖所示,系統位址中的[2:0]位元(即[(x-1):0])設定為第一部份的行位址COL[2:0](即COL[(x-1):0]);系統位址中的[4:3]位元(即[(x+Gn-1):x])設定為區塊群位址BG[1:0](即BG[(Gn-1):0]);系統位址中的[11:5]位元(即[(Cn+Gn-1):(x+Gn)])設定為第二部份的行位址COL[9:3](即COL[(Cn-1):x]);系統位址中的[13:12]位元(即[(Cn+Gn+Bn-1):(Cn+Gn)])設定為區塊位址BA[1:0](即BA[(Bn-1):0]);以及系統位址中的[31:14]位元(即[(Cn+Gn+Bn+Rn-1):(Cn+Gn+Bn)])設定為列位址ROW[17:0](即ROW[(Rn-1):0])。因此,映射單元116產生的DDR4記憶體由最高位元至最低位元排列為ROW[17:0],BA[1:0],COL[9:3],BG[1:0],COL[2:0]。
於此實施例中,由於DDR4記憶體的突發存取長度(burst length)為8,所以記憶體控制器110存取連續的DDR4記憶體位址時,DDR4記憶體位址由最低位元開始的第四個位元,亦即第(x+1)個位元,會持續變化。而該第四個位元係包含於區塊群
位址BG[1:0]中,當記憶體控制器110存取連續的DDR4記憶體位址時,區塊群位址BG[1:0]將會持續變化,使得記憶體控制器110產生的指令僅受限於tCCD_S參數,因此,可以有效地提高DDR4記憶體的使用效率。
由以上的說明可知,本發明最主要的目的之一係揭露一種產生DDR4記憶體位址的方法及裝置。當DDR4記憶體的突發存取長度(burst length)為L且L=2x時。映射單元114將系統位址由最低位元開始的第(x+1)個位元設定為DDR4記憶體位址中由最低位元開始的第(x+1)個位元,且此第(x+1)個位元係包含於區塊群位址。如此,記憶體控制器110存取連續的DDR4記憶體位址時,可使得記憶體控制器110產生的指令僅受限於tCCD_S參數,以有效地提高DDR4記憶體的使用效率。
請參照第6圖,其所繪示為本發明DDR4記憶體位址產生方法之第二實施例。首先,確認DDR4記憶體位址之參數包括Rn位元的列位址,Bn位元的區塊位址,Gn位元的區塊群位址,與Cn位元的行位址(步驟S602)。接著,確認DDR4記憶體的突發存取長度(burst length)為L,且L=2x(步驟S604)。
接著,依序將系統位址中的[(x-1):0]位元設定為第一部份的行位址COL[(x-1):0](步驟S606);將系統位址中的[(x+y-1):x]位元設定為第一部份的區塊群位址BG[y-1:0](步驟S608),其中y為大於0且小於等於Gn的正整數;將系統位址中的[(Cn+y-1):(x+y)]位元設定為第二部份的行位址COL[Cn-1:x](步驟S610);將系統位址中的[(Cn+Gn-1):(Cn+y)]位元設定為第二部份的區塊群位址BG[Gn-1:y](步驟S612);將系統位址中的[(Cn+Gn+Bn-1):(Cn+Gn)]位元設定為區塊位址BA[Bn-1:0](步驟S614);以及將系統位址中的[(Cn+Gn+Bn+Rn-1):(Cn+Gn+Bn)]位元設定為列位址ROW[Rn-1:0](步驟S616)。
最後,映射單元116即利用上述方法進行轉譯後,
將DDR4記憶體位址由最高位元至最低位元排列為ROW[Rn-1:0],BA[Bn-1:0],BG[Gn-1:y],COL[Cn-1:x],BG[y-1:0],COL[(x-1):0]。
請參照第7圖,其所繪示為本發明第二實施例所產生的DDR4記憶體位址示意圖,其係根據第5A圖所示由四顆4Gb晶粒所組成的16Gb之DDR4記憶體的位址表(addressing table)來產生。
同理,根據第5A圖之DDR4記憶體的規格書可知,由四顆4Gb晶粒所組成的16Gb之DDR4記憶體位址之參數可知,DDR4記憶體共需要A0~A17共18位元的列位址,Rn=18;A0~A9共10位元的行位址,Cn=10;BG0~BG1共2位元的區塊群位址,Gn=2;以及,BA0~BA1共2位元的區塊位址,Bn=2。假設DDR4記憶體的突發存取長度(burst length)設定為8,且8=2x,x=3。
當y為1時,即如第7圖所示,系統位址中的[2:0]位元設定為第一部份的行位址COL[2:0];系統位址中的[3]位元設定為區塊群位址BG[0];系統位址中的[10:4]位元設定為第二部份的行位址COL[9:3];系統位址中的[11]位元設定為區塊群位址BG[1];系統位址中的[13:12]位元設定為區塊位址BA[1:0];以及系統位址中的[31:14]位元設定為列位址ROW[17:0]。於此實施例中,所產生的DDR4記憶體由最高位元至最低位元排列為ROW[17:0],BA[1:0],BG[1],COL[9:3],BG[0],COL[2:0]。
依照本發明的第二實施例,DDR4記憶體位址由最低位元開始的第四個位元,亦即第(x+1)個位元,會持續變化。而該位元係包含於區塊群位址BG[1:0]中。因此,記憶體控制器110存取連續的DDR4記憶體位址時,區塊群位址BG[1:0]會持續變化,使得記憶體控制器110產生的指令僅受限於tCCD_S參數,有效地提高DDR4記憶體的使用效率。
在本發明的第二實施例中,若y設定為2。則所產
生的DDR4記憶體位址即如第5B圖所示,此處不再贅述。
當然,本發明最主要的目的在於映射單元114將系統位址轉換為DDR4記憶體位址的過程中,將DDR4記憶體位址由最低位元開始的第(x+1)個位元映射至區塊群位址,使得記憶體控制器在存取連續的DDR4記憶體位址時,可以有效地提高DDR4記憶體的使用效率。
再者,本發明DDR4記憶體位址中的其他位址,例如列位址、區塊位址,則可以不限於第5B圖與第7圖的排列方式,亦可以達成提高DDR4記憶體的使用效率之目的。換句話說,於第4圖之第一實施例中,步驟S410之後的步驟中其位址的排列可以適度的變化。同理,第6圖之第二實施例中,步驟S610之後的步驟中其位址的排列也可以適度的變化。並且同樣可以達到本發明之目的。
綜上所述,雖然本發明已以較佳實施例揭露如上,然其並非用以限定本發明。本發明所屬技術領域中具有通常知識者,在不脫離本發明之精神和範圍內,當可作各種之更動與潤飾。因此,本發明之保護範圍當視後附之申請專利範圍所界定者為準。
102、104、106‧‧‧存取單元
110‧‧‧記憶體控制器
112‧‧‧仲裁單元
114‧‧‧處理單元
116‧‧‧映射單元
120‧‧‧DDR4記憶體
Claims (13)
- 一種記憶體位址的產生方法,運用一倍數資料速率動態隨機存取記憶體,該方法包括下列步驟:確認相關於該倍數資料速率動態隨機存取記憶體的一記憶體位址之參數,包括Rn位元的列位址、Bn位元的區塊位址、Gn位元的區塊群位址、與Cn位元的行位址;確認該倍數資料速率動態隨機存取記憶體的一突發存取長度為L且L=2x;將接收的一系統位址中的[(x-1):0]位元設定為一第一部份的行位址COL[(x-1):0];以及將該系統位址中的[x]位元設定為包含於該Gn位元的區塊群位址中。
- 如申請專利範圍第1項所述之記憶體位址的產生方法,更包括下列步驟:將該系統位址中的[(x+Gn-1):x]位元設定為該Gn位元的區塊群位址BG[Gn-1:0]。
- 如申請專利範圍第2項所述之記憶體位址的產生方法,更包括下列步驟:將該系統位址中的[(Cn+Gn-1):(x+Gn)]位元設定為一第二部份的行位址COL[Cn-1:x];將該系統位址中的[(Cn+Gn+Bn-1):(Cn+Gn)]位元設定為該Bn位元的區塊位址BA[Bn-1:0];將該系統位址中的[(Cn+Gn+Bn+Rn-1):(Cn+Gn+Bn)]位元設定為該Rn位元的列位址ROW[Rn-1:0];以及該記憶體位址由最高位元至最低位元排列為該Rn位元的列位址ROW[Rn-1:0]、該Bn位元的區塊位址BA[Bn-1:0]、該第二部份的行位址COL[Cn-1:x]、該Gn位元的區塊群位址 BG[Gn-1:0]、與該第一部份的行位址COL[(x-1):0]。
- 如申請專利範圍第1項所述之記憶體位址的產生方法,更包括下列步驟:將該系統位址中的[(x+y-1):x]位元設定為一第一部份的區塊群位址BG[y-1:0],其中y為小於等於Gn之正整數。
- 如申請專利範圍第4項所述之記憶體位址的產生方法,更包括下列步驟:將該系統位址中的[(Cn+y-1):(x+y)]位元設定為一第二部份的行位址COL[Cn-1:x];將該系統位址中的[(Cn+Gn-1):(Cn+y)]位元設定為一第二部份的區塊群位址BG[Gn-1:y];將該系統位址中的[(Cn+Gn+Bn-1):(Cn+Gn)]位元設定為該Bn位元的區塊位址BA[Bn-1:0];將該系統位址中的[(Cn+Gn+Bn+Rn-1):(Cn+Gn+Bn)]位元設定為該Rn位元的列位址ROW[Rn-1:0];以及該記憶體位址由最高位元至最低位元排列為該Rn位元的列位址ROW[Rn-1:0]、該Bn位元的區塊位址BA[Bn-1:0]、該第二部份的區塊群位址BG[Gn-1:y]、該第二部份的行位址COL[Cn-1:x]、該第一部份的區塊群位址BG[y-1:0]與該第一部份的行位址COL[(x-1):0]。
- 如申請專利範圍第1項所述之記憶體位址的產生方法,其中該倍數資料速率動態隨機存取記憶係為一第四代雙倍資料速率動態隨機存取記憶體。
- 一種記憶體位址的產生方法,以定址一倍數資料速率動態隨機存取記憶體,該方法包括下列步驟:確認該倍數資料速率動態隨機存取記憶體的一記憶體位 址,且該記憶體位址中包括一區塊群位址;確認該倍數資料速率動態隨機存取記憶體的一突發存取長度為L且L=2x;接收一系統位址;以及設定該系統位址中由最低位元開始的第(x+1)個位元包含於該記憶體位址的該區塊群位址中。
- 如申請專利範圍第7項所述之記憶體位址的產生方法,其中,該倍數資料速率動態隨機存取記憶係為一第四代雙倍資料速率動態隨機存取記憶體。
- 如申請專利範圍第7項所述之記憶體位址的產生方法,其中該記憶體位址中更包括Rn位元的一列位址、Bn位元的一區塊位址、Gn位元的該區塊群位址與Cn位元的一行位址。
- 如申請專利範圍第9項所述之記憶體位址的產生方法,更包括下列步驟:將該系統位址中的[(x-1):0]位元設定為一第一部份的行位址COL[(x-1):0];以及將該系統位址中的[(x+Gn-1):x]位元設定為該Gn位元的區塊群位址BG[Gn-1:0]。
- 如申請專利範圍第10項所述之記憶體位址的產生方法,更包括下列步驟:將該系統位址中的[(Cn+Gn-1):(x+Gn)]位元設定為一第二部份的行位址COL[Cn-1:x];將該系統位址中的[(Cn+Gn+Bn-1):(Cn+Gn)]位元設定為該Bn位元的區塊位址BA[Bn-1:0];將該系統位址中的[(Cn+Gn+Bn+Rn-1):(Cn+Gn+Bn)]位元設定為該Rn位元的列位址ROW[Rn-1:0];以及 該記憶體位址由最高位元至最低位元排列為該Rn位元的列位址ROW[Rn-1:0]、該Bn位元的區塊位址BA[Bn-1:0]、該第二部份的行位址COL[Cn-1:x]、該Gn位元的區塊群位址BG[Gn-1:0]、與該第一部份的行位址COL[(x-1):0]。
- 如申請專利範圍第9項所述之記憶體位址的產生方法,更包括下列步驟:將該系統位址中的[(x-1):0]位元設定為一第一部份的行位址COL[(x-1):0];以及將該系統位址中的[(x+y-1):x]位元設定為一第一部份的區塊群位址BG[y-1:0],其中y為小於等於Gn之正整數。
- 如申請專利範圍第12項所述之記憶體位址的產生方法,更包括下列步驟:將該系統位址中的[(Cn+y-1):(x+y)]位元設定為一第二部份的行位址COL[Cn-1:x];將該系統位址中的[(Cn+Gn-1):(Cn+y)]位元設定為一第二部份的區塊群位址BG[Gn-1:y];將該系統位址中的[(Cn+Gn+Bn-1):(Cn+Gn)]位元設定為該Bn位元的區塊位址BA[Bn-1:0];將該系統位址中的[(Cn+Gn+Bn+Rn-1):(Cn+Gn+Bn)]位元設定為該Rn位元的列位址ROW[Rn-1:0];以及該記憶體位址由最高位元至最低位元排列為該Rn位元的列位址ROW[Rn-1:0]、該Bn位元的區塊位址BA[Bn-1:0]、該第二部份的區塊群位址BG[Gn-1:y]、該第二部份的行位址COL[Cn-1:x]、該第一部份的區塊群位址BG[y-1:0]與該第一部份的行位址COL[(x-1):0]。
Priority Applications (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
TW102111928A TWI550403B (zh) | 2013-04-02 | 2013-04-02 | 記憶體控制器及其記憶體位址產生方法 |
US14/228,390 US9424902B2 (en) | 2013-04-02 | 2014-03-28 | Memory controller and associated method for generating memory address |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
TW102111928A TWI550403B (zh) | 2013-04-02 | 2013-04-02 | 記憶體控制器及其記憶體位址產生方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
TW201439761A TW201439761A (zh) | 2014-10-16 |
TWI550403B true TWI550403B (zh) | 2016-09-21 |
Family
ID=51620734
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
TW102111928A TWI550403B (zh) | 2013-04-02 | 2013-04-02 | 記憶體控制器及其記憶體位址產生方法 |
Country Status (2)
Country | Link |
---|---|
US (1) | US9424902B2 (zh) |
TW (1) | TWI550403B (zh) |
Families Citing this family (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US9870325B2 (en) * | 2015-05-19 | 2018-01-16 | Intel Corporation | Common die implementation for memory devices with independent interface paths |
CN108446241B (zh) * | 2017-02-16 | 2020-12-08 | 华为技术有限公司 | 内存访问方法及装置 |
US11403217B2 (en) * | 2019-10-30 | 2022-08-02 | Qualcomm Incorporated | Memory bank group interleaving |
CN112631757B (zh) * | 2020-12-31 | 2021-07-13 | 成都卓讯云网科技有限公司 | 一种ddr4多用户访问的调度方法和设备 |
Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20080244135A1 (en) * | 2005-05-04 | 2008-10-02 | Nxp B.V. | Memory Controller and Method For Controlling Access to a Memory, as Well as System Comprising a Memory Controller |
US7839705B2 (en) * | 2007-09-04 | 2010-11-23 | Hynix Semiconductor Inc. | Semiconductor memory device and operation method of the same |
US8023358B2 (en) * | 2008-04-02 | 2011-09-20 | International Business Machines Corporation | System and method for providing a non-power-of-two burst length in a memory system |
WO2012051039A1 (en) * | 2010-10-12 | 2012-04-19 | Rambus Inc. | Facilitating error detection and recovery in a memory system |
WO2012064670A1 (en) * | 2010-11-09 | 2012-05-18 | Rambus Inc. | Area-efficient multi-modal signaling interface |
TWI389135B (zh) * | 2006-01-04 | 2013-03-11 | Nvidia Corp | 用於增進記憶體裝置之列及/或行存取效率的技術 |
Family Cites Families (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7554864B2 (en) * | 2007-03-27 | 2009-06-30 | Hynix Semiconductor Inc. | Semiconductor memory device including a global input/output line of a data transfer path and its surrounding circuits |
US8036061B2 (en) * | 2009-02-13 | 2011-10-11 | Apple Inc. | Integrated circuit with multiported memory supercell and data path switching circuitry |
KR101161744B1 (ko) * | 2010-07-07 | 2012-07-02 | 에스케이하이닉스 주식회사 | 반도체 메모리 장치 |
KR20120012056A (ko) * | 2010-07-30 | 2012-02-09 | 주식회사 하이닉스반도체 | 메모리장치 |
US20120087200A1 (en) * | 2010-10-08 | 2012-04-12 | Hynix Semiconductor Inc. | Internal column address generating circuit and semiconductor memory device |
US8547760B2 (en) * | 2011-06-29 | 2013-10-01 | International Business Machines Corporation | Memory access alignment in a double data rate (‘DDR’) system |
US9773531B2 (en) * | 2012-06-08 | 2017-09-26 | Hewlett Packard Enterprise Development Lp | Accessing memory |
KR102023487B1 (ko) * | 2012-09-17 | 2019-09-20 | 삼성전자주식회사 | 오토 리프레쉬 커맨드를 사용하지 않고 리프레쉬를 수행할 수 있는 반도체 메모리 장치 및 이를 포함하는 메모리 시스템 |
US9734079B2 (en) * | 2013-06-28 | 2017-08-15 | Intel Corporation | Hybrid exclusive multi-level memory architecture with memory management |
US9727451B2 (en) * | 2014-03-28 | 2017-08-08 | Fortinet, Inc. | Virtualization in a multi-host environment |
-
2013
- 2013-04-02 TW TW102111928A patent/TWI550403B/zh not_active IP Right Cessation
-
2014
- 2014-03-28 US US14/228,390 patent/US9424902B2/en active Active
Patent Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20080244135A1 (en) * | 2005-05-04 | 2008-10-02 | Nxp B.V. | Memory Controller and Method For Controlling Access to a Memory, as Well as System Comprising a Memory Controller |
TWI389135B (zh) * | 2006-01-04 | 2013-03-11 | Nvidia Corp | 用於增進記憶體裝置之列及/或行存取效率的技術 |
US7839705B2 (en) * | 2007-09-04 | 2010-11-23 | Hynix Semiconductor Inc. | Semiconductor memory device and operation method of the same |
US8023358B2 (en) * | 2008-04-02 | 2011-09-20 | International Business Machines Corporation | System and method for providing a non-power-of-two burst length in a memory system |
WO2012051039A1 (en) * | 2010-10-12 | 2012-04-19 | Rambus Inc. | Facilitating error detection and recovery in a memory system |
WO2012064670A1 (en) * | 2010-11-09 | 2012-05-18 | Rambus Inc. | Area-efficient multi-modal signaling interface |
Also Published As
Publication number | Publication date |
---|---|
US20140293726A1 (en) | 2014-10-02 |
TW201439761A (zh) | 2014-10-16 |
US9424902B2 (en) | 2016-08-23 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US10430334B2 (en) | Memory circuit and cache circuit configuration | |
US20100262751A1 (en) | Memory Control Unit Mapping Physical Address to DRAM Address for a Non-Power-of-Two Number of Memory Ranks Using Lower Order Physical Address Bits | |
US8369168B2 (en) | Devices and system providing reduced quantity of interconnections | |
TWI634550B (zh) | 動態隨機存取記憶、以及其存取方法和操作方法 | |
TWI550403B (zh) | 記憶體控制器及其記憶體位址產生方法 | |
US20060059320A1 (en) | Memory control device | |
JP6231194B2 (ja) | 電子デバイス、メモリコントローラ、装置 | |
US20230297474A1 (en) | Energy efficient storage of error-correction-detection information | |
JP2000315173A (ja) | メモリ制御装置 | |
US11403217B2 (en) | Memory bank group interleaving | |
US11288188B1 (en) | Dynamic metadata relocation in memory | |
JPWO2009125572A1 (ja) | メモリ制御回路及びメモリ制御方法 | |
CN104123231B (zh) | 存储器地址产生方法 | |
US9990312B2 (en) | Memory system and operation method of the same | |
TWI438779B (zh) | 通用記憶體輸入輸出產生裝置及方法 | |
US20050125596A1 (en) | Access control unit and method for use with synchronous dynamic random access memory device | |
JP3644381B2 (ja) | Sdramのランダムアクセス方法 | |
KR100714396B1 (ko) | 메모리의 처리속도를 향상시킨 컴퓨터 시스템 | |
US20240071446A1 (en) | Apparatuses and methods for providing command having on-the-fly (otf) latency to memory | |
CN104391801B (zh) | Ddrii控制器的读写、状态转换、物理地址分配方法 | |
JP4908565B2 (ja) | メモリシステム | |
TWI692759B (zh) | 同時存取第一動態隨機存取記憶體與第二動態隨機存取記憶體的方法及相關的記憶體控制器 | |
JP2008041142A (ja) | メモリアクセス方法 | |
US20210157495A1 (en) | Device and method for controlling data-reading and -writing | |
TW202328917A (zh) | 用於從記憶體中讀取錯誤校正碼的電路和方法 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
MM4A | Annulment or lapse of patent due to non-payment of fees |