(57)【要約】【課題】データを読み出す際にＥＣＣエラーを起こした場合でも、即座に正しいデータを読み出すことができる信頼性の高い記憶装置及びその制御方法を提供する。【解決手段】本発明の記憶装置においては、ミラー書き込みの指令が入力されると、異なる記憶媒体に同一のデータが書き込まれる。同時に記録装置の制御手段は、ミラー書き込みの管理情報（データＩＤ、ミラー書き込みフラグ、論理アドレス等）を生成する。データを読み出す際に１個の記録媒体が故障している場合は、他の記録媒体から正しいデータを読み出す。この時、故障した記録媒体のデータの代わりに、他の記録媒体から読み出した正しいデータを正常な領域に書き込み直す。【選択図】　　　　図１
2004139503.tif 000002
【特許請求の範囲】
【請求項１】
論理アドレスを付したデータを入力する入力部と、
不揮発性の記録媒体と、
前記論理アドレスを記録媒体の物理アドレスに変換する論理／物理アドレス変換テーブルを生成し、前記論理／物理アドレス変換テーブルによって指定された前記物理アドレスに入力データを記録する制御部と、
を有し、
前記制御部は、１つの前記論理／物理アドレス変換テーブルを生成し、前記入力データを重複なく前記物理アドレスに記録するシングル記録モードと、複数の前記論理／物理アドレス変換テーブルを生成し、前記入力データをそれぞれの前記論理／物理アドレス変換テーブルによって指定された前記物理アドレスに重複して記録するミラー記録モードと、を有することを特徴とする記憶装置。
【請求項２】
前記記録媒体は複数のチップの不揮発性メモリを有し、前記ミラー記録モードにおいては、複数の前記論理／物理アドレス変換テーブルは、それぞれ別個のチップの不揮発性メモリの物理アドレスを指定することを特徴とする請求項１に記載の記憶装置。
【請求項３】
前記制御部は、前記入力データがデータ識別情報及び複製防止データを含む所定の種類のデータの中のいずれかであれば、前記入力データに付された前記論理アドレスにそれぞれ異なる物理アドレスを対応づけた複数の前記論理／物理アドレス変換テーブルを生成し、前記入力データを自動的に前記ミラー記録モードで記録することを特徴とする請求項１に記載の記憶装置。
【請求項４】
前記制御部は、前記ミラー記録モードで記録されたデータを読み出した時、いずれか１つの読み出したデータがエラーであって他の１つの読み出したデータが正常であれば、自動的に、読み出したデータがエラーであった前記論理／物理アドレス変換テーブルを更新して新たな物理アドレスを指定し、正常に読み出したデータをその物理アドレスに記録することを特徴とする請求項１に記載の記憶装置。
【請求項５】
前記制御部は、ミラー書き込み領域の領域サイズの情報を有し、
前記入力部が前記領域サイズを超える情報量のデータを前記ミラー記録モードで記録する指令を入力した場合、前記制御部は、自動的に前記シングル記録モードで前記入力データを記録することを特徴とする請求項１に記載の記憶装置。
【請求項６】
前記入力部がデータ識別情報及び複製防止データを含む所定の種類のデータの中のいずれかであって、前記領域サイズを超える情報量のデータを入力した場合、前記制御部は、自動的に前記領域サイズを大きな値に変更して前記ミラー記録モードで前記入力データを記録することを特徴とする請求項５に記載の記憶装置。
【請求項７】
前記入力部が、前記ミラー書き込み領域を除く前記記録媒体の残記録容量を超える情報量のデータを記録する指令を入力した場合、前記制御部は、自動的に前記領域サイズを小さな値に変更して、前記入力データを記録することを特徴とする請求項５に記載の記憶装置。
【請求項８】
前記入力部が前記記録媒体の残記録容量を超える情報量のデータを記録する指令を入力した場合、前記制御部は、自動的に前記ミラー記録モードで重複して記録されたデータの一方の少なくとも一部を消去し、前記入力データを記録することを特徴とする請求項１に記載の記憶装置。
【請求項９】
前記入力部が、重複記録をしたとすれば残記録容量を超える情報量のデータを前記ミラー記録モードで記録する指令を入力した場合、前記制御部は、自動的に前記シングル記録モードで前記入力データを記録することを特徴とする請求項１に記載の記憶装置。
【請求項１０】
前記記憶装置がＩＣカードであることを特徴とする請求項１から請求項９のいずれかの請求項に記載の記憶装置。
【請求項１１】
不揮発性の記録媒体を有する記憶装置の制御方法であって、
論理アドレスを付したデータを入力する入力ステップと、
前記論理アドレスを前記記録媒体の物理アドレスに変換する１つの論理／物理アドレス変換テーブルを生成し、入力データを前記論理／物理アドレス変換テーブルによって指定された前記物理アドレスに重複なく記録するシングル記録ステップと、
前記論理アドレスを前記記録媒体の物理アドレスに変換する複数の論理／物理アドレス変換テーブルを生成し、前記入力データをそれぞれの前記論理／物理アドレス変換テーブルによって指定された前記物理アドレスに重複して記録するミラー記録ステップと、
を有することを特徴とする記憶装置の制御方法。
【請求項１２】
前記ミラー記録ステップにおいて、複数の前記論理／物理アドレス変換テーブルによって指定される前記物理アドレスに同時に前記入力データを書き込むことを特徴とする請求項１１に記載の記憶装置の制御方法。
【請求項１３】
前記入力データがデータ識別情報及び複製防止データを含む所定の種類のデータの中のいずれかであれば、自動的に前記ミラー記録ステップを実行することを特徴とする請求項１１に記載の記憶装置の制御方法。
【請求項１４】
前記ミラー記録ステップで記録されたデータを読み出した時、いずれか１つの読み出したデータがエラーであって他の１つの読み出したデータが正常であれば、自動的に、読み出したデータがエラーであった前記論理／物理アドレス変換テーブルを更新して新たな物理アドレスを指定し、正常に読み出したデータをその物理アドレスに記録するステップを有することを特徴とする請求項１１に記載の記憶装置の制御方法。
【請求項１５】
記憶装置はミラー書き込み領域の領域サイズの情報を有し、
前記領域サイズを超える情報量のデータを前記ミラー記録ステップで記録する指令を入力した場合、自動的に前記シングル記録ステップで前記入力データを記録することを特徴とする請求項１１に記載の記憶装置の制御方法。
【請求項１６】
データ識別情報及び複製防止データを含む所定の種類のデータの中のいずれかであって、前記領域サイズを超える情報量のデータを入力した場合、自動的に前記領域サイズを大きな値に変更して、ミラー記録ステップで前記入力データを記録することを特徴とする請求項１５に記載の記憶装置の制御方法。
【請求項１７】
前記ミラー書き込み領域を除く前記記録媒体の残記録容量を超える情報量のデータを記録する指令を入力した場合、前記制御部は、自動的に前記領域サイズを小さな値に変更して、前記入力データを記録することを特徴とする請求項１５に記載の記憶装置の制御方法。
【請求項１８】
前記記録媒体の残記録容量を超える情報量のデータを記録する指令を入力した場合、自動的に前記ミラー記録ステップで重複して記録されたデータの一方の少なくとも一部を消去し、前記入力データを記録するステップを有することを特徴とする請求項１１に記載の記憶装置の制御方法。
【請求項１９】
重複記録をしたとすれば残記録容量を超える情報量のデータを前記ミラー記録ステップで記録する指令を入力した場合、自動的に前記シングル記録ステップで前記入力データを記録することを特徴とする請求項１１に記載の記憶装置の制御方法。
【請求項２０】
前記記憶装置がＩＣカードであることを特徴とする請求項１１から請求項１９のいずれかの請求項に記載の記憶装置の制御方法。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は記憶装置及びその制御方法に関する。
【０００２】
【従来の技術】
近年、パーソナルコンピュータのみならずデジタルスチールカメラ、ＰＤＡ等の携帯情報機器の普及に伴い、小型の記憶装置が注目されている。
図１３を用いて従来の記憶装置及びその制御方法について説明する。
はじめに、従来の記憶装置の構成について説明する。
図１３は、従来の記憶装置の構成を示すブロック図である。図１３において、１０１はホスト、１３１１は記憶装置である。ホスト１０１はホスト入出力手段１０２及び制御手段１０３を有する。また、記憶装置１３１１はメモリ入出力手段１１２、制御手段１３１３、第１の記録媒体１１４、第２の記録媒体１３１５を有する。制御手段１３１３は論理／物理アドレス変換テーブル１３１６、メモリアクセス制御手段１１７を有する。
【０００３】
次に、従来の記憶装置のデータの流れについて説明する。
データを書き込む場合、まずホスト１０１の制御手段１０３は、ホスト入出力手段１０２を通じて記憶装置１３１１のメモリ入出力手段１１２に、指令を伝送する。メモリ入出力手段１１２は、制御手段１３１３に指令を伝送する。メモリアクセス制御手段１１７は、第１の記録媒体１１４、第２の記録媒体１３１５にデータを書き込む。書き込み後、メモリアクセス制御手段１１７は、書き込んだデータを読み出す。制御手段１３１３は、書き込んだデータが書き込もうとしたデータと同一かチェックし、同一でない場合は正しいデータの書き込みとチェックを繰り返す（例えば、特許文献１がある。）。制御手段１３１３は、論理／物理アドレス変換テーブル１３１６を生成する。
従来の記憶装置は、上記のように、書き込み時に正しくデータが書き込まれるまで繰り返し書き込み処理を行うことにより、データの信頼性を高めていた。
【０００４】
【特許文献１】
特開平６−３０１６０１号公報（第４頁−５頁、第１図）
【０００５】
【発明が解決しようとする課題】
しかし、従来の記憶装置において、書き込み時に正しくデータが書き込まれていても、データを読み出す際にＥＣＣエラーを起こした場合には、再度読み出し処理を行うため読み込み時間がかかってしまうという問題があった。さらに、再度読み出し処理を行ってもＥＣＣエラーが起こる場合はデータが無効となり、書き込んだ情報が読み出せなくなるという問題があった。
ホストが、映像信号、音声信号等の時間軸上で連続するデータを、記憶装置の書き込み速度に近いレートで入力し、記憶装置に記録する場合、記憶装置が書き込みに失敗したデータを再度書き込む時間的余裕はない。このような場合、一度の書き込み失敗が、直ちにユーザにとっての記録の失敗になるという問題があった。
【０００６】
本発明は、上記の問題を解決し、データを高い信頼性で書き込むことができる記憶装置及びその制御方法を提供することを目的とする。
本発明は、データを読み出す際にＥＣＣエラーを起こした場合にもすぐに正しいデータを読み出すころができる記憶装置及びその制御方法を提供することを目的とする。
本発明は、再書き込みができない程高いレートで時間的に連続して入力するデータを高い信頼性で書き込むことができる記憶装置及びその制御方法を提供することを目的とする。
【０００７】
【課題を解決するための手段】
上記課題を解決するため、本発明は下記の構成を有する。
請求項１に記載の発明は、論理アドレスを付したデータを入力する入力部と、不揮発性の記録媒体と、前記論理アドレスを記録媒体の物理アドレスに変換する論理／物理アドレス変換テーブルを生成し、前記論理／物理アドレス変換テーブルによって指定された前記物理アドレスに入力データを記録する制御部と、を有し、前記制御部は、１つの前記論理／物理アドレス変換テーブルを生成し、前記入力データを重複なく前記物理アドレスに記録するシングル記録モードと、複数の前記論理／物理アドレス変換テーブルを生成し、前記入力データをそれぞれの前記論理／物理アドレス変換テーブルによって指定された前記物理アドレスに重複して記録するミラー記録モードと、を有することを特徴とする記憶装置である。
複数の論理／物理アドレス変換テーブルは、複数の論理アドレスをそれぞれに対応付けられた複数の物理アドレスに変換する、同一のデータを記録するための変換テーブルであっても良く、１つの論理アドレスを複数の物理アドレスに変換する、同一のデータを記録するための変換テーブルであっても良い。
【０００８】
請求項２に記載の発明は、前記記録媒体は複数のチップの不揮発性メモリを有し、前記ミラー記録モードにおいては、複数の前記論理／物理アドレス変換テーブルは、それぞれ別個のチップの不揮発性メモリの物理アドレスを指定することを特徴とする請求項１に記載の記憶装置である。
半導体の記録媒体が故障した場合、半導体チップ全体が読み出し不能になる場合がある。本発明の記憶装置は、ミラー記録モードにおいて別個のチップにデータを記録する故に、１つの半導体チップ全体が読み出し不能になってもデータを読み出すことができる。
【０００９】
請求項３に記載の発明は、前記制御部は、前記入力データがデータ識別情報及び複製防止データを含む所定の種類のデータの中のいずれかであれば、前記入力データに付された前記論理アドレスにそれぞれ異なる物理アドレスを対応づけた複数の前記論理／物理アドレス変換テーブルを生成し、前記入力データを自動的に前記ミラー記録モードで記録することを特徴とする請求項１に記載の記憶装置である。
【００１０】
請求項４に記載の発明は、前記制御部は、前記ミラー記録モードで記録されたデータを読み出した時、いずれか１つの読み出したデータがエラーであって他の１つの読み出したデータが正常であれば、自動的に、読み出したデータがエラーであった前記論理／物理アドレス変換テーブルを更新して新たな物理アドレスを指定し、正常に読み出したデータをその物理アドレスに記録することを特徴とする請求項１に記載の記憶装置である。
【００１１】
請求項５に記載の発明は、前記制御部は、ミラー書き込み領域の領域サイズの情報を有し、前記入力部が前記領域サイズを超える情報量のデータを前記ミラー記録モードで記録する指令を入力した場合、前記制御部は、自動的に前記シングル記録モードで前記入力データを記録することを特徴とする請求項１に記載の記憶装置である。
【００１２】
請求項６に記載の発明は、前記入力部がデータ識別情報及び複製防止データを含む所定の種類のデータの中のいずれかであって、前記領域サイズを超える情報量のデータを入力した場合、前記制御部は、自動的に前記領域サイズを大きな値に変更して前記ミラー記録モードで前記入力データを記録することを特徴とする請求項５に記載の記憶装置である。
【００１３】
請求項７に記載の発明は、前記入力部が、前記ミラー書き込み領域を除く前記記録媒体の残記録容量を超える情報量のデータを記録する指令を入力した場合、前記制御部は、自動的に前記領域サイズを小さな値に変更して、前記入力データを記録することを特徴とする請求項５に記載の記憶装置である。
【００１４】
請求項８に記載の発明は、前記入力部が前記記録媒体の残記録容量を超える情報量のデータを記録する指令を入力した場合、前記制御部は、自動的に前記ミラー記録モードで重複して記録されたデータの一方の少なくとも一部を消去し、前記入力データを記録することを特徴とする請求項１に記載の記憶装置である。
【００１５】
請求項９に記載の発明は、前記入力部が、重複記録をしたとすれば残記録容量を超える情報量のデータを前記ミラー記録モードで記録する指令を入力した場合、前記制御部は、自動的に前記シングル記録モードで前記入力データを記録することを特徴とする請求項１に記載の記憶装置である。
【００１６】
請求項１０に記載の発明は、前記記憶装置がＩＣカードであることを特徴とする請求項１から請求項９のいずれかの請求項に記載の記憶装置である。
【００１７】
請求項１１に記載の発明は、不揮発性の記録媒体を有する記憶装置の制御方法であって、論理アドレスを付したデータを入力する入力ステップと、前記論理アドレスを前記記録媒体の物理アドレスに変換する１つの論理／物理アドレス変換テーブルを生成し、入力データを前記論理／物理アドレス変換テーブルによって指定された前記物理アドレスに重複なく記録するシングル記録ステップと、前記論理アドレスを前記記録媒体の物理アドレスに変換する複数の論理／物理アドレス変換テーブルを生成し、前記入力データをそれぞれの前記論理／物理アドレス変換テーブルによって指定された前記物理アドレスに重複して記録するミラー記録ステップと、を有することを特徴とする記憶装置の制御方法である。
【００１８】
請求項１２に記載の発明は、前記ミラー記録ステップにおいて、複数の前記論理／物理アドレス変換テーブルによって指定される前記物理アドレスに同時に前記入力データを書き込むことを特徴とする請求項１１に記載の記憶装置の制御方法である。
【００１９】
請求項１３に記載の発明は、前記入力データがデータ識別情報及び複製防止データを含む所定の種類のデータの中のいずれかであれば、自動的に前記ミラー記録ステップを実行することを特徴とする請求項１１に記載の記憶装置の制御方法である。
【００２０】
請求項１４に記載の発明は、前記ミラー記録ステップで記録されたデータを読み出した時、いずれか１つの読み出したデータがエラーであって他の１つの読み出したデータが正常であれば、自動的に、読み出したデータがエラーであった前記論理／物理アドレス変換テーブルを更新して新たな物理アドレスを指定し、正常に読み出したデータをその物理アドレスに記録するステップを有することを特徴とする請求項１１に記載の記憶装置の制御方法である。
【００２１】
請求項１５に記載の発明は、記憶装置はミラー書き込み領域の領域サイズの情報を有し、前記領域サイズを超える情報量のデータを前記ミラー記録ステップで記録する指令を入力した場合、自動的に前記シングル記録ステップで前記入力データを記録することを特徴とする請求項１１に記載の記憶装置の制御方法である。
【００２２】
請求項１６に記載の発明は、データ識別情報及び複製防止データを含む所定の種類のデータの中のいずれかであって、前記領域サイズを超える情報量のデータを入力した場合、自動的に前記領域サイズを大きな値に変更して、ミラー記録ステップで前記入力データを記録することを特徴とする請求項１５に記載の記憶装置の制御方法である。
【００２３】
請求項１７に記載の発明は、前記ミラー書き込み領域を除く前記記録媒体の残記録容量を超える情報量のデータを記録する指令を入力した場合、前記制御部は、自動的に前記領域サイズを小さな値に変更して、前記入力データを記録することを特徴とする請求項１５に記載の記憶装置の制御方法である。
【００２４】
請求項１８に記載の発明は、前記記録媒体の残記録容量を超える情報量のデータを記録する指令を入力した場合、自動的に前記ミラー記録ステップで重複して記録されたデータの一方の少なくとも一部を消去し、前記入力データを記録するステップを有することを特徴とする請求項１１に記載の記憶装置の制御方法である。
【００２５】
請求項１９に記載の発明は、重複記録をしたとすれば残記録容量を超える情報量のデータを前記ミラー記録ステップで記録する指令を入力した場合、自動的に前記シングル記録ステップで前記入力データを記録することを特徴とする請求項１１に記載の記憶装置の制御方法である。
【００２６】
請求項２０に記載の発明は、前記記憶装置がＩＣカードであることを特徴とする請求項１１から請求項１９のいずれかの請求項に記載の記憶装置の制御方法である。
本発明は、データを高い信頼性で書き込む記憶装置及びその制御方法を実現できるという作用を有する。
本発明は、データを読み出す際にＥＣＣエラーを起こした場合にも正しいデータを即座に読み出す記憶装置及びその制御方法を実現できるという作用を有する。
本発明は、再書き込みができない程高いレートで時間的に連続して入力するデータを高い信頼性で書き込む記憶装置及びその制御方法を実現できるという作用を有する。
【００２７】
【発明の実施の形態】
以下、本発明の実施をするための最良の形態を具体的に示した実施例について、図面とともに記載する。
【００２８】
《実施例１》
図１〜５を用いて、本発明の実施例１の記憶装置及びその制御方法について説明する。
はじめに実施例１の記憶装置の構成について説明する。
図１は、本発明の実施例１の記憶装置の構成を示すブロック図である。図１において、１０１はホスト、１１１は記憶装置である。ホスト１０１はホスト入出力手段１０２、制御手段１０３を有する。また、記憶装置１１１はメモリ入出力手段１１２、制御手段１１３、第１の記録媒体１１４、第２の記録媒体１１５を有する。制御手段１１３は論理／物理アドレス変換テーブル１１６、メモリアクセス制御手段１１７を有する。
【００２９】
実施例１では、ホスト１０１はコンピュータ、記憶装置１１１はＩＣカードである。実施例において、第１の記録媒体１１４及び第２の記録媒体１１５は不揮発性メモリ（例えばフラッシュメモリ）である。実施例１では、第２の記録媒体１１５の全部がミラー書き込み領域である。ホスト１０１は、例えばデジタルスチールカメラ、ＰＤＡ、ＩＣカードによる音声記録装置、携帯電話等の任意の装置であっても良い。
【００３０】
次に実施例１の記憶装置のデータの流れについて説明する。
制御手段１０３は、１つのデータ（１つの論理アドレスの記録容量と同一の情報量のデータ）を１つの論理アドレスに書き込むシングル記録モードと、１つのデータを複数（実施例においては２つ）の論理アドレスに重複して書き込むミラー記録モードとを有する。
データを書き込む場合、まずホスト１０１の制御手段１０３がデータを書き込む論理アドレス（シングル記録モードにおいては１つのデータ当たり１つの論理アドレス、ミラー記録モードにおいては１つのデータ当たり２つの論理アドレス）を決定する。制御手段１０３は、ホスト入出力手段１０２を通じて記憶装置１１１のメモリ入出力手段１１２に、書き込み指令及び転送データ（シングル記録モードにおいては１つの論理アドレス、ミラー記録モードにおいては２つの論理アドレスを含む。）を伝送する。
【００３１】
図２（ａ）は、本発明の実施例１の記憶装置のミラー記録モードでの転送データの構成図である。転送データはデータ部２０１、冗長部２０２を有する。冗長部２０２はデータＩＤ（データ識別子）２０３、第１の論理アドレス２０４、第２の論理アドレス２０５を有する。シングル記録モードにおいては、冗長部２０２はデータＩＤ２０３及び第１の論理アドレス２０４を有し、第２の論理アドレス２０５を有さない（第２の論理アドレス２０５が格納される領域の値は全て１である。）。
メモリ入出力手段１１２は、制御手段１１３に書き込み指令を伝送する。制御手段１１３は、管理情報を生成する。
図２（ｂ）は、本発明の実施例１の記憶装置がミラー記録モードにおいて生成する管理情報の構成図である。管理情報はデータＩＤ２０３、第１の論理アドレス２０４、第２の論理アドレス２０５、ミラー書き込みフラグ２０６（値は０）を有する。シングル記録モードにおいて生成される管理情報は、データＩＤ２０３、第１の論理アドレス２０４、ミラー書き込みフラグ２０６（値は１）を有し、第２の論理アドレス２０５を有さない（第２の論理アドレス２０５が格納される領域の値は全て１である。）。
【００３２】
記憶装置１１１の制御手段１１３は、転送データの冗長部２０２が第２の論理アドレス２０５を有するか否かに基づいて、シングル記録モードでの書き込み指令かミラー記録モードでの書き込み指令かを判断する。値が全て１である第２の論理アドレス（例えばＦＦＦＦＦＦＦＦＨ（１６進数表示））は存在しない故に、記憶装置１１１は、冗長部２０２が第２の論理アドレス２０５を有するか否かを判断できる。
【００３３】
実施例１の方式に代えて、ホスト１０１が記憶装置１１１に伝送する書き込み指令のコードが、シングル記録モードとミラー記録モードとで異なっていても良い。又は、ホスト１０１が記憶装置１１１に伝送する転送データの冗長部２０２がミラー書き込みフラグ（例えばシングル記録モードでの値は１、ミラー記録モードでの値は０）を有していても良い。
【００３４】
ミラー記録モードにおいてメモリアクセス制御手段１１７は、第１の記録媒体１１４、第２の記録媒体１１５にデータを書き込む。制御手段１１３は、論理／物理アドレス変換テーブル１１６を生成する。
図２（ｃ）は、本発明の実施例１の記憶装置の論理／物理アドレス変換テーブルの構成図である。論理／物理アドレス変換テーブル１１６は、第１の論理／物理アドレス変換テーブル２１１及び第２の論理／物理アドレス変換テーブル２１２を有する。第１の論理／物理アドレス変換テーブル２１１の論理アドレスは、第１の論理アドレス２０４である。また、第２の論理／物理アドレス変換テーブル２１２の論理アドレスは、第２の論理アドレス２０５である。
実施例１において制御手段１１３は、第１の論理／物理アドレス変換テーブル２１１の物理アドレスとして第１の記録媒体１１４の物理アドレスを指定し、第２の論理／物理アドレス変換テーブル２１２の物理アドレスとして第２の記録媒体１１５の物理アドレスを指定する。第１の記録媒体１１４と第２の記録媒体１１５とは、別個の半導体チップで構成されている。
【００３５】
シングル記録モードにおいてメモリアクセス制御手段１１７は、第１の記録媒体１１４にデータを書き込む。制御手段１１３は、論理／物理アドレス変換テーブル１１６を生成する。論理／物理アドレス変換テーブル１１６は、第１の論理／物理アドレス変換テーブル２１１のみを有する。制御手段１１３は、第１の論理／物理アドレス変換テーブル２１１の物理アドレスとして第１の記録媒体１１４の物理アドレスを指定する。
【００３６】
データを読み出す場合、まずホスト１０１の制御手段１０３は、ホスト入出力手段１０２を通じて記憶装置１１１のメモリ入出力手段１１２に、読み出し指令及び転送データ（冗長部２０２に相当するデータであり、ミラー記録モードで書き込まれたデータについては２つの論理アドレス、シングル記録モードで書き込まれたデータについては１つの論理アドレスを含む。）を伝送する。
【００３７】
メモリ入出力手段１１２は、制御手段１１３に読み出し指令を伝送する。制御手段１１３は、指令に含まれる論理アドレスに基づき、論理／物理アドレス変換テーブル１１６から物理アドレスを検索する。メモリアクセス制御手段１１７は、検索された物理アドレスに基づき、ミラー記録モードで書き込まれたデータについては第１の記録媒体１１４及び第２の記録媒体１１５から重複するデータを読み出し、シングル記録モードで書き込まれたデータについては第１の記録媒体１１４からデータを読み出す。制御手段１１３は、メモリ入出力手段１１２を経由してホストに読み出したデータを伝送する。
【００３８】
次に実施例１の記憶装置の制御方法について説明する。
図３は、本発明の実施例１の記憶装置の書き込み時の制御方法のフローチャートである。図３において、ステップ３０１で、ホスト１０１から記憶装置１１１のメモリ入出力手段１１２に、データ書き込み指令が入力される。ステップ３０２で、制御手段１１３は、入力された指令がミラー書き込みの指令か否かを判断する。
ステップ３０２で入力された指令がミラー書き込みの指令の場合は、ステップ３０３に進み、制御手段１１３は、ＡＣＫをホスト１０１に送信する。ステップ３０４で、メモリアクセス制御手段１１７は、第１の記録媒体１１４及び第２の記録媒体１１５のそれぞれに、同一のデータを同時に書き込む。実施例においては、メモリアクセス制御手段１１７が有する３２ビットの書き込みレジスタに、伝送された１６ビットデータを２組書き込む。次に、その書き込みレジスタから１６ビットのデータをそれぞれ第１の記録媒体１１４の物理アドレス及び第２の記録媒体１１５の物理アドレスに同時に書き込む。
【００３９】
ステップ３０５で、制御手段１１３は、第１の記録媒体１１４に書き込んだデータ及び第２の記録媒体１１５に書き込んだミラーデータそれぞれの論理／物理アドレス変換テーブル（計２個）１１６を生成し、このフローチャートを終了する。
ステップ３０２で入力された指令がミラー書き込みの指令でないの場合（シングル書き込みの指令の場合）は、ステップ３０６に進み、制御手段１１３は、ＡＣＫをホスト１０１に送信する。ステップ３０７で、メモリアクセス制御手段１１７は、第１の記録媒体１１４に、重複することなくデータを書き込む。ステップ３０８で、制御手段１１３は、第１の記録媒体１１４に書き込んだデータの論理／物理アドレス変換テーブル（計１個）１１６を生成し、このフローチャートを終了する。
【００４０】
図４は、本発明の実施例１の記憶装置の読み出し時の制御方法のフローチャートである。図４において、ステップ４０１で、ホスト１０１から記憶装置１１１のメモリ入出力手段１１２に、データ読み出し指令が入力される。ステップ４０２で、制御手段１１３は、入力されたデータがミラーデータを有するデータ（データ書き込み時にミラー書き込みされたデータ）か否かを判断する。実施例においては、データ読み出し指令に添付されたデータ（実施例においては、図２（ａ）に示す転送データの冗長部２０２と同一の構成を有する。）の第１の論理アドレス２０４、第２の論理アドレス２０５の両方に、論理アドレスが設定されているか否かを判断する。
【００４１】
実施例に代えて、ホストから伝送するデータ読み出し指令に、読み出すデータのデータＩＤ２０３及び１つの論理アドレス（２０４又は２０５）を添付しても良い。記憶装置１１１の制御手段１１３は、そのデータＩＤ２０３の図２（ｂ）に示す管理情報のミラー書き込みフラグ２０６により、シングル記録されたデータかミラー記録されたデータかを判断する。２つの論理／物理アドレス変換テーブル２１１は相互に対応付けられている故に、制御手段１１３は、入力した１つの論理アドレス２０４から同一のデータを書き込んだ他の論理アドレス２０５を求めることができる。
【００４２】
ステップ４０２でミラーデータを有しないデータ（データ書き込み時にシングル書き込みされたデータ）の場合は、ステップ４０３に進み、論理／物理アドレス変換テーブル１１６から物理アドレスを検索する。ステップ４０４で、メモリアクセス制御手段１１７は、検索した物理アドレスに基づいてデータを読み出す。ステップ４０５で、読み出したデータがエラーか否かを判断する。
ステップ４０５でデータがエラーでない場合（データが正常の場合）は、ステップ４０６に進み、制御手段１１３は、読み出したデータをホストに送信し、このフローチャートを終了する。
ステップ４０５でデータがエラーの場合は、ステップ４０７に進み、制御手段１１３は、エラー情報をホストに送信し、このフローチャートを終了する。
【００４３】
ステップ４０２でミラーデータを有するデータ（データ書き込み時にミラー書き込みされたデータ）の場合は、ステップ４０８に進む。ステップ４０８で、論理／物理アドレス変換テーブル１１６からデータ及びミラーデータの物理アドレスを検索する。論理／物理アドレス変換テーブル１１６は、図２（ｃ）に示す第１の論理／物理アドレス変換テーブル２１１、第２の論理／物理アドレス変換テーブル２１２を有する。データの物理アドレス（第１の記録媒体１１４の物理アドレス）は、第１の論理アドレス２０４に基づき、第１の論理／物理アドレス変換テーブル２１１から検索される。ミラーデータの物理アドレス（第２の記録媒体１１５の物理アドレス）は、第２の論理アドレス２０５に基づき、第２の論理／物理アドレス変換テーブル２１２から検索される。
ステップ４０９で、メモリアクセス制御手段１１７は、検索したそれぞれの物理アドレスに基づいて、第１の記録媒体１１４からはデータを、第２の記録媒体１１５からはミラーデータを読み出す。ステップ４１０で、第１の記録媒体１１４から読み出したデータがエラーか否かを判断する。
【００４４】
ステップ４１０でデータがエラーでない場合（データが正常の場合）は、ステップ４１１に進み、制御手段１１３は、第１の記録媒体１１４から読み出したデータをホストに送信し、このフローチャートを終了する。
ステップ４１０でデータがエラーの場合は、ステップ４１２に進み、今度は第２の記録媒体１１５から読み出したミラーデータがエラーか否かを判断する。
ステップ４１２でミラーデータがエラーでない場合（ミラーデータが正常の場合）は、ステップ４１３に進み、制御手段１１３は、第２の記録媒体１１５から読み出したミラーデータをホストに送信する。ステップ４１４で、メモリアクセス制御手段１１７は、第１の記録媒体１１４の空き領域に、第２の記録媒体１１５から読み出したミラーデータを書き込む。ステップ４１５で、制御手段１１３は、論理／物理アドレス変換テーブル１１６の第１の論理／物理アドレス変換テーブル２１２を、新たなデータが書き込まれた物理アドレスを指定するように更新し、このフローチャートを終了する。
ステップ４１２でミラーデータがエラーの場合は、ステップ４１６に進み、制御手段１１３は、エラー情報をホストに送信し、このフローチャートを終了する。
【００４５】
ステップ４１０でデータがエラーでない場合（データが正常の場合）、ミラーデータを読み出しても良い。ミラーデータがエラーであれば、正常に読み出したデータを第２の記録媒体１１５の空き領域に新たなミラーデータとして書き込む。新たなミラーデータが書き込まれた物理アドレスを指定するように第２の論理／物理アドレス変換テーブル２１３を更新しても良い。
【００４６】
図５は、本発明の実施例１の記憶装置のシングル書き込みデータをミラー書き込みデータに変更する時の制御方法のフローチャートである。図５において、ステップ５０１で、ホスト１０１から記憶装置１１１のメモリ入出力手段１１２に、書き込みモード変更（シングル書き込みデータからミラー書き込みデータへの変更）指令（ミラーデータ用の第２の論理アドレス２０５を含む。）が入力される。ステップ５０２で、制御手段１１３は、入力されたデータがミラーデータを有するデータ（データ書き込み時にミラー書き込みされたデータ）か否かを判断する。
【００４７】
ステップ５０２でミラーデータを有しないデータ（データ書き込み時にシングル書き込みされたデータ）の場合は、ステップ５０３に進み、制御手段１１３は、ＡＣＫをホストに送信する。ステップ５０４で、論理／物理アドレス変換テーブル１１６から第１の記録媒体１１４の物理アドレスを検索する。ステップ５０５で、メモリアクセス制御手段１１７は、検索した物理アドレスに基づいて、第１の記録媒体１１４からデータを読み出す。ステップ５０６で、メモリアクセス制御手段１１７は、第２の記録媒体１１５の空き領域に、第１の記録媒体１１４から読み出したデータを書き込む。ステップ５０７で、制御手段１１３は、論理／物理アドレス変換テーブル１１６の第２の論理／物理アドレス変換テーブル２１１を生成し、このフローチャートを終了する。
ステップ５０２でミラーデータを有するデータ（データ書き込み時にミラー書き込みされたデータ）の場合は、ステップ５０８に進み、制御手段１１３は、エラー情報をホストに送信し、このフローチャートを終了する。
【００４８】
本実施例の記憶装置においては、ミラー書き込みの指令がホストから送られてくると、それぞれ異なる記録媒体に同一のデータを記録する。１個のフラッシュメモリが故障しても、他のフラッシュメモリからデータを読み出すことができる記憶装置及びその制御方法を実現した。
本実施例の記憶装置においては、１個のフラッシュメモリが故障し、他のフラッシュメモリからデータを読み出した場合に、正常な領域にデータを書き込み直す。データが２個ともエラーになる可能性が少なくなり、さらに信頼性の高い記憶装置及びその制御方法を実現した。
【００４９】
上記の実施例においては、データとそのミラーデータには、それぞれ異なる論理アドレスが割り当てられた。他の実施例においては、ホストの制御装置は、書き込みデータ及びそのミラーデータに１つの論理アドレスを割り当てる。ホストからの書き込み指令に添付された転送データの冗長部２０２は、データＩＤ２０３、第１の論理アドレス、及びミラー書き込みフラグ（ミラー書き込みモードでは値０、シングル書き込みモードでは値１）を有する。ミラー書き込みフラグが０であれば、記憶装置の制御手段１１３はミラー書き込みモードによる書き込み指令であると判断し、１つの論理アドレスにそれぞれ異なる物理アドレスを対応させて、第１の論理／物理アドレス変換テーブル２１１及び第２の論理／物理アドレス変換テーブル２１２を生成する。
ミラー書き込みフラグが１であれば、記憶装置の制御手段１１３はシングル書き込みモードによる書き込み指令であると判断し、第１の論理／物理アドレス変換テーブル２１１のみを生成する。
【００５０】
《実施例２》
図６〜８を用いて、本発明の実施例２の記憶装置及びその制御方法について説明する。実施例１では、シングル書き込みするかミラー書き込みするかをホストが判断していた。本実施例では、データを受信した記憶装置がシングル書き込みするかミラー書き込みするかを判断する。又、実施例１と異なり、第２の記録媒体の一部がミラー書き込み領域である。それ以外の領域は第１の記録媒体と同様の方法で使用できる領域である。
【００５１】
はじめに実施例２の記憶装置の構成について説明する。
図６は、本発明の実施例２の記憶装置の構成を示すブロック図である。図６において、１０１はホスト、６１１は記憶装置である。ホスト１０１はホスト入出力手段１０２及び制御手段１０３を有する。また、記憶装置６１１はメモリ入出力手段１１２、制御手段６１３、第１の記録媒体１１４、第２の記録媒体６１５を有する。制御手段６１３は論理／物理アドレス変換テーブル６１６、メモリアクセス制御手段１１７を有する。実施例１（図１）と同様の構成要素には同様の符号を付している。
実施例２では、ホスト１０１はコンピュータ、記憶装置６１１はＩＣカードである。実施例２では、第２の記録媒体６１５の一部がミラー書き込み領域である。ホスト１０１は、例えばデジタルスチールカメラ、ＰＤＡ、ＩＣカードによる音声記録装置、携帯電話等の任意の装置であっても良い。
【００５２】
次に実施例２の記憶装置のデータの流れについて説明する。
データを書き込む場合、まずホスト１０１の制御手段１０３は、ホスト入出力手段１０２を通じて記憶装置６１１のメモリ入出力手段１１２に、書き込み指令及び転送データ（１つの論理アドレスを含む。）を伝送する。
図７（ａ）は、本発明の実施例２の記憶装置の転送データの構成図である。転送データはデータ部２０１、冗長部７０２を有する。冗長部７０２はデータＩＤ（データ識別子）７０３及び論理アドレス７０４を有する。
【００５３】
メモリ入出力手段１１２は、制御手段６１３に書き込み指令を伝送する。制御手段６１３は、シングル書き込みするデータかミラー書き込みするデータかを判断し、管理情報を生成する。制御手段６１３は、伝送されたデータがデータ識別情報及び複製防止データを含む所定の種類のデータ（典型的には重要なデータ）の中のいずれかであれば、データをミラー記録モードで記録することに決定し、所定の種類のデータでなければ、データをシングル記録モードで記録することに決定する。
図７（ｂ）は、本発明の実施例２の記憶装置の管理情報の構成図である。管理情報はデータＩＤ７０３、論理アドレス７０４、ミラー書き込みフラグ７０６（ミラー記録モード時での値は０、シングル記録モードでの値は１である）を有する。
【００５４】
メモリアクセス制御手段１１７は、第１の記録媒体１１４、第２の記録媒体６１５にデータを書き込む。制御手段６１３は、論理／物理アドレス変換テーブル６１６を生成する。
図７（ｃ）は、本発明の実施例２の記憶装置のミラー記録モードにおける論理／物理アドレス変換テーブルの構成図である。論理／物理アドレス変換テーブル６１６は、第１の論理／物理アドレス変換テーブル７１１及び第２の論理／物理アドレス変換テーブル７１２を有する。第１の論理／物理アドレス変換テーブル７１１の論理アドレス及び第２の論理／物理アドレス変換テーブル７１２の論理アドレスは、論理アドレス７０４（同一の論理アドレス）である。シングル記録モードにおいては、論理／物理アドレス変換テーブル６１６は、第１の論理／物理アドレス変換テーブル７１１のみを有する。
【００５５】
データを読み出す場合、まずホスト１０１の制御手段１０３は、ホスト入出力手段１０２を通じて記憶装置６１１のメモリ入出力手段１１２に、読み出し指令及び転送データ（冗長部７０２に相当するデータであり、１つの論理アドレスを含む。）を伝送する。メモリ入出力手段１１２は、制御手段６１３に読み出し指令を伝送する。制御手段６１３は、指令に含まれる論理アドレスに基づき、論理／物理アドレス変換テーブル６１６から物理アドレスを検索する。メモリアクセス制御手段１１７は、検索された物理アドレスに基づき、ミラー記録モードで書き込まれたデータについては第１の記録媒体１１４及び第２の記録媒体１１５から重複するデータを読み出し、シングル記録モードで書き込まれたデータについては第１の記録媒体１１４からデータを読み出す。制御手段６１３は、メモリ入出力手段１１２を経由してホストに読み出したデータを伝送する。
【００５６】
次に実施例２の記憶装置の制御方法について説明する。
図８は、本発明の実施例２の記憶装置の書き込み時の制御方法のフローチャートである。１個の記録媒体は一度に１／２ワード長（１６ビット）のデータ書き込むことができ、メモリアクセス制御手段１１７は２つの記録媒体１１４及び１１５に同時にデータを書き込む１ワード長（３２ビット）の書き込みレジスタを有するものとする。図８において、ステップ８０１で、ホスト１０１から記憶装置６１１のメモリ入出力手段１１２に、データ書き込み指令が入力される。ステップ８０２で、制御手段６１３は、入力されたデータがミラー書き込みすべきデータ（データ識別情報及び複製防止データを含む所定の種類の重要なデータ）か否かを判断する。
ステップ８０２で入力されたデータがミラー書き込みすべきデータの場合は、ステップ８０３に進み、制御手段６１３は、ＡＣＫをホスト１０１に送信する。ステップ８０４で、メモリアクセス制御手段１１７は、第１の記録媒体１１４及び第２の記録媒体６１５のそれぞれに、同一のデータ（各１６ビット）を同時に書き込む。ステップ８０５で、制御手段６１３は、第１の記録媒体１１４に書き込んだデータ及び第２の記録媒体６１５に書き込んだミラーデータそれぞれの論理／物理アドレス変換テーブル（計２個）６１６を生成し、このフローチャートを終了する。
【００５７】
ステップ８０２で入力されたデータがミラー書き込みすべきデータでない場合（シングル書き込みのデータの場合）は、ステップ８０６に進み、制御手段６１３は書き込むデータが１／２ワード長以下のデータか否かを判断する。
ステップ８０６で書き込むデータが１／２ワード長より大きい場合（実施例においては３２ビット）は、ステップ８０７に進み、制御手段６１３は、ＡＣＫをホスト１０１に送信する。ステップ８０８で、メモリアクセス制御手段１１７は、第１の記録媒体１１４及び第２の記録媒体６１５に、分割したデータ（各１６ビット）を同時に書き込む。ステップ８０９で、制御手段６１３は、第１の記録媒体１１４及び第２の記録媒体６１５に書き込んだデータの論理／物理アドレス変換テーブル（計１個）６１６を生成し、このフローチャートを終了する。
【００５８】
ステップ８０６で書き込むデータが１／２ワード長（１６ビット）以下の場合は、ステップ８１０に進み、制御手段６１３は、ＡＣＫをホスト１０１に送信する。ステップ８１１で、メモリアクセス制御手段１１７は、第１の記録媒体１１４及び第２の記録媒体６１５のいずれか１個に、データを書き込む。ステップ８０９で、制御手段６１３は、第１の記録媒体１１４または第２の記録媒体６１５に書き込んだデータの論理／物理アドレス変換テーブル（計１個）６１６を生成し、このフローチャートを終了する。
【００５９】
実施例２の記憶装置の読み出し時の制御方法は、実施例１と同様である（図４）。但し、ホスト１０１から記憶装置１１１に伝送される論理アドレスは、１つのデータ当たり必ず１つである。
本実施例においては、それぞれのフラッシュメモリへの書き込みレジスタを別個に設けることにより、同時に複数のフラッシュメモリに書き込むことができ、高速なアクセスを行うことができる記憶装置及びその制御方法を実現した。
本実施例においては、ホストは書き込みモードを意識せず、記憶装置が重要なデータであると判断すると、それぞれ異なる記録媒体に同一のデータを記録する。１個のフラッシュメモリが故障しても、他のフラッシュメモリからデータを読み出すことができる記憶装置及びその制御方法を実現した。
【００６０】
《実施例３》
図２、９、１０を用いて、本発明の実施例３の記憶装置及びその制御方法について説明する。実施例１と同様に、シングル書き込みするかミラー書き込みするかをホストが判断する。実施例１と異なる点は、第２の記録媒体の一部がミラー書き込み領域であり、それ以外の領域は第１の記録媒体と同様の方法で使用できる領域である点である。設定されたミラー書き込み領域を越えるデータのミラー書き込み指令が入力されると、記憶装置はホストに通知しデータをシングル書き込みする点においても実施例１と異なる。
【００６１】
はじめに実施例３の記憶装置の構成について説明する。
図９は、本発明の実施例３の記憶装置の構成を示すブロック図である。図９において、１０１はホスト、９１１は記憶装置である。ホスト１０１はホスト入出力手段１０２及び制御手段１０３を有する。また、記憶装置９１１はメモリ入出力手段１１２、制御手段１１３、第１の記録媒体１１４、第２の記録媒体９１５を有する。制御手段１１３は論理／物理アドレス変換テーブル１１６、メモリアクセス制御手段１１７を有する。実施例１（図１）と同様の構成要素には同様の符号を付している。
実施例３では、ホスト１０１はコンピュータ、記憶装置９１１はＩＣカードである。実施例３では、第２の記録媒体９１５の一部がミラー書き込み領域である。ホスト１０１は、例えばデジタルスチールカメラ、ＰＤＡ、ＩＣカードによる音声記録装置、携帯電話等の任意の装置であっても良い。
【００６２】
次に実施例３の記憶装置のデータの流れについて説明する。
データを書き込む場合、まずホスト１０１の制御手段１０３は、ホスト入出力手段１０２を通じて記憶装置９１１のメモリ入出力手段１１２に、書き込み指令及び転送データ（ミラー書き込みの時は、２つの論理アドレスを含む。）を伝送する。
図２（ａ）は、本発明の実施例３の記憶装置の転送データの構成図である。実施例１（図２（ａ））と同様であるため説明を省略する。
メモリ入出力手段１１２は、制御手段１１３に指令を伝送する。制御手段１１３は、管理情報を生成する。
図２（ｂ）は、本発明の実施例１の記憶装置の管理情報の構成図である。実施例１（図２（ｂ））と同様であるため説明を省略する。
【００６３】
メモリアクセス制御手段１１７は、第１の記録媒体１１４、第２の記録媒体９１５にデータを書き込む。制御手段１１３は、論理／物理アドレス変換テーブル１１６を生成する。
図２（ｃ）は、本発明の実施例１の記憶装置の論理／物理アドレス変換テーブルの構成図である。実施例１（図２（ｃ））と同様であるため説明を省略する。
【００６４】
データを読み出す場合、まずホスト１０１の制御手段１０３は、ホスト入出力手段１０２を通じて記憶装置１１１のメモリ入出力手段１１２に、読み出し指令及び転送データ（冗長部２０２に相当するデータであり、ミラーデータの時は、２つの論理アドレスを含む。）を伝送する。メモリ入出力手段１１２は、制御手段１１３に指令を伝送する。制御手段１１３は、指令に含まれる論理アドレスに基づき、論理／物理アドレス変換テーブル１１６から物理アドレスを検索する。メモリアクセス制御手段１１７は、検索された物理アドレスに基づき、第１の記録媒体１１４、第２の記録媒体９１５からデータを読み出す。制御手段１１３は、メモリ入出力手段１１２を経由してホストに読み出したデータを伝送する。
【００６５】
次に実施例３の記憶装置の制御方法について説明する。
図１０は、本発明の実施例３の記憶装置の書き込み時の制御方法のフローチャートである。図１０において、ステップ１００１で、制御手段１１３は、第２の記録媒体９１５のミラー書き込み領域のサイズを設定する。ステップ１００２で、ホスト１０１から記憶装置９１１のメモリ入出力手段１１２に、データ書き込み指令が入力される。ステップ１００３で、制御手段１１３は、入力された指令がミラー書き込みの指令か否かを判断する。
ステップ１００３で入力された指令がミラー書き込みの指令の場合は、ステップ１００４に進む。ステップ１００４で、制御手段１１３は、書き込みデータの情報量がミラー書き込み領域の残記録容量以下か否かを判断する。
【００６６】
ステップ１００４で書き込みデータの情報量がミラー書き込み領域の残記録容量以下の場合は、ステップ１００５に進み、制御手段１１３は、ＡＣＫをホスト１０１に送信する。ステップ１００６で、メモリアクセス制御手段１１７は、第１の記録媒体１１４及び第２の記録媒体９１５に、データをミラー書き込みする。ステップ１００７で、制御手段１１３は、２個の論理／物理アドレス変換テーブル１１６を生成し、このフローチャートを終了する。
ステップ１００４で書き込みデータの情報量がミラー書き込み領域の残記録容量より大きいの場合は、ステップ１００８に進む。ステップ１００８で、制御手段１１３は、シングル書き込みすることをホスト１０１に通知する。ステップ１００９で、メモリアクセス制御手段１１７は、第１の記録媒体１１４、第２の記録媒体９１５に、データをシングル書き込みする。ステップ１０１０で、制御手段１１３は、１個の論理／物理アドレス変換テーブル１１６を生成し、このフローチャートを終了する。
【００６７】
ステップ１００３で入力された指令がミラー書き込みの指令でないの場合（シングル書き込みの指令の場合）は、ステップ１０１１に進み、制御手段１１３は、ＡＣＫをホスト１０１に送信する。ステップ１００９で、メモリアクセス制御手段１１７は、第１の記録媒体１１４、第２の記録媒体９１５に、データをシングル書き込みする。ステップ１０１０で、制御手段１１３は、１個の論理／物理アドレス変換テーブル１１６を生成し、このフローチャートを終了する。
【００６８】
本実施例の記憶装置においては、ミラー書き込み領域の残記録容量よりも大きなデータをミラー書き込みする指令がホストから送られてくると、そのデータをシングル書き込みする。どれだけ多くのデータをミラー書き込みしたかによって記録媒体の実質的な記録容量が変化する。多くのデータをミラー書き込みしたため、思いの他早く記録媒体の残記録容量がなくなることを防止することができる記憶装置及びその制御方法を実現した。
上記の実施例の記憶装置は、記録媒体のミラー書き込み領域のサイズを設定していた。他の実施例の記憶装置においては、記録媒体のミラー書き込み領域のサイズを設定しない。記憶装置は、データをミラー書き込みする指令をホストから受信すると、そのデータをミラー書き込みする際必要な記憶容量が記憶媒体の残記憶容量以下か判断する。必要な記憶容量が記憶媒体の残記憶容量より大きい場合（ミラー書き込みできない場合）は、記憶装置はそのデータをシングル書き込みする。
【００６９】
《実施例４》
図６、７、１１を用いて、本発明の実施例４の記憶装置及びその制御方法について説明する。実施例２と異なる点は、データを書き込む際に残記録領域が足りない場合に、ミラー書き込み領域のサイズを調整することである。それ以外の点でにおいて、両者は同一である。
【００７０】
はじめに実施例４の記憶装置の構成について説明する。
図６は、本発明の実施例４の記憶装置の構成を示すブロック図である。実施例２（図６）と同様であるため説明を省略する。
次に実施例４の記憶装置のデータの流れについて説明する。
図７（ａ）は、本発明の実施例４の記憶装置の転送データの構成図である。図７（ｂ）は、本発明の実施例４の記憶装置の管理情報の構成図である。図７（ｃ）は、本発明の実施例４の記憶装置の論理／物理アドレス変換テーブルの構成図である。実施例２（図７（ａ）〜（ｃ））と同様であるため説明を省略する。
【００７１】
次に実施例４の記憶装置の制御方法について説明する。
図１１は、本発明の実施例４の記憶装置の書き込み時の制御方法のフローチャートである。図１１において、ステップ１１０１で、制御手段６１３は、第２の記録媒体６１５のミラー書き込み領域のサイズを設定する。ステップ１１０２で、ホスト１０１から記憶装置６１１のメモリ入出力手段１１２に、データ書き込み指令が入力される。ステップ１１０３で、制御手段６１３は、入力されたデータがミラー書き込みすべきデータ（重要なデータ）か否かを判断する。
【００７２】
ステップ１１０３で入力されたデータがミラー書き込みすべきデータの場合は、ステップ１１０４に進む。ステップ１１０４で、制御手段６１３は、書き込みデータの情報量がミラー書き込み領域の残記録容量以下か否かを判断する。
ステップ１１０４で書き込みデータの情報量がミラー書き込み領域の残記録容量より大きいの場合は、ステップ１１０５に進む。ステップ１１０５で、第２の記録媒体６１５のミラー書き込み領域のサイズを大きくする。この時、記憶装置６１１は、ホスト１０１にミラー書き込み領域のサイズを大きくすることを通知しても良く、又はミラー書き込み領域のサイズを大きくすることの許可を求めても良い。ユーザは、思いの他早く記録媒体の残記録容量がなくなることを防止できる。特に重要な特定のデータを書き込む場合にのみ、ミラー書き込み領域のサイズを大きくすること（ステップ１１０５）を実行しても良い。
【００７３】
ステップ１１０３で入力されたデータがミラー書き込みすべきデータでない場合（シングル書き込みのデータの場合）または、ステップ１１０４で書き込みデータの情報量がミラー書き込み領域の残記録容量以下の場合または、ステップ１１０５の処理後、ステップ１１０６に進む。
ステップ１１０６で、制御手段６１３は、書き込みデータの情報量が（第１の記録媒体１１４及び第２の記録媒体６１５のミラー書き込み領域以外の領域の）残記録容量以下か否かを判断する。
ステップ１１０６で書き込みデータの情報量がミラー書き込み領域以外の領域の残記録容量より大きいの場合は、ステップ１１０７に進む。ステップ１１０７で、制御手段６１３は、第２の記録媒体６１５のミラー書き込み領域のサイズを小さくする（ミラー書き込み領域以外の領域の残記録容量は増加する。）。
【００７４】
ステップ１１０６で書き込みデータの情報量がミラー書き込み領域以外の領域の残記録容量以下の場合または、ステップ１１０７の処理後、ステップ１１０８に進む。ステップ１１０８で、再度制御手段６１３は、入力されたデータがミラー書き込みすべきデータ（重要なデータ）か否かを判断する。
ステップ１１０８で入力されたデータがミラー書き込みすべきデータの場合は、ステップ１１０９に進む。ステップ１１０９で、再度制御手段６１３は、書き込みデータの情報量がミラー書き込み領域の残記録容量以下か否かを判断する。
【００７５】
ステップ１１０９で書き込みデータの情報量がミラー書き込み領域の残記録容量以下の場合は、ステップ１１１０に進み、制御手段６１３は、ＡＣＫをホスト１０１に送信する。ステップ１１１１で、メモリアクセス制御手段１１７は、第１の記録媒体１１４及び第２の記録媒体６１５に、データをミラー書き込みする。ステップ１１１２で、制御手段１１３は、２個の論理／物理アドレス変換テーブル６１６を生成し、このフローチャートを終了する。
ステップ１１０９で書き込みデータの情報量がミラー書き込み領域の残記録容量以下でない場合（ミラー書き込み領域以外の領域の残記録容量が小さくて、ミラー書き込み領域に必要な残記録容量を確保できない場合）は、ステップ１１１３に進む。ステップ１１１３で、制御手段６１３は、シングル書き込みすることをホスト１０１に通知する。ステップ１１１４で、メモリアクセス制御手段１１７は、第１の記録媒体１１４、第２の記録媒体６１５に、データをシングル書き込みする。ステップ１１１５で、制御手段６１３は、１個の論理／物理アドレス変換テーブル６１６を生成し、このフローチャートを終了する。
【００７６】
ステップ１１０８で入力されたデータがミラー書き込みすべきデータでない場合（シングル書き込みのデータの場合）は、ステップ１１１６に進み、制御手段６１３は、ＡＣＫをホスト１０１に送信する。ステップ１１１４で、メモリアクセス制御手段１１７は、第１の記録媒体１１４、第２の記録媒体６１５に、データをシングル書き込みする。ステップ１１１５で、制御手段６１３は、１個の論理／物理アドレス変換テーブル６１６を生成し、このフローチャートを終了する。
【００７７】
本実施例において、入力されたデータに応じてミラー書き込み領域のサイズを調整することにより、多くの重要なデータを書き込みしたため、思いの他早く記録媒体の残記録容量がなくなり、重要なデータの書き込みができなくなることを防止することができる記憶装置及びその制御方法を実現した。記録するデータが重要なデータであれば、自動的にミラー書き込み領域のサイズを大きくしてミラー書き込みを行い、書き込みデータの信頼性を確保できる。
データを全く記録できないよりも、シングル記録であってもデータを記録する方が一般的に好ましい。本発明の記憶装置は、残記録容量が少なくてミラー記録ができない場合、自動的にシングル記録をする。
【００７８】
《実施例５》
図２、９、１２を用いて、本発明の実施例５の記憶装置及びその制御方法について説明する。実施例３と異なる点は、データを書き込む際に残記録領域が足りない場合に、ミラー書き込み領域に書き込まれたデータを消去し、ミラー書き込み領域のサイズを小さくすることである。それ以外の点において、両者は同一である。
はじめに実施例５の記憶装置の構成について説明する。
図９は、本発明の実施例５の記憶装置の構成を示すブロック図である。実施例３（図９）と同様であるため説明を省略する。
次に実施例５の記憶装置のデータの流れについて説明する。
図２（ａ）は、本発明の実施例５の記憶装置の転送データの構成図である。図２（ｂ）は、本発明の実施例５の記憶装置の管理情報の構成図である。図２（ｃ）は、本発明の実施例５の記憶装置の論理／物理アドレス変換テーブルの構成図である。実施例３（図２（ａ）〜（ｃ））と同様であるため説明を省略する。
【００７９】
次に実施例５の記憶装置の制御方法について説明する。
図１２は、本発明の実施例５の記憶装置のシングル書き込み時の制御方法のフローチャートである。図１２において、ステップ１２０１で、制御手段１１３は、第２の記録媒体９１５のミラー書き込み領域のサイズを設定する。ステップ１２０２で、ホスト１０１から記憶装置９１１のメモリ入出力手段１１２に、データ書き込み指令が入力される。ステップ１２０３で、制御手段１１３は、書き込みデータの情報量が（第１の記録媒体１１４及び第２の記録媒体９１５のミラー書き込み領域以外の領域の）残記録容量以下か否かを判断する。
【００８０】
ステップ１２０３で書き込みデータの情報量がミラー書き込み領域以外の領域の残記録容量より大きいの場合は、ステップ１２０５に進む。ステップ１２０５で、制御手段１１３は、第２の記録媒体９１５のミラー書き込み領域のサイズを小さくする（ミラー書き込み領域以外の領域の残記録容量は増加する。）。ミラー書き込み領域のサイズの最小値は、現在書き込まれているミラーデータの情報量である。ステップ１２０６で、再度制御手段１１３は、書き込みデータの情報量がミラー書き込み領域以外の領域の残記録容量以下か否かを判断する。
【００８１】
ステップ１２０６でまだなお書き込みデータの情報量がミラー書き込み領域以外の領域の残記録容量より大きいの場合（ミラー書き込み領域のサイズを最小値に設定しても、データを書き込むことができない場合）は、ステップ１２０７に進む。ステップ１２０７で、メモリアクセス制御手段１１７は、ミラー書き込み領域に書き込まれたミラーデータ及びそのミラーデータと対になっているデータを読み出す。ステップ１２０８で、制御手段１１３は、読み出したミラーデータ及びデータの少なくとも一方のデータが正しいか否かを判断する。
【００８２】
ステップ１２０８で少なくとも一方のデータが正しい場合は、ステップ１２０９に進む。ステップ１２０９で、制御手段１１３は、データ書き込み領域（ダミーデータ書き込み領域以外の領域）に正しい一方のデータを残して、ミラー書き込み領域に書き込まれたミラーデータを無効化し消去する。ステップ１２１０で、制御手段１１３は、消去したデータの管理情報のミラー書き込みフラグ２０６を１に変更して、例えば第２の論理アドレス２０５を全て１にする。例えば第２の論理／物理アドレス変換テーブル２１２を無効化する。ステップ１２１１で、制御手段１１３は、第２の記録媒体９１５のミラー書き込み領域のサイズを小さくする。ステップ１２１２で、制御手段１１３は、ミラーデータを消去したことをホスト１０１に通知する。ステップ１２０９〜１２１１を実行する前に、ホストにステップ１２０９〜１２１１を実行することを通知しても良く、又はホストにこれらのステップを実行することの許可を要求しても良い。ステップ１２１３で、メモリアクセス制御手段１１７は、第１の記録媒体１１４または第２の記録媒体９１５にデータを書き込む。ステップ１２１４で、制御手段１１３は、論理／物理アドレス変換テーブル１１６を生成し、このフローチャートを終了する。
【００８３】
ステップ１２０３で書き込みデータの情報量が残記録容量以下の場合または、ステップ１２０６で書き込みデータの情報量が残記録容量以下の場合は、ステップ１２０４に進み、制御手段１１３は、ＡＣＫをホスト１０１に送信する。ステップ１２１３で、メモリアクセス制御手段１１７は、第１の記録媒体１１４または第２の記録媒体９１５にデータを書き込む。ステップ１２１４で、制御手段１１３は、論理／物理アドレス変換テーブル１１６を生成し、このフローチャートを終了する。
ステップ１２０８で両方のデータが正しくない場合は、ステップ１２１５に進み、制御手段１１３は、残記録容量が不足でありデータを記録できないことをホスト１０１に送信し、このフローチャートを終了する。
【００８４】
本実施例において、残記録容量に応じてミラー書き込み領域に書き込まれたデータを消去し、データ書き込み領域（ミラー書き込み領域以外の領域）を増加させることにより、多くのデータをミラー書き込みしたため、思いの他早く記録媒体の残記録容量がなくなることを防止し、ミラーデータより優先させてデータ書き込みすることができる記憶装置及びその制御方法を実現した。
実施例５は、データを書き込む際に残記録領域が足りない場合に、ミラー書き込み領域に書き込まれたデータを消去し、ミラー書き込み領域のサイズを小さくすることを実施例３に導入したものである。このことを実施例４に導入することもできる。
【００８５】
【発明の効果】
本発明によれば、データを高い信頼性で書き込む記憶装置及びその制御方法を実現できるという効果が得られる。
本発明によれば、１個のフラッシュメモリが故障しても、他のフラッシュメモリからデータを読み出すことができる記憶装置及びその制御方法を実現できるという効果が得られる。
本発明によれば、データ及びミラーデータが２個ともエラーになる可能性が少なくなり、さらに信頼性の高い記憶装置及びその制御方法を実現できるという効果が得られる。
本発明によれば、ミラー書き込みを行う場合にも高速なアクセスを行うことができる記憶装置及びその制御方法を実現できるという効果が得られる。
本発明によれば、再書き込みができない程高いレートで時間的に連続して入力するデータを高い信頼性で書き込む記憶装置及びその制御方法を実現できるという効果が得られる。
【００８６】
本発明によれば、多くのデータをミラー書き込みしたため、思いの他早く記録媒体の残記録容量がなくなることを防止することができる記憶装置及びその制御方法を実現できるという効果が得られる。
本発明によれば、多くのデータをミラー書き込みしたため、思いの他早く記録媒体の残記録容量がなくなることを防止し、ミラーデータより優先させてデータ書き込みすることができる記憶装置及びその制御方法を実現できるという効果が得られる。
【図面の簡単な説明】
【図１】本発明の実施例１の記憶装置の構成を示すブロック図
【図２】図２（ａ）は本発明の実施例１、３、５の記憶装置のホストからの転送データの構成図、図２（ｂ）は本発明の実施例１、３、５の記憶装置の管理情報の構成図、図２（ｃ）は本発明の実施例１、３、５の記憶装置の論理／物理アドレス変換テーブルの構成図
【図３】本発明の実施例１の記憶装置の書き込み時の制御方法のフローチャート
【図４】本発明の実施例の記憶装置の読み出し時の制御方法のフローチャート
【図５】本発明の実施例１の記憶装置のシングル書き込みデータをミラー書き込みデータに変更する時の制御方法のフローチャート
【図６】本発明の実施例２、４の記憶装置の構成を示すブロック図
【図７】図７（ａ）は本発明の実施例２、４の記憶装置の転送データの構成図、図７（ｂ）は本発明の実施例２、４の記憶装置の管理情報の構成図、図７（ｃ）は本発明の実施例２、４の記憶装置の論理／物理アドレス変換テーブルの構成図
【図８】本発明の実施例２の記憶装置の書き込み時の制御方法のフローチャート
【図９】本発明の実施例３、５の記憶装置の構成を示すブロック図
【図１０】本発明の実施例３の記憶装置の書き込み時の制御方法のフローチャート
【図１１】本発明の実施例４の記憶装置の書き込み時の制御方法のフローチャート
【図１２】本発明の実施例５の記憶装置のシングル書き込み時の制御方法のフローチャート
【図１３】従来の記憶装置の構成を示すブロック図
【符号の説明】
１０１　　ホスト
１０２　　ホスト入出力手段
１０３　　制御手段
１１１、６１１、９１１　　記憶装置
１１２　　メモリ入出力手段
１１３、６１３　　制御手段
１１４　　第１の記録媒体
１１５、６１５、９１５　　第２の記録媒体
１１６、６１６　　論理／物理アドレス変換テーブル
１１７　　メモリアクセス制御手段
【図１】
2004139503.tif 000003
【図２】
2004139503.tif 000004
【図３】
2004139503.tif 000005
【図４】
2004139503.tif 000006
【図５】
2004139503.tif 000007
【図６】
2004139503.tif 000008
【図７】
2004139503.tif 000009
【図８】
2004139503.tif 000010
【図９】
2004139503.tif 000011
【図１０】
2004139503.tif 000012
【図１１】
2004139503.tif 000013
【図１２】
2004139503.tif 000014
【図１３】
2004139503.tif 000015