KR20010091565A - Flash memory structure and managing method thereof - Google Patents

Flash memory structure and managing method thereof Download PDF

Info

Publication number
KR20010091565A
KR20010091565A KR1020000013399A KR20000013399A KR20010091565A KR 20010091565 A KR20010091565 A KR 20010091565A KR 1020000013399 A KR1020000013399 A KR 1020000013399A KR 20000013399 A KR20000013399 A KR 20000013399A KR 20010091565 A KR20010091565 A KR 20010091565A
Authority
KR
South Korea
Prior art keywords
sector
data
flash memory
recorded
defective
Prior art date
Application number
KR1020000013399A
Other languages
Korean (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 KR1020000013399A priority Critical patent/KR20010091565A/en
Publication of KR20010091565A publication Critical patent/KR20010091565A/en

Links

Classifications

    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C16/00Erasable programmable read-only memories
    • G11C16/02Erasable programmable read-only memories electrically programmable
    • G11C16/06Auxiliary circuits, e.g. for writing into memory
    • G11C16/26Sensing or reading circuits; Data output circuits
    • G11C16/28Sensing or reading circuits; Data output circuits using differential sensing or reference cells, e.g. dummy cells

Landscapes

  • Read Only Memory (AREA)
  • Techniques For Improving Reliability Of Storages (AREA)
  • For Increasing The Reliability Of Semiconductor Memories (AREA)

Abstract

PURPOSE: A structure of a flash memory and a method for managing the same are provided to find and manage a defect of a sector after a recording process and a deleting process are performed. CONSTITUTION: A position of a sector for recording is confirmed by referring to a sector information table(402). A data recording process is performed(404). A process for deleting previous data is performed if the previous data are recorded in the sector for recording the data(406). The data are recorded in a corresponding sector if the previous data are not recorded in the sector for recording the data(408). A defect test for the corresponding data is performed if the data are recorded in the corresponding sector(410). The read date are compared with the data stored in a memory(412). All operations are finished if there is not a defect in the read data, or the defect state of the corresponding sector is decided if the there is the defect in the read data(414). A usable sector is selected from dummy sectors(416).

Description

플래시 메모리 구조 및 그 관리 방법{FLASH MEMORY STRUCTURE AND MANAGING METHOD THEREOF}Flash memory structure and its management method {FLASH MEMORY STRUCTURE AND MANAGING METHOD THEREOF}

본 발명은 플래시 메모리(flash memory)에 관한 것으로, 제품 제조시 결함 섹터를 파악하고 이를 관리하며, 특히 기록 및 소거 동작을 어느 횟수 이상 수행할 경우에 발생하는 결함 섹터의 파악 및 이를 관리하기 위한 플래시 메모리 구조 및 방법에 관한 것이다.BACKGROUND OF THE INVENTION 1. Field of the Invention The present invention relates to flash memory, which identifies and manages defective sectors during product manufacturing, and particularly, identifies and manages defective sectors that occur when a write and erase operation is performed a certain number of times. Memory structure and method.

최근들어, 컴퓨터 또는 마이크로 프로세서에 의해 제어되는 여러 장치들은보다 고밀도와 고속으로 전기적 소거 및 프로그램 가능한 불휘발성 메모리 장치의 개발을 요구하고 있다. 메모리 장치를 개발함에 있어서, 회전 자기 디스크를 가지는 하드 디스크 장치를 사용하는 것은 상대적으로 넓은 면적의 점유 및 기구적 고장의 문제점 때문에 그러한 시스템의 설계자들은 보다 적은 면적을 점유하는 고밀도, 고성능의 플래시 메모리의 개발에 큰 흥미를 가지고 있다.In recent years, various devices controlled by a computer or microprocessor require the development of nonvolatile memory devices that are electrically erasable and programmable at higher densities and speeds. In developing a memory device, the use of a hard disk device having a rotating magnetic disk is a problem for designers of such systems because of the relatively large footprint and mechanical failure problems. I am very interested in development.

플래시 메모리(flash memory)는 플로팅 게이트(floating gate)와 그 위의 제어 게이트(control gate)를 각각 가지는 MOS 트랜지스터 메모리 셀들의 어레이를 포함한다. 이러한 플래시 메모리의 전체 메모리 셀들은 전체적으로 소거(erase)되도록 구성될 수도 있지만, 대부분의 플래시 메모리는 전체 메모리 셀 어레이를 분할하는 통상 수십 Kbyte의 복수개의 섹터들(또는 블록들)로 구성되며 이들 중 선택된 섹터별로 메모리 셀들을 일시에 소거하도록 구성된다.Flash memory includes an array of MOS transistor memory cells, each having a floating gate and a control gate thereon. While the entire memory cells of such flash memory may be configured to be erased entirely, most flash memories typically consist of a plurality of sectors (or blocks) of several tens of Kbytes that divide the entire memory cell array, selected from among them. And to erase the memory cells temporarily by sector.

이러한 플래시 메모리는 내구성이 뛰어나며 비교적 큰 메모리 용량을 가질 수 있지만, 데이터 기록이 계속 이루어질수록 메모리 셀의 트랜지스터에 제공되는 고전압의 영향에 의해 트랜지스터가 열화 되어진다. 따라서 데이터 기록 및 소거 동작이 어느 정도 많은 횟수로 수행된 후에는, 데이터 저장 기능이 안전하게 수행될 수 없게 된다. 플래시 메모리는 데이터를 통상 섹터 단위로 처리하므로, 메모리 셀의 트랜지스터 열화에 따라 해당 섹터에 결함이 발생하게 된다.Such a flash memory is durable and can have a relatively large memory capacity, but as data writing continues, the transistor is degraded by the influence of the high voltage provided to the transistor of the memory cell. Therefore, after the data writing and erasing operation is performed a certain number of times, the data storing function cannot be safely performed. Since a flash memory processes data in sectors in general, a defect occurs in a corresponding sector as the transistor of the memory cell deteriorates.

따라서 플래시 메모리에 발생된 결함 섹터의 파악 및 처리에 관한 다양한 기술들이 개발되고 있으며, 이러한 기술들은 주로 결함 섹터를 파악하는 것과 이를 사용하지 않도록 하는데 주요 기술적 관심을 두고 있다. 그런데, 결함 섹터를 파악하여 이를 사용하지 않도록 플래시 메모리를 구성함에 따라 메모리의 사용 가능한 용량이 점차 줄어들게 되어, 메모리 용량에 대한 제품 신뢰성에 문제가 발생할 수 있게 된다.Therefore, various techniques related to the identification and processing of defective sectors generated in the flash memory have been developed, and these technologies are mainly concerned with identifying the defective sectors and not using them. However, as the flash memory is configured to identify the defective sector and not to use the defective sector, the usable capacity of the memory is gradually reduced, which may cause a problem in product reliability of the memory capacity.

따라서 본 발명의 목적은 어느 정도 많은 횟수로 기록 및 소거 동작이 수행된 후 발생되는 결함 섹터의 문제를 해결하기 위한 플래시 메모리 구조 및 그 관리 방법을 제공함에 있다.Accordingly, an object of the present invention is to provide a flash memory structure and a management method thereof for solving the problem of a defective sector generated after a write and erase operation is performed a certain number of times.

본 발명의 다른 목적은 결함 섹터의 발생을 즉각적으로 파악하여 결함 섹터를 다른 정상 섹터로 대체할 수 있는 플래시 메모리 구조 및 그 관리 방법을 제공함에 있다.Another object of the present invention is to provide a flash memory structure and a method of managing the same, which can immediately identify the occurrence of a defective sector and replace the defective sector with another normal sector.

상기한 목적을 달성하기 위하여 본 발명은 플래시 메모리에 미리 여분의 더미 섹터를 구비하고, 데이터 기록 동작시 섹터에 데이터를 기록한 후 기록한 데이터를 읽어 들여 원래의 기록 데이터와 비교함으로 해당 섹터의 결함 여부를 파악하고, 결함이 발생한 섹터를 정상적인 더미 섹터와 교체함을 특징으로 한다.In order to achieve the above object, the present invention includes redundant dummy sectors in a flash memory in advance, and writes data in a sector in a data write operation, reads the recorded data, and compares it with original write data to determine whether the corresponding sector is defective. And the defective sector is replaced with the normal dummy sector.

도 1은 본 발명의 일 실시예에 따른 플래시 메모리(200)의 구조도,1 is a structural diagram of a flash memory 200 according to an embodiment of the present invention,

도 2는 도 1에 도시한 섹터부(210)의 섹터들 중 어느 하나의 섹터의 구조 예시도,2 is a diagram illustrating the structure of any one of the sectors of the sector unit 210 shown in FIG.

도 3은 도 1에 도시한 섹터 정보 테이블(320)의 구조 예시도,3 is a structural diagram of the sector information table 320 shown in FIG.

도 4는 본 발명의 일 실시예에 따른 플래시 메모리 관리 동작의 흐름도.4 is a flowchart of a flash memory management operation according to an embodiment of the present invention.

이하 본 발명에 따른 바람직한 실시예를 첨부한 도면을 참조하여 상세히 설명한다. 하기 설명에서는 구체적인 테이블의 구조 및 진행 과정 등과 같은 특정 사항들이 나타나고 있는데 이는 본 발명의 보다 전반적인 이해를 돕기 위해서 제공된것일 뿐 이러한 특정 사항들이 본 발명의 범위 내에서 소정의 변형이나 혹은 변경이 이루어질 수 있음은 이 기술분야에서 통상의 지식을 갖는 자에게는 자명하다 할 것이다.Hereinafter, exemplary embodiments of the present invention will be described in detail with reference to the accompanying drawings. In the following description, specific matters such as the structure and progress of a specific table are shown, which are provided to help a more general understanding of the present invention. Such specific matters may be modified or changed within the scope of the present invention. It will be apparent to those of ordinary skill in the art.

도 1은 본 발명의 일 실시예에 따른 플래시 메모리의 구조를 나타낸 도면이다. 도 1을 참조하면, 플래시 메모리(200)는 다수개의 섹터들로 이루어진 섹터부(210)와 메모리 컨트롤러(300)를 포함한다. 섹터부(210)는 플래시 메모리(200)에 설정된 용량에 해당하는 기본 섹터들(섹터0, 1, 2, ... n)과, 본 발명에 따라 추가로 더 제공되는 더미 섹터(섹터n+1, n+2, ... n+m)로 구성된다. 더미 섹터들의 총 용량은 기본 섹터들의 총량의 약 5~15%를 가지도록 구성될 수 있다. 메모리 컨트롤러(300)는 주소 변환부(310)와, 섹터 정보 테이블(320)을 포함하여 구성된다. 주소 변환부(310)는 호스트(100)(통상 마이크로 프로세서)로부터 제공되는 논리적 주소를 대응되는 물리적 주소로 변환하며, 물리적 주소에 대응되는 섹터에 데이터를 기록하거나 또는 섹터로부터 읽는다. 메모리 컨트롤러(300)는 섹터에 대한 데이터 기록/소거 동작을 제어하며, 주기적으로 논리적 주소와 물리적 주소의 관계를 재배열한다.1 is a diagram illustrating the structure of a flash memory according to an embodiment of the present invention. Referring to FIG. 1, the flash memory 200 includes a sector unit 210 and a memory controller 300 including a plurality of sectors. The sector unit 210 may include basic sectors (sectors 0, 1, 2, ... n) corresponding to the capacities set in the flash memory 200, and dummy sectors (sector n +) further provided according to the present invention. 1, n + 2, ... n + m). The total capacity of the dummy sectors may be configured to have about 5-15% of the total amount of the basic sectors. The memory controller 300 includes an address translator 310 and a sector information table 320. The address conversion unit 310 converts a logical address provided from the host 100 (usually a microprocessor) into a corresponding physical address, and writes data to or reads data from a sector corresponding to the physical address. The memory controller 300 controls data write / erase operations for sectors and periodically rearranges the relationship between logical addresses and physical addresses.

