KR20060056440A - 플래시 메모리의 데이터 처리 장치 및 방법 - Google Patents

플래시 메모리의 데이터 처리 장치 및 방법 Download PDF

Info

Publication number
KR20060056440A
KR20060056440A KR1020040095286A KR20040095286A KR20060056440A KR 20060056440 A KR20060056440 A KR 20060056440A KR 1020040095286 A KR1020040095286 A KR 1020040095286A KR 20040095286 A KR20040095286 A KR 20040095286A KR 20060056440 A KR20060056440 A KR 20060056440A
Authority
KR
South Korea
Prior art keywords
data
count
logical address
inverted
valid
Prior art date
Application number
KR1020040095286A
Other languages
English (en)
Other versions
KR100643287B1 (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
Priority to KR1020040095286A priority Critical patent/KR100643287B1/ko
Application filed by 삼성전자주식회사 filed Critical 삼성전자주식회사
Priority to PCT/KR2005/003851 priority patent/WO2006054852A1/en
Priority to CN2005800393048A priority patent/CN101061466B/zh
Priority to JP2007542897A priority patent/JP4902547B2/ja
Priority to AU2005307231A priority patent/AU2005307231A1/en
Priority to EP05821313A priority patent/EP1812866A4/en
Priority to CA2587724A priority patent/CA2587724C/en
Priority to US11/283,376 priority patent/US8015344B2/en
Publication of KR20060056440A publication Critical patent/KR20060056440A/ko
Application granted granted Critical
Publication of KR100643287B1 publication Critical patent/KR100643287B1/ko
Priority to AU2010201333A priority patent/AU2010201333A1/en
Priority to US13/188,997 priority patent/US8230166B2/en

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/02Addressing or allocation; Relocation
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/02Addressing or allocation; Relocation
    • G06F12/0223User address space allocation, e.g. contiguous or non contiguous base addressing
    • G06F12/023Free address space management
    • G06F12/0238Memory management in non-volatile memory, e.g. resistive RAM or ferroelectric memory
    • G06F12/0246Memory management in non-volatile memory, e.g. resistive RAM or ferroelectric memory in block erasable memory, e.g. flash memory

Abstract

본 발명은 플래시 메모리의 데이터 처리 장치 및 방법에 관한 것으로서, 더욱 상세하게는 플래시 메모리의 데이터에 대한 유효성을 용이하게 판단할 수 있는 플래시 메모리의 데이터 처리 장치 및 방법에 관한 것이다.
본 발명의 실시예에 따른 플래시 메모리의 데이터 처리 장치는, 소정의 논리 주소를 이용하여 데이터 연산을 요청하는 사용자 요청부와, 상기 논리 주소를 물리 주소로 변환하는 변환부와, 상기 데이터에서 소정 비트의 개수를 카운트한 카운트 데이터를 상기 데이터 연산 수행시 상기 데이터의 유효성 여부를 나타내는 인덱스 영역에 기록하는 제어부를 포함한다.
플래시 메모리, 논리 주소, 물리 주소, 유효성

Description

플래시 메모리의 데이터 처리 장치 및 방법{Data processing device and method for flash memory}
도 1a는 일반적인 소블럭 플래시 메모리의 구조가 도시된 도면.
도 1b는 일반적인 대블럭 플래시 메모리의 구조가 도시된 도면.
도 2는 종래의 기술에 따른 플래시 메모리에서의 데이터의 기록 연산 방법이 도시된 도면.
도 3은 일반적인 플래시 메모리의 데이터 영역과 인덱스 영역이 도시된 도면.
도 4는 도 3의 데이터 영역에 포함된 각 섹터별로 구분된 인덱스 영역이 도시된 도면.
도 5는 종래의 기술에 따른 플래시 메모리의 데이터 유효성 판단 방법이 도시된 도면.
도 6a는 종래의 기술에 따라 유효한 데이터가 기록된 데이터 영역과 인덱스 영역이 도시된 도면.
도 6b는 종래의 기술에 따라 유효하지 않은 데이터가 기록된 데이터 영역과 인덱스 영역이 도시된 도면.
도 7은 본 발명에 따른 플래시 메모리의 데이터 처리 장치가 도시된 도면.
도 8은 본 발명의 실시예에 따른 데이터 영역 및 인덱스 영역이 도시된 도면.
도 9는 본 발명의 실시예에 따른 카운트 데이터와 인버트된 데이터를 생성하는 방법이 도시된 도면.
도 10a는 본 발명의 실시예에 따라 1비트의 개수를 카운트한 카운트 데이터 및 인버트된 데이터가 도시된 도면.
도 10b는 본 발명의 실시예에 따라 0비트의 개수를 카운트한 카운트 데이터 및 인버트된 데이터가 도시된 도면.
도 11은 본 발명의 실시예에 따라 플래시 메모리에 기록된 데이터의 유효성을 판단하는 방법이 도시된 도면.
<도면의 주요 부분에 관한 부호의 설명>
100: 사용자 요청부 200: 변환부
300: 제어부 400: 디바이스 드라이버
500: 추출부
본 발명은 플래시 메모리의 데이터 처리 장치 및 방법에 관한 것으로서, 더욱 상세하게는 플래시 메모리의 데이터에 대한 유효성을 용이하게 판단할 수 있는 플래시 메모리의 데이터 처리 장치 및 방법에 관한 것이다.
일반적으로, 가전 기기, 통신 기기, 셋탑 박스 등의 내장형 시스템(Embedded System)에서는 데이터를 저장하고 처리하기 위한 저장 매체로 비휘발성 메모리가 많이 사용되고 있다.
비휘발성 메모리 중에서 주로 사용되는 플래시 메모리는 전기적으로 데이터를 삭제하거나 다시 기록할 수 있는 비휘발성 기억 소자로서, 마그네틱 디스크 메모리를 기반으로 하는 저장 매체에 비해 전력 소모가 적으면서도 하드 디스크와 같은 빠른 액세스 타임(Access Time)을 가지며 크기가 작기 때문에 휴대 기기 등에 적합하다.
플래시 메모리는 하드웨어적 특성상 이미 기록된 데이터에 재기록을 수행할 경우, 해당 데이터가 기록된 블록 전체를 삭제하는 과정이 필요하다.
이와 같이, 플래시 메모리에서 데이터의 기록 및 삭제 단위의 불일치로 발생할 수 있는 성능 저하를 방지하기 위하여 논리 주소와 물리 주소의 개념이 도입되었다.
이때, 논리 주소는 사용자가 소정의 사용자 프로그램을 통하여 플래시 메모리에서 소정의 데이터 연산을 수행할 경우 사용되는 주소이고, 물리 주소는 실제 플래시 메모리에 소정의 데이터 연산을 수행될 경우 사용되는 주소이다.
또한, 플래시 메모리는 일반적으로 소블록 플래시 메모리와 대블록 플래시 메모리로 구분되는데, 소블록 플래시 메모리는 논리적인 연산 단위와 물리적인 연산 단위가 동일한 반면, 대블록 플래시 메모리는 논리적인 연산 단위에 비하여 물리적인 연산 단위가 큰 특성을 가진다.
도 1a및 도 1b는 일반적인 소블럭 플래시 메모리와 대블럭 플래시 메모리의 개략적인 구조가 도시된 도면이다.
소블럭 플래시 메모리는 도 1a에 도시된 바와 같이, 논리적인 연산 단위인 섹터(11)와, 물리적인 연산 단위인 페이지(12)가 동일한 것을 알 수 있다.
한편, 대블럭 플래시 메모리는 도 1b에 도시된 바와 같이, 적어도 하나 이상의 논리적인 연산 단위인 섹터(21)가 모여 하나의 물리적인 연산 단위인 페이지(22)를 이루는 것을 알 수 있다.
플래시 메모리를 기반으로 하는 시스템은 그 응용 분야의 특성상 예측하지 못한 전원 공급 중단이 자주 발생하게 된다. 따라서, 플래시 메모리의 동작중 전원이 중단된 경우에 대한 대비가 필수 적이다.
구체적으로, 플래시 메모리에 소정의 데이터를 기록하는 경우과 삭제하는 경우를 살펴보기로 한다. 우선, 플래시 메모리에 소정의 데이터를 기록하는 도중 전원 공급이 중단되면, 플래시 메모리에 기록하려 했던 데이터의 일부는 기록되고, 다른 일부는 기록되지 않는 경우가 발생하게 된다. 한편, 플래시 메모리에서 소정의 데이터를 삭제하는 도중 전원 공급이 중단되면, 플래시 메모리에서 삭제하려 했던 데이터의 일부는 삭제되고, 다른 일부는 삭제되지 않는 경우가 발생하게 된다.
따라서, 플래시 메모리에서의 데이터 기록 및 삭제와 같은 데이터 연산이 완료되기 전에 예측하지 못한 전원 공급 차단이 발생된 경우에 대비해 플래시 메모리의 데이터에 대한 유효성을 판단할 수 있는 다양한 방법이 제안되고 있다.
도 2는 종래의 기술에 따른 플래시 메모리에서의 데이터 기록 연산 방법이 도시된 도면이다.
도시된 바와 같이, 먼저 플래시 메모리의 소정 섹터에 데이터를 기록하고자 하는 경우 해당 섹터에 데이터를 기록할 수 있는지의 여부를 판단하고, 판단 결과 해당 섹터에 데이터를 기록할 수 있는 경우, 데이터 기록 연산이 수행하는 동시에 데이터가 기록되는 섹터에 해당하는 소정의 인덱스 영역에 소정의 마킹값이 기록한다(S10).
구체적으로, 플래시 메모리는 도 3에 도시된 바와 같이, 데이터 영역(31)과 인덱스 영역(32)으로 이루어진 여러 개의 페이지(33)가 모여 하나의 블록(34)를 구성한다. 또한, 인덱스 영역(32)은 다시 데이터 기록 연산 진행 상태를 나타내는 제 1인덱스 영역(32a)과, 데이터 삭제 연산 진행 상태를 나타내는 제 2인덱스 영역(32b)으로 나뉘어진다. 이때, 제 1인덱스 영역(32a) 및 제 2인덱스 영역(32b)에 각각 제 1마킹값과 제 3마킹값이 기록되는 것이다.
또한, 데이터 영역(31)이 도 4와 같이, 다수의 섹터로 이루어진 경우 제 1인덱스 영역(32a)은 각 섹터에 따라 별도로 구성된다. 이때, 제 2인덱스 영역(32b) 역시 일반적으로 섹터 단위로 구성된다.
데이터 기록 연산이 완료되면(S20), 제 1인덱스 영역(32a)에는 데이터 기록 연산이 완료된 것을 나타내는 제 2마킹값이 기록된다(S30).
예를 들어, 데이터 기록 연산이 시작되면 제 1인덱스 영역(32a)에는 제 1마킹값인 '0xFE'이 기록되고, 제 2인덱스 영역에는 제 3마킹값인 '0x00'이 기록된다.
또한, 데이터 기록 연산이 완료되면 제 1인덱스 영역(32a)에는 제 2마킹값인 '0xFC'가 기록된다.
이때, 데이터 기록 연산시에 데이터의 기록 가능 여부를 판단하는 방법은 제 1인덱스 영역(32a) 및 제 2인덱스 영역(32b)에 기록된 값이 모두 초기 값, 예를 들어 '0xFF'일 경우 데이터 기록 가능하다고 판단되며, 경우에 따라 데이터 영역(31)의 값이 '0xFF'인 경우까지 포함하여 데이터 기록이 가능하다고 판단하게 된다. 구체적으로, 플래시 메모리에서 삭제 연산이 이루어지는 경우, 모든 비트는 1로 바뀌게 된다. 따라서, 모든 비트가 1인 경우인 '0xFF'인 경우 데이터 기록 가능 상태가 된다.
도 5는 전술한 도 2의 데이터 기록 방법을 통해 기록된 데이터의 유효성을 판단하는 방법을 도시하고 있다.
도시된 바와 같이, 먼저 제 1인덱스 영역(32a)및 제 2인덱스 영역(32b)에 기록된 값이 정상인지의 여부를 판단한다(S40).
구체적으로, 제 1인덱스 영역(32a) 및 제 2인덱스 영역(32b)에 기록된 값이 전술한 제 2마킹값 및 제 3마킹값인 경우 제 1인덱스 영역(32a) 및 제 2인덱스 영역(32b)에 기록된 값이 정상인 것으로 판단된다.
판단 결과 정상인 경우 해당 섹터에 기록된 데이터는 유효한 것으로 판단하고(S50), 그렇지 않은 경우 유효하지 않는 것으로 판단한다(S60).
그러나, 상기한 바와 같은 종래의 기술에 따른 데이터의 유효성 판단 방법은, 해당 섹터에 기록된 데이터의 유효성을 판단하기 위하여 데이터 기록시 데이터 영역에 데이터와 제 1인덱스 영역(32a)에 제 1마킹값, 제 2인덱스 영역에는 제 3 마킹값을 기록하는 첫번째 기록연산과 제 1 인덱스 연산에 다시 제 2마킹값을 기록하는 두번째 기록 연산을 거치게 된다.
이와 같은 두 번에 걸친 기록 동작은 플래시 메모리의 전체적인 쓰기 성능 저하를 야기시킬 수 있는 문제점이 있다.
또한, 플래시 메모리의 데이터 삭제 연산이 수행되는 도중 전원 공급이 차단되면, 전술한 데이터 영역(31)의 데이터 중 일부는 삭제되었으나 제 1인덱스 영역(32a)과 제 2인덱스 영역(32b)의 값은 전혀 삭제되지 않아 실제적으로 데이터는 유효하지 않으나 제 1인덱스 영역(32a) 및 제 2인덱스 영역(32b)에 기록된 값을 통해서는 유효한 것으로 판단될 수 있는 문제점이 있다. 다시 말해서, 도 6a와 같이 유효한 데이터가 데이터 영역(31)에 기록된 상태에서 데이터 삭제 연산이 수행되는 도중 전원 공급이 차단되면, 도 6b와 같이 데이터 영역(31)의 데이터는 유효하지 않으나, 제 1인덱스 영역(32a)의 제 1마킹값 '0xFC', 제 2인덱스 영역(32b)의 제 3마킹값 '0x00'이 삭제 연산의 영향을 받지 않고 그대로 남아 있어 유효성 판단 결과 유효한 데이터로 판단될 수 있는 문제점이 있다.
본 발명은 플래시 메모리에 소정의 데이터 연산을 수행하는 도중 전원 공급이 중단될 경우, 데이터의 유효성을 용이하게 판단할 수 있는 플래시 메모리의 데이터 처리 장치 및 방법을 제공하는데 그 목적이 있다.
본 발명의 목적은 이상에서 언급한 목적으로 제한되지 않으며, 언급되지 않은 또 다른 목적들은 아래의 기재로부터 당업자에게 명확하게 이해되어 질 수 있을 것이다.
상기 목적을 달성하기 위하여, 본 발명의 실시예에 따른 플래시 메모리의 데이터 처리 장치는, 소정의 논리 주소를 이용하여 데이터 연산을 요청하는 사용자 요청부와, 상기 논리 주소를 물리 주소로 변환하는 변환부와, 상기 데이터에서 소정 비트의 개수를 카운트한 카운트 데이터를 상기 데이터 연산 수행시 상기 데이터의 유효성 여부를 나타내는 인덱스 영역에 기록하는 제어부를 포함한다.
또한, 상기 목적을 달성하기 위하여, 본 발명의 실시예에 따른 플래시 메모리의 데이터 처리 장치는, 소정의 논리 주소에 존재하는 데이터의 유효성 여부를 나타내는 인덱스 영역에 기록된 데이터를 추출하는 추출부와, 상기 논리 주소에 존재하는 데이터 및 상기 추출된 데이터의 관계를 통해 상기 논리 주소에 존재하는 데이터의 유효성 여부를 판단하는 제어부를 포함한다.
또한, 상기 목적을 달성하기 위하여, 본 발명의 실시예에 따른 플래시 메모리의 데이터 처리 방법은, 소정의 논리 주소를 이용하여 소정의 데이터 연산이 요청되는 단계와, 상기 논리 주소가 물리 주소로 변환되는 단계와, 상기 데이터에서 소정 비트의 개수를 카운트한 카운트 데이터를 상기 데이터 연산 수행시 상기 데이터의 유효성 여부를 나타내는 인덱스 영역에 기록하는 하는 단계를 포함한다.
또한, 상기 목적을 달성하기 위하여, 본 발명의 실시예에 따른 플래시 메모리의 데이터 처리 방법은, 소정의 논리 주소에 존재하는 데이터의 유효성 여부를 나타내는 인덱스 영역에 기록된 데이터를 추출하는 단계와, 상기 논리 주소에 존재 하는 데이터 및 상기 추출된 데이터의 관계를 통해 상기 논리 주소에 존재하는 데이터의 유효성 여부를 판단하는 단계를 포함한다.
기타 실시예들의 구체적인 사항들은 상세한 설명 및 도면들에 포함되어 있다.
본 발명의 이점 및 특징, 그리고 그것들을 달성하는 방법은 첨부되는 도면과 함께 상세하게 후술되어 있는 실시예들을 참조하면 명확해질 것이다. 그러나 본 발명은 이하에서 개시되는 실시예들에 한정되는 것이 아니라 서로 다른 다양한 형태로 구현될 수 있으며, 단지 본 실시예들은 본 발명의 개시가 완전하도록 하고, 본 발명이 속하는 기술분야에서 통상의 지식을 가진 자에게 발명의 범주를 완전하게 알려주기 위해 제공되는 것이며, 본 발명은 청구항의 범주에 의해 정의될 뿐이다. 명세서 전체에 걸쳐 동일 참조 부호는 동일 구성 요소를 지칭한다.
이하, 첨부된 도면을 참조하여 본 발명의 바람직한 실시예를 상세히 설명하기로 한다.
일반적으로 플래시 메모리는 크게 소블럭 플래시 메모리와 대블럭 플래시 메모리로 나누어진다. 소블럭 플래시 메모리는 실제 물리적인 연산 단위와 논리적인 연산 단위가 동일한 반면, 상기 대블럭 플래시 메모리는 실제 물리적인 연산 단위가 상기 논리적인 연산 단위보다 큰 크기를 가진다.
여기서, 논리적인 연산 단위는 흔히 섹터로 칭하며, 사용자가 소정의 사용자 프로그램을 통하여 상기 플래시 메모리로의 데이터 기록 연산 단위이다.
또한, 물리적인 연산 단위는 흔히 페이지라 칭하며, 실제 플래시 메모리에서 데이터 연산, 예를 들어 데이터 기록 등의 연산 단위이다.
이때, 논리적인 연산 단위 및 물리적인 연산 단위는 섹터 및 페이지에 국한되지 않고 사용하는 장치에 따라 다양한 단위로 사용될 수 있다.
이때, 종래 기술에서는 각 섹터에 데이터 연산을 수행할 경우, 데이터의 유효성 검증을 위해 데이터 연산이 완료된 후 데이터의 유효성 판단을 위해 소정 섹터에 해당하는 인덱스 영역에 소정값을 마킹하는 과정을 거치게 된다. 이와 같은 데이터 연산 후 필요한 마킹 과정은 전반적인 쓰기 성능을 저하시킬 수 있다.
또한, 섹터뿐만 아니라 인덱스 영역에 해당하는 용량이 추가로 사용되기 때문에 저장 용량이 낭비 된다.
따라서, 본 발명의 실시예는 플래시 메모리에서 데이터 연산 수행시 유효성 판단을 위해 필요한 연산 횟수 및 용량을 감소시키는 동시에 각 논리 주소의 데이터 유효성 여부를 용이하게 판단할 수 있는 플래시 메모리의 데이터 처리 장치에 관한 것으로서, 도 7 은 본 발명에 따른 플래시 메모리의 데이터 처리 장치의 구조를 개략적으로 도시하고 있다.
도시된 바와 같이, 본 발명의 실시예에 따른 따른 플래시 메모리의 데이터 처리 장치는, 사용자가 소정의 논리 주소를 이용하여 플래시 메모리에서의 데이터 연산을 요청하는 사용자 요청부(100)와, 논리 주소를 물리 주소로 변환하는 변환부(200)와, 변환된 물리 주소에 따라 플래시 메모리의 동작을 제어하는 디바이스 드라이버(400)를 통해 플래시 메모리에 소정의 데이터 연산을 수행하고, 데이터 연산 수행 결과 논리 주소에 존재하는 데이터에서 소정 비트의 개수를 카운트한 카운트 데이터를 논리 주소에 존재하는 데이터의 유효성 여부를 나타내는 인덱스 영역에 기록하는 제어부(300)와, 논리 주소에 존재하는 유효성 판단시 인덱스 영역의 데이터를 추출하는 추출부(500)를 포함할 수 있다.
본 발명의 실시예에 따른 플래시 메모리는 도 8에 도시된 바와 같이, 적어도 하나 이상의 논리 주소를 포함하며, 데이터 연산이 이루어지는 데이터 영역(610)과, 데이터 연산 수행 결과 데이터 영역(610)에 존재하는 데이터의 소정 비트의 개수를 카운트한 카운트 데이터가 기록되는 인덱스 영역(620)을 포함할 수 있다. 이때, 데이터의 소정 비트로는 '1'비트 또는 '0'비트가 사용될 수 있으며, 경우에 따라 선택적으로 사용될 수 있다.
또한, 인덱스 영역(620)은 소정 비트의 개수를 카운트한 카운트 데이터가 기록되는 카운트 영역(621)과, 카운트 데이터의 인버트된 데이터가 기록되는 인버트 영역(622)을 포함할 수 있다. 이러한 인덱스 영역(620)은 데이터 영역(610)에 존재하는 데이터가 기록되는 단위에 따라 구성될 수 있다. 인덱스 영역(620)은 데이터 영역(610)에 1회에 걸친 데이터 기록이 완료되는 영역 다음에 위치할 수 있다. 예를 들어, 데이터 영역(610)에 데이터가 1회에 10byte가 기록되면, 인덱스 영역(620)은 10byte 다음에 위치하게 되고, 데이터 영역(610)에 데이터가 1회에 504byte가 기록되면, 인덱스 영역(620)은 504byte 다음에 위치할 수 있다. 물론, 인덱스 영역(620)이 데이터 영역 다음으로 위치가 고정되어 있는 것은 아니다.
여기서, 인버트된 데이터는 카운트 영역(621)에 기록된 카운트 데이터가 소정의 변환 방식을 통해 변환된 데이터로서, 본 발명의 실시예에서는 변환 방식으로 논리 주소에 기록된 데이터의 1의 보수 변환을 이루어진 경우를 예를 들어 설명하고 있으나, 이에 한정되지 않으며 인버트된 데이터를 역변환시 논리 주소에 기록된 데이터와 동일하게 되는 모든 변환 방식, 예를 들어 2의 보수 변환등이 채택될 수 있다. 예를 들어, 인버트된 데이터가 카운트 데이터의 1의 보수인 경우, 카운트 데이터가 '1010'인 경우 인버트된 데이터는 '0101'이 될 수 있는 것이다.
한편, 제어부(300)는 인덱스 영역(620)에 기록된 카운트 데이터 및 인버트된 데이터를 통해 데이터 영역(610)에 존재하는 데이터의 유효성을 판단할 수 있다. 이때, 카운트 데이터 및 인버트된 데이터는 추출부(500)에 의해 추출되며, 제어부(300)는 추출된 카운트 데이터에 대한 유효성 판단 후 데이터 영역(610)에 존재하는 데이터의 유효성을 판단할 수 있다.
제어부(300)는 인버트된 데이터를 역변환하여 카운트 데이터와 동일한지의 여부를 판단하고, 판단 결과에 따라 카운트 데이터의 유효성을 판단할 수 있다. 이때, 카운트 데이터의 유효성을 판단하는 것은 카운트 데이터를 사용하여 데이터의 유효성을 판단하기 이전에 카운트 데이터 자체의 유효성을 먼저 확인해야하기 때문이다.
이후, 제어부(300)는 카운트 데이터에 따른 소정 비트의 개수와 데이터 영역(610)에 존재하는 데이터에서 해당 비트의 개수를 비교하여 동일한 경우 유효한 것으로 판단하고, 그렇지 않은 경우 유효하지 않은 것으로 판단할 수 있다.
따라서, 각 섹터에 대한 데이터의 유효성을 판단하기 위해 데이터 기록 연산 후 섹터에 해당하는 인덱스 영역에 소정값을 마킹하는 경우에 비하여 필요한 연산 횟수를 줄일 수 있다
이하, 본 발명의 실시예에 따른 플래시 메모리의 데이터 처리 방법을 살펴보기로 한다.
도 9는 본 발명의 실시예에 따른 플래시 메모리의 데이터 연산 수행시 카운트 데이터 및 인버트된 데이터를 생성하는 방법이 도시된 도면이다.
도시된 바와 같이, 먼저 사용자가 사용자 요청부(100)를 이용하여 소정의 논리 주소에 데이터 연산을 요청한다(S110).
이때, 제어부(300)는 데이터 연산 수행 이전에 데이터 연산시 사용되는 데이터에서 소정 비트의 개수를 카운트하고(S120), 카운트 결과에 따라 제어부(300)는 소정 비트의 개수를 카운트한 카운트 데이터를 생성한다(S130). 이때, 카운트되는 비트는 '1'비트 또는 '0'비트일 수 있으며, 경우에 따라 선택적으로 사용될 수 있다.
또한, 제어부(300)는 생성된 카운트 데이터의 인버트된 데이터를 생성한다(S140).
구체적으로, 사용자가 데이터 연산을 요청하면, 해당 데이터는 버퍼에 로드되고, 제어부(300)는 로드된 데이터에서 소정 비트의 개수를 카운트하게 된다. 이때, 제어부(300)는 카운트된 카운트 데이터를 통해 다시 인버트된 데이터를 생성하게 된다. 또한, 제어부(300)는 생성된 카운트 데이터 및 인버트된 데이터를 버퍼에 로드시킨다.
이후, 제어부(300)는 데이터 연산을 수행하는 동시에 생성된 카운트 데이터 및 인버트된 데이터를 각각 카운트 영역(621)과 인버트 영역(622)에 기록한다(S150). 다시 말해서, 제어부(300)는 버퍼에 로드된 데이터, 카운트 데이터 및 인버트된 데이터를 각각 데이터 영역과(610), 카운트 영역(621)과 인버트 영역(622)에 기록하는 것이다.
전술한 바와 같은 도 9의 본 발명의 실시예에 따른 카운트 데이터 및 인버트된 데이터 생성 방법을 도 10a 및 도 10b를 참조로 하여 보다 상세하게 살펴본다.
데이터 영역(610)에 소정의 데이터 연산을 통해 '1001010011'이 존재하는 경우, 제어부(300)가 '1'비트의 개수를 카운트하게 되면 도 10a와 같이, 카운트 영역(621)에는 '0110'이 기록될 수 있다. 이때, 인버트된 데이터가 카운트 데이터의 1의 보수인 경우, 인버트 영역(622)에는 '0110'의 1의 보수인 '1001'이 기록될 수 있다. 만일, 제어부(300)가 '0'비트의 개수를 카운트하게 되면, 도 10b와 같이 카운트 영역(621)에는 '0100'이 기록되고, 인버트 영역(622)에는 '0100'의 1의 보수인 '1011'이 기록될 수 있다.
도 11은 전술한 도 9의 방법을 통해 기록된 카운트 데이터와 인버트된 데이터를 통해 데이터 영역(610)에 존재하는 데이터의 유효성을 판단하는 방법이 도시된 도면이다.
도시된 바와 같이, 먼저 추출부(500)가 카운트 영역(621) 및 인버트 영역(622)의 카운트 데이터 및 인버트된 데이터를 추출한다(S210).
이후, 제어부(300)는 추출된 카운트 데이터 및 인버트된 데이터가 서로 인버트 관계를 가지는지의 여부를 판단한다(S220). 이때, 인버트 관계는 인버트된 데이 터를 역변환하여 카운트 데이터와 비교하여 동일한지의 여부를 판단하고, 판단 결과 동일할 경우 인버트 관계를 가지는 것으로 판단하고, 그렇지 않은 경우 인버트 관계가 아닌 것으로 판단한다. 또한, 카운트 데이터와 인버트된 데이터가 서로 인버트 관계가 아닐 경우에는 데이터 영역(610)에 존재하는 데이터에 대한 유효성을 판단할 수 없기 때문에 데이터 영역(610)에 존재하는 데이터 또한 유효하지 않은 것으로 판단된다.
판단 결과, 카운트 데이터와 인버트된 데이터가 서로 인버트 관계인 경우, 제어부(300)는 데이터 영역(610)에 존재하는 데이터에서 소정 비트의 개수를 카운트한다(S230). 이때, 카운트되는 비트는 카운트 데이터 생성시 사용된 비트와 동일한 비트가 사용된다.
데이터 영역(610)에 존재하는 데이터에서 소정 비트의 개수를 카운트한 데이터와 추출된 카운트 데이터가 동일한지의 여부를 판단한다(S240).
판단 결과, 데이터 영역(610)에 존재하는 데이터에서 소정 비트의 개수와 추출된 카운트 데이터에 따른 소정 비트의 개수가 동일한 경우, 데이터 영역(610)에 존재하는 데이터는 유효한 것으로 판단된다(S250).
만일, 데이터 영역(610)에서 존재하는 데이터에서 소정 비트의 개수와 추출된 카운트 데이터에 따른 소정 비트의 개수가 다르거나 전술한 카운트 데이터와 인버트된 데이터가 서로 인버트 관계가 아닌 경우, 데이터 영역(610)에 존재하는 데이터는 유효하지 않은 것으로 판단된다(S260).
이상과 같이 본 발명에 따른 플래시 메모리의 데이터 처리 장치 및 방법을 예시된 도면을 참조로 하여 설명하였으나, 본 명세서에 개시된 실시예와 도면에 의해 본 발명은 한정되지 않으며 그 발명의 기술사상 범위내에서 당업자에 의해 다양한 변형이 이루어질 수 있음은 물론이다.
상기한 바와 같은 본 발명의 플래시 메모리의 데이터 처리 장치 및 방법에 따르면 다음과 같은 효과가 하나 혹은 그 이상 있다.
첫째, 데이터 기록 또는 삭제 연산중 전원이 중단되어 기록 또는 삭제하던 데이터가 원래 의도했던 데이터와 다를 경우, 이를 발견하는 검사의 정확도를 높힐 수 있는 장점이 있다.
둘째, 소정 논리 주소에 해당하는 인덱스 영역에 데이터 기록 연산 후 소정값을 마킹하지 않기 때문에 데이터의 유효성 판단을 위해 데이터 기록시 필요한 연산 횟수가 감소되어 플래시 메모리의 전체적인 성능을 향상시킬 수 있는 장점이 있다.

Claims (17)

  1. 소정의 논리 주소를 이용하여 데이터 연산을 요청하는 사용자 요청부와,
    상기 논리 주소를 물리 주소로 변환하는 변환부와,
    상기 데이터에서 소정 비트의 개수를 카운트한 카운트 데이터를 상기 데이터 연산 수행시 상기 데이터의 유효성 여부를 나타내는 인덱스 영역에 기록하는 제어부를 포함하는 플래시 메모리의 데이터 처리 장치.
  2. 제 1 항에 있어서,
    상기 제어부는 상기 카운트 데이터의 인버트된(Inverted) 데이터를 생성하는 플래시 메모리의 데이터 처리 장치.
  3. 제 2 항에 있어서,
    상기 인덱스 영역은 상기 카운트 데이터가 기록되는 카운트 영역과,
    상기 인버트된 데이터가 기록되는 인버트 영역을 포함하는 플래시 메모리의 데이터 처리 장치.
  4. 제 3 항에 있어서,
    상기 인버트된 데이터는 상기 카운트 데이터의 역데이터로 이루어지는 플래시 메모리의 데이터 처리 장치.
  5. 소정의 논리 주소에 존재하는 데이터의 유효성 여부를 나타내는 인덱스 영역에 기록된 데이터를 추출하는 추출부와,
    상기 논리 주소에 존재하는 데이터 및 상기 추출된 데이터의 관계를 통해 상기 논리 주소에 존재하는 데이터의 유효성 여부를 판단하는 제어부를 포함하는 플래시 메모리의 데이터 처리 장치.
  6. 제 5 항에 있어서,
    상기 인덱스 영역은 상기 논리 주소에 존재하는 데이터의 소정 비트의 개수를 카운트한 카운트 데이터가 기록되는 카운트 영역과,
    상기 카운트 데이터의 인버트된 데이터가 기록되는 인버트 영역을 포함하는 플래시 메모리의 데이터 처리 장치.
  7. 제 6 항에 있어서,
    상기 인버트된 데이터는 상기 카운트 데이터의 역데이터로 이루어지는 플래시 메모리의 데이터 처리 장치.
  8. 제 7 항에 있어서,
    상기 제어부는, 상기 인버트된 데이터의 역변환시, 상기 카운트 데이터와 동일한 경우 상기 카운트 데이터가 유효한 것으로 판단하는 플래시 메모리의 데이터 처리 장치.
  9. 제 8 항에 있어서,
    상기 제어부는, 상기 논리 주소에 존재하는 데이터에서 소정 비트의 개수와 상기 카운트 데이터에 따른 해당 비트의 개수가 동일할 경우 상기 논리 주소에 존재하는 데이터가 유효한 것으로 판단하는 플래시 메모리의 데이터 처리 장치.
  10. 소정의 논리 주소를 이용하여 소정의 데이터 연산이 요청되는 단계와,
    상기 논리 주소가 물리 주소로 변환되는 단계와,
    상기 데이터에서 소정 비트의 개수를 카운트한 카운트 데이터를 상기 데이터 연산 수행시 상기 데이터의 유효성 여부를 나타내는 인덱스 영역에 기록하는 단계를 포함하는 플래시 메모리의 데이터 처리 방법.
  11. 제 10 항에 있어서,
    상기 카운트 데이터를 기록하는 단계는, 상기 카운트 데이터의 인버트된 데이터를 생성하여 기록하는 단계를 포함하는 플래시 메모리의 데이터 처리 방법.]
  12. 제 11 항에 있어서,
    상기 인버트된 데이터는 상기 카운트 데이터의 역데이터로 이루어지는 플래시 메모리의 데이터 처리 방법.
  13. 소정의 논리 주소에 존재하는 데이터의 유효성 여부를 나타내는 인덱스 영역에 기록된 데이터를 추출하는 단계와,
    상기 논리 주소에 존재하는 데이터 및 상기 추출된 데이터의 관계를 통해 상기 논리 주소에 존재하는 데이터의 유효성 여부를 판단하는 단계를 포함하는 플래시 메모리의 데이터 처리 방법.
  14. 제 13 항에 있어서,
    상기 인덱스 영역에 기록된 데이터를 추출하는 단계는, 상기 논리 주소에 존재하는 데이터에서 소정 비트의 개수를 카운트한 카운트 데이터를 추출하는 단계와,
    상기 카운트 데이터의 인버트된 데이터를 추출하는 단계를 포함하는 플래시 메모리의 데이터 처리 방법.
  15. 제 14 항에 있어서,
    상기 논리 주소에 존재하는 데이터 유효성 여부를 판단하는 단계는, 상기 카운트 데이터의 유효성 여부를 판단하는 단계를 더 포함하는 플래시 메모리의 데이터 처리 방법.
  16. 제 15 항에 있어서,
    상기 논리 주소에 존재하는 데이터 유효성 여부의 판단은, 상기 카운트 데이터가 유효한 경우에만 이루어지고, 상기 카운트 데이터는 역변환된 인버트된 데이터와 동일할 경우 유효한 것으로 판단되는 플래시 메모리의 데이터 처리 방법.
  17. 제 16 항에 있어서,
    상기 논리 주소에 존재하는 데이터는, 상기 카운트 데이터에 따른 소정 비트의 개수와 상기 논리 주소에 존재하는 데이터에서 해당 비트의 개수가 동일할 경우 유효한 것으로 판단되는 플래시 메모리의 데이터 처리 방법.
