캐시에는 읽기 캐시와 쓰기 캐시의 두 가지 주요 클래스가 있습니다. 읽기 캐시는 그렇지 않으면 액세스 속도가 느린 데이터에 대한 빠른 액세스를 제공하는 도구입니다. 쓰기 캐시는 빠른 쓰기 속도의 환상을 제공하는 도구로, 일반적으로 사용자에게 메모리 장치의 실제 느린 속도를 숨깁니다.
캐시의 구조
일반적으로 캐시는 실제 데이터보다 한 단계 낮은 메모리 계층에 저장됩니다. 그러나 한 캐시의 데이터는 다음 메모리 계층에 추가로 캐시될 수 있습니다. 4개의 메모리 계층이 있으며, CPU 캐시/레지스터는 가장 낮고 가장 빠른 계층이고 아카이브 스토리지는 가장 높고 가장 느린 계층입니다. 가장 낮은 계층에서 가장 높은 계층은 CPU 캐시/레지스터, 시스템 RAM, 스토리지 드라이브 및 아카이브 스토리지입니다.
메모리 계층이 내려갈 때마다 액세스 속도는 증가하지만 용량은 감소합니다. 대부분의 가정 사용자는 현실 세계에서 가장 낮은 세 개의 스토리지 계층만 가지고 있습니다. 아카이브 스토리지는 일반적으로 장기 및 오프라인 스토리지용 테이프 스토리지를 의미합니다. 아카이브 스토리지는 장치에서 제거되어 오프라인 상태로 유지되는 광학 또는 기타 표준 스토리지 미디어의 사용을 의미할 수도 있습니다. 이러한 예는 가정에서 훨씬 더 많이 발견되지만 여전히 일반적이지 않습니다.
메모: 어느 정도 클라우드 스토리지는 아카이브 스토리지의 변형으로 간주될 수 있습니다. 대부분 온라인 상태이지만 반드시 즉시 액세스할 수 있는 것은 아니며 일반적으로 액세스 속도가 느립니다. USB 메모리와 같은 이동식 미디어도 스토리지 드라이브와 아카이브 스토리지 사이의 경계에 다소 걸쳐 있습니다.
디스크 캐시 유형
디스크 캐시는 "디스크"의 모든 캐시, 즉 SSD 및 HDD와 같은 스토리지 드라이브를 나타냅니다. 세 가지 유형의 디스크 캐시가 있습니다. 읽기 캐시에는 필요할 때 더 빨리 액세스할 수 있도록 아카이브 스토리지에서 일부 데이터를 일시적으로 복사하는 작업이 포함됩니다. 쓰기 캐시는 SSD에서 SLC 캐시의 형태를 취할 수 있습니다. I/O 캐시는 일반적으로 읽기 및 쓰기 작업을 모두 캐시하는 데 사용되는 일부 플래시 메모리 또는 DRAM입니다. 이들 모두의 정의 기능은 캐시가 디스크 자체에 있다는 것입니다.
디스크 캐시 읽기
디스크 캐시의 읽기 캐시 버전은 가장 적게 사용되는 디스크 캐시 유형일 가능성이 높습니다. 아카이브 스토리지는 정의상 거의 필요하지 않습니다. 기록 매체에서 직접 데이터를 읽을 수도 있습니다. 문제는 속도입니다. 데이터가 오프라인 상태이므로 액세스 시간이 느려 적절한 저장 장치를 식별하고 연결해야 합니다. 읽기 속도는 보관 매체에 따라 다르지만 일반적으로 대부분의 경우 충분합니다. 그러나 고화질 비디오 보기와 같은 고대역폭 요구 사항에는 적합하지 않을 수 있습니다. 이러한 시나리오에서 읽기 디스크 캐시를 사용하여 비디오 파일의 복사본을 실시간으로 재생할 수 있는 저장 매체에 캐시할 수 있습니다.
쓰기 디스크 캐시
최신 SSD는 엄청나게 빠르며 매우 빠른 읽기 및 쓰기 속도를 제공합니다. 당신이 깨닫지 못할 수도 있는 것은 이것이 기술적으로 사실이 아니라는 것입니다. 시장에 나와 있는 대부분의 SSD는 TLC(Triple Layer Cells)입니다. 이는 각 메모리 셀이 3비트의 데이터를 저장할 수 있음을 의미합니다. 이것은 셀당 1비트로 원시 SLC(Single Layer Cells)의 저장 밀도의 3배를 제공하지만 훨씬 더 느립니다.
팁: TLC 플래시는 여전히 빠릅니다. HDD 및 초기 SSD에서 사용하는 SATA 3 버스의 최대 대역폭보다 몇 배 더 빠릅니다. QLC 플래시 또는 쿼드 레벨 셀은 훨씬 더 느립니다. 일부 테스트에서는 실제로 HDD보다 성능이 느립니다.
SLC 캐시는 느린 쓰기 속도를 사용자에게 숨기기 위해 발명되었습니다. SLC 캐시는 단순히 TLC 플래시를 SLC 플래시로 취급하여 더 빠른 속도로 작동할 수 있도록 합니다. SLC 캐시에 기록된 데이터는 쓰기 속도가 허용하는 한 빠르게 내부적으로 TLC 형식으로 복사됩니다. 이 기술은 훌륭하게 작동하여 새롭고 더 빠른 표준의 개발을 필요로 하는 증가하는 속도를 제공합니다.
그러나 SLC 캐시에는 몇 가지 주의 사항이 있습니다. SLC 캐시의 크기는 SSD의 남은 여유 공간의 1/3입니다. SSD가 가득 차면 SLC 캐시 크기가 줄어듭니다. 비어 있는 대용량 드라이브에서는 그다지 문제가 되지 않지만 더 작거나 거의 용량에 가까운 SSD에서는 문제가 될 수 있습니다. SLC 캐시가 가득 차면 사용자는 실제 TLC 쓰기 속도에 노출되어 쓰기 속도가 급격히 떨어지는 것을 보게 됩니다.
메모: 기술적으로 미래에 데이터가 기록 매체에 기록되는 경우 모든 스토리지 디스크는 기록 매체의 쓰기 캐시로 간주될 수 있습니다. 그러나이 의미는 일반적으로 가정되지 않습니다.
I/O 디스크 캐시
HDD는 일반적으로 최적의 워크로드에서도 매우 느립니다. 이를 사용자에게 최대한 숨기기 위해 I/O 캐시를 사용할 수 있습니다. I/O 캐시는 필요에 따라 읽기 및 쓰기 작업을 모두 캐시합니다. 이 캐시는 일반적으로 플래시 메모리 또는 드라이브 자체의 DRAM으로 구성됩니다. 용량은 일반적으로 낮지만 플래시 메모리를 특징으로 하는 SSHD 또는 솔리드 스테이트 하이브리드 드라이브 클래스는 최신 SSD 용량과 비교할 수는 없지만 더 상당한 기능을 제공합니다.
캐싱 읽기는 HDD가 데이터를 찾아서 읽을 필요가 없음을 의미합니다. 이는 뛰어난 성능 이점을 제공할 수 있지만 후속 읽기 작업에서만 가능합니다. 첫 번째 읽기는 항상 느립니다. 캐싱 쓰기는 작은 쓰기 작업을 캐시에 흡수한 다음 실제 HDD에 최대한 빨리 쓸 수 있음을 의미합니다. 이것은 더 빠른 속도를 제공하지만 캐시가 고갈되면 성능이 크게 저하됩니다.
I/O 캐시는 특히 작은 캐시만 사용할 수 있는 경우 읽기 및 쓰기 기능의 요구 사항을 신중하게 균형을 맞춰야 합니다. 더 큰 캐시는 이 문제를 어느 정도 무효화하지만, 큰 데이터 세트가 있는 에지 케이스는 여전히 가장 큰 SSHD의 플래시 캐시를 압도할 수 있습니다.
메모: SSD는 기술적으로 온보드 DRAM을 I/O 캐시로 사용할 수도 있습니다. 그러나 이것은 일반적으로 SSD에서 데이터를 찾는 데 사용되는 논리-물리 주소 변환 테이블을 저장하는 데 주로 또는 독점적으로 사용됩니다.
결론
디스크 캐시는 스토리지 드라이브에 직접 존재하는 캐시입니다. 읽기 또는 쓰기 캐시 또는 I/O 캐시의 형태를 취할 수 있습니다. 읽기 캐시는 일반적으로 더 느린 아카이브 스토리지에서 데이터를 캐시합니다. 쓰기 캐시는 스토리지 디스크의 느린 쓰기 속도를 사용자로부터 숨깁니다. I/O 캐시는 사용자에게 느린 읽기 속도와 느린 쓰기 속도를 모두 숨깁니다.
캐시는 뛰어난 사용성 도구이지만 고갈되면 사용자에게 골칫거리가 될 수 있습니다. SLC 캐시와 같은 동적 쓰기 캐시의 경우 특히 그렇습니다. 기술 지식이 없는 사용자는 쓰기 속도가 왜 그렇게 느린지 이해하지 못할 수 있으므로 용량 문제를 해결하여 문제를 해결할 수 없습니다.