JP2021165995A - メモリ制御装置およびメモリ制御装置の制御方法 - Google Patents

メモリ制御装置およびメモリ制御装置の制御方法 Download PDF

Info

Publication number
JP2021165995A
JP2021165995A JP2020069750A JP2020069750A JP2021165995A JP 2021165995 A JP2021165995 A JP 2021165995A JP 2020069750 A JP2020069750 A JP 2020069750A JP 2020069750 A JP2020069750 A JP 2020069750A JP 2021165995 A JP2021165995 A JP 2021165995A
Authority
JP
Japan
Prior art keywords
memory
check data
memory device
dummy
cycles
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
JP2020069750A
Other languages
English (en)
Inventor
崇彦 木村
Takahiko Kimura
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 JP2020069750A priority Critical patent/JP2021165995A/ja
Publication of JP2021165995A publication Critical patent/JP2021165995A/ja
Pending legal-status Critical Current

Links

Images

Landscapes

  • Memory System (AREA)

Abstract

【課題】メモリ制御装置に接続されるメモリ装置のダミーサイクル数の仕様にかかわらず、メモリ装置をアクセス可能にする。【解決手段】メモリ制御装置は、双方向シリアルバスを介して読み出し要求を受信してから所定のダミーサイクル数後に前記双方向シリアルバスに読み出しデータを出力するメモリ装置のアクセスを制御するメモリ制御装置であって、前記メモリ装置にチェックデータを書き込み、前記メモリ装置に前記チェックデータを読み出す前記読み出し要求を出力し、前記読み出し要求から前記チェックデータを受信するまでのサイクル数に基づいて、前記メモリ装置に設定された前記ダミーサイクル数を判定する。【選択図】図1

Description