또한 메모리 컨트롤러(300)는 각 섹터가 소거될 때, 섹터의 소거 횟수를 미리 설정된 값과 비교하는 동작을 수행할 수도 있다. 이러한 비교 동작은 미리 시험에 의해 적절히 설정된 섹터 소거 횟수의 참조 값을 이용하여 이루어질 수 있다. 이러한 시험은 메모리 셀의 동작 특성에 기초하여, 데이터 기록 및 소거의 최대 허용 횟수를 결정하기 위하여 수행된다. 메모리 컨트롤러(300)는 각 섹터가 소거된실제 소거 횟수와 상기 참조 값을 비교하여, 두 값이 동일할 경우에는 메모리를 다시 맵핑한다.Also, when each sector is erased, the memory controller 300 may perform an operation of comparing the erase count of the sector with a preset value. This comparison operation can be made using a reference value of the sector erase count appropriately set by the test in advance. This test is performed to determine the maximum allowable number of data writes and erases, based on the operating characteristics of the memory cell. The memory controller 300 compares the actual erase count of each sector with the reference value, and remaps the memory when the two values are the same.

도 1에 도시된 플래시 메모리(200)는 메모리 컨트롤러(300)를 내장하여, 메모리 컨트롤러(300) 및 플래시 메모리(200)가 하나의 디바이스를 이룬 것으로 개시되는데 이는 호스트(100)가 논리적 주소를 통해 직접 플래시 메모리(200)에 접근하기 위함이다.The flash memory 200 illustrated in FIG. 1 has a memory controller 300 embedded therein, and the memory controller 300 and the flash memory 200 are described as forming one device, which is determined by the host 100 through a logical address. This is to access the flash memory 200 directly.

