KR100310896B1 - 디스크기억장치의데이터갱신방법및디스크기억제어장치 - Google Patents
디스크기억장치의데이터갱신방법및디스크기억제어장치 Download PDFInfo
- Publication number
- KR100310896B1 KR100310896B1 KR1019980027214A KR19980027214A KR100310896B1 KR 100310896 B1 KR100310896 B1 KR 100310896B1 KR 1019980027214 A KR1019980027214 A KR 1019980027214A KR 19980027214 A KR19980027214 A KR 19980027214A KR 100310896 B1 KR100310896 B1 KR 100310896B1
- Authority
- KR
- South Korea
- Prior art keywords
- block
- data
- logical address
- disk
- blocks
- Prior art date
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input 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/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0602—Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
- G06F3/0604—Improving or facilitating administration, e.g. storage management
- G06F3/0607—Improving or facilitating administration, e.g. storage management by facilitating the process of upgrading existing storage systems, e.g. for improving compatibility between host and storage device
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/07—Responding to the occurrence of a fault, e.g. fault tolerance
- G06F11/08—Error detection or correction by redundancy in data representation, e.g. by using checking codes
- G06F11/10—Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's
- G06F11/1076—Parity data used in redundant arrays of independent storages, e.g. in RAID systems
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input 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/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0628—Interfaces specially adapted for storage systems making use of a particular technique
- G06F3/0638—Organizing or formatting or addressing of data
- G06F3/064—Management of blocks
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input 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/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0668—Interfaces specially adapted for storage systems adopting a particular infrastructure
- G06F3/0671—In-line storage system
- G06F3/0683—Plurality of storage devices
- G06F3/0689—Disk arrays, e.g. RAID, JBOD
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2211/00—Indexing scheme relating to details of data-processing equipment not covered by groups G06F3/00 - G06F13/00
- G06F2211/10—Indexing scheme relating to G06F11/10
- G06F2211/1002—Indexing scheme relating to G06F11/1076
- G06F2211/1028—Distributed, i.e. distributed RAID systems with parity
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input 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/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0628—Interfaces specially adapted for storage systems making use of a particular technique
- G06F3/0655—Vertical data movement, i.e. input-output transfer; data movement between one or more hosts and one or more storage devices
- G06F3/0656—Data buffering arrangements
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Human Computer Interaction (AREA)
- Quality & Reliability (AREA)
- Signal Processing For Digital Recording And Reproducing (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
본 발명은 간접 맵을 원리적으로 필요로 하지 않는, 염가이고 고속인 디스크 기억 장치의 데이터 갱신 방법에 관한 것으로, 동일한 방법을 실현하는 디스크 기억 제어 시스템을 구축하는 것을 목적으로 한다.
본 발명은 N대의 디스크 장치로 구성되는 디스크 기억 장치에 있어서, N×K(정수)개의 논리 블럭에 상당하는 용량을 가지는 기록 버퍼(6)를 구비하고, 이 기록 버퍼에 갱신해야 할 데이터의 논리 블럭을 축적하며, 제어 장치(1)는 그 축적한 논리 블럭이 N×K-1개에 이를 때까지 그 논리 블럭의 데이터 갱신을 지연시키고, 기록 버퍼에 축적된 각 논리 블럭에 대한 논리 어드레스로 구성되는 논리 어드레스 태그 블럭을 생성하여, N×K-1개의 논리 블럭에 상기 논리 어드레스 태그 블럭을 더한 N×K개의 논리 블럭을 N대의 디스크 장치상에 갱신되어야 할 데이터를 유지하고 있는 영역과는 별도의 빈 영역에 연속하여 순차 기록한다.
Description
본 발명은, 특히, RAID(Redundant Array of Inexpensive Disk) 등, 복수대의 디스크 기억 장치를 사용한 디스크 어레이 기억 장치에 관한 것으로, 특히, 디스크 어레이 기억 장치의 데이터 기억 판독 방법 및 그것을 위한 제어 장치에 관한 것이다. 미국 특허 제5, 124,987호, 일본 특개평 제6-214720호, 일본 특개평 제6-266510호에 개시된 RAID 방식의 기억 장치에 있어서는 기억 장치의 고속 기록 방법으로서 구(舊)데이터의 영역을 재기록하는 것이 아니라, 갱신 데이터를 디스크 장치내의 미리 준비한 별도의 빈 영역에 정리하여 기록하고, 그 후의 빈 시간에 구데이터의 영역을 재기록하는 방법이 제안되어 있다.
도 18을 이용하여, 상술한 종래 방법에 대하여 간단히 설명한다. 도면에 있어서, 논리 블럭 어드레스(이하에서는 단지 논리 어드레스라고 한다)(L6, L4, L2, L12, L7, L11)내에 기억된 데이터 블럭을 갱신하는 경우를 생각한다. 이들 논리 블럭 어드레스(L6, L4, L2, L12, L7, L11)내의 구데이터는 3개의 디스크 장치(181, 182, 183)내의 물리 블럭 어드레스(이하에서는 단지 물리 어드레스라고 한다.)(P6, P4, P2, P12, P7, P11)에 존재한다. 우선, 갱신해야 할 새로운 데이터 블럭(L6Date, L4Date, L2Date, L12Date, L7Date, L11Date)은 통상 비휘발성 메모리에 의해 구성되는 기록 버퍼 메모리(184)에 일시적으로 기억된다. 이들 데이터 블럭은 갱신되어야 할 구데이터가 기억된 물리 블럭 어드레스(P6, P5, P2, P12)의 내용인 데이터로 직접 대체되는 대신에, 구데이터는 그대로 72, 173내의 미리 준비된 별도의 빈 영역인 물리 어드레스(P51, P52, P53, P54, P55, P56)에 정리하여 기록된다. 이 기록 동작은 3개의 디스크 장치(181, 182, 183)내의 연속하는 물리 어드레스(P51-P52, P53-P54, P55-P56)에의 기록이기 때문에, 직접 재기록을 행하는 경우에는 6회의 기록 조작이 필요한 데 반하여, 실질적으로 3회의 기록 조작으로 줄어 기록 성능이 크게 향상된다.
한편, 이러한 종래의 디스크 어레이 기억 장치에 있어서는, 데이터 블럭이 기억되는 논리 어드레스와 물리 어드레스와의 대응 관계를 나타내는 테이블인 간접 맵(185)이 마련되어 있다. 그리고 데이터의 갱신에 있어서는, 상기한 바와 같이, 논리 어드레스(L6, L5, L2, L12, L7, L11)내의 최신 데이터는 실제로 디스크 장치내의 물리 어드레스(P51, P52, P53, P54, P55, P56)에 존재하기 때문에, 간접 맵의 내용을 정확한 디스크 위치로 가리키도록 재기록한다. 즉, 논리 어드레스(L6)내의데이터 블럭은 원래 디스크 장치(181)내의 물리 어드레스(P6)내에 없으면 안되는 것이지만 실제로는 물리 어드레스(P51)내에 기억되어 있기 때문에, 간접 맵(185)내의 논리 어드레스(L6)에 대응하는 물리 어드레스(P6)는 P51에 재기록된다. 이하 마찬가지로, 간접 맵(185)내의 논리 어드레스(L5, L2, L12, L7, L11)에 대응하는 물리 어드레스는 P52, P53, P54, P55, P56에 각각 재기록된다.
또한, 디스크 어레이 기억 장치에 기억된 데이터를 판독할 때에는, 간접 맵(185)에 의해 지정된 논리 어드레스에 대응하는 최신의 데이터 블럭이 기억되어 있는 물리 어드레스를 구하여 판독하기 때문에, 구데이터를 판독할 위험성은 없다.
또, 도 18에 도시한 예에서는 설명을 간단히 하기 위해서, 1대의 디스크 장치에 기억되는 데이터 블럭으로서 2블럭밖에 기록되어 있지 않지만, 실제로는 10블럭이 기록된다.
상술한 종래 기술에 있어서는, 간접 맵에 의해 최신 데이터의 위치 정보를 관리하고 있었기 때문에, 간접 맵의 장해나 오조작에 의해 그 데이터가 없어지면, 디스크 장치내의 모든 데이터가 상실된다고 하는 데이터 보전성의 문제가 있었다. 또한, 모든 논리 블럭에 대하여 간접 맵을 준비할 필요가 있고 대용량, 또한 전원 장해에 대비하여 간접 맵을 유지하는 데 비휘발성 메모리가 필요하였기 때문에, 간접 맵이 대단히 고가가 되는 문제도 있었다.
본 발명은 상기한 문제를 해결하기 위하여 이루어진 것으로서, 간접 맵을 원리적으로 필요로 하지 않는 염가이고 고속인 디스크 기억 장치의 데이터 갱신 방법및 디스크 기억 제어 시스템을 제공하는 것을 목적으로 한다.
도 1은 본 발명의 실시예를 도시한 블럭도.
도 2는 본 발명 실시예에 있어서의 기록 버퍼와 버퍼 관리 정보의 관계를 도시하는 도면.
도 3은 본 발명의 실시예에 있어서의 디스크 장치의 빈 영역에 저장되는 내용을 도시한 도면.
도 4는 호스트 기기로부터 1블럭 사이즈의 데이터 기록 순서를 도시하는 도면.
도 5는 도 4의 예에 있어서의 스트라이프(ST1, ST2)의 논리 어드레스 태그(TG1/TG2)의 내용을 도시한 도면.
도 6은 스트라이프(ST3/ST4)를 1개의 스트라이프(ST5)로 통합하는 예를 도시한 도면.
도 7은 스트라이프 통합에 있어서, 논리 어드레스 태그(TG3/TG4)로부터 논리 어드레스 태그(TG5)를 작성하는 경우의 예를 도시한 도면.
도 8은 본 발명의 실시예에 있어서 사용되는 변환 맵의 구성예를 도시한 도면.
도 9는 시스템 기동시에 있어서의 변환 맵(32)의 작성 방법을 설명하는 순서도.
도 10은 스트라이프에 의해 논리 어드레스 태그가 저장되는 디스크 장치를 4대에 분산 배치한 예를 도시한 도면.
도 11은 세그먼트 분할에 있어서의 디스크 장치의 기억 영역의 할당을 도시한 도면.
도 12는 세그먼트 관리 정보의 엔트리 구성을 도시한 도면.
도 13은 논리 어드레스 태그를 연속하여 저장하는 전용 태그 영역의 내용을 도시한 도면.
도 14는 본 발명을 적용하여 구성한 RAID5에 의한 디스크 장치의 실시예를 도시한 블럭도.
도 15는 도 13에 도시한 실시예의 동작 개념을 도시한 도면.
도 16은 2개의 디스크 장치에 동일한 논리 어드레스 태그를 기록하여 제어하는 예를 도시한 도면.
도 17은 변환 맵 작성의 고속화를 위하여 전용 태그 영역을 할당하여 사용하는 경우의 예를 도시한 도면.
도 18은 종래예에 있어서의 데이터 갱신 방법을 실현하기 위한 시스템 구성을 도시한 도면.
<도면의 주요 부분에 대한 부호의 설명>
1: 제어 장치
2: 디스크 장치
3: 휘발성 메모리
4: 비휘발성 메모리
5: 호스트 기기
31: 타임 스탬프
32: 변환 맵
41: 기록 버퍼
42: 버퍼 관리 테이블
본 발명의 디스크 기억 장치의 데이터 갱신 방법은 N대의 디스크 장치와, 호스트 기기로부터의 명령에 의해 N대의 디스크 장치로의 데이터의 기록 또는 N대의 디스크 장치로부터의 데이터의 판독을 행하는 제어 장치와, 이 제어 장치에 접속되고 타임 스탬프 기억부 및 변환 맵 기억부를 포함하는 휘발성 메모리와, 제어 장치에 접속되고 N×K(정수)개의 논리 블럭의 데이터에 상당하는 기억 용량을 가지는 기록 버퍼 기억부 및 버퍼 관리 테이블 기억부를 포함하는 비휘발성 메모리로 구성되는 디스크 기억 장치를 구비하고, 기록 버퍼에 갱신해야 할 논리 블럭의 데이터를 논리 블럭수가 N×K-1개에 이를 때까지 축적함과 동시에, 이들 각 논리 블럭에 대한 논리 어드레스 및 타임 스탬프 기억부에 기억된 타임 스탬프를 포함하는 논리 어드레스 태그 블럭을 생성하여, 이것을 N×K-1개의 논리 블럭에 더하고, 전체적으로 N×K개의 논리 블럭으로서 상기 N대의 디스크 장치상의 갱신되어야 할 데이터를 각각 유지하고 있는 논리 어드레스 영역과는 별도의 빈 어드레스 영역에 연속하여 순차 기록하는 것을 특징으로 한다.
본 발명의 디스크 기억 장치의 데이터 갱신 방법에 있어서, 기록은 복수의 디스크 기억 장치에 걸쳐지는 스트라이프 영역에 기록되는 것을 특징으로 한다.
본 발명의 디스크 기억 장치의 데이터 갱신 방법에 있어서, 타임 스탬프 기억부는 기록 버퍼에 축적한 N×K개의 논리 블럭이 N대의 디스크 장치에 기록될 때마다 증가되는 것을 특징으로 한다.
본 발명의 디스크 기억 장치의 데이터 갱신 방법에 있어서, 디스크 장치에 기록된 각 스트라이프 영역의 논리 어드레스 태그 블럭을 판독하고, 이것을 검사함으로써, 각 논리 어드레스에 대응하는 디스크 장치상의 물리적인 기억 위치를 검출하고, 검출된 기억 위치에 대하여 기록 또는 판독을 행하는 것을 특징으로 한다.
본 발명의 디스크 기억 장치의 데이터 갱신 방법에 있어서, 논리 어드레스 태그 블럭의 검사에 있어서는 동일한 논리 어드레스를 포함하는 스트라이프 영역이 복수인 경우, 논리 어드레스 태그 블럭내의 타임 스탬프가 최신 스트라이프의 논리 어드레스 블럭을 유효 블럭으로 하고, 다른 스트라이프 영역의 동일한 논리 어드레스를 가지는 블럭을 무효 블럭이라고 판정하는 것을 특징으로 한다.
본 발명의 디스크 기억 장치의 데이터 갱신 방법에 있어서, 논리 어드레스 블럭의 검사에 있어서는 최대의 타임 스탬프 값을 찾아내어 다음의 기록에 부가하는 타임 스탬프를 재생하는 것을 특징으로 한다.
본 발명의 디스크 기억 장치의 데이터 갱신 방법에 있어서, 논리 어드레스 태그 블럭의 검사에 있어서는 최소의 타임 스탬프 값을 찾아내어 기록 순서의 판정 기준이 되는 타임 스탬프 값을 구하는 것을 특징으로 한다.
본 발명의 디스크 기억 장치의 데이터 갱신 방법에 있어서, 디스크 기억 장치에 기억된 복수의 스트라이프 영역의 논리 블럭의 데이터를 판독하고, 논리 어드레스 태그 블럭의 검사를 행함으로써, 각 스트라이프 영역내의 유효 논리 블럭만을 기록 버퍼에 옮기고, 이들 유효 논리 블럭에 대응하는 새로운 논리 어드레스 태그 블럭을 생성하며, 기록 버퍼에 옮겨진 유효 데이터와 새로 생성된 논리 어드레스태그로 구성되는 1스트라이프분의 논리 블럭을 판독된 복수의 스트라이프 영역과는 별도의 빈 영역에 순차 기록함으로써, 디스크 기억 장치상에 논리 블럭을 연속하여 기록할 수 있는 빈 영역을 작성하는 것을 특징으로 한다.
본 발명의 디스크 기억 장치의 데이터 갱신 방법에 있어서, 새로운 논리 어드레스 태그 블럭을 생성할 때, 유효 블럭수가 N×K-1개에 미치지 않는 경우는 새로운 논리 어드레스 태그 블럭내의 데이터가 저장되지 않은 블럭에 대응한 논리 어드레스에는 널(NULL) 어드레스를 설정하는 것을 특징으로 한다.
본 발명의 디스크 기억 장치의 데이터 갱신 방법에 있어서, 디스크 장치의 빈 영역에 데이터를 기록한 후, 디스크 장치의 기동시에 복수의 스트라이프 영역의 논리 어드레스 태그 블럭의 검사를 행함으로써 유효라고 판단된 각 논리 어드레스에 대한 스트라이프 번호, 스트라이프내의 블럭 번호, 유효 데이터의 타임 스탬프를 상기 변환 맵에 기록하는 것을 특징으로 한다.
본 발명의 디스크 기억 장치의 데이터 갱신 방법에 있어서, 변환 맵에 기록 작성후, 디스크 장치에 접근이 적은 시간대에 각 스트라이프의 논리 어드레스 태그 블럭을 판독하여 변환 맵과 비교 정정을 행하는 것을 특징으로 한다.
본 발명의 디스크 기억 장치의 데이터 갱신 방법에 있어서, 논리 어드레스 태그 블럭이 기록되는 디스크 장치를 스트라이프에 의해 분산 배치하고 논리 어드레스 태그 블럭의 검사시, 다른 디스크 장치의 논리 어드레스 태그 블럭을 병렬로 판독하는 것을 특징으로 한다.
본 발명의 디스크 기억 장치의 데이터 갱신 방법에 있어서, 논리 어드레스태그는 각 스트라이프 영역에 논리 블럭 데이터와 동시에 순차 기록되고, 전용 태그 영역에도 동시에 병렬로 기록되며, 논리 어드레스 태그 블럭의 검사시에는 이 전용 태그 영역을 순차 판독하여 조사하는 것을 특징으로 한다.
본 발명의 디스크 기억 장치의 데이터 갱신 방법에 있어서, 디스크 장치상의 기억 영역을 복수 라인의 스트라이프를 단위로 하는 복수의 세그먼트로 분할하고, 일정 기간에는 1개의 세그먼트에만 스트라이프 데이터가 기록되도록 제어함과 동시에, 기록 대상 세그먼트를 전환할 때에는 그 시점의 변환 맵의 내용과 전환처의 세그먼트 번호를 디스크 장치에 기록하고, 이후의 변환 맵 작성시에는 세그먼트 전환시의 변환 맵의 내용 및 디스크 장치에 기록된 세그먼트 번호내의 스트라이프 영역에 기록된 논리 어드레스 태그 블럭만을 검사하는 것을 특징으로 한다.
본 발명의 디스크 기억 장치의 데이터 갱신 방법에 있어서, 비휘발성 메모리상에 세그먼트내의 각 스트라이프에 대응한 비트 맵을 준비하고, 기록 대상 세그먼트를 전환할 때에는 이 비트 맵을 클리어하며, 스트라이프 영역에의 데이터 기록시에는 기록한 스트라이프 영역에 대응한 비트를 세트하고, 변환 맵 작성시에는 디스크 장치의 세그먼트 전환시의 변환 맵 및 상기 디스크 장치에 기록된 세그먼트 번호의 논리 어드레스 태그 중에서 비트 맵이 세트되어 있는 것만 검사하는 것을 특징으로 한다.
본 발명의 디스크 기억 장치의 데이터 갱신 방법에 있어서, 타임 스탬프의 최소치를 진행시키기 위해서, 무효 블럭이 적은 스트라이프에 대하여도 정기적으로 판독하여 유효 블럭만을 상기 기록 버퍼에 옮기고, 대응하는 논리 태그 블럭내의논리 어드레스와 새로운 타임 스탬프로부터 논리 어드레스 태그 블럭을 생성하며, 기록 버퍼의 유효 데이터와 생성된 논리 어드레스 태그 블럭으로 구성되는 스트라이프를 판독한 스트라이프를 유지하고 있는 영역과는 별도의 빈 영역에 순차 기록하는 것을 특징으로 한다.
본 발명의 디스크 기억 장치의 데이터 갱신 방법에 있어서, 타임 스탬프의 최소치를 진행시키기 위해서, 무효 블럭이 적은 스트라이프에 대하여 정기적으로, 논리 어드레스 태그 블럭만을 판독하여 무효 블럭의 논리 어드레스를 빈 어드레스로 한 새로운 타임 스탬프를 부가한 논리 어드레스 태그 블럭을 생성하고, 여기서 생성된 논리 어드레스 태그 블럭을 판독한 논리 어드레스 태그 블럭에 덮어쓰기하는 것을 특징으로 한다.
본 발명의 디스크 기억 장치의 데이터 갱신 방법에 있어서, 변환 맵 작성후, 디스크 장치상의 논리 어드레스 태그 블럭의 타임 스탬프와 대응하는 변환 맵의 타임 스탬프를 비교하여 무효 블럭을 판정하는 것을 특징으로 한다.
본 발명의 디스크 기억 장치의 데이터 갱신 방법은 N대의 디스크 장치로 구성되는 디스크 기억 장치에 있어서, (N-1)×K개의 논리 블럭에 상당하는 용량을 가지는 기록 버퍼를 구비하고, 이 기록 버퍼에 갱신해야 할 데이터의 논리 블럭을 축적하며, 그 축적한 논리 블럭이 선택한 개수에 이를 때까지 그 논리 블럭의 갱신을 지연시키고, 기록 버퍼에 축적된 각 논리 블럭에 대한 논리 어드레스로 구성되는 논리 어드레스 태그 블럭을 생성하여 선택한 개수의 논리 블럭에 논리 어드레스 태그 블럭을 더한 (N-1)×K개의 데이터 논리 블럭으로부터 K개의 패리티 블럭을생성하고, 이 데이터 논리 블럭에 패리티 블럭을 더한 N×K개의 논리 블럭을 N대의 디스크 장치상의 갱신되어야 할 데이터를 유지하고 있는 영역과는 별도의 빈 영역에 연속 기록 조작으로 순차 기록하는 것을 특징으로 한다.
본 발명의 디스크 기억 장치의 데이터 갱신 방법에 있어서, 선택한 개수로서 (N×1)×K-1로 하고, 1개의 디스크 장치에 논리 어드레스 태그 블럭이 기록되도록 하는 것을 특징으로 한다.
본 발명의 디스크 기억 장치의 데이터 갱신 방법에 있어서, 선택한 개수로서 (N-1)×K-2로 하고, 1패리티 스트라이프로 2개의 디스크 장치에 논리 어드레스 태그 블럭이 기록되도록 2개의 논리 어드레스 태그 블럭을 할당하는 것을 특징으로 한다.
본 발명의 디스크 기억 장치의 데이터 갱신 방법에 있어서, 디스크 장치에 기록된 논리 어드레스 태그 블럭을 검사하는데, 패리티 스트라이프 단위의 순차 기록에 추가로, 논리 어드레스 태그를 모은 전용 태그 영역에도 그 논리 어드레스 태그를 기록하고, 이 전용 태그 영역의 기록 데이터는 패리티로 보호하지 않는 대신에, 패리티 스트라이프내의 논리 어드레스 태그가 기록되는 디스크 장치와 전용 태그 영역의 논리 어드레스 태그가 기록되는 디스크 장치가 다르도록 전용 태그 영역을 할당하는 것을 특징으로 한다.
본 발명의 디스크 기억 제어 장치는 N대의 디스크 장치와, 호스트 기기로부터의 명령에 의해 N대의 디스크 장치에의 데이터의 기록 또는 N대의 디스크 장치로부터의 데이터의 판독을 행하는 제어 장치와, 이 제어 장치에 접속되고 타임 스탬프 기억부 및 변환 맵 기억부를 포함하는 휘발성 메모리와, 제어 장치에 접속되고 N×K(정수)개의 논리 블럭의 데이터에 상당하는 기억 용량을 가지는 기록 버퍼 기억부 및 버퍼 관리 테이블 기억부를 포함하는 비휘발성 메모리로 구성되는 디스크 기억 장치를 구비하고, 상기 기록 버퍼에 갱신해야 할 논리 블럭의 데이터를 논리 블럭수가 N×K-1개에 이를 때까지 축적함과 동시에, 이들 각 논리 블럭에 대한 논리 어드레스 및 타임 스탬프 기억부에 기억된 타임 스탬프를 포함하는 논리 어드레스 태그 블럭을 생성하여 이것을 N×K-1개의 논리 블럭에 더하고, 전체적으로 N×K개의 논리 블럭으로서 N대의 디스크 장치상의 갱신되어야 할 데이터를 각각 유지하고 있는 논리 어드레스 영역과는 별도의 빈 어드레스 영역에 연속하여 순차 기록하는 것을 특징으로 한다.
본 발명의 디스크 기억 제어 장치에 있어서, 기록의 시간적 순서를 유지하는 타임 스탬프가 저장되는 휘발성 메모리와, 디스크 장치에 기록해야 할 데이터를 로그 구조화하여 유지하는 기록 버퍼 및 기록 버퍼내의 빈 영역 및 유지되어 있는 기록 데이터의 논리 어드레스 정보를 유지하는 버퍼 관리 정보가 저장되는 비휘발성 메모리를 구비하는 것을 특징으로 한다.
본 발명의 디스크 기억 제어 장치는, 또한 N대의 디스크 장치로 구성되는 디스크 기억 장치와, (N-1)×K개의 논리 블럭에 상당하는 용량을 가지는 기록 버퍼와, 이 기록 버퍼에 갱신해야 할 데이터의 논리 블럭을 축적하고, 그 축적한 논리 블럭이 선택한 개수에 이를 때까지 그 논리 블럭의 갱신을 지연시키며, 상기 기록 버퍼에 축적된 각 논리 블럭에 대한 논리 어드레스로 구성되는 논리 어드레스 태그블럭을 생성하여, 선택한 개수의 논리 블럭에 상기 논리 어드레스 태그 블럭을 더한 (N-1)×K개의 데이터 논리 블럭으로부터 K개의 패리티 블럭을 생성하고, 이 데이터 논리 블럭에 패리티 블럭을 더한 N×K개의 논리 블럭을 N대의 디스크 장치상의 갱신되어야 할 데이터를 유지하고 있는 영역과는 별도의 빈 영역에 연속된 기록 조작으로 순차 기록하는 제어 장치를 구비하는 것을 특징으로 한다.
본 발명의 디스크 기억 제어 장치에 있어서, 패리티를 이용한 장황성 디스크 구성을 취하기 위해서 장황 디스크 장치를 부가하고, 기록의 시간적 순서를 유지하는 타임 스탬프가 저장되는 휘발성 메모리와, 디스크 장치에 기록해야 할 데이터를 로그 구조화하여 유지하는 기록 버퍼, 기록 버퍼내의 빈 영역 및 유지된 기록 데이터의 논리 어드레스 정보를 유지하는 버퍼 관리 정보가 저장되는 비휘발성 메모리를 구비하는 것을 특징으로 한다.
상기한 구성을 취함으로써, 간접 맵을 원리적으로 필요로 하지 않는 염가이고 고속인 디스크 기억 장치 및 디스크 기억 제어 시스템을 구축할 수 있다.
도 1은 본 발명을 적용하여 구성한 디스크 기억 장치의 개념 구성도이다. 본 발명의 디스크 기억 제어 시스템은 제어 장치(1), 디스크 장치(2), 휘발성 메모리(3), 비휘발성 메모리(4)로 구성된다. 디스크 장치(2)는 복수대의 디스크 기억 장치로 구성되어 있지만, 이 실시예에서는 설명을 간단히 하기 위해서, 4대(21, 22, 23, 24)로 구성되는 것으로 하여 설명한다. 휘발성 메모리(3)에는 기록의 시간적 순서를 기억하기 위한 타임 스탬프 영역(31) 및 간접 맵 기억 영역(32)이 마련되어 있다. 비휘발성 메모리(4)에는 디스크 장치(2)에 기록하는 데이터를 로그 구조화하여 유지하는 기록 버퍼 영역(41), 기록 버퍼 영역(41)내의 빈 영역 및 유지되어 있는 기록 데이터의 논리 어드레스의 정보를 유지하는 버퍼 관리 테이블(42)이 마련되어 있다. 제어 장치(1)는 호스트 기기(5)로부터의 명령에 기초하여, 이들 타임 스탬프 영역(31), 기록 버퍼 영역(41), 버퍼 관리 테이블(42)을 관리하고, 디스크 장치(2)의 기록을 제어한다.
도 2에 비휘발성 메모리(4)에 할당되는 기록 버퍼 영역(41)과 버퍼 관리 테이블(42)의 관계를 도시한다. 제어 장치(1)는 외부로 접속되는 호스트 기기로부터 요구된 기록 데이터를 디스크 장치(2)에 대하여 직접 기록하지 않고, 기록 버퍼 영역(41)에 블럭 단위로 분할하여 이들을 차례로(로그 형식으로) 저장한다. 여기서, 버퍼 관리 테이블(42)은 복수의 엔트리로 이루어지는 테이블을 구성하고, 이들 각 엔트리에는 기록해야 할 각 데이터 블럭의 호스트 기기로부터 본 논리 어드레스를 기록 버퍼 영역(41)내의 각 블럭 위치(B0, B1…B15)와 대응시키면서 보존한다. 버퍼 관리 테이블(42)내의 각 엔트리에는 그 엔트리에 데이터가 할당된 것을 나타내는 플래그 "F"를 세우고, 데이터가 할당되어 있지 않는 엔트리에는 플래그 "U" 를 세운다.
도 2에 도시한 예에서는, 기록 버퍼 영역(41)내의 각 블럭 위치(B9)까지 기록 데이터가 저장되어 있고, B0, B1, …, B9의 논리 어드레스가 LA134, LA99, …, LA678인 것을 나타내고 있다.
또한, 디스크 장치(2)의 각 디스크 기억 장치(21∼24)에 대해서는, 스트라이프 유닛이라고 불리는 기억 영역을 단위(그 디스크 장치의 1트랙 길이에 가까운 사이즈가 좋다.)로 하여, 블럭 사이즈의 정수(K)배, 즉 K개의 블럭에 상당하는 길이의 데이터의 기록을 행한다. 그리고 각 디스크 기억 장치(21∼24)가 물리적으로 동일한 위치의 스트라이프 유닛은 전체적으로 1개의 스트라이프 영역(ST)으로 하여 동일한 타이밍으로 기록이 행하여진다.
또한, 디스크 장치(2)는 그것을 구성하는 복수대의 디스크 장치(21∼24)를 합친 실제의 기억 용량보다도 적은 용량의 디스크 장치로서 호스트 기기(5)에 나타내고 있다. 즉, 호스트 기기(5)에 최초로 기억 용량을 문의하여 올 때, 그 응답으로서 적은 용량을 돌려준다. 따라서, 호스트 기기(5)로부터 논리적으로 판독 기록을 할 수 있는 기억 영역 외에 여분의 기억 영역, 즉 빈 영역이 확보되게 된다.
더욱이, 타임 스탬프(31)는 호스트 기기(5)로부터의 기록 데이터가 실제로 디스크 장치(2)에 기록될 때에 부가되는 정보이고, 디스크 장치(2)내로의 데이터 기록 순서를 판정하는 데 이용된다. 따라서, 기록 버퍼 영역(41)의 데이터가 디스크 장치(2)에 기록될 때마다 타임 스탬프(31)가 증가된다.
이어서, 도 1에 도시한 본 발명의 실시예의 동작에 대하여 도 2 내지 도 8을 참조하면서 상세히 설명한다.
우선, 기록 동작부터 설명한다. 호스트 기기(5)로부터 기록해야 할 데이터와 그 논리 어드레스를 받아들인 제어 장치(1)는 도 2에 도시한 바와 같이, 비휘발성 메모리(4)상의 기록 버퍼 영역(41)의 빈 영역에 데이터를 블럭 단위로 분할하여, 순차적으로 연속하여 저장한다. 또, 도 2에 있어서 기록 버퍼 영역(41)은 B0, B1,∼, B15로 이루어지는 15개의 블럭 길이에 상당하는 빈 영역에 순차적으로 연속하여 기록된다.
또한, 받아들인 논리 어드레스는 블럭마다의 어드레스로 변환하여, 버퍼 관리 테이블(42)의 대응하는 엔트리(B0, B1,~, B15)에 저장한다. 또, 이미 기록 버퍼 영역(41)에 저장되어 있는 데이터에 대한 갱신 데이터의 경우에는, 기록 버퍼 영역(41)의 빈 영역에 순차 저장하는 것이 아니라, 직접 기록 버퍼 영역(41)내의 구데이터를 변경한다.
호스트 기기(5)로부터의 기록 데이터가 디스크 장치(2)의 1스트라이프(ST)분의 영역에 대하여 1블럭만큼 적은 수, 즉 (4K-1)만 기록 버퍼 영역(41)에 저장된 단계에서, 제어 장치(1)는 그들 데이터를 디스크 장치(2)에 기록한다. 도 2에 있어서 K=4, 즉 15개의 블럭만 기록 버퍼 영역(41)에 저장된 단계에서, 디스크 장치(2)에 기록한다. 이 때, 최후의 기록 블럭으로서, 버퍼 관리 정보(42)내의 기록 관리 테이블에 저장된 각 블럭의 논리 어드레스와 휘발성 메모리(3)상의 타임 스탬프(31)로부터 도 3에 도시한 바와 같은 논리 어드레스 태그 블럭(LA-TAG)을 작성한다. 이 논리 어드레스 태그 블럭내의 어드레스 데이터와 데이터 블럭 사이에는 1 대 1의 관계가 미리 설정되어 있어, 각 데이터 블럭의 논리 어드레스를 알 수 있도록 되어 있다.
그 후, 도 3에 도시하는 바와 같이, 이 논리 어드레스 태그 블럭을 더한 1스트라이프분의 데이터를 정리하여 디스크 장치(21∼24)의 빈 영역에 동시에 기록한다. 도 3에 있어서는, 디스크 장치(21∼24)의 1스트라이프(ST)분의 빈 영역은 4개의 유닛 스트라이프(D1∼D4)로 표시되고, 이들 각 유닛 스트라이프(D1∼D4) 영역에기록되는 4개의 데이터 블럭의 논리 어드레스가 표시된다. 또, 도 1의 타임 스탬프(31)의 값은 기록이 완료된 단계에서 증가된다. 이와 같이, 다수의 미세한 디스크 기록을 1회에 정리할 수 있기 때문에, 디스크 기록 성능이 크게 향상한다.
이어서, 데이터 블럭의 보충 처리에 대하여 설명한다. 본 발명이 대상으로 하는 디스크 기록 방법, 즉 구데이터의 영역을 직접 재기록하는 것이 아니라, 갱신 데이터를 저장하여 두고 디스크 장치(2)내의 미리 준비한 별도의 빈 영역에 정리하여 기록하는 방법에서는, 디스크 장치(2)내에 저장된 데이터를 정리하여 기록하기 위한 빈 영역이 항상 존재하는 것이 필수적이다. 그 때문에, 호스트 기기(5)로부터의 디스크 접근이 행하여지고 있지 않는, 빈 시간에 이미 다른 영역에 데이터가 기록되어 무효로 된 데이터를 한데 모아서 빈 영역을 만들 수 있다. 이 처리를 보충 처리라고 부른다. 이 보충 처리는 무효 블럭 판정과 스트라이프 통합의 2개의 단계로 이루어진다.
무효 블럭 판정의 예로서, 도 4에 도시한 순서로 호스트 기기(5)로부터 1블럭 사이즈의 데이터 기록이 있는 경우를 생각한다. 도면중의 L××는 호스트로부터 인도되는 논리 어드레스, S××는 기록 순서를 나타낸다. 본 발명의 실시예에서는 기록 버퍼 영역(41)은 15블럭의 데이터를 유지할 수 있기 때문에, 최초의 S1∼S15의 기록 데이터가 1개의 스트라이프(ST1)로 정리되고, 타임 스탬프(TS1)가 부가되어 디스크 장치의 빈 영역에 기록된다. 마찬가지로, S16∼S30의 기록 데이터는 별도의 스트라이프(ST2)로서 타임 스탬프(TS2)가 부가되어 별도의 빈 영역에 기록된다. 또, 기록마다 타임 스탬프(31)는 증가되기 때문에 TS1<TS2의 관계가 있다.
여기서, 도면에서 알 수 있는 바와 같이 논리 어드레스(L9, L18)의 데이터는 타임 스탬프(TS1)의 스트라이프에서는 S5, S2로서, 타임 스탬프(TS2)의 스트라이프에서는 S19, S21의 블럭으로서 중복하여 존재한다. 즉, 동일한 논리 어드레스(L9, L18)에 기록되어야 할 데이터가 2개 존재하게 된다. 그러나, 데이터 블럭이 기록된 순서를 생각하면, 뒤에서부터 기록된 S19, S21의 데이터 블럭이 유효하여 따라서 S5, S2의 데이터는 무효라고 판정되지 않으면 안된다.
그런데, 여기서 편의상 사용한 기록 순서 S××는 실제의 디스크상에 기록되어 있지 않다. 그래서, 각 스트라이프에 부가한 논리 어드레스 태그를 사용하여 이 판정을 행한다. 도 4의 예에 있어서, 2개의 스트라이프(ST1, ST2)의 논리 어드레스 태그(TG1, TG2)의 내용은 도 5와 같다. 즉, 논리 어드레스 태그(TG1, TG2)는 기록 버퍼 영역(41)에 기록되는 15개의 블럭(B0, B1,~, B15)에 대응하는 기억 영역에 각 블럭의 논리 어드레스가 기억되고, 16번째의 기억 영역에 스트라이프(ST1, ST2)의 각각이 기록될 때의 타임 스탬프(TS1, TS2)가 각각 기록된다.
도면에서 알 수 있는 바와 같이, 2개의 논리 어드레스 태그(TG1, TG2)에 동일한 논리 어드레스(L9, L18)의 데이터가 포함되고, 스트라이프(ST1)의 블럭(B5, B2)과 스트라이프(ST2)의 블럭(B4, B6) 중 한쪽 데이터는 무효이다. 더욱이, 논리 어드레스 태그(TG1)의 타임 스탬프(TS1)와 논리 어드레스 태그(TG2)의 타임 스탬프(TS2)를 비교하면, TS1<TS2의 관계에 있기 때문에, 스트라이프(ST1)의 블럭(B5, B2)이 무효라는 것을 판정할 수 있다. 이상 설명한 바와 같이, 디스크 장치(2)내의 논리 어드레스 태그를 조사함으로써 무효인 데이터 블럭을 발견할 수 있다.
도 6은 스트라이프 통합의 예를 도시한 도면으로서, 2개의 스트라이프(ST3, ST4)를 1개의 스트라이프(ST5)로 통합하는 경우를 도시하고 있다. 동일한 도면에 있어서, 스트라이프(ST3)에서 B2, B7, B8, B12, B13의 5블럭이 유효하고, 다른 10블럭은 무효(해칭)라고 가정한다. 마찬가지로, 스트라이프(ST4)에서 블럭(B18, B19, B20, B21, B22, B24, B25, B27, B29)의 9블럭이 유효하고 다른 6블럭이 무효(해칭)로 한다. 따라서 2개의 스트라이프(ST3, ST4) 중, 유효 블럭은 합쳐서 14블럭밖에 없기 때문에, 이들 2개의 스트라이프(ST3, ST4)의 유효 블럭만을 취출하여 1개의 스트라이프(ST5)로 통합함으로써, 결과적으로 1개의 스트라이프에 상당하는 빈 영역을 만들 수 있다.
스트라이프 통합의 구체적인 방법은 도 6에 도시한 2개의 스트라이프(ST3, ST4)를 휘발성 메모리(3)내에 판독하고, 이들 2개의 스트라이프(ST3, ST4)의 유효 블럭만을 취출하여 이들을 연속적으로 기록 버퍼 영역(41)에 옮긴다. 그것에 맞추어, 논리 어드레스 태그도 도 7에 도시된 바와 같이, TG3, TG4로부터 유효 블럭의 논리 어드레스만을 대응하는 위치에 옮기고, 새로운 논리 어드레스 태그(TG5)를 작성하여 그 시점의 타임 스탬프를 ST5로 갱신한다.
이 예에서는 14개의 유효 블럭밖에 없기 때문에, 호스트 기기(5)로부터 1개의 기록 블럭이 공급되는 것을 기다렸다가 스트라이프를 완성시켜 디스크 장치(2)의 빈 영역에 정리하여 기록한다. 이 경우, 디스크 영역은 효율적으로 활용되지만, 호스트 기기(5)로부터 기록 블럭의 공급을 기다리기 때문에, 디스크에 접근을 집중시켜버릴 위험성이 있다. 그래서, 최후의 데이터 블럭은 빈 상태인 채로 접근이 비어 있는 사이에 기록해 버리는 것도 가능하다. 이 때, 논리 어드레스 태그(TG5)의 최후의 데이터 블럭에 대한 논리 어드레스에는 -1 등 NULL 어드레스를 입력함으로써 데이터가 입력되어 있지 않다는 것을 나타낼 수 있기 때문에 문제는 없다.
이어서, 이와 같이 기록된 데이터 블럭의 판독 동작에 대하여 설명한다. 보충 처리의 무효 블럭 판정을 디스크 장치(2)내의 모든 스트라이프의 논리 어드레스 태그에 대하여 행함으로써, 모든 논리 어드레스에 대한 유효 블럭의 물리적 위치를 검출할 수 있다. 따라서, 원리적으로는 호스트 기기(5)로부터 판독 블럭의 논리 어드레스를 받아들일 때마다 모든 스트라이프의 체크를 행함으로써, 판독해야 할 물리 블럭을 찾아 낼 수 있다. 그러나, 이 방법에서는 블럭 판독에 방대한 시간이 걸려 실용적이지 못하다.
그래서, 시스템 기동시에만 모든 스트라이프의 논리 어드레스 태그의 조사를 행하고, 도 1에 도시한 휘발성 메모리(3)상에 논리 어드레스로부터 물리 어드레스로의 변환 맵(32)을 만든다. 호스트 기기(5)로부터의 판독 요구에 대해서는 이 변환 맵(32)을 사용하여 유효 블럭에의 접근을 행한다. 이것에 의해, 호스트 기기(5)로부터의 판독 요구시마다, 어드레스 태그의 조사를 행하지 않아도 좋고, 판독시에 성능이 크게 저하하지 않는다. 또한, 이 변환 맵(32)은 언제라도 모든 스트라이프를 조사함으로써 재생할 수 있기 때문에, 종래의 간접 맵과 같이 전원 장해에 대비하여 비휘발성 메모리(4)에 저장할 필요도 없다.
여기서, 변환 맵(32)에 대하여 도 8을 이용하여 설명한다. 변환 맵(32)은 도면에 도시된 바와 같이, 각 논리 어드레스(L0∼Ln)에 대한 블럭이 저장되어 있는 스트라이프 번호(ST#)와 그 스트라이프내의 블럭 번호(BLK#) 및 그 타임 스탬프(TS#)를 테이블 형식으로 유지하고 있다. 따라서, 논리 어드레스(L0∼Ln)가 부여되면, 이 테이블을 색인함으로써 ST#와 BLK#로부터 간단히 실제의 물리 어드레스가 구해진다.
또한, 시스템 기동시의 변환 맵(32)의 작성은 도 9의 순서도에 도시하는 바와 같이, 디스크 장치(2)에 저장된 스트라이프(ST1, ST2, ST3…)의 논리 어드레스 태그(TG1, TG2, TG3…)를 순차 판독한다(단계 1). 이렇게 하여 판독된 논리 어드레스 태그(TG1, TG2, TG3…)내의 각 타임 스탬프(TS1, TS2, TS3…)를 취출한다(단계 2). 더욱이, 판독된 각 논리 어드레스 태그(TG1, TG2, TG3…)내의 각 논리 어드레스(LA××)를 순차 취출한다(단계 3). 취출된 논리 어드레스(LAn)와 동일한 논리 어드레스(LAn)가 변환 맵(32)내에 등록되어 있는 경우에는, 변환 맵(32)내에 등록되어 있는 논리 어드레스(LAn)의 타임 스탬프(TSn)와 취출된 논리 어드레스(LAn)의 타임 스탬프(TSm)를 비교한다(단계 4). 이 비교 결과, 취출된 논리 어드레스(LAn)의 타임 스탬프(TSi)가 변환 맵(32)내에 등록되어 있는 논리 어드레스(LAn)의 타임 스탬프(TSj)보다 새로운, 즉 TSi가 TSj보다 큰 경우는 논리 어드레스(LAn)에 대한 변환 맵(32)내에 등록되는 스트라이프 번호(ST#)로서 취출된 논리 어드레스(LAn)가 저장된 디스크 장치(2)의 스트라이프 번호(ST#)를 저장하고, 또한 이 논리 어드레스(LAn)가 저장된 스트라이프(ST#)내의 데이터 블럭의 위치(BLK#)를 저장한다(단계 5). 더욱이, 변환 맵(32)내의 논리 어드레스(LAn)에 대한 타임 스탬프(TS#)로서,취출된 논리 어드레스(LAn)에 대한 타임 스탬프(TS#)를 저장한다(단계 6). 상기 단계 4에 있어서의 비교 결과, 취출된 논리 어드레스(LAn)의 타임 스탬프(TSi)가 변환 맵(32)내에 등록되어 있는 논리 어드레스(LAn)의 타임 스탬프(TSj)보다 오래된, 즉 TSi가 TSj보다 작은 경우는, 변환 맵(32)내에 등록되어 있는 논리 어드레스(LAn)에 대한 스트라이프(ST#), 데이터 블럭의 위치(BLK#) 및 타임 스탬프(TS#)의 내용은 그대로 하고, 판독한 논리 어드레스 태그내의 모든 논리 어드레스에 대하여 동일한 처리를 실행하였는지 아닌지를 조사한다(단계 7). 모든 논리 어드레스에 대하여, 동일한 처리를 실행하지 않은 경우에는 단계 3으로 되돌아가서 단계 6까지의 처리를 반복한다. 판독한 논리 어드레스 태그내의 모든 논리 어드레스에 대하여 동일한 처리를 종료한 경우에는, 이어서 디스크 장치(2)에 저장된 모든 논리 어드레스 태그(TG1, TG2, TG3…)에 대하여 상기 처리를 행하였는지 아닌지를 조사한다(단계 8). 동일한 처리를 완료하지 않은 경우에는, 단계 3으로 되돌아가 단계 7까지의 처리를 반복한다. 그리고 동일한 처리를 종료한 경우에는, 그 시점에 있어서 남겨진 논리 어드레스에 대한 스트라이프(ST#), 데이터 블럭의 위치(BLK#) 및 타임 스탬프(TS#)의 내용을 변환 맵(32)의 등록 내용으로 한다(단계 9).
즉, 취출된 논리 어드레스 태그내의 모든 논리 어드레스에 대하여, 변환 맵(32)내 테이블의 타임 스탬프보다 논리 어드레스 태그의 타임 스탬프가 클 때만 그 스트라이프 번호와 대응하는 블럭 번호를 테이블에 등록한다. 이 조사를 모든 스트라이프에 대하여 행하면, 유효 블럭만을 나타내는 변환 맵이 작성된다. 더욱이, 디스크 장치(2)에 스트라이프를 기록할 때마다 그 논리 어드레스 태그에 대하여도 동일한 처리를 행함으로써, 이 변환 맵(32)에는 항상 유효한 블럭만이 등록되어 있다. 또한, 디스크 접근이 비어 있을 때에, 각 스트라이프의 논리 어드레스 태그와 변환 맵을 비교 검사함으로써, 메모리 장해 등으로 이 변환 맵이 부정확한 값이 되어도 검출 정정이 가능하다.
이상 설명과 같이, 변환 맵 작성의 주된 처리는 논리 어드레스 태그의 검사이다. 때문에, 대용량 디스크 장치와 같이 논리 어드레스 태그 수가 많은 경우, 전원 장해나 시스템 기동시의 변환 맵 작성에 장시간이 걸린다. 특히, 도 2에 도시된 바와 같이, 논리 어드레스 태그 블럭이 1대의 디스크 장치(24)에 집중하면, 시스템 기동시에는 이 디스크에 접근이 집중하여 논리 어드레스 태그의 조사를 병렬로 행할 수 없다. 그래서, 도 10에 도시된 바와 같이, 스트라이프에 의해 논리 어드레스 태그가 저장되는 디스크 장치를 4대에 분산하여 병렬로 논리 어드레스 태그를 조사함으로써, 이 변환 맵 작성에 요하는 시간을 1/4로 단축 가능하다.
이밖에, 디스크 장치(2)의 기억 영역을 복수의 세그먼트로 분할 관리함으로써, 변환 맵 작성에 필요한 논리 어드레스 태그의 검사수를 삭감할 수 있다. 도 11에 세그먼트 분할 방식에 있어서의 디스크 장치의 기억 영역의 구성을 나타낸다. 도면에 도시하는 바와 같이, 디스크 장치의 기억 영역은 스트라이프를 단위로서 세그먼트 관리 정보(해칭)와 4개의 세그먼트로 분할된다. 여기서, 세그먼트란 기록 버퍼 데이터의 일괄 기록이나 보충 처리의 디스크 기록이 어느 기간 집중하여 행하여지는 단위 영역을 가리키는 것이다. 예컨대, 세그먼트(2)가 디스크 기록의 대상인 동안은 세그먼트(1,3,4)에는 기록이 행하여지지 않도록 빈 영역의 선택을 제어한다.
또한, 어느 세그먼트의 빈 영역이 적어져 디스크 기록을 다른 세그먼트로 전환할 때에는 세그먼트 관리 정보를 디스크 장치에 저장한다. 세그먼트 관리 정보는 도 12에 도시하는 바와 같이, 세그먼트 번호로 전환시 변환 맵으로 구성된다. 세그먼트 번호란 전환처의 세그먼트 번호이고, 전환시 변환 맵이란 세그먼트를 전환하는 시점의 휘발성 메모리(3)상의 변환 맵의 상태이다.
또, 전환시 변환 맵은 세그먼트가 전환될 때마다 모두 덮어쓰기하는 것이 아니고, 직전의 세그먼트에 기록된 논리 어드레스의 엔트리만을 재기록하면 좋다. 따라서, 전번의 세그먼트 전환시에 타임 스탬프를 기억해 두고, 변환 맵의 타임 스탬프를 비교함으로써, 직전의 세그먼트에 기록된 논리 어드레스를 판정할 수 있다.
이 세그먼트 분할 방식에서는, 세그먼트 전환시에 세그먼트 관리 정보를 보존하고 있다. 따라서, 세그먼트 전환시의 변환 맵을 세그먼트 관리 정보로부터 판독하고, 그 후에 세그먼트 관리 정보의 세그먼트 번호로 지목되는 세그먼트의 논리 어드레스 태그만을 검사하는 것만으로, 모든 논리 어드레스 태그를 검사한 경우와 동일한 변환 맵을 재현할 수 있다. 따라서, 이 방식에 의해 필요한 논리 어드레스 태그의 검사수는 1세그먼트분이 적당하고, 이 예에서는 변환 맵의 작성에 요하는 시간을 1/4로 단축할 수 있다.
더욱이, 비휘발성 메모리(4)상에 세그먼트내의 모든 스트라이프에 대응한 비트 맵을 준비하여, 세그먼트 전환시에는 이 비트 맵을 클리어하고, 일괄 기록이나보충 기록시에는 기록한 스트라이프에 대응하는 비트를 "1"로 세트한다. 이것에 의해 세그먼트를 전환하고 나서 변경이 있는 스트라이프만이 비트 맵이 "1"이 된다. 따라서, 변환 맵 작성시에 이 비트 맵을 참조하여, 변경이 있는 스트라이프의 논리 어드레스 태그만을 검사함으로써 검사수를 더욱 줄여서 변환 맵 작성에 요하는 시간을 더욱 단축할 수 있다.
통상 논리 어드레스 태그의 사이즈는 512∼1024 바이트이고, 디스크의 순차적 접근과 임의 접근에 약 50배의 성능차가 있다. 도 2에 도시한 방식에서는 논리 어드레스 태그의 정보가 각 스트라이프마다 띄엄띄엄 존재하기 때문에, 변환 맵의 작성시에는 시간이 걸리는 임의 접근을 행하고 있었다. 그래서, 도 13에 도시하는 바와 같이, 논리 어드레스 태그만을 연속하여 저장하는 전용 태그 영역을(세그먼트 분할하는 경우는, 각 세그먼트마다) 준비하고, 50배의 고속 순차적 접근으로 논리 어드레스 태그를 판독할 수 있도록 한다.
그리고, 호스트 기기로부터의 데이터를 일괄하여 기록이나 보충 데이터의 기록시에는, 빈 영역뿐만 아니라 대응하는 전용 태그 영역에도 논리 어드레스 태그를 기록하도록 한다. 이 방법에서는 도 2의 방식에서는 1스트라이프당 4회의 디스크 기록이었지만, 전용 영역에의 논리 어드레스 태그의 기록이기 때문에 1회 증가한다. 그러나, 변환 맵 작성이 50배의 고속으로 되기 때문에, 디스크 장치의 상승 시간이 문제가 될 때에는 대단히 유효한 수단이다. 전용 태그 영역에의 기록 시간을 최소로 하기 위해서, 전용 태그 영역은 도 13에 도시하는 바와 같이 대상 영역을 중심으로 하여 탐색 시간을 줄인다. 또한, 디스크 장치(2)는 섹터(512 바이트 등)단위의 기록이고, 전용 태그 영역내의 논리 어드레스 태그는 섹터 단위로 할당하여 논리 어드레스 태그의 기록시에 판독이 필요없도록 한다.
마지막으로, 타임 스탬프에 대하여 설명한다. 도 1에 도시하는 바와 같이, 타임 스탬프는 휘발성 메모리(3)상에 기억되기 때문에, 전원 장해 등에 의해 휘발성 메모리(3)상의 타임 스탬프가 없어진다. 그래서, 변환 맵과 동일하게 하여, 시스템 기동시에만 모든 스트라이프의 논리 어드레스 태그를 조사하고, 제일 큰 타임 스탬프(31)의 다음 값을 휘발성 메모리(3)상의 타임 스탬프(31)에 세트한다. 또, 변환 맵 작성의 설명에서 기술한 시간 단축 수법을 그대로 타임 스탬프의 재생에도 적용할 수 있다.
또한, 타임 스탬프(31)는 디스크 장치에 기록할 때마다 증가되고 디스크상의 기록 순서의 판정에만 사용된다. 예로서, 타임 스탬프(31)가 24비트의 카운터로 구성되는 경우를 설명한다. 24비트 카운터에서는, 16M회의 기록으로 카운터가 일주하여 제로로 되돌아가 버린다. 그래서, 일반적으로는 유효한 타임 스탬프의 최소치를 기준으로 그것보다 작은 값은 16M을 더하여 비교하고 판정한다. 이 최소치도 마찬가지로 시스템 기동시에만 모든 스트라이프의 논리 어드레스 태그를 조사하여 구한다.
그러나, 이 수법을 사용할 수 있는 것은 타임 스탬프의 최대치가 최소치를 앞지르지 않을 것, 예컨대 타임 스탬프의 최대치와 최소치의 차가 24비트로 나타낼 수 있는 범위 이내인 것을 전제로 하고 있다. 따라서, 타임 스탬프(31)가 일주전에 반드시 모든 스트라이프를 갱신하여 타임 스탬프 값을 새롭게 갱신할 필요가 있다.이것에는, 무효 블럭이 적어도 미리 설정한 기록 회수 사이에 갱신되지 않은 스트라이프를 보충의 대상으로서 선택하도록 제어하거나, 무효 블럭의 논리 어드레스를 NULL 어드레스로 한, 그 스트라이프의 논리 어드레스 태그만을 재기록한다. NULL 어드레스를 사용하는 방법은 논리 어드레스 태그 블럭의 재기록이기 때문에 보충과 비교해서 대단히 가벼운 처리이다.
또, 상술한 실시예에서는 무효 블럭의 판정에 2개 스트라이프(ST1, ST2)의 논리 어드레스 태그를 서로 비교하고 판정하는 방법만 설명하였지만, 모든 무효 블럭을 조사하기 위해서는 2개의 스트라이프 사이의 모든 편성을 조사하지 않으면 안된다. 그러나, 변환 맵이 있으면 논리 어드레스 태그내의 각 논리 어드레스에 대하여, 유효 데이터를 가리키는 변환 맵의 타임 스탬프와 그 스트라이프의 타임 스탬프를 비교하여, 값이 작은 블럭을 무효 블럭으로 판정할 수 있다.
도 1은 데이터를 복수 디스크에 분산하는 RAID0의 구성을 나타내었지만, 본 발명의 방식은 패리티를 사용한 장황성 디스크 구성(RAID4, RAID5)의 경우에도 적용할 수 있다. 도 14에 본 발명을 적용하여 구성한 RAID5 구성의 디스크 기억 장치의 개념도를 도시한다. 도 1의 구성에 장황용의 디스크 장치(25)가 추가된 구성으로서, 제어 장치(1), 디스크 장치(2)(21, 22, 23, 24), 휘발성 메모리(3), 비휘발성 메모리(4), 타임 스탬프(31), 기록 버퍼(6), 버퍼 관리 정보(7)는 도 1에 도시한 실시예와 동일한 기능을 갖는다.
도 14에 도시한 실시예의 동작에 대하여, 도 1에 도시한 실시예와의 차이에 착안하여 설명을 행한다. 기록 처리에서는 호스트로부터의 기록 데이터가 1스트라이프분에 1블럭 적은 수(K*4-1)만큼 기록 버퍼(6)에 저장한 단계에서, 제어 장치(1)는 그들 데이터를 디스크 장치(21∼25)에 기록한다. 이 때, 최후의 기록 블럭으로서, 기록 관리 테이블(7)에 저장된 각 블럭의 논리 어드레스와 휘발성 메모리(3)상의 타임 스탬프(31)로부터 논리 어드레스 태그 블럭을 작성할 때까지는 도 1에 도시한 실시예와 동일하다.
그 후, 이 논리 어드레스 태그 블럭을 더한 1스트라이프분의 데이터로부터 스트라이프 유닛마다의 배타 논리합 연산(XOR)을 행하고, 패리티의 스트라이프 유닛을 작성한다. 그리고, 이 패리티가 첨부된 스트라이프의 데이터를 정리하여 디스크 장치(21∼25)의 빈 영역에 동시에 기록한다. 또한, 타임 스탬프(31)의 값은 기록이 완료한 단계에서 증가된다. 이와 같이 다수의 미세한 디스크 기록을 1회에 정리할 수 있는 동시에, 패리티 계산에 구데이터나 구패리티의 블럭을 읽을 필요가 없기 때문에 디스크 접근 회수를 더욱 줄일 수 있다. 또, 스트라이프 보충 처리의 디스크 기록이라도 동일하게 하여 패리티가 첨부된 스트라이프를 작성하고 나서 디스크 장치(2)에 기록한다. 이 모양을 도 15에 도시한다.
패리티 RAID 구성에서는 1대의 디스크 장치가 고장나더라도, 고장난 디스크의 데이터는 스트라이프를 구성하는 다른 디스크의 데이터와 패리티의 XOR을 계산함으로써 재현할 수 있고, 디스크 기억 장치로서의 서비스를 계속할 수 있다. 그러나, 시스템 기동시에 1대가 고장난 경우, 논리 어드레스 태그를 저장하지 않는 디스크 장치의 데이터도 판독하여 논리 어드레스 태그를 재생하고 나서 검사하기 때문에, 변환 맵 작성에 시간이 걸려 시스템 기동을 완료하기까지의 시간이 대폭 증대하여 버린다.
그래서, 도 16에 도시하는 바와 같이, 스트라이프를 구성하는 데이터 블럭을 1개 줄이고 2개의 디스크 장치에 동일한 논리 어드레스 태그를 사용하도록 제어한다. 이것에 의해, 디스크 장치가 1대 고장나더라도 변환 맵 작성시에는 남아 있는 쪽의 논리 어드레스 태그를 판독할 수 있기 때문에, 시스템 기동에 요하는 시간의 대폭적인 증대를 피할 수 있다.
또한, 변환 맵 작성의 고속화를 위해 전용 태그 영역을 활용하는 경우, 도 17에 도시하는 바와 같이, 논리 어드레스 태그는 전용 태그 영역에 저장되는 디스크 장치와 스트라이프에 저장되는 디스크 장치가 다르도록 전용 태그 영역의 논리 어드레스 태그의 할당을 제어함으로써, 스트라이프내의 논리 어드레스 태그는 1개가 적당하다.
한편, 전용 태그 영역에 논리 어드레스 태그를 기록하는 경우도 패리티에 의한 디스크 장해 대책을 행하면, 종래 1회의 기록 증가로 충분하던 것이 2회의 기록과 2회의 판독이 필요하게 되어 일괄 기록시나 스트라이프 보충시의 디스크 기록의 오버헤드가 크게 증대한다. 따라서, 이 전용 태그 영역의 정보는 패리티로 장해 대책을 행하지 않는다. 이 정보는 변환 맵 고속화를 위한 것으로, 고장난 디스크 장치의 전용 태그 영역에 저장되어 있던 논리 어드레스 태그는 스트라이프중의 것을(임의 접근) 보면 충분하기 때문에 문제는 없다. 또한, 임의 접근으로 검사하는 논리 어드레스 태그는 1/5이기 때문에, 변환 맵 작성의 고속화의 효과가 있다.
본 발명은 구데이터의 영역을 재기록하는 것이 아니라, 갱신 데이터를 저장하여 두고 디스크 장치내의 미리 준비한 별도의 빈 영역에 정리하여 기록하는 방법이 유효한 모든 분야에 적용할 수 있다. 즉, 자기 디스크뿐만 아니라 순차적 기록과 임의의 기록에서 크게 성능이 다른 광 자기 디스크 등의 디스크 장치나, 소블럭의 갱신에서는 2판독과 2기록이 필요한 패리티에 의한 장황성을 갖게 한 RAID 구성의 기억 장치에 주로 적용할 수 있다.
이상 설명과 같이 본 발명에 의하면, 변환 맵을 원리적으로 언제라도 재생할 수 있기 때문에, 전원 장해에 대비하여 비휘발성 메모리에 변환 맵을 유지할 필요는 없다. 따라서 대단히 염가인 디스크 기억 장치를 구축할 수 있다. 또한, 하드웨어 장해 등에 의해 비휘발성 메모리의 내용을 상실한 경우라도, 종래 방법에서는 변환 맵을 재생할 수 없기 때문에 디스크상의 데이터 모두를 잃어버리지만, 기록 버퍼에 유지되어 있던 최근의 기록 데이터만이 없어질 뿐이고 대개의 디스크상 데이터는 그대로 남아 있다. 따라서, 장해에 대한 내구성도 크게 향상된다. 더욱이, 전원 장해 등으로부터 회복 처리와 통상의 시스템 기동 처리는 완전히 동일하게 끝나기 때문에, 시스템 종료시나 회복시의 특별한 처리가 불필요하고 개발 비용을 경감할 수 있다.
또한, 시스템 기동시의 처리도, 복수 디스크 장치에의 논리 어드레스 태그의 분산 배치, 논리 어드레스 태그를 순차 접근시킬 수 있는 전용 태그 영역, 기억 영역의 세그먼트 분할 관리 등에 의해 고속화할 수 있기 때문에, 시스템 기동시의 대기 시간을 실용상 문제없는 범위로 억제된다. 특히, 패리티 RAID 구성에서는, 논리어드레스 태그를 2대의 디스크 장치에 기록함으로써, 1대의 디스크 장치가 고장나더라도 시스템 기동의 시간이 증가하지 않도록 할 수 있다.
Claims (22)
- N(N은 2 이상의 정수)대의 디스크 장치(2)가 장착된 디스크 기억 장치의 데이터 갱신 방법에 있어서,N×K(K는 블럭 수를 의미하는 정수)의 기억 용량을 갖는 기입 버퍼 기억부(41)의 N×K-1개의 블럭에 N×K-1개의 기입 블럭 데이터를 기억하고,상기 기입 버퍼 기억부(41)의 나머지 1 블럭에 상기 N×K-1개의 기입 블럭 데이터가 갖는 논리 어드레스(LA) 및 그 기입 시각을 나타내는 타임 스탬프(31)로부터 상기 기입 블럭 데이터에 대응하는 논리 어드레스 태그 블럭(LA-TAG)을 생성하여 기억하며,상기 기입 버퍼 기억부(41)에 기억된 상기 N×K-1개의 기입 블럭 데이터와 상기 논리 어드레스 태그 블럭(LA-TAG)을 1 스트라이프로 하고 상기 N대의 디스크 장치(2)의 빈 영역에 연속하여 저장하는 것을 특징으로 하는 디스크 기억 장치의 데이터 갱신 방법.
- 제1항에 있어서, 상기 타임 스탬프(31)는 상기 기록 버퍼 기억부(41)에 축적된 N×K개의 논리 블럭이 상기 N대의 디스크 장치(2)에 기록될 때마다 증가되는 것을 특징으로 하는 디스크 기억 장치의 데이터 갱신 방법.
- 제2항에 있어서, 상기 디스크 장치에 기록된 각 스트라이프 영역의 논리 어드레스 태그 블럭을 판독하고, 이것을 검사함으로써 각 논리 어드레스에 대응하는 디스크 장치상의 물리적인 기억 위치를 검출하고, 검출된 기억 위치에 대하여 기록 또는 판독을 행하는 것을 특징으로 하는 디스크 기억 장치의 데이터 갱신 방법.
- 제3항에 있어서, 상기 논리 어드레스 태그 블럭의 검사에 있어서, 동일한 논리 어드레스를 포함하는 스트라이프 영역이 복수인 경우, 상기 논리 어드레스 태그 블럭내의 타임 스탬프가 최신인 스트라이프의 논리 어드레스 블럭을 유효 블럭으로 하고, 다른 스트라이프 영역의 동일한 논리 어드레스를 가지는 블럭을 무효 블럭이라고 판정하는 것을 특징으로 하는 디스크 기억 장치의 데이터 갱신 방법.
- 제3항에 있어서, 상기 논리 어드레스 태그 블럭의 검사에 있어서, 최대의 타임 스탬프 값을 발견하여, 다음 기록에서 부가하는 타임 스탬프를 재생하는 것을 특징으로 하는 디스크 기억 장치의 데이터 갱신 방법.
- 제3항에 있어서, 상기 논리 어드레스 태그 블럭의 검사에 있어서, 최소의 타임 스탬프 값을 발견하여 기록 순서의 판정 기준이 되는 타임 스탬프 값을 구하는 것을 특징으로 하는 디스크 기억 장치의 데이터 갱신 방법.
- 제1항에 있어서, 상기 디스크 장치에 기억된 복수의 스트라이프 영역의 논리 블럭의 데이터를 판독하고, 상기 논리 어드레스 태그 블럭의 검사를 행함으로써,각 스트라이프 영역내의 유효 기입 블럭 데이터만을 상기 기록 버퍼 기억부(41)에 옮기고, 이들 유효 기입 블럭 데이터에 대응하는 새로운 논리 어드레스 태그 블럭을 생성하며, 상기 기록 버퍼 기억부(41)에 옮겨진 유효 데이터와 새롭게 생성된 논리 어드레스 태그로 구성되는 1스트라이프분의 논리 블럭을 상기 판독된 복수의 스트라이프 영역과는 별도의 빈 영역에 순차적으로 기록함으로써, 상기 디스크 기억 장치상에 논리 블럭을 연속하여 기록할 수 있는 빈 영역을 형성하는 것을 특징으로 하는 디스크 기억 장치의 데이터 갱신 방법.
- 제7항에 있어서, 상기 새로운 논리 어드레스 태그 블럭을 생성할 때, 유효 블럭수가 N×K-1개에 미치지 않는 경우는 새로운 논리 어드레스 태그 블럭내의 데이터가 저장되지 않은 블럭에 대응한 논리 어드레스에 널(NULL) 어드레스를 설정하는 것을 특징으로 하는 디스크 기억 장치의 데이터 갱신 방법.
- 제1항에 있어서, 상기 디스크 장치의 빈 영역에 데이터를 기록한 후, 상기 디스크 장치의 기동시에 상기 복수의 스트라이프 영역의 논리 어드레스 태그 블럭의 검사를 행함으로써, 유효라고 판단된 각 논리 어드레스에 대한 스트라이프 번호, 스트라이프내의 블럭 번호, 유효 데이터의 타임 스탬프를 상기 변환 맵에 기록하는 것을 특징으로 하는 디스크 기억 장치의 데이터 갱신 방법.
- 제9항에 있어서, 상기 변환 맵에 기록 작성후, 디스크 장치에 접근이 적은시간대에 각 스트라이프의 논리 어드레스 태그 블럭을 판독하여 변환 맵과 비교 정정을 행하는 것을 특징으로 하는 디스크 기억 장치의 데이터 갱신 방법.
- 제1항에 있어서, 논리 어드레스 태그 블럭이 기록되는 위치를 연속하는 복수개의 스트라이프마다에 상이한 디스크 장치에 분산 배치하고, 논리 어드레스 태그 블럭의 검사시, 상기 상이한 디스크 장치의 논리 어드레스 태그 블럭을 병렬로 판독하는 것을 특징으로 하는 디스크 기억 장치의 데이터 갱신 방법.
- 제1항에 있어서, 상기 논리 어드레스 태그는 각 스트라이프 영역에 논리 블럭 데이터와 동시에 순차적으로 기록할 수 있음과 동시에, 전용 태그 영역에도 병렬로 기록되고, 상기 논리 어드레스 태그 블럭의 검사시에는 이 전용 태그 영역을 순차적으로 판독하여 조사하는 것을 특징으로 하는 디스크 기억 장치의 데이터 갱신 방법.
- 제9항에 있어서, 디스크 장치의 기억 영역을 복수 라인의 스트라이프를 단위로 하는 복수의 세그먼트로 분할하고, 일정 기간에 1개의 세그먼트에만 스트라이프 데이터가 기록되도록 제어함과 동시에, 기록 대상 세그먼트를 전환할 때에는 그 시점의 상기 변환 맵(32)의 내용과 전환처의 세그먼트 번호를 디스크 장치에 기록하고, 이후의 변환 맵(32) 작성시에는, 상기 세그먼트 전환시의 변환 맵의 내용 및 상기 디스크 장치에 기록된 세그먼트 번호내의 스트라이프 영역에 기록된 논리 어드레스 태그 블럭만을 검사하는 것을 특징으로 하는 디스크 기억 장치의 데이터 갱신 방법.
- 제13항에 있어서, 상기 세그먼트내의 각 스트라이프에 대응한 비트 맵을 준비하고, 기록 대상 세그먼트를 전환할 때에는 이 비트 맵을 클리어하고, 스트라이프 영역에의 데이터 기록시에 기록한 스트라이프 영역에 대응한 비트를 세트하며, 변환 맵(32) 작성시에는, 디스크 장치의 세그먼트 전환시의 변환 맵 및 상기 디스크 장치(2)에 기록된 세그먼트 번호의 논리 어드레스 태그 중에서 상기 비트 맵이 세트되어 있는 것만 검사하는 것을 특징으로 하는 디스크 기억 장치의 데이터 갱신 방법.
- 제6항에 있어서, 타임 스탬프의 최소치를 진행시키기 위해서, 무효 블럭이 적은 스트라이프에 대하여 정기적으로 판독하여 유효 블럭만을 상기 기록 버퍼에 옮기고, 대응하는 논리 태그 블럭내의 논리 어드레스와 새로운 타임 스탬프로부터 논리 어드레스 태그 블럭을 생성하며, 기록 버퍼의 유효 데이터와 생성된 논리 어드레스 태그 블럭으로 구성되는 스트라이프를 판독한 스트라이프를 유지하는 영역과는 별도의 빈 영역에 순차 기록하는 것을 특징으로 하는 디스크 기억 장치의 데이터 갱신 방법.
- 제6항에 있어서, 타임 스탬프의 최소치를 진행시키기 위해서, 무효 블럭이적은 스트라이프에 대하여 정기적으로 논리 어드레스 태그 블럭만을 판독하여 무효 블럭의 논리 어드레스를 NULL 어드레스로 한 새로운 타임 스탬프를 부가한 논리 어드레스 태그 블럭을 생성하고, 여기서 생성된 논리 어드레스 태그 블럭을 판독한 논리 어드레스 태그 블럭에 덮어쓰기하는 것을 특징으로 하는 디스크 기억 장치의 데이터 갱신 방법.
- 제9항에 있어서, 변환 맵(32) 작성후 디스크 장치상의 논리 어드레스 태그 블럭의 타임 스탬프와 대응하는 변환 맵(32)의 타임 스탬프를 비교하여 무효 블럭을 판정하는 것을 특징으로 하는 디스크 기억 장치의 데이터 갱신 방법.
- N(N은 2 이상의 정수)+1대의 디스크 장치(2)가 장착된 디스크 기억 장치의 데이터 갱신 방법에 있어서,N×K(K는 블럭 수를 의미하는 정수)의 기억 용량을 갖는 기입 버퍼 기억부(41)의 N×K-1개의 블럭에 N×K-1개의 기입 블럭 데이터를 기억하고,상기 기입 버퍼 기억부(41)의 나머지 1 블럭에 상기 N×K-1개의 기입 블럭 데이터가 갖는 논리 어드레스(LA) 및 그 기입 시각을 나타내는 타임 스탬프(31)로부터 상기 기입 블럭 데이터에 대응하는 논리 어드레스 태그 블럭(LA-TAG)을 생성하여 기억하며,배타적 논리 연산에 의해 상기 N×K-1개의 기입 데이터와 상기 논리 어드레스 태그 블럭(LA-TAG)으로 이루어지는 K개의 스트라이프 데이터에 대응하는 K개의패리티 블럭(P)을 생성하고,상기 N×K-1개의 기입 데이터와 상기 논리 어드레스 태그 블럭(LA-TAG) 및 K개의 패리티 블럭(P)을 1 스트라이프로 하며 상기 N+1대의 디스크 장치(2)의 빈 영역에 연속하여 저장하는 것을 특징으로 하는 디스크 기억 장치의 데이터 갱신 방법.
- N(N은 2 이상의 정수)+1대의 디스크 장치(2)가 장착된 디스크 기억 장치의 데이터 갱신 방법에 있어서,N×K(K는 블럭 수를 의미하는 정수)의 기억 용량을 갖는 기입 버퍼 기억부941)의 N×K-2개의 블럭에 N×K-2개의 기입 블럭 데이터를 기억하고,상기 기입 버퍼 기억부(41)의 나머지 2 블럭에 상기 N×K-2개의 기입 블럭 데이터가 갖는 논리 어드레스(LA) 및 그 기입 시각을 나타내는 타임 스탬프(31)로부터 상기 기입 블럭 데이터에 대응하는 논리 어드레스 태그 블럭(LA-TAG)을 두 개 생성하며,배타적 논리 연산에 의해 상기 N×K-2개의 기입 블럭 데이터와 상기 두 개의 논리 어드레스 태그 블럭(LA-TAG)으로 이루어지는 K개의 스트라이프 데이터에 대응하는 K개의 패리티 블럭(P)을 생성하여 기억하고,상기 두 개의 논리 어드레스 태그 블럭(LA-TAG)이 상이한 디스크 장치(2)에 저장되도록 상기 N×K-2개의 기입 데이터와 상기 두 개의 논리 어드레스 태그 블럭(LA-TAG)과 K개의 패리티 블럭(P)을 1 스트라이프로서 상기 N+1대의 디스크 장치(2)의 빈 영역에 연속하여 저장하는 것을 특징으로 하는 디스크 기억 장치의 데이터 갱신 방법.
- N(N은 2 이상의 정수)대의 디스크 장치(2)가 장착된 디스크 기억 제어 장치에 있어서,N×K(K는 블럭 수를 의미하는 정수)의 기억 용량을 갖는 기입 버퍼 기억부(41)와,상기 기입 버퍼 기억부(41)의 N×K-1개의 블럭에 N×K-1개의 기입 블럭 데이터를 기입하는 수단과,상기 기입 버퍼 기업부(41)의 나머지 1 블럭에 상기 N×K-1개의 기입 블럭 데이터가 갖는 논리 어드레스(LA) 및 그 기입 시각을 나타내는 타임 스탬프(31)로부터 상기 기입 블럭 데이터에 대응하는 논리 어드레스 태그 블럭(LA-TAG)을 생성하여 기입하는 수단과,상기 기입 버퍼 기억부(41)에 기억된 상기 N×K-1개의 기입 블럭 데이터와 상기 논리 어드레스 태그 블럭(LA-TAG)을 1 스트라이프로서 상기 N대의 디스크 장치의 빈 영역에 연속하여 저장하는 수단을 포함하는 것을 특징으로 하는 디스크 기억 제어 장치.
- N(N은 2 이상의 정수)+1대의 디스크 장치가 장착된 디스크 기억 제어 장치에 있어서,N×K(K는 블럭 수를 의미하는 정수)의 기억 용량을 갖는 기입 버퍼 기억부(41)와,상기 기입 버퍼 기억부(41)의 N×K-1개의 블럭에 N×K-1개의 기입 블럭 데이터를 기입하는 수단과,상기 기입 버퍼 기억부(41)의 나머지 1 블럭에 상기 N×K-1개의 기입 블럭 데이터가 갖는 논리 어드레스(LA) 및 그 기입 시각을 나타내는 타임 스탬프(31)로부터 상기 기입 블럭 데이터에 대응하는 논리 어드레스 태그 블럭(LA-TAG)을 생성하여 기입하는 수단과,배타적 논리 연산에 의해 상기 N×K-1개의 기입 블럭 데이터와 상기 논리 어드레스 블럭(LA-TAG)으로 이루어지는 K개의 스트라이프 태그에 대응하는 K개의 패리티 블럭(P)을 생성하는 수단과,상기 N×K-1개의 기입 데이터와 상기 논리 어드레스 태그 블럭(LA-TAG)과 K개의 패리티 블럭(P)을 1 스트라이프로서 상기 N+1대의 디스크 장치의 빈 영역에 연속하여 저장하는 수단을 포함하는 것을 특징으로 하는 디스크 기억 제어 장치.
- 제21항에 있어서, 패리티를 사용한 장황성 디스크를 구성하기 위해 장황 디스크 장치를 부가하고, 기록의 시간적 순서를 유지하는 타임 스탬프가 저장되는 휘발성 메모리(3)와, 디스크 장치에 기록해야 할 데이터를 로그 구조화하여 유지하는 상기 기록 버퍼, 기록 버퍼내의 빈 영역 및 유지되어 있는 기록 데이터의 논리 어드레스 정보를 유지하는 버퍼 관리 정보가 저장되는 비휘발성 메모리(4)를 구비하는 것을 특징으로 하는 디스크 기억 제어 장치.
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP9214656A JPH1153235A (ja) | 1997-08-08 | 1997-08-08 | ディスク記憶装置のデータ更新方法、ならびにディスク記憶制御システム |
JP97-214656 | 1997-08-08 |
Publications (2)
Publication Number | Publication Date |
---|---|
KR19990023182A KR19990023182A (ko) | 1999-03-25 |
KR100310896B1 true KR100310896B1 (ko) | 2001-11-15 |
Family
ID=16659392
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
KR1019980027214A KR100310896B1 (ko) | 1997-08-08 | 1998-07-07 | 디스크기억장치의데이터갱신방법및디스크기억제어장치 |
Country Status (6)
Country | Link |
---|---|
US (1) | US6219752B1 (ko) |
EP (1) | EP0898228B1 (ko) |
JP (1) | JPH1153235A (ko) |
KR (1) | KR100310896B1 (ko) |
CN (2) | CN1174318C (ko) |
DE (1) | DE69831455T2 (ko) |
Families Citing this family (79)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP3233079B2 (ja) | 1997-09-30 | 2001-11-26 | ソニー株式会社 | データ処理システム及びデータ処理方法 |
US6532517B1 (en) * | 1999-04-13 | 2003-03-11 | Webtv Networks, Inc. | System and method for reducing disk chatter from disk-based data storage systems |
KR100605893B1 (ko) | 1999-10-08 | 2006-08-01 | 삼성전자주식회사 | 시간지연 시청을 위한 비디오 스트림 처리방법 |
TW535161B (en) * | 1999-12-03 | 2003-06-01 | Nec Electronics Corp | Semiconductor memory device and its testing method |
US6609176B1 (en) | 1999-12-27 | 2003-08-19 | Kabushiki Kaisha Toshiba | Disk control system and data rearrangement method |
JP3607153B2 (ja) * | 2000-02-28 | 2005-01-05 | シャープ株式会社 | ファイル管理方法及び装置 |
JP4131894B2 (ja) | 2000-02-29 | 2008-08-13 | 株式会社東芝 | ランダムディスクライトに好適なディスク制御機構 |
SG99941A1 (en) * | 2000-08-30 | 2003-11-27 | Ibm | Transaction support on logical disks |
US6871271B2 (en) * | 2000-12-21 | 2005-03-22 | Emc Corporation | Incrementally restoring a mass storage device to a prior state |
JP3592640B2 (ja) * | 2001-01-09 | 2004-11-24 | 株式会社東芝 | ディスク制御システムおよびディスク制御方法 |
US6763424B2 (en) * | 2001-01-19 | 2004-07-13 | Sandisk Corporation | Partial block data programming and reading operations in a non-volatile memory |
KR100401946B1 (ko) * | 2001-08-10 | 2003-10-17 | 박종원 | 주소계산과 자료이동방법 및 이를 이용한 충돌회피 기억 장치 |
JP3579389B2 (ja) * | 2001-11-30 | 2004-10-20 | 株式会社東芝 | ディスクアレイ装置及び同装置におけるデータ復旧方法 |
JP3682256B2 (ja) * | 2001-11-30 | 2005-08-10 | 株式会社東芝 | ディスクアレイ装置及び同装置におけるパリティ処理方法 |
JP3526452B2 (ja) * | 2001-12-18 | 2004-05-17 | 株式会社東芝 | ディスクアレイ装置及びデータバックアップ方法 |
JP3590381B2 (ja) * | 2001-12-18 | 2004-11-17 | 株式会社東芝 | ディスクアレイ装置及び同装置におけるデータ更新方法 |
JP3702231B2 (ja) * | 2002-01-31 | 2005-10-05 | 株式会社東芝 | ディスクアレイ装置及び同装置における動的記憶容量拡張方法 |
EP1336967A1 (en) * | 2002-02-15 | 2003-08-20 | Deutsche Thomson-Brandt Gmbh | Method and apparatus for addressing data segments on a recording medium for replay |
US20040003172A1 (en) * | 2002-07-01 | 2004-01-01 | Hui Su | Fast disc write mechanism in hard disc drives |
US7069465B2 (en) * | 2002-07-26 | 2006-06-27 | International Business Machines Corporation | Method and apparatus for reliable failover involving incomplete raid disk writes in a clustering system |
JP3785127B2 (ja) * | 2002-09-11 | 2006-06-14 | 株式会社東芝 | ディスクアレイ制御装置及びディスクアレイ制御装置におけるデータ書き込み方法 |
JP4651913B2 (ja) * | 2003-02-17 | 2011-03-16 | 株式会社日立製作所 | 記憶装置システム |
JP4060235B2 (ja) | 2003-05-22 | 2008-03-12 | 株式会社日立製作所 | ディスクアレイ装置及びディスクアレイ装置の制御方法 |
JP2004348464A (ja) | 2003-05-22 | 2004-12-09 | Hitachi Ltd | ストレージ装置、及び通信信号の整形回路 |
US8301809B2 (en) * | 2003-07-02 | 2012-10-30 | Infortrend Technology, Inc. | Storage virtualization computer system and external controller thereof |
US7509473B2 (en) * | 2003-08-27 | 2009-03-24 | Adaptec, Inc. | Segmented storage system mapping |
US7991748B2 (en) | 2003-09-23 | 2011-08-02 | Symantec Corporation | Virtual data store creation and use |
US7287133B2 (en) | 2004-08-24 | 2007-10-23 | Symantec Operating Corporation | Systems and methods for providing a modification history for a location within a data store |
US7577807B2 (en) * | 2003-09-23 | 2009-08-18 | Symantec Operating Corporation | Methods and devices for restoring a portion of a data store |
US7904428B2 (en) | 2003-09-23 | 2011-03-08 | Symantec Corporation | Methods and apparatus for recording write requests directed to a data store |
US7827362B2 (en) | 2004-08-24 | 2010-11-02 | Symantec Corporation | Systems, apparatus, and methods for processing I/O requests |
US7730222B2 (en) | 2004-08-24 | 2010-06-01 | Symantec Operating System | Processing storage-related I/O requests using binary tree data structures |
US7725760B2 (en) | 2003-09-23 | 2010-05-25 | Symantec Operating Corporation | Data storage system |
US7577806B2 (en) | 2003-09-23 | 2009-08-18 | Symantec Operating Corporation | Systems and methods for time dependent data storage and recovery |
JP4307202B2 (ja) * | 2003-09-29 | 2009-08-05 | 株式会社日立製作所 | 記憶システム及び記憶制御装置 |
US7080768B2 (en) * | 2003-11-10 | 2006-07-25 | Worktools, Inc. | Spring energized desktop stapler |
JP4156499B2 (ja) | 2003-11-28 | 2008-09-24 | 株式会社日立製作所 | ディスクアレイ装置 |
JP4497918B2 (ja) * | 2003-12-25 | 2010-07-07 | 株式会社日立製作所 | ストレージシステム |
JP4634049B2 (ja) * | 2004-02-04 | 2011-02-16 | 株式会社日立製作所 | ディスクアレイ装置における異常通知制御 |
JP4306525B2 (ja) * | 2004-04-16 | 2009-08-05 | ソニー株式会社 | 情報処理装置および方法、並びにプログラム |
US7188212B2 (en) * | 2004-05-06 | 2007-03-06 | International Business Machines Corporation | Method and system for storing data in an array of storage devices with additional and autonomic protection |
KR20070029705A (ko) | 2004-05-10 | 2007-03-14 | 마쯔시다덴기산교 가부시키가이샤 | 1회 기록 디스크들에 대한 데이터 기록/재생 |
US7093157B2 (en) * | 2004-06-17 | 2006-08-15 | International Business Machines Corporation | Method and system for autonomic protection against data strip loss |
US8066515B2 (en) * | 2004-11-17 | 2011-11-29 | Nvidia Corporation | Multiple graphics adapter connection systems |
US7885921B2 (en) * | 2004-11-18 | 2011-02-08 | International Business Machines Corporation | Managing atomic updates on metadata tracks in a storage system |
KR100578143B1 (ko) * | 2004-12-21 | 2006-05-10 | 삼성전자주식회사 | 버퍼 메모리에 저장된 데이터를 무효화시키는 스킴을 갖는저장 시스템 및 그것을 포함한 컴퓨팅 시스템 |
US8122193B2 (en) | 2004-12-21 | 2012-02-21 | Samsung Electronics Co., Ltd. | Storage device and user device including the same |
JP4248510B2 (ja) * | 2005-03-24 | 2009-04-02 | 株式会社東芝 | 計算機システム、ディスク装置およびデータ更新制御方法 |
US20060230455A1 (en) * | 2005-04-12 | 2006-10-12 | Yuan-Chang Lo | Apparatus and methods for file system with write buffer to protect against malware |
JP2007072839A (ja) * | 2005-09-08 | 2007-03-22 | Sony Corp | 記録制御装置および方法、並びにプログラム |
WO2007047346A2 (en) * | 2005-10-14 | 2007-04-26 | Symantec Operating Corporation | Technique for timeline compression in a data store |
JP4892225B2 (ja) * | 2005-10-28 | 2012-03-07 | 株式会社日立ハイテクノロジーズ | 真空処理方法、真空搬送装置および半導体処理装置 |
KR100706808B1 (ko) | 2006-02-03 | 2007-04-12 | 삼성전자주식회사 | 쓰기 버퍼로서 동작하는 불 휘발성 메모리를 구비한 데이터저장 장치 및 그것의 블록 회수 방법 |
US7549021B2 (en) | 2006-02-22 | 2009-06-16 | Seagate Technology Llc | Enhanced data integrity using parallel volatile and non-volatile transfer buffers |
US20070294565A1 (en) * | 2006-04-28 | 2007-12-20 | Network Appliance, Inc. | Simplified parity disk generation in a redundant array of inexpensive disks |
US8250316B2 (en) * | 2006-06-06 | 2012-08-21 | Seagate Technology Llc | Write caching random data and sequential data simultaneously |
CN101548271B (zh) * | 2006-12-08 | 2012-12-05 | 桑德福斯公司 | 多个存储装置中的数据冗余 |
US10002000B2 (en) * | 2007-04-09 | 2018-06-19 | Open Invention Network, Llc | Trace-assisted startup optimization from a virtual disk |
KR101028929B1 (ko) * | 2008-12-31 | 2011-04-12 | 성균관대학교산학협력단 | 실시간 시스템을 위한 로그 블록 연관성 분산 방법 및 이를수행하는 플래시 메모리 장치 |
JP5365236B2 (ja) * | 2009-02-16 | 2013-12-11 | 日本電気株式会社 | ストレージシステム |
KR101581859B1 (ko) * | 2009-02-27 | 2016-01-21 | 삼성전자주식회사 | 메모리 시스템 및 그것의 플래시 변환 계층의 데이터 관리 방법 |
US8799572B2 (en) | 2009-04-20 | 2014-08-05 | Microsoft Corporation | Sliding-window multi-class striping |
JP4599450B2 (ja) * | 2009-04-24 | 2010-12-15 | 株式会社東芝 | 電子機器、ファイルシステムの記憶領域割当法、および記憶領域割当プログラム |
US8266501B2 (en) * | 2009-09-29 | 2012-09-11 | Micron Technology, Inc. | Stripe based memory operation |
KR20110103660A (ko) * | 2010-03-15 | 2011-09-21 | 주식회사 히타치엘지 데이터 스토리지 코리아 | 광디스크 드라이브 레이드 기록 장치 및 방법 |
US9588888B2 (en) | 2010-07-30 | 2017-03-07 | Hewlett Packard Enterprise Development Lp | Memory device and method for altering performance characteristic based on bandwidth demand |
CN101930404B (zh) * | 2010-08-27 | 2012-11-21 | 威盛电子股份有限公司 | 存储装置及其操作方法 |
EP2742429A4 (en) | 2011-08-09 | 2015-03-25 | Lsi Corp | I / O DEVICE AND INTERACTION WITH DATA PROCESSING HOST |
US8949517B2 (en) | 2011-10-05 | 2015-02-03 | Lsi Corporation | Self-journaling and hierarchical consistency for non-volatile storage |
JP2013196276A (ja) * | 2012-03-19 | 2013-09-30 | Fujitsu Ltd | 情報処理装置、プログラムおよびデータ配置方法 |
US9395924B2 (en) | 2013-01-22 | 2016-07-19 | Seagate Technology Llc | Management of and region selection for writes to non-volatile memory |
US9213633B2 (en) | 2013-04-30 | 2015-12-15 | Seagate Technology Llc | Flash translation layer with lower write amplification |
JP5747133B1 (ja) * | 2014-06-11 | 2015-07-08 | 株式会社東芝 | 共有ストレージシステム、及びストレージ装置へのアクセスを制御する方法 |
JP2016143296A (ja) * | 2015-02-03 | 2016-08-08 | 富士通株式会社 | 情報記憶装置、ストレージシステムおよび情報記憶装置制御プログラム |
JP6429124B2 (ja) | 2015-03-27 | 2018-11-28 | パナソニックIpマネジメント株式会社 | 光ディスク装置、方法およびコンピュータプログラム |
CN107436735A (zh) * | 2017-07-28 | 2017-12-05 | 郑州云海信息技术有限公司 | 一种分布式文件系统中存储单元状态更新方法 |
CN110568993B (zh) * | 2019-08-06 | 2022-04-12 | 新华三技术有限公司成都分公司 | 一种数据更新方法及相关装置 |
US11582025B2 (en) | 2020-09-29 | 2023-02-14 | Amazon Technologies, Inc. | Efficient deduplication using block-based convergent encryption |
US11329803B2 (en) | 2020-09-29 | 2022-05-10 | Amazon Technologies, Inc. | Redundancy controls in convergent encryption using dynamic salt values |
Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH06214720A (ja) * | 1992-12-07 | 1994-08-05 | Internatl Business Mach Corp <Ibm> | ディスク記憶装置のデータ更新方法 |
Family Cites Families (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5233618A (en) * | 1990-03-02 | 1993-08-03 | Micro Technology, Inc. | Data correcting applicable to redundant arrays of independent disks |
US5195100A (en) * | 1990-03-02 | 1993-03-16 | Micro Technology, Inc. | Non-volatile memory storage of write operation identifier in data sotrage device |
US5124987A (en) * | 1990-04-16 | 1992-06-23 | Storage Technology Corporation | Logical track write scheduling system for a parallel disk drive array data storage subsystem |
US5274799A (en) * | 1991-01-04 | 1993-12-28 | Array Technology Corporation | Storage device array architecture with copyback cache |
WO1997001139A1 (en) * | 1995-06-23 | 1997-01-09 | Elonex Plc | Disk array controller with enhanced synchronous write |
US6058455A (en) * | 1997-07-02 | 2000-05-02 | International Business Corporation | RAID system having a selectable unattended mode of operation with conditional and hierarchical automatic re-configuration |
-
1997
- 1997-08-08 JP JP9214656A patent/JPH1153235A/ja active Pending
-
1998
- 1998-07-07 KR KR1019980027214A patent/KR100310896B1/ko not_active IP Right Cessation
- 1998-07-09 DE DE69831455T patent/DE69831455T2/de not_active Expired - Fee Related
- 1998-07-09 EP EP98112743A patent/EP0898228B1/en not_active Expired - Lifetime
- 1998-08-04 US US09/128,774 patent/US6219752B1/en not_active Expired - Fee Related
- 1998-08-07 CN CNB981162282A patent/CN1174318C/zh not_active Expired - Fee Related
- 1998-08-07 CN CNB011255730A patent/CN1194298C/zh not_active Expired - Fee Related
Patent Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH06214720A (ja) * | 1992-12-07 | 1994-08-05 | Internatl Business Mach Corp <Ibm> | ディスク記憶装置のデータ更新方法 |
Also Published As
Publication number | Publication date |
---|---|
CN1174318C (zh) | 2004-11-03 |
CN1208891A (zh) | 1999-02-24 |
CN1347031A (zh) | 2002-05-01 |
DE69831455T2 (de) | 2006-06-14 |
KR19990023182A (ko) | 1999-03-25 |
JPH1153235A (ja) | 1999-02-26 |
DE69831455D1 (de) | 2005-10-13 |
EP0898228B1 (en) | 2005-09-07 |
CN1194298C (zh) | 2005-03-23 |
EP0898228A3 (en) | 2004-01-21 |
EP0898228A2 (en) | 1999-02-24 |
US6219752B1 (en) | 2001-04-17 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
KR100310896B1 (ko) | 디스크기억장치의데이터갱신방법및디스크기억제어장치 | |
US6886068B2 (en) | Disk array apparatus and data update method for storing tag blocks | |
JPH11194899A (ja) | ディスク記憶システム及び同システムに適用するデータ更新方法 | |
US6311193B1 (en) | Computer system | |
US5682499A (en) | Directory rebuild method and apparatus for maintaining and rebuilding directory information for compressed data on direct access storage device (DASD) | |
US5379391A (en) | Method and apparatus to access data records in a cache memory by multiple virtual addresses | |
US5537534A (en) | Disk array having redundant storage and methods for incrementally generating redundancy as data is written to the disk array | |
US7114012B2 (en) | Computer system and method for migrating from one storage system to another | |
US5764880A (en) | Method and system for rebuilding log-structured arrays | |
US5490248A (en) | Disk array system having special parity groups for data blocks with high update activity | |
CN101807418B (zh) | 驱动装置 | |
US5457791A (en) | Storage system and method of control | |
US5864655A (en) | Managing removable media in raid and rail environments | |
US5420983A (en) | Method for merging memory blocks, fetching associated disk chunk, merging memory blocks with the disk chunk, and writing the merged data | |
US6912614B2 (en) | Disk array apparatus and data restoring method used therein | |
US6636941B1 (en) | Enhanced stable disk storage | |
JPH0736143B2 (ja) | レコードの書き込み更新方法、単一パスアクセス保証方法、及びシステム | |
JP2000010738A (ja) | ディスクアレイシステム、同システムに適用される記憶容量拡張方法および記録媒体 | |
JPH02281474A (ja) | 記憶媒体のオートチェンジャ装置 | |
CN101707060B (zh) | 驱动装置 | |
CN111124251A (zh) | 用于i/o控制的方法、装置以及计算机可读介质 | |
CN101006510B (zh) | 驱动装置 | |
JP2000047832A (ja) | ディスクアレイ装置、及びそのデータ制御方法 | |
JP3030949B2 (ja) | ディジタルデータ記録再生装置 | |
CN114281267B (zh) | 分布式存储系统间的数据迁移方法和装置 |
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: 20080813 Year of fee payment: 8 |
|
LAPS | Lapse due to unpaid annual fee |