KR20120094644A - 비휘발성 메모리 시스템 및 이를 위한 프로그램 방법 - Google Patents

비휘발성 메모리 시스템 및 이를 위한 프로그램 방법 Download PDF

Info

Publication number
KR20120094644A
KR20120094644A KR1020110014031A KR20110014031A KR20120094644A KR 20120094644 A KR20120094644 A KR 20120094644A KR 1020110014031 A KR1020110014031 A KR 1020110014031A KR 20110014031 A KR20110014031 A KR 20110014031A KR 20120094644 A KR20120094644 A KR 20120094644A
Authority
KR
South Korea
Prior art keywords
program
level
pulse
initial
type
Prior art date
Application number
KR1020110014031A
Other languages
English (en)
Inventor
김명섭
김수길
Original Assignee
에스케이하이닉스 주식회사
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 에스케이하이닉스 주식회사 filed Critical 에스케이하이닉스 주식회사
Priority to KR1020110014031A priority Critical patent/KR20120094644A/ko
Publication of KR20120094644A publication Critical patent/KR20120094644A/ko

Links

Images

Classifications

    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C13/00Digital stores characterised by the use of storage elements not covered by groups G11C11/00, G11C23/00, or G11C25/00
    • G11C13/0002Digital stores characterised by the use of storage elements not covered by groups G11C11/00, G11C23/00, or G11C25/00 using resistive RAM [RRAM] elements
    • G11C13/0004Digital stores characterised by the use of storage elements not covered by groups G11C11/00, G11C23/00, or G11C25/00 using resistive RAM [RRAM] elements comprising amorphous/crystalline phase transition cells
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C13/00Digital stores characterised by the use of storage elements not covered by groups G11C11/00, G11C23/00, or G11C25/00
    • G11C13/0002Digital stores characterised by the use of storage elements not covered by groups G11C11/00, G11C23/00, or G11C25/00 using resistive RAM [RRAM] elements
    • G11C13/0021Auxiliary circuits
    • G11C13/004Reading or sensing circuits or methods
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C13/00Digital stores characterised by the use of storage elements not covered by groups G11C11/00, G11C23/00, or G11C25/00
    • G11C13/0002Digital stores characterised by the use of storage elements not covered by groups G11C11/00, G11C23/00, or G11C25/00 using resistive RAM [RRAM] elements
    • G11C13/0021Auxiliary circuits
    • G11C13/0064Verifying circuits or methods
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C13/00Digital stores characterised by the use of storage elements not covered by groups G11C11/00, G11C23/00, or G11C25/00
    • G11C13/0002Digital stores characterised by the use of storage elements not covered by groups G11C11/00, G11C23/00, or G11C25/00 using resistive RAM [RRAM] elements
    • G11C13/0021Auxiliary circuits
    • G11C13/0069Writing or programming circuits or methods

Landscapes

  • Chemical & Material Sciences (AREA)
  • Crystallography & Structural Chemistry (AREA)
  • Read Only Memory (AREA)

Abstract

비휘발성 메모리 셀 어레이, 비휘발성 메모리 셀 어레이에 대한 프로그램 또는 리드 동작을 제어하는 입출력 제어 회로 및 비휘발성 메모리 셀 어레이에 대한 프로그램 모드시, 프로그램을 위한 초기 펄스 레벨을 결정하여 입출력 제어 회로로 제공하고, 입출력 제어 회로의 검증용 리드 결과에 따라 초기 펄스 레벨의 증가 또는 감소 여부를 결정하며, 프로그램 목표 레벨에 따라 제 1 타입 프로그램 펄스 또는 제 2 타입 프로그램 펄스를 인가하는 컨트롤러를 포함하는 비휘발성 메모리 시스템 및 이를 위한 프로그램 방법을 제시한다.

Description

