(57)【要約】  本開示の実施形態は、間接アクセスメモリコントローラ向けの保護機能を追加するための機器を提供する。この機器は、バスアドレスをモニタし、レジスタ制御操作が検出される場合に許可の認証を行い、許可リスト構成操作が検出される場合にリストエントリを構成するように構成されるバスモニタリングユニットと、メモリ空間を幾つかの仮想メモリ保護領域に分割し、各メモリ領域のアクセス許可属性（読み取り可能、書き込み可能、消去可能等）を独立に設定するように構成される許可リストユニットと、保護機器にウィンドウレジスタ情報を提供する、即ちメモリコントローラ内のウィンドウレジスタ情報を伝送するように構成されるウィンドウレジスタ情報バスであって、ウィンドウレジスタ情報は、読み取りウィンドウアドレス、書き込みウィンドウアドレス、及び消去ウィンドウアドレスを含み、複数のウィンドウアドレスが同じバスウィンドウレジスタに対応し得る、ウィンドウレジスタ情報バスと、許可に違反するアクセスが発生したとき実行されるその後の操作を処理するように構成される無許可操作処理ユニットとを含むことができる。本開示は簡単な修正を加えるだけでメモリ保護機能を追加し、それによりメモリ保護の目的を実現することができる。
2021507362.tif 000002
【特許請求の範囲】
【請求項１】
間接アクセスメモリコントローラ向けの保護機能を追加するための機器であって、
バスアドレスを有するメモリアクセス要求をモニタし、前記間接アクセスメモリコントローラの操作レジスタに対する制御操作が検出される場合に許可の認証を行うように構成されるバスモニタリングユニットと、
前記バスモニタリングユニットから前記バスアドレスを受信し、許可リストに従って前記バスアドレスを評価し、前記バスアドレスに対応する許可属性を前記許可リストから決定するように構成される許可リストユニットと、
前記許可リスト内で提供される許可属性を制御するためにメモリコントローラから前記許可リストユニットにウィンドウレジスタ情報を提供するように構成されるウィンドウレジスタ情報バスと
を含む、機器。
【請求項２】
前記バスアドレスが前記許可属性に一致しない場合に実行される操作を処理するように構成される無許可操作処理ユニットを更に含む、請求項１に記載の機器。
【請求項３】
前記無許可操作処理ユニットは、アクセス許可に違反する前記バスアドレスを有するメモリアクセス要求に応答して、バスエラーを返すか、インジケータ信号を送信するか、又は他の処理を行うことなしに前記要求を無効化するように構成される、請求項２に記載の機器。
【請求項４】
前記ウィンドウレジスタ情報は、読み取りウィンドウアドレス、書き込みウィンドウアドレス、又は消去ウィンドウアドレスを含む、請求項１乃至３の何れか一項に記載の機器。
【請求項５】
前記許可リストユニットは、メモリ空間を幾つかの仮想メモリ保護領域に分割し、メモリ領域ごとにアクセス許可属性を設定するように構成される、請求項１乃至４の何れか一項に記載の機器。
【請求項６】
前記メモリアクセス要求は、前記保護機器を有効にするか又は構成する許可インジケータ入力ビットを含む、請求項１乃至５の何れか一項に記載の機器。
【請求項７】
前記バスモニタリングユニットは、許可リスト構成操作が検出される場合に前記許可リストユニットのリストエントリを更新するように更に構成される、請求項１乃至６の何れか一項に記載の機器。
【請求項８】
前記バスモニタリングユニットは、前記許可リスト構成操作を検出した後、前記許可リストユニット内の対応する許可リストにバス値を伝送するように構成される、請求項７に記載の機器。
【請求項９】
前記バス値は、セキュリティアドレス範囲又は許可属性である、請求項８に記載の機器。
【請求項１０】
前記機器は、前記バスモニタリングユニットが前記操作レジスタに対する制御操作を検出した後、認証のための許可リストエントリへのアドレスとしてウィンドウアドレス情報値を入力するように構成される、請求項１乃至９の何れか一項に記載の機器。
【請求項１１】
前記許可リストは、リストエントリイネーブルビット、基準アドレス、アドレスフィールドサイズ、及び許可属性を有する１つ又は複数のリストエントリを含み、前記リストエントリイネーブルビットは前記リストエントリが有効かどうかを示し、前記基準アドレス及び前記アドレスフィールドサイズは前記リストエントリによって保護されるアドレス範囲を表し、前記許可属性はアドレスフィールドの許可を表す、請求項１乃至１０の何れか一項に記載の機器。
【請求項１２】
前記保護機能の有効化を表すように構成されるグローバルイネーブルレジスタを更に含む、請求項１乃至１１の何れか一項に記載の機器。
【発明の詳細な説明】
【技術分野】
【０００１】
関連出願の相互参照
[001]  本開示は、参照によりその全体を本明細書に援用する、２０１７年１２月１５日に出願された中国特許出願第２０１７１１３４４５５１．Ｘ号の優先権の利益を主張する。
【背景技術】
【０００２】
背景
[002]  モバイルインターネット及びモノのインターネットの急速な発展と共に、チップのセキュリティが益々重要になっている。例えば、チップ内の重要なデータ及び資源を保護することが重要である。保護は、割り込み保護、周辺保護、メモリ保護等に分類することができ、そのうちのメモリ保護は極めて重要な部分である。メモリ保護は、様々なアドレス範囲に様々なアクセス許可（例えば読み取り可能、書き込み可能、又は消去可能）を割り当てることを概して伴い、特権状態にある訪問者は、非特権状態にある訪問者のアクセス範囲及びアクセス許可を制限することができる。かかる分類により、特権状態にあるユーザしかアクセスできず、非特権状態にあるユーザのアクセス許可が制限される領域内に機密データが記憶され、それによりメモリ保護が実現される。
【０００３】
[003]  ＲＡＭ用の保護機器等、直接アクセスメモリのための多くの保護機器が存在している。この種の保護ユニットは、無許可アクセスを防ぐために（メモリユニットのアクセスアドレスとしても機能する）バス上のアドレスを認証するだけでよい。但し、他の一部のメモリは相対的に遅いアクセス速度を有し、従ってそれらのメモリのコントローラは直接アクセスをサポートしない。これらの状況の下、バスアドレスを使用してメモリに直接アクセスすることはできず、代わりにコントローラ内の指定のアドレスウィンドウレジスタ内にアクセスターゲットアドレスを記憶し、次いでメモリにアクセスするようにメモリコントローラ、例えば一部の低速フラッシュコントローラ、Ｅ２ＰＲＯＭコントローラ、間接アクセスＤＤＲコントローラ等をトリガするために、コントローラ内の対応する操作レジスタ（例えば読み取り、書き込み、消去等）を構成する必要がある。
【発明の概要】
【課題を解決するための手段】
【０００４】
本開示の概要
[004]  本開示の実施形態は、簡単な修正を加えるだけでメモリ保護機能を追加することができる、間接アクセスメモリコントローラ向けの保護機能を追加するための機器を提供する。この機器は、バスアドレスをモニタし、許可の認証を行い、許可リストエントリを構成するように構成されるバスモニタリングユニットと、メモリ空間を分割し、各メモリ領域のアクセス許可属性（即ち読み取り可能、書き込み可能、又は消去可能）を個々に設定するように構成される許可リストユニットと、ウィンドウレジスタ情報を伝送するように構成されるウィンドウレジスタ情報バスと、許可に違反するアクセスが発生したとき実行されるその後の操作を処理するように構成される無許可操作処理ユニットとを含むことができる。
【０００５】
図面の簡単な説明
[005]  開示する実施形態における技術的解決策をより明確に示すために、添付図面は以下の実施形態を説明する。以下の説明における添付図面は本開示の一部の実施形態に過ぎないことが明らかである。当業者なら創造的な取り組みなしに添付図面に従って他の特徴を得ることができる。
【図面の簡単な説明】
【０００６】
【図１】[006]本開示の一部の実施形態による、ＳＯＣチップシステム内の保護機器の例示的な位置の概略図である。
【図２】[007]本開示の一部の実施形態による、保護機器のコンポーネント及びメモリコントローラとの接続関係の例示的な図である。
【図３】[008]本開示の一部の実施形態による、許可リストエントリの例示的コンテンツの概略図である。
【発明を実施するための形態】
【０００７】
詳細な説明
[009]  本開示の実施形態の目的、技術的解決策、及び利点をより明確にするために、本開示の実施形態における技術的解決策を本開示の実施形態の中で添付図面を参照して以下で明確且つ完全に説明する。記載する実施形態は本開示の実施形態の全てではなく一部に過ぎないことは明らかである。本開示における実施形態に基づき、創造的な取り組みなしに当業者によって得られる他の全ての実施形態が本開示の保護範囲に含まれるものとする。
【０００８】
[010]  上記で述べたように、間接アクセスメモリを保護することに関する需要がある。所望の保護機能を有する新たなメモリコントローラを作成することは作業負荷を高め、チップの開発サイクルを延ばす。チップのセキュリティが益々重要になるにつれ、一般的なチップのセキュリティ機能をアップグレードし、セキュリティアップグレードプロセスを加速するやり方を見つけることに関する大きな需要が発生する。既存の間接メモリコントローラのセキュリティが低い不備を克服するために、本開示は間接アクセスメモリコントローラ向けの保護機能を追加し、それによりメモリ保護を実現するための機器を提供する。
【０００９】
[011]  本開示の一部の実施形態は、間接アクセスメモリコントローラ向けの保護機能を追加するための保護機器を提供する。図１は、一部の実施形態による、ＳＯＣチップシステム１００内の保護機器の位置の概略図である。図１に示すように、ＳＯＣチップシステム１００は、直接メモリアクセス（ＤＭＡ）１０１、プロセッサ１０２、及び間接アクセスメモリコントローラ１０３を含むことができ、その全てがバス１０４によって接続される。本開示の実施形態では、間接アクセスメモリは、メモリ１０５へのアクセスを試みるとき保護機器１１０を使用することができる。
【００１０】
[012]  図２は、一部の実施形態による、保護機器のコンポーネント及びメモリコントローラとの接続関係の図である。図２を参照し、保護機器１１０は、バスモニタリングユニット２０２、許可リストユニット２０３、ウィンドウレジスタ情報バス２１１、及び無許可操作処理ユニット２０５を含む。
【００１１】
[013]  バスモニタリングユニット２０２は、操作レジスタ２１３に対する制御操作が検出される場合に許可の認証を行うために、バスアドレスを有するメモリアクセス要求をモニタし、許可リスト構成操作が検出される場合に許可リストエントリ２０４を構成するように構成される。
【００１２】
[014]  許可リストユニット２０３は、メモリ空間を幾つかの仮想メモリ保護領域に分割し、メモリ領域ごとにアクセス許可を独立に設定するように構成される。
【００１３】
[015]  無許可操作処理ユニット２０５は、許可に違反するアクセスが発生した後、その後の操作を処理するように構成される。
【００１４】
[016]  ウィンドウレジスタ情報バス２１１は、ウィンドウレジスタ情報を伝送するように、例えばメモリコントローラ２０６内のウィンドウレジスタ情報を保護機器１１０に伝送するように構成される。ウィンドウレジスタ情報は、読み取りウィンドウアドレス、書き込みウィンドウアドレス、及び消去ウィンドウアドレスを含み、複数のウィンドウアドレスが同じバスウィンドウレジスタに対応し得る。
【００１５】
[017]  一部の実施形態では、ウィンドウレジスタ情報バス２１１がメモリコントローラ２０６内のウィンドウレジスタ２０８に接続され、複数のウィンドウアドレスが同じバスに対応し得る。
【００１６】
[018]  一部の実施形態では、バスモニタリングユニット２０２が、許可リスト構成操作を検出した後、許可リストユニット２０３内の対応する許可リストにバス値を伝送し、セキュリティアドレス範囲及び属性を構成する。
【００１７】
[019]  一部の実施形態では、許可リストユニット２０３が、バスモニタリングユニット２１３が操作レジスタ２１３に対する制御操作を検出した後、認証のための許可リストエントリ２０４へのアドレスとして、対応するウィンドウアドレス情報値を受信する。例えば一部の実施形態では、操作レジスタ２１３が０ｘ００１０００００における記憶場所を有する。バス１０４がアドレス０ｘ００１０００００に対して読み取り／書き込み／消去を行うためのメモリアクセス要求を行う場合、バス１０４は操作レジスタ２１３に対する制御操作を実行しており、制御操作がバスモニタリングユニット２１３によって検出され得る。
【００１８】
[020]  一部の実施形態では、許可リストが１つ又は複数のリストエントリ２０４を含み、各リストエントリ２０４は図３に示すコンテンツを含むことができ、図３は、本開示の一部の実施形態による、許可リストエントリの例示的コンテンツの概略図である。図３に示すように、コンテンツは、リストエントリイネーブルビット３０１、基準アドレス３０２、アドレスフィールドサイズ３０３、及び許可属性３０４を含むことができる。リストエントリイネーブルビット３０１は、リストエントリが有効かどうかを示す。基準アドレス３０２及びアドレスフィールドサイズ３０３は、リストエントリ２０４によって保護されるアドレス範囲を表すことができる。許可属性３０４は、アドレスフィールドの許可、例えばそのアドレスフィールドが読み取り可能か、書き込み可能か、又は消去可能かを表す。
【００１９】
[021]  再び図２を参照し、無許可操作処理ユニット２０５は、メモリアクセス要求がアクセス許可に違反した場合、以下の処理、即ち（１）バスエラーを返すこと、（２）インジケータ信号を送出すること、及び（３）他の処理を行うことなしにメモリアクセス要求を無効化することのうちの１つ、２つ、又は全てを実行することができる。
【００２０】
[022]  一部の実施形態では、保護機器１１０が保護機能を有効にすることを表すように構成されるグローバルイネーブルレジスタを保護機器１１０が更に含む。
【００２１】
[023]  一部の実施形態では、保護機器１１０が間接アクセスメモリコントローラ１０３内に位置する。更に一部の実施形態では、保護機器１１０の構成は、特権状態にあるアクセスによってのみ有効化され得る。特権状態は、メモリアクセス要求上の許可インジケータ入力ビットによって示され、保護機器１１０は入力ビットが有効な場合にのみ有効にされ構成され得る。構成操作は、各リストエントリについてアドレス範囲を構成すること及び許可属性レジスタを構成することを含む。
【００２２】
[024]  一部の実施形態では、従来の間接アクセスメモリコントローラ内に保護機器を追加して、間接アクセスメモリコントローラをアップグレードする。従来の間接アクセスメモリコントローラは次の特性を有する：メモリアクセスが入力アドレスによってメモリアドレスを直接提供することができず、代わりにアクセスアドレスがメモリコントローラ内のウィンドウレジスタ内にまず書き込まれ、次いでメモリコントローラ内の対応する操作レジスタ（例えば読み取りレジスタ、書き込みレジスタ、消去レジスタ等）がメモリアクセスをトリガするために構成される。従来の間接アクセスメモリコントローラ内に保護機器１１０を追加した場合、ウィンドウレジスタ内に書き込まれる情報がウィンドウレジスタ情報バス２１１を介して保護機器１１０に出力される。ウィンドウレジスタ内に書き込まれる情報は、読み取りウィンドウアドレス情報、書き込みウィンドウアドレス情報、消去ウィンドウアドレス情報等を含み得る。
【００２３】
[025]  一部の実施形態では、バスモニタリングユニット２０２が、メモリコントローラ２０６内の操作レジスタ２１３（例えば読み取りレジスタ、書き込みレジスタ、消去レジスタ等）に対する制御操作をモニタする。例えば読み取り操作を行うために、読み取りアドレスが読み取りウィンドウレジスタ内にまず書き込まれ、メモリコントローラ２０６内の読み取り操作レジスタが読み取り操作をトリガするために制御操作によって書き込まれる。従って、バスモニタリングユニット２０２が操作レジスタ２１３に対する制御操作を検出する場合、バスモニタリングユニット２０２は、読み取り操作レジスタが書き込まれていることを検出し、対応する読み取りウィンドウレジスタ内のアドレスがウィンドウレジスタ情報バス２１１を介して認証のために許可リストユニット２０３に伝送され、許可リストユニット２０３は現在の読み取り操作が無許可かどうかを判断する。
【００２４】
[026]  例えば、許可リストユニット２０３は、メモリ空間を幾つかの仮想メモリ保護領域に分割し、各メモリ領域のサイズ及びアクセス許可属性を独立に保存するように構成される。許可リストユニット２０３は、バスモニタリングユニット２０２から受信される情報に基づいて構成され得る。各許可リストエントリのコンテンツは図３に示す通りであり、イネーブルビット３０１はリストエントリが有効かどうかを表し、基準アドレス３０２及びアドレスフィールドサイズ３０３はリストエントリの保護フィールドの位置及びサイズを表し、許可属性３０４はフィールドのアクセス許可属性を記録し、具体的な許可属性は、フィールドが読み取り可能かどうか、書き込み可能かどうか、又は消去可能かどうかを含む。バスモニタリングユニット２０２は、メモリ読み取り要求を検出すると、対応するウィンドウレジスタ情報バス２１１上のアドレスを使用することによって、許可リストユニット２０３内のクエリを実行する。対応するリストエントリが許可リストユニット２０３において見つかった後、要求がアクセス許可を満たすかどうかが確認される。要求がアクセス許可を満たす場合、その要求が通り、アクセスが認可される。他方で要求がアクセス許可を満たさない場合、その要求は無許可操作処理ユニット２０５に引き渡される。
【００２５】
[027]  一部の実施形態では、無許可操作処理ユニット２０５が、無許可アクセスを検出すると、エラー応答をバスに返し、現在の無許可アクセス要求をメモリコントローラ２０６に伝送しない。同様の装置内で他の方法を使用することもできる。例えば、無許可アクセスが発生したことをシステムに知らせるために割り込みと同様のインジケータ信号が送出され、又は更なる処理なしに要求が無効化される。
【００２６】
[028]  本明細書で使用するとき、明確な定めのない限り、「又は（or）」という用語は実行不可能な場合を除いてあり得る全ての組み合わせを包含する。例えば、データベースがＡ又はＢを含み得ると述べられている場合、明確な定めのない限り又は実行不可能でない限り、データベースはＡ若しくはＢ又はＡ及びＢを含むことができる。第２の例として、データベースがＡ、Ｂ、又はＣを含み得ると述べられている場合、明確な定めのない限り又は実行不可能でない限り、データベースはＡ若しくはＢ若しくはＣ、又はＡ及びＢ、又はＡ及びＣ、又はＢ及びＣ、又はＡ及びＢ及びＣを含むことができる。
【００２７】
[029]  本開示の特定の実装形態を上記で説明したが、本開示の保護範囲は特定の実施形態に限定されない。本開示の趣旨及び原理から逸脱することなく行われる任意の修正、等価の置換、及び改善が本開示の保護範囲に含まれるものとする。
【図１】
2021507362.tif 000003
【図２】
2021507362.tif 000004
【図３】
2021507362.tif 000005
【国際調査報告】
2021507362.tif 000006
2021507362.tif 000007
2021507362.tif 000008