JP2021005383A - データにアクセスするための方法、装置、機器及び媒体 - Google Patents
データにアクセスするための方法、装置、機器及び媒体 Download PDFInfo
- Publication number
- JP2021005383A JP2021005383A JP2020110078A JP2020110078A JP2021005383A JP 2021005383 A JP2021005383 A JP 2021005383A JP 2020110078 A JP2020110078 A JP 2020110078A JP 2020110078 A JP2020110078 A JP 2020110078A JP 2021005383 A JP2021005383 A JP 2021005383A
- Authority
- JP
- Japan
- Prior art keywords
- address
- range
- memory
- identifier
- virtual machine
- 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
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0628—Interfaces specially adapted for storage systems making use of a particular technique
- G06F3/0655—Vertical data movement, i.e. input-output transfer; data movement between one or more hosts and one or more storage devices
- G06F3/0659—Command handling arrangements, e.g. command buffers, queues, command scheduling
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/44—Arrangements for executing specific programs
- G06F9/455—Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
- G06F9/45533—Hypervisors; Virtual machine monitors
- G06F9/45558—Hypervisor-specific management and integration aspects
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/44—Arrangements for executing specific programs
- G06F9/455—Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
- G06F9/45533—Hypervisors; Virtual machine monitors
- G06F9/4555—Para-virtualisation, i.e. guest operating system has to be modified
-
- 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
- G06F12/10—Address translation
- G06F12/109—Address translation for multiple virtual address spaces, e.g. segmentation
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F12/00—Accessing, addressing or allocating within memory systems or architectures
- G06F12/14—Protection against unauthorised use of memory or access to memory
- G06F12/1416—Protection against unauthorised use of memory or access to memory by checking the object accessibility, e.g. type of access defined by the memory independently of subject rights
- G06F12/145—Protection against unauthorised use of memory or access to memory by checking the object accessibility, e.g. type of access defined by the memory independently of subject rights the protection being virtual, e.g. for virtual blocks or segments before a translation mechanism
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F12/00—Accessing, addressing or allocating within memory systems or architectures
- G06F12/14—Protection against unauthorised use of memory or access to memory
- G06F12/1458—Protection against unauthorised use of memory or access to memory by checking the subject access rights
- G06F12/1483—Protection against unauthorised use of memory or access to memory by checking the subject access rights using an access-table, e.g. matrix or list
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0602—Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
- G06F3/0604—Improving or facilitating administration, e.g. storage management
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0628—Interfaces specially adapted for storage systems making use of a particular technique
- G06F3/0629—Configuration or reconfiguration of storage systems
- G06F3/0631—Configuration or reconfiguration of storage systems by allocating resources to storage systems
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0668—Interfaces specially adapted for storage systems adopting a particular infrastructure
- G06F3/0671—In-line storage system
- G06F3/0673—Single storage device
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F12/00—Accessing, addressing or allocating within memory systems or architectures
- G06F12/14—Protection against unauthorised use of memory or access to memory
- G06F12/1458—Protection against unauthorised use of memory or access to memory by checking the subject access rights
- G06F12/1466—Key-lock mechanism
- G06F12/1475—Key-lock mechanism in a virtual system, e.g. with translation means
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/44—Arrangements for executing specific programs
- G06F9/455—Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
- G06F9/45533—Hypervisors; Virtual machine monitors
- G06F9/45558—Hypervisor-specific management and integration aspects
- G06F2009/45579—I/O management, e.g. providing access to device drivers or storage
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/44—Arrangements for executing specific programs
- G06F9/455—Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
- G06F9/45533—Hypervisors; Virtual machine monitors
- G06F9/45558—Hypervisor-specific management and integration aspects
- G06F2009/45583—Memory management, e.g. access or allocation
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/44—Arrangements for executing specific programs
- G06F9/455—Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
- G06F9/45533—Hypervisors; Virtual machine monitors
- G06F9/45558—Hypervisor-specific management and integration aspects
- G06F2009/45587—Isolation or security of virtual machine instances
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2212/00—Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
- G06F2212/10—Providing a specific technical effect
- G06F2212/1032—Reliability improvement, data loss prevention, degraded operation etc
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2212/00—Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
- G06F2212/10—Providing a specific technical effect
- G06F2212/1052—Security improvement
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2212/00—Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
- G06F2212/65—Details of virtual memory and virtual address translation
- G06F2212/657—Virtual address space management
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Software Systems (AREA)
- Human Computer Interaction (AREA)
- Computer Security & Cryptography (AREA)
- Mathematical Physics (AREA)
- Storage Device Security (AREA)
- Memory System Of A Hierarchy Structure (AREA)
Abstract
Description
ここで、Idは仮想機能の識別子を表し、Vldはブロックが有効であるか否かを表し、1は有効であり、0は無効であり、baseはブロックの開始番号を表し、その値の範囲は0〜(2*VF_MAX_NUM−1)であり、Sizeはブロックのサイズ、粒度の数を表し、値の範囲は0〜(2*VF_MAX_NUM−1)であり、VF_MAX_NUMは、サポートされる仮想機能VFの最大数を表す。柔軟性を向上させるために、細分化された粒度は、平均値の半分、すなわち1/(2*VF_MAX_NUM)であり、粒度は1/8(すなわちVF_MAX_NUM=4)である。
Claims (14)
- コンピューティングデバイスの仮想マシンに対応する仮想機能の識別子と、前記仮想マシンがアクセスしようとするメモリ内の前記データに関連するアドレスとを取得するステップであって、前記仮想機能の識別子及び前記アドレスは、受信された、前記コンピューティングデバイスの仮想マシンからのアクセス要求に基づいて決定されるステップと、
前記識別子に基づいて、前記仮想マシンに対応する前記メモリ内のストレージリソースの範囲を決定するステップと、
前記アドレスが前記範囲内にあるか否かを判定するステップと、
前記アドレスが前記範囲内にあると判定されたことに応答して、前記アドレスに関連する前記データにアクセスするステップと、を含むことを特徴とする、データにアクセスするための方法。 - 前記方法は、
前記アドレスが前記範囲内にないと判定されたことに応答して、エラーメッセージをリターンするステップをさらに含むことを特徴とする、請求項1に記載の方法。 - 前記エラーメッセージは、デコードエラーを示すことを特徴とする、請求項2に記載の方法。
- 前記アドレスに関連するデータをアクセスするステップは、
前記識別子に基づいて、前記ストレージリソースの開始物理的アドレスを決定するステップと、
前記開始物理的アドレス及び前記アドレスに基づいて、前記アドレスに対応する物理的ストレージアドレスを決定するステップと、
前記物理的ストレージアドレスに対応する前記データにアクセスするステップと、を含むことを特徴とする、請求項1に記載の方法。 - 前記方法は、
物理的機能を介して送信された、前記識別子と前記ストレージリソースの前記範囲とのマッピング関係を設定するための要求を受信したことに応答して、前記メモリに関連するレジスタ内に前記マッピング関係を記憶するステップをさらに含むことを特徴とする、請求項1に記載の方法。 - 前記方法は、前記コンピューティングデバイスと通信可能に結合されたシステムオンチップ(SoC)で実行されることを特徴とする、請求項1に記載の方法。
- コンピューティングデバイスの仮想マシンに対応する仮想機能の識別子と、前記仮想マシンがアクセスしようとするメモリ内の前記データに関連するアドレスとを取得するように構成される取得モジュールであって、前記仮想機能の識別子及び前記アドレスは、受信された、前記コンピューティングデバイスの仮想マシンからのアクセス要求に基づいて決定される取得モジュールと、
前記識別子に基づいて、前記仮想マシンに対応する前記メモリ内のストレージリソースの範囲を決定するように構成される範囲決定モジュールと、
前記アドレスが前記範囲内にあるか否かを判定するように構成されるアドレス比較モジュールと、
前記アドレスが前記範囲内にあると判定されたことに応答して、前記アドレスに関連する前記データにアクセスするように構成される第1のアクセスモジュールと、を含むことを特徴とする、データにアクセスするための装置。 - 前記装置は、
前記アドレスが前記範囲内にないと判定されたことに応答して、エラーメッセージをリターンするように構成されるリターンモジュールをさらに含むことを特徴とする、請求項7に記載の装置。 - 前記エラーメッセージは、デコードエラーを示すことを特徴とする、請求項8に記載の装置。
- 前記第1のアクセスモジュールは、
前記識別子に基づいて、前記ストレージリソースの開始物理的アドレスを決定するように構成される開始物理的アドレス決定モジュールと、
前記開始物理的アドレス及び前記アドレスに基づいて、前記アドレスに対応する物理的ストレージアドレスを決定するように構成される物理的ストレージアドレス決定モジュールと、
前記物理的ストレージアドレスに対応する前記データにアクセスするように構成される第2のアクセスモジュールと、を含むことを特徴とする、請求項7に記載の装置。 - 前記装置は、
物理的機能を介して送信された、前記識別子と前記ストレージリソースの前記範囲とのマッピング関係を設定するための要求を受信したことに応答して、前記メモリに関連するレジスタに前記マッピング関係を記憶するように構成される記憶モジュールをさらに含むことを特徴とする、請求項7に記載の装置。 - 前記装置は、前記コンピューティングデバイスと通信可能に結合されたシステムオンチップ(SoC)上にあることを特徴とする、請求項7に記載の装置。
- 一つ又は複数のプロセッサと、
一つ又は複数のプログラムを記憶するための記憶装置と、を含み、
前記一つ又は複数のプログラムが前記一つ又は複数のプロセッサによって実行される場合に、前記一つ又は複数のプロセッサが、請求項1から6のいずれかに記載の方法を実現することを特徴とする、電子機器。 - コンピュータプログラムが記憶されているコンピュータ読み取り可能な記憶媒体であって、
前記プログラムがプロセッサによって実行される場合に、請求項1から6のいずれかに記載の方法が実現されることを特徴とする、コンピュータ読み取り可能な記憶媒体。
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910560713.6 | 2019-06-26 | ||
CN201910560713.6A CN112148418A (zh) | 2019-06-26 | 2019-06-26 | 用于访问数据的方法、装置、设备和介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2021005383A true JP2021005383A (ja) | 2021-01-14 |
JP7044832B2 JP7044832B2 (ja) | 2022-03-30 |
Family
ID=69723796
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2020110078A Active JP7044832B2 (ja) | 2019-06-26 | 2020-06-26 | データにアクセスするための方法、装置、機器及び媒体 |
Country Status (5)
Country | Link |
---|---|
US (1) | US20200409603A1 (ja) |
EP (1) | EP3757782A1 (ja) |
JP (1) | JP7044832B2 (ja) |
KR (1) | KR102386495B1 (ja) |
CN (1) | CN112148418A (ja) |
Families Citing this family (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20220214902A1 (en) * | 2021-01-06 | 2022-07-07 | Baidu Usa Llc | Method for virtual machine migration with checkpoint authentication in virtualization environment |
US20220214903A1 (en) * | 2021-01-06 | 2022-07-07 | Baidu Usa Llc | Method for virtual machine migration with artificial intelligence accelerator status validation in virtualization environment |
CN112835842B (zh) * | 2021-03-05 | 2024-04-30 | 深圳市汇顶科技股份有限公司 | 端序处理方法、电路、芯片以及电子终端 |
US11789649B2 (en) * | 2021-04-22 | 2023-10-17 | Nvidia Corporation | Combined on-package and off-package memory system |
CN113485791B (zh) * | 2021-07-07 | 2022-06-03 | 上海壁仞智能科技有限公司 | 配置方法和访问方法、装置、虚拟化***和存储介质 |
CN113821174B (zh) * | 2021-09-26 | 2024-03-22 | 迈普通信技术股份有限公司 | 存储处理方法、装置、网卡设备及存储介质 |
CN114625484B (zh) * | 2022-03-31 | 2024-06-21 | 苏州浪潮智能科技有限公司 | 虚拟化实现方法、装置、电子设备、介质及arm平台 |
CN114756332A (zh) * | 2022-05-19 | 2022-07-15 | 阿里巴巴(中国)有限公司 | 基于虚拟机设备直通的数据访问方法、设备以及*** |
CN117591037B (zh) * | 2024-01-18 | 2024-05-03 | 山东云海国创云计算装备产业创新中心有限公司 | 一种虚拟化数据访问***、方法、装置及服务器 |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPS61160160A (ja) * | 1985-01-09 | 1986-07-19 | Hitachi Ltd | 仮想計算機システムにおけるアドレツシング制御装置 |
US20160292007A1 (en) * | 2015-03-31 | 2016-10-06 | Kabushiki Kaisha Toshiba | Apparatus and method of managing shared resources in achieving io virtualization in a storage device |
Family Cites Families (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20050246453A1 (en) * | 2004-04-30 | 2005-11-03 | Microsoft Corporation | Providing direct access to hardware from a virtual environment |
US8667196B2 (en) * | 2012-04-25 | 2014-03-04 | Lsi Corporation | Interconnect congestion reduction for memory-mapped peripherals |
CN107977251B (zh) * | 2016-10-21 | 2023-10-27 | 超威半导体(上海)有限公司 | 对在虚拟化***中的共享寄存器的排他访问 |
US10853113B2 (en) * | 2017-06-07 | 2020-12-01 | Dell Products L.P. | Hierarchically nested virtualized functions having a physical function providing processing requests and responses to each level of the hierarchy |
-
2019
- 2019-06-26 CN CN201910560713.6A patent/CN112148418A/zh active Pending
-
2020
- 2020-02-13 US US16/790,110 patent/US20200409603A1/en not_active Abandoned
- 2020-02-19 EP EP20158208.7A patent/EP3757782A1/en not_active Ceased
- 2020-02-20 KR KR1020200021234A patent/KR102386495B1/ko active IP Right Grant
- 2020-06-26 JP JP2020110078A patent/JP7044832B2/ja active Active
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPS61160160A (ja) * | 1985-01-09 | 1986-07-19 | Hitachi Ltd | 仮想計算機システムにおけるアドレツシング制御装置 |
US20160292007A1 (en) * | 2015-03-31 | 2016-10-06 | Kabushiki Kaisha Toshiba | Apparatus and method of managing shared resources in achieving io virtualization in a storage device |
Also Published As
Publication number | Publication date |
---|---|
JP7044832B2 (ja) | 2022-03-30 |
US20200409603A1 (en) | 2020-12-31 |
CN112148418A (zh) | 2020-12-29 |
KR20210001886A (ko) | 2021-01-06 |
KR102386495B1 (ko) | 2022-04-13 |
EP3757782A1 (en) | 2020-12-30 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP7044832B2 (ja) | データにアクセスするための方法、装置、機器及び媒体 | |
AU2014366097B2 (en) | Resource processing method, operating system, and device | |
JP5989862B2 (ja) | セキュアなバーチャルマシン間の共有メモリ通信のためのコンピューティング装置、方法及び機械可読記憶媒体 | |
JP5608243B2 (ja) | 仮想化環境においてi/o処理を行う方法および装置 | |
US9697024B2 (en) | Interrupt management method, and computer implementing the interrupt management method | |
EP3074866A1 (en) | Apparatus and method for scheduling graphics processing unit workloads from virtual machines | |
US10140214B2 (en) | Hypervisor translation bypass by host IOMMU with virtual machine migration support | |
US11194735B2 (en) | Technologies for flexible virtual function queue assignment | |
US10853259B2 (en) | Exitless extended page table switching for nested hypervisors | |
US11836091B2 (en) | Secure memory access in a virtualized computing environment | |
US10013199B2 (en) | Translation bypass by host IOMMU for systems with virtual IOMMU | |
JP6242502B2 (ja) | 仮想計算機システムの制御方法及び仮想計算機システム | |
US11150928B2 (en) | Hypervisor translation bypass | |
US10162787B1 (en) | Multicore safe PCIe solution | |
EP3980885A1 (en) | Guest operating system buffer and log access by an input-output memory management unit | |
US20160026567A1 (en) | Direct memory access method, system and host module for virtual machine | |
CN115904634B (zh) | 资源管理方法、***级芯片、电子组件及电子设备 | |
US20240211293A1 (en) | Efficient queue shadowing for virtual machines | |
CN118035134A (zh) | 一种地址翻译方法及设备 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20200626 |
|
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20210630 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20210720 |
|
A711 | Notification of change in applicant |
Free format text: JAPANESE INTERMEDIATE CODE: A711 Effective date: 20211018 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20211020 |
|
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: 20220315 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20220317 |
|
R150 | Certificate of patent or registration of utility model |
Ref document number: 7044832 Country of ref document: JP Free format text: JAPANESE INTERMEDIATE CODE: R150 |