JP2019101446A - 半導体装置及びそれを備えた半導体システム - Google Patents

半導体装置及びそれを備えた半導体システム Download PDF

Info

Publication number
JP2019101446A
JP2019101446A JP2017227774A JP2017227774A JP2019101446A JP 2019101446 A JP2019101446 A JP 2019101446A JP 2017227774 A JP2017227774 A JP 2017227774A JP 2017227774 A JP2017227774 A JP 2017227774A JP 2019101446 A JP2019101446 A JP 2019101446A
Authority
JP
Japan
Prior art keywords
request signal
memory
data
read
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.)
Pending
Application number
JP2017227774A
Other languages
English (en)
Inventor
公彦 中澤
Kimihiko Nakazawa
公彦 中澤
入田 隆宏
Takahiro Irita
隆宏 入田
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.)
Renesas Electronics Corp
Original Assignee
Renesas Electronics Corp
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 Renesas Electronics Corp filed Critical Renesas Electronics Corp
Priority to JP2017227774A priority Critical patent/JP2019101446A/ja
Priority to US16/130,847 priority patent/US10922165B2/en
Priority to EP18206541.7A priority patent/EP3489830A1/en
Priority to CN201811366127.XA priority patent/CN109840221B/zh
Priority to TW107141347A priority patent/TWI790315B/zh
Priority to KR1020180145182A priority patent/KR102628851B1/ko
Publication of JP2019101446A publication Critical patent/JP2019101446A/ja
Priority to US17/149,041 priority patent/US11327830B2/en
Pending legal-status Critical Current

Links

Images

Classifications

    • 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
    • G11C29/08Functional testing, e.g. testing during refresh, power-on self testing [POST] or distributed testing
    • G11C29/12Built-in arrangements for testing, e.g. built-in self testing [BIST] or interconnection details
    • G11C29/38Response verification devices
    • G11C29/42Response verification devices using error correcting codes [ECC] or parity check
    • 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
    • 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/1012Adding 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 codes or arrangements adapted for a specific type of error
    • G06F11/1016Error in accessing a memory location, i.e. addressing error
    • 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/1012Adding 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 codes or arrangements adapted for a specific type of error
    • G06F11/1028Adjacent errors, e.g. error in n-bit (n>1) wide storage units, i.e. package error
    • 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/1044Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's in individual solid state devices with specific ECC/EDC distribution
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/16Protection against loss of memory contents
    • 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
    • G11C29/08Functional testing, e.g. testing during refresh, power-on self testing [POST] or distributed testing
    • G11C29/12Built-in arrangements for testing, e.g. built-in self testing [BIST] or interconnection details
    • G11C29/1201Built-in arrangements for testing, e.g. built-in self testing [BIST] or interconnection details comprising I/O circuitry
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C7/00Arrangements for writing information into, or reading information out from, a digital store
    • G11C7/10Input/output [I/O] data interface arrangements, e.g. I/O data control circuits, I/O data buffers
    • G11C7/1006Data managing, e.g. manipulating data before writing or reading out, data bus switches or control circuits therefor

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Quality & Reliability (AREA)
  • Techniques For Improving Reliability Of Storages (AREA)
  • For Increasing The Reliability Of Semiconductor Memories (AREA)
  • Detection And Correction Of Errors (AREA)
  • Debugging And Monitoring (AREA)
  • Noodles (AREA)

Abstract

【課題】信頼性を向上させることが可能な半導体装置及び半導体システムを提供すること。【解決手段】一実施の形態によれば、半導体装置1は、データD1の書き込みを要求するライトリクエスト信号WRQ1を出力するマスター回路12と、データD1及びライトリクエスト信号WRQ1を受信するバスB1と、バスB1に設けられ、データD1のエラー検出コードC1を生成し、かつ、ライトリクエスト信号WRQ1に含まれる第1アドレス情報に対応する第2アドレス情報を含むライトリクエスト信号WRQ2を生成するバス制御部11と、メモリM1〜M4の記憶領域のうち、ライトリクエスト信号WRQ1によって指定されたアドレスの記憶領域に対してデータD1の書き込みを行うとともに、ライトリクエスト信号WRQ2によって指定されたアドレスの記憶領域に対してエラー検出コードC1の書き込みを行う、メモリコントローラ13_1〜13_4と、を備える。【選択図】図2

Description

