專利名稱:存儲(chǔ)裝置的制作方法
技術(shù)領(lǐng)域:
本發(fā)明涉及存儲(chǔ)在計(jì)算機(jī)或各種電子設(shè)備中使用的數(shù)據(jù)的存儲(chǔ)裝置。
背景技術(shù):
近年來(lái),作為計(jì)算機(jī)的外部存儲(chǔ)裝置,以緊湊型閃存(compactflash)(注冊(cè)商標(biāo), 以下相同)為代表的存儲(chǔ)卡、USB閃存驅(qū)動(dòng)器(USBflash drive)正在普及。在這些外部存 儲(chǔ)裝置中內(nèi)置有閃存,該閃存是可重寫的非易失性ROM。有被稱為SLC(Single Level Cell, 單級(jí)單元)型和MLC(Multi Level Cell,多級(jí)單元)型的閃存(例如,參照以下的專利文獻(xiàn) 1)。專利文獻(xiàn)1 日本專利文獻(xiàn)特開(kāi)2002-8380號(hào)公報(bào)。SLC型閃存是一直以來(lái)被廣泛使用的存儲(chǔ)器,是每單個(gè)單元可以存儲(chǔ)1位的信息 的存儲(chǔ)器(以下也稱為“二值存儲(chǔ)器”)。與此相對(duì),MLC型存儲(chǔ)器單元是每單個(gè)單元可以存 儲(chǔ)2位以上的信息的存儲(chǔ)器(以下也稱為“多值存儲(chǔ)器”)。MLC型閃存可以通過(guò)各單元取 完全充電的狀態(tài)、電量剩余有三分之二的狀態(tài)、電量剩余有三分之一的狀態(tài)、被完全放電的 狀態(tài)這四種狀態(tài)而以每單個(gè)單元存儲(chǔ)2位的信息。通常,MLC型閃存具有低速動(dòng)作、可重寫次數(shù)少、但存儲(chǔ)容量比SLC型大的特點(diǎn)。另 一方面,SLC型閃存具有高速動(dòng)作、可重寫次數(shù)多、但存儲(chǔ)容量比MLC型小的特點(diǎn)。
發(fā)明內(nèi)容
發(fā)明所要解決的問(wèn)題鑒于上述問(wèn)題,本發(fā)明所要解決的課題是提供一種發(fā)揮了 SLC型閃存和MLC型閃 存這兩者的特點(diǎn)的優(yōu)點(diǎn)的存儲(chǔ)裝置。用于解決問(wèn)題的于段鑒于上述課題,本發(fā)明的一個(gè)實(shí)施方式的存儲(chǔ)裝置如下構(gòu)成。即,本發(fā)明提供一種存儲(chǔ)裝置,該存儲(chǔ)裝置在存儲(chǔ)區(qū)域的開(kāi)頭記錄數(shù)據(jù)的管理信 息,并且可以根據(jù)預(yù)定的文件系統(tǒng)來(lái)存儲(chǔ)數(shù)據(jù),所述存儲(chǔ)裝置的特征在于,包括二值閃存, 具有第一存儲(chǔ)區(qū)域,每單個(gè)單元可以存儲(chǔ)2種值;多值閃存,具有第二存儲(chǔ)區(qū)域,每單個(gè)單 元可以存儲(chǔ)3種以上的值;以及控制部,在將所述第一存儲(chǔ)區(qū)域配置于開(kāi)頭的區(qū)域的同時(shí) 邏輯結(jié)合所述第一存儲(chǔ)區(qū)域和所述第二存儲(chǔ)區(qū)域,并作為為單一的存儲(chǔ)區(qū)域的結(jié)合區(qū)域而 進(jìn)行數(shù)據(jù)的讀寫。根據(jù)上述方式的存儲(chǔ)裝置,將二值閃存所具有的第一存儲(chǔ)區(qū)域配置于結(jié)合區(qū)域的 開(kāi)頭。因此,文件分配表等數(shù)據(jù)的管理信息被寫入到二值閃存內(nèi)。由于文件分配表是一旦 進(jìn)行數(shù)據(jù)的寫入或擦除就會(huì)被頻繁地進(jìn)行重寫的管理信息,因此通過(guò)將動(dòng)作速度高于多值閃存的二值閃存配置于結(jié)合區(qū)域的開(kāi)頭,與全部區(qū)域由多值閃存構(gòu)成的存儲(chǔ)裝置相比,可 以高速地存儲(chǔ)數(shù)據(jù)。另外,由于二值閃存具有與多值閃存相比可重寫次數(shù)多的特點(diǎn),因此通 過(guò)將會(huì)被頻繁地進(jìn)行重寫的文件分配表寫入二值閃存,可以提高數(shù)據(jù)存儲(chǔ)的可靠性。這樣, 根據(jù)上述方式的存儲(chǔ)裝置,通過(guò)使用多值閃存而實(shí)現(xiàn)了大容量化,同時(shí)通過(guò)也使用二值閃 存而可以提供在動(dòng)作的高速性和可靠性方面優(yōu)良的存儲(chǔ)裝置。上述方式的存儲(chǔ)裝置也可以采用以下構(gòu)成方式,S卩,所述控制部包括地址轉(zhuǎn)換 部,進(jìn)行所述結(jié)合區(qū)域與所述第一存儲(chǔ)區(qū)域和所述第二存儲(chǔ)區(qū)域之間的地址轉(zhuǎn)換;以及選 擇部,根據(jù)所述地址轉(zhuǎn)換的結(jié)果,從所述二值閃存和所述多值閃存中選擇所述數(shù)據(jù)的讀寫 目的地。根據(jù)該方式,可以根據(jù)地址轉(zhuǎn)換的結(jié)果而容易地判斷出數(shù)據(jù)的讀寫目的地。上述方式的存儲(chǔ)裝置也可以采用以下構(gòu)成方式,S卩,所述控制部在將通過(guò)所述地 址轉(zhuǎn)換部進(jìn)行了轉(zhuǎn)換后的地址發(fā)送給所述二值閃存和所述多值閃存之后,將用于進(jìn)行所述 數(shù)據(jù)的讀寫的指令發(fā)送給所述被選擇的閃存。根據(jù)該方式,向所有閃存發(fā)送轉(zhuǎn)換后的地址,然后僅向被選擇的閃存發(fā)送指令。根 據(jù)該方式,由于不需要從二值閃存和多值閃存中選擇轉(zhuǎn)換后的地址的發(fā)送目的地,因此可 以提高處理速度。上述方式的存儲(chǔ)裝置也可以采用以下構(gòu)成方式,S卩,所述第一存儲(chǔ)區(qū)域是占所述 結(jié)合區(qū)域的0. 5%以上且不足100%的任一比例的區(qū)域。通過(guò)將第一存儲(chǔ)區(qū)域設(shè)定為這樣 的區(qū)域,能夠可靠地將文件分配表等管理信息存儲(chǔ)在二值閃存內(nèi)。上述方式的存儲(chǔ)裝置也可以采用以下構(gòu)成方式,S卩,該存儲(chǔ)裝置經(jīng)由預(yù)定的接口 與主機(jī)裝置連接,所述控制部根據(jù)來(lái)自所述主機(jī)裝置的指示而進(jìn)行所述數(shù)據(jù)的讀寫。根據(jù) 該方式,可以將該存儲(chǔ)裝置用作主機(jī)裝置的外部存儲(chǔ)裝置或內(nèi)部存儲(chǔ)裝置。作為預(yù)定的接 口,例如可以使用USB、IEEE1394、串行ATA、并行ATA等接口。上述方式的存儲(chǔ)裝置也可以采用以下構(gòu)成方式,S卩,所述控制部在從所述主機(jī)裝 置接收到該存儲(chǔ)裝置的存儲(chǔ)容量的詢問(wèn)時(shí)返回所述結(jié)合區(qū)域的存儲(chǔ)容量。根據(jù)該方式,可 以將結(jié)合區(qū)域整體的容量而不是各閃存所個(gè)別具有的存儲(chǔ)容量通知給主機(jī)裝置。上述方式的存儲(chǔ)裝置也可以采用以下構(gòu)成方式,S卩,包括多個(gè)所述多值閃存,所述 控制部在將所述第一存儲(chǔ)區(qū)域配置于開(kāi)頭的區(qū)域的同時(shí)邏輯結(jié)合所述第一存儲(chǔ)區(qū)域和多 個(gè)所述第二存儲(chǔ)區(qū)域。根據(jù)該方式,可以具有多個(gè)多值閃存,因此可以提供具有大容量的存 儲(chǔ)區(qū)域的存儲(chǔ)裝置。本發(fā)明也可以應(yīng)用于以下方式的存儲(chǔ)裝置。即,該存儲(chǔ)裝置在存儲(chǔ)區(qū)域的開(kāi)頭記 錄數(shù)據(jù)的管理信息,并且可以根據(jù)預(yù)定的文件系統(tǒng)來(lái)存儲(chǔ)數(shù)據(jù),所述存儲(chǔ)裝置的特征在于, 包括二值閃存,具有第一存儲(chǔ)區(qū)域,每單個(gè)單元可以存儲(chǔ)2種值;多值閃存,具有比所述第 一存儲(chǔ)區(qū)域大的第二存儲(chǔ)區(qū)域,每單個(gè)單元可以存儲(chǔ)3種以上的值;比較部,對(duì)從與該存儲(chǔ) 裝置連接的主機(jī)裝置指定的地址和根據(jù)所述第一存儲(chǔ)區(qū)域的最大容量而確定了的預(yù)定的 閾值進(jìn)行比較;以及控制部,在所述地址為所述閾值以內(nèi)的地址的情況下將數(shù)據(jù)的讀寫目 的地切換為所述二值閃存,在所述地址為超過(guò)所述閾值的地址的情況下將所述讀寫目的地 切換為所述多值閃存。根據(jù)該方式的存儲(chǔ)裝置,通過(guò)進(jìn)行根據(jù)被指定的地址而在多值閃存與二值閃存之 間切換數(shù)據(jù)的讀寫目的地這樣的簡(jiǎn)單的控制,可以對(duì)特性不同的這些閃存進(jìn)行數(shù)據(jù)的讀寫。結(jié)果,通過(guò)使用多值閃存而實(shí)現(xiàn)了大容量化,同時(shí)通過(guò)也使用二值閃存而可以提供在動(dòng) 作的高速性和可靠性方面優(yōu)良的存儲(chǔ)裝置。上述方式的存儲(chǔ)裝置也可以采用以下構(gòu)成方式,S卩,所述控制部在所述讀寫目的 地被切換為所述二值閃存和所述多值閃存中的任一者的情況下,均原樣使用所述地址的值 而對(duì)所述二值閃存或所述多值閃存進(jìn)行數(shù)據(jù)的讀寫。根據(jù)該方式,由于不需要進(jìn)行將由主 機(jī)裝置指定的地址轉(zhuǎn)換為其他體系的地址的處理,因此可以實(shí)現(xiàn)處理的簡(jiǎn)化。上述方式的存儲(chǔ)裝置也可以采用以下構(gòu)成方式,S卩,所述控制部在從所述主機(jī)裝 置接收到該存儲(chǔ)裝置的存儲(chǔ)容量的詢問(wèn)時(shí)返回所述第二存儲(chǔ)區(qū)域的存儲(chǔ)容量。上述方式的 存儲(chǔ)裝置的最大存儲(chǔ)容量與第二存儲(chǔ)區(qū)域一致。因此,可以通過(guò)原樣返回第二存儲(chǔ)區(qū)域的 存儲(chǔ)容量這樣的簡(jiǎn)單的處理而將該存儲(chǔ)裝置的存儲(chǔ)容量通知給主機(jī)裝置。
圖1是表示作為第一實(shí)施例的存儲(chǔ)裝置的簡(jiǎn)要構(gòu)成的說(shuō)明圖;圖2是表示由第一實(shí)施例的單元管理電路進(jìn)行的地址轉(zhuǎn)換的概念的說(shuō)明圖;圖3是示意性地表示第一實(shí)施例的單元管理電路的內(nèi)部構(gòu)成的框圖;圖4是第一實(shí)施例中的單元管理處理的流程圖;圖5是表示作為第二實(shí)施例的存儲(chǔ)裝置的簡(jiǎn)要構(gòu)成的說(shuō)明圖;圖6是表示通過(guò)第二實(shí)施例的單元管理電路進(jìn)行的存儲(chǔ)單元的切換控制的概念 的說(shuō)明圖;圖7是示意性地表示第二實(shí)施例中的單元管理電路的內(nèi)部構(gòu)成的框圖;圖8是表示通過(guò)第二實(shí)施例的切換控制電路進(jìn)行的切換動(dòng)作的詳細(xì)情況的說(shuō)明 圖。
具體實(shí)施例方式以下,為了進(jìn)一步明確上述本發(fā)明的作用和效果,根據(jù)實(shí)施例來(lái)說(shuō)明本發(fā)明的實(shí) 施方式。A.第一實(shí)施例圖1是表示作為本發(fā)明的實(shí)施例的存儲(chǔ)裝置10的簡(jiǎn)要構(gòu)成的說(shuō)明圖。本實(shí)施例 的存儲(chǔ)裝置10經(jīng)由USB接口與以計(jì)算機(jī)為代表的主機(jī)裝置80連接,被用作外部存儲(chǔ)裝置。 主機(jī)裝置80通過(guò)規(guī)定的文件系統(tǒng)(FAT16或FAT32等)來(lái)格式化存儲(chǔ)裝置10而進(jìn)行數(shù)據(jù) 的讀寫。如圖所示,存儲(chǔ)裝置10包括主控制器20,另外還包括與該主控制器20連接并分別 具有NAND閃存的第一存儲(chǔ)單元30、第二存儲(chǔ)單元40、第三存儲(chǔ)單元50、以及第四存儲(chǔ)單元 60。第一存儲(chǔ)單元30包括二值存儲(chǔ)器31,該二值存儲(chǔ)器31是SLC型的NAND閃存。另 外,第一存儲(chǔ)單元30包括根據(jù)該二值存儲(chǔ)器31的電特性來(lái)控制該二值存儲(chǔ)器31的第一單 元控制器32。在本實(shí)施例中,作為第一單元控制器32而采用廣泛應(yīng)用的緊湊型閃存用存 儲(chǔ)控制器。第一單元控制器32從主控制器20接收基于ATA規(guī)格的指令或數(shù)據(jù),并對(duì)該二 值存儲(chǔ)器31進(jìn)行數(shù)據(jù)的讀寫。在本實(shí)施例中,第一存儲(chǔ)單元30具有1G字節(jié)容量的存儲(chǔ)區(qū)
5域。在無(wú)法通過(guò)一個(gè)二值存儲(chǔ)器31來(lái)實(shí)現(xiàn)1G字節(jié)容量的存儲(chǔ)區(qū)域的情況下,也可以通過(guò) 使多個(gè)二值存儲(chǔ)器31與第一單元控制器32連接來(lái)實(shí)現(xiàn)1G字節(jié)的存儲(chǔ)區(qū)域。第二存儲(chǔ)單元40包括多值存儲(chǔ)器41,該多值存儲(chǔ)器41是MLC型的NAND閃存。本 實(shí)施例的多值存儲(chǔ)器41是可以存儲(chǔ)4值(2位)的信息的存儲(chǔ)器。當(dāng)然,作為多值存儲(chǔ)器 41,可以適當(dāng)?shù)夭捎每纱鎯?chǔ)3值以上的信息的存儲(chǔ)器。第二存儲(chǔ)單元40還包括根據(jù)該多值 存儲(chǔ)器41的電特性來(lái)控制該多值存儲(chǔ)器41的第二單元控制器42。在本實(shí)施例中,與第一 存儲(chǔ)單元30 —樣,采用廣泛應(yīng)用的緊湊型閃存用存儲(chǔ)控制器來(lái)作為第二單元控制器42。第 三存儲(chǔ)單元50和第四存儲(chǔ)單元60的構(gòu)成與第二存儲(chǔ)單元40相同。在本實(shí)施例中,第二存 儲(chǔ)單元40、第三存儲(chǔ)單元50、以及第四存儲(chǔ)單元60分別具有15G字節(jié)容量的存儲(chǔ)區(qū)域。因 此,本實(shí)施例的存儲(chǔ)裝置10作為整體而具有46G(1G+15G+15G+15G)字節(jié)容量的存儲(chǔ)區(qū)域。 在無(wú)法通過(guò)一個(gè)多值存儲(chǔ)器來(lái)實(shí)現(xiàn)15G字節(jié)容量的存儲(chǔ)區(qū)域的情況下,也可以通過(guò)使多個(gè) 多值存儲(chǔ)器與單元控制器連接來(lái)實(shí)現(xiàn)15G字節(jié)的存儲(chǔ)區(qū)域。主控制器20是根據(jù)來(lái)自經(jīng)由USB接口而連接的主機(jī)裝置80的指示來(lái)控制對(duì)各存 儲(chǔ)單元30 60的數(shù)據(jù)讀寫的集成電路。主控制器20作為內(nèi)部電路而包括總線轉(zhuǎn)換電路 21和單元管理電路22??偩€轉(zhuǎn)換電路21具有將從主機(jī)裝置80接收到的、基于USB規(guī)格的信號(hào)轉(zhuǎn)換為基 于ATA (Advanced Technology Attachment,高級(jí)技術(shù)附件)規(guī)格的信號(hào)的功能。ATA是指計(jì) 算機(jī)與存儲(chǔ)裝置的標(biāo)準(zhǔn)的通信接口。作為基于ATA規(guī)格的信號(hào),例如有3個(gè)地址信號(hào)AO A2、16個(gè)數(shù)據(jù)信號(hào)D00 D15、以及重置(reset)信號(hào)等控制信號(hào)。單元管理電路22具有邏輯結(jié)合各存儲(chǔ)單元30 60所具有的二值存儲(chǔ)器和多值 存儲(chǔ)器的存儲(chǔ)區(qū)域并作為單一的存儲(chǔ)區(qū)域來(lái)進(jìn)行操作的功能。單元管理電路22根據(jù)由總 線轉(zhuǎn)換電路21進(jìn)行了轉(zhuǎn)換后的ATA信號(hào)的LBA(Logical Block addressing,邏輯塊尋址) 地址來(lái)進(jìn)行地址轉(zhuǎn)換,由此實(shí)現(xiàn)各存儲(chǔ)單元30 60的邏輯結(jié)合。LBA是指對(duì)存儲(chǔ)區(qū)域的所 有扇區(qū)分配連續(xù)的號(hào)碼并通過(guò)該連續(xù)的號(hào)碼來(lái)指定進(jìn)行訪問(wèn)的扇區(qū)的方式。LBA地址通過(guò) 該連續(xù)的號(hào)碼來(lái)表示?!癓BA地址”也被稱為“LBA參數(shù)”。圖2是表示由單元管理電路22進(jìn)行的地址轉(zhuǎn)換的概念的說(shuō)明圖。在圖的左側(cè)表示 了由單元管理電路22管理的各存儲(chǔ)單元30 60的存儲(chǔ)區(qū)域。如圖所示,在本實(shí)施例中, 第一存儲(chǔ)單元30內(nèi)的存儲(chǔ)區(qū)域通過(guò)從“0”到“W”的LBA地址來(lái)表示。另外,第二存儲(chǔ)單元 40通過(guò)從“0”到“X”的LBA地址來(lái)表示,第三存儲(chǔ)單元通過(guò)從“0”到“Y”的LBA地址來(lái)表 示,第四存儲(chǔ)單元通過(guò)從“0”到“Z”的LBA地址來(lái)表示。在圖2的右側(cè)表示了結(jié)合各存儲(chǔ)單元30 60的存儲(chǔ)區(qū)域后的存儲(chǔ)區(qū)域。如圖所 示,單元管理電路22將第一存儲(chǔ)單元30所具有的二值存儲(chǔ)器31的存儲(chǔ)區(qū)域配置在開(kāi)頭的 區(qū)域,然后配置其他存儲(chǔ)單元40 60所具有的多值存儲(chǔ)器41 61的存儲(chǔ)區(qū)域。如圖2 所示,結(jié)合后的存儲(chǔ)區(qū)域通過(guò)從“0”到“W+X+Y+Z”的連續(xù)的LBA地址來(lái)表示。通過(guò)由單元 管理電路22這樣來(lái)結(jié)合存儲(chǔ)區(qū)域,主機(jī)裝置80可以將存儲(chǔ)裝置10內(nèi)的存儲(chǔ)區(qū)域作為通過(guò) 從“0”到“W+X+Y+Z”的連續(xù)的LBA地址來(lái)表示的存儲(chǔ)區(qū)域而識(shí)別出來(lái)。在以下的說(shuō)明中, 將結(jié)合后的存儲(chǔ)區(qū)域稱為“結(jié)合區(qū)域UA”。圖3是示意性地表示單元管理電路22的內(nèi)部構(gòu)成的框圖。單元管理電路22除了 進(jìn)行上述地址轉(zhuǎn)換之外,還具有將從主機(jī)裝置80發(fā)出的ATA指令或數(shù)據(jù)傳送給各存儲(chǔ)單元30 60的功能。在圖3中表示了用于實(shí)現(xiàn)該傳送功能的內(nèi)部構(gòu)成。各存儲(chǔ)單元30 60所具有的單元控制器32 62分別包括遵循ATA規(guī)格的、被 稱為指令塊寄存器的8種寄存器。這8種寄存器分別稱為(1)特性寄存器、(2)扇區(qū)數(shù)寄 存器、(3)設(shè)備/頭(head)寄存器、(4)柱面高位寄存器、(5)柱面低位寄存器、(6)扇區(qū)號(hào) 寄存器、(7)指令寄存器、(8)數(shù)據(jù)寄存器。單元控制器32 62按照在這些寄存器中設(shè)置 的各種參數(shù)來(lái)控制對(duì)二值存儲(chǔ)器或多值存儲(chǔ)器的數(shù)據(jù)的讀寫。主機(jī)裝置80在讀寫數(shù)據(jù)時(shí) 將對(duì)這些寄存器的訪問(wèn)信號(hào)發(fā)送給存儲(chǔ)裝置10。當(dāng)經(jīng)由USB接口和總線轉(zhuǎn)換電路21從主機(jī)裝置80接收到上述訪問(wèn)信號(hào)時(shí),單元 管理電路22根據(jù)作為訪問(wèn)對(duì)象的寄存器的種類來(lái)改變對(duì)各存儲(chǔ)單元30 60的訪問(wèn)信號(hào) 的傳送方法。單元管理電路22包括用于判斷作為訪問(wèn)對(duì)象的寄存器的種類的寄存器判斷 電路78。寄存器判斷電路78根據(jù)從總線轉(zhuǎn)換電路21輸入的地址信號(hào)AO A2的狀態(tài),基 于ATA規(guī)格來(lái)判斷作為訪問(wèn)對(duì)象的寄存器的種類。例如如圖所示,如果地址信號(hào)A2為“0”、 地址信號(hào)A1為“0”、地址信號(hào)AO為“1”,則寄存器判斷電路78可以判斷出輸入了對(duì)特性寄 存器的訪問(wèn)信號(hào)。在從主機(jī)裝置80接收到對(duì)特性寄存器和扇區(qū)數(shù)寄存器的訪問(wèn)信號(hào)的情況下,單 元管理電路22使該訪問(wèn)信號(hào)原樣通過(guò),將該訪問(wèn)信號(hào)傳送給所有的存儲(chǔ)器單元30 60。 這是因?yàn)檫@些寄存器不是用于直接指定結(jié)合區(qū)域UA內(nèi)的位置的寄存器。具體地說(shuō),特性寄 存器是用于根據(jù)ATA指令來(lái)指定各種參數(shù)的寄存器,扇區(qū)數(shù)寄存器是用于在連續(xù)訪問(wèn)多個(gè) 扇區(qū)時(shí)指定其扇區(qū)數(shù)的寄存器。關(guān)于連續(xù)訪問(wèn)時(shí)的對(duì)“起始扇區(qū)”的指定,使用后述的設(shè)備 /頭寄存器、柱面高位寄存器、柱面低位寄存器、扇區(qū)號(hào)寄存器。設(shè)備/頭寄存器、柱面高位寄存器、柱面低位寄存器、扇區(qū)號(hào)寄存器是用于指定結(jié) 合區(qū)域UA內(nèi)的位置(扇區(qū))的寄存器。向這些寄存器分別輸入表示結(jié)合區(qū)域UA內(nèi)的扇區(qū) 的LBA地址的一部分。具體地說(shuō),如果LBA地址為28位長(zhǎng)的參數(shù),則向扇區(qū)號(hào)寄存器輸入 從第0位到第7位的位列,向柱面低位寄存器輸入從第8位到第15位的位列。另外,向柱 面高位寄存器輸入從第16位到第23位的位列,向設(shè)備/頭寄存器輸入從第24位到第27 位的位列。當(dāng)接收到對(duì)這些寄存器的訪問(wèn)信號(hào)時(shí),單元管理電路22暫時(shí)將該信號(hào)鎖存在鎖 存電路70 73中。鎖存在鎖存電路70 73中的訪問(wèn)信號(hào)被輸入地址譯碼器90。地址譯碼器90具 有將離散地存儲(chǔ)在各鎖存電路70 73中的LBA地址結(jié)合起來(lái)并復(fù)原為28位長(zhǎng)的LBA地 址的功能。另外,地址譯碼器90具有對(duì)復(fù)原后的LBA地址和各存儲(chǔ)單元的最大扇區(qū)數(shù)進(jìn)行 比較的功能。后面將詳細(xì)地說(shuō)明該功能。指令寄存器是用于指定基于ATA規(guī)格的各種指令的寄存器。作為這樣的指令,例 如有從指定的扇區(qū)讀入數(shù)據(jù)的讀扇區(qū)指令、向指定的扇區(qū)寫入數(shù)據(jù)的寫扇區(qū)指令。當(dāng)接收 到對(duì)指令寄存器的指令信號(hào)時(shí),單元管理電路22將該信號(hào)輸入給指令譯碼器91和鎖存電 路74。當(dāng)輸入了指令信號(hào)時(shí),指令譯碼器91判斷輸入的指令的種類,并將該判斷結(jié)果輸 出給地址轉(zhuǎn)換電路92和單元選擇器94。輸入到鎖存電路74的指令信號(hào)在有來(lái)自單元選擇 器94的輸出指示之前保持在鎖存電路74中。
地址轉(zhuǎn)換電路92具有如圖2所示的、將從地址譯碼器90輸入的關(guān)于結(jié)合區(qū)域UA 的LBA地址轉(zhuǎn)換為每個(gè)存儲(chǔ)器單元30 60的LBA地址的功能。具體地說(shuō),地址轉(zhuǎn)換電路 92從地址譯碼器90輸入LBA地址,并且還從指令譯碼器91輸入指令的種類。然后,判斷 輸入的指令的種類是否是需要LBA地址的指令。需要LBA地址的指令是指通常對(duì)地址(扇 區(qū))進(jìn)行指定并對(duì)指定的地址進(jìn)行某種訪問(wèn)的指令,例如有“讀扇區(qū)指令”、“寫扇區(qū)指令”、 “多次讀指令”、“多次寫指令”、“讀DMA指令”、“寫DMA指令”、“讀校驗(yàn)扇區(qū)指令”、“查找指令” 等。如果地址轉(zhuǎn)換電路92判斷輸入的指令的種類是需要LBA地址的指令,則將從地址譯碼 器90輸入的LBA地址轉(zhuǎn)換為每個(gè)存儲(chǔ)單元的LBA地址(后面將說(shuō)明轉(zhuǎn)換方法),并將轉(zhuǎn)換 后的LBA地址傳送給所有的存儲(chǔ)單元30 60。如后所述,主控制器20不會(huì)同時(shí)向多個(gè)存 儲(chǔ)單元傳送需要LBA地址的ATA指令,因此轉(zhuǎn)換后的LBA地址可以傳送給所有的存儲(chǔ)單元 30 60。由此,地址轉(zhuǎn)換電路92可以省略選擇傳送目的地的處理。當(dāng)然,也可以僅向該存 儲(chǔ)單元傳送轉(zhuǎn)換后的LBA地址。如果從指令譯碼器91輸入的指令的種類是不需要LBA地址的指令,則地址轉(zhuǎn)換電 路92將從地址譯碼器90輸入的參數(shù)原樣傳送給所有的存儲(chǔ)單元30 60。這是由于在為 不需要LBA地址的指令的情況下,輸入到設(shè)備/頭寄存器等的訪問(wèn)信號(hào)不限于表示LBA地 址。不需要LBA地址的指令是指在不指定地址(扇區(qū))的情況下對(duì)閃存進(jìn)行某種操作的指 令,例如有“識(shí)別設(shè)備(identify device)指令”、“設(shè)置特性指令”、“檢查功率模式指令”、 “睡眠指令”、“待機(jī)指令”、“空閑指令”等。在從指令譯碼器91輸入的指令的種類是不需要 LBA地址的指令的情況下,地址轉(zhuǎn)換電路92也可以與需要LBA地址的指令同樣地向存儲(chǔ)單 元30 60傳送轉(zhuǎn)換后的LBA地址。這是因?yàn)椴恍枰狶BA地址的指令是無(wú)論有無(wú)LBA地址 均會(huì)被執(zhí)行的指令。當(dāng)然,也可以是進(jìn)行轉(zhuǎn)換但不傳送轉(zhuǎn)換后的LBA地址的構(gòu)成。單元選擇器94是根據(jù)從地址譯碼器90輸入的LBA地址來(lái)選擇作為指令的傳送目 的地的存儲(chǔ)單元的電路。具體地說(shuō),單元選擇器94從地址譯碼器90輸入LBA地址,并且從 指令譯碼器91輸入指令的種類。然后,判斷輸入的指令的種類是否是需要LBA地址的指令。 如果是需要LBA地址的指令,則單元選擇器94進(jìn)行以下處理根據(jù)輸入的LBA地址來(lái)選擇 作為指令的傳送目的地的存儲(chǔ)單元。后面將詳細(xì)地說(shuō)明該處理。單元選擇器94在選擇了 作為傳送目的地的存儲(chǔ)單元之后控制第一開(kāi)關(guān)電路96,連接該作為傳送目的地的存儲(chǔ)單元 和鎖存電路74。于是,保持在鎖存電路74中的指令信號(hào)被傳送給被選擇的存儲(chǔ)單元。向各單元輸出保持在鎖存電路74中的指令信號(hào)的定時(shí)被設(shè)定為地址轉(zhuǎn)換后的 LBA地址被從地址轉(zhuǎn)換電路92發(fā)送給各存儲(chǔ)單元并通過(guò)單元選擇器94完成了第一開(kāi)關(guān)電 路96的切換之后的定時(shí)。這是因?yàn)樵贏TA規(guī)格中規(guī)定在發(fā)送需要LBA地址的指令之前, 需要預(yù)先在寄存器中設(shè)定LBA地址。另外,如果輸入的指令的種類是不需要LBA地址的指 令,則單元選擇器94控制第一開(kāi)關(guān)電路96,以使鎖存電路74與所有的存儲(chǔ)單元連接。由 此,可以向所有的存儲(chǔ)單元傳送不需要LBA地址的指令。在輸入的指令的種類是不需要LBA 地址的指令的情況下,鎖存電路74也可以不使指令的輸出延遲。單元選擇器94 一旦根據(jù)輸入的LBA地址控制了第一開(kāi)關(guān)電路96,就與此相同地控 制第二開(kāi)關(guān)電路98。第二開(kāi)關(guān)電路98是用于切換對(duì)數(shù)據(jù)寄存器的訪問(wèn)信號(hào)的開(kāi)關(guān)。當(dāng)通 過(guò)單元選擇器94使第二開(kāi)關(guān)電路98切換后,數(shù)據(jù)信號(hào)也被傳送給與被傳送了需要LBA地 址的指令的存儲(chǔ)單元相同的存儲(chǔ)單元。
在第二開(kāi)關(guān)電路98與寄存器判斷電路78之間連接有狀態(tài)存儲(chǔ)電路79。在狀態(tài)存 儲(chǔ)電路79中存儲(chǔ)有結(jié)合區(qū)域UA整體的容量(所有扇區(qū)數(shù))、表示存儲(chǔ)裝置10的制造者信 息的設(shè)備ID。通常,在從主機(jī)裝置80要求獲得狀態(tài)信息的情況下,從通過(guò)第二開(kāi)關(guān)電路98 選擇的存儲(chǔ)單元返回狀態(tài)信息。但是,例如在通過(guò)“識(shí)別設(shè)備”指令等詢問(wèn)存儲(chǔ)裝置10所 具有的所有扇區(qū)數(shù)或設(shè)備ID等的情況下,從該狀態(tài)存儲(chǔ)電路79向主機(jī)裝置80返回狀態(tài)信 息。這樣,如果為可以從狀態(tài)存儲(chǔ)電路79返回狀態(tài)信息的構(gòu)成,則可以將無(wú)法通過(guò)各存儲(chǔ) 單元進(jìn)行應(yīng)對(duì)的、關(guān)于存儲(chǔ)裝置10整體的狀態(tài)信息正確地傳送給主機(jī)裝置80。圖4是表示通過(guò)地址譯碼器90和地址轉(zhuǎn)換電路92實(shí)現(xiàn)的地址轉(zhuǎn)換處理和由單元 選擇器94實(shí)現(xiàn)的對(duì)存儲(chǔ)單元的選擇處理的流程的流程圖。以下,將該處理簡(jiǎn)稱為“單元管 理處理”。地址轉(zhuǎn)換電路92判斷從指令譯碼器91輸入的指令的種類是否是需要LBA地址的 指令(步驟S10)。結(jié)果,如果是不需要LBA地址的指令(步驟S10:否),則地址轉(zhuǎn)換電路 92不進(jìn)行地址轉(zhuǎn)換而向所有單元原樣傳送輸入到設(shè)備/頭寄存器等的參數(shù)。另一方面,單 元選擇器94選擇所有的存儲(chǔ)單元(步驟S20)并結(jié)束處理。由此,同一指令被傳送給所有 的存儲(chǔ)單元。另外,如前所述,當(dāng)在步驟S10中判斷為輸入了不需要LBA地址的指令時(shí),地 址轉(zhuǎn)換電路92也可以與需要LBA地址的指令同樣地進(jìn)行如下所述的地址轉(zhuǎn)換。在上述步驟S10中,如果輸入的指令是需要LBA地址的指令(步驟S10 是),則地 址譯碼器90判斷輸入的LBA地址n是否是第一存儲(chǔ)單元30的LBA地址的最大值W(參照 圖2)以下的值(步驟S30)。如果LBA地址n為最大值W以下的值(步驟S30:是),則使 通過(guò)地址轉(zhuǎn)換電路92進(jìn)行轉(zhuǎn)換后的LBA地址m為從地址譯碼器90輸入的原來(lái)的LBA地址 n (步驟S40)。并且,在該情況下,單元選擇器94選擇第一存儲(chǔ)單元30作為指令的傳送目 的地(步驟S50)。當(dāng)在上述步驟S30中判斷LBA地址n不是第一存儲(chǔ)單元30的LBA地址的最大值 W以下的值時(shí)(步驟S30 否),地址譯碼器90判斷LBA地址n是否是第一存儲(chǔ)單元30的 LBA地址的最大值W與第二存儲(chǔ)單元40的LBA地址的最大值X之和(W+X)以下的值(步驟 S60)。如果LBA地址n是所述和(W+X)以下的值(步驟S60 是),則使通過(guò)地址轉(zhuǎn)換電路 92進(jìn)行轉(zhuǎn)換后的LBA地址m為從LBA地址n減去了第一存儲(chǔ)單元30的LBA地址的最大值 W后得到的值(步驟S70)。并且,在該情況下,單元選擇器94選擇第二存儲(chǔ)單元40作為指 令的傳送目的地(步驟S80)。當(dāng)在上述步驟S60中判斷LBA地址n不是所述和(W+X)以下的值時(shí)(步驟S60 否),地址譯碼器90判斷LBA地址n是否是第一存儲(chǔ)單元30的LBA地址的最大值W、第二存 儲(chǔ)單元40的LBA地址的最大值X、以及第三存儲(chǔ)單元50的LBA地址的最大值Y之和(W+X+Y) 以下的值(步驟S90)。如果LBA地址n為所述和(W+X+Y)以下的值(步驟S90 是),則使 通過(guò)地址轉(zhuǎn)換電路92進(jìn)行轉(zhuǎn)換后的LBA地址m為從LBA地址n減去了 W和X后得到的值 (步驟S100)。并且,在該情況下,單元選擇器94選擇第三存儲(chǔ)單元50作為指令的傳送目 的地(步驟S110)。當(dāng)在上述步驟S90中判斷LBA地址n不是所述和(W+X+Y)以下的值時(shí)(步驟S90 否),地址譯碼器90判斷LBA地址n是否是第一存儲(chǔ)單元30的LBA地址的最大值W、第二 存儲(chǔ)單元40的LBA地址的最大值X、第三存儲(chǔ)單元50的LBA地址的最大值Y、以及第四存儲(chǔ)單元60的最大值Z之和(W+X+Y+Z)以下的值(步驟S120)。如果LBA地址n為所述和 (W+X+Y+Z)以下的值(步驟S120 是),則使通過(guò)地址轉(zhuǎn)換電路92進(jìn)行轉(zhuǎn)換后的LBA地址 m為從LBA地址n減去了 W、X、以及Y后得到的值(步驟S130)。并且,在該情況下,單元選 擇器94選擇第四存儲(chǔ)單元60作為指令的傳送目的地(步驟S140)。當(dāng)在上述步驟S120中判斷LBA地址n不是所述和(W+X+Y+Z)以下的值時(shí)(步驟 S120:否),指定超過(guò)結(jié)合區(qū)域UA的LBA地址。因此,在該情況下執(zhí)行規(guī)定的錯(cuò)誤處理(步 驟S150)。規(guī)定的錯(cuò)誤處理是指例如廢棄當(dāng)前正在輸入的指令等處理。根據(jù)以上說(shuō)明的單 元管理處理,可以僅通過(guò)單純的比較運(yùn)算而容易地進(jìn)行地址的轉(zhuǎn)換和存儲(chǔ)單元的選擇。以上說(shuō)明了本實(shí)施例的存儲(chǔ)裝置10的構(gòu)成和動(dòng)作。如上所述,本實(shí)施例的存儲(chǔ) 裝置10按照對(duì)結(jié)合區(qū)域UA的起始分配作為SLC型閃存的二值存儲(chǔ)器31的方式來(lái)進(jìn)行地 址轉(zhuǎn)換。因此,當(dāng)存儲(chǔ)裝置10被FAT16或FAT32這樣的文件系統(tǒng)格式化后,在二值存儲(chǔ)器 31內(nèi)生成作為數(shù)據(jù)的管理信息的文件分配表(以下稱為“FAT信息”)。FAT信息是一旦進(jìn) 行數(shù)據(jù)的寫入或擦除則會(huì)被頻繁地重寫的管理信息。在本實(shí)施例中,在寫入這樣的管理信 息的區(qū)域配置寫入速度高于MLC型閃存(多值存儲(chǔ)器41 61)的SLC型閃存。因此,根據(jù) 本實(shí)施例,通過(guò)采用MLC型閃存而實(shí)現(xiàn)了大容量化,同時(shí)與僅由MLC型閃存構(gòu)成的存儲(chǔ)裝 置相比,可以顯著地提高數(shù)據(jù)的寫入速度。另外,向MLC型閃存寫入FAT信息的時(shí)間如果為 600nsec,則向SLC型閃存寫入FAT信息的時(shí)間大概為200nsec。在這里,說(shuō)明寫入速度的比較示例。眾所周知,根據(jù)FAT16或FAT32在管理信息內(nèi) 寫入兩個(gè)同一內(nèi)容的FAT信息。這樣一來(lái),如果是僅由MLC型閃存構(gòu)成的存儲(chǔ)裝置,則第一 個(gè)FAT信息的重寫需要600nSec,第二個(gè)FAT信息的重寫需要600nSec,并且數(shù)據(jù)的重寫需 要600nSec。于是,作為整體而需要1800nSec的時(shí)間。與此相對(duì),在本實(shí)施例中,由于將SLC 型閃存用于寫入FAT信息的區(qū)域,因此第一個(gè)FAT信息的重寫需要200nSec,第二個(gè)FAT信 息的重寫需要200nSec,(多值存儲(chǔ)器內(nèi)的)數(shù)據(jù)的重寫需要600nSec。于是,作為整體,通 過(guò)lOOOnsec完成了數(shù)據(jù)的重寫。即,根據(jù)本實(shí)施例,對(duì)于僅由MLC型閃存構(gòu)成的存儲(chǔ)裝置, 可以將數(shù)據(jù)的重寫時(shí)間削減45%左右。另外,通常SLC型閃存的數(shù)據(jù)的可重寫次數(shù)為MLC型閃存的10 20倍左右。因 此,通過(guò)如本實(shí)施例那樣在寫入會(huì)被頻繁地重寫的管理信息的區(qū)域配置SLC型閃存,可以 大幅地提高數(shù)據(jù)存儲(chǔ)的可靠性。結(jié)果,不僅可以用作外部存儲(chǔ)裝置,而且還可以與以往的硬 盤一樣容易地用作操作系統(tǒng)的引導(dǎo)驅(qū)動(dòng)器。另外,在本實(shí)施例中,作為控制二值存儲(chǔ)器或多值存儲(chǔ)器的單元控制器而使用了 緊湊型閃存用控制器。通常,緊湊型閃存的廣泛應(yīng)用性高,可以控制各種特性的閃存。因此, 如果如本實(shí)施例那樣使每個(gè)存儲(chǔ)單元具有緊湊型閃存控制器,則即使對(duì)每個(gè)存儲(chǔ)單元采用 不同制造商制造的閃存,也可以吸收掉特性的差異而使其正常地動(dòng)作。結(jié)果,可以容易地構(gòu) 成混裝了二值存儲(chǔ)器和多值存儲(chǔ)器的存儲(chǔ)裝置。另外,在本實(shí)施例中,作為單元控制器而采 用了緊湊型閃存用控制器,也可以使用SD存儲(chǔ)器用控制器或多媒體卡用控制器。在本實(shí)施例中,主控制器20所具有的功能通過(guò)硬件方式來(lái)實(shí)現(xiàn)。與此相對(duì),也可 以通過(guò)將主控制器20構(gòu)成為內(nèi)置有CPU、R0M、以及RAM的微機(jī)而通過(guò)軟件的方式來(lái)實(shí)現(xiàn)上 述地址轉(zhuǎn)換或單元管理的功能。另外,也可以通過(guò)采用RAID芯片來(lái)作為主控制器20并使 該RAID芯片進(jìn)行跨越(spanning)動(dòng)作來(lái)控制各存儲(chǔ)單元。
另外,在本實(shí)施例中,共計(jì)具有四個(gè)存儲(chǔ)單元,但是對(duì)該數(shù)量沒(méi)有限制。最低限度 是有一個(gè)具有二值存儲(chǔ)器的存儲(chǔ)單元和一個(gè)具有多值存儲(chǔ)器的存儲(chǔ)單元即可。另外,在本實(shí)施例中,二值存儲(chǔ)器的容量為1G字節(jié),但是也可以如下來(lái)決定該容 量。例如,通過(guò)FAT32來(lái)格式化存儲(chǔ)裝置10,使存儲(chǔ)裝置10的整體的存儲(chǔ)容量為x千兆字 節(jié)。對(duì)于FAT32來(lái)說(shuō),在很多情況下每一扇區(qū)為4K字節(jié)的容量,因此整體為(x/4)百萬(wàn)個(gè) 扇區(qū)數(shù)。另外,對(duì)于FAT32來(lái)說(shuō),為了表示一個(gè)地址而需要4字節(jié)的數(shù)據(jù)量。因此,每一 FAT 信息需要x百萬(wàn)字節(jié)(=4字節(jié)X (x/4)百萬(wàn)個(gè))的容量。如上所述,對(duì)于FAT32來(lái)說(shuō),在 很多情況下寫入兩個(gè)FAT信息,因此合計(jì)需要(2Xx)百萬(wàn)字節(jié)的管理區(qū)域。另外,作為管 理信息,不僅記錄FAT信息,而且還記錄主引導(dǎo)記錄、目錄項(xiàng)等信息,因此作為整體而需要 更多的管理區(qū)域。這里,舉出具體示例來(lái)進(jìn)行說(shuō)明。如果存儲(chǔ)裝置10的整體的容量為128 千兆字節(jié),則通過(guò)上述計(jì)算方法,F(xiàn)AT信息所需要的容量為256百萬(wàn)字節(jié)。并且,如果在此 基礎(chǔ)上再加上用于記錄主引導(dǎo)記錄、目錄項(xiàng)等的區(qū)域,則整體需要500百萬(wàn)字節(jié)左右的容 量的二值存儲(chǔ)器。即,對(duì)于存儲(chǔ)裝置10的整體的區(qū)域(結(jié)合區(qū)域UA)來(lái)說(shuō),至少需要0.5% 的二值存儲(chǔ)器的容量,如果有左右的容量,則可以富有余量地來(lái)存儲(chǔ)管理信息。當(dāng)然,由 于二值存儲(chǔ)器在動(dòng)作速度和可靠性方面具有比多值存儲(chǔ)器優(yōu)良的特性,因此也可以構(gòu)成為 超過(guò)的容量。B.第二實(shí)施例圖5是表示作為本發(fā)明的第二實(shí)施例的存儲(chǔ)裝置的簡(jiǎn)要構(gòu)成的說(shuō)明圖。如圖所 示,本實(shí)施例的存儲(chǔ)裝置110包括主控制器20、安裝有二值存儲(chǔ)器31的第一存儲(chǔ)單元30、 以及安裝有多值存儲(chǔ)器41的第二存儲(chǔ)單元40。與第一實(shí)施例相同,主控制器20包括總線 轉(zhuǎn)換電路21和單元管理電路122。其中,本實(shí)施例的單元管理電路122具有以下功能根 據(jù)從主機(jī)裝置80指定的地址、數(shù)據(jù)、指令,在第一存儲(chǔ)單元30和第二存儲(chǔ)單元40之間切換 進(jìn)行數(shù)據(jù)的讀寫的對(duì)象。圖6是表示通過(guò)單元管理電路122進(jìn)行的存儲(chǔ)單元的切換控制的概念的說(shuō)明圖。 在圖6中,從左側(cè)開(kāi)始依次表示了當(dāng)從主機(jī)裝置80觀察存儲(chǔ)裝置110時(shí)的存儲(chǔ)裝置110的 整體的存儲(chǔ)區(qū)域UA2、第一存儲(chǔ)單元30的存儲(chǔ)區(qū)域、第二存儲(chǔ)單元40的存儲(chǔ)區(qū)域。在本實(shí)施例中,第一存儲(chǔ)單元30內(nèi)的存儲(chǔ)區(qū)域通過(guò)從“0”到“W”的LBA地址來(lái)表 示。另一方面,第二存儲(chǔ)單元40內(nèi)的存儲(chǔ)區(qū)域通過(guò)從“0”到“X”的LBA地址來(lái)表示。LBA 地址“X”是比LBA地址“W”大的值。在本實(shí)施例中,如果從主機(jī)裝置80指定了從“0”到“W”的LBA地址,則單元管理 電路122將數(shù)據(jù)的讀寫的對(duì)象切換為安裝了二值存儲(chǔ)器31的第一存儲(chǔ)單元。與此相對(duì),如 果指定了超過(guò)“W”的LBA地址,則單元管理電路122將數(shù)據(jù)的讀寫對(duì)象切換為安裝有多值 存儲(chǔ)器41的第二存儲(chǔ)單元40。即,在本實(shí)施例中,單元管理電路122通過(guò)對(duì)從主機(jī)裝置80 指定的LBA地址和閾值“W”進(jìn)行比較來(lái)切換所使用的存儲(chǔ)器單元。進(jìn)行上述切換控制的結(jié) 果是在本實(shí)施例中,在第二存儲(chǔ)單元40的一部分產(chǎn)生不被使用的區(qū)域(LBA地址“0” T)。圖7是示意性地表示單元管理電路122的內(nèi)部構(gòu)成的框圖。如圖所示,本實(shí)施例 的單元管理電路122包括寄存器判斷電路178、切換控制電路194、第一開(kāi)關(guān)電路196、第二 開(kāi)關(guān)電路198。
11
寄存器判斷電路178與圖5所示的總線轉(zhuǎn)換電路21連接。與第一實(shí)施例相同,寄 存器判斷電路178根據(jù)從總線轉(zhuǎn)換電路21輸入的地址信號(hào)AO A2的狀態(tài),基于ATA規(guī)格 來(lái)判斷作為訪問(wèn)對(duì)象的寄存器的種類。然后,根據(jù)判斷的寄存器的種類將從總線轉(zhuǎn)換電路 21接收到的訪問(wèn)信號(hào)傳送給切換控制電路194。切換控制電路194進(jìn)行以下控制根據(jù)寄存器判斷電路178判斷出的作為訪問(wèn)對(duì) 象的寄存器的種類和從主機(jī)裝置80指定的地址、數(shù)據(jù)、指令,在第一存儲(chǔ)單元30與第二存 儲(chǔ)單元40之間切換作為訪問(wèn)對(duì)象的存儲(chǔ)單元。第一開(kāi)關(guān)電路196根據(jù)來(lái)自切換控制電路194的指示而使總線轉(zhuǎn)換電路21與第 一存儲(chǔ)器單元30之間連接或斷開(kāi)。第二開(kāi)關(guān)電路198根據(jù)來(lái)自切換控制電路194的指示而使總線轉(zhuǎn)換電路21與第 二存儲(chǔ)單元40之間連接或斷開(kāi)。如圖所示,切換控制電路194包括地址譯碼器190、地址比較電路192、大小(size) 寄存器179、以及指令譯碼器191。地址譯碼器190根據(jù)對(duì)設(shè)備/頭寄存器、柱面高位寄存器、柱面低位寄存器、扇區(qū) 號(hào)寄存器的訪問(wèn)信號(hào),解析主機(jī)裝置80所指定的LBA地址。另外,指令譯碼器191對(duì)從主 機(jī)裝置80指示的指令進(jìn)行解析。在大小寄存器179中存儲(chǔ)有根據(jù)第一存儲(chǔ)單元30的最大容量而決定的閾值。在 本實(shí)施例中,設(shè)第一存儲(chǔ)單元30的最大容量為512M字節(jié),存儲(chǔ)在大小寄存器179中的閾值 是表示比該最大容量稍小的480M字節(jié)的容量的LBA地址。這是因?yàn)樵陂W存中有時(shí)會(huì)產(chǎn)生 缺陷塊(壞塊),因此有時(shí)無(wú)法利用所有的512M字節(jié)。當(dāng)然,作為閾值,也可以原樣存儲(chǔ)表 示第一存儲(chǔ)單元30的最大容量的LBA地址。另外,480M字節(jié)可以通過(guò)基于LBA方式的二進(jìn) 位而表示為“0000000011110000000000000000”。因此,如果使閾值為480M字節(jié),則可以根 據(jù)從主機(jī)裝置80指定的28位長(zhǎng)的LBA地址中的高8位的值是否為“00000000”以上來(lái)判 斷指定的地址是否超過(guò)了閾值(480M字節(jié))。即,后述的地址比較電路192可以僅通過(guò)使用 4位的設(shè)備/頭寄存器和8位的柱面高位寄存器的高4位而在不使用柱面低位寄存器或扇 區(qū)號(hào)寄存器的值的情況下容易地判斷出是否超過(guò)了閾值。地址比較電路192對(duì)地址譯碼器190所解析的LBA地址和存儲(chǔ)在大小寄存器179 中的閾值進(jìn)行比較,并如圖6所示在第一存儲(chǔ)單元30與第二存儲(chǔ)單元40之間選擇作為訪 問(wèn)對(duì)象的候選者的存儲(chǔ)單元。圖8是表示通過(guò)切換控制電路194進(jìn)行的切換動(dòng)作的詳細(xì)情況的說(shuō)明圖。在圖中, “切換”是指對(duì)由地址比較電路192選擇的存儲(chǔ)單元進(jìn)行訪問(wèn)。與此相對(duì),“同時(shí)訪問(wèn)”是指 與地址比較電路192的選擇無(wú)關(guān)地對(duì)第一存儲(chǔ)單元30和第二存儲(chǔ)單元40這兩者進(jìn)行同樣 的訪問(wèn)。另外,在圖8中,“寫時(shí)”表示從主機(jī)裝置80發(fā)出了寫指令的情況。在寫指令中包 括對(duì)指令寄存器的指令的寫命令、對(duì)數(shù)據(jù)寄存器的數(shù)據(jù)的寫命令、對(duì)其他寄存器的LBA地 址等各種參數(shù)的寫命令。另外,“讀時(shí)”表示從主機(jī)裝置80發(fā)出了讀指令的情況。在讀指令 中包括從存儲(chǔ)單元讀入各種狀態(tài)或數(shù)據(jù)的命令。如圖8所示,作為原則,對(duì)數(shù)據(jù)寄存器和指令寄存器的訪問(wèn)在寫時(shí)和讀時(shí)均對(duì)由 地址比較電路192選擇的存儲(chǔ)單元進(jìn)行。與此相對(duì),對(duì)其他寄存器的訪問(wèn)僅在讀時(shí)對(duì)被選擇的存儲(chǔ)單元進(jìn)行,在寫時(shí)對(duì)兩個(gè)存儲(chǔ)單元進(jìn)行同樣的訪問(wèn)。數(shù)據(jù)寄存器和指令寄存器以 外的寄存器主要是用于指定地址的寄存器。因此,只要作為寫的對(duì)象的數(shù)據(jù)或指令被恰當(dāng) 地傳送給被選擇的存儲(chǔ)單元,即使在寫時(shí)向第一存儲(chǔ)單元30和第二存儲(chǔ)單元40這兩種寄 存器寫入了同樣的地址,也不會(huì)帶來(lái)什么影響。在圖8中,“例外1 ”表示以下情況通過(guò)指令譯碼器191對(duì)指令進(jìn)行解析的結(jié)果,從 主機(jī)裝置80傳送的指令是空閑指令或待機(jī)指令等切換存儲(chǔ)單元整體的動(dòng)作狀態(tài)的指令。 在傳送了該指令的情況下,切換控制電路194例外地向第一存儲(chǔ)單元30和第二存儲(chǔ)單元40 這兩者傳送該指令。另外,在圖8中,“例外2”表示通過(guò)識(shí)別設(shè)備指令等針對(duì)存儲(chǔ)裝置110的數(shù)據(jù)容量 (全部扇區(qū)數(shù))進(jìn)行了讀。在該情況下,切換控制電路194例外地對(duì)第二存儲(chǔ)單元40進(jìn)行 訪問(wèn)。這是由于如圖6所示,在本實(shí)施例中,存儲(chǔ)裝置110的數(shù)據(jù)容量與第二存儲(chǔ)單元40 的數(shù)據(jù)容量一致。以上說(shuō)明了作為第二實(shí)施例的存儲(chǔ)裝置110的構(gòu)成和動(dòng)作,根據(jù)本實(shí)施例的存儲(chǔ) 裝置110,可以與第一實(shí)施例的存儲(chǔ)裝置10同樣地向存儲(chǔ)區(qū)域的起始的區(qū)域分配SLC型閃 存,并向除此之外的區(qū)域分配MLC型閃存。因此,可以使可重寫次數(shù)多、動(dòng)作速度高的SLC 型閃存存儲(chǔ)會(huì)被頻繁地重寫的FAT信息。結(jié)果,與第一實(shí)施例相同,通過(guò)采用MLC型閃存而 實(shí)現(xiàn)了大容量化,同時(shí)與僅由MLC型閃存構(gòu)成的存儲(chǔ)裝置相比,可以顯著地提高數(shù)據(jù)的寫 入速度和數(shù)據(jù)存儲(chǔ)的可靠性。另外,根據(jù)本實(shí)施例的存儲(chǔ)裝置110,可以原樣使用從主機(jī)裝置80指定的地址而 對(duì)兩種存儲(chǔ)單元進(jìn)行數(shù)據(jù)的讀寫。結(jié)果,由于不需要復(fù)雜的、進(jìn)行地址轉(zhuǎn)換的電路,因此可 以縮小主控制器20的電路規(guī)模。結(jié)果,可以降低制造成本。以上說(shuō)明了本發(fā)明的各種實(shí)施例,但是本發(fā)明不限于上述實(shí)施例,不言而喻可以 在不脫離其主旨的范圍內(nèi)采用各種構(gòu)成。例如,在上述實(shí)施例中采用了作為存儲(chǔ)裝置與主 機(jī)裝置連接的接口的USB接口,但是接口的種類不限于此。也可以采用IEEE1394接口、串 行ATA接口、并行ATA接口等各種接口。
權(quán)利要求
一種存儲(chǔ)裝置,包括二值閃存單元,具有第一存儲(chǔ)區(qū)域,每單個(gè)單元可以存儲(chǔ)2種值;多值閃存單元,具有第二存儲(chǔ)區(qū)域,每單個(gè)單元可以存儲(chǔ)3種以上的值;接口,該接口與主機(jī)裝置相連;以及控制部,邏輯結(jié)合所述第一存儲(chǔ)區(qū)域和所述第二存儲(chǔ)區(qū)域,并作為為單一的存儲(chǔ)區(qū)域的結(jié)合區(qū)域而進(jìn)行數(shù)據(jù)的讀寫;所述控制部包括地址轉(zhuǎn)換部,當(dāng)從所述主機(jī)裝置接收到伴有對(duì)所述結(jié)合區(qū)域內(nèi)的地址的指定的命令時(shí),將所述被指定的地址轉(zhuǎn)換為所述第一存儲(chǔ)區(qū)域或所述第二存儲(chǔ)區(qū)域內(nèi)的地址;選擇部,根據(jù)所述被指定的地址,從所述二值閃存單元和所述多值閃存單元中選擇所述命令的傳送目的地的存儲(chǔ)器單元;以及傳送部,在將所述被轉(zhuǎn)換的地址發(fā)送給所述二值閃存單元和所述多值閃存單元雙方之后,將所述命令傳送給所述被選擇的存儲(chǔ)器單元。
2.如權(quán)利要求1所述的存儲(chǔ)裝置,其中,所述控制部在從所述主機(jī)裝置接收到不伴有對(duì)地址的指定的命令時(shí),不進(jìn)行由所述地 址轉(zhuǎn)換部進(jìn)行的地址轉(zhuǎn)換以及由所述選擇部進(jìn)行的存儲(chǔ)器單元的選擇,而通過(guò)所述傳送部 將所述命令傳送給所述二值閃存單元和所述多值閃存單元雙方。
3.如權(quán)利要求1或2所述的存儲(chǔ)裝置,其中,所述主機(jī)裝置是在所述結(jié)合區(qū)域的開(kāi)頭記錄數(shù)據(jù)的管理信息的裝置,所述控制部將所述第一存儲(chǔ)區(qū)域整體與所述第二存儲(chǔ)區(qū)域相比配置于開(kāi)頭的區(qū)域,同 時(shí)邏輯結(jié)合所述第一存儲(chǔ)區(qū)域和所述第二存儲(chǔ)區(qū)域。
全文摘要
本發(fā)明提供一種充分地發(fā)揮了SLC型閃存和MLC型閃存這兩者的優(yōu)點(diǎn)的存儲(chǔ)裝置。存儲(chǔ)裝置包括二值閃存,具有第一存儲(chǔ)區(qū)域,每單個(gè)單元可以存儲(chǔ)2種值;多值閃存,具有第二存儲(chǔ)區(qū)域,每單個(gè)單元可以存儲(chǔ)3種以上的值;以及控制部,在將第一存儲(chǔ)區(qū)域配置于開(kāi)頭的區(qū)域的同時(shí)邏輯結(jié)合第一存儲(chǔ)區(qū)域和第二存儲(chǔ)區(qū)域,并作為為單一的存儲(chǔ)區(qū)域的結(jié)合區(qū)域而進(jìn)行數(shù)據(jù)的讀寫。根據(jù)預(yù)定的文件系統(tǒng)而在存儲(chǔ)區(qū)域的開(kāi)頭存儲(chǔ)數(shù)據(jù)的管理信息。
文檔編號(hào)G06F12/10GK101853694SQ20101015423
公開(kāi)日2010年10月6日 申請(qǐng)日期2008年5月13日 優(yōu)先權(quán)日2007年5月14日
發(fā)明者荒川忠史 申請(qǐng)人:巴比祿股份有限公司