JP2010009383A - メモリ装置、および情報処理システム - Google Patents

メモリ装置、および情報処理システム Download PDF

Info

Publication number
JP2010009383A
JP2010009383A JP2008168970A JP2008168970A JP2010009383A JP 2010009383 A JP2010009383 A JP 2010009383A JP 2008168970 A JP2008168970 A JP 2008168970A JP 2008168970 A JP2008168970 A JP 2008168970A JP 2010009383 A JP2010009383 A JP 2010009383A
Authority
JP
Japan
Prior art keywords
data
error correction
memory device
unit
error
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
JP2008168970A
Other languages
English (en)
Inventor
Hiroyuki Sudo
弘之 須藤
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 JP2008168970A priority Critical patent/JP2010009383A/ja
Priority to US12/475,160 priority patent/US20090327833A1/en
Publication of JP2010009383A publication Critical patent/JP2010009383A/ja
Pending legal-status Critical Current

Links

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/08Error detection or correction by redundancy in data representation, e.g. by using checking codes
    • G06F11/10Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's
    • G06F11/1008Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's in individual solid state devices
    • G06F11/1048Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's in individual solid state devices using arrangements adapted for a specific error detection or correction feature
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C29/00Checking stores for correct operation ; Subsequent repair; Testing stores during standby or offline operation
    • G11C29/04Detection or location of defective memory elements, e.g. cell constructio details, timing of test signals
    • G11C2029/0411Online error correction

Abstract

【課題】本発明の目的はコントローラから半導体メモリへのデータの書き込みにおいて、データの書き込み効率を向上させることである。
【解決手段】上記の課題を解決するため、データを記憶する記憶部を有するメモリ装置は、データを入力する第一端子と、該データのエラーレートよりエラーレートが低いエラー訂正符号を入力する第二端子と、該第一端子と該第二端子から入力された該データと該エラー訂正符号とを一時記憶し、該データのエラー訂正を行うエラー訂正部と、該エラー訂正部によりエラー訂正された該データを該記憶部に記憶させる制御部とを有する。
【選択図】図3

Description

