Deprecated: The each() function is deprecated. This message will be suppressed on further calls in /home/zhenxiangba/zhenxiangba.com/public_html/phproxy-improved-master/index.php on line 456
JP4067945B2 - Semiconductor integrated circuit, memory control device - Google Patents
[go: Go Back, main page]

JP4067945B2 - Semiconductor integrated circuit, memory control device - Google Patents

Semiconductor integrated circuit, memory control device Download PDF

Info

Publication number
JP4067945B2
JP4067945B2 JP2002338711A JP2002338711A JP4067945B2 JP 4067945 B2 JP4067945 B2 JP 4067945B2 JP 2002338711 A JP2002338711 A JP 2002338711A JP 2002338711 A JP2002338711 A JP 2002338711A JP 4067945 B2 JP4067945 B2 JP 4067945B2
Authority
JP
Japan
Prior art keywords
signal
data
flip
flop
circuit
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.)
Expired - Fee Related
Application number
JP2002338711A
Other languages
Japanese (ja)
Other versions
JP2004173119A5 (en
JP2004173119A (en
Inventor
健治 森
純裕 三浦
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.)
Hitachi Ltd
Original Assignee
Hitachi 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 Hitachi Ltd filed Critical Hitachi Ltd
Priority to JP2002338711A priority Critical patent/JP4067945B2/en
Publication of JP2004173119A publication Critical patent/JP2004173119A/en
Publication of JP2004173119A5 publication Critical patent/JP2004173119A5/ja
Application granted granted Critical
Publication of JP4067945B2 publication Critical patent/JP4067945B2/en
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Images

Landscapes

  • Error Detection And Correction (AREA)
  • Detection And Prevention Of Errors In Transmission (AREA)

Description

【0001】
【発明の属する技術分野】
本発明は、半導体集積回路並びにその半導体集積回路を備えた記憶制御装置に関する。
【0002】
【従来の技術】
コンピュータシステムや記憶制御装置等において、データ転送を伴う数多くの半導体集積回路(以下、「データ転送回路」と称する)が用いられる。データ転送回路は、データ信号の伝搬、選択、演算などの工程を経て、データ信号を転送するデータパス部と、データパス部において前述の工程に対応した素子の動作を制御する制御回路と、を備える構成となる。データ転送回路では、高い信頼性が要求されるため、同一内容の論理演算を行う等価な回路が二重化されるよう配置され、一方の回路が故障したときに直ちに他方の回路に切り換えるように構成される。
【0003】
個々のデータ転送回路では、パリティビット又は、ハミング符号やCRC(Cyclic Redundancy Code)等の誤り訂正符号(Error Correcting Code)がデータ信号に付加される。そして、データ信号に付加されたパリティビット又は誤り訂正符号を用いて、データ転送中等に発生するビット誤り等の障害を検出する仕組みが備わっている。しかし、この仕組みでは、データ転送回路において、制御回路自体の故障や、制御回路からデータパス部に対して制御信号を供給する際の障害等(これらを総称して、「制御系の障害」と称する)を検出できない。
【0004】
例えば、図6に示す従来のデータ転送回路20において、フリップフロップ24に供給されるクロックイネーブル信号(以下、CE信号と称す)の障害が検出できないことを、図7に示すタイミングチャートを用いて説明する。
【0005】
図7では、各クロックサイクル(T0〜T4期間)にわたって、フリップフロップ24に入力されるデータ信号(1Byte)とパリティビット(1bit)とに含まれる“1”(又は“0”)のビットを合計した数は、規定された偶数個(又は奇数個)であることを前提とする(以下、このように、データ信号(1Byte)とパリティビット(1bit)との間にて規定された関係のことを「パリティの関係」と称する)。
【0006】
まず、従来のデータ転送回路20において、CE信号が正常な場合での動作について説明する。CE信号は、T1期間にてLレベルからHレベルに切り替わり、フリップフロップ24に供給されるクロック信号は有効になるものとする。そして、T1期間でのクロック信号のエッジにて、フリップフロップ24に入力されるデータ信号t1及びパリティビットt1が保持される(図7:(A))。
【0007】
保持されたデータ信号t1及びパリティビットt1は、フリップフロップ24の次段となるパリティチェッカ22等に対して、T2期間での入力となる(図7:(B))。そして、パリティチェッカ22は、T3期間において、T2期間に入力されたデータ信号t1とパリティビットt1とを用いてパリティチェックする。ここで、データ信号t1とパリティビットt1との間のパリティの関係は正常であるため、パリティチェッカ22は、パリティチェックの結果を“no error”として、エラー検出信号を出力する(図7:(C))。
【0008】
つぎに、従来のデータ転送回路20において、CE信号に障害が発生した場合での動作について説明する。なお、T1期間において、CE信号がLレベルからHレベルに切り替わらず、Lレベルの状態を維持するといった障害を想定する。この場合、T1期間では、フリップフロップ24に供給されるクロック信号が無効となるので、データ信号t1及びパリティビットt1は保持されない(図7:(D))。
【0009】
そこで、T1期間の前のクロックサイクルにて保持されていたデータ信号t0及びパリティビットt0が、フリップフロップ24の次段となるパリティチェッカ22等に対して、T2期間での入力となる(図7:(E))。そして、パリティチェッカ22は、T3期間において、T2期間にて入力されたデータ信号t0とパリティビットt0とを用いてパリティチェックする。ここで、データ信号t0とパリティビットt0との間のパリティの関係は正常であるため、パリティチェッカ22は、パリティチェック結果を“no error”として、エラー検出信号を出力する(図7:(F))。
【0010】
このようにして、従来のデータ転送回路20では、CE信号に障害が発生したにも関わらず、その障害を検出できない(図7:(F))という不都合が生じていた。そこで、このような不都合を回避するために、正のデータ転送回路に対し、同一内容となる副のデータ転送回路を更に一つ配置する。そして、正、副のデータ転送回路の出力信号を比較して相違があれば障害として検出可能とする「完全二重化方式」と呼ばれる仕組みが提案されている(例えば、特許文献1参照)。
【0011】
【特許文献1】
特開2000−188553号公報
【0012】
【発明が解決しようとする課題】
ここで、例えば、図6に示すデータ転送回路20に対して、完全二重化方式を採用した構成を提案する(図8参照)。図8に示す構成により、比較器26において、正のデータパス部21a及び副のデータパス部21bの各出力信号を比較することによって、前述した制御系の障害が検出可能となる。しかしながら、完全二重化方式を採用することによって、同一内容の回路が更に追加された構成をとるので、データ転送回路の回路規模は著しく増大する。そして、回路規模の増大によって、実装面積が限られた基板上に収容される機能(ブロック)数が低減され、全体としての処理能力の低下を招くことになる。
【0013】
また、近年の微細化等の半導体技術の進展によって、データ転送回路の制御は複雑化してきており、それに伴って転送データ量も増大している。ここで、転送データ量は、転送ビットレート(単位時間当たりの転送ビット数)とデータパス幅との積で決定される。そのため、転送データ量の増大化に伴って、転送ビットレートと同時にデータパス幅を大きくしなければならない。しかしながら、完全二重化方式を採用すると、データパス幅を大きくすることによって、加速度的に回路規模が増大することとなる。
【0014】
本発明は、以上のような経緯に基づいてなされたものであり、半導体集積回路並びにその半導体集積回路を備えた記憶制御装置を提供することを目的とする。
【0015】
【課題を解決するための手段】
前記課題を解決するための主たる本発明は、
データ信号が入力されるとともに第1のクロックイネーブル信号に基づいて前記データ信号のデータ保持に用いられるクロック信号の有効・無効を制御可能な第1のフリップフロップと、
前記データ信号に付加されたパリティビットが当該データ信号と同クロックサイクルで入力されるとともに第2のクロックイネーブル信号に基づいて前記パリティビットのデータ保持に用いられるクロック信号の有効・無効を制御可能な第2のフリップフロップと、
前記第1のフリップフロップに対して前記第1のクロックイネーブル信号を出力する第1の制御回路と、
前記第2のフリップフロップに対して前記第2のクロックイネーブル信号を出力する第2の制御回路と、
前記第1のフリップフロップにおいて保持された前記データ信号と、前記第2のフリップフロップによって保持された前記パリティビットと、が前記同クロックサイクルにて入力され、当該同クロックサイクルにて入力された前記データ信号及び前記パリティビットを用いてパリティチェックし、その結果を前記第1のクロックイネーブル信号又は前記第2のクロックイネーブル信号若しくは前記データ信号の障害を検出したか否かを示すエラー検出信号として出力するパリティチェッカと、
を有する半導体集積回路である。
本発明の他の特徴については、添付図面及び本明細書の記載により明らかにする。
【0016】
【発明の実施の形態】
===開示の概要===
以下の開示により、少なくとも次のことが明らかにされる。
ここで、前述の「半導体集積回路」とは、例えば、後述の「データ転送回路」のことである。また、前述の「第1の素子」及び「第2の素子」とは、例えば、後述の「フリップフロップ」や「セレクタ回路」のことである。また、前述の「出力回路」とは、例えば、後述の「パリティチェッカ」のことである。また、前述のデータ信号と検証コードとの「対応」とは、例えば、検証コードをパリティビットとする場合、データ信号とパリティビットに含まれる“1”(又は“0”)のビットを合計した数が、偶数個(又は奇数個)となるように規定された関係となる。
【0017】
本発明によると、データ信号が入力される第1の素子とそのデータ信号の検証コードが入力される第2の素子とを分離し、第1の素子の動作と第2の素子の動作をそれぞれ独立に制御するために制御回路を個々に備える構成において、例えば、第1又は第2の制御回路の故障や、第1又は第2の制御回路から第1又は第2の素子へ制御信号を供給する際の障害などによって、第1又は第2の素子において制御される動作が正常に行われなかった場合を想定する。
【0018】
この場合、出力回路において、第1の素子によって制御されたデータ信号と第2の素子によって制御された検証コードとを対照すると、データ信号と検証コードとの前記対応が成立しないことが生じうる。そのため、第1又は第2の素子において制御された動作の障害を検出することが可能となり、半導体集積回路の信頼性を向上することができる。
【0019】
また、本発明では、完全二重化方式を採用した従来の半導体集積回路と比較すると、第1及び第2の素子を二重化しなくて済む等、回路規模の増大化を抑えつつ、第1又は第2の素子にて制御された動作の障害を検出することが可能となる。さらに、本発明では、完全二重化方式を採用した従来の半導体集積回路と比較すると、回路規模の増大化を抑えつつ、データパス幅を大きくする、すなわち、データ転送量を大きくすることができる。
【0020】
本発明の第2の態様として、前記データ信号と前記検証コードは、前記素子に対して同クロックサイクルにて入力され、前記出力回路は、前記素子によって制御された前記データ信号と前記検証コードとが同クロックサイクルにて入力され、前記同クロックサイクルにて入力された前記データ信号と前記検証コードとを対照した結果を出力してもよい。
【0021】
この構成により、第1又は第2の素子において制御された動作が当該クロックサイクルにて正常に行われなかった場合(障害が発生した場合)、出力回路においてデータ信号と検証コードとを対照すると、第1及び第2の素子に対してデータ信号と検証コードが入力された際のクロックサイクルが異なり、前記対応が成立しないことが生じうる。そのために、第1又は第2の素子において制御された動作の障害を検出することが可能となり、半導体集積回路の信頼性を向上することができる。
【0022】
本発明の第3の態様として、前記検証コードをパリティビット又は誤り訂正符号とし、前記出力回路は、前記第1の素子によって制御された前記データ信号と、前記第2の素子によって制御された前記パリティビット又は前記誤り訂正符号と、を対照した結果を出力してもよい。
ここで、前述した「誤り訂正符号」とは、例えば、後述の「ハミング符号」や「CRC(Cyclic Redundancy Code)」のことである。
【0023】
このようにして、第1又は第2の素子において制御された動作の障害以外にも、種々採用した誤り検出方式に応じて、データ転送中等に発生するビット誤り等の障害もあわせて検出できるので、半導体集積回路の信頼性を向上することができる。
【0024】
本発明の第4の態様として、前記第1の素子を、前記データ信号が入力される第1のフリップフロップとし、前記第2の素子を、前記検証コードが入力される第2のフリップフロップとし、前記第1の制御回路は、前記第1のフリップフロップの動作を制御し、前記第2の制御回路は、前記第2のフリップフロップの動作を制御してもよい。
【0025】
ここで、前述した「第1又は第2のフリップフロップの動作」とは、例えば、後述の「フリップフロップの出力信号を強制的にリセットするクリア動作」、「フリップフロップの出力信号を強制的に“H”又は“L”レベルにセットするプリセット動作」、「クロック信号の有効・無効を設定する動作」等である。すなわち、本発明によって、第1又は第2のフリップフロップにおいて制御されるクリア動作、プリセット動作、クロック信号の有効・無効を設定する動作などの障害を検出することができ、半導体集積回路の信頼性を向上させることができる。
【0026】
本発明の第5の態様として、前記第1の素子を、前記データ信号のデータ保持に用いられるクロック信号の有効・無効を制御可能な第1のフリップフロップとし、前記第2の素子を、前記検証コードのデータ保持に用いられるクロック信号の有効・無効を制御可能な第2のフリップフロップとし、前記第1の制御回路は、前記第1のフリップフロップに入力される前記クロック信号の有効・無効を制御し、前記第2の制御回路は、前記第2のフリップフロップに入力される前記クロック信号の有効・無効を制御してもよい。
【0027】
このようにして、第1又は第2のフリップフロップにおいて制御されたクロック信号の有効・無効を設定する動作の障害を検出することができ、半導体集積回路の信頼性を向上することができる。
【0028】
本発明の第6の態様として、前記第1の素子を、複数の前記データ信号をセレクト動作する第1のセレクト回路とし、前記第2の素子を、前記複数のデータ信号ごとに付加される複数の前記検証コードをセレクト動作する第2のセレクト回路とし、前記第1の制御回路は、前記第1のセレクト回路における前記セレクト動作を制御し、前記第2の制御回路は、前記第2のセレクト回路における前記セレクト動作を制御してもよい。
ここで、前述の「セレクト回路」とは、例えば、後述の「マルチプレクサ」や「デマルチプレクサ」のことである。このようにして、第1又は第2のセレクト回路において制御されたセレクト動作の障害を検出することができ、半導体集積回路の信頼性を向上することができる。
【0029】
本発明の第7の態様として、ホストコンピュータと記憶装置との間で授受されるデータを記憶しておくためのキャッシュメモリと、前記ホストコンピュータと前記キャッシュメモリとの間のデータ転送を制御するチャネル制御部と、前記キャッシュメモリと前記記憶装置との間のデータ転送を制御するディスク制御部と、前記キャッシュメモリを制御するキャッシュメモリ制御部と、前記チャネル制御部と前記ディスク制御部とを通信可能に接続するためのスイッチング制御部と、を有する記憶制御装置において、前記チャネル制御部、前記ディスク制御部、前記キャッシュメモリ制御部又は前記スイッチング制御部の少なくともいずれか一つは、データ信号が入力される第1の素子と、前記データ信号に対応する検証コードが入力される第2の素子と、前記第1の素子の動作を制御する第1の制御回路と、前記第2の素子の動作を制御する第2の制御回路と、前記第1の素子によって制御された前記データ信号と前記第2の素子によって制御された前記検証コードとを対照した結果を出力する出力回路と、を有する半導体集積回路を備えてもよい。
ここで、前述の「記憶制御装置」とは、例えば、後述の「ディスクアレイ装置」や「テープアレイ装置」のことである。
【0030】
このようにして、記憶制御装置は、従来の半導体集積回路に対しての回路修正や追加回路が少なく済み、第1又は第2の素子にて制御された動作の障害を検出可能な半導体集積回路を備えたことにより、低コストにて高信頼性を実現できる。
【0031】
===実施例の具体的な説明===
<データ転送回路のブロック図>
図1に本発明の一実施形態となるデータ転送回路の機能ブロック図を示す。図1に示すデータ転送回路20は、システムにおいて複数使用する内の一つであり、前段にデータ転送回路10が配置され、後段にデータ転送回路30が配置される。データ転送回路20は、前段のデータ転送回路10よりデータ信号が入力されると、データ信号の伝搬、選択、演算などの各工程を経て、後段のデータ転送回路30にデータ転送する機能を有する。なお、前段のデータ転送回路10から入力されるデータ信号(1Byte)に対しては、パリティビット(1bit:検証コード)が付加されるものとする。(なお、データ信号のサイズは、“1Byte”に限定されるものではない。)
データ転送回路20は、データパス部21と、制御回路23と、パリティチェッカ22と、を備える。
データパス部21は、パリティビット(1bit)が付加されたデータ信号(1Byte)の伝搬、選択、演算などの各工程を経て、データ転送する回路である。また、データパス部21は、データ信号(1Byte)が入力される第1の素子を有する第1のデータパス部と、パリティビット(1bit)が入力される第2の素子を有する第2のデータパス部と、に分離される。
【0032】
なお、図1には、第1及び第2の素子として、クロックイネーブル信号(以下、CE信号と称す)に基づいてクロック信号の有効・無効を制御可能な、クロックイネーブル端子付きDフリップフロップ24a(第1の素子)、24b(第2の素子)を示している。
【0033】
制御回路23は、データパス部21において前述の各工程(データ信号の伝搬、選択、演算など)に対応した素子の動作を制御する回路であり、例えば、ステートマシンによって実現される。また、制御回路23は、第1の素子の動作を制御するための第1の制御回路23aと、第2の素子の動作を制御するための第2の制御回路23bと、に分離される。
【0034】
ここで、第1の制御回路23aは、フリップフロップ24aに対してCE信号(第1のCE信号と称す)を出力する。また、第2の制御回路23bは、フリップフロップ24bにCE信号(第2のCE信号と称す)を、前述した第1のCE信号と同クロックサイクルにて出力するものとする。
【0035】
パリティチェッカ(出力回路)22では、フリップフロップ24aにて保持されたデータ信号(1Byte)と、フリップフロップ24bにて保持されたパリティビット(1Bit)と、が同クロックサイクルにて入力される。また、パリティチェッカ22は、同クロックサイクルにて入力されたデータ信号(1Byte)とパリティビット(1Bit)とを用いてパリティチェックし、その結果をエラー検出信号として出力する。
【0036】
なお、データ信号(1Byte)に付加するコードとして、パリティビット以外にも、ハミング符号やCRC(Cyclic Redundancy Code)等の誤り訂正符号(Error Correcting Code)を用いることができる。この場合、パリティチェッカ22は、採用する誤り検出方式に応じた回路に代替可能である。
【0037】
以上の説明により、データ転送回路20は、データ信号が入力される第1の素子(フリップフロップ24a等)と検証コード(パリティビットや誤り訂正符号等)が入力される第2の素子(フリップフロップ24b等)とを分離し、第1の素子の動作と第2の素子の動作をそれぞれ独立に制御するために第1の制御回路23aと第2の制御回路23bを個々に備える構成とする。
【0038】
この構成により、データ転送回路20は、図8に示したような完全二重化方式のデータ転送回路20と比較すると、データパス部21を二重化しないで済む等、回路規模の増大化を抑えつつ、制御回路23自体の故障や、制御回路23からデータパス部21に対して制御信号を供給する際の障害等(これらを総称して、制御系の障害と称す)を検出することができる。
【0039】
さらに、データ転送回路20は、図8に示すような完全二重化方式のデータ転送回路20と比較して、回路規模の増大化を抑えつつ、データパス幅を大きくする、すなわち、データ転送量を大きくすることができる。
【0040】
<データ転送回路の動作>
図2は、データ転送回路20のフリップフロップ24aへ供給される第1のCE信号の障害を例として、その検出動作を説明するための主要信号のタイミングチャートを示している。なお、フリップフロップ24bへ供給される第2のCE信号の障害の検出動作については、第1のCE信号の障害の検出動作と同様であるために、以下では説明を省略する。
【0041】
まず、データ転送回路20において、第1及び第2のCE信号が正常な場合の動作を説明する。なお、各クロックサイクル(T0〜T4期間)にわたって、フリップフロップ24a、24bに対して同クロックサイクルにて入力されるデータ信号(1Byte)とパリティビット(1bit)においては、“1”(又は“0”)のビットを合計した数が、規定された偶数個(又は奇数個)となることを前提とする。なお、このように、データ信号(1Byte)とパリティビット(1bit)との間にて規定された関係のことを「パリティの関係」と称する。
【0042】
また、第1及び第2のCE信号は、T1期間にてLレベルからHレベルに切り替わり、フリップフロップ24a、24bに供給されるクロック信号は有効な状態になるものとする。
【0043】
このような前提のもと、フリップフロップ24a、24bでは、T1期間でのクロック信号のエッジにて、データ信号t1及びパリティビットt1が保持される(図2:(A))。そして、保持されたデータ信号t1及びパリティビットt1は、フリップフロップ24a、24bの次段となるパリティチェッカ22等に対し、T2期間での入力となる(図2:(B))。
【0044】
パリティチェッカ22は、T3期間において、T2期間に入力されたデータ信号t1とパリティビットt1とを用いてパリティチェックする。ここで、データ信号t1とパリティビットt1の間のパリティの関係は正常であるため、パリティチェッカ22は、パリティチェックの結果を“no error”として、エラー検出信号を出力する(図2:(C))。
【0045】
つぎに、データ転送回路20において、第1のCE信号に障害が発生した場合の動作を説明する。なお、第1のCE信号の障害としては、T1期間において、第1のCE信号がLレベルからHレベルに切り替わらず、Lレベルの状態を維持するといった障害を想定する(図2:(D))。この場合、T1期間では、フリップフロップ24aに供給されるクロック信号が無効な状態となり、データ信号t1は保持されない。一方、フリップフロップ24bでは、第2のCE信号が正常であるので、パリティビットt1がT1期間において保持される(図2:(D))。
【0046】
そこで、パリティチェッカ22のT2期間における入力としては、フリップフロップ24aにてT1期間の前のクロックサイクルに保持されていたデータ信号t0と、フリップフロップ24bにてT1期間に保持されたパリティビットt1となる(図2:(E))。そして、T3期間において、パリティチェッカ22は、データ信号t0とパリティビットt1とを用いてパリティチェックする。ここで、パリティビットt1は、データ信号t0に基づいてパリティコード化されたものではないので、データ信号t0とパリティビットt1との間のパリティの関係は基本的には成立しない。そのため、パリティチェッカ22は、パリティチェックの結果を“error”としてエラー検出信号を出力し(図2:(F))、第1のCE信号の障害を検出する。
【0047】
以上の説明により、第1又は第2の素子(フリップフロップ24a、24b)において制御される動作が正常に行われなかった場合、出力回路(パリティチェッカ22等)において、第1の素子によって制御されたデータ信号と第2の素子によって制御された検証コードとを対照すると、データ信号と検証コードとの間の対応(パリティの関係等)が成立しないことが起こりうる。そのため、データ転送回路20は、第1又は第2の素子において制御された動作の障害を検出することが可能となり、前述したように回路規模の増大化を抑えつつ、高信頼性を実現できる。
【0048】
<セレクト回路>
図3に示すように、データパス部21を構成するセレクト回路25(マルチプレクサ、デマルチプレクサなど)に対して、セレクト動作を制御するためのセレクト制御信号の障害を検出することも可能である。
【0049】
同図によると、データパス部21の第1のデータパス部側では、データ信号(1Byte)を伝送するための信号線が組合せ回路(不図示)等で分岐されている。そして、その分岐された複数の信号線からフリップフロップ24a、24c等を介して伝送されてくるデータ信号(1Byte)をセレクト動作するセレクト回路25aを備える。
【0050】
また、データパス部21の第2のデータパス部側では、前述したデータ信号(1Byte)のパリティビット(1bit)を伝送するための信号線が組合せ回路(不図示)等で分岐されている。そして、その分岐された複数の信号線からフリップフロップ24b、24dなどを介して伝送されてくるパリティビット(1bit)をセレクト動作するセレクト回路25bを備える。
【0051】
このセレクト回路25a、25bに対して、第1の制御回路23aは、セレクト回路25aでのセレクト動作を制御するための第1のセレクト制御信号を出力する。また、第2の制御回路23bは、セレクト回路25bでのセレクト動作を制御するための第2のセレクト制御信号を、前述した第1のセレクト制御信号と同クロックサイクルにて出力するものとする。パリティチェッカ22では、セレクト回路25aにてセレクトされたデータ信号(1Byte)と、セレクト回路25bにてセレクトされたパリティビット(1bit)と、が同クロックサイクルにて入力される。
【0052】
パリティチェッカ22は、同クロックサイクルにて入力されたデータ信号(1Byte)とパリティビット(1bit)を用いてパリティチェックし、その結果をエラー検出信号として出力する。
【0053】
この構成により、データ転送回路20は、図6に示すような従来のデータ転送回路20と同様な回路規模にて、前述した制御系の障害を検出することができる。また、図8に示す完全二重化方式のデータ転送回路20と比較した場合、データパス部21を二重化しないで済む等、回路規模の増大化を抑えつつ、前述した制御系の障害を検出することができる。さらに、データ転送回路20は、図8に示すような完全二重化方式のデータ転送回路20と比較して、回路規模の増大化を抑えつつ、データパス幅を大きくする、すなわち、データ転送量を大きくすることができる。
【0054】
図4は、図3に示すデータ転送回路20において、セレクト回路25aへ供給される第1のセレクト制御信号の障害を例として、その検出動作を説明するための主要信号のタイミングチャートを示している。なお、第2のセレクト制御信号の障害の検出動作は、第1のセレクト制御信号の障害の検出動作と同様であるので、以下説明を省略する。
【0055】
図4に示すように、正常な場合では、第1及び第2のセレクト制御信号は、T2期間における所定のタイミングにてLレベルからHレベルに切り替わる。その結果として、セレクト回路25a、25bでは、D0端子入力からD1端子入力のセレクトに切り替わるものとする。
【0056】
ここで、T2期間において、第1のセレクト制御信号がLレベルからHレベルに切り替わらず、Lレベルの状態を維持するといった障害を想定する(図4:(A))。この場合、セレクト回路25aでは、D0端子入力のセレクトを維持することになる。一方、セレクト回路25bでは、第2のセレクト制御信号が正常であるので、D0端子入力からD1端子入力のセレクトに切り替わる。
【0057】
そこで、パリティチェッカ22のT2期間における入力としては、セレクト回路25aの出力であるデータ信号t2(0)と、セレクト回路25bの出力であるパリティビットt2(1)となる(図4:(B))。そして、T3期間において、パリティチェッカ22は、データ信号t2(0)の内容をパリティビットt2(1)に基づいてパリティチェックすることになる。
【0058】
ここで、パリティビットt2(1)は、データ信号t2(0)の内容に基づいてパリティコード化されたものではないので、データ信号t2(0)とパリティビットt2(1)との間のパリティの関係は基本的には成立しない。そこで、パリティチェッカ22は、パリティチェックの結果を“error”として、エラー検出信号を出力することとなる(図4:(C))。
【0059】
このようにして、データ転送回路20は、セレクト回路25aへ供給される第1又は第2のセレクト制御信号の障害を検出することができ、前述したように回路規模の増大化を抑えつつ、高信頼性を実現できる。
【0060】
<その他の素子>
また、本発明に係る実施形態において、データパス部21を構成するフリップフロップ24(D、JKフリップフロップ等)は、出力信号を強制的にリセットするためのリセット信号が入力されるクリア(リセット)端子や、出力信号を強制的に“H”又は“L”レベルにセットするためのセット信号が入力されるプリセット(セット)端子を備えているものとする。ここで、本発明に係る実施形態として、クリア端子に入力されるリセット信号や、プリセット端子に入力されるセット信号の障害を検出する構成も考えられる。
【0061】
この場合、第1の素子は、データ信号が入力されるクリア・プリセット端子付きフリップフロップ24aとなり、第2の素子は、パリティビット等の誤り検出(又は訂正)符号が入力されるクリア・リセット端子付きフリップフロップ24bとなる。そして、第1の制御回路23aは、フリップフロップ24aでのクリア・プリセット動作を制御し、第2の制御回路23bは、フリップフロップ24bでのクリア・プリセット動作を制御する構成となる。
【0062】
この構成により、データ転送回路20は、フリップフロップ24a、24bにおいて制御されたクリア・プリセット動作の障害を検出することができ、高信頼性を実現できる。
【0063】
<記憶制御装置>
本発明に係るデータ転送回路20を備えた記憶制御装置について説明する。なお、以下では、記憶制御装置はディスクアレイ装置40とし、そのディスクアレイ装置40を含めた記憶装置システムの構成を図5に示す。
【0064】
記憶装置システムにおいて、ホストコンピュータ50とディスクアレイ装置40とが、ESCON(登録商標)、LAN(Local Area Network)、SAN(Storage Area Network)等の通信手段60を介して接続している。ホストコンピュータ50は、メインフレームコンピュータ、パソコン又はワークステーション等のオープン系コンピュータである。
【0065】
ディスクアレイ装置40は、チャネル制御部41、ディスク制御部42、キャッシュメモリ43aを備えたキャッシュメモリ制御部43、ディスクドライブ45を備えて構成される。なお、チャネル制御部41、ディスク制御部42、キャッシュメモリ制御部43は、それぞれクロスバスイッチ等で構成されたスイッチング制御部44を介して通信可能に接続されている。
【0066】
チャネル制御部41は、ホストコンピュータ50との間の通信インタフェースを備え、ホストコンピュータ50とキャッシュメモリ43aとの間のデータ転送を制御する。ディスク制御部42は、キャッシュメモリ43aとディスクドライブ45との間のデータ転送を制御する。キャッシュメモリ43aは、チャネル制御部41とディスク制御部42の双方からアクセス可能であり、ディスクドライブ45の入出力データを記憶する。また、キャッシュメモリ制御部43は、キャッシュメモリ43aに対するアクセスを制御する。
【0067】
ディスクドライブ45は、RAID(Redundant Array of Inexpensive(or Independent) Disks)方式により制御されていることもある。また、ディスクドライブ45により提供される記録領域は、この記憶領域上に設定される論理的な記憶領域である論理ボリュームを用いて管理される。
【0068】
このような構成となるディスクアレイ装置40は、チャネル制御部41、ディスク制御部42、キャッシュメモリ制御部43又はスイッチング制御部44の少なくともいずれかに対し、本発明に係るデータ転送回路20を備える。例えば、チャネル制御部41において、データ信号が入力される第1の素子(フリップフロップ24a等)と、データ信号に対応する検証コードが入力される第2の素子(フリップフロップ24b等)と、第1の素子の動作を制御する第1の制御回路(第1の制御回路23a)と、第2の素子の動作を制御する第2の制御回路(第2の制御回路23b)と、第1の素子によって制御されたデータ信号と第2の素子によって制御された検証コードとを対照した結果を出力する出力回路(パリティチェッカ22等)と、を有する本発明に係るデータ転送回路20を備えることになる。
【0069】
ここで、本発明に係るデータ転送回路20は、前述したとおり、回路規模の増大化を抑えつつ、信頼性を向上させることができる。そのため、ディスクアレイ装置40は、従来のデータ転送回路20からの回路変更や追加回路が少なく済み、第1又は第2の素子にて制御された動作の障害を検出可能な本発明に係るデータ転送回路20を備えたことにより、低コストにて高信頼性を実現できる。
【0070】
なお、記憶制御装置としては、前述のディスクアレイ装置40に限定されず、例えば、カートリッジ型やオープン・リール型の磁気テープを対象としたテープアレイ装置としてもよい。
【0071】
以上、本発明の実施形態について、その実施形態に基づき具体的に説明したが、これに限定されるものではなく、その要旨を逸脱しない範囲で種々変更可能である。
【0072】
【発明の効果】
本発明によれば、半導体集積回路並びにその半導体集積回路を備えた記憶制御装置を提供することができる。
【図面の簡単な説明】
【図1】本発明の一実施形態に係る半導体集積回路(データ転送回路)の機能ブロック図である。
【図2】本発明の一実施形態に係る半導体集積回路(データ転送回路)の動作タイミングを説明するためのタイミングチャートである。
【図3】本発明のその他の一実施形態に係る半導体集積回路(データ転送回路)の機能ブロック図である。
【図4】本発明のその他の一実施形態に係る半導体集積回路(データ転送回路)の動作タイミングを説明するためのタイミングチャートである。
【図5】本発明に係る半導体集積回路(データ転送回路)を備えた記憶制御装置に関し、その記憶制御装置を含めたシステムの概略構成図である。
【図6】従来の半導体集積回路(データ転送回路)の機能ブロック図である。
【図7】従来の半導体集積回路(データ転送回路)の動作タイミングを説明するためのタイミングチャートである。
【図8】本発明に係る半導体集積回路(データ転送回路)に完全二重化方式を採用した場合の機能ブロック図である。
【符号の説明】
10、20、30 データ転送回路
21 データパス部
22 パリティチェッカ
23 制御回路
24 フリップフロップ
25 セレクト回路
40 ディスクアレイ装置
41 チャネル制御部
42 ディスク制御部
43 キャッシュメモリ制御部
44 スイッチング制御部
45 ディスクドライブ
50 ホストコンピュータ
60 通信手段
[0001]
BACKGROUND OF THE INVENTION
The present invention relates to a semiconductor integrated circuit and a storage control device including the semiconductor integrated circuit.
[0002]
[Prior art]
Many semiconductor integrated circuits (hereinafter referred to as “data transfer circuits”) that involve data transfer are used in computer systems, storage control devices, and the like. The data transfer circuit includes a data path unit that transfers a data signal through processes such as propagation, selection, and calculation of a data signal, and a control circuit that controls the operation of an element corresponding to the above-described process in the data path unit. It becomes the composition to provide. Since high reliability is required in data transfer circuits, equivalent circuits that perform logical operations of the same content are arranged to be duplicated, and are configured to switch to the other circuit immediately when one circuit fails. The
[0003]
In each data transfer circuit, a parity bit or an error correcting code such as a Hamming code or CRC (Cyclic Redundancy Code) is added to the data signal. A mechanism for detecting a failure such as a bit error occurring during data transfer using a parity bit or an error correction code added to the data signal is provided. However, in this mechanism, in the data transfer circuit, a failure in the control circuit itself, a failure in supplying a control signal from the control circuit to the data path unit, etc. (collectively these are referred to as “control system failure”) Cannot be detected.
[0004]
For example, in the conventional data transfer circuit 20 shown in FIG. 6, the fact that a failure of a clock enable signal (hereinafter referred to as a CE signal) supplied to the flip-flop 24 cannot be detected will be described with reference to a timing chart shown in FIG. To do.
[0005]
In FIG. 7, “1” (or “0”) bits included in the data signal (1 Byte) and the parity bit (1 bit) input to the flip-flop 24 are totaled over each clock cycle (T0 to T4 period). This number is based on the premise that the specified number is an even number (or odd number) (hereinafter, the relationship specified between the data signal (1 Byte) and the parity bit (1 bit). (Referred to as “parity relationship”).
[0006]
First, the operation of the conventional data transfer circuit 20 when the CE signal is normal will be described. The CE signal is switched from the L level to the H level in the period T1, and the clock signal supplied to the flip-flop 24 becomes valid. Then, the data signal t1 and the parity bit t1 input to the flip-flop 24 are held at the edge of the clock signal in the T1 period (FIG. 7: (A)).
[0007]
The retained data signal t1 and parity bit t1 are input in the period T2 to the parity checker 22 and the like that are the next stage of the flip-flop 24 (FIG. 7: (B)). The parity checker 22 performs a parity check in the T3 period using the data signal t1 and the parity bit t1 input in the T2 period. Here, since the parity relationship between the data signal t1 and the parity bit t1 is normal, the parity checker 22 sets the result of the parity check as “no error” and outputs an error detection signal (FIG. 7: ( C)).
[0008]
Next, the operation in the case where a failure occurs in the CE signal in the conventional data transfer circuit 20 will be described. In the T1 period, a failure is assumed in which the CE signal does not switch from the L level to the H level and maintains the L level state. In this case, since the clock signal supplied to the flip-flop 24 becomes invalid in the T1 period, the data signal t1 and the parity bit t1 are not held (FIG. 7: (D)).
[0009]
Therefore, the data signal t0 and the parity bit t0 held in the clock cycle before the T1 period are input to the parity checker 22 and the like subsequent to the flip-flop 24 in the T2 period (FIG. 7). : (E)). The parity checker 22 performs a parity check in the T3 period using the data signal t0 and the parity bit t0 input in the T2 period. Here, since the parity relationship between the data signal t0 and the parity bit t0 is normal, the parity checker 22 sets the parity check result to “no error” and outputs an error detection signal (FIG. 7: (F )).
[0010]
In this manner, the conventional data transfer circuit 20 has a disadvantage that the failure cannot be detected even when a failure occurs in the CE signal (FIG. 7: (F)). Therefore, in order to avoid such an inconvenience, one additional data transfer circuit having the same contents is arranged with respect to the positive data transfer circuit. Then, a mechanism called a “full duplex system” has been proposed in which the output signals of the primary and secondary data transfer circuits are compared and can be detected as a fault if there is a difference (see, for example, Patent Document 1).
[0011]
[Patent Document 1]
JP 2000-188553 A
[0012]
[Problems to be solved by the invention]
Here, for example, a configuration employing a full duplex system is proposed for the data transfer circuit 20 shown in FIG. 6 (see FIG. 8). With the configuration shown in FIG. 8, by comparing the output signals of the positive data path unit 21a and the sub data path unit 21b in the comparator 26, it is possible to detect the above-described fault in the control system. However, by adopting the full duplex system, the circuit having the same contents is further added, so that the circuit scale of the data transfer circuit is remarkably increased. As the circuit scale increases, the number of functions (blocks) accommodated on a board with a limited mounting area is reduced, leading to a reduction in processing capacity as a whole.
[0013]
In addition, with the recent advancement of semiconductor technology such as miniaturization, the control of the data transfer circuit has become complicated, and the amount of transferred data has increased accordingly. Here, the transfer data amount is determined by the product of the transfer bit rate (the number of transfer bits per unit time) and the data path width. Therefore, the data path width must be increased simultaneously with the transfer bit rate as the amount of transfer data increases. However, if the full duplex system is adopted, the circuit scale increases at an accelerated rate by increasing the data path width.
[0014]
The present invention has been made based on the above circumstances, and an object thereof is to provide a semiconductor integrated circuit and a storage control device including the semiconductor integrated circuit.
[0015]
[Means for Solving the Problems]
  The main present invention for solving the above problems is as follows.
  A first flip-flop capable of controlling the validity / invalidity of a clock signal used to hold data of the data signal based on a first clock enable signal when a data signal is input;
The parity bit added to the data signal is input in the same clock cycle as the data signal, and the validity / invalidity of the clock signal used to hold the data of the parity bit can be controlled based on the second clock enable signal. A second flip-flop;
A first control circuit for outputting the first clock enable signal to the first flip-flop;
A second control circuit for outputting the second clock enable signal to the second flip-flop;
The data signal held in the first flip-flop and the parity bit held by the second flip-flop are input in the same clock cycle and input in the same clock cycle. Parity check is performed using the data signal and the parity bit, and the result is output as an error detection signal indicating whether a failure of the first clock enable signal, the second clock enable signal or the data signal is detected. A parity checker to
  A semiconductor integrated circuit having
  Other features of the present invention will become apparent from the accompanying drawings and the description of this specification.
[0016]
DETAILED DESCRIPTION OF THE INVENTION
=== Summary of disclosure ===
The following disclosure will reveal at least the following.
Here, the above-mentioned “semiconductor integrated circuit” is, for example, a “data transfer circuit” described later. The above-mentioned “first element” and “second element” are, for example, a “flip-flop” and a “selector circuit” to be described later. The above-mentioned “output circuit” is, for example, a “parity checker” described later. The “correspondence” between the data signal and the verification code is, for example, when the verification code is a parity bit, the data signal and the bit of “1” (or “0”) included in the parity bit are totaled. The relationship is such that the number is an even number (or an odd number).
[0017]
According to the present invention, the first element to which the data signal is input and the second element to which the verification code of the data signal is input are separated, and the operation of the first element and the operation of the second element are respectively performed. In a configuration with individual control circuits for independent control, for example, failure of the first or second control circuit or supply of control signals from the first or second control circuit to the first or second element A case is assumed where the operation controlled in the first or second element is not normally performed due to a failure or the like.
[0018]
In this case, when the data signal controlled by the first element is compared with the verification code controlled by the second element in the output circuit, the correspondence between the data signal and the verification code may not be established. Therefore, it is possible to detect the failure of the controlled operation in the first or second element, and the reliability of the semiconductor integrated circuit can be improved.
[0019]
Further, in the present invention, compared with the conventional semiconductor integrated circuit adopting the full duplex system, the first and second elements can be suppressed while preventing the circuit scale from increasing, for example, the first and second elements need not be duplexed. It is possible to detect a failure in the operation controlled by the element. Further, according to the present invention, the data path width can be increased, that is, the data transfer amount can be increased while suppressing an increase in circuit scale as compared with a conventional semiconductor integrated circuit adopting a full duplex system.
[0020]
As a second aspect of the present invention, the data signal and the verification code are input to the element in the same clock cycle, and the output circuit includes the data signal and the verification code controlled by the element. May be input in the same clock cycle, and a result obtained by comparing the data signal input in the same clock cycle with the verification code may be output.
[0021]
With this configuration, when the operation controlled in the first or second element is not normally performed in the clock cycle (when a failure occurs), when comparing the data signal and the verification code in the output circuit, The clock cycle when the data signal and the verification code are input to the first and second elements may be different, and the correspondence may not be established. Therefore, it is possible to detect a failure of the controlled operation in the first or second element, and the reliability of the semiconductor integrated circuit can be improved.
[0022]
As a third aspect of the present invention, the verification code is a parity bit or an error correction code, and the output circuit is the data signal controlled by the first element, and the data signal controlled by the second element. A result obtained by comparing parity bits or the error correction code may be output.
Here, the above-mentioned “error correction code” is, for example, a “hamming code” or “CRC (Cyclic Redundancy Code)” described later.
[0023]
In this way, in addition to the failure of the operation controlled in the first or second element, it is possible to detect a failure such as a bit error occurring during data transfer according to various error detection methods adopted. The reliability of the semiconductor integrated circuit can be improved.
[0024]
As a fourth aspect of the present invention, the first element is a first flip-flop to which the data signal is input, and the second element is a second flip-flop to which the verification code is input. The first control circuit may control the operation of the first flip-flop, and the second control circuit may control the operation of the second flip-flop.
[0025]
Here, “the operation of the first or second flip-flop” described above is, for example, “a clear operation for forcibly resetting the output signal of the flip-flop” described later, and “the output signal of the flip-flop is forcibly set. “Preset operation for setting to“ H ”or“ L ”level”, “operation for setting validity / invalidity of clock signal”, and the like. That is, according to the present invention, it is possible to detect failures such as a clear operation controlled by the first or second flip-flop, a preset operation, and an operation for setting the validity / invalidity of the clock signal. Can be improved.
[0026]
As a fifth aspect of the present invention, the first element is a first flip-flop that can control the validity / invalidity of a clock signal used to hold data of the data signal, and the second element is the A second flip-flop that can control the validity / invalidity of the clock signal used to hold the data of the verification code is used, and the first control circuit validates / invalidates the clock signal input to the first flip-flop. The second control circuit may control validity / invalidity of the clock signal input to the second flip-flop.
[0027]
In this way, it is possible to detect a failure in the operation for setting the validity / invalidity of the clock signal controlled in the first or second flip-flop, and the reliability of the semiconductor integrated circuit can be improved.
[0028]
As a sixth aspect of the present invention, the first element is a first select circuit that performs a select operation on the plurality of data signals, and the second element is added to each of the plurality of data signals. The verification code is a second select circuit that performs a select operation, the first control circuit controls the select operation in the first select circuit, and the second control circuit includes the second select circuit. The select operation in the circuit may be controlled.
Here, the above-mentioned “select circuit” is, for example, a “multiplexer” or “demultiplexer” described later. In this way, it is possible to detect a failure in the select operation controlled in the first or second select circuit, and to improve the reliability of the semiconductor integrated circuit.
[0029]
As a seventh aspect of the present invention, a cache memory for storing data exchanged between a host computer and a storage device, and a channel for controlling data transfer between the host computer and the cache memory Communicating between a control unit, a disk control unit that controls data transfer between the cache memory and the storage device, a cache memory control unit that controls the cache memory, the channel control unit, and the disk control unit And a switching control unit for connecting to the storage control device, wherein at least one of the channel control unit, the disk control unit, the cache memory control unit, and the switching control unit receives a data signal. A first element and a verification code corresponding to the data signal are input. A first control circuit for controlling the operation of the first element, a second control circuit for controlling the operation of the second element, and the data signal controlled by the first element And an output circuit that outputs a result of comparing the verification code controlled by the second element.
Here, the above-mentioned “storage control device” is, for example, a “disk array device” or “tape array device” described later.
[0030]
In this way, the memory control device requires less circuit modification and additional circuits than the conventional semiconductor integrated circuit, and can detect the failure of the operation controlled by the first or second element. With this, high reliability can be realized at low cost.
[0031]
=== Specific Description of Examples ===
<Block diagram of data transfer circuit>
FIG. 1 shows a functional block diagram of a data transfer circuit according to an embodiment of the present invention. The data transfer circuit 20 shown in FIG. 1 is one of a plurality of systems used in the system. The data transfer circuit 10 is arranged at the front stage and the data transfer circuit 30 is arranged at the rear stage. When a data signal is input from the data transfer circuit 10 in the previous stage, the data transfer circuit 20 has a function of transferring data to the data transfer circuit 30 in the subsequent stage through steps such as propagation, selection, and calculation of the data signal. It is assumed that a parity bit (1 bit: verification code) is added to the data signal (1 Byte) input from the data transfer circuit 10 in the previous stage. (Note that the size of the data signal is not limited to “1 Byte”.)
The data transfer circuit 20 includes a data path unit 21, a control circuit 23, and a parity checker 22.
The data path unit 21 is a circuit that transfers data through each process such as propagation, selection, and calculation of a data signal (1 byte) to which a parity bit (1 bit) is added. The data path unit 21 includes a first data path unit having a first element to which a data signal (1 Byte) is input and second data having a second element to which a parity bit (1 bit) is input. And a pass part.
[0032]
In FIG. 1, as the first and second elements, a D flip-flop 24a with a clock enable terminal that can control the validity / invalidity of a clock signal based on a clock enable signal (hereinafter referred to as a CE signal). 1st element) and 24b (2nd element) are shown.
[0033]
The control circuit 23 is a circuit that controls the operation of an element corresponding to each of the above-described steps (data signal propagation, selection, calculation, etc.) in the data path unit 21, and is realized by, for example, a state machine. The control circuit 23 is separated into a first control circuit 23a for controlling the operation of the first element and a second control circuit 23b for controlling the operation of the second element.
[0034]
Here, the first control circuit 23a outputs a CE signal (referred to as a first CE signal) to the flip-flop 24a. The second control circuit 23b outputs a CE signal (referred to as a second CE signal) to the flip-flop 24b in the same clock cycle as that of the first CE signal described above.
[0035]
In the parity checker (output circuit) 22, the data signal (1 Byte) held in the flip-flop 24a and the parity bit (1 Bit) held in the flip-flop 24b are input in the same clock cycle. The parity checker 22 performs a parity check using the data signal (1 Byte) and the parity bit (1 Bit) input in the same clock cycle, and outputs the result as an error detection signal.
[0036]
As a code to be added to the data signal (1 Byte), an error correcting code such as a Hamming code or CRC (Cyclic Redundancy Code) can be used in addition to the parity bit. In this case, the parity checker 22 can be replaced with a circuit corresponding to the error detection method to be employed.
[0037]
As described above, the data transfer circuit 20 includes the first element (flip-flop 24a and the like) to which the data signal is input and the second element (flip-flop and the like) to which the verification code (parity bit, error correction code, etc.) is input. 24b and the like, and the first control circuit 23a and the second control circuit 23b are individually provided to independently control the operation of the first element and the operation of the second element.
[0038]
With this configuration, the data transfer circuit 20 can be controlled while suppressing an increase in circuit scale, such as not having to double the data path unit 21 as compared with the data transfer circuit 20 of the full duplex system as shown in FIG. It is possible to detect a failure of the circuit 23 itself, a failure in supplying a control signal from the control circuit 23 to the data path unit 21, and the like (collectively referred to as a control system failure).
[0039]
Further, the data transfer circuit 20 increases the data path width, that is, increases the data transfer amount, while suppressing an increase in circuit scale, as compared with the full-duplex data transfer circuit 20 shown in FIG. can do.
[0040]
<Operation of data transfer circuit>
FIG. 2 shows a timing chart of main signals for explaining the detection operation, taking as an example the failure of the first CE signal supplied to the flip-flop 24a of the data transfer circuit 20. The operation for detecting the failure of the second CE signal supplied to the flip-flop 24b is the same as the operation for detecting the failure of the first CE signal, and the description thereof will be omitted below.
[0041]
First, the operation of the data transfer circuit 20 when the first and second CE signals are normal will be described. Note that the data signal (1 Byte) and the parity bit (1 bit) input to the flip-flops 24a and 24b in the same clock cycle over each clock cycle (T0 to T4 period) are “1” (or “0”). It is assumed that the total number of ")" bits is an even number (or odd number) as defined. Note that the relationship defined between the data signal (1 Byte) and the parity bit (1 bit) is referred to as “parity relationship”.
[0042]
The first and second CE signals are switched from the L level to the H level in the T1 period, and the clock signals supplied to the flip-flops 24a and 24b are in an effective state.
[0043]
Under such a premise, the flip-flops 24a and 24b hold the data signal t1 and the parity bit t1 at the edge of the clock signal in the T1 period (FIG. 2: (A)). The held data signal t1 and parity bit t1 are input in the period T2 to the parity checker 22 and the like subsequent to the flip-flops 24a and 24b (FIG. 2: (B)).
[0044]
The parity checker 22 performs a parity check in the T3 period using the data signal t1 and the parity bit t1 input in the T2 period. Here, since the parity relationship between the data signal t1 and the parity bit t1 is normal, the parity checker 22 sets the result of the parity check as “no error” and outputs an error detection signal (FIG. 2: (C )).
[0045]
Next, an operation in the case where a failure occurs in the first CE signal in the data transfer circuit 20 will be described. As a failure of the first CE signal, a failure is assumed in which the first CE signal does not switch from the L level to the H level in the T1 period and maintains the L level state (FIG. 2: (D) ). In this case, in the T1 period, the clock signal supplied to the flip-flop 24a becomes invalid and the data signal t1 is not held. On the other hand, since the second CE signal is normal in the flip-flop 24b, the parity bit t1 is held in the T1 period (FIG. 2: (D)).
[0046]
Therefore, the input in the T2 period of the parity checker 22 includes the data signal t0 held in the clock cycle before the T1 period in the flip-flop 24a, and the parity bit t1 held in the T1 period in the flip-flop 24b. (FIG. 2: (E)). In the T3 period, the parity checker 22 performs a parity check using the data signal t0 and the parity bit t1. Here, since the parity bit t1 is not a parity code based on the data signal t0, the parity relationship between the data signal t0 and the parity bit t1 basically does not hold. Therefore, the parity checker 22 outputs an error detection signal with the result of the parity check being “error” (FIG. 2: (F)), and detects a failure in the first CE signal.
[0047]
As described above, when the operation controlled in the first or second element (flip-flops 24a and 24b) is not normally performed, the output circuit (parity checker 22 or the like) is controlled by the first element. If the data signal and the verification code controlled by the second element are compared, correspondence (parity relationship or the like) between the data signal and the verification code may not be established. Therefore, the data transfer circuit 20 can detect a failure in the operation controlled in the first or second element, and can achieve high reliability while suppressing an increase in circuit scale as described above.
[0048]
<Select circuit>
As shown in FIG. 3, it is also possible to detect a failure of the select control signal for controlling the select operation for the select circuit 25 (multiplexer, demultiplexer, etc.) constituting the data path unit 21.
[0049]
According to the figure, on the first data path side of the data path unit 21, a signal line for transmitting a data signal (1 Byte) is branched by a combinational circuit (not shown) or the like. A select circuit 25a that performs a select operation on a data signal (1 Byte) transmitted from the branched signal lines via the flip-flops 24a and 24c and the like is provided.
[0050]
On the second data path unit side of the data path unit 21, a signal line for transmitting the parity bit (1 bit) of the data signal (1 Byte) described above is branched by a combinational circuit (not shown) or the like. A select circuit 25b is provided for selecting a parity bit (1 bit) transmitted from the branched signal lines via the flip-flops 24b and 24d.
[0051]
For the select circuits 25a and 25b, the first control circuit 23a outputs a first select control signal for controlling the select operation in the select circuit 25a. The second control circuit 23b outputs a second select control signal for controlling the select operation in the select circuit 25b in the same clock cycle as the first select control signal described above. In the parity checker 22, the data signal (1 Byte) selected by the select circuit 25a and the parity bit (1 bit) selected by the select circuit 25b are input in the same clock cycle.
[0052]
The parity checker 22 performs a parity check using the data signal (1 Byte) and the parity bit (1 bit) input in the same clock cycle, and outputs the result as an error detection signal.
[0053]
With this configuration, the data transfer circuit 20 can detect the above-described failure of the control system with the same circuit scale as the conventional data transfer circuit 20 as shown in FIG. Further, when compared with the data transfer circuit 20 of the full duplex system shown in FIG. 8, it is possible to detect the above-mentioned control system failure while suppressing an increase in circuit scale, for example, it is not necessary to duplicate the data path unit 21. it can. Further, the data transfer circuit 20 increases the data path width, that is, increases the data transfer amount, while suppressing an increase in circuit scale, as compared with the full-duplex data transfer circuit 20 shown in FIG. can do.
[0054]
FIG. 4 shows a timing chart of main signals for explaining the detection operation in the data transfer circuit 20 shown in FIG. 3, taking as an example the failure of the first select control signal supplied to the select circuit 25a. . The operation for detecting the failure of the second select control signal is the same as the operation for detecting the failure of the first select control signal, and thus the description thereof is omitted.
[0055]
As shown in FIG. 4, in the normal case, the first and second select control signals are switched from the L level to the H level at a predetermined timing in the T2 period. As a result, the select circuits 25a and 25b are switched from the D0 terminal input to the D1 terminal input select.
[0056]
Here, a failure is assumed in which the first select control signal does not switch from the L level to the H level in the T2 period and maintains the L level state (FIG. 4: (A)). In this case, the select circuit 25a maintains the selection of the D0 terminal input. On the other hand, in the select circuit 25b, since the second select control signal is normal, the D0 terminal input is switched to the D1 terminal input select.
[0057]
Therefore, the input in the period T2 of the parity checker 22 is the data signal t2 (0) that is the output of the select circuit 25a and the parity bit t2 (1) that is the output of the select circuit 25b (FIG. 4: (B)). ). In the T3 period, the parity checker 22 performs a parity check on the content of the data signal t2 (0) based on the parity bit t2 (1).
[0058]
Here, since the parity bit t2 (1) is not a parity code based on the content of the data signal t2 (0), the parity between the data signal t2 (0) and the parity bit t2 (1) The relationship is not basically established. Therefore, the parity checker 22 sets the result of the parity check as “error” and outputs an error detection signal (FIG. 4: (C)).
[0059]
In this way, the data transfer circuit 20 can detect a failure in the first or second select control signal supplied to the select circuit 25a, and suppresses an increase in circuit scale as described above, while increasing the circuit scale. Reliability can be realized.
[0060]
<Other elements>
In the embodiment according to the present invention, the flip-flop 24 (D, JK flip-flop, etc.) constituting the data path unit 21 is cleared (reset) to which a reset signal for forcibly resetting the output signal is input. It is assumed that a terminal and a preset (set) terminal to which a set signal for forcibly setting the output signal to “H” or “L” level is input are provided. Here, as an embodiment according to the present invention, a configuration for detecting a failure of a reset signal input to a clear terminal or a set signal input to a preset terminal is also conceivable.
[0061]
In this case, the first element is a flip-flop 24a with a clear / preset terminal to which a data signal is input, and the second element is a clear / reset terminal to which an error detection (or correction) code such as a parity bit is input. A flip-flop 24b is provided. The first control circuit 23a controls the clear / preset operation in the flip-flop 24a, and the second control circuit 23b controls the clear / preset operation in the flip-flop 24b.
[0062]
With this configuration, the data transfer circuit 20 can detect the failure of the clear / preset operation controlled by the flip-flops 24a and 24b, and can realize high reliability.
[0063]
<Storage control device>
A storage control device including the data transfer circuit 20 according to the present invention will be described. In the following, the storage controller is a disk array device 40, and the configuration of the storage device system including the disk array device 40 is shown in FIG.
[0064]
In the storage device system, the host computer 50 and the disk array device 40 are connected via communication means 60 such as ESCON (registered trademark), LAN (Local Area Network), SAN (Storage Area Network) or the like. The host computer 50 is an open system computer such as a mainframe computer, a personal computer, or a workstation.
[0065]
The disk array device 40 includes a channel control unit 41, a disk control unit 42, a cache memory control unit 43 including a cache memory 43a, and a disk drive 45. The channel control unit 41, the disk control unit 42, and the cache memory control unit 43 are communicably connected via a switching control unit 44 configured by a crossbar switch or the like.
[0066]
The channel control unit 41 includes a communication interface with the host computer 50, and controls data transfer between the host computer 50 and the cache memory 43a. The disk control unit 42 controls data transfer between the cache memory 43 a and the disk drive 45. The cache memory 43a is accessible from both the channel control unit 41 and the disk control unit 42, and stores input / output data of the disk drive 45. The cache memory control unit 43 controls access to the cache memory 43a.
[0067]
The disk drive 45 may be controlled by a RAID (Redundant Array of Inexpensive (or Independent) Disks) method. The recording area provided by the disk drive 45 is managed using a logical volume that is a logical storage area set on this storage area.
[0068]
The disk array device 40 having such a configuration includes the data transfer circuit 20 according to the present invention for at least one of the channel control unit 41, the disk control unit 42, the cache memory control unit 43, and the switching control unit 44. For example, in the channel control unit 41, a first element (flip-flop 24a or the like) to which a data signal is input, a second element (flip-flop 24b or the like) to which a verification code corresponding to the data signal is input, A first control circuit (first control circuit 23a) for controlling the operation of the first element, a second control circuit (second control circuit 23b) for controlling the operation of the second element, And an output circuit (parity checker 22 or the like) that outputs a result of comparing the data signal controlled by the element and the verification code controlled by the second element. Become.
[0069]
Here, as described above, the data transfer circuit 20 according to the present invention can improve the reliability while suppressing an increase in circuit scale. Therefore, the disk array device 40 requires fewer circuit changes and additional circuits than those of the conventional data transfer circuit 20, and the data transfer according to the present invention can detect the failure of the operation controlled by the first or second element. By providing the circuit 20, high reliability can be realized at low cost.
[0070]
The storage control device is not limited to the above-described disk array device 40. For example, the storage control device may be a tape array device for cartridge type or open reel type magnetic tapes.
[0071]
As mentioned above, although embodiment of this invention was described concretely based on the embodiment, it is not limited to this and can be variously changed in the range which does not deviate from the summary.
[0072]
【The invention's effect】
According to the present invention, it is possible to provide a semiconductor integrated circuit and a storage control device including the semiconductor integrated circuit.
[Brief description of the drawings]
FIG. 1 is a functional block diagram of a semiconductor integrated circuit (data transfer circuit) according to an embodiment of the present invention.
FIG. 2 is a timing chart for explaining the operation timing of the semiconductor integrated circuit (data transfer circuit) according to the embodiment of the present invention.
FIG. 3 is a functional block diagram of a semiconductor integrated circuit (data transfer circuit) according to another embodiment of the present invention.
FIG. 4 is a timing chart for explaining an operation timing of a semiconductor integrated circuit (data transfer circuit) according to another embodiment of the present invention.
FIG. 5 is a schematic configuration diagram of a system including the storage control device in relation to the storage control device including the semiconductor integrated circuit (data transfer circuit) according to the present invention.
FIG. 6 is a functional block diagram of a conventional semiconductor integrated circuit (data transfer circuit).
FIG. 7 is a timing chart for explaining the operation timing of a conventional semiconductor integrated circuit (data transfer circuit).
FIG. 8 is a functional block diagram when a full duplex system is adopted in a semiconductor integrated circuit (data transfer circuit) according to the present invention.
[Explanation of symbols]
10, 20, 30 Data transfer circuit
21 Data path section
22 Parity checker
23 Control circuit
24 flip-flops
25 Select circuit
40 Disk array device
41 Channel controller
42 Disk controller
43 Cache memory controller
44 Switching control unit
45 disk drive
50 Host computer
60 communication means

