JP4435180B2 - メモリ診断方法 - Google Patents

メモリ診断方法 Download PDF

Info

Publication number
JP4435180B2
JP4435180B2 JP2006550519A JP2006550519A JP4435180B2 JP 4435180 B2 JP4435180 B2 JP 4435180B2 JP 2006550519 A JP2006550519 A JP 2006550519A JP 2006550519 A JP2006550519 A JP 2006550519A JP 4435180 B2 JP4435180 B2 JP 4435180B2
Authority
JP
Japan
Prior art keywords
memory
data
storage memory
cyclic redundancy
read
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
JP2006550519A
Other languages
English (en)
Other versions
JPWO2006070451A1 (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.)
Toshiba Storage Device Corp
Original Assignee
Toshiba Storage Device Corp
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 Toshiba Storage Device Corp filed Critical Toshiba Storage Device Corp
Publication of JPWO2006070451A1 publication Critical patent/JPWO2006070451A1/ja
Application granted granted Critical
Publication of JP4435180B2 publication Critical patent/JP4435180B2/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
    • 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/0751Error or fault detection not based on redundancy
    • 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/0727Error 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 storage system, e.g. in a DASD or network based storage system
    • 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

Landscapes

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

Description

本発明は、メモリ診断機能を有する記憶装置、及び記憶装置におけるメモリ診断方法に関する。
現在、コンピュータ等の情報処理装置には様々なメモリが搭載されている。それらのメモリに対して、データを書き込み、保持し、正常に読み出すことができるかどうかの診断が行われている。その診断方法の一つとして、特許文献1に記載の技術は、メモリに対してアクセスするバスの占有権を1アドレスの診断毎にマイクロプロセッサから診断起動・停止回路へと渡し、マイクロプロセッサの占有を低減したものである。
メモリの中には、ハードディスク装置において、ホストコンピュータとディスクとの間でやりとりされるデータを一時的に蓄積するために備えられるSDRAMがある。ディスクとホストコンピュータとに介在するこのSDRAMに対しても、ハードディスク装置が起動する際に、データを書き込み、保持し、正常に読み出すことができるかどうかの診断が行われる。
図1は、ハードディスク装置と、ホストコンピュータと、介在するSDRAMとの構成を示した図である。ここで、ホストコンピュータ6は、記憶媒体7に対して書き込みや読み出しを行う。SDRAM2はその間に存在し、書き込みデータや読み出しデータの一時的な蓄積を行う。ここで、記憶媒体7は、磁気ディスクであり、アクセスに必要な磁気ヘッドアセンブリなどを含む。また、第一の格納メモリ4は、ホストコンピュータ6とSDRAM2との間の書き込みと読み出しの速度差を補完するための機構(FIFO)である。そして、第二の格納メモリ5は、記憶媒体7とSDRAM2との間の書き込みと読み出しの速度差を補完するための機構(FIFO)である。メモリマネージャー1は、SDRAM2に対する書き込みや読み出しを管理するハードウェアである。そして、マイクロプロセッサ3は、ハードディスク装置全体を管理し、スピンドルモーターの起動・停止などを行う。
図2は、ハードディスク装置の起動から、使用可能状態に至るまでの動作フローである。ステップS1では、電源投入後マイクロプロセッサ3が動作を開始する。次に、ステップS2では、第一の格納メモリ4、第二の格納メモリ5、SDRAM2などが初期化される。その後、ステップS3では、SDRAM2の初期診断が行われる。さらに、ステップS4では、マイクロプロセッサ3、サーボコントローラーのレジスタ等の初期化などが行われる。最後にステップS5では、スピンドルモーターが起動しディスクが定常回転にいたる。これらのステップを経て、ハードディスク装置は使用可能状態となる。
この際、全てのステップには、なんらかの形でファームウェアが関わっており、並行して複数のステップが実行されることはなかった。
ここで、図1に戻り、ハードディスク装置とホストコンピュータ6とに介在するSDRAM2の従来の初期診断の詳細を説明する。この初期診断は、マイクロプロセッサ3を用いて行われる。
マイクロプロセッサ3は2バイトの診断用データを生成し、SDRAM2の書き込みと読み出しを管理するメモリマネージャー1に診断用データを送る。メモリマネージャー1は、診断用データをマイクロプロセッサ3から受け、マイクロプロセッサ3によって指定されたSDRAM2のアドレス上に診断用データを書き込む。次に、メモリマネージャー1は、直前に書き込みを行ったアドレスからデータを読み出す。読み出されたデータは、メモリマネージャー1からマイクロプロセッサ3に送られ、マイクロプロセッサ3内で書き込みデータと読み出しデータとの比較が行われる。
全てのメモリ領域に対してこの比較動作を行うには、診断用データが2バイトであるため、2バイトずつの書き込みと読み出しを全領域に対して行わなければならない。2バイトのデータの書き込みや読み出しのたびに、行アドレスを与えるタイミングを伝えるための信号であるRAS(Row Address Strobe)や列アドレスを与えるタイミングを伝えるための信号であるCAS(Column Address
Strobe)を待たなければならないため、長い時間が必要となる。ハードディスク装置が使用可能となるまでの時間に対する制約上、全メモリ領域を診断することはできず、全メモリ領域を分割し、全メモリ領域の一部の領域しか診断することができなかった。
特開平7−271679号公報
上記の方法では、メモリ診断がマイクロプロセッサに展開されるファームウェアに基づき、2バイトずつの診断用データ書き込みと読み出しが行われるため、処理速度が遅い。また、全メモリ領域の一部の領域のみの診断となるため、全領域を診断する場合に比べて信頼性が劣る。
したがって、本発明の目的は、従来ファームウェアに基づいてマイクロプロセッサによって行われていたメモリ診断を、ハードウェアを用いて大規模のデータの一括書き込みと読み出しを行うことにより、メモリ診断の速度を速め、且つ、マイクロプロセッサを開放することにより他の処理と並行に行うことを可能とすることである。さらに、それにともないメモリの全領域を診断し、メモリ診断の信頼性を向上することである。
上記課題を解決するため、本発明の第一の側面によれば、ホストコンピュータからのデータの書き込み、及び読み出し可能の記憶媒体と、前記記憶媒体に対する書き込みデータ及び読み出しデータの一時的な蓄積を行うSDRAMと、前記SDRAMに対する書き込み及び読み出しを管理するメモリマネージャーと、前記ホストコンピュータと前記SDRAMとの間の書き込み及び読み出しの処理速度差を補完する第一の格納メモリと、 前記記憶媒体と前記SDRAMとの間の書き込み及び読み出しの処理速度差を補完する第二の格納メモリとを備えるメモリ診断機能を有する記憶装置において、前記メモリマネージャーは、比較部を有し、前記第一の格納メモリに保持された診断用データを前記SDRAMに対して書き込み、書き込まれたデータを前記SDRAMから読み出し、前記第二の格納メモリ内に格納し、前記比較部は、前記第一の格納メモリ内の前記診断用データと前記第二の格納メモリ内の読出データとを比較し、比較結果が不一致ならば異常を通知することを特徴とする。
また、本発明の第二の側面によれば、ホストコンピュータからのデータの書き込み、及び読み出し可能の記憶媒体と、前記記憶媒体に対する書き込みデータ及び読み出しデータの一時的な蓄積を行うSDRAMと、前記SDRAMに対する書き込み及び読み出しを管理するメモリマネージャーと、前記ホストコンピュータと前記SDRAMとの間の書き込み及び読み出しの処理速度差を補完する第一の格納メモリと、前記記憶媒体と前記SDRAMとの間の書き込み及び読み出しの処理速度差を補完する第二の格納メモリとを備える記憶装置における前記SDRAMの診断方法であって、前記第一の格納メモリ内の診断用データを、前記SDRAMに対して書き込み、書込データを前記SDRAMから読み出し、前記第二の格納メモリ内に格納し、前記メモリマネージャー内の比較部により、前記第一の格納メモリ内の前記診断用データと前記第二の格納メモリ内の読出データとを比較し、比較結果が不一致ならば異常を通知することを特徴とする。
また、本発明の第三の側面によれば、ホストコンピュータからのデータの書き込み及び読み出し可能の記憶媒体と、前記記憶媒体に対するデータの書き込み、及び、読み出しの際に、一時的な蓄積を行うSDRAMと、前記SDRAMに対する前記データの書き込み、及び、読み出しを管理するメモリマネージャーと、前記ホストコンピュータと前記SDRAMとの間の書き込み及び読み出しの処理速度差を補完する第一の格納メモリと、前記憶媒体と前記SDRAMとの間の書き込み及び読み出しの処理速度差を補完する第二の格納メモリとを備えるメモリ診断機能を有する記憶装置において、前記メモリマネージャーは、巡回冗長符号を算出する巡回冗長符号算出部と、巡回冗長符号を比較する比較部とを有し、前記第一の格納メモリに予め設定された所定の診断用データに基づいて生成される書込データを前記SDRAMに書き込み、前記書込データを前記SDRAMから読み出し、前記巡回冗長符号算出部は、前記SDRAMに対する前記書込データの書き込みの際に、前記書込データに基づいた巡回冗長符号を算出し、前記SDRAMに前記書込データとともに前記算出された巡回冗長符号の書き込みを行う。次に、読み出された読出データに基づいた巡回冗長符号を算出し、前記比較部は、前記書込データに基づいた巡回冗長符号と、前記読出データに基づいた巡回冗長符号を比較し、比較結果が不一致ならば異常を通知することを特徴とする。
また、上記発明の第三の側面において、さらに好ましい実施例では、前記メモリマネージャーは、前記書込データの書き込み、もしくは、前記読出データの読み出し毎に所定の数が加減算されるシードを算出し、前記巡回冗長符号算出部は、前記書込データ、もしくは、前記読出データに対して前記算出されたシードを付加することにより、同一の前記書込データ、もしくは、前記読出データから異なる巡回冗長符号を得ることを特徴とする。
また、上記発明の第三の側面において、さらに好ましい実施例では、前記書込データは、複数の前記診断用データで構成されることを特徴とする。
また、本発明の第四の側面によれば、ホストコンピュータからのデータの書き込み及び読み出し可能の記憶媒体と、前記記憶媒体に対するデータの書き込み、及び、読み出しの際に、一時的な蓄積を行うSDRAMと、前記SDRAMに対する前記データの書き込み、及び、読み出しを管理するメモリマネージャーと、前記ホストコンピュータと前記SDRAMとの間の書き込み、及び、読み出しの処理速度差を補完する第一の格納メモリと、前記憶媒体と前記SDRAMとの間の書き込み及び読み出しの処理速度差を補完する第二の格納メモリとを備える記憶装置における前記SDRAMの診断方法であって、前記メモリマネージャーにより、前記第一の格納メモリ内の予め設定された所定の診断用データに基づいて生成される書込データを前記SDRAMに対して書き込み、前記メモリマネージャー内の巡回冗長符号算出部により、前記書込データに基づいた巡回冗長符号を算出し、前記SDRAMに対して前記書込データとともに前記算出された巡回冗長符号を書き込み、前記メモリマネージャーにより、書き込まれた巡回冗長符号を前記SDRAMから読み出し、前記メモリマネージャーにより、前記書込データを前記SDRAMから読み出し、前記メモリマネージャー内の巡回冗長符号算出部により、読み出された読出データに基づいた巡回冗長符号を算出し、前記メモリマネージャー内の比較部により、前記書込データに基づいた巡回冗長符号と、前記読出データに基づいた巡回冗長符号を比較し、比較結果が不一致ならば異常を通知することを特徴とする。
また、上記発明の第四の側面において、好ましい実施例では、前記格納メモリがFIFOメモリで構成されていることを特徴とする。
また、上記発明の第四の側面において、さらに好ましい実施例では、前記メモリマネージャーは、前記書込データの書き込み、もしくは、前記読出データの読み出し毎に所定の数が加減算されるシードを算出し、前記巡回冗長符号算出部は、前記書込データ、もしくは、前記読出データに対して前記算出されたシードを付加することにより、同一の前記書込データ、もしくは、前記読出データから異なる巡回冗長符号を得ることを特徴とする。
また、上記発明の第四の側面において、さらに好ましい実施例では、前期書込データは、複数の前記診断用データで構成されることを特徴とする。
本発明のメモリ診断機能は、格納メモリに格納された診断データをハードウェアによってSDRAMに対して書き込み、読み出し、比較を行うことにより、診断時間を短縮し、SDRAMの全領域に対する診断を可能にする。また、マイクロプロセッサを用いることなくメモリ診断を行うことができるため、他の動作を並行して行うことを可能にする。
ハードディスク装置と、ホストコンピュータと、介在するSDRAMとの構成を示 した図である。 ハードディスク装置の起動から、使用可能状態に至るまでの動作フローである 。 本発明の第一の実施形態におけるメモリ診断機能を有するハードディスク装置 の構成図である。 メモリマネージャーに対するリクエストを処理するアービトレーション機構の 図である。 本発明の第一の実施形態におけるメモリ診断の動作フローである。 本発明の第二の実施形態におけるメモリ診断機能を有するハードディスク装置 の構成図である。 本発明の第二の実施形態におけるメモリ診断の動作フローである。 本発明の第二の実施形態におけるSDRAMに書き込まれるデータを示す図である 。 巡回冗長符号の説明図である。 本発明のメモリ診断機能を有したハードディスク装置の動作フローと、本発明 のメモリ診断機能を有していないハードディスク装置の動作フローを示す図で ある。
符号の説明
1 メモリマネージャー
2 SDRAM
3 マイクロプロセッサ
4 第一の格納メモリ(FIFO)
5 第二の格納メモリ(FIFO)
6 ホストコンピュータ
7 記憶媒体
以下、図面に従って本発明の実施の形態について説明する。但し、本発明の技術的範囲はこれらの実施の形態に限定されず、特許請求の範囲に記載された事項とその均等物まで及ぶものである。
図3は、本発明の第一の実施形態におけるメモリ診断機能を有するハードディスク装置の構成図である。SDRAM2に対する書き込みと読み出しを管理するメモリマネージャー1は、ホストコンピュータ6、記憶媒体7、ハードディスク装置全体を管理するマイクロプロセッサ3に接続されている。メモリマネージャー1とホストコンピュータ6の間には、第一の格納メモリ4が存在している。また、メモリマネージャー1と記憶媒体7の間には、第二の格納メモリ5が存在している。本実施形態では、図3内の点線内部がメモリ診断装置となる。
なお、本発明の第一の実施形態において、第一の格納メモリ4と第二の格納メモリ5はそれぞれFIFOで構成される。通常、ハードディスク装置には、一時的に書き込みと読み出しのデータを蓄積するためのSDRAM2と、記憶媒体7とSDRAM2との間のデータ転送速度の差を補完するためのFIFOと、ホストコンピュータ6とSDRAM2との間のデータ転送速度の差を補完するためのFIFOが備えられている。これらの既存のFIFOを用いてメモリ診断装置を構成すれば、従来の回路の変更を最小限に抑えることができ、メモリ診断装置の規模も最小限に抑えることができる。
図4は、メモリマネージャー1に対するリクエストを処理するアービトレーション機構の図である。メモリマネージャー1は、SDRAM2に対する書き込みや読み出しなどの様々なリクエストをアービトレーション機構を用いて処理する。たとえば、メモリマネージャー1に対するリクエストとしては、第一の格納メモリ4のデータから巡回冗長符号(CRC)を生成しSDRAM2への書き込み、またはその読み出しに対するリクエストR1、第二の格納メモリ5内のデータから巡回冗長符号を生成しSDRAM2への書き込み、またはその読み出しに対するリクエストR2、第一の格納メモリ4とSDRAM2との間のデータの書き込みと読み出しに対するリクエストR3、第二の格納メモリ5とSDRAM2との間のデータの書き込みと読み出しに対するリクエストR4、マイクロプロセッサ3からのSDRAM2に対するアクセスに対するリクエストR5などが存在する。
図4のアービトレーション機構は、発生したリクエストを時計回りに処理する。たとえば、第一の格納メモリ4のデータをSDRAM2に書き込みたい場合には、リクエストR3が発生し、リクエストR3の処理の後にリクエストR4、リクエストR5、リクエストR1の順でチェックが行われる。リクエストが全く発生していない場合は、アイドル状態でループしている。
SDRAM2の初期診断の際に、第一の格納メモリ4の中には、診断用データが格納されている。このデータはマイクロプロセッサ3に生成されたものであっても、ホストコンピュータ6から転送されたものであってもよい。この診断用データは、メモリマネージャー1を介してSDRAM2に書き込まれ、直ちにメモリマネージャー1に読み出される。読み出されたデータは、第二の格納メモリ5に格納される。そして、第一の格納メモリ4の中のデータと第二の格納メモリ5の中のデータを、メモリマネージャー1内の比較部が比較することによりSDRAM2の診断が行われる。
図5は、本発明の第一の実施形態におけるメモリ診断の動作フローである。最初に、ファームウェアに基づいて動作するマイクロプロセッサ3によってメモリ診断の開始位置と終了位置が決定する(処理工程P1-1)。そして、マイクロプロセッサ3は、メモリマネージャー1の初期診断機能を起動する(処理工程P1-2)。処理工程P1-1と処理工程P1-2はファームウェアで実現され、以降はメモリマネージャー1のハードウェアで実現される。
メモリマネージャー1は第一の格納メモリ4内の診断用データを、SDRAM2に書き込む(処理工程P1-3)。このとき、図4のアービトレーション機構には、リクエストR3が発生し、処理される。次に、書き込まれたアドレス上のデータを直ちに読み出し、第二の格納メモリ5内に格納する(処理工程P1-4)。このとき、図4のアービトレーション機構には、リクエストR4が発生し、処理される。メモリマネージャー内の比較部は、第一の格納メモリ4内のデータと第二の格納メモリ5内のデータとを比較する(処理工程P1-5)。その際に、不一致が検出されれば、直ちに異常と判断しSDRAM2の診断は終了する(処理工程P1-6)。一致であれば、ポインタの位置が終了位置であるかどうかを確認する(処理工程P1-7)。終了位置でなければ、SDRAM2のポインタのインクリメントを行い(処理工程P1-8)、SDRAM2に対する診断用データの書き込み(処理工程P1-3)に戻る。処理工程P1-3から処理工程P1-8までのループは、ポインタの位置が終了位置に達するまで繰り返される。ポインタが終了位置に達すると、メモリ診断機能は正常終了する(処理工程P1-9)。
SDRAM2が8メガバイトの領域を持ち、第一の格納メモリ4と第二の格納メモリ5とが、それぞれ128バイトの大きさを持つとすれば、SDRAM2の全領域を診断するのに、書き込み、読み出し、比較のループ(処理工程P1-3から処理工程P1-8までのループ)は、65536回で済むことになる。従来のように、2バイトごとの書き込み、読み出し、比較のループでは、SDRAM2の全領域を診断しようとすれば、4メガ回のループが必要であることから、大幅な改善といえる。ループ回数の減少により、書き込み、読み出し、比較の際のオーバーヘッド時間を省略することができ大幅な時間短縮となる。
このようにして、本発明の第一の実施形態において、従来ファームウェアに基づいてマイクロプロセッサ3によって行われていたメモリ診断を、ハードウェアによって大規模のデータの一括書き込みと読み出しを行うことにより、メモリ診断の速度を速め、且つ、マイクロプロセッサ3を開放することにより他の処理と並行に行うことを可能にする。結果として、SDRAM2の全領域を診断でき、信頼性を向上することができる。
尚、本発明の第一の実施形態において、記憶装置の例としてハードディスク装置を用いて説明したが、本発明はメモリを有する装置、製品に対しても同様に適用可能である。
図6は、本発明の第二の実施形態におけるメモリ診断機能を有するハードディスク装置の構成図である。SDRAM2に対する書き込みと読み出しを管理するメモリマネージャー1は、ホストコンピュータ6、記憶媒体7、ハードディスク装置全体を管理するマイクロプロセッサ3に接続されている。メモリマネージャー1とホストコンピュータ6の間には、第一の格納メモリ4が存在し、また、メモリマネージャー1と記憶媒体7の間には、第二の格納メモリ5が存在している。本実施形態では、図6内の点線内部がハードディスク装置となる。
なお、本発明の第二の実施形態において、第一の格納メモリ4と第二の格納メモリ5はそれぞれFIFOで構成される。通常、ハードディスク装置には、一時的に書き込みと読み出しのデータを蓄積するためのSDRAM2と、記憶媒体7とSDRAM2との間のデータ転送速度の差を補完するためのFIFOと、ホストコンピュータ6とSDRAM2との間のデータ転送速度の差を補完するためのFIFOが備えられている。これらの既存のFIFOを用いてメモリ診断装置を構成すれば、従来の回路の変更を最小限に抑えることができ、メモリ診断装置の規模も最小限に抑えることができる。
第一の格納メモリ4の中には、診断用データが格納されている。このデータはマイクロプロセッサ3に生成されたものであっても、ホストコンピュータ6から転送されたものであってもよい。この診断用データは、メモリマネージャー1を介してSDRAM2に対して、書き込み終了位置に達するまで繰り返し書き込まれる。この際、シードと512バイトの書き込みデータから巡回冗長符号が計算され(計算方法は後述)、SDRAM2の一部に書き込まれる。なお、シードは、初期診断起動時に0に初期化され、開始位置から512バイトの診断データの書き込み毎にインクリメントされる4バイトデータである。また、SDRAM2上の1セクタは、512バイトで構成されており、第一の格納メモリ4と第二の格納メモリ5とがそれぞれ128バイトとすると、SDRAM2への書き込み及び、読み出しの際は、4回分のデータ転送が行われることとなる。
その後、メモリマネージャー1は書き込み開始位置から1セクタのデータとそれに対応する巡回冗長符号を読み出し、読み出された1セクタのデータから再び巡回冗長符号を計算する。メモリマネージャー1内の比較部は、読み出された巡回冗長符号と計算された巡回冗長符号比較することにより、SDRAM2の診断が行われる。
図7は、本発明の第二の実施形態におけるメモリ診断の動作フローである。最初に、ファームウェアによって動作するマイクロプロセッサ3によってメモリ診断の開始位置と終了位置が決定する(処理工程P2-1)。そして、マイクロプロセッサは、メモリマネージャー1の初期診断機能を起動する(処理工程P2-2)。処理工程P2-1と処理工程P2-2はファームウェアで実現され、以降はメモリマネージャー1のハードウェアで実現される。
メモリマネージャー1は、第一の格納メモリ4上の診断用データを、ポインタをインクリメントしながら(処理工程P2-5)SDRAM2に順次書き込む(処理工程P2-3)。このとき、図4のアービトレーション機構には、第一の格納メモリ4からSDRAM2への書き込みに対するリクエストR3が発生する。その際に、メモリマネージャー1内の巡回冗長符号算出部は、1セクタ分の書き込みデータと、それに対応するシードとから巡回冗長符号を算出し、SDRAM2の開始位置に順次書き込む。このときアービトレーション機構には、4回のリクエストR3が発生し、最後にリクエストR1が一度で発生する。マイクロプロセッサ3が最初に設定した終了位置に到達したことが確認されると(処理工程P2-4)、書き込みを停止し、ポインタを初期化する(処理工程P2-6)。
図8は本発明の第二の実施形態におけるSDRAM2に書き込まれるデータを示す図である。第一の格納メモリ4に格納されていた128バイトの診断用データは、処理工程P2-1で決定されたメモリ診断開始位置(図8のデータ書き込み開始位置)から順次書き込まれ、4回分の書き込みで512バイトの1セクタを形成する。1セクタ分の書き込み毎にシードはインクリメントされ、1セクタ分のデータと組み合わせて巡回冗長符号が算出される。そして、データ書き込み終了位置となる予定の位置から、対応する巡回冗長符号が順次書き込まれる。診断用データは最終的にデータ書き込み終了位置に達し、それに対応する巡回冗長符号はCRC書き込み終了位置にまで達する。
次に、図7に戻り、メモリマネージャー1の初期診断機能は、ポインタをインクリメントしながら(処理工程P2-10)、書き込まれたデータと巡回冗長符号を読み出す(処理工程P2-7)。このとき、アービトレーション機構にはSDRAM2から第二の格納メモリ5へのデータの読み出しに対するリクエストR4が4回発生し、最後に巡回冗長符号の読み出しに対するリクエストR2が発生する。ここで、この巡回冗長符号はメモリマネージャー1内の比較部に送られる。読み出されたデータと対応するシードから、メモリマネージャー1内の巡回冗長符号算出部は、巡回冗長符号を算出し(処理工程P2-8)、比較部に巡回冗長符号を送る。
比較部に送られた2つの巡回冗長符号は比較され(処理工程P2-11)、2つの巡回冗長符号が一致する場合は、終了位置かどうかの確認が行われる(処理工程P2-13)。2つの巡回冗長符号が一致しない場合は、メモリマネージャー1の初期診断機能は異常を検知し、終了する(処理工程P2-12)。
最後にSDRAMの全領域が完了したかを終了位置と確認が行われる際に、終了位置でないと判断された場合には、再びSDRAM2からのデータと巡回冗長符号の読み出しが行われ、繰り返される。終了位置であると判断された場合には、メモリマネージャー1の初期診断機能は正常終了する(処理工程P2-14)。
図9は巡回冗長符号の説明図である。128バイトの診断用データは、変化せず、同一のデータ(図9では、AB・・・X)が繰り返し第一の格納メモリ4からSDRAM2に書き込まれる。128バイトの診断用データの4回の書き込みに対して、4バイトのシードは1回インクリメントされる。512バイトのデータにシードを付加した516バイトのデータをある定数で除算することによって、4バイトの巡回冗長符号を得る。メモリマネージャー1は516バイトの領域を除算のために確保する必要はなく、4バイトのシードと128バイトの診断用データを連結した132バイトデータをある定数で除算する。さらにその余りと、診断用データを連結した132バイトデータをある定数で再び除算する。このようにして4回の除算を繰り返した余りが巡回冗長符号となる。図9に示すように、シードが1セクタ毎にインクリメントされるため、同じAB・・・Xという512バイトのデータに対して異なった巡回冗長符号(abcd、efgh、等)を得る。
メモリマネージャー1内の比較部は512バイトの領域の診断に対して、4バイトの巡回冗長符号を比較すればいいので効率がよい。521バイトのデータを直接的に比較する場合に比べ、巡回冗長符号4バイトを比較する場合は、比較の量が1/128となる。また、SDRAM2から読み出した512バイトのデータを保持する必要もなくなる。
ここで、第一の格納メモリ4からSDRAM2に対する100セクタ分の診断用データとそれに対応する巡回冗長符号の書き込みの場合を例にとり、アービトレーション機構の動作とともに説明する。アービトレーション機構は、初期診断機能の開始と同時にスタートし、何のリクエストも発生していない場合には、アイドル状態で図4のようにループしている。そこで、SDRAM2に対する第一の格納メモリ4からの書き込みのリクエストR3が発生する。第一の格納メモリ4からの128バイトの診断用データの書き込み後、リクエストR1、R2、R4、R5は発生していないので、再び発生しているリクエストR3が処理される。1セクタ分の512バイトの処理が終了するまでリクエストR3は4回発生する。4回のリクエストR3の処理の後、巡回冗長符号の生成と書き込みのリクエストR1が発生し、書き込まれた512バイトのデータに対する巡回冗長符号が生成され書き込まれる。以後、リクエストR3の4回とリクエストR1の1回の処理を合計100回繰り返すことで100セクタ分の診断用データとそれに対応する巡回冗長符号の書き込みが行われる。
次に、書き込まれた100セクタ分の読み出しとそれに対応する巡回冗長符号の比較をアービトレーション機構の動作とともに説明する。100セクタ分のデータの書き込みの終了後、ポインタとシードは初期化され、データと巡回冗長符号の読み出しが開始される。アービトレーション機構には、SDRAM2から第二の格納メモリ5への読み出しに対するリクエストR4が発生し、これが1セクタ分を処理するために4回繰り返される。このとき4回の読み出しデータとシードに対応する巡回冗長符号が算出される。その後、SDRAM2に書き込まれた巡回冗長符号を読み出すリクエストR1が発生し、処理される。2つの巡回冗長符号は比較され、不一致ならば異常が検出され診断は終了する。100セクタ分の読み出しには、以上の動作が100回繰り返され初期診断機能は正常終了する。
このようにして、本発明の第二の実施形態において、ハードウェアによってメモリを診断することと、一度に比較的大きなサイズのデータの書き込みと読み出しを行うことにより、メモリ診断の高速化を実現することができる。これによってSDRAM2の全領域を診断し、信頼性を向上することができる。また、従来ファームウェアに基づいてマイクロプロセッサによって行われていたメモリ診断をハードウェアによって行うことにより、マイクロプロセッサを開放し他の処理を行うことを可能とする。
図10は、本発明のメモリ診断機能を有したハードディスク装置の動作フローと、本発明のメモリ診断機能を有していない従来のハードディスク装置の初期動作シーケンスを示す図である。下側に示した太い矢印は、本発明のメモリ診断機能を有したハードディスク装置の初期動作シーケンスであり、上側の細い矢印は本発明のメモリ診断機能を有していないハードディスク装置の動作フローを示している。
マイクロプロセッサ3内でファームウェアの展開が行われるステップS1と、第一の格納メモリ4と第二の格納メモリ5とSDRAM2などが初期化されるステップS2では、両者に差はない。しかし、SDRAM2の初期診断が行われるステップS3では、本発明のメモリ診断機能を有していないハードディスク装置による初期診断の方が早く完了する。これは、本発明のメモリ診断機能は、8MBを330msで診断するのに対して、従来の技術では512KBを250msで診断するためである。しかし、本発明のメモリ診断機能ではマイクロプロセッサ3を占有しないため、ステップS3の終了を待たずに、マイクロプロセッサ3に展開されたファームウェアの初期化、サーボコントローラーの初期化などが行われるステップS4へと移行できる。従来のメモリ診断機能では、ステップS3の終了を待ってステップS4へと移行する。スピンドルモーターを起動するステップS5は両者に差はなく、結局、時間差T1の分だけ時間短縮が可能となる。
このようにして、本発明のメモリ診断機能をハードディスク装置に適用することによって、電源の投入から使用可能状態に至るまでの時間を短縮し、全メモリ領域の診断が可能となる。
尚、本発明の第二の実施形態は、ハードディスク装置のSDRAMに対し適用される例を用いて説明したが、一般のメモリに対して適用することも可能である。
さらに、本発明の第二の実施形態において、記憶装置の例としてハードディスク装置を用いて説明したが、本発明は上位システムとの間に一時的にデータを蓄積するバッファメモリもしくはキャッシュメモリの機能を果たすメモリを有する一般の装置、製品や、磁気テープ装置、光ディスク装置、光磁気ディスク装置等の可換型記憶媒体を使用した装置やシステムに適用可能である。
上位システムとしてパソコンなどのホストコンピュータで説明してきたか、ハードディスクビデオレコーダのような記憶装置を内蔵する製品の場合は上位プロッセッサ(CPU等)であり、記憶装置に対するデータ転送制御を行うものが上位システムに該当する。
以上図面に従い説明したように、本発明により、格納メモリに格納された診断データをハードウェアによってSDRAMに対して書き込み、読み出し、比較を行うことにより、診断時間を短縮し、SDRAMの全領域に対する診断を可能にするメモリ診断機能を有する記憶装置が提供される。また、このメモリ診断機能を有する記憶装置は、マイクロプロセッサを占有することなくメモリ診断を行うことができるため、他の動作を並行して行うことを可能にする。

