存儲器控制器和存儲器系統的控制方法
【專利摘要】提供一種存儲器控制器和存儲器系統的控制方法。存儲器控制器的控制方法包括:通過分析地址來確定被請求存取的庫;基于確定的結果選擇被預測為將被存取的至少一個庫;根據選擇的結果設置所述庫的刷新順序;根據設置順序控制對于所述庫的刷新操作。
【專利說明】存儲器控制器和存儲器系統的控制方法
[0001 ] 本申請要求于2015年3月30日在韓國知識產權局提交的第10-2015-0044390號韓國專利申請的優先權,所述韓國申請的全部內容通過引用合并于此。
技術領域
[0002]本發明構思涉及一種存儲器控制器,更具體地講,涉及一種存儲器控制器、管理對于各個組的刷新操作的存儲器系統和存儲器控制器的操作方法。
【背景技術】
[0003]隨著存儲器裝置在高性能電子系統中被廣泛使用,它們的容量和速度已經不斷增長。動態隨機存取存儲器(DRAM)是基于存儲在電容器中的電荷來讀取數據的易失型半導體裝置的示例。
[0004]存儲器控制器通常向存儲器裝置提供各種命令和地址,并且控制包括存儲器操作的各種操作。包括在存儲器裝置中的存儲器單元陣列可包括多個存儲器區域(例如,庫),并且可對于每個組執行用于保留數據的刷新操作。然而刷新操作可影響存儲器操作(諸如寫/讀操作)。
【發明內容】
[0005]本發明構思的實施例提供一種能夠將執行數據存取的存儲器區域與執行刷新操作的存儲器區域進行匹配的存儲器控制器。
[0006]根據本發明構思的實施例,提供一種被配置為管理與多個庫相應的存取操作的存儲器控制器的操作方法。所述操作方法包括:通過分析地址來確定被請求存取的庫;基于確定的結果選擇被預測為將被存取的至少一個庫;根據選擇的結果設置所述庫的刷新順序;根據設置的順序控制對于所述庫的刷新操作。
[0007]在本發明構思的實施例中,至少一個庫的選擇可被執行以從所述庫中選擇未被刷新的至少一個庫。
[0008]在本發明構思的實施例中,設置所述庫的刷新順序的步驟可被執行以設置被預測為接下來將被存取的至少一個庫的刷新順序,以使所述至少一個庫比其他庫更晚被刷新。
[0009]在本發明構思的實施例中,設置所述庫的刷新順序的步驟可被執行以根據選擇的結果改變在所述庫中未被刷新的庫的刷新順序。
[0010]在本發明構思的實施例中,所述庫中的每個庫可包括多個行,并且刷新操作以所述庫中的每個庫的行為單位被執行。設置所述庫的刷新順序的步驟可被執行以設置所述庫的任意一個行的刷新順序。
[0011]根據本發明構思的實施例,提供一種被配置為管理多個存儲器區域的存儲器控制器的操作方法。所述操作方法包括:執行與所述存儲器區域中的一些相應的刷新操作;從外部接收對于存取的請求和與所述對于存取的請求相應的地址;根據對所述地址的分析結果改變未被刷新的剩余的存儲器區域的刷新順序;根據改變后的刷新順序執行與剩余的存儲器區域相應的刷新操作。
[0012]根據本發明構思的實施例,提供一種包括多個庫的存儲器系統的操作方法。所述操作方法包括:根據外部地址選擇被請求存取的第一庫;參考信息以便確定被預測為將被存取的第二庫;調整第二庫的刷新順序以使將被存取的庫與將被刷新的庫不匹配;對第一庫的數據進行存取;在結束對第二庫的數據存取操作并且第二庫的行被關閉之后刷新第二庫。
[0013]根據本發明構思的實施例,通過管理數據存取和與每個庫相應的刷新操作,通過降低執行數據存取的存儲器區域與執行刷新操作的存儲器區域匹配的可能性來減小了刷新操作對數據存取操作的影響。因此,可提高存儲器系統性能。
[0014]此外,根據本發明構思的實施例,可執行數據存取和刷新操作,從而在降低通過執行數據存取而引發的刷新操作的執行時間的延遲的可能性的同時,數據被穩定地保留在存儲器裝置中。
【附圖說明】
[0015]通過下面結合附圖進行的詳細描述,將更清楚地理解本發明構思的示例性實施例,在附圖中:
[0016]圖1是示出根據本發明構思的實施例的存儲器系統的框圖;
[0017]圖2是示出根據本發明構思的實施例的在圖1中的存儲器控制器的框圖;
[0018]圖3是示出根據本發明構思的實施例的在圖1中的存儲器裝置的框圖;
[0019]圖4是示出根據本發明構思的實施例的存儲器系統的操作方法的流程圖;
[0020]圖5A和圖5B是示出根據本發明構思的實施例的訪問預測操作的框圖;
[0021]圖6是示出根據本發明構思的實施例的設置各個庫的刷新順序的框圖;
[0022 ]圖7、圖8、圖9和圖1O是示出根據本發明構思的實施例的各個組的刷新順序的表;
[0023]圖11和圖12是示出根據本發明構思的實施例的存儲器控制器與存儲器裝置之間的信號收發的框圖;
[0024]圖13和圖14是示出根據本發明構思的實施例的刷新操作中的信號的波形圖;
[0025]圖15A和圖15B是示出根據本發明構思的實施例的設置各個庫的刷新順序的框圖;
[0026]圖16A和圖16B是不出根據本發明構思的實施例的設置各個庫的刷新順序的框圖;
[0027]圖17是示出根據本發明構思的另一實施例的存儲器控制器的框圖;
[0028]圖18A和圖18B是示出根據本發明構思的實施例的設置各個庫的刷新順序的框圖;
[0029]圖19是示出根據本發明構思的實施例的存儲器系統的操作方法的流程圖;
[0030]圖20是示出根據本發明構思的實施例的包括存儲器控制器和存儲器裝置的數據處理系統的框圖;
[0031]圖21是示出根據本發明構思的實施例的存儲器模塊的示圖;
[0032]圖22是示出根據本發明構思的實施例的包括存儲器系統的計算系統的框圖。
【具體實施方式】
[0033]在下文中,將參照示出一些示例實施例的附圖來更加全面地描述本發明構思的各種實施例。然而,本發明構思可按照許多不同的形式實施并且不應被解釋為限于在此闡述的示例實施例。相反,提供這些示例實施例以使本公開將是徹底且完全的,并全面地向本領域技術人員傳達本發明構思的范圍。在圖中,為清晰起見,層和區域的大小和相對大小可被夸大。相同的標號始終表示相同的元件。
[0034]將會理解,雖然術語第一、第二、第三等可在這里使用以描述各種元件,但是這些元件不應被這些術語限制。這些術語是用于將一個元件與另一元件區分。因此,在不脫離本公開的教導的情況下,以下討論的第一元件可被叫做第二元件。如在這里使用的,術語“和/或”包括一個或多個關聯的所列項的任何和所有組合。
[0035]將理解,當元件被稱為“連接”或者“結合”到另一元件時,該元件可直接連接或者結合到所述另一元件,或者可存在中間元件。與此相反,當元件被稱為“直接連接”或者“直接結合”到另一元件時,不存在中間元件。用來描述元件之間的關系的其他詞語應以同樣的方式被解釋(例如,“在……之間”與“直接在……之間”、“相鄰”與“直接相鄰”等)O
[0036]在這里使用的術語僅為描述特定示例實施例的目的,而非意圖限制本公開。如在這里使用的,除非上下文明確地另有指示,否則單數形式也意圖包括復數形式。還將理解,當在本說明書中使用術語“包括”和/或“包含”時,說明陳述的特征、整體、步驟、操作、元件和/或組件的存在,但不排除存在或添加一個或多個其他特征、整體、步驟、操作、元件、組件和/或它們的群組。
[0037]除非另有定義,否則這里使用的所有術語(包括技術術語和科學術語)具有與本公開所屬的領域的普通技術人員通常理解的含義相同的含義。還將理解,除非在這里明確地定義,否則術語(諸如在通用字典中定義的術語)應該被解釋為具有與它們在相關領域的環境中的含義一致的含義,而不應被解釋為理想化或過于正式的意義。
[0038]動態隨機存取存儲器(DRAM)是具有有限數據保留特性的半導體存儲器裝置。因此,即使正常的存儲器單元也不能保證特定時間段流逝之后存儲的數據的有效性。為了穩定地保留數據,使用刷新策略。因此,存儲器控制器向DRAM提供命令和/或地址,從而可對于由指定值設置的每個刷新時段刷新DRAM的存儲器單元。此外,DRAM可在從存儲器控制器不接收另外的命令的情況下通過內部地產生地址來自主地進入自刷新模式并且刷新存儲器單元。
[0039]圖1是示出根據本發明構思的實施例的存儲器系統10的框圖。如圖1所示,存儲器系統10包括存儲器控制器100和存儲器裝置200。存儲器控制器100通過向存儲器裝置200提供各種控制信號來控制存儲器操作(諸如,寫/讀)。例如,存儲器控制器100通過向存儲器裝置200提供命令CMD和地址ADD來存取存儲器單元陣列210的數據DATA。命令CMD可包括與各種存儲器操作(諸如數據的寫/讀)相關的命令。此外,命令CMD可包括與DRAM相關的特定操作,例如,當存儲器裝置200包括DRAM單元時為了刷新存儲器單元的刷新命令。
[0040]存儲器單元陣列210可包括多個存儲器區域。存儲器區域可被不同定義。例如,存儲器單元陣列210可包括多個行、多個庫(bank)和多個排列。當存儲器單元陣列210包括庫時,可對于每個庫執行存儲器操作或刷新操作。因此,從存儲器控制器100接收的地址ADD可包括庫地址BA。
[0041 ] 存儲器控制器100可根據來自主機HOST的請求來對存儲器裝置200進行存取。例如,存儲器控制器100可接收關于存取的類型的請求Req和指示將被存取的區域的地址ADD_H(在下文中,來自主機的地址被稱為主機地址)。存儲器控制器100可處理從主機接收的請求Req并且可處理主機地址ADD_H。存儲器控制器100可基于所述處理向存儲器裝置200提供命令CMD和地址ADD。
[0042]存儲器系統10可通過使用接口協議(諸如外圍組件快速互連(PC1-E)、高級技術附件(ATA),串行ATA(SATA),并行ATA(PATA)或者串行連接SCSI(SAS)等)來與主機進行通信。此外,存儲器系統10與主機之間的接口協議不限于此,并且可以是其他協議(諸如通用串行總線(USB)、多媒體卡(MMC)、增強小型磁盤接口(ESDI)和電子集成驅動器(IDE)等)中的一個。
[0043]根據本發明構思的實施例,存儲器控制器100包括存取預測器110和刷新管理器120 ο存儲器控制器100可通過分析(或通過解碼)從主機HOST接收的主機地址ADD_H,來確定主機HOST請求存取的存儲器區域。在下文中,作為示例,將認為存儲器區域包括庫,但是本發明構思的實施例不限于此。然而,可對于每個不同的存儲器區域來管理存儲器操作和/或刷新操作。
[0044]存取預測器110可基于當前被請求存取的庫來預測具有接下來被存取的更高可能性的至少一個庫。例如,包括從主機接收的請求存取的數據的特定大小的數據信息可被寫入至少兩個庫或從至少兩個庫被讀取,并且存儲器控制器100可存儲表示數據信息的存儲狀態的狀態信息。存取預測器110通過考慮從主機接收的被請求存取的庫和包括請求存取的庫的數據信息的存儲狀態來預測具有接下來被存取的更高可能性的庫,并且可根據預測結果選擇至少一個庫。
[0045]同時,可根據本發明構思的實施例通過其他各種方法來執行數據預測操作。例如,與對于每個庫的數據存取相關的至少一個表被存儲在存儲器控制器100中,并且每當執行數據存取時,存儲在表中的信息可被更新。在本發明構思的實施例中,存儲與存取歷史相關的信息的表和存儲表示對于每個庫的存取可能性的信息的表被存儲在存儲器控制器100中,并且當接收到數據存取的請求時,可通過參考表來預測具有接下來被請求存取的更高可能性的至少一個庫。
[0046]刷新管理器120可總體上管理與存儲器裝置200相應的刷新操作。例如,刷新管理器120區分并且控制刷新時間以使與存儲器單元陣列210相應的刷新操作根據預先設置的時間段被執行。此外,刷新管理器120可基于存取預測器110的預測結果控制刷新操作。例如,可基于關于當前被請求存取的庫和/或預測為接下來被存取的至少一個庫的信息來設置多個庫的刷新順序。
[0047]當存儲器單元陣列210包括多個庫時,可對于各個庫管理刷新操作。例如,每個庫可包括多個行R0W,并且可通過打開每個庫的至少一個行來執行刷新操作。在本發明構思的實施例中,當根據由預定值設置的順序完成庫的第一行的刷新操作時,可根據所述預定的順序執行對于第二行的刷新操作。當所述庫在初始設置中包括第一庫至第N庫時,可在第一庫至第N庫中順序地執行刷新操作。
[0048]可基于存取預測器110的預測結果而改變庫的刷新順序。例如,當選擇預測為接下來被存取的一個庫時,所選庫的刷新順序被改變以使所選庫在所述庫中最后被刷新。當每個庫的第三行根據改變后的順序被刷新并且第二庫被預測為接下來被存取時,在所述庫(或其他庫的第三行)中第二庫(或第二庫的第三行)可最后被刷新。
[0049]即使為了便于解釋而描述了各個庫的刷新順序按行為單位改變,但是根據如下面描述的本發明構思的實施例,各個庫的刷新順序也可在在對于一個行的刷新操作期間被改變。
[0050]例如,第一庫的第一行可在對于第一庫至第四庫的第一行的各個刷新操作中被刷新。根據現有順序,接下來需要對第二庫的第一行進行刷新。然而,可根據從主機接收的地址的分析結果而預測第二庫接下來將被存取,并且第二庫的第一行的順序被改變以使第二庫的第一行基于改變后的順序而最后被刷新。因此,第三庫的第一行接下來被刷新,并且第四庫的第一行在第三庫的第一行之后被刷新。此外,第二庫的第一行可最后被刷新。
[0051]在本發明構思的上述實施例中,可以以各種方式實現預測接下來將被存取的庫的操作。例如,可預測由當前接收的請求之后緊接的請求所請求存取的庫,或者可預測由從接下來將接收的多個請求中選擇的至少一個請求所請求存取的庫。
[0052]根據本發明構思的上述實施例,可通過在不干擾現有存取的情況下刷新庫來防止存儲器系統性能的劣化。例如,為了在打開將存取的第一庫的至少一個行的狀態下刷新第一庫,需要在關閉打開的行之后刷新將被刷新的行。可在打開至少一個行的狀態下通過僅向存儲器裝置200提供包括列地址的寫/讀命令來對數據進行存取。然而,當將被存取的第一庫的行被關閉以被刷新時,為了對數據進行存取,需要向存儲器裝置200再次提供打開第一庫的至少一個行的命令。因此,需要在所述行打開之后向存儲器裝置200提供寫/讀命令,并且寫/讀命令根據所述行的規范按預定的時間被推遲。即,當當前存取的庫與將被刷新的庫匹配時,存儲器系統的性能可根據如上所述的時間損耗而降低。
[0053]此外,當與第一庫相應的存取持續時,可保持刷新等待狀態直至與第一庫相應的存取結束,因此保留數據的穩定性可能劣化。然而,根據上述實施例,可通過優先地刷新不具有用于數據存取的打開的行的庫來有效執行刷新操作,因此可提高保留數據的穩定性。
[0054]換言之,根據本發明構思的實施例,通過識別被請求存取的庫(例如,目標庫)來預測接下來的存取順序,因此,可通過優先地刷新將不被存取的庫來降低當前存取的庫與將被刷新的庫匹配的可能性。
[0055]圖2是示出根據本發明構思的實施例的在圖1中的存儲器控制器的框圖。
[0056]如圖2所示,存儲器控制器100包括存取預測器110、刷新管理器120、處理單元130、命令產生器140和命令隊列150。雖然在圖2中未示出,存儲器控制器100也可包括控制存儲器裝置200的其他各種功能塊。此外,圖2的存儲器控制器100的功能塊及其之間的信號收發關系僅是示例,即使各種功能塊和信號收發關系被改變,也可執行根據本發明構思的實施例的各種功能。
[0057]參照圖1和圖2,處理單元130可控制存儲器控制器100的總體操作,因此可控制包括在存儲器控制器100中的各種功能塊。如上所述,存取預測器110可參考從主機接收的被請求存取的庫來選擇被預測為接下來將被存取的至少一個庫,并且可產生其選擇結果(或預測結果Res)。刷新管理器120可管理刷新操作,以使存儲器單元陣列210的每個存儲器單元可在刷新時間段中被刷新,并且可通過確定刷新時序來產生例如刷新命令CMD_Ref和庫地址BA。此外,命令產生器140可根據從主機接收的存取請求來產生命令CMD以及用于指示將被存取的庫的庫地址BA。
[0058]來自刷新管理器120的刷新命令CMD_Ref/庫地址BA以及來自命令產生器140的命令CMD/庫地址BA可被存儲在命令隊列150中。命令隊列150可根據輸入信息的順序來存儲刷新命令CMD_Ref/庫地址BA以及刷新命令CMD/庫地址BA。刷新命令CMD_Ref/庫地址BA或刷新命令CMD/庫地址BA可通過接口以存儲在命令隊列150中的信息的順序被提供給存儲器裝置200。
[0059]同時,可根據存取預測器110的預測結果Res來控制存儲器裝置200的刷新操作。例如,參照如上所述的包括庫的存儲器裝置200,可基于存取預測操作來控制各個庫的刷新順序的改變。
[0060]可基于存取預測器110的預測結果Res來產生改變存儲在命令隊列150中的信息的存儲順序的順序控制信號Ctr l_order。例如,處理單元130可基于預測結果Res來產生順序控制信號Ctrlorder。可選地,在另一示例性實施例中,刷新管理器120可基于預測結果Res來產生順序控制信號Ctrl_order。隨著存儲在命令隊列150中的信息的存儲順序根據順序控制信號Ctr l_order被改變,各個庫的刷新順序可被改變。
[0061]例如,如果某個庫(例如,第一庫)根據存取預測結果需要相對較晚被刷新,則關于指定存儲在命令隊列150中的第一庫的刷新命令CMD_Ref和庫地址BA的信息的存儲位置可被改變,并且所述信息以較晚的順序被輸出。因此,可首先刷新其他庫而不是第一庫。
[0062]圖3是示出根據本發明構思的實施例的在圖1中的存儲器裝置的框圖。圖3的存儲器裝置200僅為示例性實施例,在本發明構思中使用的存儲器裝置的配置可被不同地改變。此外,雖然在圖3中示出第一庫210a至第四庫210d作為多個庫,但是在存儲器裝置200中可廣生更多庫。
[0063]存儲器裝置200可包括至少一個存儲器芯片。圖3中的存儲器裝置200示出任意一個存儲器芯片的配置。存儲器裝置200可包括:包括第一庫210a至第四庫210d的存儲器單元陣列210、與所述庫分別對應布置的行解碼器220a至220d和列解碼器230a至230d、控制邏輯240、地址緩沖器250、刷新地址產生器260、庫控制邏輯270、行地址選擇器281、列地址鎖存器282、輸入/輸出門電路283以及數據輸入/輸出緩沖器284。此外,對應于第一庫210a至第四庫210d,可包括感測放大器。
[0064]同時,存儲器裝置200可以是DRAM(諸如,雙倍數據速率同步動態隨機存取存儲器(DDR SDRAM)、低功耗雙倍數據速率(LH)DR)SDRAM、圖形雙倍數據速率(GDDR)SDRAM或動態隨機存取內存(RDRAM)等)。然而,在本發明構思的其他實施例中,需要刷新操作的任何其他存儲器裝置也可用作存儲器裝置200。例如,因為電阻型存儲器裝置是執行刷新操作的一種非易失性存儲器裝置,所以根據本發明構思的實施例的存儲器裝置200可以是非易失性存儲器。
[0065]控制邏輯240可控制存儲器裝置200的總體操作并且包括例如命令解碼器241和模式寄存器242。控制邏輯240可產生控制信號,從而根據從存儲器控制器100接收的命令CMD執行寫或讀操作。此外,控制邏輯240可根據從存儲器控制器100接收的刷新命令產生用于對于第一庫210a至第四庫210d的刷新操作的控制信號。可選地,控制邏輯240可以以自刷新模式產生用于對于第一庫210a至第四庫210d的刷新操作的控制信號。模式寄存器242可包括存儲用于設置存儲器裝置200的操作環境的信息的多個寄存器。
[0066]地址緩沖器250可接收從存儲器控制器100接收的地址ADD。如上所述,地址ADD可包括庫地址BA。此外,地址ADD可包括指示存儲器單元陣列210的行的行地址R0W_ADD和指示存儲器單元陣列210的列的列地址C0L_ADD。行地址R0W_ADD可通過行地址選擇器281被提供給行解碼器220a至220d,列地址COL_ADD可通過列地址鎖存器282被提供給列解碼器230a至230d ο此外,庫地址BA可被提供給庫控制邏輯270。
[0067]庫控制邏輯270可響應庫地址BA而產生庫控制信號。此外,響應于庫控制信號,第一行解碼器220a至第四行解碼器220d中的與庫地址BA相應的行解碼器可被激活,并且第一列解碼器230a至第四列解碼器230d中的與庫地址BA相應的列解碼器可被激活。
[0068]刷新地址產生器260可產生刷新地址REF_ADD以從存儲器單元陣列210選擇將被刷新的行。例如,刷新地址產生器260可包括計數器(未示出)并且可順序地產生刷新地址REF_ADD,以使刷新地址REF_ADD的值根據計數器的計數操作而增加。行地址選擇器281可以是多路復用器。行地址選擇器281可輸出在數據存取期間從存儲器控制器100提供的行地址R0W_ADD,并且還可輸出在刷新操作期間由刷新地址產生器260產生的刷新地址REF_ADD。雖然圖3的示例性實施例示出指示將被刷新的行的刷新地址REF_ADD在存儲器裝置200中被產生,但是根據本發明構思的實施例,刷新地址REF_ADD也可從存儲器控制器100被提供。
[0069]根據本發明構思的實施例,與第一庫BANKI至第四庫BANK 4的多個行中的任意一個行相應的存儲器單元可被順序地刷新,并且與第一庫BANK I至第四庫BANK 4的另一行相應的存儲器單元可接下來被順序地刷新。當第一庫BANK I至第四庫BANK 4中的每個庫包括A個行時,第一庫BANK I至第四庫BANK 4的各自的第一行可被刷新并且各自的第二行可接下來被刷新。第一庫BANK I至第四庫BANK 4的全部A個行可根據順序操作被刷新。
[0070]根據本發明構思的實施例,可由從存儲器控制器100提供的庫地址BA來選擇將被刷新的庫。此外,如上所述確定被請求存取的庫,并且選擇被預測為接下來被存取的至少一個庫。此外,與第一庫BANK I至第四庫BANK 4相應的刷新順序可基于被預測為接下來被存取的至少一個庫而被改變。因此,第一庫BANK I至第四庫BANK 4的任意一個行中的各個庫的刷新順序可與在其他行中的各個庫的刷新順序不同。例如,雖然對應于第一行以第一庫BANK I至第四庫BANK 4的順序來順序地執行刷新操作,然而對應于第二行可以以第一庫BANK 1、第三庫BANK 3、第四庫BANK 4和第二庫BANK 2的順序來執行刷新操作。
[0071]圖4是示出根據本發明構思的實施例的存儲器系統的操作方法的流程圖。
[0072]首先,存儲器系統可從主機接收對于數據存取的請求和表示被請求存取的存儲器單元的第一地址(Sll)。根據從主機接收的第一地址執行地址分析(或解碼)操作以便選擇存儲器單元,并且可根據結果來確定被請求存取的庫(S12)。此外,可基于被請求存取的庫來執行能夠以各種方式實現的預測操作,并且可選擇被預測為接下來將被存取的至少一個庫作為結果(S13)。
[0073]可基于被請求存取的庫的確定結果和/或庫預測結果來設置各個庫的刷新順序(S14)。可將與被請求存取的庫相應的刷新順序改變為與上述示例性實施例相同或相似。可選地,可改變與被預測為接下來將被存取的至少一個庫相應的刷新順序。可選地,可改變與被請求存取的庫和被預測為接下來將被存取的至少一個庫相應的刷新順序。在改變的刷新順序的示例中,可將被請求存取的庫和/或被預測為接下來將被存取的至少一個庫的刷新順序設置為比其他庫的刷新順序相對更晚。
[0074]可設置存儲器系統的操作環境,使得可根據預定的時間段對于包括在存儲器單元陣列中的每個存儲器單元執行至少一次刷新操作。存儲器系統感測刷新時序是否到來,并且根據設置的順序對于各個庫執行刷新操作(S15)。例如,可產生庫地址,使得可在刷新操作期間根據各個庫的設置順序來選擇庫。
[0075]圖5A和圖5B是示出根據本發明構思的實施例的訪問預測操作的框圖。
[0076]圖5A示出根據本發明構思的實施例的示例,其中,存儲器控制器可存儲至少一個表(例如,第一表Table I和第二表Table 2)。每當從主機接收到請求和地址時,第一表Table I可存儲與存取歷史相關的信息。例如,可存儲請求的類型和與請求的類型相應的庫信息。存儲在第一表Table I中的信息可周期性地被期更新。
[0077]同時,可通過參考存儲在第一表TableI中的信息來分析每個庫的存取模式。可分析具有接下來被存取的更高可能性的庫和具有被存取的更低可能性的庫。例如,可計算根據分析結果的每個庫的存取的可能性,并且可在第二表Table 2中存儲與所述可能性相關的信息。此外,隨著存儲在第一表Table I中的信息周期性地被更新,存儲在第二表Table 2中的信息也可被更新。
[0078]例如,當接收到對于與第一庫BANK I相應的存取的請求時,可參考第二表Table 2來預測接下來的存取順序。當第一庫BANK I被請求存取時,可基于存儲在第二表Table 2中的信息來預測具有接下來被存取的更高可能性的庫,并且可根據預測結果選擇至少一個庫作為被預測為將被存取的庫。類似地,當第二庫BANK 2被存取時,可基于與第一庫BANK I至第四庫BANK 4中的每個庫相應的存取可能性來選擇被預測為將被存取的至少一個庫。對于在第三庫BANK 3和第四庫BANK 4中的每個庫執行如上所述的相同操作。
[0079]在本發明構思的實施例中,當接收到對于與任意一個庫相應的存取的請求時,可根據請求的類型在預測接下來將被存取的庫的步驟中選擇不同的庫。例如,參考存儲在第一表Table I中的信息,當請求與第一庫BANK I相應的寫WR時被預測為接下來將被存取的庫可與當請求與第一庫BANK I相應的讀RD時被預測為接下來將被存取的庫不同。
[0080]同時,如圖5B所示,與數據信息的存儲狀態相關的狀態信息可被存儲在存儲器控制器中。例如,第一數據信息DI I可被存儲在兩個庫(例如,第一庫和第二庫)中,第二數據信息DI 2可被存儲在第二庫BANK 2至第四庫BANK 4中。此外,第三數據信息DI 3可被存儲在第一庫BANK I和第三庫BANK 3中。
[0081]參考被請求存取的存儲器單元的位置,可確定與所述位置相應的庫,并且可確定被預測為接下來將被存取的至少一個庫。例如,當第一庫BANK I被請求存取并且與第一庫BANK I相應的數據歸入第三數據信息DI 3時,能夠預測第三庫BANK 3接下來將被存取。
[0082]圖6是示出根據本發明構思的實施例的設置各個庫的刷新順序的框圖。圖6示出當執行與多個庫的行(例如,一個行)相應的刷新操作時改變各個庫的刷新順序的示例。此外,在圖6中選擇并且最后刷新被預測為接下來將被存取的庫中的一個。然而,本發明構思的實施例不限于此,并且選擇的將被存取的庫的刷新順序可被任意改變。同時,在以下描述的實施例中,為便于解釋,通過預測接下來將被存取而選擇的庫可被稱為存取預測庫。
[0083]參照圖6,由于第一庫BANK I至第四庫BANK 4被設置為被順序地刷新,所以第一庫BANK I的行ROW η被刷新。此外,第二庫BANK 2可通過分析從主機接收的地址被選擇為存取預測庫。
[0084]根據預測的結果,改變刷新操作的順序使得第二庫BANK2被最后刷新并且第三庫BANK 3的行ROW η被相應地刷新。接下來,從主機再次接收請求和地址,并且可通過分析接收到的地址再次執行預測操作。第四庫BANK 4可根據相應的預測結果被選擇為存取預測庫,并且刷新操作的順序被改變使得第四庫BANK 4被最后刷新。
[0085]由于各個庫的刷新順序再次被改變,所以根據當前改變的順序,第二庫BANK2的行ROW η被刷新。接下來,被設置為被最后刷新的第四庫BANK 4的行ROW η被刷新。
[0086]根據本發明構思的實施例,尚未被刷新的剩余庫的刷新順序被改變,使得在刷新操作期間根據對于庫BANK I至BANK 4的改變的順序來執行各個庫的刷新操作。因此,能夠降低將被存取的庫與將被刷新的庫匹配的可能性,從而提高存儲器系統的性能。
[0087]圖7至圖10是示出根據本發明構思的實施例的各個庫的刷新順序的表。雖然為了便于解釋,圖7至圖10示出在一行中改變一次刷新順序的示例,但是刷新順序在對于多個庫的每個行的刷新操作期間可如參考圖6的實施例描述的那樣被改變兩次或多次。此外,參考圖7至圖10的實施例描述設置與第一庫BANK I至第八庫BANK 8相應的刷新順序的示例。
[0088]圖7的實施例描述了每個庫的基本的刷新順序已經被設置并且在設置狀態下刷新順序被改變的示例。例如,基本的刷新順序被設置為從第一庫BANK I至第八庫BANK 8被順序地刷新。
[0089]根據先前設置的順序的與第一行ROWI相應的刷新操作被執行,并且第五庫BANK5可根據對從主機接收的地址進行分析的結果在某個時間點被選擇為存取預測庫。因此,與第一行ROW I相應的刷新順序被改變,使得第五庫RANK 5被最后刷新。
[0090]與第一庫BANKI至第八庫BANK 8的第二行ROW 2相應的刷新操作也可根據預先設置的順序被執行。因此,刷新操作可從第一庫BANK I的第二行ROW 2開始被執行。由于第二庫BANK 2可根據對從主機接收的地址進行分析的結果而在某個時間點被選擇為存取預測庫,所以刷新操作的順序被改變,使得第二庫BANK 2被最后刷新。
[0091]同時,第四庫BANK4可在與第二行ROW 2相應的刷新操作期間根據預測結果被選擇為存取預測庫。由于第四庫BANK 4的第二行ROW 2已經被刷新,所以第四庫BANK 4在與第二行ROW 2相應的刷新操作中不再被選擇。因此,不管預測結果是什么,刷新順序不會被改變,并且預測結果可被忽略。
[0092]第三行ROW 3和第四行ROW 4也可以以與上述相同或相似的方式被刷新。由于第七庫BANK 7可在與第三行ROW 3相應的刷新操作期間根據預測結果被選擇為存取預測庫,所以第七庫BANK 7的順序被改變,使得第七庫被最后刷新。此外,由于第二庫BANK 2可在與第四行ROW 4相應的刷新操作期間根據預測結果被選擇為存取預測庫,所以第二庫BANK 2的順序被改變,使得第二庫被BANK2最后刷新。
[0093]同時,圖8的實施例描述了每個庫的基本的刷新順序未被預先設置并且在先前的行設置的每個庫的刷新順序也影響與后一行相應的刷新順序的示例。
[0094]刷新順序被設置為從第一庫BANK I至第八庫BANK 8被順序地刷新。因此,刷新操作可從第一庫BANK I的第一行ROW I開始被順序地執行。
[0095]第六庫BANK6可根據對從主機接收的地址進行分析的結果在某個時間點被選擇為存取預測庫。因此,與第六庫BANK 6的第一行ROW I相應的刷新順序被改變,使得第六庫被最后刷新。
[0096]接下來,與第一庫BANK I至第八庫BANK 8的第二行ROW 2相應的刷新操作可根據最終改變的刷新順序被執行。第四庫BANK 4可根據對從主機接收的地址進行分析的結果在某個時間點被選擇為存取預測庫。因此,與第四庫BANK 4的第二行ROW 2相應的刷新順序被改變,使得第四庫被最后刷新。由于第六庫BANK 6已被設置為被最后刷新,所以與第二行ROff 2相應的刷新順序被改變,使得第四庫BANK 4在第六庫BANK 6之后被刷新。
[0097]第三行ROW 3至第五行ROW 5也可以以與上述相同或相似的方式被刷新。第二庫BANK 2可根據對從主機接收的地址進行分析的結果在某個時間點被選擇為存取預測庫。因此,與第三行ROW 3相應的刷新操作被改變,使得第二庫BANK 2在第六庫BANK 6和第四庫BANK 4被刷新之后被刷新。此外,與上述情況類似,當在與第三行ROW 3相應的刷新操作期間第三行ROW 3被刷新的一個庫(例如,第五庫BANK 5)被預測為接下來將被存取時,與所述庫相應的預測結果可被忽略。
[0098]同時,圖9的實施例描述了對于被預測為接下來將被存取的庫的刷新操作根據恒定間隔被延遲而不是被最后刷新的示例。雖然圖9的示例性實施例示出了通過延遲兩次刷新操作來調整庫的刷新順序,但是示例性實施例不限于此并且可被不同地改變。此外,與圖7的實施例相似,在圖9的示例性實施例中反映了預先設置每個庫的基本的刷新順序的示例。然而,本實施例也可包括參考圖8的示例性實施例描述的特征。
[0099]當刷新第一行ROWI時,第六庫BANK 6可根據對從主機接收的地址進行分析的結果而在某個時間點被選擇為存取預測庫。因此,第六庫BANK 6的第一行ROW I的刷新操作可被延遲兩次(或其他庫中的兩個庫被先刷新),因此第六庫BANK 6的第一行ROW I可在第八庫BANK 8被刷新之后被刷新。
[0100]類似地,第三庫BANK3的刷新順序可在與第二行ROW 2相應的刷新操作期間根據存取預測結果而被調整,并且由于刷新操作被延遲兩次,第三庫BANK 3的第二行ROW 2可在第五庫BANK 5被刷新之后被刷新。此外,第二庫BANK 2的第三行ROW 3可在與第三行ROW 3相應的刷新操作期間在第四庫BANK 4被刷新之后被刷新。
[0101]同時,如關于第四行ROW4所述,當第七庫BANK 7的刷新順序根據存取預測結果需要被調整時,無法延遲兩次第七庫BANK 7的刷新操作。因此,第七庫BANK 7的第四行ROW 4可在第八庫BANK 8的第四行ROW 4被刷新之后被刷新。
[0102 ]同時,圖1O的實施例描述了改變至少兩個庫的刷新順序的示例。與圖7的實施例相似,圖10的示例反映了預先設置每個庫的基本的刷新順序的示例。但是,本實施例可包括對于圖8的示例性實施例描述的特征。
[0103]如圖10所示,在執行對于一個行的刷新操作的步驟中可改變至少兩個庫的刷新順序。即,與上述實施例相同或相似,可通過根據預測結果選擇至少兩個庫來調整刷新順序。可選地,可調整當前被請求存取的庫的刷新順序以使當前被請求存取的庫相對更晚被刷新。可對于第一行ROW I和第二行ROW 2改變兩個庫的刷新順序,可對于第三行ROW 3改變三個庫的刷新順序,并且可對于第四行ROW 4改變一個庫的刷新順序。
[0104]圖11和圖12是示出根據本發明構思的實施例的存儲器控制器與存儲器裝置之間的信號收發的框圖。
[0105]圖11的實施例示出了存儲器控制器100在對于存儲器系統10的刷新操作期間向存儲器裝置200提供刷新地址作為行地址R0W_ADD的示例。在執行刷新操作時,存儲器控制器100可產生庫地址BA并向存儲器裝置200提供庫地址BA以便經由命令刷新操作的刷新命令CMD_Ref來匹配根據上述實施例的能被刷新的各個庫的刷新順序。此外,存儲器控制器100可產生行地址R0W_ADD并向存儲器裝置200提供行地址R0W_ADD以指示每個庫的將被刷新的行。
[0106]同時,在圖12的實施例中,安裝在存儲器裝置200中的地址計數器261可在存儲器系統10的刷新操作期間產生用于指示每個庫的將被刷新的行的刷新地址。地址計數器261可被包括在圖3的存儲器裝置200的刷新地址產生器260中。
[0107]圖13和圖14是示出根據本發明構思的實施例的刷新操作的示例中的信號的波形圖。
[0108]圖13示出表示在庫BANK O中的存儲器操作時序的示例。各種命令ACT I和ACT 2被提供給庫BANK 0,并因此庫BANK O的一個行打開。當所述行打開預定時間區段DES時,可提供寫命令WR I和列信息CAS 2。此外,當提供用于關閉打開的行的命令PRE_M#,庫BANK O的打開的行關閉預定時間區段DES。當對于庫BANK 0,存取操作與刷新操作匹配時,刷新操作在長時間區段期間被延遲,或者可由于對于BANK O的存取操作的停止和對所述行的打開處理和關閉處理的重復而發生時間損耗。
[0109]相反,如圖14所示,可通過不將執行存取操作的庫與執行刷新操作的庫進行匹配來有效地使用多庫結構。即,可在預定的時間區段DES之間適當地執行與其他庫相應的各種命令WR UCAS 2、RD I和CAS 2,以打開庫BANK O的行。當圖14的與其他庫相應的各種命令WR UCAS 2,RD I和CAS 2通過刷新命令被替換時,可見,其他庫BANK I和BANK 2可在不中斷對于庫BANK O的存取操作的情況下被有效地刷新。
[0110]在下文中,將描述根據本發明構思的實施例的調整各個庫的刷新順序的各種示例。為便于解釋,將關于行為單位來描述各個庫的刷新順序。然而,本發明構思的實施例中,在執行如上所述的對于任意一行的刷新操作的同時,可改變刷新順序。
[0111]圖15A和圖15B是示出根據本發明構思的另一實施例的設置各個庫的刷新順序的框圖。
[0112]參照圖15A和圖15B,第一庫BANK I至第四庫BANK 4被設置為被順序地刷新,因此第一庫BANK I至第四庫BANK 4的第一行ROW I從第一庫BANK I至第四庫BANK 4被順序地刷新。
[0113]當從主機接收到請求和與該請求相應的地址時,通過分析所述地址來確定被請求存取的庫,此外,選擇被預測為接下來將被存取的至少一個庫。例如,當前被請求存取的庫可對應于第一庫BANK I,被預測為接下來將被存取的庫可對應于第二庫BANK 2。可根據確定和預測的結果在接下來的刷新操作中改變各個庫的刷新順序。
[0114]在本發明構思的實施例中,當前被請求存取的庫和被預測為接下來將被存取的庫可被設置為比其他庫更晚被刷新。此外,在本發明構思的實施例中,當前被請求存取的庫(例如,BANK I)或被預測為接下來將被存取的庫(例如,BANK 2)可被設置為被最后刷新。在如圖15A所示的實施例中,當第一庫BANK I和第二庫BANK 2被設置為相對更晚被刷新時,第二庫BANK 2可被設置為在第一庫BANK I被刷新之后被刷新。
[0115]因此,如圖15B所示,在第一庫BANK I至第四庫BANK 4的第二行ROW 2之后可以以第三庫BANK 3、第四庫BANK 4、第一庫BANK I和第二庫BANK 2的順序來執行刷新操作。當從主機再次接收到請求和地址時,可根據地址分析來確定當前被請求存取的庫和被預測為接下來將被存取的庫。因此,可再次改變各個庫的刷新順序。
[0116]圖16A和圖16B是示出根據本發明構思的另一實施例的設置各個庫的刷新順序的框圖。圖16A和圖16B示出存儲器裝置包括BANK I至BANK 8八個庫的示例。
[0117]參照圖16A和圖16B,由于第一庫BANK I至第八庫BANK 8被設置為被順序地刷新,因此第一庫BANK I至第八庫BANK 8的第一行ROW I從第一庫BANK I至第八庫BANK 8被順序地刷新。接下來,可通過分析來自主機的地址來確定被請求存取的庫,并且可選擇被預測為接下來將被存取的至少一個庫。例如,當前被請求存取的庫可對應于第一庫BANK 1,存取預測庫可對應于第三庫BANK 3。
[0118]在本發明構思的實施例中,包括存取預測庫(例如,BANK3)的至少兩個庫可被設置為比其他庫更晚被刷新。例如,當特定單元的數據信息被寫入至少兩個庫時,所述至少兩個庫彼此物理相鄰或邏輯相鄰的可能性可能很高。因此,當請求與任意一個庫相應的存取時,其他庫與被請求存取的庫物理相鄰或邏輯相鄰的可能性也可能很高。因此,如圖16A所示,當第三庫BANK 3被預測為接下來將被存取時,與第三庫BANK 3相鄰的至少一個庫(例如,BANK 2和BANK 4)可被一起選擇,并且第二庫BANK 2至第四庫BANK 4可被設置為比其他庫更晚被刷新。
[0119]圖16A示出根據另一實施例的以第二庫BANK 2、第三庫BANK 3和第四庫BANK 4的順序的刷新操作,但是實施例不限于此。即,選擇的庫BANK 2至BANK 4的刷新順序可被任意設置。例如,被預測為接下來將被存取的第三庫BANK 3可在與第三庫BANK 3相鄰的第二庫BANK 2和第四庫BANK 4被刷新之后被刷新。相反,第二庫BANK 2和第四庫BANK 4可在第三庫BANK 3被刷新之后被刷新。
[0120]因此,如圖16B所示,在第一庫BANK I至第八庫BANK 8的第二行ROW 2之后,第二庫BANK 2至第四庫BANK 4比其他庫更晚被刷新。可通過稍后從主機再次接收請求和地址來確定被預測為接下來將被存取的庫和與其相鄰的庫,并且可基于此再次改變各個庫的刷新順序。
[0121]圖17是示出根據本發明構思的另一實施例的存儲器控制器的框圖。圖17示出基于優先信息Inf o_pr i or設置各個庫的刷新順序的示例。
[0122]如圖17所示,存儲器控制器300包括地址解碼器310、存取預測器320、刷新管理器330、調度器340、命令產生器350和接口單元360。
[0123]地址解碼器310可從外部裝置接收地址并且對該地址執行解碼操作。存儲器控制器300可根據從外部裝置(例如,主機)接收的地址管理對于各個庫的存儲器操作,并且可通過對從主機接收的地址進行解碼來確定被請求存取的庫。此外,可向存取預測器320提供地址解碼結果,并且可由存取預測器320通過與參考以上示例性實施例描述的方法相同或相似的方法來選擇被預測為接下來將被存取的至少一個庫。
[0124]刷新管理器330可基于來自存取預測器320的庫選擇結果來管理存儲器裝置的刷新操作。刷新管理器330可通過刷新命令產生表示將被刷新的庫的庫地址BA,并且可向調度器340提供庫地址BA。此外,還可基于關于當前被請求存取的庫和/或被預測為接下來將被存取的至少一個庫的信息來向調度器340提供表示與刷新命令相應的庫是否需要被優先刷新的優先信息Inf o_pr i or。
[0125]命令產生器350產生與主機提供的各種請求相應的命令。調度器340可執行與來自命令產生器350的各種命令和刷新管理器330提供的刷新命令相應的調度,并且可經由接口單元360向存儲器裝置提供用于控制存儲器裝置的命令和地址。
[0126]調度器340可基于對應于每個庫地址BA進一步提供的優先信息Info_pr1r來確定各個庫的刷新順序,并且可根據確定的順序來控制將被刷新的庫。可通過使用與在以上的示例性實施例中描述的方法相同或相似的方法以一定的順序來調度存儲器操作和刷新操作,以使將被刷新的庫與至少一行被打開以被存取的庫不匹配。
[0127]圖18A和圖18B是示出根據本發明構思的實施例的設置各個庫的刷新順序的另一示例的框圖。圖18A和圖18B示出根據聯合電子元件工程委員會(JEDEC)標準設置各個庫的刷新順序的示例。
[0128]參照圖18A和圖18B,由于第一庫BANK I至第四庫BANK 4被設置為順序地被刷新,所以第一庫BANK I至第四庫BANK 4的第一行ROW I從第一庫BANK I至第四庫BANK 4被順序地刷新。接下來,可通過分析來自主機的地址來確定被請求存取的庫,并且可選擇被預測為接下來將被存取的至少一個庫。例如,第一庫BANK I至第三庫BANK 3可被預測為接下來將被存取。
[0129]當被預測為接下來將被存取的庫相對較晚被刷新時,在與第一庫BANKI至第四庫BANK4的第二行ROW 2相應的刷新操作中,第四庫BANK 4可被首先刷新,并且剩余的庫BANKI至BANK 3可接下來被刷新。最近一次被刷新的庫不與JEDEC標準完全匹配,以便不繼續執行刷新操作。即,由于第四庫BANK 4的第一行ROW I被刷新并且第四庫BANK 4的第二行ROW2被繼續刷新,所以JEDEC標準不完全匹配。
[0130]根據本發明構思的實施例,可參考存取預測結果和關于最近刷新的庫的信息來設置各個庫的刷新順序。例如,如圖18A和圖18B所示,通過刷新被預測為接下來將被存取的第一庫BANK I至第三庫BANK 3中的任意一個庫以及通過刷新未被預測為將被存取的第四庫BANK 4來滿足JEDEC標準。接下來,可刷新被預測為接下來將被存取的第一庫BANK I至第三庫BANK 3中的剩余庫BANK I和BANK 2。
[0131]以上實施例描述了從被預測為接下來將被存取的第一庫BANKI至第三庫BANK 3中任意選擇一個庫的方法,但是本發明構思的實施例不限于此。例如,當預測接下來將被存取的庫時,具有最高預測可能性的庫和具有最低預測可能性的庫可被彼此區分,并且具有最低預測可能性的庫可優先于第四庫BANK 4被刷新。可選地,在以上實施例中,當任意一個庫被預測為接下來將被存取并且與所述庫物理相鄰或邏輯相鄰的庫的刷新順序被改變時,相鄰的庫中的任意一個可優先于第四庫BANK 4被刷新。
[0132]圖19是示出根據本發明構思的另一實施例的存儲器系統的操作方法的流程圖。
[0133]如圖19所示,存儲器系統可經由來自主機的用于與數據相應的存取請求來接收表示被請求存取的存儲器單元的地址(S21)。可通過分析接收的地址來確定存儲器裝置的被請求存取的庫(例如,目標庫),并且可打開目標庫的行(S22)。在行被打開之后在規定的時間流逝之后,由于具有列信息的信號被提供給存儲器裝置,所以數據可被存取(S23)。
[0134]存儲器系統可管理與多個庫相應的刷新操作以便穩定地保留數據。存儲器控制器確定刷新時序(S24),根據當前設置的各個庫的刷新順序指定庫,并且執行刷新操作。
[0135]存儲器控制器在產生用于指定將被刷新的庫的庫地址之前,確定當前將被刷新的庫(例如,第一庫)是否是為了存取數據而行被開啟的庫(S25)。即,在當如上所述行被開啟以存取數據的狀態下,可執行對于行沒有被打開的庫的刷新操作,而不管其他庫的行的打開/關閉狀態,但是當刷新所述行被開啟的庫被刷新時需要對于所述行的關閉操作。
[0136]當根據當前設置的順序的將被刷新的第一庫的至少一個行未開啟時,可刷新第一庫(S26)。然而,當將被刷新的第一庫的至少一個行已經開啟時,重設各個庫的刷新順序以防止所述行被開啟的庫與將被刷新的庫匹配(S27)。可通過重設順序來改變當前將被刷新的庫,因此可執行對于其他庫而不是第一庫的刷新操作(S28)。
[0137]圖20是示出根據本發明構思的實施例的包括存儲器控制器和存儲器裝置的數據處理系統的框圖。
[0138]如圖20所示,數據處理系統20包括作為主機操作的應用處理器400和存儲器裝置500。各種類型的存儲器可被用作存儲器裝置500。例如,根據以上示例性實施例的DRAM或需要刷新操作的其他各種存儲器裝置(例如,諸如電阻型存儲器的非易失性存儲器)也可被用作存儲器裝置500。此外,雖然在圖20中未示出,但是根據示例性實施例的存儲器裝置可被實現為應用處理器400中的嵌入式存儲器。
[0139]應用處理器400可被實現為片上系統(SoC)AoC可包括使用基于預定的總線標準的協議的系統總線(未示出)。各種知識產權(IP)可連接到系統總線。可應用先進RI SC芯片(ARM)有限公司的技術作為系統總線標準。總線類型的AMBA協議中可包括先進高性能總線(AHB)、先進外設總線(APB)、先進可擴展接口(AXI)、AXI 4、AXI—致性擴展(ACE)。除此之夕卜,也可使用其他協議(諸如SONIC公司的uNe twork、IBM的片上互連總線或者開放式內核協議國際同盟(OCP-1P)的開放內核協議)。
[0140]應用處理器400包括存儲器控制模塊410以便控制存儲器裝置500。存儲器控制模塊410可對應于根據以上示例性實施例的存儲器控制器。此外,存儲器裝置500包括分別包括存儲器單元的多個存儲器區域510,并且每個存儲器區域可對應于以上描述的庫中的一個。因此,存儲器控制模塊410包括存取預測器411和刷新操作管理器412,并且可根據以上示例性實施例以區域為單位管理存儲器裝置500的存儲器操作。在刷新操作中,存取預測器411可確定當前被請求存取的存儲器區域和/或被預測為接下來將被存取的存儲器區域,并且可提供確定的結果。刷新操作管理器412可基于確定的結果設置存儲器區域510的刷新順序。
[0141]存儲器控制模塊410可提供命令CMD和庫地址BA以便根據設置的刷新順序來執行與存儲器裝置500相應的刷新操作。此外,可根據存儲器操作(諸如數據存取)在應用處理器400和存儲器裝置500之間收發數據DATA。
[0142]圖21是示出根據本發明構思的實施例的存儲器模塊的示圖。
[0143]參照圖21,存儲器模塊600包括多個存儲器芯片610和緩沖器芯片620。存儲器模塊600可包括各種類型的存儲器模塊(例如,負載降低雙列直插存儲器模塊(LR-DHM)或其他存儲器模塊)。存儲器模塊600可經由緩沖器芯片620從連接到存儲器模塊600的存儲器控制器601接收命令CMD、地址ADD或數據DATA。
[0144]緩沖器芯片620可根據從存儲器控制器601接收的命令CMD和地址ADD來控制存儲器芯片610的刷新操作。此外,緩沖器芯片620可根據以上示例性實施例管理對于每個存儲器芯片610中的多個庫的各個刷新操作。即,在現在描述的實施例中,可在緩沖器芯片620中執行存取預測操作和/或刷新順序設置操作。
[0145]因此,緩沖器芯片620包括存取預測器621和刷新管理器622。存取預測器621可通過分析從存儲器控制器601接收的地址ADD來確定當前被請求存取的存儲器區域和/或被預測為接下來將被存取的存儲器區域。刷新操作管理器622可基于確定的結果設置存儲器區域610的刷新順序。
[0146]在實施例中描述了在緩沖器芯片620中執行存取預測操作和/或刷新順序設置操作,但是本發明構思的實施例不限于此。例如,可在存儲器控制器601中執行存取預測操作,并且存儲器控制器601可向緩沖器芯片620提供表示存取預測結果的附加的信息。緩沖器芯片620可參考從存儲器控制器601提供的附加的信息來管理對于每個存儲器芯片610中的庫的各個刷新操作。
[0147]圖22是示出根據本發明構思的實施例的包括存儲器系統的計算系統的框圖。本發明構思的存儲器裝置可以是安裝在計算系統700(諸如移動裝置或桌上計算機)中的隨機存取存儲器(RAM)720。可使用以上實施例中的任意一個作為安裝為RAM 720的存儲器裝置。此夕卜,可在RAM 720中形成本發明構思的存儲器控制器作為存儲器控制模塊或者在中央處理器710中實現本發明構思的存儲器控制器作為存儲器控制模塊。
[0148]根據本發明構思的實施例的計算系統700包括分別電連接到總線750的中央處理器710、RAM 720、用戶接口730和非易失性存儲器740。可使用海量存儲裝置(諸如固態驅動器(SSD)或硬盤驅動器(HDD))作為非易失性存儲器740。
[0149]由于在計算系統700中使用根據本實施例的存儲器裝置(或存儲器系統),所以安裝在RAM 720中的存儲器控制器和/或安裝在中央處理器710中的存儲器控制模塊可執行根據本發明構思的實施例的存取預測操作和/或刷新順序設置操作。即,RAM 720包括多個存儲器區域(例如,庫),并且與每個庫相應的刷新操作可被管理。
[0150]如在本發明構思的領域中慣用的,可根據執行描述的功能的塊來描述和示出實施例。可在這里被稱為單元或模塊等的這些塊由模擬電路和/或數字電路(諸如邏輯門)、集成電路、微處理器、微控制器、存儲器電路、無源電子組件、有源電子組件、光學組件、硬連線電路等來物理實現,并且可由固件和/或軟件被選擇性地驅動。例如,所述電路可被包含在一個或多個半導體芯片中或被包含在基底支撐(諸如印制電路板)上等。組成塊的電路可被專用硬件或者處理器(例如,一個或多個編程的微處理器和關聯電路)實施,或者被執行所述塊的一些功能的專用硬件和執行所述塊的其他功能的處理器的組合實施。在不脫離本發明構思的范圍的情況下,實施例的每個塊可被物理分為兩個或多個交互和分立的塊。同樣地,在不脫離本發明構思的范圍的情況下,實施例的塊可被物理組合為更復雜的塊。
[0151]雖然已參考本發明構思的示例性實施例具體地示出并描述了本發明構思,但是將會理解,在不脫離權利要求的精神和范圍的情況下,可在其中進行形式和細節上的各種改變。
【主權項】
1.一種被配置為管理與多個庫相應的存取操作的存儲器控制器的控制方法,所述控制方法包括: 通過分析地址,來確定所述多個庫中的被請求存取的一個庫; 基于確定的結果選擇所述多個庫中的被預測為將被存取的至少一個庫; 基于選擇的結果設置所述多個庫的刷新順序; 基于刷新順序控制對于所述多個庫的刷新操作。2.如權利要求1所述的控制方法,其中,選擇所述至少一個庫的步驟包括:基于確定的結果和與所述多個庫中的每個庫相應的存取的可能性,來選擇所述至少一個庫,所述可能性基于與對于存取的請求相關的存取歷史和與所述對于存取的請求相應的庫地址來確定。3.如權利要求1所述的控制方法,其中,選擇所述至少一個庫的步驟包括:基于數據信息以包括多個數據塊的單位被存儲在所述庫中的狀態來選擇與被請求存取的庫相關的至少一個其他庫。4.如權利要求1所述的控制方法,其中,選擇所述至少一個庫的步驟包括:基于確定的結果選擇所述多個庫中的未被刷新的庫中的至少一個庫。5.如權利要求1所述的控制方法,其中,設置所述多個庫的刷新順序的步驟包括:設置被預測為接下來將被存取的至少一個庫的刷新順序以使所述被預測為接下來將被存取的至少一個庫比其他庫更晚被刷新。6.如權利要求1所述的控制方法,其中,設置所述多個庫的刷新順序的步驟包括:基于選擇的結果改變所述多個庫中的未被刷新的庫的刷新順序。7.如權利要求1所述的控制方法,其中,所述至少一個庫包括第一庫至第N庫,N是等于或大于二的整數, 其中,設置所述多個庫的刷新順序的步驟包括:當第一庫被請求存取并且第二庫被預測為接下來將被存取時,將第二庫的刷新順序設置為比第一庫的刷新順心晚。8.如權利要求1所述的控制方法,其中,所述至少一個庫包括第一庫至第N庫,N是等于或大于二的整數, 其中,設置所述多個庫的刷新順序的步驟包括:當第一庫被請求存取并且第二庫被預測為接下來將被存取時,將第一庫和第二庫的刷新順序設置為比其他庫的刷新順序更晚。9.如權利要求1所述的控制方法,其中,所述多個庫中的每個庫包括多個行, 刷新操作以所述多個庫中的每個庫的行為單位被執行, 設置所述多個庫的刷新順序的步驟包括:設置所述多個庫中的每個庫的所述多個行中的任意一個行的刷新順序。10.如權利要求1所述的控制方法,其中,控制刷新操作的步驟包括:基于刷新順序向存儲器裝置提供刷新命令和庫地址。11.如權利要求1所述的控制方法,其中,存儲器控制器是包括在應用處理器中的存儲器控制模塊。12.—種被配置為管理多個存儲器區域的存儲器控制器的控制方法,所述控制方法包括: 執行與在所述多個存儲器區域中的一個或多個區域相應的刷新操作; 從外部裝置接收對于存取的請求和與所述對于存取的請求相應的地址; 基于所述地址改變未被刷新的剩余的存儲器區域的刷新順序; 基于改變的刷新順序執行與剩余的存儲器區域相應的刷新操作。13.如權利要求12所述的控制方法,其中,所述多個存儲器區域是庫。14.如權利要求12所述的控制方法,其中,改變刷新順序的步驟包括:基于當前被請求存取的庫和/或被預測為接下來將被存取的庫,改變刷新順序。15.如權利要求12所述的控制方法,其中,改變刷新順序的步驟包括:改變刷新順序以使具有已經開啟以存取數據的至少一個行的庫不被刷新。16.—種包含包括第一庫和第二庫的多個庫的存儲器系統的控制方法,所述控制方法包括: 根據外部地址選擇被請求存取的第一庫; 通過參考信息來將第二庫確定為被預測為將被訪問的庫; 調整第二庫的刷新順序,以使將被存取的庫與將被刷新的庫不匹配; 對第一庫的數據進行存取; 在結束第二庫的數據存取操作并且第二庫的行被關閉之后,刷新第二庫。17.如權利要求16所述的控制方法,其中,對于數據存取的存取命令和對于刷新操作的刷新命令被存儲在命令隊列中, 調整刷新順序的步驟包括:基于將第二庫確定為被預測為將被存取的庫結果,改變存儲在命令隊列中的命令的位置。18.如權利要求17所述的控制方法,其中,存儲器系統包括存儲器控制器和存儲器裝置, 刷新操作通過基于確定第二庫被預測為將被存取的結果從存儲器控制器提供的庫地址以及通過刷新地址被執行。19.如權利要求16所述的控制方法,其中,所述多個庫中的每個庫包括多個行, 對于所述多個庫的第一行的刷新順序和所述多個庫的第二行的刷新順序彼此不同。20.如權利要求16所述的控制方法,其中,存儲器系統包括存儲包括存取歷史的信息的表,其中,確定的步驟包括:通過參考所述表來將第二庫確定為被預測為將被存取的庫。
【文檔編號】G11C11/409GK106024052SQ201610186832
【公開日】2016年10月12日
【申請日】2016年3月29日
【發明人】金紋慶
【申請人】三星電子株式會社