KR1020040095286A 2004-11-19 2004-11-19 플래시 메모리의 데이터 처리 장치 및 방법 KR100643287B1 (ko)

Priority Applications (10)

Application Number Priority Date Filing Date Title
KR1020040095286A KR100643287B1 (ko) 2004-11-19 2004-11-19 플래시 메모리의 데이터 처리 장치 및 방법
CN2005800393048A CN101061466B (zh) 2004-11-19 2005-11-14 用于处理闪速存储器的数据的装置和方法
JP2007542897A JP4902547B2 (ja) 2004-11-19 2005-11-14 フラッシュメモリのデータ処理装置及び方法
AU2005307231A AU2005307231A1 (en) 2004-11-19 2005-11-14 Apparatus and method for processing data of flash memory
PCT/KR2005/003851 WO2006054852A1 (en) 2004-11-19 2005-11-14 Apparatus and method for processing data of flash memory
EP05821313A EP1812866A4 (en) 2004-11-19 2005-11-14 APPARATUS AND METHOD FOR PROCESSING DATA OF A FLASH MEMORY
CA2587724A CA2587724C (en) 2004-11-19 2005-11-14 Apparatus and method for data validation in flash memory
US11/283,376 US8015344B2 (en) 2004-11-19 2005-11-21 Apparatus and method for processing data of flash memory
AU2010201333A AU2010201333A1 (en) 2004-11-19 2010-04-01 Apparatus and method for processing data of flash memory
US13/188,997 US8230166B2 (en) 2004-11-19 2011-07-22 Apparatus and method for processing data of flash memory

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020040095286A KR100643287B1 (ko) 2004-11-19 2004-11-19 플래시 메모리의 데이터 처리 장치 및 방법

