KR20030091664A - 기억 장치 및 기억 장치 서브 시스템 - Google Patents

기억 장치 및 기억 장치 서브 시스템 Download PDF

Info

Publication number
KR20030091664A
KR20030091664A KR10-2003-0012668A KR20030012668A KR20030091664A KR 20030091664 A KR20030091664 A KR 20030091664A KR 20030012668 A KR20030012668 A KR 20030012668A KR 20030091664 A KR20030091664 A KR 20030091664A
Authority
KR
South Korea
Prior art keywords
data
storage device
file
unit
storage
Prior art date
Application number
KR10-2003-0012668A
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
Priority claimed from JP2002151708A external-priority patent/JP2003345513A/ja
Priority claimed from JP2002306468A external-priority patent/JP2004145409A/ja
Application filed by 가부시키가이샤 히타치세이사쿠쇼 filed Critical 가부시키가이샤 히타치세이사쿠쇼
Publication of KR20030091664A publication Critical patent/KR20030091664A/ko

Links

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
    • 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/061Improving I/O performance
    • 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/08Error detection or correction by redundancy in data representation, e.g. by using checking codes
    • G06F11/10Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's
    • G06F11/1076Parity data used in redundant arrays of independent storages, e.g. in RAID 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/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/0658Controller construction arrangements
    • 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/0668Interfaces specially adapted for storage systems adopting a particular infrastructure
    • G06F3/0671In-line storage system
    • G06F3/0683Plurality of storage devices
    • G06F3/0689Disk arrays, e.g. RAID, JBOD

Abstract

용장 데이터를 유지하는 기억 장치 서브 시스템에 있어서, 상위 장치로부터의 파일 단위로의 액세스 요구를, 해당 기억 장치 서브 시스템을 구성하는 복수의 기억 장치 사이에서 협조하여 처리하는 제어 방식을 제공한다. 이를 위해서 기억 장치 서브 시스템을 구성하는 개개의 기억 장치가, 상위 장치로부터의 파일 단위로의 액세스 요구 처리, 및 해당 액세스 요구에 따른 용장 데이터의 갱신 처리를 실시하는 수단을 포함한다. 또한, 기억 장치는 자신이 저장하는 파일마다 기록 매체 상의 위치 정보, 액세스 이력 정보 등을 유지하고, 임의의 조건에서 저장 영역의 재배치를 실시하는 수단을 포함한다.

Description

