KR20010039238A - 논리 제어기를 이용한 다중 디스크 시스템 및 그 제어방법 - Google Patents

논리 제어기를 이용한 다중 디스크 시스템 및 그 제어방법 Download PDF

Info

Publication number
KR20010039238A
KR20010039238A KR1019990047542A KR19990047542A KR20010039238A KR 20010039238 A KR20010039238 A KR 20010039238A KR 1019990047542 A KR1019990047542 A KR 1019990047542A KR 19990047542 A KR19990047542 A KR 19990047542A KR 20010039238 A KR20010039238 A KR 20010039238A
Authority
KR
South Korea
Prior art keywords
disk
logical
controller
cylinder
stub
Prior art date
Application number
KR1019990047542A
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 KR1019990047542A priority Critical patent/KR20010039238A/ko
Publication of KR20010039238A publication Critical patent/KR20010039238A/ko

Links

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/46Multiprogramming arrangements
    • G06F9/50Allocation of resources, e.g. of the central processing unit [CPU]
    • G06F9/5061Partitioning or combining of resources
    • G06F9/5077Logical partitioning of resources; Management or configuration of virtualized resources

Landscapes

  • Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

본 발명은 다중 디스크 시스템 및 그 제어방법에 관한 것으로서, 개별 디스크를 제어하는 다수개의 디스크 스텁(disk stub)을 포함하며, 다수개의 개별 디스크에 존재하는 실린더를 하나의 개념으로 묶어 논리 실린더(logical cylinder)를 생성하고 논리 실린더를 기반으로 파일 시스템을 위한 논리 파티션(logical partition)을 생성하여, 로컬리티를 가진 데이터 혹은 메타데이터를 하나의 논리 실린더에 저장하여 관리하는 논리 제어기와, 상기 논리 제어기의 디스크 스텁에 의해 제어되는 다수개의 디스크로 구성된다. 따라서 본 발명의 다중 디스크 시스템은 높은 가격 대 성능비를 가지면서 빠른 접근성과 대용량성 갖는다.

Description

