실린더 헤드 섹터

Cylinder-head-sector
하드 드라이브의 실린더, 헤드 및 섹터.

실린더 헤드 섹터(CHS)는 하드 디스크 드라이브의 각 물리적 데이터 블록에 주소를 부여하는 초기 방법입니다.

수직 좌표 헤드, 수평(또는 방사형) 좌표 실린더 및 각도 좌표 섹터로 만들어진 3D 좌표계입니다.헤드는 디스크 내의 플래터(및 그 양면 중 하나)인 원형 표면을 선택합니다.실린더는 디스크의 스핀들을 중심으로 디스크 내의 플래터 스택을 통과하는 원통형 교차로입니다.실린더와 헤드가 합쳐지면 원형 선, 더 정확히는 트랙이라고 불리는 물리적 데이터 블록의 원형 스트립이 교차합니다.섹터는 최종적으로 이 트랙에서 어떤 데이터 블록을 처리할지를 선택하고 일종의 각도 구성요소(트랙의 한 조각 또는 이 좌표계에서는 특정 슬라이스 내의 특정 트랙의 일부)로 볼 수 있습니다.

초기 하드 드라이브에는 디스크 컨트롤러가 내장되어 있지 않아 물리적 레이아웃이 숨겨지기 때문에 CHS 주소는 단순한 선형 주소(0부터 디스크-1의 총 블록 수) 대신 노출되었습니다.데이터 블록을 올바르게 처리하기 위해 운영 체제가 컨트롤러에 연결된 특정 드라이브의 정확한 물리적 "기하학"을 알아야 하는 별도의 범용 컨트롤러 카드가 사용되었습니다.종래에는 (128바이트/섹터)×(63섹터/트랙)×(255헤드/섹터)×(8032.5MB)이지만, 물리 섹터당 512바이트, 물리 섹터당 512바이트, 물리 섹터당 4096바이트의 물리 섹터 사이즈가 우세합니다(물리 섹터당 4096바이트).

지오메트리가 복잡해지고(예: 존 비트 레코딩의 도입으로), 드라이브 크기가 시간이 지남에 따라 증가함에 따라 CHS 어드레싱 방식은 제한적이 되었습니다.1980년대 후반부터 하드 드라이브는 물리 기하학적 구조를 잘 알고 있는 내장 디스크[1] 컨트롤러와 함께 출하되기 시작했습니다. 그러나 하드 드라이브는 실제보다 더 많은 헤드가 존재하는 등 더 많은 주소 지정 가능한 공간을 확보하기 위해 컴퓨터에 잘못된 기하학적 구조를 보고했습니다.이러한 논리적인 CHS 값은 컨트롤러에 의해 변환되기 때문에 CHS 어드레싱은 드라이브의 [2]물리 속성에 대응하지 않게 됩니다.

1990년대 중반까지 하드 드라이브 인터페이스는 CHS 스킴을 논리 블록 어드레싱(LBA)으로 대체했지만 마스터 부트 레코드(MBR) 파티션 테이블을 조작하기 위한 많은 툴은 여전히 파티션을 실린더 경계에 맞췄습니다.따라서 2000년대 [2]후반까지 파티션 소프트웨어에서 CHS 어드레싱의 아티팩트가 발견되었습니다.

2010년대 초에 MBR에 의해 부과된 디스크 크기 제한이 문제가 되어 GPT(GUID Partition Table)가 대체품으로 설계되었습니다.MBR 지원 없이 UEFI 펌웨어를 사용하는 최신 컴퓨터는 더 이상 CHS 주소 지정 개념을 사용하지 않습니다.

정의들

하드 드라이브 지오메트리 개요

CHS 어드레싱(CHS addressing)은 트랙 내 위치에 따라 디스크에서 개별 섹터(데이터의 물리적 블록이라고도 함)를 식별하는 과정으로, 트랙은 헤드실린더 번호로 결정됩니다.디스크 주소 지정 섹터가 가장 작은 단위이기 때문에 용어는 아래에서 위로 설명됩니다.디스크 컨트롤러는 주소 변환을 도입하여 논리적인 위치를 물리적인 위치에 매핑할 수 있습니다.예를 들어 존 비트 레코딩은 짧은 트랙(내부)에 격납하는 섹터가 적으며 물리 디스크 포맷이 반드시 원통형일 필요는 없으며 트랙 내의 섹터 번호를 왜곡할 수 있습니다.

