(57)【要約】【課題】メインメモリに含まれる各メモリブロックを有効利用すること。【解決手段】各種情報を記憶するメモリと、メモリの領域を所定長で区画したメモリブロック毎の使用用途を示す用途設定情報が記憶される用途設定情報記憶手段と、メモリを診断することにより、各メモリブロック内の不良領域を検出するメモリ診断手段と、メモリ診断手段による各メモリブロック単位の不良領域の検出結果に応じて、用途設定情報記憶手段に記憶される各メモリブロックの用途設定情報を設定するメモリ用途設定手段と、を有する。【選択図】        図３
2010092126.tif 000002
【特許請求の範囲】
【請求項１】
各種情報を記憶するメモリと、
前記メモリの領域を所定長で区画したメモリブロック毎の使用用途を示す用途設定情報が記憶される用途設定情報記憶手段と、
前記メモリを診断することにより、各前記メモリブロック内の不良領域を検出するメモリ診断手段と、
前記メモリ診断手段による各前記メモリブロック単位の不良領域の検出結果に応じて、前記用途設定情報記憶手段に記憶される各前記メモリブロックの前記用途設定情報を設定するメモリ用途設定手段と、
を有することを特徴とするコンピュータ装置。
【請求項２】
前記メモリ用途設定手段は、
前記用途設定情報記憶手段内の、前記メモリ診断手段により不良領域が検出されたメモリブロックに対応する前記用途設定情報を、グラフィックデータを記憶するためのグラフィック用のメモリブロックとして使用する事を示す用途設定情報に設定することを特徴とする請求項１に記載のコンピュータ装置。
【請求項３】
前記メモリ用途設定手段は、
前記メモリ診断手段により不良領域を有するメモリブロックが複数検出された場合であって、かつ、当該不良領域を有する複数のメモリブロックが互いに隣接していないアドレスに配置されている場合、
前記不良領域を有するメモリブロック間の他のメモリブロックに対応する前記用途設定情報を、前記グラフィック用のメモリブロックとして使用する事を示す用途設定情報に設定することを特徴とする請求項２に記載のコンピュータ装置。
【請求項４】
前記メモリ用途設定手段は、
前記用途設定情報記憶手段内の、前記メモリ診断手段により不良領域が検出されたメモリブロックに対応する用途設定情報を、音声データを記憶するための音声用のメモリブロックとして使用する事を示す用途設定情報に設定することを特徴とする請求項１に記載のコンピュータ装置。
【請求項５】
前記メモリ用途設定手段は、
前記用途設定情報記憶手段内の、前記メモリ診断手段により不良領域が検出されなかったメモリブロックに対応する前記用途設定情報を、プログラムを展開するためのメモリブロックとして使用する事を示す用途設定情報に設定することを特徴とする請求項１〜４のいずれか１つに記載のコンピュータ装置。
【請求項６】
前記メモリの領域を所定長で区画したメモリブロック毎の使用用途が予め設定されているデフォルト用途設定情報を記憶するデフォルト用途記憶手段を有し、
前記メモリ用途設定手段は、前記メモリ診断手段によって前記メモリ内の全てのメモリブロックに不良領域が検出されなかった場合、前記デフォルト用途設定情報記憶手段に記憶されたデフォルト用途設定情報に基づいて、前記用途設定情報記憶手段内の用途設定情報を設定することを特徴とする請求項１〜５のいずれか１つに記載のコンピュータ装置。
【請求項７】
前記メモリ用途設定手段は、
このコンピュータ装置が起動する際に処理を開始すると共に、
当該処理の開始時点で、前記メモリブロック毎に前記用途設定情報が設定されている場合には、前記メモリ診断手段による各前記メモリブロック単位の不良領域の検出結果に応じた前記用途設定情報の設定を実行しないことを特徴とする請求項１〜６のいずれか１つに記載のコンピュータ装置。
【請求項８】
各種情報を記憶するメモリと、前記メモリの領域を所定長で区画したメモリブロック毎の使用用途を示す用途設定情報が記憶される用途設定情報記憶手段とを有するコンピュータ装置を、
前記メモリを診断することにより、各前記メモリブロック内の不良領域を検出するメモリ診断手段と、
前記メモリ診断手段による各前記メモリブロック単位の不良領域の検出結果に応じて、前記用途設定情報記憶手段に記憶される各前記メモリブロックの前記用途設定情報を設定するメモリ用途設定手段と、
して機能させることを特徴とするメモリ用途設定プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
この発明は、コンピュータ装置、及びメモリ用途設定プログラムに関し、特に、メインメモリに含まれる各メモリブロックを有効利用できるコンピュータ装置、及びメモリ用途設定プログラムに関する。
【背景技術】
【０００２】
従来より、コンピュータ装置として、メインメモリを診断し、当該メインメモリの領域を所定長で区画した各メモリブロック内の不良領域を検出して、この不良領域の検出されたメモリブロックを、不良ブロックとして特定するものが知られている（例えば、特許文献１、２参照）。
【０００３】
この種のコンピュータ装置では、特定した不良ブロックを使用不可とし、メインメモリのうち、不良ブロック以外の正常なメモリブロックのみを利用するようにしている。
【０００４】
【特許文献１】特開平５−３７９６９号公報
【特許文献２】特開平５−２０２０７号公報
【発明の開示】
【発明が解決しようとする課題】
【０００５】
しかしながら、従来は、不良ブロックを一切利用しないため、メインメモリ全体の有効利用が図られていなかった。
【０００６】
開示の技術は、上述した従来技術による問題点を解消するためになされたものであり、メインメモリに含まれる各メモリブロックを有効利用できるコンピュータ装置、及びメモリ用途設定プログラムを提供することを目的とする。
【課題を解決するための手段】
【０００７】
上述した課題を解決し、目的を達成するため、本願の開示するコンピュータ装置は、一つの態様において、各種情報を記憶するメモリと、前記メモリの領域を所定長で区画したメモリブロック毎の使用用途を示す用途設定情報が記憶される用途設定情報記憶手段と、前記メモリを診断することにより、各前記メモリブロック内の不良領域を検出するメモリ診断手段と、前記メモリ診断手段による各前記メモリブロック単位の不良領域の検出結果に応じて、前記用途設定情報記憶手段に記憶される各前記メモリブロックの前記用途設定情報を設定するメモリ用途設定手段と、を有する。
【発明の効果】
【０００８】
本願の開示するコンピュータ装置、及びメモリ用途設定プログラムの一つの態様によれば、メモリに含まれるメモリブロックを有効利用することができるという効果を奏する。
【発明を実施するための最良の形態】
【０００９】
以下に添付図面を参照して、本願の開示するコンピュータ装置、及びメモリ用途設定プログラムの好適な実施の形態を詳細に説明する。
【実施例】
【００１０】
まず、本実施例に係るコンピュータ装置の概要について説明する。本実施例に係るコンピュータ装置は、各種情報を記憶するメモリと、前記メモリの領域を所定長で区画したメモリブロック毎の使用用途を示す用途設定情報が記憶される用途設定情報記憶手段と、前記メモリを診断することにより、各前記メモリブロック内の不良領域を検出するメモリ診断手段と、前記メモリ診断手段による各前記メモリブロック単位の不良領域の検出結果に応じて、前記用途設定情報記憶手段に記憶される各前記メモリブロックの前記用途設定情報を設定するメモリ用途設定手段と、を有するものである。
【００１１】
すなわち、本実施例では、コンピュータ装置の有するＤＲＡＭ（Ｄｙｎａｍｉｃ  Ｒａｎｄｏｍ  Ａｃｃｅｓｓ  Ｍｅｍｏｒｙ）等のメインメモリの領域を所定長で区画したメモリブロック毎に、適切な使用用途を割り当てる。
【００１２】
具体的には、コンピュータ装置内部のフラッシュメモリ等の不揮発性メモリである用途設定情報記憶手段に、メインメモリに含まれるメモリブロック毎の使用用途を示す用途設定情報が記憶される。
【００１３】
ここで、メモリブロック毎の使用用途には、所定のプログラムを展開するための用途、グラフィックス用データや音声データを記憶するための用途等の種々の用途が含まれる。
【００１４】
また、本実施例では、メモリブロック毎に使用用途を割り当てる前段階として、メモリ診断手段が、メインメモリを診断することにより、各メモリブロック内の不良領域を検出する。なお、不良領域とは、各メモリブロック内で、データの読み書き機能などのメモリ機能が正常に機能しないビットである不良ビットを含む領域を言う。
【００１５】
一般に、不良領域を含むメモリブロック（以下、「不良ブロック」と言う。）には、不良ビット数が比較的に少ない軽度の不良ブロックから、不良ビット数が比較的に多い重度の不良ブロックまで、不良ビット数が互いに異なる複数の不良ブロックが含まれる。不良ブロックが軽度の不良ブロックである場合であっても、この軽度の不良ブロックを、プログラム等を展開する領域として使用することは、プログラムの正常な動作を担保する観点から、好ましくない。
【００１６】
しかし、軽度の不良ブロックを、グラフィック用データや音声データを記憶する領域として使用することは可能である。これは、グラフィック用データや音声データを記憶するメモリブロック内に不良ブロックが存在しても、その不良ブロックに含まれる不良ビット数が少なければ、実際にそのグラフィック用データや音声データを各種機器を用いて再生した場合にも画質劣化や音質劣化に至らないことが経験的に知られているからである。
【００１７】
そこで、本実施例に係るメモリ用途設定手段は、メモリ診断手段による各メモリブロック単位の不良領域の検出結果に応じて、用途設定情報記憶手段に記憶される各メモリブロックの用途設定情報を設定するようにしている。これによって、メインメモリにおける各メモリブロックに、不良ブロックが存在する場合であっても、その不良ブロックを使用不可とすることなく、不良ブロックを含む各メモリブロックに対して、適切な使用用途が割り当てられる。
【００１８】
このように、本実施例では、メモリの領域を所定長で区画したメモリブロック毎の使用用途を示す用途設定情報が不揮発性メモリに記憶され、メモリを診断することにより、各メモリブロック内の不良領域が検出される。そして、各メモリブロック単位の不良領域の検出結果に応じて、不揮発性メモリに記憶される各メモリブロックの用途設定情報が設定される。このように構成したので、メインメモリのうち、正常なメモリブロックだけでなく、不良ビット数が比較的に少ない軽度の不良ブロックにも適切な用途を割り当てて、メインメモリに含まれる各メモリブロックを有効利用することができる。
【００１９】
なお、前記メモリ診断手段、及び前記メモリ用途設定手段としては、例えば、ＣＰＵが、コンピュータ装置の起動時にＲＯＭから読み出して実行するＢＩＯＳプログラムなどにその機能を担わせることができる。
【００２０】
次に、図１を参照して、本実施例に係るコンピュータ装置の構成について説明する。図１は、本実施例に係るコンピュータ装置１の構成を示す機能ブロック図であり、図２は、図１に示すＤＲＡＭの詳細を示す説明図である。
【００２１】
図１に示すように、コンピュータ装置１は、ＣＰＵ（Ｃｅｎｔｒａｌ  Ｐｒｏｃｅｓｓｉｎｇ  Ｕｎｉｔ）１０と、ＤＲＡＭ２０と、不揮発性メモリ３０と、ＲＯＭ４０と、グラフィックコントローラ５０と、サウンドコントローラ６０と、それらを互いに接続するバス７０と、を有する。
【００２２】
ＣＰＵ１０は、各種処理を実行する演算装置である。具体的には、ＣＰＵ１０は、コンピュータ装置１の起動時に、後述するＢＩＯＳ（Ｂａｓｉｃ  Ｉｎｐｕｔ  Ｏｕｔｐｕｔ  Ｓｙｓｔｅｍ）プログラム４１をＲＯＭ４０から読み出して実行し、ＤＲＡＭ２０等の各種デバイスに異常が有るか否かを検査する。また、ＣＰＵ１０は、ＢＩＯＳプログラム４１を実行することにより、ＯＳ（Ｏｐｅｒａｔｉｎｇ  Ｓｙｓｔｅｍ）の起動や各種デバイスの制御を実行する。また、ＣＰＵ１０は、ＢＩＯＳプログラム４１を実行することにより、ＤＲＡＭ２０におけるメモリブロック２０１〜２１０（図２参照）に使用用途を設定するメモリ用途設定処理を実行する。
【００２３】
ＤＲＡＭ２０は、コンピュータ装置１のメインメモリ（主記憶装置）である。具体的には、ＤＲＡＭ２０は、ＣＰＵ１０の実行対象となるプログラム（ＢＩＯＳプログラム４１を含む）が展開されたり、グラフィック用データや音声データ等の各種情報などが一時的に記憶されるワーキングメモリとして用いられる。また、ＤＲＡＭ２０は、図２に示すように、ＣＰＵ１０のワーキングメモリとして使用されるために、ＤＲＡＭ２０の領域を所定長で区画したメモリブロック２０１〜２１０に区分されて管理されている。
【００２４】
各メモリブロック２０１〜２１０には、後述するように、ＣＰＵ１０の実行するＢＩＯＳプログラム４１によって、種々の使用用途が割り当てられる。ここで、メモリブロック２０１〜２１０の使用用途には、所定のプログラムを展開するための用途、グラフィック用データや音声データを展開するための用途等の各種用途が含まれる。
【００２５】
不揮発性メモリ３０は、フラッシュメモリ等の書き換え可能な不揮発性の記憶媒体である。この不揮発性メモリ３０は、ＤＲＡＭ２０の領域を所定長で区画したメモリブロック２０１〜２１０毎の使用用途を示す用途設定情報３１が記憶されるものであり、用途設定情報記憶手段として機能する。なお、用途設定情報３１については、別途詳細に説明する。
【００２６】
ＲＯＭ４０は、ＣＰＵ１０が実行する各種プログラムやプログラム実行時に用いられるデータ等を記憶している。具体的には、ＲＯＭ４０は、ＣＰＵ１０がコンピュータ装置の起動時に読み出して実行するＢＩＯＳプログラム４１等を記憶している。また、ＲＯＭ４０は、ＢＩＯＳプログラム４１の実行時にＣＰＵ１０によって用いられる用途設定テーブル４２を記憶している。また、ＲＯＭ４０は、メモリブロック２０１〜２１０毎の使用用途が予め設定されているデフォルト用途設定情報４３等を記憶しており、デフォルト用途記憶手段として機能するものである。なお、用途設定テーブル４２、及びデフォルト用途設定情報４３については、別途詳細に説明する。
【００２７】
ＢＩＯＳプログラム４１は、基本入出力システムのことである。具体的には、ＢＩＯＳプログラム４１は、コンピュータ装置１の電源投入時に起動して、ＯＳやアプリケーションプログラムと、ＤＲＡＭ２０や周辺機器（ディスプレイ、キーボード等）に対するデータの入出力を制御する制御プログラムである。また、ＢＩＯＳプログラム４１は、ＣＰＵ１０により実行されて、ＤＲＡＭ２０における各メモリブロック２０１〜２１０に使用用途を設定するメモリ用途設定処理を行う。
【００２８】
グラフィックコントローラ５０は、ＣＰＵ１０の指示により作成したグラフィック用データを、ＤＲＡＭ２０におけるグラフィック用のメモリブロックに記憶する。また、グラフィックコントローラ５０は、ＤＲＡＭ２０におけるグラフィック用のメモリブロックに記憶されたグラフィックデータを読み出し、ディスプレイ（図示せず）へと表示出力する。
【００２９】
サウンドコントローラ６０は、ＣＰＵ１０の指示により作成した音声データを、ＤＲＡＭ２０における音声用のメモリブロックに記憶する。また、サウンドコントローラ６０は、ＤＲＡＭ２０における音声用のメモリブロックに記憶された音声データを読み出し、スピーカ（図示せず）へと音声出力する。
【００３０】
次に、図３〜図５を参照して、図１に示すＢＩＯＳプログラム４１がＤＲＡＭ２０における各メモリブロック２０１〜２１０に使用用途を設定するメモリ用途設定処理を行う具体的な構成について詳細に説明する。図３は、図１に示すＢＩＯＳプログラム４１の詳細を示す機能ブロック図である。なお、図３では、ＲＯＭ４０に記憶されたＢＩＯＳプログラム４１がＣＰＵ１０によって実行されることにより実現される機能を機能ブロックとして示している。
【００３１】
図３に示すように、ＢＩＯＳプログラム４１は、メモリ診断部４１１と、メモリ用途設定部４１２と、を機能部として有している。これら各機能部４１１、４１２は、ＢＩＯＳプログラム４１の起動時（実行時）にその処理を開始する。
【００３２】
メモリ診断部４１１は、ＤＲＡＭ２０を診断することにより、各メモリブロック２０１〜２１０内の不良領域を検出する。なお、不良領域とは、各メモリブロック内で、データの読み書き機能などのメモリ機能が正常に機能しないビットである不良ビットを含む領域を意味する。また、メモリ診断部４１１による各メモリブロック単位の不良領域の検出には、不良領域に含まれる不良ビット数の検出が含まれる。
【００３３】
メモリ用途設定部４１２は、メモリ診断部４１１による各メモリブロック単位の不良領域の検出結果に応じて、不揮発性メモリ３０に記憶される各メモリブロック２０１〜２１０の用途設定情報３１を設定する。より具体的には、メモリ用途設定部４１２は、ＲＯＭ４０に記憶された用途設定テーブル４２を用いて、不揮発性メモリ３０に記憶される用途設定情報３１を設定する。
【００３４】
そして、メモリ用途設定部４１２により設定された用途設定情報３１は、ＣＰＵ１０によって参照され、ＣＰＵ１０は、この用途設定情報３１に基づいて、メモリブロック２０１〜２１０毎に使用用途を割り当てる。
【００３５】
図４は、図１に示す用途設定情報３１の詳細を示す説明図であり、図５は、図１に示す用途設定テーブル４２の詳細を示す説明図である。
【００３６】
図４に示すように、不揮発性メモリ３０に記憶された用途設定情報３１は、ＤＲＡＭ２０におけるメモリブロック２０１〜２１０毎の使用用途を示す情報である。この用途設定情報３１には、各メモリブロック２０１〜２１０のアドレス情報ごとにそのメモリブロックの使用用途が記載される。
【００３７】
例えば、図４に示す用途設定情報３１では、メモリブロック２０１の使用用途は、「プログラム用」であるので、メモリブロック２０１を、所定のプログラムを展開するためのプログラム用のメモリブロックとして使用することを示している。また、メモリブロック２０３〜２０５の使用用途は、「グラフィック用」であるので、メモリブロック２０３〜２０５を、グラフィックデータを記憶するためのグラフィックデータ用のメモリブロックとして使用することを示している。また、メモリブロック２０７の使用用途は、「音声データ用」であるので、メモリブロック２０７を、音声データを記憶するための音声データ用のメモリブロックとして使用することを示している。
【００３８】
なお、図１に示すデフォルト用途設定情報４３は、ＤＲＡＭ２０におけるメモリブロック２０４毎の使用用途が予め設定されている情報であり、用途設定情報３１の初期値（デフォルト値）となる情報である。このデフォルト用途設定情報４３には、用途設定情報３１と同様に、各メモリブロック２０１〜２１０のアドレス情報ごとにそのメモリブロックの使用用途が記載されている。
【００３９】
図５に示すように、ＲＯＭ４０に記憶された用途設定テーブル４２は、ＤＲＡＭ２０における各メモリブロックの品質を示すメモリ品質レベルと、そのメモリ品質レベルに対応する各メモリブロックの使用用途とを対応させたテーブルである。
【００４０】
ここで、ＤＲＡＭ２０における各メモリブロックのメモリ品質レベルとは、そのメモリブロックに含まれる不良ビットの数で規定される品質レベルであり、レベル１〜レベル３の３段階に区分されている。メモリ品質レベル「レベル１」は、メモリブロックに、マルチビットの不良ビットが含まれていることを示している。メモリ品質レベル「レベル２」は、メモリブロックに、１ビットの不良ビットが含まれていることを示している。メモリ品質レベル「レベル３」は、メモリブロックに、不良ビットが全く含まれていないこと、すなわち、そのメモリブロックが正常であることを示している。
【００４１】
図５に示す用途設定テーブル４２では、メモリブロックのメモリ品質レベルが「レベル１」である場合に、そのメモリブロックの使用用途を、音声データ用に設定（変更）することを示している。また、メモリブロックのメモリ品質レベルが「レベル２」である場合に、そのメモリブロックの使用用途をグラフィックデータ用に変更することを示している。また、メモリブロックのメモリ品質レベルが「レベル３」である場合に、そのメモリブロックの使用用途をプログラム用に変更することを示している。
【００４２】
なお、音声データ用のメモリブロックのメモリ品質レベルを、グラフィック用のメモリブロックのメモリ品質レベルよりも低くしたのは、メモリブロックの不良ビットに起因したノイズがデータ内で発生しても、グラフィック（画像）のノイズよりも音声のノイズの方が人に認識され難いからである。
【００４３】
メモリ診断部４１１により、メモリブロック内でマルチビットの不良ビットを含む不良領域が検出された場合（すなわち、メモリ品質レベル「レベル１」の場合）に、上記のメモリ用途設定部４１２は、そのマルチビットの不良ビットを含む不良領域が検出されたメモリブロック（以下、「マルチビット不良ブロック」と言う。）に対応する用途設定情報３１を、音声データを記憶するための音声用のメモリブロックとして使用する事を示す用途設定情報に設定する。すなわち、メモリ用途設定部４１２は、用途設定テーブル４２を参照して、マルチビット不良ブロックの使用用途を、音声データ用に変更する。
【００４４】
また、メモリ診断部４１１により、メモリブロック内で１ビットの不良ビットを含む不良領域が検出された場合（すなわち、メモリ品質レベル「レベル２」の場合）に、メモリ用途設定部４１２は、ＤＲＡＭ２０のうち、その１ビットの不良ブロックを含む不良領域が検出されたメモリブロック（以下、「１ビット不良ブロック」と言う。）に対応する用途設定情報３１を、画像データを記憶するための画像データ用のメモリブロックとして使用する事を示す用途設定情報に設定する。すなわち、メモリ用途設定部４１２は、用途設定テーブル４２を参照して、１ビット不良ブロックの使用用途を、画像データ用に変更する。
【００４５】
また、メモリ診断部４１１により、不良領域が全く検出されなかった場合（すなわち、メモリ品質レベル「レベル３」の場合）に、メモリ用途設定部４１２は、ＤＲＡＭ２０のうち、その不良領域が全く検出されなかったメモリブロック（正常ブロック）に対応する用途設定情報３１を、所定のプログラムを展開するためのプログラム用のメモリブロックとして使用する事を示す用途設定情報に設定する。すなわち、メモリ用途設定部４１２は、用途設定テーブル４２を参照して、正常ブロックの使用用途を、プログラム用に変更する。
【００４６】
なお、上記各機能部４１１、４１２は、上述した通り、このコンピュータ装置１の起動時、より具体的には、ＢＩＯＳプログラム４１の起動時に処理を開始する。ここで、メモリ用途設定部４１２は、処理の開始時点で、メモリブロック２０１〜２１０毎に用途設定情報３１が既に設定されている場合には、メモリ診断部４１１によるメモリブロック単位の不良領域の検出結果に応じた用途設定情報３１の設定を実行しないこととしても良い。言い換えると、ＢＩＯＳプログラム４１は、前回の起動時に、メモリ用途設定部４１３により各メモリブロック２０１〜２１０に使用用途を設定した場合には、次回の起動時に、メモリ診断部４１１及びメモリ用途設定部４１２の実行を省略可能としても良い。
【００４７】
次に、メモリ用途設定部４１２が用途設定情報３１を設定する処理手順を、図６及び図７を参照して、さらに詳細に説明する。図６は、メモリ用途設定部４１２が用途設定情報３１を設定する処理手順の一例を示す図である。なお、図６は、図４に示す用途設定情報３１を変更する場合を示しており、図４に示す用途設定情報３１では、３つのメモリブロック２０３〜２０５の使用用途が、プログラム用に、１つのメモリブロック２０７の使用用途が、音声データ用に予め設定されていたものとする。
【００４８】
図６に示すように、メモリブロック２１０は、メモリ診断部４１１により、メモリ品質レベル「レベル１」と診断されたので、メモリ用途設定部４１２は、図５に示す用途設定テーブル４２を参照し、その使用用途を、「プログラム用」から「音声データ用」に設定（変更）する。また、メモリブロック２０２は、メモリ診断部４１１により、メモリ品質レベル「レベル２」と診断されたので、メモリ用途設定部４１２は、その使用用途を、「プログラム用」から「グラフィック用」に変更する。その結果、「音声データ用」のメモリブロック及び「グラフィック用」のメモリブロックがそれぞれ１つずつ増加する一方、「プログラム用」のメモリブロックが２つ減少することになる。そこで、メモリ用途設定部４１２は、メモリ診断部４１１により、メモリ品質レベル「レベル３」と診断された２つのメモリブロック２０５及び２０７の使用用途を、「グラフィック用」及び「音声データ用」からそれぞれ「プログラム用」に変更する。これにより、プログラム用のメモリブロックの減少分を補填することができ、ＤＲＡＭ２０に含まれる各メモリブロックを有効利用できる。
【００４９】
図７は、メモリ用途設定部４１２が用途設定情報３１を設定する処理手順の他の一例を示す図である。なお、図７は、図４に示す用途設定情報３１を変更する場合を示している。
【００５０】
図７に示すように、メモリブロック２０２は、メモリ診断部４１１により、メモリ品質レベル「レベル２」と診断されたので、メモリ用途設定部４１２は、図５に示す用途設定テーブル４２を参照し、その使用用途を、「プログラム用」から「グラフィック用」に変更する。また、メモリブロック２０４は、メモリ診断部４１１により、メモリ品質レベル「レベル２」と診断されたので、メモリ用途設定部４１２は、図５に示す用途設定テーブル４２を参照し、その使用用途を、「グラフィック用」に保持している。ここで、メモリブロック２０３は、メモリ診断部４１１により、メモリ品質レベル「レベル３」と診断されたので、メモリブロック２０３の使用用途は、メモリ用途設定部４１２によって、「グラフィック用」から「プログラム用」に変更されるはずである。
【００５１】
ところが、メモリ品質レベル「レベル２」のメモリブロック２０２と、メモリ品質レベル「レベル２」のメモリブロック２０４とが、互いに隣接していない。これは、メモリ診断部４１１により不良領域を有するメモリブロック（ここでは、メモリブロック２０２及び２０４）が複数検出された場合であって、かつ、その不良領域を有する複数のメモリブロックが互いに隣接していないアドレスに配置されている場合に該当する。この場合、メモリ用途設定部４１２は、例外的に、これらメモリブロック間の他のメモリブロックに対応する用途設定情報３１を、グラフィック用のメモリブロックとして使用する事を示す用途設定情報に設定する。図７に示す例では、メモリ用途設定部４１２は、メモリ品質レベル「レベル２」の２つのメモリブロック２０２，２０４、及びこれら２つのメモリブロック２０２，２０４により挟まれるメモリブロック２０３の使用用途を、共に「グラフィック用」に設定する。
【００５２】
このように、メモリ用途設定部４１２は、メモリ診断部４１１によりメモリ品質レベル「レベル２」のメモリブロック（１ビット不良ブロック）が複数検出された場合であって、当該複数の１ビット不良ブロックが互いに隣接していない場合には、ＤＲＡＭ２０のうち、複数の１ビット不良ブロック、及び複数の１ビット不良ブロックにより挟まれるメモリブロックを、グラフィック用のメモリブロックに変更する。これにより、比較的に大容量のグラフィックデータがＤＲＡＭ２０に記憶される場合であっても、複数のメモリブロックから成る１つのまとまった領域に当該グラフィックデータを記憶することができ、グラフィックデータの読み書き時間を短縮することができる。
【００５３】
次に、図８を参照して、図１に示すコンピュータ装置１のメモリ用途設定処理について説明する。図８は、図１に示すコンピュータ装置１のメモリ用途設定処理を示すフローチャートである。なお、図８に示すメモリ用途設定処理は、コンピュータ装置１の電源が投入された後、ＣＰＵ１０が、ＢＩＯＳプログラム４１をＲＯＭ４０から読み出して実行することにより、実行される処理である。
【００５４】
図８に示すように、まず、ＢＩＯＳプログラム４１は、メモリ用途設定部４１２により設定（変更）された用途設定情報３１が不揮発性メモリ３０に記憶されているか否かを判定する（ステップＳ１０）。
【００５５】
この判定の結果、メモリ用途設定部４１２により変更された用途設定情報３１が不揮発性メモリ３０に記憶されていると判定すると（ステップＳ１０：Ｙｅｓ）、すなわち、前回の起動時に、メモリ用途設定部４１３によりメモリブロック２０１〜２１０毎に使用用途が設定されていると判定すると、ＢＩＯＳプログラム４１は、処理をステップＳ１６に移す。一方、この判定の結果、メモリ用途設定部４１２により設定された用途設定情報３１が不揮発性メモリ３０に記憶されていないと判定すると（ステップＳ１０：Ｎｏ）、ＢＩＯＳプログラム４１は、処理をステップＳ１１に移す。
【００５６】
ステップＳ１１において、ＢＩＯＳプログラム４１のメモリ診断部４１１は、ＤＲＡＭ２０の全メモリブロック２０１〜２１０を１つのメモリブロックごとに診断し、各メモリブロック２０１〜２１０内の不良領域を検出する（ステップＳ１１）。
【００５７】
そして、メモリ診断部４１１は、各メモリブロック２０１〜２１０内の不良領域を検出したメモリ診断結果を、ＤＲＡＭ２０における各メモリブロック２０１〜２１０のアドレス情報に関連付ける処理を行う（ステップＳ１２）。
【００５８】
続いて、メモリ診断部４１１は、ＤＲＡＭ２０に、未診断のメモリブロックが有るか否かを判定する（ステップＳ１３）。この判定は、ＤＲＡＭ２０の各メモリブロック２０１〜２１０のアドレス情報に、メモリ診断結果が関連付けられているか否かを判定することにより行われる。そして、ＤＲＡＭ２０に、未診断のメモリブロックが有ると判定すると（ステップＳ１３：Ｙｅｓ）、メモリ診断部４１１は、ＤＲＡＭ２０に、未診断のメモリブロックが無くなるまで、ステップＳ１１〜ステップＳ１３の処理を繰り返す。
【００５９】
一方、ＤＲＡＭ２０に、未診断のメモリブロックが無いと判定すると（ステップＳ１３：Ｎｏ）、メモリ診断部４１１は、ＤＲＡＭ２０における各メモリブロック２０１〜２１０で、不良領域が検出されたか否かを判定する（ステップＳ１４）。この判定の結果、ＤＲＡＭ２０における各メモリブロック２０１〜２１０で、不良領域が検出されたと判定すると（ステップＳ１４：Ｙｅｓ）、メモリ診断部４１１は、処理をステップＳ１５へ移行する。
【００６０】
そして、メモリ用途設定部４１２は、ＲＯＭ４０に記憶された用途設定テーブル４２を参照し、不揮発性メモリ３０に記憶された用途設定情報３１を設定（変更）し（ステップＳ１５）、処理をステップＳ１７へ移行する。
【００６１】
一方、ＤＲＡＭ２０における各メモリブロック２０１〜２１０で、不良領域が検出されなかったと判定すると（ステップＳ１４：Ｎｏ）、メモリ診断部４１１は、処理をステップＳ１６へ移行する。そして、メモリ用途設定部４１３は、ＲＯＭ４０に記憶されたデフォルト用途設定情報４３に基づいて、不揮発性メモリ３０に記憶された用途設定情報３１を設定（変更）し（ステップＳ１６）、処理をステップＳ１７へ移行する。すなわち、ステップＳ１６では、デフォルト用途設定情報４３が、デフォルト値として、用途設定情報３１に複写される。
【００６２】
ステップＳ１７において、ＢＩＯＳプログラム４１は、ステップＳ１５又はステップＳ１６にて設定された用途設定情報３１に基づいて、メモリブロック２０１〜２１０毎に使用用途を割り当て、メモリ用途設定処理を終了する。
【００６３】
上述してきたように、本実施例では、ＤＲＡＭ２０の領域を所定長で区画したメモリブロック２０１〜２１０毎の使用用途を示す用途設定情報３１が不揮発性メモリ３０に記憶され、ＤＲＡＭ２０を診断することにより、各メモリブロック２０１〜２１０内の不良領域を検出し、各メモリブロック２０１〜２１０単位の不良領域の検出結果に応じて、不揮発性メモリ３０に記憶される各メモリブロックの用途設定情報が設定される。
【００６４】
一般に、グラフィックデータや音声データは完全性を求めなければ、多少のデータ欠落やエラーがあったとしても再生は可能である。逆にプログラムは、多少のデータ欠落やエラーがあっても正常動作しない。本実施例は、この特性を応用したものである。すなわち、本実施例では、不良ブロックは、画像表示に用いられるグラフィックメモリ（画像データ用のメモリブロック）として設定し、正常ブロックはプログラムを配置するメインメモリ（プログラム用のメモリブロック）として設定するようにし、不良ブロックもメモリの一部として利用できるようにすることによりメモリの有効活用を可能としたものである。
【００６５】
このように構成したので、メインメモリのうち、正常なメモリブロックだけでなく、不良ビット数が比較的に少ない軽度の不良ブロックにも適切な用途を割り当てて、メインメモリに含まれる各メモリブロックを有効利用することができる。
【００６６】
なお、本実施例のＢＩＯＳプログラム４１は、必ずしもＲＯＭ４０に記憶されている必要はなく、例えば、フラッシュメモリ等の書き換え可能な不揮発性のメモリに記憶しておき、このプログラムを、ＣＰＵ１０が読み出して実行するようにしてもよい。また、本実施例のＢＩＯＳプログラム４１は、例えば、ネットワークに接続されたサーバ等からフラッシュメモリにダウンロードされるようにしてもよく、さらには、ＣＤ−ＲＯＭ等の記録媒体に記録されてから記録媒体のドライブを介して、フラッシュメモリに読み込まれるようにしてもよい。
【図面の簡単な説明】
【００６７】
【図１】本実施例に係るコンピュータ装置の構成を示す機能ブロック図である。
【図２】図１に示すＤＲＡＭの詳細を示す説明図である。
【図３】図１に示すＢＩＯＳプログラムの詳細を示す機能ブロック図である。
【図４】図１に示す用途設定情報の詳細を示す説明図である。
【図５】図１に示す用途設定テーブルの詳細を示す説明図である。
【図６】メモリ用途設定部により用途設定情報を設定する処理手順の一例を説明するための説明図である。
【図７】メモリ用途設定部により用途設定情報を設定する処理手順の他の一例を説明するための説明図である。
【図８】本実施形態に係るコンピュータ装置のメモリ用途設定処理の手順を示すフローチャートである。
【符号の説明】
【００６８】
１        コンピュータ装置
１０        ＣＰＵ
２０        ＤＲＡＭ（メモリ）
３０        不揮発性メモリ（用途設定情報記憶手段）
３１        用途設定情報
４０        ＲＯＭ
４１        ＢＩＯＳプログラム
４２        用途設定テーブル
４３        デフォルト用途設定情報
２０１〜２１０        メモリブロック
４１１        メモリ診断部
４１２        メモリ用途設定部
【図１】
2010092126.tif 000003
【図２】
2010092126.tif 000004
【図３】
2010092126.tif 000005
【図４】
2010092126.tif 000006
【図５】
2010092126.tif 000007
【図６】
2010092126.tif 000008
【図７】
2010092126.tif 000009
【図８】
2010092126.tif 000010