亚洲狠狠干,亚洲国产福利精品一区二区,国产八区,激情文学亚洲色图

用于管理存儲(chǔ)裝置中的分區(qū)的方法和系統(tǒng)的制作方法

文檔序號(hào):6567993閱讀:210來(lái)源:國(guó)知局
專(zhuān)利名稱(chēng):用于管理存儲(chǔ)裝置中的分區(qū)的方法和系統(tǒng)的制作方法
技術(shù)領(lǐng)域
本發(fā)明大體上涉及存儲(chǔ)器存儲(chǔ)裝置,且更明確地說(shuō),涉及管理存儲(chǔ)裝置中的分區(qū)。
技術(shù)背景常規(guī)計(jì)算機(jī)系統(tǒng)通常包含若干功能組件。這些組件可包含中央處理單元(CPU)、主 存儲(chǔ)器、輸入/輸出("I/O")裝置和大容量存儲(chǔ)裝置。在常規(guī)系統(tǒng)中,主存儲(chǔ)器經(jīng)由系統(tǒng) 總線或本地存儲(chǔ)器總線耦合到CPU。主存儲(chǔ)器用于提供對(duì)在執(zhí)行時(shí)間存儲(chǔ)在主存儲(chǔ)器中 的數(shù)據(jù)和/或程序信息的CPU存取。通常,主存儲(chǔ)器由隨機(jī)存取存儲(chǔ)器(RAM)電路組 成。具有CPU和主存儲(chǔ)器的計(jì)算機(jī)系統(tǒng)常被稱(chēng)為主機(jī)系統(tǒng)。大容量存儲(chǔ)裝置通常用于保存數(shù)據(jù)。 一般來(lái)說(shuō),存儲(chǔ)在大容量存儲(chǔ)裝置中的程序在 由CPU執(zhí)行之前被復(fù)制到主存儲(chǔ)器。常見(jiàn)的大容量存儲(chǔ)裝置包含軟盤(pán)、硬盤(pán)、光盤(pán)和磁 帶驅(qū)動(dòng)器。另外,可使用快閃存儲(chǔ)器來(lái)為主機(jī)系統(tǒng)提供非易失性存儲(chǔ)。主機(jī)系統(tǒng)經(jīng)由接口與快閃存儲(chǔ)器(在整個(gè)本說(shuō)明書(shū)中,還可互換地稱(chēng)為"快閃裝置"、 "快閃"或"快閃卡")介接??扉W存儲(chǔ)器通常包含用于存儲(chǔ)信息的非易失性存儲(chǔ)器單元 陣列??扉W存儲(chǔ)器系統(tǒng)最常以存儲(chǔ)卡或快閃驅(qū)動(dòng)器的形式提供,所述存儲(chǔ)卡或快閃驅(qū)動(dòng) 器可移除地與多種主機(jī)(例如個(gè)人計(jì)算機(jī)、相機(jī)或類(lèi)似物)連接,但還可嵌入在此類(lèi)主 機(jī)系統(tǒng)內(nèi)??扉W存儲(chǔ)器控制器通常控制存儲(chǔ)器陣列的操作。存儲(chǔ)器控制器包含微處理器、某一 非易失性只讀存儲(chǔ)器("ROM")、易失性隨機(jī)存取存儲(chǔ)器("RAM")和一個(gè)或一個(gè)以上 特殊電路,例如錯(cuò)誤校正碼電路("ECC"),其在數(shù)據(jù)穿過(guò)存儲(chǔ)器控制器時(shí),從所述數(shù)據(jù) 計(jì)算ECC。在早一代的商業(yè)快閃存儲(chǔ)器系統(tǒng)中,將矩形存儲(chǔ)器單元陣列分成大量的單元組,每 個(gè)單元組存儲(chǔ)標(biāo)準(zhǔn)磁盤(pán)驅(qū)動(dòng)器扇區(qū)的數(shù)據(jù)量,即512個(gè)字節(jié)。額外數(shù)據(jù)量(例如16個(gè)字 節(jié))也通常包含在每個(gè)組中,以存儲(chǔ)錯(cuò)誤校正碼(ECC)和可能其它與用戶(hù)數(shù)據(jù)且/或與 存儲(chǔ)有其的存儲(chǔ)器單元組相關(guān)的開(kāi)銷(xiāo)數(shù)據(jù)。每個(gè)這種組中的存儲(chǔ)器單元是可一起擦除的
最小數(shù)目的存儲(chǔ)器單元。S卩,擦除單位實(shí)際上是存儲(chǔ)一個(gè)數(shù)據(jù)扇區(qū)和其所包含的任何開(kāi) 銷(xiāo)數(shù)據(jù)的存儲(chǔ)器單元的數(shù)目。這種類(lèi)型的存儲(chǔ)器系統(tǒng)的實(shí)例在第5,602,987號(hào)和第 6,426,893號(hào)美國(guó)專(zhuān)利中描述。快閃存儲(chǔ)器的特征是在用數(shù)據(jù)對(duì)存儲(chǔ)器單元進(jìn)行重新編程 之前,需要擦除所述存儲(chǔ)器單元。當(dāng)經(jīng)由邏輯接口將數(shù)據(jù)寫(xiě)入到快閃存儲(chǔ)器時(shí),主機(jī)通常將唯一邏輯地址分派給存儲(chǔ) 器系統(tǒng)的連續(xù)虛擬地址空間內(nèi)的扇區(qū)、群集或其它數(shù)據(jù)單位。主機(jī)通常維護(hù)文件系統(tǒng), 并將文件數(shù)據(jù)分配給邏輯群集,其中群集大小通常是固定的。將快閃裝置分成多個(gè)邏輯 扇區(qū),且主機(jī)對(duì)由多個(gè)邏輯扇區(qū)組成的群集內(nèi)的空間進(jìn)行分配。群集是邏輯地址的細(xì)分, 且將群集映射表示為文件分配表("FAT")。 FAT通常存儲(chǔ)在存儲(chǔ)裝置本身上。與磁盤(pán)操作系統(tǒng)(DOS)類(lèi)似,主機(jī)將數(shù)據(jù)寫(xiě)入到存儲(chǔ)器系統(tǒng)的邏輯地址空間內(nèi)的 地址,且從所述地址讀取數(shù)據(jù)。存儲(chǔ)器系統(tǒng)內(nèi)的控制器將從主機(jī)接收到的邏輯地址轉(zhuǎn)換 成存儲(chǔ)器陣列內(nèi)的物理地址,其中數(shù)據(jù)實(shí)際被存儲(chǔ),且接著跟蹤這些地址轉(zhuǎn)換。通常,存儲(chǔ)器裝置(例如,快閃存儲(chǔ)器)由主機(jī)系統(tǒng)進(jìn)行分區(qū)。通常,兩個(gè)分區(qū)共 享一個(gè)驅(qū)動(dòng)器,且每個(gè)分區(qū)的大小由主機(jī)系統(tǒng)設(shè)置。如果在任一給定時(shí)間一個(gè)分區(qū)變滿(mǎn) 且其它分區(qū)尚有更多空間,那么對(duì)分派給每個(gè)分區(qū)的空間量進(jìn)行重新分配是有用的。在 常規(guī)系統(tǒng)中,主機(jī)通過(guò)將驅(qū)動(dòng)器重新格式化來(lái)執(zhí)行此功能。此過(guò)程涉及在重新格式化之 前復(fù)制所有來(lái)自所述驅(qū)動(dòng)器的數(shù)據(jù),且接著將空間重新分配給每個(gè)分區(qū)。此過(guò)程煩瑣且 耗時(shí),且因此是不合需要的。因此,需要一種有效地管理分區(qū)以最佳使用存儲(chǔ)器存儲(chǔ)空間的方法和系統(tǒng)。 發(fā)明內(nèi)容在本發(fā)明的一個(gè)方面,提供一種大容量存儲(chǔ)存儲(chǔ)器系統(tǒng)。所述系統(tǒng)包含可重新編 程的非易失性存儲(chǔ)器單元,所述存儲(chǔ)器單元布置在多個(gè)存儲(chǔ)器單元區(qū)塊中,其可一起擦 除,且一起連接在多個(gè)串聯(lián)串中,以界定用于存儲(chǔ)數(shù)據(jù)的存儲(chǔ)器單元行,其中將所述存 儲(chǔ)器單元分成至少兩個(gè)存儲(chǔ)器分區(qū),且每個(gè)存儲(chǔ)器分區(qū)都具有系統(tǒng)區(qū)和數(shù)據(jù)區(qū);以及控制器,其包含微處理器,所述微處理器適合于經(jīng)由邏輯接口從主機(jī)系統(tǒng)接收數(shù)據(jù);其中 所述控制器通過(guò)使用映射表,將存儲(chǔ)器空間從具有未用存儲(chǔ)空間的第二存儲(chǔ)器分區(qū)重新 分配給已滿(mǎn)或已達(dá)到閾值的第一存儲(chǔ)器分區(qū),其中所述映射表針對(duì)系統(tǒng)區(qū)和數(shù)據(jù)區(qū)使用 虛擬區(qū)塊地址,使得系統(tǒng)區(qū)和數(shù)據(jù)區(qū)看似鄰接主機(jī)系統(tǒng);以及真實(shí)邏輯區(qū)塊地址,其將虛擬區(qū)塊地址映射到實(shí)際邏輯區(qū)塊地址。在本發(fā)明的另一方面,大容量存儲(chǔ)存儲(chǔ)器系統(tǒng)包含具有微處理器的控制器,所述 微處理器適合于經(jīng)由邏輯接口從主機(jī)系統(tǒng)接收數(shù)據(jù);第一存儲(chǔ)器分區(qū),其具有系統(tǒng)區(qū)和 數(shù)據(jù)區(qū);以及第二存儲(chǔ)器分區(qū),其具有系統(tǒng)區(qū)和數(shù)據(jù)區(qū);其中所述控制器通過(guò)針對(duì)系統(tǒng) 區(qū)和數(shù)據(jù)區(qū)使用虛擬區(qū)塊地址,使得系統(tǒng)區(qū)和數(shù)據(jù)區(qū)看似鄰接主機(jī)系統(tǒng),來(lái)將存儲(chǔ)器空 間從具有未用存儲(chǔ)空間的第二存儲(chǔ)器分區(qū)重新分配給已滿(mǎn)或已達(dá)到閾值的第一存儲(chǔ)器分 區(qū)。在又一方面,提供一種用于在具有系統(tǒng)區(qū)和數(shù)據(jù)區(qū)的第一存儲(chǔ)器分區(qū)與具有系統(tǒng)區(qū) 和數(shù)據(jù)區(qū)的第二存儲(chǔ)器分區(qū)之間動(dòng)態(tài)地重新分配數(shù)據(jù)存儲(chǔ)空間的方法。所述方法包含 確定所述第一存儲(chǔ)器分區(qū)是否己滿(mǎn)和/或已達(dá)到閾值;確定所述第二存儲(chǔ)器分區(qū)是否具有 可分配給己滿(mǎn)和/或已達(dá)到閾值的第一存儲(chǔ)器分區(qū)的未占用存儲(chǔ)空間;以及將某一未占用 空間從所述第二存儲(chǔ)器分區(qū)分派到所述第一存儲(chǔ)器分區(qū),其中存儲(chǔ)器控制器分派所述未 占用空間。已經(jīng)提供了此簡(jiǎn)要發(fā)明內(nèi)容,使得可快速理解本發(fā)明的性質(zhì)。參考結(jié)合附圖的本發(fā) 明的優(yōu)選實(shí)施例的以下具體實(shí)施方式
,可獲得對(duì)本發(fā)明的更完整的理解。


