專利名稱:存儲器電路中可調的流水線的制作方法
技術領域:
本發(fā)明總體上涉及存儲器系統,更具體來講,涉及流水線型存儲器系統。
背景技術:
通常,存儲器電路被設計成在特定操作點滿足特定性能目標??梢酝ㄟ^峰值性能 操作點的存儲器電路的等待時間和功耗來定義性能目標,例如,峰值控制時鐘信號頻率和 特定電源電壓。為了實現性能目標,可以用插入邏輯電路之間的狀態(tài)元件(例如,鎖存電 路、觸發(fā)器或其他合適的狀態(tài)元件)通過流水線訪問存儲器電路。通常,流水線型存儲器電 路的各個流水線級被設計成在與性能目標相關的操作點利用控制時鐘信號的整個時間段。 然而,在真實的操作條件下,通過流水線型存儲器電路的各個流水線級的傳播延遲,即從各 個流水線級的輸入到各個流水線級的輸出的延遲不是恒定的。傳播延遲會有由于溫度、電 源電壓或其他操作條件變化而變化。
本發(fā)明通過實例的方式示出并且不受附圖限制,其中相似的參考標號表示相似的 元件。附圖中的元件是出于簡明清晰的原因示出并且不必按比例繪制。圖1是根據本發(fā)明的至少一個實施例的示例性數據處理系統的框圖。圖2是示例性流水線型存儲器電路的框圖。圖3是根據本發(fā)明的至少一個實施例的示例性流水線型存儲器電路的框圖。圖4是根據本發(fā)明的至少一個實施例的示例性流水線型存儲器電路部分的框圖。圖5是示出根據本發(fā)明的至少一個實施例配置的圖4中的流水線型存儲器電路部 分的波形的時序圖。圖6是示出用于產生存儲器電路反饋信號的示例性技術的框圖。圖7是示出用于產生存儲器電路反饋信號的示例性技術的框圖。圖8是示出根據本發(fā)明的至少一個實施例配置的圖4中的流水線型存儲器電路部 分的波形的時序圖。圖9是根據本發(fā)明的至少一個實施例的示例性控制系統的框圖。圖10示出根據本發(fā)明的至少一個實施例的存儲器結構的示例性操作點。圖11是示出根據本發(fā)明的至少一個實施例的示例性控制流程的狀態(tài)圖。圖12是根據本發(fā)明的至少一個實施例的示例性控制系統的框圖。不同附圖中使用相同的參考標號表示相似或相同的項。
具體實施例方式在通常的流水線型存儲器電路中,流水線型存儲器電路的各個流水線級可以利用 分配到流水線級的控制時鐘信號的整個部分,所述整個部分可以是控制時鐘信號的整個時 間段。雖然流水線會提高存儲器在目標操作點操作時存儲器電路的性能,但是流水線會限制其他操作點的存儲器電路的存儲性能。隨著控制時鐘信號頻率降低,典型流水線型存儲 器電路的等待時間單調劣化,同時在各個流水線級中時序容限增加。本文所引用的“流水線 級的時序容限”是當以目標頻率操作時分配到流水線級的時鐘信號的部分與流水線級用于 完成處理輸入并產生輸出所需的時間之間的差。當流水線型存儲器電路被配置用于與性能 目標相關的操作點時,存儲器電路比在其他操作點(例如,較低的電源電壓和/或較低的控 制時鐘信號頻率)消耗更多的功率。通常,在流水線型存儲器電路中,隨著存儲器電路尺寸 的增加,狀態(tài)元件(例如,鎖存器、觸發(fā)器或其他合適的狀態(tài)元件)的數量成指數增加,并且 這些狀態(tài)元件的功耗占存儲器總功耗的絕大部分。因此,流水線型存儲器電路的性能和功耗之間的關系不會與電源電壓電平和/或 控制時鐘信號頻率的縮放成比例地改進。另外,滿足用于一個應用(例如,后端緩存陣列) 的特定目標操作條件(例如,特定頻率和電源電壓電平)的存儲器電路設計不會滿足關于 其他應用(例如,以較低頻率操作的多芯前端/平臺緩存陣列)的規(guī)格,所述其他應用需要 額外的流水線時間來滿足可靠的需求,例如,誤差校正碼操作或其他平臺功能特征。此外, 與各個流水線級相關的時序容限會動態(tài)變化(例如,由于溫度變化、電源電壓電平變化、操 作頻率調節(jié)或針對其他操作條件的改變)并且對流水線型存儲器電路的性能和功耗產生 不利影響。因此,所需的是用于操作存儲器電路的新技術。針對存儲器電路的至少一些操作點改進存儲器電路的性能和/或功耗的用于操 作存儲器電路的技術包括至少部分基于存儲器的操作點,調節(jié)多個操作流水線級。在本發(fā) 明的至少一個實施例中,用于操作存儲器電路的方法包括至少部分基于存儲器電路產生 的反饋信號,選擇操作存儲器電路的模式。該方法包括基于所選擇的存儲器電路操作模 式,使用多個流水線級操作存儲器電路。在本發(fā)明的至少一個實施例中,該技術包括感測與 各個流水線級相關的時序容限并且基于此產生反饋信號。參照圖1,示例性數據處理系統包括集成電路(例如,集成電路7),集成電路可以 通過接口(例如,外部總線接口 13和總線9)連接到外部電路(例如,其他電路17、緩沖存 儲器電路20和存儲器電路15)。集成電路可以包括處理器電路(例如,處理器電路11),處 理器電路可以包括緩沖存儲器電路(例如,緩沖存儲器電路18)。處理器電路11可以是微 處理器、微控制器、數字信號處理器或其他合適的信息處理電路。另外,在數據處理系統10 的至少一個實施例中,集成電路7包括(例如,通過總線8)連接到處理器電路的其他電路 (例如,緩沖存儲器電路19、存儲器電路14、存儲器管理單元12和其他電路16)。在集成電 路7內示出的組件的類型、數量或布置只是示例性的,并且普通技術人員將理解,根據本發(fā) 明的系統和/或集成電路實施例可以(更通常地)包括組件的其他類型、數量和布置。通常,存儲器14、15、18、19和20可以存儲任何類型的信息(例如,地址、數據、標 簽或其他合適的信息),其中(或者結合其)以存儲器層次中的一等級執(zhí)行流水線陣列訪 問。類似地,類似設計的緩存19和/或其他組件可以作為存儲器管理單元的一部分出現。 雖然圖1示出單獨的存儲器14和緩存19,根據本發(fā)明的其他實現方式可以包括一個而不包 括另一個,或者可以將存儲器層級的兩個或更多個等級組合成一個元件或塊。雖然所描述的組件被實現為示例性的集成電路7,但是在其他實施例中,一個或多 個組件可以在單獨的集成電路中實現。使用任何合適的技術使所示的集成電路7的內部組 件互連并且互通。為了簡明起見,通過總線8示出主要功能塊的互連,盡管本領域的普通技術人員將認識到,在不脫離本發(fā)明的情況下,可以采用各種互連技術和布局中的任意一種。本文描述的技術可以以數據處理系統10的一個或多個存儲器電路或者其他合適 的存儲器電路來實施。雖然針對示例性的緩沖存儲器電路描述這些技術,但是本領域的普 通技術人員將認識到,可以采用各種存儲器電路中的任意一種。參照圖2,示例性的緩沖存 儲器電路200包括解碼邏輯和鎖存電路220、字行驅動器230、位單元陣列240、列邏輯和鎖 存器242以及控制邏輯電路222。緩沖存儲器電路220是將存儲器訪問以合適的邊界分成 多個級的示例性流水線型存儲器電路。各個流水線級受控制邏輯電路222控制,控制邏輯 電路222響應于控制時鐘信號、讀使能信號和索引值產生控制信號。例如,緩沖存儲器電路 200可以分成兩個流水線級。第一流水線級可以包括解碼邏輯級(例如,解碼邏輯和鎖存電 路220)、字行驅動器(例如,字行驅動器230)和存儲器陣列(例如,位單元陣列240)。解 碼邏輯級至少部分解碼地址(例如,索引)并存儲結果。解碼邏輯和鎖存電路220的輸出 被提供到字行驅動器230和位單元陣列240,其向包括例如列邏輯和鎖存電路242的第二流 水線級提供存儲器內容。選擇特定的列輸出,并且可以對Dtm設置新數據(每個時鐘周期 一個新數據值和兩個時鐘周期的等待時間的通過量)。對于至少一個操作點,緩沖存儲器電路部分200被分成流水線級,所述流水線級 利用以目標性能(即,控制時鐘信號的目標頻率,例如,2GHz)操作的控制時鐘信號的整個 周期執(zhí)行存儲器訪問的對應部分。然而,可以針對不同的操作點,例如,與目標性能操作點 相比具有較低的電源電壓和/或較低的控制時鐘信號頻率的操作點,配置緩沖存儲器電路 部分200。因此,電源電壓電平和/或緩沖存儲器電路部分200的控制時鐘信號頻率降低, 由此延長緩沖存儲器電路部分200的等待時間。因為在一致的電源電壓水平下控制時鐘信 號的頻率減小或者控制時鐘信號頻率和電源電壓電平都減小,所以各個流水線級的時序容 限增大。由于對于以較低操作點進行操作的完全流水線型模式,緩沖存儲器電路部分200 中的各個流水線級沒有利用控制時鐘信號的整個時間段,所以圖3中的緩沖存儲器電路部 分300包括可調的流水線。在某些條件下,流水線可以被配置成以緩沖存儲器電路部分300 的較少的級(即,以一個或多個沖刷模式(flush-through mode))進行操作,由此與在相同 操作點的完全流水線型操作相比,緩沖存儲器電路部分300的等待時間縮短。因此,緩沖存 儲器電路部分300可以被動態(tài)配置成,在與目標操作點相比具有較低電源電壓電平和/或 控制時鐘信號頻率的操作點,利用過量的時序容限。例如,當針對峰值性能(例如,f_、V 峰值)配置緩沖存儲器電路部分300相比,所有的沖刷模式都是失效。然而,當緩沖存儲器電 路部分300被配置成以低功率模式(例如,f^/2, Vdd2))操作時,與完全流水線型模式相 比使用至少更少一個流水線級的第一沖刷模式可以使能。當緩沖存儲器電路部分300被配 置成以甚至更低的功率/性能模式(f_/4、VDD3)操作時,使用甚至更少的流水線級的對應 沖刷模式可以使能。在緩沖存儲器電路部分300的至少一個實施例中,基于可以通過任何 合適技術產生的集成電路7中至少部分的操作的縮放電源電壓電平和/或縮放頻率的指標 (例如,DVFS控制),控制邏輯322配置緩沖存儲器電路部分300以在這些低功率模式下操 作。在緩沖存儲器電路部分300的至少一個實施例中,DVFS控制信號由控制單元(例如, 下述的圖9中的控制系統900)產生,該控制單元調節(jié)由緩沖存儲器電路部分300中的至少 部分接收的電源電壓電平和/或用于控制緩沖存儲器電路部分300中的操作時序的控制時鐘信號的頻率。雖然所描述的組件被實施為示例性的緩沖存儲器電路部分300,但是在圖1中的 數據處理系統10的至少一個實施例中,在對應的存儲器電路部分外部實現一個或多個組 件,并由其他電路共用這些組件。例如,本領域的普通技術人員將認識到,可以通過集成電 路7的其他部分或通過數據處理系統10的其他部分實現控制邏輯電路322的至少部分功 能。返回參照圖3,示例性的緩沖存儲器電路部分300包括可調的流水線,該流水線具 有如圖4的存儲器電路部分400所示的操作的示例性劃分。緩沖存儲器電路部分300的解 碼邏輯和鎖存器320、字行驅動器330和位單元陣列340的操作被組合成第一流水線級(例 如,圖4中的流水線級401),并且圖3中的列邏輯和鎖存器342和另外的邏輯電路的操作被 組合成第二流水線級(例如,圖4中的流水線級403)。參照圖4和圖5,流水線級401包括前端電路404,前端電路404對索引或存儲器 地址執(zhí)行解碼功能并且產生輸出(例如,字行選擇、列選擇和部分選擇)。在完全流水線型 操作中,前端電路404的輸出在控制時鐘信號的高相位(例如,CLK的C2相位)期間發(fā)生 改變(例如,轉變502)并且被鎖存器406鎖存,其將控制時鐘信號的低相位(例如,CLK的 Cl相位)的數據傳輸到后端電路408。在存儲器電路部分400的至少一個實施例中,前端 電路404包括行解碼器、列解碼器、多路復用電路和/或其他合適的電路。流水線級40還包括后端電路408,后端電路408通過確認字行并且感測和訪問存 儲器陣列電路的位線,對存儲器陣列進行訪問。在存儲器電路部分400的至少一個實施例 中,后端電路408包括感測放大器、存儲器單元、多路復用電路和/或其他合適的電路。注 意的是,在存儲器電路部分400的至少一個實施例中,后端電路408包括動態(tài)邏輯電路,例 如包括如下輸出節(jié)點的邏輯結構,即,該輸出節(jié)點在控制時鐘信號的第一相位被預充電至 特定的電壓電平并且在控制時鐘信號的另一個相位被有條件地放電。例如,在存儲器電路部分400的至少一個實施例中,后端電路408訪問來自存儲器 單元的數據并且將其提供到數據輸出信號,例如選擇字行并且在位線上形成對應的信號。 與后端電路408中的陣列連接的位線在控制時鐘信號的高相位被預充電(例如,轉變512)。 字行選擇信號在控制的低相位發(fā)生轉變(例如,WL的轉變504),并且在控制時鐘信號的低 相位期間在位線上形成這些信號(例如,轉變516)。當例如SAEQ在控制時鐘信號的低相 位的第一部分期間為高時,感測放大器中的節(jié)點被設置為靜態(tài)值(例如,轉變514),并且就 在字行選擇信號被激活為高之前被重新設置為低(例如,SAEQ的轉變518)。當SAEN為高 (例如,轉變506)時,感測到位線上的數據,且后端電路408的輸出因此由鎖存器410 (例 如,SA_0UT_SL2)傳輸到下一個電路。鎖存了的存儲器陣列的感測放大器輸出(例如,SA_ 0UT_SL2)隨后被提供到流水線級403。在完全流水線型操作中,控制時鐘信號的第一相位 期間的前端電路404的操作和控制時鐘信號的第二相位期間的后端電路408的操作導致在 控制時鐘信號的一個完整周期內流水線級401的存儲器陣列以及列解碼和字行的執(zhí)行。在本發(fā)明的至少一個實施例中,流水線級403包括選擇電路412,選擇電路412從 SA_0UT_SL2信號中選擇合適的信號(例如,方式選擇、部分選擇、數據重排或其他合適的操 作)。在完全流水線型操作期間,選擇電路412的輸出存儲在觸發(fā)器414中,并且在控制時 鐘信號的下降沿(例如,轉變508)之后由存儲器電路部分400提供新數據。在本發(fā)明的至少一個實施例中,流水線級403還包括數據處理邏輯電路420,數據處理邏輯電路420對 SA_0UT_SL2信號中包括的合適信號執(zhí)行邏輯處理,例如,誤差校正代碼操作和/或其他合 適的處理。在完全流水線型操作期間,數據處理邏輯420的輸出在控制時鐘信號的特定相 位期間被鎖存。因此,在完全流水線型操作期間,流水線級403的數據選擇和處理操作在控 制時鐘信號的至少一半周期內執(zhí)行。存儲器電路部分400的一個或多個的單個電路部分產生反饋信號,例如flush_ okl、flush_ok2、flush_ok3和flush_ok4,這些信號表示電路部分是否超過了時序容限和/ 或表示對應電路部分的時序容限量。參照圖6,可以在后端電路408中包括的示例性電路部 分產生可以為flush_ok信號的信號。電路600示出存儲器陣列中包括的位單元602。位線 BL和XBL被預充電并且在讀訪問期間被放電,以反映位單元602的內容。感測放大器606 根據SA_EN信號基于其BL和XBL的估計產生數據信號??删幊萄舆t電路610用于通過針 對與感測放大器606類似的另一個感測放大器(例如,感測放大器608)延遲SA_EN信號確 定讀操作的容限。如果感測放大器608的輸出被正確地估計,則存在如下的時序容限,即, 使用任何合適的技術基于可編程延遲的大小可量化該時序容限。參照圖7,后端電路408中可包括的反饋信號產生電路的另一個實施例包括NAND 門感測電路708。位單元702和感測放大器706受電路710控制。NAND門感測電路708具 有預定的觸發(fā)點,即VDD的一部分(k*VDD)。如果存在時序容限,則NAND門感測電路將正確 估計位單元704的輸出??梢允褂萌魏魏线m的技術,基于NAND門感測電路708的觸發(fā)點量 化時序容限。返回參照圖4,雖然存儲器電路部分400針對前端電路404、后端電路408、選擇電 路412和數據處理邏輯電路402中的每個都包括一個反饋信號,但是在存儲器電路部分400 的至少一個實施例中,可以僅通過各個電路部分中的一個或多個產生反饋信號。例如,基本 上平衡的流水線的任何一個流水線級可以產生反饋信號,以表示是否存在時序容限或者表 示流水線級中的時序容限量?;蛘?,只有最差情況的流水線級產生反饋信號。在存儲器電路 部分400的至少一個實施例中,與存儲器電路部分400連接的控制電路(例如,圖3中的控 制邏輯電路322)可以使用反饋信號以選擇操作模式。所選擇的操作模式可以是完全流水 線型的操作模式或沖刷的操作模式,即,使用數量減少的流水線級執(zhí)行流水線的操作模式。 特定的存儲器電路可以具有根據合并成另一個流水線級(即,沖刷)的流水線級的數量而 不同的多個沖刷模式。例如,在完全流水線型操作下具有四級流水線的存儲器電路還可以 在沖刷模式下單獨操作,這些沖刷模式對應于具有三個流水線級、兩個流水線級或一個級 (即,在存儲器電路本身中沒有流水線,但是卻在存儲器電路的邊界處包括狀態(tài)元件)的存 儲器電路的各個配置。在沖刷的操作模式下,流水線的一個或多個狀態(tài)元件被配置為是透明的。例如,可 以使用多路復用器將狀態(tài)元件完全旁路,以選擇包括狀態(tài)元件的路徑或將狀態(tài)元件旁路的 可供選擇的路徑?;蛘?,在沖刷模式下,狀態(tài)元件可以被配置成與控制時鐘信號同步地直接 將輸入信號傳輸到輸出節(jié)點。在存儲器電路部分400的至少一個實施例中,不同于將狀態(tài) 元件旁路,對控制時鐘信號與表示沖刷模式的控制信號執(zhí)行邏輯OR操作。例如,flushl用 于控制鎖存器406和鎖存器410。當flushl為低時,鎖存器406和410被配置用于與時鐘 控制信號同步地將各個輸入信號傳輸到對應的輸出節(jié)點。當flushl為高時,鎖存器406和410被配置用于與時鐘控制信號同步地將各個輸入信號傳輸到對應的輸出節(jié)點。結果,流水 線級401和403被組合成單個流水線級,以執(zhí)行與完全流水線型配置相比等待時間縮短的 那些流水線級的對應操作。參照圖4和圖8,當存儲器電路部分400被配置用于對應于第一時鐘頻率閾值(例 如,f峰值/2)的第一沖刷操作模式(例如,flushl = ‘1,且flush2 = ‘0,)時,前端電路 404的輸出在控制時鐘信號的第一相位期間發(fā)生改變并且被傳輸通過鎖存器406到后端電 路408。與后端電路408中的陣列連接的位線在控制時鐘信號的高相位期間被預充電(例 如,轉變810)。字行選擇信號在控制的低相位期間轉變(例如,轉變802),并且這些信號在 控制時鐘信號的低相位期間形成在位線上。在后端電路408的至少一個實施例中,感測放 大器在沖刷的操作模式下使能。因此,當SAEN為高時(例如,具有虛線SAEN波形的轉變 808)感測到位線上的數據,并且后端電路408的輸出被傳輸通過鎖存器410 (例如,SA_0UT_ SL2)到流水線級403。在后端電路408的至少一個實施例中,SAEN信號在沖刷的操作模式下失效,使得 所選擇的位線傳播通過失效的感測放大器并且產生SA_0UT以及SA_0UT_SL2通過鎖存器 410(例如,轉變818)到流水線級403。陣列輸出的特定部分被選擇電路412選擇并且提供 到數據處理邏輯電路420。隨后,數據處理邏輯電路420的結果在控制時鐘信號的低相位 期間傳播到0UT2 (例如,轉變822)。新數據在控制時鐘信號的低相位期間由存儲器電路部 分400提供并且在控制時鐘信號的上升沿(例如,由轉變822和832限定)之后使能。注 意的是,在輸出提供數據,與完全流水線型配置相比等待時間延長(例如,當感測放大器使 能時延長了高達時鐘周期的一半,并且當感測放大器禁用時延長了大于時鐘周期的一半)。返回參照圖4,在存儲器電路部分400的至少一個實施例中,由于隨著時鐘頻率減 小,流水線的等待時間延長,因此,通過使用對應于第二時鐘頻率閾值(例如,的 一個或多個另外的控制信號(例如,flush2)將另外的流水線級組合成單個流水線級,流 水線級的數量會減少。例如,當控制時鐘信號頻率下落到第二時鐘頻率閾值以下時,確認 flUsh2,由此將鎖存器422配置成透明的。因此,在沒有明顯延遲并且與時鐘控制信號不同 步的情況下,D0UT2A傳輸到0UT2。結果,前端電路404、后端電路408、選擇電路412和數據 處理邏輯電路420形成單個流水線級,該流水線級的等待時間至多為控制時鐘信號的一個 周期。注意的是,圖4中的存儲器電路劃分只是示例性的。本領域的普通技術人員將認識 到,可以以其他合適的電路邊界劃分流水線型存儲器電路的其他實施例。參照圖9,示例性的集成電路處理器(例如,圖1中的處理器11)包括控制系統900 的至少部分。在控制系統900的至少一個實施例中,控制單元902檢測輸入(例如,圖1中 與集成電路7連接的熔絲的狀態(tài)或者集成電路7的輸入管腳上的信號),以針對完全流水線 型操作或沖刷操作配置緩沖存儲器電路908。在至少一個實施例中,根據控制寄存器904的 內容,控制單元902動態(tài)地縮放電源電壓電平和/或處理器11的時鐘信號頻率??刂萍拇?器904可以由硬件和/或軟件設置。例如,集成電路處理器上執(zhí)行的軟件可以基于圖1中 處理器11上執(zhí)行的指令配置控制寄存器904。無論是通過指令類型(例如,L2半睡眠、深 睡眠、偵測或當所有的線程都閑置時)或者通過指令中另外的預解碼位,這些指令配置低 功率模式下的集成電路處理器。在至少一個實施例中,集成電路處理器基于流水線的操作 模式信息和存儲器電路的控制時鐘信號的對應的一個或多個頻率值及一個或多個電源電壓電平的表格,選擇流水線的操作模式。集成電路處理器使用存儲器電路的一個或多個目 標等待時間和目標功耗來訪問表格(例如,控制寄存器904或其他合適的存儲電路中存儲 的表格),以確定對應的操作模式并且因此配置控制寄存器906。在至少一個實施例中,集成電路處理器基于從焊盤或管腳接收的一個或多個輸入 對控制寄存器904進行寫操作,以初始化低頻和/或低功率模式。返回參照圖9,控制單元 902基于控制寄存器904的內容針對每個存儲器電路配置局部存儲器控制信號(例如,控制 時鐘信號頻率和電源電壓電平)。這些值可以存儲在用于控制緩沖存儲器電路908的存儲 器訪問頻率和電壓控制寄存器906中??刂茊卧?02還產生一個或多個沖刷模式控制信號,用于動態(tài)選擇緩沖存儲器電 路908是否以完全流水線型模式或沖刷模式操作。參照圖9和圖10,在至少一個實施例中, 通過將特定存儲器電路的操作點與存儲器電路(存儲器控制寄存器906或其他合適的存 儲器電路)中存儲的一個或多個預定閾值電平(例如,(Ff_,VDD1)、(FfMl2,VDD2)、THRESH1、 THRESH2、THRESH3和THRESH4)比較,控制單元902使特定的沖刷模式使能或失效。可以基 于模擬、目標操作點、溫度、其他環(huán)境因素或其他合適的參數中的一個或多個確定和利用閾 值電平。另外,可以確定閾值電平,以在控制環(huán)路中引入滯后,例如以保證流水線級的操作 并減少操作模式之間的頻繁切換。在至少一個實施例中,存儲器控制寄存器906包括控制 時鐘信號的目標頻率和電源電壓的目標電平。參照圖10,示出取決于操作點的完全流水線型操作、第一沖刷操作模式和第二沖 刷操作模式期間的示例性性能(例如,等待時間)和功耗。曲線部分1002和1052分別對 應于以完全流水線型操作(例如,具有η個流水線級)配置的存儲器電路部分的性能和功 耗。曲線部分1004和1054分別對應于以第一沖刷操作模式(例如,具有η-1個流水線級) 配置的存儲器電路部分的性能和功耗。曲線部分1006和1056分別對應于以第二沖刷操作 模式(例如,具有η-2個流水線級)配置的存儲器電路部分的性能和功耗??梢曰谀M、 特定操作點的目標功耗和性能、溫度、其他環(huán)境因素或其他合適的參數中的一個或多個確 定模式之間的轉變點。返回參照圖4,當被配置用于完全流水線型模式(例如,控制時鐘信號頻率等于 Λ)時,從觸發(fā)器402到觸發(fā)器414的輸出的存儲器訪問具有控制時鐘信號的兩個周期的等 待時間。當控制時鐘的頻率從f ^^縮放為具有頻率f (fFKEQ2 < f < fFKEQ1,例如,fFEEQ2/4 < f <fFEEQ1/2)的操作點時,造成兩個流水線級中的邏輯的總傳播延遲小于控制時鐘周期。如果 總延遲小于控制時鐘周期的預定百分比(例如,控制時鐘周期的85%),則當時鐘縮減時損 失的至少一部分性能可以通過進入沖刷模式而恢復,如fFKEQ1,Vddi處的從曲線部分1002到 曲線部分1004的性能不連續(xù)所指示的。類似地,當控制時鐘進一步地縮減至fFKEQ2,Vddi (例 如,F_tt/4)以下的操作點時,鎖存器422還可以被設置成沖刷模式,進入第二沖刷模式。當 時鐘縮減到fFKEQ2以下時損失的至少一部分性能通過進入第二沖刷模式被恢復,如fFKEQ2,Vdd2 處的從曲線部分1004到曲線部分1006的性能不連續(xù)所指示的。參照圖9和圖11,在控制系統900的至少一個實施例中,控制單元902將滯后引入 選擇存儲器電路的操作模式的過程中,即,對于減小電源電壓的值和/或控制時鐘信號頻 率和對于增大電源電壓的值和/或控制時鐘信號頻率,取決于電源電壓和/或控制時鐘頻 率的模式選擇是不同的。取決于電源電壓和/或控制時鐘信號頻率的模式選擇依賴于電源電壓和/或控制時鐘信號頻率的改變的大小和方向。因此,模式選擇不僅依賴于電源電壓 和/或控制時鐘信號頻率,而且還依賴于電源電壓和/或控制時鐘信號頻率的之前的值。例如,在至少一個實施例中,控制單元902將下一個操作點與一個或多個閾值(圖 10中的閾值)相比,并且基于此產生一個或多個對應的指標??刂茊卧?02隨后至少部分 基于一個或多個指標選擇流水線型的操作模式。當緩沖存儲器電路908被配置用于完全流 水線型操作(例如,狀態(tài)1102)時,如果下一個操作點大于第一閾值(例如,THRESH1),則 緩沖存儲器電路908繼續(xù)在下一個操作點以完全流水線型模式操作(1110)。類似地,當緩 沖存儲器電路908被配置用于完全流水線型操作并且下一個操作點在第一和第二閾值(例 如,第二閾值可以被設置為第一閾值的85%)之間時,緩沖存儲器電路908繼續(xù)在下一個 操作點以完全流水線型模式操作(1108)。然而,如果緩沖存儲器電路908被配置用于完全 流水線型操作并且下一個操作點在第二閾值之下時,則控制單元902配置緩沖存儲器電路 908在下一個操作點處于第一沖刷模式(例如,狀態(tài)1104) (1114)。在控制單元的至少一個 實施例中,除非反饋信號(例如,圖4中的flush_okl和/或flush_ok2)表示存儲器具有 足夠的時序容限來支撐第二沖刷模式,否則沒有從狀態(tài)1102到狀態(tài)1104的轉變。當緩沖存儲器電路908以第一沖刷模式操作(例如,狀態(tài)1104)時,如果下一個 操作點大于第一閾值,則緩沖存儲器電路908在下一個操作點以完全流水線型模式操作 (1112)。當緩沖存儲器電路908以第一沖刷模式操作時,如果下一個操作點大于第四閾 值而小于第一閾值,則緩沖存儲器電路908在下一個操作點以第一沖刷模式操作(1116、 1118、1120)。然而,如果緩沖存儲器電路908被配置用于第一沖刷模式并且下一個操作點 低于第四閾值,則緩沖存儲器電路908在下一個操作點以第二沖刷模式操作(例如,狀態(tài) 1106) (1126)。在控制單元的至少一個實施例中,除非存儲器反饋信號(例如,圖4的flush_ ok3和/或flush_ok4)表示存儲器電路具有足夠的時序容限支撐第二沖刷模式,否則沒有 從狀態(tài)1104到狀態(tài)1106的轉變。當緩沖存儲器電路908以第二沖刷模式操作(例如,狀態(tài)1106)時,如果下一個操 作點大于第三閾值,則緩沖存儲器電路908在下一個操作點以第一沖刷模式操作(1124)。 當緩沖存儲器電路908以第二沖刷模式操作時,如果下一個操作點小于第三閾值,則緩沖 存儲器電路908在下一個操作點以第二沖刷模式操作(1128,1130)。注意的是,必須選擇第 一、第二、第三和第四閾值,以保證存儲器電路400的流水線級將以對應的操作模式正確操 作。返回參照圖10,除了與具有完全流水線型操作性能的這些操作點相比提高一些操 作點的性能之外,在緩沖存儲器電路908的至少一個實施例中,沖刷操作模式提供了降低 功耗的優(yōu)點??梢酝ㄟ^減少狀態(tài)元件(例如,以沒有阻擋狀態(tài)元件的旁路模式或流通模式 配置)的切換實現節(jié)電。通常,由于大量的流水線鎖存器(例如在示例性的1MB中的10,000 流水線鎖存器,二級緩存器)導致狀態(tài)元件的功耗在存儲器電路中是明顯的。操作存儲器 電路的沖刷模式還可以從以降低頻率的控制時鐘信號操作的完全流水線型電路的功耗進 一步地降低功耗,如圖10中從曲線部分1052到曲線部分1054以及從曲線部分1054到曲 線部分1056的功耗的不連續(xù)所示出的。參照圖12,在本發(fā)明的至少一個實施例中,與可調的流水線存儲器電路部分(例 如,緩沖存儲器電路1208)連接的邏輯電路(例如,邏輯塊1212)從控制單元1210接收存儲器電路操作模式的指標??刂茊卧?210向邏輯電路提供控制信號。邏輯電路接收邏輯 控制信號,根據存儲器電路的可變等待時間,邏輯控制信號可用于將邏輯電路與存儲器電 路同步以接收輸入?;谶@些控制信號,邏輯電路還可以用合適數量的流水線級來配置。雖然電路和物理結構是一般假定的,很好地認識到,在現代半導體設計和制造中, 物理結構和電路可以實現為適于后續(xù)設計、測試或配置級的計算機可讀描寫性形式。表現 為示例性配置中的離散組件的結構和功能可以被實現為組合的結構或組件。設計本發(fā)明包 括都如本文所描述的并且如所附權利要求所定義的電路、電路的系統、相關方法和如此電 路、系統和方法的計算機可讀介質編碼。如本文所使用的,計算機可讀介質包括至少盤、帶 或其他磁學、光學、半導體(例如,閃存卡、ROM)或電介質。這里闡述的對本發(fā)明的說明是示例性的,并不旨在限制如權利要求所闡述的本發(fā) 明的范圍。例如,雖然已經采用其中存儲器電路部分400包括在完全流水線型模式下的流 水線級401和403的實施例描述了本發(fā)明,但是本領域的技術人員將認識到,本文的教導可 以用于根據其他合適的邊界被劃分成流水線級的存儲器電路部分。在不脫離所附權利要求 所闡述的本發(fā)明的范圍和精神的情況下,可以基于這里闡述的說明對本發(fā)明公開的實施例 進行變化和更改。
權利要求
一種操作存儲器電路的方法,包括至少部分基于所述存儲器電路產生的反饋信號,選擇操作所述存儲器電路的模式;以及使用多個流水線級來操作所述存儲器電路,所述流水線級的數量基于所選擇的所述存儲器電路的操作模式。
2.根據權利要求1所述的方法,還包括感測與所述存儲器電路的各個電路部分相關的時序容限并且基于此產生所述反饋信號。
3.根據權利要求1所述的方法,其中,部分基于與所述存儲器電路的控制時鐘信號的 頻率和所述存儲器電路的電源電壓的電平中的至少一者的值對應的操作模式信息的表格 的至少一條記錄,選擇所述操作模式。
4.根據權利要求3所述的方法,其中所述操作模式信息基于由與所述控制時鐘信號的 頻率和所述電源電壓的電平對應的所述存儲器電路的目標等待時間和所述存儲器電路的 目標功耗組成的組中的至少一者。
5.根據權利要求1所述的方法,其中,部分基于所述操作模式的改變的大小和方向,選 擇所述操作模式。
6.根據權利要求1所述的方法,其中,基于至少部分由連接到所述存儲器電路的一個 或多個指令處理單元執(zhí)行的指令,選擇所述操作模式。
7.根據權利要求1所述的方法,其中,基于至少從包括所述存儲器電路的集成電路的 管腳接收的配置信息,選擇所述操作模式。
8.根據權利要求1所述的方法,還包括將操作點與至少一個閾值進行比較,并且基于此產生指標, 其中,基于所述指標選擇所述操作模式。
9.根據權利要求1所述的方法,其中使用多個流水線級來操作所述存儲器電路包括 當所述流水線級的數量是第一數量時,與控制時鐘信號同步地,將第一電路部分的結果提供到第二電路部分;以及當所述流水線級的數量是第二數量時,與所述控制時鐘信號不同步地,將所述第一電 路部分的結果提供到所述第二電路部分。
10.根據權利要求1所述的方法,其中使用多個流水線級來操作所述存儲器電路包括 至少部分基于所述流水線級的數量選擇性地配置至少一個狀態(tài)元件為透明的。
11.根據權利要求10所述的方法,其中所述至少一個狀態(tài)元件包括鎖存電路。
12.—種集成電路,包括 存儲器電路;以及控制電路,所述控制電路被配置為至少部分基于所述存儲器電路產生的反饋信號選擇 所述存儲器電路的操作模式,其中所述存儲器電路被配置為基于所選擇的所述存儲器電路的操作模式用多個流水 線級來進行操作。
13.根據權利要求12所述的集成電路,其中所述反饋信號表示與所述存儲器電路的各 個電路部分相關的時序容限。
14.根據權利要求12所述的集成電路,還包括第二存儲器電路,所述第二存儲器電路連接到所述控制電路并且被配置為存儲與由所 述存儲器電路的控制時鐘信號的頻率和所述存儲器電路的電源電壓的電平組成的組中的 至少一者的值對應的操作模式信息,其中所述控制電路被配置為部分基于與所述控制時鐘信號的特定頻率和所述電源電 壓的特定電平對應的所述第二存儲器電路的內容,選擇所述操作模式。
15.根據權利要求14所述的集成電路,其中所述第二存儲器電路的所述內容基于由與 所述控制時鐘信號的所述特定頻率和所述電源電壓的所述特定電平對應的所述存儲器電 路的目標等待時間和所述存儲器電路的目標功耗組成的組中的至少一者。
16.根據權利要求12所述的集成電路,其中所述控制電路包括至少一個指令處理單 元,所述指令處理單元被配置為至少部分基于在所述集成電路上執(zhí)行的程序的指令的至少 部分執(zhí)行而選擇所述操作模式。
17.根據權利要求12所述的集成電路,其中所述存儲器電路包括第一感測放大器電路,所述第一感測放大器電路被配置為與存儲器時鐘信號同步地, 響應于感測放大器使能信號,感測來自存儲器陣列的多個位中的至少一個;以及第二感測放大器,所述第二感測放大器被配置為響應于延遲了的所述感測放大器使 能信號,感測來自所述存儲器陣列的所述多個位中的至少一個的位,并且基于在所述第二 感測放大器的輸出處產生的不同電壓值產生所述反饋信號。
18.根據權利要求12所述的集成電路,其中所述存儲器電路包括 第一電路部分;第二電路部分;以及第三電路部分,所述第三電路部分連接在所述第一電路部分和所述第二電路部分之 間,并且可以被配置為第一操作模式和第二操作模式,其中,在所述第一操作模式下,所述第三電路部分接收所述第一電路部分的結果,并且 將所述第一電路部分的所述結果作為操作數,與時鐘信號不同步地,提供到所述第二電路 部分,由此在同一流水線級中配置所述第一電路部分和所述第二電路部分,并且其中,在所述第二操作模式下,所述第三電路部分鎖存所述第一電路部分的所述結果, 并且將所述第一電路部分的所述結果作為操作數,與所述時鐘信號的轉變同步地,提供到 所述第二電路部分,由此在不同的流水線級中配置所述第一電路部分和所述第二電路部 分。
19.根據權利要求18所述的集成電路,其中所述第一電路部分包括存儲器字行和列解 碼電路以及存儲器數據獲取電路,所述第三電路部分包括存儲器行選擇電路。
20.根據權利要求18所述的集成電路,其中所述第一電路部分、所述第二電路部分和 所述第三電路部分中的至少一者包括動態(tài)邏輯電路。
21.一種設備,包括用于使用多個流水線級提供存儲元件陣列的內容的裝置;以及 用于至少部分基于由所述用于提供的裝置所產生的反饋信號來選擇所述用于提供的 裝置的操作模式的裝置,其中所述流水線級的數量基于所述用于提供的裝置的操作模式,其中所述反饋信號表示與所述存儲器電路的各個電路部分相關的時序容限。
全文摘要
本發(fā)明提供了一種技術,該技術用于操作存儲器電路(18、300、400、908、1208),以針對存儲器電路的至少一些操作點改進存儲器電路(1002、1004、1006)的性能和/或功耗(1052、1054、1056),并且包括至少部分基于存儲器的操作點調節(jié)(1100)多個可操作流水線級(401、403)。在本發(fā)明的至少一個實施例中,用于操作存儲器電路的方法包括至少部分基于存儲器電路產生的反饋信號(feedback、flush_ok、flush_ok1、flush_ok2、flush_ok3、flush_ok4、cycle_flush_through_ok)選擇操作存儲器電路的模式(flush_mode、flush1、flush2、mem_flush_control_bits)。該技術包括基于存儲器電路的選擇的操作模式使用多個流水線級操作(圖5、圖8)存儲器電路。在本發(fā)明的至少一個實施例中,該技術包括感測(608、708)與各個流水線級(401)相關的時序容限(容限)并且基于此產生反饋信號。
文檔編號G06F12/00GK101946237SQ200980105625
公開日2011年1月12日 申請日期2009年1月16日 優(yōu)先權日2008年2月21日
發(fā)明者于伊·B·恩古葉恩, 威廉·C·莫耶, 張沙彥 申請人:飛思卡爾半導體公司