기억 장치 및 기억 장치 서브 시스템{STORAGE SYSTEM AND STORAGE SUBSYSTEM}
본 발명은 복수의 기억 장치로 구성되며, 용장 데이터를 유지하는 기억 장치 서브 시스템 및 그 기억 장치 서브 시스템에 사용되는 기억 장치에 관한 것이다.
일반적인 기억 장치 서브 시스템은, 복수의 기억 장치와, 복수의 기억 장치와 접속되어 이들을 제어하는 기억 제어 장치로 구성된다. 기억 제어 장치는 사용자 데이터 및 용장 데이터를 고정 길이의 사이즈(블록)로 분할하고, 각 기억 장치에 분류하여 저장한다. 이러한 종류의 기술은, 예를 들면, "A Case for Redundant Array of Inexpensive Disks(RAID)"(Proceedings of ACM SIGMOD, 1988)에 기재되어 있다. 기억 제어 장치와 기억 장치는 SCSI(Small Computer System Interface) 등의 인터페이스로 접속되며, 블록 단위의 사이즈로 데이터의 송수신을 행한다. 그리고, 블록 데이터를 분류된 각각의 기억 장치가, 독립하여 분류된 블록 데이터의 기입 및 판독 처리를 실행함으로써, 다중 처리에 의한 성능 향상을 실현하고 있다.
기억 제어 장치는 기억 장치와 상위 장치 사이의 데이터 교환의 제어를 행하기 위해서, 적어도 상위 장치와의 인터페이스 제어를 실행하는 장치와, 기억 장치와의 인터페이스 제어를 실행하는 장치와, 상위 장치와 기억 장치 사이에서 전송되는 데이터를 유지하는 캐쉬 메모리와, 이들을 통괄 관리하는 장치를 구비하고, 상위 장치와 기억 장치 사이의 데이터 교환을 위해 블록으로의 분할 처리, 기억 장치에의 배치 처리, 상위 장치용 파일 데이터로의 변환 처리 등 다양한 처리를 행하고 있다. 이들 복수의 기억 장치에 대한 제어를 기억 제어 장치가 일괄하여 실행하고 있기 때문에, 기억 제어 장치는 대량의 데이터 처리를 고속으로 행하는 것이 요구되며, 이를 위해서 통상 고속이며 고가의 프로세서나 대용량의 캐시 메모리를 탑재함으로써 성능의 향상을 실현하고 있다.
또한, 기억 장치 서브 시스템에서의 다른 고성능화 기술로서, 데이터 갱신 시의 용장 데이터의 작성 처리를 데이터 갱신 대상의 기억 장치에 행하게 하여, 기억 제어 장치의 부담을 경감시키는 기술도 생각되고 있다(예를 들면, 특개평 7-261946호).
상기 종래의 기억 장치 서브 시스템에 있어서는, 기억 제어 장치가 상위 장치로부터 보내지는 파일 단위의 액세스 요구의 기억 장치의 처리 단위인 블록 단위로의 데이터의 변환이나 변환된 블록 데이터의 기억 장치로의 할당 등의 기억 장치로의 액세스 제어를 집중적으로 행하고 있기 때문에, 데이터의 판독이나 신규 기입 시에, 기억 제어 장치의 처리 성능이 병목 현상으로 되어, 기억 장치 서브 시스템 전체의 처리 성능 향상에 방해가 되고 있었다.
또한, 기억 장치 서브 시스템의 성능을 향상시키기 위해서, 기억 제어 장치에 최고 성능의 프로세서나 대용량의 캐쉬 메모리를 준비하여 대응하는 것이 기억 장치 서브 시스템의 가격을 상승시키는 결과를 초래한다.
또한 최근, 기억 장치 서브 시스템을 구성하는 기억 장치 대수가 증가하는 경향에 있어, 상기한 상황에 점점 더 박차가 가하고 있다. 상술한 최고 성능의 프로세서 등을 준비해도 또 기억 장치 서브 시스템의 처리 성능의 향상을 방해하는 것이 생각된다.
또한, 기억 제어 장치가 연속 영역으로서 지정한 영역이, 개개의 기억 장치에서의 프래그먼트 처리 등에 의해, 실제로는 불연속인 영역으로 되는 경우가 있다. 이와 같은 경우, 기억 제어 장치가 연속된 영역을 지정한 액세스 요구를 발행해도 실제의 기억 장치의 액세스는 불연속인 영역으로의 액세스가 되기 때문에, 씨크 동작이나 디스크의 회전을 기다리기 위한 시간 등이 걸려서 액세스 성능이 저하된다. 종래의 기술에서는, 기억 제어 장치가 연속 영역으로서 지정한 영역이 실제로는 불연속인 영역인 경우의, 데이터가 적절한 저장에 대하여 고려하지 않고 있다.
본 발명의 목적은, 기억 장치 서브 시스템에 있어서, 상위 장치로부터의 파일 단위의 액세스 요구에 따르는 처리에 관하여, 종래 부하가 집중되어 있는 기억 제어 장치의 부담을 경감하여, 기억 장치 서브 시스템의 성능 향상 및 저가격화를 도모하는 것이다.
본 발명의 다른 목적은, 기억 장치 서브 시스템을 구성하는 개개의 기억 장치에 있어서, 상위 장치로부터의 파일 단위로의 액세스 요구에 대응하고, 파일을 구성하는 블록 데이터의 저장 영역을 최적으로 제어하는 것을 목적으로 한다.
도 1은 정보 처리 시스템의 일 구성예를 도시하는 도면.
도 2는 제1 실시 형태에 따른 기억 장치의 일 구성예를 도시하는 도면.
도 3은 제1 실시 형태에 따른 파일 관리 정보의 일 구성예를 도시하는 도면.
도 4는 제1 실시 형태에 따른 서브 시스템 관리 정보의 구성 및 설정예를 도시하는 도면.
도 5는 제1 실시 형태에 따른 파일 단위의 리드 처리의 일례를 도시하는 도면.
도 6은 제1 실시 형태에 따른 파일 단위의 라이트 처리의 일례를 도시하는 도면.
도 7은 제1 실시 형태에 따른 파일 단위의 리드 처리(축퇴)의 일례를 도시하는 도면.
도 8은 제1 실시 형태에 따른 파일 단위의 라이트 처리(축퇴)의 일례를 도시하는 도면.
도 9는 제3 실시 형태에 따른 파일 단위의 라이트 처리의 일례를 도시하는 도면.
도 10은 제3 실시 형태에 따른 파일 단위의 리드 처리(축퇴)의 일례를 도시하는 도면.
도 11은 제3 실시 형태에 따른 파일 단위의 라이트 처리(축퇴 모드)의 일례를 도시하는 도면.
도 12는 제3 실시 형태에 따른 리드계 커맨드 처리의 일례를 도시하는 도면.
도 13은 제3 실시 형태에 따른 라이트계 커맨드 처리(개요)의 일례를 도시하는 도면.
도 14는 제3 실시 형태에 따른 라이트계 커맨드 처리의 일례를 도시하는 도면.
도 15는 제3 실시 형태에 따른 라이트계 커맨드 처리의 일례를 도시하는 도면.
도 16은 제3 실시 형태에 따른 라이트계 커맨드 처리의 일례를 도시하는 도면.
도 17은 제4 실시 형태에 따른 커맨드 처리(개요)의 일례를 도시하는 도면.
도 18은 제4 실시 형태에 따른 리드계 커맨드 처리의 일례를 도시하는 도면.
도 19는 제4 실시 형태에 따른 라이트계 커맨드 처리의 일례를 도시하는 도면.
도 20은 제5 실시 형태에 따른 파일 단위의 라이트 처리의 일례를 도시하는 도면.
도 21은 제5 실시 형태에 따른 파일 단위의 리드 처리(축퇴)의 일례를 도시하는 도면.
도 22는 제5 실시 형태에 따른 파일 단위의 라이트 처리(축퇴)의 일례를 도시하는 도면.
도 23은 제6 실시 형태에 따른 정보 처리 시스템의 일 구성예를 도시하는 도면.
<도면의 주요 부분에 대한 부호의 설명>
1 : 기억 장치
2 : 기억 제어 장치
3 : 기억 장치 서브 시스템
4 : 서브 시스템 내 네트워크
5 : 상위 장치
6, 7, 8 : 네트워크
10 : 정보 유지부
11 : 메인 제어부
12 : 버퍼부
13 : 갱신 정보 생성부
14 : 미디어부
15 : 인터페이스 제어부
16 : 버퍼 제어부
17 : 미디어 제어부
20 : 기억 장치 선택부
21 : 네트워크 인터페이스 제어부
22 : 메모리
23 : 기억 장치 인터페이스 제어부
30 : 커맨드 처리 제어부
31 : 저장 블록 제어부
35 : 커맨드 저장부
36 : 송수신 데이터 저장부
37 : 갱신 정보 저장부
상기 목적을 달성하기 위해서, 기억 장치 서브 시스템을 구성하는 기억 장치 각각에 파일 단위의 액세스 요구를 처리하는 수단을 갖게 하고, 기억 제어 장치 또는 적어도 1의 기억 장치에, 상위 장치로부터 수신하는 액세스 요구를 처리하는 기억 장치를 선택하여 그 기억 장치에 액세스 요구를 송출하는 기억 장치 선택부를 구비하게 하였다.
기억 장치 및 기억 제어 장치에 상기한 수단을 갖게 함으로써, 파일 단위의 액세스 요구를 처리하기 위한, 파일의 블록 데이터로의 변환, 변환된 블록 데이터를 액세스하는 기억 장치의 할당 및 블록 데이터를 판독하기 위한 기억 장치의 제어, 블록 단위 데이터의 파일로의 변환 등의 처리의 전부 또는 일부를 기억 제어 장치로 행할 필요가 없게 되어, 액세스 요구 처리에서의 기억 제어 장치의 부담을 경감하여 기억 장치 서브 시스템의 성능 향상을 도모할 수 있다. 또, 상기한 기억 장치 선택부를 하나의 기억 장치에 가지게 함으로써, 기억 제어 장치를 갖지 않는 기억 장치 서브 시스템을 제공할 수 있다.
또한, 기억 장치는 통상 블록 단위로 미디어부에 데이터를 저장하지만, 해당 기억 장치를 제어하는 메인 제어부가, 액세스 요구가 상기 미디어부에 저장되어 있는 데이터의 판독 요구인 경우, 상기 미디어부에 저장되어 있는 블록 단위의 데이터를, 파일 단위의 데이터로 정형하여 요구원으로 출력하고, 액세스 요구가 데이터의 기입 요구인 경우에는 외부로부터 수신한 파일 단위의 데이터를, 블록 단위의 데이터로 정형하여 상기 미디어부에 저장함으로써, 통상의 블록 단위로 데이터를 저장하는 미디어부를 갖는 기억 장치에 있어서 파일 단위의 데이터의 액세스 요구를 처리 가능하게 한다.
또한, 기억 장치의 메인 제어부가 데이터를 기입할 때에 블록 단위로 분할한 데이터가 연속하여 액세스 가능한 미디어부의 영역에 저장하도록 제어를 행함으로써, 미디어부로부터의 기입 및 판독 시간을 빠르게 하고 있다. 데이터의 기입 시에 한하지 않고 불연속인 영역에 저장되어 있는 데이터를, 해당 데이터의 선두 블록의 어드레스와, 선두 블록에 연속하는 블록수를 검출하여, 데이터의 재배치를 행하게 할 수 있다.
본 발명에 의해, 기억 장치 서브 시스템에 있어서, 상위 장치로부터의 파일 단위의 액세스 요구에 따르는 처리에 관하여, 기억 제어 장치의 부하를 경감하고, 기억 장치 서브 시스템의 성능 향상이나 저가격화를 실현할 수 있다. 또한, 기억 장치 서브 시스템을 구성하는 개개의 기억 장치에 있어서, 상위 장치로부터의 파일 단위의 액세스 요구에 대응하여, 파일을 구성하는 블록 데이터의 저장 영역을 최적으로 제어할 수 있다.
[제1 실시 형태](기억 제어 장치에 의한 커맨드 분류)
이하, 본 발명에 따른 제1 실시 형태를 도 1∼도 7을 이용하여 설명한다.
도 1은 기억 제어 장치(2)와 복수대의 기억 장치(1)를 갖는 기억 장치 서브 시스템(3)과 상위 장치(5)로 구성되는 정보 처리 시스템의 일례를 도시한다. 복수대의 기억 장치(1)는 기억 제어 장치(2)와, 서브 시스템 내 네트워크(4)를 통하여 접속되어 있다. 또한, 기억 제어 장치(2)는 상위 장치(5)와 네트워크(6)를 통하여 접속되어 있다.
기억 제어 장치(2)는 기억 장치 선택부(20), 네트워크 인터페이스 제어부(21), 메모리(22), 기억 장치 인터페이스 제어부(23), 기억 제어 장치 내 네트워크(7)를 구비한다. 메모리(22)는 기억 장치 선택 관리 정보를 갖는다. 기억 장치 선택 관리 정보에는, 특정한 기억 장치를 선택하기 위한 정보로서, 기억 장치 서브 시스템이 저장하는 모든 파일과, 실제로 파일을 저장하는 기억 장치와의 관련 정보, 각 기억 장치의 비어 있는 정보(후에 어느 정도의 용량 데이터를 저장할 수 있는지를 나타냄) 및 서브 시스템 관리 정보와 동등한 정보가 포함된다. 또한, 메모리(22)는 불휘발성인 것이 바람직하다.
기억 제어 장치(2)는 기억 장치 선택 관리 정보와, 상위 장치(5)로부터 기억 장치(1)에 대한 파일 단위로의 액세스 요구에 기초하여, 액세스 요구를 특정한 기억 장치(1)에 대하여 전송한다. 이하, 상위 장치로부터 기억 장치에 대한 파일 단위로의 액세스 요구를 Cmd라고 기재한다.
기억 장치(1)는 정보 유지부(10), 메인 제어부(11), 버퍼부(12), 갱신 정보생성부(13), 미디어부(14), 인터페이스 제어부(15), 버퍼 제어부(16), 미디어 제어부(17), 기억 장치 내 네트워크(8)를 구비한다.
정보 유지부(10)는 파일 관리 정보, 서브 시스템 관리 정보, 미디어 관리 정보를 저장한다. 이들의 정보에 대해서는 후술한다.
메인 제어부(11)는 커맨드 처리 제어부(30), 저장 블록 제어부(31)를 구비하고, 기억 장치를 통괄 관리한다. 커맨드 처리 제어부(30)는 Cmd와 정보 유지부(10)에 저장되어 있는 정보에 기초하여, Cmd에 대한 처리를 제어한다. 저장 블록 제어부(31)는 상위 장치(5)로부터 수신한 기입 데이터(이하, 라이트 데이터라고 함)를, 후술하는 미디어부(14)에 저장할 때의 최적의 블록 검출이나 할당 처리를 제어한다.
버퍼부(12)는 커맨드 저장부(35), 송수신 데이터 저장부(36), 갱신 정보 저장부(37)를 구비하고, 미디어부(14)와 상위 장치(5) 사이에서 전송되는 데이터를 일시 보존한다. 커맨드 저장부(35)는 상위 장치(5)로부터 수신한 Cmd를 유지한다. 송수신 데이터 저장부(36)는 상위 장치(5) 사이에서 송수신되는 데이터를 유지한다. 갱신 정보 저장부(37)는 갱신 정보 생성부(13)에서 생성된 갱신 정보를 유지한다.
갱신 정보 생성부(13)는 상위 장치(5)로부터 수신한 라이트 데이터와, 미디어부(14)의 갱신 대상 데이터로부터 배타적 논리합 연산 등에 의한 갱신 정보를 생성한다.
미디어부(14)는 상위 장치(5)가 액세스하는 데이터, 또는 해당 데이터에 대응하는 용장 데이터를 유지하는 기억 매체이다.
인터페이스 제어부(15)는 기억 제어 장치(20)와의 사이의 통신을, 소정의 프로토콜에 기초하여 제어한다.
버퍼 제어부(16)는 버퍼부(12)에 대한 액세스를 제어한다.
미디어 제어부(17)는 미디어부(14)에 대한 기록 재생 처리를 실행한다.
또한, 도 1의 각 요소는 하드웨어로서 실현되는 것으로서 나타내고 있지만, 메인 제어부(11)에서의 커맨드 처리 제어부(30)와 저장 블록 제어부(31)는 프로세서가 소프트웨어로서 실현되는 것이어도 된다.
도 2는 정보 유지부(10)에 저장되는 파일 관리 정보의 구성의 일례를 도시한다. 파일 관리 정보는 파일을 식별하기 위한 파일 ID로 구성된다. 파일 ID는 액세스권, 사용자 ID, 사이즈, 복제 관리 정보, 액세스 이력, 우선 순위, 미디어 저장 위치 등의 정보를 포함한다.
액세스권은 그 파일이 리드 요구에 대처 가능한지의 여부, 또는 라이트 요구에 대처 가능한지의 여부를 나타내는 정보이다.
사용자 ID는 사용자를 식별하기 위한 식별자이다.
사이즈는 미디어부(14)에 저장된 파일의 바이트 단위의 사이즈와, 블록수로 구성된다.
복제 관리 정보란, 파일에 대해 Cmd별로 기억 장치에 우선 순위를 매긴 정보이다. 예를 들면, 우선 순위를 매긴 장치 식별자 정보 등을 설정한 것이어도 된다.
액세스 이력은 파일에 대한 액세스 빈도의 지표로서 이용하는 정보이다. 예를 들면, 파일이 생성되고나서의 기간, 또는 임의의 기간에서의 액세스 횟수 등이다.
우선 순위는 상위 장치가 파일을 작성할 때에 지정하는 정보이다. 예를 들면, 상위 장치로부터 보아 액세스 빈도가 높은 파일에 높은 우선도, 또는 관련하여 액세스될 가능성이 높은 복수 파일에 동일한 우선도를 설정한다. 또는 파일의 중요성에 따라 사용자가 미리 우선도를 설정해도 된다.
미디어 저장 위치는 미디어부(14)에 저장한 선두 블록의 어드레스와, 연속하는 블록의 수로 구성된다. 여기서, 파일 갱신 등에 따라 미디어부(14)의 연속 영역을 확보할 수 없는(분단이 발생함) 경우, 분단된 영역마다 미디어 저장 위치의 정보를 추가한다. 도 2에 도시한 1∼N의 번호, 분단된 영역마다 붙여진 번호이다.
또한, 파일 관리 정보에서의 이들 정보 전부는 필수가 아니다. 실시예에 따라서, 필요한 정보를 이용하면 된다.
도 3은 정보 유지부(10)에 저장되는 서브 시스템 관리 정보의 구성의 일례를 도시한다. 여기서는 서브 시스템 관리 정보는 기억 장치 플래그, 기억 장치 ID, 저장 데이터 종류, 용장 관리 정보를 포함한다.
기억 장치 플래그는 제2 실시 형태에서의 복수의 기억 장치 중 기억 장치 선택 처리를 행하는 기억 장치의 식별자를 나타낸다.
기억 장치 ID는 기억 장치를 식별하기 위한 기억 장치별 고유 식별자이다.
저장 데이터 종류는 저장되어 있는 데이터가 사용자 데이터인지 용장 데이터인지를 나타내는 정보이다.
용장 관리 정보는 데이터 기억 장치 ID, 용장 데이터 기억 장치 ID, 동작 모드, 장해 기억 장치 ID, RAID 레벨, 데이터 기억 장치 대수, 패리티 기억 장치 대수, 패리티 배치 방식, 용장 데이터 관리 사이즈를 포함한다. 데이터 기억 장치 ID는 저장되어 있는 용장 데이터에 대응하는 데이터가 어느 기억 장치에 저장되어 있는지를 나타내는 정보이다. 용장 데이터 기억 장치 ID는 저장되어 있는 데이터에 대응하는 용장 데이터가 어느 기억 장치에 저장되어 있는지를 나타내는 정보이다. 동작 모드는 기억 장치가 정상인지 축퇴인지를 나타내는 정보이다. 여기서, 축퇴란, 기억 장치에 장해가 발생하여, 용장 데이터를 이용하여 Cmd를 처리하고 있는 상태를 가리킨다. 장해 기억 장치 ID란, 장해가 발생한 기억 장치의 ID를 나타내는 정보이다. 용장 데이터 관리 사이즈는 용장 데이터의 사이즈를 나타내는 정보이다. RAID 레벨은 RAID0∼RAID5까지의 RAID의 종류를 나타낸다. 데이터 기억 장치 대수는 어느 패리티 그룹에서 용장 데이터를 작성하기 위한 데이터를 유지하는 기억 장치의 대수이다. 여기서, 패리티 그룹이란, 하나의 기억 장치에 장해가 발생해도 데이터를 복구하는 것이 가능한 그룹을 나타낸다. 패리티 기억 장치 대수는 복수의 기억 장치에 저장되는 데이터에 의해서 작성된 용장 데이터를 유지하는 기억 장치의 대수이다. 통상, 대수는 1이다. 패리티 배치 방식은 종래 방식 등, 여러가지 방식의 종류를 나타낸다.
또한, 서브 시스템 관리 정보에서의 이들의 정보는 모두 필수는 아니다. 실시예에 따라서 필요한 정보를 이용하면 된다.
정보 유지부(10)에 저장되는 미디어 관리 정보는 미디어부(14)에의 액세스에 대한 씨크 동작의 헤드의 변경이 발생하지 않거나, 또는 발생 빈도를 최소로 하는 액세스 영역(연속 영역)을 검출하기 위한 각종 파라미터 정보, 해당 연속 영역의 사용 상황, 불량 블록 정보 등으로 구성된다.
이하, Cmd를 기억 장치(1-1∼1-4)가 협조하여 처리하는 동작에 대하여 설명한다. 또한, 제1 실시 형태에서는 기억 장치(1-1)가 액세스 대상의 장치인 것으로 한다. 또한, 도 4, 도 6에서는 Cmd의 흐름을 점선으로 나타내고, 사용자 데이터의 흐름은 실선으로 나타내었다. 도 5, 도 7에서는 Cmd의 흐름은 생략하고 있다.
(1) 파일 단위의 리드 요구 처리
도 4는 상위 장치(5)로부터 기억 장치 서브 시스템(3)에 대하여, 파일 단위의 판독 요구(이하, 리드 요구라 한다)가 발행된 경우의 처리예를 나타낸다. 또한, 이하의 도 4에서, 설명 상 필요가 없는 부위는 생략하고 있다.
우선, 기억 제어 장치(2)는 Cmd를 네트워크(6)를 통하여 수신한다.
기억 제어 장치(2)는 기억 장치 선택부(20)에 있어서, 수신한 Cmd를 구성하는 각종 정보와, 기억 장치 선택 관리 정보에 기초하여, Cmd가 기억 장치(1-1)에 저장하는 파일에 대한 리드 요구인 것을 검출하고, Cmd를 기억 장치(1-1)에 대하여 전송한다. 여기서, 각종 정보란, Cmd가 리드 요구인지 기입 요구(이하, 라이트 요구라 한다)인지를 판별하는 정보나, 파일을 식별하기 위한 정보 등을 포함한다. 기억 장치(1-1)는 전송된 Cmd를 인터페이스 제어부(15-1), 버퍼 제어부(16-1)를 개재하여, 버퍼부(12-1)의 커맨드 저장부(35-1)에 저장한다. 다음에, 메인제어부(11)의 커맨드 처리 제어부(30-1)는 Cmd를 구성하는 각종 정보와, 정보 유지부(10)의 파일 관리 정보에 기초하여, 액세스 종류가 리드 요구인 것, 미디어부(11)에 저장되어 있는 액세스 대상의 선두 블록의 어드레스, 그리고 선두 블록에 연속하는 블록수를 검출한다. 여기서, 액세스 종류란, Cmd가 리드 요구인지, 신규의 기입(이하, 생성이라고 함) 요구인지, 또는 갱신 요구인지를 나타내는 정보이다.
커맨드 처리 제어부(30-1)는 미디어 제어부(17-1)를 통하여 미디어부(14-1) 로부터 액세스 대상으로서 검출한, 파일 단위로 액세스된 데이터(이하, 파일 데이터라고 한다)를 포함하는, 블록 단위의 데이터(이하, 블록 데이터라고 한다)를 버퍼부(12-1)의 송수신 데이터 저장부(36-1)로 판독하는 처리를 개시한다.
다음에, 커맨드 처리 제어부(30-1)는 판독한 블록 단위의 데이터를 파일 관리 정보의 바이트 단위의 사이즈에 기초하여 정형한다. 그 후, 인터페이스 제어부(15-1)를 통하여, 상위 장치(5)에 대하여 파일 단위의 데이터를 송신한다.
(2) 파일 단위의 라이트 요구 처리
도 5는 상위 장치(5)로부터 기억 장치 서브 시스템(3)에 대하여, 파일 단위의 라이트 요구가 발행된 경우의 처리예를 나타낸다. Cmd의 흐름은 (1)과 마찬가지이기 때문에, 도 5에서는 생략하고 있다. 또, 여기서의 라이트 요구는 생성 요구와, 갱신 요구의 양방을 포함하는 것으로 한다.
(1)과 마찬가지로, 기억 제어 장치(2)는 Cmd가 라이트 요구인 것 및 라이트 요구가 이미 해당 기억 장치 서브 시스템이 기억하고 있는 파일에 대한 갱신 요구인지, 새로운 파일의 기입 요구인지를 검출한다. Cmd가 갱신 라이트 요구인 경우에는 기억 장치 선택 관리 정보의 파일과 기억 장치와의 관련 정보를 참조하여 해당 갱신 라이트 요구를 전송하는 기억 장치를 선택하여 갱신 라이트 요구를 전송한다. 여기서는 기억 장치(1-1)가 해당 파일을 이미 저장하고 있는 것으로 하고, 기억 장치(1-1)에 대하여 Cmd를 전송한다. Cmd가 생성 라이트 요구(새로운 파일의 기입 요구)라고 판단한 경우에는 기억 장치 선택 관리 정보 중 각 기억 장치의 비어 있는 정보를 참조하여 액세스 요구를 전송하여야 할 기억 장치를 결정하고, 결정한 기억 장치에 대하여 Cmd를 전송한다. 여기서는 기억 장치(1-1)가 생성 파일을 저장하는 데 적절하다고 판정한 것으로 하여, 기억 장치(1-1)에 전송하는 것으로 한다.
라이트 요구의 Cmd를 전송된 기억 장치(1-1)의 커맨드 처리 제어부(30-1)는, Cmd를 구성하는 파일의 식별자 정보가 자신의 정보 유지부(10)에 저장되는 파일 관리 정보에 등록 완료되었는지의 여부로, 해당 Cmd가 생성 요구인지 갱신 요구인지의 판단을 행한다. 그리고, 저장 블록 제어부(31-1)에 제어를 넘긴다.
저장 블록 제어부(31-1)는 미디어부(14)에 저장하는 데 최적의 액세스 대상의 선두 블록의 어드레스와, 선두 블록에 연속하는 블록수를 검출하고, 이들의 정보를 파일 관리 정보의 미디어 저장 위치로서 등록(또는 갱신)하고, 미디어 관리 정보의 연속 영역의 사용 상황을 등록(또는 갱신)한다.
커맨드 처리 제어부(30-1)는 또한, 수신한 바이트 단위로의 파일 데이터로부터, 임의의 수의 블록으로 정형한 신 블록 데이터를 생성한다. 또한, 액세스 대상의 블록 데이터를 갱신 정보 생성부(13-1)로 판독한다. 다음에, 신 블록 데이터와 액세스 대상의 블록 데이터의 차분이 되는 데이터(이하, 차분 블록 데이터라고 함)를, 배타적 논리합 연산 등에 의해 갱신 정보 생성부(13-1)에서 생성하고, 용장 데이터를 저장하는 기억 장치(1-4)에 대하여 용장 데이터 갱신 요구를 발행한다. 다음에, 파일 데이터에 관련하는 파일 관리 정보의 갱신 요구를 발행한다. 또한, 신 블록 데이터를 미디어 제어부(14-1)를 통하여 미디어부(11-1)에 저장한다.
한편, 기억 장치(1-4)는 기억 장치(1-1)로부터의 용장 데이터 갱신 요구를, 인터페이스 제어부(15-4), 버퍼 제어부(16-4)를 통하여 수신하고, 커맨드 저장부(35-4)에 저장한다. 다음에, 기억 장치(1-4)는 커맨드 처리 제어부(30-4)에서, 수신한 용장 데이터 갱신 요구를 구성하는 각종 정보에 기초하여, 미디어부(14-4)의, 액세스 대상의 선두 블록의 어드레스와, 선두 블록에 연속하는 블록수를 검출한다.
커맨드 처리 제어부(30-4)는 미디어 제어부(17-4)를 통하여 미디어부(14-4)로부터 액세스 대상으로서 검출한 블록(구용장 블록 데이터)을, 송수신 데이터 저장부(36-4)로 판독하는 처리를 개시한다.
기억 장치(1-1)로부터 수신한 차분 블록 데이터와 구용장 블록 데이터로부터, 신용장 블록 데이터를 갱신 정보 생성부(13-4)에서 생성하고, 신용장 블록 데이터를 미디어 제어부(17-4)를 통하여 미디어부(14-4)에 저장하고, 용장 블록 데이터의 갱신 처리에 관련하는 파일 관리 정보를 갱신한다.
(3) 분단된 블록 데이터의 재배치 처리
상위 장치(5)로부터 기억 장치 서브 시스템(3)에 대하여, 데이터의 갱신 요구가 발행된 경우, 파일 데이터의 증대 등에 의해, 미디어부(14)에 있어서, 연속된 액세스 대상의 블록에 대한 연속된 영역을 확보할 수 없고, 동일한 파일을 구성하는 블록 데이터가 분단되는(불연속이 되는) 경우가 있다. 이 때의 블록 데이터의 재배치 처리에 대하여, 이하 설명한다.
데이터를 저장하는 대상의 기억 장치(1)에 있어서, 저장 블록 제어부(31)는 파일 관리 정보의 미디어 저장 위치를 이용하여 불연속인 영역에 저장되어 있는 블록 데이터를 검출한다.
저장 블록 제어부는 파일 관리 정보의 사이즈, 미디어 저장 위치와, 미디어 관리 정보의 연속 영역의 사용 상황 등을 이용하여, 새롭게 미디어부(14)에 저장하는데 최적의 액세스 대상의 선두 블록의 어드레스와, 선두 블록에 연속하는 블록수를 검출하고, 이들의 정보를 파일 관리 정보의 미디어 저장 위치로서 갱신하고, 미디어 관리 정보의 연속 영역의 사용 상황도 갱신한다.
커맨드 처리 제어부(30)는 재배치 처리 대상의 블록 데이터와, 재배치 전의 블록 데이터로부터 배타적 논리합 연산 등에 의한 갱신 정보를 갱신 정보 생성부(13)에서 생성하고, 용장 데이터를 저장하는 기억 장치에 대하여 용장 데이터 갱신 요구를 발행한다. 그리고, 재배치 처리 대상의 블록 데이터를 미디어 제어부(17)를 통하여 미디어부(14)에 저장한다.
용장 데이터를 저장하는 기억 장치(1)에서의 처리는 (2)와 마찬가지이다.
다른 최적 배치의 예로서, 저장되는 영역에 따라 액세스 속도에 성능차가 생기는 것에 의한, 파일의 저장 영역을 지정하는 방법, 또는 관련하여 액세스되는 파일을 보다 근방에 배치함에 따른, 씨크 동작 대기, 디스크 회전 대기의 발생 빈도를 저감시키는 방법이 있다.
파일 관리 정보의 액세스 이력을 이용하면, 기억 장치(1)의 저장 블록 제어부(31)에 있어서, 보다 액세스 빈도가 높은 파일을 액세스 속도가 빠른 영역에 재배치함으로써, 상위 장치로부터 본 고속화를 실현할 수 있다. 또한, 우선 순위와 미디어 관리 정보 등도 이용하면, 보다 우선도가 높은 파일을 액세스 속도가 빠른 영역에, 또는 동일 우선도의 파일을 근방 영역에 재배치함으로써, 상위 장치로부터 본 고속화를 실현할 수 있다.
또한, 분단된 블록 데이터의 재배치 처리에 의해 미디어부(14)에 발생한 미사용 영역을 이용하여 이미 저장된 파일 데이터의 재배치를 실행하는 것도 가능하다.
이미 저장된 파일 데이터의 재배치를 실행하는 기억 장치는 파일 관리 정보의 갱신 처리와, 재배치 대상의 블록 데이터와 재배치 전의 블록 데이터로부터, 배타적 논리합 연산 등에 의한 차분 블록 데이터를 생성하고, 재배치 대상의 블록 데이터를 미디어부에 저장하고, 차분 블록 데이터를 용장 데이터가 저장되는 기억 장치에 대하여 송신한다.
용장 데이터를 저장하는 기억 장치에 있어서도, 상술한 용장 블록 데이터 갱신 처리와 마찬가지의 처리를 실행함으로써 이미 저장된 파일 데이터의 재배치 처리를 실현할 수 있다.
또한, 미사용 영역은 파일 데이터의 재배치 처리뿐만 아니라, 파일 데이터의 삭제에 의해서도 발생하고, 그 때 이미 저장된 파일 데이터의 재배치를 실행하는 것도 가능하다.
(4) 파일 단위의 리드 요구 처리(축퇴)
(1) 내지 (3)에서는, 기억 장치(1)가 정상인 경우에 대하여 설명하였다. 이하, 기억 장치(1-1∼1-3) 중 어느 하나에 장해가 발생된(축퇴) 경우의 처리예에 대하여 설명한다.
도 6은 상위 장치(5)로부터 기억 장치 서브 시스템(3)에 대하여 파일 단위의 리드 요구가 발행된 경우의 처리예를 나타낸다. (4)와 (5)에서는 기억 장치(1-1)가 장해를 일으키는 것으로 한다.
상술한 바와 마찬가지로, 기억 제어 장치(2)는, Cmd가 기억 장치(1-1)에 저장하는 파일에 대한 리드 요구인 것을 검출한다. 또한, 기억 장치 선택 관리 정보를 이용하여, 기억 장치(1-1)가 장해를 일으키고 있는 것을 검출하고, Cmd를 용장 데이터가 저장되는 기억 장치(1-4)에 대하여 전송한다.
또한, 기억 장치(1-4)는 기억 제어 장치(2)로부터 Cmd를 수신하고, 커맨드 처리 제어부(30-4)에 있어서, 액세스 종류가 기억 장치(1-1)에 대한 리드 요구인 것, 액세스 대상의 선두 블록의 어드레스, 그리고 선두 블록에 연속하는 블록수를 검출한다.
커맨드 처리 제어부(30-4)는 검출한 정보에 기초하여, 갱신 정보 생성부(16-4)에, 액세스 대상의 블록 데이터에 대응하는 용장 블록 데이터를 판독하는 처리를개시한다. 그리고, 액세스 대상의 블록 데이터에 대응하는 블록 데이터가 저장되는 기억 장치(1-2, 1-3)에 대하여, 해당 블록 데이터의 리드 요구를 발행한다.
기억 장치(1-4)로부터 리드 요구를 수신한 기억 장치(1-2, 1-3)는 리드 요구에 기초하는 블록 데이터를 기억 장치(1-4)에 송신한다.
또한, 기억 장치(1-4)의 갱신 정보 생성부(13-4)에 있어서, 기억 장치(1-2, 1-3)로부터 수신한 블록 데이터와 용장 블록 데이터로부터, 기억 장치(1-1)의 블록 데이터를 복원하고, 파일 관리 정보의 바이트 단위의 사이즈에 기초하여, 복원한 블록 데이터를 파일 단위로 정형한다. 그리고, 상위 장치(5)에 대한 파일 데이터의 송신 처리를 실행한다.
(5) 파일 단위의 라이트 요구 처리(축퇴)
도 7은 상위 장치(5)로부터 기억 장치 서브 시스템(3)에 대하여 파일 단위의 라이트 요구가 발행된 경우의 처리예를 나타낸다.
(2), (4)와 마찬가지로, 기억 장치(1-4)의 커맨드 처리 제어부(30-4)는 Cmd의 액세스 종류가 기억 장치(1-1)에 대한 라이트 요구인 것 등을 검출하고, 기억 장치(1-2, 1-3)에 대하여, 블록 데이터의 리드 요구를 발행한다. 그리고, 기억 장치(1-2, 1-3)는 리드 요구에 기초하는 블록 데이터를 기억 장치(1-4)에 송신한다.
다음에, 기억 장치(1-4)는 기억 장치(1-2, 1-3)로부터 수신한 블록 데이터와, 상위 장치(5)로부터 수신한 바이트 단위로의 파일 데이터를, 커맨드 처리 제어부(30-4)에 의해 임의의 수의 블록으로 정형한 신블록 데이터로부터, 신용장 블록 데이터를 갱신 정보 생성부(13-4)에서 생성하고, 해당 신용장 블록 데이터를 미디어 제어부(17-4)를 통하여 미디어부(14-4)에 저장(갱신)하고, 용장 블록 데이터의 갱신 처리에 관련하는 파일 관리 정보를 갱신한다.
(1)∼(5)의 처리에 의해서, 복수의 기억 장치로 구성되며, 용장 데이터를 유지하는 기억 장치 서브 시스템에 있어서, Cmd를 복수의 기억 장치와, 간이한 기억 제어 장치에서 처리하는 제어 방식을 실현할 수 있다.
또한, 기억 장치 서브 시스템을 구성하는 개개의 기억 장치에 있어서, 파일의 저장 영역의 최적화 제어 방법에 의한 기억 장치의 성능을 유효하게 활용하는 기억 장치 서브 시스템, 또는 기억 제어 장치의 부하 삭감에 의한 성능이 향상하는 기억 장치 서브 시스템을 실현할 수 있다.
[제2 실시 형태](기억 제어 장치를 불필요로 하는 기억 장치 서브 시스템)
이하, 본 발명에 따른 제2 실시 형태를 도 8을 이용하여 설명한다.
도 8은 복수대의 기억 장치(1)로 구성되는 기억 장치 서브 시스템(3)과, 상위 장치(5)로 구성되는 정보 처리 시스템의 일례를 나타낸다.
도 1과 다른 점은, 기억 장치 서브 시스템(3)이 복수대의 기억 장치(1-1∼1-N)로 구성되는 점, 기억 장치(1-1)만이 상위 장치(5)와 네트워크(6)를 통하여 접속되어 있는 점, 인터페이스 제어부(15)가 상위 장치(5)와의 사이의 통신을 소정의 프로토콜에 기초하여 제어하는 점, 기억 장치 선택부(20)가 기억 장치(1) 내에 있는 점, 정보 유지부가 기억 장치 선택 관리 정보를 구비하는 점 등이다.
본 실시 형태에 따르면, 상위 장치로부터의 파일 단위로의 액세스 요구를, 기억 장치 서브 시스템을 구성하는 복수의 기억 장치만으로 처리하는 제어 방식,즉 기억 제어 장치를 불필요로 하는 기억 장치 서브 시스템을 실현할 수 있다.
또한, 네트워크(6)와 서브 시스템 내 네트워크(4)는 독립된 네트워크로서 나타내고 있지만, 공통의 네트워크로 접속하는 것도 가능하다. 예를 들면, FC-AL 등의 루프 접속이며, 동일한 루프에 상위 장치와 기억 장치가 접속되는 구성이다.
이 경우, 도 3의 서브 시스템 관리 정보에 있어서, 기억 장치 서브 시스템 ID의 엔트리에, 플래그가 설정된 기억 장치에 있어서, 상술한 기억 장치 선택 처리를 실행시켜도 된다. 1대의 기억 장치에 기억 장치 선택 처리나 장해를 일으키고 있는 기억 장치의 검출 처리를 실행시켜도 되고, 기억 장치 선택 처리에 따른 부하를 경감시키기 위해서 복수의 기억 장치로 실행시켜도 된다.
처리의 일례로서는, 상위 장치(5)로부터의 파일 단위의 액세스 요구를, 기억 장치 서브 시스템(3)을 구성하는 모든 기억 장치에 일제히 통지하는 방식이 있다. 이것을 브로드캐스트 방식이라고 부른다.
일제히 통지된 액세스 요구를 수령한 개개의 기억 장치에 있어서, 기억 장치 선택 관리 정보에 기초하여 액세스 요구를 스스로 처리해야 하는지의 여부의 판별을 실행한다.
이 경우, 개개의 기억 장치는 액세스 요구를 스스로 처리해야 하는지의 여부의 판별 처리를 실행하면 되기 때문에, 기억 제어 장치에서 기억 장치 선택 처리를 모두 행하는 것에 비하여 부하가 경감된다.
그리고, 기억 장치는 판별 처리의 결과에 기초하여, 제1 실시 형태와 마찬가지로, 이후의 처리를 실행한다.
또한, 복수의 기억 장치는 각각 동일한 종류일 필요는 없다. 예를 들면, 용장 데이터를 저장하는 기억 장치에 대해서는, 액세스가 집중하는 것이 예상되기 때문에, 보다 액세스 속도가 빠른 기억 장치를 이용하여 구성하는 것도 가능하다.
본 실시예에 따르면, 기억 제어 장치를 불필요로 하는 기억 장치 서브 시스템을 실현할 수 있음과 함께, 종래의 기억 장치 서브 시스템을 구성할 때의 기억 제어 장치와 기억 장치와의 접속 거리의 과제가 해소되고, 기억 장치의 배치에서의 자유도가 향상하고, 용장 구성을 취하는 개개의 기억 장치를 충분히 떨어져 있는 장소에 배치함으로써, 지진 등의 재해에 대한 데이터의 보전성을 향상시킬 수 있다.
[제3 실시 형태] (RAID5, 패리티 걸침 없음)
제1, 제2 실시 형태에 있어서는, 용장 데이터를 저장하는 기억 장치를 고정으로 한 경우를 예로 설명하였지만, 이에 한정되는 것은 아니다.
이하, 본 발명에 따른 제3 실시 형태로서, 용장 데이터를 저장하는 기억 장치를 고정으로 하지 않은 경우, 즉 RAID5 적용 시의 처리예에 대하여 설명한다.
본 실시 형태에서는, 제2 실시 형태에서의 기억 장치 선택 처리를, 개개의 기억 장치로 실행하고, RAID5를 적용하기 때문에, 상위 장치와 개개의 기억 장치는 공통의 네트워크로 접속되는 것으로 한다.
또한, 본 실시 형태에서는 Cmd를 공유하는 수단과, Cmd를 구성하는 각종 정보와, 파일 관리 정보나 서브 시스템 관리 정보에 기초하여, 자신의 처리 필요 여부를 판별하는 수단과, 복수의 기억 장치에서 제휴한 처리가 필요한 경우, 기억 장치 사이에서 블록 데이터의 전송 처리를 실행하는 수단을 새롭게 구비한다.
파일 관리 정보는 파일 ID별로 하나의 미디어 저장 위치를 유지하는 구성이다. 즉, 도 2에 있어서, 미디어 저장 위치가, 하나밖에 없는 상태를 나타낸다.
도 9∼도 11을 이용하여, 데이터 전송 처리에 대하여 설명한다.
도 9는 상위 장치(5)로부터 기억 장치 서브 시스템(3)에 대하여 파일 단위의 라이트 요구가 발행된 경우의 처리, 및 패리티 데이터 갱신 처리의 일례를 도시한다.
기억 장치 서브 시스템을 구성하는 기억 장치는 도 8과 마찬가지의 구성이지만, 본 실시 형태의 이하의 설명에 있어서 불필요한 부위는 생략하고 있다. 또, 미디어부(14)는 데이터를 저장하는 데이터 스트라이프(도 9 중 S0∼S14)와 패리티 데이터를 저장하는 패리티 스트라이프(도 9 중 P0∼P4)로 논리적으로 분할하여 관리되고 있다. 예를 들면, 데이터 스트라이프 S3∼S5와 패리티 스트라이프 P1로 패리티 그룹을 구성하고 있다.
또한, 도 9에서, Cmd의 전송 처리는 생략하고 있지만, 각 기억 장치(1-1∼1-4)가 Cmd를 수령하고, 기억 장치(1-2)가 파일 데이터 갱신 처리 대상, 기억 장치(1-3)가 패리티 데이터 갱신 대상인 것을 판별하는 것으로 한다.
또한, Cmd와, 커맨드 처리의 상세(자신의 처리 필요 여부의 판별 처리, 복수의 기억 장치에서 제휴한 처리가 필요한 경우의 기억 장치 사이에서의 블록 데이터의 전송 처리 등)에 대해서는 후술한다.
기억 장치(1-2)는 갱신 정보 생성부(13-3)에서, 적어도 상위 장치(5)로부터수신한 파일 데이터(도 9 중, 신데이터)(40)와, 신데이터에 대응하여 자신이 이미 저장하고 있는 데이터(도 9 중, 구데이터)(41)로부터 생성한 차분 데이터(42)를 패리티 데이터 갱신 대상인 기억 장치(1-3)에 송신하고, 신데이터를 자신의 미디어부(14-2)(S4)에 저장(갱신)한다.
한편, 기억 장치(1-3)는 기억 장치(1-2)로부터 수신한 차분 데이터(42)와, 차분 데이터에 대응하여 자신이 이미 저장하고 있는 패리티 데이터(도 9 중, 구패리티)(43)로부터 새로운 패리티 데이터(도 9 중, 신패리티)(44)를 생성하고, 자신의 미디어부(14-3)(P1)에 저장(갱신)한다.
또한, 상술한 설명에 있어서, 차분 데이터의 생성, 패리티 데이터의 갱신 처리는 스트라이핑 단위로 실행하는 것도 가능하다.
도 10은 장해 발생의 기억 장치(1-2)에 저장된 파일 데이터에 대한 파일 단위의 리드 요구가 발행된 경우의 패리티 데이터를 이용한 처리의 일례를 도시한다.
패리티 그룹을 구성하는 기억 장치(1-1∼1-4)는 액세스 요구 대상의 파일 데이터에 대응하는 패리티 그룹 데이터(도 10 중, PG 데이터)(50-1, 50-4)를 기억 장치(1-3)에 송신한다.
기억 장치(1-3)는 패리티 그룹 데이터(50-1, 50-4)와 자신이 저장하는 패리티 데이터(도 10 중, 패리티)(51)로부터 액세스 요구 대상의 파일 데이터(도 10 중, 복구 데이터)(52)를 복구하고, 상위 장치(5)에 송신한다.
도 11은 장해 발생의 기억 장치(1-2)에 저장된 파일 데이터에 대한 파일 단위의 라이트 요구가 발행된 경우의, 패리티 데이터 갱신 처리의 일례를 나타낸다.
패리티 그룹을 구성하는 기억 장치(1-1, 1-4)는 액세스 요구 대상의 파일 데이터에 대응하는 패리티 그룹 데이터(도 11 중, PG 데이터)(50-1, 50-4)를, 기억 장치(1-3)에 송신한다.
한편, 기억 장치(1-3)는 상위 장치(5)로부터 수신한 파일 데이터(40)와, 기억 장치(1-1, 1-4)로부터 수신한 패리티 그룹 데이터(50-1, 50-4)로부터 새로운 패리티 데이터(도 11 중, 신패리티)(44)를 생성하고, 자신의 미디어부(14-3)(P1)에 저장(갱신)한다.
다음에, 커맨드 처리에 대하여 설명한다.
기억 장치는 ① 상위 장치로부터 Cmd를 수신하고, ② Cmd의 해석을 실행하고, ③ Cmd와 파일 관리 정보나 서브 시스템 관리 정보에 기초한, Cmd에 따른 처리를 실행하고, ④ Cmd를 삭제하여 처리를 완료한다.
(1) 리드계 커맨드 처리예
도 12는 Cmd가 리드계의 커맨드인 경우의 처리예를 나타낸다.
Cmd를 수신한 기억 장치에서는 ②의 결과에 기초하여, Cmd 대상의 파일을 자신이 저장하는지의 여부를 판별한다(200).
자신이 Cmd 대상의 파일을 저장하는 기억 장치는 Cmd의 정보에 기초하여, 미디어부(14)로부터의 디스크 리드 처리를 기동한다(201). 여기서, 디스크 리드 처리란, 미디어부(14)의 데이터를 버퍼부(12)의 송수신 데이터 저장부(36)로 판독하는 처리를 나타낸다. 다음에, 상술한 실시 형태와 마찬가지의 처리를 통하여 파일 데이터의 생성을 행하고(202), 처리로 생성한 파일 데이터 및 완료 보고를 상위 장치에 대하여 송신하고(203, 204), Cmd를 삭제하여(103), 처리를 완료한다.
한편, 자신이 Cmd 대상의 파일을 저장하지 않은 기억 장치는 Cmd의 정보와, 파일 관리 정보나 서브 시스템 관리 정보에 기초하여, Cmd 대상의 파일을 저장하는 기억 장치에서의 장해의 유무를 검출한다(205).
장해가 없는 경우(정상 시), 기억 장치는 Cmd를 삭제하여(103), 처리를 완료한다.
장해가 있는 경우(축퇴 시), 기억 장치는 Cmd 대상의 파일에 대응하는 패리티 데이터를 자신이 저장하는지의 여부를 판별한다(206).
자신이 패리티 데이터를 저장하는 경우, 기억 장치는 Cmd의 정보 등에 기초하여, 미디어부(14)로부터의 패리티 데이터의 디스크 리드 처리를 기동한다(207). 또한, 패리티 그룹을 구성하는 다른 기억 장치로부터의 패리티 그룹 데이터의 수신(208)을 기다리고, 패리티 데이터와 패리티 그룹 데이터로부터 복구 데이터의 생성(209)을 행하여, 복구 데이터, 및 완료 보고를 상위 장치에 대하여 송신(203, 204)한 후, Cmd를 삭제하여(103), 처리를 완료한다.
한편, 자신이 패리티 데이터를 저장하지 않은 경우, 기억 장치는 자신이 저장하는 패리티 그룹 데이터를, 패리티 데이터를 저장하는 기억 장치에 송신하기 위해, Cmd의 정보 등에 기초하여 디스크 리드 처리를 기동하고(212), 판독한 패리티 그룹 데이터, 및 완료 보고를 패리티 데이터를 저장하는 기억 장치에 대하여 송신(213, 214)하고, Cmd를 삭제하여(103), 처리를 완료한다.
(2) 라이트계 커맨드 처리예
도 13은 Cmd가 라이트계의 커맨드인 경우의 처리예를 나타낸다.
Cmd를 수신한 기억 장치에서는, ②의 결과에 기초하여, Cmd 대상의 파일을 자신이 저장하는지의 여부를 판별한다(300).
자신이 액세스 요구 대상의 파일을 저장하는 경우의 처리 A(301)에 대해서는 후술한다.
파일을 저장하지 않은 경우, 기억 장치는 Cmd 대상의 파일에 대응하는 패리티 데이터를 저장하는지의 여부를 판별(302)한다. 패리티 데이터를 저장하는 경우의 처리 B(303), 저장하지 않은 경우의 처리 C(304)에 대해서도 후술한다. 처리 A, B, C 후에, Cmd를 삭제하여(103), 처리를 완료한다.
이하, 처리 A, 처리 B, 처리 C에 대하여 설명한다.
(2-a) 파일을 저장하는 기억 장치에서의 처리(처리 A)
도 14는 Cmd 대상의 파일을 저장하는 기억 장치에서의 라이트계의 처리예를 나타낸다.
기억 장치는 Cmd 대상의 파일에 대응하는 패리티 데이터를 저장하는 기억 장치의 장해의 유무를 검출(310)한다. 이에 의해, 패리티 데이터의 갱신 처리의 필요 여부를 판별한다.
대응하는 패리티 데이터를 저장하는 기억 장치에 장해가 없는 경우, 기억 장치는 Cmd의 정보 등에 기초하여, 디스크 리드 처리를 기동한다(311). 다음에, 상위 장치로부터의 신데이터의 수신(312)을 기다리고, 신데이터와 디스크 리드 처리에 의한 데이터로부터 차분 데이터를 생성한다(313). 또한, 신데이터를미디어부(14)에 저장하고(314), (313)의 처리에서 생성한 차분 데이터, 및 완료 보고를 패리티를 저장하는 기억 장치에 대하여 송신(316, 317)한 후, Cmd를 삭제하여(103), 처리를 완료한다.
한편, 대응하는 패리티 데이터를 저장하는 기억 장치에 장해가 있는 경우, 기억 장치는 상위 장치로부터의 신데이터의 수신(318)을 기다리고, Cmd 등에 기초하여, 신데이터를 미디어부(14)에 저장하고(319), 완료 보고를 상위 장치에 대하여 송신(320)한 후, Cmd를 삭제하여(103), 처리를 완료한다.
(2-b) 패리티 데이터를 저장하는 기억 장치에서의 처리(처리 B)
도 15는 Cmd 대상의 파일에 대응하는 패리티 데이터를 저장하는 기억 장치에서의 라이트계의 처리예를 나타낸다.
기억 장치는 Cmd 대상의 파일을 저장하는 기억 장치의 장해의 유무를 검출(330)한다.
Cmd 대상의 파일을 저장하는 기억 장치에 장해가 없는 경우, 기억 장치는 Cmd의 정보 등에 기초하여 미디어부(14)로부터의 구패리티 데이터의 디스크 리드 처리를 기동(331)한다. 또한, Cmd 대상의 파일을 저장하는 기억 장치로부터의 차분 데이터의 수신(332)을 기다리고, 구패리티 데이터와 차분 데이터로부터 신패리티 데이터의 생성 및 갱신 처리(333)를 실행한다. 또한, Cmd 대상의 파일을 저장하는 기억 장치로부터 수신한 완료 보고(334)와, 자신의 처리 결과에 기초하는 완료 보고를 상위 장치에 대하여 송신(335)한 후, Cmd를 삭제하여(103), 일련의 처리를 완료한다.
한편, Cmd 대상의 파일을 저장하는 기억 장치에 장해가 있는 경우, 기억 장치는 Cmd의 정보 등에 기초하여, 미디어부(14)로부터의 구패리티 데이터의 디스크 리드 처리를 기동(336)한다. 또한, 상위 장치로부터의 신데이터의 수신(337) 및 패리티 그룹을 구성하는 기억 장치로부터의 패리티 그룹 데이터의 수신(338)을 기다리고, 신데이터와 패리티 그룹 데이터로부터 신패리티 데이터의 생성 및 갱신 처리(339)를 실행한다. 또한, 패리티 그룹을 구성하는 기억 장치로부터 수신한 완료 보고(340)와, 자신의 처리 결과에 기초하는 완료 보고를 상위 장치에 대하여 송신(335)한 후, Cmd를 삭제하여(103) 일련의 처리를 완료한다.
(2-c) 그 밖의 기억 장치에서의 처리(처리 C)
도 16은 Cmd 대상의 파일, 또는 파일에 대응하는 패리티 데이터를 저장하지 않은 기억 장치에서의 라이트계의 처리예를 도시한다.
기억 장치는 Cmd 대상의 파일을 저장하는 기억 장치의 장해의 유무를 검출(350)한다.
Cmd 대상의 파일을 저장하는 기억 장치에 장해가 없는 경우, 기억 장치는 Cmd를 삭제하고(103), 일련의 처리를 완료한다.
한편, Cmd 대상의 파일을 저장하는 기억 장치에 장해가 있는 경우, 기억 장치는 Cmd의 정보 등에 기초하여, 미디어부(14)로부터 패리티 그룹의 디스크 리드 처리를 기동(351)하고, 패리티 데이터를 저장하는 기억 장치에 대하여 패리티 그룹 데이터를 송신한다(352). 또한, 패리티 데이터를 저장하는 기억 장치에 대하여 완료 보고를 송신(353)한 후, Cmd를 삭제하여(103) 일련의 처리를 완료한다.
이상의 커맨드 처리를 기억 장치 서브 시스템(3)을 구성하는 개개의 기억 장치로 실행함으로써, 상술한 실시 형태에서의 기억 제어 장치(2), 또는 적어도 한대의 기억 장치(1)로 실행하고 있는 기억 장치 선택 처리를 개개의 기억 장치로 실행할 수 있다. 또한, 용장 데이터를 저장하는 기억 장치를 고정하지 않은(RAID5) 처리를 실현할 수 있다.
[제4 실시 형태] (RAID5, 패리티 걸침 없음, 마스터 제어형)
상술한 실시 형태에서는, 기억 장치 서브 시스템을 구성하는 개개의 기억 장치가 Cmd 정보에 대하여, 자신의 커맨드 처리 필요 여부의 판별을 실행하는 것이다. 그러나, 이것을 실현하기 위해서는 개개의 기억 장치가 기억 장치 서브 시스템에 저장되는 모든 파일에 대하여, 파일 관리 정보를 유지할 필요가 있으며, 또한 파일 관리 정보를 구성하는 미디어 저장 위치로서, 파일을 저장하는 기억 장치 ID 등의 정보를 부가하여 유지할 필요가 있다. 그래서, 개개의 기억 장치가 유지하는 관리 정보의 삭감을 목적으로 하는 실시 형태에 대하여 설명한다.
본 실시 형태에서는, 패리티 데이터의 갱신 등, 패리티 제어가 필요한 경우에 있어서, 대응하는 패리티 데이터를 저장하는 기억 장치가 이들의 처리를 실행한다. 이 때의 기억 장치를 마스터라고 부른다. 이에 의해, 기억 장치 서브 시스템을 구성하는 개개의 기억 장치는 자신이 저장하는 파일 데이터와, 패리티 데이터에 관한 파일 관리 정보를 유지함으로써, 상술한 바와 마찬가지의 처리를 실현할 수 있다.
도 17은 패리티 데이터에 관한 파일 관리 정보의 구성예를 도시한다. 파일관리 정보는 자신의 패리티 스트라이프마다 대응하는 파일 ID를 포함한다. 파일 ID는 액세스권, 사용자 ID, 사이즈, 미디어 저장 위치 등의 정보를 포함한다.
다음에, 커맨드 처리에 대하여 설명한다.
기억 장치는 Cmd 수신을 계기로 하여, Cmd 정보의 해석을 실행한다. 다음에, 해석의 결과에 기초하여 Cmd 대상의 파일 데이터, 또는 파일 데이터에 대응하는 패리티 데이터를 자신이 저장하는지의 여부를 판별한다. 처리가 필요한 경우, Cmd에 따른 커맨드 처리를 실행하여, Cmd를 삭제하여 일련의 처리를 완료한다. 처리가 불필요한 경우, Cmd를 삭제하여 일련의 처리를 완료한다.
(1) 리드계 커맨드 처리예
도 18은 Cmd가 리드계의 커맨드인 경우의 처리예를 나타낸다.
또한, 파일 데이터를 저장하는 기억 장치에서의 처리는 상술한 바와 마찬가지이기 때문에 생략하고, 패리티 데이터를 저장하는 기억 장치와, 패리티 그룹을 구성하는 기억 장치에서의 커맨드 처리만 나타내고 있다.
패리티 데이터를 저장하는 기억 장치에서는, 서브 시스템 관리 정보 등에 기초하여 Cmd 대상의 파일 데이터를 저장하는 기억 장치에서의 장해의 유무를 검출한다(401). 장해가 없는 경우, Cmd를 삭제하고(416), 일련의 처리를 완료한다.
장해가 있는 경우, 패리티 그룹을 구성하는 기억 장치, 및 패리티 그룹의 데이터를 저장하는 어드레스 정보 등을 검출하고(403), 해당 패리티 그룹의 데이터를 저장하는 기억 장치에 대한 리드 요구를 생성하여 발행한다(404).
또한, 패리티 데이터의 디스크 리드 처리를 기동하고(405), 패리티 그룹을구성하는 다른 기억 장치로부터의 패리티 그룹의 데이터의 수신(406)을 대기한다. 그리고, 패리티 데이터와 패리티 그룹 데이터로부터 복구 데이터를 생성하고(407), 생성한 복구 데이터 및 완료 보고를 상위 장치에 대하여 송신(408, 409)한 후, Cmd를 삭제하여(416) 일련의 처리를 완료한다.
또한, 패리티 데이터를 저장하는 기억 장치로부터 패리티 그룹의 데이터의 리드 요구를 수신(410)한 기억 장치는 Cmd의 정보의 해석(도 18 중, 커맨드 해석)을 실행하고(411), 해당 커맨드 해석의 결과에 기초하여, 자신의 커맨드 처리 필요 여부를 판별한다(412). 자신의 커맨드 처리가 필요하다고 판별한 기억 장치는, 자신이 저장하는 패리티 그룹 데이터를 패리티 데이터를 저장하는 기억 장치에 송신하기 위해서, Cmd 정보 등에 기초하여 디스크 리드 처리를 기동하여(413), 판독한 패리티 그룹 데이터, 및 완료 보고를 패리티 데이터를 저장하는 기억 장치에 대하여 송신(414, 415)하고, Cmd를 삭제하여(416), 일련의 처리를 완료한다.
(2) 라이트계 커맨드 처리예
도 19는 Cmd가 라이트계의 커맨드인 경우의 처리예를 도시한다. 또한, 파일 데이터를 저장하는 기억 장치에서의 처리는, 상술한 바와 마찬가지의 처리이기 때문에 생략하고, 패리티 데이터를 저장하는 기억 장치와 패리티 그룹을 구성하는 기억 장치에서의 커맨드 처리만 나타내고 있다.
패리티 데이터를 저장하는 기억 장치에서는, 서브 시스템 관리 정보 등에 기초하여, Cmd 대상의 파일 데이터를 저장하는 기억 장치에서의 장해의 유무를 검출한다(401).
장해가 없는 경우, 구패리티 데이터의 디스크 리드 처리(331), 차분 데이터의 수신(332), 구패리티 데이터와 차분 데이터로부터 신패리티 데이터의 생성 및 갱신 처리(333), 또한 Cmd 대상의 파일을 저장하는 기억 장치로부터 수신한 완료 보고(334)가 행해지고, 자신의 처리 결과에 기초한 완료 보고를 상위 장치에 대하여 송신(335)한 후, Cmd를 삭제하여(416), 일련의 처리를 완료한다.
한편, 장해가 있는 경우, 패리티 그룹을 구성하는 기억 장치, 및 패리티 그룹 데이터를 저장하는 어드레스 정보 등을 검출하고(403), 해당 패리티 그룹 데이터를 저장하는 기억 장치에 대한 리드 요구를 생성하여 발행한다(404).
또한, 상위 장치로부터의 신데이터와, 패리티 그룹을 구성하는 다른 기억 장치로부터의 패리티 그룹 데이터의 수신을 대기하고(417, 406), 신데이터와 패리티 그룹의 데이터로부터 신패리티 데이터의 생성 및 갱신(418)을 행하고, 완료 보고를 상위 장치에 대하여 송신(409)한 후, Cmd를 삭제하고(416), 일련의 처리를 완료한다.
또한, 패리티 데이터를 저장하는 기억 장치로부터 패리티 그룹의 데이터의 리드 요구를 수신(410)한 기억 장치는 Cmd 정보의 해석(도 19 중, 커맨드 해석)을 실행하고(411), 해석 결과에 기초하여 자신의 커맨드 처리 필요 여부를 판별한다(412).
자신이 커맨드 처리를 할 필요가 있다고 판별한 기억 장치는 자신이 저장하는 패리티 그룹의 데이터를 패리티 데이터를 저장하는 기억 장치에 송신하기 위해서, Cmd의 정보 등에 기초하여 디스크 리드 처리를 기동하고(413), 판독한 패리티그룹의 데이터, 및 완료 보고를 패리티 데이터를 저장하는 기억 장치에 대하여 송신(414, 415)하고, Cmd를 삭제하여(416), 일련의 처리를 완료한다.
상술한 바와 같이, 패리티 데이터의 갱신 등 패리티 제어가 필요한 경우에서의 처리를 실현할 수 있다. 이에 의해, 기억 장치 서브 시스템을 구성하는 개개의 기억 장치는 자신이 저장하는 파일 데이터와, 패리티 데이터에 관한 관리 정보를 유지함으로써, 상술한 바와 마찬가지의 처리를 실현할 수 있고, 기억 장치를 유지하는 관리 정보의 삭감, 및 기억 장치로 실행되는 커맨드 처리 필요 여부의 판별 처리의 부하를 경감할 수 있다.
[제5 실시 형태] (RAID5, 패리티 걸침 있음)
상술한 실시 형태에서는 Cmd 대상의 파일 데이터가 단일 스트라이프에 저장되는 경우를 예에 설명하였지만, 이것에 한정되는 것은 아니다.
따라서, Cmd 대상의 파일 데이터가 복수 스트라이프에 저장되는 경우의 실시 형태에 대하여, 도 20∼도 22를 이용하여 이하 설명한다.
우선, 상위 장치(5)로부터 기억 장치 서브 시스템(3)에 대하여 복수의 스트라이프에 저장된 파일 데이터에 대한 리드 요구가 발행된 경우의 파일 단위의 리드 처리의 일례를 나타낸다.
각 기억 장치는, 상술한 실시 형태와 같이, Cmd의 정보와 파일 관리 정보나 서브 시스템 관리 정보에 기초하는 커맨드 해석 처리 및 자신의 커맨드 처리 필요 여부의 판별 처리를 실행한다.
자신이 Cmd 대상의 파일을 저장하는 기억 장치인 경우, Cmd 정보에 기초하여, 디스크 리드 처리를 기동하고, 상술한 실시 형태와 마찬가지의 처리를 통하여 파일 데이터의 생성, 처리에서 생성한 파일 데이터, 및 완료 보고를 상위 장치에 대하여 송신하고, Cmd를 삭제하여 일련의 처리를 완료한다.
여기서, 디스크 리드 처리를 개별의 독립된 처리로서 실행하고, 각각 판독한 데이터를 통합함으로써, 파일 데이터의 생성 처리를 실행해도 된다. 또한, 디스크 리드 처리를 일회의 처리로서 실행하고, 복수의 데이터 스트라이프가 패리티 데이터를 걸치고 있는 경우에는, 패리티 데이터를 스킵하여 판독함으로써, 파일 데이터의 생성 처리를 실행해도 된다.
도 20은 상위 장치(5)로부터 기억 장치 서브 시스템(3)에 대하여 복수의 스트라이프에 저장된 파일 데이터에 대한 라이트 요구가 발행된 경우의 파일 단위의 라이트 처리 및 패리티 갱신 처리의 일례를 나타낸다. 또한, 도 20∼도 22에 있어서는 기억 장치(1-2)가 Cmd 대상의 파일을 저장하고 있는 것으로 한다.
자신이 Cmd 대상의 파일을 저장하는 기억 장치(1-2)는 갱신 정보 생성부(13-3)에서, 상위 장치(5)로부터 수신한 신데이터(40)와, 신데이터에 대응하여 자신이 이미 저장하고 있는 구데이터(41-1, 41-2)로부터 생성한 차분 데이터(42-1, 42-2)를 패리티 데이터 갱신 대상인 기억 장치(1-1, 1-3)에 송신하고, 신데이터를 자신의 미디어부(11-2)(S4, S9)에 저장함으로써 일련의 처리를 완료한다.
한편, 기억 장치(1-1, 1-3)는 기억 장치(1-2)로부터 수신한 차분 데이터(42-1, 42-2)와, 차분 데이터에 대응하여 자신이 이미 저장하고 있는 구패리티(43-1, 43-2)로부터 신패리티(44-1, 44-3)를 생성하여, 자신의 미디어부(14-1, 14-3)(P3,P1)에 저장함으로써 일련의 처리를 완료한다.
도 21은 장해가 발생한 기억 장치(1-2)의 복수의 스트라이프에 저장된 파일 데이터에 대한 파일 단위의 리드 요구가 발행된 경우의 파일 단위의 리드 처리의 일례를 나타낸다.
도 21, 도 22에서는 S4, S9에 저장되어 있는 파일 데이터에 대응하는 패리티 데이터를 각각 패리티 1, 패리티 2, 동 패리티 그룹 데이터를 PG1 데이터, PG2 데이터로 나타내고 있다. S4, S9가 구성하는 패리티 그룹을 각각 패리티 그룹 1, 패리티 그룹 2로 한다.
패리티 그룹 1을 구성하는 기억 장치(1-1, 1-4)는 Cmd 대상의 파일 데이터에 대응하는 PG1 데이터(50-1-1, 50-1-4)를, 패리티 1인 51-3를 저장하는 기억 장치(1-3)에 송신한다.
패리티 그룹 2를 구성하는 기억 장치(1-3, 1-4)는 Cmd 대상의 파일 데이터에 대응하는 PG2 데이터(50-2-3, 50-2-4)를, 패리티 2인 51-1를 저장하는 기억 장치(1-1)에 송신한다.
기억 장치(1-1)는 패리티 그룹 2의 데이터(50-2-3, 50-2-4)와 자신이 저장하는 패리티 2인 51-1로부터, Cmd 대상의 파일 데이터의 일부(도면 중, 복구 데이터2)(52-1)를 복구하고, 기억 장치(1-3)에 송신함으로써 일련의 처리를 완료한다.
기억 장치(1-3)는 패리티 그룹1의 데이터(50-1-1, 50-1-4)와 자신이 저장하는 패리티1인 51-3으로부터, Cmd 대상의 파일 데이터의 일부(도면 중, 복구 데이터1)(52-3)를 복구하고, 또한 복구 데이터 1과 복구 데이터 2로부터 상위 장치에 대한 복구 데이터(52)를 생성하여, 상위 장치(5)에 송신함으로써 일련의 처리를 완료한다.
도 22는 장해가 발생한 기억 장치(1-2)의 복수의 스트라이프에 저장된 파일 데이터에 대한 파일 단위의 라이트 요구가 발행된 경우의 패리티 갱신 처리의 일례를 나타낸다.
패리티 그룹 1을 구성하는 기억 장치(1-1, 1-4)는 Cmd 대상의 파일 데이터에 대응하는 PG1 데이터(50-1-1, 50-1-4)를, 패리티 1인 51-3을 저장하는 기억 장치(1-3)에 송신한다.
패리티 그룹 2을 구성하는 기억 장치(1-3, 1-4)는 Cmd 대상의 파일 데이터에 대응하는 PG2 데이터(50-2-3, 50-2-4)를 패리티 2인 51-1을 저장하는 기억 장치(1-1)에 송신한다.
기억 장치(1-1)는 패리티 그룹 2의 데이터(50-2-3, 50-2-4)와 상위 장치로부터 수신한 신데이터(40)(의 일부)로부터, 신패리티 2인 44-1을 생성하고, 자신의 미디어부(14-1)(P3)에 저장함으로써 일련의 처리를 완료한다.
기억 장치(1-3)는 패리티 그룹 1의 데이터(50-1-1, 50-1-4)와 상위 장치로부터 수신한 신데이터(40)(의 일부)로부터, 신패리티(144-3)를 생성하고, 자신의 미디어부(14-1)(P3)에 저장함으로써 일련의 처리를 완료한다.
상술한 바와 같이, Cmd 대상의 파일 데이터가 복수의 스트라이프에 저장되는 경우에 대해서도 본 발명을 적용할 수 있다.
또한, 본 발명을 RAID1에 적용하는 것도 가능하다. 이하, 복제 제어에 따른 처리의 일례를 예시한다. 여기서, 복제 제어란 동일한 데이터를 2중으로 갖게 한 2대 1조의 하드디스크 드라이브를 이용한 제어를 가리킨다.
이 경우, 기억 장치 서브 시스템은 갱신 정보 생성부를 불필요로 하는 2대의 기억 장치로 구성하는 것으로 한다. 또한, 서브 시스템 관리 정보는 도 3의 구성에 대하여 기억 장치 서브 시스템 관리 정보는 기억 장치 #1, 기억 장치 #2만이다.
액세스 대상인 기억 장치의 검출, 검출된 1대의 기억 장치에서의 파일 단위의 리드 처리, 그리고 검출된 2대의 기억 장치에서의 파일 단위의 라이트 처리는 상술한 실시 형태와 마찬가지로 실행된다.
데이터를 수신한 개개의 기억 장치에서의 미디어부에의 저장이나, 2대의 기억 장치에 대한 데이터의 전송 처리에 있어서도, 상술한 실시 형태와 마찬가지로 실행된다. 기억 장치 서브 시스템을 구성하는 제1 기억 장치가 파일 단위의 데이터를 수신한 후, 또는 수신하면서, 제2 기억 장치에 대하여 전송하면 된다.
또한, 2대 이상의 기억 장치를 1조로 하여, RAID1을 본 발명에 적용할 수도 있다.
[제6 실시 형태](리플리케이션(RAID1))
본 실시 형태에서는, Cmd에 대한 복제 제어에 따른 처리의 일례를, 도 23을 이용하여 설명한다. 여기서, 복제 제어란, 동일한 데이터를 2중으로 갖게 한 2대 1조의 하드디스크 드라이브를 이용한 제어를 가리킨다.
도 23은 2대의 기억 장치를 갖는 기억 장치 서브 시스템(3)과 상위 장치(5)로 구성되는 정보 처리 시스템의 일례를 나타낸다. 이 경우, 갱신 정보 생성부는 불필요하다. 또한, 서브 시스템 관리 정보는 도 3의 구성에 대하여, 기억 장치 서브 시스템 관리 정보는 기억 장치 #1, 기억 장치 #2만이다.
우선, 기억 장치 서브 시스템(3)이 Cmd를 수신하면, 액세스 대상의 기억 장치가 검출된다. 이 처리에서는 기억 제어 장치가 기억 장치 선택 관리 정보 등을 이용하여, 기억 장치(1-1)를 검출해도 되며, 2대 모두 검출해도 된다. 기억 제어 장치가 없는 경우에는 기억 장치가 기억 장치 선택 관리 정보 등을 갖고, 기억 장치(1-1)만이 Cmd를 수신해도 되며 2대 모두 수신해도 된다.
Cmd가 리드 요구인 경우, 기억 장치(1-1)만이 데이터를 판독하면 된다. 그러므로, 기억 장치(1-2)는 Cmd를 수신해도 자신은 액세스 대상의 기억 장치라고 판단하지 않고 처리를 행하지 않는다. 또한, 기억 장치(1-1)에 장해가 발생되는 경우에는 기억 장치(1-2)에 Cmd가 송신되며 기억 장치(1-2)가 처리를 행한다.
Cmd가 라이트 요구인 경우, 2대의 기억 장치에 데이터를 기입할 필요가 있다. 이 경우, 우선 기억 장치(1-1)는 Cmd를 수신한다. 다음에, 데이터를 수신하여 기입을 행하고, 기입한 데이터와 동일한 데이터를 기억 장치(1-2)에 송신한다. 데이터의 기입을 행하면서 송신해도 된다. 또한, 기억 장치(1-1)에 장해가 발생되는 경우에는 기억 장치(1-2)에 Cmd가 송신되어 기억 장치(1-2)에 데이터가 기입된다.
또한, 2대 이상의 기억 장치를 1조로 하는 것도 가능하다.
이하, 본 발명의 다른 변형예에 대하여 설명한다.
우선, Cmd 대상의 파일 데이터가 패리티 스트라이프를 걸친 복수의 스트라이프에 저장되는 경우, 개개의 기억 장치에서의 재배치 처리(연속한 스트라이프에의 재배치 처리), 및 패리티 그룹을 구성하는 기억 장치 사이에서의 패리티 데이터의 갱신 처리를 실행하는 것이 가능하다.
또한, 기억 장치 서브 시스템을 구성하는 개개의 기억 장치에 있어서, 저장 영역에 의한 액세스 속도에 차이가 있는 경우, 개개의 파일 데이터에의 액세스 이력을 기록함으로써, 해당 파일 데이터의 액세스 특성에 따른 재배치 처리(액세스 빈도가 높은 파일 데이터를 액세스 속도가 빠른 영역에 저장하는 재배치 처리), 및 패리티 그룹을 구성하는 기억 장치 사이에서의 패리티 데이터의 갱신 처리를 실행하는 것이 가능하다.
또한, 기억 장치는 자기 매체를 사용하는 경우가 많지만, 광학적 매체 등의 다른 매체를 이용하는 장치라도 무방하다.
본 발명에 따르면, 기억 장치 서브 시스템에 있어서, 상위 장치로부터의 파일 단위의 액세스 요구에 따르는 처리에 관하여, 종래 부하가 집중되어 있는 기억 제어 장치의 부담을 경감하여 기억 장치 서브 시스템의 성능 향상 및 저가격화를 도모할 수 있다.

