이 블로그는 512 바이트 섹터 디스크에서 4096 바이트 섹터 디스크로의 전환이 발생한 이유를 이해하는 데 도움이됩니다. 이 블로그는 OS 설치에 4096바이트(4K) 섹터 디스크를 선택해야 하는 이유에 대한 답변도 제공합니다. 블로그는 먼저 마이그레이션의 필요성을 이해하기 위해 섹터 레이아웃에 대해 설명한 다음 마이그레이션에 대한 추론을 제공하고 마지막으로 512바이트 섹터 드라이브에 대한 4K 섹터 드라이브의 이점을 다룹니다.
섹터는 하드 디스크 드라이브의 최소 스토리지 단위입니다. 하드 디스크 드라이브에 있는 트랙의 하위 구분입니다. 섹터 크기는 하드 디스크 드라이브에서 I/O 작업의 원자 단위를 나타내기 때문에 운영 체제 설계에서 중요한 요소입니다. Linux에서는 "fdisk -l" 명령을 사용하여 디스크 섹터의 크기를 확인할 수 있습니다.
그림 1: Linux의 디스크 섹터 크기
그림 1에서 볼 수 있듯이 이 Linux 시스템에서 논리적 섹터와 물리적 섹터의 길이는 모두 512바이트입니다.
섹터 레이아웃은 다음과 같이 구성되어 있습니다.
각 섹터는 고정된 양의 사용자 데이터를 저장하며, 일반적으로 하드 디스크 드라이브의 경우 512바이트입니다. 그러나 더 높은 밀도에서 더 나은 데이터 무결성과 강력한 오류 수정 기능 덕분에 최신 HDD는 이제 각 섹터에 4096바이트(4K)를 저장합니다.
주어진 길이의 트랙에 저장된 비트 수를 영역 밀도라고 합니다. 면적 밀도의 증가는 동일한 물리적 공간에 더 많은 양의 데이터를 저장할 수 있을 뿐만 아니라 해당 매체가 작동할 수 있는 전송 속도를 향상시키기 때문에 디스크 드라이브 업계의 추세입니다. 면적 밀도가 증가함에 따라 이 부문은 이제 하드 드라이브 표면에서 점점 더 적은 양의 공간을 소비하게 되었습니다. 하드 드라이브에 있는 섹터의 물리적 크기는 축소되었지만 미디어 결함은 줄어들지 않았기 때문에 문제가 발생합니다. 하드 드라이브 섹터의 데이터가 더 작은 영역을 소비하는 경우 오류 수정이 어려워집니다. 이는 동일한 크기의 미디어 결함으로 인해 섹터의 면적이 넓은 디스크보다 섹터의 작은 영역을 가진 디스크의 데이터 비율이 더 많이 손상될 수 있기 때문입니다.
이 문제를 해결하는 방법에는 두 가지가 있습니다. 첫 번째 방법은 지속적인 데이터 신뢰성을 보장하기 위해 ECC 바이트에 더 많은 디스크 공간을 투자하는 것입니다. 그러나 ECC 바이트에 더 많은 디스크 공간을 투자하면 디스크 포맷 효율성이 떨어집니다. 디스크 포맷 효율성은 (사용자 데이터 바이트 수 X 100)/디스크의 총 바이트 수로 정의됩니다. 또 다른 단점은 더 많은 ECC 비트가 포함될수록 디스크 컨트롤러가 ECC 알고리즘을 처리하기 위해 더 많은 처리 능력이 필요하다는 것입니다.
두 번째 방법은 데이터 블록의 크기를 늘리고 각 데이터 블록의 ECC 바이트를 약간 늘리는 것입니다. 데이터 블록 크기가 증가함에 따라 각 섹터가 갭, 동기화, 주소 표시 섹션 등과 같은 제어 정보를 저장하는 데 필요한 오버헤드의 양이 줄어듭니다. 각 섹터에 대해 ECC 바이트는 증가하지만 섹터가 클수록 디스크에 필요한 전체 ECC 바이트가 감소합니다. 오류 수정 코드에 사용되는 전체 공간을 줄이면 포맷 효율성이 향상되고 각 섹터의 ECC 바이트가 증가하여 보다 효율적이고 강력한 오류 수정 알고리즘을 사용할 수 있습니다. 따라서 더 큰 섹터 크기로 전환하면 안정성 향상과 디스크 용량 증가라는 두 가지 이점이 있습니다.
처리량 관점에서 이상적인 블록 크기는 일반적인 데이터 트랜잭션의 특성 크기와 거의 같아야 합니다. 오늘날 평균 파일 크기는 512바이트 이상이라는 점을 인정해야 합니다. 이제 최신 시스템의 애플리케이션은 기존의 512바이트 섹터 크기보다 훨씬 큰 대형 블록의 데이터를 사용합니다. 블록 크기가 너무 작으면 트랜잭션 오버헤드가 너무 많습니다. 블록 크기가 큰 경우 각 트랜잭션은 많은 양의 불필요한 데이터를 전송합니다.
관계형 데이터 베이스 시스템에서 표준 트랜잭션의 크기는 4K입니다. 하드 디스크 드라이브 업계의 의견은 4K 블록의 물리적 블록 크기가 좋은 절충안을 제공할 것이라는 것이었습니다. 또한 운영 체제 및 프로세서에서 사용하는 페이징 크기에도 해당합니다.
그림-3: 4K 디스크의 포맷 효율성 향상
512바이트 섹터 형식 | 4096바이트 섹터 포마t | |
갭, 동기화 및 주소 표시 | 15바이트 | 15바이트 |
사용자 데이터 | 512바이트 | 4096 바이트 |
오류 수정 코드(Error-Correcting Code) | 50바이트 | 100바이트 |
총 | 577 바이트 | 4211 바이트 |
포맷 효율성 | 88.7% | 97.3% |
표 1: 4K 디스크의 포맷 효율성 향상
그림 2에서 볼 수 있듯이 4K 섹터는 기존 512바이트 섹터보다 8배 큽니다. 따라서 동일한 데이터 페이로드에 대해 갭, 동기화 및 주소 표시 섹션이 8배 적고 오류 수정 코드 섹션이 4배 더 적어야 합니다. 오류 수정 코드 및 기타 비데이터 섹션에 사용되는 공간을 줄이면 4K 형식의 형식 효율성이 향상됩니다. 포맷 효율성 향상은 그림-3과 표-1에서 확인할 수 있으며, 512바이트 섹터 디스크에서 4K 섹터 디스크의 포맷 효율성이 8.6% 향상되었습니다.
그림-4: 미디어 결함이 디스크 밀도에 미치는 영향
그림-4에서 볼 수 있듯이 영역 밀도가 높은 디스크에 대한 미디어 결함의 영향은 영역 밀도가 낮은 디스크보다 큽니다. 영역 밀도가 증가하면 동일한 수준의 오류 수정 기능을 유지하기 위해 더 많은 ECC 바이트가 필요합니다. 4K 형식은 새로운 ECC 알고리즘을 수용하기 위해 ECC 필드를 50바이트에서 100바이트로 확장할 수 있는 충분한 공간을 제공합니다. 향상된 ECC 적용 범위는 512바이트 섹터 형식과 관련된 50바이트 결함 길이를 초과하여 처리된 데이터 오류를 탐지하고 수정하는 기능을 향상시킵니다.
4K 데이터 디스크는 Windows Server 2012에서 지원되지만 부팅 디스크로는 UEFI 모드에서만 지원됩니다. Linux의 경우 4K 하드 드라이브에는 최소 RHEL 6.1 및 SLES 11 SP2가 필요합니다. 4K 부팅 드라이브는 Linux의 UEFI 모드에서만 지원됩니다. 4K 드라이브에 대한 커널 지원은 커널 버전 2.6.31 이상에서 사용할 수 있습니다. PERC H330, H730, H730P, H830, FD33xS 및 FD33xD 카드는 4K 블록 크기 디스크 드라이브를 지원하므로 스토리지 공간을 효율적으로 사용할 수 있습니다. 4K 디스크는 위의 PERC 카드를 지원하는 Dell PowerEdge 서버에서 사용할 수 있습니다.
디스크 드라이브의 면적 밀도가 증가함에 따라 디스크에 있는 각 섹터의 물리적 크기가 작아졌습니다. 디스크 결함 수가 같은 속도로 확장되지 않으면 더 많은 섹터가 손상될 것으로 예상되므로 각 섹터에 대한 강력한 오류 수정 기능이 필요합니다. 물리적 섹터가 더 크고 각 섹터에 대해 더 많은 ECC 바이트가 있는 디스크 드라이브는 향상된 데이터 보호 및 수정 알고리듬을 제공합니다. 4K 형식은 더 나은 형식 효율성을 달성하는 데 도움이 되며 안정성 및 오류 수정 기능을 향상시킵니다. 이러한 전환으로 사용자 경험이 개선되므로 OS 설치에 4K 드라이브를 선택해야 합니다.