---
title: "PCM conductance를 목표에 맞추려면 왜 기록과 읽기를 반복할까"
author: "브레이브브라우저쓰자"
published_at: "2026-10-16T01:34:03.731Z"
updated_at: "2026-10-06T00:41:31.597Z"
tags: ["pcm iterative programming"]
canonical_url: "https://ariser.io/@writer_a9817d5a8de0/pcm-conductance%EB%A5%BC-%EB%AA%A9%ED%91%9C%EC%97%90-%EB%A7%9E%EC%B6%94%EB%A0%A4%EB%A9%B4-%EC%99%9C-%EA%B8%B0%EB%A1%9D%EA%B3%BC-%EC%9D%BD%EA%B8%B0%EB%A5%BC-%EB%B0%98%EB%B3%B5%ED%95%A0%EA%B9%8C"
ai_assisted: true
---

# PCM conductance를 목표에 맞추려면 왜 기록과 읽기를 반복할까

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

[원문](https://ariser.io/@writer_a9817d5a8de0/pcm-conductance%EB%A5%BC-%EB%AA%A9%ED%91%9C%EC%97%90-%EB%A7%9E%EC%B6%94%EB%A0%A4%EB%A9%B4-%EC%99%9C-%EA%B8%B0%EB%A1%9D%EA%B3%BC-%EC%9D%BD%EA%B8%B0%EB%A5%BC-%EB%B0%98%EB%B3%B5%ED%95%A0%EA%B9%8C)

PCM conductance를 20 μS로 맞추려는데 어떤 셀은 한 pulse 뒤에 18 μS, 다른 셀은 23 μS가 됐다고 하자. 둘 다 같은 명령을 받았지만 원하는 값에 정확히 도달하지 않았다. 아날로그 값을 저장할 때는 pulse를 보냈다는 사실보다, 실제로 만들어진 conductance가 목표 범위에 있는지가 중요하다.

PCM의 부분적인 결정화는 conductance를 바꾸지만, pulse 한 번당 변화량이 일정한 숫자로 고정되지는 않는다. 초기 비정질 영역의 형상, 남은 결정질 경계, 셀 간 차이와 같은 셀의 반복 간 변동이 반응에 영향을 준다. 일정한 크기의 pulse를 여러 번 보낸다고 conductance가 일정한 간격으로 증가한다고 가정하면, 목표를 지나친 순간을 처리하기 어렵다.

[Antolini 등의 연구 §4, Figures 16–17](https://pmc.ncbi.nlm.nih.gov/articles/PMC8037667/)는 목표 구간을 정하고 부분 SET 뒤에 읽는 과정을 반복한다. 값이 부족하면 SET amplitude를 높이고, 목표 위로 넘어가면 초기 SET·RESET부터 다시 시작한다. 반복 한도를 넘긴 셀은 기록 실패로 처리한다. 이 알고리즘에서 읽기는 pulse가 성공했는지 확인하는 단계이자, 다음 동작을 고르는 입력이다.

독립적인 가상 예로 목표를 20 μS ±5%, 즉 19–21 μS라고 두자. 초기화 뒤의 conductance는 5 μS다. 부분 SET를 적용하고 정해진 시간 뒤에 읽었더니 9, 15, 22 μS가 차례로 나왔다. 첫 두 값은 부족하므로 계속 진행하지만 22 μS는 상한을 넘는다. 이 시점에 SET를 한 번 더 보내는 것은 부족한 값을 보충하는 동작이 아니다. 목표 위에 있으므로 선택한 단방향 증가 전략에서는 초기화 후 재시도가 필요하다.

다시 초기화한 뒤의 측정값이 8, 14, 19.5 μS였다면 세 번째 값에서 멈춘다. 총 여섯 번의 부분 SET와 두 번의 초기화가 쓰였다. 목표를 향해 진행한 정도는 각 측정값으로 판단하며, 실패했던 경로의 pulse 수까지 비용에 포함한다. 재초기화 후의 성공만 기록하면 목표에 도달하는 실제 비용이 작게 보인다.

여기서 ±5%는 목표값에 대한 상대 오차다. 20 μS의 5%는 1 μS이므로 허용 구간이 19–21 μS가 된다. ±5 μS와 혼동하면 허용 범위가 다섯 배 넓어진다. 목표가 10 μS로 바뀌면 같은 ±5%의 절대 폭은 ±0.5 μS로 줄어든다. 따라서 서로 다른 목표값의 pulse 수를 비교할 때는 상대 오차뿐 아니라 실제 구간 폭도 함께 봐야 한다.

verify 측정도 완벽하지 않다. 측정 오차가 반드시 ±0.8 μS 안에 있다는 별도의 보장 조건을 가정해 보자. 실제 값이 19–21 μS임을 보수적으로 보장하려면 측정값은 19.8–20.2 μS 안에 있어야 한다. 위의 19.5 μS는 단순 판정에는 통과하지만, 이 오차 경계까지 고려하면 통과할 수 없다. 잡음이 Gaussian 분포라는 것만으로 ±0.8 μS의 확정 경계가 생기는 것은 아니며, 확률적 오차라면 허용 실패 확률을 따로 정해야 한다.

시간도 같은 방식으로 분해할 수 있다. 설명용으로 부분 SET가 100 ns, 안정화 대기가 1 μs, 읽기가 200 ns라면 한 단계는 1.3 μs다. 여섯 단계는 7.8 μs다. 각 초기화에 400 ns가 들었다면 두 초기화를 포함해 8.6 μs가 된다. 이 수치는 연구의 실측 성능이 아니다. 제어기 계산과 queue 대기까지 제외한 가상 합이다. pulse 폭만 여섯 번 더한 600 ns로 기록 시간을 보고하면 대기와 판독 비용을 놓친다.

허용 오차를 좁히면 필요한 반복이 늘 수 있고, 어떤 셀은 정한 횟수 안에 들어오지 못할 수 있다. 반복 한도는 무조건 목표를 만들겠다는 보장이 아니라, 얼마나 시도한 뒤 실패를 알릴지 정하는 기준이다. 장치마다 횟수의 단위가 pulse 수인지 재시작 횟수인지도 명확히 해야 한다.

PCM iterative programming을 평가할 때의 결과는 목표 구간, 성공 비율, 재초기화를 포함한 반복 수, 전체 시간이다. 여기에 verify 오차와 최종 읽기 시점을 붙여야 다른 설정과 비교할 수 있다. 기록과 읽기를 반복하는 이유는 변동을 없애기 위해서가 아니라, 변동이 있는 셀의 실제 상태를 보면서 정해진 오차와 비용 안에 멈추기 위해서다.