本発明は、半導体装置及びそれを備えた半導体システムに関し、例えば信頼性を向上させるのに適した半導体装置及びそれを備えた半導体システムに関する。
近年の半導体システムでは、ECC(Error Correcting Code)を用いることにより、メモリから読み出されたデータのエラー検出及びビット訂正が行われている。それにより、半導体システムは、回路構成を二重化してそれらの結果を比較する場合と比較して、回路規模の増大を抑制しつつ、信頼性を向上させることができる。
ECCに関する技術が特許文献1に開示されている。特許文献1に開示された装置では、メモリコントローラが、データ書き込み時、CPU(Central Processing Unit)から受け取ったデータを外部メモリに書き込み、かつ、当該データを基に作成されたシンドロームコードをECCメモリに書き込む。また、メモリコントローラは、データ読み出し時、外部メモリに記憶されたデータを読み出し、かつ、ECCメモリに記憶された当該データのシンドロームコードを読み出す。その後、メモリコントローラは、そのシンドロームコードを用いて、読み出したデータのエラー検出及び可能な場合にはビット訂正を行う。
特開2008−250671号公報
しかしながら、特許文献1の構成では、外部メモリにデータのアクセスを行うためのアドレス信号と、ECCメモリにシンドロームコードのアクセスを行うためのアドレス信号と、の共通する部分においてビットエラーが発生した場合、誤ったアドレスの記憶領域に記憶されたデータ及びそのシンドロームコードがそれぞれ読み出されてしまい、その結果、ECCチェックにおいてエラーが検出されないという問題があった。つまり、特許文献1の構成では、依然として信頼性を向上させることができないという問題があった。その他の課題と新規な特徴は、本明細書の記述および添付図面から明らかになるであろう。
一実施の形態によれば、半導体装置は、データの書き込みを要求する第1ライトリクエスト信号を出力するマスター回路と、前記データ及び前記第1ライトリクエスト信号を受信するバスと、前記バスに設けられ、前記データのエラー検出コードを生成し、かつ、前記第1ライトリクエスト信号に含まれる第1アドレス情報に対応する第2アドレス情報を含む第2ライトリクエスト信号を生成するバス制御部と、メモリの記憶領域のうち、前記バスから送信された前記第1ライトリクエスト信号によって指定されたアドレスの記憶領域に対して、前記バスから送信された前記データの書き込みを行うとともに、前記バスから送信された前記第2ライトリクエスト信号によって指定されたアドレスの記憶領域に対して、前記バスから送信された前記エラー検出コードの書き込みを行う、メモリコントローラと、を備える。
他の実施の形態によれば、半導体装置は、メモリに書き込まれたデータの読み出しを要求する第1リードリクエスト信号を生成するマスター回路と、前記第1リードリクエスト信号を受信するバスと、前記バスに設けられ、前記第1リードリクエスト信号に含まれる第1アドレス情報に対応する第2アドレス情報を含む第2リードリクエスト信号を生成するバス制御部と、前記メモリの記憶領域のうち、前記バスから送信された前記第1リードリクエスト信号によって指定されたアドレスの記憶領域に記憶された前記データの読み出しを行うとともに、前記バスから送信された前記第2リードリクエスト信号によって指定されたアドレスの記憶領域に記憶された前記データのエラー検出コードの読み出しを行う、メモリコントローラと、を備える。
前記一実施の形態によれば、信頼性を向上させることが可能な半導体装置及びそれを備えた半導体システムを提供することができる。
実施の形態1にかかる半導体システムの構成例を示すブロック図である。 図1に示す半導体装置に設けられたデータ書き込み用回路部分の第1具体的構成例を示すブロック図である。 図2に示す半導体装置の書き込み動作を示すフローチャートである。 図1に示す半導体装置に設けられたデータ読み出し用回路部分の第1具体的構成例を示すブロック図である。 図4に示す半導体装置の読み出し動作を示すフローチャートである。 図1に示す半導体装置に設けられたデータ書き込み用回路部分の第2具体的構成例を示すブロック図である。 図6に示す半導体装置の書き込み動作を示すフローチャートである。 図1に示す半導体装置に設けられたデータ読み出し用回路部分の第2具体的構成例を示すブロック図である。 図8に示す半導体装置の読み出し動作を示すフローチャートである。 図1に示す半導体装置に設けられたデータ書き込み用回路部分の第3具体的構成例を示すブロック図である。 図1に示す半導体装置に設けられたデータ読み出し用回路部分の第3具体的構成例を示すブロック図である。 実施の形態2にかかる半導体システムの構成例を示すブロック図である。 図12に示す半導体装置に設けられたデータ書き込み用回路部分の第1具体的構成例を示すブロック図である。 図12に示す半導体装置に設けられたデータ読み出し用回路部分の第1具体的構成例を示すブロック図である。
説明の明確化のため、以下の記載及び図面は、適宜、省略、及び簡略化がなされている。また、様々な処理を行う機能ブロックとして図面に記載される各要素は、ハードウェア的には、CPU(Central Processing Unit)、メモリ、その他の回路で構成することができ、ソフトウェア的には、メモリにロードされたプログラムなどによって実現される。したがって、これらの機能ブロックがハードウェアのみ、ソフトウェアのみ、またはそれらの組合せによっていろいろな形で実現できることは当業者には理解されるところであり、いずれかに限定されるものではない。なお、各図面において、同一の要素には同一の符号が付されており、必要に応じて重複説明は省略されている。
また、上述したプログラムは、様々なタイプの非一時的なコンピュータ可読媒体を用いて格納され、コンピュータに供給することができる。非一時的なコンピュータ可読媒体は、様々なタイプの実体のある記録媒体を含む。非一時的なコンピュータ可読媒体の例は、磁気記録媒体(例えばフレキシブルディスク、磁気テープ、ハードディスクドライブ)、光磁気記録媒体(例えば光磁気ディスク)、CD−ROM(Read Only Memory)CD−R、CD−R/W、半導体メモリ(例えば、マスクROM、PROM(Programmable ROM)、EPROM(Erasable PROM)、フラッシュROM、RAM(Random Access Memory))を含む。また、プログラムは、様々なタイプの一時的なコンピュータ可読媒体によってコンピュータに供給されてもよい。一時的なコンピュータ可読媒体の例は、電気信号、光信号、及び電磁波を含む。一時的なコンピュータ可読媒体は、電線及び光ファイバ等の有線通信路、又は無線通信路を介して、プログラムをコンピュータに供給できる。
<実施の形態1>
図1は、実施の形態1にかかる半導体装置1及びそれを備えた半導体システムSYS1の構成例を示すブロック図である。
図1に示すように、半導体システムSYS1は、4つのメモリM1〜M4と、メモリM1〜M4へのアクセスを行う半導体装置1と、を備える。なお、本実施の形態では、4つのメモリM1〜M4が設けられた場合を例に説明しているが、これに限られず、2つ以上のメモリが設けられていればよい。
半導体装置1は、CPU12_1、DMAC(Direct Memory Access Controller)12_2、ディスプレイ12_3等のマスター回路(以下、単にマスター回路12とも称す)と、バスB1と、ローカルバス14と、4つのメモリコントローラ(MEMC)13_1〜13_4と、を備える。バスB1には、バス制御部11が設けられている。なお、本実施の形態では、4つのメモリコントローラ13_1〜13_4が設けられた場合を例に説明しているが、これに限られず、メモリの数に応じて2つ以上のメモリコントローラが設けられていてもよい。
例えば、CPU等のマスター回路12は、リクエストを発行し(リクエスト信号を生成し)、バスB1に送信する。バスB1において、バス制御部11は、マスター回路12からのリクエストに基づいて、メモリコントローラ13_1〜13_4のうち指定されたメモリコントローラに対して、対応するメモリへのアクセスを要求する。それにより、指定されたメモリコントローラは、対応するメモリに対してアクセスを行う。メモリへのアクセス結果(読み出しデータ、レスポンス信号など)は、バスB1を経由して、マスター回路12に送信される。なお、バス制御部11は、マスター回路12からのリクエストに基づいて、バスB1及びローカルバス14を経由して、他のスレーブにアクセスすることも可能である。
(半導体装置1に設けられたデータ書き込み用回路部分の第1具体的構成例)
図2は、半導体装置1に設けられたデータ書き込み用回路部分の第1具体的構成例を、半導体装置1aとして示すブロック図である。なお、図2には、半導体装置1aに加えて、メモリM1〜M4も示されている。
図2に示すように、半導体装置1aは、データ書き込み用の回路部分として、マスター回路12と、バスB1に設けられたバス制御部11と、メモリコントローラ13_1〜13_4と、を備える。バス制御部11は、アドレス調整部111と、ECC調整部112と、リクエストルーティング回路113と、を備える。
マスター回路12は、例えば、書き込み用のデータD1、及び、データD1の書き込みを要求するリクエスト信号(以下、ライトリクエスト信号と称す)WRQ1を生成し、バスB1に対して出力する。なお、ライトリクエスト信号WRQ1には、データD1の粒度(バースト、サイズ、レングス等)、ID(Identification)、アドレス情報などが含まれている。
アドレス調整部111は、アドレス変換回路1111を有する。アドレス変換回路1111は、マスター回路12からのライトリクエスト信号WRQ1に含まれるアドレス情報のビット幅を、メモリM1〜M4の規格に合ったビット幅に変更する。
ECC調整部112は、マスター回路12から出力された書き込み用のデータD1に基づいて、エラー検出コードC1を生成したり、ライトリクエスト信号WRQ1に基づいて、エラー検出コードC1用のライトリクエスト信号WRQ2を生成したりする。
具体的には、ECC調整部112は、複製回路1121、ECC生成回路1122及びECCリクエスト生成回路1123を有する。複製回路1121は、データD1及びライトリクエスト信号WRQ1をそれぞれ複製する。ECC生成回路1122は、複製回路1121によって複製されたデータD1に基づいて、そのエラー検出コードC1を生成する。例えば、ECC生成回路1122は、64ビット幅のデータD1に対して、8ビット幅のエラー検出コードC1を生成する。ECCリクエスト生成回路1123は、複製回路1121によって複製されたライトリクエスト信号WRQ1に基づいて、当該ライトリクエスト信号WRQ1に含まれるアドレス情報に対応するアドレス情報、を含む、エラー検出コードC1用のライトリクエスト信号WRQ2を生成し、ライトリクエスト信号WRQ1とは異なる信号経路を介して出力する。本実施の形態では、データD1が書き込まれるメモリと、エラー検出コードC1が書き込まれるメモリと、が異なるため、それぞれのアドレス情報が同じ値を示していてもよい。また、ECCリクエスト生成回路1123は、ライトリクエスト信号WRQ1に付与されているIDに関連付けられた別のIDを、ライトリクエスト信号WRQ2に付与する。それにより、データD1及びそのエラー検出コードC1の組み合わせを一致させることが可能となる。
リクエストルーティング回路113は、マスター回路12及びECC調整部112からの複数のリクエストを、4つのメモリコントローラ13_1〜13_4の何れかに振り分ける。例えば、リクエストルーティング回路113は、データD1及びライトリクエスト信号WRQ1の組み合わせを、メモリコントローラ13_1に割り当て、エラー検出コードC1及びライトリクエスト信号WRQ2の組み合わせを、メモリコントローラ13_2に割り当てる。
メモリコントローラ13_1〜13_4は、それぞれメモリM1〜M4に対してアクセスを行う。例えば、メモリコントローラ13_1は、ライトリクエスト信号WRQ1を受け取ると、メモリM1の記憶領域のうち、ライトリクエスト信号WRQ1に含まれるアドレス情報によって指定されたアドレスの記憶領域に、データD1を書き込む。また、メモリコントローラ13_2は、ライトリクエスト信号WRQ2を受け取ると、メモリM2の記憶領域のうち、ライトリクエスト信号WRQ2に含まれるアドレス情報によって指定されたアドレスの記憶領域に、データD1のエラー検出コードC1を書き込む。
(半導体装置1aのデータ書き込み動作)
続いて、図3を用いて、図2に示す半導体装置1aのデータ書き込み動作について説明する。図3は、半導体装置1aのデータ書き込み動作を示すフローチャートである。
まず、マスター回路12によって、書き込み用のデータD1及びライトリクエスト信号WRQ1が生成され、バスB1に供給される(ステップS101)。
その後、アドレス調整部111によって、ライトリクエスト信号WRQ1に含まれるアドレス情報のビット幅の調整が行われる。その後、ECC調整部112によって、ライトリクエスト信号WRQ1に対応するライトリクエスト信号WRQ2が生成されるとともに(ステップS102)、データD1のエラー検出コードC1が生成される(ステップS103)。
その後、リクエストルーティング回路113によって、例えば、データD1及びライトリクエスト信号WRQ1が、メモリコントローラ13_1に割り当てられ、エラー検出コードC1及びライトリクエスト信号WRQ2が、メモリコントローラ13_2に割り当てられる(ステップS104)。
メモリコントローラ13_1は、ライトリクエスト信号WRQ1を受け取ると、メモリM1の記憶領域のうち、ライトリクエスト信号WRQ1に含まれるアドレス情報によって指定されたアドレスの記憶領域に、データD1を書き込む(ステップS105)。また、メモリコントローラ13_2は、ライトリクエスト信号WRQ2を受け取ると、メモリM2の記憶領域のうち、ライトリクエスト信号WRQ2に含まれるアドレス情報によって指定されたアドレスの記憶領域に、データD1のエラー検出コードC1を書き込む(ステップS106)。
このように、本実施の形態にかかる半導体装置1及びそれを備えた半導体システムSYS1では、バスB1に設けられたバス制御部11が、マスター回路12から受け取ったライトリクエスト信号WRQ1に基づいて、ライトリクエスト信号WRQ1とは別のライトリクエスト信号WRQ2を生成する。そして、バス制御部11は、メモリコントローラ13_1にライトリクエスト信号WRQ1を送信して、メモリM1にデータD1を書き込ませるとともに、メモリコントローラ13_2にライトリクエスト信号WRQ1とは異なる信号経路を介してライトリクエスト信号WRQ2を送信して、メモリM2にデータD1のエラー検出コードC1を書き込ませる。
つまり、本実施の形態にかかる半導体装置1及びそれを備えた半導体システムSYS1では、特許文献1の構成の場合と異なり、CPUとメモリコントローラとの間に設けられたバスB1と、メモリコントローラ13_1,13_2と、の間のメモリアクセスの経路が異なっている。それにより、バスB1からメモリコントローラ13_1を経由してメモリM1に送信されるアドレス信号、及び、バスB1からメモリコントローラ13_2を介してメモリM2に送信されるアドレス信号、の何れかにビットエラーが発生した場合、読み出されるデータ及びエラー検出コードの組み合わせが異なることになるため、ECCチェックにおいて正しくエラーを検出することができる。それにより、本実施の形態にかかる半導体装置1及びそれを備えた半導体システムSYS1は、信頼性を向上させることができる。
(半導体装置1に設けられたデータ読み出し用回路部分の第1具体的構成例)
図4は、半導体装置1aに設けられたデータ読み出し用回路部分の第1具体的構成例を示すブロック図である。なお、図4には、半導体装置1aに加えて、メモリM1〜M4も示されている。
図4に示すように、半導体装置1aは、データ読み出し用の回路部分として、マスター回路12と、バスB1に設けられたバス制御部11と、メモリコントローラ13_1〜13_4と、を備える。バス制御部11は、アドレス調整部115と、ECC調整部116と、リクエストルーティング回路117と、レスポンスルーティング回路118と、記憶部119と、を備える。なお、アドレス調整部、ECC調整部、リクエストルーティング回路、及び、レスポンスルーティング回路は、それぞれ、データ読み出し用とデータ書き込み用とで別々に設けられた場合について説明するが、共通化されていてもよい。
マスター回路12は、例えば、データD1の読み出しを要求するリクエスト信号(以下、リードリクエスト信号と称す)RRQ1を生成し、バスB1に対して出力する。なお、リードリクエスト信号RRQ1には、ID、アドレス情報などが含まれている。
アドレス調整部115は、アドレス変換回路1151を有する。アドレス変換回路1151は、マスター回路12からのリードリクエスト信号RRQ1に含まれるアドレス情報のビット幅を、メモリM1〜M4の規格に合ったビット幅に変更する。
ECC調整部116は、マスター回路12から出力されたリードリクエスト信号RRQ1に基づいて、読み出されるデータD1に対応するエラー検出コードC1用のリードリクエスト信号RRQ2を生成する。
具体的には、ECC調整部116は、複製回路1161及びECCリクエスト生成回路1162を有する。複製回路1161は、リードリクエスト信号RRQ1を複製する。ECCリクエスト生成回路1162は、複製回路1161によって複製されたリードリクエスト信号RRQ1に基づいて、当該リードリクエスト信号RRQ1とは別のエラー検出コードC1用のリードリクエスト信号RRQ2を生成し、リードリクエスト信号RRQ1とは異なる信号経路を介して出力する。本実施の形態では、データD1が読み出されるメモリと、エラー検出コードC1が読み出されるメモリと、が異なるため、それぞれのアドレス情報が同じ値を示していてもよい。また、ECCリクエスト生成回路1162は、リードリクエスト信号RRQ1に付与されているIDに関連付けられた別のIDを、リードリクエスト信号RRQ2に付与する。それにより、読み出されるデータD1及びそのエラー検出コードC1の組み合わせを一致させることが可能となる。
リクエストルーティング回路117は、マスター回路12及びECC調整部116からの複数のリクエストを、4つのメモリコントローラ13_1〜13_4の何れかに振り分ける。例えば、リクエストルーティング回路117は、リードリクエスト信号RRQ1を、メモリコントローラ13_1に割り当て、リードリクエスト信号RRQ2を、メモリコントローラ13_2に割り当てる。
メモリコントローラ13_1〜13_4は、それぞれメモリM1〜M4に対してアクセスを行う。例えば、メモリコントローラ13_1は、リードリクエスト信号RRQ1を受け取ると、メモリM1の記憶領域のうち、リードリクエスト信号RRQ1に含まれるアドレス情報によって指定されたアドレスの記憶領域、に記憶されたデータD1を読み出す。また、メモリコントローラ13_2は、リードリクエスト信号RRQ2を受け取ると、メモリM2の記憶領域のうち、リードリクエスト信号RRQ2に含まれるアドレス情報によって指定されたアドレスの記憶領域、に記憶されたデータD1のエラー検出コードC1を読み出す。
レスポンスルーティング回路118は、メモリM1〜M4から読み出された複数のデータを順番に選択してマスター回路12に返信する回路である。
ここで、レスポンスルーティング回路118は、診断回路1181を有しており、診断回路1181は、メモリM2から読み出されたエラー検出コードC1を用いて、読み出されたデータD1のエラー検出及び可能な場合にはビット訂正を行う。
なお、データD1及びそのエラー検出コードC1は、それぞれ異なるメモリM1,M2から読み出されるため、必ずしも連続して読み出されるとは限らない。そのため、データD1及びそのエラー検出コードC1のうち、先に読み出された一方のデータ(例えばデータD1)及びそのIDは、記憶部119に格納される。その後、記憶部119に記憶された一方のデータのIDと関連付けられたIDを持つ他方のデータ(例えばエラー検出コードC1)が読み出されると、診断回路1181は、そのうちのエラー検出コードC1を用いて、データD1のエラー検出及び可能な場合にはビット訂正を行う。なお、記憶部119は、バスB1やローカルバス14を介して接続された他のスレーブへのアクセスで使用されるデータの一次格納領域としても利用可能である。
診断回路1181によってエラーが検出されなかったデータD1又は訂正されたデータD1は、予定通りマスター回路12に返信される。他方、エラーが検出されたが訂正されなかったデータD1は、そのままマスター回路12に返信され、同時に、エラー情報も返信される。
(半導体装置1aのデータ読み出し動作)
続いて、図5を用いて、図4に示す半導体装置1aのデータ読み出し動作について説明する。図5は、半導体装置1aのデータ読み出し動作を示すタイミングチャートである。
まず、マスター回路12によって、リードリクエスト信号RRQ1が生成され、バスB1に供給される(ステップS201)。
その後、アドレス調整部115によって、リードリクエスト信号RRQ1に含まれるアドレス情報のビット幅の調整が行われる。その後、ECC調整部116によって、リードリクエスト信号RRQ1に対応するリードリクエスト信号RRQ2が生成される(ステップS202)。
その後、リクエストルーティング回路117によって、例えば、リードリクエスト信号RRQ1が、メモリコントローラ13_1に割り当てられ、リードリクエスト信号RRQ2が、メモリコントローラ13_2に割り当てられる(ステップS203)。
メモリコントローラ13_1は、リードリクエスト信号RRQ1を受け取ると、メモリM1の記憶領域のうち、リードリクエスト信号RRQ1に含まれるアドレス情報によって指定されたアドレスの記憶領域に記憶されたデータD1を読み出す(ステップS204)。また、メモリコントローラ13_2は、リードリクエスト信号RRQ2を受け取ると、メモリM2の記憶領域のうち、リードリクエスト信号RRQ2に含まれるアドレス情報によって指定されたアドレスの記憶領域に記憶されたエラー検出コードC1を読み出す(ステップS205)。
その後、レスポンスルーティング回路118によって、メモリM1〜M4から読み出された複数のデータが順番に選択されマスター回路12に返信される。ここで、レスポンスルーティング回路118に設けられた診断回路1181は、メモリM2から読み出されたエラー検出コードC1を用いて、読み出されたデータD1のエラー検出及び可能な場合にはビット訂正を行う(ステップS206)。
診断回路1181による診断の結果、エラーが検出されなかったデータD1、又は、エラーは検出されたが訂正されたデータD1は、予定通りマスター回路12に返信される(ステップS207)。他方、エラーが検出されたが訂正されなかったデータD1は、そのままマスター回路12に返信され、同時に、エラー情報も返信される。
このように、本実施の形態にかかる半導体装置1及びそれを備えた半導体システムSYS1では、バスB1に設けられたバス制御部11が、マスター回路12から受け取ったリードリクエスト信号RRQ1に基づいて、リードリクエスト信号RRQ1とは別のリードリクエスト信号RRQ2を生成する。そして、バス制御部11は、メモリコントローラ13_1にリードリクエスト信号RRQ1を送信して、メモリM1に記憶されたデータD1を読み出させるとともに、メモリコントローラ13_2にリードリクエスト信号RRQ1とは異なる信号経路を介してリードリクエスト信号RRQ2を送信してメモリM2に記憶されたデータD1のエラー検出コードC1を読み出させる。
つまり、本実施の形態にかかる半導体装置1及びそれを備えた半導体システムSYS1では、特許文献1の場合と異なり、CPUとメモリコントローラとの間に設けられたバスB1と、メモリコントローラ13_1,13_2と、の間のメモリアクセスの経路が異なっている。それにより、バスB1からメモリコントローラ13_1を経由してメモリM1に送信されるアドレス信号、及び、バスB1からメモリコントローラ13_2を経由してメモリM2に送信されるアドレス信号、の何れかにビットエラーが発生した場合、読み出されるデータ及びエラー検出コードの組み合わせが異なることになるため、ECCチェックにおいて正しくエラーを検出することができる。それにより、本実施の形態にかかる半導体装置1及びそれを備えた半導体システムSYS1は、信頼性を向上させることができる。
なお、半導体装置1の具体的構成は、上記した半導体装置1aの構成に限られない。以下、その他の具体的構成例について説明する。
(半導体装置1に設けられたデータ書き込み用回路部分の第2具体的構成例)
図6は、半導体装置1に設けられたデータ書き込み用回路部分の第2具体的構成例を、半導体装置1bとして示すブロック図である。なお、図6には、半導体装置1bに加えて、メモリM1〜M4も示されている。
図6に示す半導体装置1bは、図2に示す半導体装置1aと比較して、バス制御部11に代えてバス制御部11bを備える。バス制御部11bは、バス制御部11と比較して、アドレス調整部111及びECC調整部112の構成が異なる。
具体的には、アドレス調整部111bは、アドレス変換回路1111に加えて、アドレス比較回路(判定回路)1112及び記憶部1113をさらに備える。記憶部1113には、複数のライトリクエスト信号WRQ1のうち、エラー検出コードC1の生成対象である書き込みデータD1に対応するライトリクエスト信号WRQ1、のアドレス情報が記憶されている。アドレス比較回路1112は、マスター回路12から出力されたライトリクエスト信号WRQ1のアドレス情報が、記憶部1113に記憶された複数のアドレス情報の何れかと一致するか否かを判定する。
例えば、マスター回路12から出力されたライトリクエスト信号WRQ1のアドレス情報が、記憶部1113に記憶された複数のアドレス情報の何れかと一致する場合、アドレス比較回路1112は、当該ライトリクエスト信号WRQ1とともに出力された書き込みデータD1がエラー検出コードC1の生成対象であると判定し、イネーブル信号ENを活性化させる。それに対し、マスター回路12から出力されたライトリクエスト信号WRQ1のアドレス情報が、記憶部1113に記憶された複数のアドレス情報の何れにも一致しない場合、アドレス比較回路1112は、当該ライトリクエスト信号WRQ1とともに出力された書き込みデータD1がエラー検出コードC1の生成対象でないと判定し、イネーブル信号ENを非活性化させる(活性化させない)。
ECC調整部112bにおいて、複製回路1121bは、イネーブル信号ENが活性化された場合にのみ、データD1及びライトリクエスト信号WRQ1を複製し、それぞれECC生成回路1122及びECCリクエスト生成回路1123に対して出力する。ECC調整部112bのその他の構成については、ECC調整部112の場合と同様であるため、その説明を省略する。
バス制御部11bのデータ書き込み用回路部分のその他の構成については、バス制御部11の場合と同様であるため、その説明を省略する。
(半導体装置1bのデータ書き込み動作)
続いて、図7を用いて、図6に示す半導体装置1bのデータ書き込み動作について説明する。図7は、半導体装置1bのデータ書き込み動作を示すフローチャートである。なお、以下では、主として半導体装置1aと異なる動作について説明する。
まず、マスター回路12によって、書き込み用のデータD1及びライトリクエスト信号WRQ1が生成され、バスB1に供給される(ステップS101)。
その後、アドレス調整部111bによって、ライトリクエスト信号WRQ1に含まれるアドレス情報のビット幅の調整が行われる。また、当該ライトリクエスト信号WRQ1とともに出力された書き込み用のデータD1が、エラー検出コードC1の生成対象であるか否かが判定される(ステップS111)。
例えば、書き込み用のデータD1がエラー検出コードC1の生成対象である場合(ステップS111のYES)、半導体装置1aの場合と同様に、ライトリクエスト信号WRQ2が生成されるとともに(ステップS102)、データD1のエラー検出コードC1が生成される(ステップS103)。その後も、半導体装置1aの場合と同様のデータ書き込み処理が行われる(ステップS104〜S106)。
それに対し、書き込み用のデータD1がエラー検出コードC1の生成対象でない場合(ステップS111のNO)、ライトリクエスト信号WRQ2及びエラー検出コードC1の生成は行われない。その後は、リクエストルーティング回路113によって、例えば、データD1及びライトリクエスト信号WRQ1がメモリコントローラ13_1に割り当てられる(ステップS112)。そして、メモリコントローラ13_1は、ライトリクエスト信号WRQ1を受け取ると、メモリM1の記憶領域のうち、ライトリクエスト信号WRQ1に含まれるアドレス情報によって指定されたアドレスの記憶領域に、データD1を書き込む(ステップS113)。
(半導体装置1に設けられたデータ読み出し用回路部分の第2具体的構成例)
図8は、半導体装置1bに設けられたデータ読み出し用回路部分の第2具体的構成例を示すブロック図である。なお、図8には、半導体装置1bに加えて、メモリM1〜M4も示されている。
図8に示す半導体装置1bは、図4に示す半導体装置1aと比較して、バス制御部11に代えてバス制御部11bを備える。バス制御部11bは、バス制御部11と比較して、アドレス調整部115及びECC調整部116の構成が異なる。
具体的には、アドレス調整部115bは、アドレス変換回路1151に加えて、アドレス比較回路1152及び記憶部1153をさらに備える。記憶部1153には、複数のリードリクエスト信号RRQ1のうち、エラー検出コードC1の生成対象であるデータD1に対応するリードリクエスト信号RRQ1、のアドレス情報(記憶部1113の記憶内容と同等)が記憶されている。アドレス比較回路1152は、マスター回路12から出力されたリードリクエスト信号RRQ1のアドレス情報が、記憶部1153に記憶された複数のアドレス情報の何れかと一致するか否かを判定する。
例えば、マスター回路12から出力されたリードリクエスト信号RRQ1のアドレス情報が、記憶部1153に記憶された複数のアドレス情報の何れかと一致する場合、アドレス比較回路1152は、当該リードリクエスト信号RRQ1によって読み出される予定のデータD1がエラー検出コードC1の生成対象であると判定し、イネーブル信号ENを活性化させる。それに対し、マスター回路12から出力されたリードリクエスト信号RRQ1のアドレス情報が、記憶部1153に記憶された複数のアドレス情報の何れにも一致しない場合、アドレス比較回路1152は、当該リードリクエスト信号RRQ1によって読み出される予定のデータD1がエラー検出コードC1の生成対象でないと判定し、イネーブル信号ENを非活性化させる(活性化させない)。
ECC調整部116bにおいて、複製回路1161bは、イネーブル信号ENが活性化された場合にのみ、リードリクエスト信号RRQ1を複製し、ECCリクエスト生成回路1162に対して出力する。ECCリクエスト生成回路1162は、リードリクエスト信号RRQ1に基づいて、エラー検出コードC1読み出し用のリードリクエスト信号RRQ2を生成し、リードリクエスト信号RRQ1とは異なる信号経路を介して出力する。なお、リードリクエスト信号RRQ1,RRQ2に付与されたIDの情報は、診断回路1181に送信される。そして、診断回路1181は、それらのIDを持つ読み出しデータD1に対してのみ診断(ECCチェック)を行う。ECC調整部116bのその他の構成については、ECC調整部116の場合と同様であるため、その説明を省略する。
バス制御部11bのデータ読み出し用回路部分のその他の構成については、バス制御部11の場合と同様であるため、その説明を省略する。
(半導体装置1bのデータ読み出し動作)
続いて、図9を用いて、図8に示す半導体装置1bのデータ読み出し動作について説明する。図9は、半導体装置1bのデータ読み出し動作を示すフローチャートである。なお、以下では、主として半導体装置1aと異なる動作について説明する。
まず、マスター回路12によって、リードリクエスト信号RRQ1が生成され、バスB1に供給される(ステップS201)。
その後、アドレス調整部115bによって、リードリクエスト信号RRQ1に含まれるアドレス情報のビット幅の調整が行われる。また、当該リードリクエスト信号RRQ1によって読み出される予定のデータD1が、エラー検出コードC1の生成対象であるか否かが判定される(ステップS211)。
例えば、読み出される予定のデータD1がエラー検出コードC1の生成対象である場合(ステップS211のYES)、半導体装置1aの場合と同様に、リードリクエスト信号RRQ2が生成される(ステップS202)。その後も、半導体装置1aの場合と同様のデータ読み出し処理が行われる(ステップS203〜S207)。
それに対し、読み出される予定のデータD1がエラー検出コードC1の生成対象でない場合(ステップS211のNO)、リードリクエスト信号RRQ2の生成は行われない。その後は、リクエストルーティン回路117によって、例えば、リードリクエスト信号RRQ1がメモリコントローラ13_1に割り当てられる(ステップS212)。そして、メモリコントローラ13_1は、リードリクエスト信号RRQ1を受け取ると、メモリM1の記憶領域のうち、リードリクエスト信号RRQ1に含まれるアドレス情報によって指定されたアドレスの記憶領域に記憶されたデータD1を読み出す(ステップS213)。
その後、レスポンスルーティング回路118によって、メモリM1〜M4から読み出された複数のデータが順番に選択されマスター回路12に返信される。なお、読み出されたデータD1は、エラー検出コードC1の生成対象でないため、診断回路1181によるエラー検出が行われることなく、そのままマスター回路12に返信される(ステップS213)。
このように、半導体装置1bは、半導体装置1aの場合と同等程度の効果を奏することができる。さらに、半導体装置1bは、複数の書き込みデータD1の中からエラー検出コードC1の生成対象(即ち、エラー検出対象)を選択することができる。
(半導体装置1に設けられたデータ書き込み用回路部分の第3具体的構成例)
図10は、半導体装置1に設けられたデータ書き込み用回路部分の第3具体的構成例を、半導体装置1cとして示すブロック図である。なお、図10には、半導体装置1cに加えて、メモリM1〜M4も示されている。
ここで、半導体装置1cでは、バスB1に、AXIプロトコルに準拠したバス(AXIバス)が採用されている。そのため、半導体装置1cは、マスター回路12からライトリクエスト信号WRQ1が送信された場合、メモリM1等にデータD1が書き込まれた後、そのことを示すレスポンス信号(以下、ライトレスポンス信号と称す)をマスター回路12に返信する必要がある。
しかしながら、単純にライトレスポンス信号を返す機能を追加しただけでは、1つのライトリクエスト信号WRQ1に対して、メモリM1等にデータD1が書き込まれたことを示すライトレスポンス信号WRS1、及び、メモリM2等にデータD1のエラー検出コードC1が書き込まれたことを示すライトレスポンス信号WRS2、の2つが返信されてしまう。
そこで、本実施の形態では、メモリM1等にデータD1が書き込まれたことを示すライトレスポンス信号WRS1、及び、メモリM2等にデータD1のエラー検出コードC1が書き込まれたことを示すライトレスポンス信号WRS2のうち、ライトレスポンス信号WRS1のみを返信している。
具体的には、図10に示す半導体装置1cは、図2に示す半導体装置1aと比較して、バス制御部11に代えてバス制御部11cを備える。バス制御部11cは、バス制御部11と比較して、ECC調整部112に代えてECC調整部112cを備えるとともに、レスポンスルーティング回路114をさらに備える。
レスポンスルーティング回路114は、メモリコントローラ13_1〜13_4のそれぞれからメモリM1〜M4に所望するデータが書き込まれたことを示す複数のライトレスポンス信号を受け取ると、順番にレスポンス制御回路1124に送信する。レスポンス制御回路1124は、例えば、メモリM1にデータD1が書き込まれたことを示すライトレスポンス信号WRS1、及び、メモリM2にデータD1のエラー検出コードC1が書き込まれたことを示すライトレスポンス信号WRS2のうち、いずれか一方のレスポンス信号(ここではライトレスポンス信号WRS1)のみを選択して、マスター回路12に返信する。
それにより、マスター回路12は、AXIプロトコルに従って、1つのライトリクエスト信号WRQ1の送信に対して、1つのライトレスポンス信号WRS1を受信することができる。
バス制御部11cのデータ書き込み用回路部分のその他の構成については、バス制御部11の場合と同様であるため、その説明を省略する。
(半導体装置1に設けられたデータ読み出し用回路部分の第3具体的構成例)
図11は、半導体装置1cに設けられたデータ読み出し用回路部分の第3具体的構成例を示すブロック図である。なお、図11には、半導体装置1cに加えて、メモリM1〜M4が示されている。
ここで、半導体装置1cでは、バスB1に、AXIプロトコルに準拠したバス(AXIバス)が採用されている。そのため、半導体装置1cは、マスター回路12からリードリクエスト信号RRQ1が送信された場合、メモリM1等からデータD1が読み出された後、そのことを示すレスポンス信号(以下、リードレスポンス信号と称す)をマスター回路12に返信する必要がある。
しかしながら、単純にリードレスポンス信号を返す機能を追加しただけでは、1つのリードリクエスト信号RRQ1に対して、メモリM1等に記憶されたデータD1が読み出されたことを示すリードレスポンス信号RRS1、及び、メモリM2等に記憶されたデータD1のエラー検出コードC1が読み出されたことを示すリードレスポンス信号RRS2、の2つが返信されてしまう。
そこで、本実施の形態では、メモリM1等からデータD1が読み出されたことを示すリードレスポンス信号RRS1、及び、メモリM2等からデータD1のエラー検出コードC1が読み出されたことを示すリードレスポンス信号RRS2のうち、リードレスポンス信号RRS1のみを返信している。
具体的には、図11に示す半導体装置1cは、図4に示す半導体装置1aと比較して、バス制御部11に代えてバス制御部11cを備える。バス制御部11cは、バス制御部11と比較して、レスポンスルーティング回路118の構成が異なる。
レスポンスルーティング回路118cは、診断回路1181に加えて、レスポンス制御回路1182をさらに備える。レスポンス制御回路1182は、例えば、メモリM1等からデータD1が読み出されたことを示すリードレスポンス信号RRS1、及び、メモリM2等からデータD1のエラー検出コードC1が読み出されたことを示すリードレスポンス信号RRS2のうち、いずれか一方のレスポンス信号(ここではリードレスポンス信号RRS1)のみを選択して、マスター回路12に返信する。
それにより、マスター回路12は、AXIプロトコルに従って、1つのリードリクエスト信号RRQ1の送信に対して、1つのリードレスポンス信号RRS1を受信することができる。
バス制御部11cのデータ読み出し用回路部分のその他の構成については、バス制御部11の場合と同様であるため、その説明を省略する。
<実施の形態2>
図12は、実施の形態2にかかる半導体装置2及びそれを備えた半導体システムSYS2の構成例を示すブロック図である。半導体システムSYS1では、複数のメモリM1〜M4が設けられていたのに対し、半導体システムSYS2では、単体のメモリM1のみが設けられている。以下、具体的に説明する。
図12に示すように、半導体システムSYS2は、1つのメモリM1と、メモリM1へのアクセスを行う半導体装置2と、を備える。半導体装置2は、CPU22_1、DMAC22_2、ディスプレイ22_3等のマスター回路(以下、単にマスター回路22とも称す)と、バスB2と、ローカルバス24と、メモリコントローラ(MEMC)23と、を備える。バスB2には、バス制御部21が設けられている。
なお、半導体装置2におけるCPU22_1、DMAC22_2、ディスプレイ22_3、バスB2、ローカルバス24及びメモリコントローラ23は、それぞれ、半導体装置1におけるCPU12_1、DMAC12_2、ディスプレイ12_3、バスB1、ローカルバス14及びメモリコントローラ13_1に対応する。
(半導体装置2に設けられたデータ書き込み用回路部分の具体的構成例)
図13は、半導体装置2に設けられたデータ書き込み用回路部分の具体的構成例を、半導体装置2aとして示すブロック図である。なお、図13には、半導体装置2aに加えて、メモリM1も示されている。
図13に示すように、半導体装置2aは、データ書き込み用の回路部分として、マスター回路22と、バスB2に設けられたバス制御部21と、メモリコントローラ23と、を備える。バス制御部21は、アドレス調整部211と、ECC調整部212と、リクエストルーティング回路213と、レスポンスルーティング回路214と、を備える。また、アドレス調整部211は、アドレス変換回路2111を有する。ECC調整部212は、複製回路2121、ECC生成回路2122、ECCリクエスト生成回路2123、及び、レスポンス制御回路2124を有する。
なお、アドレス調整部211、ECC調整部212、リクエストルーティング回路213、及び、レスポンスルーティング回路214は、それぞれ、アドレス調整部111、ECC調整部112、リクエストルーティング回路113、及び、レスポンスルーティング回路114に対応する。また、アドレス変換回路2111、複製回路2121、ECC生成回路2122、ECCリクエスト生成回路2123、及び、レスポンス制御回路2124は、それぞれ、アドレス変換回路1111、複製回路1121、ECC生成回路1122、ECCリクエスト生成回路1123、及び、レスポンス制御回路1124に対応する。
ここで、データD1及びそのエラー検出コードC1は、何れも共通のメモリM1に書き込まれるため、ECCリクエスト生成回路2123によって生成されるライトリクエスト信号WRQ2に含まれるアドレス情報は、マスター回路22によって生成されるライトリクエスト信号WRQ1に含まれるアドレス情報と異なる値を示す。例えば、ライトリクエスト信号WRQ2に含まれるアドレス情報の下位ビットの値が、ライトリクエスト信号WRQ1に含まれるアドレス情報の下位ビットの値の反転値を示している。
また、リクエストルーティング回路213は、メモリコントローラ23に対してライトリクエスト信号WRQ1,WRQ2をシリアルに割り当てる。それにより、メモリコントローラ23は、例えば、メモリM1の記憶領域のうち、ライトリクエスト信号WRQ1に基づいて指定されたアドレスの記憶領域に、データD1を書き込み、その後、ライトリクエスト信号WRQ2に基づいて指定されたアドレスの記憶領域に、データD1のエラー検出コードC1を書き込む。
バス制御部21のデータ書き込み用回路部分のその他の構成及び動作については、バス制御部11cの場合と同様であるため、その説明を省略する。
このように、本実施の形態にかかる半導体装置2及びそれを備えた半導体システムSYS2では、バスB2に設けられたバス制御部21が、マスター回路22から受け取ったライトリクエスト信号WRQ1に基づいて、ライトリクエスト信号WRQ1に含まれるアドレス情報とは異なるアドレス情報を含むライトリクエスト信号WRQ2を生成する。そして、バス制御部21は、例えば、メモリコントローラ23にライトリクエスト信号WRQ1を送信してメモリM1にデータD1を書き込ませた後に、メモリコントローラ23にライトリクエスト信号WRQ2を送信してメモリM1にデータD1のエラー検出コードC1を書き込ませる。
つまり、本実施の形態にかかる半導体装置2及びそれを備えた半導体システムSYS2では、CPUとメモリコントローラとの間に設けられたバスB2と、メモリコントローラ23と、の間のメモリアクセスの経路が同じであるが、データ書き込み用のアドレス情報と、エラー検出コード書き込み用のアドレス情報と、が異なっている。それにより、バスB2からメモリコントローラ23を経由してメモリM1に送信されるデータD1書き込み用のアドレス信号、及び、バスB2からメモリコントローラ23を経由してメモリM1に送信されるエラー検出コードC1書き込み用のアドレス信号、の何れかにビットエラーが発生した場合、読み出されるデータ及びエラー検出コードの組み合わせが異なることになるため、ECCチェックにおいて正しくエラーを検出することができる。例えば、共通のアドレスバスの1ビットに縮退故障が発生している場合において、当該1ビットのアドレス値が両アドレス信号で異なる場合には、一方のアドレス信号のみがエラーとなる。この場合、読み出されるデータ及びエラー検出コードの組み合わせが異なることになるため、ECCチェックにおいて正しくエラーを検出することができる。それにより、本実施の形態にかかる半導体装置2及びそれを備えた半導体システムSYS2は、信頼性を向上させることができる。
(半導体装置2に設けられたデータ読み出し用回路部分の具体的構成例)
図14は、半導体装置2aに設けられたデータ読み出し用回路部分の具体的構成例を示すブロック図である。なお、図14には、半導体装置2aに加えて、メモリM1も示されている。
図14に示すように、半導体装置2aは、データ読み出し用の回路部分として、マスター回路22と、バスB2に設けられたバス制御部21と、メモリコントローラ23と、を備える。バス制御部21は、アドレス調整部215と、ECC調整部216と、リクエストルーティング回路217と、レスポンスルーティング回路218と、記憶部219と、を備える。また、アドレス調整部215は、アドレス変換回路2151を有する。ECC調整部216は、複製回路2161及びECCリクエスト生成回路2162を有する。レスポンスルーティング回路218は、診断回路2181及びレスポンス制御回路2182を有する。
本実施の形態では、アドレス調整部、ECC調整部、リクエストルーティング回路、及び、レスポンスルーティング回路は、それぞれ、データ読み出し用とデータ書き込み用とで別々に設けられた場合について説明するが、共通化されていてもよい。
なお、アドレス調整部215、ECC調整部216、リクエストルーティング回路217、及び、レスポンスルーティング回路218は、それぞれ、アドレス調整部115、ECC調整部116、リクエストルーティング回路117、及び、レスポンスルーティング回路118に対応する。また、アドレス変換回路2151、複製回路2161、ECCリクエスト生成回路2162、診断回路2181、及び、レスポンス制御回路2182は、それぞれ、アドレス変換回路1151、複製回路1161、ECCリクエスト生成回路1162、診断回路1181、及び、レスポンス制御回路1182に対応する。
ここで、データD1及びそのエラー検出コードC1は、共通のメモリM1の異なる記憶領域に書き込まれているため、ECCリクエスト生成回路2162によって生成されるリードリクエスト信号RRQ2に含まれるアドレス情報は、マスター回路22によって生成されるリードリクエスト信号RRQ1に含まれるアドレス情報と異なる値を示す。例えば、リードリクエスト信号RRQ2に含まれるアドレス情報の下位ビットの値が、リードリクエスト信号RRQ1に含まれるアドレス情報の下位ビットの値の反転値を示している。
また、リクエストルーティング回路217は、メモリコントローラ23に対してリードリクエスト信号RRQ1,RRQ2をシリアルに割り当てる。それにより、メモリコントローラ23は、例えば、メモリM1の記憶領域のうち、リードリクエスト信号RRQ1に基づいて指定されたアドレスの記憶領域に記憶されたデータD1を読み出し、その後、リードリクエスト信号RRQ2に基づいて指定されたアドレスの記憶領域に記憶されたデータD1のエラー検出コードC1を読み出す。
このとき、メモリコントローラ23は、データD1及びそのエラー検出コードC1を連続して読み出すことができる。それにより、診断回路2181によるエラー検出及びビット訂正を速やかに実行することが可能となる。
バス制御部21のデータ読み出し用回路部分のその他の構成及び動作については、バス制御部11cの場合と同様であるため、その説明を省略する。
このように、本実施の形態にかかる半導体装置2及びそれを備えた半導体システムSYS2では、バスB2に設けられたバス制御部21が、マスター回路22から受け取ったリードリクエスト信号RRQ1に基づいて、リードリクエスト信号RRQ1に含まれるアドレス情報とは異なるアドレス情報を含むリードリクエスト信号RRQ2を生成する。そして、バス制御部21は、例えば、メモリコントローラ23にリードリクエスト信号RRQ1を送信してメモリM1に記憶されたデータD1を読み出させるとともに、メモリコントローラ23にリードリクエスト信号RRQ2を送信してメモリM1に記憶されたデータD1のエラー検出コードC1を読み出させる。
つまり、本実施の形態にかかる半導体装置2及びそれを備えた半導体システムSYS2では、CPUとメモリコントローラとの間に設けられたバスB2と、メモリコントローラ23と、の間のメモリアクセスの経路が同じであるが、データ読み出し用のアドレス情報と、エラー検出コード読み出し用のアドレス情報と、が異なっている。それにより、バスB2からメモリコントローラ23を経由してメモリM1に送信されるデータD1読み出し用のアドレス信号、及び、バスB2からメモリコントローラ23を経由してメモリM1に送信されるエラー検出コードC1読み出し用のアドレス信号、の何れかにビットエラーが発生した場合、読み出されるデータ及びエラー検出コードの組み合わせが異なることになるため、ECCチェックにおいて正しくエラーを検出することができる。例えば、共通のアドレスバスの1ビットに縮退故障が発生している場合において、当該1ビットのアドレス値が両アドレス信号で異なる場合には、一方のアドレス信号のみがエラーとなる。この場合、読み出されるデータ及びエラー検出コードの組み合わせが異なることになるため、ECCチェックにおいて正しくエラーを検出することができる。それにより、本実施の形態にかかる半導体装置2及びそれを備えた半導体システムSYS2は、信頼性を向上させることができる。
なお、本実施の形態では、全てのデータD1がエラー検出コードC1の生成対象(即ち、エラー検出対象)である場合を例に説明したが、これに限られない。半導体装置2は、半導体装置1bの場合のように、複数のデータD1の中からエラー検出コードC1の生成対象(即ち、エラー検出対象)を選択可能な構成に適宜変更可能である。
<その他の実施形態>
上記実施の形態1,2では、ECC生成回路1122等が、64ビット幅のデータD1に対して、8ビット幅のエラー検出コードC1を生成する場合を例に説明したが、これに限られない。ECC生成回路1122等は、任意のビット幅のデータD1に対して、任意のビット幅のエラー検出コードC1を生成する構成に適宜変更可能である。例えば、ECC生成回路1122等は、8ビット幅のデータD1に対して、5ビット幅のエラー検出コードC1を生成する構成に適宜変更可能である。あるいは、ECC生成回路1122等は、64ビット幅のデータD1に対して、8ビット幅のエラー検出コードC1を生成する第1モードと、8ビット幅のデータD1に対して、5ビット幅のエラー検出コードC1を生成する第2モードと、を選択可能に構成されてもよい。第1モードでは、帯域及びデータ量が抑制され、第2モードでは、信頼性が向上する。
また、リクエストルーティング回路113等は、アクセス対象のメモリM1〜Mn(nは自然数)へのアクセス状況(例えば、各メモリへのアクセス頻度、各チャネルの帯域使用率)に基づいて、次にアクセスするメモリ及びその記憶領域を選択できるように構成されてもよい。例えば、リクエストルーティング回路113は、メモリM1へのアクセス頻度が設定頻度に達した場合、アクセス対象をメモリM1から例えばアクセス頻度の低いメモリM3に変更するように構成されてもよい。それにより、特定のメモリにアクセスが集中するのを防ぐことができ、負荷を分散させることができる。
さらに、上記実施の形態1,2に係る半導体装置は、マスター回路12から送信されたリクエスト信号が複製対象であるか否かに基づいて、バスのアクセス権の管理を行う制御回路をさらに備えてもよい。この制御回路は、例えば、マスター回路12から送信されたリクエスト信号が複製対象である場合には、リクエスト信号2個分のバスのアクセス権をマスター回路12に付与し、マスター回路12から送信されたリクエスト信号が複製対象でない場合には、リクエスト信号1個分のバスアクセス権をマスター回路12に付与する。それにより、例えば、複製対象のリクエスト信号が発行された場合には、リクエスト信号1個分のバスアクセス権が空いている場合でも、バスアクセス権を付与せずに待機させることができる。
以上、本発明者によってなされた発明を実施の形態に基づき具体的に説明したが、本発明は既に述べた実施の形態に限定されるものではなく、その要旨を逸脱しない範囲において種々の変更が可能であることはいうまでもない。
上記実施の形態の一部又は全部は、以下の付記のようにも記載され得るが、以下には限られない。
(付記1)
データの書き込みを要求する第1ライトリクエスト信号を出力するマスター回路と、
前記データ及び前記第1ライトリクエスト信号を受信するバスと、
前記バスに設けられ、前記データのエラー検出コードを生成し、かつ、前記第1ライトリクエスト信号に含まれる第1アドレス情報に対応する第2アドレス情報を含む第2ライトリクエスト信号を生成するバス制御部と、
メモリの記憶領域のうち、前記バスから送信された前記第1ライトリクエスト信号によって指定されたアドレスの記憶領域に対して、前記バスから送信された前記データの書き込みを行うとともに、前記バスから送信された前記第2ライトリクエスト信号によって指定されたアドレスの記憶領域に対して、前記バスから送信された前記エラー検出コードの書き込みを行う、メモリコントローラと、
を備えた、半導体装置。
(付記2)
前記マスター回路は、さらに、前記メモリに書き込まれた前記データの読み出しを要求する第1リードリクエスト信号を出力するように構成され、
前記バス制御部は、さらに、前記第1リードリクエスト信号に含まれる前記第1アドレス情報に対応する前記第2アドレス情報を含む第2リードリクエスト信号を生成するように構成され、
前記メモリコントローラは、さらに、前記メモリの記憶領域のうち、前記バスから送信された前記第1リードリクエスト信号によって指定されたアドレスの記憶領域に記憶された前記データの読み出しを行うとともに、前記バスから送信された前記第2リードリクエスト信号によって指定されたアドレスの記憶領域に記憶された前記データのエラー検出コードの読み出しを行うように構成されている、
付記1に記載の半導体装置。
(付記3)
前記バス制御部は、
前記データのエラー検出コードを生成するECC(Error Correcting Code)生成回路を備えた、
付記1に記載の半導体装置。
(付記4)
前記バス制御部は、
前記データに対して、第1ビット幅の前記エラー検出コード、及び、前記第1ビット幅と異なる第2ビット幅の前記エラー検出コードの何れかをモードに応じて選択的に出力するECC(Error Correcting Code)生成回路を備えた、
付記1に記載の半導体装置。
(付記5)
前記メモリは、
第1〜第n(nは2以上の整数)メモリによって構成され、
前記メモリコントローラは、
前記第1〜前記第nメモリのそれぞれに対してアクセスを行う第1〜第nメモリコントローラによって構成され、
前記バス制御部は、
前記第1〜前記第nメモリコントローラによる前記第1〜前記第nメモリへのアクセス状況に基づいて選択された何れかのメモリコントローラに対して、前記データ及び前記第1ライトリクエスト信号を割り当てるとともに、前記第1〜前記第nメモリコントローラによる前記第1〜前記第nメモリへのアクセス状況に基づいて選択された他の何れかのメモリコントローラに対して、前記データ及び前記第1ライトリクエスト信号を割り当てる、リクエストルーティング回路を備えた、
付記1に記載の半導体装置。
(付記6)
前記メモリは、
第1〜第n(nは2以上の整数)メモリによって構成され、
前記メモリコントローラは、
前記第1〜前記第nメモリのそれぞれに対してアクセスを行う第1〜第nメモリコントローラによって構成され、
前記バス制御部は、
前記第1〜前記第nメモリコントローラによる前記第1〜前記第nメモリへのアクセス状況に基づいて選択された何れかのメモリコントローラに対して、前記データ及び前記第1リードリクエスト信号を割り当てるとともに、前記第1〜前記第nメモリコントローラによる前記第1〜前記第nメモリへのアクセス状況に基づいて選択された他の何れかのメモリコントローラに対して、前記データ及び前記第1リードリクエスト信号を割り当てる、リクエストルーティング回路を備えた、
付記2に記載の半導体装置。
(付記7)
前記バス制御部は、
前記マスター回路から送信された前記第1ライトリクエスト信号が複製対象であるか否かに基づいて、前記マスター回路に付与する前記バスのアクセス権の個数を制御する、
付記1に記載の半導体装置。
(付記8)
前記バス制御部は、
前記マスター回路から送信された前記第1ライトリクエスト信号が複製対象である場合には、前記マスター回路に対してリクエスト信号2個分の前記バスのアクセス権を付与し、
前記マスター回路から送信された前記第1ライトリクエスト信号が複製対象でない場合には、前記マスター回路に対してリクエスト信号1個分の前記バスのアクセス権を付与する、
付記1に記載の半導体装置。
(付記9)
前記バス制御部は、
前記マスター回路から送信された前記第1リードリクエスト信号が複製対象であるか否かに基づいて、前記マスター回路に付与する前記バスのアクセス権の個数を制御する、
付記2に記載の半導体装置。
(付記10)
前記バス制御部は、
前記マスター回路から送信された前記第1リードリクエスト信号が複製対象である場合には、前記マスター回路に対してリクエスト信号2個分の前記バスのアクセス権を付与し、
前記マスター回路から送信された前記第1リードリクエスト信号が複製対象でない場合には、前記マスター回路に対してリクエスト信号1個分の前記バスのアクセス権を付与する、
付記2に記載の半導体装置。
1,1a,1b,1c 半導体装置
2,2a 半導体装置
11,11b,11c バス制御部
12 マスター回路
12_1,22_1 CPU
12_2,22_2 DMAC
12_3,22_3 ディスプレイ
13 メモリコントローラ
13_1〜13_4 メモリコントローラ
14 ローカルバス
21 バス制御部
22 マスター回路
23 メモリコントローラ
24 ローカルバス
111,111b アドレス調整部
112,112b,112c ECC調整部
113 リクエストルーティング回路
114 レスポンスルーティング回路
115,115b アドレス調整部
116,116b ECC調整部
117 リクエストルーティング回路
118,118c レスポンスルーティング回路
119 記憶部
211 アドレス調整部
212 ECC調整部
213 リクエストルーティング回路
214 リクエストルーティング回路
215 アドレス調整部
216 ECC調整部
217 リクエストルーティング回路
218 レスポンスルーティング回路
219 記憶部
1111 アドレス変換回路
1112 アドレス比較回路
1113 記憶部
1121,1121b 複製回路
1122 ECC生成回路
1123 ECCリクエスト生成回路
1124 レスポンス制御回路
1151 アドレス変換回路
1152 アドレス比較回路
1153 記憶部
1161,1161b 複製回路
1162 ECCリクエスト生成回路
1181 診断回路
1182 レスポンス制御回路
2111 アドレス変換回路
2121 複製回路
2122 ECC生成回路
2123 ECCリクエスト生成回路
2124 レスポンス制御回路
2151 アドレス変換回路
2161 複製回路
2162 ECCリクエスト生成回路
2181 診断回路
2182 レスポンス制御回路
B1,B2 バス
M1〜M4 メモリ
SYS1 半導体システム
SYS2 半導体システム

