본문 바로가기
리눅스

(번역) Disk sector

by 다움위키 2025. 1. 7.

원문 보기: https://dawoum.duckdns.org/wiki/Disk_sector

 

Original article: w:Disk sector

컴퓨터 디스크 저장소에서, 섹터(sector)는 자기 디스크 또는 광 디스크 위에 트랙을 세분화한 것입니다. 대부분의 디스크에 대해, 각 섹터는 사용자-접근가능 데이터의 고정된 총양을 저장하며, 전통적으로 하드 디스크 드라이브 (HDD)에 대해 512 바이트CD-ROM, DVD-ROM, 및 BD-ROM에 대해 2048바이트입니다. 최신 HDD와 SSD는 Advanced Format (AF)으로 알려진 4096 바이트 (4 KiB) 섹터를 사용합니다.

섹터는 하드 드라이브의 최소 저장 단위입니다. 대부분의 디스크 파티셔닝 체계는 파일의 실제 크기에 관계없이 정수 개의 섹터를 차지하는 파일을 가지도록 설계되었습니다. 전체 섹터를 채우지 못하는 파일은 영들로 채운 마지막 섹터의 나머지 부분을 가질 것입니다. 실제로, 운영 시스템은 전형적으로 여러 섹터에 걸쳐 있을 수 있는 데이터의 블록에서 작동합니다.

기하학적으로, 섹터라는 단어는 중심, 두 개의 반지름과 해당 (그림 1, 항목 B 참조) 사이에 있는 디스크의 일부를 의미하며, 이는 파이 조각과 같은 모양입니다. 따라서, 디스크 섹터 (그림 1, 항목 C)는 트랙과 기하학적 섹터의 교집합을 참조합니다.

최신 디스크 드라이브에서, 각 물리적 섹터는 섹터 헤더 영역 (전형적으로 "ID"라고 함)과 데이터 영역이라는 두 가지 기본 부분으로 구성됩니다. 섹터 헤더에는 드라이브와 컨트롤러에 의해 사용되는 정보가 들어 있습니다; 이 정보에는 동기 바이트, 주소 식별, 결함 플래그, 및 오류 감지와 수정 정보가 포함됩니다. 헤더는 역시 데이터 영역이 신뢰할 수 없으면 사용될 대안적인 주소를 포함할 수 있습니다. 주소 식별은 드라이브의 메커니즘이 읽기/쓰기 헤드를 올바른 위치에 배치했는지 확인하기 위해 사용됩니다. 데이터 영역은 동기 바이트, 사용자 데이터와 데이터에 도입되었을 수 있는 오류를 검사하고 어떻게 해서라도 수정하기 위해 사용되는 오류-수정 코드 (ECC)를 포함합니다.

History

최초의 디스크 드라이브, 1957년 IBM 350 디스크 스토리지는 트랙당 10개의 100자 섹터를 가지고 있었습니다; 각 문자는 6비트이고 패리티 비트를 포함했습니다. 트랙당 섹터의 개수는 모든 기록 표면에서 동일했습니다. 각 섹터와 결합된 기록된 식별자 필드 (ID)는 없었습니다.

1961년 IBM 1301 디스크 스토리지는 가변 길이 섹터를 도입했으며, IBM에 의해 이를 레코드 또는 물리적 레코드라는 이름-지었고, 각 레코드에 레코드에서 데이터와 별도의 레코드 주소 필드를 추가했습니다. 모든 최신 디스크 드라이브는 섹터에서 데이터와 별도의 ID 필드라고 하는 섹터 주소 필드를 가집니다.

역시, 1961년에, Bryant는 4000 시리즈를 갖는 트랙당 섹터 개수가 트랙 지름의 함수로 변경될 수 있는 영역 기록 (ZBR)의 개념을 도입했습니다 – 바깥쪽 트랙에 안쪽 트랙보다 더 많은 섹터가 있습니다. 1980년대 후반에, ZBR은 ImprimisQuantum에 의해 발표된 디스크 드라이브에서 다시 사용되었고, 1997년에는 업계에서 널리 사용되었습니다.

