(19)【発行国】日本国特許庁(JP)
(12)【公報種別】公開特許公報(A)
(11)【公開番号】P2024080689
(43)【公開日】2024-06-13
(54)【発明の名称】認証済みメモリデバイスアクセストランザクションを伴う方法、デバイスおよびシステム
(51)【国際特許分類】
G06F 21/44 20130101AFI20240606BHJP
【FI】
G06F21/44
【審査請求】未請求
【請求項の数】20
【出願形態】OL
【外国語出願】
(21)【出願番号】P 2023203845
(22)【出願日】2023-12-01
(31)【優先権主張番号】63/429,621
(32)【優先日】2022-12-02
(33)【優先権主張国・地域又は機関】US
(31)【優先権主張番号】18/144,013
(32)【優先日】2023-05-05
(33)【優先権主張国・地域又は機関】US
(71)【出願人】
【識別番号】522029730
【氏名又は名称】インフィニオン テクノロジーズ エルエルシー
【氏名又は名称原語表記】Infineon Technologies LLC
【住所又は居所原語表記】198 Champion Court, San Jose, CA 95134, United States of America
(74)【代理人】
【識別番号】100114890
【弁理士】
【氏名又は名称】アインゼル・フェリックス=ラインハルト
(74)【代理人】
【識別番号】100098501
【弁理士】
【氏名又は名称】森田 拓
(74)【代理人】
【識別番号】100116403
【弁理士】
【氏名又は名称】前川 純一
(74)【代理人】
【識別番号】100134315
【弁理士】
【氏名又は名称】永島 秀郎
(74)【代理人】
【識別番号】100162880
【弁理士】
【氏名又は名称】上島 類
(72)【発明者】
【氏名】クリフォード ズィットロー
(72)【発明者】
【氏名】ヨアフ ヨゲフ
(72)【発明者】
【氏名】カムルル ハサン
(57)【要約】
【課題】本発明は、認証済みメモリデバイスアクセストランザクションを伴う方法、デバイスおよびシステムを提供する。
【解決手段】方法は、CS信号が非アクティブからアクティブに移行したことを決定するステップと、ICデバイスのバスインタフェースにおいて少なくともターゲットアドレス情報を受信するステップとを含むことができる。ターゲットアドレス情報に応答して、ICデバイスの対応する記憶場所に記憶されるデータを検索する。認証回路の動作により、少なくとも認証パラメータおよび検索データを含む認証値を少なくとも1つの暗号化関数を使用して生成する。認証値は、ICデバイスから検索データとともに送信することができる。対応するデバイスおよびシステムも開示される。
【選択図】なし
【特許請求の範囲】
【請求項1】
集積回路(IC)デバイスにおいてチップセレクト(CS)信号を受信するステップと、
前記CS信号が非アクティブからアクティブに移行したと決定するステップと、
前記ICデバイスのバスインタフェースにおいて少なくともターゲットアドレス情報を受信するステップと、
前記ターゲットアドレス情報に応答して、前記ICデバイスの対応する記憶場所に記憶されるデータを検索するステップと、
前記ICデバイスの認証回路の動作により、少なくとも認証パラメータおよび検索データを使用して、少なくとも1つの暗号化関数により認証値を生成するステップと、
前記認証値を前記検索データとともに前記ICデバイスから送信するステップと、
を含み、
前記CS信号は、前記ターゲットアドレス情報を受信し、前記データを検索し、前記認証値を生成し、前記認証値および前記検索データを送信している間、アクティブのままである、
方法。
【請求項2】
前記方法は、前記認証回路の動作により、前記検索データを暗号化して暗号化データを生成するステップをさらに含み、
前記認証値とともに出力される前記検索データは、前記暗号化データである、
請求項1に記載の方法。
【請求項3】
前記ICデバイスは、少なくとも1つのメモリセルアレイを備え、
前記記憶場所は、前記メモリセルアレイ内の複数の記憶場所のうちの少なくとも1つである、
請求項1に記載の方法。
【請求項4】
前記ICデバイスは、複数のレジスタを備え、
前記記憶場所は、前記レジスタのうちの少なくとも1つである、
請求項1に記載の方法。
【請求項5】
前記方法は、前記バスインタフェースにおいて前記ターゲットアドレス情報を伴うコマンドを受信するステップをさらに含み、
前記コマンドは、前記ICデバイスによって実行されるべき動作を識別し、
前記CS信号は、アクティブのままである間に前記コマンドが受信される、
請求項1に記載の方法。
【請求項6】
前記認証値を前記検索データとともに前記ICデバイスから送信する前記ステップは、前記バスインタフェースから送信するステップおよび前記バスインタフェースとは異なるデータ出力を介して送信するステップのグループから選択される、
請求項1に記載の方法。
【請求項7】
前記方法は、ホストデバイスの動作により、
前記CS信号を非アクティブからアクティブに移行させるステップと、
前記ICデバイスから前記検索データおよび認証値を受信するステップと、
少なくとも認証パラメータおよび認証値を使用して前記検索データを認証するステップと、
認証済み検索データを使用してプロセッサ機能を実行するステップと、
をさらに含む、
請求項1に記載の方法。
【請求項8】
前記検索データとともに出力される前記認証値は、前記検索データの後に出力される、前記検索データの前に出力される、および、前記検索データとともに散在されて出力されるというグループから選択される順序を有する、
請求項1に記載の方法。
【請求項9】
記憶回路、制御回路、認証回路およびバスインタフェース回路を備えるデバイスであって、
前記記憶回路は、認証パラメータおよびデータを記憶するように構成され、
前記制御回路は、チップセレクト(CS)信号がアクティブにアサートされたままである間に、ターゲットアドレス情報によって示される前記デバイス内の場所に記憶されるデータを検索するように構成され、
前記認証回路は、前記CS信号がアクティブにアサートされたままである間に、前記認証パラメータおよび検索データを使用する少なくとも1つの暗号化関数を用いて認証値を生成するように構成され、
前記バスインタフェース回路は、
前記CS信号およびターゲットアドレス情報を受信し、
前記CS信号がアクティブにアサートされたままである間に、前記検索データとともに前記認証値を送信するように構成され、
前記記憶回路、前記制御回路、前記認証回路および前記バスインタフェース回路は、同じ集積回路(IC)基板で形成される、
デバイス。
【請求項10】
前記認証回路は、前記CS信号がアクティブにアサートされたままである間に、暗号化データを生成するために前記検索データを暗号化するようにさらに構成され、
前記バスインタフェース回路は、前記CS信号がアクティブにアサートされたままである間に、前記暗号化データとともに前記認証値を送信するように構成される、
請求項9に記載のデバイス。
【請求項11】
前記記憶回路は、メモリセルアレイを備え、
前記データは、前記メモリセルアレイに記憶される、
請求項9に記載のデバイス。
【請求項12】
前記記憶回路は、複数のレジスタを備え、
前記データは、前記レジスタのうちの少なくとも1つに記憶される、
請求項9に記載のデバイス。
【請求項13】
前記バスインタフェース回路は、前記CS信号がアクティブにアサートされたままである間に、前記ターゲットアドレス情報とともにコマンド情報を受信するようにさらに構成される、
請求項9に記載のデバイス。
【請求項14】
前記バスインタフェース回路は、前記検索データの後に出力される、前記検索データの前に出力される、および、前記検索データとともに散在されて出力されるというグループから選択される順序で前記検索データに対して前記認証値を送信するようにさらに構成される、
請求項9に記載のデバイス。
【請求項15】
集積回路(IC)デバイスおよびバスシステムを備えるシステムであって、
前記ICデバイスは、
認証パラメータおよびデータを記憶するように構成される記憶回路と、
チップセレクト(CS)信号がアクティブにアサートされたままである間に、ターゲットアドレス情報によって示される前記ICデバイス内の位置に記憶されるデータを検索するように構成される制御回路と、
前記CS信号がアクティブにアサートされたままである間に、少なくとも前記認証パラメータおよび検索データを使用して少なくとも1つの暗号化関数により認証値を生成するように構成される認証回路と、
を含み、
前記バスシステムは、前記CS信号がアクティブにアサートされたままである間に、
少なくとも前記ターゲットアドレス情報および前記CS信号を前記ICデバイスに送信し、
前記ICデバイスから前記認証値および前記検索データを送信するように構成される、
システム。
【請求項16】
前記認証回路は、前記CS信号がアクティブにアサートされたままである間に、暗号化データを生成するために前記検索データを暗号化するようにさらに構成され、
バスインタフェース回路は、前記CS信号がアクティブにアサートされたままである間に、前記暗号化データとともに前記認証値を送信するように構成される、
請求項15に記載のシステム。
【請求項17】
前記システムは、前記バスシステムに結合されるホストデバイスをさらに含み、
前記ホストデバイスは、
前記CS信号をアクティブにアサートし、
少なくとも前記ターゲットアドレス情報を前記ICデバイスに送信するように構成される、
請求項15に記載のシステム。
【請求項18】
前記ホストデバイスは、前記認証パラメータを用いて前記ICデバイスから受信される検索データを認証するように構成されるホスト認証回路を含む、
請求項17に記載のシステム。
【請求項19】
前記ホスト認証回路は、Ascon型認証暗号を含む、
請求項18に記載のシステム。
【請求項20】
前記ホストデバイスは、前記ホスト認証回路によって認証される検索データを用いて機能を実行するように構成される少なくとも1つのプロセッサを含む、
請求項18に記載のシステム。
【発明の詳細な説明】
【技術分野】
【0001】
関連出願の相互参照
この出願は、その内容が参照により本明細書に組み込まれる、2022年12月2日に出願された米国仮特許出願第63/429,621号の利益を主張する。
【0002】
本開示は、一般に、メモリデバイスの認証に関し、より詳細には、認証済み読み取り動作などのメモリデバイスアクセスのトランザクションごとの認証を可能にすることに関する。
【背景技術】
【0003】
現在、メモリ記憶デバイスを使用する多くの電子プラットフォームは、データアクセス動作のセキュリティに関係している。いくつかの自動車仕様を含むいくつかの仕様は、メモリデバイスによって記憶されたコードおよびデータが実行前に認証されることを必要とする。
【0004】
従来、システムは、セキュリティを向上させるために「シャドー」メモリを使用することができる。そのような構成では、実行のためのコードを不揮発性メモリ(NVM)から揮発性メモリに転送することができる。ホスト(例えば、コードを実行するデバイス)は、揮発性メモリに転送されたコードを認証することができる。シャドーメモリアプローチは、揮発性メモリ上に存在するコードのみが認証されるため、コードがNVMから直接有利に実行されるその場実行(execution-in-place(XiP))形態に適合しない。
【0005】
シャドーメモリを使用する手法などの従来の手法よりもメモリデバイスを有するシステムにおいてセキュリティを向上させる何らかの方法に到達することが望ましい。
【発明の概要】
【課題を解決するための手段】
【0006】
実施形態は、集積回路(IC)デバイスのための認証パラメータを確立することを含むことができる。読み取りコマンドなどのアクセスコマンドに応答して、ICデバイスは、アクセスコマンドによって示されるアドレスにおいて1つ以上のアレイに記憶されたデータにアクセスすることができる。同じ読み取りコマンドに応答して、ICデバイス上の認証回路の動作によって、認証パラメータおよびアクセスされた読み取りデータを使用して認証値を生成することができる。認証値は、アクセスされた読み取りデータとともにICデバイスから送信され得る。いくつかの実施形態において、アクセスされたデータは、要求デバイスによる実行のためのコードとすることができ、ICデバイスは、安全なその場実行動作を可能にするための不揮発性メモリとすることができる。
【図面の簡単な説明】
【0007】
【
図1】一実施形態に係る認証済みトランザクションを伴うシステムを示すブロック図である。
【
図2A】さまざまな実施形態に係るシステム認証回路を示す図である。
【
図2B】さまざまな実施形態に係るシステム認証回路を示す図である。
【
図2C】さまざまな実施形態に係るシステム認証回路を示す図である。
【
図2D】さまざまな実施形態に係るシステム認証回路を示す図である。
【
図2E】さまざまな実施形態に係るシステム認証回路を示す図である。
【
図2F】さまざまな実施形態に係るシステム認証回路を示す図である。
【
図2G】さまざまな実施形態に係るシステム認証回路を示す図である。
【
図3A】実施形態に係る切り捨てられた認証値の生成を示す図である。
【
図3B】実施形態に係る切り捨てられた認証値の生成を示す図である。
【
図4A】実施形態に係るデータおよび対応する認証値における出力フォーマットを示す図である。
【
図4B】実施形態に係るデータおよび対応する認証値における出力フォーマットを示す図である。
【
図4C】実施形態に係るデータおよび対応する認証値における出力フォーマットを示す図である。
【
図4D】実施形態に係るデータおよび対応する認証値における出力フォーマットを示す図である。
【
図5】一実施形態に係るプロビジョニング動作を示すブロック図である。
【
図6】「ダミー」サイクルによる従来の読み取り動作を示すタイミング図である。
【
図7A】実施形態に係る、ダミーサイクルの代わりに認証値を送信することができる認証済み読み取り動作を示す図である。
【
図7B】実施形態に係る、ダミーサイクルの代わりに認証値を送信することができる認証済み読み取り動作を示す図である。
【
図7C】実施形態に係る、ダミーサイクルの代わりに認証値を送信することができる認証済み読み取り動作を示す図である。
【
図8A】一実施形態に係る認証済みトランザクショの有効化を示す図である。
【
図8B】一実施形態に係る認証済みトランザクショの有効化を示す図である。
【
図8C】一実施形態に係る認証済みトランザクショの有効化を示す図である。
【
図8D】一実施形態に係る認証済みトランザクショの有効化を示す図である。
【
図8E】一実施形態に係る認証済みトランザクショの有効化を示す図である。
【
図9A】実施形態に係る、LPDDR互換インタフェースを有するメモリデバイスにおける認証済み読み取りおよび書き込み動作を示す図である。
【
図9B】実施形態に係る、LPDDR互換インタフェースを有するメモリデバイスにおける認証済み読み取りおよび書き込み動作を示す図である。
【
図9C】実施形態に係る、LPDDR互換インタフェースを有するメモリデバイスにおける認証済み読み取りおよび書き込み動作を示す図である。
【
図9D】実施形態に係る、LPDDR互換インタフェースを有するメモリデバイスにおける認証済み読み取りおよび書き込み動作を示す図である。
【
図9E】実施形態に係る、LPDDR互換インタフェースを有するメモリデバイスにおける認証済み読み取りおよび書き込み動作を示す図である。
【
図9F】実施形態に係る、LPDDR互換インタフェースを有するメモリデバイスにおける認証済み読み取りおよび書き込み動作を示す図である。
【
図10A】実施形態に係るデバイスおよびデータ認証の両方を有するトランザクションにおけるシステムを示す図である。
【
図10B】実施形態に係るデバイスおよびデータ認証の両方を有するトランザクションにおける動作を示す図である。
【
図11】実施形態に含めることができる認証エンジンのブロック図である。
【
図12A】実施形態に係るデバイス認証動作および分散型デバイスデータ認証動作を示すタイミング図である。
【
図12B】実施形態に係るデバイス認証動作および分散型デバイスデータ認証動作を示すタイミング図である。
【
図13】実施形態に係るさまざまな認証/暗号化動作および対応するレイテンシを示す表である。
【
図14A】他の実施形態に係るデバイス認証を伴うシステムの図である。
【
図14B】他の実施形態に係るデバイス認証を伴うシステムの対応する動作の図である。
【
図15】実施形態に係る認証回路に含めることができる暗号フィードバックモードのブロック図である。
【
図16】実施形態に係る暗号フィードバック動作を示す表である。
【
図17】実施形態に係る暗号フィードバック動作を示す表である。
【
図18A】実施形態に係る暗号化データおよび認証タグの出力フィードバックモード生成を示す図である。
【
図19A】実施形態に係るAscon AEAD暗号化を伴うシステムを示す図である。
【
図19B】実施形態に係るAscon AEAD暗号化を伴うシステムを示す図である。
【
図19C】実施形態に含めることができるAscon型AEAD暗号システムのブロック図である。
【
図20A】実施形態に含めることができるメモリセルアレイの概略図である。
【
図20B】実施形態に含めることができるメモリセルアレイの概略図である。
【
図20C】実施形態に係るメモリ集積回路(IC)デバイスの図である。
【
図21A】実施形態に係るホストデバイスのブロック図である。
【
図21B】実施形態に係るICホストデバイスの図を示す。
【
図22A】実施形態に係るホスト暗号化を有するシステムを示す図である。
【
図22B】実施形態に係るホスト暗号化を有する動作を示す図である。
【
図22C】実施形態に係るホスト暗号化を有する動作を示す図である。
【
図23A】実施形態に係る自動車システムを示す図である。
【
図23B】実施形態に係る自動車システムを示す図である。
【
図25】他の実施形態に係る方法のフロー図である。
【
図26】他の実施形態に係る方法のフロー図である。
【
図27】他の実施形態に係る方法のフロー図である。
【発明を実施するための形態】
【0008】
実施形態によれば、メモリデバイスは、トランザクションごとの認証を内蔵して含むことができる。アクセス要求(例えば、コマンドおよび/またはアドレス情報)に応答して、メモリデバイスは、アクセスによって要求されたデータ、ならびに1つ以上の認証値を返すことができる。認証値は、返されたデータおよび/またはメモリデバイス自体を認証することができる。実施形態によれば、メモリデバイスと別のデバイス(例えば、ホストデバイス)との間の任意の適切なトランザクションは、認証値、および適切な場合には暗号化データ(例えば、暗号化された書き込みデータおよび対応する認証値を有する書き込み/プログラムコマンド)を含むことができる。メモリデバイスは、データの要求を受信し、次いでそのような要求を単一のトランザクションでサービスすることができる。いくつかの実施形態では、そのような単一のトランザクションは、メモリデバイスにおけるチップセレクト(CS)信号のアサートによって示すことができる。
【0009】
いくつかの実施形態では、メモリデバイスは、トランザクションごとの認証を伴う不揮発性メモリ(NVM)デバイスであり得る。そのようなメモリデバイスは、安全なその場実行(XiP)動作を可能にすることができる。
【0010】
いくつかの実施形態において、アクセスされたデータは、認証のために暗号化される読み取りデータとなり得る。
【0011】
いくつかの実施形態において、デバイス認証値は、読み取りデータがアクセスされている間に生成され、暗号化された読み取りデータの前に出力され得る。
【0012】
いくつかの実施形態において、認証値は、トランザクションを認証するために非反復の数シーケンスで生成され得る。
【0013】
いくつかの実施形態において、メモリデバイスは、同じバスを介してコマンドおよびアドレスデータを受信することができるシリアルインタフェースを含むことができる。これに加えてまたは代えて、メモリデバイスは、データバスとは別個のコマンド-アドレスバスを含むことができる。
【0014】
図1は、一実施形態に係るシステム100のブロック概略図である。システム100は、ホスト(またはコントローラ)デバイス104によってアクセスされ得るメモリデバイス102を含むことができる。メモリデバイス102は、1つ以上のメモリセルアレイ106、認証回路108、コマンド/アドレスデコーダ回路110、制御回路112、データ出力回路114-0、データ入力回路114-1および入力/出力(IO)回路116を含むことができる。メモリセルアレイ106は、データを記憶するためのメモリセルを含むことができる。そのようなメモリセルは、不揮発性または揮発性メモリセルを含む任意の適切なタイプのものとすることができる。いくつかの実施形態において、そのようなメモリセルは、これに限定されないが、構成データおよび/またはファームウェアを含む、電力なしで保持されなければならないシステムデータを記憶するためのNVMセルとすることができる。NVMセルで形成されたメモリセルアレイ106は、本明細書に記載の認証済み読み取りトランザクションおよび均等物を使用するXiP動作を可能にすることができる。いくつかの実施形態において、メモリデバイス102は、少なくともCS信号(CS)およびアドレス情報(ADD)を受信して、記憶されたデータにアクセスし、そのようなデータ(暗号化または非暗号化)を対応する認証値とともに返すことができる。
【0015】
認証値ジェネレータ回路(認証回路と呼ばれる)108は、トランザクションで出力するための1つ以上の認証値を生成することができる。認証回路108は、ホストデバイス104との通信によって知ることができ、または生成することができる認証パラメータ122に従って動作することができる。認証値は、データ認証値および/またはデバイス認証値を含むことができる。データ認証値は、トランザクション中にメモリデバイス102によって提供されるデータを認証することができる。デバイス認証値は、トランザクション中にメモリデバイス102自体を認証することができる。そのような認証値は、メモリデバイスとのトランザクションに対応し、イベント(例えば、電源投入またはリセット)に応答したデバイスの1回限りの認証とは大きく異なることに留意されたい。本明細書でより詳細に説明するように、認証値は、暗号化された読み取りデータおよび/または読み取りデータとともに送信される1つ以上の値とすることができる。
【0016】
IO回路116は、ホストデバイス104からコマンド/命令を受信してトランザクションを開始することができる。IO回路116は、シリアル周辺機器インタフェース(SPI)およびパラレルIFなどのシリアルIFを含む、任意の適切なインタフェース(IF)と適合し得る。IO回路116は、トランザクションデータおよび認証値を含むデータをホストデバイス104に送信することもできる。コマンドおよびアドレスデコーダ110は、ホストデバイス104から受信したコマンドおよびアドレスをデコーディングすることができる。デコーディングされたアドレスは、メモリセルアレイ106内のメモリセルにアクセスすることができる。
【0017】
デコーディングされたコマンドは、認証済み読み取りコマンド128を含む、メモリセルアレイ106にアクセスするのに適した任意のコマンドを含むことができる。認証済み読み取りコマンド128は、本明細書で説明するように、読み取りデータにアクセスし、1つ以上の認証値を返すことができる。本明細書でより詳細に説明するように、認証済み読み取りコマンド128はさまざまな形態をとることができる。いくつかの実施形態において、メモリデバイス102は、全ての読み取りトランザクションを認証するように構成することができる。そのような場合、全ての読み取りコマンドが認証済み読み取りコマンドとなり得る。これに加えてまたは代えて、認証済み読み取りコマンドは、標準的な読み取りコマンドとは別個のコマンドであり得る。制御回路112は、認証済み読み取り制御信号130を含む、受信されたコマンドに応答して制御信号を生成することができる。いくつかの実施形態において、認証済み読み取り制御信号130は、メモリセルアレイ106にアクセスすることができるが、その後、認証回路108を起動することもできる。いくつかの実施形態において、メモリデバイス102は、対応するアドレスを有するコマンド(例えば、読み取り)に応答して記憶されたデータにアクセスすることができる。しかしながら、他の実施形態において、メモリデバイス102は、コマンドなしでアドレスデータに応答して記憶されたデータにアクセスすることができる(すなわち、トランザクションのタイプは、メモリデバイスの状態または動作モードによって暗示される)。
【0018】
データ出力回路114-0は、限定はしないが、センス増幅器、さらなるデコーディング回路、エラーコード(例えば、ECC)生成回路、マスキング回路などを含む、メモリセルアレイからの出力データを提供するための任意の適切な回路を含むことができる。データ入力回路114-1は、限定はしないが、書き込みバッファ、書き込み増幅器、プログラミング回路(NVMセル用)および書き込みマスキング回路を含む、メモリセルアレイに入力データを提供するための任意の適切な回路を含むことができる。
【0019】
ホストデバイス104は、コマンド/アドレス(CMD/ADD)ジェネレータ回路118および認証回路120を含むことができる。要求124に応答して、CMD/ADDジェネレータ回路118は、メモリデバイス102とのトランザクションのためのコマンド、および任意選択的にアドレスデータを生成することができる。そのようなCMD/ADD値は、認証済み読み取り動作132を含むことができる。本明細書から理解されるように、メモリデバイス102がそのように構成されている場合、認証済み読み取り動作132は、標準読み取りコマンドおよび対応するアドレスを含むことができる。しかしながら、他の実施形態において、認証済み読み取り動作132は、標準的な読み取りコマンドとは異なる(例えば、異なるビット値を有する)ことができる認証済み読み取りコマンドを生成することができる。
【0020】
認証動作回路120は、受信した認証値および認証パラメータ122Hを使用してメモリデバイス102とのトランザクションを認証することができる。認証パラメータ122Hは、メモリデバイス102内の認証回路108の認証パラメータ122に対応することができる。本明細書で説明するように、認証動作回路120は、受信した認証値に基づいて任意の適切な機能を実行することができる。これは、暗号化データを復号し、メモリデバイス102から受信した認証値と比較するための認証値を生成することを含むことができるが、これに限定されない。いくつかの実施形態において、認証動作回路120は、トランザクションが認証されている場合には暗号化されていない読み取りデータであり得る要求されたデータ132を提供することができる。
【0021】
このようにして、システムは、認証済み読み取りコマンドに応答して認証値を提供することができるメモリデバイスを含むことができる。そのような認証値は、アクセスされた読み取りデータおよび/または読み取りデータを提供するメモリデバイスを認証することができる。
【0022】
図2A~
図2Gは、各種実施形態に係るシステムにおける認証構成を示す図である。
図2A~
図2Gのそれぞれには、メモリデバイスに含められ得る認証回路、ならびに対応するホストデバイスに含まれ得る対応する認証動作回路が示される。
【0023】
図2Aは、読み取りデータの暗号化による認証を示す。メモリデバイスの認証回路208Aは、認証パラメータ222に従って動作する暗号化回路208-0を含むことができる。認証回路208Aは、専用ロジック、1つ以上のプロセッサによって実行される命令、またはそれらの組み合わせを含む任意の適切な形態をとることができる。トランザクション(例えば、読み取り動作)に応答して、アレイ234からのデータを暗号化回路208-0によって受信して、暗号化データ236を生成することができる。そのような暗号化は、認証パラメータ222内に含めることができる1つ以上の暗号鍵222-0に従って行うことができる。暗号化データ236は、限定はしないが、バスを介することを含めて、任意の適切な態様でホストデバイスに送信することができる。
【0024】
引き続き
図2Aを参照すると、ホストデバイスの認証動作(op)回路220Aは、暗号鍵222-0に対応する復号鍵222-1を含むことができる、認証パラメータ222Hに従って動作する復号回路220-0を含むことができる。復号回路220-0は、暗号化回路208-0について説明したような任意の適切な形態をとることができる。復号回路220-0は、読み取りデータとなり得る、復号されたデータ232を提供することができる。いくつかの実施形態において、読み取りデータは、対応するECCコードなどを含むことができる。
【0025】
このようにして、暗号化された読み取りデータは、メモリデバイスとの読み取りトランザクションを認証するのに役立つことができる。
【0026】
図2Bは、暗号化された読み取りデータと対応する認証値(本明細書では「タグ」と呼ばれる)の両方を提供することができる認証構成を示す。メモリデバイスの認証回路208Bは、暗号化回路208-0およびタグ生成回路238Bを含むことができる。暗号化回路208-0は、
図2Aについて説明したものまたは均等物の形態をとることができる。タグ生成回路238Bは、タグデータ240Bからタグ242Bを生成することができる。タグデータ240Bは、本明細書で説明するように、さまざまな形態をとることができる。いくつかの実施形態において、タグデータ240Bは、アレイ234からのデータを含むか、またはそれに関連することができ、したがって、データを認証するために使用することができる(例えば、読み取りデータ)。これに加えてまたは代えて、タグデータ240Bは、メモリデバイスを認証するために使用することができるデバイスデータを含むことができる。タグ242Bは、暗号化データ236とともにホストデバイスに送信することができる。
【0027】
引き続き
図2Bを参照すると、対応するホストデバイスの認証op回路220Bは、復号回路220-0およびタグ評価回路244Bを含むことができる。復号回路220-0は、
図2Aについて説明したものまたは均等物の形態をとることができる。タグ評価回路244Bは、受信タグ242Bを比較タグ246Bと比較して、認証結果248を生成することができる。認証結果248は、トランザクションを認証するために使用され得る。
【0028】
このようにして、メモリデバイスは、暗号化データおよび認証タグを返して読み取りトランザクションを認証することができる。
【0029】
図2Cは、暗号化された読み取りデータと、読み取りデータを認証できるタグとによる認証を示す。メモリデバイスの認証回路208Cは、暗号化回路208-0およびタグ生成回路238Cを含むことができる。暗号化回路208-0は、
図2Aについて説明したものまたは均等物の形態をとることができる。タグ生成回路238Bは、アレイ234からのデータを用いてタグ242Cを生成することができ、したがってアレイデータ234を認証する役割を果たすことができる。タグ242Cは、暗号化データ236とともにホストデバイスに送信することができる。
【0030】
図2Cをさらに参照すると、対応するホストデバイスの認証op回路220Cは、復号回路220-0、タグ評価回路244Cおよびタグ生成回路238Cを含むことができる。復号回路220-0は、
図2Aについて説明したものまたは均等物の形態をとることができる。タグ生成回路238Cは、復号データ232を受信し、比較タグ246Cを生成することができる。タグ評価回路244Cは、受信タグ242Cを比較タグ246Cと比較し、認証結果248を導出することができる。認証結果248は、トランザクションデータ(例えば、読み取りデータ)を認証するために使用され得る。
【0031】
このようにして、暗号化された読み取りデータおよびタグは、メモリデバイストランザクションにおいてデータ認証を提供することができる。
【0032】
図2Dは、暗号化された読み取りデータおよびメモリデバイスを認証することができる対応するタグを提供することができる認証構成を示す。認証回路208Dは、
図2Aについて説明したものまたは均等物の形態をとることができる暗号化回路208-0と、タグ生成回路238Dとを含むことができる。タグ生成回路238Dは、デバイス識別データ240Dを有するタグ242Dを生成することができ、デバイス識別データ240Dは、相互に既知のデータまたは対応するホストデバイスによって導出されたデータであり得る。タグ242Dは、暗号化データ236とともにホストデバイスに送信することができる。
【0033】
引き続き
図2Dを参照すると、対応するホストデバイスの認証op回路220Dは、復号回路220-0、タグ評価回路244Dおよびタグ生成回路238Dを含むことができる。復号回路220-0は、
図2Aについて説明したものまたは均等物の形態をとることができる。タグ生成回路238Dは、互いに既知のデバイス識別データ240Dを有する比較タグ246を生成することができる。タグ評価回路244Dは、受信タグ242Cを比較タグ246Dと比較し、認証結果248を導出することができる。認証結果248を使用して、予期されるメモリデバイスに対応するものとしてトランザクションを認証することができる。
【0034】
このようにして、トランザクションは、暗号化データおよびメモリデバイスを認証するタグで認証することができる。
【0035】
図2Eは、暗号化された読み取りデータおよび暗号化されたタグを提供することができる認証構成を示す。認証回路208Eは、暗号化回路208-0およびタグ生成回路238Eを含むことができる。暗号化回路208-0は、
図2Aについて説明したものまたは均等物の形態をとることができる。しかしながら、暗号化回路208-0は、アレイ234ならびにタグ242Eからのデータによって暗号化することができる。タグ生成回路238Eは、暗号化回路208-0によって暗号化されて暗号化タグ250を生成することができるタグ242Eを生成することができる。暗号化タグ250は、暗号化データ236とともにホストデバイスに送信することができる。
【0036】
引き続き
図2Eを参照すると、対応するホストデバイスの認証op回路220Eは、復号回路220-0、タグ評価回路244Eおよびタグ生成回路238Eを含むことができる。復号回路220-0は、
図2Aについて説明したものまたは均等物の形態をとることができる。しかしながら、復号回路220-0は、暗号化データ236に加えて暗号化タグ250を復号することができる。タグ生成回路238Eは、認証回路208E内と同じ態様で比較タグ246Eを生成することができる。タグ評価回路244Eは、復号されたタグ242Eを比較タグ246Eと比較し、認証結果248を導出することができる。認証結果248は、タグ242Eがどのように生成されたかに応じて、読み取りデータ、メモリデバイス、またはその両方を認証することができる。
【0037】
このようにして、トランザクションは、データおよび/またはデバイスをさらに認証することができる、暗号化データおよび暗号化タグで認証され得る。
【0038】
図2Fは、暗号化された読み取りデータおよびトランザクションを認証することができるタグを提供することができる認証構成を示す。認証回路208Fは、
図2Aについて説明したものまたは均等物の形態をとることができる暗号化回路208-0と、タグ生成回路238Fとを含むことができる。タグ生成回路238Fは、トランザクションごとに変化し得るシーケンス値252からタグ242Fを生成することができる。シーケンス値252の値は、限定はしないが、単調カウンタ252-0または決定性ランダムビットジェネレータ(DRBG)252-1を含む任意の適切な態様で生成することができる。DRBG 252-1は、シード値252-2を有するシーケンスを開始することができる。タグ242Fは、暗号化データ236とともにホストデバイスに送信することができる。
【0039】
引き続き
図2Fを参照すると、対応するホストデバイスの認証op回路220Fは、復号回路220-0およびタグ評価回路244Fを含むことができる。タグ評価回路244Fは、受信タグ242Fを評価して認証結果248を生成することができる。いくつかの実施形態において、そのような評価は、タグ値(例えば、カウント)を、適切なシーケンス(例えば、以前のトランザクションよりも高いカウント)を示す1つ以上の限界と比較することを含み得る。任意選択的に、認証op回路220Fは、認証回路208Fと同じ態様で生成されたシーケンス252から比較タグ246Fを生成することができるタグ生成回路238Fを含むことができる。
【0040】
このようにして、トランザクションは、暗号化された読み取りデータおよび非反復シーケンスからの数で生成されたタグによって認証することができる。
【0041】
図2Gは、暗号化された読み取りデータを提供することができる認証構成、トランザクションを認証することができるタグおよびデータを認証することができるタグを示す。暗号化回路208-0は、
図2Aについて説明したものまたは均等物の形態をとることができる。第1のタグ生成回路238-0は、アレイデータからタグ242-0を生成することができる。第2のタグ生成回路238-1は、デバイス情報からタグ242-1を生成することができる。タグ242-0/1は、暗号化データ236とともにホストデバイスに送信することができる。
【0042】
図2Gをさらに参照すると、対応するホストデバイスの認証op回路220Gは、復号回路220-0、第1のタグ評価回路244-0、第2のタグ評価回路244-1、第1のタグ生成回路238-0および第2のタグ生成回路238-1を含むことができる。復号回路220-0は、第1の比較タグ246-0を生成するために、復号された読み取りデータ232を第1のタグ生成回路に提供することができる。第2のタグ生成回路238-1は、互いに既知のデバイスデータ240Gを有する第2の比較タグ246-1を生成することができる。第1のタグ評価回路244-0は、受信した第1のタグを第1の比較タグと比較して、読み取りデータを認証することができる結果248-0を生成することができる。第2のタグ評価回路244-1は、受信した第2のタグを第2の比較タグと比較して、メモリデバイスを認証することができる結果248-1を生成することができる。
【0043】
このようにして、トランザクションは、暗号化された読み取りデータ、データを認証する第1のタグおよびメモリデバイスを認証する第2のタグで認証することができる。
【0044】
図2A~
図2Gに示すさまざまなタグおよび認証値は、トランザクション値ごとに、電源投入時またはリセット時に生成されるような単一イベント時間認証値とはなり得ないことが理解される。さらに、示されているさまざまな認証アプローチを混在させることができる(例えば、暗号化されていないタグは暗号化することができ、タグは暗号化されていない読み取りデータとともに送信することができる)。
図2A~
図2Gのさまざまな認証構成は、例として提供されており、限定するものとして解釈されるべきではないことも理解される。
【0045】
いくつかの実施形態において、本明細書に記載の認証回路およびシステムは、特定のサイズ(例えば、ビット数)のタグを生成することができる。しかしながら、トランザクションで送信されるビット数を減らすために、より小さいタグサイズを有することが望ましい場合がある。いくつかの実施形態では、初期認証値を切り捨てて送信用のタグを生成することができる。
図3Aおよび
図3Bは、実施形態に係る認証値切り捨てを示す図である。
【0046】
図3Aは、一実施形態による切り捨て回路356Aである。切り捨て回路356Aは、本明細書に記載の任意の適切な態様または同等の態様で初期タグ342Iを生成する認証回路308を含むことができる。これは、読み取りデータ334および/または相互データ340、またはその両方を使用して初期タグ値342Iを生成することを含む。初期タグ342Iは、「N」ビットのサイズを有することができる。Nビットは、より小さいビット値342(「M」ビットとして示される)に切り捨てられ得る358。
【0047】
図3Bは、他の実施形態に係る切り捨て回路356Bである。切り捨て回路356Bは、認証回路308と、巡回冗長符号(CRC)ジェネレータ358-0と、XOR回路358-1とを含むことができる。認証回路308は、
図3Aの場合と同様に動作することができる。CRCジェネレータ358-0は、読み取りデータ334からNビットのCRC358-2を生成することができ、N>Mである。XOR回路358-1は、CRC358-2および初期タグ342IのMビット部分に対してXOR演算を実行することができる。初期タグ342IのMビット部分は、連続していてもいなくてもよい。XORゲート358-2の出力は、切り捨てられたタグ値342とすることができる。
【0048】
切り捨てサイズは、伝送/セキュリティ要件を満たす任意の適切な値とすることができる。切り捨て回路356A/Bは、論理回路、プロセッサによって実行される命令、またはそれらの組み合わせを含む任意の適切な形態をとることができる。
【0049】
このようにして、トランザクションごとに、認証タグはより大きな認証値の切り捨てられたバージョンとすることができる。
【0050】
いくつかの実施形態において、メモリデバイスは、トランザクションにおいて別個のタグを用いて暗号化データを返すことができる(例えば、読み取り動作)。
図4A~
図4Dは、実施形態に係るトランザクションデータ順序を示す図である。
図4A~
図4Dでは、タグ442は暗号化タグであってもよいことが理解される。また、暗号化データ436は、非暗号化データであってもよい。
【0051】
図4Aは、暗号化データ436の後にタグ442がどのように続くことができるかを示す。いくつかの実施形態では、そのような構成は、読み取りデータを認証するために読み取りデータを用いてタグ442が生成されるときに起こり得る。
【0052】
図4Bは、タグ442が暗号化データ436にどのように先行することができるかを示す。いくつかの実施形態では、そのような構成は、タグ442が読み取りデータなしで生成されるときに起こり得る(例えば、タグはデバイスを認証する)。
【0053】
図4Cは、タグがトランザクションデータとともにどのように散在され得るかを示す。図示の実施形態では、出力は、第1の暗号化データ部分436-0と、それに続く第1のタグ部分442-0と、それに続く第2の暗号化データ部分436-1と、それに続く第2のタグ部分442-1とを含むことができる。しかしながら、他の実施形態は、タグ(またはタグ部分)を有する暗号化データ部分、または暗号化データ(または暗号化データ部分)を有するタグ部分の任意の他の適切な散在を含むことができる。
【0054】
図4Dは、異なるタグが暗号化データとともにどのように出力され得るかを示す。図示の実施形態では、出力は、第1のタグ442-Aと、それに続く暗号化データ436と、それに続く第2のタグ442-Tとを含むことができる。いくつかの実施形態では、第1のタグ442-Aはデバイスを認証することができ、第2のタグ442-Tは暗号化データを認証することができる。代替の実施形態は、任意の他の適切な順序、または3つ以上のタグを含むことができる。
【0055】
このようにして、実施形態は、トランザクションデータおよび認証タグの異なる順序を含むことができる。
【0056】
いくつかの実施形態では、認証済みトランザクションを実行する前に、ホストデバイスおよびメモリデバイスは、プロビジョニングまたは関連する動作において認証パラメータを確立することができる。
図5は、一実施形態に係るシステム500におけるプロビジョニング動作を示すブロック図である。システム500は、バス588を介して通信するメモリデバイス502およびホストデバイス504を含むことができる。メモリデバイス502は、コントローラ回路560、デバイス情報564、メモリセルアレイ506および認証回路508を含むことができる。コントローラ560は、メモリデバイス502の動作を制御することができる。デバイス情報564は、メモリデバイス502を識別することができ、いくつかの実施形態では、製造業者によって安全な記憶場所に記憶することができる。メモリセルアレイ506は、ホストデバイス504によって安全なトランザクションでアクセスされるデータを記憶することができる。認証回路508は、認証パラメータ522に基づいて認証値を生成する、本明細書に記載のものまたは均等物のいずれかの形態をとることができる。認証パラメータ522は、暗号鍵、鍵前駆体、カウンタ値、シード値または初期値を含むがこれらに限定されない、本明細書に記載されたものまたは均等物のいずれかの形態をとることができる。
【0057】
ホストデバイス504は、ホストコントローラ562および認証op回路520を含むことができる。ホストコントローラ562は、ホストデバイスの動作を制御することができる。認証op回路520は、メモリデバイス502のものに対応するパラメータ522Hを用いて認証動作を実行することを含む、本明細書に記載のものまたは均等物のいずれかの形態をとることができる。
【0058】
バスシステム588は、一方向および/または双方向信号線を含む、1つ以上の信号線を含むことができる。
【0059】
いくつかの実施形態では、メモリデバイス502は、アテステーション動作566-0でそれ自体を識別することができる。そのような動作は、バスシステム588上で1つ以上の所定のメッセージまたは信号を送信するメモリデバイス502を含むことができる。
【0060】
いくつかの実施形態では、ホストデバイス504およびメモリデバイス502は、デバイス認証動作566-1を実行することができる。そのような動作は、ホストデバイス504およびメモリデバイス502がデータを交換することを含むことができる。いくつかの実施形態では、ホストコントローラ562は、公開鍵インフラストラクチャまたは秘密鍵インフラストラクチャ562-0にアクセスすることができる。ホストデバイス504がメモリデバイス502を認証すると、ホストデバイス504およびメモリデバイス502は、トランザクションごとの認証パラメータ522/522Hを確立するために通信することができる。
【0061】
図5は、デバイス間の通信によってトランザクションごとにパラメータを確立することができる動作を示すが、他の実施形態では、そのようなパラメータは製造業者によって確立することができる。
【0062】
このようにして、メモリデバイスは、トランザクションごとに認証パラメータを確立するために別のデバイスでプロビジョニングステップを実行することができる。
【0063】
いくつかの実施形態によれば、認証値は、メモリセルアクセス時間(例えば、ダミーサイクル)に対応する期間に送信することができる。このような動作は、読み取りデータを必要としないデバイス認証値にとって有利であり得る。
【0064】
図6を参照して、実施形態の特徴をより良く理解するために、従来のメモリ動作を説明する。
図6は、従来のNORメモリアクセス動作を示すタイミング図であり、クロック信号CKおよびコマンドアドレスデータバス(IO[7:0])における波形を含む。
【0065】
図6を参照すると、時刻t0において、アドレスデータ(A)が後続する読み取りコマンド(C)が、バスを介してメモリデバイスによって受信され得る。時刻t1において、アクセスがデータを読み取った時刻によりもたらされる内蔵レイテンシに起因して、読み取りデータがバス上に出力される前にいくつかの「ダミー」サイクルが発生する場合がある。そのようなダミーサイクルが
図6では「Du」によって表わされる。いくつかのデバイスでは、ダミーサイクルの数は、構成レジスタによって確立され、クロック速度にしたがって変化し得る。しかしながら、回路が記憶されたデータにアクセスするための時間に起因して、ダミーサイクルの最小数が常に存在する。時刻t2では、D0~D31として示されるように、読み取りコマンドに対応する読み取りデータを出力することができる。
【0066】
図7Aは、実施形態に含まれ得るダミーサイクル構成レジスタの図である。いくつかのダミーサイクル768-1を従来の態様で確立することができるが、レジスタはダミーサイクル768-0を無効にして、そのような期間に認証データを送信できるようにしてもよい。
【0067】
図7Bは、実施形態に含めることができる認証構成レジスタの図である。そのようなレジスタは、ダミーサイクルのために従来から予約されている期間において認証データがトランザクションデータに先行することができるかどうかを制御することができる。図示の実施形態では、レジスタ設定770-0は、そのような認証値を有効または無効にすることができ、レジスタ設定770-1は、認証データが占有することができるサイクル数を確立することができる。
【0068】
図7Cは、実施形態に係るダミーサイクルの代わりに送信される認証データを示すタイミング図である。時刻t0の前に、CS#信号はアクティブ(この実施形態ではロー)に移行することができる。時刻t0において、アドレスデータ(A)が後続する読み取りコマンド(C)がバス上で受信され得る。時刻t1では、認証データ(タグ)を送信することができる(T0~T15として示す)。本明細書で述べるように、いくつかの実施形態では、そのようなタグは、コマンドデータ(C)の受信時に生成できるデバイス認証値とすることができ、これは、タグを生成するために読み取りアドレスおよび読み取りデータが必要ないためである。時刻t2において、認証タグに続いて、D0~D31として示されるように、読み取りコマンドに対応する読み取りデータを出力することができる。
図7Cは、タグ値が最後のアドレス値の直後のサイクルで送信されることを示しているが、他の実施形態では、アドレス値(A)と最初のタグ値(T0)との間に1つ以上のダミーサイクルが存在してもよい。CS#は、トランザクション全体を通してアクティブのままであり得ることに留意されたい。
【0069】
このようにして、実施形態は、読み取りレイテンシに対応する期間にトランザクション認証値を送信することができる。
【0070】
いくつかの実施形態では、トランザクションごとに認証をメモリデバイスで有効または無効にすることができる。いくつかの実施形態では、メモリデバイスは、特定のトランザクション(例えば、読み取り動作)が常に認証される動作モードにすることができる。あるいは、メモリデバイスは、標準(すなわち、認証されない)トランザクションと認証済みトランザクションとを区別するためにコマンドセットを解釈することができる。
図8A~
図8Eは、認証済みトランザクションと認証されていないトランザクションとを区別することができるメモリデバイス動作を示す図である。
【0071】
図8Aは、実施形態に係るメモリデバイスの認証回路808を示すブロック図である。認証回路808は、アレイ834からデータを受信することができる。認証パス808Bがないと、認証値なしでデータ832を出力することができる。認証値ジェネレータ経路808Aはイネーブル信号872によって有効にされることができ、それに応答して認証値(例えば、暗号化データおよび/またはタグ)を生成することができる。
【0072】
図8Bは、一実施形態に係る認証モード選択回路874Bを示す。回路874Bは、構成レジスタ876-0および構成データデコーダ876-1を含むことができる。構成レジスタ876-0は、認証レジスタ876-2を含む、メモリデバイスのさまざまな動作を構成するためのレジスタを含むことができる。構成データデコーダ876-1は、認証レジスタ876-2内のデータに応答してイネーブル信号872を生成することができる。
【0073】
図8Cは、デバイス構成レジスタセット876-0の一例を示す表である。レジスタセット876-0は、メモリデバイスのさまざまな動作を制御することができ、レジスタアドレス(XXXXh)でアクセスすることができる。レジスタ876-2に書き込まれるビット値は、認証動作のための変数を確立することができる。
【0074】
このようにして、認証レジスタがプログラムされると、本明細書に記載された技術のいずれかに従って、特定のタイプの全てのトランザクション(例えば、読み取り動作)を認証することができる。
【0075】
図8Dは、他の実施形態に係る認証モード選択回路874Dを示す。回路874Dは、コマンド/アドレスバッファ876-3、アドレスデコーダ810Aおよびコマンドデコーダ810Cを含むことができる。コマンド/アドレスバッファ876-3は、インタフェース878において、コマンドおよび/またはアドレスデータ、ならびにCS信号を受信することができる。CS信号がアクティブであれば、アドレスデコーダ810Aは、メモリセル(またはレジスタ)を選択するためにアドレス値をデコーディングすることができる。コマンドデコーダ810Cは、認証操作のためのコマンドを含むコマンドをデコーディングすることができる。認証を含むコマンドをデコーディングすると、コマンドデコーダ810Cは、認証動作のために認証イネーブル表示872および制御信号880を起動することができる(例えば、認証回路)。
【0076】
図8Eは、シリアルインタフェース878を有するメモリデバイスが、限定はしないが、読み取りコマンド(READ)、高速読み取りコマンド(FAST_READ)、ページプログラムコマンド(PP)およびセクタ消去コマンド(SE)を含む標準コマンドをどのように処理することができるかを示す表である。そのような標準コマンドは、対応する認証された対応するコマンド882-0~882-2を有することができ、それにより、本明細書に記載の動作のための生成認証値をもたらすことができる。
【0077】
このようにして、特定の受信コマンドに応答して、メモリデバイスは対応するトランザクションを認証することができる。
【0078】
実施形態は、トランザクションごとに任意の適切な構成の認証を提供するメモリデバイスを含むことができる。そのような実施形態は、コマンド、アドレスおよびデータ値を搬送することができるバスと適合するデバイスを含むことができるが、他の実施形態は、アドレスバスとは別個のデータバスを有するバスと適合し得る。
【0079】
図9Aは、他の実施形態に係るメモリデバイス902のブロック図である。メモリデバイス902は、NVMセルアレイ906と、第1のIF978Sと、第2のIF978Dとを含むことができる。NVMセルアレイ906は、読み取りトランザクションにおいてアクセスされ得るデータを記憶するためのNVMセルを含むことができる。第1のIF978Sは、コマンド、アドレスおよびデータを搬送することができるデータバスSPI_DQ用の接続を有するシリアルインタフェースとすることができる。第1のIF978Sは、チップセレクト信号SPI_CSおよびタイミングクロックSPI_CKをさらに受信することができる。いくつかの実施形態では、第1のIF978Sは、1つ以上のSPI規格と適合し得る。
【0080】
第2のIF978Dは、コマンドおよびアドレス値を搬送することができるコマンドアドレス(CA)バスのための接続と、データ(例えば、読み取りデータ、書き込みデータ)を送信することができるデータバス(DQ)のための接続とを含むことができる。CAバスは一方向性であり得る。DQバスは双方向であり得る。第2のIF978Dは、出力データをタイミング調整するためのデータストローブ信号DQSも提供し、チップセレクト信号CSおよびクロック信号CKを受信することができる。第2のIF978Dは、メモリデバイス902とのトランザクションを認証するための認証値をデータバスDQで提供するための認証回路を含むことができる。いくつかの実施形態では、第2のIFは、1つ以上のLPDDR規格と適合し得る。
【0081】
図9Bは、LPDDR4インタフェースと適合する認証済み読み取りコマンド982の一例を示す図である。このような認証済み読み取りコマンド982は、
図9Aにおいて978Dとして示されているようなインタフェースによって処理され得る。認証済み読み取りコマンド982は、CS信号がハイ(H)であるときおよびCSがロー(L)であるときに提供されるビットを含むことができる。特定のビット値(CA0~CA6)は、認証済み読み取り動作を示すためにコマンドデコーダによってデコーディングすることができる。
【0082】
図9Cは、一実施形態に係る読み取り動作のタイミング図である。このような読み取り動作は、
図9Aに示すようなメモリデバイスによって実行することができる。時刻t0において、起動コマンド(ACT1/ACT2)を受信することができ、その後に認証済み読み取りコマンド982-0Cが続き、その後にCASコマンド982-1Cが続くことができる。このようなコマンドデータに応答して、時刻t1において、メモリデバイスは認証値(T)を出力することができる。いくつかの実施形態では、認証値は、読み取りレイテンシ981の後に出力することができる。認証値(T)がデバイス認証値である場合、読み取りレイテンシ981は、標準的な読み取りコマンドのレイテンシよりも小さくすることができる。しかしながら、他の実施形態では、認証値(T)は別個のタグではなく、暗号化された読み取りデータ自体であってもよい。さらに、対応する暗号化された読み取りデータの後に認証タグを出力することができる。
【0083】
図9Dは、他の実施形態に係る読み取り動作のタイミング図である。このような読み取り動作は、
図9Aに示すようなメモリデバイスによって実行することができる。時刻t0において、高速認証読み取りコマンド(NVM1A/NVM2A)を受信することができる。このようなコマンドデータに応じて、メモリデバイスは認証値(T)を出力することができる。そのような認証値の形態およびタイミングは、
図9Cの場合と同様に変化し得る。
【0084】
図9Eは、LPDDR4インタフェースと適合する認証済み書き込みコマンド982Wの一例を示す図である。そのような認証済み書き込みコマンド982Wは、
図9Bについて説明したようなインタフェースまたは均等物によって処理することができる。
【0085】
図9Fは、一実施形態に係る書き込み動作のタイミング図である。このような書き込み動作は、
図9Aに示すようなメモリデバイス用ホストデバイスによって実行することができる。時刻t0において、認証済み書き込みコマンド(Write/CAS2)を受信することができる。時刻t1において、書き込みデータ(W)を受信することができ、その後、書き込み動作に対応する認証値(T)が続く。そのような認証値の形態およびタイミングは、
図9Cの場合と同様に変化し得る。
【0086】
図9B~
図9Fに示されたコマンドは、認証モードにある間に発行されたコマンド、または標準的な読み取りコマンドとは異なる方法でデコーディングされ得る認証コマンドであり得ることが理解される。
【0087】
このようにして、メモリデバイスは、コマンドアドレスバス上で受信されたコマンドに応答して、データバス上にトランザクションごとの認証値を提供することができる。
【0088】
図10Aおよび
図10Bは、他の実施形態に係る認証済みトランザクションを伴うシステムおよび動作を示す図である。
図10Aは、メモリデバイス1002と、SPIバス1088を介して通信するホストデバイス1004とを含むシステム1000を示す。メモリデバイス1002は、ユーザアレイ1006と、認証回路1008と、出力パイプライン1090とを含むNOR型NVMデバイスとすることができる。ユーザアレイ1006は、アドレスによってアクセス可能なNOR型NVMセルを含むことができる。認証回路1008は、関連データ(AEAD)エンジンを用いた認証暗号とすることができる。
【0089】
ホストデバイス1004は、メモリデバイス1002を制御するためのメモリコントローラ機能を有するシステムオンチップデバイスとすることができる。ホストデバイス1004は、入力バッファ1092、認証op回路1020および評価回路1044を含むことができる。入力バッファ1092は、メモリデバイス1002から暗号化された読み取りデータおよびタグを受信することができる。認証op回路1020は、AEAD復号エンジンを含むことができる。
【0090】
次に、システム1000の動作について説明する。ホストデバイス1004からのコマンドに応答して、メモリデバイス1002は、ユーザアレイ1006からターゲットデータ1034を検索することができる。示されている実施形態では、そのようなターゲットデータは、示されている実施形態では32バイトとすることができるホストデバイス1004のストレージ(例えば、キャッシュライン)に対応する量にアクセスすることができる。ターゲットデータ1034は、ターゲットデータ1034に対応する認証タグ1042を生成することができるAEADエンジン1008によって処理することができる。任意選択的に、AEADエンジン1008は暗号化データ(すなわち、暗号文)1036を生成することができる。
【0091】
図示の実施形態では、暗号化データ1036(または任意選択で非暗号化データ)は256b値であり得る。対応するタグ1042は、128b値とすることができる。いくつかの実施形態では、暗号化データ1036は、タグ値1042の前に利用可能であり得る。出力パイプライン1090は、NORメモリ1002からの出力のために、暗号化された(または暗号化されていない)データ1036およびタグ値1042を編成することができる。
【0092】
(Un)暗号化データ1036およびタグ1042は、SPIバス1088上で送信され、ホストデバイス1004の入力バッファ1092によって受信され得る。AEAD復号エンジン1020は、比較タグ1146を生成し、任意選択で暗号化データ1036を復号して入力データ1032を提供することができる。評価回路1044は、生成されたタグ1146を受信されたタグ1042と比較することができる。そのようなタグが等しい(==)場合、有効な表示1048-0を生成することができ、入力データ1032をその宛先(例えば、プロセッサまたはキャッシュ場所)に解放することができる。そのようなタグが等しくない場合(!=)、入力データ1032が認証されなかったことを示すエラー表示1048-1を生成することができる。
【0093】
図10Bは、
図10Aと同様の動作を示すタイミング図である。時刻t0付近でチップセレクト信号CS#がアクティブにされ、ホストデバイス1004からのコマンドおよびアドレスデータがSPIバス1088上で送信可能となる。時刻t1は、アドレスデータの最後のクロックサイクルを示すことができる。コマンドおよびアドレスデータの送信に続いて、時刻t2付近において、データストローブ信号RWDSが起動され得る。
図10Aおよび他の図ならびにそれらの対応する説明におけるSPIバス1088は、本開示の一実施形態を例示するための一例にすぎず、限定として解釈されるべきではないことに留意されたい。他の実施形態では、他のタイプのバスを使用して、ホストSoC1004とNORメモリ1002との間でデータを送信することができる。
【0094】
時刻t3付近において、トランザクションのための(暗号化され得る)データがメモリデバイス1002によって送信され得る。時刻t4付近で、データに対応するタグを出力することができる。時刻t5付近において、CS#信号は非アクティブ状態に戻り、トランザクションを終了することができる。
【0095】
アドレスデータ(t1)の最後のクロックサイクルとSPIバス上の(暗号化され得る)読み取りデータの存在との間に遅延があり得る。図示の実施形態では、そのような遅延は、200MHzのクロック速度で20クロックサイクルを含むことができる。データ(暗号化されてもよい)は、32のバーストで16クロックにわたってNORメモリ1002から出力され得る(すなわち、2倍のデータレートで)。タグは、16のバーストで8クロックで送信できる。
【0096】
このようにして、タグはデータを認証することができ、タグを生成するために使用される暗号鍵はメモリデバイスを認証することができるので、システムは明示的なデバイスおよびデータ認証を提供することができる。
【0097】
図11は、実施形態に含めることができるAEAD暗号化エンジン1108のブロック図である。AEADエンジン1108は、前データセクション1108-0、データセクション1108-1および後データセクション1108-2を含むことができる。前データセクション1108-0は、読み取り(例えば、トランザクション)データを必要とせずに値を生成することができる。前データセクション1108-0は、初期値1194-0で開始することができ、初期値1194-0は、相互に確立され得るか、またはホストデバイスによって知られ得る。初期値1194-0は、第1のカウンタ1194-1に適用することができ、その出力は、増分器1194-2/4ならびに第2および第3のカウンタ1194-3/5に適用することができる。第1、第2および第3のカウンタ1194-1/3/5からの出力は、鍵Kに従ってカウンタ値を暗号化することができるブロック暗号回路1194-6/7/8に適用することができる。
【0098】
データセクション1108-1は、2つの部分1134-0/1に分割することができる読み取りデータを受信することができる。読み取りデータ1134-0の第1の部分は、暗号化データ1136-0の第1の部分を作成するために、第2のブロック暗号1194-7の出力とXOR演算され得る1194-9。読み取りデータ1134-1の第2の部分は、第3の暗号ブロック1194-8の出力とXOR演算され得る1194-9。いくつかの実施形態では、暗号化データ1136-0/1は、メモリデバイスからの出力のために転送され得る。
【0099】
後データセクション1108-2は、第1の暗号化データ1136-0に対して鍵依存定数を用いてガロア乗算(multH)1194-10を実行することを含むことができる。結果は、第2の暗号化データ1136-1とXOR演算1194-9することができ、結果は別のmultH演算1194-10を受ける。multH演算1194-10の結果は、認証データ長len(A)のビット表示を暗号化データ長len(E)と連結されてXOR演算され得る(1149-9)。結果は別のmultH演算1194-10を受けることができ、結果は第1のブロック暗号1194-6の出力とXOR演算され得る。結果は、認証タグ1142とすることができる。
【0100】
このようにして、メモリデバイスは、アクセスされている読み取りデータの前または同時に、データを必要としない認証動作の部分を実行することができる。さらに、認証タグの生成が暗号化された読み取りデータを利用する場合、そのような暗号化された読み取りトランザクションデータは、認証タグの生成の前または同時に出力することができる。
【0101】
実施形態によれば、認証タグはトランザクションのために生成することができるが、データではなくデバイスを認証することができる。そのような場合、トランザクションの動作に先立って認証動作を実行することができる。
【0102】
図12Aは、デバイスを認証するタグを提供するメモリデバイスに対する動作を示すタイミング図である。図示の実施形態は、
図10Bに示すような項目を含むことができる。しかしながら、読み取りレイテンシ期間(例えば、t1とt4との間)においては、タグ(T0~T15)を出力することができる。
図12Aの実施形態では、タグは、暗号化されていてもいなくてもよい読み取りデータ(D0~D15)の直前にあり得る。
【0103】
さらに
図12Aを参照すると、認証タグ(T0~T15)は、受信ホストデバイスに知られている値および/または方法を使用して、任意の適切な方法で生成することができる。いくつかの実施形態では、メモリデバイスは、それぞれの新しいトランザクションで更新することができるカウンタまたはDRBGなどの相互に既知の値で動作することができるハッシュベースのメッセージ認証コード(HMAC)回路を含むことができる。CS#信号は、記載された動作が同じトランザクションで発生するようにする。
【0104】
このようにして、メモリデバイスは、読み取りデータがアクセスされる前または同時にデバイスデータに対して認証動作を実行することができる。結果として得られる認証タグは、読み取りデータレイテンシ時間中に出力することができる。
【0105】
図12Bは、トランザクションデータが分散された異なるタグタイプを提供するメモリデバイスの動作を示すタイミング図である。図示の実施形態は、
図12Aに示すような項目を含むことができる。しかしながら、読み取りレイテンシ期間に出力されるデバイス認証タグ(A0~A15)に加えて、読み取りデータ(D0~D15)の後の時刻t5にデータ認証タグ(T0~T15)を出力することができる。
【0106】
このようにして、メモリデバイスは、出力ストリーム内のトランザクションデータを用いてデバイスおよびデータ認証値を配信することができる。
【0107】
実施形態は、認証済みトランザクションを提供するために任意の適切な認証/暗号化技術を使用することができる。技術のタイプは、結果を生成する速度(例えば、クロック)ならびに所望のセキュリティのレベルに依存し得る。
図13は、実施形態に含めることができるさまざまな認証/暗号化技術を示す表である。
図13の表は例として提供されており、限定として解釈されるべきではない。
【0108】
図13は、暗号技術のタイプ(暗号化)、トランザクションデータが暗号化されているかどうか(データ暗号化)、データが認証されているかどうか(データ認証)、デバイスが認証されているかどうか(デバイス認証)、トランザクションに追加される初期レイテンシがあるかどうか(初期レイテンシ加算器)、ならびに追加される総レイテンシの例(総レイテンシ加算器)を示す列を含む。
【0109】
引き続き
図13を参照すると、暗号化/認証のタイプは、
図19A~
図19Cに示すような動作を含むことができるAscon AEAD、および
図11について説明したような動作または均等物を含むことができるAES-GCMを含むことができる。HMAC Dataは、タグを生成するためにトランザクションデータに対するHMAC演算を含むことができる。HMAC CRCは、タグを生成するためにトランザクションデータから生成されたCRCに対するHMAC演算を含むことができる。HMAC Counterは、タグを生成するために、カウンタ値または他のシーケンス値に対するHMAC演算を含むことができる。暗号化されたCRCは、タグを生成するためにトランザクションデータから生成されたCRCを暗号化することを含むことができる。暗号化されたカウンタは、タグを生成するためにカウンタ値または他のシーケンス値を暗号化することを含むことができる。
図13のさまざまな方法および値は、例として提供されており、限定として解釈されるべきではない。
【0110】
このようにして、認証動作は、所望のセキュリティのレベルおよびトランザクションに追加される許容可能なレイテンシの量に従って、任意の適切な方法に従って認証値を生成することができる。
【0111】
図14Aは、さらなる実施形態に係るシステム1400のブロック図である。システム1400は、
図10Aのような項目を含むことができ、そのような同様の項目は、同じ参照符号で参照されるが、先頭の桁は「10」ではなく「14」である。
【0112】
図14Aは、いくつかの点で
図10Aと異なり得る。第1に、暗号化エンジンと復号エンジンとは異なり得る。NORメモリ1702において、認証回路1408は、読み取りデータ1434に加えて、鍵値、初期値、カウンタ値(CTR)およびノンスなどのホストデバイスにも知られている別の識別値とすることができる別の値(ID)を受ける暗号化エンジン1408とすることができる。
【0113】
ホストデバイス1404において、復号回路1420は、暗号化データ1436および暗号化タグ1450を受信し、NORメモリ1402によって使用されるのと同じ鍵値およびIVを使用して復号動作を実行することができる。復号エンジン1420は、復号されたデータ1432および復号されたタグ1442を出力することができる。タグ比較回路1444は、復号されたタグ1442と比較するための比較タグを、NORメモリ1402と同じCTR値およびID値を使用して生成することができる。結果は、認証失敗1448-1または認証成功1448-0であり得る。SPIバス1488は、本開示の一実施形態を例示するための一例にすぎず、限定として解釈されるべきではないことに留意されたい。他の実施形態では、他のタイプのバスを使用して、ホストSoC1404とNORメモリ1402との間でデータを送信することができる。
【0114】
図14Bは、
図14Aと同様のシステムの動作を示すタイミング図である。
図14Bは、
図10Bと同様の項目を有するが、トランザクションデータ(eD0~eD31)は暗号化され、対応するタグ(eT0~eT15)は暗号化される。図示の動作は、図示の実施形態においてアクティブCS#信号によって示される単一のトランザクションで発生することができる。
【0115】
このようにして、認証済みメモリデバイストランザクションは、暗号化エンジンを利用して暗号化データおよび対応するタグを生成することができる。
【0116】
図15は、
図14Aと同様の実施形態に含まれ得る暗号化エンジン1508を示すブロック図である。暗号化エンジン1508は、暗号フィードバックモードで動作することができ、ブロック暗号演算1508-0/1/2およびXOR演算1594-9を含むことができる。いくつかの実施形態では、ブロック暗号演算1508-0/1/2はAES128ブロック暗号化となり得る。
【0117】
第1のブロック暗号演算1508-0は、Keyを用いてIVを暗号化することができる。結果は、第1の暗号化データ1536-0を生成するために第1のデータ部分D[15:0]とXOR演算され得る(1594-9)。第1の暗号化データ1536-0は、鍵を用いて第2の暗号ブロック演算1508-1で暗号化することができ、結果は、第2の暗号化データ1536-1を生成するために第2のデータ部分D[31:16]とXOR演算され得る(1594-9)。第2の暗号化データ1536-1は、鍵を用いて第3の暗号ブロック演算1508-2で暗号化することができ、結果は、暗号化タグ(例えば、暗号化されたカウンタ値)1550を生成するために相互認証値(CTR||ID)とXOR演算され得る(1594-9)。相互認証値(CTR||ID)は、本明細書に記載のものまたは均等物の形態をとることができる。
【0118】
図16は、鍵サイズに基づくAESブロック暗号演算におけるラウンド数を示す表である。実施形態は、任意の適切なサイズの鍵を使用することができるが、いくつかの実施形態では、処理時間を短縮するために、より小さい鍵サイズ(128ビット)を選択することができる。
【0119】
図17は、
図15に示されたさまざまな動作のための処理時間(すなわち、クロック)の量を示す表である。図示のように、暗号化データおよび暗号化タグの生成は、13クロックサイクルで完了することができる。そのようなタイミングは例としてのみ提供されることが理解される。他の実施形態では、認証動作は、データ送信を計時するために使用されるものよりも速いクロック速度で動作するメモリデバイス回路上で実行することができる。
【0120】
このようにして、メモリデバイスは、認証済みトランザクションで暗号化データおよび対応する暗号化タグを迅速に生成するための暗号フィードバックモードを含むことができる。
【0121】
図18Aは、
図14Aと同様の実施形態に含まれ得る別の暗号化エンジン1808を示すブロック図である。暗号化エンジン1808は、出力フィードバックモードエンジンとすることができ、ブロック暗号演算1808-0/1/2/3およびXOR演算1894-9を含む。
【0122】
第1のブロック暗号演算1808-0は、鍵を用いてIVを暗号化することができる。結果は、暗号化されたカウンタタグ1850-1を生成するためにカウンタ値(CTR||ID)とXOR演算され(1894-9)、暗号鍵による第2のブロック暗号演算1808-1のために転送され得る。第2のブロック暗号演算1808-1からの結果は、暗号化データ1836の第1の部分を生成するために第1のデータD[15:0]とXOR演算され(1894-9)、暗号鍵とともに第3のブロック暗号演算1808-2に転送され得る。第3のブロック暗号演算1808-2からの結果は、暗号化データ1836の第2の部分を生成するために第2のデータD[31:16]とXOR演算され(1894-9)、暗号鍵とともに第4のブロック暗号演算1808-3に転送され得る。第4のブロック暗号演算1808-3からの結果は、ECC暗号化タグ1850-0を生成するために、別の相互値(CTR||ID)と連結されたデータ[31:0]に対応するECCコードとXOR演算され得る(1894-9)。
【0123】
図18Bは、
図18Aに示すような暗号化を用いるシステムのタイミング図である。
図18Bは、
図12Bと同様の動作を示す。しかしながら、ホストからのコマンドおよびアドレスデータに続いて、メモリデバイスは、暗号化されたカウンタタグ(C0~C15)、続いて暗号化データ(D0~D31)、続いて暗号化されたECCタグ(E0~E15)を最初に返すことができる。そのような順序は、出力フィードバックモードエンジンによって提供される実行順序から生じることができる。
【0124】
このようにして、メモリデバイスは、認証済みトランザクションで暗号化データおよび対応するタグを迅速に生成するための出力フィードバックモードを含むことができる。
【0125】
図19Aは、さらなる実施形態によるシステム1900のブロック図である。システム1900は、
図14Aのような項目を含むことができ、そのような同様の項目は、同じ参照符号で参照されるが、先頭の桁は「14」ではなく「19」である。
【0126】
図19Aは、暗号化および復号エンジンがAscon AEAD型エンジンであり得るという点で、
図14Aとは異なり得る。NORメモリ1902において、認証回路1908は、読み取りデータ1934に加えて、ホストデバイスにも知られ得る鍵値、初期値(IV)およびノンス値を受ける暗号化エンジン1908とすることができる。SPIバス1988は、本開示の一実施形態を例示するための一例にすぎず、限定として解釈されるべきではないことに留意されたい。他の実施形態では、他のタイプのバスを使用して、ホストSoC1904とNORメモリ1902との間でデータを送信することができる。
【0127】
ホストデバイス1904において、復号回路1920は、暗号化データ1936および暗号化タグ1950を受信し、NORメモリ1902によって使用される同じ鍵値、IVおよびノンスを使用して復号動作を実行することができる。復号エンジン1920は、復号されたデータ1932を出力することができる。さらに、復号エンジン1920は、復号されたデータ、鍵、IVおよびノンスから暗号化比較タグ1946を生成することができる。タグ比較回路1944は、受信した暗号化タグ1950を復号エンジン1920によって生成されたものと比較することができる。結果は、認証失敗1948-1または認証成功1948-0であり得る。
【0128】
図19Bは、
図19Aと同様のシステムの動作を示すタイミング図である。
図19Bは、
図14Bと同様の項目を含むが、トランザクションデータ(eD0~eD31)は、対応する暗号化タグ(eT0~eT15)が続く20クロック(200MHz)後に利用可能であり得る。
【0129】
このようにして、認証済みメモリデバイストランザクションは、暗号化データおよび対応する暗号化タグを生成するためにAscon AEAD暗号化エンジンを利用することができる。
【0130】
図19Cは、
図19Aの実施形態に含まれ得るAscon AEAD暗号化エンジン1908を示すブロック図である。暗号化エンジン1908は、D[15:0]およびD[31:16]の2つの16バイト部分のデータを受信し、対応する暗号化データ部分eDATA01936-0およびeDATA11936-1、ならびに16バイトの暗号化タグeTAG1950を生成することができる。暗号化エンジン1908は、変換演算1994-0/1A/1B/2およびXOR演算1994-90~-96を含むことができる。変換演算(1994-0/1A/1B/2)は、変換関数「p」をラウンド数(「a」または「b」)で実行することができる。そのような変換は、Ascon型のサイファーについて理解されるように、定数とのXOR演算、5ビット「Sボックス」とのビット単位の置換および線形拡散を含む3つのステップを含むことができる。
【0131】
暗号化エンジン1908は、初期化セクション1908-0、暗号化セクション1908-1およびタグ生成セクション1908-2を含むことができる。初期化セクション1908-0は、64ビットIV、128ビットキーおよび128ビットノンスを連結することによって形成される初期入力値を受けることができる。第1の変換演算1994-0は、入力値に対して12ラウンドを実行することができる。結果として得られる192ビット出力値は、パディングされたキー値(064||K128)とXOR演算されることができ(1994-90)、結果として得られる値は、値0191||1とXOR演算されることができる(1994-91)。暗号化セクション1908-1は、初期化セクション1908-0から出力された最初の128ビットのデータを、出力の第1の部分(例えば、読み取りデータ)D[15:0]とXOR演算して(1994-92)、第1の暗号化データeDATA01936-0を生成することができる。
【0132】
第2の変換演算1994-1Aは、暗号化データeDATA01936-0およびXOR演算1994-91からの192ビット値に対して8ラウンドを実行することができる。第2の変換関数1994-1から出力された第1の128ビットは、出力データDの第2の部分[31:16]とXOR演算されて(1994-93)、第2の暗号化データeDATA11936-1を生成することができる。第3の変換演算1994-1Bは、第2の変換演算1994-1Aから第1の入力および192ビット出力として第2の暗号化データ(eDATA1)を受信することができる。第3の変換演算1994-1Bからの128ビット出力は、値1||0128とXOR演算され得る(1994-94)。
【0133】
タグ生成セクション1908-2は、XOR演算1994-94の出力を第4の変換演算1994-2への第1の入力として受けることができる。第2の変換演算1994-1から出力された最後の192ビットは、第4の変換演算1994-2への第2の入力を生成するために、パディングされたキー値(K128||064)とXOR演算され得る(1994-95)。第4の変換演算1994-2は、暗号化タグeTAG1950を生成するために、鍵(K128)とXOR演算され得る(1994-96)128ビット値を出力することができる。このようにして、単一のトランザクションメモリアクセス動作は、Ascon型暗号を使用して認証することができる。
【0134】
実施形態は、任意の適切なNVMアレイ構造またはNVMセルタイプを含むことができるが、いくつかの実施形態は、1トランジスタ(1T)NORタイプアレイを含むことができる。
図20Aは、実施形態に含めることができる1TNORアレイ2006Aの概略図である。アレイ2006Aは、行および列に配置されたいくつかのメモリセル(1つは2006-0Aとして示されている)を含むことができ、同じ行のメモリセルは同じワード線に接続され(1つは2006-2Aとして示されている)、同じ列のメモリセルは同じビット線に接続される(1つは2006-1Aとして示されている)。いくつかの実施形態では、メモリセル(2006-0A)は、制御ゲートとチャネルとの間に電荷蓄積構造2006-3Aを有する単一のトランジスタ構造で形成することができる。電荷蓄積構造2006-3Aは、データを維持するための電力を必要とせずに、1ビット以上のデータを電荷として(電荷がないことを含めて)蓄積することができる。電荷蓄積構造2006-3Aは、限定はしないが、浮遊ゲート、電荷蓄積誘電体(例えば、交換ゲート)、またはそれらの組み合わせを含む任意の適切な形態をとることができる。
【0135】
いくつかの実施形態では、XiPコード読み取り動作を含む、NORメモリデバイスからのデータの迅速かつ安全な読み取りを可能にするために、本明細書に記載の認証済み読み取りコマンドおよび均等物を使用して不揮発性メモリセルにアクセスすることができる。
【0136】
実施形態は、任意の適切な揮発性アレイ構造または揮発性メモリセル型を含むこともできる。
図20Bは、実施形態に含めることができる可能な揮発性メモリセルアレイの概略図である。
図20Bは、行および列に配置され、1つ以上のビット線(例えば、2006-1B)およびワード線(例えば、2006-2B)に接続されたいくつかの揮発性メモリセル(1つは2006-0Bとして示されている)を含むことができるアレイ2006Bを示す。揮発性メモリセル(2006-0B)は、DRAMセル2006-0B1および/またはSRAMセル2006-0B2を含むがこれらに限定されない任意の適切な形態をとることができる。SRAMセル2006-0B2は、4トランジスタ(4T)、6Tおよび/または8Tの変形を含むことができるが、これらに限定されない。
【0137】
実施形態は、さまざまな相互接続された構成要素を有するデバイスおよびシステムを含むことができるが、実施形態は、本明細書に記載のイニシエータおよび/またはレスポンダデバイス機能を実行することができる単一デバイスを含むこともできる。いくつかの実施形態において、そのような一体型デバイスは、好適には、コンパクトな単一集積回路(すなわち、チップ)であってよい。
図20Cは、本明細書に記載の他の実施形態に係る、別のデバイス(例えば、ホストデバイス)からの要求に応答してトランザクションごとに認証を実行することができるパッケージメモリICデバイス2002を示す。暗号化データおよび/または認証値は、1つ以上の外部バス接続(2016-0として示されている)で出力することができる。しかしながら、実施形態に係るメモリデバイスは、任意の他の適切な集積回路実装タイプ、ならびに回路基板または基板上へのデバイスチップの直接接合を含むことができる。
【0138】
このようにして、ICメモリデバイスは、暗号化データおよび/または送信されたデータおよび/またはICメモリデバイス自体を認証することができる1つ以上の認証タグを送信することによってトランザクションを認証することができる。
【0139】
実施形態はNVMデバイスを含むことができるが、実施形態は、NVMデバイスと適合するインタフェースを介して認証済みトランザクションのためのコマンドおよびアドレス値を生成することができるメモリコントローラ回路を含むこともできる。そのようなメモリコントローラは、ホストデバイスの一部とすることができる。
図21Aは、一実施形態に係るメモリコントローラ2104Mを示す。
【0140】
メモリコントローラ2104Mは、コマンドキュー2104-2、書き込みキュー2104-3、読み取りキュー2104-4、トランザクション処理回路2104-0およびIF回路2104-1を含むことができる。コマンドキュー2104-2、書き込みキュー2104-3および読み取りキュー2104-4は、より大きなホストデバイスの一部であり得るコントローラIF2104-5に接続され得る、または通信経路を介してホストデバイスに接続され得る。コマンドキュー2104-2は、バス2188に接続されたNVMデバイスにアクセスするために、コントローラIF2104-5を介してメモリ要求を受信することができる。いくつかの実施形態では、コマンドは、認証済みトランザクションと標準トランザクションとを区別することができる。しかしながら、他の実施形態では、そのような区別は存在することができず、メモリコントローラ2104Mは、認証済みトランザクションを示すために適切なコマンド信号を生成することができる。書き込みキュー2104-3は、バス2188を介してNVMデバイスにプログラムされるべき書き込みデータを受信することができる。読み取りキュー2104-4は、バス2188を介してNVMデバイスから受信した読み取りデータを出力することができる。
【0141】
トランザクション処理回路2104-0は、認証済みコマンド生成回路2118と、任意選択的に、認証動作回路2120とを含むことができる。認証済みコマンド生成回路2118は、標準的な要求ではなく、認証済み要求としてNVMデバイスによって認識されることになるコマンドのビット値を生成することができる。認証済みコマンドは、本明細書に記載されたもののいずれか、または均等物の形態をとることができる。認証動作回路2120は、本明細書で説明されるようなトランザクションデータまたは均等物を認証するための処理の一部または全部を実行することができる。しかしながら、代替の実施形態では、そのような処理は、読み取りキュー2104-4を介して読み取りデータを受信し、および/または書き込みキュー2104-3を介して書き込みデータを提供する回路(図示せず)によって実行することができる。
【0142】
インタフェース2104-1および対応するバス2188は、双方向パラレルデータバスを有する双方向シリアルバスおよび/または一方向コマンド-アドレスバスを含むがこれらに限定されない任意の適切なバスとすることができる。
【0143】
このようにして、メモリコントローラは、メモリデバイスによる処理のための認証済みトランザクションコマンドを生成することができる。
【0144】
実施形態は、ホストデバイスと連携して動作するメモリデバイスを有するシステムを含むことができるが、実施形態は、単一のICパッケージ内に形成された認証演算回路および1つ以上のメモリデバイスIFを有する独立型ホストデバイスを含むこともできる。そのような実施形態を
図21Bに示す。
図21Bは、パッケージ化されたホストデバイスを上面斜視
図2104Tおよび底面
図2104Bで示す。ホストデバイス2104T/Bは、いくつかの物理的接続(例えば、2116-0)を含むことができ、その全てまたは一部は、本明細書に記載のメモリデバイスIFに接続することができる。そのようなIF(複数可)は、本明細書で説明されるように、および均等物を処理するために認証済みトランザクションを受信することができる。いくつかの実施形態では、ホストデバイスは、システムオンチップ(SoC)タイプのデバイスであり得る。ホストデバイスは、任意の他の適切なパッケージタイプを含むことができることが理解される。
【0145】
このようにして、ICホストデバイスは、暗号化データおよび/または1つ以上の認証タグを受信して、受信したトランザクションデータを認証することによって、認証済みトランザクションを処理することができる。
【0146】
実施形態は、認証値とともにデータを送信することができるメモリデバイスを有するシステムを含むことができるが、実施形態は、認証値とともにメモリデバイスにデータを送信することができるホストデバイスを含むこともできる。
図22Aは、そのような実施形態によるシステム2200を示す。
【0147】
システム2200は、
図19Aに示すような項目を含むことができ、そのような同様の項目は同じ参照符号で参照されるが、先頭の数字は「19」ではなく「22」である。
図22Aにおいて、ホストデバイス2104は、
図19Aのメモリデバイス1902のような暗号化回路を含むことができる。そのような暗号化回路は、AEADエンジン2208を用いて書き込み/プログラムデータ2234を暗号化し、暗号化タグ2250および暗号化データ2236を生成することができる。暗号化されたタグ2250およびデータ2236は、バス2288を介してメモリデバイス2202に送信することができる。そのようなデータは、コマンド(例えば、書き込みプログラム)を伴うことができ、またはコマンドに先行することができる。
【0148】
メモリデバイス2202は、
図19Aのホストデバイス1904と同様の復号回路を備えることができる。暗号化タグ2250およびデータ2236は、入力バッファ2292で受信することができる。AEADエンジン2220は、データを復号し、比較回路2244において受信した暗号化タグ2250と比較するための暗号化タグ2246を生成することができる。さらに、メモリデバイス2202は、復号されたデータ2232がユーザアレイ2206に書き込まれるかプログラムされるかを制御することができるアクセス制御回路2249を含むことができる。
【0149】
図22Aは、特定のタイプ(すなわち、Ascon AEAD)の暗号化回路を有するホストデバイス2204を示しているが、代替の実施形態は、任意の他の適切な暗号化回路を含むことができる。また、ホストデバイス2204は、本明細書に記載の復号回路および均等物を含むことができる。これらの同じラインに沿って、メモリデバイス2202は、特定のタイプの復号回路を含むが、代替の実施形態は、任意の他の適切な復号回路を含むことができる。また、メモリデバイス2202は、本明細書に記載の暗号化回路および均等物を含むことができる。
【0150】
図22Bは、実施形態に係るホストデバイスの認証動作を示すタイミング図である。ホストデバイスは、CS#信号をアクティブにアサートし、次いで、データ関連コマンド(2013B)および対応するアドレス値(A)を発行することができる。その後、対応するタグデータ(T0~T15)を伴うデータ(W0~W31)をホストデバイスによって送信することができる。次いで、ホストデバイスはCS#信号を非アクティブレベルに戻すことができる。いくつかの実施形態では、コマンド2103Bは、書き込みコマンドまたはプログラムコマンドとすることができ、データ(W0~W31)は、書き込み/プログラムデータとすることができる。
図22Bは、アドレス(A)とデータ(W0~W31)との間のレイテンシを示しているが、他の実施形態では、そのようなデータ(W0~W31)はアドレスデータに直接続くことができる。また、タグデータ(T0~T15)は、データ(W0~W31)の前に送信されてもよいし、データ(W0~W31)とともに散在されて送信されてもよい。
【0151】
図22Cは、他の実施形態に係るホストデバイスの認証動作を示すタイミング図である。ホストデバイスは、対応するタグデータ(T0~T15)とともに、非データ関連コマンド(2013C)を発行することができる。
【0152】
このようにして、ホストデバイスは、対応するデータの有無にかかわらず、タグ値とともにコマンドを発行することができる。
【0153】
実施形態は、記憶されたデータの迅速で安全なアクセスを必要とする任意の適切なシステムを含むことができる。しかしながら、実施形態は、自動車システムなどの高信頼性のセキュアメモリデバイスからコードにアクセスするシステムにおいて有利であり得る。
図23Aは、一実施形態に係る自動車システム2300Aを示す。システム2300Aは、第1のNVMデバイス2302-0と、第2のNVMデバイス2302-1と、SoC2304-0と、自動車用マイクロコントローラ(MCU)2304-1と、センサ2307-3と、自動制御2307-0と、自動通信システム2307-1と、自動電力システム2307-2と、任意選択的に、ダイナミックランダムアクセスメモリ(DRAM)デバイス2397とを含むことができる。
【0154】
SoC2304-0および第1のNVMデバイス2302-0は、本明細書に示す実施形態のいずれかによるホストデバイスおよび対応するNVMメモリデバイスとすることができる。したがって、認証済みトランザクションを使用して、SoC2304-0は、NVMデバイス2302-0から所定の場所でコードを安全に実行することができ、実行前に認証のためにそのようなコードを「シャドー」揮発性メモリにコピーする必要がなくなる。いくつかの実施形態では、SoC2304-0は、認証済みトランザクションのためにNVMデバイス2302-0を構成することができる。あるいは、SoC2304-0は、標準コマンドとは異なる認証コマンドを含むコマンドセットを所有することができ、そのような認証コマンドは、NVMデバイス2302-0によって(すなわち、デコーディング可能である)理解される。同様に、MCU2304-1および第2のNVM2302-1は、本明細書に示される実施形態のいずれかによるホストデバイスおよび対応するNVMデバイス、または均等物であり得る。
【0155】
DRAMデバイス2397を含むことができるが、Soc/MCU 2304-0/1がNVMデバイス2302-0/1から代わりにコードを実行することができるため、そのようなデバイスはシャドーイングコード以外の目的を果たすことができる。
【0156】
このようにして、自動車制御システムは、そのような認証済みトランザクションを介して定位置でコードを実行することを含む、制御デバイスとNVMデバイスとの間のトランザクションごとの認証を含むことができる。
【0157】
図23Bを参照すると、一実施形態に係る自動車システム298が図に示されている。自動車システム2398は、NVMデバイスからアクセスされるファームウェアで動作する多数のサブシステム(2つを2300-0および2300-1として示す)を有することができる。そのようなサブシステム(2300-0,2300-1)は、電子制御ユニット(ECU)および/または先進運転者支援システム(ADAS)を含むことができる。しかしながら、他の実施形態では、そのようなサブシステムは、多数の可能な例のうちの2つとして、ダッシュボードディスプレイ/制御サブシステムおよび/またはインフォテインメントサブシステムを含むことができる。各サブシステム(2300-0,2300-1)は、ホストデバイスおよび1つ以上のNVMデバイスを含むことができ、本明細書で説明されるようなトランザクションごとの認証、または均等物を介してファームウェア認証を使用することができる。
【0158】
このようにして、自動車は、認証済みトランザクションを介したNVMデバイスへの高速で安全なアクセスから利益を得ることができる。
【0159】
実施形態は、さまざまな動作、デバイスおよびシステムを参照して本明細書に記載された方法のいずれかを含むことができるが、ここでフロー図を参照して追加の方法を説明する。記載された方法の全部または一部を互いに組み合わせることができることが理解される。
【0160】
図24は、一実施形態に係る方法2499のフロー図である。方法2499は、本明細書に記載のメモリデバイスまたは均等物の回路によって実行することができる。方法2499は、認証パラメータを決定し記憶することを含むことができる(2499-0a)。そのような動作は、限定はしないが、鍵、鍵前駆体、デバイス識別値、カウンタ値、シード値(例えばIV)、暗号化アルゴリズムの識別および鍵インフラストラクチャの識別を含む、トランザクションごとの認証のためのパラメータを確立するためにホストデバイスと通信するメモリデバイスを含むことができる。しかしながら、本明細書で述べるように、認証パラメータの全部または一部は、製造ステップ(例えば、デバイスのセキュアメモリにプログラムされた値)によって確立されてもよい。
【0161】
方法2499は、CS信号がアクティブであるかどうか2499-0bを決定することができる。CS信号がアクティブでない場合(2499-0bからのN)、方法はそのような表示を待つことができる。CS信号がアクティブである場合(2499-0bからのY)、コマンドおよびアドレスをバス接続で受信することができる(2499-1)。そのような動作は、シリアルバスIF(例えば、SPIタイプバス、CANタイプバス、I2Cタイプバス、USBタイプバス)、ならびにパラレルバスIF(例えば、LPDDRタイプのバスを含むDDRタイプのバス)を含むがこれらに限定されない、本明細書に記載のバスIFのいずれかと適合するコマンドおよびアドレスデータを受信することを含むことができる。
【0162】
方法2499は、認証済み読み取りコマンドが受信されたか否かを決定することができる(2499-2)。そのような動作は、メモリデバイスが特定のモードにあるかどうかを決定すること、および/または受信したコマンドビット値が認証済み読み取り動作に対応するかどうかを決定することを含むことができる。認証済み読み取りコマンドを受信していない場合(2499-2からN)、受信したコマンドをそれに応じて処理することができる(2499-3)。認証済み読み取りコマンドが受信された場合(2499-2からのY)、読み取りコマンドによって示されるアドレスにおいて読み取りデータにアクセスすることができる(2499-4)。そのような動作は、受信されたアドレス値をデコーディングすることを含むことができる。
【0163】
方法2499は、認証パラメータを使用して読み取り動作のための1つ以上の認証値を生成することができる(2499-5)。そのような動作は、読み取りデータを暗号化すること、読み取りデータからタグを生成すること、およびメモリデバイスとコマンド発行デバイスの両方に相互に知られているデータ(例えば、ホスト)からタグを生成することを含むがこれらに限定されない、本明細書に記載のいずれかおよび均等物を含むことができる。
【0164】
生成された認証値は、バス接続から送信することができる(2499-6)。そのような動作は、暗号化された読み取りデータを送信すること、1つ以上の暗号化されていないタグを送信すること、および1つ以上の暗号化されたタグを送信することを含むがこれらに限定されない、本明細書に記載されたものおよび均等物のいずれかを含むことができる。送信されるタグは、対応する読み取りデータの前、対応する読み取りデータの後、または読み取りデータとともに散在されて送信することができる。
【0165】
このようにして、認証済み読み取りコマンドに応答する認証値がメモリデバイスに送信される。
【0166】
図25は、別の実施形態に係る方法2599のフロー図である。方法2599は、本明細書に記載のメモリデバイスおよび均等物の回路によって実行することができる。方法2599は、読み取りデータ暗号鍵を含む認証パラメータを確立するためにホストデバイスとプロビジョニング動作を実行することを含むことができる(2599-0)。データは、NVMアレイに記憶することができる(2599-1)。アレイにおけるデータの記憶は、ホストまたは他のデバイスによるNVMアレイへのデータのプログラミングを含むことができる。
【0167】
CS信号がアクティブである場合(2599-2aからのY)、コマンドおよびアドレスをシリアルバス接続で受信することができる(2599-2)。いくつかの実施形態では、そのような動作は、SPIタイプバス上のコマンドおよびアドレスを受信するNOR NVMデバイスを含むことができる。受信したコマンドはデコーディングすることができる(2599-3)。そのような動作は、メモリデバイス上のコマンドデコーダ回路の動作を含むことができる。
【0168】
方法2599は、メモリデバイスの構成に応じて変えることができる。メモリデバイスが認証済み読み取りコマンドを標準コマンドから区別するように構成されている場合、方法2599は、受信したコマンドが認証済み読み取りコマンドであるかどうかを決定することができる(2599-4)。認証済み読み取りコマンドが受信されていない場合(2599-4からのN)、方法は、標準読み取りコマンドが受信されたかどうかを決定することができる(2599-5)。標準的な読み取りコマンドが受信されていない場合(2599-5からのN)、(非読み取り)コマンドを処理することができる(2599-6)。
【0169】
メモリデバイスが認証済み読み取りコマンドと標準コマンドとを区別するように構成されていない場合、方法2599は2599-4をスキップし、受信したコマンドが読み取りコマンドであるかどうかを決定することができる(2599-4)。読み取りコマンドが受信された場合(2599-5のY)、方法は、デバイスが認証済み読み取りモードにあるかどうかを決定することができる(2599-7)。そのような動作は、メモリデバイスまたは他のそのようなデバイス構成回路(例えば、保護されたレジスタ、ヒュージブルリンク、アンチヒューズなど)にモードレジスタを設定することを含むことができる。
【0170】
認証済み読み取りコマンドが受信された場合(2599-4からのY)、または認証済み読み取りモードで読み取りコマンドが受信された場合(2599-7からのY)、対応するアドレスをデコーディングすることができる(2599-8)。そのような動作は、メモリデバイスのアドレスデコーダの動作を含むことができる。アドレスにおける読み取りデータにアクセスすることができる(2599-9)。そのような動作は、所定のサイズ(例えば、32Bキャッシュライン)のデータにアクセスすることを含む、任意の適切なアクセス動作を含むことができる。
【0171】
読み取りデータは、暗号鍵を用いて暗号化することができる(2599-10)。そのような動作は、限定はしないが、メモリデバイス上の1つ以上のブロック暗号回路を通過することを含む、任意の適切な暗号技術を含むことができる。認証タグは、認証パラメータを使用して生成することができる(2599-11)。そのような動作は、本明細書に記載のタグ生成アプローチおよび均等物のいずれかを含むことができる。したがって、生成されたタグは、データ認証タグ2599-12および/またはデバイス認証タグ2599-13であり得る。次いで、暗号化された読み取りデータおよび認証タグを、シリアルバス接続で送信することができる(2599-14)。そのような動作は、本明細書に記載された実施形態または均等物による暗号化データでタグを順序付けおよび/または点在させることを含むことができる。
【0172】
このようにして、方法は、認証パラメータを確立するためにホストデバイスとプロビジョニング動作を実行することができる。暗号化された読み取りコマンド要求に応答して、読み取りデータを暗号化し、読み取りデータを認証することができるか、メモリデバイスを認証することができるか、またはその両方の認証タグで読み取りデータを出力することができる。
【0173】
図26は、他の実施形態に係る方法2699のフロー図である。方法2699は、本明細書に記載のホストデバイスおよび均等物によって実行することができる。方法2699は、認証パラメータを決定することを含むことができる(2699-0)。そのような動作は、本明細書で説明されるように、トランザクションごとの認証のためのパラメータを確立するためにメモリデバイスと通信することを含むことができる。また、認証パラメータの全部または一部は、製造ステップによって確立されてもよい。
【0174】
CS信号はアクティブにアサートされ得る(2699-1a)。その後、読み取りコマンドおよびアドレスをバス接続上で送信することができる(2699-1b)。そのような動作は、標準的な読み取りコマンド(例えば、認証を要求しない読み取りコマンド)または認証済み読み取りコマンドを送信することを含むことができる。バス接続は、本明細書に記載のもののいずれかの形態をとることができる。
【0175】
認証済み読み取りトランザクションデータを受信することができる(2699-2a)。そのような動作は、暗号化された読み取りデータのみ、1つ以上のタグを有する暗号化された読み取りデータ、または1つ以上のタグを有する暗号化されていない読み取りデータを受信することを含むことができる。CS信号は、非アクティブ状態にアサートされ得る(2699-2b)。トランザクションは、認証パラメータで認証することができる(2699-3)。そのような動作は、本明細書に記載されたさまざまなホスト認証動作または等価物を含み得る。
【0176】
このようにして、ホストデバイスは、メモリデバイスにコマンドを発行し、結果として生じるトランザクションをメモリデバイスと認証することができる。
【0177】
図27は、他の実施形態に係る方法2799のフロー図である。方法2799は、本明細書に記載のホストデバイスの回路および均等物によって実行することができる。方法2799は、読み取りデータ暗号鍵を含む認証パラメータを決定するためにメモリデバイスでプロビジョニング動作を実行することを含むことができる(2799-0)。いくつかの実施形態では、認証済み読み取りコマンドがない場合、方法2799は、認証済み読み取り動作のための構成レジスタを設定することができる(2799-1)。そのような動作は、メモリデバイス内の構成レジスタに所定の値を書き込むことを含むことができる。
【0178】
方法2799は、読み取りデータ要求を受信することができる(2799-2)。そのような動作は、アドレスに記憶されたデータを要求するホストデバイスによってサービスされるアプリケーションを含むことができる。そのようなアドレスは、物理アドレス、または物理アドレスに変換され得る論理アドレスであり得る。
【0179】
認証済み読み取りコマンドを生成することができる(2799-3)。メモリデバイスが全ての読み取りコマンドを認証済み読み取りコマンドとして評価するように構成されている場合、そのような動作は、標準的な読み取りコマンドを発行することを含むことができる。しかしながら、メモリデバイスが認証済み読み取りコマンドと読み取りコマンドとを区別することができる場合、そのような動作は、認証済み読み取りコマンドを識別するために適切なビット値を生成することを含むことができる。CS信号はアクティブにアサートすることができ(2799-4a)、認証済み読み取りコマンドおよびアドレスはシリアルバス接続で送信することができる(2799-4b)。そのような動作は、本明細書に記載のインタフェース/規格または均等物のいずれかを含むことができる。
【0180】
暗号化された読み取りデータは、1つ以上の認証タグで受信できる(2799-5a)。そのような動作は、暗号化された読み取りデータおよび本明細書に記載されたさまざまなフォーマットおよび均等物のタグを受信することを含むことができる。CS信号は、非アクティブにアサートされ得る(2799-5b)。読み取りデータは、読み取りデータ暗号鍵を用いて復号することができる(2799-6)。次いで、暗号化された読み取りデータで受信された1つ以上のタグを使用して読み取り動作を認証することができる(2799-7)。そのような作用は、本明細書に記載の形態または均等物のいずれかをとることができる。これは、復号された読み取りデータを使用して、読み取りデータを認証するタグに対して認証タグを評価すること(2799-8)および/または認証パラメータを使用して、デバイスを認証するタグに対して認証タグを評価すること(2799-9)を含むことができる。
【0181】
トランザクションが有効でないことを認証タグが示す場合(2799-10からのN)、方法2799は戻り、別の読み取りデータ要求の受信を待つことができる(2799-2)。トランザクションが有効であることを認証タグが示す場合(2799-10のY)、復号された読み取りデータは要求者に転送できる(2799-11)。次いで、方法2799は、戻り、別の読み取りデータ要求の受信を待つことができる(2799-2)。
【0182】
このようにして、ホストデバイスは、メモリデバイスとの認証パラメータを確立し、認証済み読み取りコマンドを発行することができる。受信した暗号化された読み取りデータを復号し、読み取り動作を1つ以上の受信タグで認証することができる。
【0183】
実施形態は、集積回路(IC)デバイスにおいてCS信号を受信し、CS信号が非アクティブからアクティブに移行したことを決定し、ICデバイスのバスインタフェースにおいて少なくともターゲットアドレス情報を受信することを含む方法、デバイスおよびシステムを含むことができる。ターゲットアドレス情報に応答して、ICデバイスの対応する記憶場所に記憶されたデータを検索することができる。ICデバイスの認証回路の動作により、少なくとも認証パラメータおよび検索データを使用して、少なくとも1つの暗号化関数により認証値を生成する。ICデバイスから検索データとともに認証値を送信する。ターゲットアドレスを受信し、データを検索し、認証値を生成し、認証値および検索データを送信することは全て、CS信号が非アクティブからアクティブに移行した後にアクティブのままである間に行なわれる。
【0184】
実施形態は、認証パラメータおよびデータを記憶するように構成される記憶回路と、チップセレクト(CS)信号がアクティブにアサートされたままである間に、ターゲットアドレス情報によって示されるデバイス内の場所に記憶されるデータを検索するように構成される制御回路と、CS信号がアクティブにアサートされたままである間に、認証パラメータおよび検索データを使用する少なくとも1つの暗号化関数を用いて認証値を生成するように構成される認証回路と、バスインタフェース回路であって、CS信号およびターゲットアドレス情報を受信し、CS信号がアクティブにアサートされたままである間に、認証値を検索データとともに送信するように構成されるバスインタフェース回路とを備え、記憶回路、制御回路、認証回路およびバスインタフェース回路が同じIC基板で形成される、方法、デバイスおよびシステムを含むことができる。
【0185】
実施形態は、認証パラメータおよびデータを記憶するように構成される記憶回路と、チップセレクト(CS)信号がアクティブにアサートされたままである間に、ターゲットアドレス情報によって示されるデバイス内の場所に記憶されるデータを検索するように構成される制御回路と、CS信号がアクティブにアサートされたままである間に、少なくとも認証パラメータおよび検索データを使用する少なくとも1つの暗号化関数により認証値を生成するように構成される認証回路とを含むICデバイスを有する、方法、デバイスおよびシステムを含むことができる。バスシステムは、CS信号がアクティブにアサートされたままである間に、少なくともターゲットアドレス情報およびCS信号をICデバイスに送信するとともに、ICデバイスから認証値および検索データを送信するように構成することができる。
【0186】
実施形態に係る方法、デバイスおよびシステムは、認証回路の動作によって、検索データを暗号化して暗号化データを生成することをさらに含むことができ、認証値とともに出力される検索データが暗号化データである。
【0187】
実施形態に係る方法、デバイスおよびシステムは、少なくとも1つのメモリセルアレイを備えるICデバイスをさらに含むことができ、記憶場所は、メモリセルアレイ内の複数の記憶場所のうちの少なくとも1つである。
【0188】
実施形態に係る方法、デバイスおよびシステムは、ICデバイスが複数のレジスタを備えることをさらに含むことができ、記憶場所はレジスタのうちの少なくとも1つである。
【0189】
実施形態に係る方法、デバイスおよびシステムは、バスインタフェースにおいてターゲットアドレス値を伴うコマンドを受信することをさらに含むことができ、コマンドは、ICデバイスによって実行されるべき動作を識別し、コマンドは、CS信号が最初に非アクティブからアクティブに移行した後にアクティブのままである間に受信される。
【0190】
実施形態に係る方法、デバイスおよびシステムは、認証値を検索データとともにICデバイスから送信することが、バスインタフェースから送信すること、およびバスインタフェースとは異なるデータ出力を介して送信することからなるグループから選択される、ことをさらに含むことができる。
【0191】
実施形態に係る方法、デバイスおよびシステムは、ホストデバイスの動作によって、CS信号を非アクティブからアクティブに移行させること、ICデバイスから検索データおよび認証値を受信すること、少なくとも認証パラメータおよび認証値を使用して検索データを認証すること、認証済み検索データを使用してプロセッサ機能を実行することをさらに含むことができる。
【0192】
実施形態に係る方法、デバイスおよびシステムは、検索データとともに出力される認証値が、検索データの後に出力される、検索データの前に出力される、および検索データとともに散在されて出力されるというグループから選択される順序を有することをさらに含むことができる。
【0193】
実施形態に係る方法、デバイスおよびシステムは、検索データの後に出力される、検索データの前に出力される、および検索データとともに散在されて出力されるというグループから選択される順序で検索データに対して認証値を送信するようにさらに構成されるバスインタフェース回路をさらに含むことができる。
【0194】
実施形態に係る方法、デバイスおよびシステムは、バスシステムに結合されるとともに、CS信号をアクティブにアサートし、少なくともターゲットアドレス情報をICデバイスに送信するように構成されるホストデバイスをさらに含むことができる。
【0195】
実施形態に係る方法、デバイスおよびシステムは、認証パラメータを使用してICデバイスから受信される検索データを認証するように構成されるホスト認証回路を伴うホストデバイスをさらに含むことができる。
【0196】
実施形態に係る方法、デバイスおよびシステムは、Ascon型認証暗号を含むホスト認証回路をさらに含むことができる。
【0197】
実施形態に係る方法、デバイスおよびシステムは、ホスト認証回路によって認証される検索データを用いて機能を実行するように構成される少なくとも1つのプロセッサを伴うホストデバイスをさらに含むことができる。
【0198】
本明細書における「1つの実施形態」または「一実施形態」への言及は、実施形態に関連して説明されている特定の特徴、構造、または特性が、本発明の少なくとも1つの実施形態に含まれることを意味することを理解すべきである。したがって、本明細書のさまざまな部分における「一実施形態」または「1つの実施形態」または「代替の実施形態」への2つ以上の言及が、必ずしも全てが同じ実施形態を指すとは限らないことが強調され、理解されるべきである。さらに、特定の特徴、構造、または特性は、本発明の1つ以上の実施形態で適当に組み合わせられ得る。
【0199】
同様に、本発明の例示的な実施形態の前述の説明で、本発明のさまざまな特徴が、開示を簡素化して1つ以上のさまざまな発明の態様の理解を助ける目的で、単一の実施形態、図、またはその説明にまとめられることがあることを理解すべきである。しかしながら、この開示方法は、特許請求の範囲が各請求項で明示的に列挙されているより多くの特徴を必要とするという意図を反映していると解釈されるべきではない。むしろ、発明の態様は、前述の開示されている単一の実施形態の全ての特徴より少ないところにある。したがって、詳細な説明に続く特許請求の範囲はここで、この詳細な説明に明示的に組み込まれ、各請求項は、本発明の別個の実施形態として独立している。
【0200】
例示的な実施形態を参照して本発明を説明してきたが、この説明は限定的な意味で解釈されることを意図していない。例示的な実施形態、ならびに本発明の他の実施形態のさまざまな修正および組み合わせは、説明を参照することで当業者にとって明白となる。したがって、添付の特許請求の範囲は、かかる修正または実施形態を包含することが意図される。
【外国語明細書】