IP Force 特許公報掲載プロジェクト 2022.1.31 β版

知財求人 - 知財ポータルサイト「IP Force」

▶ チャンシン メモリー テクノロジーズ インコーポレイテッドの特許一覧

特表2024-515918データ誤り訂正回路及びデータ伝送方法
<>
  • 特表-データ誤り訂正回路及びデータ伝送方法 図1
  • 特表-データ誤り訂正回路及びデータ伝送方法 図2
  • 特表-データ誤り訂正回路及びデータ伝送方法 図3
  • 特表-データ誤り訂正回路及びデータ伝送方法 図4
  • 特表-データ誤り訂正回路及びデータ伝送方法 図5
  • 特表-データ誤り訂正回路及びデータ伝送方法 図6
  • 特表-データ誤り訂正回路及びデータ伝送方法 図7
  • 特表-データ誤り訂正回路及びデータ伝送方法 図8
  • 特表-データ誤り訂正回路及びデータ伝送方法 図9
< >
(19)【発行国】日本国特許庁(JP)
(12)【公報種別】公表特許公報(A)
(11)【公表番号】
(43)【公表日】2024-04-11
(54)【発明の名称】データ誤り訂正回路及びデータ伝送方法
(51)【国際特許分類】
   G06F 11/10 20060101AFI20240404BHJP
   H04L 1/00 20060101ALI20240404BHJP
