http://www.ppomppu.co.kr/zboard/view.php?id=computer&no=152367

 

요새 AHCI를 ACHI 라고 오기하는분들이 많이 보이고,
관련 질문글이 제법 되는것 같아 좀 찾아가며 적어봅니다.
저도 관련 전공했고 IT 종사자이긴 하지만 직접 관련은 없는 분야라 깊이있게는 알지 못합니다.
일부는 제 기억에 기반해서 잘못된 내용일수도있습니다..
그냥 아는부분+ 위키피디아 + 인텔 공식문서 참고해서 정리해봅니다.

우선 AHCI를 이해하려면 SATA를 알아야하는데,
SATA는 Serial ATA의 약자이고요, SATA는 과거 PATA(Parallel ATA)를 대체하는 인터페이스 입니다.
HDD/SSD등 스토리지 장치들이 SATA 규격으로 나오고 있고요 메인보드에서도 SATA포트가 있죠..

SATA와 PATA의 차이는 Serial과 Parallel의 단어에서 알 수 있듯이 직렬과 병렬의 차이입니다.
PATA에서 넓직했던 케이블이 SATA로 넘어오며 얍실해?졌죠...
왜 PATA에서 SATA로 넘어갔을까요?

첫번째 이유는 속도 때문입니다.
상식적으로는 병렬이 직렬보다 빠를것으로 생각하지만 많은선들이 붙어있으면 서로간의 간섭으로 속도가 저하됩니다.
또한 PATA는 한 케이블을 메인보드 내 슬롯하나에 연결하고 여러 장치를 함께 연결합니다.
(여러장치가 하나의 대역을 나눠쓰죠.. 성능저하)
[PATA 케이블]


병렬방식의 한계로 PATA의 경우 33/66/100 MB/sec 의 최대전송속도를 보였지만 (이후 133, 166짜리도 있었던것같아요.)
반면, SATA경우 1세대는 150MB/sec 2세대가 300MB/sec 3세대가 600MB/sec의 성능을 보이죠
PATA는 결국 날고 기어봤자 SATA 1세대랑 비등비등했죠..

두번째 이유는 확장성입니다.
PATA 슬롯의 크기가 커서 메인보드에 큰 공간을 차지했기 때문에 많은 장치를 연결하는데 제약이 많았습니다.
보드에 배치가능한 PATA 슬롯이 적어 여러개의 장치를 연결하기 어렵기때문에 하드를 많이 달려면 돈이 많이 듭니다.
왜냐하면 PCI 슬롯등에 확장을 위한 추가 장치를 달아야 하기때문입니다.

반면에 SATA는 점대점 연결을 지원합니다. 보드 한곳슬롯에 하나의 장치만을 연결하여 다른장치와 케이블 대역을 같이 쓰지 않죠.
또한 4핀규격이라 보드에 큰 공간을 차지하지 않아 보통 보드 보면 4~8개정도씩은 기본으로 달려있습니다.
그래서 많은 하드를 달아도 가격이 저렴하죠..

이쯤에서 ATA 이야기는 그만두고... 그렇다면 AHCI는 어떻게 이해하면 될까요?
AHCI(Advanced Host Controller Interface) : 향상된 호스트 컨트롤러 인터페이스 입니다..
-_- 도움이 안되는 번역이네요

AHCI는 SATA 컨트롤러를 향상시키기 위해 인텔이 정의한 표준 규격입니다. 현재는 1.3.1 버전까지 나온것 같네요.

SATA 규격으로 스토리지와 시스템메모리 사이에 데이터들이 왔다갔다 하는데 이걸 효율적으로 하려면 관리자가 있어야겠죠?
이 관리자를 SATA 컨트롤러라고 보시면 되고요..
AHCI는 SATA컨트롤러의 능력을 높여주기 위한 지원군입니다.

바이오스에서 SATA 컨트롤러 셋팅하면 보통 IDE, AHCI, RAID 이렇게 세가지 모드가 보통 있을 겁니다.
IDE는 기존의 PATA방식이라고 보시면 됩니다.
여기서 눈치빠르신 분은 알아차리셨겠지만..  SATA는 기존 PATA방식 동작을 지원(하위호환) 합니다.
RAID는 또 글 적으려면 한페이지라 패스할게요..

다시 AHCI로 돌아와서..
AHCI는 방금 말한것과 같이 SATA 컨트롤러(PC에 설치된 SATA 규격의 장치들을 관리하는 놈을)
똑똑하게 만들어주는 HW/SW적 인터페이스입니다.

AHCI를 활용하려면 바이오스에서 당연히 AHCI를 켜야하고, 윈도우즈에서 인텔사의 AHCI 드라이버를 설치해야합니다.

똑똑해집니다: SATA 컨트롤에 다양한 기능을 부여합니다.
어떻게?: SW에서 SATA 장치를 관리 할 수 있도록 접근 관련 매커니즘들을 제공해주어서...
어떤 기능들이 가능해지나요?
- 핫 플러그: 핫 스왑이라고도 하며.. 컴터 켜진상태에서도 하드 연결 분리해도 됩니다. e-SATA 쓰시면 필수죠 ㅎ
- Staggered Spin up : 스토리지 여러개 사용할 때 한꺼번에 Wakeup하여 전력과부하가 생기는 현상을 막아줍니다.
- NCQ(Native Command Queuing): HDD에서 헤더가 최소한으로 움직여 데이터 엑세스 가능하도록 큐잉하는 기능
- 기타: 32포트 지원 64비트 어드레싱, Large LBA 지원, 파워관리, 에러리포팅 및 복구

각 기능들에 대한 자세한 내용은
http://www.intel.com/content/www/us/en/io/serial-ata/serial-ata-ahci-spec-rev1_3.html
참고하세요 저도 잘 모르겠네요.. 분량도 많고..

결론: SATA 장치를 쓴다면 AHCI모드로 사용하는게 좋습니다.
윈도우 설치시부터 AHCI 모드로 하지 않고 IDE로 설치하고 이후에 AHCI로 변경하기는 어렵습니다.
반드시 윈도우 설치전에 바이오스에서 AHCI 모드로 선택하고, 윈도우 설치후에는 AHCI 드라이버를 설치해주세요.

쉽게쓴다고썼는데 어렵겠죠.. ㅠㅠ

[ 주소복사

http://www.ppomppu.co.kr/zboard/view.php?id=computer&no=152367 ]

 

Posted by 캐논볼
,