도 2는 도 1 중 일 섹터의 구조 예시도이다. 도 2를 참조하면, 각 섹터는 소거 횟수 영역(212) 및 기타 정보 영역(214)으로 구분되는 오버 헤드 부분과, 데이터 영역(216) 및 CRC(Cyclic Redundancy Check) 영역(218)으로 구분되는 사용자 데이터 부분을 가질 수 있다. 상기 소거 횟수 영역(212)에는 해당 섹터의 소거 횟수가 기록되며, 기타 정보 영역(214)에는 해당 섹터의 물리적 주소나 불량 비트(bit) 등 여러 가지 섹터 정보가 기록될 수 있다.FIG. 2 is a diagram illustrating a structure of one sector of FIG. 1. Referring to FIG. 2, each sector includes an overhead portion divided into the erase count area 212 and the other information area 214, and a user divided into a data area 216 and a cyclic redundancy check (CRC) area 218. It can have a data part. The erase count area 212 records the erase count of the corresponding sector, and the other information area 214 may record various sector information such as a physical address or a bad bit of the sector.

본 발명에서는 플래시 메모리의 각 섹터에 데이터를 기록할 때에 해당 섹터의 기록 가능 여부, 즉 섹터의 결함 여부를 파악하여 결함이 있을 경우에는 해당 섹터를 상기 도 1에 도시된 바와 같이 본 발명의 특징에 따라 구비된 더미 섹터들 중 적절한 섹터와 교체한다. 이러한 교체는 결함이 발생한 섹터를 결함으로 표시하고, 결함 섹터를 가리키는 논리적 주소를 상기 더미 섹터 중 하나의 섹터에 부여함으로 가능해진다. 이때 섹터 결함 여부의 확인 및 섹터 재 맵핑 동작은 상기 메모리 컨트롤러(300) 내의 섹터 정보 테이블(320)을 기초하여 이루어진다.According to the present invention, when data is recorded in each sector of the flash memory, whether or not the corresponding sector can be written, that is, whether the sector is defective or not, is determined. Replace with the appropriate one of the provided dummy sectors. This replacement is made possible by marking the defective sector as a defect and giving a logical address pointing to the defective sector to one of the dummy sectors. At this time, the operation of determining whether the sector is defective or the sector remapping operation is performed based on the sector information table 320 in the memory controller 300.