Claims (10)

  1. 上位システムからのデータの書き込み、及び読み出し可能の記憶媒体に対する書き込みデータ又は/及び読み出しデータの一時的な蓄積を行うメモリと、
    前記一時記憶メモリに対する書き込み又は/及び読み出しを管理するメモリマネージャーと、
    前記上位システムと前記メモリとの間の書き込み又は/及び読み出しの処理速度差を補完する第一の格納メモリと、
    前記記憶媒体と前記一時記憶メモリとの間の書き込み及び読み出しの処理速度差を補完する第二の格納メモリとを備え、
    前記メモリマネージャーは、比較部を有し、前記第一の格納メモリに保持された診断用データを前記一時記憶メモリに対して書き込み、書き込まれたデータを前記一時記憶メモリから読み出し、前記第二の格納メモリ内に格納し、
    前記比較部は、前記第一の格納メモリ内の前記診断用データと前記第二の格納メモリ内の読出データとを比較し、比較結果が不一致ならば異常と判断することを特徴とするメモリ診断機能を有する記憶装置。
  2. 請求項1において、
    前記第一の格納メモリと前記第二の格納メモリがFIFOメモリで構成されていることを特徴とするメモリ診断機能を有する記憶装置。
  3. 上位システムからのデータの書き込み、及び読み出し可能の記憶媒体と、前記記憶媒体に対する書き込みデータ又は/及び読み出しデータの一時的な蓄積を行う一時記憶メモリと、前記一時記憶メモリに対する書き込み及び読み出しを管理するメモリマネージャーと、前記上位システムと前記一時記憶メモリとの間の書き込み又は/及び読み出しの処理速度差を補完する第一の格納メモリと、前記記憶媒体と前記一時記憶メモリとの間の書き込み又は/及び読み出しの処理速度差を補完する第二の格納メモリとを備える記憶装置における前記一時記憶メモリの診断方法であって、
    前記第一の格納メモリ内の診断用データを、前記一時記憶メモリに対して書き込み、
    書込データを前記一時記憶メモリから読み出し、前記第二の格納メモリ内に格納し、
    前記メモリマネージャー内の比較部により、前記第一の格納メモリ内の前記診断用データと前記第二の格納メモリ内の読出データとを比較し、
    比較結果が不一致ならば異常と判断することを特徴とするメモリ診断方法。
  4. 上位システムからのデータの書き込み又は/及び読み出し可能の記憶媒体に対するデータの書き込み、又は/及び読み出しの際に、一時的な蓄積を行う一時記憶メモリと、
    前記一時記憶メモリに対する前記データの書き込み又は/及び読み出しを管理するメモリマネージャーと、
    前記上位システムと前記メモリとの間の書き込み又は/及び読み出しの処理速度差を補完する第一の格納メモリと、
    前記憶媒体と前記メモリとの間の書き込み又は/及び読み出しの処理速度差を補完する第二の格納メモリとを備え、
    前記メモリマネージャーは、巡回冗長符号を算出する巡回冗長符号算出部と、巡回冗長符号を比較する比較部とを有し、前記第一の格納メモリに予め設定された所定の診断用データに基づいて生成される書込データを前記一時記憶メモリに書き込み、前記書込データを前記一時記憶メモリから読み出し、
    前記巡回冗長符号算出部は、前記一時記憶メモリに対する前記書込データの書き込みの際に、前記書込データに基づいた巡回冗長符号を算出し、前記一時記憶メモリに前記書込データとともに前記算出された巡回冗長符号を書き込み、読み出された読出データに基づいた巡回冗長符号を算出し、
    前記比較部は、前記書込データに基づいた巡回冗長符号と、前記読出データに基づいた巡回冗長符号を比較し、比較結果が不一致ならば異常と判断することを特徴とするメモリ診断機能を有する記憶装置。
  5. 請求項4において、
    前記第一の格納メモリと前記第二の格納メモリとがFIFOメモリで構成されていることを特徴とするメモリ診断機能を有する記憶装置。
  6. 請求項4において、
    前記メモリマネージャーは、前記書込データの書き込み、もしくは、前記読出データの読み出し毎に所定の数が加減算されるシードを算出し、
    前記巡回冗長符号算出部は、前記書込データ、もしくは、前記読出データに対して前記算出されたシードを付加することにより、同一の前記書込データ、もしくは、前記読出データから異なる巡回冗長符号を得ることを特徴とするメモリ診断機能を有する記憶装置。
  7. 請求項4において、
    前記書込データは、複数の前記診断用データで構成されることを特徴とするメモリ診断機能を有する記憶装置。
  8. 上位システムからのデータの書き込み又は/及び読み出し可能の記憶媒体に対するデータの書き込み、又は、読み出しの際に、一時的な蓄積を行う一時記憶メモリと、前記一時記憶メモリに対する前記データの書き込み、又は、読み出しを管理するメモリマネージャーと、前記上位システムと前記一時記憶メモリとの間の書き込み、及び、読み出しの処理速度差を補完する第一の格納メモリと、前記憶媒体と前記一時記憶メモリとの間の書き込み及び読み出しの処理速度差を補完する第二の格納メモリとを備える記憶装置における前記一時記憶メモリの診断方法であって、
    前記メモリマネージャーにより、前記第一の格納メモリ内の予め設定された所定の診断用データに基づいて生成される書込データを前記一時記憶メモリに対して書き込み、
    前記メモリマネージャー内の巡回冗長符号算出部により、前記書込データに基づいた巡回冗長符号を算出し、前記一時記憶メモリに対して前記書込データとともに前記算出された巡回冗長符号を書き込み、
    前記メモリマネージャーにより、書き込まれた巡回冗長符号を前記一時記憶メモリから読み出し、
    前記メモリマネージャーにより、前記書込データを前記一時記憶メモリから読み出し、
    前記メモリマネージャー内の巡回冗長符号算出部により、読み出された読出データに基づいた巡回冗長符号を算出し、
    前記メモリマネージャー内の比較部により、前記書込データに基づいた巡回冗長符号と、前記読出データに基づいた巡回冗長符号を比較し、比較結果が不一致ならば異常と判断することを特徴とするメモリ診断方法。
  9. 請求項8において、
    前記メモリマネージャーは、前記書込データの書き込み、もしくは、前記読出データの読み出し毎に所定の数が加減算されるシードを算出し、
    前記巡回冗長符号算出部は、前記書込データ、もしくは、前記読出データに対して前記算出されたシードを付加することにより、同一の前記書込データ、もしくは、前記読出データから異なる巡回冗長符号を得ることを特徴とするメモリ診断方法。
  10. 請求項8において、
    前期書込データは、複数の前記診断用データで構成されることを特徴とするメモリ診断方法。
