Nothing Special   »   [go: up one dir, main page]

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
忠史 荒川
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Buffalo Inc
Original Assignee
Buffalo Inc
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 JP2008004691A priority Critical patent/JP4781373B2/en
Application filed by Buffalo Inc filed Critical Buffalo Inc
Priority to CN 201010154230 priority patent/CN101853207B/en
Priority to CN 201010154233 priority patent/CN101853214B/en
Priority to US12/120,108 priority patent/US7979627B2/en
Priority to CN 200810098116 priority patent/CN101308698B/en
Priority to TW97117576A priority patent/TW200903493A/en
Priority to CN 201010154231 priority patent/CN101853694B/en
Publication of JP2008310793A publication Critical patent/JP2008310793A/en
Application granted granted Critical
Publication of JP4781373B2 publication Critical patent/JP4781373B2/en
Active legal-status Critical Current
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

Landscapes

  • Memory System (AREA)
  • Read Only Memory (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
  • Techniques For Improving Reliability Of Storages (AREA)

Description

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

近年、コンピュータの外部記憶装置として、コンパクトフラッシュ(登録商標。以下同じ)に代表されるメモリカードや、USBメモリが普及している。これらの外部記憶装置には、書換可能な不揮発性ROMであるフラッシュメモリが内蔵されている。フラッシュメモリには、SLC(Single Level Cell)型とMLC(Multi Level Cell)型と呼ばれるものがある(例えば、下記特許文献1参照)。   In recent years, a memory card represented by a compact flash (registered trademark; the same applies hereinafter) and a USB memory are widely used as external storage devices for computers. These external storage devices incorporate a flash memory that is a rewritable nonvolatile ROM. There are flash memory types called SLC (Single Level Cell) type and MLC (Multi Level Cell) type (for example, see Patent Document 1 below).

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

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

一般的に、MLC型のフラッシュメモリは、動作が低速で、書換可能回数が少ないのに対して、記憶容量はSLC型よりも大きいという特徴がある。一方、SLC型のフラッシュメモリは、動作が高速で、書換可能回数が多いのに対して、記憶容量は、MLC型よりも少ないという特徴がある。   In general, the MLC type flash memory has a feature that its operation is slow and the number of rewritable times is small, whereas the storage capacity is larger than that of the SLC type. On the other hand, the SLC type flash memory is characterized in that it operates at high speed and has a large number of rewritable times, but has a smaller storage capacity than the MLC type.

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

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

すなわち、記憶領域の先頭にデータの管理情報を記録する所定のファイルシステムに基づいてデータを記憶可能な記憶装置であって、第1の記憶領域を有し、単セルあたり2種類の値を記憶可能な二値フラッシュメモリと、第2の記憶領域を有し、単セルあたり3種類以上の値を記憶可能な多値フラッシュメモリと、前記第1の記憶領域を先頭の領域に配置しつつ、前記第1の記憶領域と前記第2の記憶領域とを論理的に結合して、単一の記憶領域である結合領域としてデータの読み書きを行う制御部とを備えることを要旨とする。   That is, a storage device capable of storing data based on a predetermined file system that records data management information at the beginning of the storage area, has a first storage area, and stores two types of values per unit cell A possible binary flash memory, a multi-value flash memory having a second storage area and capable of storing three or more types of values per single cell, and the first storage area arranged in the head area, The gist of the present invention is to include a control unit that logically couples the first storage area and the second storage area and reads and writes data as a combined area that is a single storage area.

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

上記態様の記憶装置において、前記制御部は、前記結合領域と、前記第1の記憶領域および前記第2の記憶領域との間のアドレス変換を行うアドレス変換部と、前記アドレス変換の結果に応じて、前記データの読み書き先を、前記二値フラッシュメモリおよび前記多値フラッシュメモリの中から選択する選択部とを備えるものとしてもよい。このような態様であれば、アドレス変換の結果に応じて、データの読み書き先を容易に判別することができる。   In the storage device according to the aspect described above, the control unit is configured to respond to the result of the address conversion, the address conversion unit that performs address conversion between the combined region, the first storage region, and the second storage region. The data read / write destination may be selected from the binary flash memory and the multilevel flash memory. According to such an aspect, it is possible to easily determine the data read / write destination according to the result of the address conversion.

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

このような態様では、変換後のアドレスについては全てのメモリに送信し、その後、コマンドについては、選択されたメモリに対してのみ送信する。このような態様であれば、変換後のアドレスの送信先を、二値フラッシュメモリと多値フラッシュメモリとから選択する必要がないため、処理速度を向上させることが可能になる。   In such an aspect, the converted address is transmitted to all the memories, and then the command is transmitted only to the selected memory. According to such an aspect, it is not necessary to select the transmission destination of the converted address from the binary flash memory and the multi-level flash memory, so that the processing speed can be improved.

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

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

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

上記態様の記憶装置において、前記多値フラッシュメモリを複数備え、前記制御部は、前記第1の記憶領域を先頭の領域に配置しつつ、前記第1の記憶領域と複数の前記第2の記憶領域とを論理的に結合するものとしてもよい。このような態様によれば、多値フラッシュメモリを複数備えた態様とすることができるので、大容量の記憶領域を有する記憶装置を提供することができる。   The storage device according to the above aspect includes a plurality of the multi-level flash memories, and the control unit arranges the first storage area in a head area, and the first storage area and the plurality of second storages. The area may be logically coupled. According to such an aspect, since it can be set as the aspect provided with two or more multi-value flash memories, the memory | storage device which has a large capacity | capacitance storage area can be provided.

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

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

上記態様の記憶装置において、前記制御部は、前記読み書き先が、前記二値フラッシュメモリおよび前記多値フラッシュメモリのいずれかに切り換えられた場合においても、前記アドレスの値をそのまま用いて、前記二値フラッシュメモリまたは前記多値フラッシュメモリに対して、データの読み書きを行うこととしてもよい。このような態様であれば、ホスト装置から指定されたアドレスを他の体系のアドレスに変換する処理が必要ないため、処理の単純化を図ることが可能になる。   In the storage device of the above aspect, the control unit uses the address value as it is even when the read / write destination is switched to either the binary flash memory or the multi-level flash memory. Data reading / writing may be performed on the value flash memory or the multi-value flash memory. According to such an aspect, it is not necessary to convert the address designated by the host device into an address of another system, so that the process can be simplified.

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

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

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

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

第1メモリユニット30は、SLC(Single Level Cell)型のNANDフラッシュメモリである二値メモリ31を備えている。また、第1メモリユニット30は、この二値メモリ31をその電気的特性に応じて制御する第1ユニットコントローラ32を備えている。本実施例では、第1ユニットコントローラ32として、汎用的なコンパクトフラッシュ用のメモリコントローラを採用した。第1ユニットコントローラ32は、メインコントローラ20からATA規格に基づくコマンドやデータを受信し、二値メモリ31に対して、データの読み書きを行う。本実施例では、第1メモリユニット30は、1Gバイト分の記憶領域を有するものとする。1つの二値メモリ31で1Gバイト分の記憶領域を実現できない場合には、複数個の二値メモリ31を第1ユニットコントローラ32に対して接続することで1Gバイトの記憶領域を実現してもよい。   The first memory unit 30 includes a binary memory 31 that is an SLC (Single Level Cell) type NAND flash memory. The first memory unit 30 also includes a first unit controller 32 that controls the binary memory 31 according to its electrical characteristics. In this embodiment, a general-purpose compact flash memory controller is employed as the first unit controller 32. The first unit controller 32 receives commands and data based on the ATA standard from the main controller 20, and reads / writes data from / to the binary memory 31. In the present embodiment, the first memory unit 30 has a storage area for 1 Gbyte. If one binary memory 31 cannot realize a 1 Gbyte storage area, a plurality of binary memories 31 can be connected to the first unit controller 32 to realize a 1 Gbyte storage area. Good.

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

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

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

ユニット管理回路22は、各メモリユニット30〜60が備える二値メモリや多値メモリの記憶領域を論理的に結合して、単一の記憶領域として扱う機能を備える。ユニット管理回路22は、バス変換回路21によって変換されたATA信号のLBA(Logical Block Addressing)アドレスに基づきアドレス変換を行うことで各メモリユニット30〜60の論理的な結合を実現する。LBAとは、記憶領域のすべてのセクタに通し番号を割り当て、その通し番号によってアクセスを行うセクタを指定する方式のことをいう。LBAアドレスは、この通し番号によって表される。なお、「LBAアドレス」は、「LBAパラメータ」とも呼ばれる。   The unit management circuit 22 has a function of logically combining the storage areas of the binary memory and the multi-value memory included in each of the memory units 30 to 60 and handling them as a single storage area. The unit management circuit 22 realizes logical connection of the memory units 30 to 60 by performing address conversion based on an LBA (Logical Block Addressing) address of the ATA signal converted by the bus conversion circuit 21. LBA is a system in which serial numbers are assigned to all sectors in a storage area, and sectors to be accessed are designated by the serial numbers. The LBA address is represented by this serial number. The “LBA address” is also called “LBA parameter”.

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

図2の右側には、各メモリユニット30〜60の記憶領域を結合した後の記憶領域を示している。図示するように、ユニット管理回路22は、第1メモリユニット30が備える二値メモリ31の記憶領域を先頭の領域に配置し、その後に、他のメモリユニット40〜60が備える多値メモリ41〜61の記憶領域を配置する。結合後の記憶領域は、図2に示すように、「0」から「W+X+Y+Z」までのLBAアドレスで表されることになる。ユニット管理回路22がこうして記憶領域の結合を行うことで、ホスト装置80は、記憶装置10内の記憶領域を、「0」から「W+X+Y+Z」までの連続したLBAアドレスで表されるものとして認識することが可能になる。以下の説明では、結合後の記憶領域のことを、「結合領域UA」と呼ぶ。   The right side of FIG. 2 shows the storage area after the storage areas of the memory units 30 to 60 are combined. As shown in the figure, the unit management circuit 22 arranges the storage area of the binary memory 31 included in the first memory unit 30 in the head area, and then the multi-value memories 41 to 41 included in the other memory units 40 to 60. 61 storage areas are arranged. As shown in FIG. 2, the combined storage area is represented by LBA addresses from “0” to “W + X + Y + Z”. When the unit management circuit 22 performs the storage area combination in this way, the host device 80 recognizes the storage area in the storage device 10 as represented by continuous LBA addresses from “0” to “W + X + Y + Z”. It becomes possible. In the following description, the storage area after combination is referred to as “combined area UA”.

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

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

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

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

ユニット管理回路22は、ホスト装置80から、フィーチャレジスタとセクタカウントレジスタに対するアクセス信号を受信した場合については、そのままスルーして、すべてのメモリユニット30〜60にこのアクセス信号を転送する。これらのレジスタは、結合領域UA内の位置を直接指定するためのものではないからである。具体的には、フィーチャレジスタは、ATAコマンドに応じて種々のパラメータを指定するために用いられるレジスタであり、セクタカウントレジスタは、複数のセクタを連続してアクセスする際に、そのセクタ数を指定するためのレジスタである。連続してアクセスする際の「先頭セクタ」の指定については、後述するデバイス/ヘッドレジスタ、シリンダハイレジスタ、シリンダローレジスタ、セクタナンバレジスタが用いられる。   When the unit management circuit 22 receives an access signal for the feature register and the sector count register from the host device 80, the unit management circuit 22 directly passes through and transfers the access signal to all the memory units 30-60. This is because these registers are not for directly specifying the position in the combined area UA. Specifically, the feature register is a register used to specify various parameters according to the ATA command, and the sector count register specifies the number of sectors when accessing a plurality of sectors in succession. It is a register to do. For the designation of the “first sector” for continuous access, a device / head register, a cylinder high register, a cylinder low register, and a sector number register, which will be described later, are used.

デバイス/ヘッドレジスタ、シリンダハイレジスタ、シリンダローレジスタ、セクタナンバレジスタは、結合領域UA内の位置(セクタ)を指定するために用いられるレジスタである。これらのレジスタには、それぞれ、結合領域UA内のセクタを表すLBAアドレスの一部が入力される。具体的には、LBAアドレスが28ビット長のパラメータだとすると、セクタナンバレジスタには、0ビット目から7ビットの目のビット列が入力され、シリンダローレジスタには、8ビット目から15ビット目のビット列が入力される。また、シリンダハイレジスタには、16ビット目から23ビット目のビット列が入力され、デバイス/ヘッドレジスタには、24ビット目から27ビット目のビット列が入力される。ユニット管理回路22は、これらのレジスタに対するアクセス信号を受けると、その信号を一旦、ラッチ回路70〜73でラッチして記憶する。   The device / head register, the cylinder high register, the cylinder low register, and the sector number register are registers used for designating a position (sector) in the combined area UA. Each of these registers receives a part of an LBA address representing a sector in the combined area UA. Specifically, if the LBA address is a 28-bit parameter, the bit string from the 0th bit to the 7th bit is input to the sector number register, and the bit string from the 8th bit to the 15th bit is input to the cylinder row register. Is entered. Also, a bit string from the 16th bit to the 23rd bit is input to the cylinder high register, and a bit string from the 24th bit to the 27th bit is input to the device / head register. When the unit management circuit 22 receives the access signals for these registers, the unit management circuit 22 once latches the signals in the latch circuits 70 to 73 and stores them.

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

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

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

アドレス変換回路92は、図2に示したように、アドレスデコーダ90から入力した結合領域UAについてのLBAアドレスを、メモリユニット30〜60毎のLBAアドレスに変換する機能を備える。具体的には、アドレス変換回路92は、アドレスデコーダ90からLBAアドレスを入力し、更に、コマンドデコーダ91からコマンドの種別を入力する。そして、入力したコマンドの種別が、LBAアドレスを必要とするコマンドであるかを判断する。LBAアドレスを必要とするコマンドとは、一般に、アドレス(セクタ)を指定して、指定したアドレスに対して何らかのアクセスを行うコマンドであり、例えば、「リードセクタコマンド」や、「ライトセクタコマンド」、「リードマルチプルコマンド」、「ライトマルチプルコマンド」、「リードDMAコマンド」、「ライトDMAコマンド」、「リードベリファイセクタコマンド」「シークコマンド」等がある。アドレス変換回路92は、入力したコマンドの種別がLBAアドレスを必要とするコマンドであると判断すれば、アドレスデコーダ90から入力したLBAアドレスを、メモリユニット毎のLBAアドレスに変換し(変換方法については後述)、変換後のLBAアドレスを全てのメモリユニット30〜60に転送する。後述するように、メインコントローラ20は、LBAアドレスを必要とするATAコマンドを複数のメモリユニットに対して同時に転送することはないので、変換後のLBAアドレスは、全てのメモリユニット30〜60に転送することができる。こうすることで、アドレス変換回路92は、転送先を選択する処理を省略することができる。もちろん、該当するメモリユニットに対してのみ変換後のLBAアドレスを転送するものとしてもよい。   As shown in FIG. 2, the address conversion circuit 92 has a function of converting the LBA address for the combined area UA input from the address decoder 90 into an LBA address for each of the memory units 30 to 60. Specifically, the address conversion circuit 92 receives an LBA address from the address decoder 90 and further receives a command type from the command decoder 91. Then, it is determined whether the type of the input command is a command that requires an LBA address. A command that requires an LBA address is generally a command that designates an address (sector) and performs some access to the designated address. For example, a “read sector command”, “write sector command”, There are “read multiple command”, “write multiple command”, “read DMA command”, “write DMA command”, “read verify sector command”, “seek command”, and the like. If the address conversion circuit 92 determines that the type of the input command is a command that requires an LBA address, the address conversion circuit 92 converts the LBA address input from the address decoder 90 into an LBA address for each memory unit (for the conversion method). The LBA address after conversion is transferred to all the memory units 30 to 60. As will be described later, the main controller 20 does not simultaneously transfer an ATA command that requires an LBA address to a plurality of memory units. Therefore, the converted LBA address is transferred to all the memory units 30 to 60. can do. By doing so, the address conversion circuit 92 can omit the process of selecting the transfer destination. Of course, the converted LBA address may be transferred only to the corresponding memory unit.

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

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

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

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

第2スイッチ回路98とレジスタ判別回路78との間には、ステータス記憶回路79が接続されている。ステータス記憶回路79には、結合領域UA全体の容量(全セクタ数)や、記憶装置10の製造者情報を表すデバイスIDが記憶されている。通常、ホスト装置80からステータス情報の取得が要求された場合には、第2スイッチ回路98で選択されたメモリユニットから、ステータス情報が返信される。しかし、例えば、「アイデンティファイデバイス」コマンド等によって、記憶装置10が有する全セクタ数の問い合わせや、デバイスIDなどの問い合わせがあった場合には、当該ステータス記憶回路79から、ホスト装置80に対して、ステータス情報が返信される。このように、ステータス記憶回路79からステータス情報を返信可能な構成とすれば、各メモリユニットで対応不能な記憶装置10全体に関わるステータス情報をホスト装置80に対して正確に伝達することが可能になる。   A status storage circuit 79 is connected between the second switch circuit 98 and the register determination circuit 78. The status storage circuit 79 stores a capacity (total number of sectors) of the entire combined area UA and a device ID representing manufacturer information of the storage device 10. Normally, when acquisition of status information is requested from the host device 80, status information is returned from the memory unit selected by the second switch circuit 98. However, for example, when there is an inquiry about the total number of sectors that the storage device 10 has or an inquiry about the device ID by an “identify device” command or the like, the status storage circuit 79 sends a request to the host device 80. Status information is returned. As described above, when the status information can be returned from the status storage circuit 79, the status information relating to the entire storage device 10 that cannot be handled by each memory unit can be accurately transmitted to the host device 80. Become.

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

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

上記ステップS10において、入力したコマンドがLBAアドレスを必要とするコマンドであれば(ステップS10:Yes)、アドレスデコーダ90は、入力したLBAアドレスnが、第1メモリユニット30のLBAアドレスの最大値W(図2参照)以下であるかを判断する(ステップS30)。LBAアドレスnが、最大値W以下であれば(ステップS30:Yes)、アドレス変換回路92によって、変換後のLBAアドレスmを、アドレスデコーダ90から入力したそのままのLBAアドレスnとする(ステップS40)。そして、この場合には、ユニットセレクタ94は、コマンドの転送先として、第1メモリユニット30を選択する(ステップS50)。   In step S10, if the input command is a command that requires an LBA address (step S10: Yes), the address decoder 90 determines that the input LBA address n is the maximum value W of the LBA address of the first memory unit 30. (Refer to FIG. 2) It is determined whether it is the following (step S30). If the LBA address n is less than or equal to the maximum value W (step S30: Yes), the address conversion circuit 92 sets the converted LBA address m as the LBA address n as it is input from the address decoder 90 (step S40). . In this case, the unit selector 94 selects the first memory unit 30 as a command transfer destination (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)。LBAアドレスnが、前記和(W+X)以下であれば(ステップS60:Yes)、アドレス変換回路92によって、変換後のLBAアドレスmを、LBAアドレスnから、第1メモリユニット30のLBAアドレスの最大値Wを差し引いた値とする(ステップS70)。そして、この場合には、ユニットセレクタ94は、コマンドの転送先として、第2メモリユニット40を選択する(ステップS80)。   When it is determined in step S30 that the LBA address n is not less than or equal to the maximum value W of the LBA address of the first memory unit 30 (step S30: No), the address decoder 90 determines that the LBA address n is the first value. It is determined whether the maximum value W of the LBA address of the memory unit 30 is equal to or less than the sum (W + X) of the maximum value X of the LBA address of the second memory unit 40 (step S60). If the LBA address n is less than or equal to the sum (W + X) (step S60: Yes), the address conversion circuit 92 converts the LBA address m after conversion from the LBA address n to the maximum LBA address of the first memory unit 30. The value W is subtracted (step S70). In this case, the unit selector 94 selects the second memory unit 40 as a command transfer destination (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)。LBAアドレスnが、前記和(W+X+Y)以下であれば(ステップS90:Yes)、アドレス変換回路92によって、変換後のLBAアドレスmを、LBAアドレスnから、WおよびXを差し引いた値とする(ステップS100)。そして、この場合には、ユニットセレクタ94は、コマンドの転送先として、第3メモリユニット50を選択する(ステップS110)。   If it is determined in step S60 that the LBA address n is not less than the sum (W + X) (step S60: No), the address decoder 90 determines that the LBA address n is the LBA address of the first memory unit 30. It is determined whether the maximum value W is equal to or less than the sum (W + X + Y) of the 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 (step S90). If the LBA address n is less than or equal to the sum (W + X + Y) (step S90: Yes), the address conversion circuit 92 sets the LBA address m after conversion to a value obtained by subtracting W and X from the LBA address n ( Step S100). In this case, the unit selector 94 selects the third memory unit 50 as a command transfer destination (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)。LBAアドレスnが、前記和(W+X+Y+Z)以下であれば(ステップS120:Yes)、アドレス変換回路92によって、変換後のLBAアドレスmを、LBAアドレスnから、W、XおよびYを差し引いた値とする(ステップS130)。そして、この場合には、ユニットセレクタ94は、コマンドの転送先として、第4メモリユニット60を選択する(ステップS140)。   If it is determined in step S90 that the LBA address n is not less than the sum (W + X + Y) (step S90: No), the address decoder 90 determines that the LBA address n is the LBA address of the first memory unit 30. Less than the sum (W + X + Y + Z) of the maximum value W, the maximum value X of the LBA address of the second memory unit 40, the maximum value Y of the LBA address of the third memory unit 50, and the maximum value Z of the fourth memory unit 60 It is determined whether or not there is (step S120). If the LBA address n is less than or equal to the sum (W + X + Y + Z) (step S120: Yes), the address conversion circuit 92 sets the converted LBA address m to the value obtained by subtracting W, X, and Y from the LBA address n. (Step S130). In this case, the unit selector 94 selects the fourth memory unit 60 as a command transfer destination (step S140).

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

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

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

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

また、本実施例では、二値メモリや多値メモリを制御するユニットコントローラとして、コンパクトフラッシュ用のコントローラを用いるものとした。一般的に、コンパクトフラッシュは、汎用性が高く、様々な特性のフラッシュメモリを制御することが可能である。そのため、本実施例のように、コンパクトフラッシュコントローラをメモリユニット毎に備えるものとすれば、メモリユニット毎に異なるメーカのフラッシュメモリを採用したとしても特性の違いを吸収して正常に動作をさせることが可能になる。この結果、二値メモリや多値メモリを混載する記憶装置を容易に構成することが可能になる。なお、本実施例では、ユニットコントローラとして、コンパクトフラッシュ用のコントローラを採用したが、SDメモリ用のコントローラや、マルチメディアカード用のコントローラを用いることも可能である。   In this embodiment, a compact flash controller is used as a unit controller for controlling a binary memory or a multi-level memory. In general, the compact flash is highly versatile and can control flash memories having various characteristics. Therefore, if a compact flash controller is provided for each memory unit as in this embodiment, even if a flash memory of a different manufacturer is adopted for each memory unit, the difference in characteristics can be absorbed to operate normally. Is possible. As a result, it is possible to easily configure a storage device in which a binary memory or a multilevel memory is mounted. In this embodiment, a compact flash controller is employed as the unit controller, but an SD memory controller or a multimedia card controller may be used.

本実施例では、メインコントローラ20が有する機能は、ハードウェア的に構成するものとした。これに対して、メインコントローラ20を、CPUとROMとRAMとを内蔵するマイクロコンピュータとして構成することにより、上述したアドレス変換やユニット管理の機能をソフトウェア的に実現するものとしてもよい。また、メインコントローラ20として、RAIDチップを採用し、このRAIDチップにスパニング動作をさせることで、各メモリユニットを制御してもよい。   In the present embodiment, the functions of the main controller 20 are configured in hardware. On the other hand, the main controller 20 may be configured as a microcomputer incorporating a CPU, a ROM, and a RAM, thereby realizing the above-described address conversion and unit management functions as software. Alternatively, a RAID chip may be adopted as the main controller 20, and each memory unit may be controlled by causing the RAID chip to perform a spanning operation.

また、本実施例では、メモリユニットを計4つ備えるものとしたが、その数に制限はない。最低限、二値メモリを備えるメモリユニットが1つと、多値メモリを備えるメモリユニットが1つあればよい。   In the present embodiment, a total of four memory units are provided, but the number is not limited. At least one memory unit including a binary memory and one memory unit including a multi-level memory may be used.

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

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

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

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

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

図7は、ユニット管理回路122の内部構成を模式的に示すブロック図である。図示するように、本実施例のユニット管理回路122は、レジスタ判別回路178と、切換制御回路194と、第1スイッチ回路196と、第2スイッチ回路198とを備えている。   FIG. 7 is a block diagram schematically showing the internal configuration of the unit management circuit 122. As shown in the figure, 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に接続される。レジスタ判別回路178は、第1実施例と同様に、バス変換回路21から入力したアドレス信号A0〜A2の状態に応じて、ATA規格に基づき、アクセス対象のレジスタの種類を判別する。そして、判別したレジスタの種類に応じて、バス変換回路21から受信したアクセス信号を、切換制御回路194に転送する。   The register determination circuit 178 is connected to the bus conversion circuit 21 shown in FIG. Similar to the first embodiment, the register determination circuit 178 determines the type of the register to be accessed based on the ATA standard according to the state of the address signals A0 to A2 input from the bus conversion circuit 21. Then, the access signal received from the bus conversion circuit 21 is transferred to the switching control circuit 194 according to the determined register type.

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

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

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

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

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

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

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

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

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

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

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

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

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

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

以上、本発明の種々の実施例について説明したが、本発明はこれらの実施例に限定されず、その趣旨を逸脱しない範囲で種々の構成を採ることができることはいうまでもない。例えば、上記実施例では、記憶装置とホスト装置とが接続されるインタフェースとしてUSBインタフェースを採用したが、インタフェースの種類はこれに限られない。IEEE1394インタフェースや、シリアルATAインタフェース、パラレルATAインタフェースなど種々のインタフェースを採用することが可能である。   As mentioned above, although the various Example of this invention was described, it cannot be overemphasized that this invention is not limited to these Examples, and can take a various structure in the range which does not deviate from the meaning. For example, in the above embodiment, the USB interface is used as an interface for connecting the storage device and the host device, but the type of interface is not limited to this. Various interfaces such as an IEEE 1394 interface, a serial ATA interface, and a parallel ATA interface can be employed.

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

符号の説明Explanation of symbols

10…記憶装置
20…メインコントローラ
21…バス変換回路
22…ユニット管理回路
30…第1ユニット
31…二値メモリ
32…第1ユニットコントローラ(SLCコントローラ)
40…第2ユニット
41,51,61…多値メモリ
42…第2ユニットコントローラ(MLCコントローラ)
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スイッチ回路
DESCRIPTION OF SYMBOLS 10 ... Memory | storage device 20 ... Main controller 21 ... Bus conversion circuit 22 ... Unit management circuit 30 ... 1st unit 31 ... Binary memory 32 ... 1st unit controller (SLC controller)
40 ... second unit 41, 51, 61 ... multi-value memory 42 ... second unit controller (MLC controller)
DESCRIPTION OF SYMBOLS 50 ... 3rd unit 60 ... 4th unit 70-74 ... Latch circuit 78 ... Register discrimination circuit 79 ... Status memory circuit 80 ... Host apparatus 90 ... Address decoder 91 ... Command decoder 92 ... Address conversion circuit 94 ... Unit selector 96 ... First DESCRIPTION OF SYMBOLS 1 switch circuit 98 ... 2nd switch circuit 110 ... Memory | storage device 122 ... Unit management circuit 178 ... Register discrimination circuit 179 ... Size register 190 ... Address decoder 191 ... Command decoder 192 ... Address comparison circuit 194 ... Switching control circuit 196 ... 1st switch Circuit 198 ... Second switch circuit

Claims (1)

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

Priority Applications (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
US12/120,108 US7979627B2 (en) 2007-05-14 2008-05-13 Storage device with binary and multivalued memory
CN 200810098116 CN101308698B (en) 2007-05-14 2008-05-13 Storage device
CN 201010154230 CN101853207B (en) 2007-05-14 2008-05-13 Storage device
TW97117576A TW200903493A (en) 2007-05-14 2008-05-13 Storage device
CN 201010154231 CN101853694B (en) 2007-05-14 2008-05-13 Storage device

Applications Claiming Priority (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

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) CN101853207B (en)
TW (1) TW200903493A (en)

Families Citing this family (22)

* 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 株式会社東芝 Semiconductor memory device
JP5447523B2 (en) 2009-08-12 2014-03-19 日本電気株式会社 Data processing apparatus, data recording method, and data recording program
JP5027198B2 (en) * 2009-10-08 2012-09-19 技嘉科技股▲ふん▼有限公司 Flash memory access device and access method
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 记忆科技(深圳)有限公司 The RAID4 system of solid state hard disc
CN103077121B (en) * 2013-01-07 2016-01-27 深圳市江波龙电子有限公司 The method of data management in a kind of flash memory device and device
CN103914410B (en) * 2013-01-08 2020-01-31 联想(北京)有限公司 Storage device, electronic apparatus, and data access method
CN103164344B (en) * 2013-03-12 2015-09-16 深圳市江波龙电子有限公司 The method of data management in a kind of flash memory device and device
CN103246615B (en) * 2013-04-24 2015-09-16 深圳市江波龙电子有限公司 The method of data management in a kind of flash memory device and device
CN106650901A (en) * 2016-12-31 2017-05-10 重庆工业职业技术学院 Rotary switching mobile memory equipped with two independent storage devices
CN108228478A (en) * 2018-01-05 2018-06-29 湖南国科微电子股份有限公司 A kind of raising method and device of SSD write performances
US10809942B2 (en) * 2018-03-21 2020-10-20 Micron Technology, Inc. Latency-based storage in a hybrid memory system
US10705963B2 (en) * 2018-03-21 2020-07-07 Micron Technology, Inc. Latency-based storage in a hybrid memory system
JP2019179455A (en) * 2018-03-30 2019-10-17 東芝メモリ株式会社 Storage device and computer system

Family Cites Families (15)

* 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
US7877539B2 (en) * 2005-02-16 2011-01-25 Sandisk Corporation Direct data file storage in flash memories
US20060184719A1 (en) * 2005-02-16 2006-08-17 Sinclair Alan W Direct data file storage implementation techniques in flash memories
US8055833B2 (en) * 2006-10-05 2011-11-08 Google Inc. System and method for increasing capacity, performance, and flexibility of flash storage
US7752382B2 (en) * 2005-09-09 2010-07-06 Sandisk Il Ltd Flash memory storage system and method
KR101162739B1 (en) * 2005-09-29 2012-07-05 트렉 2000 인터네셔널 엘티디. Portable data storage using SLC and MLC flash memory
US7406578B2 (en) * 2005-09-30 2008-07-29 Xiotech Corporation Method, apparatus and program storage device for providing virtual disk service (VDS) hints based storage

Also Published As

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

Similar Documents

Publication Publication Date Title
JP4781373B2 (en) Storage device
US7979627B2 (en) Storage device with binary and multivalued memory
US20160231941A1 (en) Solid state memory (ssm), computer system including an ssm, and method of operating an ssm
US10635358B2 (en) Memory management method and storage controller
CN106649144B (en) Data storage device and operation method thereof
US9304900B2 (en) Data reading method, memory controller, and memory storage device
TWI698749B (en) A data storage device and a data processing method
US8037236B2 (en) Flash memory writing method and storage system and controller using the same
US11675699B2 (en) Data storage device, operation method thereof, and storage system including the same
US11537305B1 (en) Dissimilar write prioritization in ZNS devices
US9235501B2 (en) Memory storage device, memory controller thereof, and method for programming data thereof
US20130304964A1 (en) Data processing method, and memory controller and memory storage device using the same
CN111796759B (en) Computer readable storage medium and method for fragment data reading on multiple planes
KR102544162B1 (en) Data storage device and operating method thereof
US20130332653A1 (en) Memory management method, and memory controller and memory storage device using the same
KR20170110810A (en) Data processing system and operating method thereof
CN114764396A (en) Data storage device and operation method thereof
US10824340B2 (en) Method for managing association relationship of physical units between storage area and temporary area, memory control circuit unit, and memory storage apparatus
KR102425470B1 (en) Data storage device and operating method thereof
CN110297596B (en) Memory device with wide operating temperature range
CN113495850A (en) Method and device for managing garbage collection program and computer readable storage medium
KR102729333B1 (en) Data storage device and Storage systmem using the same
US11537514B2 (en) Data storage device and operating method thereof
CN106326131B (en) Memory management method, memory control circuit unit and memory storage device
CN116149569A (en) File system-based data sorting method, storage device and control circuit

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 Request for written amendment filed

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 Request for written amendment filed

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 Request for written amendment filed

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

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

Free format text: PAYMENT UNTIL: 20140715

Year of fee payment: 3

R150 Certificate of patent or registration of utility model

Ref document number: 4781373

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

Free format text: JAPANESE INTERMEDIATE CODE: R150

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

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

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250