WO2010042374A3 - Virtualized storage assignment method - Google Patents

Virtualized storage assignment method Download PDF

Info

Publication number
WO2010042374A3
WO2010042374A3 PCT/US2009/059124 US2009059124W WO2010042374A3 WO 2010042374 A3 WO2010042374 A3 WO 2010042374A3 US 2009059124 W US2009059124 W US 2009059124W WO 2010042374 A3 WO2010042374 A3 WO 2010042374A3
Authority
WO
WIPO (PCT)
Prior art keywords
stack
driver
existing
new
interface
Prior art date
Application number
PCT/US2009/059124
Other languages
French (fr)
Other versions
WO2010042374A2 (en
Inventor
Jacob Oshins
Original Assignee
Microsoft Corporation
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Microsoft Corporation filed Critical Microsoft Corporation
Priority to JP2011531068A priority Critical patent/JP5599804B2/en
Priority to EP09819670.2A priority patent/EP2335156B1/en
Priority to CN200980140539.4A priority patent/CN102177509B/en
Publication of WO2010042374A2 publication Critical patent/WO2010042374A2/en
Publication of WO2010042374A3 publication Critical patent/WO2010042374A3/en
Priority to HK11112531.8A priority patent/HK1158332A1/en

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F13/00Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F13/10Program control for peripheral devices
    • G06F13/105Program control for peripheral devices where the programme performs an input/output emulation function
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F13/00Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F13/14Handling requests for interconnection or transfer
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements 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/44Arrangements for executing specific programs
    • G06F9/455Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
    • G06F9/45504Abstract machines for programme code execution, e.g. Java virtual machine [JVM], interpreters, emulators
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements 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/44Arrangements for executing specific programs
    • G06F9/455Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
    • G06F9/45533Hypervisors; Virtual machine monitors
    • G06F9/45558Hypervisor-specific management and integration aspects
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements 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/44Arrangements for executing specific programs
    • G06F9/455Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
    • G06F9/45533Hypervisors; Virtual machine monitors
    • G06F9/45558Hypervisor-specific management and integration aspects
    • G06F2009/45579I/O management, e.g. providing access to device drivers or storage

Abstract

Various aspects are disclosed for building a device driver stack in a virtual machine partition that does not physically control the device represented by the stack. In an embodiment, a secondary interface and driver for an I/O device may be instantiated. Information from an I/O virtualization layer describing the devices that the associated driver may control may be requested. A multi-path redirection layer may provide a handle to an existing stack that includes a driver for the I/O device. This existing stack may then be used to communicate with the device and allow the creation of a new stack including an object representing the device and a new driver for the device. The multi-path redirection layer may then open a handle to the new stack and inform the device virtualization layer, which may then ask the existing device interface to relinquish control of the device to the newly created interface.
PCT/US2009/059124 2008-10-09 2009-09-30 Virtualized storage assignment method WO2010042374A2 (en)

Priority Applications (4)

Application Number Priority Date Filing Date Title
JP2011531068A JP5599804B2 (en) 2008-10-09 2009-09-30 How to allocate virtual storage
EP09819670.2A EP2335156B1 (en) 2008-10-09 2009-09-30 Virtualized storage assignment method
CN200980140539.4A CN102177509B (en) 2008-10-09 2009-09-30 Virtualized storage assignment method
HK11112531.8A HK1158332A1 (en) 2008-10-09 2011-11-18 Virtualized storage assignment method

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US12/248,299 US8321878B2 (en) 2008-10-09 2008-10-09 Virtualized storage assignment method
US12/248,299 2008-10-09

Publications (2)

Publication Number Publication Date
WO2010042374A2 WO2010042374A2 (en) 2010-04-15
WO2010042374A3 true WO2010042374A3 (en) 2010-07-08

Family

ID=42100071

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/US2009/059124 WO2010042374A2 (en) 2008-10-09 2009-09-30 Virtualized storage assignment method

Country Status (7)

Country Link
US (2) US8321878B2 (en)
EP (1) EP2335156B1 (en)
JP (1) JP5599804B2 (en)
KR (1) KR101602519B1 (en)
CN (1) CN102177509B (en)
HK (1) HK1158332A1 (en)
WO (1) WO2010042374A2 (en)

Families Citing this family (39)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8321878B2 (en) * 2008-10-09 2012-11-27 Microsoft Corporation Virtualized storage assignment method
KR101343595B1 (en) * 2008-12-19 2013-12-20 한국전자통신연구원 Method for forwarding path virtualization for router
US8255596B2 (en) * 2009-06-10 2012-08-28 International Business Machines Corporation Multipath-based migration of data across storage controllers
US8413164B1 (en) * 2009-06-30 2013-04-02 Emc Corporation Presenting an interface to a computer system for use in conducting diagnostic tests
US8417849B2 (en) * 2009-10-07 2013-04-09 International Business Machines Corporation Apparatus and method to adjust a multi-path device reservation
CN103262034B (en) 2010-10-28 2016-08-17 惠普发展公司,有限责任合伙企业 By data partition to virtual machine
US8561065B2 (en) 2010-11-15 2013-10-15 International Business Machines Corporation Virtualization of vendor specific network interfaces of self-virtualizing input/output device virtual functions
US9218219B2 (en) 2010-11-24 2015-12-22 International Business Machines Corporation Managing virtual functions of an input/output adapter
US8301806B2 (en) 2010-11-24 2012-10-30 International Business Machines Corporation Configuring an input/output adapter
US8839240B2 (en) 2010-11-29 2014-09-16 International Business Machines Corporation Accessing vendor-specific drivers for configuring and accessing a self-virtualizing input/output device
US8495274B2 (en) 2010-12-08 2013-07-23 International Business Machines Corporation Address translation table to enable access to virtual functions
US9146863B2 (en) 2010-12-08 2015-09-29 International Business Machines Corporation Address translation table to enable access to virtualized functions
US8561066B2 (en) 2010-12-08 2013-10-15 International Business Machines Corporation Simplified DMA mappings for self-virtualizing input/output device virtual functions
US8645755B2 (en) 2010-12-15 2014-02-04 International Business Machines Corporation Enhanced error handling for self-virtualizing input/output device in logically-partitioned data processing system
US8683478B2 (en) 2010-12-21 2014-03-25 International Business Machines Corporation Best fit mapping of self-virtualizing input/output device virtual functions for mobile logical partitions
US8418166B2 (en) 2011-01-11 2013-04-09 International Business Machines Corporation Transparent update of adapter firmware for self-virtualizing input/output device
US8447891B2 (en) 2011-01-11 2013-05-21 International Business Machines Corporation Dynamically assigning virtual functions to client applications
US8537706B2 (en) 2011-01-11 2013-09-17 International Business Machines Corporation Preserving traffic class priority QoS with self-virtualizing input/output device
US8862739B2 (en) 2011-01-11 2014-10-14 International Business Machines Corporation Allocating resources to virtual functions
US8677356B2 (en) 2011-01-11 2014-03-18 International Business Machines Corporation Adjunct partition work scheduling with quality of service attributes
US8825981B2 (en) 2011-01-25 2014-09-02 International Business Machines Corporation Allocating addressable memory regions to an adapter
US8364871B2 (en) 2011-01-25 2013-01-29 International Business Machines Corporation Providing virtual functions after an input/output adapter is moved from a first location to a second location
US8832401B2 (en) 2011-01-26 2014-09-09 International Business Machines Corporation Iteratively de-allocating active objects associated with virtual functions of an adapter
US8726276B2 (en) 2011-01-26 2014-05-13 International Business Machines Corporation Resetting a virtual function that is hosted by an input/output adapter
US8527666B2 (en) 2011-02-21 2013-09-03 International Business Machines Corporation Accessing a configuration space of a virtual function
US9218195B2 (en) 2011-05-17 2015-12-22 International Business Machines Corporation Vendor-independent resource configuration interface for self-virtualizing input/output device
US8838837B2 (en) 2011-06-23 2014-09-16 Microsoft Corporation Failover mechanism
US8959223B2 (en) 2011-09-29 2015-02-17 International Business Machines Corporation Automated high resiliency system pool
US8996700B2 (en) 2011-09-29 2015-03-31 International Business Machines Corporation Automated workload performance and availability optimization based on hardware affinity
CN103577149B (en) * 2013-11-20 2017-02-08 华为技术有限公司 HBA compatibility processing method, device and system
US10586047B2 (en) * 2014-06-30 2020-03-10 Hewlett-Packard Development Company, L.P. Securely sending a complete initialization package
WO2016003413A1 (en) * 2014-06-30 2016-01-07 Hewlett-Packard Development Company, L.P. Full virtual machine functionality
CN104144327B (en) * 2014-07-28 2018-11-16 华为数字技术(成都)有限公司 A kind of monitor video storage method and device
EP3182282A1 (en) * 2015-12-15 2017-06-21 OpenSynergy GmbH Method for operating a system in a control unit and system
CN106919341B (en) * 2015-12-28 2020-04-21 成都华为技术有限公司 Method and device for issuing I/O (input/output)
US10509729B2 (en) 2016-01-13 2019-12-17 Intel Corporation Address translation for scalable virtualization of input/output devices
US10228981B2 (en) 2017-05-02 2019-03-12 Intel Corporation High-performance input-output devices supporting scalable virtualization
CN107688484A (en) * 2017-09-06 2018-02-13 郑州云海信息技术有限公司 A kind of method and system of virtual machine (vm) migration
US11216701B1 (en) * 2018-02-09 2022-01-04 Amazon Technologies, Inc. Unsupervised representation learning for structured records

Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20040172636A1 (en) * 2003-02-28 2004-09-02 International Business Machines Corporation Method, apparatus and program storage device for providing data path optimization
US20050091441A1 (en) * 2003-10-08 2005-04-28 Yanling Qi System and method of creating virtual data paths using a multiple-path driver
US20060005186A1 (en) * 2004-06-30 2006-01-05 Microsoft Corporation Systems and methods for stack-jumping between a virtual machine and a host environment
US7080172B1 (en) * 2003-05-27 2006-07-18 Marvell Luternational Ltd. Management of memory, hardware and associated device drivers using stacks
US20080082975A1 (en) * 2006-09-29 2008-04-03 Microsoft Corporation Distributed hardware state management in virtual machines
US20080184273A1 (en) * 2007-01-30 2008-07-31 Srinivasan Sekar Input/output virtualization through offload techniques

Family Cites Families (26)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6125439A (en) * 1996-01-24 2000-09-26 Sun Microsystems, Inc. Process of executing a method on a stack-based processor
US6038643A (en) * 1996-01-24 2000-03-14 Sun Microsystems, Inc. Stack management unit and method for a processor having a stack
US7409694B2 (en) * 1998-09-09 2008-08-05 Microsoft Corporation Highly componentized system architecture with loadable virtual memory manager
US6959440B1 (en) * 2000-08-02 2005-10-25 Intel Corporation Dynamic removal of a driver stack when a parent driver uses a child driver
US6647454B1 (en) * 2000-09-25 2003-11-11 Intel Corporation Data transfer through a bridge
US7792923B2 (en) * 2000-10-13 2010-09-07 Zhe Khi Pak Disk system adapted to be directly attached to network
US6904477B2 (en) 2001-04-13 2005-06-07 Sun Microsystems, Inc. Virtual host controller interface with multipath input/output
US7185078B2 (en) * 2001-06-28 2007-02-27 Microsoft Corporation Event manager for a control management system
US7257815B2 (en) * 2001-09-05 2007-08-14 Microsoft Corporation Methods and system of managing concurrent access to multiple resources
US7210068B1 (en) 2002-03-06 2007-04-24 Network Appliance, Inc. System and method for multipath I/O support for fibre channel devices
US7222348B1 (en) 2002-12-16 2007-05-22 Unisys Corporation Universal multi-path driver for storage systems
US20060047850A1 (en) 2004-08-31 2006-03-02 Singh Bhasin Harinder P Multi-chassis, multi-path storage solutions in storage area networks
US20060212870A1 (en) 2005-02-25 2006-09-21 International Business Machines Corporation Association of memory access through protection attributes that are associated to an access control level on a PCI adapter that supports virtualization
GB0505926D0 (en) * 2005-03-23 2005-04-27 Ibm Data processing system and method
TWI307034B (en) 2005-11-23 2009-03-01 Infortrend Technology Inc Storage virtualization subsystem and system with host-side redundancy via sas connectivity
JP4800059B2 (en) 2006-02-13 2011-10-26 株式会社日立製作所 Virtual storage system and control method thereof
US7788665B2 (en) * 2006-02-28 2010-08-31 Microsoft Corporation Migrating a virtual machine that owns a resource such as a hardware device
US7783788B1 (en) * 2006-04-28 2010-08-24 Huawei Technologies Co., Ltd. Virtual input/output server
US7620784B2 (en) * 2006-06-09 2009-11-17 Microsoft Corporation High speed nonvolatile memory device using parallel writing among a plurality of interfaces
US7761612B2 (en) 2006-12-07 2010-07-20 International Business Machines Corporation Migrating domains from one physical data processing system to another
US7657663B2 (en) 2006-12-19 2010-02-02 International Business Machines Corporation Migrating stateless virtual functions from one virtual plane to another
US8645974B2 (en) * 2007-08-02 2014-02-04 International Business Machines Corporation Multiple partition adjunct instances interfacing multiple logical partitions to a self-virtualizing input/output device
US7782869B1 (en) * 2007-11-29 2010-08-24 Huawei Technologies Co., Ltd. Network traffic control for virtual device interfaces
US8099522B2 (en) * 2008-06-09 2012-01-17 International Business Machines Corporation Arrangements for I/O control in a virtualized system
US8041849B2 (en) * 2008-07-02 2011-10-18 Lsi Corporation Method for handling small computer system interface (SCSI) commands via a redundant array of inexpensive disks (RAID) device driver
US8321878B2 (en) * 2008-10-09 2012-11-27 Microsoft Corporation Virtualized storage assignment method

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20040172636A1 (en) * 2003-02-28 2004-09-02 International Business Machines Corporation Method, apparatus and program storage device for providing data path optimization
US7080172B1 (en) * 2003-05-27 2006-07-18 Marvell Luternational Ltd. Management of memory, hardware and associated device drivers using stacks
US20050091441A1 (en) * 2003-10-08 2005-04-28 Yanling Qi System and method of creating virtual data paths using a multiple-path driver
US20060005186A1 (en) * 2004-06-30 2006-01-05 Microsoft Corporation Systems and methods for stack-jumping between a virtual machine and a host environment
US20080082975A1 (en) * 2006-09-29 2008-04-03 Microsoft Corporation Distributed hardware state management in virtual machines
US20080184273A1 (en) * 2007-01-30 2008-07-31 Srinivasan Sekar Input/output virtualization through offload techniques

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
See also references of EP2335156A4 *

Also Published As

Publication number Publication date
JP5599804B2 (en) 2014-10-01
WO2010042374A2 (en) 2010-04-15
JP2012505473A (en) 2012-03-01
US8607253B2 (en) 2013-12-10
KR20110084211A (en) 2011-07-21
EP2335156B1 (en) 2015-08-26
US8321878B2 (en) 2012-11-27
CN102177509A (en) 2011-09-07
EP2335156A2 (en) 2011-06-22
KR101602519B1 (en) 2016-03-10
US20100095310A1 (en) 2010-04-15
CN102177509B (en) 2014-03-12
US20130067501A1 (en) 2013-03-14
EP2335156A4 (en) 2012-05-16
HK1158332A1 (en) 2012-07-13

Similar Documents

Publication Publication Date Title
WO2010042374A3 (en) Virtualized storage assignment method
EP3617983A4 (en) Method and device for virtual resource allocation, model establishment and data prediction
WO2011142862A3 (en) Virtualization and dynamic resource allocation aware storage level reordering
WO2009094582A3 (en) Methods and systems for provisioning a virtual disk to diskless virtual and physical machines
US8966478B2 (en) Methods and systems for executing software applications using hardware abstraction
WO2014057380A3 (en) Virtual firewall mobility
WO2016094840A3 (en) System, method & computer readable medium for software protection via composable process-level virtual machines
WO2011109829A3 (en) System and method for two way communication and controlling content in a game
WO2006094222A3 (en) Method and apparatus for locating the fossa ovalis, creating a virtual fossa ovalis and performing transseptal puncture
WO2012070812A3 (en) Control method using voice and gesture in multimedia device and multimedia device thereof
GB2460841B (en) Methods of providing access to I/O devices
WO2009105594A3 (en) Method and system for implementing a virtual storage pool in a virtual environment
WO2010033375A3 (en) Sata mass storage device emulation on a pcie interface
WO2014031473A3 (en) Multi-level cloud computing system
WO2008051842A3 (en) Methods and systems for accessing remote user files associated with local resources
WO2011152917A3 (en) Determining emergency landing sites for aircraft
WO2013151884A8 (en) Virtualized movement of enhanced network services associated with a virtual machine
WO2011068373A3 (en) Mobile device and control method thereof
WO2011088261A3 (en) Methods and apparatus for coordinated energy management in virtualized data centers
WO2010141387A3 (en) System and method for converting a java application into a virtual server image for cloud deployment
WO2012087990A3 (en) Providing a persona-based application experience
WO2013006568A3 (en) Booting a memory device from a host
WO2012112710A3 (en) Systems and methods for managing data input/output operations
WO2010014509A3 (en) System and method for a virtualization infrastructure management environment
GB2509634A (en) Maintaining multiple target copies

Legal Events

Date Code Title Description
WWE Wipo information: entry into national phase

Ref document number: 200980140539.4

Country of ref document: CN

121 Ep: the epo has been informed by wipo that ep was designated in this application

Ref document number: 09819670

Country of ref document: EP

Kind code of ref document: A2

WWE Wipo information: entry into national phase

Ref document number: 2224/CHENP/2011

Country of ref document: IN

WWE Wipo information: entry into national phase

Ref document number: 2009819670

Country of ref document: EP

NENP Non-entry into the national phase

Ref country code: DE

WWE Wipo information: entry into national phase

Ref document number: 2011531068

Country of ref document: JP

ENP Entry into the national phase

Ref document number: 20117010044

Country of ref document: KR

Kind code of ref document: A