도 3은 본 발명의 일 실시예에 따른 섹터 정보 테이블(320)의 예시도이다.도 3을 참조하면, 섹터 정보 테이블(320)은 각 섹터의 논리적 주소 항목(322), 섹터번호 항목(물리적 주소) (324), 상태 항목(326)으로 이루어지며, 각각의 섹터별 논리적 주소 및 이에 해당하는 섹터 번호 및 해당 섹터의 상태가 기록된다.3 is an exemplary diagram of a sector information table 320 according to an embodiment of the present invention. Referring to FIG. 3, the sector information table 320 may include a logical address item 322 and a sector number item (physical item) of each sector. Address) 324, and a status item 326. The logical address of each sector, the corresponding sector number, and the state of the sector are recorded.

도 3의 예에서 섹터 상태는 2비트를 사용하여 3가지로 나타내어지며, 예를 들어 "00"은 비기록 상태, "01"은 데이터 기록 상태, "11"은 결함 상태를 의미하도록 설정된다. 즉 "00", "01"의 비기록 상태 및 데이터 기록 상태는 해당 섹터에 데이터를 기록하는 것이 가능한 상태이며, "11"의 결함 상태는 해당 섹터에 결함이 있으므로 데이터 기록을 허용하지 않는 상태이다.In the example of Fig. 3, two sector states are represented using two bits, for example, " 00 " is set to a non-write state, " 01 " is a data write state, and " 11 " That is, the non-recorded state and data write state of "00" and "01" are states in which data can be recorded in the corresponding sector, and the defect state of "11" is a state in which data writing is not allowed because the corresponding sector is defective. .

도 3의 예에서는 A로 표시한 논리적 주소 "00011", 섹터 번호 "7"인 섹터의 상태가 "11"로서 결함 상태인 것으로 나타난다. 이러한 결함 상태의 섹터는 본 발명의 특징에 따라 더미 섹터와 교체되는데, B로 표시한 바와 같이 "n+1"의 섹터 번호를 가지는 더미 섹터에 상기 섹터 번호 "7"의 논리적 주소 "00011"이 부여되어, 더미 섹터로 하여금 결함 섹터를 대체하도록 함을 볼 수 있다. 본 발명에서는 데이터 기록시 해당 섹터가 결함 상태일 경우에는 더미 섹터에서 상기 결함 상태를 대체하는 섹터를 파악하여 그 더미 섹터에 데이터를 기록하게 된다.In the example of FIG. 3, the state of the sector having the logical address " 00011 " and the sector number " 7 " Such defective state sectors are replaced with dummy sectors according to the characteristics of the present invention. In the dummy sector having a sector number of " n + 1 " as indicated by B, the logical address " 00011 " It can be seen that a dummy sector is substituted for the defective sector. In the present invention, when a corresponding sector is in a defective state at the time of data recording, the sector which replaces the defective state is identified from the dummy sector and data is recorded in the dummy sector.

