專利名稱:具有存儲設備的溫度傳感器的使用的制作方法
具有存儲設備的溫度傳感器的使用
背景技術:
本文涉及使用溫度信息完成存儲器操作。諸如閃存(例如NAND閃存,NOR閃存)的各種類型的非易失性存儲器(NVM)可以用于大容量存儲設備。例如,消費類電子產品(例如,便攜式媒體播放器)使用閃存來存儲數(shù)據(jù),這些數(shù)據(jù)包括音樂、視頻、圖像以及其它媒體或信息類型。已經與各種系統(tǒng)(例如,膝上型計算機系統(tǒng))一起使用溫度傳感器,以識別存在于這種系統(tǒng)中可能對系統(tǒng)組件(如處理器)產生損害的溫度條件。例如,溫度傳感器已經被置于處理器中或處理器周圍,用于識別可能對處理器造成損害的溫度條件和/或控制冷卻系統(tǒng)(例如,風扇)或系統(tǒng)操作(例如,處理器速度或活動水平)。
發(fā)明內容
本文總體上描述涉及使用與NVM有關的溫度信息完成存儲器操作的技術。與NVM有關的溫度信息包括來自位于NVM中和NVM周圍(例如,嵌入到NVM管芯上)的溫度傳感器的溫度測量結果和/或來自與存儲設備(例如,存儲器控制器,環(huán)境溫度傳感器)的其它組件有關的其它溫度傳感器的溫度測量結果。溫度信息可用于存儲設備完成存儲器操作的各種方式。例如,在將數(shù)據(jù)編程到NVM中的時候,可保存表示NVM溫度的信息并隨后將其用于選擇供讀取已編程數(shù)據(jù)的合適的技術。例如,溫度信息可用于調節(jié)用于從NVM讀取數(shù)據(jù)的一個或多個電壓閾值。在另一示例中,溫度信息可用于對如何存儲數(shù)據(jù)進行調節(jié),諸如冗余地向多個存儲器單元寫入數(shù)據(jù),而不是向單個存儲器單元冗余地寫入數(shù)據(jù)。下面公開了涉及使用具有存儲器操作的溫度信息的各種其它特征。在一種實現(xiàn)方式中,完成存儲器操作的方法包括在存儲設備中接收從一個或多個非易失性存儲器單元讀取數(shù)據(jù)的請求;以及獲取與非易失性存儲器單元有關的所存儲的溫度信息,其中溫度信息與將數(shù)據(jù)寫入非易失性存儲器單元的近似時刻的溫度相關聯(lián)。該方法可以進一步包括由存儲設備從非易失性存儲器單元讀取數(shù)據(jù)。該方法還可以包括至少基于已獲取的溫度信息處理已讀取的數(shù)據(jù);以及提供已處理的數(shù)據(jù)。在另一實現(xiàn)方式中,完成存儲器操作的方法包括在存儲設備中接收將數(shù)據(jù)寫入一個或多個非易失性存儲器單元的請求;以及由存儲設備從一個或多個溫度傳感器獲取溫度信息,該溫度信息表示與非易失性存儲器單元有關的當前溫度。該方法還可以包括基于溫度信息確定對寫操作進行的調節(jié)。該方法還可以包括使用已確定的基于溫度信息對寫操作的調節(jié)而將數(shù)據(jù)寫入非易失性存儲器單元。在另一實現(xiàn)方式中,一種存儲設備包括一個或多個非易失性存儲器單元和一個或多個溫度傳感器,該溫度傳感器被配置為提供與非易失性存儲器單元有關的溫度測量結果。該設備還可以包括控制器,該控制器被配置為在非易失性存儲器單元上完成存儲器操作,其中基于溫度傳感器提供的溫度測量結果來調節(jié)存儲器操作。在另一實現(xiàn)方式中,一種系統(tǒng)包括一個或多個非易失性存儲器單元和一個或多個溫度傳感器,該溫度傳感器被配置為提供與非易失性存儲器單元有關的溫度測量結果。該系統(tǒng)還可以包括控制器,該控制器被配置為在非易失性存儲器單元上完成存儲器操作,其中基于溫度傳感器提供的溫度測量結果來調節(jié)存儲器操作??梢詫崿F(xiàn)在本說明書中所描述主題的特殊實施例,從而獲取一個或多個下面的有益效果。盡管NVM的溫度是變化的,在NVM中所保存數(shù)據(jù)的完整性能夠得到保持。在另一示例中,可以通過使用位于NVM中和NVM周圍的溫度傳感器更準確地確定NVM的溫度。在另一個例子中,基于NVM內的當前溫度條件可以修改存儲器操作(例如,切換到冗余地對數(shù)據(jù)進行編程),從而增加在NVM中所保存的數(shù)據(jù)的完整性。在下面的附圖和說明書中示出了一個或多個實施例的細節(jié)。根據(jù)說明書、附圖以及權利要求書,本發(fā)明的其它特征、目的以及優(yōu)勢將更加明顯。
圖I是描述包括主機控制器和NVM組的示例性系統(tǒng)的框圖,該NVM組被配置為使用溫度信息來完成存儲器操作。圖2是描述包括存儲設備的示例性系統(tǒng)的框圖,該存儲設備被配置為使用溫度信息來完成存儲器操作。圖3A-B分別描述了在單級單元模式和多級單元模式中用于存儲器單元的單元電壓和數(shù)字數(shù)據(jù)值之間的示例性映射。圖4是描述示例性存儲器溫度特性的曲線圖。圖5是描述示例性處理的流程圖,該示例性處理基于溫度信息從存儲設備讀取數(shù)據(jù)。圖6是描述示例性處理的流程圖,該示例性處理基于溫度信息向存儲設備寫入數(shù)據(jù)。在各種附圖中同樣的參考符號表不同樣的兀件。
具體實施例方式可以使用與NVM有關的溫度信息完成存儲器操作。溫度信息可以表示NVM的溫度。NVM的溫度信息可用于調節(jié)在NVM上進行的存儲器操作??梢詮奈挥诖鎯υO備周圍的溫度傳感器獲得溫度信息,該溫度傳感器包括位于NVM中或NVM周圍(例如,位于NAND閃存管芯上)的溫度傳感器。在NVM中所保存數(shù)據(jù)的完整性受到NVM溫度的影響。例如,隨著NVM溫度的增加從NVM中所讀取數(shù)據(jù)的準確度可能會降低。例如,當NVM的溫度改變時,在存儲器單元中已存儲的電壓可能向上漂移或向下漂移。在將NVM已存儲的電壓變換為(對應于已存儲電壓的不同范圍的)多個數(shù)字數(shù)據(jù)值時可能會成為一個問題。例如,“單級單元(single-levelcell)” (SLC)存儲數(shù)據(jù)的單個位,其中第一電壓范圍對應于數(shù)據(jù)值‘1’,第二電壓范圍對應于數(shù)據(jù)值‘O’。如果由于NVM的溫度變化,已存儲的電壓從第一范圍漂移到第二范圍,那么來自存儲器單元的數(shù)據(jù)值可能會被錯讀為‘0’,而不是‘I’。為了解決這些問題和其他問題,NVM的溫度信息可以被獲取、存儲并用于調節(jié)存儲器操作。NVM的溫度信息可以利用位于整個存儲設備的各種溫度傳感器獲得,這些溫度傳感器包括位于NVM自身中和NVM自身周圍(例如,位于NVM管芯上)的溫度傳感器。對于位于NVM外部的溫度傳感器(例如,位于存儲器控制器中的溫度傳感器),溫度特性可被用來根據(jù)來自NVM外部的這種溫度傳感器的測量結果推斷NVM的溫度。溫度特性映射來自在存儲設備中和/或存儲設備外部的一個或多個溫度傳感器(例如在存儲器控制器中的溫度傳感器)的溫度測量結果與存儲設備的其它部件(例如NVM)的近似溫度之間的關系??梢栽趯VM編程時獲取NVM的溫度信息并將其用于調節(jié)編程操作。例如,在編程時或編程時間附近的存儲器單元的溫度信息可被用于調節(jié)編程操作的電壓閾值,可以冗余地將數(shù)據(jù)寫入多個存儲器單元,和/或可以將存儲器單元從SLC模式變化為“多級單元”(MLC)模式(在存儲器單元中存儲的數(shù)據(jù)的多個位),或者反之亦然。在編程時或編程時間附近,NVM的溫度信息可以被存儲并隨后用于進行對NVM單元的讀取操作。例如,響應于接收從NVM讀取數(shù)據(jù)的命令,在對所請求的數(shù)據(jù)被編程期間可以獲取NVM的溫度并與NVM的當前溫度進行比較。這種比較可用于為NVM估計電壓漂移,如果適當,這種比較可用于調節(jié)用于讀取并解析保存在NVM中的數(shù)據(jù)值的電壓閾值。這些 技術和其他技術可用于為NVM提供各種改進,例如改進NVM的數(shù)據(jù)完整性。圖I是描述包括主機控制器102和NVM組104的示例性系統(tǒng)100的框圖,NVM組104被配置為使用溫度信息來執(zhí)行存儲器操作。例如,以適應于影響數(shù)據(jù)完整性的溫度變化的方式,NVM組104可以使用表示NVM溫度的溫度信息將數(shù)據(jù)編程到NVM并從NVM讀取數(shù)據(jù)。主機控制器102和/或NVM組104可以被包括在各種主機設備和/或系統(tǒng)(“主機”)的任何一種中,例如便攜式媒體播放器、移動電話、便攜式個人計算機、個人數(shù)字助理(PDA)、臺式計算機、膝上型計算機和/或平板電腦設備,僅舉幾個可能的例子。主機控制器102可以包括一個或多個處理器和/或微處理器,處理器和/或微處理器被配置為根據(jù)軟件和/或固件指令的執(zhí)行來執(zhí)行操作。另外和/或作為選擇,主機控制器102可以包括被配置為執(zhí)行各種操作的基于硬件的組件,例如ASIC。由主機控制器102執(zhí)行的操作可以包括從NVM組104的某一 NVM獲取數(shù)據(jù)和/或向NVM組104的某一 NVM寫入數(shù)據(jù)。例如,主機控制器102可以提供對媒體文件(例如音頻文件)的請求給NVM組104。這種由主機控制器102提供的請求可以包括一個或多個對應于媒體文件的邏輯地址。主機控制器102可以包括一個或多個溫度傳感器106,溫度傳感器106位于主機控制器102中或在主機控制器102周圍并為主機控制器102提供溫度測量結果。例如,溫度傳感器106可以提供溫度測量結果,這些溫度測量結果可(被主機控制器102和/或主機系統(tǒng)的另一組件)用于確定主機控制器102是否正在主機控制器102的容許溫度范圍(例如,主機控制器102的預定溫度規(guī)格)之內操作。主機控制器102還可以為主機系統(tǒng)從一個或多個環(huán)境溫度傳感器108獲取溫度測量結果,環(huán)境溫度傳感器108位于主機系統(tǒng)內和主機系統(tǒng)周圍。例如,環(huán)境溫度傳感器108可以位于主機系統(tǒng)的不同位置處,例如在板上和/或附著于主機系統(tǒng)的殼體,環(huán)境溫度傳感器108可以被主機控制器102 (或者主機系統(tǒng)的其它組件)用來確定主機設備外部的溫度和/或系統(tǒng)是否正在容許溫度范圍(例如,主機系統(tǒng)的預定溫度規(guī)格)之內操作。主機控制器102可以經由主機通信信道110與NVM組104通信。主機控制器102和NVM組104之間的主機通信信道110可以是固定的(例如,固定的通信信道)和/或可拆卸的(例如,通用串行總線(USB)端口)。與NVM組104的交互可以包括提供存儲相關的請求給NVM組104,例如獲取存儲在NVM組104上的數(shù)據(jù)和/或在NVM組104中存儲的數(shù)據(jù)的請求。主機控制器102還可以提供從溫度傳感器106-108獲得的溫度測量結果和/或來自未被描述的其它溫度傳感器的測量結果給NVM組104,以供NVM組104執(zhí)行存儲器操作之用。NVM組104可以利用主機接口 112和存儲器控制器114經由主機通信信道110與主機控制器102交互。類似主機控制器102,存儲器控制器114可以包括一個或多個處理器和/或微處理器116,處理器和/或微處理器116被配置為根據(jù)軟件和/或固件指令的執(zhí) 行而執(zhí)行操作。另外和/或作為選擇,存儲器控制器114可以包括被配置為執(zhí)行各種操作的基于硬件的組件,例如ASIC。存儲器控制器114可以執(zhí)行各種操作,包括主機控制器102請求的存儲器操作。例如,響應于接收指定將獲取的媒體文件的邏輯地址的請求,存儲器控制器114可以識別一個或多個對應的物理地址(例如,識別管芯、塊和/或頁的信息),利用已識別的物理地址獲取所請求的數(shù)據(jù),和利用主機接口 112經由主機通信信道110將所請求的數(shù)據(jù)傳輸給主機控制器102。各種存儲管理功能(例如損耗水平)可以由主機控制器102和存儲器控制器114獨自或者聯(lián)合執(zhí)行。在其中存儲器控制器114被配置為執(zhí)行至少某些存儲管理功能的實現(xiàn)方式中,NVM組104可以稱作“被管理的NVM” (或者用于NAND閃存的“被管理的NAND”)。這可以和“未加工的NVM”形成對照(或者用于NAND閃存的“未加工的NAND”),其中NVM組104外部的主機控制器102為NVM組104執(zhí)行存儲管理功能。主機控制器102和NVM組104可以是同一存儲設備的一部分。雖然可能存在某些重疊,但是主機控制器102和NVM組104可以在存儲設備上發(fā)揮不同的作用。例如,主機控制器102可以為存儲設備執(zhí)行和提供面向用戶的功能,例如執(zhí)行提供用戶接口(例如,圖形用戶界面,基于文本的用戶界面,音頻用戶界面)的操作和響應用戶輸入(例如,播放特定媒體文件的請求)。NVM組104可以為存儲設備運行和提供基于存儲器的功能,例如實現(xiàn)來自主機控制器102的存儲器訪問請求(例如,從邏輯地址轉換為物理地址),執(zhí)行存儲管理操作,和/或執(zhí)行糾錯操作。這些作用中的一些可以被共享,例如主機控制器102執(zhí)行一些存儲器操作(例如存儲管理操作)。在示例性系統(tǒng)100中,存儲器控制器114被描述為包括一個或多個溫度傳感器118、易失性存儲器120和非易失性存儲器122。溫度傳感器118可以位于存儲器控制器114中或者存儲器控制器114周圍,能夠為存儲器控制器114提供溫度測量結果。這些溫度測量結果可以由存儲器控制器114和/或NVM組104的另一組件使用,用于確定存儲器控制器114(或者一個或多個其它組件)是否在容許溫度范圍之內(例如,在存儲器控制器114的溫度規(guī)格之內)操作。如下面更詳細描述的那樣,存儲器控制器114可以使用來自溫度傳感器118溫度測量結果為NVM組104執(zhí)行和調節(jié)存儲器操作。易失性存儲器120可以是各種易失性存儲器的任何一種,例如高速緩沖存儲器和隨機存取存儲器(RAM)。易失性存儲器120可以被存儲器控制器114用于執(zhí)行存儲器操作(包括基于溫度對存儲器操作的調節(jié)),存儲從NVM中讀取和/或寫入到NVM的數(shù)據(jù)和存儲與NVM有關的溫度信息。如下面進一步詳細描述的那樣,NVM 122可以是各種類型NVM中的任何一種,并可以保存存儲器控制器114用來執(zhí)行各種操作的指令124,這些操作包括基于溫度對存儲器操作的調節(jié)。NVM 112還可以存儲與NVM有關的元數(shù)據(jù)126。元數(shù)據(jù)包括以多種方式描述存儲在NVM組104的NVM中數(shù)據(jù)的信息。例如,元數(shù)據(jù)126可以包括溫度信息128,溫度信息128表示在對存儲器單元編程期間一個或多個存儲器單元(例如存儲器單元塊)的溫度。溫度信息128和/或元數(shù)據(jù)126的其它部分可以包括各種附加信息,附加信息涉及NVM組104的NVM,例如時間戳信息(例如,先前對存儲器單元編程的時間)和/或損耗信息(例如,表示已經對NVM各部分進行編程多次的信息)??梢允褂酶鞣N溫標中的任何一種存儲溫度信息128,例如華氏溫標、攝氏溫標、開爾文溫標和原始數(shù)字/模擬溫度傳感器輸出。存儲器控制器114的NVM 122還可以包括溫度算法130和/或存儲器溫度特性132。溫度算法130是將NVM的溫度(或者溫度變化)(可能是其他輸入數(shù)據(jù))映射到保存在NVM中電荷變化水平的算法。例如,溫度算法130可以將在NVM存儲器單元中電壓漂移的量和方向映射到NVM存儲器單元中的溫度變化。溫度算法130可以作為輸入溫度信息(例如,編程時的NVM溫度,當前NVM溫度,從編程起的經過時間)以及其它已檢測的條件和/或元數(shù)據(jù),還可以作為輸出提供信息,其中有表示對存儲器操作進行的各種調節(jié)(例如,調節(jié)讀取和/或寫電壓閾值,從MLC模式變?yōu)镾LC模式,冗余地編程數(shù)據(jù))的信息。 存儲器控制器114的NVM 122還可以包括存儲器溫度特性132,其可結合溫度算法130使用。存儲器溫度特性132可用來基于來自各種溫度傳感器(例如溫度傳感器106、108、118及其他溫度傳感器)的溫度測量結果推斷NVM—部分的溫度(例如,NVM管芯,NVM頁,NVM塊,一個或多個NVM單元)。存儲器溫度特性可以將來自一個或多個溫度傳感器的溫度測量結果映射到NVM —部分的溫度。NVM—部分的推斷溫度可以被存儲為元數(shù)據(jù)(例如,溫度信息128)和/或可以用作溫度算法130的輸入。正如以下將更詳細描述的那樣,在一些實現(xiàn)方式中,溫度傳感器可能位于NVM中或者NVM周圍,溫度特性可能不需要被用來推斷NVM的溫度,相反,來自這種溫度傳感器的測量結果可能提供了這種NVM的溫度的足夠精確的表不。存儲器控制器114使用共享內部總線134存取多存儲器管芯136a_n,其可以是集成電路(IC)管芯。雖然只有單一的共享總線134被描述為與NVM組104相關,NVM組可以包括一條以上共享內部總線。按照說明每條內部總線可以由多存儲器管芯136a-n與多個(例如,2,3,4,8,32,等)存儲器管芯相連??梢砸愿鞣N配置(例如,堆疊的)物理地設置存儲器管芯136a-n。存儲器管芯136a_n被描述為包括NVM 138a_n。NVM 138a_n可以是各種不同類型NVM中的任何一種,例如基于浮動柵或者電荷捕獲技術的NAND閃存、NOR閃存、可擦可編程只讀存儲器(EPROM)、電可擦可編程只讀存儲器(EEPROM)、鐵電隨機存儲器(FRAM)、磁阻RAM(MRAM)、相變存儲器(PCM)或者是它們的任意組合。在一些實現(xiàn)方式中,NVM 122可以在一個或多個存儲器管芯136a-n中被實現(xiàn)。NVM 138a-n可以被組織(物理地和/或虛擬地)到一個或多個NVM子單元中,例如塊140和頁142。按照在示例性系統(tǒng)100中描述的那樣,每個塊140包括多個頁142。塊140和/或頁142可以對應于被一起編程、讀取和/或擦除的NVM 138a-n的各部分。例如,對于NAND閃存(NVM 138a-n的例子),頁142可以對應于一組一起(同時)被讀取和/或編程的存儲器單元,塊140可以對應于一組一起被擦除的頁。塊140和頁142的大小和配置可以改變。例如,每一個塊140可以包括任意數(shù)目的頁(例如,32頁,64頁,數(shù)千頁),每個頁可以具有相關的從幾個字節(jié)(例如512字節(jié))到更多的存儲容量。還可能有NVM138a-n到子單元的其它劃分。存儲器管芯136a_n還可以每個包括一個或多個溫度傳感器144a_n,溫度傳感器144a-n位于NVM 138a_n中或NVM 138a_n周圍。例如,存儲器管芯136a可以包括一個或多個溫度傳感器,這些溫度傳感器被包括在管芯136a中、在管芯136a上或間隔地遍及管芯136a并提供對應于NVM 138a_n的溫度測量結果。來自溫度傳感器144a_n的溫度測量結果可以被經由存儲器管芯136a-n與存儲器控制器114之間的內部總線134和/或一個或多個其它內部通路(未描述)提供給存儲器控制器114。來自溫度傳感器144a-n的溫度測量結果可用于確定一部分NVM的溫度,其可以采用各種方式使用,例如,存儲溫度信息128和/或調節(jié)存儲器操作(例如,編程,讀取,擦除)的各種參數(shù)(例如閾值電壓電平)。溫度信息128可以包括表示存儲器管芯136a_n各部分溫度的數(shù)據(jù),存儲器管芯136a-n各部分是諸如NVM 138a_n、塊140、頁142和/或單獨的存儲器單元。例如,如果NVM138a的頁之一被編程,而該頁的溫度是90° F (如溫度傳感器144a顯示的那樣),存儲器控制器114將這種溫度信息記錄為對應于已編程頁的元數(shù)據(jù)128。例如,已編程頁的溫度信息128可以包括溫度(90° F)、已編程頁的標識符(該頁的物理地址,對應于該頁的邏輯地址范圍)和/或對應于該頁被編程時間的時間戳。NVM組104還可以包括一個或多個溫度傳感器146,溫度傳感器146是組104的與存儲器控制器114和/或存儲器管芯136a-n沒有特定關聯(lián)的部分。溫度傳感器146可以與NVM組104的其他組件相關聯(lián)和/或可以為NVM組104充當環(huán)境溫度傳感器。類似來自另一個溫度傳感器的溫度測量結果與NVM 138a-n(例如環(huán)境溫度傳感器108、溫度傳感器106、溫度傳感器118)不是特殊關聯(lián)的,來自溫度傳感器146的溫度測量結果可用于確定一部分NVM的溫度,其可以采用各種方式使用,例如,存儲溫度信息128和/或調節(jié)存儲器操作(例如,編程,讀取,擦除)的各種參數(shù)(例如閾值電壓電平)。NVM組104還可以包括糾錯引擎148 (例如糾錯碼引擎),糾錯引擎148校正從NVM138a-n中讀取的數(shù)據(jù)錯誤。糾錯引擎148可以在硬件和/或軟件中被實現(xiàn),可以是存儲器控制器114的一部分或者獨立于存儲器控制器114。糾錯引擎148可用于確定溫度算法130是否提供對電壓閾值的準確的基于溫度的調節(jié),電壓閾值用于解釋NVM 138a-n中檢測到的電壓電平。存儲器控制器114可以基于糾錯引擎148是否檢測到錯誤來調節(jié)溫度算法130。在一些實現(xiàn)方式中,糾錯引擎148(或者獨立的糾錯引擎)可用于執(zhí)行其它類型的糾錯操作。例如,如果NVM 138a的頁在第一溫度被編程,然后在第二溫度被讀取,基于一個或多個溫度算法130以及第一和第二溫度,存儲器控制器114可以調節(jié)一個或多個電壓閾值,這些電壓閾值用于將存儲在頁中的電壓電平解釋為數(shù)字數(shù)據(jù)值(例如,0,1)。糾錯引擎148可以利用對電壓閾值的調節(jié)確定是否存在任何數(shù)字數(shù)據(jù)值中的由存儲在頁中的電壓的解釋而生成的錯誤。如果存在至少一閾值數(shù)目的錯誤(例如,原始數(shù)目,百分比)和/或如果存在無法校正的錯誤(例如,由于其糾錯引擎148不能確定正確數(shù)據(jù)值的錯誤),存儲器控制器114可以調節(jié)用于讀取頁的一個或多個溫度算法130 (例如,基于將數(shù)據(jù)編程到存儲 器中的時間和從存儲器讀取數(shù)據(jù)的時間之間的溫度變化而改變對檢測值的調節(jié)量),然后可以再次執(zhí)行讀取和錯誤校驗操作來確定遇到的錯誤是否被解決。可以迭代地進行溫度算法130的動態(tài)調節(jié),直到解決了至少閾值數(shù)量的已檢測到的錯誤和/或直到到達迭狀的閾值次數(shù)。雖然沒有描述,所描述的與存儲器控制器114相關聯(lián)的各種技術和/或組件可以由主機控制器102執(zhí)行和/或包括在主機控制器102中。例如,可以將一些或者所有元數(shù)據(jù)126和/或溫度信息128存儲在與主機控制器102有關的NVM(未描述)中。在這種實現(xiàn)方式中,主機控制器102可以提供給NVM組104和/或從NVM組104接收與存儲器操作(例如,編程,讀取,擦除)關聯(lián)的相關溫度信息。圖2是描述包括存儲器設備202的示例性系統(tǒng)200的框圖,存儲器設備202被配置為使用溫度信息執(zhí)行存儲器操作。存儲器設備202可以是各種存儲器設備中的任何一種,比如便攜式媒體播放器、移動電話、袖珍個人計算機、個人數(shù)字助理、臺式計算機、膝上型計算機、平板電腦設備和/或可移動/便攜存儲設備(例如,閃存卡,USB閃存驅動)。示例性存儲器設備202被描述為包括主機控制器204和NVM206。主機控制器204可以類似于上述圖I示出的主機控制器102。主機控制器204包括一個或多個處理器208、 易失性存儲器210和一個或多個溫度傳感器211。處理器208可以是各種處理器中的任何 一種,比如微處理器、中央處理單元(CPU)、圖形處理單元(GPU)或者是它們的任意組合。易失性存儲器210可以類似于上述圖I示出的易失性存儲器120。易失性存儲器210可以由處理器208用來執(zhí)行各種操作,比如獲取和處理保存在NVM206中的數(shù)據(jù)。溫度傳感器可以類似于上述圖I示出的溫度傳感器106。NVM206可以包括一個或多個NVM組212a_b。NVM組212a_b的每一個可以類似于上述圖I示出的NVM組104。例如,NVM組212a-b的每一個可以包括多個具有NVM的存儲器管芯(例如,存儲器管芯138a-n和NVM140a-n)和一個或多個存儲器控制器(例如,存儲器控制器114),存儲器控制器被配置為使用與NVM組212a-b有關的溫度信息執(zhí)行存儲器操作。每一個NVM組212a-b(單獨的,或者彼此聯(lián)合和/或與主機控制器204相關聯(lián))可以收集、維護和使用溫度信息去執(zhí)行與每一相應的組有關的存儲器操作。NVM206可以包括任意數(shù)目的NVM組(例如,2,3,4,8,16,等)。如上面圖I所示,NVM的管理可以由主機控制器204和/或NVM組212a_b的控制器執(zhí)行。例如,主機控制器204可以被配置為基于所提供給和/或由主機控制器204存儲的溫度信息來調節(jié)NVM組212a-b的操作(例如,從MLC模式轉換為SLC模式)。在其中NVM組212a-b的控制器控制至少一部分存儲器管理操作(例如,糾錯,平均損耗,等)的實現(xiàn)方式中,NVM組212a-b被認為是“被管理的” NVM。存儲器設備202還可以包括一個或多個環(huán)境溫度傳感器213。環(huán)境溫度傳感器213可以類似于上述圖I示出的環(huán)境溫度傳感器108。系統(tǒng)200被描述成還包括外部設備214,外部設備214可通信地連接(直接地和/或間接地)到存儲器設備202。外部設備214和存儲器設備202之間的通信可以包括兩個設備之間的數(shù)據(jù)傳輸和/或指令傳輸。外部設備214可以是各種電子設備中的任何一種,比如臺式計算機、膝上型計算機和媒體計算設備(例如,媒體服務器,電視,立體聲系統(tǒng))。存儲器設備202可以利用外部設備接口 216 (例如,無線管芯,USB接口,等)通過物理和/或無線連接與外部設備214通信。例如,在一種示例性實現(xiàn)方式中,存儲器設備202可以是便攜式媒體播放器,外部設備214可以是臺式計算機,其能夠經由物理連接(例如USB電纜)互相傳送媒體文件(例如,音頻文件,視頻文件,等)。圖3A-B分別描述在SLC模式和MLC模式下存儲器單元的單元電壓和數(shù)字數(shù)據(jù)值之間的示例性映射。如上面圖I所示,溫度信息可用于確定在SLC模式和MLC模式之間是否切換存儲器單元。圖3A描述運行SLC模式(每一存存儲器單元保存數(shù)據(jù)的一位)的存儲器單元的示例性數(shù)字數(shù)據(jù)值分布300。在此例子中,電壓分布曲線302表示數(shù)字值0,電壓分布曲線304表示數(shù)字值I。例如,從落入電壓分布曲線302限制范圍的存儲器單元的讀取電壓將解釋為數(shù)字數(shù)據(jù)值O。電壓閾值可用于確定分布曲線302和304的邊界。例如,分布曲線302可以由一個更低的電壓閾值(定義分布曲線302的最小電壓)和一個較高的電壓閾值(定義分布曲線302的最大電壓)限定。
分布曲線302和304之間的區(qū)域被描述成灰色空間306。落入灰色空間306的電壓被解釋為具有不確定的數(shù)據(jù)值,對此,可用各種技術來確定正確的數(shù)據(jù)值,比如利用糾錯碼(ECC)。圖3A所示保存在示例性存儲器單元中的電壓可以響應于存儲器單元的溫度波動而漂移(變化)。電壓分布曲線308和310分別描述對應于電壓分布曲線302和304的示例性電壓漂移。例如,基于存儲器單元的溫度變化(例如,溫度上升,溫度下降),最初落入分布曲線304的電壓值已經向上漂移,如此使得那些電壓值目前落入分布曲線310。在此例子中的電壓漂移被描述為ΛVtl(312)和ΛV1 (314)??缭奖4嬖诖鎯ζ鲉卧械碾妷悍秶?,電壓漂移可以是均勻的和/或不均勻的。在此例子中,電壓漂移被描述成不均勻——AV1(SH)被表示為大于八%(312)。除電壓分布曲線變換之外,在此例子中,灰色空間306漂移成為灰色空間,316。根據(jù)基于溫度的電壓漂移,如果對應分布曲線302和304的電壓閾值沒有被分別調節(jié)為對應(在閾值裕度之內)分布曲線308和310,在示例性存儲器單元內所存儲的電壓電平可能被誤解。例如,所存儲的電壓318可能漂移到電壓320,利用定義分布曲線302和304的電壓閾值,電壓320將被解釋為不確定的數(shù)據(jù)值。這種不確定性可能會觸發(fā)各種操作,如糾錯,其可以消耗來自相關處理器/微處理器(例如,處理器/微處理器316)的周期。然而,利用本文描述的技術,在編程期間對溫度的認識、在讀取期間對溫度的認識和/或對在對電壓318編程時的溫度和在讀取電壓320時的溫度的比較可以允許電壓閾值從對應于分布曲線302和304分別調節(jié)為對應于分布曲線308和310。圖3Β描述運行MLC模式(每一存儲器單元保存數(shù)據(jù)的一個以上的位)的存儲器單元的示例性數(shù)字數(shù)據(jù)值分布350。在此例子中,如電壓分布曲線352-362所示,存儲器單兀被配置為存儲4位的數(shù)據(jù)。處于MLC模式的電壓分布曲線352-362可以小于處于SLC模式的電壓分布曲線302-304,如圖3Α描述的那樣——與SLC模式相比,少量的電壓漂移可能更容易引起MLC模式中的數(shù)據(jù)值的讀取錯誤。溫度信息可用于確定何時在MLC模式和SLC模式之間切換。例如,如果對處于MLC模式和相應溫度算法(例如,溫度算法130)的存儲器單元檢測到大的溫度變化,考慮輸入測量溫度變化,提供表明存儲在存儲器單元中的電壓很可能漂移至少閾值量的輸出,然后會將存儲器單元從MLC模式切換到SLC模式。圖4是描述示例性存儲器溫度特性402-406的曲線圖400。如上述圖I和存儲器溫度特性132所示,基于來自位于一部分NVM中、在一部分NVM周圍和/或一部分NVM外部的溫度傳感器的溫度測量結果,存儲器溫度特性402-406可用于推斷該部分NVM的溫度(例如,NVM管芯,NVM塊,NVM頁)。例如,溫度特性402可以對應于NVM組104 —部分的溫度傳感器146,并可用于基于來自溫度傳感器146的溫度測量結果,推斷NVM138a-n的溫度、在NVM138a_n之間的不同溫度或者NVM138a-n中各種子單元(比如塊140和頁142)的不同溫度。溫度特性402-406可以通過各種技術( 例如涉及NVM溫度的各種溫度傳感器測量結果的分析經驗證據(jù))開發(fā)。NVM138a-n的每一個的行為會根據(jù)實測溫度或者估算溫度改變,以可建?;蛘哂蓽囟人惴ū硎镜姆绞?,溫度算法用于基于編程期間的溫度、讀取期間的溫度和/或編程期間和讀取期間兩者的溫差解釋數(shù)據(jù)。圖5是描述基于溫度信息從存儲器設備讀取數(shù)據(jù)的示例性處理500的流程圖。處理500可以由各種存儲器設備執(zhí)行,這些存儲器設備例如是如上述圖I所示的NVM組104和/或主機控制器102、和/或如上述圖2所示的存儲器設備202。在502接收從NVM讀取數(shù)據(jù)的請求。例如,主機控制器102可以經由通信信道110傳送從NVM138a-n讀取數(shù)據(jù)的命令到NVM組104。這種命令可以包括將從NVM138a_n中讀取的一個或多個邏輯地址,其中NVM組104可以將其轉化為NVMl38a-n中的對應物理地址。響應于接收該請求,在504,獲取所存儲的與所請求的數(shù)據(jù)和NVM有關的溫度信息。如上述圖I所示,所存儲的溫度信息可以是處于最近將數(shù)據(jù)寫入NVM的各部分時或附近描述NVM的一個或多個部分(例如,管芯,塊,頁,存儲器單元)溫度的元數(shù)據(jù)。例如,存儲器控制器114可以獲取與正在根據(jù)溫度信息128存儲所請求的數(shù)據(jù)的那部分NVM有關的溫度信息。在506,可以從一個或多個溫度傳感器接收用于NVM的當前溫度信息,例如,如果所請求的數(shù)據(jù)被保存在NVM138a中,可以從位于NVM138a中或者NVM138a周圍的一個或多個溫度傳感器144a獲得溫度測量結果。在另一例子中,可以從其它溫度傳感器中獲得溫度測量結果,例如作為NVM組104 —部分的一個或多個溫度傳感器148和/或一個或多個環(huán)境溫度傳感器108。溫度測量結果可與存儲器溫度特性(例如存儲器溫度特性132)相關聯(lián)地使用,其中將各種溫度傳感器的溫度測量結果映射到NVM各個部分的溫度值,以從所接收的溫度測量結果確定NVM的當前溫度。在508,可以基于所存儲的溫度信息和當前溫度信息調節(jié)用于解釋保存在NVM中的電壓電平的電壓閾值??梢岳脤囟茸兓成涞絅VM的電壓漂移的一個或多個溫度算法(例如溫度算法130)執(zhí)行這種調節(jié)。例如,參照圖3A,存儲器單元被充電至電壓電平318,其對應于存儲器單元處于第一溫度時的數(shù)據(jù)值O (按照利用電壓分布302和304解釋的)。隨著存儲器單元改變溫度,所存儲的電壓電平318可能會向上漂移或者向下漂移。按照圖3A中例子所描述的,溫度方面的變化可能引起電壓318漂移到電壓320,其處于(在使用電壓分布302和304時的)灰色空間306。使存儲器單元的溫度變化和存儲器單元內的電壓漂移之間具有相關關系的一個或多個溫度算法可用于確定如何為電壓分布302和304調節(jié)電壓閾值,以便存儲在存儲器單元內的數(shù)據(jù)值可以被正確地解釋?;趹眠@種算法到存儲器單元的狀態(tài)(例如,編程時的先前溫度,讀取時的當前溫度),電壓閾值可以被調節(jié)和可以形成電壓分布308和310。這種溫度算法可以采用多種信息作為輸入,例如編程時存儲器單元的溫度、讀取時存儲器單元的溫度、兩個溫度之間的差值、存儲器單元的損耗(例如,編程、擦除和讀取的次數(shù))、存儲器單元的類型(例如,NOR閃存單元,NAND閃存單元)和/或與該單元有關的在前錯誤。在510,使用所調節(jié)的電壓閾值讀取所請求的數(shù)據(jù)。例如,參照圖3A,所調節(jié)的電壓閾值(其可以定義電壓分布308和310的邊界)可用于讀取和解釋所存儲的電壓320。在512,對所讀取的數(shù)據(jù)執(zhí)行一個或多個錯誤校驗操作。例如,NVM組104可以使用糾錯引擎148確定所讀取的數(shù)據(jù)中是否存在任何錯誤。如果確定已經正確地讀取了數(shù)據(jù)(514),則在516,所讀取的數(shù)據(jù)可以由請求實體使用或提供給請求實體。例如,如果主機控制器102從NVM組104請求數(shù)據(jù),則被正確讀取的數(shù)據(jù)可以被提供給主機控制器102。如果沒有正確地讀取數(shù)據(jù)(514),則在520,可以改變正在用于調節(jié)電壓閾值的溫度算法(例如,由不同算法替代,調節(jié)定義溫度和電壓漂移之間關系的系數(shù))。利用已改變的算法,可以執(zhí)行獲取NVM當前溫度的另一迭代(506)、調節(jié)電壓閾值(508)、使用所調節(jié)的 閾值讀取數(shù)據(jù)(510)和/或執(zhí)行錯誤校驗操作(512)??梢岳^續(xù)這種迭代處理直到在514正確地讀取了所請求的數(shù)據(jù)(例如,在校正的閾值裕度之內)和/或在518到達迭代次數(shù)的閾值。這種對溫度算法的迭代調節(jié)可以允許溫度算法動態(tài)地適應NVM的變化,例如隨時間的退化。如果在沒有正確標識所存儲數(shù)據(jù)值的情況下就已經達到迭代次數(shù)的閾值,則在522報告和/或記錄該錯誤。例如,存儲器控制器114可以記錄諸如錯誤作為與NVM138a-n的一個或多個部分相關聯(lián)的元數(shù)據(jù)126的一部分。在另一例子中,響應于來自主機控制器102對數(shù)據(jù)的請求,所讀取的錯誤可以被提供給主機控制器102。圖6是描述基于溫度信息向存儲器設備寫入數(shù)據(jù)的示例性處理600的流程圖。處理600可以由各種存儲器設備執(zhí)行,這些存儲器設備例如是如上述圖I所示的NVM組104和/或主機控制器102、和/或如上述圖2所示的存儲器設備202。在602,接收將數(shù)據(jù)寫入NVM的請求。例如,主機控制器102可以經由主機通信信道110傳送寫指令到NVM組104。在604,獲取與所請求的數(shù)據(jù)將被寫入到的NVM有關的溫度信息。例如,如果存儲器控制器114確定NVM138a中存在足夠的可用存儲容量,可以獲取與NVM138a有關的溫度信息。例如,可以從溫度傳感器144a和/或其他溫度傳感器(如NVM組104的溫度傳感器146)接收溫度測量結果。在606,可以做出判斷是否基于所獲取的溫度信息調節(jié)所請求的寫操作??梢赃M行對寫操作的各種調節(jié)。例如,可以基于所獲取的溫度信息調節(jié)用于定義對應數(shù)據(jù)值的電壓分布的電壓閾值。一個或多個溫度算法可用于確定對電壓閾值的調節(jié),類似于上述圖5和步驟508所示的調節(jié)。在另一例子中,如果所獲取的溫度信息超過閾值水產(或者小于閾值水平),則可以將數(shù)據(jù)冗余地寫入NVM中的多個位置。例如,如果NVM具有可能會引起NVM不準確編程的高溫,則可以將數(shù)據(jù)冗余地寫入NVM的多個位置,從而增加準確編程一個或多個位置的可能性。在另一個例子中,可以基于所獲取的溫度以SLC模式或者MLC模式寫數(shù)據(jù)。例如,如果NVM的溫度超過閾值水平一高于該閾值水平MLC模式的可靠性下降,則可以以SLC模式寫入數(shù)據(jù)。相反,如果NVM的溫度低于閾值水平——在該閾值水平MLC編程足夠地可靠,則可以以MLC模式寫入數(shù)據(jù)。在另一例子中,可以延遲所請求數(shù)據(jù)的編程直到數(shù)據(jù)將被寫入其中的NVM的溫度降低低于和/或升高高于閾值水平。例如,如果NVM的溫度如此熱以至于不可能準確地編程數(shù)據(jù),則延遲寫操作直到溫度降低到低于閾值對水平,在該閾值水平編程準確性增加到可接受的水平。在另一個例子中,所請求數(shù)據(jù)的編程可以通過調節(jié)各種編程參數(shù)(例如電流和/或時序)來改變。
在608,使用所調節(jié)的寫操作可以將所請求的數(shù)據(jù)寫入NVM。在610,可以存儲編程時的NVM的溫度信息。這種存儲的溫度信息可以在隨后被獲取和用于從已編程存儲器單元讀取數(shù)據(jù),如上述圖5所示。在數(shù)字電子電路、計算機軟件、固件或者硬件(包括在本說明書中公開的結構和它們的結構上的等價物)或者一個或多個它們的組合,可以實現(xiàn)在本說明書中描述的主題和操作的實施例。在本說明書中描述的主題的實施例可以被實現(xiàn)為一個或多個計算機程序,即,一個或多個計算機程序指令模塊,其被代碼化在計算機存儲介質上并由數(shù)據(jù)處理設備執(zhí)行或者控制數(shù)據(jù)處理設備的操作。作為選擇或者此外,程序指令可以被代碼化在人為生成的被傳送的信號上,例如機器生成的電氣、光學或者電磁信號,其被生成用來編碼信息,該信息用于傳輸給適當?shù)慕邮掌髟O備并由數(shù)據(jù)處理設備執(zhí)行。計算機存儲介質可以是或包含于計算機可讀存儲設備,計算機可讀存儲基質,隨機或者串行存取存儲器陣列或裝置,或者一個或多個它們的組合。另外,雖然計算機存儲介質不是被傳送的信號,計算機存儲介質可以是代碼化在人為生成的被傳送信號上的計算機程序指令的來源或者目的地。計算機存儲介質還可以是或者包含于一個或多個分離的物理組件或者介質(例如,多個CD,磁盤或者其他存儲設備)。在本說明書描述的操作中,可以被實現(xiàn)為由數(shù)據(jù)處理設備對存儲在一個或多個計算機可讀存儲設備上或者從其它來源接收的數(shù)據(jù)執(zhí)行的操作。術語“數(shù)據(jù)處理設備”包含處理數(shù)據(jù)的大量的設備、裝置和機器,舉例來說,包括可編程處理器、計算機、管芯上系統(tǒng)或者上述的多個之一或者組合。設備可以包括專用邏輯電路,例如FPGA(現(xiàn)場可編程門陣列)或者ASIC(專用集成電路)。除硬件之外,設備還可以包括創(chuàng)建所述計算機程序執(zhí)行環(huán)境的代碼,例如構造處理器固件、協(xié)議組、數(shù)據(jù)庫管理系統(tǒng)、操作系統(tǒng)、跨平臺運行時環(huán)境、虛擬機或者一個或多個它們的組合的代碼。該設備和執(zhí)行環(huán)境可以實現(xiàn)各種不同計算模型的基礎結構,例如網絡服務、分布式計算和柵格計算基礎結構。計算機程序(亦稱程序、軟件、軟件應用程序、腳本或者代碼)可以被寫為任何形式的程序設計語言(包括編譯或者解釋語言、說明或者過程語言),并且該計算機程序可以任何形式被使用,這些形式包括作為獨立程序或者作為模塊、組件、子程序、對象或者適用于計算環(huán)境的其他單元。計算機程序可以但不必對應于文件系統(tǒng)中的文件??梢詫⒊绦虼鎯υ诒4嫫渌绦蚧蛘邤?shù)據(jù)(例如保存在標記語言文檔中的一個或多個腳本)的文件的一部分中,在專用于所述程序的單個文件中或者在多個同等文件中(例如,保存一個或多個模塊、子程序或者部分代碼的文件)。計算機程序可以被使用在一個計算機或者多個計算機上執(zhí)行,這些計算機位于一個站點或者跨越多個站點分布并由通信網絡互連。
在本說明書描述的處理和邏輯流程可以由一個或多個可編程處理器執(zhí)行,這些可編程處理器執(zhí)行一個或多個計算機程序來執(zhí)行對輸入數(shù)據(jù)進行操作并生成輸出的動作。該處理與邏輯流程還可以由專用邏輯電路執(zhí)行,設備還可以被實現(xiàn)為專用邏輯電路,例如FPGA 或者 ASIC。適用于執(zhí)行計算機程序的處理器例如可以包括通用和專用微處理器以及任何類型的數(shù)字計算機的任意一個或多個處理器。通常,處理器將接收來自只讀存儲器或者隨機存取存儲器或者它們兩者的指令和數(shù)據(jù)。計算機的基本元件是用于按照指令執(zhí)行動作的處理器和用于存儲指令和數(shù)據(jù)的一個或多個存儲器設備。通常,計算機還將包括、或者將被可操作地耦合以便從用于存儲數(shù)據(jù)的一個或多個大容量存儲設備接收或向其轉送數(shù)據(jù)或者進行這兩種操作,所述大容量存儲設備例如是磁盤、磁光盤或者光盤。然而,計算機不必具有這種設備。另外,計算機可以被嵌入另一設備,例如移動電話、個人數(shù)字助理(PDA)、移動音頻或者視頻播放器、游戲控制臺、全球定位系統(tǒng)(GPS)接收器或者便攜式存儲設備(例如通用串行總線(USB)閃存驅動),僅舉數(shù)例。適用于存儲計算機程序指令和數(shù)據(jù)的 設備包括所有形式的非易失性存儲器、介質和存儲設備,舉例來說包括半導體存儲器設備,例如EPROM、EEPROM和閃存設備;磁盤,例如內部硬盤或者移動盤;磁光盤;以及CD-ROM和DVD-ROM磁盤。處理器和存儲器可以由專用邏輯電路來補充或者并入專用邏輯電路中。同樣地,雖然操作在附圖中被描述為特定的順序,這不應該被被理解為要求這些操作要以示出的特定順序或相繼順序被執(zhí)行,或者所有示出的操作被執(zhí)行以實現(xiàn)合乎需要的結果。在某些環(huán)境下,多重任務和并行處理可能是有幫助的。另外,如上所述的實施例中各種系統(tǒng)組件的分離不應該被理解為在所有實施例中需要這種分離,應該理解的是,所描述的編程組降和系統(tǒng)通??梢员煌瑫r集成在單個軟件產品中或者封裝到多個軟件產品中。因此,已經描述了主題的特殊實施例。其他實施例都在以下權利要求書的范圍內。另外,可以使用利用溫度信息執(zhí)行存儲器操作的其他結構。在某些情況下,在權利要求書中列舉的動作可以不同順序被執(zhí)行并仍然實現(xiàn)合乎需要的結果。此外,在附圖中描述的處理未必需要為了實現(xiàn)合乎需要的結果示出的關鍵順序或者相繼次序。在某些實現(xiàn)方式中,多重任務和并行處理可能是有幫助的。
權利要求
1.一種用于執(zhí)行存儲器操作的方法,包括 在存儲設備處接收從一個或多個非易失性存儲器單元讀取數(shù)據(jù)的請求; 獲取與所述非易失性存儲器單元相關的存儲的溫度信息,其中所述溫度信息與將數(shù)據(jù)寫入所述非易失性存儲器單元的時間附近的溫度相關聯(lián); 由存儲設備從所述非易失性存儲器單元讀取數(shù)據(jù); 至少基于所獲取的溫度信息處理所讀取的數(shù)據(jù);以及 提供已處理的數(shù)據(jù)。
2.如權利要求I所述的方法,其中至少基于所獲取的溫度信息處理所讀取的數(shù)據(jù)包括基于所獲取的溫度信息,調節(jié)用于解釋存儲在所述非易失性存儲器單元中的數(shù)據(jù)的一個或多個電壓閾值。
3.如權利要求2所述的方法,其中利用基于溫度來映射所述非易失性存儲器單元中的電壓漂移的算法來調節(jié)所述電壓閾值。
4.如權利要求3所述的方法,還包括 對從所述非易失性存儲器單元中讀取的數(shù)據(jù)進行錯誤校驗操作; 基于所述錯誤校驗操作,確定對所述電壓閾值的調節(jié)是否產生可接受的數(shù)據(jù)解釋;以及 基于確定所述調節(jié)是否導致數(shù)據(jù)被正確地解釋而更新所述算法。
5.如權利要求I所述的方法,還包括從一個或多個溫度傳感器接收當前溫度信息,所述溫度傳感器表示與所述非易失性存儲器單元相關的當前溫度,其中還基于所述當前溫度信息從非易失性存儲器單元中讀取數(shù)據(jù)。
6.如權利要求5所述的方法,還包括確定當前溫度和數(shù)據(jù)被寫入所述非易失性存儲器單元時的溫度之間的差值,其中基于所確定的當前溫度和數(shù)據(jù)被寫入所述非易失性存儲器單元時的溫度之間的差值,處理從所述非易失性存儲器單元中讀取的數(shù)據(jù)。
7.一種用于執(zhí)行存儲器操作的方法,該方法包括 在存儲設備處接收將數(shù)據(jù)寫入一個或多個非易失性存儲器單元的請求; 由存儲設備從一個或多個溫度傳感器獲取溫度信息,所述溫度信息表示與所述非易失性存儲器單元相關的當前溫度; 基于所述溫度信息確定對寫操作進行的調節(jié);以及 使用所確定的基于所述溫度信息對寫操作的調節(jié)而將數(shù)據(jù)寫入所述非易失性存儲器單元。
8.如權利要求7所述的方法,其中對寫操作的調節(jié)包括對一個或多個電壓閾值的調節(jié),所述電壓閾值定義了存儲在所述非易失性存儲器單元中的數(shù)據(jù)值的表示。
9.如權利要求8所述的方法,其中使用根據(jù)與所述非易失性存儲器單元相關的當前溫度映射所述非易失性存儲器單元中電壓漂移的算法,確定對電壓閾值的調節(jié)。
10.如權利要求7所述的方法,其中對寫操作的調節(jié)包括,在所述溫度信息指示出當前溫度超出閾值水平時冗余地寫入數(shù)據(jù)。
11.如權利要求7所述的方法,其中對寫操作的調節(jié)包括等待執(zhí)行寫操作,直到當前溫度在某一時間段內至少改變了一閾值量。
12.一種用于將溫度傳感器和存儲設備一起使用的設備,包括接收對一個或多個非易失性存儲器單元的存儲器操作請求的裝置; 從一個或多個溫度傳感器獲取溫度信息的裝置,所述溫度信息表示與一個或多個非易失性存儲器單元相關的當前溫度; 基于所獲取的溫度信息確定對存儲器操作請求進行的調節(jié)的裝置;以及 使用所確定的調節(jié)執(zhí)行所述存儲器操作的裝置。
13.如權利要求12所述的設備,其中 所述存儲器操作是讀取操作; 所述溫度信息包括數(shù)據(jù)被編程時與一個或多個存儲器單元相關的溫度;以及所確定的調節(jié)包括基于所述溫度信息調節(jié)一個或多個電壓閾值,所述電壓閾值被用于解釋從所述非易失性存儲器單元的一部分中讀取的數(shù)據(jù)。
14.如權利要求12所述的設備,其中 所述存儲器操作是寫操作; 所述溫度信息包括與一個或多個非易失性存儲器單元相關的當前溫度測量結果;以及所確定的調節(jié)包括基于所述當前溫度測量結果調節(jié)用于向一個或多個所述非易失性存儲器單元寫入數(shù)據(jù)的一個或多個電壓閾值。
15.如權利要求14所述的設備,還包括以下至少其中之一 在所述當前溫度測量結果超出一閾值水平時冗余地寫入數(shù)據(jù)的裝置; 將寫操作從每一存儲器單元寫入多于一位的數(shù)據(jù)改變?yōu)槊恳淮鎯ζ鲉卧獙懭胍晃粩?shù)據(jù)的裝置; 將寫操作從每一存儲器單元寫入一位數(shù)據(jù)改變?yōu)槊恳淮鎯ζ鲉卧獙懭攵嘤谝晃粩?shù)據(jù)的裝置;以及 等待執(zhí)行寫操作直到所述當前溫度測量結果在某一時間段內至少改變了一閾值量的裝置。
16.—種系統(tǒng),包括 一個或多個非易失性存儲器單元; 一個或多個溫度傳感器,所述溫度傳感器被配置為提供與所述非易失性存儲器單元相關的溫度測量結果;以及 控制器,該控制器被配置為在所述非易失性存儲器單元上執(zhí)行存儲器操作,其中基于溫度傳感器提供的溫度測量結果來調節(jié)所述存儲器操作。
17.如權利要求16所述的系統(tǒng),其中 對于從存儲器單元的至少一部分中讀取數(shù)據(jù)的存儲器操作,所述控制器被配置為獲取溫度信息,所述溫度信息表示在數(shù)據(jù)被編程到所述非易失性存儲器單元的所述部分時的與所述非易失性存儲器單元的所述部分相關的溫度,并且 基于所獲取的溫度信息調節(jié)由所述控制器使用的一個或多個電壓閾值,所述電壓閾值用于解釋從所述非易失性存儲器單元的所述部分讀取的數(shù)據(jù)。
18.如權利要求17所述的系統(tǒng),還包括非易失性存儲器,所述非易失性存儲器存儲與所述非易失性存儲器單元的所述部分相關的溫度信息。
19.如權利要求16所述的系統(tǒng),其中,對于將數(shù)據(jù)寫入所述非易失性存儲器單元的至少一部分的操作,所述控制器被配置為獲取與所述非易失性存儲器單元的所述部分相關的當前溫度測量結果,并基于所述當前溫度測量結果來調節(jié)寫操作。
20.如權利要求19所述的系統(tǒng),其中調節(jié)寫操作包括如下的一個或多個 調節(jié)一個或多個電壓閾值,所述電壓閾值定義了存儲在所述非易失性存儲器單元中的數(shù)據(jù)值的表示; 在所述當前溫度測量結果超出閾值水平時冗余地寫入數(shù)據(jù); 將寫操作從每一存儲器單元寫入多于一個位的數(shù)據(jù)改變?yōu)槊恳淮鎯ζ鲉卧獙懭胍晃粩?shù)據(jù); 將寫操作從每一存儲器單元寫入一位數(shù)據(jù)改變?yōu)槊恳淮鎯ζ鲉卧獙懭攵嘤谝粋€位的數(shù)據(jù);或者 等待執(zhí)行寫操作直到所述當前溫度測量結果在某一時間段內至少改變了一閾值量。
全文摘要
在一種實現(xiàn)方式中,一種用于完成存儲器操作的方法包括在存儲設備中接收從一個或多個非易失性存儲器單元讀取數(shù)據(jù)的請求;以及獲取與非易失性存儲器單元有關的所存儲的溫度信息,其中溫度信息與將數(shù)據(jù)寫入非易失性存儲器單元的近似時刻的溫度相關聯(lián)。該方法可以進一步包括由存儲設備從非易失性存儲器單元讀取數(shù)據(jù)。該方法還可以包括至少基于所獲取的溫度信息處理所讀取的數(shù)據(jù);以及提供已處理的數(shù)據(jù)。
文檔編號G11C16/02GK102682841SQ20121011273
公開日2012年9月19日 申請日期2012年3月2日 優(yōu)先權日2011年3月2日
發(fā)明者A·費, N·C·塞羅夫, N·J·瓦卡拉特 申請人:蘋果公司