비휘발성 메모리 시스템 및 이를 위한 프로그램 방법{Non-volatile Memory System and Program Method Therefor}
본 발명은 메모리 시스템에 관한 것으로, 보다 구체적으로는 비휘발성 메모리 시스템 및 이를 위한 프로그램 방법에 관한 것이다.
상변화 메모리 장치, 플래시 메모리 장치, 자기 메모리 장치 등으로 대표되는 비휘발성 메모리 장치는 멀티 레벨 셀 기술을 기반으로 하여 저비용, 고집적화 되고 있는 추세에 있다.
비휘발성 메모리 장치 중에서도 상변화 메모리 장치는 DRMA의 스케일링 한계, 플래시 메모리 장치의 신뢰성 한계에 대한 실질적인 대안으로 자리잡고 있다. 특히, 상변화 메모리 장치는 비휘발성 특성을 가지면서 고속 동작을 지원할 뿐 아니라, 안정성, 소거 연산의 불필요, 내구성, 바이트 단위의 접근을 지원하는 우수한 장점을 갖고 있어 스토리지 클래스 메모리(Storage Class Memory; SCM) 형태로서 가장 적합한 차세대 메모리 장치라 할 수 있다.
SCM은 저장장치, 메인 메모리 장치, 또는 저장 장치와 메인 메모리 장치로 모두 활용할 수 있으며, 상변화 메모리 장치가 이러한 기능을 수행하기 위해서는 빠르고 정확하며, 낮은 전력 소모량으로 프로그램 및 리드를 수행할 수 있어야 한다.
상변화 메모리 장치를 프로그램한 후에는 원하는 데이터가 기록되었는지 확인하는 검증 동작이 이루어지며(Program and Verify; PNV), 상변화 메모리 장치에 MLC를 구현하기 위하여 다양한 프로그램 방식이 제안되었다.
첫 번째로 전류 제어 PNV 방식을 들 수 있다. 이 방식에서는 패스트 퀀칭(Fast quenching)을 기본으로 전류량을 조절하여 비정질화되는 상변화 물질의 부피를 변화시킨다. 다른 방법으로, 테일링 타임 제어(Tailing time control) PNV 방식이 있으며, 이는 고정된 높은 레벨의 용융 전류를 공급하다가 슬로우 퀀칭 속도에 따라 액상으로부터 고상으로의 결정화 거동을 이용하는 방법이다. 또 다른 방법으로, 지속 시간 제어(Duration time control) PNV 방식이 있는데, 이 방식에서는 일정한 낮은 레벨의 전류를 공급하다가 지속 시간을 조절하여 고상으로부터 고상으로의 결정화 거동을 이용하는 방법이다.
도 1은 상변화 메모리 장치의 프로그램 방식에 따른 저항 분포도를 나타내는 도면으로, 4비트의 데이터를 저장할 수 있는 멀티 레벨 셀 상변화 메모리 장치를 예로 들어 설명한다.
도 1의 (a)는 전류 제어 PNV 방식을 이용하여 프로그램한 경우의 저항 분포도를 나타내고, (b)는 테일링 타임 제어 PNV 방식을 이용한 경우의 저항 분포도를, (c)는 지속 시간 제어 PNV 방식을 이용한 경우의 저항 분포도를 나타낸다.
전류 제어 PNV 방식의 경우 저항이 가장 낮은 상태 즉, R0 상태를 제외한 R1, R2, R3 상태에서 거의 균일한 저항값을 갖는 것을 알 수 있다. 테일링 타임 제어 PNV 방식의 경우 전류 제어 PNV 방식보다는 저항 분포가 균일하지 않지만 특성이 매우 열악한 상태는 아니며, 특히 R0 상태의 경우 전류 제어 PNV 보다 우수한 저항 분포 특성을 갖는 것을 알 수 있다. 반면, 지속 시간 제어 PNV 방식을 이용한 경우 저항 분포도가 매우 열악함을 확인할 수 있다.
지속 시간 제어 PNV 방식은 저항 분포 특성도 열악하지만 프로그램을 동작을 수행할 때마다 반드시 메모리 셀들을 초기화(reset)하여야 하는 단점이 있다.
한편, 테일링 타임 제어 PNV 방식은 테일링 타임의 제어 범위가 넓은 단점이 있다.
도 2는 프로그램 방식에 따른 요구 전류 범위 및 요구 테일링 타임 범위를 설명하기 위한 도면이다.
도 2의 (a)는 전류 제어 PNV 방식에서 요구되는 전류 범위를 나타내며, (b)는 테일링 타임 제어 PNV 방식에서 요구되는 테일링 타임의 범위를 나타낸다.
전류 제어 PNV 방식에 비해 테일링 타임 제어 PNV 방식의 경우 매우 넓은 프로그램 범위가 필요함을 알 수 있다. 이는 슬로우 퀀칭 타입의 전류를 인가하기 전, 셀마다 특정 전류에서 발생하는 용융 부피가 다름으로 인한 프로그램 잡음 증가로부터 기인한다.
어떠한 방법으로 상변화 메모리 장치를 프로그램하든지, 프로그램 후의 검증 과정은 필수적인 과정이며 이에 대해 설명하면 다음과 같다.
도 3은 일반적인 비휘발성 메모리 시스템의 프로그램 방법을 설명하기 위한 도면이다.
프로그램 모드로 진행함에 따라, 검증용 리드 동작이 수행되고(S101), 리드 동작에 따라 획득된 셀의 저항과 기준 저항을 비교한다(S103). 리드된 저항이 제 1 기준저항(Rref_L)과 제 2 기준저항(Rref_H) 사이에 존재하는 경우(S105), 해당 셀의 저항이 원하는 분포에 속해 있는 것으로 판단하고 패스 처리한다(S107).
한편, 리드된 저항이 제 1 기준저항(Rref_L)과 제 2 기준저항(Rref_H) 사이에 존재하지 않는 경우(S105)에는 PNV 반복 횟수가 기 설정된 최대 반복 횟수를 초과하였는지 확인한다(S109). 최대 반복 횟수를 초과한 경우 해당 셀은 패일 처리한다(S111).
만약, 최대 반복 횟수를 초과하지 않은 경우에는 반복 횟수를 증가시킨 후(S113), 프로그램 조건 즉, 인가할 전류량을 설정한다(S115). 그리고, 설정된 전류량에 따라 펄스를 생성하여(S117) 프로그램 동작을 수행(S119)한 다음 단계 S101로 진행한다.
이 때, 리드된 저항이 원하는 분포 사이에 속해 있지 않아 전류량을 변경할 때에는 단일 방향으로 전류를 증가시키는 방법이 이용되고 있다. 즉, 프로그램의 초기 전류를 허용되는 최저 전류 또는 최고 전류로 설정하고, 검증 결과에 따라 재 프로그램이 필요한 경우 최저 전류로부터 프로그램 전류를 순차적으로 증가시키거나 최고 전류로부터 프로그램 전류를 순차적으로 감소시켜 재 프로그램을 수행하는 것이다.
도 4는 프로그램 방법에 따른 PNV 평균 반복 횟수를 설명하기 위한 도면으로, 허용되는 최고 전류로부터 프로그램 전류를 감소시켜 PNV를 수행한 경우를 나타낸다.
전류 제어 PNV 방식에 비해 넓은 프로그램 분포를 갖는 테일링 타임 제어 PNV 방식의 경우 PNV 반복 횟수가 더욱 많이 필요함을 알 수 있다. 아울러, 전류 제어 PNV 방식의 경우, 저저항 상태가 요구되는 셀일수록 PNV 반복 횟수가 증가함을 알 수 있다.
상변화 메모리 장치가 멀티 레벨 셀로 구현될 때, 구현 가능한 비트 수에 비례하여 각 메모리 셀이 유지해야 하는 저항 상태도 증가하게 된다. 따라서, 현재와 같이 단일 방향으로 전류를 변화시켜 PNV를 수행하는 경우 PNV 반복 횟수가 증가될 수 밖에 없다. 이는 상변화 메모리 시스템의 고속화를 저해함은 물론 신뢰성을 저하시키는 요인으로 작용한다.
본 발명은 프로그램 및 검증 과정을 고속으로 수행할 수 있는 비휘발성 메모리 시스템 및 이를 위한 프로그램 방법을 제공하는 데 그 기술적 과제가 있다.
본 발명의 다른 기술적 과제는 셀의 프로그램 분포를 균일하게 제어할 수 있는 비휘발성 메모리 시스템 및 이를 위한 프로그램 방법을 제공하는 데 있다.
상술한 기술적 과제를 달성하기 위한 본 발명의 일 실시예에 의한 비휘발성 메모리 시스템은 비휘발성 메모리 셀 어레이; 상기 비휘발성 메모리 셀 어레이에 대한 프로그램 또는 리드 동작을 제어하는 입출력 제어 회로; 및 상기 비휘발성 메모리 셀 어레이에 대한 프로그램 모드시, 프로그램을 위한 초기 펄스 레벨을 결정하여 상기 입출력 제어 회로로 제공하고, 상기 입출력 제어 회로의 검증용 리드 결과에 따라 상기 초기 펄스 레벨의 증가 또는 감소 여부를 결정하며, 프로그램 목표 레벨에 따라 제 1 타입 프로그램 펄스 또는 제 2 타입 프로그램 펄스를 인가하는 컨트롤러;를 포함한다.
한편, 본 발명의 일 실시예에 의한 비휘발성 메모리 시스템의 프로그램 방법은 컨트롤러 및 상기 컨트롤러에 의해 제어되는 메모리 셀 어레이를 포함하는 비휘발성 메모리 시스템을 위한 프로그램 방법으로서, 상기 컨트롤러가 프로그램을 위한 초기 펄스 레벨을 설정하는 단계; 프로그램하고자 하는 메모리 셀의 검증용 리드 결과에 따라, 상기 컨트롤러가 상기 초기 펄스 레벨의 증가 또는 감소 여부를 결정하는 프로그램 펄스 레벨 설정 단계; 및 프로그램 목표 레벨에 따라 제 1 타입 프로그램 펄스 또는 제 2 타입 프로그램 펄스를 인가하여 프로그램을 수행하는 단계;를 포함한다.
본 발명에서는 프로그램 동작을 위해 허용된 전류 분포 상의 중간 전류를 프로그램을 위한 초기 전류로 설정한다. 그리고, 프로그램 후의 검증 결과 리드된 셀의 저항이 기준 저항보다 낮으면 프로그램 전류를 증가시키는 한편, 셀의 저항이 기준 저항보다 높은 경우에는 프로그램 전류를 감소시켜 재 프로그램을 수행한다.
단일 방향으로 전류를 증가 또는 감소시켜 PNV를 수행하는 경우 고저항 상태 또는 저저항 상태로 프로그램될 메모리 셀에 대한 PNV 반복 횟수가 증가할 수 밖에 없다. 하지만, 본 발명에서와 같이 양방향으로 프로그램 전류를 변화시켜 PNV를 수행하게 되면 PNV 반복 횟수를 효과적으로 감소시킬 수 있어 메모리 시스템의 고속화 및 신뢰성 향상을 도모할 수 있다. 나아가 전력 소모량 또한 감소시킬 수 있어 SCM으로 활용될 수 있는 특성을 보장할 수 있다.
아울러, 본 발명에서는 목표하는 프로그램 저항 레벨에 따라 프로그램 전류의 펄스 형태를 다르게 제어한다. 특히, 저저항 상태(SET, R0)로 셀을 프로그램할 경우에는 슬로우 퀀치 타입의 펄스를 인가하고, 나머지 저항 상태로 셀을 프로그램할 경우에는 패스트 퀀치 또는 스퀘어 타입의 펄스를 인가하여 각각의 저항 상태가 균일한 분포를 갖도록 한다.
이에 따라 메모리 시스템의 신뢰성을 더욱 향상시킬 수 있고, 보다 안정적인 동작을 보장할 수 있다.
도 1은 상변화 메모리 장치의 프로그램 방식에 따른 저항 분포도를 나타내는 도면,
도 2는 프로그램 방식에 따른 요구 전류 범위 및 요구 테일링 타임 범위를 설명하기 위한 도면,
도 3은 일반적인 비휘발성 메모리 시스템의 프로그램 방법을 설명하기 위한 도면,
도 4는 프로그램 방법에 따른 PNV 평균 반복 횟수를 설명하기 위한 도면,
도 5는 본 발명의 일 실시예에 의한 비휘발성 메모리 시스템의 프로그램 방법을 설명하기 위한 도면,
도 6은 본 발명에 의한 프로그램 방법을 적용한 경우 저저항 상태 메모리 셀의 저항 분포도를 설명하기 위한 도면,
도 7은 본 발명에 의한 프로그램 방법의 개념을 설명하기 위한 도면,
도 8은 프로그램 방식에 따른 비휘발성 메모리 시스템의 성능을 비교하기 위한 도면,
도 9는 본 발명에 의한 프로그램 방법에서 검증 방법의 일 예를 설명하기 위한 도면,
도 10은 본 발명의 일 실시예에 의한 비휘발성 메모리 시스템의 구성도,
도 11은 본 발명의 일 실시예에 의한 프로그램 제어 회로의 일 예시도이다.
이하, 첨부된 도면을 참조하여 본 발명의 실시예를 보다 구체적으로 설명한다.
도 5는 본 발명의 일 실시예에 의한 비휘발성 메모리 시스템의 프로그램 방법을 설명하기 위한 도면이다.
비휘발성 메모리 장치를 구성하는 메모리 셀을 프로그램할 때에는 허용되는 전류 범위, 또는 전압 범위가 기 설정되어 있다. 본 발명에서는 허용되는 전류(전압) 분포 상의 중간 레벨을 프로그램을 위한 초기 전류로 설정한다. 그리고, 프로그램 후의 검증 결과에 따라 프로그램 전류(전압)를 증가시키거나 감소시켜 재 프로그램을 수행한다.
이를 위해, 먼저 초기 목표 레벨을 설정한다(S200). 비휘발성 메모리 장치는 그 종류에 따라 메모리 셀에 저장된 데이터의 레벨을 판별하는 기준이 다를 수 있으며, 상변화 메모리 장치의 경우 메모리 셀의 저항값에 따라 데이터 레벨을 판별한다. 이 경우 초기 목표 레벨은 초기 목표 저항값으로 설정될 수 있다. 그 외, 전류 레벨에 따라 데이터 레벨을 판별하는 메모리 장치의 경우에는 초기 목표 레벨이 초기 목표 전류량으로 설정될 수 있음은 물론이다.
초기 목표 레벨이 설정되면, 현재 프로그램할 레벨이 기 설정된 초기 목표 레벨과 동일한 레벨인지 확인한다(S301). 복수의 저항 값(예를 들어, R0, R1, R2, R3)에 따라 복수 비트의 데이터를 저장할 수 있는 멀티 레벨 셀 상변화 메모리 장치를 예로 들면, 초기 목표 레벨은 최저 저항 레벨 즉, 결정질(set) 상태의 저항 레벨(R0)이 될 수 있으며, 단계 S301에서는 프로그램할 목표 레벨이 R0 레벨인지 확인하는 것이다.
단계 S301의 확인 결과 초기 목표 레벨로 프로그램이 필요한 경우, 기 설정된 형태의 전류 펄스를 인가하여 프로그램을 수행한다(S303). 본 발명의 일 실시예에서, 상변화 메모리 장치를 R0 레벨로 프로그램할 경우 제 1 타입 펄스, 바람직하게는 슬로우 퀀치 타입의 전류 펄스를 인가하여 프로그램을 수행한다. 앞서 설명한 것과 같이, 슬로우 퀀치 타입 펄스를 이용하는 테일링 타임 제어 PNV 방식에서 R0 레벨의 저항 분포도는 스퀘어 타입 펄스를 이용하는 전류 제어 PNV 방식보다 우수한 특성을 가짐을 알 수 있다. 본 발명에서는 이러한 점에 착안, 프로그램하고자 하는 저항 레벨이 R0인 경우 슬로우 퀀치 형태의 펄스를 인가하여 전류 분포도를 균일하게 제어한다.
프로그램을 수행한 후에는 메모리 셀의 저항 레벨을 리드하여, 리드된 저항 레벨이 목표 레벨 즉, R0인지 확인한다(S305). 확인 결과 리드된 저항이 목표 레벨이면 패스 처리하고(S307), 그렇지 않을 경우에는 패일 처리한다(S309).
도 6은 본 발명에 의한 프로그램 방법을 적용한 경우 저저항 상태 메모리 셀의 저항 분포도를 설명하기 위한 도면이다.
도 6에서, 그래프 A는 전류 제어 PNV 방식에 따라 스퀘어 타입 펄스를 인가하여 메모리 셀을 셋 상태(R0 레벨)로 프로그램한 경우의 저항 분포도를 나타내고, 그래프 B는 본 발명에서와 같이 슬로우 퀀치 타입 펄스를 인가하여 셋 상태(R0 레벨)로 프로그램한 경우의 저항 분포도를 나타낸다.
도 5에서 설명한 것과 같이, 본 발명에서는 셋 상태로 프로그램 후 원하는 목표 레벨을 만족하지 못한 경우 그대로 패일 처리한다. 즉, 원하는 저항 레벨에 도달하지 않은 경우 지정된 횟수만큼 PNV를 반복하는 것이 아니라 즉시 패일 처리를 수행한다. 하지만, 전류 제어 방식 PNV 보다 저항 분포도가 매우 우수한 특성을 얻을 수 있다. 결국, PNV 반복 횟수의 감소를 통한 속도 향상, 전력 소모량 절감 등의 이점을 얻을 수 있다.
한편, 단계 S301의 판단 결과 목표 프로그램 레벨이 초기 목표 레벨이 아닌 경우에 대해 상변화 메모리 장치를 예로 들어 설명하면 다음과 같다.
이 경우, 먼저 허용 가능한 전류 분포 상의 중간 레벨을 초기 프로그램 전류(I_med) 레벨로 선택한다(S401). 그리고, 초기 프로그램 전류 레벨을 제 2 타입 펄스로 인가하여 프로그램을 수행한다(S403). 여기에서, 제 2 타입 펄스는 스퀘어 타입 펄스 또는 패스트 퀀치(fast quench) 타입 펄스일 수 있다. 상술하였듯이, 스퀘어 타입 펄스를 인가하여 프로그램을 수행하는 PNV 방식은 셋 상태를 나타내는 저저항 레벨(R0) 이외의 다른 저항 레벨(R1, R2, R3)에서는 매우 우수한 저항 분포도를 갖는다. 따라서, 본 발명에서는 셋 상태인 결정질 상태를 프로그램하는 경우를 제외하고, 부분 비정질 상태나 비정질 상태를 프로그램할 경우에는 스퀘어 타입 펄스 또는 패스트 퀀치 타입 펄스를 인가하여 우수한 저항 산포도를 얻을 수 있도록 한다.
프로그램이 이루어지면 셀의 저항값을 리드하여, 목표 프로그램 레벨에 따라 기 설정된 기준 저항(Rtarget)과 비교하는 검증 과정이 이루어진다(S405). 메모리 셀을 특정 저항 상태로 프로그램 할 때, 모든 메모리 셀이 모두 동일한 저항 상태를 갖도록 하는 것은 거의 불가능하다. 따라서, 기준 저항(Rtarget)은 지정된 저항 범위(최저 기준 저항(Rref_L)~최고 기준 저항(Rref_H))로 설정하는 것이 바람직하다. 결과 리드된 저항(R)이 기준 저항(Rtarget) 레벨인 경우에는 패스 처리한다(S407).
만약, 리드된 저항(R)이 기준 저항(Rtarget) 레벨이 아닌 경우에는 PNV 반복 횟수가 기 설정된 최대 반복 횟수를 초과하였는지 확인한다(S409). 최대 반복 횟수를 초과하지 않은 경우, PNV 반복 횟수를 증가시킨 다음(S411), 리드된 저항(R)이 기준 저항(Rtarget)보다 작은지의 여부에 따라 전류 스캔 방향을 결정한다. 즉, 리드된 저항(R)이 기준 저항(Rtarget)보다 작은 경우에는 해당 메모리 셀의 저항을 더 증가시킬 필요가 있으므로 프로그램 전류를 증가시킨 후(S415) 재 프로그램을 수행한다. 반면, 리드된 저항(R)이 기준 저항(Rtarget) 이상인 경우에는 해당 메모리 셀의 저항을 감소시킬 필요가 있으므로 프로그램 전류를 감소시킨 후(S417) 재 프로그램을 수행한다(S403).
한편, 검증 결과 리드된 저항(R)이 기준 저항(Rtarget) 레벨인 경우에는 패일 처리한다(S419).
도 7은 본 발명에 의한 프로그램 방법의 개념을 설명하기 위한 도면이다.
프로그램을 위해 허용되는 전류 범위(0.57~0.78(a.u.))의 분포 상에서 중간 레벨의 전류를 초기 프로그램 전류(I_med)로 설정한다.
그리고, 프로그램 수행 후 셀로부터 리드된 저항(R)이 기준 저항(Rtarget)보다 작으면 초기 프로그램 전류(I_med)를 제 1 방향(I_end2)으로 증가시켜 재프로그램을 수행한다. 한편, 리드된 저항(R)이 기준 저항(Rtarger) 이상이면 초기 프로그램 전류(I_med)를 제 2 방향(I_end1)으로 감소시켜 재프로그램을 수행한다.
도 8은 프로그램 방식에 따른 비휘발성 메모리 시스템의 성능을 비교하기 위한 도면이다.
도 8에서, 그래프 A1, A2는 단일 방향으로 프로그램 전류를 변경하여 프로그램을 수행한 경우 PNV 전류 분해능에 대한 저항 분포율(A1)과 PNV 평균 반복 횟수(A2)를 나타낸다. 그래프 B1, B2는 본 발명에서와 같이 양방향으로 프로그램 전류를 변경하여 프로그램을 수행한 경우의 PNV 전류 분해능에 대한 저항 분포율(B1)과 PNV 평균 반복 횟수(B2)를 나타낸다.
저항 분포율(A1, B1) 측면이나 PNV 반복 횟수(A2, B2) 측면에서 본 발명에서와 같이 양방향 프로그램을 수행하는 경우 더욱 우수한 특성을 갖는 것을 확인할 수 있다.
한편, 프로그램 후 검증을 수행할 때, 기준 저항(Rtarget)을 지정된 저항 범위(최저 기준 저항(Rref_L)~최고 기준 저항(Rref_H))로 설정하는 것은 상술한 바 있다.
도 9는 본 발명에 의한 프로그램 방법에서 검증 방법의 일 예를 설명하기 위한 도면이다.
메모리 셀을 특정 저항 상태, 예를 들어 R2 상태로 프로그램하고자 하는 경우를 예로 들어 설명한다. 목표 프로그램 레벨 즉, R2 레벨에 따라 기준 저항은 최저 기준 저항(Rref_L)~최고 기준 저항(Rref_H)으로 설정될 수 있다.
초기 프로그램 전류(I_med)를 인가하여 프로그램을 수행한 후, 프로그램된 셀은 ①과 같은 분포를 가질 수 있다. 따라서, 검증 과정에서 리드된 저항이 최저 기준 저항(Rref_L)~최고 기준 저항(Rref_H) 사이에 있는 메모리 셀들은 패스 처리될 것이다. 아울러, 최저 기준 저항(Rref_L) 보다 낮은 저항 레벨을 갖는 셀들에 대해서는 프로그램 전류를 증가시켜 재 프로그램을 수행하고, 최고 기준 저항(Rref_H)보다 높은 저항 레벨을 갖는 셀들에 대해서는 프로그램 전류를 감소시켜 재 프로그램을 수행하여야 한다.
최저 기준 저항(Rref_L) 보다 낮은 저항 레벨을 갖는 셀들에 대해서는 프로그램 전류를 증가시켜 재 프로그램을 수행한 경우, 해당 셀들의 저항 분포는 ②와 같이 변화될 수 있고, 이러한 과정을 반복하여 셀의 저항 분포는 ③과 같이 될 수 있다.
유사하게, 최고 기준 저항(Rref_H)보다 높은 저항 레벨을 갖는 셀들에 대해서는 프로그램 전류를 감소시켜 재 프로그램을 수행한 경우 해당 셀들의 저항 분포는 ④로 변화되고, PNV가 반복됨에 따라 ⑤와 같이 변화된다.
결국, R2레벨로 프로그램하고자 하는 셀들의 저항 분포는 상기와 같은 방법으로 PNV를 반복함에 따라, ⑥의 상태로부터 ⑦의 상태로 변화되게 된다.
메모리 셀들이 동일한 저항 값을 가질 수 없으므로 상기와 같이 기준 저항을 특정 범위로 설정하여 해당 셀들의 저항값이 기 설정된 기준 저항 범위 내에 포함되도록 PNV를 반복한다. 이때, 초기 프로그램 전류가 허용 가능한 전류 분포 상의 중간값으로 설정되기 때문에, 저저항 상태나 고저항 상태를 갖는 셀들에 대한 PNV 횟수의 증가 없이 고속 프로그램이 가능하게 된다.
도 10은 본 발명의 일 실시예에 의한 비휘발성 메모리 시스템의 구성도이다.
도 10에 도시한 것과 같이, 본 발명에 의한 비휘발성 메모리 시스템(10)은 메모리 셀 어레이(110), 워드라인을 선택하기 위한 X-스위치(120), 비트라인을 선택하기 위한 Y-스위치(130), 전체적인 동작을 제어하는 컨트롤러(140), 전압 제공부(150), 입출력 제어 회로(160) 및 입출력 버퍼(170)를 포함한다.
메모리 셀 어레이(110)는 워드라인과 비트라인 간에 접속되는 복수의 메모리 셀로 이루어지며, 각 메모리 셀은 N-비트(N은 자연수) 데이터 정보를 저장할 수 있다. 아울러, 메모리 셀 어레이(110)를 구성하는 단위 메모리 셀이 상변화 메모리 셀인 경우, 각 메모리 셀은 스위칭 소자 및 저항 소자로 이루어질 수 있다.
X-스위치(120)는 컨트롤러(140)의 제어에 따라 로우 어드레스에 응답하여 복수의 워드라인 중 적어도 하나를 선택하고, Y-스위치(130)는 컨트롤러(140)의 제어에 따라 컬럼 어드레스에 응답하여 복수의 비트라인 중 적어도 하나를 선택한다.
컨트롤러(140)는 외부(호스트)의 명령에 응답하여 비휘발성 메모리 시스템(10)의 전반적인 동작을 제어하며, 전압 제공부(150)는 컨트롤러(140)에 의해 제어되어 X-스위치(120) 및 Y-스위치(130)를 포함하는 주변 회로들의 동작에 필요한 전압을 공급한다.
입출력 제어 회로(160)는 라이트 드라이버 및 센스앰프를 포함하도록 구성되고, 검증용 리드 동작을 위한 센스앰프를 별도로 포함하도록 구성하는 것도 가능하다.
입출력 버퍼(170)는 프로그램 동작시 컨트롤러(140)이 제어에 따라 외부로부터 입력되는 데이터를 임시 저장하였다가 입출력 제어 회로(160)를 통해 메모리 셀 어레이(110)에 데이터가 기록되도록 한다. 아울러, 리드 동작시 컨트롤러(140)의 제어에 따라 메모리 셀 어레이(110)에 저장된 데이터가 입출력 제어 회로(160)를 통해 리드되면 리드 결과를 컨트롤러(140)로 제공한다.
특히, 본 발명에서 컨트롤러(140)는 프로그램 동작시 기 설정된 전류 레벨, 바람직하게는 허용 가능한 전류 분포 상의 중간 레벨 전류를 초기 프로그램 전류로 설정하여 입출력 제어 회로(160)로 제공한다. 그리고, 프로그램 후의 검증 결과를 입출력 버퍼(170)로부터 수신하여 패스 패일 여부와 재 프로그램을 위한 전류의 스캔 방향을 결정한다. 즉, 프로그램 후 리드된 메모리 셀의 저항 레벨이 기준 저항 레벨인 경우에는 해당 메모리 셀을 패스 처리한다. 그리고, 리드된 메모리 셀의 저항 레벨이 기준 저항 레벨보다 낮은 경우, 컨트롤러(140)는 프로그램 전류를 증가시켜 재프로그램이 수행되도록 한다. 만약, 리드된 메모리 셀의 저항 레벨이 기준 저항 레벨보다 높은 경우에는 프로그램 전류를 감소시켜 재프로그램이 수행될 수 있도록 한다.
이와 같이 하여, 단일 방향으로 프로그램 전류를 변화시켜 PNV를 수행하는 경우에 비하여 PNV 반복 횟수를 효과적으로 감소시킬 수 있고, 이에 따라 동작 속도를 향상시킬 수 있음은 물론 전력 소모량 또한 획기적으로 감소시킬 수 있다.
한편, 본 발명에 의한 컨트롤러(140)는 메모리 셀을 저저항 상태, 상변화 메모리 셀의 겨우 결정질 상태로 프로그램하고자 하는 경우에는 제 1 타입의 펄스를 입출력 제어 회로(160)의 라이트 드라이버로 제공하여 프로그램이 수행되도록 하고, 부분 비정질 상태나 비정질 상태 등 그 외 저항 상태로 프로그램하고자 하는 경우에는 제 2 타입 펄스를 라이트 드라이버로 제공하여 프로그램이 수행되도록 한다.
메모리 셀을 저저항 상태(R0)로 프로그램하기 위한 제 1 프로그램 모드에서 제 1 타입의 펄스를 제공하고, 메모리 셀을 저저항 상태 이외의 저항 상태로 프로그램하기 위한 제 2 프로그램 모드에서 제 2 타입의 펄스를 제공하는 것은 컨트롤러(140) 내에 구비된 또는 컨트롤러(140)와 입출력 제어 회로(160) 간에 구비되는 통상의 프로그램 제어 회로를 이용하여 구현 가능하다.
이상에서는 주로 상변화 메모리 장치를 예로 들어 설명하였으나, 본 발명은 이에 한정되는 것은 아니며, 프로그램 및 검증 과정을 통해 프로그램 동작을 수행하는 모든 비휘발성 메모리 장치에 적용 가능함은 물론이다. 특히, 본 발명을 플래시 메모리 장치에 적용하는 경우 초기 목표 레벨은 초기 전류 레벨로 설정되고, 프로그램을 위한 초기값은 허용 가능한 전압 분포 상의 중간 레벨 전압이 될 수 있다. 그리고, 검증 결과 재 프로그램이 필요한 경우 프로그램 전압을 감소시키거나 증가시켜 재프로그램을 수행하도록 한다.
이와 같이, 본 발명이 속하는 기술분야의 당업자는 본 발명이 그 기술적 사상이나 필수적 특징을 변경하지 않고서 다른 구체적인 형태로 실시될 수 있다는 것을 이해할 수 있을 것이다. 그러므로 이상에서 기술한 실시예들은 모든 면에서 예시적인 것이며 한정적인 것이 아닌 것으로서 이해해야만 한다. 본 발명의 범위는 상기 상세한 설명보다는 후술하는 특허청구범위에 의하여 나타내어지며, 특허청구범위의 의미 및 범위 그리고 그 등가개념으로부터 도출되는 모든 변경 또는 변형된 형태가 본 발명의 범위에 포함되는 것으로 해석되어야 한다.
10 : 비휘발성 메모리 시스템
110 : 메모리 셀 어레이
120 : X-스위치
130 : Y-스위치
140 : 컨트롤러
150 : 전압 제공부
160 : 입출력 제어 회로
170 : 입출력 버퍼