本発明は、メモリ制御装置およびメモリ制御装置の制御方法に関する。
データを送受信可能な双方向バスを使用して外部装置と通信する情報処理装置では、データの出力後にデータを入力する場合のデータの衝突を抑止するために、データの出力期間と入力期間との間にダミーサイクルが挿入される。情報処理装置において、データ端子に接続される双方向バッファを制御する方向制御部は、外部装置の仕様に応じて予め設定されたダミーサイクル期間内に双方向バッファのデータの入出力方向を出力方向から入力方向に切り替える(例えば、特許文献1参照)。
特開2013−142951号公報
例えば、双方向シリアルバスを介して情報処理装置からメモリ装置に読み出しコマンドを出力後、メモリ装置から読み出しデータが出力されるまでのダミーサイクル数は、メモリ装置により異なる場合がある。このため、例えば、情報処理装置に接続されたメモリ装置が故障し、他のメモリ装置と交換する場合、交換後のメモリ装置のダミーサイクル数の仕様は、元のメモリ装置のダミーサイクル数の仕様と同じになるとは限らない。ここで、ダミーサイクル数の仕様とは、ダミーサイクル数自体だけでなく、ダミーサイクル数の設定方法およびステータスレジスタのビット位置等も含む。
ダミーサイクル数の仕様等が変わる場合、情報処理装置内に設けられるメモリ制御装置によるメモリ装置の制御仕様が変更される。しかしながら、メモリ制御装置のハードウェアによりメモリ装置が制御される場合、他のメモリ装置への交換に伴うハードウェアの変更が困難な場合がある。このため、メモリ装置の故障による交換に備えて、同一品種のメモリ装置が大量にストックされるが、保守コストの増大を招く。
1つの側面では、本発明は、メモリ制御装置に接続されるメモリ装置のダミーサイクル数の仕様にかかわらず、メモリ装置をアクセス可能にすることを目的とする。
一つの観点によれば、メモリ制御装置は、双方向シリアルバスを介して読み出し要求を受信してから所定のダミーサイクル数後に前記双方向シリアルバスに読み出しデータを出力するメモリ装置のアクセスを制御するメモリ制御装置であって、前記メモリ装置にチェックデータを書き込み、前記メモリ装置に前記チェックデータを読み出す前記読み出し要求を出力し、前記読み出し要求から前記チェックデータを受信するまでのサイクル数に基づいて、前記メモリ装置に設定された前記ダミーサイクル数を判定する。
1つの側面では、本発明は、メモリ制御装置に接続されるメモリ装置のダミーサイクル数の仕様にかかわらず、メモリ装置をアクセス可能にすることができる。
一実施形態におけるメモリ制御装置を含むシステムの一例を示すブロック図である。 図1のメモリ制御装置によるフラッシュメモリのアクセス動作の一例を示すタイミング図である。 図1のメモリ制御装置の判定モードでの動作の一例を示すフロー図である。 図3において消去動作を実行する前のフラッシュメモリの状態の一例を示す説明図である。 図3において消去動作を実行した後のフラッシュメモリの状態の一例を示す説明図である。 図3においてチェックデータを書き込み後のフラッシュメモリの状態の一例を示す説明図である。 他のメモリ制御装置の動作の一例(比較例)を示すフロー図である。 別の実施形態におけるメモリ制御装置を含むシステムの一例を示すブロック図である。 図8のメモリ制御装置によるフラッシュメモリのアクセス動作の一例を示すタイミング図である。 図8のメモリ制御装置の判定モードでの動作の一例を示すフロー図である。 図10のステップS58の動作の一例を示すフロー図である。 図8のメモリ制御装置の判定モードでの動作の別の例を示すフロー図である。 図10のステップS59の動作の一例を示すフロー図である。
以下、図面を用いて実施形態が説明される。以下では、信号が伝達される信号線および端子には、信号名と同じ符号を使用する。
図1は、一実施形態におけるメモリ制御装置を含むシステムの一例を示す。図1に示すシステム100は、メモリ制御装置10(マスタ)と、メモリ制御装置10によりアクセスされるフラッシュメモリ50(スレーブ)とを有する。フラッシュメモリ50は、メモリ装置の一例である。例えば、システム100は、サーバ等の情報処理装置であり、メモリ制御装置10とフラッシュメモリ50とは、同一基板上に搭載される。
メモリ制御装置10およびフラッシュメモリ50は、シリアルクロック信号線SCLK、スレーブセレクト信号線SSおよびシリアル入出力信号線SIOを介して接続される。シリアルクロック信号SCLKおよびスレーブセレクト信号SSは、メモリ制御装置10からフラッシュメモリ50に出力される。シリアル入出力信号線SIOは、双方向シリアルバスであり、コマンド、アドレス、書き込みデータおよび読み出しデータが伝送される。双方向シリアルバスを介してメモリ制御装置10とフラッシュメモリ50とを接続することで、メモリ制御装置10とフラッシュメモリ50との間に接続される信号線の数を削減することができる。
メモリ制御装置10は、アクセス制御部20とサイクル数保持部30とを有する。アクセス制御部20は、通常モード中、フラッシュメモリ50の消去動作、書き込み動作(プログラム動作)および読み出し動作を制御する。例えば、メモリ制御装置10は、通常モードでの読み出し動作において、サイクル数保持部30が保持するダミーサイクル数に応じて、フラッシュメモリ50から出力される読み出しデータの判定タイミングを制御する。
アクセス制御部20は、フラッシュメモリ50に設定されたダミーサイクル数を判定する判定モード中、フラッシュメモリ50にチェックデータを書き込んだ後、フラッシュメモリ50からチェックデータを読み出す。そして、アクセス制御部20は、読み出し要求を出力後、フラッシュメモリ50からチェックデータを受信するまでのシリアルクロック信号SCLKのクロックサイクル数に基づいて、フラッシュメモリ50に設定されたダミーサイクル数を判定する。アクセス制御部20は、判定したサイクル数をダミーサイクル数としてサイクル数保持部30に格納する。アクセス制御部20が判定するダミーサイクル数は、フラッシュメモリ50に設定されたダミーサイクル数である。
フラッシュメモリ50は、例えば、ダミーサイクル数を保持するステータスレジスタ60を有する。フラッシュメモリ50は、シリアル入出力信号線SIOを介して読み出し要求を受信してから所定のダミーサイクル数後にシリアル入出力信号線SIOに読み出しデータを出力する。例えば、ダミーサイクルは、シリアル入出力信号SIOに接続されたフラッシュメモリ50内の入出力回路の状態を、信号(読み出し要求)を入力する状態から信号(読み出しデータ)を出力する状態に切り替えるために使用される。
なお、ステータスレジスタ60に保持されるダミーサイクル数は、フラッシュメモリ50の仕様で決められた範囲内で変更可能にされてもよい。この場合、アクセス制御部20は、サイクル数保持部30に設定するダミーサイクル数をフラッシュメモリ50のステータスレジスタ60にも設定する。そして、アクセス制御部20は、設定したダミーサイクル数を使用して、フラッシュメモリ50からの読み出しデータの受信タイミングを制御する。
図2は、図1のメモリ制御装置10によるフラッシュメモリ50のアクセス動作の一例を示す。書き込み動作は、スレーブセレクト信号SSがロウレベルの期間に実行される。メモリ制御装置10は、シリアルクロック信号SCLKに同期して書き込みコマンド(C)とアドレス(A)と書き込みデータ(1〜6)とを、シリアル入出力信号線SIOを介してフラッシュメモリ50に順次供給する。そして、フラッシュメモリ50に書き込みデータが書き込まれる。書き込みコマンド、アドレスおよび書き込みデータは、書き込み要求の一例である。なお、書き込みコマンド、アドレスおよび書き込みデータにそれぞれ使用するクロックサイクル数は、図2に限定されない。
読み出し動作は、スレーブセレクト信号SSがロウレベルの期間に実行される。メモリ制御装置10は、シリアルクロック信号SCLKに同期して読み出しコマンド(C)とアドレス(A)とを、シリアル入出力信号線SIOを介してフラッシュメモリ50に順次供給する。読み出しコマンドおよびアドレスは、読み出し要求の一例である。
フラッシュメモリ50は、読み出し要求の受信後(最終アドレスの受信後)、予め設定されたダミーサイクル数の間に、内蔵する入出力回路を入力状態から出力状態に切り替える。そして、フラッシュメモリ50は、ダミーサイクル後に、シリアルクロック信号SCLKに同期して、読み出しデータ(1〜6)をシリアル入出力信号線SIOに順次出力する。なお、読み出しコマンド、アドレスおよび読み出しデータにそれぞれ使用するクロックサイクル数は、図2に限定されない。
メモリ制御装置10とフラッシュメモリ50との間で、共通のダミーサイクル数を予め設定することで、メモリ制御装置10は、フラッシュメモリ50から出力される読み出しデータを正しいタイミングで受信し、読み出しデータの論理値を判定することができる。これに対して、図2に示す読み出し動作において、メモリ制御装置10のサイクル数保持部30にダミーサイクル数="0"が設定される場合、メモリ制御装置10は、先頭のダミーサイクルでシリアル入出力信号線SIO上に現れる不定値"X"を受信してしまう。また、メモリ制御装置10のサイクル数保持部30にダミーサイクル数="3"が設定される場合、メモリ制御装置10は、先頭の読み出しデータとして、データ"2"をフラッシュメモリ50から受信してしまう。
なお、フラッシュメモリ50の消去動作を実行する場合、消去コマンドと消去するセクタまたはブロックのアドレスがシリアル入出力信号線SIOを介してフラッシュメモリ50に順次供給される。
図3は、図1のメモリ制御装置10の判定モードでの動作の一例を示す。すなわち、図3は、メモリ制御装置10の制御方法の一例を示す。図3に示す動作は、システム100のパワーオン時に、メモリ制御装置10のアクセス制御部20(ハードウェア)により実行される。なお、サイクル数保持部30は、パワーオンリセットによりダミーサイクル数が"0"に設定されるとする。
まず、ステップS10において、アクセス制御部20は、チェックデータの書き込み先であるフラッシュメモリ50のアドレスを決定する。アドレスは、データが書き込み可能な領域であればよく、複数回の判定毎に変えることが好ましい。ここで、チェックデータは、フラッシュメモリ50に設定されたダミーサイクル数の判定に使用するデータである。なお、アクセス制御部20は、ステップS10において、フラッシュメモリ50に書き込むチェックデータの値を決定してもよい。
次に、ステップS12において、アクセス制御部20は、ステップS10で決定したアドレスを含む領域の消去動作を実行する。次に、ステップS14において、アクセス制御部20は、ステップS10で決定したアドレスにチェックデータを書き込む。
次に、ステップS16において、アクセス制御部20は、ステップS10で決定したアドレスに対する読み出し動作を実行し、フラッシュメモリ50からチェックデータを読み出す。ここで、アクセス制御部20は、判定モード中、チェックデータ(期待値)を書き込んだフラッシュメモリ50にアドレスを出力後、チェックデータの先頭データを検出するまでのサイクル数を、ダミーサイクル数としてカウントする。例えば、図2の読み出し動作において、アクセス制御部20は、チェックデータ(期待値)の先頭データが"1"の場合、ダミーサイクル数を"2"と判定し、チェックデータ(期待値)の先頭データが"3"の場合、ダミーサイクル数を"4"と判定する。
ここで、サイクル数保持部30には、パワーオンリセットによりダミーサイクル数が"0"に設定される。このため、アクセス制御部20は、フラッシュメモリ50のダミーサイクル数が"0"に設定されているとして、読み出し要求の出力直後のクロックサイクルから順に、シリアル入出力信号線SIO上に現れるデータの論理値を読み出しデータとして受信する。したがって、フラッシュメモリ50のダミーサイクル数が、実際に"0"に設定されている場合にも、チェックデータを先頭から受信することができ、チェックデータの受信に基づいてダミーサイクル数を正しく判定することができる。
次に、ステップS18において、アクセス制御部20は、判定したダミーサイクル数をレジスタまたはメモリ等に記録する。次に、ステップS20において、アクセス制御部20は、値が同じダミーサイクル数をn回記録したか否かを判定する(nは、2以上の整数)。アクセス制御部20は、値が同じダミーサイクル数がn回記録された場合、ステップS22を実行し、値が同じダミーサイクル数の記録がn回に満たない場合、ステップS10を実行する。ステップS10では、これまでに決定したアドレスと異なるアドレスが決定される。この際、前回と異なるチェックデータが決定されてもよい。換言すれば、ステップS10では、ダミーサイクル数を判定する判定シーケンス毎に、アドレス値およびデータ値の少なくともいずれかが変更される。
ステップS22において、アクセス制御部20は、n回記録されたダミーサイクル数をサイクル数保持部30に格納する。次に、ステップS24において、アクセス制御部20は、フラッシュメモリ50の消去動作を実行する。消去動作を実行する範囲は、消去可能な全てのデータ領域であることが好ましい。
ダミーサイクル数を判定する判定シーケンスを、値が同じダミーサイクル数をn回判定するまで繰り返し実行することで、1回の判定シーケンスで、フラッシュメモリ50に設定されたダミーサイクル数を判定する場合に比べて、判定の確度を向上することできる。さらに、複数回の判定シーケンスを、チェックデータの書き込み先を示すアドレスおよびチェックデータの値の少なくともいずれかを変えて実行することで、判定の確度をさらに向上することできる。
次に、ステップS26において、アクセス制御部20は、サイクル数保持部30に設定したダミーサイクル数が正しいことを確認する確認用データをフラッシュメモリ50に書き込む。書き込むデータの値および書き込みアドレスは、任意である。次に、ステップS28において、アクセス制御部20は、ステップS26でフラッシュメモリ50に書き込んだ確認用データを読み出す読み出し動作を実行する。そして、アクセス制御部20は、確認用データが正しく読み出せたことに基づいてサイクル数保持部30に設定したダミーサイクル数が正しいことを確認した後、通常運用(システム100のユーザシステムとしての動作)を開始する。なお、ステップS28の後、確認用データを消去する消去動作が実行されてもよい。
図4は、図3において消去動作を実行する前のフラッシュメモリ50の状態の一例を示す。なお、図4では、説明を簡単にするために、消去単位が16バイトであり、1アドレスに1バイトのデータが保持されるとする。図4に示す符号Xは、1ビットの不定データを示す。図4では、4ブロック分の記憶領域が示される。実際のフラッシュメモリ50では、例えば、消去単位は64kバイトである。
フラッシュメモリ50は、初期状態において論理値が分からない不定値Xを保持している。この例では、図3のステップ12において、アドレス0x18〜0x27までの16バイトのデータ領域のデータが消去される。なお、符号0xは、符号0xに続く数値が16進数であることを示す。
図5は、図3において消去動作を実行した後のフラッシュメモリ50の状態の一例を示す。フラッシュメモリ50のアドレス0x18〜0x27までのデータ領域は、消去動作により、不定値Xから論理値1(オール1)に変化する。
図6は、図3においてチェックデータを書き込み後のフラッシュメモリの状態の一例を示す。この例では、図3のステップ14において、網掛けで示すアドレス0x1C〜0x1Eのデータ領域に3バイトのチェックデータ(16進数では、A9 B7 0C)が書き込まれる。この後、図3のステップS16では、例えば、アドレス0x1C〜0x1Eを指定して、3バイトのチェックデータがフラッシュメモリ50から順次読み出される。
図7は、他のメモリ制御装置の動作の一例(比較例)を示す。図7に示す動作を実行する他のメモリ制御装置(他のアクセス制御部)は、チェックデータを使用してフラッシュメモリ50に設定されたダミーサイクル数を判定する機能を持たない。
まず、ステップS30において、他のアクセス制御部は、例えば、フラッシュメモリ50のステータスレジスタ等に読み出しアクセスし、ステータスレジスタに設定されたダミーサイクル数を読み出す。ここで、例えば、ステータスレジスタの設定値を読み出すためのコマンドおよびステータスレジスタ中のダミーサイクル数が設定されるビット位置等は、データシート等のベンダーから供給される情報に含まれるとする。
次に、ステップS32において、他のアクセス制御部は、ステップS30で読み出したステータスレジスタに設定されたデフォルトのダミーサイクル数をサイクル数保持部に設定する。次に、ステップS34において、他のアクセス制御部は、デフォルトのダミーサイクル数を使用して、フラッシュメモリ50のステータスレジスタに保持されているデータ(ダミーサイクル数を含む)を読み出し、レジスタまたはメモリ等に格納する。
ステップS36において、他のアクセス制御部は、レジスタまたはメモリ等に格納したデータのうち、ダミーサイクル数以外のビットをマスクして、システムで使用するダミーサイクル数を変更する。次に、ステップS38において、他のアクセス制御部は、レジスタ上で変更したダミーサイクル数を含むステータスレジスタの内容をフラッシュメモリ50のステータスレジスタに格納する。
この後、ステップS40、S42、S44において、図3のステップS24、S26、S28と同様に、他のアクセス制御部は、フラッシュメモリ50の消去動作を実行し、サイクル数保持部に設定したダミーサイクル数が正しいことを確認後、通常運用を開始する。
以上、図1から図6に示す実施形態では、フラッシュメモリ50からのデータの読み出しタイミングに基づいてフラッシュメモリ50に設定されたダミーサイクル数を自動的に判定することができる。そして、アクセス制御部20は、判定したダミーサイクル数をサイクル数保持部30に格納し、格納したダミーサイクル数を使用してフラッシュメモリ50の読み出し動作を実行することで、フラッシュメモリ50から正しいデータを読み出すことができる。例えば、パワーオンシーケンス中に、ダミーサイクル数を自動的に判定し、判定したダミーサイクル数をサイクル数保持部30に設定することができる。
故障等によりフラッシュメモリ50を他品種に交換する場合にも、交換したフラッシュメモリに設定されているダミーサイクル数を自動的に判定し、サイクル数保持部30に設定することができ、保守作業を簡素化することができる。また、フラッシュメモリ50と置き換える他品種のフラッシュメモリの選択の自由度を向上することができ、システム100の動作に適切な記憶容量、品質および価格のフラッシュメモリを採用することができる。システム100の製品寿命が長い場合にも、交換用のフラッシュメモリ50のストックを最小限にできるため、保守コストを削減することができる。
サイクル数保持部30にダミーサイクル数を"0"に設定した状態で、フラッシュメモリ50からチェックデータを読み出すことで、フラッシュメモリ50に実際に設定されているダミーサイクル数にかかわらず、ダミーサイクル数を判定することができる。
アクセス制御部20は、フラッシュメモリ50に設定されたダミーサイクル数を判定する判定シーケンスを、値が同じダミーサイクル数をn回判定するまで繰り返し実行する。これにより、1回の判定シーケンスで、フラッシュメモリ50に設定されたダミーサイクル数を判定する場合に比べて、判定の確度を向上することできる。複数回の判定シーケンスを、チェックデータの書き込み先を示すアドレスおよびチェックデータの値の少なくともいずれかを変えて実行することで、判定の確度をさらに向上することできる。
図8は、別の実施形態におけるメモリ制御装置を含むシステムの一例を示す。図1と同様の要素については、同じ符号を付し、詳細な説明は省略する。図8に示すシステム102は、メモリ制御装置12(マスタ)を搭載するFPGA(Field-Programmable Gate Array)202と、メモリ制御装置12に接続される複数のフラッシュメモリ52(52A、52B、52C)(スレーブ)とを有する。
フラッシュメモリ52は、メモリ装置の一例である。例えば、システム102は、サーバ等の情報処理装置であり、FPGA202(メモリ制御装置12)とフラッシュメモリ52とは、同一基板上に搭載される。なお、メモリ制御装置12は、FPGA202の代わりに、CPUまたはASIC(Application Specific Integrated Circuit)等に搭載されてもよい。
メモリ制御装置12および各フラッシュメモリ52は、共通のシリアルクロック信号線SCLKおよび4本の共通のシリアル入出力信号線SIO(SIO0〜SIO3)を介して接続される。メモリ制御装置12の3つのスレーブセレクト端子SS(SS0、SS1、SS2)は、フラッシュメモリ52A、52B、52Cにそれぞれ接続される。
メモリ制御装置12は、アクセス制御部22および管理テーブル42を有する。管理テーブル42は、フラッシュメモリ52A、52B、52Cのそれぞれに対応するサイクル数保持部32(32A、32B、32C)および設定処理済みフラグ33(33A、33B、33C)を有する。設定処理済みフラグ33は、対応するフラッシュメモリ52のダミーサイクル数が判定され、対応するサイクル数保持部32にダミーサイクル数が設定済みの場合にセットされる。設定処理済みフラグ33は、対応するサイクル数保持部32にダミーサイクル数が設定されていない場合にリセットされる。
アクセス制御部22の機能は、判定モード中に、複数のフラッシュメモリ52A、52B、52Cのダミーサイクル数を判定する機能と、設定処理済みフラグ33をセットする機能を有することを除き、図1のアクセス制御部20と同様の機能を有する。
フラッシュメモリ52A、52B、52Cは、例えば、ダミーサイクル数を保持するステータスレジスタ62(62A、62B、62C)をそれぞれ有する。フラッシュメモリ52A、52B、52Cは、互いに異なる品種でもよく、互いに同じ品種でもよく、記憶容量は、互いに相違していてもよい。
図9は、図8のメモリ制御装置12によるフラッシュメモリ52のアクセス動作の一例を示す。図2と同様の動作については、詳細な説明は省略する。図9に示す動作は、フラッシュメモリ52のいずれかの書き込み動作および読み出し動作を実行する場合の動作タイミングを示す。なお、図12で説明するように、書き込み動作は、複数のフラッシュメモリ52に対して同時に実行することが可能である。
図9に示す動作は、4本のシリアル入出力信号線SIO(SIO0〜SIO3)を使用して各フラッシュメモリ52にアクセスすることを除き、図2と同様である。例えば、図8に示すメモリ制御装置12とフラッシュメモリ52とを接続するインタフェースは、QSPI(Quad Serial Peripheral Interface:SPIは登録商標)である。なお、フラッシュメモリ52に供給する書き込みコマンドおよび読み出しコマンドの仕様とアドレスの仕様は、フラッシュメモリ52A、52B、52Cで共通であるとする。
図10は、図8のメモリ制御装置12の判定モードでの動作の一例を示す。すなわち、図10は、メモリ制御装置12の制御方法の一例を示す。図3と同様の動作については、詳細な説明は省略する。図10に示す動作は、システム102またはFPGA202のパワーオン時に、メモリ制御装置12のアクセス制御部22(ハードウェア)により実行される。なお、図8の各サイクル数保持部32は、システム102の出荷時にダミーサイクル数が"0"に設定されるとする。また、処理設定済みフラグ33は、メモリ制御装置12への電源の供給が遮断されても、設定値が保存されるとする。
まず、ステップS50において、アクセス制御部22は、ダミーサイクル数の判定を実行していない未選択のフラッシュメモリ52の1つを選択する。次に、ステップS52において、アクセス制御部22は、管理テーブル42を参照し、選択したフラッシュメモリ52に対応する処理設定済みフラグ33の状態を読み出す。また、アクセス制御部22は、管理テーブル42を参照し、選択したフラッシュメモリ52に対応するサイクル数保持部32に保持されたダミーサイクル数を読み出す。
次に、ステップS54において、アクセス制御部22は、読み出した処理設定済みフラグ33がセットされている場合(処理済み)、ステップS70を実行し、リセットされている場合(未処理)、ステップS56を実行する。処理設定済みフラグ33によりダミーサイクル数の設定処理の完了の有無を判定することで、ダミーサイクル数の判定処理をスキップすることができるため、パワーオン時の起動時間を短縮することができる。ここで、パワーオン時の起動時間は、判定モード期間を含むパワーオンシーケンス時間である。
ステップS56において、アクセス制御部22は、ステップS50で選択したフラッシュメモリ52に対応するサイクル数保持部32にダミーサイクル数を登録済みの場合、ステップS64を実行し、未登録の場合、ステップS58を実行する。ステップS58において、アクセス制御部22は、ダミーサイクル数の判定処理を実行する。ステップS58の動作の例は、図11に示す。
次に、ステップS60において、アクセス制御部22は、ステップS58の判定処理で決定したダミーサイクル数を、ステップS50で選択したフラッシュメモリ52に対応するサイクル数保持部32に登録する。次に、ステップS62において、アクセス制御部22は、ステップS50で選択したフラッシュメモリ52に対応する設定処理済みフラグ33をセットし、ステップS64を実行する。
この後、ステップS64において、図3のステップS24と同様に、アクセス制御部22は、ステップS50で選択したフラッシュメモリ52の消去動作を実行する。そして、ステップS66、S68において、図3のステップS26、S28と同様に、アクセス制御部22は、ステップS50で選択したフラッシュメモリ52に対応するサイクル数保持部32に設定したダミーサイクル数が正しいことを確認する。ステップS68の後、ステップS70が実行される
ステップS70において、アクセス制御部22は、ダミーサイクル数の判定を実行していない未選択のフラッシュメモリ52がある場合、ステップS50を実行する。アクセス制御部22は、ダミーサイクル数の判定を全てのフラッシュメモリ52で実行済みの場合、通常運用を開始する。
図11は、図10のステップS58の動作の一例を示す。図3と同様の動作については、詳細な説明は省略する。図11に示す動作は、図10のステップS50で選択されたフラッシュメモリ52に対して実行される。ステップS580、S582、S584、S586、S588、S590の動作は、それぞれ図3のステップS10、S12、S14、S16、S18、S20の動作と同様である。
例えば、ステップS580では、図3のステップS10と同様に、前回のアドレスと異なるアドレスが決定される。この際、前回と異なるチェックデータが決定されてもよい。換言すれば、ステップS580では、チェックデータの判定シーケンス毎に、アドレス値およびデータ値の少なくともいずれかが変更される。
ステップS590において、アクセス制御部22は、値が同じダミーサイクル数をn回記録したか否かを判定する(nは、2以上の整数)。アクセス制御部20は、値が同じダミーサイクル数がn回記録された場合、図10のステップS60を実行し、値が同じダミーサイクル数の記録がn回に満たない場合、ステップS580を実行する。
図12は、図8のメモリ制御装置12の判定モードでの動作の別の例を示す。すなわち、図12は、メモリ制御装置12の制御方法の一例を示す。図3および図10と同様の動作については、詳細な説明は省略する。
図12は、システム102またはFPGA202のパワーオン時に、ステップS50の前に、アクセス制御部22によりステップS47、S48、S49が実行され、図10のステップS58の代わりにステップS59が実行される。図12のその他の動作は、図10に示す動作と同様である。ステップS47、S48、S49は、消去動作および書き込み動作が、フラッシュメモリ52A、52B、52Cに対して同時に実行されることを除き、図11のステップS581、S582、S583と同様である。
ステップS47において、アクセス制御部22は、共通のチェックデータの書き込み先であるフラッシュメモリ52A、52B、52Cの共通のアドレスを決定する。チェックデータを書き込むアドレスは、フラッシュメモリ52A、52B、52Cで共通である。なお、アクセス制御部22は、ステップS47において、フラッシュメモリ52A、52B、52Cに書き込む共通のチェックデータの値を決定してもよい。
次に、ステップS48において、アクセス制御部22は、全てのフラッシュメモリ52A、52B、52Cに対して、ステップS47で決定したアドレスを含む領域の消去動作を同時に実行する。フラッシュメモリ52A、52B、52Cの消去動作は、スレーブセレクト信号線SS0、SS1、SS2を同時にロウレベルに設定した状態で、消去コマンドおよび消去アドレスを出力することで同時に実行することができる。
次に、ステップS49において、アクセス制御部22は、全てのフラッシュメモリ52A、52B、52Cに対して、ステップS47で決定した共通のアドレスに共通のチェックデータを同時に書き込む。消去動作と同様に、フラッシュメモリ52A、52B、52Cの書き込み動作は、スレーブセレクト信号線SS0、SS1、SS2を同時にロウレベルに設定した状態で、書き込みコマンドおよび書き込みアドレスを出力することで同時に実行することができる。アクセス制御部22は、ステップS49の動作後、ステップS50を実行する。
図13は、図12のステップS59の動作の一例を示す。図13は、図11からステップS580、S582、S584を除いた処理と同様である。すなわち、アクセス制御部22は、ステップS59において、図11のステップS586、S588、S590と同じ処理を実行する。アクセス制御部22は、ステップS586、S588を実行した後、ステップS590において、同じ値のダミーサイクル数の記録回数がn回に満たない場合、ステップS586を実行する。
パワーオン後の判定モード中に、全てのフラッシュメモリ52A、52B、52Cの消去動作および書き込み動作をそれぞれ同時に実行することで、パワーオン時の起動時間(すなわち、判定モード期間を含むパワーオンシーケンス時間)を短縮することができる。この後、フラッシュメモリ52A、52B、52C毎にチェックデータの読み出し動作を実行することで、チェックデータの読み出しに基づくダミーサイクル数の判定をフラッシュメモリ52A、52B、52C毎に判定することができる。
以上、図8から図13に示す実施形態においても、図1から図6に示す実施形態と同様の効果を得ることができる。例えば、フラッシュメモリ52からのデータの読み出しタイミングに基づいてフラッシュメモリ52に設定されたダミーサイクル数を自動的に判定することができ、判定したダミーサイクル数を使用してフラッシュメモリ52の読み出し動作を実行することができる。故障等によりフラッシュメモリ52を他品種に交換する場合に、ダミーサイクル数を自動的に判定できるため、保守作業を簡素化することができ、フラッシュメモリの選択の自由度を向上することができる。交換用のフラッシュメモリ52のストックを最小限にできるため、保守コストを削減することができる。
さらに、図8から図13に示す実施形態では、以下に示す効果を得ることができる。例えば、複数のフラッシュメモリ52(52A、52B、52C)が共通のシリアル入出力信号線SIOに接続される場合にも、メモリ制御装置12は、各フラッシュメモリ52に設定されたダミーサイクル数を自動的に判定することができる。
判定したダミーサイクル数を、各フラッシュメモリ52に対応するサイクル数保持部32に格納することで、メモリ制御装置12は、各フラッシュメモリ52の読み出し動作を、適切なダミーサイクル数を使用して実行することができる。換言すれば、ダミーサイクル数がフラッシュメモリ52毎に異なる場合にも、メモリ制御装置12は、各フラッシュメモリ52の読み出し動作を、適切なダミーサイクル数を使用して実行することができる。これにより、ダミーサイクル数の仕様が異なる複数のフラッシュメモリ52をシステム102に搭載することが可能になり、システム設計の自由度を向上することができる。
また、判定モードにおいて、全てのフラッシュメモリ52A、52B、52Cの消去動作および書き込み動作をそれぞれ同時に実行することで、パワーオン時の起動時間を短縮することができる。
なお、上述した実施形態は、メモリ制御装置10によりフラッシュメモリ50のアクセスを制御する例を述べた。しかしながら、メモリ制御装置10により、双方向シリアルインタフェースを有する強誘電体メモリ、MRAM(Magnetoresistive Random Access Memory)、ReRAM(Resistive Random Access Memory)等の他のメモリ装置のアクセスを制御してもよい。
以上の詳細な説明により、実施形態の特徴点および利点は明らかになるであろう。これは、特許請求の範囲がその精神および権利範囲を逸脱しない範囲で前述のような実施形態の特徴点および利点にまで及ぶことを意図するものである。また、当該技術分野において通常の知識を有する者であれば、あらゆる改良および変更に容易に想到できるはずである。したがって、発明性を有する実施形態の範囲を前述したものに限定する意図はなく、実施形態に開示された範囲に含まれる適当な改良物および均等物に拠ることも可能である。
10、12 メモリ制御装置
20、22 アクセス制御部
30、32(32A、32B、32C) サイクル数保持部
33(33A、33B、33C) 設定処理済みフラグ
42 管理テーブル
50、52(52A、52B、52C) フラッシュメモリ
60、62(62A、62B、62C) ステータスレジスタ
100、102 システム
202 FPGA
SCLK シリアルクロック信号
SIO(SIO0、SIO1、SIO2、SIO3) シリアル入出力信号
SS(SS0、SS1、SS2、SS3) スレーブセレクト信号線