Publications (2)

Publication Number Publication Date
KR20060056440A true KR20060056440A (ko) 2006-05-24
KR100643287B1 KR100643287B1 (ko) 2006-11-10

Family

ID=36407364

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020040095286A KR100643287B1 (ko) 2004-11-19 2004-11-19 플래시 메모리의 데이터 처리 장치 및 방법

Country Status (8)

Country Link
US (2) US8015344B2 (ko)
EP (1) EP1812866A4 (ko)
JP (1) JP4902547B2 (ko)
KR (1) KR100643287B1 (ko)
CN (1) CN101061466B (ko)
AU (2) AU2005307231A1 (ko)
CA (1) CA2587724C (ko)
WO (1) WO2006054852A1 (ko)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100736103B1 (ko) * 2006-06-27 2007-07-06 삼성전자주식회사 비휘발성 메모리, 상기 비휘발성 메모리의 데이터 유효성을판단하는 장치 및 방법
US7843732B2 (en) 2007-08-30 2010-11-30 Samsung Electronics Co., Ltd. Methods of operating multi-bit flash memory devices and related systems

Families Citing this family (15)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7644239B2 (en) 2004-05-03 2010-01-05 Microsoft Corporation Non-volatile memory cache performance improvement
US7490197B2 (en) 2004-10-21 2009-02-10 Microsoft Corporation Using external memory devices to improve system performance
US8914557B2 (en) 2005-12-16 2014-12-16 Microsoft Corporation Optimizing write and wear performance for a memory
CN101256536B (zh) * 2007-03-01 2010-05-26 创惟科技股份有限公司 闪存地址转换层系统
KR101473344B1 (ko) * 2007-08-24 2014-12-17 삼성전자 주식회사 플래시 메모리를 스토리지로 사용하는 장치 및 그 동작방법
US8631203B2 (en) * 2007-12-10 2014-01-14 Microsoft Corporation Management of external memory functioning as virtual cache
US8495438B2 (en) * 2007-12-28 2013-07-23 Texas Instruments Incorporated Technique for memory imprint reliability improvement
JP4729062B2 (ja) * 2008-03-07 2011-07-20 株式会社東芝 メモリシステム
US9032151B2 (en) 2008-09-15 2015-05-12 Microsoft Technology Licensing, Llc Method and system for ensuring reliability of cache data and metadata subsequent to a reboot
US8032707B2 (en) 2008-09-15 2011-10-04 Microsoft Corporation Managing cache data and metadata
US7953774B2 (en) 2008-09-19 2011-05-31 Microsoft Corporation Aggregation of write traffic to a data store
JP4696171B2 (ja) * 2009-05-19 2011-06-08 富士通株式会社 記憶装置、データ保存方法およびデータ保存プログラム
KR20140125985A (ko) * 2013-04-22 2014-10-30 에스케이하이닉스 주식회사 반도체 장치
CN105653469B (zh) * 2015-12-30 2018-11-02 深圳Tcl数字技术有限公司 数据写入方法和装置
CN107786320B (zh) 2016-08-25 2021-06-22 华为技术有限公司 一种发送和接收业务的方法、装置和网络系统

