논리 블록 주소 지정
"오늘의AI위키"의 AI를 통해 더욱 풍부하고 폭넓은 지식 경험을 누리세요.
1. 개요
논리 블록 주소 지정(LBA)은 하드 디스크 드라이브의 섹터를 식별하는 방식이다. LBA 주소 지정 방식에서 섹터는 정수 인덱스로 번호가 매겨지며, 실린더-헤드-섹터(CHS) 튜플에 매핑될 수 있다. LBA는 2002년 ATA-6 표준과 함께 도입된 48비트 LBA 방식으로 128페비바이트까지 주소 지정 한계를 확장했다. BIOS는 LBA를 지원하기 위해 CHS 변환 체계를 사용하며, 운영 체제에 따라 BIOS에서 보고하는 드라이브 지오메트리에 민감하게 반응한다.
더 읽어볼만한 페이지
- ATA - 병렬 ATA
병렬 ATA(PATA)는 하드 디스크 드라이브 등 저장 장치를 컴퓨터에 연결하는 데 사용된 16비트 인터페이스로, 1990년대부터 2000년대 중반까지 널리 사용되다가 직렬 ATA(SATA)의 등장으로 대체되었다. - ATA - 디스크 어레이 컨트롤러
디스크 어레이 컨트롤러는 컴퓨터 시스템에서 디스크 드라이브 어레이를 관리 및 제어하는 하드웨어 장치로, 호스트 어댑터 및 디스크 드라이브와 통신하며 RAID 구성과 같은 고급 기능을 제공하고 운영체제를 통해 관리된다. - SCSI - 디스크 어레이 컨트롤러
디스크 어레이 컨트롤러는 컴퓨터 시스템에서 디스크 드라이브 어레이를 관리 및 제어하는 하드웨어 장치로, 호스트 어댑터 및 디스크 드라이브와 통신하며 RAID 구성과 같은 고급 기능을 제공하고 운영체제를 통해 관리된다. - SCSI - 호스트 어댑터
호스트 어댑터는 호스트 시스템과 주변 장치 또는 스토리지 시스템을 연결하는 인터페이스 카드이며, SCSI, 파이버 채널, 인피니밴드 등 다양한 종류가 존재하고, 메인프레임 환경에서는 채널 I/O라고 불리기도 한다. - 컴퓨터 저장 장치 - 하드 디스크 드라이브
하드 디스크 드라이브(HDD)는 자기 기록 방식으로 데이터를 저장하는 비휘발성 저장 장치로, 꾸준히 발전하여 대용량 저장이 가능하지만 SSD의 등장으로 시장 점유율이 감소하고 있으며 웨스턴디지털, 씨게이트, 도시바가 주요 제조업체이다. - 컴퓨터 저장 장치 - 씨마이크로
씨마이크로는 2007년 설립되어 투자 유치 후 AMD에 인수된 서버 개발 회사로, SM10000, SM15000 시리즈 등의 제품을 개발하고 버라이즌과의 협력 및 여러 수상 경력을 보유하고 있다.
논리 블록 주소 지정 | |
---|---|
논리 블록 주소 지정 | |
유형 | 주소 지정 방식 |
개요 | |
설명 | 논리 블록 주소 지정(Logical Block Addressing, LBA)은 하드 디스크 드라이브(HDD) 또는 솔리드 스테이트 드라이브(SSD)와 같은 컴퓨터 데이터 스토리지 장치에서 데이터의 위치를 지정하는 데 사용되는 일반적인 체계이다. LBA는 장치의 각 데이터 블록에 고유한 논리 주소를 할당하여 작동하며, 이를 통해 운영 체제는 기본 하드웨어의 물리적 세부 사항을 알 필요 없이 특정 블록을 요청할 수 있다. |
역사 | LBA는 이전의 실린더-헤드-섹터(CHS) 주소 지정 방식을 대체하기 위해 개발되었으며, 이는 디스크 용량이 증가함에 따라 비효율적이 되었다. CHS는 실린더, 헤드 및 섹터의 물리적 속성을 사용하여 디스크의 위치를 지정했지만, LBA는 단순화된 선형 주소 지정 방식을 제공한다. |
작동 방식 | |
논리 주소 할당 | LBA에서 각 블록은 0부터 시작하는 고유한 정수 주소를 할당받는다. 운영 체제는 이 주소를 사용하여 데이터를 읽거나 쓸 블록을 지정한다. |
주소 변환 | 디스크 컨트롤러는 운영 체제로부터 받은 LBA 주소를 실제 디스크의 물리적 위치로 변환한다. 이 변환 과정은 컨트롤러의 펌웨어에 의해 수행된다. |
장점 | LBA는 CHS 방식에 비해 더 큰 디스크 용량을 지원하며, 주소 지정 방식을 단순화하여 운영 체제의 부담을 줄인다. 또한, 디스크의 물리적 구조에 대한 의존성을 줄여 플래시 메모리 기반의 SSD에서도 효율적으로 사용될 수 있다. |
관련 기술 | |
ATA (AT Attachment) | LBA는 ATA 인터페이스를 통해 연결된 하드 드라이브에서 널리 사용된다. ATA는 컴퓨터와 스토리지 장치 간의 통신을 표준화하는 데 사용되는 인터페이스 프로토콜이다. |
SCSI (Small Computer System Interface) | LBA는 SCSI 인터페이스를 사용하는 장치에서도 사용된다. SCSI는 고성능 스토리지 장치를 연결하는 데 사용되는 또 다른 인터페이스 프로토콜이다. |
NVMe (Non-Volatile Memory Express) | NVMe는 SSD를 위해 특별히 설계된 인터페이스 프로토콜로, LBA를 사용하여 메모리 위치를 주소 지정한다. NVMe는 고성능과 낮은 지연 시간을 제공한다. |
활용 분야 | |
운영 체제 | 운영 체제는 LBA를 사용하여 파일 시스템을 관리하고, 데이터 블록을 읽고 쓴다. |
데이터베이스 시스템 | 데이터베이스 시스템은 LBA를 사용하여 데이터베이스 파일을 저장하고 관리한다. |
가상화 | 가상화 환경에서 LBA는 가상 디스크 이미지를 관리하는 데 사용된다. |
참고 자료 | |
관련 문서 | 논리 블록 주소 지정 (영문 위키백과) |
2. 역사
LBA는 1981년 슈거트 어소시에이츠 시스템 인터페이스(SASI)에 의해 추상화 개념으로 처음 도입되었으며, 이는 SCSI의 전신이다. 드라이브 컨트롤러가 여전히 실린더-헤드-섹터(CHS) 주소로 데이터 블록의 주소를 지정하지만, 이 정보는 일반적으로 SCSI 장치 드라이버, 운영체제(OS), 파일 시스템 코드 또는 "원시" 디스크에 액세스하는 모든 애플리케이션(예: 데이터베이스)에서 사용되지 않았다. 블록 수준 I/O를 요구하는 시스템 호출은 LBA 정의를 저장 장치 드라이버에 전달한다. 간단한 경우(하나의 볼륨이 하나의 물리적 드라이브에 매핑되는 경우) 이 LBA는 드라이브 컨트롤러로 직접 전달된다.
LBA (논리 블록 주소)는 CHS 방식의 복잡한 물리적 구조 대신, 저장 장치의 각 섹터에 순차적인 정수 번호를 부여하는 방식이다. LBA에서 CHS 튜플로의 변환은 첫 번째 실린더, 첫 번째 헤드, 트랙의 첫 번째 섹터(LBA 0)부터 시작하여 순차적으로 번호를 매긴다.[5]
LBA 방식은 운영 체제의 소프트웨어에 저장 장치의 물리적 세부 정보를 노출하는 이전 방식을 대체한다.[1] 이 중 가장 중요한 것은 CHS 방식이었는데, 여기서 블록은 튜플을 사용하여 주소를 지정했으며, 이 튜플은 하드 디스크에 나타나는 실린더, 헤드 및 섹터를 정의했다.[1] CHS는 하드 디스크 이외의 장치(예: 테이프 및 네트워크 저장 장치)에는 잘 맞지 않아 일반적으로 사용되지 않았다.[1] CHS는 초기 수정된 주파수 변조(MFM) 및 런 렝스 제한(RLL) 드라이브에서 사용되었으며, 이후 확장된 실린더-헤드-섹터(ECHS)는 최초의 고급 기술 부착(ATA) 드라이브에서 사용되었다.[1] 그러나 현재 디스크 드라이브는 존 비트 레코딩을 사용하며, 트랙당 섹터 수는 트랙 번호에 따라 달라진다.[1] 디스크 드라이브는 트랙당 섹터(SPT) 및 실린더당 헤드(HPC)와 같은 CHS 값을 보고하지만, 이는 디스크 드라이브의 실제 지오메트리와 거의 관련이 없다.[1]
독립 디스크의 중복 배열(RAID) 장치 및 저장 영역 네트워크(SAN)와 논리 드라이브(논리 장치 번호, LUN)가 LUN 가상화 및 집계를 통해 구성되는 경우, 개별 디스크의 LBA 주소 지정은 전체 저장 장치에 대한 균일한 LBA 주소 지정을 제공하기 위해 소프트웨어 계층에 의해 변환되어야 한다.[2]
3. CHS 변환
CHS 튜플과 LBA 주소는 다음 공식을 사용하여 상호 변환할 수 있다.[6][7]
: ''LBA'' = (''C'' × ''HPC'' + ''H'') × ''SPT'' + (''S'' − 1)
: ''C'' = ''LBA'' ÷ (''HPC'' × ''SPT'')
: ''H'' = (''LBA'' ÷ ''SPT'') mod ''HPC''
: ''S'' = (''LBA'' mod ''SPT'') + 1
각 변수의 의미는 다음과 같다.
ATA 사양에 따르면, 특정 조건에서 논리 실린더 수는 16,383으로 설정되어야 한다.[1]
3. 1. CHS와 LBA 간 변환 예시 (실린더당 16개 헤드 기준)
LBA 주소 지정 방식에서 섹터는 정수 색인으로 번호를 매긴다. CHS(실린더-헤드-섹터) 튜플에 매핑할 때, LBA 번호는 첫 실린더, 첫 헤드, 트랙의 첫 섹터부터 시작한다.
LBA 값 | CHS 튜플 |
---|---|
0 | 0, 0, 1 |
1 | 0, 0, 2 |
2 | 0, 0, 3 |
62 | 0, 0, 63 |
63 | 0, 1, 1 |
945 | 0, 15, 1 |
1007 | 0, 15, 63 |
1008 | 1, 0, 1 |
1070 | 1, 0, 63 |
1071 | 1, 1, 1 |
1133 | 1, 1, 63 |
1134 | 1, 2, 1 |
2015 | 1, 15, 63 |
2016 | 2, 0, 1 |
16,127 | 15, 15, 63 |
16,128 | 16, 0, 1 |
32,255 | 31, 15, 63 |
32,256 | 32, 0, 1 |
16,450,559 | 16319, 15, 63 |
16,514,063 | 16382, 15, 63 |
4. 강화된 BIOS
웨스턴 디지털의 이전 IDE 표준은 22비트 LBA를 도입했고, 1994년 ATA-1 표준은 LBA 및 CHS 모드에서 28비트 주소를 허용했다.[1] 그러나 IBM BIOS 구현은 INT 13h 디스크 접근 루틴에서 CHS 주소 지정을 위해 실린더에 10비트, 헤드에 8비트, 섹터에 6비트를 사용하는 24비트 체계를 사용했다.[2] 이는 ATA 표준보다 먼저 도입된 것으로, IBM PC/XT에 하드 디스크 드라이브가 도입되었을 때 하위 호환성 문제로 인해 INT 13h 인터페이스를 실질적으로 재설계할 수 없었기 때문이다.
BIOS가 더 큰 하드 드라이브를 지원하려면 INT 13h에서 사용되는 24비트 CHS와 ATA에서 사용되는 28비트 CHS 번호 매기기 간에 변환하는 CHS 변환 체계(''Large'' 또는 ''비트 시프트 변환'')가 구현되어야 했다. 이 방법은 물리적 디스크가 보고하는 것보다 훨씬 더 많은 "가상" 드라이브 헤드를 생성하여 실질적인 제한을 8.4GB(7.8GiB)로 늘렸다.
이러한 제한을 극복하기 위해 ''INT 13h 확장''이 도입되었으며, 이는 디스크 크기 제한을 제거하는 ''BIOS 강화 디스크 드라이브 서비스''를 제공했다. 이 ''강화된 BIOS'' 서브시스템은 ATA 디스크 주소 지정을 위해 고유한 28비트 LBA를 사용하고 필요에 따라 CHS 변환을 수행하는 ''LBA'' 또는 ''LBA 보조'' 방식을 사용하여 LBA 주소 지정을 지원한다. ''LBA 보조 변환''은 BIOS가 LBA 모드를 사용하여 하드웨어에 접근하는 동시에 INT 13h 인터페이스를 통해 변환된 CHS 지오메트리를 표시하는 방식이다.
4. 1. LBA 지원 변환
BIOS가 LBA 지원 변환 모드에서 디스크를 사용하도록 구성된 경우, BIOS는 LBA 모드를 사용하여 하드웨어에 접근하지만, INT 13h 인터페이스를 통해 변환된 CHS 지오메트리도 표시한다. 변환된 지오메트리의 실린더, 헤드 및 섹터 수는 다음 표에 표시된 대로 디스크의 총 크기에 따라 달라진다.[3]디스크 크기 | 트랙당 섹터 | 헤드 | 실린더 |
---|---|---|---|
1 MiB < X ≤ 504 MiB | 63 | 16 | X ÷ (63 × 16 × 512) |
504 MiB < X ≤ 1008 MiB | 63 | 32 | X ÷ (63 × 32 × 512) |
1008 MiB < X ≤ 2016 MiB | 63 | 64 | X ÷ (63 × 64 × 512) |
2016 MiB < X ≤ 4032 MiB | 63 | 128 | X ÷ (63 × 128 × 512) |
4032 MiB < X ≤ 8032.5 MiB | 63 | 255 | X ÷ (63 × 255 × 512) |
BIOS에서 보고하는 드라이브 지오메트리에 민감한 운영 체제에는 솔라리스, 도스 및 Windows NT 제품군(NT, 2000, XP, 서버 2003)과 BOOTMGR(비스타, 서버 2008, 7, 서버 2008 R2)이 있으며, 마스터 부트 레코드를 사용하여 CHS로 디스크를 주소 지정한다. x86-64 및 아이테니엄 버전의 윈도우는 GUID 파티션 테이블로 드라이브를 분할할 수 있으며, 이 분할 방식은 LBA 주소 지정을 사용한다.
BSD, 리눅스, macOS, OS/2, ReactOS와 같은 일부 운영 체제는 부트 로더에서 BIOS에서 보고하는 지오메트리를 사용하지 않으므로 변환이 필요하지 않다.
5. LBA48
2002년 ATA-6 표준[4]과 함께 도입된 현재의 48비트 LBA 방식은 주소 지정 한계를 248 × 512 바이트, 즉 128 PiB(약 144 PB)로 확장했다. 최신 PC 호환 컴퓨터는 LBA 주소 지정을 위해 64비트 구조를 사용하는 INT 13h 확장을 지원하지만, 최신 운영 체제는 직접 디스크 접근을 구현하며 BIOS 하위 시스템을 사용하지 않는다( 부팅 로더 제외). 일반적인 MS-DOS 스타일 마스터 부트 레코드 (MBR) 파티션 테이블은 최대 2TiB 크기의 디스크 파티션만 지원한다. 더 큰 파티션을 위해서는 GUID 파티션 테이블 (GPT)과 같은 다른 방식을 사용해야 한다. 윈도우 XP SP2는 LBA48을 지원하는 것으로 알려져 있다(기본적으로 활성화됨).
6. 운영체제 종속성
LBA 방식은 운영 체제의 소프트웨어에 저장 장치의 물리적 세부 정보를 노출하는 이전 방식을 대체하는데, 이 중 가장 중요한 것은 실린더-헤드-섹터 (CHS) 방식이었다. CHS는 하드 디스크에 나타나는 실린더, 헤드 및 섹터를 정의한 튜플을 사용하여 블록의 주소를 지정했다. CHS는 하드 디스크 이외의 장치(예: 테이프 및 네트워크 저장 장치)에는 잘 맞지 않아 일반적으로 사용되지 않았다. CHS는 초기 MFM 및 RLL 드라이브에서 사용되었으며, 확장된 실린더-헤드-섹터(ECHS)는 최초의 ATA 드라이브에서 사용되었다. 그러나 현재 디스크 드라이브는 존 비트 레코딩을 사용하며, 트랙당 섹터 수는 트랙 번호에 따라 달라진다. 디스크 드라이브는 트랙당 섹터(SPT) 및 실린더당 헤드(HPC)와 같은 CHS 값을 보고하지만, 이는 실제 디스크 드라이브의 지오메트리와 거의 관련이 없다.
LBA는 1981년 SASI(SCSI의 전신)에 의해 추상화로 처음 도입되었다. 드라이브 컨트롤러가 여전히 CHS 주소로 데이터 블록의 주소를 지정하지만, 이 정보는 일반적으로 SCSI 장치 드라이버, OS, 파일 시스템 코드 또는 "원시" 디스크에 액세스하는 모든 애플리케이션(예: 데이터베이스)에서 사용되지 않는다. 블록 수준 I/O를 요구하는 시스템 호출은 LBA 정의를 저장 장치 드라이버에 전달한다. 간단한 경우(하나의 볼륨이 하나의 물리적 드라이브에 매핑되는 경우) 이 LBA는 드라이브 컨트롤러로 직접 전달된다.
참조
[1]
웹사이트
Information Technology - AT Attachment with Packet Interface - 5 (ATA/ATAPI-5)
http://www.t13.org/d[...]
2000-02-29
[2]
웹사이트
KB224526: Windows NT 4.0 supports maximum of 7.8-GB system partition
http://support.micro[...]
Support.microsoft.com
2007-02-23
[3]
웹사이트
The BIOS IDE Harddisk Limitations
http://web.inter.nl.[...]
2013-10-06
[4]
웹사이트
Information Technology - AT Attachment with Packet Interface - 6 (ATA/ATAPI-6)
http://www.t13.org/D[...]
2002-02-26
[5]
웹사이트
Hard Disk Drive Basics
http://www.active-un[...]
2015-02-10
[6]
웹사이트
Large Disk HOWTO, Section 3. Disk Access
http://www.tldp.org/[...]
2004-11-08
[7]
웹사이트
The CHS to LBA Conversion Formulas
http://pcrepairclass[...]
2014-08-26
본 사이트는 AI가 위키백과와 뉴스 기사,정부 간행물,학술 논문등을 바탕으로 정보를 가공하여 제공하는 백과사전형 서비스입니다.
모든 문서는 AI에 의해 자동 생성되며, CC BY-SA 4.0 라이선스에 따라 이용할 수 있습니다.
하지만, 위키백과나 뉴스 기사 자체에 오류, 부정확한 정보, 또는 가짜 뉴스가 포함될 수 있으며, AI는 이러한 내용을 완벽하게 걸러내지 못할 수 있습니다.
따라서 제공되는 정보에 일부 오류나 편향이 있을 수 있으므로, 중요한 정보는 반드시 다른 출처를 통해 교차 검증하시기 바랍니다.
문의하기 : help@durumis.com