280 likes | 401 Views
Multimedia Systems Technology :I/O and Devices. Dept.Computer Engineering DongHyun Lee 2000. 10. 23. I/O Problem. Example: read/write 하는데 얼마나 걸리나 ? ( 단 , mechanical operations(head positioning), disk rotating 은 고려하지 않음 ) A text file of size 10KB, Retrieved in units of 1KB
E N D
Multimedia Systems Technology :I/O and Devices Dept.Computer Engineering DongHyun Lee 2000. 10. 23 Univ. Inchon
I/O Problem • Example: read/write 하는데 얼마나 걸리나? (단, mechanical operations(head positioning), disk rotating은 고려하지 않음) • A text file of size 10KB, Retrieved in units of 1KB • Disk capacity is 200MB, Transfer rate of controller is 5MB • 32bit Bus, 100Mbps 전송률 PerBlockReadTime = Time to transfer from Disk to Bus (T1) + Time to transfer through the Bus to memory (T2) PerBlockWriteTime = Time to transfer a unit of information from Bus to memory (T2) + time to transfer from Bus to Disk (T1) T1 = Number of Bytes per Block * Transfer time per Byte (t1) t1 = (1/Disk transfer rate) t1 = (1/5 * 106) = 2 * 10-7 T1 = (1 * 103) * (2 * 10-7) = 200 * 10-6 Seconds t2 = (1/Bus transfer rate/8bits) t2 = (1/100 * 106 / 8bits)) = 1.25 * 10-6 Seconds T2 = (1 * 103) * (1.25 * 10-9) = 1.25 * 10-6 Seconds N = (10 KB / 1KB) = 10 ( Number of Blocks) PerBlcokReadTime = PerBlockwriteTime = (200 * 10-6) + (1.25 * 10-6) Seconds FileReadTime = 10 * [(200 * 10-6) + (1.25 * 10-6)] = 2.0125 milliseconds Univ. Inchon
I/O Problem • 앞에 예제에서… • Disk에 저장되는 기본 단위는 무엇인가? • 목적지는 어디인가? • 무엇으로 연결되어 있나? • Unit 당 전송은 얼마나 걸리나? • 실제 Disk capacity를 추정하므로 20 milliseconds를 더하며, 네트웍 전송인 경우 100 배 이상 더 걸릴 수 있음 • FileReadTime = 202.0125 milliseconds • 연속적으로 기록된다면 • 20 milliseconds만 더 소비함 • Disk 상에 하나/여러 개의 조각으로 나누어 위치하게 되면 I/O 성능에 직접적인 영향 • OS 환경에서 파일 시스템과 디바이스 드라이버가 조화롭게 schedule된다면 실제 전송은 효율적임 • 현재 I/O streaming은 OS 중재 없인 쉽지 않고, 멀티미디어 위한 적절한 OS의 기본적인 변화를 요구 Univ. Inchon
High-Performance I/O • I/O 영향을 주는 다양한 인자 • Data • Text, digitized voice, motion video, image, or graphics 등 • 연속미디어 인가? –얼마나 많이 관리되고, 오래 걸리나(직접적이고 비례 관계) • 개선 –압축이 필요 • Data storage • 저장 장치 기술, 저장 장치 설계와 데이터의 종류에 의존하는 전략 추가 • 병렬처리 : 4-parallelism – 4KB로 buffering(0.5 milliseconds로 down) • Data transfer • 어떻게 데이터가 디스크에 생성되어지고 쓰여지나 • 되찾아지는 순서가 어떤가 • OS support • I/O를 초기화 할 때 마다 해당 프로세스들의 스케줄링에 의존 • Time critical –틀에 박힌(진부한) 정책 변경이 필요 • OS 공간에 복사되는 것 없이 직접 전송 –성능 이득 Univ. Inchon
RAID Technology • Redundant Array of Inexpensive Disks • High throughput과 reliability를 혼합하여 대용량의 저장 장치를 대체하는 기술 • 정의 • 드라이브 집합이며, 사용자에게 하나 또는 그 이상의 논리 드라이브를 제공 • 데이터는 분산되어있고 미리 정의된 방법으로 드라이브에 접근 • 중복 용량이나 데이터의 재구성 용량은 디스크 오류 이벤트를 통해 회복 • Fault-tolerance(결함 허용) • Segment = 512 bytes(block 구성) • Single I/O 요청 부분을 다중 디스크에 병렬처리하기 위해 데이터를 다중 spindles(물렛가락, 가는 줄기)로 나누어 전달 – data striping, channel 사용 Univ. Inchon
RAID Technology • Eight discrete levels of RAID functionally • Level 0 – Disk Striping • Level 1 – Disk Mirroring • Level 2 – Bit Interleaving and Header Error Correction(HEC) Parity • Level 3 – Bit Interleaving and XOR Parity • Level 4 – Block Interleaving with XOR Parity • Level 5 – Block Interleaving with Parity Distribution • Level 6 – Fault tolerant system • Level 7 – Heterogenous sysem Univ. Inchon
RAID Level 0 – Disk Striping • 빠른 입출력이 가능하도록 여러 디스크에 분산 • 보통 Block size = 1∼64KB ( segment = 512 bytes) • 장애 발생에 대비한 여분의 저장공간을 갖지 않음 • 어느 한 디스크에서 장애가 발생하면 데이터 손실 발생 –오류 대처 방안 필요 • 단순히 Striping만 행하므로 Striping level이라 부름 Univ. Inchon
RAID Level 1 – Disk Mirroring • 한 디스크에 기록되는 모든 데이터를 다른 디스크에 복사해 놓는 방법 • Mirroing • Write는 거의 두 배지만 중복에 의한 Seek이므로 Read 속도 향상 • Fault tolerance(결함 허용, 무정지 기능) • 한 디스크에 고장이 발생하더라도 데이터는 손상되지 않음 • 단순하고 저장용량 당 단가가 비싼 편 Univ. Inchon
RAID Level 2 – Bit Interleaving and HEC Parity • Bit 단위로 Interleave • Single I/O controller와 모든 디스크의 synchronized • Hamming 오류 정정 코드 사용 • 에러 검출 능력이 없는 디스크에 오류 정정 능력 제공 • Small write 문제 개선 • 학문적인 관심에 머물었을 뿐 실용화 안됨 Univ. Inchon
RAID Level 3- Bit Interleaving with XOR Parity • 한 디스크에 패리티 정보를 저장하고, 나머지 디스크에 데이터를 Bit 단위로 분산 • 분산 저장을 경제적으로 하기위해 하드웨어적 지원이 필요 • 높은 데이터 전송량과 소량의 패리티 디스크 소요 • 패리티 디스크에 Bottleneck 발생 가능 Univ. Inchon
참고 • Parity의 XOR 연산에 의한 striping • Exclusive OR 연산에 의한 복구 • 원래의 데이터를 A, B, C, D 와 같은 조각으로 나눔 – striping • A ⓧ B ⓧ C ⓧ D = P (parity) • C = A ⓧ B ⓧ D ⓧ P ⇒ parity와 다른 데이터와의 XOR 연산을 통해 잃어버린 데이터를 복구 할 수 있음 • ReWrite(Update) 연산 • A ⓧ B ⓧ C ⓧ D = P(parity) 에서 A를 update 할 경우 • Read A (old A) • Read P (parity) • A ⓧ P = E (E = B ⓧ C ⓧ D B, C, D를 읽을 필요가 없어짐) • Anew ⓧ E = Pnew (새로운 A에 대한 새로운 parity 값 계산) • Write Anew • Write Pnew • 한 번의 Update에 두 번의 (Read/XOR/Write)가 필요 • Small Write Problem • 큰 데이터의 순차적인 기록보다 적은 데이터의 수시 기록이 문제 Univ. Inchon
RAID Level 4 - Block Interleaving with XOR Parity • 한 디스크에 패리티 정보를 저장하고 나머지 디스크에 데이터를 블록 단위로 분산 –속도 향상 • 바이트 단위의 분산 저장을 경제적으로 수행하기 위해 H/W적인 지원이 필요 • Read는 빠르나 Write 할 때 매번 패리티를 갱신하므로 오버헤드 발생 • 크고 순차적인 기록은 별로 느리지 않으나 수시로 발생하는 Small Write가 문제 Univ. Inchon
RAID Level 5 – Block Interleaving with Parity Didtribution • 패리티 정보를 모든 디스크에 나눠 저장 • 하나의 패리티 디스크에 대해 병목현상이 일어나는 것을 제거 • Small chunks의 I/O가 수시로 발생 할 경우 level 4에 비해 더 나은 성능 제공 • 일반적으로 다중 사용자 환경에 가장 좋은 선택 • File or Database server에 사용 Univ. Inchon
참고 • 여러 종류의 RAID system은 복합적으로 사용 될 수 있음 • 예 : 3개의 디스크 시스템 • 부트 파티션 – RAID Level1 • 임시 영역 파티션 – RAID Level 0 • 대량 데이터 저장 파티션 – RAID Level 4 • 안정성과 효율성을 함께 얻을 수 있음 Univ. Inchon
RAID Level 6 – Fault Tolerant System • RAID 5에 error recovery 정보를 추가한 모델 • Matrix formation(rows and columns of Disks) • Multi-dimensional level of parity 계산 – dynamic reconstruction • 연속적으로 일어나는 오류도 회복 가능 Univ. Inchon
RAID Level 7 – Heterogeneous System • RAID 7 가장 최근의 RAID 분류 • 각 개별 디스크에 보다 빠르게 access 가능 • 각 I/O 장치가 high-speed data bus로 연결되었고 Central cache를 통해 store • Real-time process-oriented OS is embedded : 디스크 독립적인 이동 능력 • Check/microprocessor/bus/high-speed and cache/resource drive/… all control logic RTOS에 의해 관리 • Read/write 하기위한 패리티 디스크는 최적의 asynchronous 방법을 사용 • Heterogeneous 디스크 드라이브 type과 size 혼합 Univ. Inchon
Future of RAID Technology • 컴퓨터 속도와 통신의 발전으로 인해 좀 더 speed와 reliability가 요구 됨 • 미래를 위한 잠재적인 mass storage solution • 스피디한 진행을 토대로 Disk drive architecture를 예견할 수 있음 • academic research • forefront of industry standards Univ. Inchon
Optical Storage Technology • Optical medium은 multimedia context에서 가장 인기 있음 • Compact size • High-density recording • Easy handling • Low cost per MB • Digital audio recording for music – high fidelity in reproduction (높은 복제률) • CD technology Univ. Inchon
Compact Disc : A Historical Perspective • CD-DA(Compact Disc-Digital Audio) • Standard music CDs • CD-ROM규격 – Yellow Book[Phi85]로 문서화, 차후 ECMA-119[ECM88]로 표준이 됨 • 12cm optical disc(650MB) • CD-I(Compact Disk-Interactive) • Green Book[Phi88] • Com이 아닌 Stand-alone system 요구 • CD-I player • Looks n feels – interactions • CD-ROM/XA(Compact Disk-Read Only Memory/eXtended Architecture) • 압축 오디오 호환성 문제 –오디오와 비디오 동시에 처리 • Kodak Photo-CD • WORM(Write Once Read Many) –일회 기록 특성 기반 • 고품질의 사진 저장 • CD-ROM/XA 장치에서 CD Bridge(가교) 디스크로 판독 가능 • 하나의 출력 장치에 서로 다른 여러 CD format 사용 가능 • CD-WO(Write Once) - Single Session/Multisession(ReWrite 가능 : 하이브리드 CD-WO) Univ. Inchon
CD-ROM • Standards for CDs • Red Book → audio • Green Book → CD-I • Orange Book → CD-WO • Blue Book → LaserDisc • Why are CD-ROM drives so slow? • 기본적으로 Music을 위해 설계 되었음 • Data recorded – linear density • Head의 균일한 선 속도에 의해 재생 됨 • RAM cache 사용 • CD-ROM Capacity • 대개 620MB, 700MB • ISO-9660 international standard Univ. Inchon
Compact Disc- Structure • 파장이 약 780nm인 빔을 약 1㎛인 초점 생성 • 레이저 광선의 반사량을 정보원 • 레이블(label) • 보호층(protective layer) • 랜드(land : 평면)와 피트(fit :오목한 구멍) • Fit : 약 12㎛ deep, 0.6㎛ wide • Land : 0.9 to 3.3㎛ long • 반사층(reflective) • 폴리카보네이트 로된 기질층 • Fig.4.3, 4.4 참고 p136 Univ. Inchon
Information Storage • Digital data stream Recorded as as Pits and Lands (Fig. 4.5 p137) • 피트의 길이는 0.3마이크로 미터의 배수로 표현 • 랜드에서 피트로 전환하는것이 데이터 스트림에서는 1에 해당 함 • 참고 –광디스크 형식 • 각속도 일정(CAV, Constant Angular Velocity) • 보통의 하드디스크, 레이저 디스크에서 사용 • 읽어드리는 헤드의 위치에 무관하게 속도 일정 • 선속도 일정(CLV, Constant Linear Velocity) • CDS, DVD에서 사용 • 읽어드리는 헤드의 위치에 따라 속도 변함 • 면당 많은 양의 비디오 기록 할 수 있음 Univ. Inchon
Recording Process • CD를 만들려면 데이터가 담긴 스템퍼 (stamper)가 있어야 함 • 마스터링(mastering) : 스템퍼 만드는 과정 • 빛을 받은 부분은 물에 녹지 않고 받지 않은 곳은 녹는 원리를 이용해 현상하면 피트가 생성(glass master disc) Univ. Inchon
User Data and CD-ROM Recorded Data • 피트에서 랜드로, 랜드에서 피트로 전환될 때마다 1 해당 –채널 비트 • 레이저의 분해도가 랜드-피트- 랜드-피트 순열(즉 1111)이 정확이 판독 안됨 • 적어도 두개의 1 사이에 두개의 0 가 끼어 있어야 함 • 비트의 연속이 너무 길어져도 안됨 • 최대 길이를 지켜야 함 (최대 열개 의 0 연속 가능) • 위상-교정 동기화 신호(sync pattern) • 8-to-14(data bits–to–channel bits) • 3개의 merge channel-bit • 클럭을 유도해 내기위해서 동기화 함 • User data rate for CD-ROM of 1.2288Mb per second Univ. Inchon
Storage Capacity • 프레임 구성 • Sync Pattern 24 + 3 channel bits • Control and Display 1 * (14+3) channel bits • Data 24 * (14+3) channel bits • Error Correction 8 * (14+3) channel bits • Total 588 channel bits • 74분 중 실제 60분 정도만 사용가능 –나머지 서브 채널은 상대적인 시각 표시 • Block(Fig. 4.7 p140) • 프레임을 묶어 표현, 한 블록 당 2048 bytes • Total user capacity per disc of 553MB • 74분을 모두 사용했을 때 • 333,000 block에 682MB 임 Univ. Inchon
HDCD • 3.3 GB CD-ROM의 reading 정보를 위한 Philips와 Sony 규격(specification) • quad-speed CD는 635 nm red 레이저를 사용한, 0.85 micron의 track pitch와 5.6 Mbit/sec의 데이터율을 가지도록 설계 • 이 규격은 EFM(8에서 14 변조) encoding과 cross-interleaved Reed-Solomon error correction(CIRC)의 향상된 버전을 사용 • 이 저장 기술은 5.6 Mbit/sec에서 방송등급 재생(broadcast-quality playback)을 위해 MPEG-2로 압축된 130분 짜리 영화를 CD에 저장 가능 Univ. Inchon
ECMA 168 Standard • ECMA 168(European Computer Manufacturers Association) • Volume and file format standard for write-once CD • Orange Book • Multisession recording • Track-at-once recording • Packet recording • Rock Ridge 기능 • Unix-style filenames, Unix permissions, deep directory hierarchies • ISO 9960가 상위-호환성을 이루며 ISO 10646 같은 Multyple-byte 특성을 지향 Univ. Inchon