KR20140027885A - 변경된 운영체제 환경에서 디스크의 데이터 무결성을 보호하는 방법 및 프로그램을 기록한 컴퓨터로 읽을 수 있는 매체 - Google Patents

변경된 운영체제 환경에서 디스크의 데이터 무결성을 보호하는 방법 및 프로그램을 기록한 컴퓨터로 읽을 수 있는 매체 Download PDF

Info

Publication number
KR20140027885A
KR20140027885A KR1020130101222A KR20130101222A KR20140027885A KR 20140027885 A KR20140027885 A KR 20140027885A KR 1020130101222 A KR1020130101222 A KR 1020130101222A KR 20130101222 A KR20130101222 A KR 20130101222A KR 20140027885 A KR20140027885 A KR 20140027885A
Authority
KR
South Korea
Prior art keywords
disk
unique identifier
partition
global unique
modified
Prior art date
Application number
KR1020130101222A
Other languages
English (en)
Other versions
KR102145358B1 (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
Priority claimed from US13/595,986 external-priority patent/US20140059291A1/en
Application filed by 삼성전자주식회사 filed Critical 삼성전자주식회사
Publication of KR20140027885A publication Critical patent/KR20140027885A/ko
Application granted granted Critical
Publication of KR102145358B1 publication Critical patent/KR102145358B1/ko

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/60Protecting data
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/02Addressing or allocation; Relocation
    • G06F12/08Addressing or allocation; Relocation in hierarchically structured memory systems, e.g. virtual memory systems
    • G06F12/0802Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches
    • G06F12/0866Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches for peripheral storage systems, e.g. disk cache
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input 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/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0602Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
    • G06F3/062Securing storage systems
    • G06F3/0622Securing storage systems in relation to access
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/02Addressing or allocation; Relocation
    • G06F12/08Addressing or allocation; Relocation in hierarchically structured memory systems, e.g. virtual memory systems
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/02Addressing or allocation; Relocation
    • G06F12/08Addressing or allocation; Relocation in hierarchically structured memory systems, e.g. virtual memory systems
    • G06F12/0802Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches
    • G06F12/0844Multiple simultaneous or quasi-simultaneous cache accessing
    • G06F12/0846Cache with multiple tag or data arrays being simultaneously accessible
    • G06F12/0848Partitioned cache, e.g. separate instruction and operand caches
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input 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/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0628Interfaces specially adapted for storage systems making use of a particular technique
    • G06F3/0629Configuration or reconfiguration of storage systems
    • G06F3/0637Permissions
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input 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/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0628Interfaces specially adapted for storage systems making use of a particular technique
    • G06F3/0638Organizing or formatting or addressing of data
    • G06F3/0644Management of space entities, e.g. partitions, extents, pools
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input 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/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0668Interfaces specially adapted for storage systems adopting a particular infrastructure
    • G06F3/0671In-line storage system
    • G06F3/0673Single storage device
    • G06F3/068Hybrid storage device
    • 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/4401Bootstrapping
    • G06F9/4406Loading of operating system
    • G06F9/4408Boot device selection
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/02Addressing or allocation; Relocation
    • G06F12/08Addressing or allocation; Relocation in hierarchically structured memory systems, e.g. virtual memory systems
    • G06F12/0802Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches
    • G06F12/0866Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches for peripheral storage systems, e.g. disk cache
    • G06F12/0873Mapping of cache memory to specific storage devices or parts thereof
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/02Addressing or allocation; Relocation
    • G06F12/08Addressing or allocation; Relocation in hierarchically structured memory systems, e.g. virtual memory systems
    • G06F12/0802Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches
    • G06F12/0888Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches using selective caching, e.g. bypass
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2212/00Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
    • G06F2212/10Providing a specific technical effect
    • G06F2212/1052Security improvement
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2212/00Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
    • G06F2212/28Using a specific disk cache architecture
    • G06F2212/281Single cache
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2212/00Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
    • G06F2212/46Caching storage objects of specific type in disk cache
    • G06F2212/463File

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Human Computer Interaction (AREA)
  • Software Systems (AREA)
  • Computer Security & Cryptography (AREA)
  • Health & Medical Sciences (AREA)
  • Bioethics (AREA)
  • General Health & Medical Sciences (AREA)
  • Computer Hardware Design (AREA)
  • Memory System Of A Hierarchy Structure (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

본 발명은 캐시 디스크의 전역 고유 식별자 파티션 테이블을 수정된 전역 고유 식별자 파티션 테이블로 대체하는 단계, 및 전역 고유 식별자 파티션 테이블에 기초한 정보를 이용하여 캐시 디스크의 데이터에 접근하는 단계를 포함하는, 변경된 운영체제 환경에서 디스크의 데이터 무결성을 보호하는 방법을 제공할 수 있다. 본 발명의 실시 예에 따르면, 운영체제가 캐시된 파티션에 접근하기 위해 수정된 전역 고유 식별자 파티션 테이블을 사용하는 경우 수정된 전역 고유 식별자 파티션 테이블은 캐시된 파티션으로의 접근을 불가능하게 할 수 있다. 반면, 운영체제가 캐시되지 않은 파티션에 접근하기 위해 수정된 전역 고유 식별자 파티션 테이블을 사용하는 경우 캐시되지 않은 파티션은 접근 가능할 수 있다. 본 발명의 실시 예에 따르면, 변경된 운영체제 환경으로 캐시 저장 장치가 옮겨지기 전에 캐싱이 중단되지 않은 경우에도 데이터 무결성이 보호될 수 있다.

Description

변경된 운영체제 환경에서 디스크의 데이터 무결성을 보호하는 방법 및 프로그램을 기록한 컴퓨터로 읽을 수 있는 매체{METHOD AND COMPUTER-READABLE MEDIUM EMBODING PROGRAM FOR PROTECTING DATA INTEGRITY OF DISK IN ALTERNATE OPERATING SYSTEM ENVIRONMENT}
본 발명은 데이터 무결성(Data Integrity)을 보호하는 기술에 관한 것으로서, 좀 더 구체적으로는 변경된 운영체제 환경에서 전역 고유 식별자 파티션 테이블(Globally Unique Identifier Partition Table) 기반의 저장 장치의 데이터 무결성을 보호하기 위한 기술에 관한 것이다.
캐싱(Caching)은 디스크 드라이브(Disk Drive)와 같이 느린 속도로 작동하는 저장 장치의 성능을 향상시키기 위해 저장 환경에서 오랫동안 사용되어 왔다. 캐싱에 있어서, 크기가 작고 빠른 속도로 작동하는 저장 매체는 자주 사용되는 데이터를 일시적으로 저장하고 읽기 위해 활용되는 반면, 크기가 크고 느린 속도로 작동하는 대용량 저장 매체는 데이터를 장시간 저장하기 위해 사용된다. 캐싱 방법 중 하나로서 후 기입 캐싱(Write-back Caching)이 있다. 후 기입 캐싱에 있어서, 디스크에 기록된 데이터는 일단 캐시(Cache)에 저장되고, 그 후 일반적으로 캐시에 저장된 데이터의 양이 임계 값에 도달하거나 허용되는 시간이 경과하면 대용량 저장 장치에 기록된다.
도 1은 예시적인 종래 기술에 따라 후 기입 캐싱 기능을 갖는 컴퓨터 시스템을 나타낸 블록도이다. 예시적인 종래 기술에 따른 컴퓨터 시스템(100)은 중앙 처리 장치(Central Processing Unit, 이하 CPU, 102), CPU(102)와 통신하는 시스템 메모리(104), 캐시(106), 및 대상 저장 장치(108)를 포함한다. 또한, 시스템 메모리(104)는 컴퓨터 시스템(100)이 후 기입 캐싱 기능을 활용할 수 있도록 하는 캐싱 소프트웨어(110)를 불러온다.
앞에서 언급된 바와 같이, 캐시(106)는 일반적으로 대상 저장 장치(108)로 사용되는 저장 매체보다 크기가 작고 작동 속도가 빠른 저장 매체를 포함한다. 캐시(106)의 작동 속도가 빠르기 때문에 캐시(106)에 대한 직접적인 읽기 및 쓰기는 대상 저장 장치(108)를 이용한 읽기 및 쓰기보다 훨씬 빠르게 처리될 수 있다. 대상 저장 장치(108)로 데이터를 전송하기 전에 후 기입 캐시(106)로 모든 쓰기 요청을 송신함으로써 후 기입 캐싱의 이점이 부각될 수 있다.
예로서, CPU(102)가 쓰기 요청을 처리하여 대상 저장 장치(108)에 데이터를 기록하는 경우 캐싱 소프트웨어(110)는 쓰기 요청을 가로채고 데이터를 대상 저장 장치(108) 대신 캐시(106)에 기록할 수 있다. 이때, 캐시(106)에 기록된 데이터는 아직 대상 저장 장치(108)에 기록되지 않은 것으로서 "더티(Dirty)" 데이터라고 불리는데, 대상 저장 장치(108)에 기록된 후에는 "클린(Clean)" 데이터가 된다.
캐싱 소프트웨어(110)는 사용자에게 대상 저장 장치(108)의 전반적인 내용을 제공한다. 구체적으로, CPU(102)가 데이터에 대한 읽기 요청을 처리하는 경우 캐싱 소프트웨어(110)는 읽기 요청을 또 가로채고 그 데이터가 캐시(106)에 저장되어 있는지 여부를 판단한다. 데이터가 캐시(106)에 저장되어 있는 경우 CPU(102)는 캐시(106)로부터 데이터를 읽는다. 반면, 데이터가 캐시(106)에 저장되어 있지 않은 경우 CPU(102)는 대상 저장 장치(108)로부터 데이터를 읽는다.
어느 시점에서, 데이터가 캐시(106)에만 저장되고 대상 저장 장치(108)로는 업데이트되지 않았을 수 있다. 따라서, 대상 저장 장치(108)는 사용자가 저장되어 있다고 믿는 것과 동일한 데이터를 완전히 저장하고 있지 않을 수 있다. 결과적으로, 만일 사용자가 대상 저장 장치(108)를 캐싱 소프트웨어(110)가 존재하지 않는 다른 운영체제(Operating System, 이하 OS) 환경으로 옮기면 대상 저장 장치(108)의 데이터에 오류가 생길 수 있고 데이터가 무용지물로 될 수 있다.
예로서, 파일(File)의 일부가 대상 저장 장치(108)에 저장되고 파일의 다른 일부가 캐시(106)에 저장되는 경우 캐싱 소프트웨어(110)는 파일의 전반적인 내용을 제공한다. 이로써, 사용자는 파일이 대상 저장 장치(108)에 완전히 저장되어 있는 것으로 인식한다. 그런데, 만일 사용자가 대상 저장 장치(108)를 캐싱 소프트웨어(110)가 존재하지 않는 다른 OS 환경으로 옮기면 대상 저장 장치(108)에 저장된 파일은 완전한 것이 아니게 된다. 하지만, 사용자는 파일이 완전한 것인지 아닌지 여부를 알지 못하고 그 파일의 수정을 시도할 수 있다. 그 후 대상 저장 장치(108)가 원래의 OS 환경으로 다시 옮겨오면 데이터 무결성(Data Integrity)에 문제가 발생한다.
전통적으로, 데이터 무결성은 대상 저장 장치(108)를 다른 OS 환경으로 옮기기 전에 캐싱 소프트웨어(110)가 실행되지 않도록 하는 사용자들에 의해 다루어진다. 캐싱 소프트웨어(110)가 실행되지 않도록 하면 캐시(106)에서 더티 데이터가 방출되고 대상 저장 장치(108)에 저장된 데이터가 완전한 클린 데이터로 된다. 이후 대상 저장 장치(108)가 다른 OS 환경으로 옮겨지면 캐싱 결과에 따른 데이터 오류가 발생하지 않을 것이다.
그렇지만, 사용자는 대상 저장 장치(108)를 제거하여 다른 OS 환경으로 옮기기 전에 캐싱 소프트웨어(110)가 실행되지 않도록 하는 것을 항상 기억하지는 않는다. 결과적으로, 부주의한 사용자가 대상 저장 장치(108)를 제거하기 전에 캐싱 소프트웨어(110)가 실행되지 않도록 하는 것을 잊어버리면, 캐싱 소프트웨어(110)에 더티 데이터 방출 기능이 있음에도 불구하고, 대상 저장 장치(108)에 저장된 데이터에 오류가 발생할 수 있다.
지금까지의 논의에 따르면, 변경된 OS 환경에서 저장 장치의 데이터 무결성을 보호하기 위한 시스템과 방법이 필요하다. 이상적으로, 데이터 무결성 보호 시스템 및 방법은 사용자가 변경된 OS 환경으로 캐시 저장 장치를 옮기기 전에 캐싱 소프트웨어가 실행되지 않도록 하는 것을 잊어버린 경우에도 데이터 무결성을 보호할 수 있어야 한다.
변경된 운영체제 환경에서 전역 고유 식별자 파티션 테이블(Globally Unique Identifier Partition Table)을 사용하는 캐시(Cache) 저장 장치의 데이터 무결성(Data Integrity)을 보호하기 위한 실시 예가 개시된다. 본 발명의 실시 예에 따라 캐시 디스크의 데이터 무결성을 보호하는 메커니즘은 디스크의 전역 고유 식별자 파티션 테이블를 활용할 수 있다. 본 발명의 실시 예에 따르면, 추가적인 하드웨어 또는 시스템 구조의 물리적 변경 없이 변경된 운영체제 환경에서 사용자가 디스크의 내용을 확인하는 과정을 제어하는 메커니즘이 제공된다.
본 발명의 실시 예에 따라 변경된 운영체제 환경에서 디스크의 데이터 무결성을 보호하는 방법은 캐시 디스크의 전역 고유 식별자 파티션 테이블을 수정된 전역 고유 식별자 파티션 테이블로 대체하는 단계; 및 전역 고유 식별자 파티션 테이블에 기초한 정보를 이용하여 캐시 디스크의 데이터에 접근하는 단계를 포함할 수 있다. 이 실시 예에서, 운영체제가 캐시 디스크의 캐시된 파티션에 접근하기 위해 수정된 전역 고유 식별자 파티션 테이블을 사용하는 경우 수정된 전역 고유 식별자 파티션 테이블은 캐시된 파티션으로의 접근을 불가능하게 할 수 있다. 반면, 이 실시 예에서, 운영체제가 캐시 디스크의 캐시되지 않은 파티션에 접근하기 위해 수정된 전역 고유 식별자 파티션 테이블을 사용하는 경우 캐시되지 않은 파티션은 접근 가능할 수 있다.
본 발명의 실시 예에 따라 변경된 운영체제 환경에서 디스크의 데이터 무결성을 보호하는 방법은 캐싱 중단 요청에 응답하여 캐시 디스크의 수정된 전역 고유 식별자 파티션 테이블을 전역 고유 식별자 파티션 테이블로 대체하는 단계를 더 포함할 수 있다.
본 발명의 실시 예에 따라 변경된 운영체제 환경에서 디스크의 데이터 무결성을 보호하는 방법에서, 캐시된 파티션에 대한 수정된 전역 고유 식별자 파티션 테이블에 포함되는 캐시 파티션 엔트리는 그에 대응되는 전역 고유 식별자 파티션 테이블의 엔트리에 저장된 것과 다른 파티션 시작 및 종료 위치 데이터를 포함할 수 있다. 나아가, 이 실시 예에서, 캐시되지 않은 파티션에 대한 수정된 전역 고유 식별자 파티션 테이블에 포함되는 언캐시 파티션 엔트리는 그에 대응되는 전역 고유 식별자 파티션 테이블의 엔트리와 같은 데이터를 포함할 수 있다.
본 발명의 실시 예에 따라 변경된 운영체제 환경에서 디스크의 데이터 무결성을 보호하는 방법에서, 수정된 전역 고유 식별자 파티션 테이블은 캐시 디스크에 저장되고, 변경된 운영체제 환경에서 운영체제가 캐시 디스크를 부팅하기 위해 수정된 전역 고유 식별자 파티션 테이블을 사용할 수 있다.
본 발명의 실시 예에 따라 변경된 운영체제 환경에서 디스크의 데이터 무결성을 보호하는 방법에서, 전역 고유 식별자 파티션 테이블은 캐싱 디스크에 저장되고, 캐싱 디스크는 캐시 디스크에 캐시 데이터를 저장하는 후 기입 캐싱을 위해 사용될 수 있다. 나아가, 이 실시 예에서, 전역 고유 식별자 파티션 테이블은 캐시 디스크에 수정된 전역 고유 식별자 파티션 테이블이 저장된 위치와 다른 위치에도 저장될 수 있다.
본 발명의 실시 예에 따라 변경된 운영체제 환경에서 디스크의 데이터 무결성을 보호하기 위한 컴퓨터 프로그램을 기록한 컴퓨터로 읽을 수 있는 매체는 컴퓨터에서 캐시 디스크의 전역 고유 식별자 파티션 테이블을 수정된 전역 고유 식별자 파티션 테이블로 대체하는 단계; 및 전역 고유 식별자 파티션 테이블에 기초한 정보를 이용하여 캐시 디스크의 데이터에 접근하는 단계를 실행시킬 수 있다. 이 실시 예에서, 운영체제가 캐시 디스크의 캐시된 파티션에 접근하기 위해 수정된 전역 고유 식별자 파티션 테이블을 사용하는 경우 수정된 전역 고유 식별자 파티션 테이블은 캐시된 파티션으로의 접근을 불가능하게 할 수 있다. 반면, 이 실시 예에서, 운영체제가 캐시 디스크의 캐시되지 않은 파티션에 접근하기 위해 수정된 전역 고유 식별자 파티션 테이블을 사용하는 경우 캐시되지 않은 파티션은 접근 가능할 수 있다.
본 발명의 실시 예에 따라 변경된 운영체제 환경에서 디스크의 데이터 무결성을 보호하기 위한 컴퓨터 프로그램을 기록한 컴퓨터로 읽을 수 있는 매체는 컴퓨터에서 캐싱 중단 요청에 응답하여 캐시 디스크의 수정된 전역 고유 식별자 파티션 테이블을 전역 고유 식별자 파티션 테이블로 대체하는 단계를 더 실행시킬 수 있다.
본 발명의 실시 예에 따라 변경된 운영체제 환경에서 디스크의 데이터 무결성을 보호하기 위한 컴퓨터 프로그램을 기록한 컴퓨터로 읽을 수 있는 매체에서, 캐시된 파티션에 대한 수정된 전역 고유 식별자 파티션 테이블에 포함되는 캐시 파티션 엔트리는 그에 대응되는 전역 고유 식별자 파티션 테이블의 엔트리에 저장된 것과 다른 파티션 시작 및 종료 위치 데이터를 포함할 수 있다. 나아가, 이 실시 예에서, 캐시되지 않은 파티션에 대한 수정된 전역 고유 식별자 파티션 테이블에 포함되는 언캐시 파티션 엔트리는 그에 대응되는 전역 고유 식별자 파티션 테이블의 엔트리와 같은 데이터를 포함할 수 있다.
본 발명의 실시 예에 따라 변경된 운영체제 환경에서 디스크의 데이터 무결성을 보호하기 위한 컴퓨터 프로그램을 기록한 컴퓨터로 읽을 수 있는 매체에서, 수정된 전역 고유 식별자 파티션 테이블이 캐시 디스크에 저장되고, 변경된 운영체제 환경에서 운영체제가 캐시 디스크를 부팅하기 위해 수정된 전역 고유 식별자 파티션 테이블을 사용할 수 있다.
본 발명의 실시 예에 따라 변경된 운영체제 환경에서 디스크의 데이터 무결성을 보호하기 위한 컴퓨터 프로그램을 기록한 컴퓨터로 읽을 수 있는 매체에서, 전역 고유 식별자 파티션 테이블은 캐싱 디스크에 저장되고, 캐싱 디스크는 캐시 디스크에 캐시 데이터를 저장하는 후 기입 캐싱을 위해 사용될 수 있다.
본 발명의 실시 예에 따라 변경된 운영체제 환경에서 디스크의 데이터 무결성을 보호하기 위한 컴퓨터 프로그램을 기록한 컴퓨터로 읽을 수 있는 매체에서, 전역 고유 식별자 파티션 테이블은 캐시 디스크에 수정된 전역 고유 식별자 파티션 테이블이 저장된 위치와 다른 위치에 저장될 수 있다.
본 발명의 실시 예에 따르면, 변경된 운영체제 환경에서 저장 장치의 데이터 무결성이 보호될 수 있다. 구체적으로, 시스템 사용자가 변경된 운영체제 환경으로 캐시 저장 장치를 옮기기 전에 캐싱 소프트웨어가 실행되지 않도록 하는 것을 잊어버린 경우에도 데이터 무결성이 보호될 수 있다. 본 발명의 실시 예에 따르면, 저장 장치가 완전성을 갖출 수 있고 변경된 운영체제 환경에서 저장 장치로의 접근이 안전하게 이루어질 수 있다. 본 발명의 실시 예에 따르면, 캐시 저장 장치의 일관성 및 완전성이 보완될 수 있다.
도 1은 예시적인 종래 기술에 따라 후 기입 캐싱(Write-back Caching) 기능을 갖는 컴퓨터 시스템을 나타낸 블록도이다.
도 2는 변경된 운영체제 환경으로 캐시(Cache) 디스크가 옮겨진 경우 본 발명의 실시 예에 따라 데이터 무결성(Data Integrity)을 보호하는 컴퓨터 시스템을 나타낸 블록도이다.
도 3은 본 발명의 실시 예에 따른 전역 고유 식별자 파티션 테이블(Globally Unique Identifier Partition Table) 및 그에 대응되는 수정된 전역 고유 식별자 파티션 테이블의 구성을 나타낸 그림이다.
도 4는 본 발명의 실시 예에 따라 복수의 파티션을 포함하는 캐시 디스크를 나타낸 그림이다.
도 5는 본 발명의 실시 예에 따라 캐시 디스크가 완전히 업데이트되어 캐싱 소프트웨어를 포함하지 않는 변경된 운영체제 환경에서 안전하게 접근할 수 있게 된 컴퓨터 시스템을 나타낸 블록도이다.
도 6은 변경된 운영체제 환경으로 캐시 디스크가 옮겨지는 경우 본 발명의 실시 예에 따라 캐시 디스크의 데이터 무결성을 보호하는 방법을 설명하는 흐름도이다.
도 7은 본 발명의 실시 예에 따라 캐싱을 중단하기 위한 명령에 응답하여 변경된 운영체제 환경에서 캐시 디스크의 캐시된 파티션으로의 접근이 가능하도록 하는 방법을 설명하는 흐름도이다.
전술한 특성 및 이하 상세한 설명은 모두 본 발명의 설명 및 이해를 돕기 위한 예시적인 사항이다. 즉, 본 발명은 이와 같은 실시 예에 한정되지 않고 다른 형태로 구체화될 수 있다. 다음 실시 형태들은 단지 본 발명을 완전히 개시하기 위한 예시이며, 본 발명이 속하는 기술 분야의 통상의 기술자들에게 본 발명을 전달하기 위한 설명이다. 따라서 본 발명의 구성 요소들을 구현하기 위한 방법이 여럿 있는 경우에는, 이들 방법 중 특정한 것 또는 이와 동일성 있는 것 가운데 어떠한 것으로든 본 발명의 구현이 가능함을 분명히 할 필요가 있다.
본 명세서에서 어떤 구성이 특정 요소들을 포함한다는 언급이 있는 경우, 또는 어떤 과정이 특정 단계들을 포함한다는 언급이 있는 경우는, 그 외 다른 요소 또는 다른 단계들이 더 포함될 수 있음을 의미한다. 즉, 본 명세서에서 사용되는 용어들은 특정 실시 형태를 설명하기 위한 것일 뿐이고, 본 발명의 개념을 한정하기 위한 것이 아니다. 나아가, 발명의 이해를 돕기 위해 설명한 예시들은 그것의 상보적인 실시 예도 포함한다.
본 명세서에서 사용되는 용어들은 본 발명이 속하는 기술 분야의 통상의 기술자들이 일반적으로 이해하는 의미를 갖는다. 보편적으로 사용되는 용어들은 본 명세서의 맥락에 따라 일관적인 의미로 해석되어야 한다. 또한 본 명세서에서 사용되는 용어들은, 그 의미가 명확히 정의된 경우가 아니라면, 지나치게 이상적이거나 형식적인 의미로 해석되지 않아야 한다.
본 명세서는 변경된 운영체제(Operating System, 이하 OS) 환경에서 전역 고유 식별자(Globally Unique Identifier, 이하 GUID) 파티션 테이블(GUID Partition Table, 이하 GPT)을 사용하는 캐시(Cache) 저장 장치의 데이터 무결성(Data Integrity)을 보호하기 위한 발명의 실시 예를 개시한다. 일반적으로, 본 발명의 실시 예들은 캐시 디스크의 데이터 무결성을 보호하기 위한 메커니즘을 제공하기 위해 디스크의 GPT를 활용할 수 있다. OS는 GPT를 통해 디스크로의 접근을 시도하기 때문에, 본 발명의 실시 예들은 추가적인 하드웨어 또는 시스템 구조의 물리적 변경 없이 변경된 OS 환경에서 사용자가 디스크의 내용을 확인하는 과정을 제어하는 메커니즘을 제공한다. 이하 첨부된 도면을 통하여 본 발명의 실시 예가 설명된다. 다만, 도 1은 종래 기술과 관련하여 이미 설명되었다.
도 2는 변경된 OS 환경으로 캐시 디스크가 옮겨진 경우 본 발명의 실시 예에 따라 데이터 무결성을 보호하는 컴퓨터 시스템을 나타낸 블록도이다. 컴퓨터 시스템(200)은 중앙 처리 장치(Central Processing Unit, 이하 CPU, 202), CPU와 연결된 시스템 메모리(204), 캐싱(Caching) 디스크(206), 및 캐시 디스크(208)를 포함할 수 있다. 또한, 시스템 메모리(204)는 캐싱 소프트웨어(210)를 불러올 수 있다. 캐싱 소프트웨어(210)는 컴퓨터 시스템(200)이 후 기입(Write-back) 캐싱 기능을 활용할 수 있도록 한다.
캐싱 디스크(206)는 캐시 디스크(208)로 사용되는 것보다 크기가 작고 작동 속도가 빠른 디스크일 수 있다. 예로서, 캐싱 디스크(206)는 낸드 플래시(NAND Flash) 구조의 솔리드 스테이트 드라이브(Solid State Drive, SSD) 또는 상 변화 메모리(Phase Change Memory, PCM)일 수 있다. 캐싱 디스크(206)의 작동 속도가 빠르기 때문에 캐싱 디스크(206)에 대한 직접적인 읽기 및 쓰기는 캐시 디스크(208)를 이용한 읽기 및 쓰기보다 훨씬 빠르게 처리될 수 있다. 캐시 디스크(208)로 데이터를 전송하기 전에 캐싱 디스크(206)로 모든 쓰기 요청을 송신함으로써 후 기입 캐싱의 이점이 부각될 수 있다. 캐싱 소프트웨어(210)는 캐시 디스크(208)의 전반적인 내용을 제공할 수 있다. 따라서, 캐싱 디스크(206)에 저장된 데이터가 있는지 여부에 관계없이 사용자는 언제나 캐시 디스크(208)의 전반적인 내용을 확인할 수 있다.
통상적인 작동 과정에서, CPU(202)가 쓰기 요청을 처리하여 캐시 디스크(208)에 데이터를 기록하는 경우 캐싱 소프트웨어(210)는 쓰기 요청을 가로채고 데이터를 캐싱 디스크(206)에 기록할 수 있다. 이때, 캐싱 디스크(206)에 기록된 데이터는 아직 캐시 디스크(208)에 기록되지 않은 것으로서 "더티(Dirty)" 데이터라고 불리는데, 캐시 디스크(208)에 기록된 후에는 "클린(Clean)" 데이터가 된다. 나아가, CPU(202)가 데이터에 대한 읽기 요청을 처리하는 경우 캐싱 소프트웨어(210)는 읽기 요청을 또 가로채고 그 데이터가 캐싱 디스크(206)에 저장되어 있는지 여부를 판단할 수 있다. 데이터가 캐싱 디스크(206)에 저장되어 있는 경우 CPU(202)는 캐싱 디스크(206)로부터 데이터를 읽을 수 있다. 반면, 데이터가 캐싱 디스크(206)에 저장되어 있지 않은 경우 CPU(202)는 캐시 디스크(208)로부터 데이터를 읽을 수 있다.
앞에서 언급된 바와 같이, 사용자가 캐시 디스크(208)를 캐싱 소프트웨어(210)가 없는 다른 OS 환경으로 옮기면 캐시 디스크(208)의 데이터에 오류가 생길 수 있고 데이터가 무용지물로 될 수 있다. 본 발명의 실시 예들은 이 문제점을 다루기 위해 캐시 디스크(208)의 원래의 GPT(212)를 수정된 GPT(214)로 대체할 수 있다. 본 발명의 실시 예들은 변경된 OS 환경으로 캐시 디스크(208)가 옮겨지는 경우 캐시 디스크(208)의 저장 내용으로의 접근이 불가능하도록 할 수 있다.
시스템 시동 과정에서 CPU(202)에 의해 가장 먼저 실행되는 코드(Code)는 바이오스(Basic Input Output System, BIOS)와 관련된 코드이다. 바이오스는 컴퓨터 시스템(200)의 하드웨어의 작동을 위한 초기 설정 작업을 수행하고 OS를 불러온다. 그리고, 바이오스는 캐시 디스크(208) 등 부트(Boot) 장치로 지정된 장치를 식별하고 컴퓨터 시스템(200)을 계속 제어하는 OS 소프트웨어를 불러온다. UEFI(Unified Extensible Firmware Interface) 표준을 채용한 새로운 시스템에서, 바이오스의 기능은 GPT를 사용하는 UEFI를 통해 제공된다.
GPT를 사용하는 디스크의 첫 번째 섹터인 0번 섹터는 GPT 디스크의 부팅(Booting) 바이오스 기반의 시스템을 지원하는 보호 MBR(Protective Master Boot Record, Protective MBR)에 의해 예약되어 있다. GPT 디스크로의 접근을 위한 디스크 배치 및 파티션 정보는 디스크의 1번 섹터부터 33번 섹터에 저장된다. 0번 섹터부터 33번 섹터까지의 시작 부분의 섹터들은 GPT라고 불린다.
본 발명의 실시 예들은 디스크의 원래 GPT를 수정된 GPT로 대체할 수 있다. 실시 예로서, 캐시 디스크(208)의 원래의 GPT(212)는 수정된 GPT(214)로 대체될 수 있다. 원래의 GPT(212)는 캐시 디스크(208)의 특정 위치, 예컨대 캐시 디스크(208)의 끝 부분에 저장될 수 있다. 또한, 원래의 GPT(212)는 캐싱 디스크(206)에도 저장될 수 있다.
도 3은 본 발명의 실시 예에 따른 GPT 및 그에 대응되는 수정된 GPT의 구성을 나타낸 그림이다. 도 3에 나타난 바와 같이, 가장 처음의 논리 섹터는 GPT 디스크의 부팅 바이오스 기반의 시스템을 지원하는 보호 MBR에 의해 예약되어 있다. 보호 MBR에 의해 예약된 섹터의 다음에는 주요 GPT 헤더(Primary GPT Header) 및 파티션 테이블 엔트리(Partition Table Entry)들이 위치한다.
본 발명의 실시 예들은 캐시된 파티션(Cached Partition)을 정의하는 엔트리의 내용을 수정하되, 캐시되지 않은 파티션(Uncached Partition)을 정의하는 엔트리의 내용은 수정하지 않고 그대로 둘 수 있다. 예로서, 도 3에서, 원래의 GPT(212)의 1번 엔트리(300a)는 캐시된 파티션을 정의하고 2번 엔트리(300b)는 캐시되지 않은 파티션을 정의할 수 있다. 본 발명의 실시 예들은 원래의 GPT(212)의 1번 엔트리(300a)의 데이터를 수정된 GPT(214)의 1번 엔트리(300a')의 더미 데이터(Dummy Data)로 대체할 수 있다. 즉, 수정된 GPT(214)의 1번 엔트리(300a')에 포함되는 파티션 시작 및 종료 위치 데이터는 원래의 GPT(212)의 1번 엔트리(300a)에 포함되는 파티션 시작 및 종료 위치 데이터와 다를 수 있다.
하지만, 본 발명의 실시 예들은 캐시되지 않은 파티션을 정의하는 엔트리의 내용은 수정하지 않을 수 있다. 예컨대, 도 3에서, 2번 엔트리(300b)는 캐시되지 않은 파티션을 정의할 수 있다. 따라서, 본 발명의 실시 예들은 수정된 GPT(214)의 2번 엔트리(300b)의 데이터를 다른 데이터로 대체하지 않을 수 있다. 즉, 수정된 GPT(214)의 2번 엔트리(300b)에 포함되는 파티션 시작 및 종료 위치 데이터는 원래의 GPT(212)의 2번 엔트리(300b)에 포함되는 파티션 시작 및 종료 위치 데이터와 같을 수 있다. 따라서, 수정된 GPT(214)를 사용하는 OS는 캐시되지 않은 파티션에 접근할 수 있는 반면 캐시된 파티션에는 접근할 수 없을 것이다.
이와 같은 방식에 따르면, 캐싱 소프트웨어(210)가 실행되지 않도록 하지 않은 채로 캐시 디스크(208)가 변경된 OS 환경으로 옮겨지면 새 컴퓨터 시스템은 캐시 디스크(208)의 캐시된 파티션의 데이터로 접근할 수 없을 것이다. 새 컴퓨터 시스템은 더미 데이터가 포함된 1번 엔트리(300a')를 포함하는 수정된 GPT(214)를 불러올 것이다. 그런데, 더미 데이터가 포함된 1번 엔트리(300a')는 캐시된 파티션에 관하여 정확하지 않은 배치 및 파티션 정보를 포함하고 있다. 따라서, 적절한 캐싱 소프트웨어(210)가 없으면 캐시 디스크(208)의 캐시된 파티션으로의 접근은 불가능할 것이다.
다시 도 2를 참조하면, 캐시 디스크(208)의 원래의 GPT(212)는 캐시 디스크(208)의 소정의 특정 위치, 예컨대 캐시 디스크(208)의 끝 부분은 물론 캐싱 디스크(206)에도 저장될 수 있다. 다만, 원래의 GPT(212)는 캐시 디스크(208)의 1번 내지 33번의 LBA(Logical Block Addressing)가 아닌 위치라면 캐시 디스크(208)의 어느 위치에든 저장될 수 있음을 분명히 할 필요가 있다. 예컨대, 원래의 GPT(212)는 캐시 디스크(208)의 부트 섹터가 아닌 임의의 영역에 저장될 수 있다. 특히, 원래의 GPT(212)는 캐싱 디스크(206)에 저장되는 원래의 GPT(212)의 주소를 가리키는 포인터(Pointer)와 함께 저장될 수 있다. 원래의 GPT(212)는 캐시 디스크(208)의 모든 정확한 파티션 데이터를 포함할 수 있다. 일반적으로, 캐싱 소프트웨어(210)는 통상적인 작동 과정에서 원래의 GPT(212)를 계속 유지시킬 수 있다.
도 4는 본 발명의 실시 예에 따라 복수의 파티션을 포함하는 캐시 디스크를 나타낸 그림이다. 캐시 디스크(208)에 포함되는 복수의 파티션(400a~400n)으로의 접근은 원래의 OS 환경에서 사용되는 것과 동일한 캐싱 소프트웨어(210, 도 2 참조)를 포함하지 않는 변경된 OS 환경에서 이루어질 수 있다. 복수의 파티션(400a~400n) 중 1번 파티션(400a)과 2번 파티션(400b)은 원래의 GPT(212, 도 3 참조)에 포함되는 1번 엔트리(300a)와 2번 엔트리(300b) 또는 수정된 GPT(214, 도 3 참조)에 포함되는 1번 엔트리(300a')와 2번 엔트리(300b)에 대응될 수 있다. 예로서, 1번 파티션(400a)은 캐시된 파티션으로서 원래의 GPT(212)의 1번 엔트리(300a)에 대응될 수 있고, 2번 파티션은 캐시되지 않은 파티션으로서 원래의 GPT(212)의 2번 엔트리(300b)에 대응될 수 있다.
캐시 디스크(208)가 원래의 OS 환경에서 사용되는 것과 동일한 캐싱 소프트웨어(210)를 포함하지 않는 변경된 OS 환경으로 옮겨지는 경우 수정된 GPT(214)는 사용자가 캐시 디스크(208)의 캐시되지 않은 파티션인 2번 파티션(400b)에 접근할 수 있도록 허용할 수 있다. 그러나, 캐시 디스크(208)가 원래의 OS 환경에서 사용되는 것과 동일한 캐싱 소프트웨어(210)를 포함하지 않는 변경된 OS 환경으로 옮겨지는 경우 수정된 GPT(214)는 캐시 디스크(208)의 캐시된 파티션인 1번 파티션(400a)으로의 접근이 불가능하도록 만들 수 있다. 결과적으로, 사용자는 변경된 OS 환경에서 캐시 디스크(208)의 캐시된 파티션의 데이터를 사용할 수 있도록 하기 위해 캐시 디스크(208)를 원래의 컴퓨터 시스템에 다시 연결하여 캐싱 소프트웨어(210)가 실행되지 않도록 설정해야 함을 알아차릴 것이다. 본 발명의 실시 예들은 캐시 디스크(208)를 복구하기 위해 캐싱 디스크(206)에 저장된 내용들을 방출하고 캐시 디스크(208)에 계속 포함되어 있던 원래의 GPT(212)를 수정된 GPT(214)로 대체할 수 있다.
도 5는 본 발명의 실시 예에 따라 캐시 디스크가 완전히 업데이트되어 캐싱 소프트웨어를 포함하지 않는 변경된 OS 환경에서 안전하게 접근할 수 있게 된 컴퓨터 시스템을 나타낸 블록도이다. 컴퓨터 시스템(200)은 CPU(202), CPU와 연결된 시스템 메모리(204), 캐싱 디스크(206), 및 캐시 디스크(208)를 포함할 수 있다. 또한, 시스템 메모리(204)는 캐싱 소프트웨어(210)를 불러올 수 있다. 캐싱 소프트웨어(210)는 컴퓨터 시스템(200)이 후 기입 캐싱 기능을 활용할 수 있도록 한다. 앞에서 언급된 바와 같이, 캐싱 소프트웨어(210)는 캐시 디스크(208)의 전반적인 내용을 OS로 제공할 수 있다. 따라서, 캐싱 디스크(206)에 저장된 데이터가 있는지 여부에 관계없이 사용자는 언제나 캐시 디스크(208)의 전반적인 내용을 확인할 수 있다.
수정된 GPT는 캐시 디스크(208)의 데이터에 접근하기 위하여 변경된 OS 환경에서 사용될 수 있다. 앞에서 논의한 바와 같이, 만일 사용자가 캐시 디스크(208)를 캐싱 소프트웨어(210)가 포함되지 않은 변경된 OS 환경으로 옮기면 수정된 GPT는 캐시 디스크(208)의 캐시된 파티션으로의 접근이 불가능하도록 할 수 있다.
따라서, 사용자는 캐시 디스크(208)를 변경된 OS 환경으로 옮기려면 캐싱 소프트웨어(210)로 캐싱을 중단하기 위한 명령을 제공하여 캐시 디스크(208)의 캐싱이 중단되도록 해야 한다. 캐싱 소프트웨어(210)는 캐시 디스크(208)의 캐싱을 중단하기 위한 명령에 따라 캐시 디스크(208)가 안전하게 제거되어 변경된 OS 환경에서 사용될 수 있도록 할 수 있다.
특히, 캐싱 소프트웨어(210)는 캐싱 디스크(206)에 남아 있는 모든 "더티" 데이터가 캐시 디스크(208)에 기록될 수 있도록 함으로써 캐시 디스크(208)로 캐시 데이터를 보낼 수 있다. 또한, 캐싱 소프트웨어(210)는 필요에 따라 원래의 GPT(212)에 대한 업데이트를 수행하여 캐시 디스크(208)의 원래의 GPT(212)의 일관성 및 완전성을 보완할 수 있다. 그리고, 캐싱 소프트웨어(210)는 캐시 디스크(208)에 업데이트된 GPT를 기록할 수 있다.
도 5에서, 원래의 GPT(212)의 업데이트는 캐시 디스크(208)에 저장된 수정된 GPT(214, 도 2 참조)를 캐시 디스크(208)의 업데이트된 GPT로 대체함으로써 수행될 수 있다. 이 과정에 따르면, 캐시 디스크(208)의 모든 파티션들이 완전성을 갖출 수 있다. 캐시 디스크(208)의 완전성이 갖추어지면 캐싱 소프트웨어(210)가 포함되지 않은 변경된 OS 환경에서도 캐시 디스크(208)로의 접근이 안전하게 이루어질 수 있다.
도 6은 변경된 OS 환경으로 캐시 디스크가 옮겨지는 경우 본 발명의 실시 예에 따라 캐시 디스크의 데이터 무결성을 보호하는 방법을 설명하는 흐름도이다. 도 6의 실시 예가 수행되기 전, 전처리(Pre-process)가 수행될 수 있다. 전처리는, 예로서, 시스템 메모리로 캐싱 소프트웨어를 불러오는 과정을 포함할 수 있다. 다만, 전처리는 본 발명이 속하는 기술 분야의 통상의 기술자들이 본 발명의 개시 내용으로부터 파악할 수 있는 다른 처리 과정을 더 포함할 수 있다.
S110 단계에서, 캐시 디스크의 원래의 GPT가 캐시 디스크의 1번 섹터 내지 33번 섹터가 아닌 다른 위치에 저장될 수 있다. 도 2에서, 캐싱 소프트웨어(210, 도 2 참조)가 설치되고 디스크가 새로 캐시될 수 있도록 설정되면 캐시 디스크(208, 도 2 참조)의 1번 섹터 내지 33번 섹터가 아닌 다른 위치에서 캐시 디스크(208)의 원래의 GPT가 읽히고 저장될 수 있다. 본 발명의 실시 예는 캐시 디스크의 원래의 GPT를 읽고 캐시 디스크의 1번 섹터 내지 33번 섹터가 아닌 다른 위치에 원래의 GPT를 저장할 수 있다. 예로서, 도 2에서, 캐시 디스크(208)의 원래의 GPT(212, 도 2 참조)는 캐싱 디스크(206, 도 2 참조) 및 캐시 디스크(208)의 1번 섹터 내지 33번 섹터가 아닌 다른 위치에 저장될 수 있다.
S130 단계에서, 캐시 디스크의 원래의 GPT는 수정된 GPT로 대체될 수 있다. 앞에서 언급된 바와 같이, OS가 데이터에 접근하기 위해 수정된 GPT를 사용하는 경우 수정된 GPT는 디스크의 캐시된 파티션으로의 접근이 불가능하도록 할 수 있다. 도 2에서, 본 발명의 실시 예는 캐시 디스크(208)의 원래의 GPT(212)를 수정된 GPT(214)로 대체할 수 있다. 캐싱 소프트웨어(210)가 포함되지 않은 변경된 OS 환경에서 캐시 디스크(208)로의 접근이 이루어지는 경우 OS는 수정된 GPT(214)를 이용하여 캐시 디스크(208)로의 접근을 시도할 것이다. 이 경우, 캐시 디스크(208)의 캐시된 파티션은 변경된 OS 환경에서 접근 불가능할 것이고 캐시 디스크(208)의 캐시되지 않은 파티션은 변경된 OS 환경에서 접근 가능한 상태로 유지될 것이다.
S150 단계에서, 원래의 GPT에 기초한 정보를 이용하여 캐시 디스크의 데이터로의 접근이 이루어질 수 있다. 통상적인 작동 과정에서, 캐싱 소프트웨어(210)는 캐시 디스크(208)의 데이터로의 모든 접근 요청을 가로챈 후 캐싱 디스크(206)에 대해 후 기입 캐싱을 수행할 수 있다. S150 단계의 처리는 원래의 GPT에 기초한 정보를 이용하여 이루어질 수 있다. 원래의 GPT에 기초한 정보는 캐싱 디스크(206)와 캐시 디스크(208)의 데이터가 업데이트됨에 따라 같이 업데이트될 수 있다.
도 6의 실시 예가 수행된 후 후처리(Post-process)가 수행될 수 있다. 후처리는, 예로서, 읽기 및 쓰기 요청의 처리 과정을 포함할 수 있고, 시간이 허용되는 경우 캐시 디스크에 "더티" 데이터를 쓰는 과정을 포함할 수 있다. 또한, 후처리는 본 발명이 속하는 기술 분야의 통상의 기술자들이 본 발명의 개시 내용으로부터 파악할 수 있는 다른 처리 과정을 더 포함할 수 있다.
도 7은 본 발명의 실시 예에 따라 캐싱을 중단하기 위한 명령에 응답하여 변경된 OS 환경에서 캐시 디스크의 캐시된 파티션으로의 접근이 가능하도록 하는 방법을 설명하는 흐름도이다. 도 7의 실시 예가 수행되기 전, 전처리가 수행될 수 있다. 전처리는, 예로서, 캐시 디스크에 후 기입 캐싱 기능을 제공하는 과정을 포함할 수 있다. 다만, 전처리는 본 발명이 속하는 기술 분야의 통상의 기술자들이 본 발명의 개시 내용으로부터 파악할 수 있는 다른 처리 과정을 더 포함할 수 있다.
S210 단계에서, 캐싱을 중단하기 위한 명령이 제공될 수 있다. 사용자가 캐시 디스크를 변경된 OS 환경으로 옮기려는 경우 사용자는 우선 캐시 디스크의 캐싱을 중단하여 캐시 디스크에 저장된 데이터가 완전히 업데이트되고 "클린" 데이터로 되도록 해야 한다. 뒤에서 더 설명되겠지만, 캐시 디스크의 캐싱이 중단되면 캐싱 소프트웨어는 디스크를 완전히 업데이트하여 완전성을 갖추도록 하고 캐싱 소프트웨어가 포함되지 않은 변경된 OS 환경에서 디스크로의 접근이 안전하게 이루어지도록 할 수 있다.
S230 단계에서, 캐싱을 중단하기 위한 명령에 따라 캐시 디스크의 수정된 GPT가 캐시 디스크의 원래의 GPT로 대체될 수 있다. 즉, 캐시 디스크의 GPT는 최신 정보를 갖도록 유지될 수 있다. S230 단계는 캐시 디스크의 수정된 GPT를 완전히 업데이트된 GPT로 대체함으로써 수행될 수 있다. 도 5에서, 캐싱 소프트웨어(210, 도 5 참조)는 캐시 디스크(208, 도 5 참조)의 캐싱을 중단하기 위한 명령에 따라 캐시 디스크(208)가 안전하게 제거되어 변경된 OS 환경에서 사용될 수 있도록 할 수 있다. 이를 위해, 캐싱 소프트웨어(210)는 캐싱 디스크(206, 도 5 참조)에 남아 있는 모든 "더티" 데이터가 캐시 디스크(208)에 기록될 수 있도록 함으로써 캐시 디스크(208)로 캐시 데이터를 보낼 수 있다. 또한, 캐싱 소프트웨어(210)는 필요에 따라 원래의 GPT(212, 도 5 참조)에 대한 업데이트를 수행하여 캐시 디스크(208)의 원래의 GPT(212)의 일관성 및 완전성을 보완할 수 있다. 그리고, 캐싱 소프트웨어(210)는 캐시 디스크(208)에 업데이트된 GPT를 기록할 수 있다. 도 5의 실시 예에서, 원래의 GPT(212)의 업데이트는 캐시 디스크(208)에 저장된 수정된 GPT(214, 도 2 참조)를 캐시 디스크(208)의 업데이트된 GPT로 대체함으로써 수행될 수 있다. 이 과정에 따르면, 캐시 디스크(208)가 완전성을 갖출 수 있다. 캐시 디스크(208)의 완전성이 갖추어지면 캐싱 소프트웨어(210)가 포함되지 않은 변경된 OS 환경에서도 캐시 디스크(208)로의 접근이 안전하게 이루어질 수 있다.
S250 단계에서, 캐시 디스크의 캐싱 기능이 중단될 수 있다. 캐싱 소프트웨어에 의해 일단 캐시 디스크가 안전하게 제거되어 변경된 OS 환경에서 사용될 수 있게 되면 캐시 디스크의 캐싱 기능이 중단되고 캐시 디스크가 변경된 OS 환경으로 옮겨진 뒤 캐시 디스크로의 안전한 접근이 이루어질 수 있다.
도 7의 실시 예가 수행된 후 후처리가 수행될 수 있다. 후처리는, 예로서, 다른 장치의 캐싱이 수행될 수 있도록 처리하는 과정, 시스템에서 캐시 디스크를 제거하는 과정을 포함할 수 있다. 또한, 후처리는 본 발명이 속하는 기술 분야의 통상의 기술자들이 본 발명의 개시 내용으로부터 파악할 수 있는 다른 처리 과정을 더 포함할 수 있다.
본 발명의 실시 예들은 스토리지 서브 시스템(Storage Sub-system)의 전반적인 내용을 제공하기 위한 하나 이상의 디스크가 포함되는 어떠한 저장 환경에든 활용될 수 있다. 예로서, 본 발명의 실시 예들은 복수의 드라이브에 의해 데이터가 저장되는 레이드(Redundant Array of Independent Disks, RAID) 환경에 활용될 수 있다. 레이드 환경의 레이드 소프트웨어는 레이드가 나타내는 논리 장치의 전반적인 내용을 제공하기 위해 사용될 수 있다.
레이드에 배열된 디스크 각각은 자신의 GPT를 가질 수 있다. 레이드에 배열된 디스크 각각의 GPT는 레이드 소프트웨어가 포함되지 않은 변경된 OS 환경으로 디스크가 옮겨지는 경우 디스크에 저장된 데이터로의 접근이 불가능하도록 하는 수정된 GPT로 대체될 수 있다. 이 방식에 따르면, 레이드에 배열된 디스크가 변경된 OS 환경으로 부주의하게 옮겨지더라도 레이드에 배열된 디스크 각각에 저장된 데이터의 무결성이 보호될 수 있다.
이상에서 본 발명에 대한 실시 예를 중심으로 본 발명이 설명되었다. 다만 본 발명이 속하는 기술 분야의 특성상, 본 발명이 이루고자 하는 목적은 본 발명의 요지를 포함하면서도 위 실시 예들과 다른 형태로 달성될 수 있다. 따라서 위 실시 예들은 한정적인 것이 아니라 설명적인 측면에서 이해되어야 한다. 즉, 본 발명의 요지를 포함하면서 본 발명과 같은 목적을 달성할 수 있는 기술 사상은 본 발명의 기술 사상에 포함되는 것으로 해석되어야 한다.
따라서 본 발명의 본질적인 특성을 벗어나지 않는 범위 내에서 수정 또는 변형된 기술 사상은 본 발명이 청구하는 보호 범위에 포함되는 것이다. 또한 본 발명의 보호 범위는 위 실시 예들로 한정되는 것이 아니다.
100 : 컴퓨터 시스템 102 : 중앙 처리 장치
104 : 시스템 메모리 106 : 캐시
108 : 대상 저장 장치 110 : 캐싱 소프트웨어
200 : 컴퓨터 시스템 202 : 중앙 처리 장치
204 : 시스템 메모리 206 : 캐싱 디스크
208 : 캐시 디스크 210 : 캐싱 소프트웨어
212 : 원래의 GPT 214 : 수정된 GPT
300a : 캐시된 파티션을 정의하는 1번 엔트리
300b : 캐시되지 않은 파티션을 정의하는 2번 엔트리
300a' : 더미 데이터가 포함된 1번 엔트리
400a, 400b, 400n : 복수의 파티션

Claims (20)

  1. 캐시 디스크의 전역 고유 식별자 파티션 테이블을 수정된 전역 고유 식별자 파티션 테이블로 대체하는 단계; 및
    상기 전역 고유 식별자 파티션 테이블에 기초한 정보를 이용하여 상기 캐시 디스크의 데이터에 접근하는 단계를 포함하되,
    운영체제가 상기 캐시 디스크의 캐시된 파티션에 접근하기 위해 상기 수정된 전역 고유 식별자 파티션 테이블을 사용하는 경우 상기 수정된 전역 고유 식별자 파티션 테이블은 상기 캐시된 파티션으로의 접근을 불가능하게 하고,
    상기 운영체제가 상기 캐시 디스크의 캐시되지 않은 파티션에 접근하기 위해 상기 수정된 전역 고유 식별자 파티션 테이블을 사용하는 경우 상기 캐시되지 않은 파티션은 접근 가능한, 변경된 운영체제 환경에서 디스크의 데이터 무결성을 보호하는 방법.
  2. 제 1 항에 있어서,
    상기 캐시된 파티션에 대한 상기 수정된 전역 고유 식별자 파티션 테이블에 포함되는 캐시 파티션 엔트리는 상기 캐시 파티션 엔트리에 대응되는 상기 전역 고유 식별자 파티션 테이블의 엔트리에 저장된 것과 다른 파티션 시작 및 종료 위치 데이터를 포함하는, 변경된 운영체제 환경에서 디스크의 데이터 무결성을 보호하는 방법.
  3. 제 2 항에 있어서,
    상기 캐시되지 않은 파티션에 대한 상기 수정된 전역 고유 식별자 파티션 테이블에 포함되는 언캐시 파티션 엔트리는 상기 언캐시 파티션 엔트리에 대응되는 상기 전역 고유 식별자 파티션 테이블의 엔트리와 같은 데이터를 포함하는, 변경된 운영체제 환경에서 디스크의 데이터 무결성을 보호하는 방법.
  4. 제 2 항에 있어서,
    상기 수정된 전역 고유 식별자 파티션 테이블이 상기 캐시 디스크에 저장되고, 변경된 운영체제 환경에서 상기 운영체제가 상기 캐시 디스크를 부팅하기 위해 상기 수정된 전역 고유 식별자 파티션 테이블을 사용하는, 변경된 운영체제 환경에서 디스크의 데이터 무결성을 보호하는 방법.
  5. 제 1 항에 있어서,
    캐싱 중단 요청을 수신하는 단계를 더 포함하고,
    상기 수신된 캐싱 중단 요청에 따라 상기 캐시 디스크의 상기 수정된 전역 고유 식별자 파티션 테이블이 상기 전역 고유 식별자 파티션 테이블로 대체되는, 변경된 운영체제 환경에서 디스크의 데이터 무결성을 보호하는 방법.
  6. 제 1 항에 있어서,
    상기 전역 고유 식별자 파티션 테이블은 캐싱 디스크에 저장되고, 상기 캐싱 디스크는 상기 캐시 디스크에 캐시 데이터를 저장하는 후 기입 캐싱을 위해 사용되는, 변경된 운영체제 환경에서 디스크의 데이터 무결성을 보호하는 방법.
  7. 제 6 항에 있어서,
    상기 전역 고유 식별자 파티션 테이블은 상기 캐시 디스크에 상기 수정된 전역 고유 식별자 파티션 테이블이 저장된 위치와 다른 위치에도 저장되는, 변경된 운영체제 환경에서 디스크의 데이터 무결성을 보호하는 방법.
  8. 캐시 디스크의 전역 고유 식별자 파티션 테이블을 수정된 전역 고유 식별자 파티션 테이블로 대체하는 단계;
    상기 전역 고유 식별자 파티션 테이블에 기초한 정보를 이용하여 상기 캐시 디스크의 데이터에 접근하는 단계; 및
    캐싱 중단 요청에 응답하여 상기 캐시 디스크의 상기 수정된 전역 고유 식별자 파티션 테이블을 상기 전역 고유 식별자 파티션 테이블로 대체하는 단계를 포함하되,
    운영체제가 상기 캐시 디스크의 캐시된 파티션에 접근하기 위해 상기 수정된 전역 고유 식별자 파티션 테이블을 사용하는 경우 상기 수정된 전역 고유 식별자 파티션 테이블은 상기 캐시된 파티션으로의 접근을 불가능하게 하고,
    상기 운영체제가 상기 캐시 디스크의 캐시되지 않은 파티션에 접근하기 위해 상기 수정된 전역 고유 식별자 파티션 테이블을 사용하는 경우 상기 캐시되지 않은 파티션은 접근 가능한, 변경된 운영체제 환경에서 디스크의 데이터 무결성을 보호하는 방법.
  9. 제 8 항에 있어서,
    상기 캐시된 파티션에 대한 상기 수정된 전역 고유 식별자 파티션 테이블에 포함되는 캐시 파티션 엔트리는 상기 캐시 파티션 엔트리에 대응되는 상기 전역 고유 식별자 파티션 테이블의 엔트리에 저장된 것과 다른 파티션 시작 및 종료 위치 데이터를 포함하는, 변경된 운영체제 환경에서 디스크의 데이터 무결성을 보호하는 방법.
  10. 제 9 항에 있어서,
    상기 캐시되지 않은 파티션에 대한 상기 수정된 전역 고유 식별자 파티션 테이블에 포함되는 언캐시 파티션 엔트리는 상기 언캐시 파티션 엔트리에 대응되는 상기 전역 고유 식별자 파티션 테이블의 엔트리와 같은 데이터를 포함하는, 변경된 운영체제 환경에서 디스크의 데이터 무결성을 보호하는 방법.
  11. 제 9 항에 있어서,
    상기 수정된 전역 고유 식별자 파티션 테이블이 상기 캐시 디스크에 저장되고, 변경된 운영체제 환경에서 상기 운영체제가 상기 캐시 디스크를 부팅하기 위해 상기 수정된 전역 고유 식별자 파티션 테이블을 사용하는, 변경된 운영체제 환경에서 디스크의 데이터 무결성을 보호하는 방법.
  12. 제 8 항에 있어서,
    상기 전역 고유 식별자 파티션 테이블은 캐싱 디스크에 저장되고, 상기 캐싱 디스크는 상기 캐시 디스크에 캐시 데이터를 저장하는 후 기입 캐싱을 위해 사용되는, 변경된 운영체제 환경에서 디스크의 데이터 무결성을 보호하는 방법.
  13. 제 12 항에 있어서,
    상기 전역 고유 식별자 파티션 테이블은 상기 캐시 디스크에 상기 수정된 전역 고유 식별자 파티션 테이블이 저장된 위치와 다른 위치에도 저장되는, 변경된 운영체제 환경에서 디스크의 데이터 무결성을 보호하는 방법.
  14. 컴퓨터로 읽을 수 있는 매체에 있어서,
    상기 컴퓨터에서 캐시 디스크의 전역 고유 식별자 파티션 테이블을 수정된 전역 고유 식별자 파티션 테이블로 대체하는 단계; 및
    상기 전역 고유 식별자 파티션 테이블에 기초한 정보를 이용하여 상기 캐시 디스크의 데이터에 접근하는 단계를 실행시키되,
    운영체제가 상기 캐시 디스크의 캐시된 파티션에 접근하기 위해 상기 수정된 전역 고유 식별자 파티션 테이블을 사용하는 경우 상기 수정된 전역 고유 식별자 파티션 테이블은 상기 캐시된 파티션으로의 접근을 불가능하게 하고,
    상기 운영체제가 상기 캐시 디스크의 캐시되지 않은 파티션에 접근하기 위해 상기 수정된 전역 고유 식별자 파티션 테이블을 사용하는 경우 상기 캐시되지 않은 파티션은 접근 가능하게 하여, 변경된 운영체제 환경에서 디스크의 데이터 무결성을 보호하기 위한 프로그램을 기록한 컴퓨터로 읽을 수 있는 매체.
  15. 제 14 항에 있어서,
    상기 캐시된 파티션에 대한 상기 수정된 전역 고유 식별자 파티션 테이블에 포함되는 캐시 파티션 엔트리는 상기 캐시 파티션 엔트리에 대응되는 상기 전역 고유 식별자 파티션 테이블의 엔트리에 저장된 것과 다른 파티션 시작 및 종료 위치 데이터를 포함하는, 변경된 운영체제 환경에서 디스크의 데이터 무결성을 보호하기 위한 프로그램을 기록한 컴퓨터로 읽을 수 있는 매체.
  16. 제 15 항에 있어서,
    상기 캐시되지 않은 파티션에 대한 상기 수정된 전역 고유 식별자 파티션 테이블에 포함되는 언캐시 파티션 엔트리는 상기 언캐시 파티션 엔트리에 대응되는 상기 전역 고유 식별자 파티션 테이블의 엔트리와 같은 데이터를 포함하는, 변경된 운영체제 환경에서 디스크의 데이터 무결성을 보호하기 위한 프로그램을 기록한 컴퓨터로 읽을 수 있는 매체.
  17. 제 14 항에 있어서,
    상기 수정된 전역 고유 식별자 파티션 테이블이 상기 캐시 디스크에 저장되고, 변경된 운영체제 환경에서 상기 운영체제가 상기 캐시 디스크를 부팅하기 위해 상기 수정된 전역 고유 식별자 파티션 테이블을 사용하는, 변경된 운영체제 환경에서 디스크의 데이터 무결성을 보호하기 위한 프로그램을 기록한 컴퓨터로 읽을 수 있는 매체.
  18. 제 14 항에 있어서,
    상기 컴퓨터에서,
    캐싱 중단 요청에 응답하여 상기 캐시 디스크의 상기 수정된 전역 고유 식별자 파티션 테이블을 상기 전역 고유 식별자 파티션 테이블로 대체하는 단계를 더 실행시키는, 변경된 운영체제 환경에서 디스크의 데이터 무결성을 보호하기 위한 프로그램을 기록한 컴퓨터로 읽을 수 있는 매체.
  19. 제 14 항에 있어서,
    상기 전역 고유 식별자 파티션 테이블은 캐싱 디스크에 저장되고, 상기 캐싱 디스크는 상기 캐시 디스크에 캐시 데이터를 저장하는 후 기입 캐싱을 위해 사용되는, 변경된 운영체제 환경에서 디스크의 데이터 무결성을 보호하기 위한 프로그램을 기록한 컴퓨터로 읽을 수 있는 매체.
  20. 제 14 항에 있어서,
    상기 전역 고유 식별자 파티션 테이블은 상기 캐시 디스크에 상기 수정된 전역 고유 식별자 파티션 테이블이 저장된 위치와 다른 위치에 저장되는, 변경된 운영체제 환경에서 디스크의 데이터 무결성을 보호하기 위한 프로그램을 기록한 컴퓨터로 읽을 수 있는 매체.
KR1020130101222A 2012-08-27 2013-08-26 변경된 운영체제 환경에서 디스크의 데이터 무결성을 보호하는 방법 및 프로그램을 기록한 컴퓨터로 읽을 수 있는 매체 KR102145358B1 (ko)

Applications Claiming Priority (4)

Application Number Priority Date Filing Date Title
US13/595,986 US20140059291A1 (en) 2012-08-27 2012-08-27 Method for protecting storage device data integrity in an external operating environment
US13/595,986 2012-08-27
US13/967,219 US20140059293A1 (en) 2012-08-27 2013-08-14 Method for protecting a gpt cached disks data integrity in an external operating system environment
US13/967,219 2013-08-14

Publications (2)

Publication Number Publication Date
KR20140027885A true KR20140027885A (ko) 2014-03-07
KR102145358B1 KR102145358B1 (ko) 2020-08-18

Family

ID=50069724

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020130101222A KR102145358B1 (ko) 2012-08-27 2013-08-26 변경된 운영체제 환경에서 디스크의 데이터 무결성을 보호하는 방법 및 프로그램을 기록한 컴퓨터로 읽을 수 있는 매체

Country Status (5)

Country Link
US (1) US20140059293A1 (ko)
KR (1) KR102145358B1 (ko)
CN (1) CN103631564B (ko)
DE (1) DE102013109088A1 (ko)
TW (1) TW201418984A (ko)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101999617B1 (ko) * 2012-09-24 2019-07-12 삼성전자주식회사 전자 장치, gpt 복원 방법 및 컴퓨터 판독가능 기록매체
US9208105B2 (en) 2013-05-30 2015-12-08 Dell Products, Lp System and method for intercept of UEFI block I/O protocol services for BIOS based hard drive encryption support

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20040088481A1 (en) * 2002-11-04 2004-05-06 Garney John I. Using non-volatile memories for disk caching
US20050027978A1 (en) * 2003-08-01 2005-02-03 Hewlett-Packard Development Company, L.P. Data processing system and method
US20050138282A1 (en) * 2003-12-18 2005-06-23 Garney John I. Maintaining disk cache coherency in multiple operating system environment
US20080270692A1 (en) * 2007-04-27 2008-10-30 Hewlett-Packard Development Company, Lp Enabling and disabling cache in storage systems

Family Cites Families (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7155571B2 (en) * 2002-09-30 2006-12-26 International Business Machines Corporation N-source in-kernel cache for high performance in computer operating systems
JP5300407B2 (ja) * 2008-10-20 2013-09-25 株式会社東芝 仮想アドレスキャッシュメモリ及び仮想アドレスキャッシュ方法
CN101387989A (zh) * 2008-10-29 2009-03-18 北京世纪红山科技有限公司 构建基于分区管理的虚拟存储设备的计算机系统及方法
KR101845110B1 (ko) * 2010-10-06 2018-04-03 가부시끼가이샤 도시바 분산 캐쉬 일관성 프로토콜
KR101530463B1 (ko) * 2010-11-16 2015-06-29 인텔 코포레이션 데이터 기억 시스템에 대한 엔드포인트 캐싱

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20040088481A1 (en) * 2002-11-04 2004-05-06 Garney John I. Using non-volatile memories for disk caching
US20050027978A1 (en) * 2003-08-01 2005-02-03 Hewlett-Packard Development Company, L.P. Data processing system and method
US20050138282A1 (en) * 2003-12-18 2005-06-23 Garney John I. Maintaining disk cache coherency in multiple operating system environment
US20080270692A1 (en) * 2007-04-27 2008-10-30 Hewlett-Packard Development Company, Lp Enabling and disabling cache in storage systems

Also Published As

Publication number Publication date
US20140059293A1 (en) 2014-02-27
CN103631564B (zh) 2017-03-22
DE102013109088A1 (de) 2014-02-27
TW201418984A (zh) 2014-05-16
KR102145358B1 (ko) 2020-08-18
CN103631564A (zh) 2014-03-12

Similar Documents

Publication Publication Date Title
JP5351046B2 (ja) フラッシュメモリシステムの高速起動を容易にする方法およびシステム
US8621144B2 (en) Accelerated resume from hibernation in a cached disk system
JP5715566B2 (ja) キャッシュデータおよびメタデータの管理
EP3097489B1 (en) Byte-addressable non-volatile read-write main memory partitioned into regions including metadata region
JP2010186341A (ja) メモリシステム
WO2014061068A1 (en) Storage system and method for controlling storage system
JP2008204460A (ja) ディスク・パーティションのほぼ瞬時のバックアップおよび復元
US20200125282A1 (en) Systems, methods, and storage media for using the otherwise- unutilized storage space on a storage device
US20140059291A1 (en) Method for protecting storage device data integrity in an external operating environment
US9946479B2 (en) Direct hinting for a memory device
KR102145358B1 (ko) 변경된 운영체제 환경에서 디스크의 데이터 무결성을 보호하는 방법 및 프로그램을 기록한 컴퓨터로 읽을 수 있는 매체
JP2006099802A (ja) 記憶制御装置およびキャッシュメモリの制御方法
US10430287B2 (en) Computer
US11494112B2 (en) Storage device and accessing method for operation log thereof
US20150269092A1 (en) Information processing device and shared memory management method
JP2022184735A (ja) プログラム起動方法及び機器、記憶媒体
US20130326146A1 (en) Information processing apparatus, memory apparatus, and data management method
JP4724253B2 (ja) データ記憶システムおよびキャッシュデータの一貫性保証方法
JP3967073B2 (ja) Raid制御装置
US20150242155A1 (en) Method for protecting storage device data integrity in an external operating environment
JP2013174976A (ja) メモリシステムおよび制御プログラムの更新方法
US20110161611A1 (en) Method for controlling semiconductor storage system configured to manage dual memory area
EP3314390B1 (en) Returning coherent data in response to a failure of a storage device when a single input/output request spans two storage devices
KR20130100395A (ko) 램을 이용한 컴퓨터용 정보저장장치 자료보호 복구시스템 및 그 방법
KR100978533B1 (ko) 램을 이용한 컴퓨터용 정보저장장치 자료보호 시스템 및 그방법

Legal Events

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