KR101753397B1 - Method of avoiding bad block in case of reading memory - Google Patents
Method of avoiding bad block in case of reading memory Download PDFInfo
- 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
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
- G06F12/00—Accessing, addressing or allocating within memory systems or architectures
- G06F12/02—Addressing or allocation; Relocation
- G06F12/06—Addressing a physical block of locations, e.g. base addressing, module addressing, memory dedication
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F12/00—Accessing, addressing or allocating within memory systems or architectures
- G06F12/14—Protection against unauthorised use of memory or access to memory
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C29/00—Checking stores for correct operation ; Subsequent repair; Testing stores during standby or offline operation
- G11C29/70—Masking faults in memories by using spares or by reconfiguring
- G11C29/88—Masking faults in memories by using spares or by reconfiguring with partially good memories
- G11C29/886—Masking 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
본 발명은 메모리 리드시 배드 블록 회피 방법에 관한 것으로, 보다 상세하게는 컴퓨터가 연결매체를 통해 접속된 이동통신 단말기를 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
그러나, 낸드 플래시 메모리에는 상기 언급한 바와 같이 초기 배드 블록을 가지고 있을 가능성이 존재하므로, 배드 블록인 영역을 회피하여 정상적으로 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
따라서, 종래에는 이동통신 단말기(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
그러므로, 본 발명은 컴퓨터가 이동통신 단말기 내에 데이터 저장매체인 낸드 플래시 메모리에서 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
그리고, 컴퓨터는 상기 생성한 배드 블록 누적 개수 테이블의 값을 보정하는 단계(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
컴퓨터는 상기 과정을 통해 블록 번호 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
그리고 컴퓨터는 블록 번호 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
컴퓨터는 단계 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
그리고 컴퓨터는 단계 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
이상, 도 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
상기 보정된 블록 번호 테이블 값들은 메모리 블록들 중에서 배드 블록에 해당하는 블록의 블록 번호를 제거하고 실제 데이터가 존재하는 메모리 블록들의 블록 번호만을 포함한 것을 살펴볼 수 있다.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)
상기 외부장치는 내부 메모리의 블록들 중 배드 블록에 대한 정보를 저장하고, 컴퓨터가 연결된 최초에 상기 배드 블록 정보를 컴퓨터로 전송하는 단계;
상기 컴퓨터는, 외부장치로부터 전송받은 상기 배드 블록 정보를 이용하여 배드 블록 누적 개수 테이블을 생성하는 단계;
상기 컴퓨터는, 상기 외부장치의 내부 메모리의 블록들 중에서 배드 블록에 해당하는 블록 번호를 제거하고, 실제 데이터가 존재하는 블록들의 블록 번호만을 포함한 테이블을 새로 생성하기 위하여 상기 생성된 배드 블록 누적 개수 테이블의 값을 보정하는 단계;
상기 외부장치의 내부 메모리의 블록들의 각 블록 번호마다 상기 보정된 배드 블록 누적 개수 테이블의 값을 더하여 상기 메모리의 블록들에 대한 보정된 블록 번호 테이블을 생성하는 단계; 및
상기 컴퓨터가 상기 생성한 보정된 블록 번호 테이블을 이용하여 상기 외부장치의 내부 메모리에 저장되어 있는 데이터를 리드(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.
상기 보정하는 단계는, 상기 메모리 블록들 중 배드 블록의 블록 번호(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.
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)
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 |
-
2010
- 2010-11-29 KR KR1020100119974A patent/KR101753397B1/en active IP Right Grant
Patent Citations (1)
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 |