本発明は、データを記憶させる情報処理システムに関する。
データを一時的に記憶する揮発性のメモリ装置や不揮発性のメモリ装置が多様な用途で利用されている。揮発性のメモリ装置として典型的なものはダイナミックランダムアクセスメモリ(Dynamic Random Access Memory:DRAM)であり、またスタティックランダムアクセスメモリ(Static Random Access Memory:SRAM)などもこの範疇に入る。また、不揮発性のメモリ装置として典型的なものはフラッシュメモリであり、またマグネットレジスティブラム(Magnetoresistive RAM:MRAM)などもこの範疇に入る。
メモリ装置はセントラル プロセッシング ユニット(Central Processing Unit:CPU)などのコントローラとの間でデータの転送処理を行いメモリ装置にデータを記憶させる情報処理システムを形成する。メモリ装置とコントローラとの間のデータ転送速度は年々高速化している。データ転送速度の高速化に伴いデータの電圧振幅は小さく設定される。電圧振幅が小さくなると転送されるデータは他の装置からの電磁波ノイズの影響を受けやすくなる。このためコントローラからメモリ装置へデータを書き込む場合にメモリ装置に書き込まれたデータがエラーとなる確率が高くなる。
データエラーが発生した場合、メモリ装置でこれを検知できれば、メモリ装置はコントローラにエラーの発生を通知することが出来る。エラー発生通知を受けたコントローラは再度同一データをメモリ装置に書き込むことでメモリ装置に正しいデータを記憶させることが出来る。以下の特許文献1および2には、データ受信装置とデータバスとの間に確認回路を設け、パリティビットをデータと共に転送することによりデータエラーの発生箇所を特定する技術が開示されている。
メモリ装置でエラーが検知されると、コントローラはメモリ装置に正しいデータを記憶させるため同一データを再度メモリ装置に書き込む。コントローラはメモリ装置からエラー通知を受けなくなるまでメモリ装置に同一データを何度も書き込む場合もある。このようなコントローラからメモリ装置への処理は書き込みデータ量の増大につながる。書き込みデータ量の増大はコントローラからメモリ装置へのデータの書き込み効率低下の原因となる。
特開2001−14728号公報 特開2002−351689号公報
本発明の目的はコントローラからメモリ装置へのデータの書き込みにおいて、データの書き込み効率を向上させることである。
上記の課題を解決するため、データを記憶する記憶部を有するメモリ装置は、データを入力する第一端子と、該データのエラーレートよりエラーレートが低いエラー訂正符号を入力する第二端子と、該第一端子と該第二端子から入力された該データと該エラー訂正符号とを一時記憶し、該データのエラー訂正を行うエラー訂正部と、該エラー訂正部によりエラー訂正された該データを該記憶部に記憶させる制御部とを有する。
実施形態によれば、コントローラからメモリ装置にデータを書き込む場合、メモリ装置でデータのエラー訂正を行うことができる。コントローラはメモリ装置からエラー通知を受けなくなるまでメモリ装置に同一データを何度も書き込む必要がなくなる。すなわちコントローラからメモリ装置への書き込みデータ量を減らすことが出来る。これによりコントローラからメモリ装置へのデータの書き込みにおいて、データの書き込み効率を向上させることができ、しいてはメモリ装置の寿命が延び、メモリ装置への正確なデータの書き込みを実現することが出来る。
以下、本発明の実施の形態について説明する。なお、以下の実施例はプロセッサによるプログラムの処理でも実現可能である。
[情報処理システム]
以下に、図1と図2を用いて情報処理システムの実施形態を説明する。
図1はコントローラ100がメモリ装置102へデータを書き込む場合の情報処理システム図である。コントローラ100は第一制御部150を有する。第一制御部150はコントローラ100のデータ送受信動作を制御する。メモリ装置102は第二制御部160を有する。第二制御部160はメモリ装置102のデータ送受信動作を制御する。第一制御部150は第二制御部160にクロック110、コマンド信号112、およびアドレス信号114を送信する。
ここでメモリ装置には揮発性のものと不揮発性のものとの両方が含まれる。揮発性のメモリ装置として典型的なものはダイナミックランダムアクセスメモリ(Dynamic Random Access Memory:DRAM)であり、またスタティックランダムアクセスメモリ(Static Random Access Memory:SRAM)などもこの範疇に入る。また、不揮発性のメモリ装置として典型的なものはフラッシュメモリであり、またマグネットレジスティブラム(Magnetoresistive RAM:MRAM)などもこの範疇に入る。
クロック110により第一制御部150と第二制御部160とは同一クロックで動作する。コマンド信号112により第一制御部150はデータの書き込み動作への切り替え、書き込みデータを記憶するアドレスを指定するためのアドレス信号114の読み込みタイミングなどの情報を第二制御部160に通知する。アドレス信号114により第一制御部150は書き込みたいデータを記憶するアドレス情報を第二制御部160に通知する。
コントローラ100の第一書き込み処理部154はメモリ装置102の第二書き込み処理部164にデータ118およびデータ118から生成したエラーコレクティングコード(ERROR CORRECTING CODE:ECC)120を送信する。ここでECC120はデータ118のエラー訂正を行うためのエラー訂正符号である。ECC120はデータ118のエラー訂正処理に用いられる。
第二書き込み処理部164は受信したECC120を用いてデータ118のエラー訂正処理を行う。第二書き込み処理部164はエラー訂正処理後、受信したECC120を削除することもできる。第二制御部160はエラー訂正処理後のデータ118を記憶部166における通知されたアドレスに記憶する。一方、第二書き込み処理部164はエラー訂正処理によりデータ118のエラー訂正が出来なかった場合、その旨を第二制御部160に通知する。第二制御部160はメモリ装置102の第二書き込み処理部164にエラー通知信号を出力するよう指示する。
第二書き込み処理部164はコントローラ100の第一読み出し処理部152にエラー通知信号116を送信する。第一読み出し処理部152は第一制御部150にエラー通知信号116を受信したことを通知する。第一制御部150は第一書き込み処理部154に再度データ118を送るよう通知する。第一書き込み処理部154は第一制御部150の通知を受け再度第二書き込み処理部164にデータ118およびECC120を送信する。
以上、メモリ装置102はエラー訂正処理によりコントローラ100とメモリ装置102との間のデータ転送レートを低下させることなく、メモリ装置へ102の正確なデータの書き込みを実現することが出来る。またメモリ装置102は記憶部166にECC120を削除したデータ118のみを記憶することにより、データの記憶領域を拡大することが出来る。またECC120を記憶部166に記憶しておき、データ118の読み出し時にECC120を用いてエラー訂正処理することもできる。記憶したECCを用いることにより記憶部166に記憶中にエラーが生じたデータ118をエラー訂正することが出来る。
図2はコントローラ100がメモリ装置102からデータを読み出す場合の情報処理システム図である。第一制御部150は第二制御部160にクロック110、コマンド信号112、およびアドレス信号114を送信する。
コマンド信号112により第一制御部150はデータの読み出し動作への切り替え、読み出しデータが記憶されたアドレスを指定するアドレス信号114の読み込みタイミングなどの情報を第二制御部160に通知する。アドレス信号114により第一制御部150は読み出したいデータを記憶するアドレス情報を第二制御部160に通知する。
第二制御部160はアドレス信号114に基づいて記憶部166からデータ218を読み出し、第二読み出し処理部162へ送る。第二読み出し処理部162は読み出したデータ218に基づいてECC220を生成し、データ218およびECC220をコントローラ100の第一読み出し処理部152へ送信する。
第一読み出し処理部152は受信したECC220を用いてデータ218のエラー訂正処理を行う。第一読み出し処理部152はエラー訂正後、受信したECC220を削除し、エラー訂正後のデータのみをコントローラ100の内部回路に転送することができる。
一方、第一読み出し処理部152はエラー訂正処理によりデータ218のエラー訂正が出来なかった場合、その旨を第一制御部150に通知する。第一制御部150はコントローラ100の第一書き込み処理部154にエラー通知信号を出力するよう指示する。
第一書き込み処理部154はメモリ装置102の第二書き込み処理部164にエラー通知信号216を送信する。第二書き込み処理部164は第二制御部160にエラー通知信号216を受信したことを通知する。第二制御部160は第二読み出し処理部162に再度データ218を送るよう通知する。第二読み出し処理部162は通知を受け再度第一読み出し処理部152にデータ218およびECC220を送信する。
以上、メモリ装置102は記憶部166にデータのみを記憶しておき、データの読み出し時にECC220を生成し出力する。これによりデータの記憶領域を拡大し、かつメモリ装置102から読み出されるデータの信頼性をあげることが出来る。またメモリ装置102はエラー訂正処理によりコントローラ100とメモリ装置102との間のデータ転送レートを低下させることなく、メモリ装置へ102の正確なデータの書き込みを実現することが出来る。
[メモリブロック図]
図3はメモリ装置102の詳細なブロック図である。メモリ装置102は第二制御部160、第二読み出し処理部162、第二書き込み処理部164、および記憶部166を有する。
メモリ装置102のデータ書き込み動作の詳細について以下に説明する。コマンド信号112に基づいて第二制御部160はメモリ装置102をデータ書き込みモードにする。第二制御部160はアドレス信号114により指定された記憶部166のアドレスを書き込み可能にする。
第二書き込み処理部164は受信部324、ファイフォ(First In First Out:FIFO)322、およびエラー訂正部320を有する。FIFOはバッファの一種であり、FIFOに入力されたデータをクロック110のタイミングで古い順に出力する。受信部324はデータ118およびライトデータストローブ信号(Write DQS:WDQS)を受信する。データ118は端子1に、WDQSは端子2にそれぞれ入力される。WDQSはデータ118の書き込み時にデータとともに受信され、データ118を取り込むタイミングを調整するデータストローブ信号として用いられる。データ118を受信していないタイミングにおいてデータストローブ信号は不要なので、通常コントローラ100におけるWDQSの出力はハイインピーダンスに固定されている。
受信部324はデータ118を受信する前にWDQSを用いて動作通知信号を受信する。動作通知信号はエラー訂正部320におけるエラー訂正処理を有効にするための信号である。受信部324は動作通知信号を受けたことを要求信号342によって第二制御部160に通知する。第二制御部160は要求信号342を受けてエラー訂正部320をECCチェック動作状態にする。また、後述のとおりメモリ装置102の電源投入時において、ECC動作を無効にすることも出来る。このような動作モードであっても、動作通知信号を受信することにより一時的にECC処理を有効にすることが出来る。これにより、ある特定のデータをメモリ装置102に書き込む場合などにそのデータの信頼性を向上させることが出来る。
受信部324はWDQSで送信されたデータストローブ信号に同期してデータ118を読み込む。本実施例においてデータ118の特定のビット長であるバースト長は8ビットであるとするが、他のバースト長であっても良い。データ118の受信が完了し一定時間経過後、受信部324はWDQSによりECC120を受信する。データ118の受信完了からECC120を受信するまでの時間は後述のとおりコマンド信号112およびアドレス信号114により設定される。これにより受信部324はECC120を受信することが可能となる。
受信部324が受信するWDQSは差動配線により伝送される。差動配線は差動信号を伝送する配線である。差動信号は電磁波ノイズなどの外来ノイズの影響を受けにくいため、データ118よりもエラー発生率が低い。コントローラ100はECC120をWDQSによって送信することによりECC120を外来ノイズから保護することが出来る。これによりメモリ装置102はエラー訂正の正確性を高めることが出来る。またWDQSを伝送する差動配線と異なり、データ118を伝送する配線よりもエラー発生率の低い信号が伝播する差動配線などによりコントローラ100からメモリ装置102へECC120を送信しても良い。この場合コントローラ100はデータストローブ信号の有無にかかわらずECC120をデータ118と同時にメモリ装置へ送信することも出来る。これによりメモリ装置102へのデータ書き込み効率をさらに向上させることが出来る。
受信部324は受信したデータ118およびECC120をFIFO322に送信する。FIFO322はクロック110に同期してデータ118およびECC120をエラー訂正部320に送信する。
エラー訂正部320は受信したデータ118およびECC120を一時記憶する。エラー訂正部320は一時記憶したデータ118から参照用エラー訂正符号を生成する。エラー訂正部320は参照用エラー訂正符号とECC120とを比較する。比較した結果両者が一致していれば、エラー訂正部320はデータ118にエラーはないと判定することが出来る。比較した結果両者が異なっていればエラー訂正部320はデータ118にエラーがあると判定することが出来る。エラーがあると判定した場合、エラー訂正部320はECC120を用いてデータ118のエラー訂正処理を行う。
エラー訂正処理が成功した場合、エラー訂正部320は記憶部166にエラー訂正後のデータ118を送信する。メモリ装置102はエラー訂正処理によりコントローラ100とメモリ装置102との間のデータ転送レートを低下させることなく、メモリ装置へ102の正確なデータの書き込みを実現することが出来る。
エラー訂正処理が失敗した場合、エラー訂正部320はその旨をエラー検出信号344によって第二制御部160へ通知する。第二制御部160はエラーが訂正できなかったことをコントローラ100に通知するため、リードデータストローブ信号(Read DQS:RDQS)生成部302に対し生成信号340を送信する。RDQS生成部302は生成信号340を受けてエラー通知信号116を生成し送信部310に送信する。送信部310はRDQSによりエラー通知信号116をコントローラ100へ送信する。エラー通知信号116を受信したコントローラ100は再度データ118をメモリ装置102に送信する。これにより、メモリ装置102に正常なデータ118を記憶させることができる。
ECC120のビット数を多くするほどエラー訂正可能なデータ118のエラービット数は多くなるが、コントローラ100からメモリ装置102へECC120を送信する時間が長くなる。本実施例においてECC120は2ビットとする。データ118のビット長は前述のとおり8ビットなので、2ビットのECC120により1ビットのエラー訂正および2ビットのエラー検出が可能となる。
エラー訂正処理終了後、第二制御部160はエラー訂正部320に一時記憶されたECC120を削除しデータ118のみを記憶部166に記憶させても良い。記憶部166にデータ118のみを記憶することにより、メモリ装置102はECC120を併せて記憶する場合に比べてより多くのデータを記憶することが出来る。また、エラー訂正処理終了後、ECC120をデータ118と共に記憶部166に記憶しても良い。データ118の読み出し時に記憶したECC118を用いてエラー訂正することにより、記憶部166に記憶中にデータ118に発生したエラーを訂正することが出来る。これによりデータ118の信頼性をさらに向上させることが出来る。
メモリ装置102のデータ読み出し動作の詳細について以下に説明する。コマンド信号112に基づいて第二制御部160はメモリ装置102をデータ読み出しモードにする。第二制御部160はアドレス信号114により指定された記憶部166のアドレスを読み出し可能にする。
第二読み出し処理部162は送信部310、バス幅調整部308、符号生成部304、RDQS生成部302、およびディレイロックドループ(Delay Locked Loop:DLL)306を有する。DLLはクロック110と送信部310から出力されるデータ218との同期を調整する。
送信部310はデータ218およびリードデータストローブ信号(Read DQS:RDQS)を出力とする。データ218は端子3から、RDQSは端子4からそれぞれ出力される。RDQSはデータ218の読み出し時にデータ218と共に送信され、データ218をコントローラ100で取り込むタイミングを調整するデータストローブ信号として用いられる。データ218を送信していないタイミングにおいてデータストローブ信号は不要なので、通常メモリ装置102におけるRDQSの出力はハイインピーダンスに固定されている。
第二制御部160はデータ218とともにECC220をコントローラ100へ送信する場合は生成信号340をRDQS生成部302に送信する。RDQS生成部302は動作通知信号を生成し送信部310に送信する。送信部310はRDQSとして動作通知信号をコントローラ100に送信する。
RDQSは差動配線により伝送される。差動配線は電磁波ノイズなどの外来ノイズの影響を受けにくい。メモリ装置102はECC220をRDQSとして伝送することによりECC220の信頼性を高めることが出来る。これによりコントローラ100はエラー訂正の正確性を高めることが出来る。またWDQSを伝送する差動配線と異なり、データ118を伝送する配線よりもエラー発生率の低い配線によりコントローラ100からメモリ装置102へECC120を送信しても良い。コントローラ100はデータストローブ信号の有無にかかわらずECC120をデータ118と同時にメモリ装置へ送信することも出来る。これによりメモリ装置102へのデータ書き込み効率をさらに向上させることが出来る。
バス幅調整部308はラッチ回路とマルチプレクサを有しており、記憶部166から読み出したデータ218をあらかじめ設定されたデータのバス幅に調整する。バス幅調整部308はデータ218を送信部310に送信すると共に符号生成部304に送信する。符号生成部304はデータ218に基づいてECC220を生成し送信部310に送信する。送信部310はデータ218およびECC220をコントローラ100に送信する。
コントローラ100はエラー訂正処理に失敗した場合、再度メモリ装置102に対し同一データを送信するように要求しても良い。これによりコントローラ100はメモリ装置102から正常なデータを読み出せる確率を高めることが出来る。
以上の通り、コントローラからメモリ装置にデータを書き込む場合、メモリ装置でデータのエラー訂正を行うことができる。コントローラはメモリ装置からエラー通知を受けなくなるまでメモリ装置に同一データを何度も書き込む必要がなくなる。すなわちコントローラからメモリ装置への書き込みデータ量を減らすことが出来る。これによりコントローラからメモリ装置へのデータの書き込みにおいて、データの書き込み効率を向上させることができ、しいてはメモリ装置の寿命が延び、メモリ装置への正確なデータの書き込みを実現することが出来る。
[コントローラブロック図]
図4はコントローラ100の詳細なブロック図である。コントローラ100は第一制御部150、第一読み出し処理部152、第一書き込み処理部154、および内部回路156を有する。クロック生成部420はクロック110を生成する。クロック110はコントローラ100の外部から供給しても良い。
メモリ装置102へのデータ書き込み動作の詳細について以下に説明する。第一制御部150はコマンド信号112を送信しメモリ装置102をデータ書き込みモードにする。第一制御部150はアドレス信号114によりデータ118を書き込むアドレスを指定する。
第一書き込み処理部154は送信部418、FIFO416、符号生成部414、WDQS生成部412、およびDLL410を有する。送信部418はデータ118およびWDQSを出力とする。
コントローラ100はデータ118を送信する前にWDQSを用いて動作通知信号を送信する。データ118は端子5から、WDQSは端子6からそれぞれ出力される。第一制御部150はWDQS412に対し生成信号430を送る。WDQS生成部412は動作通知信号を生成し送信部418に送る。送信部418は動作通知信号をWDQSとしてメモリ装置102に送信する。
動作通知信号を送信後、第一書き込み処理部154はECC120およびデータ118をメモリ装置102に送信する。第一書き込み処理部154において、FIFO416は内部回路156から送信されたデータ118のタイミングをクロック110に同期させ送信部418に送信する。符号生成部414はデータ118からECC120を生成し送信部418に送信する。送信部418はDLL410で位相調整されたタイミングに従いデータ118およびECC120をメモリ装置102に送信する。
メモリ装置102はデータ118のエラー訂正処理に失敗した場合、エラー通知信号116を受信部400に送信する。受信部400は要求信号432を第一制御部150に送る。第一制御部150は要求信号432を受けると内部回路156に対し再度同一データ118を送信するよう要求する。メモリ装置102は再度同一データ118を受信することにより、正しいデータ118を記憶することが出来る。
メモリ装置102からのデータの読み出し動作の詳細について以下に説明する。第一制御部150はコマンド信号112を送信しメモリ装置102をデータ読み出しモードにする。また第一制御部150は読み出し対象のデータ218をアドレス信号114により指定する。
第一読み出し処理部152は受信部400、FIFO402、およびエラー訂正部404を有する。受信部400はデータ218およびRDQSを入力とする。データ218は端子7に、RDQSは端子8にそれぞれ入力される。
受信部400は動作通知信号を受けたことを第一制御部150に通知する。第一制御部150はエラー訂正部404をECCチェック動作状態にする。
受信部400はRDQSで送信されたデータストローブ信号に同期してデータ218を読み込む。データ218の受信が完了し一定時間経過後、受信部400はWDQSによりECC220を受信する。データ218の受信完了からECC220を受信するまでの時間は後述のとおりコマンド信号112およびアドレス信号114により設定される。これにより受信部400はECC120を受信することが可能となる。また、RDQSは差動配線により伝送される。差動配線は電磁波ノイズなどの外来ノイズの影響を受けにくい。ECC220をRDQSによって伝送することによりECC220を外来ノイズから保護することが出来る。これによりコントローラ100はエラー訂正の正確性を高めることが出来る。
受信部400は受信したデータ218およびECC220をFIFO402に送信する。FIFO402はクロック110に同期してデータ218およびECC220をエラー訂正部404に送信する。エラー訂正部404は受信したECC220を用いてデータ218のエラー訂正を行う。本実施例においてECC220は2ビットとする。データ218のビット長は前述のとおり8ビットなので、エラー訂正部404は2ビットのECC220により1ビットのエラー訂正および2ビットのエラー検出が可能となる。
エラー訂正処理が成功すると、エラー訂正部404は内部回路156にエラー訂正後のデータ218を送信する。エラー訂正処理終了後、ECC220は削除してもよい。
エラー訂正処理が失敗した場合、エラー訂正部404はその旨をエラー検出信号434によって第一制御部150へ通知する。第一制御部150はエラーが訂正できなかったことをメモリ装置102に通知するため、WDQS生成部412に対し生成信号430を送信する。WDQS生成部412は生成信号430を受けてエラー通知信号216を生成し送信部418に送信する。送信部418はWDQSによりエラー通知信号216をメモリ装置102へ送信する。エラー通知信号216を受信したメモリ装置102は再度データ218をコントローラ100に送信する。これにより、メモリ装置102はコントローラ100が正常なデータ218を受信する確率を高めることが出来る。
[タイムチャート]
図5はコントローラ100からメモリ装置102へデータを書き込む場合のタイムチャート図である。波形500はクロック110を表す。波形502はコマンド信号112を表す。波形502において、‘Write’コマンドはメモリ装置102をデータ書き込み許可状態にする。波形504はWDQSを表す。波形504において、‘ECC’信号はコントローラ100からメモリ装置102に送信される動作通知信号である。
波形506においてDQ0〜DQ7はメモリ装置102に書き込まれる8ビットのデータ118である。データ118の受信終了からT1時間後、メモリ装置102はECC0、ECC1を受信する。ECC0、ECC1はデータ118のエラー訂正符号であるECC120である。
波形508はメモリ装置102でエラー検出された場合のRDQSを表す。波形508においてECC受信からT2時間後のパルス波形はエラー通知信号116である。これに対し波形510はメモリ装置102でエラーが検出されない場合のRDQSを表す。エラーが検出されない場合、波形510の通りECC受信からT2時間後にパルス波形は発生しない。
時間T1、T2はコントローラ100の起動時にコントローラ100からメモリ装置102に送信するコマンド信号112およびアドレス信号114によりメモリ装置102に設定する。これによりメモリ装置102はWDQSからECC120を取得することが出来、コントローラ100はRDQSからエラー通知信号116を取得することが出来る。時間T1、T2の設定方法については後述する。
図6はコントローラ100がメモリ装置102からデータを読み出す場合のタイムチャート図である。波形600はクロック110を表す。波形602はコマンド信号112を表す。波形602において、‘Read’コマンドはメモリ装置102をデータ読み出し許可状態にする。波形604はRDQSを表す。波形604において、‘ECC’信号はメモリ装置102からコントローラ100に送信される動作通知信号である。
波形606においてDQ0〜DQ7はメモリ装置102から読み出す8ビットのデータ218である。データ218の送信終了からT3時間後、メモリ装置102はECC0、ECC1を送信する。ECC0、ECC1はデータ218のエラー訂正符号であるECC220である。
波形608はコントローラ100でエラー検出された場合のWDQSを表す。波形608においてECC220の送信からT4時間後のパルス波形はエラー通知信号216である。これに対し波形610はコントローラ100でエラーが検出されない場合のRDQSを表す。エラーが検出されない場合、波形610のとおりECC220の送信からT4時間後にパルス波形は発生しない。
時間T3、T4はコントローラ100の起動時にコントローラ100からメモリ装置102に送信するコマンド信号112およびアドレス信号114によりメモリ装置102に設定する。これによりコントローラ100はRDQSからECC220を取得することが出来、メモリ装置102はWDQSからエラー通知信号216を取得することが出来る。時間T3、T4の設定方法については後述する。
図7は時間T1、T2、T3、およびT4を設定する場合にコントローラ100からメモリ装置102へ送信するコマンド信号112およびアドレス信号114のタイムチャート図である。
波形700はクロック110を表す。波形702はコマンド信号112を表す。波形702において‘MRS’コマンドはメモリ装置102の動作モードを設定するためのコマンドである。‘MRS’コマンドのビット列の内容によってメモリ装置102に設定される動作モードの種類が異なる。本実施例では‘MRS’コマンドによりモードEMRS3を設定する。
波形704はアドレス信号114を表す。波形704において‘Code’コマンドは‘MRS’コマンドで設定された動作モードに対応するビット列である。ビット列の並び方によって、時間T1〜T4の長さを設定することが出来る。
図8は動作モードを設定するコマンドの内容を表すテーブル図である。図8のAは‘MRS’コマンドおよび‘Code’コマンドである。BA0〜BA2は‘MRS’コマンドのビット列を表す。A0〜A12は‘Code’コマンドのビット列を表す。‘Code’コマンドにおいて、A9、A8は時間T3の長さを決める。A7、A6は時間T4の長さを決める。A4、A3は時間T1の長さを決める。A2、A1は時間T2の長さを決める。図8のBはA9、A8の値と時間T3の長さとの関係を表すテーブルである。図8のCはA7、A6の値と時間T4の長さとの関係を表すテーブルである。図8のDはA4、A3と時間T1の長さとの関係を表すテーブルである。図8のEはA2、A1と時間T2の長さとの関係を表すテーブルである。B〜Eのテーブルの書式は同じであるので、Bのテーブルについて詳細に説明し、他のテーブルの説明を省略する。
図8のBにおいて列800はA9の値を表す。列802はA8の値を表す。列804はA9およびA8の値により決まる時間T3の長さを表す。時間の長さはクロック110のクロック数で表す。例えば列800でA9の値が‘0’、列802でA8の値が‘1’に設定された場合、時間T3の長さは1すなわちクロック1周期分の長さとなる。同様に時間T4、T1、およびT2についてもC、D、およびEに基づいて時間の長さを設定することが出来る。
図8のFにおいて列806はA0の値を表す。列808はA0の値に対応するメモリ装置102の動作モードを表す。A0が‘0’の場合、メモリ装置102はECCが無効、すなわち書き込みデータに対応するECCデータがないものとしてデータの書き込み処理を行う。A0が‘1’の場合、メモリ装置102はECCが有効、すなわち書き込みデータに対応するECCデータがあるものとしてデータの書き込み処理を行う。A0によりメモリ装置102の動作モードを電源投入時に設定することができ、WDQS504によりメモリに送信する動作通知信号を不要とすることが出来る。これによりメモリ装置102へのデータの書き込み速度を向上させることが出来る。
[メモリの動作フローチャート]
図9はコントローラ100からメモリ装置102へのデータ書き込み処理におけるメモリ装置102の動作フローチャート図である。電源が投入されるとメモリ装置102の第二制御部160はコントローラ100から受信したコマンド信号112に従いECC処理を有効にするか等の動作モードを設定する(S100)。第二制御部160はコントローラ100から受信したアドレス信号114に従い記憶部166の特定のアドレスをアクセス可能状態にする(S102)。第二制御部160はコマンド信号112により書き込み命令を受けると記憶部166を書き込みモードに設定する(S104)。
受信部324は動作通知信号を受信した場合(S106、YES)、データを受信するとともに第二制御部160へECC処理をする旨の要求信号342を送信する(S110)。エラー訂正部320は受信したデータに基づいてECCを計算する(S112)。また受信部324はECCデータを受信し、エラー訂正部320へ送信する(S114)。エラー訂正部320は受信したデータに基づいて生成したECCと受信したECCとを比較しエラー検出処理を行う(S116)。
エラー検出処理の結果エラーがあった場合(S118、YES)、そのエラーが訂正可能であれば(S120、YES)エラー訂正部320はデータのエラー訂正処理を行い、記憶部166にエラー訂正後のデータを送信する(S122)。エラー訂正後、エラー訂正部320はECCを削除する(S130)。第二制御部160は次のコマンド信号112およびアドレス信号114を受信するまで待機状態となる。ステップS130において、エラー訂正部320はECCを削除せずにデータと共に記憶部166に送信しても良い。
エラー検出処理の結果エラーがあった場合(S118、YES)、そのエラーが訂正不可能であれば(S120、NO)エラー訂正部320はエラー検出信号を第二制御部160に送信する(S124)。第二制御部160はRDQS生成部302に生成信号340を送信する。RDQS生成部302はエラー通知信号を送信部310に送信する。送信部310はRDQS信号によりエラー通知信号をコントローラ100に送信する。エラー訂正部320はエラー訂正できなかったデータを削除する(S126)。またエラー訂正部320は受信したECCを削除する(S130)。
エラー検出処理の結果エラーがなかった場合(S118、NO)、エラー訂正部320はECCを削除すると共にデータを記憶部166に送信する(S130)。
受信部324は動作通知信号を受信しない場合(S106、NO)、データを受信する(S107)。動作モードの設定においてECC処理を有効にしている場合(S108、YES)、エラー訂正部320はECCの計算を行う(S112)。メモリ装置102の動作モード設定時にECC処理を有効にしておくことにより、エラー訂正部320は動作通知信号によらずECC処理が可能となる。これにより動作通知信号が不要になりデータの書き込み処理速度を向上させることが出来る。また動作モード設定時にECC処理を無効にしていても、動作通知信号をもちいることで特定のデータのみに対してECC処理を実行することも可能となる。動作モードの設定においてECC処理を無効にしている場合(S108、NO)、エラー訂正部320はECC処理を行うことなく受信したデータを記憶部166に送信する。
図10はコントローラ100がメモリ装置102からデータを読み出す場合のメモリ装置102の処理を説明するフローチャート図である。電源が投入されるとメモリ装置102の第二制御部160はコントローラ100から受信したコマンド信号112に従いECC処理を有効にするか等の動作モードを設定する(S200)。第二制御部160はコントローラ100から受信したアドレス信号114に従い記憶部166の特定のアドレスをアクセス可能状態にする(S202)。第二制御部160はコマンド信号112により読み出し命令を受けると記憶部166を読み出しモードに設定する(S204)。
動作モードの設定においてECC処理を有効にしている場合(S206、YES)、符号生成部304は記憶部166から読み出されバス幅調整部308から出力されたデータに基づいてECCの計算を行う(S212)。送信部310は生成したECC220をコントローラ100へ送信する(S214)。また送信部310はデータ218をコントローラ100へ送信する(S218)。データの書き込み時にデータと共にECCを記憶部166に記憶している場合、符号生成部304は読み出したデータに対し記憶部166に記憶していたECCを用いてエラー訂正処理をすることもできる(S212)。
動作モードの設定においてECC処理を無効にしている場合であっても(S206、NO)、動作通知信号を出力したい場合(S216,YES)、第二制御部160はRDQS生成部302に生成信号340を送信する。また符合生成部304はECC220の計算をおこない(S212)、ECC220をコントローラへ送信する(S214)。送信部310は生成したECC220をコントローラ100へ送信する(S214)。また送信部310はデータ218をコントローラ100へ送信する(S218)。動作通知信号を出力しない場合(S216、NO)、送信部310は記憶部166から受信したデータ218をコントローラ100へ送信する(S218)。
メモリ装置102の動作モード設定時にECC処理を有効にしておくことにより、動作通知信号によらずECC処理が可能となる。これにより動作通知信号が不要になりデータの読み出し処理速度を向上させることが出来る。また動作モード設定時にECC処理を無効にしていても、動作通知信号を出力することにより特定のデータのみに対してコントローラ100でのECC処理を実行することも可能となる。
[コントローラの動作フローチャート]
図11はコントローラ100からメモリ装置102へのデータ書き込み処理を説明するコントローラ100の動作フローチャート図である。コントローラ100の第一制御部150はメモリ装置102に対しECC処理を有効にするか等の動作モードを設定するためのコマンド信号112を送信する(S300)。第一制御部150はメモリ装置102に対しデータを書き込むアドレスを指定するアドレス信号114を送信する(S302)。第一制御部150はコマンド信号112によりメモリ装置102に書き込み命令を送信しメモリ装置102を書き込みモードに設定する(S304)。
動作モードの設定においてメモリ装置102でのECC処理を有効にしている場合(S306、YES)、符号生成部414は内部回路156から読み出されたデータに基づいてECCの計算を行う(S312)。送信部418は生成したECC120をメモリ装置102へ送信する(S314)。また送信部418はデータ118をメモリ装置102へ送信する(S318)。
動作モードの設定においてECC処理を無効にしている場合であっても(S306、NO)、動作通知信号を出力したい場合(S316,YES)、第一制御部150はWDQS生成部412に生成信号430を送信する。また符合生成部414はECC120の計算をおこない(S312)、ECC120をコントローラへ送信する(S314)。送信部418は生成したECC120をメモリ装置102へ送信する(S314)。また送信部418はデータ118をメモリ装置102へ送信する(S318)。動作通知信号を出力しない場合(S316、NO)、送信部418は内部回路156から受信したデータ118をメモリ装置102へ送信する(S318)。
メモリ装置102の動作モード設定時にECC処理を有効にしておくことにより、メモリ装置102は動作通知信号によらずECC処理が可能となる。これにより動作通知信号が不要になりメモリ装置102からのデータの読み出し処理速度を向上させることが出来る。また動作モード設定時にECC処理を無効にしていても、動作通知信号を出力することにより特定のデータのみに対してメモリ装置102でのECC処理を実行することも可能となる。
図12はメモリ装置102からコントローラ100へのデータ読み出し処理を説明するコントローラ100の動作フローチャート図である。コントローラ100の第一制御部150はECC処理を有効にするか等の動作モードを設定するコマンド信号112をメモリ装置102に送信する(S400)。第一制御部150は読み出したいデータが記憶されたメモリ装置102のアドレスを指定するアドレス信号114を送信する(S402)。第一制御部150はメモリ装置102にコマンド信号112により読み出し命令を送信し、メモリ装置102を読み出しモードに設定する(S404)。
受信部400は動作通知信号を受信した場合(S406、YES)、データを受信するとともに第一制御部150へECC処理をする旨の要求信号432を送信する(S410)。エラー訂正部404は受信したデータに基づいてECCを計算する(S412)。また受信部400はECCデータを受信し、エラー訂正部404へ送信する(S414)。エラー訂正部404は受信したデータに基づいて生成したECCと受信したECCとを比較しエラー検出処理を行う(S416)。
エラー検出処理の結果エラーがあった場合(S418、YES)、そのエラーが訂正可能であれば(S420、YES)エラー訂正部404はデータのエラー訂正処理を行い、内部回路156にエラー訂正後のデータを送信する(S422)。エラー訂正後、エラー訂正部404はECCを削除する(S430)。第一制御部150は次の読み出し命令を送信するまで待機状態となる。
エラー検出処理の結果エラーがあった場合(S418、YES)、そのエラーが訂正不可能であれば(S420、NO)エラー訂正部404はエラー検出信号を第一制御部150に送信する(S424)。これにより第一制御部150はエラーが訂正できなかったことを確認することが出来る。この場合、第一制御部150は再度メモリ装置102に対し読み出し命令を送ってもよい。エラー訂正部404はエラー訂正できなかったデータを削除する(S426)。またエラー訂正部404は受信したECCを削除する(S430)。
エラー検出処理の結果エラーがなかった場合(S418、NO)、エラー訂正部404はECCを削除すると共にデータを内部回路156に送信する(S430)。
受信部400は動作通知信号を受信しない場合(S406、NO)、データを受信する(S407)。動作モードの設定においてECC処理を有効にしている場合(S408、YES)、エラー訂正部404はECCの計算を行う(S412)。
メモリ装置102の動作モード設定時にECC処理を有効にしておくことにより、メモリ装置102は動作通知信号によらずECC処理が可能となる。この結果動作通知信号が不要になりデータの書き込み処理速度を向上させることが出来る。また動作モード設定時にECC処理を無効にしていても、メモリ装置102は動作通知信号をもちいることで特定のデータのみに対してコントローラ100にECC処理を実行させることも可能となる。動作モードの設定においてECC処理を無効にしている場合(S408、NO)、エラー訂正部404はECC処理を行うことなく受信したデータを内部回路156に送信する。
メモリ装置へのデータ書き込みを表す情報処理システム図 メモリ装置からのデータ読み出しを表す情報処理システム図 メモリ装置のブロック図 コントローラのブロック図 メモリ装置へのデータ書き込みを表すタイムチャート図 メモリ装置からのデータ読み出しを表すタイムチャート図 メモリ装置に送信するコマンドおよびアドレスのタイムチャート図 メモリの動作モードを設定するコマンドの内容を表すテーブル図 メモリ装置へのデータ書き込みにおけるメモリ装置の動作フローチャート図 メモリ装置からのデータ読み出しにおけるメモリ装置の動作フローチャート図 メモリ装置へのデータ書き込みにおけるコントローラの動作フローチャート図 メモリ装置からのデータ読み出しにおけるコントローラの動作フローチャート図
符号の説明
100 コントローラ
102 メモリ装置
110 クロック
112 コマンド信号
114 アドレス信号
116、216 エラー通知信号
118、218 データ
120、220 ECC
150 第一制御部
152 第一読み出し処理部
154 第一書き込み処理部
160 第二制御部
162 第二読み出し処理部
164 第二書き込み処理部
166 記憶部
320 エラー訂正部
324 受信部
302 RDQS生成部
304 符号生成部
308 バス幅調整部
310 送信部
320 エラー訂正部
324 受信部
340 生成信号
342 要求信号
344 エラー検出信号
156 内部回路
400 受信部
404 エラー訂正部
412 WDQS生成部
414 符号生成部
418 送信部
420 クロック生成部
432 要求信号
434 エラー検出信号
430 生成信号

