米国特許情報 | 欧州特許情報 | 国際公開(PCT)情報 | Google の米国特許検索
 
     特許分類
A 農業
B 衣類
C 家具
D 医学
E スポ−ツ;娯楽
F 加工処理操作
G 机上付属具
H 装飾
I 車両
J 包装;運搬
L 化学;冶金
M 繊維;紙;印刷
N 固定構造物
O 機械工学
P 武器
Q 照明
R 測定; 光学
S 写真;映画
T 計算機;電気通信
U 核技術
V 電気素子
W 発電
X 楽器;音響


  ホーム -> 計算機;電気通信 -> キヤノン株式会社

発明の名称 メモリ制御回路
発行国 日本国特許庁(JP)
公報種別 公開特許公報(A)
公開番号 特開2007−4359(P2007−4359A)
公開日 平成19年1月11日(2007.1.11)
出願番号 特願2005−181903(P2005−181903)
出願日 平成17年6月22日(2005.6.22)
代理人 【識別番号】100090538
【弁理士】
【氏名又は名称】西山 恵三
発明者 上田 浩市
要約 課題
高速バーストアクセス時に発生するデータエラーに対する耐性を高め、基板製造条件や実装に用いる部品精度を落としてもシステムとして正しく動作するようにする。

解決手段
バースト書き込み時には最初の1ビート目のデータのみからECCデータを作成する手段と、2ビート目以降に前記ECCデータを搬送させる手段と、メモリデバイスのECCビットに前記ECCデータを書き込む手段とを有し、読み出し時には2ビート目以降に読み込んだECCビットデータから生成した1ビート目データ用ECCデータと、1ビート目のデータとにより1ビート目のデータのエラーを訂正、検出する手段を有する。
特許請求の範囲
【請求項1】
バースト動作可能なメモリデバイスを制御するメモリ制御回路において、
前記メモリ制御回路はバースト転送長分のデータを一時記憶するバッファを有し、
前記メモリ制御回路は前記バースト書き込み時には最初の1ビート目のデータのみからECCデータを作成する手段と、
2ビート目以降に上記ECCデータの一部または全部をメモリデバイスに書き込む手段と、
かつ、バースト読み出し時においては2ビート目以降に読み込んだECCデータと、1ビート目に読み込んだデータにより1ビート目のデータのエラーを訂正、検出する手段を有することを特徴とするメモリ制御回路。
【請求項2】
バースト動作可能なメモリデバイスを制御するメモリ制御回路において、
前記メモリ制御回路はバースト転送長分のデータを一時記憶するバッファを有し、
前記メモリ制御回路は前記バースト書き込み時にはバーストビート数をnとし、最終ビートであるnビート目のデータのみからECCデータを作成する手段と、
メモリデバイスへの書き込み時にn−1ビート目までに上記ECCデータを搬送させる手段と、
バースト読み出し時においてはn−1ビート目までに読み込んだECCビットデータから生成したnビート目データ用ECCデータと、nビート目のデータとによりnビート目のデータのエラーを訂正、検出する手段を有することを特徴とするメモリ制御回路。
【請求項3】
エラー検出修正対象のビートが最初もしくは最後のビートのどちらかに設定可能な設定手段を有することを特徴とする前記請求項1および請求項2記載のメモリ制御回路。
発明の詳細な説明
【技術分野】
【0001】
本発明はデータの高速書き込み、読み出しの可能なバースト動作が可能なメモリデバイスを制御するメモリ制御回路に属し、特に高速データアクセス時の信頼性を向上させるものである。
【背景技術】
【0002】
従来のメモリ制御回路の一例を図10に示す。図10にて101はメモリ制御回路全体ブロック、102はメモリに対するアクセス要求をする複数の内部デバイス(図示せず)からの要求を調停し、QueingするコマンドQueブロック、103は102のコマンドQueブロックからの指示に従い、メモリデバイスに対し指示に基づくアドレスや書き込み/読み出しなどのコマンドを与えるコマンド生成回路、104は書き込みの場合、メモリデバイスに対する書き込みデータをバッファリングし、103のコマンド生成回路からの出力に従い、実際にメモリデバイスに対する書き込みを置きなう際にバッファリングされた書き込みデータをメモリデバイスに対し出力する、或いは読み込み時には、メモリデバイスから読み出したデータをバッファリングし読み出し要求を行ったマスタデバイスに対し出力するデータ制御回路であり、メモリ制御回路がECC機能を有する場合にはここで書き込み時にはECCが生成され、読み出し時にはECCチェックがされる、105はメモリ制御回路の各種設定を行うためのレジスタ回路で、接続されているメモリデバイスのサイズやリフレッシュ間隔などの設定を行うためのものである、106は接続されたメモリデバイスである。
【0003】
上記メモリ制御回路の概略動作を説明する。
【0004】
メモリアクセスを行いたいマスタデバイスはメモリ制御回路に対しリクエストとしてReq信号、アクセスしたいAddress信号、アクセスがReadかWriteかを示す信号、アクセスのビート数を示す信号を出力する、これらの信号を受け付けたメモリ制御回路のQueブロック(102)はコマンドQueの空きがあればアクセスを要求したマスタデバイスに対しアクセス許可を示すGnt信号を返す。Gnt信号を受け取ったマスタデバイスは書き込みの場合には出力が有効であることを示すStrob信号とともに書き込むデータをメモリ制御回路に出力する。マスタデバイスが出力した書き込みデータはQueブロック(102)の指示とマスタデバイスのStrob信号から有効性を確認の上、データ制御回路(104)内のバッファに格納される。Queブロック(102)でQueingされたメモリデバイスへのアクセスコマンドはコマンド生成回路(103)に入力され、メモリデバイス(106)に対し適切なコマンドとなるようにメモリデバイスのRAS、CAS等の信号制御を行う。このとき、コマンドがメモリデバイスに対する書き込みである場合には、メモリデバイスへの書き込み制御コマンドの出力続き、適切なタイミングでデータ制御回路(104)から対応するバッファリングされたデータを出力するよう出力制御信号を与え、データ制御回路(104)からメモリデバイスに対しデータの出力を行わせる。ECC機能を有する場合にはデータ制御回路(104)にてバッファリングされる時点或いはバッファからメモリデバイスに出力する時点でECCビットの演算が行われ、付加される。従来のECC演算で用いられるテーブルの例を図11に示す。図11に示されたテーブルに基づき生成されたECCコードは生成時に用いたデータと同じサイクルでメモリデバイスに書き込まれ、読み出し時にも生成に用いたデータと同じサイクルで読み出され、エラーの検出、或いは修正に用いられる。
【0005】
従来用いられているECCビットの生成回路例を図12に示す。図12は図11に示したテーブルでC0ビットを生成するためのもので、図11に示したテーブルのDATAで示されたD0からD63の各ビットのうちC0行に'1'がたっている列である一番上の列で'1'が立っている全てのデータビットに対し排他的論理和(XOR)をとった結果をメモリデバイスのECCビット(C0ビット)に書き込む。ECC生成及びECCビットを用いたエラー検出、訂正回路のブロック図を図8に示す。図8は図10の104部分の位置具体例である。図8の110はデータバッファ、111はECC生成回路、112は出力I/F回路、113は入力I/F回路、114はエラー訂正、検出回路である。
【0006】
マスタから書き込まれたデータは110のバッファに一時的に蓄えられ、図10の103コマンド生成回路からの信号によりデータを出力する、出力されたデータは111のECC生成回路に入力され先に説明したテーブル及び回路の内容に従ったECCコードが生成される。110より出力されたデータと111より出力されたECCコードは出力回路112で1度FFでたたかれた後メモリデバイスに出力される。一方、メモリデバイスから出力されたデータ及びECCコードは113の入力回路で一度FF受けされ、114のエラー訂正、検出回路に入力される。114のエラー訂正、検出回路ではメモリデバイスから入力されたデータ及びECCコードに対し出力時と同じように図11に示されたテーブルで'1'のたっているビットを用いて排他的論理和をとり、エラーの有無を検出し、エラーが検出された場合には可能であれば訂正を行い、エラーがなければそのままのデータを該当するマスタに対し出力する。
【0007】
又、従来例としては、例えば特許文献1と特許文献2をあげることが出来る。
【特許文献1】特開2001-53744号公報
【特許文献2】特開平7-99672号公報
【発明の開示】
【発明が解決しようとする課題】
【0008】
しかしながら、メモリインターフェースの高速化に伴い、メモリ制御回路を組み込んだチップと、メモリデバイスとの間のタイミングは厳しくなりつづけており、基板の特性インピーダンスとチップの入出力インピーダンスのマッチングがきちんと取られないと信号の反射等のノイズによりメモリデバイスに対して正しくデータが書き込めない、或いは正しく読み込みができないといった問題が発生する可能性が高くなってきた。
【0009】
このような問題が起きた場合のタイミング図を図9に示す。図9の例では4Beatのバースト読み出しを実施している例であるが、信号の反射により最後の読み出し直後のDQS信号がオーバーシュートしてしまい、読み出したデータを壊してしまうといったことが考えられる。このときにはデータが正しく読み出せないタイミングのECCデータの読み出しも正しく行われないため、ECCによる補正も、エラー検出も行われないといった事態も考えられる。
【0010】
このような事態を防ぐには基板作成条件を厳しくし、かつ、基板作成に高価な材料を用いて行うことが従来は行われており、そのため全体の設計にかかるコストが高くなるといった問題があった。
【課題を解決するための手段】
【0011】
本発明は上記欠点に鑑み、比較的安価な条件で基板作成を可能とし、かつ、システムにおいては従来と同様な安定性を与えることを目的としている。
【0012】
そのために、本発明では、ECCビットを有し、バーストアクセス動作可能なメモリデバイスを制御するメモリ制御回路内に書き込み時においては、バーストアクセスの最初の1ビート或いは最後の1ビート目のデータに対するECCデータ作成手段を有し、作成されたECCデータをECCデータ作成に用いたデータを書き込む以外の書き込みサイクル時にメモリデバイスに書き込みを行い、さらに、読み出し時にはバースト読み出しした最初の1ビート或いは最後の1ビート目のデータをそのサイクル以外で読み出したECCデータに基づき検査を行い、エラーが検出された場合には訂正を行うことで、安価で、信号波形の歪みに強いシステムの構築を可能とするものである。
【発明の効果】
【0013】
以上説明したように本発明によれば、高速動作を行うメモリデバイスを含むシステムにおける回路基板特性とデバイスの入出力特性のインピーダンスミスマッチによって起こる信号不具合により、メモリデバイスに対するバーストアクセスの最初の1ビート目或いは最後の1ビートに対するエラー訂正、検出機能を強化することにより、システムとしてエラーに対し強いシステムを、高価な基板材料、高精度な部品といった高コストな部品を用いることなく、比較的安価な構成することが可能となるため全体としてのコスト削減と同時にシステムとしての高信頼性を実現することが可能となる。
【発明を実施するための最良の形態】
【0014】
(第1の実施例)
以下、図1〜図4に基づき、本発明によるメモリ制御回路を説明する。
【0015】
図1に本発明のメモリ制御回路のデータ制御回路部分を示すブロック図で、図1にて1はECC生成回路、2は書き込みデータバッファ、3は出力I/F回路、4は入力I/F回路、5はエラー訂正及び検出回路である。
【0016】
メモリデバイスへのデータ書き込み時は、1のECC生成回路にメモリデバイスへ書き込むデータのうち決められたバースト長分がバッファされ、ECC生成がなされる。このときのECC生成の一例を図2に示す。図2ではメモリデバイス出力は64ビット幅であるとした図が示されている。図2ではメモリデバイスに書き込まれるデータ(64ビット)の最後のビートで書き込まれるデータを用いてECC生成されているとし、書き込まれる64ビットのデータを例示したようなビット配列とし、ECCコード生成を行う、例えばC0はD0、D8、D16、D24、D32、D40、D48、D56の8ビットデータを用いたECC生成を行い、C8、C16はD0、D1、D2、D3、D4、D5、D6、D7の8ビットデータからECC生成が行われる。生成されたECCデータと書き込まれるデータのタイミングを図3に示す。図3では4ビートのデータをメモリデバイスに書き込む例で、先に説明したECCコードは8ビット単位の最初のビット番号を図示し、また、ECCコード生成に用いた64ビットデータの位置を示すため図中にDにてその位置を記載した。
【0017】
図4にメモリデバイスからの読み出しタイミングの例を示す。図4で読み出されたデータ及びECCコードは図1の入力I/F回路4で受け取られた後、エラー訂正及び検出回路にて先に行われたECC生成の逆を行うことでエラーの検出が行われ、必要に応じ訂正されたデータ信号が要求したマスタデバイスに対し出力される。
【0018】
(第2の実施例)
本発明はECC生成回路で行われるECC生成の方式を限定するものではなく、また、メモリデバイスへのアクセス単位も4ビートアクセスに限定するものでもない。例えば、メモリデバイスへのアクセス単位をさらに長いビート長に限定できるとすれば、一部のメモリデバイスへの書き込みデータをECCコードとして書き込み、2重化することでさらに信頼性の確保を図ることができる。この場合のタイミング図を図5に示す。図5はメモリデバイスに対し8ビートのバーストアクセスを行って書き込みを行ったタイミング図の例で、図6は図5でおこなった書き込みデータを読み出した場合のタイミングの例である。8ビートアクセスに限定された場合のECCビットへのコードの割り振りの一例を図7に示す。図5、6、7では書き込みの最初のビートに対する信頼性が低いものとして図示してあるが、ECCとして書き込むデータとしては図に示したように、最初のビートは任意のデータでよく、例えば従来のECC方式に従ったデータを書き込んでもよい、2ビート目は各ByteのMSBを集めたデータを一まとめにして書き込み、それ以後は順にMSBからLSB側へ順に1ビットずらしたビットを一まとめにして書き込んでいく。
【0019】
最後のビートでは、書き込みきれないLSB側の2ビット分に対するエラー訂正用の符号を生成し書き込んでおくことで、データの書き込みが2重化されないビットデータに対する信頼性を高めることができる。
【0020】
上記例で、バーストアクセスを行う際の最初の1ビート目及び最後のビートに対する例を示したが、組み込まれたシステムによって信頼性が低いアクセスとなるのがどちらのビートであるかは異なるので、最初の1ビート目に対するECC耐性を高める場合と、最後のビートに対するECC耐性を高める場合とがレジスタ設定によって切り替えられるように作られていることが好ましい。
【図面の簡単な説明】
【0021】
【図1】本発明のメモリ制御回路のデータ制御回路部分を示すブロック図
【図2】本発明の実施例におけるECC生成の一例
【図3】生成されたECCデータと書き込まれるデータのタイミングを示す図
【図4】メモリデバイスからの読み出しタイミングを示す図
【図5】生成されたECCデータと書き込まれるデータのタイミング関係を示す図
【図6】メモリデバイスからの読み出しタイミングを示す図
【図7】8ビートアクセスに限定された場合のECCビットへのコードの割り振りの例
【図8】従来のECC生成及びECCビットを用いたエラー検出、訂正回路のブロック図
【図9】問題が起きた場合のタイミング図の例
【図10】従来のメモリ制御回路の一例
【図11】従来のECC演算で用いられるテーブルの例
【図12】従来のECCビットの生成回路例
【符号の説明】
【0022】
1 ECC生成回路
2 書き込みデータバッファ
3 出力I/F回路
4 入力I/F回路
5 エラー訂正、検出回路




 

 


     NEWS
会社検索順位 特許の出願数の順位が発表

URL変更
平成6年
平成7年
平成8年
平成9年
平成10年
平成11年
平成12年
平成13年


 
   お問い合わせ info@patentjp.com patentjp.com   Copyright 2007-2013