섹터

플로피 디스크와 컨트롤러는 128, 256, 512 및 1024바이트(예를 들어 PC/AX)의 물리 섹터 크기를 사용합니다.[3][4]이러한 사이즈는 1980년대에 물리 섹터당 512바이트의 포맷이 지배적이었습니다.

오늘날 하드 디스크의 가장 일반적인 물리적 섹터 크기는 512바이트이지만, IBM과 호환되지 않는 컴퓨터에서도 섹터당 520바이트의 하드 디스크가 있었습니다.2005년 일부 Seagate 커스텀 하드 디스크는 섹터당 1024바이트의 섹터 크기를 사용했습니다.고급 포맷 하드 디스크는 2010년부터 물리 섹터(4Kn)[5]당 4096바이트를 사용하지만 과도기 [6]동안 512바이트 섹터(512e)를 에뮬레이트할 수도 있습니다.

광자기 드라이브는 5.25인치 드라이브에서는 512바이트와 1024바이트, 3.5인치 드라이브에서는 512바이트와 2048바이트의 섹터 크기를 사용합니다.

섹터 번호의 어드레싱은 항상 1에서 시작되므로 섹터 [1]0은 존재하지 않습니다.이는 논리 섹터 어드레싱 방식이 일반적으로 DOS에서 사용되는 Logical Block Addressing(LBA; 논리 블록어드레싱) 또는 "상대 섹터 어드레싱"으로 카운트되기 때문입니다.

물리 디스크 형상의 경우 최대 섹터 수는 디스크의 로우 레벨 포맷에 의해 결정됩니다.그러나 IBM-PC 호환 시스템의 BIOS를 사용한 디스크 액세스의 경우 섹터 번호가 6비트로 인코딩되어 트랙당 최대 1111(63) 섹터가 생성되었습니다.이 최대값은 가상 CHS 지오메트리에 계속 사용됩니다.

트랙

트랙은 얇은 동심원 모양의 섹터입니다.단일 트랙을 읽으려면 적어도 한 개의 헤드가 필요합니다.디스크 형상과 관련하여 트랙과 실린더라는 용어는 밀접하게 관련되어 있습니다.단일 또는 양면 플로피 디스크 트랙의 경우 일반적인 용어이며, 두 개 이상의 헤드의 경우 일반적인 용어입니다.엄밀히 말하면 트랙은 기정사실입니다.CH구성되는 조합SPT섹터, 반면 실린더는 다음과 같이 구성됩니다.SPT×H섹터

실린더

실린더는 고정 블록 아키텍처 디스크의 CHS 어드레싱 모드 또는 CKD 디스크의 CCHR(Cylinder-Head-Record) 어드레싱 모드에서 사용되는 디스크 드라이브 내의 데이터 분할입니다.

컨셉은 물리적 디스크(플래터)를 통과하는 동심원형, 중공, 원통형 슬라이스이며 플래터 스택을 통해 정렬된 각 원형 트랙을 수집합니다.디스크 드라이브의 실린더 수는 드라이브의 단일 표면에 있는 트랙 수와 정확히 동일합니다.각 플래터의 트랙 번호는 동일하며 데이터를 저장할 수 있는 각 플래터 표면에 걸쳐 있습니다(트랙이 "불량"인지 여부에 관계없이).실린더는 트랙에 의해 수직으로 형성됩니다.즉, 플래터 0 위의 트랙 12와 플래터 1 위의 트랙 12 등이 실린더 12이다.

드럼 메모리 장치 또는 IBM 2321 Data Cell과 같은 다른 형태의 DASD(Direct Access Storage Device)는 실린더 주소가 포함된 블록 주소를 제공할 수 있지만, 실린더 주소가 장치의 (기하학) 원통 슬라이스를 선택하지 않습니다.

