(57)【要約】【課題】半導体記憶装置において、電源断や書き込みエラーで既に書き込みを完了していたセル共有部分のデータが破壊されないようにすること。【解決手段】ホスト機器２００Ａにデータバッファ２５０を備える。既に物理ブロックの一部にデータが書き込まれており、更にその物理ブロックにデータを書き込む際に、データバッファにその物理ブロックの書き込み済みのデータが保持されているかどうかを識別する。データが保持されている場合にはそのまま書き込み、エラーがあれば物理ブロック単位での再書き込みを行う。又データバッファにデータが保持されていない場合には、新物理ブロックの確保を要求した後にデータの書き込みを行う。こうすれば、書き込み途中に電源が遮断されたりエラーが生じても、以前に書き込みを完了していたデータが破壊されることはなくなる。【選択図】図６Ａ
2010160605.tif 000002
【特許請求の範囲】
【請求項１】
ホスト機器と半導体記憶装置とを具備する半導体記憶システムであって、
前記半導体記憶装置は、
複数の物理ブロックにより構成される不揮発性メモリと、
前記ホスト機器より与えられる論理アドレスを前記不揮発性メモリの物理アドレスに変換するアドレス変換手段と、
前記不揮発性メモリへデータの書き込みを行うデータ書き込み手段と、
前記不揮発性メモリからデータの読み出しを行うデータ読み出し手段と、
ホスト機器が発行するコマンドにかかる論理ブロックと前記不揮発性メモリの物理ブロックとの対応を記録してアドレス管理を行う論物変換テーブルを備えたブロック管理手段と、
前記不揮発性メモリのメモリ情報を通知するメモリ情報通知手段と、を備え、
前記ホスト機器は、
前記半導体記憶装置のメモリ情報通知手段から通知されたメモリ情報に基づいて書き込み単位となる物理ブロックの境界を管理するブロック境界管理手段と、
前記ブロック境界管理手段からの物理ブロックへのアクセス単位をもとに書き込むべきデータと書き込みコマンドを分割するコマンド分割手段と、
書き込みコマンドの発行時に書き込むべきデータを保存するデータバッファと、
前記半導体記憶装置に書き込みコマンドを発行すると共に、半導体記憶装置への書き込み時に書き込みエラーが発生した場合には、書き込みエラーが発生したブロックに書き込むべきデータを前記データバッファより読み出して書き込みコマンドを再発行するコマンド発行手段と、
前記データバッファに保存しているデータを開放するかどうかを書き込みエラーが伝搬する範囲に基づいて判断するデータ解放判断手段と、を備える半導体記憶システム。
【請求項２】
前記データ解放判断手段は、
物理ブロック単位でデータの転送が完了した時点で前記データバッファのデータを解放すると判断する請求項１記載の半導体記憶システム。
【請求項３】
前記コマンド発行手段は、
エラーが発生したときに、前記データバッファに物理ブロック単位のデータがあれば物理ブロック全体の書き込みコマンドを再発行し、前記データバッファに物理ブロック単位のデータがなければエラーになった当該コマンドを再発行する請求項１又は２記載の半導体記憶システム。
【請求項４】
前記ホスト機器は、
データの書き込み時に、前記半導体記憶装置にそのデータが書き込まれるブロックの記録済みデータを前記データバッファに保持していないときに、新ブロックへの書き込みを要求する新ブロック書き込み要求手段をさらに備えた請求項１〜３のいずれか１項記載の半導体記憶システム。
【請求項５】
前記新ブロック書き込み要求手段は、
電源投入後の最初の書き込みコマンドを発行する際に新ブロックへの書き込みを要求する請求項４記載の半導体記憶システム。
【請求項６】
前記半導体記憶装置は、
書き込みコマンドが書き込みエラーになった場合に、当該コマンドのアドレス領域以外に影響が及ぶかを判断してエラーステータスとして前記ホスト機器に通知するエラー伝搬検出手段を備え、
前記コマンド発行手段は、
エラーステータスが当該コマンドのアドレス領域以外に影響が及ぶ場合には所定の物理ブロック全体の書き込みコマンドを再発行し、
エラーステータスが当該コマンドのアドレス領域以外に影響が及ばない場合にはエラーになった当該コマンドを再発行する請求項１又は２記載の半導体記憶システム。
【請求項７】
前記不揮発性メモリは多値のフラッシュメモリであり、メモリセルを共有する単位をグループとすると前記物理ブロックは少なくとも１つのグループを含むものである請求項１〜６のいずれか１項記載の半導体記憶装置。
【請求項８】
前記物理ブロックは、
前記メモリの最小の消去単位及びその整数倍の消去単位のいずれかである請求項１〜７のいずれか１項記載の半導体記憶装置。
【請求項９】
半導体記憶装置に接続されるホスト機器であって、
前記半導体記憶装置のメモリ情報に基づいて書き込み単位となる物理ブロックの境界を管理するブロック境界管理手段と、
前記ブロック境界管理手段からの物理ブロックへのアクセス単位をもとに書き込むべきデータと書き込みコマンドを分割するコマンド分割手段と、
書き込みコマンドの発行時に書き込むべきデータを保存するデータバッファと、
前記半導体記憶装置に書き込みコマンドを発行すると共に、半導体記憶装置への書き込み時に書き込みエラーが発生した場合には、書き込みエラーが発生したブロックに書き込むべきデータを前記データバッファより読み出して書き込みコマンドを再発行するコマンド発行手段と、
前記データバッファに保存しているデータを開放するかどうかを書き込みエラーが伝搬する範囲に基づいて判断するデータ解放判断手段と、を具備するホスト機器。
【請求項１０】
前記データ解放判断手段は、
物理ブロック単位でデータの転送が完了した時点で前記データバッファのデータを解放すると判断する請求項９記載のホスト機器。
【請求項１１】
前記コマンド発行手段は、
エラーが発生したときに、前記データバッファに物理ブロック単位のデータがあれば物理ブロック全体の書き込みコマンドを再発行し、前記データバッファに物理ブロック単位のデータがなければエラーになった当該コマンドを再発行する請求項９又は１０記載のホスト機器。
【請求項１２】
前記ホスト機器は、
データの書き込み時に、前記半導体記憶装置にそのデータが書き込まれるブロックの記録済みデータを前記データバッファに保持していないときに、新ブロックへの書き込みを要求する新ブロック書き込み要求手段をさらに備えた請求項９〜１１のいずれか１項記載のホスト機器。
【請求項１３】
前記新ブロック書き込み要求手段は、
電源投入後の最初の書き込みコマンドを発行する際に新ブロックへの書き込みを要求する請求項１２記載のホスト機器。
【請求項１４】
ホスト機器に接続される半導体記憶装置であって、
複数の物理ブロックにより構成される不揮発性メモリと、
前記ホスト機器より与えられる論理アドレスを前記不揮発性メモリの物理アドレスに変換するアドレス変換手段と、
前記不揮発性メモリへデータの書き込みを行うデータ書き込み手段と、
前記不揮発性メモリからデータの読み出しを行うデータ読み出し手段と、
ホスト機器が発行するコマンドにかかる論理ブロックと前記不揮発性メモリの物理ブロックとの対応を記録してアドレス管理を行う論物変換テーブルを備えたブロック管理手段と、
前記不揮発性メモリのメモリ情報を通知するメモリ情報通知手段と、を具備する半導体記憶装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、メモリカードなどの半導体記憶装置、ホスト機器及び半導体記憶システムに関し、特に半導体記憶装置の内部の不揮発性メモリで発生する書き込みのエラーを修復する技術に関する。
【背景技術】
【０００２】
従来、フラッシュメモリが内蔵されたカード型の記録媒体であるＳＤ（ＳｅｃｕｒｅＤｉｇｉｔａｌ）カード等の半導体記憶装置は、超小型、超薄型であり、その取り扱い易さから、ディジタルカメラ、携帯機器等において画像等のデータを記録するために広く利用されている。
【０００３】
この半導体記憶装置に内蔵されているフラッシュメモリは、一定サイズのブロック単位でデータを消去し書き換えできる不揮発性のメモリである。昨今の大容量化の要請に対応すべく、フラッシュメモリは1セルで２ビット以上のデータを蓄積可能なフラッシュメモリが商品化されている。
【０００４】
図１，図２を用いて、１セルあたり２ビットの情報を表現するＭＬＣ（マルチレベルセル）フラッシュメモリ（以下、多値フラッシュメモリ）のフローティングゲートに蓄積する電子の数と閾値電圧（Ｖｔｈ）の関係を説明する。
【０００５】
図１はフラッシュメモリの１セルの構成を示す。フラッシュメモリ１０はＰチャンネルサブストレート１１上にＮチャンネルのソース及びトレイン電極１２，１３が形成され、その間にトンネル酸化膜１４、フローティングゲート１５、絶縁酸化膜１６及びコントロールゲート１７が積層して構成される。このようにフラッシュメモリは揮発性ダイナミック・ランダム・アクセス・メモリ（ＤＲＡＭ）と異なり、フローティングゲート１５という電荷を保持する領域がトランジスタ内部に追加されている。フローティングゲート１５に蓄積されている電荷の状態によって、電流が流れる時の電圧の閾値が変わる。図１（ａ）は電荷が蓄積されていないデータ書き込み前の初期状態であり、図１（ｂ）は電荷が蓄積されておりデータを書き込んだ状態を示す。
【０００６】
図２に、多値フラッシュメモリのフローティングゲートに蓄積する電子の数と閾値電圧（Ｖｔｈ）の関係の一例を示す。２値フラッシュメモリの場合、フローティングゲートに電子のあるなしで電流が流れる時の電圧が変わるが、１セルあたり２ビットの情報を表現する４値フラッシュメモリの場合は電荷の量によって電流が流れる時の閾値電圧が４状態存在する。図２に示すように、４値のフラッシュメモリでは、フローティングゲートの電子の蓄積状態をその閾値電圧（Ｖｔｈ）に従って４状態で管理する。消去状態は電位が一番低く、これを（１，１）とする。そして電子が蓄積していくにつれて閾値電圧が離散的に上昇し、その状態を夫々（１，０）（０，０）（０，１）とする。このように、蓄積する電子の数に比例して電位が上昇するので、所定の電位の閾値に収まるように制御することによって、１つのメモリセルに２ビットのデータを記録することができる。
【０００７】
図３に４値のフラッシュメモリの１つの物理ブロックの模式図を示す。図３に示す物理ブロックは、２Ｋ個（Ｋは自然数）のページによって構成されている。そして、書き込み処理は、ページ番号０から昇順に実施される。ここで、ページ番号ｍ（０≦ｍ＜Ｋ）のページとページ番号（Ｋ＋ｍ）番のページは１つのメモリセルを共有している関係（以下、セル共有関係という）にあるとする。セル共有関係にあるページにおいて、最初に書き込むページを第１ページ、次に書き込むページを第２ページと呼ぶ。つまり、ページ番号ｍへの書き込み（第１ページへの書き込み）と、ページ番号（Ｋ＋ｍ）への書き込み（第２ページへの書き込み）は、同一のセルに電子をチャージしていることになる。図２を参照に説明すると、第１ページへの書き込みでは、電位は最大でも半分までしか上昇しないように制御し、次の第２ページへの書き込みでは、半分から最大まで電位が上昇するように制御する。
【０００８】
図４に、フラッシュメモリセルの状態遷移を示す。図４に示すように、フラッシュメモリの物理ブロックの１つのメモリセルの状態は、以下のように遷移する。
（ａ）データを消去した後は、メモリセルの状態は（１，１）
（ｂ）第１ページへの書き込み後は、セルの状態は（１，１）又は（１，０）
（ｃ）第２ページへの書き込み後は、セルの状態は（１，１），（１，０），（０，０）又は（０，１）
このように、多値のフラッシュメモリでは、閾値電圧Ｖｔｈに複数の状態を設けてフラッシュメモリの電子の蓄積量を制御する多値記録を行い、大容量化を実現している。
【０００９】
上記の（ｂ）（ｃ）について更に詳細に説明する。（ｂ）においては、対応する論理ページに１を書き込んだ後の状態が（１，１）である。また０を書き込んだ後の状態が（１，０）となる。更に（ｃ）においては、（ｂ）での状態によって遷移が限定される。即ち、（ｂ）で（１，１）の状態からの遷移は、１を書き込んだ場合は（１，１）の状態が保持され、０を書き込んだ場合は（０，１）となる。一方、（ｂ）で（１，０）の状態からの遷移は、１を書き込んだ場合は（１，０）の状態が保持され、０を書き込んだ場合は（０，０）となる。よって、同一物理ページにおいて、第１ページの値は、第２ビットに反映され、次に書き込む第２ページの値は第１ビットに反映される。
【００１０】
また、フラッシュメモリはフローティングゲート１５に蓄積した電荷を保持するために、絶縁機能を持つトンネル酸化膜１４を用いる。書き込み時や消去時には、この酸化膜を電子が通り抜けることになり、酸化膜が劣化していく。書き換えを繰り返すと酸化膜が損傷して、絶縁の役目を果たさなくなる。このため、書き換え回数が制限されるという特徴が存在する。
【００１１】
次に、書き込みエラーの発生について説明する。４値フラッシュメモリの場合は、メモリセルを第１ページと第２ページの２論理ページで共有している。図３に示すページ０〜ページ（Ｋ−１）の書き込みは第１ペ−ジの書き込みであり、この場合の書き込みエラーはＶｔｈが（１，１）の状態から（１，０）に上昇しないエラーである。また、図３に示すページＫ〜ページ（２Ｋ−１）の書き込みは第２ページの書き込みであり、Ｖｔｈの状態は（１，１）（１，０）（０，０）（０，１）になる。この場合の書き込みエラーは、
（エラー１）  Ｖｔｈ（１，０）が（０，０）に上昇しない。
（エラー２）  Ｖｔｈ（１，１）が（０，１）に上昇しない。
場合がある。エラー１の場合は、Ｖｔｈ（１，０）とＶｔｈ（０，０）が隣接しているが、エラー２の場合のＶｔｈ（１，１）とＶｔｈ（０，１）は間に２状態はさんでいる。特に、Ｖｔｈ（１，０）は第１ページの書き込み後の値であり、第２ページの書き込みによってＶｔｈが（１，０）にまでしか上昇しなかった場合は第２ページが書き込みエラーになるのみならず、第１ページのデータも破壊してしまうことになる。
【００１２】
次に、書き込み時のエラーが別ファイルを破壊する可能性についてより詳しく説明する。図５の左側が論理アドレス空間上の１つの論理ブロックであり、図５の右側のフラッシュメモリの物理アドレス空間の物理ブロックに対応している。この物理ブロックにファイル１が既に書き込まれていて、ファイル２をその後に追記するものとする。ファイル１が既に物理アドレス空間のページ０からページ（Ｋ−２）までに記録されており、ファイル２をページ（Ｋ−１）から（２Ｋ−１）までに追記するものとする。この例では、説明を簡易にするためにページを昇順に利用している。ファイル２の書き込み中に、例えば図５に示すように、ページＫの書き込み中に発生した書き込みエラーや突然の電源断により、ページ０に書き込み済みであったデータを破壊する可能性がある。つまり、ページ０のデータが破壊されれば、ファイル２の書き込みにより、ファイル１も破壊してしまう結果になる。
【００１３】
この課題を解決するために、特許文献１では、フラッシュメモリを制御するメモリコントローラにバッファメモリを設け、第２ページの書き込みが完了するまで、第１ページのデータをバッファメモリに格納しておき、第２ページの書き込みで書き込みエラーが発生した場合は、バッファメモリのデータをロードし、第１ページのデータもフラッシュメモリに書き込むように制御している。
【特許文献１】特開２００６−３１８３３６号公報
【発明の開示】
【発明が解決しようとする課題】
【００１４】
しかしながら、従来の手法では第２ページの書き込みが終了するまで第１ページのデータをバッファメモリに保持しておく必要がある。１つの物理ブロックに複数のファイルを書き込む場合には、現在書き込み中のファイル以外のデータは過去に書き込んだデータであり、ホスト機器、あるいは半導体記憶装置にデータが残っていないためにリトライできないケースがあり、復旧できないといった課題が発生する。
【００１５】
また、データ書き込み中の突然の電源断が発生した場合には、復旧するためのデータを保持していてもリトライ自体ができないために、復旧できないといった問題点もあった。
【００１６】
本発明は、上記問題を解決するものであり、不揮発性メモリには書き込んだがホスト機器や半導体記憶装置のバッファには保存していないデータがあっても、新たな書き込みでそのデータには書き込みエラーが伝搬しない信頼性の高い半導体記憶装置、ホスト機器及び半導体記憶システムを提供することを目的とする。
【課題を解決するための手段】
【００１７】
この課題を解決するために、本発明の半導体記憶システムは、ホスト機器と半導体記憶装置とを具備する半導体記憶システムであって、前記半導体記憶装置は、複数の物理ブロックにより構成される不揮発性メモリと、前記ホスト機器より与えられる論理アドレスを前記不揮発性メモリの物理アドレスに変換するアドレス変換手段と、前記不揮発性メモリへデータの書き込みを行うデータ書き込み手段と、前記不揮発性メモリからデータの読み出しを行うデータ読み出し手段と、ホスト機器が発行するコマンドにかかる論理ブロックと前記不揮発性メモリの物理ブロックとの対応を記録してアドレス管理を行う論物変換テーブルを備えたブロック管理手段と、前記不揮発性メモリのメモリ情報を通知するメモリ情報通知手段と、を備え、前記ホスト機器は、前記半導体記憶装置のメモリ情報通知手段から通知されたメモリ情報に基づいて書き込み単位となる物理ブロックの境界を管理するブロック境界管理手段と、前記ブロック境界管理手段からの物理ブロックへのアクセス単位をもとに書き込むべきデータと書き込みコマンドを分割するコマンド分割手段と、書き込みコマンドの発行時に書き込むべきデータを保存するデータバッファと、前記半導体記憶装置に書き込みコマンドを発行すると共に、半導体記憶装置への書き込み時に書き込みエラーが発生した場合には、書き込みエラーが発生したブロックに書き込むべきデータを前記データバッファより読み出して書き込みコマンドを再発行するコマンド発行手段と、前記データバッファに保存しているデータを開放するかどうかを書き込みエラーが伝搬する範囲に基づいて判断するデータ解放判断手段と、を備えるものである。
【００１８】
ここで前記データ解放判断手段は、物理ブロック単位でデータの転送が完了した時点で前記データバッファのデータを解放すると判断するようにしてもよい。
【００１９】
ここで前記コマンド発行手段は、エラーが発生したときに、前記データバッファに物理ブロック単位のデータがあれば物理ブロック全体の書き込みコマンドを再発行し、前記データバッファに物理ブロック単位のデータがなければエラーになった当該コマンドを再発行するようにしてもよい。
【００２０】
ここで前記ホスト機器は、データの書き込み時に、前記半導体記憶装置にそのデータが書き込まれるブロックの記録済みデータを前記データバッファに保持していないときに、新ブロックへの書き込みを要求する新ブロック書き込み要求手段をさらに備えるようにしてもよい。
【００２１】
ここで前記新ブロック書き込み要求手段は、電源投入後の最初の書き込みコマンドを発行する際に新ブロックへの書き込みを要求するようにしてもよい。
【００２２】
ここで前記半導体記憶装置は、書き込みコマンドが書き込みエラーになった場合に、当該コマンドのアドレス領域以外に影響が及ぶかを判断してエラーステータスとして前記ホスト機器に通知するエラー伝搬検出手段を備え、前記コマンド発行手段は、エラーステータスが当該コマンドのアドレス領域以外に影響が及ぶ場合には所定の物理ブロック全体の書き込みコマンドを再発行し、エラーステータスが当該コマンドのアドレス領域以外に影響が及ばない場合にはエラーになった当該コマンドを再発行するようにしてもよい。
【００２３】
ここで前記不揮発性メモリは多値のフラッシュメモリであり、メモリセルを共有する単位をグループとすると前記物理ブロックは少なくとも１つのグループを含むものとしてもよい。
【００２４】
ここで前記物理ブロックは、前記メモリの最小の消去単位及びその整数倍の消去単位のいずれかとしてもよい。
【００２５】
この課題を解決するために、本発明のホスト機器は、半導体記憶装置に接続されるホスト機器であって、前記半導体記憶装置のメモリ情報に基づいて書き込み単位となる物理ブロックの境界を管理するブロック境界管理手段と、前記ブロック境界管理手段からの物理ブロックへのアクセス単位をもとに書き込むべきデータと書き込みコマンドを分割するコマンド分割手段と、書き込みコマンドの発行時に書き込むべきデータを保存するデータバッファと、前記半導体記憶装置に書き込みコマンドを発行すると共に、半導体記憶装置への書き込み時に書き込みエラーが発生した場合には、書き込みエラーが発生したブロックに書き込むべきデータを前記データバッファより読み出して書き込みコマンドを再発行するコマンド発行手段と、前記データバッファに保存しているデータを開放するかどうかを書き込みエラーが伝搬する範囲に基づいて判断するデータ解放判断手段と、を具備するものである。
【００２６】
ここで前記データ解放判断手段は、物理ブロック単位でデータの転送が完了した時点で前記データバッファのデータを解放すると判断するようにしてもよい。
【００２７】
ここで前記コマンド発行手段は、エラーが発生したときに、前記データバッファに物理ブロック単位のデータがあれば物理ブロック全体の書き込みコマンドを再発行し、前記データバッファに物理ブロック単位のデータがなければエラーになった当該コマンドを再発行するようにしてもよい。
【００２８】
ここで前記ホスト機器は、データの書き込み時に、前記半導体記憶装置にそのデータが書き込まれるブロックの記録済みデータを前記データバッファに保持していないときに、新ブロックへの書き込みを要求する新ブロック書き込み要求手段をさらに備えるようにしてもよい。
【００２９】
ここで前記新ブロック書き込み要求手段は、電源投入後の最初の書き込みコマンドを発行する際に新ブロックへの書き込みを要求するようにしてもよい。
【００３０】
この課題を解決するために、本発明の半導体記憶装置は、ホスト機器に接続される半導体記憶装置であって、複数の物理ブロックにより構成される不揮発性メモリと、前記ホスト機器より与えられる論理アドレスを前記不揮発性メモリの物理アドレスに変換するアドレス変換手段と、前記不揮発性メモリへデータの書き込みを行うデータ書き込み手段と、前記不揮発性メモリからデータの読み出しを行うデータ読み出し手段と、ホスト機器が発行するコマンドにかかる論理ブロックと前記不揮発性メモリの物理ブロックとの対応を記録してアドレス管理を行う論物変換テーブルを備えたブロック管理手段と、前記不揮発性メモリのメモリ情報を通知するメモリ情報通知手段と、を具備するものである。
【発明の効果】
【００３１】
本発明の半導体記憶システムによれば、データ解放判断手段を設けて、所定のブロック単位でデータの転送が完了した時点で所定のブロック単位にデータバッファのデータを解放する。こうすればセル共有に伴うエラー伝搬が発生しても、データバッファのデータを用いて再度書き込みを行うことができ、エラー伝搬にかかるデータ破壊をなくすことが可能になる。
【００３２】
さらに、請求項４，５，１２，１３の発明では、ホスト機器に新ブロック書き込み要求手段を設け、ホスト機器がセル共有部のデータを保持していない場合の書き込みを行う際には、半導体記憶装置に対して新ブロック書き込み要求手段から明示的に新ブロックへの書き込みを要求して新規に確保したブロックへの書き込みを行うようにしている。これにより、セル共有に伴うエラー伝搬の影響をなくすことができ、信頼性の高い半導体記憶システムを提供することが可能である。
【発明を実施するための最良の形態】
【００３３】
（第１の実施の形態）
以下第１の実施の形態について、図面を参照しながら説明する。図６Ａ，図６Ｂは、本発明の第１の実施の形態における半導体記憶システムの構成図である。半導体記憶システムは、半導体記憶装置１００Ａと、ホスト機器２００Ａとを含んで構成される。半導体記憶装置１００Ａはホスト機器２００Ａから書き込みコマンドに従ってデータを記憶すると共に、読み出しコマンドに従ってデータを読み出し、ホスト機器２００Ａに対して送出するものである。ホスト機器２００Ａは半導体記憶装置１００Ａを制御すると共にデータの書き込みと読み出しを行うものである。
【００３４】
次に本実施の形態による半導体記憶装置１００Ａの各ブロックについて図６Ａを用いて説明する。外部インターフェイス手段１１０は、ホスト機器２００Ａからのコマンドやデータを受信し、データの転送を行うインターフェイスである。
【００３５】
アドレス変換手段１２０は後述する論物変換テーブルに基づいてホスト機器２００Ａがデータの読み書きを要求した論理アドレスを半導体記憶装置１００Ａ内の物理メモリのアドレスに変換するものである。
【００３６】
データ書き込み手段１３０は、外部インターフェイス手段１１０より転送されてきたデータをフラッシュメモリ１４０の物理ブロックの各ページに記録するものである。またデータの書き込み時にエラーがあればインターフェイス手段１１０を介してエラーステータスをホスト機器２００Ａに伝送する。
【００３７】
フラッシュメモリ１４０は４値のフラッシュメモリであり、多数の物理ブロックから構成される。物理ブロックは消去単位であって、夫々２Ｋ個（Ｋは自然数）のページを有する。フラッシュメモリの内部は前述した図３に示すように０〜（２Ｋ−１）までのページ番号で管理されている。このうちページ番号０〜（Ｋ−１）のＫページはメモリセルの第１ページにより構成され、ページ番号Ｋ〜（２Ｋ−１）のＫページはメモリセルの第２ページにより構成される。尚ここでは１つのフラッシュメモリを用いているが、複数のフラッシュメモリを並列に用いてもよい。
【００３８】
データ読み出し手段１５０は、ホスト機器２００Ａより読み出しコマンドが与えられたときに、指定された論理ブロックに対応するフラッシュメモリ１４０の物理ブロックより、データを読み出すものである。
【００３９】
コマンド解析手段１６０はホスト機器より出されたリードライトコマンド、ライトコマンド等のコマンドを解析するものである。
【００４０】
ブロック管理手段１７０は、論物変換テーブル１７１と空きブロック管理テーブル１７２を有している。論物変換テーブル１７１はホスト機器より指示される論理ブロックと、論理ブロックに対応するフラッシュメモリの物理ブロックのアドレスとを関連づけるものである。本実施の形態では、論物変換テーブル１７１は、フラッシュメモリ１４０の一部の領域を用いて記憶するものとして説明する。空きブロック管理テーブル１７２は電源の投入後に生成されるもので、各物理ブロックの使用又は未使用を示すテーブルである。
【００４１】
ブロック管理手段１７０は、これらのテーブルを登録、更新すると共に、データ書き込みの際に、論理ブロックに対応する新規物理ブロックを空きブロック管理テーブル１７２を参照して抽出し、新規の論理ブロックが物理ブロックに割り当てられた場合に論物変換テーブル１７１を更新するものである。
【００４２】
メモリ情報通知手段１８０はフラッシュメモリ１４０のメモリの仕様、即ち物理ブロックのサイズやフラッシュメモリの搭載数を外部インターフェイス手段１１０を介してホスト機器２００Ａに通知するものである。
【００４３】
次に実施の形態によるホスト機器２００Ａの各ブロックについて図６Ｂを用いて説明する。外部インターフェイス手段２１０は、半導体記憶装置１００Ａに対してコマンド送信及びデータの転送を行うと共に、半導体記憶装置１００Ａより読み出されたデータやメモリ情報を受信するものである。
【００４４】
コマンド発行手段２２０は、半導体記憶装置１００Ａに対して書き込みコマンドや読み出しコマンドを生成するものである。
【００４５】
新ブロック書き込み要求手段２３０は、半導体記憶装置１００Ａに対して新たに物理ブロックを確保してからデータの書き込みを要求するものであり、コマンド発行手段２００の書き込みコマンドに付して半導体記憶装置１００Ａに送出される。
【００４６】
コマンド分割手段２４０は、ホスト機器２００Ａが半導体記憶装置１００Ａに書き込みを行う際に、書き込むべきデータをホスト機器２００Ａと半導体記憶装置１００Ａのフラッシュメモリの仕様等に基づいて一定サイズのデータの書き込みコマンドに分割するものである。
【００４７】
データバッファ２５０は、データを一時的に保持するメモリであり、ホスト機器２００Ａの処理に応じて頻繁に、確保と、解放が行われる。データバッファ２５０は、半導体記憶装置１００Ａに転送するデータに加えて、エラー発生時に備えて、エラーの伝搬がおよぶ領域のデータも保持するものである。また、データバッファ２５０は、通常ホスト機器２００Ａのソフトウエアが管理を行う。データ転送が必要になれば、データバッファ２５０の一部の領域を確保して、データの作成をして、データ転送を行う。データ転送が終われば別の処理に利用するために、確保した領域を解放する。
【００４８】
ブロック境界管理手段２６０は、半導体記憶装置１００Ａに搭載されているフラッシュメモリの物理ブロックの情報を保持しており、ホスト機器２００Ａが半導体記憶装置１００Ａにデータを書き込む際に、物理ブロックのサイズとその境界からエラーが伝搬する範囲を特定するものである。
【００４９】
データ解放判断手段２７０は、データバッファ２５０のデータを解放するかどうかを判断するものである。データ解放判断手段２７０は、半導体記憶装置１００Ａに記録される状態に基づきエラーが既に書き込まれた物理ブロックのデータに伝搬しても再書き込みができるように、データバッファ２５０にデータを保持しておくと共に、エラーが伝搬する可能性がなくなればデータバッファ２５０を解放するものである。
【００５０】
次に図７にフラッシュメモリ１４０の領域マップを示す。フラッシュメモリ１４０はＡ個（Ａは自然数）の物理ブロックより構成されており、本実施の形態では、Ａ個の物理ブロックに対して０〜（Ａ−１）の物理ブロック番号を付している。１つの物理ブロックには多値フラッシュメモリのメモリセルを共有する少なくとも１つのグループが含まれている。
【００５１】
そして、物理ブロック番号０〜（Ｂ−１）（Ｂは、Ｂ＜Ａを満たす自然数）のＢ個の物理ブロックをフラッシュメモリ１４０の第１領域１４１、物理ブロック番号Ｂ〜（Ａ−１）の（Ａ−Ｂ）個の物理ブロックをメモリの第２領域１４２とする。フラッシュメモリ１４０の第１領域１４１にはホストから転送されるユーザデータを記録し、第２領域１４２には論物変換テーブル１７１等のシステムデータを記録する。
【００５２】
また論理ブロック番号は０〜（Ｂ−ｍ）（ｍ＞１）とすると、論理ブロックに対応するフラッシュメモリの第１領域の物理ブロック数を論理ブロック数より多く割り当てる。これにより、書き込み済みの論理ブロックを書き換える場合において、当該論理ブロックに対応して書き込まれている物理ブロックとは別の物理ブロックに書き込むことが可能となる。よって、ホスト機器から同一の論理ブロックに集中して書き込みコマンドが発行された場合においても、書き換えが同一の物理ブロックに集中することを防止している。
【００５３】
フラッシュメモリは、
（ａ）書き込み済みのページに上書きすることはできない。
（ｂ）フラッシュメモリには書き換え回数寿命がある。
といった特徴がある。このため、論理ブロック番号と物理ブロック番号の対応表である論物変換テーブル１７１を作成し、ブロック管理手段１７０により管理している。
【００５４】
以下、ブロック管理手段１７０について詳細に説明する。論物変換テーブル１７１は図８に一例を示すように、論物変換主テーブル１７１ａと論物変換補助テーブル１７１ｂを有している。論物変換主テーブル１７１ａでは、論理ブロック番号ＬＢ０の論理ブロックが物理ブロック番号ＰＢ３の物理ブロックに、論理ブロック番号ＬＢ１の論理ブロックが物理ブロック番号ＰＢ６の物理ブロックにマッピングされていることを示している。また論理ブロック番号ＬＢＬ及びＬＢ（Ｌ＋１）の論理ブロックには、対応する物理ブロックとして無効な番号Ａが記録されている。これはこれらの論理ブロックＬＢＬ，ＬＢ（Ｌ＋１）にデータが書かれていないことを示している。
【００５５】
また図８（ｂ）に示す論物変換補助テーブル１７１ｂは、１つの論理ブロックに複数の物理ブロックが割り当てられたときに追加の物理ブロックの番号を保持するものである。この論物変換補助テーブル１７１ｂへの登録数は少なくとも１つとし、ここでは登録数が１の場合について説明する。
【００５６】
ブロック管理手段１７０では、空きブロック管理テーブル１７２を管理しながら半導体記憶装置全体のブロック管理を実施している。図９は空きブロック管理テーブル１７２の一例であり、各物理ブロックの使用状態を示す。使用状態が１の物理ブロックは使用中、０の物理ブロックは空きブロックで新たに使用できることを示す。
【００５７】
ブロック管理手段１７０は、電源が供給されると、空きブロック管理テーブル１７２の全ブロックを空き状態に初期化し、不良ブロックを使用済みに更新する。不良ブロックの管理は発明の本質から外れるので詳細な説明はしないが、フラッシュメモリの固定位置に書き込んでおく。次いで論物変換テーブル１７１を読み出し、これに基づいて使用されている物理ブロックを使用済みに更新する。また書き込み済みの論理ブロックを書き換えるときは、空きブロック管理テーブル１７２よりランダムにサーチして空き物理ブロックを新規物理ブロックとして選択する。選択された物理ブロックにデータが書き込まれると、そのブロックを使用済みブロックに、当該論理ブロックに対応していた直前の物理ブロックを空きブロックに更新する。
【００５８】
ホスト機器２００Ａのファイルを半導体記憶装置１００Ａに転送して書き込む処理の概略について、図１０を用いて説明する。まず、ホスト機器２００Ａ上のアプリケーションが半導体記憶装置１００Ａにファイルを書き込む場合、ファイルシステムが半導体記憶装置１００Ａへ書き込む論理アドレスを求める。半導体記憶装置１００Ａへ書き込む際には、ホスト機器２００Ａ内のデータバッファ２５０のサイズや半導体記憶装置１００Ａで受けられる転送サイズなどの制約により、ファイルを小さなサイズに分割して半導体記憶装置１００Ａへ書き込む。図１０ではファイルを１から６の６つのブロックに分割して書き込みを行う。図１０の半導体記憶システムは、ホスト機器２００Ａのコマンド分割手段２４０により分割後、転送すべきデータをデータバッファ２５０に蓄積し、コマンド発行手段２２０で書き込みコマンドを生成して、外部インターフェイス手段２１０経由でコマンドを発行する。ホスト機器２００Ａと半導体記憶装置１００Ａ間でデータ転送が完了して、半導体記憶装置１００Ａ内のフラッシュメモリ１４０へのデータの書き込みが完了すれば、データバッファ２５０内のデータを開放し、次の転送へ移行する。図１０に示す１から６の６つのブロックの転送が完了すれば、ファイルの転送が完了したことになる。
【００５９】
次にホスト機器２００Ａの全体動作について、以下詳細に説明する。図１１はホスト機器２００Ａの動作を示すフローチャートである。ここではホスト機器２００Ａは半導体記憶装置１００Ａにファイル１，２，３・・・を順次記録する場合について説明する。図１１において処理を開始すると、図１０に示すようにコマンド分割手段２４０により、コマンドをファイルの転送サイズに分割する（Ｓ１１）。分割の手順としては、半導体記憶装置１００Ａから、メモリ情報通知手段１８０を経由して、フラッシュメモリ１４０の情報を取り出す。コマンド分割手段２４０は、ブロック境界管理手段２６０に保持している物理ブロックサイズをもとに書き込むべきファイルを物理ブロックの境界で分割する。次にデータを書き込もうとしている物理ブロックに既に書き込まれたデータとこれから転送するデータがデータバッファ２５０に保持されているかを確認する（Ｓ１２）。データが存在する場合は、分割したデータを含む書き込みコマンドを半導体記憶装置１００Ａに対して発行する（Ｓ１３）。エラーが発生することなく書き込みが終了した場合は、転送を終了した物理ブロック単位の分のデータがデータバッファ２５０にあれば、これを解放する（Ｓ１６）。次いでＳ１７に進み、全ファイルの書き込みが終了したかどうか判断する。全ファイルの書き込みが終了していない場合には、Ｓ１１へ戻り、再度ファイルの残り部分を書き込む。ファイルの書き込みが完了した場合には、転送を終了する。エラーが発生した場合にはＳ１４からＳ１５に進み、当該コマンドで転送したデータを含む物理ブロック全体のデータを再度書き込む。こうすればエラーが生じた物理ブロック内のデータを復旧することができる。
【００６０】
一方、Ｓ１２でデータを書き込もうとしている物理ブロックに対して既に書き込まれたデータがデータバッファ２５０に保持されていない場合は、Ｓ２１に進む。この場合は新物理ブロックを要求するコマンドを発行し、書き込みコマンドを発行する（Ｓ２１，Ｓ２２）。この書き込みによってエラーが発生したかどうかを判断する。エラーが発生しない場合には、Ｓ１７に進む。エラーが発生した場合には、当該コマンドで書き込めなかったデータのみ再書き込みを行う。
【００６１】
さて、ホスト機器２００Ａが半導体記憶装置１００Ａに書き込みコマンドを出すと、アドレス変換手段１２０は、ホスト機器２００Ａが書き込みを要求した論理アドレスを実際に書き込みを行う物理アドレスに変換する。その物理ブロックに空きがあれば追記書き込みを行い、空きがなければ新物理ブロックを確保する。新物理ブロックの確保が必要であれば、ブロック管理手段１７０は空きブロック管理テーブル１７２をサーチして新規物理ブロックを確保する。データ書き込み手段１３０は、新たに物理ブロックが確保された後に、フラッシュメモリ１４０に対して書き込みを行う。
【００６２】
次にＳ１３以降の処理についてより詳しく図１２を用いて動作例と共に説明する。図１２の上図が論理アドレス空間ＬＡであり、下図がこれに対応する物理アドレス空間ＰＡを示す概念図である。まずファイル１の（１−１）の部分を論理ブロックＬＢ１に割り当て、このデータを物理ブロックＰＢ１に書き込み、ファイル１の（１−２）の部分を論理ブロックＬＢ２に割り当て、このデータを物理ブロックＰＢ２の前半部分に書き込む。続いてファイル２を書き込む場合に、（２−１）の部分を論理ブロックＬＢ２に割り当て、物理ブロックＰＢ２の後半部分に書き込む。このときＳ１２ではデータバッファ２５０が直前のファイル１の（１−２）部分のデータを保持しているかどうかを確認しており、保持していれば（２−１）のデータを物理ブロックＰＢ２の後半部分に追記する。この書き込み中にエラーが発生した場合には、ファイル１，２の（１−２）と（２−１）の部分を再度書き込むことにより、物理ブロックのデータの安全性は確保される。データ解放判断手段２７０は、図１２のファイル１の（１−２）の転送が完了した時点ではデータバッファ２５０のデータの解放を行わずに、次のファイル２の（２−１）の書き込み時のエラーに備えて、データを保存したままにしておく。ファイル２の（２−１）の書き込みが完了した時点で、データ解放判断手段２７０は、ファイル１の（１−２）及びファイル２の（２−１）のデータを解放すると判断し、データバッファ２５０内のデータを解放する（Ｓ１６）。
【００６３】
これについて、図１３を用いて更に詳細に説明する。図１３では左側の論理アドレス空間の論理ブロックＬＢ２の一部に、図示のようにファイル１の（１−２）部分が既に書き込み済みであり、論理ブロックＬＢ２に対応する物理ブロックＰＢ２のページ０から（Ｋ−２）までにファイル１の（１−２）部分が書き込まれているものとする。この場合は物理ブロックＰＢ２にファイル（２−１）追記して書き込む。
【００６４】
更に、Ｓ２１以の処理についてより詳しく図１４を用いて動作例と共に説明する。図１２と同様にファイル１の（１−１）の部分を論理ブロックＬＢ１に割り当て、このデータを物理ブロックＰＢ１に書き込み、ファイル１の（１−２）の部分を論理ブロックＬＢ２に割り当て、このデータを物理ブロックＰＢ２の前半部分に書き込む。ファイル１書き込み後に、ホスト機器２００Ａと半導体記憶装置１００Ａの電源がオフとなり、その後、再度電源が投入され、ファイル２を書き込むものとする。電源オフによりホスト機器２００Ａのデータバッファ２５０にはファイル１の（１−２）の部分のデータは消えている。従ってＳ１２ではデータが存在しないと判断され、Ｓ２１に進む。この場合には、ファイル２の（２−１）の書き込みに先立って、新たな物理ブロックを要求する。そして論理ブロックＬＢ２にファイル２の（２−２）に対してデータを書き込む。半導体記憶装置１００Ａは新物理ブロック、例えばＰＢ１０を抽出し、このブロックにファイル２のデータ（２−１）部分を書き込む。この書き込み中にエラーが発生したとしても、物理ブロックＰＢ２に書き込まれているファイル１の（１−２）部分のデータには影響がない。従ってファイル２の（２−１）部分のみ再度書き込みを行うことで復旧することができる。
【００６５】
この方法によれば、電源がオンとなる以前に書き込まれたファイルを破壊しないで書き込むことができる。これについて、図１５を用いて更に詳細に説明する。図１５では左側の論理アドレス空間の論理ブロックＬＢ２の一部に、図示のようにファイル１の（１−２）部分が既に書き込み済みであり、論理ブロックＬＢ２に対応する物理ブロックＰＢ２のページ０から（Ｋ−２）までにファイル１の（１−２）部分が書き込まれているものとする。この場合の論物変換テーブル１７１の状態の変化を説明する。図１６は図１５の物理ブロックＰＢ２が登録されていることを示す論物変換テーブルである。即ち論物変換主テーブル１７１ａの論理ブロック番号ＬＢ２は物理アドレス空間の物理ブロックＰＢ２に割り当てられている。
【００６６】
さてこの状態で論理ブロックＬＢ２にファイル（２−１）を追記する。この場合は物理ブロックＰＢ２へ追記はせずに新たに物理ブロックＰＢ１０を確保し、この物理ブロックＰＢ１０にファイル（２−１）を書き込む。図１６（ｂ）は、論理ブロックが２つの物理ブロックから構成される場合に、利用する論物変換補助テーブル１７１ｂであり、このテーブルに示すように論理ブロックＬＢ２が右下側の物理ブロックＰＢ１０にも割り当てられている。こうすれば、ファイル（２−１）の書き込み中に突然の電源断が発生しても、ファイル１の（１−２）が保持されている物理ブロックとは異なるために、ファイル１の破壊を回避することができる。
【００６７】
データバッファ２５０は、通常限られた領域であり、ホスト機器２００Ａの処理に応じて頻繁に、確保と、解放が行われる。本発明では、エラー発生時に備えて、転送中のデータに加えて、エラーの伝搬がおよぶ領域のデータもデータバッファ２５０に保持しているが、データバッファ２５０の領域が足りなくなった場合には、エラーの伝搬がおよぶ領域のデータの解放を優先する。データが解放されて、データバッファ２５０から消去されてしまったかどうかは、ホスト機器２００Ａのソフトウエアが管理するために、判断可能である。従って図１４において、ファイル２の（２−４）の書き込み後に、ホスト機器２００Ａでデータバッファ２５０を利用する処理が発生して、（２−４）のデータが解放されたとする。この場合、つづくファイル３の（３−１）部分の書き込みの時点ではデータバッファ２５０には（２−４）のデータは存在しない。従ってＳ２１以降の処理に進み、新たな物理ブロックを要求する。半導体記憶装置１００Ａは新物理ブロック、例えばＰＢ１１を抽出し、このブロックにファイル３のデータ（３−１）部分を書き込む。
【００６８】
かかる構成によれば、ホスト機器側でエラー伝搬するデータを保持しておくことにより、新規に物理ブロックを確保する場合を少なくすることができる。過去のデータの破壊が許されない場合の書き込みにのみ新規に物理ブロックを確保して書き込みを行うことにより、転送速度・書き換え回数への影響を少なくすることが可能になる。
【００６９】
物理ブロックに余裕があるにもかかわらず新規物理ブロックを確保してデータを書き込んだ場合には、１つの論理ブロックに対して２つの物理ブロックが必要になり、容量的に課題がある。このために、データの書き込みや読み出しを行っていないときに、新たな物理ブロックを確保して、２つの物理ブロックから有効なページのみを集めて１つの物理ブロックに集約する必要がある。集約処理について図１７，図１８を用いて説明する。集約処理では、図１７の右側に示すように、新たに物理ブロック、ここではＰＢ２０を確保する。そして同一の論理ブロックＬＢ２に対応する２つの物理ブロックＰＢ２と物理ブロックＰＢ１０の有効なページのデータを集めて、物理ブロックＰＢ２０にコピーをする。コピーが完了すると、図１８のように論物変換主テーブル１７１ａでは論理ブロックＬＢ２に対して物理ブロックＰＢ２０を登録すると共に、論物変換補助テーブル１７１ｂの論理ブロックＬＢ２に無効番号であるＡを登録する。
【００７０】
（第２の実施の形態）
次に本発明の第２の実施の形態について説明する。図１９Ａはこの実施の形態の半導体記憶装置１００Ｂの構成であり、図１９Ｂはホスト機器２００Ｂの構成を示す。半導体記憶装置１００Ｂは図１９Ａに示すようにデータ書き込み手段１３０にエラー伝搬検出手段１９０が接続される。エラー伝搬検出手段１９０はデータの書き込みがフラッシュメモリの第２ページに書き込まれ、伝搬の可能性が生じる書き込みかどうかを判別し、実際にエラーが生じればエラーによる伝搬の可能性を外部インターフェイス手段１１０を介してホスト機器２００Ｂに伝えるものである。又ホスト機器２００Ｂのコマンド発行手段２８０は外部インターフェイス手段２１０を介してエラーによる伝搬の可能性が伝えられた場合に、物理ブロックの単位で再書き込みをするコマンドを発行するものである。その他の動作についてはコマンド発行手段２２０と同様である。
【００７１】
次に図２０のフローチャートを用いて第２の実施の形態の動作について説明する。図２０において前述した第１の実施の形態と同一部分は同一のステップ番号を付して詳細な説明を省略する。ステップＳ１４においてエラーがあればホスト機器２００Ｂはエラー伝搬のデータを待受ける。エラー伝搬検出手段１９０は、エラーがあった場合にセル共有によるエラーが伝搬する範囲を特定して、書き込みエラー時に、セル共有によるエラー伝搬が起こったかどうかをホスト機器２００に通知する。Ｓ１８において、ホスト機器２００のコマンド発行手段２８０はセル共有によるエラー伝搬が起こっていない場合には、Ｓ２４に進んでエラーが発生した書き込みコマンドのみを書き込みコマンドとして再発行する。一方、セル共有によるエラー伝搬が起こっている場合には、Ｓ１５に進んで物理ブロック全体の書き込みコマンドを発行する。こうすることにより、再送するデータを最適化することが可能になる。
【００７２】
尚この実施の形態では、第２ページの書き込みがあり、且つエラーがあった場合に、エラーの伝搬の可能性があるとしてホスト機器にエラー伝搬を検出するようにしているが、実際に第２ページにおいて伝搬が生じたかどうかを判別してホスト機器に伝えるようにしてもよい。この場合にはテーブルにエラーの伝搬するアドレスを保持しておき、エラー伝搬する可能性のあるアドレスをフラッシュメモリの書き込みアドレスから検出すれば、エラーが発生したときのアドレスから伝搬するアドレスを特定して伝搬が影響するかを判断することができる。
【００７３】
なお、ホスト機器から半導体記憶装置に映像を記録する場合であっても、ホスト機器がパーソナルコンピュータ（ＰＣ）であってファイルを書き込む場合も、同等の効果を得ることが可能になる。
【００７４】
また本願の第１，第２の実施の形態では、多値フラッシュメモリの１つのメモリセルに格納するビット数を２ビットとしたが、更に状態を増加させ１メモリセルに３ビット以上格納できるフラッシュメモリにも適応可能であることはいうまでもない。
【００７５】
更に、フラッシュメモリのみならず、他の不揮発性メモリに適応しても同様の効果が得られることはいうまでもない。また、ホスト機器から転送されるデータを記録する半導体記憶装置として説明したが、ホスト機器内に半導体記憶装置を備えた装置であっても同様の効果が得られることはいうまでもない。
【００７６】
尚ここでは物理ブロックを消去の最小の単位として説明しているが、物理ブロックは論理ブロックに対応するブロックとして規定されるものであるため、物理ブロックのサイズと消去の単位とが異なるものとしてもよい。この場合には１つの物理ブロックを消去の最小単位の整数倍のサイズとすることもできる。この場合には各消去の単位毎に現在の状態を空きブロック管理テーブル等で管理する必要がある。尚消去の単位は多値フラッシュメモリにおいてはメモリの共有関係を有するグループとして考えることができる。
【産業上の利用可能性】
【００７７】
本発明の半導体記憶装置は、セル共有部分のデータの破壊による影響を最小限にとどめることができるので、信頼性を必要とされる業務用分野等で有用である。
【図面の簡単な説明】
【００７８】
【図１】多値フラッシュメモリの構造を示す模式図
【図２】多値フラッシュメモリの電子の蓄積状態を示す模式図
【図３】多値フラッシュメモリの物理ブロックのセル共有を示す図
【図４】多値フラッシュメモリのセルの状態遷移図
【図５】多値フラッシュメモリを用いた場合のファイルの追加によるエラー伝搬発生の説明図
【図６Ａ】本発明の第１の実施の形態における半導体記憶装置の構成図
【図６Ｂ】本発明の第１の実施の形態におけるホスト機器の構成図
【図７】フラッシュメモリにおけるメモリ領域の説明図
【図８】本実施の形態の論物変換テーブルの説明図
【図９】本実施の形態の空きブロック管理テーブルの説明図
【図１０】本発明の実施の形態におけるファイル転送を示す説明図
【図１１】本発明の実施の形態におけるホスト機器のフローチャート
【図１２】本発明の実施の形態における具体的な通常動作の説明図
【図１３】本実施の形態のファイルを同一物理ブロックに追記して書き込む手順を示す説明図
【図１４】本発明の実施の形態における新物理ブロックへの書き込みの説明図
【図１５】本実施の形態のファイルを別物理ブロックに書き込む手順を示す説明図
【図１６】本実施の形態の１つの論理ブロックを２つの物理ブロックから構成する論物変換テーブルの説明図
【図１７】本実施の形態の２つの物理ブロックを１ブロックに集約する手順を示す説明図
【図１８】本実施の形態の１つの論理ブロックを１つの物理ブロックから構成する論物変換テーブルの説明図
【図１９Ａ】本発明の第２の実施の形態による半導体記憶装置の構成図
【図１９Ｂ】本発明の第２の実施の形態によるホスト機器の構成図
【図２０】本実施の形態によるホスト機器の動作を示すフローチャート
【符号の説明】
【００７９】
１００Ａ，１００Ｂ  半導体記憶装置
１１０  外部インターフェイス手段
１２０  アドレス変換手段
１３０  データ書き込み手段
１４０  フラッシュメモリ
１５０  データ読み出し手段
１６０  コマンド解析手段
１７０  ブロック管理手段
１７１  論物変換テーブル
１７１ａ  論物変換主テーブル
１７１ｂ  論物変換補助テーブル
１７２  空きブロック管理テーブル
１８０  メモリ情報通知手段
１９０  エラー伝搬検出手段
２００Ａ，２００Ｂ  ホスト機器
２１０  外部インターフェイス手段
２２０，２８０  コマンド発行手段
２３０  新ブロック書き込み要求手段
２４０  コマンド分割手段
２５０  データバッファ
２６０  ブロック境界管理手段
２７０  データ解放判断手段
【図１】
2010160605.tif 000003
【図２】
2010160605.tif 000004
【図３】
2010160605.tif 000005
【図４】
2010160605.tif 000006
【図５】
2010160605.tif 000007
【図６Ａ】
2010160605.tif 000008
【図６Ｂ】
2010160605.tif 000009
【図７】
2010160605.tif 000010
【図８】
2010160605.tif 000011
【図９】
2010160605.tif 000012
【図１０】
2010160605.tif 000013
【図１１】
2010160605.tif 000014
【図１２】
2010160605.tif 000015
【図１３】
2010160605.tif 000016
【図１４】
2010160605.tif 000017
【図１５】
2010160605.tif 000018
【図１６】
2010160605.tif 000019
【図１７】
2010160605.tif 000020
【図１８】
2010160605.tif 000021
【図１９Ａ】
2010160605.tif 000022
【図１９Ｂ】
2010160605.tif 000023
【図２０】
2010160605.tif 000024