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

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

▶ 華邦電子股▲ふん▼有限公司の特許一覧

特開2024-106972コンピュータメモリシステム及びメモリセグメンテーションの方法
<>
  • 特開-コンピュータメモリシステム及びメモリセグメンテーションの方法 図1
  • 特開-コンピュータメモリシステム及びメモリセグメンテーションの方法 図2
  • 特開-コンピュータメモリシステム及びメモリセグメンテーションの方法 図3
  • 特開-コンピュータメモリシステム及びメモリセグメンテーションの方法 図4
  • 特開-コンピュータメモリシステム及びメモリセグメンテーションの方法 図5
  • 特開-コンピュータメモリシステム及びメモリセグメンテーションの方法 図6
< >
(19)【発行国】日本国特許庁(JP)
(12)【公報種別】公開特許公報(A)
(11)【公開番号】P2024106972
(43)【公開日】2024-08-08
(54)【発明の名称】コンピュータメモリシステム及びメモリセグメンテーションの方法
(51)【国際特許分類】
   G06F 12/02 20060101AFI20240801BHJP
【FI】
G06F12/02 510A
【審査請求】有
【請求項の数】10
【出願形態】OL
【外国語出願】
(21)【出願番号】P 2024002275
(22)【出願日】2024-01-11
(31)【優先権主張番号】18/161,064
(32)【優先日】2023-01-29
(33)【優先権主張国・地域又は機関】US
(71)【出願人】
【識別番号】512167426
【氏名又は名称】華邦電子股▲ふん▼有限公司
【氏名又は名称原語表記】Winbond Electronics Corp.
(74)【代理人】
【識別番号】100204490
【弁理士】
【氏名又は名称】三上 葉子
(72)【発明者】
【氏名】カルズニー, ウリ
【テーマコード(参考)】
5B160
【Fターム(参考)】
5B160AA08
5B160AA12
5B160AA15
5B160AB28
(57)【要約】      (修正有)
【課題】メモリと、メモリセクション属性ストレージ(MSAS)と、メモリアクセス回路(MAC)とを含む装置を提供する。
【解決手段】メモリは複数のメモリセクションを含む。MSASは1つ以上のエントリを含み、エントリの少なくともいくつかは、メモリの対応するセクションに対して、対応するセクションセキュリティポリシーと、対応するセクションベースアドレスと、対応するセクションサイズとを指定する。MACは、ホストから、メモリ中のアクセスすべきアドレスを指定するメモリアクセス要求を受信し、MSASで指定されたセクションベースアドレス及びセクションサイズに応じて、アドレスに対応する目標メモリセクションを特定し、MSASから、目標メモリセクションに対応するセキュリティポリシーを受信し、セキュリティポリシーをメモリアクセス要求に適用するよう構成される。
【選択図】図1
【特許請求の範囲】
【請求項1】
複数のメモリセクションを含むメモリと、
1つ以上のエントリを含むメモリセクション属性ストレージ(MSAS)と、
メモリアクセス回路(MAC)と
を含み、
前記エントリの少なくともいくつかは、前記メモリの対応するセクションのため、対応するセキュリティポリシーと、対応するセクションベースアドレスと、対応するセクションサイズとを指定し、
前記MACは、
ホストから、前記メモリ中のアクセスすべきアドレスを指定するメモリアクセス要求を受信し、
前記MSASで指定された前記セクションベースアドレス及び前記セクションサイズに応じて、前記アドレスに対応する目標メモリセクションを特定し、
前記MSASから、前記目標メモリセクションに対応するセキュリティポリシーを受信し、
前記セキュリティポリシーを前記メモリアクセス要求に適用する
よう構成される、
コンピュータメモリシステム。
【請求項2】
前記メモリセクションのサイズは2の整数乗であり、前記セクションベースアドレスは前記メモリセクションの前記対応するセクションサイズの整数倍である、
請求項1に記載のコンピュータメモリシステム。
【請求項3】
前記MACは、前記アドレスのセクション指定ビットのセットが前記目標メモリセクションのエントリ中のベースアドレスの対応するビットと等しいことを識別することによって、前記アドレスが前記目標メモリセクションに属すると判定するよう構成され、前記セットのサイズは、前記目標メモリセクションの前記エントリ中のセクションサイズに由来する、
請求項1に記載のコンピュータメモリシステム。
【請求項4】
前記セクション指定ビットはビット位置n~N-1でのビットであり、ビット位置0が最下位ビットであり、2が前記セクションサイズであり、2が前記メモリの合計サイズである、
請求項3に記載のコンピュータメモリシステム。
【請求項5】
前記MSASは、同一サイズの第1メモリセクションと第2メモリセクションとの間のアドレス再マッピングを、前記第1メモリセクション及び前記第2メモリセクションの前記エントリ間で前記セクション指定ビットを交換することによって実行するよう更に構成される、
請求項3に記載のコンピュータメモリシステム。
【請求項6】
複数のメモリセクションを含むメモリのため、1つ以上のエントリを含むメモリセクション属性ストレージ(MSAS)を格納することであって、前記エントリの少なくともいくつかは、前記メモリの対応するセクションのため、対応するセキュリティポリシーと、対応するセクションベースアドレスと、対応するセクションサイズとを指定することと、
ホストから、前記メモリ中のアクセスすべきアドレスを指定するメモリアクセス要求を受信することと、
前記MSASで指定された前記セクションベースアドレス及び前記セクションサイズに応じて、前記アドレスに対応する目標メモリセクションを特定することと、
前記MSASから、前記目標メモリセクションに対応するセキュリティポリシーを受信することと、
前記セキュリティポリシーを前記メモリアクセス要求に適用することと
を含む、
メモリセグメンテーションのための方法。
【請求項7】
前記メモリセクションのサイズは2の整数乗であり、前記セクションベースアドレスは前記メモリセクションの前記対応するセクションサイズの整数倍である、
請求項6に記載の方法。
【請求項8】
前記目標メモリセクションを特定することは、
前記アドレスのセクション指定ビットのセットが前記目標メモリセクションの前記エントリ中のベースアドレスの対応するビットと等しいことを識別することによって、前記アドレスが前記目標メモリセクションに属すると判定することであって、前記セットのサイズは、前記目標メモリセクションの前記エントリ中のセクションサイズに由来すること
を含む、
請求項6に記載の方法。
【請求項9】
前記セクション指定ビットはビット位置n~N-1でのビットであり、ビット位置0が最下位ビットであり、2が前記セクションサイズであり、2が前記メモリの合計サイズである、
請求項8に記載の方法。
【請求項10】
同一サイズの第1メモリセクションと第2メモリセクションとの間のアドレス再マッピングを、前記第1メモリセクション及び前記第2メモリセクションの前記エントリ間で前記セクション指定ビットを交換することによって実行すること
を更に含む、
請求項8に記載の方法。


