물리적 섹터 크기를보고하는 하드 드라이브의 요점은 무엇입니까?


13

물리적 섹터 크기를 두 가지 방법으로 OS에보고하도록 구성 할 수있는 SSD가 있습니다.

옵션 1 : 논리 = 512 바이트, 물리 = 512 바이트

옵션 2 : 논리 = 512 바이트, 물리 = 4096 바이트 (4K)

다음을 고려하여 OS가 4K 물리 섹터 크기를 인식하면 어떤 이점이 있습니까?

  • OS 512 바이트 섹터에서 드라이브와 통신 해야합니다.

  • 모든 최신 OS는 4K에 맞춰 4K 또는 4K I / O의 배수를 활용합니다.

현대 OS는 이미 4K 섹터 드라이브에 최적화되어 있기 때문에 설정이 의미가 없습니다. 현대 OS는 기본적으로 4K 친화적 인 방식으로 모든 것을 수행하기 때문에 섹터가 512b이든 4K이든 관계없이 드라이브를 "구문"할 필요가 없습니다.

예를 들어, Windows 7은 파티션을 1MB (4K의 배수), NTFS 클러스터 크기는 4K 또는 그 배수로 정렬하고 모든 I / O는 4K 또는 그 배수로 수행됩니다. Windows는 하드 드라이브의 종류를 알려주지 않으며 모든 경우에 위의 동작을 적용합니다 .

어쨌든 ... 내 SSD에는이 "물리적 섹터 크기"설정이 있으므로 몇 가지 이유가 있어야합니다 ... 이것이 내가 찾고있는 이유입니다.

BTW, 가치있는 드라이브는 인텔 SSD DC S3510 입니다. 드라이브의 데이터 시트에 다음 과 같이 표시되어 있습니다 (27 페이지).

State = 0, Option = 1 인 SCT 명령 0xD801을 사용하면 ID Word 106을 0x6003에서 0x4000 (4KB 실제 섹터 크기에서 512B 실제 섹터 크기 지원 변경)으로 변경할 수 있습니다.


1
4096 바이트는 고급 형식입니다 . 하드 드라이브가 512K를 에뮬레이트 할 경우 OS에 따라 고급 형식 하드 드라이브 중 하나를 수행 할 수 있습니다
Moab

2
스토리지 인터페이스는 레거시 결정의보고입니다. "4 KB 물리적 섹터 크기"도 마찬가지입니다. 플래시의 물리적 섹터 크기는 일반적으로 256kB를 초과합니다. 보고 된 모든 섹터 크기는 비논리적입니다.
MSalters

답변:


16

512 바이트 에뮬레이션은 이전 시스템과의 호환성을 위해 고안되었습니다. 그러나 실제 4K 섹터의 일부에만 관련된 쓰기는 실제로 쓰기 전에 섹터를 읽고 수정해야하므로 성능이 저하 될 수 있습니다.

레거시 운영 체제가 Advanced Format 디스크에 쓰려고하면 기록 된 논리 섹터가 실제 섹터와 일치하지 않기 때문에 성능 문제가 발생할 수 있습니다.

  • 4K 물리 섹터의 일부만 읽으면 데이터가 물리 섹터에서 간단히 읽히고 성능이 저하되지 않습니다. 그러나 시스템 이 물리 섹터의 일부 (예 : 전체 물리 섹터가 아닌 에뮬레이트 된 512 바이트 섹터) 에 쓰려고 할 때 하드 드라이브는 전체 물리 섹터를 읽고 하드 드라이브 내부의 변경된 부분을 수정해야합니다. 기억하고 플래터에 다시 쓰십시오. 이를 RMW ( read-modify-write )라고 하며 디스크의 추가 회전이 필요하므로 성능이 저하됩니다. Seagate는이를 다음과 같이 설명합니다 .

[...] 하드 드라이브는 먼저 호스트 쓰기 요청의 대상 위치를 포함하는 전체 4K 섹터를 읽고 기존 데이터를 새 데이터와 병합 한 다음 전체 4K 섹터를 다시 작성해야합니다.

읽기-수정-쓰기주기