상기와 같이 결함 섹터를 정상적인 더미 섹터와 교체하는 작업은 플래시 메모리의 제조 공정시 최종 테스트 과정에서도 이루어질 수 있다. 최종 테스트 과정에서 결함 섹터를 파악하여 더미 섹터와 교체함으로, 수 개의 섹터에 결함이 발생하였다 하더라도 해당 플래시 메모리에 설정된 규정 용량을 만족시킬 수 있다. 즉, 종래에서는 플래시 메모리의 어떠한 섹터에 결함이 발생되면 해당 플래시 메모리는규정 용량에 미달될 수밖에 없다. 이에 비해 본 발명은 결함이 발생된 섹터를 정상적인 더미 섹터와 교체함으로 규정된 용량을 만족시킬 수 있게 된다.As described above, the replacement of the defective sector with the normal dummy sector may be performed in the final test process in the manufacturing process of the flash memory. By identifying defective sectors and replacing them with dummy sectors in the final test process, even if several sectors are defective, the specified capacity set in the corresponding flash memory can be satisfied. That is, in the related art, when a defect occurs in a sector of the flash memory, the corresponding flash memory may fall short of a prescribed capacity. In contrast, the present invention can satisfy the prescribed capacity by replacing a defective sector with a normal dummy sector.

그러면, 플래시 메모리에서 어떠한 섹터를 실제적으로 테스트하여 결함이 발생하였는 지의 여부를 파악하는 작업을 설명하기로 한다. 본 발명에서는 플래시 메모리의 섹터에 데이터 기록 동작을 수행한 후, 해당 섹터의 데이터를 읽어 들여, 읽은 데이터와 원래 기록 동작시의 데이터와 비교함으로 해당 섹터의 결함 여부를 테스트한다. 이러한 테스트 동작은 물론 메모리 제조 공정시 특정 테스트 패턴의 데이터를 가지고서 수행될 수도 있다. 그러나 본 발명의 특징에 따라, 이러한 테스트 동작은 항상 어떠한 테스트 패턴의 데이터를 가지고서 또는 어떠한 주기적으로 행하여지는 것이 아니라, 각 섹터에 사용자의 데이터가 기록될 때마다 수행된다.Next, an operation of identifying which sectors are actually tested in the flash memory to determine whether a defect has occurred will be described. In the present invention, after performing a data write operation on a sector of a flash memory, the data of the sector is read, and the read data is compared with the data in the original write operation to test whether the sector is defective. Such a test operation may of course be performed with data of a specific test pattern in a memory manufacturing process. However, in accordance with a feature of the present invention, this test operation is not always performed with any test pattern data or periodically, but is performed whenever the user's data is recorded in each sector.

즉, 도 1의 메모리 컨트롤러(300)는 섹터 단위로 사용자 데이터의 기록 동작이 수행될 때마다, 내부 RAM 등의 메모리에 일시적으로 기억된 기록 데이터와 해당 섹터에서 읽어 들인 데이터를 비교함으로 섹터 결함 여부를 파악하게 된다.That is, the memory controller 300 of FIG. 1 compares write data temporarily stored in a memory such as internal RAM and data read from the corresponding sector whenever a user data write operation is performed in units of sectors. Will be identified.

플래시 메모리에서는 데이터를 기록할 때에는 먼저 섹터 단위로 이전 기록된 데이터를 소거하여야 함으로, 플래시 메모리의 데이터 기록 속도는 상당히 느리며, 플래시 메모리의 데이터 처리 속도의 대부분을 차지한다. 이와 같이 플래시 메모리에서 데이터 독출 속도는 기록 속도에 비해 매우 빠르므로, 데이터 기록시마다 상기 테스트 과정을 수행하는 데에는 많은 시간이 요구되지 않는다. 이하 상기 테스트 동작 및 데이터 기록 동작 등을 첨부 도면을 참조하여 보다 상세히 설명하기로 한다.In flash memory, when data is written first, data previously recorded in sector units must be erased. Therefore, the data writing speed of the flash memory is considerably slow, and occupies most of the data processing speed of the flash memory. As such, the data read speed in the flash memory is very fast compared to the write speed, so that a large amount of time is not required to perform the test process every time data is written. Hereinafter, the test operation and the data recording operation will be described in more detail with reference to the accompanying drawings.

