스마트 플러시™

정전 및 데이터 무결성

작가 | 2022년 12월 12일 | 모두, 기술

SSD(Solid State Drive)는 내장된 NAND 플래시 칩에 데이터를 저장하는 일종의 비휘발성 메모리(NVM)입니다. NAND 플래시의 물리적 특성은 SSD의 액세스 대기 시간이 기존 하드 디스크 드라이브(HDD)보다 훨씬 짧다는 것을 의미합니다. 즉, 전원 공급이 중단되거나 꺼지더라도 저장된 데이터는 손실되지 않습니다.

 

 

캐시를 사용하여 체감 성능 향상

NAND 플래시 산업은 수년 동안 빠르게 발전했습니다. SSD는 가격이 속도, 용량 및 가격 면에서 HDD보다 경쟁력이 있기 때문에 전 세계적으로 가장 널리 사용되는 스토리지 유형 중 하나입니다. 2비트 MLC/3비트 TLC/4비트 QLC 플래시와 같은 보다 발전된 MLC(다중 레벨 셀) NAND 플래시 아키텍처가 제안되었습니다. 그러나 이러한 새로운 기술은 비용을 절감하지만 일부 장단점이 있습니다.

예를 들어 MLC 플래시 액세스 대기 시간은 SLC(단일 레벨 셀) 플래시보다 훨씬 느립니다. 그러나 사용자는 항상 더 나은 사용자 경험을 찾고 있으며 SSD 제조업체는 제품의 성능을 향상시키기 위해 다양한 접근 방식을 시도합니다.
"캐시"의 개념은 일반적으로 사용자 경험을 개선하기 위해 SSD 내부에 구현됩니다. 결국 사용자가 가장 중요하게 생각하는 것은 데이터가 플래시 메모리에 물리적으로 프로그래밍되는 데 걸리는 시간보다 호스트(예: 개인용 컴퓨터)와 저장 장치(예: SSD) 간의 전송 속도입니다. ,

일반적인 전략은 데이터가 호스트에서 처음 전송될 때 기본 저장 영역(즉, NAND 플래시)보다 빠르게 데이터를 프로그래밍하는 메모리에 수신된 데이터를 저장하는 것입니다. 데이터가 아직 메인 스토리지에 프로그래밍되지 않은 경우에도 데이터 처리 시간이 크게 단축됩니다.

RAM(Random Access Memory)은 오늘날 가장 빠른 저장 매체 중 하나이며, 이것이 바로 중앙 처리 장치(CPU)와 데이터를 교환하는 데 RAM이 자주 사용되는 이유입니다. RAM은 또한 SRAM(Static Random Access Memory)이든 DRAM(Dynamic Random Access Memory)이든 캐시 구현에 널리 사용됩니다. 더 나은 사용자 경험을 추구할 때 캐시 기술은 현재 SSD 제품에서도 널리 구현됩니다. 적절한 설계 및 구현을 통해 소비자는 RAM이 제공하는 액세스 속도의 이점을 경험합니다.

 

 

RAM 캐시의 데이터 손실 문제

RAM은 SSD 설계에서 캐시로 사용될 수 있지만 여전히 극복해야 할 고유한 문제가 있습니다. RAM을 사용하면 사용자에게 매력적인 데이터 액세스 속도를 제공하지만 RAM의 물리적 특성으로 인한 한 가지 단점은 변동성입니다. 전원 공급이 중단되면 RAM에 저장된 모든 데이터가 손실됩니다. RAM의 변동성으로 인한 RAM의 데이터 손실 위험을 줄이거나 제거할 수 있다면 SSD의 데이터 무결성 기능이 강화될 것입니다. 그러나 SSD 설계에 RAM을 채택하면 실제로 사용자 경험에 상당한 이점이 있습니다.

캐싱 데이터 무결성 문제를 해결하기 위한 몇 가지 가능한 접근 방식이 있습니다. 한 가지 접근 방식은 복구 가능한 데이터만 RAM 캐시에 저장하는 것입니다. SSD 캐싱에 DRAM을 사용하는 것은 플래시에 저장된 소스 데이터에서 복구할 수 있는 "핫" 데이터를 캐싱하도록 설계되었습니다. 이렇게 하면 갑작스러운 전원 손실로 인해 캐시된 데이터가 손상되더라도 SSD 컨트롤러는 여전히 플래시의 기존 데이터에 따라 데이터를 재구성할 수 있습니다.

