專利名稱:存儲裝置及用于存儲裝置的存取方法
技術(shù)領(lǐng)域:
本發(fā)明是關(guān)于一種存儲裝置及一種用于存儲裝置的存取方法;更詳細地說, 是關(guān)于一種儲存區(qū)塊能較為平均使用的存儲裝置及用于存儲裝置的存取方法。
背景技術(shù):
隨著科技日新月異,許多廠商利用不同的材質(zhì)及技術(shù)開發(fā)出各種輕便的存儲 裝置。以快閃存儲器(flash memory)為例,即有NOR型快閃存儲器、NAND型快閃 存儲器、NROM型快閃存儲器、及SLC/MLC型快閃存儲器等。目前市面上的快閃存儲器多以一個或多個區(qū)塊(block)作為存取單位。當數(shù) 據(jù)被寫入快閃存儲器后,即可長久儲存于其中。然而,市面上許多的快閃存儲器, 由于其電路結(jié)構(gòu)的限制,若數(shù)據(jù)寫入某一快閃存儲器區(qū)塊后,許久未更新,則經(jīng) 過一段時間,或因為其它區(qū)塊讀/寫造成的耦合效應,其數(shù)據(jù)正確性會受到影響。此外,現(xiàn)今快閃存儲器的儲存數(shù)據(jù)管理方式也有其他缺點。由于其利用相同 的方式管理所有的區(qū)塊,若使用者經(jīng)常使用快閃存儲器的部分容量,將會頻繁存 取快閃存儲器的同一實體區(qū)塊。如此一來,該管理單位的區(qū)塊有可能因使用過于 頻繁,而導致無法繼續(xù)寫入數(shù)據(jù),僅能讀取數(shù)據(jù)。而由于數(shù)據(jù)管理方式的限制, 連帶使得該快閃存儲器的其他部分雖然仍具有可寫入數(shù)據(jù)的功能,但也僅能讀取 數(shù)據(jù),而使該快閃存儲器的使用性降低。因此,如何讓儲存于快閃存儲器中的數(shù)據(jù)能一直保持正確性,并且充分且平 均地使用快閃存儲器的每個區(qū)塊,仍為此領(lǐng)域的業(yè)者值得研究的課題。發(fā)明內(nèi)審本發(fā)明的目的在于提供一種存儲裝置和用于存儲裝置的存取方法,可使儲 存于其快閃存儲器中的數(shù)據(jù)能一直保持正確性,并且充分且平均地使用快閃存儲器的每個區(qū)塊,并延長該存儲裝置的壽命。本發(fā)明提供一種存儲裝置,包含多個數(shù)據(jù)區(qū)塊、多個應用區(qū)塊以及一運 算裝置。該運算裝置用以確認這些數(shù)據(jù)區(qū)塊的一寫入?yún)^(qū)塊需要更新,選取這 些應用區(qū)塊其中之一作為一第一移動區(qū)塊,選取這些數(shù)據(jù)區(qū)塊其中之一作為 一第二移動區(qū)塊,將儲存于該第二移動區(qū)塊的一第一數(shù)據(jù)寫入該第一移動區(qū)塊,以及將與該寫入?yún)^(qū)塊相關(guān)的一第二數(shù)據(jù)寫入該第二移動區(qū)塊。其中,該 第二移動區(qū)塊不為該寫入?yún)^(qū)塊。本發(fā)明還提供一種用于存儲裝置的存取方法。該存儲裝置包含多個數(shù)據(jù)區(qū)塊與多個應用區(qū)塊。該方法包含下列步驟(a)確認這些數(shù)據(jù)區(qū)塊的一寫入?yún)^(qū)塊需要更新;(b)選取這些應用區(qū)塊其中之一作為一第一移動區(qū)塊;(C)選取 這些數(shù)據(jù)區(qū)塊其中之一作為一第二移動區(qū)塊,該第二移動區(qū)塊不為該寫入?yún)^(qū)塊;(d)將儲存于該第二移動區(qū)塊的一第一數(shù)據(jù)寫入該第一移動區(qū)塊;以及(e)將與該寫入?yún)^(qū)塊相關(guān)的一第二數(shù)據(jù)寫入該第二移動區(qū)塊。本發(fā)明的存儲裝置及其存取方法將存儲裝置區(qū)分為多個管理單位。當存 儲裝置所包含的一數(shù)據(jù)區(qū)塊需要更新時,本發(fā)明借此機會移動多個其他區(qū)塊, 將這些要移動的區(qū)塊充電、放電,以保持儲存于內(nèi)的數(shù)據(jù)的精確性。另一方 面,本發(fā)明輪流使用不同管理單位的區(qū)塊,使存儲裝置所包含的區(qū)塊能平均 被使用,進而延長存儲裝置的壽命。在參閱附圖對本發(fā)明的具體實施方式
的描述后,所屬技術(shù)領(lǐng)域具有通常 知識者便可了解本發(fā)明的目的、技術(shù)手段、實施態(tài)樣及技術(shù)效果。
圖1A是描繪第一實施例的存儲裝置;圖1B是描繪邏輯指標及備用指標與數(shù)據(jù)區(qū)塊及應用區(qū)塊的初始對應關(guān)是;圖1C是描繪數(shù)據(jù)移動的示意圖;圖1D是描繪處理完LB2后的指標與區(qū)塊的對應關(guān)系;圖1E是描繪數(shù)據(jù)移動的示意圖;圖1F是描繪處理完LB8后的指標與區(qū)塊的對應關(guān)系;圖2A是描繪第二實施例的存儲裝置;圖2B是描繪邏輯指標及備用指標與數(shù)據(jù)區(qū)塊及應用區(qū)塊的初始對應關(guān)系;圖2C是描繪數(shù)據(jù)移動的示意圖;圖2D是描繪處理完LB4后的指標與區(qū)塊的對應關(guān)系; 圖3A是描繪第三實施例的存儲裝置;圖3B是描繪邏輯指標及備用指標與數(shù)據(jù)區(qū)塊及應用區(qū)塊的初始對應關(guān)系;圖3C是描繪數(shù)據(jù)移動的示意圖;圖3D是描繪處理完LB10后的指標與區(qū)塊的對應關(guān)系;以及 圖4是描繪第四實施例的方法流程圖。具體實H^r式圖1A是是描繪本發(fā)明的的第一實施例,其為一存儲裝置1。此存儲裝置 1包含多個數(shù)據(jù)區(qū)塊PB0 PB999、多個應用區(qū)塊PB1000 PB1023、 一個運算 裝置11以及一存儲區(qū)12。存儲區(qū)12儲存多個邏輯指標LB0 LB999及多個備 用指標BB0 BB23,分別對應至數(shù)據(jù)區(qū)塊PB0 PB999及應用區(qū)塊PB1000 PB1023。這些備用指標BB0 BB23具有一第一順序關(guān)系,以其編號表示;而 這些邏輯指標LB0 LB999具有一第二順序關(guān)系,也以其編號表示。設(shè)定一初始狀態(tài),使邏輯指標LB0 LB999依編號順序依次對應至數(shù)據(jù)區(qū) 塊PB0 PB999。例如,邏輯指標LBO對應至數(shù)據(jù)區(qū)塊PBO、邏輯指標LB1對 應至數(shù)據(jù)區(qū)塊PB1、邏輯指標LB999對應至數(shù)據(jù)區(qū)塊PB999等等。同理,備用 指標BB0 LB23也依編號順序依次對應至應用區(qū)塊PB1000 PB1023。例如, 備用指標BBO對應至應用區(qū)塊PBIOOO、備用指標BB23對應至應用區(qū)塊PB1023 等等。在本實施例中, 一數(shù)據(jù)區(qū)13包含被這些邏輯指標對應的這些數(shù)據(jù)區(qū)塊 PB0 PB999,而一應用區(qū)14則包含被這些備用指標對應的這些應用區(qū)塊 PB1000 PB1023。在本實施例中,根據(jù)本發(fā)明的存儲器管理方式,這些邏輯指標于每次存 取后,會對應至不同的數(shù)據(jù)區(qū)塊,邏輯指標是作為管理數(shù)據(jù)區(qū)塊的指標,例如指出儲存于某一數(shù)據(jù)區(qū)塊中的數(shù)據(jù)與其他數(shù)據(jù)的關(guān)系,或者指出當需要存 取某一數(shù)據(jù)時,實質(zhì)上該存取哪一個區(qū)塊。且這些備用指標于每次存取后也 會對應至不同的應用區(qū)塊。由于指標所指的區(qū)塊隨著不同時刻有所變化,數(shù) 據(jù)區(qū)所包含的數(shù)據(jù)區(qū)塊以及應用區(qū)所包含的應用區(qū)塊也會隨著不同時刻有所 變化。本實施例中具體的存儲器管理方式,將于稍后說明。圖1B是描繪邏輯指標LB0 LB999及備用指標BB0 BB23與數(shù)據(jù)區(qū)塊PB0 PB999及應用區(qū)塊PB1000 PB1023的初始對應圖。同時參考圖1A與圖1B, 將互相對應的指標LB0 LB999、 BB0 BB23及區(qū)塊PB0 PB1023排列于各圖 中相對應的位置。舉例而言,圖1B的邏輯指標LBO即對應至圖1A的數(shù)據(jù)區(qū) 塊PB0;而圖1B的備用指標BB23即對應至圖1A的應用區(qū)塊PB1023。在此要 強調(diào)的是,圖1B所描繪的這些對應關(guān)系的排列,僅為示意圖,便于使用者了 解本實施例,并非這些指標實際于存儲區(qū)12排列的方式。換言之,這些指標 的具體排列方式,并非用來限制本發(fā)明的范圍。存儲器管理方式以下列例子說明,請參考圖1C,假設(shè)有一使用者欲重新 整理邏輯指標LB2所對應的數(shù)據(jù)區(qū)塊,此時運算裝置11首先確認邏輯指標LB2 所對應的為數(shù)據(jù)區(qū)塊PB2,故數(shù)據(jù)區(qū)塊PB2表示為第一寫入?yún)^(qū)塊PB2,代表其 需要更新。接著,運算裝置11會根據(jù)備用指標BB0 BB23的第一順序關(guān)系選 取這些應用區(qū)塊其中之一作為一第一移動區(qū)塊,以及根據(jù)邏輯指標的第二順 序關(guān)系,自這些數(shù)據(jù)區(qū)塊選取不為第一寫入?yún)^(qū)塊PB2的數(shù)據(jù)區(qū)塊作為一第二 移動區(qū)塊。具體而言,第一順序關(guān)系為由備用指標BB0開始排至BB23,因此, 運算裝置11選取備用指標BBO所對應的應用區(qū)塊PB1000做為第一移動區(qū)塊 PBIOOO。同理,第二順序關(guān)系為由邏輯指標LBO開始排至LB999,因此,運算 裝置11選取邏輯指標LBO所對應的數(shù)據(jù)區(qū)塊PBO做為第二移動區(qū)塊PBO。此時,運算裝置11抹消第一移動區(qū)塊PB1000的內(nèi)容,再將儲存于第二 移動區(qū)塊PBO的一第一數(shù)據(jù)寫入第一移動區(qū)塊PBIOOO,數(shù)據(jù)移動的示意圖如 圖1C的箭號101所示。原先對應至PBO的邏輯指標LBO也須一同變動,改而 對應至PBIOOO,以確保LB0所指向的數(shù)據(jù)己經(jīng)被儲存于PB1000之中,如此方 能確保數(shù)據(jù)存取的正確性,同時也例示了備用指標于每次存取后會對應至不 同的應用區(qū)塊的特性。之后,PBO即成為可以利用的數(shù)據(jù)區(qū)塊,故運算裝置ll抹消第二移動區(qū)塊PBO內(nèi)容,再將儲存于第一寫入?yún)^(qū)塊PB2的一第二數(shù)據(jù)寫 入第二移動區(qū)塊PBO,數(shù)據(jù)移動的示意圖如圖1C的箭號102所示。同理,原 先對應至PB2的邏輯指標LB2也須跟著變動,轉(zhuǎn)而對應至PBO,以確保數(shù)據(jù)存 取的正確性。此時,需再將備用指標BBO轉(zhuǎn)而對應至PB2,如此,即完成存儲 裝置1的第一寫入?yún)^(qū)塊PB2的重整。重整后,各指標與各區(qū)塊的對應關(guān)系如 圖1D與圖1C所描繪。要說明的是,存儲裝置1的存儲器管理方式也可設(shè)定 為不需抹消第一移動區(qū)塊PB1000及第二移動區(qū)塊PBO內(nèi)容即可讀寫第一數(shù)據(jù) 及第二數(shù)據(jù)。在接下來的例子中,請參考圖1E,使用者欲將一第四數(shù)據(jù)寫入此存儲裝 置1的邏輯指標LB8所對應的數(shù)據(jù)區(qū)塊。此時,運算裝置11確認邏輯指標LB8 所對應的數(shù)據(jù)區(qū)塊為PB8,故數(shù)據(jù)區(qū)塊PB8表示為一第二寫入?yún)^(qū)塊PB8,代表 其需要更新。此時,運算裝置11依據(jù)第一順序關(guān)系選取這些應用區(qū)塊中的一 區(qū)塊作為一第三移動區(qū)塊。由于先前己選取備用指標BBO所對應的應用區(qū)塊, 故此次選取備用指標BB1所對應的應用區(qū)塊,即PBIOOI,作為第三移動區(qū)塊 PBIOOI。運算裝置11也依據(jù)該第二順序關(guān)系選取這些數(shù)據(jù)區(qū)塊其中的一區(qū)塊 作為一第四移動區(qū)塊。同理,由于先前選取邏輯指標LBO所對應的數(shù)據(jù)區(qū)塊, 故此次選取邏輯指標LB1所對應的數(shù)據(jù)區(qū)塊PB1為第四移動區(qū)塊PB1。接著,運算裝置11抹消第三移動區(qū)塊PB1001的內(nèi)容,再將原儲存于第 四移動區(qū)塊PB1的一第三數(shù)據(jù)寫入第三移動區(qū)塊PBIOOI,數(shù)據(jù)移動的示意圖 如圖1E的箭號103所示。原先對應至PB1的邏輯指標LB1也須一并變更指向 區(qū)塊,轉(zhuǎn)而對應至PBIOOI,確保數(shù)據(jù)存取的正確性。之后,PB1即成為可以 利用的數(shù)據(jù)區(qū)塊,故運算裝置11抹消第四移動區(qū)塊PB1的內(nèi)容,再將與第二 寫入?yún)^(qū)塊PB8相關(guān)的一第四數(shù)據(jù)寫入第四移動區(qū)塊PB1。本實施例中第四數(shù)據(jù) 為使用者欲寫入的的外部數(shù)據(jù),而非儲存于第二寫入?yún)^(qū)塊PB8的數(shù)據(jù),故直 接將第四數(shù)據(jù)寫入第四移動區(qū)塊PB1即可,不需如同先前操作般將原先儲存 于第二寫入?yún)^(qū)塊PB8的數(shù)據(jù)寫入第四移動區(qū)塊PB1。接著,原先對應至數(shù)據(jù)區(qū)塊PB8的邏輯指標LB8仍須一并變更指向區(qū)塊, 轉(zhuǎn)而對應至數(shù)據(jù)區(qū)塊PB1,確保數(shù)據(jù)存取的正確性。同時,原先對應至應用區(qū) 塊PB1001的備用指標BB1,轉(zhuǎn)而對應至PB8。如此,即完成第四數(shù)據(jù)的寫入。經(jīng)由上述的配置,第一實施例欲寫入/更新某一邏輯指標所對應的數(shù)據(jù)區(qū) 塊(即寫入?yún)^(qū)塊)時,會先自當時的數(shù)據(jù)區(qū)及當時的應用區(qū)各選出一選取數(shù)據(jù)區(qū)塊及一選取應用區(qū)塊。接著將選取數(shù)據(jù)區(qū)塊的內(nèi)容寫入選取應用區(qū)塊、再 將與寫入?yún)^(qū)塊相關(guān)的數(shù)據(jù)寫入選取數(shù)據(jù)區(qū)塊。意即先將選取數(shù)據(jù)區(qū)塊的內(nèi)容 搬移到另一選取應用區(qū)塊,而后再將所需數(shù)據(jù)寫入選取數(shù)據(jù)區(qū)塊。由于每個 區(qū)塊被寫入前,皆會先被抹除之前的數(shù)據(jù),以進行充電、放電的動作,因此 儲存于區(qū)塊中的數(shù)據(jù)可通過每一次寫入/更新操作漸次更新,以確保儲存數(shù)據(jù) 的正確性。與先前技術(shù)相較,第一實施例于每一數(shù)據(jù)區(qū)塊寫入/更新時,牽涉 較多區(qū)塊的存取操作。意即進行充電、放電的區(qū)塊也較多,因此可使較多的 區(qū)塊的數(shù)據(jù)通過充電、放電保持正確性。圖2A是描繪本發(fā)明的第二實施例,其也為一存儲裝置2,包含多個區(qū)塊 PB0 PB5119、 一個運算裝置26及一存儲區(qū)27。此存儲裝置2包含五個管理 單位,圖中僅例示三個管理單位21、 22及25以方便說明,每一管理單位皆 包含一數(shù)據(jù)區(qū)及一應用區(qū)。每一數(shù)據(jù)區(qū)包含多個數(shù)據(jù)區(qū)塊,為前述區(qū)塊中的 一部分,且每一應用區(qū)包含多個應用區(qū)塊,也為前述區(qū)塊中的一部分。具體而言,第一管理單位21的數(shù)據(jù)區(qū)211包含數(shù)據(jù)區(qū)塊PB0 PB999,且 其應用區(qū)212包含應用區(qū)塊PB1000 PB1023。第二管理單位22的數(shù)據(jù)區(qū)221 包含數(shù)據(jù)區(qū)塊PB1024 PB2023,且其應用區(qū)222包含應用區(qū)塊PB2024 PB2047。第三管理單位的數(shù)據(jù)區(qū)包含數(shù)據(jù)區(qū)塊PB2048 PB3047,且其應用區(qū) 包含應用區(qū)塊PB3048 PB3071。第四管理單位的數(shù)據(jù)區(qū)包含數(shù)據(jù)區(qū)塊PB3072 PB4071,且其應用區(qū)包含應用區(qū)塊PB4072 PB4095。第五管理單位25的數(shù)據(jù) 區(qū)251包含數(shù)據(jù)區(qū)塊PB4096 PB5095,且其應用區(qū)252包含應用區(qū)塊PB5096 PB5119。存儲區(qū)27儲存多個邏輯指標LB0 LB4999及多個備用指標BB0 BB119。 于初始時,這些邏輯指標LB0 LB4999對應至數(shù)據(jù)區(qū)塊PB0 PB999、 PB1024 PB2023、 PB2048 PB3047、 PB3072 PB4071及PB4096 PB5095。更詳細地說, 邏輯指標依次循環(huán)對應至各管理單位的數(shù)據(jù)區(qū)塊,例如,邏輯指標LB0對應 至第一管理單位的數(shù)據(jù)區(qū)塊PBO、邏輯指標LB1對應至第二管理單位的數(shù)據(jù)區(qū) 塊PB1024、邏輯指標LB2對應至第三管理單位的數(shù)據(jù)區(qū)塊PB2048、邏輯指標LB3對應至第四管理單位的數(shù)據(jù)區(qū)塊PB3072、邏輯指標LB4對應至第五管理 單位的數(shù)據(jù)區(qū)塊PB4096、邏輯指標LB5則又對應至第一管理單位的數(shù)據(jù)區(qū)塊 PB1,以此類推。這些備用指標BB0 BB119對應至應用區(qū)塊PB1000 PB1023、 PB2024 PB2047、 PB3048 PB3071 、 PB4072 PB4095及PB5096 PB5119。更 詳細地說,備用指標BBO對應至第一管理單位的應用區(qū)塊PBIOOO、備用指標 BB1對應至第二管理單位的應用區(qū)塊PB2024、備用指標BB2對應至第三管理 單位的應用區(qū)塊PB3048、備用指標BB3對應至第四管理單位的應用區(qū)塊 PB4072、備用指標BB4對應至第五管理單位的應用區(qū)塊PB5096、備用指標BB5 則又對應至第一管理單位的應用區(qū)塊PBIOOI,以此類推。在本實施例中,這 些備用指標BB0 BB119具有一第一順序關(guān)系,以其編號表示,由小至大排列, 故第一順序關(guān)系為各該管理單位的排序;而這些邏輯指標LB0 LB4999具有 一第二順序關(guān)系,也以其編號表示,由小至大排列,故第二順序關(guān)系為各該 管理單位的排序。圖2B是描繪邏輯指標LB0 LB4999及備用指標BB0 BB119與數(shù)據(jù)區(qū)塊 PB0 PB999、 PB1024 PB2023、 PB2048 PB3047、 PB3072 PB4071及PB4096 PB5095及應用區(qū)塊PB1000 PB1023、 PB2024 PB2047、 PB3048 PB3071 、 PB4072 PB4095及PB5096 PB5119的初始對應圖,可同時參考圖2A以理解 對應關(guān)系。存儲器管理方式以下列例子說明,請參考圖2C,假設(shè)有一使用者欲重整 此存儲裝置2的邏輯指標LB4所對應的數(shù)據(jù)區(qū)塊,此時運算裝置26會確認邏 輯指標LB4所對應的為數(shù)據(jù)區(qū)塊PB4096,故數(shù)據(jù)區(qū)塊PB4096表示為第一寫入 區(qū)塊PB4096,代表其需要更新。接著,運算裝置26會根據(jù)備用指標的第一順 序關(guān)系選取數(shù)據(jù)區(qū)塊PB4096所在的應用區(qū)塊其中之一作為一第一移動區(qū)塊, 以及根據(jù)邏輯指標的第二順序關(guān)系,自數(shù)據(jù)區(qū)塊PB4096所在的數(shù)據(jù)區(qū)塊選取 不為第一寫入?yún)^(qū)塊PB4096的數(shù)據(jù)區(qū)塊作為一第二移動區(qū)塊。具體而言,本實 施例中,運算裝置26選取備用指標BB4所對應的應用區(qū)塊PB5096做為第一 移動區(qū)塊PB5096。同理,第二順序關(guān)系為由邏輯指標LBO開始排至LB4999, 因此,運算裝置26選取邏輯指標LB9所對應的數(shù)據(jù)區(qū)塊PB4097做為第二移 動區(qū)塊PB4097。此時,運算裝置26抹消第一移動區(qū)塊PB5096的內(nèi)容,再將儲存于第二 移動區(qū)塊PB4097的一第一數(shù)據(jù)寫入第一移動區(qū)塊PB5096,數(shù)據(jù)移動的示意圖 如圖2C的箭號201所示。原先對應至PB4097的邏輯指標LB9也須一同變動, 改而對應至PB5096,以確保LB9所指向的數(shù)據(jù)已經(jīng)被儲存于PB5096之中,如 此方能確保數(shù)據(jù)存取的正確性,同時也例示了備用指標于每次存取后會對應 至不同的應用區(qū)塊的特性。之后PB4097即成為可以利用的數(shù)據(jù)區(qū)塊,故運算 裝置26抹消第二移動區(qū)塊PB4097內(nèi)容,再將儲存于第一寫入?yún)^(qū)塊PB4096的 一第二數(shù)據(jù)寫入第二移動區(qū)塊PB4097,數(shù)據(jù)移動的示意圖如圖2C的箭號202 所示。原先對應至PB4096的邏輯指標LB4也須跟著變動,轉(zhuǎn)而對應至PB4097, 如此數(shù)據(jù)存取才會正確。此時,要再將備用指標BB4轉(zhuǎn)而對應至PB4096,如 此,即完成存儲裝置2的第一寫入?yún)^(qū)塊PB4096的重整。重整后,各指標與各 區(qū)塊的對應關(guān)系如圖2D與圖2C所描繪。由上述可知,第二實施例的存儲裝置的數(shù)據(jù)區(qū)塊及應用區(qū)塊被劃分至不 同的管理單位。通過邏輯指標及備用指標的順序,可輪流使用不同管理單位 的數(shù)據(jù)區(qū)塊及應用區(qū)塊,達成更平均使用存儲裝置的目的。本發(fā)明的第三實施例為如圖3A所描繪的存儲裝置3。此存儲裝置3包含 多個區(qū)塊PB0 PB5119、 一運算裝置36及一存儲區(qū)37。此存儲裝置3也包含 五個管理單位,圖中僅例示三個管理單位31、 32及35以方便說明,每一管 理單位皆包含一數(shù)據(jù)區(qū)及一應用區(qū)。每一數(shù)據(jù)區(qū)包含多個數(shù)據(jù)區(qū)塊,為前述 區(qū)塊中的一部分,且每一應用區(qū)包含多個應用區(qū)塊,也為前述區(qū)塊中的一部 分。第一管理單位31的數(shù)據(jù)區(qū)311包含數(shù)據(jù)區(qū)塊PB0 PB999,且其應用區(qū)312 包含應用區(qū)塊PB1000 PB1023。第二管理單位32的數(shù)據(jù)區(qū)321包含數(shù)據(jù)區(qū)塊 PB1024 PB2023,且其應用區(qū)322包含應用區(qū)塊PB2024 PB2047。第三管理 單位的數(shù)據(jù)區(qū)包含數(shù)據(jù)區(qū)塊PB2048 PB3047,且其應用區(qū)包含應用區(qū)塊 PB3048 PB3071。第四管理單位的數(shù)據(jù)區(qū)包含數(shù)據(jù)區(qū)塊PB3072 PB4071 ,且 其應用區(qū)包含應用區(qū)塊PB4072 PB4095。第五管理單位35的數(shù)據(jù)區(qū)351包含 數(shù)據(jù)區(qū)塊PB4096 PB5095,且其應用區(qū)352包含應用區(qū)塊PB5096 PB5119。存儲區(qū)37儲存多個邏輯指標LB0 LB4999及多個備用指標BB0 BB119。于初始時,各邏輯指標及各備用指標與數(shù)據(jù)區(qū)塊的對應關(guān)系如圖3B所描繪。 第三實施例的存儲裝置3與第二實施例存儲裝置2類似,差別在于第三實施 例的存儲裝置3可使用其他管理單位的備用區(qū)塊。存儲器的管理方式以下列例子說明,請參考圖3C。具體而言,若使用者 欲對此存儲裝置3的一邏輯指標LB10所對應的數(shù)據(jù)區(qū)塊寫入數(shù)據(jù),假設(shè)此時 LB10對應的數(shù)據(jù)區(qū)塊PB2所在的第一管理單位已無可用的應用區(qū)塊。為了達 成數(shù)據(jù)存取,第一管理單位可利用其他管理單位的可用應用區(qū)塊。在本實施 例中,第一管理單位31可利用第二管理單位32的應用區(qū)塊。此時,運算裝 置36確認邏輯指標LB10所對應的數(shù)據(jù)區(qū)塊為PB2,故數(shù)據(jù)區(qū)塊PB2表示為一 第一寫入?yún)^(qū)塊PB2,代表其需要更新。接著,再依第一順序選取備用指標BB1 所對應的應用區(qū)塊PB2024為第一移動區(qū)塊PB2024,依第二順序選取LB1所對 應的數(shù)據(jù)區(qū)塊PB1024為第二移動區(qū)塊PB1024。同時運算裝置36會將PB2024 標示為來自第二管理單位的應用區(qū)塊,以便識別。經(jīng)由上述安排,第一寫入?yún)^(qū)塊PB2、第二移動區(qū)塊PB2024及第三移動區(qū) 塊PB1024可不全屬于同一管理單位。接著運算裝置36進行下列動作抹消 第一移動區(qū)塊PB2024的數(shù)據(jù);將第二移動區(qū)塊PB1024的數(shù)據(jù)寫入第一移動 區(qū)塊PB2024,如箭頭301所描繪;將LB1對應至第二移動區(qū)塊PB2024;抹消 第二移動區(qū)塊PB1024的數(shù)據(jù)以及將欲寫入的數(shù)據(jù)寫入第二移動區(qū)塊PB1024, 如箭頭302所描繪;將邏輯指標LB10對應至第二移動區(qū)塊PB1024以及將備 用指標BB1對應至PB2。如此,即完成數(shù)據(jù)的寫入。由上述可知,第三實施例的存儲裝置的數(shù)據(jù)區(qū)塊及應用區(qū)塊被劃分至不 同的管理單位。通過邏輯指標及備用指標的順序,可輪流使用不同管理單位的數(shù)據(jù)區(qū)塊及應用區(qū)塊,達成更平均使用存儲裝置的目的。另一方面,由于 一管理單位在自有的應用區(qū)塊因錯誤或損壞導致無法使用時,可使用其他管理單位的應用區(qū)塊,利用多余位標示該區(qū)塊是來自其他管理單位。故當一管 理單位本身的應用區(qū)塊不可使用時,仍可使用其他管理單位的應用區(qū)塊以進 行存取,因此不會因為某一個應用區(qū)塊不可使用而造成所有的管理單位皆無 法正常存取。圖4是描繪本發(fā)明的第四實施例,其為用于存儲裝置的存取方法流程圖。此存儲裝置包含多個數(shù)據(jù)區(qū)塊與多個應用區(qū)塊。存儲裝置還包含多個管理單 位,這些數(shù)據(jù)區(qū)塊劃分為多個數(shù)據(jù)區(qū),這些應用區(qū)塊劃分為多個應用區(qū),各 該管理單位分別包含一數(shù)據(jù)區(qū)及一應用區(qū)。各該數(shù)據(jù)區(qū)塊分別對應至一邏輯指標,各該應用區(qū)塊分別對應至一備用指標,這些備用指標具有一第一順序 關(guān)系,而這些邏輯指標具有一第二順序關(guān)系。首先,執(zhí)行步驟400以判斷是否有數(shù)據(jù)需要更新/寫入。若否,于一段時 間后再重復執(zhí)行步驟400。若是,則執(zhí)行步驟401以確認這些數(shù)據(jù)區(qū)塊的一第 一寫入?yún)^(qū)塊需要更新。接著,執(zhí)行步驟402以根據(jù)第一順序關(guān)系選取這些應 用區(qū)塊其中之一作為一第一移動區(qū)塊。該方法接著執(zhí)行步驟403,根據(jù)第二順 序而選取這些數(shù)據(jù)區(qū)塊其中之一作為一第二移動區(qū)塊,其中第二移動區(qū)塊不 為第一寫入?yún)^(qū)塊。之后,執(zhí)行步驟404以抹消第一移動區(qū)塊的內(nèi)容,再利用 步驟405以將儲存于第二移動區(qū)塊的一第一數(shù)據(jù)寫入第一移動區(qū)塊。步驟406 中,抹消該第二移動區(qū)塊的內(nèi)容,之后步驟407相應而將與第一寫入?yún)^(qū)塊相 關(guān)的一第二數(shù)據(jù)寫入第二移動區(qū)塊。重復執(zhí)行上述步驟,可判斷是否尚有其 他數(shù)據(jù)需要更新或?qū)懭?。要強調(diào)的是,第四實施例中第一寫入?yún)^(qū)塊、第一移動區(qū)塊以及第二移動 區(qū)塊可限定為在同一管理單位中,也可選擇不需在同一管理單位中。通過邏 輯指標及備用指標的順序,可輪流使用不同管理單位的數(shù)據(jù)區(qū)塊及應用區(qū)塊, 達成更平均使用存儲裝置的目的。除了上述步驟外,第三實施例也能執(zhí)行在第一實施例及第二實施例中所 述的所有操作或功能。所屬技術(shù)領(lǐng)域具有通常知識者可直接了解第三實施例 如何基于上述第一實施例及第二實施例以執(zhí)行這些操作及功能,故不贅述。上述的實施例僅用來例舉本發(fā)明的實施態(tài)樣,以及闡釋本發(fā)明的技術(shù)特 征,并非用來限制本發(fā)明的范疇。任何熟悉此技術(shù)者可輕易完成的改變或均 等性的安排均屬于本發(fā)明所主張的范圍,本發(fā)明的保護范圍應以本申請權(quán)利 要求范圍為準。
權(quán)利要求
1. 一種存儲裝置,包含多個數(shù)據(jù)區(qū)塊;多個應用區(qū)塊;以及一個運算裝置,用以確認這些數(shù)據(jù)區(qū)塊的一第一寫入?yún)^(qū)塊需要更新,選取這些應用區(qū)塊其中之一作為一第一移動區(qū)塊,選取這些數(shù)據(jù)區(qū)塊其中之一作為一第二移動區(qū)塊,將儲存于該第二移動區(qū)塊的一第一數(shù)據(jù)寫入該第一移動區(qū)塊,以及將與該第一寫入?yún)^(qū)塊相關(guān)的一第二數(shù)據(jù)寫入該第二移動區(qū)塊;其中該第二移動區(qū)塊不為該第一寫入?yún)^(qū)塊。
2. 根據(jù)權(quán)利要求1所述的存儲裝置,其特征在于該運算裝置還用以于寫入 該第一移動區(qū)塊前,抹消該第一移動區(qū)塊的內(nèi)容,以及用以于寫入該第二移 動區(qū)塊前,抹消該第二移動區(qū)塊的內(nèi)容。
3. 根據(jù)權(quán)利要求1所述的存儲裝置,其特征在于該第二數(shù)據(jù)是儲存于該第 一寫入?yún)^(qū)塊或接收自外部。
4. 根據(jù)權(quán)利要求1所述的存儲裝置,其特征在于還包含一存儲區(qū),用以儲存多個邏輯指標及多個備用指標,各該數(shù)據(jù)區(qū)塊分別 對應至這些邏輯指標其中之一,各該應用區(qū)塊分別對應至這些備用指標其中 之一,這些備用指標具有一第一順序關(guān)系,這些邏輯指標具有一第二順序關(guān)系;其中,該運算裝置是根據(jù)該第一順序關(guān)系選取該第一移動區(qū)塊,以及根 據(jù)該第二順序而選取該第二移動區(qū)塊。
5. 根據(jù)權(quán)利要求4所述的存儲裝置,其特征在于這些數(shù)據(jù)區(qū)塊劃分為多個 數(shù)據(jù)區(qū),這些應用區(qū)塊劃分為多個應用區(qū),該存儲裝置還包含多個管理單位,各該管理單位包含這些數(shù)據(jù)區(qū)其中之一及這些應用區(qū)其中之一;其中,該第一順序關(guān)系為各該管理單位的排序,該第二順序關(guān)系為各該 管理單位的排序。
6. 根據(jù)權(quán)利要求4所述的存儲裝置,其特征在于該運算裝置還用以確認這些數(shù)據(jù)區(qū)塊的一第二寫入?yún)^(qū)塊需要更新,依據(jù)該第一順序關(guān)系選取這些應用 區(qū)塊其中之一作為一第三移動區(qū)塊,依據(jù)該第二順序關(guān)系選取這些數(shù)據(jù)區(qū)塊 其中之一作為一第四移動區(qū)塊,將儲存于該第四移動區(qū)塊的一第三數(shù)據(jù)寫入 該第三移動區(qū)塊,以及將與該第二寫入?yún)^(qū)塊相關(guān)的一第四數(shù)據(jù)寫入該第四移 動區(qū)塊。
7. 根據(jù)權(quán)利要求6所述的存儲裝置,其特征在于該運算裝置還用以于寫入 該第三移動區(qū)塊前,抹消該第三移動區(qū)塊的內(nèi)容,以及用以于寫入該第四移 動區(qū)塊前,抹消該第四移動區(qū)塊的內(nèi)容。
8. 根據(jù)權(quán)利要求6所述的存儲裝置,其特征在于該第四數(shù)據(jù)是儲存于該第 二寫入?yún)^(qū)塊或接收自外部。
9. 根據(jù)權(quán)利要求6所述的存儲裝置,這些數(shù)據(jù)區(qū)塊劃分為多個數(shù)據(jù)區(qū),這 些應用區(qū)塊劃分為多個應用區(qū),該存儲裝置還包含多個管理單位,各該管理單位包含這些數(shù)據(jù)區(qū)其中之一及這些應用區(qū)其 中之一;其中,該第一寫入?yún)^(qū)塊、該第一移動區(qū)塊、該第二移動區(qū)塊、該第二寫 入?yún)^(qū)塊、該第三移動區(qū)塊及該第四移動區(qū)塊不全屬于同一管理單位。
10. —種用于存儲裝置的存取方法,該存儲裝置包含多個數(shù)據(jù)區(qū)塊與多個應 用區(qū)塊,該方法包含下列步驟(a) 確認這些數(shù)據(jù)區(qū)塊的一第一寫入?yún)^(qū)塊需要更新;(b) 選取這些應用區(qū)塊其中之一作為一第一移動區(qū)塊;(c) 選取這些數(shù)據(jù)區(qū)塊其中之一作為一第二移動區(qū)塊,該第二移動區(qū)塊不 為該第一寫入?yún)^(qū)塊;(d) 將儲存于該第二移動區(qū)塊的一第一數(shù)據(jù)寫入該第一移動區(qū)塊;以及(e) 將與該第一寫入?yún)^(qū)塊相關(guān)的一第二數(shù)據(jù)寫入該第二移動區(qū)塊。
11. 根據(jù)權(quán)利要求IO的方法,其特征在于還包含下列步驟 抹消該第一移動區(qū)塊的內(nèi)容,之后該步驟(d)相應而執(zhí)行;以及 抹消該第二移動區(qū)塊的內(nèi)容,之后該步驟(e)相應而執(zhí)行。
12. 根據(jù)權(quán)利要求IO所述的方法,其特征在于該第二數(shù)據(jù)是儲存于該第一 寫入?yún)^(qū)塊或接收自外部。
13. 根據(jù)權(quán)利要求IO所述的方法,其特征在于各該數(shù)據(jù)區(qū)塊分別對應至一 邏輯指標,各該應用區(qū)塊分別對應至一備用指標,這些備用指標具有一第一 順序關(guān)系,這些邏輯指標具有一第二順序關(guān)系,該步驟(b)是根據(jù)該第一順序 關(guān)系而選取,以及該步驟(c)是根據(jù)該第二順序而選取。
14. 根據(jù)權(quán)利要求13所述的方法,其特征在于該存儲裝置還包含多個管理 單位,這些數(shù)據(jù)區(qū)塊劃分為多個數(shù)據(jù)區(qū),這些應用區(qū)塊劃分為多個應用區(qū), 各該管理單位包含這些數(shù)據(jù)區(qū)其中之一及這些應用區(qū)其中之一,該第一順序 關(guān)系為各該管理單位的排序,該第二順序關(guān)系為各該管理單位的排序。
15. 根據(jù)權(quán)利要求13所述的方法,其特征在于還包含下列步驟(f) 確認這些數(shù)據(jù)區(qū)塊的一第二寫入?yún)^(qū)塊需要更新;(g) 依據(jù)該第一順序關(guān)系選取這些應用區(qū)塊其中之一作為一第三移動區(qū)塊;(h) 依據(jù)該第二順序關(guān)系選取這些數(shù)據(jù)區(qū)塊其中之一作為一第四移動區(qū)塊;(i) 將儲存于該第四移動區(qū)塊的一第三數(shù)據(jù)寫入該第三移動區(qū)塊;以及 (j)將與該第二寫入?yún)^(qū)塊相關(guān)的一第四數(shù)據(jù)寫入該第四移動區(qū)塊。
16. 根據(jù)權(quán)利要求15所述的方法,其特征在于還包含下列步驟 抹消該第三移動區(qū)塊的內(nèi)容,之后該步驟(i)相應而執(zhí)行;以及 抹消該第四移動區(qū)塊的內(nèi)容,之后該步驟(j)相應而執(zhí)行。
17. 根據(jù)權(quán)利要求15所述的方法,其特征在于該第四數(shù)據(jù)是儲存于該第二 寫入?yún)^(qū)塊或接收自外部。
18. 根據(jù)權(quán)利要求15所述的方法,其特征在于該存儲裝置還包含多個管理 單位,這些數(shù)據(jù)區(qū)塊劃分為多個數(shù)據(jù)區(qū),這些應用區(qū)塊劃分為多個應用區(qū), 各該管理單位包含這些數(shù)據(jù)區(qū)其中之一及這些應用區(qū)其中之一,該第一寫入 區(qū)塊、該第一移動區(qū)塊、該第二移動區(qū)塊、該第二寫入?yún)^(qū)塊、該第三移動區(qū) 塊及該第四移動區(qū)塊不全屬于同一管理單位。
全文摘要
一種存儲裝置及一種用于存儲裝置的存取方法。該存儲裝置包含多個數(shù)據(jù)區(qū)塊、多個應用區(qū)塊以及一個運算裝置。該運算裝置用以確認這些數(shù)據(jù)區(qū)塊的一寫入?yún)^(qū)塊需要更新,選取這些應用區(qū)塊其中之一作為一第一移動區(qū)塊,選取這些數(shù)據(jù)區(qū)塊其中之一作為一第二移動區(qū)塊,將儲存于該第二移動區(qū)塊的一第一數(shù)據(jù)寫入該第一移動區(qū)塊,以及將與該寫入?yún)^(qū)塊相關(guān)的一第二數(shù)據(jù)寫入該第二移動區(qū)塊。通過該寫入?yún)^(qū)塊需要更新的操作,移動其他區(qū)塊所儲存的數(shù)據(jù),將這些區(qū)塊的充電、放電,以保持儲存于內(nèi)的數(shù)據(jù)的正確性,并延長該存儲裝置的壽命。
文檔編號G06F12/06GK101246451SQ20071008406
公開日2008年8月20日 申請日期2007年2月14日 優(yōu)先權(quán)日2007年2月14日
發(fā)明者李俊坤, 李建寬, 蕭惟益 申請人:慧榮科技股份有限公司