Claims (26)

  1. 기억 제어 장치와 복수의 기억 장치로 이루어지는 기억 장치 서브 시스템에 있어서,
    상기 기억 제어 장치는, 외부 장치로부터 수신한 파일 단위의 액세스 요구를 처리하는 기억 장치를 선택하는 기억 장치 선택부와,
    상기 기억 장치 선택부가 선택한 기억 장치에 상기 파일 단위의 액세스 요구를 송신하는 수단을 포함하고,
    상기 기억 장치는, 상기 기억 장치를 제어하는 메인 제어부와, 데이터를 저장하는 미디어부를 포함하며,
    상기 메인 제어부는, 송신된 상기 파일 단위의 액세스 요구를 해석하여, 해당 해석에 따른 처리를 실행하는 것을 특징으로 하는 기억 장치 서브 시스템.
  2. 제1항에 있어서,
    상기 메인 제어부는,
    상기 액세스 요구가 상기 미디어부에 저장되어 있는 데이터의 판독 요구인 경우, 상기 미디어부에 저장되어 있는 블록 단위의 데이터를, 파일 단위의 데이터로 정형하여 상기 기억 제어 장치로 출력하고,
    상기 외부 장치로부터 송신된 데이터의 기입 요구인 경우, 상기 외부 장치로부터 수신한 파일 단위의 데이터를 블록 단위의 데이터로 정형하여 상기 미디어부에 저장하는 것을 특징으로 하는 기억 장치 서브 시스템.
  3. 제2항에 있어서,
    상기 기억 장치는, 상기 미디어부가 저장하는 파일에 관한 파일 관리 정보를 갖고,
    상기 파일 관리 정보는, 상기 파일의 바이트 단위의 사이즈와, 상기 파일의 블록수의 정보를 포함하고,
    상기 메인 제어부에 의한 상기 파일 단위의 데이터로의 정형, 및 상기 블록 단위의 데이터로의 정형은 상기 바이트 단위의 사이즈와 상기 블록수에 기초하여, 정형하는 것을 특징으로 하는 기억 장치 서브 시스템.
  4. 제3항에 있어서,
    상기 파일 관리 정보는, 상기 미디어부에 저장된 데이터의, 선두 블록의 어드레스와, 상기 선두 블록에 연속하는 블록수로 구성되고, 파일이 분단된 영역마다 추가되는 미디어 저장 위치의 정보를 포함하고,
    상기 메인 제어부는, 상기 미디어 저장 위치를 이용하여 불연속인 영역에 저장되어 있는 블록 데이터를 검출하는 수단과,
    상기 블록수와 상기 미디어 저장 위치를 이용하여 상기 미디어부에 저장하기 위한 선두 블록의 어드레스와, 선두 블록에 연속하는 블록수를 검출하는 수단을 포함하는 것을 특징으로 하는 기억 장치 서브 시스템.
  5. 제2항에 있어서,
    상기 메인 제어부는, 정형한 블록 단위의 데이터와, 상기 미디어부에 저장되어 있는 액세스 대상의 데이터로부터, 차분 데이터를 생성하고, 용장 데이터를 저장하는 기억 장치에 대하여, 상기 차분 데이터를 송신하는 것을 특징으로 하는 기억 장치 서브 시스템.
  6. 제4항에 있어서,
    상기 파일 관리 정보는, 상기 파일에 대한 임의의 기간에서의 액세스 횟수를 나타내는 액세스 이력을 더 포함하고,
    상기 메인 제어부는, 상기 액세스 이력을 이용하여 액세스 빈도가 높은 파일을 액세스 속도가 빠른 영역에 배치하는 수단을 포함하는 것을 특징으로 하는 기억 장치 서브 시스템.
  7. 제4항에 있어서,
    상기 파일 관리 정보는, 상기 파일의 중요성에 따라 설정되는 우선 순위를 더 포함하고,
    상기 메인 제어부는, 상기 우선 순위를 이용하여 중요성이 높은 파일을 액세스 속도가 빠른 영역에 배치하는 수단을 포함하는 것을 특징으로 하는 기억 장치 서브 시스템.
  8. 제1항에 있어서,
    장해를 일으킨 기억 장치에 대하여 파일 단위의 액세스 요구가 발행된 경우,
    상기 기억 제어 장치는, 상기 기억 장치 선택 관리 정보를 이용하여, 상기 장해를 일으킨 기억 장치를 검출하는 수단과, 상기 장해를 일으킨 기억 장치의 용장 데이터를 갖는 기억 장치에 상기 액세스 요구를 전송하는 수단을 포함하고,
    상기 용장 데이터를 갖는 기억 장치에서의 상기 메인 제어부는, 상기 액세스 요구에 따라서 상기 기억 장치 서브 시스템을 구성하는 다른 기억 장치에 대하여, 액세스 대상의 파일에 대응하는 데이터를, 상기 용장 데이터를 갖는 기억 장치에 송신하도록 지시하는 수단과, 상기 송신된 데이터와, 상기 용장 데이터를 갖는 기억 장치가 갖는 용장 데이터를 이용하여, 상기 장해를 일으킨 기억 장치에 저장되어 있는 액세스 대상의 데이터를 복원하는 수단과, 상기 복원한 데이터를 상기 파일 단위의 데이터로 정형하는 수단을 갖는 기억 장치 서브 시스템.
  9. 외부 장치와 접속되며, 복수의 기억 장치로 이루어지는 기억 장치 서브 시스템에 있어서,
    상기 복수의 기억 장치는, 상기 기억 장치를 제어하는 메인 제어부와, 데이터를 저장하기 위한 미디어부를 포함하고,
    상기 복수의 기억 장치 중 적어도 한개의 기억 장치는 상기 외부 장치로부터 수신한 파일 단위의 액세스 요구를 처리하는 기억 장치를 선택하여 상기 파일 단위의 액세스 요구를 송신하는 기억 장치 선택부를 더 포함하며,
    상기 메인 제어부는 송신된 상기 액세스 요구를 해석하여, 해당 해석에 따른 처리를 실행하는 것을 특징으로 하는 기억 장치 서브 시스템.
  10. 제9항에 있어서,
    상기 메인 제어부는,
    상기 액세스 요구가 상기 미디어부에 저장되어 있는 데이터의 판독 요구인지, 상기 외부 장치로부터 송신된 데이터의 기입 요구인지를 판단하는 수단과,
    판독 요구라고 판단한 경우, 상기 미디어부에 저장되어 있는 블록 단위의 데이터를 파일 단위의 데이터로 정형하는 수단과,
    기입 요구라고 판단한 경우, 상기 상위 장치로부터 수신한 파일 단위의 데이터를 블록 단위의 데이터로 정형하는 수단을 포함하는 것을 특징으로 하는 기억 장치 서브 시스템.
  11. 제10항에 있어서,
    상기 기억 장치는, 상기 미디어부가 저장하는 파일에 관한 파일 관리 정보를 갖고,
    상기 파일 관리 정보는, 상기 파일의 바이트 단위의 사이즈와, 상기 파일의 블록수의 정보를 포함하고,
    상기 메인 제어부에 의한 상기 파일 단위의 데이터로의 정형, 및 상기 블록단위의 데이터로의 정형은 상기 바이트 단위의 사이즈와 상기 블록수에 기초하여, 정형하는 것을 특징으로 하는 기억 장치 서브 시스템.
  12. 제11항에 있어서,
    상기 파일 관리 정보는, 상기 미디어부에 저장된 데이터의, 선두 블록의 어드레스와, 상기 선두 블록에 연속하는 블록수로 구성되고, 파일이 분단된 영역마다 추가되는, 미디어 저장 위치의 정보를 포함하고,
    상기 메인 제어부는, 상기 미디어 저장 위치를 이용하여 불연속인 영역에 저장되어 있는 블록 데이터를 검출하는 수단과,
    상기 블록수와 상기 미디어 저장 위치를 이용하여 상기 미디어부에 저장하기 위한 선두 블록의 어드레스와, 선두 블록에 연속하는 블록수를 검출하는 수단을 포함하는 것을 특징으로 하는 기억 장치 서브 시스템.
  13. 제10항에 있어서,
    상기 메인 제어부는, 정형한 블록 단위의 데이터와, 상기 미디어부에 저장되어 있는 액세스 대상의 데이터로부터, 차분 데이터를 생성하고, 용장 데이터를 저장하는 기억 장치에 대하여, 상기 차분 데이터를 송신하는 것을 특징으로 하는 기억 장치 서브 시스템.
  14. 외부 장치와의 통신을 행하는 인터페이스부와,
    데이터를 블록 단위로 저장하는 미디어부와,
    상기 미디어부에의 액세스를 제어하는 미디어 제어부를 구비한 기억 장치에 있어서,
    상기 인터페이스부에서 수신한 외부 장치로부터의 파일 단위의 액세스 요구를 해석하여, 블록 단위의 처리로 변환하고, 상기 미디어 제어부에 의한 상기 미디어부에의 액세스를 행하는 메인 제어부를 포함하는 것을 특징으로 하는 기억 장치.
  15. 제14항에 있어서,
    상기 메인 제어부는, 상기 액세스 요구가 상기 미디어부에 저장되어 있는 데이터의 판독 요구인지 기입 요구인지를 판단하는 수단과,
    판독 요구라고 판단한 경우, 상기 미디어부에 저장되어 있는 블록 단위의 데이터를, 파일 단위의 데이터로 정형하는 수단과,
    기입 요구라고 판단한 경우, 상기 외부 장치로부터 수신한 파일 단위의 데이터를, 블록 단위의 데이터로 정형하는 수단을 포함하는 기억 장치.
  16. 외부 장치와의 통신을 행하는 인터페이스부와,
    데이터를 저장하는 미디어부와,
    상기 미디어부에의 액세스를 제어하는 미디어 제어부를 포함한 기억 장치에 있어서,
    상기 인터페이스부에서 수신한 외부 장치로부터의 파일 단위의 액세스 요구를 처리하여야 할 기억 장치가 자기 기억 장치인지를 판정하는 판정부와,
    자기 기억 장치에서 처리하여야 할 상기 파일 단위의 액세스 요구를 해석하여, 상기 미디어 제어부에 의한 상기 미디어부에의 액세스를 행하는 메인 제어부를 포함하는 것을 특징으로 하는 기억 장치.
  17. 제16항에 있어서,
    상기 판정부에서 상기 액세스 요구가 자기 기억 장치에서 처리하여야 할 액세스 요구가 아니라고 판정한 경우에 상기 액세스 요구를 상기 인터페이스부로부터 다른 기억 장치로 송신하는 것을 특징으로 하는 기억 장치.
  18. 제17항에 있어서,
    동일 통신로에 접속하는 다른 기억 장치의 관리 정보를 유지하는 정보 유지부를 포함하며, 상기 액세스 요구를 송신하여야 할 다른 기억 장치를 선정하고, 선정한 기억 장치앞으로 상기 액세스 요구를 송신하는 것을 특징으로 하는 기억 장치.
  19. 제18항에 있어서,
    상기 메인 제어부는, 상기 액세스 요구가 상기 미디어부에 저장되어 있는 데이터의 판독 요구인지 기입 요구인지를 판단하는 수단과,
    판독 요구라고 판단한 경우, 상기 미디어부에 저장되어 있는 블록 단위의 데이터를, 파일 단위의 데이터로 정형하는 수단과,
    기입 요구라고 판단한 경우, 상기 외부 장치로부터 수신한 파일 단위의 데이터를, 블록 단위의 데이터로 정형하는 수단을 포함하는 기억 장치.
  20. 제19항에 있어서,
    상기 기억 장치는, 상기 미디어부가 저장하는 파일에 관한 파일 관리 정보를 갖고,
    상기 파일 관리 정보는, 상기 파일의 바이트 단위의 사이즈와, 상기 파일의 블록수의 정보를 포함하고,
    상기 메인 제어부에 의한 상기 파일 단위의 데이터로의 정형, 및 상기 블록 단위의 데이터로의 정형은, 상기 바이트 단위의 사이즈와 상기 블록수에 기초하여, 정형하는 것을 특징으로 하는 기억 장치.
  21. 제20항에 있어서,
    상기 파일 관리 정보는, 상기 미디어부에 저장된 데이터의, 선두 블록의 어드레스와, 상기 선두 블록에 연속하는 블록수로 구성되며, 파일이 분단된 영역마다 추가되는, 미디어 저장 위치의 정보를 포함하고,
    상기 메인 제어부는, 상기 미디어 저장 위치를 이용하여, 불연속인 영역에 저장되어 있는 블록 데이터를 검출하는 수단과,
    상기 블록수와 상기 미디어 저장 위치를 이용하여, 상기 미디어부에 저장하기 위한 선두 블록의 어드레스와, 선두 블록에 연속하는 블록수를 검출하는 수단을 포함하는 것을 특징으로 하는 기억 장치.
  22. 제21항에 있어서,
    상기 메인 제어부는, 정형한 블록 단위의 데이터와, 상기 미디어부에 저장되어 있는 액세스 대상의 데이터로부터, 차분 데이터를 생성하고, 용장 데이터를 저장하는 기억 장치에 대하여, 상기 차분 데이터를 송신하는 것을 특징으로 하는 기억 장치.
  23. 제22항에 있어서,
    상기 파일 관리 정보는, 상기 파일에 대한 임의의 기간에서의 액세스 횟수를 나타내는 액세스 이력을 더 포함하고,
    상기 메인 제어부는, 상기 액세스 이력을 이용하여, 액세스 빈도가 높은 파일을 액세스 속도가 빠른 영역에 배치하는 수단을 포함하는 것을 특징으로 하는 기억 장치.
  24. 제23항에 있어서,
    상기 파일 관리 정보는, 상기 파일의 중요성에 따라 설정되는 우선 순위를 더 포함하고,
    상기 메인 제어부는, 상기 우선 순위를 이용하여, 중요성이 높은 파일을 액세스 속도가 빠른 영역에 배치하는 수단을 포함하는 것을 특징으로 하는 기억 장치.
  25. 제17항에 있어서,
    장해를 일으킨 기억 장치에 대하여 파일 단위의 액세스 요구가 발행된 경우,
    상기 판정부는, 상기 장해를 일으킨 기억 장치를 검출하는 수단과,
    상기 장해를 일으킨 기억 장치의 용장 데이터를 갖는 기억 장치에 상기 액세스 요구를 전송하는 수단을 포함하고,
    상기 용장 데이터를 갖는 기억 장치는, 상기 액세스 요구에 따라서 상기 기억 장치 서브 시스템을 구성하는 다른 기억 장치에 대하여, 액세스 대상의 파일에 대응하는 데이터를 상기 용장 데이터를 갖는 기억 장치에 송신하도록 지시하는 수단과,
    상기 송신된 데이터와, 상기 용장 데이터를 갖는 기억 장치가 갖는 용장 데이터를 이용하여 상기 장해를 일으킨 기억 장치에 저장되어 있는 액세스 대상의 데이터를 복원하는 수단과,
    상기 복원한 데이터를 상기 파일 단위의 데이터로 정형하는 수단을 포함하는 것을 특징으로 하는 기억 장치.
  26. 외부 장치와 접속되며, 데이터를 2중으로 갖게 한 2대 1조의 기억 장치를 갖는 기억 장치 서브 시스템에 있어서,
    상기 기억 장치는, 상기 외부 장치로부터 수신한, 파일 단위의 액세스 요구를 송신하는 대상으로 하는 기억 장치를 선택하는 기억 장치 선택부와, 상기 기억 장치를 제어하는 메인 제어부와, 데이터를 저장하기 위한 미디어부를 포함하고,
    상기 기억 장치는, 상기 기억 장치 선택부가 선택한 기억 장치에 상기 액세스 요구를 송신하는 수단과,
    송신된 상기 액세스 요구를 상기 메인 제어부에 의해서 해석하는 수단과,
    상기 해석의 결과에 따라, 상기 액세스 요구에 대한 처리를 실행하는 수단을 포함하는 것을 특징으로 하는 기억 장치 서브 시스템.
