KR101636878B1 - 가상화 환경에서의 데이터 처리 방법 및 드라이버 - Google Patents

가상화 환경에서의 데이터 처리 방법 및 드라이버 Download PDF

Info

Publication number
KR101636878B1
KR101636878B1 KR1020100014853A KR20100014853A KR101636878B1 KR 101636878 B1 KR101636878 B1 KR 101636878B1 KR 1020100014853 A KR1020100014853 A KR 1020100014853A KR 20100014853 A KR20100014853 A KR 20100014853A KR 101636878 B1 KR101636878 B1 KR 101636878B1
Authority
KR
South Korea
Prior art keywords
data
inode
memory
stored
requested
Prior art date
Application number
KR1020100014853A
Other languages
English (en)
Other versions
KR20110095051A (ko
Inventor
문보석
서상범
이성민
Original Assignee
삼성전자주식회사
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 삼성전자주식회사 filed Critical 삼성전자주식회사
Priority to KR1020100014853A priority Critical patent/KR101636878B1/ko
Priority to US12/962,725 priority patent/US8930968B2/en
Publication of KR20110095051A publication Critical patent/KR20110095051A/ko
Application granted granted Critical
Publication of KR101636878B1 publication Critical patent/KR101636878B1/ko

Links

Images

Classifications

    • 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

복수 개의 운영체제(OS)를 지원하는 가상화 기술에 있어서, 운영체제 간의 트랜잭션을 줄일 수 있는 데이터 처리 방법 및 드라이버가 개시된다. 본 발명의 일실시예에 따르면, 데이터 처리 드라이버는 데이터를 읽을 때 다음 아이노드를 함께 읽어온다. 데이터 처리 드라이버는 읽어온 아이노드와 요청된 아이노드를 이용하여 호스트 운영체제로 아이노드 요청할지 여부를 결정한다.

Description

가상화 환경에서의 데이터 처리 방법 및 드라이버{METHOD AND DRIVER FOR PROCESSING DATA IN VIRTUALIZATION}
복수 개의 운영 체제(Operating System; OS)를 지원하는 가상화 기술과 관련된다.
운영 체제(OS)는 개인용 컴퓨터와 같은 컴퓨팅 장치에서 사용자가 하드웨어를 보다 용이하게 사용할 수 있도록 인터페이스를 제공해주는 프로그램들의 집합이다. 운영 체제는 프로세서, 기억 장치, 입출력 장치, 통신 장치, 데이터 등의 자원을 관리한다.
한편, 복수 개의 운영체제를 지원하는 시스템이 가상화 기술을 통해 제공되고 있다. 가상화 기술은 호스트 운영 체제에 가상화 계층을 형성하거나 직접 가상화 계층을 제공하는 하이퍼 바이저(hypervisor)를 두고, 이 가상화 계층 상에 복수의 논리적인 가상 머신(Virtual machine; VM)이 생성되도록 하는 기술이다. 예를 들면, 가상화 기술을 이용하여 하나의 호스트 운영체제와 복수의 게스트 운영체제를 포함하는 시스템을 구현할 수 있다.
이때, 복수 개의 운영체제 간에 트랜잭션(Transaction)이 많이 이루어지기 때문에, 시스템의 전체적인 성능은 떨어지게 된다. 이에 따라 최근에는, 복수 개의 운영체제 간에 효율적으로 트랜잭션을 할 수 있는 기술에 대한 연구가 활발히 진행되고 있다.
복수 개의 운영체제(OS)를 지원하는 가상화 기술에 있어서, 운영체제 간의 트랜잭션을 줄일 수 있는 데이터 처리 방법 및 드라이버가 개시된다.
본 발명의 일 실시예에 따른 데이터 처리 드라이버는, 제 1 아이노드에 대응되는 제 1 데이터 읽기 요청 신호가 입력되면, 호스트 운영체제를 통해 제 1 메모리에 저장된 제 1 데이터 및 제 2 데이터에 대응되는 제 2 아이노드를 읽는 독출(reading)부 및 직접 액세스 가능한 제 2 메모리에 제 2 아이노드를 저장하는 쓰기(writing)부를 포함한다.
여기서, 독출부는 아이노드 요청 신호가 입력되면, 요청된 아이노드와 제 2 메모리에 저장된 제 2 아이노드가 일치하는지 판단하고, 요청된 아이노드와 제 2 아이노드가 일치하는 경우, 제 1 메모리에 저장된 제 2 아이노드에 대응되는 제 2 데이터 및 제 3 데이터에 대응되는 제 3 아이노드 정보를 함께 읽을 수 있다.
여기서, 독출부는 아이노드 요청 신호가 입력되면, 요청된 아이노드와 제 2 메모리에 저장된 제 2 아이노드가 일치하는지 판단하고, 요청된 아이노드와 제 2 아이노드가 일치하지 않는 경우, 호스트 운영체제를 통해 제 1 메모리에 저장된 요청된 아이노드를 읽을 수 있다.
여기서, 독출부는 요청된 아이 노드를 읽은 후 요청된 아이 노드에 대응되는 제 4 데이터 읽기 요청 신호가 입력되면, 호스트 운영체제를 통해 제 1 메모리에 저장된 제 4 데이터 및 제 5 데이터에 대응되는 제 5 아이노드 정보를 읽을 수 있다.
여기서, 제 2 메모리는 제 1 메모리에 저장될 데이터를 임시 저장하고, 쓰기부는 데이터 저장 요청 신호가 입력되면, 저장 요청된 데이터의 크기(size)와 제 2 메모리에 임시 저장된 데이터 사이즈의 합이, 제 1 메모리의 기본 저장 사이즈인 페이지 사이즈보다 큰지 여부를 판단하고, 저장 요청된 데이터의 크기와 임시 저장된 데이터 사이즈의 합이 페이지 사이즈보다 작은 경우, 저장 요청된 데이터를 제 2 메모리에 임시 저장할 수 있다.
본 발명의 일실시예에 따른 데이터 처리 방법은 제 1 아이노드에 대응되는 제 1 데이터 읽기 요청 신호가 입력되면, 호스트 운영체제를 통해 제 1 메모리에 저장된 제 1 데이터 및 제 2 데이터에 대응되는 제 2 아이노드를 독출하는 단계 및 직접 액세스 가능한 제 2 메모리에 제 2 아이노드를 쓰는 단계를 포함할 수 있다.
여기서, 독출하는 단계는 요청된 아이노드와 제 2 메모리에 저장된 제 2 아이노드가 일치하는지 판단하는 단계 및 요청된 아이노드와 제 2 아이노드가 일치하는 경우, 제 1 메모리에 저장된 제 2 아이노드에 대응되는 제 2 데이터 및 제 3 데이터에 대응되는 제 3 아이노드 정보를 함께 읽는 단계를 포함할 수 있다.
여기서, 독출하는 단계는 요청된 아이노드와 제 2 메모리에 저장된 제 2 아이노드가 일치하는지 판단하는 단계 및 요청된 아이노드와 제 2 아이노드가 일치하지 않는 경우, 호스트 운영체제를 통해 제 1 메모리에 저장된 요청된 아이노드를 읽는 단계를 포함할 수 있다.
여기서, 독출하는 단계는 요청된 아이 노드를 읽은 후 요청된 아이 노드에 대응되는 제 4 데이터 정보 요청 신호가 입력되면, 호스트 운영체제를 통해 제 1 메모리에 저장된 제 4 데이터 및 제 5 데이터에 대응되는 제 5 아이노드 정보를 읽는 단계를 포함할 수 있다.
여기서, 제 2 메모리는 제 1 메모리에 저장될 데이터를 임시 저장하고, 쓰는 단계는 데이터 저장 요청 신호가 입력되면, 저장 요청된 데이터의 크기(size)와 제 2 메모리에 임시 저장된 데이터 사이즈의 합이, 제 1 메모리의 기본 저장 사이즈인 페이지 사이즈보다 큰지 여부를 판단하는 단계 및 저장 요청된 데이터의 크기와 임시 저장된 데이터 사이즈의 합이 페이지 사이즈보다 작은 경우, 저장 요청된 데이터를 제 2 메모리에 임시 저장하는 단계를 포함할 수 있다.
개시된 내용에 따르면, 가상화 환경에서의 운영체제 간의 트랜잭션을 줄임으로써, 시스템의 성능을 향상시킬 수 있다.
도 1은 본 발명의 일 실시예와 관련된 데이터 처리 드라이버를 포함하는 시스템의 블록 구성도(Block diagram)이다.
도 2는 본 발명의 일 실시예에 따른 아이노드와 데이터의 저장 형태를 도시한 도면이다.
도 3a 및 도 3b는 본 발명의 일 실시예에 따른 데이터를 임시 저장하는 과정을 설명하기 위한 도면이다.
도 4a, 도 4b 및 도 4c는 본 발명의 일 실시예에 따른 가상화 환경에서의 데이터 처리 방법을 설명하기 위한 흐름도이다.
도 5는 본 발명의 또 다른 실시예에 따른 가상화 환경에서의 데이터 처리 방법을 설명하기 위한 흐름도이다.
이하, 첨부된 도면을 참조하여 발명을 실시하기 위한 구체적인 내용에 대하여 상세하게 설명한다.
도 1은 본 발명의 일 실시예와 관련된 데이터 처리 드라이버를 포함하는 시스템의 블록 구성도(Block diagram)이다.
시스템(100)은 호스트 운영 체제(10), 가상 머신 모니터(Virtual Machine Monitor; VMM), 제 1 메모리(30), 제 2 메모리(40) 및 게스트 운영체제(50)를 포함한다. 여기서, 운영 체제는 도메인 또는 가상 머신(Virtual Machine; VM)과 혼용해서 사용될 수 있다.
본 실시예에서 게스트 운영체제(50)는 하나를 기준으로 설명하겠지만, 게스트 운영체제의 개수는 제한되지 않는다. 본 실시예에서 하드웨어 중 메모리를 기준으로 설명하지만, 하드웨어는 인터럽트 컨트롤러, 입력/출력 어댑터 등과 같이 다양하게 존재할 수 있다.
호스트 운영체제(10)는 제 1 드라이버(11), 제 2 드라이버(12), 제 1 파일 시스템(13) 및 제 1 어플리케이션(14)을 포함한다.
제 1 드라이버(11)는 게스트 운영체제(50)로부터 제 1 메모리(30)에 액세스하기 위한 신호가 입력되면, 게스트 운영체제(50)가 제 1 메모리(30)에 액세스하여 데이터 등을 읽거나 쓸 수 있도록 시스템(100)을 제어한다. 여기서, 제 1 드라이버(11)는 백-앤드(back-end) 드라이버일 수 있다. 백-앤드(back-end) 드라이버는 게스트 운영체제와는 데이터 등을 전송 또는 수신할 수 있도록 구현되나, 제 1 파일 시스템(13)으로 데이터 등을 전송 또는 수신할 수 없도록 구현된 드라이버이다.
제 2 드라이버(12)는 호스트 운영체제(10)와 제 1 메모리(30) 간의 데이터 등이 전송 또는 수신될 수 있도록 시스템(100)을 제어한다. 예를 들면, 데이터 읽기 요청 신호가 제 1 파일 시스템(13) 및 제 1 어플리케이션(14)을 통해 입력되면, 제 2 드라이버(12)는 호스트 운영체제(10)가 가상 머신 모니터(VMM)를 통해 제 1 메모리(30)에 접근할 수 있도록 시스템(100)을 제어한다. 여기서, 데이터 읽기 요청 신호란 제 1 메모리(30)로부터 특정 데이터를 읽기 위한 신호이다.
제 1 파일 시스템(13)은 저장 장치에 저장된 데이터의 이름을 지정, 읽고, 쓰거나 검색하는 방법 등을 미리 정리해 놓은 체제를 의미한다. 파일 시스템의 대표적인 예를 들면, 윈도우 체제에서는 NT(New Technology) 파일 시스템, FAT(File Allocation Table) 파일 시스템 등이 있고, 리눅스 체제에서는 EXT(Extended) 파일 시스템, Raiser 파일 시스템 등이 있다. 제 1 파일 시스템(13)은 정해진 방법에 의해서 제 2 드라이버(12) 및 가상 머신 모니터(20)를 통해 제 1 메모리(30)에 데이터를 쓰거나 읽을 수 있다.
제 1 어플리케이션(14)은 호스트 운영체제(10)에서 사용될 수 있는 다양한 어플리케이션이다.
가상 머신 모니터(VMM)(20)는 미들웨어 소프트웨어 층에 구비될 수 있으며, 메모리와 같은 하드웨어 자원을 가상화하여 운영체제가 이용할 수 있게 한다. 여기서, 가상 머신 모니터(VMM)는 하이퍼바이저(Hypervisor)와 혼용되어 사용될 수 있다. 복수 개의 운영체제(10, 50)는 실질적으로 하나의 하드웨어를 사용하지만, 가상화함으로써 각각 개별적으로 하드웨어를 사용하는 것처럼 동작하게 된다.
가상 머신 모니터(20)는 제 1 메모리(30)와 호스트 운영체제(10)가 연결될 수 있도록 지원할 수 있다. 따라서, 호스트 운영체제(10)는 가상 머신 모니터(20)를 통해 제 1 메모리(30)에 액세스할 수 있다.
제 1 메모리(30)는 다수의 아이노드(Inode) 및 데이터를 저장할 수 있다. 여기서, 아이노드(Inode)는 읽기, 쓰기 또는 실행 권한에 관한 정보, 데이터 형태 정보 또는 아이노드 숫자(number) 정보 등을 포함한다. 데이터는 각각 1개의 아이노드와 매칭될 수 있다.
도 2는 본 발명의 일 실시예에 따른 아이노드와 데이터의 저장 형태를 도시한 도면이다. 도 2를 참조하면, 제 1 아이노드(200), 제 1 데이터(210), 제 2 아이노드(220), 제 2 데이터(230) 제 3 아이노드(240) 및 제 3 데이터(250)가 연속적으로 저장되어 있다. 여기서, 제 1 아이노드(200)는 제 1 데이터(210)에 대응되고, 제 2 아이노드(220)는 제 2 데이터(230)에 대응되고, 제 3 아이노드(240)는 제 3 데이터(250)에 대응된다.
또는, 제 1 메모리(30)는 호스트 운영체제(10)와 게스트 운영체제(50) 또는 시스템(100)의 실행에 필요한 정보 등을 저장할 수 있다.
또는, 제 1 메모리(10)는 호스트 운영체제(10)만이 접근 가능한 영역, 게스트 운영체제(50)만이 접근가능한 영역, 운영체제가 공유할 수 있는 영역 등으로 구분될 수도 있다.
제 2 메모리(40)는 제 1 메모리(30)에 저장된 다수의 아이노드 중 적어도 하나를 저장할 수 있다. 제 2 메모리(40)의 아이노드는 게스트 운영체제(50)에 의해서 저장된다. 이에 대한 구체적인 과정은 후술하겠다.
또는, 제 2 메모리(40)는 제 1 메모리(30)에 저장될 데이터를 임시 저장할 수 있다. 예를 들면, 저장 요청된 데이터의 크기가 페이지 사이즈보다 작은 경우, 저장 요청된 데이터는 제 1 메모리(30)에 저장되지 않고, 제 2 메모리(40)에 임시 저장될 수 있다. 이에 대한 구체적인 과정은 후술하겠다.
게스트 운영체제(50)는 호스트 운영체제(10)를 통해 제 1 메모리(30)에 액세스하지만, 제 2 메모리(40)에 직접 액세스한다.
제 1 메모리(30) 및 제 2 메모리(40)는 하나의 저장 매체를 제 1 메모리(30) 영역과 제 2 메모리(40) 영역으로 구분하여 구현될 수 있다. 또는, 제 1 메모리(30) 및 제 2 메모리(40)는 2 개의 저장 매체를 이용하여 구현될 수도 있다.
제 1 메모리(30) 및 제 2 메모리(40)는 플래시 메모리 타입(flash memory type), 하드디스크 타입(hard disk type), 멀티미디어 카드 마이크로 타입(multimedia card micro type), 카드 타입의 메모리(예를 들어 SD 또는 XD 메모리 등), 램(Random Access Memory, RAM), SRAM(Static Random Access Memory), 롬(Read-Only Memory, ROM), EEPROM(Electrically Erasable Programmable Read-Only Memory), PROM(Programmable Read-Only Memory), 자기 메모리, 자기 디스크, 광디스크 중 적어도 하나의 타입의 저장매체를 포함할 수 있다.
게스트 운영체제(50)는 제 3 드라이버(51), 제 2 파일 시스템(52) 및 제 2 어플리케이션(53)을 포함한다. 제 3 드라이버(51)는 독출부(60) 및 쓰기부(61)를 포함한다.
제 3 드라이버(51)는 게스트 운영체제(50)가 호스트 운영체제(10)를 통해 제 1 메모리(10)에 액세스할 수 있도록 시스템(100)을 제어한다. 여기서, 제 3 드라이버(51)는 프론트-앤드(front-end) 드라이버일 수 있다. 프론트-앤드(front-end) 드라이버는 제 2 파일 시스템(52)과는 데이터 등을 전송 또는 수신할 수 있도록 구현되나, 가상 머신 모니터(VMM)(20)를 통해 제 1 메모리(30)에 직접 액세스할 수 없도록 구현된 드라이버이다. 여기서, 제 3 드라이버(51)는 게스트 운영체제(50) 내에만 구현되어야 하는 것은 아니다.
제 1 드라이버(11)와 제 3 드라이버(51)는 버스(BUS)와 공유 메모리를 이용하여 제어 신호 또는 데이터 등을 전송 또는 수신할 수 있다.
독출부(60)는 데이터 읽기 요청 신호가 입력되면, 제 1 메모리(30)로부터 요청된 데이터 및 다음 데이터에 대응되는 아이노드를 함께 읽어온다. 여기서, 데이터 읽기 요청 신호란 제 1 메모리(30)로부터 특정 데이터를 읽기 위한 신호이다.
도 2는 본 발명의 일 실시예에 따른 아이노드와 데이터의 저장 형태를 도시한 도면이다. 도 2를 참조하여 예를 들면, 독출부(60)는 제 2 파일 시스템(52)으로부터 제 1 데이터(210) 요청 신호가 입력되면, 제 1 드라이버(11)를 통해 제 1 메모리(30)로부터 제 1 데이터(210) 및 제 2 아이노드(220)를 함께 읽는다. 여기서, 제 2 아이노드(220)는 제 2 데이터(230)에 대응되고, 제 1 데이터(210)의 뒤에 연속적으로 저장될 수 있다. 쓰기부(61)는 제 2 아이노드(220)를 제 2 메모리(40)에 저장한다.
독출부(60)는 아이노드 요청 신호가 입력되면, 요청된 아이노드와 제 2 메모리(40)에 저장된 아이노드가 일치되는지 여부를 판단한다. 판단결과에 따라, 독출부(60)는 제 1 메모리(30)로부터 요청된 아이노드를 읽어오거나 제 2 메모리(40)에 저장된 아이노드에 대응되는 데이터 및 다음 데이터에 대응되는 아이노드를 함께 읽어온다. 여기서, 독출부(60)는 세그먼트(Segment), 오프셋(offset), 길이(length) 등과 같은 정보를 이용하여 아이노드들이 일치하는지 여부를 판단할 수 있다.
예를 들면, 독출부(60)는 제 2 파일 시스템(52)으로부터 아이노드 요청 신호가 입력되면, 요청된 아이노드와 제 2 메모리(40)에 저장된 제 2 아이노드가 일치되는지 여부를 판단한다. 여기서, 아이노드 요청 신호란 제 1 메모리(30)로부터 특정 아이노드를 읽어오기 위한 신호이다. 요청된 아이노드와 제 2 아이노드가 일치하는 경우, 독출부(60)는 제 1 메모리(30)에 저장된 제 2 아이노드(220)에 대응되는 제 2 데이터(230) 및 제 3 아이노드(240)를 함께 읽는다. 여기서, 제 3 아이노드(240)는 제 3 데이터(250)에 대응되고, 제 2 데이터(230)의 뒤에 연속적으로 저장될 수 있다.
반면에, 요청된 아이노드와 제 2 아이노드가 일치하지 않는 경우, 독출부(60)는 호스트 운영체제(10)를 통해 제 1 메모리(30)로부터 요청된 아이노드('제 4 아이노드')를 읽는다. 제 4 아이노드를 읽은 후 제 4 데이터 정보 요청 신호가 입력되면, 독출부(60)는 호스트 운영체제(10)를 통해 제 1 메모리(30)에 저장된 제 4 데이터(도 2에 미도시) 및 제 5 아이노드(도 2에 미도시)를 함께 읽는다. 여기서, 제 5 아이노드는 제 5 데이터에 대응되고, 제 5 데이터의 뒤에 연속적으로 저장될 수 있다.
쓰기부(61)는 데이터 저장 요청 신호가 입력되면, 저장 요청된 데이터의 크기(size)와 제 2 메모리(40)에 임시 저장된 데이터의 사이즈의 합이, 제 1 메모리(30)에 저장되는 기본 사이즈인 페이지 사이즈(page size)보다 큰지 여부를 판단한다.
여기서, 데이터 저장 요청 신호란 특정 데이터를 제 1 메모리(30)에 저장하기 위한 신호이다. 또한, 제 2 메모리(40)에 임시 저장된 데이터는 이미 저장 요청되었으나, 데이터의 크기가 페이지 사이즈보다 작아서 제 1 메모리(30)에 저장되지 목한 데이터이다. 또한, 페이지 사이즈란 데이터가 제 1 메모리(30)에 저장되는 기본 저장 사이즈이다.
판단 결과에 따라, 쓰기부(61)는 요청된 데이터를 호스트 운영체제(10)를 제 1 메모리(30)에 저장하거나 제 2 메모리(40)에 임시 저장한다.
도 3a 및 도 3b는 본 발명의 일 실시예에 따른 데이터를 임시 저장하는 과정을 설명하기 위한 도면이다.
도 3a는 저장 요청된 데이터의 사이즈가 페이지 사이즈보다 작은 경우에 데이터를 저장하는 과정을 설명하기 위한 도면이다.
도 3a를 참조하면, 제 2 파일 시스템(52)으로부터 제 10 데이터(310) 저장 요청 신호가 입력되면, 쓰기부(61)는 제 10 데이터(310)의 크기와 제 2 메모리(40)에 임시 저장된 데이터의 사이즈의 합이, 페이지 사이즈(300)보다 큰지 여부를 판단한다. 현재, 제 2 메모리(40)에는 저장된 데이터가 없는 상태이다. 도 3a를 참조하면, 제 10 데이터(310)의 크기와 제 2 메모리(40)에 임시 저장된 데이터의 사이즈의 합('실질적으로는 제 10 데이터(310)만 존재')이 페이지 사이즈보다 작으므로, 쓰기부(61)는 제 10 데이터(320)를 호스트 운영체제(10)를 통해 제 1 메모리(30)에 저장하지 않고, 제 2 메모리(40)에 임시 저장한다. 이때, 쓰기부(61)는 제 10 데이터(310)가 제 2 메모리(40)에 저장된 후, 제 10 데이터(310)의 저장 완료 신호를 제 2 파일 시스템(52)으로 전송하다. 이에 따라, 제 2 파일 시스템(52)은 제 10 데이터(310)의 저장이 완료되었음을 인식하고, 다음 데이터 저장 요청 신호를 제 3 드라이버(51)로 전송할 수 있다.
제 2 파일 시스템(52)으로부터 제 11 데이터(320) 저장 요청 신호가 입력되면, 쓰기부(61)는 제 11 데이터(320)의 크기와 제 2 메모리(40)에 임시 저장된 데이터('제 10 데이터')의 사이즈의 합이, 페이지 사이즈(300)보다 큰지 여부를 판단한다. 도 3a를 참조하면, 제 10 데이터(310) 및 제 11 데이터(320)의 크기 합이 페이지 사이즈(300)보다 크므로, 쓰기부(61)는 페이지 사이즈만큼의 데이터를 호스트 운영체제(10)를 통해 제 1 메모리(30)에 저장한다.
도 3b는 저장 요청된 데이터의 사이즈가 페이지 사이즈보다 큰 경우에 데이터를 저장하는 과정을 설명하기 위한 도면이다.
도 3b를 참조하면, 제 2 파일 시스템(52)으로부터 제 12 데이터(33) 저장 요청 신호가 입력되면, 쓰기부(61)는 제 12 데이터(310)의 크기와 제 2 메모리(40)에 임시 저장된 데이터의 사이즈 합이, 페이지 사이즈(300)보다 큰지 여부를 판단한다. 도 3의 (c)를 참조하면, 제 12 데이터(330)의 크기와 제 2 메모리(40)에 임시 저장된 데이터의 사이즈 합이 페이지 사이즈보다 크므로, 쓰기부(61)는 페이지 사이즈만큼의 데이터를 호스트 운영체제(10)를 통해 제 1 메모리(30)에 저장한다. 이때, 제 12 데이터(330) 중 페이지 사이즈(300)를 넘는 데이터는 제 2 메모리(40)에 임시 저장된다.
제 2 파일 시스템(52)은 저장 장치에 저장된 데이터의 이름을 지정, 읽고, 쓰거나 검색하는 방법 등을 미리 정리해 놓은 체제를 의미한다. 제 2 파일 시스템(52)은 정해진 방법에 의해서 제 3 드라이버(51), 제 1 드라이버(11) 및 가상 머신 모니터(20)를 통해 제 1 메모리(30)에 데이터를 쓰거나 읽을 수 있다.
제 2 어플리케이션(53)은 호스트 운영체제(50)에서 사용될 수 있는 다양한 어플리케이션이다.
데이터 처리 드라이버는 요청된 아이노드와 메모리에 저장된 아이노드가 일치하는 경우, 별도의 과정 없이 요청된 아이노드에 대응되는 데이터를 읽어옴으로써, 운영체제 간의 트랜잭션을 줄일 수 있다.
데이터 처리 드라이버는 저장 요청된 데이터가 페이지 사이즈를 넘는 경우에만 호스트 운영체제를 통해 메모리에 저장함으로써, 운영체제 간의 트랜잭션을 줄일 수 있다.
도 4a, 도 4b 및 도 4c는 본 발명의 일 실시예에 따른 가상화 환경에서의 데이터 처리 방법을 설명하기 위한 흐름도이다. 구체적으로, 가상화 환경에서의 데이터를 읽어오는 방법을 설명하기 위한 흐름도이다.
도 2 및 도 4a를 참조하면, 제 1 데이터(210) 요청 신호가 제 2 파일 시스템(52)으로부터 입력된다(401). 제 3 드라이버(51)의 독출부(60)는 제 1 데이터를 요청하는 메시지를 제 1 드라이버(11)로 전송한다(402). 제 1 드라이버(11)는 제 1 메모리(30)에 액세스하여(403), 제 1 데이터(210) 및 제 2 아이노드(220)를 함께 읽는다(404). 제 1 드라이버(11)는 제 1 데이터(210) 및 제 2 아이노드(220)를 제 3 드라이버(51)로 전송한다(405). 제 3 드라이버(51)는 읽어온 제 1 데이터(210)를 제 2 파일 시스템으로 전송한다(406). 또한, 제 3 드라이버(51)는 읽어온 제 2 아이노드(220)를 제 2 메모리(40)에 저장한다(407).
도 4b를 참조하면, 아이노드 요청 신호가 제 2 파일 시스템(52)으로부터 입력된다(408). 독출부(60)는 제 2 메모리(40)에 저장된 제 2 아이노드(220)를 읽어온다(409). 독출부(60)는 요청된 아이노드와 제 2 아이노드(220)가 일치되는지 여부를 판단한다.
요청된 아이노드와 제 2 아이노드(220)가 일치하는 경우(411), 제 3 드라이버(51)의 독출부(60)는 제 2 아이노드(220)에 대응되는 제 2 데이터(230)를 요청하는 메시지를 제 1 드라이버(11)로 전송한다(412). 제 1 드라이버(11)는 제 1 메모리(30)에 액세스하여(413), 제 2 데이터(230) 및 제 3 아이노드(240)를 함께 읽는다(414). 제 1 드라이버(11)는 제 2 데이터(230) 및 제 3 아이노드(240)를 제 3 드라이버(51)로 전송하다(415). 제 3 드라이버(51)는 읽어온 제 2 데이터(230)를 제 2 파일 시스템으로 전송한다(416). 또한, 제 3 드라이버(51)는 읽어온 제 3 아이노드(240)를 제 2 메모리(40)에 저장한다(417).
도 4c를 참조하면, 요청된 아이노드('제 4 아이노드')와 제 2 아이노드가 일치하지 않는 경우(418), 독출부(60)는 제 4 아이노드(도 2에 미도시)를 요청하는 메시지를 제 1 드라이버(11)에 전송한다(419). 제 1 드라이버(11)는 제 1 메모리(30)에 액세스하여(420). 제 4 아이노드를 읽는다(421). 제 1 드라이버(11)는 읽어온 제 4 아이노드를 제 3 드라이버(51)에 전송한다(422). 제 3 드라이버(51)의 독출부(60)는 제 4 아이노드를 제 2 파일 시스템으로 전송한다(423). 제 2 파일 시스템은 제 4 아이노드를 파싱하여 요청된 아이노드와 일치하는지를 판단할 수 있다.
제 4 아이노드에 대응되는 제 4 데이터 읽기 요청 신호가 제 2 파일 시스템(52)으로부터 입력된다(424). 제 3 드라이버(51)의 독출부(60)는 제 4 데이터를 요청하는 메시지를 제 1 드라이버(11)로 전송한다(425). 제 1 드라이버(11)는 제 1 메모리(30)에 액세스하여(426), 제 4 데이터 및 제 5 아이노드를 함께 읽는다(427). 제 1 드라이버(11)는 제 4 데이터 및 제 5 아이노드를 제 3 드라이버(51)로 전송한다(428). 제 3 드라이버(51)는 읽어온 제 4 데이터를 제 2 파일 시스템으로 전송한다(429). 또한, 제 3 드라이버(51)는 읽어온 제 5 아이노드를 제 2 메모리(40)에 저장한다(430). 본 실시예에 따른 가상 환경에서의 데이터 처리 방법은 위와 같은 과정을 반복하여 실행하게 된다.
데이터 처리 드라이버는 요청된 아이노드와 메모리에 저장된 아이노드가 일치하는 경우, 별도의 과정 없이 요청된 아이노드에 대응되는 데이터를 읽어옴으로써, 운영체제 간의 트랜잭션을 줄일 수 있다.
도 5는 본 발명의 또 다른 실시예에 따른 가상화 환경에서의 데이터 처리 방법을 설명하기 위한 흐름도이다. 구체적으로, 가상화 환경에서의 데이터를 쓰는 방법을 설명하기 위한 흐름도이다.
데이터 저장 요청 신호가 제 2 파일 시스템으로부터 입력된다(501). 제 3 드라이버(51)의 쓰기부(61)는 제 2 메모리(40)로부터 임시 저장된 데이터의 크기를 읽어온다(502). 여기서, 제 2 메모리(40)에 임시 저장된 데이터는 이미 저장 요청되었으나, 데이터의 크기가 페이지 사이즈보다 작아서 제 1 메모리(30)에 저장되지 못한 데이터이다. 쓰기부(61)는 저장 요청된 데이터의 크기와 제 2 메모리(40)에 임시 저장된 데이터의 사이즈의 합이, 제 1 메모리(30)에 저장되는 기본 사이즈인 페이지 사이즈보다 큰지 여부를 판단한다. 판단 결과에 따라, 쓰기부(61)는 요청된 데이터를 호스트 운영체제(10)를 제 1 메모리(30)에 저장하거나 제 2 메모리(40)에 임시 저장한다.
저장 요청된 데이터의 크기와 제 2 메모리(40)에 임시 저장된 데이터의 사이즈 합이 페이지 사이즈보다 작은 경우(503), 쓰기부(61)는 저장 요청된 데이터를 제 2 메모리(40)에 임시 저장한다(504). 이때, 쓰기부(61)는 저장 요청된 데이터가 제 2 메모리(40)에 저장된 후, 저장 요청된 데이터의 저장 완료 신호를 제 2 파일 시스템(52)으로 전송한다. 이에 따라, 제 2 파일 시스템(52)은 저장 요청된 데이터의 저장이 완료되었음을 인식하고, 다음 데이터 저장 요청 신호를 제 3 드라이버(51)로 전송할 수 있다.
반면에, 저장 요청된 데이터 및 제 2 메모리(40)에 임시 저장된 데이터의 합이 페이지 사이즈보다 큰 경우(506), 쓰기부(61)는 페이지 사이즈만큼의 데이터를 제 1 드라이버(110)로 전송한다(507). 제 1 드라이부(11)는 페이지 사이즈만큼의 데이터를 제 1 메모리(30)에 저장한다(508). 임시 저장된 데이터 및 저장 요청된 데이터 중 페이지 사이즈(300)를 넘는 데이터는 제 2 메모리(40)에 임시 저장된다.
데이터 처리 드라이버는 저장 요청된 데이터가 페이지 사이즈를 넘는 경우에만 호스트 운영체제를 통해 메모리에 저장함으로써, 운영체제 간의 트랜잭션을 줄일 수 있다.
가상화 환경에서의 데이터 처리 방법 및 드라이버는 설명된 실시예들의 구성과 방법에 한정되게 적용될 수 있는 것이 아니라, 실시예들은 다양한 변형이 이루어질 수 있도록 각 실시예들의 전부 또는 일부가 선택적으로 조합되어 구성될 수도 있다.
또한, 실시예는 그 설명을 위한 것이며, 그 제한을 위한 것이 아님을 주의하여야 한다. 또한, 본 발명의 기술분야의 통상의 전문가라면 본 발명의 기술사상의 범위에서 다양한 실시예가 가능함을 이해할 수 있을 것이다.
또한, 본 발명의 일실시예에 의하면, 전술한 방법은, 프로그램이 기록된 매체에 프로세서가 읽을 수 있는 코드로서 구현하는 것이 가능하다. 프로세서가 읽을 수 있는 매체의 예로는, ROM, RAM, CD-ROM, 자기 테이프, 플로피 디스크, 광 데이터 저장장치 등이 있으며, 캐리어 웨이브(예를 들어, 인터넷을 통한 전송)의 형태로 구현되는 것도 포함한다.

Claims (16)

  1. 호스트 운영 체제를 통해 제 1 메모리에 액세스하는 가상화 환경에서의 드라이버에 있어서,
    제 1 아이노드에 대응되는 제 1 데이터 읽기 요청 신호가 입력되면, 상기 호스트 운영체제를 통해 상기 제 1 메모리에 저장된 상기 제 1 데이터 및 제 2 데이터에 대응되고, 제1데이터의 뒤에 연속적으로 저장된 제 2 아이노드를 동시에 읽는 독출(reading)부; 및
    직접 액세스 가능한 제 2 메모리에 상기 제 2 아이노드를 저장하는 쓰기(writing)부를 포함하는 가상화 환경에서의 데이터 처리 드라이버.
  2. 제 1 항에 있어서,
    상기 독출부는,
    아이노드 요청 신호가 입력되면, 상기 요청된 아이노드와 상기 제 2 메모리에 저장된 상기 제 2 아이노드가 일치하는지 판단하고,
    상기 요청된 아이노드와 상기 제 2 아이노드가 일치하는 경우, 상기 제 1 메모리에 저장된 상기 제 2 아이노드에 대응되는 제 2 데이터 및 제 3 데이터에 대응되는 제 3 아이노드 정보를 함께 읽는 가상화 환경에서의 데이터 처리 드라이버.
  3. 제 1 항에 있어서,
    상기 독출부는,
    아이노드 요청 신호가 입력되면, 상기 요청된 아이노드와 상기 제 2 메모리에 저장된 상기 제 2 아이노드가 일치하는지 판단하고,
    상기 요청된 아이노드와 상기 제 2 아이노드가 일치하지 않는 경우, 상기 호스트 운영체제를 통해 상기 제 1 메모리에 저장된 상기 요청된 아이노드를 읽는 가상화 환경에서의 데이터 처리 드라이버.
  4. 제 3 항에 있어서,
    상기 독출부는,
    상기 요청된 아이 노드를 읽은 후 상기 요청된 아이 노드에 대응되는 제 4 데이터 읽기 요청 신호가 입력되면, 상기 호스트 운영체제를 통해 상기 제 1 메모리에 저장된 상기 제 4 데이터 및 제 5 데이터에 대응되는 제 5 아이노드 정보를 읽는 가상화 환경에서의 데이터 처리 드라이버.
  5. 제 1 항에 있어서,
    상기 제 2 메모리는 제 1 메모리에 저장될 데이터를 임시 저장하고,
    상기 쓰기부는,
    데이터 저장 요청 신호가 입력되면, 상기 저장 요청된 데이터의 크기(size)와 상기 제 2 메모리에 임시 저장된 데이터 사이즈의 합이, 상기 제 1 메모리의 기본 저장 사이즈인 페이지 사이즈보다 큰지 여부를 판단하고,
    상기 저장 요청된 데이터의 크기와 상기 임시 저장된 데이터 사이즈의 합이 상기 페이지 사이즈보다 작은 경우, 상기 저장 요청된 데이터를 상기 제 2 메모리에 임시 저장하는 가상화 환경에서의 데이터 처리 드라이버.
  6. 제 5 항에 있어서,
    상기 쓰기부는,
    상기 저장 요청된 데이터의 크기와 상기 임시 저장된 데이터 사이즈의 합이 상기 페이지 사이즈보다 큰 경우, 상기 페이지 사이즈만큼의 데이터를 상기 호스트 운영체제를 통해 상기 제 1 메모리에 저장하는 가상화 환경에서의 데이터 처리 드라이버.
  7. 제 5 항에 있어서,
    상기 쓰기부는,
    상기 저장 요청된 데이터를 상기 제 2 메모리에 저장한 후, 상기 저장 요청된 데이터의 저장 완료 신호를 파일 시스템으로 전송하는 가상화 환경에서의 데이터 처리 드라이버.
  8. 제 1 항에 있어서,
    상기 데이터 처리 드라이버는 게스트 운영체제에 구비되는 가상화 환경에서의 데이터 처리 드라이버.
  9. 제 1 항에 있어서,
    상기 제 2 아이노드는 상기 제 1 데이터에 연속적으로 저장된 가상화 환경에서의 데이터 처리 드라이버.
  10. 호스트 운영 체제를 통해 제 1 메모리에 액세스하는 가상화 환경에서의 데이터 처리 방법에 있어서, 데이터 처리 드라이버가,
    제 1 아이노드에 대응되는 제 1 데이터 읽기 요청 신호가 입력되면, 상기 호스트 운영체제를 통해 상기 제 1 메모리에 저장된 상기 제 1 데이터 및 제 2 데이터에 대응되고, 제1데이터의 뒤에 연속적으로 저장된 제 2 아이노드를 동시에 독출하는 단계; 및
    직접 액세스 가능한 제 2 메모리에 상기 제 2 아이노드를 쓰는 단계를 포함하는 가상화 환경에서의 데이터 처리 방법.
  11. 제 10 항에 있어서,
    상기 독출하는 단계는,
    요청된 아이노드와 상기 제 2 메모리에 저장된 상기 제 2 아이노드가 일치하는지 판단하는 단계; 및
    상기 요청된 아이노드와 상기 제 2 아이노드가 일치하는 경우, 상기 제 1 메모리에 저장된 상기 제 2 아이노드에 대응되는 제 2 데이터 및 제 3 데이터에 대응되는 제 3 아이노드 정보를 함께 읽는 단계를 포함하는 가상화 환경에서의 데이터 처리 방법.
  12. 제 10 항에 있어서,
    상기 독출하는 단계는,
    요청된 아이노드와 상기 제 2 메모리에 저장된 상기 제 2 아이노드가 일치하는지 판단하는 단계; 및
    상기 요청된 아이노드와 상기 제 2 아이노드가 일치하지 않는 경우, 상기 호스트 운영체제를 통해 상기 제 1 메모리에 저장된 상기 요청된 아이노드를 읽는 단계를 포함하는 가상화 환경에서의 데이터 처리 방법.
  13. 제 12 항에 있어서,
    상기 독출하는 단계는,
    상기 요청된 아이 노드를 읽은 후 상기 요청된 아이 노드에 대응되는 제 4 데이터 정보 요청 신호가 입력되면, 상기 호스트 운영체제를 통해 상기 제 1 메모리에 저장된 상기 제 4 데이터 및 제 5 데이터에 대응되는 제 5 아이노드 정보를 읽는 단계를 포함하는 가상화 환경에서의 데이터 처리 방법.
  14. 제 10 항에 있어서,
    상기 제 2 메모리는 제 1 메모리에 저장될 데이터를 임시 저장하고,
    상기 쓰는 단계는,
    데이터 저장 요청 신호가 입력되면, 상기 저장 요청된 데이터의 크기(size)와 상기 제 2 메모리에 임시 저장된 데이터 사이즈의 합이, 상기 제 1 메모리의 기본 저장 사이즈인 페이지 사이즈보다 큰지 여부를 판단하는 단계; 및
    상기 저장 요청된 데이터의 크기와 상기 임시 저장된 데이터 사이즈의 합이 상기 페이지 사이즈보다 작은 경우, 상기 저장 요청된 데이터를 상기 제 2 메모리에 임시 저장하는 단계를 포함하는 가상화 환경에서의 데이터 처리 방법.
  15. 제 14 항에 있어서,
    상기 쓰는 단계는,
    상기 저장 요청된 데이터의 크기와 상기 임시 저장된 데이터 사이즈의 합이 상기 페이지 사이즈보다 큰 경우, 상기 페이지 사이즈만큼의 데이터를 상기 호스트 운영체제를 통해 상기 제 1 메모리에 저장하는 단계를 포함하는 가상화 환경에서의 데이터 처리 방법.
  16. 제 14 항에 있어서,
    상기 쓰는 단계는,
    상기 저장 요청된 데이터를 상기 제 2 메모리에 저장한 후, 상기 저장 요청된 데이터의 저장 완료 신호를 파일 시스템으로 전송하는 단계를 포함하는 가상화
    환경에서의 데이터 처리 방법.
KR1020100014853A 2010-02-18 2010-02-18 가상화 환경에서의 데이터 처리 방법 및 드라이버 KR101636878B1 (ko)

Priority Applications (2)

Application Number Priority Date Filing Date Title
KR1020100014853A KR101636878B1 (ko) 2010-02-18 2010-02-18 가상화 환경에서의 데이터 처리 방법 및 드라이버
US12/962,725 US8930968B2 (en) 2010-02-18 2010-12-08 Method and driver for processing data in a virtualized environment

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020100014853A KR101636878B1 (ko) 2010-02-18 2010-02-18 가상화 환경에서의 데이터 처리 방법 및 드라이버

Publications (2)

Publication Number Publication Date
KR20110095051A KR20110095051A (ko) 2011-08-24
KR101636878B1 true KR101636878B1 (ko) 2016-07-06

Family

ID=44370430

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020100014853A KR101636878B1 (ko) 2010-02-18 2010-02-18 가상화 환경에서의 데이터 처리 방법 및 드라이버

Country Status (2)

Country Link
US (1) US8930968B2 (ko)
KR (1) KR101636878B1 (ko)

Families Citing this family (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101751936B1 (ko) 2011-12-15 2017-07-12 한국전자통신연구원 호스트 기반 단말 가상화 환경에서 공유 메모리를 이용한 입출력 디바이스 가상화 장치 및 방법
JP2015072629A (ja) * 2013-10-03 2015-04-16 富士通株式会社 データ処理プログラム及びデータ処理方法
KR101592782B1 (ko) 2014-11-05 2016-02-12 플러스기술주식회사 전가상화 시스템에서 자원을 감시하는 장치 및 방법
JP2016115286A (ja) * 2014-12-17 2016-06-23 株式会社リコー 情報処理装置及び情報処理方法
CN105988874B (zh) 2015-02-10 2020-08-28 阿里巴巴集团控股有限公司 资源处理方法及装置
KR101673774B1 (ko) * 2015-06-01 2016-11-08 주식회사 수산아이앤티 가상화 시스템에서 파일 입출력 제어를 위한 방법
CN106445730B (zh) * 2016-07-22 2019-12-03 平安科技(深圳)有限公司 一种提高虚拟机性能的方法和终端

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20050154825A1 (en) 2004-01-08 2005-07-14 Fair Robert L. Adaptive file readahead based on multiple factors
US20060077894A1 (en) 2000-07-18 2006-04-13 International Business Machines Corporation Detecting when to prefetch inodes and then prefetching inodes in parallel
KR100771154B1 (ko) 2006-08-09 2007-10-29 한국과학기술원 검색가능한 가상파일시스템과 그것을 이용한 파일검색방법

Family Cites Families (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2945498B2 (ja) * 1991-04-12 1999-09-06 富士通株式会社 システム間通信方式
US5671439A (en) * 1995-01-10 1997-09-23 Micron Electronics, Inc. Multi-drive virtual mass storage device and method of operating same
FR2758644B1 (fr) * 1997-01-21 1999-04-09 Sgs Thomson Microelectronics Indicateur d'ecriture par page pour memoire non volatile
US7203815B2 (en) * 2004-07-30 2007-04-10 International Business Machines Corporation Multi-level page cache for enhanced file system performance via read ahead
US20060206538A1 (en) * 2005-03-09 2006-09-14 Veazey Judson E System for performing log writes in a database management system
JP2009104421A (ja) * 2007-10-23 2009-05-14 Hitachi Ltd ストレージアクセス装置
KR101478619B1 (ko) * 2008-02-27 2015-01-06 삼성전자주식회사 가상화 기술을 이용한 데이터 입출력 방법 및 장치

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20060077894A1 (en) 2000-07-18 2006-04-13 International Business Machines Corporation Detecting when to prefetch inodes and then prefetching inodes in parallel
US20050154825A1 (en) 2004-01-08 2005-07-14 Fair Robert L. Adaptive file readahead based on multiple factors
KR100771154B1 (ko) 2006-08-09 2007-10-29 한국과학기술원 검색가능한 가상파일시스템과 그것을 이용한 파일검색방법

Also Published As

Publication number Publication date
KR20110095051A (ko) 2011-08-24
US8930968B2 (en) 2015-01-06
US20110202706A1 (en) 2011-08-18

Similar Documents

Publication Publication Date Title
CN107209681B (zh) 一种存储设备访问方法、装置和系统
KR101636878B1 (ko) 가상화 환경에서의 데이터 처리 방법 및 드라이버
US9448728B2 (en) Consistent unmapping of application data in presence of concurrent, unquiesced writers and readers
US10496613B2 (en) Method for processing input/output request, host, server, and virtual machine
JP5592942B2 (ja) 仮想マシンシステムにおけるショートカット入出力
US8751785B2 (en) Memory tagging and preservation during a hot upgrade
RU2532708C2 (ru) Способ и устройство для осуществления операции ввода/вывода в среде виртуализации
US10459802B2 (en) Backup image restore
US20100070544A1 (en) Virtual block-level storage over a file system
JP6040101B2 (ja) ストレージ装置の制御方法、ストレージ装置及び情報処理装置
CN103348331A (zh) 具数据管理的层级式数据储存系统及其操作方法
JP2013513163A (ja) 格納デバイスの仮想化
CN103699372A (zh) 从中央存储装置引导计算机系统
US11188365B2 (en) Memory overcommit by speculative fault
WO2017157145A1 (zh) 一种数据预取方法以及装置
US9870242B2 (en) Parallel mapping of client partition memory to multiple physical adapters
CN107766385B (zh) 一种转换虚拟磁盘文件格式的方法与设备
US20140379958A1 (en) Firmware Storage and Maintenance
CN111444113A (zh) 非易失性存储介质共享方法、装置、电子设备及存储设备
CN111367830B (zh) 主机参与的重建ftl表的方法及其存储设备
JP6506976B2 (ja) 情報処理装置及びプログラム
Dechev et al. NVMe SSD Disks and Virtual Memory-Analysis of the Effect of Their Conjunction over the Performance of Workstations Working in a Windows Environment
JP2014164759A (ja) データストレージ装置およびシステム、ならびにデータストレージ方法
US9547501B2 (en) Information processing apparatus, storage control apparatus, and computer-readable recording medium having stored program
CN116027984A (zh) 一种虚拟化gpt分区方法、存储介质及装置

Legal Events

Date Code Title Description
A201 Request for examination
E902 Notification of reason for refusal
E701 Decision to grant or registration of patent right
GRNT Written decision to grant