1964년 IBM System/360과 함께 발표된 디스크 드라이브와 기타 DASD는 IBM에 의해 레코드 또는 물리적 레코드라고 불리는 자체-포맷 가변 길이 섹터를 사용했습니다. 그것들은 이전 세대의 문자당 패리티 감지를 대체하는 순환 중복 검사 (CRC)로 레코드의 모든 필드에서 오류를 감지했습니다. 이들 IBM 물리적 레코드는 세 가지 기본 부분, ID 필드 역할을 하는 카운트 필드, 데이터 검색을 돕는 선택적 키 필드, 및 데이터 필드를 가집니다; 실제로, 대부분의 레코드는 키 필드를 가지지 않고, 키 길이가 영으로 표시됩니다. 이들 세 필드의 구조는 레코드에 대한 CKD 트랙 형식이라고 불립니다.

1970 IBM 3330 디스크 스토리지는 각 레코드의 데이터 필드에 있는 CRC를 오류 정정 코드(ECC)로 대체하여 대부분의 오류를 감지하고 많은 오류의 수정을 허용함으로써 데이터 무결성을 개선했습니다. 궁극적으로, 모든 디스크 섹터 필드는 ECC를 가졌습니다.

1980년대 이전에는, 섹터 크기의 표준화가 거의 없었습니다; 디스크 드라이브에는 트랙당 최대 비트의 개수가 있었고 다양한 시스템 제조업체는 OS와 응용 프로그램에 맞도록 트랙을 다른 섹터 크기로 세분화했습니다. 1980년대에 시작하여 PC의 대중화와 1980년대 후반에 IDE 인터페이스의 등장은 512-바이트 섹터를 HDD와 유사한 저장 장치에 대한 산업 표준 섹터 크기가 되도록 이어졌습니다.

1970년대에, IBM은 CKD DASD 제품군에 고정-블록 아키텍처 직접 접근 저장 장치 (FBA DASD)를 추가했습니다. CKD DASD는 여러 가변 길이 섹터를 지원하고, 반면에 IBM FBA DASD는 512, 1024, 2048, 또는 4096바이트의 섹터 크기를 지원했습니다.

2000년에, 산업 무역 기구, International Disk Drive Equipment and Materials Association (IDEMA)는 향후 데이터 저장 용량 증가에 대응하기 위해 512 바이트를 초과하는 섹터 크기 형식을 규제하는 구현과 표준을 정의하기 위한 작업을 시작했습니다. 2007년 말까지 미래의 IDEMA 표준을 예상하여, Samsung과 Toshiba는 4096 바이트 섹터를 갖는 1.8-인치 하드 디스크 드라이브 출하를 시작했습니다. 2010년에, IDEMA는 4096 섹터 드라이브에 대한 고급 포맷 표준을 완성하여, 모든 제조업체에 대해 512 바이트에서 4096 바이트 섹터로 전환하는 날짜를 2011년 1월로 정했고, 고급 포맷 드라이브가 곧 보편화되었습니다.

Sectors versus blocks

섹터가 구체적으로 물리적 디스크 영역을 의미하고, 반면에 블록이라는 용어는 작은 데이터의 청크를 참조하기 위해 느슨하게 사용되어 왔습니다. 블록은 맥락에 따라 여러 의미를 가집니다. 데이터 저장 장치의 맥락에서, 파일-시스템 블록은 여러 섹터를 포함할 수 있는 디스크 섹터에 걸쳐 추상화입니다. 다른 맥락에서, 그것은 데이터 스트림의 단위이거나 유틸리티에 대한 작업의 단위일 수 있습니다. 예를 들어, 유닉스 프로그램 dd는 매개변수 bs=bytes를 갖는 실행 동안 사용될 블록 크기를 설정하도록 허용합니다. 이것은 dd에 의해 전달되는 데이터 청크의 크기를 지정하고, 섹터나 파일-시스템 블록과 관련이 없습니다.

리눅스에서, 디스크 섹터 크기는 sudo fdisk -l | grep "Sector size"로 결정될 수 있고, 블록 크기는 sudo blockdev --getbsz /dev/sda로 결정될 수 있습니다.

Sectors versus clusters

"Data cluster" redirects here. Not to be confused with clustered file system or computer cluster.

컴퓨터 파일 시스템에서, 클러스터 (때때로 할당 단위 또는 블록이라고도 함)는 파일과 디렉토리에 대한 디스크 공간 할당의 단위입니다. 디스크 데이터 구조를 관리하는 오버헤드를 줄이기 위해, 파일-시스템은 기본값으로 개별 디스크 섹터를 할당하는 것이 아니라, 클러스터라고 하는 연속된 섹터의 그룹을 할당합니다.

