TW201617887A - 以合倂重置來改良電阻式記憶體寫入操作 - Google Patents
以合倂重置來改良電阻式記憶體寫入操作 Download PDFInfo
- Publication number
- TW201617887A TW201617887A TW104117416A TW104117416A TW201617887A TW 201617887 A TW201617887 A TW 201617887A TW 104117416 A TW104117416 A TW 104117416A TW 104117416 A TW104117416 A TW 104117416A TW 201617887 A TW201617887 A TW 201617887A
- Authority
- TW
- Taiwan
- Prior art keywords
- memory
- write
- cache lines
- buffer
- state
- Prior art date
Links
Classifications
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C14/00—Digital stores characterised by arrangements of cells having volatile and non-volatile storage properties for back-up when the power is down
- G11C14/0009—Digital stores characterised by arrangements of cells having volatile and non-volatile storage properties for back-up when the power is down in which the volatile element is a DRAM cell
- G11C14/0036—Digital stores characterised by arrangements of cells having volatile and non-volatile storage properties for back-up when the power is down in which the volatile element is a DRAM cell and the nonvolatile element is a magnetic RAM [MRAM] element or ferromagnetic cell
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C11/00—Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor
- G11C11/02—Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using magnetic elements
- G11C11/16—Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using magnetic elements using elements in which the storage effect is based on magnetic spin effect
- G11C11/165—Auxiliary circuits
- G11C11/1675—Writing or programming circuits or methods
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F12/00—Accessing, addressing or allocating within memory systems or architectures
- G06F12/02—Addressing or allocation; Relocation
- G06F12/08—Addressing or allocation; Relocation in hierarchically structured memory systems, e.g. virtual memory systems
- G06F12/0802—Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches
- G06F12/0806—Multiuser, multiprocessor or multiprocessing cache systems
- G06F12/0811—Multiuser, multiprocessor or multiprocessing cache systems with multilevel cache hierarchies
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F12/00—Accessing, addressing or allocating within memory systems or architectures
- G06F12/02—Addressing or allocation; Relocation
- G06F12/08—Addressing or allocation; Relocation in hierarchically structured memory systems, e.g. virtual memory systems
- G06F12/0802—Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches
- G06F12/0893—Caches characterised by their organisation or structure
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C14/00—Digital stores characterised by arrangements of cells having volatile and non-volatile storage properties for back-up when the power is down
- G11C14/0054—Digital stores characterised by arrangements of cells having volatile and non-volatile storage properties for back-up when the power is down in which the volatile element is a SRAM cell
- G11C14/0081—Digital stores characterised by arrangements of cells having volatile and non-volatile storage properties for back-up when the power is down in which the volatile element is a SRAM cell and the nonvolatile element is a magnetic RAM [MRAM] element or ferromagnetic cell
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2212/00—Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
- G06F2212/28—Using a specific disk cache architecture
- G06F2212/283—Plural cache memories
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Computer Hardware Design (AREA)
- Mram Or Spin Memory Techniques (AREA)
- Memory System Of A Hierarchy Structure (AREA)
Abstract
在將記憶單元寫入成第一位元狀態所花費之時間比將記憶單元寫入成第二位元狀態所花費之時間長的記憶體裝置中,選擇性地執行寫入操作可攤銷寫入花費較長時間來寫入之位元狀態之效能成本。寫入邏輯將多個快取行自寫入緩衝器清除佇列,並且在單一個寫入操作中將所有快取行之所有位元設置為第一位元狀態。寫入邏輯隨後單獨地對每一快取行執行獨立的寫入操作來選擇性地將每一相應快取行之記憶單元寫入成第二位元狀態。
Description
本發明之實施例大體而言係關於記憶體裝置寫入,並且更特定而言係關於磁阻式記憶體裝置中之改良的寫入操作。
本專利文獻之揭示內容之部分可含有受版權保護之材料。版權所有人在專利文獻或專利揭示內容出現在專利商標局的專利檔案或記錄中時不反對任何人對其之摹真複製,但在其他情況下無論如何都保留所有版權權利。版權通告適用於如以下及隨附於本文之附圖中所描述之所有資料,並且適用於以下描述的任何軟體:Copyright ©2014,Intel Corporation(英特爾公司),版權所有。
計算裝置依靠記憶體或儲存裝置來儲存允許計算裝置執行其功能之資料及命令。當前,由於不同記憶體裝置之效能及特性,許多計算系統使用多個不同類型之記憶體裝置。已進行研究來提供通用記憶體之研究,該通用記憶體可擔當傳統的不同記憶體類型之不同角色。基於磁
性之記憶體(MRAM(磁阻式隨機存取記憶體))裝置具有通用記憶體所需之許多特性。
傳統上,計算裝置可針對不同應用在同一裝置中使用DRAM(動態隨機存取記憶體)、SRAM(靜態隨機存取記憶體)及快閃記憶體。SRAM通常速度極快且歷來在處理器快取應用中受到青睞。DRAM提供極高密度且歷來在主系統記憶體中受到青睞。然而,SRAM及DRAM均為依電性的,意謂其狀態在裝置之電力中斷之情況下變得並非確定性的。快閃記憶體為非依電性的,且因此將在電力中斷之情況下維持確定性狀態,但快閃記憶體比SRAM或DRAM慢得多。另外,快閃記憶體由於寫入機制而隨時間降級,且因此具有有限數目之寫入循環。SRAM不提供在DRAM之情況下可利用之密度,且趨向於相比DRAM而言使用更多的功率,儘管DRAM需要定期再新。
已展示磁性記憶體具有傳統上與SRAM相關聯之類似的存取速度,且提供傳統上與DRAM相關聯的密度。磁性記憶體相比DRAM或SRAM而言使用少得多的功率。另外,磁性記憶體可為非依電性的,諸如快閃記憶體,但不遭受相同的降級。然而,磁性記憶體存在諸多問題。磁性記憶體之一顯著挑戰係其寫入能量及寫入時間。對磁性記憶體之寫入可為不對稱的,其中寫入成一個狀態之成本比寫入成另一狀態之成本高得多。例如,在STT(自旋轉移力矩)記憶體裝置(例如,STTRAM)中,寫入成AP(反向平行)狀態所花費之時間比寫入成P(平行)狀態所花費之時間
長一個數量級。
STTRAM之不對稱寫入效能之傳統方法屬以下兩個種類中之一者:1)捨棄持久性以改良寫入效能;以及2)提前終止。在持久性取捨之情況下,系統使用具有較少可靠單元之低保持時間設計以具有更好的寫入效能。然而,此方法可顯著地削弱STTRAM之有用性。在提前終止之情況下,系統可偵測單元何時切換且終止每個單元之寫入操作以防止不必要的電流流過磁性終端接面(MTJ)。然而,提前終止不會改良最壞情況的寫入效能,其意謂提前終止對總寫入延時無效,因為系統不得不針對最壞情況延時進行規劃以確保確定性操作。
依據本發明之一實施例,係特地提出一種用於寫入一記憶體裝置之方法,其包含以下步驟:將一大於一的數目之快取行清除佇列以在一記憶體裝置中執行寫入操作,其中每一快取行包括一列記憶單元,每一記憶單元受控於三個獨立的控制線,其中寫入成一第一記憶單元狀態所花費之時間比寫入成一第二記憶單元狀態所花費之時間長;在一單一個寫入操作中將該數目的快取行之所有記憶單元設置為該第一記憶單元狀態;以及單獨地對該數目的快取行執行寫入操作來選擇性地將該等個別快取行之記憶單元寫入成該第二記憶單元狀態。
100‧‧‧系統
110‧‧‧記憶體控制器
120‧‧‧記憶體裝置
130‧‧‧控制邏輯組件
140‧‧‧緩衝器
150‧‧‧解碼器邏輯組件
160‧‧‧陣列
200‧‧‧記憶單元
202‧‧‧圖
204‧‧‧圖
210‧‧‧磁性裝置
220‧‧‧控制電晶體
230‧‧‧儲存層
240‧‧‧絕緣體
250‧‧‧參考層
300‧‧‧系統
310‧‧‧選擇器
322‧‧‧緩衝器
324‧‧‧緩衝器
332‧‧‧指示符
334‧‧‧指示符
340‧‧‧多工器
350‧‧‧位址解碼器
360‧‧‧陣列
400‧‧‧程序
402‧‧‧步驟
404‧‧‧步驟
406‧‧‧步驟
408‧‧‧步驟
410‧‧‧步驟
412‧‧‧步驟
414‧‧‧步驟
416‧‧‧步驟
418‧‧‧步驟
420‧‧‧步驟
422‧‧‧步驟
424‧‧‧步驟
500‧‧‧系統
510‧‧‧匯流排
520‧‧‧處理器
530‧‧‧記憶體子系統
532‧‧‧記憶體裝置
534‧‧‧記憶體控制器
536‧‧‧作業系統(OS)
538‧‧‧指令
540‧‧‧I/O介面
550‧‧‧網路介面
560‧‧‧內部大容量儲存裝置/儲存器
562‧‧‧指令/資料
570‧‧‧周邊介面
610‧‧‧處理器
600‧‧‧裝置
620‧‧‧音訊子系統
630‧‧‧顯示子系統
632‧‧‧顯示介面
640‧‧‧I/O控制器
650‧‧‧功率管理
660‧‧‧記憶體子系統
662‧‧‧記憶體裝置
664‧‧‧記憶體控制器
670‧‧‧連接性
672‧‧‧蜂巢式連接性
674‧‧‧無線連接性
680‧‧‧周邊連接
以下描述包括諸圖之論述,該等圖具有作為本發
明之實施例之實行方案的實例而給出之例示。圖式應當作為實例而非作為限制來加以理解。如本文中所使用,對一或多個「實施例」之參考應被理解為描述本發明之至少一個實行方案中所包括的特定特徵、結構及/或特性。因此,出現在本文中之諸如「在一實施例中」或「在替代實施例中」之短語描述本發明之各種實施例及實行方案,並且未必全部指代相同實施例。然而,其亦未必相互排斥。
圖1係對記憶單元陣列應用合併重置之系統的實施例之方塊圖。
圖2係磁阻式記憶體架構之實施例之方塊圖。
圖3係自多個寫入緩衝器應用合併重置之記憶體裝置之實施例的方塊圖。
圖4係用以應用合併重置寫入操作來攤銷寫入延時之過程之實施例的流程圖。
圖5係可於其中實行合併重置寫入操作之計算系統之實施例的方塊圖。
圖6係可於其中實行合併重置寫入操作之行動裝置之實施例的方塊圖。
以下係對某些細節及實行方案之描述,包括諸圖之描述,其可描繪下文描述的實施例中之一些或全部,以及論述本文中所呈現之發明概念之其他潛在實施例或實行方案。
如本文中所描述的,一種系統執行合併重置來減少用於記憶體裝置之總寫入時間,其中將記憶單元寫入成第一位元狀態所花費之時間比寫入成第二位元狀態所花費之時間長。系統可藉由在單一個操作中重置多個快取行來以合併方式選擇性地執行寫入操作,以減少依序操作延遲。因此,系統可攤銷寫入花費較長時間來寫入之位元狀態之效能成本。記憶體裝置中之寫入邏輯可在單一個寫入操作中將多個快取行自寫入緩衝器清除佇列並且將所有快取行之所有位元設置為較慢的位元狀態(即,花費較長時間來寫入之狀態)。寫入邏輯隨後單獨地對每一快取行執行獨立的寫入操作來選擇性地將每一個別快取行之記憶單元寫入成代價較低的位元狀態。
本文中所描述之合併寫入操作使用區域重置操作,以藉由同時或回應於同一操作而重置多個快取行來改良記憶體陣列上的寫入效能。應瞭解,「重置」記憶單元係指將記憶單元設置為預設狀態。通常,重置操作將記憶單元設置為零。在一實施例中,重置可將記憶單元設置為一。將多個快取行合併重置或合併設置為較慢的記憶單元狀態係與選擇性寫入相結合。在選擇性寫入之情況下,可在記憶體行或快取行上修改位元之任何型樣,而不改變其他位元之內容。因此,系統應用一個操作來將多個快取行一起設置為同一狀態,且可隨後單獨地將每一快取行之位元選擇性地寫入成代價較低的狀態。
例如,考慮STT記憶體裝置之一實例,其中寫入
零花費20ns,而寫入一花費3.4ns。在習知寫入程序中,系統將需要20ns來完成每個行中之寫入操作,因為系統將被設計來涵蓋最壞情況。本文中論述之合併寫入操作可顯著地改良總體操作。在一實施例中,記憶體裝置辨識寫入零與寫入一之間的差異,並且可使用以下程序:選擇多個快取行且同時(或在同一寫入操作中)在所有所選快取行上寫入零。記憶體裝置隨後選擇該等快取行中之一者且選擇性地在該快取行上寫入1,針對已寫入有零之所有所選快取行重複選擇性寫入1。在合併甚至僅兩個快取行之情況下,代替花費(20+20)ns=40ns,相同的寫入將花費(20+3.4+3.4)/2=13.4ns,從而提供33%之減少來完成每個快取行之寫入。藉由提供幾乎50%之減少的合併三個快取行(20+3.4+3.4+3.4)ns/3=10.1ns或提供73%之減少的合併十個快取行(20+10*3.4)ns/10=5.4ns,可進一步改良計時減少。
圖1係對記憶單元陣列應用合併重置之系統之實施例的方塊圖。系統100表示計算裝置之記憶體子系統之元件。更特定而言,系統100包括記憶體控制器110及一或多個記憶體裝置120。在一實施例中,一或多個記憶體裝置根據本文中所描述內容來執行合併寫入,而其他記憶體裝置並非如此。記憶體控制器110表示與記憶體裝置120介接來向記憶體提出存取請求之控制邏輯組件。記憶體控制器110可為計算裝置硬體平合上之獨立的邏輯電路或實行為另一電路元件之部分(例如,記憶體控制器可為CPU(中央處理單元)SOC(系統單晶片)之部分)。
記憶體120包括用來接收並處理由記憶體控制器110發送之存取命令之控制邏輯組件130。解碼器邏輯組件150表示存取一或多個快取行來執行記憶體存取操作之位址解碼邏輯組件。陣列160表示記憶單元陣列,其通常作為快取行之群組而受組織或受管理,每一快取行包括一起被存取之多個位元或記憶單元。陣列160係具有寫入不對稱性之記憶單元陣列,其中寫入成一個位元狀態比寫入成其他位元狀態更慢。在一實施例中,陣列160包括磁阻式記憶單元。在一實施例中,磁阻式記憶單元係STT記憶單元。解碼器邏輯組件150可同時或以單一個操作來選擇或存取多個快取行。因此,記憶體120可針對合併寫入操作選擇多個快取行。
在一實施例中,記憶體120包括緩衝器140,該緩衝器140包括用來收集值得存取操作之的多個快取行之緩衝器邏輯組件。在一實施例中,緩衝器140根據將針對每一操作被合併之快取行之數目而具有固定大小。在一實施例中,控制邏輯組件130可選擇針對合併操作將自緩衝器140清除佇列之快取行之數目。該選擇可為針對將在記憶體120內執行之每一操作進行的動態選擇或即時選擇。在一實施例中,控制邏輯組件130應用一或多個準則來判定將自緩衝器140清除佇列之快取行之數目。準則可包括:判定可供記憶體120用來執行寫入操作之電流量;記憶體120上存在之負荷量;及/或其他準則。在一實施例中,控制邏輯組件130基於選擇準則來選擇不同數數目的列,且因此記憶體120具
有動態可重組配大小的頁。
圖2係磁阻式記憶體架構之實施例之方塊圖。在一實施例中,記憶單元200為藉由不同表示(圖202及204)例示出之磁阻式記憶體裝置。記憶單元200可為系統100之陣列160中的記憶單元之一實例。在一實施例中,記憶單元200係表示自旋轉移力矩(STT)記憶單元,該STT記憶單元係STTRAM之部分。圖202例示出記憶體裝置具有三個控制端子:字線(WL)、位元線(BL)及選擇線(SL)。每一線具有獨立的電壓(分別為VWL、VBL及VSL,)位準,可施加該電壓位準來執行存取操作。
在一實施例中,記憶單元200藉由軟鐵磁材料之自旋取向來儲存資料,並且使用電流誘導型切換。STT係CMOS(互補式金屬氧化物半導體)邏輯組件相容的並且係可縮放的。圖204例示出記憶單元200包括兩個磁性材料層:參考層250,其為固定的磁層;以及儲存層230,其為軟磁層或自由磁層。當自旋極化電流穿過儲存層230時,該層經磁化而具有相對於參考層250為平行(低電阻)或反向平行(高電阻)之磁性取向。因此,取決於系統之取向(例如,高電阻通常為零),極化儲存層230允許其儲存資訊之位元。圖204亦例示出儲存層230與參考層250之間的絕緣體240(例如,金屬、氧化物或其他材料)。應瞭解,圖204提供STT記憶單元之非常基本的表示,並且可包括所例示層之外的其他層。在一實施例中,記憶單元200中包括其他磁層。在一實施例中,儲存層230與控制電晶體220而不是參考層
250相鄰。儲存層230可表示儲存記憶單元200之位元值的磁性終端接面(MTJ)。
如圖202中看出,藉由將位元線預充電至電壓值VRD並允許電荷在字線經選通時通過記憶單元200而衰減,來讀取記憶單元或位元格200。在一實施例中,使用參考單元來同時排空參考位元線,該參考單元可充當記憶單元之感測放大器參考。在一實施例中,參考位元線及存取位元線均使用PMOS(p型MOS)電流源來箝位,以在感測放大器輸入處維持恆定的差值,即使在存取時間很長之情況下。在一實施例中,系統使用雙向寫入來寫入至記憶單元200內。在一實施例中,當寫入1(反向平行至平行,或AP->P)時,將位元線充電至VDD(高電壓參考)且將選擇線連接至GND(低電壓參考),以使電流自位元線流至選擇線。當寫入0(P->AP)時,記憶體裝置施加具有相反方向之電流,此可藉由以下操作來實現:將選擇線設置為VDD且將位元線設置為GND,從而使電流自選擇線流至位元線。將寫入電流例示為取決於正在寫入之值而在任一方向中移動。在一實施例中,讀取電流始終自位元線流至選擇線。Rmem表示能夠將磁性裝置210規劃成高電阻或低電阻。
如圖所例示,針對讀取狀態或讀取模式,讀取電流自位元線流至選擇線,而針對寫入狀態或寫入模式,寫入電流可取決於正在寫入之值而在任一方向中流動。在一實施例中,記憶單元200支援其中無電流流動的保持狀態或保持模式。在保持狀態中,記憶單元200可選擇字線,並且
位元線及選擇線可保持同一電壓。當Vbl與Vsl相等時,無電流將流過MTJ裝置,於是將保持磁體之狀態。保持狀態可允許選擇性寫入之高效實行方案。
在記憶單元200中,寫入零(P->AP)所花費之時間比寫入1(AP->P)所花費之時間長一個數量級。應瞭解,「零」及「一」為特定計算架構及系統中所使用之慣例,並且二者可顛倒。因此,在一實施例中,寫入零伴隨有將狀態自平行變為反向平行,並且寫入一伴隨有將狀態自反向平行變為平行。在另一實施例中,一及零慣例可顛倒。藉由在每一快取行上合併寫入零操作且隨後選擇性地寫入一,可將寫入效能不對稱性在多個快取行上。
圖3係自多個寫入緩衝器應用合併重置之記憶體裝置之一實施例的方塊圖。系統300例示出記憶體裝置之元件,並且可為根據系統100之記憶體裝置120的記憶體裝置之一實例。記憶體裝置自向系統300提供記憶體存取請求之記憶體控制器或等效電路接收資料。記憶體存取請求係針對陣列360之快取行或記憶體行。陣列360包括磁阻式記憶體或具有不對稱寫入之其他記憶體。陣列360之每一記憶單元包括介於字線、位元線及選擇線(如圖所例示)之間的儲存元件,並且可為例如根據圖2之記憶單元。
在一實施例中,系統300包括接收並處理傳入的資料存取請求之選擇器310。在一實施例中,選擇器310為記憶體裝置之控制邏輯組件或處理邏輯組件,或為該控制邏輯組件或處理邏輯組件之部分。在一實施例中,系統300
包括兩個緩衝器322及324。在兩個緩衝器之情況下,系統300可在填充緩衝器與清空緩衝器之間輪換。緩衝器322包括指示符332,該指示符332可指示緩衝器322是否正被填充,或緩衝器322是否正被清除佇列或已滿。類似地,緩衝器324包括指示符334,該指示符334可指示緩衝器324是否正被填充,或緩衝器324是否已滿或正被清除佇列(例如,「已填充」及「正被填充」指示符,或「清除佇列」及「正被填充」)。在一實施例中,指示符332及334具有互相依賴的二元關係;因此,指示符332及334可在各狀態之間交換或輪換。
在一實施例中,選擇器310判定使用哪個緩衝器來將新傳入的寫入存取異動排入佇列。假設在給定的瞬間,選擇器310偵測到新傳入的寫入異動。選擇器310可檢查指示符332及334,並且可取決於哪個緩衝器被指示為正被填充來置放將要寫入於緩衝器322或324中之資料。假設緩衝器322當前正被填充,選擇器310將新異動在緩衝器322中排入佇列,並且將繼續將傳入的寫入異動置放於緩衝器322中,直至緩衝器322已滿為止。在選擇器310填充緩衝器322的同時,多工器340選擇緩衝器324來將異動清除佇列以發送至位址解碼器350。
在一實施例中,緩衝可為不同的。例如,選擇器310可繼續填充緩衝器322,直至緩衝器322已滿為止,或可繼續填充緩衝器322,直至緩衝器324已空為止。在此實行方案中,系統300將選擇多工器340來將異動或快取行自任
何一個具有該等異動或快取行之緩衝器清除佇列。應瞭解,用於對緩衝器322及324進行填充及清除佇列之特定實行方案可取決於緩衝器之深度、系統上的預期負荷及/或其他因素。
在一實施例中,緩衝器322及324具有某數目的項目(例如,三個、四個、八個),該等項目全部被填充,且隨後系統300經由多工器340將該等項目清除佇列至位址解碼器350。位址解碼器350選擇所有經清除佇列之快取行來執行合併操作,以將所有所選快取行之所有位元設置成0(或較慢的記憶單元狀態)。位址解碼器350將隨後選擇性地一次一個地循環通過每一所選快取行來寫入一(或其他記憶單元狀態),以將寫入應用於陣列360中之快取行。在一實施例中,系統300選擇清除佇列緩衝器中的僅一些項目(例如,取決於指示將要清除佇列之快取行之數目的選擇準則)。因此,位址解碼器350可經由多個操作來清空當前的清除佇列緩衝器(同樣取決於緩衝器之深度及用來選擇將要清除佇列之快取行之數目的機制)。在一實施例中,系統300基於可利用的電流量(即,可使用可利用的電流量來同時寫入之快取行之數目)來選擇將要清除佇列之快取行之數目。
圖4係用以應用合併重置寫入操作來攤銷寫入延時之過程之實施例的流程圖。用於合併寫入操作之程序400開始於在402中接收寫入請求,記憶體裝置將該寫入請求在寫入緩衝器中排入佇列。在404中,記憶體裝置(例如,經
由控制邏輯組件)選擇針對合併寫入操作將要自寫入緩衝器清除佇列之快取行之數目。合併寫入操作包括將所有快取行同時重置或設置為共同的記憶單元狀態,然後單獨地將其他狀態之位元選擇性地寫入至每一快取行。
在一實施例中,每次清除佇列或選擇的快取行之數目係固定的。在一實施例中,記憶體裝置可動態地選擇快取行之數目。在固定數目實行方案中(406,固定的),在408中,記憶體裝置選擇預組配數目的快取行。可在硬體及/或軟體中設置預組態。在動態數目實行方案中(406,動態的),在一實施例中,在410中,記憶體裝置應用一或多個選擇準則來判定將要選擇之快取行之數目。記憶體裝置隨後在412中選擇由選擇準則指示之數目的快取行。在一實施例中,快取行之數目針對每一操作可為不同的。在一實施例中,該數目將由系統組態設置,並且在系統內跨不同操作應相當一致,但在不同系統中可為不同的。
在414中,記憶體裝置將所選數目的快取行清除佇列,無論該數目係固定數目還是動態數目。在一實施例中,記憶體裝置包括兩個寫入緩衝器,該等寫入緩衝器輪換角色。在此實行方案中,系統可判定是否切換緩衝器之角色。因此,正由傳入的資料進行填充之緩衝器將成位址解碼器將資料自其清除佇列之緩衝器,反之亦然。若將要切換緩衝器(416的是分支),則在418中,記憶體裝置之控制邏輯組件可設置邏輯組件來選擇自另一寫入緩衝器清除佇列。若不切換緩衝器(416的否分支),則記憶體裝置將藉由
在後續操作中自同一寫入緩衝器清除佇列來繼續操作。應瞭解,在一些實行方案中,將在每一寫入操作中切換寫入緩衝器,因為位址解碼器將清除佇列在緩衝器中排入佇列的所有資料。
在420中,位址解碼器選擇與經清除佇列之資料相關聯的所有快取行,並且記憶體裝置將所有所選快取行之所有位元設置為較慢的記憶單元狀態。記憶體裝置隨後在個別的快取行中寫入用於快取行中之每一者的資料。因此,在422中,位址解碼器將每次選擇一個快取行,並且記憶體裝置將選擇性地將單一個快取行之位元寫入成代價較低的記憶單元狀態。只要存在更多將要寫入之快取行(424的是分支),則位址解碼器將根據將要寫入至快取行之資料來繼續選擇單一個快取行且將位元設置為代價較低的記憶單元狀態。當所有快取行已被寫入時,寫入操作結束。在一實施例中,記憶體控制器在寫入所有快取行之後切換緩衝器。
圖5係可於其中實行合併重置寫入操作之計算系統之實施例的方塊圖。系統500表示根據本文中所描述之任何實施例之計算裝置,並且可為膝上型電腦、桌上型電腦、伺服器、遊戲或娛樂控制系統、掃描器、複製機、印表機、路由裝置或切換裝置,或其他電子裝置。系統500包括處理器520,該處理器520提供用於系統500之指令的處理、操作管理及執行。處理器520可包括任何類型之微處理器、中央處理單元(CPU)、處理核心或其他處理硬體來提供用於系統
500之處理。處理器520控制系統500之總體操作,並且可為或可包括一或多個可規劃通用或專用微處理器、數位信號處理器(DSP)、可規劃控制器、特定應用積體電路(ASIC)、可規劃邏輯裝置(PLD)或類似裝置,或此類裝置之組合。
記憶體子系統530表示系統500之主記憶體,並且提供對將要由處理器520執行之程式碼或將要用來執行常式之資料值的暫時儲存。記憶體子系統530可包括一或多個記憶體裝置,諸如唯讀記憶體(ROM)、快閃記憶體、一或多個各種隨機存取記憶體(RAM)或其他記憶體裝置,或此類裝置之組合。記憶體子系統530對作業系統(OS)536進行儲存並主控以及其他操作,該OS 536係用來提供用於執行系統500中的指令之軟體平合。此外,其他指令538被儲存並且自記憶體子系統530被執行以提供系統500之邏輯組件及處理。OS 536及指令538由處理器520執行。記憶體子系統530包括記憶體裝置532,記憶體子系統530在記憶體裝置532中儲存資料、指令、程式或其他項目。在一實施例中,記憶體子系統包括記憶體控制器534,該記憶體控制器534係用來產生命令且向記憶體裝置532發佈命令之記憶體控制器。應瞭解,記憶體控制器534可為處理器520之實體部分。
處理器520及記憶體子系統530耦接至匯流排/匯流排系統510。匯流排510係表示由適當的橋接器、配接器及/或控制器加以連接之任何一或多個獨立的實體匯流排、通訊線/介面及/或同級間連接的抽象化。因此,匯流排
510可包括例如系統匯流排、周邊組件互連(PCI)匯流排、超傳送或工業標準架構(ISA)匯流排、小型電腦系統介面(SCSI)匯流排、通用串行匯流排(USB)或電機電子工程師學會(IEEE)標準1394匯流排(通常稱為「火線(Firewire)」)中之一或多者。匯流排510之匯流排亦可對應於網路介面550中之介面。
系統500亦包括耦接至匯流排510之一或多個輸入/輸出(I/O)介面540、網路介面550、一或多個內部大容量儲存裝置560以及周邊介面570。I/O介面540可包括一或多個介面組件,使用者經由該或該等介面組件與系統500互動(例如視訊、音訊及/或文數字介接)。網路介面550為系統500提供經由一或多個網路與遠程裝置(例如,伺服器、其他計算裝置)通訊之能力。網路介面550可包括乙太網路配接器、無線互連組件、USB(通用串行匯流排)或其他基於有線或無線標準的介面或專屬介面。
儲存器560可為或可包括用於以非依電性方式儲存大量數據之任何習知媒體,諸如一或多個磁性、固態或光學型碟片或組合。儲存器560以持續性狀態保存程式碼或指令及資料562(即,即使系統500之電力中斷,仍保留值)。儲存器560可一般被視為「記憶體」,儘管記憶體530係向處理器520提供指令之執行或操作記憶體。記憶體530可包括依電性記憶體(即,在系統500之電力中斷的情況下,資料之值或狀態係不確定的),而儲存器560係非依電性的。
周邊介面570可包括以上並未特別提及之任何硬
體介面。周邊裝置一般係指相依性地連接至系統500之裝置。相依性連接係如下連接:其中系統500提供軟體及/或硬體平合,操作在該平合上執行並且使用者與該平合交互。
在一實施例中,記憶體子系統530包括根據本文中所描述之任何實施例來執行合併寫入操作之記憶體裝置532。一或多個記憶體裝置532具有不對稱的寫入架構,其中一個記憶單元狀態之寫入所花費的時間比其他狀態長。例如,一或多個記憶體裝置532可為STTRAM。在一實施例中,儲存器560包括根據本文中所描述之任何實施例來執行合併寫入操作之一或多個STTRAM裝置。
圖6係可於其中實行合併重置寫入操作之行動裝置之實施例的方塊圖。裝置600表示行動計算裝置,諸如計算平板電腦、行動電話或智慧型電話、具備無線功能的電子閱讀器、可穿戴式計算裝置或其他行動裝置。應瞭解,裝置600中大體展示了某些組件,且並未展示此裝置之所有組件。
裝置600包括執行裝置600之主要處理操作之處理器610。處理器610可包括一或多個實體裝置,諸如微處理器、應用處理器、微控制器、可規劃邏輯裝置或其他處理構件。由處理器610執行的處理操作包括操作平合或作業系統之執行,應用程式及/或裝置功能係在該操作平合或作業系統上執行。處理操作包括關於與人類使用者或與其他裝置之I/O(輸入/輸出)的操作、關於功率管理之操作及/或關於將裝置600連接至另一裝置之操作。處理操作亦可包括關
於音訊I/O及/或顯示I/O之操作。
在一實施例中,裝置600包括音訊子系統620,該音訊子系統620表示與提供音訊功能給計算裝置相關聯的硬體(例如,音訊硬體及音訊電路)及軟體(例如,驅動器、編碼解碼器)組件。音訊功能可包括揚聲器及/或耳機輸出,以及麥克風輸入。用於此類功能之裝置可整合至裝置600中,或連接至裝置600。在一實施例中,使用者藉由提供音訊命令來與裝置600互動,該等音訊命令由處理器610接收並處理。
顯示子系統630表示提供視覺及/或觸覺顯示以便使用者與計算裝置互動之硬體(例如,顯示裝置)及軟體(例如,驅動器)組件。顯示子系統630包括顯示介面632,其包括用來提供顯示給使用者之特定螢幕或硬體裝置。在一實施例中,顯示介面632包括與處理器610分離之邏輯組件以執行關於顯示的至少一些處理。在一實施例中,顯示子系統630包括提供輸出及輸入兩者給使用者之觸控螢幕裝置。
I/O控制器640表示關於與使用者互動之硬體裝置及軟體組件。I/O控制器640可操作來管理硬體,該硬體係音訊子系統620及/或顯示子系統630之部分。此外,I/O控制器640例示出用於額外裝置的連接點,該等額外裝置連接至裝置600,使用者可經由該等額外裝置與系統互動。例如,可附接至裝置600之裝置可包括麥克風裝置、揚聲器或立體聲系統、視訊系統或其他顯示裝置、鍵盤或小鍵盤裝
置,或用於特定應用之其他I/O裝置(諸如,讀卡器或其他裝置)。
如上文所提及,I/O控制器640可與音訊子系統620及/或顯示子系統630互動。例如,經由麥克風或其他音訊裝置之輸入可提供用於裝置600之一或多個應用或功能的輸入或命令。此外,代替顯示輸出或除顯示輸出之外,可提供音訊輸出。在另一實例中,若顯示子系統包括觸控螢幕,則顯示裝置亦充當輸入裝置,其可至少部分由I/O控制器640來管理。裝置600上亦可存在額外的按鈕或開關以提供由I/O控制器640管理的I/O功能。
在一實施例中,I/O控制器640管理諸如以下之裝置:加速度計、攝影機、光感測器或其他環境感測器、迴轉儀、全球定位系統(GPS),或裝置600中可包括之其他硬體。輸入可為直接使用者互動之部分,以及向系統提供環境輸入來影響其操作(諸如針對雜訊之濾波、針對亮度偵測來調整顯示器、針對攝影機應用閃光,或其他特徵)。在一實施例中,裝置600包括功率管理650,功率管理650管理電池功率使用、電池充電以及與功率節省操作有關之特徵。
記憶體子系統660包括用於將資訊儲存在裝置600中之一或多個記憶體裝置662。記憶體子系統660可包括非依電性(在記憶體裝置之電力中斷的情況下,狀態不改變)及/或依電性(在記憶體裝置之電力中斷的情況下,狀態不確定)記憶體裝置。記憶體660可儲存應用程式資料、使用者資料、音樂、照片、文件或其他資料,以及與系統600之應
用及功能之執行有關的系統資料(無論長期還是暫時的)。在一實施例中,記憶體子系統660包括記憶體控制器664(其亦可被視為系統600之控制之部分,並且可潛在地被視為處理器610之部分)。記憶體控制器664包括用來產生命令並且向記憶體裝置662發佈命令之排程器。
連接性670包括用來允許裝置600與外部裝置通訊之硬體裝置(例如,無線及/或有線連接器及通訊硬體)及軟體組件(例如,驅動器、協定堆疊)。外部裝置可為獨立的裝置,諸如其他計算裝置、無線存取點或基地台,以及周邊裝置,諸如頭戴式耳機、印表機或其他裝置。
連接性670可包括多個不同類型之連接性。為了一般化,將裝置600例示為有蜂巢式連接性672及無線連接性674。蜂巢式連接性672一般係指由無線運營商提供之蜂巢式網路連接性,諸如經由GSM(全球行動通訊系統)或變型或派生物、CDMA(分碼多重存取)或變型或派生物、TDM(時分多工)或變型或派生物、LTE(長期演進--亦稱為「4G」)或其他蜂巢式服務標準所提供之蜂巢式網路連接性。無線連接性674係指並非蜂巢式的無線連接性,並且可包括個人區域網路(諸如藍芽)、區域網路(諸如WiFi)及/或廣域網路(諸如WiMax)或其他無線通訊。無線通訊係指經由使用調變電磁輻射經由非固體媒體來傳送資料。有線通訊經由固體通訊媒體發生。
周邊連接680包括用來進行周邊連接之硬體介面及連接器以及軟體組件(例如,驅動器、協議堆疊)。應瞭解,
裝置600既可為連接至其他計算裝置之周邊裝置(「至」682),又可具有連接至其的周邊裝置(「自」684)。裝置600通常具有「對接(docking)」連接器以連接至其他計算裝置,該等計算裝置用於諸如管理(例如,下載及/或上載、改變、同步)裝置600上的內容之目的。此外,對接連接器可允許裝置600連接至某些周邊裝置,該等周邊裝置允許裝置600控制例如至視聽系統或其他系統的內容輸出。
除專屬對接連接器或其他專屬連接硬體之外,裝置600可經由常見連接器或基於標準的連接器來進行周邊連接680。常見類型可包括通用串行匯流排(USB)連接器(其可包括許多不同硬體介面中之任一者)、包括迷你顯示埠(MDP)之顯示埠、高清晰度多媒體介面(HDMI)、火線或其他類型。
在一實施例中,記憶體子系統660包括根據本文中所描述之任何實施例來執行合併寫入操作之記憶體裝置662。一或多個記憶體裝置662具有不對稱的寫入架構,其中一個記憶單元狀態之寫入所花費的時間比其他狀態長。例如,一或多個記憶體裝置662可為STTRAM。
在一態樣中,用於寫入記憶體裝置之方法包括:將大於一的數目之快取行清除佇列以在記憶體裝置中執行寫入操作,其中每一快取行包括一列記憶單元,每一記憶單元受控於三個獨立的控制線,其中寫入成第一記憶單元狀態所花費之時間比寫入成第二記憶單元狀態所花費之時間長;在單一個寫入操作中將該數目的快取行之所有記憶
單元設置為第一記憶單元狀態;以及單獨地對該數目的快取行執行寫入操作來選擇性地將個別快取行之記憶單元寫入成第二記憶單元狀態。
在一實施例中,第一記憶單元狀態為零,並且第二記憶單元狀態為一。在一實施例中,記憶體裝置包含磁阻式記憶體裝置。在一實施例中,記憶體裝置包含自旋轉移力矩(STT)記憶體裝置。在一實施例中,將該數目的快取行清除佇列進一步包含:動態地選擇將要清除佇列之快取行之數目。在一實施例中,動態地選擇將要清除佇列之快取行之數目進一步包含:判定記憶體裝置中可用來執行單一個寫入操作之電流量;以及在可利用之電流量之限值內選擇快取行之最大數目。在一實施例中,將該數目的快取行清除佇列進一步包含:自兩個寫入緩衝器中之一者清除佇列,其中一個緩衝器經指定為已填充的,並且另一緩衝器經指定為正被填充的,其中該等緩衝器基於正被填充的緩衝器何時變滿來輪換指定。
在一態樣中,一種用於以多快取行(multi-cacheline)重置操作來執行寫入操作之記憶體電路,該記憶體電路包括:記憶單元陣列,其受管理作為多個快取行,其中每一快取行包括一列記憶單元,每一記憶單元受控於三個獨立的控制線,其中寫入成第一記憶單元狀態所花費之時間比寫入成第二記憶單元狀態所花費之時間長;寫入緩衝器,其用來保存將要寫入至多個快取行之資料;以及寫入邏輯組件,其用來進行以下操作:將大於一
的數目之快取行清除佇列以執行寫入操作,在單一個寫入操作中將該數目的快取行之所有記憶單元設置為第一記憶單元狀態,以及單獨地對該數目的快取行執行寫入操作來選擇性地將個別快取行之記憶單元寫入成第二記憶單元狀態。
在一實施例中,第一記憶單元狀態為零,並且第二記憶單元狀態為一。在一實施例中,記憶體電路包含磁阻式記憶體電路。在一實施例中,記憶體電路包含自旋轉移力矩(STT)記憶體電路。在一實施例中,寫入邏輯進一步用來動態地選擇將要清除佇列之快取行之數目。在一實施例中,寫入邏輯組件用來藉由以下操作來動態地選擇將要清除佇列之快取行之數目:判定記憶體電路中可用來執行單一個寫入操作之電流量;以及在可利用之電流量之限值內選擇快取行之最大數目。在一實施例中,寫入緩衝器包含兩個獨立的緩衝器:用來將新的寫入命令排入佇列之第一緩衝器,以及將被清除佇列以用於單一個寫入操作之第二緩衝器,其中兩個緩衝器基於第二緩衝器變空而切換。
在一態樣中,一種系統包括:記憶體電路,其包括受管理作為多個快取行之記憶單元陣列,其中每一快取行包括一列記憶單元,每一記憶單元受控於三個獨立的控制線,其中寫入成第一記憶單元狀態所花費之時間比寫入成第二記憶單元狀態所花費之時間長;寫入緩衝器,其用來保存將要寫入至多個快取行之資料;以及寫入邏輯組件,其用來進行以下操作:將大於一的數目之快取行清除
佇列以執行寫入操作,在單一個寫入操作中將該數目的快取行之所有記憶單元設置為第一記憶單元狀態,以及單獨地對該數目的快取行執行寫入操作來選擇性地將個別快取行之記憶單元寫入成第二記憶單元狀態;以及觸控螢幕顯示器,其經耦接以基於自記憶體電路存取之資料而產生顯示。
在一實施例中,第一記憶單元狀態為零,並且第二記憶單元狀態為一。在一實施例中,記憶體電路包含磁阻式記憶體電路。在一實施例中,記憶體電路包含自旋轉移力矩(STT)記憶體電路。在一實施例中,寫入邏輯組件進一步用來動態地選擇將要清除佇列之快取行之數目。在一實施例中,寫入邏輯組件用來藉由以下操作來動態地選擇將要清除佇列之快取行之數目:判定記憶體電路中可用來執行單一個寫入操作之電流量;以及在可利用之電流量之限值內選擇快取行之最大數目。在一實施例中,寫入緩衝器包含兩個獨立的緩衝器:用來將新的寫入命令排入佇列之第一緩衝器,以及將被清除佇列以用於單一個寫入操作之第二緩衝器,其中兩個緩衝器基於第二緩衝器變空而切換。
在一態樣中,一種製造物品包含電腦可讀儲存媒體,該電腦可讀儲存媒體上儲存有內容,該內容在被執行時進行用於寫入記憶體裝置之操作,該等操作包括:將大於1的數目之快取行清除佇列以在記憶體裝置中執行寫入操作,其中每一快取行包括一列記憶單元,每一記憶單元
受控於三個獨立的控制線,其中寫入成第一記憶單元狀態所花費之時間比寫入成第二記憶單元狀態所花費之時間長;在單一個寫入操作中將該數目的快取行之所有記憶單元設置為第一記憶單元狀態;以及單獨地對該數目的快取行執行寫入操作來選擇性地將個別快取行之記憶單元寫入成第二記憶單元狀態。
在一實施例中,第一記憶單元狀態為零,並且第二記憶單元狀態為一。在一實施例中,記憶體裝置包含磁阻式記憶體裝置。在一實施例中,記憶體裝置包含自旋轉移力矩(STT)記憶體裝置。在一實施例中,用於將該數目的快取行清除佇列之內容進一步包含用於動態地選擇將要清除佇列之快取行之數目的內容。在一實施例中,用於動態地選擇將要清除佇列之快取行之數目的內容進一步包含用於以下操作之內容:判定記憶體裝置中可用來執行單一個寫入操作之電流量;以及在可利用之電流量之限值內選擇快取行之最大數目。在一實施例中,用於將該數目的快取行清除佇列之內容進一步包含用於自兩個寫入緩衝器中之一者清除佇列的內容,其中一個緩衝器經指定為已填充的,並且另一緩衝器經指定為正被填充的,其中該等緩衝器基於正被填充的緩衝器何時變滿來輪換角色指定。
在一態樣中,一種用於寫入記憶體裝置之設備包括:用於將大於一的數目之快取行清除佇列以在記憶體裝置中執行寫入操作的構件,其中每一快取行包括一列記憶單元,每一記憶單元受控於三個獨立的控制線,其中寫入
成第一記憶單元狀態所花費之時間比寫入成第二記憶單元狀態所花費之時間長;用於在單一個寫入操作中將該數目的快取行之所有記憶單元設置為第一記憶單元狀態的構件;以及用於單獨地對該數目的快取行執行寫入操作來選擇性地將個別快取行之記憶單元寫入成第二記憶單元狀態的構件。
在一實施例中,第一記憶單元狀態為零,並且第二記憶單元狀態為一。在一實施例中,記憶體裝置包含磁阻式記憶體裝置。在一實施例中,記憶體裝置包含自旋轉移力矩(STT)記憶體裝置。在一實施例中,用於將該數目的快取行清除佇列的構件進一步包含:用於動態地選擇將要清除佇列之快取行之數目的構件。在一實施例中,用於動態地選擇將要清除佇列之快取行之數目的構件進一步包含:用於判定記憶體裝置中可用來執行單一個寫入操作之電流量的構件;以及用於在可利用之電流量之限值內選擇快取行之最大數目的構件。在一實施例中,用於將該數目的快取行清除佇列的構件進一步包含:用於自兩個寫入緩衝器中之一者清除佇列的構件,其中一個緩衝器經指定為已填充的,並且另一緩衝器經指定為正被填充的,其中該等緩衝器基於正被填充的緩衝器何時變滿來輪換角色指定。
如本文中所例示之流程圖提供各種過程動作之序列之實例。該等流程圖可指示將要由軟體或韌體常式執行之操作,以及實體操作。在一實施例中,流程圖可例示
出可在硬體及/或軟體中實行的有限狀態機器(FSM)之狀態。儘管以特定順序或次序展示出,但是除非另有規定,否則可修改動作之次序。因此,所例示實施例應僅被理解為實例,並且過程可按不同次序來執行,並且一些動作可並行地執行。此外,在各種實施例中可省略一或多個動作;因此,在每一實施例中並不需要所有動作。其他過程流係可能的。
在各種操作或功能在本文中被描述之情況下,其可被描述或定義為軟體程式碼、指令、組態及/或資料。內容可為直接可執行的(「物件」或「可執行」形式)、原始程式碼或差異程式碼(「差量」或「修補」程式碼)。本文中所描述之實施例之軟體內容可經由上面儲存有內容之製造物品來提供,或經由操作通訊介面來經由通訊介面發送資料之方法來提供。機器可讀儲存媒體可使機器執行所描述的功能或操作,並且包括以機器(例如計算裝置、電子系統等)可存取之形式儲存資訊之任何機構,諸如可記錄/非可記錄媒體(例如唯讀記憶體(ROM)、隨機存取記憶體(RAM)、磁碟儲存媒體、光學儲存媒體、快閃記憶體裝置等)。通訊介面包括介接至硬連線媒體、無線媒體、光學媒體等中之任一者來與另一裝置通訊之任何機構,諸如記憶體匯流排介面、處理器匯流排介面、網際網路連接、磁碟控制器等。可藉由提供組態參數及/或發送信號來組配通訊介面,該等信號用來使通訊介面準備提供描述軟體內容之資料信號。可經由發送至通訊介面之一或多個命令或信號來存取通訊
介面。
本文中所描述之各種組件可為用於執行所描述之操作或功能的構件。本文中所描述之每一組件包括軟體、硬體或上述各者之組合。組件可實行為軟體模組、硬體模組、專用硬體(例如,特定應用硬體、特定應用積體電路(ASIC)、數位信號處理器(DSP)等)、嵌入式控制器、硬連線電路等。
除了本文中所描述的內容以外,可對所揭示實施例及其實行方案進行各種修改而不背離其範疇。因此,本文中之例示及實例應在例示性意義上而非限制性意義上來理解。本發明之範疇應僅參考以下申請專利範圍來量測。
400‧‧‧程序
402‧‧‧步驟
404‧‧‧步驟
406‧‧‧步驟
408‧‧‧步驟
410‧‧‧步驟
412‧‧‧步驟
414‧‧‧步驟
416‧‧‧步驟
418‧‧‧步驟
420‧‧‧步驟
422‧‧‧步驟
424‧‧‧步驟
Claims (20)
- 一種用於寫入一記憶體裝置之方法,其包含以下步驟:將一大於一的數目之快取行清除佇列以在一記憶體裝置中執行寫入操作,其中每一快取行包括一列記憶單元,每一記憶單元受控於三個獨立的控制線,其中寫入成一第一記憶單元狀態所花費之時間比寫入成一第二記憶單元狀態所花費之時間長;在一單一個寫入操作中將該數目的快取行之所有記憶單元設置為該第一記憶單元狀態;以及單獨地對該數目的快取行執行寫入操作來選擇性地將該等個別快取行之記憶單元寫入成該第二記憶單元狀態。
- 如請求項1之方法,其中該第一記憶單元狀態為零,並且該第二記憶單元狀態為一。
- 如請求項1之方法,其中該記憶體裝置包含一磁阻式記憶體裝置。
- 如請求項3之方法,其中該記憶體裝置包含一自旋轉移力矩(STT)記憶體裝置。
- 如請求項1之方法,其中將該數目的快取行清除佇列進一步包含以下步驟:動態地選擇將要清除佇列之快取行之該數目。
- 如請求項5之方法,其中動態地選擇將要清除佇列之快取行之該數目進一步包含以下步驟: 判定該記憶體裝置中可用來執行該單一個寫入操作之電流量;以及在可用之電流量之一限值內選擇快取行之一最大數目。
- 如請求項1之方法,其中將該數目的快取行清除佇列進一步包含以下步驟:自兩個寫入緩衝器中之一者清除佇列,其中一個緩衝器經指定為已填充的,並且另一緩衝器經指定為正被填充的,其中該等緩衝器基於正被填充的該緩衝器何時變滿來輪換指定。
- 一種用於以一多快取行重置操作來執行一寫入操作之記憶體電路,該記憶體電路包含:一記憶單元陣列,其受管理作為多個快取行,其中每一快取行包括一列記憶單元,每一記憶單元受控於三個獨立的控制線,其中寫入成一第一記憶單元狀態所花費之時間比寫入成一第二記憶單元狀態所花費之時間長;一寫入緩衝器,其用來保存將要寫入至該等多個快取行之資料;以及寫入邏輯組件,其用來進行以下操作:將一大於一的數目之快取行清除佇列以執行寫入操作,在一單一個寫入操作中將該數目的快取行之所有記憶單元設置為該第一記憶單元狀態,以及單獨地對該數目的快取行執行寫入操作來選擇性地將該等個別快取行之記憶單元 寫入成該第二記憶單元狀態。
- 如請求項8之記憶體電路,其中該第一記憶單元狀態為零,並且該第二記憶單元狀態為一。
- 如請求項8之記憶體電路,其中該記憶體電路包含一磁阻式記憶體電路。
- 如請求項10之記憶體電路,其中該記憶體電路包含一自旋轉移力矩(STT)記憶體電路。
- 如請求項8之記憶體電路,其中該寫入邏輯組件進一步用來動態地選擇將要清除佇列之快取行之該數目。
- 如請求項12之記憶體電路,其中該寫入邏輯組件用來藉由以下操作來動態地選擇將要清除佇列之快取行之該數目:判定該記憶體電路中可用來執行該單一個寫入操作之電流量;以及在可利用之電流量之一限值內選擇快取行之一最大數目。
- 如請求項8之記憶體電路,其中該寫入緩衝器包含兩個獨立的緩衝器:用來將新的寫入命令排入佇列之一第一緩衝器,以及將被清除佇列以用於該單一個寫入操作之一第二緩衝器,其中該等兩個緩衝器基於該第二緩衝器何時變空來切換。
- 一種系統,其包含:一記憶體電路,其包括:一記憶單元陣列,其受管理作為多個快取行, 其中每一該快取行包括一列記憶單元,每一該記憶單元受控於三個獨立的控制線,其中寫入成一第一記憶單元狀態所花費之時間比寫入成一第二記憶單元狀態所花費之時間長;一寫入緩衝器,其用來保存將要寫入至該等多個快取行之資料;以及寫入邏輯組件,其用來進行以下操作:將一大於一的數目之快取行清除佇列以執行寫入操作,在一單一個寫入操作中將該數目的快取行之所有記憶單元設置為該第一記憶單元狀態,以及單獨地對該數目的快取行執行寫入操作來選擇性地將該等個別快取行之記憶單元寫入成該第二記憶單元狀態;以及一觸控螢幕顯示器,其經耦接以基於自該記憶體電路存取之資料而產生一顯示。
- 如請求項15之系統,其中該第一記憶單元狀態為零,並且該第二記憶單元狀態為一。
- 如請求項15之系統,其中該系統包含一自旋轉移力矩(STT)記憶體電路。
- 如請求項15之系統,其中該寫入邏輯組件進一步用來動態地選擇將要清除佇列之快取行之該數目。
- 如請求項18之記憶體電路,其中該寫入邏輯用來藉由以下操作來動態地選擇將要清除佇列之快取行之該數目:判定該記憶體電路中可用來執行該單一個寫入操作 之電流量;以及在可利用之電流量之一限值內選擇快取行之一最大數目。
- 如請求項15之系統,其中該寫入緩衝器包含兩個獨立的緩衝器:用來將新的寫入命令排入佇列之一第一緩衝器,以及將被清除佇列以用於該單一個寫入操作之一第二緩衝器,其中該等兩個緩衝器基於該第二緩衝器何時變空來切換。
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US14/320,609 US9520192B2 (en) | 2014-06-30 | 2014-06-30 | Resistive memory write operation with merged reset |
Publications (2)
Publication Number | Publication Date |
---|---|
TW201617887A true TW201617887A (zh) | 2016-05-16 |
TWI551992B TWI551992B (zh) | 2016-10-01 |
Family
ID=54931245
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
TW104117416A TWI551992B (zh) | 2014-06-30 | 2015-05-29 | 以合倂重置來改良電阻式記憶體寫入操作 |
Country Status (2)
Country | Link |
---|---|
US (1) | US9520192B2 (zh) |
TW (1) | TWI551992B (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111208937A (zh) * | 2018-11-22 | 2020-05-29 | 爱思开海力士有限公司 | 存储器控制器及其操作方法 |
Families Citing this family (53)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US10115446B1 (en) | 2015-04-21 | 2018-10-30 | Spin Transfer Technologies, Inc. | Spin transfer torque MRAM device with error buffer |
US10163479B2 (en) | 2015-08-14 | 2018-12-25 | Spin Transfer Technologies, Inc. | Method and apparatus for bipolar memory write-verify |
US9824012B2 (en) * | 2015-09-24 | 2017-11-21 | Qualcomm Incorporated | Providing coherent merging of committed store queue entries in unordered store queues of block-based computer processors |
US10366774B2 (en) | 2016-09-27 | 2019-07-30 | Spin Memory, Inc. | Device with dynamic redundancy registers |
US10628316B2 (en) | 2016-09-27 | 2020-04-21 | Spin Memory, Inc. | Memory device with a plurality of memory banks where each memory bank is associated with a corresponding memory instruction pipeline and a dynamic redundancy register |
US10546625B2 (en) | 2016-09-27 | 2020-01-28 | Spin Memory, Inc. | Method of optimizing write voltage based on error buffer occupancy |
US10192602B2 (en) | 2016-09-27 | 2019-01-29 | Spin Transfer Technologies, Inc. | Smart cache design to prevent overflow for a memory device with a dynamic redundancy register |
US10460781B2 (en) | 2016-09-27 | 2019-10-29 | Spin Memory, Inc. | Memory device with a dual Y-multiplexer structure for performing two simultaneous operations on the same row of a memory bank |
US10192601B2 (en) | 2016-09-27 | 2019-01-29 | Spin Transfer Technologies, Inc. | Memory instruction pipeline with an additional write stage in a memory device that uses dynamic redundancy registers |
US10360964B2 (en) | 2016-09-27 | 2019-07-23 | Spin Memory, Inc. | Method of writing contents in memory during a power up sequence using a dynamic redundancy register in a memory device |
US10437723B2 (en) | 2016-09-27 | 2019-10-08 | Spin Memory, Inc. | Method of flushing the contents of a dynamic redundancy register to a secure storage area during a power down in a memory device |
US10818331B2 (en) | 2016-09-27 | 2020-10-27 | Spin Memory, Inc. | Multi-chip module for MRAM devices with levels of dynamic redundancy registers |
US10446210B2 (en) | 2016-09-27 | 2019-10-15 | Spin Memory, Inc. | Memory instruction pipeline with a pre-read stage for a write operation for reducing power consumption in a memory device that uses dynamic redundancy registers |
US10437491B2 (en) | 2016-09-27 | 2019-10-08 | Spin Memory, Inc. | Method of processing incomplete memory operations in a memory device during a power up sequence and a power down sequence using a dynamic redundancy register |
US10474458B2 (en) | 2017-04-28 | 2019-11-12 | Intel Corporation | Instructions and logic to perform floating-point and integer operations for machine learning |
US10489245B2 (en) | 2017-10-24 | 2019-11-26 | Spin Memory, Inc. | Forcing stuck bits, waterfall bits, shunt bits and low TMR bits to short during testing and using on-the-fly bit failure detection and bit redundancy remapping techniques to correct them |
US10481976B2 (en) | 2017-10-24 | 2019-11-19 | Spin Memory, Inc. | Forcing bits as bad to widen the window between the distributions of acceptable high and low resistive bits thereby lowering the margin and increasing the speed of the sense amplifiers |
US10656994B2 (en) | 2017-10-24 | 2020-05-19 | Spin Memory, Inc. | Over-voltage write operation of tunnel magnet-resistance (“TMR”) memory device and correcting failure bits therefrom by using on-the-fly bit failure detection and bit redundancy remapping techniques |
US10529439B2 (en) | 2017-10-24 | 2020-01-07 | Spin Memory, Inc. | On-the-fly bit failure detection and bit redundancy remapping techniques to correct for fixed bit defects |
US10891997B2 (en) | 2017-12-28 | 2021-01-12 | Spin Memory, Inc. | Memory array with horizontal source line and a virtual source line |
US10395712B2 (en) | 2017-12-28 | 2019-08-27 | Spin Memory, Inc. | Memory array with horizontal source line and sacrificial bitline per virtual source |
US10811594B2 (en) | 2017-12-28 | 2020-10-20 | Spin Memory, Inc. | Process for hard mask development for MRAM pillar formation using photolithography |
US10424726B2 (en) | 2017-12-28 | 2019-09-24 | Spin Memory, Inc. | Process for improving photoresist pillar adhesion during MRAM fabrication |
US10395711B2 (en) | 2017-12-28 | 2019-08-27 | Spin Memory, Inc. | Perpendicular source and bit lines for an MRAM array |
US10360962B1 (en) | 2017-12-28 | 2019-07-23 | Spin Memory, Inc. | Memory array with individually trimmable sense amplifiers |
US10784439B2 (en) | 2017-12-29 | 2020-09-22 | Spin Memory, Inc. | Precessional spin current magnetic tunnel junction devices and methods of manufacture |
US10886330B2 (en) | 2017-12-29 | 2021-01-05 | Spin Memory, Inc. | Memory device having overlapping magnetic tunnel junctions in compliance with a reference pitch |
US10840436B2 (en) | 2017-12-29 | 2020-11-17 | Spin Memory, Inc. | Perpendicular magnetic anisotropy interface tunnel junction devices and methods of manufacture |
US10546624B2 (en) | 2017-12-29 | 2020-01-28 | Spin Memory, Inc. | Multi-port random access memory |
US10840439B2 (en) | 2017-12-29 | 2020-11-17 | Spin Memory, Inc. | Magnetic tunnel junction (MTJ) fabrication methods and systems |
US10367139B2 (en) | 2017-12-29 | 2019-07-30 | Spin Memory, Inc. | Methods of manufacturing magnetic tunnel junction devices |
US10424723B2 (en) | 2017-12-29 | 2019-09-24 | Spin Memory, Inc. | Magnetic tunnel junction devices including an optimization layer |
US10438996B2 (en) | 2018-01-08 | 2019-10-08 | Spin Memory, Inc. | Methods of fabricating magnetic tunnel junctions integrated with selectors |
US10438995B2 (en) | 2018-01-08 | 2019-10-08 | Spin Memory, Inc. | Devices including magnetic tunnel junctions integrated with selectors |
US10446744B2 (en) | 2018-03-08 | 2019-10-15 | Spin Memory, Inc. | Magnetic tunnel junction wafer adaptor used in magnetic annealing furnace and method of using the same |
US11107978B2 (en) | 2018-03-23 | 2021-08-31 | Spin Memory, Inc. | Methods of manufacturing three-dimensional arrays with MTJ devices including a free magnetic trench layer and a planar reference magnetic layer |
US20190296220A1 (en) | 2018-03-23 | 2019-09-26 | Spin Transfer Technologies, Inc. | Magnetic Tunnel Junction Devices Including an Annular Free Magnetic Layer and a Planar Reference Magnetic Layer |
US10784437B2 (en) | 2018-03-23 | 2020-09-22 | Spin Memory, Inc. | Three-dimensional arrays with MTJ devices including a free magnetic trench layer and a planar reference magnetic layer |
US11107974B2 (en) | 2018-03-23 | 2021-08-31 | Spin Memory, Inc. | Magnetic tunnel junction devices including a free magnetic trench layer and a planar reference magnetic layer |
US10411185B1 (en) | 2018-05-30 | 2019-09-10 | Spin Memory, Inc. | Process for creating a high density magnetic tunnel junction array test platform |
US10559338B2 (en) | 2018-07-06 | 2020-02-11 | Spin Memory, Inc. | Multi-bit cell read-out techniques |
US10600478B2 (en) | 2018-07-06 | 2020-03-24 | Spin Memory, Inc. | Multi-bit cell read-out techniques for MRAM cells with mixed pinned magnetization orientations |
US10593396B2 (en) | 2018-07-06 | 2020-03-17 | Spin Memory, Inc. | Multi-bit cell read-out techniques for MRAM cells with mixed pinned magnetization orientations |
US10692569B2 (en) | 2018-07-06 | 2020-06-23 | Spin Memory, Inc. | Read-out techniques for multi-bit cells |
US10650875B2 (en) | 2018-08-21 | 2020-05-12 | Spin Memory, Inc. | System for a wide temperature range nonvolatile memory |
US10699761B2 (en) | 2018-09-18 | 2020-06-30 | Spin Memory, Inc. | Word line decoder memory architecture |
US11621293B2 (en) | 2018-10-01 | 2023-04-04 | Integrated Silicon Solution, (Cayman) Inc. | Multi terminal device stack systems and methods |
US10971680B2 (en) | 2018-10-01 | 2021-04-06 | Spin Memory, Inc. | Multi terminal device stack formation methods |
US11107979B2 (en) | 2018-12-28 | 2021-08-31 | Spin Memory, Inc. | Patterned silicide structures and methods of manufacture |
US11934342B2 (en) | 2019-03-15 | 2024-03-19 | Intel Corporation | Assistance for hardware prefetch in cache access |
EP4130988A1 (en) | 2019-03-15 | 2023-02-08 | INTEL Corporation | Systems and methods for cache optimization |
CN113396400A (zh) | 2019-03-15 | 2021-09-14 | 英特尔公司 | 用于针对高速缓存操作提供层级开放划分扇区和可变扇区大小的系统和方法 |
WO2020190807A1 (en) | 2019-03-15 | 2020-09-24 | Intel Corporation | Systolic disaggregation within a matrix accelerator architecture |
Family Cites Families (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6687179B2 (en) * | 2002-04-10 | 2004-02-03 | Micron Technology, Inc. | Method and system for writing data in an MRAM memory device |
TW200413907A (en) * | 2002-08-29 | 2004-08-01 | Motorola Inc | Storage system with memory for storing data |
US7577017B2 (en) * | 2006-01-20 | 2009-08-18 | Industrial Technology Research Institute | High-bandwidth magnetoresistive random access memory devices and methods of operation thereof |
KR100843144B1 (ko) * | 2006-12-20 | 2008-07-02 | 삼성전자주식회사 | 저항체를 이용한 비휘발성 메모리 장치 및 그 구동 방법 |
TWI324344B (en) * | 2007-02-16 | 2010-05-01 | Ind Tech Res Inst | Writing method on magnetic memory cell and magetic memory array structure |
US9042153B2 (en) * | 2010-08-20 | 2015-05-26 | Shine C. Chung | Programmable resistive memory unit with multiple cells to improve yield and reliability |
US8902643B2 (en) * | 2011-10-10 | 2014-12-02 | Crocus Technology Inc. | Apparatus, system, and method for writing multiple magnetic random access memory cells with a single field line |
TWI488192B (zh) * | 2011-11-10 | 2015-06-11 | Ind Tech Res Inst | 非揮發性記憶體的寫入時序控制電路和控制方法 |
-
2014
- 2014-06-30 US US14/320,609 patent/US9520192B2/en active Active
-
2015
- 2015-05-29 TW TW104117416A patent/TWI551992B/zh active
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111208937A (zh) * | 2018-11-22 | 2020-05-29 | 爱思开海力士有限公司 | 存储器控制器及其操作方法 |
CN111208937B (zh) * | 2018-11-22 | 2023-04-18 | 爱思开海力士有限公司 | 存储器控制器及其操作方法 |
Also Published As
Publication number | Publication date |
---|---|
TWI551992B (zh) | 2016-10-01 |
US20150380088A1 (en) | 2015-12-31 |
US9520192B2 (en) | 2016-12-13 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
TWI551992B (zh) | 以合倂重置來改良電阻式記憶體寫入操作 | |
CN113113063B (zh) | 存储器设备、存储器控制器及存储系统 | |
CN107408099B (zh) | 基于检测传感器数据的阻抗补偿 | |
CN107924693B (zh) | 多区块系统中的可编程的片上端接定时 | |
CN109478177B (zh) | 双数据率命令总线 | |
EP3198457B1 (en) | Common die implementation for low power memory devices | |
US10497434B2 (en) | Cross-point memory single-selection write technique | |
TWI758247B (zh) | 用於長叢發長度之內部連續列存取技術 | |
TW201723866A (zh) | 具有隱藏更新及外部更新之混合式更新技術 | |
WO2017165042A1 (en) | Multi-level memory management | |
TW201040962A (en) | Configurable bandwidth memory devices and methods | |
US10102884B2 (en) | Distributed serialized data buffer and a memory module for a cascadable and extended memory subsystem | |
CN111613261A (zh) | 用于交叉点型存储器单元的双极解码器 | |
JP2020510951A (ja) | マルチコアオンダイメモリマイクロコントローラ | |
US9652418B2 (en) | High throughput register file memory with pipeline of combinational logic | |
US8688891B2 (en) | Memory controller, method of controlling unaligned memory access, and computing apparatus incorporating memory controller | |
CN109508305B (zh) | 存储器装置和包括存储器装置的存储器系统 | |
US11042315B2 (en) | Dynamically programmable memory test traffic router | |
US20210286727A1 (en) | Dynamic random access memory (dram) with scalable meta data |