TWI771785B - 資料先進先出(fifo)電路 - Google Patents

資料先進先出(fifo)電路 Download PDF

Info

Publication number
TWI771785B
TWI771785B TW109137634A TW109137634A TWI771785B TW I771785 B TWI771785 B TW I771785B TW 109137634 A TW109137634 A TW 109137634A TW 109137634 A TW109137634 A TW 109137634A TW I771785 B TWI771785 B TW I771785B
Authority
TW
Taiwan
Prior art keywords
output
data
multiplexer
registers
register
Prior art date
Application number
TW109137634A
Other languages
English (en)
Other versions
TW202217547A (zh
Inventor
吳柏動
許人壽
Original Assignee
晶豪科技股份有限公司
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 晶豪科技股份有限公司 filed Critical 晶豪科技股份有限公司
Priority to TW109137634A priority Critical patent/TWI771785B/zh
Publication of TW202217547A publication Critical patent/TW202217547A/zh
Application granted granted Critical
Publication of TWI771785B publication Critical patent/TWI771785B/zh

Links

Images

Landscapes

  • Dram (AREA)
  • Communication Control (AREA)

Abstract

一種資料先進先出(FIFO)電路包含一暫存器單元、多個資料多工器以及一輸出多工器。該暫存器單元包含多個解碼器和多個N暫存器。該解碼器被用於響應於多個相應的輸入控制訊號和至少一個輸入啟動訊號而輸出多個解碼訊號。該等N暫存器被配置為響應於相應的解碼器的相應的解碼訊號而接收輸入資料。該等資料多工器各自被耦接至該等暫存器中的M個,其中N和M為正整數,N是等於或大於4,M是等於或大於2,以及N是大於M。該輸出多工器,耦接至該等資料多工器,該輸出多工器被用於依序地提供從該等資料多工器的一相應的輸出。

Description

資料先進先出(FIFO)電路
本公開揭示關於一資料先進先出(first-in first-out,FIFO)電路,特別關於一種用於在一高速資料速率應用中運作的記憶體裝置中的資料FIFO電路。
多個資料先進先出(first-in first-out,FIFO)電路可以用於暫時地儲存資訊,該資訊用於在以不同的時脈速率運作的二個不同電路之間傳輸。該等FIFO電路以及它們的變體廣泛地使用在各種電子應用中,諸如記憶體裝置、儲存裝置、網路裝置、影音儲存應用等。在該記憶體裝置應用中,例如,一非揮發性記憶體模組,諸如一雙倍資料速率(double data rate,DDR)系列(例如,DDR2、DDR3、DDR4等)同步動態隨機存取記憶體(SDRAM)對於諸如個人電腦、伺服器等電子裝置是必不可少的,其需要基於不同的FIFO電路的輸入或輸出介面,以在記憶體晶片和主機之間進行資料轉換。該輸入或輸出介面被使用於記憶體寫入或讀取運作,並且通常地基於用於資料轉換的FIFO電路實現,以高速和可靠的方式運作,以滿足該記憶體介面規範的要求。
結果,對該記憶體介面規範的要求而言,一FIFO電路的結構和運作是令人關注的。以DDR3記憶體裝置為例,在一讀取命令和當資料是可用的時間之間的一延遲時間是16(即,列訪問選通(Column Access Strobe,CAS)延遲或CL等於16(單位是時脈週期))。一種傳統的FIFO電路,如圖1所示,可以被 用作在該DDR3記憶體裝置中的一輸出FIFO電路的一建構方塊。在圖1中,該FIFO電路包含八個暫存器,由R代表八個暫存器,以及一8對1多工器,由M1代表。當多個讀取命令由該記憶體模組處理時,可以使用由ZI[0]到ZI[7]代表的輸入控制訊號控制該等暫存器R,使得每個暫存器R以依序地方式儲存來自一FIFO輸入(例如,每次為4-位元資料)的各個4-位元資料。位了滿足CL為16的要求,可以由ZO[0]到ZO[7]代表的輸出控制訊號來控制8對1多工器M1,以便在當每個讀取命令的CL延遲時間過去時,依序地輸出該等暫存器R提供的各自的資料。
隨著記憶體技術的進步,新一代的記憶體系統將以更高的資料速率運作。例如,與DDR3 SDRAM的400和1067MH之間的頻率相比,DDR4 SDRAM運作在800和1600MHz的頻率之間(DDR4-1600至DDR4-3200)。由於DDR4 SDRAM的CL值較大,因此在該記憶體晶片中需要更多的FIFO。可以透過使用在圖1中的該FIFO電路類似的結構和運作來實現DDR4 SDRAM的一FIFO電路(未示出)。在這種情況下,DDR4 SDRAM的該FIFO電路需要16對1多工器,而不是8對1多工器M1,以用於從該等暫存器依序地輸出4位元資料,導致比圖1的FIFO電路需要更多(例如,16)數量的多個輸出控制訊號。另外,用於控制該等暫存器的多個輸出控制訊號的數量取決於用於接收FIFO輸入的該等暫存器(例如,4位元或8位元)的資料大小。這樣,用於該等輸入控制訊號和該等輸出控制訊號的軌跡線的數量不可避免地增加FIFO電路的電路複雜性,這是對於該FIFO電路的緊湊性的阻礙。
此外,用於DDR4 SDRAM的該FIFO電路可能受到基於傳輸閘地16對1多工器的訊號過載。在最壞的情況下,訊號過載會導致該多工器輸出錯誤資料或者以較低的旋轉率輸出轉換訊號準位,從而降低該記憶體模組的可靠度。
因此,在記憶體裝置中,特別是在高速資料速率應用中實現該FIFO電路是一個挑戰。
本公開揭示的一個目的是提供一資料先進先出(first-in first-out,FIFO)電路,其能夠促進高速資料速率的記憶體裝置應用。
為了至少實現上述目的,本公開揭示提供一種資料先進先出(first-in first-out,FIFO)電路,包括一暫存器單元、多個資料多工器和一輸出多工器。該暫存器單元包含多個解碼器以及多個N暫存器。該等解碼器用於響應於多個相應的輸出控制訊號和至少一個輸入啟動訊號而輸出多個解碼訊號。該等N暫存器被配置為響應於該等相應的解碼器的相應的解碼訊號而接收輸入資料。該等資料多工器各自被耦接至該等暫存器中的M個,其中N和M為正整數,N是等於或大於4,M是等於或大於2,以及N是大於M。該輸出多工器,耦接至該等資料多工器,該輸出多工器被用於依序地提供從該等資料多工器的一相應的輸出。
在一實施例中,該等N暫存器被配置為根據相應的解碼訊號而依序地接收該輸入資料。
在一實施例中,該等資料多工器中的每一個至少響應於一輸出啟動訊號而分別提供相應的資料到該輸出多工器,並且該輸出多工器響應於多個相應的輸出控制訊號提供來自該等資料多工器的相應的輸出。
在一實施例中,該等資料多工器中的第一個被配置為從相應的M個暫存器的第一暫存器接收相應的輸出的一第一部分。
在一實施例中,該等資料多工器中的第二個被配置為從相應的M個暫存器的第一暫存器接收相應的輸出的一第二部分。
在一實施例中,響應於至少一個輸出啟動訊號,該輸出啟動訊號代表提供該第一暫存器的該相應的輸出的啟動,該等資料多工器中的第一和第二提供相應的輸出的該第一部分和該第二部分各自作為該輸出多工器的二個輸入。
在一實施例中,響應於代表該第一暫存器的選擇的多個相應的輸入控制訊號,該輸出多工器依序地提供該二個輸入。
在一實施例中,該輸出多工器是第一輸出多工器,並且該資料FIFO電路更包括一第二輸出多工器,耦接至該第一輸出多工器,該第二輸出多工器用於選擇性的輸出由該第一輸出多工器輸出的資料的一部分。
在一實施例中,M是等於或大於四個,並且該等資料多工器中的每個耦接至該等暫存器的M個。
在一實施例中,該等資料多工器包含一第一多工器、一第二多工器、一第三多工器和一第四多工器。該第一多工器被配置為從相應的M個暫存器的第一暫存器接收相應的輸出的第一部分。該第二多工器被配置為從相應的M個暫存器的第一暫存器接收相應的輸出的第二部分。該第三多工器被配置為從相應的M個暫存器的第二暫存器接收相應的輸出的第一部分。該第四多工器被配置為從相應的M個暫存器的第二暫存器接收相應的輸出的第二部分。該輸出多工器被配置為從該等資料多工器接收多個輸出並且依序地從該等資料多工器中的一個輸出資料。
在一實施例中,響應於至少一個輸出啟動訊號,該輸出啟動訊號代表提供該第一和第二暫存器的該等相應的輸出的啟動,該第一到第四多工器分別提供來自該第一暫存器的相應的輸出的第一部分和第二部分以及來自該第二暫存器的相應的輸出的第一部分和第二部分分別作為該輸出多工器的輸入。
在一實施例中,響應於代表該第一和第二暫存器的一選擇的多個相應的輸出控制訊號,該輸出多工器依序地提供該等輸入。
在一實施例中,該第一多工器進一步配置為從相應的M個的一第三暫存器接收相應的輸出的一第一部分;該第二暫存器更進一步配置為從相應的M個的暫存器的第三暫存器接收相應的輸出的一第二部分;該第三多工器進一步配置為從相應的M個的暫存器的一第四暫存器接收相應的輸出的一第一部分。該第四多工器進一步配置為從相應的M個的暫存器的第四暫存器接收相應的輸出的一第二部分,其中該輸出多工器被配置為從該資等資料多工器接收輸出並且依序地從該等資料多工器中的一個輸出資料。
在一實施例中,響應於至少一個輸出啟動訊號,該輸出啟動訊號代表提供相應的該第一暫存器和該第二暫存器的輸出的啟動,該第一多工器到該第四多工器響應於至少一個輸出啟動訊號,該輸出啟動訊號表示提供相應的該第一暫存器和該第二暫存器的輸出的啟動,該第一到第四多工器分別將來自該第三暫存器的相應的輸出的第一部分和第二部分以及來自該第四暫存器的相應的輸出的第一部分和第二部分分別作為該輸出多工器的輸入。
在一實施例中,響應於代表該等第三和第四暫存器的一選擇的多個相應的輸出控制訊號,該輸出多工器依序地提供該等輸入。
1:資料FIFO電路
2:資料FIFO單元
3:資料FIFO電路
10:暫存器單元
21:資料多工器
22:資料多工器
23:資料多工器
24:資料多工器
30:輸出多工器
10A:暫存器單元
21A:資料多工器
22A:資料多工器
23A:資料多工器
24A:資料多工器
30A:輸出多工器
35A:輸出多工器
CLK:時脈訊號
D0-D7:解碼器
DQ:資料訊號
DQS:資料選通訊號
F1-FP:資料FIFO電路
M1:8對1多工器
R:暫存器
R0A-R7A:暫存器
R0-R7:暫存器
ZI[0]-ZI[7]:輸入控制訊號
ZIE:輸入啟動訊號
ZIE':輸入啟動訊號
ZO[0:7]:輸出控制訊號
ZOE[0:3]:輸出啟動訊號
ZOE1[0:3]:輸出控制訊號
ZOE2[0:3]:輸出啟動訊號
圖1(現有技術)是示出了在一記憶體系統的記憶體晶片中的傳統地FIFO電路。
圖2是示出了根據本公開揭示的一實施例的一資料FIFO電路的方塊圖。
圖3是示出了根據本公開揭示的一實施例的圖2的資料FIFO電路運作的示意性時序圖。
圖4是示出圖2的資料多工器的一實施例的示意圖。
圖5是示出圖2的輸出多工器的一實施例的示意圖。
圖6是示出用於記憶體裝置的基於如圖2所示的資料FIFO電路的資料FIFO單元的實施例的示意圖。
圖7是示出根據本公開揭示的另一實施例的資料FIFO電路的方塊圖。
圖8是示出根據本公開揭示的一實施例的圖7的資料FIFO電路的運作的示意性時序圖。
圖9是示出根據本公開的一實施例的FIFO運作的示意性時序圖。
為了促進對本公開揭示的目的、特徵和效果的理解,提供了用於本公開揭示的詳細描述的實施例和圖式。
將提供一資料先進先出(first-in first-out,FIFO)電路,其能夠促進高速資料速率的記憶體裝置應用。如下所示,該資料FIFO電路可以促進降低電路複雜度並且增加記憶體裝置的可靠度。
參考圖2所示,以方塊圖的形式示出根據本公開揭示的實施例的一資料FIFO電路。如在圖2中所示,一資料先進先出(first-in first-out,FIFO)電路1包含一暫存器單元10、多個資料多工器(例如,由21-24代表)以及一輸出多工器30。
該暫存器單元10包含多個解碼器(例如,由D0-D7代表)以及多個N暫存器(例如,R0-R7)。該等解碼器(例如,D0-D7)用於響應於多個相應的輸入控制訊號(例如,ZI[0]-ZI[3])以及至少一個輸入啟動訊號(例如,ZIE或ZIE')而 輸出多個解碼訊號。該等N(例如,8個)暫存器(例如,R0-R7)被配置為響應於來自該等相應的解碼器(例如,D0-D7)的該等相應的解碼訊號而接收輸入資料。
該等資料多工器(例如,由21-24代表)的每一個耦接至M個(例如,4)的暫存器,其中N和M為正整數。在圖2所示的實施例中,N和M取為8和4。當然,本公開揭示內容的實現不限於該些示例。在一些實施例中,可以基於圖2來實現該資料FIFO電路,使得N是等於或大於4,M是等於或大於2,以及N是大於M。例如,使用該資料FIFO電路1的結構,可以實現將該暫存器單元的暫存器的數量設為四個以及該等資料多工器的數量設為二個的資料FIFO電路。
該輸出多工器30,耦接至該等資料多工器(例如,21-24),該輸出多工器用於依序地提供來自該等資料多工器的相應的輸出。
圖2的資料FIFO電路1能夠促進高速資料速率的記憶體裝置應用。例如,在DDR4 SDRAM中的該資料FIFO電路1的實際應用中,該資料FIFO電路1可以透過使用在該暫存器單元10中的解碼器而促進降低電路複雜性,從而可以降低輸入控制訊號的輸量來控制該暫存器單元10。另外,該資料FIFO電路1利用至少二級資料多工的結構(例如,該等資料多工器作為一第一級以及該輸出多工器作為一第二級)進行資料輸出,使得可以減輕該輸出多工器的負載,而促進使用該資料FIFO電路1的記憶體裝置的可靠度。
以下提供該暫存器單元、該等資料多工器和該輸出多工器的各種實施例。
在一實施例中,該等N暫存器(例如,R0-R7)可以被配置為根據由該等解碼器(例如,D0-D7)輸出的相應的解碼訊號依序地接收該輸入資料(例如,每個8-位元資料)。在一些示例中,該等解碼器(例如,D0-D7)可以由相應的邏輯電路或組件來實現。參考圖2所示,可以透過使用具有二輸入或等效邏輯電路或組件的一AND邏輯閘(例如,用於該解碼器D0的ZI[0]和ZIE)來實現該 等解碼器D0-D3的每一個,並且相應的解碼訊號是該等二輸入的邏輯運算。可以透過使用具有二個輸入(例如,用於該解碼器D4的ZI[0]和ZIE')或等效邏輯電路或組件的一AND閘來實現該等解碼器D4-D7的每一個,並且相應的解碼訊號是該二輸入的AND運算的結果。以這種方式,與圖1的傳統資料FIFO電路相比,在該資料FIFO電路1中將該等解碼器與該等暫存器一起使用,促進減少輸入控制訊號的數量的資料輸入的實現。另外,可以透過任何適當的電路,諸如觸發器(flip-flops)等來實現該等暫存器。當然,本公開揭示的實現不限於該些示例。
在一實施例中,該等資料多工器中的每一個(例如,21-24)至少響應於一輸出啟動訊號(例如,ZOE[0:3])而將相應的資料提供給該輸出多工器30,以及該輸出多工器30響應於多個相應的輸出控制訊號(例如,ZO[0:3])提供來自該等資料多工器(例如,21-24)的相應的輸出。
在一實施例中,圖2的該資料FIFO電路1可以作為如在圖6中所示的一DDR4記憶體裝置的一輸出FIFO單元的一建構方塊。參考圖3所示,示出根據本公開揭示的一實施例的圖2的該資料FIFO電路1的運作的示意性時序圖。下面舉例說明一列訪問選通(Column Access Strobe,CAS)延遲,或CL等於30(單位為時脈週期)的要求下的FIFO運作。如圖3所示,當由該記憶體裝置對於依時脈訊號(例如,由CLK代表)處理讀取命令(例如,由RD代表的CMD代表的波形)時,可以透過使用由ZI[0]到ZI[3]代表的該等輸入控制訊號,以及由ZIE(或ZIE')代表的該輸入啟動訊號控制該等暫存器R0-R7,使得每個暫存器以依序的方式儲存來自一FIFO輸入的各別的8-位元資料(例如,在圖3中由“ABCDEFGH”代表的每個8-位元資料)。例如,當該輸入控制訊號ZI[0]和該輸入啟動訊號ZIE被同時宣告(例如,明確地啟動)時,如由“0”代表的輸入控制訊號ZI[0]的一脈衝以及由該輸入啟動訊號ZIE的一高準位表示的,透過該暫存器R0可以接收相應的8- 位元資料。同樣,當該輸入啟動訊號ZIE和該等輸入控制訊號ZI[1]-ZI[3]中的一個被宣告時,透過該等暫存器R1-R3可以分別接收三個8-位元資料。
當該輸入控制訊號ZI[0]被宣告以及該輸入啟動訊號ZIE被取消宣告(或ZIE'被宣告)時,如透過由“4”代表的該輸入控制訊號ZI[0]的一脈衝以及由該輸入啟動訊號ZIE的一低準位所表示的,可以由該暫存器R4接收相應的8-位元資料。同樣地,當該輸入啟動訊號ZIE被取消宣告以及該等輸入控制訊號ZI[1]-ZI[3]中的一個被宣告時,該等暫存器R4-R7可以分別接收三個8-位元資料。
如在圖3中所示,為了滿足CL=30和AL=0的要求,可以透過該輸出啟動訊號和該等輸出控制訊號以依序的方式來控制該等資料多工器(例如,21-24),使得確保在經過該相應的讀取命令的CL的延遲時間後可以輸出資料。例如,當該輸出啟動訊號ZOE[0]被宣告以及該等輸出控制訊號ZO[0]-ZO[3]中的一個依序地被宣告(如在圖3中該等輸出控制訊號ZO[0]-ZO[3]的脈衝由“0”和“1”代表)時,經過該輸出多工器30依序地輸出來自該等暫存器R0-R1的各別的資料。當該輸出啟動訊號ZOE[1]被宣告以及該等輸出控制訊號ZO[0]-ZO[3]中的一個依序地被宣告(如在圖3中該等輸出控制訊號ZO[0]-ZO[3]的脈衝由“2”和“3”代表)時,經過該輸多工器30依序的輸出來自該等暫存器R2-R3的相應的資料。然後可以類似地執行用於從該等暫存器R4-R5、R6-R7輸出相應的資料的運作,並且為了簡潔起見將不詳細描述。當經過該輸出多工器30依序地輸出來自該等暫存器的各個資料時,使用該資料FIFO電路1的一記憶體裝置(例如,DDR4 SDRAM)可以依照該記憶體資料介面(例如,DDR4)的需求輸出資料,例如,如在圖3中所示,根據由DQS代表的一資料選通訊號和由DQ代表的一資料訊號(諸如,對於DQ[0])的時序。當然,本公開揭示的實現不受上述示例所限制。
如上面所述,利用至少二級的資料多工的結構進行資料輸出可以減輕該輸出多工器30的負載,並且還可以引導一個較低的閘延遲。在這方面,應該注意的是,例如在該輸出啟動訊號ZOE[0]被宣告期間,該等資料多工器21-24可以從該等暫存器R0-R1輸出相應的資料,使得一旦該等輸出控制訊號ZO[0]-ZO[3]被依序地宣告時,該輸出多工器30可以輸出具有較低的閘延遲的該相應的資料。相較之下,如果該等資料多工器21-24以及該輸出多工器30被與圖1的該資料FIFO電路的類似結構中的16對1多工器取代,由於該16對1多工器的多個串接邏輯閘,基於邏輯閘的16對1多工器可能受閘延遲影響。因此,該資料FIFO電路1能夠促進使用該FIFO電路1的一記憶體裝置的可靠度。
在一實施例中,該等資料多工器中的第一個(例如,資料多工器21或23)被配置為從該等相應的M個(例如,2個或多個)的暫存器的第一暫存器(例如,暫存器R0或R1)接收一相應的輸出的一第一部分(例如,8-位元資料的第一個4-位元資料)。參考圖2所示,例如,該資料多工器21被耦接至該等暫存器R0-R7中的暫存器R0、R2、R4、R6(例如,對於M=4)以接收各自的第一部分。該資料多工器23,例如,耦接至該等暫存器R0-R7中的暫存器R1、R3、R5、R7(例如,對於M=4)以接收各自的第一部分。
在一實施例中,該等資料多工器中的一第二個(例如,資料多工器22或24)被配置為從該等相應的M個的暫存器的該第一暫存器(例如,暫存器R0或R1)接收該相應的輸出的一第二部分(例如,該8-位元資料的第二個4-位元資料)。參考圖2所示,例如,該資料多工器22耦接至該等暫存器R0-R7中的暫存器R0、R2、R4、R6(例如,對於M=4)以接收各自的第二部分。該資料多工器24,例如,耦接至該等暫存器R0-R7中的暫存器R1、R3、R5、R7(例如,對於M=4)以接收各自的第二部分。
在一實施例中,響應於至少一個輸出啟動訊號(例如,ZOE[0]、ZOE[1]、ZOE[2]、ZOE[3]中的一個被宣告),該輸出啟動訊號代表提供該第一暫存器(例如,暫存器R0-R3中的一個;暫存器R4-R7中的一個)的該相應的輸出的啟動,該資料多工器中的該第一和第二個(例如,資料多工器21、22;或23、24)分別將該相應的輸出的第一部分和第二部分作為二個輸入提供給該輸出多工器30。例如,參考圖2和3所示,當該輸出啟動訊號ZOE[0]被宣告時,該等資料多工器中的該第一和第二個(例如,資料多工器21、22;23、24)分別將來自該第一暫存器(例如,暫存器R0或R1)的該相應的輸出的該第一部分(例如,8-位元資料的第一個4-位元資料)以及該第二部分(例如,8-位元資料的第二個4-位元資料)作為二個輸入提供給該輸出多工器30。適當時,上述實施例也可以類似的用於其它暫存器的工作,並且為了簡潔起見將不再重複。
在一實施例中,響應於代表該第一暫存器的選擇的多個相應的輸出控制訊號,該輸出多工器30依序地提供二個輸入。例如,參考圖2和3所示,當該等輸出控制訊號ZO[0]和ZO[1](由在圖3中的“0”代表的該等相應的脈衝表示)代表該暫存器R0(或R1、R2、R3)的一選擇時,該輸出多工器30依序地提供該二個輸入(例如,在圖3中對於FIFO輸出的由“ABCD”和“EFGH”代表)。
在上述的實施例中,當該相應的輸出啟動訊號被宣告時,可以經過該等資料多工器的該第一和第二個(例如,資料多工器21、22或23、24)同時提供該第一和第二部分,使得該輸出多工器30可以在一部分中逐部的和依序的輸出該第一和第二部分,避免由於在16對1多工器中的串聯邏輯閘所引起的閘延遲。因此,用於資料輸出的至少二級的資料多工的結構,使得該資料FIFO電路適用於高資料速率的記憶體裝置應用中。當然,本公開揭示的實施例不受這些示例所限制。
在一實施例中,M適等於或大於四個,並且該等資料多工器中的每一個耦接至該等暫存器中的M個。
在一實施例中,該資料多工器21被配置為從該暫存器R0(或R2、R4、R6)接收一相應的輸出的一第一部分。該資料多工器22被配置為從該暫存器R0(或R2)接收該相應的輸出的一第二部分。該資料多工器23被配置為從該暫存器R1(或R3)接收一相應的部分的一第一部分。該資料多工器24被配置為從該暫存器R1(或R3)接收該相應的輸出的一第二部分。該輸出多工器30被配置為從該等資料多工器21-24接收輸出,以及依序地從該等資料多工器21-24中的一個輸出資料。
在一實施例中,響應於至少一個輸出啟動訊號(例如,當ZOE[0]-ZOE[3]中的一個被宣告時),該輸出啟動訊號代表提供該第一和第二暫存器(例如,暫存器R0、R1;R2、R3;R4、R5;R6、R7)的該等相應的輸出的啟動,該等資料多工器21-24分別提供來自該第一暫存器(例如,暫存器R0、R2、R4或R6)的該相應的輸出的該第一部分和該第二部分,以及來自該第二暫存器(例如,暫存器R1、R3、R5或R7)的該相應的輸出的該第一部分和該第二部分作為該輸出多工器30的輸入。
在一實施例中,響應於多個相應的輸出控制訊號(例如,ZO[0]到ZO[3]),該等相應的輸出控制訊號代表該第一和第二暫存器(例如,暫存器R0、R1;R2、R3;R4、R5;R6、R7)的一選擇,該輸出多工器30依序地提供該等輸入。
在一實施例中,該資料多工器21進一步被配置為從一第三暫存器(例如,R4或R6)接收一相應的輸出的一第一部分;該資料多工器22進一步被配置為從該第三暫存器(例如,R4或R6)接收一相應的輸出的一第二部分;該資料多工器23進一步被配置為從一第四暫存器(例如,R5或R7)接收一相應的輸出 的一第一部分;該資料多工器23進一步被配置為從該第四暫存器(例如,R5或R7)接收一相應的輸出的一第二部分,其中該輸出多工器30被配置為從該等資料多工器21-24接收輸出以及依序地從該等資料多工器21-24中的一個輸出資料。
在一實施例中,響應於至少一個輸出啟動訊號(例如,當ZOE[1]-ZOE[3]中的一個被宣告時),該輸出啟動訊號代表提供該等第三和第四暫存器(例如,暫存器R2、R3;R4、R5;R6、R7)的該等相應的輸出的啟動,該等資料多工器21-24分別將來自該第三暫存器(例如,暫存器R2、R4或R6)的該相應的輸出的該第一部分和該第二部分以及來自該第四暫存器(例如,暫存器R3、R5或R7)的該相應的輸出的該第一部分和該第二部分作為輸入提供給該輸出多工器30。
在一實施例中,響應於多個相應的輸出控制訊號(例如,ZO[0]到ZO[3]),該等相應的輸出控制訊號代表該等第三和第四暫存器(例如,暫存器R2、R3;R4、R5;R6、R7)的一選擇,該輸出多工器30依序地提供該等輸入。
在上述的實施例中,當該相應的輸出啟動訊號被宣告時,可以經由該等資多工器的第一至第四個(例如,資料多工器21、22、23、24)同時提供來自一對暫存器(例如,暫存器R0、R1;R2、R3;R4、R5;R6、R7)的輸出的該第一和第二部分,使得該輸出多工器30可以在一部分中逐步的和依序地輸出從該對暫存器的輸出的該第一和第二部分,避免了由於一16對1多工器中的串聯邏輯閘所引起的閘延遲。因此,用於資料輸出的至少二級的資料多工的結構使得該資料FIFO電路適用於高資料速率的記憶體裝置應用中。
此外,提供了用於該等資料多工器和該輸出多工器的實施的示例。圖4以示意圖的形式示出了圖2的一資料多工器的一實施例。可以基於在圖4的資料多工器實現在圖2中的該等資料多工器21-24。圖5以示意圖的形式示出 圖2的一輸出多工器的一實施例。可以基於圖5的輸出多工器30來實現,該輸出多工器30使用傳輸閘。當然,本公開揭示的實施不受這些示例所限制。
在一些實施例中,基於圖2的該資料FIFO電路可以用作一DDR系列(例如,DDR4、DDR5等)記憶體裝置的一輸出FIFO單元的一建構方塊,如在圖6中所示。如在圖6中所示,一資料FIFO單元2包含多個資料FIFO電路,由FI、F2至FP代表,期中P是大於2的整數。在諸如DDR4之類的DDR系列記憶體裝置的實際應用中,該資料FIFO單元2可以被實現為包含該等資料FIFO電路F1到FP,例如,其中P示等於16。在這種情況下,該FIFO輸入每次都是8-位元資料並且該FIFO輸出每次都是4-位元資料。當經過該等FIFO電路F1當FP依序地輸出在該等暫存器的各別的資料時,該記憶體裝置(例如,DDR4 SDRAM)可以依據該記憶體資料介面(例如,DDR4)的需求輸出資料,例如,依照由DQS代表的一資料選通訊號以及由DQ(諸如,對於DQ[0]-DQ[P-1])代表的一資料訊號的時序輸出資料。
如在圖6所示的實施例中,降低用於控制16個資料FIFO電路的控制訊號的數量,其中5個控制訊號(包含四個輸入控制訊號ZI[0:3]以及一個輸入啟動訊號ZIE)用於FIFO輸入控制,以及8個控制訊號(包含四個輸出控制訊號ZO[0:3]以及四個輸出啟動訊號ZOE[0:3])用於FIFO輸出控制。以這種方式,可以顯著地減少用於該等控制訊號和輸出控制訊號的軌跡線的數量,從而降低了該資料FIFO單元2的複雜度,並且有利於節省使用該資料FIFO單元的該記憶體裝置的電路布局面積和緊湊性。該等控制訊號,例如,可以透過該記憶體裝置(或模組)的一記憶體控制來實現和產生。
在上述的實施例中,示出了該資料FIFO電路到DDR4 SDRAM的應用。然而,本公開揭示的實施例不受限於此。該資料FIFO電路1的結構和運 作可以被應用於其它的或新一代DDR記憶體介面技術或採用資料FIFO電路的任何電子裝置的FIFO結構。
參考圖7所示,以方塊圖的形式示出了根據本公開揭示的另一實施例的一資料FIFO電路。例如,基於圖7的該資料FIFO電路3可以以與圖6類似的方式用作DDR5記憶體裝置的輸出FIFO單元的建構方塊。如在圖7中所示,一資料FIFO電路3包含一暫存器單元10A、多個資料多工器(例如,由21A-24A代表)以及多個輸出多工器30A、35A。本實施例中的該資料FIFO電路3以及圖2中的該資料FIFO電路1的主要區別在於,該資料FIFO電路3還包含該輸出多工器35A,耦接至該輸出多工器30A,用於選擇性地輸出由該輸出多工器30A輸出的資料的一部分。另外,該輸出多工器35A可以由二個輸出控制訊號ZO[0:1]來控制。在用於DDR5 SDRAM地該資料FIFO電路3的實際應用中,該FIFO輸入每次為16-位元資料以及該FIFO輸出每次為4-位元資料,以及10個控制訊號(包含二輸出控制訊號ZO[0:1],四個輸出控制訊號ZOE1[0:3]以及四個輸出啟動訊號ZOE2[0:3])可以用於FIFO輸出控制。相較之下,基於如圖1中所示的該資料FIFO電路結構的常規方法需要一32對1多工器,以便每次從8個16-位元資料開始依序地輸出4-位元資料,從而導致32個控制訊號用於FIFO輸出控制。該32對1多工器可能會因為訊號過載或閘延遲問題而不是用高資料速率的應用。
該資料FIFO電路3的結構和運作示例如下。該暫存器單元10A可以以類似的方式基於該暫存器單元10來實現,除了該暫存器單元10A的暫存器R0A-R7A被配置為儲存16-位元資料之外,因此每次該FIFO輸入都是16-位元資料。暫存器R0A-R7A可以以與圖2的那些資料FIFO電路1類似的方式實現。
關於該等多工器,在一實施例中,該等資料多工器21A-24A以及該輸出多工器30A可以由8-位元的4對1資料多工器來實現。例如,可以基於圖4形成該8-位元的4對1資料多工器。該輸出多工器35A可以由4-位元的2對1資 料多工器實現。例如,可以基於類似於圖5的傳輸閘來形成4-位元的2對1資多工器。當然,本公開揭示的實施例不限於這些示例。
參考圖8所示,示出根據本公開揭示的一實施例的圖7的該資料FIFO電路的運作的一示意性時序圖。與圖8和圖3相比,用於圖7的該資料FIFO電路的該FIFO輸入控制的運作,與用於圖2和圖3中示出的該資料FIFO電路的運作相似,因此,為了簡潔起見將不詳細描述。
關於該等資料多工器21A-24A以及該輸出多工器30A,如圖8所示,對於圖7的該資料FIFO電路3的FIFO輸出控制的運作,可以被認為與圖2和圖3中所示的該資料FIFO電路相似,因此,為了簡潔起見將不詳細描述。
此外,如在圖8中所示,對於圖7的該資料FIFO電路3的FIFO輸出控制的運作,與對於圖2所示的該資料FIFO電路1的FIFO輸出控制的運作的不同之處主要在於從該資料FIFO電路3的該輸出多工器30A輸出的資料進一步輸入到該輸出多工器35A,以及該輸出多工器35A響應於該等控制訊號ZO[0]和ZO[1],以依序地方式輸出資料的一第一部分(例如,在圖8中由D[0:3]代表的8-位元資料的第一個4-位元資料)以及一第二部分(例如,在圖8中由D[4:7]代表的8-位元資料的第二個4-位元資料)。例如,參考圖8所示,當該等輸出啟動訊號ZOE2[0:3]以二進制1000代表,該等輸出控制訊號ZOE1[0:3]以二進制1000代表,並且該等輸出控制訊號ZO[0]-ZO[1]依序地被宣告(如在圖8中該等輸出控制訊號ZO[0]-ZO[1]的脈衝為“0”所代表),從該暫存器R0A的資料(例如,16-位元資料)的該第一部分(例如,在圖8中由用於FIFO輸出代表的D[0:3]表示)以及該第二部分(例如,在圖8中由用於FIFO輸出代表的D[4:7]表示)經過該輸出多工器35A以依序地方式輸出。例如,參考圖8所示,當該等輸出啟動訊號ZOE2[0:3]以二進制1000代表,該等輸出控制訊號ZOE1[0:3]以二進制0100代表,以及該輸出等控制訊號ZO[0]-ZO[1]被依序地宣告時(如在圖8中該等輸出控制訊號ZO[0]- ZO[1]的脈衝為“0”所代表),從該暫存器R0A的該資料(例如,16-位元資料)該第三部分和該第四部分(例如,在圖8中由代表用於FIFO輸出的D[12:15]所表示)經過該輸出多工器35以依序地方式輸出。同樣地,然後可以類似地執行用於該等暫存器R1A-R7A輸出該相應的資料的運作,並且為了簡潔起見將不對其進行詳細描述。
因此,為了執行用於圖7的該資料FIFO電路的FIFO輸出控制的運作,對於滿足CL=58和AL=0的要求,該等資料多工器(例如,21A-24A)可以由該輸出啟動訊號以及該等輸出控制訊號以依序地方式控制,以確保在經過用於相應的讀取命令的CL的延遲時間後可以輸出資料。這樣,用於資料輸出的至少二級的資料多工的結構使得該資料FIFO電路3適合用於諸如DDR5等高資料速率的記憶體裝置應用中。
在上述的實施例中,示例了該資料FIFO電路在DDR系列SDRAM的FIFO電路中的應用。然而,本公開揭示的實施例不受限於此。關於FIFO輸入和輸出控制的該等控制訊號,該資料FIFO電路的運作和結構可以應用在其它的或新一代DDR記憶體介面技術的FIFO結構或使用資料FIFO電路的任何電子裝置。
以下提供了用於其它延遲計數器方案的資料FIFO電路1或3中採用的FIFO輸入和輸出控制的控制訊號的技術的應用的示例。
參考圖9所示,示出根據本公開揭示的一實施例的FIFO運作的一示意性時序圖。如在圖9中所示,用於一資料FIFO電路(未示出)的FIFO輸入控制的運作被設計為與在圖2和圖7中所示的資料FIFO電路的運作相似。因此,為了簡潔起見,將不在贅述。為了根據在圖9中所示的時序圖對該資料FIFO電路執行該FIFO輸出控制的運作,對於滿足AL=31和CL=32的要求,在該資料FIFO電路(未示出)中被採用的資料多工器可以以依序地方式透過使用由QOE代 表的一輸出啟動訊號以及由QO[0]-QO[3]代表的輸出控制訊號設計和控制,以確保在滿足AL和CL的時序要求時可以輸出資料(例如,10-位元資料)。這樣,要設計該資料FIFO電路(未示出)可以採用至少二級資料多工的結構用於資料輸出,從而使得該資料FIFO電路示用於高資料速率的記憶體裝置應用中。
僅管已經透過特定實施例描述本公開揭示的內容,但是本發明所屬技術領域具有通常知識者可以對其進行各種修改、組合和變化,而不背離申請專利範圍中闡述的本公開的範圍和精神。
1:資料FIFO電路
10:暫存器單元
21:資料多工器
22:資料多工器
23:資料多工器
24:資料多工器
30:輸出多工器
D0-D7:解碼器
R0-R7:暫存器
ZI[0]-ZI[3]:輸入控制訊號
ZIE:輸入啟動訊號
ZIE':輸入啟動訊號
ZO[0:3]:輸出控制訊號
ZOE[0:3]:輸出啟動訊號

Claims (15)

  1. 一種資料先進先出(FIFO)電路包括:一暫存器單元,包含:多個解碼器,用於響應於多個相應的輸入控制訊號和至少一個輸入啟動訊號而輸出多個解碼訊號,以及多個N暫存器,配置為響應於該等相應的解碼訊號而從該等相應的解碼器接收輸入資料;多個資料多工器,每個資料多工器耦接至該等暫存器中的M個,其中N和M是正整數,N是等於或大於四個,M是等於或大於二個,並且N是大於M;以及一輸出多工器,耦接至該等資料多工器,用於依序地從該等資料多工器提供一相應的輸出。
  2. 如請求項1所述的資料FIFO電路,其中該等N暫存器被配置為根據相應的解碼訊號依序地接收該輸入訊號。
  3. 如請求項1所述的資料FIFO電路,其中該等資料多工器的每一個響應於至少一個輸出啟動訊號向該輸出多工器提供相應的資料,以及該輸出多工器響應於多個相應的控制訊號提供來自該等資料多工器的相應的輸出。
  4. 如請求項1所述的資料FIFO電路,其中該等資料多工器的一第一個被配置為從該等相應的M個暫存器的一第一暫存器接收一相應的輸出的一第一部分。
  5. 如請求項4所述的資料FIFO電路,其中該等資料多工器中的第二個被配置為從相應的M個暫存器的第一暫存器接收該相應的輸出的一第二部分。
  6. 如請求項5所述的資料FIFO電路,其中響應於至少一個輸出啟動訊號,該輸出啟動訊號代表提供該第一暫存器的該相應的輸出的啟動,該等資料多工器的該第一個和第二個分別將該等相應的輸出的該第一部分和該第二部分作為該輸出多工器的二個輸入。
  7. 如請求項6所述的資料FIFO電路,其中響應於多個相應的輸出控制訊號,該等輸出控制訊號代表該第一暫存器的一選擇,該輸出多工器依序地提供該二個輸出。
  8. 如請求項1所述的資料FIFO電路,其中該輸出多工器為一第一輸出多工器以及該資料FIFO電路還包括:一第二輸出多工器,耦接至該第一輸出多工器,該第二輸出多工器用於選擇性地輸出由該第一輸出多工器輸出的資料的一部分。
  9. 如請求項1所述的資料FIFO電路,其中M是等於或大於4個以及該等資料多工器中的每一個耦接至該等暫存器的M個。
  10. 如請求項1所述的資料FIFO電路,其中該等資料暫存器包含:一第一多工器,配置為從該等相應的M個暫存器的一第一暫存器接收一相應的輸出的一第一部分;一第二多工器,配置為從該等相應的M個暫存器的該第一暫存器接收該相應的輸出的一第二部分;一第三多工器,配置為從該等相應的M個暫存器的一第二暫存器接收一相應的輸出的一第一部分;一第四多工器,配置為從該等相應的M個暫存器的該第二暫存器接收一相應的輸出的一第二部分; 其中該輸出多工器被配置為從該等資料多工器接收輸出以及依序地從該等資料多工器中的一個輸出資料。
  11. 如請求項10所述的資料FIFO電路,其中響應於至少一個輸出啟動訊號,該輸出啟動訊號代表提供該等第一和第二暫存器的該等相應的輸出的啟動,該第一至第四暫存器分別將來自該第一暫存器的該相應的輸出的該第一部分和該第二部分以及來自該第二暫存器的該相應的輸出的該第一部分和該第二部分作為該輸出多工器的輸入。
  12. 如請求項11所述的資料FIFO電路,其中響應於多個相應的輸出控制訊號,該等輸出控制訊號代表該第一和第二暫存器的一選擇,該輸出多工器依序地提供輸入。
  13. 如請求項10所述的資料FIFO電路,其中:該第一多工器進一步配置為從該等相應的M個暫存器的一第三暫存器接收一相應的輸出的一第一部分;該第二多工器進一步配置為從該等相應的M個暫存器的該第三暫存器接收該相應的輸出的一第二部分;該第三多工器進一步配置為從該等相應的M個暫存器的一第四暫存器接收一相應的輸出的一第一部分;該第四多工器進一步配置為從該等相應的M個暫存器的該第四暫存器接收該相應的輸出的一第二部分;以及其中該輸出多工器被配置為從該等資料多工器接收輸出並且依序地從該等資料多工器中的一個輸出資料。
  14. 如請求項13所述的資料FIFO電路,其中響應於至少一個輸出啟動訊號,該輸出啟動訊號代表提供該第三和第四暫存器的該等相應的輸出的啟動,該第一至第四多工器分別將來自該第三暫存器的該相應的輸出的該第 一部分和該第二部分以及來自該第四暫存器的該相應的輸出的該第一部分和該第二部分作為給該輸出多工器的輸入。
  15. 如請求項14所述的資料FIFO電路,其中響應於多個相應的輸出控制訊號,該等輸出控制訊號代表該第三和第四暫存器的一選擇,該輸出多工器依序地提供輸出。
TW109137634A 2020-10-29 2020-10-29 資料先進先出(fifo)電路 TWI771785B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
TW109137634A TWI771785B (zh) 2020-10-29 2020-10-29 資料先進先出(fifo)電路

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
TW109137634A TWI771785B (zh) 2020-10-29 2020-10-29 資料先進先出(fifo)電路

Publications (2)

Publication Number Publication Date
TW202217547A TW202217547A (zh) 2022-05-01
TWI771785B true TWI771785B (zh) 2022-07-21

Family

ID=82558524

Family Applications (1)

Application Number Title Priority Date Filing Date
TW109137634A TWI771785B (zh) 2020-10-29 2020-10-29 資料先進先出(fifo)電路

Country Status (1)

Country Link
TW (1) TWI771785B (zh)

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6779055B2 (en) * 2001-06-20 2004-08-17 Freescale Semiconductor, Inc. First-in, first-out memory system having both simultaneous and alternating data access and method thereof
US7205792B2 (en) * 2001-09-17 2007-04-17 Broadcom Corporation Methods and circuitry for implementing first-in first-out structure
TW200841231A (en) * 2007-04-09 2008-10-16 Via Tech Inc FIFO register unit and method thereof
TW201303716A (zh) * 2011-07-01 2013-01-16 Realtek Semiconductor Corp 先入先出裝置及其實現方法

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6779055B2 (en) * 2001-06-20 2004-08-17 Freescale Semiconductor, Inc. First-in, first-out memory system having both simultaneous and alternating data access and method thereof
US7205792B2 (en) * 2001-09-17 2007-04-17 Broadcom Corporation Methods and circuitry for implementing first-in first-out structure
TW200841231A (en) * 2007-04-09 2008-10-16 Via Tech Inc FIFO register unit and method thereof
TW201303716A (zh) * 2011-07-01 2013-01-16 Realtek Semiconductor Corp 先入先出裝置及其實現方法

Also Published As

Publication number Publication date
TW202217547A (zh) 2022-05-01

Similar Documents

Publication Publication Date Title
CN110366755B (zh) 在半导体存储器中提供内部存储器命令及控制信号的设备及方法
JP5160770B2 (ja) レイテンシー制御回路及びその方法、そして、自動プリチャージ制御回路及びその方法
JP4070051B2 (ja) 半導体メモリ装置のデータマスキング方法とその回路、及び該回路を有する半導体メモリ装置
JP6190697B2 (ja) 半導体装置
US7755953B2 (en) Semiconductor memory device with minimum burst length bit transfer in parallel to and from a FIFO block
US7499370B2 (en) Synchronous semiconductor memory device
US20060274597A1 (en) Delay-lock loop and method adapting itself to operate over a wide frequency range
WO1999016078A1 (fr) Composant de circuit integre synchrone
US6101136A (en) Signal delay device for use in semiconductor storage device for improved burst mode operation
US11100963B1 (en) Data first-in first-out (FIFO) circuit
JP2012108979A (ja) 半導体装置
US7719922B2 (en) Address counter, semiconductor memory device having the same, and data processing system
US6717886B2 (en) Control circuit for an S-DRAM
US7848178B2 (en) Semiconductor memory device and method for operating the same
US7181638B2 (en) Method and apparatus for skewing data with respect to command on a DDR interface
US7668039B2 (en) Address counter, semiconductor memory device having the same, and data processing system
US6166970A (en) Priority determining apparatus using the least significant bit and CAS latency signal in DDR SDRAM device
TWI771785B (zh) 資料先進先出(fifo)電路
JP2003173290A (ja) メモリ制御装置
JP2012113819A (ja) 自動プリチャージ制御回路と半導体メモリ装置とプリチャージング動作制御方法
US6259646B1 (en) Fast accessing of a memory device
JP3859885B2 (ja) 半導体記憶装置
JP2004253123A (ja) (n/2)ステージを有するアドレスバッファ
CN114675801A (zh) 数据先进先出电路
JPH1145568A (ja) 半導体記憶装置