논리 제어기를 이용한 다중 디스크 시스템 및 그 제어방법{A logical controller based multi-disk system and control method therefor}
본 발명은 다수개의 개별 디스크를 괸리하는 디바이스 드라이버들을 통합하고, 개별 디스크에 존재하는 실린더를 하나의 개념으로 묶은 논리 실린더를 지원하여 로컬리티를 가진 데이터 혹은 메타데이터를 하나의 논리 실린더에 저장하여 관리하는 논리 제어기(logical controller)를 이용한 다중 디스크 시스템 및 그 제어방법에 관한 것이다.
리눅스(Linux)를 위한 파일 시스템은 Ext2FS이다. Ext2FS 파일 시스템은 BSD(Berkely Software distribution)의 패스트(fast) 파일 시스템의 개념을 도입하여 로컬리티(locality)가 존재하는 데이터와 메타데이타(inode)를 그룹으로 묶어 같은 실린더 혹은 인접한 실린더에 관리함으로써 데이터 처리에서 대부분의 시간을 차지하는 접근시간(access time)을 최소화하여 우수한 성능을 가지도록 설계되었다. Ext2FS는 다음과 같은 물리적 구조를 가진다.
부트 섹터 블록 그룹 1 블록 그룹 2 . . . 블록 그룹 N
파일 시스템은 블록 그룹으로 구성되며, 블록 그룹은 하나의 실린더 혹은 인접한 몇 개의 실린더에 위치한다. 그러므로 블록 그룹은 디스크의 물리적 블록과는 관계가 없다.
각 블록 그룹은 다음과 같은 구조로 이루어진다.
슈퍼블록 FS디스크립터들 블록비트맵 아이노드비트맵 아이노드테이블 데이터블록들
그러나, 이와 같은 구조를 갖는 Ext2FS는 개별적 디스크에 개별적 파일 시스템만을 설치 할 수 있으며, 디스크의 용량을 넘어서는 대용량의 파일 시스템을 일관되게 관리하기 힘든 문제점이 있다.
이러한 단점을 극복하기 위해서 하나의 하드웨어적인 제어기를 통해 다수의 디스크 장치를 관리하기 위한 래이드(Redundant Arrays of Inexpensive Disks : RAID) 시스템이 선보였다. RAID 시스템은 빠른 접근성을 제공하며, 대용량의 데이터를 처리하는 요구조건을 충족 시켰다. 그러나 RAID 시스템은 하드웨어적 구성으로 설치 비용이 많이 들며, 파일 시스템 특성에 맞는 구성을 실현하기 힘든 단점이 있다.
RAID 시스템을 소프트웨어적인 접근 방식으로 구현하려는 시도가 실현된 것으로 소프트웨어 RAID가 있다. 소프트웨어 RAID는 가격에 대한 단점을 극복했으나 파일 시스템 상에서 구현된 논리 디스크 시스템으로 성능에서 큰 제약점을 가진다.
그러므로 RAID와는 새로운 관점으로 디스크에 대한 관리가 필요하게 되었으며 볼륨 매니저(volume manager) 개념이 소개되었다. 볼륨 매니저는 디스크를 관리하는 시스템 소프트웨어인 디스크 드라이버를 통해서 디스크를 관리하기 위한 개념이다. 여러 개의 디스크를 하나의 디스크 드라이버를 이용해서 관리함으로써 하나의 디스크 사용하는 듯한 단일한 이미지를 사용자에게 제공해서 디스크의 용량을 확장할 수 있다. 그러나 볼륨 매니저는 단지 디스크에 대한 용량의 한계를 확장할 수 있으나 빠른 접근성 지원을 통한 성능 향상은 미흡하다.
따라서, 비용의 효율성을 확보하면서, 빠른 접근성 및 대용량성을 지원하기 위해서 개별 디스크를 관리하는 디바이스 드라이버들을 통합하고, 파일 시스템의 성능 향상을 위한 일반적 알고리즘을 지원하기 위해 개별 디스크에 존재하는 실린더를 하나의 개념으로 묶어 로컬리티를 가진 데이터 혹은 메타데이터를 하나의 논리 실린더에 저장하여 관리하는 디스크 시스템이 요구된다.
상술한 종래 디스크 시스템의 문제점을 해결하기 위해 안출된 본 발명은 높은 가격 대 성능비를 가지면서 대용량의 저장 장치를 구현 할 수 있는 논리 제어기를 이용한 다중 디스크 시스템 및 그 제어방법을 제공하는데 그 목적이 있다.
도 1은 본 발명에 따른 논리 제어기를 이용한 다중 디스크 시스템의 구성도
도 2는 본 발명에 따른 논리 실린더 모델을 나타낸 도
상술한 목적을 달성하기 위한 본 발명의 다중 디스크 시스템은 다수개의 개별 디스크와 이를 제어하는 제어기로 이루어지는 다중 디스크 시스템에 있어서, 상기 제어기는 상기 개별 디스크를 제어하는 다수개의 디스크 스텁(disk stub)을 내부에 포함하는 논리 제어기로 구성되며, 상기 디스크 스텁은 커널 쓰레드를 통하여 물리적 디스크에 전달되는 상기 논리 제어기의 요구(request)를 처리함으로써 개별 디스크를 제어하는 것을 특징으로 한다.
또한 본 발명의 다중 디스크 시스템의 제어방법은 다수개의 개별 디스크에 존재하는 실린더들을 하나의 개념으로 묶어 논리 실린더(logical cylinder)를 생성하는 단계, 생성된 논리 실린더를 기반으로 파일 시스템을 위한 논리 파티션(logical partition)을 생성하는 단계, 로컬리티를 가진 데이터 혹은 메타데이터를 하나의 논리 실린더에 저장하여 관리하는 단계로 이루어지는 것을 특징으로 한다.
이하, 첨부도면을 참조하여 본 발명의 바람직한 실시예를 상세하게 설명한다.
본 발명의 논리 제어기를 이용한 다중 디스크 시스템은 도 1에 도시된 바와 같이 다수개의 디스크 스텁을 포함하는 하나의 논리 제어기와 논리 제어기의 제어를 받는 다수개의 디스크들로 이루어진다.
상기 논리 제어기는 시스템 소프트웨어로서, 다수개의 개별 디스크에 대해 논리 실린더(logical cylinder)를 생성하고 논리 실린더를 기반으로 파일 시스템을 위한 논리 파티션(logical partition)을 생성한다. 논리 파티션에 파일 시스템이 설치된다.
또한 논리 제어기는 개별 디스크를 관리하는 디스크 스텁를 포함하며, 디스크 스텁을 통해서 개별 디스크를 제어한다. 개별 디스크의 디스크 제어는 커널 쓰레드를 통해 디스크 스텁에서 이루어지며, 디스크 블록은 논리 실린더에 연속번호로 할당된다. 그러므로 논리 제어기에 의해서 서비스되는 디스크는 일련의 연속 디스크 블록을 가진 논리 실린더의 합으로 구성된 단일 디스크 이미지를 제공하게 된다.
디스크 스텁은 개별 디스크와 일대일 대응되며, 커널 쓰레드를 기반으로 구현되는 디스크 제어기이다. 커널 쓰레드는 논리 제어기가 요구하는 개별 디스크에 대한 접근을 제어하는 서비스 모듈이다. 커널 쓰레드를 통해서 물리적 디스크에 전달되는 요구(request)는 디스크 스텁에 의해 처리된다. 각각의 디스크 스텁은 독립적으로 개별 디스크에 대한 요구를 전달하고, 데이터를 받게 되므로 높은 병렬성을 제공하게 된다.
한편, 개별 디스크의 펌웨어(firmware)는 디스크 스텁을 통해 논리 제어기의 요구를 받아서 디스크 상에 존재하는 데이터에 접근한다.
개별 디스크에 존재하는 데이터에 대한 접근은 비동기적으로 제어되기 때문에 데이터 접근 시간이 그만큼 줄어든다. 디스크의 펌웨어(firmware)는 논리 제어기의 비동기 요구를 처리할 수 있는 구조를 가진다.
본 발명에 의해 구현되는 다중 디스크 시스템의 디스크 공간은 수학식 1과 같이 정의된다.
여기서, Si는 i번째 디스크 공간이고, Cyli,d는 i번째 디스크의 d번째 실린더이며, ni는 i번째 디스크의 실린더 수이다.
또한 논리 실린더는 수학식 2와 같이 정의된다.
여기서 k는 디스크 수 이다.
만일 각 디스크의 실린더의 수가 같지 않은 경우, 개별 디스크의 기본 실린더 단위는 최소 용량의 디스크 실린더 수를 나눈 값으로 해서 개별 실린더 집합을 합한 것을 논리 실린더로 한다.
논리 실린더는 일정한 단위 혹은 용량으로 나뉘어져 논리 파티션을 이룬다.
논리 파티션은 수학식 3과 같이 정의된다.
여기서, Pk는 k번째 논리 파티션이고, Lcyli는 i번째 논리 실린더 이며, n은 논리 실린더 수 이다.
상술한 바와 같이 본 발명의 다중 디스크 시스템은 다수개의 개별 디스크를 관리하는 다수개의 디스크 스텁을 제어하고, 개별 디스크에 존재하는 실린더를 하나의 개념으로 묶어 논리 실린더를 생성하며, 로컬리티를 가진 데이터 혹은 메타데이터를 하나의 논리 실린더에 저장하여 관리하는 논리 제어기를 이용함으로써 빠른 접근성과 대용량성 및 가격의 효율성을 가질 수 있다.
이상에서 본 발명에 대한 기술사상을 첨부도면과 함께 서술하였지만 이는 본 발명의 바람직한 실시예를 예시적으로 설명한 것이지 본 발명을 한정하는 것은 아니다. 또한, 이 기술분야의 통상의 지식을 가진 자라면 누구나 본 발명의 기술사상의 범주를 이탈하지 않는 범위 내에서 다양한 변형 및 모방이 가능함은 명백한 사실이다.

