NAND 플래시는 게이트 내에서 전자를 포획하는 수백만 개의 플로팅 게이트 트랜지스터로 구성된 비휘발성 메모리입니다. 이러한 플로팅 게이트 트랜지스터는 메모리 셀로 생각할 수 있습니다. 수백만 개의 메모리 셀이 연결되면 어레이를 형성합니다. 각 배열은 블록으로 구성되며 각 블록에는 여러 페이지가 포함됩니다.
그림 1은 NAND 어레이 f 회로도를 간략하게 보여줍니다.
각 WL(Word-Line)은 NAND에서 읽기/프로그램 작업의 기본 단위인 페이지를 만듭니다. 단, SLC(Single-Level Cell), MLC(Multi-Level Cell), TLC(Triple-Level Cell) 방식의 NAND는 각 WL의 페이지 수가 다르다.
그림 2는 MLC NAND에서 동일한 WL을 공유하는 두 페이지(하단 및 상단 페이지)와 TLC NAND에서 동일한 WL을 공유하는 세 페이지(하단, 중간 및 상단 페이지)를 보여줍니다. 동일한 WL을 공유하는 페이지를 쌍 페이지라고 합니다.
NAND 플래시의 물리적 특성으로 인해 다음은 NAND 프로그래밍 작업에서 따라야 할 두 가지 황금률입니다.
- 프로그래밍 작업은 NAND 플래시 특성에 따라 지정된 순서를 따라야 합니다.
- WL(Word-Line)에서 프로그래밍 작업이 완료되지 않으면 이 WL의 데이터 무결성을 보장할 수 없습니다.
MLC 또는 TLC NAND 플래시의 경우 단일 페이지의 데이터 프로그래밍은 한 단계 작업이 아닙니다. 데이터 프로그래밍 요구 사항을 충족하려면 MLC/TLC 페이지를 두세 번 프로그래밍해야 합니다. 이러한 현상은 플래시 메모리의 물리적 특성입니다.
쌍 페이지의 사용자 데이터에 대한 무결성 문제
현재 소비자 솔리드 스테이트 드라이브(SSD) 시장에서 MLC 및 TLC 플래시는 가장 인기 있는 메모리 유형입니다. MLC 및 TLC 플래시는 특히 TLC와 같이 저렴한 비용으로 훨씬 더 큰 스토리지 용량을 제공할 수 있습니다. 그러나 MLC 및 TLC 플래시의 프로그래밍 작업은 SLC보다 복잡합니다. 예를 들어 TLC 플래시를 사용하는 경우 전체 작업을 완료하려면 동일한 WL에서 페어링된 페이지를 세 번 프로그래밍해야 합니다.
그림 3은 TLC 플래시의 전체 프로그램 작동을 보여줍니다. WL_x에 대한 세 번째 프로그래밍 작업이 완료되어야 WL_x에 저장된 데이터가 신뢰할 수 있는 데이터가 됩니다.
불행하게도 이러한 프로그래밍 작업의 복잡성은 데이터 손상 위험을 가중시킵니다. 전체 프로그래밍 시퀀스가 완료된 후에만 데이터 무결성이 발생하기 때문에(예: 첫 번째 프로그램 + 두 번째 프로그램 + 세 번째 프로그램) 프로그래밍 작업이 완료되기 전에 예기치 않은 이벤트가 발생하면 데이터가 손상되거나 손실될 수 있습니다.
그림 4는 예상치 못한 이벤트가 데이터 프로그래밍 작업을 방해하는 경우 발생하는 상황을 보여줍니다. 이 경우 WL_2에 대한 프로그래밍 작업이 완료되기 전에 전원 손실이 발생하므로 WL_0/WL_1에 저장된 데이터만 보장됩니다. 즉, 정전으로 인해 다른 데이터가 손상될 수 있습니다.
Phison 독점 기술인 GuaranteedFlush™는 프로그래밍 작업 중 예상치 못한 중단으로 인한 데이터 손상으로부터 저장 장치를 방지하도록 설계되었습니다.
GuaranteedFlush™는 모든 단일 데이터 프로그래밍 명령에 대해 실행되지 않습니다. 대신 저장 장치가 FLUSH_CACHE 명령을 받으면 GuaranteedFlush™가 백그라운드에서 트리거됩니다. 결과적으로 FLUSH_CACH 명령 이전에 장치에 프로그래밍된 모든 데이터의 무결성은 이 기술에 의해 보장됩니다.
그림 5는 GuaranteedFlush™가 다룰 수 있는 사용자 데이터 범위를 보여줍니다.
GuaranteedFlush™는 다층 알고리즘을 구현한 것입니다. 갑작스러운 전원 손실로부터 사용자의 데이터를 보호하기 위해 사용되는 두 가지 기본 방법이 있습니다.
개념 1: 더미 데이터 보정
첫 번째 방법은 프로그래밍 작업 속도를 높이는 것입니다. 다른 NAND 플래시 유형의 프로그래밍 시퀀스는 다를 수 있습니다. 프로그래밍 순서가 어떻게 달라지든 단일 WL의 데이터 프로그래밍 기간에 따라 예기치 않은 중단으로 인한 데이터 손실 위험이 결정됩니다. 이 기간이 길어지면 중단이 발생할 가능성이 높아집니다. 이 문제를 해결하기 위해 더미 데이터가 특정 WL에 삽입되어 사용자 데이터를 저장하는 WL이 전체 프로그래밍 작업(즉, 첫 번째 프로그램 + 두 번째 프로그램 + 세 번째 프로그램)을 완료할 수 있도록 합니다(그림 6 참조).
다음 WL에 더미 데이터를 삽입하면 사용자 데이터 프로그래밍 작업을 완료할 수 있습니다. 이러한 방식으로 예기치 않은 이벤트가 예정된 프로그래밍 시퀀스를 중단하더라도 사용자 데이터의 무결성이 보장됩니다.
개념 2: 실시간 데이터 백업
쌍 페이지 효과로 인한 데이터 손상으로부터 SSD를 보호하는 데 사용할 수 있는 두 번째 방법은 애초에 쌍 페이지 문제가 발생하지 않고 데이터를 페이지에 직접 백업하는 것입니다. SLC 모드로 구성된 페이지는 이 요구 사항을 충족할 수 있습니다. 이것은 사용자 데이터를 안전하게 유지하는 근본적인 방법처럼 느껴질 수 있습니다. 그러나 SLC 모드의 용량은 TLC 메모리의 1/3입니다. 실시간 데이터 백업의 구현은 또 다른 문제가 됩니다.
안전한 데이터를 위해 Phison을 선택하십시오
GuaranteedFlush™는 예상치 못한 정전 시 데이터 정확성을 보장하도록 설계된 또 다른 Phison 독점 기술입니다. GuaranteedFlush™는 Phison SSD 제품의 신뢰성을 강화합니다.
자주 묻는 질문(FAQ) :
TLC NAND가 SLC보다 데이터 손상에 더 취약한 이유는 무엇입니까?
TLC는 셀당 3비트를 저장하고 여러 페이지에서 워드라인을 공유합니다. 이 경우 세 번의 별도 프로그래밍 작업이 필요하므로 불완전한 프로그래밍이 발생할 위험이 커집니다. 쓴다SLC는 프로그래밍 주기를 한 번만 거치므로 이러한 위험을 크게 줄일 수 있습니다.
GuaranteedFlush™에서 더미 데이터 보상이란 무엇인가요?
더미 데이터는 미리 작성됩니다. 이후의 실제 사용자 데이터 프로그래밍 완료 속도를 높이기 위한 워드 라인. 이를 통해 전체 프로그램 시퀀스가 빠르게 완료되어 정전 발생 가능성을 줄일 수 있습니다.
실시간 데이터 백업은 더미 데이터 보상과 어떻게 다릅니까?
실시간 백업은 사용자 데이터를 SLC 모드 페이지에 직접 저장합니다. ~하지 않다 쌍으로 연결된 페이지 효과로 인해 어려움을 겪습니다. TLC 프로그래밍의 복잡성은 피하지만 용량SLC는 셀당 저장하는 데이터가 적습니다.
실시간 데이터 백업이 독점적으로 사용되지 않는 이유는 무엇입니까?
SLC 모드는 저장 밀도를 크게 줄입니다., 이것을 독점적으로 사용하면 TLC NAND의 사용 가능한 용량이 3분의 2로 줄어듭니다. 피손 백업 사용과 다른 기술을 균형 있게 조정합니다. 유지하다 용량 그리고 성능.
GuaranteedFlush™는 Phison의 엔지니어링 철학을 어떻게 반영합니까?
그것 쇼케이스 피손스 컨트롤러 수준 혁신과 데이터 무결성에 집중합니다. NAND 동작에 맞춰 펌웨어 수준 보호 기능을 설계함으로써 피손 OEM과 기업 사용자에게 뛰어난 전력 손실 회복력을 갖춘 안정적이고 지연 시간이 짧은 스토리지를 제공합니다.