【発明の詳細な説明】
【技術分野】
【0001】
本発明は一般的にコンピュータメモリアクセスに関するものであり、特に、メモリセグメンテーション方式に関するものである。
【背景技術】
【0002】
米国特許出願公開第2008/0263315号は、メモリ位置を示すためのメモリセグメント識別子及びメモリセグメントマスクに依存するコンピュータアドレス指定モード及びメモリアクセス方法を記載している。このアドレス指定モードにおいて、プロセッサはメモリセグメント識別子とメモリセグメントマスクを含む命令を受信する。プロセッサは個別のメモリ位置にアクセスするため2段アドレス復号方式を採用する。この複合において、プロセッサは特定のメモリセグメントを選択するためメモリセグメント識別子を復号する。各メモリセグメントは所定の数のメモリ位置を含む。プロセッサは、メモリセグメントマスクに設定されたマスクビットに基づいてメモリセグメント内のメモリ位置を選択する。この開示されているアドレス指定モードは非連続的なメモリ位置に効率的にアクセスすることが可能であるため利点がある。
【0003】
米国特許第11,301,391号は、メモリ動作のパフォーマンスに関連付く特定のアクセスサイズを有する第1メモリコンポーネントと、論理-物理データ構造を格納するための第2メモリコンポーネントと、メモリコンポーネントに操作可能に結合された処理装置とを含むシステムを記載しており、論理-物理データ構造のエントリはメモリコンポーネント中の対応する物理位置への管理セグメントをマッピングし、各管理セグメントは特定のアクセスサイズを有する集約された複数の論理アクセス単位に対応する。処理装置は、各対応する管理セグメントのため、対応する管理セグメントに対応する構成アクセス単位へのアクセス要求を追跡し、追跡に基づいて対応する管理セグメントに特定のメモリ管理動作を実行するか否かを判断することにより、管理セグメント毎にメモリ管理動作を実行可能である。
【発明の概要】
【課題を解決するための手段】
【0004】
ここで説明する本発明の1つの実施形態は、メモリと、メモリセクション属性ストレージ(Memory Section Attribute Storage、MSAS)と、メモリアクセス回路(memory access circuit、MAC)とを含む装置を提供する。メモリは複数のメモリセクションを含む。MSASは1つ以上のエントリを含み、エントリの少なくともいくつかは、メモリの対応するセクションに対して、対応するセクションセキュリティポリシーと、対応するセクションベースアドレスと、対応するセクションサイズとを指定する。MACは、ホストからメモリ中のアクセスすべきアドレスを指定するメモリアクセス要求を受信し、MSASで指定されたセクションベースアドレス及びセクションサイズに応じて、アドレスに対応する目標メモリセクションを特定し、MSASから目標メモリセクションに対応するセキュリティポリシーを受信し、セキュリティポリシーをメモリアクセス要求に適用するよう構成される。
【0005】
いくつかの実施形態において、メモリセクションのサイズは2の整数乗であり、セクションベースアドレスはメモリセクションの対応するセクションサイズの整数倍である。
【0006】
いくつかの実施形態において、MACは、アドレスのセクション指定ビットのセットが目標メモリセクションのエントリ中のベースアドレスの対応するビットと等しいことを識別することによって、アドレスが目標メモリセクションに属すると判定するよう構成され、前記セットのサイズは、目標メモリセクションのエントリ中のセクションサイズに由来する。1つの例示的な実施形態において、セクション指定ビットはビット位置n~N-1でのビットであり、ビット位置0が最下位ビットであり、2がセクションサイズであり、2がメモリの合計サイズである。1つの開示される実施形態において、MSASは、同一サイズの第1メモリセクションと第2メモリセクションとの間のアドレス再マッピングを、第1メモリセクション及び第2メモリセクションのエントリ間でセクション指定ビットを交換することによって実行するよう更に構成される。
【0007】
ここで説明する1つの実施形態によると、以下を含む方法を更に提供する。複数のメモリセクションを含むメモリのため、1つ以上のエントリを含むメモリセクション属性ストレージ(MSAS)を格納することであって、少なくともいくつかのエントリは、メモリの対応するセクションのため、対応するセクションセキュリティポリシーと、対応するセクションベースアドレスと、対応するセクションサイズとを指定する。ホストからメモリ中のアクセスすべきアドレスを指定するメモリアクセス要求を受信する。MSASで指定されたセクションベースアドレス及びセクションサイズに応じて、アドレスに対応する目標メモリセクションを特定する。MSASから目標メモリセクションに対応するセキュリティポリシーを受信する。セキュリティポリシーをメモリアクセス要求に適用する。
【図面の簡単な説明】
【0008】
本発明は、添付図面と併せて下記の実施形態の詳細な説明からより完全に理解される。
【0009】
図1】本発明の1つの実施形態によるコンピュータメモリシステムの1つの構成例を概略的に表すブロック図である。
図2】本発明の1つの実施形態によるセクションに分割されたメモリを有するコンピュータを概略的に表すブロック図である。
図3】本発明の1つの実施形態によるメモリセクション属性ストレージ(MSAS)を概略的に表すブロック図である。
図4】本発明の1つの実施形態によるコンピュータメモリの1つのセクション再マッピング例を概略的に表すブロック図である。
図5】本発明の1つの実施形態によるセクション再マッピングを有するコンピュータを概略的に表すブロック図である。
図6】本発明の1つの実施形態によるメモリセグメンテーションの方法を概略的に表すフロー図である。
【発明を実施するための形態】
【0010】
概要
コンピュータのメモリ空間はメモリセクション又はメモリセグメントに分割されることが多く、メモリセクション又はメモリセグメントは通常、オペレーティングシステム(OS)対アプリケーションコード、システム対ユーザデータといった、コードとデータの自然分割に対応する。許可コードがメモリセグメントに関連付いてよい。例えば、所与のメモリセクションに対して、書き込みアクセスはオペレーティングシステムのみに許可されてよく、読み出しアクセスは制限されなくてよい。コンピュータシステムによっては、プロセッサは各メモリアクセスにユーザIDコードを発行してよく、様々なメモリセクションはそのような各ユーザの許可リスト定義してよい。
【0011】
加えて、コンピュータ又はコンピュータ中の専用回路は時々、CPUがアクセスするセクションをメモリ中の異なるセクション(典型的に同一のサイズを有する)に再マッピングしてよい(この技術はページに基づく仮想メモリシステム中、並びにセグメントに用いることができる)。
【0012】
ここで開示する本発明の実施形態は効率的なメモリセグメンテーション技術を提供し、装置と方法を含む。1つの実施形態において、コンピュータシステムは、各メモリセクションに対してセクションのベースアドレスとセクションサイズを格納するよう構成されたメモリセクション属性ストレージ(Memory Section Attribute Storage、MSAS)を含む。実施形態において、セクションサイズは常に2の整数乗であり、セクションベースアドレスは対応するセクションサイズの整数倍である。よって、実施形態において、アドレスが所与のセクション内にあるかを調べ出すためには、減らされた数のセクション指定最上位アドレスビットを比較すればよく、開示する方式を速く且つ効率的にする。1つの実施形態において、比較するアドレスビットの数=メモリサイズの底2の対数-セクションサイズの底2の対数である。
【0013】
いくつかの実施形態において、MSASは、プロセッサ(ここではホストとも呼ぶ)からのメモリアクセス要求に応じて、アドレスセクションを突き止めるためにアドレスを全セグメントのベースアドレスと同時に比較する。1つの実施形態において、MSASは、各セグメントに指定されたセキュリティポリシーコード(例えば許可コード)を更に含み、アドレス入力に応じて、アドレス指定されたメモリセクションに係るセキュリティポリシーコードを出力する。
【0014】
いくつかの実施形態において、コンピュータシステムはメモリアクセス制御(Memory Access Control、MAC)回路を更に含み、MAC回路はユーザIDと読み出し/書き込み指示を含むアクセス属性をプロセッサから受信し、アクセス属性をMSASが出力したセキュリティポリシーコードで検証し、これに基づいてメモリアクセスを許可又は拒否する。
【0015】
実施形態において、コンピュータシステムはユーザ空間から物理メモリ空間へのセクション再マッピングを容易にする。MSASは各セクションに対して再マッピングコードを含み、MSASが入力アドレスと格納されたベースアドレスとセクションサイズとに基づいてセグメントをの位置を見つけたとき、MSASは対応する再マッピングコードに基づいてアドレスを再マッピングする。
【0016】
システムの説明
以下に開示する例示的な実施形態において、総メモリサイズ131,072(217又は128K)バイト、最小セクションサイズ4,096(212又は4K)と仮定する。ただし、本発明は131,072バイト及び最小セクションサイズ4,096に限定されない。更に、データサイズはバイトに限定されない(例えば、データは32ビットワードであってよい)。実施形態において、如何なる適切なメモリサイズ、最小セクションサイズ、データサイズが用いられてよい(以下に示すように、セクションサイズは2の整数乗であるべきである)。
【0017】
図1は、本発明の1つの実施形態によるコンピュータメモリシステム100の1つの構成例を概略的に表すブロック図である。
【0018】
コンピュータメモリシステムは、12セクションに分割されたメモリ102を含む。メモリセクション属性ストレージ(MSAS)104は、各セクションのベースアドレス、サイズ、セキュリティポリシーコード(例えば許可コード)を記述する。図1に表す例示的実施形態によると、メモリサイズは0x20000(128K)であり、最小セクションサイズは0x01000又は4Kバイトであり、よってMSASのベースアドレスフィールドはlog(128K)-log(4K)=5ビットを含む。
【0019】
以下では、セキュリティポリシーコードは許可コードを指す。ただし、開示する技術において、許可コードに限定されず、他の適切なセキュリティポリシーコードが用いられてよい。
【0020】
セクション属性及び対応するMSAS内容を下記表に示す:
【0021】
【表1】
【0022】
実施形態において、セグメントのベースアドレスは対応するセグメントサイズの整数積である。この制限は、(図3を参照して)以下に説明するように少数のセクション指定ビットのみが比較される効率的なセグメント検索を可能とする。
【0023】
曖昧さを避けるため、以下ではプロセッサが送信するアドレスのベースアドレスビットをベースアドレスと呼び、ベースアドレスビットを指定するMSASビットをベースフィールドと呼ぶことに注意されたい。
【0024】
図1及び上記に表したコンピュータメモリシステム100の構成は、概念を明確化するために用いた一例である。代替的な実施形態にて他の構成が用いられてよい。いくつかの実施形態において、例えば、セクションのサイズは常に2のべき乗であることから、セクションサイズフィールド中のビットの数は比較的小さくてよい(例えば、可能なセクションサイズ、4Kバイトの倍数、が1、2、4、8、16、32のみである場合、セクションサイズフィールドは3つのビットのみを含んでよい)。
【0025】
図2は、本発明の1つの実施形態によるセクションに分割されたメモリ102を有するコンピュータ200を概略的に表すブロック図である。プロセッサ202は(ホストとも呼ぶ)、メモリ102(図1)へのメモリアクセス要求(例えば、メモリ読み出し又はメモリ書き込み要求)を送信し、読み出し出力又は書き込み出力が有効となる(他の実施形態において、プロセッサは単一のR/W出力とアクセスイネーブルワイヤとを含み、他の実施形態において、他の適切なメモリアクセス構成が用いられてよい)。
【0026】
簡潔にするため、以下では用語lgを底2の対数演算を示すために用いる。更に、lg(メモリサイズ)からメモリ全体のアドレス中のビット数を減算したものをNと呼び(図1に表した例においてN=17)、lg(最小セクションサイズ)から最小セクション中のビット数を減算したものをLと呼び、1つのセクションのMSASのベースフィールド中のビット数をBと呼ぶ。図2に表した例示的な実施形態において、N=17、L=12、B=5である。
【0027】
プロセッサ202がメモリにアクセスするとき、プロセッサは、アドレス、読み出し又は書き込み指示、及びユーザID(例えば、ユーザ/管理者)を送信する。B個の上位アドレスビットがMSASに入力される。
【0028】
入力アドレスビットに応じて、MSASはメモリ中のどのセグメントがアクセスされるかを決定し、対応する許可コードをMACへ送信する。1つの実施形態において、ベースフィールドと入力アドレスビットの両方がセクションサイズに基づいてマスクされたとき、MSASはベースフィールドが入力アドレスビットに等しいエントリを見つけ出す(以下に図3を参照して説明する)。
【0029】
コンピュータ200は、メモリへのアクセスを許可又は禁止するよう構成されたメモリアクセス制御(MAC)回路204を更に含む。MACは、MSASが送信したプロセッサによってアドレス指定されるセクションに対応する許可コードを確認し、許可コード、ユーザID、及び読み出し又は書き込み入力に基づいてアクセスを許可するか決定する。アクセスが許可されなかった場合、MACは、例えば、書き込み動作を阻止するため無効(Disable)信号をゲート206に送信することにより、及び/又は、読み出し動作を阻止するためDisable信号をゲート208に送信することにより、アクセスを防止する。追加的に又は代替的に、MACはアボート(Abort)信号をプロセッサへ送信してよい。
【0030】
図2に表し上記で説明したコンピュータ200の構成は、概念の明確化のために用いた例である。代替的な実施形態において、他の構成が用いられてよい。例えば、いくつかの実施形態において、メモリ102はフラッシュメモリといった不揮発性メモリ(NVM)を含んでよく、プロセッサ202が送信するアクセスタイプは、読み出し、プログラム、消去を含んでよい(許可コードは対応して改変される)。いくつかの実施形態において、メモリ102は異なるセクションサイズを有する複数のメモリを含んでよい。実施形態において、メモリは外部ソース(例えばインサーキットデバッガ)によりアクセスされることもでき、ユーザIDタイプは1つ以上の外部ユーザIDタイプを含んでよい。
【0031】
アドレスのセクションへのマッチング
実施形態において、セクションサイズは2の整数乗であり、セクションのベースアドレスは対応するセクションサイズの整数倍に制限され、この制限は所与のアクセスアドレスの目標セグメントの発見を簡略化する。
【0032】
図1に表した構成例において、プロセッサが送信したNビットアドレスAがBビットベースアドレスフィールドBA及びセグメントサイズSを有するセグメントkにアクセスするかを調べるため、セクション指定ビットと呼ばれるAの上位ビット及びBAの上位ビットのみが比較され、t=B-(lg(S)-L)である。例えば、ベースアドレスフィールドが0x08(図1のMSAS104のエントリ5)でありセグメントサイズが32Kであり、t=5(15-12)=2である場合、アドレスがセクション5に含まれるかを調べるためには、僅かにセクションの2つの上位ビットを比較すればよい。
【0033】
図3は、本発明の1つの実施形態によるMSAS104を概略的に表すブロック図である。MSASは複数のセクションエントリ302を含む。各セクションエントリは、対応するセクションのベースフィールドを格納するベースアドレスストア304と、セクションのためのビット比較マスクを格納するサイズマスクストア306とを含む。ビット比較マスクは、論理0に設定された(lg(S)-L)個の最下位ビットと論理1に設定された残りの(上位)ビットとを含む。(サイズは常に2の整数乗であることから、異なるサイズの数はBに等しい(例えば、4K、8K、16K、32K、64K、128K)ことに注意されたい。いくつかの実施形態において、サイズマスクストアはセグメントサイズの符号化を含み、lg(B)ビットを要する。例えば、4Kは0b000に、8Kは0b001に、16Kは010に、32Kは011に、64Kは101に、128Kは111に符号化される。この配置はストレージビットを節約するが、ビットマスクを生成するために復号化ロジックを要する。
【0034】
ANDゲート308(B個のゲートの総計)は、プロセッサが送信したアドレスのB個の上位ビットのそれぞれと、ビットマスクの対応するビットで論理AND演算を実行し、ANDゲート310(B個のゲート)は、ベースフィールドビットとビットマスクの対応するビットで論理AND演算を実行する(いくつかの実施形態において、ベースアドレスストア304はB個のビットを含み、(lg(S)-L)個の最小ビットは論理0に設定され、よってゲート310を必要としない)。
【0035】
ゲート308及びゲート310のB個のビット出力はB個の排他的論理和(XOR)ゲート312に入力される。各XORゲートは、一対のアドレスビットを対応するベースフィールドビットと比較する。次いで、全てのマスクされていないA[16:12]アドレスビットがマスクされていないベースフィールドビットと等しい場合、ANDゲート314は単一の一致指示(Match indication)を生成する。
【0036】
図3に表した例示的な実施形態によると、許可テーブル316はセクションの許可を格納する(図1のMSAS104テーブル中のP0~P19)。エントリ302のうちの1つが一致を示した場合、許可テーブルは対応する許可コードをMAC204(図2)へ送信し、MAC204は該許可を現在のアクセスに適用する。
【0037】
図3に表し上記で説明したMSAS104の構成は実施の例として引用した一例である。代替的な実施形態において他の構成が用いられてもよい。例えば、いくつかの実施形態において、MSAS104は、上述したマスク比較を実行するよう構成された連想メモリ(CAM)を含む。他の実施形態において、許可コードは対応するエントリ302に格納される。更に他の実施形態において、各エントリは、例えば再マッピング情報(図4を参照して以下で説明する)及び/又は摩耗測定(wear measure)(NVMメモリにて使用するため)を含む他のビットを格納してよい。
【0038】
セグメント再マッピング
コンピュータシステムは時々、例えば仮想メモリをサポートするため、又はコード再利用を許可するため、メモリ再マッピングを行うことができる。本発明による実施形態はメモリ再マッピングをサポートし、ユーザ(典型的にオペレーティングシステム)は、プロセッサが送信したセグメントの、メモリ中の異なるセグメントへの再マッピングを定義する(ユーザメモリは論理メモリと呼ばれることが多く、実際のメモリは物理メモリと呼ばれる)。セグメントは典型的に同一サイズであるが、いくつかの実施形態において、プロセッサがアクセスするセクションはより大きなセクションの下部に再マッピングされてよい(例えば、セキュリティ上の理由によりセクションの一部のみへのアクセスを許可するため)。
【0039】
図4は、本発明の1つの実施形態によるコンピュータメモリの1つのセクション再マッピング例400を概略的に表すブロック図である。MSAS104は、各エントリのための再マッピングフィールドを含み、これはプロセッサ202のアクセスが指向するメモリ102中のセクションを示す。
【0040】
図4に表した構成例において、MSASはプロセッサがアクセスした論理メモリ中のセグメントを物理メモリ中の同一サイズのセグメントに再マッピングする。例えば、エントリ2中のベースフィールド=0x04の4Kセクションは、ベースフィールド=0x1Fの同一サイズのセクションに再マッピングされる。セクションによっては(例えば、エントリ5中のセクション)は再マッピングされない。いくつかの実施形態において、実装を容易にするため、再マッピングされないセクションは同一のベースアドレスに再マッピングされる。
【0041】
図5は、本発明の1つの実施形態によるセクション再マッピングを有するコンピュータ500を概略的に表すブロック図である。図2に表したコンピュータ200のように、コンピュータ500は、プロセッサ202と、メモリ102と、MAC204戸を含む。ただし、コンピュータ500はMSAS504を含み、MSAS504はプロセッサ202がアクセスするセクションを、MSAS504が含む再マッピングエントリに基づいてメモリ102中のセクションに再マッピングするよう構成される。
【0042】
MSAS504は、MSAS104(図2)のように、B個の上位アドレスビットを受信し、アクセスすべきメモリ中のセグメントを見つけ、対応する許可コードをMACへ送信するよう構成される。MSAS504は、MSAS104とは異なり、B個の上位ビットを、該B個の入力ビットとは異なるメモリ中のベースアドレスに再マッピングするよう更に構成される。よって、MSASはプロセッサ202がアクセスするセクションを再マッピングすることが可能である(MAC204、ゲート206、及びゲート208を含む、コンピュータ500の他のユニットは、同一ユニット数を有するコンピュータ200の対応するユニットと同一である)。
【0043】
図6は、本発明の1つの実施形態によるメモリセグメンテーションの方法を概略的に表すフロー図である。該フロー図はMSAS504とMAC204(図5)によって実行される。
【0044】
フロー図はメモリアクセス動作602から始まり、プロセッサ202が開始するメモリアクセス要求に加えて、MSASは上位アドレスビットを受信し、MACはユーザIDコード(例えば、ユーザ/管理者)及び読み出し/書き込み指示(例えば、読み出し入力と書き込み入力)を受信する。
【0045】
次に、セクション検索動作604にて、MSASはセグメントサイズS×2及びベースアドレスフィールドBAのセクションを検索し、アドレスビットのt個の最上位ビットはベースアドレスフィールドBAと等しく、t=B-(lg(S)-L)である。
【0046】
フロー図はここで許可取得動作606に進入し、MSASはセグメントkに対応する許可コードPをMACへ出力する。次に、アクセス許可/拒否動作606にて、MACはプロセッサが送信したユーザID指示と読み出し/書き込み指示をMSASが送信した許可コードに対して確認する。アクセスを許可しない場合、MACはアボート信号をプロセッサへ送信する、及び/又は、メモリアクセスを禁止する(例えば、ゲート206、208へ無効指示を送信することによる)。
【0047】
動作608にてMACがアクセスを許可した場合、フロー図は再マッピング動作610に進入し、t個の最上位ビットを改変することによりアクセスを再マッピングする。
【0048】
動作610の後、フロー図は終了する。
【0049】
図6に表し上記で説明したフロー図600の構成は、1つの構成例である。代替的な実施形態において他のフロー図が用いられてよい。例えば、1つの実施形態において、MSASはアボート信号を送信しなくてよい(ただし、メモリアクセスは阻止する)。もう1つの例において、再マッピングは実施されず、フロー図は動作608の後に終了する。
【0050】
MAC204と、MSAS104と、セクションエントリ302とを含むコンピュータシステム200の構成、及び図1図6に表し上記で説明したフロー図600の方法は、単純に概念の明確化のために示した構成例及びフロー図である。代替的な実施形態において、他の適切な構成及びフロー図が用いられてよい。
【0051】
MAC204、MSAS104、及びそれらのサブユニットを含む、コンピュータシステム200の異なるサブユニットは、1つ以上の特定用途向け集積回路(ASIC)又はフィールドプログラマブルゲートアレイ(FPGA)といった適切なハードウェアを用いて、ソフトウェアを用いて、又はハードウェアとソフトウェアを用いて実装されてよい。
【0052】
プロセッサ202は、ここで説明した機能を実行するようソフトウェアにおいてプログラムされた1つ以上の汎用プロセッサを含んでよい。ソフトウェアは、ネットワークを介して、又はホストから、電子形態でプロセッサにダウンロードされてよい、又は、代替的又は追加的に、磁気、光学、又は電子メモリといった非一時的な有形媒体に提供及び/又は格納されてよい。
【0053】
上記で説明した実施形態は例として引用したものであり、本発明は上記で特に図示し説明したものに限定されないことを理解されたい。むしろ、本発明の範囲は上述した様々な特徴の組合せと副次的組合せの両方、並びに先行技術に開示されていない上記説明を読んで当業者が想到するであろうそれらの変形及び改変が含まれる。本特許出願に参照により組み入れられた文書は本出願の不可欠な部分とみなされるものであり、本明細書において明示的又は黙示的に成された定義と矛盾する形でこれらの組み入れられた文書内で定義された用語については、本明細書の定義を考慮すべきである。
【産業上の利用可能性】
【0054】
本発明のコンピュータメモリシステム及びメモリセグメンテーションのための方法は、メモリデバイスにおいて応用することができる。
【符号の説明】
【0055】
100:コンピュータメモリシステム
102:メモリ
104、504:メモリセクション属性ストレージ
200:コンピュータ
202:プロセッサ
204:メモリアクセス制御回路
206、208:ゲート
302:セクションエントリ
304:ベースアドレスストア
306:サイズマスクストア
308、310:ANDゲート
312:XORゲート
314:ANDゲート
316:許可テーブル
400:セクション再マッピング
500:コンピュータ
600:フロー図
602:メモリアクセス取得動作
604:セクション検索動作
606:許可取得動作
608:アクセス許可/拒否動作
610:再マッピング動作
図1
図2
図3
図4
図5
図6
【外国語明細書】