• 검색 결과가 없습니다.

Development of Efficient Data Distribution Storage Algorithm for High Speed Data Backup in DRAM based SSD

N/A
N/A
Protected

Academic year: 2021

Share "Development of Efficient Data Distribution Storage Algorithm for High Speed Data Backup in DRAM based SSD"

Copied!
5
0
0

로드 중.... (전체 텍스트 보기)

전체 글

(1)

*서일대학교 정보통신학과 교수

**(주)태진인포텍 연구소장

접수일자: 2015년 11월 18일, 수정완료: 2015년 12월 7일 게재확정일자: 2015년 12월 11일

Received: 18 November, 2015 / Revised: 7 December, 2015 / Accepted: 11 December, 2015

*Corresponding Author: [email protected]

Dept..of Information and Communication engineering, Seoil University, Seoul Korea.

http://dx.doi.org/10.7236/JIIBC.2015.15.6.11

JIIBC 2015-6-2

DRAM기반 SSD에서 고속백업을 위한 DRAM기반 SSD에서 고속백업을 위한 효율적인 데이터 분산저장

알고리즘 개발

Development of Efficient Data Distribution Storage Algorithm for High Speed Data Backup in DRAM based SSD

송한춘

*

, 안혁종

**

Han-chun Song

*

, Hyuk-jong Ahn

**

요 약 인터넷 대용량 서버에서 다수 접속자의 데이터를 고속으로 처리하기 위하여 반도체디스크(SSD)를 사용하고 있 다. 본 논문에서는 DRAM을 SSD로 사용하는 서버환경에서 갑작스런 전원장애 시에 데이터의 안정성을 확보하기 위 한 고속백업 분산저장 알고리즘을 제안하였다. 제안한 알고리즘은 백업컨트롤러에서 DRAM 데이터를 중간버퍼를 활용 한 스케줄링 기법으로 플래시메모리에 분산저장 하는 방법이다. 본 논문에서는 제안한 알고리즘을 기존 백업알고리즘과 동일한 조건의 대용량 서버환경에서 백업처리성능 비교시험을 실시하였다. 시험결과에 의하면 제안한 알고리즘은 기존 알고리즘에 비하여 DRAM의 데이터를 약 2배 이상 고속으로 백업저장을 할 수 있음을 알 수 있었다.

Abstract SSD(Solide State Disk) Memory is gradually replacing HDD(Hard Disk Drive) for high speed data input and output processing on Internet server system. In this paper, we proposed efficient data distribution storage algorithm in DRAM based SSD. And we did performance test for proposed algorithm and existing algorithm in the same server environment condition. The result of comparison of performance test is as fellows. Data backup processing time of proposed algorithm was reduced by half than that of existing algorithm.

Key Words : SSD, DRAM, Data Backup, Internet server

Ⅰ. 서 론

최근 초고속 인터넷과 스마트폰의 사용이 보편화되면 서 다양한 형태의 정보통신 응용서비스들이 등장하고 있 다. 다양한 인터넷응용 서비스를 제공하기 위해서는 초 고속 네트워크와 더불어 서비스를 제공하는 서버에서 데 이터의 입출력 처리속도가 빨라야 한다. 대용량 서버의 기억장치로는 기존의 하드디스크 형태에서 고속으로 입

출력 처리가 가능한 반도체디스크로 대체되고 있다

[1][10]

.

반도체디스크 기억장치(SSD)는 플래시 기반 SSD와

DRAM기반 SSD의 두 가지 유형이 있다. 플래시 기반

SSD는 주 저장매체로 비휘발성인 NAND 플래시 메모리

를 사용하는 것이고, DRAM 기반 SSD는 플래시 기반

SSD 보다 고속의 읽기 쓰기 그리고 사용 횟수를 많이 할

수 있지만 휘발성이므로 정전에 데이터의 손실에 대비

하여 고속으로 데이터를 백업장치가 필요하다

[1][10]

.

(2)

표 1. 저장장치 유형별 특징

[5]

Table 1. Feature of Storage Unit by Type 본 논문에서는 DRAM 기반의 SSD를 사용하는 환경 에서 갑작스런 전원장애 시에 데이터의 안정성을 확보 하기 위하여 백업 컨트롤러에서 고속으로 처리되는 DRAM 데이터를 중간 버퍼를 활용한 스케줄링 기법으로 상대적 저속의 플래시 메모리에 분산백업 하는 알고리즘 을 제안하고 개발알고리즘을 기존의 백업알고리즘과 성 능비교 시험을 실시하였다.

Ⅱ. 서버용 반도체저장장치

1. 반도체저장장치

