RRAM을 측정하는 방법은 기본적으로 DC sweep과 PD test와 그 외 여러 가지 test가 있습니다. 이 글에서는 소자의 특성을 측정하는 test에 대해 알아보겠습니다.
RRAM에 대한 기본 설명은 이전 글을 참고해주세요.
측정 방법
이전 글에서 RRAM은 MIM의 간단한 구조로 되어있다고 설명해 드렸습니다. 물론 RRAM 소자를 회로로 구현하기 위해서는 crossbar array라는 구조로 만들어야 하지만, 단일 소자의 특성을 파악하기 위해서 위와 같은 간단한 구조로 소자를 만들어도 됩니다. 적정한 크기로 자른 (1cm x 1cm) Bare wafer 위에 BE(Bottom Electrode)와 oxide를 깔고, 그 위에 TE(Top Electrode)를 패터닝하여 증착하면 끝입니다.
측정하기 위해서는 Probe contact을 해야겠죠?? TE은 바로 contact 하면 되고 BE는 전체적으로 증착되어 있는 Oxide를 Diamond cutter로 긁어서 BE가 드러나게 하고 indium ball을 붙여서 contact pad를 만들고 probe tip을 contact 하는 방식으로 측정을 진행합니다.
DC sweep
나중에 따로 설명할 수도 있지만 소자 측정은 제가 만든 프로그램을 사용했습니다. 저희 연구실은 Labview라는 tool을 사용했는데요, 이 프로그램으로 keithley 236이라는 Keithley사의 SMU(Source Measure Unit)을 컨트롤하여 DC sweep 측정을 진행했습니다.
전압을 source로, 전류를 result로 설정하면 소자의 I-V curve를 얻을 수 있습니다.
Forming process
소자를 작동시키기 위해서는 Forming을 시켜줘야 합니다. Forming 전에는 소자의 저항이 굉장히 높기 때문에 전류가 거의 흐르지 않고, Forming V(Forming voltage)도 굉장히 높습니다. Forming 후에 reset을 거친 뒤 Set/Reset 측정을 합니다.
Set/Reset process
이 소자의 Set/Reset process에서 + voltage sweep이 Set process이고, – voltage sweep이 Reset process입니다.
Set process 중 저항이 갑자기 감소하는 부분이 있는데요, 이때의 전압을 Set V라고 합니다. 이때부터 소자 내부에 filament가 형성되어 소자가 HRS에서 LRS로 바뀌게 됩니다.
Reset process 중 저항이 증가하기 시작하는 부분이 있는데요, 이때의 전압을 Reset V라고 합니다. 이때부터 소자 내부의 filament가 끊어져서 LRS에서 HRS로 바뀌게 됩니다.
DC sweep을 통해 Set/Reset V의 값을 알면 다음 test인 Pulse test에서 사용할 Pulse의 조건을 설정할 수 있게 됩니다.
PD test
PD test는 pulse로 소자를 작동시키기 때문에 Pulse test라고도 불렀습니다. 이름 그대로 DC sweep이 아니라 소자에 pulse를 가해 측정하는 방식입니다.
측정 방법과 측정결과를 보면서 이해해 볼까요?
PD test 방법
왼쪽을 보시면 PD test scheme을 볼 수 있습니다. Potentiation/Depression 과정 모두 write pulse와 read pulse로 이루어져 있습니다. Write 시 set/reset pulse를 가해 소자의 state를 변화시키고 Read를 통해 소자의 저항 변화를 확인합니다. 그래서 read pulse는 소자에 영향을 주지 않을 정도의 낮은 전압을 사용합니다. 한 가지 주의할 점은 read voltage에 따라 소자의 저항이 달라지기 때문에 항상 일정한 전압으로 read를 하고 이를 명시해 줘야 합니다, 저는 0.1V에서 측정하였습니다.
오른쪽은 PD test 결과입니다. x축은 # of pulse, 즉 pulse를 가한 횟수입니다. y축은 conductance, 즉 1/저항입니다. Potentiation 과정을 통해 소자가 set이 되고 그에 따라 저항이 작아지고 conductance가 증가하는 것을 확인할 수 있습니다. 다음으로 depression을 통해 set 되었던 소자가 reset 되어 저항이 커지고 conductance가 감소하는 것을 확인할 수 있습니다. 이 결과를 통해 소자의 성능을 어떻게 알 수 있을까요??
PD test 결과 및 분석
PD test에서 소자의 저항과 Ratio, 마지막으로 Nonlinearity라는 값을 얻어내야 합니다.
먼저 소자의 저항이 중요한 이유는 소자의 energy consumption을 결정하기 때문입니다. P = V * I * t 잖아요?? 만약 set pulse가 2V에 100ns이고 소자의 저항이 1MΩ이라고 합시다. 그러면 I = 2/1M = 2uA가 됩니다.
P = V * I * t = 2V * 2uA * 100ns = 0.4pJ
굉장히 소비 전력이 낮죠? 그래서 ReRAM의 장점 중 하나가 에너지 효율이 좋다는 겁니다.
두 번째로는 On/Off ratio를 알아야 합니다. Ratio가 클수록 좋은데 그냥 큰 게 아니라 가해야 하는 pulse 수도 많아야 합니다. 한 번에 저항이 휙휙 변하면 안 된다는 뜻이에요. 그러면 이 소자가 구분할 수 있는 state가 많아지게 되고, 그만큼 analog 특성이 좋다고 할 수 있는 것입니다.(설명이 맞는 건지 모르겠네요;; ㅠㅠ 이해가 안 되신다면 메일로 문의해주세요!!)
마지막으로 nonlinearity라는 값을 얻어내야 하는데 다음의 수식으로 fitting을 하여 값을 계산할 수 있습니다.
Gmax와 Gmin은 각각 PD test result에서 conductance의 최댓값과 최솟값을 의미합니다. Pulse를 통해 저항을 가변시키는데 이 변화가 linear 할수록 analog 특성이 좋겠죠?? Nonlinearity는 PD test result가 linear 한 추세에서 얼마나 벗어나 있냐를 의미합니다. 0에 가까울수록 소자의 analog 특성이 좋다고 할 수 있습니다.
정리하자면 에너지 소비가 적고, 나타낼 수 있는 저항 state가 많으며, 저항 변화가 linear 한 소자가 좋은 analog RRAM이라고 할 수 있습니다.
그렇다면 이러한 analog 특성이 좋은 소자를 왜 만들어야 할까요?? RRAM은 어디다 쓰려고 연구하는 걸까요?? 결론만 간단히 이야기하자면 이러한 analog 소자를 통해 DNN(Deep Neural Network) 같은 AI에 사용할 수 있습니다.
Retention test
RRAM은 비휘발성(Non-volatile) 메모리로 Long-term-memory(LTM)으로 사용됩니다(같은 말이긴 하네요). 그러면 소자를 set 시킨 뒤 LRS(low-resist-state) 상태를 유지해야 합니다. 그래서 set 시킨 뒤 소자의 저항을 모니터링하는 test를 하는데, 이를 retention test라고 합니다. Test result는 x축이 시간, y축이 저항(or conductance or current)을 plot 합니다. 물론 같은 read voltage에서 측정해야 하고, 소자에 영향을 주지 않을 만큼 낮은 전압이어야 합니다.(저는 0.1V에서 측정했습니다)
위 그래프를 보시면 STM(short term memory)과 LTM의 retention test 결과를 비교할 수 있는데요, 확실히 STM은 set 된 후 금방 초기 상태의 저항으로 돌아오지만 LTM은 set 된 후 그 저항 수준을 계속 유지하는 것을 확인할 수 있습니다. 이 test는 온도를 가변하며 측정하는데요, 주로 측정하는 온도 환경이 몇 도인지 까먹어서 혹시나 아시는 분이 있으시다면 메일로 알려주시면 감사드리겠습니다. (85도인 것 같은데 기억이 가물가물하네여;;)
Endurance test
소자를 실제 환경에서 작동시킬 때는 한 번만 작동시키는 것이 아니라 여러 번 반복해서 소자를 작동시킵니다. 그래서 같은 측정 조건으로 반복해서 test 하고 그 결과가 매번 일치해야 하는데, 이를 endurance test라고 합니다. DC sweep, PD test 모두 endurance test 가능하며 대부분 100, 1000 cycle 정도 test를 돌립니다. 조건을 설정하고 밤새, 아니면 며칠 동안 test를 걸어놓습니다.
DC sweep endurance test는 100 cycle을 돌려서 겹친 것입니다. DC sweep은 계속 측정해도 결과가 달라지지 않지만, PD test의 경우 점점 결과가 달라지는 것이 보이시나요?? Test 결과가 계속 일치해야 좋은 소자인 것입니다.
ETC
variation
높은 수율을 위해 variation은 작아야 합니다. Cycle-to-Cycle variation(C2C)과 Device-to-Device variation(D2D)을 확인해 소자의 수율을 확인합니다.
STDP(Spike-timing-dependent plasticity)
마지막으로 STDP test result가 필요합니다. 이 test는 소자의 성능을 측정한다기보다 측정 결과가 일반적인 STDP의 추세를 따른다는 것으로 마무리하는 걸로 기억하는데 잘 기억이 안 나네요;;;; 기회가 된다면 관련 글을 따로 정리해 보도록 하겠습니다.
참고: https://ietresearch.onlinelibrary.wiley.com/doi/10.1049/iet-cds.2018.5388