【FI】
G06F11/10 660
H04L1/00 B
【審査請求】有
【予備審査請求】未請求
(21)【出願番号】P 2023537126
(86)(22)【出願日】2022-05-26
(85)【翻訳文提出日】2023-06-16
(86)【国際出願番号】 CN2022095324
(87)【国際公開番号】W WO2023165034
(87)【国際公開日】2023-09-07
(31)【優先権主張番号】202210209652.0
(32)【優先日】2022-03-04
(33)【優先権主張国・地域又は機関】CN
(81)【指定国・地域】
(71)【出願人】
【識別番号】522246670
【氏名又は名称】チャンシン メモリー テクノロジーズ インコーポレイテッド
【氏名又は名称原語表記】CHANGXIN MEMORY TECHNOLOGIES,INC.
(74)【代理人】
【識別番号】100205659
【弁理士】
【氏名又は名称】齋藤 拓也
(74)【代理人】
【識別番号】100185269
【弁理士】
【氏名又は名称】小菅 一弘
(72)【発明者】
【氏名】ジー カンリン
【テーマコード(参考)】
5K014
【Fターム(参考)】
5K014BA02
5K014BA05
(57)【要約】
本開示は、データ誤り訂正回路及びデータ伝送方法を提供する。該データ誤り訂正回路は、第1データと前記第1データに対応する第1検査符号とを受信し、前記第1検査符号に基づいて前記第1データの誤りを訂正して第2データを生成し、前記第2データを出力するために用いられるデータ誤り訂正モジュールと、前記第1データと前記第1検査符号とを受信し、前記第1データと前記第1検査符号に基づいて第2検査符号を生成して出力するために用いられる検査符号生成モジュールと、を含む。本開示の実施例は、データ誤り訂正機能に必要な素子及びレイアウト面積を節約することができる。
【選択図】図1
【特許請求の範囲】
【請求項1】
メモリに設定されるデータ誤り訂正回路であって、
第1データと前記第1データに対応する第1検査符号とを受信し、前記第1検査符号に基づいて前記第1データの誤りを訂正して第2データを生成し、前記第2データを出力するために用いられるデータ誤り訂正モジュールと、
前記第1データと前記第1検査符号とを受信し、前記第1データと前記第1検査符号とに基づいて第2検査符号を生成して出力するために用いられる検査符号生成モジュールと、を含む、データ誤り訂正回路。
【請求項2】
前記データ誤り訂正モジュールは、
前記第1データと前記第1検査符号とを受信し、前記第1データと前記第1検査符号とに基づいてデータ誤り訂正符号及び検査誤り訂正符号を生成するために用いられる誤り訂正符号生成ユニットと、
前記誤り訂正符号生成ユニットに接続され、前記第1データと前記データ誤り訂正符号とを受信し、前記データ誤り訂正符号に基づいて前記第1データの誤りを訂正して第2データを生成して出力するために用いられるデータ誤り訂正ユニットと、を含む、
請求項1に記載のデータ誤り訂正回路。
【請求項3】
前記検査符号生成モジュールは、前記誤り訂正符号生成ユニットに接続され、前記データ誤り訂正符号と前記検査誤り訂正符号とを受信し、前記検査符号生成モジュールは、前記データ誤り訂正符号又は前記検査誤り訂正符号に基づいて前記第2検査符号を訂正する、
請求項2に記載のデータ誤り訂正回路。
【請求項4】
前記検査符号生成モジュールは、
前記誤り訂正符号生成ユニットに接続され、前記第1データと前記第1検査符号とを受信し、前記第1データ、前記第1検査符号及び前記データ誤り訂正符号に基づいて全検査値を生成し、又は、前記第1データ、前記第1検査符号及び前記検査誤り訂正符号に基づいて前記全検査値を生成するために用いられる全検査値生成ユニットであって、前記第2検査符号は前記全検査値を含む、全検査値生成ユニットを含む、
請求項2に記載のデータ誤り訂正回路。
【請求項5】
前記全検査値生成ユニットは、
前記第1データと前記第1検査符号とを受信し、前記第1データと前記第1検査符号とに基づいて初期全検査値を生成するために用いられる全検査値計算ユニットと、
前記全検査値計算ユニット及び前記誤り訂正符号生成ユニットに接続され、前記データ誤り訂正符号又は前記検査誤り訂正符号に基づいて前記初期全検査値の誤りを訂正して前記全検査値を出力するために用いられる全検査値誤り訂正ユニットと、を含む、
請求項4に記載のデータ誤り訂正回路。
【請求項6】
前記全検査値誤り訂正ユニットは、前記データ誤り訂正符号又は前記検査誤り訂正符号を受信した後、前記初期全検査値を反転して前記全検査値を生成するために用いられる、
請求項5に記載のデータ誤り訂正回路。
【請求項7】
前記初期全検査値は、前記第1データにおける各ビット及び前記第1検査符号における各ビットに対して排他的論理和演算を行うことによって得られるものである、
請求項5又は6に記載のデータ誤り訂正回路。
【請求項8】
前記検査符号生成モジュールは、
前記誤り訂正符号生成ユニットに接続され、前記第1検査符号を受信し、前記検査誤り訂正符号に基づいて前記第1検査符号の誤りを訂正するために用いられる検査符号誤り訂正ユニットであって、前記第2検査符号は誤り訂正後の前記第1検査符号を含む、検査符号誤り訂正ユニットを含む、
請求項4~6のいずれか一項に記載のデータ誤り訂正回路。
【請求項9】
前記第2検査符号の最上ビットは前記全検査値であり、誤り訂正後の前記第1検査符号は前記第2検査符号の残りのビットを構成する、
請求項8に記載のデータ誤り訂正回路。
【請求項10】
前記第1検査符号は、8ビットのデータを含む、
請求項8に記載のデータ誤り訂正回路。
【請求項11】
請求項1~10のいずれか一項に記載のデータ誤り訂正回路と、
第2データを出力するために用いられる第1出力端子と、
前記第2データに対応する第2検査符号を出力するために用いられる第2出力端子と、を含む、メモリ。
【請求項12】
請求項11に記載のメモリと、
前記メモリに接続され、第2データと第2検査符号とを受信し、前記第2検査符号に基づいて前記第2データに対して検査及び誤り訂正を行うために用いられるコントローラと、を含む、集積記憶装置。
【請求項13】
前記コントローラは、前記第2検査符号に基づいて前記第2データに複数のビットの誤りが存在するかどうかを決定する、
請求項12に記載の集積記憶装置。
【請求項14】
データ伝送方法であって、請求項11に記載のメモリによって実行され、
伝送対象第1データと、前記第1データに対応する第1検査符号とを取得することと、
前記第1検査符号と前記第1データとに基づいて前記第1データの誤りを訂正して第2データを生成することと、
前記第1データと前記第1検査符号とに基づいて第2検査符号を生成することと、
コントローラが前記第2検査符号に基づいて前記第2データに対して検査及び誤り訂正を行うように、前記第2データと前記第2検査符号とをコントローラに同時に出力することと、を含む、データ伝送方法。
【請求項15】
前記第1データと前記第1検査符号とに基づいて第2検査符号を生成することは、
前記第1データの各ビットと前記第1検査符号の各ビットとに対して排他的論理和演算を行い、初期全検査値を生成することと、
前記第1データ及び前記第1検査符号の検査結果を取得することと、
前記検査結果、前記第1検査符号及び前記全検査値に基づいて前記第2検査符号を生成することと、を含む、
請求項14に記載のデータ伝送方法。
【請求項16】
前記検査結果、前記第1検査符号及び前記全検査値に基づいて前記第2検査符号を生成することは、
前記検査結果に基づいて前記第1検査符号に誤りが発生し、前記第1データに誤りが発生しないと決定する場合、前記初期全検査値の誤りを訂正して全検査値を生成し、前記第1検査符号の誤りを訂正することと、
誤り訂正後の前記第1検査符号と前記全検査値とに基づいて前記第2検査符号を生成することと、を含む、
請求項15に記載のデータ伝送方法。
【請求項17】
前記検査結果、前記第1検査符号及び前記全検査値に基づいて前記第2検査符号を生成することは、
前記検査結果に基づいて前記第1検査符号に誤りが発生しておらず、前記第1データに誤りが発生したと決定する場合、前記初期全検査値の誤りを訂正して全検査値を生成することと、
前記第1検査符号と前記全検査値に基づいて前記第2検査符号を生成することと、を含む、
請求項15に記載のデータ伝送方法。
【請求項18】
前記検査結果、前記第1検査符号及び前記全検査値に基づいて前記第2検査符号を生成することは、
前記検査結果に基づいて、前記第1データ及び前記第1検査符号の両方に誤りが発生しないと決定する場合、前記第1検査符号と前記初期全検査値とに基づいて前記第2検査符号を生成すること、を含む、
請求項15に記載のデータ伝送方法。
【請求項19】
前記初期全検査値の誤りを訂正して全検査値を生成することは、
前記初期全検査値を反転して前記全検査値を生成することを含む、
請求項16又は17に記載のデータ伝送方法。
【請求項20】
前記第1データと前記第1検査符号とに基づいて第2検査符号を生成することは、
前記第1データ及び前記第1検査符号の検査結果を取得することと、
前記検査結果に基づいて前記第1データと前記第1検査符号の両方に誤りが発生しないと決定する場合、前記第1データの各ビットと前記第1検査符号の各ビットとに対して排他的論理和演算を行ってから全検査値を決定し、前記全検査値と前記第1検査符号とに基づいて前記第2検査符号を生成することと、
前記検査結果に基づいて前記第1データのみに誤りが発生したと決定する場合、前記第2データの各ビットと前記第1検査符号の各ビットとに対して排他的論理和演算を行ってから全検査値を決定し、前記全検査値と前記第1検査符号とに基づいて前記第2検査符号を生成することと、
前記検査結果に基づいて前記第1検査符号のみに誤りが発生したと決定する場合、前記第1データの各ビットと誤り訂正後の前記第1検査符号の各ビットとに対して排他的論理和演算を行ってから全検査値を決定し、前記全検査値と誤り訂正後の前記第1検査符号とに基づいて前記第2検査符号を生成することと、を含む、
請求項14に記載のデータ伝送方法。
【発明の詳細な説明】
【技術分野】
【0001】
(関連出願への相互参照)
本開示は、2022年03月04日に提出された、出願番号が202210209652.0であり、発明名称が「データ誤り訂正回路及びデータ伝送方法」である中国特許出願の優先権を主張し、該中国特許出願の全ての内容が参照により本開示に組み込まれる。
【0002】
本開示は、集積回路技術分野に関し、具体的に、データ誤り訂正回路及び該データ誤り訂正回路に適用されるデータ伝送方法に関する。
【背景技術】
【0003】
メモリとシステム(コントローラ/プロセッサ)との間のチャネル速度がますます速くなるため、信号伝送の正確性に巨大な挑戦をもたらす。このような背景下で、関連技術では、データ受信端末(コントローラ/プロセッサ)内にリンク誤り訂正回路(Link ECC:Link Error Correcting Code)を設置して受信したデータの誤りを訂正し、これによりチャネル伝送によって発生する可能性のある誤りを訂正する。
【0004】
誤り訂正の精度を正確に向上させるために、関連技術では、通常、受信したデータと該データに対応する第1検査符号に基づいて、該データの全検査値を含む第2検査符号をデータ受信端末で生成し、さらに該第2検査符号に基づいて該データの誤りを訂正する必要がある。ここで、全検査値は、該データと該第1検査符号の各ビットに基づいて生成されるものである。これは、データ受信端末の回路機能に閾値を設定し、データ受信端末の素子数とレイアウト面積も増加する。
【0005】
そのため、どのように誤り訂正の正確性を保持したままデータ受信端末に対する要求を低減させるかは、データ伝送機能を有する集積回路が改善できる技術点となる。
【0006】
上記の背景技術部分に開示される情報は、本開示の背景に対する理解を強化するためにのみ使用されるため、当業者に知られる先行技術を構成しない情報を含むことができることを説明すべきである。
【発明の概要】
【課題を解決するための手段】
【0007】
本開示は、関連技術におけるデータ誤り訂正機能に必要な回路素子が多く、占有するレイアウト面積が大きいという問題を少なくともある程度解決するためのデータ誤り訂正回路及び該データ誤り訂正回路に適用されるデータ伝送方法を提供することを目的とする。
【0008】
本開示の第1態様によれば、メモリに設定されるデータ誤り訂正回路を提供し、該データ誤り訂正回路は、第1データと前記第1データに対応する第1検査符号とを受信し、前記第1検査符号に基づいて前記第1データの誤りを訂正して第2データを生成し、前記第2データを出力するために用いられるデータ誤り訂正モジュールと、前記第1データと前記第1検査符号とを受信し、前記第1データと前記第1検査符号とに基づいて第2検査符号を生成して出力するために用いられる検査符号生成モジュールと、を含む。
【0009】
本開示の1つの例示的な実施例では、前記データ誤り訂正モジュールは、前記第1データと前記第1検査符号とを受信し、前記第1データと前記第1検査符号とに基づいてデータ誤り訂正符号及び検査誤り訂正符号を生成するために用いられる誤り訂正符号生成ユニットと、前記誤り訂正符号生成ユニットに接続され、前記第1データと前記データ誤り訂正符号とを受信し、前記データ誤り訂正符号に基づいて前記第1データの誤りを訂正して第2データを生成して出力するために用いられるデータ誤り訂正ユニットと、を含む。
【0010】
本開示の1つの例示的な実施例では、前記検査符号生成モジュールは、前記誤り訂正符号生成ユニットに接続され、前記データ誤り訂正符号と前記検査誤り訂正符号とを受信し、前記検査符号生成モジュールは、前記データ誤り訂正符号又は前記検査誤り訂正符号に基づいて前記第2検査符号を訂正する。
【0011】
本開示の1つの例示的な実施例では、前記検査符号生成モジュールは、
前記誤り訂正符号生成ユニットに接続され、前記第1データと前記第1検査符号とを受信し、前記第1データ、前記第1検査符号及び前記データ誤り訂正符号に基づいて全検査値を生成し、又は、前記第1データ、前記第1検査符号及び前記検査誤り訂正符号に基づいて前記全検査値を生成するために用いられる全検査値生成ユニットであって、前記第2検査符号は前記全検査値を含む、全検査値生成ユニットを含む。
【0012】
本開示の1つの例示的な実施例では、前記全検査値生成ユニットは、前記第1データと前記第1検査符号とを受信し、前記第1データと前記第1検査符号とに基づいて初期全検査値を生成するために用いられる全検査値計算ユニットと、前記全検査値計算ユニット及び前記誤り訂正符号生成ユニットに接続され、前記データ誤り訂正符号又は前記検査誤り訂正符号に基づいて前記初期全検査値の誤りを訂正して前記全検査値を出力するために用いられる全検査値誤り訂正ユニットと、を含む。
【0013】
本開示の1つの例示的な実施例では、前記全検査値誤り訂正ユニットは、前記データ誤り訂正符号又は前記検査誤り訂正符号を受信した後、前記初期全検査値を反転して前記全検査値を生成するために用いられる。
【0014】
本開示の1つの例示的な実施例では、前記初期全検査値は、前記第1データにおける各ビット及び前記第1検査符号における各ビットに対して排他的論理和演算を行うことによって得られるものである。
【0015】
本開示の1つの例示的な実施例では、前記検査符号生成モジュールは、前記誤り訂正符号生成ユニットに接続され、前記第1検査符号を受信し、前記検査誤り訂正符号に基づいて前記第1検査符号の誤りを訂正するために用いられる検査符号誤り訂正ユニットであって、前記第2検査符号は誤り訂正後の前記第1検査符号を含む、検査符号誤り訂正ユニットを含む。
【0016】
本開示の1つの例示的な実施例では、前記第2検査符号の最上ビットは前記全検査値であり、誤り訂正後の前記第1検査符号は前記第2検査符号の残りのビットを構成する。
【0017】
本開示の1つの例示的な実施例では、前記第1検査符号は、8ビットのデータを含む。
【0018】
本開示の第2態様によれば、メモリを提供し、該メモリは、上記のいずれか一項に記載のデータ誤り訂正回路と、第2データを出力するために用いられる第1出力端子と、前記第2データに対応する第2検査符号を出力するために用いられる第2出力端子と、を含む。
【0019】
本開示の第3態様によれば、集積記憶装置を提供し、該集積記憶装置は、上記に記載のメモリと、前記メモリに接続され、第2データと第2検査符号とを受信し、前記第2検査符号に基づいて前記第2データに対して検査及び誤り訂正を行うために用いられるコントローラと、を含む。
【0020】
本開示の1つの例示的な実施例では、前記コントローラは、前記第2検査符号に基づいて前記第2データに複数のビットの誤りが存在するかどうかを決定する。
【0021】
本開示の第4態様によれば、データ伝送方法を提供し、上記のいずれか一項に記載のメモリによって実行され、該データ伝送方法は、伝送対象第1データと、前記第1データに対応する第1検査符号とを取得することと、前記第1検査符号と前記第1データとに基づいて前記第1データの誤りを訂正して第2データを生成することと、前記第1データと前記第1検査符号とに基づいて第2検査符号を生成することと、前記第2データと前記第2検査符号とをコントローラに同時に出力し、コントローラが前記第2検査符号に基づいて前記第2データに対して検査及び誤り訂正を行うようにすることと、を含む。
【0022】
本開示の1つの例示的な実施例では、前記第1データと前記第1検査符号とに基づいて第2検査符号を生成することは、前記第1データの各ビットと前記第1検査符号の各ビットとに対して排他的論理和演算を行い、初期全検査値を生成することと、前記第1データ及び前記第1検査符号の検査結果を取得することと、前記検査結果、前記第1検査符号及び前記全検査値に基づいて前記第2検査符号を生成することと、を含む。
【0023】
本開示の1つの例示的な実施例では、前記検査結果、前記第1検査符号及び前記全検査値に基づいて前記第2検査符号を生成することは、前記検査結果に基づいて前記第1検査符号に誤りが発生し、前記第1データに誤りが発生しないと決定する場合、前記初期全検査値の誤りを訂正して全検査値を生成し、前記第1検査符号の誤りを訂正することと、誤り訂正後の前記第1検査符号と前記全検査値とに基づいて前記第2検査符号を生成することと、を含む。
【0024】
本開示の1つの例示的な実施例では、前記検査結果、前記第1検査符号及び前記全検査値に基づいて前記第2検査符号を生成することは、前記検査結果に基づいて前記第1検査符号に誤りが発生しておらず、前記第1データに誤りが発生したと決定する場合、前記初期全検査値の誤りを訂正して全検査値を生成することと、前記第1検査符号と前記全検査値とに基づいて前記第2検査符号を生成することと、を含む。
【0025】
本開示の1つの例示的な実施例では、前記検査結果、前記第1検査符号及び前記全検査値に基づいて前記第2検査符号を生成することは、前記検査結果に基づいて、前記第1データ及び前記第1検査符号の両方に誤りが発生しないと決定する場合、前記第1検査符号と前記初期全検査値とに基づいて前記第2検査符号を生成すること、を含む。
【0026】
本開示の1つの例示的な実施例では、前記初期全検査値の誤りを訂正して全検査値を生成することは、前記初期全検査値を反転して前記全検査値を生成することを含む。
【0027】
本開示の1つの例示的な実施例では、前記第1データと前記第1検査符号とに基づいて第2検査符号を生成することは、前記第1データ及び前記第1検査符号の検査結果を取得することと、前記検査結果に基づいて前記第1データと前記第1検査符号の両方に誤りが発生しないと決定する場合、前記第1データの各ビットと前記第1検査符号の各ビットとに対して排他的論理和演算を行ってから全検査値を決定し、前記全検査値と前記第1検査符号とに基づいて前記第2検査符号を生成することと、前記検査結果に基づいて前記第1データのみに誤りが発生したと決定する場合、前記第2データの各ビットと前記第1検査符号の各ビットとに対して排他的論理和演算を行ってから全検査値を決定し、前記全検査値と前記第1検査符号とに基づいて前記第2検査符号を生成することと、前記検査結果に基づいて前記第1検査符号のみに誤りが発生したと決定する場合、前記第1データの各ビットと誤り訂正後の前記第1検査符号の各ビットとに対して排他的論理和演算を行ってから全検査値を決定し、前記全検査値と誤り訂正後の前記第1検査符号とに基づいて前記第2検査符号を生成することと、を含む。
【0028】
本開示の実施例では、メモリのデータ誤り訂正回路において第2検査符号の生成を完了し、誤り訂正後の第2データ及び該第2データに対応する第2検査符号を直接出力することにより、データ受信端末は直接該第2検査符号に基づいて該第2データに対して検査及び誤り訂正を行うことができ、受信したデータと検査符号とに基づいてデータ受信端末で検査符号を再度生成するという関連技術における煩雑なプログラムを減少させ、データ受信端末に対する機能要求を低減させ、さらにデータ受信端末の素子数とレイアウト面積を減少させ、メモリの互換性能力を向上させる。
【0029】
以上の一般的な説明及び以下の詳細な説明が例示的及び解釈的なものだけであり、本開示を制限するものではないことを理解すべきである。
【図面の簡単な説明】
【0030】
図1】本開示の例示的な実施例におけるデータ誤り訂正回路の構造的模式図である。
図2】本開示の1つの実施例におけるデータ誤り訂正回路の模式図である。
図3】本開示の1つの実施例における図2に示す全検査値生成ユニット121の模式図である。
図4】本開示の実施例によるメモリの模式図である。
図5図4に示すメモリを適用した集積記憶装置の模式図である。
図6】本開示の実施例によるデータ伝送方法のフローチャートである。
図7】本開示の1つの実施例におけるステップS3のサブフローチャートである。
図8】本開示の1つの実施例における図7に示すステップS33のサブフローチャートである。
図9】本開示の別の実施例におけるステップS3のサブフローチャートである。
【発明を実施するための形態】
【0031】
ここでの図面は、明細書に組み込まれて本明細書の一部を構成し、本開示と一致する実施例を示し、明細書と共に本開示の原理を解釈するために用いられる。明らかに、以上に説明された図面は本開示のいくつかの実施例だけであり、当業者にとっては、創造的な労力を払うことなく、これらの図面に基づいて他の図面を取得することもできる。
【0032】
現在、図面を参照しながら例示的な実施形態をより全面的に説明する。しかしながら、例示的な実施形態は様々な形態で実施することができ、本明細書で説明される例に限定されると理解すべきではない。逆に、これらの実施形態は、本開示をより全面的かつ完全にし、例示的な実施形態の構想を当業者に全面的に伝えるように提供される。説明された特徴、構造又は特性は、任意の適切な方式で1つ又は複数の実施形態に組み込むことができる。以下の説明では、多くの具体的な詳細を提供して本開示の実施形態の十分な理解を与える。しかしながら、当業者は、特定の詳細のうちの1つ又は複数を省略して本開示の技術案を実践することができ、又は他の方法、コンポーネント、装置、ステップなどを採用することができることを認識すべきである。他の場合、主客転倒で本開示の様々な態様が曖昧になることを回避するために、周知の技術案を詳細に示せず、又は説明しない。
【0033】
また、図面は本開示の概略的な図示だけであり、図面における同じ符号は同じ又は類似する部分を示すため、それらに対する重複する説明が省略される。図面に示すいくつかのブロック図は機能エンティティであり、必ずしも物理的又は論理的に独立したエンティティに対応する必要がない。これらの機能エンティティは、ソフトウェア形式で実現されてもよく、1つ又は複数のハードウェアモジュール又は集積回路で実現されてもよく、異なるネットワーク及び/又はプロセッサ装置及び/又はマイクロコントローラ装置で実現されてもよい。
【0034】
以下、図面を組み合わせて本開示の例示的な実施形態を詳細に説明する。
【0035】
図1は本開示の例示的な実施例におけるデータ誤り訂正回路の構造的模式図である。
【0036】
図1を参照すると、データ誤り訂正回路100は、メモリに設定され、
第1データData1と第1データに対応する第1検査符号Parity1を受信し、第1検査符号Parity1に基づいて第1データData1の誤りを訂正して第2データData2を生成し、第2データData2を出力するために用いられるデータ誤り訂正モジュール11と、
第1データData1と第1検査符号Parity1とを受信し、第1データData1と第1検査符号Parity1に基づいて第2検査符号Parity2を生成して出力するために用いられる検査符号生成モジュール12と、を含むことができる。
【0037】
メモリは、データ送信端末としてデータ受信端末にデータを送信する場合、データを出力する前に、送信対象データのうちのメモリアレイに起因する可能性のある誤りに対して誤り訂正を行い、即ち、メモリアレイの誤りに対して誤り訂正を行うためのオンダイ誤り訂正回路(On Die ECC:On Die Error Correcting Code)を設定する。
【0038】
本開示の実施例は、メモリのオンダイ誤り訂正回路を改良することで、第1データData1の誤り訂正を実現すると同時に、直接第1データData1と第1検査符号Parity1に基づいて第2検査符号Parity2を生成して出力ことができ、これにより、データ受信端末は直接該第2検査符号に基づいてメモリが最終的に出力する第2データData2に対して検査及び誤り訂正を行うことができ、受信したデータと検査符号に基づいてデータ受信端末で検査符号を再度生成するという関連技術における煩雑なプログラムを減少させ、データ受信端末に対する機能要求を節約し、さらにデータ受信端末の素子数とレイアウト面積を減少させ、メモリの互換性能力を向上させる。
【0039】
図2は本開示の1つの実施例におけるデータ誤り訂正回路の模式図である。図2に示す実施例では、第1データData1が128ビットであり、Data<127:0>と表示されると仮定すると、対応して、第1検査符号(第1データのECC検査符号)Parity1は8ビットであり、Parity<7:0>と表示され、第2データData2は128ビットであり、ABus<127:0>と表示され、第2検査符号Parity2は第2データData2の全検査値を含み、9ビットであり、ABusParity<8:0>と表示される。
【0040】
図2を参照すると、1つの実施例では、データ誤り訂正モジュール11は、
第1データData<127:0>及び第1検査符号Parity<7:0>を受信し、第1データData<127:0>及び第1検査符号Parity<7:0>に基づいてデータ誤り訂正符号Code1又は検査誤り訂正符号Code2を生成するために用いられる誤り訂正符号生成ユニット111と、
誤り訂正符号生成ユニット111に接続され、第1データData<127:0>及びデータ誤り訂正符号Code1を受信し、データ誤り訂正符号Code1に基づいて第1データData<127:0>の誤りを訂正して第2データABus<127:0>を生成して出力するために用いられるデータ誤り訂正ユニット112と、を含む。
【0041】
検査符号生成モジュール12は、誤り訂正符号生成ユニット111に接続され、データ誤り訂正符号Code1と検査誤り訂正符号Code2とを受信し、検査符号生成モジュール12は、データ誤り訂正符号Code1又は検査誤り訂正符号Code2に基づいて第2検査符号ABusParity<8:0>を訂正する。
【0042】
例示的に、1つの実施例では、検査符号生成モジュール12は、全検査値生成ユニット121と、検査符号誤り訂正ユニット122とを含む。
【0043】
全検査値生成ユニット121は、誤り訂正符号生成ユニット111に接続され、第1データData<127:0>及び第1検査符号Parity<7:0>を受信し、第1データData<127:0>、第1検査符号Parity<7:0>及びデータ誤り訂正符号Code1に基づいて全検査値Parity<8>を生成し、又は、第1データData<127:0>、第1検査符号Parity<7:0>及び検査誤り訂正符号Code2に基づいて全検査値Parity<8>を生成するために用いられ、第2検査符号ABusParity<8:0>は全検査値Parity<8>を含む。
【0044】
検査符号誤り訂正ユニット122は、誤り訂正符号生成ユニット111に接続され、第1検査符号Parity<7:0>を受信し、検査誤り訂正符号Code2に基づいて第1検査符号Parity<7:0>の誤りを訂正して誤り訂正後の第1検査符号ABusParity<7:0>を出力するために用いられ、第2検査符号ABusParity<8:0>は誤り訂正後の第1検査符号ABusParity<7:0>を含む。
【0045】
全検査値Parity<8>と誤り訂正後の第1検査符号ABusParity<7:0>が組み合わせて出力され、第2検査符号ABusParity<8:0>を形成する。1つの実施例では、第2検査符号ABusParity<8:0>の最上ビットは全検査値Parity<8>であり、誤り訂正後の第1検査符号Parity<7:0>は第2検査符号ABusParity<8:0>の残りのビットを構成する。全検査値生成ユニット121と検査符号誤り訂正ユニット122の出力タイミングを設定することにより、全検査値生成ユニット121と検査符号誤り訂正ユニット122により9ビットの第2検査符号ABusParity<8:0>を組み合わせて出力することができる。
【0046】
本開示の実施例では、第1検査符号は、メモリが出力する第1データのECC検査符号である。ECC検査符号の生成は、設定規則に基づいて第1データにおける異なるビット(bit)に対して排他的論理和演算を行い、複数組の異なるビットの排他的論理和結果をECC検査符号の1ビット(bit)に設定することである。ECC検査符号の生成規則によれば、データのECC検査符号に基づいて該データに誤りがあるかどうかを検出し、該誤るデータビットをECC検査符号によって誤り訂正することができる。データのECC検査符号を用いて該データを検査することにより、データの奇数個のbitの誤りを検出することができる。
【0047】
データの第2検査符号は、該データと該データの第1検査符号とに基づいて生成されるものである。データの第2検査符号の下位のいくつかのビットは、該データの第1検査符号であり、最上ビットは、該データの全検査値である。全検査値は、該データと該データの第1検査符号とに基づいて生成され、1つの実施例では、全検査値は、例えば、該データの各ビット及び該第1検査符号の各ビットの排他的論理和結果であってもよい。上述の規則によれば、データの第2検査符号を用いて該データを検査することにより、該データに偶数個のbitの誤りデータが存在するか否かを検出することができる。
【0048】
データの第1検査符号と第2検査符号を組み合わせることで、データに対して全面的な検査及び誤り訂正を行うことができる。
【0049】
図2に示す実施例では、誤り訂正符号生成ユニット111は、第1データと第1検査符号を受信し、第1検査符号が第1データに基づいて生成されるため、誤り訂正符号生成ユニット111は、第1データと第1検査符号を検査し、検査結果に基づいて第1データと第1検査符号に誤りがあるかどうかを判断することができる。誤り訂正符号生成ユニット111は、出力された2つの誤り訂正符号の値により検査結果を指示する。1つの誤り訂正符号は、第1データに誤りがあることを指示するためのデータ誤り訂正符号Code1であり、もう1つの誤り訂正符号は、第1検査符号に誤りがあることを指示するための検査誤り訂正符号Code2である。データ誤り訂正符号Code1が第1値である場合、第1データに誤りがあることを指示し、データ誤り訂正符号Code1が第2値である場合、第1データが正しいことを指示すると仮定することができ、第1値と第2値は、例えば、それぞれ論理レベル1と論理レベル0であり、又は第1値と第2値はそれぞれ他の値であり、本開示はこれに対して特に制限しない。同様に、検査誤り訂正符号Code2が第1値である場合、第1検査符号に誤りがあることを指示し、検査誤り訂正符号Code2が第2値である場合、第1検査符号が正しいことを指示すると仮定することができる。
【0050】
データ誤り訂正ユニット112は、第1データの誤りを訂正するために用いられ、データ誤り訂正ユニット112はデータが誤ることを表すデータ誤り訂正符号Code1を受信する場合、データ誤り訂正ユニット112は、データ誤り訂正符号Code1に基づいて第1データの誤りを訂正し、第2データを出力し、データ誤り訂正ユニット112はデータが正しいことを表すデータ誤り訂正符号Code1を受信する場合、データ誤り訂正ユニット112は、データ誤り訂正符号Code1に基づいて第1データの誤りを訂正せず、第1データを第2データとして直接出力する。
【0051】
同様に、検査誤り訂正ユニット122は、第1検査符号の誤りを訂正するために用いられ、検査誤り訂正ユニット122は第1検査符号が誤ることを表す検査誤り訂正符号Code2を受信する場合、検査誤り訂正ユニット122は、検査誤り訂正符号Code2に基づいて第1検査符号の誤りを訂正し、誤り訂正後の第1検査符号を出力し、検査誤り訂正ユニット122は第1検査符号が正しいことを表す検査誤り訂正符号Code2を受信する場合、検査誤り訂正ユニット122は、検査誤り訂正符号Code2に基づいて第1検査符号の誤りを訂正せず、第1検査符号の誤りを訂正後の第1検査符号として直接出力する。
【0052】
検査符号生成モジュール12は、第1データと第1検査符号に関わる第2検査符号を生成する必要があり、第1データに誤りが発生しても第1検査符号に誤りが発生しても、いずれも全検査値の正確性に影響を与え、検査符号生成モジュール12はデータ誤り訂正符号Code1と検査誤り訂正符号Code2を受信する。
【0053】
ここで、全検査値生成ユニット121は、第1データの全検査値を生成するために用いられ、第1データに誤りが発生しても第1検査符号に誤りが発生しても、いずれも全検査値の正確性に影響を与え、全検査値生成ユニット121は、データ誤り訂正符号Code1と検査誤り訂正符号Code2を同時に受信する。
【0054】
検査符号誤り訂正ユニット122は、第1検査符号のみの誤りを訂正するため、検査誤り訂正符号Code2を受信し、検査誤り訂正符号Code2の指示に基づいて第1検査符号の誤りを訂正し、誤り訂正後の第1検査符号ABusParity<7:0>(同様に8ビットである)を出力する。
【0055】
本開示の実施例では、第1データの誤りを訂正して第2データを生成するだけでなく、第1データが正しいかどうかに基づいて全検査値を修正し、さらに第2検査符号を修正し、これにより、第2検査符号の正確性を保証することができる。また、本開示の実施例は、第1検査符号を検査し、第1検査符号に誤りが発生した場合、第1検査符号と全検査値の誤りを訂正し、第2検査符号の正確性をさらに保証することができる。
【0056】
したがって、本開示の実施例は、第2検査符号の正確性を向上させることができ、また、既存のメモリオンダイ誤り訂正回路を利用するため、回路構造及び信号接続にも大きな負担が増加しなく、関連技術においてメモリに接続される各データ受信端末にいずれも設定する必要がある第2検査符号の生成回路に比べて、本開示の実施例は、メモリと各データ受信端末の合計の回路素子数及びレイアウト面積を大幅に節約することができる。
【0057】
図3は本開示の1つの実施例における図2に示す全検査値生成ユニット121の模式図である。
【0058】
図3を参照すると、1つの実施例では、全検査値生成ユニット121は、全検査値計算ユニット1211と、全検査値誤り訂正ユニット1211とを含むことができる。
【0059】
全検査値計算ユニット1211は、第1データData<127:0>及び第1検査符号Parity<7:0>を受信し、第1データData<127:0>及び第1検査符号Parity<7:0>に基づいて初期全検査値NParity<8>を生成するために用いられる。
【0060】
全検査値誤り訂正ユニット1212は、全検査値Parity<8>計算ユニット及び誤り訂正符号生成ユニット111に接続され、データ誤り訂正符号Code1又は検査誤り訂正符号Code2に基づいて初期全検査値NParity<8>の誤りを訂正して全検査値Parity<8>を出力するために用いられる。
【0061】
ここで、初期全検査値NParity<8>は、例えば、第1データData<127:0>における各ビット及び第1検査符号Parity<7:0>における各ビットに対して排他的論理和演算を行うことによって得られてもよい。
【0062】
1つの実施例では、全検査値誤り訂正ユニット1212は、データ誤り訂正符号Code1と検査誤り訂正符号Code2を受信した後、初期全検査値NParity<8>を反転して全検査値Parity<8>を生成するために用いられる。
【0063】
図3に示す実施例に対応するデータ誤り訂正回路の動作論理全体は、例えば、以下の論理である。
【0064】
誤り訂正符号生成ユニット111が第1データData<127:0>と第1検査符号Parity<7:0>の両方に誤りがないと判断すると、誤り訂正符号生成ユニット111は、データと検査符号が正しいことを表すCode1とCode2の値を出力し、検査符号誤り訂正ユニット122は、第1検査符号Parity<7:0>の誤りを訂正せず、誤り訂正後の第1検査符号ABusParity<7:0>(即ち、第2検査符号の下位8ビット)として直接出力し、全検査値誤り訂正ユニット1212は、データと検査符号が正しいことを表すデータ誤り訂正符号Code1と検査誤り訂正符号Code2の値を受信した後、全検査値の誤りを訂正せず、全検査値計算ユニット1211が算出した初期全検査値NParity<8>を全検査符号Parity<8>として直接出力し、誤り訂正後の第1検査符号ABusParity<7:0>とParity<8>は第2検査符号ABusParity<8:0>を形成する。データ誤り訂正ユニット112は、第1データData<127:0>を第2データABus<127:0>として直接出力し、出力ポートを介して第2検査符号ABusParity<8:0>と第2データABus<127:0>を同時に送信するように、データ誤り訂正モジュール11と検査符号生成モジュール12の送信タイミングを制御する。
【0065】
誤り訂正符号生成ユニット111が第1データData<127:0>に誤りがあると判断すると、検査符号誤り訂正ユニット122は、第1検査符号が正しいことを表す検査誤り訂正符号Code2を受信し、第1検査符号Parity<7:0>の誤りを訂正せず、第1検査符号Parity<7:0>の誤りを訂正後の第1検査符号ABusParity<7:0>(即ち、第2検査符号の下位8ビット)として直接出力し、全検査値誤り訂正ユニット1212は、データが誤ることを表すデータ誤り訂正符号Code1に基づいて全検査値計算ユニット1211が算出した初期全検査値NParity<8>を反転してからParity<8>(即ち、第2検査符号の最上ビット)として出力し、誤り訂正後の第1検査符号ABusParity<7:0>とParity<8>は第2検査符号ABusParity<8:0>を形成し、データ誤り訂正ユニット112は、データが誤ることを表すデータ誤り訂正符号Code1に基づいて第1データData<127:0>の誤りを訂正してから第2データABus<127:0>を出力し、出力ポートを介して第2検査符号ABusParity<8:0>と第2データABus<127:0>を同時に送信するように、データ誤り訂正モジュール11と検査符号生成モジュール12の送信タイミングを制御する。
【0066】
誤り訂正符号生成ユニット111が第1検査符号Parity<7:0>に誤りがあると判断すると、検査符号誤り訂正ユニット122は、第1検査符号が正しいことを表す検査誤り訂正符号Code2を受信し、第1検査符号Parity<7:0>の誤りを訂正してから誤り訂正後の第1検査符号ABusParity<7:0>(即ち、第2検査符号の下位8ビット)を出力し、全検査値誤り訂正ユニット1212は、第1検査符号が正しいことを表す検査誤り訂正符号Code2に基づいて、全検査値計算ユニット1211が算出した初期全検査値NParity<8>を反転してからParity<8>(即ち、第2検査符号の最上ビット)として出力し、誤り訂正後の第1検査符号ABusParity<7:0>とParity<8>は第2検査符号ABusParity<8:0>を形成し、データ誤り訂正ユニット112は、データが正しいことを表すデータ誤り訂正符号Code1に基づいて第1データData<127:0>の誤りを訂正せず、第2データABus<127:0>として直接出力し、出力ポートを介して第2検査符号ABusParity<8:0>と第2データABus<127:0>を同時に送信するように、データ誤り訂正モジュール11と検査符号生成モジュール12の送信タイミングを制御する。
【0067】
図4は本開示の実施例によるメモリの模式図である。
【0068】
図4を参照すると、メモリ400は、
上述の実施例に記載のデータ誤り訂正回路と、
第2データData2を出力するために用いられる第1出力端子OUT1と、
第2データData2に対応する第2検査符号Parity2を出力するために用いられる第2出力端子OUT2と、を含むことができる。
【0069】
図4に示すメモリは、第2データの全検査符号を含む第2検査符号を直接出力する機能を有し、データ受信端末が全検査符号生成モジュールを別途設置する必要がなく、データ受信端末が直接第2検査符号に基づいて第2データに対して検査と誤り訂正を行うことを許可し、データ受信端末に対する技術的要求と消費電力を大幅に低減させることができ、複数のデータ受信端末に接続される場合、回路全体の面積と消費電力を大幅に低減させる。
【0070】
図5図4に示すメモリを適用した集積記憶装置の模式図である。
【0071】
図5を参照すると、集積記憶装置500は、
メモリ400と、コントローラ51と、を含むことができ、
コントローラ51は、メモリ400に接続され、第2データData2及び第2検査符号Parity2を受信し、第2検査符号Parity2に基づいて第2データData2に対して検査及び誤り訂正を行うために用いられる。
【0072】
1つの実施例では、コントローラ51は、第2検査符号Parity2に基づいて、第2データData2に複数のビットの誤りが存在するかどうかを決定することができる。
【0073】
図5に示す集積記憶装置は、コントローラ51に全検査値生成回路を設定する必要がなく、コントローラ51が全検査値を含む第2検査値に基づいて第2データに対して検査及び誤り訂正を直接行うことができるため、コントローラ51は、より小さい回路面積とより低い消費電力を有する。
【0074】
図6は本開示の実施例によるデータ伝送方法のフローチャートである。図6に示す方法は、図5に示すメモリ400によって実行され得る。
【0075】
図6を参照すると、データ伝送方法600は、ステップS1~S4を含むことができる。
【0076】
ステップS1において、伝送対象第1データと、第1データに対応する第1検査符号とを取得する。
【0077】
ステップS2において、第1検査符号及び第1データに基づいて第1データの誤りを訂正して第2データを生成する。
【0078】
ステップS3において、第1データ及び第1検査符号に基づいて第2検査符号を生成する。
【0079】
ステップS4において、第2データ及び第2検査符号をコントローラに同時に出力し、コントローラが第2検査符号に基づいて第2データに対して検査及び誤り訂正を行うようにする。
【0080】
図1及び図2を組み合わせて、図6に示すステップS1は、データ誤り訂正モジュール11と検査符号生成モジュール12によって共同で実行されてもよく、ステップS2はデータ誤り訂正モジュール11によって実行され、ステップS3は検査符号生成モジュール12によって実行され、ステップS4はデータ誤り訂正モジュール11と検査符号生成モジュール12によって共同で実行される。
【0081】
第1データに対応する第1検査符号は、例えばECC検査符号であり、第2検査符号は、第1データと該ECC検査符号とに基づいて形成される。メモリにおいて直接第1データと第1検査符号に基づいて第2検査符号を生成することにより、データ受信端末は直接第2検査符号に基づいて第2データの誤りを訂正することができ、データ受信端末の回路素子数とレイアウト面積を節約し、メモリの互換性を向上させる。
【0082】
図7は本開示の1つの実施例におけるステップS3のサブフローチャートである。
【0083】
図7を参照すると、1つの実施例では、ステップS3は、ステップS31~S33を含むことができる。
【0084】
ステップS31において、第1データの各ビットと第1検査符号の各ビットとに対して排他的論理和演算を行い、初期全検査値を生成する。
【0085】
ステップS32において、第1データ及び第1検査符号の検査結果を取得する。
【0086】
ステップS33において、検査結果、第1検査符号及び全検査値に基づいて第2検査符号を生成する。
【0087】
図7に示す実施例は、図3に示す回路によって実行することができる。ステップS31は、全検査値計算ユニット1211により実行することができ、ステップS32及びステップS33は、全検査値誤り訂正ユニット1212により実行することができる。
【0088】
図8は本開示の1つの実施例における図7に示すステップS33のサブフローチャートである。
【0089】
図7を参照すると、1つの実施例では、ステップS33は、ステップS331~S333を含むことができる。
【0090】
ステップS331において、検査結果に基づいて第1検査符号に誤りが発生し、第1データに誤りが発生しないと決定する場合、初期全検査値の誤りを訂正して全検査値を生成し、第1検査符号の誤りを訂正し、次に、誤り訂正後の第1検査符号及び全検査値に基づいて第2検査符号を生成する。
【0091】
ステップS332において、検査結果に基づいて第1検査符号に誤りが発生しておらず、第1データに誤りが発生したと決定する場合、初期全検査値の誤りを訂正して全検査値を生成し、次に、第1検査符号及び全検査値に基づいて第2検査符号を生成する。
【0092】
ステップS333において、検査結果に基づいて、第1データ及び第1検査符号の両方に誤りが発生しないと決定する場合、第1検査符号及び初期全検査値に基づいて第2検査符号を生成する。
【0093】
ここで、初期全検査値の誤りを訂正して全検査値を生成することは、初期全検査値を反転して全検査値を生成することを含む。
【0094】
図2及び図3に示す実施例では、図7に示す方法は、以下の形式で記述することができる。
【0095】
第1データData<127:0>と第1検査符号Parity<7:0>の両方に誤りがないと、第1検査符号Parity<7:0>をABusParity<7:0>(即ち、第2検査符号の下位8ビット)とし、算出された初期全検査値NParity<8>を全検査符号Parity<8>とし、ABusParity<7:0>とParity<8>は第2検査符号ABusParity<8:0>を形成する。第1データData<127:0>を直接第2データABus<127:0>として送信し、同時に出力ポートを介して第2検査符号ABusParity<8:0>と第2データABus<127:0>を送信する。
【0096】
第1データData<127:0>に誤りがあると、第1検査符号Parity<7:0>をABusParity<7:0>(即ち、第2検査符号の下位8ビット)とし、算出された初期全検査値NParity<8>を反転してから全検査符号Parity<8>とし、ABusParity<7:0>とParity<8>は第2検査符号ABusParity<8:0>を形成し、第1データData<127:0>の誤りを訂正してから第2データABus<127:0>を送信し、次に出力ポートを介して第2検査符号ABusParity<8:0>と第2データABus<127:0>を送信する。
【0097】
第1検査符号Parity<7:0>に誤りがあると、全検査値誤り訂正ユニット1212が第1検査符号Parity<7:0>の誤りを訂正してからABusParity<7:0>(即ち第2検査符号の下位8ビット)とし、算出された初期全検査値NParity<8>を反転してから全検査符号Parity<8>とし、ABusParity<7:0>とParity<8>は第2検査符号ABusParity<8:0>を形成し、第1データData<127:0>を直接第2データABus<127:0>として送信し、次に出力ポートを介して第2検査符号ABusParity<8:0>と第2データABus<127:0>を送信する。
【0098】
まず全検査値を生成し、次に直接データ誤り訂正符号と検査誤り訂正符号に基づいて全検査値の誤りを訂正する以外、まず誤り訂正を行い、次に誤り訂正後の正しいデータに基づいて全検査値を生成することもできる。
【0099】
図9は本開示の別の実施例におけるステップS3のサブフローチャートである。
【0100】
図9を参照すると、別の実施例では、ステップS3は、ステップS91~S94を含むことができる。
【0101】
ステップS91において、第1データ及び第1検査符号の検査結果を取得する。
【0102】
ステップS92において、検査結果に基づいて第1データと第1検査符号の両方に誤りが発生しないと決定する場合、第1データの各ビットと第1検査符号の各ビットとに対して排他的論理和演算を行ってから全検査値を決定し、全検査値と第1検査符号とに基づいて第2検査符号を生成する。
【0103】
ステップS93において、検査結果に基づいて第1データのみに誤りが発生したと決定する場合、第2データの各ビットと第1検査符号の各ビットとに対して排他的論理和演算を行ってから全検査値を決定し、全検査値と第1検査符号とに基づいて第2検査符号を生成する。
【0104】
ステップS94において、検査結果に基づいて第1検査符号のみに誤りが発生したと決定する場合、第1データの各ビットと誤り訂正後の第1検査符号の各ビットとに対して排他的論理和演算を行ってから全検査値を決定し、全検査値と誤り訂正後の第1検査符号とに基づいて第2検査符号を生成する。
【0105】
図9に示す実施例は、第1検査符号が非ECC検査符号の他の種類の検査符号に適用される場合に、より正確な処理結果を有することができる。
【0106】
図9に示す実施例では、第1データのみに誤りが発生した場合、誤り訂正後の第2データを直接使用して全検査値を生成し、これは第2検査値を生成する前に第1データに対する誤り訂正を完了する必要があることが要求される。第1検査符号のみに誤りが発生した場合、まず第1検査符号に対して誤り訂正を行い、次に全検査値を生成する必要があり、これは全検査値を生成する前に第1検査符号に対する誤り訂正を完了する必要があることが要求される。第1検査符号がECC検査符号である場合、図7に示す実施例は図9に示す実施例に比べて、迅速に全検査値を生成し、そしてECC検査符号の生成原理に基づいて、反転するという単純な動作によって全検査値を訂正することができ、第1データに対する誤り訂正と第1検査値に対する誤り訂正を待つ必要がなく、2つの誤り訂正は全検査値を生成するプロセスと並行して実行することができ、データ処理速度が比較的速い。
【0107】
以上の記載から分かるように、本開示の実施例によるデータ処理方法は、第1データに対する誤り訂正を実現すると同時に、直接第1データと第1検査符号に基づいて第2検査符号を生成して出力することができ、これにより、データ受信端末は直接該第2検査符号に基づいてメモリが最終的に出力する第2データに対して検査及び誤り訂正を行うことができ、データ受信端末に対する機能要求を節約し、さらにデータ受信端末の素子数とレイアウト面積を減少させ、メモリの互換性能力を向上させる。
【0108】
当業者は、明細書を考慮し、本明細書に開示された発明を実践した後、本開示の他の実施形態を容易に思いつく。本出願は、本開示のいかなる変形、用途または適応変化を網羅することを意図し、これらの変形、用途または適応変化は、本開示の一般的な原理に準拠し、本開示によって開示されない本技術分野における公知の知識または慣用技術手段を含む。明細書と実施例は、単に例示と見なされ、本開示の真の範囲および構想は特許請求の範囲によって指摘される。
【産業上の利用可能性】
【0109】
本開示の実施例では、メモリのデータ誤り訂正回路において第2検査符号の生成を完了し、誤り訂正後の第2データ及び該第2データに対応する第2検査符号を直接出力することにより、データ受信端末は直接該第2検査符号に基づいて該第2データに対して検査及び誤り訂正を行うことができ、受信したデータと検査符号とに基づいてデータ受信端末で検査符号を再度生成するという関連技術における煩雑なプログラムを減少させ、データ受信端末に対する機能要求を低減させ、さらにデータ受信端末の素子数とレイアウト面積を減少させ、メモリの互換性能力を向上させる。
図1
図2
図3
図4
図5
図6
図7
図8
図9
【手続補正書】
【提出日】2023-06-16
【手続補正1】
【補正対象書類名】特許請求の範囲
【補正対象項目名】全文
【補正方法】変更
【補正の内容】
【特許請求の範囲】
【請求項1】
メモリに設定されるデータ誤り訂正回路であって、
第1データと前記第1データに対応する第1検査符号とを受信し、前記第1検査符号に基づいて前記第1データの誤りを訂正して第2データを生成し、前記第2データを出力するために用いられるデータ誤り訂正モジュールと、
前記第1データと前記第1検査符号とを受信し、前記第1データと前記第1検査符号とに基づいて第2検査符号を生成して出力するために用いられる検査符号生成モジュールと、を含む、データ誤り訂正回路。
【請求項2】
前記データ誤り訂正モジュールは、
前記第1データと前記第1検査符号とを受信し、前記第1データと前記第1検査符号とに基づいてデータ誤り訂正符号及び検査誤り訂正符号を生成するために用いられる誤り訂正符号生成ユニットと、
前記誤り訂正符号生成ユニットに接続され、前記第1データと前記データ誤り訂正符号とを受信し、前記データ誤り訂正符号に基づいて前記第1データの誤りを訂正して第2データを生成して出力するために用いられるデータ誤り訂正ユニットと、を含む、
請求項1に記載のデータ誤り訂正回路。
【請求項3】
前記検査符号生成モジュールは、前記誤り訂正符号生成ユニットに接続され、前記データ誤り訂正符号と前記検査誤り訂正符号とを受信し、前記検査符号生成モジュールは、前記データ誤り訂正符号又は前記検査誤り訂正符号に基づいて前記第2検査符号を訂正する、
請求項2に記載のデータ誤り訂正回路。
【請求項4】
前記検査符号生成モジュールは、
前記誤り訂正符号生成ユニットに接続され、前記第1データと前記第1検査符号とを受信し、前記第1データ、前記第1検査符号及び前記データ誤り訂正符号に基づいて全検査値を生成し、又は、前記第1データ、前記第1検査符号及び前記検査誤り訂正符号に基づいて前記全検査値を生成するために用いられる全検査値生成ユニットであって、前記第2検査符号は前記全検査値を含む、全検査値生成ユニットを含む、
請求項2に記載のデータ誤り訂正回路。
【請求項5】
前記全検査値生成ユニットは、
前記第1データと前記第1検査符号とを受信し、前記第1データと前記第1検査符号とに基づいて初期全検査値を生成するために用いられる全検査値計算ユニットであって、前記初期全検査値は、前記第1データにおける各ビット及び前記第1検査符号における各ビットに対して排他的論理和演算を行うことによって得られるものである、全検査値計算ユニットと、
前記全検査値計算ユニット及び前記誤り訂正符号生成ユニットに接続され、前記データ誤り訂正符号又は前記検査誤り訂正符号に基づいて前記初期全検査値の誤りを訂正して前記全検査値を出力するために用いられる全検査値誤り訂正ユニットと、を含む、
請求項4に記載のデータ誤り訂正回路。
【請求項6】
前記全検査値誤り訂正ユニットは、前記データ誤り訂正符号又は前記検査誤り訂正符号を受信した後、前記初期全検査値を反転して前記全検査値を生成するために用いられる、
請求項5に記載のデータ誤り訂正回路。
【請求項7】
前記検査符号生成モジュールは、
前記誤り訂正符号生成ユニットに接続され、前記第1検査符号を受信し、前記検査誤り訂正符号に基づいて前記第1検査符号の誤りを訂正するために用いられる検査符号誤り訂正ユニットであって、前記第2検査符号は誤り訂正後の前記第1検査符号を含む、検査符号誤り訂正ユニットをさらに含み、
前記第2検査符号の最上ビットは前記全検査値であり、誤り訂正後の前記第1検査符号は前記第2検査符号の残りのビットを構成し、
前記第1検査符号は、8ビットのデータを含む、
請求項4~6のいずれか一項に記載のデータ誤り訂正回路。
【請求項8】
請求項1~のいずれか一項に記載のデータ誤り訂正回路と、
第2データを出力するために用いられる第1出力端子と、
前記第2データに対応する第2検査符号を出力するために用いられる第2出力端子と、を含む、メモリ。
【請求項9】
請求項に記載のメモリと、
前記メモリに接続され、第2データと第2検査符号とを受信し、前記第2検査符号に基づいて前記第2データに対して検査及び誤り訂正を行うために用いられるコントローラと、を含み、
前記コントローラは、前記第2検査符号に基づいて前記第2データに複数のビットの誤りが存在するかどうかを決定する、集積記憶装置。
【請求項10】
データ伝送方法であって、請求項に記載のメモリによって実行され、
伝送対象第1データと、前記第1データに対応する第1検査符号とを取得することと、
前記第1検査符号と前記第1データとに基づいて前記第1データの誤りを訂正して第2データを生成することと、
前記第1データと前記第1検査符号とに基づいて第2検査符号を生成することと、
コントローラが前記第2検査符号に基づいて前記第2データに対して検査及び誤り訂正を行うように、前記第2データと前記第2検査符号とをコントローラに同時に出力することと、を含む、データ伝送方法。
【請求項11】
前記第1データと前記第1検査符号とに基づいて第2検査符号を生成することは、
前記第1データの各ビットと前記第1検査符号の各ビットとに対して排他的論理和演算を行い、初期全検査値を生成することと、
前記第1データ及び前記第1検査符号の検査結果を取得することと、
前記検査結果、前記第1検査符号及び全検査値に基づいて前記第2検査符号を生成することと、を含み、
又は、
前記第1データと前記第1検査符号とに基づいて第2検査符号を生成することは、
前記第1データ及び前記第1検査符号の検査結果を取得することと、
前記検査結果に基づいて前記第1データと前記第1検査符号の両方に誤りが発生しないと決定する場合、前記第1データの各ビットと前記第1検査符号の各ビットとに対して排他的論理和演算を行ってから全検査値を決定し、前記全検査値と前記第1検査符号とに基づいて前記第2検査符号を生成することと、
前記検査結果に基づいて前記第1データのみに誤りが発生したと決定する場合、前記第2データの各ビットと前記第1検査符号の各ビットとに対して排他的論理和演算を行ってから全検査値を決定し、前記全検査値と前記第1検査符号とに基づいて前記第2検査符号を生成することと、
前記検査結果に基づいて前記第1検査符号のみに誤りが発生したと決定する場合、前記第1データの各ビットと誤り訂正後の前記第1検査符号の各ビットとに対して排他的論理和演算を行ってから全検査値を決定し、前記全検査値と誤り訂正後の前記第1検査符号とに基づいて前記第2検査符号を生成することと、を含む、
請求項10に記載のデータ伝送方法。
【請求項12】
前記検査結果、前記第1検査符号及び前記全検査値に基づいて前記第2検査符号を生成することは、
前記検査結果に基づいて前記第1検査符号に誤りが発生し、前記第1データに誤りが発生しないと決定する場合、前記初期全検査値の誤りを訂正して全検査値を生成し、前記第1検査符号の誤りを訂正することと、
誤り訂正後の前記第1検査符号と前記全検査値とに基づいて前記第2検査符号を生成することと、を含み、
又は、
前記検査結果、前記第1検査符号及び前記全検査値に基づいて前記第2検査符号を生成することは、
前記検査結果に基づいて前記第1検査符号に誤りが発生しておらず、前記第1データに誤りが発生したと決定する場合、前記初期全検査値を誤り訂正して全検査値を生成することと、
前記第1検査符号と前記全検査値に基づいて前記第2検査符号を生成することと、を含み、
又は、
前記検査結果、前記第1検査符号及び前記全検査値に基づいて前記第2検査符号を生成することは、
前記検査結果に基づいて、前記第1データ及び前記第1検査符号の両方に誤りが発生しないと決定する場合、前記第1検査符号と前記初期全検査値とに基づいて前記第2検査符号を生成すること、を含む、
請求項11に記載のデータ伝送方法。
【請求項13】
前記初期全検査値の誤りを訂正して全検査値を生成することは、
前記初期全検査値を反転して前記全検査値を生成することを含む、
請求項12に記載のデータ伝送方法。
【国際調査報告】