앞면.

헤드라고 불리는 장치는 연관된 디스크 플래터의 표면을 구성하는 자기 매체를 조작하여 하드 드라이브의 데이터를 읽고 씁니다.당연히 플래터에는 2개의 면이 있어 데이터를 조작할 수 있는 표면이 2개 있습니다.보통 플래터당 2개의 헤드가 있으며, 각 면에 1개씩 있습니다.(플랫터가 플로피 드라이브의 이동식 미디어와 같이 헤드 어셈블리에서 분리될 수 있으므로 헤드 대신 사이드라는 용어가 사용될 수 있습니다.)

CHSIBM-PC 호환 BIOS 코드에서 지원되는 주소 지정 - 이론적으로 최대 256개의 헤드로 계산되는 최대 256개의 헤드를 위해 8비트를 사용합니다.FFh단, 7.10 이하의 Microsoft DOS/IBM PC DOS 의 모든 버전에 버그가 있어, 256[2] 헤드의 볼륨이 발생했을 때에 이러한 OS 가 기동시에 크래쉬 합니다.따라서 모든 호환 BIOS는 최대 255헤드의 매핑을 사용합니다.00h..FEh)만, 가상에 포함255×63기하학

이 이력의 이상성은 오래된 BIOS INT 13h 코드 및 오래된 PC DOS 또는 유사한 운영 체제의 최대 디스크 크기에 영향을 줄 수 있습니다.

(512 bytes/sector)×(63 sectors/track)×(255 heads (tracks/cylinder))×(1024 cylinders)=8032.5 MB입니다만, 실제로는512×63×256×1024=8064 MB8GB [7]제한으로 알려져 있습니다. 맥락에서 8GB = 8192MB의 관련 정의는 CHS가 필요하기 때문에 또 다른 잘못된 제한입니다.512×64×256트랙당 64개의 섹터로 구성됩니다.

트랙과 실린더는 0부터 계산됩니다. 즉, 트랙 0은 플로피 또는 기타 원통형 디스크의 첫 번째 (가장 바깥쪽) 트랙입니다.기존 BIOS 코드는 최대 1024개의 실린더로 CHS 어드레싱에서 10비트를 지원했습니다.1024=210섹터용 6비트, 헤드용 8비트를 추가하면 BIOS 인터럽트 13h에서 지원되는 24비트가 됩니다.허가되지 않은 섹터 번호0 빼기1024×256트랙은 섹터 크기가 512바이트일 경우 128MB에 해당합니다.128 MB=1024×256×(512 byte/sector));8192-128=8064는 (대략)8 GB [8]제한을 확인합니다.

CHS 주소 지정은0/0/1최대한의 가치로1023/255/63위해서24=10+8+6비트, 또는1023/254/63255헤드로 제한된 24비트의 경우.디스크의 지오메트리를 지정하는 데 사용되는 CHS 값은 실린더 0과 헤드 0을 카운트해야 합니다.그 결과 최대값(1024/256/63또는)1024/255/63(256 또는 255 헤드를 가진 24비트의 경우)지오메트리를 지정하는 CHS 튜플에서 S는 실제로 트랙당 섹터를 의미하며, (가상) 지오메트리가 여전히 디스크에 포함된 용량과 일치합니다.C×H×S섹터대용량 하드 디스크가 사용됨에 따라 실린더도 논리 디스크 구조가 되어 16065 섹터로 표준화되었습니다[citation needed].16065=255×63).

28비트(EIDEATA-2)를 사용하는 CHS 어드레싱에서는 섹터 1…255, 헤드 0…15, 실린더 0…65535에서 [9]시작하는 섹터에 대해 8비트를 허용합니다. 결과, 128 GB의 제한이 발생합니다.65536×16×255=267386880섹터 크기 [7]512바이트의 경우 130560MB에 대응합니다.28=16+4+8ATA-2 사양의 비트도 Ralf Brown의 Interrupt List에 포함되며, 현재 만료된 이 표준의 오래된 작업 초안이 [10]공개되었습니다.