Claims (19)

  1. データの書き込みを要求する第1ライトリクエスト信号を出力するマスター回路と、
    前記データ及び前記第1ライトリクエスト信号を受信するバスと、
    前記バスに設けられ、前記データのエラー検出コードを生成し、かつ、前記第1ライトリクエスト信号に含まれる第1アドレス情報に対応する第2アドレス情報を含む第2ライトリクエスト信号を生成するバス制御部と、
    メモリの記憶領域のうち、前記バスから送信された前記第1ライトリクエスト信号によって指定されたアドレスの記憶領域に対して、前記バスから送信された前記データの書き込みを行うとともに、前記バスから送信された前記第2ライトリクエスト信号によって指定されたアドレスの記憶領域に対して、前記バスから送信された前記エラー検出コードの書き込みを行う、メモリコントローラと、
    を備えた、半導体装置。
  2. 前記バス制御部は、
    前記第1ライトリクエスト信号に含まれる前記第1アドレス情報とは異なる前記第2アドレス情報を含む前記第2ライトリクエスト信号を生成するリクエスト信号生成回路と、
    前記メモリコントローラに対し、前記データ及び前記第1ライトリクエスト信号、及び、前記エラー検出コード及び前記第2ライトリクエスト信号、の何れか一方の組み合わせを送信した後に、他方の組み合わせを送信する、リクエストルーティング回路と、を備え、
    前記メモリコントローラは、
    前記メモリの記憶領域のうち、前記第1ライトリクエスト信号によって指定されたアドレスの記憶領域に対して、前記データの書き込みを行うとともに、前記第2ライトリクエスト信号によって指定された、前記第1ライトリクエスト信号とは異なるアドレスの記憶領域に対して、前記エラー検出コードの書き込みを行うように構成されている、
    請求項1に記載の半導体装置。
  3. 前記メモリは、
    第1メモリ及び第2メモリによって構成され、
    前記メモリコントローラは、
    前記第1メモリに対してアクセスを行う第1メモリコントローラと、前記第2メモリに対してアクセスを行う第2メモリコントローラと、によって構成され、
    前記バス制御部は、
    前記第2ライトリクエスト信号を生成し、前記第1ライトリクエスト信号とは異なる信号経路を介して出力するリクエスト信号生成回路と、
    前記データ及び前記第1ライトリクエスト信号、及び、前記エラー検出コード及び前記第2ライトリクエスト信号、の一方の組み合わせを前記第1メモリコントローラに割り当てるとともに、他方の組み合わせを前記第2メモリコントローラに割り当てる、リクエストルーティング回路と、を備え、
    前記第1メモリコントローラは、
    前記第1メモリの記憶領域のうち、前記第1及び前記第2ライトリクエスト信号の一方によって指定されたアドレスの記憶領域に対して、前記データ及び前記エラー検出コードの一方の書き込みを行うように構成され、
    前記第2メモリコントローラは、
    前記第2メモリの記憶領域のうち、前記第1及び前記第2ライトリクエスト信号の他方によって指定されたアドレスの記憶領域に対して、前記データ及び前記エラー検出コードの他方の書き込みを行うように構成されている、
    請求項1に記載の半導体装置。
  4. 前記バス制御部は、
    前記第1ライトリクエスト信号によって書き込み要求された前記データが、エラー検出コードの生成対象であるか否かを判定する判定回路をさらに備え、
    前記バス制御部は、前記判定回路によって前記データがエラー検出コードの生成対象であると判定された場合にのみ、前記データのエラー検出コードを生成し、かつ、前記第1ライトリクエスト信号に対応する前記第2ライトリクエスト信号を生成する、
    請求項1に記載の半導体装置。
  5. 前記バス制御部は、
    前記メモリに前記データが書き込まれたことを示す第1ライトレスポンス信号と、前記メモリに前記データのエラー検出コードが書き込まれたことを示す第2ライトレスポンス信号と、のうち、いずれか一方のライトレスポンス信号のみ、前記マスター回路に対して出力するレスポンス制御回路をさらに備えた、
    請求項1に記載の半導体装置。
  6. 前記バスは、AXIプロトコルに準拠したバスである、
    請求項5に記載の半導体装置。
  7. 前記マスター回路は、さらに、前記メモリに書き込まれた前記データの読み出しを要求する第1リードリクエスト信号を出力するように構成され、
    前記バス制御部は、さらに、前記第1リードリクエスト信号に含まれる前記第1アドレス情報に対応する前記第2アドレス情報を含む第2リードリクエスト信号を生成するように構成され、
    前記メモリコントローラは、さらに、前記メモリの記憶領域のうち、前記バスから送信された前記第1リードリクエスト信号によって指定されたアドレスの記憶領域に記憶された前記データの読み出しを行うとともに、前記バスから送信された前記第2リードリクエスト信号によって指定されたアドレスの記憶領域に記憶された前記データのエラー検出コードの読み出しを行うように構成されている、
    請求項1に記載の半導体装置。
  8. 前記バス制御部は、
    前記第1リードリクエスト信号に含まれる前記第1アドレス情報とは異なる前記第2アドレス情報を含む前記第2ライトリクエスト信号を生成するリクエスト信号生成回路と、
    前記メモリコントローラに対し、前記第1及び前記第2リードリクエスト信号の何れか一方を送信した後に、他方を送信する、リクエストルーティング回路と、を備え、
    前記メモリコントローラは、
    前記メモリの記憶領域のうち、前記第1リードリクエスト信号によって指定されたアドレスの記憶領域に記憶された前記データの読み出しを行うとともに、前記第2リードリクエスト信号によって指定された、前記第1リードリクエスト信号とは異なるアドレスの記憶領域に記憶された前記データのエラー検出コードの読み出しを行うように構成されている、
    請求項7に記載の半導体装置。
  9. 前記メモリは、
    第1メモリ及び第2メモリによって構成され、
    前記メモリコントローラは、
    前記第1メモリに対してアクセスを行う第1メモリコントローラと、前記第2メモリに対してアクセスを行う第2メモリコントローラと、によって構成され、
    前記バス制御部は、
    前記第2リードリクエスト信号を生成し、前記第2リードリクエスト信号とは異なる信号経路を介して出力するリクエスト信号生成回路と、
    前記第1及び前記第2リードリクエスト信号の一方を前記第1メモリコントローラに割り当てるとともに、他方を前記第2メモリコントローラに割り当てる、リクエストルーティング回路と、を備え、
    前記第1メモリコントローラは、
    前記第1メモリの記憶領域のうち、前記第1及び前記第2リードリクエスト信号の一方によって指定されたアドレスの記憶領域に記憶された前記データの読み出しを行うように構成され、
    前記第2メモリコントローラは、
    前記第2メモリの記憶領域のうち、前記第1及び前記第2リードリクエスト信号の他方によって指定されたアドレスの記憶領域に記憶された前記データのエラー検出コードの読み出しを行うように構成されている、
    請求項7に記載の半導体装置。
  10. 前記バス制御部は、
    前記第1リードリクエスト信号によって前記メモリから読み出される前記データが、エラー検出コードの生成対象であるか否かを判定する判定回路をさらに備え、
    前記バス制御部は、前記判定回路によって前記データがエラー検出コードの生成対象であると判定された場合にのみ、前記第1リードリクエスト信号に対応する前記第2リードリクエスト信号を生成する、
    請求項7に記載の半導体装置。
  11. 前記バス制御部は、
    前記メモリから前記データが読み出されたこと示す第1リードレスポンス信号と、前記メモリから前記データのエラー検出コードが読み出されたことを示す第2リードレスポンス信号と、のうち、いずれか一方のリードレスポンス信号のみ、前記マスター回路に対して送信するレスポンス制御回路をさらに備えた、
    請求項7に記載の半導体装置。
  12. 前記バスは、AXIプロトコルに準拠したバスである、
    請求項11に記載の半導体装置。
  13. 前記バス制御部は、
    前記第2リードリクエスト信号によって前記メモリから読み出された前記エラー検出コードに基づいて、前記第1リードリクエスト信号によって前記メモリから読み出された前記データにエラーがあるか否かを診断する診断回路をさらに備えた、
    請求項7に記載の半導体装置。
  14. 請求項1に記載の半導体装置と、
    前記メモリをさらに備えた、半導体システム。
  15. メモリに書き込まれたデータの読み出しを要求する第1リードリクエスト信号を生成するマスター回路と、
    前記第1リードリクエスト信号を受信するバスと、
    前記バスに設けられ、前記第1リードリクエスト信号に含まれる第1アドレス情報に対応する第2アドレス情報を含む第2リードリクエスト信号を生成するバス制御部と、
    前記メモリの記憶領域のうち、前記バスから送信された前記第1リードリクエスト信号によって指定されたアドレスの記憶領域に記憶された前記データの読み出しを行うとともに、前記バスから送信された前記第2リードリクエスト信号によって指定されたアドレスの記憶領域に記憶された前記データのエラー検出コードの読み出しを行う、メモリコントローラと、
    を備えた、半導体装置。
  16. 前記バス制御部は、
    前記第1リードリクエスト信号によって前記メモリから読み出される前記データが、エラー検出コードの生成対象であるか否かを判定する判定回路をさらに備え、
    前記バス制御部は、前記判定回路によって前記データがエラー検出コードの生成対象であると判定された場合にのみ、前記第1リードリクエスト信号に対応する前記第2リードリクエスト信号を生成する、
    請求項15に記載の半導体装置。
  17. 前記バス制御部は、
    前記メモリから前記データが読み出されたこと示す第1リードレスポンス信号と、前記メモリから前記データのエラー検出コードが読み出されたことを示す第2リードレスポンス信号と、のうち、いずれか一方のリードレスポンス信号のみ、前記マスター回路に対して送信するレスポンス制御回路をさらに備えた、
    請求項15に記載の半導体装置。
  18. 前記バスは、AXIプロトコルに準拠したバスである、
    請求項17に記載の半導体装置。
  19. 前記バス制御部は、
    前記第2リードリクエスト信号によって前記メモリから読み出された前記エラー検出コードに基づいて、前記第1リードリクエスト信号によって前記メモリから読み出された前記データにエラーがあるか否かを診断する診断回路をさらに備えた、
    請求項15に記載の半導体装置。
