欧美在线观看视频网站,亚洲熟妇色自偷自拍另类,啪啪伊人网,中文字幕第13亚洲另类,中文成人久久久久影院免费观看 ,精品人妻人人做人人爽,亚洲a视频

存儲存儲器重映射信息的非易失性存儲器的制作方法

文檔序號:6605434閱讀:139來源:國知局
專利名稱:存儲存儲器重映射信息的非易失性存儲器的制作方法
技術(shù)領(lǐng)域
所公開的本發(fā)明主題涉及對存儲裝置的重映射。
背景技術(shù)
存儲裝置用于多種電子設(shè)備,例如計(jì)算機(jī)、蜂窩電話、PDA、數(shù)據(jù)記錄器和導(dǎo)航設(shè)備 (這里只給出一些示例)。在這種電子設(shè)備中,可以采用多種類型的非易失性存儲裝置,例 如NAND或NOR閃存、SRAM、DRAM和相變存儲器(這里只給出一些示例)。一般而言,可以使 用寫入或編程處理在這種存儲裝置中存儲信息,并可以使用讀取處理來獲取存儲的信息。這種非易失性存儲裝置可以包括存儲單元,存儲單元隨時間慢慢劣化,導(dǎo)致在對 這種存儲單元進(jìn)行存取時可能發(fā)生讀取和/或?qū)懭脲e誤的可能性增大。錯誤也可能由制造 缺陷和/或邊際存儲裝置構(gòu)造(這里只給出一些示例)造成。雖然隨后可以在存儲裝置內(nèi) 校正此類錯誤,但是隨著例如錯誤數(shù)目的增長,這種錯誤校正可能變得很困難或不可能了。

發(fā)明內(nèi)容
為了解決上述技術(shù)問題,例如,本發(fā)明提供了一種系統(tǒng),包括控制器,將表示關(guān)于 存儲裝置的重映射信息的數(shù)字信號存儲到內(nèi)容可尋址存儲器CAM,其中所述控制器適于 如果所述CAM中存儲的所述重映射信息被更新,則將所述CAM中存儲的所述重映射信息的 至少一部分存儲到非易失性可離散尋址的存儲器中。