Claims (9)

  1. データを記憶する記憶部を有するメモリ装置において、
    データを入力する第一端子と、
    該データのエラーレートよりエラーレートが低いエラー訂正符号を入力する第二端子と、
    該第一端子と該第二端子から入力された該データと該エラー訂正符号とを一時記憶し、該データのエラー訂正を行うエラー訂正部と、
    該エラー訂正部によりエラー訂正された該データを該記憶部に記憶させる制御部と
    を有することを特徴とするメモリ装置。
  2. 該エラー訂正部は該データをエラー訂正した後に該エラー訂正部に一時記憶した該エラー訂正符号を削除することを特徴とする請求項1に記載のメモリ装置。
  3. 該第二端子は該エラー訂正符号と異なるタイミングで該データの受信タイミングを通知するストローブ信号を入力する端子であることを特徴とする請求項1に記載のメモリ装置。
  4. 該第二端子は該エラー訂正符号を差動信号として入力する端子であることを特徴とする請求項1に記載のメモリ装置。
  5. 該エラー訂正部は受信した該データから生成した参照用エラー訂正符号と受信した該エラー訂正符号とを比較することを特徴とする請求項1に記載のメモリ装置。
  6. 該データの送信元へ該データの状況を通知する生成部をさらに有し、
    該エラー訂正部は該参照用エラー訂正符号と該エラー訂正符号との不一致を検出した場合にはエラー検出信号を該制御部に送信し、
    該制御部は該エラー検出信号を該エラー訂正部から受信した場合に該生成部から該データの送信元へ該データの状況を通知させることを特徴とする請求項5に記載のメモリ装置。
  7. 該エラー訂正部は該データの送信元から送信された動作通知信号に基づいてエラー訂正処理を有効にすることを特徴とする、請求項1に記載のメモリ装置。
  8. 該制御部がデータの読み出し命令に応じて該記憶部から該データを読み出す際に、該データをエラー訂正するエラー訂正符号を生成する符号生成部をさらに有することを特徴とする請求項1に記載のメモリ装置。
  9. データを記憶させる情報処理システムにおいて、
    データと該データのエラー訂正符号を出力するコントローラと、
    該コントローラからの該データが入力される第一端子と、該コントローラからの情報伝搬において該データのエラーレートよりエラーレートが低いエラー訂正符号が入力される第二端子と、該データを記憶する記憶部と、該第一端子と該第二端子から入力された該データと該エラー訂正符号とを一時記憶し該データのエラー訂正を行うエラー訂正部と、該エラー訂正部によりエラー訂正された該データを該記憶部に記憶させる制御部とを備えたメモリ装置を有することを特徴とする情報処理システム。