JP2017227774A 2017-11-28 2017-11-28 半導体装置及びそれを備えた半導体システム Pending JP2019101446A (ja)

Priority Applications (7)

Application Number Priority Date Filing Date Title
JP2017227774A JP2019101446A (ja) 2017-11-28 2017-11-28 半導体装置及びそれを備えた半導体システム
US16/130,847 US10922165B2 (en) 2017-11-28 2018-09-13 Semiconductor device and semiconductor system equipped with the same
EP18206541.7A EP3489830A1 (en) 2017-11-28 2018-11-15 Semiconductor device and semiconductor system equipped with the same
CN201811366127.XA CN109840221B (zh) 2017-11-28 2018-11-16 半导体器件和配备有该半导体器件的半导体系统
TW107141347A TWI790315B (zh) 2017-11-28 2018-11-21 半導體裝置及具有半導體裝置之半導體系統
KR1020180145182A KR102628851B1 (ko) 2017-11-28 2018-11-22 반도체 장치 및 그것을 구비한 반도체 시스템
US17/149,041 US11327830B2 (en) 2017-11-28 2021-01-14 Semiconductor device and semiconductor system equipped with the same

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2017227774A JP2019101446A (ja) 2017-11-28 2017-11-28 半導体装置及びそれを備えた半導体システム

