(57)【要約】【課題】  メモリモジュールに搭載されたメモリの不良救済をコンピュータシステム上で実行する。【解決手段】  コンピュータシステム１は、ＣＰＵ２と、不良救済が可能であるように構成されたメモリ１１が搭載されたメモリモジュール３とを備えている。ＣＰＵ２は、二次キャッシュ２ｂを備えている。メモリ１１の不良救済の実行が指示されると、救済プログラム１５がＣＰＵ２の二次キャッシュ２ｂにロードされる。ＣＰＵ２は、二次キャッシュ２ｂにロードされた救済プログラム１５を実行して、メモリ１１の不良救済を行う。【選択図】  図１
2006302129.tif 000002
【特許請求の範囲】
【請求項１】
ＣＰＵと、
不良救済が可能であるように構成されたメモリが搭載されたメモリモジュールと、
前記メモリとは別に用意された記憶手段
とを備え、
前記メモリの不良救済の実行が指示されると、救済プログラムが前記記憶手段にロードされ、
前記ＣＰＵは、前記記憶手段にロードされた前記救済プログラムを実行して、前記メモリの不良救済を行う
コンピュータシステム。
【請求項２】
請求項１に記載のコンピュータシステムであって、
前記記憶手段は、前記ＣＰＵに搭載されたキャッシュメモリである
コンピュータシステム。
【請求項３】
請求項１に記載のコンピュータシステムであって、
前記メモリモジュールは、通常動作時に当該コンピュータシステムの主記憶として使用される
コンピュータシステム。
【請求項４】
請求項１に記載のコンピュータシステムであって、
前記メモリモジュールは、不揮発性メモリを搭載し、
前記ＣＰＵは、テストプログラムを実行して前記メモリをテストし、前記メモリに不良アドレスが発見されたときには前記不良アドレスを示す不良情報を前記不揮発性メモリに書き込み、
前記メモリの不良救済は、前記不揮発性メモリに書き込まれた不良情報に基づいて行われる
コンピュータシステム。
【請求項５】
請求項４に記載のコンピュータシステムであって、
前記不揮発性メモリは、ＳＰＤ（Serial Presence Detect）として使用される
コンピュータシステム。
【請求項６】
ＣＰＵと、通常動作時に主記憶として使用されるメモリと、前記メモリとは別に用意された記憶手段を搭載するコンピュータシステム上で不良救済を行うための不良救済方法であって、
救済プログラムを、前記記憶手段にロードするステップと、
前記ＣＰＵに前記記憶手段にロードされた前記救済プログラムを実行させ、前記メモリの不良救済を行うステップ
とを具備する
不良救済方法。
【請求項７】
請求項６に記載の不良救済方法であって、
前記記憶手段は、前記ＣＰＵに搭載されたキャッシュメモリである
不良救済方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、コンピュータシステム、及びそれに搭載されたメモリの不良救済を行うための方法に関する。
【背景技術】
【０００２】
大規模なメモリは、その製造欠陥を完全に排除することが困難であるという理由から、冗長メモリセルを用いた不良救済が行われることが一般的である。テストによってメモリに不良メモリセルが発見されると、その不良メモリセルのアドレス（不良アドレス）が、メモリに組み込まれたヒューズにプログラムされる。アクセスが要求されたときに、当該アクセスが不良メモリセルへのアクセスであることをヒューズにプログラムされた不良アドレスから検知すると、メモリは、不良メモリセルの代わりに冗長メモリセルへのアクセスを行う。これによりメモリは、擬似的に正常に動作する。
【０００３】
不良救済は、最も伝統的には、レーザトリミングにより、即ち、ヒューズをレーザ光によって溶断されることによって行われる。しかし、レーザトリミングによる不良救済は、チップが露出された状態、即ち、ウェハー状態でしか行うことができないという問題がある。メモリがパッケージされた後では、或いはパッケージされたメモリがメモリモジュールに実装された後ではレーザトリミングによる不良救済を行うことはできない。
【０００４】
パッケージされたメモリ、或いは、メモリモジュールに実装されたメモリの不良救済を可能にするために、電気的に溶断可能なアンチヒューズに不良アドレスをプログラムする技術が提案されている（例えば、特開平６−２９５５９３号公報、及び、特開２０００−１１８６４号公報参照）。アンチヒューズを不良救済に使用するメモリでは、例えば、以下の手順で不良救済が行われる：パッケージされたメモリ、或いは、メモリモジュールに実装された電気的メモリが行われ、不良メモリセルのアドレスの情報である不良ログが採取される。更に、その不良ログから不良救済の可否が判断され、不良救済が可能である場合、不良アドレスがメモリテスタによってアンチヒューズに電気的にプログラムされる。
【０００５】
更に、特開２００４−５５１００号公報は、レーザトリミングによる不良救済にしか対応していないＤＲＡＭ（Dynamic Random Access Memory）をメモリモジュールに実装した後に不良救済を行う技術を開示している。この技術では、不良デバイス情報がメモリモジュールに搭載されている不揮発性メモリに格納される。コンピュータシステムが起動されると、不良デバイス情報が不揮発性メモリからＤＲＡＭに転送され、ＤＲＡＭによって揮発的に保持される。ＤＲＡＭは、アクセスが要求されたときに、当該アクセスが不良メモリセルへのアクセスであることを保持している不良デバイス情報から検知すると、メモリは、不良メモリセルの代わりに冗長メモリセルへのアクセスを行う。
【０００６】
上記の不良救済技術は、メモリモジュールへの実装後にメモリの不良救済を行うための技術であるが、メモリモジュールがコンピュータシステムに実装された後で不良救済が行うことができれば、更に便利である。第１に、コンピュータシステム上でメモリモジュールのメモリの不良救済を行うことができれば、不良救済のために高価なメモリテスタを準備する必要がない。これは、経済的に極めて有利である。第２に、コンピュータシステム上でメモリモジュールのメモリの不良救済を行うことができれば、エンドユーザにおいて使用されている間に発生したメモリ不良の救済が可能である。これは、メモリ不良の修復に必要なＴＡＴ（turn around time）やコストの削減に有効である。従来では、エンドユーザにおいて使用されている間に発生したメモリ不良の修復のためには、メモリ又はメモリモジュールの交換が必要であり、これは、ＴＡＴやコストの不所望な増大をもたらしている。このように、メモリモジュールのメモリの不良救済をコンピュータシステム上で実行可能にすることには、技術的な有用性が存在する。
【特許文献１】特開平６−２９５５９３号公報
【特許文献２】特開２０００−１１８６４号公報
【特許文献３】特開２００４−５５１００号公報
【発明の開示】
【発明が解決しようとする課題】
【０００７】
したがって、本発明の目的は、メモリモジュールのメモリの不良救済をコンピュータシステム上で実行することを可能にするための技術を提供することにある。
【課題を解決するための手段】
【０００８】
コンピュータシステム上でメモリモジュールのメモリの不良救済を行う上での一つの問題は、メモリの不良救済の際には、救済対象のメモリを主記憶として使用することができないことである。具体的には、メモリの不良救済を実行する救済プログラムをコンピュータシステム上で実行する場合に、当該メモリに救済プログラムをロードすることはできない。コンピュータシステム上でメモリの不良救済を実現するためには、このような問題を回避する必要がある。
【０００９】
本発明は、メモリとは別に用意された記憶手段を、メモリの不良救済の際に主記憶として使用することによって上述の問題を回避し、もってコンピュータシステム上におけるメモリの不良救済を実現する。好適な実施形態では、ＣＰＵに搭載されているキャッシュメモリが、メモリの不良救済のときに主記憶として使用される。
【００１０】
より具体的には、本発明は、以下に述べられる手段を採用する。その手段を構成する技術的事項の記述には、［特許請求の範囲］の記載と［発明を実施するための最良の形態］の記載との対応関係を明らかにするために、［発明を実施するための最良の形態］で使用される番号・符号が付加されている。但し、付加された番号・符号は、［特許請求の範囲］に記載されている発明の技術的範囲を限定的に解釈するために用いてはならない。
【００１１】
本発明の一の観点において、コンピュータシステム（１）は、ＣＰＵ（２）と、不良救済が可能であるように構成されたメモリ（１１）が搭載されたメモリモジュール（３）と、メモリ（１１）とは別に用意された記憶手段（２ｂ）とを備えている。メモリ（１１）の不良救済の実行が指示されると、救済プログラム（１５）が記憶手段（２ｂ）にロードされる。ＣＰＵ（２）は、記憶手段（２ｂ）にロードされた救済プログラム（１５）を実行して、メモリ（１１）の不良救済を行う。本発明は、メモリモジュール（３）が、通常動作時に当該コンピュータシステム（１）の主記憶として使用される場合に特に有効である。
【００１２】
記憶手段（２ｂ）は、ＣＰＵ（２）に搭載されたキャッシュメモリ（２ｂ）であることが好ましい。
【００１３】
メモリモジュール（３）が、ＳＰＤ（serial presence detect）のような不揮発性メモリを搭載している場合、ＣＰＵ（２）は、テストプログラム（１４）を実行して前記メモリ（１１）をテストし、メモリ（１１）に不良アドレスが発見されたときには不良アドレスを示す不良情報を前記不揮発性メモリに書き込み、前記メモリ（１１）の不良救済は、前記不揮発性メモリに書き込まれた不良情報に基づいて行われることが好ましい。
【００１４】
本発明の他の観点において、本発明の不良救済方法は、ＣＰＵ（２）と、通常動作時に主記憶として使用されるメモリ（１１）と、前記メモリ（１１）とは別に用意された記憶手段（２ｂ）を搭載するコンピュータシステム（１）において不良救済を行うことに向けられている。当該不良救済方法は、
救済プログラム（１５）を、記憶手段（２ｂ）にロードするステップと、
ＣＰＵ（２）に記憶手段（２ｂ）にロードされた救済プログラム（１５）を実行させ、メモリ（１１）の不良救済を行うステップ
とを具備している。記憶手段（２ｂ）は、ＣＰＵ（２）に搭載されたキャッシュメモリ（２ｂ）であることが好ましい。
【発明の効果】
【００１５】
本発明によれば、メモリモジュールに搭載されたメモリの不良救済をコンピュータシステム上で実行することができる。
【発明を実施するための最良の形態】
【００１６】
図１は、本発明の一実施形態のコンピュータシステム１の構成を示すブロック図である。コンピュータシステム１は、ＣＰＵ２と、メモリモジュール３と、ビデオカード４とを備えている。ＣＰＵ２、メモリモジュール３、及びビデオカード４は、ノースブリッジ５によって相互に接続されている。
【００１７】
ＣＰＵ２は、高速で容量が小さい一次キャッシュ２ａと、一次キャッシュ２ａよりも低速であるが容量が大きい二次キャッシュ２ｂとを備えている。一次キャッシュ２ａは、ＣＰＵ２が最初にデータを読みに行くキャッシュメモリであり、二次キャッシュ２ｂは、一次キャッシュ２ａに所望のデータが存在しないときにＣＰＵ２が次にデータを読みに行くキャッシュメモリである。二次キャッシュ２ｂは、典型的には、２Ｍｂｙｔｅの容量を有している。
【００１８】
メモリモジュール３は、メモリ１１と、ＳＰＤ（Serial Presence Detect）１２とを備えている。メモリ１１は、通常動作時にコンピュータシステム１の主記憶として使用される記憶装置である。メモリ１１としては、ＤＲＡＭ（Dynamic Random Access Memory）が使用される。メモリ１１は、電気的に不良救済が可能であるように構成されている。具体的には、メモリ１１には、アンチヒューズが集積化されており、メモリ１１の不良救済の際には、アンチヒューズに不良アドレスがプログラムされる。メモリ１１は、アンチヒューズにプログラムされている不良アドレスから不良メモリセルへのアクセスが要求されたことを検知すると、不良メモリセルの代わりに冗長メモリセルへのアクセスを行う。
【００１９】
ＳＰＤ１２は、メモリ１１の種類やメモリの容量、クロック周波数、信号タイミング、ＥＣＣやパリティの有無、などといったメモリに関する情報を格納する不揮発性メモリである。ＳＰＤ１２としては、典型的にはＥＥＰＲＯＭ（Electrically Erasable Programmable Read Only Memory）が使用される。
【００２０】
ノースブリッジ５には、サウスブリッジ６が接続されている。サウスブリッジ６には、ＢＩＯＳ（basic input/output system）１３を格納する不揮発性メモリ７と、ハードディスクドライブ８と、ＰＣＩスロット９と、ネットワークカード１０とが接続されている。
【００２１】
不揮発性メモリ７に格納されたＢＩＯＳ１３は、メモリテストプログラム１４と救済プログラム１５とを備えている。メモリテストプログラム１４は、メモリモジュール３のテストを行うプログラムである。コンピュータシステム１の起動の際に、コンピュータシステム１がメモリモジュール３のテストを行うように設定されると、ＣＰＵ２によってメモリテストプログラム１４が実行されてメモリモジュール３のテストが行われる。救済プログラム１５は、メモリ１１の不良救済を行うためのプログラムである。後述されるように、コンピュータシステム１の起動の際にコンピュータシステム１がメモリ１１の不良救済を行うように設定されると、ＣＰＵ２によって救済プログラム１５が実行されてメモリ１１の不良救済が行われる。
【００２２】
本実施形態のコンピュータシステム１の一つの特徴は、コンピュータシステム１上で主記憶として使用されるメモリ１１の不良救済を行うことができるように構成されていることにある。コンピュータシステム１上でメモリ１１の不良救済を行うことは、不良救済のために高価なメモリテスタを使用する必要性をなくし、経済的に有利である。
【００２３】
しかしながら、コンピュータシステム１上でメモリ１１の不良救済を行う上で留意されるべきことは、不良救済の対象であるメモリ１１がコンピュータシステム１の主記憶として使用されることである。コンピュータシステム１が様々な動作を行うには主記憶が必要であり、メモリ１１の不良救済もその例外でない。しかし、メモリ１１の不良救済を行う場合には、それ自体を主記憶として使用することはできない。
【００２４】
このような問題を回避するために、本実施形態では、メモリ１１の不良救済が行われる際には、メモリ１１とは別に用意された記憶手段、具体的には、ＣＰＵ２の二次キャッシュ２ｂが主記憶として使用される。より具体的には、メモリ１１の不良救済が要求されると、救済プログラム１５が二次キャッシュ２ｂにロードされ、ＣＰＵ２によって実行される。これにより、メモリ１１の不良救済が行われる。
【００２５】
二次キャッシュ２ｂの代わりに、メモリ１１の不良救済のために専用に使用されるメモリが用意されてもよい。この場合には、救済プログラム１５が、その専用のメモリにロードされる。しかしながら、ＣＰＵ２に内蔵されているキャッシュメモリを不良救済のための主記憶として兼用することは、コンピュータシステム１のハードウェアの大きさを削減し、コスト面で有利である。以下では、メモリ１１の不良救済の具体的な手順が説明される。
【００２６】
図２に示されているように、コンピュータシステム１が起動されると、又は、コンピュータシステム１に特定の操作が行われると、ＢＩＯＳ１３のメモリテストプログラム１４が実行され、メモリモジュール３のテストが行われる（ステップＳ０１）。
【００２７】
メモリモジュール３のテストにおいて不良が発見されなかった場合には、メモリテストプログラム１４は、ここで正常終了する（ステップＳ０２）。一方、不良が発見されると、ＳＰＤ１２に不良情報が書き込まれる（ステップＳ０３）。不良情報は、例えば、不良のあるメモリモジュール３及びメモリ１１を識別するモジュールＩＤ、及びメモリＩＤ、並びに不良アドレスを示すデータを含んで構成される。コンピュータシステム１は、メモリモジュール３のテストにおいて不良が発見されたことを、表示装置（図示されない）に表示する。
【００２８】
ユーザは、メモリモジュール３のメモリ１１の不良救済の実行を望む場合、コンピュータシステム１の電源を一旦オフして、ジャンパーを切り替える（ステップＳ０４）。ジャンパーの切り替えは、コンピュータシステム１に不良救済の実行を指示するためのものである。ジャンパーの切り替えによって不良救済の実行を指示する代わりに、ソフトウェアスイッチの切り替えによって不良救済の実行を指示することも可能である。
【００２９】
ジャンパーが切り替えられた状態でコンピュータシステム１が再起動されると（ステップＳ０５）、ＣＰＵ２の二次キャッシュ２ｂに、システムプログラムがロードされる（ステップＳ０６）。例えば、ＢＩＯＳ１３の入出力制御モジュールが不揮発性メモリ７からロードされ、ＤＯＳ（Disk Operating System）がハードディスクドライブ８からロードされる。
【００３０】
続いて、ＢＩＯＳ１３の救済プログラム１５がＣＰＵ２の二次キャッシュ２ｂにロードされる（ステップＳ０７）。上述のように、救済プログラム１５が二次キャッシュ２ｂにロードされることは、不良救済のときにメモリ１１を主記憶として使用できないという問題を回避するために重要である。
【００３１】
更に、不良情報がＳＰＤ１２から二次キャッシュ２ｂに読み込まれる（ステップＳ０８）。本実施形態の不良救済の手順では、不良救済の前にコンピュータシステム１が再起動されるから、不良情報がＳＰＤ１２に不揮発的に記憶されていることは重要である。
【００３２】
続いて、不良救済の対象のメモリ１１が救済モードに設定される（ステップＳ０９）。他のメモリ１１は、通常モードのままである。救済モードとは、メモリ１１内部の不良アドレスを保持するアンチヒューズのプログラミングが許容されるモードであり、メモリ１１が通常モードのままではアンチヒューズのプログラミングを行うことはできない。メモリ１１に救済モードが用意されることは、メモリ１１のアンチヒューズが不用意にプログラミングされないために有用である。
【００３３】
続いて、ＣＰＵ２によって救済プログラム１５が実行され、対象のメモリ１１の不良救済が行われる（ステップＳ１０）。具体的には、対象のメモリ１１のアンチヒューズが電気的に溶断されることにより、不良アドレスがメモリ１１にプログラムされる。
【００３４】
不良救済が終了すると、救済モードが解除され、メモリ１１の動作モードが通常動作モードに切り替えられる（ステップＳ１１）。
【００３５】
ユーザは、コンピュータシステム１の電源を一旦オフして、ジャンパーを切り替えるように要求される（ステップＳ１２）。この状態でコンピュータシステム１が再起動されると、ＢＩＯＳ１３のメモリテストプログラム１４が二次キャッシュ２ｂにロードされる（ステップＳ１３）。ロードされたメモリテストプログラム１４が再度に実行され、メモリモジュール３のテストが再度行われる（ステップＳ１４）。
【００３６】
メモリモジュール３のテストにおいて不良が発見されなかった場合には、メモリテストプログラム１４は、ここで正常終了する（ステップＳ１５）。一方、不良が発見されると、ステップＳ０３と同様にＳＰＤ１２に不良情報が書き込まれる（ステップＳ１６）。コンピュータシステム１は、メモリモジュール３のテストにおいて不良が発見されたことを、表示装置（図示されない）に表示する。
【００３７】
以下、ステップＳ０４乃至ステップＳ１６の手順を繰り返すことにより、メモリモジュール３から不良が排除されるまで、メモリモジュール３のメモリ１１の不良救済を行うことができる。
【００３８】
以上に説明されているように、本実施形態では、コンピュータシステム１上で、主記憶として使用されるメモリモジュール３のメモリ１１の不良救済を実行することができる。救済プログラム１５の実行の際にメモリ１１を主記憶として使用できないという問題は、不良救済が実行される際にＣＰＵ２の二次キャッシュ２ｂが主記憶として使用されることによって回避されている。
【図面の簡単な説明】
【００３９】
【図１】図１は、本発明の一実施形態のコンピュータシステムの構成を示すブロック図である。
【図２】図２は、本実施形態において、メモリモジュールに搭載されたメモリの不良救済を行う手順を示すフローチャートである。
【符号の説明】
【００４０】
１：コンピュータシステム
２：ＣＰＵ
２ａ：一次キャッシュ
２ｂ：二次キャッシュ
３：メモリモジュール
４：ビデオカード
５：ノースブリッジ
６：サウスブリッジ
７：不揮発性メモリ
８：ハードディスクドライブ
９：ＰＣＩスロット
１０：ネットワークカード
１１：メモリ
１２：ＳＰＤ
１３：ＢＩＯＳ
１４：メモリテストプログラム
１５：救済プログラム
【図１】
2006302129.tif 000003
【図２】
2006302129.tif 000004