KR10-2003-0012668A 2002-05-27 2003-02-28 기억 장치 및 기억 장치 서브 시스템 KR20030091664A (ko)

Applications Claiming Priority (4)

Application Number Priority Date Filing Date Title
JP2002151708A JP2003345513A (ja) 2002-05-27 2002-05-27 記憶装置および記憶装置サブシステム
JPJP-P-2002-00151708 2002-05-27
JPJP-P-2002-00306468 2002-10-22
JP2002306468A JP2004145409A (ja) 2002-10-22 2002-10-22 記憶装置および記憶装置サブシステム

Publications (1)

Publication Number Publication Date
KR20030091664A true KR20030091664A (ko) 2003-12-03

Family

ID=29552367

Family Applications (1)

Application Number Title Priority Date Filing Date
KR10-2003-0012668A KR20030091664A (ko) 2002-05-27 2003-02-28 기억 장치 및 기억 장치 서브 시스템

Country Status (3)

Country Link
US (1) US7013364B2 (ko)
EP (1) EP1369773A2 (ko)
KR (1) KR20030091664A (ko)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100608604B1 (ko) * 2004-09-15 2006-08-03 삼성전자주식회사 객체 식별자를 이용하여 이동형 저장 장치에서 권리객체를 검색하는 방법 및 장치
KR100608585B1 (ko) * 2004-07-12 2006-08-03 삼성전자주식회사 이동형 저장 장치에서 객체의 위치 정보를 이용하여 권리객체를 검색하는 방법 및 장치