이 경우 하드 드라이브는 4K 섹터를 읽고 내용을 수정 한 다음 데이터를 쓰는 형태로 추가적인 기계적 단계를 수행해야합니다. 이 프로세스를 읽기-수정-쓰기주기라고하며 하드 드라이브 성능에 부정적인 영향을 미치기 때문에 바람직하지 않습니다.

4K 경계에 맞지 않는 디스크 파티션은 성능 저하를 유발할 수 있습니다.

  • 일반적으로 하드 디스크의 첫 번째 파티션은 섹터 63에서 시작합니다. Windows XP 및 이전 운영 체제는 이러한 방식으로 디스크를 분할했습니다. 최신 버전의 Windows는 1MB 경계에 파티션을 생성하여 물리적 섹터에 올바르게 정렬됩니다. 이것을 정렬 0 이라고 합니다.

  • LBA 63은 8의 배수가 아니기 때문에 (8 바이트 512 레거시 섹터는 4K 섹터에 맞음) 이전 방식으로 포맷 된 Advanced Format 디스크는 클러스터 (파일 시스템 데이터 할당의 최소 단위, 일반적으로 4K 크기)를 갖습니다 4K 디스크의 물리 섹터에 정렬되지 않은 상태 인 Alignment 1 이라는 조건 . 결과적으로 4K의 데이터를 포함하는 I / O 작업은 이제 두 섹터에 걸쳐 있으며 읽기-수정-쓰기 작업을 수행하여 성능을 저하시킵니다.

OS가 항상 4K 경계에 데이터를 기록하는 경우 물리 섹터 크기에 대한 정보는 필요하지 않지만이 정보는 여전히 저수준 I / O를 수행하는 응용 프로그램에 필요할 수 있습니다.

  • 드라이브가 실제 섹터 크기가 4K라고보고하면 OS 또는 응용 프로그램은 해당 드라이브가 Advanced Format 드라이브임을 알 수 있으므로 전체 물리 섹터에 걸쳐 있지 않은 I / O 작업을 수행하지 않아야합니다. 512 바이트 기본 섹터를보고하는 드라이브에는이 제한이 없습니다. 최신 운영 체제는 일반적으로 가능할 때마다 4K 단위로 데이터를 읽거나 쓰려고 시도하지만 (이 정보는 관련이 없음) 저수준 I / O를 수행하는 응용 프로그램은 물리적 섹터 크기를 알아야 그에 따라 조정하고 정렬되지 않을 수 있습니다. 또는 RMW주기를 느리게하는 부분 섹터 쓰기.

SSD는 특정 스토리지 배열과의 호환성에 필요하므로보고 된 물리 섹터 크기를 변경하는 기능을 제공합니다.

  • 데이터 센터에는 종종 레거시 512n 드라이브로 구성된 스토리지 배열이 있습니다. 512 바이트 섹터를 에뮬레이트하는 드라이브조차도 4K 드라이브는 이러한 어레이와 호환되지 않을 수 있으므로이 기능은 호환성을 보장하는 데 필요합니다. 참조 이 포럼 스레드를 :

    512b 디스크로 포맷 된 어레이에 4K 드라이브를 꽂을 수는 없습니다. 많은 스토리지 (주로 ZFS 기반 스토리지는 소프트웨어 정의 스토리지가 파동을 형성함에 따라 점점 더 대중화되고 있음)는 다른 물리 섹터 형식의 교체 드라이브를 수용하지 않습니다.

    드라이브가 4K 섹터를 사용하도록 구성된 경우 최신 시스템에서 더 나은 성능을 얻을 수 있습니다.


아이러니 한 점은 제대로 정렬하는 방법을 모르는 OS도 "물리적 섹터 크기"에 대한 하드 드라이브를 쿼리 할 수 ​​없다는 것입니다. 제대로 정렬하는 방법을 알고있는 OS '는 기본적으로 제대로 정렬되기 때문에 "물리적 섹터 크기"에 대해 하드 드라이브를 쿼리 할 필요가 없습니다. 예를 들어 Windows는 1MB로 정렬됩니다.
misha256