도 4는 본 발명의 일 실시예에 따른 플래시 메모리 관리 동작의 흐름도로서 도 1에 도시된 바와 같은 메모리 컨트롤러(300)에 의해 수행될 수 있다. 도 4를 참조하면, 데이터 기록이 시작되면 먼저 402단계에서 도 3에 도시된 바와 같은 섹터 정보 테이블(320)을 참조하여 기록할 섹터 위치를 확인한다. 이때 도 3을 예로 들면, 논리적 주소가 "00001"일 경우에, 이는 물리적 주소인 섹터 번호 "0"번으로 변환되며, 이때 해당 섹터의 상태가 "01"로서 기록 가능한 상태임을 알 수 있다. 한편, A로 표시한 바와 같이, 논리적 주소가 "00011"일 경우에는 이에 해당하는 섹터 번호 "7"의 섹터 상태가 "11"로서 결함 상태인 것으로 나타난다. 이때에는 해당 논리적 주소 "00011"을 가지는 더미 섹터, 즉 섹터 번호 "n+1"의 섹터를 파악하여 상기 논리적 주소 "00011"을 섹터 번호 "n+1"로 변환한다. 물론 이 경우에 상기 섹터 번호 "n+1"의 상태가 기록 가능한 상태인가를 먼저 파악하게 된다.FIG. 4 is a flowchart of a flash memory management operation according to an embodiment of the present invention, and may be performed by the memory controller 300 as shown in FIG. 1. Referring to FIG. 4, when data recording is started, a sector position to be recorded is first determined by referring to the sector information table 320 shown in FIG. 3 in step 402. 3, when the logical address is "00001", it is converted into sector number "0" which is a physical address, and it can be seen that the state of the corresponding sector is a recordable state as "01". On the other hand, as indicated by A, when the logical address is " 00011 ", the sector state of the corresponding sector number " 7 " is " 11 " At this time, the dummy sector having the corresponding logical address "00011", that is, the sector having sector number "n + 1", is identified and the logical address "00011" is converted into the sector number "n + 1". In this case, of course, it is first determined whether the state of the sector number " n + 1 " is a recordable state.

상기와 같이 402단계에서 기록할 섹터의 위치를 파악하면 이후 404단계로 진행하여 이후부터 실제 데이터 기록 동작을 수행하게 된다. 404단계에서는 데이터를 기록할 섹터의 상태가 이미 이전 데이터가 기록된 상태이면 406단계로 진행하여 이전 데이터 소거 동작을 행한 후 408단계로 진행하며, 이전 데이터가 기록된 상태가 아니면 408단계로 곧바로 진행한다. 408단계에서는 해당 섹터에 데이터를 기록하게 된다. 이때 기록 데이터는 메모리 컨트롤러(300)의 내부 RAM 등의 메모리에 일시적으로 기억된다.If the position of the sector to be recorded is determined in step 402 as described above, the process proceeds to step 404 to perform the actual data recording operation thereafter. In step 404, if the state of the sector to record data is already recorded, the process proceeds to step 406, and then proceeds to step 408 after performing the previous data erasing operation. If the previous data is not recorded, proceeds directly to step 408. do. In step 408, data is recorded in the sector. At this time, the write data is temporarily stored in a memory such as internal RAM of the memory controller 300.

408단계에서 데이터 기록이 완료되면 이후 410단계로 진행하여 이후부터 해당 섹터의 결함 여부 테스트를 수행하게 된다. 410단계에서는 먼저 해당 섹터에 기록한 데이터를 읽는다. 이후 412단계에서는 읽은 데이터와 상기 메모리에 일시 기억된 원래 데이터가 동일한 가를 비교한다. 비교 결과 이상이 없으면 기록 동작을 종료하게 되고, 이상이 있으면, 414단계로 진행한다. 414단계에서는 해당 섹터의 상태를 결함 상태로 설정한다. 이는 도 3에 도시된 바와 같은 섹터 정보 테이블(320)에서 해당 섹터 번호의 상태 항목(326)의 값을 "11"로 설정하는 것으로 이루어질 수 있다. 이후 416 단계에서는 더미 섹터 중 사용 가능한 섹터를 선정하여 상기 결함이 발생한 섹터를 대체토록 한다. 이후 404단계로 되돌아가서 상기 더미 섹터에 데이터를 기록하며 테스트를 하는 상기의 과정을 반복 수행하게 된다.When data recording is completed in step 408, the process proceeds to step 410 and thereafter, the defect test of the corresponding sector is performed. In step 410, data written in the corresponding sector is first read. Thereafter, in step 412, whether the read data is equal to the original data temporarily stored in the memory is compared. If there is no abnormality as a result of the comparison, the recording operation is terminated. In step 414, the state of the sector is set to a defective state. This may be done by setting the value of the state item 326 of the corresponding sector number to "11" in the sector information table 320 as shown in FIG. Thereafter, in step 416, an available sector is selected from the dummy sectors so as to replace the defective sector. Thereafter, the process returns to step 404 to repeat the above process of writing data and testing the dummy sector.

상기의 과정들을 통해 특정 섹터에 데이터를 기록한 후 기록한 데이터를 읽어 들여 원래의 기록 데이터와 비교함으로 해당 섹터의 결함 여부를 파악하며, 또한 결함이 발생한 섹터를 정상적인 더미 섹터와 교체하는 본 발명의 특징에 따른 플래시 메모리 관리가 이루어지게 된다. 이러한 본 발명의 메모리 관리에 따르면, 특정 섹터에 결함이 발생하였을 경우에 이를 데이터 기록시에 즉각적으로 알 수 있게 된다. 더욱이 본 발명에 따른 메모리 컨트롤러는 섹터의 결함을 즉각적으로 알게 됨으로, 각 섹터의 결함 여부를 파악하기 위해 각 섹터가 소거될 때 섹터의 소거 횟수를 미리 설정된 값과 비교하기 위한 비교 동작을 수행하지 않을 수도 있다.Through the above process, the data is recorded in a specific sector, and then the recorded data is read and compared with the original recorded data to determine whether the corresponding sector is defective, and also to replace the defective sector with a normal dummy sector. Flash memory management is performed accordingly. According to the memory management of the present invention, when a defect occurs in a specific sector, it can be immediately known at the time of data writing. Furthermore, the memory controller according to the present invention immediately knows a defect of a sector, and therefore, does not perform a comparison operation to compare the erase count of a sector with a preset value when each sector is erased to determine whether each sector is defective. It may be.

