專利名稱:數(shù)據(jù)存儲(chǔ)裝置以及數(shù)據(jù)存儲(chǔ)方法
技術(shù)領(lǐng)域:
本發(fā)明涉及將從主機(jī)裝置傳送的數(shù)據(jù)記錄于數(shù)據(jù)存儲(chǔ)裝置的技術(shù)。
背景技術(shù):
作為用于存儲(chǔ)計(jì)算機(jī)等主機(jī)裝置所使用的數(shù)據(jù)的數(shù)據(jù)存儲(chǔ)裝置,包括
硬盤驅(qū)動(dòng)器、存儲(chǔ)卡、USB閃速存儲(chǔ)器等各種存儲(chǔ)裝置。 一般將被稱作 FAT的文件系統(tǒng)作為應(yīng)用于這些存儲(chǔ)裝置的文件系統(tǒng)。在該FAT文件系 統(tǒng)中,為了管理所記錄的數(shù)據(jù)的位置,在數(shù)據(jù)存儲(chǔ)裝置內(nèi)確保(提供)被 稱為文件分配表的管理區(qū)域。在該文件分配表中,為管理對象的每一個(gè)文 件記錄被稱為簇鏈(cluster chain)的管理信息,該簇鏈?zhǔn)境隽嗽撐募慕Y(jié) 構(gòu)和記錄位置。
由于文件分配表是非常重要的信息,因而通常在數(shù)據(jù)存儲(chǔ)裝置中確保 兩個(gè)相同內(nèi)容的文件分配表。因此,即使一個(gè)文件分配表損壞,也可使用 另一個(gè)文件分配表來正常地進(jìn)行數(shù)據(jù)的讀寫(參考日本專利文獻(xiàn)特開平11 —249968號公報(bào))。
在采用上述文件系統(tǒng)的數(shù)據(jù)存儲(chǔ)裝置中,諸如當(dāng)寫入大量的小文件 時(shí),需要對文件分配表進(jìn)行該寫入次數(shù)的改寫。因此,在這種情況下,寫 入效率下降。除此以外,當(dāng)如上所述確保了多個(gè)文件分配表時(shí),需多次寫 入相同內(nèi)容的信息,因此,寫入效率會(huì)進(jìn)一步下降。這種問題不限于FAT 文件系統(tǒng),在采用了需要記錄兩個(gè)以上相同內(nèi)容的管理表的其他文件系統(tǒng) 的數(shù)據(jù)存儲(chǔ)裝置中也存在同樣的問題。
發(fā)明內(nèi)容
考慮上述問題,本發(fā)明要解決的技術(shù)問題是在記錄多個(gè)相同內(nèi)容的管 理信息的數(shù)據(jù)存儲(chǔ)裝置中提高數(shù)據(jù)的寫入效率。根據(jù)上述的技術(shù)問題,本發(fā)明一個(gè)方面的數(shù)據(jù)存儲(chǔ)裝置是一種存儲(chǔ)從 主機(jī)裝置傳送的數(shù)據(jù)的數(shù)據(jù)存儲(chǔ)裝置,其包括存儲(chǔ)設(shè)備,包括記錄所述 數(shù)據(jù)的數(shù)據(jù)區(qū)域以及記錄第一管理信息和第二管理信息的管理區(qū)域,其 中,所述第一管理信息用于管理所述數(shù)據(jù),所述第二管理信息與所述第一 管理信息具有相同的內(nèi)容;
接收單元,個(gè)別地接收從所述主機(jī)裝置以預(yù)定的順序傳送的所述數(shù) 據(jù)、所述第一管理信息以及所述第二管理信息;
數(shù)據(jù)記錄單元,將所述接收的數(shù)據(jù)記錄在所述數(shù)據(jù)區(qū)域中;
管理信息記錄單元,當(dāng)從所述主機(jī)裝置接收了所述第一管理信息和所 述第二管理信息中的一個(gè)管理信息時(shí),不等待另一個(gè)管理信息的接收,就 將所述接收的管理信息作為所述第一管理信息和所述第二管理信息記錄到 所述管理區(qū)域中。
在如上構(gòu)成的數(shù)據(jù)存儲(chǔ)裝置中,當(dāng)從主機(jī)裝置接收了具有相同內(nèi)容的 第一管理信息和第二管理信息中的一個(gè)管理信息時(shí),不等待另一個(gè)管理信 息的接收,將該管理信息作為第一管理信息和第二管理信息記錄到存儲(chǔ)設(shè) 備的管理區(qū)域中。其結(jié)果是,提高了用于管理數(shù)據(jù)的管理信息的記錄效 率,從而整體地提高了主機(jī)裝置進(jìn)行數(shù)據(jù)寫入的效率。
在如上構(gòu)成的數(shù)據(jù)存儲(chǔ)裝置中,所述管理信息記錄單元也可以包括如 下單元,所述單元在接收到所述另一個(gè)管理信息時(shí),不向所述管理區(qū)域記 錄該管理信息,而是向所述主機(jī)裝置通知記錄完畢。
通過如上構(gòu)成,能夠立刻答復(fù)主機(jī)裝置已寫入了第二個(gè)管理信息。其 結(jié)果是,主機(jī)裝置從管理信息的寫入處理中立刻被釋放出來,從而能夠迅 速地開始其他處理(例如,數(shù)據(jù)的寫入)。
在如上構(gòu)成的數(shù)據(jù)存儲(chǔ)裝置中,所述管理信息記錄單元可以將所述第 一管理信息和所述第二管理信息記錄在所述管理區(qū)域內(nèi)連續(xù)的位置上。
通過如上構(gòu)成,能夠容易地實(shí)現(xiàn)通過一次寫入處理將兩個(gè)管理信息集 中寫入存儲(chǔ)設(shè)備中的功能。其結(jié)果是能夠提高寫入效率。
在如上構(gòu)成的數(shù)據(jù)存儲(chǔ)裝置中,所述數(shù)據(jù)存儲(chǔ)裝置也可以包括多個(gè)所 述存儲(chǔ)設(shè)備,并且所述管理信息記錄單元可將所述第一管理信息記錄在一個(gè)存儲(chǔ)設(shè)備中,并將所述第二管理信息記錄在另一個(gè)存儲(chǔ)設(shè)備中。
通過如上構(gòu)成,可對多個(gè)存儲(chǔ)設(shè)備同時(shí)寫入相同內(nèi)容的管理信息。其
結(jié)果是能夠提高寫入效率。此外,在一個(gè)IC封裝中安裝了多個(gè)閃速存儲(chǔ)
器等存儲(chǔ)設(shè)備的情況下、或者在具有將僅安裝一個(gè)的存儲(chǔ)設(shè)備識別為多個(gè)
存儲(chǔ)設(shè)備的模式的情況下,即便數(shù)據(jù)存儲(chǔ)裝置只具備一個(gè)所述IC封裝, 也可以說其具備多個(gè)存儲(chǔ)設(shè)備。
在如上構(gòu)成的數(shù)據(jù)存儲(chǔ)裝置中,所述數(shù)據(jù)記錄單元使所述數(shù)據(jù)分散記 錄在所述各個(gè)存儲(chǔ)設(shè)備中。
通過如上構(gòu)成,能夠?qū)闹鳈C(jī)裝置接收的數(shù)據(jù)同時(shí)分散并行記錄到多 個(gè)存儲(chǔ)設(shè)備中。因此能夠進(jìn)一步提高寫入效率。
在如上構(gòu)成的數(shù)據(jù)存儲(chǔ)裝置中,所述數(shù)據(jù)記錄單元可以將所述數(shù)據(jù)記 錄在一個(gè)存儲(chǔ)設(shè)備中,并將用于校正該數(shù)據(jù)的校正數(shù)據(jù)記錄在另一個(gè)存儲(chǔ) 設(shè)備中。
通過如上構(gòu)成,能夠使用校正數(shù)據(jù)對所讀取的數(shù)據(jù)進(jìn)行校正。其結(jié)果 是能'夠提高數(shù)據(jù)讀取時(shí)的可靠性。
在如上構(gòu)成的數(shù)據(jù)存儲(chǔ)裝置中,所述數(shù)據(jù)記錄單元可以記錄將所述數(shù)
據(jù)進(jìn)行漢明編碼(hamming code)而得的ECC數(shù)據(jù),作為所述校正數(shù)據(jù)。 通過如上構(gòu)成,能夠在讀取數(shù)據(jù)時(shí)使用ECC數(shù)據(jù)來進(jìn)行檢錯(cuò)或糾錯(cuò)。 在如上構(gòu)成的數(shù)據(jù)存儲(chǔ)裝置中,所述數(shù)據(jù)記錄單元可以記錄與所述數(shù)
據(jù)相同內(nèi)容的數(shù)據(jù),作為所述校正數(shù)據(jù)。
通過如上構(gòu)成,能夠只通過比較讀取對象的數(shù)據(jù)和校正數(shù)據(jù)來容易地
進(jìn)行檢錯(cuò)。另外,即使一個(gè)數(shù)據(jù)發(fā)生了錯(cuò)誤,也能夠通過使用沒有發(fā)生錯(cuò)
誤的另一個(gè)數(shù)據(jù)來正常地讀取數(shù)據(jù)。
在如上構(gòu)成的數(shù)據(jù)存儲(chǔ)裝置中,所述管理信息可以是記錄在FAT文件
系統(tǒng)的文件分配表中的數(shù)據(jù)。
通過如上構(gòu)成,能夠在標(biāo)準(zhǔn)地使用兩個(gè)文件分配表的FAT文件系統(tǒng)中
提高文件的寫入效率。
在如上構(gòu)成的數(shù)據(jù)存儲(chǔ)裝置中,所述存儲(chǔ)設(shè)備可以是非易失性半導(dǎo)體
存儲(chǔ)器。型數(shù)據(jù)存儲(chǔ)裝置。非易失性
存儲(chǔ)器例如可以使用NAND型或NOR型的各種閃速存儲(chǔ)器、EEPROM、 以及自備電池的DRAM等。此外,存儲(chǔ)設(shè)備除了半導(dǎo)體存儲(chǔ)器以外,可 以使用硬盤驅(qū)動(dòng)器等。
在如上構(gòu)成的數(shù)據(jù)存儲(chǔ)裝置中,所述主機(jī)裝置和所述數(shù)據(jù)存儲(chǔ)裝置可 通過USB接口而連接。
通過如上構(gòu)成,僅通過將本發(fā)明的數(shù)據(jù)存儲(chǔ)裝置連接到個(gè)人計(jì)算機(jī)等 主機(jī)裝置上具備的USB端口上,就能夠容易地使用本發(fā)明的數(shù)據(jù)存儲(chǔ)裝 置。因此能夠提高用戶的使用便利性。除了USB接口以外,例如也可以通 過PCMCIA、串行ATA接口、 IEEE1394接口、或者用于SD存儲(chǔ)卡和 compact flash (注冊商標(biāo))等中的各種存儲(chǔ)器接口來連接。
本發(fā)明除了能夠作為上述的各種數(shù)據(jù)存儲(chǔ)裝置來實(shí)現(xiàn)之外,也能夠作 為由數(shù)據(jù)存儲(chǔ)裝置存儲(chǔ)從主機(jī)裝置傳送的數(shù)據(jù)的數(shù)據(jù)存儲(chǔ)方法來實(shí)現(xiàn)。
圖1是示出作為第一實(shí)施例的數(shù)據(jù)存儲(chǔ)裝置的大致構(gòu)成的說明圖; 圖2是示出數(shù)據(jù)存儲(chǔ)裝置的數(shù)據(jù)結(jié)構(gòu)的說明圖3是示出FAT1、 2區(qū)域與FAT3區(qū)域的對應(yīng)關(guān)系以及對FAT3區(qū)域 的讀寫操作的概要的說明圖4是一并示出數(shù)據(jù)存儲(chǔ)裝置的操作概要和主機(jī)裝置的操作的說明
圖5是主處理的流程圖6是指針設(shè)定處理的流程圖7是寫處理的流程圖8是讀處理的流程圖9是示出作為第二實(shí)施例的數(shù)據(jù)存儲(chǔ)裝置的大致構(gòu)成的說明圖; 圖IO是示出第二實(shí)施例中的數(shù)據(jù)結(jié)構(gòu)的說明圖; 圖11是示出第三實(shí)施例中的數(shù)據(jù)結(jié)構(gòu)的說明圖。
具體實(shí)施例方式
以下,為了明確上述本發(fā)明的作用及效果,基于實(shí)施例按照以下的順 序來說明本發(fā)明的實(shí)施方式。
A. 第一實(shí)施例
(Al)數(shù)據(jù)存儲(chǔ)裝置的大致構(gòu)成 (A2)數(shù)據(jù)存儲(chǔ)裝置的操作概要
(A3)各種處理(主處理、指針處理、寫/讀處理) (A4)效果
B. 第二實(shí)施例
C. 第三實(shí)施例
D. 變形例
A.第一實(shí)施例
(Al)數(shù)據(jù)存儲(chǔ)裝置的大致構(gòu)成 圖1是示出作為第一實(shí)施例的數(shù)據(jù)存儲(chǔ)裝置10的大致構(gòu)成的說明
圖。如圖1所示,本實(shí)施例的數(shù)據(jù)存儲(chǔ)裝置10包括USB連接器110、 USB控制電路120、閃存控制器130、以及閃速存儲(chǔ)器FL。
USB連接器110暴露在數(shù)據(jù)存儲(chǔ)裝置10的框體(圖中的虛線部分) 外,可與個(gè)人計(jì)算機(jī)或打印機(jī)等主機(jī)裝置所具有的USB接口連接。
USB控制電路120與USB連接器110以及閃存控制器130相連接。 USB控制電路120是使該數(shù)據(jù)存儲(chǔ)裝置10作為USB海量存儲(chǔ)類設(shè)備而工 作的電路,并且是基于USB協(xié)議來控制與主機(jī)裝置間的通信的電路。該 USB控制電路120還具有以下功能,即將從主機(jī)裝置接收的USB指令 轉(zhuǎn)換為ATA指令,或者將從閃存控制器130接收的數(shù)據(jù)或狀態(tài)(status) 轉(zhuǎn)換為USB數(shù)據(jù)。ATA指令是由ANSI (American National Standard Institute,美國國家標(biāo)準(zhǔn)協(xié)會(huì))標(biāo)準(zhǔn)化的指令,而且是除本實(shí)施例的數(shù)據(jù)存 儲(chǔ)裝置10之外還對硬盤或PC卡式存儲(chǔ)器等各種數(shù)據(jù)存儲(chǔ)裝置進(jìn)行數(shù)據(jù)讀 寫控制的通用指令。
閃存控制器130是解釋從USB控制電路120送來的ATA指令,并控
8制對閃速存儲(chǔ)器FL的數(shù)據(jù)讀寫的集成電路。閃存控制器130為了進(jìn)行相 關(guān)控制,在其內(nèi)部包括ROM、 RAM等。在所述ROM中記錄了用于控制 數(shù)據(jù)存儲(chǔ)裝置IO的操作的程序。CPU通過將RAM用作工作區(qū)域并執(zhí)行所 述程序來控制數(shù)據(jù)存儲(chǔ)裝置10的總體操作。
閃存控制器130具有寄存器135,在該寄存器135中存儲(chǔ)各種地址指 針。閃存控制器130具有通過參考該地址指針來進(jìn)行后述的FAT區(qū)域的地 址轉(zhuǎn)換,并針對FAT區(qū)域進(jìn)行高效的讀寫的功能。相關(guān)的功能將在后面進(jìn) 行詳細(xì)說明。
圖2是示出數(shù)據(jù)存儲(chǔ)裝置10的數(shù)據(jù)結(jié)構(gòu)的說明圖。通過主機(jī)裝置基 于FAT文件系統(tǒng)對數(shù)據(jù)存儲(chǔ)裝置IO進(jìn)行格式化處理,數(shù)據(jù)存儲(chǔ)裝置10生 成圖2左側(cè)所示的各個(gè)區(qū)域。具體地說,從閃速存儲(chǔ)器FL的首地址開始 依次生成主引導(dǎo)記錄區(qū)域(以下稱為"MBR區(qū)域")、BIOS (基本輸入 輸出系統(tǒng))參數(shù)塊區(qū)域(以下稱為"BPB"區(qū)域)、FAT1區(qū)域、FAT2區(qū) 域、根目錄區(qū)域、以及用戶數(shù)據(jù)區(qū)域。
MBR區(qū)域是在與主機(jī)裝置相連接時(shí)首先讀取的區(qū)域。在該區(qū)域中, 記錄了引導(dǎo)程序代碼和分區(qū)表等信息(以下稱為"MBR"信息)。在分區(qū) 表中,記錄有生成的分區(qū)的數(shù)目、各分區(qū)的開始扇區(qū)和結(jié)束扇區(qū)、偏移 量、總扇區(qū)數(shù)等信息。在本實(shí)施例中,設(shè)為僅生成了一個(gè)分區(qū)。
BPB區(qū)域提供于了各個(gè)分區(qū)的首扇區(qū),在該BPB區(qū)域記錄有該分區(qū) 的格式化形式、扇區(qū)數(shù)目、FAT的數(shù)目等信息(以下稱為"BPB"信 息)。
在FAT1區(qū)域和FAT2區(qū)域中,記錄了用于表示記錄在用戶數(shù)據(jù)區(qū)域中 的各個(gè)文件的位置以及構(gòu)成該文件的簇的連接狀態(tài)的管理信息。所述管理 信息通常被稱為簇鏈信息。為了提高數(shù)據(jù)的可靠性,在FAT1區(qū)域和FAT2 區(qū)域中記錄相同的管理信息。
在根目錄區(qū)域中,記錄了用戶數(shù)據(jù)區(qū)域中所記錄的文件的文件名、擴(kuò) 展名、屬性、構(gòu)成該文件的首簇號等。
數(shù)據(jù)存儲(chǔ)裝置10通過閃存控制器130的工作對上述的各區(qū)域中的 FAT1區(qū)域和FAT2區(qū)域進(jìn)行地址轉(zhuǎn)換,并如圖的右側(cè)所示,將上述區(qū)域合成FAT3區(qū)域來管理。g卩,主機(jī)裝置通過圖2的左側(cè)所示的地址映射而會(huì) 認(rèn)為記錄有上述的各個(gè)區(qū)域,但是,實(shí)際上在閃速存儲(chǔ)器FL內(nèi)通過圖2 的右側(cè)所示的地址映射而提供了各區(qū)域。下面,有時(shí)將FAT1區(qū)域、FAT2 區(qū)域、FAT3區(qū)域統(tǒng)稱為"FAT區(qū)域"。
閃存控制器130在進(jìn)行FAT區(qū)域的地址轉(zhuǎn)換時(shí)使用圖2所示的地址指 針AP1 AP3。這些地址指針存儲(chǔ)在閃存控制器130內(nèi)的寄存器135中。 如圖2所示,地址指針API表示FAT1區(qū)域的首地址Ac,地址指針AP2 表示FAT2區(qū)域的首地址Ad。另外,地址指針AP3表示根目錄區(qū)域的首地 址Ae。閃存控制器130參考這些地址指針,并在來自主機(jī)裝置的存取目的 地為FAT1區(qū)域或FAT2區(qū)域時(shí)進(jìn)行地址轉(zhuǎn)換,從而對閃速存儲(chǔ)器FL內(nèi)的 FAT3區(qū)域進(jìn)行讀寫。
圖3是示出FAT1、 2區(qū)域與FAT3區(qū)域間的對應(yīng)關(guān)系以及對FAT3區(qū) 域的讀寫操作的概要的說明圖。圖3的左側(cè)示出了從主機(jī)裝置看到的 FAT1區(qū)域和FAT2區(qū)域,圖3的右側(cè)示出了從閃存控制器130看到的 FAT3區(qū)域。這里,以"#1" "#2"的方式表示作為FAT區(qū)域的記錄單 位的一個(gè)的管理信息,并以"FAT1弁1"的方式表示向FAT1區(qū)域?qū)懭氲墓?理信息FAT1。
如圖3的左側(cè)所示,從主機(jī)裝置側(cè)來看關(guān)于FAT1區(qū)域的管理信息被 當(dāng)作順序存儲(chǔ)在地址Ac至地址Ad—1之間的信息而被存取。另外,關(guān)于 FAT2區(qū)域的管理信息被當(dāng)作順序存儲(chǔ)在地址Ad至地址Ae—l之間的信息 而被存取。
與此相對,如圖3的右側(cè)所示,閃存控制器130將關(guān)于FAT1區(qū)域的 管理信息和關(guān)于FAT2區(qū)域的管理信息交替配置在FAT3區(qū)域中。SP,當(dāng)發(fā) 生了對FAT1區(qū)域的存取時(shí),閃存控制器130通過下述公式(1)來進(jìn)行地 址轉(zhuǎn)換,當(dāng)發(fā)生了對FAT2區(qū)域的存取時(shí),閃存控制器130通過下述公式 (2)來進(jìn)行地址轉(zhuǎn)換。其中,在下述公式中,將由主機(jī)裝置進(jìn)行了存取 的地址表示為AD1,將轉(zhuǎn)換后的地址表示為AD2。
<formula>formula see original document page 10</formula>1)
<formula>formula see original document page 10</formula> (2)例如,閃存控制器130在從主機(jī)裝置接收到向圖3的左側(cè)所示的FAT1 區(qū)域?qū)懭氡硎緸?FAT1弁1"的管理信息的指示時(shí),將該管理信息寫入圖 3的右側(cè)所示的FAT3區(qū)域中的、通過上述公式(1)進(jìn)行地址轉(zhuǎn)換而得的 地址中。并且,進(jìn)一步將與該管理信息同內(nèi)容的管理信息寫入與該地址相 鄰的下一個(gè)地址中,作為FAT2區(qū)域的管理信息(FAT2弁1)。如上所述, 在FAT文件系統(tǒng)中,通常在FAT1區(qū)域和FAT2區(qū)域中寫入相同的管理信 息。因此,在本實(shí)施例中,當(dāng)發(fā)生了對FAT1區(qū)域?qū)懭牍芾硇畔⒌膶懭胫?示時(shí),在從主機(jī)裝置發(fā)出對FAT2區(qū)域進(jìn)行寫入指示之前,對FAT2區(qū)域?qū)?入相同內(nèi)容的管理信息。這樣一來,不必接收對FAT2區(qū)域的寫入指示, 就完成了對FAT1區(qū)域和FAT2區(qū)域的寫入。因此,能夠高效地進(jìn)行FAT 信息的寫入。另外,如上所述,在本實(shí)施例中由于將關(guān)于FAT1的管理信 息和關(guān)于FAT2的管理信息寫入連續(xù)的地址中,因而能夠高速地進(jìn)行管理 信息的寫入。此外,當(dāng)對記錄在FAT3區(qū)域中的管理信息進(jìn)行讀取時(shí),根 據(jù)上述公式(1)或(2)來讀取FAT1或FAT2的管理信息。 (A2)數(shù)據(jù)存儲(chǔ)裝置的操作概要
圖4是一并示出數(shù)據(jù)存儲(chǔ)裝置的操作概要和主機(jī)裝置的操作的說明 圖。當(dāng)主機(jī)裝置向數(shù)據(jù)存儲(chǔ)裝置10寫入文件時(shí),大體上執(zhí)行以下步驟 (a)向FAT1區(qū)域?qū)懭牍芾硇畔ⅲ?b)向FAT2區(qū)域?qū)懭牍芾硇畔?;以?(c)向用戶數(shù)據(jù)區(qū)域?qū)懭胛募膶?shí)體內(nèi)容。圖4示出了這一系列的流程。 主機(jī)裝置在要進(jìn)行文件的寫入時(shí),首先向數(shù)據(jù)存儲(chǔ)裝置10指示將進(jìn) 行寫入的文件的管理信息寫入FAT1區(qū)域(步驟S100)。管理信息與該指 示一起由主機(jī)裝置發(fā)送給數(shù)據(jù)存儲(chǔ)裝置10。
數(shù)據(jù)存儲(chǔ)裝置10的閃存控制器130 —旦接收到上述指示和管理信 息,就將該管理信息寫入與被指定的FAT1區(qū)域內(nèi)的地址對應(yīng)的FAT3區(qū)域 內(nèi)的地址中,而且還向連續(xù)的地址中寫入復(fù)制了該管理信息的信息(步驟 S110)。
參考圖3對上述步驟S110中的具體處理例進(jìn)行說明。若假定從主機(jī) 裝置發(fā)出了向FAT1區(qū)域的地址Ac中寫入作為管理信息的表示為"FAT1 #1"的信息,則數(shù)據(jù)存儲(chǔ)裝置10向與上述地址對應(yīng)的FAT3區(qū)域的地址Ac中寫入"FAT1弁1"。而且還向下一個(gè)地址Ac+1中寫入與該信息同內(nèi) 容的信息,作為"FAT2tfl" 。 "FAT2弁1"是指原本要寫入FAT2區(qū)域的 首地址Ad中的信息,因此,寫入FAT1區(qū)域和FAT2區(qū)域的管理信息被同 時(shí)集中寫入到FAT3區(qū)域中。就是說,禾l」用在FAT文件系統(tǒng)中對FAT1區(qū) 域和FAT2區(qū)域記錄相同內(nèi)容的數(shù)據(jù)的這一特點(diǎn),本實(shí)施例的數(shù)據(jù)存儲(chǔ)裝 置10在對FAT3區(qū)域?qū)懭腙P(guān)于FAT1區(qū)域的管理信息時(shí),不等主機(jī)裝置來 指示,也一并寫入關(guān)于FAT2區(qū)域的管理信息。
當(dāng)對FAT3區(qū)域的寫入完成時(shí)(步驟S115),閃存控制器130向主機(jī) 裝置回復(fù)表示對FAT1區(qū)域的寫入結(jié)束了的意思的寫入完成通知(步驟 S120)。
主機(jī)裝置在從閃存控制器130接收到寫入完成通知之后,接下來,發(fā) 送向FAT2區(qū)域?qū)懭牍芾硇畔⒌膶懭胫甘?步驟S130)。但是,如上所 述,此時(shí)已處于在上述步驟S110中已完成向FAT2區(qū)域的管理信息的寫入 的狀態(tài)。因此,閃存控制器130 —旦接收到該寫入指示,就立即對主機(jī)裝 置回復(fù)寫入完成通知(步驟S140)。
當(dāng)從閃存控制器130接收到對FAT2區(qū)域的寫入已完成的意思的通知 時(shí),主機(jī)裝置對閃存控制器130指示文件實(shí)體內(nèi)容的寫入(步驟S150)。 于是,閃存控制器130向閃速存儲(chǔ)器FL內(nèi)的用戶數(shù)據(jù)區(qū)域?qū)懭胂嚓P(guān)文件 (步驟S160)。當(dāng)向閃速存儲(chǔ)器FL的文件的寫入完成時(shí)(步驟S165), 閃存控制器130向主機(jī)裝置發(fā)送表示文件的寫入結(jié)束了的意思的寫入完成 通知(步驟S170)。
如上所述,本實(shí)施例的數(shù)據(jù)存儲(chǔ)裝置10在對FAT1區(qū)域進(jìn)行寫入的同 時(shí)還對FAT2區(qū)域進(jìn)行寫入。因此,即使從主機(jī)裝置發(fā)出了對FAT2區(qū)域的 寫入指示,也能夠立即回復(fù)寫入完成了的通知。其結(jié)果是,主機(jī)裝置迅速 地從FAT區(qū)域的寫入處理中被釋放出來,從而能夠立刻開始下一個(gè)數(shù)據(jù)的 寫入。
此外,本實(shí)施例是在對FAT1區(qū)域和FAT2區(qū)域進(jìn)行寫入之后才對用戶 數(shù)據(jù)區(qū)域進(jìn)行寫入的,但是,對于這些區(qū)域的寫入也可以以相反的順序進(jìn) 行。(A3)各種處理
以下,詳細(xì)說明數(shù)據(jù)存儲(chǔ)裝置10為實(shí)現(xiàn)圖4所示的操作等而執(zhí)行的 各種處理。
(A3 — l)主處理
圖5是由數(shù)據(jù)存儲(chǔ)裝置10執(zhí)行的主處理的流程圖。該處理是在數(shù)據(jù) 存儲(chǔ)裝置IO連接到主機(jī)裝置上從而被供應(yīng)電源的同時(shí),由閃存控制器130 開始執(zhí)行的處理。
在該處理開始之后,首先,閃存控制器130執(zhí)行用于設(shè)定地址指針 AP1 AP3的值的指針設(shè)定處理(步驟S200)。丟與該指針設(shè)定處理,將 在后面進(jìn)行詳細(xì)說明。
然后,閃存控制器130判斷是否經(jīng)由USB控制電路120從主機(jī)裝置接 收了任何指令(步驟S210)。當(dāng)沒有接收到指令時(shí)(步驟S210:否), 通過循環(huán)該處理而等待直至接收到指令。另一方面,當(dāng)接收到指令時(shí)(步 驟S210:是),判別該指令的種類(步驟S220)。
在上述步驟S220中,當(dāng)判斷處接收的指令是進(jìn)行數(shù)據(jù)寫入的寫指令 (步驟S220:"寫"),閃存控制器130進(jìn)行后述的寫處理(步驟 S230)。另一方面,當(dāng)判斷處接收的指令是進(jìn)行數(shù)據(jù)讀取的讀指令(步驟 S220:"讀"),閃存控制器130進(jìn)行后述的讀處理(步驟S240)。然 后,待這些處理結(jié)束之后,將處理返回到上述的步驟S210。根據(jù)以上說明 的主處理,直到停止供電為止,重復(fù)執(zhí)行響應(yīng)于從主機(jī)裝置接收的指令的 處理。
(A3—2)指針設(shè)定處理
圖6是在上述主處理的步驟S200中執(zhí)行的指針設(shè)定處理的流程圖。 該處理是用于在接通數(shù)據(jù)存儲(chǔ)裝置10的電源時(shí)或者在數(shù)據(jù)存儲(chǔ)裝置10完 成格式化時(shí)設(shè)定圖2和圖3所示的地址指針AP1 AP3的值的處理。
當(dāng)執(zhí)行該處理時(shí),首先,閃存控制器130讀取閃速存儲(chǔ)器FL的MBR 區(qū)域和BPB區(qū)域(步驟S300)。并且,判斷這些區(qū)域中是否已寫有MBR 信息和BPB信息(步驟S310)。
當(dāng)在上述步驟S310中判斷出沒有寫入MBR信息和BPB信息時(shí)(步
13驟S310:否),說明數(shù)據(jù)存儲(chǔ)裝置10尚未被格式化。因此,閃存控制器
130如下設(shè)定地址指針AP1 AP3的值。艮卩,將地址指針API的值設(shè)定為 閃速存儲(chǔ)器FL的最終地址Az,并且對于地址指針AP2、 AP3不進(jìn)行設(shè)定 (步驟S320)。這樣一來,在后述的寫處理或讀處理中,不特別進(jìn)行FAT 區(qū)域的轉(zhuǎn)換。因此,主機(jī)裝置即使通過FAT文件系統(tǒng)以外的文件系統(tǒng),也 能夠正常使用數(shù)據(jù)存儲(chǔ)裝置10。
在通過上述步驟S320設(shè)定地址指針API的值之后,閃存控制器130 將該值記錄在寄存器135中(步驟S330),并結(jié)束該指針設(shè)定處理。
當(dāng)在上述步驟S310中判斷出已寫有MBR信息和BPB信息時(shí)(步驟 S310:是),說明數(shù)據(jù)存儲(chǔ)裝置10已通過FAT文件系統(tǒng)被格式化。因 此,閃存控制器130根據(jù)記錄在MBR區(qū)域或BPB區(qū)域中的分區(qū)表和扇區(qū) 數(shù)目等信息來求得FAT1區(qū)域的首地址Ac,并將該首地址Ac作為地址指 針AP1的值(步驟S340)。同樣地,閃存控制器130求得FAT2區(qū)域的首 地址Ad,并將該首地址Ad作為地址指針AP2的值(步驟S350)。并 且,閃存控制器130求得根目錄區(qū)域的首地址Ae,將該首地址Ae作為地 址指針AP3的值(步驟S360)。最后,閃存控制器130將如上設(shè)定的地 址指針AP1 AP3的值記錄在寄存器135中(步驟S330),并結(jié)束處理。 (A3—3)寫處理
圖7是在上述主處理的步驟S230中執(zhí)行的寫處理的流程圖。該寫處 理是用于將從主機(jī)裝置接收的數(shù)據(jù)(以下稱為"寫數(shù)據(jù)")寫入閃速存儲(chǔ) 器FL中的處理。
當(dāng)執(zhí)行該處理時(shí),首先,閃存控制器130對經(jīng)由USB控制電路120而 從主機(jī)裝置接收的寫指令進(jìn)行解析,求得寫入目的地的地址(以下稱為 "寫地址WA")(步驟S400)。
然后,閃存控制器130參考寄存器135來判斷寫地址WA是否低于地 址指針API所表示的地址(步驟S410)。如果進(jìn)行所述判斷的結(jié)果是寫 地址WA低于地址指針API所表示的地址(步驟S410:是),則能夠判 斷為從主機(jī)裝置接收的指令是用于隨著格式化處理而寫入MBR信息和 BPB信息的指令、或者是根據(jù)FAT文件系統(tǒng)以外的文件系統(tǒng)的寫入指令
14(參見圖2)。因此,存儲(chǔ)控制器130不特別進(jìn)行地址轉(zhuǎn)換等,而將寫數(shù)
據(jù)直接寫入閃速存儲(chǔ)器FL的寫地址WA中(步驟S420)。
MBR信息和BPB信息通常僅在格式化時(shí)被寫入一次。因此,當(dāng)向低 于地址指針API的地址進(jìn)行數(shù)據(jù)的寫入時(shí),閃存控制器130判斷為有可能 被主機(jī)裝置進(jìn)行了格式化處理,從而執(zhí)行圖6所示的指針設(shè)定處理(步驟 S430)。這樣一來,能夠在格式化結(jié)束后恰當(dāng)?shù)卦O(shè)定地址指針AP1 AP3。在指針設(shè)定處理結(jié)束后,閃存控制器130將寫入完成通知發(fā)送給主 機(jī)裝置(步驟S440)。
當(dāng)在上述步驟S410中判斷出寫地址WA高于地址指針API所表示的 地址時(shí)(步驟S410:否),閃存控制器130接下來參考寄存器135判斷寫 地址WA是否高于地址指針AP3所表示的地址(步驟S450)。進(jìn)行所述 判斷的結(jié)果,如果判斷出寫地址WA高于地址指針AP3所表示的地址(步 驟S450:是),則能夠判斷為是對根目錄區(qū)域或用戶數(shù)據(jù)區(qū)域的寫入(參 見圖2)。因此,閃存控制器130不特別進(jìn)行地址轉(zhuǎn)換等,而將寫數(shù)據(jù)直 接寫入到閃速存儲(chǔ)器FL的寫地址WA中(步驟S460)。在寫入結(jié)束后, 閃存控制器130向主機(jī)裝置發(fā)送寫入完成通知(步驟S440)。
當(dāng)上述步驟S450中判斷出寫地址WA低于地址指針AP3所表示的地 址時(shí)(步驟S450:否),寫地址WA表示FAT1區(qū)域中FAT2區(qū)域中的某 一個(gè)。因此,閃存控制器130接下來參考寄存器135判斷寫地址WA是否 低于地址指針AP2所表示的地址(步驟S470)。進(jìn)行所述判斷的結(jié)果, 如果判斷出寫地址WA低于地址指針AP2的地址(步驟S470:是),則 說明寫地址WA表示FAT1區(qū)域內(nèi)。因此,如通過圖3進(jìn)行說明的那樣, 閃存控制器130根據(jù)上述公式(1)來進(jìn)行地址轉(zhuǎn)換(步驟S480)。
在進(jìn)行地址轉(zhuǎn)換之后,閃存控制器130向轉(zhuǎn)換后的地址寫入所接收的 寫數(shù)據(jù),作為管理信息。并且,閃存控制器130還向與該地址連續(xù)的下一 個(gè)地址中寫入相同內(nèi)容的數(shù)據(jù)(步驟S490)。這樣一來,能夠?qū)⒁獙懭?FAT1區(qū)域和FAT2區(qū)域中的管理信息集中寫入FAT3區(qū)域中。因此,在如 上述對FAT3區(qū)域完成寫入后,閃存控制器130將寫入完成通知發(fā)送給主 機(jī)裝置(步驟S440)。當(dāng)在上述步驟S470中判斷出寫地址WA是高于地址指針AP2的地址 時(shí)(步驟S470:否),說明寫地址WA表示FAT2區(qū)域內(nèi)的地址。但是, 應(yīng)向FAT2區(qū)域?qū)懭氲男畔⑻幱谝淹ㄟ^上述步驟S490完成寫入的狀態(tài)。因 此,此時(shí),閃存控制器130不對閃速存儲(chǔ)器FL寫入任何內(nèi)容,而直接向 主機(jī)裝置發(fā)送寫入完成通知(步驟S440)。
根據(jù)以上說明的寫處理,對于FAT區(qū)域以外的區(qū)域,不進(jìn)行地址轉(zhuǎn)換 等直接寫入從主機(jī)裝置發(fā)來的數(shù)據(jù)。與此相對,對于FAT區(qū)域,只在作出 了對FAT1區(qū)域進(jìn)行寫入的寫入指示時(shí)進(jìn)行預(yù)定的地址轉(zhuǎn)換來將數(shù)據(jù)寫入 FAT3區(qū)域。此時(shí),閃存控制器130還將應(yīng)寫入FAT2區(qū)域的信息集中寫入 到FAT3區(qū)域,因而能夠?qū)﹂W存控制器FL高效地寫入管理信息。 (A3—4)讀處理
圖8是在上述主處理的步驟S240中執(zhí)行的讀處理的流程圖。該讀處 理是用于根據(jù)來自主機(jī)裝置的請求從閃速存儲(chǔ)器FL讀出數(shù)據(jù)的處理。
當(dāng)執(zhí)行該處理時(shí),首先,閃存控制器130對經(jīng)由USB控制而從主機(jī)裝 置電路120接收的讀指令進(jìn)行解析,求得讀取目的地的地址(以下稱為 "讀地址")(步驟S500)。
然后,閃存控制器130參考寄存器135來判斷讀地址RA是否高于地 址指針API所表示的地址,并且低于地址指針AP3所表示的地址(步驟 S510)。如果進(jìn)行判斷的結(jié)果是讀地址RA是低于地址指針API的值、或 者高于地址指針AP3的值(步驟S510:否),則讀地址RA表示FAT區(qū) 域以外的區(qū)域的地址。因此,閃存控制器130直接從讀地址RA讀取數(shù)據(jù) (步驟S520),并將讀取的數(shù)據(jù)轉(zhuǎn)送給主機(jī)裝置(步驟S530)。
如果在上述步驟S510中判斷出讀地址RA高于地址指針API所表示 的地址且低于地址指針AP3所表示的地址(步驟S510:是),則讀地址 RA表示FAT1區(qū)域或FAT2區(qū)域內(nèi)的地址(參見圖2)。因此,閃存控制 器130進(jìn)一步判斷所述讀地址RA是否為高于地址指針AP2所表示的地址 的地址(步驟S540)。進(jìn)行所述判斷的結(jié)果,當(dāng)判斷出讀地址RA是低于 地址指針AP2的地址時(shí)(步驟S540:否),讀地址RA是FAT1區(qū)域內(nèi)的 地址。因此,閃存控制器130根據(jù)上述公式(1)進(jìn)行地址轉(zhuǎn)換(步驟S550),并從轉(zhuǎn)換后的地址中讀取數(shù)據(jù)(步驟S520)。這樣一來,閃存控 制器130能夠從FAT3區(qū)域恰當(dāng)?shù)刈x取關(guān)于FAT1區(qū)域的管理信息。閃存控 制器130在從FAT3區(qū)域讀取數(shù)據(jù)后將該數(shù)據(jù)傳送給主機(jī)裝置(步驟 S530)。
另一方面,當(dāng)在上述步驟S540中判斷出讀地址RA是高于指針AP2 所表示的地址的地址時(shí)(步驟S540:是),讀地址RA是FAT2區(qū)域內(nèi)的 地址。因此,閃存控制器130根據(jù)上述公式(2)來進(jìn)行地址轉(zhuǎn)換(步驟 S560),并從轉(zhuǎn)換后的地址中讀取數(shù)據(jù)(步驟S520)。這樣一來,閃存控 制器130能夠從FAT3區(qū)域恰當(dāng)?shù)刈x取關(guān)于FAT2區(qū)域的管理信息。閃存控 制器130在從FAT3區(qū)域中讀取數(shù)據(jù)后將該數(shù)據(jù)傳送給主機(jī)裝置(步驟 S530)。
根據(jù)以上說明的讀處理,閃存控制器130能夠從FAT區(qū)域以外的區(qū)域 直接讀取數(shù)據(jù)并傳送給主機(jī)裝置。另外,當(dāng)從FAT1區(qū)域或FAT2區(qū)域進(jìn)行 讀取時(shí),閃存控制器130通過進(jìn)行地址轉(zhuǎn)換,能夠從FAT3區(qū)域恰當(dāng)?shù)刈x 取FAT1區(qū)域和FAT2區(qū)域各自的管理信息并傳送給主機(jī)裝置。 (A4)效果
當(dāng)從主機(jī)裝置發(fā)出了對FAT1區(qū)域?qū)懭霐?shù)據(jù)的寫入指示時(shí),以上說明 的第一實(shí)施例的數(shù)據(jù)存儲(chǔ)裝置IO也一并進(jìn)行向FAT2區(qū)域的數(shù)據(jù)寫入。因 此,即使從主機(jī)裝置發(fā)出了對FAT2區(qū)域?qū)懭霐?shù)據(jù)的寫入指示,也能夠立 即回復(fù)表示寫入結(jié)束了的通知。另外,在本實(shí)施例中,將關(guān)于FAT1區(qū)域 和FAT2區(qū)域的管理信息集中寫入閃速存儲(chǔ)器FL內(nèi)的FAT3的區(qū)域中相鄰 的地址中。因此,能夠高效地進(jìn)行數(shù)據(jù)的寫入,從而能夠提高處理速度。 特別是,本實(shí)施例的數(shù)據(jù)存儲(chǔ)裝置10由于采用數(shù)據(jù)的寫入單位較大的閃 速存儲(chǔ)器來作為存儲(chǔ)設(shè)備,因此容易將相鄰的兩個(gè)數(shù)據(jù)通過一次寫入操作 來集中寫入。其結(jié)果是,可使處理速度大幅度提高。
B.第二實(shí)施例
如圖1所示,在上述第一實(shí)施例中,數(shù)據(jù)存儲(chǔ)裝置10具有一個(gè)閃速 存儲(chǔ)器FL。與此相對,在第二實(shí)施例中具有兩個(gè)閃速存儲(chǔ)器FL。
圖9是示出作為第二實(shí)施例的數(shù)據(jù)存儲(chǔ)裝置10b的大致構(gòu)成的說明圖。如圖9所示,本實(shí)施例的數(shù)據(jù)存儲(chǔ)裝置10b與第一實(shí)施例一樣,包括
USB連接器110、 USB控制電路120、以及閃存控制器130,此外還包括 兩個(gè)閃速存儲(chǔ)器FLa、 FLb。
圖IO是示出數(shù)據(jù)存儲(chǔ)裝置10b的數(shù)據(jù)結(jié)構(gòu)的說明圖。在圖IO的左側(cè) 示出了從主機(jī)裝置看到的數(shù)據(jù)存儲(chǔ)裝置10b的地址映射。該地址映射與第 一實(shí)施方式的相同,因而說明從略。
在圖10的右側(cè)一并示出了兩個(gè)閃速存儲(chǔ)器FLa、 FLb的地址映射。在 本實(shí)施例中,形成FAT區(qū)域以外的區(qū)域、即MBR區(qū)域、BPB區(qū)域、根目 錄區(qū)域、用戶數(shù)據(jù)區(qū)域的地址空間的各個(gè)地址按照(1)閃速存儲(chǔ)器FLa、 (2)閃速存儲(chǔ)器FLb的順序被交替地分配在兩個(gè)閃速存儲(chǔ)器FLa、 FLb 中。即,例如,MBR區(qū)域的首地址存在于閃速存儲(chǔ)器FLa,第二個(gè)地址存 在于閃速存儲(chǔ)器FLb。另外,第三地址存在于閃速存儲(chǔ)器FLa,第四地址 存在于閃速存儲(chǔ)器FLb。當(dāng)形成如上所述的地址空間時(shí),數(shù)據(jù)存儲(chǔ)裝置 10b能夠?qū)?shù)據(jù)并行(同時(shí))寫入兩個(gè)閃速存儲(chǔ)器中。在本實(shí)施例中,數(shù) 據(jù)存儲(chǔ)裝置10b通過具有兩個(gè)閃速存儲(chǔ)器FLa、 FLb來將其總線寬度實(shí)質(zhì) 上增大為二倍,因此,若如上述那樣并行(同時(shí))寫入數(shù)據(jù)的話,就能夠 高速地進(jìn)行數(shù)據(jù)的讀寫。
本實(shí)施例在閃速存儲(chǔ)器Fla中確保(提供)了FAT1區(qū)域,并在閃速存 儲(chǔ)器FLb中確保(提供)了 FAT2區(qū)域。因此,在本實(shí)施例中,當(dāng)從主機(jī) 裝置發(fā)出了對FAT1區(qū)域?qū)懭霐?shù)據(jù)的寫入指示時(shí),閃存控制器130在對閃 速存儲(chǔ)器FLa的FAT1區(qū)域?qū)懭霐?shù)據(jù)的同時(shí),向閃速存儲(chǔ)器FLb的FAT2 區(qū)域中寫入相同內(nèi)容的數(shù)據(jù)。由于能夠同時(shí)并行地對兩個(gè)閃速存儲(chǔ)器進(jìn)行 寫入,因而不必等待另一方的寫入結(jié)束就能夠?qū)懭雰蓚€(gè)FAT信息。其結(jié)果 是,與第一實(shí)施例一樣,能夠提高向FAT區(qū)域進(jìn)行寫入的效率。
由于第二實(shí)施例中的主處理、指針設(shè)定處理、寫處理、讀處理的處理 內(nèi)容基本與第一實(shí)施例相同,因而省略對它們的詳細(xì)說明。但是,在本實(shí) 施例的圖7或圖8所示的寫處理或讀處理中,當(dāng)對FAT區(qū)域以外的區(qū)域讀 寫數(shù)據(jù)時(shí),先根據(jù)圖10所示的地址映射來進(jìn)行預(yù)定的地址轉(zhuǎn)換,然后在 此基礎(chǔ)上對閃速存儲(chǔ)器FLa或閃速存儲(chǔ)器FLb進(jìn)行適當(dāng)?shù)淖x寫。另外,第
18一實(shí)施例在圖7所示寫處理的步驟S490中,將兩個(gè)相同的管理信息寫入 到FAT3區(qū)域中連續(xù)的地址中,但是,第二實(shí)施例分別對閃速存儲(chǔ)器FLa 的FAT1區(qū)域和閃速存儲(chǔ)器FLb的FAT2區(qū)域并行寫入相同的管理信息。 另外,在圖8所示讀處理的步驟S550的地址轉(zhuǎn)換中,進(jìn)行向閃速存儲(chǔ)器 FLa的FAT1區(qū)域中的地址轉(zhuǎn)換,在步驟S560的地址轉(zhuǎn)換中,進(jìn)行向閃速 存儲(chǔ)器FLb的FAT2區(qū)域中的地址轉(zhuǎn)換。 C.第三實(shí)施例
在上述的第二實(shí)施例中,針對FAT區(qū)域以外的區(qū)域,將數(shù)據(jù)分散記錄 在兩個(gè)閃速存儲(chǔ)器中。與此相對,在第三實(shí)施例中,針對FAT區(qū)域以外的 區(qū)域,在兩個(gè)閃速存儲(chǔ)器中寫入相同內(nèi)容的數(shù)據(jù)。數(shù)據(jù)存儲(chǔ)裝置10b的裝 置構(gòu)成與圖9所示的構(gòu)成相同。
圖11是示出第三實(shí)施例中的數(shù)據(jù)存儲(chǔ)裝置10b的數(shù)據(jù)結(jié)構(gòu)的說明圖。 在圖11的左側(cè)示出了從主機(jī)裝置看到的數(shù)據(jù)存儲(chǔ)裝置10b的地址映射。另 一方面,在圖11的右側(cè)示出了兩個(gè)閃速存儲(chǔ)器FLa、 FLb的地址映射。在 本實(shí)施例中,針對FAT區(qū)域以外的區(qū)域,即MBR區(qū)域、BPB區(qū)域、根目 錄區(qū)域、用戶數(shù)據(jù)區(qū)域,在閃速存儲(chǔ)器FLa和閃速存儲(chǔ)器FLb中寫入相同 內(nèi)容的數(shù)據(jù)。根據(jù)這種構(gòu)成,能夠提高數(shù)據(jù)的冗余度來存儲(chǔ)在閃速存儲(chǔ)器 中,因此,即使一個(gè)閃速存儲(chǔ)器的數(shù)據(jù)損壞,也能夠使用存儲(chǔ)在另一個(gè)閃 速存儲(chǔ)器中的數(shù)據(jù)來可靠地讀取數(shù)據(jù)。
與此相對,關(guān)于FAT區(qū)域,以與第二實(shí)施例同樣地在閃速存儲(chǔ)器FLa 中確保(提供)FAT1區(qū)域,在閃速存儲(chǔ)器FLb中確保(提供)FAT2區(qū) 域。這樣一來,由于能夠同時(shí)并行地向兩個(gè)閃速存儲(chǔ)器進(jìn)行寫入,因此, 不必等待另一方的寫入結(jié)束,就能夠?qū)懭雰蓚€(gè)管理信息。其結(jié)果是,與第 一實(shí)施例以及第二實(shí)施例一樣,能夠提高對FAT區(qū)域進(jìn)行寫入的效率。
如圖ll所示,在本實(shí)施例中,關(guān)于FAT2區(qū)域以外的區(qū)域,從主機(jī)看 到的地址映射與從閃存控制器130看到的地址體系是一致的。因此,針對 FAT2區(qū)域以外的區(qū)域,不進(jìn)行地址轉(zhuǎn)換就能夠進(jìn)行數(shù)據(jù)的寫入。其結(jié)果 是能夠提高處理效率。此外,在圖11的右側(cè)所示的地址映射中,表示為 "NULL"的區(qū)域是本來應(yīng)該確保(提供)FAT2區(qū)域的區(qū)域,因而從主機(jī)裝置一側(cè)是不能直接識別的。但是,通過進(jìn)行使該NULL區(qū)域與用戶數(shù)據(jù) 區(qū)域相連接的預(yù)定的地址轉(zhuǎn)換,也可將該NULL區(qū)域作為用戶數(shù)據(jù)區(qū)域來 使用。
但是,在本實(shí)施例中,在閃速存儲(chǔ)器FLa和閃速存儲(chǔ)器FLb中寫入了 相同內(nèi)容的數(shù)據(jù),但也可以在閃速存儲(chǔ)器FLb中寫入由寫入閃速存儲(chǔ)器 FLa中的數(shù)據(jù)所生成的ECC數(shù)據(jù)。通過如此構(gòu)成,能夠根據(jù)寫入閃速存儲(chǔ) 器FLb中的ECC數(shù)據(jù)來容易地進(jìn)行寫入閃速存儲(chǔ)器FLa中的數(shù)據(jù)的檢錯(cuò) 和糾錯(cuò),因此能夠提高所存儲(chǔ)的數(shù)據(jù)的可靠性。
D.變形例
以上說明了本發(fā)明的各種實(shí)施例,但不用說,本發(fā)明不限于這些實(shí)施 例,可在不脫離其宗旨的范圍內(nèi)采用各種結(jié)構(gòu)。例如可進(jìn)行如下的變形。 (Dl)變形例1:
在上述的實(shí)施例中,數(shù)據(jù)存儲(chǔ)裝置IO具備閃速存儲(chǔ)器,以作為存儲(chǔ) 設(shè)備。與此相對,例如也可以具備硬盤驅(qū)動(dòng)器等其他存儲(chǔ)設(shè)備。 (D2)變形例2:
在上述的實(shí)施例中,數(shù)據(jù)存儲(chǔ)裝置10是以FAT形式被格式化的。但 是,格式化的形式并不局限于此,也可以根據(jù)寫入多個(gè)相同內(nèi)容的管理信 息的其他形式來進(jìn)行格式化。 (D3)變形例3:
在上述的實(shí)施例中,主機(jī)裝置和數(shù)據(jù)存儲(chǔ)裝置10是通過USB接口連 接的。但是,接口的類型不限于此。例如,既可以通過PCMCIA接口來連 接,也可以通過串行ATA接口、 IEEE1394接口等來連接。
在上述的實(shí)施例中,使用"地址"這一術(shù)語描述了閃速存儲(chǔ)器中存儲(chǔ) 數(shù)據(jù)的場所,但是所述術(shù)語可根據(jù)所應(yīng)用的文件系統(tǒng)、操作系統(tǒng)或存儲(chǔ)設(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ù)存儲(chǔ)裝置,其存儲(chǔ)從主機(jī)裝置傳送的數(shù)據(jù),并包括存儲(chǔ)設(shè)備,包括記錄所述數(shù)據(jù)的數(shù)據(jù)區(qū)域以及記錄第一管理信息和第二管理信息的管理區(qū)域,其中,所述第一管理信息用于管理所述數(shù)據(jù),所述第二管理信息與所述第一管理信息具有相同的內(nèi)容;接收單元,個(gè)別地接收從所述主機(jī)裝置以預(yù)定的順序傳送的所述數(shù)據(jù)、所述第一管理信息以及所述第二管理信息;數(shù)據(jù)記錄單元,將所述接收的數(shù)據(jù)記錄在所述數(shù)據(jù)區(qū)域中;管理信息記錄單元,當(dāng)從所述主機(jī)裝置接收了所述第一管理信息和所述第二管理信息中的一個(gè)管理信息時(shí),不等待另一個(gè)管理信息的接收,就將所述接收的管理信息作為所述第一管理信息和所述第二管理信息記錄到所述管理區(qū)域中。
2. 根據(jù)權(quán)利要求1所述的數(shù)據(jù)存儲(chǔ)裝置,其中所述管理信息記錄單元包括如下單元,所述單元在接收到所述另一個(gè) 管理信息時(shí),不向所述管理區(qū)域記錄該管理信息,而是向所述主機(jī)裝置通 知記錄完畢。
3. 根據(jù)權(quán)利要求1或2所述的數(shù)據(jù)存儲(chǔ)裝置,其中, 所述管理信息記錄單元將所述第一管理信息和所述第二管理信息記錄在所述管理區(qū)域內(nèi)連續(xù)的位置上。
4. 根據(jù)權(quán)利要求1或2所述的數(shù)據(jù)存儲(chǔ)裝置,其中, 所述數(shù)據(jù)存儲(chǔ)裝置包括多個(gè)所述存儲(chǔ)設(shè)備,所述管理信息記錄單元將所述第一管理信息記錄在一個(gè)存儲(chǔ)設(shè)備中, 將所述第二管理信息記錄在另一個(gè)存儲(chǔ)設(shè)備中。
5. 根據(jù)權(quán)利要求4所述的數(shù)據(jù)存儲(chǔ)裝置,其中, 所述數(shù)據(jù)記錄單元使所述數(shù)據(jù)分散記錄在所述各個(gè)存儲(chǔ)設(shè)備中。
6. 根據(jù)權(quán)利要求4所述的數(shù)據(jù)存儲(chǔ)裝置,其中,所述數(shù)據(jù)記錄單元將所述數(shù)據(jù)記錄在一個(gè)存儲(chǔ)設(shè)備中,并將用于校正 該數(shù)據(jù)的校正數(shù)據(jù)記錄在另一個(gè)存儲(chǔ)設(shè)備中。
7. 根據(jù)權(quán)利要求6所述的數(shù)據(jù)存儲(chǔ)裝置,其中,所述數(shù)據(jù)記錄單元記錄將所述數(shù)據(jù)進(jìn)行漢明編碼而得的ECC數(shù)據(jù),作 為所述校正數(shù)據(jù)。
8. 根據(jù)權(quán)利要求6所述的數(shù)據(jù)存儲(chǔ)裝置,其中,所述數(shù)據(jù)記錄單元記錄與所述數(shù)據(jù)相同內(nèi)容的數(shù)據(jù),作為所述校正數(shù)據(jù)。
9. 根據(jù)權(quán)利要求1至8中任一項(xiàng)所述的數(shù)據(jù)存儲(chǔ)裝置,其中, 所述管理信息是記錄在FAT文件系統(tǒng)的文件分配表中的數(shù)據(jù)。
10. 根據(jù)權(quán)利要求1至9中任一項(xiàng)所述的數(shù)據(jù)存儲(chǔ)裝置,其中 所述存儲(chǔ)設(shè)備是非易失性半導(dǎo)體存儲(chǔ)器。
11. 根據(jù)權(quán)利要求IO所述的數(shù)據(jù)存儲(chǔ)裝置,其中, 所述非易失性半導(dǎo)體存儲(chǔ)器是閃速存儲(chǔ)器。
12. 根據(jù)權(quán)利要求11所述的數(shù)據(jù)存儲(chǔ)裝置,其中, 所述主機(jī)裝置和所述數(shù)據(jù)存儲(chǔ)裝置通過USB接口相連。
13. —種由數(shù)據(jù)存儲(chǔ)裝置存儲(chǔ)從主機(jī)裝置傳送的數(shù)據(jù)的數(shù)據(jù)存儲(chǔ)方 法,其中,所述數(shù)據(jù)存儲(chǔ)裝置包括存儲(chǔ)設(shè)備,所述存儲(chǔ)設(shè)備包括記錄所述 數(shù)據(jù)的數(shù)據(jù)區(qū)域以及記錄第一管理信息和第二管理信息的管理區(qū)域,所述 第一管理信息用于管理所述數(shù)據(jù),所述第二管理信息與所述第一管理信息 具有相同的內(nèi)容,并且所述數(shù)據(jù)存儲(chǔ)方法包括以下步驟個(gè)別地接收從所述主機(jī)裝置以預(yù)定的順序傳送的所述數(shù)據(jù)、所述第一 管理信息、以及所述第二管理信息,當(dāng)從所述主機(jī)裝置接收到所述第一管理信息和所述第二管理信息中的 一個(gè)管理信息時(shí),不等待另一個(gè)管理區(qū)域的接收,就將所述接收的管理信 息作為所述第一管理信息和所述第二管理信息記錄到所述管理區(qū)域中;和將所述接收的數(shù)據(jù)記錄在所述數(shù)據(jù)存儲(chǔ)區(qū)域中。
全文摘要
數(shù)據(jù)存儲(chǔ)裝置在從主機(jī)裝置接收到對FAT1區(qū)域進(jìn)行寫入的指示時(shí),將關(guān)于FAT1區(qū)域的管理信息、以及與該管理信息相同的信息作為FAT2區(qū)域的管理信息而一并集中記錄在連續(xù)的地址中。當(dāng)在接收到對FAT1區(qū)域的寫入指示之后又從主機(jī)裝置接收到對FAT2區(qū)域的寫入指示時(shí),數(shù)據(jù)存儲(chǔ)裝置不進(jìn)行數(shù)據(jù)寫入,而向主機(jī)裝置通知寫入完畢。由此,能夠在記錄多個(gè)相同內(nèi)容的管理信息的數(shù)據(jù)存儲(chǔ)裝置中提高數(shù)據(jù)的寫入效率。
文檔編號G06F12/00GK101449248SQ20078001813
公開日2009年6月3日 申請日期2007年5月11日 優(yōu)先權(quán)日2006年5月18日
發(fā)明者荒川忠史 申請人:巴比祿股份有限公司