Publications (1)

Publication Number Publication Date
JP2019101446A true JP2019101446A (ja) 2019-06-24

Family

ID=64331805

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2017227774A Pending JP2019101446A (ja) 2017-11-28 2017-11-28 半導体装置及びそれを備えた半導体システム

Country Status (6)

Country Link
US (2) US10922165B2 (ja)
EP (1) EP3489830A1 (ja)
JP (1) JP2019101446A (ja)
KR (1) KR102628851B1 (ja)
CN (1) CN109840221B (ja)
TW (1) TWI790315B (ja)

Families Citing this family (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
FR3100347B1 (fr) * 2019-09-04 2022-07-22 St Microelectronics Rousset Détection d'erreurs
FR3100346B1 (fr) 2019-09-04 2022-07-15 St Microelectronics Rousset Détection d'erreurs
US11726864B2 (en) * 2020-03-17 2023-08-15 Renesas Electronics Corporation Data processing device and data processing method

Family Cites Families (19)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5333274A (en) * 1991-10-15 1994-07-26 International Business Machines Corp. Error detection and recovery in a DMA controller
US7035958B2 (en) * 2002-10-03 2006-04-25 International Business Machines Corporation Re-ordering a first request within a FIFO request queue to a different queue position when the first request receives a retry response from the target
JP4852315B2 (ja) * 2006-02-03 2012-01-11 株式会社日立製作所 データ信頼性向上方法及びその方法を用いた情報処理装置
US8352805B2 (en) * 2006-05-18 2013-01-08 Rambus Inc. Memory error detection
JP4864762B2 (ja) 2007-02-19 2012-02-01 株式会社東芝 半導体記憶装置
JP5087970B2 (ja) 2007-03-30 2012-12-05 横河電機株式会社 情報処理装置および情報処理方法
US8266386B2 (en) * 2007-10-30 2012-09-11 International Business Machines Corporation Structure for maintaining memory data integrity in a processor integrated circuit using cache coherency protocols
US8977790B2 (en) * 2008-02-15 2015-03-10 Freescale Semiconductor, Inc. Peripheral module register access methods and apparatus
US8438344B2 (en) 2010-03-12 2013-05-07 Texas Instruments Incorporated Low overhead and timing improved architecture for performing error checking and correction for memories and buses in system-on-chips, and other circuits, systems and processes
TWI498731B (zh) * 2010-03-17 2015-09-01 Phison Electronics Corp 非揮發性記憶體儲存系統
US9323608B2 (en) * 2012-06-07 2016-04-26 Micron Technology, Inc. Integrity of a data bus
US10282269B2 (en) * 2013-12-18 2019-05-07 Qorvo Us, Inc. Read technique for a bus interface system
US9436546B2 (en) * 2014-04-22 2016-09-06 Freescale Semiconductor, Inc. Apparatus for error detection in memory devices
US20160125960A1 (en) * 2014-10-30 2016-05-05 Sandisk Technologies Inc. System and method for write abort detection
JP2016162466A (ja) * 2015-02-26 2016-09-05 株式会社東芝 半導体記憶装置及びメモリシステム
US9632869B1 (en) * 2015-09-08 2017-04-25 Xilinx, Inc. Error correction for interconnect circuits
US10108562B2 (en) * 2015-10-01 2018-10-23 Renesas Electronics Corporation Semiconductor device including a request issuing controller
TWI551991B (zh) * 2015-11-20 2016-10-01 群聯電子股份有限公司 記憶體管理方法與系統及其記憶體儲存裝置
JP6605359B2 (ja) 2016-03-02 2019-11-13 ルネサスエレクトロニクス株式会社 半導体装置及びメモリアクセス制御方法

Also Published As

Publication number Publication date
US20210133020A1 (en) 2021-05-06
CN109840221A (zh) 2019-06-04
EP3489830A1 (en) 2019-05-29
KR20190062222A (ko) 2019-06-05
KR102628851B1 (ko) 2024-01-25
TWI790315B (zh) 2023-01-21
TW201937370A (zh) 2019-09-16
US10922165B2 (en) 2021-02-16
US20190163648A1 (en) 2019-05-30
US11327830B2 (en) 2022-05-10
CN109840221B (zh) 2024-02-27

Similar Documents

Publication Publication Date Title
US11327830B2 (en) Semiconductor device and semiconductor system equipped with the same
JP5437470B2 (ja) 共有されるエラー・ビット・コードをもつ共通フレームにおいてデータおよびデータ・マスク・ビットを転送するためのシステム、方法および装置
US10339050B2 (en) Apparatus including a memory controller for controlling direct data transfer between first and second memory modules using direct transfer commands
JP5301668B2 (ja) インバンドのデータ・マスク・ビットの転送システム、方法、及び装置
KR102358177B1 (ko) 제어회로 및 제어회로를 포함하는 메모리 장치
KR20170139438A (ko) 디디알 호환 비동기 메모리 모듈 시스템 및 그것의 동작 방법
US10445176B2 (en) Memory system, memory device and operating method thereof
US11657890B2 (en) Memory system, integrated circuit system, and operation method of memory system
CN108345514B (zh) 存储器件、存储系统及其操作方法
CN108664362B (zh) 内存镜像的处理方法、内存控制器及用户设备
US10911181B2 (en) Method for checking address and control signal integrity in functional safety applications, related products
WO2012046343A1 (ja) メモリモジュール冗長化方法、記憶処理装置、及びデータ処理装置
JP5213061B2 (ja) ミラーリング制御装置、ミラーリング制御回路、ミラーリング制御方法およびそのプログラム
US7210017B2 (en) Information processing apparatus, memory, information processing method, and program
US20170235688A1 (en) Access control method, bus system, and semiconductor device
US10747456B2 (en) Memory controller, memory module, and memory system and operation methods thereof
CN113454611B (zh) 校验地址和控制信号完整性的方法、相关产品
JPH10207786A (ja) メモリシステム
JP2005301560A (ja) クラスタファイルサーバ
KR20210071800A (ko) 메모리 시스템, 집적회로 시스템 및 메모리 시스템의 동작 방법
JPH0449593A (ja) ダイナミックram制御回路
JPH0588990A (ja) 二重化メモリ装置
KR20080032878A (ko) 메모리 액세스 장치 및 방법