Claims (18)

  1. 비휘발성 메모리 셀 어레이;
    상기 비휘발성 메모리 셀 어레이에 대한 프로그램 또는 리드 동작을 제어하는 입출력 제어 회로; 및
    상기 비휘발성 메모리 셀 어레이에 대한 프로그램 모드시, 프로그램을 위한 초기 펄스 레벨을 결정하여 상기 입출력 제어 회로로 제공하고, 상기 입출력 제어 회로의 검증용 리드 결과에 따라 상기 초기 펄스 레벨의 증가 또는 감소 여부를 결정하며, 프로그램 목표 레벨에 따라 제 1 타입 프로그램 펄스 또는 제 2 타입 프로그램 펄스를 인가하는 컨트롤러;
    를 포함하는 비휘발성 메모리 시스템.
  2. 제 1 항에 있어서,
    상기 초기 펄스 레벨은 프로그램을 위해 허용된 펄스의 전류 또는 전압 분포 상의 중간 레벨로 결정되는 비휘발성 메모리 시스템.
  3. 제 1 항에 있어서,
    상기 컨트롤러는 상기 검증용 리드 결과로서의 리드 데이터 레벨과 기 설정된 기준 데이터 레벨을 비교하여, 상기 리드 데이터 레벨이 상기 기준 데이터 레벨보다 낮은 경우 상기 초기 펄스 레벨을 증가시키는 비휘발성 메모리 시스템.
  4. 제 1 항에 있어서,
    상기 컨트롤러는 상기 검증용 리드 결과로서의 리드 데이터 레벨과 기 설정된 기준 데이터 레벨을 비교하여, 상기 리드 데이터 레벨이 상기 기준 데이터 레벨보다 높은 경우 상기 초기 펄스 레벨을 감소시키는 비휘발성 메모리 시스템.
  5. 제 1 항에 있어서,
    상기 컨트롤러는 상기 프로그램 모드를 위한 초기 목표 레벨을 저장하며, 상기 프로그램 모드시 외부로부터 요구되는 프로그램 레벨이 상기 초기 목표 레벨인 경우 상기 제 1 타입 프로그램 펄스를 인가하여 프로그램을 수행하고, 상기 외부로부터 요구되는 프로그램 레벨이 상기 초기 목표 레벨이 아닌 경우 상기 제 2 타입 프로그램 펄스를 인가하여 프로그램을 수행하는 비휘발성 메모리 시스템.
  6. 제 5 항에 있어서,
    상기 비휘발성 메모리 셀 어레이는 상변화 메모리 셀 어레이이며,
    상기 제 1 타입 프로그램 펄스는 슬로우 퀀치 타입 펄스인 비휘발성 메모리 시스템.
  7. 제 6 항에 있어서,
    상기 제 2 타입 프로그램 펄스는 스퀘어 타입 펄스 또는 패스트 퀀치 타입 펄스인 비휘발성 메모리 시스템.
  8. 제 5 항에 있어서,
    상기 컨트롤러는, 상기 제 1 타입 프로그램 펄스를 인가하여 프로그램이 수행되고, 상기 입출력 제어 회로의 검증용 리드 결과에 따라, 상기 검증용 리드 결과가 상기 초기 목표 레벨과 일치하지 않는 경우 패일 처리하는 비휘발성 메모리 시스템.
  9. 컨트롤러 및 상기 컨트롤러에 의해 제어되는 메모리 셀 어레이를 포함하는 비휘발성 메모리 시스템을 위한 프로그램 방법으로서,
    상기 컨트롤러가 프로그램을 위한 초기 펄스 레벨을 설정하는 단계;
    프로그램하고자 하는 메모리 셀의 검증용 리드 결과에 따라, 상기 컨트롤러가 상기 초기 펄스 레벨의 증가 또는 감소 여부를 결정하는 프로그램 펄스 레벨 설정 단계; 및
    프로그램 목표 레벨에 따라 제 1 타입 프로그램 펄스 또는 제 2 타입 프로그램 펄스를 인가하여 프로그램을 수행하는 단계;
    를 포함하는 비휘발성 메모리 시스템을 위한 프로그램 방법.
  10. 제 9 항에 있어서,
    상기 초기 펄스 레벨은 프로그램을 위해 허용된 펄스의 전류 또는 전압 분포 상의 중간 레벨로 결정되는 비휘발성 메모리 시스템을 위한 프로그램 방법.
  11. 제 9 항에 있어서,
    상기 프로그램 펄스 레벨 설정 단계는, 상기 검증용 리드 결과로서의 리드 데이터 레벨과 기 설정된 기준 데이터 레벨을 비교하여, 상기 리드 데이터 레벨이 상기 기준 데이터 레벨보다 낮은 경우 상기 초기 펄스 레벨을 증가시키는 단계인 비휘발성 메모리 시스템을 위한 프로그램 방법.
  12. 제 9 항에 있어서,
    상기 프로그램 펄스 레벨 설정 단계는, 상기 검증용 리드 결과로서의 리드 데이터 레벨과 기 설정된 기준 데이터 레벨을 비교하여, 상기 리드 데이터 레벨이 상기 기준 데이터 레벨보다 높은 경우 상기 초기 펄스 레벨을 감소시키는 단계인 비휘발성 메모리 시스템을 위한 프로그램 방법.
  13. 제 9 항에 있어서,
    상기 컨트롤러가 상기 프로그램 모드를 위한 초기 목표 레벨을 저장하는 단계를 더 포함하고,
    외부로부터 요구되는 프로그램 레벨이 상기 초기 목표 레벨인 경우 상기 제 1 타입 프로그램 펄스를 인가하여 프로그램을 수행하고, 상기 외부로부터 요구되는 프로그램 레벨이 상기 초기 목표 레벨이 아닌 경우 상기 초기 펄스 레벨을 설정 단계로 진행하는 비휘발성 메모리 시스템을 위한 프로그램 방법.
  14. 제 13 항에 있어서,
    상기 외부로부터 요구되는 프로그램 레벨이 상기 초기 목표 레벨이 아닌 경우 상기 프로그램 펄스 레벨 설정 단계 이후, 기 설정된 제 2 타입 프로그램 펄스를 인가하여 프로그램을 수행하는 비휘발성 메모리 시스템을 위한 프로그램 방법.
  15. 제 13 항에 있어서,
    상기 비휘발성 메모리 셀 어레이는 상변화 메모리 셀 어레이이며,
    상기 제 1 타입 프로그램 펄스는 슬로우 퀀치 타입 펄스인 비휘발성 메모리 시스템을 위한 프로그램 방법.
  16. 제 15 항에 있어서,
    상기 제 2 타입 프로그램 펄스는 스퀘어 타입 펄스 또는 패스트 퀀치 타입 펄스인 비휘발성 메모리 시스템을 위한 프로그램 방법.
  17. 제 13 항에 있어서,
    상기 제 1 타입 프로그램 펄스를 인가하여 프로그램이 수행되고, 상기 검증용 리드 결과에 따라, 상기 검증용 리드 결과가 상기 초기 목표 레벨과 일치하지 않는 경우 패일 처리하는 비휘발성 메모리 시스템을 위한 프로그램 방법.
  18. 제 9 항에 있어서,
    상기 초기 펄스 레벨을 설정 후, 프로그램하고자 하는 메모리 셀의 검증용 리드 결과가 기 설정된 기준 데이터 레벨인 경우 패스 처리하는 비휘발성 메모리 시스템을 위한 프로그램 방법.