Families Citing this family (19)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP4270371B2 (ja) * 2003-05-09 2009-05-27 インターナショナル・ビジネス・マシーンズ・コーポレーション 記憶システム、制御装置、制御方法、及び、プログラム
TWI270774B (en) * 2004-01-20 2007-01-11 Mediatek Inc Memory control method and related device
JP4477365B2 (ja) * 2004-01-29 2010-06-09 株式会社日立製作所 複数インタフェースを有する記憶装置、および、その記憶装置の制御方法
JP4491273B2 (ja) * 2004-05-10 2010-06-30 株式会社日立製作所 ストレージシステム、ファイルアクセス制御プログラム及びファイルアクセス制御方法
US20060036904A1 (en) * 2004-08-13 2006-02-16 Gemini Storage Data replication method over a limited bandwidth network by mirroring parities
US7457980B2 (en) * 2004-08-13 2008-11-25 Ken Qing Yang Data replication method over a limited bandwidth network by mirroring parities
JP4877921B2 (ja) * 2006-01-25 2012-02-15 株式会社日立製作所 ストレージシステム、記憶制御装置及び記憶制御装置のリカバリポイント検出方法
US20090132621A1 (en) * 2006-07-28 2009-05-21 Craig Jensen Selecting storage location for file storage based on storage longevity and speed
US7870128B2 (en) 2006-07-28 2011-01-11 Diskeeper Corporation Assigning data for storage based on speed with which data may be retrieved
US9052826B2 (en) * 2006-07-28 2015-06-09 Condusiv Technologies Corporation Selecting storage locations for storing data based on storage location attributes and data usage statistics
US20080140724A1 (en) 2006-12-06 2008-06-12 David Flynn Apparatus, system, and method for servicing object requests within a storage controller
US8151082B2 (en) * 2007-12-06 2012-04-03 Fusion-Io, Inc. Apparatus, system, and method for converting a storage request into an append data storage command
US8161353B2 (en) 2007-12-06 2012-04-17 Fusion-Io, Inc. Apparatus, system, and method for validating that a correct data segment is read from a data storage device
US8051362B2 (en) * 2007-06-15 2011-11-01 Microsoft Corporation Distributed data storage using erasure resilient coding
US20090222509A1 (en) * 2008-02-29 2009-09-03 Chao King System and Method for Sharing Storage Devices over a Network
JP5284685B2 (ja) 2008-05-16 2013-09-11 インターナショナル・ビジネス・マシーンズ・コーポレーション ファイルの再配置装置、再配置方法、及び再配置プログラム
US20120054362A1 (en) * 2010-08-31 2012-03-01 Canon Kabushiki Kaisha Mechanism for autotuning mass data transfer from a sender to a receiver over parallel connections
GB2539445A (en) 2015-06-16 2016-12-21 Nordic Semiconductor Asa Data processing
EP4068104A1 (en) * 2021-03-30 2022-10-05 ABB Schweiz AG Method for controlling an opc ua server, opc ua server, control circuit, computer program, and computer-readable medium

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH0736634A (ja) * 1993-07-16 1995-02-07 Toshiba Corp ディスクアレイ装置
KR970016918A (ko) * 1995-09-11 1997-04-28 미따라이 후지오 다수의 저장 장치들의 어레이들 상의 다수의 호스트 컴퓨터들을 위한 데이터 저장 시스템 및 데이터 액세스 방법
KR970022765A (ko) * 1995-10-23 1997-05-30 김영환 알에이아이디(raid) 제어기 및 데이터 기록 방법
JPH10133826A (ja) * 1996-11-01 1998-05-22 Fujitsu Ltd Raid装置
JPH10198526A (ja) * 1997-01-14 1998-07-31 Fujitsu Ltd Raid装置及びそのアクセス制御方法