JP2006550519A 2004-12-28 2004-12-28 メモリ診断方法 Expired - Fee Related JP4435180B2 (ja)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
PCT/JP2004/019600 WO2006070451A1 (ja) 2004-12-28 2004-12-28 メモリ診断方法

Publications (2)

Publication Number Publication Date
JPWO2006070451A1 JPWO2006070451A1 (ja) 2008-06-12
JP4435180B2 true JP4435180B2 (ja) 2010-03-17

Family

ID=36614578

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2006550519A Expired - Fee Related JP4435180B2 (ja) 2004-12-28 2004-12-28 メモリ診断方法

Country Status (3)

Country Link
US (1) US20070266277A1 (ja)
JP (1) JP4435180B2 (ja)
WO (1) WO2006070451A1 (ja)

Families Citing this family (13)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7996731B2 (en) * 2005-11-02 2011-08-09 Advanced Micro Devices, Inc. Error detection in high-speed asymmetric interfaces
JP5406689B2 (ja) * 2009-12-10 2014-02-05 富士通テン株式会社 制御装置、及び、制御方法
JP6717059B2 (ja) 2016-06-06 2020-07-01 オムロン株式会社 制御システム
US11615297B2 (en) 2017-04-04 2023-03-28 Hailo Technologies Ltd. Structured weight based sparsity in an artificial neural network compiler
US11551028B2 (en) 2017-04-04 2023-01-10 Hailo Technologies Ltd. Structured weight based sparsity in an artificial neural network
US11544545B2 (en) 2017-04-04 2023-01-03 Hailo Technologies Ltd. Structured activation based sparsity in an artificial neural network
US10387298B2 (en) 2017-04-04 2019-08-20 Hailo Technologies Ltd Artificial neural network incorporating emphasis and focus techniques
US11238334B2 (en) 2017-04-04 2022-02-01 Hailo Technologies Ltd. System and method of input alignment for efficient vector operations in an artificial neural network
US11221929B1 (en) * 2020-09-29 2022-01-11 Hailo Technologies Ltd. Data stream fault detection mechanism in an artificial neural network processor
US11263077B1 (en) 2020-09-29 2022-03-01 Hailo Technologies Ltd. Neural network intermediate results safety mechanism in an artificial neural network processor
US11874900B2 (en) 2020-09-29 2024-01-16 Hailo Technologies Ltd. Cluster interlayer safety mechanism in an artificial neural network processor
US11811421B2 (en) 2020-09-29 2023-11-07 Hailo Technologies Ltd. Weights safety mechanism in an artificial neural network processor
US11237894B1 (en) 2020-09-29 2022-02-01 Hailo Technologies Ltd. Layer control unit instruction addressing safety mechanism in an artificial neural network processor