한편 상기한 본 발명의 설명에서는 구체적인 실시예에 관해 설명하였으나 여러 가지 변형이 본 발명의 범위를 벗어나지 않고 실시될 수 있다. 예를 들어, 도 1에는 메모리 컨트롤러가 플래시 메모리 내에 구성되어 메모리 컨트롤러 및 플래시 메모리가 하나의 디바이스를 이룬 것으로 나타내었으나, 이 외에도 플래시 메모리와 메모리 컨트롤러가 각각 별도의 디바이스로 구성되도록 할 수도 있다. 또한 본 발명에서는 섹터 정보 테이블내의 섹터 상태를 나타내는 비트가 두 개의 비트를 사용하여 섹터의 상태를 나타내는 것으로 설명하였으나, 이 외에도 다수의 비트를 더 할당하여 다양한 섹터의 상태를 나타내는 것이 가능하다. 예를 들어, 해당 섹터의 소거 횟수나, 기타 정보 등을 기록할 수도 있으며, 그럴 경우 각 섹터의 오버 헤드 부분에 해당 섹터의 소거 횟수 등을 기록할 필요가 없을 수도 있다.Meanwhile, in the above description of the present invention, specific embodiments have been described, but various modifications may be made without departing from the scope of the present invention. For example, in FIG. 1, the memory controller is configured in the flash memory so that the memory controller and the flash memory form one device. In addition, the flash memory and the memory controller may be configured as separate devices. In addition, in the present invention, the bit indicating the state of the sector in the sector information table has been described as indicating the state of the sector using two bits. In addition to this, a plurality of bits may be further allocated to indicate the state of various sectors. For example, the number of erasing of the corresponding sector, other information, or the like may be recorded. In such a case, it may not be necessary to record the number of erasing of the sector in the overhead portion of each sector.

상기와 같이 본 발명의 다양한 변형예가 있을 수 있으며, 따라서 본 발명의 범위는 설명된 실시예에 의하여 정할 것이 아니고 청구범위와 청구범위의 균등한 것에 의하여 정하여져야 할 것이다.There may be various modifications of the present invention as described above, and thus the scope of the present invention should be determined by the equivalents of the claims and the claims, rather than by the embodiments described.

상기한 바와 같이 본 발명은 플래시 메모리에 데이터 기록 동작시 섹터에 기록한 데이터와 다시 읽어 들인 데이터를 비교하여 섹터의 결함 여부를 파악하고, 결함이 발생한 섹터를 정상적인 더미 섹터와 교체함으로, 어느 정도 많은 횟수로 기록 및 소거 동작이 수행된 후 발생되는 결함 섹터를 정상적인 섹터로 교체할 수 있으며, 또한 데이터 기록 동작시 마다 결함 섹터의 발생을 즉각적으로 파악할 수 있다.As described above, the present invention compares the data written to the sector with the data read back to the sector during data write operation to the flash memory to determine whether the sector is defective, and replaces the defective sector with a normal dummy sector. The defective sector generated after the low write and erase operations are performed can be replaced with a normal sector, and the occurrence of the defective sector can be immediately identified in each data write operation.

Claims (3)