안타깝게도 이 접근 방식으로 모든 시나리오를 다룰 수 있는 것은 아닙니다. 호스트 측에서 SSD의 RAM 캐시로 사용자가 프로그래밍한 데이터는 "복구할 수 없는" 데이터로 간주될 수 있습니다. 정전이 발생하면 이 데이터는 손실됩니다. 캐시된 데이터 손실 위험을 줄이기 위해 Phison은 SmartFlush™라는 독점 기술을 개발했습니다.

 

PHISON 기술: SmartFlush™

파이슨의 독자적인 기술인 SmartFlush™, 적절한 타이밍에 RAM에서 플래시로 데이터 캐싱을 플러시하는 기본 원칙을 기반으로 합니다. 이 전략은 간단합니다. SmartFlush™는 예상치 못한 정전이 발생하기 전에 캐시된 데이터를 RAM(휘발성)에서 플래시(비휘발성) 메모리로 이동합니다.

 

이 접근 방식의 중요한 부분은 데이터를 RAM에서 플래시로 플러시하는 시기입니다. 데이터 플러시가 너무 자주 발생하면 호스트가 장치에 대한 명령 전송을 중지하더라도 SSD는 사용 중 상태로 남아 있을 수 있습니다. 결과적으로 SSD는 절전 모드로 들어갈 수 없으며, 이는 전력 소비가 예상보다 높을 수 있음을 의미합니다. 또한 데이터 플러시를 너무 자주 트리거하면 SSD 작업의 유창성에 영향을 미칠 수 있습니다. 반면에 이 플러시 메커니즘이 충분히 자주 트리거되지 않으면 캐싱 데이터 손실 가능성이 높아집니다. RAM에서 플래시로 데이터를 플러시하는 빈도와 SSD 작동의 유창함 사이의 균형이 핵심입니다.
데이터 플러시 타이밍에는 두 가지 접근 방식이 있습니다.

 

      • 타이밍 1: RAM 캐시의 데이터 크기가 플래시의 페이지보다 큰 경우. 이것은 매우 기본적인 접근 방식입니다. SSD 시장에서 일반적으로 사용되는 플래시 유형은 이제 페이지 기반 프로그래밍이 가능하므로 캐시된 데이터의 크기가 플래시의 단일 페이지 용량보다 커질 때까지 캐시된 데이터를 플래시로 플러시하지 않는 것이 좋습니다.
      • 타이밍 2: 호스트는 장치에 대한 명령 전송을 중지합니다. SmartFlush™의 주요 목적은 캐싱 데이터 손실을 방지하는 것입니다. 사용자의 관점에서 이 작업은 백그라운드에서 수행되어야 하며 일반 사용자 경험에 큰 영향을 미치지 않아야 합니다. 따라서 호스트가 장치에 대한 요청 전송을 중단하는 순간을 적절한 타이밍으로 간주할 수 있습니다.

 

데이터 플러시 시작 빈도는 SSD의 전체 사양을 개발할 때 고려해야 합니다. 이 기술의 실제 구현은 SSD 제품의 하드웨어 설계 및 펌웨어 설계에 따라 달라집니다. 실제 세계에서 다양한 사용자 시나리오에 대한 데이터 플러시 타이밍의 완벽한 균형을 달성하는 방법은 매우 복잡하며 Phison은 이 튜닝에 능숙합니다.

 

Phison의 SmartFlush™는 데이터 무결성을 보장하면서 체감 성능을 향상시킵니다.

이 기사에서는 모든 세부 사항을 살펴보는 대신 SmartFlush™의 기본 개념만 소개합니다. 실제 사례에서 SmartFlush™는 여기에 나열된 것보다 더 복잡한 방법론으로 구현되며 이러한 방법론은 다양한 Phison 플래시 기반 제품과 다양한 사용자 시나리오 간에 다를 수 있습니다. 그러나 구현 방법이 아무리 다양하더라도 SmartFlush™ 메커니즘이 제공하는 이점은 동일합니다. Phison이 제공하는 이 지능형 기능을 사용하면 데이터 무결성에 대한 사용자의 신뢰가 한 단계 더 높아질 수 있습니다.

 

혁신을 가속화하는 기반™

ko_KR한국어