Family Cites Families (30)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US3840862A (en) * 1973-09-27 1974-10-08 Honeywell Inf Systems Status indicator apparatus for tag directory in associative stores
JPS56107399A (en) * 1980-01-29 1981-08-26 Matsushita Electric Ind Co Ltd Parity check system
JPS59165300A (ja) * 1983-03-10 1984-09-18 Fujitsu Ltd メモリ障害訂正方式
JPH01181141A (ja) * 1988-01-13 1989-07-19 Fujitsu Ltd メモリ誤り検出方式
US4980888A (en) * 1988-09-12 1990-12-25 Digital Equipment Corporation Memory testing system
US5473753A (en) * 1992-10-30 1995-12-05 Intel Corporation Method of managing defects in flash disk memories
JPH0830517A (ja) * 1994-07-20 1996-02-02 Mitsubishi Electric Corp 計装制御装置
US6571361B1 (en) * 1995-09-29 2003-05-27 Kabushiki Kaisha Toshiba Encoder and decoder
US5708790A (en) * 1995-12-12 1998-01-13 International Business Machines Corporation Virtual memory mapping method and system for address translation mapping of logical memory partitions for BAT and TLB entries in a data processing system
US5875477A (en) * 1995-12-22 1999-02-23 Intel Corporation Method and apparatus for error management in a solid state disk drive using primary and secondary logical sector numbers
JP3489708B2 (ja) 1996-10-23 2004-01-26 シャープ株式会社 不揮発性半導体記憶装置
JPH113284A (ja) * 1997-06-10 1999-01-06 Mitsubishi Electric Corp 情報記憶媒体およびそのセキュリティ方法
US6000006A (en) * 1997-08-25 1999-12-07 Bit Microsystems, Inc. Unified re-map and cache-index table with dual write-counters for wear-leveling of non-volatile flash RAM mass storage
EP0926687B1 (en) * 1997-12-22 2005-03-02 STMicroelectronics S.r.l. Self-test and correction of loss of charge errors in a flash memory, erasable and programmable by sectors thereof
WO1999032977A1 (fr) * 1997-12-22 1999-07-01 Tdk Corporation Systeme de memoire flash
KR100319598B1 (ko) * 1998-03-18 2002-04-06 김영환 플래시메모리어레이액세스방법및장치
JP4146006B2 (ja) 1998-09-28 2008-09-03 富士通株式会社 フラッシュメモリを有する電子機器
US6233645B1 (en) * 1998-11-02 2001-05-15 Compaq Computer Corporation Dynamically disabling speculative prefetch when high priority demand fetch opportunity use is high
US6473877B1 (en) * 1999-11-10 2002-10-29 Hewlett-Packard Company ECC code mechanism to detect wire stuck-at faults
US6141251A (en) * 2000-01-28 2000-10-31 Silicon Storage Technology, Inc. Non-volatile memory array having an index used in programming and erasing
JP3750477B2 (ja) * 2000-03-23 2006-03-01 トヨタ自動車株式会社 データ書込装置及びデータ破壊検出装置
US6767695B2 (en) * 2001-01-17 2004-07-27 International Business Machines Corporation CDROM copy protection
US7549011B2 (en) * 2001-08-30 2009-06-16 Micron Technology, Inc. Bit inversion in memory devices
US6977847B2 (en) 2001-11-23 2005-12-20 M-Systems Flash Disk Pioneers Ltd. Detecting partially erased units in flash devices
JP2004021811A (ja) * 2002-06-19 2004-01-22 Hitachi Ltd 不揮発メモリを使用したディスク制御装置
US7020815B2 (en) * 2002-08-29 2006-03-28 Micron Technology, Inc. Memory technology test apparatus
US7321959B2 (en) 2002-10-02 2008-01-22 Matsushita Electric Industrial Co., Ltd. Control method of a non-volatile memory apparatus
KR100457812B1 (ko) 2002-11-14 2004-11-18 삼성전자주식회사 플래시 메모리, 그에 따른 플래시 메모리 액세스 장치 및방법
JP2004265162A (ja) * 2003-03-03 2004-09-24 Renesas Technology Corp 記憶装置およびアドレス管理方法
JP2004310216A (ja) * 2003-04-02 2004-11-04 Nisca Corp 電子機器の動作制御を行うための制御装置及び自動原稿送り装置

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100736103B1 (ko) * 2006-06-27 2007-07-06 삼성전자주식회사 비휘발성 메모리, 상기 비휘발성 메모리의 데이터 유효성을판단하는 장치 및 방법
US7573754B2 (en) 2006-06-27 2009-08-11 Samsung Electronics Co., Ltd. Nonvolatile memory, apparatus and method for determining data validity of the same
US7843732B2 (en) 2007-08-30 2010-11-30 Samsung Electronics Co., Ltd. Methods of operating multi-bit flash memory devices and related systems