Claims (2)

  1. 다수개의 개별 디스크와 이를 제어하는 제어기로 이루어지는 다중 디스크 시스템에 있어서,
    상기 제어기는 상기 개별 디스크를 제어하는 다수개의 디스크 스텁을 내부에 포함하는 논리 제어기로 구성되며, 상기 디스크 스텁은 커널 쓰레드를 통하여 물리적 디스크에 전달되는 상기 논리 제어기의 요구를 처리함으로써 개별 디스크를 제어하는 것을 특징으로 하는 다중 디스크 시스템의 제어방법.
  2. 다수개의 개별 디스크에 존재하는 실린더들을 하나의 개념으로 묶어 논리 실린더를 생성하는 단계와;
    생성된 논리 실린더를 기반으로 파일 시스템을 위한 논리 파티션을 생성하는 단계와;
    로컬리티를 가진 데이터 혹은 메타데이터를 하나의 논리 실린더에 저장하여 관리하는 단계를 포함하는 것을 특징으로 하는 다중 디스크 시스템의 제어방법.
KR1019990047542A 1999-10-29 1999-10-29 논리 제어기를 이용한 다중 디스크 시스템 및 그 제어방법 KR20010039238A (ko)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1019990047542A KR20010039238A (ko) 1999-10-29 1999-10-29 논리 제어기를 이용한 다중 디스크 시스템 및 그 제어방법

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1019990047542A KR20010039238A (ko) 1999-10-29 1999-10-29 논리 제어기를 이용한 다중 디스크 시스템 및 그 제어방법