Claims (6)

  1. 双方向シリアルバスを介して読み出し要求を受信してから所定のダミーサイクル数後に前記双方向シリアルバスに読み出しデータを出力するメモリ装置のアクセスを制御するメモリ制御装置であって、
    前記メモリ装置にチェックデータを書き込み、
    前記メモリ装置に前記チェックデータを読み出す前記読み出し要求を出力し、
    前記読み出し要求から前記チェックデータを受信するまでのサイクル数に基づいて、前記メモリ装置に設定された前記ダミーサイクル数を判定する
    メモリ制御装置。
  2. 前記メモリ装置に設定された前記ダミーサイクル数を保持するサイクル数保持部と、
    通常モード中、前記サイクル数保持部が保持する前記ダミーサイクル数に応じて、前記メモリ装置から出力される読み出しデータの受信タイミングを制御し、判定モード中、前記メモリ装置に前記チェックデータを書き込み、前記メモリ装置から受信する前記チェックデータのサイクル数に基づいて前記メモリ装置に設定された前記ダミーサイクル数を判定し、判定した前記ダミーサイクル数を前記サイクル数保持部に格納するアクセス制御部と
    を有する請求項1に記載のメモリ制御装置。
  3. 前記アクセス制御部は、前記判定モード中、前記サイクル数保持部に"0"のダミーサイクル数を設定した状態で、前記メモリ装置から前記チェックデータを読み出し、前記メモリ装置に設定された前記ダミーサイクル数を判定する
    請求項2に記載のメモリ制御装置。
  4. 前記アクセス制御部は、前記判定モード中、
    前記メモリ装置への前記チェックデータの書き込みと前記メモリ装置からの前記チェックデータの読み出しとを含む判定シーケンスを、前記チェックデータの値および前記チェックデータの書き込み先の少なくともいずれかを変えて複数回実行し、
    値が同じダミーサイクル数を所定の回数判定した場合、判定した前記ダミーサイクル数を前記サイクル数保持部に格納する
    請求項2または請求項3に記載のメモリ制御装置。
  5. 前記アクセス制御部は、前記判定モード中、
    前記双方向シリアルバスに共通に接続される複数の前記メモリ装置に前記チェックデータを同時に書き込み、
    複数の前記メモリ装置から前記チェックデータを順次読み出し、
    複数の前記メモリ装置の各々から読み出した前記チェックデータに基づいて、複数の前記メモリ装置の各々に設定された前記ダミーサイクル数を判定し、前記メモリ装置毎に判定した前記ダミーサイクル数を前記サイクル数保持部に格納する
    請求項2ないし請求項4のいずれか1項に記載のメモリ制御装置。
  6. 双方向シリアルバスを介して読み出し要求を受信してから所定のダミーサイクル数後に前記双方向シリアルバスに読み出しデータを出力するメモリ装置のアクセスを制御するメモリ制御装置の制御方法であって、
    前記メモリ装置にチェックデータを書き込み、
    前記メモリ装置に前記チェックデータを読み出す前記読み出し要求を出力し、
    前記読み出し要求から前記チェックデータを受信するまでのサイクル数に基づいて、前記メモリ装置に設定された前記ダミーサイクル数を判定する
    メモリ制御装置の制御方法。
