(57)【要約】  不揮発性記憶装置は複数のメモリコントローラを有し、夫々のメモリコントローラに集約処理部と集約同期部とを設ける。集約処理部は集約同期部からの信号に基づいて前記テンポラリ物理ブロックの有効データを他の物理ブロックに集約する。集約同期部は一方のメモリコントローラで集約処理が必要な場合に同期信号を他方のメモリコントローラに送出し、他方のメモリコントローラについても集約処理を同時に行う。こうすれば複数のメモリコントローラを有する不揮発性記憶装置において、集約処理に要する時間を短くでき、高速で書き込み処理を行うことができる。
2008102610.tif 000002
【特許請求の範囲】
【請求項１】
複数の物理ブロックを記録領域とする不揮発性メモリへのデータの書き込み及び前記不揮発性メモリからのデータの読み出しを行うメモリコントローラであって、
外部からの信号に応じて前記不揮発性メモリにデータの書き込み及び読み出し処理を行う書込み読出し制御部と、
転送されたデータを一時書き込むテンポラリ物理ブロックに空きがなくなったとき及び外部から同期信号が入力されたときに集約処理の開始を指示し、前記テンポラリ物理ブロックに空きがなくなったときに同期信号を出力する集約同期部と、
前記集約同期部からの信号に基づいて前記テンポラリ物理ブロックの有効データを他の物理ブロックに集約する集約処理部と、を備えたメモリコントローラ。
【請求項２】
外部から入力された識別信号に基づき、メモリコントローラを単独で機能させるか複数併行して機能させるかを決定するモード検知部をさらに備えた請求項１記載のメモリコントローラ。
【請求項３】
外部から入力された識別信号に基づき、メモリコントローラをマスター及びスレーブのいずれのメモリコントローラとして用いるかを決定するマスタースレーブ検知部をさらに備えた請求項１記載のメモリコントローラ。
【請求項４】
外部から入力された識別信号に基づき、メモリコントローラを単独で機能させるか複数併行して機能させるかを決定するモード検知部と、
外部から入力された識別信号に基づき、メモリコントローラをマスター及びスレーブのいずれのメモリコントローラとして用いるかを決定するマスタースレーブ検知部と、をさらに備えた請求項１記載のメモリコントローラ。
【請求項５】
複数の物理ブロックを記録領域とする不揮発性メモリへのデータの書き込み及び前記不揮発性メモリからのデータの読み出しを行うメモリコントローラであって、
外部からの信号に応じて前記不揮発性メモリにデータの書き込み及び読み出し処理を行う書込み読出し制御部と、
転送されたデータを一時書き込むテンポラリ物理ブロックの空き容量が所定の閾値を下回ったとき及び外部から同期信号が入力されたときに集約処理の開始を指示し、前記テンポラリ物理ブロックの空き容量が所定の閾値を下回ったときに同期信号を出力する集約同期部と、
前記集約同期部からの信号に基づいて前記テンポラリ物理ブロックの有効データを他の物理ブロックに集約する集約処理部と、を備えたメモリコントローラ。
【請求項６】
複数のメモリモジュールを備えた不揮発性記憶装置であって、
前記各メモリモジュールは、
複数の物理ブロックを記録領域とする不揮発性メモリと、
前記不揮発性メモリへのデータの書き込み及び前記不揮発性メモリからのデータの読み出しを行うメモリコントローラとを具備するものであり、
前記メモリコントローラは、
外部からの信号に応じて前記不揮発性メモリにデータの書き込み及び読み出し処理を行う書込み読出し制御部と、
転送されたデータを一時書き込むテンポラリ物理ブロックに空きがなくなったとき及び他のメモリモジュールのメモリコントローラから同期信号が入力されたときに集約処理の開始を指示し、前記テンポラリ物理ブロックに空きがなくなったときに同期信号を出力する集約同期部と、
前記集約同期部からの信号に基づいて前記テンポラリ物理ブロックの有効データを他の物理ブロックに集約する集約処理部と、を備えた不揮発性記憶装置。
【請求項７】
前記各メモリコントローラは、
外部から入力された識別信号に基づき、該各メモリコントローラを単独で機能させるか複数併行して機能させるかを決定するモード検知部をさらに備えた請求項６記載の不揮発性記憶装置。
【請求項８】
前記各メモリコントローラは、
外部から入力された識別信号に基づき、該各メモリコントローラをマスター及びスレーブのいずれのコントローラとして用いるかを決定するマスタースレーブ検知部をさらに備えた請求項６記載の不揮発性記憶装置。
【請求項９】
前記マスタースレーブ検知部は、１つのメモリモジュールのマスタースレーブ検知部からの信号に応じて他のメモリコントローラをマスター及びスレーブのいずれかのコントローラとして用いる請求項８記載の不揮発性記憶装置。
【請求項１０】
前記各メモリコントローラは、
外部から入力された識別信号に基づき、該各メモリコントローラを単独で機能させるか複数併行して機能させるかを決定するモード検知部と、
外部から入力された識別信号に基づき、該各メモリコントローラをマスター及びスレーブのいずれのコントローラとして用いるかを決定するマスタースレーブ検知部と、をさらに備えた請求項６記載の不揮発性記憶装置。
【請求項１１】
前記マスタースレーブ検知部は、１つのメモリモジュールのマスタースレーブ検知部からの信号に応じて他のメモリコントローラをマスター及びスレーブのいずれかのコントローラとして用いる請求項１０記載の不揮発性記憶装置。
【請求項１２】
複数のメモリモジュールを備えた不揮発性記憶装置であって、
前記各メモリモジュールは、
複数の物理ブロックを記録領域とする不揮発性メモリと、
前記不揮発性メモリへのデータの書き込み及び前記不揮発性メモリからのデータの読み出しを行うメモリコントローラとを具備するものであり、
前記メモリコントローラは、
外部からの信号に応じて前記不揮発性メモリにデータの書き込み及び読み出し処理を行う書込み読出し制御部と、
転送されたデータを一時書き込むテンポラリ物理ブロックの空き容量が所定の閾値を下回ったとき及び他のメモリモジュールのメモリコントローラから同期信号が入力されたときに集約処理の開始を指示し、前記テンポラリ物理ブロックの空き容量が所定の閾値を下回ったときに同期信号を出力する集約同期部と、
前記集約同期部からの信号に基づいて前記テンポラリ物理ブロックの有効データを他の物理ブロックに集約する集約処理部と、を備えた不揮発性記憶装置。
【請求項１３】
複数のメモリモジュールを備えた不揮発性記憶装置と、
前記不揮発性記憶装置にアクセスするアクセス装置とを有する不揮発性記憶システムであって、
前記不揮発性記憶装置の各メモリモジュールは、
複数の物理ブロックを記録領域とする不揮発性メモリと、
前記不揮発性メモリへのデータの書き込み及び前記不揮発性メモリからのデータの読み出しを行うメモリコントローラとを具備するものであり、
前記メモリコントローラは、
外部からの信号に応じて前記不揮発性メモリにデータの書き込み及び読み出し処理を行う書込み読出し制御部と、
転送されたデータを一時書き込むテンポラリ物理ブロックに空きがなくなったとき及び他のメモリモジュールのメモリコントローラから同期信号が入力されたときに集約処理の開始を指示し、前記テンポラリ物理ブロックに空きがなくなったときに同期信号を出力する集約同期部と、
前記集約同期部からの信号に基づいて前記テンポラリ物理ブロックの有効データを他の物理ブロックに集約する集約処理部と、を備えた不揮発性記憶システム。
【請求項１４】
前記各メモリコントローラは、
外部から入力された識別信号に基づき、該各メモリコントローラを単独で機能させるか複数併行して機能させるかを決定するモード検知部をさらに備えた請求項１３記載の不揮発性記憶システム。
【請求項１５】
前記各メモリコントローラは、
外部から入力された識別信号に基づき、該各メモリコントローラをマスター及びスレーブのいずれのコントローラとして用いるかを決定するマスタースレーブ検知部をさらに備えた請求項１３記載の不揮発性記憶システム。
【請求項１６】
前記マスタースレーブ検知部は、１つのメモリモジュールのマスタースレーブ検知部からの信号に応じて他のメモリコントローラをマスター及びスレーブのいずれかのコントローラとして用いる請求項１５記載の不揮発性記憶システム。
【請求項１７】
前記各メモリコントローラは、
外部から入力された識別信号に基づき、該各メモリコントローラを単独で機能させるか複数併行して機能させるかを決定するモード検知部と、
外部から入力された識別信号に基づき、該各メモリコントローラをマスター及びスレーブのいずれのコントローラとして用いるかを決定するマスタースレーブ検知部と、をさらに備えた請求項１３記載の不揮発性記憶システム。
【請求項１８】
前記マスタースレーブ検知部は、１つのメモリモジュールのマスタースレーブ検知部からの信号に応じて他のメモリコントローラをマスター及びスレーブのいずれかのコントローラとして用いる請求項１７記載の不揮発性記憶システム。
【請求項１９】
複数のメモリモジュールを備えた不揮発性記憶装置と、
前記不揮発性記憶装置にアクセスするアクセス装置とを有する不揮発性記憶システムであって、
前記不揮発性記憶装置の各メモリモジュールは、
複数の物理ブロックを記録領域とする不揮発性メモリと、
前記不揮発性メモリへのデータの書き込み及び前記不揮発性メモリからのデータの読み出しを行うメモリコントローラとを具備するものであり、
前記メモリコントローラは、
外部からの信号に応じて前記不揮発性メモリにデータの書き込み及び読み出し処理を行う書込み読出し制御部と、
転送されたデータを一時書き込むテンポラリ物理ブロックの空き容量が所定の閾値を下回ったとき及び他のメモリモジュールのメモリコントローラから同期信号が入力されたときに集約処理の開始を指示し、前記テンポラリ物理ブロックの空き容量が所定の閾値を下回ったときに同期信号を出力する集約同期部と、
前記集約同期部からの信号に基づいて前記テンポラリ物理ブロックの有効データを他の物理ブロックに集約する集約処理部と、を備えた不揮発性記憶システム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、不揮発性メモリを備えた半導体メモリカード等の不揮発性記憶装置、不揮発性メモリを制御するメモリコントローラ、及び不揮発性記憶装置にアクセス装置を構成要件として加えた不揮発性記憶システムに関する。
【背景技術】
【０００２】
書き換え可能な不揮発性メモリを備える不揮発性記憶装置は、半導体メモリカードを中心にその需要が広まっている。半導体メモリカードは、光ディスクやテープメディアなどと比較して高価格なものではあるが、小型・軽量・耐震性・取り扱いの簡便さ等のメリットにより、デジタルスチルカメラや携帯電話などのポータブル機器の記録媒体としてその需要が広まっている。最近では半導体メモリカードは、民生用動画記録機器や放送局向けのプロ用動画記録機器の記録媒体として利用されるようになってきた。更には、ポータブル機器だけではなくデジタルテレビやＤＶＤレコーダ等の据え置き機器にも半導体メモリカード用のスロットが標準装備され、デジタルスチルカメラで撮影した静止画をデジタルテレビで閲覧したり、民生用動画記録機器で撮影した動画をＤＶＤレコーダにダビングできるようになってきた。【０００３】
半導体メモリカードなどの不揮発性記憶装置は、不揮発性の主記憶メモリとしてフラッシュメモリを備え、それを制御するメモリコントローラを有している。メモリコントローラは、デジタルスチルカメラ本体等のアクセス装置からの読み書き指示に応じて、フラッシュメモリに対する読み書き制御を行う。【０００４】
ところで、不揮発性記憶装置は、書き込み速度が低速で廉価なもの（以下、タイプＳという）と、書き込み速度が高速で高価なもの（以下、タイプＭという）の２種類に大別できる。タイプＳは、主にパソコンなどの比較的低速アクセスでよいシステムに用いられ、タイプＭは、主に動画記録再生装置などの高速アクセスを必要とするシステムに用いられる。【０００５】
タイプＳの不揮発性記憶装置は、１チップのフラッシュメモリを実装しており、更にこのフラッシュメモリのアクセス制御を行うメモリコントローラとして、フラッシュメモリと１つのメモリバスを介してアクセスを行うシングルバスコントローラ（以下、コントローラ１という）を１チップ実装している。一方、タイプＭの不揮発性記憶装置は、フラッシュメモリを２チップ以上実装しており、更にマルチバスコントローラ（以下、コントローラ２という）を実装し、コントローラ２の各バスに各フラッシュメモリを独立に接続している。【０００６】
しかし、タイプＳ、Ｍ毎に異なるメモリコントローラを開発した場合、メモリコントローラの開発費用が嵩むといった問題点がある。【０００７】
この問題点に対して、特許文献１は、タイプによらず汎用的なメモリコントローラを使用する装置を提案している。この装置によれば、ブロックコントローラと呼ばれる汎用的なコントローラと、カメラ本体などのアクセス装置とのインタフェースであるインタフェースと、ブロックコントローラ全体を制御するマスターコントローラの３種類の回路部を備え、タイプＳを実現する際はブロックコントローラを１つ実装し、タイプＭを実現する際はブロックコントローラを複数実装するものである。
【特許文献１】特開平０４−２６８２８４号公報
【発明の開示】
【発明が解決しようとする課題】
【０００８】
しかしながら、上述した従来の不揮発性記憶装置では、複数のフラッシュメモリを同時にアクセスできるようにしても、フラッシュメモリに対して夫々集約処理をする必要があるため、かえって高速化が妨げられることがあるという問題点があった。【０００９】
本発明は上記問題点に鑑み、高速に書き込み処理が行えるメモリコントローラ、不揮発性記憶装置及び不揮発性記憶システムを提供することを目的とする。
【課題を解決するための手段】
【００１０】
この課題を解決するために本発明のメモリコントローラは、複数の物理ブロックを記録領域とする不揮発性メモリへのデータの書き込み及び前記不揮発性メモリからのデータの読み出しを行うメモリコントローラであって、外部からの信号に応じて前記不揮発性メモリにデータの書き込み及び読み出し処理を行う書込み読出し制御部と、転送されたデータを一時書き込むテンポラリ物理ブロックに空きがなくなったとき及び外部から同期信号が入力されたときに集約処理の開始を指示し、前記テンポラリ物理ブロックに空きがなくなったときに同期信号を出力する集約同期部と、前記集約同期部からの信号に基づいて前記テンポラリ物理ブロックの有効データを他の物理ブロックに集約する集約処理部と、を備えたものである。【００１１】
ここで外部から入力された識別信号に基づき、メモリコントローラを単独で機能させるか複数併行して機能させるかを決定するモード検知部をさらに備えるようにしてもよい。【００１２】
ここで外部から入力された識別信号に基づき、メモリコントローラをマスター及びスレーブのいずれのメモリコントローラとして用いるかを決定するマスタースレーブ検知部をさらに備えるようにしてもよい。【００１３】
ここで外部から入力された識別信号に基づき、メモリコントローラを単独で機能させるか複数併行して機能させるかを決定するモード検知部と、外部から入力された識別信号に基づき、メモリコントローラをマスター及びスレーブのいずれのメモリコントローラとして用いるかを決定するマスタースレーブ検知部と、をさらに備えるようにしてもよい。【００１４】
この課題を解決するために本発明のメモリコントローラは、複数の物理ブロックを記録領域とする不揮発性メモリへのデータの書き込み及び前記不揮発性メモリからのデータの読み出しを行うメモリコントローラであって、外部からの信号に応じて前記不揮発性メモリにデータの書き込み及び読み出し処理を行う書込み読出し制御部と、転送されたデータを一時書き込むテンポラリ物理ブロックの空き容量が所定の閾値を下回ったとき及び外部から同期信号が入力されたときに集約処理の開始を指示し、前記テンポラリ物理ブロックの空き容量が所定の閾値を下回ったときに同期信号を出力する集約同期部と、前記集約同期部からの信号に基づいて前記テンポラリ物理ブロックの有効データを他の物理ブロックに集約する集約処理部と、を備えたものである。【００１５】
この課題を解決するために本発明の不揮発性記憶装置は、複数のメモリモジュールを備えた不揮発性記憶装置であって、前記各メモリモジュールは、複数の物理ブロックを記録領域とする不揮発性メモリと、前記不揮発性メモリへのデータの書き込み及び前記不揮発性メモリからのデータの読み出しを行うメモリコントローラとを具備するものであり、前記メモリコントローラは、外部からの信号に応じて前記不揮発性メモリにデータの書き込み及び読み出し処理を行う書込み読出し制御部と、転送されたデータを一時書き込むテンポラリ物理ブロックに空きがなくなったとき及び他のメモリモジュールのメモリコントローラから同期信号が入力されたときに集約処理の開始を指示し、前記テンポラリ物理ブロックに空きがなくなったときに同期信号を出力する集約同期部と、前記集約同期部からの信号に基づいて前記テンポラリ物理ブロックの有効データを他の物理ブロックに集約する集約処理部と、を備えたものである。【００１６】
ここで前記各メモリコントローラは、外部から入力された識別信号に基づき、該各メモリコントローラを単独で機能させるか複数併行して機能させるかを決定するモード検知部をさらに備えるようにしてもよい。【００１７】
ここで前記各メモリコントローラは、外部から入力された識別信号に基づき、該各メモリコントローラをマスター及びスレーブのいずれのコントローラとして用いるかを決定するマスタースレーブ検知部をさらに備えるようにしてもよい。【００１８】
ここで前記マスタースレーブ検知部は、１つのメモリモジュールのマスタースレーブ検知部からの信号に応じて他のメモリコントローラをマスター及びスレーブのいずれかのコントローラとして用いるようにしてもよい。【００１９】
ここで前記各メモリコントローラは、外部から入力された識別信号に基づき、該各メモリコントローラを単独で機能させるか複数併行して機能させるかを決定するモード検知部と、外部から入力された識別信号に基づき、該各メモリコントローラをマスター及びスレーブのいずれのコントローラとして用いるかを決定するマスタースレーブ検知部と、をさらに備えるようにしてもよい。【００２０】
ここで前記マスタースレーブ検知部は、１つのメモリモジュールのマスタースレーブ検知部からの信号に応じて他のメモリコントローラをマスター及びスレーブのいずれかのコントローラとして用いるようにしてもよい。【００２１】
この課題を解決するために本発明の不揮発性記憶装置は、複数のメモリモジュールを備えた不揮発性記憶装置であって、前記各メモリモジュールは、複数の物理ブロックを記録領域とする不揮発性メモリと、前記不揮発性メモリへのデータの書き込み及び前記不揮発性メモリからのデータの読み出しを行うメモリコントローラとを具備するものであり、前記メモリコントローラは、外部からの信号に応じて前記不揮発性メモリにデータの書き込み及び読み出し処理を行う書込み読出し制御部と、転送されたデータを一時書き込むテンポラリ物理ブロックの空き容量が所定の閾値を下回ったとき及び他のメモリモジュールのメモリコントローラから同期信号が入力されたときに集約処理の開始を指示し、前記テンポラリ物理ブロックの空き容量が所定の閾値を下回ったときに同期信号を出力する集約同期部と、前記集約同期部からの信号に基づいて前記テンポラリ物理ブロックの有効データを他の物理ブロックに集約する集約処理部と、を備えたものである。【００２２】
この課題を解決するために本発明の不揮発性記憶システムは、複数のメモリモジュールを備えた不揮発性記憶装置と、前記不揮発性記憶装置にアクセスするアクセス装置とを有する不揮発性記憶システムであって、前記不揮発性記憶装置の各メモリモジュールは、複数の物理ブロックを記録領域とする不揮発性メモリと、前記不揮発性メモリへのデータの書き込み及び前記不揮発性メモリからのデータの読み出しを行うメモリコントローラとを具備するものであり、前記メモリコントローラは、外部からの信号に応じて前記不揮発性メモリにデータの書き込み及び読み出し処理を行う書込み読出し制御部と、転送されたデータを一時書き込むテンポラリ物理ブロックに空きがなくなったとき及び他のメモリモジュールのメモリコントローラから同期信号が入力されたときに集約処理の開始を指示し、前記テンポラリ物理ブロックに空きがなくなったときに同期信号を出力する集約同期部と、前記集約同期部からの信号に基づいて前記テンポラリ物理ブロックの有効データを他の物理ブロックに集約する集約処理部と、を備えるものである。【００２３】
ここで前記各メモリコントローラは、外部から入力された識別信号に基づき、該各メモリコントローラを単独で機能させるか複数併行して機能させるかを決定するモード検知部をさらに備えるようにしてもよい。【００２４】
ここで前記各メモリコントローラは、外部から入力された識別信号に基づき、該各メモリコントローラをマスター及びスレーブのいずれのコントローラとして用いるかを決定するマスタースレーブ検知部をさらに備えるようにしてもよい。【００２５】
ここで前記マスタースレーブ検知部は、１つのメモリモジュールのマスタースレーブ検知部からの信号に応じて他のメモリコントローラをマスター及びスレーブのいずれかのコントローラとして用いるようにしてもよい。【００２６】
ここで前記各メモリコントローラは、外部から入力された識別信号に基づき、該各メモリコントローラを単独で機能させるか複数併行して機能させるかを決定するモード検知部と、外部から入力された識別信号に基づき、該各メモリコントローラをマスター及びスレーブのいずれのコントローラとして用いるかを決定するマスタースレーブ検知部と、をさらに備えるようにしてもよい。【００２７】
ここで前記マスタースレーブ検知部は、１つのメモリモジュールのマスタースレーブ検知部からの信号に応じて他のメモリコントローラをマスター及びスレーブのいずれかのコントローラとして用いるようにしてもよい。【００２８】
この課題を解決するために本発明の不揮発性記憶システムは、複数のメモリモジュールを備えた不揮発性記憶装置と、前記不揮発性記憶装置にアクセスするアクセス装置とを有する不揮発性記憶システムであって、前記不揮発性記憶装置の各メモリモジュールは、複数の物理ブロックを記録領域とする不揮発性メモリと、前記不揮発性メモリへのデータの書き込み及び前記不揮発性メモリからのデータの読み出しを行うメモリコントローラとを具備するものであり、前記メモリコントローラは、外部からの信号に応じて前記不揮発性メモリにデータの書き込み及び読み出し処理を行う書込み読出し制御部と、転送されたデータを一時書き込むテンポラリ物理ブロックの空き容量が所定の閾値を下回ったとき及び他のメモリモジュールのメモリコントローラから同期信号が入力されたときに集約処理の開始を指示し、前記テンポラリ物理ブロックの空き容量が所定の閾値を下回ったときに同期信号を出力する集約同期部と、前記集約同期部からの信号に基づいて前記テンポラリ物理ブロックの有効データを他の物理ブロックに集約する集約処理部と、を備えたものである。【００２９】
ここで前記識別信号は、前記各メモリコントローラに供給される電源電圧に応じて変化する電圧レベルとしてもよい。
【発明の効果】
【００３０】
本発明では、メモリコントローラは不揮発性メモリに対する集約処理を同期させて行うことができる。従って複数の不揮発性メモリをアクセスできる不揮発性記憶装置を実現する場合、メモリコントローラの集約処理に要する処理時間をお互いに隠蔽することができ、結果的に不揮発性記憶システム全体の処理速度を速くすることが可能となる。【００３１】
又本発明によれば、不揮発性メモリ及びメモリコントローラを含むメモリモジュールを複数備え、更にそれぞれのメモリモジュール内に検知部を備えることにより、それぞれのメモリコントローラをマスターコントローラ及びスレーブコントローラとして機能させることができる。さらに本発明では、メモリコントローラが共通しているため、低コストの不揮発性記憶システムを実現できる。
【図面の簡単な説明】
【００３２】
【図１】図１は本発明の実施の形態１における不揮発性記憶システムのブロック図である。
【図２Ａ】図２Ａは本実施の形態のメモリコントローラの主要部を示すブロック図である。
【図２Ｂ】図２Ｂは本実施の形態のメモリコントローラの主要部を示すブロック図である。
【図３】図３はメモリコントローラ１１０の初期化処理を示したフローチャートである。
【図４】図４はメモリコントローラ１４０の初期化処理を示したフローチャートである。
【図５Ａ】図５Ａはシングルモードにおける書き込み処理を示した図である。
【図５Ｂ】図５Ｂはデュアルモードにおける書き込み処理を示した図である。
【図６Ａ】図６Ａはシングルモードにおける論理アドレスＬＡのフォーマットを示した図である。
【図６Ｂ】図６Ｂはデュアルモードにおける論理アドレスＬＡのフォーマットを示した図である。
【図７】図７は本発明の実施の形態における集約同期する前の場合の書き込みの状態を示した図である。
【図８】図８は本発明の実施の形態における集約同期する場合の書き込み処理を示した図である。
【図９】図９は本発明の実施の形態における集約同期する場合の書き込み処理を示したタイムチャートである。
【図１０】図１０は比較例における不揮発性記憶システムのブロック図である。
【図１１Ａ】図１１Ａは比較例におけるメモリコントローラの主要部を示すブロック図である。
【図１１Ｂ】図１１Ｂは比較例におけるメモリコントローラの主要部を示すブロック図である。
【図１２】図１２は比較例における一方のメモリコントローラが集約同期する際の書き込み状態を示した図である。
【図１３】図１３は比較例における他方のメモリコントローラが集約同期する際の書き込み状態を示した図である。
【図１４】図１４は比較例の集約同期する場合の書き込み処理を示したタイムチャートである。
【符号の説明】
【００３３】
１００  アクセス装置
１０１  ２０１  不揮発性記憶装置
１０３，１０４，２０３，２０４  メモリモジュール
１０５  外部バス
１１０，１４０，２１０，２４０  メモリコントローラ
１１１，１４１  フロントエンド部
１１２，１４２  コア制御部
１１３，１４３，２１３，２４３  バックエンド部
１１４，１４４  モード検知部
１１５，１４５  ＭＳ検知部
１１６，１４６  Ａ１ポート
１１７，１４７  Ａ２ポート
１１８，１４８  Ｂポート
１１９，１４９  Ｃポート
１２０，１５０  ホストインタフェース部
１２１，１５１  バッファメモリ
１２２，１５２  ＣＰＵ
１２３，１５３  ＲＡＭ
１２４，１５４  ＲＯＭ
１２５，１５５，２２５，２５５  アドレス管理部
１２６，１５６  読み書き制御部
１３０，１６０  不揮発性メモリ
１３１，１３２，１３３，１６１，１６２，１６３  物理ブロック
１２７，１５７  集約処理部
１２８，１５８  集約同期部
【発明を実施するための最良の形態】
【００３４】
（実施の形態）
以下、本発明の実施の形態における不揮発性記憶システムについて、図面を参照して比較例と共に具体的に説明する。図１は、本発明の実施の形態における不揮発性記憶システムのブロック図である。不揮発性記憶システムはアクセス装置１００とアクセス装置１００に接続された不揮発性記憶装置１０１とを含む。不揮発性記憶装置１０１は、基板上に実装された２つのメモリモジュール１０３，１０４と、アクセス装置１００との間でデータの転送を行う外部バス１０５を含む。【００３５】
メモリモジュール１０３は、メモリコントローラ１１０と不揮発性メモリ１３０とを備えている。同様にメモリモジュール１０４は、メモリコントローラ１４０と不揮発性メモリ１６０とを備えている。【００３６】
不揮発性メモリ１３０及び１６０は主記憶メモリであって、夫々フラッシュメモリにより構成される。不揮発性メモリ１３０及び１６０は夫々多数の物理ブロックから成る。不揮発性メモリ１３０及び１６０は夫々ユーザ記憶領域が５１２Ｍバイトの容量を有するものとする。不揮発性メモリ１３０及び１６０において、夫々少なくとも１つの物理ブロックはバッファメモリより転送されたデータを書き込むテンポラリブロックとして用いられる。【００３７】
メモリコントローラ１１０は、図１及び図２Ａに示すように、フロントエンド部１１１、コア制御部１１２、バックエンド部１１３、モード検知部１１４、マスタースレーブ検知部（以下、単にＭＳ検知部という）１１５、Ａ１ポート１１６、Ａ２ポート１１７、Ｂポート１１８、及びＣポート１１９を備えており、夫々内部バスに接続されている。Ａ１ポート１１６とＡ２ポート１１７は、いずれも初期設定用のポートである。Ｂポート１１８は、メモリコントローラ１１０とメモリコントローラ１４０の間の通信に利用されるポートである。Ｃポート１１９は後述するように、集約処理の同期をとるためのポートである。【００３８】
メモリコントローラ１４０はメモリコントローラ１１０と同じであり、図１及び図２Ｂに示すように、フロントエンド部１４１、コア制御部１４２、バックエンド部１４３、モード検知部１４４、ＭＳ検知部１４５、Ａ１ポート１４６、Ａ２ポート１４７、Ｂポート１４８、及びＣポート１４９を備えており、夫々内部バスに接続されている。Ａ１ポート１４６とＡ２ポート１４７は、いずれも初期設定用のポートである。Ｂポート１４８は、メモリコントローラ１４０とメモリコントローラ１４０の間の通信に利用されるポートである。Ｃポート１４９は後述するように、集約処理の同期をとるためのポートである。【００３９】
メモリコントローラ１１０，１４０の駆動モードにはシングルモードとデュアルモードがある。シングルモードは、一方のメモリコントローラだけが単独で機能するモードであり、デュアルモードはメモリコントローラ１１０とメモリコントローラ１４０とが併行して機能するモードである。【００４０】
次にメモリコントローラ１１０と１４０とは同一であるので、以下メモリコントローラ１１０について詳細に説明する。Ａ１ポート１１６やＡ２ポート１１７は、基板上の電源電圧を識別信号として入力するポートである。Ｂポート１１８は、バッファメモリ１２１内に一時記憶されたデータの一部をメモリモジュール１０４へ転送するポートである。なお、基板上の電源はアクセス装置１００から供給される。【００４１】
モード検知部１１４は、Ａ１ポート１１６を介して入力された識別信号に基づき、シングルモード、あるいはデュアルモードのいずれで動作するかを決定する回路ブロックである。【００４２】
ＭＳ検知部１１５は、Ａ２ポート１１７を介して入力された識別信号に基づき、メモリコントローラ１１０をマスターコントローラとして用いるか、スレーブコントローラとして用いるかを決定する回路ブロックである。【００４３】
ここで、モードフラグとＭＳフラグのそれぞれの値に対応した動作モードについて説明する。モードフラグが値０の場合は、ＭＳフラグの値に関わらずシングルモードとなる。例えばメモリコントローラ１１０がシングルモードに設定された場合は、メモリモジュール１０３のみが記憶装置として機能する。すなわち不揮発性記憶装置１０１は、本実施の形態では５１２ＭＢの記憶装置となる。なお、シングルモードとして使用する場合は、不揮発性記憶装置１０１には１つのメモリモジュールだけしか実装されない。一方、メモリコントローラ１１０および１４０がデュアルモードに設定された場合は、どちらか一方がマスターコントローラ（ＭＳフラグ＝１）に、もう一方がスレーブコントローラ（ＭＳフラグ＝０）に設定される。この場合には双方のメモリモジュール１０３，１０４に不揮発性メモリが実装され、全体として１Ｇバイトの記憶装置となる。【００４４】
図２Ａに示すように、フロントエンド部１１１は、ホストインタフェース（ＩＦ）部１２０と、不揮発性メモリ１３０にアクセスする際にデータを一時記憶するためのバッファメモリ１２１とを備えている。ここではバッファメモリ１２１は１６ｋバイトの容量を持つ。【００４５】
コア制御部１１２は、メモリコントローラ１１０全体の制御を行うＣＰＵ１２２と、ＣＰＵ１２２の作業領域であるＲＡＭ１２３と、ＣＰＵ１２２が実行するプログラムを格納したＲＯＭ１２４とを備えている。【００４６】
バックエンド部１１３は、アドレス管理部１２５、読み書き制御部１２６、集約処理部１２７及び集約同期部１２８を備えている。アドレス管理部１２５は不揮発性メモリ１３０のアドレスを指定するものである。読み書き制御部１２６は不揮発性メモリ１３０へのデータの書き込みや不揮発性メモリ１３０からのデータの読み出しを制御するものである。アドレス管理部１２５の内部には、アクセス装置１００が転送した論理アドレスを不揮発性メモリ１３０内の物理アドレスに変換するための論理物理変換テーブルや、不揮発性メモリ１３０を構成する各物理ブロックのステータスを記憶するための物理領域管理テーブルが含まれる。これらは既に実用に供されており、本実施の形態においても従来と同様の回路構成で実現しているため、説明は省略する。【００４７】
又集約処理部１２７は集約処理を行うブロックである。集約処理とは、アクセス装置１００からランダムに論理アドレスに対して書き込みが行われた場合に、物理ブロック内に記憶されたデータが論理順になるように再配置する処理のことをいう。集約同期部１２８は不揮発性メモリ１３０内のテンポラリブロックに空きがなくなったときに集約処理部１２７に集約を指示し、他方のメモリコントローラ１４０に同期信号を出力する。又集約同期部１２８は外部から同期信号が与えられたときにも、集約処理部１２７に集約を指示し、集約処理をメモリコントローラ１１０と１４０において同期して行わせる。【００４８】
メモリモジュール１０４も図２Ｂに示すように、フロントエンド部１４１、コア制御部１４２、バックエンド部１４３、モード検知部１４４及びＭＳ検知部１４５等を有しており、その基本的構成はメモリモジュール１０３と同一である。図２Ｂはフロントエンド部１４１、コア制御部１４２、バックエンド部１４３の詳細を示すブロック図である。フロントエンド部１４１は、ホストインタフェース（ＩＦ）部１５０と、不揮発性メモリ１６０にアクセスする際にデータを一時記憶するためのバッファメモリ１５１とを備えている。ここではバッファメモリ１５１は１６ｋバイトの容量を持つ。【００４９】
コア制御部１４２は、メモリコントローラ１４０全体の制御を行うＣＰＵ１５２と、ＣＰＵ１５２の作業領域であるＲＡＭ１５３と、ＣＰＵ１５２が実行するプログラムを格納したＲＯＭ１５４とを備えている。【００５０】
バックエンド部１４３は、アドレス管理部１５５、読み書き制御部１５６、集約処理部１５７及び集約同期部１５８を備えている。これらの構成はメモリモジュール１０３のものと同一であるため、詳細な説明は省略する。相違点については、後述する動作説明において詳細に説明する。【００５１】
次に不揮発性記憶装置１０１の初期化処理とアクセス装置１００から書き込み命令が発せられた場合の動作について説明する。【００５２】
［電源立ち上げ時の初期化処理］
図３は、メモリコントローラ１１０の初期化処理を示すフローチャートである。図３において実線で示した処理は、図１に示した場合、すなわちＡ１ポート１１６とＡ２ポート１１７に電源電圧（以下、Ｖｃｃという）が設定された場合の処理に対応する。尚図３において破線で示す処理はＡ１ポート１１６、Ａ２ポート１１７にＧＮＤが設定された場合である。【００５３】
一方、図４は、メモリコントローラ１４０の初期化処理を示すフローチャートである。図４において実線で示した処理が、図１に示した場合、すなわちＡ１ポート１４６にＶｃｃが設定され、Ａ２ポート１４７にグランド電圧（以下、ＧＮＤという）が設定された場合の処理に対応する。又破線で示した処理はＡ１ポート１１６にＧＮＤが設定された場合及びＡ２ポート１１７にＶｃｃが設定された場合である。【００５４】
メモリコントローラ１１０は、図３に示すフローチャートに従って初期化処理を行う。まず、アクセス装置１００が不揮発性記憶装置１０１に電源を供給した後（Ｓ１００）、モード検知部１１４がＡ１ポート１１６の電圧を検知する（Ｓ１０１）。図１において、Ａ１ポート１１６にはＶｃｃが印加されているので、モード検知部１１４はモードフラグを値１にセットするとともに（Ｓ１０２）、ＣＰＵ１２２にモードフラグ（値１）を転送する。これによりＣＰＵ１２２はデュアルモードであることを認識する（Ｓ１０３）。【００５５】
次に、ＭＳ検知部１１５がＡ２ポート１１７の電圧を検知する（Ｓ１０４）。図１において、Ａ２ポート１１７にはＶｃｃが印加されているので、ＭＳ検知部１１５はＭＳフラグを値１にセットするとともに（Ｓ１０５）、ＣＰＵ１２２にＭＳフラグ（値１）を転送する。これによりＣＰＵ１２２はマスターコントローラであることを認識する（Ｓ１０６）。マスターコントローラは、アクセス装置１００とのインタフェースを一括して行うコントローラであるので、フロントエンド部１１１を機能させることとなる（Ｓ１０７）。【００５６】
その後、従来の不揮発性記憶システムで一般的に行われている各種初期化処理（論理物理変換テーブルなどの作成）を実行し処理を終わる。なお、各種初期化処理については説明を省略する。【００５７】
メモリコントローラ１１０の初期化処理と平行して、メモリコントローラ１４０は図４に示すように初期化処理を行う。メモリコントローラ１４０はメモリコントローラ１１０と異なり、Ａ２ポート１４７がＧＮＤに設定されるため、Ｓ２１０の処理により、スレーブコントローラとして設定される。この場合、メモリコントローラ１１０のフロントエンド部１１１が一括してアクセス装置１００との通信処理を行うので、Ｓ２１１においてフロントエンド部１４１の機能を停止させる。なお、メモリコントローラ１４０は、不揮発性メモリ１６０への書き込み等に必要な情報はＢポート１４８を介してメモリコントローラ１１０から受信する。【００５８】
［通常動作時の処理］
前述した初期化処理の後、通常動作に移行する。図５Ａはシングルモードにおける書き込み処理を示し、図６Ａはシングルモードにおける論理アドレスＬＡのフォーマットを示す。図６Ａに示すように論理アドレスＬＡは、下位ビットから順に、セクタ番号、ページ番号、論理ブロックアドレスＬＢＡが割り当てられている。論理ブロックアドレスＬＢＡに対応する１１ビット分がアドレス変換の対象、すなわち論理物理変換テーブルのアドレスに相当する。アクセス装置１００で規定されるセクタサイズは５１２バイトであり、図５Ａに示したように、不揮発性メモリ１３０を構成する物理ブロック１３１の各ページには、４セクタずつ記憶される。【００５９】
一方、図５Ｂはデュアルモードにおける書き込み処理を示し、図６Ｂはデュアルモードにおける論理アドレスＬＡのフォーマットを示す。論理アドレスＬＡのフォーマットからシングルモードの場合と異なる点は、ＭＳ振り分けフラグが論理アドレスＬＡのビット２（以降ＬＡ［２］とする）に追加された点である。【００６０】
図５Ａ，図５Ｂにおいて、不揮発性メモリ１３０内の物理ブロック１３１は、アクセス装置１００から転送されたデータを保持するテンポラリブロックとして用いられているとする。同様にメモリモジュール１０４の不揮発性メモリ１６０では、物理ブロック１６１がアクセス装置１００から転送されたデータを保持するテンポラリブロックとして用いられている。他の消去済みブロックについては図示を省略している。【００６１】
シングルモードの場合は、例えばアクセス装置１００から、ＬＡ０〜３１に対応する１６ｋバイト分の書き込み命令が転送されると、図５Ａに示すように書き込みデータはバッファメモリ１２１を介して、テンポラリブロックとなっている物理ブロック１３１の先頭ページから順番に書き込まれる。【００６２】
デュアルモードの場合、すなわち図１に示す状態で初期設定がなされたときには、図６Ｂに示す論理アドレスフォーマットのＬＡ［２］の値に応じて、書き込み先の切替え制御を行う。ＬＡ［２］＝０の場合は、メモリコントローラ１１０はバッファメモリ１２１に一時記憶されたデータを不揮発性メモリ１３０の物理ブロック１３１に書き込み、ＬＡ［２］＝１の場合は、バッファメモリ１２１に一時記憶されたデータをＢポート１１８、１４８を介してメモリコントローラ１４０内の内部バスに転送する。転送されたデータは読み書き制御部１５６を介してテンポラリブロックとなっている物理ブロック１６１に書き込まれる。ＣＰＵ１２２は、このようにデータの振り分け制御を行うために、アクセス装置１００が転送したＬＡ０〜３１のＬＡ［２］を逐次チェックする。【００６３】
さてデータの書き込みを続けていって、図７に示すように物理ブロック１３１のページＰＮ０から最終のページＰＮ１２７まで昇順に、ＬＡ０〜３、ＬＡ５０４〜５０７、ＬＡ０〜３、ＬＡ８〜１１・・・といったように、データがランダムに書き込まれたとする。ここでページへの書き込み順は、ページＰＮ０から昇順に書き込まれる。従って、例えば物理ブロック１３１ではＬＡ０〜３は複数のページに書き込まれているが、最後に書き込まれたデータが有効データである。即ち、ここではページＰＮ１２７に書き込まれたＬＡ０〜３が有効データであり、ページＰＮ０やページＰＮ２に書き込まれたＬＡ０〜３は無効データである。アドレス管理部１２５は読み書き制御部１２６を介してデータをデータ領域に書き込んだ後に、対応する管理領域にフラグ（０が有効、１が無効を表す）を書き込むことによって管理する。また、どのページにどの論理アドレスのデータが書き込まれているかもアドレス管理部１２５が管理する。又物理ブロック１６１ではページＰＮ０からページＰＮ１２６まで昇順に、ＬＡ４〜７、ＬＡ４〜７・・・ＬＡ２８〜３１といったように、データがランダムに書き込まれている。ページＰＮ１２７は消去済みとなっている。【００６４】
各メモリモジュールにつき複数の物理ブロックをテンポラリブロックとして用いることもあるが、メモリモジュール１０３では物理ブロック１３１のみをテンポラリブロックとする。同様にして、メモリモジュール１０４の物理ブロック１６１のみをテンポラリブロックとする。物理ブロック１３１の消去済みページがなくなった時点で、物理ブロック１３１内の有効データを、別の消去済み物理ブロックに論理アドレス順に並び替えて記憶し直す。この処理を集約処理といい、従来の不揮発性記憶システムにおいても適用されている一般的な技術である。【００６５】
物理ブロック１３１のページＰＮ１２７までデータが書き込まれている状態で、更に図８に示すように、アクセス装置１００からバッファメモリ１２１にＬＡ２４〜２７とＬＡ２８〜３１，ＬＡ５０８〜５１１に対応するデータが転送される。メモリコントローラ１１０はＬＡ２４〜２７に対応するデータを不揮発性メモリ１３０に書き込み、ＬＡ２８〜３１、及びＬＡ５０８〜５１１に対応するデータをメモリコントローラ１４０に転送する。【００６６】
集約同期部１２８は物理ブロック１３１のページＰＮ１２７までデータが書き込まれていることを認識し、集約処理部１２７に集約処理を指示する。そして集約同期部１２８はポートＣ１１９を介してポートＣ１４９に同期信号を転送する。アドレス管理部１２５は消去済み物理ブロック１３２と１３３を取得する。集約処理部１２７は読み書き制御部１２６を介して、図８に破線で示すように物理ブロック１３１から消去済み物理ブロック１３２に集約処理を行う。その後、アドレス管理部１２５は物理ブロック１３２をＬＡ０〜ＬＡ５１１の論理ブロックに対応する物理ブロックとして、論理物理変換テーブルに登録する。さらにアドレス管理部１２５は読み書き制御部１２６を介してバッファ１２１に保持されていたＬＡ２４〜２７に対応するデータを新たな物理ブロック１３３のページＰＮ０に書き込み、物理ブロック１３１を消去する。なお、集約先である物理ブロック１３２において、＊が付記されたページは、物理ブロック１３１内に対応する有効なデータが記憶されている場合は物理ブロック１３２に集約されることを表し、物理ブロック１３１内に対応する有効なデータが記憶されていない場合は物理ブロック１３２に集約されないことを表す。【００６７】
一方、メモリコントローラ１４０側では集約同期部１５８は集約処理部１５７に集約処理を指示する。物理ブロック１６１ではページＰＮ１２６までデータが書かれており、消去済みのページＰＮ１２７が存在するが、この場合であっても集約処理を行い、集約処理部１５７は物理ブロック１６１の有効なデータのみを別の物理ブロック１６２に集約する。その後メモリコントローラ１４０はマスター側のメモリコントローラ１１０から転送されたＬＡ２８〜３１、ＬＡ５０８〜５１１に対するデータを新たな物理ブロック１６３に書き込む。【００６８】
この処理を時間軸上で表したものが図９であり、一連の処理に要する時間をＴ＿ｓｙｎｃとする。図９に示すように一方のメモリコントローラの集約処理時に他方のメモリコントローラの集約処理も同時に平行して行われる。尚ここではメモリコントローラ１４０はメモリコントローラ１１０の集約処理に伴って集約処理を開始している。一方物理ブロック１６１が全て書き込まれており、更にこのブロックにデータを書き込む必要がある場合には、メモリコントローラ１４０が集約処理を開始し、その同期信号をメモリコントローラ１１０側に送出する。これによりメモリコントローラ１１０側で同時に集約を行わせる。【００６９】
以上のように、本実施の形態によれば、不揮発性メモリ及びメモリコントローラを含むメモリモジュールを２つ備え、一方のメモリコントローラが集約処理を行う際に、他方のメモリコントローラの集約処理も同期させて行うように制御したので、図９に示すように、集約処理に係る処理時間Ｔ＿ｓｙｎｃを短くすることができ、結果的に不揮発性記憶システム全体の書き込み速度を速くすることが可能となる。【００７０】
また本実施の形態によれば、電源立ち上げ時の初期化処理においてモード検知部１１４とＭＳ検知部１１５が、ＶｃｃあるいはＧＮＤなどの電圧に応じて、マスターコントローラかスレーブコントローラかを識別できるようにし、更に、マスターコントローラと識別した側のメモリコントローラ、すなわちメモリコントローラ１１０のフロントエンド部１１１が一括してアクセス装置１００との通信を行い、論理アドレスに応じて書き込み先の不揮発性メモリを振り分けるように制御するので、共通のメモリコントローラを用いて簡単に異なる不揮発性メモリに並列に書き込むこととなる。【００７１】
（比較例）
次に比較例における不揮発性記憶システムについて、図１０，図１１Ａ，図１１Ｂを用いて説明する。これらの図において、同一部分は同一符号を付している。不揮発性記憶装置２０１は２つのメモリモジュール２０３，２０４を有している。各メモリモジュール２０３，２０４では実施の形態と比較してバックエンド部が異なり、夫々バックエンド部２１３，２４３とする。バックエンド部２１３，２４３は図１１Ａ，図１１Ｂに示すように実施の形態と異なり、同期集約部を有しておらず、又アドレス管理部２２５と２５５は異なっている。比較例では同期集約部を有していないので、２つのメモリモジュールの集約処理は同期しては行われない。【００７２】
次に比較例の書き込み処理について、図１２〜図１４を用いて説明する。比較例においてもメモリコントローラ２１０はマスターコントローラ、メモリコントローラ２４０がスレーブコントローラとなってデュアルモードで動作することとなる。図１２において、不揮発性メモリ１３０内の物理ブロック１３１は、アクセス装置１００から転送されたデータを保持するテンポラリブロックとして用いられているとする。この物理ブロック１３１のページＰＮ０からページＰＮ１２７まで昇順に、ＬＡ０〜３、ＬＡ５０４〜５０７、ＬＡ０〜３、ＬＡ８〜１１・・・といったように、データがランダムに書き込まれている。【００７３】
さてこの状態で、更にアクセス装置１００はバッファメモリ１２１にＬＡ２４〜２７とＬＡ２８〜３１に対応するデータを転送する。メモリコントローラ２１０はＬＡ２４〜２７に対応するデータを不揮発性メモリ１３０に書き込み、ＬＡ２８〜３１に対応するデータをメモリコントローラ２４０に転送する。【００７４】
アドレス管理部２２５は物理ブロック１３１の１２７ページまでデータが書き込まれていることを認識し、集約処理部１２７に集約処理を指示するとともに消去済み物理ブロック１３２と１３３を取得する。集約処理部１２７は図中破線で示すように、読み書き制御部１２６を介して、物理ブロック１３１から消去済み物理ブロック１３２に集約する処理を行う。その後、アドレス管理部２２５は物理ブロック１３２をＬＡ０〜ＬＡ５１１の論理ブロックに対応する物理ブロックとして、論理物理変換テーブルに登録する。さらにアドレス管理部２２５は読み書き制御部１２６を介して消去済み物理ブロック１３３のページＰＮ０にＬＡ２４〜２７に対応するデータを書き込み、物理ブロック１３１を消去する。【００７５】
一方、メモリコントローラ２４０はＬＡ２８〜３１に対応するデータを不揮発性メモリ１６０に書き込むが、テンポラリブロックである物理ブロック１６１はページＰＮ１２６までしか書き込みがなされていない、すなわちページＰＮ１２７が消去済みページであるので、アドレス管理部２５５は読み書き制御部１５６を介してＬＡ２８〜３１に対応するデータを物理ブロック１６１のページＰＮ１２７に書き込む。【００７６】
次に、図１３に示すようにアクセス装置１００がＬＡ５０８〜５１１に対応するデータを不揮発性記憶装置に転送すると、メモリコントローラ２１０は、バッファメモリ１２１に一時保持されたＬＡ５０８〜５１１に対応するデータをメモリコントローラ２４０に転送する。【００７７】
アドレス管理部２５５は物理ブロック１６１の１２７ページまでデータが書き込まれていることを認識し、集約処理部１５７に集約処理を指示するとともに消去済み物理ブロック１６２と１６３を取得する。集約処理部１５７は読み書き制御部１５６を介して、物理ブロック１６１から消去済み物理ブロック１６２に集約する処理を行う。その後、アドレス管理部２５５は物理ブロック１６２をＬＡ０〜ＬＡ５１１の論理ブロックに対応する物理ブロックとして、論理物理変換テーブルに登録する。さらにアドレス管理部２５５は読み書き制御部１５６を介して消去済み物理ブロック１６３のページＰＮ０にＬＡ５０８〜５１１に対応するデータを書き込み、物理ブロック１６１を消去する。以上の処理を時間軸上で表したものが図１４であり、一連の処理に要する時間をＴ＿ａｓｙｎｃとする。【００７８】
この比較例では、集約処理を夫々のテンポラリブロックにデータが全て書き込まれた後に、メモリコントローラ毎に集約処理を行っている。従って本実施の形態に比べて全体の集約処理に要する時間が長くなる。これに対し本実施の形態では、集約処理を同時に実行したことにより、お互いの集約処理が隠蔽される。即ちＴ＿ｓｙｎｃはＴ＿ａｓｙｎｃより短くなり、不揮発性記憶システム全体の書き込み速度が速くなる。【００７９】
なお、集約同期部１２８，１５８は夫々バッファメモリ１２１より転送されたデータを書き込む不揮発性メモリ１３０，１６０内のテンポラリブロックに空きがなくなったとき、又は外部から同期信号が与えられたときに、集約処理部１２７，１５７に集約を指示するようにしたが、テンポラリブロックの空き容量が所定の閾値を下回ったときに、集約処理部１２７，１５７に集約を指示するようにしても構わない。【００８０】
また、上記本発明の実施の形態では、メモリモジュールを２つ用いた場合について説明したが、本発明はこれに限定されるものではなく、メモリモジュールを３つ以上用いて構成することも可能である。その場合、メモリコントローラのうち１つがマスターコントローラとして用いられ、他のメモリコントローラはスレーブコントローラとして用いられる。
【産業上の利用可能性】
【００８１】
本発明にかかるメモリコントローラ、不揮発性記憶装置及び不揮発性記憶システムは、フラッシュメモリなどの不揮発性メモリを使用した装置において、集約処理の時間を短くすることができ、書き込み速度を向上させるものであり、静止画記録再生装置や動画記録再生装置等のポータブルＡＶ機器、あるいは携帯電話等のポータブル通信機器の記録媒体として広く利用可能である。
【図１】
2008102610.tif 000003
【図２Ａ】
2008102610.tif 000004
【図２Ｂ】
2008102610.tif 000005
【図３】
2008102610.tif 000006
【図４】
2008102610.tif 000007
【図５Ａ】
2008102610.tif 000008
【図５Ｂ】
2008102610.tif 000009
【図６Ａ】
2008102610.tif 000010
【図６Ｂ】
2008102610.tif 000011
【図７】
2008102610.tif 000012
【図８】
2008102610.tif 000013
【図９】
2008102610.tif 000014
【図１０】
2008102610.tif 000015
【図１１Ａ】
2008102610.tif 000016
【図１１Ｂ】
2008102610.tif 000017
【図１２】
2008102610.tif 000018
【図１３】
2008102610.tif 000019
【図１４】
2008102610.tif 000020
【国際調査報告】
2008102610.tif 000021
2008102610.tif 000022
2008102610.tif 000023
2008102610.tif 000024