여분의 더미 섹터들을 구비한 플래시 메모리의 관리 방법에 있어서,A method of managing a flash memory having extra dummy sectors, 섹터 단위로 데이터 기록 동작시 기록한 데이터를 읽어 들여 원래의 기록 데이터와 비교함으로 해당 섹터의 결함 여부를 테스트하는 과정과,A process of testing whether there is a defect in a corresponding sector by reading the recorded data in sector-by-sector operation and comparing the recorded data with original recording data; 상기 비교 결과 이상이 있으면 해당 섹터를 결함으로 간주하여 상기 더미 섹터 중 하나의 섹터와 교체되도록 메모리를 다시 맵핑하는 과정을 가짐을 특징으로 하는 플래시 메모리 관리 방법.And remapping the memory so that the corresponding sector is regarded as a defect and replaced with one of the dummy sectors if there is an abnormality as a result of the comparison. 제1항에 있어서, 상기 섹터의 결함 여부를 파악하는 과정은,The method of claim 1, wherein the determining of whether the sector is defective comprises: 상기 섹터에 데이터를 기록할 경우에 기록 데이터를 일시적으로 기억하는 단계와, 상기 데이터를 기록한 섹터에서 기록된 데이터를 읽어 들여 이를 상기 일시적으로 기억한 데이터와 비교하는 단계와, 상기 비교 결과 이상 유무에 따라 해당 섹터의 결함 여부를 파악하는 단계로 이루어짐을 특징으로 하는 플래시 메모리 관리 방법.Temporarily storing recorded data when data is recorded in the sector, reading the data recorded in the sector in which the data is recorded, and comparing the recorded data with the temporarily stored data; According to the flash memory management method characterized in that it comprises the step of determining whether the sector is defective. 플래시 메모리의 구조에 있어서,In the structure of the flash memory, 상기 플래시 메모리에 설정된 기본 기록 용량을 제공하는 기본 섹터들과, 여분의 용량을 더 제공하는 더미 섹터 섹터들로 구성되는 섹터부와,A sector portion comprising basic sectors providing basic recording capacity set in the flash memory, dummy sector sectors providing further capacity; 호스트로부터 제공되는 논리적 주소를 대응되는 물리적 주소로 변환하는 주소 변환부와, 각 섹터의 결함 여부에 대한 정보를 갖는 섹터 정보 테이블을 포함하여 구성되며, 데이터를 기록시 기록 섹터의 결함 여부를 파악하여 결함이 발생한 섹터를 상기 더미 섹터 중 정상적인 섹터와 교체하도록 하는 메모리 컨트롤러를 가짐을 특징으로 하는 플래시 메모리 구조.An address translation unit for converting a logical address provided from the host into a corresponding physical address, and a sector information table having information on whether each sector is defective. And a memory controller for replacing a defective sector with a normal one of the dummy sectors.
KR1020000013399A 2000-03-16 2000-03-16 Flash memory structure and managing method thereof KR20010091565A (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020000013399A KR20010091565A (en) 2000-03-16 2000-03-16 Flash memory structure and managing method thereof

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020000013399A KR20010091565A (en) 2000-03-16 2000-03-16 Flash memory structure and managing method thereof

Publications (1)

Publication Number Publication Date
KR20010091565A true KR20010091565A (en) 2001-10-23

Family

ID=19655869

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020000013399A KR20010091565A (en) 2000-03-16 2000-03-16 Flash memory structure and managing method thereof

Country Status (1)

Country Link
KR (1) KR20010091565A (en)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100439049B1 (en) * 2002-06-25 2004-07-05 주식회사 하이닉스반도체 Logical address changer of semiconductor memory device

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100439049B1 (en) * 2002-06-25 2004-07-05 주식회사 하이닉스반도체 Logical address changer of semiconductor memory device

Similar Documents

Publication Publication Date Title
US11347403B2 (en) Extending the life of a solid state drive by using MLC flash blocks in SLC mode
KR100906519B1 (en) Unusable block management within a non-volatile memory system
US5844910A (en) Flash-erase-type nonvolatile semiconductor storage device
US7634624B2 (en) Memory system for data storage and retrieval
JP3695766B2 (en) Memory defect management method
US7379330B2 (en) Retargetable memory cell redundancy methods
KR100644602B1 (en) Method for driving remapping for flash memory and flash memory architecture thereto
JP4933269B2 (en) Non-volatile memory and method with memory plane array
KR960005895B1 (en) Non-volatile semiconductor memory device
US9213629B2 (en) Block management method, memory controller and memory stoarge apparatus
JPH11338782A (en) Storage device and its defective sector substituting method
JP2008146255A (en) Storage device, computer system, and data processing method for storage device
JPH03167644A (en) Device and method for handling defect in semiconductor memory
WO2001061703A2 (en) Flash eeprom system with simultaneous multiple data sector programming and storage of physical block characteristics in other designated blocks
KR101468432B1 (en) Flash memory refresh techniques triggered by controlled scrub data reads
JP2012517068A (en) Memory device, memory management device, and memory management method
JP5180957B2 (en) Memory controller, semiconductor recording device, and rewrite count notification method
KR20010091565A (en) Flash memory structure and managing method thereof
JP4177292B2 (en) MEMORY CONTROLLER, FLASH MEMORY SYSTEM, AND FLASH MEMORY CONTROL METHOD
JP2007505416A (en) Managing defective blocks in flash memory
JP4332108B2 (en) Memory controller, flash memory system, and flash memory control method
CN114385084B (en) Bad block table inheritance method and storage device thereof
JP4177301B2 (en) Memory controller, flash memory system, and flash memory control method
JP3974149B2 (en) Nonvolatile semiconductor memory device and control method of nonvolatile semiconductor memory
CN117854564A (en) Flash memory storage method, apparatus and computer readable storage medium

Legal Events

Date Code Title Description
WITN Application deemed withdrawn, e.g. because no request for examination was filed or no examination fee was paid