用于可變電阻存儲器單元的ecc管理的制作方法
【專利摘要】本申請公開了用于可變電阻存儲器單元的ECC管理。數(shù)據(jù)存儲裝置可總體上至少由控制器構(gòu)建并與控制器操作,控制器被配置成識別相對于至少一個可變電阻存儲器單元中的預定閾值的變化并且針對至少一個可變電阻存儲器單元將第一錯誤校驗碼(ECC)級別升級為第二ECC級別。
【專利說明】用于可變電阻存儲器單元的ECC管理
【技術(shù)領(lǐng)域】
[0001]各種實施例總體上涉及具有可變電阻存儲器單元的數(shù)據(jù)存儲裝置的管理。
【發(fā)明內(nèi)容】
[0002]根據(jù)一些實施例,數(shù)據(jù)存儲裝置可至少具有控制器,其被配置成識別相對于至少一個可變電阻存儲器單元中的預定閾值的變化并且針對至少一個可變電阻存儲器單元將第一錯誤校驗碼(ECC)級別升級為第二 ECC級別。
【專利附圖】
【附圖說明】
[0003]圖1提供了根據(jù)各種實施例構(gòu)建和操作的數(shù)據(jù)存儲裝置的模塊示意圖。
[0004]圖2示出了可以用在圖1的數(shù)據(jù)存儲裝置中使用的存儲器陣列的一部分的模塊示意圖。
[0005]圖3顯示了根據(jù)一些實施例構(gòu)建和操作的數(shù)據(jù)存儲裝置的示例部分的模塊示意圖。
[0006]圖4圖示地表現(xiàn)了針對示例的存儲器單元的大量編程狀態(tài)分布。
[0007]圖5是根據(jù)各種實施例構(gòu)建的數(shù)據(jù)存儲裝置的示例控制電路部分的模塊示意圖。
[0008]圖6提供了根據(jù)一些實施例操作的示例控制電路的模塊示意圖。
[0009]圖7顯示了根據(jù)各種實施例構(gòu)建和操作的示例控制電路的模塊示意圖。
[0010]圖8圖示出根據(jù)一些實施例執(zhí)行的示例主動存儲器單元管理例程。
【具體實施方式】
[0011]在工業(yè)上越來越重視可更精確地并更快地訪問存儲數(shù)據(jù)的具有減小的物理尺寸和增大的數(shù)據(jù)存儲容量的數(shù)據(jù)存儲裝置持續(xù),其具有受拉伸材料以及諸如數(shù)據(jù)寫入和讀取期間的磁屏蔽之類的各種旋轉(zhuǎn)數(shù)據(jù)存儲環(huán)境的操作特性。固態(tài)存儲器單元的增生已經(jīng)能夠提供降低的功耗、尺寸、產(chǎn)熱以及振動靈敏度,從而允許更多的數(shù)據(jù)存儲被用于移動和混合數(shù)據(jù)存儲裝置。雖然數(shù)據(jù)存儲裝置可包括一個或多個固態(tài)存儲器單元以使得旋轉(zhuǎn)數(shù)據(jù)存儲上的應(yīng)力最小,但是固態(tài)存儲器還可經(jīng)歷威脅到存儲數(shù)據(jù)的精確性和訪問速度的操作條件。
[0012]一種這樣的條件可能是將數(shù)據(jù)存儲為不同電阻狀態(tài)的存儲器單元中的電阻變化。電阻從預定閾值的偏離會導致增大的數(shù)據(jù)錯誤和數(shù)據(jù)訪問時間,這是因為存儲器單元重復地進行讀取而不確定所存儲的邏輯值。雖然已經(jīng)提出了各種形式的測試、錯誤校驗和錯誤校驗碼(ECC),例如Reed-Solomon、校驗總和、Reed-Muller、奇偶、卷積碼、以及BinaryGolay,但是這些做法在處理開銷和暫時的存儲器單元去激活方面是成本很高的。因此,工業(yè)上一直存在與更有效地管理數(shù)據(jù)存儲裝置中的諸如因疏忽造成的電阻變化所導致的錯誤之類的現(xiàn)有的及將來的錯誤有關(guān)的目標。
[0013]由此,各種實施例可總體上涉及一種數(shù)據(jù)存儲裝置,其至少由控制器配置而成,控制器被配置成識別相對于至少一個可變電阻存儲器單元中的預定閾值的變化并且針對至少一個可變電阻存儲器單元將第一錯誤校驗碼(ECC)級別升級為第二 ECC級別??砂凑諏崿F(xiàn)了存儲裝置的處理能力的優(yōu)化使用而不影響數(shù)據(jù)訪問可靠性或速度的主動或互動的方式進行預定電阻閾值的識別。有效地管理逐步更穩(wěn)健的級別的ECC而不影響數(shù)據(jù)可靠性、訪問速度和系統(tǒng)處理開銷的能力,可提供持久的性能,哪怕存儲器單元具有偏離的操作特征。
[0014]可采用可變電阻固態(tài)存儲器單元并在各種非限制數(shù)據(jù)存儲環(huán)境下為其分配多種不同ECC方案中的一種。圖1提供了其中可實現(xiàn)各種實施例的示例性數(shù)據(jù)存儲裝置100的模塊示意圖。裝置100 (其在一些實施例中被配置為固態(tài)硬盤(SSD))具有可通過諸如布線、接口、總線和多路復用器之類的各種非限制性電氣互連連接的頂級控制器102和非意失性數(shù)據(jù)存儲陣列104??刂破?02可被用來協(xié)助用戶數(shù)據(jù)在存儲陣列104和處于存儲裝置100內(nèi)部或外部的主機裝置之間的傳遞。
[0015]在一些實施例中,控制器102是可編程微控制器,其可對陣列104和主機裝置之間的至少一個接口電路待決轉(zhuǎn)遞中的數(shù)據(jù)進行緩存??刂破?02和存儲陣列104的位置并不限于圖1所示的共存,存儲裝置100元件的任意部分可物理上或邏輯上缺失,同時共同地控制存儲裝置100的各種操作方面。即,并不要求控制器102和存儲陣列104的物理存在,而是任一元件可布置在存儲裝置100的外部(例如利用適當協(xié)議在網(wǎng)絡(luò)上進行訪問),同時有利于存儲陣列104內(nèi)的調(diào)度的和未調(diào)度的操作。類似地,附加的外部控制器和存儲陣列可存在于存儲裝置100內(nèi)部或外部以根據(jù)調(diào)度和要求而被有選擇的使用。
[0016]圖2總體地圖示出可在諸如圖1的裝置100之類的數(shù)據(jù)存儲裝置中使用的示例的非意失性存儲陣列120的一部分的模塊示意圖。大量非意失性存儲器單元122在按照可被表征為交點陣列的定向被布置在與電路徑124和126的重疊對應(yīng)的行和列(例如字線或源線)中。一個或多個寫/讀電路128和130可單獨地或同時地控制被寫入或從扇區(qū)132、頁134、塊、和垃圾收集單元中的所選存儲器單元122讀出的數(shù)據(jù)??舍槍Χ鄠€單元(例如整行、頁和塊)執(zhí)行這種控制以加速數(shù)據(jù)訪問。
[0017]多個存儲器單元122可經(jīng)由允許對預定數(shù)量的存儲器單元122單獨地或集中地執(zhí)行寫、重寫和讀操作的控制線路126至X(行)寫/讀電路128以及經(jīng)由控制線路124至Y(列)寫/讀電路130進行耦接。在一些實施例中,寫/讀電路128和130可被配置成提供適合于多于一種類型的固態(tài)存儲器單元的參考參數(shù),例如電壓、電阻、和脈沖寬度。換言之,存儲器的不同部分(例如存儲器的不同頁134或塊)可物理上或邏輯上利用每種都操作來存儲數(shù)據(jù)的不同類型的存儲器單元進行配置,但是對應(yīng)于被寫/讀電路128和130提供用于精確地將讀或?qū)戄敵龇g成邏輯狀態(tài)的不同參考參數(shù)。
[0018]在非限制的示例操作中,寫/讀電路128和130可同時地針對調(diào)度的或未調(diào)度的用戶和開銷系統(tǒng)操作來提供對存儲器單元的頁134或單元132的訪問。一個或多個測試電路136和138可提供由評估電路140監(jiān)控、記錄和評估的行和列測試能力。測試電路136和138可被配置成將一個或多個存儲器單元122和存儲器的頁134布置成預定狀態(tài),例如公共的邏輯和電阻值,它們可能或者可能沒有在測試模式下在線以備用戶訪問,其中測試模式以流經(jīng)所選的存儲器單元122的用于識別和區(qū)分一個或多個不同類型的單元缺陷、操作參數(shù)和存儲器類型的一個或多個靜態(tài)電流的通過為特征。換言之,單個存儲器單元122或更多單元可同時地或連續(xù)地下線并被測試電路136和138設(shè)置成測試模式以允許多個測試電流通過單元122來確定評估電路140中記錄并評估的各種地理的、操作的和有缺陷的特征。
[0019]這樣,評估電路140可指導測試電路136和138以及寫/讀128和130電路的操作來確定存儲器單元122在數(shù)據(jù)存儲裝置120中做了什么操作以及如何操作。在一些實施例中,評估電路140在用戶數(shù)據(jù)被寫之前對一些或所有存儲器單元122進行評估和測試,這就能提供可后續(xù)使用的基線數(shù)據(jù)。各種實施例還可周期性地以及偶發(fā)地對各種存儲器單元122的操作進行測試和評估。這種周期測試可在預定時間和緊急時候(例如低水平系統(tǒng)處理和空閑時間)執(zhí)行,以識別出諸如電阻變化之類的各種操作情況。
[0020]具有測試各種存儲器單元122和單元132的組的能力,評估電路140可適于存儲器單元性能中的識別出的靜態(tài)和動態(tài)變化。然而,使用系統(tǒng)資源提供一個或多個存儲器單元122的ECC分配性能來進行測試和校正,可花費繁重的系統(tǒng)資源,尤其是在每秒鐘千百次地訪問ECC的現(xiàn)代數(shù)據(jù)存儲系統(tǒng)中。而且,對存儲器單元122的變化進行校正的反應(yīng)特性可能不會進行地足夠快到能夠確保高數(shù)據(jù)可靠性和訪問速度。因此,評估電路140可由各種能力配置以實現(xiàn)存儲器單元122對識別出來的即將發(fā)生的變化的預測調(diào)整。
[0021]圖3圖示出根據(jù)各種實施例的數(shù)據(jù)存儲裝置的示例控制部分150的模塊示意圖??刂撇糠?50具有通過控制電路158單獨或集中操作的多個不同存儲器層152、154和156。在各種實施例中,各種存儲器層對應(yīng)于不同存儲器單元類型??衫萌我馑镜目删幊探饘倩瘑卧?PMC)組件140來構(gòu)建及操作第一存儲器層152。PMC組件160可由底部電極162和底部電極164、金屬層166、電解層168和電介質(zhì)層170形成??刂齐娐?58可被用來調(diào)節(jié)第一電極162和第二電極164之間的相對電勢,導致寫電流172通過PMC組件160而形成將單元的電阻從高電阻變成可對應(yīng)于第一預定邏輯狀態(tài)(例如I)的低電阻的導絲174。
[0022]導絲174通過將來自金屬層166的離子以及來自底部電極164的電子進行遷移建立了金屬層166和底部電極164之間的導電路徑。電介質(zhì)層170聚焦來自底部電極164的小區(qū)域電子遷移,從而控制所得到的導絲174的位置。寫電流通過PMC組件160在反向的第二方向上的后續(xù)應(yīng)用,導致了離子和電子遷移回各個電極162和164,由此將PMC組件160重置為其初始高電阻(對應(yīng)于不同第二預定邏輯狀態(tài)(例如O))。可替換地,可利用由控制電路158選擇性地提供的具有不同幅值和/或脈沖寬度的單極編程電流來對結(jié)構(gòu)類似于160所示的PMC組件進行編程。
[0023]第二存儲器層154被示出為由示例相變隨機訪問存儲器(PCRAM)組件180提供的可用在根據(jù)各種實施例的數(shù)據(jù)存儲陣列中的另一非排他類型的固態(tài)存儲器。相變組件180具有布置在頂部電極184和底部電極186之間的相變層182。雖然未要求或限制,但是相變層182可由周期表的VI族的多晶硫族化物材料形成,例如碲(Te)和硒(Se),同時在一些實施例中,相變層182由Ge2Sb2Te5(GST)或In-Ge-Te形成。
[0024]為了使層182處于相對高電阻的非晶相,相對高的電勢被施加至電極184和186以將層182加熱至其融化溫度之上??焖俚厝コ妷阂蕴峁┫鄬γ翡J的冷卻轉(zhuǎn)變,這可被稱為淬火工藝。在該情況下,原子可能不具有足夠的時間來將整個陣列釋放至晶格結(jié)構(gòu),從而結(jié)束亞穩(wěn)晶相和聞電阻。
[0025]如所示,響應(yīng)于由于具有相對低幅值和較長持續(xù)時間的適當電流188流經(jīng)組件180而造成的焦耳加熱,相變層182可被編程至晶相。所加的脈沖被配置成使得層的溫度升高至其玻璃態(tài)轉(zhuǎn)變溫度之上而且處于其融化溫度之下,并且逐漸地將溫度降低回到環(huán)境級別。該溫度梯度總體上將為被結(jié)晶材料提供足夠的保壓時間。利用PCRAM組件180的編程操作,使層182進入各自的非晶相和晶相的數(shù)據(jù)寫電流都可提供在公共方向(統(tǒng)一極性)188,這可在一些數(shù)據(jù)存儲陣列中提供優(yōu)化的數(shù)據(jù)編程性能。
[0026]雖然相同類型的固態(tài)存儲器可被用在多個不同存儲器層中,但是圖3顯示的非限制性實施例具有在第三存儲器層156中單個地或多個地使用的電阻式隨機訪問存儲器(RRAM)組件190。RRAM組件190具有被干預氧化層196隔開的相反的金屬或合金電極層192和194。通過氧化層196的名義電阻建立第一更高電阻的編程狀態(tài)。組件190上所選方向上的適當寫電勢和/或?qū)戨娏鞯氖┘涌梢饛碾姌O層192的金屬遷移以及經(jīng)由氧化層196的一個或多個導電金屬化絲198的形成。
[0027]在一些實施例中,氧化層196可被配置為可遷移泄漏電流和更低的編程電流的不同材料的疊層。作為非限制的示例,非對稱的Ta02_x和Ta205_x可具有不同厚度并形成氧化疊層。該非對稱氧化疊層可呈現(xiàn)可以在無晶體管且無二極管的交叉點陣列(例如圖2的陣列120)中擴展和訪問的優(yōu)化的持久性、數(shù)據(jù)保持力和訪問速度。
[0028]各種實施例還可使用采用了被范德華力移動以形成高低電阻狀態(tài)的碳納米管的非織物矩陣的其它電阻式存儲器類型,例如納米管隨機訪問存儲器(NRAM)。NRAM的尺寸和可規(guī)模化允許存儲器被用在諸如切換裝置和存儲器單元之類的各種不同的存儲器陣列應(yīng)用中。與讀取數(shù)據(jù)和寫入數(shù)據(jù)相關(guān)的低訪問電流進一步允許NRAM被單獨地使用或與其它電阻式存儲器類型組合使用來為控制部分150的各種存儲器層152、154和156提供各種各樣的數(shù)據(jù)存儲能力。
[0029]該導絲198總體上操作來降低組件190的特征電阻并提供可對應(yīng)于不同邏輯狀態(tài)的不同高低電阻狀態(tài)。為了使得組件190的編程狀態(tài)返回高阻狀態(tài),適當寫電勢和/或電流在撤消導絲198的方向上被施加在電極192和194之間。利用30 μ A或更小的寫電流,導絲198的產(chǎn)生和隨后去除可小于10ns,這可通過單獨實現(xiàn)或與其它類型的固態(tài)存儲器組合實現(xiàn)并被分配給將組件190最大化成相對快的編程時間和低編程電流的操作條件(例如用戶數(shù)據(jù)、元數(shù)據(jù)和空閑單元),來優(yōu)化數(shù)據(jù)存儲陣列性能。
[0030]多個不同存儲器層的配置可允許控制電路158采用復雜的數(shù)據(jù)管理方案,其中各個存儲器層152、154和156具有不同存儲器類型(例如RRAM、PCRAM和PCM),但是具有控制電路158可選擇性地用來優(yōu)化數(shù)據(jù)存儲性能的類似的存儲器單元功能(例如元數(shù)據(jù)和用戶數(shù)據(jù)的存儲)。例如,初始地存儲在構(gòu)建為相變存儲器單元的第一存儲器層152中的數(shù)據(jù)可為冗余或重定位的目的而移動至第二存儲器層154的RRAM存儲器單元。
[0031]控制固態(tài)存儲器單元數(shù)據(jù)的類型的能力被進一步存儲以允許各種存儲器層被適應(yīng)性方式使用來反應(yīng)地和主動地識別存儲器單元操作偏移,例如電阻變化。然而,應(yīng)該注意的是,不同類型的存儲器單元的使用可附加地為單元提供不同電阻、與變化測試對應(yīng)的讀寫輪廓、以及被至少控制電路158同時控制的預測模型,從而最大化存儲器陣列對單元電阻的變化的適應(yīng)性。
[0032]圖4描繪了根據(jù)一些實施例的在數(shù)據(jù)存儲陣列中使用的示例固態(tài)存儲器單元的操作數(shù)據(jù)。各種電阻區(qū)域202、204、206和208分別對應(yīng)于針對編程為邏輯值11、10、01和OO的多個存儲器單元的電阻分布。在一些實施例中,數(shù)據(jù)存儲陣列的一個或多個固態(tài)存儲器單元可被配置為多級別單元(MLC),其通過同時地將η個比特存儲為2η個邏輯位值來與將單比特存儲為邏輯值O或I的單級別單元形成對比,如圖4所示。
[0033]雖然可以沒有限制地利用任意數(shù)量的不同邏輯值規(guī)定,但是根據(jù)各種實施例的邏輯值規(guī)范將邏輯值11分配為最低電阻而且將邏輯值10、01和00逐步地分配為更高的電阻。不管邏輯值規(guī)定如何,各種存儲器單元操作可促進固態(tài)存儲器單元的電阻的不經(jīng)意的偏移,如分段區(qū)域210、212和214所示。作為示例但不是限制,存儲器單元的存儲電阻的增大及減小的連續(xù)編程周期的數(shù)量、高電阻狀態(tài)被持續(xù)存儲在存儲器單元中的時間、數(shù)據(jù)存儲陣列的溫度、用來對存儲器單元進行編程的編程電流的量,都可針對逐漸使數(shù)據(jù)的精確的編程和感測變得復雜的單比特或多比特存儲器單元,促使提高或降低穩(wěn)定的電阻狀態(tài)。
[0034]諸如圖3的組件160、180和190之類的固態(tài)存儲器單元可被構(gòu)建成其材料、層厚和總尺寸基于編程電流傳導來重復地提供多個不同的電阻。隨著所示的區(qū)域210、212和214在邏輯狀態(tài)閾值內(nèi)擴展的所存儲的電阻范圍內(nèi)的不期望的偏移,例如0.3 Ω和0.6 Ω,邏輯狀態(tài)精度會遭到破壞,諸如01之類的邏輯狀態(tài)可能被讀取為諸如00之類的不同狀態(tài)。通過在包含大量分開的電阻的存儲器單元的頁或塊的同時讀取期間所存儲的邏輯狀態(tài)(它們中的一些可能具有程度變化的電阻偏移)之間進行區(qū)分,可能進一步惡化電阻偏移。
[0035]由于還沒有完全理解電阻偏移的原因,所以對電阻偏移的防止還不可靠,即使是采用ECC。由此,各種實施例涉及通過利用諸如測試和預測電路之類的適當協(xié)議而在有線或無線網(wǎng)絡(luò)上測試、觀測和評估識別出的一個或多個存儲器單元中的電阻偏移的互動和主動ECC管理。
[0036]圖5提供了根據(jù)各自實施例配置及操作的示例數(shù)據(jù)存儲裝置的主動部分230的模塊示意圖。評估引擎232可以是分開的(例如通過有線或無線網(wǎng)絡(luò)),或者集成在評估電路(例如圖2的電路140)中。不考慮引擎232布置在何處,多個不同類型的數(shù)據(jù)可由引擎232單獨地記錄并評估以被傳遞至可以處理數(shù)據(jù)并識別出有問題的以及即將出現(xiàn)的存儲器單元變化(例如電阻、邏輯狀態(tài)和訪問時間變化)的模型產(chǎn)生器234。作為示例而不是限制,對于針對數(shù)據(jù)存儲陣列是如何執(zhí)行的多樣地圖,傳感器、處理電路和計時器至少可提供溫度236、誤碼率238、讀/寫計數(shù)240、數(shù)據(jù)年齡242、和布隆濾波器244情況給評估引擎232。
[0037]—個或多個溫度傳感器236可持續(xù)地及偶發(fā)地測量數(shù)據(jù)存儲裝置的環(huán)境空氣溫度以及存儲器單元、存儲器頁和存儲器頁裸片的局部溫度。即,裝置的空氣溫度可同時地或連續(xù)地監(jiān)控各個存儲器區(qū)域以檢測尤其是熱或冷的位置。在一些實施例中,設(shè)置閾值溫度(例如150 °F),并且一旦超過閾值則觸發(fā)對存儲器陣列的具體部分的檢測。該檢測可能涉及使一個或多個存儲器單元下線以便測試以及預測地改變暴露至預定范圍外的溫度的單元的邏輯狀態(tài)電阻。該檢測可能造成進一步的增長以提供至針對一個或多個存儲器單元的讀取計數(shù)。
[0038]針對一個或多個存儲器單元的誤碼率(BER) 238還可由評估引擎232監(jiān)控以預測在預定參數(shù)(例如,數(shù)據(jù)可靠性)之外操作的存儲器單元的物理和邏輯概率。例如,針對存儲器單元的高誤碼率可能經(jīng)由連續(xù)數(shù)據(jù)訪問觸發(fā)進一步的對與相同單元物理上相鄰的單元和與相同單元邏輯上連接的單元的檢測和調(diào)節(jié)。還可以在存儲器層(例如塊和頁)中監(jiān)控誤碼率,這會導致更有效的分析,因為更高層中的更高BER可隨后與更低存儲器層中的更少單元的分析一致。
[0039]可在擴展的時間內(nèi)(例如在數(shù)據(jù)存儲裝置的壽命期間)以及針對較短的時間(例如在前一小時或星期期間)連續(xù)監(jiān)控存儲器的各種扇區(qū)、頁、塊和裸片,以為評估引擎232提供針對數(shù)據(jù)訪問數(shù)量的讀/寫計數(shù)器240。存儲器的一些類型以及操作條件(例如PCRAM單元被頻繁地訪問)可能易于產(chǎn)生可實現(xiàn)預測并予以補償?shù)碾娮杵?。在一些實施例中,計?shù)器240可記錄大量數(shù)據(jù)訪問,例如讀、寫和重寫的次數(shù)以及通過存儲器單元的電流數(shù),從而利用與各種存儲器單元是被如何訪問的相關(guān)的信息,向評估引擎232和模型產(chǎn)生器234提供數(shù)據(jù)。
[0040]在計數(shù)器監(jiān)控對一個或多個存儲器單元的訪問的同時,年齡計數(shù)器242可操作來記錄從存儲器單元被寫入、讀取和改變開始經(jīng)過的總時間。通過各種環(huán)境的和操作的存儲器單元條件,例如讀取干擾和未發(fā)現(xiàn)的局部加熱和損傷,數(shù)據(jù)的重新定位可主動地改進數(shù)據(jù)存儲精度。年齡計數(shù)器242可由測量及估計的誤碼率258和讀/寫計數(shù)器240補償以提供綜合的存儲器單元地圖,該地圖允許評估引擎232和模型產(chǎn)生器234創(chuàng)建長訪問的精確操作模式用于預測什么時候以及哪個存儲器單元從類似電阻狀態(tài)的預定操作閾值偏離。[0041 ] 布隆濾波器244可被用來提供加權(quán)系數(shù)方案從而追蹤來自溫度236、讀/寫計數(shù)器240和數(shù)據(jù)年齡計數(shù)器242的數(shù)據(jù),并向評估引擎232提供可被模型產(chǎn)生器234有效地用來構(gòu)建存儲器單元操作預測的數(shù)據(jù)。在一些實施例中,加權(quán)系數(shù)可提供調(diào)節(jié)的計算,例如:
[0042]Count (Adj)=Actual Reads+Kl(Temp)+K2(Age)+Κ3(Delta-V)(I)
[0043]其中Count(Adj)是調(diào)節(jié)的計數(shù)值,Actual Reads表示實際讀取操作,Temp是溫度讀取/范圍/區(qū)域,Age表示塊的年齡,Delta-V表示數(shù)據(jù)訪問操作期間單元電阻中檢測的或預測的變化??衫媚K242按照各自方法追蹤年齡,例如與所選存儲器位置上的寫和/或讀的總數(shù)相關(guān)的方法。可響應(yīng)于不同讀取電壓和電阻閾值的應(yīng)用來使用值Delta-V??梢岳斫獾氖?,可以使用其它系數(shù)。
[0044]通過模型產(chǎn)生器234創(chuàng)建精確操作模型,可實現(xiàn)用來優(yōu)化數(shù)據(jù)存儲裝置性能的有限的各種主動測量。一種這樣的主動措施可以是將來自從評估引擎232的測試數(shù)據(jù)以及來自模型產(chǎn)生器234的預測操作數(shù)據(jù)發(fā)送至ECC引擎246,由此對針對頁、塊、裸片和單個存儲器單元的多個不同ECC級別處理中的一個進行分配并編碼。
[0045]圖6圖示出根據(jù)一些實施例的數(shù)據(jù)存儲裝置的示例ECC部分280的模塊示意圖。ECC引擎282 (其可以單獨操作或者由圖5的評估引擎和模型產(chǎn)生器指導)可以能夠編碼及解碼至少四個不同級別的ECC。以不要求也不限制的方式,第一 ECC級別284可以是最簡單及處理強度最小的ECC方案,例如校驗總和,其實現(xiàn)基本的錯誤檢測和校正而無需花費大量的系統(tǒng)處理時間。存儲器單元操作偏移(例如電阻中的偏移)的互動或主動識別可觸發(fā)ECC引擎282來將各個存儲器單元的ECC級別更新至第二 286ECC級別、第三288ECC級別和ECC級別第四290的更高的更復雜的ECC方案。
[0046]各種實施例將第二 ECC級別286配置為奇偶校驗,將第三ECC級別288配置為Reed-Soloman碼,將第四ECC級別配置為混合自動重復請求(HARQ)碼。ECC引擎282可持續(xù)地及偶發(fā)地監(jiān)控各種系統(tǒng)參數(shù)(例如,處理能力、調(diào)度的處理活動、以及通道質(zhì)量)以確定什么時候進行級別ECC更新以及進行什么樣的ECC更新。對于一些情況,ECC更新可以是單個級別,同時在其他情況下根據(jù)具有增多的錯誤保護和校正的添加的ECC尺寸和處理成本的折中來確保更新至最高ECC級別。
[0047]在一些實施例中,在一個或多個存儲器單元中預測電阻偏移的能力可與邏輯上或物理上鄰接相同的電阻偏移的單元的其它存儲器單元的主動更新一致。即,ECC引擎282可解釋所接收的測試和模型數(shù)據(jù)以不僅更新相同的偏離的存儲器單元,而且更新在物理上處于具有受影響的存儲器單元的邏輯序列附近或內(nèi)的存儲器單元。該主動ECC更新可在層中進行,這是因為與偏離的單元遠離的單元相比,更接近相同單元的存儲器單元可得到更大的ECC級別提聞。
[0048]可進一步由ECC引擎282隨時間及響應(yīng)于預定的觀測操作數(shù)據(jù)來執(zhí)行主動更新。例如,對與相同存儲器單元鄰近的單元的主動ECC更新可能不會立即發(fā)生,而是被調(diào)度成在觀測到預定溫度、BER、或預定次數(shù)數(shù)據(jù)訪問時發(fā)生。按照這樣的方式,ECC引擎282可用于改變數(shù)據(jù)存儲條件,例如高數(shù)據(jù)容量和降低的系統(tǒng)資源,由此在寫調(diào)度的用戶數(shù)據(jù)期間有效地更新ECC級別。
[0049]如圖7的邏輯地圖300所提供,ECC引擎282還可評估并利用用戶數(shù)據(jù)讀取來更新被識別為或未被識別為從預定電阻閾值偏移的存儲器單元的ECC級別。示例邏輯回路300可起始于針對存儲在數(shù)據(jù)存儲裝置中的一個或多個位置的數(shù)據(jù)的讀取請求302。讀取請求302可對應(yīng)于用戶數(shù)據(jù)從具體邏輯和物理塊地址(LBA和PBA)的提取以及存儲在別處的元數(shù)據(jù)和ECC碼以指示主機最新版本的用戶數(shù)據(jù)并確保數(shù)據(jù)是精確的。
[0050]步驟304可提供被預測為對應(yīng)于被ECC引擎、評估引擎和模型產(chǎn)生器請求的用戶數(shù)據(jù)的ECC。ECC的預測可以是任意數(shù)量的操作參數(shù)的函數(shù)并且可利用觀測及測試的信息來減少ECC提取的時間和處理成本。例如,存儲器的被頻繁訪問的存儲器單元或頁可能觸發(fā)存儲器類型(例如PCRAM)中相應(yīng)ECC的高速緩存,這提供了快速數(shù)據(jù)提取并且允許所存儲的ECC被用于其它存儲器單元。
[0051]隨后,在步驟306,針對各種存儲器單元和存儲器組的BER監(jiān)控可與觀測的針對預測的ECC和用戶數(shù)據(jù)的BER比較來檢查預測的ECC的精度。如果預測的ECC是正確的而且所提取的數(shù)據(jù)的BER匹配BER基準,則回路300可進入下一個讀取請求。然而,觀測的BER及基準BER之間的差異可使步驟308將預測的ECC的ECC級別和提取的存儲器單元更新至與相對于基準BER的差異的尺寸相當?shù)男录墑e。
[0052]通過各種讀取和寫入操作,可以評估、測試和預測一個或多個存儲器單元的ECC以針對各種現(xiàn)有的及預測的操作條件進行調(diào)節(jié)。評估引擎、模型產(chǎn)生器和ECC引擎的補償操作可被用來管理現(xiàn)有的及預測的ECC,從而提供有效的精確的數(shù)據(jù)編程和讀取。示例ECC管理方案可針對存儲器單元的集合的頁、塊和裸片(其中ECC級別對應(yīng)于各個集合的尺寸)的ECC的層次的創(chuàng)建構(gòu)成。即,低ECC級別(例如預測的校驗總和)可用于讀取和寫入數(shù)據(jù)至存儲器單元的裸片,同時提高的ECC級別(例如Reed-Solomon碼)可用于裸片中包含的存儲器的頁。
[0053]基于存儲器陣列單元的尺寸將ECC配置成層次,可允許最少系統(tǒng)資源消耗的ECC在更耗費處理成本的ECC級別被用于存儲器的較小的頁和扇區(qū)之前被啟動使用。通過在一些或所有存儲器區(qū)域升級ECC級別以使得數(shù)據(jù)訪問時間與精確的數(shù)據(jù)讀取和寫入相平衡,可利用對包含在存儲器的裸片、塊、頁和扇區(qū)中的一個或多個存儲器單元的操作偏離的預測來優(yōu)化該ECC層次。圖8提供了根據(jù)各種實施例的示例的預測ECC管理例程320,其圖示出如何分配及調(diào)節(jié)ECC級別。
[0054]首先,例程320可在步驟322根據(jù)估計的操作條件來相對于經(jīng)過評估和建模的各種處理數(shù)據(jù)(例如溫度、誤碼率和數(shù)據(jù)訪問計數(shù)器)的預測電阻偏移。步驟322可包括對與一個或多個存儲器單元相關(guān)的記錄的操作和測試數(shù)據(jù)的評估,以識別出當前沒有從預定電阻閾值偏離的單元的電阻的預期偏離。該識別可基于對缺陷單元的過去的評估和測試或者可基于在與存儲器被激活以被用戶控制之前建議或優(yōu)化的ECC級別的比較的基礎(chǔ)上識別出的所建議的單元相對于預定閾值的偏離的趨勢。
[0055]利用來自步驟322的預測的電阻偏移,步驟324隨后在寫操作或調(diào)度的系統(tǒng)開銷時間期間更新至少一個識別出的存儲器單元的ECC級別。如上所述,在一些場合下,物理上及邏輯上鄰近的存儲器單元(例如存儲器的整個扇區(qū)和頁)的ECC級別可被主動地更新成各種ECC級別。ECC管理例程230可利用持續(xù)的寫操作而不斷地在步驟322和324之間循環(huán),但是還可進入步驟326以在執(zhí)行讀操作的任意時間提供現(xiàn)有或預測的ECC。
[0056]從步驟326產(chǎn)生的之前存儲的或主動地產(chǎn)生的ECC隨后為了精度而在判斷328中評估。在一些實施例中,用于多個存儲器單元(例如存儲器的頁或塊)的ECC可被收集,并且與判斷328同時評估。判斷328可通過各種確定的或經(jīng)驗的技術(shù)(例如比較BER、進行奇偶校驗、以及數(shù)據(jù)冗余比較)為了精度而評估ECC和相應(yīng)的用戶數(shù)據(jù)。不管判斷328是如何確定所提供的ECC是否正確,ECC中的失效進入步驟330,其中至少針對單個識別出的存儲器單元的ECC被更新至與更高ECC級別相關(guān)的更穩(wěn)健的ECC方案,如圖6所示。
[0057]判斷328和步驟330可被連續(xù)地重新訪問任意次數(shù)以提升各個存儲器單元、存儲器頁、存儲器塊和塊的裸片的ECC級別,從而提供精確的數(shù)據(jù)提取,而不影響處理資源和數(shù)據(jù)訪問時間。步驟330可進一步將ECC級別的更新調(diào)度成與對其中保留了與更新后的ECC級別對應(yīng)的用戶數(shù)據(jù)的具體塊、頁或扇區(qū)的下一個寫操作一致。
[0058]在數(shù)據(jù)的ECC級別被更新成足以提供精確的數(shù)據(jù)讀取的情況下,判斷328進入步驟332,其中調(diào)度了與讀取的用戶數(shù)據(jù)相關(guān)的元數(shù)據(jù)的更新。更新的元數(shù)據(jù)可至少包括任意新ECC數(shù)據(jù)的位置和前向指針以及用戶數(shù)據(jù)的新PBA和LBA,如果重新定位或冗余被用作更新的ECC級別的一部分。在初始的ECC是對的而且沒有通過步驟330做出ECC級別條件的情況下,步驟332可在評估電路和引擎中更新操作記錄,而不是修改元數(shù)據(jù)??梢岳斫獾氖?,ECC管理例程320并不限于顯示步驟和判斷,因為例程320的任意部分可被修改、移動或省略來適應(yīng)各種各樣的數(shù)據(jù)存儲裝置操作,例如采用旋轉(zhuǎn)介質(zhì)和固態(tài)存儲器兩者的混合數(shù)據(jù)存儲裝置。
[0059]如圖8所示,預測一個或多個存儲器單元中的電阻偏移可對應(yīng)于ECC管理,該ECC管理提供了適合于存儲器單元的操作歷史和預測的操作預期的ECC級別?;谟^測的條件和趨勢來預測ECC的能力可進一步用于管理ECC,以提供能夠確保精確的數(shù)據(jù)讀取和寫入而不會不適當?shù)貝夯到y(tǒng)性能的錯誤檢測和校驗級別。而且,通過根據(jù)每個存儲器類型的操作優(yōu)勢實現(xiàn)具有存儲在存儲器類型中的現(xiàn)有及預測的ECC的存儲器單元,使用針對各種ECC和用戶數(shù)據(jù)存儲的不同存儲器類型的尺寸的能力可優(yōu)化存儲器單元和數(shù)據(jù)存儲陣列性倉泛。
[0060]可以理解的是可以在任意大量的應(yīng)用中采用請求保護的技術(shù),包括網(wǎng)絡(luò)和移動數(shù)據(jù)存儲環(huán)境??梢岳斫獾氖牵词挂呀?jīng)在前述說明中闡述了本發(fā)明的各種實施例的大量特征,但是與各種實施例的結(jié)構(gòu)和功能一起,該詳細說明僅僅是示例性的,可以在所附權(quán)利要求所表述的術(shù)語的廣義含義所表示的整個范圍內(nèi)的本發(fā)明原理內(nèi),對細節(jié)尤其對部件的結(jié)構(gòu)和布置做出改變。
【權(quán)利要求】
1.一種設(shè)備,包括控制器,其被配置成識別相對于至少一個可變電阻存儲器單元中的預定閾值的變化并且針對至少一個可變電阻存儲器單元將第一錯誤校驗碼(ECC)級別升級為第二 ECC級別。
2.根據(jù)權(quán)利要求1所述的設(shè)備,其中至少一個可變電阻存儲器單元是固態(tài)存儲器陣列的一部分。
3.根據(jù)權(quán)利要求2所述的設(shè)備,其中固態(tài)存儲器陣列具有多個不同類型的可變電阻存儲器單元。
4.根據(jù)權(quán)利要求3所述的設(shè)備,其中第一類型的可變電阻存儲器單元包括可編程金屬化單元。
5.根據(jù)權(quán)利要求4所述的設(shè)備,其中第二類型的可變電阻存儲器單元包括相變隨機訪問存儲器單元。
6.根據(jù)權(quán)利要求5所述的設(shè)備,其中第三類型的可變電阻存儲器單元包括電阻式隨機訪問存儲器單元。
7.根據(jù)權(quán)利要求1所述的設(shè)備,其中控制器包括評估引擎,其被配置成同時地分析多個不同的存儲器單元操作條件以反應(yīng)性地識別出預定電阻閾值的變化。
8.根據(jù)權(quán)利要求7所述的設(shè)備,其中評估引擎利用數(shù)據(jù)提供模型產(chǎn)生器以便主動地識別出相對于預定電阻閾值的變化。
9.根據(jù)權(quán)利要求8 所述的設(shè)備,其中識別出的相對于預定電阻閾值的變化對應(yīng)于與預定電阻閾值符合的至少一個可變電阻存儲器單元。
10.一種方法,包括識別相對于至少一個可變電阻存儲器單元中的預定電阻閾值的變化并且針對至少一個可變電阻存儲器單元將第一錯誤校驗碼(ECC)級別升級為第二 ECC級別。
11.根據(jù)權(quán)利要求10所述的方法,其中第一ECC級別包括校驗總和。
12.根據(jù)權(quán)利要求11所述的方法,其中第二ECC級別包括奇偶校驗。
13.根據(jù)權(quán)利要求10所述的方法,其中第二ECC級別包括與第一 ECC級別不同的ECC方案。
14.根據(jù)權(quán)利要求10所述的方法,其中控制器使用多個不同的操作條件來產(chǎn)生存儲器單元電阻中的變化的預測模型。
15.根據(jù)權(quán)利要求14所述的方法,其中預測模型被ECC引擎用來預測針對預定存儲器單元的ECC。
16.根據(jù)權(quán)利要求10所述的方法,其中第一ECC級別對應(yīng)于可變電阻存儲器單元的頁,第二 ECC級別對應(yīng)于單獨的可變電阻存儲器單元。
17.一種方法,包括識別出相對于至少一個可變電阻存儲器單元中的預定電阻閾值的變化,并且針對至少一個可變電阻存儲器單元主動地將第一錯誤校驗碼(ECC)級別升級為第二 ECC級別。
18.根據(jù)權(quán)利要求17所述的方法,其中與識別出的可變電阻存儲器單元邏輯上最接近的未識別的可變電阻存儲器單元被從第一 ECC級別升級至第二 ECC級別。
19.根據(jù)權(quán)利要求17所述的方法,其中與識別出的可變電阻存儲器單元物理上最接近的未識別的可變電阻存儲器單元被從第一 ECC級別升級至第二 ECC級別。
20.根據(jù)權(quán)利要求17所述的方法,其中響應(yīng)于從控制器的評估引擎部分觀測到的操作數(shù)據(jù)來預測第一 E C級別。
【文檔編號】G11C13/00GK104008773SQ201410066873
【公開日】2014年8月27日 申請日期:2014年2月26日 優(yōu)先權(quán)日:2013年2月27日
【發(fā)明者】M·A·蓋爾特納, R·J·高斯, A·克利亞, A·帕塔波蒂安 申請人:希捷科技有限公司