---
title: "뜨거울 때 쓴 NAND를 차갑게 읽으면 같은 기준이 맞지 않을 수 있다"
author: "브레이브브라우저쓰자"
published_at: "2026-10-13T06:44:03.934Z"
updated_at: "2026-10-06T00:23:57.467Z"
tags: ["nand cross-temperature"]
canonical_url: "https://ariser.io/@writer_a9817d5a8de0/%EB%9C%A8%EA%B1%B0%EC%9A%B8-%EB%95%8C-%EC%93%B4-nand%EB%A5%BC-%EC%B0%A8%EA%B0%91%EA%B2%8C-%EC%9D%BD%EC%9C%BC%EB%A9%B4-%EA%B0%99%EC%9D%80-%EA%B8%B0%EC%A4%80%EC%9D%B4-%EB%A7%9E%EC%A7%80-%EC%95%8A%EC%9D%84-%EC%88%98-%EC%9E%88%EB%8B%A4"
ai_assisted: true
---

# 뜨거울 때 쓴 NAND를 차갑게 읽으면 같은 기준이 맞지 않을 수 있다

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

[원문](https://ariser.io/@writer_a9817d5a8de0/%EB%9C%A8%EA%B1%B0%EC%9A%B8-%EB%95%8C-%EC%93%B4-nand%EB%A5%BC-%EC%B0%A8%EA%B0%91%EA%B2%8C-%EC%9D%BD%EC%9C%BC%EB%A9%B4-%EA%B0%99%EC%9D%80-%EA%B8%B0%EC%A4%80%EC%9D%B4-%EB%A7%9E%EC%A7%80-%EC%95%8A%EC%9D%84-%EC%88%98-%EC%9E%88%EB%8B%A4)

NAND를 뜨거운 환경에서 program한 뒤 식은 상태에서 읽었다. 경과 시간은 짧은데 오류가 늘었다면 단순한 오래된 data 문제만으로 설명하기 어렵다. NAND Cross-Temperature는 program 때와 read 때의 온도가 달라질 때 저장 상태와 sensing 조건의 관계가 바뀌는 문제다.

확인할 온도는 하나가 아니다. 지금의 read temperature와 함께, 셀의 목표 상태를 만들던 program temperature를 보아야 한다. 두 조건이 같을 때 잘 동작한 기준이 온도 변화 뒤에도 맞는지는 별도 검증이다.

## 저장 전하와 읽기 특성은 함께 움직일 수 있다

[Effects of Poly-Si Grain Boundary on Retention Characteristics under Cross-Temperature Conditions in 3-D NAND Flash Memory](https://www.mdpi.com/2072-666X/14/12/2199)는 24-layer 실험 구조에서 높은 program 온도 이후 낮은 read 온도로 냉각하는 조건을 조사한다. 2.1절은 30°C에서 program한 경우와 120°C에서 program한 경우의 관측 threshold 변화 방향이 다를 수 있음을 보여 준다.

이 연구에서 관측한 threshold 변화는 저장 전하 손실만으로 해석되지 않는다. poly-Si channel의 grain boundary가 carrier 흐름에 영향을 주고, 온도 변화가 그 barrier와 sensing 전류를 바꾼다. 연구진은 E-P-E와 별도 neutral-cell 조건을 이용해 전하 손실 성분과 channel 관련 성분을 분리한다.

실험 구조와 특정 pattern에서 얻은 결과이며, 모든 상용 NAND state에 같은 계수나 방향이 적용된다는 뜻은 아니다. 중요한 관점은 **읽기에서 보이는 threshold 변화가 전하 저장량 변화 하나와 같지 않을 수 있다**는 것이다.

## 두 온도를 넣는 가상 reference model

원리를 분리하려고 가상 reference를 Vref = 1.5V + 0.002V/°C × (Tprogram−Tread)로 정의하자. 두 이웃 state가 동일하게 이동하고 폭과 사전 확률은 같다고 가정한 설명용 모델이다. 실제 제품의 보정식이나 논문의 fitting 계수가 아니다.

| program 온도 | read 온도 | 모델의 reference |
|---|---:|---:|
| 30°C | 30°C | 1.50V |
| 30°C | 90°C | 1.38V |
| 90°C | 30°C | 1.62V |
| 90°C | 90°C | 1.50V |

온도가 같으면 이 모델의 offset은 0이다. read 온도만 보고 30°C용 기준은 언제나 1.50V라고 정하면, 90°C에서 program한 셀의 가상 최적 기준 1.62V를 놓친다. 현재 온도가 같아도 기록 이력에 따라 필요한 기준이 다른 예다.

같은 온도 조건에서 두 representative threshold가 1.40V와 1.60V라고 하자. 90→30°C 조건에서 각각 0.12V 오른다고 가정하면 1.52V와 1.72V가 된다. 기존 1.50V로 판정하면 둘 다 같은 쪽에 들어가 구분을 잃는다. reference를 1.62V로 바꾸면 다시 서로 다른 쪽에 놓인다.

두 대표값을 구분한 것은 실제 분포 tail의 오류율을 계산한 것이 아니다. 모든 셀이 동일하게 움직이지 않거나 폭까지 바뀌면 평균 reference를 옮겨도 겹치는 분포는 남는다. 하나의 offset으로 언제나 원본을 복원할 수 있다는 결론은 나오지 않는다.

## 온도 변화와 retention 시간을 나눠 보기

온도 변화 뒤 data를 읽을 때는 전하 손실도 계속 진행한다. 온도를 바꾸는 동안 걸린 시간을 무시하면 cross-temperature와 retention의 효과가 한꺼번에 관측된다. 반대로 모든 threshold 변화가 retention이라고 부르면 channel의 온도 의존을 놓친다.

이 논문의 2.1절에서도 초기 read는 program 후 30초에 수행되고, 높은 온도에서 시작한 read 조건은 냉각되며 4시간 뒤 30°C에 도달한다. 고정 온도에서 즉시 두 번 읽은 실험으로 단순화해서 해석하면 안 된다. 저자들이 성분을 분리하는 분석을 한 이유와 함께 시간·온도 경로를 읽어야 한다.

검증을 설계한다면 program/read 온도 조합을 나누고, 각 조합의 retention age와 wear·pattern을 통제한다. 온도 ramp와 안정화 시간도 기록해야 한다. 한 조건에서 확인한 error count를 다른 조합에 그대로 옮겨 안전하다고 판단하기 어렵다.

## 온도 보정이 알아야 하는 정보

read-reference 보정은 적합한 상태 경계를 찾는 수단이다. 이미 빠져나간 전하를 다시 넣거나 손상된 data를 새로 기록하는 동작과 다르다. retry와 ECC 여유를 함께 보며 얼마나 구분 가능성이 회복되는지 확인해야 한다.

program temperature를 정확히 추적하지 못하는 controller라면 현재 온도만으로 완전한 보정을 기대할 수 없다. 여러 page가 서로 다른 온도에서 기록됐을 때 하나의 전역 offset으로 설명되지 않을 수도 있다. 실제 정책은 제공되는 metadata와 센서 정보, 지원 read level을 바탕으로 검증해야 한다.

NAND Cross-Temperature를 보면 온도 specification은 현재 온도가 범위 안이라는 확인에서 끝나지 않는다. **기록한 온도·읽는 온도·그 사이의 시간 경로를 함께 보아야**, 짧은 보관 시간인데도 기존 read 기준이 어긋나는 이유를 이해할 수 있다.

