專利名稱:寬帶讀寫存儲器裝置的制作方法
技術(shù)領(lǐng)域:
本發(fā)明涉及集成電路設(shè)計領(lǐng)域,為通過結(jié)構(gòu)優(yōu)化提高存儲器讀寫帶寬的方法及裝置。
背景技術(shù):
隨著技術(shù)進(jìn)步與實際需求增加,在存儲成電路設(shè)計領(lǐng)域中,存儲器陣列的規(guī)模正 越來越大。通常存儲器陣列物理布局為矩型,讀出裝置的版圖面積占整個存儲器相當(dāng)多 一部分芯片面積,邏輯意義上幾個不同列的存儲單元通常會共用一根字線。傳統(tǒng)的存儲器 讀寫方式為每個時鐘周期寫入或讀出一組數(shù)據(jù)。以512X32位單端口的靜態(tài)隨機(jī)存儲器 (SRAM)陣列為例,在物理層次SRAM陣列內(nèi)部通常設(shè)計為128行,每行4X32個SRAM單元,邏 輯意義上的4列單元共用一組字線,共用一組讀出裝置。寫入時,地址總線輸入的行地址經(jīng)地址譯碼裝置譯碼后打開該行的字線,數(shù)據(jù)口 輸入的數(shù)據(jù)被寫入由輸入列地址決定的四列中的某列,其余三列保持原值。字線雖然打開, 但只對其中四列中一列的單元進(jìn)行操作。讀出時,先對位線進(jìn)行預(yù)充,在預(yù)充同時,地址譯 碼裝置對輸入的行地址譯碼,譯碼完成后打開待讀出行的字線并停止預(yù)充,一段時間后讀 出裝置選擇由輸入列地址決定的該行中四列中的某列存儲單元,對其位線值進(jìn)行采樣并由 讀出裝置將采樣值放大輸出,完成一次讀操作。通常情況下,只有一套譯碼裝置的SRAM存儲器在一個時鐘周期內(nèi)只能完成一次 讀或者寫操作。對于多端口 SRAM存儲器來說,一個時鐘周期內(nèi)可完成復(fù)數(shù)個讀寫操作,但 以增加SRAM單元字線和位線數(shù)目、SRAM單元版圖面積、控制復(fù)雜度、設(shè)計和制造成本為代 價。雙口(Dual Port)陣列面積是普通單口(Single Port)陣列面積的兩倍。其他使用字線與位線進(jìn)行尋址的存儲器的讀寫過程均與SRAM相似。
發(fā)明內(nèi)容
本發(fā)明針對現(xiàn)有技術(shù)的不足,提出了以小代價提高存儲器讀寫帶寬的裝置。本發(fā)明采用以下技術(shù)方案實現(xiàn)存儲器裝置對寫入操作有正常帶寬寫入(Normal Bandwidth Write)模式和寬帶 寫入(Wide Bandwidth Write)模式。在正常帶寬寫入模式時,輸入行地址經(jīng)譯碼后將待寫 入的存儲器陣列行的字線打開,正常帶寬數(shù)據(jù)寫入口輸入的數(shù)據(jù)被寫入裝置寫入由輸入列 地址決定的某列存儲單元,寫入裝置對共用字線的其他列存儲單元的位線輸出均為高阻, 因此這些存儲單元的字線雖然被打開,但內(nèi)部值不會被改變;若具有寬帶寫入控制裝置, 在寬帶寫入模式時,輸入的行地址經(jīng)所述地址譯碼裝置譯碼后打開存儲器裝置中對應(yīng)行存 儲單元的字線,寬帶寫入控制裝置控制多組數(shù)據(jù)同時寫入受同一字線控制的多列存儲單元 中。存儲器裝置對讀出操作有正常帶寬讀出(Normal Bandwidth Read)模式和寬帶讀 出(Wide Bandwidth Read)模式。讀出裝置包括低速寬帶讀出裝置和正常帶寬讀出裝置,正常帶寬讀出裝置的版圖面積比低速寬帶讀出裝置大很多,每列存儲器單元都有獨立的低 速寬帶讀出裝置用于將待讀出行的多個存儲器單元的值慢速讀出,共用字線的多個存儲單 元每位共用一個正常帶寬讀出裝置通過選擇用于將共用字線的多個存儲單元中一個的值 快速讀出。在正常帶寬讀出模式時,輸入的行地址經(jīng)譯碼后將待讀出的存儲器陣列行的字 線打開,正常帶寬讀出裝置對列地址選擇的待讀出存儲單元的內(nèi)部值采樣并放大后通過正 常帶寬數(shù)據(jù)讀出口讀出;若具有寬帶讀出控制裝置,在寬帶讀出模式時,輸入的行地址經(jīng)譯 碼后將待讀出存儲行的字線打開,正常帶寬讀出裝置使用列地址選擇該行中的待讀出列存 儲單元將其內(nèi)部值讀出到正常帶寬數(shù)據(jù)讀出口上,然后寬帶讀出控制裝置控制該行的字線 仍然打開,該行中其他復(fù)數(shù)個存儲器單元內(nèi)的值通過各自所在列的低速寬帶讀出裝置并行 讀出到寬帶數(shù)據(jù)讀出口上;該行中其他復(fù)數(shù)個存儲器單元內(nèi)的值也可被讀出到存儲裝置中 暫存起來,正常帶寬讀出裝置對其他行的存儲單元做讀出操作時,讀出控制裝置使用選擇 信號依次選擇多組存儲裝置中的一組將其內(nèi)部值通過第二數(shù)據(jù)讀出口輸出,從而構(gòu)成偽雙 讀口(Pseudo Dual Read Port)存儲器。當(dāng)具有讀后寫時序控制裝置時,可通過時序控制在讀出裝置對待讀出存儲單元的 位線采樣值做信號放大并輸出同時,存儲器還可以進(jìn)行一次寫入操作。首先對所有字線進(jìn) 行均衡預(yù)充,同時地址譯碼裝置對輸入行地址信號進(jìn)行譯碼,譯碼完成后位線停止預(yù)充,待 讀出存儲器行字線打開,讀出裝置在讀出采樣時刻將位線的值采入,立即關(guān)閉與位線的聯(lián) 系。同時寫入控制信號有效,待讀出存儲器行字線關(guān)閉。在寫入地址信號經(jīng)地址譯碼完成并 且寫入控制信號有效之后打開待寫入存儲器行的字線,待寫入值被寫入裝置送入位線。讀 出裝置對讀出采樣值放大并輸出時待寫入值可以同時被正確寫入。讀寫可以是對不同字線 存儲單元操作。存儲器在先做讀出操作后做寫入操作時,讀出操作也可以為一次寫入操作, 即兩次寫入操作是連續(xù)的。當(dāng)具有存儲器陣列選擇讀出裝置時,復(fù)數(shù)個存儲器陣列可共用一個存儲器陣列選 擇讀出裝置,該裝置包含選擇器用于選擇復(fù)數(shù)個存儲器陣列中的一個將其內(nèi)部某行值讀 出,每個存儲器陣列有各自的寫入數(shù)據(jù)口或共用一組寫入口,所有存儲器陣列只有一組讀 出口。讀寫控制裝置同時進(jìn)行單數(shù)個讀和單數(shù)或復(fù)數(shù)個寫操作,也可以進(jìn)行復(fù)數(shù)個寫操作。本發(fā)明的有益效果是本發(fā)明使用簡單的方法和裝置,以小代價擴(kuò)大了存儲器陣列的寫入及讀出帶寬。
圖1為本發(fā)明的系統(tǒng)輸入輸出端口圖。圖2為現(xiàn)有技術(shù)提供的SRAM陣列中一位數(shù)據(jù)讀寫操作的系統(tǒng)結(jié)構(gòu)圖。圖3(a)為本發(fā)明對SRAM陣列實現(xiàn)一位數(shù)據(jù)寫入操作的系統(tǒng)結(jié)構(gòu)圖。圖3(b)為圖3. 1中讀寫控制裝置內(nèi)寫入控制模塊的真值表。圖4(a)該圖為本發(fā)明對SRAM陣列一位數(shù)據(jù)并行寬帶讀的一種示意圖。圖4(b)為本發(fā)明對SRAM陣列一位數(shù)據(jù)順序?qū)拵ёx的一種示意圖。圖5為現(xiàn)有技術(shù)的SRAM陣列讀周期中信號的時序圖。圖6(a)為本發(fā)明使用兩套譯碼裝置時利用在讀周期增加寫操作以提高寫入帶寬 的時序圖。
圖6(b)為使用兩套譯碼裝置對寫入地址和讀出地址進(jìn)行譯碼以實現(xiàn)一個時鐘周 期內(nèi)先讀后寫的一種抽象實現(xiàn)圖。圖6 (c)為使用一套譯碼裝置時利用在對SRAM陣列讀周期增加寫操作以提高寫入 帶寬的時序圖。圖6(d)為使用一套譯碼裝置對寫入地址和讀出地址進(jìn)行譯碼以實現(xiàn)一個時鐘周 期內(nèi)先讀后寫的示意圖。圖7為本發(fā)明對存儲器中有兩個存儲器陣列時的一種讀寫操作示意圖。
具體實施例方式為了使本發(fā)明的目的、技術(shù)方案及優(yōu)點更加清楚明白,以下結(jié)合附圖及實施例,對 本發(fā)明進(jìn)一步詳細(xì)說明。應(yīng)當(dāng)理解,此處所述的具體實施例僅僅用以解釋本發(fā)明,并不用于 限定本發(fā)明。對于本領(lǐng)域技術(shù)人員來說,可以根據(jù)本發(fā)明的技術(shù)方案和構(gòu)思進(jìn)行各種可能 的替換、調(diào)整和改進(jìn),而所有這些替換、調(diào)整和改進(jìn)都應(yīng)屬于本發(fā)明所附權(quán)利要求的保護(hù)范圍。本發(fā)明的技術(shù)思路是通過增加寫入和讀出口或改變讀寫時序的方法,來提高存儲 器的寫入和讀出帶寬。請參閱圖1,該圖為本發(fā)明的系統(tǒng)輸入輸出接口圖。地址總線(101)提供存儲 器(102)讀寫的地址,控制線(103)用于控制讀寫操作及工作模式。正常帶寬數(shù)據(jù)寫入 口(104)用于正常帶寬寫入模式下的數(shù)據(jù)寫入,寬帶數(shù)據(jù)寫入口(105)用于輸入多組數(shù)據(jù) 供寬帶寫模式下并行寫入,正常帶寬數(shù)據(jù)讀出口(106)用于正常帶寬讀出模式下的數(shù)據(jù)讀 出,寬帶數(shù)據(jù)讀出口 /第二數(shù)據(jù)讀出口(107)用于寬帶讀出模式下將存儲器(102)讀出的 數(shù)據(jù)傳輸出去。請參閱圖2,該圖為現(xiàn)有技術(shù)提供的SRAM陣列中一位數(shù)據(jù)讀寫操作的系統(tǒng)結(jié)構(gòu) 圖。不同列的SRAM單元(203,204,205,206)共用字線WLO (207),不同列的SRAM單元(222, 223,224,225)共用字線WLl (217)。寫入時TO (226)有效,列地址(228)控制將待寫入數(shù)據(jù) 寫入到對應(yīng)地址的SRAM單元中,具體如下列地址為00對應(yīng)SRAM單元(203或222),為01 對應(yīng)SRAM單元(204或223),為10對應(yīng)SRAM單元(205或224),為11對應(yīng)SRAM單元(206 或225)。每次輸入一組數(shù)據(jù),由正常帶寬寫入口(104)送到寫入控制模塊(208,209,210, 211),列地址(228)控制將數(shù)據(jù)送到待寫入列的BL及而,對其余三列的BL及M輸出高阻 抗。例如WLO (207)打開且列地址為01時,則輸出數(shù)值(219)被送到SRAM單元(223,204) 的BL及而上,其余輸出(218,220,221)為高阻抗。WLO (207)打開后,數(shù)值被寫入SRAM單 元(204)中,其余 SRAM 單元(203,205,206,222,219,220,221)保持原值。讀出時,WLl (217) 或WLO (207)打開,列地址(228)控制四輸入選擇器(212,213)選擇該行中一個SRAM(選擇 WLO時,為203或204或205或206)將其內(nèi)部值通過高速讀出裝置(214)讀出到正常帶寬 讀出口 (106)上。請參閱圖3(a),該圖為本發(fā)明對SRAM陣列實現(xiàn)一位數(shù)據(jù)寫入操作的系統(tǒng)結(jié)構(gòu)圖。 不同列的SRAM單元(203,204,205,206)共用字線WLO (207),不同列的SRAM單元(222,223, 224,225)共用字線WLl (217)。寫入時TO(226)有效,寫模式控制線(313)控制寫入操作 是正常帶寬寫模式或是寬帶寫模式。列地址(228)控制將待寫入數(shù)據(jù)寫入到對應(yīng)地址的SRAM單元中,具體如下列地址值為‘00’對應(yīng)SRAM單元(203或222),為‘01’對應(yīng)SRAM 單元(204或223),為‘10,對應(yīng)SRAM單元(205或224),為‘11,對應(yīng)SRAM單元(206或 225)。在正常帶寬寫模式下,每次輸入一組數(shù)據(jù),由正常帶寬寫入口(104)送到讀寫控制 裝置中的寫入控制模塊(308,309,310,311),列地址(228)控制將數(shù)據(jù)送到待寫入列的BL 及而,其余三列的BL及而輸出為高阻抗。例如WLO (207)打開且列地址為‘01,時,則輸 出數(shù)值(219)被送到SRAM單元(223,204)的BL及而上,其余輸出(218,220,221)為高阻 抗。WLO (207)打開后,數(shù)值被寫入SRAM單元(204)中,其余SRAM單元(203,205,206,222, 219,220,221)保持原值。在寬帶寫模式下,每次輸入四組數(shù)據(jù),通過寬帶寫入口(105)輸入 A(329)、B(330)、C(331)、D(332)分別送到寫入控制模塊(308,309,310,311),列地址(228) 此時不起作用。將4組數(shù)據(jù)(318,319,320,321)分別送到4組BL及瓦上。例如WLO (207) 打開時,數(shù)值被寫入對應(yīng)的SRAM單元(203,204,205,206)中,SRAM單元(222,223,224, 225)保持原值。請參閱圖3(b),該圖為圖3(a)中讀寫控制裝置內(nèi)寫入控制模塊的真值表。Z表 示高阻,X表示任意狀態(tài)。WE (226)為‘0,時,寫入控制模塊(308,309,310,311)的所有輸 出均為高阻;WE (226)為‘1,且寫模式控制線(313)輸入為‘1,時,輸入A(329)、B (330)、 C (331)、D (332)經(jīng)寫入控制模塊(308,309,310,311)分別送到 SRAM 單元(222,203)、SRAM 單元(223,204)、SRAM 單元(224,205)、SRAM 單元(225,206)的 BL 上,A (329)、B (330)、 C(331)、D(332)分別取反后的信號 A_N(343)、B_N(344)、C_N(345)、D_N(346)經(jīng)寫入控制 模塊(308,309,310,311)分別送到 SRAM 單元(222,203)、SRAM 單元(223,204)、SRAM 單元 (224,205)、SRAM單元(225,206)的BL上;WE (226)為‘1,同時寫模式控制線(313)輸入 為‘1,且列地址(228)為‘00,時,正常帶寬寫入口(104)的輸入BIT_IN(341)及其取反后 的值BIT_IN_N(342)被分別送到SRAM單元(222,203)的BL及瓦上;WE (226)為‘1,同時 寫模式控制線(313)輸入為‘1’且列地址(228)為‘01’時,正常帶寬寫入口(104)的輸入 BIT_IN(341)及其取反后的值BIT_IN_N(342)被分別送到SRAM單元(223,204)的BL及而 上;TO(226)為‘1,同時寫模式控制線(313)輸入為‘1,且列地址(228)為10時,正常帶 寬寫入口(104)的輸入BIT_IN(341)及其取反后的值BIT_IN_N(342)被分別送到SRAM單 元(224,205)的BL及M上;TO (226)為‘1,同時寫模式控制線(313)輸入為‘1,且列地 址(228)為‘11,時,正常帶寬寫入口(104)的輸入BIT_IN(341)及其取反后的值BIT_IN_ N(342)被分別送到SRAM單元(225,206)的BL及而上。請參閱圖4 (a),該圖為本發(fā)明對SRAM陣列一位數(shù)據(jù)并行寬帶讀的一種示意圖。不 同列的SRAM單元(203,204,205,206)共用字線WLO (207),不同列的SRAM單元(222,223, 224,225)共用字線WLl (217)。本發(fā)明可以在兩個時鐘周期內(nèi)完成對一行所有存儲單元的 讀出操作。本例中假設(shè)第一個時鐘周期讀出存儲器單元(203)的值,第二個時鐘周期讀出 存儲器單元(204,205,206)的值。第一個時鐘周期內(nèi)字線WLO (207)打開,四選一選擇器 (212,213)通過列地址(228)選擇將存儲器單元(203)的值送到高速讀出裝置(214),讀 寫控制裝置中的讀出控制模塊(416)控制二選一選擇器(409)選擇將高速讀出裝置(214) 的輸出(216)作為輸出信號(420),并送到正常帶寬讀出口(106)上,完成對存儲器單元 (203)的讀操作。同時,存儲器單元(204,205,206)的值分別通過低速讀出裝置(411,412, 413)產(chǎn)生信號(418,419,420)。高速讀出裝置(214)的版圖面積比低速讀出裝置(411,412,413)大很多,但速度比低速讀出裝置(411,412,413)快很多。讀寫控制裝置中的讀出控制 模塊(416)控制二選一選擇器(414,415,426)分別選擇信號(418,419,420)作為各自輸出 (421,422,423)。第二個時鐘周期時,字線WLO (207)繼續(xù)打開,存儲器單元(204,205,206) 的內(nèi)部弱信號值繼續(xù)被低速讀出裝置(411,412,413)放大。第二個時鐘周期結(jié)束時,信號 (420,421,422,423)通過寬帶讀出(407)被讀出,完成對存儲器單元(204,205,206)的讀操 作,此時信號(420)沒有實際作用。請參閱圖4(b),該圖為本發(fā)明對SRAM陣列一位數(shù)據(jù)順序?qū)拵ёx的一種示意圖。 不同列的SRAM單元(203,204,205,206)共用字線WLO (207),不同列的SRAM單元(222, 223,224,225)共用字線WLl (217)。第一個時鐘周期內(nèi)先對所有BL及而進(jìn)行預(yù)充,然后 WLO (207)打開,四選一選擇器(212,213)通過列地址(228)選擇將存儲器單元(203)的值 送到高速讀出裝置(214),高速讀出裝置(214)的輸出(439)送到正常帶寬數(shù)據(jù)讀出(106) 上,完成對存儲器單元(203)的讀出操作。第二個時鐘周期內(nèi)字線WLO (207)仍然打開,讀 寫控制裝置中的讀出控制模塊(416)控制四選一選擇器(409)選擇將低速寬帶讀出裝置 (411)的輸出(418)不經(jīng)存儲器(422)直接輸出到第二數(shù)據(jù)讀出口(440)上,同時將低速寬 帶讀出裝置(412,413)的輸出分別用存儲器(423,424)存儲起來。該時鐘周期完成對存儲 器單元(204)的讀操作。第三個時鐘周期內(nèi)字線WL0(207)關(guān)閉,對所有BL及Μ進(jìn)行預(yù)充, 然后WLl (217)打開,四選一選擇器(212,213)通過列地址(228)選擇將存儲器單元(222) 的值送到正常帶寬讀出裝置(214),高速讀出裝置(214)的輸出(439)送到正常帶寬數(shù)據(jù) 讀出口上,同時讀出控制模塊(416)控制四選一選擇器(409)選擇將存儲器(423)的輸出 (427)送到第二數(shù)據(jù)讀出口(440)上。該時鐘周期完成對存儲器單元(205、222)的讀操作。 第四個時鐘周期內(nèi)字線WLl (201)仍然打開,讀出控制模塊(416)控制四選一選擇器(409) 選擇將存儲器(424)的輸出(428)輸出到第二數(shù)據(jù)讀出口(440)上,同時將低速寬帶讀出 裝置(411,412,413)的輸出(418,419,420)分別用存儲器(422,423,424)存儲起來。該時 鐘周期完成對存儲器單元(206)的讀操作。請參閱圖5,該圖為現(xiàn)有技術(shù)的SRAM陣列讀周期中信號的時序圖。CLK(501)為時 鐘信號,ADDR(502)為地址信號,WL(503)為待讀出SRAM單元所在行的字線,在ADDR(502) 經(jīng)地址譯碼完成后打開,并在CLK(501)的下個上升沿到達(dá)之前關(guān)閉。在本例中待讀出值 假設(shè)為‘1,,BL(504)及BL_N(505)在該周的開始階段進(jìn)行預(yù)充,待ADDR(502)地址譯碼 完成WL(503)打開后停止預(yù)充,之后BL(504)維持高電平,BL_N(505)被存儲單元內(nèi)部值 緩慢拉低。讀出裝置在讀出采樣時刻(506)將BL(504)及BL_N(505)的值采入并放大為 SA (507)、SA_N (508),并迅速關(guān)閉與BL (504)及BL_N(505)的聯(lián)系。讀出裝置內(nèi)部邏輯處理 信號SA(507)、SA_N(508)將待讀出值‘1,正確讀出。請參閱圖6(a),該圖為本發(fā)明使用兩套譯碼裝置時利用在對SRAM陣列讀周期增 加寫操作以提高寫入帶寬的時序圖。CLK(501)為時鐘信號,ADDR_R(601)為寫入地址信號, ADDR_ff(602)為讀出地址信號,WE_DELAY(603)為寫入控制信號,經(jīng)一段時間延遲后有效。 WL_R(604)為待讀出SRAM單元所在行的字線,在ADDR_R(601)經(jīng)地址譯碼完成后打開,并 在WE_DELAY(603)有效之前關(guān)閉。WL_W(605)為待寫入SRAM單元所在行的字線,在ADDR_ W (602)經(jīng)地址譯碼完成并且WE_DELAY(603)有效之后打開,在CLK (501)的下個上升沿到達(dá) 之前關(guān)閉。在本例中待讀出值假設(shè)為1,待寫入值假設(shè)為0,BL(606)及BL_N(607)在該周的開始階段進(jìn)行預(yù)充,待ADDR_R(601)地址譯碼完成WL_R(604)打開后停止預(yù)充,之后由于 WE_DELAY (603)開始有效,待寫入值0被送入BL (606),同時值1被送入BL_N (607),BL (606) 的值被立即拉低,BL_N(607)的值被立即拉高。讀出裝置在讀出采樣時刻(506)將BL(606) 及BL_N (607)的值采入并放大為SA (608)、SA_N (609),并立即關(guān)閉與BL (606)及BL_N (607) 的聯(lián)系。讀出裝置內(nèi)部邏輯處理信號SA(608)、SA_N(609)將待讀出值1正確讀出。待寫入 值0也在當(dāng)周被正確寫入。存儲器在先做讀出操作后做寫入操作時,讀出操作也可以為一 次寫入操作,即兩次寫入操作是連續(xù)的。請參閱圖6(b),該圖為使用兩套譯碼裝置對寫入地址和讀出地址進(jìn)行譯碼以實現(xiàn) 一個時鐘周期內(nèi)先讀后寫的一種抽象實現(xiàn)圖。ADDR_R(601)經(jīng)譯碼裝置(610)譯碼后產(chǎn)生 讀字線信號(611),ADDR_W(702)經(jīng)譯碼裝置(615)譯碼后產(chǎn)生寫字線信號(612)。在WE_ DELAY (603)有效之前讀字線信號(611)作為最終字線信號(613)控制整個存儲器的某行讀 出,在WE_DELAY(603)有效之后寫字線信號(612)作為最終字線信號(613)控制整個存儲 器的某行寫入。讀寫可以是對不同行存儲單元操作。請參閱圖6(c),該圖為本發(fā)明使用一套譯碼裝置時利用在對SRAM陣列讀周期 增加寫操作以提高寫入帶寬的時序圖。CLK(501)為時鐘信號,ADDR_R(601)為寫入地址 信號,ADDR(632)為地址信號,WE_DELAY(603)為寫入控制信號,經(jīng)一段時間延遲后有效。 ADDR(632)首先送入讀出地址,WL_R(604)為待讀出SRAM單元所在行的字線,在讀出地址 經(jīng)地址譯碼完成后打開,并在WE_DELAY(603)有效之前關(guān)閉。ADDR(632)隨后送入寫入 地址,WL_ff(605)為待寫入SRAM單元所在行的字線,在寫入地址經(jīng)地址譯碼完成并且WE_ DELAY(603)有效之后打開,在CLK(501)的下個上升沿到達(dá)之前關(guān)閉。在本例中待讀出值 假設(shè)為1,待寫入值假設(shè)為0,BL(606)及BL_N(607)在該周的開始階段進(jìn)行預(yù)充,待ADDR_ R(601)地址譯碼完成WL_R(604)打開后停止預(yù)充,之后由于WE_DELAY(603)開始有效,待寫 入值0被送入BL (606),同時值1被送入BL_N(607),BL (606)的值被立即拉低,BL_N(607) 的值被立即拉高。讀出裝置在讀出采樣時刻(506)將BL(606)及BL_N(607)的值采入并放 大為SA(608)、SA_N(609),并立即關(guān)閉與BL(606)及BL_N(607)的聯(lián)系。讀出裝置內(nèi)部邏 輯處理信號SA(608)、SA_N(609)將待讀出值1正確讀出。待寫入值0也在當(dāng)周被正確寫 入。存儲器在先做讀出操作后做寫入操作時,讀出操作也可以為一次寫入操作,即兩次寫入 操作是連續(xù)的。請參閱圖6(d),該圖為使用一套譯碼裝置對寫入地址和讀出地址進(jìn)行譯碼以實現(xiàn) 一個時鐘周期內(nèi)先讀后寫的示意圖。讀出地址和寫入地址均通過ADDR (616)線輸入,經(jīng)譯 碼裝置(610)譯碼后通過傳輸門(620,621,622,623等)產(chǎn)生最終字線信號(613)。傳輸門 (620,621,622,623等)在脈沖信號(618)有效時將譯碼裝置(610)的結(jié)果傳遞出去。在一 個時鐘周期開始階段,位線進(jìn)行預(yù)充同時,所有傳輸門(620,621,622,623等)均關(guān)閉,NMOS 管(624,625,626,627等)導(dǎo)通,所有位線均被置為低電平。ADDR(616)線輸入讀出地址, 待譯碼裝置(610)將讀出地址譯碼完成后脈沖信號(618)有效,傳輸門(620,621,622,623 等)將譯碼結(jié)果傳遞出去,產(chǎn)生最終字線信號(613)用于讀出操作,然后ADDR(616)線輸 入寫入地址,待譯碼裝置(610)將寫入地址譯碼完成后脈沖信號(618)有效,傳輸門(620, 621,622,623等)將譯碼結(jié)果傳遞出去,產(chǎn)生最終字線信號(613)用于寫入操作。讀寫可以 是對不同行存儲單元操作。
請參閱圖7,該圖為本發(fā)明對存儲器中有兩個存儲器陣列時的一種讀寫操作示意 圖。兩塊存儲器陣列(705,706)之間的所有位線均不連接在一起,而是作為讀出裝置(702) 內(nèi)部二選一選擇器的兩個輸入,讀出裝置(702)通過該二選一選擇器可將存儲器陣列(705 或706)的內(nèi)部值放大讀出。一個時鐘周期內(nèi),一塊存儲器陣列(705或706)進(jìn)行寫操作同 時另一塊(706或705)可進(jìn)行寫操作或讀操作。在兩塊同時寫入時,存儲器陣列(705)中 寫入行的字線(703)被打開,數(shù)據(jù)通過寫入口(708)被寫入存儲單元中,存儲器陣列(706) 中寫入行的字線(711)被打開,數(shù)據(jù)通過寫入口(709)被寫入存儲單元中;在存儲器陣列 (705)做讀出且存儲器陣列(706)在做寫入時,存儲器陣列(705)中讀出行的字線(703)被 打開,對應(yīng)存儲單元中數(shù)據(jù)通過讀出裝置(702)被送到讀出口(704)上,存儲器陣列(706) 中寫入行的字線(711)被打開,數(shù)據(jù)通過寫入口(709)被寫入存儲單元中。前面提供了對較佳實施例的描述,以使本領(lǐng)域內(nèi)的任何技術(shù)人員可使用或利用本 發(fā)明。對該較佳實施例,本領(lǐng)域內(nèi)的技術(shù)人員在不脫離本發(fā)明原理的基礎(chǔ)上,可以作出各種 修改或者變換。應(yīng)當(dāng)理解,這些修改或者變換都不脫離本發(fā)明的保護(hù)范圍。
權(quán)利要求
1.一種存儲器裝置,包括單數(shù)個或復(fù)數(shù)個存儲器陣列(Memory Array)、地址譯碼裝置 (Address Decoder)、寫入裝置(Write In Apparatus)、讀出裝置(Read OutApparatus), 所述單數(shù)個存儲器陣列由共用字線(Word Lines)與位線(Bit Lines)的復(fù)數(shù)個存儲單元 (Memory Cells)構(gòu)成,其存儲單元由行地址(Row Address)通過選擇字線確定陣列中的一 行,列地址(Column Address)選擇同一位(Bit)中復(fù)數(shù)列中一列的方式尋址,其中同一位 的復(fù)數(shù)個位線或復(fù)數(shù)組差分位線共享一個所述讀出裝置,在正常寫入模式時,所述地址譯 碼裝置將行地址譯碼并打開所述存儲器陣列中對應(yīng)存儲行的字線后,所述寫入裝置將輸入 的一組數(shù)據(jù)寫入由列地址決定的該行中的單數(shù)列存儲單元內(nèi);在正常讀出模式時,所述地 址譯碼裝置將行地址譯碼并打開所述存儲器陣列中對應(yīng)存儲行的字線后,所述讀出裝置將 由列地址決定的該行中的一列存儲單元內(nèi)的值讀出;其特征在于所述存儲器裝置具有以下 部分或全部裝置(1)寬帶寫入裝置,寫入時輸入的行地址經(jīng)所述地址譯碼裝置譯碼后打開所述存儲器 裝置中對應(yīng)行存儲單元的字線,所述寬帶寫入裝置控制復(fù)數(shù)組數(shù)據(jù)同時寫入受同一字線控 制的復(fù)數(shù)列的存儲單元中;(2)寬帶讀出裝置,讀出時由輸入的行地址與列地址決定的一組存儲器單元內(nèi)的值被 讀出后所述寬帶讀出裝置將受同一字線控制的所有復(fù)數(shù)列的存儲器單元內(nèi)的值讀出;(3)寬帶讀出選擇裝置,用于寬帶讀出時存儲寬帶讀出數(shù)據(jù)并通過選擇器依次讀出;(4)讀后寫時序控制裝置,控制同一時鐘周期內(nèi)對所述存儲器陣列存儲行先讀后寫; 所述讀寫可以對不同行進(jìn)行操作;(5)存儲器陣列選擇裝置,所述存儲器中復(fù)數(shù)個存儲器陣列共用所述存儲器陣列選擇 裝置,屬于不同陣列的字線可同時打開,在某個陣列做讀出操作同時其他陣列可做寫入操 作。
2.如權(quán)利要求1所述的裝置,其特征在于當(dāng)具有寬帶寫入裝置時,所述存儲器裝置具 有寬帶寫入模式,在此模式時,寫入行字線打開后,所述寬帶寫入裝置控制復(fù)數(shù)組數(shù)據(jù)同時 寫入受同一字線控制的復(fù)數(shù)列的存儲單元中。
3.如權(quán)利要求2所述的裝置,其特征在于還可以有寬帶數(shù)據(jù)寫入口,用于在寬帶寫入 模式時將復(fù)數(shù)組輸入數(shù)據(jù)寫入到待寫入行相應(yīng)復(fù)數(shù)列的存儲單元內(nèi),所述寬帶數(shù)據(jù)寫入口 的帶寬大于所述正常帶寬數(shù)據(jù)寫入口的帶寬;所述正常帶寬數(shù)據(jù)寫入口可以獨立于所述寬 帶數(shù)據(jù)寫入口,也可以是寬帶數(shù)據(jù)寫入口的一部分。
4.如權(quán)利要求1所述的裝置,其特征在于所述寬帶讀出裝置在每列存儲器單元都另有 獨立的低速寬帶讀出裝置,讀出行字線打開后將字線對應(yīng)的所有存儲單元的值讀出。
5.如權(quán)利要求4所述的裝置,其特征在于所述裝置有帶寬大于正常讀出口的寬帶數(shù)據(jù) 讀出口,輸入的行地址經(jīng)所述地址譯碼裝置譯碼后打開所述存儲器裝置中對應(yīng)行存儲單元 的字線,所述讀出裝置使用輸入的行地址選擇該行中的一列存儲單元將其內(nèi)部值讀出到所 述正常帶寬讀出口上后,所述寬帶讀出控制裝置控制該行的字線仍然打開,該行中所有復(fù) 數(shù)個存儲器單元內(nèi)部值通過各自所在列的所述低速讀出裝置并行讀出到所述寬帶數(shù)據(jù)讀 出口上。
6.如權(quán)利要求1、4所述的裝置,其特征在于當(dāng)具有寬帶讀出選擇裝置時,所述裝置有 第二數(shù)據(jù)讀出口,輸入的行地址經(jīng)所述地址譯碼裝置譯碼后打開所述存儲器裝置中對應(yīng)行存儲單元的字線,所述讀出裝置使用輸入的行地址選擇該行中的一列存儲單元將其內(nèi)部值 讀出到所述正常帶寬讀出口上后,所述寬帶讀出控制裝置控制該行的字線仍然打開,該行 不同列的存儲單元內(nèi)部值通過所述低速寬帶讀出裝置被讀出后用存儲裝置存儲起來,所述 存儲裝置的內(nèi)容被選擇器選擇后通過所述第二數(shù)據(jù)讀出口依次讀出,同時其他行或同一行 可做正常讀出操作并通過所述正常帶寬數(shù)據(jù)讀出口輸出。
7.如權(quán)利要求1所述的裝置,其特征在于當(dāng)具有讀后寫時序控制裝置時,在所述讀出 裝置對待讀出存儲單元的位線采樣值做信號放大并輸出同時,所述存儲器還可以進(jìn)行一次 寫入操作,讀出地址和寫入地址可由兩組地址總線分別輸入到所述存儲器并由兩套所述地 址譯碼裝置分別進(jìn)行譯碼,也可以通過一組地址總線按先后順序輸入到所述存儲器并由一 套所述地址譯碼裝置按先后順序進(jìn)行譯碼,在待讀出行的字線被打開后,所述讀出裝置對 待讀出存儲單元的位線值進(jìn)行采樣,然后所述讀后寫時序控制裝置使用經(jīng)過延遲邏輯延遲 后的寫控制信號控制該行字線關(guān)閉,并打開待寫入行的字線,所述寫入裝置對待寫入的存 儲單元進(jìn)行寫入操作。
8.如權(quán)利要求1、7所述的裝置,其特征在于當(dāng)具有讀后寫時序控制裝置時,所述存儲 器在先做讀出操作后做寫入操作時,讀出操作也可以為一次寫入操作,兩組寫入地址可由 兩組地址總線分別輸入到所述存儲器并由兩套所述地址譯碼裝置分別進(jìn)行譯碼,也可以通 過一組地址總線按先后順序輸入到所述存儲器并由一套所述地址譯碼裝置按先后順序進(jìn) 行譯碼,所述寫入裝置完成對第一組待寫入的存儲單元寫入操作后,第二組待寫入行存儲 單元的字線被打開,所述正常帶寬數(shù)據(jù)寫入口或?qū)拵?shù)據(jù)寫入口送入新的數(shù)據(jù),所述寫入 裝置完成第二次寫入操作,即兩次寫入操作是連續(xù)的。
9.如權(quán)利要求1所述的裝置,其特征在于當(dāng)具有存儲器陣列選擇裝置時,可以有復(fù)數(shù) 個存儲器陣列共用所述存儲器陣列選擇裝置;該裝置中包括選擇器用于選擇所述復(fù)數(shù)個存 儲器陣列中的一個將其內(nèi)部某行值讀出,屬于不同陣列的字線可同時打開,每個存儲器陣 列有各自的寫入數(shù)據(jù)口或共用一組寫入口,所述復(fù)數(shù)個存儲器陣列共用一組讀出口。
10.如權(quán)利要求9所述的裝置,其特征在于所述存儲器可以同時進(jìn)行單數(shù)個讀和單數(shù) 或復(fù)數(shù)個寫操作,也可以同時進(jìn)行復(fù)數(shù)個寫操作。
全文摘要
本發(fā)明屬于集成電路設(shè)計領(lǐng)域,提供了一種高讀寫帶寬的存儲器裝置。具體為對存儲器除正常讀寫口外增加寬帶數(shù)據(jù)讀寫口,有寬帶讀、正常帶寬讀、寬帶寫和正常帶寬寫四種模式。存儲器陣列共用字線的不同列存儲器單元能夠通過寬帶數(shù)據(jù)寫入口同時做寫入操作,讀出時輸入地址對應(yīng)的存儲器單元內(nèi)的值被讀出后與其共用字線的所有其他列存儲器單元內(nèi)部值可通過寬帶數(shù)據(jù)讀出口被讀出。同一時鐘周期內(nèi)可對存儲器陣列不同存儲行進(jìn)行先讀后寫操作。多個存儲器陣列可共用一組讀出裝置,不同陣列的讀寫操作可同時進(jìn)行。
文檔編號G11C7/12GK102110464SQ20091024745
公開日2011年6月29日 申請日期2009年12月26日 優(yōu)先權(quán)日2009年12月26日
發(fā)明者張冰淳, 林正浩 申請人:上海芯豪微電子有限公司