Publications (1)

Publication Number Publication Date
KR20010039238A true KR20010039238A (ko) 2001-05-15

Family

ID=19617673

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1019990047542A KR20010039238A (ko) 1999-10-29 1999-10-29 논리 제어기를 이용한 다중 디스크 시스템 및 그 제어방법

Country Status (1)

Country Link
KR (1) KR20010039238A (ko)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100605796B1 (ko) * 2004-03-31 2006-08-01 삼성전자주식회사 부팅 시간을 감소하기 위한 향상된 임베디드 파일시스템

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100605796B1 (ko) * 2004-03-31 2006-08-01 삼성전자주식회사 부팅 시간을 감소하기 위한 향상된 임베디드 파일시스템

Similar Documents

Publication Publication Date Title
KR100899462B1 (ko) 블록 맵 캐싱 및 vfs 적층 가능 파일 시스템 모듈들에기초한 분산 저장 아키텍처
US6021462A (en) Methods and apparatus for system memory efficient disk access to a raid system using stripe control information
US9800661B2 (en) Distributed storage over shared multi-queued storage device
CN104049906A (zh) 用于动态高速缓存共享的系统、方法和计算机可读介质
US5892945A (en) Method and apparatus for distributing work granules among processes based on the location of data accessed in the work granules
JP4219602B2 (ja) 記憶制御装置および記憶制御装置の制御方法
US20040107314A1 (en) Apparatus and method for file-level striping
US11544226B2 (en) Metadata control in a load-balanced distributed storage system
JP4257783B2 (ja) 論理分割可能な記憶装置及び記憶装置システム
US7500050B2 (en) Wise ordering for writes—combining spatial and temporal locality in write caches for multi-rank storage
JP5603892B2 (ja) メモリの微小タイリング
US20150199129A1 (en) System and Method for Providing Data Services in Direct Attached Storage via Multiple De-clustered RAID Pools
US5857112A (en) System for achieving enhanced performance and data availability in a unified redundant array of disk drives by using user defined partitioning and level of redundancy
US20070220201A1 (en) Wise ordering for writes-combining spatial and temporal locality in write caches
JP2019020788A (ja) メモリシステムおよび制御方法
JP3200500B2 (ja) ディスク装置及びディスク制御方法
WO2005043378A3 (en) Dynamic parity distribution technique
JP2004164607A (ja) 共用リソースを動的に割り振るためのシステムおよび方法
JPH05257611A (ja) ディスクアレーの区分け方法
CN103080895A (zh) 包括具有存储虚拟化功能和容量虚拟化功能二者的多个存储装置的存储系统
CN104820575A (zh) 实现存储系统自动精简的方法
US7299334B2 (en) Storage system configurations
CN102663115A (zh) 基于页面染色技术的内存数据库访问优化方法
GB2580259A (en) Thin provisioning using cloud based ranks
CN110300960A (zh) 信息系统、管理程序和信息系统的程序更换方法

Legal Events

Date Code Title Description
WITN Withdrawal due to no request for examination