Computer Science/파일처리

테이프와 CD-ROM

Luinesse 2024. 3. 7. 10:36
반응형

보조기억장치 중 하나인 테이프와 CD-ROM에 대해서 작성하겠습니다.

 

먼저 자기 테이프(Magnetic Tape)입니다. 자기 테이프는 SASD(Sequential Access Storage Device)로 장기 보관용으로 사용되며 주로 백업용도로 사용됩니다.

 

또한, 자기 테이프는 전용 자원(Dedicated Resource)로 분류됩니다. 전용 자원이란, 한번에 하나의 작업을 처리하는 자원으로 비슷한 예시로 프린터가 있습니다. 반대로 동시에 여러작업을 처리하는 것을 공유 자원(Shared Resource)라고 합니다. 공유 자원에는 Disk가 대표적인 예시입니다. 여기서 Disk는 시분할 시스템을 통해서 파일을 클러스터 단위로 각각 읽는게 가능하므로 공유 자원으로 취급됩니다.

 

9 트랙 테이프는 테이프 면이 트랙으로 구성된 테이프로, 1바이트(8 bit) + 패리티 비트로 구성됩니다.

 

읽을땐 블록 단위로 읽게되는데, 이때 블록 구분을 위해서 Gap이 존재합니다. 이 갭을 지나 다시 정상 동작을 위해 속도를 정상으로 올리기위한 거리를 Interblock Gap이라고 합니다.

 

테이프의 성능은 다음 3가지로 결정됩니다.

 

  • 테이프 밀도
  • 테이프 속도
  • 블록간 틈 길이

테이프 밀도는 인치 당 몇 비트(바이트) 저장되는지의 정보로 높을수록 테이프의 성능이 좋습니다.

 

테이프 속도는 초당 읽게되는 인치수로 높을수록 좋습니다.

 

마지막으로 블록간 틈 길이는 말 그대로 Interblock Gap의 길이입니다. 이는 Blocking Factor의 조정으로 Gab의 개수를 조정하여 성능의 변화가 있을 수 있습니다.

 

테이프에서 데이터 블록의 실제 길이는 다음 식으로 구할 수 있습니다.

블록 크기(bytes per block) / 테이프 밀도 (bytes per inch) = 데이터 블록 당 인치

 

위에서 구한 데이터 블록의 실제 길이를 통해 데이터를 저장하는데 필요한 테이프의 총 길이를 구할 수 있습니다.

총 길이 = blocking factor에 따른 데이터 블록의 수 * (데이터 블록의 실제 길이 + Interblock gap 길이)

 

테이프에 실제로 저장된 데이터 용량을 반영하여 구한 밀도를 실질 기록 밀도라고 합니다.

이는 데이터 블록의 크기 / 데이터 블록의 길이로 구합니다. 여기서 데이터 블록의 길이는 갭을 포함한 길이이므로 이 또한 역시 blocking factor에 영향을 받습니다.

 

데이터 전송률은 테이프 밀도(bytes per inch) * 테이프 속도(bytes per second) 로 구합니다.

실질 전송률은 위에서 구한 실질 기록 밀도 * 테이프 속도로 구합니다.

 

성능에 영향을 주는 요인으로 테이프 밀도와 테이프 속도 블록간 틈 길이가 있었는데, 이는 사용자가 결정할 수 없는 요인들이고, 주로 blocking factor에 의해 성능에 영향을 주게 됩니다.

 

앞선 포스트와 연계하여 정리할 때, Direct Access 방식이나 Random Access 방식은 Disk가 유리하나, Sequential Access나 데이터의 장기 보관에는 Tape가 유리함을 알 수 있습니다. 하지만 현대에 들어서는 디스크에서 메모리 버퍼링을 통해 DISK I/O를 안하는 경우가 생길 수 있으므로 순차 검색에도 유리한 경우가 있을 수 있습니다.

 

다음으로 CD-ROM 입니다. CD-ROM은 Compact Disc(광 디스크)이고 이름에서 보이듯 Read Only Memory입니다. 주로 600MB 이상의 데이터를 저장하게 됩니다.

 

장점으로는 과거를 기준으로 할때 고용량 저장이 가능하고, 비용이 적게들며 저장 지속성에서 유리함을 보였습니다. 하지만 단점으로는 탐색 시간이 너무나도 느리다는 점입니다.

 

레이저 빔을 발사하여 트랙의 pit와 land에 맞게 되는데, pit는 레이저 빛을 분산하고, land는 pit들 사이의 평평한 부분으로 pickup 렌즈로 레이저 빔을 반사합니다.

 

이 구조를 통해 CD-ROM은 인코딩을 할 때, 1은 pit와 land사이를 이동하며 빛의 변화로 인식하게되고 0은 land가 지속되어 빛의 밝기 변화가 없을 때로 인식합니다.

 

그중 CD-ROM은 EFM Encoding 방식을 사용합니다. EFM encoding은 원래의 8비트 데이터를 14비트로 변환하여 저장하는 방식입니다. 이를 통해 1과 1사이에 최소한 2개의 0이 존재하게 끔하여 pickup의 해상력을 향상합니다.

 

CD-ROM의 데이터 저장과 읽기는 크게 두가지로 갈립니다.

  • CLV(Constant Linear Velocity)
  • CAV(Constant Angular Velocity)

CLV는 바깥쪽 섹터와 중앙쪽 섹터들은 같은 크기의 데이터를 저장합니다. 단, 바깥쪽 섹터를 읽을 때는 더 느리게 회전해야하므로 디스크 회전속도가 각 섹터마다 다르게 됩니다.

 

반대로 CAV는 HDD의 플래터 구조와 유사하여 안쪽 섹터보다 바깥쪽 섹터들의 데이터 밀도가 낮아서 바깥쪽 일수록 공간낭비가 심합니다. 대신 디스크의 회전속도는 일정합니다.

반응형