(57)【要約】【課題】メモリアーキテクチャ内での基準セルの自己試験及び再利用方法を提供すること。【解決手段】集積回路は、人工知能（ＡＩ）論理回路、及び、ＡＩ論理回路に結合され、外部プロセッサに接続可能な組み込みＭＲＡＭメモリを備える。メモリ内の１又は２以上の基準ユニットは、外部プロセッサによってチップパッケージングレベルでの構成を通じてメモリアクセスのために選択される。外部プロセッサは、自己試験プロセスを実行して、メモリの誤り率が閾値未満であるように１又は２以上の基準ユニットをメモリアクセスのために選択又は更新することができる。自己試験プロセスをメモリ内のメモリ初期化コントローラを介して実行して、メモリ内の基準セルをチップレベルで試験して再利用することができる。組み込みメモリは、ＳＴＴ−ＭＲＡＭ、ＳＯＴ、ＯＳＴ  ＭＲＡＭ、及び／又はＭｅＲＡＭメモリとすることができる。【選択図】図１
2019075186.tif 000002
【特許請求の範囲】
【請求項１】
複数の記憶セルと、各々が１又は２以上の基準セルを含む複数の基準ユニットとを含む磁気抵抗メモリ（ＭＲＡＭ）メモリ内の基準セルを試験する方法であって、
（ｉ）基準セルのセットを形成するために、前記複数の基準ユニット内のどの基準ユニットを選択するべきかを定義するパターンに従っていくつかの基準ユニットを前記複数の基準ユニットから決定するステップと、
（ｉｉ）０の値を有する前記基準セルのセットのサブセット、及び１の値を有する前記基準セルのセットの残りのサブセットをプログラムするステップと、
（ｉｉｉ）前記基準セルのセットを使用して前記ＭＲＡＭメモリ内の前記複数の記憶セルを試験して誤り率を判定するステップと、
（ｉｖ）前記誤り率が誤り閾値を超えるか否かを判定するステップと、
（ｖ）前記ＭＲＡＭメモリ内の前記複数の記憶セルの前記誤り率が前記誤り閾値を超えると判定すると、
前記パターンを更新し、
前記更新されたパターンに従っていくつかの基準ユニットを前記複数の基準ユニットから選択することによって基準セルのセットを更新し、
（ｉｉ）−（ｖ）の前記ステップを繰り返し、そうでない場合、
前記基準セルのセットを選択された基準セルとして設定して、前記基準セルのセット内のどのセルが０の値を有し、どれが１の値を有するか示す基準セル情報を記憶するステップと、
を含む方法。
【請求項２】
前記誤り閾値は、前記ＭＲＡＭメモリにおいて実行される人工知能アプリケーションによって定義される、請求項１に記載の方法。
【請求項３】
前記ＭＲＡＭメモリは、前記人工知能アプリケーションを実行するセルラーニューラルネットワーク（ＣＮＮ）を記憶する、請求項２に記載の方法。
【請求項４】
前記基準セルのセットを使用して前記ＭＲＡＭメモリ内の前記複数の記憶セルを試験して誤り率を判定するステップは、
１の値を前記複数の記憶セルに書き込み、前記複数の記憶セルの各々を前記基準セルのセット内の基準セルと比較して第１の誤り率を判定するステップと、
０の値を前記複数の記憶セルに書き込み、前記複数の記憶セルの各々を前記基準セルのセット内の基準セルと比較して第２の誤り率を判定するステップと、
前記第１の誤り率及び前記第２の誤り率を加算することによって前記誤り率を判定するステップと、
を含む、請求項２に記載の方法。
【請求項５】
前記ＭＲＡＭメモリは、スピン注入トルク（ＳＴＴ）メモリ、スピン軌道トルク（ＳＯＴ）、直交スピン注入（ＯＳＴ）ＭＲＡＭ、磁電ＲＡＭ（ＭｅＲＡＭ）、又はその組み合わせである、請求項１に記載の方法。
【請求項６】
前記基準ユニットは、基準カラム、基準ロー、又は、複数のロー及び複数のカラムを含む基準アレイである、請求項１に記載の方法。
【請求項７】
前記基準セルのセットの前記サブセット及び前記残りのサブセットをプログラムするステップは、前記サブセットが前記基準セルのセットのほぼ半分を含むように０又は１の値を前記基準セルのセットの各々にランダムに記憶するステップを含む、請求項１に記載の方法。
【請求項８】
前記パターンを更新するステップは、
以前のパターンを、前記更新されたパターン及び前記以前のパターンが全く同じ数の基準ユニットを含むように１又は２以上の基準ユニットだけシフトさせるステップと、
１又は２以上の基準ユニットを前記以前のパターンから差し引くステップと、
１又は２以上の基準ユニットを前記以前のパターンに加算するステップと、
のうちの少なくとも１つを含む、請求項１に記載の方法。
【請求項９】
前記ステップ（ｉ）〜（ｖ）は、チップパッケージングレベルで実行される、請求項１に記載の方法。
【請求項１０】
前記ステップ（ｉｉ）〜（ｉｉｉ）は、前記ＭＲＡＭメモリのメモリ初期化コントローラによって前記ＭＲＡＭメモリの初期化プロセス中に実行され、前記メモリ初期化コントローラは、
１又は２以上のトリムビットのタイミング信号を受信し、
１又は２以上のトリム入力ビットのデータ信号を受信し、
前記タイミング信号を受信することに応答して、前記データ信号を、少なくとも前記複数の記憶セルの一部、及び／又は前記１又は２以上のトリム入力部ビットが対応する前記複数の基準セルの一部にラッチするように構成される、請求項９に記載の方法。
【請求項１１】
（ｉ）前記基準セル情報を使用して、０の値を有する前記基準セルのセットのサブセット及び１の値を有する前記基準セルのセットの残りのサブセットをプログラムし、
（ｉｉ）前記基準セルのセットを使用して前記ＭＲＡＭメモリ内の前記複数の記憶セルを試験して誤り率を判定し、
（ｉｉｉ）前記誤り率が誤り閾値を超えるか否かを判定し、
（ｉｖ）前記ＭＲＡＭメモリ内の前記複数の記憶セルの前記誤り率が前記誤り閾値を超えると判定すると、
前記基準セルのセットを形成するために使用された前記パターンを更新し、
前記更新されたパターンに従っていくつかの基準ユニットを前記複数の基準ユニットから選択することによって基準セルのセットを更新し、
前記基準セルのセットを選択された基準セルとして設定する、
ことによって前記ＭＲＡＭメモリ内の基準セルを再利用するステップをさらに含む、請求項１に記載の方法。
【請求項１２】
人工知能（ＡＩ）論理回路と、
前記ＡＩ論理回路に結合され、外部プロセッサに接続可能な組み込みＭＲＡＭメモリと、
を備え、
前記組み込みＭＲＡＭメモリは、
複数の記憶セルと、
各々が１又は２以上の基準セルを含む複数の基準ユニットと、
を含み、
１又は２以上の基準ユニットは、前記外部プロセッサによってチップパッケージングレベルでの構成を通じてメモリアクセスにために選択され、前記外部プロセッサは、
（ｉ）基準セルのセットを形成するために、前記複数の基準ユニット内のどの基準ユニットを選択するべきかを定義するパターンに従っていくつかの基準ユニットを前記複数の基準ユニットから決定するステップと、
（ｉｉ）０の値を有する前記基準セルのセットのサブセット、及び１の値を有する前記基準セルのセットの残りのサブセットをプログラムするステップと、
（ｉｉｉ）前記基準セルのセットを使用して前記ＭＲＡＭメモリ内の前記複数の記憶セルを試験して誤り率を判定するステップと、
（ｉｖ）前記誤り率が誤り閾値を超えるか否かを判定するステップと、
（ｖ）前記ＭＲＡＭメモリ内の前記複数の記憶セルの前記誤り率が前記誤り閾値を超えると判定すると、
前記パターンを更新し、
前記更新されたパターンに従っていくつかの基準ユニットを前記複数の基準ユニットから選択することによって基準セルのセットを更新し、
（ｉｉ）−（ｖ）の前記ステップを繰り返し、そうでない場合、
前記基準セルのセットを選択された基準セルとして設定して、前記基準セルのセット内のどのセルが０の値を有し、どれが１の値を有するか示す基準セル情報を記憶するステップとを実行する、集積回路。
【請求項１３】
前記誤り閾値は、前記集積回路の前記ＡＩ論理回路において実行される人工知能アプリケーションによって定義される、請求項１２に記載の集積回路。
【請求項１４】
前記ＭＲＡＭメモリは、前記人工知能アプリケーションを実行するセルラーニューラルネットワーク（ＣＮＮ）を記憶する、請求項１２に記載の集積回路。
【請求項１５】
前記メモリ内の前記複数の基準セルを構成する際に前記複数の記憶セルを試験する前記ステップは、
１の値を前記複数の記憶セルに書き込み、前記複数の記憶セルの各々を１又は２以上の基準セルと比較して第１の誤り率を判定するステップと、
０の値を前記複数の記憶セルに書き込み、前記複数の記憶セルの各々を１又は２以上の基準セル内の基準セルと比較して第２の誤り率を判定するステップと、
前記第１の誤り率及び前記第２の誤り率を加算することによって前記誤り率を判定するステップと、
を含む、請求項１２に記載の集積回路。
【請求項１６】
前記組み込みＭＲＡＭメモリは、スピン注入トルク（ＳＴＴ）、スピン軌道トルク（ＳＯＴ）、直交スピン注入（ＯＳＴ）ＭＲＡＭ、磁電ＲＡＭ（ＭｅＲＡＭ）、又はその組み合わせである、請求項１２に記載の集積回路。
【請求項１７】
前記基準ユニットは、基準カラム、基準ロー、又は、複数のロー及び複数のカラムを含む基準アレイである、請求項１２に記載の集積回路。
【請求項１８】
前記選択された基準セルは、ほぼ等しい数の０セル及び１セルを含む、請求項１２に記載の集積回路。
【請求項１９】
前記パターンを更新するステップは、
以前のパターンを、前記更新されたパターン及び前記以前のパターンが全く同じ数の基準ユニットを含むように１又は２以上の基準ユニットだけシフトさせるステップと、
１又は２以上の基準ユニットを前記以前のパターンから差し引くステップと、
１又は２以上の基準ユニットを前記以前のパターンに加算するステップと、
の少なくとも１つ含む、請求項１２に記載の集積回路。
【請求項２０】
１又は２以上のトリムビット及び１又は２以上のトリム入力ビットを含むメモリ初期化コントローラをさらに備え、前記ステップ（ｉｉ）〜（ｉｉｉ）は、前記メモリ初期化コントローラによって前記ＭＲＡＭメモリの初期化プロセス中に実行され、前記メモリ初期化コントローラは、
１又は２以上のトリムビットのタイミング信号を受信し、
１又は２以上のトリム入力ビットのデータ信号を受信し、
前記タイミング信号を受信することに応答して、前記データ信号を、少なくとも前記複数の記憶セルの一部、及び／又は前記１又は２以上のトリム入力部ビットが対応する前記複数の基準セルの一部にラッチするように構成される、請求項１２に記載の集積回路。
【発明の詳細な説明】
【技術分野】
【０００１】
（関連出願の相互参照）
本出願は、２０１７年１０月５日出願の米国特許出願第１５／７２６，０８４号の優先権を主張するものであり、その開示内容全体は、引用により本明細書に組み込まれている。
【０００２】
（技術分野）
本特許明細書は、一般にはメモリの自己試験に関し、詳細には人工知能チップ内の組み込みＭＲＡＭメモリなどのメモリアーキテクチャ内の基準セルの自己試験及び再利用に関する。
【背景技術】
【０００３】
メモリは、低電力及び高性能特性を有する人工知能（ＡＩ）チップ内の重要な構成要素であり、その理由は通常、各々のＡＩエンジンが複数のメモリ要素で構成されるからである。従来のスタティックランダムアクセスメモリ（ＳＲＡＭ）又は磁気抵抗メモリ（ＭＲＡＭ）などのメモリの試験では、一般に組み込まれた自己試験／修復（ＢＩＳＴ／Ｒ）法を使用してメモリビット品質確認機能及び修復機能を実行する。例えば、Ｂｅｎｓｏらは、ＲＡＭコアの組込み自己修復（ＢＩＳＲ）構造を提案している。Ｂｅｎｓｏ，Ｃｈｉｕｓａｎｏ，Ｄｉ  Ｎａｔａｌｅ  ａｎｄ  Ｐｒｉｎｅｔｔｏ共著「Ａｎ  Ｏｎ−Ｌｉｎｅ  ＢＩＳＴ  ＲＡＭ  Ａｒｃｈｉｔｅｃｔｕｒｅ  ｗｉｔｈ  Ｓｅｌｆ−Ｒｅｐａｉｒ  Ｃａｐａｂｉｌｉｔｉｅｓ」、ＩＥＥＥ  Ｔｒａｎｓａｃｔｉｏｎｓ  ｏｎ  Ｒｅｌｉａｂｉｌｉｔｙ，  Ｖｏｌ  ５１，  Ｎｏ．  １，  Ｍａｒｃｈ  ２００２を参照されたい。ＢＩＳＴ／Ｒ法は、通常、ウェハーレベルで実行され、連想メモリ（ＣＡＭ）、コントローラ、レジスタアレイ及び適切な符号化論理回路のクリティカルパスをチップ内部に必要とする。このアプローチは、冗長カラム／ロー／セルアレイ及びアーキテクチャ構造を挿入する必要があるので、チップ内部に多くの空間を必要とする。
【０００４】
ＭＲＡＭメモリアーキテクチャでは、自己試験は、伝統的にプロセス電圧温度（ＰＶＴ）変動の理由から検知マージンを保証するためにメモリアーキテクチャ内部に組み込まれた基準セルを使用して実行され、記憶された０及び１の情報を良好に検知できるようになっている。例えば、Ｎａらは、スピン注入トルク（ＳＴＴ）−ＲＡＭアーキテクチャ内の３つの形式の基準セル／ユニット、すなわち、基準カラム、基準ロー及び基準アレイを説明している。Ｎａ、Ｋｉｍ、Ｋｉｍ、Ｋａｎｇ及びＪｕｎｇ共著、「Ｒｅｆｅｒｅｎｃｅ−Ｓｃｈｅｍｅ  Ｓｔｕｄｙ  ａｎｄ  Ｎｏｖｅｌ  Ｒｅｆｅｒｅｎｃｅ  Ｓｃｈｅｍｅ  ｆｏｒ  Ｄｅｅｐ  Ｓｕｂｍｉｃｒｏｍｅｔｅｒ  ＳＴＴ−ＲＡＭ」、ＩＥＥＥ  Ｔｒａｎｓａｃｔｉｏｎｓ  ｏｎ  Ｃｉｒｃｕｉｔｓ  ａｎｄ  Ｓｙｓｔｅｍｓ，  Ｖｏｌ．  ６１，  Ｎｏ．  １２，  Ｄｅｃｅｍｂｅｒ  ２０１４を参照されたい。ＭＲＡＭメモリ内の基準セルは、一般的に読み取りプロセスにおいて使用され、記憶セルの抵抗を測定して基準セルの抵抗と比較して、「１」又は「０」が正しく記憶セルの各々に格納されているか否かを判定することになる。基準セルは、記憶セルのように組み込むことができるが、１又は０など、既知の状態でプリセット又はプログラムされる。基準セルは、工場試験工程でプログラムすることができる。基準セルを使用するメモリ自己試験は、基準ロー、基準カラム、又は基準アレイなどのどの基準セルユニットが不良であるのかを考慮する必要がある。基準カラムが使用される場合、及び基準カラム内の１又は２以上のセルが不良である場合、この基準カラムは、冗長カラムに置き換えられる。このアプローチは、より良好なチップ性能を達成するためにより多くの冗長基準セルを必要とする場合が多い。しかしながら、これによってチップは大型化する。試験は、ウェハー又はチップパッケージングレベルのいずれか又はその両方で行うことができる。従来のメモリ内の試験と同様に、基準セルは、チップが製作されると変更することができない。
【先行技術文献】
【非特許文献】
【０００５】
【非特許文献１】Ｂｅｎｓｏ，Ｃｈｉｕｓａｎｏ，Ｄｉ  Ｎａｔａｌｅ  ａｎｄ  Ｐｒｉｎｅｔｔｏ共著「Ａｎ  Ｏｎ−Ｌｉｎｅ  ＢＩＳＴ  ＲＡＭ  Ａｒｃｈｉｔｅｃｔｕｒｅ  ｗｉｔｈ  Ｓｅｌｆ−Ｒｅｐａｉｒ  Ｃａｐａｂｉｌｉｔｉｅｓ」、ＩＥＥＥ  Ｔｒａｎｓａｃｔｉｏｎｓ  ｏｎ  Ｒｅｌｉａｂｉｌｉｔｙ，  Ｖｏｌ  ５１，  Ｎｏ．  １，  Ｍａｒｃｈ  ２００２
【非特許文献２】Ｎａ、Ｋｉｍ、Ｋｉｍ、Ｋａｎｇ及びＪｕｎｇ共著「Ｒｅｆｅｒｅｎｃｅ−Ｓｃｈｅｍｅ  Ｓｔｕｄｙ  ａｎｄ  Ｎｏｖｅｌ  Ｒｅｆｅｒｅｎｃｅ  Ｓｃｈｅｍｅ  ｆｏｒ  Ｄｅｅｐ  Ｓｕｂｍｉｃｒｏｍｅｔｅｒ  ＳＴＴ−ＲＡＭ  」、ＩＥＥＥ  Ｔｒａｎｓａｃｔｉｏｎｓ  ｏｎ  Ｃｉｒｃｕｉｔｓ  ａｎｄ  Ｓｙｓｔｅｍｓ，  Ｖｏｌ．  ６１，  Ｎｏ．  １２，  Ｄｅｃｅｍｂｅｒ  ２０１４
【発明の概要】
【発明が解決しようとする課題】
【０００６】
上述したように、既存のアプローチは、大きいメモリビットを有するが小さいチップサイズを必要とする組み込みＭＲＡＭメモリを備えた低電力及び高性能ＡＩチップに適用される場合は特に問題である。この問題は、モバイル機器用のＡＩチップを設計する場合に非常に重要になる。さらに、従来のＢＩＳＴ／Ｒプロセスと同様に冗長セルは、又はＭＲＡＭメモリ内の基準セルは固定されているので、チップが製作されると変更又は再利用することができない。さらに、自己試験は、通常、ウェハーレベルで行われるので時間がかかる可能性がある。
【課題を解決するための手段】
【０００７】
集積回路は、人工知能（ＡＩ）論理回路、及び、ＡＩ論理回路に結合され、外部プロセッサに接続可能な組み込みＭＲＡＭメモリを備える。組み込みメモリは、ＭＲＡＭメモリであり、複数の記憶セル及び複数の基準ユニットを含む。基準ユニットは、基準カラム、基準ロー、又は、基準アレイである。メモリ内の１又は２以上の基準ユニットは、外部プロセッサによってチップパッケージングレベルでの構成を通じてメモリアクセスのために選択される。外部プロセッサは、集積回路内のＡＩ論理回路又は外部コンピューティングデバイスとすることができる。
【０００８】
メモリ内の基準ユニットを選択する際、外部プロセッサは、（ｉ）基準セルのセットを形成するために、複数の基準ユニット内のどの基準ユニットを選択するべきかを定義するパターンに従っていくつかの基準ユニットを複数の基準ユニットから決定するステップと、（ｉｉ）０の値を有する基準セルのセットのサブセット、及び１の値を有する基準セルのセットの残りのサブセットをプログラムするステップと、（ｉｉｉ）基準セルのセットを使用してメモリ内の複数の記憶セルを試験して誤り率を判定するステップと、（ｉｖ）誤り率が誤り閾値を超えるか否かを判定するステップと、（ｖ）メモリ内の複数の記憶セルの誤り率が誤り閾値を超えると判定すると、パターンを更新し、更新されたパターンに従っていくつかの基準ユニットを複数の基準ユニットから選択することによって基準セルのセットを更新し、（ｉｉ）−（ｖ）のステップを繰り返すステップを実行することができる。誤り率が誤り閾値を超えない場合、外部プロセッサは、基準セルのセットを選択された基準セルとして設定して、基準セルのセット内のどのセルが０の値を有し、どれが１の値を有するか示す基準セル情報を記憶することができる。
【０００９】
誤り閾値は、集積回路のＡＩ論理回路において実行される人工知能アプリケーションによって定義される。メモリは、ＭＲＡＭメモリ（例えば、ＳＴＴ−ＭＲＡＭメモリ）とすることができ、人工知能アプリケーションを実行するセルラーニューラルネットワーク（ＣＮＮ）を記憶することができる。複数の記憶セル試験する際、外部プロセッサは、１の値を複数の記憶セルに書き込み、複数の記憶セルの各々を１又は２以上の基準セルと比較して第１の誤り率を判定することができる。外部プロセッサは、０の値を複数の記憶セルに書き込み、複数の記憶セルの各々を１又は２以上の基準セルと比較して第２の誤り率を判定し、第１の誤り率及び第２の誤り率を加算することによって誤り率を判定することもできる。
【００１０】
集積回路は、メモリの起動中などに、外部プロセッサに自己試験を実行させて、メモリ内の基準セルを再利用するように構成された、メモリ初期化コントローラを有することができる。
【００１１】
上述した集積回路を使用する自己試験プロセスは、（ｉ）基準セルのセットを形成するために、複数の基準ユニット内のどの基準ユニットを選択するべきかを定義するパターンに従っていくつかの基準ユニットを複数の基準ユニットから決定するステップと、（ｉｉ）０の値を有する基準セルのセットのサブセット、及び１の値を有する基準セルのセットの残りのサブセットをプログラムするステップと、（ｉｉｉ）基準セルのセットを使用してＭＲＡＭメモリ内の複数の記憶セルを試験して誤り率を判定するステップと、ｉｖ）誤り率が誤り閾値を超えるか否かを判定するステップと、（ｖ）ＭＲＡＭメモリ内の複数の記憶セルの誤り率が誤り閾値を超えると判定すると、パターンを更新し、更新されたパターンに従っていくつかの基準ユニットを複数の基準ユニットから選択することによって基準セルのセットを更新し、（ｉｉ）−（ｖ）のステップを繰り返すステップを含むことができる。誤り率が誤り閾値を超えない場合、自己試験プロセスでは、基準セルのセットを選択された基準セルとして設定して、基準セルのセット内のどのセルが０の値を有し、どれが１の値を有するか示す基準セル情報を記憶することができる。
【００１２】
基準セルのセットのサブセット及び残りのサブセットをプログラムする際、自己試験プロセスは、サブセットが基準セルのセットのほぼ半分を含むように０又は１の値を基準セルのセットの各々にランダムに記憶することができる。
【００１３】
自己試験プロセスは、（ｉ）基準セル情報を使用して、０の値を有する基準セルのセットのサブセット、及び１の値を有する基準セルのセットの残りのサブセットをプログラムし、（ｉｉ）基準セルのセットを使用してメモリ内の複数の記憶セルを試験して誤り率を判定し、（ｉｉｉ）誤り率が誤り閾値を超えるか否かを判定し、（ｉｖ）メモリ内の複数の記憶セルの誤り率が誤り閾値を超えると判定すると、基準セルのセットを形成するために使用されたパターンを更新し、更新されたパターンに従っていくつかの基準ユニットを複数の基準ユニットから選択することによって基準セルのセットを更新し、基準セルのセットを選択された基準セルとして設定する、ことによって基準セルを再利用するために、集積回路の使用寿命中にいつでも繰り返すことができる。
【図面の簡単な説明】
【００１４】
【図１】一部の実施形態による、自己試験能力を有する組み込みメモリを備えたＡＩチップの実施例の概略図を示す。
【図２】一部の実施形態による、基準セルを有する組み込みＭＲＡＭメモリの実施例を示す。
【図３】一部の実施形態による自己試験プロセスの実施例の概略図を示す。
【発明を実施するための形態】
【００１５】
本明細書で全体的に説明されかつ添付の図面に例示したような実施形態の構成要素は、多種多様の異なる構成で配置及び設計することができることを容易に理解できるはずである。従って、様々な実施形態の以下のより詳細な説明は、図に示すように、本開示の範囲を限定することが意図されておらず、単に様々な実施形態を表す。各図面には実施形態の様々な態様が提示されるが、特に指示がない限り、各図面は必ずしも縮尺通りに描画されていない。
【００１６】
本発明は、その精神又は本質的特質から逸脱することなく他の特定の形態で具現化することができる。説明される実施形態は、あらゆる点において例示的であって限定的でないとみなされるべきである。従って、本発明の範囲は、この詳細な説明によってではなく添付の特許請求の範囲によって示される。特許請求の範囲の真意及び均等の範囲にあるすべての変形例は、その範囲に包含されることになる。
【００１７】
本明細書を通じて、特徴、利点、又は類似の表現への言及は、本発明で実現することができる特徴及び利点の全てが本発明の任意の単一の実施形態にあるべきであるか又はあることを意味してはいない。むしろ、特徴及び利点に言及する表現は、実施形態に関連して説明する特定の特徴、利点又は特性が、本発明の少なくとも１つの実施形態に含まれることを意味すると理解される。従って、本明細書を通じて、特徴及び利点、及び類似の表現の考察は、同じ実施形態に言及する場合があるが必ずしも言及するわけではない。
【００１８】
さらに、本発明の説明される特徴、利点、及び特性は、１又は２以上の実施形態において何らかの適切な方法で組み合わせることができる。当業者は、本明細書の説明に照らして、本発明を特定の実施形態の１又は２以上の特定の特徴又は利点なしに実施できることを認識するはずである。場合によっては、本発明のすべての実施形態に見られるわけではない追加的な特徴及び利点は、特定の実施形態において認識することができる。
【００１９】
本明細書で使用される場合、単数形「ａ」、「ａｎ」及び「ｔｈｅ」は、文脈上他に明確な指示がない限り、複数形の照応を含む。他に定義されない限り、本発明で使用するすべての技術的及び科学的用語は、当業者によって一般的に理解されるのと同じ意味を有する。本明細書で使用される場合、用語「備える」は、「〜を含むが、に限定されない」ことを意味する。他に定義されない限り、本明細書で使用されるすべての技術的及び科学的用語は、当業者によって一般的に理解されるのと同じ意味を有する。
【００２０】
用語「人工知能論理回路」及び「ＡＩ論理回路」の各々は、ＡＩ又は機械学習タスクにおけるニューラルネットワークなどの特定のＡＩ機能を実行するように構成される論理回路を指す。ＡＩ論理回路は、プロセッサとすることができる。ＡＩ論理回路は、外部プロセッサによって制御されて特定のＡＩ機能を実行する論理回路とすることもできる。
【００２１】
集積回路（すなわち、半導体チップ）を試験するための「ウェハーレベル」という用語は、チップがまだウェハー形態である間に半導体チップを試験することを指す。ウェハーレベルの試験は、一般に製造時に工場で実行される。
【００２２】
集積回路（すなわち、半導体チップ）を試験するための用語「チップパッケージングレベル」又は「チップレベル」の各々は、チップが既にパッケージされている場合に半導体チップを試験することを指す。チップレベルの試験は、チップが製造された後に工場で又はユーザー現場で実行することができる。
【００２３】
図１を参照すると、ＡＩ集積回路（ＩＣ）、すなわちＡＩチップ１００は、ＡＩ論理回路１０２及び組み込みメモリ１０６を含む。組み込みメモリ１０６は、例えば、ＳＴＴ−ＭＲＡＭ、スピン軌道トルク（ＳＯＴ）、直交スピン注入（ＯＳＴ）ＭＲＡＭ、磁電ＲＡＭ（ＭｅＲＡＭ）、又はその組み合わせなどのＭＲＡＭを含むことができる。組み込みメモリ１０６は、複数の記憶セル１０８を含む。また、組み込みメモリ１０６は、記憶セルを試験する基準電圧又は電流を供給する複数の基準セル１１０も含む。組み込みメモリ１０６は、ＡＩアプリケーションにおいて機械学習又はニューラルネットワークアルゴリズムを実行するなど、ＡＩ論理回路が計算を実行するために必要とされるデータを記憶するＡＩ論理回路に接続（例えば、直接又は間接的に接続）される。
【００２４】
いくつかの又は他のシナリオでは、組み込みメモリ１０６は、外部プロセッサがメモリ内の記憶セル１０８又は基準セル１１０のいずれかにアクセスすることを可能にするために、ＭＲＡＭインターフェース１１６などの１又は２以上のピンを介して外部プロセッサに接続可能とすることもできる。これは、チップパッケージングレベルで実行することができる自己試験プロセスによって、通常のメモリアクセスのために基準セル１１０の１又は２以上を選択することを可能にし、このことは以下に詳細に説明する。外部プロセッサは、外部コンピューティングデバイスとすることができる。外部プロセッサは、ＡＩ論理回路１０２とすることもできる。基準セル１１０の一部は、外部プロセッサによって、チップパッケージングレベルでの構成を通じて選択することができる。
【００２５】
自己試験プロセスでは、基準セル１１０の全てから基準セルの初期セットを決定し、この初期セットを使用して組み込みメモリの誤り率を測定し、誤り率が閾値を超えるか否かを判定することができる。誤り率が閾値未満である場合、自己試験プロセスは停止し、基準セルの初期セットを通常のメモリアクセスに使用することができる。誤り率が閾値に到達したか又は超えた場合、自己試験プロセスは、基準セル１１０の全てのうちの基準セルの異なるセットを選択し、この基準セルの異なるセットを使用してメモリの誤り率を測定することによって、及び／又は誤り率が閾値未満になるまで同じプロセスを繰り返すことによって継続することができる。このような自己試験プロセスでは、統計的アプローチを使用してＡＩ用途に許容可能なターゲット誤り率を得る。例えば、誤り率の閾値は、１〜２％とすることができる。換言すると、１〜２％の誤り率を有するメモリは、一部のＡＩ用途に関してはメモリの使用に影響を与えないことになる。メモリの誤り率のこの「寛大な」基準によって、メモリの利用度が増え、不完全な歩留に起因するメモリ製造における無駄が低減する。
【００２６】
自己試験プロセスは、好ましくは、外部プロセッサによってチップパッケージングレベルで呼び出される。自己試験プロセスは、ウェハーレベルで呼び出すこともできる。図１をさらに参照すると、ＡＩチップ１００は、組み込みメモリ１０６に接続するメモリ初期化コントローラ１０４をさらに含むことがでる。メモリ初期化コントローラ１０４は、１又は２以上のトリムビット１１４及び１又は２以上のトリム入力部１１２を有し、メモリの自己試験を呼び出すように構成することができる。例えば、メモリ初期化コントローラ１０４は、タイミング信号をトリムビット１１４で受信し、データ信号をトリム入力部１１２で受信するように構成することができる。トリム入力部１１２は、基準セル１１０の一部に対応する複数のビットを有することができる。タイミング信号を受信することに応答して、メモリ初期化コントローラ１０４は、記憶セル１０８の少なくとも一部に及び／又は１又は２以上のトリム入力部ビットが対応する基準セル１１０の一部にデータ信号をラッチするように構成することができる。メモリ初期化コントローラ１０４は、製造時（ウェハーレベル又はパッケージングレベルで）又はチップレベルなどのＩＣチップの様々な段階の間に自己試験プロセスを呼び出すことができる。非限定的な実施例では、ＡＩチップがシステム起動中に初期化されたとき、メモリ初期化コントローラ１０４は、組み込みメモリ１０６上の自己試験プロセスを開始して、メモリの誤り率が閾値を満たすという点において基準セルのセットを選択するように構成することができる。
【００２７】
上述した自己試験プロセスは、試験を実行するたびに基準セルの選択を変更又は更新する。このアプローチは、基準セルがロー、カラム、又はアレイ構造にあることができるという点において、図２に例示する基準セル構造などの何らかの適切な基準セル構造に適用される。非限定的な実施例では、図２は、複数の基準セルカラム２１０を有するメモリ構造２００を示す。メモリ構造２００は、複数のメモリセル２０８、ｘ−デコーダライン２０４、ｙ−デコーダライン２０２、及びメモリアドレス（ＳＡ）ライン２０６を有することができる。基準セルは、いくつかのカラム、例えば、２０個のカラムを有することができる。上記の自己試験プロセスは、誤り率基準を満たすのに十分な利用可能な基準カラムの最小サブセットを選択することを意図している。
【００２８】
図３を参照して、自己試験プロセスをさらに詳細に説明する。メモリは、複数の基準ユニット（例えば、Ｎ個のカラム）を有することができる。自己試験プロセスは、基準セルのセットを形成するためにパターンに従っていくつかの基準ユニット（Ｘ）を複数の基準ユニット（Ｎ）から決定することを含むことができる（３０２）。パターンは、複数の基準ユニット内のどの基準ユニットを選択するべきかを定義する（Ｘ＜＝Ｎ）。例えば、カラム構造に基準セルは、合計Ｎ＝２０個のカラム（基準ユニット）を有することができ、基準ユニットの数は、当初はＸ＝１６に設定される。この数は、経験的に設定することができ、試験中に変わる場合がある。パターンは、予め決定することができ、例えば、カラム１〜１６を、２０個の基準カラムを有するメモリについて初期化及び決定することができる。このパターンに従って、プロセスでは、基準セルの最初の１６個のカラムを含む基準セルのセットを形成することができる。
【００２９】
自己試験プロセスは、０及び１を有する基準セルのセットをプログラムすることをさらに含む（３０４）。例えば、プロセスでは、０の値を有する基準セルのセットのサブセット、及び１の値を有する基準セルのセットの残りのサブセットをプログラムすることができる。いくつかのシナリオでは、プロセスは、基準セルのセットがほぼ等しい数の０セル及び１セルを含むように、０又は１つの値を基準セルのセットの各々にランダムに記憶することができる。
【００３０】
プロセスは、基準セルのセットを使用してメモリ内の記憶セルを試験して誤り率を判定することをさらに含む（３０６）。その際に、プロセスでは、メモリ内の記憶セルの全てに１の値を書き込んで、各記憶セルの電圧又は電流を１又は２以上の基準セルの電圧又は電流と比較して、記憶セルの各々が正しく記憶されたデータを有するか否かを判定することができる。プロセスは、誤りを有する記憶セルの数を判定し、不良の記憶セル（すなわち、誤りを有するセル）の数を記憶セルの合計数で割ることによって第１の誤り率を判定することができる。同様の方法で、プロセスは、記憶セルの全てに０の値を書き込んで第２の誤り率を決定することができる。プロセスは、第１の誤り率及び第２の誤り率を加算することによってメモリの誤り率をさらに決定することができる。
【００３１】
自己試験プロセスは、誤り率を誤り閾値と比較して誤り率が誤り閾値を超えるか否かを判定することをさらに含む（３０８）。誤り閾値は、ＡＩチップ及び組み込みメモリにおいて実行されるＡＩアプリケーションによって定義することができる。例えば、ＭＲＡＭメモリは、ＡＩアプリケーションを実行する畳み込みニューラルネットワークを記憶することができる。ＡＩアプリケーションは、１００％の精度を達成する必要はないので、メモリ内の小さい誤りを許容することもできる。例えば、１〜２％のメモリ誤り閾値は、一部のＡＩアプリケーションについては許容可能とすることができる。ＡＩチップで実行されるＡＩアプリケーションに応じて、より小さな又は大きな誤り閾値を予め定義することもできる。歩留まりが高い製造プロセスでは、誤り閾値は、自己試験において簡単に満たすことができる。
【００３２】
メモリ内の記憶セルの誤り率が誤り閾値未満であると判定すると、プロセスは、現在の基準セルのセットを選択された基準セルとして設定し（３１４）、基準セルのセット内のどのセルが０の値を有するか及びどれが１の値を有するか示す基準セル情報３１６を記憶する（３１６）ことができ、プロセスは停止する。この基準セル情報は、今後の使用に向けて保存することができる有効な基準セルの場所（アドレス）を記録する。基準セル情報は、メモリの情報セル内などのメモリアレイ内部に、又は電子的にプログラムされたヒューズ（ｅＦｕｓｅ）内などのメモリアレイ外側に保存することができる。
【００３３】
メモリ内の記憶セルの誤り率が誤り閾値を超えると判定すると、プロセスは、（異なる基準セルを選択することができるように）パターンを更新し（３１０）、更新されたパターンに従っていくつかの基準ユニットを複数の基準ユニットから選択することによって基準セルのセットを更新し（３１２）、上記の３０４、３０６、３０８のステップを繰り返すことをさらに含むことができる。
【００３４】
パターンの更新（３１０）において、プロセスは、試験毎に異なるパターンを使用することができる。いくつかのシナリオでは、プロセスでは、更新されたパターン及び以前のパターンが全く同じ数の基準ユニットを含むように以前のパターンを１又は２以上の基準ユニットだけシフトすることができる。例えば、以前のパターンは、カラム１〜１６と定義することができ、毎回、カラム２−１７又は３−１８など、更新されたパターンを以前のパターンからカラム１つだけシフトすることができる。代替的に、プロセスは、１又は２以上の基準ユニット（例えば、基準カラム）を前回のパターンから減少させること、又は新しい基準ユニットを選択して更新されたパターンを得ることができる。例えば、以前のパターンをカラム１〜１６と定義することができ、更新されたパターンは、カラム１〜１５、２〜１６又は１７〜１８と定義することができる。代替的に、プロセスは、カラム１−１６をカラム１〜１８に変更するなど、１又は２以上の基準ユニットを以前のパターンから増やすことができる。パターンを更新するステップは、何らかの特定の方法に限定されない。
【００３５】
図１を参照して上述したように、自己試験プロセスは、ＡＩチップ内のメモリ初期化コントローラによって試験を呼び出すことをさらに含むことができ、自己試験ステップは、チップレベルでどの時点でも実行して、チップの使用寿命中に繰り返すことができる。例えば、メモリーチップがしばらくの間使用された後に、基準セルの１又は２以上が不良となる可能性がある。メモリは、メモリ初期化コントローラによって再初期化することができる。同じ自己試験プロセスをチップレベルで繰り返して、メモリの誤り率がＡＩチップで実行中のアプリケーションに許容可能な閾値を超えたか否かを判定することができ、閾値を超えた場合、別の基準セルのセットを選択又は再利用して、上述した同じ自己試験プロセスを更新された基準セルのセットで繰り返すことができる。
【００３６】
基準セルを再利用する場合、プロセスは、基準セルのセットに関する以前に記憶された基準セル情報を使用して、０の値を有する基準セルのセットのサブセット及び１の値を有する基準セルのセットの残りのサブセットをプログラムし、基準セルのセットを使用してメモリ内の複数の記憶セルを試験して誤り率を判定し、誤り率が誤り閾値を超えるか否かを判定し、誤り率が誤り閾値を超えたと判定すると、基準セルを更新することを含むことができる。いくつかのシナリオでは、プロセスは、基準セルのセットを形成するために使用されたパターンを更新し、更新されたパターンに従っていくつかの基準ユニットを複数の基準ユニットから選択することによって基準セルのセットを更新し、基準セルのセットを選択された基準セルと設定することによって基準セルを更新することができる。
【００３７】
例示する解決手法は、最初に選択されなかった基準セルの再使用を可能にし、従って、不良セルによるチップの廃棄を回避することができる。別の非限定的な実施例では、ＡＩチップアプリケーションが、新しいアプリケーションがより厳しい誤り率を必要とするので変わる場合、メモリの誤り率が新しいアプリケーションを満たすことを保証するために同じ自己試験プロセスを上述したように繰り返すことができる。
【００３８】
本特許明細書に開示する様々な構造及び方法は、単独又は統合化を問わず、従来技術に優る利点をもたらす。上記の例示的なメモリ及び自己試験方法は、統計的な方法を用いて基準セルをチェックして動作セル（すなわち、記憶セル）の最低誤り件数を判定し、基準セル内のビットを今後の試験において再利用することができる。上記の例示的な自己試験プロセスはソフトウェアアプローチを使用し、通常ウェハーレベルで実行される従来のＢＩＳＴ／Ｒ方法のようないくつかの回路を必要としない。さらに、自己試験プロセスは、外部プロセッサ（例えば、ＡＩ論理回路又は外部コンピューティングデバイス）によって再開始することができるので、ステップの全ては、チップパッケージングレベルで実行することができる。従って、従来のＢＩＳＴ／Ｒ法に関連した各回路は、回路の利点を得るために低減／排除することができる。さらに、上記の例示的なメモリ及びプロセスは、メモリテストが通常ウェハーレベルで行われる方法とは対照的に、基準セル及び記憶セルをチェックするより素早い方法を可能にする。
【００３９】
上記の例示的な方法はソフトウェア手法を利用するので、柔軟性があり、様々な用途に適応することができる。例えば、自己試験プロセスは、基準セルを選択して再利用する際に様々なパターンを使用することができる。これは。誤り閾値を満たしながら最低数の基準セルを使用するのを助けると共に、基準又はメモリセルデータ冗長の過用を回避することができ、オーバーヘッドキャパシティが減少する。その代わりに、チップの小型化を達成することができ、これは、モバイルスマート用途に特に好都合である。さらに、再初期化及びチップ−レベル試験機能によって、本発明の解決法では、従来のＢＩＳＴ／Ｒ方法を使用することなく基準セルの有効なビットを再利用することができる。
【００４０】
当業者には上記の説明から他の利点が明らかであろう。従って、当業者であれば、本発明の広義の概念から逸脱することなく上述した実施形態の変更又は修正を行い得ることを認識できるはずである。従って、本発明は、本明細書で説明する特定の実施形態に限定されず、特許請求の範囲に定義される本発明の範疇及び精神の中にある様々な実施形態のすべての変更、修正、及びすべての組み合わせを含むことが意図されていることを理解されたい。
【符号の説明】
【００４１】
１００  ＡＩチップ
１０２  ＡＩ論理回路
１０４  メモリ初期化コントローラ
１０６  組み込みメモリ
１０８  記憶セル
１１０  基準セル
１１２  トリム入力部
１１４  トリムビット
１１６  メモリインタフェース
【図１】
2019075186.tif 000003
【図２】
2019075186.tif 000004
【図３】
2019075186.tif 000005
【外国語明細書】
2019075186000001.pdf