JP2010160724A - メモリ制御システム、メモリ制御方法、メモリ制御プログラム及び記録媒体 - Google Patents

メモリ制御システム、メモリ制御方法、メモリ制御プログラム及び記録媒体 Download PDF

Info

Publication number
JP2010160724A
JP2010160724A JP2009003384A JP2009003384A JP2010160724A JP 2010160724 A JP2010160724 A JP 2010160724A JP 2009003384 A JP2009003384 A JP 2009003384A JP 2009003384 A JP2009003384 A JP 2009003384A JP 2010160724 A JP2010160724 A JP 2010160724A
Authority
JP
Japan
Prior art keywords
memory
parameter
parameters
combinations
test
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.)
Pending
Application number
JP2009003384A
Other languages
English (en)
Inventor
Yohei Tsuzuki
洋平 都筑
Naoyuki Yamada
直行 山田
Kunio Sekine
邦夫 関根
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.)
Ricoh Co Ltd
Original Assignee
Ricoh Co 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 Ricoh Co Ltd filed Critical Ricoh Co Ltd
Priority to JP2009003384A priority Critical patent/JP2010160724A/ja
Publication of JP2010160724A publication Critical patent/JP2010160724A/ja
Pending legal-status Critical Current

Links

Images

Landscapes

  • For Increasing The Reliability Of Semiconductor Memories (AREA)
  • Techniques For Improving Reliability Of Storages (AREA)
  • Memory System (AREA)

Abstract

【課題】メモリ動作を決定する複数のパラメータを適切な値に調整する。
【解決手段】複数のパラメータが取り得る値の複数の組み合わせを管理するパラメータ管理部11aと、パラメータ管理部11aによって管理されている複数の組み合わせを複数のパラメータに順次設定するパラメータ設定部11dと、パラメータ設定部11dによって複数の組み合わせが複数のパラメータに順次設定される都度、メモリ2とメモリコントローラ12との間のメモリ動作の試験を行い、その試験の判定結果を蓄積するパラメータ試験部11bと、パラメータ試験部11bに蓄積された試験の判定結果に基づいて、複数の組み合わせの中の1組を決定するパラメータ決定部11cと、を備え、パラメータ設定部11dは、パラメータ決定部11cによって決定された複数の組み合わせの中の1組を複数のパラメータに設定する。
【選択図】図1

Description