Also Published As

Publication number Publication date
US20060112215A1 (en) 2006-05-25
KR100643287B1 (ko) 2006-11-10
US20110276750A1 (en) 2011-11-10
JP2008521123A (ja) 2008-06-19
EP1812866A1 (en) 2007-08-01
JP4902547B2 (ja) 2012-03-21
US8015344B2 (en) 2011-09-06
AU2005307231A1 (en) 2006-05-26
CA2587724C (en) 2014-05-27
AU2010201333A1 (en) 2010-04-29
EP1812866A4 (en) 2009-01-07
WO2006054852A1 (en) 2006-05-26
CN101061466B (zh) 2010-09-08
CA2587724A1 (en) 2006-05-26
CN101061466A (zh) 2007-10-24
US8230166B2 (en) 2012-07-24

Similar Documents

Publication Publication Date Title
JP4902547B2 (ja) フラッシュメモリのデータ処理装置及び方法
US10255192B2 (en) Data storage device and data maintenance method thereof
JP4688584B2 (ja) ストレージ装置
TWI489373B (zh) 資料儲存裝置和快閃記憶體之區塊管理方法
US8103820B2 (en) Wear leveling method and controller using the same
US11204864B2 (en) Data storage devices and data processing methods for improving the accessing performance of the data storage devices
CN109471594B (zh) 一种mlc闪存读写方法
KR100643288B1 (ko) 플래시 메모리의 데이터 처리 장치 및 방법
CN111475425A (zh) 管理闪存模块的方法及相关的闪存控制器与电子装置
CN106445401B (zh) 表格更新方法、存储器储存装置及存储器控制电路单元
JP2006114043A (ja) フラッシュメモリのデータ処理装置及び方法
KR20130125303A (ko) 제어 장치, 기억 장치, 데이터 기입 방법
KR100704618B1 (ko) 플래시 메모리의 데이터 복구 장치 및 방법
KR20160042224A (ko) 데이터 저장 장치 및 그것의 동작 방법
US9778862B2 (en) Data storing method for preventing data losing during flush operation, memory control circuit unit and memory storage apparatus
JP2012521032A (ja) Ssdコントローラおよびssdコントローラの動作方法
US11789864B2 (en) Flush method for mapping table of SSD
US11055231B2 (en) Data storage devices and data processing methods of skipping editing of fields in H2F table when consecutive addresses are present in F2H table
US11899976B2 (en) Solid state storage device and write control method with different write modes therof
KR102462829B1 (ko) Nand 플래시 메모리의 보안 카피-백 프로그램 방법
JP5264459B2 (ja) 半導体記憶装置
KR102527288B1 (ko) 데이터 저장 장치 및 그것의 동작 방법
TWI632458B (zh) 儲存裝置及其控制單元、可用於儲存裝置的資料搬移方法
CN111897489A (zh) 数据写入方法、装置、设备及计算机可读存储介质
CN111176562A (zh) 一种存储系统

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: 20120925

Year of fee payment: 7

FPAY Annual fee payment

Payment date: 20130930

Year of fee payment: 8

FPAY Annual fee payment

Payment date: 20141001

Year of fee payment: 9

FPAY Annual fee payment

Payment date: 20151001

Year of fee payment: 10

FPAY Annual fee payment

Payment date: 20160930

Year of fee payment: 11

FPAY Annual fee payment

Payment date: 20180927

Year of fee payment: 13

FPAY Annual fee payment

Payment date: 20190930

Year of fee payment: 14