(57)【要約】【課題】メモリプールへのデータ転送方法及び装置に関し、メモリプールへ転送する命令コード等のデータの破壊によるシステムの不具合の発生を防ぎ、また、命令コード等のデータのＮＡＮＤ型フラッシュメモリからの読み出し回数を容易に監視可能にする。【解決手段】ＮＡＮＤ型フラッシュメモリ１−６に格納した命令コードのデータは、ＳＤＲＡＭ１−４のメモリプールに転送され、ＣＰＵ１−２の働きによってメモリプール内で走行する。命令コードは誤り訂正符号を含むヘッダを付加したパケット構成としてＮＡＮＤ型フラッシュメモリ１−６内に格納され、ＮＡＮＤ型フラッシュメモリドライバ１−５は、該パケット構成の命令コードのデータに対して誤り訂正符号を基にエラー訂正を行い、ＳＤＲＡＭ１−４のメモリプールに転送する。更に命令コードのヘッダには、ＮＡＮＤ型フラッシュメモリ１−６からの読み出し回数を格納しておく。【選択図】図１
2009301462.tif 000002
【特許請求の範囲】
【請求項１】
２次記憶装置に格納した命令コードのデータを主記憶装置のメモリプールに転送するデータ転送方法において、
前記命令コードの複数のプログラムコードを１ブロックとし、少なくとも誤り訂正符号を含むヘッダを付加したパケット構成として前記２次記憶装置に格納し、
前記２次記憶装置から読み出した前記パケット構成の命令コードのデータに対して、前誤り訂正符号を基にエラー訂正を行い、前記主記憶装置のメモリプールに転送することを特徴とするメモリプールへのデータ転送方法。
【請求項２】
前記パケット構成のデータのヘッダに、前記２次記憶装置からの読み出し回数を格納する領域を設け、前記２次記憶装置から当該パケット構成のデータを読み出す毎に、該読み出し回数をカウントアップして更新することを特徴とする請求項１に記載のメモリプールへのデータ転送方法。
【請求項３】
２次記憶装置に格納した命令コードのデータを主記憶装置のメモリプールに転送するデータ転送装置において、
前記命令コードの複数のプログラムコードを１ブロックとし、少なくとも誤り訂正符号を含むヘッダを付加したパケット構成として前記２次記憶装置に格納し、
前記２次記憶装置から読み出した前記パケット構成の命令コードのデータに対して、前誤り訂正符号を基にエラー訂正を行い、記前記主記憶装置のメモリプールに転送することを特徴とするメモリプールへのデータ転送装置。
【請求項４】
前記パケット構成のデータのヘッダに読み出し回数格納領域を設けておき、前記２次記憶装置から当該パケット構成のデータを読み出す毎に、該読み出し回数格納領域に格納された読み出し回数をカウントアップして更新することを特徴とする請求項３に記載のメモリプールへのデータ転送装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、メモリプールへのデータ転送方法及び装置に関する。ＣＰＵの周辺回路としてＭＭＵ（Memory Management System）を備えたチップ・セットで、主記憶装置のＳＤＲＡＭ（Synchronous Dynamic Random Access Memory）に共通に命令コードを走行させる領域（メモリプール）を設ける方式がある。本発明は、このメモリプールへの命令コード等のデータの転送方法及び装置に関する。
【背景技術】
【０００２】
パーソナルコンピュータ等の情報処理装置の多くは、２次記憶装置として磁気ディスク装置や不揮発性の半導体メモリであるフラッシュメモリを用い、該２次記憶装置に記憶された命令コードを、情報処理装置の主記憶装置であるＳＤＲＡＭに取り込んで、命令コードを走行させている。
【０００３】
不揮発性半導体メモリであるフラッシュＥＥＰＲＯＭを従来の磁気ディスク装置などと同様にパーソナルコンピュータ等の２次記憶装置として用い、該フラッシュＥＥＰＲＯＭに格納するデータに対して誤り訂正符号を生成し、該誤り訂正符号を付加してフラッシュＥＥＰＲＯＭのデータレジスタに転送する技術等は下記の特許文献１等によって知られている。
【特許文献１】特開平０７−３０２１７５号公報
【発明の開示】
【発明が解決しようとする課題】
【０００４】
システムブート時や音楽再生等のアプリケーションプログラムの実行時に、２次記憶装置の不揮発性メモリから主記憶装置のＳＤＲＡＭに命令コード（バイナリデータ）を転送する際、転送命令コード（バイナリデータ）が破壊されていると、システムが正常に起動しない、或いはアプリケーションプログラムが正常に走行しないという問題を生じる。
【０００５】
また、アプリケーションプログラム等を格納している不揮発性メモリがＮＡＮＤ型フラッショメモリである場合、読み出し回数に制限があり、特定のメモリブロックに書き込み又は読み出しが集中すると、データリテンション特性の劣化により寿命（Ｌｉｆｅ  Ｔｉｍｅ）が短くなってしまうという問題があり、読み出し回数（Ｌｉｆｅ  Ｔｉｍｅ）を監視する必要がある。
【０００６】
本発明は、メモリプールへ転送する命令コード等のデータが壊れている場合、該データの修復又は再転送を可能にし、正常にシステムが起動しない、或いはアプリケーションプログラムが走行しないといった不具合の発生を防ぐことを目的の一つとする。また、命令コード等のデータが格納されている不揮発性メモリがＮＡＮＤ型フラッシュメモリである場合、読み出し回数の監視を可能にし、同一メモリ領域への集中的なアクセスを回避することを可能にする。
【課題を解決するための手段】
【０００７】
このメモリプールへのデータ転送方法は、２次記憶装置に格納した命令コードのデータを主記憶装置のメモリプールに転送するデータ転送方法において、前記命令コードの複数のプログラムコードを１ブロックとし、少なくとも誤り訂正符号を含むヘッダを付加したパケット構成として前記２次記憶装置に格納し、前記２次記憶装置から読み出した前記パケット構成の命令コードのデータに対して、前誤り訂正符号を基にエラー訂正を行い、記前記主記憶装置のメモリプールに転送するものである。
【発明の効果】
【０００８】
このメモリプールへのデータ転送によれば、メモリプールへ転送する命令コードのデータが破壊されている場合、該命令コードのデータのヘッダの誤り訂正符号を用い、エラーが訂正可能な場合は修復し、訂正不能な場合は再転送を行うことにより、命令コードのデータのエラーに起因する不具合（例えば、正常にシステムが起動しない、或いはアプリケーションプログラムが正常に走行しないといった問題）を防ぐことができる。
【発明を実施するための最良の形態】
【０００９】
図１はこのデータ転送方法が適用されるシステム構成例を示す。同図において、１−１はＣＰＵの周辺回路としてＭＭＵ（Memory Management System）を備えたチップ・セットであり、１−２はＣＰＵ、１−３はＭＭＵ、１−４はＳＤＲＡＭである。また、１−５はＮＡＮＤ型フラッシュメモリドライバ、１−６はＮＡＮＤ型フラッシュメモリである。
【００１０】
ＣＰＵ１−２とＭＭＵ１−３との間は論理アドレスによりアクセスされる。ＭＭＵ１−３とＳＤＲＡＭ１−４との間は物理アドレスによりアクセスされ、ＳＤＲＡＭ１−４とＮＡＮＤ型フラッシュメモリドライバ１−５との間は物理アドレス又はセクタによりアクセスされ、ＮＡＮＤ型フラッシュメモリドライバ１−５とＮＡＮＤ型フラッシュメモリ１−６との間は物理アドレスによりアクセスされる。
【００１１】
ＮＡＮＤ型フラッシュメモリ１−６は、命令コード（バイナリデータ）Ａ，Ｂ，Ｃを格納し、該命令コード（バイナリデータ）Ａ，Ｂ，ＣはＳＤＲＡＭ１−４のメモリプールに取り込まれ、それらの命令コード（バイナリデータ）Ａ，Ｂ，ＣがＣＰＵ１−２の働きによって走行する。
【００１２】
上記命令コード（バイナリデータ）Ａ，Ｂ，Ｃは、ＮＡＮＤ型フラッシュメモリドライバ（データ転送装置）１−５により、複数のプログラムコード（バイナリデータ）を１ブロックとしたパケット構成のデータとしてＮＡＮＤ型フラッシュメモリ１−６に格納される。
【００１３】
図２に命令コードのパケット構成例を示す。同図に示すように、命令コードにはヘッダを付加し、該ヘッダは、該命令コードのパケット長（Ｌｅｎｇｔｈ）２−１、ヘッダ部の誤り訂正符号（ＥＣＣ：Error Correcting Code）２−２、当該メモリ領域の読み出し回数（Ｌｉｆｅ  ｃｏｕｎｔ）２−３、次ブロックアドレス（ｎｅｘｔ  ｂｌｏｃｋ  ａｄｄｒｅｓｓ）２−４、命令コード部の誤り訂正符号（ＥＣＣ）２−５を含む構成とする。
【００１４】
上記パケット構成の命令コード（バイナリデータ）をＳＤＲＡＭ１−４に取り込む際に、ＮＡＮＤ型フラッシュメモリドライバ（データ転送装置）１−５は、ＮＡＮＤ型フラッシュメモリ１−６から読み出したパケット構成の命令コード（バイナリデータ）のヘッダの誤り訂正符号（ＥＣＣ）を基にエラー訂正を行い、エラー訂正が不能の場合には、ＮＡＮＤ型フラッシュメモリ１−６から同一データを再転送させる。
【００１５】
そしてエラーの無い命令コード（バイナリデータ）を、ＳＤＲＡＭ１−４に転送することにより、該命令コード（バイナリデータ）によるシステム起動或いはアプリケーションプログラムの走行が正常に実施されることとなる。図３はＣＰＵ１−２から見たメモリマップの例を示している。ＣＰＵ１−２から見たメモリマップには、従来と同様に、命令コード（バイナリデータ）Ａ，Ｂがメモリプールに取り込まれる。
【００１６】
更に、ＮＡＮＤ型フラッシュメモリドライバ１−５（データ転送装置）は、ＮＡＮＤ型フラッシュメモリ１−６から命令コード（バイナリデータ）を読み出す毎に、該命令コード（バイナリデータ）のヘッダの読み出し回数（Ｌｉｆｅ  ｃｏｕｎｔ）をカウントアップして更新し、命令コード（バイナリデータ）の読み出し回数（Ｌｉｆｅ  ｃｏｕｎｔ）を監視する。
【００１７】
そして、該読み出し回数（Ｌｉｆｅ  ｃｏｕｎｔ）が所定の閾値以上の値となった場合、他の命令コード（バイナリデータ）で読み出し回数（Ｌｉｆｅ  ｃｏｕｎｔ）の少ない命令コード（バイナリデータ）と格納領域を入れ替え、読み出し回数（Ｌｉｆｅ  ｃｏｕｎｔ）の値も入れ替える処理を行うことにより、特定の格納領域に対するアクセスの集中を回避することが可能となる。
【００１８】
このように、このデータ転送方法では、不揮発性メモリの格納データそのものをパケット構成とし、該不揮発性メモリのデータ領域への書込みデータにヘッダを付加し、該ヘッダに格納した誤り訂正符号（ＥＣＣ）によりデータの信頼性を確保する。このため、安価なＮＡＮＤ型フラッシュメモリを２次記憶装置として代用することが可能となる。
【００１９】
更に、該ヘッダに読み出し回数（Ｌｉｆｅ  ｃｏｕｎｔ）を格納する領域を設け、ＮＡＮＤ型フラッシュメモリ１−６からデータを読み出す毎に、該読み出し回数（Ｌｉｆｅ  ｃｏｕｎｔ）をカウントアップして更新することにより、読み出し回数（Ｌｉｆｅ  ｃｏｕｎｔ）の監視を容易に行うことが可能となる。これにより、同一のデータ格納領域への集中的なアクセスを回避して、ＮＡＮＤ型フラッシュメモリの寿命を延ばすことが可能となる。
【図面の簡単な説明】
【００２０】
【図１】データ転送方法が適用されるシステム構成例を示す図である。
【図２】命令コードのパケット構成例を示す図である。
【図３】ＣＰＵから見たメモリマップの例を示す図である。
【符号の説明】
【００２１】
１−１  チップ・セット
１−２  ＣＰＵ
１−３  ＭＭＵ
１−４  ＳＤＲＡＭ
１−５  ＮＡＮＤ型フラッシュメモリドライバ
１−６  ＮＡＮＤ型フラッシュメモリ
【図１】
2009301462.tif 000003
【図２】
2009301462.tif 000004
【図３】
2009301462.tif 000005