(19)【発行国】日本国特許庁(JP)
(12)【公報種別】公開特許公報(A)
(11)【公開番号】P2025031691
(43)【公開日】2025-03-07
(54)【発明の名称】人工ニューラルネットワークに基づいたシステム半導体におけるメモリのECC適用方法及び装置
(51)【国際特許分類】
G06F 11/10 20060101AFI20250228BHJP
【FI】
G06F11/10 644
【審査請求】未請求
【請求項の数】14
【出願形態】OL
(21)【出願番号】P 2024142361
(22)【出願日】2024-08-23
(31)【優先権主張番号】10-2023-0111389
(32)【優先日】2023-08-24
(33)【優先権主張国・地域又は機関】KR
(71)【出願人】
【識別番号】524314654
【氏名又は名称】テレチップス・インコーポレイテッド
(74)【代理人】
【識別番号】100108453
【弁理士】
【氏名又は名称】村山 靖彦
(74)【代理人】
【識別番号】100110364
【弁理士】
【氏名又は名称】実広 信哉
(74)【代理人】
【識別番号】100133400
【弁理士】
【氏名又は名称】阿部 達彦
(72)【発明者】
【氏名】イ・ジョウ・シン
(72)【発明者】
【氏名】ドン・ジョ・キム
(72)【発明者】
【氏名】ムン・ス・キム
(57)【要約】
【課題】人工ニューラルネットワークに基づいたシステム半導体におけるメモリのECC適用方法を提供すること。
【解決手段】本発明の一実施形態に係る人工ニューラルネットワークに基づいたシステム半導体におけるメモリのECC適用方法は、メモリセルをワードライン(Word line)基準に第1ないし第nのフレームに対応する第1ないし第nのグループのメモリセルアレイに区分するステップ(nは、2以上の自然数である)と、前記第1ないし第nのフレームの各フレーム毎に、各フレームに対応するグループのメモリセルアレイにエラー訂正コード(ECC、Error Correction Code)を適用したECC書き込みまたは読み出し動作を行うステップと、前記第1ないし第nのフレームの各フレーム毎に、前記各フレームに対応するグループを除いた残りのグループのメモリセルアレイにエラー訂正コードを適用しなかった一般的な書き込みまたは読み出し動作を行うステップとを含む。
【選択図】
図2
【特許請求の範囲】
【請求項1】
人工ニューラルネットワークに基づいたシステム半導体におけるメモリECC適用装置により行われるメモリのECC適用方法において、
メモリセルをワードライン(Word line)基準に第1ないし第nのフレームに対応する第1ないし第nのグループのメモリセルアレイに区分するステップ(nは、2以上の自然数である)と、
前記第1ないし第nのフレームの各フレーム毎に、各フレームに対応するグループのメモリセルアレイにエラー訂正コード(ECC、Error Correction Code)を適用したECC書き込みまたは読み出し動作を行うステップと、
前記第1ないし第nのフレームの各フレーム毎に、前記各フレームに対応するグループを除いた残りのグループのメモリセルアレイにエラー訂正コードを適用しなかった一般的な書き込みまたは読み出し動作を行うステップと、
を含む、人工ニューラルネットワークに基づいたシステム半導体におけるメモリのECC適用方法。
【請求項2】
FTTI(Fault Handing Time Interval)時間及びフレーム処理時間によって前記ECC書き込みまたは読み出し動作と前記一般的な書き込みまたは読み出し動作とを適用可能なECC適用回数が調整される請求項1に記載の人工ニューラルネットワークに基づいたシステム半導体におけるメモリのECC適用方法。
【請求項3】
前記ECC書き込み動作において住所デコーダ(Address decoder)がワードラインを基準に選択した前記各フレームに対応するグループのメモリセルアレイに書き込みデータ(Write data)に基づいてECCエンコーダ(Encoder)によりECCコードが生成され、前記書き込みデータがメモリに格納され、前記生成されたECCコードがECCメモリに格納される請求項1に記載の人工ニューラルネットワークに基づいたシステム半導体におけるメモリのECC適用方法。
【請求項4】
前記ECC読み出し動作において住所デコーダがワードラインを基準に選択した前記各フレームに対応するグループのメモリセルアレイでECCコードを再生成した後、前記再生成されたECCコードは、ECCメモリで読み出したECCコードと比較される請求項1に記載の人工ニューラルネットワークに基づいたシステム半導体におけるメモリのECC適用方法。
【請求項5】
前記ECC書き込みまたは読み出し動作を行うステップは、
住所デコーダ入力情報の最下位ビット(least significant bit、LSB)を基準に選択された各フレームに対応するグループのメモリセルアレイにエラー訂正コードを適用する請求項1に記載の人工ニューラルネットワークに基づいたシステム半導体におけるメモリのECC適用方法。
【請求項6】
前記一般的な書き込みまたは読み出し動作を行うステップは、
前記第1ないし第nのフレームの各フレーム毎に、前記各フレームに対応するグループを除いた残りのグループのメモリセルアレイにエラー検出用パリティビット(Parity bit)を追加した書き込みまたは読み出し動作を行う請求項1に記載の人工ニューラルネットワークに基づいたシステム半導体におけるメモリのECC適用方法。
【請求項7】
前記一般的な書き込みまたは読み出し動作を行うステップは、
前記各フレームに対応するグループを除いた残りのグループのメモリセルアレイで住所デコーダ入力情報の最下位ビットを基準に選択されたワードラインの読み出しデータとパリティビットとを合わせてビット数を計算し、エラー可否を検出する請求項1に記載の人工ニューラルネットワークに基づいたシステム半導体におけるメモリのECC適用方法。
【請求項8】
人工ニューラルネットワークに基づいたシステム半導体において発生するデータを格納するメモリセルと、
ECC書き込みまたは読み出し動作と関連したECCコードを格納するECCメモリと、
1つ以上のプログラムを格納する格納モジュールと、
前記格納された1つ以上のプログラムを実行するプロセッサと、
を備え、
前記プロセッサは、
前記メモリセルをワードライン(Word line)基準に第1ないし第nのフレームに対応する第1ないし第nのグループのメモリセルアレイに区分し(nは、2以上の自然数である)、
前記第1ないし第nのフレームの各フレーム毎に、各フレームに対応するグループのメモリセルアレイにエラー訂正コード(ECC、Error Correction Code)を適用したECC書き込みまたは読み出し動作を行い、
前記第1ないし第nのフレームの各フレーム毎に、前記各フレームに対応するグループを除いた残りのグループのメモリセルアレイにエラー訂正コードを適用しなかった一般的な書き込みまたは読み出し動作を行う、人工ニューラルネットワークに基づいたシステム半導体におけるメモリのECC適用装置。
【請求項9】
FTTI(Fault Handing Time Interval)時間及びフレーム処理時間によって前記ECC書き込みまたは読み出し動作と前記一般的な書き込みまたは読み出し動作とを適用可能なECC適用回数が調整される請求項8に記載の人工ニューラルネットワークに基づいたシステム半導体におけるメモリのECC適用装置。
【請求項10】
前記ECC書き込み動作において住所デコーダ(Address decoder)がワードラインを基準に選択した前記各フレームに対応するグループのメモリセルアレイに書き込みデータ(Write data)に基づいてECCエンコーダ(Encoder)によりECCコードが生成され、前記書き込みデータがメモリに格納され、前記生成されたECCコードがECCメモリに格納される請求項8に記載の人工ニューラルネットワークに基づいたシステム半導体におけるメモリのECC適用装置。
【請求項11】
前記ECC読み出し動作において住所デコーダがワードラインを基準に選択した前記各フレームに対応するグループのメモリセルアレイでECCコードを再生成した後、前記再生成されたECCコードは、ECCメモリで読み出したECCコードと比較される請求項8に記載の人工ニューラルネットワークに基づいたシステム半導体におけるメモリのECC適用装置。
【請求項12】
前記プロセッサは、
住所デコーダ入力情報の最下位ビット(least significant bit、LSB)を基準に選択された各フレームに対応するグループのメモリセルアレイにエラー訂正コードを適用する請求項8に記載の人工ニューラルネットワークに基づいたシステム半導体におけるメモリのECC適用装置。
【請求項13】
前記プロセッサは、
前記第1ないし第nのフレームの各フレーム毎に、前記各フレームに対応するグループを除いた残りのグループのメモリセルアレイにエラー検出用パリティビット(Parity bit)を追加した書き込みまたは読み出し動作を行う請求項8に記載の人工ニューラルネットワークに基づいたシステム半導体におけるメモリのECC適用装置。
【請求項14】
前記プロセッサは、
前記各フレームに対応するグループを除いた残りのグループのメモリセルアレイで住所デコーダ入力情報の最下位ビットを基準に選択されたワードラインの読み出しデータとパリティビットとを合わせてビット数を計算し、エラー可否を検出する請求項8に記載の人工ニューラルネットワークに基づいたシステム半導体におけるメモリのECC適用装置。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、人工ニューラルネットワークに基づいたシステム半導体において使用されるオブジェクト認識システムに関し、より詳細には、人工ニューラルネットワークに基づいたシステム半導体におけるメモリのECC適用方法及び装置に関する。
【背景技術】
【0002】
人工ニューラルネットワークに基づいたシステム半導体において使用するメモリ故障率を改善させるための一般的な方法は、メモリにECC(Error Correction Code)を使用することである。
【0003】
ECCは、メモリにデータを格納するとき、チェックビットを使用する方法である。データ単位当たりビット順序を表すECCコードが計算され、そのデータとともに格納するものである。データ単位を読み出すときは、読み出したデータでECCコードを再生成した後に、再生成したECCコードと読み出したECCコードとを比較することで、データのエラー可否を判断することになる方法である。
【0004】
従来、ECC適用技術では、ECCを使用することになると、データにエラーがあるか検査するための追加的なメモリ領域が割り当てられる。したがって、ECCメモリ領域が増加することになるという短所が生じる。SEC-DEC(Single Error Detection Double Error Detection)方式を使用してECCを使用することになると、データ単位によって発生されるチェックビットは、16ビット当たり6ビット、32ビット当たり7ビット、64ビット当たり8ビット、そして128ビット当たり9ビットである。チェックビット追加によるメモリ領域は、16ビット、32ビット、64ビット、128ビットで各々38%、22%、13%、7%である。
【0005】
一方、従来技術のうち、隣接メモリセルの故障の影響を緩和する方法は、第1のECC回路が偶数のメモリセルから情報を受信し、第2のECC回路が奇数のメモリセルから情報を受信する方法を使用することができる。したがって、このような第1及び第2のECC回路は、隣接していないメモリセルを使用することにより故障の影響を緩和することはできるであろうが、ECC回路追加によりメモリ領域が増加することは必須的であるといえる。
【発明の概要】
【発明が解決しようとする課題】
【0006】
本発明の実施形態等は、人工ニューラルネットワークに基づいたシステム半導体において診断カバレッジ及び面積を考慮して効率的なECC適用のための、人工ニューラルネットワークに基づいたシステム半導体におけるメモリのECC適用方法及び装置を提供しようとする。
【0007】
ただし、本発明の解決しようとする課題は、これに限定されるものではなく、本発明の思想及び領域から逸脱しない範囲の環境でも様々に拡張されることができるであろう。
【課題を解決するための手段】
【0008】
本発明の一実施形態によれば、人工ニューラルネットワークに基づいたシステム半導体におけるメモリECC適用装置により行われるメモリのECC適用方法において、メモリセルをワードライン(Word line)基準に第1ないし第nのフレームに対応する第1ないし第nのグループのメモリセルアレイに区分するステップ(nは、2以上の自然数である)と、前記第1ないし第nのフレームの各フレーム毎に、各フレームに対応するグループのメモリセルアレイにエラー訂正コード(ECC、Error Correction Code)を適用したECC書き込みまたは読み出し動作を行うステップと、前記第1ないし第nのフレームの各フレーム毎に、前記各フレームに対応するグループを除いた残りのグループのメモリセルアレイにエラー訂正コードを適用しなかった一般的な書き込みまたは読み出し動作を行うステップとを含む人工ニューラルネットワークに基づいたシステム半導体におけるメモリのECC適用方法が提供され得る。
【0009】
FTTI(Fault Handing Time Interval)時間及びフレーム処理時間によって前記ECC書き込みまたは読み出し動作と前記一般的な書き込みまたは読み出し動作とを適用可能なECC適用回数が調整され得る。
【0010】
前記ECC書き込み動作において住所デコーダ(Address decoder)がワードラインを基準に選択した前記各フレームに対応するグループのメモリセルアレイに書き込みデータ(Write data)に基づいてECCエンコーダ(Encoder)によりECCコードが生成され、前記書き込みデータがメモリに格納され、前記生成されたECCコードがECCメモリに格納されることができる。
【0011】
前記ECC読み出し動作において住所デコーダがワードラインを基準に選択した前記各フレームに対応するグループのメモリセルアレイでECCコードを再生成した後、前記再生成されたECCコードは、ECCメモリで読み出したECCコードと比較されることができる。
【0012】
前記ECC書き込みまたは読み出し動作を行うステップは、住所デコーダ入力情報の最下位ビット(least significant bit、LSB)を基準に選択された各フレームに対応するグループのメモリセルアレイにエラー訂正コードを適用できる。
【0013】
前記一般的な書き込みまたは読み出し動作を行うステップは、前記第1ないし第nのフレームの各フレーム毎に、前記各フレームに対応するグループを除いた残りのグループのメモリセルアレイにエラー検出用パリティビット(Parity bit)を追加した書き込みまたは読み出し動作を行うことができる。
【0014】
前記一般的な書き込みまたは読み出し動作を行うステップは、前記各フレームに対応するグループを除いた残りのグループのメモリセルアレイで住所デコーダ入力情報の最下位ビットを基準に選択されたワードラインの読み出しデータとパリティビットとを合わせてビット数を計算し、エラー可否を検出できる。
【0015】
一方、本発明の他の実施形態によれば、人工ニューラルネットワークに基づいたシステム半導体において発生するデータを格納するメモリセルと、ECC書き込みまたは読み出し動作と関連したECCコードを格納するECCメモリと、1つ以上のプログラムを格納する格納モジュールと、前記格納された1つ以上のプログラムを実行するプロセッサとを備え、前記プロセッサは、前記メモリセルをワードライン(Word line)基準に第1ないし第nのフレームに対応する第1ないし第nのグループのメモリセルアレイに区分し(nは、2以上の自然数である)、前記第1ないし第nのフレームの各フレーム毎に、各フレームに対応するグループのメモリセルアレイにエラー訂正コード(ECC、Error Correction Code)を適用したECC書き込みまたは読み出し動作を行い、前記第1ないし第nのフレームの各フレーム毎に、前記各フレームに対応するグループを除いた残りのグループのメモリセルアレイにエラー訂正コードを適用しなかった一般的な書き込みまたは読み出し動作を行う人工ニューラルネットワークに基づいたシステム半導体におけるメモリのECC適用装置が提供され得る。
【0016】
FTTI(Fault Handing Time Interval)時間及びフレーム処理時間によって前記ECC書き込みまたは読み出し動作と前記一般的な書き込みまたは読み出し動作とを適用可能なECC適用回数が調整され得る。
【0017】
前記ECC書き込み動作において住所デコーダ(Address decoder)がワードラインを基準に選択した前記各フレームに対応するグループのメモリセルアレイに書き込みデータ(Write data)に基づいてECCエンコーダ(Encoder)によりECCコードが生成され、前記書き込みデータがメモリに格納され、前記生成されたECCコードがECCメモリに格納されることができる。
【0018】
前記ECC読み出し動作において住所デコーダがワードラインを基準に選択した前記各フレームに対応するグループのメモリセルアレイでECCコードを再生成した後、前記再生成されたECCコードは、ECCメモリで読み出したECCコードと比較されることができる。
【0019】
前記プロセッサは、住所デコーダ入力情報の最下位ビット(least significant bit、LSB)を基準に選択された各フレームに対応するグループのメモリセルアレイにエラー訂正コードを適用できる。
【0020】
前記プロセッサは、前記第1ないし第nのフレームの各フレーム毎に、前記各フレームに対応するグループを除いた残りのグループのメモリセルアレイにエラー検出用パリティビット(Parity bit)を追加した書き込みまたは読み出し動作を行うことができる。
【0021】
前記プロセッサは、前記各フレームに対応するグループを除いた残りのグループのメモリセルアレイで住所デコーダ入力情報の最下位ビットを基準に選択されたワードラインの読み出しデータとパリティビットとを合わせてビット数を計算し、エラー可否を検出できる。
【発明の効果】
【0022】
開示された技術は、次の効果を有することができる。ただし、特定実施形態が次の効果を全て含むべきであるか、次の効果だけを含むべきであるという意味ではないので、開示された技術の権利範囲は、これによって制限されると理解されてはならないであろう。
【0023】
本発明の実施形態等は、人工ニューラルネットワークに基づいたシステム半導体において診断カバレッジ及び面積を考慮して効率的なECCを適用できる。
【0024】
本発明の実施形態等は、フレームに対応するグループのメモリセルアレイにECCを選択的に適用することで、ECCを使用して発生する追加的なECCメモリ領域を改善できる。
【0025】
本発明の実施形態等は、人工ニューラルネットワークに基づいたシステム半導体において使用するメモリ使用方式を考慮して、ECCを使用するときに発生される追加的なメモリ領域を減少させることができる。
【0026】
本発明の実施形態等は、車両水準のFTTI(Fault Handing Time Interval)内で処理できる人工ニューラルネットワークのフレーム処理時間間隔を考慮して、メモリセルにECCを最大限に適用することで、減少されるメモリ領域を追加的に減少させることができる。
【0027】
本発明の実施形態等は、FTTI時間及びフレーム処理時間によってECC適用回数を調整して、メモリ減少効果を発生させることができる。
【0028】
本発明の実施形態等は、メモリセルアレイにおける書き込み動作でフレーム毎に選択的なECCエンコーディングを行うことにより、読み出し動作で発生されるECC復号化作業を半分に減少させて、メモリのレイテンシを改善できる。
【図面の簡単な説明】
【0029】
【
図1】本発明の一実施形態が使用される人工ニューラルネットワークに基づいたシステム半導体の構成を示した図である。
【
図2】本発明の一実施形態に係る人工ニューラルネットワークに基づいたシステム半導体におけるメモリのECC適用方法に対するフローチャートである。
【
図3】本発明の一実施形態に係るメモリのECC適用方法が使用された書き込み及び読み出し動作の例示を示した図である。
【
図4】本発明の一実施形態に係るメモリのECC適用方法が使用された書き込み及び読み出し動作の例示を示した図である。
【
図5】本発明の一実施形態に使用された住所デコーダの真理表の例示を示した図である。
【
図6A】本発明の一実施形態に係るメモリのECC適用方法において選択的なECC書き込み及び読み出し動作を示した図である。
【
図6B】本発明の一実施形態に係るメモリのECC適用方法において選択的なECC書き込み及び読み出し動作を示した図である。
【
図7A】本発明の一実施形態に係るメモリのECC適用方法において選択的なECC書き込み及び読み出し動作を示した図である。
【
図7B】本発明の一実施形態に係るメモリのECC適用方法において選択的なECC書き込み及び読み出し動作を示した図である。
【
図8A】本発明の一実施形態に係るメモリのECC適用方法においてパリティビットを用いた選択的なECC書き込み及び読み出し動作を示した図である。
【
図8B】本発明の一実施形態に係るメモリのECC適用方法においてパリティビットを用いた選択的なECC書き込み及び読み出し動作を示した図である。
【
図9A】本発明の一実施形態に係るメモリのECC適用方法においてパリティビットを用いた選択的なECC書き込み及び読み出し動作を示した図である。
【
図9B】本発明の一実施形態に係るメモリのECC適用方法においてパリティビットを用いた選択的なECC書き込み及び読み出し動作を示した図である。
【
図10】本発明の一実施形態に係る人工ニューラルネットワークに基づいたシステム半導体におけるメモリのECC適用装置の構成図である。
【発明を実施するための形態】
【0030】
本発明は、様々な変換を加えることができ、種々の実施形態を有することができるところ、特定実施形態を図面に例示し、詳細な説明に具体的に説明しようとする。しかし、これは、本発明を特定の実施形態に対して限定しようとするものではなく、本発明の技術的思想及び技術範囲に含まれる全ての変換、均等物ないし代替物を含むことと理解されることができる。本発明を説明するにあたり、関連した公知技術についての具体的な説明が本発明の要旨を濁す恐れがあると判断される場合、その詳細な説明を省略する。
【0031】
第1、第2などの用語は、様々な構成要素を説明するのに使用されることができるが、構成要素等が用語等により限定されるものではない。用語等は、1つの構成要素を他の構成要素から区別する目的としてのみ使用される。
【0032】
本発明において使用した用語は、単に特定の実施形態を説明するために使用されたものであって、本発明を限定しようとする意図ではない。本発明において使用した用語は、本発明での機能を考慮しつつ、なるべく現在広く使用される一般的な用語を選択したが、これは、当分野に従事する技術者の意図、判例、または新しい技術の出現などによって変わることができる。また、特定の場合は、出願人が任意に選定した用語もあり、この場合、該当する発明の説明部分で詳細にその意味を記載するであろう。したがって、本発明において使用される用語は、単純な用語の名称でない、その用語が有する意味と本発明の全般にわたる内容を基に定義されなければならない。
【0033】
単数の表現は、文脈上明白に異なるように意味しない限り、複数の表現を含む。本発明において、「含む」または「有する」などの用語は、明細書上に記載された特徴、数字、ステップ、動作、構成要素、部品、またはこれらを組み合わせたものが存在することを指定しようとするものであり、1つまたはそれ以上の他の特徴や数字、ステップ、動作、構成要素、部品、またはこれらを組み合わせたものなどの存在または付加可能性を予め排除しないことと理解されるべきである。
【0034】
以下、本発明の実施形態を添付図面を参照して詳細に説明し、添付図面を参照して説明するにあたり、同一であるか、対応する構成要素は、同じ図面符号を付与し、これについての重複する説明を省略する。
【0035】
図1は、本発明の一実施形態が使用される人工ニューラルネットワークに基づいたシステム半導体の構成を示した図である。
【0036】
まず、本発明の一実施形態に係るメモリのECC適用装置は、ECCを使用するとき、チェックビットを追加しながら発生されるメモリ領域を減少するためのものである。
【0037】
図1に示されたように、人工ニューラルネットワークにおいてオブジェクトを認識する人工ニューラルネットワークに基づいたシステム半導体は、NPUクラスタ(Neural Processing Unit cluster)110、AXI(Advanced eXtensible Interface)120、及びDRAMからなるメモリ130を備える。
【0038】
NPUクラスタ110は、NPUコア111、バッファメモリ112、及びDMA(113)で構成される。カメラから受信されたデータは、メモリ130に格納される。このデータがNPUコア111内のバッファメモリ112に伝達されることで、NPUコア111は連続的なイメージを演算するようになり、この結果が再度メモリ130に伝達されるようになる。
【0039】
このような方式は、連続的なイメージデータを処理する方式である。このデータはメモリ130に格納されるので、メモリ130のデータが壊れるようになると、オブジェクト認識率は低くなるであろう。ただし、連続的にデータが処理されるので、瞬間的なメモリ130の故障は、1フレーム(frame)にのみ影響を及ぼすようになるが、永久的なメモリ欠陥が発生する場合には、持続的なオブジェクト認識率下落を発生させるようになる。
【0040】
したがって、人工ニューラルネットワークでオブジェクト認識率低下を防止するためには、ECCメモリ保護が必須的であるといえるであろう。しかし、オブジェクト認識性能向上のためには、マルチプロセッシングコアが求められ、このためのメモリ容量も増加されるので、チップサイズは増加し続けることになる。メモリを保護するためのECCメモリ領域も増加し続けるので、これを減少させる方法は必須的であるといえるであろう。
【0041】
これを解決するために、本発明の実施形態に係るECC適用装置は、フレームに対応するグループのメモリセルアレイにECCを選択的に適用することにより、ECCを使用して発生する追加的なECCメモリ領域を改善できる。
【0042】
図2は、本発明の一実施形態に係る人工ニューラルネットワークに基づいたシステム半導体におけるメモリのECC適用方法に対するフローチャートである。
【0043】
ステップS101において、ECC適用装置は、メモリセルをワードライン基準に第1ないし第nのフレームに対応する複数のグループのメモリセルアレイに区分する。
【0044】
ステップS102において、ECC適用装置は、現在フレームに対応するグループのメモリセルアレイであるかを確認する。
【0045】
ステップS103において、ECC適用装置は、現在フレームに対応するグループのメモリセルアレイである場合、各フレームに対応するグループのメモリセルアレイにエラー訂正コードを適用したECC書き込みまたは読み出し動作を行う。
【0046】
ステップS104において、ECC適用装置は、現在フレームに対応するグループのメモリセルアレイでない場合、各フレームに対応するグループを除いた残りのグループのメモリセルアレイにエラー訂正コードを適用しなかった一般的な書き込み動作を行う。
【0047】
このように、本発明の一実施形態に係るECC適用装置は、メモリセル内のトランジスタ(transistor)をオン/オフ(on/off)するワードライン(word line、WL)を選択的に制御して、ECCが適用されるメモリセルを減少させる方式を使用する。住所デコーダ(Address decoder)で選択されたメモリセルアレイ(例えば、1つの特定行)にのみECCコードを適用し、選択されなかったメモリセルアレイ(Array)は、ECCコードを適用しなくなるものである。選択されなかったメモリセルアレイは、データに対する故障検出をすることができないが、次のフレームを処理する過程で選択されなかったメモリセルアレイにECCコードを適用するならば、全てのメモリセルアレイを検出できるようになるものである。
【0048】
ここで、本発明の一実施形態に係るECC適用装置は、一部メモリセルアレイに対して選択的にECCを適用する場合、車両水準のFTTI(Fault Handing Time Interval)以内に全てのメモリセルに対してECCを適用できる。
【0049】
ここで、FTTIは、車両安全メカニズムが活性化されなかった場合、車両の欠陥発生から可能な危険事件発生までの最小時間範囲を表す。最小時間範囲は、全ての危険事件に対して評価されなければならない。危険源の特性によって変わることができるためである。FTTIは、車両の誤動作により発生する危険源と関連があり、当該危険源から派生した安全目標と関連した属性として使用されることができる。関連FTTI内で車両が安全状態で維持、安全状態に切り換わるか、非常動作に切り換わる場合、欠陥は、安全メカニズムにより適時に処理されることができる。危険事件の発生は、存在する欠陥と、欠陥が車両行動に影響を及ぼすことができるシナリオにかかっている。
【0050】
FTTIが考慮されたメモリセルでのECC動作の例示を説明すれば、車両水準のFTTIが100msと仮定し、秒当たり30フレームを処理できる人工ニューラルネットワークであるならば、1フレームを処理できる間隔は33msであるといえる。したがって、全体メモリセルアレイは、FTTI 100ms内で総3回の選択的ECCコードを適用できるようになる。本発明の一実施形態に係るECC適用装置は、ECCコードを適用するECCメモリ領域を1/3水準に減少させることができる。または、車両水準のFTTIが200msであり、秒当たり30フレームを処理できる人工ニューラルネットワークであるならば、FTTI 200ms内で最大6回のECCコードを適用できる。このような場合、本発明の一実施形態に係るECC適用装置は、ECCコードを適用するECCメモリ領域を1/6水準に減少させることができるものである。このように、FTTI時間及びフレーム処理時間によってECC書き込みまたは読み出し動作と一般的な書き込みまたは読み出し動作とを適用可能なECC適用回数が調整され得る。これにより、調整されたECC適用回数によってECCメモリ減少効果が発生しうる。
【0051】
図3及び
図4は、本発明の一実施形態に係るメモリのECC適用方法が使用された書き込み及び読み出し動作の例示を示した図である。
【0052】
まず、ECCコードは、書き込みデータ(Write data)に基づいてECCエンコーダにより生成され、書き込みデータがメモリに格納され、ECCコードがECCメモリに格納される。
【0053】
図3及び
図4には、メモリセルがワードライン基準に交互に区分され、ワードライン基準に交互にECC動作が選択的に適用されて書き込み動作と読み出し動作が行われる例示が示されている。一例として、ECC適用装置は、全体メモリセルをワードライン基準に偶数番目のメモリセルアレイと奇数番目のメモリセルアレイとに分けることができる。そして、ECC適用装置は、偶数フレームで偶数番目のメモリセルアレイにECC動作を適用し、奇数フレームで奇数番目のメモリセルアレイにECC動作を適用することができる。ここで、メモリセルは、特定個数に分けられることに限定されない。全体メモリセルは、車両水準のFTTIを考慮して、nグループ(nは、2以上の自然数である)のメモリセルアレイに分けられることができる。
【0054】
ECC適用装置は、書き込み動作の際、データはメモリ領域に格納し、ECCコードをECC住所位置(address location)に合うようにECCメモリに格納する。入力住所は、住所デコーダを介して格納される住所を選択するようになる。ECC適用装置は、ECC動作を、1番目の書き込み動作時にはワードラインN+1、N+3、...にのみ適用し、次回のフレームの書き込み動作時にはワードラインN、N+2、...にのみ適用する選択的なECC適用方式を使用する。
【0055】
ECC適用装置は、ECCコードを生成するとき、住所デコーダ(Address decoder)がワードライン(Word line、WL)を基準にWL_0にはECCコードを生成し、WL_1にはECCコードを生成しない選択的なECC方法を使用する。このような選択的なECC適用方法は、全体メモリセルであるWL_Nまで選択的に適用するようになることで、全体メモリセル領域で使用するECCメモリは半分に減少させることができる。
【0056】
ECC適用装置は、読み出し動作にも同じ方法を適用して、住所デコーダがワードラインWLを基準にWL_0には読み出したメモリでECCコードを再生成した後、読み出したECCコードと比較する作業を行う。そして、ECC適用装置は、WL_1では、ECCを比較する作業なしに、すなわち、ECC動作が適用されなかった一般的な読み出し動作を介して直ちにメモリを読み出す。
【0057】
上記のような動作を行うことになると、ECCコードによるメモリ領域は半分に減少されるという効果が生じるであろう。仮に、メモリセルがnグループのメモリセルアレイに区分されるならば、メモリ領域は、1/nだけ減少されることができる。また、ECC適用装置は、エンコーディング(encoding)されたECCコードを復号化するのに発生されるレイテンシを減少させることができる。
【0058】
ここで、ECCコードは、メモリエラー発生を検出し、これを訂正するために使用されるが、ECCコードがメモリ領域の半分のみカバーすることになると、エラー検出及び訂正効果が半分に減少することと判断することができる。
【0059】
一方、人工ニューラルネットワークに基づいたシステム半導体において使用するメモリは、フレーム毎に更新されて書き込み及び読み出し動作を新しく行う。したがって、ECC適用装置は、次のフレームではECC動作を適用できなかったワードラインにECCを適用することにより、2フレーム毎に全てのメモリのエラー発生を検出できる。
【0060】
図5は、本発明の一実施形態に使用された住所デコーダの真理表の例示を示した図である。
【0061】
ECC適用装置は、nビットとなった住所デコーダを使用するとき、2^n個の出力をワードラインとして使用することができるようになる。例えば、3×8住所デコーダの場合、真理表は
図5に示されたとおりである。
【0062】
図5に示された真理表において、最下位ビット(LSB、Least Significant Bit)の最も下位ビットであるCを基準とすれば、0と1が繰り返される。したがって、ワードライン基準に交互にECC動作が適用される場合、ECC適用装置は、入力される1番目のフレームではLSB最下位ビットが0であるワードラインにのみECC動作を適用し、2番目のフレームではLSB最下位ビットが1であるワードラインにのみECC動作を適用することができる。
【0063】
図6A,
図6B,
図7A及び
図7Bは、本発明の一実施形態に係るメモリのECC適用方法において選択的なECC書き込み及び読み出し動作を示した図である。
【0064】
まず、
図6A,
図6B,
図7A及び
図7Bに示されたECC書き込み及び読み出し動作は、2フレーム毎に全てのメモリのエラー発生を検出する例示を示す。ECC適用装置は、奇数及び偶数フレーム毎に住所デコーダを介して住所デコーダ入力情報の最下位ビット(LSB)を確認し、ワードライン基準に最下位ビット(LSB)に対応する奇数または偶数番目のワードラインのメモリセルアレイに対して選択的にECC動作を適用する。
【0065】
図6A及び
図6Bに示されたように、ステップS201において、ECC適用装置は、メモリの書き込み動作を始める。
【0066】
ステップS202において、ECC適用装置は、書き込み動作のためのデータのフレーム番号(#)を確認する。
【0067】
ステップS203において、ECC適用装置は、フレーム番号(#)が#N+0、#N+2、...である場合、住所デコーダを介して住所デコーダ入力情報の最下位ビット(LSB)を確認する。
【0068】
ステップS204において、ECC適用装置は、最下位ビット(LSB)が0である場合(LSB=0)、現在住所とデータとを用いてECCデータ#0をエンコーディングする。
【0069】
ステップS205において、ECC適用装置は、メモリにデータを格納し、計算されたECCデータをECCメモリに格納する。このように、ECC適用装置は、最下位ビット(LSB)が0である場合(LSB=0)に当該メモリセルアレイに対してECC動作を行う。
【0070】
それに対し、ステップS206において、ECC適用装置は、最下位ビット(LSB)が1である場合(LSB=1)、メモリにデータを格納する。このように、ECC適用装置は、最下位ビット(LSB)が1である場合(LSB=1)に当該メモリセルアレイに対してECC動作を行わずに一般的な書き込み動作を行う。
【0071】
一方、ステップS207において、ECC適用装置は、フレーム番号(#)が#N+1、#N+3、...である場合、住所デコーダを介して最下位ビット(LSB)を確認する。
【0072】
ステップS208において、ECC適用装置は、最下位ビット(LSB)が1である場合(LSB=1)、現在住所とデータとを用いてECCデータ#1をエンコーディングする。
【0073】
ステップS209において、ECC適用装置は、メモリにデータを格納し、計算されたECCデータをECCメモリに格納する。このように、ECC適用装置は、最下位ビット(LSB)が1である場合(LSB=1)に当該メモリセルアレイに対してECC動作を行う。
【0074】
それに対し、ステップS210において、ECC適用装置は、最下位ビット(LSB)が0である場合(LSB=0)、メモリにデータを格納する。このように、ECC適用装置は、最下位ビット(LSB)が0である場合(LSB=0)に当該メモリセルアレイに対してECC動作を行わずに一般的な書き込み動作を行う。
【0075】
そして、ステップS211において、ECC適用装置は、ステップS205、ステップS206、ステップS209、及びステップS210以後、メモリセルに対して書き込み動作を終了する。
【0076】
このように、ECC適用装置は、書き込み動作の場合、フレーム番号(frame #)情報を確認した後、偶数フレームではLSBが0であるワードラインに対してECCエンコーディング(encoding)動作を行い、LSBが1であるワードラインに対してデータのみ格納することができる。
【0077】
逆に、ECC適用装置は、書き込み動作の場合、奇数フレームではLSBが1であるワードラインに対してECCエンコーディング動作を行い、LSBが0であるワードラインに対してデータのみ格納することができる。
【0078】
一方、
図7A及び
図7Bに示されたように、ステップS301において、ECC適用装置は、メモリの読み出し動作を始める。
【0079】
ステップS302において、ECC適用装置は、読み出し動作のためのデータのフレーム番号(#)を確認する。
【0080】
ステップS303において、ECC適用装置は、フレーム番号(#)が#N+0、#N+2、...である場合、住所デコーダを介して住所デコーダ入力情報の最下位ビット(LSB)を確認する。
【0081】
ステップS304において、ECC適用装置は、最下位ビット(LSB)が0である場合(LSB=0)、メモリからデータを読み出し、ECCメモリからECCデータ#0を読み出す。
【0082】
ステップS305において、ECC適用装置は、メモリから読み出したデータと現在住所とを用いてECCデータ#2を再生成する。
【0083】
ステップS306において、ECC適用装置は、読み出したECCデータ#0及び再生成されたECCデータ#2を比較する。
【0084】
ステップS307において、ECC適用装置は、メモリから読み出したデータが未欠陥データであるか、それとも欠陥データであって、1ビットまたは2ビットの訂正が必要であるか確認する。
【0085】
ステップS308において、ECC適用装置は、1ビットまたは2ビットの訂正が必要な場合、当該ビットのデータ訂正動作を行う。
【0086】
それに対し、ステップS309において、ECC適用装置は、最下位ビット(LSB)が1である場合(LSB=1)、メモリでデータを読み出す。
【0087】
一方、ステップS310において、ECC適用装置は、フレーム番号(#)が#N+1、#N+3、...である場合、住所デコーダを介して最下位ビット(LSB)を確認する。
【0088】
ステップS311において、ECC適用装置は、最下位ビット(LSB)が1である場合(LSB=1)、メモリからデータを読み出し、ECCメモリからECCデータ#1を読み出す。
【0089】
ステップS312において、ECC適用装置は、メモリから読み出したデータと現在住所とを用いてECCデータ#3を再生成する。
【0090】
ステップS313において、ECC適用装置は、読み出したECCデータ#1及び再生成されたECCデータ#3を比較する。
【0091】
ステップS314において、ECC適用装置は、メモリから読み出したデータが未欠陥データであるか、それとも欠陥データであって、1ビットまたは2ビットの訂正が必要であるか確認する。
【0092】
ステップS315において、ECC適用装置は、1ビットまたは2ビットの訂正が必要な場合、当該ビットのデータ訂正動作を行う。
【0093】
それに対し、ステップS316において、ECC適用装置は、最下位ビット(LSB)が0である場合(LSB=0)、メモリでデータを読み出す。
【0094】
そして、ステップS317において、ECC適用装置は、ステップS308、ステップS309、ステップS315、及びステップS316以後、メモリセルに対して読み出し動作を終了する。
【0095】
このように、ECC適用装置は、読み出し動作の場合、フレーム番号(frame #)情報を確認した後、偶数フレームではLSBが0であるワードラインに対してECCデコーディング(decoding)動作を行い、LSBが1であるワードラインに対してデータのみロードすることができる。
【0096】
逆に、ECC適用装置は、読み出し動作の場合、奇数フレームではLSBが1であるワードラインに対してECCデコーディング動作を行い、LSBが0であるワードラインに対してデータのみロードすることができる。
【0097】
図6A,
図6B,
図7A及び
図7Bのような選択的ECCコードを適用するならば、車両水準のFTTI以内では、全体メモリセルに対してエラー検出及び訂正効果を維持することができる。ただし、特定フレームでは、エラー検出及び訂正効果は減少されることがある。したがって、特定フレームで減少されたエラー検出及び訂正効果を改善させることができるパリティビットを用いた本発明の一実施形態を
図8A,
図8B,
図9A及び
図9Bを参照して説明する。
【0098】
図8A,
図8B,
図9A及び
図9Bは、本発明の一実施形態に係るメモリのECC適用方法においてパリティビットを用いた選択的なECC書き込み及び読み出し動作を示した図である。
【0099】
図8A及び
図8Bに示されたように、ステップS401において、ECC適用装置は、メモリの書き込み動作を始める。
【0100】
ステップS402において、ECC適用装置は、書き込み動作のためのデータのフレーム番号(#)を確認する。
【0101】
ステップS403において、ECC適用装置は、フレーム番号(#)が#N+0、#N+2、...である場合、住所デコーダを介して住所デコーダ入力情報の最下位ビット(LSB)を確認する。
【0102】
ステップS404において、ECC適用装置は、最下位ビット(LSB)が0である場合(LSB=0)、現在住所とデータとを用いてECCデータ#0をエンコーディングする。
【0103】
ステップS405において、ECC適用装置は、メモリにデータを格納し、計算されたECCデータをECCメモリに格納する。このように、ECC適用装置は、最下位ビット(LSB)が0である場合(LSB=0)に当該メモリセルアレイに対してECC動作を行う。
【0104】
それに対し、ステップS406において、ECC適用装置は、最下位ビット(LSB)が1である場合(LSB=1)、パリティビットを計算する。
【0105】
ステップS407において、ECC適用装置は、メモリにデータ及び計算されたパリティビットを格納する。このように、ECC適用装置は、最下位ビット(LSB)が1である場合(LSB=1)に当該メモリセルアレイに対してECC動作を行わずにデータ及びパリティビットを格納する。
【0106】
一方、ステップS408において、ECC適用装置は、フレーム番号(#)が#N+1、#N+3、...である場合、住所デコーダを介して最下位ビット(LSB)を確認する。
【0107】
ステップS409において、ECC適用装置は、最下位ビット(LSB)が1である場合(LSB=1)、現在住所とデータとを用いてECCデータ#1をエンコーディングする。
【0108】
ステップS410において、ECC適用装置は、メモリにデータを格納し、計算されたECCデータをECCメモリに格納する。このように、ECC適用装置は、最下位ビット(LSB)が1である場合(LSB=1)に当該メモリセルアレイに対してECC動作を行う。
【0109】
それに対し、ステップS411において、ECC適用装置は、最下位ビット(LSB)が0である場合(LSB=0)、パリティビットを計算する。
【0110】
ステップS412において、ECC適用装置は、メモリにデータ及び計算されたパリティビットを格納する。このように、ECC適用装置は、最下位ビット(LSB)が0である場合(LSB=0)に当該メモリセルアレイに対してECC動作を行わずにデータ及びパリティビットを格納する。
【0111】
そして、ステップS413において、ECC適用装置は、メモリセルに対して書き込み動作を終了する。
【0112】
そして、ステップS413において、ECC適用装置は、ステップS405、ステップS407、ステップS410、及びステップS412以後、メモリセルに対して書き込み動作を終了する。
【0113】
このように、ECC適用装置は、1番目のフレームで最下位ビット(LSB)が0であるワードラインにのみECC動作を適用し、最下位ビット(LSB)が1であるワードラインにはパリティビット(Parity bit)を追加する方法を使用する。これにより、ECC動作を適用しなかったワードラインに対するエラー検出効果を改善させることができる。ただし、パリティビットを用いたパリティ保護(parity protection)は、データセル(data cell)のエラーは検出するが、訂正効果は発生しない。しかし、ECC適用装置は、1番目のフレームのデータセルでカバーできないワードラインもエラー訂正効果をECC動作効果だけ改善させながら、1ビットのチェックビット(check bit)のみを追加するので、メモリ領域を最小化させることができる。
【0114】
一方、
図9A及び
図9Bに示されたように、ステップS501において、ECC適用装置は、メモリの読み出し動作を始める。
【0115】
ステップS502において、ECC適用装置は、読み出し動作のためのデータのフレーム番号(#)を確認する。
【0116】
ステップS503において、ECC適用装置は、フレーム番号(#)が#N+0、#N+2、...である場合、住所デコーダを介して住所デコーダ入力情報の最下位ビット(LSB)を確認する。
【0117】
ステップS504において、ECC適用装置は、最下位ビット(LSB)が0である場合(LSB=0)、メモリからデータを読み出し、ECCメモリからECCデータ#0を読み出す。
【0118】
ステップS505において、ECC適用装置は、メモリから読み出したデータと現在住所とを用いてECCデータ#2を再生成する。
【0119】
ステップS506において、ECC適用装置は、読み出したECCデータ#0及び再生成されたECCデータ#2を比較する。
【0120】
ステップS507において、ECC適用装置は、メモリから読み出したデータが未欠陥データであるか、それとも欠陥データであって、1ビットまたは2ビットの訂正が必要であるか確認する。
【0121】
ステップS508において、ECC適用装置は、1ビットまたは2ビットの訂正が必要な場合、当該ビットのデータ訂正動作を行う。
【0122】
それに対し、ステップS509において、ECC適用装置は、最下位ビット(LSB)が1である場合(LSB=1)、メモリでデータを読み出す。
【0123】
ステップS510において、ECC適用装置は、メモリで読み出したデータとパリティビットとを比較する。
【0124】
ステップS511において、ECC適用装置は、データとパリティビットとの比較結果、メモリで読み出したデータがデータ拒否であるかを確認する。
【0125】
ステップS512において、ECC適用装置は、メモリで読み出したデータがデータ拒否である場合、データを拒否する。ECC適用装置は、メモリで読み出したデータがデータ拒否でなければ、読み出し動作を終了する。
【0126】
一方、ステップS513において、ECC適用装置は、フレーム番号(#)が#N+1、#N+3、...である場合、住所デコーダを介して最下位ビット(LSB)を確認する。
【0127】
ステップS514において、ECC適用装置は、最下位ビット(LSB)が1である場合(LSB=1)、メモリからデータを読み出し、ECCメモリからECCデータ#1を読み出す。
【0128】
ステップS515において、ECC適用装置は、メモリから読み出したデータと現在住所とを用いてECCデータ#3を再生成する。
【0129】
ステップS516において、ECC適用装置は、読み出したECCデータ#1及び再生成されたECCデータ#3を比較する。
【0130】
ステップS517において、ECC適用装置は、メモリから読み出したデータが未欠陥データであるか、それとも欠陥データであって、1ビットまたは2ビットの訂正が必要であるか確認する。
【0131】
ステップS518において、ECC適用装置は、1ビットまたは2ビットの訂正が必要な場合、当該ビットのデータ訂正動作を行う。
【0132】
それに対し、ステップS519において、ECC適用装置は、最下位ビット(LSB)が0である場合(LSB=0)、メモリでデータを読み出す。
【0133】
ステップS520において、ECC適用装置は、メモリで読み出したデータとパリティビットとを比較する。
【0134】
ステップS521において、ECC適用装置は、データとパリティビットとの比較結果、メモリで読み出したデータがデータ拒否であるかを確認する。
【0135】
ステップS522において、ECC適用装置は、メモリで読み出したデータがデータ拒否である場合、データを拒否する。ECC適用装置は、メモリで読み出したデータがデータ拒否でなければ、読み出し動作を終了する。
【0136】
そして、ステップS523において、ECC適用装置は、ステップS508、ステップS512、ステップS518、及びステップS522以後、メモリセルに対して読み出し動作を終了する。
【0137】
このように、ECC適用装置は、読み出し動作にもフレーム番号情報を確認した後、偶数フレームでは最下位ビット(LSB)が0であるワードラインに対してECCデコーディング動作を行う。そして、ECC適用装置は、最下位ビット(LSB)が1であるワードラインに対してデータとパリティビットとを合わせてビット数を計算し、データエラー可否を確認する動作を行うことができる。
【0138】
図10は、本発明の一実施形態に係る人工ニューラルネットワークに基づいたシステム半導体におけるメモリのECC適用装置の構成図である。
【0139】
図10に示されたように、本発明の一実施形態に係るメモリのECC適用装置200は、メモリセル210、ECCメモリ220、格納モジュール230、及びプロセッサ240を備える。しかし、図示された構成要素の全てが必須構成要素ではない。図示された構成要素より多い構成要素によりECC適用装置200が実現され得るし、それより少ない構成要素によってもECC適用装置200が実現され得る。
【0140】
以下、
図10のECC適用装置200の各構成要素の具体的な構成及び動作を説明する。
【0141】
メモリセル210は、人工ニューラルネットワークに基づいたシステム半導体において発生するデータを格納する。
【0142】
ECCメモリ220は、ECC書き込みまたは読み出し動作と関連したECCコードを格納する。
【0143】
格納モジュール230は、人工ニューラルネットワークに基づいたシステム半導体におけるメモリのECC適用方法と関連した1つ以上のプログラムを格納する。
【0144】
プロセッサ240は、格納モジュール230に格納された1つ以上のプログラムを実行する。プロセッサ240は、メモリセルをワードライン(Word line)基準に第1ないし第nのフレームに対応する第1ないし第nのグループのメモリセルアレイに区分し(nは、2以上の自然数である)、第1ないし第nのフレームの各フレーム毎に、各フレームに対応するグループのメモリセルアレイにエラー訂正コード(ECC、Error Correction Code)を適用したECC書き込みまたは読み出し動作を行い、第1ないし第nのフレームの各フレーム毎に、前記各フレームに対応するグループを除いた残りのグループのメモリセルアレイにエラー訂正コードを適用しなかった一般的な書き込みまたは読み出し動作を行う。
【0145】
実施形態等によれば、FTTI(Fault Handing Time Interval)時間及びフレーム処理時間によって前記ECC書き込みまたは読み出し動作と前記一般的な書き込みまたは読み出し動作とを適用可能なECC適用回数が調整され得る。
【0146】
実施形態等によれば、ECC書き込み動作において住所デコーダ(Address decoder)がワードラインを基準に選択した各フレームに対応するグループのメモリセルアレイに書き込みデータ(Write data)に基づいてECCエンコーダ(Encoder)によりECCコードが生成され、書き込みデータは、メモリに格納され、生成されたECCコードは、ECCメモリに格納されることができる。
【0147】
実施形態等によれば、ECC読み出し動作において住所デコーダがワードラインを基準に選択した各フレームに対応するグループのメモリセルアレイでECCコードを再生成した後、再生成されたECCコードは、ECCメモリで読み出したECCコードと比較されることができる。
【0148】
実施形態等によれば、プロセッサ240は、住所デコーダ入力情報の最下位ビット(least significant bit、LSB)を基準に選択された各フレームに対応するグループのメモリセルアレイにエラー訂正コードを適用できる。
【0149】
実施形態等によれば、プロセッサ240は、第1ないし第nのフレームの各フレーム毎に、各フレームに対応するグループを除いた残りのグループのメモリセルアレイにエラー検出用パリティビット(Parity bit)を追加した書き込みまたは読み出し動作を行うことができる。
【0150】
実施形態等によれば、プロセッサ240は、各フレームに対応するグループを除いた残りのグループのメモリセルアレイで住所デコーダ入力情報の最下位ビットを基準に選択されたワードラインの読み出しデータとパリティビットとを合わせてビット数を計算し、エラー可否を検出できる。
【0151】
このように、本発明の一実施形態に係るECC適用装置200は、人工ニューラルネットワークに基づいたシステム半導体において使用するメモリ使用方式を考慮して、ECC動作を使用するときに発生される追加的なメモリ領域を減少させることができる。
【0152】
本発明の一実施形態に係るECC適用装置200は、メモリのワードラインを基準に選択的にECC動作を適用することにより、ECC動作適用の際に発生される追加的なメモリ領域を半分に減少させることができる。また、ECC適用装置200は、フレーム毎にメモリを更新する応用を考慮するとき、FTTI以内のフレーム(例えば、2フレーム、3フレーム等)内には、全てのメモリ領域の故障を検出できる。
【0153】
本発明の一実施形態に係るECC適用装置200は、車両水準のFTTI(Fault Handing Time Interval)内で処理できる人工ニューラルネットワークのフレーム処理時間間隔を考慮するとき、減少されるメモリ領域を追加的に減少させることができる。
【0154】
本発明の一実施形態に係るECC適用装置200は、ECCエンコーディング後に発生される復号化作業を半分に減少させてメモリのレイテンシを改善できる。
【0155】
一方、本発明の一実施形態によれば、以上で説明された様々な実施形態は、機器(machine)(例:computer)で読み出すことができる格納媒体(machine-readable storage media)に格納された命令語を含むソフトウェアで実現されることができる。機器は、格納媒体から格納された命令語を呼び出し、呼び出された命令語によって動作が可能な装置であって、開示された実施形態等に係る電子装置(例:電子装置(A))を含むことができる。命令がプロセッサにより実行される場合、プロセッサが直接、またはプロセッサの制御下に他の構成要素を用いて命令に該当する機能を果たすことができる。命令は、コンパイラまたはインタープリターにより生成または実行されるコードを含むことができる。機器で読み出すことができる格納媒体は、非一時的(non-transitory)格納媒体の形態で提供されることができる。ここで、「非一時的」は、格納媒体が信号(signal)を含まず、実在(tangible)するということを意味し、データが格納媒体に半永久的または臨時的に格納されることを区分しない。
【0156】
また、本発明の一実施形態によれば、以上で説明された様々な実施形態に係る方法は、コンピュータプログラム製品(computer program product)に含まれて提供されることができる。コンピュータプログラム製品は、商品として販売者及び購買者間に取引きされることができる。コンピュータプログラム製品は、機器で読み出すことができる格納媒体(例:compact disc read only memory(CD-ROM))の形態で、またはアプリケーションストア(例:プレイストアTM)を介してオンラインで配布されることができる。オンライン配布の場合に、コンピュータプログラム製品の少なくとも一部は、製造社のサーバ、アプリケーションストアのサーバ、または中継サーバのメモリのような格納媒体に少なくとも一時格納されるか、臨時的に生成されることができる。
【0157】
また、本発明の一実施形態によれば、以上で説明された様々な実施形態は、ソフトウェア(software)、ハードウェア(hardware)、またはこれらの組み合わせを利用してコンピュータ(computer)またはこれと類似した装置で読み出すことができる記録媒体内で実現されることができる。一部の場合において、本明細書において説明される実施形態等がプロセッサ自体で実現され得る。ソフトウェア的な実現によれば、本明細書において説明される手順及び機能のような実施形態等は、別のソフトウェアモジュールで実現されることができる。ソフトウェアモジュールの各々は、本明細書において説明される1つ以上の機能及び動作を行うことができる。
【0158】
一方、上述した様々な実施形態に係る機器のプロセッシング動作を行うためのコンピュータ命令語(computer instructions)は、非一時的コンピュータ読み取り可能媒体(non-transitory computer-readable medium)に格納されることができる。このような非一時的コンピュータ読み取り可能媒体に格納されたコンピュータ命令語は、特定機器のプロセッサにより実行されたとき、上述した様々な実施形態に係る機器での処理動作を特定機器に行わせる。非一時的コンピュータ読み取り可能媒体とは、レジスタ、キャッシュ、メモリなどのように短い瞬間の間データを格納する媒体でなく、半永久的にデータを格納し、機器により読み取り(reading)が可能な媒体を意味する。非一時的コンピュータ読み取り可能媒体の具体的な例では、CD、DVD、ハードディスク、ブルーレイディスク、USB、メモリカード、ROMなどがありうる。
【0159】
また、上述した様々な実施形態に係る構成要素(例:モジュールまたはプログラム)の各々は、単数または複数の個体で構成されることができ、前述した当該サブ構成要素のうち一部サブ構成要素が省略されるか、または他のサブ構成要素が様々な実施形態にさらに含まれることができる。大体的にまたは追加的に、一部構成要素(例:モジュールまたはプログラム)は、1つの個体に統合されて、統合される前のそれぞれの当該構成要素により行われる機能を同一または類似に行うことができる。様々な実施形態に係るモジュール、プログラム、または他の構成要素により行われる動作は、順次的、並列的、繰り返し的、またはヒューリスティックに実行されるか、少なくとも一部動作が他の順序で実行されるか、省略されるか、または他の動作が追加され得る。
【0160】
以上では、本発明の望ましい実施形態について図示し、説明したが、本発明は、上述した特定の実施形態に限定されず、請求の範囲で請求する本発明の要旨を逸脱することなく、当該開示に属する技術分野における通常の知識を有する者により様々な変形実施が可能であることはもちろんであり、このような変形実施等は、本発明の技術的思想や展望から個別的に理解されてはならないであろう。
【符号の説明】
【0161】
100 人工ニューラルネットワークに基づいたシステム半導体
110 NPU
120 AXI
130 メモリ
111 NPUコア
112 バッファメモリ
113 DMA
200 ECC適用装置
210 メモリセル
220 ECCメモリ
230 格納モジュール
240 プロセッサ