KR1020110014031A 2011-02-17 2011-02-17 비휘발성 메모리 시스템 및 이를 위한 프로그램 방법 KR20120094644A (ko)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020110014031A KR20120094644A (ko) 2011-02-17 2011-02-17 비휘발성 메모리 시스템 및 이를 위한 프로그램 방법

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020110014031A KR20120094644A (ko) 2011-02-17 2011-02-17 비휘발성 메모리 시스템 및 이를 위한 프로그램 방법

Publications (1)

Publication Number Publication Date
KR20120094644A true KR20120094644A (ko) 2012-08-27

Family

ID=46885452

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020110014031A KR20120094644A (ko) 2011-02-17 2011-02-17 비휘발성 메모리 시스템 및 이를 위한 프로그램 방법

Country Status (1)

Country Link
KR (1) KR20120094644A (ko)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101385637B1 (ko) * 2012-10-31 2014-04-24 성균관대학교산학협력단 반도체 메모리 장치, 프로그램 방법 및 시스템
KR20140100616A (ko) * 2013-02-05 2014-08-18 삼성전자주식회사 비휘발성 메모리 장치 및 그것의 쓰기 방법
US11894038B2 (en) 2020-08-12 2024-02-06 Samsung Electronics Co., Ltd. Memory device which generates improved write voltage according to size of memory cell

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101385637B1 (ko) * 2012-10-31 2014-04-24 성균관대학교산학협력단 반도체 메모리 장치, 프로그램 방법 및 시스템
KR20140100616A (ko) * 2013-02-05 2014-08-18 삼성전자주식회사 비휘발성 메모리 장치 및 그것의 쓰기 방법
US11894038B2 (en) 2020-08-12 2024-02-06 Samsung Electronics Co., Ltd. Memory device which generates improved write voltage according to size of memory cell