1
말해야 해요 ... 난 화가 났어요 "물리적 섹터 크기"보고 설정을 변경할 수있는 드라이브는 본 적이 없습니다. 512b 및 4K 옵션 만 고려하고 최신 OS가 어떤 종류의 드라이브를 사용 하든 4K 방식으로 모든 작업을 수행한다는 점을 고려하면 이러한 설정이 필요한 이유를 이해할 수 없습니다 .
misha256

이것은 아마도 로트의 가장 좋은 대답 일지 모르지만 여전히 인텔 엔지니어를 찾아 권위있는 답변을 얻을 때가되었습니다. 매우 난해한 것 같습니다.
misha256

3
하드 드라이브와 관련이 있지만이 답변은 SSD와 관련이 없습니다. SSD 쓰기 / 삭제 블록 크기는 몇 메가 바이트이므로 4K "물리적"조차도 실제 물리 섹터 크기에 가깝지 않습니다.
qasdfdsaq

1
@qasdfdsaq 쓰기 크기는 반드시 지우기 크기와 같을 필요는 없습니다. 4K는 블록 "사용 중"추적의 세분성입니다. 한편 ZFS에 대한이 답변의 마지막 부분이 올바른 것임을 확신합니다. utcc.utoronto.ca/~cks/space/blog/tech/…
pjc50

5

OS가 512 바이트 섹터의 드라이브와 통신해야 할 때 물리적 섹터 크기를 인식함으로써 OS가 얻는 이점은 무엇입니까?

논리적 크기는 데이터 를 전송 하기위한 최소 크기 입니다. 이것은 블록 장치이므로 호스트 컴퓨터와 드라이브 간의 모든 데이터 전송은이 논리 블록 크기의 배수가됩니다.

물리적 크기는 데이터 를 전송 하기에 가장 적합한 크기 이며 컨트롤러 / 드라이브 수준에서 실제 읽기쓰기 작업 의 크기를 반영합니다 .

호스트 컴퓨터가 논리 섹터의 읽기를 요청하면 컨트롤러 / 드라이브는 논리 섹터가 포함 된 물리 섹터의 읽기 작업을 수행합니다.
논리 섹터 크기가 물리 섹터 크기와 같으면 작업이 간단합니다. 논리 섹터 크기가 물리 섹터 크기보다 작은 경우, 논리 컴퓨터는 호스트 컴퓨터로 전송하기 위해 컨트롤러에 의해 물리 섹터로부터 추출되어야한다.

호스트 컴퓨터가 논리 섹터의 쓰기를 요청하면 물리 섹터의 크기가 중요합니다.
논리 섹터 크기가 물리 섹터 크기와 동일한 경우, 기록 동작은 간단하고 직접 진행될 수있다. 섹터의 이전 내용 상태는 쓰기 작업에 영향을 미치지 않습니다.

논리 섹터 크기가 물리 섹터 크기보다 작은 경우, 제어기는 먼저 논리 섹터를 포함하는 물리 섹터의 읽기 조작을 수행해야합니다.
판독이 성공하면 논리 섹터는 물리 섹터에 삽입되고 물리 섹터는 전체적으로 기록됩니다.
재시도 후에도 읽기에 실패하면 쓰기 작업을 완료 할 수 없습니다.

OS가 물리적 섹터 크기로 읽기 및 쓰기 작업을 수행하는 경우 (ATAPI 명령 집합에서 사용 가능한 다중 섹터 작업을 사용하여) 쓰기 작업이보다 효율적으로 수행됩니다 (불필요한 불완전한 가능성없이).

논리 섹터 크기는 OS가 드라이브와 통신하는 방법을 완전히 정의합니다. 예외 없음. 논리 섹터 크기로만 통신 할 수있는 경우 물리 섹터 크기를 알고있는 용도는 무엇입니까?

"예외 없음"에 대한 귀하의 경합이 올바르지 않습니다.
IDE HDD에 도입 된 ATAPI 명령 세트에는 항상 sector count매개 변수 를 사용하여 읽기 및 쓰기 작업을 수행 할 수있는 기능이 있습니다. 이것은 단순히 섹터가 동일한 트랙에있는 한 다중 섹터 읽기 / 쓰기 작업이 가능한 기존 디스크 및 플로피 컨트롤러 인터페이스의 확장 일뿐입니다.


