KR101841486B1 - 무복사 바이트 읽기방법 및 무복사 읽기 기능 및 램 동기화 기능을 갖는 컴퓨터 장치 - Google Patents

무복사 바이트 읽기방법 및 무복사 읽기 기능 및 램 동기화 기능을 갖는 컴퓨터 장치 Download PDF

Info

Publication number
KR101841486B1
KR101841486B1 KR1020160169522A KR20160169522A KR101841486B1 KR 101841486 B1 KR101841486 B1 KR 101841486B1 KR 1020160169522 A KR1020160169522 A KR 1020160169522A KR 20160169522 A KR20160169522 A KR 20160169522A KR 101841486 B1 KR101841486 B1 KR 101841486B1
Authority
KR
South Korea
Prior art keywords
ram
unit
read
application program
data
Prior art date
Application number
KR1020160169522A
Other languages
English (en)
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 KR1020160169522A priority Critical patent/KR101841486B1/ko
Application granted granted Critical
Publication of KR101841486B1 publication Critical patent/KR101841486B1/ko

Links

Images

Classifications

    • 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/0646Horizontal data movement in storage systems, i.e. moving data in between storage devices or systems
    • 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/0614Improving the reliability of storage systems
    • G06F3/0619Improving the reliability of storage systems in relation to data integrity, e.g. data losses, bit errors
    • 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/0655Vertical data movement, i.e. input-output transfer; data movement between one or more hosts and one or more storage devices
    • G06F3/0659Command handling arrangements, e.g. command buffers, queues, command scheduling
    • 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/0662Virtualisation aspects
    • G06F3/0664Virtualisation aspects at device level, e.g. emulation of a storage device or system
    • 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/0679Non-volatile semiconductor memory device, e.g. flash memory, one time programmable memory [OTP]
    • G06F2003/0694

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Human Computer Interaction (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Computer Security & Cryptography (AREA)
  • Memory System Of A Hierarchy Structure (AREA)

Abstract

본 발명은 보조저장장치에서 램 디스크와 SDD를 결합한 램 동기화를 통해 운영체제(OS) 내에서 캐시를 경유하지 않고 무복사 바이트 읽기방식을 제공하도록 하는 무복사 바이트 읽기 및 램 동기화 기능을 갖는 컴퓨터 장치에 관한 것이다.
본 발명의 실시 예에 따른 무복사 바이트 읽기 및 램 동기화 기능을 갖는 컴퓨터 장치는, 데이터를 저장하는 램 및 읽기요청을 수신하는 DRBr부를 포함하는 램디스크와, 상기 램디스크의 실시간 데이터 복사본을 저장하기 위한 SSD와, 상기 SSD에 실시간 복사본을 저장하도록 하고 상기 DRBr부로부터 읽기요청을 수신하는 DRBs부를 포함하는 램 동기화 모듈을 포함하는 보조저장장치; 및 응용프로그램으로부터 바이트 단위의 읽기요청을 수신하는 DRBf부를 포함하고 상기 읽기요청이 수신되면 상기 수신된 읽기요청을 상기 램 동기화 모듈의 DRBs 또는 상기 램디스크의 DRBr로 직접 전달하는 가상파일시스템을 포함한다.

Description

무복사 바이트 읽기방법 및 무복사 읽기 기능 및 램 동기화 기능을 갖는 컴퓨터 장치{A DIRECT READ BYTE-ADDRESSABLE METHOD AND AN APPARATUS HAVING A DIRECT READ BYTE-ADDRESSABLE FUNCTION AND A RAM SYNCHRONIZATION FUNCTION}
본 발명은 저장장치의 무복사 바이트 읽기방법에 관한 것으로서, 특히 보조저장장치에서 램 디스크와 SDD를 결합한 램 동기화를 통해 운영체제(OS) 내에서 캐시를 경유하지 않고 무복사 바이트 읽기방식을 제공하도록 하는 무복사 바이트 읽기 기능 및 램 동기화 기능을 갖는 컴퓨터 장치 및 그 무복사 바이트 읽기방법에 관한 것이다.
컴퓨팅 서버의 저장장치 성능을 향상시키기 위해 대용량 램(RAM)을 보조저장장치로 사용하는 기술이 개발되었다. 이러한 기술은 램을 데이터 저장 및 적재를 위한 램 디스크로 활용하는 것이다.
램의 가격이 하락하고 대용량 램의 단일 컴퓨터에 설치할 수 있는 램의 용량이 증가하여 가능하게 되었다. 램을 보조저장장치로 사용하였을 때에 디스크의 성능 병목이 사라져 서버의 성능을 대폭 향상시킬 수 있다. 대표적인 사용 예로는 인-메모리 데이터베이스(In-memory database)가 있다.
하지만, 이러한 램 디스크는 서버의 성능을 크게 향상시키는 방법이지만 램의 휘발성 특성 때문에 서버에 정전이 발생하였을 때에 데이터를 모두 잃게 되는 문제점이 있다.
종래기술에서는 램디스크의 휘발성 특성을 개선하기 위해서 램디스크의 데이터를 다른 컴퓨터로 네트워크를 통해서 백업한다. 이 경우 성능이 네트워크 성능으로 낮추어진다는 문제점이 있다. 또한, 캐시를 사용하는 종래의 방식은 두 번의 메모리 복사가 필요하다는 단점이 있다.
또한, 대한민국 등록특허 제10-0554541호에서는 램 디스크의 데이터를 HDD에 비실시간에 백업하고 UPS가 필요하다. 이러한 선행기술에서는 시스템 버그로 다운되었을 경우에는 데이터를 백업 못하는 단점이 있다.
대한민국 등록특허 제10-0554541호
이에, 본 발명은 램 디스크에 저장된 데이터가 정전에도 잃지 않도록 하기 위해 램 디스크와 SDD를 결합한 램 동기화를 통해 램 디스크에 저장되는 데이터의 복사본을 SDD에 저장하도록 하는 무복사 바이트 읽기 및 램 동기화 기능을 갖는 컴퓨터 장치 및 무복사 바이트 읽기방법을 제공하는데 그 목적이 있다.
또한, 본 발명은 컴퓨터의 정전 후 재시작시에도 SSD에 저장된 데이터로 램 디스크의 데이터를 복원할 수 있도록 하는 무복사 바이트 읽기 및 램 동기화 기능을 갖는 컴퓨터 장치 및 무복사 바이트 읽기방법을 제공하는데 다른 목적이 있다.
또한, 본 발명은 컴퓨터 운영체제(OS) 내에서 캐시를 경유하지 않는 무복사 바이트 읽기방식을 제공하여 운영체제 내의 저장장치 캐시를 통한 메모리 복사 오버헤드를 줄이도록 하는 무복사 바이트 읽기 및 램 동기화 기능을 갖는 컴퓨터 장치 및 이러한 무복사 바이트 읽기방법을 제공하는데 또 다른 목적이 있다.
본 발명의 실시 예에 따른 무복사 바이트 읽기 및 램 동기화 기능을 갖는 컴퓨터 장치는, 데이터를 저장하는 램 및 읽기요청을 수신하는 DRBr부를 포함하는 램디스크와, 상기 램디스크의 실시간 데이터 복사본을 저장하기 위한 SSD와, 상기 SSD에 실시간 복사본을 저장하도록 하고 상기 DRBr부로 읽기요청을 송신하는 DRBs부를 포함하는 램 동기화 모듈을 포함하는 보조저장장치; 및 응용프로그램으로부터 바이트 단위의 읽기요청을 수신하는 DRBf부를 포함하고 상기 읽기요청이 수신되면 상기 수신된 읽기요청을 상기 램 동기화 모듈의 DRBs 또는 상기 램디스크의 DRBr로 직접 전달하는 가상파일시스템을 포함한다.
상기 가상파일시스템의 DRBf부는 상기 응용프로그램으로부터 읽기요청이 수신되면 상기 램 동기화 모듈의 DRBs부로 상기 읽기요청을 직접 전달하고 상기 DRBs부는 상기 전달된 읽기요청을 상기 램디스크의 DRBr로 전달한다.
상기 DRBr부는 바이트 단위로 읽기요청을 받은 데이터를 상기 램디스크의 램에서 상기 응용프로그램으로 복사한다.
상기 DRBf부는 상기 응용프로그램으로부터 읽기 요청된 파일 위치를 상기 보조저장장치의 위치로 변환하여 상기 보조저장장치의 위치와 읽어야 할 크기로 구성된 읽기 요청을 상기 램 동기화 모듈의 DRBs부로 전달한다.
상기 가상파일시스템의 DRBf부는 상기 램 동기화 모듈의 DRBs부를 거치지 않고 직접 상기 램디스크의 DRBr로 전달한다.
또한, 본 발명의 실시 예에 따른 무복사 바이트 읽기방법은, 응용프로그램의 요청이 읽기요청인지 쓰기요청인지를 판단하는 판단단계; 읽기 요청이면 캐시에 읽기 요청된 데이터가 있는지 검사하는 검사단계; 상기 검사결과 읽기 요청된 데이터가 없으면 램 동기화 모듈이 바이트 읽기를 지원하는지를 검사하여 지원하면 상기 응용프로그램이 일기 요청한 파일위치를 램디스크의 위치로 변환하는 변환단계; 및 상기 변환된 램디스크의 위치에서 바이트 단위로 데이터를 읽어 상기 응용프로그램으로 전달하는 전달단계를 포함한다.
상기 검사단계 이후에, 상기 검사결과 상기 캐시에 읽기 요청된 데이터가 있으면, 상기 캐시에 있는 데이터를 읽어 상기 응용프로그램으로 전달하는 단계를 더 포함할 수 있다.
상기 변환단계는 상기 램 동기화 모듈이 바이트 읽기를 지원하지 않으면 기설정된 블록 읽기를 수행하는 단계를 포함한다.
상기 판단단계의 판단결과 상기 응용프로그램의 요청이 쓰기요청이면, 상기 램 동기화 모듈에서 상기 수신된 쓰기요청을 램디스크 및 SSD로 전달하는 단계; 및 상기 램디스크 및 SSD의 쓰기 요청이 완료되면 상기 램 동기화 모듈에서 상기 수신된 쓰기요청을 종료한다.
본 발명에 의하면 램 디스크의 데이터를 SSD에 실시간에 백업하므로 어떤 경우에도 데이터를 백업 못하는 단점이 없다.
또한, 본 발명에 의하면 램 디스크의 특징을 이용해서 운영체제 내에서 캐시를 경유하지 않는 무복사 바이트 읽기방식을 제공하므로 한 번의 메모리 복사만 필요하여 성능이 더 우수하다.
도 1은 본 발명의 실시 예에 따른 무복사 바이트 읽기 및 램 동기화 기능을 갖는 컴퓨터 장치의 구성도이다.
도 2는 본 발명의 실시 예에 따른 무복사 바이트 읽기방법을 보이는 흐름도이다.
이하에서, 본 발명의 일부 실시 예들을 예시적인 도면을 통해 상세하게 설명한다. 각 도면의 구성요소들에 참조부호를 부가함에 있어서, 동일한 구성요소들에 대해서는 비록 다른 도면상에 표시되더라도 가능한 한 동일한 부호를 가지도록 하고 있음에 유의해야 한다. 또한, 본 발명의 실시 예를 설명함에 있어, 관련된 공지 구성 또는 기능에 대한 구체적인 설명이 본 발명의 실시 예에 대한 이해를 방해한다고 판단되는 경우에는 그 상세한 설명은 생략한다.
또한, 본 발명의 실시 예의 구성요소를 설명하는 데 있어서, 제 1, 제 2, A, B, (a), (b) 등의 용어를 사용할 수 있다. 이러한 용어는 그 구성요소를 다른 구성 요소와 구별하기 위한 것일 뿐, 그 용어에 의해 해당 구성요소의 본질이나 차례 또는 순서 등이 한정되지 않는다. 어떤 구성요소가 다른 구성요소에 "연결", "결합" 또는 "접속"된다고 기재된 경우, 그 구성 요소는 그 다른 구성요소에 직접적으로 연결되거나 접속될 수 있지만, 각 구성요소 사이에 또 다른 구성요소가 "연결", "결합" 또는 "접속"될 수도 있다고 이해되어야 할 것이다.
도 1은 본 발명의 실시 예에 따른 무복사 바이트 읽기 및 램 동기화 기능을 갖는 컴퓨터 장치의 구성도이다.
도 1을 참조하면, 본 발명에 따른 무복사 바이트 읽기 및 램 동기화 기능을 갖는 컴퓨터 장치에서는 응용 프로그램(100)에서 보조저장장치(170)로 데이터를 읽고 쓰기 위한 구성도를 보여준다.
응용프로그램(100)은 보조저장장치(170)에 데이터를 저장 및 적재한다. 보조저장장치(170)는 램디스크(150)를 주 저장공간으로 활용한다. 램디스크(150)는 내부의 램(152)을 저장매체로 사용하여 디스크와 같은 블록장치로 동작한다.
응용프로그램(100)에서 보조저장장치(170)로 전달되는 쓰기 및 읽기 요청은 가상파일시스템(110), 파일시스템(120) 및 캐시(130)를 거쳐서 기본적으로 램디스크(150)에서 처리된다.
보조저장장치(170)에 전달된 쓰기 요청은 보조저장장치(170)의 램 동기화 모듈(140)에 의해서 램디스크(150)에 쓰기 요청을 전달하고, 그 쓰기 요청에 대한 모든 데이터의 복사본을 실시간으로 SSD(Solid State Drive)(160)에 저장한다.
즉, 보조저장장치(170)가 수신한 데이터는 램 동기화 모듈(140)에 의해서 동시에 램디스크(150)와 SSD(160)에 저장된다. SSD(160)에는 램디스크(150)에 저장되는 데이터의 복사본이 저장된다.
응용프로그램(100)이 보조저장장치(170)에 읽기 요청을 하면, 이 읽기 요청은 가상파일시스템(110), 파일 시스템(120), 캐시(130) 및 보조저장장치(170)의 램 동기화 모듈(140)을 차례로 거쳐 램디스크(150)로 전달된다.
이때, 이러한 읽기 요청에는 SDD(160)가 참여하지 않는다. 따라서, 읽기는 SDD(160)의 동작을 수반하지 않고 램디스크(150)에서만 처리되므로 고속의 읽기 처리가 가능하다.
일반적인 컴퓨터 운영체제(OS)들은 블록장치의 성능향상과 바이트 처리를 블록처리로 전환하기 위해 캐시를 사용한다. 캐시는 주 메모리인 램으로 구성된다.
램디스크는 블록장치이지만, 하드디스크 같은 블록장치와는 다르게 램이라는 저장매체는 캐시를 통해 얻는 이득이 없다. 또한, 캐시로 인해 램디스크에서 캐시로, 다시 캐시에서 응용프로그램으로 두 번의 메모리 복사가 발생한다.
만약 캐시가 없이 램디스크에서 응용프로그램으로 바로 한 번의 메모리 복사가 이루어지면 성능이 더 향상될 수 있다. 하지만, 보조저장장치는 블록 단위로 입출력 처리를 하고 응용프로그램은 바이트 단위로 입출력 처리를 한다.
캐시가 바이트 단위 요청을 블록 단위 요청으로 변환하는 완충역할을 한다. 만약 캐시가 없어지면 이런 단위 변환에 문제가 생긴다.
본 발명에서는 이러한 문제를 해결하기 위해서 무복사 바이트 읽기방법을 제시한다.
본 발명에 따른 무복사 바이트 읽기방법을 구현하기 위해서는 가상파일시스템(110)에 DRBf(111)가 추가되고 램 동기화 모듈(140)에 DRBs(141)가 추가되며 램디스크(150)에 DRBr(151)이 추가된다.
이때, 무복사 바이트 읽기 접근 방법에서는 응용프로그램(100)에서 발생한 바이트 단위 읽기를 DRBf(111)가 캐시(130)를 거치지 않고 DRBs(141)로 바로 전달하고, DRBs(141)는 전달받은 바이트 단위 읽기를 DRBr(151)로 바로 전달한다.
이에 DRBr(151)은 바이트 단위로 요청받은 데이터를 램디스크(150)의 내부의 램(152)에서 응용프로그램으로 복사한다. 기존의 컴퓨터에서는 보조저장장치는 블록 단위 인터페이스를 갖고 바이트 단위 인터페이스는 갖지 않는다.
이에, 본 발명의 실시 예에서는 DRBf(111), DRBs(141) 및 DRBr(151)은 보조저장장치(170)가 캐시(130) 없이 바이트 단위 읽기를 수행하게 해주는 새로운 인터페이스를 제공하는 것이다.
가상파일시스템(110)은 응응프로그램(100)으로부터 읽어야 할 파일의 옵셋과 바이트 단위의 크기를 받는다. DRBf(111)은 파일시스템을 통하여 파일의 옵셋을 보조저장장치(170) 내부 위치로 변환한다. 그리고 보조저장장치(170) 내부 위치와 바이트 단위의 크기를 DRBs(141)를 거쳐 DRBr(151)로 전달한다.
DRBr(151)은 요청받은 바이트 단위의 크기만큼을 그 내부의 위치에 해당하는 램(152)에서 응응프로그램(100)의 메모리(미도시)로 복사한다.
본 발명의 다른 실시 예에서 구현방식에 따라서 DRBf(111)는 DRBs(141)를 거치지 않고 상기 위치와 크기를 DRBr(151)로 전달할 수도 있다.
도 2는 본 발명의 실시 예에 따른 무복사 바이트 읽기방법을 보이는 흐름도이다.
도 2를 참조하면, 본 발명에 따른 무복사 바이트 읽기방법에서는 응용프로그램(100)에서 보조저장장치(170)의 데이터를 읽고 쓰기 위한 과정을 제시하는 것으로서 무복사 바이트 읽기 및 램 동기화 기능을 갖는 컴퓨터의 읽기/쓰기 방법을 제공한다.
도면에 도시된 바와 같이 응용프로그램(100)이 읽기를 요청했는지 쓰기를 요청했는지 판단한다(S101).
상기 S101 단계의 판단에서 읽기 요청이면 캐시(130)에 해당 데이터가 있는지 검사하여(S103), 캐시(130)에 해당 데이터가 있으면 응용프로그램(100)이 요청한 데이터를 캐시(130)에서 읽어서 그 데이터를 응용프로그램(100)으로 전달한 후 종료하고(S105), 캐시(130)에 해당 데이터가 없으면 램 동기화 모듈(140)이 바이트 읽기를 지원하는지를 검사한다(S105).
상기 S105 단계의 검사에서 램 동기화 모듈(140)이 바이트 읽기를 지원하지 않으면 기설정된 기존방식으로 블록 읽기를 수행한 후 종료하고(S113), 반대로 램 동기화 모듈(140)이 바이트 읽기를 지원한다면 응용프로그램(100)이 요청한 파일 위치를 램디스크(150)의 위치로 변환한 후(S107), 해당 램디스크(150)의 위치에서 바이트 단위로 읽어서 응용프로그램(100)으로 데이터를 전달하고 종료한다(S1098).
만약, 상기 S101의 판단에서 쓰기 요청이면 램 동기화 모듈(140)은 전달받은 쓰기 요청을 램디스크(150)로 전달하고(S115), 그 쓰기 요청을 SSD(160)로도 전달한다(S117).
램디스크(150)와 SSD(160)의 쓰기 요청이 완료되면 램 동기화 모듈(140)은 전달받은 쓰기 요청을 종료한다(S119).
이상에서 설명한 바와 같이 본 발명에 따른 컴퓨터 장치에서는 램디스크의 특징을 이용하여 운영체제 내의 캐시를 경유하지 않는 바이트 수준의 무복사 바이트 읽기 방식을 제공한다. 이로써 운영체제 내의 캐시를 통한 메모리 복사 오버헤드를 줄일 수 있다.
또한, 본 발명에 따른 컴퓨터 장치에서는 캐시를 사용하는 종래의 방식에서 두 번의 메모리 복사가 필요하다는 단점에 대비하여 한 번의 메모리 복사만 필요하므로 성능이 더 우수하다는 장점이 있다.
또한, 본 발명에 따른 컴퓨터 장치에서는 컴퓨터 내부에서 SSD를 이용하여 램디스크의 데이터를 실시간에 동기화시키고 램디스크에 저장된 데이터가 정전에도 잃지 않도록 한다.
이상에서, 본 발명의 실시 예를 구성하는 모든 구성 요소들이 하나로 결합하거나 결합하여 동작하는 것으로 설명되었다고 해서, 본 발명이 반드시 이러한 실시예에 한정되는 것은 아니다. 즉, 본 발명의 목적 범위 안에서라면, 그 모든 구성 요소들이 하나 이상으로 선택적으로 결합하여 동작할 수도 있다. 또한, 그 모든 구성 요소들이 각각 하나의 독립적인 하드웨어로 구현될 수 있지만, 각 구성 요소들의 그 일부 또는 전부가 선택적으로 조합되어 하나 또는 복수 개의 하드웨어에서 조합된 일부 또는 전부의 기능을 수행하는 프로그램 모듈을 갖는 컴퓨터 프로그램으로서 구현될 수도 있다. 그 컴퓨터 프로그램을 구성하는 코드들 및 코드 세그먼트들은 본 발명의 기술 분야의 당업자에 의해 용이하게 추론될 수 있을 것이다. 이러한 컴퓨터 프로그램은 컴퓨터가 판독가능한 저장매체(Computer Readable Media)에 저장되어 컴퓨터에 의하여 읽혀지고 실행됨으로써, 본 발명의 실시 예를 구현할 수 있다. 컴퓨터 프로그램의 저장매체로서는 자기 기록매체, 광 기록매체, 캐리어 웨이브 매체 등이 포함될 수 있다.
또한, 이상에서 기재된 "포함하다", "구성하다" 또는 "가지다" 등의 용어는, 특별히 반대되는 기재가 없는 한, 해당 구성요소가 내재할 수 있음을 의미하는 것이므로, 다른 구성요소를 제외하는 것이 아니라 다른 구성요소를 더 포함할 수 있는 것으로 해석되어야 한다. 기술적이거나 과학적인 용어를 포함한 모든 용어들은, 다르게 정의되지 않는 한, 본 발명이 속하는 기술 분야에서 통상의 지식을 가진 자에 의해 일반적으로 이해되는 것과 동일한 의미가 있다. 사전에 정의된 용어와 같이 일반적으로 사용되는 용어들은 관련 기술의 문맥상의 의미와 일치하는 것으로 해석되어야 하며, 본 발명에서 명백하게 정의하지 않는 한, 이상적이거나 과도하게 형식적인 의미로 해석되지 않는다.
이상의 설명은 본 발명의 기술 사상을 예시적으로 설명한 것에 불과한 것으로서, 본 발명이 속하는 기술 분야에서 통상의 지식을 가진 자라면 본 발명의 본질적인 특성에서 벗어나지 않는 범위에서 다양한 수정 및 변형이 가능할 것이다. 따라서, 본 발명에 개시된 실시 예들은 본 발명의 기술 사상을 한정하기 위한 것이 아니라 설명하기 위한 것이고, 이러한 실시 예에 의하여 본 발명의 기술 사상의 범위가 한정되는 것은 아니다. 본 발명의 보호 범위는 아래의 청구범위에 의하여 해석되어야 하며, 그와 동등한 범위 내에 있는 모든 기술 사상은 본 발명의 권리범위에 포함되는 것으로 해석되어야 할 것이다.
100 : 응용프로그램 110 : 가상파일시스템
111 : DRBf 120 : 파일시스템
130 : 캐시 140 : 램 동기화 모듈
141 : DRBs 150 : 램디스크
151 : DRBr 152 : 램
160 : SSD 170 : 보조저장장치

Claims (9)

  1. 데이터를 저장하는 램 및 읽기요청을 수신하는 DRBr부를 포함하는 램디스크와, 상기 램디스크의 실시간 데이터 복사본을 저장하기 위한 SSD와, 상기 SSD에 실시간 복사본을 저장하도록 하고 상기 DRBr부로 읽기요청을 송신하는 DRBs부를 포함하는 램 동기화 모듈을 포함하는 보조저장장치; 및
    응용프로그램으로부터 바이트 단위의 읽기요청을 수신하는 DRBf부를 포함하고 상기 읽기요청이 수신되면 상기 수신된 읽기요청을 상기 램 동기화 모듈의 DRBs 또는 상기 램디스크의 DRBr로 직접 전달하는 가상파일시스템을 포함하고,
    상기 가상파일시스템의 DRBf부는 상기 응용프로그램으로부터 읽기요청이 수신되면 상기 램 동기화 모듈의 DRBs부로 상기 읽기요청을 직접 전달하고 상기 DRBs부는 상기 전달된 읽기요청을 상기 램디스크의 DRBr로 전달하며, 상기 DRBr부는 바이트 단위로 읽기요청을 받은 데이터를 상기 램디스크의 램에서 상기 응용프로그램으로 복사하는 무복사 바이트 읽기 및 램 동기화 기능을 갖는 컴퓨터 장치.
  2. 삭제
  3. 삭제
  4. 제1항에 있어서,
    상기 DRBf부는 상기 응용프로그램으로부터 읽기 요청된 파일 위치를 상기 보조저장장치의 위치로 변환하여 상기 보조저장장치의 위치와 읽어야 할 크기로 구성된 읽기 요청을 상기 램 동기화 모듈의 DRBs부로 전달하는 무복사 바이트 읽기 및 램 동기화 기능을 갖는 컴퓨터 장치.
  5. 제1항에 있어서,
    상기 가상파일시스템의 DRBf부는 상기 램 동기화 모듈의 DRBs부를 거치지 않고 직접 상기 램디스크의 DRBr로 전달하는 무복사 바이트 읽기 및 램 동기화 기능을 갖는 컴퓨터 장치.
  6. 청구항 제1항에 기재된 컴퓨터 장치에서,
    응용프로그램으로부터 읽기요청인지 쓰기요청인지를 판단하는 판단단계;
    읽기 요청이면 캐시에 읽기 요청된 데이터가 있는지 검사하는 검사단계;
    상기 검사결과 읽기 요청된 데이터가 없으면 램 동기화 모듈이 바이트 단위의 무복사 읽기를 지원하는지를 검사하여 지원하면 상기 응용프로그램이 바이트 단위의 무복사 읽기 요청한 파일위치를 램디스크의 위치로 변환하는 변환단계; 및
    상기 변환된 램디스크의 위치에서 바이트 단위로 데이터를 읽어 상기 응용프로그램으로 전달하는 전달단계를 포함하는 무복사 바이트 읽기방법.
  7. 제6항에 있어서, 상기 검사단계 이후에,
    상기 검사결과 상기 캐시에 읽기 요청된 데이터가 있으면, 상기 캐시에 있는 데이터를 읽어 상기 응용프로그램으로 전달하는 단계를 더 포함하는 무복사 바이트 읽기방법.
  8. 제6항에 있어서,
    상기 변환단계는 상기 램 동기화 모듈이 바이트 읽기를 지원하지 않으면 기설정된 블록 읽기를 수행하는 단계를 포함하는 무복사 바이트 읽기방법.
  9. 제6항에 있어서,
    상기 판단단계의 판단결과 상기 응용프로그램의 요청이 쓰기요청이면,
    상기 램 동기화 모듈에서 상기 수신된 쓰기요청을 램디스크 및 SSD로 전달하는 단계; 및
    상기 램디스크 및 SSD의 쓰기 요청이 완료되면 상기 램 동기화 모듈에서 상기 수신된 쓰기요청을 종료하는 단계를 포함하는 무복사 바이트 읽기방법.
KR1020160169522A 2016-12-13 2016-12-13 무복사 바이트 읽기방법 및 무복사 읽기 기능 및 램 동기화 기능을 갖는 컴퓨터 장치 KR101841486B1 (ko)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020160169522A KR101841486B1 (ko) 2016-12-13 2016-12-13 무복사 바이트 읽기방법 및 무복사 읽기 기능 및 램 동기화 기능을 갖는 컴퓨터 장치

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020160169522A KR101841486B1 (ko) 2016-12-13 2016-12-13 무복사 바이트 읽기방법 및 무복사 읽기 기능 및 램 동기화 기능을 갖는 컴퓨터 장치

Publications (1)

Publication Number Publication Date
KR101841486B1 true KR101841486B1 (ko) 2018-03-23

Family

ID=61911944

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020160169522A KR101841486B1 (ko) 2016-12-13 2016-12-13 무복사 바이트 읽기방법 및 무복사 읽기 기능 및 램 동기화 기능을 갖는 컴퓨터 장치

Country Status (1)

Country Link
KR (1) KR101841486B1 (ko)

Similar Documents

Publication Publication Date Title
US9135119B1 (en) System and method for data management
US9405684B1 (en) System and method for cache management
US6526477B1 (en) Host-memory based raid system, device, and method
US10146632B2 (en) Efficient mechanism to replicate data for multiple controllers
EP2557494B1 (en) Storage apparatus and data copy method between thin-provisioning virtual volumes
US10078460B2 (en) Memory controller utilizing scatter gather list techniques
US20170052723A1 (en) Replicating data using remote direct memory access (rdma)
US8719490B2 (en) Storage array, storage system, and data access method
WO2019001521A1 (zh) 数据存储方法、存储设备、客户端及系统
US10102060B2 (en) Storage apparatus and data control method of storing data with an error correction code
US10860225B2 (en) Apparatus and method for routing access based on device load
US10558398B2 (en) Reducing read latency
US20230127200A1 (en) System and Method for Enabling Smart Network Interface Card (SmartNIC) Access to Local Storage Resources
US20160011965A1 (en) Pass through storage devices
US8880816B2 (en) Reducing storage system power consumption in a remote copy configuration
US9619336B2 (en) Managing production data
US20200089784A1 (en) Method and system for reduced data movement compression using in-storage computing and a customized file system
CN111459400B (zh) 在存储服务器中进行基于管线的存取管理的方法及设备
US11726916B1 (en) Method, computer program product, and computing system for defining a normal IO write mode and handling requests to enter a testing IO write mode
KR101841486B1 (ko) 무복사 바이트 읽기방법 및 무복사 읽기 기능 및 램 동기화 기능을 갖는 컴퓨터 장치
KR20230078577A (ko) 동기식 쓰기 방법 및 장치, 스토리지 시스템 및 전자 장치
CN110121874B (zh) 一种存储器数据替换方法、服务器节点和数据存储系统
US11256439B2 (en) System and method for parallel journaling in a storage cluster
US11513729B1 (en) Distributed write buffer for storage systems
US11435955B1 (en) System and method for offloading copy processing across non-volatile memory express (NVMe) namespaces

Legal Events

Date Code Title Description
E701 Decision to grant or registration of patent right
GRNT Written decision to grant