KR101753397B1 - Method of avoiding bad block in case of reading memory - Google Patents

Method of avoiding bad block in case of reading memory Download PDF

Info

Publication number
KR101753397B1
KR101753397B1 KR1020100119974A KR20100119974A KR101753397B1 KR 101753397 B1 KR101753397 B1 KR 101753397B1 KR 1020100119974 A KR1020100119974 A KR 1020100119974A KR 20100119974 A KR20100119974 A KR 20100119974A KR 101753397 B1 KR101753397 B1 KR 101753397B1
Authority
KR
South Korea
Prior art keywords
block
bad
blocks
memory
bad block
Prior art date
Application number
KR1020100119974A
Other languages
Korean (ko)
Other versions
KR20120058271A (en
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 KR1020100119974A priority Critical patent/KR101753397B1/en
Publication of KR20120058271A publication Critical patent/KR20120058271A/en
Application granted granted Critical
Publication of KR101753397B1 publication Critical patent/KR101753397B1/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
    • 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/06Addressing a physical block of locations, e.g. base addressing, module addressing, memory dedication
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/14Protection against unauthorised use of memory or access to memory
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C29/00Checking stores for correct operation ; Subsequent repair; Testing stores during standby or offline operation
    • G11C29/70Masking faults in memories by using spares or by reconfiguring
    • G11C29/88Masking faults in memories by using spares or by reconfiguring with partially good memories
    • G11C29/886Masking faults in memories by using spares or by reconfiguring with partially good memories combining plural defective memory devices to provide a contiguous address range, e.g. one device supplies working blocks to replace defective blocks in another device

Landscapes

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

Abstract

본 발명은 메모리 리드시 배드 블록 회피 방법에 관한 것이다.
본 발명은 컴퓨터가 연결매체를 통해 접속된 이동통신 단말기를 CD-ROM으로 인식하기 위해서 이동통신 단말기 내에 데이터 저장매체인 낸드 플래시 메모리에서 ISO 파일을 리드(Read)하는 경우 배드 블록을 회피하여 정상적으로 ISO 파일을 읽어들일 수 있도록, 메모리 블록들 중 배드 블록이 아닌 실제 데이터를 저장하고 있는 메모리 블록들에 대한 블록 번호들을 포함한 보정된 블록 번호 테이블을 생성한다. 그리고 이를 이용하여 메모리 데이터를 리드함으로써 정상적으로 ISO 파일을 읽어들일 수 있는 메모리 리드시 배드 블록 회피 방법을 제공하고자 한다.
The present invention relates to a bad block avoiding method for a memory lead.
In the case where an ISO file is read from a NAND flash memory as a data storage medium in a mobile communication terminal in order to recognize a mobile communication terminal connected through a connection medium through a connection medium, A corrected block number table including block numbers for memory blocks storing actual data other than bad blocks among the memory blocks is generated so that the file can be read. And to provide a method of avoiding a bad block at the time of reading the memory by reading the ISO file normally by reading the memory data.

Description

메모리 리드시 배드 블록 회피 방법 {METHOD OF AVOIDING BAD BLOCK IN CASE OF READING MEMORY}METHOD OF AVOIDING BAD BLOCK IN CASE OF READING MEMORY BACKGROUND OF THE INVENTION 1. Field of the Invention [

본 발명은 메모리 리드시 배드 블록 회피 방법에 관한 것으로, 보다 상세하게는 컴퓨터가 연결매체를 통해 접속된 이동통신 단말기를 CD-ROM으로 인식하기 위해서 이동통신 단말기 내에 데이터 저장매체인 낸드 플래시 메모리에서 ISO 파일을 리드(Read)하는 경우 배드 블록을 회피하여 정상적으로 ISO 파일을 읽어들일 수 있는 메모리 리드시 배드 블록 회피 방법에 관한 것이다.
The present invention relates to a bad block avoiding method in a memory lead, and more particularly, to a bad block avoiding method in a memory lead in which a mobile communication terminal connected via a connection medium is recognized as a CD-ROM, The present invention relates to a bad block avoiding method in a memory read mode in which an ISO file can be normally read by avoiding a bad block when a file is read.

일반적으로 플래시 메모리는 노어(NOR) 플래시 메모리와 낸드(NAND) 플래시 메모리로 나뉘어진다. 이 중에서 읽기 속도가 빠르고 데이터의 안정성이 우수하다는 장점으로 인해 코드 저장형인 노어(NOR) 플래시 메모리가 이동통신 단말기의 데이터 저장매체로 주로 사용되어 왔다. 그러나 단순히 이동통신 단말기로 단문 메시지 정도를 교환하였던 과거와는 달리, 요즈음에는 휴대폰용 카메라가 장착되어 화상 이미지를 생성하고 저장할 수 있고, 벨소리와 같은 멀티미디어 데이터를 다운받아 저장할 수 있는 휴대폰, 그리고 PDA(Personal Digital Assistant)와 같이 인터넷에 접속하여 대용량의 데이터를 저장하거나 전송할 수 있는 이동통신 단말기들이 등장하게 됨으로써, 이동통신 단말기에는 이를 위한 대용량의 메모리가 필요하게 되었다.Generally, the flash memory is divided into a NOR flash memory and a NAND flash memory. Among them, NOR flash memory, which is a code storage type, has been mainly used as a data storage medium of a mobile communication terminal because of its high read speed and excellent data stability. However, unlike in the past, in which a mobile phone has simply exchanged a short message, a mobile phone equipped with a mobile phone camera can store and store image data, a mobile phone capable of downloading and storing multimedia data such as ring tones, and a PDA A personal digital assistant (hereinafter referred to as " Personal Digital Assistant "), and a mobile communication terminal capable of storing or transmitting a large amount of data has appeared.

그러나 노어(NOR) 플래시 메모리는 제조단가가 낸드 플래시 메모리보다 비싸고, 그 구조가 메모리 셀을 병렬로 연결한 구조임에 따라 대용량 제품을 제작할 경우 메모리의 크기가 너무 커진다는 단점이 있었으므로 대용량, 고집적화가 어려웠다. 따라서 비록 읽기 속도가 느리다는 단점이 있긴 하지만, 제조단가가 저렴하며, 직렬로 연결된 구조임에 따라 대용량의 제품 제작이 가능한 낸드 플래시 메모리가 요즈음의 이동통신 단말기의 데이터 저장매체로서 각광받고 있는 추세에 있다.However, since NOR flash memory is more expensive than NAND flash memory and its structure is a structure in which memory cells are connected in parallel, there is a disadvantage in that the memory size becomes too large when a large capacity product is manufactured. Therefore, Was difficult. Accordingly, although the manufacturing cost is low and the NAND flash memory capable of manufacturing a large capacity product is being watched as a data storage medium of a mobile communication terminal in recent years due to its structure connected in series, it has a drawback of slow reading speed have.

그러나 낸드 플래시 메모리는 노어(NOR) 플래시 메모리와 달리 메모리 내부에 배드 블록을 가질 수 있다는 치명적인 단점이 있다. 여기서 배드 블록이라는 것은 메모리를 구성하고 있는 블록들 중 파괴되어 기록을 하지 못하는 블록을 의미하며, 이동통신 단말기에서 이 블록에 데이터를 저장할 경우 그 데이터는 손상되기 때문에 반드시 배드 블록을 피하여 데이터를 저장하여야 한다. 이러한 배드 블록은 런타임 배드 블록과 초기 배드 블록으로 나눌 수 있는 데 초기 배드 블록이란 낸드 플래시 메모리가 공장에서 처음 생산될 당시 발생하는 배드 블록을 말하며, 런타임 배드 블록이란 낸드 플래시 메모리를 사용하는 도중에 발생하는 배드 블록을 말한다.However, NAND flash memory has a fatal disadvantage that it can have a bad block inside memory, unlike NOR flash memory. Here, bad block means a block which is destroyed and can not be recorded among the blocks constituting the memory. When data is stored in the block in the mobile communication terminal, the data is damaged. do. This bad block can be divided into a run-time bad block and an initial bad block. An initial bad block refers to a bad block generated when a NAND flash memory is first produced at a factory. A run-time bad block occurs during the use of a NAND flash memory Bad block.

한편, 도 1에 도시된 바와 같이 현재 이동통신 단말기(110)가 연결매체를 통해서 컴퓨터(100)에 연결되는 경우 CD-ROM으로 인식되어 동작할 수 있도록 내부 데이터 저장매체인 낸드 플래시 메모리에 ISO 파일을 저장하는 기술이 상용되고 있다.1, when the mobile communication terminal 110 is connected to the computer 100 through a connection medium, the NAND flash memory is connected to the NAND flash memory, which is an internal data storage medium, Is commonly used.

그러나, 낸드 플래시 메모리에는 상기 언급한 바와 같이 초기 배드 블록을 가지고 있을 가능성이 존재하므로, 배드 블록인 영역을 회피하여 정상적으로 ISO 파일을 리드할 수 있는지 여부는 컴퓨터(100)에서 이동통신 단말기(110)를 CD-ROM으로 인식하여 이동통신 단말기(110) 내에 저장된 데이터를 살펴볼 수 있는 프로그램이 자동 실행될지 여부와 직결된다.However, since there is a possibility that the NAND flash memory has an initial bad block as described above, whether the ISO block can be normally read by avoiding the bad block area is detected by the computer 100 in the mobile communication terminal 110, Is recognized as a CD-ROM, and a program for viewing data stored in the mobile communication terminal 110 is automatically executed.

따라서, 종래에는 이동통신 단말기(110)의 ISO 파일이 저장되어 있는 낸드 플래시 메모리 영역 내에 배드 블록이 존재하는 경우, 이동통신 단말기(110) 자체의 결함으로 보아 생산된 단말기를 회수 처리하고 있다. 그러므로, ISO 파일이 저장되어 있는 낸드 플래시 메모리 영역 내에 배드 블록이 존재하는 경우라 할지라도 상기 메모리에 저장되어 있는 ISO 파일을 정상적으로 읽을 수 있는 기술이 요구되고 있는 실정이다.
Accordingly, when there is a bad block in the NAND flash memory area in which the ISO file of the mobile communication terminal 110 is stored, the mobile terminal 110 collects the terminal produced in view of the defect of the mobile communication terminal 110 itself. Therefore, even if a bad block exists in a NAND flash memory area in which an ISO file is stored, there is a demand for a technique capable of normally reading an ISO file stored in the memory.

그러므로, 본 발명은 컴퓨터가 이동통신 단말기 내에 데이터 저장매체인 낸드 플래시 메모리에서 ISO 파일을 리드(Read)하는 경우 배드 블록을 회피하여 정상적으로 ISO 파일을 읽어들일 수 있는 메모리 리드시 배드 블록 회피 방법을 제공하는데 그 목적이 있다.
Therefore, the present invention provides a method for avoiding a bad block at the time of a memory lead when a computer reads an ISO file from a NAND flash memory, which is a data storage medium, in a mobile communication terminal and can normally read an ISO file by avoiding a bad block It has its purpose.

상기와 같은 목적을 달성하기 위해서 본 발명에 따른 메모리 리드시 배드 블록 회피 방법은 컴퓨터가 연결매체를 통해 연결된 이동통신 단말기의 내부 메모리 블록들에 대해서 각각 배드 블록(Bad block)인지의 여부를 확인하고 상기 메모리 블록들에 대한 배드 블록 누적 개수 테이블을 생성하는 제 1 단계; 상기 메모리 블록들 중 배드 블록의 블록 번호(n)마다 매칭된 배드 블록 누적 개수(k)를 상기 배드 블록 누적 개수 테이블에서 추출하고 1보다 큰 값인지 여부를 확인하는 제 2 단계; 상기 확인 결과, 1보다 큰 값인 경우 블록 번호 n-(k-1)번부터 블록 번호 n-1번까지에 매칭된 배드 블록 누적 개수가 1 증가하도록 상기 배드 블록 누적 개수 테이블을 보정하는 제 3 단계; 상기 메모리 블록들의 각 블록 번호마다 상기 보정된 배드 블록 누적 개수 테이블의 값을 더하여 상기 메모리 블록들에 대한 보정된 블록 번호 테이블을 생성하는 제 4 단계; 및 상기 컴퓨터가 상기 생성한 보정된 블록 번호 테이블을 이용하여 상기 이동통신 단말기의 내부 메모리 블록들에 저장되어 있는 데이터를 리드(Read)하는 제 5 단계;를 포함하여 이루어진다.In order to achieve the above object, a method for avoiding a bad block in a memory lead according to the present invention checks whether or not each of the internal memory blocks of a mobile communication terminal connected through a connection medium is a bad block, A first step of generating a bad block accumulation number table for the memory blocks; A second step of extracting a cumulative number (k) of bad blocks matched for each block number (n) of the bad blocks in the memory blocks from the bad block accumulated number table and verifying whether or not the value is greater than 1; The third step of correcting the bad block accumulated number table so that the accumulated number of bad blocks matched from the block number n- (k-1) to the block number n-1 is increased by 1 ; A fourth step of generating a corrected block number table for the memory blocks by adding the value of the corrected bad block accumulated number table for each block number of the memory blocks; And reading the data stored in the internal memory blocks of the mobile communication terminal using the corrected block number table generated by the computer.

그리고, 상기 제 1 단계 내지 제 4단계는, 연결매체를 통해 이동통신 단말기가 최초로 연결되는 경우에만, 상기 컴퓨터가 수행하는 것이 바람직하다.
Preferably, the first to fourth steps are performed by the computer only when the mobile communication terminal is first connected through the connection medium.

본 발명에 따르면, 낸드 플래시 메모리에서 ISO 파일이 저장된 영역 내에 초기 배드 블록이 존재하는 경우라 할지라도, 컴퓨터가 이동통신 단말기에 설치된 낸드 플래시 메모리로부터 정상적으로 ISO 파일을 읽을 수 있게 해 준다. 그에 따라, 컴퓨터가 연결매체를 통해 연결된 이동통신 단말기를 CD-ROM으로 인식함에 있어 에러가 발생되지 않도록 해 준다.
According to the present invention, even when an initial bad block exists in an area where an ISO file is stored in the NAND flash memory, the computer can normally read the ISO file from the NAND flash memory installed in the mobile communication terminal. Accordingly, an error is prevented from occurring when the computer recognizes the mobile communication terminal connected through the connection medium as a CD-ROM.

도 1은 컴퓨터와 이동통신 단말기가 연결된 모습을 도시한 도면이다.
도 2는 본 발명에 따른 메모리 리드시 배드 블록 회피 방법의 일부 단계를 도시한 흐름도이다.
도 3은 도 2에 도시된 단계에 따라 보정된 배드 블록 누적 개수 테이블을 생성한 모습을 도시한 도면이다.
도 4는 도 2에 도시된 단계 이후에 본 발명에 따른 단계를 도시한 흐름도이다.
도 5는 도 4에 도시된 단계에 따라 보정된 블록 번호 테이블을 생성한 모습을 도시한 도면이다.
1 is a view showing a computer and a mobile communication terminal connected to each other.
2 is a flow chart showing some steps of a bad block avoiding method in a memory lead according to the present invention.
FIG. 3 is a view showing a state where the accumulated bad block accumulated count table is generated according to the steps shown in FIG. 2. FIG.
4 is a flow chart showing the steps according to the invention after the steps shown in Fig.
FIG. 5 is a view showing a block number table generated according to the steps shown in FIG.

이하의 상세한 설명은 예시에 지나지 않으며, 본 발명의 실시 예를 도시한 것에 불과하다. 또한, 본 발명의 원리와 개념은 가장 유용하고, 쉽게 설명할 목적으로 제공된다.The following detailed description is merely illustrative, and is merely an example of the present invention. In addition, the principles and concepts of the present invention are presented as being most useful and readily explanatory.

도 2는 본 발명에 따른 메모리 리드시 배드 블록 회피 방법의 일부 단계를 도시한 흐름도이고, 도 3은 도 2에 도시된 단계에 따라 배드 블록 누적 개수 테이블 및 보정된 배드 블록 누적 개수 테이블을 생성한 모습을 도시한 도면이다.FIG. 2 is a flowchart illustrating a method of avoiding a bad block in a memory lead according to an embodiment of the present invention. FIG. 3 is a flowchart illustrating a method of avoiding a bad block in a memory lead according to an exemplary embodiment of the present invention. Fig.

이하, 도 2의 각 단계와 도 3의 도면을 함께 살펴보며 본 발명을 설명하도록 하겠다.Hereinafter, the present invention will be described with reference to the respective steps of FIG. 2 and the drawings of FIG.

본 발명은 우선, 컴퓨터가 연결매체를 통해 연결된 이동통신 단말기의 내부 메모리 블록들에 대해서 각각 배드 블록(Bad block)인지의 여부를 확인하고 상기 메모리 블록들에 대한 배드 블록 누적 개수 테이블을 생성한다(S200).First, the computer confirms whether each of the internal memory blocks of the mobile communication terminal connected through the connection medium is a bad block, and generates a bad block accumulated number table for the memory blocks ( S200).

이동통신 단말기는 내부 메모리 블록들 중 배드 블록인지의 여부를 알려주는 배드 블록에 대한 정보를 저장하고 있고, 컴퓨터에 연결되는 경우 상기 정보는 컴퓨터에 전송된다. 그에 따라, 컴퓨터는 도 3에 도시된 바와 같이, 내부 메모리 블록들 중에서 블록 번호 2,5,및 7에 해당하는 블록이 배드 블록인 것을 확인하고, 블록 번호 0에는 배드 블록 누적 개수 0 값을, 블록 번호 1부터 블록 번호 4까지는 배드 블록 누적 개수인 1 값을, 블록 번호 5,6에는 배드 블록 누적 개수인 2 값을, 블록 번호 7부터 이하 배드 블록이 발생되기 전까지의 모든 블록 번호에는 3 값을 배드 블록 누적 개수로 하여 배드 블록 누적 개수 테이블을 생성한다.The mobile communication terminal stores information on a bad block indicating whether it is a bad block among internal memory blocks, and when the mobile communication terminal is connected to a computer, the information is transmitted to a computer. 3, the computer confirms that the blocks corresponding to the block numbers 2, 5, and 7 are the bad blocks, and the bad block accumulated number 0 value is stored in the block number 0, A value of 1, which is the cumulative number of bad blocks from block number 1 to block number 4, a value of 2, which is the cumulative number of bad blocks in block numbers 5 and 6, and a value of 3, from block number 7 to all block numbers As the accumulated number of bad blocks.

그리고, 컴퓨터는 상기 생성한 배드 블록 누적 개수 테이블의 값을 보정하는 단계(S210 내지 S270)를 수행하는데, 이 보정 단계는 메모리 블록들 중에서 배드 블록에 해당하는 블록의 블록 번호를 제거하고 실제 데이터가 존재하는 메모리 블록들의 블록 번호만을 포함한 테이블을 새로 생성하기 위해서 필요한 단계이다.Then, the computer performs steps (S210 to S270) of correcting the value of the generated bad block accumulated count table, wherein the block number of the block corresponding to the bad block is removed from the memory blocks, It is necessary to newly create a table including only the block numbers of existing memory blocks.

단계 S210은 컴퓨터가 이동통신 단말기의 내부 메모리 블록들 중 블록 번호 n번(n : 0,1,2..)의 메모리 블록이 배드 블록인지의 여부를 이동통신 단말기로부터 제공받은 배드 블록에 대한 정보를 통해 확인하고, 단계 S220은 블록 번호 n번의 메모리 블록이 배드 블록인 경우 해당 블록 번호에 매칭되어 저장된 배드 블록 누적 개수(k)가 1보다 큰지의 여부를 확인한다.In step S210, the computer determines whether the memory block of block number n (n: 0, 1, 2 ..) among the internal memory blocks of the mobile communication terminal is a bad block, In step S220, if the block number n is a bad block, it is checked whether or not the cumulative number k of stored bad blocks is greater than one.

단계 S230 내지 S250은 상기 확인 결과, 상기의 배드 블록 누적 개수(k)가 1보다 큰 값인 경우 블록 번호 n-(k-1)번부터 블록 번호 n-1번까지에 매칭된 배드 블록 누적 개수가 1 증가하도록 상기 배드 블록 누적 개수 테이블을 보정한다.In steps S230 to S250, if the accumulated number of bad blocks k is greater than 1, the accumulated number of bad blocks matched from block number n- (k-1) to block number n-1 is 1 < / RTI >

도 3을 참조하여 단계 S210부터 단계 S250까지의 동작을 다시 살펴보면, 컴퓨터는 단계 S210으로 블록 번호 1번이 배드 블록인 것을 확인한다. 그리고 단계 S220으로 블록 번호 1번에 매칭되어 저장된 배드 블록 누적 개수(k)가 1이고 그에 따라 1보다 크지 않음을 확인하고 단계 S230 내지 단계 S250을 수행하지 않으며, 다음 블록 번호에 해당하는 메모리 블록이 배드 블록인지 확인하기 위해서 단계 S260 및 단계 S270으로 블록 번호를 1 증가시킨 후 1 증가시킨 블록 번호가 최종 블록 번호보다 크지 않은 경우 단계 S210부터 다시 수행한다.Referring back to FIG. 3, the operation of steps S210 to S250 will be described. In step S210, the computer confirms that block number 1 is a bad block. In step S220, it is confirmed that the cumulative number k of bad blocks stored in block number 1 matches the number of stored bad blocks k, which is not greater than 1, and steps S230 to S250 are not performed, and a memory block corresponding to the next block number If it is determined in step S260 and step S270 that the bad block is a bad block, the block number is incremented by 1, and if the incremented block number is not greater than the last block number, the process is performed again from step S210.

컴퓨터는 상기 과정을 통해 블록 번호 5번이 배드 블록인 것을 확인하는 경우, 단계 S220으로 블록 번호 5번에 매칭되어 저장된 배드 블록 누적 개수(k)가 1보다 큰 값인지 여부를 확인한다. 이때, 블록 번호 5번에 매칭되어 저장된 배드 블록 누적 개수(k)는 2이므로 1보다 큰 값이고, 컴퓨터는 단계 S230으로 블록 번호 n-(k-1)번에 매칭된 배드 블록 누적 개수를 1 증가시키는 보정을 수행한다. 그에 따라, 이 경우 n은 5이고 k는 2이므로 블록 번호는 5에서 2를 빼고 1을 더한 값, 즉 4번에 매칭된 배드 블록 누적 개수을 1 증가시키는 보정을 수행한다. 도 3에서 블록 번호 4번에 매칭된 배드 블록 누적 개수는 1 값이므로 2 값으로 보정된 것을 살펴볼 수 있다.If it is confirmed that the block number 5 is a bad block, the computer checks whether the cumulative number of bad blocks stored in block number 5 matches the stored bad block number k in step S220. At this time, the cumulative number of bad blocks k stored in block number 5 is greater than 1, and the cumulative number of bad blocks matched in block number n- (k-1) is set to 1 . Accordingly, in this case, since n is 5 and k is 2, the block number is subtracted from 5 to 2, and a value obtained by adding 1, i.e., a cumulative number of bad blocks matched to 4 is incremented by one. In FIG. 3, since the cumulative number of bad blocks matched to the block number 4 is 1, it can be seen that the value is corrected to 2.

그리고 컴퓨터는 블록 번호 n-(k-1)번부터 블록 번호 n-1번까지에 매칭된 배드 블록 누적 개수가 1 증가하도록 상기 배드 블록 누적 개수 테이블을 보정하기 위해서, 단계 S240으로 k가 2이므로 2에서 1을 뺀 1 값을 다시 k 값으로 저장한다. 컴퓨터는 단계 S250으로 다시 저장한 k 값인 1 값이 1보다 크지 않으므로 단계 S260에서 블록 번호를 하나 증가시키어 다음 블록 번호가 가르키는 메모리 블록이 배드 블록인지 단계 S210을 수행한다. 컴퓨터는 상기 단계 S210내지 단계 S270를 반복 수행하며 블록 번호가 7번인 경우 배드 블록인 것을 다시 확인한다. Then, the computer corrects the bad block accumulated count table so that the cumulative number of bad blocks matched from the block number n- (k-1) to the block number n-1 is incremented by one, so that k is 2 in step S240 The value 1 minus 2 is stored again as k value. Since the k value stored again in step S250 is not greater than 1, the computer increases the block number by one in step S260 and performs step S210 to determine whether the memory block indicated by the next block number is a bad block. The computer repeats steps S210 to S270 and confirms that it is a bad block if the block number is 7.

컴퓨터는 단계 S220으로 블록 번호 7번에 매칭되어 저장된 배드 블록 누적 개수(k)가 1보다 큰 값인지 여부를 확인한다. 이때, 블록 번호 5번에 매칭되어 저장된 배드 블록 누적 개수(k)는 3이므로 1보다 큰 값이고, 컴퓨터는 단계 S230으로 블록 번호 n-(k-1)번에 매칭된 배드 블록 누적 개수를 1 증가시키는 보정을 수행한다. 그에 따라, 이 경우 n은 7이고 k는 3이므로 블록 번호는 7에서 3를 빼고 1을 더한 값, 즉 5번에 매칭된 배드 블록 누적 개수을 1 증가시키는 보정을 수행한다. 도 3에서 블록 번호 5번에 매칭된 배드 블록 누적 개수는 2 값이므로 3 값으로 보정된 것을 살펴볼 수 있다.In step S220, the computer checks whether the cumulative number (k) of bad blocks stored in block number 7 matches the value stored in block # 7. At this time, the cumulative number of bad blocks k stored in block number 5 is greater than 1, and the cumulative number of bad blocks matched in block number n- (k-1) is set to 1 . Accordingly, in this case, since n is 7 and k is 3, the block number is corrected by incrementing the cumulative number of bad blocks matched to the value obtained by subtracting 3 from 7 and adding 1, that is, 5 times. In FIG. 3, since the accumulated number of bad blocks matched to the block number 5 is 2, it can be seen that the value is corrected to 3.

그리고 컴퓨터는 단계 S240으로 k가 3이므로 3서 1을 뺀 2 값을 다시 k 값으로 저장한다. 컴퓨터는 단계 S250으로 다시 저장한 k 값인 2 값이 1보다 크므로, 다시 단계 S230으로 블록 번호 n-(k-1)번에 매칭된 배드 블록 누적 개수를 1 증가시키는 보정을 수행한다. 그에 따라, 이 경우 n은 7이고 k는 2이므로 블록 번호는 7에서 2를 빼고 1을 더한 값, 즉 6번에 매칭된 배드 블록 누적 개수을 1 증가시키는 보정을 수행한다. 도 3에서 블록 번호 6번에 매칭된 배드 블록 누적 개수는 2 값이므로 3 값으로 보정된 것을 살펴볼 수 있다. 이후, 컴퓨터는 단계 S240으로 k가 2이므로 2에서 1을 뺀 1 값을 다시 k 값으로 저장하고, 단계 S250으로 다시 저장한 k 값인 1 값이 1보다 크지 않으므로 단계 S260인 블록 번호를 1 증가시키며, 단계 S270인 상기 1 증가시킨 블록 번호가 최종 블록 번호보다 크지 않은 경우 단계 S210 내지 단계 S270을 반복 수행한다.Since k is 3 in step S240, the computer stores the value of 2 minus 3 and 1 again as the value of k. Since the k value stored again in step S250 is greater than 1, the computer again performs a correction to increase the accumulated number of bad blocks matched to the block number n- (k-1) to 1 in step S230. Accordingly, in this case, since n is 7 and k is 2, the block number is subtracted from 7 to 2, and a value obtained by adding 1, that is, a cumulative number of bad blocks matched to 6 is incremented by one. In FIG. 3, since the accumulated number of bad blocks matched to block number 6 is 2, it can be seen that it is corrected to 3 values. Thereafter, in step S240, k is 2, so the value of 1, which is obtained by subtracting 2 from 1, is stored again as a value k, and since the k value stored again in step S250 is not larger than 1, the block number in step S260 is incremented by 1 , And if the block number incremented by 1 in step S270 is not larger than the last block number, steps S210 to S270 are repeated.

이상, 도 2 및 도 3을 참조하여, 컴퓨터가 연결매체를 통해 연결된 이동통신 단말기의 내부 메모리 블록들에 대해서 배드 블록 누적 개수 테이블을 생성하고 상기 생성한 배드 블록 누적 개수 테이블의 값을 보정하는 과정을 설명하였다.2 and 3, a process of generating a bad block accumulated count table for internal memory blocks of a mobile communication terminal connected through a connection medium and correcting the value of the generated bad block accumulated count table Respectively.

도 4는 도 2에 도시된 단계 이후에 본 발명에 따른 단계를 도시한 흐름도이고, 도 5는 도 4에 도시된 단계에 따라 보정된 블록 번호 테이블을 생성한 모습을 도시한 도면이다.FIG. 4 is a flowchart showing a step according to the present invention after the step shown in FIG. 2, and FIG. 5 is a view showing a generation of a corrected block number table according to the step shown in FIG.

이하, 도 4의 각 단계와 도 5의 도면을 살펴보며 도 2에 도시된 단계 이후 과정을 설명하도록 하겠다.Hereinafter, the steps of FIG. 4 and FIG. 5 will be described, and the steps after the steps shown in FIG. 2 will be described.

컴퓨터는 상기의 배드 블록 누적 개수 테이블의 값을 보정하는 과정을 수행한 이후에, 상기 메모리 블록들의 각 블록 번호마다 상기 보정된 배드 블록 누적 개수 테이블의 값을 더하여 메모리 블록들에 대한 보정된 블록 번호 테이블을 생성한다(S280).The computer corrects the value of the bad block accumulation count table and then adds the value of the corrected bad block accumulation count table to each block number of the memory blocks to calculate a corrected block number A table is generated (S280).

다시 말해서, 도 5에 도시된 바와 같이, 블록 번호 0번에 상기 보정된 배드 블록 누적 개수 테이블의 값인 0을 더한 값 0, 블록 번호 1번에 상기 보정된 배드 블록 누적 개수 테이블의 값인 1을 더한 값 2, 블록 번호 2번에 상기 보정된 배드 블록 누적 개수 테이블의 값인 1을 더한 값 3, 블록 번호 3번에 상기 보정된 배드 블록 누적 개수 테이블의 값인 1을 더한 값 4, 블록 번호 4번에 상기 보정된 배드 블록 누적 개수 테이블의 값인 2를 더한 값 6 값을 포함하여 모든 블록 번호마다 상기 보정된 배드 블록 누적 개수 테이블의 값을 더한 값을 가지는 보정된 블록 번호 테이블을 생성한다.In other words, as shown in FIG. 5, a value 0, which is a value of the corrected bad block accumulated number table added to the block number 0, and a value 1 of the corrected bad block accumulated number table are added to the block number 1 A value 3 obtained by adding 1 which is the value of the corrected bad block accumulated number table to the block number 2, a value 3 obtained by adding 1 which is the value of the corrected bad block accumulated number table to the block number 3, A corrected block number table having a value obtained by adding the value of the corrected bad block accumulated number table for every block number including a value 6 obtained by adding the value of the corrected bad block accumulated number table to 2 is generated.

상기 보정된 블록 번호 테이블 값들은 메모리 블록들 중에서 배드 블록에 해당하는 블록의 블록 번호를 제거하고 실제 데이터가 존재하는 메모리 블록들의 블록 번호만을 포함한 것을 살펴볼 수 있다.It can be seen that the corrected block number table values include only the block numbers of memory blocks in which actual data exists, by removing the block numbers of the blocks corresponding to the bad blocks in the memory blocks.

컴퓨터는 상기 생성한 보정된 블록 번호 테이블을 이용하여 상기 이동통신 단말기의 내부 메모리 블록들에 저장되어 있는 데이터를 리드(Read)한다(S290).The computer reads data stored in the internal memory blocks of the mobile communication terminal using the generated corrected block number table (S290).

바람직하게, 컴퓨터는 상기에서 설명한 이동통신 단말기의 메모리 블록에 대해서 배드 블록 누적 개수 테이블을 생성하는 과정, 상기의 배드 블록 누적 개수 테이블의 값을 보정하는 과정, 그리고 상기 보정된 블록 번호 테이블을 생성하는 과정을 연결매체를 통해 이동통신 단말기가 최초로 연결되는 경우에만 수행한다. 그리고 그 이후 이동통신 단말기가 연결되는 경우에는 컴퓨터가 기존에 생성해 놓은 상기 보정된 블록 번호 테이블을 가지고 이동통신 단말기의 메모리 블록들로부터 데이터를 리드한다.Preferably, the computer generates the bad block accumulated count table for the memory block of the mobile communication terminal described above, corrects the value of the bad block accumulated count table, and generates the corrected block number table Only when the mobile communication terminal is first connected through the connection medium. If the mobile communication terminal is connected after that, the computer reads the data from the memory blocks of the mobile communication terminal with the corrected block number table that the computer has previously created.

그러므로 본 발명에 따르면 이동통신 단말기의 ISO 파일이 저장되어 있는 낸드 플래시 메모리 영역 내에 배드 블록이 존재하는 경우에도, 컴퓨터가 배드 블록에 해당하는 블록의 블록 번호를 제거한 상기 보정된 블록 번호 테이블을 생성하여 배드 블록이 아닌 실제 데이터가 존재하는 메모리 블록들의 데이터만을 리드할 수가 있어서, 배드 블록을 회피하여 정상적으로 ISO 파일을 읽어들일 수 있다.Therefore, according to the present invention, even if there is a bad block in the NAND flash memory area in which the ISO file of the mobile communication terminal is stored, the computer generates the corrected block number table from which the block number corresponding to the bad block is removed It is possible to read only the data of the memory blocks in which the actual data exists, not the bad block, so that the bad block can be avoided and the ISO file can be normally read.

이상에서 살펴본 바와 같이 바람직한 실시 예를 들어 도시하고 설명하였으나, 상기한 실시 예에 한정되지 아니하며 본 발명의 정신을 벗어나지 않는 범위 내에서 당해 발명이 속하는 기술분야에서 통상의 지식을 가진 자에 의해 다양한 변경과 수정이 가능할 것이다.
While the present invention has been particularly shown and described with reference to exemplary embodiments thereof, it is to be understood that the invention is not limited to the disclosed exemplary embodiments, And can be modified.

100 : 컴퓨터 110 : 이동통신 단말기100: computer 110: mobile communication terminal

Claims (2)

컴퓨터가 연결매체를 통해 접속된 외부장치 내의 메모리로부터 ISO 파일을 리드할 때, 배드 블록을 회피하면서 정상적으로 ISO 파일을 읽어들이기 위한 방법에 있어서,
상기 외부장치는 내부 메모리의 블록들 중 배드 블록에 대한 정보를 저장하고, 컴퓨터가 연결된 최초에 상기 배드 블록 정보를 컴퓨터로 전송하는 단계;
상기 컴퓨터는, 외부장치로부터 전송받은 상기 배드 블록 정보를 이용하여 배드 블록 누적 개수 테이블을 생성하는 단계;
상기 컴퓨터는, 상기 외부장치의 내부 메모리의 블록들 중에서 배드 블록에 해당하는 블록 번호를 제거하고, 실제 데이터가 존재하는 블록들의 블록 번호만을 포함한 테이블을 새로 생성하기 위하여 상기 생성된 배드 블록 누적 개수 테이블의 값을 보정하는 단계;
상기 외부장치의 내부 메모리의 블록들의 각 블록 번호마다 상기 보정된 배드 블록 누적 개수 테이블의 값을 더하여 상기 메모리의 블록들에 대한 보정된 블록 번호 테이블을 생성하는 단계; 및
상기 컴퓨터가 상기 생성한 보정된 블록 번호 테이블을 이용하여 상기 외부장치의 내부 메모리에 저장되어 있는 데이터를 리드(Read)하는 단계를 포함하여 이루어지는 메모리 리드시 배드 블록 회피 방법.
A method for normally reading an ISO file while avoiding a bad block when a computer reads an ISO file from a memory in an external device connected via a connection medium,
The external device stores information on bad blocks in the blocks of the internal memory and transmits the bad block information to the computer at the first time when the computer is connected;
Generating a bad block accumulation count table using the bad block information received from an external device;
Wherein the computer is further configured to remove a block number corresponding to a bad block from blocks of an internal memory of the external apparatus and to generate a table including only a block number of blocks in which actual data exists, And correcting the value of the reference value;
Generating a corrected block number table for the blocks of the memory by adding the value of the corrected bad block accumulated number table for each block number of blocks of the internal memory of the external apparatus; And
And reading the data stored in the internal memory of the external device using the corrected block number table generated by the computer.
청구항 1에 있어서,
상기 보정하는 단계는, 상기 메모리 블록들 중 배드 블록의 블록 번호(n)마다 매칭된 배드 블록 누적 개수(k)를 상기 배드 블록 누적 개수 테이블에서 추출하고 1보다 큰 값인지 여부를 확인하는 단계;
상기 확인 결과, 1보다 큰 값인 경우 블록 번호 n-(k-1)번부터 블록 번호 n-1번까지에 매칭된 배드 블록 누적 개수가 1 증가하도록 상기 배드 블록 누적 개수 테이블을 보정하는 단계를 포함하는 메모리 리드시 배드 블록 회피 방법.
The method according to claim 1,
Wherein the step of correcting comprises: extracting a cumulative number (k) of bad blocks matched for each block number (n) of the bad blocks in the memory blocks from the bad block cumulative number table and checking whether the number is greater than 1;
The step of correcting the bad block accumulated count table so that the cumulative number of bad blocks matched from the block number n- (k-1) to the block number n-1 is increased by 1 A bad block avoiding method for a memory lead.
KR1020100119974A 2010-11-29 2010-11-29 Method of avoiding bad block in case of reading memory KR101753397B1 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020100119974A KR101753397B1 (en) 2010-11-29 2010-11-29 Method of avoiding bad block in case of reading memory

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020100119974A KR101753397B1 (en) 2010-11-29 2010-11-29 Method of avoiding bad block in case of reading memory

Publications (2)

Publication Number Publication Date
KR20120058271A KR20120058271A (en) 2012-06-07
KR101753397B1 true KR101753397B1 (en) 2017-07-03

Family

ID=46609909

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020100119974A KR101753397B1 (en) 2010-11-29 2010-11-29 Method of avoiding bad block in case of reading memory

Country Status (1)

Country Link
KR (1) KR101753397B1 (en)

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100536491B1 (en) * 2004-06-28 2005-12-14 주식회사 테라반도체 Flash memory having circuit for avoiding bad block and method of address-shifting therefor

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100536491B1 (en) * 2004-06-28 2005-12-14 주식회사 테라반도체 Flash memory having circuit for avoiding bad block and method of address-shifting therefor

Also Published As

Publication number Publication date
KR20120058271A (en) 2012-06-07

Similar Documents

Publication Publication Date Title
US6360346B1 (en) Storage unit, method of checking storage unit, reading and writing method
US7496811B2 (en) Storage medium reproducing apparatus, storage medium reproducing method, and computer program product for reading information from storage medium
US9348692B2 (en) Flash memory apparatus, memory controller and method for controlling flash memory
CN108717385B (en) Data recovery method and system for flash memory
CN110442473B (en) Nonvolatile data storage method and device, electronic equipment and medium
CN105740088B (en) Flash memory data error correction method and device
KR20100028924A (en) Memory system and data processing method thereof
CN110147685B (en) Data verification method, system, device and equipment
KR20100104454A (en) Error correcting device, method for error correction thereof and memory device and data processing system including of the same
CN102279776A (en) Error checking and correcting ability testing method and device
CN104091616A (en) Method for detecting data consistency of set top box built-in flash chip
JP4866107B2 (en) Nonvolatile memory device and write determination method thereof
CN102904685A (en) Method and device for processing hardware table entry checking error
CN103813101A (en) Camera starting method applied to terminal and terminal
CN112347716A (en) Q learning-based power grid vulnerability detection method, system, equipment and medium
CN108573172B (en) Data checking and storing method and device
CN110597461B (en) Data storage method, device and equipment in block chain type account book
CN109861843B (en) Method, device and equipment for completely collecting and confirming log files
KR101753397B1 (en) Method of avoiding bad block in case of reading memory
CN108196975B (en) Data verification method and device based on multiple checksums and storage medium
CN111861858A (en) Method and device for starting image compression function verification and related equipment
CN115118625B (en) Data verification method and device
US8924819B2 (en) Memory device and operation method thereof
CN108387688B (en) Sensor correction and gas detection method, device and equipment and readable storage medium
CN113625947A (en) Data error correction method, device and equipment and computer readable storage medium

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