이것은 정답 일 수도 있지만 여전히 확신하지 못합니다. 최신 OS는 파일 시스템 및 4K의 I / O 블록 크기와 4K의 배수로 작동합니다. 그들은되어 이미 4K 물리 섹터가 하드 드라이브에서 사용하기에 최적화. 또한, 사용 된 I / O 블록 크기 는 512b 물리적 하드 드라이브에서도 여전히 4K 및 4K의 배수입니다. 무엇을 제공합니까?!
misha256

빙고! sector count당신의 ... 말 매개 변수는 심지어 고대의 윈도우 XP는 / 읽기의 I / O 블록 크기의 글을 8그 분야 또는 배수. 이미 완전히 최적화되었습니다! 이것이 파티션이 정렬되어있는 한 XP가 SSD와 매우 잘 작동하는 이유입니다. 매우 4K 친화적입니다. 따라서 질문은 여전히 ​​답이 없습니다. 무엇 보다 운영체제는 물리적 섹터 크기를 알고 할 수있는 것은 4K입니다. OS는 이미 4K I / O에 최적화되어 있습니다.
misha256

1
"그들은 이미 최적화되어 있습니다 ..." -반드시 그런 것은 아닙니다. "시작"섹터는 항상 물리 섹터와 정렬되어야합니다. OS가 물리적 및 논리적 섹터를 인식하지 않았을 때, 다중 섹터 작업을 사용하여 더 효율적으로 노력하려는 경우에는 사실이 보장되지 않습니다.
톱밥

2
아니요, 그렇게 간단하지 않습니다. "Windows XP, Windows Server 2003 및 Windows Server 2003 R2는 512e 또는 4Kn 미디어를 지원하지 않습니다. 시스템이 부팅되어 최소로 작동 할 수 있지만 기능 문제, 데이터 손실 또는 최적이 아닌 시나리오에 대해 알 수없는 시나리오가있을 수 있습니다 따라서 Microsoft는 Windows XP에서 512e 미디어를 사용하지 않도록 강력히 경고합니다 ... " msdn.microsoft.com/en-us/library/windows/desktop/…
Ross Ridge

2
@ misha256-당신은 체리가 조건을 고르고 모든 상황 에서이 정보가 쓸모 없다고 선포합니다. 모든 사람이 Windows 및 NTFS 및 4K 이상의 클러스터에서 이러한 SSD를 사용하는 것은 아닙니다. "NTFS는 4K 미만의 I / O도 지원하지 않습니다" -사실이 아닙니다. 512, 1024 및 2048 바이트의 클러스터 크기는 여전히 NTFS 용 Win7 사본의 옵션입니다. . .
톱밥

3

OS가 기본 물리 섹터 크기를 알고 있으면 가능한 한 적은 수의 물리 작업이 필요하도록 쿼리를 최적화 할 수 있습니다. 특히 SSD의 경우 물리적 작업 제한 (4KB IOPS 제한)이 종종 장치 속도의 최대 제한이므로이 용량을 최대한 활용할 수있는 것이 중요합니다.


아, 이건 옳지 않아 현대 OS는 본질적으로 최적화되어 있습니다. 그들 모두는 2 ^ 12에서 시작하여 2 ^ n 바이트 인 "블록"크기 (일명 클러스터)의 파일 시스템을 사용합니다 (예 : 4K, NTFS 기본값으로 생각). 이에 따라 모든 I / O 작업은 4K의 배수가됩니다. 디스크가 실제로 512 바이트인지 4K 인지 여부는 차이가 없습니다. 이보다 더 이상 최적화 할 수 없습니까?
misha256

OS가 올바른 정렬을 얻지 못하고 두 개의 물리적 섹터에 걸쳐 I / O 작업이 중단되면 어떻게됩니까? 성능이 저하됩니다.
bwDraco

