JP2022063152A - 複数のリンク内の複数誤りを検出する複数誤り検出回路及び複数誤り検出回路を有する誤り訂正回路 - Google Patents
複数のリンク内の複数誤りを検出する複数誤り検出回路及び複数誤り検出回路を有する誤り訂正回路 Download PDFInfo
- Publication number
- JP2022063152A JP2022063152A JP2020171553A JP2020171553A JP2022063152A JP 2022063152 A JP2022063152 A JP 2022063152A JP 2020171553 A JP2020171553 A JP 2020171553A JP 2020171553 A JP2020171553 A JP 2020171553A JP 2022063152 A JP2022063152 A JP 2022063152A
- Authority
- JP
- Japan
- Prior art keywords
- row
- column
- bit
- bits
- check
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Granted
Links
Images
Landscapes
- Error Detection And Correction (AREA)
- Detection And Prevention Of Errors In Transmission (AREA)
Abstract
【解決手段】二次元リンクに信号を出力する送信回路と、二次元リンクから信号を受信する受信回路を有する複数誤り検出回路において、送信回路は、MxNのデータに行パリティビットと列パリティビットを追加して符号語を二次元リンクに出力する。受信回路は、二次元リンクを伝播してきた符号語の各行のN+1個の行ビット群のパリティビットである行チェックビットと、各列のM+1個の列ビット群のパリティビットである列チェックビットとを生成し、行チェックビットの1の数が2以上か、または列チェックビットの1の数が2以上の場合複数誤り検出信号を生成する。そして、各列のM個の列ビット群は、第2行から第M行で行シフト量だけプラスまたはマイナスの行方向にシフトさせたビット群であり、または各行のN個の行ビット群は、第2列から第N列で列シフト量だけプラスまたはマイナスの列方向にシフトさせたビット群である。
【選択図】図9
Description
前記複数のリンクを伝播してきた信号を受信する受信回路とを有し、
前記送信回路は、
M行N列のデータに含まれる各行のN個の行ビット群の行パリティビットと、各列のM個の列ビット群の列パリティビットを生成し、
前記M行N列のデータに前記行パリティビットと前記列パリティビットを加えたM+1行N+1列の符号語を前記複数のリンクに出力し、
前記受信回路は、
前記複数のリンクを伝播してきた前記符号語の各行のN+1個の行ビット群のパリティビットである行チェックビットと、各列のM+1個の列ビット群のパリティビットである列チェックビットとを生成し、
前記行チェックビットの1の数が2または2より大きい数であるか、または前記列チェックビットの1の数が2または2より大きい数である場合に、複数誤り検出信号を生成し、
前記各列のM個の列ビット群は、第2行から第M行で行シフト量だけプラスまたはマイナスの行方向にシフトさせたビット群であり、または
前記各行のN個の行ビット群は、第2列から第N列で列シフト量だけプラスまたはマイナスの列方向にシフトさせたビット群である、複数誤り検出回路である。
プロダクト・コード(Product Code or PC)は、誤り訂正コード(Error Correction Code ECC)において通常の技術的用語である。PCでは、二次元の入力データの各行と各列にそれぞれのECCを付加したコードである。プロダクト・コード(PC)は、例えば、米国特許8856616において二次元エンコーディングと称される。本明細書では、プロダクト・コードにおいてECCとしてパリティビットを使用するコードを、パリティ・プロダクト・コード(Parity Product Coding PPC)と称する。以下、PPCの概略について説明する。
図7は、PPCの課題を示す図である。図7は、複数の誤りビットを有する受信符号語CDWD_2の4つの例を示す。図中に示されるとおり、白い丸は正常TSV、バツ印の丸は欠陥TSV、正方形は誤って欠陥TSVと判定される欠陥TSVである。また、破線はチェックビットsr、scが生成されるビット群を示し、本明細書ではこのビット群をつなぐ線をパリティリンクPLと称する。欠陥TSVを伝播するデータは誤りビットまたは反転ビットになる。そして、図7での受信符号語CDWD_2は、図3、4とは異なり、6行6列である。この場合、データDATA_1、DATA_2は、5行5列のビットであり、行のインデックスはi=0~M-1であるのでM=5、M+1=6となり、列のインデックスは0~N-1であるのでN=5、N+1=6となる。
第1の実施の形態の拡張PPCでは、符号語CDWD_1を生成するエンコーダが、送信データDATA_1に付加するパリティビットcj, riを次のように算出する。
エンコーダは、j列のパリティビットcjを、行のインデックスi=0, 1, 2~M-1に対応して、列のインデックスが行方向にsずつシフトする列のビット群から算出する。つまり、j列のパリティビットcjを算出する列のビット群は、PPCの場合のTSV(i,j)をTSV(i, (j+s*i)mod N)にスイッチしたビット群になる。NはデータData_1の列の数、N+1はTSVまたは符号語CDWDの列の数で、最後のインデックスはパリティビットである。i=0~M、j=0~N。j列のパリティビットcjを算出する列のビット群は、前述の通りパリティリンクのビット群である。
エンコーダが、i行のパリティビットriを、列のインデックスj=0, 1, 2~N-1に対応して、行のインデックスが列方向にsずつシフトする列のビット群から算出する。つまり、i行のパリティビットriを算出する行のビット群は、PPCの場合のTSV(i,j)をTSV((i+s*j)mod M,j)にスイッチしたビット群になる。MはデータData_1の行の数、M+1は符号語CDWDの行の数で、最後のインデックスはパリティビットである。i=0~M、j=0~N。i行のパリティビットriを算出する列のビット群は、パリティリンクのビット群と称する。
(A)シフト回路31であるマルチプレクサMUXが3行3列のデータDATA_1を選択し、エンコーダ10~12に入力する。
(B)エンコーダのパリティビット生成回路10~12が、入力されたデータDATA_1の各列のビット群と各行のビット群それぞれのパリティビットを生成し、更に最後パリティビットを生成する。
(C)送信回路Txの結合回路13が、データDATA_1にパリティビットを追加し、TSVsであるリンクLINKsに並列に送出する。
(A)シフト回路31であるマルチプレクサMUXが、3行3列のデータDATA_1を行シフトしたデータDATA_1_row.shiftを選択し、エンコーダ10~12に入力する。行シフトされたデータDATA_1_row.shiftは、インデックス(1,0)(2,0)に、データDATA_1のインデックス(1,1)(2,2)のビットを有する。同様に、データDATA_1_row.shiftは、インデックス(1,1)(2,1)に、データDATA_1のインデックス(1,2)(2,0)のビットを有し、インデックス(1,2)(2,2)に、データDATA_1のインデックス(1,0)(2,1)のビットを有する。
(B)エンコーダのパリティビット生成回路10~12が、入力されたデータDATA_1_row.shiftの各列のビット群、各行のビット群それぞれのパリティビットを生成し、更に最後パリティビットを生成する。生成された列のパリティビットc0は、行シフトされたビット群b0,0, b1,1, b2,2のパリティビットである。列のパリティビットc1,c2も、同様の行シフトされたビット群のパリティビットである。
(C)送信回路Txの結合回路13が、データDATA_1にパリティビットを追加し、符号語CDWD_2_row.shiftをTSVsに並列に送出する。つまり、リンクLINKsには、行シフトしていないデータDATA_1と、行シフトされたビット群から算出されたパリティビットが入力される。
(D)受信回路Rxは、TSVsから受信した符号語CDWD_2を入力する。
(E)符号語CDWD_2がマルチプレクサMUXを介してデコーダに入力される。
(F)デコーダ内のチェックビット生成回路20,21が、符号語CDWD_2の列のビット群と行のビット群からチェックビットsc,srを生成する。さらに、複数誤り検出回路25が複数誤り検出信号NACKを出力する。
(G)そして、式(8)に基づいてチェックビットsc,srからマスクMaskが生成される。誤り訂正回路26がマスクMaskに基づいて、受信した符号語CDWD_2の誤りビットを訂正し、誤り訂正されたデータDATA_2を出力する。
(D)受信回路Rxは、TSVsから受信した符号語CDWD_2を入力する。
(E)マルチプレクサMUXが、行シフトした符号語CDWD_2_row.shiftを選択する。行シフトした符号語CDWD_2_row.shiftは、データDATAが行シフトされ、行及び列のパリティビットr,cの位置はTSVsから受信した符号語CDWD_2と同じである。
(F)デコーダ内のチェックビット生成回路20,21が、符号語CDWD_2_row.shiftの列のビット群と行のビット群からチェックビットsc,srを生成する。さらに、複数誤り検出回路25が複数誤り検出信号NACKを出力する。
(G)そして、式(8)に基づいてチェックビットsc,srからマスクMaskが生成される。行シフト符号語CDWD_2_row.shiftから生成されるマスクMaskのインデックスは、PPCのマスクと同じである。そして、誤り訂正回路26がマスクMaskに基づいて、受信した符号語CDWD_2の誤りビットを訂正し、誤り訂正されたデータDATA_2を出力する。
図15は、拡張PPCを適用しても複数の誤りビットを検出できない例を示す図である。図15には、受信した符号語CDWD_2のインデックス(1,1)(1,2)(2,2)に誤りビット(欠陥TSV)が存在する例が示される。
図10では、データDATA_1のインデックス配列を内部配線により行シフトまたは列シフトしたインデックス配列を、マルチプレクサMUXにより選択した。しかし、オリジナルのインデックス配列のデータDATA_1を、行シフトまたは列シフトに対応した変換回路により、行シフト及び・または列シフトしたインデックス配列のデータDATA_1_row.shift等に変換して、エンコーダに入力してもよい。また、同様の変換回路により、受信した符号語CDWD_2を行シフト・及び列シフトしたインデックス配列のデータに変換して、デコーダに入力してもよい。
DATA_1:送信データ
31:行または列シフト回路
Tx、ENCODER:送信回路、エンコーダ
CDWD_1:符号語
TSVs、LINKs:2D TSVs
CDWD_2:符号語
32:行または列シフト回路
Rx、DECODER:受信回路、デコーダ
DEVICE_2:受信側デバイス
PL:パリティリンク
ri, cj:パリティビット
sri, scj:チェックビット
EB:エラービット、欠陥ビット、欠陥TSV
25:複数誤り検出回路
26:誤り検出回路
Claims (5)
- 行列状に配列された複数のリンクそれぞれに1ビットの信号を出力する送信回路と、
前記複数のリンクを伝播してきた信号を受信する受信回路とを有し、
前記送信回路は、
M行N列のデータに含まれる各行のN個の行ビット群の行パリティビットと、各列のM個の列ビット群の列パリティビットを生成し、
前記M行N列のデータに前記行パリティビットと前記列パリティビットを加えたM+1行N+1列の符号語を前記複数のリンクに出力し、
前記受信回路は、
前記複数のリンクを伝播してきた前記符号語の各行のN+1個の行ビット群のパリティビットである行チェックビットと、各列のM+1個の列ビット群のパリティビットである列チェックビットとを生成し、
前記行チェックビットの1の数が2または2より大きい数であるか、または前記列チェックビットの1の数が2または2より大きい数である場合に、複数誤り検出信号を生成し、
前記各列のM個の列ビット群は、第2行から第M行で行シフト量だけプラスまたはマイナスの行方向にシフトさせたビット群であり、または
前記各行のN個の行ビット群は、第2列から第N列で列シフト量だけプラスまたはマイナスの列方向にシフトさせたビット群である、複数誤り検出回路。 - 前記行シフト量はMの1/2乗の切り上げまたは切り下げた正または負の整数値であり、
前記列シフト量はNの1/2乗の切り上げまたは切り下げた正または負の整数値である、請求項1に記載の複数誤り検出回路。 - 行列状に配列された複数のリンクそれぞれに1ビットの信号を出力する送信回路と、
前記複数のリンクを伝播してきた信号を受信する受信回路とを有する送受信回路の複数誤り検出方法であって、
前記送信回路は、
M行N列のデータに含まれる各行のN個の行ビット群の行パリティビットと、各列のM個の列ビット群の列パリティビットを生成し、
前記M行N列のデータに前記行パリティビットと前記列パリティビットを加えたM+1行N+1列の符号語を前記複数のリンクに出力し、
前記受信回路は、
前記複数のリンクを伝播してきた前記符号語の各行のN+1個の行ビット群のパリティビットである行チェックビットと、各列のM+1個の列ビット群のパリティビットである列チェックビットとを生成し、
前記行チェックビットの1の数が2または2より大きい数であるか、または前記列チェックビットの1の数が2または2より大きい数である場合に、複数誤り検出信号を生成し、
前記各列のM個の列ビット群は、第2行から第M行で行シフト量だけプラスまたはマイナスの行方向にシフトさせたビット群であり、または
前記各行のN個の行ビット群は、第2列から第N列で列シフト量だけプラスまたはマイナスの列方向にシフトさせたビット群である、複数誤り検出方法。 - 行列状に配列された複数のリンクそれぞれに1ビットの信号を出力する送信回路と、
前記複数のリンクを伝播してきた信号を受信する受信回路とを有し、
前記送信回路は、
M行N列のデータに含まれる各行のN個の行ビット群の行パリティビットと、各列のM個の列ビット群の列パリティビットを生成し、
前記M行N列のデータに前記行パリティビットと前記列パリティビットを加えたM+1行N+1列の符号語を前記複数のリンクに出力し、
前記受信回路は、
前記複数のリンクを伝播してきた前記符号語の各行のN+1個の行ビット群のパリティビットである行チェックビットと、各列のM+1個の列ビット群のパリティビットである列チェックビットとを生成し、
前記行チェックビットの1の数が2または2より大きい数であるか、または前記列チェックビットの1の数が2または2より大きい数である場合に、複数誤り検出信号を生成し、
前記行チェックビットが1の行ビット群と前記列チェックビットが1の列ビット群との交差位置のリンクの信号を反転して誤り訂正し、前記複数誤り検出信号が生成されない場合、前記誤り訂正したM行N列のデータを出力し、
前記各列のM個の列ビット群は、第2行から第M行で行シフト量だけプラスまたはマイナスの行方向にシフトさせたビット群であり、または
前記各行のN個の行ビット群は、第2列から第N列で列シフト量だけプラスまたはマイナスの列方向にシフトさせたビット群である、誤り訂正回路。 - 行列状に配列された複数のリンクそれぞれに1ビットの信号を出力する送信回路と、
前記複数のリンクを伝播してきた信号を受信する受信回路とを有する送受信回路の誤り訂正方法であって、
前記送信回路は、
M行N列のデータに含まれる各行のN個の行ビット群の行パリティビットと、各列のM個の列ビット群の列パリティビットを生成し、
前記M行N列のデータに前記行パリティビットと前記列パリティビットを加えたM+1行N+1列の符号語を前記複数のリンクに出力し、
前記受信回路は、
前記複数のリンクを伝播してきた前記符号語の各行のN+1個の行ビット群のパリティビットである行チェックビットと、各列のM+1個の列ビット群のパリティビットである列チェックビットとを生成し、
前記行チェックビットの1の数が2または2より大きい数であるか、または前記列チェックビットの1の数が2または2より大きい数である場合に、複数誤り検出信号を生成し、
前記行チェックビットが1の行ビット群と前記列チェックビットが1の列ビット群との交差位置のリンクの信号を反転して誤り訂正し、前記複数誤り検出信号が生成されない場合、前記誤り訂正したM行N列のデータを出力し、
前記各列のM個の列ビット群は、第2行から第M行で行シフト量だけプラスまたはマイナスの行方向にシフトさせたビット群であり、または
前記各行のN個の行ビット群は、第2列から第N列で列シフト量だけプラスまたはマイナスの列方向にシフトさせたビット群である、誤り訂正方法。
Priority Applications (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| JP2020171553A JP7659250B2 (ja) | 2020-10-09 | 2020-10-09 | 複数のリンク内の複数誤りを検出する複数誤り検出回路及び複数誤り検出回路を有する誤り訂正回路 |
Applications Claiming Priority (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| JP2020171553A JP7659250B2 (ja) | 2020-10-09 | 2020-10-09 | 複数のリンク内の複数誤りを検出する複数誤り検出回路及び複数誤り検出回路を有する誤り訂正回路 |
Publications (2)
| Publication Number | Publication Date |
|---|---|
| JP2022063152A true JP2022063152A (ja) | 2022-04-21 |
| JP7659250B2 JP7659250B2 (ja) | 2025-04-09 |
Family
ID=81255068
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| JP2020171553A Active JP7659250B2 (ja) | 2020-10-09 | 2020-10-09 | 複数のリンク内の複数誤りを検出する複数誤り検出回路及び複数誤り検出回路を有する誤り訂正回路 |
Country Status (1)
| Country | Link |
|---|---|
| JP (1) | JP7659250B2 (ja) |
-
2020
- 2020-10-09 JP JP2020171553A patent/JP7659250B2/ja active Active
Also Published As
| Publication number | Publication date |
|---|---|
| JP7659250B2 (ja) | 2025-04-09 |
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| US9270506B2 (en) | Methods for bypassing faulty connections | |
| US20230367674A1 (en) | Methods and apparatus for reducing microbumps for inter-die double-data rate (ddr) transfer | |
| JP5820038B2 (ja) | フレキシブルで拡張可能なメモリアーキテクチャ | |
| CN112084059B (zh) | 具有改进的错误校正电路的半导体存储器装置 | |
| US9811429B2 (en) | Microcontroller utilizing redundant address decoders and electronic control device using the same | |
| US20220368351A1 (en) | Memory and operation method of memory | |
| KR100865195B1 (ko) | 인접 기호 오류 수정을 위한 방법, 시스템, 장치와 검출코드 | |
| EP0147336B1 (en) | Error correcting and detecting system | |
| US8966338B2 (en) | Cyclic redundancy check code generating circuit, semiconductor memory device, and method of driving semiconductor memory device | |
| US10108488B2 (en) | Memory module with integrated error correction | |
| JP7659250B2 (ja) | 複数のリンク内の複数誤りを検出する複数誤り検出回路及び複数誤り検出回路を有する誤り訂正回路 | |
| KR102777048B1 (ko) | 메모리 시스템 및 메모리의 동작 방법 | |
| US12212338B1 (en) | Syndrome decoder circuit | |
| CN120048321A (zh) | 包括ecc引擎的存储器 | |
| Fu et al. | Burst error detection hybrid ARQ with crosstalk-delay reduction for reliable on-chip interconnects | |
| Dang et al. | 2D-PPC: A single-correction multiple-detection method for Through-Silicon-Via Faults | |
| US11545467B2 (en) | IC die to IC die interconnect using error correcting code and data path interleaving | |
| Dang et al. | A non-blocking non-degrading multiple defects link testing method for 3D-networks-on-chip | |
| US20060095826A1 (en) | Semiconductor memory chip, semiconductor memory module and method for transmitting write data to semiconductor memory chips | |
| US20170133299A1 (en) | Semiconductor device having repairable penetration electrode | |
| KR20090023794A (ko) | 순환잉여검사장치를 포함하는 반도체메모리소자 | |
| Dang et al. | 2D Parity Product Code for TSV online fault correction and detection | |
| EP4611266A1 (en) | Integrated circuit and memory system including ecc circuit | |
| US20250284405A1 (en) | Memory system including ecc engine | |
| Liu et al. | An Effective Coding Transmission Scheme for Defect-involved TSV Array Transmission |
Legal Events
| Date | Code | Title | Description |
|---|---|---|---|
| A80 | Written request to apply exceptions to lack of novelty of invention |
Free format text: JAPANESE INTERMEDIATE CODE: A80 Effective date: 20201030 |
|
| A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20230926 |
|
| A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20240905 |
|
| A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20240910 |
|
| A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20241108 |
|
| 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: 20250218 |
|
| A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20250318 |
|
| R150 | Certificate of patent or registration of utility model |
Ref document number: 7659250 Country of ref document: JP Free format text: JAPANESE INTERMEDIATE CODE: R150 |