JP2020069750A 2020-04-08 2020-04-08 メモリ制御装置およびメモリ制御装置の制御方法 Pending JP2021165995A (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2020069750A JP2021165995A (ja) 2020-04-08 2020-04-08 メモリ制御装置およびメモリ制御装置の制御方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2020069750A JP2021165995A (ja) 2020-04-08 2020-04-08 メモリ制御装置およびメモリ制御装置の制御方法

Publications (1)

Publication Number Publication Date
JP2021165995A true JP2021165995A (ja) 2021-10-14

Family

ID=78021861

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2020069750A Pending JP2021165995A (ja) 2020-04-08 2020-04-08 メモリ制御装置およびメモリ制御装置の制御方法

Country Status (1)

Country Link
JP (1) JP2021165995A (ja)

Similar Documents

Publication Publication Date Title
CN110534140B (zh) 存储器装置、存储器系统和存储器装置的操作方法
US7774661B2 (en) Register read mechanism
US11347444B2 (en) Memory device for controlling operations according to different access units of memory
US20020147882A1 (en) Universal serial bus flash memory storage device
CN108958647B (zh) 存储器装置的边读边写访问方法
KR20200060758A (ko) 메모리 어드레싱 방법 및 관련 컨트롤러, 메모리 장치 및 호스트
US9507710B2 (en) Command execution using existing address information
US20050010710A1 (en) Portable storage apparatus and method for freely changing data bus width
US10818328B2 (en) Nonvolatile memory device, operation method of the nonvolatile memory device, and operation method of memory controller controlling the nonvolatile memory device
JP4254932B2 (ja) メモリコントローラ及びフラッシュメモリシステム
CN113342717A (zh) 一种fifo读写控制方法及控制电路
CN116679887B (zh) 用于NAND Flash的通用控制模块及方法
JP4661369B2 (ja) メモリコントローラ
JP2021165995A (ja) メモリ制御装置およびメモリ制御装置の制御方法
JP4936271B2 (ja) 半導体記憶装置
JP4655034B2 (ja) メモリコントローラ及びフラッシュメモリシステム並びにフラッシュメモリの制御方法
JP7006410B2 (ja) 制御装置、画像形成装置および回路装置
JP4640366B2 (ja) メモリコントローラ及びメモリコントローラを備えるフラッシュメモリシステム、並びにフラッシュメモリの制御方法
US11609875B2 (en) Data communication device and data communication module
US11372581B2 (en) Information processing apparatus and control method thereof and program regarding reading a boot program
US11847325B2 (en) Semiconductor integrated apparatus, operating method thereof and data processing apparatus including the same
US20220300436A1 (en) Semiconductor storage device, memory controller, and memory system
CN101882468A (zh) 地址信号传输方法及存储器系统
JP2006331233A (ja) メモリコントローラ、フラッシュメモリシステム及びフラッシュメモリの制御方法
JP2008176606A (ja) メモリコントローラ及びメモリコントローラを備えるフラッシュメモリシステム、並びにフラッシュメモリの制御方法