JP4781373B2 - Storage device - Google Patents
Storage device Download PDFInfo
- 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
Links
- 238000003860 storage Methods 0.000 title claims description 166
- 230000015654 memory Effects 0.000 claims description 263
- 238000006243 chemical reaction Methods 0.000 description 53
- 238000007726 management method Methods 0.000 description 45
- 230000006870 function Effects 0.000 description 11
- 238000010586 diagram Methods 0.000 description 9
- 238000000034 method Methods 0.000 description 9
- 238000013523 data management Methods 0.000 description 5
- 238000013500 data storage Methods 0.000 description 3
- 230000005540 biological transmission Effects 0.000 description 1
- 238000004364 calculation method Methods 0.000 description 1
- 238000004891 communication Methods 0.000 description 1
- 230000000052 comparative effect Effects 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 230000014759 maintenance of location Effects 0.000 description 1
- 238000004519 manufacturing process Methods 0.000 description 1
- 230000004044 response Effects 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C2211/00—Indexing scheme relating to digital stores characterized by the use of particular electric or magnetic storage elements; Storage elements therefor
- G11C2211/56—Indexing scheme relating to G11C11/56 and sub-groups for features not covered by these groups
- G11C2211/564—Miscellaneous aspects
- G11C2211/5641—Multilevel 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).
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
図示するように、記憶装置10は、メインコントローラ20を備えており、更に、このメインコントローラ20と接続され、それぞれがNANDフラッシュメモリを有する第1メモリユニット30と、第2メモリユニット40と、第3メモリユニット50と、第4メモリユニット60とを備えている。
As shown in the figure, the
第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
第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
メインコントローラ20は、USBインタフェースを介して接続されたホスト装置80からの指示に応じて、各メモリユニット30〜60に対するデータの読み書きを制御する集積回路である。メインコントローラ20は、内部回路として、バス変換回路21とユニット管理回路22とを備えている。
The
バス変換回路21は、ホスト装置80から受信したUSB規格に基づく信号を、ATA(Advanced Technology Attachment)規格に基づく信号に変換する機能を備える。ATAとは、コンピュータと記憶装置との標準的な通信インタフェースである。ATA規格に基づく信号としては、例えば、3つのアドレス信号A0〜A2や、16のデータ信号D00〜D15、リセット信号等の制御信号がある。
The
ユニット管理回路22は、各メモリユニット30〜60が備える二値メモリや多値メモリの記憶領域を論理的に結合して、単一の記憶領域として扱う機能を備える。ユニット管理回路22は、バス変換回路21によって変換されたATA信号のLBA(Logical Block Addressing)アドレスに基づきアドレス変換を行うことで各メモリユニット30〜60の論理的な結合を実現する。LBAとは、記憶領域のすべてのセクタに通し番号を割り当て、その通し番号によってアクセスを行うセクタを指定する方式のことをいう。LBAアドレスは、この通し番号によって表される。なお、「LBAアドレス」は、「LBAパラメータ」とも呼ばれる。
The
図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
図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
図3は、ユニット管理回路22の内部構成を模式的に示すブロック図である。ユニット管理回路22は、上述したアドレス変換の他に、ホスト装置80から発行されたATAコマンドやデータを各メモリユニット30〜60に転送する機能を有している。図3には、この転送機能を実現するための内部構成を示している。
FIG. 3 is a block diagram schematically showing the internal configuration of the
各メモリユニット30〜60が備えるユニットコントローラ32〜62は、それぞれ、ATA規格に準拠したコマンドブロックレジスタと呼ばれる8種類のレジスタを備えている。この8種類のレジスタは、それぞれ、(1)フィーチャレジスタ、(2)セクタカウントレジスタ、(3)デバイス/ヘッドレジスタ、(4)シリンダハイレジスタ、(5)シリンダローレジスタ、(6)セクタナンバレジスタ、(7)コマンドレジスタ、(8)データレジスタ、という。ユニットコントローラ32〜62は、これらのレジスタにセットされた種々のパラメータに従って、二値メモリや多値メモリに対するデータの読み書きを制御する。ホスト装置80は、データの読み書きを行う際に、これらのレジスタに対するアクセス信号を記憶装置10に送信する。
Each of the
ユニット管理回路22は、USBインタフェースおよびバス変換回路21を介して上述したアクセス信号をホスト装置80から受信すると、アクセス対象のレジスタの種類に応じて、各メモリユニット30〜60に対するアクセス信号の転送方法を可変させる。ユニット管理回路22は、アクセス対象のレジスタの種類を判別するために、レジスタ判別回路78を備えている。
When the
レジスタ判別回路78は、バス変換回路21から入力したアドレス信号A0〜A2の状態に応じて、ATA規格に基づいてアクセス対象のレジスタの種類を判別する。レジスタ判別回路78は、例えば、図示するように、アドレス信号A2が「0」、アドレス信号A1が「0」、アドレス信号A0が「1」であれば、フィーチャレジスタに対するアクセス信号を入力したと判別することができる。
The
ユニット管理回路22は、ホスト装置80から、フィーチャレジスタとセクタカウントレジスタに対するアクセス信号を受信した場合については、そのままスルーして、すべてのメモリユニット30〜60にこのアクセス信号を転送する。これらのレジスタは、結合領域UA内の位置を直接指定するためのものではないからである。具体的には、フィーチャレジスタは、ATAコマンドに応じて種々のパラメータを指定するために用いられるレジスタであり、セクタカウントレジスタは、複数のセクタを連続してアクセスする際に、そのセクタ数を指定するためのレジスタである。連続してアクセスする際の「先頭セクタ」の指定については、後述するデバイス/ヘッドレジスタ、シリンダハイレジスタ、シリンダローレジスタ、セクタナンバレジスタが用いられる。
When the
デバイス/ヘッドレジスタ、シリンダハイレジスタ、シリンダローレジスタ、セクタナンバレジスタは、結合領域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
ラッチ回路70〜73にラッチされたアクセス信号は、アドレスデコーダ90に入力される。アドレスデコーダ90は、各ラッチ回路70〜73に離散して記憶されたLBAアドレスを結合し、28ビット長のLBAアドレスを復元する機能を備える。また、アドレスデコーダ90は、復元したLBAアドレスと、各メモリユニットの最大セクタ数とを比較する機能を備える。この機能の詳細については後述する。
The access signal latched by the
コマンドレジスタは、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
コマンドデコーダ91は、コマンド信号を入力すると、入力したコマンドの種類を判別し、その判別結果を、アドレス変換回路92とユニットセレクタ94とに出力する。ラッチ回路74に入力されたコマンド信号は、ユニットセレクタ94からの出力指示があるまで、ラッチ回路74に保持される。
When a command signal is input, the
アドレス変換回路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
コマンドデコーダ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
ユニットセレクタ94は、アドレスデコーダ90から入力したLBAアドレスに基づいて、コマンドの転送先のメモリユニットを選択する回路である。具体的には、ユニットセレクタ94は、アドレスデコーダ90からLBAアドレスを入力し、更に、コマンドデコーダ91からコマンドの種別を入力する。そして、入力したコマンドの種類が、LBAアドレスを必要とするコマンドであるかを判断する。LBAアドレスを必要とするコマンドであれば、ユニットセレクタ94は、入力したLBAアドレスに基づいて、コマンドの転送先のメモリユニットを選択する処理を行う。かかる処理の詳細は後述する。ユニットセレクタ94は、転送先のメモリユニットの選択を行うと、第1スイッチ回路96を制御して、その転送先のメモリユニットとラッチ回路74とを接続する。すると、ラッチ回路74に保持されたコマンド信号が、選択されたメモリユニットに転送される。
The
ラッチ回路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
ユニットセレクタ94は、入力したLBAアドレスに基づいて第1スイッチ回路96を制御すると、これと同様に、第2スイッチ回路98も制御する。第2スイッチ回路98は、データレジスタに対するアクセス信号を切り換えるためのスイッチである。ユニットセレクタ94によって、第2スイッチ回路98が切り換えられると、LBAアドレスを必要とするコマンドが転送されたメモリユニットと同じメモリユニットに、データ信号も転送されることになる。
When the
第2スイッチ回路98とレジスタ判別回路78との間には、ステータス記憶回路79が接続されている。ステータス記憶回路79には、結合領域UA全体の容量(全セクタ数)や、記憶装置10の製造者情報を表すデバイスIDが記憶されている。通常、ホスト装置80からステータス情報の取得が要求された場合には、第2スイッチ回路98で選択されたメモリユニットから、ステータス情報が返信される。しかし、例えば、「アイデンティファイデバイス」コマンド等によって、記憶装置10が有する全セクタ数の問い合わせや、デバイスIDなどの問い合わせがあった場合には、当該ステータス記憶回路79から、ホスト装置80に対して、ステータス情報が返信される。このように、ステータス記憶回路79からステータス情報を返信可能な構成とすれば、各メモリユニットで対応不能な記憶装置10全体に関わるステータス情報をホスト装置80に対して正確に伝達することが可能になる。
A
図4は、アドレスデコーダ90とアドレス変換回路92とによって実現されるアドレス変換処理と、ユニットセレクタ94が実現するメモリユニットの選択処理の流れを示すフローチャートである。以下では、かかる処理を便宜的に「ユニット管理処理」という。
FIG. 4 is a flowchart showing the flow of address conversion processing realized by the
アドレス変換回路92は、コマンドデコーダ91から入力したコマンドの種類がLBAアドレスを必要とするコマンドであるかを判断する(ステップS10)。この結果、LBAアドレスが不要なコマンドであれば(ステップS10:No)、アドレス変換回路92は、アドレス変換を行うことなく、全てのユニットに対して、デバイスヘッドレジスタ等に入力したパラメータをそのまま転送する。一方、ユニットセレクタ94は、全てのメモリユニットを選択して(ステップS20)、処理を終了する。こうすることで、全てのメモリユニットに対して、同一のコマンドが転送される。なお、前述したように、ステップS10において、LBAアドレスが不要なコマンドを入力したと判断した場合であっても、アドレス変換回路92は、LBAアドレスが必要なコマンドと同様に、以下に示すようなアドレス変換を行うものとしてもよい。
The
上記ステップ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
上記ステップ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
上記ステップ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
上記ステップ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
上記ステップ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
ここで、書込速度の比較例を示す。周知のように、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
また、本実施例では、メモリユニットを計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
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
図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
本実施例では、第1メモリユニット30内の記憶領域は、「0」から「W」までのLBAアドレスで表されている。一方、第2メモリユニット40内の記憶領域は、「0」から「X」までのLBAアドレスで表されている。LBAアドレス「X」は、LBAアドレス「W」よりも大きい値である。
In this embodiment, the storage area in the
本実施例では、ホスト装置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
図7は、ユニット管理回路122の内部構成を模式的に示すブロック図である。図示するように、本実施例のユニット管理回路122は、レジスタ判別回路178と、切換制御回路194と、第1スイッチ回路196と、第2スイッチ回路198とを備えている。
FIG. 7 is a block diagram schematically showing the internal configuration of the
レジスタ判別回路178は、図5に示したバス変換回路21に接続される。レジスタ判別回路178は、第1実施例と同様に、バス変換回路21から入力したアドレス信号A0〜A2の状態に応じて、ATA規格に基づき、アクセス対象のレジスタの種類を判別する。そして、判別したレジスタの種類に応じて、バス変換回路21から受信したアクセス信号を、切換制御回路194に転送する。
The
切換制御回路194は、レジスタ判別回路178が判別したアクセス対象のレジスタの種類や、ホスト装置80から指定されたアドレス、データ、コマンドに基づいて、アクセス対象となるメモリユニットを、第1メモリユニット30と第2メモリユニット40との間で切り換える制御を行う。
The switching
第1スイッチ回路196は、切換制御回路194からの指示に基づいて、バス変換回路21と第1メモリユニット30間の接続を開閉する。
The
第2スイッチ回路198は、切換制御回路194からの指示に基づいて、バス変換回路21と第2メモリユニット40間の接続を開閉する。
The
図示するように切換制御回路194は、アドレスデコーダ190とアドレス比較回路192とサイズレジスタ179とコマンドデコーダ191とを備えている。
As shown in the figure, the switching
アドレスデコーダ190は、デバイス/ヘッドレジスタ、シリンダハイレジスタ、シリンダローレジスタ、セクタナンバレジスタに対するアクセス信号に基づいて、ホスト装置80が指定したLBAアドレスを解析する。また、コマンドデコーダ191は、ホスト装置80から指示されたコマンドの解析を行う。
The
サイズレジスタ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
アドレス比較回路192は、アドレスデコーダ190が解析したLBAアドレスと、サイズレジスタ179に記憶されている閾値とを比較し、図6に示したように、アクセス対象の候補となるメモリユニットを、第1メモリユニット30と第2メモリユニット40との間で選択する。
The
図8は、切換制御回路194によって行われる切り換え動作の詳細を示す説明図である。図中に、「切り換え」とあるのは、アドレス比較回路192によって選択されたメモリユニットに対してアクセスすることをいう。これに対して、「同時アクセス」とあるのは、アドレス比較回路192による選択とは無関係に、第1メモリユニット30と第2メモリユニット40との両者に対して同一のアクセスを行うことをいう。
FIG. 8 is an explanatory diagram showing details of the switching operation performed by the switching
また、図8に、「ライト時」とあるのは、ホスト装置80からライトコマンドが発行された状況を示している。ライトコマンドには、コマンドレジスタに対するコマンドのライト命令や、データレジスタに対するデータのライト命令、その他のレジスタに対するLBAアドレス等の各種パラメータのライト命令が含まれる。また、「リード時」とあるのは、ホスト装置80から、リードコマンドが発行された状況を示している。リードコマンドには、メモリユニットから種々のステータスやデータを読み込む命令が含まれる。
In FIG. 8, “when writing” indicates a situation in which a write command is issued from the
図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
なお、図8に「例外1」と示したのは、コマンドデコーダ191によってコマンドの解析を行った結果、ホスト装置80から転送されたコマンドが、アイドルコマンドやスタンバイコマンドなどの、メモリユニット全体の動作状態を切り換えるようなコマンドであった場合である。このようなコマンドが転送された場合には、切換制御回路194は、例外的に、第1メモリユニット30と第2メモリユニット40の両者に対して、かかるコマンドの転送を行う。
Note that “exception 1” in FIG. 8 indicates that the command transferred from the
また、図8に「例外2」と示したのは、アイデンティファイデバイスコマンド等によって、記憶装置110のデータ容量(全セクタ数)のリードがなされた場合である。このような場合においては、切換制御回路194は、例外的に、第2メモリユニット40に対してアクセスを行う。図6に示したように、本実施例では、記憶装置110のデータ容量は、第2メモリユニット40のデータ容量と一致しているためである。
8 indicates “exception 2” when the data capacity (total number of sectors) of the
以上、第2実施例としての記憶装置110の構成および動作について説明した、本実施例の記憶装置110によれば、第1実施例の記憶装置10と同様に、記憶領域の先頭の領域にSLC型のフラッシュメモリを割り当て、それ以外の領域に、MLC型のフラッシュメモリを割り当てることができる。そのため、書換可能回数が多く、動作が高速なSLC型のフラッシュメモリに対して、頻繁に書き換えられるFAT情報を記憶させることが可能になる。この結果、第1実施例と同様に、MLC型のフラッシュメモリを採用することで大容量化を実現しつつ、MLC型のフラッシュメモリだけで構成された記憶装置に比べて、データの書込速度とデータ記憶の信頼性を格段に向上させることが可能になる。
As described above, the configuration and operation of the
また、本実施例の記憶装置110によれば、ホスト装置80から指定されたアドレスをそのまま用いて、2種類のメモリユニットに対するデータの読み書きを行うことが可能になる。この結果、複雑なアドレス変換を行う回路が不要であるため、メインコントローラ20の回路規模を縮小することができる。この結果、製造コストの低減を図ることが可能になる。
Further, according to the
以上、本発明の種々の実施例について説明したが、本発明はこれらの実施例に限定されず、その趣旨を逸脱しない範囲で種々の構成を採ることができることはいうまでもない。例えば、上記実施例では、記憶装置とホスト装置とが接続されるインタフェースとして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.
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
40 ...
DESCRIPTION OF
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.
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)
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)
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 |
-
2008
- 2008-01-11 JP JP2008004691A patent/JP4781373B2/en active Active
- 2008-05-13 CN CN 201010154230 patent/CN101853207B/en active Active
- 2008-05-13 CN CN 201010154233 patent/CN101853214B/en active Active
- 2008-05-13 CN CN 200810098116 patent/CN101308698B/en active Active
- 2008-05-13 TW TW97117576A patent/TW200903493A/en unknown
- 2008-05-13 CN CN 201010154231 patent/CN101853694B/en active Active
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 |