메모리 계층구조에서는 네 가지 주요 기술이 사용된다. 메인 메모리(main memory)는 DRAM(dynamic random access memory)으로 구현된다. 캐시(cache)는 SRAM(static random access memory)이 사용된다. DRAM은 SRAM보다 훨씬 느리지만 비트당 가격이 덜 비싸다. DRAM은 메모리 비트당 면적이 작기 때문에 가격 차이가 생기게 되고, 따라서 같은 양의 실리콘으로 더 큰 용량을 만들 수 있다. 세 번째 기술은 플래시 메모리이다. 플래시 메모리는 비휘발성이다. 네 번째 기술은 서버의 가장 크고 가장 느린 계층으로 자기 디스크이다.
SRAM 기술
SRAM은 단순한 집적회로로서, 읽기나 쓰기를 제공하는 접근 포트가 하나 있는 메모리 배열이다. SRAM은 읽기 접근 시간과 쓰기 접근 시간이 다를 수는 있지만, 어떤 데이터든지 접근 시간은 같다.
SRAM은 리프레시가 필요 없으므로 접근 시간은 사이클 시간과 거의 같다. SRAM은 읽을 때 정보가 바뀌지 않게 하기 위하여 비트당 6개에서 8개의 트랜지스터를 사용한다. SRAM은 대기 모드에서 데이터값을 유지하기 위해 최소한의 전력만을 사용한다.
DRAM 기술
SRAM에서는 전력이 공급되는 한 그 값이 무한히 유지된다. DRAM에서는 셀에 기억되는 값이 전하의 형태로 캐패시터에 저장된다. 저장된 값을 읽거나 새로 쓰기 위하여 저장된 전하에 접근하는 데 트랜지스터를 하나 사용한다. DRAM은 저장된 비트 하나당 트랜지스터 하나만 사용하므로 SRAM에 비하여 훨씬 더 집적도가 높고 값도 싸다. DRAM은 캐패시터에 전하를 저장하기 때문에 무한히 저장될 수 없어 주기적으로 리프레시가 필요하다. 그러므로 SRAM 셀에서 정적 저장이라고 하는 것에 반해, 이런 메모리 구조를 동적이라고 부른다.
플래시 메모리
플래시 메모리는 전기적으로 지울 수 있고 프로그래밍이 가능한 ROM(EEPROM)의 한 종류이다.
디스크나 DRAM과 달리 플래시 메모리의 쓰기는 비트를 마모시킨다. 이 단점을 극복하기 위하여 대부분의 플래시 제품은 여러 번 쓰기가 수행된 블록을 덜 사용된 블록에 재사상(remapping)해서 쓰기를 분산시키는 컨트롤러를 사용한다. 이 기법을 마모 균등화(wear leveling)라고 부른다. 마모 균등화를 사용하기 때문에 개인용 이동 단말기의 플래시가 잠재적 쓰기 한계를 넘는 경우는 거의 없다.
디스크 메모리
하드디스크는 원판의 집합으로 구성되어 있고 원판은 분당 5,400번에서 15,000번의 속도로 회전한다. 금속 원판의 양측 면은 카세트나 비디오테이프와 같이 자성체로 코팅되어 있다. 하드디스크상의 정보를 읽거나 쓰기 위해서는 읽기/쓰기 헤드라고 불리는 작은 전자기 코일을 갖고 움직이는 암(arm)이 필요하다. 전체 드라이브는 드라이브 내부를 보호하기 위하여 일체형으로 포장되어 있으며 따라서 디스크 헤드는 드라이브의 표면에 더욱 가깝게 위치할 수 있다.
각 디스크 표면은 트랙(track)이라고 불리는 동심원으로 나누어진다. 일반적으로 표면당 수만 개의 트랙이 존재한다. 각 트랙은 다시 정보를 담는 섹터(sector)로 나누어진다. 한 트랙은 수천 개의 섹터로 구성된다. 섹터는 일반적으로 512바이트에서 4096바이트의 크기를 갖는다. 자성 매체에 기록되는 순서는 섹터 번호, 공백, 에러 정정 코드를 포함하는 섹터의 정보, 공백, 다음번 섹터의 번호와 같은 순서로 기록된다.
각 면의 디스크 헤드는 서로 연결되어 있어서 함께 움직인다. 그러므로 모든 헤드는 각 면의 같은 트랙에 위치하게 된다. 모든 면의 한 점에 위치한 헤드 아래에 놓인 모든 트랙은 실린더(cylinder)라고 부른다.
데이터에 접근하려면 운영체제가 3단계에 걸친 명령어를 디스크에 내려야 한다. 첫 단계는 적절한 트랙 위에 디스크 암을 갖다 놓는 일이다. 이 작업은 보통 탐색(seek)이라고 부르며 디스크 헤드를 원하는 트랙까지 이동시키는 데 걸리는 시간은 탐색 시간(seek time)이라고 한다.
헤드가 원하는 트랙에 도달하면 읽기/쓰기 헤드의 아래에 원하는 섹터가 위치할 때까지 기다려야만 한다. 이 시간을 회전 지연 시간(rotational latency 또는 rotational delay)이라고 부른다. 원하는 정보에 도달하는 평균 회전 지연 시간은 디스크기 1/2 회전하는 정도의 시간이다.
디스크 접근의 마지막 요소는 블록 하나를 전송하는 시간, 즉 전송 시간(transfer time)이다. 전송 시간은 섹터의 크기, 회전 속도, 트랙의 저장 밀도의 함수이다.
자기 디스크와 반도체 메모리 기술 사이의 두 가지 큰 차이점은 디스크는 기계 장치이므로 접근 시간이 길고, 디스크는 적당한 가격에 아주 높은 저장 용량을 갖기 때문에 훨씬 싸다는 점이다. 자기 디스크는 플래시와 같이 비휘발성이지만 플래시와 달리 마모 문제가 없다.
댓글