用于使dram和mram訪問交錯的存儲器控制器和方法
【專利說明】用于使DRAM和MRAM訪問交錯的存儲器控制器和方法
[0001 ] 本申請是本申請人于2011年12月16日提交的申請號為201180066332.4、發明名稱為“用于使DRAM和MRAM訪問交錯的存儲器控制器和方法”的發明專利申請的分案申請。
技術領域
[0002]在本文中描述的示例性實施例一般地涉及存儲器控制器,并且更具體地涉及存儲器系統和方法,其包括用于使具有不同等待時間和頁面尺寸的同步動態隨機存取存儲器(SDRAM)和自旋扭矩磁性隨機存取存儲器(ST-MRAM)交錯的存儲器控制器。
【背景技術】
[0003]計算機的速度很大部分由處理器的速度和在處理器與存儲器之間快速地移動數據的能力確定。從存儲器進行的數據傳輸已隨著處理器與存儲器之間的多通道或多路徑的使用而增加。
[0004]等待時間指的是在存儲器與處理器之間傳送數據時的延遲,并且通常按時鐘循環來測量。該處理器通常比存儲器更快,因此其必須當存儲器的適當段在數據能夠被傳送回到處理器之前被定位并被讀取時延遲(等待)。存儲在存儲器中的數據以組定義。一個序列是在第一方向上(列)的多個組,并且一個通道是在第二方向上(行)的多個組。用于訪問存儲器的過程包括行和列識別所需的多個時鐘循環及讀或寫指令。SDRAM與具有同步接口的系統總線同步,并且因此在對控制輸入進行響應之前等待時鐘信號且因此與計算機的系統總線同步。
[0005]存儲器控制器管理到和來自存儲器的數據的流動。其可以是單獨芯片或被集成到另一芯片例如處理器中。用于數據傳輸的帶寬可以包括一行的數千個位。雙倍數據速率(DDR)存儲器控制器驅動存儲器,其中,在存儲器時鐘的上升和下降訪問上傳輸數據。此DDR存儲器控制器允許在不增加時鐘速率或不增加總線寬度的情況下向存儲器雙倍傳輸數據。DDR2使最小讀或寫單元加倍至四個連續字。DDR3將最小讀或寫單元再次加倍至八個連續字。這在不必改變內部操作的時鐘速率、僅僅是寬度的情況下提供了帶寬和外部總線速率的另一加倍。此增加的讀或寫單元的不利方面是等待時間的增加。
[0006]雖然訪問SDRAM的存儲器控制器和方法是已知的,且訪問例如ST-MRAM的其他類型的存儲器的存儲器控制器和方法是已知的,但并不知曉描述單個存儲器控制器對SDRAM和ST-MRAM 二者訪問和交錯。ST-MRAM利用替換方法以便對磁性隧道結(MTJ)元件進行編程,其具有進一步簡化MRAM存儲單元并降低寫功率的潛力。不同于其中借助于外場來執行編程的常規MRAM,ST-MRAM編程是通過驅動電流直接地通過MTJ以改變自由層的極化方向來實現的。
[0007]DDR3ST-MRAM具有比DDR3DRAM更長的激活和預充電操作等待時間。在激活操作期間,從存儲器陣列讀取一頁數據并存儲在本地數據倉庫鎖存器中以用于到本地數據倉庫鎖存器的后續讀和寫操作。激活操作可以由激活命令或執行相同操作的任何其他命令發起。在預充電操作期間,來自本地數據倉庫鎖存器的數據被寫回到存儲器陣列,并且作為結果,該頁在沒有新的激活操作的情況下被認為是關閉或不可訪問的。預充電操作可以由預充電或自動-預充電命令或執行相同操作的任何其他命令發起。除激活和預充電操作等待時間之外,ST-MRAM的頁面尺寸(例如512位)小于DRAM的頁面尺寸(達到16k位)。因此,ST-MRAM中的打開頁面在ST-MRAM芯片中的本地數據倉庫鎖存器中具有較少數量的位。由于頁面尺寸差異,在對ST-MRAM的激活操作之后讀或寫整個頁面的讀和寫操作(響應于讀或寫命令的操作,從或向本地數據倉庫鎖存器讀或寫較小組的數據位,例如128位)的數目小于DRAM的操作的數目。當系統使用DDR3ST-MRAM和DRAM(由于存儲器的高密度或來自ST-MRAM存儲器部分要求的非易失性)二者時,將需要兩個或更多存儲器控制器以管理ST-MRAM和DRAM中的不同等待時間和頁面尺寸。除現有DDR3DRAM通道之外,DDR3ST-MRAM還將需要與其自己的存儲器控制器相關聯的專用通道(更多地址、數據、控制引腳和路由)。
[0008]相應地,期望的是提供用于在序列或通道級上使由SDRAM和ST-MRAM組成的存儲器交錯并減少其等待時間的存儲器控制器和方法。此外,根據結合附圖及前述技術領域和【背景技術】進行的后續詳細描述和所附權利要求,示例性實施例的其他期望特征和特性將變得顯而易見。
【發明內容】
[0009]提出了用于單獨編程的激活和預充電等待時間以及用于非易失性存儲器的頁面尺寸的使易失性和非易失性存儲器訪問交錯的設備和方法。
[0010]—種存儲器系統包括:存儲器,包括包括第一部分和第二部分的多個易失性存儲器組;以及至少一個非易失性存儲器組,包括與第一部分和第二部分以序列或列中的一個配置的至少第三部分;以及存儲器控制器,被耦合到易失性存儲器組和非易失性存儲器組,并被配置成使激活、讀、寫和預充電操作對第一、第二和第三部分的應用同步。
[0011]使易失性和非易失性存儲器訪問交錯的第一示例性方法包括包括第一部分和第二部分的多個易失性存儲器組以及至少一個非易失性存儲器組,該非易失性存儲器組包括與第一部分和第二部分以序列或列中的一個配置的至少第三部分,該方法包括使激活、讀、寫和預充電操作對第一、第二和第三部分的應用同步。
[0012]使易失性和非易失性存儲器訪問交錯的第二示例性方法包括a)接收激活操作發起命令;b)確定序列地址是否等于非易失性存儲器序列地址;c)如果步驟b)為否,則在易失性存儲器序列中發起激活操作;d)將易失性存儲器等待時間計數器復位為A;e)如果A不等于易失性存儲器等待時間,則增量A并重復步驟e);f)如果A等于易失性存儲器等待時間,則執行易失性存儲器讀/寫操作;g)發起易失性存儲器預充電操作;h)將易失性存儲器預充電等待時間計數器復位為B;i)如果B不等于易失性存儲器預充電等待時間,則增量B并重復步驟i)直至B等于易失性存儲器預充電等待時間;j)如果步驟b)為是,則在非易失性存儲器序列中發起激活操作;k)將非易失性存儲器激活等待時間計數器復位為C;l)如果C不等于非易失性存儲器等待時間,則增量C并重復步驟I) ;m)如果C等于非易失性存儲器等待時間,則執行非易失性存儲器讀/寫操作;η)發起非易失性存儲器預充電操作;ο)將非易失性存儲器預充電等待時間計數器復位為D;以及P)如果D不等于非易失性存儲器預充電等待時間,則增量D并重復步驟P)直至D等于非易失性存儲器預充電等待時間。
[0013]使易失性和非易失性存儲器訪問交錯的第三示例性方法包括使易失性和非易失性存儲器訪問交錯,包括a)在易失性存儲器序列和非易失性存儲器序列中發起激活操作;
b)將易失性存儲器激活等待時間計數器復位為A;c)如果A不等于易失性存儲器激活等待時間,則增量A并重復步驟c);d)如果A等于易失性存儲器,執行易失性存儲器讀/寫操作;e)發起易失性存儲器預充電操作;f)將易失性存儲器預充電等待時間計數器復位為B;g)如果B不等于易失性存儲器預充電等待時間,則增量B并重復步驟g)直至B等于易失性存儲器預充電等待時間;h)在步驟a)之后,將非易失性存儲器激活等待時間計數器復位為C;i)如果C不等于非易失性存儲器等待時間,則增量C并重復步驟i);j)如果C等于非易失性存儲器等待時間,則執行非易失性存儲器讀/寫操作;k)發起非易失性存儲器預充電操作;I)將非易失性存儲器預充電等待時間計數器復位為D;以及m)如果D不等于非易失性存儲器預充電等待時間,則增量D并重復m)直至D等于非易失性存儲器預充電等待時間。
[0014]使易失性和非易失性存儲器訪問交錯的第四示例性方法包括a)在非易失性存儲器和易失性存儲器中發起激活操作;b)將非易失性存儲器激活等待時間計數器設置成C;c)將非易失性存儲器已激活標志設置成N0;d)如果C不等于非易失性存儲器激活等待時間,則增量C并重復步驟d);e)如果C等于非易失性存儲器激活等待時間,則將非易失性存儲器已激活標志設置成YES;f)在步驟a)之后,將易失性存儲器激活等待時間計數器設置成A;g)如果A不等于易失性存儲器激活等待時間,則增量A并重復步驟g) ;h)如果A等于易失性存儲器激活等待時間,則發起讀/寫操作;i)如果非易失性存儲器已激活標志是NO,則將易失性存儲器的數據總線部分識別為有效并完成僅用于易失性存儲器的讀/寫操作;j)如果非易失性存儲器已激活標志是YES,則將非易失性存儲器和易失性存儲器的數據總線部分識別為有效并完成易失性和非易失性存儲器二者的讀/寫操作;k)如果存在未決的更多讀/寫操作,則發起讀/寫操作并從步驟i)開始重復;I)如果不再有未決的讀/寫操作,則在非易失性存儲器和易失性存儲器中發起預充電操作;m)將易失性存儲器預充電等待時間計數器復位為B;n)如果B不等于易失性存儲器預充電等待時間,則增量B并重復步驟η)直至B等于易失性存儲器預充電等待時間;ο)在步驟I)之后,將非易失性存儲器預充電等待時間計數器復位為D;p)如果D不等于非易失性預充電等待時間,則增量D并重復步驟P)直至D等于非易失性預充電等待時間。
【附圖說明】
[0015]下面將結合以下附圖來描述本發明,其中,相似的附圖標記表示相似的元件,并且
[0016]圖1是根據第一示例性實施例的處理器與存儲器之間的存儲器控制器的方框圖;
[0017]圖2是為其配置第一示例性實施例的第一示例性方法的流程圖;
[0018]圖3是為其配置第二示例性