KR101720977B1 - 비휘발성 메모리 블록 할당 시스템 및 그 방법 - Google Patents

비휘발성 메모리 블록 할당 시스템 및 그 방법 Download PDF

Info

Publication number
KR101720977B1
KR101720977B1 KR1020100124428A KR20100124428A KR101720977B1 KR 101720977 B1 KR101720977 B1 KR 101720977B1 KR 1020100124428 A KR1020100124428 A KR 1020100124428A KR 20100124428 A KR20100124428 A KR 20100124428A KR 101720977 B1 KR101720977 B1 KR 101720977B1
Authority
KR
South Korea
Prior art keywords
block
data
allocated
update
allocation
Prior art date
Application number
KR1020100124428A
Other languages
English (en)
Other versions
KR20120063309A (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 현대모비스 주식회사
Priority to KR1020100124428A priority Critical patent/KR101720977B1/ko
Publication of KR20120063309A publication Critical patent/KR20120063309A/ko
Application granted granted Critical
Publication of KR101720977B1 publication Critical patent/KR101720977B1/ko

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
    • 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
    • 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/08Addressing or allocation; Relocation in hierarchically structured memory systems, e.g. virtual memory systems
    • G06F12/0802Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches
    • G06F12/0804Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches with main memory updating
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2212/00Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
    • G06F2212/72Details relating to flash memory management
    • G06F2212/7201Logical to physical mapping or translation of blocks or pages
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2212/00Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
    • G06F2212/72Details relating to flash memory management
    • G06F2212/7202Allocation control and policies

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Techniques For Improving Reliability Of Storages (AREA)

Abstract

비휘발성 메모리 블록 할당 시스템이 개시된다. 비휘발성 메모리 블록 할당 시스템은 할당된 블록에서 데이터를 업데이트하는 업데이트부, 및 데이터별 블록을 하나씩 할당하고 할당된 블록에서 데이터의 업데이트가 일정 횟수에 도달하면 미할당 블록을 해당 데이터에 새로 할당하는 블록 할당부를 포함한다. 이에 의해

Description

비휘발성 메모리 블록 할당 시스템 및 그 방법{Non-volatile memory block allocation system and the allocation method}
본 발명은 메모리 관리에 관한 것으로, 특히 비휘발성 메모리(Non-Volatile Memory)의 일종인 EEPROM(Electrically Erasable Programmable Read-Only Memory) 블록 할당에 관한 것이다.
일반적으로 EEPROM 블록을 업데이트하는 방법은 특정 블록을 삭제(erase)한 후 새로운 데이터를 기록(write)함으로써 이루어진다. 통상 EEPROM은 10000회의 삭제 수명을 가진다. 이는 하나의 블록에 10000회 이상 업데이트(erase/write)가 이루어지면, 그 블록에 기록된 데이터의 신뢰성을 보장할 수 없음을 의미한다. 그리고 EEPROM에 저장되는 데이터는 특성상 전원이 꺼져도 지워지지 않고 기억되어야 하는 데이터로서, 예를 들어 EEPROM이 차량 시스템에서 활용되는 경우 ECU(Electronic Control Unit)의 특정 상태를 나타내는 정보, 캘리브레이션 데이터(calibration data), 암호화 코드, 키 식별자(ID), 등이 EEPROM에 저장되는 데이터가 된다. BCM(Body Control Module)의 경우, 도난방지모드 상태, 리모트 송신기의 암호화코드, 송신기 고유 ID, 각 기능의 상태 정보 등이 EEPROM에 저장된다.
송신기의 암호화 코드 데이터는 송신기 버튼이 한번 눌려질 때마다 업데이트 되는 데이터이고, 도난방지모드 상태 데이터는 도난방지 로직의 상태가 변화될 때마다 업데이트 되어야 하는 데이터이다. 그리고 송신기 고유 ID는 리모트 송신기 정보가 BCM에 등록된 이후 새로운 송신기 정보가 등록되기 전까지는 업데이트 되지 않는 데이터이다. 즉, 각각의 데이터는 데이터별 고유 특성상 업데이트 빈도가 다를 수 있으며, 또한 사용자의 성향에 따라 업데이트 빈도가 달라질 수 있다. 따라서 EEPROM의 효율적인 사용을 위하여 사용빈도가 낮은 데이터에 대해서는 적은 수의 블록을 할당하고, 사용빈도가 높은 데이터에 대해서는 다수의 블록을 할당하여 EEPROM 맵을 구성할 필요가 있다.
이를 위해 종래에는 하나의 데이터를 한 블록에만 할당하지 않고, 개발자가 예측하는 사용빈도에 따라 도 1에서와 같이 몇 개의 블록을 할당한 후, 할당된 블록을 순차적으로 번갈아가면서 업데이트 함으로써, EEPROM의 수명에 의한 제약을 벗어나게 하고 있다. 그러나 개발자의 예측에 의해 특정 데이터에 대해 적게 할당된 블록이 사용자의 특성에 따라 빈번하게 사용되는 경우가 발생하게 되면, 해당 블록의 전체 수명이 단축되고 그로 인하여 데이터의 신뢰성을 보장할 수 없게 되므로, 결국 ECU 부품을 교체해야 하는 상황이 발생한다. 즉, 사용자의 성향이나 습관에 따라 데이터 사용 빈도의 차이가 날 수 있으며, 이는 어느 특정 블록의 사용이 집중되어 EEPROM의 전체 수명이 단축되는 가능성을 초래하는 것이다.
한편, 추후에 EEPROM에 저장해야 할 데이터가 추후 설계변경에 의해 추가될 가능성에 대비하여 EEPROM의 일정 부분을 RESERVED 영역으로 확보하여야 한다. 추가로 생성되는 데이터의 사용빈도가 높은지 낮은지 알 수 없으므로, 이 또한 예측에 의하여 상당한 범위의 영역이 예비 블록으로 지정된다. 그러나 예비 블록 지정에 의해 메모리의 낭비가 발생한다.
본 발명은 데이터의 사용빈도에 따라 메모리 블록을 효율적으로 할당할 수 있는 할당 시스템 및 그 방법을 제공함을 목적으로 한다.
전술한 기술적 과제를 달성하기 위한 본 발명의 일 양상에 따른 비휘발성 메모리 블록 할당 시스템은 할당된 블록에서 데이터를 업데이트하는 업데이트부, 및 데이터별 블록을 하나씩 할당하고 할당된 블록에서 데이터의 업데이트가 일정 횟수에 도달하면 미할당 블록을 해당 데이터에 새로 할당하는 블록 할당부를 포함한다. 여기서 비휘발성 메모리는 EEPROM이다.
한편, 전술한 기술적 과제를 달성하기 위한 본 발명의 일 양상에 따른 EEPROM 블록 할당 방법은 데이터별 블록을 하나씩 할당하는 단계, 할당된 블록에서 데이터 업데이트를 수행하는 단계, 할당된 블록에서 데이터 업데이트가 일정 횟수에 도달하면 미할당 블록을 해당 데이터에 새로이 할당하는 단계를 포함한다.
본 발명은 데이터 사용 학습을 통해 데이터별 블록 할당을 수행하여 맞춤형 메모리 맵핑을 가능하게 한다. 이는 EERPOM 수명을 향상시켜 EEPROM의 내구성을 높일 수 있게 한다. 또한 메모리 상에 낭비되는 영역을 줄이게 되므로, 단위 영역당 처리할 수 있는 데이터의 양이 증가하여 낮은 부품 단가 적용이 가능하다. 또한 부품 수에 있어서, 본 발명은 동일한 기능에 대해 적은 용량의 부품 사용을 가능하게 한다.
도 1은 개발자의 데이터 사용빈도 예측에 따라 설정되는 EEPROM 맵 예시도.
도 2는 본 발명의 일 실시예에 따른 비휘발성 메모리 블록 할당 시스템의 블록도.
도 3은 본 발명의 일 실시예에 따른 데이터별 블록 최초 할당을 나타낸 EEPROM 맵 예시도.
도 4는 본 발명의 일 실시예에 따른 학습 모드 진행중인 EEPROM 맵 예시도.
도 5는 본 발명의 일 실시예에 따른 학습 모드 종료 후의 EEPROM 맵 예시도.
도 6은 본 발명의 일 실시예에 따른 EEPROM 블록 할당 방법 흐름도.
전술한, 그리고 추가적인 본 발명의 양상들은 첨부된 도면을 참조하여 설명되는 바람직한 실시예들을 통하여 더욱 명백해질 것이다. 이하에서는 본 발명을 이러한 실시예를 통해 당업자가 용이하게 이해하고 재현할 수 있도록 상세히 설명하기로 한다.
도 2는 본 발명의 일 실시예에 따른 비휘발성 메모리 블록 할당 시스템의 블록도이다.
블록 할당 시스템은 비휘발성 메모리의 영역 할당을 위한 시스템으로써, 업데이트부(220)와 블록 할당부(230)를 포함한다. 일 실시예에 있어서, 비휘발성 메모리는 EEPROM(210)이다. 업데이트부(220)는 데이터별 할당된 블록에서 데이터의 업데이트(erase/write)를 수행한다. 블록 할당부(230)는 EEPROM(210)에 저장되어야 할 데이터별 블록을 할당하기 위한 구성이다. 블록 할당부(230)는 EEPROM(210)에 저장되어야 할 데이터별 블록을 최초에 하나씩만 할당하며, 이에 의해 업데이트부(220)는 블록 할당을 위한 첫 과정에서 최초 블록에서만 데이터를 업데이트하게 된다. 또한 블록 할당부(230)는 데이터별 최초에 할당된 블록에서 데이터의 업데이트가 일정 횟수에 도달하였는지 체크하고, 일정 횟수에 도달하면 아직 데이터가 할당되지 않은 미할당 블록을 해당 데이터에 새로 할당한다. 그러면 업데이트부(220)는 새로 할당된 블록에서 데이터를 업데이트하고, 블록 할당부(230)는 새로 할당된 블록에서의 데이터 업데이트 횟수가 일정 횟수에 도달하였는지 다시 체크하여 일정 횟수에 도달시 또 다른 미할당된 블록을 새로 할당한다. 이와 같은 방식으로 블록 할당부(230)의 블록 할당이 계속해서 이루어지면, 업데이트가 많이 발생되는 데이터는 많은 블록을 할당받게 되며, 업데이트가 적게 발생되는 데이터는 적은 블록을 할당받게 된다.
위와 같은 블록 할당 방식에 대한 이해를 돕기 위해 도 3 내지 도 5를 참조하여 설명한다. 도 3은 본 발명의 일 실시예에 따른 데이터별 블록 최초 할당을 나타낸 EEPROM 맵 예시도이고, 도 4는 본 발명의 일 실시예에 따른 학습 모드 진행중인 EEPROM 맵 예시도이며, 도 5는 본 발명의 일 실시예에 따른 학습 모드 종료 후의 EEPROM 맵 예시도이다.
EEPROM 블록들에 최초로 데이터를 할당하기 위한 과정에서, 블록 할당부(230)는 데이터 각각에 블록을 하나씩 할당한다. 설명의 편의상, EEPROM 블록에 할당할 데이터는 DATA01, DATA02, DATA03 세 가지인 것으로 가정한다. 블록 할당부(230)에 의해 DATA01, DATA02, DATA03이 최초 블록부터 하나씩 할당되면, 도 3에 도시된 바와 같이 예비용으로 지정된 Reserved 블록 이외의 블록들은 모두 데이터를 할당받지 않은 상태인 미할당 블록으로 남겨진다. 이 상태에서, 블록 할당부(230)는 데이터 사용량에 따라 순차적으로 데이터 블록을 추가 할당하게 되는데, 미할당 블록이 모두 소진될 때까지를 학습 모드로 정의하고 동작한다.
구체적으로, 블록 할당부(230)는 사용자가 데이터를 사용하는 횟수를 카운팅하여 일정 횟수 이상에 도달하게 되면, 미할당 블록을 해당 데이터 영역으로 할당한다. 만일 사용자가 DATA03을 빈번하게 사용하고 DATA01을 간헐적으로 사용한다면 DATA03에 대한 카운트가 더 빨리 증가하게 될 것이고, 일정 값에 도달하게 되면 DATA03에 대해 미할당 블록이 먼저 할당되게 된다. 위와 같은 학습 모드 동작에 따른 학습 모드 진행중인 상태를 나타내는 EEPROM 맵이 도 4에 예시되어 있다. 사용빈도가 가장 높은 DATA03에 대해 가장 많은 블록이 할당되었으며, 사용빈도가 가장 낮은 DATA01에 대해 가장 적은 블록이 할당되었음을 알 수 있다. 미할당 영역이 모두 소진될 때까지 학습 모드가 진행되면, 사용자의 데이터 사용 패턴을 학습하는 과정이 종료된다. Reserved 블록을 제외한 전체 블록이 할당된 EEPROM 맵의 모습이 도 5에 예시되어 있다. 전체 EEPROM의 할당이 종료된 시점에는 학습 모드 기간 동안 빈번하게 사용된 데이터의 할당 영역이 커지고 상대적으로 적게 사용된 데이터의 할당 영역이 작아지므로, 사용자의 성향 및 습관에 따른 맞춤형 메모리 맵핑이 가능하고 메모리의 라이프사이클을 증가시키게 된다.
도 6은 본 발명의 일 실시예에 따른 EEPROM 블록 할당 방법 흐름도이다.
블록 할당 시스템은 EEPROM 블록을 할당하기 위한 최초 과정에서 EEPROM에 기록해야할 데이터들 각각에 순차적으로 블록을 하나씩 할당한다(S610). 이에 따른 EEPROM 맵의 모습은 도 3에 예시되어 있다. 데이터별로 블록이 하나씩 할당되면, 블록 할당 시스템은 데이터별로 업데이트 이벤트 발생시마다(예를 들어, 사용자의 데이터 사용에 따른 업데이트) 그 데이터가 저장된 블록에서 데이터를 업데이트한다(S620). 그리고 블록 할당 시스템은 최초로 데이터가 할당된 블록에서의 데이터 업데이트 횟수를 카운팅한다(S630). 블록 할당 시스템은 카운팅된 횟수가 일정 횟수에 도달하였는지를 판단하고, 일정 횟수에 도달하였으면 그 데이터에 대해 미할당 블록을 새로 할당한다(S640)(S650). 블록 할당 시스템은 미할당 블록이 존재하는지 확인하고, 미할당 블록이 존재하면 S620으로 피드백하여 업데이트를 수행하되, 업데이트하고자 하는 데이터에 대해 새로 블록을 할당받았으면 새로 할당된 블록에서만 업데이트를 수행한다(S660). 위와 같은 과정은 미할당 블록이 모두 할당될 때까지 반복 수행된다.
이제까지 본 발명에 대하여 그 바람직한 실시예들을 중심으로 살펴보았다. 본 발명이 속하는 기술 분야에서 통상의 지식을 가진 자는 본 발명이 본 발명의 본질적인 특성에서 벗어나지 않는 범위에서 변형된 형태로 구현될 수 있음을 이해할 수 있을 것이다. 그러므로 개시된 실시예들은 한정적인 관점이 아니라 설명적인 관점에서 고려되어야 한다. 본 발명의 범위는 전술한 설명이 아니라 특허청구범위에 나타나 있으며, 그와 동등한 범위 내에 있는 모든 차이점은 본 발명에 포함된 것으로 해석되어야 할 것이다.
210 : EEPROM 220 : 업데이트부
230 : 블록 할당부

Claims (6)

  1. 비휘발성 메모리 블록 할당을 위한 시스템에 있어서,
    할당된 블록에서 데이터를 업데이트하는 업데이트부; 및
    데이터별 블록을 하나씩 할당하고, 할당된 블록에서 데이터의 업데이트가 일정 횟수에 도달하면 미할당 블록을 해당 데이터에 새로 할당하는 블록 할당부;
    를 포함하되,
    상기 블록 할당부는,
    학습 모드에서, 상기 비휘발성 메모리의 리저브 블록을 제외한 모든 블록이 할당될 때까지 할당된 블록에서 데이터의 업데이트가 일정 횟수에 도달하면 미할당 블록을 해당 데이터에 새로 할당하는 것을 반복하고, 리저브 블록을 제외한 모든 블록이 할당되면, 더 이상 블록 할당을 하지 않고, 학습 모드를 종료하고,
    상기 학습 모드 종료 후에, 특정 데이터에 대하여 할당된 블록에서 데이터의 업데이트가 일정 횟수에 도달하면, 상기 특정 데이터에 대한 업데이트되는 블록을 상기 특정 데이터에 대하여 할당된 다음 블록으로 변경하는 것을 특징으로 하고,
    상기 업데이트부는,
    상기 학습 모드 종료 후에, 특정 데이터에 대하여 할당된 블록에서 해당 데이터의 업데이트가 일정 횟수에 도달하면, 상기 해당 데이터에 대하여 할당된 다음 블록을 선택하여, 상기 다음 블록에 데이터를 업데이트하는 것을 특징으로 하는
    비휘발성 메모리 블록 할당 시스템.
  2. 삭제
  3. 삭제
  4. 제1항에 있어서,
    상기 비휘발성 메모리는 EEPROM(Electrically Erasable Programmable Read-Only Memory)임을 특징으로 하는 비휘발성 메모리 블록 할당 시스템.
  5. EEPROM(Electrically Erasable Programmable Read-Only Memory)을 이용한 비휘발성 메모리 블록 할당 방법에 있어서,
    (a) 데이터별 블록을 할당하는 학습 단계;
    (b) 상기 학습 단계 이후, 데이터를 업데이트할 블록을 변경하여, 변경된 블록에서 데이터 업데이트를 수행하는 단계;
    를 포함하되,
    상기 (a) 단계는;
    (a1) 데이터별 블록을 하나씩 할당하는 단계;
    (a2) 할당된 블록에서 사용자의 사용에 따라 데이터 업데이트를 수행하는 단계; 및
    (a3) 할당된 블록에서 데이터 업데이트가 일정 횟수에 도달하면, 미할당 블록을 해당 데이터에 새로이 할당하는 단계;
    를 포함하고,
    상기 (a2)단계 및 (a3) 단계는 리저브 블록을 제외한 모든 블록들이 할당될 때까지 반복하는 것을 특징으로 하고,
    상기 (b) 단계는,
    특정 데이터에 대하여 할당된 블록에서 데이터의 업데이트가 일정 횟수에 도달하면, 상기 특정 데이터에 대한 업데이트되는 블록을 상기 특정 데이터에 대하여 할당된 다음 블록으로 변경하고, 상기 다음 블록에 데이터를 업데이트하는 것을 특징으로 하는
    비휘발성 메모리 블록 할당 방법.
  6. 삭제
KR1020100124428A 2010-12-07 2010-12-07 비휘발성 메모리 블록 할당 시스템 및 그 방법 KR101720977B1 (ko)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020100124428A KR101720977B1 (ko) 2010-12-07 2010-12-07 비휘발성 메모리 블록 할당 시스템 및 그 방법

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020100124428A KR101720977B1 (ko) 2010-12-07 2010-12-07 비휘발성 메모리 블록 할당 시스템 및 그 방법

Publications (2)

Publication Number Publication Date
KR20120063309A KR20120063309A (ko) 2012-06-15
KR101720977B1 true KR101720977B1 (ko) 2017-03-29

Family

ID=46683847

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020100124428A KR101720977B1 (ko) 2010-12-07 2010-12-07 비휘발성 메모리 블록 할당 시스템 및 그 방법

Country Status (1)

Country Link
KR (1) KR101720977B1 (ko)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR102315314B1 (ko) * 2019-12-16 2021-10-19 주식회사 현대케피코 Eeprom 제어 장치 및 방법

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2010009500A (ja) * 2008-06-30 2010-01-14 Canon Finetech Inc 不揮発性メモリ制御装置および方法、ならびにインクジェット記録装置

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2010009500A (ja) * 2008-06-30 2010-01-14 Canon Finetech Inc 不揮発性メモリ制御装置および方法、ならびにインクジェット記録装置

Also Published As

Publication number Publication date
KR20120063309A (ko) 2012-06-15

Similar Documents

Publication Publication Date Title
US10754769B2 (en) Memory system having persistent garbage collection
US7451266B2 (en) Nonvolatile memory wear leveling by data replacement processing
US7224604B2 (en) Method of achieving wear leveling in flash memory using relative grades
US7039775B2 (en) Non-volatile storage device and rewrite control method thereof
KR100858241B1 (ko) 하이브리드 플래시 메모리 장치 및 그것의 가용 블록 할당방법
US7409490B2 (en) Method of flash memory management
US20100174845A1 (en) Wear Leveling for Non-Volatile Memories: Maintenance of Experience Count and Passive Techniques
US20100077135A1 (en) Memory wear leveling method, system and device
US20110004723A1 (en) Data writing method for flash memory and control circuit and storage system using the same
US20080104357A1 (en) Apparatus and method for managing nonvolatile memory
CN106170833A (zh) 在数据存储系统中的具有模块化擦除的数据管理
US8402204B2 (en) Methods for measuring usable lifespan and replacing an in-system programming code of a memory device, and data storage system using the same
CN110333770A (zh) 存储器管理方法、存储器存储装置及存储器控制电路单元
JP2014241158A (ja) メモリの複数のブロックの寿命の向上
CN101645044A (zh) 快闪存储器系统中内务处理操作的调度
TW200905685A (en) Memory apparatus, and method of averagely using blocks of a flash memory
JP4666081B2 (ja) メモリコントローラ及びメモリコントローラを備えるフラッシュメモリシステム、並びにフラッシュメモリの制御方法
CN106951186B (zh) 数据程序化方法、存储器存储装置及存储器控制电路单元
US8582358B2 (en) Memory system, controller, and method for controlling memory system
JP2009230414A (ja) 複数の不揮発性メモリデバイスを有する記憶装置
CN110750466A (zh) 提高闪存擦写寿命的方法和装置
US20150220433A1 (en) Method for managing flash memories having mixed memory types using a finely granulated allocation of logical memory addresses to physical memory addresses
CN111414131B (zh) 数据存储装置、其操作方法和包括其的存储系统
KR101720977B1 (ko) 비휘발성 메모리 블록 할당 시스템 및 그 방법
CN114661224A (zh) 数据存储设备及其操作方法

Legal Events

Date Code Title Description
A201 Request for examination
E902 Notification of reason for refusal
AMND Amendment
E601 Decision to refuse application
AMND Amendment
X701 Decision to grant (after re-examination)
GRNT Written decision to grant
FPAY Annual fee payment

Payment date: 20200302

Year of fee payment: 4