KR20080083474A - 플래시 메모리를 기반으로 한 메모리 시스템 - Google Patents
플래시 메모리를 기반으로 한 메모리 시스템 Download PDFInfo
- Publication number
- KR20080083474A KR20080083474A KR1020070024090A KR20070024090A KR20080083474A KR 20080083474 A KR20080083474 A KR 20080083474A KR 1020070024090 A KR1020070024090 A KR 1020070024090A KR 20070024090 A KR20070024090 A KR 20070024090A KR 20080083474 A KR20080083474 A KR 20080083474A
- Authority
- KR
- South Korea
- Prior art keywords
- information
- program operation
- data
- copyback
- flash memory
- Prior art date
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F12/00—Accessing, addressing or allocating within memory systems or architectures
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C16/00—Erasable programmable read-only memories
- G11C16/02—Erasable programmable read-only memories electrically programmable
- G11C16/06—Auxiliary circuits, e.g. for writing into memory
- G11C16/10—Programming or data input circuits
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/07—Responding to the occurrence of a fault, e.g. fault tolerance
- G06F11/08—Error detection or correction by redundancy in data representation, e.g. by using checking codes
- G06F11/10—Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's
- G06F11/1008—Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's in individual solid state devices
- G06F11/1068—Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's in individual solid state devices in sector programmable memories, e.g. flash disk
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F12/00—Accessing, addressing or allocating within memory systems or architectures
- G06F12/02—Addressing or allocation; Relocation
- G06F12/0223—User address space allocation, e.g. contiguous or non contiguous base addressing
- G06F12/023—Free address space management
- G06F12/0238—Memory management in non-volatile memory, e.g. resistive RAM or ferroelectric memory
- G06F12/0246—Memory management in non-volatile memory, e.g. resistive RAM or ferroelectric memory in block erasable memory, e.g. flash memory
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Quality & Reliability (AREA)
- Software Systems (AREA)
- Techniques For Improving Reliability Of Storages (AREA)
- Read Only Memory (AREA)
- Memory System (AREA)
Abstract
여기에 제공되는 메모리 시스템은 플래시 메모리와; 중앙처리장치와; 그리고 카피백 프로그램 동작시 상기 중앙처리장치에 의해서 설정되는 어드레스 및 제어 레지스터들을 구비하며, 펌웨어의 개입없이 상기 레지스터들에 저장된 정보에 따라 상기 플래시 메모리의 카피백 프로그램 동작을 하드웨어적으로 제어하는 플래시 컨트롤러를 포함한다.
Description
도 1은 본 발명에 따른 플래시 메모리를 기반으로 한 메모리 시스템을 개략적으로 보여주는 블록도이다.
도 2는 도 1에 도시된 어드레스 레지스터를 보여주는 도면이다.
도 3은 도 1에 도시된 제어 레지스터를 보여주는 도면이다.
도 4는 본 발명에 따른 메모리 시스템의 카피백 프로그램 동작을 설명하기 위한 타이밍도이다.
도 5는 본 발명에 따른 메모리 시스템의 카피백 프로그램 동작시 데이터 흐름을 보여주는 도면이다.
도 6은 본 발명에 따른 메모리 시스템의 카피백 프로그램 동작을 설명하기 위한 타이밍도이다.
도 7은 본 발명에 따른 메모리 시스템의 카피백 프로그램 동작시 데이터 흐름을 보여주는 도면이다.
도 8은 카피백 프로그램 동작시 수행하는 에러 검출 및 정정 동작을 설명하기 위한 도면이다.
도 9는 본 발명에 따른 메모리 시스템의 2-플랜 카피백 프로그램 동작을 설 명하기 위한 도면이다.
도 10은 본 발명에 따른 메모리 시스템의 2-플랜 카피백 프로그램 동작의 다른 실시예를 설명하기 위한 도면이다.
도 11은 본 발명의 다른 실시예에 따른 플래시 메모리를 개략적으로 보여주는 블록도이다.
도 12 내지 도 13은 도 11에 도시된 플래시 메모리 장치에 반복 명령 및 반복 데이터를 제공하는 방법들을 설명하기 위한 도면들이다.
* 도면의 주요 부분에 대한 부호 설명 *
100: 플래시 메모리 200: 플래시 컨트롤러
210, 400: 램 220: 어드레스 레지스터
230: 제어 레지스터 240: ECC
250: 스테이트 머신 300: 중앙처리장치
본 발명은 저장 장치에 관한 것으로, 좀 더 구체적으로는 플래시 메모리를 기반으로 한 메모리 시스템에 관한 것이다.
반도체 메모리 장치는 데이터의 읽기/쓰기를 자유롭게 할 수 있지만 전원을 끊으면 내용이 사라져 버리는 RAM과, 한번 쓴 내용은 삭제되지 않지만 전원을 끊더라도 내용이 사라지지 않는 ROM을 포함하며, 플래시 메모리 장치는 양쪽의 요소들 을 겸비한 메모리이다. 플래쉬 메모리 장치를 카드형으로 패키지 한 것은 메모리 카드(또는 플래시 메모리 카드)라 불리며, 디지털 카메라나 휴대용 뮤직 플레이어 등 디지털 기기의 기억매체로서 급속히 보급되고 있다. 또한, 플래시 메모리 장치의 패키지에 USB 커넥터를 부착한 USB 메모리는 플로피디스크를 대신하는 PC용의 간편한 데이터 교환용 미디어로서 기대 받고 있다. 최근에는 PC의 마더보드 상에 플래시 메모리 장치를 장착하여, BIOS 기억용으로 사용 하는 예도 있다.
플래시 메모리의 용량이 증가함에 따라, 플래시 메모리를 기반으로 한 메모리 시스템(예를 들면, 메모리 카드)의 성능은 플래시 메모리를 관리하는 데 필요한 동작들에 의해서 제한되고 있다. 예를 들면, 플래시 메모리는 카피백 프로그램 동작, 머지 동작, 등을 필요로 한다. 카피백 프로그램 동작이란 임의의 페이지의 데이터를 다른 페이지로 복사하는 동작을 의미하고, 머지 동작은 임의의 메모리 블록에 속하는 유효한 페이지들의 데이터를 다른 메모리 블록으로 복사하는 동작을 의미한다. 이러한 동작들은 일련의 명령, 어드레스, 그리고 데이터의 생성을 필요로 하며, 이는 펌웨어의 제어하에 행해질 것이다. 잘 알려진 바와 같이, 펌웨어의 개입 시간이 증가하면 할 수록 메모리 시스템의 성능은 더욱 저하될 것이다.
본 발명의 목적은 동작 성능을 향상시킬 수 있는 플래시 메모리를 기반으로 한 메모리 시스템을 제공하는 것이다.
본 발명의 다른 목적은 하드웨어를 통해 카피백 동작을 제어할 수 있는 플래시 메모리를 기반으로 한 메모리 시스템을 제공하는 것이다.
본 발명의 예시적인 실시예들은 플래시 메모리와; 중앙처리장치와; 그리고 카피백 프로그램 동작시 상기 중앙처리장치에 의해서 설정되는 어드레스 및 제어 레지스터들을 구비하며, 펌웨어의 개입없이 상기 레지스터들에 저장된 정보에 따라 상기 플래시 메모리의 카피백 프로그램 동작을 하드웨어적으로 제어하는 플래시 컨트롤러를 포함하는 메모리 시스템을 제공할 것이다.
예시적인 실시예에 있어서, 상기 플래시 컨트롤러는 상기 플래시 메모리의 카피백 프로그램 동작이 종료되었는 지의 여부를 인터럽트를 통해 상기 중앙처리장치에 알려준다.
예시적인 실시예에 있어서, 상기 플래시 컨트롤러는 상기 카피백 프로그램 동작 동안 일련의 명령, 어드레스, 그리고 데이터를 펌웨어의 개입없이 생성하도록 구성된다.
예시적인 실시예에 있어서, 상기 플래시 컨트롤러는 상기 카피백 프로그램 동작 동안 소오스 데이터에 대한 에러 정정 및 검출 동작을 수행하도록 구성된다.
예시적인 실시예에 있어서, 상기 소오스 데이터로부터 에러가 검출되지 않을 때, 상기 플래시 컨트롤러는 상기 어드레스 레지스터에 설정된 정보에 따라 목적지 어드레스 및 명령을 상기 플래시 메모리로 출력한다.
예시적인 실시예에 있어서, 상기 소오스 데이터로부터 에러가 검출될 때, 상기 플래시 컨트롤러는 에러-정정된 데이터와 함께 상기 어드레스 레지스터에 설정된 정보에 따라 목적지 어드레스 및 명령을 상기 플래시 메모리로 출력한다.
예시적인 실시예에 있어서, 상기 플래시 컨트롤러는 상기 제어 레지스터에 설정된 정보에 따라 상기 플래시 메모리의 카피백 프로그램 동작을 반복적으로 수행한다.
예시적인 실시예에 있어서, 상기 카피백 프로그램 동작 동안 상기 플래시 메모리의 동일 플랜에서 페이지 데이터가 복사된다.
예시적인 실시예에 있어서, 상기 카피백 프로그램 동작 동안 상기 플래시 메모리의 상이한 플랜들에서 페이지 데이터가 동시에 복사된다.
예시적인 실시예에 있어서, 상기 카피백 프로그램 동작 동안 상기 플래시 메모리의 제 1 플랜에서 제 2 플랜으로 페이지 데이터가 복사된다.
예시적인 실시예에 있어서, 상기 제어 레지스터는 하드웨어 카피백 프로그램 개시 정보, 인터럽트 인에이블 정보, 인터럽트 상태 정보, ECC 자동 정정 정보, 하드웨어 카피백 반복 횟수 정보, 소오스 어드레스 증가/감소 정보, 목적지 어드레스 증가/감소 정보, 그리고 플랜 선택 정보와 같은 제어 정보를 포함한다.
예시적인 실시예에 있어서, 상기 플래시 컨트롤러는 상기 제어 레지스터의 하드웨어 카피백 프로그램 개시 정보가 설정될 때 상기 카피백 프로그램 동작을 제어한다.
예시적인 실시예에 있어서, 상기 플래시 컨트롤러는 상기 하드웨어 카피백 반복 횟수 정보, 상기 소오스 어드레스 증가/감소 정보, 그리고 목적지 어드레스 증가/감소 정보에 따라 카피백 프로그램 동작을 반복적으로 수행한다.
예시적인 실시예에 있어서, 메모리 시스템은 상기 플래시 메모리에 저장될 데이터를 임시 저장하는 제 1 램을 더 포함한다.
예시적인 실시예에 있어서, 상기 플래시 컨트롤러, 상기 중앙처리장치, 그리고 상기 제 1 램은 시스템 버스에 전기적으로 연결된다.
예시적인 실시예에 있어서, 상기 플래시 컨트롤러는 상기 카피백 프로그램 동작시 상기 플래시 메모리로부터 읽혀진 소오스 데이터를 임시 저장하도록 구성된 제 2 램과; 상기 소오스 데이터에 대한 에러를 검출 및 정정하도록 구성된 에러 검출 정정 회로와; 그리고 상기 어드레스 및 제어 레지스터들에 설정된 정보에 따라 상기 카피백 프로그램 동작에 필요한 일련의 명령 및 어드레스를 생성하도록 구성된 스테이트 머신을 더 포함한다.
예시적인 실시예에 있어서, 상기 제 2 램은 상기 시스템 버스와 전기적으로 분리된다.
예시적인 실시예에 있어서, 상기 메모리 시스템은 메모리 카드를 포함한다.
본 발명의 다른 예시적인 실시예들은 복수의 페이지들을 포함하는 메모리 셀 어레이와; 상기 메모리 셀 어레이에 대한 읽기 및 프로그램 동작들을 수행하도록 구성된 읽기/프로그램 회로와; 반복 데이터를 저장하도록 구성된 반복 레지스터와; 그리고 상기 반복 레지스터에 저장된 상기 반복 데이터에 따라 카피백 프로그램 동작을 반복적으로 수행하도록 상기 읽기/프로그램 회로를 제어하는 제어 로직을 포함하는 플래시 메모리 장치를 제공할 것이다.
예시적인 실시예에 있어서, 상기 반복 데이터는 상기 카피백 반복 횟수 정보, 상기 소오스 어드레스 증가/감소 정보, 그리고 상기 목적지 어드레스 증가/감 소 정보를 포함한다.
예시적인 실시예에 있어서, 상기 반복 레지스터는 소오스 페이지에 대한 읽기 동작이 수행 이전에 반복 명령과 함께 입력되는 상기 반복 데이터로 설정된다.
예시적인 실시예에 있어서, 상기 반복 레지스터는 소오스 페이지에 대한 읽기 동작이 수행된 후 목적지 어드레스에 대한 프로그램 동작이 수행되기 이전에 반복 명령과 함께 입력되는 상기 반복 데이터로 설정된다.
예시적인 실시예에 있어서, 상기 반복 레지스터는 상기 반복 데이터를 저장하도록 구성된 불 휘발성 저장 회로로 구성된다.
예시적인 실시예에 있어서, 반복 명령이 입력될 때, 상기 제어 로직은 카피백 프로그램 동작을 반복적으로 수행하도록 상기 반복 레지스터에 저장된 상기 반복 데이터에 따라 상기 읽기/프로그램 회로를 제어한다.
예시적인 실시예에 있어서, 상기 반복 명령은 소오스 페이지에 대한 읽기 동작이 수행 이전에 입력된다.
예시적인 실시예에 있어서, 상기 반복 명령은 소오스 페이지에 대한 읽기 동작이 수행된 후 그리고 목적지 어드레스에 대한 프로그램 동작이 수행되기 이전에 입력된다.
예시적인 실시예에 있어서, 상기 반복 명령은 소오스 어드레스의 입력을 나타내는 명령들과 목적지 어드레스의 입력을 나타내는 명령들 중 어느 하나이다.
예시적인 실시예에 있어서, 상기 반복 데이터는 소오스 어드레스의 입력을 나타내는 명령들과 목적지 어드레스의 입력을 나타내는 명령들의 조합에 따라 상기 반복 레지스터에 설정된다.
예시적인 실시예에 있어서, 플래시 메모리 장치는 상기 카피백 프로그램 동작의 반복시 에러를 검출하도록 구성되는 에러 검출 블록을 더 포함한다.
예시적인 실시예에 있어서, 상기 카피백 프로그램 동작의 반복시 에러가 검출될 때, 상기 제어 로직은 상기 카피백 프로그램 동작을 종료하고 상태 읽기 명령에 따라 페일된 페이지 정보를 외부로 출력한다.
앞의 일반적인 설명 및 다음의 상세한 설명 모두 예시적이라는 것이 이해되어야 하며, 청구된 발명의 부가적인 설명이 제공되는 것으로 여겨져야 한다.
참조 부호들이 본 발명의 바람직한 실시 예들에 상세히 표시되어 있으며, 그것의 예들이 참조 도면들에 표시되어 있다. 가능한 어떤 경우에도, 동일한 참조 번호들이 동일한 또는 유사한 부분을 참조하기 위해서 설명 및 도면들에 사용된다.
아래에서, 플래시 메모리를 기반으로 한 메모리 시스템이 본 발명의 특징 및 기능을 설명하기 위한 한 예로서 사용된다. 하지만, 이 기술 분야에 정통한 사람은 여기에 기재된 내용에 따라 본 발명의 다른 이점들 및 성능을 쉽게 이해할 수 있을 것이다. 본 발명은 다른 실시 예들을 통해 또한, 구현되거나 적용될 수 있을 것이다. 게다가, 상세한 설명은 본 발명의 범위, 기술적 사상 그리고 다른 목적으로부터 상당히 벗어나지 않고 관점 및 응용에 따라 수정되거나 변경될 수 있다.
도 1은 본 발명의 예시적인 실시예들에 따른 플래시 메모리를 기반으로 한 메모리 시스템을 개략적으로 보여주는 블록도이다.
도 1을 참조하면, 본 발명의 예시적인 실시예들에 따른 플래시 메모리를 기 반으로 한 메모리 시스템은 플래시 메모리(100), 플래시 컨트롤러(200), 중앙처리장치(300), 그리고 램(400)을 포함하며, 이러한 구성들(200, 300, 400)은 시스템 버스에 전기적으로 연결되어 있다. 플래시 컨트롤러(200)는 중앙처리장치(300)의 제어에 응답하여 플래시 메모리(100)를 제어할 것이다. 특히, 플래시 컨트롤러(200)는 플래시 메모리(100)의 카피백 프로그램 동작을 하드웨어적으로 처리하도록 구성될 것이다. 이는 이후 상세히 설명될 것이다. 플래시 컨트롤러(200)는 램(210), 어드레스 레지스터(220), 제어 레지스터(230), ECC(240), 그리고 스테이트 머신(250)을 포함할 것이다. 램(210)은 카피백 프로그램 동작시 플래시 메모리(100)로부터 읽혀진 소오스 데이터를 임시 저장하는 데 사용되며, 한 페이지의 데이터를 저장하기에 충분한 용량을 가질 것이다. 어드레스 레지스터(220)는 중앙처리장치(300)로부터 제공되는 소오스 어드레스 및 목적지 어드레스를 저장하는 사용될 것이다. 동일한 플랜에서 카피백 프로그램 동작이 수행되는 경우, 도 2a에 도시된 바와 같이, 어드레스 레지스터(220)에는 동일한 플랜에 속하는 소오스 어드레스 및 목적지 어드레스가 저장될 것이다. 이에 반해서, 상이한 플랜들에서 카피백 프로그램 동작이 수행되는 경우, 도 2b에 도시된 바와 같이, 어드레스 레지스터(220)에는 각 플랜에 속하는 소오스 어드레스 및 목적지 어드레스가 저장될 것이다.
계속해서 도 1을 참조하면, 제어 레지스터(230)는 중앙처리장치(300)로부터 제공되는 카피백 프로그램 동작을 위한 제어 정보를 저장하는 데 사용될 것이다. 예를 들면, 도 3에 도시된 바와 같이, 제어 레지스터(230)에는 하드웨어 카피백 프 로그램 개시 정보, 인터럽트 인에이블 정보, 인터럽트 상태 정보, ECC 자동 정정 정보, 하드웨어 카피백 반복 횟수 정보, 소오스 어드레스 증가/감소 정보, 목적지 어드레스 증가/감소 정보, 플랜 선택 정보, 등이 저장될 것이다. ECC(240)는 플래시 메모리(100)에서 램(210)으로 전송되는 데이터에 대한 에러를 검출하고, 검출 결과에 따라 에러를 정정하며, 정정된 데이터를 플래시 메모리(100)로 전송할 것이다. 스테이트 머신(250)은 제어 레지스터(230)에 저장된 제어 정보에 따라 카피백 프로그램 동작의 전반적인 동작을 제어하도록 구성될 것이다. 스테이트 머신(250)은 카피백 프로그램 동작이 완료될 때 중앙처리장치(300)에 인터럽트를 발생할 것이다.
중앙처리장치(300)는 카피백 프로그램 동작이 요구될 때 어드레스 레지스터(220) 및 제어 레지스터(230)를 설정하고, 스테이트 머신(250)으로부터 인터럽트가 발생할 때까지 대기한다. 이는 중앙처리장치(300)가 카피백 프로그램 동작에 필요한 정보로 레지스터들(220, 230)을 설정한 후 카피백 프로그램 동작에 관여하지 않음을 의미한다. 램(400)은 플래시 메모리(100)에 저장될 데이터를 임시 저장하는 데 사용될 것이다. 램(400)의 일부는, 또한, 워크 메모리로서 사용될 수 있다.
이 실시예에 있어서, 플래시 컨트롤러(200), 중앙처리장치(300), 그리고 램(400)은 플래시 메모리(100)를 제어하는 메모리 컨트롤러를 구성할 것이다. 플래시 컨트롤러(200)의 램(210)은 시스템 버스와 전기적으로 분리될 것이다.
본 발명에 따른 메모리 시스템은 플래시 메모리(100)의 카피백 프로그램 동작을 소프트웨어 대신 하드웨어를 통해 자동적으로 수행하도록 구성될 것이다. 이 는 소프트웨어(또는 펌웨어)가 개입하는 시간이 감소되게 하며, 그 결과 전반적인 성능을 향상시키는 것이 가능하다. 카피백 프로그램 동작은 하나의 페이지에서 다른 페이지로 데이터를 옮기기 위한 것으로, 이는 이 분야에 잘 알려진 머지 동작시 하나의 메모리 블록에 속하는 페이지들 각각에 대해서 수행되어야 한다. 그러한 까닭에, 소프트웨어(또는 펌웨어)가 개입하는 시간을 더욱 감소시키는 것이 가능하며, 그 결과 전반적인 성능을 더욱 향상시키는 것이 가능하다.
도 4는 본 발명에 따른 메모리 시스템의 카피백 프로그램 동작을 설명하기 위한 타이밍도이고, 도 5는 본 발명에 따른 메모리 시스템의 카피백 프로그램 동작시 데이터 흐름을 보여주는 도면이다. 이하, 본 발명에 따른 메모리 시스템의 카피백 프로그램 동작이 참조 도면들에 의거하여 상세히 설명될 것이다.
카피백 프로그램 동작이 요구될 때, 중앙처리장치(300)는 플래시 컨트롤러(200)의 어드레스 및 제어 레지스터들(220, 230)을 설정할 것이다. 예를 들면, 어드레스 레지스터(220)는 소오스 어드레스와 목적지 어드레스로 설정되며, 제어 레지스터(230)는 필요한 제어 정보로 설정될 것이다. 설명의 편의상, 하나의 페이지에 대한 카피백 프로그램 동작이 동일한 플랜 내에서 수행된다고 가정하자. 또한, 하드웨어 카피백 프로그램 개시 정보, 인터럽트 인에이블 정보, 인터럽트 상태 정보, 그리고 ECC 자동 정정 정보만이 제어 정보로서 제어 레지스터(230)에 설정된다고 가정하자.
일단 하드웨어 카피백 프로그램 개시 정보가 설정되면, 도 4에 도시된 바와 같이, 00h 명령, 소오스 어드레스, 그리고 35h 명령이 순차적으로 플래시 컨트롤 러(200)에서 플래시 메모리(100)로 출력될 것이다. 이후, 읽기 시간(tR) 동안, 소오스 페이지의 데이터가 페이지 버퍼에 의해서 읽혀질 것이다(도 5에서, ①로 표기됨). 읽기 시간(tR)이 경과한 후, 페이지 버퍼에 저장된 데이터는 일정 단위로 플래시 컨트롤러(200)의 램(210)으로 전송될 것이다(도 5에서, ②로 표기됨). ECC 자동 정정 정보이 설정되어 있기 때문에, 램(210)으로 전송되는 데이터에 대한 에러 검출 동작이 수행될 것이다. 만약 에러가 검출되지 않으면, 도 4에 도시된 바와 같이, 플래시 컨트롤러(200)는 85h 명령, 목적지 어드레스, 그리고 10h 명령을 순차적으로 플래시 메모리(100)로 출력할 것이다. 플래시 메모리(100)는 10h 명령의 입력에 따라 페이지 버퍼에 저장된 데이터를 목적지 페이지에 프로그램할 것이다(도 5에서, ③로 표기됨). 즉, tPROG 시간 동안 프로그램 동작이 수행될 것이다. 프로그램 동작이 완료된 후, 스테이트 머신(250)은 프로그램 동작이 페일되었는 지 또는 패스되었는 지의 여부를 확인할 것이다. 스테이트 머신(250)은 확인 결과에 따라 제어 레지스터(230)의 인터럽트 상태 정보를 프로그램 패스/페일로 설정하고, 인터럽트를 발생할 것이다. 이후, 중앙처리장치(300)는 인터럽트에 응답하여 인터럽트 상태 정보를 확인할 것이다.
카피백 프로그램 동작이 완료되었는 지의 여부를 확인하는 동작은 다양하게 변경될 수 있음은 이 분야의 통상적인 지식을 습득한 자들에게 자명하다. 예를 들면, R/nB 핀의 로우-하이 천이시에 상태 읽기 명령(70h)을 플래시 메모리(100)로 출력함으로써 프로그램 동작의 패스/페일을 확인하는 것이 가능하다. 또는, 연속적 카피백 프로그램 동작들이 요구되는 경우, 카피백 프로그램 동작이 개시되기 이전 에 상태 읽기 명령(70h)을 플래시 메모리(100)로 출력함으로써 이전의 카피백 프로그램 동작의 패스/페일을 확인하는 것이 가능하다. 설명의 편의상, 도 4에는 전자의 경우에 대한 상태 읽기 동작이 도시되어 있다.
도 6은 본 발명에 따른 메모리 시스템의 카피백 프로그램 동작을 설명하기 위한 타이밍도이고, 도 7은 본 발명에 따른 메모리 시스템의 카피백 프로그램 동작시 데이터 흐름을 보여주는 도면이며, 도 8은 카피백 프로그램 동작시 수행하는 에러 검출 및 정정 동작을 설명하기 위한 도면이다. 이하, 본 발명에 따른 메모리 시스템의 카피백 프로그램 동작이 참조 도면들에 의거하여 상세히 설명될 것이다.
카피백 프로그램 동작이 요구될 때, 중앙처리장치(300)는 플래시 컨트롤러(200)의 어드레스 및 제어 레지스터들(220, 230)을 설정할 것이다. 예를 들면, 어드레스 레지스터(220)는 소오스 어드레스와 목적지 어드레스로 설정되며, 제어 레지스터(230)는 필요한 제어 정보로 설정될 것이다. 설명의 편의상, 하나의 페이지에 대한 카피백 프로그램 동작이 동일한 플랜 내에서 수행된다고 가정하자. 또한, 하드웨어 카피백 프로그램 개시 정보, 인터럽트 인에이블 정보, 인터럽트 상태 정보, 그리고 ECC 자동 정정 정보만이 제어 정보로서 설정된다고 가정하자.
일단 하드웨어 카피백 프로그램 개시 정보가 설정되면, 도 4에 도시된 바와 같이, 00h 명령, 소오스 어드레스, 그리고 35h 명령이 순차적으로 플래시 컨트롤러(200)에서 플래시 메모리(100)로 출력될 것이다. 이후, 읽기 시간(tR) 동안, 소오스 페이지의 데이터가 페이지 버퍼에 의해서 읽혀질 것이다(도 5에서, ①로 표기됨). 읽기 시간(tR)이 경과한 후, 페이지 버퍼에 저장된 데이터는 일정 단위로 플 래시 컨트롤러(200)의 램(210)으로 전송될 것이다(도 5에서, ②로 표기됨). ECC 자동 정정 정보이 설정되어 있기 때문에, 램(210)으로 전송되는 데이터에 대한 에러 검출 동작이 수행될 것이다. 에러 검출 동작을 좀 더 구체적으로 설명하면 다음과 같다.
도 8을 참조하면, ECC(240)는 플래시 메모리(100)에서 램(210)로 전송되는 데이터에 대한 에러를 검출할 것이다. 만약 에러가 검출되면, ECC(240)는 에러가 발생한 데이터를 램(210)으로부터 읽고 읽혀진 데이터에 대한 에러를 정정할 것이다. 또한, ECC(240)는 에러가 발생하였음을 스테이트 머신(250)에 알림과 동시에 에러가 발생한 데이터의 위치 정보를 스테이트 머신(250)으로 전송할 것이다. 에러가 발생함에 따라, 먼저, 스테이트 머신(250)은 85h 명령과 목적지 어드레스를 플래시 메모리(100)로 전송할 것이다. 이어서, 도 6에 도시된 바와 같이, 스테이트 머신(250)은 에러-정정된 데이터의 열 어드레스를 플래시 메모리(100)로 전송하고, ECC(240)는 에러-정정된 데이터(즉, 랜덤 데이터)를 플래시 메모리(100)로 전송할 것이다(도 7에서, ③로 표기됨).
플래시 메모리(100)는 10h 명령의 입력에 따라 페이지 버퍼에 저장된 데이터를 목적지 페이지에 프로그램할 것이다(도 7에서, ④로 표기됨). 즉, tPROG 시간 동안 프로그램 동작이 수행될 것이다. 프로그램 동작이 완료된 후, 스테이트 머신(250)은 프로그램 동작이 페일되었는 지 또는 패스되었는 지의 여부를 확인할 것이다. 스테이트 머신(250)은 확인 결과에 따라 제어 레지스터(230)의 인터럽트 상태 정보를 프로그램 패스/페일로 설정하고, 인터럽트를 발생할 것이다. 이후, 중앙 처리장치(300)는 인터럽트에 응답하여 인터럽트 상태 정보를 확인할 것이다. 이러한 인터럽트 상태 정보는 프로그램 패스/페일 정보 뿐만 아니라 ECC 에러 정보를 포함할 것이다.
앞서 설명된 바와 같이, 플래시 메모리의 카피백 프로그램 동작이 소프트웨어의 개입없이 하드웨어 즉, 플래시 컨트롤러(200)의 제어에 따라 자동적으로 수행될 것이다.
도 4에서는 단지 한 페이지에 대한 카피백 프로그램 동작이 설명되었다. 하지만, 복수의 페이지들에 대한 카피백 프로그램 동작들이 앞서 언급된 바와 같은 방식으로 하드웨어의 제어에 따라 자동적으로 수행될 수 있음은 자명하다. 예를 들면, 제어 레지스터(230)의 제어 정보가 복수의 페이지들에 대한 카피백 프로그램 동작들이 연속적으로 수행되도록 중앙처리장치(300)에 의해서 설정될 것이다. 좀 더 구체적으로 설명하면,
하드웨어 카피백 프로그램 개시 정보, 인터럽트 인에이블 정보, 인터럽트 상태 정보, 그리고 ECC 자동 정정 정보와 더불어 하드웨어 카피백 반복 횟수 정보, 소오스 어드레스 증가/감소 정보, 그리고 목적지 어드레스 증가/감소 정보가 추가로적으로 제어 정보로서 제어 레지스터(230)에 설정될 것이다. 이러한 경우, 하나의 페이지 즉, 소오스 어드레스(어드레스 레지스터에 설정된 어드레스)에 대응하는 페이지의 데이터가 목적지 어드레스(어드레스 레지스터에 설정된 어드레스)에 대응하는 페이지로 카피백 프로그램될 것이다. 일단 카피백 프로그램 동작이 프로그램 패스로서 종료되면, 스테이트 머신(250)의 제어에 따라 소오스 어드레스 및 목적지 어드레스가 1만큼 증가/감소될 것이다. 증가/감소된 소오스 어드레스의 페이지에 대한 카피백 프로그램 동작은 앞서 언급된 것과 실질적으로 동일하게 수행되며, 그것에 대한 설명은 그러므로 생략될 것이다. 하드웨어 카피백 반복 횟수 정보만큼 카피백 프로그램 동작이 반복적으로 수행될 것이다.
플래시 메모리(100)가 2개의 플랜들로 구성되는 경우, 2-플랜 카피백 프로그램 동작 역시 앞서 설명된 방식과 동일하게 플래시 컨트롤러(200)에 의해서 자동적으로 수행될 것이다. 예를 들면, 중앙처리장치(300)에 의해서 도 2b에 도시된 어드레스 레지스터(220)가 제 1 플랜의 소오스 및 목적지 어드레스들과 제 2 플랜의 소오스 및 목적지 어드레스들이 설정될 것이다. 이러한 경우, 제어 레지스터(230)의 플랜 선택 정보는 2개의 플랜들이 동시에 선택되도록 설정될 것이다. 어드레스 및 제어 레지스터들(220, 230)이 설정된 후, 각 플랜의 소오스 페이지의 데이터가 페이지 버퍼로 동시에 옮겨질 것이다(도 9에서, ①로 표기됨). 그 다음에, 제 1 플랜의 페이지 버퍼에 저장된 데이터가 플래시 컨트롤러(200)의 램(210)으로 전송될 것이다. 이때, 앞서 언급된 바와 같이, ECC(240)에 의해서 전송 데이터에 대한 에러가 검출될 것이다(도 9에서, ②로 표기됨). 이어서, 제 2 플랜의 페이지 버퍼에 저장된 데이터가 플래시 컨트롤러(200)의 램(210)으로 전송될 것이다. 마찬가지로, ECC(240)에 의해서 전송 데이터에 대한 에러가 검출될 것이다(도 9에서, ②로 표기됨). 에러가 검출되는 경우, 앞서 언급된 바와 같이, 각 플랜으로 에러 정정된 데이터는 목적지 어드레스들과 함께 플래시 컨트롤러(200)의 제어에 따라 대응하는 페이지 버퍼로 로드될 것이다(도 9에서, ③로 표기됨). 이후, 페이지 버퍼들에 저 장된 데이터는 대응하는 목적지 페이지들에 각각 프로그램될 것이다.
제 1 플랜의 소오스 페이지에서 읽혀진 데이터를 다른 플랜의 목적지 페이지에 카피백 프로그램하는 것이 가능하다. 예를 들면, 도 10을 참조하면, 중앙처리장치(300)에 의해서 도 2b에 도시된 어드레스 레지스터(220)가 제 1 플랜의 소오스 어드레스와 제 2 플랜의 목적지 어드레스가 설정될 것이다. 이러한 경우, 제어 레지스터(230)에는 다른 플랜 선택 정보가 추가적으로 제공될 것이다. 어드레스 및 제어 레지스터들(220, 230)이 설정된 후, 제 1 플랜의 소오스 페이지의 데이터가 페이지 버퍼로 옮겨질 것이다(도 10에서, ①로 표기됨). 그 다음에, 제 1 플랜의 페이지 버퍼에 저장된 데이터가 플래시 컨트롤러(200)의 램(210)으로 전송될 것이다. 이때, 앞서 언급된 바와 같이, ECC(240)에 의해서 전송 데이터에 대한 에러가 검출될 것이다(도 10에서, ②로 표기됨). 에러가 검출되는 경우, 램(210)에 저장된 데이터 중 에러가 있는 데이터는 ECC(240)에 의해서 정정될 것이다. 이후, 램(210)에 저장된 데이터는 목적지 어드레스와 함께 제 2 플랜의 페이지 버퍼에 로드될 것이다(도 10에서, ③로 표기됨). 이후, 제 2 플랜의 페이지 버퍼에 저장된 데이터는 목적지 페이지에 프로그램될 것이다(도 10에서, ④로 표기됨).
도 11은 본 발명의 다른 실시예에 따른 플래시 메모리를 개략적으로 보여주는 블록도이다.
도 11을 참조하면, 플래시 메모리(500)는 메모리 셀 어레이(510), 행 디코더 회로(520), 페이지 버퍼 회로(530), 열 디코더 회로(540), 제어 로직(550), 그리고 반복 레지스터(560)를 포함할 것이다. 메모리 셀 어레이(510), 행 디코더 회 로(520), 페이지 버퍼 회로(530), 열 디코더 회로(540), 그리고 제어 로직(550)은 이 분야의 통상적인 지식을 습득한 자들에게 잘 알려져 있기 때문에 그것에 대한 설명은 그러므로 생략될 것이다. 반복 레지스터(560)에는 하드웨어 카피백 반복 횟수 정보, 소오스 어드레스 증가/감소 정보, 그리고 목적지 어드레스 증가/감소 정보가 저장될 것이다. 반복 레지스터(560)에 저장된 정보에 따라 즉, 하드웨어 카피백 반복 횟수 정보만큼 카피백 프로그램 동작이 반복적으로 수행될 것이다. 카피백 프로그램 동작은 이 분야의 통상적인 지식을 습득한 자들에게 자명하며, 그것에 대한 설명은 그러므로 생략될 것이다. 플래시 메모리 장치(100)는 에러 검출 블록(570)을 더 포함할 것이다. 에러 검출 블록(570)은 카피백 프로그램 동작 동안 에러가 발생하였는 지의 여부를 검출하도록 구성될 것이다. 카피백 프로그램 동작 동안 에러가 검출될 때, 제어 로직(550)은 프로그램 동작을 종료시킬 것이다. 프로그램 동작이 종료된 후, 제어 로직(550)은 상태 읽기 동작을 통해 페일된 페이지 정보를 외부(예를 들면, 메모리 컨트롤러)로 출력할 것이다.
반복 정보를 반복 레지스터(560)에 설정하는 방식들은 다양하게 구현될 수 있다. 먼저, 도 12a를 참조하면, 소오스 어드레스에 대응하는 페이지로부터 읽기 동작이 수행된 후, 반복 명령(RPT CMD)와 반복 데이터가 메모리 컨트롤러에서 플래시 메모리 장치(100)로 제공될 수 있다. 여기서, 반복 데이터는 하드웨어 카피백 반복 횟수 정보, 소오스 어드레스 증가/감소 정보, 그리고 목적지 어드레스 증가/감소 정보를 포함할 것이다. 입력된 반복 데이터는 반복 레지스터(560)에 저장될 것이다. 반복 명령(RPT CMD)과 반복 데이터의 입력은 다양하게 변경될 수 있다. 예 를 들면, 도 12b에 도시된 바와 같이, 반복 명령(RPT CMD)와 반복 데이터는 목적지 어드레스의 입력 후 그리고 프로그램 동작의 시작전에 메모리 컨트롤러에서 플래시 메모리 장치(100)로 제공될 수 있다. 입력된 반복 데이터는 반복 레지스터(560)에 저장될 것이다. 또는, 12c에 도시된 바와 같이, 반복 명령(RPT CMD)와 반복 데이터는 소오스 어드레스의 입력 후 그리고 읽기 동작의 시작전에 메모리 컨트롤러에서 플래시 메모리 장치(100)로 제공될 수 있다. 입력된 반복 데이터는 반복 레지스터(560)에 저장될 것이다. 도면에는 도시되지 않았지만, 소오스 어드레스의 입력전에 반복 명령 및 반복 데이터가 입력될 수 있음은 이 분야의 통상적인 지식을 습득한 자들에게 자명하다.
도 12에서 설명된 것과 달리, 반복 데이터 없이 반복 명령(RPT CMD)만이 플래시 메모리 장치(100)에 제공될 수도 있다. 이러한 경우, 반복 데이터는 미리 플래시 메모리 장치(100)에 설정될 것이다. 예를 들면, 반복 레지스터(560)는 미리 결정된 반복 데이터를 저장하도록 불 휘발성 특성을 갖는 저장 장치로 구현될 것이다. 따라서, 반복 명령이 입력되는 경우, 플래시 메모리 장치(100)는 반복 레지스터(560)에 미리 설정된 반복 데이터에 따라 카피백 프로그램 동작을 수행할 것이다. 반복 명령(RPT CMD)이 입력되는 시점은 다양하게 구현될 수 있다. 예를 들면, 도 13a를 참조하면, 소오스 어드레스에 대응하는 페이지로부터 읽기 동작이 수행된 후, 반복 명령(RPT CMD)이 메모리 컨트롤러에서 플래시 메모리 장치(100)로 제공될 수 있다. 또는, 도 13b에 도시된 바와 같이, 반복 명령(RPT CMD)은 목적지 어드레스의 입력 후 그리고 프로그램 동작의 시작전에 메모리 컨트롤러에서 플래시 메모 리 장치(100)로 제공될 수 있다. 또는, 12c에 도시된 바와 같이, 반복 명령(RPT CMD)은 소오스 어드레스의 입력 후 그리고 읽기 동작의 시작전에 메모리 컨트롤러에서 플래시 메모리 장치(100)로 제공될 수 있다. 도면에는 도시되지 않았지만, 소오스 어드레스의 입력전에 반복 명령이 입력될 수 있음은 이 분야의 통상적인 지식을 습득한 자들에게 자명하다.
도 13에서 설명된 반복 명령은 도 13에 도시된 명령들(00h, 35h, 10h, 등) 중 어느 하나를 이용하여 구현될 수도 있다. 예를 들면, 00h을 11h로 변경함으로써 반복 명령을 플래시 메모리 장치(100)로 제공하는 것이 가능하다. 이러한 경우, 반복 레지스터(560)에는 미리 설정된 반복 데이터가 저장될 것이다. 명령들의 조합으로 반복 데이터를 제공하는 것이 가능하다.
이상에서, 본 발명에 따른 회로의 구성 및 동작을 상기한 설명 및 도면에 따라 도시하였지만, 이는 예를 들어 설명한 것에 불과하며 본 발명의 기술적 사상 및 범위를 벗어나지 않는 범위 내에서 다양한 변화 및 변경이 가능함은 물론이다.
상술한 바와 같이, 플래시 메모리의 카피백 프로그램 동작을 소프트웨어 대신 하드웨어를 통해 자동적으로 수행함으로써 소프트웨어(또는 펌웨어)가 개입하는 시간을 줄일 수 있다. 결과적으로, 메모리 시스템의 전반적인 성능을 향상시키는 것이 가능하다.
Claims (30)
- 플래시 메모리와;중앙처리장치와; 그리고카피백 프로그램 동작시 상기 중앙처리장치에 의해서 설정되는 어드레스 및 제어 레지스터들을 구비하며, 펌웨어의 개입없이 상기 레지스터들에 저장된 정보에 따라 상기 플래시 메모리의 카피백 프로그램 동작을 하드웨어적으로 제어하는 플래시 컨트롤러를 포함하는 메모리 시스템.
- 제 1 항에 있어서,상기 플래시 컨트롤러는 상기 플래시 메모리의 카피백 프로그램 동작이 종료되었는 지의 여부를 인터럽트를 통해 상기 중앙처리장치에 알려주는 메모리 시스템.
- 제 1 항에 있어서,상기 플래시 컨트롤러는 상기 카피백 프로그램 동작 동안 일련의 명령, 어드레스, 그리고 데이터를 펌웨어의 개입없이 생성하도록 구성되는 메모리 시스템.
- 제 1 항에 있어서,상기 플래시 컨트롤러는 상기 카피백 프로그램 동작 동안 소오스 데이터에 대한 에러 정정 및 검출 동작을 수행하도록 구성되는 메모리 시스템.
- 제 4 항에 있어서,상기 소오스 데이터로부터 에러가 검출되지 않을 때, 상기 플래시 컨트롤러는 상기 어드레스 레지스터에 설정된 정보에 따라 목적지 어드레스 및 명령을 상기 플래시 메모리로 출력하는 메모리 시스템.
- 제 4 항에 있어서,상기 소오스 데이터로부터 에러가 검출될 때, 상기 플래시 컨트롤러는 에러-정정된 데이터와 함께 상기 어드레스 레지스터에 설정된 정보에 따라 목적지 어드레스 및 명령을 상기 플래시 메모리로 출력하는 메모리 시스템.
- 제 1 항에 있어서,상기 플래시 컨트롤러는 상기 제어 레지스터에 설정된 정보에 따라 상기 플래시 메모리의 카피백 프로그램 동작을 반복적으로 수행하는 메모리 시스템.
- 제 1 항에 있어서,상기 카피백 프로그램 동작 동안 상기 플래시 메모리의 동일 플랜에서 페이지 데이터가 복사되는 메모리 시스템.
- 제 1 항에 있어서,상기 카피백 프로그램 동작 동안 상기 플래시 메모리의 상이한 플랜들에서 페이지 데이터가 동시에 복사되는 메모리 시스템.
- 제 1 항에 있어서,상기 카피백 프로그램 동작 동안 상기 플래시 메모리의 제 1 플랜에서 제 2 플랜으로 페이지 데이터가 복사되는 메모리 시스템.
- 제 1 항에 있어서,상기 제어 레지스터는 하드웨어 카피백 프로그램 개시 정보, 인터럽트 인에이블 정보, 인터럽트 상태 정보, ECC 자동 정정 정보, 하드웨어 카피백 반복 횟수 정보, 소오스 어드레스 증가/감소 정보, 목적지 어드레스 증가/감소 정보, 그리고 플랜 선택 정보와 같은 제어 정보를 포함하는 메모리 시스템.
- 제 11 항에 있어서,상기 플래시 컨트롤러는 상기 제어 레지스터의 하드웨어 카피백 프로그램 개시 정보가 설정될 때 상기 카피백 프로그램 동작을 제어하는 메모리 시스템.
- 제 11 항에 있어서,상기 플래시 컨트롤러는 상기 하드웨어 카피백 반복 횟수 정보, 상기 소오스 어드레스 증가/감소 정보, 그리고 목적지 어드레스 증가/감소 정보에 따라 카피백 프로그램 동작을 반복적으로 수행하는 메모리 시스템.
- 제 1 항에 있어서,상기 플래시 메모리에 저장될 데이터를 임시 저장하는 제 1 램을 더 포함하는 메모리 시스템.
- 제 14 항에 있어서,상기 플래시 컨트롤러, 상기 중앙처리장치, 그리고 상기 제 1 램은 시스템 버스에 전기적으로 연결되는 메모리 시스템.
- 제 15 항에 있어서,상기 플래시 컨트롤러는상기 카피백 프로그램 동작시 상기 플래시 메모리로부터 읽혀진 소오스 데이터를 임시 저장하도록 구성된 제 2 램과;상기 소오스 데이터에 대한 에러를 검출 및 정정하도록 구성된 에러 검출 정정 회로와; 그리고상기 어드레스 및 제어 레지스터들에 설정된 정보에 따라 상기 카피백 프로그램 동작에 필요한 일련의 명령 및 어드레스를 생성하도록 구성된 스테이트 머신을 더 포함하는 메모리 시스템.
- 제 16 항에 있어서,상기 제 2 램은 상기 시스템 버스와 전기적으로 분리되는 메모리 시스템.
- 제 1 항에 있어서,상기 메모리 시스템은 메모리 카드를 포함하는 메모리 시스템.
- 복수의 페이지들을 포함하는 메모리 셀 어레이와;상기 메모리 셀 어레이에 대한 읽기 및 프로그램 동작들을 수행하도록 구성된 읽기/프로그램 회로와;반복 데이터를 저장하도록 구성된 반복 레지스터와; 그리고상기 반복 레지스터에 저장된 반복 데이터에 따라 카피백 프로그램 동작을 반복적으로 수행하도록 상기 읽기/프로그램 회로를 제어하는 제어 로직을 포함하는 플래시 메모리 장치.
- 제 19 항에 있어서,상기 반복 데이터는 상기 카피백 반복 횟수 정보, 상기 소오스 어드레스 증가/감소 정보, 그리고 상기 목적지 어드레스 증가/감소 정보를 포함하는 플래시 메모리 장치.
- 제 20 항에 있어서,상기 반복 레지스터는 소오스 페이지에 대한 읽기 동작이 수행 이전에 반복 명령과 함께 입력되는 상기 반복 데이터로 설정되는 플래시 메모리 장치.
- 제 20 항에 있어서,상기 반복 레지스터는 소오스 페이지에 대한 읽기 동작이 수행된 후 목적지 어드레스에 대한 프로그램 동작이 수행되기 이전에 반복 명령과 함께 입력되는 상기 반복 데이터로 설정되는 플래시 메모리 장치.
- 제 20 항에 있어서,상기 반복 레지스터는 상기 반복 데이터를 저장하도록 구성된 불 휘발성 저장 회로로 구성되는 플래시 메모리 장치.
- 제 23 항에 있어서,반복 명령이 입력될 때, 상기 제어 로직은 카피백 프로그램 동작을 반복적으로 수행하도록 상기 반복 레지스터에 저장된 상기 반복 데이터에 따라 상기 읽기/프로그램 회로를 제어하는 플래시 메모리 장치.
- 제 24 항에 있어서,상기 반복 명령은 소오스 페이지에 대한 읽기 동작이 수행 이전에 입력되는 플래시 메모리 장치.
- 제 24 항에 있어서,상기 반복 명령은 소오스 페이지에 대한 읽기 동작이 수행된 후 그리고 목적지 어드레스에 대한 프로그램 동작이 수행되기 이전에 입력되는 플래시 메모리 장치.
- 제 24 항에 있어서,상기 반복 명령은 소오스 어드레스의 입력을 나타내는 명령들과 목적지 어드레스의 입력을 나타내는 명령들 중 어느 하나인 플래시 메모리 장치.
- 제 19 항에 있어서,상기 반복 데이터는 소오스 어드레스의 입력을 나타내는 명령들과 목적지 어드레스의 입력을 나타내는 명령들의 조합에 따라 상기 반복 레지스터에 설정되는 플래시 메모리 장치.
- 제 19 항에 있어서,상기 카피백 프로그램 동작의 반복시 에러를 검출하도록 구성되는 에러 검출 블록을 더 포함하는 플래시 메모리 장치.
- 제 29 항에 있어서,상기 카피백 프로그램 동작의 반복시 에러가 검출될 때, 상기 제어 로직은 상기 카피백 프로그램 동작을 종료하고 상태 읽기 명령에 따라 페일된 페이지 정보를 외부로 출력하는 플래시 메모리 장치.
Priority Applications (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1020070024090A KR100918707B1 (ko) | 2007-03-12 | 2007-03-12 | 플래시 메모리를 기반으로 한 메모리 시스템 |
US11/748,063 US7941586B2 (en) | 2007-03-12 | 2007-05-14 | Flash memory device and memory system controlling a copy-back program operation in hardware |
JP2008059901A JP5427360B2 (ja) | 2007-03-12 | 2008-03-10 | フラッシュメモリに基づくメモリシステム |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1020070024090A KR100918707B1 (ko) | 2007-03-12 | 2007-03-12 | 플래시 메모리를 기반으로 한 메모리 시스템 |
Publications (2)
Publication Number | Publication Date |
---|---|
KR20080083474A true KR20080083474A (ko) | 2008-09-18 |
KR100918707B1 KR100918707B1 (ko) | 2009-09-23 |
Family
ID=39763818
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
KR1020070024090A KR100918707B1 (ko) | 2007-03-12 | 2007-03-12 | 플래시 메모리를 기반으로 한 메모리 시스템 |
Country Status (3)
Country | Link |
---|---|
US (1) | US7941586B2 (ko) |
JP (1) | JP5427360B2 (ko) |
KR (1) | KR100918707B1 (ko) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR20140017413A (ko) * | 2012-07-31 | 2014-02-11 | 에스케이하이닉스 주식회사 | 저항성 메모리 장치 |
Families Citing this family (105)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US9152496B2 (en) * | 2007-12-21 | 2015-10-06 | Cypress Semiconductor Corporation | High performance flash channel interface |
US8762620B2 (en) | 2007-12-27 | 2014-06-24 | Sandisk Enterprise Ip Llc | Multiprocessor storage controller |
TW200935433A (en) * | 2008-02-15 | 2009-08-16 | Asmedia Technology Inc | Method for reducing data error when flash memory storage device using copy back command |
US7719876B2 (en) * | 2008-07-31 | 2010-05-18 | Unity Semiconductor Corporation | Preservation circuit and methods to maintain values representing data in one or more layers of memory |
US8145985B2 (en) * | 2008-09-05 | 2012-03-27 | Freescale Semiconductor, Inc. | Error detection schemes for a unified cache in a data processing system |
US8291305B2 (en) * | 2008-09-05 | 2012-10-16 | Freescale Semiconductor, Inc. | Error detection schemes for a cache in a data processing system |
US8825912B2 (en) * | 2008-11-12 | 2014-09-02 | Microchip Technology Incorporated | Dynamic state configuration restore |
US8316201B2 (en) * | 2008-12-18 | 2012-11-20 | Sandisk Il Ltd. | Methods for executing a command to write data from a source location to a destination location in a memory device |
KR101575248B1 (ko) * | 2009-04-30 | 2015-12-07 | 삼성전자주식회사 | 메모리 컨트롤러 및 그것을 포함하는 메모리 시스템 |
US20100332922A1 (en) * | 2009-06-30 | 2010-12-30 | Mediatek Inc. | Method for managing device and solid state disk drive utilizing the same |
KR101201838B1 (ko) * | 2009-12-24 | 2012-11-15 | 에스케이하이닉스 주식회사 | 프로그램 시간을 감소시킨 비휘발성 메모리 장치 |
US8443263B2 (en) * | 2009-12-30 | 2013-05-14 | Sandisk Technologies Inc. | Method and controller for performing a copy-back operation |
US8365041B2 (en) | 2010-03-17 | 2013-01-29 | Sandisk Enterprise Ip Llc | MLC self-raid flash data protection scheme |
US20110296131A1 (en) * | 2010-05-31 | 2011-12-01 | Samsung Electronics Co., Ltd | Nonvolatile memory system and the operation method thereof |
KR101148352B1 (ko) * | 2010-11-02 | 2012-05-21 | 에스케이하이닉스 주식회사 | 반도체 메모리 장치 및 그의 동작 방법 |
US8909982B2 (en) * | 2011-06-19 | 2014-12-09 | Sandisk Enterprise Ip Llc | System and method for detecting copyback programming problems |
US8910020B2 (en) | 2011-06-19 | 2014-12-09 | Sandisk Enterprise Ip Llc | Intelligent bit recovery for flash memory |
US8793543B2 (en) | 2011-11-07 | 2014-07-29 | Sandisk Enterprise Ip Llc | Adaptive read comparison signal generation for memory systems |
US9048876B2 (en) | 2011-11-18 | 2015-06-02 | Sandisk Enterprise Ip Llc | Systems, methods and devices for multi-tiered error correction |
US8924815B2 (en) | 2011-11-18 | 2014-12-30 | Sandisk Enterprise Ip Llc | Systems, methods and devices for decoding codewords having multiple parity segments |
US8954822B2 (en) | 2011-11-18 | 2015-02-10 | Sandisk Enterprise Ip Llc | Data encoder and decoder using memory-specific parity-check matrix |
US8976604B2 (en) * | 2012-02-13 | 2015-03-10 | Macronix International Co., Lt. | Method and apparatus for copying data with a memory array having redundant memory |
TWI457760B (zh) * | 2012-02-23 | 2014-10-21 | Macronix Int Co Ltd | 具有冗餘記憶體之記憶體陣列的資料複製方法及裝置 |
CN103295647B (zh) * | 2012-03-02 | 2016-02-10 | 旺宏电子股份有限公司 | 具有冗余存储器的存储器阵列的数据复制方法及装置 |
US9699263B1 (en) | 2012-08-17 | 2017-07-04 | Sandisk Technologies Llc. | Automatic read and write acceleration of data accessed by virtual machines |
US9501398B2 (en) | 2012-12-26 | 2016-11-22 | Sandisk Technologies Llc | Persistent storage device with NVRAM for staging writes |
US9612948B2 (en) | 2012-12-27 | 2017-04-04 | Sandisk Technologies Llc | Reads and writes between a contiguous data block and noncontiguous sets of logical address blocks in a persistent storage device |
US9239751B1 (en) | 2012-12-27 | 2016-01-19 | Sandisk Enterprise Ip Llc | Compressing data from multiple reads for error control management in memory systems |
US9003264B1 (en) | 2012-12-31 | 2015-04-07 | Sandisk Enterprise Ip Llc | Systems, methods, and devices for multi-dimensional flash RAID data protection |
US9454420B1 (en) | 2012-12-31 | 2016-09-27 | Sandisk Technologies Llc | Method and system of reading threshold voltage equalization |
US9329928B2 (en) | 2013-02-20 | 2016-05-03 | Sandisk Enterprise IP LLC. | Bandwidth optimization in a non-volatile memory system |
US9214965B2 (en) | 2013-02-20 | 2015-12-15 | Sandisk Enterprise Ip Llc | Method and system for improving data integrity in non-volatile storage |
US9870830B1 (en) | 2013-03-14 | 2018-01-16 | Sandisk Technologies Llc | Optimal multilevel sensing for reading data from a storage medium |
US9244763B1 (en) | 2013-03-15 | 2016-01-26 | Sandisk Enterprise Ip Llc | System and method for updating a reading threshold voltage based on symbol transition information |
US9236886B1 (en) | 2013-03-15 | 2016-01-12 | Sandisk Enterprise Ip Llc | Universal and reconfigurable QC-LDPC encoder |
US9367246B2 (en) | 2013-03-15 | 2016-06-14 | Sandisk Technologies Inc. | Performance optimization of data transfer for soft information generation |
US9092350B1 (en) | 2013-03-15 | 2015-07-28 | Sandisk Enterprise Ip Llc | Detection and handling of unbalanced errors in interleaved codewords |
US9009576B1 (en) | 2013-03-15 | 2015-04-14 | Sandisk Enterprise Ip Llc | Adaptive LLR based on syndrome weight |
US9136877B1 (en) | 2013-03-15 | 2015-09-15 | Sandisk Enterprise Ip Llc | Syndrome layered decoding for LDPC codes |
US10049037B2 (en) | 2013-04-05 | 2018-08-14 | Sandisk Enterprise Ip Llc | Data management in a storage system |
US9170941B2 (en) | 2013-04-05 | 2015-10-27 | Sandisk Enterprises IP LLC | Data hardening in a storage system |
US9159437B2 (en) | 2013-06-11 | 2015-10-13 | Sandisk Enterprise IP LLC. | Device and method for resolving an LM flag issue |
US9524235B1 (en) | 2013-07-25 | 2016-12-20 | Sandisk Technologies Llc | Local hash value generation in non-volatile data storage systems |
US9043517B1 (en) | 2013-07-25 | 2015-05-26 | Sandisk Enterprise Ip Llc | Multipass programming in buffers implemented in non-volatile data storage systems |
US9384126B1 (en) | 2013-07-25 | 2016-07-05 | Sandisk Technologies Inc. | Methods and systems to avoid false negative results in bloom filters implemented in non-volatile data storage systems |
US9361221B1 (en) | 2013-08-26 | 2016-06-07 | Sandisk Technologies Inc. | Write amplification reduction through reliable writes during garbage collection |
US9639463B1 (en) | 2013-08-26 | 2017-05-02 | Sandisk Technologies Llc | Heuristic aware garbage collection scheme in storage systems |
US9442670B2 (en) | 2013-09-03 | 2016-09-13 | Sandisk Technologies Llc | Method and system for rebalancing data stored in flash memory devices |
US9519577B2 (en) | 2013-09-03 | 2016-12-13 | Sandisk Technologies Llc | Method and system for migrating data between flash memory devices |
US9158349B2 (en) | 2013-10-04 | 2015-10-13 | Sandisk Enterprise Ip Llc | System and method for heat dissipation |
US9323637B2 (en) | 2013-10-07 | 2016-04-26 | Sandisk Enterprise Ip Llc | Power sequencing and data hardening architecture |
US9442662B2 (en) | 2013-10-18 | 2016-09-13 | Sandisk Technologies Llc | Device and method for managing die groups |
US9298608B2 (en) | 2013-10-18 | 2016-03-29 | Sandisk Enterprise Ip Llc | Biasing for wear leveling in storage systems |
US9436831B2 (en) | 2013-10-30 | 2016-09-06 | Sandisk Technologies Llc | Secure erase in a memory device |
US9263156B2 (en) | 2013-11-07 | 2016-02-16 | Sandisk Enterprise Ip Llc | System and method for adjusting trip points within a storage device |
US9244785B2 (en) | 2013-11-13 | 2016-01-26 | Sandisk Enterprise Ip Llc | Simulated power failure and data hardening |
US9152555B2 (en) | 2013-11-15 | 2015-10-06 | Sandisk Enterprise IP LLC. | Data management with modular erase in a data storage system |
US9703816B2 (en) | 2013-11-19 | 2017-07-11 | Sandisk Technologies Llc | Method and system for forward reference logging in a persistent datastore |
US9520197B2 (en) | 2013-11-22 | 2016-12-13 | Sandisk Technologies Llc | Adaptive erase of a storage device |
US9122636B2 (en) | 2013-11-27 | 2015-09-01 | Sandisk Enterprise Ip Llc | Hard power fail architecture |
US9520162B2 (en) | 2013-11-27 | 2016-12-13 | Sandisk Technologies Llc | DIMM device controller supervisor |
US9280429B2 (en) | 2013-11-27 | 2016-03-08 | Sandisk Enterprise Ip Llc | Power fail latching based on monitoring multiple power supply voltages in a storage device |
US9582058B2 (en) | 2013-11-29 | 2017-02-28 | Sandisk Technologies Llc | Power inrush management of storage devices |
US9250676B2 (en) | 2013-11-29 | 2016-02-02 | Sandisk Enterprise Ip Llc | Power failure architecture and verification |
US9092370B2 (en) | 2013-12-03 | 2015-07-28 | Sandisk Enterprise Ip Llc | Power failure tolerant cryptographic erase |
US9235245B2 (en) | 2013-12-04 | 2016-01-12 | Sandisk Enterprise Ip Llc | Startup performance and power isolation |
US9129665B2 (en) | 2013-12-17 | 2015-09-08 | Sandisk Enterprise Ip Llc | Dynamic brownout adjustment in a storage device |
US9549457B2 (en) | 2014-02-12 | 2017-01-17 | Sandisk Technologies Llc | System and method for redirecting airflow across an electronic assembly |
US9497889B2 (en) | 2014-02-27 | 2016-11-15 | Sandisk Technologies Llc | Heat dissipation for substrate assemblies |
US9703636B2 (en) | 2014-03-01 | 2017-07-11 | Sandisk Technologies Llc | Firmware reversion trigger and control |
US9519319B2 (en) | 2014-03-14 | 2016-12-13 | Sandisk Technologies Llc | Self-supporting thermal tube structure for electronic assemblies |
US9348377B2 (en) | 2014-03-14 | 2016-05-24 | Sandisk Enterprise Ip Llc | Thermal isolation techniques |
US9485851B2 (en) | 2014-03-14 | 2016-11-01 | Sandisk Technologies Llc | Thermal tube assembly structures |
US9454448B2 (en) | 2014-03-19 | 2016-09-27 | Sandisk Technologies Llc | Fault testing in storage devices |
US9390814B2 (en) | 2014-03-19 | 2016-07-12 | Sandisk Technologies Llc | Fault detection and prediction for data storage elements |
US9448876B2 (en) | 2014-03-19 | 2016-09-20 | Sandisk Technologies Llc | Fault detection and prediction in storage devices |
US9390021B2 (en) | 2014-03-31 | 2016-07-12 | Sandisk Technologies Llc | Efficient cache utilization in a tiered data structure |
US9626400B2 (en) | 2014-03-31 | 2017-04-18 | Sandisk Technologies Llc | Compaction of information in tiered data structure |
US9626399B2 (en) | 2014-03-31 | 2017-04-18 | Sandisk Technologies Llc | Conditional updates for reducing frequency of data modification operations |
US9697267B2 (en) | 2014-04-03 | 2017-07-04 | Sandisk Technologies Llc | Methods and systems for performing efficient snapshots in tiered data structures |
US10656840B2 (en) | 2014-05-30 | 2020-05-19 | Sandisk Technologies Llc | Real-time I/O pattern recognition to enhance performance and endurance of a storage device |
US9070481B1 (en) | 2014-05-30 | 2015-06-30 | Sandisk Technologies Inc. | Internal current measurement for age measurements |
US8891303B1 (en) | 2014-05-30 | 2014-11-18 | Sandisk Technologies Inc. | Method and system for dynamic word line based configuration of a three-dimensional memory device |
US9703491B2 (en) | 2014-05-30 | 2017-07-11 | Sandisk Technologies Llc | Using history of unaligned writes to cache data and avoid read-modify-writes in a non-volatile storage device |
US10372613B2 (en) | 2014-05-30 | 2019-08-06 | Sandisk Technologies Llc | Using sub-region I/O history to cache repeatedly accessed sub-regions in a non-volatile storage device |
US9645749B2 (en) | 2014-05-30 | 2017-05-09 | Sandisk Technologies Llc | Method and system for recharacterizing the storage density of a memory device or a portion thereof |
US10114557B2 (en) | 2014-05-30 | 2018-10-30 | Sandisk Technologies Llc | Identification of hot regions to enhance performance and endurance of a non-volatile storage device |
US9093160B1 (en) | 2014-05-30 | 2015-07-28 | Sandisk Technologies Inc. | Methods and systems for staggered memory operations |
US10146448B2 (en) | 2014-05-30 | 2018-12-04 | Sandisk Technologies Llc | Using history of I/O sequences to trigger cached read ahead in a non-volatile storage device |
US10162748B2 (en) | 2014-05-30 | 2018-12-25 | Sandisk Technologies Llc | Prioritizing garbage collection and block allocation based on I/O history for logical address regions |
US10656842B2 (en) | 2014-05-30 | 2020-05-19 | Sandisk Technologies Llc | Using history of I/O sizes and I/O sequences to trigger coalesced writes in a non-volatile storage device |
US9652381B2 (en) | 2014-06-19 | 2017-05-16 | Sandisk Technologies Llc | Sub-block garbage collection |
US9443601B2 (en) | 2014-09-08 | 2016-09-13 | Sandisk Technologies Llc | Holdup capacitor energy harvesting |
US10169225B2 (en) * | 2015-01-23 | 2019-01-01 | Silicon Motion, Inc. | Memory system and memory-control method with a programming status |
US10387046B2 (en) * | 2016-06-22 | 2019-08-20 | Micron Technology, Inc. | Bank to bank data transfer |
US10236038B2 (en) | 2017-05-15 | 2019-03-19 | Micron Technology, Inc. | Bank to bank data transfer |
US10915448B2 (en) | 2017-08-22 | 2021-02-09 | Seagate Technology Llc | Storage device initiated copy back operation |
KR102415218B1 (ko) * | 2017-11-24 | 2022-07-01 | 에스케이하이닉스 주식회사 | 메모리 시스템 및 이의 동작 방법 |
TWI679537B (zh) | 2018-03-09 | 2019-12-11 | 深圳大心電子科技有限公司 | 資料移動方法及儲存控制器 |
US20210055878A1 (en) * | 2019-08-20 | 2021-02-25 | Micron Technology, Inc. | Data compaction within the same plane of a memory component |
US11726869B2 (en) | 2019-08-20 | 2023-08-15 | Micron Technology, Inc. | Performing error control operation on memory component for garbage collection |
US11282567B2 (en) | 2019-08-20 | 2022-03-22 | Micron Technology, Inc. | Sequential SLC read optimization |
US11281578B2 (en) | 2019-08-20 | 2022-03-22 | Micron Technology, Inc. | Garbage collection in a memory sub-system during a low battery state |
US11036633B2 (en) * | 2019-08-22 | 2021-06-15 | Micron Technology, Inc. | Hierarchical memory apparatus |
US11281392B2 (en) | 2019-08-28 | 2022-03-22 | Micron Technology, Inc. | Garbage collection in a memory component using an adjusted parameter |
Family Cites Families (14)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5802553A (en) | 1995-12-19 | 1998-09-01 | Intel Corporation | File system configured to support variable density storage and data compression within a nonvolatile memory |
KR100263672B1 (ko) | 1997-05-08 | 2000-09-01 | 김영환 | 가변적인 페이지 크기를 지원하는 어드레스 변환장치 |
JP2001006379A (ja) * | 1999-06-16 | 2001-01-12 | Fujitsu Ltd | 複写、移動機能を有するフラッシュメモリ |
US6614685B2 (en) | 2001-08-09 | 2003-09-02 | Multi Level Memory Technology | Flash memory array partitioning architectures |
JP2003186739A (ja) * | 2001-12-13 | 2003-07-04 | Seiko Epson Corp | 半導体記憶装置、制御装置及び半導体記憶装置の制御方法 |
US7181611B2 (en) * | 2002-10-28 | 2007-02-20 | Sandisk Corporation | Power management block for use in a non-volatile memory system |
JP4563715B2 (ja) * | 2003-04-29 | 2010-10-13 | 三星電子株式会社 | パーシャルコピーバック動作モードを有するフラッシュメモリ装置 |
US7350044B2 (en) * | 2004-01-30 | 2008-03-25 | Micron Technology, Inc. | Data move method and apparatus |
US7159069B2 (en) * | 2004-06-23 | 2007-01-02 | Atmel Corporation | Simultaneous external read operation during internal programming in a flash memory device |
KR100572328B1 (ko) * | 2004-07-16 | 2006-04-18 | 삼성전자주식회사 | 배드 블록 관리부를 포함하는 플래시 메모리 시스템 |
US7409473B2 (en) * | 2004-12-21 | 2008-08-05 | Sandisk Corporation | Off-chip data relocation |
JP2006244017A (ja) | 2005-03-02 | 2006-09-14 | Matsushita Electric Ind Co Ltd | データコピー方法 |
JP4910426B2 (ja) | 2005-03-03 | 2012-04-04 | パナソニック株式会社 | 不揮発性記憶装置の書込み方法 |
KR100626393B1 (ko) | 2005-04-07 | 2006-09-20 | 삼성전자주식회사 | 불휘발성 메모리 장치 및 그것의 멀티-페이지 카피백 방법 |
-
2007
- 2007-03-12 KR KR1020070024090A patent/KR100918707B1/ko active IP Right Grant
- 2007-05-14 US US11/748,063 patent/US7941586B2/en active Active
-
2008
- 2008-03-10 JP JP2008059901A patent/JP5427360B2/ja not_active Expired - Fee Related
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR20140017413A (ko) * | 2012-07-31 | 2014-02-11 | 에스케이하이닉스 주식회사 | 저항성 메모리 장치 |
Also Published As
Publication number | Publication date |
---|---|
US20080229000A1 (en) | 2008-09-18 |
US7941586B2 (en) | 2011-05-10 |
JP2008226245A (ja) | 2008-09-25 |
JP5427360B2 (ja) | 2014-02-26 |
KR100918707B1 (ko) | 2009-09-23 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
KR100918707B1 (ko) | 플래시 메모리를 기반으로 한 메모리 시스템 | |
US10049005B2 (en) | Flash memory control apparatus utilizing buffer to temporarily storing valid data stored in storage plane, and control system and control method thereof | |
JP5547741B2 (ja) | データをメモリ装置に再入力することなくページをプログラムするためのページバッファプログラムコマンド及び方法 | |
JP4550439B2 (ja) | Ecc制御装置 | |
TWI744632B (zh) | 半導體設備及在一記憶體裝置上執行操作之方法 | |
US20090307537A1 (en) | Flash storage device with data correction function | |
US20070170268A1 (en) | Memory cards, nonvolatile memories and methods for copy-back operations thereof | |
JP2008504637A (ja) | フラッシュメモリ装置における内部プログラミング中の同時の外部読出動作 | |
JP2004005699A (ja) | Nandフラッシュメモリインタフェース装置 | |
JP4643729B2 (ja) | インタリーブ制御装置、インタリーブ制御方法及びメモリシステム | |
JP2004005613A (ja) | 専用フラッシュコントローラを使用してフラッシュベースストレージシステムの性能を改善するための方法 | |
KR102319402B1 (ko) | 복수의 채널들을 통해 반도체 메모리 장치들을 제어하는 메모리 시스템 | |
JP2008090433A (ja) | メモリコントローラ、メモリシステム及びデータ転送方法 | |
WO2015117493A1 (zh) | 一种flash的控制方法和控制器 | |
TWI534607B (zh) | 記憶體控制電路單元、記憶體儲存裝置與資料傳輸方法 | |
US20060020764A1 (en) | Information processing apparatus including non-volatile memory device, non-volatile memory device and methods thereof | |
US8055978B2 (en) | Semiconductor memory system performing data error correction using flag cell array of buffer memory | |
JP4173863B2 (ja) | メモリカードおよびその初期化設定方法 | |
JP2006004367A (ja) | メモリカード及び半導体装置 | |
US20100146224A1 (en) | Request processing device, request processing system, and access testing method | |
JP3178914B2 (ja) | 半導体ファイル装置 | |
US20100329027A1 (en) | Nonvolatile memory device and method of operating the same | |
EP2730993B1 (en) | Reset method and network device | |
JP2011118922A (ja) | 半導体記憶装置の読出し・書き込み方法 | |
JP4739296B2 (ja) | 外部記憶装置およびそのメモリアクセス制御方法 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A201 | Request for examination | ||
E902 | Notification of reason for refusal | ||
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: 20120831 Year of fee payment: 4 |
|
FPAY | Annual fee payment |
Payment date: 20130902 Year of fee payment: 5 |
|
FPAY | Annual fee payment |
Payment date: 20140901 Year of fee payment: 6 |
|
FPAY | Annual fee payment |
Payment date: 20150831 Year of fee payment: 7 |
|
FPAY | Annual fee payment |
Payment date: 20180831 Year of fee payment: 10 |