專利名稱:數(shù)據(jù)存儲裝置及其初始化方法
技術(shù)領(lǐng)域:
本發(fā)明涉及數(shù)據(jù)存儲裝置的初始化技術(shù),該數(shù)據(jù)存儲裝置存儲從主機(jī) 裝置傳送過來的數(shù)據(jù)。
背景技術(shù):
作為存儲從計(jì)算機(jī)等主機(jī)裝置傳送過來的數(shù)據(jù)的存儲裝置,有硬盤驅(qū)
動、存儲卡、或USB閃存等各種裝置。 一般將被稱作FAT的文件系統(tǒng)作 為應(yīng)用于這些存儲裝置的文件系統(tǒng)。在基于該FAT文件系統(tǒng)進(jìn)行的初始化 (格式化)處理中,將被稱作文件分配表的管理表存儲在數(shù)據(jù)存儲裝置 內(nèi)。在該文件分配表中,就作為管理對象的每個(gè)文件,記錄了表示該文件 的簇結(jié)構(gòu)和存儲位置的管理信息。
如上所述,在文件分配表中記錄非常重要的信息。因此,主機(jī)裝置通 常在對數(shù)據(jù)存儲裝置進(jìn)行初始化時(shí),在數(shù)據(jù)存儲裝置中存儲兩個(gè)內(nèi)容相同 的文件分配表。由此,即使一個(gè)文件分配表損壞,還可以用另一個(gè)文件分 配表來正常地進(jìn)行數(shù)據(jù)的讀寫(參見日本專利文獻(xiàn)特開平11-249968號公 報(bào))。
然而,近幾年的數(shù)據(jù)存儲裝置很多都僅憑其單個(gè)裝置就能夠基于ECC 數(shù)據(jù)等進(jìn)行糾錯(cuò),從而提高了存儲數(shù)據(jù)的可靠性。因此,即使通過主機(jī)裝 置的格式化處理而準(zhǔn)備了兩個(gè)內(nèi)容相同的文件分配表,第二個(gè)文件分配表 被使用的情況也極其少。在這種情況下,對準(zhǔn)備兩個(gè)的文件分配表分別記 錄管理信息的做法就會成為導(dǎo)致文件寫入效率下降的主要原因。這種問題 不限于FAT文件系統(tǒng),在采用了需要記錄兩個(gè)內(nèi)容相同的管理表的其他文 件系統(tǒng)的數(shù)據(jù)存儲裝置中也存在同樣的問題
發(fā)明內(nèi)容
考慮以上問題,本發(fā)明要解決的問題是提高通過主機(jī)裝置的格式化處 理而生成多個(gè)管理表的數(shù)據(jù)存儲裝置的數(shù)據(jù)寫入效率。
為了解決上述問題,本發(fā)明一個(gè)方面的數(shù)據(jù)存儲裝置是一種存儲從主 機(jī)裝置傳來的數(shù)據(jù)的數(shù)據(jù)存儲裝置,其包括
存儲設(shè)備,通過由所述主機(jī)裝置進(jìn)行的格式化處理,來確保用于存儲 所述數(shù)據(jù)的數(shù)據(jù)存儲區(qū)域,并且存儲多個(gè)相同內(nèi)容的管理表和表示該管理 表的數(shù)目的表數(shù)目數(shù)據(jù),所述多個(gè)相同內(nèi)容的管理表用于管理存儲在所述 數(shù)據(jù)存儲區(qū)域內(nèi)的每個(gè)數(shù)據(jù)的記錄位置;
改寫單元,在由所述主機(jī)裝置進(jìn)行所述格式化處理之后,將存儲在所 述存儲設(shè)備中的所述表數(shù)目數(shù)據(jù)改寫為比通過所述格式化處理而存儲的值 小的值;以及
輸出單元,在從所述主機(jī)裝置傳送所述數(shù)據(jù)之前,響應(yīng)于來自所述主 機(jī)裝置的請求,將所述改寫的表數(shù)目數(shù)據(jù)輸出給所述主機(jī)裝置。
根據(jù)如上結(jié)構(gòu)的數(shù)據(jù)存儲裝置,即使通過由主機(jī)裝置進(jìn)行的格式化處 理而存儲了多個(gè)相同內(nèi)容的管理表,通過改寫表數(shù)目數(shù)據(jù),也能夠?qū)嶋H上 強(qiáng)制性地減少所述管理表的數(shù)目。因此,主機(jī)裝置能夠以比通常少的次數(shù) 完成對管理表中寫入數(shù)據(jù)的位置的記錄,從而可提高數(shù)據(jù)存儲裝置的寫入 效率和動作速度。特別是,近幾年的存儲設(shè)備,例如閃存或硬盤等,很多 都能夠獨(dú)立于主機(jī)裝置基于ECC數(shù)據(jù)等進(jìn)行糾錯(cuò)。從而,即使通過如上構(gòu) 成而減少了管理表的數(shù)目,數(shù)據(jù)存儲可靠性受損的可能性也很小。
在如上構(gòu)成的數(shù)據(jù)存儲裝置中,所述主機(jī)裝置可基于FAT文件系統(tǒng)進(jìn) 行所述格式化處理。此時(shí),所述存儲設(shè)備存儲基于所述FAT文件系統(tǒng)的文 件分配表,以作為所述管理表。另外,所述存儲設(shè)備將所述文件分配表的 數(shù)目作為所述表數(shù)目數(shù)據(jù)存儲到基于所述FAT文件系統(tǒng)而在所述存儲設(shè)備 中確保的BIOS參數(shù)塊(bios parameter block)區(qū)域中。
根據(jù)如此構(gòu)成,可提高根據(jù)通用的FAT文件系統(tǒng)被格式化的數(shù)據(jù)存儲 裝置的速度,從而能夠提高用戶的使用便利性。
在如上構(gòu)成的數(shù)據(jù)存儲裝置中,所述存儲設(shè)備可以是非易失性半導(dǎo)體 存儲器。根據(jù)如上構(gòu)成,可提供便于便攜的小型數(shù)據(jù)存儲裝置。作為非易失性
半導(dǎo)體存儲器,例如可利用NAND型或NOR型的各種閃存、EEPROM、 自備電池的DRAM等。作為存儲設(shè)備,除了半導(dǎo)體存儲器之外,例如還 可以采用硬盤驅(qū)動器或可改寫的光盤等。
在如上構(gòu)成的數(shù)據(jù)存儲裝置中,所述主機(jī)裝置和所述數(shù)據(jù)存儲裝置可 以通過USB接口相連。
根據(jù)如上構(gòu)成,通過將本發(fā)明的數(shù)據(jù)存儲裝置連接到主機(jī)裝置已有的 USB接口上,就能夠容易地利用本發(fā)明的數(shù)據(jù)存儲裝置。因此,可提高用 戶的使用便利性。另外,除了 USB接口之外,例如還可以通過PCMCIA 接口、串行ATA接口、 IEEE1394接口等來連接。
本發(fā)明除了可作為上述的存儲裝置實(shí)現(xiàn)之外,還可作為數(shù)據(jù)存儲裝置 的初始化方法實(shí)現(xiàn)。
圖1是表示數(shù)據(jù)存儲裝置和主機(jī)裝置的簡要結(jié)構(gòu)的說明圖2是表示數(shù)據(jù)存儲裝置的數(shù)據(jù)結(jié)構(gòu)的說明圖3是主處理的流程圖4是FAT數(shù)目改寫處理的流程圖5是寫處理的流程圖6是讀處理的流程圖。
具體實(shí)施例方式
下面,為了明確上述本發(fā)明的作用和效果,基于實(shí)施例按照如下的順 序說明本發(fā)明的實(shí)施方式。
A. 數(shù)據(jù)存儲裝置的簡要結(jié)構(gòu)
B. 主處理
C. FAT數(shù)目改寫處理
D. 寫處理
E. 讀處理F. 效果
G. 變形例
A.數(shù)據(jù)存儲裝置的簡要結(jié)構(gòu)
圖1是表示作為實(shí)施例的數(shù)據(jù)存儲裝置IO和主機(jī)裝置20的簡要結(jié)構(gòu) 的說明圖。主機(jī)裝置20是所謂的個(gè)人計(jì)算機(jī),如圖1所示,其包括CPU
200、 RAM 210、硬盤驅(qū)動器220、 USB接口 230,其中硬盤驅(qū)動器220安 裝有操作系統(tǒng)、以及用于控制與數(shù)據(jù)存儲裝置10之間的通信的驅(qū)動器。 另一方面,數(shù)據(jù)存儲裝置10包括USB連接器llO、 USB控制電路120、 閃存控制器130、以及閃存FL。
USB連接器110暴露在數(shù)據(jù)存儲裝置10的殼體之外,并與主機(jī)裝置 20的USB接口 230連接。在本實(shí)施例中,用于驅(qū)動數(shù)據(jù)存儲裝置10的電 力由主機(jī)裝置20經(jīng)由該USB連接器IIO提供。當(dāng)然,電力也可以由連接 在數(shù)據(jù)存儲裝置10上的沒有圖示的AC適配器等來提供。
USB控制電路120連接在USB連接器IIO和閃存控制器130上。USB 控制電路120是用于使該數(shù)據(jù)存儲裝置10作為USB大容量存儲類設(shè)備而 工作的電路,并且也是基于USB協(xié)議來控制與主機(jī)裝置20之間的通信的 電路。該USB控制電路120還具有將從主機(jī)裝置20接收的USB指令轉(zhuǎn)換 為ATA指令或SCSI指令、或者將從閃存控制器130接收的數(shù)據(jù)或狀態(tài)信 號轉(zhuǎn)換為USB指令的功能。ATA指令和SCSI指令是由ANSI (American National Standard Institute,美國國家標(biāo)準(zhǔn)學(xué)會)進(jìn)行了標(biāo)準(zhǔn)化的指令,這 些指令是除本實(shí)施例的數(shù)據(jù)存儲裝置10之外還用于對硬盤或PC卡型內(nèi)存 等各種數(shù)據(jù)存儲裝置進(jìn)行數(shù)據(jù)讀寫控制的具有通用性的指令。
閃存控制器130是解釋從USB控制電路120傳來的ATA指令并控制 從閃存FL的數(shù)據(jù)讀出或向閃存FL的數(shù)據(jù)寫入的集成電路。閃存控制器 130為了進(jìn)行相關(guān)控制,在其內(nèi)部具有CPU和ROM、 RAM等。在所述 ROM中記錄了用于控制數(shù)據(jù)存儲裝置10的動作的程序。CPU通過以 RAM為工作區(qū)域執(zhí)行該程序來控制數(shù)據(jù)存儲裝置10整體的動作。
閃存控制器130具有EEPROM 137。 EEPROM 137中存儲了用于控制在閃存FL內(nèi)提供的FAT區(qū)域的數(shù)目的FAT控制標(biāo)志(control flag)。該 FAT控制標(biāo)志的作用將在后面進(jìn)行詳細(xì)說明。
圖2是表示數(shù)據(jù)存儲裝置10的數(shù)據(jù)結(jié)構(gòu)的說明圖。通過主機(jī)裝置20 基于FAT文件系統(tǒng)對數(shù)據(jù)存儲裝置10進(jìn)行格式化處理,該數(shù)據(jù)存儲裝置 10生成圖左側(cè)所示的各區(qū)域。具體來說,從閃存FL的首地址依次生成主 引導(dǎo)記錄區(qū)域(master boot record area,以下稱為"MBR區(qū)域")、BIOS 參數(shù)塊區(qū)域(bios parameter block area,以下稱為"BPB區(qū)域")、FAT1 區(qū)域、FAT2區(qū)域、根目錄區(qū)域(root directory area)、用戶區(qū)域。
MBR區(qū)域是在數(shù)據(jù)存儲裝置10與主機(jī)裝置20連接后最先被讀取的區(qū) 域。該區(qū)域中記錄引導(dǎo)代碼或分區(qū)表等信息(以下稱為"MBR信 息")。分區(qū)表中記錄了所生成的分區(qū)的數(shù)目、各分區(qū)的起始扇區(qū)和的結(jié) 束扇區(qū)、偏移量(offset)、總扇區(qū)數(shù)目等信息。在本實(shí)施例中假設(shè)僅生成 了一個(gè)分區(qū)。
BPB區(qū)域被提供于各分區(qū)的首扇區(qū),在該BPB區(qū)域中記錄該分區(qū)的 格式化類型和扇區(qū)數(shù)目、指示后述的文件分配表的數(shù)目的FAT數(shù)目數(shù)據(jù)等 (以下,將這些信息統(tǒng)稱為"BPB信息")。在FAT文件系統(tǒng)中通常準(zhǔn) 備兩個(gè)文件分配表,因此在被主機(jī)裝置20進(jìn)行格式化處理之后,F(xiàn)AT數(shù) 目數(shù)據(jù)被設(shè)定為"2"。 一旦數(shù)據(jù)存儲裝置10連接到USB接口 230上,主 機(jī)裝置20就參考該BPB區(qū)域內(nèi)的FAT數(shù)目數(shù)據(jù)來確認(rèn)數(shù)據(jù)存儲裝置10 所具有的文件分配表的數(shù)目。然后,根據(jù)確認(rèn)的數(shù)目,向文件分配表中寫 入管理信息。
在FAT1區(qū)域及FAT2區(qū)域中記錄文件分配表,該文件分配表示出了 用戶數(shù)據(jù)區(qū)域中寫入的各文件的位置及其簇結(jié)構(gòu)。基于FAT文件系統(tǒng)進(jìn)行 的通常的格式化處理在FAT1區(qū)域和FAT2區(qū)域中準(zhǔn)備內(nèi)容相同的文件分 配表。
根目錄區(qū)域是記錄用戶數(shù)據(jù)區(qū)域中所記錄的文件的文件名、擴(kuò)展名、 屬性、以及構(gòu)成該文件的首簇號等的區(qū)域。
用戶數(shù)據(jù)區(qū)域是記錄從主機(jī)裝置20傳來的文件的實(shí)質(zhì)內(nèi)容的區(qū)域。 數(shù)據(jù)存儲裝置10具有在被主機(jī)裝置20進(jìn)行格式化處理之后重新接通電源等時(shí)將BPB區(qū)域中設(shè)定為"2"的FAT數(shù)目數(shù)據(jù)如圖2的右側(cè)所示那 樣改寫為"1"的功能。當(dāng)通過相對于USB接口 230拔出插入數(shù)據(jù)存儲裝 置IO等而數(shù)據(jù)存儲裝置10的電源重新被接通時(shí),主機(jī)裝置20在進(jìn)行文件 傳送等實(shí)際的文件存取之前,先向數(shù)據(jù)存儲裝置10請求讀取包括該FAT 數(shù)目數(shù)據(jù)在內(nèi)的BPB信息和MBR信息。然后,基于所讀入的這些信息來 決定此后的存取方式。即,當(dāng)由于重新接通數(shù)據(jù)存儲裝置10的電源而 FAT數(shù)目數(shù)據(jù)從"2"被改寫為"1"時(shí),該值被主機(jī)裝置20讀取,從而 以后的文件存取在假定只存在一個(gè)文件分配表的情況下執(zhí)行。從而,若 FAT數(shù)目數(shù)據(jù)被改寫為"1",則即使實(shí)際上存在兩個(gè)FAT區(qū)域,也只對 其中一個(gè)FAT區(qū)域進(jìn)行存取。
為了便于說明,在圖2的右側(cè)刪掉了 FAT2區(qū)域,但實(shí)際上只改寫 FAT數(shù)目數(shù)據(jù),并保留FAT2區(qū)域并不特意進(jìn)行刪除等。即使留下FAT2 區(qū)域,只要FAT數(shù)目數(shù)據(jù)為"1",主機(jī)裝置20原則上如上述那樣只對 FAT1區(qū)域進(jìn)行存取,而不對FAT2區(qū)域進(jìn)行存取。在本實(shí)施例中,雖然 如上所述保留FAT2區(qū)域,但也可以在改寫FAT數(shù)目數(shù)據(jù)的同時(shí)刪除 FAT2區(qū)域本身。此時(shí),如果將根目錄區(qū)域之后的區(qū)域與FAT1區(qū)域連接 起來,則可將FAT2區(qū)域的容量作為用戶數(shù)據(jù)區(qū)域等來有效地利用。
B.主處理
圖3是由數(shù)據(jù)存儲裝置10執(zhí)行的主處理的流程圖。該處理是在數(shù)據(jù) 存儲裝置10連接到主機(jī)裝置20上從而被提供電源的同時(shí)由閃存控制器 130開始執(zhí)行的處理。
在該處理開始之后,首先,閃存控制器130進(jìn)行用于根據(jù)需要將FAT 數(shù)目數(shù)據(jù)從"2"改寫為"1"的FAT數(shù)目改寫處理(步驟S100)。對于 該FAT數(shù)目改寫處理,將在后面進(jìn)行詳細(xì)敘述。
接著,閃存控制器130判斷是否經(jīng)由USB控制電路120從主機(jī)裝置 20接收了任何指令(步驟S110)。當(dāng)沒有接收到指令時(shí)(步驟S110: "否"),通過循環(huán)進(jìn)行該處理來進(jìn)行等待直到接收到指令為止。另一方 面,當(dāng)接收到指令時(shí)(步驟S110:"是"),判斷該指令的種類(步驟 S120)。在上述步驟S120中,當(dāng)判斷出所接收的指令是進(jìn)行數(shù)據(jù)寫入的指令
時(shí)(步驟S120:"寫"),閃存控制器130進(jìn)行后述的寫處理(步驟 S130)。另一方面,當(dāng)判斷出所接收的指令是進(jìn)行數(shù)據(jù)讀取的指令時(shí)(步 驟S120:"讀"),閃存控制器130進(jìn)行后述的讀處理(步驟S140)。 然后,待這些處理結(jié)束之后,將處理返回到上述的步驟SllO。根據(jù)以上說 明的主處理,響應(yīng)于從主機(jī)裝置20接收到的指令的處理一直被執(zhí)行,直 到停止供電。
C. FAT數(shù)目改寫處理
圖4是在上述主處理的步驟S100中執(zhí)行的FAT數(shù)目改寫處理的流程 圖。該處理是用于將FAT數(shù)目數(shù)據(jù)從"2"改寫為"1"的處理。該處理例 如在以下情況下執(zhí)行,即在數(shù)據(jù)存儲裝置10連接在主裝置20的狀態(tài)下 主裝置20的電源被切斷,之后又重新接通電源的情況,或者諸如通過相 對于主機(jī)裝置20的USB接口 230拔出插入數(shù)據(jù)存儲裝置10而數(shù)據(jù)存儲裝 置10的電源重新被接通的情況。
當(dāng)由于數(shù)據(jù)存儲裝置10的電源被接通而啟動FAT數(shù)目改寫處理時(shí), 首先,閃存控制器130讀取閃存FL的MBR區(qū)域和BPB區(qū)域(步驟 S200)。然后,判斷這些區(qū)域是否已經(jīng)被寫入了 MBR信息和BPB信息 (步驟S210)。
在上述步驟S210中,當(dāng)判斷出沒有寫入MBR信息和BPB信息時(shí)
(步驟S210:"否"),表示數(shù)據(jù)存儲裝置10處在還未根據(jù)FAT文件系 統(tǒng)被格式化的狀態(tài),因此,閃存控制器130將FAT控制標(biāo)志設(shè)置為
"0",并將該值記錄在EEPROM 137內(nèi)(步驟S220)。若FAT控制標(biāo) 志為"1",則表示FAT數(shù)目數(shù)據(jù)從"2"被改寫成了 "1",若為"0", 則表示沒有被改寫。
在上述步驟S210中,當(dāng)判斷出已寫入了 MBR信息和BPB信息時(shí)
(步驟S210:"是"),可判斷出數(shù)據(jù)存儲裝置10處于已被主機(jī)裝置20 根據(jù)FAT文件系統(tǒng)進(jìn)行了格式化的狀態(tài)。因此,閃存控制器130參考 BPB信息中所記錄的FAT數(shù)目數(shù)據(jù),判斷該FAT數(shù)目數(shù)據(jù)是否為"2"
(步驟S230)。進(jìn)行所述判斷的結(jié)果,若FAT數(shù)目數(shù)據(jù)為"2"(步驟S230:"是"),則閃存控制器130將BPB區(qū)域的FAT數(shù)目數(shù)據(jù)改寫為 "1"(步驟S240)。與此相對,若FAT數(shù)目數(shù)據(jù)已經(jīng)為"1"(步驟 S230:"否"),則不進(jìn)行所述改寫。
當(dāng)在上述步驟S230中判斷出FAT數(shù)目數(shù)據(jù)已經(jīng)為"1"時(shí)(步驟 S230:"否"),或者在通過上述步驟S240將FAT數(shù)目數(shù)據(jù)改寫為 "1"之后,閃存控制器130將FAT控制標(biāo)志設(shè)置為"1",并將該值記錄 在EEPROM137內(nèi)(步驟S250)。
根據(jù)以上說明的FAT數(shù)目改寫處理,在被主機(jī)裝置20格式化之后第 一次接通電源時(shí),F(xiàn)AT數(shù)目數(shù)據(jù)通過上述步驟S240而從"2"被改寫為 "1"。從而,即使實(shí)際上存在兩個(gè)文件分配表,在進(jìn)行所述改寫之后, 可使主機(jī)裝置20認(rèn)為只有一個(gè)文件分配表。
在本實(shí)施例中,是在上述的步驟S230中根據(jù)記錄在BPB區(qū)域中的 FAT數(shù)目數(shù)據(jù)的值來判斷FAT數(shù)目數(shù)據(jù)是否從"2"被改寫為"1"的。 但是,也可以在步驟S210中判定為"是"時(shí),不進(jìn)行有關(guān)FAT數(shù)目數(shù)據(jù) 的上述判斷,而總是將"1"作為FAT數(shù)目數(shù)據(jù)寫入EEPROM 137內(nèi)。在 上述的說明中,當(dāng)FAT數(shù)目數(shù)據(jù)為"2"時(shí)改寫為"1",當(dāng)FAT數(shù)目數(shù) 據(jù)為"1"時(shí)不進(jìn)行改寫而保持"1"。也就是說,F(xiàn)AT數(shù)目數(shù)據(jù)的數(shù)最終 總為"1"。如此,若每次寫入"1",則可以省略條件分支處理,因此能 夠簡化處理。 D.寫處理
圖5是在上述主處理的步驟S130中執(zhí)行的寫處理的流程圖。該寫處 理是用于將從主機(jī)裝置20接收的數(shù)據(jù)寫入閃存FL中的處理。
當(dāng)執(zhí)行該處理時(shí),閃存控制器130首先將從主機(jī)裝置20經(jīng)由USB控 制電路120接收的數(shù)據(jù)寫入閃存FL內(nèi)被指定的地址(步驟S300)。
接著,閃存控制器130參考EEPROM 137,判斷FAT控制標(biāo)志FC是 否為"1"(步驟S310)。進(jìn)行所述判斷的結(jié)果,若FAT控制標(biāo)志FC為 "0"(步驟S310:"否"),則表示目前FAT數(shù)目數(shù)據(jù)還未從"2"被 改寫為"1",或者沒有根據(jù)FAT文件系統(tǒng)被格式化。從而,有時(shí)在按照 上述步驟S300進(jìn)行寫入處理的同時(shí)需要改寫FAT數(shù)目數(shù)據(jù),因此執(zhí)行與圖4所示的FAT數(shù)目數(shù)據(jù)改寫處理相同的處理(步驟S320),之后結(jié)束 該寫處理。另一方面,在上述步驟S310中,若判斷出FAT控制標(biāo)志FC 為"1"(步驟S310:"是"),則表示FAT數(shù)目數(shù)據(jù)已被設(shè)定為 "1",已實(shí)現(xiàn)了高速的數(shù)據(jù)寫入。因此,此時(shí)不執(zhí)行FAT數(shù)目改寫處 理,直接結(jié)束該寫處理。
在以上說明的寫處理中,當(dāng)在上述步驟S300中向閃存FL的MBR區(qū) 域和BPB區(qū)域中經(jīng)寫入了 MBR信息和BPB信息時(shí),表示己基于FAT文 件系統(tǒng)被主機(jī)裝置20進(jìn)行了格式化。因此,此時(shí)通過進(jìn)行與圖4所示的 FAT數(shù)目改寫處理相同的處理,能夠在格式化處理后立即將FAT數(shù)目數(shù) 據(jù)從"2"改寫為"1" 。 g卩,根據(jù)該寫處理,可在被主機(jī)裝置20格式化 之后立即將FAT數(shù)目數(shù)據(jù)從"2"改寫為"1",而不用等到重新接通電 源。
E. 讀處理
圖6是在上述的主處理的步驟S140中執(zhí)行的讀處理的流程圖。該讀 處理是響應(yīng)于來自主機(jī)裝置20的請求而從閃存FL讀出數(shù)據(jù)的處理。
當(dāng)執(zhí)行該處理時(shí),閃存控制器130解析從主機(jī)裝置20經(jīng)由USB控制 電路120接收的讀指令,并從閃存FL內(nèi)被指定的地址讀取數(shù)據(jù)(步驟 S400)。然后,將讀取的數(shù)據(jù)傳送給主機(jī)裝置(步驟S410)。通過以上的 處理,完成本實(shí)施例的讀處理。
主機(jī)裝置20在數(shù)據(jù)存儲裝置10的電源被接通等的情況下,為了適當(dāng) 地對數(shù)據(jù)存儲裝置10的存儲區(qū)域進(jìn)行文件存取,在進(jìn)行用戶數(shù)據(jù)的讀寫 之前,請求讀取包含F(xiàn)AT數(shù)目數(shù)據(jù)的BPB信息和MBR信息。當(dāng)執(zhí)行該讀 入請求時(shí),數(shù)據(jù)存儲裝置IO通過上述讀處理將FAT數(shù)目數(shù)據(jù)等輸出給主 機(jī)裝置20。主機(jī)裝置通過如此從數(shù)據(jù)存儲裝置IO接收FAT數(shù)目數(shù)據(jù)等, 可恰當(dāng)?shù)刈R別數(shù)據(jù)存儲裝置10所具有的FAT的數(shù)目和數(shù)據(jù)容量等。此 時(shí),若從數(shù)據(jù)存儲裝置IO輸出的FAT數(shù)目數(shù)據(jù)為"1",則主機(jī)裝置20 認(rèn)為數(shù)據(jù)存儲裝置10所具有的FAT的數(shù)目為"1",從而使用一個(gè)FAT 來進(jìn)行之后的數(shù)據(jù)讀寫處理。由此,可實(shí)現(xiàn)快速的文件存取。
F. 效果根據(jù)以上說明的本實(shí)施例的數(shù)據(jù)存儲裝置10,即使通過主機(jī)裝置20
的格式化處理生成了兩個(gè)文件分配表(FAT區(qū)域),通過將FAT數(shù)目數(shù) 據(jù)從"2"改寫為"1",也能夠?qū)嵸|(zhì)上將文件分配表的數(shù)目減少為一個(gè)。 因此,主機(jī)裝置20能夠?qū)⑾蛭募峙浔淼墓芾硇畔⒌膶懭霃耐ǔG闆r下 的兩次減少為一次,因而能夠極大地提高數(shù)據(jù)寫入效率。其結(jié)果是,能夠 提高數(shù)據(jù)存儲裝置10的動作速度。 G.變形例
上面雖然對本發(fā)明的各種實(shí)施例進(jìn)行了說明,但不用說,本發(fā)明不限 于這些實(shí)施例,可在不脫離其宗旨的范圍內(nèi)采用各種結(jié)構(gòu)。例如,可進(jìn)行 如下的變形。
(Gl)變形例l:
在上述的實(shí)施例中,數(shù)據(jù)存儲裝置IO具備閃存,以作為存儲設(shè)備。
與此相對,也可以使用其他的存儲設(shè)備,例如,硬盤驅(qū)動器或可改寫的光 盤等。
(G2)變形例2:
在上述的實(shí)施例中,數(shù)據(jù)存儲裝置IO是根據(jù)FAT形式被格式化的。 但是,格式化形式并不局限于此,也可以根據(jù)寫入多個(gè)相同內(nèi)容的管理表 的其他形式來格式化。 (G3)變形例3:
在上述的實(shí)施例中,主機(jī)裝置20和數(shù)據(jù)存儲裝置IO是通過USB接口 連接的。但是,接口類型不限于此。例如,既可以通過PCMCIA接口來連 接,也可以通過串行ATA接口、 IEEE1394接口等來連接。 (G4)變形例4:
在上述的實(shí)施例中,數(shù)據(jù)存儲裝置IO在被主機(jī)裝置20格式化后,無 條件地將FAT數(shù)目數(shù)據(jù)從"2"改寫為"1"。與此相對,也可以在數(shù)據(jù)存 儲裝置10中設(shè)置用于設(shè)定是否進(jìn)行改寫的機(jī)械開關(guān)。在這樣的結(jié)構(gòu)下, 數(shù)據(jù)存儲裝置10在被接通電源時(shí)檢測上述開關(guān)的狀態(tài),并根據(jù)其狀態(tài), 將FAT數(shù)目數(shù)據(jù)從"2"改寫為"1",或者維持"2"。如果采用這種結(jié) 構(gòu),則用戶能夠容易地選用使用兩個(gè)文件分配表的普通模式、和將文件分速文件存取的模式。
但是, 一旦將FAT數(shù)目變?yōu)橐粋€(gè),則在上述實(shí)施例中所說明的各種處
理都無法將其變回兩個(gè)。因此,在轉(zhuǎn)換開關(guān)來將FAT數(shù)目從"1"改為 "2"時(shí),假定數(shù)據(jù)存儲裝置IO在其電源被接通時(shí),將FAT數(shù)目數(shù)據(jù)重新 設(shè)定為"2",同時(shí)將記錄在FAT1區(qū)域中的數(shù)據(jù)復(fù)制到FAT2區(qū)域中。由 此,即使曾將FAT數(shù)目設(shè)定為"1",也能夠恰當(dāng)?shù)販?zhǔn)備兩個(gè)文件分配 表。
(G5)變形例5:
上述的實(shí)施例在主處理和寫處理兩個(gè)處理中執(zhí)行FAT數(shù)目改寫處理。 與此相對,也可以只在寫處理時(shí)進(jìn)行FAT數(shù)目改寫處理,而省略主處理中 的FAT數(shù)目改寫處理。另外,相反地可以省略寫處理時(shí)的FAT數(shù)目改寫 處理,只在主處理時(shí)進(jìn)行FAT數(shù)目改寫處理。根據(jù)前者,能夠在格式化處 理之后立即改寫FAT數(shù)目數(shù)據(jù);而根據(jù)后者,則要等待重新接通電源后才 改寫FAT數(shù)目數(shù)據(jù),因此可期待主機(jī)裝置20穩(wěn)定地動作。當(dāng)然,也可以 如實(shí)施例所述,執(zhí)行上述兩者,此時(shí)可確切地將FAT數(shù)目數(shù)據(jù)從"2"改 寫為"1"。
(G6)變形例6:
在上述的實(shí)施例中,使用"地址"這一術(shù)語描述了閃存內(nèi)存儲數(shù)據(jù)的 場所,但是所述術(shù)語可根據(jù)所應(yīng)用的文件系統(tǒng)、操作系統(tǒng)或存儲設(shè)備的類 型而替換為"扇區(qū)(sector)"、"簇(cluster)"或"塊(block)"。
本發(fā)明不應(yīng)根據(jù)上述的實(shí)施例、變形例和其他方式而被限制性地解 釋,本發(fā)明的保護(hù)范圍應(yīng)當(dāng)根據(jù)權(quán)利要求書和本發(fā)明的基本思想進(jìn)行解 釋。
權(quán)利要求
1. 一種數(shù)據(jù)存儲裝置,存儲從主機(jī)裝置傳來的數(shù)據(jù),其特征在于,包括存儲設(shè)備,通過由所述主機(jī)裝置進(jìn)行的格式化處理,而確保用于存儲所述數(shù)據(jù)的數(shù)據(jù)存儲區(qū)域,并且存儲多個(gè)相同內(nèi)容的管理表和表示該管理表的數(shù)目的表數(shù)目數(shù)據(jù),所述多個(gè)相同內(nèi)容的管理表用于管理存儲在所述數(shù)據(jù)存儲區(qū)域內(nèi)的每個(gè)數(shù)據(jù)的記錄位置;改寫單元,在由所述主機(jī)裝置進(jìn)行所述格式化處理之后,將存儲在所述存儲設(shè)備中的所述表數(shù)目數(shù)據(jù)改寫為比通過所述格式化處理而存儲的值小的值;以及輸出單元,在從所述主機(jī)裝置傳送所述數(shù)據(jù)之前,響應(yīng)于來自所述主機(jī)裝置的請求,將所述改寫的表數(shù)目數(shù)據(jù)輸出給所述主機(jī)裝置。
2. 如權(quán)利要求1所述的數(shù)據(jù)存儲裝置,其中,所述主機(jī)裝置基于FAT文件系統(tǒng)進(jìn)行所述格式化處理。
3. 如權(quán)利要求2所述的數(shù)據(jù)存儲裝置,其中,所述存儲設(shè)備存儲基于所述FAT文件系統(tǒng)的文件分配表,作為所述管 理表。
4. 如權(quán)利要求3所述的數(shù)據(jù)存儲裝置,其中,所述存儲設(shè)備將所述文件分配表的數(shù)目作為所述表數(shù)目數(shù)據(jù)存儲到基 于所述FAT文件系統(tǒng)而在所述存儲設(shè)備中確保的BIOS參數(shù)塊區(qū)域中。
5. 如權(quán)利要求1至4中任一項(xiàng)所述的數(shù)據(jù)存儲裝置,其中, 所述存儲設(shè)備為非易失性半導(dǎo)體存儲器。
6. 如權(quán)利要求5所述的數(shù)據(jù)存儲裝置,其中, 所述非易失性半導(dǎo)體存儲器是閃存。
7. 如權(quán)利要求1至6中任一項(xiàng)所述的數(shù)據(jù)存儲裝置,其中, 所述主機(jī)裝置和所述數(shù)據(jù)存儲裝置通過USB接口相連。
8. —種數(shù)據(jù)存儲裝置的初始化方法,所述數(shù)據(jù)存儲裝置將從主機(jī)裝置 傳來的數(shù)據(jù)存儲在存儲設(shè)備中,所述初始化方法的特征在于,包括以下步驟經(jīng)過由所述主機(jī)裝置進(jìn)行的格式化處理,在所述存儲設(shè)備內(nèi)確保用于 存儲所述數(shù)據(jù)的數(shù)據(jù)存儲區(qū)域,并且存儲多個(gè)相同內(nèi)容的管理表和表示該 管理表的數(shù)目的表數(shù)目數(shù)據(jù),所述多個(gè)相同內(nèi)容的管理表用于管理存儲在 該數(shù)據(jù)存儲區(qū)域內(nèi)的每個(gè)數(shù)據(jù)的記錄位置;在由所述主機(jī)裝置進(jìn)行所述格式化處理之后,將存儲在所述存儲設(shè)備 中的所述表數(shù)目數(shù)據(jù)改寫為比通過所述格式化處理而存儲的值小的值;和在從所述主機(jī)裝置傳送所述數(shù)據(jù)之前,響應(yīng)于來自所述主機(jī)裝置的請 求,將所述改寫的表數(shù)目數(shù)據(jù)輸出給所述主機(jī)裝置。
全文摘要
數(shù)據(jù)存儲裝置包括USB連接器、USB控制電路、閃存控制器、以及閃存。當(dāng)被主機(jī)裝置格式化后重新接通電源時(shí),閃存控制器將存儲在BIOS參數(shù)塊區(qū)域中的FAT數(shù)目數(shù)據(jù)強(qiáng)制性地從“2”改寫為“1”。由此,主機(jī)裝置就會認(rèn)為只存在一個(gè)FAT區(qū)域,因此可提高通過被主機(jī)裝置進(jìn)行格式化處理而生成多個(gè)管理表的數(shù)據(jù)存儲裝置的數(shù)據(jù)寫入效率。
文檔編號G06F12/00GK101443739SQ20078001757
公開日2009年5月27日 申請日期2007年5月11日 優(yōu)先權(quán)日2006年5月16日
發(fā)明者荒川忠史 申請人:巴比禒股份有限公司