两个人的电影免费视频_国产精品久久久久久久久成人_97视频在线观看播放_久久这里只有精品777_亚洲熟女少妇二三区_4438x8成人网亚洲av_内谢国产内射夫妻免费视频_人妻精品久久久久中国字幕

增加存儲(chǔ)器的備用空間以延長(zhǎng)存儲(chǔ)器的壽命的制作方法

文檔序號(hào):6479552閱讀:240來源:國(guó)知局
專利名稱:增加存儲(chǔ)器的備用空間以延長(zhǎng)存儲(chǔ)器的壽命的制作方法
技術(shù)領(lǐng)域
本發(fā)明涉及存儲(chǔ)器,更具體地涉及具有有限壽命的存儲(chǔ)器。
背景技術(shù)
在現(xiàn)有技術(shù)中,存儲(chǔ)器系統(tǒng)包括非易失性存儲(chǔ)器(例如,閃存等),這種存儲(chǔ)器在 寫入前必需進(jìn)行擦除。具體地說,當(dāng)一部分存儲(chǔ)數(shù)據(jù)發(fā)生變化時(shí),讀取存儲(chǔ)器的整個(gè)對(duì)應(yīng)的 塊,然后擦除該塊,并對(duì)該數(shù)據(jù)進(jìn)行編輯以反映這種變化,之后,存儲(chǔ)器的整個(gè)塊可以寫入 新數(shù)據(jù)。因此,例如對(duì)存儲(chǔ)器的4KB頁(yè)(page)進(jìn)行寫入時(shí),需要對(duì)存儲(chǔ)器的512KB進(jìn)行寫 入。已經(jīng)開發(fā)出的一些現(xiàn)有技術(shù)用于對(duì)數(shù)據(jù)寫入進(jìn)行順次分組,從而減小必需寫入的 數(shù)據(jù)量的需求。然而,這種技術(shù)在具有普遍隨機(jī)寫入的系統(tǒng)中(例如,在數(shù)據(jù)庫(kù)系統(tǒng)中等) 存在缺陷。進(jìn)而,一些現(xiàn)有技術(shù)已經(jīng)通過順次寫入隨機(jī)數(shù)據(jù)、然后使用表或者相似的數(shù)據(jù)結(jié) 構(gòu)以跟蹤數(shù)據(jù)存放的位置而解決了這些缺陷。盡管這些技術(shù)改善了之前的方法,但是這些 技術(shù)沒有慮及舊數(shù)據(jù)(例如,發(fā)生改變、之后存儲(chǔ)在新位置上的數(shù)據(jù))仍然存儲(chǔ)在存儲(chǔ)器 中。在處理這種舊數(shù)據(jù)(即,“無用信息”等)時(shí),一個(gè)過程典型地發(fā)現(xiàn)包含這種舊數(shù)據(jù)的存 儲(chǔ)器的塊,并從這種塊中復(fù)制任何有用的數(shù)據(jù)到存儲(chǔ)器的其它頁(yè)中,直到收集了這種舊數(shù) 據(jù)的全部塊并進(jìn)行擦除。因此,在現(xiàn)有技術(shù)中,由于對(duì)舊數(shù)據(jù)(例如,無用信息)的收集而 寫入的數(shù)據(jù)要多于由主計(jì)算機(jī)所寫入的數(shù)據(jù)量。例如,為了進(jìn)行擦除操作,可以從無用信息 的收集的塊中復(fù)制有效數(shù)據(jù)以創(chuàng)建至少一個(gè)空塊。因此,存在解決與現(xiàn)有技術(shù)相關(guān)聯(lián)的這些和/或其它問題的需要。

發(fā)明內(nèi)容
本發(fā)明提供了一種用于延長(zhǎng)存儲(chǔ)器壽命的系統(tǒng)、方法和計(jì)算機(jī)程序產(chǎn)品。在操作 過程中,增加了存儲(chǔ)器的備用空間。此外,由于增加了存儲(chǔ)器中的備用空間,存儲(chǔ)器的壽命 進(jìn)而得到延長(zhǎng)。