Claims (2)

データ信号が入力されるとともに第1のクロックイネーブル信号に基づいて前記データ信号のデータ保持に用いられるクロック信号の有効・無効を制御可能な第1のフリップフロップと、
前記データ信号に付加されたパリティビットが当該データ信号と同クロックサイクルで入力されるとともに第2のクロックイネーブル信号に基づいて前記パリティビットのデータ保持に用いられるクロック信号の有効・無効を制御可能な第2のフリップフロップと、
前記第1のフリップフロップに対して前記第1のクロックイネーブル信号を出力する第1の制御回路と、
前記第2のフリップフロップに対して前記第2のクロックイネーブル信号を出力する第2の制御回路と、
前記第1のフリップフロップにおいて保持された前記データ信号と、前記第2のフリップフロップによって保持された前記パリティビットと、が前記同クロックサイクルにて入力され、当該同クロックサイクルにて入力された前記データ信号及び前記パリティビットを用いてパリティチェックし、その結果を前記第1のクロックイネーブル信号又は前記第2のクロックイネーブル信号若しくは前記データ信号の障害を検出したか否かを示すエラー検出信号として出力するパリティチェッカと、
を有することを特徴とする半導体集積回路。
A first flip-flop capable of controlling the validity / invalidity of a clock signal used to hold data of the data signal based on a first clock enable signal when a data signal is input;
The parity bit added to the data signal is input in the same clock cycle as the data signal, and the validity / invalidity of the clock signal used to hold the data of the parity bit can be controlled based on the second clock enable signal. A second flip-flop;
A first control circuit for outputting the first clock enable signal to the first flip-flop;
A second control circuit for outputting the second clock enable signal to the second flip-flop;
The data signal held in the first flip-flop and the parity bit held by the second flip-flop are input in the same clock cycle and input in the same clock cycle. Parity check is performed using the data signal and the parity bit, and the result is output as an error detection signal indicating whether a failure of the first clock enable signal, the second clock enable signal or the data signal is detected. A parity checker to
A semiconductor integrated circuit comprising:
ホストコンピュータと記憶装置との間で授受されるデータを記憶しておくためのキャッシュメモリと、前記ホストコンピュータと前記キャッシュメモリとの間のデータ転送を制御するチャネル制御部と、前記キャッシュメモリと前記記憶装置との間のデータ転送を制御するディスク制御部と、前記キャッシュメモリを制御するキャッシュメモリ制御部と、前記チャネル制御部と前記ディスク制御部とを通信可能に接続するためのスイッチング制御部と、を有する記憶制御装置において、
前記チャネル制御部、前記ディスク制御部、前記キャッシュメモリ制御部又は前記スイッチング制御部の少なくともいずれか一つは、
データ信号が入力されるとともに第1のクロックイネーブル信号に基づいて前記データ信号のデータ保持に用いられるクロック信号の有効・無効を制御可能な第1のフリップフロップと、
前記データ信号に付加されたパリティビットが当該データ信号と同クロックサイクルで入力されるとともに第2のクロックイネーブル信号に基づいて前記パリティビットのデータ保持に用いられるクロック信号の有効・無効を制御可能な第2のフリップフロップと、
前記第1のフリップフロップに対して前記第1のクロックイネーブル信号を出力する第1の制御回路と、
前記第2のフリップフロップに対して前記第2のクロックイネーブル信号を出力する第2の制御回路と、
前記第1のフリップフロップにおいて保持された前記データ信号と、前記第2のフリップフロップによって保持された前記パリティビットと、が前記同クロックサイクルにて入力され、当該同クロックサイクルにて入力された前記データ信号及び前記パリティビットを用いてパリティチェックし、その結果を前記第1のクロックイネーブル信号又は前記第2のクロックイネーブル信号若しくは前記データ信号の障害を検出したか否かを示すエラー検出信号として出力するパリティチェッカと、
を有する半導体集積回路を備えることを特徴とする記憶制御装置。
A cache memory for storing data exchanged between the host computer and the storage device; a channel control unit for controlling data transfer between the host computer and the cache memory; the cache memory; A disk control unit that controls data transfer to and from the storage device, a cache memory control unit that controls the cache memory, and a switching control unit that connects the channel control unit and the disk control unit in a communicable manner. In a storage control device having
At least one of the channel control unit, the disk control unit, the cache memory control unit, or the switching control unit is:
A first flip-flop capable of controlling the validity / invalidity of a clock signal used to hold data of the data signal based on a first clock enable signal when a data signal is input;
The parity bit added to the data signal is input in the same clock cycle as the data signal, and the validity / invalidity of the clock signal used to hold the data of the parity bit can be controlled based on the second clock enable signal. A second flip-flop;
A first control circuit for outputting the first clock enable signal to the first flip-flop;
A second control circuit for outputting the second clock enable signal to the second flip-flop;
The data signal held in the first flip-flop and the parity bit held by the second flip-flop are input in the same clock cycle and input in the same clock cycle. Parity check is performed using the data signal and the parity bit, and the result is output as an error detection signal indicating whether a failure of the first clock enable signal, the second clock enable signal or the data signal is detected. A parity checker to
A storage control device comprising: a semiconductor integrated circuit including:
JP2002338711A 2002-11-22 2002-11-22 Semiconductor integrated circuit, memory control device Expired - Fee Related JP4067945B2 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2002338711A JP4067945B2 (en) 2002-11-22 2002-11-22 Semiconductor integrated circuit, memory control device

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2002338711A JP4067945B2 (en) 2002-11-22 2002-11-22 Semiconductor integrated circuit, memory control device