1
@ misha256 당신이 말한 것과 말한 것 사이에 비 호환성이 없습니다. 대부분의 파일 시스템은 정렬이 제대로되지 않으면 서 물리적 섹터 크기를 아는 것으로부터 많은 이점을 얻지 못한다는 것이 사실입니다. 일부 데이터베이스는 그렇지 않습니다.
David Schwartz

@DavidSchwartz 맞아, 이것이 데이터 센터 등에서 사용되는 일부 난해한 OS 또는 파일 시스템의 이점을위한 것일까 요? 멋진 RAID 어레이일까요?
misha256

비 Windows ( "비밀 한") OS 및 RAID 컨트롤러에 관한 것 같습니다.
pjc50

1

드라이브 내에서 위치에 액세스하는 방법에는 두 가지가 있습니다. 하나는 CHS 체계이고 다른 하나는 LBA 체계입니다.

CHS는 실린더, 헤드, 섹터를 나타내며 드라이브에서 읽거나 쓸 위치를 결정하는 가장 낮은 수준의 방법입니다. 실린더 x, 헤드 y 및 섹터 z를 사용하고 메모리의 주소 (버퍼)에서 해당 위치의 내용을 읽거나 쓰도록 지시합니다. 물리적 실린더와 판독 헤드가있는 (전통적인 회전식 녹) 하드 드라이브의 실제 물리적 구성 요소에서 파생됩니다. 섹터는 주소 지정이 가능한 가장 작은 단위이며 전통적으로 512 바이트로 고정되었습니다.

LBA는 드라이브가 오프셋에 의해 섹터 주소를 읽고 섹터 주소에 기록하는 논리 바이트 주소 지정입니다. 예를 들어 디스크에서 123837 번째 섹터를 읽거나 디스크에서 123734 번째 섹터에 기록합니다 (0부터 시작).

문제? 이러한 각 값은 범위가 제한됩니다. 실제로 CHS가 얼마나 제한되어 있었기 때문에 LBA를 도입해야했습니다. CHS의 경우 C (실린더)의 가능한 값은 1023이며 H (헤드)는 최대 255 개이고 S (섹터)는 최대 63 개까지 가능합니다. 즉, 최대 1024 개의 실린더 x 255 헤드 x 64를 가질 수 있습니다. 섹터 x 512 바이트는 전통적인 CHS 형식으로 매핑되어 총 8GiB 미만을 제공합니다! CHS를 사용하면 8GiB보다 큰 디스크에 액세스 할 수 없습니다!

따라서 LBA에는 32 비트 제한이 도입되어 디스크 크기에 2 ^ 32 x 512 바이트 또는 2TiB 제한이 있습니다. 이는 MBR 디스크가 CHS 및 LBA를 사용하여 파티션 크기를 지정하기 때문에 2TiB를 초과 할 수없는 이유입니다. 2TiB 이상을 지원하십시오.

LPT를 64 비트로 확장하여 2 ^ 64 x 512 바이트에서 필요한 것보다 훨씬 많은 것을 제공하는 GPT 파티셔닝 구성표와 같이 더 새롭고 더 나은 옵션이 도입되었습니다. 그러나 많은 레거시가 있습니다. 하드웨어 및 레거시 운영 체제 및 레거시 BIOS 구현 및 레거시 드라이버는 UEFI 또는 GPT를 지원하지 않으며 많은 사람들이 전체 스택을 다시 작성하지 않고도 2TiB 제한을 초과하도록보다 쉽게 ​​업그레이드 할 수있는 기능을 원합니다. 기스로부터. 그리고 마침내 우리는 4096 섹터 크기에 도달합니다.

위에서 논의한 모든 제한 사항에서 하나의 고정 된 가정이 섹터 크기라는 것을 보라. 첫날부터 512 바이트였으며 그 이후로 계속 유지되었습니다. 그러나 최근 하드 디스크 제조업체는 전통적인 CHS 또는 32 비트 LBA를 사용하여 섹터 크기를 512 바이트 대신 4096 (4k)로 간단히 대체 할 수있는 기회가 있다는 것을 깨달았습니다. OS가 LBA 1 (LBA 0이 첫 번째이기 때문에)을 요청하여 "디스크의 두 번째 섹터를 알려주십시오"라고 말하면 바이트 512-1023이 아니라 바이트 4096-8191이됩니다.