Family Cites Families (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH07261946A (ja) 1994-03-22 1995-10-13 Hitachi Ltd アレイ型記憶装置
US6202135B1 (en) * 1996-12-23 2001-03-13 Emc Corporation System and method for reconstructing data associated with protected storage volume stored in multiple modules of back-up mass data storage facility
US6295578B1 (en) * 1999-04-09 2001-09-25 Compaq Computer Corporation Cascaded removable media data storage system
JP4073161B2 (ja) * 2000-12-06 2008-04-09 株式会社日立製作所 ディスクストレージのアクセスシステム

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH0736634A (ja) * 1993-07-16 1995-02-07 Toshiba Corp ディスクアレイ装置
KR970016918A (ko) * 1995-09-11 1997-04-28 미따라이 후지오 다수의 저장 장치들의 어레이들 상의 다수의 호스트 컴퓨터들을 위한 데이터 저장 시스템 및 데이터 액세스 방법
KR970022765A (ko) * 1995-10-23 1997-05-30 김영환 알에이아이디(raid) 제어기 및 데이터 기록 방법
JPH10133826A (ja) * 1996-11-01 1998-05-22 Fujitsu Ltd Raid装置
JPH10198526A (ja) * 1997-01-14 1998-07-31 Fujitsu Ltd Raid装置及びそのアクセス制御方法

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100608585B1 (ko) * 2004-07-12 2006-08-03 삼성전자주식회사 이동형 저장 장치에서 객체의 위치 정보를 이용하여 권리객체를 검색하는 방법 및 장치
KR100608604B1 (ko) * 2004-09-15 2006-08-03 삼성전자주식회사 객체 식별자를 이용하여 이동형 저장 장치에서 권리객체를 검색하는 방법 및 장치

Also Published As

Publication number Publication date
EP1369773A2 (en) 2003-12-10
US20030221064A1 (en) 2003-11-27
US7013364B2 (en) 2006-03-14

Similar Documents

Publication Publication Date Title
KR20030091664A (ko) 기억 장치 및 기억 장치 서브 시스템
US8375168B2 (en) Method and system of collection performance data for storage network
US6457109B1 (en) Method and apparatus for copying data from one storage system to another storage system
US7536505B2 (en) Storage system and method for controlling block rearrangement
US6895483B2 (en) Method and apparatus for data relocation between storage subsystems
JP4814617B2 (ja) ストレージシステム
US6041386A (en) Data sharing between system using different data storage formats
US7660946B2 (en) Storage control system and storage control method
JP5712713B2 (ja) 制御装置、制御方法およびストレージ装置
JPH0736634A (ja) ディスクアレイ装置
CN101149667A (zh) 磁盘阵列系统、存储系统及存储系统迁移方法
CA2020272A1 (en) Transferring data in a digital data processing system
US7058692B2 (en) Computer, computer system, and data transfer method
JP2009175824A (ja) メインフレーム用記憶制御装置及びメインフレーム用ボリュームの仮想化方法
US6658528B2 (en) System and method for improving file system transfer through the use of an intelligent geometry engine
JP4874515B2 (ja) 記憶装置システム
JP2004145409A (ja) 記憶装置および記憶装置サブシステム
JP3794232B2 (ja) 情報処理システムにおけるデータのバックアップ方法
JP2004227594A (ja) 計算機システムおよび二次記憶装置
JP2005346426A (ja) データ共有ディスク装置
JP2022166986A (ja) ストレージ制御装置およびストレージ制御方法
JP2003345513A (ja) 記憶装置および記憶装置サブシステム
JP4075790B2 (ja) 複合計算機システムおよび複合i/oシステム
JP4285202B2 (ja) 複合計算機システムおよび複合i/oシステム

Legal Events

Date Code Title Description
A201 Request for examination
E902 Notification of reason for refusal
N231 Notification of change of applicant
E902 Notification of reason for refusal
E601 Decision to refuse application