Family Cites Families (13)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5077656A (en) * 1986-03-20 1991-12-31 Channelnet Corporation CPU channel to control unit extender
JP2855019B2 (ja) * 1992-02-10 1999-02-10 富士通株式会社 外部記憶装置のデータ保証方法及び外部記憶装置
US7269841B1 (en) * 1992-12-09 2007-09-11 Sedna Patent Services, Llc Digital cable headend for cable television delivery system
JPH08115268A (ja) * 1994-10-13 1996-05-07 Toshiba Corp メモリ回路装置
US5953418A (en) * 1995-06-14 1999-09-14 David Hall Providing selective data broadcast receiver addressability
US5948119A (en) * 1995-06-15 1999-09-07 Bock; James M. Packet-based fifo
US5673279A (en) * 1995-11-06 1997-09-30 Sun Microsystems, Inc. Verification of network transporter in networking environments
JPH1050056A (ja) * 1996-07-31 1998-02-20 Sharp Corp 半導体記憶装置
US5829047A (en) * 1996-08-29 1998-10-27 Lucent Technologies Inc. Backup memory for reliable operation
KR100474985B1 (ko) * 1997-06-23 2005-07-01 삼성전자주식회사 메모리로직복합반도체장치
US6085285A (en) * 1997-11-13 2000-07-04 International Business Machines Corporation Intermixing different devices along a single data communication link by placing a strobe signal in a parity bit slot
JPH11306798A (ja) * 1998-04-22 1999-11-05 Oki Electric Ind Co Ltd メモリ装置のテスト容易化回路
US6467060B1 (en) * 1998-06-26 2002-10-15 Seagate Technology Llc Mass storage error correction and detection system, method and article of manufacture