갑자기 2TiB 제한이 MBR을 버리지 않고 UEFI 또는 GPT로 전환하지 않고도 2 ^ 32 x 4096 바이트 또는 16TiB로 업그레이드되었습니다!

유일한 발견은 OS가 512 바이트 섹터 대신 4096 섹터를 사용하는 매직 디스크임을 인식하지 못하면 불일치가 발생한다는 것입니다. OS에서 "이봐, 디스크, xxx를 상쇄하기 위해이 512 바이트를 쓰십시오"라고 말할 때마다 디스크는 4096 바이트 를 사용하여 512 바이트를 저장합니다. 바이트 단위로 통신하지 않기 때문에 섹터에서 통신하기 때문에 메모리 언더 플로).

따라서 현재 BIOS (때로는)에는 최신 디스크에서 사용하는 기본 4096 바이트 섹터 크기 대신 512 바이트 섹터 크기를 사용하도록 수동으로 지정할 수있는 옵션이 포함되어 있습니다. "좋은 옛날"과 마찬가지로 MBR 시스템에서 디스크의 2TiB. 그러나 4k를 인식하는 최신 OS는이 모든 것을 활용하여이 마법을 사용하여 4096 바이트 청크를 읽고 쓸 수 있습니다!

(추가 이점은 한 번에 4096 바이트를 읽고 쓰는 경우 4GiB의 데이터를 읽거나 쓰는 작업이 적기 때문에 작업 속도가 훨씬 빠르다는 것입니다.)


2
이것은 실제로 질문에 대답하지 않습니다. CHS와 LBT를 설명하는 것은 관련이 없습니다. 이것은 당신이 "섹터"에 대해 아는 것의 두뇌 덤프처럼 읽습니다. "첫날부터 512 바이트였습니다 ..." -IBM PC에만 해당됩니다.
톱밥

1
@sawdust 동의하지 않음-CHS 및 LBA에 대한 (중요한) 배경을 무시하더라도 귀하의 질문에 대한 간결한 대답은 마지막 두 번째 단락입니다. "그러나 4k를 인식하는 현대 OS는이 마법을 4096 바이트 단위로 읽고 쓰기! " 즉, OS가 512 바이트 청크로 대화해야한다는 가정의 문제는 잘못되었습니다.
davidgo

@davidgo 드라이버 수준에서 OS n는 512 바이트 청크 단위로 드라이브와 통신 합니다. 이 n숫자는 Windows XP에서 8보다 작지 않으며 항상 8의 배수입니다. 이는 XP 이후의 모든 OS를 의미하며 모든 최신 Linux 배포판도 이미 4K 드라이브에 최적화되어 있다고 생각합니다. 가장 작은 I / O는 4K이며 다른 모든 I / O 크기는 그 배수입니다.
misha256

n 섹터를 하나의 작업으로 그룹화하더라도 디스크가 512 바이트 청크를 찾도록 지시하고 있음을 분명히 알 수 있습니다. 4096 개의 섹터가 탐색 문제를 해결합니다. 또한 블록 크기에 대한 OS 지식이 필수적이라는 것을 분명히했습니다. 그렇지 않으면 512 바이트가 4096 청크로 저장됩니다!
Mahmoud Al-Qudsi 3

또한 논리적 대 물리적에 대해 혼란 스럽다고 생각합니다. 물리적 크기는 항상 512 또는 4096입니다. 논리적 크기가 4096이지만 OS가 맹목적으로 512라고 가정하면 앞에서 설명한 문제가 발생합니다. 일치해야합니다.
Mahmoud Al-Qudsi 3


0

4K 섹터가 최신 운영 체제에 문제가되는 상황을 알려주고 싶었습니다.

Microsoft의 VSS 기록기 (Shadow Copy)는 4K 섹터에서 잘 작동하지 않습니다. DFS 복제 공유 폴더를 백업하려면 백업 소프트웨어 "Backup Exec"이 DFS 복제 폴더의 섀도 복사본을 만들어야합니다. VSS가 4K 섹터에서 올바르게 작동하지 않아 DFS 복제 폴더가 4K 섹터가있는 드라이브에 있으면 작업이 실패합니다.