Publications (3)

Publication Number Publication Date
JP2004173119A JP2004173119A (en) 2004-06-17
JP2004173119A5 JP2004173119A5 (en) 2005-12-15
JP4067945B2 true JP4067945B2 (en) 2008-03-26

Family

ID=32701846

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2002338711A Expired - Fee Related JP4067945B2 (en) 2002-11-22 2002-11-22 Semiconductor integrated circuit, memory control device

Country Status (1)

Country Link
JP (1) JP4067945B2 (en)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2021135121A (en) * 2020-02-26 2021-09-13 株式会社東芝 Fault detection circuit and fault detection system

Also Published As

Publication number Publication date
JP2004173119A (en) 2004-06-17

Similar Documents

Publication Publication Date Title
JP2694099B2 (en) Large fault tolerant non-volatile multi-port memory
US7130229B2 (en) Interleaved mirrored memory systems
US7076618B2 (en) Memory controllers with interleaved mirrored memory modes
CN100498724C (en) Early CRC delivery for partial frame
JP4294142B2 (en) Disk subsystem
CN100470496C (en) Channel testing with mutable maps
US7395485B2 (en) Check codes mapped across multiple frames
JP5126621B2 (en) Failover and failback of write cache data in dual active controllers
JP4210301B2 (en) Memory channels that use transposed state patterns
US20090193315A1 (en) System for a Combined Error Correction Code and Cyclic Redundancy Check Code for a Memory Channel
US7325179B2 (en) Storage system comprising logical circuit configured in accordance with information in memory on PLD
GB2302428A (en) Multi-media storage system
US7984357B2 (en) Implementing minimized latency and maximized reliability when data traverses multiple buses
US20060004953A1 (en) Method and apparatus for increased memory bandwidth
JP2006526846A (en) Memory channels that can be added / removed while the power is on
US7107343B2 (en) Method and apparatus for improved RAID 1 write performance in low cost systems
CN120743199B (en) Backplane system and storage system
KR100640037B1 (en) File control system and file control device
EP1725941B1 (en) Data communication module providing fault tolerance and increased stability
EP1556769A1 (en) Systems and methods of multiple access paths to single ported storage devices
US7320093B2 (en) Storage apparatus
JP2007011682A (en) Storage controller and storage controller path switching method
JP4067945B2 (en) Semiconductor integrated circuit, memory control device
EP0503936B1 (en) Control system for a storage disk array
CN100419701C (en) Method and apparatus for autonomous bus reconfiguration for fault conditions

Legal Events

Date Code Title Description
RD04 Notification of resignation of power of attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7424

Effective date: 20040928

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20051031

A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20051031

RD02 Notification of acceptance of power of attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7422

Effective date: 20051031

RD04 Notification of resignation of power of attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7424

Effective date: 20051031

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20070618

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20070626

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20070802

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

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20080109

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20110118

Year of fee payment: 3

R150 Certificate of patent or registration of utility model

Free format text: JAPANESE INTERMEDIATE CODE: R150

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20110118

Year of fee payment: 3

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20120118

Year of fee payment: 4

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20130118

Year of fee payment: 5

LAPS Cancellation because of no payment of annual fees