本発明は、メモリ制御システム、メモリ制御方法、メモリ制御プログラム及び記録媒体に関するものである。
近年、コンピュータシステムを内蔵したOA機器の制御系等に、DDR−SDRAM(double data rate synchronous dynamic random access memory)、DDR2−SDRAM等のダブルデータレート型メモリが搭載されている。DDR−SDRAM等においては、データストローブ信号(DQS)の立ち上がりタイミング及び立ち下がりタイミングの両方に同期してデータ信号(DQ)の読み書きが行われる。
DDR−SDRAM等を搭載した機器等においては、メモリアクセスに関する電気的特性を決めるパラメータを設定する必要がある。しかしながら、DDR−SDRAM等のメモリアクセスに関するパラメータの種類は多く、従って、そのようなパラメータの組み合わせの数も多いので、最適なパラメータを見つけるには多くの時間を必要とする。
関連する技術として、本出願人は、DDR−SDRAMにデータの読み書きを行なうメモリシステムに対し、データストローブ信号(DQS)を遅延させてディレイ調整を行うディレイ調整手段を備え、ある特定の値を特定のアドレスに書き込み、ディレイ調整手段のディレイ値を変更しながら、書き込んだアドレスと同じアドレスへ読み込み、両者の値を比較して認識し、認識した読み込み可能範囲の中間値をディレイ調整手段に設定するメモリ制御手段を備えたことを特徴とするメモリ制御装置等を提案した(例えば、下記の特許文献1参照)。
特開2003−99321号公報
特許文献1では、データストローブ信号(DQS)の遅延値に着目しており、データストローブ信号(DQS)の遅延値以外のパラメータ(例えば、メモリ側のODT等)は事前に設定されていることが前提と考えられる。そのため、データストローブ信号(DQS)の遅延値以外のパラメータ(例えば、メモリ側のODT等)の設定に起因するアクセス不良がある場合、データストローブ信号(DQS)の遅延値の調整そのものが成功しない可能性がある。
本発明は、上記に鑑みてなされたものであって、メモリ動作を決定する複数のパラメータ(リード、ライト、その他)を網羅し、複数のパラメータの組み合わせを管理しながら複数のパラメータを適切な値に調整することが可能なメモリ制御システム、メモリ制御方法、メモリ制御プログラム及び記録媒体を提供することを目的とする。
上述した課題を解決し、目的を達成するために、本発明にかかるメモリ制御システムは、メモリとメモリコントローラとの間のメモリ動作を決定する複数のパラメータが取り得る値の複数の組み合わせを管理するパラメータ管理手段と、前記パラメータ管理手段によって管理されている前記複数の組み合わせを前記複数のパラメータに順次設定するパラメータ設定手段と、前記パラメータ設定手段によって前記複数の組み合わせが前記複数のパラメータに順次設定される都度、前記メモリと前記メモリコントローラとの間のメモリ動作の試験を行い、その試験の判定結果を蓄積するパラメータ試験手段と、前記パラメータ試験手段に蓄積された試験の判定結果に基づいて、前記複数の組み合わせの中の1組を決定するパラメータ決定手段と、を備え、前記パラメータ設定手段は、前記パラメータ決定手段によって決定された前記複数の組み合わせの中の1組を前記複数のパラメータに設定することを特徴とする。
また、本発明にかかるメモリ制御方法は、メモリとメモリコントローラとの間のメモリ動作を決定する複数のパラメータが取り得る値の複数の組み合わせを管理するパラメータ管理ステップと、前記パラメータ管理ステップによって管理されている前記複数の組み合わせを前記複数のパラメータに順次設定するパラメータ設定ステップと、前記パラメータ設定ステップによって前記複数の組み合わせが前記複数のパラメータに順次設定される都度、前記メモリと前記メモリコントローラとの間のメモリ動作の試験を行い、その試験の判定結果を蓄積するパラメータ試験ステップと、前記パラメータ試験ステップに蓄積された試験の判定結果に基づいて、前記複数の組み合わせの中の1組を決定するパラメータ決定ステップと、を有し、前記パラメータ設定ステップは、前記パラメータ決定ステップによって決定された前記複数の組み合わせの中の1組を前記複数のパラメータに設定することを特徴とする。
また、本発明にかかるメモリ制御プログラムは、請求項8乃至14のいずれか一つに記載されたメモリ制御方法をコンピュータに実行させる。
また、本発明にかかる記録媒体は、請求項15に記載されたメモリ制御プログラムを格納したコンピュータの読み取り可能な記録媒体であることを特徴とする。
本発明によれば、メモリ動作を決定する複数のパラメータ(リード、ライト、その他)を網羅し、複数のパラメータの組み合わせを管理しながら複数のパラメータを適切な値に調整することが可能となるという効果を奏する。
第1の実施の形態にかかるメモリ制御システムを適用した機器の構成を示すブロック図である。 第1の実施の形態にかかるメモリ制御システムの動作の手順を示すフローチャートである。 第1の実施の形態にかかるメモリ制御システムによるヴェリファイ結果の一例を示す図である。 第1の実施の形態にかかるメモリ制御システムによるヴェリファイ結果の一例を示す図である。 第1の実施の形態にかかるメモリ制御システムによるヴェリファイ結果の一例を示す図である。 第2の実施の形態にかかるメモリ制御システムの動作の手順を示すフローチャートである。 第2の実施の形態にかかるメモリ制御システムによってメモリアクセス試験が実施されるパラメータの組み合わせを示す図である。 第3の実施の形態にかかるメモリ制御システムのパラメータ試験部の内部構成を示す図である。 第3の実施の形態にかかるメモリ制御システムの動作の手順を示すフローチャートである。 第5の実施の形態にかかるメモリ制御システムの動作の手順を示すフローチャートである。 メモリのヴェリファイ領域に行われた複数回の判定の総回数に対する複数回の判定の結果の中の合格となった数の比率と第5の実施の形態によって算出されるパラメータの設定値のステップ幅との関係を示す図である。 第7の実施の形態にかかるメモリ制御システムを適用した機器の構成を示すブロック図である。 第7の実施の形態にかかるメモリ制御システムの動作の手順を示すフローチャートである。
以下に添付図面を参照して、この発明にかかるメモリ制御システム、メモリ制御方法、メモリ制御プログラム及び記録媒体の実施の形態を詳細に説明する。
(第1の実施の形態)
図1は、本発明の第1の実施の形態にかかるメモリ制御システムを適用した機器の構成を示すブロック図である。
図1に示す機器は、制御装置1と、ダブルデータレート型メモリ(DDR−SDRAM、DDR2−SDRAM等)2と、を含んでいる。制御装置1は、メモリ制御システム11と、メモリコントローラ12と、を含んでいる。メモリコントローラ12はメモリ2に接続されており、メモリ制御システム11はメモリコントローラ12を介してメモリ2へのアクセス(リード、ライト、ヴェリファイ(verify)等)を行う。
メモリ制御システム11は、本発明のパラメータ管理手段としてのパラメータ管理部11aと、本発明のパラメータ試験手段としてのパラメータ試験部11bと、本発明のパラメータ決定手段としてのパラメータ決定部11cと、本発明のパラメータ設定手段としてのパラメータ設定部11dと、を含んでいる。
メモリ制御システム11は、ハードウェアで実現することもでき、CPUとプログラム(ソフトウェア)で実現することもできる。また、制御装置1は、メモリコントローラ内蔵型のCPU、種々の機器に利用される汎用の半導体集積回路であるノースブリッジ、ASIC等で実現することができる。
パラメータ管理部11aは、メモリコントローラ12とメモリ2との間のメモリ動作を決定するメモリコントローラ12側及び/又はメモリ2側の複数のパラメータが取り得る値の複数の組み合わせを管理する。
パラメータ試験部11bは、パラメータ設定部11dによって複数のパラメータに値が設定される都度、メモリコントローラ12を介してデータのリード及び/又はライトをメモリ2に行うことでメモリアクセス試験を行い、その試験の判定結果を蓄積、管理する。
パラメータ決定部11cは、パラメータ試験部11bに蓄積された試験の判定結果に基づいて、複数のパラメータが取り得る複数の組み合わせの中の1組を選択、決定することで、複数のパラメータの好適(最適)な設定値を決定する。
パラメータ設定部11dは、パラメータ管理部11a及び/又はパラメータ決定部11cからの情報に従い、メモリコントローラ12に対して及び/又はメモリコントローラ12を介してメモリ2に対して、複数の組み合わせの値を複数のパラメータに順次設定する。
メモリコントローラ12は、メモリコントローラ12側の1つ又は複数のパラメータを設定するための1つ又は複数のレジスタを有しており、メモリ2へ信号を送信する機能及びメモリ2から信号を受信する機能を備え、メモリ2とメモリ制御システム11との間のインタフェースを担う。また、メモリコントローラ12は、メモリ制御システム11からの指示に応じて、メモリ2に1つ又は複数のパラメータ(例えば、ODT(On Die Termination)、OCD(Off-Chip Driver)等)を設定する。
図2は、本実施の形態にかかるメモリ制御システム1の動作の手順を示すフローチャートである。
なお、ここでは2個のパラメータa,bを設定する場合について説明するが、パラメータが3個以上の場合であっても同様に設定することが可能である。また、パラメータa,bは、メモリコントローラ12側のパラメータ(例えば、データストローブ信号(DQS)の遅延値等)であっても良いし、メモリ2側のパラメータ(例えば、ODT、OCD等)であっても良い。
図2を参照すると、まず、パラメータ設定部11dが、パラメータ管理部11aから与えられる最小値をパラメータa,bに設定する(ステップS201)。例えば、パラメータaに設定可能な値が1から8までの整数値である場合には、パラメータ管理部11aは、最小値「1」をパラメータ設定部11dに与え、パラメータ設定部11dは、パラメータ管理部11aから与えられる最小値「1」をパラメータaに設定する。また、例えば、パラメータbに設定可能な値が1から7までの整数値である場合には、パラメータ管理部11aは、最小値「1」をパラメータ設定部11dに与え、パラメータ設定部11dは、パラメータ管理部11aから与えられる最小値「1」をパラメータbに設定する。
次に、パラメータ試験部11bが、メモリ2の特定の領域(ヴェリファイ領域)に対してヴェリファイを実施する(ステップS202)。すなわち、パラメータ試験部11bが、特定のデータをメモリ2の特定の領域に書き込んだ後、メモリ2の当該領域からデータを読み出し、書き込んだデータと読み出したデータとが一致するか否かを判定する。なお、書き込む参照データのサイズは任意のサイズで良いが、データサイズが大きい方が信頼性が高くなる。
そして、パラメータ試験部11bは、ステップS202にて実施されたヴェリファイの結果(ここでは、「OK」(合格)又は「NG」(不合格))を記憶する(ステップS203)。なお、ここでは、ヴェリファイの結果は、メモリ2の特定の領域に書き込んだデータとメモリ2の特定の領域から読み出したデータとが完全一致した場合に「OK」(合格)とされ、それ以外の場合に「NG」(不合格)とされる。
次に、パラメータ管理部11aが、パラメータaの設定値が設定可能な範囲の最大値(MAX)であるか否かを判定する(ステップS204)。
そして、パラメータaの設定値が設定可能な範囲の最大値ではないと判定した場合(ステップS204:No)、パラメータ管理部11aは、パラメータaの設定値をインクリメントする(ステップS205)。その後、処理はステップS202に戻る。
また、パラメータaの設定値が設定可能な範囲の最大値であると判定した場合(ステップS204:Yes)、パラメータ管理部11aは、パラメータbの設定値が設定可能な範囲の最大値(MAX)であるか否かを判定する(ステップS206)。
そして、パラメータbの設定値が設定可能な範囲の最大値ではないと判定した場合(ステップS206:No)、パラメータ管理部11aは、パラメータaを最小値に設定するとともに、パラメータbの設定値をインクリメントする(ステップS207)。その後、処理はステップS202に戻る。
上記のステップS202〜ステップS207を繰り返すことで、パラメータa,bの全ての組み合わせの試験を実施することが可能である。
また、パラメータbの設定値が設定可能な範囲の最大値であると判定した場合(ステップS206:Yes)、パラメータ決定部11cが、ステップS203で記憶されたヴェリファイ結果に基づいて、パラメータa,bの好適(最適)な値を決定する(ステップS208)。なお、パラメータa,bの好適(最適)な値の決定方法の例については、後述する。
そして、パラメータ設定部11dが、ステップS208にて決定された値をパラメータa,bに設定する(ステップS209)。
なお、本実施形態においては、パラメータa,bに最小値を設定し、その後パラメータa,bの値をインクリメントして最大値まで変化させることとしているが、パラメータa,bの全ての組み合わせを網羅することが出来れば、他の方法を利用するようにしても良い。例えば、パラメータa,bに最大値を設定し、その後パラメータa,bの値をデクリメントして最小値まで変化させることとしても良い。
次に、ステップS208においてパラメータ決定部11cが実施するパラメータa,bの好適(最適)な値の決定方法の例について説明する。ここでは、パラメータaに設定可能な値が1から8までの整数値であり、パラメータbに設定可能な値が1から7までの整数値であるものとする。
図3は、ステップS203において記憶されたヴェリファイ結果の一例を示す図である。図3において「○」が記載されているパラメータa,bの組み合わせはヴェリファイが「OK」(合格)であったことを示し、それ以外(空欄)のパラメータa,bの組み合わせはヴェリファイが「NG」(不合格)であったことを示す。
パラメータ決定部11cは、図3中の各欄に関して、点数を算出する。例えば、パラメータ決定部11cは、或る欄に関して、当該欄の上下左右方向に隣接する欄に「○」が記載されている場合には、当該欄に3点を加算する。また、パラメータ決定部11cは、或る欄に関して、当該欄の上下左右方向に2個隣の欄に「○」が記載されている場合には、当該欄に1点を加算する。また、パラメータ決定部11cは、或る欄に関して、当該欄の斜め方向に接する欄に「○」が記載されている場合には、当該欄に1点を加算する。
図4は、図3に示したヴェリファイ結果に対して上記した算出方法を実施することによって算出された点数を示す図である。例えば、(a,b)=(2,2)の欄に関して説明すると、当該欄の右方向に隣接する欄((a,b)=(3,2)に対応)に「○」が記載されているので、パラメータ決定部11cは、当該欄に3点を加算する。また、パラメータ決定部11cは、当該欄の右斜め下方向に接する欄((a,b)=(3,3)に対応)に「○」が記載されているので、当該欄に1点を加算する。その結果、当該欄の点数は4点となる。
パラメータ決定部11cは、図4中の最も点数の高い欄に対応するパラメータa,bの組み合わせが最もマージンがあり、好適(最適)な値であると判定する。図4においては、(a,b)=(5,5)の組み合わせが18点で最も点数が高いので、パラメータ決定部11cは、(a,b)=(5,5)の組み合わせが好適(最適)な値であると決定する。
なお、各パラメータに固有の係数をつけることで、パラメータに重み付けして点数を算出するようにしても良い。例えば、パラメータaの係数を2倍にする例について説明する。パラメータ決定部11cは、或る欄に関して、当該欄のパラメータa側(上下方向)に隣接する欄に「○」が記載されている場合には、当該欄に4点を加算する。また、パラメータ決定部11cは、或る欄に関して、当該欄のパラメータa側(上下方向)に2個隣の欄に「○」が記載されている場合には、当該欄に2点を加算する。また、パラメータ決定部11cは、或る欄に関して、当該欄のパラメータb側(左右方向)に隣接する欄に「○」が記載されている場合には、当該欄に2点を加算する。また、パラメータ決定部11cは、或る欄に関して、当該欄のパラメータb側(左右方向)に2個隣の欄に「○」が記載されている場合には、当該欄に1点を加算する。また、パラメータ決定部11cは、或る欄に関して、当該欄の斜め方向に接する欄に「○」が記載されている場合には、当該欄に1点を加算する。
図5は、図3に示したヴェリファイ結果に対して上記した算出方法を実施することによって算出された点数を示す図である。例えば、(a,b)=(2,2)の欄に関して説明すると、当該欄の右方向に隣接する欄((a,b)=(3,2)に対応)に「○」が記載されているので、パラメータ決定部11cは、当該欄に2点を加算する。また、パラメータ決定部11cは、当該欄の右斜め下方向に接する欄((a,b)=(3,3)に対応)に「○」が記載されているので、当該欄に1点を加算する。その結果、当該欄の点数は3点となる。
パラメータ決定部11cは、図5中の最も点数の高い欄に対応するパラメータa,bの組み合わせが最もマージンがあり、好適(最適)な値であると判定する。図5においては、(a,b)=(5,5)の組み合わせが20点で最も点数が高いので、パラメータ決定部11cは、(a,b)=(5,5)の組み合わせが好適(最適)な値であると決定する。
以上説明したように、本実施形態によれば、メモリ動作を決定する複数のパラメータを網羅し、複数のパラメータの全ての組み合わせに関してメモリアクセス試験を実施し、メモリアクセス試験結果に基づいて、複数のパラメータを決定し、設定することができる。これにより、複数のパラメータを適切な値に調整することができる。
(第2の実施の形態)
第1の実施の形態においては、複数のパラメータの全ての組み合わせに関してメモリアクセス試験を実施することとしている。しかしながら、パラメータの組み合わせの数に応じて(比例して)、メモリアクセス試験時間が増大する。そこで、第2の実施の形態として、メモリアクセス試験時間を短縮する場合について説明する。
なお、本実施の形態の構成は、第1の実施の形態の構成(図1参照)と同様であるので、説明を省略する。
図6は、本実施の形態にかかるメモリ制御システムの動作の手順を示すフローチャートである。
なお、ここでは2個のパラメータa,bを設定するものとし、パラメータaがデータストローブ信号(DQS)信号又はライトデータ遅延に関するパラメータ(最初に試験(調整)を実施する重要なパラメータ)であり、パラメータbがその他のパラメータであるものとする。また、本実施形態においては、パラメータが2個の場合について説明するが、パラメータが3個以上の場合であっても同様に設定することが可能である。その場合、重要なパラメータが複数あっても良い。
図6を参照すると、まず、パラメータ設定部11dが、パラメータ管理部11aから与えられる最小値をパラメータa,bに設定する(ステップS301)。
次に、パラメータ試験部11bが、メモリ2の特定の領域に対してヴェリファイを実施する(ステップS302)。
そして、パラメータ試験部11bは、ステップS302にて実施されたヴェリファイの結果(ここでは、「OK」又は「NG」)を記憶する(ステップS303)。
次に、パラメータ管理部11aが、パラメータaの設定値が設定可能な範囲の最大値(MAX)であるか否かを判定する(ステップS304)。
そして、パラメータaの設定値が設定可能な範囲の最大値ではないと判定した場合(ステップS304:No)、パラメータ管理部11aは、パラメータaの設定値をインクリメントする(ステップS305)。その後、処理はステップS302に戻る。
また、パラメータaの設定値が設定可能な範囲の最大値であると判定した場合(ステップS304:Yes)、パラメータ管理部11aは、パラメータ試験部11bに記憶されているヴェリファイ結果に基づいて、ヴェリファイ結果が「OK」であるパラメータaの範囲の下限設定値と上限設定値を算出する(ステップS306)。ここでは、ヴェリファイ結果が「OK」であるパラメータaの範囲の下限設定値をa_minとし、ヴェリファイ結果が「OK」であるパラメータaの範囲の上限設定値をa_maxとする。なお、この時点で、パラメータbを最小値に固定したままパラメータaを設定可能な範囲内で一通り試験したことになる。また、後述するように、これ以降のステップでは、
a_min≦a≦a_max
の範囲でパラメータaを設定する。
次に、パラメータ設定部11dが、ステップS306にて算出された下限設定値a_minをパラメータaに設定する(ステップS307)。
次に、パラメータ試験部11bが、メモリ2の特定の領域に対してヴェリファイを実施する(ステップS308)。
そして、パラメータ試験部11bは、ステップS308にて実施されたヴェリファイの結果(ここでは、「OK」又は「NG」)を記憶する(ステップS309)。
次に、パラメータ管理部11aが、パラメータaの設定値が上限設定値a_maxであるか否かを判定する(ステップS310)。
そして、パラメータaの設定値が上限設定値a_maxではないと判定した場合(ステップS310:No)、パラメータ管理部11aは、パラメータaの設定値をインクリメントする(ステップS311)。その後、処理はステップS308に戻る。
また、パラメータaの設定値が上限設定値a_maxであると判定した場合(ステップS310:Yes)、パラメータ管理部11aは、パラメータbの設定値が設定可能な範囲の最大値(MAX)であるか否かを判定する(ステップS312)。
そして、パラメータbの設定値が設定可能な範囲の最大値ではないと判定した場合(ステップS312:No)、パラメータ管理部11aは、パラメータaを下限設定値a_minに設定するとともに、パラメータbの設定値をインクリメントする(ステップS313)。その後、処理はステップS308に戻る。
また、パラメータbの設定値が設定可能な範囲の最大値であると判定した場合(ステップS312:Yes)、パラメータ決定部11cが、ステップS303及び/又はステップS309で記憶されたヴェリファイ結果に基づいて、パラメータa,bの好適(最適)な値を決定する(ステップS314)。なお、パラメータa,bの好適(最適)な値の決定方法として、先に説明した方法を利用することができる。
そして、パラメータ設定部11dが、ステップS314にて決定された値をパラメータa,bに設定する(ステップS315)。
ステップS308〜ステップS312を繰り返すことで、
a_min≦a≦a_max
の範囲の全てのパラメータの組み合わせに関してメモリアクセス試験を実施することができる。なお、パラメータbが最小値(本例では「1」)の場合のステップS302〜ステップS305では、下限設定値a_min及び上限設定値a_maxを求めるために、
a_min≦a≦a_max
の範囲外のパラメータの組み合わせに関してもメモリアクセス試験を実施する。
図7は、メモリアクセス試験を実施するパラメータの組み合わせを示す図である。パラメータbが「1」のときには、下限設定値a_min及び上限設定値a_maxを求めるために、パラメータaの設定可能な全範囲に関してメモリアクセス試験を実施する。パラメータbが「2」以上のときには、パラメータaの
a_min≦a≦a_max
の範囲に関してメモリアクセス試験を実施する。図7において、網掛け部分はメモリアクセス試験を実施しない範囲を表している。
なお、本実施形態においては、ステップS301にてパラメータbに最小値(本例では「1」)を設定しているが、必ずしも最小値を設定しなくても良い。ただその場合には、ステップS304のYes以降でステップS308よりも前にパラメータbに最小値を設定すれば良い。
以上説明したように、本実施形態によれば、最初に試験(調整)を実施する重要なパラメータ(例えば、メモリ動作のリード又はライトアクセスに特に影響の大きいデータストローブ信号(DQS)又はライトデータ遅延に関するパラメータ等)が取り得る設定可能な全範囲のメモリアクセス試験をその他のパラメータを固定したまま行い、その結果に応じて、以降のメモリアクセス試験対象のパラメータの組み合わせ数を減らすことができる。これにより、メモリアクセス試験時間を短縮することができ、好適(最適)なパラメータを決定する時間を短縮することができる。
(第3の実施の形態)
第1、第2の実施の形態においては、ヴェリファイ結果は、メモリ2のヴェリファイ対象領域に書き込んだデータとメモリ2のヴェリファイ対象領域から読み出したデータとが完全一致した場合のみ「OK」(合格)となる。このため、或る試験対象パラメータをインクリメントして行くと段々とデータ一致率が上がって行くような場合(つまり当該試験対象パラメータをインクリメントするほど段々とヴェリファイ結果が「OK」に近づいて行く場合)には、ヴェリファイ結果が「OK」(メモリ2のヴェリファイ対象領域に書き込んだデータとメモリ2のヴェリファイ対象領域から読み出したデータとが完全一致)にならない限り、その情報を検出出来ない。具体的には、或る試験対象パラメータを最小値からインクリメントして行ったときに、メモリ2のヴェリファイ対象領域に書き込んだデータとメモリ2のヴェリファイ対象領域から読み出したデータとのデータ一致率が0%から順次上昇して行ったが、当該試験対象パラメータを設定可能な全範囲内で変化させても、結局データ一致率が80%までしか上がらないという場合が起こり得る。このような場合、第1、第2の実施の形態においては、ヴェリファイ結果が全て「NG」(不合格)という情報しか検出出来ない。しかしながら、上記のような場合、実際には、データ一致率が80%となる設定値が最も好適なパラメータ設定値であると言うことができる。そこで、第3の実施の形態として、上記のようなデータ一致率の情報を利用する場合について説明する。
なお、本実施の形態の全体構成は、第1の実施の形態の構成(図1参照)と同様であるので、説明を省略する。
図8は、本実施の形態にかかるパラメータ試験部11bの内部構成を示すブロック図である。図8に示すように、パラメータ試験部11bは、本発明のメモリ領域ヴェリファイ手段としてのメモリ領域ヴェリファイ部21と、本発明のヴェリファイ結果記憶手段としてのヴェリファイ結果記憶部22と、本発明のメモリ領域試験結果記憶手段としてのメモリ領域試験結果記憶部23と、を含んでいる。
図9は、本実施の形態にかかるメモリ制御システムの動作の手順を示すフローチャートである。
なお、本実施形態においては、2個のパラメータa,bを設定する場合について説明するが、パラメータが3個以上の場合であっても同様に設定することが可能である。
図9を参照すると、まず、パラメータ設定部11dが、パラメータ管理部11aから与えられる最小値をパラメータa,bに設定する(ステップS401)。
次に、パラメータ試験部11bのメモリ領域ヴェリファイ部21が、メモリ2の特定の領域(ヴェリファイ対象領域)に対してヴェリファイを実施する(ステップS402)。なお、本実施形態においては、メモリ領域ヴェリファイ部21は、メモリ2のヴェリファイ対象領域内のアドレスに対して特定のデータを書き込んだ後、メモリ2のヴェリファイ領域のアドレスからデータを読み出し、書き込んだデータと読み出したデータとが一致するか否かの判定をアドレスを変化させながら複数回繰り返すことでヴェリファイを実現する。また、パラメータ試験部11bのヴェリファイ結果記憶部22は、メモリ領域ヴェリファイ部21によって行われる複数回の判定の結果を各回毎に記憶する。
そして、パラメータ試験部11bのメモリ領域試験結果記憶部23は、メモリ2の特定の領域に行われた複数回の判定の総回数に対するヴェリファイ結果記憶部22に記憶されている複数回の判定の結果の中の「OK」となった数の比率(X%)を算出する。更に、メモリ領域試験結果記憶部23は、メモリ2の特定の領域に行われた複数回の判定の総回数に対するヴェリファイ結果記憶部22に記憶されている複数回の判定の結果の中の「OK」となった数の比率(X%)が所定の比率(例えば、80%等)以上の場合に、メモリ2の特定の領域に対するヴェリファイ結果を「OK」として記憶する(ステップS403)。
次に、パラメータ管理部11aが、パラメータaの設定値が設定可能な範囲の最大値(MAX)であるか否かを判定する(ステップS404)。
そして、パラメータaの設定値が設定可能な範囲の最大値ではないと判定した場合(ステップS404:No)、パラメータ管理部11aは、パラメータaの設定値をインクリメントする(ステップS405)。その後、処理はステップS402に戻る。
また、パラメータaの設定値が設定可能な範囲の最大値であると判定した場合(ステップS404:Yes)、パラメータ管理部11aは、パラメータbの設定値が設定可能な範囲の最大値(MAX)であるか否かを判定する(ステップS406)。
そして、パラメータbの設定値が設定可能な範囲の最大値ではないと判定した場合(ステップS406:No)、パラメータ管理部11aは、パラメータaを最小値に設定するとともに、パラメータbの設定値をインクリメントする(ステップS407)。その後、処理はステップS402に戻る。
上記のステップS402〜ステップS407を繰り返すことで、パラメータa,bの全ての組み合わせの試験を実施することが可能である。
また、パラメータbの設定値が設定可能な範囲の最大値であると判定した場合(ステップS406:Yes)、パラメータ決定部11cが、パラメータ試験部11bのメモリ領域試験結果記憶部23に記憶されたヴェリファイ結果に基づいて、パラメータa,bの好適(最適)な値を決定する(ステップS408)。
そして、パラメータ設定部11dが、ステップS408にて決定された値をパラメータa,bに設定する(ステップS409)。
以上説明したように、本実施形態によれば、ヴェリファイ結果記憶部22が、メモリ領域ヴェリファイ部21によって行われる複数回の判定の結果を各回毎に記憶し、メモリ領域試験結果記憶部23が、メモリ2の特定の領域に行われた複数回の判定の総回数に対するヴェリファイ結果記憶部22に記憶されている複数回の判定の結果の中の「OK」となった数の比率(X%)が所定の比率以上の場合に、メモリ2の特定の領域に対するヴェリファイ結果を「OK」として記憶する。従って、メモリ2の特定の領域に書き込んだデータとメモリ2の特定の領域から読み出したデータとが完全一致しない場合であっても、好適な値をパラメータに設定することができる。
また、本実施形態によれば、試験対象パラメータ以外のパラメータが原因でヴェリファイ結果が「OK」(完全一致)にならない場合であっても、好適な値を試験対象パラメータに設定することができる。例えば、設定すべきパラメータがパラメータa,b,cの3個有り、先にパラメータa,bの2個を調整(設定)し、その後、パラメータcを調整(設定)する場合について検討する。このような場合、パラメータa,bの2個を設定しようとする時点ではパラメータcが未調整であるため、パラメータa,bをいくら変化させてもヴェリファイ結果が「OK」(完全一致)にならないケースが考えられる。しかしながら、このようなケースであっても、パラメータa,bを変化させることで、メモリ2に書き込んだデータとメモリ2から読み出したデータとの一致率は変化するので、本実施形態によれば、好適な値をパラメータa,bに設定することができる。
(第4の実施の形態)
第3の実施の形態においては、ヴェリファイでライト及びリードされるデータ総量が多いほど、メモリアクセス試験に時間がかかる。一般に、ヴェリファイは、メモリの特定の領域(ヴェリファイ領域)内のアドレスに対して特定の単位のデータ(例えば、1ワード等)を書き込んだ後、メモリの特定の領域のアドレスからデータを読み出し、書き込んだデータと読み出したデータとが一致するか否かの判定をアドレスをインクリメントさせながら複数回繰り返すことで実現される。従って、一般に、ヴェリファイでライト及びリードされるデータ総量は、メモリ2の特定の領域(ヴェリファイ領域)の容量に等しくなる。しかしながら、メモリ2の特定の領域(ヴェリファイ領域)の容量に等しいデータのライト及びリードを行うこととすると、メモリアクセス試験に時間がかかることになる。そこで、第4の実施の形態として、メモリアクセス試験時間を短縮する場合について説明する。
なお、本実施の形態の構成は、第3の実施の形態の構成(図1及び図8参照)と同様であるので、説明を省略する。
本実施の形態において、メモリ領域ヴェリファイ部21(図8参照)は、メモリ2の特定の領域(ヴェリファイ領域)内のアドレスに対して特定のデータを書き込んだ後、メモリ2の特定の領域のアドレスからデータを読み出し、書き込んだデータと読み出したデータとが一致するか否かの判定をアドレスを1ずつインクリメントさせながら繰り返し行う。ヴェリファイ結果記憶部22(図8参照)は、メモリ領域ヴェリファイ部21によって実施される複数回の判定の結果を各回毎に記憶する。
そして、メモリ領域ヴェリファイ部21は、ヴェリファイ結果記憶部22に記憶されている複数回の判定の結果を参照し、所定の回数(例えば、8回等)連続して判定の結果が「OK」となった場合には、次(例えば、9回目等)から、所定の単位のデータのライト及びリード並びに判定を、アドレスを2ずつインクリメントしながら、繰り返し行う。
その後、更に、メモリ領域ヴェリファイ部21は、ヴェリファイ結果記憶部22に記憶されている複数回の判定結果を参照し、所定の回数(例えば、8回等)連続して判定の結果が「OK」となった場合には、次から、所定の単位のデータのライト及びリード並びに判定を、アドレスを4ずつインクリメントしながら、繰り返し行う。
上記のように所定の回数連続して判定の結果が「OK」となった場合には、ヴェリファイ領域の全部に判定を行わなくても、メモリアクセス試験の精度は落ちないと考えられる。
そこで、所定の回数連続して判定の結果が「OK」となった場合に、アドレスをインクリメントする幅を増やすことにより、ヴェリファイでライト及びリードされるデータ総量を減らすことができる。
以上説明したように、本実施形態によれば、メモリ領域ヴェリファイ部21が、ヴェリファイ結果記憶部22に記憶されている複数回の判定の結果に基づいて、所定の単位のデータのライト及びリードを行うアドレスを決定する。これにより、ヴェリファイでライト及びリードされるデータ総量を減らすことができ、メモリアクセス試験の時間を短縮することができ、好適(最適)なパラメータを決定する時間を短縮することができる。
(第5の実施の形態)
第3の実施の形態においては、パラメータの組み合わせの数が多いほどメモリアクセス試験時間がかかる。そこで、第5の実施の形態として、メモリアクセス試験時間を短縮する場合について説明する。
なお、本実施の形態の構成は、第3の実施の形態の構成(図1及び図8参照)と同様であるので、説明を省略する。
図10は、本実施の形態にかかるメモリ制御システムの動作の手順を示すフローチャートである。
なお、本実施形態においては、2個のパラメータa,bを設定するものとし、パラメータaのみ次の設定値を試験結果に応じて決定することとしているが、パラメータa,bの両方の次の設定値を試験結果に応じて決定することも可能である。また、本実施形態においては、パラメータが2個の場合について説明するが、パラメータが3個以上の場合であっても同様に設定することが可能である。
図10を参照すると、まず、パラメータ設定部11dが、パラメータ管理部11aから与えられる最小値をパラメータa,bに設定する(ステップS501)。
次に、パラメータ試験部11bのメモリ領域ヴェリファイ部21が、メモリ2の特定の領域(ヴェリファイ対象領域)に対してヴェリファイを実施する(ステップS502)。なお、パラメータ試験部11bのヴェリファイ結果記憶部22は、メモリ領域ヴェリファイ部21によって行われる複数回の判定の結果を各回毎に記憶する。
そして、パラメータ試験部11bのメモリ領域試験結果記憶部23は、メモリ2の特定の領域に行われた複数回の判定の総回数に対するヴェリファイ結果記憶部22に記憶されている複数回の判定の結果の中の「OK」となった数の比率(X%)を算出する。さらに、メモリ領域試験結果記憶部23は、メモリ2の特定の領域に行われた複数回の判定の総回数に対するヴェリファイ結果記憶部22に記憶されている複数回の判定の結果の中の「OK」となった数の比率(X%)が所定の比率(例えば、80%等)以上の場合に、メモリ2の特定の領域に対するヴェリファイ結果を「OK」として記憶する(ステップS503)。
次に、パラメータ管理部11aが、パラメータaの設定値が設定可能な範囲の最大値(MAX)であるか否かを判定する(ステップS504)。
そして、パラメータaの設定値が設定可能な範囲の最大値ではないと判定した場合(ステップS504:No)、パラメータ管理部11aは、メモリ領域試験結果記憶部23に記憶されているメモリ2の特定の領域に実施されたヴェリファイ回数に対するヴェリファイ結果記憶部22に記憶されている1回のヴェリファイ単位毎のヴェリファイ結果が「OK」となった数の比率(X%)に基づいて、パラメータaの設定値のステップ幅(インクリメント幅)Degreeを
Degree=(11−X/10) ・・・(1)
により算出する。
図11は、メモリ2の特定の領域に行われた複数回の判定の総回数に対するヴェリファイ結果記憶部22に記憶されている複数回の判定の結果の中の「OK」となった数の比率(X%)と式(1)により算出されるパラメータaの設定値のステップ幅Degreeとの関係を示す図である。図11に示すように、メモリ2の特定の領域に行われた複数回の判定の総回数に対するヴェリファイ結果記憶部22に記憶されている複数回の判定の結果の中の「OK」となった数の比率(X%)が0%の場合には、パラメータaの設定値のステップ幅Degreeは、
Degree=(11−0/10)
=(11−0)
=11 ・・・(2)
となる。
また、比率(X%)が10%の場合には、パラメータaの設定値のステップ幅Degreeは10となり、比率(X%)が20%の場合には、パラメータaの設定値のステップ幅Degreeは9となり、比率(X%)が30%の場合には、パラメータaの設定値のステップ幅Degreeは8となり、比率(X%)が40%の場合には、パラメータaの設定値のステップ幅Degreeは7となり、比率(X%)が50%の場合には、パラメータaの設定値のステップ幅Degreeは6となる。
また、比率(X%)が60%の場合には、パラメータaの設定値のステップ幅Degreeは5となり、比率(X%)が70%の場合には、パラメータaの設定値のステップ幅Degreeは4となり、比率(X%)が80%の場合には、パラメータaの設定値のステップ幅Degreeは3となり、比率(X%)が90%の場合には、パラメータaの設定値のステップ幅Degreeは2となり、比率(X%)が100%の場合には、パラメータaの設定値のステップ幅Degreeは1となる。
パラメータ管理部11aは、パラメータaの設定値を上記のようにして算出したステップ幅Degreeだけ増加させる(ステップS505)。その後、処理はステップS502に戻る。
また、パラメータaの設定値が設定可能な範囲の最大値であると判定した場合(ステップS504:Yes)、パラメータ管理部11aは、パラメータbの設定値が設定可能な範囲の最大値(MAX)であるか否かを判定する(ステップS506)。
そして、パラメータbの設定値が設定可能な範囲の最大値ではないと判定した場合(ステップS506:No)、パラメータ管理部11aは、パラメータaを最小値に設定するとともに、パラメータbの設定値をインクリメントする(ステップS507)。その後、処理はステップS502に戻る。
また、パラメータbの設定値が設定可能な範囲の最大値であると判定した場合(ステップS506:Yes)、パラメータ決定部11cが、パラメータ試験部11bのメモリ領域試験結果記憶部23に記憶されたヴェリファイ結果に基づいて、パラメータa,bの好適(最適)な値を決定する(ステップS508)。
そして、パラメータ設定部11dが、ステップS508にて決定された値をパラメータa,bに設定する(ステップS509)。
以上説明したように、本実施形態によれば、メモリ領域試験結果記憶部23が、メモリ2の特定の領域に行われた複数回の判定の総回数に対するヴェリファイ結果記憶部22に記憶されている複数回の判定の結果の中の「OK」となった数の比率(X%)を算出して記憶し、パラメータ管理部11aが、当該比率(X%)に基づいて、パラメータaの設定値のステップ幅(インクリメント幅)を変える。これにより、メモリアクセス試験の精度を落とすことなく、メモリアクセス試験を行うパラメータの組み合わせの数を減らすことができる。従って、メモリアクセス試験時間を短縮することができ、好適(最適)なパラメータを決定する時間を短縮することができる。
(第6の実施の形態)
制御装置1側のパラメータを設定しても、メモリ2側のパラメータ(例えば、ODT、OCD等)に起因するメモリアクセス不良があった場合、パラメータの調整(設定)そのものが成功しないことがある。
そこで、パラメータ設定部11dが、メモリコントローラ12を介してメモリ2にアクセスし、メモリ2側のパラメータ(例えば、ODT、OCD等)を設定する。
以上説明したように、本実施形態によれば、制御装置1側及びメモリ2側の各パラメータ(リード、ライト、その他)を網羅し、メモリ2側も含めた好適(最適)なパラメータ調整(設定)を行うことができる。
(第7の実施の形態)
第1乃至第6の実施の形態においては、パラメータを調整した結果を残していないため、メモリ制御システムの次回立ち上げ時(起動時又は再起動時)には、パラメータを再度調整する必要がある。そこで、第7の実施の形態として、メモリ制御システムの次回起動時又は再起動時にパラメータを再度調整する必要をなくす場合について説明する。
図12は、本発明の第7の実施の形態にかかるメモリ制御システムを適用した機器の構成を示すブロック図である。
図12に示す機器は、制御装置31と、ダブルデータレート型メモリ2と、を含んでいる。制御装置31は、メモリ制御システム41と、メモリコントローラ12と、を含んでいる。メモリ制御システム41はメモリコントローラ12を介してメモリ2へのアクセス(リード、ライト、ヴェリファイ等)を行う。
メモリ制御システム41は、上述した第1乃至第6の実施の形態におけるメモリ制御システム11とは、本発明の設定値記憶手段としての設定値記憶部11e、不揮発性メモリ11f、本発明のパラメータ設定履歴判定手段としてのパラメータ設定履歴判定部11gが追加されている点で異なる。以下の説明では、上述した第1乃至第6の実施の形態と同一の構成要素には同一の符号を付してその説明を省略している。
図13は、本実施の形態にかかるメモリ制御システムの動作の手順を示すフローチャートである。本実施の形態にかかるメモリ制御システムは、システム立ち上げ時(起動時又は再起動時)に図13に示す手順を実行する。
図13を参照すると、パラメータ設定履歴判断部11gが、不揮発性メモリ11f内の好適(最適)なパラメータが既に決定されたことを表す設定値有無フラグをチェックする(ステップS601)。なお、設定値有無フラグがセットされる場合については、後で説明する。
パラメータ設定履歴判断部11gが、設定値フラグがセットされていないと判定した場合(ステップS601:No)、パラメータ管理部11a、パラメータ試験部11b、パラメータ決定部11c、パラメータ設定部11dが、先に説明した手順(図2、図6、図9、図10参照)を実行することにより、メモリアクセス試験を行い、好適(最適)なパラメータを決定し、設定する(ステップS602)。なお、設定値記憶部11eは、好適(最適)なパラメータが決定、設定されたときに(図2のステップS209、図6のステップS315、図9のステップS409、図10のステップS509参照)、決定、設定されたパラメータを不揮発性メモリ11fに書き込むとともに、設定値有無フラグをセットする。
また、パラメータ設定履歴判断部11gが、設定値フラグがセットされていると判定した場合(ステップS601:Yes)、パラメータ設定部11dが、不揮発性メモリ11fに記憶されている好適(最適)なパラメータを設定する(ステップS603)。
以上説明したように、本実施形態によれば、一度調整したパラメータ設定値を不揮発性メモリ11fに記憶し、次の起動時又は再起動時には既に行われた調整結果を再利用することができる。これにより、メモリ制御システム41の次回起動時又は再起動時にパラメータを再度調整する必要をなくすことができる。
以上のように、本発明にかかるメモリ制御システム、メモリ制御方法、メモリ制御プログラム及び記録媒体は、メモリとメモリコントローラとの間のメモリ動作を決定する複数のパラメータを設定する技術に有用である。
1 制御装置
2 メモリ
11 メモリ制御システム
11a パラメータ管理部
11b パラメータ試験部
11c パラメータ決定部
11d パラメータ設定部
11e 設定値記憶部
11f 不揮発性メモリ
11g パラメータ設定履歴判定部
12 メモリコントローラ
21 メモリ領域ヴェリファイ部
22 ヴェリファイ結果記憶部
23 メモリ領域試験結果記憶部
31 制御装置
41 メモリ制御システム