圖IA示出了根據(jù)一個(gè)實(shí)施例的用于延長(zhǎng)存儲(chǔ)器壽命的方法。圖IB示出了根據(jù)一個(gè)實(shí)施例的具有延長(zhǎng)的壽命的存儲(chǔ)器模塊。圖IC示出了根據(jù)一個(gè)實(shí)施例的用于延遲縮短存儲(chǔ)器壽命的操作的方法。圖2示出了根據(jù)另一個(gè)實(shí)施例的用于延遲縮短存儲(chǔ)器壽命的操作的技術(shù)。圖3示出了根據(jù)又一個(gè)實(shí)施例的用于延遲縮短存儲(chǔ)器壽命的操作的基于時(shí)間間 隔的技術(shù)。圖4示出了根據(jù)再一個(gè)實(shí)施例的用于延遲縮短存儲(chǔ)器壽命的操作的基于積分 (integration-based)的技術(shù)。
4
圖5示出了根據(jù)另一個(gè)實(shí)施例的當(dāng)預(yù)期的壽命持續(xù)時(shí)間超出了估計(jì)的壽命持續(xù) 時(shí)間時(shí)用于延遲縮短存儲(chǔ)器壽命的操作的系統(tǒng)。圖6示出了根據(jù)另一個(gè)實(shí)施例的當(dāng)預(yù)期的壽命持續(xù)時(shí)間超出了估計(jì)的壽命持續(xù) 時(shí)間時(shí)用于延遲縮短存儲(chǔ)器壽命的操作的方法。圖7示出了根據(jù)另一個(gè)實(shí)施例的用于測(cè)量存儲(chǔ)器壽命的圖形用戶界面。圖8示出了根據(jù)另一個(gè)實(shí)施例的用于使用差別信息減少存儲(chǔ)器中的寫操作的方 法。圖9示出了根據(jù)另一個(gè)實(shí)施例的用于減少存儲(chǔ)器中的寫操作的系統(tǒng)。圖10示出了根據(jù)一個(gè)實(shí)施例的用于使用差別信息讀取存儲(chǔ)器的方法。圖11示出了根據(jù)一個(gè)實(shí)施例的用于使用差別信息寫入存儲(chǔ)器的方法。圖12示出了使用基于處理器的系統(tǒng)的實(shí)施例。
具體實(shí)施例方式圖IA示出了根據(jù)一個(gè)實(shí)施例的用于延長(zhǎng)存儲(chǔ)器壽命的方法110。如圖所示,增加 存儲(chǔ)器的備用空間。見操作112。此外,由于增加了存儲(chǔ)器中的備用空間,故可延長(zhǎng)存儲(chǔ)器 的壽命。見操作114。在本說明書的上下文中,存儲(chǔ)器的壽命可包括存儲(chǔ)器在其間展現(xiàn)出任何期望的可 用度的任意持續(xù)時(shí)間。例如,在各種實(shí)施例中,這種壽命可以包括但不局限于期望的壽命、 實(shí)際的壽命、估計(jì)的壽命等。此外,可用度可以涉及任何與可用性相關(guān)的參數(shù),例如仍然可 操作的部件(例如,塊、單元等)的百分比、其存儲(chǔ)器或部件的可靠性,和/或與此相關(guān)的其 它參數(shù)。此外,在本說明書的上下文中,存儲(chǔ)器的備用空間指的是存儲(chǔ)器中可供使用的任 何空間(例如,塊、單元等)。此外,在各種實(shí)施例中,存儲(chǔ)器可包括但不局限于機(jī)械存儲(chǔ)器 件(例如,磁盤驅(qū)動(dòng)器等)、固態(tài)存儲(chǔ)器件(例如,動(dòng)態(tài)隨機(jī)存取存儲(chǔ)器(DRAM)、閃存等)、 和/或任何其它存儲(chǔ)器件。在存儲(chǔ)器包括閃存的情況下,閃存可包括但不局限于單級(jí)單元 (SLC)器件、多級(jí)單元(MLC)器件、NOR閃存、NAND閃存、MLC NAND閃存、SLC NAND閃存等。 在一個(gè)實(shí)施例中,非易失性存儲(chǔ)器件可包括每個(gè)單元一位的NOR閃存、每個(gè)單元多位的NOR 閃存、每個(gè)單元一位的NAND閃存、每個(gè)單元多位的NAND閃存、相變存儲(chǔ)器、阻性存儲(chǔ)器、碳 納米管存儲(chǔ)器和電遷移存儲(chǔ)器中的至少一個(gè)。下文中將描述關(guān)于各種可選擇的架構(gòu)和特征的更多的示例性信息,根據(jù)用戶的需 求,利用這些架構(gòu)和特性,可以實(shí)現(xiàn)或者不能實(shí)現(xiàn)前述結(jié)構(gòu)。例如,前述技術(shù)可以按一種方 案的形式使用,以保證或者延長(zhǎng)存儲(chǔ)器壽命。需要特別說明的是,下面給出的信息是用于示 例的目的,而并不應(yīng)解釋為任何形式的限制。下面的任何特征可隨意地與沒有包括在內(nèi)的 其它特征進(jìn)行結(jié)合或者不結(jié)合。圖IB示出了根據(jù)一個(gè)實(shí)施例的具有延長(zhǎng)的壽命的存儲(chǔ)器模塊150。作為選擇,可 實(shí)現(xiàn)存儲(chǔ)器模塊150以執(zhí)行圖IA的方法110。當(dāng)然,存儲(chǔ)器模塊150可在任何期望的環(huán)境 中實(shí)現(xiàn)。需要注意的是,前述的定義可應(yīng)用于本說明書的全部?jī)?nèi)容。如圖所示,增加存儲(chǔ)器模塊150的備用塊160的數(shù)量。由于增加了存儲(chǔ)器模塊150 的備用塊160的數(shù)量,存儲(chǔ)器模塊150的壽命延長(zhǎng)了。在一個(gè)實(shí)施例中,可以通過壓縮存儲(chǔ)在存儲(chǔ)器模塊150中的數(shù)據(jù)來增加存儲(chǔ)器的備用塊160的數(shù)量。這種壓縮可包括無損壓縮 (例如,Burrows-Wheeler、Lempel-Ziv (LZ)、LZ77、LZ78等),或者在一些實(shí)施例中的有損壓 縮(例如,有損預(yù)測(cè)碼、有損變換碼等)。在使用壓縮增加備用塊160的情況下,壓縮率可改變。在另一實(shí)施例中,可通過刪 除存儲(chǔ)在存儲(chǔ)器模塊150中的復(fù)制數(shù)據(jù)來增加存儲(chǔ)器的備用塊160的數(shù)量。作為選擇,可通過壓縮存儲(chǔ)在存儲(chǔ)器模塊150中的數(shù)據(jù)并刪除存儲(chǔ)在存儲(chǔ)器模塊 150中的復(fù)制數(shù)據(jù)來增加存儲(chǔ)器的備用塊160的數(shù)量。在這種情況下,在刪除復(fù)制數(shù)據(jù)后對(duì) 剩余數(shù)據(jù)進(jìn)行壓縮。當(dāng)然,同樣還可以壓縮數(shù)據(jù)并隨后刪除復(fù)制數(shù)據(jù)。在另一實(shí)施例中,可通過檢測(cè)刪除的數(shù)據(jù)并以被刪除的數(shù)據(jù)所占據(jù)的空間增加 備用數(shù)據(jù)來增加備用空間。作為選擇,刪除的數(shù)據(jù)可從主機(jī)或RAID控制器進(jìn)行傳送,或 者由磁盤控制器從包含在磁盤上的數(shù)據(jù)來發(fā)現(xiàn)。在另一實(shí)施例中,可使用壓縮、去復(fù)制 (de-duplication)和恢復(fù)(reclaiming)所刪除文件的任意組合以增加備用空間量。作為特定的示例,可使用壓縮和/或去復(fù)制和/或清除所刪除的數(shù)據(jù)以使存儲(chǔ)器 模塊150中一定量的存儲(chǔ)器是備用的。在這種情況下,存儲(chǔ)成本可適當(dāng)減少備用的空間。例 如,可將數(shù)據(jù)156寫入包含在多個(gè)存儲(chǔ)器塊152中的閃存頁(yè)158中??蓪?duì)數(shù)據(jù)156進(jìn)行壓縮以增加空閑塊160的數(shù)量。在一個(gè)實(shí)施例中,利用空閑塊 160延長(zhǎng)存儲(chǔ)器的壽命可同保證存儲(chǔ)器的壽命結(jié)合而實(shí)現(xiàn)。作為選擇,存儲(chǔ)器模塊150的塊的壽命中止時(shí)間(end of life)可以是相等的。例 如,可選擇備用塊160從而使存儲(chǔ)器模塊150的塊的壽命中止時(shí)間相等。在這種情況下,可 使用存儲(chǔ)器模塊150的不同塊存儲(chǔ)數(shù)據(jù),從而使存儲(chǔ)器中模塊150的塊的壽命中止時(shí)間相寸。根據(jù)將要描述的不同實(shí)施例,為了延長(zhǎng)壽命可對(duì)縮短存儲(chǔ)器壽命的各種操作進(jìn)行 控制。在本說明書的上下文中,這些操作可以指寫操作、擦除操作、程序操作、和/或能夠縮 短前述壽命的任何其它操作。此外,需要注意的是,盡管本實(shí)施例以存儲(chǔ)塊的方式描述了存 儲(chǔ)器中的備用空間,但是這種實(shí)施例可等同地視為在存儲(chǔ)器的任何備用空間的范圍內(nèi)(例 如,存儲(chǔ)器單元等)。圖IC示出了根據(jù)一個(gè)實(shí)施例的用于延遲縮短存儲(chǔ)器壽命的操作的方法100。作為 選擇,可在圖IA和圖IB的細(xì)節(jié)的背景下實(shí)現(xiàn)該方法100。當(dāng)然,該方法100可在任何期望 的環(huán)境下執(zhí)行。需要注意的是,前述的定義可應(yīng)用于本說明書的全部?jī)?nèi)容。如圖所示,確定與存儲(chǔ)器壽命相關(guān)的至少一個(gè)特征。見操作102。在本說明書的上 下文中,在不同實(shí)施例中,與操作102中確定的壽命相關(guān)的特征可包括時(shí)間周期、縮短存儲(chǔ) 器壽命的操作速率、縮短存儲(chǔ)器壽命的操作的全部允許數(shù)量(total permittednumber)、壽 命持續(xù)時(shí)間等。此外,在一個(gè)示例性實(shí)施例中,給定前述的操作的全部允許數(shù)量和選擇或期 望的壽命,則能夠直接計(jì)算在每個(gè)時(shí)間周期內(nèi)以操作數(shù)量為單位的最大平均操作速率。當(dāng) 然,給出的這種示例性的方面只是為了說明性的目的,這是因?yàn)閴勖钠渌魏翁卣饕彩?絕對(duì)可以確定的,其原因?qū)?huì)變得很明顯。為此,基于這方面,至少延遲了一個(gè)縮短存儲(chǔ)器壽命的操作。見操作104。因此,這 種延遲可以在操作102中所確定的存儲(chǔ)器壽命的方面的至少一部分功能的任何方式進(jìn)行 執(zhí)行。在本說明書的上下文中,將前述的操作的延遲視為包括僅延遲部分操作的情況。例如,在操作可以包括多個(gè)部件的情況下,這種延遲可應(yīng)用于這種操作的一個(gè)或多個(gè)(或全 部)部分。在一個(gè)實(shí)施例中,通過延遲初始化操作的命令來延遲操作。例如,響應(yīng)于寫入或擦 除的命令,可延遲對(duì)該命令的執(zhí)行。當(dāng)然,在其它實(shí)施例中,可僅延遲操作本身。通過這種 設(shè)計(jì),這種對(duì)一個(gè)或多個(gè)會(huì)縮短存儲(chǔ)器壽命的操作的延遲會(huì)導(dǎo)致這種縮短程度的至少部分 降低。下面將給出關(guān)于各種可選架構(gòu)和特征的另外的示例性信息,利用這些架構(gòu)和特 性,根據(jù)用戶的需求,可以實(shí)現(xiàn)或者不能實(shí)現(xiàn)前述結(jié)構(gòu)。例如,可以使用多個(gè)不同的技術(shù)以 多種不同的方式來管理延遲,下面將給出實(shí)例。圖2示出了根據(jù)另一實(shí)施例的用于延遲縮短存儲(chǔ)器壽命的操作的技術(shù)200。作為 選擇,可在圖IA 圖IC的細(xì)節(jié)的范圍內(nèi)實(shí)現(xiàn)該技術(shù)200。當(dāng)然,該技術(shù)200還可在任何期 望的環(huán)境中實(shí)現(xiàn)。需要注意的是,在本說明書全文中可應(yīng)用前述的限定。如圖所示,技術(shù)200考慮導(dǎo)致存儲(chǔ)器呈現(xiàn)最小可用度的操作的總數(shù)量202和存儲(chǔ) 器的最小期望壽命204。根據(jù)這些數(shù)據(jù)點(diǎn),可計(jì)算出達(dá)到最小期望壽命204的最大平均操作 速率206。在使用中,隨著時(shí)間的過去,可監(jiān)控縮短壽命的操作的數(shù)量。如果在任意時(shí)間,這 種對(duì)時(shí)間的操作的數(shù)量超過了最大平均操作速率206,則在給出的方式中,可將任何過量的 操作(其對(duì)超過該速率有貢獻(xiàn))延遲計(jì)算出的量、預(yù)定的時(shí)間量、或基于縮短壽命操作的早 先的或預(yù)測(cè)的速率進(jìn)行自適應(yīng)地延遲。在一個(gè)實(shí)施例中,這種預(yù)定的時(shí)間量可以是導(dǎo)致不 超過最大平均操作速率206的時(shí)間。在各種實(shí)施例中,可基于多種因素確定需要延遲的操作(以及延遲自身的長(zhǎng)度)。 例如,在一個(gè)實(shí)施例中,可基于初始化操作的應(yīng)用程序來進(jìn)行延遲。在該實(shí)施例中,可以對(duì) 由具有低優(yōu)先級(jí)的應(yīng)用程序初始化的操作進(jìn)行延遲,而(當(dāng)可能時(shí))無需對(duì)由具有高優(yōu)先 級(jí)的應(yīng)用程序初始化的操作進(jìn)行延遲。當(dāng)然,可預(yù)期在操作中以與應(yīng)用程序獨(dú)立的方式管理延遲的其他實(shí)施例。例如,不 考慮初始應(yīng)用程序時(shí),可將延遲應(yīng)用到特定類型的所有操作(例如,擦除操作等)。當(dāng)然,也 可預(yù)期包括混合方法的實(shí)施例。并且,可預(yù)期延遲的操作可包括造成壽命不正??s短的操作或操作形式的實(shí)施 例。在一個(gè)實(shí)施例中,僅僅這些形式可以被延遲。例如,可檢測(cè)到病毒或粗略的(rough)應(yīng) 用程序操作形式,并且僅延遲這種形式的操作。圖3示出了根據(jù)又一實(shí)施例的用于延遲縮短存儲(chǔ)器壽命的操作的基于時(shí)間間隔 的技術(shù)300。作為選擇,可實(shí)施本技術(shù)300來執(zhí)行圖IC的方法100和/或進(jìn)一步執(zhí)行圖2 的技術(shù)200的上下文的方法。當(dāng)然,技術(shù)300可在任何期望的環(huán)境中執(zhí)行。還需要再一次 注意的是,前述的限定可應(yīng)用于本說明書全文。與圖2的技術(shù)相似,技術(shù)300考慮導(dǎo)致存儲(chǔ)器呈現(xiàn)最小可用度的操作的總數(shù)量302 和存儲(chǔ)器的最小期望壽命304。根據(jù)這些數(shù)據(jù)點(diǎn),可計(jì)算出達(dá)到最小期望壽命304的最大平 均操作速率306。在使用中,隨著時(shí)間的過去,可監(jiān)控縮短壽命的操作的數(shù)量。如果在任意時(shí)間,這種對(duì)時(shí)間的操作的數(shù)量超過了最大平均操作速率306,則在給 出的方式中,任何過量的操作都沒有必要以無條件的方式進(jìn)行延遲(如圖2的技術(shù)200)。相反,這種過量的操作可基于對(duì)操作進(jìn)行初始化期間的時(shí)間間隔進(jìn)行有條件地延遲。例如, 這種時(shí)間間隔可包括但不局限于一天的一段時(shí)間、一個(gè)星期的一天、一年的一個(gè)月等。在附 加的實(shí)施例中,時(shí)間間隔可自適應(yīng)地或動(dòng)態(tài)地調(diào)整為最佳期間。例如,這種自適應(yīng)的或動(dòng)態(tài) 的調(diào)整可基于間隔的子間隔上的縮短壽命操作的頻率的柱狀圖等。例如,在所示的方式中,如果在星期一、星期二、星期三、星期四等確定操作的超出 量,可以意識(shí)到(例如,可預(yù)期)的是,在隨后的星期五、星期六和星期天可能被確定的操作 量會(huì)減少。從而,并非是無條件地延遲這種超出數(shù)量的操作,而是根據(jù)平均操作速率(考慮 整個(gè)星期)不會(huì)超過最大平均操作速率306的概率,它們可以被立即執(zhí)行。當(dāng)然,如果表明 不是這樣的情況,則在隨后的星期中會(huì)發(fā)生一些延遲等。盡管上面的示例給出的是在一個(gè) 星期中各天的情況,但是可預(yù)期其它更“宏大(macro)”的實(shí)施例,其中在一個(gè)月的幾個(gè)星 期、一年的幾個(gè)月等的范圍內(nèi)考慮存儲(chǔ)器使用的波動(dòng)。在附加實(shí)施例中,對(duì)操作的有條件延遲進(jìn)行一般化,從而不是基于間隔,而是基于 存儲(chǔ)器的歷史使用記錄、和/或甚至是存儲(chǔ)器的預(yù)測(cè)使用。在這種實(shí)施例中,通過使用歷史 數(shù)據(jù)以預(yù)測(cè)未來的使用、更精確地識(shí)別不需要必需發(fā)生延遲超出操作的情形等,來進(jìn)行任 何期望的統(tǒng)計(jì)分析。圖4示出了根據(jù)再一個(gè)實(shí)施例的用于延遲縮短存儲(chǔ)器壽命的操作的基于積分的 技術(shù)400。作為選擇,可實(shí)施該技術(shù)400以執(zhí)行圖IC的方法100和/或進(jìn)一步執(zhí)行圖2 圖3的技術(shù)200和技術(shù)300的上下文的方法。當(dāng)然,技術(shù)400可在任何期望的環(huán)境中執(zhí)行。 還需要再一次注意的是,前述的限定可應(yīng)用于本說明書全文。與前面的技術(shù)相似,技術(shù)400考慮導(dǎo)致存儲(chǔ)器呈現(xiàn)最小可用度的操作的總數(shù)量 402和存儲(chǔ)器的最小期望壽命404。根據(jù)這些數(shù)據(jù)點(diǎn),可計(jì)算出達(dá)到最小期望壽命404的最 大平均操作速率406。在使用中,隨著時(shí)間的過去,可監(jiān)控縮短壽命的操作的數(shù)量。如果在任意時(shí)間,這種對(duì)時(shí)間的操作的數(shù)量超過了最大平均操作速率306,則在給 出的方式中,任何過量的操作都沒有必要以無條件的方式進(jìn)行延遲(如圖2的技術(shù)200)。 相反,這種過量的操作可基于反映存儲(chǔ)器使用的積分函數(shù)而進(jìn)行有條件地延遲。具體地說, 相對(duì)于時(shí)間的縮短壽命操作的總比率和最大平均操作速率406之間的差的積分可以基于 當(dāng)前狀態(tài)進(jìn)行計(jì)算。為此,如果這種積分信息顯示這種操作可超過最大平均操作速率406, 則前述的延遲不需要一定發(fā)生。圖5示出了根據(jù)另一實(shí)施例的當(dāng)預(yù)期的壽命持續(xù)時(shí)間超出了估計(jì)的壽命持續(xù)時(shí) 間時(shí)用于延遲縮短存儲(chǔ)器壽命的操作的系統(tǒng)500。作為選擇,可實(shí)施該系統(tǒng)500以執(zhí)行圖 IC的方法100和/或進(jìn)一步可選地與圖2 圖4的任何技術(shù)相結(jié)合。當(dāng)然,系統(tǒng)500還可 以任何期望的方式使用。如圖所示,包括存儲(chǔ)系統(tǒng)503,其包括多個(gè)存儲(chǔ)器件530和540。至少一條存儲(chǔ)總線 502連接至少一個(gè)控制器511和至少一個(gè)計(jì)算機(jī)501。在各種實(shí)施例中,存儲(chǔ)總線502可包 括但不局限于串行高級(jí)技術(shù)連接(SATA)總線、串行連接SCSI (SAS)總線、光纖信道總線、存 儲(chǔ)器總線接口、閃存總線、NAND閃存總線、電子集成驅(qū)動(dòng)器(IDE)總線、高級(jí)技術(shù)連接(ATA) 總線、用戶電子(CE)總線、通用串行總線(USB)總線、智能卡總線、多媒體卡(MMC)總線等。 從而,控制器511能夠在系統(tǒng)(例如,計(jì)算機(jī)501)和二級(jí)存儲(chǔ)器(例如存儲(chǔ)器件530、540 中的至少一個(gè))之間連接。進(jìn)一步包括至少一個(gè)用于延長(zhǎng)與存儲(chǔ)器件530、540相關(guān)聯(lián)的存
8儲(chǔ)器的壽命的裝置510。如圖所示,裝置510包括分別經(jīng)由多個(gè)對(duì)應(yīng)的總線521、522與存儲(chǔ)器件530、540 相連接的控制器511。為了執(zhí)行經(jīng)由存儲(chǔ)總線502從計(jì)算機(jī)501所接收的命令,控制器511 使用多個(gè)總線521、522來控制并與多個(gè)存儲(chǔ)器件530、540交換數(shù)據(jù)。每個(gè)存儲(chǔ)器件530、 540包括至少一個(gè)用于存儲(chǔ)數(shù)據(jù)的模塊或塊531、532、533、541、542、543。此外,前述命令的 至少一部分是對(duì)至少一個(gè)模塊或塊531、532、533、541、542、543具有負(fù)面影響的縮短壽命 的命令。在使用中,盡管有這種縮短壽命的命令,裝置510可用于延長(zhǎng)存儲(chǔ)器件530、540的 壽命ο為了實(shí)現(xiàn)這一目標(biāo),控制器511經(jīng)由對(duì)應(yīng)的總線512與壽命估計(jì)器模塊514連接。 裝置510進(jìn)一步包括經(jīng)由總線518與壽命估計(jì)器模塊514相連接的時(shí)間模塊517,該時(shí)間模 塊用于提供當(dāng)前時(shí)間。在使用中,壽命估計(jì)器模塊514用于接收從計(jì)算機(jī)501經(jīng)由存儲(chǔ)總 線502發(fā)送給控制器511的命令。此外,壽命估計(jì)器模塊514在假設(shè)通過總線512接收的 命令已被執(zhí)行的情況下計(jì)算估計(jì)的壽命。繼續(xù)參照?qǐng)D5,壽命估計(jì)器模塊514經(jīng)由總線515與調(diào)速(throttling)模塊516 相連接。壽命估計(jì)器模塊514使用總線515將控制器511當(dāng)前執(zhí)行的命令的估計(jì)壽命發(fā)送 給調(diào)速模塊516。在一個(gè)實(shí)施例中,當(dāng)前執(zhí)行的命令可以與壽命估計(jì)器模塊514經(jīng)由總線 512所接收的命令相同,并且還可與控制器511經(jīng)由存儲(chǔ)總線502從計(jì)算機(jī)501所接收的命 令相同。當(dāng)前時(shí)間模塊517也通過總線518與調(diào)速模塊516相連接。從而,當(dāng)前時(shí)間模塊 517也將當(dāng)前時(shí)間傳送給調(diào)速模塊516。在一個(gè)實(shí)施例中,當(dāng)前時(shí)間模塊517可實(shí)現(xiàn)為以常 數(shù)時(shí)間間隔遞增的簡(jiǎn)單計(jì)數(shù)器等。調(diào)速模塊516還進(jìn)一步通過總線519與期望壽命模塊520相連接,并經(jīng)由總線513 與控制器511相連接。在使用中,期望壽命模塊520用于存儲(chǔ)期望的壽命。通過這種設(shè)計(jì), 調(diào)速模塊516可被配置為通過總線513將信息傳送給控制器511以指示控制器511延遲當(dāng) 前命令的執(zhí)行。在一個(gè)實(shí)施例中,裝置510的調(diào)速模塊516可如此操作從而延遲當(dāng)前命令的執(zhí)行, 直到執(zhí)行對(duì)壽命的影響為所估計(jì)的壽命長(zhǎng)于或者等于存儲(chǔ)在期望壽命模塊520中的期望 壽命。在一個(gè)實(shí)施例中,如果經(jīng)由總線515接收的估計(jì)壽命短于經(jīng)由總線519所接收的期 望壽命,則調(diào)速模塊516的功能簡(jiǎn)化為給控制器511提供延遲信號(hào)。在另一個(gè)實(shí)施例中,控制器511、壽命估計(jì)器模塊514和調(diào)速模塊516的上述功能 可應(yīng)用于在預(yù)定時(shí)間間隔內(nèi)接收的一組命令。這種安排可使系統(tǒng)500滿足必要的壽命,而 不會(huì)不必要地對(duì)用于縮短壽命的命令的短字符組(burst)進(jìn)行調(diào)速。例如,通過選擇時(shí)間 間隔為一天,這種技術(shù)使系統(tǒng)500提供用于縮短壽命的命令的更高的瞬時(shí)性能,因?yàn)樵谝?天的一些時(shí)間段(例如,在夜晚等)存在一些時(shí)間間隔,相比于壽命縮短命令的平均頻率, 這些時(shí)間間隔的壽命縮短命令的頻率減小了。在一個(gè)可選擇的實(shí)施例中,可在時(shí)間上保持一致性。作為一致性方法的示例,如果 延遲縮短壽命命令A(yù),則也延遲取決于A的數(shù)據(jù)或者執(zhí)行命令A(yù)所得到的數(shù)值的所有命令 (無論是否縮短壽命)。在另一個(gè)實(shí)施例中,時(shí)間可被替換為時(shí)間的各種近似值,例如磁盤上電的時(shí)間。在
9另一實(shí)施例中,計(jì)算機(jī)501、RAID控制器、和/或其它器件可提供附加信息以增加所跟蹤時(shí) 間的精度。從而,當(dāng)一個(gè)或多個(gè)存儲(chǔ)器件530、540關(guān)閉時(shí),時(shí)間計(jì)數(shù)器不計(jì)數(shù)。由于實(shí)時(shí)時(shí) 間一直在前進(jìn),因此這可能會(huì)不必要地降低性能。在該方案中,計(jì)算機(jī)501、軟件、和/或控 制器可提供用于解決該問題的有關(guān)當(dāng)系統(tǒng)500關(guān)閉時(shí)的時(shí)間的信息。在另一個(gè)實(shí)施例中,系統(tǒng)500可配有用于減小成本和提高性能的內(nèi)存儲(chǔ)器件冗余 能力。在這個(gè)實(shí)施例中,根據(jù)與其壽命相關(guān)聯(lián)的任何特征(例如,見圖IC的操作102等), 可在各存儲(chǔ)器件530、540之間移動(dòng)數(shù)據(jù)。例如,該情況包括第一存儲(chǔ)器件530,其包括相對(duì) 于第二存儲(chǔ)器件540中的數(shù)據(jù)而有較高重寫頻率的一組數(shù)據(jù)。在這種情況下,經(jīng)過預(yù)定的 時(shí)間量、或者在無用信息收集過程中、或者在壽命平均過程結(jié)束時(shí)、或者由系統(tǒng)決定的其它 事件,該數(shù)據(jù)可從第一存儲(chǔ)器件530移動(dòng)到第二存儲(chǔ)器件540,并且第一存儲(chǔ)器件530或者 其一個(gè)或多個(gè)塊/模塊531、532、533可用于存儲(chǔ)低寫入頻率的數(shù)據(jù)或者不再進(jìn)一步使用。為此,壽命期以內(nèi)的存儲(chǔ)器件被適當(dāng)?shù)剡M(jìn)行分配以避免一個(gè)存儲(chǔ)器件相對(duì)于該組 的其它存儲(chǔ)器件過早地在一個(gè)時(shí)間點(diǎn)失效。當(dāng)然,本技術(shù)不僅可應(yīng)用于不同的存儲(chǔ)器件中, 還可應(yīng)用于其部分之中。為此,可以這種方式管理任何存儲(chǔ)器部件的壽命。在任何情況下,控制器511可被配置為減少和/或分配寫操作。利用該特征,可延 長(zhǎng)合適的存儲(chǔ)器件530、540的壽命。在圖6的說明中將給出一個(gè)執(zhí)行該技術(shù)的示例性方法。圖6示出了根據(jù)另一實(shí)施例的當(dāng)預(yù)期的壽命持續(xù)時(shí)間超出了估計(jì)的壽命持續(xù)時(shí) 間時(shí)用于延遲縮短存儲(chǔ)器壽命的操作的方法600。作為選擇,本方法600可使用圖5的系 統(tǒng)500和/或進(jìn)一步可選地與圖1 圖4的任何技術(shù)相結(jié)合來執(zhí)行。當(dāng)然,該方法600可 以任何期望的方式使用。而前述的限定可應(yīng)用于本說明書的全文。一開始操作601,方法600由控制器控制繼續(xù)工作(例如,圖5的控制器511等), 等待計(jì)算機(jī)(例如,計(jì)算機(jī)501等)發(fā)布給至少一個(gè)存儲(chǔ)器件(例如,存儲(chǔ)器件530、540等) 的命令602。一旦控制器接收到命令,該方法進(jìn)入到判斷603,即控制器判斷在操作602中 接收的命令是否是壽命縮短命令(例如,擦除操作、寫操作等)。如果在判斷603中確定當(dāng) 前接收的命令不是縮短壽命命令,則僅由操作607處理該命令。另一方面,如果在判斷603中確定當(dāng)前接收的命令確實(shí)是縮短壽命命令,則根據(jù) 操作602中接收的命令、之前的壽命和當(dāng)前時(shí)間(例如,通過時(shí)間模塊517等),由壽命估計(jì) 器模塊(例如,壽命估計(jì)器模塊514等)來計(jì)算估計(jì)的壽命。見操作604。在一個(gè)實(shí)施例 中,之前的壽命可表示壽命估計(jì)器模塊之前的狀態(tài)。在另一實(shí)施例中,可通過測(cè)量至少一個(gè) 存儲(chǔ)器件的一個(gè)或多個(gè)特性來獲得之前的壽命。接下來,在任何情況下,將由該壽命估計(jì)器模塊所估計(jì)的壽命提供給調(diào)速模塊 (例如,調(diào)速模塊516等)。在判斷605中,如果從壽命估計(jì)器所接收的估計(jì)壽命短于發(fā)送 給調(diào)速模塊的期望的壽命,則調(diào)速模塊確定調(diào)速是必要的。如果調(diào)速是必要的,則通過延遲 (例如,調(diào)速等)壽命縮短命令,方法600進(jìn)行到操作606。然而,如果估計(jì)的壽命不短于期 望的壽命,則該方法600進(jìn)行到上述的操作607。具體地,在操作606中,調(diào)速模塊可以使用控制器來調(diào)速壽命縮短命令的執(zhí)行。在 一個(gè)實(shí)施例中,通過使用控制器延遲壽命縮短命令的執(zhí)行以實(shí)現(xiàn)調(diào)速,直到壽命估計(jì)器所 估計(jì)的壽命長(zhǎng)于或等于期望的壽命。在另一實(shí)施例中,在預(yù)定的時(shí)間期間中確定調(diào)速,并將該調(diào)速應(yīng)用于隨后的預(yù)定
10時(shí)間期間中的命令。在該實(shí)施例中,可應(yīng)用關(guān)于在預(yù)定時(shí)間間隔中可縮短多少壽命的極限 值。在另一實(shí)施例中,在一個(gè)或多個(gè)之前的時(shí)間間隔中可確定關(guān)于在一個(gè)時(shí)間間隔中可縮 短多少壽命的極限值。在另一實(shí)施例中,可基于對(duì)多個(gè)未決操作的分析確定調(diào)速,從而允許 不縮短壽命的操作在壽命縮短操作或者取決于該壽命縮短操作的操作之前執(zhí)行。通過該設(shè)計(jì),可提供用于控制壽命縮短操作以保證期望的最小壽命的數(shù)據(jù)存儲(chǔ)系 統(tǒng)。因此,可以估計(jì)壽命縮短操作對(duì)這種最小期望壽命的影響,并且可以對(duì)壽命縮短操作的 頻率進(jìn)行自適應(yīng)地控制。圖7示出了根據(jù)另一個(gè)實(shí)施例的用于測(cè)量存儲(chǔ)器壽命的圖形用戶界面700。作為 選擇,可在圖1 圖6的功能和結(jié)構(gòu)的范圍內(nèi)實(shí)現(xiàn)該圖形用戶界面700。當(dāng)然,圖形用戶界 面700可在任何期望的環(huán)境下使用。并且,還需要注意的是,前述的限定可應(yīng)用于本說明書 的全文中。如圖所示,可顯示反映與存儲(chǔ)器壽命相關(guān)聯(lián)的至少一個(gè)特征的各種標(biāo)記。在一個(gè) 實(shí)施例中,該特征可識(shí)別為圖IC的操作102。當(dāng)然,與壽命有關(guān)的這個(gè)特征可包括與存儲(chǔ)器 壽命至少部分相關(guān)的任何期望的特征。例如,在圖5的系統(tǒng)500的范圍中,該特征可由控制 器511從由計(jì)算機(jī)501處理的和/或僅傳遞給該計(jì)算機(jī)的任何模塊中獲得,該計(jì)算機(jī)可以 在軟件應(yīng)用程序(例如,插件等)的控制下依次顯示相關(guān)的標(biāo)記。例如,在一個(gè)實(shí)施例中,前述的標(biāo)記可包括用于指示為一個(gè)或多個(gè)存儲(chǔ)器備用的 壽命量的測(cè)量表702。在該實(shí)施例中,該測(cè)量表702可指示作為已執(zhí)行的壽命縮短操作數(shù)量 隨時(shí)間變化的函數(shù)的總的存儲(chǔ)器壽命的量。在另一實(shí)施例中,前述標(biāo)記可包括估計(jì)705,用 于基于對(duì)先前使用量的推斷來指示壽命,并假設(shè)中止調(diào)速操作。在另一實(shí)施例中,前述標(biāo)記可包括警告信息704,用于指示為一個(gè)或多個(gè)存儲(chǔ)器備 用的壽命的最小數(shù)量。例如,可根據(jù)存儲(chǔ)器的歷史使用數(shù)據(jù)估計(jì)該壽命。通過該設(shè)計(jì),可提 醒用戶在預(yù)定的時(shí)間段內(nèi)替換存儲(chǔ)器等。當(dāng)然,可預(yù)期其它的實(shí)施例,其中任何期望的標(biāo)記 可用于報(bào)告與存儲(chǔ)器壽命相關(guān)的各種信息。圖8示出了根據(jù)另一個(gè)實(shí)施例的使用差別信息減少存儲(chǔ)器中的寫操作的方法 800。作為選擇,方法800可結(jié)合圖1 圖7的功能和結(jié)構(gòu)來執(zhí)行或不執(zhí)行。當(dāng)然,該方法 800還可在任何期望的環(huán)境下執(zhí)行,需要注意的是,前述的限定可應(yīng)用于本說明書全文。如圖所示,識(shí)別對(duì)存儲(chǔ)在存儲(chǔ)器中的數(shù)據(jù)執(zhí)行的寫操作。見操作802。在本說明書 的上下文中,這種寫操作可包括導(dǎo)致存儲(chǔ)在存儲(chǔ)器中的數(shù)據(jù)被修改的任何操作。此外,這種 寫操作通過截取與該操作及寫操作自身等相關(guān)的寫命令以任何期望的方式進(jìn)行識(shí)別。如操作804所示,確定寫操作的結(jié)果與存儲(chǔ)在存儲(chǔ)器中的數(shù)據(jù)之間的差別。在本 說明書的上下文中,前述差別可至少部分地反映存儲(chǔ)器中所存儲(chǔ)的數(shù)據(jù)的第一狀態(tài)和從之 前的寫操作得到的第二狀態(tài)之間的任何差別。在另一實(shí)施例中,確定在存儲(chǔ)器所存儲(chǔ)的數(shù)據(jù)之間的差別。例如,可創(chuàng)建文件的 新修改版本并將其寫入存儲(chǔ)器的新位置中,從而可以確定數(shù)據(jù)在存儲(chǔ)器中不同位置處的差 別。作為選擇,可根據(jù)哈希(hash)、光暈濾波器(bloom filter)等確定數(shù)據(jù)的位置。為此, 在將相同數(shù)據(jù)的不同實(shí)例寫入存儲(chǔ)器的不同位置中的一個(gè)示例性實(shí)施例中,所確定的差別 可包括數(shù)據(jù)的位置,而不一定必須是數(shù)據(jù)自身。在一個(gè)實(shí)施例中,與該差別相關(guān)的差別信息可存儲(chǔ)在存儲(chǔ)器中(例如,存儲(chǔ)數(shù)據(jù)的同一存儲(chǔ)器等)。在另一實(shí)施例中,差別信息還可存儲(chǔ)在不同的緩沖器中,關(guān)于其形式,稍 后將對(duì)不同的實(shí)施例進(jìn)行詳細(xì)說明。需要注意的是,差別信息可包括至少部分地描述了在 操作804中確定的差別的任何信息。在稍后描述的實(shí)施例中會(huì)變得明顯的是,在一個(gè)實(shí)施 例中,差別信息可利用指令集進(jìn)行存儲(chǔ)。如下所述,在不同實(shí)施例中,該指令集可自適應(yīng)地 改變和/或動(dòng)態(tài)地?cái)U(kuò)展。為此,利用差別信息可減少寫操作。見操作806。通過該設(shè)計(jì),這種寫操作中的減 少可選擇性地延長(zhǎng)存儲(chǔ)器的壽命。關(guān)于各種選擇性的結(jié)構(gòu)和特征,將給出更多示意性的信息,其中根據(jù)用戶的期望 可執(zhí)行或者不執(zhí)行前述的結(jié)構(gòu)和特征。例如,將根據(jù)差別信息給出一個(gè)用于實(shí)現(xiàn)減少寫操 作的示例性方式的示例性系統(tǒng)。需要特別注意的是,下列信息是用于解釋目的,而不應(yīng)解釋 為任何形式的限制。下列任何特征可選地與所描述的其它特征以外的特征相結(jié)合或者不結(jié)果O圖9示出了根據(jù)另一實(shí)施例的用于減少存儲(chǔ)器中的寫操作的系統(tǒng)900。作為選擇, 可實(shí)施該系統(tǒng)900以執(zhí)行圖8的方法800和/或進(jìn)一步選擇性地結(jié)合圖1 圖7的任何方 法或技術(shù)。當(dāng)然,系統(tǒng)900還可以任何期望的方式進(jìn)行使用。而前述的限定可應(yīng)用于本說 明書全文。如圖所示,系統(tǒng)900包括經(jīng)由輸入/輸出(I/O)總線902連接到存儲(chǔ)器件930的 計(jì)算機(jī)901,具體方式將隨后介紹。I/O總線902包括讀通道903和寫通道904。存儲(chǔ)器件 930包括多個(gè)存儲(chǔ)塊931、932、933。存儲(chǔ)塊931、932、933由計(jì)算機(jī)901進(jìn)行寫和讀。處于將變得很顯然的原因,可以分配每個(gè)存儲(chǔ)塊931、932、933的預(yù)定部分934以 存儲(chǔ)差別信息,該差別信息反映由計(jì)算機(jī)901對(duì)存儲(chǔ)在對(duì)應(yīng)存儲(chǔ)塊931、932、933的備用部 分935中的數(shù)據(jù)做出的任何改變的差別信息。在不同實(shí)施例中,預(yù)定部分934的大小可由 用戶配置。此外,存儲(chǔ)在其中的差別信息可以是任何形式。表1示出了用于表示差別信息的實(shí)例的一種可能的格式(多個(gè)差別信息可存儲(chǔ)在 存儲(chǔ)塊931、932、933的每個(gè)預(yù)定部分934中)。表 1 在該實(shí)施例中,操作碼可表示對(duì)存儲(chǔ)在對(duì)應(yīng)存儲(chǔ)塊931、932、933的備用部分935 中的數(shù)據(jù)執(zhí)行的操作。該操作的示例可包括但不局限于結(jié)束、替換、上移、下移、刪除、插入, 和/或其它任何操作。作為選擇,該操作的每一個(gè)均使用相應(yīng)的代碼以作簡(jiǎn)潔表示(例如, 替換=“001”,上移=“010”等)。此外,源開始地址和大小可(分別)針對(duì)和指示存儲(chǔ)在對(duì)應(yīng)存儲(chǔ)塊931、932、933 的備用部分935中的數(shù)據(jù)的大小,其中該數(shù)據(jù)是操作的對(duì)象。而在操作要求對(duì)數(shù)據(jù)進(jìn)行替 換/修改等的狀態(tài)下,數(shù)據(jù)自身可作為差別信息的一部分進(jìn)行存儲(chǔ)。作為另一種選擇,可以 將壓縮算法應(yīng)用于差別信息以便于更有效地存儲(chǔ)。作為另一種選擇,在操作要求移動(dòng)數(shù)據(jù) 的狀態(tài)下,由于該數(shù)據(jù)存儲(chǔ)在初始存儲(chǔ)塊中,因此可指定數(shù)據(jù)的源地址而不必指定數(shù)據(jù)自 身。在另一實(shí)施例中,可自適應(yīng)地創(chuàng)建新操作。例如,可將第一操作的重復(fù)序列替換為 新的第二操作。這種新的第二操作可選地描述第一操作的序列。這樣,可自適應(yīng)地創(chuàng)建新 操作,從而系統(tǒng)900可最優(yōu)地適應(yīng)新的應(yīng)用程序。當(dāng)然,表1的數(shù)據(jù)結(jié)構(gòu)僅用于解釋的目的,而不應(yīng)解釋為任何形式的限制。例如, 差別信息的實(shí)例可僅包括被替換的數(shù)據(jù)(沒有任何復(fù)雜的命令)。進(jìn)一步提供裝置910以用于減少存儲(chǔ)器中的寫操作。該裝置910包括具有多個(gè)合 并緩沖器921、922、923的合并存儲(chǔ)器920。在一個(gè)實(shí)施例中,每個(gè)合并緩沖器921、922、923 的大小均可以是預(yù)定的大小(例如,4Kb等),其可以與在單一操作中能夠?qū)懭胫撩總€(gè)存儲(chǔ) 塊931、932、933的最小塊部分相關(guān)。進(jìn)而,在不同實(shí)施例中,合并緩沖器921可包括片上存 儲(chǔ)器、外部存儲(chǔ)器、DRAM、SRAM等。顯然,每個(gè)合并緩沖器921、922、923均保持有用于對(duì)應(yīng)的存儲(chǔ)塊931、932、933的 差別信息的實(shí)例(例如,見表1)。換句話說,第一合并緩沖器921中保持有第一存儲(chǔ)塊931 的差別信息的實(shí)例,第二合并緩沖器922中保持有第二存儲(chǔ)塊932的差別信息的實(shí)例,第三 合并緩沖器923中保持有第三存儲(chǔ)塊933的差別信息的實(shí)例,等等。裝置910進(jìn)一步包括經(jīng)由總線914連接到合并存儲(chǔ)器920的更新模塊912,用于 將存儲(chǔ)在合并存儲(chǔ)緩沖器921、922、923中的差別信息寫入到對(duì)應(yīng)的存儲(chǔ)塊931、932和933 中。在一個(gè)實(shí)施例中,通過將差別信息中的至少一個(gè)實(shí)例填入合并存儲(chǔ)緩沖器921、922、923 中的一個(gè)以初始化該寫操作(從而為存儲(chǔ)塊931、932和933中適當(dāng)?shù)囊粋€(gè)構(gòu)成最小的寫入 大小)。要完成該寫操作,更新模塊912經(jīng)由總線915與存儲(chǔ)器件930相連接。并且,更新 模塊912的輸出經(jīng)由讀路徑903與I/O總線902相連接。并且,差別計(jì)算模塊911經(jīng)由讀路徑總線903與更新模塊912連接,經(jīng)由寫通道總 線904與I/O總線902連接,并且進(jìn)一步經(jīng)由總線913與合并存儲(chǔ)器920連接。在使用中, 差別計(jì)算模塊911能夠從存儲(chǔ)器件930讀取數(shù)據(jù),并使用來自相關(guān)的存儲(chǔ)塊931、932和933 和/或合并存儲(chǔ)緩沖器921、922、923的差別信息重構(gòu)該數(shù)據(jù)的當(dāng)前狀態(tài)。差別計(jì)算模塊911進(jìn)一步能夠通過首先重構(gòu)該數(shù)據(jù)的當(dāng)前狀態(tài)(與上述的讀操作 相似),識(shí)別該當(dāng)前狀態(tài)和寫操作(由計(jì)算機(jī)901初始化)之后產(chǎn)生的狀態(tài)之間的差別,并 適當(dāng)?shù)貙⒂糜诟孪嚓P(guān)存儲(chǔ)塊931、932和933的差別信息的一個(gè)或多個(gè)實(shí)例填充到合并存 儲(chǔ)緩沖器921、922、923中,以將數(shù)據(jù)寫入存儲(chǔ)器件930中。在對(duì)圖10和圖11的描述中將 給出涉及這種讀操作和寫操作的更多信息。
在各種實(shí)施例中,差別計(jì)算模塊911可使用任何期望的技術(shù)以識(shí)別前述的差別。 例如,可使用各種字符串匹配算法、數(shù)據(jù)移動(dòng)估計(jì)技術(shù)等。在附加實(shí)施例中,可逐字節(jié)地確 定差別。此外,差別計(jì)算可包括下列的任何一個(gè)或者多個(gè)發(fā)現(xiàn)要插入的字節(jié)串,發(fā)現(xiàn)要?jiǎng)h 除的字節(jié)串,發(fā)現(xiàn)要替換的字節(jié)串,發(fā)現(xiàn)要復(fù)制的字節(jié)串,確定是否通過增加值來更新字節(jié) 串,發(fā)現(xiàn)存儲(chǔ)塊的備份并創(chuàng)建其查詢,發(fā)現(xiàn)塊拆分,發(fā)現(xiàn)塊合并等。圖10示出了根據(jù)一個(gè)實(shí)施例的使用差別信息讀取存儲(chǔ)器的方法1000。作為選擇, 方法1000可使用圖9的系統(tǒng)900和/或根據(jù)期望選擇性地結(jié)合圖1 圖8中的任何技術(shù) 來執(zhí)行。當(dāng)然,該方法1000還可以期望的形式使用。并且,前述限定可應(yīng)用于本說明書全 文。如圖所示,方法1000可根據(jù)計(jì)算機(jī)(例如,計(jì)算機(jī)901等)的請(qǐng)求,通過從存儲(chǔ) 器(例如,存儲(chǔ)器件930等)讀取塊(例如,圖9的塊931、932、933等)而從操作1001開 始。將所讀取的存儲(chǔ)塊數(shù)據(jù)發(fā)送給更新模塊(例如,更新模塊912等)。接下來,響應(yīng)于讀 操作,從對(duì)應(yīng)于存儲(chǔ)塊(與計(jì)算機(jī)請(qǐng)求相關(guān))的合并緩沖器(例如,合并緩沖器921、922、 923等),和/或從存儲(chǔ)塊自身讀取差別信息。見操作1002。差別信息的合適的源可取決于 在讀取請(qǐng)求時(shí)是否請(qǐng)求信息已經(jīng)從合并緩沖器寫入到對(duì)應(yīng)的存儲(chǔ)塊中。作為選擇,差別信 息可散布在閃存中的數(shù)據(jù)之間。此外,涉及特定數(shù)據(jù)的差別可分為一個(gè)或多個(gè)組。接下來,在操作1003中,更新模塊將反映在來自操作1002的差別信息中的差別應(yīng) 用到在操作1001讀取的對(duì)應(yīng)塊上。為此,將在操作1003中重構(gòu)的數(shù)據(jù)通過讀通道(例如, 讀通道903等)發(fā)送給計(jì)算機(jī)。見操作1004。在各種實(shí)施例中,前述的數(shù)據(jù)讀取操作可包括將邏輯存儲(chǔ)塊號(hào)碼映射到物理存儲(chǔ) 塊號(hào)碼。并且,方法1000可進(jìn)一步提供與讀操作相結(jié)合的檢錯(cuò)和糾錯(cuò)。對(duì)該讀取數(shù)據(jù)的檢 錯(cuò)和糾錯(cuò)可進(jìn)一步包括重讀操作以嘗試恢復(fù)數(shù)據(jù),并將恢復(fù)的數(shù)據(jù)重新放置到另一存儲(chǔ)位 置。例如,該恢復(fù)數(shù)據(jù)的重新放置可包括邏輯存儲(chǔ)塊轉(zhuǎn)移和/或基于候選存儲(chǔ)塊的錯(cuò)誤率 fn息ο圖11示出了根據(jù)一個(gè)實(shí)施例的用于使用差別信息寫入存儲(chǔ)器的方法1100。作為 選擇,方法1100可使用圖9的系統(tǒng)900和/或根據(jù)期望進(jìn)一步選擇性地結(jié)合圖1 圖8、圖 10的任何技術(shù)。當(dāng)然,方法1100還可以任何期望的方式實(shí)現(xiàn)。并且,前述的限定可應(yīng)用于 本說明書全文。與圖10的讀取方法1000相似,方法1100可由讀取存儲(chǔ)器(例如,存儲(chǔ)器件930 等)的塊(例如,圖9的塊931、932、933等)的操作1101開始,其中該操作受計(jì)算機(jī)(例 如,計(jì)算機(jī)901等)的寫入請(qǐng)求的控制。之后,將讀取的存儲(chǔ)塊數(shù)據(jù)發(fā)送給更新模塊(例如, 更新模塊912等)。接下來,在操作1102中,從對(duì)應(yīng)于存儲(chǔ)塊(與計(jì)算機(jī)請(qǐng)求相關(guān)聯(lián))的 合并緩沖器(例如,合并緩沖器921、922、923等),和/或從存儲(chǔ)塊自身讀取差別信息。接 下來,在操作1103中,更新模塊將反映在來自操作1102的差別信息中的差別應(yīng)用到在操作 1101中讀取的對(duì)應(yīng)的塊,以重構(gòu)需要讀或?qū)懙臄?shù)據(jù)。為此,將在操作1103中重構(gòu)的數(shù)據(jù)發(fā)送到差別計(jì)算模塊(例如,差別計(jì)算模塊911 等),并與從執(zhí)行由計(jì)算機(jī)請(qǐng)求的寫操作所得到的數(shù)據(jù)狀態(tài)相比較。見操作1104。為此,可 以識(shí)別重構(gòu)數(shù)據(jù)與從執(zhí)行寫操作所得到的數(shù)據(jù)狀態(tài)之間的差別。在一個(gè)實(shí)施例中,通過更
14新數(shù)據(jù)的應(yīng)用程序(在計(jì)算機(jī)上運(yùn)行的)可導(dǎo)致該差別。該更新可包括但不局限于替換字 節(jié)串、插入字節(jié)串、刪除字節(jié)串、復(fù)制字節(jié)串等。在操作1105中,將與在操作1104中計(jì)算的差別相關(guān)聯(lián)的差別信息附加到對(duì) 應(yīng)于塊的合適的合并緩沖器,其中存在至少一個(gè)在操作1104中計(jì)算的差別。該附加 (appending)可通過寫入到合并存儲(chǔ)器中的合并緩沖器的末端來實(shí)現(xiàn)。在一個(gè)實(shí)施例中, 該附加可進(jìn)一步包括解壓縮合并緩沖器、附加數(shù)據(jù)、并重新壓縮合適的合并緩沖器。作為選 擇,可根據(jù)要求將合并緩沖存儲(chǔ)器再分配給合并緩沖器。在可選擇的實(shí)施例中,差別信息可存儲(chǔ)為描述在數(shù)據(jù)上執(zhí)行的函數(shù)(例如,寫入 等)的操作。例如,差別信息可反映由B-樹上執(zhí)行的操作產(chǎn)生的變化,因而可表示涉及該 操作的差別。該B-樹可選地由數(shù)據(jù)庫(kù)、郵件服務(wù)器、文件系統(tǒng)等使用。接下來,在判斷1106中,檢測(cè)合并緩沖器以確定它們是否是滿的。如果沒有合并 緩沖器是滿的,則方法1100進(jìn)入到操作1110。另一方面,如果至少一個(gè)合并緩沖器是滿的, 則方法1100進(jìn)入到操作1107。在操作1107中,可將任何滿的合并緩沖器附加至差別信息。 此外,如操作1112所示,清空這些滿的合并緩沖器(用于重復(fù)使用等)。進(jìn)一步確定差別信息是否是滿的(操作1114)。如果確定差別信息沒有滿,則方 法1100進(jìn)入到操作1110。然而,響應(yīng)于確定該差別信息是滿的,將差別信息的變化應(yīng)用到 數(shù)據(jù)。見操作1116。此外,如操作1118所示,寫入施加有變化的數(shù)據(jù)塊,并丟棄舊數(shù)據(jù)。并 且,如操作1120所示,清空差別信息。為此,可提供一種數(shù)據(jù)存儲(chǔ)系統(tǒng),其利用寫入和已有 數(shù)據(jù)之間差別以減少寫操作并在存儲(chǔ)器塊中分配寫操作,從而提高基于塊存儲(chǔ)的可靠性。在各種實(shí)施例中,前述實(shí)施例所涉及的存儲(chǔ)器可包括機(jī)械存儲(chǔ)器件(例如,包括 SATA磁盤驅(qū)動(dòng)器、SAS磁盤驅(qū)動(dòng)器、光纖通道磁盤驅(qū)動(dòng)器、IDE磁盤驅(qū)動(dòng)器、ATA磁盤驅(qū)動(dòng)器、 CE磁盤驅(qū)動(dòng)器、USB磁盤驅(qū)動(dòng)器、智能卡磁盤驅(qū)動(dòng)器、匪C磁盤驅(qū)動(dòng)器等的磁盤驅(qū)動(dòng)器)和 /或非機(jī)械存儲(chǔ)器件(例如,基于半導(dǎo)體的器件,等)。該非機(jī)械存儲(chǔ)器可包括例如易失性 或非易失性存儲(chǔ)器。在各種實(shí)施例中,非易失性存儲(chǔ)器件可包括閃存(例如,每個(gè)單元一位 的NOR閃存、每個(gè)單元多位的NOR閃存、每個(gè)單元一位的NAND閃存、每個(gè)單元多位的NAND 閃存,每個(gè)單元多層多位的NAND閃存、大塊閃存等)。盡管這里給出了存儲(chǔ)器的各種示例, 但是需要注意的是各種原則可應(yīng)用于任何類型的存儲(chǔ)器,其中通過對(duì)其執(zhí)行的各種操作可 減小這些存儲(chǔ)器的壽命。圖12示出了示例性系統(tǒng)1200,其可實(shí)現(xiàn)之前的各種實(shí)施例的各種結(jié)構(gòu)和/或功 能。例如,示例性系統(tǒng)1200可表示在之前一些實(shí)施例中描述的計(jì)算機(jī)。并且,上述提出的 各種裝置可作為系統(tǒng)1200的組成部分。如圖所示,系統(tǒng)1200被設(shè)置為包括至少一個(gè)與通信總線1202相連接的主處理器 1201。系統(tǒng)1200還包括主存儲(chǔ)器1204??刂七壿?軟件)和數(shù)據(jù)存儲(chǔ)在主存儲(chǔ)器1204 中,其中該主存儲(chǔ)器可采用隨機(jī)存取存儲(chǔ)器(RAM)的形式。系統(tǒng)1200還包括圖形處理器1206和顯示器1208,例如計(jì)算機(jī)監(jiān)視器。系統(tǒng)1200 還可包括次級(jí)存儲(chǔ)裝置1210。例如,次級(jí)存儲(chǔ)裝置1210包括硬盤驅(qū)動(dòng)器和/或移動(dòng)存儲(chǔ)驅(qū) 動(dòng)器,表現(xiàn)為軟盤驅(qū)動(dòng)器、磁帶驅(qū)動(dòng)器、光盤驅(qū)動(dòng)器等。移動(dòng)存儲(chǔ)驅(qū)動(dòng)器以公知的方式從移 動(dòng)存儲(chǔ)模塊進(jìn)行讀取和/或向移動(dòng)存儲(chǔ)模塊進(jìn)行寫入。計(jì)算機(jī)程序或者計(jì)算機(jī)邏輯控制算法可存儲(chǔ)在主存儲(chǔ)器1204和/或次級(jí)存儲(chǔ)裝
15置1210中。在執(zhí)行計(jì)算機(jī)程序時(shí)能使系統(tǒng)1200執(zhí)行各種功能。存儲(chǔ)器1204、存儲(chǔ)裝置 1210和/或任何其它存儲(chǔ)裝置可作為計(jì)算機(jī)可讀介質(zhì)的示例。在一個(gè)實(shí)施例中,前述各種圖的結(jié)構(gòu)和/或功能可在主處理器1201、圖形處理器 1206、次級(jí)存儲(chǔ)裝置1210、至少具有主處理器1201和圖形處理器1206的部分功能的集成電 路(沒有示出)、芯片組(即,設(shè)計(jì)為作為用于執(zhí)行相關(guān)功能的模塊等運(yùn)行和銷售的一組集 成電路),和/或與此相關(guān)的任何其它集成電路的范圍內(nèi)執(zhí)行。并且,前述的多個(gè)圖的結(jié)構(gòu)和功能可在通用計(jì)算機(jī)系統(tǒng)、電路板系統(tǒng)、用于娛樂目 的的游戲控制系統(tǒng)、專用系統(tǒng)和/或其它期望的系統(tǒng)的范圍內(nèi)進(jìn)行執(zhí)行。例如,系統(tǒng)1200 可采用桌面型計(jì)算機(jī)、膝上型計(jì)算機(jī)和/或任何其它類型的邏輯電路的形式。并且,系統(tǒng) 1200可采用包括但不局限于個(gè)人數(shù)字助理(PDA)裝置、移動(dòng)電話裝置、電視等的各種其它 裝置的形式。此外,盡管沒有示出,系統(tǒng)1200可與用于通信目的的網(wǎng)絡(luò)(如,電信網(wǎng),局域網(wǎng) (LAN),無線網(wǎng),諸如因特網(wǎng)的廣域網(wǎng)(WAN)、對(duì)等網(wǎng)絡(luò)、有線網(wǎng)絡(luò)等)相連接。此外,盡管沒有示出,系統(tǒng)1200可與用于通信目的的網(wǎng)絡(luò)(如,電信網(wǎng),局域網(wǎng) (LAN),無線網(wǎng),諸如因特網(wǎng)的廣域網(wǎng)(WAN)、對(duì)等網(wǎng)絡(luò)、有線網(wǎng)絡(luò)等)相連接。盡管上面描述了各種實(shí)施例,可以理解的是它們僅是以舉例的方式給出,而并不 是用于限制。因此,優(yōu)選實(shí)施例的寬度和范圍不應(yīng)被上述示例性實(shí)施例所限制,而應(yīng)僅由所 附的權(quán)利要求及其等同物所限定。
1權(quán)利要求
一種方法,包括增加存儲(chǔ)器的備用空間;并且由于增加了所述存儲(chǔ)器的所述備用空間,故延長(zhǎng)所述存儲(chǔ)器的壽命。
2.根據(jù)權(quán)利要求1所述的方法,其中,通過壓縮存儲(chǔ)在所述存儲(chǔ)器中的數(shù)據(jù)以增加所 述備用空間。
3.根據(jù)權(quán)利要求2所述的方法,其中,所述壓縮是無損壓縮。
4.根據(jù)權(quán)利要求2所述的方法,其中,所述壓縮是有損壓縮。
5.根據(jù)權(quán)利要求1所述的方法,其中,增加所述備用空間包括 增加所述存儲(chǔ)器的備用的塊的數(shù)量。
6.根據(jù)權(quán)利要求5所述的方法,進(jìn)一步包括使所述存儲(chǔ)器中的所述塊的壽命中止時(shí) 間相等。
7.根據(jù)權(quán)利要求1所述的方法,其中,通過刪除存儲(chǔ)在所述存儲(chǔ)器中的復(fù)制數(shù)據(jù)來增 加所述備用空間。
8.根據(jù)權(quán)利要求1所述的方法,進(jìn)一步包括保證所述存儲(chǔ)器的壽命。
9.根據(jù)權(quán)利要求1所述的方法,其中,所述存儲(chǔ)器包括機(jī)械存儲(chǔ)器件。
10.根據(jù)權(quán)利要求9所述的方法,其中,所述存儲(chǔ)器包括磁盤驅(qū)動(dòng)器。
11.根據(jù)權(quán)利要求1所述的方法,其中,所述存儲(chǔ)器包括易失性存儲(chǔ)器件。
12.根據(jù)權(quán)利要求1所述的方法,其中,所述存儲(chǔ)器包括非易失性存儲(chǔ)器件。
13.根據(jù)權(quán)利要求12所述的方法,其中,所述非易失性存儲(chǔ)器件包括以下中的至少一 個(gè)每個(gè)單元一位的NOR閃存、每個(gè)單元多位的NOR閃存、每個(gè)單元一位的NAND閃存、每個(gè) 單元多位的NAND閃存。
14.一種在計(jì)算機(jī)可讀介質(zhì)上實(shí)現(xiàn)的計(jì)算機(jī)程序產(chǎn)品,包括 用于增加存儲(chǔ)器的備用空間的計(jì)算機(jī)代碼;以及由于增加了所述存儲(chǔ)器的所述備用空間,故用于延長(zhǎng)所述存儲(chǔ)器的壽命的計(jì)算機(jī)代碼。
15.根據(jù)權(quán)利要求14所述的計(jì)算機(jī)程序產(chǎn)品,其中,通過壓縮存儲(chǔ)在所述存儲(chǔ)器中的 數(shù)據(jù)以增加所述備用空間。
16.根據(jù)權(quán)利要求15所述的計(jì)算機(jī)程序產(chǎn)品,其中,所述壓縮是無損壓縮。
17.根據(jù)權(quán)利要求15所述的計(jì)算機(jī)程序產(chǎn)品,其中,所述壓縮是有損壓縮。
18.根據(jù)權(quán)利要求14所述的計(jì)算機(jī)程序產(chǎn)品,其中,增加所述備用空間包括增加所述 存儲(chǔ)器的備用的塊的數(shù)量。
19.根據(jù)權(quán)利要求18所述的計(jì)算機(jī)程序產(chǎn)品,進(jìn)一步包括用于使所述存儲(chǔ)器中的所述 塊的壽命中止時(shí)間相等的計(jì)算機(jī)代碼。
20.根據(jù)權(quán)利要求14所述的計(jì)算機(jī)程序產(chǎn)品,其中,通過刪除存儲(chǔ)在所述存儲(chǔ)器中的 復(fù)制數(shù)據(jù)來增加所述備用空間。
21.根據(jù)權(quán)利要求14所述的計(jì)算機(jī)程序產(chǎn)品,進(jìn)一步包括用于保證所述存儲(chǔ)器的壽命 的計(jì)算機(jī)代碼。
22.根據(jù)權(quán)利要求14所述的計(jì)算機(jī)程序產(chǎn)品,其中,所述存儲(chǔ)器包括機(jī)械存儲(chǔ)器件。
23.根據(jù)權(quán)利要求14所述的計(jì)算機(jī)程序產(chǎn)品,其中,所述存儲(chǔ)器件包括以下中的至少一個(gè)每個(gè)單元一位的NOR閃存、每個(gè)單元多位的NOR閃存、每個(gè)單元一位的NAND閃存、每 個(gè)單元多位的NAND閃存。
24.—種裝置,包括用于增加存儲(chǔ)器的備用空間以延長(zhǎng)所述存儲(chǔ)器的壽命的邏輯電路。
25.根據(jù)權(quán)利要求24所述的裝置,其中,所述邏輯電路連接在系統(tǒng)和所述存儲(chǔ)器之間。
全文摘要
本發(fā)明公開了一種用于延長(zhǎng)存儲(chǔ)器壽命的系統(tǒng)、方法和計(jì)算機(jī)程序產(chǎn)品。在操作過程中,增加了存儲(chǔ)器的備用空間。此外,由于增加了存儲(chǔ)器中的備用空間,因此延長(zhǎng)了存儲(chǔ)器的壽命。
文檔編號(hào)G06F12/00GK101925884SQ200880125645
公開日2010年12月22日 申請(qǐng)日期2008年10月23日 優(yōu)先權(quán)日2007年11月28日
發(fā)明者拉多斯拉夫·達(dá)尼拉克 申請(qǐng)人:三德動(dòng)力有限公司
網(wǎng)友詢問留言 已有0條留言
  • 還沒有人留言評(píng)論。精彩留言會(huì)獲得點(diǎn)贊!
1
湘西| 昌平区| 名山县| 盐津县| 延庆县| 北流市| 南澳县| 同江市| 安图县| 丰顺县| 澎湖县| 廊坊市| 兰坪| 仁寿县| 江山市| 白城市| 蓬安县| 黔江区| 延川县| 出国| 井研县| 平和县| 海宁市| 肇源县| 苏尼特右旗| 将乐县| 额尔古纳市| 泸溪县| 嘉定区| 涞水县| 腾冲县| 武川县| 儋州市| 新源县| 昭苏县| 溧阳市| 武穴市| 朔州市| 内江市| 凤阳县| 罗山县|