具有用于更高性能和能量效率的去耦比特的非易失性多級單元存儲器的制造方法
【專利說明】
【背景技術】
[0001]諸如憶阻器和相變存儲器(“PCM”)這樣的非易失性存儲器作為對像動態隨機存取存儲器(“DRAM”)和閃速存儲器這樣的當前流行的存儲器技術的有前途且可擴展的可替換方案而出現。除了引起比DRAM和閃存更高的存儲器密度、更低的每比特成本和更大的容量的基本上不同的存儲數據的方式之外,這些新興的非易失性存儲器還支持多級單元(“MLC”)技術,其允許每個存儲單元存儲兩個或更多個比特(相比之下,DRAM能夠每單元僅存儲I比特)。在較低功率下操作的潛能增加了憶阻器和PCM作為可擴展DRAM可替換方案的競爭力。
[0002]具體地,PCM是通過改變已知為硫化物的材料的電阻來存儲數據的新興存儲器技術。通過施加熱并然后允許它以不同的速率冷卻,硫化物能夠被操縱以穩定在非晶體(快淬的)高電阻狀態(例如,邏輯低或O )與晶體(慢冷卻的)低電阻狀態(例如,邏輯高或I)之間。PCM是非易失性的,因為在沒有電力時保留了硫化物的狀態。PCM單元的非晶體狀態與晶體狀態之間的大電阻差(以三個數量級)使能在PCM單元中實現MLC技術。這是通過將大電阻差分成各自表示2比特值“11”、“10”、“01”和“00”的4個相異的區來達成的。通過將單元的電阻精確地控制為位于這些電阻區之一內,能夠將多于I比特存儲在單元中。
[0003]然而在PCM中支持MCL招致了更高的訪問延遲和能量。MLC要求將單元電阻準確地控制為位于較窄的范圍內,這使得重復寫入和讀取技術成為必要,所述重復寫入和讀取技術具有引起更高的讀取延遲和能量以及更高的寫入延遲和能量的多次感測重復。
【附圖說明】
[0004]結合連同附圖進行的以下詳細描述,可以更充分地認識本申請,其中同樣的附圖標記自始至終指的是同樣的部分,并且其中:
圖1是根據各種示例的非易失性MLC存儲器的示意圖;
圖2A-B是圖示了根據各種示例的存儲單元的讀取延遲的示意圖;
圖3A-B是圖示了根據各種示例的存儲單元的寫入延遲的示意圖;
圖4是圖示了 MSB和LSB如何能夠在非易失性多級存儲單元中被去耦以運用讀取延遲和能量不對稱性以及寫入延遲和能量不對稱性的示意圖;
圖5是將根據本文提出的各種示例的數據塊地址映射與傳統方案對比的示意圖;
圖6是針對更高的性能和能量效率在非易失性MLC存儲器中具有去耦比特的計算機系統的不意圖;
圖7圖示了行緩沖器中MSB和LSB的交織以合并向存儲器的寫入;
圖8是針對更高的性能和能量效率在非易失性MLC存儲器中具有去耦比特的計算機系統的另一不意圖;
圖9是針對更高的性能和能量效率將非易失性MLC存儲器中的比特去耦的流程圖;以及圖10是針對更高的性能和效率合并向非易失性MLC存儲器的寫入的流程圖。
【具體實施方式】
[0005]公開了針對更高的性能和能量效率具有去耦比特的非易失性多級單元(“MLC”)存儲器。如本文一般描述的非易失性MLC存儲器是具有多個存儲單元的非易失性存儲器,其中每個存儲單元存儲多于一個比特。在各種示例中,非易失性MLC存儲器可以是每單元存儲多組比特的非易失性存儲器(例如,PCM、憶阻器等等),其中每組能夠具有一個或多個比特。例如,存儲單元能夠存儲兩組比特,其中每組具有單一比特(對于每單元存儲總計2比特)。一組能夠存儲最高有效位(“MSB”),并且另一組能夠存儲最低有效位(“LSB”)。在另一示例中,存儲單元能夠存儲4組比特,其中每組具有單一比特(對于每單元存儲總計4比特)。并且在又一個示例中,存儲單元能夠存儲兩組比特,其中每組具有2比特(也針對每單元總計4比特)。各種其他示例被想到并在下面更詳細地被描述。
[0006]非易失性MLC存儲器將每個存儲單元劃分成組。具有多個緩沖器部的行緩沖器被用來存儲來自存儲單元的比特,其中每個緩沖器部具有不同的讀取延遲和能量以及寫入延遲和能量。為了易于說明,以下描述可以指的是第一示例,其中存儲單元具有兩組比特,每組具有單一比特。在該示例中,MLC存儲器具有存儲MSB比特的MSB半部和存儲LSB比特的LSB半部。MSB半部具有減小的讀取延遲和能量,而LSB半部具有減小的寫入延遲和能量。來自存儲器的MSB半部的MSB比特被存儲在行緩沖器的MSB緩沖器部中,而來自存儲器的LSB半部的LSB比特則被存儲在行緩沖器的LSB緩沖器部中。可以將MSB緩沖器中的數據塊與LSB緩沖器中的數據塊交織以增加合并向存儲器的寫入的機會并提高其寫入持久性。
[0007]認識到,在以下描述中,闡述了許多特定的細節來提供對示例的全面理解。然而,認識到可以實踐示例,而不限于這些特定的細節。在其他實例中,可以不詳細描述公知的方法和結構,以避免不必要地模糊對示例的描述。此外,示例可以彼此相結合使用。
[0008]現在參看圖1,描述了根據各種示例的非易失性MLC存儲器的示意圖。非易失性MLC存儲器100包括存儲單元陣列和外圍電路裝置。在陣列中,存儲單元被組織成行和列,其中每行中的所有單元連接到公共的字線,并且每列中的所有單元連接到公共的位線(每個單元連接到一個字線和一個位線)。例如,存儲單元105連接到字線110和位線115。存儲單元105與存儲單元120和125在相同的行140,并且與存儲單元130和135在相同的列145。本領域技術人員將意識到,僅出于例證說明的目的將存儲器100示為具有9個存儲單元。典型的存儲器100可以具有額外的單元。
[0009]當訪問存儲器100中的數據時,同時訪問單元行(例如,行140)。在這么做時,行解碼器(未被示出)斷言字線以選擇目標行中的所有單元,并且位線在單元與外圍電路之間傳送數據。在外圍電路中,來自位線的數據信號由行緩沖器155中的感測放大器150a-c檢測,并在行緩沖器155中被鎖存,并且列解碼器(未被示出)選擇行緩沖器155的子集來與I/O焊盤(未被示出)通信。
[0010]認識到存儲器100可以邏輯上被劃分成通常被稱作存儲體的塊。存儲體是存儲器100的能夠被獨立尋址的最小分塊。例如,存儲器100被示為具有存儲體170。存儲體170中的每一行向感測傳感器150a_c傳遞大量的比特。傳遞的比特數是處理器字的倍數(例如,32或64比特)。存儲體170由存儲器控制器165控制,存儲器控制器165在存儲器100的存儲體與(一個或多個)處理器(未被示出)之間提供接口。存儲器控制器165通過對數據的正確的行、列和存儲位置加以選擇的復用器和解復用器的組合來讀取、寫入和刷新存儲器100。
[0011]—旦行的數據被置于行緩沖器155中,就可以通過訪問該緩沖器中的數據來服務對相同行的后續數據請求。這樣的訪問已知為行緩沖器命中,并且能夠以行緩沖器155的訪問延遲被快速地服務,而不與較緩慢的單元陣列交互。然而,為了服務對另一行的數據請求,必須從陣列訪問數據(代替行緩沖器155的內容)。這種類型的訪問已知為行緩沖器錯過,并且由于激活了陣列中的單元行而招致更高的延遲和能耗。
[0012]具有高數據局部性的應用得益于大的行緩沖器并且招致減少的存儲器訪問時間。但是在多核處理器的情況下,在訪問相同存儲體的同時來自多個線程(進程)的存儲器請求變成交織的,從而導致提高的行緩沖器沖突,并且因而導致高的行緩沖器錯過率。這還提高了存儲器控制器165處的爭用,因為存儲器請求趨向于在被發出之前在存儲器控