Claims (16)

  1. メモリとメモリコントローラとの間のメモリ動作を決定する複数のパラメータが取り得る値の複数の組み合わせを管理するパラメータ管理手段と、
    前記パラメータ管理手段によって管理されている前記複数の組み合わせを前記複数のパラメータに順次設定するパラメータ設定手段と、
    前記パラメータ設定手段によって前記複数の組み合わせが前記複数のパラメータに順次設定される都度、前記メモリと前記メモリコントローラとの間のメモリ動作の試験を行い、その試験の判定結果を蓄積するパラメータ試験手段と、
    前記パラメータ試験手段に蓄積された試験の判定結果に基づいて、前記複数の組み合わせの中の1組を決定するパラメータ決定手段と、
    を備え、
    前記パラメータ設定手段は、前記パラメータ決定手段によって決定された前記複数の組み合わせの中の1組を前記複数のパラメータに設定すること
    を特徴とするメモリ制御システム。
  2. 前記パラメータ試験手段は、データストローブ信号(DQS)又はライトデータ遅延に関するパラメータに値を設定して試験を行った場合に、当該試験の結果が不合格であると判定したときに、前記複数の組み合わせの中の当該試験において前記データストローブ信号(DQS)又は前記ライトデータ遅延に関するパラメータに設定された値を含む1つ又は複数の組み合わせを前記パラメータ管理手段の管理範囲から除外すること
    を特徴とする請求項1に記載のメモリ制御システム。
  3. 前記パラメータ試験手段は、
    前記メモリの特定の領域内のアドレスに対して特定のデータを書き込んだ後、前記メモリの前記特定の領域の前記アドレスからデータを読み出し、書き込んだデータと読み出したデータとが一致するか否かの判定を行うことを前記アドレスを前記特定の領域内で変化させながら複数回繰り返すことで、ヴェリファイを実現するメモリ領域ヴェリファイ手段と、
    前記メモリ領域ヴェリファイ手段によって行われた複数回の判定の結果を記憶するヴェリファイ結果記憶手段と、
    前記メモリの前記特定の領域に行われた前記複数回の判定の総回数に対する前記ヴェリファイ結果記憶手段に記憶されている前記複数回の判定の結果の中の合格となった数の比率が所定の比率以上となった場合に、前記メモリの前記特定の領域に実施されたヴェリファイの結果が合格であった旨を記憶するメモリ領域試験結果記憶手段と、
    を備えることを特徴とする請求項1又は2に記載のメモリ制御システム。
  4. 前記メモリ領域ヴェリファイ手段は、前記ヴェリファイ結果記憶手段に記憶されている前記複数回の判定の結果に従って、次の書き込み及び読み出しを行う前記アドレスを決定すること
    を特徴とする請求項3に記載のメモリ制御システム。
  5. 前記パラメータ管理手段は、前記メモリ領域試験結果記憶手段に記憶されているヴェリファイの結果に応じて、前記複数の組み合わせの中から前記複数のパラメータに次に設定する組み合わせを決定すること
    を特徴とする請求項3に記載のメモリ制御システム。
  6. 前記複数のパラメータは、前記メモリ側へ設定する1つ又は複数のパラメータを含むこと
    を特徴とする請求項1乃至5のいずれか一つに記載のメモリ制御システム。
  7. 不揮発性メモリと、
    前記パラメータ決定手段によって決定され、前記パラメータ設定手段によって前記複数のパラメータに設定された前記複数の組み合わせの中の1組の値を前記不揮発性メモリに記憶する設定値記憶手段と、
    前記複数の組み合わせの中の1組の値が前記不揮発性メモリに記憶されているか否かを判定するパラメータ設定履歴判定手段と、
    を更に備え、
    前記パラメータ設定履歴判定手段は、前記メモリ制御システムの起動時又は再起動時に、前記複数の組み合わせの中の1組の値が前記不揮発性メモリに記憶されていると判定した場合は、前記不揮発性メモリに記憶されている前記複数の組み合わせの中の1組の値を前記複数のパラメータの起動時又は再起動時の設定値とすること
    を特徴とする請求項1乃至6のいずれか一つに記載のメモリ制御システム。
  8. メモリとメモリコントローラとの間のメモリ動作を決定する複数のパラメータが取り得る値の複数の組み合わせを管理するパラメータ管理ステップと、
    前記パラメータ管理ステップによって管理されている前記複数の組み合わせを前記複数のパラメータに順次設定するパラメータ設定ステップと、
    前記パラメータ設定ステップによって前記複数の組み合わせが前記複数のパラメータに順次設定される都度、前記メモリと前記メモリコントローラとの間のメモリ動作の試験を行い、その試験の判定結果を蓄積するパラメータ試験ステップと、
    前記パラメータ試験ステップに蓄積された試験の判定結果に基づいて、前記複数の組み合わせの中の1組を決定するパラメータ決定ステップと、
    を有し、
    前記パラメータ設定ステップは、前記パラメータ決定ステップによって決定された前記複数の組み合わせの中の1組を前記複数のパラメータに設定すること
    を特徴とするメモリ制御方法。
  9. 前記パラメータ試験ステップは、データストローブ信号(DQS)又はライトデータ遅延に関するパラメータに値を設定して試験を行った場合に、当該試験の結果が不合格であると判定したときに、前記複数の組み合わせの中の当該試験において前記データストローブ信号(DQS)又は前記ライトデータ遅延に関するパラメータに設定された値を含む1つ又は複数の組み合わせを前記パラメータ管理ステップの管理範囲から除外すること
    を特徴とする請求項8に記載のメモリ制御方法。
  10. 前記パラメータ試験ステップは、
    前記メモリの特定の領域内のアドレスに対して特定のデータを書き込んだ後、前記メモリの前記特定の領域の前記アドレスからデータを読み出し、書き込んだデータと読み出したデータとが一致するか否かの判定を行うことを前記アドレスを前記特定の領域内で変化させながら複数回繰り返すことで、ヴェリファイを実現するメモリ領域ヴェリファイステップと、
    前記メモリ領域ヴェリファイステップによって行われた複数回の判定の結果を記憶するヴェリファイ結果記憶ステップと、
    前記メモリの前記特定の領域に行われた前記複数回の判定の総回数に対する前記ヴェリファイ結果記憶ステップで記憶された前記複数回の判定の結果の中の合格となった数の比率が所定の比率以上となった場合に、前記メモリの前記特定の領域に実施されたヴェリファイの結果が合格であった旨を記憶するメモリ領域試験結果記憶ステップと、
    を含むことを特徴とする請求項8又は9に記載のメモリ制御方法。
  11. 前記メモリ領域ヴェリファイステップは、前記ヴェリファイ結果記憶ステップで記憶された前記複数回の判定の結果に従って、次の書き込み及び読み出しを行う前記アドレスを決定すること
    を特徴とする請求項10に記載のメモリ制御方法。
  12. 前記パラメータ管理ステップは、前記メモリ領域試験結果記憶ステップで記憶されたヴェリファイの結果に応じて、前記複数の組み合わせの中から前記複数のパラメータに次に設定する組み合わせを決定すること
    を特徴とする請求項10に記載のメモリ制御方法。
  13. 前記複数のパラメータは、前記メモリ側へ設定する1つ又は複数のパラメータを含むこと
    を特徴とする請求項8乃至12のいずれか一つに記載のメモリ制御方法。
  14. 不揮発性メモリを備えたメモリ制御システムが実行する方法であって、
    前記パラメータ決定ステップによって決定され、前記パラメータ設定ステップによって前記複数のパラメータに設定された前記複数の組み合わせの中の1組の値を前記不揮発性メモリに記憶する設定値記憶ステップと、
    前記複数の組み合わせの中の1組の値が前記不揮発性メモリに記憶されているか否かを判定するパラメータ設定履歴判定ステップと、
    を更に有し、
    前記パラメータ設定履歴判定ステップは、前記メモリ制御システムの起動時又は再起動時に、前記複数の組み合わせの中の1組の値が前記不揮発性メモリに記憶されていると判定した場合は、前記不揮発性メモリに記憶されている前記複数の組み合わせの中の1組の値を前記複数のパラメータの起動時又は再起動時の設定値とすること
    を特徴とする請求項8乃至13のいずれか一つに記載のメモリ制御方法。
  15. 請求項8乃至14のいずれか一つに記載されたメモリ制御方法をコンピュータに実行させるためのメモリ制御プログラム。
  16. 請求項15に記載されたメモリ制御プログラムを格納したコンピュータの読み取り可能な記録媒体。