오래된 BIOS 제한은 1,024기통, ATA 제한[11] 16헤드로 조합하여 다음과 같은 효과를 얻을 수 있었습니다.1024×16×63=1032192섹터(즉, 섹터 크기 512의 경우 504MB 제한)ECHS알려진 개정판 BIOS 변환 스킴에서는 16개의 헤드가 아닌 128개 또는 240개를 사용하여 이 제한을 완화하고 동시에 들어가는 실린더와 섹터의 수를 줄였습니다.1024/128/63(ECHS 제한: 4032 MB) 또는1024/240/63([7]개정된 ECHS 제한: 7560 MB) 디스크 상의 지정된 총 섹터 수입니다.

블록 및 클러스터

Unix 커뮤니티에서는 섹터 또는 섹터 그룹을 나타내는 용어 블록을 사용합니다.예를 들어 버전 2.25 [12]이전의 리눅스 fdisk 유틸리티에서는 1024바이트 블록을 사용하여 파티션 크기를 표시했습니다.

클러스터는 다양한 파일 시스템(FAT, NTFS 등)의 데이터를 할당하는 단위로, 데이터는 주로 파일로 구성됩니다.클러스터는 디스크의 물리적 형상 또는 가상 형상의 직접적인 영향을 받지 않습니다.즉, 클러스터는 특정 끝 부근의 섹터에서 시작할 수 있습니다.CH물리적으로 또는 논리적으로 다음 섹터에서 추적하고 끝내는CH 트랙을 클릭합니다.

CHS/LBA 매핑

2002년 ATA-6 사양에서는 옵션의 48비트 논리 블록 어드레싱을 도입하여 CHS 어드레싱은 구식이라고 선언했지만 ATA-5 [13]변환 구현은 여전히 허용되었습니다.이하에 나타내는 CHS-LBA 변환식은, 전회의 ATA-5 CHS 변환과 일치합니다.ATA-5 사양에서는 CHS 지원은 최대 16개의 514 064 섹터에 필수이며, 대형 디스크에 대해서는 옵션입니다.ATA-5 제한은 CHS에 대응합니다.16383 16 63또는 동등한 디스크 용량(16514064 = 16383×16×63 = 1032×254×63), 24 = 14+4+6 비트(16383 + 1 = [14]214)가 필요합니다.

CHS 튜플은 다음 식을 사용하여 LBA 주소에 매핑할 수 있습니다.

A = (c nheads N + h) nsectors N + (s - 1)

여기서 A는 LBA 주소, Nheads 디스크 상의 헤드 수, Nsectors 트랙당 최대 섹터 수, (c, h, s)는 CHS 주소입니다.

FAT 파일 시스템ECMA-107[3]ISO/IEC 9293:1994[15](ISO 9293:1987[16]) 규격의 논리 섹터 번호 공식은 의 LBA 공식과 정확히 일치합니다.논리 블록 주소와 논리 섹터 번호(LSN)는 동의어입니다.[3][15][16]같은 CHS 태플이 지오메트리에 따라 다른 논리 섹터 번호를 다루기 때문에 공식에서는 실린더 수를 사용하지 않지만 디스크 지오메트리의 트랙당 헤드 수와 섹터 수가 필요합니다.:

지오메트리의 경우1020 16 631028160 섹터가 있는 디스크의 CHS3 2 1LBA인가? 3150=((3× 16)+2)× 63 + (1-1)
지오메트리의 경우1008 4 2551028160 섹터가 있는 디스크의 CHS3 2 1LBA인가? 3570=((3× 4)+2)×255 + (1-1)
지오메트리의 경우 64 255 631028160 섹터가 있는 디스크의 CHS3 2 1LBA인가?48321=((3×255)+2)× 63 + (1-1)
지오메트리의 경우2142 15 321028160 섹터가 있는 디스크의 CHS3 2 1LBA인가? 1504=((3× 15)+2)× 32 + (1-1)

섹터의 시퀀스를 선형 LBA 모델로 시각화하기 위해 다음 사항에 유의하십시오.

