JP2011509469A5 - - Google Patents
Download PDFInfo
- Publication number
- JP2011509469A5 JP2011509469A5 JP2010541762A JP2010541762A JP2011509469A5 JP 2011509469 A5 JP2011509469 A5 JP 2011509469A5 JP 2010541762 A JP2010541762 A JP 2010541762A JP 2010541762 A JP2010541762 A JP 2010541762A JP 2011509469 A5 JP2011509469 A5 JP 2011509469A5
- Authority
- JP
- Japan
- Prior art keywords
- translation
- address
- data block
- entry
- region
- 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
- 238000006243 chemical reaction Methods 0.000 claims 8
- 238000004590 computer program Methods 0.000 claims 3
- 230000001131 transforming Effects 0.000 claims 2
Claims (9)
- 仮想アドレスを、前記仮想アドレスの変換のために用いられる変換テーブル階層構造を有するマシン・アーキテクチャのコンピュータ・システムにおける主ストレージ内のデータ・ブロックの変換アドレスに変換するための方法であって、
変換すべき仮想アドレスを取得するステップと、
前記変換テーブル階層構造の変換テーブルの基点アドレスを取得するステップと、
前記仮想アドレスのインデックス部分を用いて、前記変換テーブル内のエントリを参照するステップと、
前記変換テーブル・エントリ内のフォーマット制御フィールドがイネーブルであるどうかを判定するステップと、
前記フォーマット制御フィールドがイネーブルであることに応答して、
前記変換テーブル・エントリから、主ストレージ内の大データ・ブロックのフレーム・アドレスを取得するステップと、
前記フレーム・アドレスを前記仮想アドレスのオフセット部分と組み合わせて、主ストレージ内の前記大データ・ブロックの所望のデータ・ブロックの変換アドレスを形成するステップであって、前記所望のデータ・ブロックが1つ又は複数のデータ・バイトから成るステップと、
前記変換アドレスによってアドレス指定された前記所望の大データ・ブロックにアクセスするステップと
を実施するステップと、
前記フォーマット制御フィールドがイネーブルでないことに応答して、
前記変換テーブル・エントリから、前記変換テーブル階層構造の別のテーブルの基点アドレスを取得するステップと、
前記仮想アドレスのインデックス部分を用いて、前記別のテーブル内のエントリを参照し、前記別のテーブル・エントリから、主ストレージ内の小データ・ブロックであって、前記大データ・ブロックより小さい小データ・ブロックの小フレーム・アドレスを取得するステップと、
前記小フレーム・アドレスを前記仮想アドレスのオフセット部分と組み合わせて、主ストレージ内の前記所望の小データ・ブロックの変換アドレスを形成するステップと、
前記変換アドレスによってアドレス指定された主ストレージ内の前記所望の小データ・ブロックにアクセスするステップと
を実施するステップと
を含む方法。 - 前記変換テーブル・エントリから、前記アクセスを前記大データ・ブロックの制限部分に限定するための制限情報を取得するステップと、
前記変換アドレスによってアドレス指定された前記所望の大データ・ブロックへの前記アクセスを、前記大データ・ブロックの前記制限部分のみに限定するステップと
をさらに含む、請求項1に記載の方法。 - 前記制限情報が、テーブル・オフセット又はテーブル長のうちのいずれか1つを含む、請求項2に記載の方法。
- 前記変換テーブル階層構造が、領域第2テーブルを位置決めするための領域第1テーブル・エントリを有する領域第1テーブル、領域第3テーブルを位置決めするための領域第2テーブル・エントリを有する領域第2テーブル、セグメント・テーブルを位置決めするための領域第3テーブル・エントリを有する領域第3テーブル、及びセグメント・テーブル・エントリを有するセグメント・テーブルのうちの1つ又は複数から成り、前記方法が、
前記変換テーブル階層構造の所定の変換テーブルから開始して、前記変換テーブル階層構造の1つ又は複数の変換テーブル・エントリを、イネーブルなフォーマット制御フィールドを有する変換テーブル・エントリが見つかるまで、逐次的に検索するステップをさらに含み、前記イネーブルなフォーマット制御フィールドを有する前記変換テーブル・エントリを有する前記変換テーブルの変換テーブル基点アドレスが、前記変換テーブル階層構造の前記変換テーブルの前記取得された基点アドレスである、請求項1に記載の方法。 - 前記仮想アドレスの前記変換に用いられた情報を、少なくとも1つの変換ルックアサイド・バッファ内にストアするステップと、
その後の仮想アドレスの、主ストレージ内の前記データ・ブロックの絶対アドレスへのそれ以降の変換を、前記変換テーブル階層構造ではなく前記変換ルックアサイド・バッファ由来の前記ストアされた情報を用いて実施するステップと
をさらに含む、請求項1に記載の方法。 - 前記変換が前記マシン・アーキテクチャに対してネイティブではないことに応答して、
前記変換をエミュレートするための所定のソフトウェア・ルーチンを識別するステップであって、前記所定のソフトウェア・ルーチンが複数の命令を含むステップと、
前記所定のソフトウェア・ルーチンを実行するステップと
をさらに含む、請求項1に記載の方法。 - 前記大データ・ブロックが、少なくとも1メガバイトのサイズのブロックを含む、請求項1に記載の方法。
- 方法に係る請求項1から請求項7のいずれか1項に記載の方法の全てのステップを実行するように適合された手段を備える、システム。
- コンピュータ・プログラムであって、前記コンピュータ・プログラムがコンピュータ・システム上で実行されるときに、請求項1から請求項7のいずれか1項に記載の方法の全てのステップをコンピュータに実行させるための、コンピュータ・プログラム。
Applications Claiming Priority (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US11/972,706 US8037278B2 (en) | 2008-01-11 | 2008-01-11 | Dynamic address translation with format control |
US11/972,706 | 2008-01-11 | ||
PCT/EP2009/050049 WO2009087132A1 (en) | 2008-01-11 | 2009-01-05 | Dynamic address translation with format control |
Publications (3)
Publication Number | Publication Date |
---|---|
JP2011509469A JP2011509469A (ja) | 2011-03-24 |
JP2011509469A5 true JP2011509469A5 (ja) | 2011-05-06 |
JP5602638B2 JP5602638B2 (ja) | 2014-10-08 |
Family
ID=40481750
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2010541762A Active JP5602638B2 (ja) | 2008-01-11 | 2009-01-05 | フォーマット制御を有する動的アドレス変換 |
Country Status (12)
Country | Link |
---|---|
US (1) | US8037278B2 (ja) |
EP (1) | EP2229630B1 (ja) |
JP (1) | JP5602638B2 (ja) |
KR (1) | KR101419578B1 (ja) |
CN (1) | CN101911022B (ja) |
CY (1) | CY1113979T1 (ja) |
DK (1) | DK2229630T3 (ja) |
ES (1) | ES2406056T3 (ja) |
PL (1) | PL2229630T3 (ja) |
PT (1) | PT2229630E (ja) |
SI (1) | SI2229630T1 (ja) |
WO (1) | WO2009087132A1 (ja) |
Families Citing this family (30)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US8677098B2 (en) | 2008-01-11 | 2014-03-18 | International Business Machines Corporation | Dynamic address translation with fetch protection |
US8103851B2 (en) * | 2008-01-11 | 2012-01-24 | International Business Machines Corporation | Dynamic address translation with translation table entry format control for indentifying format of the translation table entry |
US8417916B2 (en) * | 2008-01-11 | 2013-04-09 | International Business Machines Corporation | Perform frame management function instruction for setting storage keys and clearing blocks of main storage |
US8019964B2 (en) | 2008-01-11 | 2011-09-13 | International Buisness Machines Corporation | Dynamic address translation with DAT protection |
US8082405B2 (en) * | 2008-01-11 | 2011-12-20 | International Business Machines Corporation | Dynamic address translation with fetch protection |
US8041923B2 (en) | 2008-01-11 | 2011-10-18 | International Business Machines Corporation | Load page table entry address instruction execution based on an address translation format control field |
US8037278B2 (en) | 2008-01-11 | 2011-10-11 | International Business Machines Corporation | Dynamic address translation with format control |
US8117417B2 (en) | 2008-01-11 | 2012-02-14 | International Business Machines Corporation | Dynamic address translation with change record override |
US8041922B2 (en) * | 2008-01-11 | 2011-10-18 | International Business Machines Corporation | Enhanced dynamic address translation with load real address function |
US8151083B2 (en) | 2008-01-11 | 2012-04-03 | International Business Machines Corporation | Dynamic address translation with frame management |
US8335906B2 (en) * | 2008-01-11 | 2012-12-18 | International Business Machines Corporation | Perform frame management function instruction for clearing blocks of main storage |
US8086811B2 (en) | 2008-02-25 | 2011-12-27 | International Business Machines Corporation | Optimizations of a perform frame management function issued by pageable guests |
US8095773B2 (en) | 2008-02-26 | 2012-01-10 | International Business Machines Corporation | Dynamic address translation with translation exception qualifier |
US8239667B2 (en) * | 2008-11-13 | 2012-08-07 | Intel Corporation | Switching between multiple operating systems (OSes) using sleep state management and sequestered re-baseable memory |
US8782434B1 (en) | 2010-07-15 | 2014-07-15 | The Research Foundation For The State University Of New York | System and method for validating program execution at run-time |
US9811472B2 (en) * | 2012-06-14 | 2017-11-07 | International Business Machines Corporation | Radix table translation of memory |
US9092359B2 (en) | 2012-06-14 | 2015-07-28 | International Business Machines Corporation | Identification and consolidation of page table entries |
US9753860B2 (en) | 2012-06-14 | 2017-09-05 | International Business Machines Corporation | Page table entry consolidation |
US9063721B2 (en) | 2012-09-14 | 2015-06-23 | The Research Foundation For The State University Of New York | Continuous run-time validation of program execution: a practical approach |
US9069782B2 (en) | 2012-10-01 | 2015-06-30 | The Research Foundation For The State University Of New York | System and method for security and privacy aware virtual machine checkpointing |
US9652376B2 (en) | 2013-01-28 | 2017-05-16 | Radian Memory Systems, Inc. | Cooperative flash memory control |
US11249652B1 (en) | 2013-01-28 | 2022-02-15 | Radian Memory Systems, Inc. | Maintenance of nonvolatile memory on host selected namespaces by a common memory controller |
US10445229B1 (en) | 2013-01-28 | 2019-10-15 | Radian Memory Systems, Inc. | Memory controller with at least one address segment defined for which data is striped across flash memory dies, with a common address offset being used to obtain physical addresses for the data in each of the dies |
GB2514618B (en) * | 2013-05-31 | 2020-11-11 | Advanced Risc Mach Ltd | Data processing systems |
CN105745627B (zh) * | 2013-08-14 | 2019-03-15 | 西部数据技术公司 | 用于非易失性存储器存储设备的地址转换 |
US9542118B1 (en) * | 2014-09-09 | 2017-01-10 | Radian Memory Systems, Inc. | Expositive flash memory control |
US9514058B2 (en) * | 2014-12-22 | 2016-12-06 | Texas Instruments Incorporated | Local page translation and permissions storage for the page window in program memory controller |
EP3274824B1 (en) * | 2015-03-27 | 2021-03-17 | Intel Corporation | Efficient address translation |
US9658792B2 (en) * | 2015-06-11 | 2017-05-23 | International Business Machines Corporation | Reserving a storage area and building page frame table entries |
US11379371B2 (en) | 2019-11-07 | 2022-07-05 | Research & Business Foundation Sungkyunkwan University | Method and system with improved memory input and output speed |
Family Cites Families (45)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US4669043A (en) * | 1984-02-17 | 1987-05-26 | Signetics Corporation | Memory access controller |
US4972338A (en) * | 1985-06-13 | 1990-11-20 | Intel Corporation | Memory management for microprocessor system |
JPS6417137A (en) * | 1987-07-13 | 1989-01-20 | Nippon Telegraph & Telephone | Control system for large-capacity page |
JP2635058B2 (ja) * | 1987-11-11 | 1997-07-30 | 株式会社日立製作所 | アドレス変換方式 |
US5008811A (en) * | 1988-02-10 | 1991-04-16 | International Business Machines Corp. | Control mechanism for zero-origin data spaces |
US5058003A (en) * | 1988-12-15 | 1991-10-15 | International Business Machines Corporation | Virtual storage dynamic address translation mechanism for multiple-sized pages |
US5617554A (en) * | 1992-02-10 | 1997-04-01 | Intel Corporation | Physical address size selection and page size selection in an address translator |
WO1994027215A1 (en) * | 1993-05-07 | 1994-11-24 | Apple Computer, Inc. | Method for decoding guest instructions for a host computer |
US5551013A (en) * | 1994-06-03 | 1996-08-27 | International Business Machines Corporation | Multiprocessor for hardware emulation |
US5845331A (en) * | 1994-09-28 | 1998-12-01 | Massachusetts Institute Of Technology | Memory system including guarded pointers |
US5790825A (en) * | 1995-11-08 | 1998-08-04 | Apple Computer, Inc. | Method for emulating guest instructions on a host computer through dynamic recompilation of host instructions |
JPH10301848A (ja) * | 1997-04-28 | 1998-11-13 | Hitachi Ltd | 多重ページサイズを有する仮想記憶装置 |
US6009261A (en) * | 1997-12-16 | 1999-12-28 | International Business Machines Corporation | Preprocessing of stored target routines for emulating incompatible instructions on a target processor |
US6308255B1 (en) * | 1998-05-26 | 2001-10-23 | Advanced Micro Devices, Inc. | Symmetrical multiprocessing bus and chipset used for coprocessor support allowing non-native code to run in a system |
US6463582B1 (en) * | 1998-10-21 | 2002-10-08 | Fujitsu Limited | Dynamic optimizing object code translator for architecture emulation and dynamic optimizing object code translation method |
DE10002120B4 (de) * | 1999-02-13 | 2006-04-20 | International Business Machines Corp. | Adressumsetzpufferanordnung und Verfahren für den Betrieb einer Adressumsetzpufferanordnung |
US7069412B2 (en) * | 1999-02-17 | 2006-06-27 | Elbrus International | Method of using a plurality of virtual memory spaces for providing efficient binary compatibility between a plurality of source architectures and a single target architecture |
US6574706B2 (en) * | 2001-02-28 | 2003-06-03 | International Business Machines Corporation | Managing unvirtualized data pages in real storage |
US6985951B2 (en) * | 2001-03-08 | 2006-01-10 | International Business Machines Corporation | Inter-partition message passing method, system and program product for managing workload in a partitioned processing environment |
US7299243B2 (en) * | 2001-09-19 | 2007-11-20 | Bmc Software, Inc. | System and method for controlling free space distribution by key range within a database |
US7120746B2 (en) | 2002-09-09 | 2006-10-10 | International Business Machines Corporation | Technique for data transfer |
US7703097B2 (en) * | 2002-11-15 | 2010-04-20 | International Business Machines Corporation | Auto-commit processing in an IMS batch application |
US7020761B2 (en) * | 2003-05-12 | 2006-03-28 | International Business Machines Corporation | Blocking processing restrictions based on page indices |
US6996698B2 (en) * | 2003-05-12 | 2006-02-07 | International Business Machines Corporation | Blocking processing restrictions based on addresses |
US7284100B2 (en) | 2003-05-12 | 2007-10-16 | International Business Machines Corporation | Invalidating storage, clearing buffer entries, and an instruction therefor |
US7530067B2 (en) | 2003-05-12 | 2009-05-05 | International Business Machines Corporation | Filtering processor requests based on identifiers |
DE60311462T2 (de) * | 2003-09-19 | 2008-01-03 | Sun Microsystems, Inc., Santa Clara | Verfahren und Vorrichtung zur Protokollverarbeitung in Computersystemen unter Verwendung der Übersetzung von Speicheradressen |
US7234037B2 (en) | 2003-11-25 | 2007-06-19 | International Business Machines Corporation | Memory mapped Input/Output operations |
US7941799B2 (en) * | 2004-05-27 | 2011-05-10 | International Business Machines Corporation | Interpreting I/O operation requests from pageable guests without host intervention |
US8214622B2 (en) * | 2004-05-27 | 2012-07-03 | International Business Machines Corporation | Facilitating management of storage of a pageable mode virtual environment absent intervention of a host of the environment |
US8387049B2 (en) * | 2005-07-15 | 2013-02-26 | International Business Machines Corporation | Facilitating processing within computing environments supporting pageable guests |
US7464249B2 (en) | 2005-07-26 | 2008-12-09 | International Business Machines Corporation | System and method for alias mapping of address space |
JP4469783B2 (ja) * | 2005-11-28 | 2010-05-26 | 株式会社東芝 | メモリ保護装置、メモリ保護システムおよびメモリ保護方法 |
US8117417B2 (en) | 2008-01-11 | 2012-02-14 | International Business Machines Corporation | Dynamic address translation with change record override |
US8019964B2 (en) * | 2008-01-11 | 2011-09-13 | International Buisness Machines Corporation | Dynamic address translation with DAT protection |
US8151083B2 (en) | 2008-01-11 | 2012-04-03 | International Business Machines Corporation | Dynamic address translation with frame management |
US8041922B2 (en) | 2008-01-11 | 2011-10-18 | International Business Machines Corporation | Enhanced dynamic address translation with load real address function |
US8037278B2 (en) | 2008-01-11 | 2011-10-11 | International Business Machines Corporation | Dynamic address translation with format control |
US8103851B2 (en) | 2008-01-11 | 2012-01-24 | International Business Machines Corporation | Dynamic address translation with translation table entry format control for indentifying format of the translation table entry |
US8417916B2 (en) | 2008-01-11 | 2013-04-09 | International Business Machines Corporation | Perform frame management function instruction for setting storage keys and clearing blocks of main storage |
US8335906B2 (en) * | 2008-01-11 | 2012-12-18 | International Business Machines Corporation | Perform frame management function instruction for clearing blocks of main storage |
US8041923B2 (en) | 2008-01-11 | 2011-10-18 | International Business Machines Corporation | Load page table entry address instruction execution based on an address translation format control field |
US8082405B2 (en) | 2008-01-11 | 2011-12-20 | International Business Machines Corporation | Dynamic address translation with fetch protection |
US8677098B2 (en) | 2008-01-11 | 2014-03-18 | International Business Machines Corporation | Dynamic address translation with fetch protection |
US8095773B2 (en) * | 2008-02-26 | 2012-01-10 | International Business Machines Corporation | Dynamic address translation with translation exception qualifier |
-
2008
- 2008-01-11 US US11/972,706 patent/US8037278B2/en active Active
-
2009
- 2009-01-05 EP EP09700213A patent/EP2229630B1/en active Active
- 2009-01-05 PL PL09700213T patent/PL2229630T3/pl unknown
- 2009-01-05 DK DK09700213.3T patent/DK2229630T3/da active
- 2009-01-05 CN CN200980102001.4A patent/CN101911022B/zh active Active
- 2009-01-05 PT PT97002133T patent/PT2229630E/pt unknown
- 2009-01-05 KR KR1020107015300A patent/KR101419578B1/ko active IP Right Grant
- 2009-01-05 ES ES09700213T patent/ES2406056T3/es active Active
- 2009-01-05 JP JP2010541762A patent/JP5602638B2/ja active Active
- 2009-01-05 WO PCT/EP2009/050049 patent/WO2009087132A1/en active Application Filing
- 2009-01-05 SI SI200930587T patent/SI2229630T1/sl unknown
-
2013
- 2013-05-02 CY CY20131100366T patent/CY1113979T1/el unknown
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP2011509469A5 (ja) | ||
JP6567618B2 (ja) | ページ属性サポートのある仮想アドレスから物理アドレスへの変換 | |
US9858192B2 (en) | Cross-page prefetching method, apparatus, and system | |
JP2011509470A5 (ja) | ||
US8386749B2 (en) | Address mapping in virtualized processing system | |
US9405703B2 (en) | Translation lookaside buffer | |
KR101694591B1 (ko) | 보다 적은 비트들로 프로세서 콘텍스트를 나타내기 위한 방법 및 장치 | |
CN111061655B (zh) | 存储设备的地址转换方法与设备 | |
JP2011513808A5 (ja) | ||
JP2006526203A5 (ja) | ||
US20070094476A1 (en) | Updating multiple levels of translation lookaside buffers (TLBs) field | |
US11334499B2 (en) | Method for locating metadata | |
JP2017516228A5 (ja) | ||
WO2014201998A1 (zh) | 一种tlb管理方法及装置 | |
JP2009535725A5 (ja) | ||
JP2007233615A (ja) | アドレス変換装置 | |
WO2019022875A1 (en) | ACCURATE INVALIDATION OF VIRTUALLY LABELED COVERS | |
US9329994B2 (en) | Memory system | |
WO2019011311A1 (zh) | 数据访问方法及装置 | |
CN113986775B (zh) | 一种risc-v cpu验证中页表项生成方法、系统及装置 | |
WO2018077219A1 (zh) | 内存管理方法及系统 | |
CN115061955A (zh) | 处理器、电子设备、地址翻译方法以及缓存页表项方法 | |
CN110362509B (zh) | 统一地址转换方法与统一地址空间 | |
US11474953B2 (en) | Configuration cache for the ARM SMMUv3 | |
US20190236076A1 (en) | Computer and cache control method |