現(xiàn)將參考優(yōu)選實(shí)施例的圖式描述本發(fā)明的前述特征和其它特征。在圖式中,相同組 件具有相同參考標(biāo)號(hào)。所說(shuō)明的實(shí)施例意在說(shuō)明,而不是限制本發(fā)明。圖式包含以下圖 圖1A展示使用快閃裝置的主機(jī)系統(tǒng)的框圖; 圖1B展示圖1A的主機(jī)系統(tǒng)的結(jié)構(gòu);圖1C展示根據(jù)本發(fā)明一個(gè)方面而使用的快閃裝置的存儲(chǔ)器控制器的框圖; 圖1D展示快閃存儲(chǔ)器系統(tǒng)的示范性物理存儲(chǔ)器組織; 圖1E展示圖1D的物理存儲(chǔ)器的一部分的展開(kāi)圖;圖1F展示主機(jī)與可重新編程的存儲(chǔ)器系統(tǒng)之間的常規(guī)邏輯地址接口; 圖2A展示說(shuō)明存儲(chǔ)裝置中的兩個(gè)存儲(chǔ)器分區(qū)的框圖;圖2B展示圖2A中所示的一個(gè)分區(qū)的系統(tǒng)區(qū)布局的框圖;圖2C展示根據(jù)本發(fā)明一個(gè)方面的經(jīng)重新分配的存儲(chǔ)器分區(qū)的主機(jī)系統(tǒng)的視圖;圖2D展示根據(jù)本發(fā)明一個(gè)方面的經(jīng)重新分配的存儲(chǔ)器分區(qū)的實(shí)際布局;圖3展示根據(jù)本發(fā)明一個(gè)方面的用于重新分配大容量存儲(chǔ)裝置中的存儲(chǔ)器空間的全過(guò)程流程圖;圖4A到圖4F展示根據(jù)本發(fā)明一個(gè)方面的存儲(chǔ)器分區(qū)重新分配的實(shí)例。
具體實(shí)施方式
為了有助于理解優(yōu)選實(shí)施例,將描述主機(jī)系統(tǒng)/快閃裝置的一般結(jié)構(gòu)和操作。接著, 將參考一般結(jié)構(gòu)來(lái)描述優(yōu)選實(shí)施例的具體結(jié)構(gòu)和操作。 主機(jī)系統(tǒng)
圖1A展示可利用本發(fā)明的通用計(jì)算機(jī)系統(tǒng)(主機(jī)系統(tǒng))100。系統(tǒng)100的組件包含 計(jì)算機(jī)160,各種輸入/輸出("I/O")裝置,例如鼠標(biāo)170、鍵盤(pán)165、監(jiān)視器120和打 印機(jī)125。
圖1B展示計(jì)算機(jī)系統(tǒng)100的抽象表示。組件130意在表示多個(gè)輸入裝置,例如允許 用戶(hù)與計(jì)算機(jī)系統(tǒng)100交互的鼠標(biāo)和鍵盤(pán)。類(lèi)似地,輸出135表示一個(gè)或一個(gè)以上輸出 裝置,例如監(jiān)視器120和打印機(jī)125。
計(jì)算機(jī)系統(tǒng)100包含連接到系統(tǒng)總線155的中央處理單元("CPU")(或微處理器) 175。主存儲(chǔ)器145 (例如,隨機(jī)存取主存儲(chǔ)器("RAM"))也耦合到系統(tǒng)總線155,并向 CPU 175提供對(duì)存儲(chǔ)器存儲(chǔ)裝置的存取。當(dāng)執(zhí)行程序指令時(shí),CPU 175將那些過(guò)程步驟 存儲(chǔ)在RAM 145中,并執(zhí)行來(lái)自RAM 145的存儲(chǔ)的過(guò)程步驟。
提供只讀存儲(chǔ)器("ROM")(未圖示)以存儲(chǔ)不變的指令序列,例如啟動(dòng)指令序列或 基本輸入/輸出操作系統(tǒng)(BIOS)序列。
大容量存儲(chǔ)裝置150允許計(jì)算機(jī)系統(tǒng)100永久地存儲(chǔ)數(shù)據(jù)。大容量存儲(chǔ)裝置150可 以是快閃存儲(chǔ)器裝置、硬盤(pán)驅(qū)動(dòng)器或另一種類(lèi)型的媒體存儲(chǔ)裝置。下文對(duì)本發(fā)明的適應(yīng) 性方面的描述是基于快閃存儲(chǔ)器裝置的,但可應(yīng)用于其它類(lèi)型的存儲(chǔ)器裝置。大容量存 儲(chǔ)裝置150還被稱(chēng)為快閃裝置150。
當(dāng)前存在許多商業(yè)上可用的不同快閃裝置(或快閃存儲(chǔ)卡),實(shí)例是致密快閃卡(CF), 多媒體卡(MMC)、安全數(shù)字(SD)卡、miniSD卡、記憶棒、智能媒體卡和TransFlash 卡。盡管這些卡中的每一者具有根據(jù)其標(biāo)準(zhǔn)化規(guī)格的唯一機(jī)械和/或電接口,包含在每一 者中的快閃存儲(chǔ)器非常類(lèi)似。這些卡都可從本申請(qǐng)案的受讓人SanDisk公司購(gòu)得。SanDisk 還在其Cmzer商標(biāo)下提供一系列快閃驅(qū)動(dòng)器,所述快閃驅(qū)動(dòng)器是具有通用串行總線(USB) 插頭的小型封裝中的手持式存儲(chǔ)器系統(tǒng),所述通用串行總線插頭用于通過(guò)插入到主機(jī)的 USB插座中而與主機(jī)連接。這些存儲(chǔ)卡和快閃驅(qū)動(dòng)器中的每一者包含控制器,所述控制 器與主機(jī)和主機(jī)內(nèi)的快閃存儲(chǔ)器的控制操作介接。
上文所述的非易失性存儲(chǔ)卡和快閃驅(qū)動(dòng)器在商業(yè)上可以512兆字節(jié)(MB)、 1千兆 字節(jié)(GB)、 2GB和4GB的數(shù)據(jù)存儲(chǔ)容量得到,且可變得更高。
使用此類(lèi)存儲(chǔ)卡和快閃驅(qū)動(dòng)器的主機(jī)系統(tǒng)有許多且是各種各樣的。它們包含個(gè)人計(jì)
算機(jī)(PC)、膝上型和其它便攜式計(jì)算機(jī)、蜂窩式電話、個(gè)人數(shù)字助理(PDA)、數(shù)字相 機(jī)、數(shù)字?jǐn)z影機(jī)和便攜式音頻播放器。主機(jī)通常包含用于一種或一種以上的存儲(chǔ)卡或快 閃裝置的內(nèi)建插座,但其中一些需要在其中插入存儲(chǔ)卡的適配器。
存儲(chǔ)器單元陣列的"與非"結(jié)構(gòu)在當(dāng)前是優(yōu)選的,但其它結(jié)構(gòu)(例如"或非")也可 代替地使用。可參考第5,570,315號(hào)、第5,774,397號(hào)、第6,046,935號(hào)、第6,373,746號(hào)、第 6,456,528號(hào)、第6,522,580號(hào)、第6,771,536號(hào)和第6,781,877號(hào)美國(guó)專(zhuān)利以及第2003/0147278 號(hào)美國(guó)專(zhuān)利申請(qǐng)公開(kāi)案來(lái)獲得"與非"快閃存儲(chǔ)器和其作為存儲(chǔ)器系統(tǒng)的一部分的操作 的實(shí)例。
快閃裝置150包含存儲(chǔ)器控制器模塊(還可被稱(chēng)為"存儲(chǔ)器系統(tǒng)控制器"或"存儲(chǔ) 器控制器"或"控制器")和固態(tài)存儲(chǔ)器模塊。圖1C展示控制器模塊150A的內(nèi)部結(jié)構(gòu) 的框圖。控制器150A經(jīng)由邏輯接口或另一外圍總線(未圖示)或經(jīng)由系統(tǒng)總線155與主 機(jī)系統(tǒng)100介接??刂破髂K150A包含微控制器150C,其經(jīng)由接口邏輯150E與各個(gè)其 它組件介接。存儲(chǔ)器150D存儲(chǔ)固件和軟件指令,其由微控制器150C用來(lái)控制快閃裝置 150的操作。存儲(chǔ)器150D可以是易失性可重新編程隨機(jī)存取存儲(chǔ)器("RAM")、不可重 新編程的非易失性存儲(chǔ)器("ROM")、 一次可編程存儲(chǔ)器或可重新編程的快閃電可擦除且 可編程的只讀存儲(chǔ)器("EEPROM")。
主機(jī)接口 150G與主機(jī)系統(tǒng)100介接,而快閃接口 150F與存儲(chǔ)器模塊150B介接。
圖1D在概念上說(shuō)明用作下文的進(jìn)一步描述內(nèi)容中的實(shí)例的快閃存儲(chǔ)器單元陣列 (150B)的組織。存儲(chǔ)器單元的四個(gè)平面或子陣列131-134可以在單個(gè)集成的存儲(chǔ)器單元 芯片上、在兩個(gè)芯片上(每個(gè)芯片上有所述平面中的兩者)或在四個(gè)單獨(dú)的芯片上。具 體布置對(duì)下文的論述內(nèi)容來(lái)說(shuō)并不重要。當(dāng)然,其它數(shù)目的平面,例如1、 2、 8、 16或 更多可存在于系統(tǒng)中。將所述平面?zhèn)€別地分成多個(gè)存儲(chǔ)器單元區(qū)塊,其在圖1D中由位于 相應(yīng)平面131-134中的矩形(例如區(qū)塊137、 138、 139和140A)展示。每個(gè)平面內(nèi)可存 在數(shù)十個(gè)或數(shù)百個(gè)區(qū)塊。
存儲(chǔ)器單元區(qū)塊是擦除單位,可一起物理地擦除的最小數(shù)目的存儲(chǔ)器單元。然而, 對(duì)于增加的并行度,所述區(qū)塊可以更大的元區(qū)塊單位操作。將來(lái)自每個(gè)平面的一個(gè)區(qū)塊 在邏輯上鏈接在一起以形成元區(qū)塊。展示四個(gè)區(qū)塊137-140A以形成一個(gè)元區(qū)塊141。元 區(qū)塊內(nèi)的所有單元通常一起擦除。用于形成元區(qū)塊的區(qū)塊不需要限于其各自平面內(nèi)的相 同相對(duì)位置,如由區(qū)塊145-148組成的第二元區(qū)塊143中所示。
盡管通常優(yōu)選使元區(qū)塊在所有平面上延伸,但為了獲得較高的系統(tǒng)性能,可用在不
同平面內(nèi)動(dòng)態(tài)地形成一個(gè)、兩個(gè)或三個(gè)區(qū)塊中的任一者或所有的元區(qū)塊的能力來(lái)操作存 儲(chǔ)器系統(tǒng)。這允許元區(qū)塊的大小與可用于一個(gè)編程操作中的存儲(chǔ)中的數(shù)據(jù)的量更緊密地 配合。
出于操作目的,又將個(gè)別區(qū)塊分成存儲(chǔ)器單元頁(yè),如圖1E中所說(shuō)明。舉例來(lái)說(shuō),區(qū) 塊131-134中的每一者的存儲(chǔ)器單元每一者被分成八個(gè)頁(yè)P(yáng)0-P7。或者,每個(gè)區(qū)塊內(nèi)可存 在16個(gè)、32個(gè)或更多存儲(chǔ)器單元頁(yè)。頁(yè)是區(qū)塊內(nèi)的數(shù)據(jù)編程和讀取的單位,含有一次 編程的最小量的數(shù)據(jù)。
在"與非"結(jié)構(gòu)中, 一個(gè)頁(yè)由一個(gè)區(qū)塊內(nèi)沿一個(gè)字線的存儲(chǔ)器單元組成。然而,為
了增加存儲(chǔ)器系統(tǒng)操作并行度,兩個(gè)或兩個(gè)區(qū)塊內(nèi)的此類(lèi)頁(yè)在邏輯上可鏈接成元頁(yè)。圖 1E中說(shuō)明元頁(yè)151;元頁(yè)151由來(lái)自四個(gè)區(qū)塊131-134中的每一者的一個(gè)物理頁(yè)組成。 舉例來(lái)說(shuō),元頁(yè)151包含四個(gè)區(qū)塊的每一者中的頁(yè)P(yáng)2,但元頁(yè)的頁(yè)在區(qū)塊的每一者內(nèi)不 一定具有相同的相對(duì)位置。
圖1F說(shuō)明邏輯接口在主機(jī)與大容量存儲(chǔ)器系統(tǒng)之間的使用。主機(jī)處理由主機(jī)所執(zhí)行 的應(yīng)用軟件或固件程序產(chǎn)生或使用的數(shù)據(jù)文件。字處理數(shù)據(jù)文件是一個(gè)實(shí)例,且計(jì)算機(jī) 輔助設(shè)計(jì)(CAD)軟件的繪圖文件是另一實(shí)例,其主要存在于例如PC、膝上型計(jì)算機(jī)和 類(lèi)似物的普通計(jì)算機(jī)主機(jī)中。PDF格式的文檔也是此類(lèi)文件。數(shù)碼視頻相機(jī)針對(duì)存儲(chǔ)在 存儲(chǔ)卡上的每個(gè)圖片產(chǎn)生一個(gè)數(shù)據(jù)文件。蜂窩式電話利用來(lái)自?xún)?nèi)部存儲(chǔ)卡上的文件(例 如電話號(hào)碼簿)的數(shù)據(jù)。PDA存儲(chǔ)并使用若干不同文件,例如地址文件、日歷文件和類(lèi) 似文件。在任一此類(lèi)應(yīng)用中,存儲(chǔ)卡還可含有操作主機(jī)的軟件。
連續(xù)邏輯地址空間161足夠大以為可能存儲(chǔ)在存儲(chǔ)器系統(tǒng)中的所有數(shù)據(jù)提供地址。 通常,將主機(jī)地址空間分成數(shù)據(jù)群集的遞增。每個(gè)群集可在給定主機(jī)系統(tǒng)中設(shè)計(jì)成含有 若干數(shù)據(jù)扇區(qū),大約在4個(gè)扇區(qū)與64個(gè)扇區(qū)之間是典型的。標(biāo)準(zhǔn)扇區(qū)含有512個(gè)字節(jié)的 數(shù)據(jù)。
圖1F的實(shí)例中展示已經(jīng)形成了三個(gè)數(shù)據(jù)文件1、 2和3。在主機(jī)系統(tǒng)上運(yùn)行的應(yīng)用 程序?qū)⒚總€(gè)文件形成為一組有序數(shù)據(jù),并通過(guò)唯一名稱(chēng)或其它參考來(lái)識(shí)別其。尚未分配 給其它文件的足夠可用的邏輯地址空間由主機(jī)分派給文件1。圖1展示為已經(jīng)分派了連 續(xù)范圍的可用邏輯地址。通常還可出于具體目的而分配地址范圍,例如一個(gè)特定范圍針 對(duì)操作軟件的主機(jī),接著,避免所述地址范圍用于存儲(chǔ)數(shù)據(jù),即使這些地址在主機(jī)將邏 輯地址指派給所述數(shù)據(jù)時(shí)尚未被利用。
當(dāng)稍后由主機(jī)產(chǎn)生文件2時(shí),主機(jī)類(lèi)似地在邏輯地址空間161內(nèi)分派兩個(gè)不同的連
續(xù)地址范圍,如圖1F中所示。文件無(wú)需分派有連續(xù)的邏輯地址,而是可以是己經(jīng)分配給 其它文件的地址范圍內(nèi)的地址段。此實(shí)例接著展示由主機(jī)產(chǎn)生的又一文件3分配有先前 未分配給文件1和2以及其它數(shù)據(jù)的主機(jī)地址空間的其它部分。
主機(jī)通過(guò)維護(hù)文件分配表(FAT)來(lái)跟蹤存儲(chǔ)器邏輯地址空間,其中所述文件分配表 維護(hù)主機(jī)分派給各個(gè)主機(jī)文件的邏輯地址。FAT表通常存儲(chǔ)在非易失性存儲(chǔ)器中,而且 存儲(chǔ)在主機(jī)存儲(chǔ)器中,且在存儲(chǔ)新文件、刪除其它文件、修改文件等時(shí)由主機(jī)頻繁地更 新。舉例來(lái)說(shuō),當(dāng)刪除主機(jī)文件時(shí),主機(jī)通過(guò)更新FAT表來(lái)解除對(duì)先前分配給被刪除的 文件的邏輯地址的分配,以展示它們現(xiàn)在可用以與其它數(shù)據(jù)文件一起使用。
主機(jī)不關(guān)心存儲(chǔ)器系統(tǒng)控制器選擇用來(lái)存儲(chǔ)文件的物理位置。典型的主機(jī)僅知道其 邏輯地址空間和其已經(jīng)分配給其各個(gè)文件的邏輯地址。另一方面,通過(guò)典型的主機(jī)/卡接 口,存儲(chǔ)器系統(tǒng)僅知道邏輯地址空間的數(shù)據(jù)已經(jīng)寫(xiě)入到其的部分,但不知道分配給具體 主機(jī)文件的邏輯地址或甚至主機(jī)文件的數(shù)目。存儲(chǔ)器系統(tǒng)控制器150A將由主機(jī)為數(shù)據(jù)的 存儲(chǔ)或檢索而提供的邏輯地址轉(zhuǎn)換成存儲(chǔ)主機(jī)數(shù)據(jù)的快閃存儲(chǔ)器單元陣列內(nèi)的唯一物理 地址。區(qū)塊163表示這些邏輯到物理地址轉(zhuǎn)換的工作表,其由存儲(chǔ)器系統(tǒng)控制器150A維 護(hù)。
存儲(chǔ)器系統(tǒng)控制器150A經(jīng)編程以便以將系統(tǒng)的性能維持在高等級(jí)的方式,將數(shù)據(jù)文 件存儲(chǔ)在存儲(chǔ)器陣列165的區(qū)塊和元區(qū)塊內(nèi)。在此說(shuō)明中使用四個(gè)平面或子陣列。在由 來(lái)自每個(gè)平面的區(qū)塊形成的整個(gè)元區(qū)塊上,優(yōu)選以最大并行度來(lái)編程和讀取數(shù)據(jù)。至少 一個(gè)元區(qū)塊167通常被分配為用于存儲(chǔ)由存儲(chǔ)器控制器使用的操作固件和數(shù)據(jù)的保留區(qū) 塊。可分配另一元區(qū)塊169或多個(gè)元區(qū)塊以存儲(chǔ)主機(jī)操作軟件、主機(jī)FAT表和類(lèi)似物。 物理存儲(chǔ)空間的大部分仍用于存儲(chǔ)數(shù)據(jù)文件。
然而,存儲(chǔ)器系統(tǒng)控制器150A不知道接收到的數(shù)據(jù)如何已通過(guò)主機(jī)在其各個(gè)文件對(duì) 象之中分配。所有存儲(chǔ)器控制器150A通常通過(guò)與主機(jī)的交互而知道由主機(jī)寫(xiě)入到具體邏 輯地址的數(shù)據(jù)存儲(chǔ)在如由控制器的邏輯到物理地址表163維護(hù)的對(duì)應(yīng)物理地址中。
在典型的存儲(chǔ)器系統(tǒng)中,與將所述量的數(shù)據(jù)存儲(chǔ)在地址空間161內(nèi)所必需的存儲(chǔ)容 量相比,提供數(shù)個(gè)額外區(qū)塊的存儲(chǔ)容量。可將這些額外區(qū)塊中的一個(gè)或一個(gè)以上提供為 冗余區(qū)塊,以代替可能在存儲(chǔ)器的壽命期間變得有缺陷的其它區(qū)塊。個(gè)別元區(qū)塊內(nèi)所含 有的區(qū)塊的邏輯分組通常可出于各種原因而改變,所述原因包含冗余區(qū)塊代替最初分派 給元區(qū)塊的有缺陷的區(qū)塊。 一個(gè)或一個(gè)以上額外區(qū)塊(例如元區(qū)塊171)通常維護(hù)在擦 除區(qū)塊庫(kù)中。 當(dāng)主機(jī)將數(shù)據(jù)寫(xiě)入到存儲(chǔ)器系統(tǒng)時(shí),控制器150A將主機(jī)所分派的邏輯地址轉(zhuǎn)換成擦 除區(qū)塊庫(kù)中的元區(qū)塊內(nèi)的物理地址。不用來(lái)將數(shù)據(jù)存儲(chǔ)在邏輯地址空間161內(nèi)的其它元 區(qū)塊接著被擦除,且表示為擦除庫(kù)區(qū)塊,以供在隨后的數(shù)據(jù)寫(xiě)入操作期間使用。存儲(chǔ)器分區(qū)圖2A展示存儲(chǔ)器存儲(chǔ)裝置150通常如何被分區(qū)的實(shí)例。存儲(chǔ)裝置150包含兩個(gè)分區(qū), 分區(qū)1和分區(qū)2。分區(qū)1包含系統(tǒng)區(qū)201和數(shù)據(jù)區(qū)202。分區(qū)2也具有其自身的系統(tǒng)區(qū) 203和數(shù)據(jù)區(qū)204。盡管圖2A中僅展示兩個(gè)分區(qū),且下文的重新分配技術(shù)是基于此實(shí)例 的,但本發(fā)明的適應(yīng)性方面不限于任何特定數(shù)目的存儲(chǔ)器分區(qū)。圖2B展示分區(qū)1 (其類(lèi)似于分區(qū)2)的框圖。如圖2B中所示,系統(tǒng)區(qū)201具有各 種區(qū)段,例如主引導(dǎo)記錄("MBR")區(qū)205、分區(qū)引導(dǎo)記錄("PBR")區(qū)206、 FAT 1區(qū) 207、 FAT 2區(qū)208和根目錄區(qū)209。MBR區(qū)205存儲(chǔ)整個(gè)分區(qū)信息,且如果媒體是可引導(dǎo)裝置,那么MBR205包含從 MBR區(qū)205跳轉(zhuǎn)到PBR區(qū)206的指令。MBR區(qū)205還包含隱藏區(qū),其是MBR區(qū)205 與PBR區(qū)206之間的保留空間。PBR區(qū)206包含分區(qū)(在此實(shí)例中是分區(qū)l)的分區(qū)/引導(dǎo)信息。舉例來(lái)說(shuō),PBR區(qū) 206包含以下信息FAT的類(lèi)型(例如,12/16/32個(gè)位);標(biāo)簽(即,驅(qū)動(dòng)器的名稱(chēng)),驅(qū) 動(dòng)器的大?。蝗杭笮?即,每分配單元的扇區(qū)數(shù)目);FAT區(qū)的數(shù)目(圖2B中所示的 2個(gè)FAT區(qū),F(xiàn)AT 1和FAT 2)和每FAT的扇區(qū)數(shù)目。FAT區(qū)(207和208)含有每個(gè)文件的群集信息。舉例來(lái)說(shuō),對(duì)于FAT 12,區(qū)207 和208中的每個(gè)條目含有12個(gè)位,且總共存在4096個(gè)條目。群集0和1經(jīng)保留以用于 0XFFFFF8 (針對(duì)媒體類(lèi)型)和群集的末尾。使用特定群集(例如,群集40S7)來(lái)指示壞 群集。對(duì)于FAT16,每個(gè)條目含有16個(gè)位,且對(duì)于FAT32,每個(gè)條目含有32個(gè)位。根目錄209含有每個(gè)文件的條目。每個(gè)目錄條目包含用于文件名稱(chēng)或目錄的某一數(shù) 目的字節(jié)(例如,8個(gè)字節(jié));用于擴(kuò)展部分的若干字節(jié)(例如,3個(gè)字節(jié)),用于文件屬 性的若干字節(jié)(例如,l個(gè)字節(jié))(例如,如果文件是只讀、隱藏、系統(tǒng)文件、巻標(biāo)、目 錄或修改);指示形成文件的時(shí)間和日期的若干字節(jié);用于開(kāi)始群集的某一數(shù)目的字節(jié)(例 如2個(gè));以及指示文件長(zhǎng)度的某一數(shù)目的字節(jié)(例如4個(gè))。用于開(kāi)始群集的所述數(shù)目的字節(jié)指向FAT中的第一群集,且最后的群集可由OxFFF、 OxFFFF或OXffffff指示。為了將文件名稱(chēng)寫(xiě)入在目錄中,主機(jī)系統(tǒng)找出FAT l區(qū)207中的空余群集空間,且
將數(shù)據(jù)寫(xiě)入在數(shù)據(jù)區(qū)202。接著,更新FAT 1和FAT 2條目?jī)烧?。目錄條目(即,日期/ 時(shí)間/開(kāi)始群集/文件長(zhǎng)度)也被更新。在本發(fā)明的一個(gè)方面,當(dāng)一個(gè)分區(qū)變滿(mǎn)或達(dá)到某一閾值,且其它分區(qū)具有未占用空 間時(shí),存儲(chǔ)器控制器150A重新分配分區(qū)空間。因此, 一個(gè)分區(qū)的大小增加,而另一個(gè)分 區(qū)的大小減小。閾值可由存儲(chǔ)器控制器150A編程。使用映射方案(本文稱(chēng)為"虛擬映射") 來(lái)跟蹤群集在兩個(gè)分區(qū)中的使用,如下文所述。這整個(gè)過(guò)程實(shí)際上由存儲(chǔ)器控制器150A 執(zhí)行。主機(jī)系統(tǒng)不必須復(fù)制所有的數(shù)據(jù)和將存儲(chǔ)裝置重新格式化。圖2C展示經(jīng)重新分配的分區(qū)l和分區(qū)2的布局,如其向主機(jī)系統(tǒng)呈現(xiàn)的那樣。分區(qū) 1的系統(tǒng)區(qū)201A包含重新分配之后的經(jīng)更新的群集和分區(qū)信息。原始分區(qū)區(qū)202已滿(mǎn)或 已達(dá)到閾值大小,其中不再有數(shù)據(jù)寫(xiě)入其中。將新的數(shù)據(jù)區(qū)202A從分區(qū)2分配到分區(qū)1。 減小的分區(qū)2具有系統(tǒng)區(qū)203A和新的減小的數(shù)據(jù)區(qū)204A?,F(xiàn)將詳細(xì)描述用于重新分配 所述分區(qū)的過(guò)程。圖2D展示在存儲(chǔ)器控制器150A已經(jīng)執(zhí)行了重新分配之后分區(qū)1和2的實(shí)際布局。 分區(qū)2系統(tǒng)區(qū)203A是區(qū)202A被分配給分區(qū)A之后的經(jīng)調(diào)整的區(qū)。分區(qū)2具有展示為 204B和204C的數(shù)據(jù)區(qū),其等于數(shù)據(jù)區(qū)204A,如圖2C中所示。圖3展示根據(jù)本發(fā)明一個(gè)方面的用于重新分配分區(qū)大小的高級(jí)流程圖。當(dāng)快閃裝置 150被初始化時(shí),所述過(guò)程在步驟S300中開(kāi)始。在步驟S302中,控制器150A確定分區(qū)是否已滿(mǎn)。當(dāng)分區(qū)不再能存儲(chǔ)更多的數(shù)據(jù)或 所述分區(qū)已經(jīng)達(dá)到某一可編程閾值時(shí),可認(rèn)為所述分區(qū)已滿(mǎn)。如果分區(qū)不滿(mǎn),那么控制 器150A等待,直到分區(qū)滿(mǎn)了為止。如果分區(qū)已滿(mǎn)(例如,圖2A中的分區(qū)1),那么在步驟S304中,控制器150A確定 是否可從另一分區(qū)(例如,分區(qū)2)得到未占用空間。如果不可得到未占用空間,那么 過(guò)程返回到步驟S302。如果未占用空間可用,那么在步驟S306中,將某一量的所述未占用空間(例如,202A) 分配到所述已滿(mǎn)分區(qū)。在重新分配之后,在步驟S308中調(diào)整兩個(gè)分區(qū)的FAT條目,如 下文詳細(xì)描述。還在步驟S310中調(diào)整目錄條目,下文也對(duì)其進(jìn)行詳細(xì)描述,且過(guò)程在步 驟S312中結(jié)束。值得注意的是,盡管上文的過(guò)程流基于檢測(cè)"已滿(mǎn)分區(qū)"的存儲(chǔ)器控制器150A而描 述了存儲(chǔ)器分區(qū)重新分配,但本發(fā)明不僅僅限于所述情況。舉例來(lái)說(shuō),主機(jī)可將特定命 令(例如,"對(duì)驅(qū)動(dòng)器進(jìn)行重新分區(qū)")發(fā)送到控制器150A,以對(duì)存儲(chǔ)器裝置進(jìn)行重新分
區(qū),且控制器接著執(zhí)行前面的過(guò)程步驟來(lái)重新分配存儲(chǔ)器空間。圖4A到圖4F說(shuō)明前面的用于在至少兩個(gè)存儲(chǔ)器分區(qū)之間重新分配存儲(chǔ)器空間的過(guò) 程步驟。值得注意的是,圖4A到圖4F中所使用的各個(gè)值僅出于說(shuō)明目的而簡(jiǎn)單地用作 實(shí)例,且不希望限制本發(fā)明的適應(yīng)性方面。圖4A到圖4F中的實(shí)例假定快閃裝置150中的群集大小是32千字節(jié)(KB),因此 120兆字節(jié)(MB)快閃裝置具有4096個(gè)群集。每個(gè)系統(tǒng)區(qū)(201和203)使用6個(gè)群集, 且每個(gè)分區(qū)具有2042個(gè)群集的數(shù)據(jù)區(qū)。每個(gè)群集可被稱(chēng)為區(qū)塊,即一個(gè)區(qū)塊大小等于群 集大小。圖4A展示初始分區(qū)狀態(tài)(如圖2A中所示)的表。每個(gè)分區(qū)具有用于系統(tǒng)區(qū)的6個(gè) 區(qū)塊,和用于數(shù)據(jù)區(qū)的2042個(gè)區(qū)塊。對(duì)于分區(qū)1,系統(tǒng)區(qū)201分派有區(qū)塊編號(hào)0-5,且數(shù)據(jù)區(qū)202被分派有區(qū)塊編號(hào)6-2047。 當(dāng)文件系統(tǒng)寫(xiě)入到分區(qū)1的第一數(shù)據(jù)群集時(shí),其將寫(xiě)入操作發(fā)送到邏輯區(qū)塊地址192 (其 中192=6*32),即區(qū)塊6。對(duì)于分區(qū)2,系統(tǒng)區(qū)203分派有區(qū)塊2048-2053,且數(shù)據(jù)區(qū)204分派有區(qū)塊編號(hào) 2054-4095。圖4B展示在行400中具有虛擬區(qū)塊編號(hào)且在行401中具有真實(shí)區(qū)塊編號(hào)的映射表 400A的實(shí)例。列條目402-409不言而喻的,且為系統(tǒng)區(qū)、所使用的數(shù)據(jù)區(qū)和未占用數(shù)據(jù) 區(qū)提供虛擬和真實(shí)邏輯區(qū)塊編號(hào)。在初始階段(圖2A和圖4A),虛擬區(qū)塊編號(hào)和真實(shí)邏輯區(qū)塊編號(hào)是相同且連續(xù)的。 如圖4B中所示,列402-409中的所有條目對(duì)于虛擬和真實(shí)邏輯區(qū)塊編號(hào)兩者來(lái)說(shuō)是相同 的。圖4C展示經(jīng)更新的映射表400B。行400中展示主機(jī)系統(tǒng)視圖(圖2C),且行401 中展示真實(shí)的邏輯存儲(chǔ)器空間視圖(圖2D)。系統(tǒng)區(qū)條目(列410中所示)對(duì)于行400和401中的分區(qū)1是相同的。列411展示 分區(qū)1已滿(mǎn),即所有區(qū)塊6-2047都被使用。分區(qū)2具有一些未占用區(qū)塊(如圖4B中的 3001-4000所示),且將那些未占用區(qū)塊中的500個(gè)區(qū)塊分配給分區(qū)1?;谔摂M區(qū)塊編 號(hào),主機(jī)將用于分區(qū)1的這500個(gè)區(qū)塊看作從2048到2547,如行400和列414中所示。 因此,對(duì)于主機(jī)系統(tǒng)來(lái)說(shuō),分區(qū)1從區(qū)塊0延伸到區(qū)塊2547。在圖2D中所示的真實(shí)邏 輯存儲(chǔ)器空間中,用于分區(qū)1的500個(gè)區(qū)塊位于區(qū)塊編號(hào)3001和3500處(如行401和 列414中所示,圖4C)。 關(guān)于分區(qū)2,主機(jī)將用于分區(qū)區(qū)的系統(tǒng)區(qū)看作是鄰接的,即從2548到2553 (行400 和列412中所示),實(shí)際上,系統(tǒng)區(qū)是從2048到2053 (參看行401和列412)。列413中展示用于分區(qū)2中所使用的空間的數(shù)據(jù)區(qū)塊。此處再次,虛擬區(qū)塊編號(hào)是 2554-3500,而真實(shí)區(qū)塊編號(hào)是從2054-3000 (行401和列413中所示)。行400和401以 及列415和416的條目是相同的。如前面的實(shí)例所示,主機(jī)不復(fù)制用于重新分配分區(qū)空間的數(shù)據(jù)。通過(guò)使用和更新映 射表400A,將未用空間重新分配給己滿(mǎn)存儲(chǔ)器分區(qū)?;谇懊娴膶?shí)例(圖4A到圖4C),分區(qū)1的FAT表不變。對(duì)于分區(qū)2, FAT條目經(jīng) 調(diào)整以容納分派給分區(qū)1的區(qū)。參看圖2D中的實(shí)例,分區(qū)2的數(shù)據(jù)區(qū)B (展示為204C) 將使其條目減少分派給分區(qū)1的數(shù)據(jù)區(qū)。舉例來(lái)說(shuō),如果新的數(shù)據(jù)區(qū)202A中有FAT的 500個(gè)條目,那么如果數(shù)據(jù)區(qū)B在分區(qū)2的數(shù)據(jù)區(qū)A (展示為204B)以下,用于分區(qū)2 的數(shù)據(jù)區(qū)B (展示為204C)中的每個(gè)文件名稱(chēng)條目的開(kāi)始群集將調(diào)整500。圖4D說(shuō)明具有表格式的前述實(shí)例。分區(qū)B (如圖2D中的204B所示)的數(shù)據(jù)區(qū)A 具有1000個(gè)條目。區(qū)202A具有500個(gè)條目,且區(qū)204C具有500個(gè)條目。在一個(gè)實(shí)施方案中,快閃裝置150的每個(gè)分區(qū)都向主機(jī)公布其自身具有可用于所述 分區(qū)的某一容量。舉例來(lái)說(shuō),如果快閃裝置150是4GB,那么每個(gè)分區(qū)公布其自身為2GB。 因此,希望具有可用于每個(gè)分區(qū)的足夠FAT區(qū),使得其可容納整個(gè)快閃裝置空間。此額 外FAT表空間允許分區(qū)增長(zhǎng)。因此,在存儲(chǔ)器控制器150A下,F(xiàn)AT 1區(qū)207和FAT2區(qū) 208足夠大以含有整個(gè)快閃存儲(chǔ)器裝置容量的FAT條目。圖4E展示一個(gè)表,其中列417展示分區(qū)映射的主機(jī)/用戶(hù)的視圖,且列418展示實(shí) 際/真實(shí)分區(qū)映射。如列418下所示,真實(shí)分區(qū)映射包含用于FAT區(qū)擴(kuò)展部分的保留區(qū) 207A。此區(qū)足夠大,使得FAT1和FAT2中的FAT條目可容納整個(gè)存儲(chǔ)裝置。當(dāng)分區(qū)擴(kuò) 展(例如,前述實(shí)例中的分區(qū)l)時(shí),使用保留區(qū)207A來(lái)提供用于所述擴(kuò)展部分的額外 空間。當(dāng)分區(qū)區(qū)由存儲(chǔ)器控制器150A重新分配時(shí),調(diào)整FAT區(qū)以容納分區(qū)大小的變化。除FAT條目/區(qū)之外,當(dāng)分區(qū)空間由存儲(chǔ)器控制器150A重新分配時(shí),目錄區(qū)中的文 件名稱(chēng)條目也經(jīng)調(diào)整(步驟S310,圖3)?;谇笆鰧?shí)例(圖4A到圖4C),分區(qū)1的文 件名稱(chēng)條目不變。對(duì)于分區(qū)2,文件名稱(chēng)條目的開(kāi)始群集經(jīng)調(diào)整以容納分派給分區(qū)1的 區(qū)。參看圖2D中的實(shí)例,分區(qū)2的數(shù)據(jù)區(qū)B (展示為204C)將使其條目減少分派給分 區(qū)1的數(shù)據(jù)區(qū)。舉例來(lái)說(shuō),如果新的數(shù)據(jù)區(qū)202A中存在FAT的500個(gè)條目,那么如果
數(shù)據(jù)區(qū)B在分區(qū)2的數(shù)據(jù)區(qū)A(展示為204B)以下,用于分區(qū)2的數(shù)據(jù)區(qū)B(展示為204C) 中的每個(gè)文件名稱(chēng)條目的開(kāi)始群集將調(diào)整500。圖4F說(shuō)明具有表格式的前述實(shí)例。分區(qū)B (如圖2D中的204B所示)的數(shù)據(jù)區(qū)A 具有1000個(gè)條目。區(qū)202A具有500個(gè)條目,且區(qū)204C具有500個(gè)條目。用于新的分區(qū)區(qū)2的每個(gè)文件名稱(chēng)條目的開(kāi)始群集(=n)如果超過(guò)區(qū)塊1000而定 位,那么調(diào)整500。因此,如果n^lO(K),那么n'(經(jīng)調(diào)整的文件名稱(chēng)條目)等于n-500。 對(duì)包含區(qū)204B和204C中的那些條目的所有條目執(zhí)行此調(diào)整。如果文件名稱(chēng)條目展示其 為目錄或子目錄,那么目錄(或子目錄)條目也經(jīng)調(diào)整。在本發(fā)明的一個(gè)方面,在不在煩瑣耗時(shí)的操作中復(fù)制所有數(shù)據(jù)的情況下,分區(qū)區(qū)由 存儲(chǔ)器裝置控制器重新分配/調(diào)整。主機(jī)系統(tǒng)不必須執(zhí)行復(fù)制/重新格式化驅(qū)動(dòng)器以便重新 分配分區(qū)存儲(chǔ)空間的耗時(shí)過(guò)程。盡管已經(jīng)參考具體實(shí)施例描述了本發(fā)明,但這些實(shí)施例僅僅是說(shuō)明性而不是限制性 的。舉例來(lái)說(shuō),盡管前述說(shuō)明是基于快閃存儲(chǔ)器裝置,但它們同樣可應(yīng)用于其它類(lèi)型的 存儲(chǔ)器裝置,例如硬盤(pán)。根據(jù)此揭示內(nèi)容和所附權(quán)利要求書(shū),將明白本發(fā)明的許多其它 應(yīng)用和實(shí)施例。
權(quán)利要求
1.一種大容量存儲(chǔ)存儲(chǔ)器系統(tǒng),其包括可重新編程的非易失性存儲(chǔ)器單元,所述存儲(chǔ)器單元被布置在多個(gè)存儲(chǔ)器單元區(qū)塊中,其可一起擦除且一起連接在多個(gè)串聯(lián)串中,以界定用于存儲(chǔ)數(shù)據(jù)的存儲(chǔ)器單元行,其中將所述存儲(chǔ)器單元分成至少兩個(gè)存儲(chǔ)器分區(qū),且每個(gè)存儲(chǔ)器分區(qū)具有系統(tǒng)區(qū)和數(shù)據(jù)區(qū);以及控制器,其包含適合于經(jīng)由邏輯接口從主機(jī)系統(tǒng)接收數(shù)據(jù)的微處理器;其中所述控制器通過(guò)使用映射表,將存儲(chǔ)器空間從具有未用空間的第二存儲(chǔ)器分區(qū)重新分配給已滿(mǎn)或已達(dá)到閾值的第一存儲(chǔ)器分區(qū),其中所述映射表使用所述系統(tǒng)區(qū)和所述數(shù)據(jù)區(qū)的虛擬區(qū)塊地址,使得所述系統(tǒng)區(qū)和所述數(shù)據(jù)區(qū)看似鄰接所述主機(jī)系統(tǒng);以及真實(shí)邏輯區(qū)塊地址,其將所述虛擬區(qū)塊地址映射到實(shí)際邏輯區(qū)塊地址。
2. 根據(jù)權(quán)利要求l所述的大容量存儲(chǔ)系統(tǒng),其中所述第一存儲(chǔ)器分區(qū)和所述第二存儲(chǔ) 器分區(qū)的每個(gè)系統(tǒng)區(qū)都包含用于存儲(chǔ)文件分配表("FAT")的空間,其中所述FAT 區(qū)基于是將數(shù)據(jù)空間添加到分區(qū)還是從分區(qū)減去數(shù)據(jù)空間而擴(kuò)展或收縮。
3. 根據(jù)權(quán)利要求2所述的大容量存儲(chǔ)系統(tǒng),其中第一存儲(chǔ)器分區(qū)和第二存儲(chǔ)器分區(qū)的 所述FAT區(qū)足夠大以容納所述整個(gè)大容量存儲(chǔ)系統(tǒng)的FAT條目。
4. 根據(jù)權(quán)利要求1所述的大容量存儲(chǔ)系統(tǒng),其中當(dāng)所述大容量存儲(chǔ)系統(tǒng)被初始化時(shí), 虛擬地址和真實(shí)邏輯地址對(duì)于所述第一存儲(chǔ)器分區(qū)和所述第二存儲(chǔ)器分區(qū)是相同 的。
5. 根據(jù)權(quán)利要求l所述的大容量存儲(chǔ)系統(tǒng),其中當(dāng)空余存儲(chǔ)器空間從所述第二存儲(chǔ)器 分區(qū)分配到所述第一存儲(chǔ)器分區(qū)時(shí),調(diào)整存儲(chǔ)器分區(qū)的FAT條目。
6. 根據(jù)權(quán)利要求1所述的大容量存儲(chǔ)系統(tǒng),其中當(dāng)空余存儲(chǔ)器空間從所述第二存儲(chǔ)器 分區(qū)分配到所述第一存儲(chǔ)器分區(qū)時(shí),調(diào)整目錄中的文件名稱(chēng)條目。
7. 根據(jù)權(quán)利要求l所述的大容量存儲(chǔ)系統(tǒng),其中所述大容量存儲(chǔ)系統(tǒng)是快閃裝置。
8. —種大容量存儲(chǔ)存儲(chǔ)器系統(tǒng),其包括控制器,其包含適合于經(jīng)由邏輯接口從主機(jī)系統(tǒng)接收數(shù)據(jù)的微處理器; 第一存儲(chǔ)器分區(qū),其具有系統(tǒng)區(qū)和數(shù)據(jù)區(qū);以及第二存儲(chǔ)器分區(qū),其具有系統(tǒng)區(qū)和數(shù)據(jù)區(qū);其中所述控制器通過(guò)使用所述系統(tǒng)區(qū) 和所述數(shù)據(jù)區(qū)的虛擬區(qū)塊地址使得所述系統(tǒng)區(qū)和所述數(shù)據(jù)區(qū)看似鄰接所述主機(jī)系 統(tǒng),來(lái)將存儲(chǔ)器空間從具有未用存儲(chǔ)空間的所述第二存儲(chǔ)器分區(qū)重新分配到已滿(mǎn)或
9. 根據(jù)權(quán)利要求8所述的大容量存儲(chǔ)系統(tǒng),其中所述第一存儲(chǔ)器分區(qū)和所述第二存儲(chǔ) 器分區(qū)的每個(gè)系統(tǒng)區(qū)包含用于存儲(chǔ)文件分配表("FAT")的空間,其中所述FAT區(qū) 基于是將數(shù)據(jù)區(qū)添加到分區(qū)還是從分區(qū)減去數(shù)據(jù)區(qū)而擴(kuò)展或收縮。
10. 根據(jù)權(quán)利要求9所述的大容量存儲(chǔ)系統(tǒng),其中所述第一存儲(chǔ)器分區(qū)和所述第二存儲(chǔ) 器分區(qū)的所述FAT區(qū)足夠大以容納所述整個(gè)大容量存儲(chǔ)系統(tǒng)的FAT條目。
11. 根據(jù)權(quán)利要求8所述的大容量存儲(chǔ)系統(tǒng),其中當(dāng)所述大容量存儲(chǔ)系統(tǒng)被初始化時(shí), 虛擬地址和真實(shí)邏輯地址對(duì)于所述第一存儲(chǔ)器分區(qū)和所述第二存儲(chǔ)器分區(qū)是相同 的。
12. 根據(jù)權(quán)利要求8所述的大容量存儲(chǔ)系統(tǒng),其中當(dāng)空余存儲(chǔ)器空間從所述第二存儲(chǔ)器 分區(qū)分配到所述第一存儲(chǔ)器分區(qū)時(shí),調(diào)整存儲(chǔ)器分區(qū)的FAT條目。
13. 根據(jù)權(quán)利要求8所述的大容量存儲(chǔ)系統(tǒng),其中當(dāng)空余存儲(chǔ)器空間從所述第二存儲(chǔ)器 分區(qū)分配到所述第一存儲(chǔ)器分區(qū)時(shí),調(diào)整目錄中的文件名稱(chēng)條目。
14. 根據(jù)權(quán)利要求8所述的大容量存儲(chǔ)系統(tǒng),其中所述大容量存儲(chǔ)系統(tǒng)是快閃裝置。
15. 根據(jù)權(quán)利要求8所述的大容量存儲(chǔ)系統(tǒng),其中所述大容量存儲(chǔ)系統(tǒng)是硬盤(pán)。
16. —種用于在大容量存儲(chǔ)系統(tǒng)的具有系統(tǒng)區(qū)和數(shù)據(jù)區(qū)的第一存儲(chǔ)器分區(qū)與具有系統(tǒng) 區(qū)和數(shù)據(jù)區(qū)的第二存儲(chǔ)器分區(qū)之間動(dòng)態(tài)地重新分配數(shù)據(jù)存儲(chǔ)空間的方法,其包括確定所述第一存儲(chǔ)器分區(qū)是否已滿(mǎn)和/或已達(dá)到閾值;確定所述第二存儲(chǔ)器分區(qū)是否具有可分配給所述已滿(mǎn)和/或己達(dá)到閾值的第一存 儲(chǔ)器分區(qū)的未占用空間;以及將一些未占用空間從所述第二存儲(chǔ)器分區(qū)分派到所述第一存儲(chǔ)器分區(qū),其中存儲(chǔ) 器控制器分派所述未占用空間。
17. 根據(jù)權(quán)利要求16所述的方法,其中所述大容量存儲(chǔ)系統(tǒng)包含可重新編程的非易失 性存儲(chǔ)器單元,所述存儲(chǔ)器單元布置在多個(gè)存儲(chǔ)器單元區(qū)塊中,其可一起擦除且一 起連接在多個(gè)串聯(lián)串中,以界定用于存儲(chǔ)數(shù)據(jù)的存儲(chǔ)器單元行;且所述存儲(chǔ)器控制 器包含適合于經(jīng)由邏輯接口從主機(jī)系統(tǒng)接收數(shù)據(jù)的微處理器;且所述控制器使用映 射表,所述映射表具有用于所述系統(tǒng)區(qū)和所述數(shù)據(jù)區(qū)的虛擬區(qū)塊地址,使得所述系 統(tǒng)區(qū)和所述數(shù)據(jù)區(qū)看似鄰接所述主機(jī)系統(tǒng)。
18. 根據(jù)權(quán)利要求16所述的方法,其中所述第一存儲(chǔ)器分區(qū)和所述第二存儲(chǔ)器分區(qū)的 每個(gè)系統(tǒng)區(qū)包含用于存儲(chǔ)文件分配表("FAT")的空間,其中所述FAT區(qū)基于是將 數(shù)據(jù)空間添加到分區(qū)還是從分區(qū)減去數(shù)據(jù)空間而擴(kuò)展或收縮。
19. 根據(jù)權(quán)利要求18所述的方法,其中所述第一存儲(chǔ)器分區(qū)和所述第二存儲(chǔ)器分區(qū)的 所述FAT區(qū)足夠大以容納所述整個(gè)大容量存儲(chǔ)系統(tǒng)的FAT條目。
20. 根據(jù)權(quán)利要求16所述的方法,其中當(dāng)所述大容量存儲(chǔ)系統(tǒng)被初始化時(shí),虛擬地址 和真實(shí)邏輯地址對(duì)于所述第一存儲(chǔ)器分區(qū)和所述第二存儲(chǔ)器分區(qū)是相同的。
21. 根據(jù)權(quán)利要求16所述的方法,其中當(dāng)空余存儲(chǔ)器空間從一個(gè)存儲(chǔ)器分區(qū)分配到另 一存儲(chǔ)器分區(qū)時(shí),調(diào)整存儲(chǔ)器分區(qū)的FAT條目。
22. 根據(jù)權(quán)利要求16所述的方法,其中當(dāng)空余存儲(chǔ)器空間從所述第二存儲(chǔ)器分區(qū)分配 到所述第一存儲(chǔ)器分區(qū)時(shí),調(diào)整目錄中的文件名稱(chēng)條目。
23. 根據(jù)權(quán)利要求16所述的方法,其中所述大容量存儲(chǔ)系統(tǒng)是快閃裝置。
24. 根據(jù)權(quán)利要求16所述的方法,其中所述大容量存儲(chǔ)系統(tǒng)是磁性硬盤(pán)。
25. 根據(jù)權(quán)利要求16所述的方法,其中所述存儲(chǔ)器控制在接收到來(lái)自主機(jī)系統(tǒng)的命令 之后重新分配分區(qū)空間。
全文摘要
本發(fā)明提供一種用于重新分配存儲(chǔ)器分區(qū)空間的大容量存儲(chǔ)存儲(chǔ)器系統(tǒng)和方法。所述存儲(chǔ)系統(tǒng)包含存儲(chǔ)器控制器,其具有微處理器,所述微處理器適合于經(jīng)由邏輯接口從主機(jī)系統(tǒng)接收數(shù)據(jù);第一存儲(chǔ)器分區(qū),其具有系統(tǒng)區(qū)和數(shù)據(jù)區(qū);以及第二存儲(chǔ)器分區(qū),其具有系統(tǒng)區(qū)和數(shù)據(jù)區(qū);其中所述存儲(chǔ)器控制器通過(guò)使用所述系統(tǒng)區(qū)和所述數(shù)據(jù)區(qū)的虛擬區(qū)塊地址使得所述系統(tǒng)區(qū)和所述數(shù)據(jù)區(qū)看似鄰接所述主機(jī)系統(tǒng),來(lái)將存儲(chǔ)器空間從所述第二存儲(chǔ)器分區(qū)重新分配到已滿(mǎn)或已經(jīng)達(dá)到閾值的所述第一存儲(chǔ)器分區(qū)。
文檔編號(hào)G06F3/06GK101213510SQ200680023595
公開(kāi)日2008年7月2日 申請(qǐng)日期2006年6月28日 優(yōu)先權(quán)日2005年6月29日
發(fā)明者保羅·麥卡沃伊, 巴赫曼·卡瓦米, 法施德·薩伯特-沙吉, 羅伯特·C·張, 邁克爾·霍爾茨曼 申請(qǐng)人:桑迪士克股份有限公司
網(wǎng)友詢(xún)問(wèn)留言 已有0條留言
  • 還沒(méi)有人留言評(píng)論。精彩留言會(huì)獲得點(diǎn)贊!
1