대용량서버에서는 수많은 고객이 동시에 접속하여 요구하는 서비스의 데이터 입출력 처리를 효과적으로 수 용하기 위하여 반도체디스크(SSD)를 사용하고 있다.

SSD는 회전운동을 하는 하드디스크(HDD)와 달리 고정 된 반도체 메모리방식으로 무 소음으로 작동하고 고속의 데이터 처리가 가능하고 수명이 길다

[10]

. 대용량서버의 저장장치로 반도체디스크를 사용하는 방법으로는 두 가 지 방법이 있는데, SRAM(Static Random Access Memory)를 활용하는 방법과 DRAM(Dynamic Random Access Memory)를 활용하는 방법이다

[2]

.

SRAM은 Flash SSD (Solid State Disk)로, 기존의 HDD에 비하여 고속으로 데이터의 입출력처리가 가능하 고 비휘발성 반도체로서 정전의 경우에도 데이터를 안전 하게 보존할 수 있다. 가격측면에서 DRAM 저장장치 보 다는 저렴하다. 대용량서버에서 지속적인 데이터의 읽고 쓰기에서 소자의 수명 한계와 데이터를 쓸 때 필요한 Redundancy 등에서 DRAM에 비해 처리속도 성능이 떨 어진다는 단점이 있다

[3]

. DRAM은 SRAM을 사용하는

것보다 좀 더 고속의 데이터 입출력 처리가 가능하여 서 버시스템의 데이터 입출력 처리성능을 획기적으로 높일 수 있다. 하지만 DRAM이 휘발성 매체이므로 내부 배터 리가 필요하고, 전원이 나갔을 경우에 데이터가 사라질 수 있으므로 정보의 신속한 백업을 위한 장치가 요구된 다

[4]

.

2. DRAM 버퍼 스케줄링 기법

[6]

Fixed Priority 방식은 각 마스터들에게 고정된 우선 순위를 갖도록 하는 방식으로, 마스터의 중요도에 따라 우선순위를 높일 수 있는 장점이 있지만, 마스터의 개수 가 많을 경우 심각한 starvation 현상을 발생 시킬 수 있 다. Round Robin 방식은 Fixed Priority의 starvation 문 제를 해결하기 위해 제안 되었다. 모든 마스터의 우선순 위를 동일하게 유지하게 하여, 버스를 한 마스터씩 돌아 가면서 사용함으로, 모든 마스터가 공평하게 버스를 사 용할 수 있도록 해 주는 방식이다. TDM+ Round Robin 방식은 각 마스터에게 타이밍 휠에서 버스를 할당하는 슬롯의 수를 다르게 배분하고, 슬롯이 사용되지 않을 때 에는 Round Robin을 사용하는 방식이다. DRAM의 Multi bank 방식은 DRAM의 Multi bank 기능을 활용하 여 DRAM 버퍼의 대역폭을 효율적으로 활용할 수 있는 스케줄링 기법이다.

Ⅲ. 분산저장 알고리즘 개발

1. 데이터백업 분산저장 컨트롤러 구현 대용량 서버에서 입출력 처리속도를 향상시키기 위하 여 사용하는 반도체 디스크인 DRAM 저장장치에서의 효 율적인 데이터 백업을 위한 데이터 분산저장 방법으로 FPGA를 통한 데이터 분산 데이터 백업 엔진을 구현하였 다. 메모리모듈은 Two Rank 204-Pin Registered DDR3 SDRAM Module을 사용하였고, FPGA의 Top과 Bottom 에 각각 2개씩 총 4개의 DDR 메모리 모듈을 직렬연결하 고 백업 매체는 Hynix eMMC Flash 소자를 사용하였다.

연결방법은 다중의 eMMC 소자를 여러 개 병렬 연결하

여 하나의 소자 형태로 FPGA에 결합하였으며, 이를 통

하여 데이터 분산 백업 실행한다. 사용하는 FPGA는

Altera FPGA Stratix IV Series를 사용하고 사용 언어는

Verilog를 활용하였다. 사용 소프트웨어는 Quartus II

(3)

14.0, 호스트 인터페이스는 PCI-Express X4로 한다. 그 림1은 개발시스템의 전체 기능블록 구성 도를 나타내고 있다.

그림 1. 개발한 분산저장 컨트롤러 블럭도

Fig. 1. Block Diagram of Developed Distribution Storage Controller

그림 2는 반도체디스크인 DRAM 저장장치를 사용하 는 대용량서버환경에서 대용량 데이터의 안정성확보를 위한 분산백업저장의 처리과정을 나타내고 있다

[9]

.

그림 2. 전원장애 시 데이터 백업처리 과정

Fig. 2. Data Block Process in The Power Error

