---
title: "3D NAND의 기록 직후 오류 증가를 장기 보존 모델로만 보면 놓치는 것"
author: "브레이브브라우저쓰자"
published_at: "2026-10-11T12:19:00.759Z"
updated_at: "2026-10-06T00:04:45.317Z"
tags: ["early retention loss"]
canonical_url: "https://ariser.io/@writer_a9817d5a8de0/3d-nand%EC%9D%98-%EA%B8%B0%EB%A1%9D-%EC%A7%81%ED%9B%84-%EC%98%A4%EB%A5%98-%EC%A6%9D%EA%B0%80%EB%A5%BC-%EC%9E%A5%EA%B8%B0-%EB%B3%B4%EC%A1%B4-%EB%AA%A8%EB%8D%B8%EB%A1%9C%EB%A7%8C-%EB%B3%B4%EB%A9%B4-%EB%86%93%EC%B9%98%EB%8A%94-%EA%B2%83"
ai_assisted: true
---

# 3D NAND의 기록 직후 오류 증가를 장기 보존 모델로만 보면 놓치는 것

이 글은 AI가 활용됐습니다.

[원문](https://ariser.io/@writer_a9817d5a8de0/3d-nand%EC%9D%98-%EA%B8%B0%EB%A1%9D-%EC%A7%81%ED%9B%84-%EC%98%A4%EB%A5%98-%EC%A6%9D%EA%B0%80%EB%A5%BC-%EC%9E%A5%EA%B8%B0-%EB%B3%B4%EC%A1%B4-%EB%AA%A8%EB%8D%B8%EB%A1%9C%EB%A7%8C-%EB%B3%B4%EB%A9%B4-%EB%86%93%EC%B9%98%EB%8A%94-%EA%B2%83)

NAND data를 쓴 뒤 하루에 한 번 검사하는 정책을 세웠다. 장기 retention trend는 그 간격으로 잘 보이는 것 같지만 기록 직후의 빠른 변화를 놓칠 수 있다. Early Retention Loss는 age가 작을 때의 변화를 장기 평균 기울기로 설명하기 어렵게 만든다.

charge-trap 3D NAND의 저장 상태는 program이 끝난 뒤에도 변한다. 원래 state 분포가 시간에 따라 이동하고 read reference의 좋은 위치도 바뀔 수 있다. 모든 시간 구간에서 동일한 V/s 속도로 움직인다고 가정하면 처음 짧은 구간의 빠른 변화를 작게 평가한다.

[Improving 3D NAND Flash Memory Lifetime 원문 4.3절](https://people.inf.ethz.ch/omutlu/pub/3D-NAND-flash-lifetime-early-retention-loss-and-process-variation_sigmetrics18_pomacs18-twocolumn.pdf)은 2018년 실험 표본의 early retention을 그림 7·8에서 다룬다. 실제 측정과 model로 연장한 점선을 구분해서 읽어야 한다. 논문은 가능한 물리 원인도 논의하지만 그 후의 모든 제품에 같은 정량 결과를 부여할 수는 없다.

## 같은 전압 이동에 필요한 시간이 달라지는 model

변화의 모양을 보여 주기 위해 가상 reference를 V(t)=2.4-0.05ln(t/1초) V, t≥1초로 놓자. 제품의 fitting 결과가 아니라 log-time 관계의 의미를 설명하는 식이다.

1→10초에서 reference가 약 0.115V 내려간다. 1000→10000초에서도 같은 0.115V 내려간다. 하지만 앞은 9초, 뒤는 9000초가 걸린다. 동일한 전압 변화를 같은 절대 시간 간격으로 취급할 수 없는 이유다. 기울기는 dV/dt = -0.05/t이므로 감소 속도의 크기는 t=1초에서 50mV/s, t=1000초에서 0.05mV/s다.

| 가상 age 구간 | 경과 시간 | reference 변화량 |
|---|---:|---:|
| 1→10초 | 9초 | 약 -0.115V |
| 1000→10000초 | 9000초 | 약 -0.115V |

log 축에서 직선처럼 보인다고 linear-time에서 constant 속도인 것은 아니다. graph의 축을 확인하지 않고 최근 한 구간의 기울기를 기록 직후까지 복사하면 해석이 어긋난다. t=0에 이 model을 넣을 수도 없다. 사용한 식은 명시한 구간에서만 정의된다.

## 오류율과 reference 이동은 별개 관측이다

reference가 움직이는 속도와 RBER가 증가하는 속도는 동일 단위가 아니다. 분포 폭과 tail, 기존 reference가 어디에 있는지에 따라 작은 이동도 큰 raw error 변화를 만들 수 있다. 그래서 V/s 하나로 보존 수명이나 ECC 실패 시각을 계산하면 부족하다.

원 논문도 state별 optimal reference가 같이 움직이지 않는 점을 구분한다. 모든 경계에 같은 변화량을 더하는 보정은 근거가 필요하다. 적절한 보정 policy는 관측한 분포와 error 목표를 붙여야 한다.

## 첫 시간의 검사를 더 촘촘하게하는 이유

가상 model에서 같은 ΔV 이하의 변화를 원한다면 age가 작은 구간의 검사 간격을 짧게 두는 것이 자연스럽다. 충분히 age가 늘어난 뒤에는 더 긴 간격도 같은 변화량을 다룰 수 있다. 그러나 실제 간격을 정하려면 제품·온도·wear의 측정과 correction budget이 필요하다. 예시 식만으로 장치의 refresh나 rewrite 주기를 권할 수는 없다.

program 직후의 reference를 곧바로 장기 default로 저장하는 정책도 검토할 필요가 있다. 초기 변화가 빠르면 그 값은 금방 오래된 출발점이 된다. controller는 저장 나이를 추적하는 비용과 재학습 비용, read retry를 줄이는 이득을 함께 비교해야 한다.

Early Retention Loss가 요구하는 것은 장기 보존 검사를 더 오래 하는 것만이 아니다. 기록 뒤 처음 구간을 독립적인 시간 해상도로 관측해야 한다. graph의 log 축과 측정·예측 범위를 구분하고 age별 변화를 읽으면, 하루 평균으로는 보이지 않던 초기의 margin 소모를 찾을 수 있다.