JP2008168970A 2008-06-27 2008-06-27 メモリ装置、および情報処理システム Pending JP2010009383A (ja)

Priority Applications (2)

Application Number Priority Date Filing Date Title
JP2008168970A JP2010009383A (ja) 2008-06-27 2008-06-27 メモリ装置、および情報処理システム
US12/475,160 US20090327833A1 (en) 2008-06-27 2009-05-29 Memory device

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2008168970A JP2010009383A (ja) 2008-06-27 2008-06-27 メモリ装置、および情報処理システム

Publications (1)

Publication Number Publication Date
JP2010009383A true JP2010009383A (ja) 2010-01-14

Family

ID=41449078

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2008168970A Pending JP2010009383A (ja) 2008-06-27 2008-06-27 メモリ装置、および情報処理システム

Country Status (2)

Country Link
US (1) US20090327833A1 (ja)
JP (1) JP2010009383A (ja)

Families Citing this family (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP4865016B2 (ja) * 2009-08-27 2012-02-01 株式会社東芝 プロセッサ
US8201024B2 (en) * 2010-05-17 2012-06-12 Microsoft Corporation Managing memory faults
WO2013032663A2 (en) 2011-09-01 2013-03-07 Rambus Inc. Variable code rate transmission
US9032244B2 (en) 2012-11-16 2015-05-12 Microsoft Technology Licensing, Llc Memory segment remapping to address fragmentation
KR102025340B1 (ko) 2012-11-27 2019-09-25 삼성전자 주식회사 불휘발성 메모리를 포함하는 반도체 메모리 장치, 이를 포함하는 캐쉬 메모리 및 컴퓨터 시스템

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2002351689A (ja) * 2001-05-30 2002-12-06 Nec Corp データ転送システム

Also Published As

Publication number Publication date
US20090327833A1 (en) 2009-12-31

Similar Documents

Publication Publication Date Title
US11579965B2 (en) Memory error detection
KR102002925B1 (ko) 메모리 모듈, 그것을 포함하는 메모리 시스템, 그것의 구동 방법
US7051264B2 (en) Error correcting memory and method of operating same
US7299400B2 (en) Error correction circuit
JP4936746B2 (ja) 半導体装置
US8832391B2 (en) Semiconductor device, controller associated therewith, system including the same, and methods of operation
US10922170B2 (en) Memory module including a volatile memory device, memory system including the memory module and methods of operating a multi-module memory device
US20070061669A1 (en) Method, device and system for detecting error correction defects
US9239753B2 (en) DRAM address protection
US20060069948A1 (en) Error detecting memory module and method
US20070050695A1 (en) Error correction code transformation technique
KR20130012737A (ko) 반도체 메모리 장치 및 이를 포함하는 반도체 시스템
JP2010009383A (ja) メモリ装置、および情報処理システム
US8510632B2 (en) Control method for a semiconductor memory device
US10062452B2 (en) Semiconductor memory device and operating method thereof
CN114664366A (zh) 存储器装置以及其读取方法
KR20160017922A (ko) 반도체 메모리 장치
TWI756971B (zh) 記憶體裝置以及其讀取方法
US11275650B2 (en) Systems and methods for performing a write pattern in memory devices
US11322219B2 (en) Memory system, integrated circuit system, and operation method of memory system
KR20180031857A (ko) 메모리 셀의 에러 확인 기능을 갖는 메모리 장치 및 이를 포함하는 메모리 모듈
JP2003059290A5 (ja)
TWI358735B (en) Memory access control method
US10790011B2 (en) Address and command generation circuit, and semiconductor system
US9703625B1 (en) Method and apparatus for detecting or correcting multi-bit errors in computer memory systems

Legal Events

Date Code Title Description
A711 Notification of change in applicant

Free format text: JAPANESE INTERMEDIATE CODE: A712

Effective date: 20091022