Also Published As

Publication number Publication date
WO2006070451A1 (ja) 2006-07-06
US20070266277A1 (en) 2007-11-15
JPWO2006070451A1 (ja) 2008-06-12

Similar Documents

Publication Publication Date Title
JP4435180B2 (ja) メモリ診断方法
JP5032027B2 (ja) 半導体ディスク制御装置
US5430742A (en) Memory controller with ECC and data streaming control
US9766979B2 (en) Error correction in solid state drives (SSD)
CN117369729A (zh) 一种zns ssd的附加写入实现方法
CN107577614B (zh) 数据写入方法及内存系统
US7609468B2 (en) Method and system for read gate timing control for storage controllers
JPS5848288A (ja) デ−タ記憶レジスタのアドレス方法及び装置
US9299387B2 (en) Magnetic disk apparatus, controller and data processing method
US20110205654A1 (en) Control apparatus, nonvolatile storage apparatus and data initialization method
JPH1011348A (ja) Dramの制御装置およびそのdram
JP2009223355A (ja) ハードディスクとシリコンディスクのミラーリングを行うディスク制御システム
JP4872089B2 (ja) ディスクアレイ装置及びその制御装置並びに制御方法
JP4205364B2 (ja) 外部記憶装置におけるデータの整合性保証チェック方式
JPWO2012029114A1 (ja) 記憶媒体診断装置、記憶媒体診断方法及び記憶媒体診断プログラム
JP3022688B2 (ja) 補助記憶装置
JP2011232962A (ja) ディスクアレイ装置およびミラードキャッシュ制御方法
US7721161B2 (en) Method for controlling memory access
JP2868003B1 (ja) 磁気ディスク装置
JPH0223572A (ja) 外部記憶制御装置
US9710197B2 (en) Storage device, controller, and method
JP2001144628A (ja) データ転送装置
JPS59221810A (ja) 磁気記憶装置における交代セクタ−装置
US20040205317A1 (en) Method, apparatus and program storage device for providing data integrity using check data and other metadata on a formatted storage medium
JP2019145193A (ja) 情報処理装置

Legal Events

Date Code Title Description
A711 Notification of change in applicant

Free format text: JAPANESE INTERMEDIATE CODE: A712

Effective date: 20091022

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

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

R150 Certificate of patent or registration of utility model

Free format text: JAPANESE INTERMEDIATE CODE: R150

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

Free format text: PAYMENT UNTIL: 20130108

Year of fee payment: 3

LAPS Cancellation because of no payment of annual fees