KR101303535B1 - 메인 메모리를 이용한 메모리 디스크 구성 방법 및 장치 - Google Patents

메인 메모리를 이용한 메모리 디스크 구성 방법 및 장치 Download PDF

Info

Publication number
KR101303535B1
KR101303535B1 KR1020090119803A KR20090119803A KR101303535B1 KR 101303535 B1 KR101303535 B1 KR 101303535B1 KR 1020090119803 A KR1020090119803 A KR 1020090119803A KR 20090119803 A KR20090119803 A KR 20090119803A KR 101303535 B1 KR101303535 B1 KR 101303535B1
Authority
KR
South Korea
Prior art keywords
memory
disk
data
backup
area
Prior art date
Application number
KR1020090119803A
Other languages
English (en)
Other versions
KR20110062929A (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 KR1020090119803A priority Critical patent/KR101303535B1/ko
Priority to US12/877,303 priority patent/US20110138118A1/en
Publication of KR20110062929A publication Critical patent/KR20110062929A/ko
Application granted granted Critical
Publication of KR101303535B1 publication Critical patent/KR101303535B1/ko

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/14Error detection or correction of the data by redundancy in operation
    • G06F11/1402Saving, restoring, recovering or retrying
    • G06F11/1446Point-in-time backing up or restoration of persistent data
    • G06F11/1456Hardware arrangements for backup
    • 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
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F1/00Details not covered by groups G06F3/00 - G06F13/00 and G06F21/00
    • G06F1/26Power supply means, e.g. regulation thereof
    • G06F1/32Means for saving power
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • 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
    • G06F13/16Handling requests for interconnection or transfer for access to memory bus

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Quality & Reliability (AREA)
  • Human Computer Interaction (AREA)
  • Techniques For Improving Reliability Of Storages (AREA)

Abstract

메인 메모리를 이용한 메모리 디스크 구성 방법 및 장치를 제공한다. 본 발명의 일실시예는 x86 기반의 LINUX 운영체제(OS: Operating System)에서 메인 메모리를 이용하여 디스크를 구성하는 것으로, 메인 메모리를 대상으로 OS가 사용할 영역을 제외하고 여분의 메모리를 디스크용으로 고정하여 디스크 메모리를 구성하는 기술을 포함할 수 있다. 특히, 메인 메모리(RAM)의 특성상 데이터 저장 영역이 휘발성이므로 디스크로 구성하여 사용할 경우, 데이터의 휘발성 문제를 극복하기 위해 디스크 메모리의 읽기, 쓰기 속도의 저하 없이 데이터를 실시간으로 백업하고 장애복구 시 동일한 영역에 데이터를 복원하는 기능을 포함하는 메모리 디스크 구성 장치를 제공한다.
메인 메모리, 디스크 메모리, 저장장치, 백업, 복구

Description

메인 메모리를 이용한 메모리 디스크 구성 방법 및 장치{Memory Disk Composition Method AND APPARaTUS USING MAIN MEMORY}
본 발명의 일실시예들은 메인 메모리를 디스크화하여 사용하는 메모리 디스크 구성 방법 및 장치에 관한 기술이다.
본 발명은 지식경제부 및 정보통신연구진흥원의 IT성장동력기술개발의 일환으로 수행한 연구로부터 도출된 것이다[과제관리번호: 2008-S-037-02, 과제명: NGS(Next Generation Storage) 시스템 기술 개발].
일반적으로, 프로세서의 메모리는 운영체제 내부의 데이터를 처리하는 용도로 사용된다. 즉, 운영체제에서 메모리를 모두 관장하여 디바이스 드라이버나 응용프로그램에서는 간접적으로 사용할 수 있지만, 직접적으로 사용할 수 없는 구조이다. 또한, 간접적으로 디스크의 속도 향상을 위하여 메모리의 일부를 할당하여 램 디스크로 사용하고 있는 실정이다. 이는, 프로세서에 비해 느린 디스크의 성능에 기인한 것이다.
하지만, 램 디스크를 이용하면 프로세서의 메모리 대역폭을 최대한 이용해 빠른 데이터 처리는 가능하지만, 시스템 메모리의 일부를 동적으로 할당받아 사용 하기 때문에 용량이 제한되고, 시스템이 갑작스럽게 장애가 발생할 경우 동적 할당받은 메모리로의 접근이 사실상 불가능하기 때문에, 내용이 소실되고 복구가 어려운 구조를 가진다는 단점이 있다.
또한, 하드디스크는 용량 제한이 거의 없고 이상 발생 전까지의 데이터는 저장 가능하며, 저렴하다는 장점이 있으나, 회전하는 자기 디스크를 기계적으로 제어하는 디스크의 속성상 느리고 진동에 약하다는 단점이 있다. 현재, 상기와 같은하드디스크의 단점을 보완하기 위하여, SSD(Solid State Drive)가 삼성 및 인텔, 마이크론 등 주요 업체들에 의해 출시 되고 있다.
즉, 빠른 데이터 처리 속도에 전력 소모, 발열, 소음, 무게, 크기 등이 낮은 SSD를 생산하고 있으나, SSD는 가격이 높고 데이터 접근 속도가 연속적인 읽기와 쓰기에 대해 하드디스크보다 속도가 떨어지는 등 성능이 기대에 미치지 못하다는 평가를 받고 있다.
본 발명의 일실시예는 운영체제로부터 시스템 메모리에서 할당받는 것이 아니라 독립적으로 분리된 장치이므로 장애 발생 시 고정 메모리 주소를 이용하여 데이터를 용이하게 복구시키는 메모리 디스크 구성 방법 및 장치를 제공한다.
본 발명의 일실시예는 기존 램 디스크의 용량 제한을 해결하기 위한 운영체제 기반의 메모리 디스크 디바이스 드라이버 구성 기술과 장애 발생시 데이터의 손실이 발생되는 휘발성 메모리의 단점을 해결하기 위한 실시간 데이터 백업 및 복구 기능을 포함하는 메모리 디스크 구성 방법 및 장치를 제공한다.
본 발명의 일실시예에 따른 메모리 디스크 구성 장치는 메인 메모리의 제1 영역을 할당받아, 운영체제에 이용하는 시스템 메모리, 및 상기 제1 영역을 제외한 영역인, 상기 메인 메모리의 제2 영역을 할당받아, 데이터를 저장하는데 이용하는 디스크 메모리를 포함한다.
이때, 상기 디스크 메모리는 상기 저장된 데이터를 비휘발성 디스크에 백업 데이터로 복사하여 백업할 수 있다. 즉, 상기 디스크 메모리는 상기 비휘발성 디스크에 저장된 백업 데이터가 상기 저장된 데이터와 다른 경우, 상기 저장된 데이터를 비휘발성 디스크에 백업 데이터로 복사하여 백업할 수 있다.
이때, 상기 디스크 메모리는 비휘발성 메모리로부터 백업 데이터를 복사하여 상기 데이터를 복구할 수 있다. 즉, 상기 디스크 메모리는 상기 시스템 메모리 와 독립적으로 분리된 장치이고, 고정 메모리 주소를 유지하여, 동일한 고정 메모리 주소에 상기 백업 데이터를 복구시킬 수 있다.
이때, 상기 디스크 메모리는 디스크 메모리 입출력 드라이버와 일대일로 맵핑될 수 있다.
본 발명의 다른 실시예에 따른 메모리 디스크 구성 장치는 데이터를 저장하는 디스크 메모리, 상기 디스크 메모리를 관리하고, 블록장치 드라이버와의 API를 제공하는 디스크 메모리 입출력 드라이버, 및 파일 시스템을 위한 API를 제공하고, 상기 디스크 메모리 입출력 드라이버를 사용하는 블록장치 드라이버를 포함한다.
본 발명의 일실시예에 따른 메모리 디스크 구성 방법은 메인 메모리의 제1 영역을 시스템 메모리로 할당하는 단계, 상기 제1 영역을 제외한 영역인, 상기 메인 메모리의 제2 영역을 디스크 메모리로 할당하는 단계, 및 상기 디스크 메모리에 저장된 데이터를 백업 또는 복구하는 단계를 포함한다.
본 발명의 일실시예에 따르면, 기존 하드 디스크가 가질 수 없는 읽기/쓰기 성능을 향상을 기대할 수 있고 메모리만을 가지고 디스크 운용이 가능하다. 이는 기존의 일반적인 컴퓨터 시스템과 동일한 구조로 시스템을 꾸밀 수 있어 응용프로그램의 수정 없이 향상된 디스크 성능으로 인해 스토리지 서버, 엔터테인먼트 서버 등에 널리 사용될 수 있다.
또한, 본 발명의 일실시예에 따르면, 하드디스크를 고속의 메모리 디스크로 대체할 수 있는 장점이 있다. 이는, 시스템의 경량화와 저소음, 저전력, 고성능으 로 시스템을 꾸밀 수 있으며 다량의 사용자가 접속하여 다량의 데이터의 읽기/쓰기를 신속하게 처리할 수 있는 장점이 있다.
또한, 본 발명의 일실시예에 따르면, 일반 하드 디스크에 비해 상대적으로 수명이 긴 메모리(RAM)를 저장장치로 사용하므로 시스템의 유지 보수가 용이하며, 고속의 입출력 장치를 통해 연결된 네트워크 및 통신 인터페이스를 통해 대용량 스토리지 시스템으로 구축이 가능하다.
이하, 첨부 도면들 및 첨부 도면들에 기재된 내용들을 참조하여 본 발명의 다양한 실시예를 상세하게 설명하지만, 본 발명이 실시예에 의해 제한되거나 한정되는 것은 아니다.
본 발명의 일실시예에 따른 메모리 디스크 구성 장치는 하드디스크의 느린 데이터 처리 속도 및 높은 전력 소모, 발열, 소음 등의 문제를 해결하기 위해 데이터 저장 및 처리를 위한 장치 중에서 데이터 접근 속도, 읽기, 쓰기 등의 성능이 빠르고, 저전력, 저발열, 무소음, 진동에 강한 읽고 쓰기 가능한 메모리(RAM)를 이용하는 것이 바람직하다.
본 발명의 일실시예에 따른 메모리 디스크 구성 장치는 구조상 프로세서의 외부 제어 신호 중에서 가장 빠르고 대역폭이 넓은 메모리를 이용하는 것이 바람직하다.
본 발명의 일실시예에 따른 메모리 디스크 구성 장치는 디스크에 사용하는 휘발성 메모리의 메모리 내용 보존을 위해 백업 프로그램이 백그라운드로 동작하는 것이 바람직하고 메모리는 직접 접근하여 읽기/쓰기 성능을 향상 시키는 것이 바람직하다.
본 발명의 일실시예에 따른 메모리 디스크 구성 장치는 주 메모리와 메모리 디스크간의 용량 변경에 용이해야 하며 메모리의 증설로 메모리 디스크 혹은 주 메모리의 용량을 추가할 수 있는 것이 바람직하다.
본 발명의 일실시예에 따른 메모리 디스크 구성 장치는 고속의 입출력 장치를 통해 연결된 네트워크 및 통신 인터페이스를 통해 대용량 스토리지 시스템으로 구축 가능하다.
본 발명의 일실시예에 따른 메모리 디스크 구성 장치는 디스크 메모리를 DRAM(Dynamic Random Access Memory) 기반의 SSD(Solid State Disk)로 구성할 수 있다.
도 1은 본 발명의 일실시예에 따른 메모리 디스크 구성 장치의 부트과정을 도시한 도면이다.
도 1을 참고하면, 메모리 디스크 구성 장치에 전원이 인가되면, BIOS(Basic Input Output System)를 거쳐 디스크의 부트 블록으로부터 부트로더를 로드한다. 부트로더에서는 메모리 디스크 구성 장치를 초기화하고, 커널로 커널 파라메터를 넘겨줄 수 있다. 상기 커널 파라메터는 커널이 부트시 장치 초기화에 파라메터로 사용하는데, 부트로더의 파라메터 값을 수정하면 주 메모리(메인 메모리)와 메모리 디스크를 분리하여 커널 파라메터로 넘겨 주게 된다. 이때, '메모리 디스크'는 메모리를 디스크화하기 전 상태를 의미한다.
상기 커널은 상기 커널 파라메터로 장치를 초기화하고, 메모리 관련 파라메터로 '시스템 메모리'와 분리된 예약 공간으로 시스템 메모리 맵을 구성한다. 이때, 커널은 시스템 메모리 영역만을 관장하게 된다. 메모리 디스크 드라이버는 시스템 메모리와 분리된 예약공간을 활용하여 '메모리 디스크'를 디스크 장치로 등록하여 동작시킨다. 이 과정이 완료되면 사용자는 메인 메모리의 일부를 고정된 위치에서 '디스크 메모리'를 사용할 수 있게 된다. 이때, '디스크 메모리'는 메모리를 디스크화한 후 상태를 의미한다.
도 2는 본 발명의 일실시예에 따른 메모리 디스크 구성 장치의 메모리 맵을 도시한 도면이다.
도 2를 참조하면, 시스템 메모리 맵의 4Gbyte(64bit 프로세서인 경우)는 초기 1Mbyte를 BIOS/비디오 메모리 예약공간, 약 3Gbyte를 시스템 메모리(210) 공간, 약 1Gbyte를 PCI, USB 등의 주변장치(220) 공간으로 구성할 수 있다.
상기 시스템 메모리 맵은 64bit 시스템과 32bit 시스템 모두 동일하다. 64bit 시스템에서 4Gbyte 이상의 메인 메모리를 가질 수 있으므로, 4Gbyte 영역 이상에서 시스템 메모리와 디스크 메모리 영역을 구분 사용할 수 있다.
이때, 시스템의 메모리 슬롯에 장착된 총 메인 메모리 용량에 따라, 초기 시스템 메모리 3Gbyte(제1 영역)와 확장한 '시스템 메모리'를 제외한 나머지 메모리 영역(제2 영역)을 '디스크 메모리'로 사용할 수 있다. 즉, 메모리 디스크 구성 장치는 4Gbyte 이상의 시스템 메모리(210) 용량(제1 영역)에 따라 디스크 메모리(230)의 용량(제2 영역)이 결정될 수 있다.
도 3은 본 발명의 일실시예에 따른 메모리 디스크 구성 장치의 메모리 구조를 도시한 도면이다.
도 3을 참조하면, 메모리 디스크 구성 장치는 메인 메모리의 제1 영역을 할당받아, 운영체제에 이용하는 시스템 메모리(310), 및 상기 제1 영역을 제외한 영역인, 상기 메인 메모리의 제2 영역을 할당받아, 데이터를 저장하는데 이용하는 디스크 메모리(320)를 포함할 수 있다.
시스템 메모리(310)는 운영체제에서 사용하는 영역이고, 디스크 메모리(320)는 구성 방법에 따라 1개(321)에서 N개(32N)로 운영이 가능하며, 동일한 고정 메모리 주소로 고정된다. 초기 구성시 시스템 메모리의 제1 영역은 사용자가 지정한 값으로 고정되며, 디스크 메모리는 디스크 메모리 입출력 드라이버와 일대일로 맵핑된다.
도 4는 본 발명의 일실시예에 따른 메모리 디스크 구성 장치의 구동 소프트웨어의 기능별 계층구조를 도시한 도면이다.
도 4를 참조하면, 메모리 디스크 구성 장치(400)는 크게 응용 프로그램과 운영체제, 하드웨어로 나뉘며, 상세하게는 디스크 메모리(450), 디스크 메모리를 관리하는 디스크 메모리 입출력 드라이버(440)와 블록장치 드라이버(430), 파일 시스템(420), 응용 프로그램(410)으로 구성된다.
디스크 메모리 입출력 드라이버(440)는 디스크 메모리(450)를 접근하기 위해 간접주소 접근방식으로 디스크 메모리(450)에 읽기/쓰기 작업을 수행하며, 블록장치 드라이버(430)를 위한 API(Application Programming Interface)를 제공한다.
블록장치 드라이버(430)는 파일 시스템(420)을 위한 API를 제공하고 디스크 메모리 입출력 드라이버(440)를 사용한다. 블록장치 드라이버(430)는 디스크를 하나로 구성할 경우는 1개, N개로 구성할 경우 N개가 시스템 메모리에 적재된다.
파일 시스템(420)은 응용 프로그램(410)을 위한 API를 제공하여 사용자가 디스크 메모리(450)를 접근할 수 있도록 한다. 따라서, 메모리 디스크 구성 장치(400)는 각 파티션 설정과 부트설정이 가능하며 기존 하드디스크와 동일하게 동작한다.
도 5는 본 발명의 일실시예에 따른 메모리 디스크 구성 장치에서 디스크 메모리에 저장된 데이터 백업하거나, 복구하는 과정을 도시한 흐름도이다.
메모리 디스크 구성 장치의 데이터를 백업하거나 복구하는 기능은 어플리케이션 레벨에서 백그라운드 형태로 실행된다. 백업/복구 프로그램은 디스크 메모리(320)에 쓰여지는 데이터를 장애를 대비하여, 데이터 보존을 위한 데이터 '백업모드'와 백업 데이터를 장애 전 상태로 복구하는 '복구모드'로 이루어진다.
복구모드는 백업 데이터를 비휘활성 디스크(예컨대, 하드디스크)로부터 읽어 디스크 메모리(320)로 데이터를 복사함으로써, 기존 파티션, 파일 시스템, 파일, 디렉토리 등의 내용을 장애 발생 이전의 상태로 만들어 준다. 복구가 완료되면, 바로 백업모드로 진행하고 블록장치의 백업을 수행한다.
백업루틴은 일정시간 동안 일어나며 백업의 동작은 디스크 메모리(320)의 변경사항을 블록단위로 처리하여 변경사항의 유무에 따라 더티(dirty)/ 클린(clean) 플래그를 두어 해당 사항을 처리한다. 백업은 더티블록에 대해서만 수 행하여 불필요한 동작을 배제한다.
백업/복구 프로그램 시작은 사용자의 요구에 따라 복구 후 백업모드로 진행할지 백업만 진행할지 결정된다.
복구모드로 시작(510)하는 경우, 메모리 디스크 구성 장치는 비휘발성 디스크로부터 백업 데이터를 오픈한다(511). 메모리 디스크 구성 장치는 오픈된 백업 데이터를 디스크 메모리(320)에 데이터로 복사한다(512). 모든 백업 데이터를 디스크 메모리(320)에 저장한 후(513)에는 복구모드에서 자동으로 백업모드로 진입한다.
백업모드로 시작(520)하는 경우, 메모리 디스크 구성 장치는 복구없이 백업을 실행한다. 메모리 디스크 구성 장치는 디스크 메모리(320)에 저장된 데이터를 오픈한다(521). 메모리 디스크 구성 장치는 상기 데이터의 내용을 페이지 크기인 4096byte로 읽을 수 있다. 메모리 디스크 구성 장치는 비휘발성 디스크에 저장된 백업 데이터를 오픈한다(522).
메모리 디스크 구성 장치는 상기 오픈된 데이터와 비휘발성 디스크에 저장된 백업 데이터의 내용이 동일한지 판단(523)하고, 다른 경우, 디스크 메모리(320)에 저장된 데이터를 비휘발성 디스크에 백업 데이터로 복사할 수 있다(524). 이때, 메모리 디스크 구성 장치는 복사를 마치고, 백업이 완료(525)되면, 클린 플래그를 설정하고, 백업이 완료되지 않은 경우, 더티 플래그를 설정한다. 즉, 메모리 디스크 구성 장치는 더티 플래그를 확인(526)하여 백업이 정상적으로 완료되지 않은 경우, '더티 플래그'를 설정하고, 백업이 정상적으로 완료되면 '클린 플래그'를 설정하여 다음으로 진행한다.
'더티 플래그'가 설정된 경우는 백업루틴이 바로 수행되며, '클린 플래그'가 설정된 경우는 사용자가 지정한 시간 동안 백업루틴이 동작을 기다린다(527). 사용자는 상기 시간을 5초, 10초 등 유연하게 지정할 수 있다. 상기 지정한 시간이 경과하면, 메모리 디스크 구성 장치는 자동으로 백업루틴을 실행할 수 있다. 이 경우, 상기에서 설명한 바와 같이, 메모리 디스크 구성 장치는 디스크 메모리(320)에 저장된 데이터와 비휘발성 디스크에 저장된 백업 데이터를 비교하여 더티 플래그 설정이나 클린 플래그를 설정하는 일(Job)을 반복 수행할 수 있다.
이로써, 본 발명의 디스크 메모리(320)는 DRAM(Dynamic Random Access Memory) 기반의 SSD(Solid State Disk)로 구성할 수 있다.
또한, 본 발명의 실시예들은 다양한 컴퓨터로 구현되는 동작을 수행하기 위한 프로그램 명령을 포함하는 컴퓨터 판독 가능 매체를 포함한다. 상기 컴퓨터 판독 가능 매체는 프로그램 명령, 데이터 파일, 데이터 구조 등을 단독으로 또는 조합하여 포함할 수 있다. 상기 매체에 기록되는 프로그램 명령은 본 발명을 위하여 특별히 설계되고 구성된 것들이거나 컴퓨터 소프트웨어 당업자에게 공지되어 사용 가능한 것일 수도 있다. 컴퓨터 판독 가능 기록 매체의 예에는 하드 디스크, 플로피 디스크 및 자기 테이프와 같은 자기 매체(magnetic media), CD-ROM, DVD와 같은 광기록 매체(optical media), 플롭티컬 디스크(floptical disk)와 같은 자기-광 매체(magneto-optical media), 및 롬(ROM), 램(RAM), 플래시 메모리 등과 같은 프로그램 명령을 저장하고 수행하도록 특별히 구성된 하드웨어 장치가 포함된다. 프로 그램 명령의 예에는 컴파일러에 의해 만들어지는 것과 같은 기계어 코드뿐만 아니라 인터프리터 등을 사용해서 컴퓨터에 의해서 실행될 수 있는 고급 언어 코드를 포함한다.
지금까지 본 발명에 따른 구체적인 실시예에 관하여 설명하였으나, 본 발명의 범위에서 벗어나지 않는 한도 내에서는 여러 가지 변형이 가능함은 물론이다. 그러므로, 본 발명의 범위는 설명된 실시예에 국한되어 정해져서는 안되며, 후술하는 특허청구범위뿐 아니라 이 특허청구범위와 균등한 것들에 의해 정해져야 한다.
도 1은 본 발명의 일실시예에 따른 메모리 디스크 구성 장치의 부트과정을 도시한 도면이다.
도 2는 본 발명의 일실시예에 따른 메모리 디스크 구성 장치의 메모리 맵을 도시한 도면이다.
도 3은 본 발명의 일실시예에 따른 메모리 디스크 구성 장치의 메모리 구조를 도시한 도면이다.
도 4는 본 발명의 일실시예에 따른 메모리 디스크 구성 장치의 구동 소프트웨어의 기능별 계층구조를 도시한 도면이다.
도 5는 본 발명의 일실시예에 따른 메모리 디스크 구성 장치에서 디스크 메모리에 저장된 데이터 백업하거나, 복구하는 과정을 도시한 흐름도이다.
<도면의 주요 부분에 대한 부호의 설명>
300: 메모리 디스크 구성 장치
310: 시스템 메모리
320: 디스크 메모리

Claims (14)

  1. 메인 메모리의 제1 영역을 할당받아, 운영체제에 이용하는 시스템 메모리; 및
    상기 제1 영역을 제외한 영역인, 상기 메인 메모리의 제2 영역을 할당받아, 데이터를 저장하는데 이용하는 디스크 메모리
    를 포함하고,
    제1 백업모드의 시작에 따라,
    상기 디스크 메모리는,
    비휘발성 디스크에 저장된 백업 데이터와, 상기 디스크 메모리에 저장된 데이터가 동일한지 판단하고, 동일하지 않을 경우 상기 데이터를 상기 비휘발성 디스크에 복사하여 백업하되,
    백업 완료와 연관된 클린 플래그가 설정되지 않으면, 상기 비휘발성 디스크로 상기 데이터를 복사하는 동작을 반복하고,
    상기 클린 플래그가 설정되면, 지정된 시간의 경과 후 상기 제1 백업모드와 상이한 제2 백업모드를 시작하는
    메모리 디스크 구성 장치.
  2. 삭제
  3. 삭제
  4. 제1항에 있어서,
    상기 디스크 메모리는,
    상기 비휘발성 메모리로부터 백업 데이터를 복사하여 상기 데이터를 복구하는
    메모리 디스크 구성 장치.
  5. 제4항에 있어서,
    상기 디스크 메모리는,
    고정 메모리 주소를 유지하여, 동일한 고정 메모리 주소에 상기 백업 데이터를 복구시키는
    메모리 디스크 구성 장치.
  6. 제1항에 있어서,
    상기 디스크 메모리는,
    DRAM 기반의 SSD(Solid State Disk)로 구성되는
    메모리 디스크 구성 장치.
  7. 제1항에 있어서,
    상기 디스크 메모리는,
    디스크 메모리 입출력 드라이버와 일대일로 맵핑되는, 메모리 디스크 구성 장치.
  8. 제1항에 있어서,
    상기 메모리 디스크 구성 장치는,
    상기 디스크 메모리를 관리하고, 블록장치 드라이버와의 API를 제공하는 디스크 메모리 입출력 드라이버; 및
    파일 시스템을 위한 API를 제공하고, 상기 디스크 메모리 입출력 드라이버를 사용하는 블록장치 드라이버
    를 더 포함하는 메모리 디스크 구성 장치.
  9. 제8항에 있어서,
    상기 디스크 메모리 입출력 드라이버는,
    상기 디스크 메모리에 읽기 또는 쓰기 작업을 수행하는
    메모리 디스크 구성 장치.
  10. 제8항에 있어서,
    상기 블록장치 드라이버는,
    상기 디스크 메모리와 동일한 개수가 상기 시스템 메모리에 적재되는
    메모리 디스크 구성 장치.
  11. 메인 메모리의 제1 영역을 시스템 메모리로 할당하는 단계;
    상기 제1 영역을 제외한 영역인, 상기 메인 메모리의 제2 영역을 디스크 메모리로 할당하는 단계;
    제1 백업모드의 시작에 따라, 비휘발성 디스크에 저장된 백업 데이터와, 상기 디스크 메모리에 저장된 데이터가 동일한지 판단하고, 동일하지 않을 경우 상기 데이터를 상기 비휘발성 디스크에 복사하여 백업하는 단계; 및
    백업 완료와 연관된 클린 플래그가 설정되지 않으면, 상기 비휘발성 디스크로 상기 데이터를 복사하는 동작을 반복하고, 상기 클린 플래그가 설정되면, 지정된 시간의 경과 후 상기 제1 백업모드와 상이한 제2 백업모드를 시작하는 단계
    를 포함하는 메모리 디스크 구성 방법.
  12. 삭제
  13. 제11항에 있어서,
    상기 비휘발성 메모리에 저장된 백업 데이터를 상기 디스크 메모리로 복사하여 상기 데이터를 복구하는 단계
    를 더 포함하는 메모리 디스크 구성 방법.
  14. 제11항에 있어서,
    상기 디스크 메모리를 DRAM 기반의 SSD(Solid State Disk)로 구성하는 단계
    를 더 포함하는 메모리 디스크 구성 방법.
KR1020090119803A 2009-12-04 2009-12-04 메인 메모리를 이용한 메모리 디스크 구성 방법 및 장치 KR101303535B1 (ko)

Priority Applications (2)

Application Number Priority Date Filing Date Title
KR1020090119803A KR101303535B1 (ko) 2009-12-04 2009-12-04 메인 메모리를 이용한 메모리 디스크 구성 방법 및 장치
US12/877,303 US20110138118A1 (en) 2009-12-04 2010-09-08 Memory disc composition method and apparatus using main memory

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020090119803A KR101303535B1 (ko) 2009-12-04 2009-12-04 메인 메모리를 이용한 메모리 디스크 구성 방법 및 장치

Publications (2)

Publication Number Publication Date
KR20110062929A KR20110062929A (ko) 2011-06-10
KR101303535B1 true KR101303535B1 (ko) 2013-09-03

Family

ID=44083138

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020090119803A KR101303535B1 (ko) 2009-12-04 2009-12-04 메인 메모리를 이용한 메모리 디스크 구성 방법 및 장치

Country Status (2)

Country Link
US (1) US20110138118A1 (ko)
KR (1) KR101303535B1 (ko)

Families Citing this family (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101095046B1 (ko) * 2010-02-25 2011-12-20 연세대학교 산학협력단 솔리드 스테이트 디스크 및 이를 포함하는 사용자 시스템
US9098402B2 (en) 2012-12-21 2015-08-04 Intel Corporation Techniques to configure a solid state drive to operate in a storage mode or a memory mode
DE102013104036A1 (de) * 2013-04-22 2014-10-23 Fujitsu Technology Solutions Intellectual Property Gmbh Verfahren zum Löschen von Informationen, Verwendung eines Verfahrens, Computerprogrammprodukt und Computersystem
CN110309015A (zh) * 2019-03-25 2019-10-08 深圳市德名利电子有限公司 一种基于固态硬盘装置的数据写入方法和装置以及设备
US11150890B2 (en) * 2019-09-12 2021-10-19 International Business Machines Corporation File system synchronization-based updating
CN112540728B (zh) * 2020-12-07 2022-04-01 北京云宽志业网络技术有限公司 节电存储方法、装置、设备及存储介质

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5787493A (en) * 1992-09-25 1998-07-28 International Business Machines Corporation Control method and apparatus for direct execution of a program on an external apparatus using a randomly accessible and rewritable memory
US6081850A (en) * 1991-12-27 2000-06-27 Intel Corporation Storing dynamically loaded device drivers on a mass storage device to support access to removable computer cards
US20080022036A1 (en) 2003-10-31 2008-01-24 Superspeed Software System and method for persistent RAM disk
KR20090060774A (ko) * 2007-12-10 2009-06-15 한국전자통신연구원 임베디드 시스템의 펌웨어 및 데이터 미러링 장치 및 방법

Family Cites Families (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6088759A (en) * 1997-04-06 2000-07-11 Intel Corporation Method of performing reliable updates in a symmetrically blocked nonvolatile memory having a bifurcated storage architecture
US6023281A (en) * 1998-03-02 2000-02-08 Ati Technologies, Inc. Method and apparatus for memory allocation
US6757698B2 (en) * 1999-04-14 2004-06-29 Iomega Corporation Method and apparatus for automatically synchronizing data from a host computer to two or more backup data storage locations
KR20080011627A (ko) * 2006-07-31 2008-02-05 윤동구 컴퓨터 시스템 및 이 시스템의 부팅 방법
US7865679B2 (en) * 2007-07-25 2011-01-04 AgigA Tech Inc., 12700 Power interrupt recovery in a hybrid memory subsystem
KR20090102192A (ko) * 2008-03-25 2009-09-30 삼성전자주식회사 메모리 시스템 및 그것의 데이터 저장 방법
US8266365B2 (en) * 2008-12-17 2012-09-11 Sandisk Il Ltd. Ruggedized memory device
US8135912B2 (en) * 2009-05-18 2012-03-13 Hola Networks, Ltd. System and method of increasing cache size

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6081850A (en) * 1991-12-27 2000-06-27 Intel Corporation Storing dynamically loaded device drivers on a mass storage device to support access to removable computer cards
US5787493A (en) * 1992-09-25 1998-07-28 International Business Machines Corporation Control method and apparatus for direct execution of a program on an external apparatus using a randomly accessible and rewritable memory
US20080022036A1 (en) 2003-10-31 2008-01-24 Superspeed Software System and method for persistent RAM disk
KR20090060774A (ko) * 2007-12-10 2009-06-15 한국전자통신연구원 임베디드 시스템의 펌웨어 및 데이터 미러링 장치 및 방법

Also Published As

Publication number Publication date
KR20110062929A (ko) 2011-06-10
US20110138118A1 (en) 2011-06-09

Similar Documents

Publication Publication Date Title
JP4205560B2 (ja) ディスクレスネットワークブータブルコンピュータにおける不揮発性メモリキャッシュを用いた信頼性の改善
KR101903818B1 (ko) 가상 디스크 스토리지 기술
JP5021190B2 (ja) 高速再起動を伴うメモリダンプ生成
US8621144B2 (en) Accelerated resume from hibernation in a cached disk system
JP5234473B2 (ja) ターボブートシステム及び方法
JP5376983B2 (ja) メモリシステム
JP6050262B2 (ja) 仮想ディスクストレージ技術
JP5351046B2 (ja) フラッシュメモリシステムの高速起動を容易にする方法およびシステム
JP4808275B2 (ja) ネットワークブートシステム
KR101303535B1 (ko) 메인 메모리를 이용한 메모리 디스크 구성 방법 및 장치
US11422860B2 (en) Optimizing save operations for OS/hypervisor-based persistent memory
US20140372710A1 (en) System and method for recovering from an unexpected shutdown in a write-back caching environment
US20190324868A1 (en) Backup portion of persistent memory
JP2012128645A (ja) メモリシステム
US7234039B1 (en) Method, system, and apparatus for determining the physical memory address of an allocated and locked memory buffer
JP2004362221A (ja) ハードディスクバックアップリカバリーシステム、およびハードディスクバックアップリカバリー方法、および情報処理装置
US12013783B2 (en) Snapshotting data of a host application
JP4471274B2 (ja) ハードディスクイメージファイルからosを起動する方法
JP2022174793A (ja) 情報処理装置、情報処理プログラム、及び情報処理方法
JP2009110297A (ja) 情報処理装置および同装置におけるメンテナンス方法

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
FPAY Annual fee payment

Payment date: 20160726

Year of fee payment: 4

FPAY Annual fee payment

Payment date: 20171011

Year of fee payment: 5

FPAY Annual fee payment

Payment date: 20180820

Year of fee payment: 6

FPAY Annual fee payment

Payment date: 20190828

Year of fee payment: 7