JP2012113721A - メモリシステム - Google Patents
メモリシステム Download PDFInfo
- Publication number
- JP2012113721A JP2012113721A JP2011257814A JP2011257814A JP2012113721A JP 2012113721 A JP2012113721 A JP 2012113721A JP 2011257814 A JP2011257814 A JP 2011257814A JP 2011257814 A JP2011257814 A JP 2011257814A JP 2012113721 A JP2012113721 A JP 2012113721A
- Authority
- JP
- Japan
- Prior art keywords
- address
- virtual address
- memory
- virtual
- page table
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Granted
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F12/00—Accessing, addressing or allocating within memory systems or architectures
- G06F12/02—Addressing or allocation; Relocation
- G06F12/08—Addressing or allocation; Relocation in hierarchically structured memory systems, e.g. virtual memory systems
- G06F12/10—Address translation
- G06F12/1027—Address translation using associative or pseudo-associative address translation means, e.g. translation look-aside buffer [TLB]
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F12/00—Accessing, addressing or allocating within memory systems or architectures
- G06F12/02—Addressing or allocation; Relocation
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F12/00—Accessing, addressing or allocating within memory systems or architectures
- G06F12/02—Addressing or allocation; Relocation
- G06F12/06—Addressing a physical block of locations, e.g. base addressing, module addressing, memory dedication
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F12/00—Accessing, addressing or allocating within memory systems or architectures
- G06F12/02—Addressing or allocation; Relocation
- G06F12/08—Addressing or allocation; Relocation in hierarchically structured memory systems, e.g. virtual memory systems
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F12/00—Accessing, addressing or allocating within memory systems or architectures
- G06F12/02—Addressing or allocation; Relocation
- G06F12/08—Addressing or allocation; Relocation in hierarchically structured memory systems, e.g. virtual memory systems
- G06F12/0802—Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches
- G06F12/0864—Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches using pseudo-associative means, e.g. set-associative or hashing
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F12/00—Accessing, addressing or allocating within memory systems or architectures
- G06F12/02—Addressing or allocation; Relocation
- G06F12/08—Addressing or allocation; Relocation in hierarchically structured memory systems, e.g. virtual memory systems
- G06F12/10—Address translation
- G06F12/1009—Address translation using page tables, e.g. page table structures
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F12/00—Accessing, addressing or allocating within memory systems or architectures
- G06F12/02—Addressing or allocation; Relocation
- G06F12/08—Addressing or allocation; Relocation in hierarchically structured memory systems, e.g. virtual memory systems
- G06F12/10—Address translation
- G06F12/1027—Address translation using associative or pseudo-associative address translation means, e.g. translation look-aside buffer [TLB]
- G06F12/1036—Address translation using associative or pseudo-associative address translation means, e.g. translation look-aside buffer [TLB] for multiple virtual address spaces, e.g. segmentation
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Memory System Of A Hierarchy Structure (AREA)
Abstract
【解決手段】仮想アドレスを入力されて、仮想アドレスとマッチングするTLBエントリーをTLB中から検索するアドレス変換ユニットと、アドレス変換ユニットと連結され、仮想アドレスとマッチングするTLBエントリーがない場合、仮想アドレスに対応する物理的アドレスが連続的マッピング領域にあるか否かを判断するページテーブルワークユニットと、を含む。
【選択図】図1
Description
また、前記ページテーブルワークユニットは、前記調整された仮想アドレス管理サイズを前記アドレス変換ユニットに伝達しうる。
また、前記アドレス変換ユニットは、前記調整された仮想アドレス管理サイズに従って前記TLBエントリーを割り当てて以後のデータを検索しうる。
また、本メモリシステムは、メモリをさらに含みうる。
また、前記ページテーブルワークユニットは、インターフェースを経由して、前記メモリにアクセスし、その結果持ってきた前記仮想アドレスに対応する物理的アドレスが連続的マッピング領域にある場合、前記仮想アドレス管理サイズを調整しうる。
また、前記メモリは、前記仮想アドレスを物理的アドレスにマッピングするページテーブルを含みうる。
また、前記ページテーブルワークユニットは、複数のTIBエントリーからなるTIB(Translation Information Buffer)を含み、前記TIBエントリーは、仮想ページスタートアドレス、仮想ページエンドアドレス、及び物理的アドレス情報を含みうる。
また、前記ページテーブルワークユニットは、前記メモリにアクセスして持って来た物理的アドレス情報と前記仮想アドレスに対応する物理的アドレス情報とが連続的マッピング領域にあるか否かを、前記仮想ページエンドアドレスを用いて判断しうる。
また、前記ページテーブルワークユニットは、前記仮想アドレス管理サイズ及び前記調整された仮想アドレス管理サイズを保存しうる。
また、本メモリシステムは、前記アドレス変換ユニットに仮想アドレスを提供する汎用レジスタを含みうる。
また、前記汎用レジスタは、前記仮想アドレスを発生させる複数のアドレスレジスタを含みうる。
前記MMUは、前記仮想アドレスを入力されて、前記仮想アドレスとマッチングするTLBエントリーを検索するアドレス変換ユニットと、前記アドレス変換ユニットと連結され、前記仮想アドレスとマッチングするTLBエントリーがない場合、前記仮想アドレスに対応する物理的アドレスが連続的マッピング領域にあるか否かを判断するページテーブルワークユニットと、を含む。
また、前記ページテーブルワークユニットは、インターフェースを経由して前記メモリにアクセスしうる。
また、前記メモリシステムの運用方法は、前記判断する段階以前に、前記仮想アドレスに対応する物理的アドレスを含むTLBエントリーを検索する段階をさらに含みうる。
また、前記メモリシステムの運用方法は、前記調整された仮想アドレス管理サイズに基づいてTLBエントリーを割り当てる段階を含みうる。
また、前記メモリシステムの運用方法は、前記TLBエントリーを検索する段階以前に、前記仮想アドレスを発生させる段階を含みうる。
また、調整前の仮想アドレス管理サイズは、4KBでありうる。
図1(A)は、本発明の一実施形態によるメモリシステムを示す図であり、図1(B)は、本発明の一実施形態によるメモリシステムをより具体的に示す図である。図2は、図1(B)のTLBを説明するための図であり、図3は、図2のTLBエントリー(Entry)を説明するための図である。図4は、図1(B)のTIBを説明するための図であり、図5は、図4のTIBエントリーを説明するための図である。
CPU250が、仮想アドレス(Virtual Address)を発生すると、MMU200は、前記仮想アドレスを物理的アドレスにマッピングしてメモリ150にアクセスする。
メモリ150は、前記仮想アドレスと物理的アドレスとを連結するテーブルであるページテーブル152を含む。
汎用レジスタ110は、複数のアドレスレジスタを含み、図1(B)では、その一例に該当するアドレスレジスタ112を図示する。
上記TLB122の検索に際しては、後述するように、ページテーブルワークユニット130から伝達された仮想アドレス管理サイズに従って複数のTLBエントリーを検索する。
当該物理的アドレスが連続的マッピング領域にある場合、ページテーブルワークユニット130は、当該連続的マッピング領域によって、即ち、当該物理的アドレスを含むように当該連続的マッピング領域を拡大し、当該拡大された連続的マッピング領域に合わせて、前記仮想アドレス管理サイズを調整(例えば、4KBを1MBに拡大調整)して当該TIBエントリー134をアップデートし、これをアドレス変換ユニット120に伝達し、アドレス変換ユニット120は、前記調整された仮想アドレス管理サイズに従ってTLBエントリー124を割り当て、以後このTLBエントリーを用いてデータを検索する。
図5を参照すると、TIBエントリー134は、仮想ページ開始アドレス(VPSA、Virtual Page Start Address)、仮想ページエンドアドレス(VPEA、Virtual Page End Address)、及び物理的アドレス情報(PPBA、Physical Page Basic Address)を保存し、メモリ150にアクセスして持って来た物理的アドレス情報とTIBエントリーに含まれる仮想アドレスに対応する物理的アドレス情報とが連続的マッピング領域をなすか否かを仮想ページエンドアドレスVPEAを用いて確認できる。
ページテーブル152は、複数のページテーブルエントリーを含み、その一例であるページテーブルエントリー(Page Table Entry)154を図示する。
110 汎用レジスタ
112 アドレスレジスタ
120 アドレス変換ユニット
122 TLB
124 TLBエントリー
130 ページテーブルワークユニット
132 TIB
134 TIBエントリー
140 インターフェース
150 メモリ
152 ページテーブル
154 ページテーブルエントリー
156 物理的ページ
200 MMU
250 CPU
Claims (10)
- 仮想アドレスを入力されて、前記仮想アドレスとマッチングするTLBエントリーをTLB(Translation Lookaside Buffer)中から検索するアドレス変換ユニットと、
前記アドレス変換ユニットと連結され、前記仮想アドレスとマッチングするTLBエントリーがない場合、仮想アドレスに対応する物理的アドレスが連続的マッピング領域にあるか否かを判断するページテーブルワークユニットと、
を含むことを特徴とするメモリシステム。 - 前記ページテーブルワークユニットは、
前記判断結果、前記仮想アドレスに対応する物理的アドレスが連続的マッピング領域にある場合、前記連続的マッピング領域によって、仮想アドレス管理サイズを調整し、
前記アドレス変換ユニットは、前記調整された仮想アドレス管理サイズに従って前記TLBエントリーを割り当てて以後のデータを検索することを特徴とする請求項1に記載のメモリシステム。 - メモリをさらに含み、
前記ページテーブルワークユニットは、インターフェースを経由して、前記メモリにアクセスし、その結果持ってきた前記仮想アドレスに対応する物理的アドレスが連続的マッピング領域にある場合、前記仮想アドレス管理サイズを調整することを特徴とする請求項2に記載のメモリシステム。 - 前記メモリは、
前記仮想アドレスを前記物理的アドレスにマッピングするページテーブルを含むことを特徴とする請求項3に記載のメモリシステム。 - 前記ページテーブルワークユニットは、複数のTIBエントリーからなるTIB(Translation Information Buffer)を含み、
前記TIBエントリーは、仮想ページスタートアドレス、仮想ページエンドアドレス、及び物理的アドレス情報を含み、
前記メモリにアクセスして持って来た物理的アドレス情報と前記仮想アドレスに対応する物理的アドレス情報とが連続的マッピング領域にあるか否かを、前記仮想ページエンドアドレスを用いて判断することを特徴とする請求項3に記載のメモリシステム。 - 前記アドレス変換ユニットに仮想アドレスを提供する汎用レジスタをさらに含むことを特徴とする請求項1に記載のメモリシステム。
- 前記汎用レジスタは、
前記仮想アドレスを発生させる複数のアドレスレジスタを含むことを特徴とする請求項6に記載のメモリシステム。 - 仮想アドレスを発生させるCPUと、
前記仮想アドレスを物理的アドレスにマッピングするページテーブルを含むメモリと、
前記CPUの前記メモリへのアクセスを管理し、前記CPUから前記仮想アドレスを入力されて前記物理的アドレスにマッピングするMMU(メモリ管理ユニット)と、を含み、
前記MMUは、前記メモリにアクセス可能であり、
前記MMUは、前記仮想アドレスを入力されて、前記仮想アドレスとマッチングするTLBエントリーを検索するアドレス変換ユニットと、
前記アドレス変換ユニットと連結され、前記仮想アドレスとマッチングするTLBエントリーがない場合、前記仮想アドレスに対応する物理的アドレスが連続的マッピング領域にあるか否かを判断するページテーブルワークユニットと、
を含むことを特徴とするメモリシステム。 - 前記ページテーブルワークユニットは、
前記判断結果、前記仮想アドレスに対応する物理的アドレスが連続的マッピング領域にある場合、前記連続的マッピング領域によって、前記仮想アドレス管理サイズを調整し、
前記調整された仮想アドレス管理サイズに従ってTLBエントリーを割り当ててデータを検索することを特徴とする請求項8に記載のメモリシステム。 - 前記ページテーブルワークユニットは、インターフェースを経由して前記メモリにアクセスすることを特徴とする請求項9に記載のメモリシステム。
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR10-2010-0118178 | 2010-11-25 | ||
KR1020100118178A KR101707927B1 (ko) | 2010-11-25 | 2010-11-25 | 메모리 시스템 및 그 운용방법 |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2012113721A true JP2012113721A (ja) | 2012-06-14 |
JP5945403B2 JP5945403B2 (ja) | 2016-07-05 |
Family
ID=46049903
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2011257814A Active JP5945403B2 (ja) | 2010-11-25 | 2011-11-25 | メモリシステム |
Country Status (4)
Country | Link |
---|---|
US (1) | US9015447B2 (ja) |
JP (1) | JP5945403B2 (ja) |
KR (1) | KR101707927B1 (ja) |
DE (1) | DE102011055097A1 (ja) |
Families Citing this family (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US10216642B2 (en) | 2013-03-15 | 2019-02-26 | International Business Machines Corporation | Hardware-based pre-page walk virtual address transformation where the virtual address is shifted by current page size and a minimum page size |
US20160103766A1 (en) * | 2013-07-01 | 2016-04-14 | Hewlett-Packard Development Company, L.P. | Lookup of a data structure containing a mapping between a virtual address space and a physical address space |
US10007435B2 (en) | 2015-05-21 | 2018-06-26 | Micron Technology, Inc. | Translation lookaside buffer in memory |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH11238015A (ja) * | 1998-02-24 | 1999-08-31 | Hitachi Ltd | プロセッサ装置 |
JP2002132581A (ja) * | 2000-10-25 | 2002-05-10 | Mitsubishi Electric Corp | メモリ管理機構 |
US20060212675A1 (en) * | 2005-03-17 | 2006-09-21 | Sartorius Thomas A | Method and system for optimizing translation lookaside buffer entries |
US20070094475A1 (en) * | 2005-10-20 | 2007-04-26 | Bridges Jeffrey T | Caching memory attribute indicators with cached memory data field |
US20090019253A1 (en) * | 2007-07-12 | 2009-01-15 | Brian Stecher | Processing system implementing variable page size memory organization |
Family Cites Families (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH05216763A (ja) | 1992-02-03 | 1993-08-27 | Pfu Ltd | 2段tlbを用いたアドレス変換方式 |
JPH1124995A (ja) | 1997-07-03 | 1999-01-29 | Nec Eng Ltd | アドレス変換用tlbアクセス制御方式 |
JP4116346B2 (ja) | 2002-07-05 | 2008-07-09 | 富士通株式会社 | 演算処理装置及びそのアドレス変換方法 |
KR101164420B1 (ko) | 2009-04-28 | 2012-07-12 | (주)모토닉 | 연료 펌프용 모터 구동장치의 mosfet 구동회로 |
-
2010
- 2010-11-25 KR KR1020100118178A patent/KR101707927B1/ko active IP Right Grant
-
2011
- 2011-11-07 DE DE201110055097 patent/DE102011055097A1/de active Pending
- 2011-11-23 US US13/303,395 patent/US9015447B2/en active Active
- 2011-11-25 JP JP2011257814A patent/JP5945403B2/ja active Active
Patent Citations (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH11238015A (ja) * | 1998-02-24 | 1999-08-31 | Hitachi Ltd | プロセッサ装置 |
JP2002132581A (ja) * | 2000-10-25 | 2002-05-10 | Mitsubishi Electric Corp | メモリ管理機構 |
US20060212675A1 (en) * | 2005-03-17 | 2006-09-21 | Sartorius Thomas A | Method and system for optimizing translation lookaside buffer entries |
KR20070113293A (ko) * | 2005-03-17 | 2007-11-28 | 퀄컴 인코포레이티드 | 변환 색인 버퍼 엔트리를 최적화하는 방법 및 시스템 |
JP2008533620A (ja) * | 2005-03-17 | 2008-08-21 | クゥアルコム・インコーポレイテッド | 変換索引緩衝器のエントリを最適化する方法およびシステム |
US20070094475A1 (en) * | 2005-10-20 | 2007-04-26 | Bridges Jeffrey T | Caching memory attribute indicators with cached memory data field |
KR20080063514A (ko) * | 2005-10-20 | 2008-07-04 | 콸콤 인코포레이티드 | 캐시된 메모리 데이터를 가진 메모리 속성 표시자의 캐시 |
JP2009512944A (ja) * | 2005-10-20 | 2009-03-26 | クゥアルコム・インコーポレイテッド | キャッシュされたメモリデータを伴うキャッシュメモリ属性インジケータ |
US20090019253A1 (en) * | 2007-07-12 | 2009-01-15 | Brian Stecher | Processing system implementing variable page size memory organization |
JP2009020881A (ja) * | 2007-07-12 | 2009-01-29 | Qnx Software Systems Gmbh & Co Kg | 可変のページサイズのメモリ編成を実装する処理システム |
Also Published As
Publication number | Publication date |
---|---|
US9015447B2 (en) | 2015-04-21 |
KR101707927B1 (ko) | 2017-02-28 |
DE102011055097A1 (de) | 2012-05-31 |
US20120137105A1 (en) | 2012-05-31 |
CN102567228A (zh) | 2012-07-11 |
KR20120056573A (ko) | 2012-06-04 |
JP5945403B2 (ja) | 2016-07-05 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US20210374069A1 (en) | Method, system, and apparatus for page sizing extension | |
US9858192B2 (en) | Cross-page prefetching method, apparatus, and system | |
US11048623B2 (en) | Memory controller including mapping tables to efficiently process an iteration command and a method of operating the same | |
US10997078B2 (en) | Method, apparatus, and non-transitory readable medium for accessing non-volatile memory | |
EP3276494B1 (en) | Memory space management | |
CN113934655B (zh) | 解决高速缓冲存储器地址二义性问题的方法和装置 | |
US20140115225A1 (en) | Cache management based on physical memory device characteristics | |
US8880845B2 (en) | Memory system and operating method thereof | |
JP2010134956A (ja) | 状況切換え環境中におけるアドレス変換技術 | |
JP5945403B2 (ja) | メモリシステム | |
JP2022063466A (ja) | メモリシステム及び情報処理システム | |
CN115061955A (zh) | 处理器、电子设备、地址翻译方法以及缓存页表项方法 | |
CN110362509B (zh) | 统一地址转换方法与统一地址空间 | |
US20130339658A1 (en) | Managing page table entries | |
JP6132010B2 (ja) | 制御装置、制御プログラム、および制御方法 | |
JP2024510127A (ja) | ページ再マッピングおよびローテーションによるアドレス空間配置のランダム化エントロピーの増大 | |
CN111897748A (zh) | 一种映射关系存储方法、读取方法、装置、设备及介质 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20141121 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20150115 |
|
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20151021 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20151027 |
|
A601 | Written request for extension of time |
Free format text: JAPANESE INTERMEDIATE CODE: A601 Effective date: 20160127 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20160223 |
|
TRDD | Decision of grant or rejection written | ||
A01 | Written decision to grant a patent or to grant a registration (utility model) |
Free format text: JAPANESE INTERMEDIATE CODE: A01 Effective date: 20160510 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20160530 |
|
R150 | Certificate of patent or registration of utility model |
Ref document number: 5945403 Country of ref document: JP Free format text: JAPANESE INTERMEDIATE CODE: R150 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |