JP2009048343A - キャッシュタグ試験方式 - Google Patents

キャッシュタグ試験方式 Download PDF

Info

Publication number
JP2009048343A
JP2009048343A JP2007212555A JP2007212555A JP2009048343A JP 2009048343 A JP2009048343 A JP 2009048343A JP 2007212555 A JP2007212555 A JP 2007212555A JP 2007212555 A JP2007212555 A JP 2007212555A JP 2009048343 A JP2009048343 A JP 2009048343A
Authority
JP
Japan
Prior art keywords
memory
node
cpu
test
cache tag
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.)
Granted
Application number
JP2007212555A
Other languages
English (en)
Other versions
JP5088042B2 (ja
Inventor
Shuichiro Ishii
周一郎 石井
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 JP2007212555A priority Critical patent/JP5088042B2/ja
Publication of JP2009048343A publication Critical patent/JP2009048343A/ja
Application granted granted Critical
Publication of JP5088042B2 publication Critical patent/JP5088042B2/ja
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

  • Techniques For Improving Reliability Of Storages (AREA)
  • Test And Diagnosis Of Digital Computers (AREA)
  • Memory System Of A Hierarchy Structure (AREA)
  • For Increasing The Reliability Of Semiconductor Memories (AREA)

Abstract

【課題】本発明はキャッシュタグを持つCPUとメモリとを含むノードが複数個と,前記複数のノードを相互に接続するクロスバーを備えたシステムにおけるオペレーティングシステムによるキャッシュタグ試験方式に関し,無駄なメモリ資源の獲得をすることなく且つノードを指定してキャッシュタグ試験を実施することを目的とする。
【解決手段】システムに含まれるCPU数を検出するCPU数チェック部と,試験の対象となるキャッシュタグを持つ自CPU搭載のノードを識別するノードチェック部と,前記CPU数チェック部とノードチェック部とにより検出した試験対象CPUを搭載するノード以外の他ノードを指定してメモリを獲得するメモリ獲得部とを備え,メモリ獲得部により獲得した試験対象のメモリ領域に対し,期待値データを格納して,試験対象のメモリ領域のデータと期待値データを比較することにより試験を行うメモリ試験部とを備えるよう構成する。
【選択図】図1

Description

本発明は,CPU(またはシステムコントローラSC)を備えたノードを複数備えたシステムにおいてキャッシュタグ(キャッシュタグテーブル)試験をOS上から実施するキャッシュタグ試験方式に関する。
CPUやSC(またはシステムコントローラSC)ではデータへのアクセスを高速に行うためにキャッシュメモリを含むキャッシュ機構を持っている。キャッシュメモリに格納されるデータは,データの格納先のメモリアドレスと共にキャッシュタグテーブルによって管理される。
図5はメモリアドレスとキャッシュタグテーブルの例を示す。この例では,CPU(またはシステムコントローラSC)のキャッシュタグテーブル内でメモリアドレスをビット範囲により管理する機能が分割されている。
図5のA.はキャッシュメモリアドレスであり,0ビット〜63ビットの合計64ビットで構成され,その中の0〜7ビットはキャッシュメモリのラインサイズを表し,8〜20ビットはインデックス(キャッシュメモリのラインのアドレス),21〜49ビットはタグ(メモリアドレスの上位ビット),50〜63ビットは未使用のビットである。
図5のB.はキャッシュタグテーブルの構成例を示し,この例は1MB(メガバイト)キャッシュで,N−Way(Nウェイ)構成である。この例で示すように,キャッシュタグテーブルのタグは,メモリアドレスの上位ビットを使用しており,試験のためにタグを活性化する(タグのアドレスの何れかのビットを“1”に変化させる)ためにはメモリの上位アドレスを変化させる必要があるが,それを行うためには,大容量のメモリを獲得する必要がある。
図6は従来のシステム構成の例であり,図7は従来のメモリ資源獲得方法を示す。図6の例では,50はノードを表し,この例のシステム構成では4つのノード0〜ノード3が設けられている。各ノード50内の50は複数(この例では2つ)設けられたCPU(またはシステムコントローラSC,以下,CPUという)であり,52は各ノードのメモリである。各CPUはそれぞれキャッシュタグテーブルを含むキャッシュメモリ(図示省略)を備えている。53は各ノードの上位のOS(オペレーティングシステム),53aはキャッシュタグ試験のプログラム,53bは汎用メモリ獲得関数で,該当するCPU(ノード毎)が搭載されているノードのメモリ資源を優先的に獲得するための関数である。54はクロスバーであり,複数のノード50が互いに他のノードのメモリ51にアクセスするための共通バスである。
図6に示すシステム構成では,キャッシュタグ(キャッシュタグテーブル)の試験を行う場合,キャッシュタグ試験のプログラム53aが実行される。キャッシュタグの試験においてメモリ資源を取得するには,上記図5に示したように,キャッシュタグのタグ部に対応する上位のメモリアドレスのビット範囲(図5の場合は21〜49ビット)について取得する必要があるが,この範囲はCPUの種類,製造会社等によって異なる。但し,一般的にはメモリアドレスの上位ビットを使用して管理され,OS53上から,キャッシュメモリのタグ機構を試験するために各タグアドレスを活性化するには,メモリアドレスの上位ビットを使用するようなメモリアドレスを獲得する必要がある。
しかし,OSの仮想アドレス機構により,獲得されたメモリ資源に対する(仮想)アドレスが,物理アドレスにどのようにマッピングされているかが分からない。従って,システムに搭載されているメモリ資源をできるだけ多く獲得することで,結果的にメモリアドレスの上位ビットが割り当てられていることを期待し,それを前提として試験を行う。
図7に示す従来の資源獲得方法では,最初にシステムの空メモリ資源量をチェックし(図7のS1),汎用メモリ獲得関数(図6の53b)を使用してすべての空メモリ資源を取得し(同S2), 次に取得されたメモリ資源を試験領域として試験(獲得した領域に既知のデータを書込んで,書込んだ値が既知のデータと一致するかをチェックする処理)を実行する(同S3)。
上記図7に示す方法では,キャッシュタグアドレスのビット範囲が決まっている場合,図7に示す資源獲得方法では,本来試験に不必要なメモリ資源まで獲得することもあり,無駄なメモリ資源を獲得してしまうという問題があった。
従来のCPU内のキャッシュメモリであるTAG−RAM(タグ・ラム)の性能を試験する方法として,本願の出願人と同一出願人により提案された技術がある(特許文献1参照)。その方法は,実メモリが装着されない仮想メモリ空間を含めてTAG−RAMの性能を試験するため,メインメモリの実装物理アドレス空間を任意の物理アドレス空間に浮動アドレス変換により割り付け,メインメモリの実装物理アドレス空間と浮動アドレス変換により割り付けられたメインメモリの未実装物理アドレス空間に対して,TAG−RAMが正しく書込まれたか否かを診断するよう構成し,これによりTAG−RAMに格納するアドレスデータの全パターンについて実メモリを全容量分装着せずに試験するものである。
特開2002−367395号公報
上記特許文献1の技術では,CPUにおいてキャッシュの制御機構としてメモリの全容量を搭載しない未実装物理アドレス空間に対して試験を行うものであり,複数のノードに割り付けられたメモリを備えたシステムにおいて上位のOSからの試験を実行するという目的に対応するものではなく,上記図7に示す資源獲得方法では,無駄なメモリ資源を獲得してしまうという問題があった。
本発明はCPUまたはシステムコントローラ(SC)を備えたノードを複数備えたシステムにおいて無駄なメモリ資源の獲得をすることなく且つノードを指定してキャッシュタグ試験をOS上から実施するキャッシュタグ試験方式を提供することを目的とする。
図1は本発明の原理構成を示す図である。図中,1はオペレーティングシステム(OS),10はキャッシュタグ試験部,10aはシステム搭載のCPU数チェック部,10bはCPU搭載のノードチェック部,10cは対象CPU搭載のノード以外の他ノードを指定してそのメモリ資源を獲得可能な他ノード指定のメモリ獲得部,10dは獲得メモリ資源試験部,11はシステムのハードウェア(またはプラットフォーム)を構成するn個のノードと各ノード内のCPU(またはシステムコントローラSC)の関係が設定されたテーブル,12はメモリアドレス空間であり,12−0〜12−(n−1)は各ノード0〜ノード(n−1)のアドレス空間である。
2はシステムのハードウェア構成(またはプラットフォーム)であり,20−0〜20−(n−1)はn個から成る各ノード,21−0〜21−(n−1)は各ノード内のメモリ,22は各ノード内の複数のCPU(またはシステムコントローラSC,以下,単にCPUという),23は各CPUまたはSCに内蔵のキャッシュタグ(キャッシュタグテーブルと同じ:TAGで表示)であり,その構成は上記図6のB.に例として示された構成と同様である。24は複数のノード20−0〜20−(n−1)を相互に接続して互いに他のノードのメモリにアクセスすることを可能とするクロスバー(共通バス)である。
本発明ではオペレーティングシステム(OS)1において,試験の対象となるCPU(タグメモリ)を指定してキャッシュタグ試験部10を起動する。これにより,最初にシステム搭載のCPU数チェック部10aによりシステム搭載のCPU数をチェックする。このチェックはノード番号に対応したCPU番号を登録したテーブル11を用いて行う。続いて,チェックにより得たCPUの情報を用いて,同じテーブル11を用いて試験対象となるCPUを搭載するノードをノードチェック部10bで識別する。更に,ノードチェック部10bで識別したノード(試験対象となるCPUを含むノード)の情報を用いて,試験対象となるCPU(自CPU)が搭載されている自ノード以外の他ノードのノード番号をノード指定メモリ獲得関数に渡してメモリ資源を取得する。これにより試験の対象となるキャッシュタグを持つCPUが設けられた自ノードに閉じたアクセスを行うのではなく,必ずクロスバー24を経由したアクセスを行うようにして,メモリの上位のアドレスであるタグアドレスのビット範囲を変化させることができる。
各ノード20−0〜20−(n−1)のメモリ21−0〜21−(n−1)のメモリアドレス空間12はOS1上からはそれぞれ異なるアドレス空間12−0〜12−(n−1)であり,上記10a〜10cによりCPUに対応する他のノード番号を決定してノード指定メモリ獲得関数に指定することで,一つのノードに設けられたCPUのアドレス空間(メモリ領域)を越えて,クロスバー24を介して指定された他のノードのアドレス空間(メモリ領域)の領域を取得することができる。こうして,試験に必要な必要最小限のメモリ資源だけを獲得することが可能となる。
次に獲得したメモリ資源に対して,獲得メモリ資源試験部10dにおいて試験を行う。この試験では,獲得したメモリ資源に対して期待値データを書込んで,書込んだデータと期待値データとを比較するものである。
本発明によればメモリ資源の無駄な獲得の必要がなくなり,次のような効果を奏することができる。
(1) 各ノードのCPU(またはシステムコントローラSC)において未使用のメモリ資源を他のアプリケーションに割り当てることができる。
(2) アクセスするメモリ資源量が減ることで試験時間の短縮を実現できる。
(3) キャッシュタグ試験に効果があるノードを明示的に指定できるため,従来技術に比べて精度が向上する。
図2は本発明が実施されるシステムの構成例である。図中,1はOS,1aは試験プログラム,1bはノード別のCPUの固有情報との関係を示すテーブル,1cはノード指定メモリ獲得関数である。2は2つのノードを備えたハードウェア,20−0,20−1はノード0,ノード1,21−0,21−1はノード0とノード1のメモリ,22−0,22−1はノード0内のCPU,22−2はノード0内のシステムコントローラ(SC),22−3,22−4はノード1内のCPU,22−5はノード1内のシステムコントローラ(SC)である。23−0〜23−5は各CPUまたはシステムコントローラ(SC)に内蔵されたキャッシュタグ,24はノード20−0〜20−1を相互に接続して互いに他のノードにアクセスするクロスバー(共通バス)である。25はキャッシュタグにアクセスするためのキャッシュメモリアドレスの構成例であり,この例に示すアドレス構成は,上記図6のA.と同じであり,0〜7ビットはラインサイズ,8〜20ビットはキャッシュメモリのラインアドレスであるインデックス,21〜49ビットはメモリの上位ビットを表すタグ,50〜63ビットは未使用のビットである。
図3は本発明による試験プログラムのフローチャートであり,図4はテーブル1bの構成例を示し,この例は図2に示す構成に対応する。図3について概説すると,OS1において試験プログラム1aを開始すると,システムに搭載されているCPU(SCを含む)数をチェックする(図3のS1)。図2のシステムの場合,図4のテーブルを参照することで,CPU数はノード0とノード1の両方で合計6個であることが分かる。次に試験対象となるキャッシュタグ(図2の23−0〜23−5の中の一つ)を持つCPUが搭載されているノードをチェックし(図3のS2),自CPUが搭載されている自ノード以外の他ノードのノード番号をノード指定メモリ獲得関数に渡してメモリ資源(試験領域)を取得する(同S3)。なお,この場合,初期動作設定で汎用性を考慮して,試験対象となるタグメモリを含むCPUが,自分のノードのメモリ領域を使用しないように他のノードからメモリを取得するように設定されているものとする。
こうして取得した試験領域について以下のような試験が実行される。
まず,期待値格納領域を獲得して期待値データを書き込む(図3のS4)。なお,期待値格納領域は,試験用のデータ(期待値データ)を書き込むためのメモリ領域であり,汎用メモリ獲得関数(またはノード指定メモリ獲得関数)により獲得する。次に試験領域に期待値格納領域から読み込んだ期待値データを書き込み(図3のS5),期待値格納領域のデータと試験領域のデータを比較し(同S6),データが不一致であるか判別し(同S7),ノー(一致)の場合は試験正常終了とし(同S8),イエス(不一致)の場合は試験異常終了とする(同S9)。
本発明の原理構成を示す図である。 本発明が実施されるシステムの構成を示す図である。 本発明による試験プログラムのフローチャートを示す図である。 テーブルの構成例を示す図である。 メモリアドレスとキャッシュタグテーブルの構成例を示す図である。 従来のシステム構成を示す図である。 従来のメモリ資源獲得方法を示す図である。
符号の説明
1 オペレーティングシステム(OS)
10 キャッシュタグ試験部
10a システム搭載のCPU数チェック部
10b CPU搭載のノードチェック部
10c 対象CPU搭載以外の他ノード指定のメモリ獲得部
10d 獲得メモリ資源試験部
11 テーブル
12 メモリアドレス空間
12−0〜12−(n−1) ノード0〜ノード(n−1)のアドレス空間
2 ハードウェア構成(プラットフォーム)
20−0〜20−(n−1) ノード0〜ノード(n−1)
21−0〜21−(n−1) 各ノード内のメモリ
22 各ノード内の複数のCPU(またはシステムコントローラSC)
23 各CPUまたはSC内のキャッシュタグ(またはタグテーブル)
24 クロスバー

Claims (3)

  1. それぞれがキャッシュタグを持つCPUとメモリとを含むノードが複数個と,前記複数のノードを相互に接続するクロスバーを備えたシステムにおけるオペレーティングシステムによるキャッシュタグ試験方式において,
    前記システムに含まれるCPU数を検出するCPU数チェック部と,試験の対象となるキャッシュタグを持つ自CPU搭載のノードを識別するノードチェック部と,前記CPU数チェック部とノードチェック部とにより検出した試験対象CPUを搭載するノード以外の他ノードを指定してメモリを獲得するメモリ獲得部と,
    前記メモリ獲得部により獲得した試験対象のメモリ領域に対し,期待値データを格納して,前記試験対象のメモリ領域のデータと期待値データを比較することにより試験を行うメモリ試験部とを備えることを特徴とするキャッシュタグ試験方式。
  2. 請求項1において,
    前記複数の各ノードに備えたメモリのアドレス空間は,互いに異なる領域を構成し,
    前記メモリ獲得部は,ノード指定メモリ獲得関数により一つのノードのCPUから別のノードのメモリのアドレス空間を試験対象の領域として指定されると,複数のノードの間を相互に接続するクロスバーを介して接続することを特徴とするキャッシュタグ試験方式。
  3. 請求項1において,
    前記メモリ試験部は,期待値データを格納する領域を獲得する期待値データ格納領域獲得部と,前記メモリ獲得部により獲得した試験対象のメモリ領域に対して前記期待値データ格納領域の期待値データを書き込み,該試験対象のメモリ領域に書き込まれたデータと前記期待値データ格納領域の期待値データとを比較することを特徴とするキャッシュタグ試験方式。
JP2007212555A 2007-08-17 2007-08-17 キャッシュタグ試験方式 Expired - Fee Related JP5088042B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2007212555A JP5088042B2 (ja) 2007-08-17 2007-08-17 キャッシュタグ試験方式

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2007212555A JP5088042B2 (ja) 2007-08-17 2007-08-17 キャッシュタグ試験方式

Publications (2)

Publication Number Publication Date
JP2009048343A true JP2009048343A (ja) 2009-03-05
JP5088042B2 JP5088042B2 (ja) 2012-12-05

Family

ID=40500510

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2007212555A Expired - Fee Related JP5088042B2 (ja) 2007-08-17 2007-08-17 キャッシュタグ試験方式

Country Status (1)

Country Link
JP (1) JP5088042B2 (ja)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN111180001A (zh) * 2018-11-13 2020-05-19 爱思开海力士有限公司 存储器系统和测试系统

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH0235545A (ja) * 1988-04-13 1990-02-06 Mitsubishi Electric Corp セツトアソシアテイブ方式キヤツシユメモリの診断方法
JPH06139156A (ja) * 1992-10-24 1994-05-20 Nec Ic Microcomput Syst Ltd キャッシュメモリの故障検出装置
JP2002367395A (ja) * 2001-06-04 2002-12-20 Fujitsu Ltd Tag−ram試験方法およびそのための装置
JP2004078958A (ja) * 2002-08-12 2004-03-11 Hewlett-Packard Development Co Lp プロセッサ間でキャッシュを共有する装置および方法
JP2004318209A (ja) * 2003-04-11 2004-11-11 Matsushita Electric Ind Co Ltd 半導体集積回路装置

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH0235545A (ja) * 1988-04-13 1990-02-06 Mitsubishi Electric Corp セツトアソシアテイブ方式キヤツシユメモリの診断方法
JPH06139156A (ja) * 1992-10-24 1994-05-20 Nec Ic Microcomput Syst Ltd キャッシュメモリの故障検出装置
JP2002367395A (ja) * 2001-06-04 2002-12-20 Fujitsu Ltd Tag−ram試験方法およびそのための装置
JP2004078958A (ja) * 2002-08-12 2004-03-11 Hewlett-Packard Development Co Lp プロセッサ間でキャッシュを共有する装置および方法
JP2004318209A (ja) * 2003-04-11 2004-11-11 Matsushita Electric Ind Co Ltd 半導体集積回路装置

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN111180001A (zh) * 2018-11-13 2020-05-19 爱思开海力士有限公司 存储器系统和测试系统
CN111180001B (zh) * 2018-11-13 2023-10-13 爱思开海力士有限公司 存储器系统和测试系统

Also Published As

Publication number Publication date
JP5088042B2 (ja) 2012-12-05

Similar Documents

Publication Publication Date Title
US8850158B2 (en) Apparatus for processing remote page fault and method thereof
US8060706B2 (en) Method of allocating physical memory in specified address range under Linux system platform
CN101369247B (zh) 创建存储器缺陷映射表并使用该映射表优化性能的方法
JP5752989B2 (ja) プロセッサ・メインメモリのための持続性メモリ
CN108959526B (zh) 日志管理方法以及日志管理装置
JP2008276763A (ja) メモリエラーの検出法
US7882327B2 (en) Communicating between partitions in a statically partitioned multiprocessing system
EP2615551A1 (en) Abnormality inspection device, central processing unit, and abnormality inspection method
US20080189495A1 (en) Method for reestablishing hotness of pages
KR102658600B1 (ko) 디바이스를 디버깅할 때 메타데이터에 액세스하기 위한 장치 및 방법
JP5088042B2 (ja) キャッシュタグ試験方式
US9489255B2 (en) Dynamic array masking
CN106406745B (zh) 根据目录信息维护Cache数据一致性的方法及装置
JP2011165093A (ja) メモリアクセス調査装置、メモリアクセス調査方法、及びプログラム
CN1936856A (zh) 利用自启动微操作系统测试内部存储器的方法
TWI709042B (zh) 用來進行關於容錯式磁碟陣列的映射資訊管理之方法與裝置以及儲存系統
JP2011070528A (ja) マルチプロセッサシステム及びメモリアクセス制御方法
JP4461934B2 (ja) キャッシュメモリ試験システム、試験方法、試験プログラム
TWI620191B (zh) 依記憶體模組之物理位址範圍測試記憶體之系統及方法
JP6740773B2 (ja) 情報処理装置、プログラム、および情報処理方法
JP2002367395A (ja) Tag−ram試験方法およびそのための装置
JP2006260395A (ja) プログラムローディング方法及びその装置
TWI634422B (zh) 電子裝置及其控制方法
CN117421162A (zh) 内存故障检出方法及其装置、计算机设备、存储介质
US20200293448A1 (en) Coherency maintenance via physical cache coordinate comparison

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20100517

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20120529

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20120730

RD03 Notification of appointment of power of attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7423

Effective date: 20120730

RD04 Notification of resignation of power of attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7424

Effective date: 20120730

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: 20120814

A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20120827

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20150921

Year of fee payment: 3

R150 Certificate of patent or registration of utility model

Free format text: JAPANESE INTERMEDIATE CODE: R150

LAPS Cancellation because of no payment of annual fees