첫 번째 LBA 섹터는 섹터 #0으로 CHS 모델에서 같은 섹터를 섹터 #1이라고 부릅니다.
각 헤드/트랙의 모든 섹터는 다음 헤드/트랙으로 증가하기 전에 카운트됩니다.
동일한 실린더의 모든 헤드/트랙이 다음 실린더로 증가하기 전에 카운트됩니다.
전체 하드 드라이브의 바깥쪽 절반이 드라이브의 첫 번째 절반입니다.

역사

실린더 헤드 레코드 형식은 적어도 1960년대부터 IBM 메인프레임의 CKD(Count Key Data) 하드 디스크에서 사용되어 왔습니다.이는 PC에서 사용되는 실린더 헤드 섹터 형식과 거의 유사하지만 섹터 크기는 고정되어 있지 않지만 각 애플리케이션의 필요에 따라 트랙마다 다를 수 있습니다.현재 메인프레임에 표시되는 디스크 지오메트리는 스토리지 펌웨어에 의해 에뮬레이트되며 더 이상 물리적 디스크 [citation needed]지오메트리와는 관계가 없습니다.

MFMRLL 드라이브와 같이 PC에 사용된 이전의 하드 드라이브는 각 실린더를 동일한 수의 섹터로 분할했기 때문에 CHS 값이 드라이브의 물리적 속성과 일치했습니다.CHS 태플이 있는 드라이브500 4 32는 각 플래터에 면당 500개의 트랙, 2개의 플래터(4개의 헤드) 및 트랙당 32개의 섹터를 가지며, 총 32개의 768000바이트(31.25MiB)[citation needed]가 됩니다.

ATA/IDE 드라이브는 데이터 저장에 있어 훨씬 더 효율적이며, 현재 구식의 MFM 및 RLL 드라이브를 대체했습니다.이들은 ZBR(Zone Bit Recording)을 사용합니다. ZBR에서는 각 트랙을 나누는 섹터의 수가 플래터 표면의 트랙 그룹의 위치에 따라 달라집니다.플래터 가장자리에 가까운 트랙에는 스핀들에 가까운 트랙보다 더 많은 데이터 블록이 포함됩니다. 플래터 가장자리에 가까운 특정 트랙 내에는 더 많은 물리적 공간이 있기 때문입니다.따라서 CHS 어드레싱 스킴은 플래터의 지역별로 트랙당 섹터 수가 다르기 때문에 이러한 드라이브의 물리적 지오메트리에 직접 대응할 수 없습니다.이러한 이유로 많은 드라이브는 드라이브의 끝에 여전히 섹터가 남아 있습니다(기통 크기가 1기통 미만). 전체 섹터 수가 실린더 [citation needed]경계에서 끝나는 경우는 거의 없기 때문입니다.

ATA/IDE 드라이브는 드라이브 용량(또는 BIOS)을 초과하지 않는 실린더, 헤드 및 섹터 구성으로 시스템 BIOS에서 설정할 수 있습니다. 왜냐하면 드라이브는 특정 CHS 값을 특정 하드웨어 구성의 실제 주소로 변환하기 때문입니다.그러나 이로 인해 호환성 [citation needed]문제가 발생할 수 있습니다.

Microsoft DOS 또는 이전 버전의 Windows와 같은 운영 체제의 경우 각 파티션은 실린더 [citation needed]경계에서 시작하고 끝나야 합니다.최신 운영 체제(Windows XP 포함) 중 일부만 이 규칙을 무시할 수 있지만, 이 규칙을 무시해도 호환성 문제가 발생할 수 있습니다. 특히 사용자가 동일한 드라이브에서 이중 부팅을 수행할 경우 더욱 그렇습니다.Microsoft는 Windows Vista [17]이후 내장 디스크 파티션 도구에서는 이 규칙을 따르지 않습니다.

「 」를 참조해 주세요.

