KR101087343B1 - 셀당 비트가 변경되는 메모리의 프로그래밍 - Google Patents

셀당 비트가 변경되는 메모리의 프로그래밍 Download PDF

Info

Publication number
KR101087343B1
KR101087343B1 KR1020097026575A KR20097026575A KR101087343B1 KR 101087343 B1 KR101087343 B1 KR 101087343B1 KR 1020097026575 A KR1020097026575 A KR 1020097026575A KR 20097026575 A KR20097026575 A KR 20097026575A KR 101087343 B1 KR101087343 B1 KR 101087343B1
Authority
KR
South Korea
Prior art keywords
memory
cells
cell
bit
read
Prior art date
Application number
KR1020097026575A
Other languages
English (en)
Other versions
KR20100009646A (ko
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 마이크론 테크놀로지, 인크.
Publication of KR20100009646A publication Critical patent/KR20100009646A/ko
Application granted granted Critical
Publication of KR101087343B1 publication Critical patent/KR101087343B1/ko

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C16/00Erasable programmable read-only memories
    • G11C16/02Erasable programmable read-only memories electrically programmable
    • G11C16/06Auxiliary circuits, e.g. for writing into memory
    • G11C16/10Programming or data input circuits
    • G11C16/12Programming voltage switching circuits
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C11/00Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor
    • G11C11/56Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using storage elements with more than two stable states represented by steps, e.g. of voltage, current, phase, frequency
    • G11C11/5621Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using storage elements with more than two stable states represented by steps, e.g. of voltage, current, phase, frequency using charge storage in a floating gate
    • G11C11/5628Programming or writing circuits; Data input circuits
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C11/00Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor
    • G11C11/56Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using storage elements with more than two stable states represented by steps, e.g. of voltage, current, phase, frequency
    • G11C11/5621Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using storage elements with more than two stable states represented by steps, e.g. of voltage, current, phase, frequency using charge storage in a floating gate
    • G11C11/5642Sensing or reading circuits; Data output circuits
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C16/00Erasable programmable read-only memories
    • G11C16/02Erasable programmable read-only memories electrically programmable
    • G11C16/04Erasable programmable read-only memories electrically programmable using variable threshold transistors, e.g. FAMOS
    • G11C16/0483Erasable programmable read-only memories electrically programmable using variable threshold transistors, e.g. FAMOS comprising cells having several storage transistors connected in series
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C29/00Checking stores for correct operation ; Subsequent repair; Testing stores during standby or offline operation
    • G11C29/02Detection or location of defective auxiliary circuits, e.g. defective refresh counters
    • G11C29/021Detection or location of defective auxiliary circuits, e.g. defective refresh counters in voltage or current generators
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C29/00Checking stores for correct operation ; Subsequent repair; Testing stores during standby or offline operation
    • G11C29/02Detection or location of defective auxiliary circuits, e.g. defective refresh counters
    • G11C29/028Detection or location of defective auxiliary circuits, e.g. defective refresh counters with adaption or trimming of parameters
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C16/00Erasable programmable read-only memories
    • G11C16/02Erasable programmable read-only memories electrically programmable
    • G11C16/04Erasable programmable read-only memories electrically programmable using variable threshold transistors, e.g. FAMOS
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C2211/00Indexing scheme relating to digital stores characterized by the use of particular electric or magnetic storage elements; Storage elements therefor
    • G11C2211/56Indexing scheme relating to G11C11/56 and sub-groups for features not covered by these groups
    • G11C2211/564Miscellaneous aspects
    • G11C2211/5641Multilevel memory having cells with different number of storage levels
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C7/00Arrangements for writing information into, or reading information out from, a digital store
    • G11C7/16Storage of analogue signals in digital stores using an arrangement comprising analogue/digital [A/D] converters, digital memories and digital/analogue [D/A] converters 

Abstract

개별적인 비트를 나타내는 데이터 신호들을 통신하는 장치들에 관하여 데이터 전송률을 증가시키는 것을 용이하게 하기 위하여, 2 이상의 비트를 나타내는 아날로그 데이터 신호들을 수신하고 송신하도록 구성되는 메모리 장치들이 제공된다. 컨트롤러 및 판독/기입 채널은, 원하는 레벨의 신뢰도를 달성하기 위하여, 디지털 비트 패턴들을, 특정 비트 용량 레벨로 메모로 어레이에 저장될 아날로그 데이터 신호로 변환한다.
셀당 비트, 메모리 어레이, 문턱 전압, 비트 패턴, 판독/기입 채널

Description

셀당 비트가 변경되는 메모리의 프로그래밍{PROGRAMMING A MEMORY WITH VARYING BITS PER CELL}
본 발명은 일반적으로 반도체 메모리에 관한 것이고, 특히, 본 발명은 고체 상태 비휘발성 메모리 장치들에 관한 것이다.
전자 장치들은 통상 그들에게 이용가능한 소정 타입의 벌크 저장 장치를 갖는다. 공통의 예는 하드 디스크 드라이브(HDD)이다. HDD들은 비교적 낮은 가격에 많은 양의 저장을 할 수 있고, 현재의 소비자 HDD들은 1 테라바이트 이상으로 이용가능하다.
HDD들은 일반적으로 회전하는 자기 미디어 플래터들 상에 데이터를 저장한다. 데이터는 통상 플래터들 상의 자기 플럭스 역전(reversal)들의 패턴으로서 저장된다. 통상의 HDD에 데이터를 기입하기 위해, 플래터가 고속으로 회전하는 동안, 플래터 위에 떠 있는 기입 헤드는 일련의 자기 펄스들을 생성하여, 플래터 상의 자기 입자들을 정렬하여 데이터를 나타낸다. 통상의 HDD로부터 데이터를 판독하기 위해, 고속으로 회전하는 플래터 위에 자기저항성 판독 헤드가 떠 있을 때, 저항 변화들이 자기저항성 판독 헤드 내에 유도된다. 실제로, 결과로서 생기는 데이터 신호는, 그 피크들과 밸리들이 데이터 패턴의 자기 플럭스 역전들의 결과인 아날로그 신호이다. 이어서 부분 응답 최대 유사도(PRML)라고 불리는 디지털 신호 처리 기법들은 아날로그 데이터 신호를 샘플링하여, 데이터 신호 생성을 초래하는 알맞은 데이터 패턴을 결정하는데 사용된다.
HDD들은 그 기계적인 속성으로 인하여 소정의 결점들을 갖는다. HDD들은 데미지에, 또는 충격, 진동 또는 강한 자기장에 기인하는 과도한 판독/기입 에러들에 민감하다. 또한, 이들은 휴대용 전자 장치들에 있어서 비교적 큰 전력의 사용자들이다.
벌크 저장 장치의 다른 예로는 고체 상태 드라이브(SSD)가 있다. SSD들은 회전하는 미디어 상에 데이터를 저장하는 대신에, 반도체 메모리 장치들을 이용하여 데이터를 저장하지만, 자신들의 호스트 시스템에 대하여 이들이 통상의 HDD인 것처럼 나타나도록 만드는 인터페이스 및 폼 팩터를 포함한다. SSD들의 메모리 장치들은 통상 비휘발성 플래시 메모리 장치들이다.
플래시 메모리 장치들은 다양한 범위의 전자 애플리케이션들에 대하여 비휘발성 메모리의 인기 있는 소스로 개발되어 왔다. 플래시 메모리 장치들은 통상, 높은 메모리 밀도, 높은 신뢰도, 및 낮은 전력 소모를 가능하게 하는 원-트랜지스터 메모리 셀을 사용한다. 전하 저장 또는 트래핑 층들 또는 기타 물리적 현상들의 프로그래밍을 통한, 셀들의 문턱 전압의 변경들은 각각의 셀의 데이터 값을 결정한다. 플래시 메모리 및 기타 비휘발성 메모리는 통상 개인용 컴퓨터, PDA(personal digital assistant), 디지털 카메라, 디지털 미디어 플레이어, 디지털 레코더, 게임, 기구(appliance), 차량, 무선 장치, 셀룰러 전화기, 및 착탈식 메모리 모듈에서 사용되고, 비휘발성 메모리의 사용은 계속해서 확장되고 있다.
HDD들과 달리, SSD의 동작은 SSD의 고체 상태 속성으로 인하여 일반적으로 진동, 충격 또는 자기장의 영향을 잘 받지 않는다. 마찬가지로, SSD들은 이동하는 부분들이 없어서, HDD들에 비하여 낮은 전력 요구사항을 갖는다. 그러나, SSD들은 현재 동일한 폼 팩터의 HDD들과 비교하여 아주 적은 저장 용량들을 가지고, 비트당 가격이 매우 높다.
전술한 이유들로 인하여, 그리고 본 명세서를 읽고 이해하면 당업자에게는 자명할 다른 이유들로 인하여, 본 기술분야에서 대체적인 벌크 저장 옵션들에 대한 수요가 존재한다.
도 1은 본 발명의 실시예에 따른 메모리 장치의 간략화된 블록도이다.
도 2는 도 1의 메모리 장치에서 발견될 수 있는 예시적인 NAND 메모리 어레이의 일부의 개략도이다.
도 3은 본 발명의 일 실시예에 따른 고체 상태 벌크 저장 시스템의 개략적인 블록도이다.
도 4는 본 발명의 실시예에 따라 판독/기입 채널에 의해 메모리 장치로부터 수신될 수 있는 데이터 신호를 개념적으로 도시하는 파형의 도면이다.
도 5는 본 발명의 실시예에 따른 전자 시스템의 개략적인 블록도이다.
도 6은 특정 메모리 장치의 신뢰도 특성에 맞추어 컨트롤러 회로를 조정하기 위한 방법의 일 실시예의 흐름도이다.
도 7은 도 6의 방법에 따른 메모리 어레이의 하위 부분의 일 실시예의 블록도이다.
도 8은 원하는 신뢰도에 응답하여 셀당 비트 용량 레벨을 변경함으로써 메모리 장치를 프로그래밍하는 방법의 일 실시예의 흐름도이다.
본 실시예들의 다음의 상세한 설명에서는, 본 명세서의 일부를 형성하고, 도시에 의해 본 실시예들이 실시될 수 있는 특정 실시예들이 도시되는 첨부 도면들에 대해 참조한다. 이들 실시예들은 본 기술 분야의 숙련자들이 본 발명을 실시할 수 있도록 충분히 자세하게 설명되며, 다른 실시예들이 사용될 수도 있다는 것과, 본 발명의 범주에서 벗어나지 않으면서 공정, 전기적 또는 기계적 변경들이 행해질 수 있다는 것이 이해되어야 한다. 따라서, 다음의 상세한 설명은 제한적인 의미로 받아들여져서는 안 되고, 본 발명의 범주는 첨부된 특허청구범위 및 그 등가물에 의해서만 정의된다.
전통적인 고체 상태 메모리 장치들은 데이터를 이진 신호의 형태로 전달한다. 통상, 그라운드 전위는 데이터 비트의 제1 논리 레벨(즉, 제1 비트 레벨), 예컨대, '0' 데이터 값을 나타내고, 공급 전위는 데이터 비트의 제2 논리 레벨(즉, 제2 비트 레벨), 예컨대, '1' 데이터 값을 나타낸다. 다중-레벨 셀(MLC)은, 예를 들어, 각각의 범위가 200mV인 4개의 상이한 문턱 전압(Vt) 범위들에 대하여 할당될 수 있고, 각각의 범위는 별개의 비트 패턴에 대응하며, 그에 의해 4개의 상이한 비 트 레벨을 나타낸다. 통상, 0.2V 내지 0.4V의 데드 스페이스 즉 마진이 각각의 범위 사이에 존재하여 Vt 분포들이 서로 겹치지 않게 한다. 셀의 Vt가 제1 범위 내에 있으면, 셀은 논리 11 상태를 저장하는 것으로 생각될 수 있고, 통상 셀의 소거된 상태라고 고려된다. Vt가 제2 범위 내에 있으면, 셀은 논리 10 상태를 저장하는 것으로 생각될 수 있다. Vt가 제3 범위 내에 있으면, 셀은 논리 00 상태를 저장하는 것으로 생각될 수 있다. Vt가 제4 범위 내에 있으면 셀은 논리 01 상태를 저장하는 것으로 생각될 수 있다.
전술한 바와 같은 전통적인 MLC 장치를 프로그래밍할 때, 셀들은 일반적으로 먼저 블록으로서 소거되어, 소거된 상태에 해당한다. 셀들의 블록의 소거에 이어서, 각각의 셀의 최하위 비트(LSB)가 필요에 따라 먼저 프로그래밍 된다. 예를 들어, LSB가 1이면, 프로그래밍이 필요하지 않지만, LSB가 0이면, 대상 메모리 셀의 Vt는 11 논리 상태에 해당하는 Vt 범위로부터 10 논리 상태에 해당하는 Vt 범위로 이동된다. LSB의 프로그래밍에 이어서, 각각의 셀의 최상위 비트(MSB)가 마찬가지의 방식으로 프로그램 되어, 필요에 따라 Vt를 이동시킨다. 전통적인 메모리 장치의 MLC를 판독할 때, 하나 이상의 판독 동작들이, 셀 전압의 Vt가 일반적으로 어느 범위에 떨어지는지를 판정한다. 예를 들어, 제1 판독 동작은, 대상 메모리 셀의 Vt가 MSB를 1로 표시하는지 또는 0으로 표시하는지 여부를 판정하는 한편, 제2 판독 동작은, 대상 메모리 셀의 Vt가 LSB를 1로 표시하는지 또는 0으로 표시하는지 여부를 판정한다. 그러나 각각의 경우에, 각각의 셀에 얼마나 많은 비트가 저장되어 있는지에 관계없이, 대상 메모리 셀의 판독 동작으로부터 단일 비트가 반환된다. 이러한 다중 프로그램 및 판독 동작들의 문제는 각각의 MLC 상에 더 많은 비트들이 저장됨에 따라 점점 문제가 된다.
도시된 실시예의 메모리 장치들은 메모리 셀들 상에 데이터를 Vt 범위들로서 저장한다. 그러나 전통적인 메모리 장치들과 대조적으로, 셀당 둘 이상의 비트들의 비트 패턴은 분리된 비트들로서가 아니라 완전한 비트 패턴들로서 프로그램 및/또는 판독된다. 예를 들어, 2비트 MLC 장치에서, 셀의 LSB를 프로그래밍하고 이어서 그 셀의 MSB를 프로그래밍하는 대신에, 이 두 비트의 비트 패턴을 나타내는 대상 문턱 전압이 프로그램 될 수 있다. 마찬가지로, 다중 판독 동작들을 이용하여 셀에 저장된 각각의 비트를 판정하는 대신에, 셀의 문턱 전압이 판정되어 셀의 비트 패턴을 나타내는 단일 신호로서 전달될 수 있다. 이러한 접근방법의 장점은 셀당 비트 카운트가 증가할수록 더 중요해진다.
도 1은 본 발명의 실시예에 따른 메모리 장치(101)의 간략화된 블록도이다. 메모리 장치(101)는 행들 및 열들로 배열된 메모리 셀들의 어레이(104)를 포함한다. 다양한 실시예들이 우선적으로 NAND 메모리 어레이들을 참조하여 설명될 것이지만, 다양한 실시예들은 메모리 어레이(104)의 특정 아키텍처에 한정되지 않는다. 본 실시예들에 적절한 기타 어레이 아키텍처들의 일부 예들은 NOR 어레이, AND 어 레이, 및 가상 그라운드 어레이를 포함한다.
행 디코드 회로(108) 및 열 디코드 회로(110)가 구비되어, 메모리 장치(101)에 제공된 어드레스 신호들을 디코딩한다. 어드레스 신호들은 수신되고 디코딩되어 메모리 어레이(104)를 액세스한다. 메모리 장치(101)는 또한, 명령들, 어드레스들 및 데이터의 메모리 장치(101)로의 입력뿐만 아니라 메모리 장치(101)로부터의 데이터 및 상태 정보의 출력도 관리하기 위한 입력/출력(I/O) 제어 회로(112)를 포함한다. 어드레스 레지스터(114)는 I/O 제어 회로(112)와 행 디코드 회로(108) 및 열 디코드 회로(110) 사이에 결합되어 디코딩 전에 어드레스 신호들을 래칭한다. 명령 레지스터(124)는 I/O 제어 회로(112)와 제어 로직(116) 사이에 결합되어 들어오는 명령들을 래칭한다. 제어 로직(116)은 명령들에 응답하여 메모리 어레이(104)에 대한 액세스를 제어하고 외부 프로세서(130)에 대한 상태 정보를 생성한다. 제어 로직(116)은 행 디코드 회로(108) 및 열 디코드 회로(110)에 결합되고, 어드레스들에 응답하여 행 디코드 회로(108) 및 열 디코드 회로(110)를 제어한다.
제어 로직(116)은 또한 샘플 및 홀드 회로(118)에 결합된다. 샘플 및 홀드 회로(118)는 들어오는 또는 나가는 데이터를 아날로그 전압 레벨의 형태로 래칭한다. 예를 들어, 샘플 및 홀드 회로는, 메모리 셀에 기입될 데이터를 나타내는 들어오는 전압 신호 또는 메모리 셀로부터 감지될 문턱 전압을 나타내는 나가는 전압 신호 중 하나를 샘플링하기 위한 캐패시터 또는 그외의 아날로그 저장 장치를 포함할 수 있다. 샘플 및 홀드 회로(118)는 또한 샘플링된 전압의 증폭 및/또는 버퍼링을 더 제공하여, 외부 장치에 더 강한 데이터 신호를 제공할 수 있다.
기입 동작 중에, 메모리 어레이(104)의 대상 메모리 셀들은, 자신들의 Vt 레벨을 나타내는 전압들이 샘플 및 홀드 회로(118)에 보유된 레벨들과 일치할 때까지 프로그램된다. 이러한 것은, 일례로서, 상이한 감지 장치들을 이용하여 보유된 전압 레벨을 대상 메모리 셀의 문턱 전압과 비교할 수 있다. 프로그래밍 펄스들은 대상 메모리 셀에 적용되어, 원하는 값에 도달하거나 원하는 값을 초과할 때까지 자신의 문턱 전압을 증가시킬 수 있다. 판독 동작에서, 대상 메모리 셀의 Vt 레벨들은 외부 프로세서(도 1에 도시되지 않음)에 전달하기 위해 샘플 및 홀드 회로(118)에 전해질 수 있다.
셀들의 문턱 전압들은 다양한 방식으로 판정될 수 있다. 예를 들어, 워드 라인 전압은 대상 메모리 셀이 활성화되는 위치까지 샘플링될 수 있다. 대안적으로, 부스트된 전압은 대상 메모리 셀의 제1 소스/드레인 측에 적용될 수 있고, 문턱 전압은 자신의 제어 게이트 전압과 자신의 다른 소스/드레인 측 사이의 차이로서 취해질 수 있다. 전압을 캐패시터에 결합시킴으로써, 전하는 샘플링된 전압을 저장하는 캐패시터와 공유될 것이다. 샘플링된 전압은 문턱 전압과 같아야할 필요는 없고 단순히 그 전압을 나타내기만 하면 된다는 점에 유의한다. 예를 들어, 메모리 셀의 제1 소스/드레인 측에 부스트된 전압을 적용하는 경우와 공지의 전압을 제어 게이트에 적용하는 경우, 메모리 셀의 제2 소스/드레인 측에서 현상된 전압은, 현상된 전압이 메모리 셀의 문턱 전압을 나타내는 때에 데이터 신호로서 취해질 수 있다.
샘플 및 홀드 회로(118)는 각각의 데이터 값에 대해 캐싱, 즉 다중 저장 위치를 포함할 수 있고, 따라서 메모리 장치(101)는 제1 데이터 값을 외부 프로세서에 전해주는 동안 다음 데이터 값을 판독하거나, 또는 제1 데이터 값을 메모리 어레이(104)에 기입하는 동안 다음 데이터 값을 수신할 수 있다. 상태 레지스터(122)는 I/O 제어 회로(112)와 제어 로직(116)의 사이에 결합되어 외부 프로세서에 출력하기 위한 상태 정보를 래칭할 수 있다.
메모리 장치(101)는 제어 링크(132)를 통해 제어 로직(116)에서 제어 신호들을 수신한다. 제어 신호들은 칩 인에이블 CE#, 명령 래칭 인에이블 CLE, 어드레스 래칭 인에이블 ALE, 및 기입 인에이블 WE#를 포함한다. 메모리 장치(101)는 외부 프로세서로부터 다중 입력/출력(I/O) 버스(134)를 통해 명령(명령 신호의 형태로), 어드레스(어드레스 신호의 형태로), 및 데이터(데이터 신호의 형태로)를 수신하고, 데이터를 I/O 버스(134)를 통해 외부 프로세서에 출력할 수 있다.
구체적인 예에서, 명령들은 I/O 제어 회로(112)에서 I/O 버스(134)의 입력/출력(I/O) 핀들 [0:7]을 통해 수신되고 명령 레지스터(124)에 기입된다. 어드레스들은 I/O 제어 회로(112)에서 버스(134)의 입력/출력(I/O) 핀들 [0:7]을 통해 수신되고 어드레스 레지스터(114)에 기입된다. 데이터는 8개의 병렬 신호들을 수신할 수 있는 장치에 대하여 입력/출력(I/O) 핀들[0:7]을 통해, 또는 16개의 병렬 신호들을 수신할 수 있는 장치에 대하여 입력/출력(I/O) 핀들[0:15]을 통해 I/O 제어 회로(112)에서 수신될 수 있고 샘플 및 홀드 회로(118)에 전달될 수 있다. 데이터는 또한 8개의 병렬 신호들을 수신할 수 있는 장치에 대하여 입력/출력(I/O) 핀 들[0:7]을 통해, 또는 16개의 병렬 신호들을 수신할 수 있는 장치에 대하여 입력/출력(I/O) 핀들[0:15]을 통해 출력될 수 있다. 본 기술분야에서 숙련된 자들이라면 추가의 회로 및 신호들이 제공될 수 있고, 도 1의 메모리 장치는 본 발명의 실시예들에 초점을 맞추는 것을 돕기 위하여 간략화되었다는 것을 이해할 것이다. 또한, 도 1의 메모리 장치는 다양한 신호들의 수신 및 출력에 대한 종래의 관습들에 따라 설명되었지만, 다양한 실시예들은 본 명세서에서 명백하게 기재하지 않는 한, 설명된 특정 신호들 및 I/O 구현들로 한정되지 않는다는 것을 유의해야 한다. 예를 들어, 명령 및 어드레스 신호들은 데이터 신호들을 수신하는 입력들과는 분리된 입력들에서 수신될 수 있거나, 또는 데이터 신호들이 I/O 버스(134)의 단일 I/O 라인을 통해 연속하여 송신될 수 있다. 데이터 신호들은 개별 비트들 대신에 비트 패턴을 나타내기 때문에, 8비트 데이터 신호의 시리얼 통신은 개별 비트들을 나타내는 8개 신호들의 병렬 통신만큼 효율적일 수 있다.
도 2는 도 1의 메모리 어레이(104)에서 발견될 수도 있는 예시적인 NAND 메모리 어레이(200)의 일부의 개략도이다. 도 2에 도시된 바와 같이, 메모리 어레이(200)는 워드 라인들(2021 내지 202N) 및 교차하는 비트 라인들(2041 내지 204M)을 포함한다. 디지털 환경에서의 어드레스(address)를 쉽게 하기 위해서, 워드 라인들(202)의 수 및 비트 라인들(204)의 수는 일반적으로 각각 2의 몇 승(some power of two)이다.
메모리 어레이(200)는 NAND 스트링들(2061 내지 206M)을 포함한다. 각각의 NAND 스트링은 트랜지스터들(2081 내지 208N)을 포함하고, 트랜지스터들의 각각은 워드 라인(202)과 비트 라인(204)의 교차점에 위치한다. 트랜지스터(208)는, 도 2에서 부동 게이트 트랜지스터로서 도시되어 있고, 데이터의 저장을 위한 비휘발성 메모리 셀들을 나타낸다. 각각의 NAND 스트링(206)의 부동 게이트 트랜지스터(208)는, 하나 이상의 소스 선택 게이트(210), 예컨대 FET(field-effect transistor)와 하나 이상의 드레인 선택 게이트(212), 예컨대 FET 사이에서 연속하여 소스 대 드레인 접속되어 있다. 각각의 소스 선택 게이트(210)는 국지적인 비트 라인(204)과 소스 선택 라인(214)의 교차점에 위치하고 있고, 각각의 드레인 선택 게이트(212)는 국지적인 비트 라인(204)과 드레인 선택 라인(215)의 교차점에 위치하고 있다.
각각의 소스 선택 게이트(210)의 소스는 공통 소스 라인(216)에 접속되어 있다. 각각의 소스 선택 게이트(210)의 드레인은, 대응하는 NAND 스트링(206)의 제1 부동 게이트 트랜지스터(208)의 소스에 접속되어 있다. 예를 들어, 소스 선택 게이트(2101)의 드레인은, 대응하는 NAND 스트링(2061)의 부동 게이트 트랜지스터(2081)의 소스에 접속된다. 각각의 소스 선택 게이트(210)의 제어 게이트(222)는 소스 선택 라인(214)에 접속된다. 다중 소스 선택 게이트들(210)이 주어진 NAND 스트링(206)에 대하여 이용된다면, 이들은 공통 소스 라인(216)과 그 NAND 스트링(206)의 제1 부동 게이트 트랜지스터(208) 사이에서 연속하여 결합될 것이다.
각각의 드레인 선택 게이트(212)의 드레인은 드레인 접점(228)에서 대응하는 NAND 스트링에 대하여 국지적인 비트 라인(204)에 접속된다. 예를 들어, 드레인 선택 게이트(2121)의 드레인은 드레인 접점(2281)에서 대응하는 NAND 스트링(2061)에 대하여 국지적인 비트 라인(2041)에 접속된다. 각각의 드레인 선택 게이트(212)의 소스는 대응하는 NAND 스트링(206)에 대하여 마지막 부동 게이트 트랜지스터(208)의 드레인에 접속된다. 예를 들어, 드레인 선택 게이트(2121)의 소스는 대응하는 NAND 스트링(2061)의 부동 게이트 트랜지스터(208N)의 드레인에 접속된다. 다중 드레인 선택 게이트들(212)이 주어진 NAND 스트링(206)에 대하여 이용된다면, 이들은 대응하는 비트 라인(204)과 그 NAND 스트링(206)의 마지막 부동 게이트 트랜지스터(208N) 사이에서 연속하여 결합될 것이다.
부동 게이트 트랜지스터(208)의 통상의 구성은, 도 2에 도시된 바와 같이 소스(230) 및 드레인(232), 플로팅 게이트(234), 및 제어 게이트(236)를 포함한다. 플로팅 게이트 트랜지스터들(208)은 워드 라인(202)에 결합된 자신들의 제어 게이트들(236)을 갖는다. 부동 게이트 트랜지스터들(208)의 열(column)은 소정의 국지적인 비트 라인(204)에 결합된 NAND 스트링들(206)이다. 부동 게이트 트랜지스터들(208)의 행은 소정의 워드 라인(202)에 공통으로 결합된 트랜지스터들이다. NROM, 자기 또는 강유전성 트랜지스터들 및 둘 이상의 문턱 전압 범위들 중 하나를 상정하도록 프로그램될 수 있는 그 밖의 트랜지스터들과 같은, 트랜지스터들(208)의 그외의 형태들이 또한 본 발명의 실시예들과 함께 이용될 수 있다.
다양한 실시예들의 메모리 장치들은 벌크 저장 시스템에서 유익하게 사용될 수 있다. 다양한 실시예들에서, 이러한 벌크 저장 시스템들은 전통적인 HDD들의 동일한 폼 팩터 및 통신 버스 인터페이스를 가질 수 있어서, 다양한 어플리케이션들에서의 드라이브들을 대체할 수 있게 한다. HDD들에 대한 일부 공통의 폼 팩터들은 3.5", 2.5" 및 현재의 개인용 컴퓨터들과 대용량 디지털 미디어 레코더들에서 공통으로 사용되는 PCMCIA(Personal Computer Memory Card International Association) 폼 팩터들뿐만 아니라, 셀룰러 전화기, PDA(personal digital assistant) 및 디지털 미디어 플레이어와 같은 작은 개인용 어플라이언스들에서 공통으로 사용되는 1.8" 및 1"를 포함한다. 일부 공통의 버스 인터페이스들은 USB(universal serial bus), ATA(AT attachment interface)[IDE(integrated drive electronics)라고도 알려짐], SATA(serial ATA), SCSI(small computer system interface) 및 IEEE(Institute of Electrical and Electronics Engineers) 1394 표준을 포함한다. 다양한 폼 팩터들 및 통신 인터페이스들이 열거되었지만, 실시예들은 특정 폼 팩터 또는 통신 표준에 한정되지 않는다. 또한, 실시예들은 HDD 폼 팩터 또는 통신 인터페이스를 따를 필요는 없다. 도 3은 본 발명의 일 실시예에 따른 고체 상태 벌크 저장 시스템(300)의 개략적인 블록도이다.
벌크 저장 시스템(300)은 본 발명의 실시예에 따른 메모리 장치(301), 판독/기입 채널(305) 및 컨트롤러(310)를 포함한다. 판독/기입 채널(305)은 메모리 장치(301)로부터 수신된 데이터 신호들의 아날로그-디지털 변환과, 컨트롤러(310)로부터 수신된 데이터 신호들의 디지털-아날로그 변환을 제공한다. 컨트롤러(310)는 버스 인터페이스(315)를 통해 벌크 저장 시스템(300)과 외부 프로세서(도 3에 도시되지 않음) 사이의 통신을 제공한다. 메모리 장치(301')에 의해 파선으로 도시된 바와 같이, 판독/기입 채널(305)은 하나 이상의 추가적인 메모리 장치들을 서비스할 수 있다는 것에 유의한다. 통신을 위해 하나의 메모리 장치(301)를 선택하는 것은 다중-비트 칩 인에이블 신호 또는 그외의 멀티플렉싱 스킴을 통해 다루어질 수 있다.
메모리 장치(301)는 아날로그 인터페이스(320) 및 디지털 인터페이스(325)를 통해 판독/기입 채널(305)에 결합된다. 아날로그 인터페이스(310)는 메모리 장치(301)와 판독/기입 채널(305) 사이에서 아날로그 데이터 신호를 전달하고, 디지털 인터페이스(325)는 판독/기입 채널(305)로부터 메모리 장치(301)로 제어 신호, 명령 신호 및 어드레스 신호를 전달한다. 디지털 인터페이스(325)는 메모리 장치(301)로부터 판독/기입 채널(305)로 상태 신호를 더 전달할 수 있다. 아날로그 인터페이스(310) 및 디지털 인터페이스(325)는 도 1의 메모리 장치(101)를 참조하여 언급한 바와 같이 신호 라인들을 공유할 수 있다.
판독/기입 채널(305)은 데이터 인터페이스(330) 및 제어 인터페이스(335)와 같은 하나 이상의 인터페이스를 통해 컨트롤러(310)에 결합된다. 데이터 인터페이스(330)는 판독/기입 채널(305)과 컨트롤러(310) 사이에서 디지털 데이터 신호를 전달한다. 제어 인터페이스(335)는 컨트롤러(310)로부터 판독/기입 채널(305)에 제어 신호, 명령 신호 및 어드레스 신호를 전달한다. 제어 인터페이스(335)는 판독/기입 채널(305)로부터 컨트롤러(310)에 상태 신호를 더 전달할 수 있다. 상태 및 명령/제어 신호들은 또한 제어 인터페이스(335)를 디지털 인터페이스(325)에 접속시키는 파선에 의해 도시된 바와 같이, 컨트롤러(310)와 메모리 장치(301) 사이에서 직접 전달될 수도 있다.
2개의 별개의 장치로 도시되었지만, 판독/기입 채널(305)과 컨트롤러(310)의 기능은 하나의 집적회로 장치에 의해 교호적으로 수행될 수 있다. 그리고 메모리 장치(301)를 독립적인 장치로 유지하는 것이 상이한 폼 팩터들과 통신 인터페이스들에 본 실시예들을 적용하는데 있어서 더 많은 유연성을 제공하지만, 이것 또한 집적회로 장치일 수 있기 때문에, 전체의 벌크 저장 시스템(300)은 하나의 집적 회로 장치로서 제조될 수 있다.
판독/기입 채널(305)은 적어도 디지털 데이터 스트림을 아날로그 데이터 스트림으로 변환하고 또한 그 역으로도 변환하도록 구성된 신호 처리기이다.
실제로는, 제어 및 명령 신호들이 메모리 장치(301)의 액세스를 위하여 컨트롤러(310)를 통해 버스 인터페이스(315)에서 수신된다. 어드레스 및 데이터 값은 예컨대, 기입, 판독, 포맷 등의 어느 타입의 액세스가 소망되는지에 따라서 버스 인터페이스(315)에서 또한 수신된다. 공유 버스 시스템에서, 버스 인터페이스(315)는 그 밖의 장치들에 따라서 버스에 결합될 것이다. 통신들을 특정 장치에 보내기 위해서는, 버스 상의 어느 장치가 후속하는 명령에 따라 동작할지는 나타내는 식별값이 버스 상에 배치될 수 있다. 식별값이 벌크 저장 시스템(300)에 의해 취해진 값과 일치하면, 컨트롤러(310)는 버스 인터페이스(315)에서 후속하는 명령을 접수할 것이다. 식별값이 일치하지 않으면, 컨트롤러는 후속하는 통신을 무시 할 것이다. 마찬가지로, 버스 상에서의 충돌을 피하기 위하여, 공유 버스 상의 다양한 장치들은 다른 장치들에게 그들이 버스의 제어를 개별적으로 취하는 동안 밖으로는 통신을 중단할 것을 지시할 수 있다. 버스 공유 및 충돌 회피를 위한 프로토콜들은 잘 알려져 있고 본 명세서에서는 설명되지 않을 것이다. 이어서 컨트롤러(310)는 명령들, 어드레스 및 데이터 신호들을 처리를 위해 판독/기입 채널(305)에 전달한다. 컨트롤러(310)로부터 판독/기입 채널(305)로의 명령, 어드레스 및 데이터 신호들은 버스 인터페이스(315)에서 수신된 신호와 동일한 신호일 필요는 없다는 것에 유의한다. 예를 들어, 버스 인터페이스(315)에 대한 통신 표준은 판독/기입 채널(305) 또는 메모리 장치(301)의 통신 표준과 다를 수 있다. 이러한 상황에서, 컨트롤러(310)는 메모리 장치(301)를 액세스하기 전에 명령들 및/또는 어드레싱 스킴을 번역할 수 있다. 또한, 메모리 장치(301)의 물리적 어드레스들이 주어진 논리 어드레스에 대해서 시간에 따라 변하도록, 컨트롤러(310)는 하나 이상의 메모리 장치 내에서 로드 레벨링(load leveling)을 제공할 수 있다. 따라서, 컨트롤러(310)는 논리 어드레스를 외부 장치로부터 대상 메모리 장치(301)의 물리적 어드레스로 맵핑할 수 있다.
기입 요청에 대하여, 명령 및 어드레스 신호들에 부가하여, 컨트롤러(310)는 디지털 데이터 신호를 판독/기입 채널(305)에 전달할 수 있다. 예를 들어, 16비트 데이터 워드에 대하여, 컨트롤러(310)는 제1 또는 제2 논리 레벨을 갖는 16개의 개별적인 신호들을 전달할 것이다. 이어서 판독/기입 채널(305)은 디지털 데이터 신호들을 디지털 데이터 신호들의 비트 패턴을 나타내는 아날로그 데이터 신호들로 변환할 것이다. 앞선 예시에 이어서, 판독/기입 채널(305)은 디지털-아날로그 변환을 이용하여 16개의 개별적인 디지털 데이터 신호들을, 원하는 16비트 데이터 패턴을 나타내는 포텐셜 레벨을 갖는 하나의 아날로그 신호로 변환할 것이다. 일 실시예에서, 디지털 데이터 신호들의 비트 패턴을 나타내는 아날로그 데이터 신호는, 대상 메모리 셀의 원하는 문턱 전압을 나타낸다. 그러나 원-트랜지스터 메모리 셀의 프로그래밍에 있어서, 이웃하는 메모리 셀들의 프로그래밍이 이전에 프로그램된 메모리 셀들의 문턱 전압을 증가시키는 경우가 종종 있다. 따라서, 다른 실시예에서는, 판독/기입 채널(305)은 문턱 전압에서의 이러한 타입의 예상된 변경들을 고려할 수 있고, 최종 원하는 문턱 전압보다 낮은 문턱 전압을 나타낼 아날로그 데이터 신호를 조정할 수 있다. 컨트롤러(310)로부터의 디지털 데이터 신호들을 변환한 후에, 판독/기입 채널(305)은, 개별적인 메모리 셀들의 프로그래밍에서 사용하기 위한 아날로그 데이터 신호들에 따라서, 기입 명령 및 어드레스 신호들을 메모리 장치(301)에 전달할 것이다. 프로그래밍은 셀-바이-셀(cell-by-cell) 기반으로 발생할 수 있지만, 일반적으로 동작당 데이터(date per operation)의 페이지에 대하여 수행된다. 통상적인 메모리 어레이 구조에 대하여, 데이터의 페이지는 워드 라인에 결합된 그 밖의 모든 메모리 셀을 포함한다.
판독 요청에 대하여, 컨트롤러는 명령 및 어드레스 신호들을 판독/기입 채널(305)에 전달할 것이다. 판독/기입 채널(305)은 판독된 명령 및 어드레스 신호들을 메모리 장치(301)에 전달할 것이다. 이에 응답하여, 판독 동작을 수행한 후에, 메모리 장치(301)는 어드레스 신호들 및 판독 명령에 의해 정의된 메모리 셀들 의 문턱 전압들을 나타내는 아날로그 데이터 신호들을 반환할 것이다. 메모리 장치(301)는 자신의 아날로그 데이터 신호들을 병렬 또는 직렬 방식으로 전달한다.
아날로그 데이터 신호들은 또한 이산 전압 펄스들로서가 아니라, 아날로그 신호들의 실질적으로 연속인 흐름으로서 전달될 수 있다. 이러한 상황에서, 판독/기입 채널(305)은 PRML 즉 부분 응답, 최대 유사도라고 불리는 HDD 액세스에서 사용되는 신호 처리와 유사한 신호 처리를 이용할 수 있다. 전통적인 HDD의 PRML 처리에서, HDD의 판독 헤드는 HDD 플래터의 판독 동작 중에 대면하게 되는 플럭스 역전을 나타내는 아날로그 신호들의 스트림을 출력한다. 판독 헤드에 의해 대면하게 되는 플럭스 역전들에 응답하여 생성된 이러한 아날로그 신호의 진정한 피크와 밸리들을 포착하려고 시도하기보다는, 신호는 주기적으로 샘플링되어 신호 패턴의 디지털 표시를 생성하게 된다. 이어서 이러한 디지털 표시가 해석되어 아날로그 신호 패턴의 생성을 초래하는 플럭스 역전의 알맞은 패턴을 판정할 수 있다. 이 동일한 타입의 처리는 본 발명의 실시예들과 함께 사용될 수 있다. 메모리 장치(301)로부터의 아날로그 신호를 샘플링함으로써, PRML 처리가 이용되어 아날로그 신호의 생성을 초래하는 문턱 전압들의 알맞은 패턴을 판정할 수 있다.
도 4는 본 발명의 실시예에 따라 판독/기입 채널(305)에 의해 메모리 장치(301)로부터 수신될 수 있는 데이터 신호(450)를 개념적으로 도시하는 파형의 도면이다. 데이터 신호(450)는 시간 t1, t2, t3 및 t4에서 파선들로 나타나는 바와 같이 주기적으로 샘플링될 수 있고, 데이터 신호(450)의 디지털 표시는 샘플링된 전압 레벨들의 진폭들로부터 생성될 수 있다. 이 표시의 샘플링 레이트와 정확도 사이에서 타협이 이루어진다. 디지털 표시는 어떠한 유입 전압 레벨이 아마도 아날로그 신호 패턴을 생성할 것인지를 예측하는데 사용될 수 있다. 이어서, 판독되는 개별 메모리 셀들의 알맞은 데이터 값들이 유입 전압 레벨들의 이러한 예상된 패턴으로부터 예측될 수 있다.
메모리 장치(301)로부터 데이터 값들을 판독하는데 있어서 에러들이 발생할 것이라는 것을 인식하면, 판독/기입 채널(305)은 에러 보정을 포함할 수 있다. 에러 보정은 예상되는 에러들로부터 복구하기 위해, HDD뿐만 아니라 메모리 장치들에서도 보통 사용된다. 통상, 메모리 장치는 유저 데이터를 제1 세트의 위치들에 저장하고 에러 보정 코드(ECC)를 제2 세트의 위치들에 저장할 것이다. 판독 동작 중에, 유저 데이터와 ECC 모두가 유저 데이터의 판독 요청에 응답하여 판독된다. 알려진 알고리즘을 사용하면, 판독 동작으로부터 반환되는 유저 데이터는 ECC와 비교된다. 에러들이 ECC의 범위 내에 존재하면, 에러들은 수정될 것이다.
도 5는 본 발명의 실시예에 따른 전자 시스템의 개략적인 블록도이다. 예시적인 전자 시스템들은 개인용 컴퓨터, PDA, 디지털 카메라, 디지털 미디어 플레이어, 디지털 레코더, 전자 게임, 기구, 차량, 무선 장치, 셀룰러 전화기 등을 포함할 수 있다.
전자 시스템은 프로세서(500)의 효율을 증가시키기 위해 캐시 메모리를 포함할 수 있는 호스트 프로세서(500)를 포함한다. 프로세서(500)는 통신 버스(504)에 결합된다. 다양한 그외의 장치들이 프로세서(500)의 제어 하에 통신 버스(504)에 결합될 수 있다. 예를 들어, 전자 시스템은 RAM(random access memory)(506); 키 보드, 터치 패드, 포인팅 장치 등과 같은 하나 이상의 입력 장치(508); 오디오 컨트롤러(510); 비디오 컨트롤러(512); 및 하나 이상의 벌크 저장 시스템(514)을 포함할 수 있다. 적어도 하나의 벌크 저장 시스템(514)은 버스(504)와 통신하기 위한 디지털 버스(515), 본 발명의 실시예에 따라 데이터의 둘 이상의 비트의 비트 패턴을 나타내는 데이터 신호들의 전달을 위한 아날로그 인터페이스를 갖는 하나 이상의 메모리 장치, 및 버스 인터페이스(515)로부터 수신된 디지털 데이터 신호들의 디지털-아날로그 변환과 메모리 장치(들)로부터 수신된 아날로그 데이터 신호들의 아날로그-디지털 변환을 수행하도록 구성된 신호 처리기를 포함한다.
신뢰도 요구사항에 기초하여 셀당 비트를 변경하기
제조 공정 중에 각각의 셀의 구성에 있어서의 작은 차이로 인하여, 비트 저장의 신뢰도는 메모리 어레이에 걸쳐 셀마다 또는 블록마다 변경될 수 있다. 또한, 이러한 변경은 어떠한 2개의 메모리 장치들도 동일한 특성을 공유하지 않도록, 상이한 집적 회로 다이(die)들 사이에서 상이하다.
저장되어 있는 상태의 신뢰도는 메모리 셀에 할당된 문턱 전압 분포(프로그램된 상태에 대응하는 각각의 분포)의 양에 기초하여 상이할 수 있다. 예를 들어, 일부 셀들은 다른 셀들에 비하여 많은 양의 문턱 전압들, 그리고 따라서 더 많은 비트들로 프로그램되고 많은 양의 문턱 전압을 보유할 수 있을 수 있다. 본 발명의 실시예에서, 컨트롤러는 메모리 어레이의 영역의 신뢰도에 맞춰 조정될 수 있고, 이후 조정 표(calibration table)에 기초하여 이들 영역으로 프로그램된 비트 용량 레벨을 변경할 수 있다.
도 6은 메모리 어레이의 영역들의 신뢰도에 맞추어 메모리 컨트롤러를 조정하는 방법의 일 실시예의 흐름도이다. 도 6의 방법을 논의하면서, 도 7의 부분적인 메모리 셀 어레이의 블록도에 대하여 참조가 행해진다.
조정 방법은 전압을 중심 메모리 셀(701)에 기입한다(601). 전압은, 하나의 비트 상태 또는 다중 비트 상태와 같은 프로그램된 상태를 나타내는 문턱 전압이다. 이전에 논한 바와 같이, 문턱 전압은 제어 회로에 의해 생성되고, 메모리 장치에 결합되며, 메모리 장치를 원하는 문턱 전압을 나타내는 디지털 신호로서 제어할 수 있다. 이어서 판독/기입 채널 회로 및/또는 컨트롤러 회로는 디지털 신호에 대하여 디지털-아날로그 변환을 행하여, 원하는 문턱 전압의 아날로그 표시를 생성한다.
다른 아날로그 전압의 의해 표시되는 비트 패턴이 하나 이상의 주변 메모리 셀들(703, 705)에 기입된다(603). 이어서 중심 셀(701)은 판독되어, 주변 전압들의 기입이 중심 셀의 저장된 전압에 영향을 미치는 정도를 판정한다(604). 이어서 이러한 셀들(703, 705) 상의 전압은 변경, 통상은 증가되고(605), 각각의 변경 후에 중심 셀이 판독되어, 중심 셀(701)에 대한 영향을 판정한다(606). 중심 셀(701)의 신뢰도의 표시는 이후의 참조를 위하여 메모리 내의 표에 저장된다(607). 일 실시예에서, 이러한 신뢰도 표시는 주변 셀들의 문턱 전압들의 변경에 의해 야기되는 중심 셀(701)의 평균 문턱 전압 변경을 나타내는 오프셋이다. 예를 들어, 주변 셀들을 프로그래밍하는데 있어서 사용되는 매 5V마다 오프셋은 5mV 변경일 수 있다. 이어서 이러한 오프셋은 이후에 메모리의 해당 영역의 셀들 을 프로그래밍할 때 사용될 수 있다.
중심 셀(701)을 둘러싸는 프로그램된 셀들의 수량 및 배향은 상이한 실시예들에 대하여 변경될 수 있다. 중심 셀(701)에 인접하고 워드 라인 방향의 셀들은 용량성 결합 및 프로그램 혼동의 양쪽에 의해 중심 셀에 영향을 준다. 셀들(701, 703, 705)이 동일한 워드 라인을 공유하기 때문에, 워드 라인을 상이하게, 특히 높은 프로그래밍 전압으로 반복하여 바이어싱(biasing)하는 것은 중심 셀(701)의 문턱 전압에 어느 정도까지 영향을 준다.
비트 라인 방향(710, 711)을 따라 셀들을 프로그래밍하는 것은 용량성 결합에 의해 중심 셀(701)에 대한 문턱 전압에 영향을 준다. 인접한 비트 라인 셀들(710, 711)의 결합은, 높은 전압들이 인접한 셀들(710, 711) 상에 프로그램되기 때문에, 셀들(701, 710, 711) 사이의 결합으로 인해 중심 셀(701)의 문턱 전압을 상승시키는 경향이 있다.
다른 조정 방법의 실시예에서, 문턱 전압 변경에 관한 셀들의 열화량을 판정하기 위하여, 소정의 셀들은 다수의 판독/기입 사이클을 거칠 수 있다. 이러한 실시예에서, 소정의 프로그래밍 전압에 대한 문턱 전압 변경량은 제1 판독/기입 사이클에 대하여 판정된다. 이 초기의 변경은 기준으로서 사용되고, 상이한 수의 판독/기입 사이클 후에, 동일한 프로그래밍 전압에 대하여, 문턱 전압 변경량과 비교된다. 결과적인 신뢰도 표시는 기준 문턱 전압 변경과 소정 수의 판독/기입 사이클 후의 문턱 전압 변경 사이의 오프셋이다.
또 다른 조정 방법의 실시예에서, 1회 판독 동작 후의 초기의 기준 문턱 전 압 변경은, 특정 메모리 셀에 대한 다수의 판독 동작들 후의 문턱 전압 변경과 비교된다. 예를 들어, 1회 판독 동작이 수행되고, 이어서 다음 판독 동작은 1회 판독 동작 이후의 문턱 전압의 기준 이동량을 판정한다. 이어서 다른 100회의 판독 동작들이 동일한 메모리 셀에 대하여 수행된다. 이러한 2개의 문턱 전압 이동들 사이의 차이는 이 조정 실시예에 대한 신뢰도 표시인 오프셋이다.
이들 조정 실시예들은 상기 조건들에 응답하여 메모리 셀의 문턱 전압의 "기준" 예상 변경을 판정한다. 실제 변경이 기준 변경보다 크면, 셀 또는 셀들의 영역의 신뢰도는 감소하고 셀의 비트 용량 레벨은 저장 데이터의 신뢰도를 증가시키기 위해 감소되어야 한다.
도 6 및 도 7에 도시된 조정 방법들은 메모리 어레이의 상이한 영역들의 대표 셀들에 대하여 수행된다. 본 방법들은 전체 메모리 어레이의 임의의 셀들 또는 어레이의 특정 영역들의 임의의 셀들에 대하여 수행될 수 있다. 예를 들어, 본 방법은 어레이의 코너 셀들 및 중심에 있는 셀들에 대하여 수행될 수 있다. 다른 실시예에서, 각각의 메모리 블록의 소정 영역이 검사될 수 있다. 또 다른 실시예에서, 본 방법들은 메모리 어레이의 셀들의 주기적인 간격에서 수행될 수 있다.
조정은 제조 공정 중에 한번 수행되어 신뢰도 표시가 비휘발성 메모리에 저장될 수 있다. 다른 실시예에서, 조정은 메모리 장치의 파워-업 때마다 수행된다.
도 8은 셀의 신뢰도 요구사항들에 기초하여 셀들의 비트 용량 레벨을 변경하는 방법의 흐름도이다. 시스템이 저장되는 데이터의 타입을 판정하거나 또는 사용자가 요구되는 신뢰도의 레벨을 입력할 수 있다(801). 시스템이 프로그램 코드가 저장된다고 판정하면, 이미지가 저장되는 경우보다 낮은 에러율이 필요하다. 많은 경우에서, 프로그램 코드의 비트의 변화는, 이미지의 일부 화소가 사라지는 것보다 더 심각한 결과를 가질 수 있다. 예를 들어, 작은 수의 화소가 사라지는 것은 수백만의 화소를 갖는 화상에서는 주목받지 않겠지만, 프로그램 코드에서의 잘못된 명령은 프로그램의 동작에 영향을 준다.
원하는(예컨대, 필요한) 신뢰도가 일단 알려지면, 셀에 저장될 비트의 양은 필요한 신뢰도에 응답하여 조정된다(803). 일반적으로, 셀에 저장된 비트의 양이 많을수록, 그 셀의 신뢰도는 더 낮아진다. 따라서, 프로그램 코드는 셀당 2비트와 같이 적은 수의 비트를 갖는 셀에 저장될 것이다. 사진은 보다 밀도가 높은 셀당 베트 레벨의 이점을 가질 수 있다.
도 6 및 도 7의 메모리 어레이 신뢰도 조정 실시예를 이용하여, 메모리 어레이의 상이한 영역들의 신뢰도가 셀당 비트의 양에 관련하여 알려져 있다. 이러한 정보는 메모리의 표에 저장되어 있다. 시스템 컨트롤러 또는 기타의 제어 회로는, 일단 원하는 신뢰도가 알려지면, 메모리로부터 이 표를 액세스할 수 있다.
컨트롤러는 원하는 신뢰도와 표로부터의 신뢰도 조정 데이터를 비교하여, 신뢰도 요구사항을 충족시키기 위하여 메모리의 어느 영역들에 데이터가 저장되어야 할지 판정한다(805). 예를 들어, 메모리 어레이의 일 영역이 셀당 2 이상의 데이터 비트를 저장하는데 높은 신뢰도를 갖는다면, 컨트롤러는 이 영역을 화상 데이터를 저장하는데 이용할 수 있다. 이어서 컨트롤러는 이들 셀들에 이러한 데이터를 기입할 때 높은 비트 용량 레벨을 사용할 수 있다.
다른 실시예에서, 컨트롤러가 프로그램 코드를 저장하고 있거나 또는 최상위 신뢰도가 요구된다고 유저가 표시한 경우, 컨트롤러는 표를 액세스하여, 메모리의 어느 영역이 임의의 비트 용량 레벨에서 최상위 신뢰도를 갖는지 판정한다. 이어서 컨트롤러는 표에 의해서 그 특정 영역에 대한 원하는 신뢰도 레벨로 표시되는 비트의 최대량을 이용하여, 최상위 신뢰도 영역에 데이터를 기입한다.
이전의 실시예들에서와 같이, 컨트롤러는, 원하는 데이터 패턴을 저장하는데 필요한 문턱 전압을 나타내는 디지털 비트 패턴 신호를 생성함으로써 데이터를 기입한다. 디지털-아날로그 변환 공정은 이러한 디지털 신호를, 셀에 기입될 원하는 문턱 전압을 나타내는 아날로그 신호로 변환한다.
결론
데이터는 원하는(예컨대 요구되는) 신뢰도에 따라서, 상이한 셀당 비트 용량 레벨들로 저장될 수 있다. 조정 절차는 상이한 비트 용량 레벨들에 응답하여 메모리 어레이의 상이한 영역들의 신뢰도를 판정한다. 이 데이터는, 특정 레벨의 신뢰도가 달성되도록 상이한 타입의 데이터를 메모리 어레이의 어느 영역들에 저장할지를 판정하기 위해, 컨트롤러에 의해 액세스되는 표에 오프셋으로서 저장된다.
특정 실시예들이 본 명세서에서 도시되고 설명되었지만, 본 기술분야의 통상의 기술자들이라면, 동일한 목적을 달성할 것이라고 계산되는 임의의 구성이 도시된 특정 실시예들을 대체할 수 있다는 것을 이해할 것이다. 본 발명의 많은 개조들은 본 기술분야의 통상의 기술자들에게는 명백할 것이다. 따라서, 본 출원은 본 발명의 임의의 개조 또는 변경을 커버하도록 의도된다.

Claims (20)

  1. 컨트롤러에 결합된 메모리 어레이를 갖는 고체 상태 메모리 장치를 프로그래밍하는 방법으로서,
    상기 메모리 어레이에 저장될 데이터에 대하여 신뢰도 레벨을 제공하는 비트 용량 레벨을 판정하는 단계;
    상기 저장될 데이터의 디지털 데이터 신호를 상기 컨트롤러에 송신하는 단계;
    상기 디지털 데이터 신호를, 상기 디지털 데이터 신호를 나타내는 아날로그 데이터 신호로 변환하는 단계; 및
    상기 아날로그 데이터 신호를 상기 비트 용량 레벨로 상기 메모리 어레이에 기입하는 단계
    를 포함하는 방법.
  2. 제1항에 있어서,
    상기 메모리 어레이는 비휘발성 메모리 셀들로 구성되는 방법.
  3. 제1항에 있어서,
    상기 신뢰도 레벨은 상기 비트 용량 레벨이 감소할수록 증가하는 방법.
  4. 제1항에 있어서,
    상기 비트 용량 레벨을 판정하는 단계는, 상기 메모리 어레이의 복수의 영역의 각각에 대한 비트 용량 레벨과 관련하여, 상기 메모리 어레이의 상기 복수의 영역의 각각에 대한 조정된 신뢰도 레벨을 포함하는 표를 메모리로부터 판독하는 단계를 포함하는 방법.
  5. 제1항에 있어서,
    상기 신뢰도 레벨은 사진 데이터의 신뢰도 레벨보다 프로그램 코드 데이터에 대하여 더 높은 방법.
  6. 제5항에 있어서,
    상기 프로그램 코드에 대한 비트 용량 레벨은 상기 사진 데이터에 대한 비트 용량 레벨보다 적은 방법.
  7. 제1항에 있어서,
    상기 메모리 어레이의 복수의 대표 셀들에 대하여, 복수의 신뢰도 레벨을 생성하는 단계 - 각각의 신뢰도 레벨은 대응하는 비트 용량 레벨을 가짐 -;
    상기 데이터의 타입에 응답하여, 수신된 디지털 비트 패턴에 대한 원하는 신뢰도 레벨을 판정하는 단계;
    상기 복수의 신뢰도 레벨 중, 상기 원하는 신뢰도 레벨과 적어도 동일한 신뢰도 레벨을 갖는 대표 셀을 포함하는 메모리 어레이의 영역을 판정하는 단계;
    상기 디지털 비트 패턴을, 상기 비트 패턴을 나타내는 아날로그 데이터 신호로 변환하는 단계; 및
    상기 대응하는 비트 용량 레벨을 이용하여 상기 아날로그 데이터 신호를 상기 메모리 어레이의 영역에 기입하는 단계
    를 더 포함하는 방법.
  8. 제7항에 있어서,
    상기 복수의 비트 용량 레벨을 생성하는 단계는 상기 메모리 장치의 초기 파워-업 시에 이루어지는 방법.
  9. 제7항에 있어서,
    상기 복수의 비트 용량 레벨을 생성하는 단계는 상기 메모리 장치의 제조 공정 중에 한 번 이루어지는 방법.
  10. 제7항에 있어서,
    미리 결정된 셀들은 상기 메모리 어레이의 코너들 및 중심에 위치하는 방법.
  11. 제7항에 있어서,
    미리 결정된 셀들은 상기 메모리 어레이의 셀들의 주기적 간격들에 위치하는 방법.
  12. 제7항에 있어서,
    상기 복수의 신뢰도 레벨을 생성하는 단계는,
    제1 전압을 제1 셀에 기입하는 단계,
    상기 제1 셀에 인접한 복수의 셀을 프로그래밍하는 단계,
    복수의 인접한 셀들의 프로그래밍에 응답하여, 상기 제1 셀의 문턱 전압을 판독하는 단계, 및
    상기 제1 전압으로 유지하기 위한 상기 제1 셀의 신뢰도 레벨의 표시를 생성하는 단계
    를 포함하는 방법.
  13. 제12항에 있어서,
    상기 메모리 어레이의 동일한 워드 라인을 따라서 상기 제1 셀에 인접한 복수의 셀을 프로그래밍하는 단계를 더 포함하는 방법.
  14. 제12항에 있어서,
    상기 메모리 어레이의 동일한 비트 라인을 따라서 상기 제1 셀에 인접한 복수의 셀을 프로그래밍하는 단계를 더 포함하는 방법.
  15. 고체 상태 메모리 장치로서,
    비트 라인들에 결합된 메모리 셀들의 열들(columns) 및 워드 라인들에 결합된 메모리 셀들의 행들(rows)을 갖는 비휘발성 메모리 셀들의 어레이;
    디지털-아날로그 변환 회로 및 아날로그-디지털 변환 회로를 갖는 판독/기입 채널; 및
    상기 비휘발성 메모리 셀들의 어레이에 대한 제어 회로 - 상기 제어 회로는, 메모리 셀들의 상기 어레이에 기입될 데이터에 대한 신뢰도 레벨을 판정하고, 상기 신뢰도 레벨을 제공하는 비트 용량 레벨을 판정하고, 저장될 디지털 비트 패턴을 상기 판독/기입 채널을 통해 아날로그 데이터 신호로 변환하고, 상기 아날로그 데이터 신호를 상기 비트 용량 레벨로 상기 메모리 어레이에 기입함으로써 상기 메모리 셀들을 프로그램하도록 구성됨 -
    를 포함하는 고체 상태 메모리 장치.
  16. 제15항에 있어서,
    상기 제어 회로 및 상기 판독/기입 채널은, 프로그래밍되어 있는 상기 메모리 셀들로부터 아날로그 데이터 신호들을 판독하고, 상기 판독된 아날로그 데이터 신호들을 나타내는 디지털 문턱 전압 신호들을 생성하도록 더 구성되는 고체 상태 메모리 장치.
  17. 제15항에 있어서,
    상기 비휘발성 메모리 셀들의 어레이는 NAND 아키텍처로 구성되는 고체 상태 메모리 장치.
  18. 제15항에 있어서,
    상기 제어 회로는, 제1 문턱 전압을 제1 셀에 프로그램하고, 상기 제1 셀에 인접한 복수의 셀을 제2 문턱 전압으로 프로그램하고, 상기 제2 문턱 전압에 의해 상기 제1 문턱 전압에 대한 영향을 판정하기 위해 상기 제1 셀을 판독하고, 상기 제1 문턱 전압에 대한 영향에 응답하여 상기 제1 셀의 신뢰도 레벨의 표시를 생성하도록 더 구성되는 고체 상태 메모리 장치.
  19. 제15항에 있어서,
    상기 아날로그 데이터 신호는 완전한 비트 패턴을 나타내는 고체 상태 메모리 장치.
  20. 제15항에 있어서,
    제어 회로는 완전한 비트 패턴을 나타내는 아날로그 데이터 신호를 판독하도록 더 구성되는 고체 상태 메모리 장치.
KR1020097026575A 2007-06-19 2008-06-11 셀당 비트가 변경되는 메모리의 프로그래밍 KR101087343B1 (ko)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US11/765,062 US7460398B1 (en) 2007-06-19 2007-06-19 Programming a memory with varying bits per cell
US11/765,062 2007-06-19
PCT/US2008/066465 WO2008157141A1 (en) 2007-06-19 2008-06-11 Programming a memory with varying bits per cell

Publications (2)

Publication Number Publication Date
KR20100009646A KR20100009646A (ko) 2010-01-28
KR101087343B1 true KR101087343B1 (ko) 2011-11-25

Family

ID=40073811

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020097026575A KR101087343B1 (ko) 2007-06-19 2008-06-11 셀당 비트가 변경되는 메모리의 프로그래밍

Country Status (7)

Country Link
US (3) US7460398B1 (ko)
EP (2) EP2631915B1 (ko)
JP (1) JP2010530595A (ko)
KR (1) KR101087343B1 (ko)
CN (2) CN103985412B (ko)
TW (1) TWI369681B (ko)
WO (1) WO2008157141A1 (ko)

Families Citing this family (25)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8006166B2 (en) 2007-06-12 2011-08-23 Micron Technology, Inc. Programming error correction code into a solid state memory device with varying bits per cell
US7460398B1 (en) * 2007-06-19 2008-12-02 Micron Technology, Inc. Programming a memory with varying bits per cell
US7817467B2 (en) 2007-09-07 2010-10-19 Micron Technology, Inc. Memory controller self-calibration for removing systemic influence
US7593284B2 (en) * 2007-10-17 2009-09-22 Unity Semiconductor Corporation Memory emulation using resistivity-sensitive memory
US7751221B2 (en) * 2007-12-21 2010-07-06 Unity Semiconductor Corporation Media player with non-volatile memory
US7990762B2 (en) * 2008-02-06 2011-08-02 Unity Semiconductor Corporation Integrated circuits to control access to multiple layers of memory
EP2592553B1 (en) * 2008-03-11 2015-11-18 Agere Systems, Inc. Methods and apparatus for storing data in a multi-level cell flash memory device with cross-page sectors, multi-page coding and per-page coding
US7864587B2 (en) 2008-09-22 2011-01-04 Micron Technology, Inc. Programming a memory device to increase data reliability
US8407400B2 (en) 2008-11-12 2013-03-26 Micron Technology, Inc. Dynamic SLC/MLC blocks allocations for non-volatile memory
US7916533B2 (en) * 2009-06-24 2011-03-29 Sandisk Corporation Forecasting program disturb in memory by detecting natural threshold voltage distribution
US20110051519A1 (en) * 2009-09-03 2011-03-03 Aplus Flash Technology, Inc. Novel NAND-based hybrid NVM design that integrates NAND and NOR in 1-die with serial interface
US8775719B2 (en) * 2009-09-21 2014-07-08 Aplus Flash Technology, Inc. NAND-based hybrid NVM design that integrates NAND and NOR in 1-die with parallel interface
US8996785B2 (en) * 2009-09-21 2015-03-31 Aplus Flash Technology, Inc. NAND-based hybrid NVM design that integrates NAND and NOR in 1-die with serial interface
US8595597B2 (en) * 2011-03-03 2013-11-26 Intel Corporation Adjustable programming speed for NAND memory devices
US8671240B2 (en) 2011-07-18 2014-03-11 Memory Technologies Llc User selectable balance between density and reliability
US9030870B2 (en) 2011-08-26 2015-05-12 Micron Technology, Inc. Threshold voltage compensation in a multilevel memory
US9076547B2 (en) * 2012-04-05 2015-07-07 Micron Technology, Inc. Level compensation in multilevel memory
US8804452B2 (en) 2012-07-31 2014-08-12 Micron Technology, Inc. Data interleaving module
US9171629B1 (en) * 2014-04-28 2015-10-27 Kabushiki Kaisha Toshiba Storage device, memory controller and memory control method
US9582201B2 (en) * 2014-09-26 2017-02-28 Western Digital Technologies, Inc. Multi-tier scheme for logical storage management
US9690656B2 (en) * 2015-02-27 2017-06-27 Microsoft Technology Licensing, Llc Data encoding on single-level and variable multi-level cell storage
US9786386B2 (en) * 2015-02-27 2017-10-10 Microsoft Technology Licensing, Llc Dynamic approximate storage for custom applications
JP2020107376A (ja) * 2018-12-27 2020-07-09 キオクシア株式会社 メモリシステム
US11081168B2 (en) 2019-05-23 2021-08-03 Hefei Reliance Memory Limited Mixed digital-analog memory devices and circuits for secure storage and computing
CN116469447B (zh) * 2022-02-18 2024-04-09 武汉置富半导体技术有限公司 一种基于动态规划的存储单元可靠性等级确定方法及装置

Family Cites Families (31)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4890259A (en) * 1988-07-13 1989-12-26 Information Storage Devices High density integrated circuit analog signal recording and playback system
US5237689A (en) 1990-05-31 1993-08-17 Hewlett-Packard Company Configuration of mass storage devices
US5386132A (en) * 1992-11-02 1995-01-31 Wong; Chun C. D. Multimedia storage system with highly compact memory device
US5694356A (en) * 1994-11-02 1997-12-02 Invoice Technology, Inc. High resolution analog storage EPROM and flash EPROM
US5973956A (en) * 1995-07-31 1999-10-26 Information Storage Devices, Inc. Non-volatile electrically alterable semiconductor memory for analog and digital storage
KR100239870B1 (ko) * 1995-09-28 2000-03-02 다카노 야스아키 기억 분해능을 가변할 수 있는 불휘발성 다치 메모리 장치
JP3200012B2 (ja) * 1996-04-19 2001-08-20 株式会社東芝 記憶システム
GB2315887B (en) 1996-07-27 2000-07-05 Motorola Gmbh Method and apparatus for re-programming memory device
US5764568A (en) * 1996-10-24 1998-06-09 Micron Quantum Devices, Inc. Method for performing analog over-program and under-program detection for a multistate memory cell
US5768287A (en) * 1996-10-24 1998-06-16 Micron Quantum Devices, Inc. Apparatus and method for programming multistate memory device
US6349395B2 (en) 1997-09-17 2002-02-19 Kabushiki Kaisha Toshiba Configurable integrated circuit and method of testing the same
US5969986A (en) * 1998-06-23 1999-10-19 Invox Technology High-bandwidth read and write architectures for non-volatile memories
US6542909B1 (en) 1998-06-30 2003-04-01 Emc Corporation System for determining mapping of logical objects in a computer system
US6044004A (en) * 1998-12-22 2000-03-28 Stmicroelectronics, Inc. Memory integrated circuit for storing digital and analog data and method
US6536038B1 (en) 1999-11-29 2003-03-18 Intel Corporation Dynamic update of non-upgradeable memory
US6640262B1 (en) 1999-12-20 2003-10-28 3Com Corporation Method and apparatus for automatically configuring a configurable integrated circuit
JP4299428B2 (ja) 2000-01-19 2009-07-22 三星電子株式会社 可変容量半導体記憶装置
JP4282197B2 (ja) * 2000-01-24 2009-06-17 株式会社ルネサステクノロジ 不揮発性半導体記憶装置
US6363008B1 (en) 2000-02-17 2002-03-26 Multi Level Memory Technology Multi-bit-cell non-volatile memory with maximized data capacity
US6297988B1 (en) 2000-02-25 2001-10-02 Advanced Micro Devices, Inc. Mode indicator for multi-level memory
US6662285B1 (en) 2001-01-09 2003-12-09 Xilinx, Inc. User configurable memory system having local and global memory blocks
US6466476B1 (en) 2001-01-18 2002-10-15 Multi Level Memory Technology Data coding for multi-bit-per-cell memories having variable numbers of bits per memory cell
US6717847B2 (en) * 2001-09-17 2004-04-06 Sandisk Corporation Selective operation of a multi-state non-volatile memory system in a binary mode
US7535759B2 (en) 2004-06-04 2009-05-19 Micron Technology, Inc. Memory system with user configurable density/performance option
US8082382B2 (en) 2004-06-04 2011-12-20 Micron Technology, Inc. Memory device with user configurable density/performance
KR100621631B1 (ko) * 2005-01-11 2006-09-13 삼성전자주식회사 반도체 디스크 제어 장치
KR100703806B1 (ko) * 2006-02-16 2007-04-09 삼성전자주식회사 비휘발성 메모리, 이를 위한 데이터 유효성을 판단하는장치 및 방법
US7639542B2 (en) * 2006-05-15 2009-12-29 Apple Inc. Maintenance operations for multi-level data storage cells
JP4945183B2 (ja) * 2006-07-14 2012-06-06 株式会社東芝 メモリコントローラ
US7646636B2 (en) * 2007-02-16 2010-01-12 Mosaid Technologies Incorporated Non-volatile memory with dynamic multi-mode operation
US7460398B1 (en) * 2007-06-19 2008-12-02 Micron Technology, Inc. Programming a memory with varying bits per cell

Also Published As

Publication number Publication date
US7729167B2 (en) 2010-06-01
EP2158543A4 (en) 2010-07-21
TWI369681B (en) 2012-08-01
EP2631915A2 (en) 2013-08-28
EP2158543B1 (en) 2013-05-15
CN103985412B (zh) 2017-12-22
TW200910347A (en) 2009-03-01
US7460398B1 (en) 2008-12-02
US20090067240A1 (en) 2009-03-12
KR20100009646A (ko) 2010-01-28
JP2010530595A (ja) 2010-09-09
EP2631915A3 (en) 2013-11-27
US20100246261A1 (en) 2010-09-30
EP2158543A1 (en) 2010-03-03
US20080316812A1 (en) 2008-12-25
CN101689134B (zh) 2014-07-02
EP2631915B1 (en) 2015-11-25
WO2008157141A1 (en) 2008-12-24
CN101689134A (zh) 2010-03-31
US8102706B2 (en) 2012-01-24
CN103985412A (zh) 2014-08-13

Similar Documents

Publication Publication Date Title
KR101087343B1 (ko) 셀당 비트가 변경되는 메모리의 프로그래밍
US8693246B2 (en) Memory controller self-calibration for removing systemic influence
US8995182B2 (en) Coarse and fine programming in a solid state memory
US8797796B2 (en) Cell operation monitoring
US8179725B2 (en) Programming rate identification and control in a solid state memory
US7916536B2 (en) Programming based on controller performance requirements

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
GRNT Written decision to grant
FPAY Annual fee payment

Payment date: 20141103

Year of fee payment: 4

FPAY Annual fee payment

Payment date: 20151016

Year of fee payment: 5

FPAY Annual fee payment

Payment date: 20161019

Year of fee payment: 6

FPAY Annual fee payment

Payment date: 20171018

Year of fee payment: 7

FPAY Annual fee payment

Payment date: 20181030

Year of fee payment: 8