2. 백업 분산저장 스케줄링 알고리즘 제안 기존의 인터넷 대용량 서버의 반도체디스크에서 갑작 스런 전원장애 시 DRAM 데이터의 백업알고리즘의 동작 은 메모리 컨트롤러에서 첫 번째 메모리 버퍼부터 마지 막 버퍼까지 다 찰 때까지 데이터를 입력하고 첫 메모리 버퍼가 다 차게 되면, 두 번째 버퍼로 이동하여 다 채우 고, 그 다음 세 번째 버퍼를 채우는 순차적 방법을 사용 하고 있다

[8]

.

본 논문에서는 그림3에서 보는 바와 같이, 고속 백업을 위한 분산저장 스케줄링 알고리즘을 개발하였다. 개발 한 알고리즘의 동작과정을 살펴보면, 첫 번째 메모리 버퍼부 터 일정한 크기만큼만 데이터를 채우고 두 번째 버퍼로

이동하여 또 일정한 크기만큼만 채우고 그 다음 세 번째 버퍼로 이동하여 채우는 방식의 Round robin 스케줄링을 사용하였다. 그렇게 함으로서 빠르게 데이터를 처리하는 DRAM의 데이터 처리속도를 병렬로 구성된 상대적으로 DRAM에 비하여 속도 느린 FLASH 메모리에서 처리시 간에 따른 병목현상을 개선하여 전체적인 데이터 입출력 처리속도를 개선하도록 설계하고 구현하였다.

그림 3. 제안한 분산저장 알고리즘 동작과정

Fig. 3. The Operation of Processed Distribution Storage Algorithm

Ⅳ. 성능시험 및 결과

1. 시험환경 구성 가. 시험 개요

DRAM기반의 SSD환경에서 데이터백업관련 처리속도 성능시험을 진행함에 있어서, 기존의 백업 알고리즘과 제 안한 백업 스케줄링 알고리즘을 동일 서버환경에서 데이 터 백업 입출력 처리성능을 비교 분석한다. 그림 4 에서 현재의 백업 알고리즘과 제안한 백업 알고리즘을 동일한 서버환경에 적용하여 백업성능 비교시험을 실시하였다.

표 2. 성능비교실험 장비 환경정보

Table 2. Environmental Information of

Performance Comparison Equipment

(4)

a. 성능비교 시험환경 불럭도

b. 실제 시험환경 구성사진

그림 4. 개발 알고리즘의 성능비교 실험 환경 Fig. 4. Performance Comparison Test Environment of Development Algorithm

2. 백업 분산저장처리 성능 비교시험

그림4와 같이 동일한 서버시스템 환경에서 시험환경 에서 테스트 프로그램을 이용한 백업시험과 전원차단 시 의 백업처리 성능시험을 실행하였다.

가. 정상상태에서 백업성능 비교시험

DRAM SSD STORAGE에 전원을 인가하고. 테스트 서버를 부팅한 다음에 테스트 프로그램 폴더로 이동하여 테스트 프로그램을 실행한다. 그림 5와 같은 성능시험 프 로그램 실행화면에서 >emmc_test 명령을 통하여 Data 를 백업하도록 하고 백업완료 시간을 측정한다. 100회 반복시험을 하여 평균값을 구한다.

그림 5. 성능시험 프로그램 실행화면

Fig. 5. Running Screen of Performance Test Program

나. 전원차단 시 백업처리성능 비교시험

DRAM SSD STORAGE에 전원을 인가하고 테스트 서버를 부팅한 다음에 Device Driver를 셋팅 한다.

DRAM SSD STORAGE에 인가된 전원을 차단한 다음 에 백업완료 시간을 측정한다. 100회 반복시험을 하여 평 균값을 구한다.

다. 백업처리성능 비교시험 결과

본 논문에서는 제안한 알고리즘과 기존의 알고리즘에 대한 백업용량에 따른 처리시간의 비교시험 결과는 그림 6과 같다.

0 200 400 600 800 1000 1200 1400

16GB 32GB 48GB 64GB

소요시간(초)

Backup 용량

Backup 용량별 소요시간 비교

기존 백업 방식의 JSM 수정된 백업 방식의 JSM

그림 6. 백업용량에 따른 처리시간 시험결과

Fig. 6. Result of Backup Processing Performance Test according to backup data size

본 논문에서는 제안한 백업 알고리즘과 기존의 백업 알고리즘의 정상상태에서의 백업용량에 따른 성능시험 결과는 표 3에 나타낸 바와 같이 제안한 백업 알고리즘의 백업처리 시간이 2배 이상으로 빠르게 나타남을 알 수 있 었다.

표 3. 백업처리 성능시험 결과

Table 3. Result of Backup Process Performance Test

a. 백업용량에 따른 처리성능 측정결과

(5)