3
나는 이것이 제안 된 질문에 대답하는 것이 확실하지 않으며, 질문에 대한 대답이며 저자가 요청한 것이 아닙니다.
Ramhound

이것은 매우 흥미로운 정보이지만 다소 다른 질문에 대한 응답으로 보입니다. 평판이 충분하면 어디에서나 댓글을 달 수 있습니다. 당사 사이트에 대한 소개는 둘러보기를 참조하십시오 .
벤 N

-3

물리적은 실제 드라이브 자체를 의미하고 논리적은 드라이브 내 정의 된 부분을 의미합니다. 에서 PC 매기의 논리적 물리적 대 :

Windows PC에서 단일 실제 하드 드라이브는 드라이브 0입니다. 그러나 C :, D : 및 E :와 같은 여러 논리 드라이브로 분할 될 수 있습니다.

이것을 소화 가능한 형태로 설명하려면 손의 너비 인 사과를 상상해보십시오. 그것이 사과의 실제 크기입니다. 당연히, 전체 사과는 입에 맞지 않을 것이므로, 같은 조각으로 얇게 썰기로 결정합니다. 각 조각은 손가락 너비입니다. 이것은 논리 크기 또는 컴퓨터가 사용할 크기입니다.

이에 대한 몇 가지 이유는 Wikipedia에 설명 된대로 실제 값 용량 계산 및 오류 매핑 및 수정입니다 .

일반적인 하드 디스크 드라이브는 드라이브의 "예비 섹터 풀"( "예약 풀"이라고도 함)이 제공하는 예비 물리 섹터에 실패한 물리 섹터의 데이터를 "재 매핑"하려고 시도합니다. 불량 섹터의 오류 양이 여전히 적을 때 저장된 데이터를 복구합니다. SMART (자체 모니터링, 분석 및보고 기술) 기능은 ECC로 수정 된 전체 HDD의 총 오류 수를 계산합니다 (하지만 관련 하드웨어는 아니지만 관련 SMART 속성 "Hardware ECC Recovered"및 "Soft ECC Correction") 이러한 오류가 많이 발생하면 HDD 오류가 발생할 수 있으므로 일관되게 지원되지 않음) 및 수행 된 섹터 리매핑의 총 수입니다.

사과 자체없이 사과 조각을 가질 수없는 것처럼, 물리 역할을 기본으로하지 않으면 논리를 가질 수 없습니다.


1
그러나 OS가 물리 섹터 크기 를 알아야 하는 이유는 무엇입니까? 어쨌든 논리 섹터에서 드라이브와 통신해야한다는 점을 감안할 때 OS 는 어떻게 다릅니 까? OS가 알기에 절대적으로 쓸모없는 정보처럼 보입니다.
misha256

"OS가 알아야하는 이유 ..." -논리적 크기는 데이터를 전송하기위한 최소 크기입니다. 물리적 크기는 데이터를 전송하기에 가장 적합한 크기이며 드라이브 수준에서 실제 읽기 / 쓰기 작업의 크기를 반영합니다. "절대적으로 쓸모없는 정보 인 것 같습니다 ..." -아마도 "쓸모없는"것 같습니다. 운영 체제를 개발하거나 개발하지 않습니까?
톱밥

1
@sawdust 그러나 드라이브는 512 바이트 논리 섹터에 하드 와이어되어 있기 때문에 OS가 최적의 전송 크기를 사용할 수 없습니다 . 기본 4K 드라이브는 다르며 4K 논리 섹터가 있으며 지원 OS (예 : Win 8.1)는 4K 논리 섹터에서 읽고 쓸 수 밖에 없습니다. 그러나 내 드라이브는 4K 논리 드라이브가 아닙니다. 512 바이트 논리 드라이브입니다.
misha256

@ misha256-나는 내 자신의 답변을 게시했습니다.
톱밥

물리적 / 논리적 섹터 크기의 물리적 / 논리적 드라이브 혼동
MSalters
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.