[go: up one dir, main page]

JP2018156188A - メモリ制御装置、情報処理装置およびメモリ制御方法 - Google Patents

メモリ制御装置、情報処理装置およびメモリ制御方法 Download PDF

Info

Publication number
JP2018156188A
JP2018156188A JP2017050471A JP2017050471A JP2018156188A JP 2018156188 A JP2018156188 A JP 2018156188A JP 2017050471 A JP2017050471 A JP 2017050471A JP 2017050471 A JP2017050471 A JP 2017050471A JP 2018156188 A JP2018156188 A JP 2018156188A
Authority
JP
Japan
Prior art keywords
memory
write
control device
memory control
command
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
JP2017050471A
Other languages
English (en)
Other versions
JP6862951B2 (ja
Inventor
桜井 康智
Yasutomo Sakurai
康智 桜井
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 JP2017050471A priority Critical patent/JP6862951B2/ja
Priority to US15/884,443 priority patent/US10628080B2/en
Publication of JP2018156188A publication Critical patent/JP2018156188A/ja
Application granted granted Critical
Publication of JP6862951B2 publication Critical patent/JP6862951B2/ja
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0628Interfaces specially adapted for storage systems making use of a particular technique
    • G06F3/0655Vertical data movement, i.e. input-output transfer; data movement between one or more hosts and one or more storage devices
    • G06F3/0659Command handling arrangements, e.g. command buffers, queues, command scheduling
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/02Addressing or allocation; Relocation
    • G06F12/0223User address space allocation, e.g. contiguous or non contiguous base addressing
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F13/00Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F13/14Handling requests for interconnection or transfer
    • G06F13/16Handling requests for interconnection or transfer for access to memory bus
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F13/00Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F13/14Handling requests for interconnection or transfer
    • G06F13/16Handling requests for interconnection or transfer for access to memory bus
    • G06F13/1605Handling requests for interconnection or transfer for access to memory bus based on arbitration
    • G06F13/1642Handling requests for interconnection or transfer for access to memory bus based on arbitration with request queuing
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0602Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
    • G06F3/061Improving I/O performance
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0602Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
    • G06F3/0614Improving the reliability of storage systems
    • G06F3/0619Improving the reliability of storage systems in relation to data integrity, e.g. data losses, bit errors
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0668Interfaces specially adapted for storage systems adopting a particular infrastructure
    • G06F3/0671In-line storage system
    • G06F3/0673Single storage device
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0668Interfaces specially adapted for storage systems adopting a particular infrastructure
    • G06F3/0671In-line storage system
    • G06F3/0673Single storage device
    • G06F3/0679Non-volatile semiconductor memory device, e.g. flash memory, one time programmable memory [OTP]

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Human Computer Interaction (AREA)
  • Computer Security & Cryptography (AREA)
  • Techniques For Improving Reliability Of Storages (AREA)
  • Retry When Errors Occur (AREA)
  • Memory System (AREA)
  • For Increasing The Reliability Of Semiconductor Memories (AREA)

Abstract

【課題】メモリへのライト処理の抜けを回避することができるメモリ制御装置、情報処理装置およびメモリ制御方法の提供を図る。
【解決手段】演算装置1からライトコマンドCmdおよびライトデータWdを受け取って、メモリ2に対する書き込みを制御するメモリアクセス制御回路3と、前記ライトコマンドおよび前記ライトデータに基づいて、前記メモリに対する書き込みを複数回行うように制御するライト回数制御回路4と、を有する。
【選択図】図3

Description

この出願で言及する実施例は、メモリ制御装置、情報処理装置およびメモリ制御方法に関する。
近年、システムの開発計画時に想定したメモリトレンドに基づいて製品開発を行う場合、実際にシステムの詳細設計する時には、未だ採用するメモリの仕様が確定せず、特定のケースや特定のタイミングでのメモリ動作が分からないといったリスクがある。
具体的に、最近のHMC(Hybrid Memory Cube)などでは、メモリチップとメモリインタフェース変換部を統合したメモリが開発されているが、例えば、メモリインタフェース変換部は、複雑な論理回路で構成されるため、仕様の確定が遅延することがある。そのため、特定のケースや特定のタイミングにおけるメモリの動作が分からず、或いは、設計時には気づかなくても、製造後の評価段階で仕様が不明確な部分が発覚することもある。
さらに、例えば、メモリの開発遅延により、メモリメーカーでの評価が十分とはいえない場合もある。例えば、HMCなどのメモリチップを積層化して高密度実装するメモリでは、積層化によるクロストークノイズの発生といった新たな障害要因が内在するといった虞もある。
そのような場合に備え、例えば、メモリ制御装置に対して、メモリにおける仕様の不明確部分や出荷前に取り除かれていない障害等に関する様々なリスク回避機能を設け、実際のメモリの挙動に追従できるようにしておくことが求められている。
ところで、従来、演算装置(例えば、MPU(Micro Processing Unit))からのライトコマンド(書き込み命令)およびライトデータ(書き込みデータ)を受け取って、メモリに対する書き込みを制御するメモリ制御装置としては、様々なものが提案されている。
特開平10−149318号公報
上述したように、例えば、HMC等のメモリにおいて、メモリインタフェース変換部の仕様、メモリチップの積層化によるクロストークノイズ、或いは、タイミング問題といった様々な要因により、メモリに対するライト処理が確実に行えない場合が生じ得る。
例えば、リードモディファイライトコマンドは、メモリからデータをリードし、そのデータの一部を置き換えて、再びメモリにライトするためのコマンドであるが、そのリードモディファイライト処理を実行する場合に問題が生じる虞がある。すなわち、リードモディファイライト処理における仕様が不明確、或いは、メモリチップ内,メモリインタフェース変換部またはメモリアクセス制御回路側に起因して、特定のタイミングで置き換える(メモリに書き戻す)データが抜けるといった問題があった。
このようなメモリに対するライトデータの抜けの問題は、HMC等のメモリ、或いは、リードモディファイライトコマンドの実行時に限定されるものではなく、様々なメモリに対するデータライト時にも生じる虞がある。
ところで、従来、ライト処理自体の再実行を行うことはあるが、その場合、演算装置で実現するための特別な回路を設け、或いは、ソフトに処理を追加することになる。また、メモリに対して正しくライトされているかどうかは、例えば、ソフトにより設定されたチェックポイントまでに、ライトしたデータがリードされたときにデータ異常として検出された場合のみ確認可能である。すなわち、メモリにライトしたデータを、直ぐにリードするとは限らないため、ライトが正しく行われなかった場合、いつ、どのライトデータが異常だったのか調べることは、再現性が悪い場合は特に困難であった。
一実施形態によれば、演算装置からライトコマンドおよびライトデータを受け取って、メモリに対する書き込みを制御するメモリアクセス制御回路と、ライト回数制御回路と、を有するメモリ制御装置が提供される。
前記ライト回数制御回路は、前記ライトコマンドおよび前記ライトデータに基づいて、前記メモリに対する書き込みを複数回行うように制御する。
開示のメモリ制御装置、情報処理装置およびメモリ制御方法は、メモリへのライト処理の抜けを回避することができるという効果を奏する。
図1は、情報処理装置の一例を模式的に示すブロック図である。 図2は、図1に示す情報処理装置におけるメモリ制御装置の動作の一例を説明するための図である。 図3は、情報処理装置の第1実施例を模式的に示すブロック図である。 図4は、図3に示すメモリ制御装置の動作の一例を説明するための図である。 図5は、情報処理装置の第2実施例を模式的に示すブロック図である。 図6は、図5に示すメモリ制御装置の動作の一例を説明するための図である。 図7は、情報処理装置の第3実施例を模式的に示すブロック図である。 図8は、図7に示すメモリ制御装置の動作の一例を説明するための図である。 図9は、情報処理装置の第4実施例を模式的に示すブロック図である。 図10は、図9に示すメモリ制御装置の動作の一例を説明するための図である。 図11は、情報処理装置の第5実施例を模式的に示すブロック図である。
まず、メモリ制御装置、情報処理装置およびメモリ制御方法の実施例を詳述する前に、メモリ制御装置の一例およびその課題を、図1および図2を参照して説明する。図1は、情報処理装置の一例を模式的に示すブロック図であり、図2は、図1に示す情報処理装置におけるメモリ制御装置の動作の一例を説明するための図である。
図1に示されるように、情報処理装置は、演算装置(MPU)1,メモリ2およびメモリ制御装置50を含む。ここで、情報処理装置は、他に様々な機能を実現するための内部回路を含む。
メモリ制御装置50は、例えば、演算装置1からのライトコマンド(書き込み命令)Cmdおよびライトデータ(書き込みデータ)Wdを受け取って、メモリ2に対する書き込みを制御する。ここで、メモリ制御装置50は、演算装置1からメモリ2に対する書き込み処理だけでなく、メモリ2からの読み出し処理等も行うが、本明細書では、主として、ライト処理およびリードモディファイライト処理に関して説明する。
メモリ制御装置50は、演算装置1からのコマンドCmdを格納するコマンドキュー(Cmd−Q)54、および、コマンドの有効または無効を示すバリッド信号を格納するバリッドキュー(Valid−Q)53を含む。また、メモリ制御装置50は、コマンドキュー54に格納されたコマンドを選択するコマンド用マルチプレクサ54a、および、バリッドキュー53に格納されたバリッド信号を選択するバリッド信号用マルチプレクサ53aを含む。
さらに、メモリ制御装置50は、演算装置1からのライトデータWdを格納するライトデータキュー(Data−Q)55、メモリ2から読み出したリードデータ(読み出しデータ)Rdを格納するリードデータキュー56、および、アンドゲート57を含む。また、メモリ制御装置50は、ライトデータキュー55に格納されたライトデータを選択するライトデータ用マルチプレクサ55a、および、各マルチプレクサ53a,54aおよび55aにおける先頭のキューを指定するトップオブキュー(TOQ:Top Of Queue)51を含む。
ここで、トップオブキュー51は、例えば、+1ずつインクリメント(52)して、各マルチプレクサ53a,54aおよび55aを制御する。なお、アンドゲート57は、マルチプレクサ53aおよび54aの出力の論理積(アンド)を取ってアクノリッジ(応答信号)Ackを生成し、演算装置1に出力する。また、アクノリッジAckは、トップオブキュー51にも入力される。なお、トップオブキュー51は、アクノリッジAckを受け取って、例えば、インクリメントした信号により各マルチプレクサ53a,54aおよび55aを制御して次の処理を実行する。
図1に示す情報処理装置において、演算装置1からメモリ2に対して書き込み処理(ライト処理)を行う場合、演算装置1からメモリ制御装置50に対して、ライトコマンドCmdおよびライトデータWdが出力される。ここで、図2に示されるように、それぞれキュー54および55に格納(セット)されたライトコマンド(Cmd)およびライトデータ(Wd)は、トップオブキュー51からの信号に基づいてマルチプレクサ54aおよび55aにより選択され、メモリ2に出力される。これにより、メモリ2に対するライト処理が実行され、また、演算装置1に対してアクノリッジ(応答信号)Ackが返され、メモリライト処理が完了する。
なお、前述したように、メモリ2の仕様やノイズ、或いは、タイミング問題といった様々な要因により、メモリ2に対するライト処理を確実に行えない場合が生じ得る。これは、特に、メモリ2がHMCなどの場合、メモリチップの積層化によるクロストークノイズの発生やメモリインタフェース変換部によるタイミング問題が考えられ、また、リードモディファイライトコマンドの実行時に生じ易い。ただし、このようなメモリに対するライトデータの抜けの問題は、HMC等のメモリ、或いは、リードモディファイライトコマンドの実行時に限定されず、様々なメモリに対するデータライト時にも生じる虞があるのは、前述した通りである。
以下、メモリ制御装置、情報処理装置およびメモリ制御方法の実施例を、添付図面を参照して詳述する。図3は、情報処理装置の第1実施例を模式的に示すブロック図であり、図4は、図3に示すメモリ制御装置の動作の一例を説明するための図である。
図3に示されるように、第1実施例の情報処理装置は、演算装置(MPU)1、メモリ2、メモリ制御装置5およびBIOS(Basic Input/Output System:初期設定部)6を含む。メモリ制御装置5は、例えば、演算装置1からのライトコマンドCmdおよびライトデータWdを受け取って、メモリ2に対する書き込みを制御し、メモリアクセス制御回路3およびライト回数制御回路(書き込み回数制御回路)4を含む。なお、情報処理装置は、他に様々な機能を実現するための内部回路を含み、また、メモリ制御装置5は、演算装置1からメモリ2に対する書き込み処理だけでなく、メモリ2からの読み出し処理等も行うのはいうまでもない。
メモリ2は、HMC等を示すもので、メモリインタフェース変換部21、および、積層された複数のメモリチップ(ダイ:DRAMチップ)で形成されたメモリチップ22を含む。なお、前述したように、本実施例の適用は、HMCに限定されるものではなく、様々なメモリに対して幅広く適用することができるのはいうまでもない。これは、後述する他の実施例でも同様である。
メモリアクセス制御回路3は、演算装置1からのライトコマンドCmdを格納するコマンドキュー(Cmd−Q)34、および、コマンドの有効または無効を示すバリッド信号を格納するバリッドキュー(Valid−Q)33を含む。また、メモリアクセス制御回路3は、コマンドキュー34に格納されたコマンドを選択するコマンド用マルチプレクサ34a、および、バリッドキュー33に格納されたバリッド信号を選択するバリッド信号用マルチプレクサ33aを含む。
さらに、メモリアクセス制御回路3は、演算装置1からのライトデータWdを格納するライトデータキュー(Data−Q)35、および、メモリ2から読み出したリードデータRdを格納するリードデータキュー36を含む。また、メモリアクセス制御回路3は、ライトデータキュー35に格納されたライトデータを選択するライトデータ用マルチプレクサ35a、および、各マルチプレクサ33a,34aおよび35aにおける先頭のキューを指定するトップオブキュー(TOQ:Top Of Queue)31を含む。ここで、トップオブキュー31は、例えば、+1ずつインクリメント(32)して、各マルチプレクサ33a,34aおよび35aを制御する。
ライト回数制御回路4は、メモリ2に対する書き込み回数を設定するライト回数設定回路41、および、アンドゲート42を含む。ここで、アンドゲート42は、図1に示すメモリ制御装置50におけるアンドゲート57に対応する。アンドゲート42は、マルチプレクサ33aおよび34aの出力のアンドを取ってアクノリッジ(応答信号)Ackを生成し、演算装置1に出力する。
ライト回数設定回路41は、例えば、BIOS6による初期設定に基づいて、1回のメモリライトコマンドに対して、メモリ2に対する複数回の書き込み回数(ライト回数)を設定する。ライト回数設定回路41は、BIOS6により指定された書き込み回数を設定するレジスタ(num)411、メモリ2に対する書き込み回数をカウントするカウンタ(cnt)414、および、比較器413を含む。ここで、カウンタ414は、メモリ2に対する書き込み処理を実行する毎に、例えば、+1ずつインクリメント(412)する。
比較器413は、カウンタ414の出力(カウント値)がレジスタ411に設定された値に一致したら、トップオブキュー31に対して、指定された回数の書き込み処理を行ったことを示す終了信号Seを出力する。なお、トップオブキュー31は、終了信号Seを受け取って、例えば、インクリメントした信号により各マルチプレクサ33a,34aおよび35aを制御して次の処理を実行する。
図3に示す情報処理装置において、演算装置1からメモリ2に対して書き込み処理をn回行う場合、例えば、BIOS6から書き込み回数nがレジスタ411に設定(num=n)される。すなわち、レジスタ411は、1回のメモリライトコマンドに対して何回メモリライトを行うかを設定するレジスタである。このレジスタ411は、例えば、出荷前の評価時に、評価者により設定されるもので、BIOS6等から設定することができる。ただし、書き込み回数nの設定は、BIOS6に限定されず、例えば、他の回路による初期設定として行うこともできる。
演算装置1は、メモリ制御装置5(メモリアクセス制御回路3)に対して、ライトコマンドCmdおよびライトデータWdを出力する。それぞれキュー34および35に格納されたライトコマンドCmdおよびライトデータWdは、トップオブキュー31からの信号に基づいてマルチプレクサ34aおよび35aにより選択され、メモリ2に出力される。ここで、マルチプレクサ34aおよび35aの出力は、継続的に出力されてn回の書き込み処理に使用される。
トップオブキュー31によりメモリライト指示が選択されると、例えば、メモリインタフェース変換部21に対してメモリライト指示を行うことで、メモリチップ22にライトが行われる。その場合、メモリインタフェース変換部21に対してメモリライト指示される度に、カウンタ414のカウント値(cnt)が+1インクリメントされる。そして、カウント値がレジスタ411の設定値(num)になるまでの回数分、メモリインタフェース変換部21の内蔵メモリに対して同じメモリライト指示が行われる。
すなわち、図4に示されるように、1回目の書き込み処理(ライト実行1)が行われると、カウンタ414の出力は+1インクリメントされて『1』になり、2回目の書き込み処理(ライト実行2)が行われると、さらに、+1インクリメントされて『2』になる。そして、n回目の書き込み処理(ライト実行n)が行われると、カウンタ414の出力(cnt=n)はレジスタ411に設定された値(num=n)に一致し、比較器413は、終了信号Seを出力する。
ここで、図4に示されるように、第1実施例の情報処理装置(メモリ制御装置5)において、アンドゲート42の出力であるアクノリッジAckは、1回目(最初)の書き込み処理が行われるタイミングで生成され、演算装置1およびメモリ2に出力される。
具体的に、例えば、BIOS6により初期設定としてnum=4が設定されていると、4回メモリライト指示が行われる。なお、メモリライト処理は、突き放し処理ができるため、演算装置1への応答(Ack)は、1回目のメモリライト指示で行うことができる。
このように、第1実施例の情報処理装置(メモリ制御装置5)によれば、メモリへのライト処理の抜けを回避することができ、例えば、障害時の早期切り分けやシステムの信頼性を向上させることが可能になる。なお、上記障害時の早期切り分けやシステムの信頼性向上は、演算装置の回路変更やソフト処理を追加することなく、実現することができる。この効果は、第1実施例だけではなく、後述する第2〜第5実施例でも同様である。
図5は、情報処理装置の第2実施例を模式的に示すブロック図であり、図6は、図5に示すメモリ制御装置の動作の一例を説明するための図である。図5と、上述した図3の比較から明らかなように、第2実施例の情報処理装置では、アンドゲート43が追加されている。そして、演算装置1に対するアクノリッジ(応答信号)Ackを、アンドゲート42の出力ではなく、バリッド信号用マルチプレクサ33aの出力と比較器413の出力のアンドを取るアンドゲート43の出力としている。
すなわち、図6に示されるように、アンドゲート43の出力であるアクノリッジAckは、最初(1回目)の書き込み処理が行われるタイミングではなく、最後(n回目)の書き込み処理が行われるタイミングで生成され、演算装置1に出力される。換言すると、演算装置1に対するアクノリッジAckは、メモリインタフェース変換部21への最後のライト指示が行われた時に行うようになっている。なお、メモリライト処理は、突き放し処理ができるが、より安全な動作を行わせるために、演算装置1への応答(Ack)を、n回目(最後)のメモリライト指示で行うようになっている。
図7は、情報処理装置の第3実施例を模式的に示すブロック図であり、図8は、図7に示すメモリ制御装置の動作の一例を説明するための図である。図7と、上述した図5の比較から明らかなように、第3実施例の情報処理装置では、マルチプレクサ44、アンドゲート45、比較器46およびタイミング調整部47が追加されている。ここで、アンドゲート45、比較器46およびタイミング調整部47は、一致判定回路を形成している。
マルチプレクサ44は、メモリ2に対して、コマンドキュー34(コマンド用マルチプレクサ34a)からのライトコマンドとリードコマンド(Read Cmd)を選択して出力するもので、比較器413の出力により制御される。比較器46は、メモリ2に対するライトデータMwdとメモリ2からのリードデータMrdを比較し、一致したら高レベル『H』を出力する。アンドゲート45は、比較器46の出力と、比較器413の出力を遅延するタイミング調整部47の出力を受け取り、両方とも『H』の時に、『H』の一致信号(match)を演算装置1に出力する。
図8に示されるように、第3実施例の情報処理装置は、メモリ2に対するライトデータMwdと、n回書き込み処理を行ってメモリ2から読み出したリードデータMrdを比較し、その比較結果(match)を演算装置1に出力するようになっている。これにより、演算装置1は、例えば、ライトが正しく行われなかった場合はその時点で異常を検知することが可能になる。
図9は、情報処理装置の第4実施例を模式的に示すブロック図であり、図10は、図9に示すメモリ制御装置の動作の一例を説明するための図である。図9と、前述した図5の比較から明らかなように、第4実施例の情報処理装置は、分割書き込み制御回路48が追加されている。この分割書き込み制御回路48は、例えば、ライトデータWdを上位半分ライトデータWd1および下位半分ライトデータWd2に分割し、その分割されたライトデータWd1,Wd2に基づいて、メモリ2に対する複数回の書き込みを行う。ここで、複数回書き込む回数nは偶数とされ、例えば、ライトデータWdを2つの部分ライトデータWd1,Wd2に分割した場合、ライトデータWdとしては、n/2回だけ書き込みが行われることになる。
分割書き込み制御回路48は、最下位ビット検出部481、分割ライト処理部482、および、マルチプレクサ(選択回路)483,484を含む。最下位ビット検出部481は、カウンタ414の最下位ビットに基づいて、上位半分ライトデータWd1および下位半分ライトデータWd2を判定してマルチプレクサ483を制御する。分割ライト処理部482は、マルチプレクサ483の出力とアンドゲート42の出力を切り替えるマルチプレクサ484を制御して、メモリ2に出力する。
図10に示されるように、第4実施例の情報処理装置において、ライトデータWd(例えば、32バイト)は、上位16バイトの上位半分ライトデータWd1と、下位16バイトの下位半分ライトデータWd2に分割される。そして、メモリ2に対して、上位半分および下位半分のライトデータWd1,Wd2が、交互に複数回書き込まれることになる。なお、ライトデータWdを分割する数は、2に限定されるものではなく、複数であってもよいのはもちろんである。
図11は、情報処理装置の第5実施例を模式的に示すブロック図である。図11と、前述した図5の比較から明らかなように、第5実施例の情報処理装置は、1回のライトコマンドに対して複数回の書き込み処理を実行するコマンドを設定する対象コマンド設定回路49が追加されている。対象コマンド設定回路49は、比較器491、アンドゲート492,493、オアゲート494および対象設定部495を含む。なお、比較器491の出力を受け取るアンドゲート493の一方の入力は、反転入力とされている。
対象設定部495は、例えば、BIOS6の初期設定により、上述した1回のライトコマンドで複数回の書き込み処理を行う対象となるコマンドが設定される。比較器491は、対象設定部495の出力とコマンド用マルチプレクサ34aの出力を比較し、処理を行う対象となるコマンドの場合は、ライト回数設定回路41等を用いた複数回の書き込み処理を行うようにする。なお、対象設定部495の出力とコマンド用マルチプレクサ34aの出力が一致しない場合には、通常の書き込み処理(1回の書き込み処理)を行う。なお、図11に示す対象コマンド設定回路49は、単なる例であり、様々な変形および変更が可能なのはいうまでもない。
このように、第5実施例の情報処理装置(メモリ制御装置5)は、全てのコマンドに対してではなく、例えば、BIOSによる初期設定として対象設定部495に予め設定された所定のコマンドに対してのみ処理を行うようになっている。例えば、1回のライトコマンドに対して複数回のメモリライトを行うことは、性能への影響があるため、通常は出荷前の評価時に、メモリライトが正しく行われない問題により評価が進まない場合等に限定して行うことができる。或いは、全てのライトコマンドに対して行うのではなく、最小限のコマンドに対してだけ行うことができる。これにより、性能への影響を最小限に留めつつ、正しくライト処理を行うことが可能になる。
上述したように、各実施例によれば、メモリ制御装置5に対してメモリ2に対する書き込み(ライト)指示が行われた場合、1回のライト指示に対して、メモリへの書き込み処理を複数回行うことができる。ここで、メモリへのライトは、同じアドレスおよびデータで何回実行しても問題になることはない。また、複数回同じライトを実行することで、仮に、何らかの理由でライトが抜けた場合においても、1回でもライトできていれば、ライト処理としては正常になる。
しかしながら、1回のライト指示に対して、メモリ2へは複数回ライトを行うことになるため、メモリライトは突き放し処理を行うとはいえ、データキューが枯渇した場合には、性能に影響が発生する。そのため、例えば、出荷前の評価時に、何らかの理由でライトが抜けたことにより評価が進まないことがあった場合等において、BIOS等からの初期設定により機能を有効にできるようにするのが好ましい。また、メモリ制御装置5(ライト回数制御回路4)に対して、ライトデータとリードデータの比較を行う手段を設けることにより、ライトデータが正常かどうかをメモリライト直後に判断することもでき、ライトデータが異常だった場合の調査が容易になる。さらに、評価完了後に問題が発覚して、出荷までに対処できないような問題が発生した場合には、例えば、最小限のコマンドに対してのみ上記対策を行うことも可能である。
以上、実施形態を説明したが、ここに記載したすべての例や条件は、発明および技術に適用する発明の概念の理解を助ける目的で記載されたものであり、特に記載された例や条件は発明の範囲を制限することを意図するものではない。また、明細書のそのような記載は、発明の利点および欠点を示すものでもない。発明の実施形態を詳細に記載したが、各種の変更、置き換え、変形が発明の精神および範囲を逸脱することなく行えることが理解されるべきである。
1 演算装置
2 メモリ
3 メモリアクセス制御回路
4 ライト回数制御回路
5,50 メモリ制御装置
21 メモリインタフェー変換部
22 メモリチップ
41 ライト回数設定回路
48 分割書き込み制御回路

Claims (15)

  1. 演算装置からライトコマンドおよびライトデータを受け取って、メモリに対する書き込みを制御するメモリアクセス制御回路と、
    前記ライトコマンドおよび前記ライトデータに基づいて、前記メモリに対する書き込みを複数回行うように制御するライト回数制御回路と、を有する、
    ことを特徴とするメモリ制御装置。
  2. 前記ライト回数制御回路は、
    前記メモリに対する書き込み回数を設定するライト回数設定回路を含み、
    1回の前記ライトコマンドに対して、前記ライト回数設定回路に設定された回数だけ、前記メモリに対する書き込み処理を繰り返し行う、
    ことを特徴とする請求項1に記載のメモリ制御装置。
  3. 前記ライト回数設定回路は、
    BIOSによる初期設定に基づいて、前記メモリに対する書き込み回数を設定するレジスタと、
    前記メモリに対する書き込み回数をカウントするカウンタと、
    前記レジスタの出力と前記カウンタの出力を比較する比較器と、を含み、
    前記メモリアクセス制御回路は、前記比較器の出力に基づいて次の処理を実行する、
    ことを特徴とする請求項2に記載のメモリ制御装置。
  4. 前記ライト回数制御回路は、
    前記メモリに書き込むための書き込みデータと、複数回書き込みを行った前記メモリから読み出した読み出しデータを比較し、前記演算装置に対して一致信号を出力する一致判定回路を含む、
    ことを特徴とする請求項2または請求項3に記載のメモリ制御装置。
  5. 前記ライト回数制御回路は、
    前記メモリに対する複数回の書き込みにおける最初の書き込み処理に基づいて、アクノリッジを前記演算装置に返すか、或いは、
    前記メモリに対する複数回の書き込みにおける最後の書き込み処理に基づいて、前記アクノリッジを前記演算装置に返すかを選択する、
    ことを特徴とする請求項1乃至請求項4のいずれか1項に記載のメモリ制御装置。
  6. 前記ライト回数制御回路は、
    前記ライトデータを複数の部分ライトデータに分割し、分割された複数の前記部分ライトデータに基づいて、前記メモリに対する複数回の書き込みを行うように制御する分割書き込み制御回路を含む、
    ことを特徴とする請求項1乃至請求項5のいずれか1項に記載のメモリ制御装置。
  7. 前記メモリアクセス制御回路は、
    前記ライトコマンドを格納するコマンドキューと、
    前記ライトデータを格納するライトデータキューと、
    前記コマンドキューのバリッドフラグを格納するバリッドキューと、
    前記コマンドキュー,前記ライトデータキューおよび前記バリッドキューの先頭を示すトップオブキューと、
    前記メモリから読み出されたデータを格納するリードデータキューと、を含む、
    ことを特徴とする請求項1乃至請求項6のいずれか1項に記載のメモリ制御装置。
  8. 前記ライト回数制御回路は、
    予め設定された所定のコマンドに対して、前記メモリに対して複数回書き込みを行うように制御する対象コマンド設定回路を含む、
    ことを特徴とする請求項1乃至請求項7のいずれか1項に記載のメモリ制御装置。
  9. 前記所定のコマンドは、リードモディファイライトコマンドであり、
    前記メモリは、ハイブリッドメモリキューブ等の積層化されたメモリである、
    ことを特徴とする請求項8に記載のメモリ制御装置。
  10. 請求項1乃至請求項9のいずれか1項に記載のメモリ制御装置と、
    前記演算装置と、
    前記メモリと、を有する、
    ことを特徴とする情報処理装置。
  11. 演算装置からライトコマンドおよびライトデータを受け取って、メモリに対する書き込みを制御するメモリ制御方法であって、
    前記ライトコマンドおよび前記ライトデータに基づいて、前記メモリに対する書き込みを複数回行う、
    ことを特徴とするメモリ制御方法。
  12. 前記メモリに対する書き込み回数は、BIOSによる初期設定に基づいて設定される、
    ことを特徴とする請求項11に記載のメモリ制御方法。
  13. 前記演算装置に対して、
    前記メモリに対する複数回の書き込みにおける最初の書き込み処理に基づいてアクノリッジを返すか、或いは、
    前記メモリに対する複数回の書き込みにおける最後の書き込み処理に基づいて前記アクノリッジを返すかを選択可能になっている、
    ことを特徴とする請求項11または請求項12に記載のメモリ制御方法。
  14. 前記ライトデータを複数の部分ライトデータに分割し、分割された複数の前記部分ライトデータに基づいて、前記メモリに対する複数回の書き込みを行う、
    ことを特徴とする請求項11乃至請求項13のいずれか1項に記載のメモリ制御方法。
  15. 前記メモリに対する複数回の書き込み処理は、評価時に行い、実際の使用時には行わない、
    ことを特徴とする請求項11乃至請求項14のいずれか1項に記載のメモリ制御方法。
JP2017050471A 2017-03-15 2017-03-15 メモリ制御装置、情報処理装置およびメモリ制御方法 Expired - Fee Related JP6862951B2 (ja)

Priority Applications (2)

Application Number Priority Date Filing Date Title
JP2017050471A JP6862951B2 (ja) 2017-03-15 2017-03-15 メモリ制御装置、情報処理装置およびメモリ制御方法
US15/884,443 US10628080B2 (en) 2017-03-15 2018-01-31 Memory controller, information processor, and memory control method

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2017050471A JP6862951B2 (ja) 2017-03-15 2017-03-15 メモリ制御装置、情報処理装置およびメモリ制御方法

Publications (2)

Publication Number Publication Date
JP2018156188A true JP2018156188A (ja) 2018-10-04
JP6862951B2 JP6862951B2 (ja) 2021-04-21

Family

ID=63520021

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2017050471A Expired - Fee Related JP6862951B2 (ja) 2017-03-15 2017-03-15 メモリ制御装置、情報処理装置およびメモリ制御方法

Country Status (2)

Country Link
US (1) US10628080B2 (ja)
JP (1) JP6862951B2 (ja)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP6862951B2 (ja) * 2017-03-15 2021-04-21 富士通株式会社 メモリ制御装置、情報処理装置およびメモリ制御方法

Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH0714392A (ja) * 1993-06-14 1995-01-17 Toshiba Corp 不揮発性半導体メモリおよびそれを使用した半導体ディスク装置
JP2004038341A (ja) * 2002-06-28 2004-02-05 Fujitsu Ltd 記憶制御装置およびデータ格納方法
US20040165445A1 (en) * 2003-02-21 2004-08-26 Matsushita Electric Industrial Co., Ltd. Semiconductor nonvolatile storage device
US20090034340A1 (en) * 2007-07-30 2009-02-05 Kenji Misumi Non-volatile memory control device
US20140068203A1 (en) * 2012-08-29 2014-03-06 Jong Pil Son Memory device for reducing a write fail, a system including the same, and a method thereof
WO2016076043A1 (ja) * 2014-11-10 2016-05-19 ソニー株式会社 インターフェース回路、記憶装置、情報処理システム、および、インターフェース回路の制御方法

Family Cites Families (28)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP3178909B2 (ja) * 1992-01-10 2001-06-25 株式会社東芝 半導体メモリ装置
JP3036442B2 (ja) 1996-11-19 2000-04-24 日本電気株式会社 メモリ監視方式
US6490642B1 (en) * 1999-08-12 2002-12-03 Mips Technologies, Inc. Locked read/write on separate address/data bus using write barrier
US6324624B1 (en) * 1999-12-28 2001-11-27 Intel Corporation Read lock miss control and queue management
WO2001061503A1 (en) * 2000-02-16 2001-08-23 Fujitsu Limited Nonvolatile memory
ATE392496T1 (de) * 2000-07-12 2008-05-15 The University Of New Hampshir Verfahren zur polarisierung nuklearer spezies
TW519663B (en) * 2001-05-15 2003-02-01 Via Tech Inc Memory control device and method
US6697926B2 (en) * 2001-06-06 2004-02-24 Micron Technology, Inc. Method and apparatus for determining actual write latency and accurately aligning the start of data capture with the arrival of data at a memory device
JP4175991B2 (ja) * 2003-10-15 2008-11-05 株式会社東芝 不揮発性半導体記憶装置
JP4113166B2 (ja) * 2004-07-20 2008-07-09 株式会社東芝 半導体記憶装置
US7577811B2 (en) * 2006-07-26 2009-08-18 International Business Machines Corporation Memory controller for daisy chained self timed memory chips
JP4945187B2 (ja) * 2006-07-31 2012-06-06 株式会社東芝 半導体記憶装置
US8725975B2 (en) * 2007-01-03 2014-05-13 Freescale Semiconductor, Inc. Progressive memory initialization with waitpoints
KR101470975B1 (ko) * 2007-12-21 2014-12-09 램버스 인코포레이티드 메모리 시스템 내 기록 타이밍을 교정하기 위한 방법 및 장치
US8320067B1 (en) * 2010-05-18 2012-11-27 Western Digital Technologies, Inc. Refresh operations using write/read commands
CN103339615B (zh) * 2011-01-28 2016-03-09 日本电气株式会社 存储系统和信息处理方法
US9552175B2 (en) * 2011-02-08 2017-01-24 Diablo Technologies Inc. System and method for providing a command buffer in a memory system
KR20140027859A (ko) * 2012-08-27 2014-03-07 삼성전자주식회사 호스트 장치 및 이를 포함하는 시스템
JP5853973B2 (ja) * 2013-03-07 2016-02-09 ソニー株式会社 記憶制御装置、記憶装置、情報処理システムおよび記憶制御方法
CN104750426B (zh) * 2013-12-30 2018-08-14 杭州华为数字技术有限公司 向存储介质写数据的方法和装置
JP2016167326A (ja) * 2015-03-09 2016-09-15 ルネサスエレクトロニクス株式会社 半導体記憶装置
US9495987B1 (en) * 2015-05-01 2016-11-15 Seagate Technology Llc Noise mitigation for write precompensation tuning
US9871674B2 (en) * 2015-09-30 2018-01-16 International Business Machines Corporation Bridging between differing communication buses
KR20170060739A (ko) * 2015-11-25 2017-06-02 삼성전자주식회사 반도체 메모리 장치 및 이를 포함하는 메모리 시스템
US9672882B1 (en) * 2016-03-29 2017-06-06 Apple Inc. Conditional reference voltage calibration of a memory system in data transmisson
US10528267B2 (en) * 2016-11-11 2020-01-07 Sandisk Technologies Llc Command queue for storage operations
US9911478B1 (en) * 2017-01-24 2018-03-06 Ikanos Communications, Inc. Method and apparatus for auto-calibration of delay settings of memory interfaces
JP6862951B2 (ja) * 2017-03-15 2021-04-21 富士通株式会社 メモリ制御装置、情報処理装置およびメモリ制御方法

Patent Citations (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH0714392A (ja) * 1993-06-14 1995-01-17 Toshiba Corp 不揮発性半導体メモリおよびそれを使用した半導体ディスク装置
JP2004038341A (ja) * 2002-06-28 2004-02-05 Fujitsu Ltd 記憶制御装置およびデータ格納方法
US20040165445A1 (en) * 2003-02-21 2004-08-26 Matsushita Electric Industrial Co., Ltd. Semiconductor nonvolatile storage device
JP2004253093A (ja) * 2003-02-21 2004-09-09 Matsushita Electric Ind Co Ltd 半導体不揮発性記憶装置
US20090034340A1 (en) * 2007-07-30 2009-02-05 Kenji Misumi Non-volatile memory control device
JP2009032349A (ja) * 2007-07-30 2009-02-12 Panasonic Corp 不揮発性メモリ制御システム
US20140068203A1 (en) * 2012-08-29 2014-03-06 Jong Pil Son Memory device for reducing a write fail, a system including the same, and a method thereof
JP2014049135A (ja) * 2012-08-29 2014-03-17 Samsung Electronics Co Ltd 書き込みフェイルを減らすメモリ装置、それを含むメモリシステム及びその書き込み方法
WO2016076043A1 (ja) * 2014-11-10 2016-05-19 ソニー株式会社 インターフェース回路、記憶装置、情報処理システム、および、インターフェース回路の制御方法

Also Published As

Publication number Publication date
US10628080B2 (en) 2020-04-21
JP6862951B2 (ja) 2021-04-21
US20180267745A1 (en) 2018-09-20

Similar Documents

Publication Publication Date Title
US10042700B2 (en) Integral post package repair
US11507443B2 (en) Memory fault map for an accelerated neural network
JP6130594B2 (ja) 信頼性の高い動作に適したメモリコントローラを有するデータプロセッサ及び方法
US8527836B2 (en) Rank-specific cyclic redundancy check
US20170123892A1 (en) Parity check circuit and memory device including the same
US20090287867A1 (en) Bus signal control circuit and signal processing circuit having bus signal control circuit
US20130305000A1 (en) Signal processing circuit
JP2018156188A (ja) メモリ制御装置、情報処理装置およびメモリ制御方法
US20160372211A1 (en) Error detection apparatus for a semiconductor memory device
US11550681B2 (en) System and method for error injection in system-on-chip
JP5510107B2 (ja) エラー訂正試験方法
KR20130102398A (ko) 반도체 메모리 장치의 병렬 비트 테스트 회로
JP2006252267A (ja) システム検証用回路
US10192634B2 (en) Wire order testing method and associated apparatus
TWI733964B (zh) 記憶體整體測試之系統及其方法
US9760508B2 (en) Control apparatus, computer system, control method and storage medium
JP2005078632A (ja) メモリをテストするシステムおよび方法
EP3553662A1 (en) Intergral post package repair
US8644098B2 (en) Dynamic random access memory address line test technique
JP2009009270A (ja) 論理検証装置、論理検証方法
US10108374B2 (en) Memory controller for performing write transaction with stall when write buffer is full and abort when transaction spans page boundary
JP5888177B2 (ja) 演算処理装置及び演算処理装置の制御方法
US8473705B2 (en) Memory access apparatus
JP7497582B2 (ja) 情報処理装置,試験プログラムおよび試験方法
TWI715331B (zh) 記憶體系統之控制方法

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20191212

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20201008

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20201020

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20201201

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

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20210315

R150 Certificate of patent or registration of utility model

Ref document number: 6862951

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

LAPS Cancellation because of no payment of annual fees