※ 본 논문은 2015년도 서일대학교 학술연구비에 의해 연구되었습니다.

b. 정상상태/전원차단 시 백업성능 비교결과

시험환경 정상상태에서

백업 성능시험

전원 차단 시 백업 성능시험 기존의

알고리즘 1301.12 초 1,392.7 초 제안한

알고리즘 653.06 초 682.2 초

Ⅴ. 결 론

인터넷 대용량 서버에서 다양한 콘텐츠 서비스를 동 시에 제공하기 위해서는 데이터를 고속으로 처리할 수 있는 반도체디스크가 사용되고 있다. DRAM을 사용한 SSD는 SRAM을 사용하는 SSD에 비하여 상대적으로 고 속데이터 처리성능을 가진다. 하지만 휘발성 메모리로 전원이 나갔을 때를 대비하여 데이터 안정성 확보를 위 하여 고속 데이터 백업이 요구된다

[10]

.

본 논문에서는 DRAM을 저장장치로 사용하는 SSD 서버환경에서 전원장애 시에 데이터의 안정성을 확보하 기 위하여, 백업 컨트롤러에서 고속으로 처리되는 DRAM 데이터를 중간 버퍼를 활용한 스케줄링 기법으로 상대적 저속의 플래시 메모리에 분산백업 하는 알고리즘 을 제안하고 제안한 알고리즘에 대한 성능시험을 실시하 였다.

제안한 고속백업 분산저장 스케줄링 알고리즘에 대한 시험결과 기존 알고리즘에 비하여 약 2배 이상 고속으로 백업이 이루어짐을 알 수 있었다.

References

[1] Nam-Il Youn et al 1, “Computer Architecture”, Saengneung Publisher, 2014

[2] Tae-Hee Han, “SSD Controller Technology”, Technical focus, 2012

[3] http://www.PaxDisk.com, “SSD Technology”

[4] Kyung-Hee Park et al 4, “Performance Analysis for DRAM-based SSD system”, KIIT Vol 7 No. 4, 2009.08

[5] Tae-Hee Han et al 1, “SSD Technology & Market Trend”, KEIT, PD Issure report vol 12-2, 2012 [6] Kwang Seok Im elt al 1, “DRAM Buffer Data

Management Techniques to Enhance SSD Performance”IEEK Vol. 48, No. 7, 2011.7 [7] Hyuk-jong Ahn, “eMMC Backup Test Result”,

Taejin Infotech R&D Center, 2015

[8] Jun Su Park et al 2, “Efficient DRAM Buffer Access Scheduling Techniques for SSD Storage System”,IEEK vol. 48 no 7, 2011

[9] Han-chun Song, “Data Distribution Storage Research for High speed Data back up on DRAM SSD”, Taejin Infotech R&D Center, 2015 [10] Han-Chun Song, “Performance Analysis of High

Speed SSD for High Speed I/O Processing in the Internet Server”, JIIBC Vol. 5, No2, 2005

저자 소개

송 한 춘(정회원)

∙1990년 : 성균관대학교 전자공학과 졸 업 <공학사>

∙1994 : 연세대학교 전자공학전공졸업

<공학석사>

∙1998년 : 성균관대학교 통신공학전공 졸업<공학박사>

∙1998년 ∼ 현재 : 서일대학교 정보통 신학과 교수

<주관심분야 : 정보통신 네크워크>

안 혁 종(정회원)

∙2001년 : 한양대학교 전자공학과 졸업

<공학석사>

∙2005년 ∼ 현재 : (주) 태진인포텍 연 구소 연구소장

<주관심분야 : 반도체 디스크 저장장치>

수치

표 1. 저장장치 유형별 특징 [5]
Fig. 6. Result of Backup Processing Performance  Test according to backup data size

참조

관련 문서

Data sampled at the scan interval is recorded in the internal memory as measured data for each specified data type (display data and event data).. Measured value at

• Connect to information (products: information server; data pub-lisher). • Understand information (data architect,

5-24 Chapter 5: Software support If you want to boot the system from a hard disk drive included in a created RAID set, copy first the RAID driver from the support CD to a

parallel processing (e.g. ETL) of large data sets in Google Cloud Supports both Streaming and Batch processing (no need for separate pipeline code development). Autoscales

We want to exactly measure weight of balloon and ascent speed for both launches future reference. • 2:20-3 PM Rotation initializing launch procedure, gathering in situ data,

Process data in registers using a number of data processing instructions which are not slowed down by memory access. Store results from registers

In this paper, a fault-tolerant routing protocol based on AODV called FT-AODV is proposed for reliable and high-performance routing in MANETs...

this study analysed cast speed and solidification in thermal and flow perspectives and based on the results, conducted a confidence test on the high-speed general purpose