레퍼런스

  1. ^ "Overview and History of the IDE/ATA Interface". The PC Guide. 17 April 2001. Archived from the original on 4 February 2019.
  2. ^ a b de Boyne Pollard, Jonathan (2011). "The gen on disc partition alignment".
  3. ^ a b c "Volume and File Structure of Disk Cartridges for Information Interchange". Standard ECMA-107 (2nd ed., June 1995). ECMA. 1995. Retrieved 30 July 2011.
  4. ^ "Standard Floppy Disk Formats Supported by MS-DOS". KB75131. Microsoft Knowledge Base. 12 May 2003. Retrieved 31 July 2011.
  5. ^ "Western Digital's Advanced Format: The 4K Sector Transition Begins". AnandTech. 18 December 2009. Retrieved 29 July 2011.
  6. ^ "Advanced Format Technology Brief" (PDF). Hitachi. 2010. p. 1. Archived from the original (PDF) on 27 September 2011. Retrieved 1 August 2011. 512 byte emulation is sometimes referred to as 512e
  7. ^ a b c Andries Brouwer (1 November 2004). "History of BIOS and IDE limits". Large Disk HOWTO v2.5. Retrieved 30 July 2011.
  8. ^ "Windows NT 4.0 supports maximum of 7.8-GB system partition". Microsoft. 23 February 2007. Retrieved 30 July 2011.
  9. ^ "5K500.B SATA OEM Specification Revision 1.2" (PDF). Hitachi. 17 March 2009. p. 51. Archived from the original (PDF) on 27 September 2011.
  10. ^ "ATA-2" (PDF). X3T10/0948D. INCITS Technical Committee T13 AT Attachment. 18 March 1996. Archived from the original (PDF) on 28 July 2011.
  11. ^ "ATA-1" (PDF). X3T10/791D. INCITS Technical Committee T10 SCSI Storage Interfaces. 1994. Archived from the original (PDF) on 21 March 2012.
  12. ^ "Util-linux 2.25 Release Notes". The Linux Kernel Archives. Retrieved 24 March 2016.
  13. ^ "ATA-6" (PDF). T13/1410D. INCITS Technical Committee T13 ATA Storage Interface. 2002. p. 22. Archived from the original (PDF) on 28 July 2011. Retrieved 30 July 2011. In standards ATA/ATAPI-5 and earlier, a CHS translation was defined. This translation is obsolete but may be implemented as defined in ATA/ATAPI-5.
  14. ^ "ATA-5" (PDF). T13/1321D. INCITS Technical Committee T13 ATA Storage Interface. 2000. p. 19. Archived from the original (PDF) on 28 July 2011. Retrieved 30 July 2011. If the device's capacity is greater than or equal to one sector and less than or equal to 16,514,064 sectors, then the device shall support CHS translation.
  15. ^ a b "Information technology -- Volume and file structure of disk cartridges for information interchange". ISO/IEC 9293:1994. ISO catalogue. 1994. Retrieved 6 January 2012.
  16. ^ a b "Information processing -- Volume and file structure of flexible disk cartridges for information interchange". ISO 9293:1987. ISO catalogue. 1987. Retrieved 6 January 2012.
  17. ^ "KB931760". Microsoft Windows XP Support. Microsoft Knowledge Base. 23 July 2009. Retrieved 30 July 2011.

메모들

1.^ 이 규칙은 적어도 물리 섹터가 1 이상으로 명명된 모든 형식에 적용됩니다.단, 몇 가지 이상한 플로피 포맷(예를 들어 BBC Master 512가 DOS Plus 2.1에서 사용하는 640KB 포맷)이 있으며 트랙의 첫 번째 섹터는 "1"이 아니라 "0"으로 명명됩니다.
2.^ 컴퓨터가 0부터 카운트를 시작하는 동안 DOS는 1부터 카운트를 시작합니다.이를 위해 DOS는 화면에 표시하기 전에 헤드카운트에 1을 추가합니다.그러나 8비트 부호 없는 정수를 큰 크기(16비트 정수 등)로 변환하는 대신 DOS는 1만 추가했습니다.이로 인해 255의 헤드카운트가 오버플로가 됩니다.(0xFF( )을 0으로 합니다(0x100 & 0xFF = 0x00256이 아닌 )를 사용합니다.이것은 DOS 8에서 수정되었지만, 그 무렵에는 헤드 값 255를 사용하지 않는 것이 사실상의 표준이 되었습니다.