JP5439788B2 - コンピュータ装置、及びメモリ用途設定プログラム - Google Patents

コンピュータ装置、及びメモリ用途設定プログラム Download PDF

Info

Publication number
JP5439788B2
JP5439788B2 JP2008258975A JP2008258975A JP5439788B2 JP 5439788 B2 JP5439788 B2 JP 5439788B2 JP 2008258975 A JP2008258975 A JP 2008258975A JP 2008258975 A JP2008258975 A JP 2008258975A JP 5439788 B2 JP5439788 B2 JP 5439788B2
Authority
JP
Japan
Prior art keywords
memory
usage
setting information
usage setting
memory block
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Expired - Fee Related
Application number
JP2008258975A
Other languages
English (en)
Other versions
JP2010092126A (ja
Inventor
武夫 菱沼
義憲 目崎
修 石橋
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Fujitsu Ltd
Original Assignee
Fujitsu Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Fujitsu Ltd filed Critical Fujitsu Ltd
Priority to JP2008258975A priority Critical patent/JP5439788B2/ja
Priority to TW098131047A priority patent/TWI434174B/zh
Priority to EP20090170309 priority patent/EP2180406A3/en
Priority to CN2009101791362A priority patent/CN101714121B/zh
Priority to US12/570,054 priority patent/US8239712B2/en
Priority to KR1020090093107A priority patent/KR101125411B1/ko
Publication of JP2010092126A publication Critical patent/JP2010092126A/ja
Application granted granted Critical
Publication of JP5439788B2 publication Critical patent/JP5439788B2/ja
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/02Addressing or allocation; Relocation
    • G06F12/06Addressing a physical block of locations, e.g. base addressing, module addressing, memory dedication
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/008Reliability or availability analysis
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/0703Error or fault processing not based on redundancy, i.e. by taking additional measures to deal with the error or fault not making use of redundancy in operation, in hardware, or in data representation
    • G06F11/0706Error or fault processing not based on redundancy, i.e. by taking additional measures to deal with the error or fault not making use of redundancy in operation, in hardware, or in data representation the processing taking place on a specific hardware platform or in a specific software environment
    • G06F11/073Error or fault processing not based on redundancy, i.e. by taking additional measures to deal with the error or fault not making use of redundancy in operation, in hardware, or in data representation the processing taking place on a specific hardware platform or in a specific software environment in a memory management context, e.g. virtual memory or cache management
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/0703Error or fault processing not based on redundancy, i.e. by taking additional measures to deal with the error or fault not making use of redundancy in operation, in hardware, or in data representation
    • G06F11/0766Error or fault reporting or storing
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/02Addressing or allocation; Relocation
    • G06F12/0223User address space allocation, e.g. contiguous or non contiguous base addressing
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/14Protection against unauthorised use of memory or access to memory

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Quality & Reliability (AREA)
  • Computer Security & Cryptography (AREA)
  • Techniques For Improving Reliability Of Storages (AREA)
  • For Increasing The Reliability Of Semiconductor Memories (AREA)
  • Memory System (AREA)

Description

この発明は、コンピュータ装置、及びメモリ用途設定プログラムに関し、特に、メインメモリに含まれる各メモリブロックを有効利用できるコンピュータ装置、及びメモリ用途設定プログラムに関する。
従来より、コンピュータ装置として、メインメモリを診断し、当該メインメモリの領域を所定長で区画した各メモリブロック内の不良領域を検出して、この不良領域の検出されたメモリブロックを、不良ブロックとして特定するものが知られている(例えば、特許文献1、2参照)。
この種のコンピュータ装置では、特定した不良ブロックを使用不可とし、メインメモリのうち、不良ブロック以外の正常なメモリブロックのみを利用するようにしている。
特開平5−37969号公報 特開平5−20207号公報
しかしながら、従来は、不良ブロックを一切利用しないため、メインメモリ全体の有効利用が図られていなかった。
開示の技術は、上述した従来技術による問題点を解消するためになされたものであり、メインメモリに含まれる各メモリブロックを有効利用できるコンピュータ装置、及びメモリ用途設定プログラムを提供することを目的とする。
上述した課題を解決し、目的を達成するため、本願の開示するコンピュータ装置は、一つの態様において、各種情報を記憶するメモリと、前記メモリの領域を所定長で区画したメモリブロック毎の使用用途を示す用途設定情報が記憶される用途設定情報記憶手段と、前記メモリを診断することにより、各前記メモリブロック内の不良領域を検出するメモリ診断手段と、前記メモリ診断手段による各前記メモリブロック単位の不良領域の検出結果に応じて、前記用途設定情報記憶手段に記憶される各前記メモリブロックの前記用途設定情報を設定するメモリ用途設定手段と、を有する。
本願の開示するコンピュータ装置、及びメモリ用途設定プログラムの一つの態様によれば、メモリに含まれるメモリブロックを有効利用することができるという効果を奏する。
以下に添付図面を参照して、本願の開示するコンピュータ装置、及びメモリ用途設定プログラムの好適な実施の形態を詳細に説明する。
まず、本実施例に係るコンピュータ装置の概要について説明する。本実施例に係るコンピュータ装置は、各種情報を記憶するメモリと、前記メモリの領域を所定長で区画したメモリブロック毎の使用用途を示す用途設定情報が記憶される用途設定情報記憶手段と、前記メモリを診断することにより、各前記メモリブロック内の不良領域を検出するメモリ診断手段と、前記メモリ診断手段による各前記メモリブロック単位の不良領域の検出結果に応じて、前記用途設定情報記憶手段に記憶される各前記メモリブロックの前記用途設定情報を設定するメモリ用途設定手段と、を有するものである。
すなわち、本実施例では、コンピュータ装置の有するDRAM(Dynamic Random Access Memory)等のメインメモリの領域を所定長で区画したメモリブロック毎に、適切な使用用途を割り当てる。
具体的には、コンピュータ装置内部のフラッシュメモリ等の不揮発性メモリである用途設定情報記憶手段に、メインメモリに含まれるメモリブロック毎の使用用途を示す用途設定情報が記憶される。
ここで、メモリブロック毎の使用用途には、所定のプログラムを展開するための用途、グラフィックス用データや音声データを記憶するための用途等の種々の用途が含まれる。
また、本実施例では、メモリブロック毎に使用用途を割り当てる前段階として、メモリ診断手段が、メインメモリを診断することにより、各メモリブロック内の不良領域を検出する。なお、不良領域とは、各メモリブロック内で、データの読み書き機能などのメモリ機能が正常に機能しないビットである不良ビットを含む領域を言う。
一般に、不良領域を含むメモリブロック(以下、「不良ブロック」と言う。)には、不良ビット数が比較的に少ない軽度の不良ブロックから、不良ビット数が比較的に多い重度の不良ブロックまで、不良ビット数が互いに異なる複数の不良ブロックが含まれる。不良ブロックが軽度の不良ブロックである場合であっても、この軽度の不良ブロックを、プログラム等を展開する領域として使用することは、プログラムの正常な動作を担保する観点から、好ましくない。
しかし、軽度の不良ブロックを、グラフィック用データや音声データを記憶する領域として使用することは可能である。これは、グラフィック用データや音声データを記憶するメモリブロック内に不良ブロックが存在しても、その不良ブロックに含まれる不良ビット数が少なければ、実際にそのグラフィック用データや音声データを各種機器を用いて再生した場合にも画質劣化や音質劣化に至らないことが経験的に知られているからである。
そこで、本実施例に係るメモリ用途設定手段は、メモリ診断手段による各メモリブロック単位の不良領域の検出結果に応じて、用途設定情報記憶手段に記憶される各メモリブロックの用途設定情報を設定するようにしている。これによって、メインメモリにおける各メモリブロックに、不良ブロックが存在する場合であっても、その不良ブロックを使用不可とすることなく、不良ブロックを含む各メモリブロックに対して、適切な使用用途が割り当てられる。
このように、本実施例では、メモリの領域を所定長で区画したメモリブロック毎の使用用途を示す用途設定情報が不揮発性メモリに記憶され、メモリを診断することにより、各メモリブロック内の不良領域が検出される。そして、各メモリブロック単位の不良領域の検出結果に応じて、不揮発性メモリに記憶される各メモリブロックの用途設定情報が設定される。このように構成したので、メインメモリのうち、正常なメモリブロックだけでなく、不良ビット数が比較的に少ない軽度の不良ブロックにも適切な用途を割り当てて、メインメモリに含まれる各メモリブロックを有効利用することができる。
なお、前記メモリ診断手段、及び前記メモリ用途設定手段としては、例えば、CPUが、コンピュータ装置の起動時にROMから読み出して実行するBIOSプログラムなどにその機能を担わせることができる。
次に、図1を参照して、本実施例に係るコンピュータ装置の構成について説明する。図1は、本実施例に係るコンピュータ装置1の構成を示す機能ブロック図であり、図2は、図1に示すDRAMの詳細を示す説明図である。
図1に示すように、コンピュータ装置1は、CPU(Central Processing Unit)10と、DRAM20と、不揮発性メモリ30と、ROM40と、グラフィックコントローラ50と、サウンドコントローラ60と、それらを互いに接続するバス70と、を有する。
CPU10は、各種処理を実行する演算装置である。具体的には、CPU10は、コンピュータ装置1の起動時に、後述するBIOS(Basic Input Output System)プログラム41をROM40から読み出して実行し、DRAM20等の各種デバイスに異常が有るか否かを検査する。また、CPU10は、BIOSプログラム41を実行することにより、OS(Operating System)の起動や各種デバイスの制御を実行する。また、CPU10は、BIOSプログラム41を実行することにより、DRAM20におけるメモリブロック201〜210(図2参照)に使用用途を設定するメモリ用途設定処理を実行する。
DRAM20は、コンピュータ装置1のメインメモリ(主記憶装置)である。具体的には、DRAM20は、CPU10の実行対象となるプログラム(BIOSプログラム41を含む)が展開されたり、グラフィック用データや音声データ等の各種情報などが一時的に記憶されるワーキングメモリとして用いられる。また、DRAM20は、図2に示すように、CPU10のワーキングメモリとして使用されるために、DRAM20の領域を所定長で区画したメモリブロック201〜210に区分されて管理されている。
各メモリブロック201〜210には、後述するように、CPU10の実行するBIOSプログラム41によって、種々の使用用途が割り当てられる。ここで、メモリブロック201〜210の使用用途には、所定のプログラムを展開するための用途、グラフィック用データや音声データを展開するための用途等の各種用途が含まれる。
不揮発性メモリ30は、フラッシュメモリ等の書き換え可能な不揮発性の記憶媒体である。この不揮発性メモリ30は、DRAM20の領域を所定長で区画したメモリブロック201〜210毎の使用用途を示す用途設定情報31が記憶されるものであり、用途設定情報記憶手段として機能する。なお、用途設定情報31については、別途詳細に説明する。
ROM40は、CPU10が実行する各種プログラムやプログラム実行時に用いられるデータ等を記憶している。具体的には、ROM40は、CPU10がコンピュータ装置の起動時に読み出して実行するBIOSプログラム41等を記憶している。また、ROM40は、BIOSプログラム41の実行時にCPU10によって用いられる用途設定テーブル42を記憶している。また、ROM40は、メモリブロック201〜210毎の使用用途が予め設定されているデフォルト用途設定情報43等を記憶しており、デフォルト用途記憶手段として機能するものである。なお、用途設定テーブル42、及びデフォルト用途設定情報43については、別途詳細に説明する。
BIOSプログラム41は、基本入出力システムのことである。具体的には、BIOSプログラム41は、コンピュータ装置1の電源投入時に起動して、OSやアプリケーションプログラムと、DRAM20や周辺機器(ディスプレイ、キーボード等)に対するデータの入出力を制御する制御プログラムである。また、BIOSプログラム41は、CPU10により実行されて、DRAM20における各メモリブロック201〜210に使用用途を設定するメモリ用途設定処理を行う。
グラフィックコントローラ50は、CPU10の指示により作成したグラフィック用データを、DRAM20におけるグラフィック用のメモリブロックに記憶する。また、グラフィックコントローラ50は、DRAM20におけるグラフィック用のメモリブロックに記憶されたグラフィックデータを読み出し、ディスプレイ(図示せず)へと表示出力する。
サウンドコントローラ60は、CPU10の指示により作成した音声データを、DRAM20における音声用のメモリブロックに記憶する。また、サウンドコントローラ60は、DRAM20における音声用のメモリブロックに記憶された音声データを読み出し、スピーカ(図示せず)へと音声出力する。
次に、図3〜図5を参照して、図1に示すBIOSプログラム41がDRAM20における各メモリブロック201〜210に使用用途を設定するメモリ用途設定処理を行う具体的な構成について詳細に説明する。図3は、図1に示すBIOSプログラム41の詳細を示す機能ブロック図である。なお、図3では、ROM40に記憶されたBIOSプログラム41がCPU10によって実行されることにより実現される機能を機能ブロックとして示している。
図3に示すように、BIOSプログラム41は、メモリ診断部411と、メモリ用途設定部412と、を機能部として有している。これら各機能部411、412は、BIOSプログラム41の起動時(実行時)にその処理を開始する。
メモリ診断部411は、DRAM20を診断することにより、各メモリブロック201〜210内の不良領域を検出する。なお、不良領域とは、各メモリブロック内で、データの読み書き機能などのメモリ機能が正常に機能しないビットである不良ビットを含む領域を意味する。また、メモリ診断部411による各メモリブロック単位の不良領域の検出には、不良領域に含まれる不良ビット数の検出が含まれる。
メモリ用途設定部412は、メモリ診断部411による各メモリブロック単位の不良領域の検出結果に応じて、不揮発性メモリ30に記憶される各メモリブロック201〜210の用途設定情報31を設定する。より具体的には、メモリ用途設定部412は、ROM40に記憶された用途設定テーブル42を用いて、不揮発性メモリ30に記憶される用途設定情報31を設定する。
そして、メモリ用途設定部412により設定された用途設定情報31は、CPU10によって参照され、CPU10は、この用途設定情報31に基づいて、メモリブロック201〜210毎に使用用途を割り当てる。
図4は、図1に示す用途設定情報31の詳細を示す説明図であり、図5は、図1に示す用途設定テーブル42の詳細を示す説明図である。
図4に示すように、不揮発性メモリ30に記憶された用途設定情報31は、DRAM20におけるメモリブロック201〜210毎の使用用途を示す情報である。この用途設定情報31には、各メモリブロック201〜210のアドレス情報ごとにそのメモリブロックの使用用途が記載される。
例えば、図4に示す用途設定情報31では、メモリブロック201の使用用途は、「プログラム用」であるので、メモリブロック201を、所定のプログラムを展開するためのプログラム用のメモリブロックとして使用することを示している。また、メモリブロック203〜205の使用用途は、「グラフィック用」であるので、メモリブロック203〜205を、グラフィックデータを記憶するためのグラフィックデータ用のメモリブロックとして使用することを示している。また、メモリブロック207の使用用途は、「音声データ用」であるので、メモリブロック207を、音声データを記憶するための音声データ用のメモリブロックとして使用することを示している。
なお、図1に示すデフォルト用途設定情報43は、DRAM20におけるメモリブロック204毎の使用用途が予め設定されている情報であり、用途設定情報31の初期値(デフォルト値)となる情報である。このデフォルト用途設定情報43には、用途設定情報31と同様に、各メモリブロック201〜210のアドレス情報ごとにそのメモリブロックの使用用途が記載されている。
図5に示すように、ROM40に記憶された用途設定テーブル42は、DRAM20における各メモリブロックの品質を示すメモリ品質レベルと、そのメモリ品質レベルに対応する各メモリブロックの使用用途とを対応させたテーブルである。
ここで、DRAM20における各メモリブロックのメモリ品質レベルとは、そのメモリブロックに含まれる不良ビットの数で規定される品質レベルであり、レベル1〜レベル3の3段階に区分されている。メモリ品質レベル「レベル1」は、メモリブロックに、マルチビットの不良ビットが含まれていることを示している。メモリ品質レベル「レベル2」は、メモリブロックに、1ビットの不良ビットが含まれていることを示している。メモリ品質レベル「レベル3」は、メモリブロックに、不良ビットが全く含まれていないこと、すなわち、そのメモリブロックが正常であることを示している。
図5に示す用途設定テーブル42では、メモリブロックのメモリ品質レベルが「レベル1」である場合に、そのメモリブロックの使用用途を、音声データ用に設定(変更)することを示している。また、メモリブロックのメモリ品質レベルが「レベル2」である場合に、そのメモリブロックの使用用途をグラフィックデータ用に変更することを示している。また、メモリブロックのメモリ品質レベルが「レベル3」である場合に、そのメモリブロックの使用用途をプログラム用に変更することを示している。
なお、音声データ用のメモリブロックのメモリ品質レベルを、グラフィック用のメモリブロックのメモリ品質レベルよりも低くしたのは、メモリブロックの不良ビットに起因したノイズがデータ内で発生しても、グラフィック(画像)のノイズよりも音声のノイズの方が人に認識され難いからである。
メモリ診断部411により、メモリブロック内でマルチビットの不良ビットを含む不良領域が検出された場合(すなわち、メモリ品質レベル「レベル1」の場合)に、上記のメモリ用途設定部412は、そのマルチビットの不良ビットを含む不良領域が検出されたメモリブロック(以下、「マルチビット不良ブロック」と言う。)に対応する用途設定情報31を、音声データを記憶するための音声用のメモリブロックとして使用する事を示す用途設定情報に設定する。すなわち、メモリ用途設定部412は、用途設定テーブル42を参照して、マルチビット不良ブロックの使用用途を、音声データ用に変更する。
また、メモリ診断部411により、メモリブロック内で1ビットの不良ビットを含む不良領域が検出された場合(すなわち、メモリ品質レベル「レベル2」の場合)に、メモリ用途設定部412は、DRAM20のうち、その1ビットの不良ブロックを含む不良領域が検出されたメモリブロック(以下、「1ビット不良ブロック」と言う。)に対応する用途設定情報31を、画像データを記憶するための画像データ用のメモリブロックとして使用する事を示す用途設定情報に設定する。すなわち、メモリ用途設定部412は、用途設定テーブル42を参照して、1ビット不良ブロックの使用用途を、画像データ用に変更する。
また、メモリ診断部411により、不良領域が全く検出されなかった場合(すなわち、メモリ品質レベル「レベル3」の場合)に、メモリ用途設定部412は、DRAM20のうち、その不良領域が全く検出されなかったメモリブロック(正常ブロック)に対応する用途設定情報31を、所定のプログラムを展開するためのプログラム用のメモリブロックとして使用する事を示す用途設定情報に設定する。すなわち、メモリ用途設定部412は、用途設定テーブル42を参照して、正常ブロックの使用用途を、プログラム用に変更する。
なお、上記各機能部411、412は、上述した通り、このコンピュータ装置1の起動時、より具体的には、BIOSプログラム41の起動時に処理を開始する。ここで、メモリ用途設定部412は、処理の開始時点で、メモリブロック201〜210毎に用途設定情報31が既に設定されている場合には、メモリ診断部411によるメモリブロック単位の不良領域の検出結果に応じた用途設定情報31の設定を実行しないこととしても良い。言い換えると、BIOSプログラム41は、前回の起動時に、メモリ用途設定部413により各メモリブロック201〜210に使用用途を設定した場合には、次回の起動時に、メモリ診断部411及びメモリ用途設定部412の実行を省略可能としても良い。
次に、メモリ用途設定部412が用途設定情報31を設定する処理手順を、図6及び図7を参照して、さらに詳細に説明する。図6は、メモリ用途設定部412が用途設定情報31を設定する処理手順の一例を示す図である。なお、図6は、図4に示す用途設定情報31を変更する場合を示しており、図4に示す用途設定情報31では、3つのメモリブロック203〜205の使用用途が、プログラム用に、1つのメモリブロック207の使用用途が、音声データ用に予め設定されていたものとする。
図6に示すように、メモリブロック210は、メモリ診断部411により、メモリ品質レベル「レベル1」と診断されたので、メモリ用途設定部412は、図5に示す用途設定テーブル42を参照し、その使用用途を、「プログラム用」から「音声データ用」に設定(変更)する。また、メモリブロック202は、メモリ診断部411により、メモリ品質レベル「レベル2」と診断されたので、メモリ用途設定部412は、その使用用途を、「プログラム用」から「グラフィック用」に変更する。その結果、「音声データ用」のメモリブロック及び「グラフィック用」のメモリブロックがそれぞれ1つずつ増加する一方、「プログラム用」のメモリブロックが2つ減少することになる。そこで、メモリ用途設定部412は、メモリ診断部411により、メモリ品質レベル「レベル3」と診断された2つのメモリブロック205及び207の使用用途を、「グラフィック用」及び「音声データ用」からそれぞれ「プログラム用」に変更する。これにより、プログラム用のメモリブロックの減少分を補填することができ、DRAM20に含まれる各メモリブロックを有効利用できる。
図7は、メモリ用途設定部412が用途設定情報31を設定する処理手順の他の一例を示す図である。なお、図7は、図4に示す用途設定情報31を変更する場合を示している。
図7に示すように、メモリブロック202は、メモリ診断部411により、メモリ品質レベル「レベル2」と診断されたので、メモリ用途設定部412は、図5に示す用途設定テーブル42を参照し、その使用用途を、「プログラム用」から「グラフィック用」に変更する。また、メモリブロック204は、メモリ診断部411により、メモリ品質レベル「レベル2」と診断されたので、メモリ用途設定部412は、図5に示す用途設定テーブル42を参照し、その使用用途を、「グラフィック用」に保持している。ここで、メモリブロック203は、メモリ診断部411により、メモリ品質レベル「レベル3」と診断されたので、メモリブロック203の使用用途は、メモリ用途設定部412によって、「グラフィック用」から「プログラム用」に変更されるはずである。
ところが、メモリ品質レベル「レベル2」のメモリブロック202と、メモリ品質レベル「レベル2」のメモリブロック204とが、互いに隣接していない。これは、メモリ診断部411により不良領域を有するメモリブロック(ここでは、メモリブロック202及び204)が複数検出された場合であって、かつ、その不良領域を有する複数のメモリブロックが互いに隣接していないアドレスに配置されている場合に該当する。この場合、メモリ用途設定部412は、例外的に、これらメモリブロック間の他のメモリブロックに対応する用途設定情報31を、グラフィック用のメモリブロックとして使用する事を示す用途設定情報に設定する。図7に示す例では、メモリ用途設定部412は、メモリ品質レベル「レベル2」の2つのメモリブロック202,204、及びこれら2つのメモリブロック202,204により挟まれるメモリブロック203の使用用途を、共に「グラフィック用」に設定する。
このように、メモリ用途設定部412は、メモリ診断部411によりメモリ品質レベル「レベル2」のメモリブロック(1ビット不良ブロック)が複数検出された場合であって、当該複数の1ビット不良ブロックが互いに隣接していない場合には、DRAM20のうち、複数の1ビット不良ブロック、及び複数の1ビット不良ブロックにより挟まれるメモリブロックを、グラフィック用のメモリブロックに変更する。これにより、比較的に大容量のグラフィックデータがDRAM20に記憶される場合であっても、複数のメモリブロックから成る1つのまとまった領域に当該グラフィックデータを記憶することができ、グラフィックデータの読み書き時間を短縮することができる。
次に、図8を参照して、図1に示すコンピュータ装置1のメモリ用途設定処理について説明する。図8は、図1に示すコンピュータ装置1のメモリ用途設定処理を示すフローチャートである。なお、図8に示すメモリ用途設定処理は、コンピュータ装置1の電源が投入された後、CPU10が、BIOSプログラム41をROM40から読み出して実行することにより、実行される処理である。
図8に示すように、まず、BIOSプログラム41は、メモリ用途設定部412により設定(変更)された用途設定情報31が不揮発性メモリ30に記憶されているか否かを判定する(ステップS10)。
この判定の結果、メモリ用途設定部412により変更された用途設定情報31が不揮発性メモリ30に記憶されていると判定すると(ステップS10:Yes)、すなわち、前回の起動時に、メモリ用途設定部413によりメモリブロック201〜210毎に使用用途が設定されていると判定すると、BIOSプログラム41は、処理をステップS16に移す。一方、この判定の結果、メモリ用途設定部412により設定された用途設定情報31が不揮発性メモリ30に記憶されていないと判定すると(ステップS10:No)、BIOSプログラム41は、処理をステップS11に移す。
ステップS11において、BIOSプログラム41のメモリ診断部411は、DRAM20の全メモリブロック201〜210を1つのメモリブロックごとに診断し、各メモリブロック201〜210内の不良領域を検出する(ステップS11)。
そして、メモリ診断部411は、各メモリブロック201〜210内の不良領域を検出したメモリ診断結果を、DRAM20における各メモリブロック201〜210のアドレス情報に関連付ける処理を行う(ステップS12)。
続いて、メモリ診断部411は、DRAM20に、未診断のメモリブロックが有るか否かを判定する(ステップS13)。この判定は、DRAM20の各メモリブロック201〜210のアドレス情報に、メモリ診断結果が関連付けられているか否かを判定することにより行われる。そして、DRAM20に、未診断のメモリブロックが有ると判定すると(ステップS13:Yes)、メモリ診断部411は、DRAM20に、未診断のメモリブロックが無くなるまで、ステップS11〜ステップS13の処理を繰り返す。
一方、DRAM20に、未診断のメモリブロックが無いと判定すると(ステップS13:No)、メモリ診断部411は、DRAM20における各メモリブロック201〜210で、不良領域が検出されたか否かを判定する(ステップS14)。この判定の結果、DRAM20における各メモリブロック201〜210で、不良領域が検出されたと判定すると(ステップS14:Yes)、メモリ診断部411は、処理をステップS15へ移行する。
そして、メモリ用途設定部412は、ROM40に記憶された用途設定テーブル42を参照し、不揮発性メモリ30に記憶された用途設定情報31を設定(変更)し(ステップS15)、処理をステップS17へ移行する。
一方、DRAM20における各メモリブロック201〜210で、不良領域が検出されなかったと判定すると(ステップS14:No)、メモリ診断部411は、処理をステップS16へ移行する。そして、メモリ用途設定部413は、ROM40に記憶されたデフォルト用途設定情報43に基づいて、不揮発性メモリ30に記憶された用途設定情報31を設定(変更)し(ステップS16)、処理をステップS17へ移行する。すなわち、ステップS16では、デフォルト用途設定情報43が、デフォルト値として、用途設定情報31に複写される。
ステップS17において、BIOSプログラム41は、ステップS15又はステップS16にて設定された用途設定情報31に基づいて、メモリブロック201〜210毎に使用用途を割り当て、メモリ用途設定処理を終了する。
上述してきたように、本実施例では、DRAM20の領域を所定長で区画したメモリブロック201〜210毎の使用用途を示す用途設定情報31が不揮発性メモリ30に記憶され、DRAM20を診断することにより、各メモリブロック201〜210内の不良領域を検出し、各メモリブロック201〜210単位の不良領域の検出結果に応じて、不揮発性メモリ30に記憶される各メモリブロックの用途設定情報が設定される。
一般に、グラフィックデータや音声データは完全性を求めなければ、多少のデータ欠落やエラーがあったとしても再生は可能である。逆にプログラムは、多少のデータ欠落やエラーがあっても正常動作しない。本実施例は、この特性を応用したものである。すなわち、本実施例では、不良ブロックは、画像表示に用いられるグラフィックメモリ(画像データ用のメモリブロック)として設定し、正常ブロックはプログラムを配置するメインメモリ(プログラム用のメモリブロック)として設定するようにし、不良ブロックもメモリの一部として利用できるようにすることによりメモリの有効活用を可能としたものである。
このように構成したので、メインメモリのうち、正常なメモリブロックだけでなく、不良ビット数が比較的に少ない軽度の不良ブロックにも適切な用途を割り当てて、メインメモリに含まれる各メモリブロックを有効利用することができる。
なお、本実施例のBIOSプログラム41は、必ずしもROM40に記憶されている必要はなく、例えば、フラッシュメモリ等の書き換え可能な不揮発性のメモリに記憶しておき、このプログラムを、CPU10が読み出して実行するようにしてもよい。また、本実施例のBIOSプログラム41は、例えば、ネットワークに接続されたサーバ等からフラッシュメモリにダウンロードされるようにしてもよく、さらには、CD−ROM等の記録媒体に記録されてから記録媒体のドライブを介して、フラッシュメモリに読み込まれるようにしてもよい。
本実施例に係るコンピュータ装置の構成を示す機能ブロック図である。 図1に示すDRAMの詳細を示す説明図である。 図1に示すBIOSプログラムの詳細を示す機能ブロック図である。 図1に示す用途設定情報の詳細を示す説明図である。 図1に示す用途設定テーブルの詳細を示す説明図である。 メモリ用途設定部により用途設定情報を設定する処理手順の一例を説明するための説明図である。 メモリ用途設定部により用途設定情報を設定する処理手順の他の一例を説明するための説明図である。 本実施形態に係るコンピュータ装置のメモリ用途設定処理の手順を示すフローチャートである。
符号の説明
1 コンピュータ装置
10 CPU
20 DRAM(メモリ)
30 不揮発性メモリ(用途設定情報記憶手段)
31 用途設定情報
40 ROM
41 BIOSプログラム
42 用途設定テーブル
43 デフォルト用途設定情報
201〜210 メモリブロック
411 メモリ診断部
412 メモリ用途設定部

Claims (8)

  1. 各種情報を記憶するメモリと、
    前記メモリの領域を所定長で区画したメモリブロック毎の使用用途を示す用途設定情報が記憶される用途設定情報記憶手段と、
    前記メモリを診断することにより、各前記メモリブロック内の不良領域を検出するメモリ診断手段と、
    前記メモリ診断手段により検出された各前記メモリブロック内の不良領域のビット数が多いほど求められるデータの再現性の程度が低い前記使用用途を示す前記用途設定情報を、前記用途設定情報記憶手段に記憶される各前記メモリブロックの前記用途設定情報として設定するメモリ用途設定手段と、
    を有することを特徴とするコンピュータ装置。
  2. 前記メモリ用途設定手段は、
    前記用途設定情報記憶手段内の、前記メモリ診断手段により不良領域が検出されたメモリブロックに対応する前記用途設定情報を、グラフィックデータを記憶するためのグラフィック用のメモリブロックとして使用する事を示す用途設定情報に設定することを特徴とする請求項1に記載のコンピュータ装置。
  3. 前記メモリ用途設定手段は、
    前記メモリ診断手段により不良領域を有するメモリブロックが複数検出された場合であって、かつ、当該不良領域を有する複数のメモリブロックが互いに隣接していないアドレスに配置されている場合、
    前記不良領域を有するメモリブロック間の他のメモリブロックに対応する前記用途設定情報を、前記グラフィック用のメモリブロックとして使用する事を示す用途設定情報に設定することを特徴とする請求項2に記載のコンピュータ装置。
  4. 前記メモリ用途設定手段は、
    前記用途設定情報記憶手段内の、前記メモリ診断手段により不良領域が検出されたメモリブロックに対応する用途設定情報を、音声データを記憶するための音声用のメモリブロックとして使用する事を示す用途設定情報に設定することを特徴とする請求項1に記載のコンピュータ装置。
  5. 前記メモリ用途設定手段は、
    前記用途設定情報記憶手段内の、前記メモリ診断手段により不良領域が検出されなかったメモリブロックに対応する前記用途設定情報を、プログラムを展開するためのメモリブロックとして使用する事を示す用途設定情報に設定することを特徴とする請求項1〜4のいずれか1つに記載のコンピュータ装置。
  6. 前記メモリの領域を所定長で区画したメモリブロック毎の使用用途が予め設定されているデフォルト用途設定情報を記憶するデフォルト用途記憶手段を有し、
    前記メモリ用途設定手段は、前記メモリ診断手段によって前記メモリ内の全てのメモリブロックに不良領域が検出されなかった場合、前記デフォルト用途設定情報記憶手段に記憶されたデフォルト用途設定情報に基づいて、前記用途設定情報記憶手段内の用途設定情報を設定することを特徴とする請求項1〜5のいずれか1つに記載のコンピュータ装置。
  7. 前記メモリ用途設定手段は、
    このコンピュータ装置が起動する際に処理を開始すると共に、
    当該処理の開始時点で、前記メモリブロック毎に前記用途設定情報が設定されている場合には、前記メモリ診断手段による各前記メモリブロック単位の不良領域の検出結果に応じた前記用途設定情報の設定を実行しないことを特徴とする請求項1〜6のいずれか1つに記載のコンピュータ装置。
  8. 各種情報を記憶するメモリと、前記メモリの領域を所定長で区画したメモリブロック毎の使用用途を示す用途設定情報が記憶される用途設定情報記憶手段とを有するコンピュータ装置を、
    前記メモリを診断することにより、各前記メモリブロック内の不良領域を検出するメモリ診断手段と、
    前記メモリ診断手段により検出された各前記メモリブロック内の不良領域のビット数が多いほど求められるデータの再現性の程度が低い前記使用用途を示す前記用途設定情報を、前記用途設定情報記憶手段に記憶される各前記メモリブロックの前記用途設定情報として設定するメモリ用途設定手段と、
    して機能させることを特徴とするメモリ用途設定プログラム。
JP2008258975A 2008-10-03 2008-10-03 コンピュータ装置、及びメモリ用途設定プログラム Expired - Fee Related JP5439788B2 (ja)

Priority Applications (6)

Application Number Priority Date Filing Date Title
JP2008258975A JP5439788B2 (ja) 2008-10-03 2008-10-03 コンピュータ装置、及びメモリ用途設定プログラム
TW098131047A TWI434174B (zh) 2008-10-03 2009-09-15 電腦系統及記憶體用途設定程式
EP20090170309 EP2180406A3 (en) 2008-10-03 2009-09-15 Computer system and memory use setting program
CN2009101791362A CN101714121B (zh) 2008-10-03 2009-09-29 计算机系统和存储器用途设置程序
US12/570,054 US8239712B2 (en) 2008-10-03 2009-09-30 Computer system and memory use setting program
KR1020090093107A KR101125411B1 (ko) 2008-10-03 2009-09-30 컴퓨터 장치 및 메모리 용도 설정 프로그램을 저장하는 저장 매체

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2008258975A JP5439788B2 (ja) 2008-10-03 2008-10-03 コンピュータ装置、及びメモリ用途設定プログラム

Publications (2)

Publication Number Publication Date
JP2010092126A JP2010092126A (ja) 2010-04-22
JP5439788B2 true JP5439788B2 (ja) 2014-03-12

Family

ID=41832907

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2008258975A Expired - Fee Related JP5439788B2 (ja) 2008-10-03 2008-10-03 コンピュータ装置、及びメモリ用途設定プログラム

Country Status (6)

Country Link
US (1) US8239712B2 (ja)
EP (1) EP2180406A3 (ja)
JP (1) JP5439788B2 (ja)
KR (1) KR101125411B1 (ja)
CN (1) CN101714121B (ja)
TW (1) TWI434174B (ja)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102004701B (zh) * 2009-08-28 2013-01-09 炬才微电子(深圳)有限公司 一种次级内存的分配方法和装置
JP2012038368A (ja) * 2010-08-04 2012-02-23 Toshiba Corp 不良解析装置及び不良解析方法

Family Cites Families (18)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4380066A (en) * 1980-12-04 1983-04-12 Burroughs Corporation Defect tolerant memory
JPH0520207A (ja) 1991-07-16 1993-01-29 Canon Inc 画像メモリ装置
JPH0537969A (ja) 1991-07-31 1993-02-12 Hitachi Ltd 画像データのエラー監視方式
JPH06202962A (ja) * 1992-12-29 1994-07-22 Brother Ind Ltd 半導体メモリの管理システム
JP4246812B2 (ja) * 1997-06-12 2009-04-02 パナソニック株式会社 半導体回路及びその制御方法
US6505305B1 (en) * 1998-07-16 2003-01-07 Compaq Information Technologies Group, L.P. Fail-over of multiple memory blocks in multiple memory modules in computer system
JP2000132987A (ja) * 1998-10-28 2000-05-12 Neucore Technol Inc 不揮発性半導体メモリ装置
US6405323B1 (en) * 1999-03-30 2002-06-11 Silicon Storage Technology, Inc. Defect management for interface to electrically-erasable programmable read-only memory
US6763425B1 (en) * 2000-06-08 2004-07-13 Netlogic Microsystems, Inc. Method and apparatus for address translation in a partitioned content addressable memory device
US6781898B2 (en) * 2002-10-30 2004-08-24 Broadcom Corporation Self-repairing built-in self test for linked list memories
KR100719380B1 (ko) 2006-03-31 2007-05-18 삼성전자주식회사 향상된 신뢰성 특성을 갖는 다치 플래시 메모리 장치 및그것을 포함한 메모리 시스템
US7275190B2 (en) * 2004-11-08 2007-09-25 Micron Technology, Inc. Memory block quality identification in a memory device
KR100722658B1 (ko) * 2005-02-14 2007-05-28 최명렬 메모리 장치 및 그 제어 방법
CN100407336C (zh) * 2005-11-22 2008-07-30 武汉国光通信有限公司 一种嵌入式系统中非易失性存储器的数据存取方法
JP4129693B2 (ja) * 2006-05-18 2008-08-06 コニカミノルタビジネステクノロジーズ株式会社 メモリ管理方法
KR20080010965A (ko) * 2006-07-28 2008-01-31 엠텍비젼 주식회사 메모리 장치 및 메모리 장치의 불량블록 관리 방법
KR20080018071A (ko) * 2006-08-23 2008-02-27 슬림디스크 주식회사 컨텐츠 기록 장치 및 그 방법
US20080189481A1 (en) * 2007-02-07 2008-08-07 Peter Mayer Methods and systems for storing data based on a reliability requirement

Also Published As

Publication number Publication date
TW201015312A (en) 2010-04-16
TWI434174B (zh) 2014-04-11
EP2180406A2 (en) 2010-04-28
CN101714121B (zh) 2012-04-04
CN101714121A (zh) 2010-05-26
US8239712B2 (en) 2012-08-07
KR101125411B1 (ko) 2012-03-27
KR20100038151A (ko) 2010-04-13
JP2010092126A (ja) 2010-04-22
US20100088559A1 (en) 2010-04-08
EP2180406A3 (en) 2010-08-25

Similar Documents

Publication Publication Date Title
JP5509568B2 (ja) コンピュータ装置、プロセッサ診断方法、及びプロセッサ診断制御プログラム
JP5608139B2 (ja) 不揮発性メモリからの装置ブートアップ中のエラーの取り扱い
JP2007122627A (ja) 情報処理装置及びメモリ初期化方法
JP2005071303A (ja) プログラム起動装置
JP2010092125A (ja) コンピュータ装置、メモリ診断方法、及びメモリ診断制御プログラム
JP5439788B2 (ja) コンピュータ装置、及びメモリ用途設定プログラム
JP2006020058A (ja) 画像形成装置
JP5072702B2 (ja) 記憶装置の制御装置、記憶装置及び記憶装置の制御方法
JP4963167B2 (ja) システム起動方法、及びプログラム
JP2009157649A (ja) 命令チェックプログラム、命令チェック方法、命令チェック装置およびi/oシミュレータ
JP5087970B2 (ja) 情報処理装置および情報処理方法
JP7135403B2 (ja) ダンプ処理装置及び画像形成装置
JP2005149503A (ja) Dmaを使用してメモリをテストするためのシステムおよび方法
JP2009238176A (ja) 情報処理装置およびプログラムの検証方法
JP2007148536A (ja) Ram診断装置および方法
JP2003150458A (ja) 障害検出装置、障害検出方法、プログラム及びプログラム記録媒体
TWI775578B (zh) 嵌入式電子裝置、啟動方法及內儲程式之嵌入式電子裝置可讀取記錄媒體
CN106970809A (zh) 一种安全升级文件系统的方法和装置
JP2006276965A (ja) 不良ブロック検出方法および不良ブロック検出装置
JP4170133B2 (ja) 情報処理装置
JP2009531757A (ja) 記憶装置の駆動方法
JP2002244934A (ja) メモリ監視装置および方法
JP5125099B2 (ja) 情報記憶装置、情報記憶方法及びプログラム
JP5641566B2 (ja) 半導体集積回路装置、制御記憶装置の制御方法及びプログラム
JP2010146166A (ja) メモリ制御装置及びメモリ制御プログラム

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20110708

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20130225

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20130305

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20130502

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20131119

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20131202

R150 Certificate of patent or registration of utility model

Ref document number: 5439788

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

Free format text: JAPANESE INTERMEDIATE CODE: R150

LAPS Cancellation because of no payment of annual fees