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

用于閃存的區(qū)塊管理方法、控制器與存儲系統(tǒng)的制作方法

文檔序號:6582479閱讀:170來源:國知局

專利名稱::用于閃存的區(qū)塊管理方法、控制器與存儲系統(tǒng)的制作方法
技術(shù)領(lǐng)域
:本發(fā)明涉及一種用于閃存的區(qū)塊管理方法,且特別涉及一種能夠有效地延長閃存壽命的區(qū)塊管理方法以及使用此方法的閃存控制器與閃存存儲系統(tǒng)。
背景技術(shù)
:數(shù)碼相機、手機與MP3在這幾年來的成長十分迅速,使得消費者對存儲媒體的需求也急速增加。由于閃存(FlashMemory)具有數(shù)據(jù)非揮發(fā)性、省電、體積小與無機械結(jié)構(gòu)等的特性,適合可攜式應(yīng)用,最適合使用于這類可攜式由電池供電的產(chǎn)品上。固態(tài)硬盤(SolidStateDrive,以下簡稱SSD)就是一種以NAND閃存作為存儲媒體的存儲裝置。由于閃存體積小容量大,所以已廣泛用于個人重要數(shù)據(jù)的存儲。因此,近年閃存產(chǎn)業(yè)成為電子產(chǎn)業(yè)中相當熱門的一環(huán)。一般來說,在閃存存儲裝置中閃存晶片的實體區(qū)塊會由閃存存儲裝置的閃存控制器邏輯地分組為系統(tǒng)區(qū)(systemarea)、數(shù)據(jù)區(qū)(dataarea)、備用區(qū)(sparearea)與取代區(qū)(!^placementarea)0系統(tǒng)區(qū)的實體區(qū)塊是用以存儲閃存存儲裝置的相關(guān)重要信息,而取代區(qū)的實體區(qū)塊是用以取代數(shù)據(jù)區(qū)或備用區(qū)中已損壞的實體區(qū)塊(S卩,壞實體區(qū)塊),因此在一般存取狀態(tài)下,主機系統(tǒng)是無法存取系統(tǒng)區(qū)與取代區(qū)中的實體區(qū)塊。至于歸類為數(shù)據(jù)區(qū)的實體區(qū)塊中會存儲由寫入指令所寫入的有效數(shù)據(jù),而備用區(qū)中的實體區(qū)塊是用以在執(zhí)行寫入指令時替換數(shù)據(jù)區(qū)中的實體區(qū)塊。具體來說,當閃存存儲裝置接受到主機系統(tǒng)的寫入指令而欲對數(shù)據(jù)區(qū)的實體區(qū)塊進行寫入時,閃存存儲裝置會從備用區(qū)中提取一實體區(qū)塊并且將在數(shù)據(jù)區(qū)中欲寫入的實體區(qū)塊中的有效舊數(shù)據(jù)與欲寫入的新數(shù)據(jù)寫入至從備用區(qū)中提取的實體區(qū)塊中并且將已寫入新數(shù)據(jù)的實體區(qū)塊邏輯地關(guān)聯(lián)為數(shù)據(jù)區(qū),并且將原本數(shù)據(jù)區(qū)的實體區(qū)塊進行抹除并邏輯地關(guān)聯(lián)為備用區(qū)。為了能夠讓主機系統(tǒng)能夠順利地存取以輪替方式存儲數(shù)據(jù)的實體區(qū)塊,閃存存儲裝置會提供邏輯區(qū)塊給主機系統(tǒng)。也就是說,閃存存儲裝置會通過在邏輯區(qū)塊-實體區(qū)塊映射表(logicalblock-physicalblockmappingtable)中記錄與更新邏輯區(qū)塊與數(shù)據(jù)區(qū)的實體區(qū)塊之間的映射關(guān)系來反映實體區(qū)塊的輪替,所以主機系統(tǒng)僅需要針對所提供邏輯區(qū)塊進行寫入而閃存存儲裝置會依據(jù)邏輯區(qū)塊-實體區(qū)塊映射表對所映射的實體區(qū)塊進行讀取或?qū)懭霐?shù)據(jù)。然而,實體區(qū)塊的抹除次數(shù)是有限的(例如,實體區(qū)塊抹除一萬次后就會損壞)。當實體區(qū)塊被不斷進行程序化與抹除而導致?lián)p毀時,閃存控制器會將損毀的實體區(qū)塊標示為壞實體區(qū)塊而不會再使用,并且從取代區(qū)中提取新的實體區(qū)塊來取代。然而,一旦損毀的實體區(qū)塊數(shù)超過一定數(shù)量而使得實體區(qū)塊的數(shù)目不足以提供主機對上述邏輯區(qū)塊的存取時,此閃存存儲裝置會被宣告為寫入保護(writeprotect)狀態(tài)或無法再使用。基此,如何延長閃存存儲裝置的壽命是此領(lǐng)域技術(shù)人員所致力的目標。
發(fā)明內(nèi)容本發(fā)明提供一種區(qū)塊管理方法,其能夠有效地延長閃存的使用壽命。本發(fā)明提供一種閃存控制器,其所執(zhí)行的區(qū)塊管理方法能夠有效地延長閃存的使用壽命。本發(fā)明提供一種閃存存儲系統(tǒng),其所執(zhí)行的區(qū)塊管理方法能夠有效地延長閃存的使用壽命。本發(fā)明實施例提出一種區(qū)塊管理方法,用于管理一閃存晶片的多個實體區(qū)塊。本區(qū)塊管理方法包括配置多個邏輯地址,將這些邏輯地址映射至多個邏輯區(qū)塊,并且將這些邏輯區(qū)塊映射至上述實體區(qū)塊。本區(qū)塊管理方法也包括配置一邏輯區(qū)塊-實體區(qū)塊映射表以記錄這些邏輯區(qū)塊與這些實體區(qū)塊之間的一映射關(guān)系。此外,本區(qū)塊管理方法還包括從主機系統(tǒng)中獲取至少一刪除記錄,其中此刪除記錄包括關(guān)于這些邏輯地址之中多個已刪除邏輯地址的信息,且存儲于這些已刪除邏輯地址中的數(shù)據(jù)已于主機系統(tǒng)中被刪除。另外,本區(qū)塊管理方法還包括依據(jù)此刪除記錄獲取一已刪除邏輯區(qū)塊并且將映射至此已刪除邏輯區(qū)塊的每一邏輯地址標示為一壞邏輯地址,其中存儲于對應(yīng)此已刪除邏輯區(qū)塊的邏輯地址中的數(shù)據(jù)已于主機系統(tǒng)中被刪除,且主機系統(tǒng)無法存取此壞邏輯地址。本發(fā)明實施例提出一種閃存控制器,用于管理一閃存晶片的多個實體區(qū)塊。本閃存控制器包括微處理器單元、閃存接口單元、主機接口單元與存儲器管理單元。閃存接口單元電性連接至微處理器單元,并且用以電性連接至上述閃存晶片。主機接口單元電性連接至微處理器單元,并且用以連接一主機系統(tǒng)。存儲器管理單元電性連接至微處理器單元,并且用以配置多個邏輯地址。在此,存儲器管理單元將這些邏輯地址映射至多個邏輯區(qū)塊,將這些邏輯區(qū)塊映射至上述實體區(qū)塊,并且配置一邏輯區(qū)塊-實體區(qū)塊映射表以記錄這些邏輯區(qū)塊與這些實體區(qū)塊之間的映射關(guān)系。此外,存儲器管理單元通過主機接口單元從主機系統(tǒng)中獲取至少一刪除記錄,其中此刪除記錄包括關(guān)于多個已刪除邏輯地址的信息,并且存儲于這些已刪除邏輯地址中的數(shù)據(jù)已于主機系統(tǒng)中被刪除。另外,存儲器管理單元依據(jù)此刪除記錄獲取一已刪除邏輯區(qū)塊并且將映射至此已刪除邏輯區(qū)塊的每一該些邏輯地址標示為一壞邏輯地址,其中存儲于對應(yīng)此已刪除邏輯區(qū)塊的邏輯地址中的數(shù)據(jù)已于主機系統(tǒng)中被刪除,并且主機系統(tǒng)無法存取已標記的壞邏輯地址。本范例例提出一種閃存存儲系統(tǒng),其包括閃存晶片、連接器與閃存控制器。閃存晶片具有多個實體區(qū)塊。連接器用以電性連接一主機系統(tǒng)。閃存控制器電性連接至此閃存晶片與連接器,并且用以配置多個邏輯地址。在此,閃存控制器將這些邏輯地址映射至多個邏輯區(qū)塊,將這些邏輯區(qū)塊映射至上述實體區(qū)塊,并且配置一邏輯區(qū)塊-實體區(qū)塊映射表以記錄這些邏輯區(qū)塊與這些實體區(qū)塊之間的一映射關(guān)系。此外,閃存控制器通過連接器從主機系統(tǒng)中獲取至少一刪除記錄,其中此刪除記錄包括關(guān)于多個已刪除邏輯地址的信息,并且存儲于這些已刪除邏輯地址中的數(shù)據(jù)已于主機系統(tǒng)中被刪除。另外,閃存控制器依據(jù)此刪除記錄獲取一已刪除邏輯區(qū)塊并且將映射至此已刪除邏輯區(qū)塊的每一邏輯地址標示為一壞邏輯地址,其中存儲于對應(yīng)此已刪除邏輯區(qū)塊的邏輯地址中的數(shù)據(jù)已于主機系統(tǒng)中被刪除,并且主機系統(tǒng)無法存取已標記的壞邏輯地址。本實施例提出一種區(qū)塊管理方法,用于管理閃存晶片的多個實體區(qū)塊。本區(qū)塊管理方法包括配置多個邏輯地址,以及將實體區(qū)塊至少分組為一數(shù)據(jù)區(qū)與一備用區(qū),其中該備用區(qū)中的實體區(qū)塊是用以于執(zhí)行主機寫入指令時替換該數(shù)據(jù)區(qū)中的實體區(qū)塊,且每一邏輯地址映射至數(shù)據(jù)區(qū)的實體區(qū)塊的其中之一。本區(qū)塊管理方法也包括將映射至數(shù)據(jù)區(qū)的至少一邏輯地址標示為至少一壞邏輯地址,并將此壞邏輯地址所映射至的實體區(qū)塊關(guān)聯(lián)為備用區(qū)?;谏鲜?,本發(fā)明實施例能夠有效地延長閃存的使用壽命。為讓本發(fā)明的上述特征和優(yōu)點能更明顯易懂,下文特舉實施例,并配合附圖作詳細說明如下。圖IA為本發(fā)明第一實施例所繪示的使用閃存存儲裝置的主機系統(tǒng)。圖IB為本發(fā)明實施例所繪示的電腦、輸入/輸出裝置與閃存存儲裝置的示意圖。圖IC為本發(fā)明另一實施例所繪示的主機系統(tǒng)與閃存存儲裝置的示意圖。圖ID為繪示圖IA所示閃存存儲裝置的概要方塊圖。圖2為本發(fā)明另一實施例所繪示的閃存控制器的概要方塊圖。圖3A為本發(fā)明第一實施例所繪示的閃存晶片的方塊圖。圖;3B為本發(fā)明第一實施例所繪示的記錄邏輯區(qū)塊與實體區(qū)塊之間的映射關(guān)系的運作示意圖。圖4A與圖4B為本發(fā)明第一實施例所繪示的更改壞邏輯區(qū)塊的映射關(guān)系的區(qū)塊整理。圖5為本發(fā)明第一實施例所繪示的區(qū)塊管理方法的流程圖。圖6為本發(fā)明第二實施例所繪示的記錄邏輯區(qū)塊與實體區(qū)塊之間的映射關(guān)系的運作示意圖。圖7A與圖7B為本發(fā)明第二實施例所繪示的重新映射邏輯地址與更改壞邏輯區(qū)塊的映射關(guān)系的區(qū)塊整理實施例。圖8為本發(fā)明第二實施例所繪示的區(qū)塊管理方法的流程圖,主要元件符號說明1000主機系統(tǒng)1102微處理器1106:輸入/輸出裝置1110:數(shù)據(jù)傳輸接口1204鍵盤1208打印機1214記憶卡1310數(shù)碼相機1314=MMC卡1318記憶棒100:閃存存儲裝置104:閃存控制器122-(0)122(N)實體區(qū)塊204存儲器管理單元208閃存接口單元1100電腦1104隨機存取存儲器1108系統(tǒng)總線1202鼠標1206顯示器1212隨身碟1216固態(tài)硬盤1312=SD卡1316=CF卡1320嵌入式MMC102連接器106閃存晶片202微處理器單元206主機接口單元240第一轉(zhuǎn)換層242運算單元260邏輯區(qū)塊-實體區(qū)塊映射表294電源管理單元302系統(tǒng)區(qū)306:備用區(qū)350-(0)350-(H)邏輯區(qū)塊602邏輯地址-邏輯區(qū)塊映射表S801、S803、S805、S807、S809250第二轉(zhuǎn)換層292錯誤校正單元296緩沖存儲器304數(shù)據(jù)區(qū)308取代區(qū)360-(0)~360-(K)邏輯地址S501、S503、S505、S507、S509、S511區(qū)塊管理步驟S811、S813、S815、區(qū)塊管理步驟具體實施例方式閃存存儲裝置一般而言包括閃存晶片與控制器(還稱,控制電路)。通常閃存存儲裝置會與主機系統(tǒng)一起使用,以使主機系統(tǒng)可將數(shù)據(jù)寫入至閃存存儲裝置或從閃存存儲裝置中讀取數(shù)據(jù)。另外,還有閃存存儲裝置是包括嵌入式閃存與可執(zhí)行于主機系統(tǒng)上以實質(zhì)地作為此嵌入式閃存的控制器的軟件。第一實施例圖IA為本發(fā)明第一實施例所繪示的使用閃存存儲裝置的主機系統(tǒng)。請參照圖1A,主機系統(tǒng)1000包括電腦1100與輸入/輸出anput/Output,以下簡稱1/0)裝置1106。電腦1100包括微處理器1102、隨機存取存儲器(randomaccessmemory,以下簡稱RAM)1104、系統(tǒng)總線1108以及數(shù)據(jù)傳輸接口1110。圖IB為本發(fā)明實施例所繪示的電腦、輸入/輸出裝置與閃存存儲裝置的示意圖,輸入/輸出裝置1106包括如圖IB所示的鼠標1202、鍵盤1204、顯示器1206與打印機1208。必須了解的是,圖IB所示的裝置非限制輸入/輸出裝置1106,輸入/輸出裝置1106可還包括其他裝置。在本發(fā)明實施例中,閃存存儲裝置100是通過數(shù)據(jù)傳輸接口1110與主機系統(tǒng)1000的其他元件電性連接。通過微處理器1102、隨機存取存儲器1104與輸入/輸出裝置1106的處理,主機系統(tǒng)1000可將數(shù)據(jù)寫入至閃存存儲裝置100或從閃存存儲裝置100中讀取數(shù)據(jù)。圖IC為本發(fā)明另一實施例所繪示的主機系統(tǒng)與閃存存儲裝置的示意圖。例如,閃存存儲裝置100可以是如圖IB所示的隨身碟1212、記憶卡1214或固態(tài)硬盤(SolidStateDrive,以下簡稱:SSD)1216?!愣裕鳈C系統(tǒng)1000為可存儲數(shù)據(jù)的任意系統(tǒng)。雖然在本實施例中,主機系統(tǒng)1000是以電腦系統(tǒng)來作說明,然而,在本發(fā)明另一實施例中,主機系統(tǒng)1000還可以是數(shù)碼相機、攝影機、通信裝置、音樂播放器或視頻播放器等系統(tǒng)。例如,在主機系統(tǒng)1000為數(shù)碼相機1310時,閃存存儲裝置100則為其所使用的SD卡1312、MMC卡1314、CF卡1316或記憶棒(memorystick)1318(如圖IC所示),或者還可為配置于數(shù)碼相機1310內(nèi)的嵌入式MMC(EmbededMMC,eMMC)1320。圖ID為繪示圖IA所示的閃存存儲裝置100的概要方塊圖。請參照圖1D,閃存存儲裝置100包括連接器102、閃存控制器104與閃存晶片106。連接器102是電性連接至閃存控制器104并且用以電性連接至主機系統(tǒng)1000。在本實施例中,連接器102為串行高級技術(shù)附件(SerialAdvancedTechnologyAttachment,以下簡稱SATA)連接器。然而,必須了解的是本發(fā)明不限于此,連接器102還可以是平行先進附件(ParallelAdvancedTechnologyAttachment,以下簡稱PATA)、通用序列總線(UniversalSerialBus,以下簡稱USB)連接器、電氣和電子工程師協(xié)會(InstituteofElectricalandElectronicEngineers,以下簡稱IEEE)1394連接器、高速周邊零件連接接口(PeripheralComponentInterconnectExpress,以下簡禾爾PCIExpress)連接器、安全數(shù)碼(securedigital,以下簡稱=SD)接口連接器、記憶棒(MemorySick,以下簡稱MS)接口連接器、多媒體存儲卡(MultiMediaCard,以下簡稱MMC)接口連接器、小型快閃(CompactFlash,以下簡稱CF)接口連接器、整合式驅(qū)動電子接口QntegratedDeviceElectronics,以下簡稱IDE)連接器或其他適合的連接器。閃存控制器104會執(zhí)行以硬件型式或固件型式實作的多個邏輯閘或控制指令,并且根據(jù)主機系統(tǒng)1000的指令在閃存晶片106中進行數(shù)據(jù)的寫入、讀取與抹除等運作。閃存控制器104包括微處理器單元202、存儲器管理單元204、主機接口單元206與閃存接口單元208。微處理器單元202為閃存控制器104的主控單元,用以與存儲器管理單元204、主機接口單元206與閃存接口單元208等協(xié)同合作以進行閃存存儲裝置100的各種運作。存儲器管理單元204是電性連接至微處理器單元202,用以執(zhí)行根據(jù)本實施例的數(shù)據(jù)讀取機制與區(qū)塊管理機制,存儲器管理單元204的運作將于以下配合圖式作詳細說明。在本實施例中,存儲器管理單元204是以一固件型式實作在閃存控制器104中。例如,將包括多個控制指令的存儲器管理單元204刻錄至一程序存儲器(例如,只讀存儲器(ReadOnlyMemory,以下簡稱ROM))中并且將此程序存儲器嵌入在閃存控制器104中,當閃存存儲裝置100運作時,存儲器管理單元204的多個控制指令會由微處理器單元202來執(zhí)行以完成根據(jù)本發(fā)明實施例的數(shù)據(jù)讀取機制與區(qū)塊管理機制。在本發(fā)明另一實施例中,存儲器管理單元204的控制指令還可以程序碼型式存儲于閃存晶片106的特定區(qū)域(例如,閃存晶片中專用于存放系統(tǒng)數(shù)據(jù)的系統(tǒng)區(qū))中。同樣的,當閃存存儲裝置100運作時,存儲器管理單元204的多個控制指令會由微處理器單元202來執(zhí)行。此外,在本發(fā)明另一實施例中,存儲器管理單元204還可以一硬件型式實作在閃存控制器104中。主機接口單元206是電性連接至微處理器單元202并且用以接收與識別主機系統(tǒng)1000所傳送的指令與數(shù)據(jù)。也就是說,主機系統(tǒng)1000所傳送的指令與數(shù)據(jù)會通過主機接口單元206來傳送至微處理器單元202。在本實施例中,主機接口單元206可支援全速命令隊列(NativeCommandQueuing;以下簡稱NCQ)協(xié)定且對應(yīng)連接器102為SATA接口。然而,必須了解的是本發(fā)明不限于此,主機接口單元206還可以是PATA接口、USB接口、IEEE1394接口、PCIExpress接口、SD接口、MS接口、MMC接口、CF接口、IDE接口或其他適合的數(shù)據(jù)傳輸接口。閃存接口單元208是電性連接至微處理器單元202并且用以存取閃存晶片106。也就是說,欲寫入至閃存晶片106的數(shù)據(jù)會經(jīng)由閃存接口單元208轉(zhuǎn)換為閃存晶片106所能接受的格式。在本發(fā)明另一實施例中,閃存控制器還可還包括其他功能模組。圖2為本發(fā)明另一實施例所繪示的閃存控制器的概要方塊圖。請參照圖2,除了微處理器單元202、存儲器管理單元204、主機接口單元206與閃存接口單元208之外,閃存控制器104還包括錯誤校正單元四2、電源管理單元294與緩沖存儲器四6。錯誤校正單元292是電性連接至微處理器單元202并且用以執(zhí)行一錯誤校正程序以確保數(shù)據(jù)的正確性。具體來說,當存儲器管理單元204從主機系統(tǒng)1000中接收到主機寫入指令時,錯誤校正單元292會為對應(yīng)此主機寫入指令的寫入數(shù)據(jù)產(chǎn)生對應(yīng)的錯誤檢查與校正碼(ErrorCheckingandCorrectingCode,以下簡稱ECCCode),并且存儲器管理單元204會將此寫入數(shù)據(jù)與對應(yīng)的錯誤校正碼寫入至閃存晶片106中。而,當存儲器管理單元204從主機系統(tǒng)1000中接收到主機讀取指令時,存儲器管理單元204會從閃存晶片106中讀取對應(yīng)此主機讀取指令的數(shù)據(jù)及其錯誤校正碼,并且錯誤校正單元292會依據(jù)此錯誤校正碼對所讀取的數(shù)據(jù)執(zhí)行錯誤校正。電源管理單元294是電性連接至微處理器單元202并且用以控制閃存存儲裝置100的電源。緩沖存儲器296是電性連接至微處理器單元202并且用以暫存來自于主機系統(tǒng)1000的數(shù)據(jù)與指令或來自于閃存晶片106的數(shù)據(jù)。閃存晶片106是電性連接至閃存控制器104并且用以存儲數(shù)據(jù)。閃存晶片106具有實體區(qū)塊122-(0)122-(N)。實體區(qū)塊為抹除的最小單位。還即,每一實體區(qū)塊含有最小數(shù)目之一并被抹除的記憶胞。每一實體區(qū)塊具有數(shù)個實體頁面(page)。在本實施例中,實體頁面為程序化的最小單元。換言之,實體頁面為寫入數(shù)據(jù)或讀取數(shù)據(jù)的最小單元。每一實體頁面通常包括使用者數(shù)據(jù)區(qū)與冗余區(qū)。使用者數(shù)據(jù)區(qū)用以存儲使用者的數(shù)據(jù),而冗余區(qū)用以存儲系統(tǒng)的數(shù)據(jù)(例如,錯誤檢查與校正碼)。在本范例實施例中,閃存晶片106為多層記憶胞(MultiLevelCell,MLC)NAND閃存模組。然而,本發(fā)明不限于此,閃存晶片106還可是單層記憶胞(SingleLevelCell,SLC)NAND閃存模組。圖3A為本發(fā)明第一實施例所繪示的閃存晶片的方塊圖。請參照圖3A,閃存晶片106的記憶胞僅能從“1”程序化為“0”,因此要更新實體區(qū)塊內(nèi)的數(shù)據(jù)時必須先抹除實體區(qū)塊內(nèi)的數(shù)據(jù)。然而,閃存的寫入是以頁面為單位,而抹除是以實體區(qū)塊為單位,所以在本實施例中,實體區(qū)塊會以輪替方式來存儲數(shù)據(jù)。具體來說,存儲器管理單元204會將實體區(qū)塊122-(0)122-(N)邏輯地分組為系統(tǒng)區(qū)(systemarea)302、數(shù)據(jù)區(qū)(dataarea)304、備用區(qū)(sparearea)306與取代區(qū)(replacementarea)308,其中分組為系統(tǒng)區(qū)302的實體區(qū)塊是用以存儲閃存存儲裝置的相關(guān)重要信息,而分組為取代區(qū)308的實體區(qū)塊是用以取代數(shù)據(jù)區(qū)304或備用區(qū)306中的壞實體區(qū)塊,因此在一般存取狀態(tài)下,主機系統(tǒng)1000是無法存取系統(tǒng)區(qū)302與取代區(qū)308中的實體區(qū)塊。至于分組為數(shù)據(jù)區(qū)304的實體區(qū)塊會存儲由主機寫入指令所寫入的數(shù)據(jù),而備用區(qū)306中的實體區(qū)塊是用以在執(zhí)行主機寫入指令時替換數(shù)據(jù)區(qū)304中的實體區(qū)塊。例如,當閃存存儲裝置100接收到主機系統(tǒng)1000的主機寫入指令而欲更新(或?qū)懭?數(shù)據(jù)至數(shù)據(jù)區(qū)304中某一實體區(qū)塊的某一頁面時,存儲器管理單元204會從備用區(qū)306中提取一實體區(qū)塊并且將欲被更新的實體區(qū)塊中的有效舊數(shù)據(jù)與欲寫入的新數(shù)據(jù)寫入至從備用區(qū)306中提取的實體區(qū)塊的頁面中,并且將已寫入有效舊數(shù)據(jù)與新數(shù)據(jù)的實體區(qū)塊邏輯地關(guān)聯(lián)為數(shù)據(jù)區(qū)304,并且將數(shù)據(jù)區(qū)304中欲被更新的實體區(qū)塊進行抹除并邏輯地關(guān)聯(lián)為備用區(qū)306。為了能夠讓主機系統(tǒng)1000能夠順利地存取以輪替方式存儲數(shù)據(jù)的實體區(qū)塊,閃存存儲裝置100會配置多個邏輯地址及其映射的邏輯區(qū)塊以供主機系統(tǒng)1000存取,并且記錄邏輯區(qū)塊與實體區(qū)塊之間的映射關(guān)系。也就是說,在此描述閃存實體區(qū)塊的運作時,以“提取”、“交換”、“替換”、“輪替”、“分組”、“關(guān)聯(lián)”等詞來操作閃存模組的實體區(qū)塊是邏輯上的概念,閃存的實體區(qū)塊的實際位置并未更動,而是通過更新邏輯區(qū)塊與實體區(qū)塊之間的映射關(guān)系來反映對實體區(qū)塊的操作。圖;3B為本發(fā)明第一實施例所繪示的記錄邏輯區(qū)塊與實體區(qū)塊之間的映射關(guān)系的運作示意圖。請參照圖3B,閃存控制器104會配置多個邏輯地址360-(0)360-(K),并且提供第一轉(zhuǎn)換層240與第二轉(zhuǎn)換層250來將邏輯地址360-(0)360-(K)映射至邏輯區(qū)塊350-(0)350-(H),并將邏輯區(qū)塊350-(0)350_(H)映射至閃存晶片106的實體區(qū)塊122-(0)122-(N),其中這些邏輯地址360-(0)360-(K)是對應(yīng)主機系統(tǒng)1000的存取單位(例如,扇區(qū))。第一轉(zhuǎn)換層240配置有運算單元對2,其用以將邏輯地址360-(0)360-(K)映射至邏輯區(qū)塊350-(0)350-(H)。例如,運算單元242為一余數(shù)運算器,并且存儲器管理單元204將邏輯地址的編號進行一余數(shù)運算,由此依據(jù)所計算的余數(shù)來將邏輯地址映射至邏輯區(qū)塊,其中每一邏輯地址是映射邏輯區(qū)塊350-(0)350-(H)的其中之一。第二轉(zhuǎn)換層250具有邏輯區(qū)塊-實體區(qū)塊映射表(logicalblock-physicalblockmappingtable)260,其用以記錄邏輯區(qū)塊所映射的實體區(qū)塊。具體來說,每一邏輯區(qū)塊350-(0)350_(H)會包括多個邏輯頁面,且每一邏輯頁面是由數(shù)個邏輯地址所組成,因此當主機系統(tǒng)1000在邏輯地址360-(0)360-(K)中存取數(shù)據(jù)時,閃存控制器104就可依據(jù)所存取的邏輯地址所屬的邏輯區(qū)塊來在實體區(qū)塊中實際地讀取或?qū)懭霐?shù)據(jù)。例如,假設(shè)邏輯地址360-(0)是映射邏輯區(qū)塊350-(0)并且邏輯區(qū)塊350-(0)是映射實體區(qū)塊122-(0)的例子中,當主機系統(tǒng)1000在邏輯地址360-(0)中存取數(shù)據(jù)時,存儲器管理單元204會經(jīng)由第一轉(zhuǎn)換層240計算出所存取的邏輯地址360-(0)所映射的邏輯區(qū)塊350-(0),并且第二轉(zhuǎn)換層250的依據(jù)邏輯區(qū)塊-實體區(qū)塊映射表260來在所映射的實體區(qū)塊122-(0)中實際地存取數(shù)據(jù)。此外,值得一提的是,邏輯區(qū)塊-實體區(qū)塊映射表260會被存儲于閃存晶片106中(例如,系統(tǒng)區(qū)302中),并且在閃存存儲裝置100運作期間,邏輯區(qū)塊-實體區(qū)塊映射表沈0會被載入至緩沖存儲器296中以使得存儲器管理單元204能夠讀取與更新邏輯區(qū)塊-實體區(qū)塊映射表260。然而,在緩沖存儲器四6的存儲空間較小的例子中,緩沖存儲器296可能無法暫存記錄所有邏輯區(qū)塊的映射關(guān)系的邏輯區(qū)塊-實體區(qū)塊映射表260。因此,在本發(fā)明另一實施例中,存儲器管理單元204會將邏輯區(qū)塊350-(0)350-(H)分組為多個邏輯區(qū)域(logicalzone),并且為每一邏輯區(qū)域獨立地配置一邏輯區(qū)塊-實體區(qū)塊映射表沈0。也就是說,每一邏輯區(qū)塊會屬于其中一個邏輯區(qū)域,并且存儲器管理單元204將邏輯區(qū)塊的映射關(guān)系分別地記錄在其所屬的邏輯區(qū)域的邏輯區(qū)塊-實體區(qū)塊映射表260中。基此,當主機系統(tǒng)1000欲存取某一邏輯區(qū)塊時,存儲器管理單元204會依據(jù)欲存取的邏輯區(qū)塊所屬的邏輯區(qū)域來從閃存晶片106中載入對應(yīng)的邏輯區(qū)塊-實體區(qū)塊映射表260至緩沖存儲器四6,并且依據(jù)對應(yīng)的邏輯區(qū)塊-實體區(qū)塊映射表260來進行數(shù)據(jù)的存取。之后,當需存取另一邏輯區(qū)域的邏輯區(qū)塊時,存儲器管理單元204會將目前使用的邏輯區(qū)塊-實體區(qū)塊映射表沈0回存至閃存晶片106中并載入對應(yīng)的另一邏輯區(qū)塊-實體區(qū)塊映射表260至緩沖存儲器四6。基此,可避免緩沖存儲器296無法存儲所有邏輯區(qū)塊的映射關(guān)系的問題。如上所述,當閃存控制器104執(zhí)行來自于主機系統(tǒng)1000的主機寫入指令時,存儲器管理單元204是以輪替方式來使用數(shù)據(jù)區(qū)304與備用區(qū)306的實體區(qū)塊。特別是,在本實施例中,當備用區(qū)306中的實體區(qū)塊都已成為壞實體區(qū)塊或無法正常使用(例如,所存儲的數(shù)據(jù)具有錯誤檢查和糾正(ErrorCheckingandCorrecting;以下簡稱ECC)錯誤或曾發(fā)生程序化錯誤(programfail)),并且取代區(qū)308中還無可正常使用的實體區(qū)塊時,或者當閃存晶片106中的壞實體區(qū)塊的數(shù)目已達一門檻值(例如,此門檻值為原本屬于備用區(qū)306的實體區(qū)塊的數(shù)目的80%)時,存儲器管理單元204會執(zhí)行區(qū)塊整理機制,以整理出主機系統(tǒng)1000“未使用”或“仍可正常使用”的邏輯區(qū)塊所映射的實體區(qū)塊來作為備用區(qū)306的實體區(qū)塊。例如,在主機系統(tǒng)1000的操作系統(tǒng)的檔案管理機制中操作系統(tǒng)是通過檔案配置表來管理存儲于存儲裝置中的數(shù)據(jù),其中,在操作系統(tǒng)執(zhí)行數(shù)據(jù)的刪除運作的例子中,操作系統(tǒng)僅會于檔案配置表中注記欲刪除的邏輯地址中的數(shù)據(jù)已為無效,即完成刪除數(shù)據(jù)的運作,而不會實際地將所存儲的數(shù)據(jù)進行刪除。之后,當操作系統(tǒng)欲在這些邏輯地址中寫入數(shù)據(jù)時,操作系統(tǒng)會將數(shù)據(jù)直接寫入。值得一提的是,在主機系統(tǒng)1000的操作系統(tǒng)執(zhí)行刪除運作時,主機系統(tǒng)1000的操作系統(tǒng)會傳送刪除記錄,以告知閃存控制器104哪些邏輯地址中的數(shù)據(jù)已被刪除(即,對于主機系統(tǒng)1000來說,哪些邏輯地址為已刪除邏輯地址),基此,存儲器管理單元204會依據(jù)此刪除記錄來整理邏輯區(qū)塊。例如,在本實施例中,主機系統(tǒng)1000的操作系統(tǒng)為微軟視窗操作系統(tǒng),并且微軟視窗操作系統(tǒng)是通過整理(trim)指令來傳送刪除記錄,而主機接口單元206與存儲器管理單元204可支援與識別此整理指令。值得一提的是,本發(fā)明不限于此,任何可傳送刪除記錄的指令都可應(yīng)用于本發(fā)明。特別是,在本實施例中,當備用區(qū)306中的實體區(qū)塊都成為壞實體區(qū)塊或無法正常使用,并且取代區(qū)308中還無正常的實體區(qū)塊時,存儲器管理單元204會依據(jù)所接收的整理指令內(nèi)的刪除記錄來整理出哪個邏輯區(qū)塊內(nèi)的邏輯地址中的數(shù)據(jù)都已被主機系統(tǒng)1000刪除,并且將至少部份此邏輯區(qū)塊標記為壞邏輯區(qū)塊,以禁止主機系統(tǒng)1000再使用。例如,存儲器管理單元204可直接修改上述檔案配置表中的信息,以將此邏輯區(qū)塊標示為壞邏輯區(qū)塊,或者,存儲器管理單元204還可于主機系統(tǒng)1000欲寫入數(shù)據(jù)至此邏輯區(qū)塊時告知主機系統(tǒng)1000的操作系統(tǒng)此邏輯區(qū)塊為壞邏輯區(qū)塊,并由主機系統(tǒng)1000的操作系統(tǒng)來修改檔案配置表。此外,存儲器管理單元204會更新邏輯區(qū)塊-實體區(qū)塊映射表沈0,將此壞邏輯區(qū)塊所映射的實體區(qū)塊邏輯地關(guān)聯(lián)為備用區(qū)306,并且此壞邏輯區(qū)塊將不再映射任何實體區(qū)塊。圖4A與圖4B為本發(fā)明第一實施例所繪示的更改壞邏輯區(qū)塊的映射關(guān)系的區(qū)塊整理。請參照圖4A,在實施例中,邏輯區(qū)塊350-(0)是映射實體區(qū)塊122-(S+1),邏輯區(qū)塊350-(1)是映射實體區(qū)塊122-(S+2),且邏輯區(qū)塊350-(H)是映射實體區(qū)塊122-(D)。盡12管在圖4A中未繪示其他邏輯區(qū)塊的映射關(guān)系,但必須了解的是,其他邏輯區(qū)塊還是類似地映射實體區(qū)塊。在此,假設(shè)主機系統(tǒng)1000已刪除存儲于邏輯區(qū)塊350-(0)的所有邏輯地址的數(shù)據(jù),即僅于檔案配置表中注記邏輯區(qū)塊350-(0)中的數(shù)據(jù)已為無效,而未實際地將所存儲于實體區(qū)塊122-(S+1)的數(shù)據(jù)刪除。此時,倘若實體區(qū)塊122-Φ+1)已成為壞實體區(qū)塊而無法再存儲數(shù)據(jù),且在取代區(qū)308中已無正常的實體區(qū)塊可用于取代實體區(qū)塊122-(D+1)時,如圖4B所示,存儲器管理單元204會依據(jù)所接收的刪除記錄將邏輯區(qū)塊350-(0)識別為已刪除邏輯區(qū)塊并且將其標示壞邏輯區(qū)塊。此外,存儲器管理單元204會在邏輯區(qū)塊-實體區(qū)塊映射表260中將此已刪除邏輯區(qū)塊(即,邏輯區(qū)塊350-(0))所映射的實體區(qū)塊(即,實體區(qū)塊122-(S+1))中的數(shù)據(jù)刪除并關(guān)聯(lián)為備用區(qū)。也就是說,實體區(qū)塊122-(S+1)會被用作為備用區(qū)306的實體區(qū)塊,以在存儲器管理單元204執(zhí)行主機系統(tǒng)指令時用于輪替數(shù)據(jù)區(qū)304的實體區(qū)塊。因此,備用區(qū)306的實體區(qū)塊的數(shù)目仍會被維持,且存儲器管理單元204能夠完成以上述輪替方式所進行的數(shù)據(jù)寫入運作,由此,可有效地延長閃存存儲裝置100的壽命。圖5為本發(fā)明第一實施例所繪示的區(qū)塊管理方法的流程圖。請參照圖5,當發(fā)生實體區(qū)塊損壞時,首先,在步驟S501中閃存控制器104的存儲器管理單元204會判斷取代區(qū)308中是否存有正常的實體區(qū)塊。倘若取代區(qū)308中存有正常的實體區(qū)塊時,則在步驟S503中存儲器管理單元204會以取代區(qū)308中正常的實體區(qū)塊來取代已損壞的實體區(qū)塊并更新邏輯區(qū)塊-實體區(qū)塊映射表沈0。在步驟S503之后,圖5的流程會被結(jié)束。值得一提的是,在本實施例中是以取代區(qū)308中是否存有正常的實體區(qū)塊來決定是否來取代損壞的實體區(qū)塊,然而,本發(fā)明不限于此,在本發(fā)明另一實施例中,還可以判斷取代區(qū)308中的正常實體區(qū)塊的數(shù)目是否低于一門檻值來替換步驟S501,其中當取代區(qū)308中的正常的實體區(qū)塊的數(shù)目不低于一門檻值當則執(zhí)行步驟S503,反之則執(zhí)行下述步驟S505。倘若在步驟S501中判斷取代區(qū)308中無存有正常的實體區(qū)塊時,則在步驟S505中存儲器管理單元204會依據(jù)來自于主機系統(tǒng)1000的刪除記錄判斷是否邏輯區(qū)塊之中存有已被刪除邏輯區(qū)塊(例如,圖4B中的邏輯區(qū)塊350-(0))。倘若邏輯區(qū)塊之中存有已被刪除邏輯區(qū)塊時,則在步驟S507中將已被刪除邏輯區(qū)塊標記為壞邏輯區(qū)塊,并且在步驟S509中將已被刪除邏輯區(qū)塊所映射的實體區(qū)塊邏輯地關(guān)聯(lián)為備用區(qū)306,并且更新邏輯區(qū)塊-實體區(qū)塊映射表沈0,其中此已被刪除邏輯區(qū)塊將不再映射任何實體區(qū)塊。在步驟S509之后,圖5的流程會被結(jié)束。倘若邏輯區(qū)塊之中無存有已被刪除邏輯區(qū)塊時,則在步驟S511中存儲器管理單元204會向主機系統(tǒng)1000宣告閃存存儲裝置100為寫入保護(writeprotect)狀態(tài),并且圖5的流程會被結(jié)束。第二實施例本發(fā)明第二實施例的閃存存儲裝置與主機系統(tǒng)本質(zhì)上是相同于第一實施例的的閃存存儲裝置與主機系統(tǒng),其中差異在于第二實施例的存儲器管理單元會將邏輯地址重新映射至邏輯區(qū)塊,以將多個已刪除邏輯地址集中至同一邏輯區(qū)塊中。以下將使用第一實施例的圖1A、圖ID與圖3A來描述第二實施例。在第一實施例中,當備用區(qū)306中的實體區(qū)塊都已成為壞實體區(qū)塊或無法正常使用,并且取代區(qū)308中還無正常的實體區(qū)塊時,閃存控制器104的存儲器管理單元204會依據(jù)刪除記錄尋找已刪除邏輯區(qū)塊。也就是說,存儲器管理單元204會判斷哪一個邏輯區(qū)塊所映射的所有邏輯地址所存儲的數(shù)據(jù)都已被主機系統(tǒng)1000刪除。然而,在一些例子中,雖然存儲器管理單元204無法找到任何已刪除邏輯區(qū)塊,但已刪除邏輯地址的大小是相同或超過一個邏輯區(qū)塊的大小。也就是說,在此例子中,已刪除邏輯地址是分散地映射于多個邏輯區(qū)塊,因此存儲器管理單元204無法找到任何已刪除邏輯區(qū)塊。在本實施例中,閃存控制器104會重新映射邏輯地址與邏輯區(qū)塊的映射關(guān)系,以將已刪除邏輯地址重新映射為同一個邏輯區(qū)塊。由此,存儲器管理單元204就能夠執(zhí)行如第一實施例的區(qū)塊整理機制,以將主機系統(tǒng)1000實際上未使用的邏輯區(qū)塊所映射的實體區(qū)塊來作為備用區(qū)306的實體區(qū)塊。圖6為本發(fā)明第二實施例所繪示的記錄邏輯區(qū)塊與實體區(qū)塊之間的映射關(guān)系的運作示意圖。圖6所示的映射運作本質(zhì)上是相同于圖;3B的映射運作,以下僅描述圖6與圖;3B的差異處。在圖6中第一轉(zhuǎn)換層240包括邏輯地址-邏輯區(qū)塊映射表602,并且邏輯地址-邏輯區(qū)塊映射表602是用以取代第一實施例的運算單元242來記錄邏輯地址與邏輯區(qū)塊的映射關(guān)系。詳細來說,由于在本實施例中邏輯地址與邏輯區(qū)塊的映射關(guān)系會被重新映射,因此重新映射后的邏輯地址與邏輯區(qū)塊的映射關(guān)系可能無法簡單以運算器來計算。因此,在本發(fā)明實施例中,第一轉(zhuǎn)換層240包括邏輯地址-邏輯區(qū)塊映射表602,并且存儲器管理單元204會更新邏輯地址-邏輯區(qū)塊映射表602來記錄重新映射的結(jié)果。圖7A與圖7B為本發(fā)明第二實施例所繪示的重新映射邏輯地址與更改壞邏輯區(qū)塊的映射關(guān)系的區(qū)塊整理實施例。請參照圖7A,在實施例中,邏輯地址360-(0)360-⑵是映射邏輯區(qū)塊350-(0),邏輯地址360-(3)360-(5)是映射邏輯區(qū)塊350-(1),且邏輯地址360-(K-2)360-(K)是映射邏輯區(qū)塊350-(0)。盡管圖7A中未繪示其他邏輯地址的映射關(guān)系,但必須了解的是,其他邏輯地址還是類似地映射邏輯區(qū)塊。另外,邏輯區(qū)塊350-(0)是映射實體區(qū)塊122-(S+1),邏輯區(qū)塊350-(1)是映射實體區(qū)塊122-(S+2),且邏輯區(qū)塊350-(H)是映射實體區(qū)塊122-(D)。同樣的,盡管在圖7B中未繪示其他邏輯區(qū)塊的映射關(guān)系,但必須了解的是,其他邏輯區(qū)塊還是類似地映射實體區(qū)塊。此外,在本實施例中,是以3個邏輯地址是映射1個邏輯區(qū)塊來作說明,然而,本發(fā)明不限于此,1個邏輯區(qū)塊所映射的邏輯地址的數(shù)目可以是任意數(shù)目。在此實施例中,假設(shè)主機系統(tǒng)1000已刪除存儲于邏輯地址360-(0)、邏輯地址360-(1)與邏輯地址360-)的數(shù)據(jù)。此時,倘若實體區(qū)塊122_(D+1)已成為壞實體區(qū)塊而無法再存儲數(shù)據(jù),且取代區(qū)308無可用的實體區(qū)塊可取代實體區(qū)塊122-(D+1)時,如圖7B所示,存儲器管理單元204會依據(jù)所接收的刪除記錄識別出邏輯地址360-(0)、邏輯地址360-(1)與邏輯地址360-(4)為已刪除邏輯地址。特別是,存儲器管理單元204會判斷邏輯地址360-(0)、邏輯地址360-(1)與邏輯地址360-(4)的大小是相同于1個邏輯區(qū)塊,并且執(zhí)行重新映射。例如,存儲器管理單元204會邏輯地址360-(0)、邏輯地址360-(1)與邏輯地址360-(4)重新映射至邏輯區(qū)塊350-(0),并且將邏輯地址360-(、邏輯地址360-C3)與邏輯地址360-(重新映射至邏輯區(qū)塊350-(1)?;耍壿媴^(qū)塊350-(0)內(nèi)的所有邏輯地址皆為已刪除邏輯地址,所以存儲器管理單元204會將邏輯地址360-(0)、邏輯地址360-(1)與邏輯地址360-(4)標示壞邏輯地址。同時,存儲器管理單元204會將邏輯區(qū)塊350-(0)識別為已刪除邏輯區(qū)塊,并且將其標示壞邏輯區(qū)塊。此外,類似第一實施例,存儲器管理單元204會在邏輯區(qū)塊-實體區(qū)塊映射表沈0中將此已刪除邏輯區(qū)塊(即,邏輯區(qū)塊350-(0))所映射的實體區(qū)塊(即,實體區(qū)塊122-(S+1))關(guān)聯(lián)為備用區(qū)。也就是說,備用區(qū)306的實體區(qū)塊的數(shù)目仍會被維持,且存儲器管理單元204能夠完成以上述輪替方式所進行的數(shù)據(jù)寫入運作,由此,可有效地延長閃存存儲裝置100的壽命。圖8為本發(fā)明第二實施例所繪示的區(qū)塊管理方法的流程圖。請參照圖8,當發(fā)生實體區(qū)塊損壞時,首先,在步驟S801中閃存控制器104的存儲器管理單元204會判斷取代區(qū)308中是否存有正常的實體區(qū)塊。倘若取代區(qū)308中存有正常的實體區(qū)塊時,則在步驟S803中存儲器管理單元204會以取代區(qū)308中正常的實體區(qū)塊來取代已損壞的實體區(qū)塊并更新邏輯區(qū)塊-實體區(qū)塊映射表沈0。在步驟S803之后,圖8的流程會被結(jié)束。倘若在步驟S801中判斷取代區(qū)308中無存有正常的實體區(qū)塊時,則在步驟S805中存儲器管理單元204會依據(jù)來自于主機系統(tǒng)1000的刪除記錄判斷是否邏輯區(qū)塊之中存有已被刪除邏輯區(qū)塊。倘若邏輯區(qū)塊之中存有已被刪除邏輯區(qū)塊時,則在步驟S807中將已被刪除邏輯區(qū)塊標記為壞邏輯區(qū)塊,并且在步驟S809中將已被刪除邏輯區(qū)塊所映射的實體區(qū)塊邏輯地關(guān)聯(lián)為備用區(qū)306,并且更新邏輯區(qū)塊-實體區(qū)塊映射表沈0,其中已被刪除邏輯區(qū)塊將不再映射任何實體區(qū)塊。在步驟S809之后,圖8的流程會被結(jié)束。倘若在步驟S805中判斷邏輯區(qū)塊之中無存有已被刪除邏輯區(qū)塊時,則在步驟S811中存儲器管理單元204會依據(jù)來自于主機系統(tǒng)1000的刪除記錄判斷已刪除邏輯地址的大小是否等于或超過1個邏輯區(qū)塊的大小。倘若已刪除邏輯地址的大小等于或超過1個邏輯區(qū)塊的大小時,則在步驟S813中存儲器管理單元204會將足以構(gòu)成1個已刪除邏輯區(qū)塊的已刪除邏輯地址重新映射至同一個邏輯區(qū)塊(如圖7B的邏輯區(qū)塊350-(0)),并且執(zhí)行步驟S805。倘若在步驟S811中判斷已刪除邏輯地址的大小非等于或超過1個邏輯區(qū)塊的大小(即,已刪除邏輯地址不足以構(gòu)成1個已刪除邏輯區(qū)塊)時,則在步驟S815中存儲器管理單元204會向主機系統(tǒng)1000宣告閃存存儲裝置100為寫入保護狀態(tài),并且圖8的流程會被結(jié)束。綜上所述,當發(fā)生備用區(qū)的實體區(qū)塊的數(shù)目不足以完成數(shù)據(jù)寫入運作時,上述實施例的區(qū)塊管理方法會依據(jù)主機系統(tǒng)所傳送的刪除記錄搜尋那個邏輯區(qū)塊中的所有數(shù)據(jù)已被主機系統(tǒng)刪除,并且將所搜尋到的邏輯區(qū)塊所映射的實體區(qū)塊作為備用區(qū)的實體區(qū)塊,由此,有效地延長閃存存儲裝置的壽命。此外,在無存有已被主機系統(tǒng)刪除所有數(shù)據(jù)的邏輯區(qū)塊時,上述實施例的區(qū)塊管理方法會重新映射邏輯地址與邏輯區(qū)塊的映射關(guān)系,由此整理出所有數(shù)據(jù)都已被主機系統(tǒng)刪除的邏輯區(qū)塊,并且將此邏輯區(qū)塊所映射的實體區(qū)塊作為備用區(qū)的實體區(qū)塊,由此,有效地延長閃存存儲裝置的壽命。最后應(yīng)說明的是以上實施例僅用以說明本發(fā)明的技術(shù)方案而非對其進行限制,盡管參照較佳實施例對本發(fā)明進行了詳細的說明,本領(lǐng)域的普通技術(shù)人員應(yīng)當理解其依然可以對本發(fā)明的技術(shù)方案進行修改或者等同替換,而這些修改或者等同替換亦不能使修改后的技術(shù)方案脫離本發(fā)明技術(shù)方案的精神和范圍。權(quán)利要求1.一種區(qū)塊管理方法,用于管理一閃存晶片的多個實體區(qū)塊,所述區(qū)塊管理方法包括配置多個邏輯地址;將所述多個邏輯地址映射至多個邏輯區(qū)塊,并且將所述多個邏輯區(qū)塊映射至所述多個實體區(qū)塊;配置一邏輯區(qū)塊-實體區(qū)塊映射表以記錄所述多個邏輯區(qū)塊與所述多個實體區(qū)塊之間的一映射關(guān)系;從一主機系統(tǒng)中獲取至少一刪除記錄,其中所述至少一刪除記錄包括關(guān)于所述多個邏輯地址之中多個已刪除邏輯地址的信息,并且存儲于所述多個已刪除邏輯地址中的數(shù)據(jù)已于所述主機系統(tǒng)中被刪除;依據(jù)所述至少一刪除記錄獲取所述多個邏輯區(qū)塊之中的一已刪除邏輯區(qū)塊,其中存儲于對應(yīng)所述已刪除邏輯區(qū)塊的所述多個邏輯地址中的數(shù)據(jù)已于所述主機系統(tǒng)中被刪除;以及將映射至所述已刪除邏輯區(qū)塊的每一所述多個邏輯地址標示為一壞邏輯地址,其中所述主機系統(tǒng)無法存取所述壞邏輯地址。2.根據(jù)權(quán)利要求1所述的區(qū)塊管理方法,還包括將所述多個實體區(qū)塊至少分組為一數(shù)據(jù)區(qū)與一備用區(qū),其中每一所述多個邏輯區(qū)塊映射所述數(shù)據(jù)區(qū)的實體區(qū)塊的其中之一;以及將所述已刪除邏輯區(qū)塊所映射的實體區(qū)塊分組為所述備用區(qū)。3.根據(jù)權(quán)利要求2所述的區(qū)塊管理方法,還包括更新所述邏輯區(qū)塊-實體區(qū)塊映射表,其中在所述邏輯區(qū)塊-實體區(qū)塊映射表中所述已刪除邏輯區(qū)塊無映射任何實體區(qū)塊。4.根據(jù)權(quán)利要求1所述的區(qū)塊管理方法,還包括依據(jù)所述至少一刪除信息將所述多個邏輯地址重新映射至所述多個邏輯區(qū)塊,其中所述多個已刪除邏輯地址之中的至少一部份已刪除邏輯地址會被重新映射至所述多個邏輯區(qū)塊的其中之一,其中存儲于重新映射所述至少一部份已刪除邏輯地址的邏輯區(qū)塊中的數(shù)據(jù)已被所述主機系統(tǒng)刪除;以及依據(jù)所述重新映射更新記錄在所述邏輯區(qū)塊-實體區(qū)塊映射表中的所述映射關(guān)系。5.根據(jù)權(quán)利要求4所述的區(qū)塊管理方法,還包括將所述多個實體區(qū)塊至少分組為一數(shù)據(jù)區(qū)與一備用區(qū),其中每一所述多個邏輯區(qū)塊映射所述數(shù)據(jù)區(qū)的實體區(qū)塊的其中之一;以及將所述已刪除邏輯區(qū)塊所映射的實體區(qū)塊分組為所述備用區(qū)。6.根據(jù)權(quán)利要求5所述的區(qū)塊管理方法,還包括更新所述邏輯區(qū)塊-實體區(qū)塊映射表,其中在所述邏輯區(qū)塊-實體區(qū)塊映射表中所述已刪除邏輯區(qū)塊無映射任何實體區(qū)塊。7.根據(jù)權(quán)利要求1所述的區(qū)塊管理方法,其中從所述主機系統(tǒng)中獲取所述至少一刪除記錄的步驟包括從所述主機系統(tǒng)接收至少一整理指令;以及識別所述至少一整理指令以獲取所述至少一刪除記錄。8.—種閃存控制器,用于管理一閃存晶片的多個實體區(qū)塊,所述閃存控制器包括一微處理器單元;一閃存接口單元,電性連接至所述微處理器單元,用以電性連接至所述閃存晶片;一主機接口單元,電性連接至所述微處理器單元,用以連接一主機系統(tǒng);以及一存儲器管理單元,電性連接至所述微處理器單元,用以配置多個邏輯地址,其中所述存儲器管理單元將所述多個邏輯地址映射至多個邏輯區(qū)塊,將所述多個邏輯區(qū)塊映射至所述多個實體區(qū)塊,并且配置一邏輯區(qū)塊-實體區(qū)塊映射表以記錄所述多個邏輯區(qū)塊與所述多個實體區(qū)塊之間的一映射關(guān)系,其中所述存儲器管理單元通過所述主機接口單元從所述主機系統(tǒng)中獲取至少一刪除記錄,其中所述至少一刪除記錄包括關(guān)于所述多個邏輯地址之中多個已刪除邏輯地址的信息,并且存儲于所述多個已刪除邏輯地址中的數(shù)據(jù)已于所述主機系統(tǒng)中被刪除,其中所述存儲器管理單元依據(jù)所述至少一刪除記錄獲取所述多個邏輯區(qū)塊之中的一已刪除邏輯區(qū)塊并且將映射至所述已刪除邏輯區(qū)塊的每一所述多個邏輯地址標示為一壞邏輯地址,其中存儲于對應(yīng)所述已刪除邏輯區(qū)塊的所述多個邏輯地址中的數(shù)據(jù)已于所述主機系統(tǒng)中被刪除,并且所述主機系統(tǒng)無法存取所述壞邏輯地址。9.根據(jù)權(quán)利要求8所述的閃存控制器,其中所述存儲器管理單元將所述多個實體區(qū)塊至少分組為一數(shù)據(jù)區(qū)與一備用區(qū),其中每一所述多個邏輯區(qū)塊映射所述數(shù)據(jù)區(qū)的實體區(qū)塊的其中之一,其中所述存儲器管理單元將所述已刪除邏輯區(qū)塊所映射的實體區(qū)塊分組為所述備用區(qū)。10.根據(jù)權(quán)利要求9所述的閃存控制器,其中所述存儲器管理單元更新所述邏輯區(qū)塊-實體區(qū)塊映射表,并且在所述邏輯區(qū)塊-實體區(qū)塊映射表中所述已刪除邏輯區(qū)塊無映射任何實體區(qū)塊。11.根據(jù)權(quán)利要求8所述的閃存控制器,其中所述存儲器管理單元還依據(jù)所述至少一刪除信息將所述多個邏輯地址重新映射至所述多個邏輯區(qū)塊,并且依據(jù)所述重新映射更新記錄在所述邏輯區(qū)塊-實體區(qū)塊映射表中的所述映射關(guān)系,其中所述多個已刪除邏輯地址之中的至少一部份已刪除邏輯地址會被重新映射至所述多個邏輯區(qū)塊的其中之一,并且存儲于重新映射所述至少一部份已刪除邏輯地址的邏輯區(qū)塊中的數(shù)據(jù)已被所述主機系統(tǒng)刪除。12.根據(jù)權(quán)利要求11所述的閃存控制器,其中所述存儲器管理單元將所述多個實體區(qū)塊至少分組為一數(shù)據(jù)區(qū)與一備用區(qū),其中每一所述多個邏輯區(qū)塊映射所述數(shù)據(jù)區(qū)的實體區(qū)塊的其中之一,其中所述存儲器管理單元將所述已刪除邏輯區(qū)塊所映射的實體區(qū)塊分組為所述備用區(qū)。13.根據(jù)權(quán)利要求12所述的閃存控制器,其中所述存儲器管理單元更新所述邏輯區(qū)塊-實體區(qū)塊映射表,其中在所述邏輯區(qū)塊-實體區(qū)塊映射表中所述已刪除邏輯區(qū)塊無映射任何實體區(qū)塊。14.根據(jù)權(quán)利要求8所述的閃存控制器,其中所述主機接口單元從所述主機系統(tǒng)接收至少一整理指令,并且所述存儲器管理單元識別所述至少一整理指令以獲取所述至少一刪除記錄。15.一種閃存存儲系統(tǒng),包括一閃存晶片,具有多個實體區(qū)塊;一連接器,用以電性連接一主機系統(tǒng);以及一閃存控制器,電性連接至所述閃存晶片與所述連接器,用以配置多個邏輯地址,其中所述閃存控制器將所述多個邏輯地址映射至多個邏輯區(qū)塊,將所述多個邏輯區(qū)塊映射至所述多個實體區(qū)塊,并且配置一邏輯區(qū)塊-實體區(qū)塊映射表以記錄所述多個邏輯區(qū)塊與所述多個實體區(qū)塊之間的一映射關(guān)系,其中所述閃存控制器通過所述連接器從所述主機系統(tǒng)中獲取至少一刪除記錄,其中所述至少一刪除記錄包括關(guān)于所述多個邏輯地址之中多個已刪除邏輯地址的信息,并且存儲于所述多個已刪除邏輯地址中的數(shù)據(jù)已于所述主機系統(tǒng)中被刪除,其中所述閃存控制器依據(jù)所述至少一刪除記錄獲取所述多個邏輯區(qū)塊之中的一已刪除邏輯區(qū)塊并且將映射至所述已刪除邏輯區(qū)塊的每一所述多個邏輯地址標示為一壞邏輯地址,其中存儲于對應(yīng)所述已刪除邏輯區(qū)塊的所述多個邏輯地址中的數(shù)據(jù)已于所述主機系統(tǒng)中被刪除,并且所述主機系統(tǒng)無法存取所述壞邏輯地址。16.根據(jù)權(quán)利要求15所述的閃存存儲系統(tǒng),其中所述閃存控制器將所述多個實體區(qū)塊至少分組為一數(shù)據(jù)區(qū)與一備用區(qū),其中每一所述多個邏輯區(qū)塊映射所述數(shù)據(jù)區(qū)的實體區(qū)塊的其中之一,其中所述閃存控制器將所述已刪除邏輯區(qū)塊所映射的實體區(qū)塊分組為所述備用區(qū)。17.根據(jù)權(quán)利要求16所述的閃存存儲系統(tǒng),其中所述閃存控制器更新所述邏輯區(qū)塊-實體區(qū)塊映射表,其中在所述邏輯區(qū)塊-實體區(qū)塊映射表中所述已刪除邏輯區(qū)塊無映射任何實體區(qū)塊。18.—種區(qū)塊管理方法,用于管理一閃存晶片的多個實體區(qū)塊,所述區(qū)塊管理方法包括配置多個邏輯地址;將所述多個實體區(qū)塊至少分組為一數(shù)據(jù)區(qū)與一備用區(qū),其中所述備用區(qū)中的實體區(qū)塊是用以于執(zhí)行一主機寫入指令時替換所述數(shù)據(jù)區(qū)中的實體區(qū)塊,且每一所述多個邏輯地址映射至所述數(shù)據(jù)區(qū)的實體區(qū)塊的其中之一;以及將映射至所述數(shù)據(jù)區(qū)的至少一邏輯地址標示為至少一壞邏輯地址,并將所述至少一壞邏輯地址所映射至的實體區(qū)塊關(guān)聯(lián)為所述備用區(qū)。19.根據(jù)權(quán)利要求18所述的區(qū)塊管理方法,還包括從所述主機系統(tǒng)中獲取至少一刪除記錄,其中所述至少一刪除記錄包括關(guān)于所述多個邏輯地址之中至少一個已刪除邏輯地址的信息,并且存儲于所述多個已刪除邏輯地址中的數(shù)據(jù)已于所述主機系統(tǒng)中被刪除。20.根據(jù)權(quán)利要求19所述的區(qū)塊管理方法,其中被標示為所述至少一壞邏輯地址的所述至少一邏輯地址是所述至少一刪除記錄中所提供的邏輯地址。全文摘要本發(fā)明提供了一種用于閃存的區(qū)塊管理方法、控制器與存儲系統(tǒng),其中區(qū)塊管理方法,用于管理閃存晶片的多個實體區(qū)塊。本方法包括配置多個邏輯地址,將這些邏輯地址映射至多個邏輯區(qū)塊,并且將這些邏輯區(qū)塊映射至上述實體區(qū)塊。此外,本方法還包括從主機系統(tǒng)中獲取關(guān)于多個已刪除邏輯地址的刪除記錄,其中存儲于這些已刪除邏輯地址中的數(shù)據(jù)于主機系統(tǒng)中被刪除。另外,本方法還包括依據(jù)此刪除記錄獲取已刪除邏輯區(qū)塊、將映射至此已刪除邏輯區(qū)塊的每一邏輯地址標示為一壞邏輯地址,并將此已刪除邏輯區(qū)塊所映射的實體區(qū)塊關(guān)聯(lián)為備用區(qū)?;?,可有效地延長閃存晶片的壽命。文檔編號G06F12/06GK102043724SQ200910204139公開日2011年5月4日申請日期2009年10月15日優(yōu)先權(quán)日2009年10月15日發(fā)明者葉志剛,謝承騏申請人:群聯(lián)電子股份有限公司
網(wǎng)友詢問留言 已有0條留言
  • 還沒有人留言評論。精彩留言會獲得點贊!
1
奉贤区| 多伦县| 梅河口市| 康定县| 江都市| 南漳县| 溧阳市| 方城县| 沂源县| 平远县| 谷城县| 德州市| 砀山县| 温泉县| 琼结县| 江永县| 固安县| 灌阳县| 铁岭市| 汝阳县| 香港| 陕西省| 和静县| 宁都县| 五大连池市| 托里县| 区。| 南阳市| 景洪市| 辛集市| 平度市| 寿宁县| 普陀区| 库车县| 九龙坡区| 乐至县| 铜川市| 通渭县| 滕州市| 突泉县| 靖江市|