Similar Documents

Publication Publication Date Title
US10140027B1 (en) Data transfers with adaptively adjusted polling times
KR100965071B1 (ko) 불휘발성 메모리 장치의 프로그램 방법
KR101222063B1 (ko) 불휘발성 메모리 장치 및 그 동작방법
KR100794311B1 (ko) 프로그램 에러를 차단할 수 있는 멀티 비트 플래시 메모리장치의 프로그램 방법
KR102031742B1 (ko) 불휘발성 메모리 장치 및 그것의 동작 방법
US8482987B2 (en) Method and apparatus for the erase suspend operation
KR101212739B1 (ko) 비휘발성 메모리장치 및 이의 동작방법
US7796434B2 (en) Non-volatile memory device and method of operating the same
KR20080065832A (ko) 프로그램 에러를 감소시킬 수 있는 멀티 비트 플래시메모리 장치의 프로그램 방법
CN111316360A (zh) 存储器装置上的可选修整设置
KR102553264B1 (ko) 메모리 컨트롤러 및 이의 동작 방법
US9324428B1 (en) Memory device and operation method thereof
KR20120094644A (ko) 비휘발성 메모리 시스템 및 이를 위한 프로그램 방법
KR100908662B1 (ko) 불휘발성반도체기억장치
US11307918B2 (en) Memory controller performing recovery operation, operating method of the same, and memory system including the same
KR20200074872A (ko) 에너지 효율적인 pram 어레이 기입 동작을 수행하는 메모리 장치 및 이를 포함하는 메모리 시스템
CN108074612B (zh) 记忆装置、记忆单元及其控制方法
US8654590B2 (en) Nonvolatile memory device performing a program verification with sense signals based on program data of adjacent memory cells and program method thereof
KR20120033511A (ko) 플래시 메모리 장치 및 프로그램 검증 방법
US8854887B2 (en) Nonvolatile memory device and method of programming the same
KR20210111679A (ko) 반도체 메모리 장치 및 판독 방법
US20100226171A1 (en) Method of programming nonvolatile memory device
US20130033919A1 (en) Nonvolatile memory system and program method thereof
CN111863089B (zh) 存储器装置及非易失性存储器的控制方法
US11756645B2 (en) Control circuit, memory system and control method

Legal Events

Date Code Title Description
A201 Request for examination
E902 Notification of reason for refusal
E701 Decision to grant or registration of patent right
NORF Unpaid initial registration fee