KR20040092424A - Raid 기억 시스템의 메모리를 구성하는 장치 및 방법 - Google Patents
Raid 기억 시스템의 메모리를 구성하는 장치 및 방법 Download PDFInfo
- Publication number
- KR20040092424A KR20040092424A KR1020040026774A KR20040026774A KR20040092424A KR 20040092424 A KR20040092424 A KR 20040092424A KR 1020040026774 A KR1020040026774 A KR 1020040026774A KR 20040026774 A KR20040026774 A KR 20040026774A KR 20040092424 A KR20040092424 A KR 20040092424A
- Authority
- KR
- South Korea
- Prior art keywords
- memory
- storage
- data
- raid
- write operation
- Prior art date
Links
- 230000015654 memory Effects 0.000 title claims abstract description 79
- 238000000034 method Methods 0.000 claims abstract description 27
- 238000012360 testing method Methods 0.000 claims abstract description 6
- 230000004044 response Effects 0.000 claims description 5
- 238000004590 computer program Methods 0.000 claims description 4
- 238000012545 processing Methods 0.000 claims description 4
- 238000010586 diagram Methods 0.000 description 9
- 238000003491 array Methods 0.000 description 2
- 238000004364 calculation method Methods 0.000 description 2
- 230000015556 catabolic process Effects 0.000 description 2
- 238000010276 construction Methods 0.000 description 2
- 238000006731 degradation reaction Methods 0.000 description 2
- 230000000694 effects Effects 0.000 description 2
- 238000005516 engineering process Methods 0.000 description 2
- 230000006870 function Effects 0.000 description 2
- 230000008569 process Effects 0.000 description 2
- 230000006399 behavior Effects 0.000 description 1
- 230000008901 benefit Effects 0.000 description 1
- 230000008859 change Effects 0.000 description 1
- 238000012937 correction Methods 0.000 description 1
- 238000005259 measurement Methods 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 238000011084 recovery Methods 0.000 description 1
- 230000008929 regeneration Effects 0.000 description 1
- 238000011069 regeneration method Methods 0.000 description 1
Classifications
-
- E—FIXED CONSTRUCTIONS
- E04—BUILDING
- E04H—BUILDINGS OR LIKE STRUCTURES FOR PARTICULAR PURPOSES; SWIMMING OR SPLASH BATHS OR POOLS; MASTS; FENCING; TENTS OR CANOPIES, IN GENERAL
- E04H17/00—Fencing, e.g. fences, enclosures, corrals
- E04H17/02—Wire fencing, e.g. made of wire mesh
- E04H17/06—Parts for wire fences
- E04H17/08—Anchoring means therefor, e.g. specially-shaped parts entering the ground; Struts or the like
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/30—Monitoring
- G06F11/34—Recording or statistical evaluation of computer activity, e.g. of down time, of input/output operation ; Recording or statistical evaluation of user activity, e.g. usability assessment
- G06F11/3466—Performance evaluation by tracing or monitoring
- G06F11/3485—Performance evaluation by tracing or monitoring for I/O devices
-
- E—FIXED CONSTRUCTIONS
- E04—BUILDING
- E04H—BUILDINGS OR LIKE STRUCTURES FOR PARTICULAR PURPOSES; SWIMMING OR SPLASH BATHS OR POOLS; MASTS; FENCING; TENTS OR CANOPIES, IN GENERAL
- E04H17/00—Fencing, e.g. fences, enclosures, corrals
- E04H17/02—Wire fencing, e.g. made of wire mesh
- E04H17/10—Wire fencing, e.g. made of wire mesh characterised by the way of connecting wire to posts; Droppers
-
- 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/061—Improving I/O performance
- G06F3/0611—Improving I/O performance in relation to response time
-
- 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/0629—Configuration or reconfiguration of storage systems
- G06F3/0632—Configuration or reconfiguration of storage systems by initialisation or re-initialisation of storage 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/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
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/30—Monitoring
- G06F11/34—Recording or statistical evaluation of computer activity, e.g. of down time, of input/output operation ; Recording or statistical evaluation of user activity, e.g. usability assessment
- G06F11/3409—Recording or statistical evaluation of computer activity, e.g. of down time, of input/output operation ; Recording or statistical evaluation of user activity, e.g. usability assessment for performance assessment
- G06F11/3419—Recording or statistical evaluation of computer activity, e.g. of down time, of input/output operation ; Recording or statistical evaluation of user activity, e.g. usability assessment for performance assessment by assessing time
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2201/00—Indexing scheme relating to error detection, to error correction, and to monitoring
- G06F2201/815—Virtual
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2201/00—Indexing scheme relating to error detection, to error correction, and to monitoring
- G06F2201/885—Monitoring specific for caches
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- General Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Human Computer Interaction (AREA)
- Architecture (AREA)
- Structural Engineering (AREA)
- Civil Engineering (AREA)
- Computer Hardware Design (AREA)
- Quality & Reliability (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
- Techniques For Improving Reliability Of Storages (AREA)
- Memory System Of A Hierarchy Structure (AREA)
- Test And Diagnosis Of Digital Computers (AREA)
- Tests Of Electronic Circuits (AREA)
Abstract
본 발명은 가상 RAID 제어기와 함께 동작하여 복수개의 I/O 동작의 성능 특성을 시험함으로써 최적의 I/O 구성을 결정할 수 있는 메모리를 구비한 장치에 관한 것이다.
Description
본 발명은 RAID 기억 시스템의 메모리를 구성하는 것에 관한 것으로, 특히 가상 RAID 제어기 및 분리된 메모리를 구비한 RAID 기억 시스템의 메모리를 구성하는 것에 관한 것이다.
기억 시스템에 있어서, 독립 기억 장치의 어레이는 RAID(Redundant Array of Inexpensive Disks; 저가 디스크의 용장 어레이)라고 알려진 기술을 이용하여 단일 가상 기억 장치로서 동작하도록 구성될 수 있다. RAID 기억 시스템과 함께 동작하도록 구성된 컴퓨터 시스템은 마치 RAID 기억 시스템이 단일 기억 장치인 것처럼 RAID 기억 시스템에서 입력 및 출력(I/O) 동작(판독 및 기입 동작 등)을 수행할 수 있다. RAID 기억 시스템은 독립 기억 장치의 어레이 및 RAID 제어기를 포함한다. RAID 제어기는 독립 기억 장치 어레이의 가상 조망(virtualised view)을 제공하는데, 이것은 독립 기억 장치 어레이가 순차적인 기억 요소(storage element) 리스트를 가진 단일 가상 기억 장치로서 나타난다는 것을 의미한다. 기억 요소들은 통상적으로 기억의 블록들로 알려져 있고, 이 블록들에 기억된 데이터는 데이터 블록이라고 알려져 있다. I/O 동작은 가상 기억 장치 내의 하나 이상의 기억 블록들을 참조하여 자격이 주어진다. 가상 기억 장치에서 I/O 동작이 수행될 때, RAID 제어기는 독립 기억 장치 어레이에 I/O 동작을 맵(map)한다. 기억 장치 어레이를 가상화(virtualise)하고 I/O 동작을 맵하기 위하여, RAID 제어기는 1988년 패터슨(Patterson) 등에 의한 논문 "A Case for Redundant Arrays of Inexpensive Disks(RAID)"에서 설명되어 있는 표준 RAID 기술을 이용할 수 있다. 이 기술들의 일부는 뒤에서 고려된다.
기억 장치 어레이의 가상 조망을 단일 가상 기억 장치로서 제공함에 있어서, 기억 장치 어레이를 가로질러 가상 기억 장치의 데이터 블록들을 분산시키는 것은 RAID 제어기의 기능이다. 이것을 달성하는 한가지 방법은 스트리핑(striping)이라고 알려진 기술을 사용하는 것이다. 스트리핑은 기억 장치를 통하여 둥근 리본 형태로 데이터 블록을 분산시키는 것을 포함한다. RAID 기억 시스템에서 데이터 블록들을 기억시킬 때, 스트립(strip)이라고 알려진 다수의 데이터 블록은 각각의 기억 장치에 기억된다. 스트립의 사이즈는 특수한 RAID 구현에 의해 결정될 수 있고 또는 구성할 수 있다. 제1 기억 장치에 기억된 제1 스트립 및 후속 기억 장치에 기억된 후속 스트립을 포함한 스트립의 행은 스트라이프(stripe)라고 알려져 있다. 스트라이프의 사이즈는 스트라이프를 구성하는 모든 스트립의 총 사이즈(total size)이다. 이 방법으로 데이터 블록들을 기억하기 위하여 다수의 독립 기억 장치를 사용하면 다수의 기억 장치들이 I/O 동작 중에 병렬로 동작할 수 있기 때문에 단일 기억 장치와 비교해서 고성능 I/O 동작을 제공한다.
디스크 기억 장치와 같은 물리적 기억 장치들은 신뢰성이 나쁘고, 신뢰성 있는 기억 시스템을 제공하는 것이 RAID 제어기의 추가적인 기능이다. 신뢰성을 제공하기 위한 한가지 기술은 독립 기억 장치의 어레이에 데이터와 함께 체크 정보를 기억시키는 것을 수반한다. 체크 정보는 기억 장치 어레이에서 단일 기억 장치의 고장(failure)과 같이, 단일 지점의 고장(single point of failure)에 기인하여 판독 불능으로 되는 데이터의 재생성을 가능하게 하는 용장 정보이다. 판독 불능 데이터는 판독 가능 데이터와 용장 체크 정보의 조합으로부터 재생성된다. 체크 정보는 스트라이프 내의 단일 스트립을 점유하는 패리티 데이터로서 기록(record)되고, 스트라이프 내의 모든 데이터 스트립에 대하여 배타적 OR(XOR) 논리 연산기를 적용함으로써 계산된다. 예를 들어, 데이터 스트립 A, B 및 C를 포함하는 스트라이프는 'A XOR B XOR C'로서 계산된 패리티 스트립에 의해 추가로 보충된다. 기억 시스템에서 단일 지점 고장이 있는 경우에, 패리티 스트립은 액세스 불능 데이터 스트립을 재생성하기 위해 사용된다. 예를 들어, 데이터 스트립 A, B, C 및 패리티(PARITY)를 포함하는 스트라이프가 4개의 독립 기억 장치 W, X, Y 및 Z에 각각 기억되어 있고 기억 장치 X가 고장이면, 기억 장치 X에 기억된 스트립(B)은 액세스 불능으로 될 것이다. 스트립(B)은 나머지 데이터 스트립과 패리티 스트립으로부터 XOR 계산을 통하여 계산될 수 있다. 이러한 복구 계산은 A XOR C XOR PARITY = B이다.
고장이 있는 경우에 실행할 체크 정보에 대하여, 그것은 정확하고 유지될 필요가 있다. 그러므로, RAID 기억 시스템에서의 데이터에 대한 변화는 체크 정보의 적절한 변화에 의해 반영되어야 한다. 이것은 데이터에 대한 변화가 아래에 설명하는 이유 때문에 ("소규모 기입"이라고 알려진) 전체 스트라이프의 사이즈보다 더 작은 데이터 유닛에 영향을 줄 때에 불편할 수 있다. RAID 제어기를 구비하고 스트리핑 기술을 이용하며 각각의 스트라이프가 데이터 스트립과 패리티 스트립을 포함하는 RAID 기억 시스템을 생각하자. 기억 시스템(가상 기억 장치)의 가상 조망(virtual view)에서의 단일 블록이 단일 데이터 스트립에 대응하도록 상기 RAID 기억 시스템이 구성되면, 가상 기억 장치에 대한 단일 블록의 기입 동작은 RAID 스트라이프의 단일 스트립의 기입 동작과 같이 RAID 제어기에 의해 구현된다. 스트라이프의 단일 스트립의 변화는 대응하는 패리티 스트립에 대한 적절한 변화에 의해 반영되어야 한다. 따라서, 스트라이프의 패리티 스트립은 재계산되어야 한다. 패리티 스트립을 재계산하기 위하여, 스트라이프에 덮어쓰기(overwrite)되는 데이터 스트립("구(old)" 데이터 스트립)은 기존의 패리티 데이터로부터 배제되어야 한다. 이것은 패리티 데이터와 구 데이터 스트립에 대한 XOR 동작을 수행함으로써 달성될 수 있다. 또한, 교체 데이터 스트립("신(new)" 데이터 스트립)은 수정된 패리티 스트립을 생성하기 위해 패리티 데이터에 포함되어야 한다. 이것은 패리티 데이터와 신 데이터 스트립에 대한 XOR 동작을 수행함으로써 달성될 수 있다. 계속해서, 수정된 패리티 스트립과 신 데이터 스트립은 스트라이프 내에 기입되어야 한다. 따라서, 교체 스트립을 기존의 스트라이프에 기입하기 위하여, 이하의 동작, 즉 (구 데이터 스트립과 패리티 스트립의) 2회의 판독 동작; 패리티 스트립의 수정; 및 (신 데이터 스트립과 수정된 패리티 스트립의) 2회의 기입 동작을 수행할 필요가 있다. 소규모 기입을 실행하기 위한 이 방법은 체크 정보의 일관성을 유지하기 위해 필요한 추가의 판독 동작 및 기입 동작 때문에 RAID 기억 시스템의 성능 감소를 야기한다. 이것은 소규모 기입 동작의 판독-수정-기입 문제로서 알려져 있다.
위에서 언급한 소규모 기입 동작의 성능 관계 때문에, 기존의 체크 정보를 유지하는 필요성을 회피하기 위해 RAID 기억 시스템에 대한 기입을 행할 때 하나 이상의 완전한 스트라이프를 덮어쓰기하는 것이 바람직하다. 기입 동작에 의해 하나 이상의 완전한 스트라이프를 덮어쓰기하기 위해, RAID 기억 시스템에 기입될 데이터 유닛은 (패리티 스트립을 제외한) 스트라이프 사이즈의 배수인 적당한 사이즈를 가질 필요가 있다. 하나 이상의 완전한 스트라이프를 덮어쓰기하기 위해, 데이터 유닛은 RAID 스프라이프의 제1 스트립에 대응하는 RAID 기억 장치의 가상 조망의 블록에 기입될 필요가 또한 있다. RAID 스트라이프의 제1 스트립 외의 임의의 스트립에 대응하는 블록에 대한 기입 동작은 소규모 기입 동작인 스트라이프의 일부의 기입을 포함한다. 기입 동작이 RAID 스트라이프의 제1 스트립에 대응하는 것을 보장하는 것은 "스트라이프 정렬(stripe alignment)"이라고 알려져 있다. 따라서, 기입 동작에 의해 하나 이상의 RAID 스트라이프를 완전하게 덮어쓰기하는 것을 보장하기 위해, 주어진 RAID 기억 시스템에 대한 스트라이프 사이즈 및 정렬 기준이 정합되어야 한다. 이러한 기준을 만족시키는 기입 동작은 "스트라이프 정렬 기입(stripe aligned write)"이라고 알려져 있다. 스트라이프 정렬 기입은 하나 이상의 스트라이프가 새로 기입된 데이터로 완전하게 교체되고 새로운 체크 정보가 기입 동작의 일부로서 상기 새로운 데이터에 대하여 계산되기 때문에 RAID 스트라이프에서 기존의 체크 정보를 유지할 필요가 없다. RAID 기억 시스템에 대한 모든 기입 동작이 스트라이프 정렬되는 것을 보장함으로써 소규모 기입 동작의 판독-수정-기입 문제가 제거되어 성능이 개선된다.
RAID 기억 시스템에 대한 기입 동작은 항상 스트라이프 정렬되는 것은 아니고, 소규모 기입 동작은 소규모 기입 동작이 완전한 RAID 스트라이프보다 사이즈가 더 작은 데이터 유닛을 수반한다는 정의에 의한 것처럼 스트라이프 정렬되지 않을 것이다. 기존의 RAID 기억 시스템은 캐시 등의 메모리를 사용할 수 있고, 여기에서 다수의 소규모 기입 동작은 완전한 스트라이프를 구성하는 단일 기입 동작으로 수집된다. 결국, 소규모 기입의 수집은 스트라이프 정렬되고 RAID 기억 장치에 기입될 수 있다. 상기와 같은 실행할 캐시 메모리는 스트라이프 사이즈 및 정렬을 포함하는 RAID 기억 시스템의 파라미터 내에서 동작하도록 구성되어야 한다. 이 파라미터들은 상이한 RAID 기억 시스템에 대하여 다르게 될 수 있고, 전형적으로 상이한 판매인이 제공한 RAID 기억 시스템에 대하여 상이하다. 가끔은 사용자 또는 제어기 자체에 의해 적당한 스트라이프 사이즈 및 정렬 파라미터로서 쉽게 구성되도록 캐시 메모리가 RAID 제어기 내에 집적된다.
RAID 기억 시스템 자체는 점차적으로 스토리지 영역 네트워크(storage area network; SAN)와 같은 구성에서 가상화(virtualise)되고 있다. SAN은 하나 이상의 서버를 하나 이상의 기억 장치에 연결하는 네트워크를 포함한다. SAN의 기억 장치들은 RAID 기억 시스템으로서 구현되는 가상 기억 장치들을 포함할 수 있다. SAN 내의 하나 이상의 스위치들은 장치들을 접속하고 호스트와 기억 장치 사이에서 SAN을 통한 루트를 제공한다. SAN은 기억 장치들을 가상화하여 SAN에 접속된 장치들의 상호 동작성(interoperability)을 보장한다. 기억 장치의 실제 구현 상세가 SAN의 기타 장치들에 대하여 알려져 있지 않다는 것은 SAN의 기억 장치의 가상화의 특징이다. 예를 들어, SAN의 호스트는 SAN에 부착된 기억 장치가 단일 디스크로서 구현되는지 또는 RAID 기억 시스템으로서 구현되는지를 판정하지 못할 수 있다. SAN의 기억 장치의 가상화는 또한, 성능 및 신뢰성을 더욱 개선하기 위하여 많은 RAID 기억 시스템을 포함한 많은 기억 장치에 걸쳐 데이터를 분산시킬 수 있게 한다. 이것은 SAN의 스위치에 부착할 수 있는, IBM사의 토털 스토리지 가상화 엔진(Total Storage Virtualization Engine)과 같은 기억 설비를 이용하여 달성된다. 캐시 메모리는 RAID 기억 시스템과 같은 기억 장치 내에 집적되지 않고 SAN 내에 독립적으로 설치되어, 데이터가 다수의 SAN 기억 장치에 걸쳐 분산될 때 상기 메모리들을 사용할 수 있게 하는 것이 바람직하다. 예를 들어, 캐시 메모리는 SAN 내의 스위치에 부착된 기억 설비 내에 설치될 수 있다.
캐시 메모리가 RAID 기억 시스템의 RAID 제어기에 집적되지 않고 RAID 제어기가 예를 들면 SAN을 통하여 가상화될 때, RAID 기억 시스템의 특정의 스트라이프 사이즈 및 정렬 특성은 캐시 메모리에 용이하게 이용할 수 없다. 캐시 메모리를 가상화 RAID 제어기로부터 분리시키면 캐시 메모리가 적당한 스트라이프 사이즈 및 정렬 특성으로서 자동으로 구성될 수가 없는데, 그 이유는 상기 특성들이 캐시 메모리에 대하여 알려져 있지 않아서 수동으로 구성하거나 또는 전혀 구성할 수가 없기 때문이다. 부적절한 스트라이프 사이즈 및 정렬 구성의 결과는 기입 동작이 적절하게 스트라이프 정렬되지 않을 것이기 때문에 판독-수정-기입 문제에 봉착할 가능성을 증가시킨다. 따라서, 종래의 기억 시스템에서 상기와 같은 문제점들을 제거하기 위한 시스템 및 방법을 제공하는 것이 바람직하다.
그러므로, 본 발명은, 그 제1 태양에서, 각각의 I/O 동작이 RAID 제어기에 대한 데이터 블록의 기입을 포함하고 I/O 구성이 데이터 길이 및 데이터 정렬을 포함하는 복수의 I/O 동작의 성능 특성을 시험함으로써 최적의 I/O 구성을 판정하기 위해, 가상화 RAID 제어기와 함께 동작할 수 있는 메모리를 가진 장치를 제공한다. 이 장치는 메모리에 기억된 데이터의 가상화 RAID 제어기에 대한 기입 동작이 적당한 길이 및 정렬로 이루어져서 판독-수정-기입 문제에 봉착함이 없이 스트라이프 정렬 기입을 제공한다는 장점을 갖는다.
바람직하게, 메모리는 캐시이다.
바람직하게, 성능 특성은 응답 시간이다.
본 발명은, 제2 태양에서, I/O 동작이 RAID 제어기에 데이터 블록을 기입하는 것을 포함하는 복수의 I/O 동작을 수행하는 단계와; 상기 복수의 I/O 동작의 성능 특성을 시험하는 단계와; 상기 시험 단계에 응답하여, I/O 구성이 데이터 길이 및 데이터 정렬을 포함하는 최적의 I/O 구성을 후속 I/O 동작을 위하여 설정하는 단계를 포함하는, 가상 RAID 제어기와 함께 동작할 수 있는 메모리를 구비한 장치를 동작시키는 방법을 제공한다.
본 발명은 또한, 제3 태양에서, 데이터 처리 시스템에서 실행될 때 데이터처리 시스템이 상기 방법을 수행하도록 지시하는 컴퓨터 판독 가능한 기억 매체에 저장된 컴퓨터 프로그램 코드를 포함한 컴퓨터 프로그램 제품을 제공한다.
도 1은 본 발명의 양호한 실시예에서 스토리지 영역 네트워크(SAN)의 구성을 나타내는 개략도.
도 2는 가상 기억 장치의 예시적인 구성을 나타내는 개략도.
도 3은 도 1의 기억 장치 어레이를 가로질러 도 2의 기억 블록들이 스트립된 상기 기억 장치 어레이의 예시적인 구성을 나타내는 개략도.
도 4는 가상 기억 장치에 대한 기입을 행할 때 기억 설비에 의해 개시되는 기입 동작의 성분들을 나타내는 개략도.
도 5는 도 2의 가상 기억 장치에 대한 스트라이프 정렬 기입 동작을 제공하도록 도 1의 기억 설비를 구성하는 방법을 나타내는 흐름도.
<도면의 주요 부분에 대한 부호의 설명>
102 : 스토리지 영역 네트워크(SAN)
104 : 호스트
106 : 스위치
108 : RAID 기억 시스템
20 : 가상 기억 장치
30, 32, 34 : 기억 장치
36 : 스트라이프
1084 : 기억 장치 어레이
도 1은 본 발명의 양호한 실시예에서 스토리지 영역 네트워크(SAN)(102)의 구성을 나타내는 개략도이다. SAN(102)은 기억 설비(1062)를 포함한 스위치(106)를 구비한다. 양호한 실시예에 있어서, 기억 설비(1062)는 IBM사의 토털 스토리지 가상화 엔진이다. 기억 설비(1062)는 메모리(10622)와, 스트라이프 사이즈 속성(10624)과, 스트라이프 정렬 속성(10626)을 포함한다. 양호한 실시예에 있어서, 메모리(10622)는 캐시이다. 대안적으로, 메모리(10622)는 입력 버퍼 또는 출력 버퍼이다. 스트라이프 사이즈 속성(10624)과 스트라이프 정렬 속성(10626)은 기억 설비(1062)의 구성 파라미터이다. SAN(102)은 호스트(104)를 RAID 기억 시스템(108)에 접속한다. 양호한 실시예에 있어서, 호스트(104)는 컴퓨터 시스템이다. RAID 기억 시스템(108)은 RAID 제어기(1082)와 기억 장치의 어레이(1084)를 포함한다. 양호한 실시예에 있어서, 기억 장치의 어레이(1084)는 디스크의 어레이이다. RAID 제어기(1082)는 기억 장치 어레이(1084)를 가로질러 데이터를 분산시키기 위하여 스트리핑을 이용한다. RAID 제어기(1082)는 또한 기억 장치 어레이(1084)에 기억된 데이터에 대하여 패리티 정보를 유지한다. 이러한 기술을 이용함으로써, RAID 제어기(1082)는 단일 가상 기억 장치로서 기억 장치 어레이(1084)에 대한 신뢰성 있는 액세스를 제공한다.
도 2는 가상 기억 장치(20)의 예시적인 구성을 나타내는 개략도이다. 가상기억 장치는 물리적인 기억 장치가 아니고, 그 대신에 RAID 제어기(1082)에 의해 SAN(102) 및 호스트(104)에 나타나는 기억 장치 어레이(1084)를 나타낸다. 가상 기억 장치(20)는 각각 고정량의 데이터를 기억하는 기억 요소인 순차적인 기억 블록(202, 204, 206, 208)의 리스트를 포함한다. 기억 블록들(202, 204, 206, 208)은 이들이 기억할 수 있는 데이터의 바이트의 수를 나타내는 기억 용량을 각각 가지며, 각 기억 블록들(202, 204, 206, 208)의 기억 용량은 동일하다. 기억 블록들(202, 204, 206, 208)은 도 3에 도시되고 이하에 설명하는 바와 같이 RAID 제어기(1082)에 의해 기억 장치 어레이(1084)를 가로질러 스트립된다.
도 3은 도 2의 기억 블록들(202, 204, 206, 208)이 스트립된 도 1의 기억 장치 어레이(1084)의 예시적인 구성을 나타내는 개략도이다. 기억 장치 어레이(1084)는 개별적인 기억 장치(30, 32, 34)를 포함한다. 가상 기억 장치(20)에 기억된 데이터는 RAID 제어기(1082)에 의해 기억 장치 어레이(1084)를 가로질러 스트립된다. 데이터 스트라이프(36)는 기억 장치(30, 32, 34)에 각각 기억되어 있는 스트립(302, 322) 및 패리티 스트립(342)을 포함한다. 예시된 구성에서, 스트립(302, 322)과 패리티 스트립(342)은 각각 2개의 기억 블록을 내포하고 있다. 결국, 가상 기억 장치(20)는 기억 블록(202, 204)을 기억 장치(30)의 스트립(302)에 저장하고, 기억 블록(206, 208)을 기억 장치(32)의 스트립(322)에 저장하는 것에 의해 기억 장치 어레이(1084)를 가로질러 스트립된다. 추가적으로, RAID 제어기(1082)는 기억 장치(34)에 패리티 스트립(342)을 유지한다. 패리티 스트립(342)은 패리티 데이터를 기억하는 2개의 기억 블록(3422, 3424)을 포함한다. 패리티 데이터는 배타적 OR(XOR) 논리 연산기를 이용하여 RAID 제어기(1082)에 의해 계산된다. 기억 블록(3422)에 기억된 패리티 데이터는 기억 블록(202)에 기억된 데이터와 기억 블록(206)에 기억된 데이터를 XOR한 것이다. 기억 블록(3424)에 기억된 패리티 데이터는 기억 블록(204)에 기억된 데이터와 기억 블록(208)에 기억된 데이터를 XOR한 것이다. 기억 장치 중의 하나(30 또는 32)가 고장인 것과 같은 단일 지점의 고장이 있는 경우에, 패리티 스트립(342)은 스트라이프(36)의 손실된 스트립을 재생성하기 위해 사용될 수 있다.
동작시에, 호스트(104)는 RAID 기억 시스템(108)과 함께 동작하여 호스트(104)가 가상 기억 장치(20)에 대한 입력 및 출력(I/O) 동작을 수행할 수 있다. 가상 기억 장치(20)에 대한 I/O 동작은 스위치(106)와 기억 설비(1062)를 통하여 이루어진다. 스위치(106)는 기억 설비(1062)에 대하여 I/O 동작을 지시하고, 이 기억 설비(1062)는 메모리(10622)를 이용하여 가상 기억 장치(20)에 대한 스트라이프 정렬 기입 동작을 수행한다. 기억 설비(1062)가 가상 기억 장치(20)에 대한 I/O 동작을 수행할 때, RAID 제어기(1082)는 상기 I/O 동작을 기억 장치 어레이(1084)에 대한 I/O 동작으로 변환시킨다. RAID 기억 시스템(108)과 RAID 제어기(1082)는 SAN(102)의 스위치(106) 및 기억 설비(1062)에 의해 가상화된다고 말하여진다.
도 4는 가상 기억 장치(20)에 대한 기입시에 기억 설비(1062)에 의해 개시되는 기입 동작(402)의 성분들을 나타내는 블록도이다. 기입 동작(402)은 가상 기억 장치(20)에 기입될 데이터 유닛(404)을 포함한다. 기입 동작(402)은 또한 데이터 사이즈 파라미터(406)를 포함한다. 데이터 사이즈 파라미터(406)의 값은 가상 기억장치(20)에 기입될 데이터 유닛(404)의 사이즈의 측정치이고 가상 기억 장치(20)의 다수의 기억 블록으로서 표현될 수 있다. 기입 동작(402)은 또한 블록 파라미터(408)를 포함한다. 블록 파라미터(408)의 값은 가상 기억 장치(20)의 어느 기억 블록(202, 204, 206 또는 208)에 데이터 유닛(404)이 기입되어야 하는지를 식별한다. 특수한 기입 동작을 위한 데이터 사이즈 파라미터(406)와 블록 파라미터(408)의 조합은 기입 동작(402)을 위한 파라미터 투플(parameter-tuple)이라고 한다. 동작시에, 기입 동작(402)은 데이터 유닛(404)이 블록 파라미터(408)에 의해 식별된 기억 블록에서 시작하여 가상 기억 장치(20)에 기입되게 한다. 이 기술에 숙련된 사람들에게 알려져 있는 바와 같이, 기억 블록의 용량보다 더 큰 데이터 유닛이 기억 장치의 초기 기억 블록에 기입되면, 데이터 유닛의 기억을 위해 초기 기억 블록으로 시작하는 후속 기억 블록의 수집이 이용된다.
기억 설비(1062)가 메모리(10622)를 이용하여 가상 기억 장치(20)에 대한 스트라이프 정렬 기입 동작을 제공하기 위해서는 RAID 제어기(1082)에 대하여 적당한 스트라이프 사이즈 속성(10624) 및 스트라이프 정렬 속성(10626)을 가진 기억 설비(1062)를 구성할 필요가 있다. 이 파라미터들은 가상 기억 장치(20)에 대한 일련의 기입 동작의 성능을 분석함으로써 기억 설비(1062)에 의해 판정되고, 각각의 기입 동작은 상이한 파라미터 투플을 갖는다. 양호한 실시예에 있어서, 이러한 기입 동작은 RAID 기억 시스템(108)이 아이들(idle) 상태에 있을 때에 발생한다.
도 5는 도 2의 가상 기억 장치(20)에 대한 스트라이프 정렬 기입 동작을 제공하기 위하여 도 1의 기억 설비(1062)를 구성하는 방법을 설명하는 흐름도이다.도 5의 방법은 기억 설비(1062)에 의해 실행되고 가상 기억 장치(20)에 대한 반복된 기입 동작을 수반한다. 단계 500에서, 다수의 파라미터 투플 세트가 컴파일되고, 각각의 파라미터 투플은 데이터 사이즈 파라미터(406)와 블록 파라미터(408)의 상이한 조합을 포함한다. 단계 502는 파라미터 투플 세트의 각 파라미터 투플을 통한 루프를 개시한다. 단계 504에서, 기억 설비(1062)는 각각의 파라미터 투플에 대하여 기입 파라미터로서 파라미터 투플을 가진 가상 기억 장치(20)에 대한 기입 동작을 수행한다. 단계 506에서, 기입 동작의 성능 측정이 행하여지고 기록된다. 양호한 실시예에 있어서, 성능 측정은 단계 504에서 기입 동작을 완성하는데 걸리는 시간의 측정을 포함한다. 성능 측정은 랜덤 액세스 메모리(도시 생략)와 같은 기억 설비(1062)의 기억 장치에 기록될 수 있다. 단계 508은 각각의 파라미터 투플을 통한 루프를 계속한다. 단계 510에서, 최상의 성능을 가진 기입 동작이 각 기입 동작의 성능의 기록으로부터 식별된다. 양호한 실시예에 있어서, 최상의 성능을 가진 기입 동작은 완성하는데 최소의 시간이 소요되는 기입 동작이 되는 것으로 판정된다. 최상의 성능을 가진 기입 동작을 식별함에 있어서, 대응하는 파라미터 투플이 식별된다. 계속하여 단계 512에서, 기억 설비(1062)는 스트라이프 사이즈(10624)의 값이 최상의 성능을 가진 기입 동작의 데이터 사이즈 파라미터(406)의 값이 되도록 설정되고, 스트라이프 정렬(10626)의 값이 최상의 성능을 가진 기입 동작의 블록 파라미터(408)의 값이 되도록 구성된다.
최상의 성능을 가진 기입 동작의 파라미터 투플에 따르는 스트라이프 사이즈(10624)와 스트라이프 정렬(10626)을 가진 기억 설비(1062)의 구성은 캐시와같은 메모리(10622)를 이용하여 스트라이프 정렬 기입 동작에 대한 기억 설비(1062)를 제공한다. 기억 설비(1062)에 의한 스트라이프 정렬 기입 동작은 판독-수정-기입 문제에 봉착하지 않음으로써 I/O 성능을 개선한다.
도 5의 방법의 예로서 아래의 표 1에 표시한 3개의 파라미터 투플의 세트를 생각한다.
파라미터 투플 | 데이터 사이즈 파라미터(406) | 블록 파라미터(408) |
Q | 3개의 블록 | 가상 기억 장치(20)의 블록(204) |
R | 2개의 블록 | 가상 기억 장치(20)의 블록(202) |
S | 4개의 블록 | 가상 기억 장치(20)의 블록(202) |
단계 500에서, 파라미터 투플 Q, R 및 S의 세트는 표 1에 표시한 바와 같이 정의된다. 단계 502는 파라미터 투플 Q에서 시작하여 각 파라미터 투플을 통한 루프를 개시한다. 단계 504에서, 기억 설비(1062)는 기입 파라미터로서 파라미터 투플 Q를 가진 가상 기억 장치(20)에 대한 기입 동작을 수행한다. 따라서, 3개의 데이터 블록들이 가상 기억 장치(20)의 기억 블록(204)에 기입되게 하는 기입 동작이 발생한다. 이제 도 2를 참조하면, 파라미터 투플 Q에 대한 기입 동작은 가상 기억 장치(20)의 기억 블록(204, 206, 208)에 데이터가 기입되게 한다. 기입 동작은 RAID 제어기(1082)에 의해 기억 장치 어레이(1084)를 가로지르는 기입 동작으로 변환된다. 이제 도 3을 참조하면, 파라미터 투플 Q에 대한 기입 동작은 기억 장치 어레이(1084)의 스트립(302)의 기억 블록(204) 및 스트립(322)의 기억 블록(206, 208)에 데이터가 기입되게 한다. 그 결과, 전체 스트라이프(36)가 기입되지 않고(기억 블록 202는 기입되지 않음), 패리티 스트립(342)은 판독-수정-기입 처리를 이용하여 기억 블록(204, 206, 208)에 대한 변화를 반영하도록 갱신되어야 한다. 패리티 스트립의 갱신은 파라미터 투플 Q에 대한 기입 동작을 완성하는데 필요한 시간을 증가시키는 효과를 갖고, 그에 따라서 단계 506에서 측정 및 기록되는 기입 동작의 성능 저하를 야기한다. 단계 508에서, 루프는 아래에 설명하는 바와 같이 다음 파라미터 투플 R에 대하여 계속된다.
단계 504에서, 기억 설비(1062)는 기입 파라미터로서 파라미터 투플 R을 가진 가상 기억 장치(20)에 대한 기입 동작을 수행한다. 따라서, 2개의 데이터 블록이 가상 기억 장치(20)의 기억 블록(202)에서 기입되게 하는 기입 동작이 발생한다. 이제 도 2를 참조하면, 파라미터 투플 R에 대한 기입 동작은 가상 기억 장치(20)의 기억 블록(202, 204)에 데이터가 기입되게 한다. 기입 동작은 RAID 제어기(1082)에 의해 기억 장치 어레이(1084)를 가로지르는 기입 동작으로 변환된다. 이제 도 3을 참조하면, 파라미터 투플 R에 대한 기입 동작은 기억 장치 어레이(1084)의 스트립(302)의 기억 블록(202, 204)에 데이터가 기입되게 한다. 그 결과, 전체 스트라이프(36)가 기입되지 않고(기억 블록 206과 208은 기입되지 않음), 패리티 스트립(342)은 판독-수정-기입 처리를 이용하여 기억 블록(202, 204)에 대한 변화를 반영하도록 갱신되어야 한다. 패리티 스트립의 갱신은 파라미터 투플 R에 대한 기입 동작을 완성하는데 필요한 시간을 증가시키는 효과를 갖고, 그에 따라서 단계 506에서 측정 및 기록되는 기입 동작의 성능 저하를 야기한다. 단계 508에서, 루프는 아래에 설명하는 바와 같이 다음 파라미터 투플 S에 대하여 계속된다.
단계 504에서, 기억 설비(1062)는 기입 파라미터로서 파라미터 투플 S를 가진 가상 기억 장치(20)에 대한 기입 동작을 수행한다. 따라서, 4개의 데이터 블록이 가상 기억 장치(20)의 기억 블록(202)에서 기입되게 하는 기입 동작이 발생한다. 이제 도 2를 참조하면, 파라미터 투플 S에 대한 기입 동작은 가상 기억 장치(20)의 기억 블록(202, 204, 206, 208)에 데이터가 기입되게 한다. 기입 동작은 RAID 제어기(1082)에 의해 기억 장치 어레이(1084)를 가로지르는 기입 동작으로 변환된다. 이제 도 3을 참조하면, 파라미터 투플 S에 대한 기입 동작은 기억 장치 어레이(1084)의 스트립(302)의 기억 블록(202, 204)과 스트립(322)의 기억 블록(206, 208)에 데이터가 기입되게 한다. 그 결과, 전체 스트라이프(36)가 기입되고, 패리티 스트립(342)은 RAID 제어기(1082)에 의해 계산된다. 파라미터 투플 S에 대한 기입 동작에서는 판독-수정-기입 문제에 봉착되지 않기 때문에, 기입 동작의 성능은 높고, 이것은 단계 506에서 측정 및 기록된다. 단계 508에서, 루프는 3개의 파라미터 투플(Q, R, S)이 모두 처리되었을 때 종료한다.
단계 510에서, 최상의 성능을 가진 기입 동작은 각 기입 동작의 성능의 기록으로부터 식별된다. 이 예에서, 파라미터 투플 Q 및 R에 대한 기입 동작은 판독-수정-기입 문제에 봉착하고, 그 결과 성능이 저하된다. 파라미터 투플 S에 대한 기입 동작은 판독-수정-기입 문제에 봉착하지 않고, 그 결과, 완성에 최소의 시간이 소요되는 최고의 성능을 가진 기입 동작이다. 결국, 단계 512에서, 기억 설비(1062)는 스트라이프 사이즈(10624)의 값이 최상의 성능을 가진 기입 동작의 데이터 사이즈 파라미터(406)의 값이 되도록 설정되게 구성되고, 스트라이프 정렬(10626)의 값이 최상의 성능을 가진 기입 동작의 블록 파라미터(408)의 값이 되도록 구성된다. 따라서, 스트라이프 사이즈(10624)의 값은 4개의 블록의 사이즈가 되도록 설정되고, 스트라이프 정렬(10626)의 값은 가상 기억 장치(20)의 블록(202)이 되도록 설정된다.
지금까지 양호한 실시예를 상세하게 설명하였지만, 이 기술에 숙련된 사람이라면 본 발명의 정신 및 범위로부터 이탈함이 없이 많은 변형예가 가능하다는 것을 이해할 수 있을 것이다.
본 발명에 의하면, 메모리에 기억된 데이터의 가상화 RAID 제어기에 대한 기입 동작이 적당한 길이 및 정렬로 이루어져서 판독-수정-기입 문제에 봉착함이 없이 스트라이프 정렬 기입을 제공할 수 있다.
Claims (12)
- 가상화 RAID 제어기와 함께 동작하여 복수개의 I/O 동작의 성능 특성을 시험함으로써 최적의 I/O 구성을 결정할 수 있는 메모리를 구비한 장치로서, 각각의 상기 I/O 동작은 상기 RAID 제어기에 대한 데이터 블록의 기입을 포함하며, 상기 I/O 구성은 데이터 길이 및 데이터 정렬을 포함하는 것인 장치.
- 제1항에 있어서, 상기 메모리는 캐시인 장치.
- 제1항에 있어서, 상기 메모리는 입력 버퍼인 장치.
- 제1항에 있어서, 상기 메모리는 출력 버퍼인 장치.
- 제1항에 있어서, 상기 성능 특성은 응답 시간인 장치.
- 가상화 RAID 제어기와 함께 동작하는 메모리를 구비한 장치를 동작시키는 방법에 있어서,I/O 동작이 상기 RAID 제어기에 데이터 블록을 기입하는 것을 포함하는 복수개의 I/O 동작을 수행하는 단계와;상기 복수개의 I/O 동작의 성능 특성을 시험하는 단계와;상기 시험 단계에 응답하여, I/O 구성이 데이터 길이 및 데이터 정렬을 포함하는 최적의 I/O 구성을 후속 I/O 동작을 위하여 설정하는 단계를 포함하는 동작 방법.
- 제6항에 있어서, 상기 RAID 제어기가 아이들(idle) 상태에 있을 때 상기 방법을 수행하는 동작 방법.
- 제6항에 있어서, 상기 메모리는 캐시인 동작 방법.
- 제6항에 있어서, 상기 메모리는 입력 버퍼인 동작 방법.
- 제6항에 있어서, 상기 메모리는 출력 버퍼인 동작 방법.
- 제6항에 있어서, 상기 성능 특성은 응답 시간인 동작 방법.
- 데이터 처리 시스템에서 실행될 때 상기 데이터 처리 시스템이 청구항 제6항에 기재된 방법을 실행하도록 지시하는, 컴퓨터 판독 가능한 기억 매체에 저장된 컴퓨터 프로그램 코드를 포함하는 컴퓨터 프로그램 제품.
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
GB0309538.7 | 2003-04-26 | ||
GB0309538A GB2400935B (en) | 2003-04-26 | 2003-04-26 | Configuring memory for a raid storage system |
Publications (2)
Publication Number | Publication Date |
---|---|
KR20040092424A true KR20040092424A (ko) | 2004-11-03 |
KR100637779B1 KR100637779B1 (ko) | 2006-10-25 |
Family
ID=33042180
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
KR1020040026774A KR100637779B1 (ko) | 2003-04-26 | 2004-04-19 | Raid 기억 시스템의 메모리를 구성하는 장치 및 방법 |
Country Status (6)
Country | Link |
---|---|
US (2) | US7191285B2 (ko) |
JP (2) | JP2004326759A (ko) |
KR (1) | KR100637779B1 (ko) |
CN (1) | CN1280702C (ko) |
GB (1) | GB2400935B (ko) |
TW (1) | TWI266187B (ko) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR100793224B1 (ko) * | 2005-10-28 | 2008-01-10 | 후지쯔 가부시끼가이샤 | Raid 시스템, raid 컨트롤러 및 그 재구성/재복사처리 방법 |
KR100793531B1 (ko) | 2005-09-30 | 2008-01-14 | 후지쯔 가부시끼가이샤 | Raid 시스템 및 그 리빌드/카피백 처리 방법 |
Families Citing this family (72)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20040011532A1 (en) * | 2002-07-16 | 2004-01-22 | White Jack D. | Combined rod guide and rod rotator device |
US8560671B1 (en) | 2003-10-23 | 2013-10-15 | Netapp, Inc. | Systems and methods for path-based management of virtual servers in storage network environments |
US20060095138A1 (en) * | 2004-06-09 | 2006-05-04 | Csaba Truckai | Composites and methods for treating bone |
US7678116B2 (en) | 2004-12-06 | 2010-03-16 | Dfine, Inc. | Bone treatment systems and methods |
US7559932B2 (en) * | 2004-12-06 | 2009-07-14 | Dfine, Inc. | Bone treatment systems and methods |
US7682378B2 (en) | 2004-11-10 | 2010-03-23 | Dfine, Inc. | Bone treatment systems and methods for introducing an abrading structure to abrade bone |
US20060100706A1 (en) * | 2004-11-10 | 2006-05-11 | Shadduck John H | Stent systems and methods for spine treatment |
DE102005023258A1 (de) * | 2004-11-16 | 2006-11-23 | Fan Separator Gmbh | Drehtrommel zur aeroben Erwärmung rieselfähiger Feststoffe |
US8562607B2 (en) * | 2004-11-19 | 2013-10-22 | Dfine, Inc. | Bone treatment systems and methods |
US20060122614A1 (en) * | 2004-12-06 | 2006-06-08 | Csaba Truckai | Bone treatment systems and methods |
US8070753B2 (en) * | 2004-12-06 | 2011-12-06 | Dfine, Inc. | Bone treatment systems and methods |
US7722620B2 (en) | 2004-12-06 | 2010-05-25 | Dfine, Inc. | Bone treatment systems and methods |
US7717918B2 (en) * | 2004-12-06 | 2010-05-18 | Dfine, Inc. | Bone treatment systems and methods |
US7302522B2 (en) * | 2004-12-27 | 2007-11-27 | Lsi Corporation | Optimizing I/O performance in a RAID subsystem using an adaptive maximum request size for a logical drive |
CN100354833C (zh) * | 2005-01-14 | 2007-12-12 | 英业达股份有限公司 | San系统异常情况下的保护方法 |
CN100388239C (zh) * | 2005-01-18 | 2008-05-14 | 英业达股份有限公司 | 在线增加廉价磁盘冗余阵列磁盘数量的方法与系统 |
JP2007011673A (ja) * | 2005-06-30 | 2007-01-18 | Fujitsu Ltd | ホスト間データ転送方法、プログラム及びシステム |
US8540723B2 (en) | 2009-04-14 | 2013-09-24 | Dfine, Inc. | Medical system and method of use |
US9066769B2 (en) | 2005-08-22 | 2015-06-30 | Dfine, Inc. | Bone treatment systems and methods |
US8777479B2 (en) | 2008-10-13 | 2014-07-15 | Dfine, Inc. | System for use in bone cement preparation and delivery |
US20070118144A1 (en) * | 2005-09-01 | 2007-05-24 | Csaba Truckai | Systems for sensing retrograde flows of bone fill material |
CN100336007C (zh) * | 2005-09-29 | 2007-09-05 | 威盛电子股份有限公司 | 磁盘阵列数据写入方法 |
US7451354B2 (en) * | 2006-01-06 | 2008-11-11 | International Business Business Machines | Apparatus and method to configure, format, and test, a data storage subsystem product |
US20070214314A1 (en) * | 2006-03-07 | 2007-09-13 | Reuter James M | Methods and systems for hierarchical management of distributed data |
US7415574B2 (en) * | 2006-07-05 | 2008-08-19 | Cisco Technology, Inc. | Dynamic, on-demand storage area network (SAN) cache |
US8046629B1 (en) * | 2006-07-24 | 2011-10-25 | Marvell World Trade Ltd. | File server for redundant array of independent disks (RAID) system |
US7676702B2 (en) * | 2006-08-14 | 2010-03-09 | International Business Machines Corporation | Preemptive data protection for copy services in storage systems and applications |
US8696679B2 (en) | 2006-12-08 | 2014-04-15 | Dfine, Inc. | Bone treatment systems and methods |
WO2008097855A2 (en) * | 2007-02-05 | 2008-08-14 | Dfine, Inc. | Bone treatment systems and methods |
JP4347351B2 (ja) * | 2007-02-15 | 2009-10-21 | 富士通株式会社 | データ暗号化装置、データ復号化装置、データ暗号化方法、データ復号化方法およびデータ中継装置 |
US8065398B2 (en) * | 2007-03-19 | 2011-11-22 | Network Appliance, Inc. | Method and apparatus for application-driven storage provisioning on a unified network storage system |
US7882393B2 (en) * | 2007-03-28 | 2011-02-01 | International Business Machines Corporation | In-band problem log data collection between a host system and a storage system |
US8556910B2 (en) | 2007-04-03 | 2013-10-15 | Dfine, Inc. | Bone treatment systems and methods |
WO2008137428A2 (en) | 2007-04-30 | 2008-11-13 | Dfine, Inc. | Bone treatment systems and methods |
US7779308B2 (en) * | 2007-06-21 | 2010-08-17 | International Business Machines Corporation | Error processing across multiple initiator network |
US7856022B1 (en) * | 2007-06-28 | 2010-12-21 | Emc Corporation | Non-disruptive data migration with external virtualization engine |
US9597118B2 (en) | 2007-07-20 | 2017-03-21 | Dfine, Inc. | Bone anchor apparatus and method |
EP2248003A1 (en) * | 2007-12-31 | 2010-11-10 | Netapp, Inc. | System and method for automatic storage load balancing in virtual server environments |
US9445854B2 (en) * | 2008-02-01 | 2016-09-20 | Dfine, Inc. | Bone treatment systems and methods |
EP2252336B1 (en) | 2008-02-28 | 2014-06-25 | Dfine, Inc. | Bone treatment systems and methods |
US9180416B2 (en) | 2008-04-21 | 2015-11-10 | Dfine, Inc. | System for use in bone cement preparation and delivery |
US8171339B2 (en) * | 2008-06-02 | 2012-05-01 | International Business Machines Corporation | Testing a virtualised storage system in response to disk exercising commands |
JP2010009548A (ja) * | 2008-06-30 | 2010-01-14 | Toshiba Corp | 記憶装置、制御装置、記憶システム、および記憶方法 |
TW201028845A (en) * | 2009-01-16 | 2010-08-01 | Inventec Corp | RAID testing method and testing system |
US8266501B2 (en) * | 2009-09-29 | 2012-09-11 | Micron Technology, Inc. | Stripe based memory operation |
US8495289B2 (en) * | 2010-02-24 | 2013-07-23 | Red Hat, Inc. | Automatically detecting discrepancies between storage subsystem alignments |
US10922225B2 (en) | 2011-02-01 | 2021-02-16 | Drobo, Inc. | Fast cache reheat |
WO2012106418A2 (en) * | 2011-02-01 | 2012-08-09 | Drobo, Inc. | System, apparatus, and method supporting asymmetrical block-level redundant storage |
US20120278527A1 (en) * | 2011-04-26 | 2012-11-01 | Byungcheol Cho | System architecture based on hybrid raid storage |
US20120278550A1 (en) * | 2011-04-26 | 2012-11-01 | Byungcheol Cho | System architecture based on raid controller collaboration |
US9176670B2 (en) * | 2011-04-26 | 2015-11-03 | Taejin Info Tech Co., Ltd. | System architecture based on asymmetric raid storage |
JP2012252485A (ja) * | 2011-06-02 | 2012-12-20 | Nec Corp | 記憶制御装置、及び、記憶制御方法 |
US8650471B2 (en) * | 2011-06-28 | 2014-02-11 | Dell Products L.P. | System and method for look-aside parity based raid |
US8327185B1 (en) | 2012-03-23 | 2012-12-04 | DSSD, Inc. | Method and system for multi-dimensional raid |
US9411817B2 (en) * | 2013-09-23 | 2016-08-09 | Google Inc. | Programmatically choosing preferred storage parameters for files in large-scale distributed storage systems based on desired file reliability or availability |
US9477679B2 (en) * | 2013-09-20 | 2016-10-25 | Google Inc. | Programmatically choosing preferred storage parameters for files in large-scale distributed storage systems |
CN103645995B (zh) * | 2013-12-04 | 2016-12-07 | 华为技术有限公司 | 写数据的方法及装置 |
US9830110B2 (en) * | 2014-06-20 | 2017-11-28 | Dell Products, Lp | System and method to enable dynamic changes to virtual disk stripe element sizes on a storage controller |
US9917790B2 (en) | 2014-07-31 | 2018-03-13 | Microsoft Technology Licensing, Llc | Storage device access mediation |
JP6540068B2 (ja) * | 2015-02-10 | 2019-07-10 | 富士通株式会社 | ストレージ制御装置、制御方法、および制御プログラム |
US10466913B2 (en) | 2015-04-29 | 2019-11-05 | EMC IP Holding Company LLC | Method and system for replicating and using grid level metadata in a storage system |
US10254992B2 (en) * | 2015-04-30 | 2019-04-09 | International Business Machines Corporation | Rebalancing data storage in a dispersed storage network |
US9740440B2 (en) * | 2015-05-21 | 2017-08-22 | Lenovo Enterprise Solutions (Singapore) Pte. Ltd. | Separating a hybrid asymmetric mix of a RAID 1 mirror and a parity-based RAID array |
WO2016190891A1 (en) * | 2015-05-23 | 2016-12-01 | Hewlett Packard Enterprise Development Lp | Translate data operations based on data stripe size |
US10127113B1 (en) | 2016-03-31 | 2018-11-13 | EMC IP Holding Company LLC | Method and system for checkerboard RAID |
US12001676B2 (en) | 2016-09-01 | 2024-06-04 | Samsung Electronics Co., Ltd. | Storage device and host for the same |
US10969960B2 (en) * | 2016-09-01 | 2021-04-06 | Samsung Electronics Co., Ltd. | Storage device and host for the same |
US10339062B2 (en) | 2017-04-28 | 2019-07-02 | EMC IP Holding Company LLC | Method and system for writing data to and read data from persistent storage |
US10289491B1 (en) | 2017-04-28 | 2019-05-14 | EMC IP Holding Company LLC | Method and system for implementing multi-dimensional raid in an extensible storage array to optimize performance |
US10614019B2 (en) | 2017-04-28 | 2020-04-07 | EMC IP Holding Company LLC | Method and system for fast ordered writes with target collaboration |
US10466930B2 (en) | 2017-04-28 | 2019-11-05 | EMC IP Holding Company LLC | Method and system for fast ordered writes with atomic multicast |
CN109683817A (zh) * | 2018-12-14 | 2019-04-26 | 浪潮电子信息产业股份有限公司 | 一种数据写入方法、系统及电子设备和存储介质 |
Family Cites Families (13)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP3747788B2 (ja) * | 1993-06-21 | 2006-02-22 | 株式会社日立製作所 | 計算機システムおよび二次記憶装置 |
US5615335A (en) * | 1994-11-10 | 1997-03-25 | Emc Corporation | Storage system self-test apparatus and method |
US5623598A (en) * | 1994-11-22 | 1997-04-22 | Hewlett-Packard Company | Method for identifying ways to improve performance in computer data storage systems |
JP3201219B2 (ja) | 1995-05-29 | 2001-08-20 | 三菱電機株式会社 | 入出力処理システム |
JP3400297B2 (ja) | 1997-06-04 | 2003-04-28 | 株式会社日立製作所 | 記憶サブシステムおよび記憶サブシステムのデータコピー方法 |
US6567889B1 (en) * | 1997-12-19 | 2003-05-20 | Lsi Logic Corporation | Apparatus and method to provide virtual solid state disk in cache memory in a storage controller |
JPH11203055A (ja) * | 1998-01-09 | 1999-07-30 | Alps Electric Co Ltd | ディスクアレイ装置 |
WO2000067250A2 (en) * | 1999-05-03 | 2000-11-09 | 3Ware Company | Methods and systems for mirrored disk arrays |
US6629158B1 (en) * | 2000-02-16 | 2003-09-30 | International Business Machines Corporation | System, apparatus, and method for configuring an array controller |
JP3557994B2 (ja) * | 2000-04-05 | 2004-08-25 | 日本電気株式会社 | ファイルデータ格納装置及び方法並びに記録媒体 |
US6687765B2 (en) * | 2001-01-16 | 2004-02-03 | International Business Machines Corporation | System, method, and computer program for explicitly tunable I/O device controller |
US6665743B2 (en) * | 2001-04-18 | 2003-12-16 | International Business Machines Corporation | Method, system, and program for initializing a storage space |
US20030135609A1 (en) * | 2002-01-16 | 2003-07-17 | Sun Microsystems, Inc. | Method, system, and program for determining a modification of a system resource configuration |
-
2003
- 2003-04-26 GB GB0309538A patent/GB2400935B/en not_active Expired - Fee Related
-
2004
- 2004-02-11 CN CNB2004100053556A patent/CN1280702C/zh not_active Expired - Fee Related
- 2004-03-23 US US10/806,620 patent/US7191285B2/en not_active Expired - Fee Related
- 2004-03-24 TW TW093108024A patent/TWI266187B/zh not_active IP Right Cessation
- 2004-04-06 JP JP2004112539A patent/JP2004326759A/ja active Pending
- 2004-04-19 KR KR1020040026774A patent/KR100637779B1/ko not_active IP Right Cessation
-
2007
- 2007-01-08 US US11/620,758 patent/US20070113008A1/en not_active Abandoned
-
2009
- 2009-04-23 JP JP2009104812A patent/JP2009163773A/ja active Pending
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR100793531B1 (ko) | 2005-09-30 | 2008-01-14 | 후지쯔 가부시끼가이샤 | Raid 시스템 및 그 리빌드/카피백 처리 방법 |
KR100793224B1 (ko) * | 2005-10-28 | 2008-01-10 | 후지쯔 가부시끼가이샤 | Raid 시스템, raid 컨트롤러 및 그 재구성/재복사처리 방법 |
US7562249B2 (en) | 2005-10-28 | 2009-07-14 | Fujitsu Limited | RAID system, RAID controller and rebuilt/copy back processing method thereof |
Also Published As
Publication number | Publication date |
---|---|
JP2004326759A (ja) | 2004-11-18 |
KR100637779B1 (ko) | 2006-10-25 |
US20070113008A1 (en) | 2007-05-17 |
TW200500856A (en) | 2005-01-01 |
US7191285B2 (en) | 2007-03-13 |
US20040225926A1 (en) | 2004-11-11 |
TWI266187B (en) | 2006-11-11 |
GB2400935B (en) | 2006-02-15 |
GB2400935A (en) | 2004-10-27 |
CN1542600A (zh) | 2004-11-03 |
CN1280702C (zh) | 2006-10-18 |
JP2009163773A (ja) | 2009-07-23 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
KR100637779B1 (ko) | Raid 기억 시스템의 메모리를 구성하는 장치 및 방법 | |
US10606491B2 (en) | Providing redundancy in a virtualized storage system for a computer system | |
US10082965B1 (en) | Intelligent sparing of flash drives in data storage systems | |
US10664367B2 (en) | Shared storage parity on RAID | |
US8880801B1 (en) | Techniques for reliability and availability assessment of data storage configurations | |
US8046537B2 (en) | Virtualization engine and method, system, and computer program product for managing the storage of data | |
US7424582B2 (en) | Storage system, formatting method and computer program to enable high speed physical formatting | |
US7480780B2 (en) | Highly available external storage system | |
JP5537976B2 (ja) | 大容量ディスクドライブの使用方法及び装置 | |
US6898668B2 (en) | System and method for reorganizing data in a raid storage system | |
US7984259B1 (en) | Reducing load imbalance in a storage system | |
US7774643B2 (en) | Method and apparatus for preventing permanent data loss due to single failure of a fault tolerant array | |
US7467269B2 (en) | Storage apparatus and storage apparatus control method | |
US20130311740A1 (en) | Method of data migration and information storage system | |
US7434012B1 (en) | Techniques for media scrubbing | |
US20060155944A1 (en) | System and method for data migration and shredding | |
US20080028049A1 (en) | Storage performance management method | |
US10776290B1 (en) | Techniques performed in connection with an insufficient resource level when processing write data | |
JP6451770B2 (ja) | ストレージ制御装置およびストレージ制御プログラム | |
CN109753223B (zh) | 用于检测存储系统中的慢存储设备操作的方法和系统 | |
US8935488B2 (en) | Storage system and storage control method | |
CN110134572B (zh) | 验证存储系统中的数据 | |
US11409666B2 (en) | Techniques for providing I/O hints using I/O flags | |
US9778850B1 (en) | Techniques for zeroing non-user data areas on allocation | |
CN117171031A (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: 20100824 Year of fee payment: 5 |
|
LAPS | Lapse due to unpaid annual fee |