JP4781373B2 - Storage device - Google Patents

Storage device Download PDF

Info

Publication number
JP4781373B2
JP4781373B2 JP2008004691A JP2008004691A JP4781373B2 JP 4781373 B2 JP4781373 B2 JP 4781373B2 JP 2008004691 A JP2008004691 A JP 2008004691A JP 2008004691 A JP2008004691 A JP 2008004691A JP 4781373 B2 JP4781373 B2 JP 4781373B2
Authority
JP
Japan
Prior art keywords
address
memory
unit
flash memory
command
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
JP2008004691A
Other languages
Japanese (ja)
Other versions
JP2008310793A (en
Inventor
忠史 荒川
Original Assignee
株式会社バッファロー
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Priority to JP2007127665 priority Critical
Priority to JP2007127665 priority
Application filed by 株式会社バッファロー filed Critical 株式会社バッファロー
Priority to JP2008004691A priority patent/JP4781373B2/en
Priority claimed from US12/120,108 external-priority patent/US7979627B2/en
Publication of JP2008310793A publication Critical patent/JP2008310793A/en
Publication of JP4781373B2 publication Critical patent/JP4781373B2/en
Application granted granted Critical
Application status is Active legal-status Critical
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C2211/00Indexing scheme relating to digital stores characterized by the use of particular electric or magnetic storage elements; Storage elements therefor
    • G11C2211/56Indexing scheme relating to G11C11/56 and sub-groups for features not covered by these groups
    • G11C2211/564Miscellaneous aspects
    • G11C2211/5641Multilevel memory having cells with different number of storage levels

Description

本発明は、コンピュータや各種電子機器で用いられるデータを記憶する記憶装置に関する。 The present invention relates to a storage device for storing data used in computers and various electronic devices.

近年、コンピュータの外部記憶装置として、コンパクトフラッシュ(登録商標。以下同じ)に代表されるメモリカードや、USBメモリが普及している。 Recently, as an external storage device of a computer, a memory card typified by a compact flash (registered trademark. Hereinafter the same), USB memory has become widespread. これらの外部記憶装置には、書換可能な不揮発性ROMであるフラッシュメモリが内蔵されている。 These external storage devices, flash memory is built is a rewritable non-volatile ROM. フラッシュメモリには、SLC(Single Level Cell)型とMLC(Multi Level Cell)型と呼ばれるものがある(例えば、下記特許文献1参照)。 The flash memory, there is a so-called SLC (Single Level Cell) type and MLC (Multi Level Cell) type (for example, see Patent Document 1).

特開2002−8380号公報 JP 2002-8380 JP

SLC型のフラッシュメモリは、従来より広く用いられているメモリであり、単セル当たり1ビットの情報が記憶可能なメモリである(以下、「二値メモリ」ともいう)。 SLC type flash memory is a memory that has been widely used conventionally, one bit of information per single cell is capable of storing memory (hereinafter, also referred to as "binary memory"). これに対して、MLC型のフラッシュメモリは、単セル当たり2ビット以上の情報が記憶可能なメモリである(以下、「多値メモリ」ともいう)。 In contrast, MLC type flash memory is 2 or more bits of information per single cell is capable of storing memory (hereinafter, also referred to as "multi-level memory"). MLC型のフラッシュメモリは、各セルが、完全に充電された状態、電力が3分の2残った状態、3分の1残った状態、すべて放電された状態という、4つの状態を取ることで、単セル当たり、2ビットの情報を記憶することができる。 MLC type flash memory is that each cell is fully charged state, power is 2/3 remaining states, one third of remaining state, that all discharged state, take four states , per unit cell can store two bits of information.

一般的に、MLC型のフラッシュメモリは、動作が低速で、書換可能回数が少ないのに対して、記憶容量はSLC型よりも大きいという特徴がある。 Generally, MLC type flash memory, the operation at low speed, while the rewritable number of times is small, the storage capacity is characterized in that greater than SLC type. 一方、SLC型のフラッシュメモリは、動作が高速で、書換可能回数が多いのに対して、記憶容量は、MLC型よりも少ないという特徴がある。 On the other hand, SLC-type flash memory, in operation at high speed, whereas many rewritable number of times, the storage capacity is characterized in that less than MLC type.

このような問題を考慮し、本発明が解決しようとする課題は、SLC型のフラッシュメモリとMLC型のフラッシュメモリの両者の特徴の利点を生かした記憶装置を提供することにある。 In consideration of such problems, an object of the present invention is to provide is to provide a memory device taking advantage of the features of both a flash memory of a flash memory and MLC type SLC type.

上記課題を踏まえ、本発明の一態様である記憶装置を次のように構成した。 Based on the above-mentioned problems, to constitute a storage device of one embodiment of the present invention as follows.
記憶領域の先頭にデータの管理情報を記録する所定のファイルシステムに基づいてデータを記憶可能な記憶装置であって、第1の記憶領域を有し、単セルあたり2種類の値を記憶可能な二値フラッシュメモリと、前記第1の記憶領域よりも広い第2の記憶領域を有し、単セルあたり3種類以上の値を記憶可能な多値フラッシュメモリと、当該記憶装置に接続されたホスト装置から指定されたアドレスと、前記第1の記憶領域の最大容量に基づいて定められた所定の閾値とを比較する比較部と、前記アドレスが、前記閾値内のアドレスである場合には、データの読み書き先を前記二値フラッシュメモリに切り換え、前記アドレスが、前記閾値を超えるアドレスである場合には、前記読み書き先を、前記多値フラッシュメモリに切り換える制御部 A storable storage device data on the basis of a predetermined file system for recording management information of the data to the beginning of the storage area has a first memory area, which can store two values ​​per unit cell a binary flash memory, has the broad second storage area than the first storage area, and the multi-level flash memory capable of storing three or more values ​​per unit cell, a host connected to the storage device the address specified by the device, a comparator for comparing a predetermined threshold value set based on the maximum capacity of the first storage area, if the address is an address in the threshold value, data switch the read and write destination to the binary flash memory, the address, when the address is greater than the threshold value, the write destination, the control unit for switching the multi-level flash memory を備え、前記制御部は、前記読み書き先が、前記二値フラッシュメモリおよび前記多値フラッシュメモリのいずれかに切り換えられた場合においても、前記アドレスの値をそのまま用いて、前記二値フラッシュメモリまたは前記多値フラッシュメモリに対して、データの読み書きを行うことで、前記多値フラッシュメモリが有する前記第2の記憶領域のうち、前記閾値内のアドレスに対応する記憶領域については使用せず、前記閾値を超えるアドレスに対応する記憶領域を使用し、前記制御部は、前記ホスト装置から、当該記憶装置の記憶容量の問い合わせを受けた際に、前記第2の記憶領域の記憶容量を返信する手段を備える記憶装置。 Wherein the control unit, the reading and writing destination, when switched into either of the binary flash memory and the multi-level flash memory is also used as the value of the address, the binary flash memory or with respect to the multi-level flash memory, by reading and writing data, among the second memory area in which the multi-level flash memory has, not used for memory area corresponding to the address in the threshold value, the using a storage area corresponding to the address exceeds the threshold, the control unit, from said host device, when receiving an inquiry of the storage capacity of the storage device, means for returning the storage capacity of the second storage area storage device comprising a.
また、本発明は、以下のような態様としても実現することが可能である。 Further, the present invention can also be implemented as an aspect as follows.

すなわち、記憶領域の先頭にデータの管理情報を記録する所定のファイルシステムに基づいてデータを記憶可能な記憶装置であって、第1の記憶領域を有し、単セルあたり2種類の値を記憶可能な二値フラッシュメモリと、第2の記憶領域を有し、単セルあたり3種類以上の値を記憶可能な多値フラッシュメモリと、前記第1の記憶領域を先頭の領域に配置しつつ、前記第1の記憶領域と前記第2の記憶領域とを論理的に結合して、単一の記憶領域である結合領域としてデータの読み書きを行う制御部とを備えることを要旨とする。 That is, a storage capable of storage data based on a predetermined file system for recording management information of the data to the beginning of the storage area has a first storage area, storing two values ​​per unit cell a binary flash memory capable, has a second storage area, and the multi-level flash memory capable of storing three or more values ​​per unit cell, while placing the first storage area to the top of the area, the first of the storage area and said second storage area logically coupled, and summarized in that a control unit for reading and writing data as a binding domain is a single storage area.

上記態様の記憶装置によれば、二値フラッシュメモリが有する第1の記憶領域を結合領域の先頭に配置する。 According to the memory device of the embodiment, disposing the first storage area of ​​the binary flash memory to the beginning of the coupling region. そのため、ファイルアロケーションテーブルなどのデータの管理情報が、二値フラッシュメモリ内に書き込まれることになる。 Therefore, the management information data such as the file allocation table, will be written into the binary flash memory. ファイルアロケーションテーブルは、データの書込や消去が行われると頻繁に書き換えられる管理情報であるため、多値フラッシュメモリよりも高速に動作可能な二値フラッシュメモリを結合領域の先頭に配置することで、全ての領域が多値フラッシュメモリによって構成される記憶装置よりも高速にデータを記憶することが可能になる。 The file allocation table, for a management information writing and erasing of data frequently rewritten when carried out, by placing a binary flash memory can operate at the beginning of the coupling region to a higher speed than the multi-level flash memory , it is possible that all areas to store data faster than a storage device by the multi-level flash memory. また、二値フラッシュメモリは、多値フラッシュメモリよりも、書換可能回数が多いという特徴があるため、頻繁に書き換えられるファイルアロケーションテーブルを二値フラッシュメモリに書き込むことで、データ記憶の信頼性を向上させることが可能になる。 Further, the binary flash memory, than multilevel flash memory, because of the feature that rewritable number of times is large, a file allocation table which is frequently rewritten by writing to the binary flash memory, improve the reliability of data storage it is possible to. このように、上記態様の記憶装置によれば、多値フラッシュメモリを用いることで大容量化を実現しつつ、二値フラッシュメモリをも用いることで、動作の高速性や信頼性に優れる記憶装置を提供することが可能になる。 Thus, according to the storage device of the above aspect, while realizing high capacity by using a multi-level flash memory, by using also the binary flash memory, stores excellent speed and reliability of the operation device it is possible to provide a.

上記態様の記憶装置において、前記制御部は、前記結合領域と、前記第1の記憶領域および前記第2の記憶領域との間のアドレス変換を行うアドレス変換部と、前記アドレス変換の結果に応じて、前記データの読み書き先を、前記二値フラッシュメモリおよび前記多値フラッシュメモリの中から選択する選択部とを備えるものとしてもよい。 The storage device of the above aspect, the control unit, depending on the binding region, an address conversion unit for performing address translation between the first storage area and the second storage area, the address translation results Te, reading and writing destination of the data, or as comprising a selection unit for selecting from among said binary flash memory and the multi-level flash memory. このような態様であれば、アドレス変換の結果に応じて、データの読み書き先を容易に判別することができる。 With such a manner, according to the result of the address translation, read and write destination of the data it can be easily determined.

上記態様の記憶装置において、前記制御部は、前記アドレス変換部によって変換されたアドレスを、前記二値フラッシュメモリおよび前記多値フラッシュメモリに送信した後で、前記データの読み書きを行うためのコマンドを、前記選択されたメモリに送信するものとしてもよい。 The storage device of the above aspect, the control unit, the converted address by the address conversion unit, after sending to the binary flash memory and the multi-level flash memory, a command for reading and writing the data , it may be transmitted to the selected memory.

このような態様では、変換後のアドレスについては全てのメモリに送信し、その後、コマンドについては、選択されたメモリに対してのみ送信する。 In such embodiments, transmit to all of the memory for the address after the conversion, then the command is transmitted only to the selected memory. このような態様であれば、変換後のアドレスの送信先を、二値フラッシュメモリと多値フラッシュメモリとから選択する必要がないため、処理速度を向上させることが可能になる。 With such an embodiment, the destination address after the conversion, there is no need to select from a binary flash memory and multi-level flash memory, it is possible to improve the processing speed.

上記態様の記憶装置において、前記第1の記憶領域は、前記結合領域の0.5%以上100%未満のいずれかの割合を占める領域とすることができる。 The storage device of the above aspect, the first storage area may be a region occupied either percentage of 0.5% or more and less than 100% of the binding region. 第1の記憶領域をこのような領域に設定することで、ファイルアロケーションテーブル等の管理情報を確実に二値フラッシュメモリ内に記憶させることが可能になる。 By setting the first storage area in such a region, reliably it can be stored in a binary flash memory management information such as the file allocation table.

上記態様の記憶装置において、当該記憶装置は、所定のインタフェースを介してホスト装置と接続されており、前記制御部は、前記ホスト装置からの指示に応じて前記データの読み書きを行うものとしてもよい。 The storage device of the above aspect, the storage device is connected to the host device via a predetermined interface, the control unit may as reading and writing the data in response to an instruction from said host device . このような態様であれば、当該記憶装置を、ホスト装置の外部記憶装置や内部記憶装置として利用することが可能になる。 With such an embodiment, the storage device, it is possible to use as an external storage device or the internal storage device of the host device. 所定のインタフェースとしては、例えば、USB、IEEE1394、パラレルATA、シリアルATA等のインタフェースを利用することができる。 The predetermined interface, for example, USB, IEEE1394, parallel ATA, it is possible to use an interface such as a serial ATA.

上記態様の記憶装置において、前記制御部は、前記ホスト装置から、当該記憶装置の記憶容量の問い合わせを受けた際に、前記結合領域の記憶容量を返信する手段を備えるものとしてもよい。 The storage device of the above aspect, the control unit, from said host device, when receiving an inquiry of the storage capacity of the storage device, or as comprising a means for returning the storage capacity of the coupling region. このような態様であれば、各フラッシュメモリが個別に有する記憶容量ではなく、結合領域全体の容量をホスト装置に通知することが可能になる。 With such an embodiment, each flash memory is not the memory capacity with the individual, it is possible to notify the capacity of the entire coupling area to the host device.

上記態様の記憶装置において、前記多値フラッシュメモリを複数備え、前記制御部は、前記第1の記憶領域を先頭の領域に配置しつつ、前記第1の記憶領域と複数の前記第2の記憶領域とを論理的に結合するものとしてもよい。 The storage device of the above aspect, a plurality of the multilevel flash memory, the control unit, while placing the first storage area to the top of the area, the first storage area and a plurality of the second memory and a region may be as logically combining. このような態様によれば、多値フラッシュメモリを複数備えた態様とすることができるので、大容量の記憶領域を有する記憶装置を提供することができる。 According to this aspect, it is possible to embodiments having a plurality of multi-level flash memory, it is possible to provide a memory device having a large-capacity storage area.

本発明は、次のような態様の記憶装置としても適用することができる。 The present invention can also be applied as a storage device such as the following embodiments. すなわち、記憶領域の先頭にデータの管理情報を記録する所定のファイルシステムに基づいてデータを記憶可能な記憶装置であって、 That is, a storage capable of storage data based on a predetermined file system for recording management information of the data to the beginning of the storage area,
第1の記憶領域を有し、単セルあたり2種類の値を記憶可能な二値フラッシュメモリと、 Having a first storage area, and a binary flash memory capable of storing two values ​​per unit cell,
前記第1の記憶領域よりも広い第2の記憶領域を有し、単セルあたり3種類以上の値を記憶可能な多値フラッシュメモリと、 A wide second storage area than the first storage area, and the multi-level flash memory capable of storing three or more values ​​per unit cell,
当該記憶装置に接続されたホスト装置から指定されたアドレスと、前記第1の記憶領域の最大容量に基づいて定められた所定の閾値とを比較する比較部と、 A comparator for comparing the address designated by the host apparatus connected to the storage device, and a predetermined threshold value set based on the maximum capacity of the first storage area,
前記アドレスが、前記閾値内のアドレスである場合には、データの読み書き先を前記二値フラッシュメモリに切り換え、前記アドレスが、前記閾値を超えるアドレスである場合には、前記読み書き先を、前記多値フラッシュメモリに切り換える制御部とを備える記憶装置である。 The address is, if an address in the threshold value, switches the write destination of data to the binary flash memory, the address, when the address is greater than the threshold value, the write destination, the multi a storage device and a control unit for switching the value flash memory.

この態様の記憶装置では、データの読み書き先を、指定されたアドレスに応じて多値フラッシュメモリと二値フラッシュメモリとの間で切り換えるという単純な制御を行うことで、特性の異なるこれらのメモリに対してデータの読み書きを行うことができる。 The memory device of this embodiment, the reading and writing destination of the data, by performing a simple control that switches between the multi-level flash memory and a binary flash memory in accordance with the specified address, to these different memory characteristics it is possible to perform the reading and writing of data for. この結果、多値フラッシュメモリを用いることで大容量化を実現しつつ、二値フラッシュメモリをも用いることで、動作の高速性や信頼性に優れる記憶装置を提供することが可能になる。 As a result, while achieving a large capacity by using a multi-level flash memory, by using also the binary flash memory, it is possible to provide a storage device which is excellent in high speed and reliability of operation.

上記態様の記憶装置において、前記制御部は、前記読み書き先が、前記二値フラッシュメモリおよび前記多値フラッシュメモリのいずれかに切り換えられた場合においても、前記アドレスの値をそのまま用いて、前記二値フラッシュメモリまたは前記多値フラッシュメモリに対して、データの読み書きを行うこととしてもよい。 The storage device of the above aspect, the control unit, the reading and writing destination, even when switched into either of the binary flash memory and the multi-level flash memory, used as it is the value of the address, the two for values ​​flash memory or the multilevel flash memory, it is also possible to read and write data. このような態様であれば、ホスト装置から指定されたアドレスを他の体系のアドレスに変換する処理が必要ないため、処理の単純化を図ることが可能になる。 With such an embodiment, there is no necessary process to convert the address specified by the host device to the address of the other system, it is possible to achieve a simplification of the process.

上記態様の記憶装置において、前記制御部は、前記ホスト装置から、当該記憶装置の記憶容量の問い合わせを受けた際に、前記第2の記憶領域の記憶容量を返信する手段を備えていてもよい。 The storage device of the above aspect, the control unit, from said host device, when receiving an inquiry of the storage capacity of the storage device may be provided with a means for returning the storage capacity of the second storage area . 上述した態様の記憶装置の最大記憶容量は、第2の記憶領域に一致する。 Maximum storage capacity of the storage device of the above embodiment corresponds to the second storage area. そのため、第2の記憶領域の記憶容量をそのまま返信するという単純な処理によって、当該記憶装置の記憶容量をホスト装置に通知することが可能になる。 Therefore, by a simple process that the storage capacity of the second memory area as it is returned, it is possible to notify the storage capacity of the storage device to the host device.

以下、上述した本発明の作用・効果を一層明らかにするため、本発明の実施の形態を実施例に基づき説明する。 Hereinafter, to clarify the operation and effect of the present invention described above further be described based on the embodiment of the present invention embodiment.

A. A. 第1実施例: The first embodiment:
図1は、本発明の実施例としての記憶装置10の概略構成を示す説明図である。 Figure 1 is an explanatory diagram showing a schematic configuration of the storage device 10 as an embodiment of the present invention. 本実施例の記憶装置10は、コンピュータに代表されるホスト装置80とUSBインタフェースを介して接続され、外部記憶装置として利用されるものである。 Storage device 10 of the present embodiment is connected through the host device 80 and the USB interface typified by a computer, it is intended to be used as an external storage device. ホスト装置80は、記憶装置10を、所定のファイルシステム(FAT16やFAT32など)でフォーマットしてデータの読み書きを行う。 The host device 80, a storage device 10, reading and writing of data to format in a predetermined file system (such as FAT16 and FAT32).

図示するように、記憶装置10は、メインコントローラ20を備えており、更に、このメインコントローラ20と接続され、それぞれがNANDフラッシュメモリを有する第1メモリユニット30と、第2メモリユニット40と、第3メモリユニット50と、第4メモリユニット60とを備えている。 As illustrated, the storage device 10 includes a main controller 20, further, is connected to the main controller 20, a first memory unit 30 each having a NAND flash memory, a second memory unit 40, the 3 includes a memory unit 50, and a fourth memory unit 60.

第1メモリユニット30は、SLC(Single Level Cell)型のNANDフラッシュメモリである二値メモリ31を備えている。 The first memory unit 30 includes a binary memory 31 is a SLC (Single Level Cell) type NAND flash memory. また、第1メモリユニット30は、この二値メモリ31をその電気的特性に応じて制御する第1ユニットコントローラ32を備えている。 The first memory unit 30 includes a first unit controller 32 is controlled in accordance with the binary memory 31 in its electrical properties. 本実施例では、第1ユニットコントローラ32として、汎用的なコンパクトフラッシュ用のメモリコントローラを採用した。 In this embodiment, as the first unit controller 32, employing a memory controller for general CompactFlash. 第1ユニットコントローラ32は、メインコントローラ20からATA規格に基づくコマンドやデータを受信し、二値メモリ31に対して、データの読み書きを行う。 The first unit controller 32 receives commands and data based on the ATA standard from the main controller 20, on the two-value memory 31, to read and write data. 本実施例では、第1メモリユニット30は、1Gバイト分の記憶領域を有するものとする。 In this embodiment, the first memory unit 30 is assumed to have a storage area of ​​1G bytes. 1つの二値メモリ31で1Gバイト分の記憶領域を実現できない場合には、複数個の二値メモリ31を第1ユニットコントローラ32に対して接続することで1Gバイトの記憶領域を実現してもよい。 If you can not achieve a storage area of ​​1G bytes in one binary memory 31, it is realized a storage area of ​​1G byte by connecting a plurality of binary memory 31 with respect to the first unit controller 32 good.

第2メモリユニット40は、MLC(Multi Level Cell)型のNANDフラッシュメモリである多値メモリ41を備えている。 The second memory unit 40 includes a multi-level memory 41 is a NAND flash memory MLC (Multi Level Cell) type. 本実施例の多値メモリ41は、4値(2ビット)の情報を記憶可能なメモリである。 Multilevel memory 41 of this embodiment is a memory capable of storing four-value information (2 bits). もちろん、多値メモリ41としては、3値以上の情報を記憶可能なメモリを適宜採用することが可能である。 Of course, the multi-level memory 41, it is possible to appropriately adopt a memory capable of storing three or more values ​​of information. 第2メモリユニット40は、更に、この多値メモリ41をその電気的特性に応じて制御する第2ユニットコントローラ42を備えている。 The second memory unit 40 further comprises a second unit controller 42 is controlled in accordance with this multi-level memory 41 in its electrical properties. 本実施例では、第2ユニットコントローラ42として、第1メモリユニット30と同様に、汎用的なコンパクトフラッシュ用のメモリコントローラを採用した。 In this embodiment, as the second unit controller 42, similarly to the first memory unit 30, employing a memory controller for general CompactFlash. 第3メモリユニット50および第4メモリユニット60は、第2メモリユニット40と同一の構成である。 Third memory unit 50 and the fourth memory unit 60 has the same structure as the second memory unit 40. 本実施例では、第2メモリユニット40、第3メモリユニット50、および、第4メモリユニット60は、それぞれ、15Gバイト分の記憶領域を有するものとする。 In this embodiment, the second memory unit 40, third memory unit 50, and the fourth memory unit 60, respectively, shall have a storage area of ​​15G bytes. そのため、本実施例の記憶装置10は、全体として、46G(1G+15G+15G+15G)バイト分の記憶領域を有している。 Therefore, the storage device 10 of the present embodiment, as a whole, has a storage area of ​​46G (1G + 15G + 15G + 15G) bytes. なお、1つの多値メモリで15Gバイト分の記憶領域を実現できない場合には、複数個の多値メモリをユニットコントローラに対して接続することで15Gバイトの記憶領域を実現してもよい。 In the case where a single multi-level memory can not be realized a storage area of ​​15G bytes may implement a storage area of ​​15G bytes by connecting a plurality of multi-level memory to the unit controller.

メインコントローラ20は、USBインタフェースを介して接続されたホスト装置80からの指示に応じて、各メモリユニット30〜60に対するデータの読み書きを制御する集積回路である。 The main controller 20, in response to an instruction from the host apparatus 80 connected through a USB interface, an integrated circuit for controlling the reading and writing of data to the memory unit 30 to 60. メインコントローラ20は、内部回路として、バス変換回路21とユニット管理回路22とを備えている。 The main controller 20, as an internal circuit, and a bus converting circuit 21 and the unit management circuit 22.

バス変換回路21は、ホスト装置80から受信したUSB規格に基づく信号を、ATA(Advanced Technology Attachment)規格に基づく信号に変換する機能を備える。 Bus converting circuit 21 has a function of a signal based on the USB standard received from the host device 80 into a signal based on the ATA (Advanced Technology Attachment) standard. ATAとは、コンピュータと記憶装置との標準的な通信インタフェースである。 ATA and is a standard communication interface with the computer and the storage device. ATA規格に基づく信号としては、例えば、3つのアドレス信号A0〜A2や、16のデータ信号D00〜D15、リセット信号等の制御信号がある。 The signal based on the ATA standard, for example, and three address signals A0-A2, 16 data signals D00~D15, there are control signals such as a reset signal.

ユニット管理回路22は、各メモリユニット30〜60が備える二値メモリや多値メモリの記憶領域を論理的に結合して、単一の記憶領域として扱う機能を備える。 Unit management circuit 22, the storage area of ​​the binary memory and multi-level memory of each memory unit 30 to 60 comprises logically coupling comprises a function of treating as a single storage area. ユニット管理回路22は、バス変換回路21によって変換されたATA信号のLBA(Logical Block Addressing)アドレスに基づきアドレス変換を行うことで各メモリユニット30〜60の論理的な結合を実現する。 Unit management circuit 22 implements a logical coupling of each memory unit 30 to 60 by performing the address translation on the basis of the LBA (Logical Block Addressing) address of the ATA signal converted by the bus conversion circuit 21. LBAとは、記憶領域のすべてのセクタに通し番号を割り当て、その通し番号によってアクセスを行うセクタを指定する方式のことをいう。 The LBA, assigns a serial number to every sector of the storage area refers to a method for specifying the sectors to be accessed by the serial number. LBAアドレスは、この通し番号によって表される。 LBA address is represented by the serial number. なお、「LBAアドレス」は、「LBAパラメータ」とも呼ばれる。 It should be noted that, "LBA address" is also referred to as "LBA Parameters".

図2は、ユニット管理回路22によって行われるアドレス変換の概念を示す説明図である。 Figure 2 is an explanatory view showing an address conversion concept performed by unit management circuit 22. 図の左側には、ユニット管理回路22が管理している各メモリユニット30〜60の記憶領域を示している。 To the left of the figure shows the storage area of ​​each memory unit 30 to 60 where the unit management circuit 22 manages. 図示するように、本実施例では、第1メモリユニット30内の記憶領域は、「0」から「W」までのLBAアドレスで表されている。 As shown, in this embodiment, the storage area of ​​the first memory unit 30 is represented by LBA addresses from "0" to "W". また、第2メモリユニット40は、「0」から「X」まで、第3メモリユニットは、「0」から「Y」まで、第4メモリユニットは、「0」から「Z」まで、のLBAアドレスで表されている。 The second memory unit 40 from "0" to "X", the third memory unit from "0" to "Y", the fourth memory unit from "0" to "Z", the LBA It is represented in the address.

図2の右側には、各メモリユニット30〜60の記憶領域を結合した後の記憶領域を示している。 The right side of FIG. 2 shows a memory area after binding a storage area of ​​each memory unit 30-60. 図示するように、ユニット管理回路22は、第1メモリユニット30が備える二値メモリ31の記憶領域を先頭の領域に配置し、その後に、他のメモリユニット40〜60が備える多値メモリ41〜61の記憶領域を配置する。 As shown, the unit management circuit 22, the storage area of ​​the two-value memory 31 in the first memory unit 30 is provided disposed at the head of the region, then, the multi-level memory 41 to comprise other memory units 40 to 60 61 to place the storage area of ​​the. 結合後の記憶領域は、図2に示すように、「0」から「W+X+Y+Z」までのLBAアドレスで表されることになる。 Storage area after binding, as shown in FIG. 2, will be represented by the LBA address from "0" to "W + X + Y + Z". ユニット管理回路22がこうして記憶領域の結合を行うことで、ホスト装置80は、記憶装置10内の記憶領域を、「0」から「W+X+Y+Z」までの連続したLBAアドレスで表されるものとして認識することが可能になる。 By performing the coupling of the unit management circuit 22 is thus the storage area, the host device 80 recognizes the storage area of ​​the storage device 10, as represented by the continuous LBA address from "0" to "W + X + Y + Z" it becomes possible. 以下の説明では、結合後の記憶領域のことを、「結合領域UA」と呼ぶ。 In the following description, the storage region after coupling, referred to as "binding region UA".

図3は、ユニット管理回路22の内部構成を模式的に示すブロック図である。 Figure 3 is a block diagram schematically showing an internal structure of the unit management circuit 22. ユニット管理回路22は、上述したアドレス変換の他に、ホスト装置80から発行されたATAコマンドやデータを各メモリユニット30〜60に転送する機能を有している。 Unit management circuit 22, in addition to the address translation described above has a function of transferring the ATA command and data issued from the host device 80 to the memory unit 30 to 60. 図3には、この転送機能を実現するための内部構成を示している。 Figure 3 illustrates an internal configuration for realizing the transfer function.

各メモリユニット30〜60が備えるユニットコントローラ32〜62は、それぞれ、ATA規格に準拠したコマンドブロックレジスタと呼ばれる8種類のレジスタを備えている。 Unit controller 32-62 of the memory unit 30 to 60 comprises, respectively, and a eight register called a command block register conforming to the ATA standard. この8種類のレジスタは、それぞれ、(1)フィーチャレジスタ、(2)セクタカウントレジスタ、(3)デバイス/ヘッドレジスタ、(4)シリンダハイレジスタ、(5)シリンダローレジスタ、(6)セクタナンバレジスタ、(7)コマンドレジスタ、(8)データレジスタ、という。 The eight registers, respectively, (1) Feature register, (2) a sector count register, (3) device / head register, (4) Cylinder High registers, (5) Cylinder Low register, (6) sector number register , (7) the command register, (8) data register, called. ユニットコントローラ32〜62は、これらのレジスタにセットされた種々のパラメータに従って、二値メモリや多値メモリに対するデータの読み書きを制御する。 Unit controller 32-62 in accordance with the various set in these registers parameters, controls reading and writing of data to the binary memory and multi-level memory. ホスト装置80は、データの読み書きを行う際に、これらのレジスタに対するアクセス信号を記憶装置10に送信する。 The host device 80, when reading and writing data, and transmits an access signal for these registers in the storage device 10.

ユニット管理回路22は、USBインタフェースおよびバス変換回路21を介して上述したアクセス信号をホスト装置80から受信すると、アクセス対象のレジスタの種類に応じて、各メモリユニット30〜60に対するアクセス信号の転送方法を可変させる。 Unit management circuit 22 receives the access signal described above via the USB interface and bus converting circuit 21 from the host device 80, depending on the type of the register being accessed, a method of transferring access signal for each memory unit 30 to 60 a is varied. ユニット管理回路22は、アクセス対象のレジスタの種類を判別するために、レジスタ判別回路78を備えている。 Unit management circuit 22, in order to determine the type of the accessed register, and a register determination circuit 78.

レジスタ判別回路78は、バス変換回路21から入力したアドレス信号A0〜A2の状態に応じて、ATA規格に基づいてアクセス対象のレジスタの種類を判別する。 Register determination circuit 78, in accordance with the state of the address signals A0~A2 input from the bus converter 21 determines the type of the accessed register based on the ATA standard. レジスタ判別回路78は、例えば、図示するように、アドレス信号A2が「0」、アドレス信号A1が「0」、アドレス信号A0が「1」であれば、フィーチャレジスタに対するアクセス信号を入力したと判別することができる。 Register determination circuit 78, for example, as illustrated, the address signal A2 is "0", the address signal A1 is "0", if the address signal A0 is "1", and enter an access signal for the Feature register determination can do.

ユニット管理回路22は、ホスト装置80から、フィーチャレジスタとセクタカウントレジスタに対するアクセス信号を受信した場合については、そのままスルーして、すべてのメモリユニット30〜60にこのアクセス信号を転送する。 Unit management circuit 22 from the host apparatus 80, the case of receiving an access signal for the Feature register and sector count register, as it is through, all of the memory units 30 to 60 forwards the access signal. これらのレジスタは、結合領域UA内の位置を直接指定するためのものではないからである。 These registers, there is no intended to specify positions in a coupling region UA ​​directly. 具体的には、フィーチャレジスタは、ATAコマンドに応じて種々のパラメータを指定するために用いられるレジスタであり、セクタカウントレジスタは、複数のセクタを連続してアクセスする際に、そのセクタ数を指定するためのレジスタである。 Specifically, the Feature register is a register that is used to specify various parameters in accordance with the ATA command sector count register, when accessing multiple consecutive sectors, specifies the number of the sector a register for. 連続してアクセスする際の「先頭セクタ」の指定については、後述するデバイス/ヘッドレジスタ、シリンダハイレジスタ、シリンダローレジスタ、セクタナンバレジスタが用いられる。 When continuously accessing the specified "start sector", described below the device / head register, the cylinder high register, Cylinder Low register, a sector number register is used.

デバイス/ヘッドレジスタ、シリンダハイレジスタ、シリンダローレジスタ、セクタナンバレジスタは、結合領域UA内の位置(セクタ)を指定するために用いられるレジスタである。 Device / Head register, a cylinder high register, Cylinder Low register, a sector number register is a register used to specify positions in a coupling region UA ​​(sectors). これらのレジスタには、それぞれ、結合領域UA内のセクタを表すLBAアドレスの一部が入力される。 These registers, respectively, a portion of the LBA address representing a sector in the combined area UA are input. 具体的には、LBAアドレスが28ビット長のパラメータだとすると、セクタナンバレジスタには、0ビット目から7ビットの目のビット列が入力され、シリンダローレジスタには、8ビット目から15ビット目のビット列が入力される。 Specifically, the LBA address is that it is a parameter of 28 bits long, the sector number register, 0 7 bits of the eye of the bit string from bit is input, the cylinder low register, a bit string of 15 bit from 8 bit It is inputted. また、シリンダハイレジスタには、16ビット目から23ビット目のビット列が入力され、デバイス/ヘッドレジスタには、24ビット目から27ビット目のビット列が入力される。 The cylinder high register, 16 from bit 23 bit of the bit string is input, the device / head register, the input bit string of 27 bit from 24-th bit. ユニット管理回路22は、これらのレジスタに対するアクセス信号を受けると、その信号を一旦、ラッチ回路70〜73でラッチして記憶する。 Unit management circuit 22 receives an access signal for these registers, the signal temporarily latches and stores the latch circuit 70 to 73.

ラッチ回路70〜73にラッチされたアクセス信号は、アドレスデコーダ90に入力される。 Latched access signal to the latch circuit 70 to 73 is input to the address decoder 90. アドレスデコーダ90は、各ラッチ回路70〜73に離散して記憶されたLBAアドレスを結合し、28ビット長のLBAアドレスを復元する機能を備える。 Address decoder 90 has a function of combining the LBA address stored discretely in the latch circuits 70 to 73, to restore the LBA address 28 bits long. また、アドレスデコーダ90は、復元したLBAアドレスと、各メモリユニットの最大セクタ数とを比較する機能を備える。 The address decoder 90 has a function of comparing the LBA address restored, the maximum number of sectors of each memory unit. この機能の詳細については後述する。 For more information about this feature will be described later.

コマンドレジスタは、ATA規格に基づく種々のコマンドを指定するためのレジスタである。 Command register is a register for designating a variety of commands based on the ATA standard. このようなコマンドとしては、例えば、指定したセクタからデータを読み込むリードセクタコマンド、指定したセクタにデータを書き込むライトセクタコマンドがある。 Such commands include, for example, there is a write sector command to write the read sector command to read data from the specified sector, the data to the specified sector. ユニット管理回路22は、コマンドレジスタに対するコマンド信号を受けると、その信号をコマンドデコーダ91とラッチ回路74とに入力する。 Unit management circuit 22 receives a command signal to the command register, and inputs the signals to the command decoder 91 and the latch circuit 74.

コマンドデコーダ91は、コマンド信号を入力すると、入力したコマンドの種類を判別し、その判別結果を、アドレス変換回路92とユニットセレクタ94とに出力する。 The command decoder 91 inputs the command signal, to determine the type of the input command, the determination result is output to the address conversion circuit 92 and the unit selector 94. ラッチ回路74に入力されたコマンド信号は、ユニットセレクタ94からの出力指示があるまで、ラッチ回路74に保持される。 Command signal input to the latch circuit 74 until the output instruction from the unit selector 94, is held in the latch circuit 74.

アドレス変換回路92は、図2に示したように、アドレスデコーダ90から入力した結合領域UAについてのLBAアドレスを、メモリユニット30〜60毎のLBAアドレスに変換する機能を備える。 Address conversion circuit 92, as shown in FIG. 2, a function of converting the LBA address for the binding area UA inputted from the address decoder 90, the LBA addresses for each memory unit 30-60. 具体的には、アドレス変換回路92は、アドレスデコーダ90からLBAアドレスを入力し、更に、コマンドデコーダ91からコマンドの種別を入力する。 Specifically, the address conversion circuit 92 inputs the LBA address from the address decoder 90, further, inputs the type of the command from the command decoder 91. そして、入力したコマンドの種別が、LBAアドレスを必要とするコマンドであるかを判断する。 Then, the type of the input command, and determines whether the command that requires LBA address. LBAアドレスを必要とするコマンドとは、一般に、アドレス(セクタ)を指定して、指定したアドレスに対して何らかのアクセスを行うコマンドであり、例えば、「リードセクタコマンド」や、「ライトセクタコマンド」、「リードマルチプルコマンド」、「ライトマルチプルコマンド」、「リードDMAコマンド」、「ライトDMAコマンド」、「リードベリファイセクタコマンド」「シークコマンド」等がある。 The commands that require an LBA address, in general, by specifying the address (sector), is a command to do some access to the address you specify, for example, "read sector command" and, "write sector command", "read Multiple command", "write multiple command", "read DMA command", "write DMA command", and the like "read verify sector command," "seek command". アドレス変換回路92は、入力したコマンドの種別がLBAアドレスを必要とするコマンドであると判断すれば、アドレスデコーダ90から入力したLBAアドレスを、メモリユニット毎のLBAアドレスに変換し(変換方法については後述)、変換後のLBAアドレスを全てのメモリユニット30〜60に転送する。 Address conversion circuit 92, when it is judged that the type of the entered command is a command that requires LBA address, the LBA addresses entered from an address decoder 90, and converted to the LBA address of each memory unit for (conversion method below), and transfers the LBA address after conversion to all the memory units 30 to 60. 後述するように、メインコントローラ20は、LBAアドレスを必要とするATAコマンドを複数のメモリユニットに対して同時に転送することはないので、変換後のLBAアドレスは、全てのメモリユニット30〜60に転送することができる。 As described later, the main controller 20, since it is not possible at the same time transferring the ATA command that requires LBA address to a plurality of memory units, LBA address after the conversion, transfer all of the memory units 30 to 60 can do. こうすることで、アドレス変換回路92は、転送先を選択する処理を省略することができる。 In this way, the address conversion circuit 92, it is possible to omit the process of selecting a transfer destination. もちろん、該当するメモリユニットに対してのみ変換後のLBAアドレスを転送するものとしてもよい。 Of course, it may be intended to transfer the LBA address after conversion only for the appropriate memory unit.

コマンドデコーダ91から入力したコマンドの種別が、LBAアドレスを必要としないコマンドであれば、アドレス変換回路92は、アドレスデコーダ90から入力したパラメータをそのまま全てのメモリユニット30〜60に転送する。 Type command input from the command decoder 91, if the command does not require a LBA address, the address conversion circuit 92 transfers the parameters entered from the address decoder 90 directly to all the memory units 30 to 60. LBAアドレスを必要としないコマンドの場合には、デバイス/ヘッドレジスタ等に入力したアクセス信号が、LBAアドレスを表すとは限らないからである。 If a command that does not require LBA address, the access signal input to the device / head register and the like, because not always represent the LBA address. LBAアドレスを必要としないコマンドとは、アドレス(セクタ)の指定を行うことなくフラッシュメモリに対して何らかの操作を行うコマンドであり、例えば、「アイデンティファイデバイスコマンド」、「セットフィーチャコマンド」、「チェックパワーモードコマンド」、「スリープコマンド」、「スタンバイコマンド」、「アイドルコマンド」などがある。 The LBA address does not need the command is a command to perform some operation on the flash memory without performing the specified address (sector), for example, "identify device command", "set feature command", " check power mode command "," sleep command "," standby command ", there is such as" idle command ". なお、アドレス変換回路92は、コマンドデコーダ91から入力したコマンドの種別が、LBAアドレスを必要としないコマンドであった場合でも、LBAアドレスが必要なコマンドと同様に、メモリユニット30〜60に対して変換後のLBAアドレスを送ることも可能である。 The address conversion circuit 92, the type of command input from the command decoder 91, even if a command not requiring LBA address, like the LBA address is needed commands to the memory units 30 to 60 it is also possible to send the LBA address after conversion. LBAアドレスを必要としないコマンドは、LBAアドレスの有無に関わらず実行されるコマンドだからである。 LBA address does not require a command, is because the command to be executed regardless of the presence or absence of the LBA address. もちろん、変換までは行うが、変換後のLBAアドレスについては送信しない構成とすることも可能である。 It is, of course, carried out until the conversion, it is also possible to adopt a configuration that does not send the LBA address after translation.

ユニットセレクタ94は、アドレスデコーダ90から入力したLBAアドレスに基づいて、コマンドの転送先のメモリユニットを選択する回路である。 Unit selector 94, based on the LBA address input from the address decoder 90 is a circuit for selecting a transfer destination memory unit commands. 具体的には、ユニットセレクタ94は、アドレスデコーダ90からLBAアドレスを入力し、更に、コマンドデコーダ91からコマンドの種別を入力する。 Specifically, the unit selector 94 receives the LBA address from the address decoder 90, further, inputs the type of the command from the command decoder 91. そして、入力したコマンドの種類が、LBAアドレスを必要とするコマンドであるかを判断する。 The type of the input command, and determines whether the command that requires LBA address. LBAアドレスを必要とするコマンドであれば、ユニットセレクタ94は、入力したLBAアドレスに基づいて、コマンドの転送先のメモリユニットを選択する処理を行う。 If a command requiring LBA address, the unit selector 94 performs processing based on the LBA address entered, selects the transfer destination memory unit commands. かかる処理の詳細は後述する。 Details of such a process will be described later. ユニットセレクタ94は、転送先のメモリユニットの選択を行うと、第1スイッチ回路96を制御して、その転送先のメモリユニットとラッチ回路74とを接続する。 Unit selector 94, when the selection of the destination memory unit, and controls the first switch circuit 96 to connect the memory unit and the latch circuit 74 of the transfer destination. すると、ラッチ回路74に保持されたコマンド信号が、選択されたメモリユニットに転送される。 Then, the command signal held in the latch circuit 74 is transferred to the memory unit selected.

ラッチ回路74に保持されたコマンド信号が各ユニットに出力されるタイミングは、アドレス変換後のLBAアドレスがアドレス変換回路92から各メモリユニットに送信され、かつ、ユニットセレクタ94によって第1スイッチ回路96のスイッチングが完了した後のタイミングに設定されている。 Timing command signal held in the latch circuit 74 is output to each of the units is transmitted LBA address after address translation from the address conversion circuit 92 in each memory unit, and, by a unit selector 94 of the first switch circuit 96 It is set to a timing after the switching is completed. ATA規格では、LBAアドレスを必要とするコマンドを送信する前に、予めLBAアドレスをレジスタに設定する必要があると規定されているからである。 The ATA standard, before transmitting a command that requires LBA address, because is specified that it is necessary to set in advance LBA address register. なお、入力したコマンドの種類が、LBAアドレスを必要としないコマンドであれば、ユニットセレクタ94は、ラッチ回路74を全てのメモリユニットに接続するよう、第1スイッチ回路96を制御する。 The type of the input command, if the command does not require a LBA address, the unit selector 94 to connect the latch circuits 74 to all the memory units, and controls the first switch circuit 96. こうすることで、LBAアドレスを必要としないコマンドについては、全てのメモリユニットに転送を行うことができる。 By doing so, the commands that do not require LBA address can be transferred to all the memory units. 入力したコマンドの種類が、LBAアドレスを必要としないコマンドの場合には、ラッチ回路74は、コマンドの出力を遅延させないものとしてもよい。 Type of the input command, in the case of a command not requiring LBA address latch circuit 74 may be as not to delay the output of the command.

ユニットセレクタ94は、入力したLBAアドレスに基づいて第1スイッチ回路96を制御すると、これと同様に、第2スイッチ回路98も制御する。 Unit selector 94, controlling the first switching circuit 96 based on the LBA address entered, Similarly, the second switch circuit 98 is also controlled. 第2スイッチ回路98は、データレジスタに対するアクセス信号を切り換えるためのスイッチである。 The second switch circuit 98 is a switch for switching an access signal for the data register. ユニットセレクタ94によって、第2スイッチ回路98が切り換えられると、LBAアドレスを必要とするコマンドが転送されたメモリユニットと同じメモリユニットに、データ信号も転送されることになる。 The unit selector 94, the second switch circuit 98 is switched to the same memory unit and memory unit commands that require LBA address is transferred, the data signal also will be transferred.

第2スイッチ回路98とレジスタ判別回路78との間には、ステータス記憶回路79が接続されている。 Between the second switch circuit 98 and the register determination circuit 78, the status storage circuit 79 is connected. ステータス記憶回路79には、結合領域UA全体の容量(全セクタ数)や、記憶装置10の製造者情報を表すデバイスIDが記憶されている。 The status storage circuit 79, binding region UA ​​overall capacity (total number of sectors) and a device ID representing the manufacturer information of the storage device 10 is stored. 通常、ホスト装置80からステータス情報の取得が要求された場合には、第2スイッチ回路98で選択されたメモリユニットから、ステータス情報が返信される。 Usually, when the acquisition of the status information from the host device 80 is requested from the memory unit selected by the second switch circuit 98, the status information is returned. しかし、例えば、「アイデンティファイデバイス」コマンド等によって、記憶装置10が有する全セクタ数の問い合わせや、デバイスIDなどの問い合わせがあった場合には、当該ステータス記憶回路79から、ホスト装置80に対して、ステータス情報が返信される。 However, for example, by the "identify device" command or the like, inquiries and the total number of sectors in which the storage device 10 has, if there is an inquiry, such as device ID, from the status storage circuit 79 to the host device 80 Te, status information is returned. このように、ステータス記憶回路79からステータス情報を返信可能な構成とすれば、各メモリユニットで対応不能な記憶装置10全体に関わるステータス情報をホスト装置80に対して正確に伝達することが可能になる。 Thus, from the status storage circuit 79 the status information return possible configuration, it is possible to accurately transmit status information related to the entire corresponding non-writeable storage device 10 in each memory unit to the host device 80 Become.

図4は、アドレスデコーダ90とアドレス変換回路92とによって実現されるアドレス変換処理と、ユニットセレクタ94が実現するメモリユニットの選択処理の流れを示すフローチャートである。 Figure 4 is a flow chart illustrating the address translation process implemented by the address decoder 90 and the address conversion circuit 92, the flow of selection processing of the memory units unit selector 94 is realized. 以下では、かかる処理を便宜的に「ユニット管理処理」という。 Hereinafter, this processing for convenience as "unit management process".

アドレス変換回路92は、コマンドデコーダ91から入力したコマンドの種類がLBAアドレスを必要とするコマンドであるかを判断する(ステップS10)。 Address conversion circuit 92, the type of command input from the command decoder 91 determines whether the command that requires LBA address (step S10). この結果、LBAアドレスが不要なコマンドであれば(ステップS10:No)、アドレス変換回路92は、アドレス変換を行うことなく、全てのユニットに対して、デバイスヘッドレジスタ等に入力したパラメータをそのまま転送する。 If a result, LBA address is unnecessary commands (Step S10: No), the address conversion circuit 92 does not perform an address conversion for all units, the parameters input to the device head register or the like as it is transferred to. 一方、ユニットセレクタ94は、全てのメモリユニットを選択して(ステップS20)、処理を終了する。 On the other hand, the unit selector 94 selects all of the memory unit (step S20), and ends the process. こうすることで、全てのメモリユニットに対して、同一のコマンドが転送される。 In this way, all the memory units, the same command is transferred. なお、前述したように、ステップS10において、LBAアドレスが不要なコマンドを入力したと判断した場合であっても、アドレス変換回路92は、LBAアドレスが必要なコマンドと同様に、以下に示すようなアドレス変換を行うものとしてもよい。 As described above, in step S10, even when it is determined that the LBA address entered unnecessary commands, address conversion circuit 92, similar to the LBA address is needed commands, as shown below it may be performed for address translation.

上記ステップS10において、入力したコマンドがLBAアドレスを必要とするコマンドであれば(ステップS10:Yes)、アドレスデコーダ90は、入力したLBAアドレスnが、第1メモリユニット30のLBAアドレスの最大値W(図2参照)以下であるかを判断する(ステップS30)。 In step S10, if the command command entered requires LBA address (step S10: Yes), the address decoder 90, LBA address n entered is the maximum value W of LBA addresses of the first memory unit 30 determining whether or less (see FIG. 2) (step S30). LBAアドレスnが、最大値W以下であれば(ステップS30:Yes)、アドレス変換回路92によって、変換後のLBAアドレスmを、アドレスデコーダ90から入力したそのままのLBAアドレスnとする(ステップS40)。 LBA address n is equal to or less than the maximum value W (step S30: Yes), the address conversion circuit 92, the LBA address m after conversion, the raw LBA address n inputted from the address decoder 90 (step S40) . そして、この場合には、ユニットセレクタ94は、コマンドの転送先として、第1メモリユニット30を選択する(ステップS50)。 Then, in this case, the unit selector 94, as the transfer destination of the command, selects the first memory unit 30 (step S50).

上記ステップS30において、LBAアドレスnが、第1メモリユニット30のLBAアドレスの最大値W以下ではないと判断した場合には(ステップS30:No)、アドレスデコーダ90は、LBAアドレスnが、第1メモリユニット30のLBAアドレスの最大値Wと、第2メモリユニット40のLBAアドレスの最大値Xとの和(W+X)以下であるかを判断する(ステップS60)。 In step S30, LBA address n is, when it is determined not to be less than or equal to the maximum value W of LBA addresses of the first memory unit 30 (step S30: No), the address decoder 90, LBA address n is first It determines the maximum value W of LBA address of the memory unit 30, or is less than the sum (W + X) between the maximum value X of the LBA address of the second memory unit 40 (step S60). LBAアドレスnが、前記和(W+X)以下であれば(ステップS60:Yes)、アドレス変換回路92によって、変換後のLBAアドレスmを、LBAアドレスnから、第1メモリユニット30のLBAアドレスの最大値Wを差し引いた値とする(ステップS70)。 LBA address n is, if the sum (W + X) or less (step S60: Yes), the maximum by the address conversion circuit 92, the LBA address m after conversion, the LBA address n, the LBA addresses of the first memory unit 30 the value obtained by subtracting the value W (step S70). そして、この場合には、ユニットセレクタ94は、コマンドの転送先として、第2メモリユニット40を選択する(ステップS80)。 Then, in this case, the unit selector 94, as the transfer destination of the command, selects the second memory unit 40 (step S80).

上記ステップS60において、LBAアドレスnが、前記和(W+X)以下ではないと判断した場合には(ステップS60:No)、アドレスデコーダ90は、LBAアドレスnが、第1メモリユニット30のLBAアドレスの最大値Wと、第2メモリユニット40のLBAアドレスの最大値Xと、第3メモリユニット50のLBAアドレスの最大値Yとの和(W+X+Y)以下であるかを判断する(ステップS90)。 In step S60, if the LBA address n has determined that the sum (W + X) not less than or equal (step S60: No), the address decoder 90, LBA address n is the LBA address of the first memory unit 30 and a maximum value W, it determines the maximum value X of the LBA address of the second memory unit 40, or is less than the sum (W + X + Y) between the maximum value Y of the LBA address of the third memory unit 50 (step S90). LBAアドレスnが、前記和(W+X+Y)以下であれば(ステップS90:Yes)、アドレス変換回路92によって、変換後のLBAアドレスmを、LBAアドレスnから、WおよびXを差し引いた値とする(ステップS100)。 LBA address n is, if the sum (W + X + Y) or less (step S90: Yes), the address conversion circuit 92, the LBA address m after conversion, the LBA address n, a value obtained by subtracting the W and X ( step S100). そして、この場合には、ユニットセレクタ94は、コマンドの転送先として、第3メモリユニット50を選択する(ステップS110)。 Then, in this case, the unit selector 94, as the transfer destination of the command, selecting the third memory unit 50 (step S110).

上記ステップS90において、LBAアドレスnが、前記和(W+X+Y)以下ではないと判断した場合には(ステップS90:No)、アドレスデコーダ90は、LBAアドレスnが、第1メモリユニット30のLBAアドレスの最大値Wと、第2メモリユニット40のLBAアドレスの最大値Xと、第3メモリユニット50のLBAアドレスの最大値Yと、第4メモリユニット60の最大値Zとの和(W+X+Y+Z)以下であるかを判断する(ステップS120)。 In step S90, if the LBA address n has determined that the sum (W + X + Y) is not below (step S90: No), the address decoder 90, LBA address n is the LBA address of the first memory unit 30 and a maximum value W, the maximum value X of the LBA address of the second memory unit 40, and the maximum value Y of the LBA address of the third memory unit 50, in the fourth sum of the maximum value Z of the memory unit 60 (W + X + Y + Z) or less It determines whether there (step S120). LBAアドレスnが、前記和(W+X+Y+Z)以下であれば(ステップS120:Yes)、アドレス変換回路92によって、変換後のLBAアドレスmを、LBAアドレスnから、W、XおよびYを差し引いた値とする(ステップS130)。 LBA address n is, if the sum (W + X + Y + Z) or less (step S120: Yes), the address conversion circuit 92, the LBA address m after conversion, the LBA address n, W, and a value obtained by subtracting the X and Y (step S130). そして、この場合には、ユニットセレクタ94は、コマンドの転送先として、第4メモリユニット60を選択する(ステップS140)。 Then, in this case, the unit selector 94, as the transfer destination of the command, selects the fourth memory unit 60 (step S140).

上記ステップS120において、LBAアドレスnが、前記和(W+X+Y+Z)以下ではないと判断した場合には(ステップS90:No)、結合領域UAを超えるLBAアドレスが指定されていることになる。 In step S120, LBA address n is the sum (W + X + Y + Z) In the case it is determined that it is not less (step S90: No), so that the LBA addresses above coupling area UA is specified. そのため、この場合には、所定のエラー処理が実行される(ステップS150)。 Therefore, in this case, a predetermined error processing is performed (step S150). 所定のエラー処理とは、例えば、現在入力しているコマンドを破棄する等の処理である。 The predetermined error process, for example, a process such as discarding the command currently input. 以上で説明したユニット管理処理によれば、単純な比較演算だけで、容易に、アドレスの変換とメモリユニットの選択を行うことができる。 According to unit management process described above, only a simple comparison operation, easily, it is possible to select the conversion and the memory unit address.

以上、本実施例の記憶装置10の構成および動作について説明した。 It has been described the configuration and operation of the storage device 10 of the present embodiment. 上述したように、本実施例の記憶装置10は、結合領域UAの先頭にSLC型のフラッシュメモリである二値メモリ31が割り当てられるようにアドレス変換を行う。 As described above, the storage device 10 of the present embodiment performs the address conversion as binary memory 31 is a SLC type flash memory is allocated to the head of the coupling region UA. そのため、記憶装置10が、FAT16やFAT32といったファイルシステムによってフォーマットされると、データの管理情報であるファイルアロケーションテーブル(以下、「FAT情報」という)が、二値メモリ31内に生成されることになる。 Therefore, when the storage device 10 is formatted by the file system such as FAT16 and FAT32, file allocation table (hereinafter, referred to as "FAT information") which is management information data, to be generated in the binary memory 31 Become. FAT情報は、データの書込や消去が行われると頻繁に書き換えられる管理情報である。 FAT information is management information that is frequently rewritten when writing or erasing data. 本実施例では、このような管理情報が書き込まれる領域に、MLC型のフラッシュメモリ(多値メモリ41〜61)よりも書込速度の速いSLC型のフラッシュメモリを配置している。 In this embodiment, in a region where such management information is written, it is arranged flash memory fast SLC type of writing speed than MLC type flash memory (multi-level memory 41-61). そのため、本実施例によれば、MLC型のフラッシュメモリを採用することで大容量化を実現しつつ、MLC型のフラッシュメモリだけで構成された記憶装置に比べ、格段にデータの書込速度を向上させることが可能になる。 Therefore, according to this embodiment, while realizing a large capacity by adopting the MLC type flash memory, compared with the a storage device configured by a flash memory of the MLC type, the writing speed of much data it is possible to improve. なお、MLC型のフラッシュメモリの書込速度は、概ね600nsecであり、SLC型のフラッシュメモリの書込速度は、概ね200nsecである。 Incidentally, the writing speed of the MLC type flash memory is generally a 600 nsec, writing speed of the SLC-type flash memory is generally 200 nsec.

ここで、書込速度の比較例を示す。 Here, a comparative example of a writing speed. 周知のように、FAT16やFAT32では、管理情報内に、同一内容のFAT情報が2つ書き込まれる。 As is well known, the FAT16 or FAT32, in the management information, FAT information of the same contents are written two. そうすると、MLC型のフラッシュメモリだけで構成された記憶装置であれば、1つ目のFAT情報の書き換えに600nsec、2つ目のFAT情報の書き換えに600nsec、さらに、データの書き換えに600nsec要する。 Then, if the a storage device configured by a flash memory of the MLC type, 600 nsec for rewriting first FAT information, second 600 nsec for rewriting the FAT information, further, takes 600 nsec for rewriting data. すると、全体として、1800nsecの時間がかかることになる。 Then, as a whole, it takes time of 1800nsec. これに対して、本実施例では、FAT情報が書き込まれる領域にSLC型のフラッシュメモリを用いているため、1つ目のFAT情報の書き換えに200nsec、2つ目のFAT情報の書き換えに200nsec、(多値メモリ内の)データの書き換えに600nsec要することになる。 In contrast, in the present embodiment, the use of the SLC-type flash memory in a region where FAT information is written, 200 nsec for rewriting first FAT information for rewriting 200 nsec, 2 nd FAT information, it takes 600nsec for rewriting data (in the multi-level memory). そうすると、全体として、1000nsecでデータの書き換えが完了することになる。 Then, as a whole, so that the rewriting of the data is completed in 1000 nsec. つまり、この例によれば、MLC型のフラッシュメモリだけで構成された記憶装置に対して、データの書き換え時間を、45%程度も削減することが可能になる。 That is, according to this embodiment, the configuration is a storage device only flash memory MLC type, a rewrite time of the data, it becomes possible to reduce approximately 45%.

また、一般的に、SLC型のフラッシュメモリは、MLC型のフラッシュメモリに比べて、データの書換可能回数が10〜20倍ほど多い。 Also, in general, SLC-type flash memory, as compared to MLC type flash memory, a rewritable number of times data is large enough to 10-20 times. そのため、本実施例のように、頻繁に書き換えられる管理情報が書き込まれる領域にSLC型のフラッシュメモリを配置することで、大幅にデータ記憶の信頼性を向上させることができる。 Therefore, as in the present embodiment, a region where management information frequently rewritten is written by arranging the SLC-type flash memory, it is possible to greatly improve the reliability of data storage. この結果、外部記憶装置としてだけではなく、従来のハードディスクと同様に、オペレーティングシステムのブートドライブとして容易に利用することが可能になる。 As a result, not only as an external storage device, similarly to the conventional hard disk, it is possible to readily utilized as a boot drive operating system.

また、本実施例では、二値メモリや多値メモリを制御するユニットコントローラとして、コンパクトフラッシュ用のコントローラを用いるものとした。 Further, in this embodiment, as a unit controller for controlling the binary memory and multi-level memory, and shall be used controller for CompactFlash. 一般的に、コンパクトフラッシュは、汎用性が高く、様々な特性のフラッシュメモリを制御することが可能である。 Typically, compact flash, versatile, it is possible to control the flash memory of the various properties. そのため、本実施例のように、コンパクトフラッシュコントローラをメモリユニット毎に備えるものとすれば、メモリユニット毎に異なるメーカのフラッシュメモリを採用したとしても特性の違いを吸収して正常に動作をさせることが可能になる。 Therefore, as in the present embodiment, if intended to comprise a compact flash controller for each memory unit, thereby working correctly and also absorb the difference of characteristics as employing a flash memory by different manufacturers for each memory unit It becomes possible. この結果、二値メモリや多値メモリを混載する記憶装置を容易に構成することが可能になる。 As a result, it is possible to easily configure the storage devices embedded binary memory and multi-level memory. なお、本実施例では、ユニットコントローラとして、コンパクトフラッシュ用のコントローラを採用したが、SDメモリ用のコントローラや、マルチメディアカード用のコントローラを用いることも可能である。 In the present embodiment, as a unit controller, it is adopted controller for CompactFlash, and controllers for the SD memory, it is also possible to use the controller for multimedia card.

本実施例では、メインコントローラ20が有する機能は、ハードウェア的に構成するものとした。 In this embodiment, it features the main controller 20 has were assumed to be hardware configured. これに対して、メインコントローラ20を、CPUとROMとRAMとを内蔵するマイクロコンピュータとして構成することにより、上述したアドレス変換やユニット管理の機能をソフトウェア的に実現するものとしてもよい。 In contrast, the main controller 20, by a microcomputer which incorporates a CPU and a ROM, RAM, and may alternatively implemented as software functions of the address translation and unit management described above. また、メインコントローラ20として、RAIDチップを採用し、このRAIDチップにスパニング動作をさせることで、各メモリユニットを制御してもよい。 Further, as the main controller 20, employs the RAID chip, by spanning operation to the RAID chip may control the memory unit.

また、本実施例では、メモリユニットを計4つ備えるものとしたが、その数に制限はない。 Further, in this embodiment, although the memory unit and a total of four including ones, is not limited to that number. 最低限、二値メモリを備えるメモリユニットが1つと、多値メモリを備えるメモリユニットが1つあればよい。 Minimum, bract 1 memory unit comprising a binary memory, the memory unit may if one with a multi-level memory.

また、本実施例では、二値メモリの容量を1Gバイトとしたが、この容量は、次のように決定することができる。 Further, in this embodiment, the capacity of the binary memory was 1G bytes, the capacity may be determined as follows. 例えば、記憶装置10がFAT32でフォーマットされるとし、記憶装置10の全体の記憶容量がxギガバイトだとする。 For example, the storage device 10 is formatted in FAT32, the total storage capacity of the storage device 10 is that it x gigabytes. FAT32では、多くの場合、1セクタ当たり4Kバイトの容量を表すため、全体で、(x/4)メガ個のセクタ数とする。 In FAT32, often to represent the capacity of 4K bytes per sector, in the whole, and (x / 4) Number of mega sectors. また、FAT32では、1アドレスを表現するのに、4バイトのデータ量が必要となる。 Further, in FAT32, to represent one address, required amount of data 4 bytes. そのため、1つのFAT情報あたり、xメガバイト(=4バイト*(x/4)メガ個)の容量が必要となる。 For this reason, the capacity per one of the FAT information, x megabytes (= 4 bytes * (x / 4) Megako) is required. 上述したように、FAT32では、多くの場合、FAT情報が2つ書き込まれるため、合計で、(2*x)メガバイトの管理領域が必要となる。 As described above, in FAT32, often because FAT information is two written, in total, it is necessary to management area (2 * x) megabytes. なお、管理情報としては、FAT情報だけでなく、マスタブートレコードやディレクトリエントリなどの情報も記録されるため、全体としては、それ以上の管理領域が必要である。 As the management information, not only the FAT information, since the information such as the master boot record and a directory entry is recorded, as a whole, it is necessary to more management areas. ここで具体例を挙げると、記憶装置10の全体の容量が、128ギガバイトであれば、上述した算出方法により、FAT情報に必要な容量は、256メガバイトとなる。 Here a specific example, the overall capacity of the storage device 10, for a 128 gigabytes by the calculation method described above, the capacity necessary for the FAT information becomes 256 megabytes. さらに、これに、マスタブートレコードやディレクトリエントリ等を記録するための領域を加えると、全体で、500メガバイト程度の容量の二値メモリが必要となる。 Furthermore, in this, the addition of area for recording the master boot record or a directory entry, etc., throughout, is required binary memory capacity of about 500 megabytes. すなわち、記憶装置10の全体の領域(結合領域UA)に対して、少なくとも0.5%の二値メモリの容量が必要であり、1%程度の容量があれば、余裕を持って管理情報を記憶することができる。 In other words, for the entire area of ​​the storage device 10 (coupling region UA), requires a capacity of at least 0.5% of the binary memory, have a capacity of about 1%, the management information with a margin it can be stored. もちろん、二値メモリは、動作速度や信頼性の上で、多値メモリよりも優れた特性を有するため、1%を超える容量としても構わない。 Of course, the binary memory, on the operating speed and reliability, because they have better characteristics than multi-value memory, may be a capacity greater than 1%.

B. B. 第2実施例: The second embodiment:
図5は、本発明の第2実施例としての記憶装置の概略構成を示す説明図である。 Figure 5 is an explanatory diagram showing a schematic configuration of a memory device as a second embodiment of the present invention. 図示するように、本実施例の記憶装置110は、メインコントローラ20と、二値メモリ31を搭載する第1メモリユニット30と、多値メモリ41を搭載する第2メモリユニット40とを備えている。 As illustrated, the storage device 110 of this embodiment includes a main controller 20, a first memory unit 30 for mounting a two-value memory 31, and a second memory unit 40 for mounting the multi-value memory 41 . メインコントローラ20は、第1実施例と同様に、バス変換回路21とユニット管理回路122とを備えている。 The main controller 20, as in the first embodiment, and a bus converting circuit 21 and the unit management circuit 122. このうち、本実施例のユニット管理回路122は、ホスト装置80から指定されたアドレスやデータ、コマンドに応じて、データの読み書きを行う対象を、第1メモリユニット30と第2メモリユニット40との間で切り換える機能を有している。 Among them, the unit management circuit 122 of this embodiment, the address and data designated by the host device 80, in response to the command, the target of the read and write data, a first memory unit 30 of the second memory unit 40 and it has a function of switching between.

図6は、ユニット管理回路122によって行われるメモリユニットの切り換え制御の概念を示す説明図である。 Figure 6 is an explanatory view showing the concept of a switching control of the memory unit to be performed by the unit management circuit 122. 図6には、左側から順に、ホスト装置80から記憶装置110を見た際の記憶装置110の全体の記憶領域UA2と、第1メモリユニット30の記憶領域と、第2メモリユニット40の記憶領域とを示している。 FIG 6, in order from the left side, the entire storage area UA2 of the storage device 110 when viewed storage device 110 from the host device 80, a storage area of ​​the first memory unit 30, the storage area of ​​the second memory unit 40 It is shown the door.

本実施例では、第1メモリユニット30内の記憶領域は、「0」から「W」までのLBAアドレスで表されている。 In this embodiment, the storage area of ​​the first memory unit 30 is represented by LBA addresses from "0" to "W". 一方、第2メモリユニット40内の記憶領域は、「0」から「X」までのLBAアドレスで表されている。 On the other hand, the storage area of ​​the second memory unit 40 is represented by LBA addresses from "0" to "X". LBAアドレス「X」は、LBAアドレス「W」よりも大きい値である。 LBA address "X" is a value greater than the LBA address "W".

本実施例では、ホスト装置80から「0」から「W」までのLBAアドレスが指定されると、ユニット管理回路122は、データの読み書きの対象を、二値メモリ31を搭載した第1メモリユニット30に切り換える。 In this embodiment, the LBA address from the host device 80 from "0" to "W" is specified, the unit management circuit 122, the target data of the read-write, the first memory unit equipped with binary memory 31 It switched to 30. これに対して、「W」を超えるLBAアドレスが指定されると、ユニット管理回路122は、データの読み書き対象を、多値メモリ41が搭載された第2メモリユニット40に切り換える。 In contrast, the LBA addresses beyond the "W" is designated, the unit management circuit 122, the write target data is switched to the second memory unit 40 that the multi-level memory 41 is mounted. つまり、本実施例では、ユニット管理回路122は、ホスト装置80から指定されたLBAアドレスを、閾値「W」と比較することで、使用するメモリユニットを切り換えるのである。 That is, in this embodiment, the unit management circuit 122, an LBA address specified by the host apparatus 80, is compared with a threshold value "W" is to switch the memory unit to be used. なお、上述のような切り換え制御を行う結果、本実施例では、第2メモリユニット40の一部に、使用されない領域(LBAアドレス「0」〜「W」)が生じることになる。 As a result of performing the switching control as described above, in this embodiment, a portion of the second memory unit 40, so that the area is not used (LBA address "0" to "W") occurs.

図7は、ユニット管理回路122の内部構成を模式的に示すブロック図である。 Figure 7 is a block diagram schematically showing an internal structure of the unit management circuit 122. 図示するように、本実施例のユニット管理回路122は、レジスタ判別回路178と、切換制御回路194と、第1スイッチ回路196と、第2スイッチ回路198とを備えている。 As shown, the unit management circuit 122 of this embodiment includes a register determination circuit 178, a switching control circuit 194, a first switch circuit 196, and a second switch circuit 198.

レジスタ判別回路178は、図5に示したバス変換回路21に接続される。 Register determination circuit 178 is connected to the bus converter 21 shown in FIG. レジスタ判別回路178は、第1実施例と同様に、バス変換回路21から入力したアドレス信号A0〜A2の状態に応じて、ATA規格に基づき、アクセス対象のレジスタの種類を判別する。 Register determination circuit 178, as in the first embodiment, depending on the state of the address signals A0~A2 input from the bus converter 21, based on the ATA standard, to determine the type of the accessed register. そして、判別したレジスタの種類に応じて、バス変換回路21から受信したアクセス信号を、切換制御回路194に転送する。 Then, depending on the type of the discriminated register, the access signal received from the bus converting circuit 21, and transfers the switching control circuit 194.

切換制御回路194は、レジスタ判別回路178が判別したアクセス対象のレジスタの種類や、ホスト装置80から指定されたアドレス、データ、コマンドに基づいて、アクセス対象となるメモリユニットを、第1メモリユニット30と第2メモリユニット40との間で切り換える制御を行う。 Switching control circuit 194, the register type and access subject register determination circuit 178 has determined, the address designated by the host device 80, the data, based on the command, the memory unit to be accessed, the first memory unit 30 It performs the control for switching between the second memory unit 40.

第1スイッチ回路196は、切換制御回路194からの指示に基づいて、バス変換回路21と第1メモリユニット30間の接続を開閉する。 The first switching circuit 196, based on an instruction from the switching control circuit 194, to open and close the connection between the bus converter 21 to the first memory unit 30.

第2スイッチ回路198は、切換制御回路194からの指示に基づいて、バス変換回路21と第2メモリユニット40間の接続を開閉する。 The second switching circuit 198, based on an instruction from the switching control circuit 194, to open and close the connection between the bus converter 21 and the second memory unit 40.

図示するように切換制御回路194は、アドレスデコーダ190とアドレス比較回路192とサイズレジスタ179とコマンドデコーダ191とを備えている。 Switching control circuit 194 as shown, and an address decoder 190 and the address comparing circuit 192 and the size register 179 and the command decoder 191.

アドレスデコーダ190は、デバイス/ヘッドレジスタ、シリンダハイレジスタ、シリンダローレジスタ、セクタナンバレジスタに対するアクセス信号に基づいて、ホスト装置80が指定したLBAアドレスを解析する。 Address decoder 190, the device / head register, the cylinder high register, Cylinder Low register, based on the access signal to the sector number register, for analyzing the LBA address where the host device 80 has specified. また、コマンドデコーダ191は、ホスト装置80から指示されたコマンドの解析を行う。 The command decoder 191 analyzes the command instructed by the host apparatus 80.

サイズレジスタ179には、第1メモリユニット30の最大容量に基づいて定められた閾値が記憶されている。 The size register 179, a threshold that is determined based on the maximum capacity of the first memory unit 30 is stored. 本実施例では、第1メモリユニット30の最大容量は512Mバイトであることとし、サイズレジスタ179に記憶されている閾値は、この最大容量よりも若干少ない480Mバイトの容量を示すLBAアドレスであることとする。 It In this embodiment, the maximum capacity of the first memory unit 30 is set to be 512M bytes, the threshold value stored in the size register 179, an LBA address indicating the capacity of slightly less 480M bytes than the maximum capacity to. フラッシュメモリには、欠損ブロック(バッドブロック)が生じる場合があるため、512Mバイトのすべてを利用できない場合があるからである。 The flash memory, because in some cases deficient block (bad block) occurs, because there may not be available all the 512M bytes. もちろん、閾値として、第1メモリユニット30の最大容量を表すLBAアドレスをそのまま記憶させることとしてもよい。 Of course, as the threshold value, it is also possible to directly store the LBA address that represents the maximum capacity of the first memory unit 30. なお、480Mバイトは、LBA方式による2進数で、「0000000011110000000000000000」と表すことができる。 Incidentally, 480M bytes, a binary number by LBA scheme can be represented as "0000000011110000000000000000". そのため、閾値を480Mバイトとすれば、ホスト装置80から指定される28ビット長のLBAアドレスのうち、上位8ビットの値が、「00000000」以上となるか否かに応じて、指定されたアドレスが、閾値(480Mバイト)を超えるか否かを判断することが可能になる。 Therefore, if the threshold value is 480M bytes, of the LBA address 28 bit length is specified by the host device 80, the value of the upper 8 bits, depending on whether the "00000000" or more, the specified address but it is possible to determine whether more than a threshold value (480M bytes). つまり、後述するアドレス比較回路192は、4ビットのデバイス/ヘッドレジスタと、8ビットのシリンダハイレジスタの上位4ビットを用いるだけで、シリンダローレジスタやセクタナンバレジスタの値を用いることなく、容易に、閾値を超えたか否かの判断を行うことが可能になる。 In other words, the address comparison circuit 192 which will be described later, a 4-bit device / head register, only using the upper 4 bits of the 8-bit cylinder high register, without using the value of the cylinder row registers and the sector number register, easily , it is possible for judging whether exceeds a threshold value.

アドレス比較回路192は、アドレスデコーダ190が解析したLBAアドレスと、サイズレジスタ179に記憶されている閾値とを比較し、図6に示したように、アクセス対象の候補となるメモリユニットを、第1メモリユニット30と第2メモリユニット40との間で選択する。 Address comparison circuit 192 compares the LBA address the address decoder 190 is analyzed, and a threshold value stored in the size register 179, as shown in FIG. 6, a memory unit, first to be the access target candidate selecting between the memory unit 30 and the second memory unit 40.

図8は、切換制御回路194によって行われる切り換え動作の詳細を示す説明図である。 Figure 8 is an explanatory diagram showing details of switching operations performed by the switching control circuit 194. 図中に、「切り換え」とあるのは、アドレス比較回路192によって選択されたメモリユニットに対してアクセスすることをいう。 In the figure, the term "switching" refers to the access to the memory unit selected by the address comparison circuit 192. これに対して、「同時アクセス」とあるのは、アドレス比較回路192による選択とは無関係に、第1メモリユニット30と第2メモリユニット40との両者に対して同一のアクセスを行うことをいう。 In contrast, the term "simultaneous access", regardless of selection by the address comparison circuit 192 refers to perform the same access to both the first memory unit 30 and the second memory unit 40 .

また、図8に、「ライト時」とあるのは、ホスト装置80からライトコマンドが発行された状況を示している。 Further, in FIG. 8, the term "Write" indicates a situation where a write command is issued from the host device 80. ライトコマンドには、コマンドレジスタに対するコマンドのライト命令や、データレジスタに対するデータのライト命令、その他のレジスタに対するLBAアドレス等の各種パラメータのライト命令が含まれる。 The write command, a write command or command to the command register, the data write instruction for the data register includes a write instruction of various parameters such as the LBA addresses for the other registers. また、「リード時」とあるのは、ホスト装置80から、リードコマンドが発行された状況を示している。 In addition, the term "time lead" is, from the host device 80, shows a situation where the read command is issued. リードコマンドには、メモリユニットから種々のステータスやデータを読み込む命令が含まれる。 The read command includes instructions to read the various status and data from the memory unit.

図8に示すように、データレジスタおよびコマンドレジスタに対するアクセスは、原則として、ライト時、リード時ともに、アドレス比較回路192によって選択されたメモリユニットに対して行われる。 As shown in FIG. 8, access to the data register and the command register, in principle, the write time is performed on the lead when both the memory unit selected by the address comparison circuit 192. これに対して、他のレジスタに対するアクセスは、リード時のみ選択されたメモリユニットに対して行われ、ライト時には、2つのメモリユニットに対して同一のアクセスがなされる。 In contrast, access to other registers is performed to the memory unit selected only during reading, at the time of writing, the same access is made to the two memory units. データレジスタとコマンドレジスタ以外のレジスタは、主に、アドレスを指定するためのレジスタである。 Data registers other than the command register register is primarily a register for designating an address. そのため、ライトの対象となるデータやコマンドが適切に、選択されたメモリユニットに対して転送される限り、ライト時において、第1メモリユニット30と第2メモリユニット40との両者のレジスタに対して同一のアドレスをライトしたとしても、特に支障がないからである。 Therefore, appropriate data and commands to be light, as long as they are transferred to the selected memory unit, at the time of writing, the first memory unit 30 for both the register and the second memory unit 40 even if you are writing the same address, because there are no particular trouble.

なお、図8に「例外1」と示したのは、コマンドデコーダ191によってコマンドの解析を行った結果、ホスト装置80から転送されたコマンドが、アイドルコマンドやスタンバイコマンドなどの、メモリユニット全体の動作状態を切り換えるようなコマンドであった場合である。 Incidentally, shown as "Exception 1" in FIG. 8, as a result of the analysis of the command by the command decoder 191, the command transferred from the host device 80, such as an idle command or standby command, the entire memory unit operation the case was commands such as switch states. このようなコマンドが転送された場合には、切換制御回路194は、例外的に、第1メモリユニット30と第2メモリユニット40の両者に対して、かかるコマンドの転送を行う。 If such command is transferred, the switching control circuit 194, exceptionally, a first memory unit 30 to both the second memory unit 40, and transfers such command.

また、図8に「例外2」と示したのは、アイデンティファイデバイスコマンド等によって、記憶装置110のデータ容量(全セクタ数)のリードがなされた場合である。 Moreover, it was indicated as "Exception 2" in FIG. 8, the identify device command, etc., a case where the read of the data capacity of the storage device 110 (total number of sectors) is made. このような場合においては、切換制御回路194は、例外的に、第2メモリユニット40に対してアクセスを行う。 In such a case, the switching control circuit 194, exceptionally, performs access to the second memory unit 40. 図6に示したように、本実施例では、記憶装置110のデータ容量は、第2メモリユニット40のデータ容量と一致しているためである。 As shown in FIG. 6, in this embodiment, the data capacity of the storage device 110 is to match the data capacity of the second memory unit 40.

以上、第2実施例としての記憶装置110の構成および動作について説明した、本実施例の記憶装置110によれば、第1実施例の記憶装置10と同様に、記憶領域の先頭の領域にSLC型のフラッシュメモリを割り当て、それ以外の領域に、MLC型のフラッシュメモリを割り当てることができる。 Has been described the configuration and operation of the storage device 110 as a second embodiment, according to the storage device 110 of the present embodiment, similarly to the storage device 10 of the first embodiment, SLC the beginning area of ​​the storage area assign a type of flash memory, it other regions, it is possible to assign the MLC type flash memory. そのため、書換可能回数が多く、動作が高速なSLC型のフラッシュメモリに対して、頻繁に書き換えられるFAT情報を記憶させることが可能になる。 Therefore, rewritable count number, operation on high-speed SLC type flash memory, it is possible to store the FAT information frequently rewritten. この結果、第1実施例と同様に、MLC型のフラッシュメモリを採用することで大容量化を実現しつつ、MLC型のフラッシュメモリだけで構成された記憶装置に比べて、データの書込速度とデータ記憶の信頼性を格段に向上させることが可能になる。 As a result, like the first embodiment, while realizing a large capacity by adopting the MLC type flash memory, in comparison to the a storage device configured by a flash memory of the MLC type, writing speed of the data it is possible to greatly improve the reliability of data storage and.

また、本実施例の記憶装置110によれば、ホスト装置80から指定されたアドレスをそのまま用いて、2種類のメモリユニットに対するデータの読み書きを行うことが可能になる。 Further, according to the storage device 110 of the present embodiment, as it is using the address specified by the host device 80, it is possible to read and write data for two types of memory units. この結果、複雑なアドレス変換を行う回路が不要であるため、メインコントローラ20の回路規模を縮小することができる。 As a result, the circuit which performs a complicated address translation is not necessary, it is possible to reduce the circuit scale of the main controller 20. この結果、製造コストの低減を図ることが可能になる。 As a result, it becomes possible to reduce the manufacturing cost.

以上、本発明の種々の実施例について説明したが、本発明はこれらの実施例に限定されず、その趣旨を逸脱しない範囲で種々の構成を採ることができることはいうまでもない。 Having described various embodiments of the present invention, the present invention is not limited to these embodiments, it is of course possible to adopt various configurations without departing from the scope thereof. 例えば、上記実施例では、記憶装置とホスト装置とが接続されるインタフェースとしてUSBインタフェースを採用したが、インタフェースの種類はこれに限られない。 For example, in the above embodiment, a storage device and a host device employing a USB interface as an interface to be connected, the type of interface is not limited thereto. IEEE1394インタフェースや、シリアルATAインタフェース、パラレルATAインタフェースなど種々のインタフェースを採用することが可能である。 IEEE1394 interface and serial ATA interface, it is possible to employ various interfaces such as a parallel ATA interface.

第1実施例としての記憶装置の概略構成を示す説明図である。 It is an explanatory view showing a schematic configuration of a memory device as a first embodiment. 第1実施例のユニット管理回路によって行われるアドレス変換の概念を示す説明図である。 Is an explanatory view showing an address conversion concept performed by unit management circuit of the first embodiment. 第1実施例のユニット管理回路の内部構成を模式的に示すブロック図である。 The internal structure of the unit management circuit of the first embodiment is a block diagram schematically showing. 第1実施例におけるユニット管理処理のフローチャートである。 It is a flowchart of unit management processing in the first embodiment. 第2実施例としての記憶装置の概略構成を示す説明図である。 It is an explanatory view showing a schematic configuration of a memory device as a second embodiment. 第2実施例のユニット管理回路によって行われるメモリユニットの切り換え制御の概念を示す説明図である。 Is an explanatory view showing the concept of a switching control of the memory unit to be performed by the unit management circuit of the second embodiment. 第2実施例におけるユニット管理回路の内部構成を模式的に示すブロック図である。 The internal structure of the unit management circuit in the second embodiment is a block diagram schematically showing. 第2実施例の切換制御回路によって行われる切り換え動作の詳細を示す説明図である。 Is an explanatory view showing the details of the switching operation performed by the switching control circuit of the second embodiment.

符号の説明 DESCRIPTION OF SYMBOLS

10…記憶装置 20…メインコントローラ 21…バス変換回路 22…ユニット管理回路 30…第1ユニット 31…二値メモリ 32…第1ユニットコントローラ(SLCコントローラ) 10 ... storage device 20 ... main controller 21 ... bus converter 22 ... unit management circuit 30 ... first unit 31 ... binary memory 32 ... first unit controller (SLC controller)
40…第2ユニット 41,51,61…多値メモリ 42…第2ユニットコントローラ(MLCコントローラ) 40 ... second unit 41, 51, 61 ... multi-level memory 42 ... second unit controller (MLC controller)
50…第3ユニット 60…第4ユニット 70〜74…ラッチ回路 78…レジスタ判別回路 79…ステータス記憶回路 80…ホスト装置 90…アドレスデコーダ 91…コマンドデコーダ 92…アドレス変換回路 94…ユニットセレクタ 96…第1スイッチ回路 98…第2スイッチ回路 110…記憶装置 122…ユニット管理回路 178…レジスタ判別回路 179…サイズレジスタ 190…アドレスデコーダ 191…コマンドデコーダ 192…アドレス比較回路 194…切換制御回路 196…第1スイッチ回路 198…第2スイッチ回路 50 ... third unit 60 ... fourth units 70-74 ... latch circuit 78 ... register determination circuit 79 ... status storage circuit 80 ... host device 90 ... address decoder 91 ... command decoder 92 ... address conversion circuit 94 ... unit selector 96 ... first first switch circuit 98: second switching circuit 110 ... storage device 122 ... unit management circuit 178 ... register determination circuit 179 ... size register 190 ... address decoder 191 ... command decoder 192 ... address comparison circuit 194 ... switching control circuit 196 ... first switch circuit 198 ... the second switch circuit

Claims (1)

  1. 記憶領域の先頭にデータの管理情報を記録する所定のファイルシステムに基づいてデータを記憶可能な記憶装置であって、 A storable storage device data on the basis of a predetermined file system for recording management information of the data to the beginning of the storage area,
    第1の記憶領域を有し、単セルあたり2種類の値を記憶可能な二値フラッシュメモリと、 Having a first storage area, and a binary flash memory capable of storing two values ​​per unit cell,
    前記第1の記憶領域よりも広い第2の記憶領域を有し、単セルあたり3種類以上の値を記憶可能な多値フラッシュメモリと、 A wide second storage area than the first storage area, and the multi-level flash memory capable of storing three or more values ​​per unit cell,
    当該記憶装置に接続されたホスト装置から指定されたアドレスと、前記第1の記憶領域の最大容量に基づいて定められた所定の閾値とを比較する比較部と、 A comparator for comparing the address designated by the host apparatus connected to the storage device, and a predetermined threshold value set based on the maximum capacity of the first storage area,
    前記アドレスが、前記閾値内のアドレスである場合には、データの読み書き先を前記二値フラッシュメモリに切り換え、前記アドレスが、前記閾値を超えるアドレスである場合には、前記読み書き先を、前記多値フラッシュメモリに切り換える制御部と を備え、 The address is, if an address in the threshold value, switches the write destination of data to the binary flash memory, the address, when the address is greater than the threshold value, the write destination, the multi and a control unit for switching the value flash memory,
    前記制御部は、前記読み書き先が、前記二値フラッシュメモリおよび前記多値フラッシュメモリのいずれかに切り換えられた場合においても、前記アドレスの値をそのまま用いて、前記二値フラッシュメモリまたは前記多値フラッシュメモリに対して、データの読み書きを行うことで、前記多値フラッシュメモリが有する前記第2の記憶領域のうち、前記閾値内のアドレスに対応する記憶領域については使用せず、前記閾値を超えるアドレスに対応する記憶領域を使用し、 Wherein the control unit, the reading and writing destination, even when switched into either of the binary flash memory and the multi-level flash memory, used as it is the value of the address, the binary flash memory or the multi-value the flash memory, by reading and writing data, among the second memory area in which the multi-level flash memory has, not used for memory area corresponding to the address in the threshold value exceeds the threshold using the storage area corresponding to the address,
    前記制御部は、前記ホスト装置から、当該記憶装置の記憶容量の問い合わせを受けた際に、前記第2の記憶領域の記憶容量を返信する手段を備える 記憶装置。 The control unit, from said host device, when receiving an inquiry of the storage capacity of the storage device, the storage device comprising means for returning the storage capacity of the second storage area.
JP2008004691A 2007-05-14 2008-01-11 Storage device Active JP4781373B2 (en)

Priority Applications (3)

Application Number Priority Date Filing Date Title
JP2007127665 2007-05-14
JP2007127665 2007-05-14
JP2008004691A JP4781373B2 (en) 2007-05-14 2008-01-11 Storage device

Applications Claiming Priority (7)

Application Number Priority Date Filing Date Title
JP2008004691A JP4781373B2 (en) 2007-05-14 2008-01-11 Storage device
CN 201010154233 CN101853214B (en) 2007-05-14 2008-05-13 Storage device
CN 201010154231 CN101853694B (en) 2007-05-14 2008-05-13 Storage device
US12/120,108 US7979627B2 (en) 2007-05-14 2008-05-13 Storage device with binary and multivalued memory
CN 201010154230 CN101853207B (en) 2007-05-14 2008-05-13 Storage device
TW97117576A TWI378454B (en) 2007-05-14 2008-05-13
CN 200810098116 CN101308698B (en) 2007-05-14 2008-05-13 Storage device

Publications (2)

Publication Number Publication Date
JP2008310793A JP2008310793A (en) 2008-12-25
JP4781373B2 true JP4781373B2 (en) 2011-09-28

Family

ID=40125085

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2008004691A Active JP4781373B2 (en) 2007-05-14 2008-01-11 Storage device

Country Status (3)

Country Link
JP (1) JP4781373B2 (en)
CN (4) CN101853214B (en)
TW (1) TWI378454B (en)

Families Citing this family (17)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101751982B (en) 2008-12-12 2014-08-13 苏州亮智科技有限公司 Connection method between flesh memory controller and flesh memory chip in flesh memory storing device
CN101814318B (en) 2009-02-25 2013-05-01 群联电子股份有限公司 Multi level cell NAND flash storage system as well as controller and access method thereof
US8380909B2 (en) * 2009-04-08 2013-02-19 Google Inc. Multiple command queues having separate interrupts
CN101866678A (en) * 2009-04-17 2010-10-20 常州南基天盛科技有限公司;苏州亮智科技有限公司 Flash disk
JP5330136B2 (en) * 2009-07-22 2013-10-30 株式会社東芝 A semiconductor memory device
JP5447523B2 (en) 2009-08-12 2014-03-19 日本電気株式会社 Data processing apparatus, data recording method, data recording program
JP5027198B2 (en) * 2009-10-08 2012-09-19 技嘉科技股▲ふん▼有限公司Giga−Byte Technology Co.,Ltd. Access device and access method of the flash memory
JP2011145838A (en) * 2010-01-13 2011-07-28 Toshiba Corp Storage device management device and method for managing storage device
CN102142277A (en) * 2010-01-28 2011-08-03 深圳市江波龙电子有限公司 Memory and memory read-write control method and system
CN102385553A (en) * 2010-08-31 2012-03-21 点序科技股份有限公司 Access device and access method for flash memory
CN102324249B (en) * 2011-09-09 2013-10-30 黑龙江大学 Bi-multi-converting circuit of embedded DRAM of K value storing unit and constructing method thereof
CN103748565A (en) * 2012-08-16 2014-04-23 华为终端有限公司 Terminal and file access method therefor
CN103019882B (en) * 2012-11-12 2016-02-24 记忆科技(深圳)有限公司 SSD raid4 system
CN103077121B (en) * 2013-01-07 2016-01-27 深圳市江波龙电子有限公司 A flash memory storage device, a data management method and apparatus
CN103914410A (en) * 2013-01-08 2014-07-09 联想(北京)有限公司 Storage device, electronic device and data access method
CN103164344B (en) * 2013-03-12 2015-09-16 深圳市江波龙电子有限公司 A flash memory storage device, a data management method and apparatus
CN103246615B (en) * 2013-04-24 2015-09-16 深圳市江波龙电子有限公司 A flash memory storage device, a data management method and apparatus

Family Cites Families (14)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP3807012B2 (en) * 1997-03-21 2006-08-09 セイコーエプソン株式会社 Storage device
JPH1131102A (en) * 1997-07-14 1999-02-02 Toshiba Corp Data storage system and access control method applied to the system
JPH11176178A (en) * 1997-12-15 1999-07-02 Sony Corp Non-volatile semiconductor storage and ic memory card using it
JP2000173281A (en) * 1998-12-04 2000-06-23 Sony Corp Semiconductor memory
JP2001306393A (en) * 2000-04-20 2001-11-02 Mitsubishi Electric Corp Storage device
JP2003015942A (en) * 2001-07-03 2003-01-17 Casio Comput Co Ltd Method of writing data into memory, data write processing program and data write device
US7554842B2 (en) * 2001-09-17 2009-06-30 Sandisk Corporation Multi-purpose non-volatile memory card
US6807106B2 (en) 2001-12-14 2004-10-19 Sandisk Corporation Hybrid density memory card
JP2006048746A (en) * 2004-07-30 2006-02-16 Renesas Technology Corp Memory card
US20060184719A1 (en) * 2005-02-16 2006-08-17 Sinclair Alan W Direct data file storage implementation techniques in flash memories
US7877539B2 (en) * 2005-02-16 2011-01-25 Sandisk Corporation Direct data file storage in flash memories
US7752382B2 (en) * 2005-09-09 2010-07-06 Sandisk Il Ltd Flash memory storage system and method
WO2007037757A1 (en) 2005-09-29 2007-04-05 Trek 2000 International Ltd Portable data storage using slc and mlc flash memory
US8055833B2 (en) * 2006-10-05 2011-11-08 Google Inc. System and method for increasing capacity, performance, and flexibility of flash storage

Also Published As

Publication number Publication date
TWI378454B (en) 2012-12-01
CN101853214A (en) 2010-10-06
CN101853694B (en) 2013-06-26
CN101853214B (en) 2013-04-24
CN101308698B (en) 2010-06-16
CN101853207B (en) 2012-10-31
TW200903493A (en) 2009-01-16
CN101853694A (en) 2010-10-06
CN101853207A (en) 2010-10-06
CN101308698A (en) 2008-11-19
JP2008310793A (en) 2008-12-25

Similar Documents

Publication Publication Date Title
US8370566B2 (en) System and method for increasing capacity, performance, and flexibility of flash storage
US6317371B2 (en) Storage device with an error correction unit and an improved arrangement for accessing and transferring blocks of data stored in a non-volatile semiconductor memory
US6760255B2 (en) Flash EEPROM system with simultaneous multiple data sector programming and storage of physical block characteristics in other designated blocks
US7392343B2 (en) Memory card having a storage cell and method of controlling the same
US6845438B1 (en) Method for controlling non-volatile semiconductor memory system by using look up table
US8019933B2 (en) Memory system, multi-bit flash memory device, and associated methods
CN100538659C (en) Method and device for effectively allowing failure sequency writing processing in ono-volatile memory system
US8239639B2 (en) Method and apparatus for providing data type and host file information to a mass storage system
US8281061B2 (en) Data conditioning to improve flash memory reliability
US8166233B2 (en) Garbage collection for solid state disks
CN102483949B (en) Preloading data into a flash storage device
US8166258B2 (en) Skip operations for solid state disks
US7308525B2 (en) Method of managing a multi-bit cell flash memory with improved reliablility and performance
US9208079B2 (en) Solid state memory (SSM), computer system including an SSM, and method of operating an SSM
US8626986B2 (en) Pre-emptive garbage collection of memory blocks
US8930671B2 (en) Logical address offset in response to detecting a memory formatting operation
US6807106B2 (en) Hybrid density memory card
US8234466B2 (en) Flash memory storage system applying SLC NAND flash memory and MLC NAND flash memory and data writing method thereof
KR100218871B1 (en) Semiconductor disk device
US20050041478A1 (en) Method of controlling the operation of non-volatile semiconductor memory chips
JP4931810B2 (en) fat analysis for the management of optimized sequential cluster
US8209461B2 (en) Configuration of host LBA interface with flash memory
US20030177300A1 (en) Data processing method in high-capacity flash EEPROM card system
JP3942807B2 (en) Block alignment function with a semiconductor memory device
KR100858756B1 (en) Storage device and host apparatus

Legal Events

Date Code Title Description
A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20090410

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20090421

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20090616

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20100622

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20100819

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20110412

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20110607

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20110628

A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20110705

R150 Certificate of patent or registration of utility model

Free format text: JAPANESE INTERMEDIATE CODE: R150

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20140715

Year of fee payment: 3

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250