TWI828108B - 應用於記憶體定址的資料路徑架構之記憶體 - Google Patents
應用於記憶體定址的資料路徑架構之記憶體 Download PDFInfo
- Publication number
- TWI828108B TWI828108B TW111113488A TW111113488A TWI828108B TW I828108 B TWI828108 B TW I828108B TW 111113488 A TW111113488 A TW 111113488A TW 111113488 A TW111113488 A TW 111113488A TW I828108 B TWI828108 B TW I828108B
- Authority
- TW
- Taiwan
- Prior art keywords
- cache
- data
- memory
- unit
- page buffer
- Prior art date
Links
- 230000015654 memory Effects 0.000 title claims abstract description 130
- 239000000872 buffer Substances 0.000 claims abstract description 138
- 238000003491 array Methods 0.000 claims abstract description 52
- 238000012546 transfer Methods 0.000 claims abstract description 43
- 230000005540 biological transmission Effects 0.000 claims description 12
- 238000000034 method Methods 0.000 claims description 11
- 230000004044 response Effects 0.000 claims description 10
- 238000006243 chemical reaction Methods 0.000 claims description 6
- 238000013519 translation Methods 0.000 claims description 4
- 210000004460 N cell Anatomy 0.000 abstract description 4
- 210000004027 cell Anatomy 0.000 description 99
- GZPBVLUEICLBOA-UHFFFAOYSA-N 4-(dimethylamino)-3,5-dimethylphenol Chemical compound CN(C)C1=C(C)C=C(O)C=C1C GZPBVLUEICLBOA-UHFFFAOYSA-N 0.000 description 7
- 238000010586 diagram Methods 0.000 description 6
- 230000006870 function Effects 0.000 description 6
- 238000005516 engineering process Methods 0.000 description 4
- 238000012986 modification Methods 0.000 description 3
- 230000004048 modification Effects 0.000 description 3
- 210000000352 storage cell Anatomy 0.000 description 3
- 238000013459 approach Methods 0.000 description 2
- 239000004020 conductor Substances 0.000 description 2
- 238000007667 floating Methods 0.000 description 2
- 238000004519 manufacturing process Methods 0.000 description 2
- 230000003068 static effect Effects 0.000 description 2
- 230000008859 change Effects 0.000 description 1
- 238000004891 communication Methods 0.000 description 1
- 238000004590 computer program Methods 0.000 description 1
- 238000013461 design Methods 0.000 description 1
- 239000000463 material Substances 0.000 description 1
- 229910052751 metal Inorganic materials 0.000 description 1
- 239000002184 metal Substances 0.000 description 1
- 230000002093 peripheral effect Effects 0.000 description 1
- 230000009467 reduction Effects 0.000 description 1
- 238000012552 review Methods 0.000 description 1
- 230000000630 rising effect Effects 0.000 description 1
- 239000000758 substrate Substances 0.000 description 1
- 229910000314 transition metal oxide Inorganic materials 0.000 description 1
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F12/00—Accessing, addressing or allocating within memory systems or architectures
- G06F12/02—Addressing or allocation; Relocation
- G06F12/0223—User address space allocation, e.g. contiguous or non contiguous base addressing
- G06F12/023—Free address space management
- G06F12/0238—Memory management in non-volatile memory, e.g. resistive RAM or ferroelectric memory
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F12/00—Accessing, addressing or allocating within memory systems or architectures
- G06F12/02—Addressing or allocation; Relocation
- G06F12/08—Addressing or allocation; Relocation in hierarchically structured memory systems, e.g. virtual memory systems
- G06F12/0802—Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches
- G06F12/0893—Caches characterised by their organisation or structure
- G06F12/0895—Caches characterised by their organisation or structure of parts of caches, e.g. directory or tag array
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C16/00—Erasable programmable read-only memories
- G11C16/02—Erasable programmable read-only memories electrically programmable
- G11C16/06—Auxiliary circuits, e.g. for writing into memory
- G11C16/08—Address circuits; Decoders; Word-line control circuits
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F12/00—Accessing, addressing or allocating within memory systems or architectures
- G06F12/02—Addressing or allocation; Relocation
- G06F12/08—Addressing or allocation; Relocation in hierarchically structured memory systems, e.g. virtual memory systems
- G06F12/0802—Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches
- G06F12/0877—Cache access modes
- G06F12/0882—Page mode
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F12/00—Accessing, addressing or allocating within memory systems or architectures
- G06F12/02—Addressing or allocation; Relocation
- G06F12/08—Addressing or allocation; Relocation in hierarchically structured memory systems, e.g. virtual memory systems
- G06F12/10—Address translation
- G06F12/1027—Address translation using associative or pseudo-associative address translation means, e.g. translation look-aside buffer [TLB]
- G06F12/1045—Address translation using associative or pseudo-associative address translation means, e.g. translation look-aside buffer [TLB] associated with a data cache
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F13/00—Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
- G06F13/14—Handling requests for interconnection or transfer
- G06F13/16—Handling requests for interconnection or transfer for access to memory bus
- G06F13/1668—Details of memory controller
- G06F13/1673—Details of memory controller using buffers
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C16/00—Erasable programmable read-only memories
- G11C16/02—Erasable programmable read-only memories electrically programmable
- G11C16/06—Auxiliary circuits, e.g. for writing into memory
- G11C16/10—Programming or data input circuits
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C16/00—Erasable programmable read-only memories
- G11C16/02—Erasable programmable read-only memories electrically programmable
- G11C16/06—Auxiliary circuits, e.g. for writing into memory
- G11C16/26—Sensing or reading circuits; Data output circuits
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02D—CLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
- Y02D10/00—Energy efficient computing, e.g. low power processors, power management or thermal management
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Memory System Of A Hierarchy Structure (AREA)
- Dram (AREA)
Abstract
一種記憶體定址(memory addressable)的資料路徑架構,其利用基於最小定址單元(例如,位元組(byte))的定址方式,並具有2的冪次方(power)大小(例如,8),該資料路徑用以利用具有N位元(例如,12)的傳輸儲存單元(transfer storage unit)於記憶體陣列與資料介面之間傳輸資料,其中N係為非2的冪次方的整數。資料路徑中的頁面緩衝器(page buffer)與快取(cache)可配置於具有N列的單元陣列,並用以從選定的N個單元行(cell column)將傳輸儲存單元中的資料進行傳輸。
Description
本發明涉及積體電路記憶體領域所述的技術,並且更具體地涉及具有記憶體與介面之間的資料路徑設置的快取之記憶體配置。
一些類型的高密度記憶體(例如包括NAND快閃記憶體)配置於頁面模式操作,這涉及將相對大資料頁面從記憶體陣列並行移動至頁面緩衝器(page buffer),而輸入/輸出介面可包括更少數量的接腳(pin)。對於上下文,在一些情況下,一個頁面可包括16千位元組(KB,kilobyte)序列或更多,而輸入/輸出介面可包括資料傳輸的8個接腳。為了促進更高流通量(throughput)和其他操作,快取記憶體(cache memory)可設置在頁面緩衝器與輸入/輸出介面之間。使用快取記憶體,資料頁面可從頁面緩衝器快速傳輸至快取。在頁面緩衝器和記憶體陣列之間傳輸下一頁面的時間間隔內,輸入/輸出介面可利用快取的存取來進行操作。
在具有頁面操作的頁面緩衝器和快取的裝置實施中,積體電路上的佈局(layout)可以是因素。頁面緩衝器和快取期望符合多條資料線的間距(pitch),該些資料線提供記憶體陣列的資料頁面連接。頁面緩衝單元和快取單元可包括利用多個電晶體形成的閂鎖(latch)或正反器(flip-flop)之類的時脈儲存元件(clocked storage element),因此可能需要比資料線的間距更大的佈局間距。在解決此佈局問題的一種方法中,頁面緩衝器和快取設置於多個列和行,其中各行符合相同於列數的多條資料線的正交間距(orthogonal pitch)。例如,在具有16列的佈局中,行連接至16條資料線,儲存16位元,並符合16條資料線的正交間距。
快取中的列數和每行單元數通常為2的冪次方(power)(例如,8或16),以促進最小定址儲存單元大小的整數倍資料傳輸。作為位址的基數2將標識最小定址單元的邊界,該最小定址單元具有最小定址單元大小的整數倍數量。最小定址儲存單元具有對應至記憶體支援之最小定址大小的尺寸。最小定址單元的大小通常為1位元組或8位元。在一些裝置中,最小定址單元的大小可以是1字元(word)或16位元。如果最小定址大小為8位元,它將以二進位表示為1000。因此,基數2位址中的字位組(8位元)邊界將始終具有等於0的三個最低有效位元(least significant bit)(即XXXXXX000)。如果最小定址大小為16位元,它將以二進位表示為10000。因此,基數2位址中的字元(16位元)邊界將始終具有四個等於0的最低有效位元(即XXXXX0000)。其他大小的最
小定址單元也有可能。快取中的列數可以是最小定址單元大小的整數倍,這會導致對頁面緩衝器和快取佈局的設計限制。
然而,頁面緩衝器和快取的垂直間距可能很重要。因此,希望提供一種配置,其可減少在具有記憶體的積體電路裝置中實施頁面緩衝器和快取的所需面積。
本公開描述了一種技術,該技術利用基於最小定址單元(minimum addressable unit)(例如,位元組(byte))的定址方式來提供記憶體定址的資料路徑,最小定址單元具有2的冪次方(power)大小(例如,8)。資料路徑用以利用具有N位元(例如12)的多個傳輸儲存單元(transfer storage unit)在記憶體陣列和資料介面之間傳輸資料,其中N為最小定址單元的大小的非整數倍(例如,1.5乘以8,或0.75乘以16)。在本文所述的實施例中,N非為2的冪次方。藉由有效實施頁面緩衝器和快取,可支援這種方式配置的資料路徑。
例如,資料路徑可包括用以連接至記憶體陣列的頁面緩衝器,以及用以連接至頁面緩衝器與資料介面的快取。記憶體陣列可包括多條資料線,該些資料線用以連接至頁面緩衝器,該頁面緩衝器設置於X組資料線。快取可包括複數組快取單元陣列(cache unit array),各該複數組快取單元陣列用於各該X組資料線。各個快取單元陣列可用以存取頁面緩衝器的整數個P位元,
並且可包括P個快取單元,該P個快取單元排列成N個快取列(cache row)和P/N個快取行(cache column)。
資料路徑可包括耦接至快取的多個電路,用以將各X組快取單元陣列的選定快取單元陣列的選定P/N快取行的N個快取單元連接至一組M條介面線,其中M為N乘以X。資料介面依序(in turn)耦接至M條介面線,並包括在各個介面時脈週期中以D位元單位(bit unit)進行資料傳輸的多個電路,其中D為利用二進位定址方式之最小定址單元(例如,8或16)的大小的整數倍。
在此資料路徑的配置中,M為D和N的公倍數。例如,對於1個位元組(八位元)的最小定址單元,D可以是8個接腳狀態下的8、8個接腳且單一資料率埠(single data rate port)狀態下的8、8個接腳且雙倍資料率埠(double data rate port)狀態下的16、以及16個接腳且單一資料率埠(single data rate port)狀態下的16等,其中單一資料率埠係是指每一個時脈只有傳一筆資料。
記憶體可包括多個位址轉換電路,該些位址轉換電路回應於輸入位址而產生多個選擇訊號,以控制N個位元傳輸儲存單元所傳輸的多個資料路徑電路。
使用如本文所述的資料路徑,基於定址方式的資料頁面可包括具有序列位址(sequential address)的多個最小定址單元(例如,位元組(byte))。儲存於記憶體陣列的資料頁面散佈於多個記憶胞之間的N位元的多個儲存單元,該些儲存單元對應至快取和頁面緩衝器的N位元行(bit column)的大小,該些記憶胞耦接
至跨X組進行非依序設置的資料線。序列傳輸儲存單元(Sequential transfer storage unit)在X組的不同快取單元陣列之間交錯(interleave)。
本公開描述了一種記憶體,該記憶體包括記憶體陣列,該記憶體陣列具有多條資料線,用以存取記憶體陣列的多個記憶胞。多條資料線包括X組資料線,其中X為大於1的整數。記憶體包括資料路徑,該資料路徑包括頁面緩衝器和快取。頁面緩衝器用以存取多條資料線。頁面緩衝器包括多個頁面緩衝單元,各該頁面緩衝單元用於每條資料線,並且頁面緩衝器可配置於多組頁面緩衝單元陣列(page buffer unit array)。快取耦接至頁面緩衝器。快取包括一組快取單元陣列,該組快取單元陣列用於各該X組資料線。各個快取單元陣列用以存取頁面緩衝器的整數P個緩衝單元,並包括P個快取單元,該P個快取單元排列成整數N個快取列和P/N個快取行。N並非為2的冪次方,且為最小定址單元的大小的非整數倍。多個資料路徑電路耦接至快取,用以將各X組快取單元陣列的選定快取單元陣列的一選定P/N快取行的N個快取單元連接至M條介面線,其中M為N乘以X。介面耦接至M條介面線,並包括以D位元單位進行資料傳輸的電路,其中D為最小定址單元的大小的整數倍,並且M為D和N的公倍數。提供多個位址轉換電路,回應於標識最小定址單元的輸入位址,而為該些資料路徑電路產生多個選擇訊號。
多個位址轉換電路可包括位址除法器(address divider),用以將輸入位址除以相同於數量M的因子(factor)F除以最小定址單元的大小。位址除法器輸出商數(quotient),該商數用於選擇快取行以及各該X組快取單元陣列的快取單元陣列。位址除法器輸出介面所使用的餘數(remainder),用以選擇來自M條介面線的D位元單元(bit unit),以在介面上傳輸。
多個位址轉換電路可用以產生一系列選擇訊號,用以透過資料路徑電路和介面移動傳輸儲存單元,以支援資料的多個D位元單元的資料頁面傳輸,該資料頁面具有介面上的序列位址。
本公開描述了資料路徑的頁面緩衝器和快取配置,其中頁面緩衝器和快取由多個單元陣列所組成,該些單元陣列對齊於記憶體陣列的相應資料線集合(set of data line)。各個單元陣列可包括N個列和Y個列。耦接至頁面緩衝單元陣列的資料線集合包括N條資料線,該些資料線連接至各Y行頁面緩衝單元陣列的N個單元。將頁面緩衝器連接至記憶體陣列的資料線集合具有正交間距(orthogonal pitch)(相鄰平行位元線的中心到中心的間距),該正交間距係為記憶體技術和製造節點的函數,並且對於高密度記憶體(high density memory),正交間距可以非常小。為了符合可用空間,頁面緩衝器和快取中的N個單元必須符合N條位元線的正交間距。這是藉由將頁面緩衝器和快取中的單元堆疊成行來完成。因此,一行單元陣列的頁面緩衝器和快取中的儲存元件的正交間
距必須等於或小於單元陣列行(column in the unit array)所連接的N個資料線集合的間距。
使用小於D的數量N能夠實施具有較小區域的快取和頁面緩衝器,該區域將用於具有D列的快取和頁面緩衝器。
本公開所述的技術係利用“非二進位”快取配置來支援高效佈局和操作高密度記憶體。如本文所述實施的資料路徑配置可克服兩個不同快取行儲存的一個資料字元(word of data)的存取模式問題。此外,如本文所述實施的資料路徑配置可克服快取支援以及位於不同列的快取和頁面緩衝器的不同字元中的相同位元選擇的互連設置的問題。此外,如本文所述實施的資料路徑配置提供了如何設置支援記憶體陣列的單元陣列佈局的問題解決方式,特別是對於非常大的頁面大小。
藉由審閱附圖、詳細說明和申請專利範圍,可看出本發明的其他方面和優點。
為了對本發明之上述及其他方面有更佳的瞭解,下文特舉實施例,並配合所附圖式詳細說明如下:
100:積體電路記憶體裝置
105:輸入/輸出介面
131,143,144,450,460,461,470,471,480,490:線路
108:命令解碼器
110:控制邏輯
120:區塊
130:匯流排
140:解碼器
142,452:位址除法器
145:字元線
160:記憶體陣列
165,200:資料線
171,415:頁面緩衝器
181,420:快取
184:資料匯流排
195:輸入/輸出埠
205:頁面緩衝單元陣列
210:快取單元陣列
215,220:列
225:傳輸儲存單元
231,232,331,332:垂直互連
241,242,333:水平互連
410:陣列
425:快取選擇和支援電路
430:本地快取驅動器
432,434,436,438:群組快取驅動器
440:介面電路
442:介面埠
454:Y位址生成器
456:快取控制區塊
CA:行位址
Q:商數
R:餘數
GP(0)-GP(3):群組
CA_Ql:行位址商數
CA_Rl:行位址餘數
cCLK:快取時脈訊號
iCLK:介面時脈訊號
RD[N-1:0],RD[2N-1:N],RD[3N-1:2N],RD[4N-1:3N]:讀取資料
WD[N-1:0],WD[2N-1:N],WD[3N-1:2N],WD[4N-1:3N]:寫入資料
YAL:快取單元陣列內之快取行的定址訊號
YAH:快取單元陣列的定址訊號
第1圖是具有本文所述之記憶體陣列和非二進位快取配置的積體電路方塊圖。
第2圖繪示具有快取單元陣列和頁面緩衝單元陣列之間的資料傳輸功能互連之非二進位快取單元陣列和頁面緩衝單元陣列的佈局。
第3圖繪示具有快取單元陣列的快取行和本地快取驅動器之間的資料傳輸功能互連之第2圖的佈局。
第4圖是具有非二進位快取配置的記憶體的替代方塊圖。
第5圖是類似於繪示範例配置的第1圖的記憶體的方塊圖。
第6圖是類似於繪示另一範例配置的第1圖的記憶體的方塊圖。
依據第1-6圖提供了本技術實施例的詳細描述。
第1圖是積體電路裝置的簡化芯片方塊圖,在單一積體電路基板(substrate)上,積體電路裝置具有記憶體陣列160、頁面緩衝器(page buffer)171與第二級緩衝器(本文稱為快取181)。如本文所述的記憶體裝置也可利用多芯片模組(multichip modules)、堆疊芯片(stacked chip)和其他配置來實施。
類似於第1圖的裝置中的記憶體陣列160可包括NAND快閃陣列(NAND flash array),該NAND快閃陣列係使用介電電荷捕捉式(dielectric charge trapping)或浮動閘極電荷捕捉式記憶胞(floating gate charge trapping memory cell)。此外,記憶體陣列160可包括其他非揮發性記憶體(non-volatile memory)類型,包括NOR快閃記憶體、鐵電隨機存取記憶體(ferroelectric RAM)、
相變記憶體(phase change memory)、過渡金屬氧化物可編程電阻式記憶體(transition metal oxide programmable resistance memory)等。此外,記憶體陣列160可包括揮發性記憶體,例如是動態隨機存取記憶體(Dynamic Random Access Memory,DRAM)和靜態隨機存取記憶體(Static Random Access Memory,SRAM)。
在積體電路記憶體裝置100上,具有命令解碼器(command decoder)108的控制邏輯110包括邏輯電路,例如是狀態機(state machine)和位址計數器(address counter),該邏輯電路回應於接收到的命令和位址來執行記憶體操作,以透過快取181和頁面緩衝器171存取記憶體陣列160,該記憶體操作包括讀取和寫入操作。對於NAND快閃,寫入操作可包括編程和擦除操作。在一些實施例中,當從記憶體陣列160移動資料頁面時,透過具有標識頁面內的位元組位址資料可執行隨機頁面讀取操作,而非透過頁面邊界(page boundary)上的位址資料來執行隨機頁面讀取操作。
控制邏輯110輸出控制訊號(未示出)至記憶體裝置的元件以及匯流排(bus)130上的位址。例如,匯流排130上提供的位址可包括位址計數器的輸出(例如,序列位址(sequential address)),或是接收到的命令中攜帶的位址。
解碼器140包括耦接至多條字元線(word line)145且沿著記憶體陣列160的列進行設置的列解碼器(row decoder),以及耦接至頁面緩衝器171和快取181的行解碼器(column decoder)。此
外,在此示例配置中,位址除法器(address divider)142透過線路耦接至控制邏輯110,以接收線路131上的行位址CA,該行位址CA包括位址的行位址部分。頁面緩衝器171耦接至沿著記憶體陣列160的行進行設置的多組資料線165,用以讀取來自記憶體陣列160的相應記憶胞群組(group of memory cell)的資料,並將資料寫入至記憶體陣列160的相應記憶胞群組。在第1圖中,繪示了四組資料線165,該些資料線165耦接至記憶體陣列160中的各個記憶胞群組。群組數量是資料路徑配置的函數,如下文更詳細的論述。在積體電路上的佈局中,多組資料線進行物理分組(physically grouped),以連接至頁面緩衝器171中的頁面緩衝單元的行。多組資料線結合了並行使用的(usable in parallel)的多條資料線,該多組資料線可等於頁面寬度加上附加資料。例如,頁面可包括16K位元+2K附加位元。各組資料線可包括頁面資料線數量的四分之一。
記憶體陣列可包括位元線(bit line)和字元線。如本文使用的術語,資料線是將位元線連接至頁面緩衝器171的資料路徑。在一些配置中,每條位元線有一條資料線。在一些配置中,兩條位元線可選擇性地連接且共享(share)一條資料線。
頁面緩衝器171可包括用於各條資料線的一或多個儲存元件,該儲存元件作為頁面緩衝單元。解碼器140可選擇記憶體陣列160的特定記憶胞,並透過相應資料線將該特定記憶胞耦接至頁面緩衝器171。在第1圖中,記憶體陣列160包括四組記
憶胞。在頁面操作中,資料線165配置為四組資料線,用以對應陣列中的四組記憶胞,並且該些資料線可並行使用,以將頁面傳輸至頁面緩衝器171。頁面緩衝器171可儲存並行寫入至這些特定記憶胞的資料或並行讀取來自這些特定記憶胞的資料。頁面緩衝器171可具有數千位元組頁面的頁面寬度(例如,16KB或32KB)或更多附加位元(例如,2KB),其可用於頁面相關的元資料(metadata)(例如,相關ECC碼)。
快取181耦接至頁面緩衝器,並可包括用於各條資料線的至少一儲存元件,該至少一儲存元件作為快取單元。相較於將資料頁面從陣列的記憶胞傳輸至頁面緩衝器171的所需時間,資料頁面可以在更短時間內從頁面緩衝器171傳輸至快取181。
頁面緩衝器171中的頁面緩衝單元以及快取181中的快取單元可包括時脈儲存元件(clocked storage element),例如是利用多行多列架構(multiple row by multiple column architecture)的正反器(flip-flop)和閂鎖(latch)。快取181可回應於快取時脈訊號(cache clock,cCLK)而進行操作。
其他實施例可包括三級緩衝器結構(three-level buffer structure),其包括頁面緩衝器171以及兩個附加的緩衝器級(buffer level)。此外,可利用頁面緩衝器和介面之間的資料路徑電路的緩衝記憶體結構的其他設置。
諸如輸入/輸出(I/O)介面105的資料介面透過資料匯流排184連接至頁面緩衝器171和快取181,資料匯流排184包括M
條介面線(interface line)。資料匯流排184可具有小於頁面的匯流排寬度,該匯流排寬度實質小於頁面。在下文所述的示例中,資料匯流排184中的介面線可包括快取181中的每組N條介面線,其中N為I/O介面105的最小定址單元(minimum addressable unit)的非整數倍,資料匯流排184係依據下述的資料路徑配置而選擇。
I/O介面105可包括緩衝器,該緩衝器用以並行鎖存(latch)來自所有群組的匯流排線路集合(set of bus line)的資料,該緩衝器在各個快取時脈週期(cache clock cycle)鎖存N倍位元群組數量(例如Nx4)。
輸入/輸出資料、位址和控制訊號移動於資料介面、命令解碼器108和控制邏輯110、以及積體電路記憶體裝置100或者積體電路記憶體裝置100內部或外部的其他資料源上的輸入/輸出埠(input/output port,I/O port)195之間。
在第1圖所示的範例中,利用偏壓設置狀態機(bias arrangement state machine)的控制邏輯110控制偏壓設置供應電壓(bias arrangement supply voltage)的施加,透過區塊120中的一或多個電壓供應來產生或提供偏壓設置供應電壓,例如是讀取、編程和擦除電壓,包括資料從記憶體陣列中的頁面傳輸至頁面緩衝器的頁面讀取功能。
控制邏輯110和命令解碼器108構成控制器,該控制器可利用具有狀態機和支援邏輯(supporting logic)的專用邏輯電路(special purpose logic circuitry)來實施。在替代實施例中,控制
邏輯包括通用處理器,該通用處理器可實施於同一積體電路上,該積體電路執行電腦程式以控制裝置操作。在又一些實施例中,專用邏輯電路和通用處理器的組合可用於實施控制邏輯。
I/O介面105或其他類型的資料介面,以及匯流排130上的陣列位址可利用“二進位”定址進行操作,使得具有2的冪次方(power)定義的邊界位址對記憶體陣列中的每個儲存單元以及I/O介面105上傳輸的每個儲存單元進行定址,該邊界位址包括8、16、32等,對應至作為位址的二進位數的特定順序。在本文所述的技術中,頁面緩衝器171和快取181配置“非二進位”的傳輸儲存單元,使得快取和頁面緩衝器的一些儲存單元具有非2的冪次方定義的邊界。例如,本文所述的實施例包括頁面緩衝器和快取,其中傳輸儲存單元(以下範例的每個快取行(cache column)的一個傳輸儲存單元)具有N個位元,該些位元為最小定址儲存單元大小的非整數倍。在一個示例中,對於一個位元組的最小定址儲存單元,快取行為12位元,或是最小定址儲存單元大小的1.5倍,並且I/O介面105用於介面時脈訊號(interface clock)iCLK的每個週期的最小定址儲存單元大小的整數倍外部傳輸。對於一個位元組的最小定址儲存單元,介面可於每個時脈週期傳輸8位元,或是於每個時脈週期傳輸16位元,如上所述。
如第1圖所示,位址除法器142(“除以F”)接收來自線路131的位址位元(address bit),該位址位元指定行位址(column address)CA,該行位址CA標識欲存取的最小定址單元的邊界處的
第一位元。位址除法器142將行位址CA除以因子(factor)F等於數量M(行大小N乘以群組數X)除以最小定址單元的大小(N位元快取傳輸單元的數量X包括F個最小定址單元)。對於至少一些行位址,除以F產生商數(quotient)和餘數(remainder)。位址除法器142提供商數Q於線路143上,該商數Q施加至控制邏輯110,用以支援快取和頁面緩衝器的“非二進位”定址的位址生成。位址除法器142提供餘數R於線路144上,該餘數R施加至I/O介面105,用以支援I/O介面105的“二進位”定址的位址生成。在一種方法中,行位址CA的外部位址位元(external address bit)透過位址除法器142轉換為內部定址的商數Q以及餘數R。商數Q發送至控制器的Y位址計數器以用於起始計數器位址,而餘數R發送至I/O介面105以用於起始位址,控制器的Y位址計數器與I/O介面105的位址計數器會回應於記憶體操作而遞增,以定址所需資料。然後將計數器位址發送至解碼器140的Y解碼器,以選擇快取陣列內的單元陣列中的行,並回應於記憶體操作而遞增計數器位址,以定址所需資料。
I/O介面105可以包括緩衝器、移位暫存緩衝器(shift register buffer)或是附有收發器(transceiver)的其他支援電路,以利用介面時脈訊號(iCLK)於埠上傳輸和接收資料。例如,積體電路記憶體裝置100可包括使用8個或16個接腳的輸入/輸出埠,以用於接收和傳輸匯流排訊號。另一個接腳可連接至時脈線路(clock line),該時脈線路承載介面時脈訊號iCLK。又一個接腳可連接至
控制線路,該控制線路承載芯片致能訊號(chip-enable)或芯片選擇訊號(chip-select signal)CS#。在一些實施例中,I/O埠195可連接至芯片上主機電路(on-chip host circuit),例如是通用處理器或專用應用電路,或是提供記憶體陣列160支援的芯片上系統功能(system-on-a-chip functionality)的模組組合。
介面時脈訊號iCLK可由其中一個I/O埠195進行提供,或是在內部產生。快取時脈訊號cCLK可回應於介面時脈訊號iCLK而產生,或是單獨產生,並且快取時脈訊號cCLK可具有不同時脈速率(clock rate)。利用快取時脈訊號cCLK可以在I/O介面105和快取之間傳輸資料,並且利用介面時脈訊號iCLK可透過I/O介面105的I/O埠195傳輸資料。
在一個實施例中,I/O介面105是位元組寬介面(byte wide interface),該位元組寬介面包括用於傳輸資料的一組8個I/O埠195,並且I/O介面105用以在雙倍資料速率模式下進行操作,其中在一個介面時脈週期的上升邊緣(rising edge)和下降邊緣(falling edge),兩個位元組一次輸出一個位元組。在其他實施例中,I/O介面105是具有一組8個I/O埠195的位元組寬介面,取決於裝置或用於介面的命令所攜帶的配置設定,該些I/O埠195可以雙倍資料速率模式(每時脈週期兩個位元組)或單倍資料速率模式(每時脈週期一個位元組)進行操作。
具有並行介面(parallel interface)和序列介面(serial interface)的其他類型的資料介面也可使用。序列介面可基於或符
合序列周邊介面(Serial Peripheral Interface,SPI)匯流排規格,其中命令通道(command channel)共享位址和資料使用的I/O接腳。特定的積體電路記憶體裝置100上的I/O埠195可用以提供具有I/O資料寬度的輸出資料,該I/O資料寬度係為最小定址儲存單元大小的整數倍。對於一個位元組的最小定址單元,該最小定址儲存單元可以是每個介面時脈週期並行的8、16、32或更多位元。
在一些實施方式中,資料介面可利用匯流排或其他類型的互連(interconnection)連接至相同芯片或相同多芯片模組上的二進位定址記憶體,例如是SRAM或DRAM。
頁面緩衝器171和快取181係由多個單元陣列所組成,該些單元陣列對齊於記憶體陣列160的相應資料線集合(set of data line)。每個單元陣列可包括N個列和Y個行。資料線集合包括N條資料線,該些資料線連接至頁面緩衝器的各個Y列中的N個單元。將頁面緩衝器連接至記憶體陣列的資料線集合具有正交間距(orthogonal pitch)(相鄰平行位元線的中心到中心的間距),該正交間距係為記憶體技術和製造節點的函數,並且對於高密度記憶體(high density memory),資料線集合可以非常小。為了符合可用空間,頁面緩衝器和快取中的N個單元必須符合N條位元線的正交間距。這是藉由將頁面緩衝器和快取中的單元堆疊成行來完成。因此,一行單元陣列的頁面緩衝器171和快取181中的儲存元件的正交間距必須等於或小於單元陣列行(column in the unit array)所導通的N個位元線集合的間距。
第2圖繪示依據本文所述技術的示例配置之頁面緩衝單元陣列205和快取單元陣列210的佈局。在此示例中,假設最小定址單元為一個位元組,則介面在雙倍資料速率模式下於每個介面時脈週期(interface clock cycle)最多輸出兩個位元組。
在此示例中,頁面緩衝單元陣列205具有N=12列×Y=16行的單元,其耦接至192條資料線200,其中每行中的單元標記為b0到b11。數量N為8的非整數倍。因此,每行的頁面緩衝單元陣列205設置且符合於12條資料線的正交間距。同樣地,快取單元陣列210具有12列×16行的單元,其中每行中的單元再次標記為b0到b11。第2圖的單元陣列包括Y=16個快取選擇和控制電路的列215,對應至各16個快取行的快取行號(cache column number)CC0-CC15標記列215。此外,單元陣列包括N=12個快取驅動器(cache driver)的列220,快取單元陣列210中的選定行的每個位元b0-b11的其中之一為N=12位元的傳輸儲存單元225提供資料路徑。
單元陣列設置成N列,例如是基於定址系統之位元組的12列,其中N為最小定址單元大小的非整數倍,而非如十六列之二進位列數(binary number of row)的整數倍,這可節省積體電路的面積。列數的節省(16-12=4)轉化為面積的節省,節省的面積等於單元陣列的寬度乘以刪減列(eliminated row)的垂直間距(vertical pitch)(在此示例中的4個刪減列)。從16列減少至12列的此示例中,頁面緩衝器和快取的面積減少了25%。N為最小定址儲
存單元大小的非整數倍的實施方式所提供的靈活性允許更小型化的佈局。
因此,在此技術中,快取單元陣列輸出N位元的傳輸儲存單元,其中N為最小定址單元大小的非整數倍。因此,具有N位元傳輸單元(例如,12)的單元陣列的行選擇係為非二進位定址操作(non-binary addressing operation)。此外,如第2圖所示之具有12列的快取,依據這種佈局,從記憶體陣列定址的兩個位元組字元不能儲存於單元陣列的單一行。如下文的更詳細描述,每組快取用以於快取時脈訊號cCLK的每個週期傳輸一個快取行的資料(12位元的快取傳輸單元)。對於使用四組的示例,配置致使每組傳輸一個快取行,或在單一快取時脈週期內傳輸4個快取行和48位元。這48位元由三個16位元字(bit word)組成,用以在快取和介面之間進行傳輸。然而,這三個16位元字的資料透過四個12位元部分的這種散佈/聚集資料路徑配置(scatter/gather data path configuration)而分佈至記憶體陣列的四個不同群組中的記憶胞。
如第2圖所示,互連陣列(array of interconnection)形成於覆蓋頁面緩衝單元陣列205和快取單元陣列210之有圖案的導體層(patterned conductor layer)(例如,金屬層)。在並行操作中,互連用以將資料從頁面緩衝單元陣列205傳輸至快取單元陣列210。第2圖所示的代表性互連包括快取行號CC2上的垂直互連(vertical interconnection)231、快取行號CC8上的垂直互連232、頁面緩衝列b2上的水平互連(horizontal connection)241以及快取列
(cache row)b2上的水平互連242。在頁面緩衝單元陣列205和快取單元陣列210之間傳輸資料的操作中,控制訊號對水平互連241和242進行通電(energize),用以透過頁面緩衝器和快取之間的垂直互連來傳輸選定列的單元中的資料,以進行讀取操作,並且在頁面緩衝器與快取之間進行寫入操作。此操作可執行12次(每列一次),以將頁面緩衝單元陣列205的全部內容傳輸至快取單元陣列210,或者將頁面緩衝單元陣列205的全部內容從快取單元陣列210傳輸至頁面緩衝單元陣列205,反之亦然。
第3圖繪示如第2圖所示之頁面緩衝單元陣列205和快取單元陣列210的佈局,其中相同元件具有相同元件編號。例如,在第3圖中,形成於有圖案的導體層之重疊互連(overlying interconnection)包括垂直互連331、垂直互連332以及對應至單元b4的水平互連333。在快取單元陣列210與列220的快取驅動器之間的資料傳輸操作中,控制訊號對垂直互連331進行導通(energize),以將選定列b4中的單元連接至水平互連333。水平互連333透過垂直互連332連接至b4的相應快取驅動器。12個水平互連333(快取中的每列一個)可並行操作,從而將16行中選定的12位元轉換至相應快取驅動器,進而與介面電路進行通訊。
本文所述的技術提供了一種資料路徑,其中二進位定址存取的儲存單元分佈於記憶體陣列的多個群組的晶胞之間的傳輸儲存單元,該傳輸儲存單元具有二進位定址儲存單元大小的非整數倍大小。在這種方式中,頁面緩衝器和快取的一個單元
陣列的相鄰行(adjacent column)保存外部定址方式中不相鄰資料的資料位元。依據本文所述的資料路徑,外部定址方式的二進位位址所定址的陣列的儲存單元(例如,位元組或字元)透過不同群組的資料線分佈至記憶體陣列的不同群組的晶胞,該儲存單元並未對齊於傳輸儲存單元。
第4圖繪示具有如本文所述之資料路徑配置的系統附加特徵。在第4圖中,陣列410配置為多個群組GP(0)-GP(3)。資料路徑包括頁面緩衝器415和快取420,其配置為多個單元陣列(垂直線表示)。頁面緩衝器415和快取420的相應單元陣列集合(set of unit array)協助(serve)陣列中的每個群組GP(0)-GP(3)。
頁面緩衝器415包括X組頁面緩衝單元陣列,該X組頁面緩衝單元陣列對應至X組資料線。每個頁面緩衝單元陣列用以存取多條資料線的整數P個資料線,並且至少包括P個頁面緩衝單元,該P個頁面緩衝單元排列成整數個N列和Y(Y=P/N)行。此外,頁面緩衝器415包括電路,該電路用以在P個頁面緩衝單元至快取的相應快取單元陣列的P個快取單元之間的資料傳輸。
快取420耦接至頁面緩衝器,並包括X組快取單元陣列(各X組資料線的一組快取單元陣列),該X組快取單元陣列對應至X組頁面緩衝單元陣列。每個快取單元陣列用以存取頁面緩衝器的整數P個快取單元,並包括P個快取單元,該P個快取單元排列成整數N個快取列和Y(Y=P/N)個快取行,其中數量N並非為2的冪次方。每個快取單元陣列包括本地快取驅動器(local cache
driver),用以存取單元陣列的Y個快取行的選定快取行的N個快取單元。
資料路徑電路耦接至快取,用以將各X組快取單元陣列、選定快取單元陣列的P/N快取行的選定快取行的N個快取單元連接至M個介面線,其中M為N乘X。M條介面線耦接至介面,該介面包括以整數個D位元單位(bit unit)進行資料傳輸的電路,其中D為2的冪次方,並且M為D和N的公倍數。
第4圖所示的資料路徑電路包括快取選擇和支援電路(cache select and support circuit)425,以及本地快取驅動器430,以用於控制每個單元陣列內的頁面緩衝器415和快取420之間的資料傳輸,並且透過本地快取驅動器430從快取420傳輸資料。此外,資料路徑電路包括群組快取驅動器(group cache driver)432、434、436、438,其用於陣列的相應群組GP(0)-GP(3)。在此示例中,本地快取驅動器430透過從快取傳出的N位元讀取資料路徑以及傳輸至快取的N位元寫入資料路徑,耦接至用於陣列的相應群組GP(0)-GP(3)之群組快取驅動器432、434、436、438。群組快取驅動器432、434、436、438連接至N位元讀取資料路徑,以在讀取操作中傳輸至介面電路440,並且群組快取驅動器432、434、436、438連接至N位元寫入資料路徑,以在寫入操作中從介面埠(interface port)442傳輸至快取。介面電路440包括多個電路,該些電路用以傳輸來自群組快取驅動器432的讀取資料RD[N-1:0]、來自群組快取驅動器434的讀取資料RD[2N-1:N]、來
自群組快取驅動器436的讀取資料RD[3N-1:2N],以及來自群組快取驅動器438的讀取資料RD[4N-1:3N]。介面電路440還接收線路490上的介面時脈訊號iCLK。介面電路440內的多工器電路(multiplexer circuit)可將介面埠442連接至綜合讀取資料路徑(consolidated read data path)(讀取資料RD[4N-1:0])的相應部分。此外,介面電路440包括多個電路,該些電路用以傳輸寫入資料WD[N-1:0]至群組快取驅動器432,用以傳輸寫入資料WD[2N-1:N]至群組快取驅動器434,用以傳輸寫入資料WD[3N-1:2N]至群組快取驅動器436,以及用以傳輸寫入資料WD[4N-1:3N]至群組快取驅動器438。介面電路440內的多工器電路可將介面埠442連接至讀取資料RD[4N-1:0]的合併讀取資料路徑和綜合寫入資料路徑(consolidated write data path)(寫入資料WR[4N-1:0])的相應部分。
在單元陣列中,快取選擇和支援電路425的位置不必在快取420和本地快取驅動器430之間。電路可分佈於快取和頁面緩衝陣列,以迎合特定實施方式。
在讀取或寫入操作中,起始位址會被提供來標識操作欲存取的第一最小定址單元。透過整個頁面中的所有最小定址單元的讀取或寫入操作序列,以支援頁面讀取或寫入。
為了支援頁面緩衝器和快取單元陣列中的非二進位定址,提供定址電路。如第4圖所示,在一個示例中,行位址CA提供至線路450上,以支援使用外部二進位定址系統的記憶體操作。線路450上的行位址CA施加至位址除法器452。如上述,藉由
將每4組中的選定單元陣列輸出的寬度M=4N除以最小定址單元的大小,得出於位址除法器452作為除數(divisor)的因子F。在本文所述的示例中,M=48且最小定址單元的大小為八位元。此示例中的因子F為48/8=6。因子F並非2的冪次方,並且在此示例中,除數為最小定址單元大小的非整數倍。
位址除法器452輸出行位址商數(column address quotient)CA_Ql至線路460上,並輸出行位址餘數(column address remainder)CA_Rl至線路461上。行位址商數CA_Ql施加至Y位址生成器454,該Y位址生成器454輸出線路471上的Y位址訊號至快取選擇和支援電路425以及本地快取驅動器430。此外,Y位址生成器454與快取控制區塊456交換控制訊號。藉由在介面區塊處劃分介面時脈訊號iCLK或是利用其他時脈電路或來源可產生快取時脈訊號cCLK,並且線路470上的快取時脈訊號cCLK可提供至快取控制區塊456。快取時脈訊號cCLK和其他控制訊號可提供至線路480上,以協調本地快取驅動器430以及用於群組GP(0)-GP(3)的群組快取驅動器432、434、436、438的操作。
在每個快取時脈週期中輸出各四組的一個選定單元陣列的一個選定行。四組輸出形成M個位元的快取定址單元,其中M為介面時脈訊號iCLK的單一週期上輸出的最大儲存單元大小DMAX的公倍數(對於具有8埠輸出的DDR,DMAX為16),並且數量N為每組的單位陣列輸出的位元數(在這些示例中,N為12)。在此示例中,16和12的公倍數為48,並且M等於48。因為M/N等
於4,故有四組資料線。因為M/16為3,故快取定址單元有3個16位元字。
為了傳輸頁面,Y位址生成器454產生訊號以選擇每組單元陣列中的起始單元陣列,並且透過介面從四組的起始單元陣列各傳輸一個快取行,然後依照M個位元的快取定址單元序列(sequence of cache addressed unit)循環地選擇四組的所有單元陣列來輸出整個頁面。在支援頁面內讀取或寫入的隨機起始位址(random start address)的配置中,四組中的其中一個起始單元陣列儲存行位址CA所標識的最小定址單元的第一位元。在每個快取時脈週期中,一組M位元傳輸至介面電路440。介面利用餘數訊號(remainder signal)CA_R1為多工器產生控制訊號,以選擇來自資料路徑的M個位元中的外部位址所標識的最小定址單元,並將選擇的最小定址單元提供至介面,以傳輸於介面埠442。如上述,在雙倍資料速率實施方式中,介面時脈週期內可傳輸兩個最小定址單元。
資料路徑需要電路將用於外部存取最小定址單元的二進位定址轉換為頁面緩衝器和快取的“非二進位”定址,以存取快取行,該快取行持有最小定址單元的非整數倍位元數。同樣地,資料路徑需要電路將頁面緩衝器和快取的非二進位定址轉換為輸入/輸出介面的二進位定址。控制這種定址方式的一種方法涉及到位址除法器,其中介面和記憶體陣列的二進位位址除以快取定址單元大小M和用於陣列的二進位定址方式的最小定址單元大
小之函數(例如,每個N位元的四個傳輸儲存單元)的因子F。如上述,如果二進位定址方式的最低有效位元(least significant bit)對應至位元組(8位元),且最低有效位元是透過I/O介面來外部定址的最小儲存單元,則因子F為M/8,其對於所示範例為48/8=6。如果二進位定址方式的最低有效位元對應至字元(16位元),基於此公式的因子F將是M/16(48/16=3)。
上述範例使用12的快取行大小和等於4的群組數。這些為有利範例但非限制性的。只要快取行大小為最小定址單元大小的非整數倍,或是一個介面時脈週期內輸出的最大資料大小的非整數倍,則可使用其他大小。
第5圖繪示具有2K附加資料線的16K位元組頁面資料線的頁面大小、8位元的最小定址單元大小、12位元的快取行大小以及具有16行的12x16的單元陣列大小之讀取資料路徑配置。寫入資料路徑類似,並且為了圖式明確起見而省略。
頁面大小(PS):16KB+2KB;RD匯流排大小:48位元=6個位元組=3字元;群組數(NOG):4;單元陣列大小(UAS):16列x12位元;每組的單元陣列數(NOUA);PSUAS x NOUA x NOG;
因此,對於這種配置,每組有192個單元陣列,並且頁面緩衝器/快取具有協助記憶體陣列的768個單元陣列。每組資料線包括192x12x16條資料線。為了傳輸一個頁面,四組單元陣列並行操作,並且依序存取每組的192個單元陣列。在序列中,選定單元陣列(回應快取單元陣列的定址訊號YAH)可以在每個快取時脈週期輸出12位元的選定快取行(回應快取單元陣列內之快取行的定址訊號YAL),該選定快取行與四組輸出形成M位元快取定址單元。這將執行16個定址訊號YAL週期,以輸出選定快取單元陣列的所有行,然後執行下一個定址訊號YAH週期,依序移動至下一個快取單元陣列,直到存取所有群組的所有192個單元陣列。
其他配置可使用。支持本文所述技術配置的一種概論(generalization)可如下。
提出2i x N單元陣列(上文顯示了i=4和N=12情況之的16 x 12單元陣列)。N可以是最小定址單元大小的任何非整數倍。
在一個CACHE_CLK中,各組的選定單元陣列僅讀取/寫入N位元資料。
在一個CACHE_CLK中,從快取讀取/寫入M位元資料,M為N和DMAX的公倍數,其中DMAX為一個介面時脈週期內傳輸的最大位元數(對於以上示例的DDR,DMAX=16)。M並非為2的冪次方(對於以上示例,M=48)。
對於N位元快取行的每個M/2i輸出,將YADD計數器(YA)加1來選擇下一行。添加位址除法器,以將外部二進位位址轉換為頁面緩衝器和快取的YADD系統,以及介面電路的YADD系統。
在N位元的快取行單元(cache column unit)的寫入操作中,外部定址系統的連續定址位元組(Sequentially addressed byte)或其他最小定址單元散佈於陣列群組之間,使得寫入至陣列群組和每個快取時脈週期傳輸的M個位元係由介面的整數個連續最小定址單元(sequential minimum addressable unit)所組成。此外,在N位元的快取行單元的讀取操作中,從陣列群組中收集外部定址系統的連續定址的最小定址單元,使得從陣列群組讀取和每個快取時脈週期傳輸的M個位元係由介面的整數個序列最小定址單元所組成。
第6圖繪示具有2K附加資料線的16K位元組頁面資料線的頁面大小、8位元的最小定址單元大小、12位元的快取行大小以及具有12行的12x12的單元陣列大小的另一示例配置。這裡,快取行數等於列數,故快取行數也是最小定址單元大小的非整數倍。
頁面大小(PS):16KB+2KB;RD匯流排大小:48位元=6位元組=3字元;群組數(NOG):4;單元陣列大小(UAS):12行x12位元
每組的單元陣列數(NOUA);PSUAS x NOUA x NOG;
因此,對於這種配置,每組有256個單元陣列,並且頁面緩衝器/快取有協助記憶體陣列的1024個單元陣列。為了傳輸一個頁面,四組單元陣列並行操作,並且依序存取256個單元陣列。在序列中,選定單元陣列可以在每個快取時脈週期輸出12位元的選定行,該選定快取行與四組輸出相結合。這將執行12個週期,然後依序存取下一個單元陣列,直到存取所有群組的所有256個單元陣列。在這個例子中,由於每個單元陣列的快取行數並非為2的冪次方,故單元陣列並未依據概論(2ixN)來進行配置。
於第6圖的NxN配置中,相較於對齊於2的冪次方(例如,16)邊界的配置,Y位址生成器產生定址訊號YAL和YAH解決了確定何時跳轉至12個週期邊界上的下一個單元陣列的複雜性。
配置可基於本文所述的參數而變化,參數包括頁面大小(16K、32K等)、快取行大小N、最小定址單元大小(位元組、字元)以及每個介面時脈週期的最大資料傳輸(DMAX,例如是DDR模式的兩個位元組)。依據特定實施方式的物理佈局選擇,可選擇快取行大小N。以上示例使用的快取行大小N等於12。快取行大小N可以是最小定址單元大小的其他非整數倍。
例如,N可以是如9的奇數,儘管這可能導致頁面大小的資料線的剩餘數量無法被9位元整除。在這種情況下,假設
DMAX為8,則M為9和8的公倍數,該公倍數可以是72。在這種情況下,將有72/9=8組單位陣列。
雖然藉由參照以上詳細的優選實施例和示例公開了本發明,但是應當理解,這些示例旨在說明而不是限制意義。所屬技術領域具有通常知識者很容易想到修改和組合是預期的,這些修改和組合將在本發明的精神與所附申請專利範圍的範圍內。
綜上所述,雖然本發明已以實施例揭露如上,然其並非用以限定本發明。本發明所屬技術領域中具有通常知識者,在不脫離本發明之精神和範圍內,當可作各種之更動與潤飾。因此,本發明之保護範圍當視後附之申請專利範圍所界定者為準。
100:積體電路記憶體裝置
105:輸入/輸出介面
108:命令解碼器
110:控制邏輯
120:區塊
130:匯流排
131,143,144:線路
140:解碼器
142:位址除法器
145:字元線
160:記憶體陣列
165:資料線
171:頁面緩衝器
181:快取
184:資料匯流排
195:輸入/輸出埠
CA:行位址
Q:商數
R:餘數
cCLK:快取時脈訊號
iCLK:介面時脈訊號
Claims (18)
- 一種利用具有位元組(byte)大小之一最小定址單元(minimum addressable unit)的一定址方式來進行定址的記憶體,該記憶體包括:一記憶體陣列;一資料介面;以及一資料路徑,用以利用複數個傳輸儲存單元(transfer storage unit)在該記憶體陣列和該資料介面之間傳輸資料,該些傳輸儲存單元之各者係具有N位元(bits),其中N為一正整數,且N等於以位元(bits)計算之該最小定址單元的一大小與一非整數的乘積。
- 如請求項1所述之記憶體,其中該資料路徑包括:一頁面緩衝器(page buffer),該頁面緩衝器用以連接至該記憶體陣列;以及一快取(cache),用以連接至該頁面緩衝器與該資料介面;以及其中,該記憶體陣列包括複數條資料線,該些資料線用以連接該頁面緩衝器,該些資料線係分成X組資料線,該頁面緩衝器設置為連接至該X組資料線;其中,該快取包括X組快取單元陣列(cache unit array),該X組快取單元陣列對應至該X組資料線,該X組快取單元 陣列之各者用以存取該頁面緩衝器的P位元之資料,該X組快取單元陣列之各者包括P個快取單元,該P個快取單元排列成N個快取列(cache row)和P/N個快取行(cache column),X、P為正整數。
- 如請求項2所述之記憶體,其中該資料路徑包括耦接至該快取的複數個電路,用以將該X組快取單元陣列之各者的一選定快取單元陣列的P/N個快取行中的一選定快取行的N個快取單元連接至M條介面線,其中M為N乘以X;以及其中,該資料介面耦接至該M條介面線,並包括以D位元單位進行資料傳輸的複數個電路,其中D為該最小定址單元的該大小的整數倍,M為D和N的公倍數,M、D為正整數。
- 如請求項3所述之記憶體,包括:複數個位址轉換電路,回應於一輸入位址而為該資料路徑的該些電路產生複數個選擇訊號。
- 如請求項1所述之記憶體,其中,該記憶體陣列包括複數條資料線,該些條資料線係分為X組資料線,用以連接至一頁面緩衝器,該頁面緩衝器係設置為連接至該X組資料線;以及 基於該定址方式的資料頁面包括具有複數個序列位址(sequential address)的複數個最小定址單元,並且儲存於該記憶體陣列的資料頁面散佈於複數個記憶胞(memory cell)之間的N位元的複數個儲存單元,該些記憶胞耦接至跨X組進行非依序設置的資料線。
- 如請求項1所述之記憶體,其中N並非為2的冪次方(power)。
- 一種記憶體,包括:一記憶體陣列,包括複數條資料線,用以利用具有一最小定址單元的一定址方式存取該記憶體陣列的複數個記憶胞,該最小定址單元具有一大小,該些資料線包括X組資料線,其中X為大於1的整數;一頁面緩衝器,用以存取該些資料線,該頁面緩衝器包括複數個頁面緩衝單元,各該頁面緩衝單元用於各該資料線;一快取,耦接至該頁面緩衝器,該快取包括X組快取單元陣列,該X組快取單元陣列之各者對應至該X組資料線之各者,各該快取單元陣列用以存取該頁面緩衝器的P個頁面緩衝單元,並包括P個快取單元,該P個快取單元排列成N個快取列和P/N個快取行,其中N為該最小定址單元的該大小的非整數倍; 複數個資料路徑電路,耦接至該快取,用以將該X組快取單元陣列之各者的一選定快取單元陣列的該P/N個快取行中的一選定快取行的N個快取單元連接至M條介面線,其中M為N乘以X;一介面,耦接至該M條介面線,該介面包括以D位元單位進行資料傳輸的電路,其中D為該最小定址單元的該大小的整數倍,M為D和N的公倍數;以及複數個位址轉換電路,回應於一輸入位址而為該些資料路徑電路產生複數個選擇訊號,X、P、N、M、D為正整數。
- 如請求項7所述之記憶體,其中該些位址轉換電路包括一位址除法器(address divider),用以將該輸入位址除以一因子(factor),該因子等於M除以該最小定址單元的該大小,以產生該些選擇訊號。
- 如請求項8所述之記憶體,其中該位址除法器產生一商數(quotient)和一餘數(remainder),並且該些位址轉換電路包括一快取位址生成器(cache address generator),用以選擇複數個快取行和複數個快取單元陣列,並且該介面包括產生該些選擇訊號的電路來選定該M條介面線的一D位元單位連接,以進行傳輸。
- 如請求項7所述之記憶體,其中該頁面緩衝器包括X組頁面緩衝單元陣列,該X組頁面緩衝單元陣列 用於該X組資料線的相應資料線,該頁面緩衝單元陣列之各者用以存取該些相應資料線的P條資料線,並包括P個頁面緩衝單元,該P個頁面緩衝單元排列成整數個N個列和P/N個行,並且該頁面緩衝單元陣列之各者包括在該P個頁面緩衝單元至該快取的一相應快取單元陣列的P個快取單元之間進行資料傳輸的電路。
- 如請求項7所述之記憶體,其中該些資料線具有一正交間距(orthogonal pitch),並且該快取的該X組快取單元陣列的該些快取行之各者符合於該些資料線的N條資料線的該正交間距。
- 如請求項7所述之記憶體,其中該些位址轉換電路為該些資料路徑電路和該介面產生一系列選擇訊號,以在該介面上傳輸具有複數個序列位址的複數個D位元單位。
- 如請求項7所述之記憶體,其中該些資料線耦接至該記憶體陣列的一頁的記憶胞,該些位址轉換電路為該些資料路徑電路和該介面產生一系列選擇訊號,以在該介面上傳輸具有複數個序列位址的複數個D位元單位的資料頁面。
- 如請求項7所述之記憶體,其中該些資料路徑電路包括X個群組驅動器(group driver),該X個群組驅動器耦接至該快取,各該群組驅動器耦接至其中一組快取單元陣列。
- 如請求項7所述之記憶體,其中N並非為2的冪次方。
- 如請求項7所述之記憶體,其中D為16且N為12。
- 如請求項7所述之記憶體,其中D為該最小定址單元的該大小的兩倍。
- 如請求項7所述之記憶體,其中D等於該最小定址單元的該大小。
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US17/667,384 | 2022-02-08 | ||
US17/667,384 US11782824B2 (en) | 2022-02-08 | 2022-02-08 | Universal data path architecture for different data array |
Publications (2)
Publication Number | Publication Date |
---|---|
TW202333061A TW202333061A (zh) | 2023-08-16 |
TWI828108B true TWI828108B (zh) | 2024-01-01 |
Family
ID=81327991
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
TW111113488A TWI828108B (zh) | 2022-02-08 | 2022-04-08 | 應用於記憶體定址的資料路徑架構之記憶體 |
Country Status (4)
Country | Link |
---|---|
US (1) | US11782824B2 (zh) |
EP (1) | EP4224325A1 (zh) |
CN (1) | CN116612799A (zh) |
TW (1) | TWI828108B (zh) |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US9838500B1 (en) * | 2014-03-11 | 2017-12-05 | Marvell Israel (M.I.S.L) Ltd. | Network device and method for packet processing |
US20190146712A1 (en) * | 2017-11-13 | 2019-05-16 | SK Hynix Inc. | Memory system and operating method thereof |
CN112947849A (zh) * | 2019-12-10 | 2021-06-11 | 西部数据技术公司 | 非易失性存储器编程顺序 |
US20210279172A1 (en) * | 2020-03-06 | 2021-09-09 | Macronix International Co., Ltd. | Continuous read with multiple read commands |
TW202201232A (zh) * | 2020-06-26 | 2022-01-01 | 日商鎧俠股份有限公司 | 記憶體系統及控制方法 |
Family Cites Families (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5911152A (en) | 1995-09-05 | 1999-06-08 | Compaq Computer Corporation | Computer system and method for storing data in a buffer which crosses page boundaries utilizing beginning and ending buffer pointers |
US6373751B1 (en) | 2000-05-15 | 2002-04-16 | Enhanced Memory Systems, Inc. | Packet-based integrated circuit dynamic random access memory device incorporating an on-chip row register cache to reduce data access latencies |
US7127668B2 (en) | 2000-06-15 | 2006-10-24 | Datadirect Networks, Inc. | Data management architecture |
US11347608B2 (en) | 2014-02-28 | 2022-05-31 | Rambus Inc. | Memory module with dedicated repair devices |
KR102328226B1 (ko) | 2017-07-05 | 2021-11-18 | 에스케이하이닉스 주식회사 | 페이지 버퍼를 구비하는 메모리 장치 |
US10977121B2 (en) | 2018-10-17 | 2021-04-13 | Macronix International Co., Ltd. | Fast page continuous read |
-
2022
- 2022-02-08 US US17/667,384 patent/US11782824B2/en active Active
- 2022-04-07 EP EP22167074.8A patent/EP4224325A1/en active Pending
- 2022-04-08 TW TW111113488A patent/TWI828108B/zh active
- 2022-04-15 CN CN202210400904.8A patent/CN116612799A/zh active Pending
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US9838500B1 (en) * | 2014-03-11 | 2017-12-05 | Marvell Israel (M.I.S.L) Ltd. | Network device and method for packet processing |
US20190146712A1 (en) * | 2017-11-13 | 2019-05-16 | SK Hynix Inc. | Memory system and operating method thereof |
CN112947849A (zh) * | 2019-12-10 | 2021-06-11 | 西部数据技术公司 | 非易失性存储器编程顺序 |
US20210279172A1 (en) * | 2020-03-06 | 2021-09-09 | Macronix International Co., Ltd. | Continuous read with multiple read commands |
TW202201232A (zh) * | 2020-06-26 | 2022-01-01 | 日商鎧俠股份有限公司 | 記憶體系統及控制方法 |
Also Published As
Publication number | Publication date |
---|---|
TW202333061A (zh) | 2023-08-16 |
EP4224325A1 (en) | 2023-08-09 |
US20230251964A1 (en) | 2023-08-10 |
CN116612799A (zh) | 2023-08-18 |
US11782824B2 (en) | 2023-10-10 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US7493467B2 (en) | Address scrambling to simplify memory controller's address output multiplexer | |
US7243203B2 (en) | Pipeline circuit for low latency memory | |
US5430859A (en) | Solid state memory system including plural memory chips and a serialized bus | |
JP5399442B2 (ja) | 時間多重化誤り訂正符号化をサポートするメモリ・トランザクション・バースト動作及びメモリ装置 | |
US11416170B2 (en) | Technologies for efficiently accessing data columns and rows in a memory | |
US6356991B1 (en) | Programmable address translation system | |
US5815456A (en) | Multibank -- multiport memories and systems and methods using the same | |
CN111916120B (zh) | 带宽提升的堆叠存储器 | |
US20200350005A1 (en) | Serialized sram access to reduce congestion | |
US11269779B2 (en) | Memory system with a predictable read latency from media with a long write latency | |
TWI828108B (zh) | 應用於記憶體定址的資料路徑架構之記憶體 | |
JPS6120157A (ja) | データ処理システム | |
JP2002222084A (ja) | 半導体記憶装置、セクタアドレス変換回路、アドレス変換方法及び半導体記憶装置の使用方法 | |
WO2023011367A1 (zh) | 一种存储芯片及堆叠芯片 | |
JP2023152261A (ja) | メモリ内データコンピューティングおよび分析 | |
US6819323B2 (en) | Structure and method for gaining fast access to pixel data to store graphic image data in memory | |
US6912173B2 (en) | Method and system for fast memory access | |
CN116490925A (zh) | 存储器电路架构 | |
US5276846A (en) | Fast access memory structure | |
JP2001209574A (ja) | 記憶装置の制御方法 | |
US20210373852A1 (en) | Processing-in-memory (pim) devices | |
JP2693954B2 (ja) | 半導体記憶装置 | |
JP2022164244A (ja) | メモリアクセス制御装置 | |
Strong et al. | Memories | |
JP2001184853A (ja) | 半導体集積装置 |