KR100914646B1 - Management Scheme for Flash Memory with the Multi-Plane Architecture - Google Patents
Management Scheme for Flash Memory with the Multi-Plane Architecture Download PDFInfo
- Publication number
- KR100914646B1 KR100914646B1 KR1020020052349A KR20020052349A KR100914646B1 KR 100914646 B1 KR100914646 B1 KR 100914646B1 KR 1020020052349 A KR1020020052349 A KR 1020020052349A KR 20020052349 A KR20020052349 A KR 20020052349A KR 100914646 B1 KR100914646 B1 KR 100914646B1
- Authority
- KR
- South Korea
- Prior art keywords
- physical
- group
- flash memory
- page
- page group
- 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
- 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
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2212/00—Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
- G06F2212/72—Details relating to flash memory management
- G06F2212/7201—Logical to physical mapping or translation of blocks or pages
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Memory System (AREA)
- Read Only Memory (AREA)
Abstract
본 발명은 멀티-플레인 구조를 가진 플래시 메모리의 플래시 변환 계층의 설계 방법에 관한 것이다. 본 발명에 따른 플래시 변환 계층에 서는, 각각의 플레인이 복수 개의 물리블록을 포함하는 복수 개의 플레인이 제공되고, 복수 개의 플레인 각각에서 하나씩 선택된 물리블록을 포함하는 물리블록그룹이 제공된다. 또한, 물리블록은 복수 개의 물리페이지를 포함하고, 동일한 물리블록그룹에 포함된 물리블록들 각각에서 하나씩 선택된 물리페이지를 포함하는 물리페이지그룹이 제공된다. 각 물리블록그룹은 동시에 전기적 소거가 가능하고, 각 물리페이지그룹은 동시에 기록 또는 판독이 가능하다. The present invention relates to a method of designing a flash translation layer of a flash memory having a multi-plane structure. In the flash translation layer according to the present invention, a plurality of planes are provided, each plane including a plurality of physical blocks, and a physical block group including a physical block selected one from each of the plurality of planes is provided. In addition, the physical block includes a plurality of physical pages, and a physical page group including physical pages selected one from each of the physical blocks included in the same physical block group is provided. Each physical block group can be electrically erased at the same time, and each physical page group can be written or read simultaneously.
멀티-플레인, 물리블록그룹, 물리페이지그룹, 사상 테이블, 쓰기블록그룹Multi-plane, Physical Block Group, Physical Page Group, Mapping Table, Write Block Group
Description
도 1은 종래 기술에 따른 플래시 메모리의 구조를 도시한 도면.1 is a view showing the structure of a flash memory according to the prior art.
도 2는 종래 기술에 따른 플래시 메모리의 물리페이지 구조를 도시한 도면.2 is a diagram illustrating a physical page structure of a flash memory according to the prior art.
도 3은 멀티-플레인 구조의 플래시 메모리의 구성도.3 is a block diagram of a flash memory having a multi-plane structure.
도 4는 본 발명의 실시예에 따른 플래시 메모리의 구조를 도시한 도면.4 illustrates the structure of a flash memory according to an embodiment of the present invention.
도 5는 본 발명의 실시예에 따른 물리페이지의 구조를 도시한 도면.5 illustrates a structure of a physical page according to an embodiment of the present invention.
도 6은 본 발명의 실시예에 따른 사상 테이블을 도시한 도면.6 illustrates a mapping table according to an embodiment of the present invention.
도 7은 본 발명의 실시예에 따라, 플래시 메모리의 쓰기 연산에 관한 동작을 나타내는 흐름도.7 is a flowchart illustrating operations relating to a write operation of a flash memory, according to an embodiment of the present invention.
도 8은 본 발명의 실시예에 따라, 페이지그룹버퍼의 내용을 플래시 메모리에 기록하는 방법을 보다 상세히 도시한 흐름도.8 is a flow chart illustrating in more detail a method for writing the contents of a page group buffer into a flash memory, in accordance with an embodiment of the invention.
도 9는 본 발명의 실시예에 따라, 플래시 메모리의 읽기 연산에 관한 동작을 나타내는 흐름도.9 is a flowchart illustrating operations relating to a read operation of a flash memory, in accordance with an embodiment of the present invention.
<도면의 주요부분에 대한 부호의 설명><Description of the symbols for the main parts of the drawings>
41 : 물리블록그룹41: physical block group
42 : 물리페이지그룹 42: Physical page group
43 : 마스터블록그룹43: master block group
44 : 사상영역44: mapping area
45 : 데이터영역
45: data area
본 발명은 NAND형 플래시 메모리(NAND-type Flash Memory)를 위한 플래시 변환 계층(Flash Translation Layer)의 설계 방법에 관한 것으로, 특히 멀티-플레인 구조를 갖춘 NAND형 플래시 메모리의 특성에 최적화된 플래시 변환 계층의 설계 방법에 관한 것이다. The present invention relates to a method for designing a flash translation layer for a NAND-type flash memory, and in particular, a flash translation layer optimized for the characteristics of a NAND-type flash memory having a multi-plane structure. Relates to a design method.
플래시 메모리는 전기적으로 데이터의 소거와 프로그램이 가능한 고집적 비휘발성 메모리로서, 데이터의 기록 및 삭제가 자유로운 램(RAM)의 장점과 전원의 공급 없이도 저장된 데이터를 보존하는 롬(ROM)의 장점을 동시에 지니고 있어 최근 디지털 카메라, PDA, MP3 플레이어 등 휴대용 전자기기의 저장매체로 널리 채택되고 있다. Flash memory is a highly integrated non-volatile memory that can be erased and programmed electrically. It has the advantages of RAM, which is free to write and delete data, and ROM, which preserves stored data without supplying power. Recently, it is widely used as a storage medium for portable electronic devices such as digital cameras, PDAs, and MP3 players.
그러나, 기존의 다른 저장매체와는 달리, 플래시 메모리에서는 이전에 기록된 데이터를 변경하기 위해 전기적 소거 및 재기록 과정이 필요하다. 즉, 초기 상태에 플래시 메모리의 각 셀(cell)은 1의 값을 가지는데, 소정의 위치에 데이터를 기록하기 위해 한 셀의 값을 1에서 0으로 전환하는 것은 가능하나, 이를 0에서 1로 복구하는 것은 불가능하다. 따라서, 소정의 위치에 기록된 데이터의 내용을 변경하기 위해서는 해당 위치를 포함하는 일정량의 메모리 블록을 전기적 소거를 통해 1로 재초기화 한 후 변경된 내용을 재기록해야 한다. However, unlike other conventional storage media, flash memory requires an electrical erase and rewrite process to change previously written data. That is, in the initial state, each cell of the flash memory has a value of 1. It is possible to change the value of one cell from 1 to 0 in order to write data at a predetermined position, but from 0 to 1 It is impossible to recover. Therefore, in order to change the contents of the data recorded in the predetermined position, the memory block including the corresponding position must be reinitialized to 1 through electrical erasing and then the changed contents must be rewritten.
플래시 변환 계층(Flash Translation Layer)은, 상기와 같은 특성을 지닌 플래시 메모리를 하드 디스크와 같은 블록 디바이스로 사용할 수 있도록 중재하는 소프트웨어이다. 플래시 변환 계층은 가상의 블록 디바이스 상의 논리적인 위치와 플래시 메모리 상의 물리적인 위치 간의 사상(mapping)정보를 유지하면서, 소정의 논리적인 위치에 대해 쓰기/읽기 연산이 요청되면, 상기 사상정보를 이용하여 논리적인 위치를 물리적인 위치로 변환하는 역할을 수행한다. 특히, 논리적인 위치에 대해 데이터를 변경하는 쓰기 연산이 요청되는 경우, 논리적인 위치에 대응하는 물리적인 위치를 전기적으로 소거한 후 재기록하거나 또는 논리적인 위치를 다른 물리적인 위치로 재사상하는 역할을 수행한다. The flash translation layer is software that arbitrates flash memory having such characteristics to be used as a block device such as a hard disk. The flash translation layer maintains mapping information between a logical location on a virtual block device and a physical location on flash memory, and uses a mapping information when a write / read operation is requested for a predetermined logical location. It converts logical locations into physical locations. In particular, when a write operation that changes data is requested for a logical position, the controller erases and rewrites the physical position corresponding to the logical position, or re-thinks the logical position to another physical position. To perform.
전형적인 NAND형 플래시 메모리의 구조를 도 1에 도시하였다. 도 1에 도시된 바와 같이, 플래시 메모리는 복수 개의 일정 크기의 물리블록(11)으로 분할된다. 각 물리블록(11)은 고유의 물리블록번호 (0,1,2, ..., n-1)를 가지고 있어 개별적으로 지정 가능하며 전기적 소거의 단위로 사용된다. 또한, 각 물리블록(11)은 복수 개의 일정 크기의 물리페이지(12)로 분할된다. 각 물리페이지(12)는 소속된 물리블록(11)의 오프셋으로 접근 가능하며 기록과 판독의 단위로 사용된다. 물리블록의 크기와 물리페이지의 크기는 NAND형 플래시 제품마다 다르게 정해질 수 있는데, 일례로 전체 용량이 16 Mbytes이면서 블록의 크기가 16 Kbytes이고 페이지 의 크기가 512 bytes인 플래시 메모리는 1,024개의 물리블록으로 구성되며 각 물리블록은 32개의 물리페이지로 구성된다. The structure of a typical NAND flash memory is shown in FIG. As shown in FIG. 1, a flash memory is divided into a plurality of physical blocks 11 having a predetermined size. Each physical block 11 has a unique physical block number (0, 1, 2, ..., n-1) can be individually specified and used as a unit of electrical erasure. In addition, each physical block 11 is divided into a plurality of physical pages 12 of a predetermined size. Each physical page 12 is accessible at the offset of the belonging physical block 11 and is used as a unit of writing and reading. The size of the physical block and the size of the physical page may be different for each NAND-type flash product. For example, a flash memory having a total capacity of 16 Mbytes, a block size of 16 Kbytes, and a page size of 512 bytes is 1,024 physical blocks. Each physical block consists of 32 physical pages.
그런데, 종래의 기술에서는 플래시 메모리의 모든 물리블록들이 단일 메모리 플레인 상에 배치되었다. 이러한 단일-플레인 구조의 플래시 메모리에서는, 전기적 소거의 경우에는 한번에 한 물리블록에 대해서만, 기록과 판독의 경우에는 한번에 한 물리페이지에 대해서만 명령의 수행이 가능하였다. However, in the prior art, all physical blocks of the flash memory are disposed on a single memory plane. In such a single-plane flash memory, an instruction can be executed for only one physical block at a time for electrical erasure and only one physical page at a time for writing and reading.
상기와 같은 단일-플레인 구조를 갖춘 플래시 메모리를 위해, 미국 특허 제 5,602,987호에는 샌디스크 코오퍼레이션(SanDisk Co.) 사에 의해 제안된 플래시 변환 계층이 개시되어 있다. 도 2는 상기의 특허에 개시된 플래시 메모리의 물리페이지(12)의 구조를 도시한 것으로서, 데이터(21) 및 상기 데이터(21)와 연관된 부가정보(22)가 동일한 물리페이지 내에 저장되도록 설계되었다. 그 이유는 종래의 기술에 따른 플래시 메모리의 구조에서는 기록과 판독이 단일 물리페이지에 대해서만 수행되므로, 데이터(21)와 부가정보(22)를 동일한 물리페이지 내에 위치하게 하여 한번의 명령으로 기록 또는 판독하는 것이 효율적이기 때문이다. For a flash memory having such a single-plane structure, U.S. Patent No. 5,602,987 discloses a flash translation layer proposed by SanDisk Co., Ltd. FIG. 2 shows the structure of the physical page 12 of the flash memory disclosed in the above patent, wherein the data 21 and the additional information 22 associated with the data 21 are stored in the same physical page. The reason for this is that in the structure of the flash memory according to the prior art, since writing and reading are performed only for a single physical page, the data 21 and the additional information 22 are located in the same physical page so that they can be written or read in one command. Because it is efficient.
또한, 미국 특허 제 5,937,425호에는 엠-시스템스 플래시 디스크 파이오니어스 리미티드(M-Systems Flash Disk Pioneers Ltd.) 사에 의해 제안된 플래시 변환 계층이 개시되어 있다. 상기의 특허에 개시된 플래시 변환 계층에서는 가상의 블록 디바이스 상의 한 섹터를 플래시 메모리 상의 한 물리페이지에 기록하기 위해, (a) 상기 섹터를 포함하는 논리블록을 배치시키는 단계; (b) 상기 논리블록에 대응하는 물리블록의 기록 가능한 물리페이지를 배치시키는 단계; (c) 상기 섹터의 내 용을 상기 기록 가능한 물리페이지에 기록하는 단계를 포함하는 방법을 제공하였다.U. S. Patent No. 5,937, 425 also discloses a flash translation layer proposed by M-Systems Flash Disk Pioneers Ltd. In the flash translation layer disclosed in the above patent, for writing one sector on a virtual block device to one physical page on flash memory, (a) disposing a logical block including the sector; (b) disposing a recordable physical page of a physical block corresponding to the logical block; and (c) recording the contents of the sector in the recordable physical page.
그러나, 상기와 같은 플래시 변환 계층들은 단일-플레인 구조가 지원하는 단일 명령 수행 기능을 기반으로 하여 설계된 것으로, 멀티-플레인 구조를 갖춘 플래시 메모리에 적용될 경우 최적화된 성능을 발휘하지 못하는 문제점이 있었다. However, the above flash conversion layers are designed based on a single instruction execution function supported by a single-plane structure, and thus, there is a problem in that optimized performance is not applied when applied to a flash memory having a multi-plane structure.
멀티-플레인 구조의 플래시 메모리에서는 물리블록들이 하나 이상의 메모리 플레인 상에 분산 배치되고, 서로 다른 플레인 상에 위치한 물리블록들 또는 물리페이지들에 대해 동시에 명령의 수행이 가능하다. 따라서, 멀티-플레인 구조가 지원하는 동시 명령 수행 기능을 활용하여 최적의 성능을 발휘할 수 있도록 설계된 새로운 플래시 변환 계층이 요구된다. In a flash memory having a multi-plane structure, physical blocks are distributed on one or more memory planes, and instructions may be simultaneously executed on physical blocks or physical pages located on different planes. Thus, there is a need for a new flash translation layer designed to achieve optimal performance utilizing the concurrent command execution capabilities supported by the multi-plane architecture.
상기의 문제점을 해결하기 위해 본 발명의 목적은 멀티-플레인 구조를 갖춘 플래시 메모리에 최적화된 플래시 변환 계층을 제공하는 것이다. In order to solve the above problems, an object of the present invention is to provide a flash translation layer optimized for a flash memory having a multi-plane structure.
본 발명의 목적은 동시에 복수 개의 물리블록에 대해 전기적 소거 명령을 수행하고, 동시에 복수 개의 물리페이지에 대해 기록/판독 명령을 수행함으로써, 향상된 메모리 대역폭을 최대한 이용하는 플래시 메모리 관리 방법을 제공하는 것이다. An object of the present invention is to provide a flash memory management method that makes the best use of an improved memory bandwidth by simultaneously performing an electrical erase command for a plurality of physical blocks and simultaneously performing a write / read command for a plurality of physical pages.
본 발명의 목적은 동시에 기록 또는 판독이 가능한 복수 개의 물리페이지들을 그룹화한 단위로 사상을 수행함으로써, 기록과 판독을 효과적으로 수행함과 동시에 사상에 필요한 공간 오버헤드를 최소화하는 플래시 메모리 관리 방법을 제공 하는 것이다. An object of the present invention is to provide a flash memory management method which performs recording and reading effectively and minimizes the space overhead required for mapping by performing mapping in a unit of a plurality of physical pages that can be simultaneously written or read. .
본 발명의 목적은 데이터 및 상기 데이터와 연관된 부가정보가 반드시 동일한 물리페이지 내에 저장되어야 한다는 제약을 극복하면서도 성능의 저하 없이 플래시 메모리 쓰기/읽기 연산을 구현하는 플래시 메모리 관리 방법을 제공하는 것이다.It is an object of the present invention to provide a flash memory management method that implements flash memory write / read operations without compromising performance while overcoming the constraint that data and additional information associated with the data must be stored in the same physical page.
본 발명의 목적은 사상 테이블의 갱신을 소정의 시점에 한꺼번에 수행함으로써, 불필요한 플래시 메모리의 접근을 최소화하는 플래시 메모리 관리 방법을 제공하는 것이다. SUMMARY OF THE INVENTION An object of the present invention is to provide a flash memory management method which minimizes access to unnecessary flash memory by performing update of a mapping table at a predetermined time.
본 발명의 목적은 물리블록의 전기적 소거를 소정의 시점에 한꺼번에 수행함으로써, 불필요한 플래시 메모리의 접근을 최소화하는 플래시 메모리 관리 방법을 제공하는 것이다.SUMMARY OF THE INVENTION An object of the present invention is to provide a flash memory management method for minimizing unnecessary access of a flash memory by performing electrical erase of a physical block at a predetermined time.
본 발명의 일면에 따르면, 멀티-플레인 구조를 갖춘 플래시 메모리의 구성 방법에 있어서, 각각의 플레인이 복수 개의 물리블록을 포함하는 복수 개의 플레인을 제공하는 단계; 및 상기 복수 개의 플레인 각각에서 하나씩 선택된 물리블록들을 포함하는 물리블록그룹을 제공하는 단계를 포함하는 플래시 메모리의 구성 방법이 제공된다. According to an aspect of the present invention, there is provided a method of configuring a flash memory having a multi-plane structure, the method comprising: providing a plurality of planes each plane including a plurality of physical blocks; And providing a physical block group including physical blocks selected one from each of the plurality of planes.
이하, 첨부된 도면을 참조하여 본 발명의 바람직한 실시예에 따른 플래시 변환 계층에 대하여 상세히 설명한다. Hereinafter, a flash conversion layer according to a preferred embodiment of the present invention will be described in detail with reference to the accompanying drawings.
도 3은 멀티-플레인 구조를 갖춘 NAND형 플래시 메모리의 일반적인 구조를 도시한 것이다. 도 3에서 보는 바와 같이, n개의 메모리 플레인 상에 플래시 메모리의 물리블록들이 균등하게 분산 배치되어 있고, 각 물리블록은 복수 개의 물리페이지를 포함하고 있다. 각 플레인마다 별도의 페이지 레지스터(page register)가 구비되어 있어서, 각 플레인으로부터 하나씩의 물리블록 또는 물리페이지를 선택하여 최대 n개의 물리블록 또는 물리페이지에 대해 동시에 전기적 소거 또는 기록/판독 명령을 수행할 수 있다.3 illustrates a general structure of a NAND flash memory having a multi-plane structure. As shown in FIG. 3, physical blocks of the flash memory are evenly distributed on n memory planes, and each physical block includes a plurality of physical pages. A separate page register is provided for each plane, so that one physical block or physical page can be selected from each plane to simultaneously perform electrical erase or write / read commands on up to n physical blocks or physical pages. Can be.
도 3은 4개의 플레인 상에 4,096개의 물리블록이 위치하고, 각 물리블록은 32개의 물리페이지를 포함하는 플래시 메모리의 실시예를 도시하고 있으나, 본 발명은 멀티-플레인 구조를 갖춘 여하한 구성의 NAND형 플래시 메모리에도 적용될 수 있음이 명백하다. 이하, 도 3에 도시한 실시예를 기반으로 하여 본 발명을 설명한다. FIG. 3 illustrates an embodiment of a flash memory in which 4,096 physical blocks are located on four planes and each physical block includes 32 physical pages. However, the present invention provides a NAND having any configuration with a multi-plane structure. It is obvious that the present invention can be applied to a flash memory. Hereinafter, the present invention will be described based on the embodiment shown in FIG. 3.
도 4는 본 발명의 바람직한 실시예에 따른 플래시 메모리의 구조를 도시한 것이다. 도 4에서 보는 바와 같이, 본 발명의 실시예에서는 플래시 메모리 상에 복수 개의 물리블록그룹(BG; Block Group)(41)을 설정한다. “물리블록그룹”이라 함은 전기적 소거가 동시에 가능한 물리블록들의 집합을 의미하는 것으로, 물리블록그룹번호에 의해 개별적으로 지정될 수 있다. 4개의 플레인으로 구성된 플래시 메모리가 4,096개의 물리블록으로 분할되어 있는 경우, 하나의 물리블록그룹(41)은 각각 다른 플레인 상에 위치한 4개의 물리블록으로 구성되며, 물리블록그룹 0번부터 물리블록그룹 1,023번까지 총 1,024개의 물리블록그룹이 형성된다. 4 illustrates the structure of a flash memory according to a preferred embodiment of the present invention. As shown in Fig. 4, in the embodiment of the present invention, a plurality of physical block groups (BGs) 41 are set on a flash memory. The term "physical block group" refers to a set of physical blocks that can be electrically erased at the same time and may be individually designated by a physical block group number. When a flash memory consisting of four planes is divided into 4,096 physical blocks, one physical block group 41 is composed of four physical blocks located on different planes. Up to 1,023 total 1,024 physical block groups are formed.
또한, 본 발명의 실시예에서는 각 물리블록그룹(41) 내에 복수 개의 물리페 이지그룹(42)을 설정한다. “물리페이지그룹”이라 함은 동시에 기록 또는 판독이 가능한 물리페이지들의 집합을 의미하는 것으로, 물리페이지그룹번호에 의해 개별적으로 지정될 수 있다. 4개의 플레인으로 구성된 플래시 메모리 상에 1,024개의 물리블록그룹이 설정되어 있으며 각 물리블록그룹 내에 32개의 물리페이지그룹이 설정되어 있는 경우, 한 물리페이지그룹(42)은 각각 다른 플레인 상에 위치한 4개의 물리페이지로 구성되며, 물리페이지그룹 0번부터 물리페이지그룹 32,767번까지 총 32,768개의 물리페이지그룹이 형성된다. In the embodiment of the present invention, a plurality of
도 4에 도시한 멀티-플레인 구조 상에서, 본 발명에 따른 플래시 메모리는 마스터 블록그룹(43); 사상 영역(44); 데이터 영역(45)으로 구성된다. In the multi-plane structure shown in Fig. 4, the flash memory according to the present invention comprises: a
마스터 블록그룹(43)은 물리블록그룹 0번에 위치하며, 사상 영역(44)과 데이터 영역(45)의 위치와 크기를 지정하는 테이블을 가지고 있다. 본 발명에 따른 일실시예로서, 불량 블록(bad block)이 존재하는 경우 불량 블록에 대한 정보를 마스터 블록그룹(43)에 기록하여 적절히 배제하는 기능을 구현할 수 있다. The
사상 영역(44)은 물리블록그룹 1번부터 위치하고 그 크기는 플래시 메모리의 용량에 의해 결정된다. 사상 영역(44)은 가상의 블록 디바이스 상의 논리적인 위치와 플래시 메모리 상의 물리적인 위치 간의 사상정보를 기록하는 사상 테이블을 가지고 있다. 플래시 메모리가 n개의 플레인으로 구성되는 경우, 상기 가상의 블록 디바이스 상의 논리적인 위치는 연속된 섹터를 n개씩 그룹화한 각 논리페이지그룹이 되고, 상기 플래시 메모리 상의 물리적인 위치는 물리페이지를 n개씩 그룹화한 각 물리페이지그룹이 된다. 상기 논리페이지그룹은 임의의 물리페이지그룹에 동적으로 대응될 수 있다. The
도 5는 본 발명의 바람직한 실시예에 따른 물리페이지그룹(42)의 구조를 도시한 것이다. 도 5에 도시된 바와 같이, 한 물리페이지그룹(42) 내에는 각 물리페이지마다 데이터와 부가정보가 저장되는데, 본 발명에 따른 플래시 메모리의 구조에서는 종래의 단일-플레인 구조의 플래시 메모리와 달리, 데이터 및 상기 데이터와 연관된 부가정보가 반드시 동일한 물리페이지 내에 저장되어야 한다는 제약을 받지 않는다. 왜냐하면, 멀티-플레인 구조에서는 기록 또는 판독이 한 물리페이지그룹에 속한 물리페이지들에 대해 동시에 가능하므로, 데이터와 부가정보가 동일한 물리페이지그룹 내에 저장되기만 하면 되기 때문이다. 즉, 플레인 0번에 위치한 데이터(51)와 연관된 부가정보는 플레인 0번의 부가정보(52), 플레인 1번의 부가정보(53), 플레인 2번의 부가정보(54), 또는 플레인 3번의 부가정보(55) 중 어느 하나에 선택적으로 저장될 수 있다. 5 shows the structure of a
도 6은 사상 테이블의 일례를 도시한 것으로, 도 6에서 보는 바와 같이, 사상 테이블은 각 논리페이지그룹이 어떤 물리페이지그룹에 대응되는지를 나타낸다. 사상 테이블의 각 엔트리는 논리페이지그룹번호로 색인되며, -1 또는 대응되는 물리페이지그룹번호를 가지고 있다. 논리페이지그룹 내의 각 섹터는 대응되는 물리페이지그룹 내의 플레인 0번에 위치한 물리페이지부터 차례대로 대응된다. FIG. 6 shows an example of a mapping table. As shown in FIG. 6, a mapping table indicates which physical page group each logical page group corresponds to. Each entry in the mapping table is indexed by a logical page group number, and has -1 or a corresponding physical page group number. Each sector in the logical page group corresponds in sequence starting from the physical page located at
사상 테이블을 검색함으로써 논리페이지그룹번호(0,1,2,3,...)를 물리페이지그룹번호(P0,P1,P2,P3, ...)로 변환하는 것 이외에도, 미사용 중인 물리페이지그룹과 미사용 중인 물리블록그룹을 검출할 수 있다.In addition to converting the logical page group numbers (0, 1, 2, 3, ...) into physical page group numbers (P 0 , P 1 , P 2 , P 3 , ...) by searching the mapping table, Unused physical page groups and unused physical block groups can be detected.
도 4에서의 데이터 영역(45)은 사상 영역(44)에 연이은 물리블록그룹부터 위치하고 그 크기는 플래시 메모리의 용량에 의해 결정된다. 데이터 영역의 각 물리페이지그룹은 미사용 중이거나 또는 대응하는 논리페이지그룹의 내용을 가지고 있다. The
“쓰기블록그룹(WBG; Writing Block Group)”이라 함은 현재 기록이 진행 중인 물리블록그룹을 의미하는 것으로, 초기 상태에서 쓰기블록그룹은 데이터 영역(45)의 첫 번째 물리블록그룹으로 지정된다. 이 때, 첫 번째 기록 명령이 요청되면, 쓰기블록그룹의 첫 번째 물리페이지그룹을 배치시키고, 첫 번째 물리페이지그룹에 속한 물리페이지들에 대해 동시에 기록 명령을 수행한다. 또한, 두 번째 기록 명령이 요청되면, 상기 쓰기블록그룹의 두 번째 물리페이지그룹을 배치시키고, 두 번째 물리페이지그룹에 속한 물리페이지들에 대해 동시에 기록 명령을 수행한다. 상기와 같은 방법으로, 일련의 기록 명령들에 대해 상기 쓰기블록그룹 내의 최초의 미사용 중인 물리페이지그룹을 차례대로 배치시킨다. 여러 번의 기록 명령을 수행하여 상기 쓰기블록그룹에 더 이상의 미사용 중인 물리페이지그룹이 없으면, 임의의 미사용 중인 물리블록그룹을 새로운 쓰기블록그룹으로 선정하고, 상기 새로운 쓰기블록그룹에 속한 물리블록들을 동시에 전기적으로 소거한다. 다음에 요청되는 기록 명령에 대해서는 상기 새로운 쓰기블록그룹의 첫 번째 물리페이지그룹을 배치시킨다. The term "writing block group (WBG)" refers to a physical block group in which writing is currently being performed. In the initial state, the writing block group is designated as the first physical block group of the
일실시예로서, 상기 쓰기블록그룹에 더 이상의 미사용 중인 물리페이지그룹 이 없으면, 상기 쓰기블록그룹에 기록된 모든 논리페이지그룹들에 대해 상기 쓰기블록그룹 내의 해당 물리페이지그룹에 대응되도록 한꺼번에 사상 테이블을 갱신하는 단계를 포함할 수 있다. In one embodiment, if there are no more unused physical page groups in the write block group, the mapping table may be simultaneously added to correspond to the corresponding physical page group in the write block group for all logical page groups recorded in the write block group. It may include updating.
또 다른 실시예로서, 미사용 중인 물리블록그룹의 개수가 소정의 임계치에 도달하면, 사용 중인 물리블록그룹 중에서 유효한 물리페이지그룹을 가장 적게 포함하는 물리블록그룹을 선정하고, 상기 물리블록그룹으로부터 유효한 물리페이지그룹들만 상기 새로운 쓰기블록그룹으로 이동시키고, 상기 물리블록그룹을 미사용 중인 물리블록그룹으로 회수하는 단계를 더 포함할 수 있다. 이 때, 상기 회수된 물리블록그룹에 대한 전기적 소거는 즉시 수행하지 않으며, 상기 회수된 물리블록그룹이 새로운 쓰기블록그룹으로 선정되는 시점에 수행한다. As another embodiment, when the number of unused physical block groups reaches a predetermined threshold, a physical block group including the least valid physical page group among the used physical block groups is selected, and the valid physical blocks are selected from the physical block group. The method may further include moving only page groups to the new write block group and recovering the physical block group to an unused physical block group. At this time, the electrical erase of the recovered physical block group is not immediately performed, but is performed at a time point when the recovered physical block group is selected as a new write block group.
이하, 본 발명에 따른 플래시 메모리의 동작을 도 7, 도 8, 도 9를 참조하여 설명한다. “페이지그룹버퍼”는 RAM 상에 위치하는 한 페이지그룹 크기의 버퍼를 의미하는 것으로, 일련의 섹터들에 대해 플래시 메모리 쓰기가 요청되면 동일한 논리페이지그룹에 속한 섹터들을 합하여 동시에 기록 명령을 수행하기 위해 사용된다.Hereinafter, the operation of the flash memory according to the present invention will be described with reference to FIGS. 7, 8, and 9. “Page group buffer” refers to a buffer of one page group size located in RAM. When a flash memory write is requested for a series of sectors, the sectors belonging to the same logical page group are added to execute write commands simultaneously. Used.
도 7은 플래시 메모리의 쓰기 연산에 관한 동작을 나타내는 흐름도이다. 이하, 도 7을 참조하여, 각 단계별로 수행되는 과정들을 상세히 설명하기로 한다.7 is a flowchart showing an operation related to a write operation of a flash memory. Hereinafter, referring to FIG. 7, processes performed in each step will be described in detail.
처음의 단계(101)에서는 일련의 섹터들에 대해 플래시 메모리 쓰기 요청을 수신한다. 상기 쓰기 요청에 응답하여, 단계(102)에서는 각 섹터 s에 대해, 섹터 s를 포함하는 논리페이지그룹을 결정한다. 논리페이지그룹의 결정을 위하여, 섹터 s의 섹터번호에 대한 간단한 연산으로 소속된 논리페이지그룹번호를 산출할 수 있다. 단계(103)에서는 상기 결정된 논리페이지그룹번호가 상기 페이지그룹버퍼에 이미 저장되어 있던 섹터들이 속한 논리페이지그룹번호와 동일한지 여부를 판단하게 된다. 판단 결과, 동일하지 않을 경우, 단계(104)에서는 기저장되어 있던 페이지그룹버퍼의 내용을 플래시 메모리에 기록하고 페이지그룹버퍼를 비운 뒤 단계(105)로 진행하게 된다. 단계(105)에서는 섹터 s의 내용을 페이지그룹버퍼 내의 해당 오프셋에 저장한다. 또한, 단계(103)에서 이미 페이지그룹버퍼가 비어 있는 경우에도 단계(105)가 바로 수행된다. 단계(106)에서는 쓰기 연산을 수행할 섹터가 더 남아 있는지를 판단한다. 만약, 더 남아 있으면 단계(102)로 되돌아가서 다음 섹터에 대해 기록 과정을 되풀이하고, 그렇지 않으면 단계(107)로 진행한다. 단계(107)에서는 상기 페이지그룹버퍼의 내용을 최종적으로 플래시 메모리에 기록하고 나서 쓰기 연산을 종료한다.The first step 101 receives a flash memory write request for a series of sectors. In response to the write request,
도 8은 도 7의 단계(104)와 단계(107)에서 페이지그룹버퍼의 내용을 플래시 메모리에 기록하는 방법을 보다 상세히 도시한 흐름도이다. 먼저, 단계(201)에서는 쓰기블록그룹(WBG) 내의 최초의 미사용 중인 물리페이지그룹을 배치시키고, 페이지그룹버퍼의 내용을 물리페이지그룹에 속한 물리페이지들에 동시에 기록한다. 이어서, 단계(202)에서는 현재의 WBG가 가득 찼는지를 판단하고, 만약 쓰기블록그룹에 미사용 중인 물리페이지그룹이 더 이상 없으면 단계(203)로 진행하고, 그렇지 않으면 플래시 메모리 기록을 종료하고 도 7의 쓰기 연산으로 복귀한다. 다음으로 단계(203)에서는, 쓰기블록그룹에 기록된 모든 논리페이지그룹들에 대해 상기 쓰기 블록그룹 내의 해당 물리페이지그룹에 대응되도록 한꺼번에 사상 테이블을 갱신한다. 단계(204)에서는 임의의 미사용 중인 물리블록그룹(BG)을 새로운 쓰기블록그룹으로 선정하고, 상기 새로운 쓰기블록그룹에 속한 물리블록들을 동시에 전기적으로 소거한다. 상기 임의의 미사용 중인 물리블록그룹은 사상 테이블을 검색함으로써 검출할 수 있다.FIG. 8 is a flowchart illustrating a method of writing the contents of a page group buffer to a flash memory in
앞서 설명한 또 다른 실시예로서, 단계(205)에서는 미사용 중인 물리블록그룹의 개수가 소정의 임계치(threshold)에 도달했으면 단계(206)로 진행하고, 그렇지 않으면 플래시 메모리 기록을 종료하고 도 7의 쓰기 연산으로 복귀한다. 단계(206)에서는 사용 중인 물리블록그룹 중에서 유효한 물리페이지그룹을 가장 적게 포함하는 물리블록그룹을 선정한다. 상기 유효한 물리페이지그룹을 가장 적게 포함하는 물리블록그룹은 사상 테이블을 검색함으로써 검출할 수 있다. 단계(207)에서 상기 선정된 물리블록그룹으로부터 유효한 물리페이지그룹들만 상기 새로운 쓰기블록그룹으로 이동시키고, 상기 선정된 물리블록그룹을 미사용 중인 물리블록그룹으로 회수한다. 그리고 나서, 플래시 메모리 기록을 종료하고 도 7의 쓰기 연산으로 복귀한다.As another embodiment described above, in
도 9는 플래시 메모리의 읽기 연산에 관한 동작을 나타내는 흐름도이다. 이하, 도 9를 참조하여, 각 단계별로 수행되는 과정들을 상세히 설명하기로 한다.9 is a flowchart showing an operation related to a read operation of a flash memory. Hereinafter, referring to FIG. 9, processes performed in each step will be described in detail.
먼저, 단계(301)에서는 일련의 섹터들에 대해 플래시 메모리 읽기 요청을 수신한다. 이어서, 단계(302)에서는 각 섹터 s에 대해, 섹터 s를 포함하는 논리페이지그룹을 결정한다. 이 단계에서는 섹터 s의 섹터번호에 대한 간단한 연산으로 소 속된 논리페이지그룹번호를 산출할 수 있다. 단계(303)에서는 일차적으로 쓰기블록그룹(WBG)에서 상기 논리페이지그룹에 대응되는 물리페이지그룹을 검색한다. 검색 결과, 대응되는 물리페이지그룹이 존재하는 경우에는 단계(305)에서 해당 물리페이지를 판독하고, 만약 물리페이지그룹이 존재하지 않는 경우에는 사상 테이블에서 상기 논리페이지그룹에 대응되는 물리페이지그룹을 검색하는 단계(304)를 추가로 거치게 된다. 단계(305)에서는 상기 물리페이지그룹에서 섹터 s에 해당하는 물리페이지의 데이터와 상기 데이터와 연관된 부가정보를 동시에 판독한다. 마지막으로, 단계(306)에서는 읽기 연산을 수행할 섹터가 더 남아 있는지를 판단하여, 만약 더 남아 있으면 단계(302)로 되돌아가서 다음 섹터에 대하여 판독 과정을 되풀이하고, 그렇지 않으면 읽기 연산을 종료한다.First, step 301 receives a flash memory read request for a series of sectors. Subsequently, in
한편, 본 발명의 상세한 설명에서는 구체적인 실시예에 관하여 설명하였으나, 본 발명의 범위에서 벗어나지 않는 한도 내에서는 여러 가지 변형이 가능함은 물론이다. 예컨대, 본 발명이 속하는 기술분야의 당업자는, 본 발명의 실시예가 페이지그룹 단위로 사상을 수행하는 것에 국한되지 않고, 2개 이상의 페이지그룹을 그룹화하여 사상을 수행함으로써 사상 테이블의 크기를 축소하는 것에도 적용 가능함을 쉽게 알 수 있을 것이다. 또한, 본 발명에서는 NAND형 플래시 메모리에 대한 실시예를 기술하고 있지만, 멀티-플레인 구조를 가지는 다른 종류의 플래시 메모리에도 본 발명의 원리를 적용할 수 있을 것이다.Meanwhile, in the detailed description of the present invention, specific embodiments have been described, but various modifications are possible without departing from the scope of the present invention. For example, those skilled in the art to which the present invention pertains are not limited to performing the mapping in units of page groups, and reducing the size of the mapping table by grouping two or more page groups to perform the mapping. It will be readily appreciated that it is also applicable. In addition, although the present invention describes an embodiment for a NAND type flash memory, the principles of the present invention can be applied to other kinds of flash memories having a multi-plane structure.
그러므로, 본 발명의 범위는 설명된 실시예에 국한되어 정해져서는 안되며, 후술하는 특허청구의 범위뿐 아니라 이 특허청구의 범위와 균등한 것들에 의해 정 해져야 한다.Therefore, the scope of the present invention should not be limited to the described embodiments, but should be defined not only by the scope of the following claims, but also by those equivalent to the scope of the claims.
상술한 바와 같이, 본 발명에 따르면 플래시 메모리가 n개의 플레인으로 구성되어 있는 경우 최대 n개의 물리블록 또는 물리페이지에 대해 동시에 명령을 수행하는 기능을 활용함으로써 최대 n배의 성능이 향상된 플래시 변환 계층을 구현할 수 있다. As described above, according to the present invention, when the flash memory is composed of n planes, a flash conversion layer having a performance of up to n times is improved by utilizing a function of simultaneously executing a command for up to n physical blocks or physical pages. Can be implemented.
또한, 본 발명에 따르면 데이터 및 상기 데이터와 연관된 부가정보가 반드시 동일한 물리페이지 내에 저장되어야 한다는 제약을 극복하면서도 성능의 저하 없이 플래시 메모리 쓰기/읽기 연산을 구현할 수 있다. According to the present invention, a flash memory write / read operation can be implemented without compromising performance while overcoming the constraint that data and additional information associated with the data must be stored in the same physical page.
또한, 본 발명에 따르면 사상 테이블의 갱신은 한 물리페이지그룹의 기록이 수행될 때마다 매번 수행되지 않으며, 쓰기블록그룹 내의 모든 물리페이지그룹들의 기록이 완료되는 시점에 상기 쓰기블록그룹에 기록된 모든 논리페이지그룹들에 대해 한꺼번에 수행됨으로써, 불필요한 플래시 메모리의 접근을 최소화할 수 있는 효과를 얻을 수 있다.In addition, according to the present invention, updating of the mapping table is not performed every time a write of one physical page group is performed, and all of the writes in the write block group are completed at the time when the recording of all the physical page groups in the write block group is completed. By being performed on the logical page groups at once, it is possible to obtain an effect of minimizing unnecessary access of the flash memory.
마지막으로, 본 발명에 따르면 미사용 중으로 회수된 물리블록그룹에 대한 전기적 소거는 즉시 수행되지 않으며, 상기 회수된 물리블록그룹이 새로운 쓰기블록그룹으로 선정되는 시점에 수행된다. 따라서, 이것 역시 불필요한 플래시 메모리의 접근을 최소화할 수 있게 된다.
Finally, according to the present invention, the electrical erasure of the physical block group recovered to the unused state is not performed immediately, but at the time when the recovered physical block group is selected as a new write block group. Thus, this too can minimize the access of unnecessary flash memory.
Claims (20)
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1020020052349A KR100914646B1 (en) | 2002-08-31 | 2002-08-31 | Management Scheme for Flash Memory with the Multi-Plane Architecture |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1020020052349A KR100914646B1 (en) | 2002-08-31 | 2002-08-31 | Management Scheme for Flash Memory with the Multi-Plane Architecture |
Publications (2)
Publication Number | Publication Date |
---|---|
KR20020092261A KR20020092261A (en) | 2002-12-11 |
KR100914646B1 true KR100914646B1 (en) | 2009-08-28 |
Family
ID=27728081
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
KR1020020052349A KR100914646B1 (en) | 2002-08-31 | 2002-08-31 | Management Scheme for Flash Memory with the Multi-Plane Architecture |
Country Status (1)
Country | Link |
---|---|
KR (1) | KR100914646B1 (en) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US9484104B2 (en) | 2014-03-04 | 2016-11-01 | Samsung Electronics Co., Ltd. | Nonvolatile memory system with block managing unit and method of operating the same |
Families Citing this family (13)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR100457812B1 (en) * | 2002-11-14 | 2004-11-18 | 삼성전자주식회사 | Flash memory, access apparatus and method using flash memory |
US7089349B2 (en) * | 2003-10-28 | 2006-08-08 | Sandisk Corporation | Internal maintenance schedule request for non-volatile memory system |
KR100526190B1 (en) | 2004-02-06 | 2005-11-03 | 삼성전자주식회사 | Remapping method for flash memory |
KR100684942B1 (en) * | 2005-02-07 | 2007-02-20 | 삼성전자주식회사 | Adaptive flash memory control device with multiple mapping schemes and flash memory system havintg the same |
KR100630537B1 (en) | 2005-08-09 | 2006-10-02 | 주식회사 하이닉스반도체 | Page buffer circuit of flash memory device with a function for programming dual pages and program operation method of the same |
KR100714873B1 (en) * | 2005-09-06 | 2007-05-07 | 삼성전자주식회사 | Method of and apparatus for updating data in non-volatile memory |
KR100761374B1 (en) * | 2005-12-22 | 2007-09-27 | 엠텍비젼 주식회사 | Method and Apparatus for controlling flash memory |
KR100843135B1 (en) * | 2006-11-20 | 2008-07-02 | 삼성전자주식회사 | Apparatus and method for managing nonvolatile memory |
KR101468026B1 (en) * | 2007-05-14 | 2014-12-02 | 삼성전자주식회사 | memory cell programming method and semiconductor device |
KR100924021B1 (en) * | 2007-10-02 | 2009-10-28 | 주식회사 휴원 | Flash memory mapping management method |
KR100908542B1 (en) | 2007-12-24 | 2009-07-20 | 주식회사 하이닉스반도체 | Nonvolatile Memory Device and Its Program Method |
KR101022001B1 (en) * | 2008-12-08 | 2011-03-17 | 주식회사 이스트후 | Flash memory system and method for managing flash memory |
KR20100107609A (en) | 2009-03-26 | 2010-10-06 | 삼성전자주식회사 | Resistive memory device, memory system including the same, and writing method of the same |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
EP0420339A2 (en) * | 1989-09-29 | 1991-04-03 | Koninklijke Philips Electronics N.V. | Multi-plane random access memory system |
JPH0562485A (en) * | 1991-09-05 | 1993-03-12 | Hitachi Building Syst Eng & Service Co Ltd | Rewriting device for eeprom of controller |
KR970003248A (en) * | 1995-06-30 | 1997-01-28 | 김주용 | Erasing Method of Flash Memory Device |
US5937425A (en) * | 1997-10-16 | 1999-08-10 | M-Systems Flash Disk Pioneers Ltd. | Flash file system optimized for page-mode flash technologies |
KR20030054907A (en) * | 2001-12-26 | 2003-07-02 | 주식회사 하이닉스반도체 | Block address register for multi plane |
-
2002
- 2002-08-31 KR KR1020020052349A patent/KR100914646B1/en not_active IP Right Cessation
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
EP0420339A2 (en) * | 1989-09-29 | 1991-04-03 | Koninklijke Philips Electronics N.V. | Multi-plane random access memory system |
JPH0562485A (en) * | 1991-09-05 | 1993-03-12 | Hitachi Building Syst Eng & Service Co Ltd | Rewriting device for eeprom of controller |
KR970003248A (en) * | 1995-06-30 | 1997-01-28 | 김주용 | Erasing Method of Flash Memory Device |
US5937425A (en) * | 1997-10-16 | 1999-08-10 | M-Systems Flash Disk Pioneers Ltd. | Flash file system optimized for page-mode flash technologies |
KR20030054907A (en) * | 2001-12-26 | 2003-07-02 | 주식회사 하이닉스반도체 | Block address register for multi plane |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US9484104B2 (en) | 2014-03-04 | 2016-11-01 | Samsung Electronics Co., Ltd. | Nonvolatile memory system with block managing unit and method of operating the same |
Also Published As
Publication number | Publication date |
---|---|
KR20020092261A (en) | 2002-12-11 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US6034897A (en) | Space management for managing high capacity nonvolatile memory | |
US6262918B1 (en) | Space management for managing high capacity nonvolatile memory | |
US7624239B2 (en) | Methods for the management of erase operations in non-volatile memories | |
US7783845B2 (en) | Structures for the management of erase operations in non-volatile memories | |
US5953737A (en) | Method and apparatus for performing erase operations transparent to a solid state storage system | |
EP1410399B1 (en) | Method and apparatus for decreasing block write operation times performed on nonvolatile memory | |
JP4058322B2 (en) | Memory card | |
US6081878A (en) | Increasing the memory performance of flash memory devices by writing sectors simultaneously to multiple flash memory devices | |
JP4399008B2 (en) | Non-volatile memory and method with multi-stream update tracking | |
JP4787266B2 (en) | Scratch pad block | |
US8386698B2 (en) | Data accessing method for flash memory and storage system and controller using the same | |
US8250286B2 (en) | Block management method, and storage system and controller using the same | |
US20080270680A1 (en) | Controller for Non-Volatile Memories and Methods of Operating the Memory Controller | |
US20050055497A1 (en) | Faster write operations to nonvolatile memory by manipulation of frequently-accessed sectors | |
JP2008524710A (en) | Non-volatile memory and method with improved indexing for scratchpads and update blocks | |
KR100914646B1 (en) | Management Scheme for Flash Memory with the Multi-Plane Architecture | |
JP2003058417A (en) | Storage device | |
US20050204115A1 (en) | Semiconductor memory device, memory controller and data recording method | |
JP4888333B2 (en) | Flash disk device |
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 | ||
J201 | Request for trial against refusal decision | ||
B701 | Decision to grant | ||
GRNT | Written decision to grant | ||
FPAY | Annual fee payment |
Payment date: 20120824 Year of fee payment: 4 |
|
FPAY | Annual fee payment |
Payment date: 20130826 Year of fee payment: 5 |
|
FPAY | Annual fee payment |
Payment date: 20150825 Year of fee payment: 7 |
|
FPAY | Annual fee payment |
Payment date: 20160825 Year of fee payment: 8 |
|
FPAY | Annual fee payment |
Payment date: 20170825 Year of fee payment: 9 |
|
LAPS | Lapse due to unpaid annual fee |