參照以下附圖,描述非限制性和非窮盡實(shí)施例,在附圖中,相同參考數(shù)字指代相同 部分,除非有特別說明。圖1是根據(jù)實(shí)施例的存儲器配置的示意圖;圖2是根據(jù)實(shí)施例的存儲器讀取處理的流程圖;圖3是根據(jù)另一實(shí)施例的存儲器讀取處理的流程圖;圖4是根據(jù)實(shí)施例的計(jì)算系統(tǒng)和存儲裝置的示意框圖;圖5是根據(jù)實(shí)施例的存儲器讀取處理的流程圖;圖6是根據(jù)另一實(shí)施例的存儲器讀取處理的流程圖;圖7是根據(jù)實(shí)施例的矢量重映射表的示意圖;圖8是根據(jù)實(shí)施例的存儲系統(tǒng)的示意框圖;圖9是根據(jù)實(shí)施例的計(jì)算系統(tǒng)和存儲裝置的示意框圖。
具體實(shí)施例方式在本說明書中,對“一個實(shí)施例”或“實(shí)施例”的引述意味著,結(jié)合該實(shí)施例描述的 具體特征、結(jié)構(gòu)或特點(diǎn)包括在所要求保護(hù)的主題的至少一個實(shí)施例中。因此,在本說明書中 多處出現(xiàn)的短語“在一個實(shí)施例中”或“在實(shí)施例中”不一定全部是指同一實(shí)施例。此外,
4具體特征、結(jié)構(gòu)或特點(diǎn)可以結(jié)合在一個或更多實(shí)施例中。在實(shí)施例中,關(guān)于存儲裝置的重映射信息可以保持在非易失性可離散尋址的存儲 器中。這種重映射信息可以包括重映射矢量,重映射矢量提供重映射地址,以作為例如針對 存儲裝置的讀取/寫入請求的一部分,替代由處理器提供的地址。這里,可離散尋址的存儲 器可以包括存儲單元,例如,這種存儲單元不需要每次都成塊和/或成扇區(qū)地寫入,而是可 以單獨(dú)地被尋址或者以相對較小的組來成組地被尋址。例如,向NOR閃存類型的存儲器寫 入數(shù)據(jù)可以包括向存儲單元的較大塊寫入,即使要寫入的數(shù)據(jù)只需要一個或兩個存儲單元 大小的存儲空間。在另一示例中,向相變存儲器(PCM)寫入諸如重映射信息等數(shù)據(jù),這可以 包括只向與要寫入的數(shù)據(jù)的存儲大小基本上匹配的多個存儲單元寫入。在這種非易失性可離散尋址的存儲器中保持重映射信息,這可以提供對要重映射 的存儲器的特定區(qū)域的粒度更細(xì)的控制。例如,這種非易失性可離散尋址的存儲器可以允 許離散尋址,以在存儲空間的相對較小的部分中存儲重映射矢量。相反,不可離散尋址的存 儲器可以使用塊和/或扇區(qū)尋址,從而僅對單個重映射矢量的存儲可能占用存儲裝置的相 對較大部分。此外,使用塊和/或扇區(qū)尋址的存儲器可以包括擦除處理,以為后續(xù)的寫入處 理準(zhǔn)備存儲塊和/或扇區(qū),這造成了相比于可離散尋址的存儲器,需要更大量的寫入時間。 因此,在非易失性可離散尋址的存儲器中存儲和保持重映射信息可以提供提高存儲裝置的 存儲空間利用率以及減少寫入處理所需的時間的途徑。在一種實(shí)施方式中,在非易失性可 離散尋址的存儲器中保持重映射信息可以允許使用這種重映射信息所相關(guān)的易失性存儲 裝置,這是因?yàn)檫@種非易失性存儲器即使在下電(power down)期間也可以存儲重映射信 息。因此,在非易失性可離散尋址的存儲器中存儲和保持重映射信息可以允許以更大的靈 活性來選擇存儲器類型,例如NAND或NOR閃存、SRAM、DRAM和PCM(這里只給出一些示例)。在一種實(shí)施方式中,重映射信息所相關(guān)的存儲裝置可以在物理上包括非易失性可 離散尋址的存儲器,以便單個晶元(die)或集成電路芯片包括存儲裝置和非易失性可離散 尋址的存儲器兩者。但是,在這種實(shí)施方式中,存儲裝置可以與非易失性可離散尋址的存儲 器不同,以便可以通過處理器和/或存儲器控制器分離地訪問該存儲裝置和非易失性可離 散尋址的存儲器。例如,用于存儲關(guān)于存儲裝置的重映射信息的非易失性可離散尋址的存 儲器可以駐留在存儲裝置上,但是依然與這種存儲裝置不同。繼續(xù)參照該示例,這種存儲裝 置可以包括具有多個存儲器晶元的存儲模塊可以經(jīng)由單個處理器和/或存儲器控制器訪 問存儲器晶元,可以通過分離的單個處理器和/或存儲器控制器訪問非易失性可離散尋址 的存儲器。當(dāng)然,在非易失性可離散尋址的存儲器上保持重映射信息的這些細(xì)節(jié)和優(yōu)點(diǎn)僅 僅是示例,本發(fā)明要求保護(hù)的主題不限于此。例如,相比于在存儲裝置內(nèi)保持重映射信息,在非易失性可離散尋址的存儲器上 存儲和保持關(guān)于存儲裝置的重映射信息也可以減少等待時間以及/或者提高對可用存儲 器容量的利用。在一種實(shí)施方式中,可以在運(yùn)行中(on the fly)生成重映射信息,例如在 由處理器發(fā)起的讀取/寫入處理等運(yùn)行時間處理期間,其中對從存儲裝置讀取的數(shù)據(jù)進(jìn)行 錯誤校驗(yàn),如下所述。在另一實(shí)施方式中,可以由系統(tǒng)執(zhí)行初始化處理,以包括對存儲裝置 的易出錯部分進(jìn)行掃描。再次,在非易失性可離散尋址的存儲器上保持重映射信息的這些 細(xì)節(jié)和優(yōu)點(diǎn)僅僅是示例,本發(fā)明要求保護(hù)的主題不限于此。在實(shí)施例中,存儲裝置可以包括存儲單元,存儲單元隨時間慢慢劣化,導(dǎo)致在對這種存儲裝置進(jìn)行例如讀取時可能發(fā)生一個或多個錯誤的可能性增大。存儲裝置也可以包括 由其制造導(dǎo)致的缺陷和/或邊際功能存儲單元。例如,可以使用糾錯碼(ECC)或其他此類 技術(shù),在計(jì)算系統(tǒng)內(nèi)的若干區(qū)域內(nèi)糾正這種錯誤。從系統(tǒng)角度來看,可以確定是否要繼續(xù)使 用這種易出錯的單元。如下要詳細(xì)說明的,這種確定可以至少部分地基于此類錯誤的數(shù)目 與錯誤閾值的比較,其中錯誤閾值可以在例如存儲裝置的設(shè)計(jì)階段定義。在一種實(shí)施方式 中,可以在特定存儲單元展示出過量錯誤之前,中斷對這些單元的使用。換言之,如果易出 錯的存儲單元產(chǎn)生的錯誤數(shù)目接近錯誤閾值,則可以中斷對這種存儲單元的使用。例如,為 了確定可以中斷對存儲單元的使用,不需要達(dá)到該閾值。因此,觀察錯誤的數(shù)目接近錯誤閾 值,這可以是預(yù)測特定的存儲單元可能很快產(chǎn)生太多錯誤的途徑,從而可以例如在易出錯 的存儲單元實(shí)際上開始臨界地發(fā)生故障之前,停止對這些易出錯存儲單元的使用。如果要 中斷對特定的存儲單元的使用,則可以按照保持存儲裝置總?cè)萘康姆绞絹磉x擇替代的存儲 單元。因此,在一個實(shí)施例中,保持存儲裝置的尺寸容量的處理包括將易出錯的存儲位 置重映射到正常工作的存儲位置,而不損失總的系統(tǒng)存儲空間(例如,存儲裝置容量)。這 種重映射可以至少部分地基于與因從易出錯的存儲位置進(jìn)行讀取而發(fā)生錯誤的量和/或 頻率有關(guān)的信息。這里,存儲位置是指例如可以使用標(biāo)識存儲位置和/或部分的一個或多 個地址,經(jīng)由讀取和/或?qū)懭胩幚韥碓L問的存儲裝置的一部分。如下要詳細(xì)說明的,例如, ECC引擎可以用于確定與讀取存儲器特定部分相關(guān)聯(lián)的比特錯誤率和/或比特錯誤數(shù)目。 隨后,可以將比特錯誤率和/或比特錯誤數(shù)目與錯誤閾值相比較,例如該錯誤閾值可以包 括到可接受錯誤數(shù)目的實(shí)質(zhì)性限制。根據(jù)這種比較的結(jié)果,可以決定是否停用(retire)產(chǎn) 生錯誤的存儲器的特定部分,例如中斷對其的使用。在特定實(shí)施例中,停用存儲裝置的一部分的處理可以包括將存儲在存儲裝置的 要停用的一部分中的、代表數(shù)據(jù)的數(shù)字信號移動到存儲裝置的另一部分。在一種實(shí)施方式 中,可以將從存儲裝置的停用部分遷出的代表數(shù)據(jù)的數(shù)字信號移動到存儲裝置的備用部 分。例如,這種存儲器備用部分可以包括存儲裝置中初始沒有識別或考慮為存儲裝置的整 個容量的一部分的物理位置,如下要詳細(xì)說明的。停用存儲裝置的一部分的處理也可以包 括將存儲裝置的要停用部分的地址重映射成對應(yīng)于存儲裝置的新的備用部分的地址。這 種重映射的地址可以例如如上所述存儲在非易失性可離散尋址的存儲器中。當(dāng)然,這些處 理僅僅是示例,本發(fā)明要保護(hù)的主題不限于此。在一個實(shí)施例中,例如上述處理可以涉及包括器件的存儲裝置。因此,隨著PCM老 化,由PCM的部分產(chǎn)生的比特錯誤率和/或比特錯誤數(shù)目可能增大。在一定程度上,可以使 用例如ECC引擎和/或其他糾錯技術(shù)來糾正這些錯誤。但是,錯誤數(shù)目可能增大,超出了這 些糾錯技術(shù)的能力。因此,希望在指示這種存儲部分已經(jīng)或正開始產(chǎn)生過量錯誤的趨勢時, 就停用這種存儲部分。例如上述實(shí)施例可能允許對存儲裝置的成功使用涉及到相對不可靠的技術(shù)。例 如,使用本文描述的實(shí)施例,可以利用先前認(rèn)為是不可用的晶元。此外,這些實(shí)施例可能將 存儲裝置的壽命延長到其大多數(shù)存儲單元的壽命,而不是其相對少量的存儲單元的壽命。圖1是根據(jù)實(shí)施例的存儲器配置的示意圖。存儲裝置100可以劃分成主存儲器110 和備用存儲器120。存儲裝置100可以包括例如NAND或NOR閃存、SRAM、DRAM和PCM(這里
6只給出一些示例)。存儲裝置100包括具有這種主和備用存儲部分以及/或者一個或多個 其他存儲部分的用戶可尋址存儲空間,這些存儲部分可以是或不是彼此鄰接的,可以駐留 或不駐留在單個裝置中。主存儲器110和備用存儲器120可以包括可獨(dú)立尋址的空間,這 些空間可通過例如讀取、寫入和/或擦除處理來訪問。根據(jù)實(shí)施例,存儲裝置100的一個或多個部分可以存儲表示由存儲裝置100的特 定狀態(tài)表達(dá)的數(shù)據(jù)和/或信息的信號。例如,可以通過影響或改變存儲裝置100的一部分 的狀態(tài),將數(shù)據(jù)和/或信息表示為二進(jìn)制信息(例如,1和0),來在存儲裝置100的該部分 中“存儲”表示數(shù)據(jù)和/或信息的電子信號。這樣,在特定實(shí)施方式中,改變存儲器的一部 分的狀態(tài)來存儲表示數(shù)據(jù)和/或信息的信號,這構(gòu)成了將存儲裝置100變換到不同的狀態(tài) 或事物。存儲裝置100可以配置為初始包括與存儲裝置100的全部可用容量對應(yīng)的主存儲 器110。這種初始配置可以額外地包括備用存儲器120,在確定存儲裝置容量時,不需要包 括備用存儲器120。但是,如果主存儲器的部分變得不可用或例如在讀取/寫入處理期間造 成過量的錯誤,則可以使用備用存儲器120來替代主存儲器110的部分。當(dāng)然,這種存儲器 配置的細(xì)節(jié)僅僅是示例,本發(fā)明要保護(hù)的主題不限于此。圖2是根據(jù)實(shí)施例的存儲器讀取/寫入處理200的流程圖。在方塊220,例如可 以由處理器執(zhí)行的系統(tǒng)應(yīng)用發(fā)起對存儲裝置的一部分進(jìn)行讀取或?qū)懭氲淖x取/寫入處理, 該系統(tǒng)應(yīng)用提供一個或多個讀取/寫入地址,來分別標(biāo)識要讀取或?qū)懭胨鎯?shù)據(jù)的一個 或多個存儲位置。開始于方框230,這種讀取/寫入地址可以將數(shù)據(jù)讀取/寫入處理沿著 先前選擇的數(shù)據(jù)路徑定向,該數(shù)據(jù)路徑是至少部分地基于讀取/寫入地址是否對應(yīng)于已被 停用的存儲位置而選擇的。在本示例中,存儲裝置可以包括主存儲器部分和備用存儲器部 分,例如圖1所示的存儲裝置100。在特定實(shí)施例中,備用存儲器部分可以用于替代被停用 的主存儲器部分。在這種存儲位置還未停用的情況下,在方框240,數(shù)據(jù)路徑可以將數(shù)據(jù)讀 取/寫入處理定向至主存儲器部分中對應(yīng)于由處理器傳輸?shù)牡刂返奈恢?。這種定向可以由 適當(dāng)?shù)厍袚Q的硬件切換組件來執(zhí)行,例如由復(fù)用器來執(zhí)行。例如,可以向硬件切換組件施加 信號,以選擇引向至對應(yīng)于由處理器傳輸?shù)牡刂返闹鞔鎯ζ鞑糠值臄?shù)據(jù)路徑。由硬件切換 組件選擇的其他數(shù)據(jù)路徑可以包括引向至存儲裝置的不同部分(例如備用存儲器部分)的 各個單獨(dú)數(shù)據(jù)路徑。由此,在方框250,由處理器傳輸?shù)淖x取/寫入地址可以用于從存儲裝置的主存儲 器部分讀取或向其寫入。隨后,在方框260,從存儲裝置的讀取地址讀取的數(shù)據(jù)可以被提供 給錯誤校驗(yàn)硬件和/或軟件,例如ECC解碼器和/或其他此類糾錯技術(shù)。在向存儲裝置寫 入數(shù)據(jù)的情況下,可以執(zhí)行后續(xù)的讀取處理來驗(yàn)證成功的寫入操作該讀取的數(shù)據(jù)可以提 供給錯誤校驗(yàn)硬件和/或軟件,例如ECC解碼器和/或其他此類糾錯技術(shù)。在已經(jīng)停用了存儲位置的情況下,在方框245,數(shù)據(jù)路徑可以將數(shù)據(jù)讀取/寫入處 理定向至備用存儲器部分中的位置,而不是對應(yīng)于由處理器傳輸?shù)牡刂返拇鎯ξ恢?。這種 路徑定向可以由適當(dāng)?shù)厍袚Q的硬件切換組件來執(zhí)行,例如由復(fù)用器來執(zhí)行。具體而言,可以 向硬件切換組件施加信號,以選擇引向至對應(yīng)于由處理器傳輸?shù)牡刂返膫溆么鎯ζ鞑糠值?數(shù)據(jù)路徑。由硬件切換組件選擇的其他數(shù)據(jù)路徑可以包括引向至存儲裝置的不同部分(例 如主存儲器部分和/或其他備用存儲器部分)的各個單獨(dú)數(shù)據(jù)路徑。
7
由此,在方框255,由處理器傳輸?shù)淖x取/寫入地址雖然原始是定向至主存儲器部 分的地址,但是可以重定向至存儲裝置的備用存儲器部分。隨后,在方框260,從備用存儲器 部分讀出或向其寫入的數(shù)據(jù)可以被提供給錯誤校驗(yàn)硬件和/或軟件,例如ECC解碼器和/ 或其他此類糾錯技術(shù)。在向存儲裝置寫入數(shù)據(jù)的情況下,可以執(zhí)行后續(xù)的讀取處理來驗(yàn)證 成功的寫入操作該讀取的數(shù)據(jù)可以提供給錯誤校驗(yàn)硬件和/或軟件,例如ECC解碼器和/ 或其他此類糾錯技術(shù)。當(dāng)然,這種存儲器讀取處理的細(xì)節(jié)僅僅是示例,本發(fā)明要保護(hù)的主題 不限于此。圖3是根據(jù)實(shí)施例的存儲器讀取/寫入處理300的流程圖。在方框310,例如可 以由系統(tǒng)應(yīng)用發(fā)起對存儲裝置的一部分進(jìn)行讀取或?qū)懭氲淖x取/寫入處理,該系統(tǒng)應(yīng)用提 供一個或多個讀取/寫入地址,來分別標(biāo)識要讀取或?qū)懭胨鎯?shù)據(jù)的一個或多個存儲位 置。例如對讀取的數(shù)據(jù)進(jìn)行奇偶校驗(yàn)的ECC硬件和/或軟件可以用于校驗(yàn)和/或校正讀取 的數(shù)據(jù)中的錯誤。隨后,如在方框320,將初始讀取的數(shù)據(jù)與校正后的讀取數(shù)據(jù)相比較,以確 定存儲器讀取/寫入處理中已發(fā)生的錯誤數(shù)目。該錯誤數(shù)目可以表達(dá)成比特錯誤率(BER), 這可以包括例如錯誤比特的數(shù)目與讀取的比特的總數(shù)目之比。從存儲裝置的一部分讀取 而造成的BER或錯誤數(shù)目可以與錯誤閾值相比較,該錯誤閾值可以包括表示可接受的最大 BER或可接受的最大錯誤數(shù)目的值,例如,超出該值的額外錯誤可能無法被成功校正。該錯 誤閾值可以包括表示對例如圖1所示的存儲裝置100等特定存儲裝置而言可校正的錯誤的 BER或錯誤數(shù)目的實(shí)質(zhì)性上限的數(shù)目。在該錯誤閾值處或以下,ECC硬件和/或軟件能夠校 正讀取錯誤。但是在該錯誤閾值以上,可能無法校正所有讀取錯誤的可能性相對較高。在方框330,至少部分地基于從存儲器的一部分的讀取是否造成過多錯誤,來決定 是否停用該存儲器部分。如果錯誤數(shù)目處于或在錯誤閾值以下,則可以決定不停用該存儲 器部分,讀取/寫入處理300可以前進(jìn)至方框335。在此,可以向硬件切換組件提供信號, 以將針對讀取/寫入處理而傳輸數(shù)據(jù)的路由或路徑定向至原始主存儲器部分。接著,在方 框340,例如,可以將讀取的數(shù)據(jù)提供給應(yīng)用,該應(yīng)用請求將讀取的數(shù)據(jù)或?qū)懭氲臄?shù)據(jù)寫入 到原始主存儲器部分中。另一方面,如果該錯誤數(shù)目在錯誤閾值以上,則可以決定停用存儲器的一部分,讀 取/寫入處理300可以前進(jìn)至方框350,在此,例如,處理可以開始停用這種導(dǎo)致過多錯誤的 存儲器部分。在特定實(shí)施方式中,可以通過向硬件切換組件提供信號,以將用于讀取/寫入 處理的數(shù)據(jù)路由定向至原始主存儲器部分,來再次讀取存儲在要停用的存儲器部分中的數(shù) 據(jù)。接著,在方框360,可以向硬件切換組件提供信號,以將用于后續(xù)讀取/寫入處理的數(shù)據(jù) 路由定向至用于替代原始主存儲器部分的備用存儲器部分。接著,在方框340,例如,可以 將讀取的數(shù)據(jù)提供給應(yīng)用,該應(yīng)用請求將讀取的數(shù)據(jù)或?qū)懭氲臄?shù)據(jù)寫入到備用存儲器部分 中。當(dāng)然,這種存儲器讀取處理的細(xì)節(jié)僅僅是示例,本發(fā)明要保護(hù)的主題不限于此。圖4是示出了包括存儲裝置455的計(jì)算系統(tǒng)400的實(shí)施例的示意圖,存儲裝置445 可以劃分成主部分450和備用部分460,例如如參照圖1所描述的。計(jì)算系統(tǒng)400可以代 表可配置為管理存儲裝置455的任何設(shè)備、設(shè)備和/或機(jī)器。作為示例但非限制性地,計(jì)算 系統(tǒng)400可以包括一個或多個計(jì)算設(shè)備和/或平臺,例如臺式計(jì)算機(jī)、膝上型計(jì)算機(jī)、工作 站、服務(wù)器設(shè)備等;一個或多個個人計(jì)算或通信裝置或設(shè)備,例如個人數(shù)字助理、移動通信 設(shè)備等;計(jì)算系統(tǒng)和/或關(guān)聯(lián)的服務(wù)提供商功能裝置,例如數(shù)據(jù)庫或數(shù)據(jù)存儲服務(wù)提供商/系統(tǒng);以及/或者其任意組合。應(yīng)該認(rèn)識到,可以通過使用或包括硬件、固件、軟件或其任意組合,來實(shí)現(xiàn)計(jì)算系 統(tǒng)40中所示的多種裝置的全部或一部分、以及這里進(jìn)一步描述的處理和方法。因此,作 為示例但非限制性地,計(jì)算系統(tǒng)400可以包括至少一個處理單元410,通過硬件切換組件 470操作性地耦合至存儲器455 ;存儲器控制器435 ;以及錯誤檢測和存儲器停用確定組件 440 (以下為方便起見,稱為“錯誤檢測組件”)。處理單元410可以代表可配置為執(zhí)行數(shù)據(jù)計(jì) 算過程或處理的至少一部分的一個或多個電路。作為示例但非限制性地,處理單元410可 以包括一個或多個處理器、控制器、微處理器、微控制器、專用集成電路、數(shù)字信號處理器、 可編程邏輯器件、現(xiàn)場可編程門陣列等、以及其任意組合。處理單元410可以與存儲器控制 器435通信,以處理例如讀取、寫入和/或擦除等存儲器相關(guān)操作。處理單元410可以包括 配置為與存儲器控制器435通信的操作系統(tǒng)。這種操作系統(tǒng)例如可以生成要經(jīng)由地址輸出 端口 415和/或數(shù)據(jù)讀取/寫入端口 420發(fā)送至存儲器控制器435的命令。這種命令可以 包括例如與存儲器455對應(yīng)的存儲地址。計(jì)算系統(tǒng)400可以包括例如輸入/輸出部分480,輸入/輸出部分480可以代表 可配置為接收或引入人類和/或機(jī)器輸入的一個或多個裝置或特征、可配置為傳遞或提供 人類和/或機(jī)器輸出的一個或多個裝置或特征。作為示例但非限制性地,輸入/輸出部分 480可以包括操作性配置的顯示器、揚(yáng)聲器、鍵盤、鼠標(biāo)、軌跡球、觸摸屏、數(shù)據(jù)端口等。存儲器控制器435可以包括非易失性可離散尋址的存儲器430,來保持用于經(jīng)由 硬件切換組件470在引向至存儲器455的多個部分的多條數(shù)據(jù)路徑475中進(jìn)行選擇的信 息。在一個實(shí)施例中,可離散尋址的存儲器可以包括PCM。例如,這種信息可以包括與選擇 特定數(shù)據(jù)路徑474的特定存儲器選擇值相關(guān)聯(lián)的存儲地址的表;如果處理單元410提供地 址作為讀取/寫入操作的一部分,則可以使用非易失性可離散尋址的存儲器430來將該地 址與選擇至存儲器的特定數(shù)據(jù)路徑的特定存儲器選擇值相關(guān)聯(lián)。這里,例如,可以進(jìn)行選 擇,以挑選至主存儲器450或備用存儲器460的數(shù)據(jù)路徑。如上所述,該選擇可以至少部分 地基于與讀取/寫入操作中提供的地址相關(guān)聯(lián)的存儲器455的位置是否已被停用。為了 通過具體示例示出,處理單元410可以提供地址作為讀取操作的一部分。由存儲器控制器 435接收該地址,然后將該地址與非易失性可離散尋址的存儲器430中保持的特定的存儲 器選擇值相關(guān)聯(lián)。如下說明的,這種存儲器選擇值可以是至少部分地基于由錯誤檢測組件 440提供的信息而已經(jīng)建立的。然后,可以將這種存儲器選擇值提供給硬件切換組件470, 以在多條數(shù)據(jù)路徑475中選擇至存儲器的一條數(shù)據(jù)路徑。在本具體實(shí)例中,該地址對應(yīng)于 存儲器455中先前已停用的位置。因此,寄存器430可以將該地址與如下存儲器選擇值相 關(guān)聯(lián)如果將該存儲器選擇值提供給硬件切換組件470,則可以選擇引向至備用存儲器460 中的位置的數(shù)據(jù)路徑。雖然圖4示出了兩條數(shù)據(jù)路徑來代表多條數(shù)據(jù)路徑475,但是應(yīng)該注 意,可以有任意數(shù)目的數(shù)據(jù)路徑。此外,硬件切換組件470不必局限于每次選擇一條數(shù)據(jù)路 徑。類似地,可以存在包括有至存儲器455的任意部分的任意數(shù)目的數(shù)據(jù)路徑的組合,其中 存儲器455可以包括例如封裝在一起或單獨(dú)封裝的一個或多個存儲器件。存儲器455可以 代表任何的數(shù)據(jù)存儲機(jī)構(gòu)。存儲器455可以包括例如盤驅(qū)動、光盤驅(qū)動、磁帶驅(qū)動、固態(tài)存 儲驅(qū)動等。因此,這里描述的配置僅僅是示例,本發(fā)明要保護(hù)的主題不限于此。如上所述,例如PCM等非易失性可離散尋址的存儲器430可以至少部分地基于由錯誤檢測組件440提供的信息,來建立和保持信息。在一個實(shí)施例中,可以將從存儲器455 讀取的數(shù)據(jù)提供給錯誤檢測組件440,錯誤檢測組件440可以檢查錯誤,以確定與讀取存儲 器455的特定部分相關(guān)聯(lián)的比特錯誤率和/或比特錯誤數(shù)目。然后,可以將該錯誤信息提 供給存儲器控制器435,存儲器控制器435可以將比特錯誤率和/或比特錯誤數(shù)目與例如錯 誤閾值相比較。可以根據(jù)該比較的結(jié)果,決定是否停用存儲器的該特定部分。因此,可以將 存儲器的該特定部分的地址與如下存儲器選擇值相關(guān)聯(lián)如果將該存儲器選擇值提供給硬 件切換組件470,則可以用于選擇至存儲器的合適部分的數(shù)據(jù)路徑。如上所述,非易失性可 離散尋址的存儲器430可以保持與特定的存儲地址相關(guān)聯(lián)的存儲器選擇值。如圖4所示,計(jì)算系統(tǒng)400可以包括硬件部分490,該硬件部分490包括例如存儲 器控制器435、非易失性可離散尋址的存儲器430、硬件切換組件470和/或存儲器455。在 特定實(shí)施例中,停用存儲裝置的一部分以及/或者確定是否從/向主或備用存儲器讀取/ 寫入,可以包括對于可以發(fā)出讀取/寫入指令的處理單元410而言透明的處理。因此,處 理器單元410不需要接收或處理從產(chǎn)生錯誤的存儲器特定部分讀取的數(shù)據(jù)。而是,可以由 錯誤檢測組件440攔截和檢測這些錯誤,然后將錯誤信息提供給存儲器控制器435,如上所 述。隨后,存儲器控制器435可以確定是否應(yīng)該停用存儲器455的特定部分,其中可以例如 在硬件部分490內(nèi),在無處理單元410參與的情況下進(jìn)行這種確定。此外,存儲器控制器435 可以至少部分地基于表示非易失性可離散尋址的存儲器430中存儲的信息的信號,來確定 是否從/向主或備用存儲器讀取/寫入。再次,可以在硬件部分490內(nèi),在無處理單元410 參與的情況下進(jìn)行這種確定。因此,如上所述,處理器不必承擔(dān)例如在處理讀取/寫入指令 時重新組織和/或利用存儲器映射進(jìn)行工作的軟件處理。當(dāng)然,這種處理僅僅是示例,本發(fā) 明要保護(hù)的主題不限于此。圖5是根據(jù)實(shí)施例的存儲器讀取/寫入處理500的流程圖。在方框505,例如可 以由系統(tǒng)應(yīng)用發(fā)起對存儲裝置的一部分進(jìn)行讀取或?qū)懭氲淖x取/寫入處理,該系統(tǒng)應(yīng)用提 供一個或多個讀取/寫入地址,來分別標(biāo)識要讀取或?qū)懭胨鎯?shù)據(jù)的一個或多個存儲位 置。在方框510,可以將一個或多個讀取/寫入地址提供給例如內(nèi)容可尋找存儲器(CAM), 在這種情況下,可以搜索與所提供的讀取/寫入地址相對應(yīng)的可能的重映射地址。在一種 實(shí)施方式中,CAM可以包括例如PCM等非易失性可離散尋址的存儲器。這種CAM可以存儲 對將原始地址與對應(yīng)的重映射地址相關(guān)聯(lián)的數(shù)據(jù)庫和/或表進(jìn)行表示的數(shù)字信號。因此, 通過搜索這種CAM,在方框530,可以確定輸入的原始讀取/寫入地址是否與CAM中存儲器 的對應(yīng)的重映射地址相關(guān)聯(lián)。如果不是(其中,對于與特定的讀取/寫入地址相關(guān)聯(lián)的重 映射地址的搜索返回了空結(jié)果),則讀取/寫入處理500可以前進(jìn)至方框540,在此可以輸 出原始讀取/寫入地址。因此,在方框550,可以使用該原始讀取/寫入地址來從或向存儲 裝置讀取或?qū)懭?。隨后,在方框560,從或向存儲裝置的原始讀取/寫入地址讀取或?qū)懭氲?數(shù)據(jù)可以提供給錯誤校驗(yàn)硬件和/或軟件,例如ECC解碼器和/或其他此類錯誤校正技術(shù)。另一方面,如果在方塊530確定輸入的原始讀取/寫入地址具有對應(yīng)的重映射地 址,則讀取/寫入處理500可以前進(jìn)至方框545,在此可以傳輸對應(yīng)于特定的原始讀取/寫 入地址的重映射地址。因此,在方框555,可以使用重映射的讀取/寫入地址來從或向存儲 裝置讀取或?qū)懭?。在一種實(shí)施方式中,如果利用重映射地址,則可以讀取或?qū)懭氪鎯ρb置的 備用部分,但是這種限定僅僅是示例。隨后,在方框560,從或向存儲裝置的重映射讀取/寫
10入地址讀取或?qū)懭氲臄?shù)據(jù)可以提供給錯誤校驗(yàn)硬件和/或軟件,例如ECC解碼器和/或其 他此類錯誤校正技術(shù)。當(dāng)然,這種存儲器讀取/寫入處理的細(xì)節(jié)僅僅是示例,本發(fā)明要保護(hù) 的主題不限于此。圖6是根據(jù)實(shí)施例的存儲器讀取處理600的流程圖。在方框605,例如可以由系 統(tǒng)應(yīng)用發(fā)起對存儲裝置的一部分中存儲的信息進(jìn)行表示的信號進(jìn)行讀取的讀取處理,該系 統(tǒng)應(yīng)用提供一個或多個讀取地址,來分別標(biāo)識要讀取表示數(shù)據(jù)的所存儲的信號的一個或多 個存儲位置。例如對讀取的數(shù)據(jù)進(jìn)行奇偶校驗(yàn)的ECC硬件和/或軟件可以用于校驗(yàn)和/ 或校正讀取的數(shù)據(jù)中的錯誤。隨后,如在方框610,將初始讀取的數(shù)據(jù)與校正后的讀取數(shù)據(jù) 相比較,以確定存儲器讀取處理中已發(fā)生的錯誤數(shù)目。該錯誤數(shù)目可以表達(dá)成比特錯誤率 (BER),這可以包括例如錯誤比特的數(shù)目與讀取的比特的總數(shù)目之比。在方框620,從存儲裝 置的一部分讀取而造成的BER或錯誤數(shù)目可以與錯誤閾值相比較,該錯誤閾值可以包括表 示可接受的最大BER或可接受的最大錯誤數(shù)目的值,例如,超出該值的額外錯誤可能無法 被成功校正。該錯誤閾值可以包括表示對例如圖1所示的存儲裝置100等特定存儲裝置而 言可接受的錯誤的BER或錯誤數(shù)目的實(shí)質(zhì)性上限的數(shù)目。在該錯誤閾值處或以下,ECC硬 件和/或軟件能夠校正讀取錯誤。但是在該錯誤閾值以上,可能無法校正至少一些讀取錯 誤的可能性相對較高。在方框630,至少部分地基于從存儲器的一部分的讀取是否造成過多錯誤,來決定 是否停用該存儲器部分。如果錯誤數(shù)目處于或在錯誤閾值以下,則讀取處理600可以前進(jìn) 至方框640,在此,例如可以向請求所讀取的數(shù)據(jù)的應(yīng)用提供所讀取的數(shù)據(jù)。另一方面,如 果該錯誤數(shù)目在錯誤閾值以上,則讀取處理600可以前進(jìn)至方框650,在此,例如,處理可以 開始停用這種導(dǎo)致過多錯誤的存儲器部分。在特定實(shí)施方式中,可以將這種易出錯的存儲 器部分中初始存儲的數(shù)據(jù)移動到已知是工作的和/或狀態(tài)良好的另一存儲器部分。這種新 的存儲器部分可以包括例如圖1所示的備用存儲器120等備用存儲器的一部分。在方框 660,可以將標(biāo)識數(shù)據(jù)的原始存儲位置的存儲地址或多個存儲地址重映射為標(biāo)識數(shù)據(jù)遷移 至的新的存儲器部分。在一種實(shí)施方式中,重映射可以包括分配新地址,以經(jīng)由例如矢量 與原始地址相對應(yīng),以便可以將對原始地址的調(diào)用重定向至指定了被遷移數(shù)據(jù)的位置的新 地址。然后,在方框670,可以將關(guān)于這種重映射地址的信息提供給CAM,以更新CAM中存儲 的重映射信息,其中如下詳細(xì)描述的,這種信息可以存儲為矢量重映射表。在方框680,響應(yīng) 于將一個或多個重映射地址提供給CAM,也可以將更新后的信息提供給諸如PCM等非易失 性可離散尋址的存儲器。例如,存儲器控制器可以將表示關(guān)于存儲裝置的重映射信息的數(shù) 字信號提供給CAM,其中,如果更新了 CAM中存儲的重映射信息,則該存儲器控制器可以將 CAM中存儲的重映射信息的至少一部分拷貝到非易失性可離散尋址的存儲器中。在一種實(shí) 施方式中,可以在運(yùn)行中,例如在由處理器發(fā)起的讀取/寫入處理等運(yùn)行時間處理期間,將 這種更新后的信息提供給非易失性可離散尋址的存儲器。在另一實(shí)施方式中,可以由系統(tǒng) 執(zhí)行初始化處理,包括對存儲裝置的易出錯部分進(jìn)行掃描。在一種特定實(shí)施方式中,如下進(jìn)一步詳細(xì)描述的,可以利用CAM中存儲的重映射 信息和/或其他內(nèi)容,周期性地更新PCM或其他非易失性可離散尋址的存儲器。在對存儲 器的易出錯部分進(jìn)行重映射之后,讀取處理600可以前進(jìn)至方框640,其中例如可以將所讀 取的數(shù)據(jù)提供給請求所讀取的數(shù)據(jù)的應(yīng)用。當(dāng)然,這種存儲器讀取處理的細(xì)節(jié)僅僅是示例,本發(fā)明要保護(hù)的主題不限于此。圖7是根據(jù)實(shí)施例的矢量重映射表700的示意圖。在其他實(shí)施方式中,表700中包 括的信息不需要以表的形式格式化;例如,這種信息可以包括陣列或用于組織這種信息的 其他方式。這種信息以及關(guān)于該信息的組織,可以在例如PCM等非易失性可離散尋址的存 儲器中存儲為表示這種信息的數(shù)字信號。欄710可以包括原始地址740的列表,例如addrl, addr2, addr3等;狀態(tài)欄720可以包括與欄710中列出的對應(yīng)原始地址是否已經(jīng)重映射有 關(guān)的信息;以及欄730可以包括對應(yīng)于欄710中列出的原始地址740的重映射地址750的 列表,例如 addrl,,addr2,,addr3,等。在一種實(shí)施方式中,原始地址740可以包括應(yīng)用和/或系統(tǒng)發(fā)出的讀取/寫入請 求中包括的一個或多個地址,該應(yīng)用和/或系統(tǒng)詢問存儲裝置100中在該一個或多個地址 處存儲的信息。狀態(tài)欄720可以包括描述了原始地址740是否已被重映射的元數(shù)據(jù)。如果 已發(fā)生了這種重映射,則欄730可以包括對應(yīng)于原始地址740的重映射地址750。為通過根 據(jù)圖1的示例來示出,addrl,addr5,addr7和addr8已經(jīng)被分別重映射至addrl,,addr5,, addr7,和addr8,,而addr2,addr3, addr4和addr6還未被重映射。這里,還未被重映射的 原始地址不具有欄730中對應(yīng)的重映射地址。在另一實(shí)施方式中,因?yàn)橹赜成涞刂?50的 存在可能足以指示例如對于特定原始地址740是否已發(fā)生了重映射,所以表700不需要包 括狀態(tài)欄720。當(dāng)然,這種矢量重映射表和存儲重映射信息的其他格式的細(xì)節(jié)僅僅是示例, 本發(fā)明要保護(hù)的主題不限于此。圖8是根據(jù)實(shí)施例的存儲系統(tǒng)800的框圖??刂破?10可以配置為接收指示了讀 取請求805的一個或多個信號,該讀取請求805包括指定了存儲裝置825中要讀取數(shù)據(jù)的 位置的地址。存儲裝置825可以包括主存儲器820和備用存儲器830,例如如上所述的。伴 隨讀取請求輸入的地址可以途經(jīng)通過CAM 815,在此將地址與CAM 815中存儲的內(nèi)容相比 較,CAM 815可以包括與原始地址相關(guān)聯(lián)的重映射地址。在一個特定實(shí)施方式中,進(jìn)行重映 射處理,而不需要在系統(tǒng)級由用戶生成的特定指令和/或信號,以使伴隨讀取請求輸入的 地址可以始終包括原始地址。僅僅在CAM搜索之后,就可以將該地址與其關(guān)聯(lián)的重映射地 址相關(guān)聯(lián)。換言之,CAM 815可以提供從原始地址空間到重映射地址空間的轉(zhuǎn)換。這樣,控 制器810可以確定讀取請求805是否包含已被重映射的地址。根據(jù)該確定,控制器810可 以將讀取請求805定向至主存儲器820或備用存儲器830,以讀取數(shù)據(jù)。例如,如果讀取請 求805的地址還未被重映射,則控制器810可以將讀取請求轉(zhuǎn)發(fā)給主存儲器820,而如果該 地址已被重映射,則控制器810可以修改讀取請求805,以包括可以定向至備用存儲器830 的重映射地址。隨后,主存儲器820或備用存儲器830可以將讀取的數(shù)據(jù)835提供給錯誤 檢測塊840,錯誤檢測塊840可以包括例如錯誤計(jì)數(shù)器和/或ECC解碼器。在一個實(shí)施例 中,可以將包括ECC解碼器的錯誤檢測塊840放置在存儲裝置825的晶元元件中。在另一 實(shí)施例中,可以在系統(tǒng)級,例如在應(yīng)用中,提供包括ECC解碼器的錯誤檢測塊840。錯誤檢測 塊840可以檢測和/或校正讀取數(shù)據(jù)835中存在的任何錯誤,并可以將檢測到的錯誤表達(dá) 成BER或比特錯誤數(shù)目。因此,錯誤檢測塊840可以將校正后的讀取數(shù)據(jù)845提供給例如 應(yīng)用和/或主機(jī)系統(tǒng)等引入讀取請求805的實(shí)體。錯誤檢測塊840也可以向比較引擎850 提供與讀取數(shù)據(jù)835中存在的錯誤的數(shù)目有關(guān)的信息。在錯誤檢測塊840包括放置在存儲 裝置825的晶元元件中的ECC解碼器的情況下,這種錯誤信息對于系統(tǒng)級的比較引擎應(yīng)用
12而言是可訪問的。在一種實(shí)施方式中,例如,ECC解碼器可以包括比較引擎850進(jìn)行訪問而 可用的錯誤信息寄存器,比較引擎850可以將檢測到的錯誤的數(shù)目與錯誤閾值比較。如上所述,該錯誤閾值可以包括對可接受的BER或錯誤數(shù)目的限制。比較引擎850 可以將該比較的結(jié)果860提供給控制器810。至少部分地基于該比較結(jié)果,控制器810可以 確定是否停用存儲裝置825的特定部分。如果該比較指示存儲裝置825的特定部分在例如 讀取處理期間已造成了過量的比特錯誤,則控制器810可以發(fā)起停用存儲器的易出錯部分 的處理。這種停用處理可以包括將存儲器的被停用部分中存儲的數(shù)據(jù)遷移至存儲器的另 一部分。例如,可以將表示數(shù)據(jù)的數(shù)字信號從主存儲器820的特定部分中移動到存儲在備 用存儲器830中。因此,控制器810可以將標(biāo)識存儲器的被停用部分的地址修改為標(biāo)識要 包含所遷移數(shù)據(jù)的存儲器的新部分的地址。然后,這種修改后的重映射地址可以寫入CAM 815,在此如上所述,可以將該地址與原始地址相關(guān)聯(lián)。例如,這種存儲器停用處理可以是相 對于引入讀取請求805的應(yīng)用和/或主機(jī)系統(tǒng)而無縫進(jìn)行的。在一種實(shí)施方式中,可以時 常地、非經(jīng)常地、周期性地、以及/或者在每次以新的重映射信息更新CAM 815時,更新例如 PCM等非易失性可離散尋址的存儲器818。在一個實(shí)施例中,可以在運(yùn)行中,例如在由讀取 請求805發(fā)起的讀取處理等運(yùn)行時間處理期間,更新非易失性可離散尋址的存儲器818。在 實(shí)質(zhì)上針對CAM 815的每次更新來更新非易失性可離散尋址的存儲器818的情況下,非易 失性可離散尋址的存儲器和CAM兩者可以是實(shí)質(zhì)上彼此同步的。即,每個這種存儲器可以 包含實(shí)質(zhì)上類似的重映射信息。這種同步性在如下期間非常有用在存儲系統(tǒng)800的電能 供應(yīng)中斷,其中易失性的CAM 815會丟失重映射信息,而非易失性可離散尋址的存儲器818 可以保留該信息。當(dāng)然,存儲系統(tǒng)的這種實(shí)施方式僅僅是示例,本發(fā)明要保護(hù)的主題不限于 此。圖9是計(jì)算系統(tǒng)900的示例實(shí)施例的示意圖,計(jì)算系統(tǒng)900包括存儲裝置910,存 儲裝置910可以劃分成主部分和備用部分,例如如上所述的。計(jì)算裝置904可以代表可配 置為管理存儲裝置910的任何設(shè)備、設(shè)備和/或機(jī)器。存儲裝置910可以包括存儲器控制 器915和存儲器922。作為示例但非限制性地,計(jì)算裝置904可以包括一個或多個計(jì)算設(shè) 備和/或平臺,例如臺式計(jì)算機(jī)、膝上型計(jì)算機(jī)、工作站、服務(wù)器設(shè)備等;一個或多個個人計(jì) 算或通信裝置或設(shè)備,例如個人數(shù)字助理、移動通信設(shè)備等;計(jì)算系統(tǒng)和/或關(guān)聯(lián)的服務(wù)提 供商功能裝置,例如數(shù)據(jù)庫或數(shù)據(jù)存儲服務(wù)提供商/系統(tǒng);以及/或者其任意組合。應(yīng)該認(rèn)識到,可以通過使用或包括硬件、固件、軟件或其任意組合,來實(shí)現(xiàn)系統(tǒng)900 中所示的多種裝置的全部或一部分、以及這里進(jìn)一步描述的處理和方法。因此,作為示例但 非限制性地,計(jì)算裝置904可以包括至少一個處理單元920,通過總線940操作性地耦合 至存儲器922 ;以及主機(jī)或存儲器控制器915。處理單元920代表可配置為執(zhí)行數(shù)據(jù)計(jì)算 過程或處理的至少一部分的一個或多個電路。作為示例但非限制性地,處理單元920可以 包括一個或多個處理器、控制器、微處理器、微控制器、專用集成電路、數(shù)字信號處理器、可 編程邏輯器件、現(xiàn)場可編程門陣列等、以及其任意組合。處理單元920可以與存儲器控制器 915通信,以處理例如讀取、寫入和/或擦除等存儲器相關(guān)操作,以及如上所述的存儲器分 區(qū)處理。處理單元920可以包括配置為與存儲器控制器915通信的操作系統(tǒng)。這種操作系 統(tǒng)例如可以生成要經(jīng)由總線940發(fā)送至存儲器控制器915的命令。這種命令可以包括例如 如下指令對存儲器922的至少一部分進(jìn)行分區(qū);將一個或多個屬性與特定部分相關(guān)聯(lián);以及至少部分地基于要編程和存儲的數(shù)據(jù)的類型對特定分區(qū)進(jìn)行編程。存儲器922代表任何數(shù)據(jù)存儲機(jī)構(gòu)。存儲器922可以包括例如主存儲器924和/ 或次存儲器926。在特定實(shí)施例中,如上所述,存儲器922可以包括至少部分地基于存儲器 的一個或多個屬性和/或存儲器管理處理而被分區(qū)的存儲器。主存儲器924可以包括例如 隨機(jī)存取存儲器、只讀存儲器等。雖然該示例中示出了主存儲器924是與處理單元920分 離的,但是應(yīng)該理解,主存儲器924的全部或部分可以提供在處理單元920內(nèi)或者與處理單 元920協(xié)同定位/耦合。次存儲器926可以包括例如與主存儲器相同或類似類型的存儲器、以及/或者一 個或多個數(shù)據(jù)存儲裝置或系統(tǒng),例如盤驅(qū)動、光盤驅(qū)動、磁帶驅(qū)動、固態(tài)存儲器驅(qū)動等。在特 定實(shí)施方式中,次存儲器926可以是操作性地能容納計(jì)算機(jī)可讀介質(zhì)928,或者可配置為與 計(jì)算機(jī)可讀介質(zhì)928耦合。計(jì)算機(jī)可讀介質(zhì)928可以包括例如能夠攜帶針對系統(tǒng)900中一 個或多個裝置的數(shù)據(jù)、代碼和/或指令的任何介質(zhì)、和/或使得這些數(shù)據(jù)、代碼和/或指令 可訪問的任何介質(zhì)。計(jì)算裝置904可以包括例如輸入/輸出932,輸入/輸出932可以代表可配置為接 受或引入人類和/或機(jī)器輸入的一個或多個裝置或特征、可配置為傳遞或提供人類和/或 機(jī)器輸出的一個或多個裝置或特征。作為示例但非限制性地,輸入/輸出設(shè)備932可以包 括操作性配置的顯示器、揚(yáng)聲器、鍵盤、鼠標(biāo)、軌跡球、觸摸屏、數(shù)據(jù)端口等。在以上詳細(xì)描述中,給出了多種特定細(xì)節(jié),以提供對本發(fā)明要保護(hù)的主題的全面 理解。但是,本領(lǐng)域技術(shù)人員會理解,可以在不需要這些特定細(xì)節(jié)的情況下實(shí)施本發(fā)明要保 護(hù)的主題。在其他情況下,沒有具體描述普通技術(shù)人員已知的方法、裝置或系統(tǒng),以避免使 本發(fā)明要保護(hù)的主題不清楚。以上詳細(xì)描述的一些部分是從存儲在專用設(shè)備或?qū)S糜?jì)算裝置或平臺的存儲器 內(nèi)、對二進(jìn)制數(shù)字信號的操作的算法或符號化表示方面來呈現(xiàn)的。在本特定說明書的上下 文中,屬于專用設(shè)備等包括只要編程為執(zhí)行根據(jù)來自程序軟件的指令的特定操作的通用計(jì) 算機(jī)。算法描述或符號化表示是信號處理或相關(guān)領(lǐng)域普通技術(shù)人員用來將其工作的實(shí)質(zhì)內(nèi) 容傳遞給其他技術(shù)人員的技術(shù)的示例。這里以及一般而言,算法被認(rèn)為是引導(dǎo)至所需結(jié)果 的操作或類似信號處理的前后一致的序列。在該情況下,操作或處理包括對物理量的物理 操作。典型地,雖然不是必需的,這種量可以采用能夠被存儲、傳送、組合、比較或處理的電 或磁信號的形式。已經(jīng)多次證明了,主要由于普遍使用,很方便將此類信號引用為比特、數(shù) 據(jù)、值、元素、符號、字符、術(shù)語、號碼、數(shù)字等。但是,應(yīng)該理解,這些或類似術(shù)語全部要與合 適的物理量關(guān)聯(lián),并僅僅是方便的標(biāo)簽。除非專門聲明,從以下論述中明顯可見,在本說明 書描述中,使用“處理”、“計(jì)算”、“運(yùn)算”、“確定”等術(shù)語是指例如專用計(jì)算機(jī)或類似專用電 子計(jì)算設(shè)備的專用設(shè)備的動作或處理。在一個示例中,這種專用計(jì)算機(jī)或類似專用電子計(jì) 算設(shè)備可以包括利用執(zhí)行一個或多個特定功能的指令編程的通用計(jì)算機(jī)。因此,在本說明 書的上下文中,專用計(jì)算機(jī)或類似專用電子計(jì)算設(shè)備能夠操作或變換典型地以電或磁物理 量表示的信號,這些電或磁物理量在該專用計(jì)算機(jī)或類似專用電子計(jì)算設(shè)備的存儲器、寄 存器、或其他信息存儲裝置、傳輸裝置或顯示裝置內(nèi)。這里使用的屬于“和”、“和/或”和“或”可以包括多種含義,這至少部分地取決于 其所應(yīng)用的上下文。典型地,如果用于關(guān)聯(lián)列表,例如A、B或C,則“和/或”和“或”表示A、B和C,這里是包含性含義,以及A、B或C,這里是排他性含義。本說明書中對“一個實(shí)施 例”或“實(shí)施例”的引述意味著,結(jié)合該實(shí)施例描述的具體特征、結(jié)構(gòu)或特點(diǎn)包括在所要求保 護(hù)的主題的至少一個實(shí)施例中。因此,在本說明書中多處出現(xiàn)的短語“在一個實(shí)施例中”或 “在實(shí)施例中”不一定全部是指同一實(shí)施例。此外,具體特征、結(jié)構(gòu)或特點(diǎn)可以結(jié)合在一個 或更多實(shí)施例中。這里描述的實(shí)施例可以包括使用數(shù)字信號進(jìn)行操作的機(jī)器、裝置、引擎或 設(shè)備。這種信號可以包括電信號、光信號、電磁信號或在位置之間提供信息的任何形式的能 量。 雖然示出并描述了當(dāng)前認(rèn)為的示例實(shí)施例,但是本領(lǐng)域技術(shù)人員會理解,在不背 離本發(fā)明要保護(hù)的主題的前提下,可以進(jìn)行多種其他修改并替換等同物。此外,在不背離這 里所述的中心思想的前提下,可以進(jìn)行多種修改來使特定情況適應(yīng)本發(fā)明要保護(hù)的主題的 教義。因此,本發(fā)明要保護(hù)的主題不限于公開的特定實(shí)施例,而是也可以包括在所附權(quán)利要 求及其等同物范圍內(nèi)的所有實(shí)施例。
權(quán)利要求
一種系統(tǒng),包括控制器,將表示關(guān)于存儲裝置的重映射信息的數(shù)字信號存儲到內(nèi)容可尋址存儲器CAM,其中所述控制器適于如果所述CAM中存儲的所述重映射信息被更新,則將所述CAM中存儲的所述重映射信息的至少一部分存儲到非易失性可離散尋址的存儲器中。
2.根據(jù)權(quán)利要求1所述的系統(tǒng),還包括糾錯編碼ECC解碼器,接收從所述存儲裝置讀取的表示數(shù)據(jù)的數(shù)字信號,并確定與所 讀取的表示所述數(shù)據(jù)的信號相關(guān)聯(lián)的比特錯誤率和/或比特錯誤數(shù)目,其中所述控制器適于至少部分地基于所述比特錯誤率和/或所述比特錯誤數(shù)目是否 達(dá)到或超過錯誤閾值,存儲所述重映射信息。
3.根據(jù)權(quán)利要求1所述的系統(tǒng),其中所述非易失性可離散尋址的存儲器包括相變存儲 器 PCM。
4.根據(jù)權(quán)利要求1所述的系統(tǒng),其中所述重映射信息包括一個或多個重映射地址表。
5.根據(jù)權(quán)利要求1所述的系統(tǒng),其中所述非易失性可離散尋址的存儲器能夠在定向至 所述存儲裝置的讀取/寫入處理期間,在運(yùn)行中以新的重映射信息來更新。
6.根據(jù)權(quán)利要求1所述的系統(tǒng),其中所述CAM以及所述非易失性可離散尋址的存儲器 實(shí)質(zhì)上彼此同步。
7.根據(jù)權(quán)利要求1所述的系統(tǒng),其中所述非易失性可離散尋址的存儲器包括第二CAM。
8.一種方法,包括確定與從存儲裝置讀取的表示數(shù)據(jù)的數(shù)字信號相關(guān)聯(lián)的比特錯誤率和/或比特錯誤 數(shù)目;以及在非易失性可離散尋址的存儲器中存儲表示關(guān)于所述存儲裝置的重映射信息的數(shù)字 信號,其中所述重映射信息至少部分地基于所述比特錯誤率和/或所述比特錯誤數(shù)目是否 達(dá)到或超過錯誤閾值。
9.根據(jù)權(quán)利要求8所述的方法,其中所述非易失性可離散尋址的存儲器包括相變存儲 器 PCM。
10.根據(jù)權(quán)利要求8所述的方法,其中所述重映射信息包括一個或多個重映射地址表。
11.根據(jù)權(quán)利要求8所述的方法,其中所述非易失性可離散尋址的存儲器能夠在定向 至所述存儲裝置的讀取/寫入處理期間,在運(yùn)行中以新的重映射信息來更新。
12.根據(jù)權(quán)利要求8所述的方法,其中所述非易失性可離散尋址的存儲器包括內(nèi)容可 尋址存儲器CAM。
13.根據(jù)權(quán)利要求10所述的方法,其中所述存儲裝置包括主存儲器部分和備用存儲器 部分,所述重映射地址對應(yīng)于所述備用存儲器部分中的存儲位置。
14.根據(jù)權(quán)利要求8所述的方法,其中所述存儲還包括將所述重映射信息寫入所述非 易失性可離散尋址的存儲器的一部分,所述一部分的大小實(shí)質(zhì)上與所述重映射信息的大小 相同。
15.一種系統(tǒng),包括主機(jī),從/向存儲裝置讀取/寫入,并執(zhí)行一個或多個應(yīng)用;糾錯編碼ECC解碼器,接收從所述存儲裝置讀取的表示數(shù)據(jù)的數(shù)字信號,并確定與所讀取的表示所述數(shù)據(jù)的信號相關(guān)聯(lián)的比特錯誤率和/或比特錯誤數(shù)目;以及重映射控制器,至少部分地基于所述比特錯誤率和/或所述比特錯誤數(shù)目是否達(dá)到 或超過錯誤閾值,將表示所述存儲裝置的重映射地址的數(shù)字信號存儲到內(nèi)容可尋址存儲器 CAM,其中所述CAM包括相變存儲器PCM。
16.根據(jù)權(quán)利要求15所述的系統(tǒng),其中所述CAM適于接收表示讀取地址的數(shù)字信號 并發(fā)送表示信號的數(shù)字信號,所述信號至少部分地響應(yīng)于所述讀取地址是否對應(yīng)于所述 CAM中存儲的所述重映射地址。
17.根據(jù)權(quán)利要求16所述的系統(tǒng),還包括選擇部分,選擇所述讀取地址或所述重映射地址,以用作要從所述存儲裝置進(jìn)行讀取 的地址,其中,所述選擇至少部分地基于所述信號。
18.根據(jù)權(quán)利要求15所述的系統(tǒng),其中所述存儲裝置包括主存儲器部分和備用存儲器 部分,所述重映射地址對應(yīng)于所述備用存儲器部分中的存儲位置。
19.根據(jù)權(quán)利要求18所述的系統(tǒng),其中所述存儲裝置還包括所述ECC解碼器和相變存 儲器部分。
20.根據(jù)權(quán)利要求15所述的系統(tǒng),其中所述比特錯誤率和/或所述比特錯誤數(shù)目至少 部分地響應(yīng)于所述存儲器的物理劣化。
全文摘要
一種系統(tǒng),包括控制器,將表示關(guān)于存儲裝置的重映射信息的數(shù)字信號存儲到內(nèi)容可尋址存儲器CAM,其中所述控制器適于如果所述CAM中存儲的所述重映射信息被更新,則將所述CAM中存儲的所述重映射信息的至少一部分存儲到非易失性可離散尋址的存儲器中。
文檔編號G06F11/10GK101937374SQ20101021974
公開日2011年1月5日 申請日期2010年6月29日 優(yōu)先權(quán)日2009年6月30日
發(fā)明者吉爾吉拉特·比林, 塞繆爾·戴維·波斯特, 斯蒂芬·鮑爾斯, 馬克·林萬德 申請人:恒憶有限責(zé)任公司
網(wǎng)友詢問留言 已有0條留言
  • 還沒有人留言評論。精彩留言會獲得點(diǎn)贊!
1
玛曲县| 溆浦县| 德州市| 喜德县| 南昌县| 大荔县| 景宁| 修水县| 赣榆县| 新龙县| 郁南县| 临桂县| 布尔津县| 新和县| 旌德县| 台江县| 邓州市| 大连市| 双柏县| 贞丰县| 营口市| 柘荣县| 新干县| 文成县| 绥化市| 扎兰屯市| 大邑县| 广德县| 根河市| 汉源县| 师宗县| 乐清市| 垫江县| 广南县| 白银市| 巴林右旗| 木里| 翁源县| 东辽县| 贵定县| 宜兰市|