일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | |||
5 | 6 | 7 | 8 | 9 | 10 | 11 |
12 | 13 | 14 | 15 | 16 | 17 | 18 |
19 | 20 | 21 | 22 | 23 | 24 | 25 |
26 | 27 | 28 | 29 | 30 | 31 |
- AWS
- 백준
- Flutter
- Python
- MySQL
- 개발자블로그
- 스파르타내일배움캠프
- 운영체제
- 스파르타내일배움캠프TIL
- til
- 99클럽
- 소프트웨어
- 컴퓨터개론
- 스파르타코딩클럽
- Spring
- 내일배움캠프
- 프로그래머스
- 99일지
- 코딩테스트
- 개발자스터디
- 부트캠프
- 개인공부
- 스파르타내일배움캠프WIL
- 컴퓨터구조론 5판
- wil
- 자바
- java
- 국비
- 중심사회
- 항해
- Today
- Total
컴공생의 발자취
컴퓨터 구조론 5판 6장 연습 문제 정답 본문
6.1 원형 평판 1개의 저장 용량 = {(트랙의 수 × 섹터의 수) × 섹터의 용량} × 2 = {(100000 × 500) × 512Byte} × 2 = 10^8 × 512Byte = 10^8 × 2^(-1) × 2^10Byte = 50GByte (2^10 ≒ 10^3)이므로 디스크 드라이브의 저장 용량 = 50GByte × 5 = 250GByte이다.
6.2
(1) 표면 당 저장 용량 = 표면당 트랙 수 × 트랙당 섹터 수 × 섹터당 데이터 필드의 길이 = 4800 × 200 × 512Byte = 491520000Byte = 491.52MByte
(2) 탐색 시간 = 현재 트랙에서 액세스 요구한 트랙까지의 거리 × 트랙당 탐색 시간 = (4800 – 3250 + 450) × 0.0024ms = 4.8ms
(3) 회전 속도가 7200rpm인 디스크는 1초에 120번을 회전한다. 따라서, 한 번 회전하는데 걸리는 시간은 1 / 120 ≒ 0.00833s = 8.33ms이다. 그리고 원하는 섹터가 정반대 편을 통과하고 있었으므로 회전지연시간 = 8.33ms / 2 ≒ 4.17ms이다.
(4) 섹터의 데이터를 전송하는 데 걸리는 시간을 x라고 하면 100MByte : 1 = 512Byte : x이므로 x = 512Byte / 100MByte = 1 / (100 × 2^11) = 0.005ms이다.
(5) 디스크 액세스 시간 = 탐색 시간 + 회전 지연시간 + 데이터 전송시간 = 4.8ms + 4.17ms + 0.005ms = 8.975ms
6.3 실린더는 동일한 반경에 위치하고 있는 트랙들의 집합이다. 따라서 실린더당 저장 용량은 (디스크평판의 개수 × 2) × 트랙당 섹터 수 × 섹터당 데이터 필드의 길이 = 16 × 200 × 512Byte = (2^14 × 100)Byte = 1.6MByte이다.(2^10 ≒ 10^3)
6.4 등각속도 방식을 사용하면 회전 속도가 일정하기 때문에 구동장치가 간단하지만, 바깥쪽 트랙이 안쪽 트랙보다 더 길지만 저장될 수 있는 데이터 비트 수를 동일하게 해야 하므로 바깥쪽 트랙의 저장 밀도가 낮아져 저장 공간을 낭비하게 된다.
6.5 5개의 영역의 트랙의 수 × 섹터의 수를 다 더하고 섹터의 데이터 크기를 곱하면 된다. 그러므로 디스크 표면의 저장 용량 = (2 × 9 + 2 × 11 + 3 × 12 + 4 × 14 + 4 × 16) × 0.5KByte = (18 + 22 + 36 + 56 + 64) × 0.5KByte = 98KByte
6.6 MTTF = 단일 디스크의 MTTF / 배열 내 디스크들의 수 = 10000 / 20 = 500시간
6.7 RAID-1조직은 데이터 디스크들에 저장된 모든 데이터들이 짝을 이루는 미러 디스크의 같은 위치에 복사된다. 따라서 결함 복구에 시간을 전혀 소모하지 않고 높은 신뢰도를 얻을 수 있다. 그러나 전체 디스크에서 사용 가능한 용량이 절반으로 줄어들기 때문에 가격이 높다..
6.8 RAID-2에서 사용된 검사디스크들은 오류가 발생한 비트의 위치를 검출하기 위한 것인데, 많은 수의 검사 디스크들을 사용해야 하기 때문에 낭비가 매우 크므로 한 개의 패리티 디스크만 추가한 RAID-3조직이 제안되었다.
6.9 RAID-4조직에서는 어떤 디스크에든 데이터 블록을 쓸 때마다 패리티 디스크가 반드시 두 번씩 액세스되어야 한다. 따라서 패리티 디스크에 액세스들이 집중되기 때문에 병목 현상이 발생하여 성능이 저하되는 문제가 있어 패리티 블록을 라운드-로빈 방식으로 분산 저장한 RAID-5조직이 제안되었다.
6.10 RAID-5에서는 각 쓰기(write) 동작을 위하여 네 번의 디스크 액세스 동작들이 필요하다. 그 이유를 설명하라.
RAID-4와 RAID-5의 기본적인 설계 개념이 동일하다. 한 블록을 갱신하면 같은 위치에 있는 패리티 블록도 갱신해야 한다. 패리티 블록을 갱신하기 위해서는 원래의 패리티와 원래 데이터 및 새로운 데이터 사이에 exclusive-OR 연산을 수행하여 구한다. 따라서 원래의 패리티와 데이터를 읽는 과정에서 두 번의 디스크 액세스, 새로운 패리티와 데이터를 쓰는 과정에서 두 번의 디스크 액세스를 더한 총 네 번의 디스크 액세스 동작들이 필요하다.
6.11 결함이 발생한 블록은 같은 위치에 있는 나머지 블록과 같은 위치에 있는 패리티 블록들을 exclusive-OR 연산을 수행하여 복구할 수 있다.
6.12 그림 6-15와 같은 구조를 가진 플래시 메모리에서 블록 당 페이지 수는 128개, 블록의 수는 2048개로 각각 늘어난 경우에, 플래시 메모리의 전체 용량을 구하라.
플래시 메모리의 전체 용량 = (페이지 1개의 크기 × 페이지 개수) × 블록의 개수 = {(2048 × 8bit) × 128} × 2048 = 2^11 × 2^3 × 2^7 × 2^11 = 2^32bit = 512MByte
6.13 TLC는 SLC, MLC에 비해서 부동게이트에 채워지는 전자들이 많아서 저장 용량이 늘어나지만 주입되는 전자 수의 조정을 위하여 세밀한 작업이 필요하고, 읽은 후에도 구분이 쉽지 않기 때문에 속도가 느려진다.
6.14 3차원 셀에서는 부동 게이트의 공간이 확장되기 때문에 더 많은 수의 전자들을 주입시킬 수 있어서, 전자 수를 기준으로 데이터의 값을 구분하는 과정이 용이해져 QLC 방식이 구현되었다.
6.15 FTL은 플래시 메모리의 블록과 페이지를 논리적으로 HDD의 섹터와 같은 구조로 변환해줌으로써 섹터 기반의 파일시스템이나 운영체제와 같은 소프트웨어들이 SSD를 HDD와 같은 방법으로 액세스할 수 있게 해준다.
6.16 마모 평준화는 페이지 레지스터를 이용하여 각 페이지의 재기록 횟수를 카운트하고, 쓰기 작업 때마다 FTL이 사용된 횟수가 더 적은 페이지들을 우선적으로 선택하고 주소 변환 기능을 수행하여 쓰기 작업을 진행한다. 또한 마모 평준화는 SSD의 수명 연장을 위한 매우 중요한 기술이지만 남아있는 저장 공간이 적다면 그 효과가 줄어든다. 그래서 SSD 제품들은 출시 때부터 가용 용량 외에 마모 평준화 작업에 대비하여 추가적인 공간을 제공해 주는 것을 초과 대비공간이라고 한다.
6.17 TRIM 명령은 OS로 하여금 SSD 제어기에게 무효가 된 페이지들을 통보해줌으로써 쓰레기 수집의 효율을 높여 SSD의 성능을 향상시켜주는 보조 기능으로 그림 6-20에서 블록 X로부터 Y로 페이지들을 복사할 때 복사할 필요가 없는 무효 페이지들인 A, B, C, D를 TRIM명령어를 통해 OS가 SSD 제어기에 통보할 수 있다.
'📖 이론 > 컴퓨터구조론' 카테고리의 다른 글
컴퓨터 구조론 5판 7장 연습 문제 정답 (0) | 2023.06.06 |
---|---|
컴퓨터 구조론 5판 5장 연습 문제 정답 (0) | 2023.06.06 |
컴퓨터 구조론 5판 4장 연습 문제 정답 (1) | 2023.06.06 |
컴퓨터 구조론 5판 3장 연습 문제 정답 (1) | 2023.06.06 |
컴퓨터 구조론 5판 2장 연습 문제 정답 (5) | 2023.06.06 |