JP2009003384A 2009-01-09 2009-01-09 メモリ制御システム、メモリ制御方法、メモリ制御プログラム及び記録媒体 Pending JP2010160724A (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2009003384A JP2010160724A (ja) 2009-01-09 2009-01-09 メモリ制御システム、メモリ制御方法、メモリ制御プログラム及び記録媒体

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2009003384A JP2010160724A (ja) 2009-01-09 2009-01-09 メモリ制御システム、メモリ制御方法、メモリ制御プログラム及び記録媒体

Publications (1)

Publication Number Publication Date
JP2010160724A true JP2010160724A (ja) 2010-07-22

Family

ID=42577828

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2009003384A Pending JP2010160724A (ja) 2009-01-09 2009-01-09 メモリ制御システム、メモリ制御方法、メモリ制御プログラム及び記録媒体

Country Status (1)

Country Link
JP (1) JP2010160724A (ja)

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2012194686A (ja) * 2011-03-15 2012-10-11 Elpida Memory Inc システム、システムにおける調整装置、およびシステムの制御方法
JP2013543612A (ja) * 2010-09-13 2013-12-05 アドバンスト・マイクロ・ディバイシズ・インコーポレイテッド 構成可能な電力状態をもつダイナミックramphyインタフェース
JP2015036965A (ja) * 2013-08-16 2015-02-23 富士通株式会社 メモリ制御装置、メモリ制御装置の制御方法及び情報処理装置
JP2015219845A (ja) * 2014-05-21 2015-12-07 株式会社メガチップス メモリ制御回路、並びにメモリのデータ信号及びデータストローブ信号の位相制御方法
KR20180065890A (ko) * 2016-12-08 2018-06-18 윈본드 일렉트로닉스 코포레이션 반도체 장치 및 그 조정 방법

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH08286841A (ja) * 1995-04-07 1996-11-01 Samsung Electron Co Ltd エラーログ作成方法及びエラーテスト装置
JP2004094342A (ja) * 2002-08-29 2004-03-25 Seiko Epson Corp プリンタにおけるフラッシュメモリの判定方法、この方法をコンピュータに実行させるプログラム、このプログラムを記録した記録媒体、フラッシュメモリを備えるプリンタ
JP2005141725A (ja) * 2003-10-16 2005-06-02 Pioneer Plasma Display Corp メモリアクセス回路、そのメモリアクセス回路の動作方法およびそのメモリアクセス回路を用いる表示装置
JP2007249738A (ja) * 2006-03-17 2007-09-27 Kawasaki Microelectronics Kk メモリアクセス制御装置

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH08286841A (ja) * 1995-04-07 1996-11-01 Samsung Electron Co Ltd エラーログ作成方法及びエラーテスト装置
JP2004094342A (ja) * 2002-08-29 2004-03-25 Seiko Epson Corp プリンタにおけるフラッシュメモリの判定方法、この方法をコンピュータに実行させるプログラム、このプログラムを記録した記録媒体、フラッシュメモリを備えるプリンタ
JP2005141725A (ja) * 2003-10-16 2005-06-02 Pioneer Plasma Display Corp メモリアクセス回路、そのメモリアクセス回路の動作方法およびそのメモリアクセス回路を用いる表示装置
JP2007249738A (ja) * 2006-03-17 2007-09-27 Kawasaki Microelectronics Kk メモリアクセス制御装置

Cited By (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2013543612A (ja) * 2010-09-13 2013-12-05 アドバンスト・マイクロ・ディバイシズ・インコーポレイテッド 構成可能な電力状態をもつダイナミックramphyインタフェース
US9274938B2 (en) 2010-09-13 2016-03-01 Advanced Micro Devices, Inc. Dynamic RAM Phy interface with configurable power states
JP2012194686A (ja) * 2011-03-15 2012-10-11 Elpida Memory Inc システム、システムにおける調整装置、およびシステムの制御方法
JP2015036965A (ja) * 2013-08-16 2015-02-23 富士通株式会社 メモリ制御装置、メモリ制御装置の制御方法及び情報処理装置
JP2015219845A (ja) * 2014-05-21 2015-12-07 株式会社メガチップス メモリ制御回路、並びにメモリのデータ信号及びデータストローブ信号の位相制御方法
KR20180065890A (ko) * 2016-12-08 2018-06-18 윈본드 일렉트로닉스 코포레이션 반도체 장치 및 그 조정 방법
JP2018097900A (ja) * 2016-12-08 2018-06-21 ウィンボンド エレクトロニクス コーポレーション 半導体装置およびその調整方法
KR101992932B1 (ko) * 2016-12-08 2019-06-25 윈본드 일렉트로닉스 코포레이션 반도체 장치 및 그 조정 방법
US10629284B2 (en) 2016-12-08 2020-04-21 Winbond Electronics Corp. Semiconductor memory device witih a built-in self test circuit for adjusting a memory device property

Similar Documents

Publication Publication Date Title
US9690505B2 (en) Refresh row address
US9734097B2 (en) Apparatuses and methods for variable latency memory operations
US9710192B2 (en) Apparatuses and methods for providing data from a buffer
JP2017527897A (ja) メモリの異なるメモリプレーンに同時にアクセスするための装置および方法
JP2011040041A (ja) 書き込みレベリング動作を行うためのメモリ装置の制御方法、メモリ装置の書き込みレベリング方法、及び書き込みレベリング動作を行うメモリコントローラ、メモリ装置、並びにメモリシステム
US9727493B2 (en) Apparatuses and methods for providing data to a configurable storage area
KR20220127374A (ko) 메모리 프로토콜
JP2010160724A (ja) メモリ制御システム、メモリ制御方法、メモリ制御プログラム及び記録媒体
US20100312981A1 (en) Memory access timing adjustment device and memory access timing adjustment method
US20170160938A1 (en) Data storage device and mode-detection method thereof
US20150355854A1 (en) Semiconductor memory device, memory system including the same, and operating method thereof
US6968436B2 (en) Memory controller that controls supply timing of read data
JP5801158B2 (ja) Ram記憶装置
US8873327B2 (en) Semiconductor device and operating method thereof
WO2014068739A1 (ja) 情報処理装置、およびメモリ試験方法
US10388402B2 (en) Memory system and memory control method
US8218389B2 (en) Semiconductor storage device and control method of the same
US20240220108A1 (en) Automated Memory Overclocking
KR20140081162A (ko) 메모리 컨트롤러 및 이를 포함하는 메모리 시스템
US8639879B2 (en) Sorting movable memory hierarchies in a computer system
US11003602B2 (en) Memory protocol with command priority
US20140095825A1 (en) Semiconductor device and operating method thereof
JP6423282B2 (ja) メモリ制御装置及びメモリ制御方法
TW201702859A (zh) 記憶體控制器
JP2008152315A (ja) 信号処理回路

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20111226

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20120615

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20130409

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20130416

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20130612

A02 Decision of refusal

Free format text: JAPANESE INTERMEDIATE CODE: A02

Effective date: 20131217