512-바이트 섹터를 사용하는 디스크에서, 512-바이트 클러스터는 1개의 섹터를 포함하고, 반면에 4-키비바이트 (KiB) 클러스터는 8개의 섹터를 포함합니다.

클러스터는 파일을 보유하기 위해 할당될 수 있는 가장 작은 논리적 디스크 공간입니다. 따라서 큰 클러스터를 갖는 파일 시스템에 작은 파일을 저장하는 것은 디스크 공간을 낭비할 것입니다; 그러한 낭비되는 디스크 공간은 슬랙 공간(slack space)이라고 합니다. 평균 파일 크기에 비해 클러스터 크기가 작을 때, 파일당 낭비되는 공간은 통계적으로 클러스터 크기의 약 절반이 될 것입니다; 큰 클러스터 크기에 대해, 낭비되는 공간이 더 커집니다. 어쨌든, 클러스터 크기가 클수록 부기 오버헤드와 조각화가 줄어들어, 전체적으로 읽기와 쓰기 속력이 향상될 수 있습니다. 전형적인 클러스터 크기는 1 섹터 (512 B)에서 128 섹터 (64 KiB)까지 범위입니다.

클러스터는 디스크에서 물리적으로 연속적일 필요는 없습니다; 그것은 여러 트랙에 걸쳐 있거나, 섹터 인터리빙이 사용되면, 트랙 내에서 불연속적일 수도 있습니다. 이것은 섹터가 여전히 논리적으로 연속적이므로 조각화와 혼동해서는 안 됩니다.

파일이 디렉토리 목록에서 삭제되지만, 파일 할당 테이블 (FAT)이 파일에 할당된 클러스터를 여전히 표시하면, "클러스터 손실"이 발생합니다.

클러스터라는 용어는 DOS 4.0에서 할당 단위로 변경되었습니다. 어쨌든 클러스터라는 용어는 여전히 널리 사용되고 있습니다.

Zone bit recording

Main article: Zone bit recording

만약 섹터가 반지름과 트랙 사이의 교집합으로 정의되면 (초기 하드 드라이브와 대부분 플로피 디스크의 경우), 디스크 바깥쪽을 향하는 섹터가 스핀들에 가까운 섹터보다 물리적으로 더 깁니다. 각 섹터는 여전히 같은 수의 바이트를 포함하기 때문에, 바깥쪽 섹터는 안쪽 섹터보다 낮은 비트 밀도를 가지며, 이는 자기 표면의 비효율적 사용입니다. 해결책은 디스크를 여러 개의 존으로 나누고, 각 존이 작은 개수의 연속된 트랙을 포함하는 존 비트 기록입니다. 그런-다음 각 존은 각 섹터가 비슷한 물리적 크기를 가짐을 만족하는 섹터로 나뉩니다. 바깥쪽 존이 안쪽 존보다 더 큰 둘레를 가지기 때문에, 그것들은 더 많은 섹터가 할당됩니다. 이것은 존 비트 기록(zoned bit recording)이라고 알려져 있습니다.

존 비트 기록의 결과는 연속적인 읽기와 쓰기가 바깥쪽 트랙 (낮은 블록 주소에 해당)에서 안쪽 트랙보다 눈에 띄게 빨라졌는데, 왜냐하면 회전할 때마다 헤드 아래로 더 많은 비트가 전달되기 때문입니다; 이 차이는 25% 이상일 수 있습니다.

Advanced Format

Main article: Advanced Format

1998년에, 전통적인 512-바이트 섹터 크기는 용량 증가에 대한 하나의 장애물로 확인되었으며, 당시 용량은 무어의 법칙을 초과하는 율로 성장하고 있었습니다. 4096-바이트 섹터를 사용하여 Advanced Format의 구현을 통해 데이터 필드의 길이를 늘리는 것이 이 장애물을 제거하게 되었습니다; 그것은 데이터 표면 영역의 효율성이 5~13% 증가하는 동시에 ECC 강도가 증가하여 더 높은 용량이 가능해졌습니다. 그 포맷은 2005년에 산업 컨소시엄에서 표준화되었고 2011년에는 모든 하드 드라이브 제조업체의 모든 신제품에 통합되었습니다.