초기의 저장 장치는 용량이 작아서 28bit면 모든 영역에 대해 sector 주소 지정을 할 수 있었음
- 2^28 = 256M, 256M*512B(sector 당 크기) = 128GB까지 주소지정가능
하지만, 최근에는 128GB를 상회하는 저장장치가 쏟아져 나오면서 28bit command로는 128GB를 넘는 영역에 대해 access를 할 수 없게 됨
=> 이 문제를 해결하기 위해 48 bit command가 만들어졌고 이를 위해 각 field별로 8bit가 아닌 16bit로 할당
주소할당하기 위한 field
LBA High 8 -> 16 bit
LBA Middle 8 -> 16 bit
LBA Low 8 -> 16 bit
device 하위 4
--------------------------
28 -> 48 bit
따라서 각 field에 대한 달라진 구성은 아래와 같음 (실제 데이터 전송은 아래와 같은 방식이 아니므로 개념만 이해) 차이점은 feature, sector count, LBA Low/Mid/High에 대해서는 16bit로 늘어났고 device의 하위 4bit에 대해서는 LBA로 할당하다가 reserved로 변했음을 알 수 있다.
[28bit Read DMA command에 대한 TFR 구성]
[48bit Read DMA Extended command에 대한 TFR 구성]
실제적으로 데이터 전송은 아래 그림과 같이 이루어짐
댓글 없음:
댓글 쓰기