KR100759590B1 - Method for initializing flash memory of mobile device and recording medium recorded program according to the method - Google Patents
Method for initializing flash memory of mobile device and recording medium recorded program according to the method Download PDFInfo
- Publication number
- KR100759590B1 KR100759590B1 KR1020060055247A KR20060055247A KR100759590B1 KR 100759590 B1 KR100759590 B1 KR 100759590B1 KR 1020060055247 A KR1020060055247 A KR 1020060055247A KR 20060055247 A KR20060055247 A KR 20060055247A KR 100759590 B1 KR100759590 B1 KR 100759590B1
- Authority
- KR
- South Korea
- Prior art keywords
- flash memory
- block
- bad
- portable device
- requested
- Prior art date
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/07—Responding to the occurrence of a fault, e.g. fault tolerance
- G06F11/0703—Error or fault processing not based on redundancy, i.e. by taking additional measures to deal with the error or fault not making use of redundancy in operation, in hardware, or in data representation
- G06F11/0766—Error or fault reporting or storing
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0628—Interfaces specially adapted for storage systems making use of a particular technique
- G06F3/0638—Organizing or formatting or addressing of data
- G06F3/064—Management of blocks
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0628—Interfaces specially adapted for storage systems making use of a particular technique
- G06F3/0646—Horizontal data movement in storage systems, i.e. moving data in between storage devices or systems
- G06F3/0652—Erasing, e.g. deleting, data cleaning, moving of data to a wastebasket
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0628—Interfaces specially adapted for storage systems making use of a particular technique
- G06F3/0655—Vertical data movement, i.e. input-output transfer; data movement between one or more hosts and one or more storage devices
- G06F3/0661—Format or protocol conversion arrangements
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0668—Interfaces specially adapted for storage systems adopting a particular infrastructure
- G06F3/0671—In-line storage system
- G06F3/0673—Single storage device
- G06F3/0679—Non-volatile semiconductor memory device, e.g. flash memory, one time programmable memory [OTP]
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Human Computer Interaction (AREA)
- Quality & Reliability (AREA)
- Techniques For Improving Reliability Of Storages (AREA)
- Read Only Memory (AREA)
Abstract
Description
도 1은 본 발명의 바람직한 실시예에 따른 휴대용 기기의 부팅 과정을 순차적으로 도시한 흐름도이다. 1 is a flowchart sequentially illustrating a booting process of a portable device according to an exemplary embodiment of the present invention.
도 2는 본 발명의 바람직한 실시예에 따른 휴대용 기기의 플래쉬 메모리 초기화 방법을 순차적으로 설명하는 흐름도이다. 2 is a flowchart sequentially illustrating a flash memory initialization method of a portable device according to an exemplary embodiment of the present invention.
도 3은 본 발명의 바람직한 실시예에 따른 휴대용 기기의 플래쉬 메모리로 요청된 작업을 수행하는 과정을 순차적으로 설명하는 흐름도이다. 3 is a flowchart sequentially illustrating a process of performing a requested operation to a flash memory of a portable device according to an exemplary embodiment of the present invention.
본 발명은 휴대폰 등에 탑재된 플래쉬 메모리를 초기화시키는 방법 및 상기 방법이 구현된 프로그램이 기록된 기록 매체에 관한 것으로서, 더욱 구체적으로는 휴대폰이 부팅 시간을 최소화시키면서 휴대폰 등에 탑재된 플래쉬 메모리를 효율적으로 초기화시키는 플래쉬 메모리 초기화 방법에 관한 것이다. The present invention relates to a method of initializing a flash memory mounted on a mobile phone and the like and a recording medium on which a program in which the method is implemented is recorded. More specifically, the mobile phone efficiently initializes the flash memory mounted on a mobile phone while minimizing a boot time. To initialize a flash memory.
휴대폰 등을 포함하는 휴대용 기기에는 대용량의 데이터를 저장하기 위한 NAND 플래쉬 메모리가 장착된다. 따라서, 휴대용 기기의 전원을 켜면, 휴대용 기기의 펌웨어 또는 운영 체제(OS)가 휴대용 기기에 장착된 하드웨어를 초기화시키고, 사용자 응용 프로그램을 서비스하기 위한 준비 작업을 수행한다. 일반적으로, 부팅시간은 휴대용 기기의 전원을 켠 시점부터 사용자 응용 프로그램이 서비스될 수 있는 시점까지의 시간을 말하는 것으로서, 이러한 휴대용 기기의 부팅시간을 최소화시키는 것은 매우 중요한 작업 중의 하나가 되고 있다. Portable devices, including mobile phones, are equipped with NAND flash memory for storing large amounts of data. Therefore, when the portable device is turned on, the firmware or operating system (OS) of the portable device initializes hardware mounted in the portable device and performs preparation for servicing the user application. In general, booting time refers to the time from when the portable device is powered on to when the user application can be serviced, and minimizing the booting time of the portable device is one of very important tasks.
그런데, 휴대용 기기의 펌웨어 또는 운영 체제를 이용한 부팅시에 많은 시간이 소요되는 초기화 작업 중의 하나가 NAND 플래쉬 메모리에 대한 초기화 작업이다. NAND 플래쉬 메모리에 대한 초기화 작업은 메모리내의 각 블록들에 대하여 검사하여 불량 블록이 존재하는지 여부를 확인하는 작업으로서, 일반적으로 메모리의 크기에 선형적으로 비례하는 시간이 소요된다. 예를 들어, 32MB NAND 플래쉬 메모리를 초기화시키는데 소요되는 시간은 약 4초 정도이다. However, one of the initialization operations that takes a lot of time when booting using the firmware or the operating system of the portable device is the initialization operation for the NAND flash memory. The initialization operation for the NAND flash memory checks each block in the memory to determine whether a bad block exists, and generally takes time linearly proportional to the size of the memory. For example, it takes about four seconds to initialize a 32MB NAND flash memory.
최근, 휴대용 기기에 장착되는 NAND 플래쉬 메모리의 용량이 점차 증가하고 있는 추세이며, 빠른 부팅 시간에 대한 중요성이 점차 크게 부각되고 있는 점을 고려할 때, NAND 플래쉬 메모리의 초기화 작업에 대한 효과적인 알고리즘 개발이 절실히 요구되고 있다. In recent years, the capacity of NAND flash memory mounted in portable devices is gradually increasing, and considering the importance of fast boot time, the development of an effective algorithm for initializing NAND flash memory is urgently needed. It is required.
전술한 문제점을 해결하기 위한 본 발명의 목적은 휴대용 기기의 부팅 시간을 감소시킬 수 있는 방법을 제공하는 것이다. SUMMARY OF THE INVENTION An object of the present invention to solve the above problems is to provide a method that can reduce the boot time of a portable device.
본 발명의 다른 목적은 휴대용 기기의 부팅 시간을 감소시키면서 휴대용 기 기에 장착된 플래쉬 메모리에 대한 효율적인 초기화 방법을 제공하는 것이다. Another object of the present invention is to provide an efficient initialization method for a flash memory mounted on a portable device while reducing the boot time of the portable device.
본 발명의 다른 목적은 전술한 방법들이 구현된 프로그램이 기록된 기록 매체를 제공하는 것이다. Another object of the present invention is to provide a recording medium in which a program in which the above-described methods are implemented is recorded.
전술한 기술적 과제를 달성하기 위한 본 발명의 특징은 휴대용 기기의 플래쉬 메모리를 초기화하는 방법에 관한 것으로서, A feature of the present invention for achieving the above technical problem relates to a method of initializing a flash memory of a portable device,
(a) 초기 부팅시에 플래쉬 메모리에 대한 불량 검사를 수행하지 않고, 불량 블록 목록을 널(NULL)로 설정하고, '플래쉬 메모리 초기화 플래그'를 'FALSE'로 설정하는 단계,(a) setting the bad block list to NULL and setting the 'flash memory initialization flag' to 'FALSE' without performing a bad check on the flash memory at the initial boot,
(b) 상기 휴대용 기기가 부팅 후 유휴상태인지 여부를 확인하는 단계,(b) checking whether the portable device is idle after booting,
(c) 만약 휴대용 기기가 유휴 상태인 경우, 플래쉬 메모리의 각 블록에 대해 순차적으로 불량 여부를 검사하고, 불량 블록은 불량 블록 목록에 추가시키는 단계(c) If the portable device is in an idle state, each block of the flash memory is sequentially checked for badness, and the bad block is added to the bad block list.
(d) 플래쉬 메모리의 모든 블록에 대한 불량 여부 검사가 종료되면, '플래쉬 메모리 초기화 플래그'를 'TRUE'로 설정하는 단계를 구비하여 휴대용 기기가 유휴 상태일때 플래쉬 메모리를 검사하여 휴대용 기기의 초기 부팅 시간을 감소시킨다. (d) When the badness check of all blocks of the flash memory is finished, the step of setting the 'flash memory initialization flag' to 'TRUE' includes checking the flash memory when the portable device is in an idle state and initial booting of the portable device. Reduce time.
전술한 특징을 갖는 상기 플래쉬 메모리 초기화 방법은 The flash memory initialization method having the above-described characteristics
(e) 만약 플래쉬 메모리의 특정 블록으로 '쓰기 작업'이 요청된 경우, 플래쉬 메모리 초기화 플래그를 확인하고, (e) if a 'write operation' is requested to a specific block of flash memory, check the flash memory initialization flag,
(f) 만약 상기 플래그가 'FALSE'인 경우, 해당 블록에 대한 불량 여부를 검사하고, 해당 블록이 불량인 경우에는 불량 블록 목록에 해당 블록을 추가하는 단 계,(f) if the flag is 'FALSE', checking whether the corresponding block is bad or adding the corresponding block to the bad block list if the corresponding block is bad;
(g) 만약 상기 플래그가 'TRUE'인 경우, 요청된 작업을 수행하는 단계를 더 구비하여, 메모리로 요청된 '쓰기 작업'을 수행한다. (g) If the flag is 'TRUE', the method further includes performing a requested operation to perform a 'write operation' requested to the memory.
전술한 특징을 갖는 상기 플래쉬 메모리 초기화 방법은The flash memory initialization method having the above-described characteristics
(e) 만약 플래쉬 메모리의 특정 블록에 대한 '읽기 작업'이 요청된 경우, 플래쉬 메모리 초기화 플래그에 대한 확인없이 바로 요청된 작업을 수행하는 단계를 더 구비하여, 메모리로 요청된 '읽기 작업'을 수행한다. (e) if a 'read operation' is requested for a specific block of flash memory, further comprising performing the requested operation immediately without checking the flash memory initialization flag, thereby performing a 'read operation' requested to the memory. Perform.
본 발명의 다른 특징은 휴대용 기기의 플래쉬 메모리를 초기화시키는 프로그램이 기록된 기록 매체에 관한 것으로서, 상기 프로그램은Another aspect of the present invention relates to a recording medium having recorded thereon a program for initializing a flash memory of a portable device.
(a) 초기 부팅시에 플래쉬 메모리에 대한 불량 검사를 수행하지 않고, 불량 블록 목록을 널(NULL)로 설정하고, '플래쉬 메모리 초기화 플래그'를 'FALSE'로 설정하는 절차,(a) a procedure of setting a bad block list to NULL and a 'flash memory initialization flag' to 'FALSE' without performing a bad check on the flash memory at the initial boot,
(b) 상기 휴대용 기기가 부팅 후 유휴상태인지 여부를 확인하는 절차,(b) determining whether the portable device is idle after booting,
(c) 만약 휴대용 기기가 유휴 상태인 경우, 플래쉬 메모리의 각 블록에 대해 순차적으로 불량 여부를 검사하고, 해당 블록이 불량인 경우 해당 블록을 불량 블록 목록에 추가시키는 절차,(c) if the portable device is idle, sequentially check each block in the flash memory for badness, and if the block is bad, add the block to the bad block list;
(d) 플래쉬 메모리의 모든 블록에 대한 불량 여부 검사가 종료되면, '플래쉬 메모리 초기화 플래그'를 'TRUE'로 설정하는 절차를 순차적으로 수행하여 휴대용 기기가 유휴 상태일때 플래쉬 메모리를 검사하여 휴대용 기기의 초기 부팅 시간을 감소시킨다.(d) When the badness check of all blocks of the flash memory is finished, the procedure of setting the 'flash memory initialization flag' to 'TRUE' is sequentially performed to inspect the flash memory when the portable device is in an idle state. Reduce initial boot time.
전술한 특징을 갖는 상기 기록 매체의 상기 프로그램은 The program of the recording medium having the above-mentioned characteristics
(e) 만약 플래쉬 메모리의 특정 블록으로 '쓰기 작업'이 요청된 경우, 플래쉬 메모리 초기화 플래그를 확인하는 절차, (e) a process of checking the flash memory initialization flag if a 'write operation' is requested to a specific block of flash memory;
(f) 만약 상기 플래그가 'FALSE'인 경우, 해당 블록에 대한 불량 여부를 검사하고, 해당 블록이 불량인 경우에는 불량 블록 목록에 해당 블록을 추가하는 절차,(f) if the flag is 'FALSE', a process of checking whether a block is bad or adding a block to the bad block list if the block is bad;
(g) 만약 상기 플래그가 'TRUE'인 경우, 요청된 작업을 수행하는 절차를 수행한다. (g) If the flag is 'TRUE', the procedure to perform the requested operation is performed.
이하, 첨부된 도면을 참조하여 본 발명의 바람직한 실시예에 따른 휴대용 기기의 플래쉬 메모리의 초기화 방법에 대하여 구체적으로 설명한다. 본 발명의 바람직한 실시예에 따른 플래쉬 메모리의 초기화 방법은 플래쉬 메모리에 대한 초기화 작업을 휴대용 기기의 부팅시에 수행하는 것이 아니라 부팅 후 휴대용 기기가 유휴 상태(idle)에서 수행하는 것을 특징으로 한다. Hereinafter, a method of initializing a flash memory of a portable device according to an exemplary embodiment of the present invention will be described in detail with reference to the accompanying drawings. The initialization method of the flash memory according to the preferred embodiment of the present invention is characterized in that the initialization operation for the flash memory is performed in the idle state after booting, rather than performing the initialization operation for the portable device.
도 1은 본 발명의 바람직한 실시예에 따른 플래쉬 메모리의 초기화 방법에 따른 휴대용 기기의 초기화 과정을 순차적으로 설명하는 흐름도이다. 이하, 도 1을 참조하여 본 발명의 바람직한 실시예에 따른 휴대용 기기의 초기화 과정을 순차적으로 설명한다. 1 is a flowchart sequentially illustrating a process of initializing a portable device according to a method of initializing a flash memory according to an exemplary embodiment of the present invention. Hereinafter, an initialization process of a portable device according to an exemplary embodiment of the present invention will be described with reference to FIG. 1.
먼저, 휴대용 기기의 전원을 켬으로써 휴대용 기기의 펌웨어 또는 운영체제의 초기화 작업을 실행한다(단계 100). 하드웨어 장치를 초기화시키면서, 플래쉬 메모리를 초기화하는 과정을 수행하지 않고 불량 블록에 대한 목록을 널(NULL)로 설정하고, '플래쉬 메모리 초기화 플래그'를 'FALSE'로 설정한다(단계 110). 다음, 응용 프로그램의 실행 환경을 초기화시킨 후(단계 120), 펌웨어 또는 운영체제의 초기화 작업을 종료한다(단계 130).First, the initialization operation of the firmware or the operating system of the portable device is executed by turning on the portable device (step 100). While initializing the hardware device, the list of bad blocks is set to null and the 'flash memory initialization flag' is set to 'FALSE' without performing a process of initializing the flash memory (step 110). Next, after initializing the execution environment of the application program (step 120), the initialization operation of the firmware or the operating system is terminated (step 130).
이와 같이, 휴대용 기기의 초기화 작업시에는 플래쉬 메모리의 불량 블록에 대한 검사 과정없이 플래쉬 메모리의 불량 블록이 없는 것으로 설정함으로써, 빠른 부팅을 가능하게 한다. As described above, during the initialization operation of the portable device, by setting the defective block of the flash memory without the inspection process for the defective block of the flash memory, fast booting is possible.
한편, 본 발명의 바람직한 실시예에 따른 플래쉬 메모리의 초기화 방법에 따라 휴대용 기기가 유휴 상태일 때, 플래쉬 메모리에 대한 불량 블록 목록 작성 작업을 순차적으로 설명한다. 도 2는 휴대용 기기가 유휴 상태일 때 수행되는 플래쉬 메모리에 대한 초기화 작업 과정을 순차적으로 도시한 흐름도이다. On the other hand, according to the flash memory initialization method according to an embodiment of the present invention, when the portable device is in an idle state, a bad block list creation operation for the flash memory will be described sequentially. 2 is a flowchart sequentially illustrating an initialization process for a flash memory that is performed when the portable device is in an idle state.
도 2를 참조하면, 먼저 현재 블록 번호는 '0'으로 설정한다(단계 200). 다음, 휴대용 기기가 유휴 상태인지를 확인하며, 만약 유휴 상태가 아니면 유휴 상태가 될때까지 대기하며, 만약 유휴 상태인 경우에는 플래쉬 메모리의 각 블록이 불량 블록인지 여부를 검사하는 초기화 작업을 계속 수행한다(단계210).Referring to FIG. 2, first, the current block number is set to '0' (step 200). Next, it checks whether the portable device is in an idle state, and waits until it is idle if it is not idle, and if it is in the idle state, it performs the initialization operation that checks whether each block of the flash memory is a bad block. (Step 210).
현재 블록 번호가 마지막 블록 번호인지 여부를 확인하고, 만약 현재 블록 번호가 마지막 블록 번호인 경우에는 플래쉬 메모리 초기화 플래그를 'TRUE'로 설정한 후(단계 220) 불량 블록 목록 작성 작업을 종료한다(단계 222).Check whether the current block number is the last block number, and if the current block number is the last block number, set the flash memory initialization flag to 'TRUE' (step 220) and then terminate the bad block list creation operation (step 220). 222).
만약 현재 블록 번호가 마지막 블록 번호가 아닌 경우에는, 현재 블록에 대한 불량 여부를 검사하고(단계 230), 현재 블록이 불량 블록인 경우는 불량 블록 목록에 현재 블록 번호를 추가시킨 후(단계 232), 현재 블록 번호를 1 증가시킨 후 단계 210으로 되돌아가서 해당 블록에 대한 불량 여부를 검사한다(단계 234).If the current block number is not the last block number, it is checked whether the current block is bad (step 230). If the current block is a bad block, the current block number is added to the bad block list (step 232). After increasing the current block number by 1, the process returns to step 210 to check whether the corresponding block is defective (step 234).
전술한 바와 같이 본 발명의 바람직한 실시예에 따른 플래쉬 메모리 초기화 방법은, 휴대용 기기가 유휴 상태일 때 NAND 플래쉬 메모리에 대한 불량 블록 목록을 작성하고, 휴대용 기기가 어떤 작업을 수행해야 하는 상태에서는 불량 블록 목록 작성 작업을 일시적으로 중지한다. 이와 같이, 휴대용 기기가 유휴 상태일 때 불량 블록 목록을 작성함으로써, 휴대용 기기에 별도의 부하를 주지 않으면서도 휴대용 기기의 부팅 시간을 감소시킬 수 있게 된다. As described above, in the flash memory initialization method according to the preferred embodiment of the present invention, the bad block list for the NAND flash memory is created when the portable device is in an idle state, and the bad block is performed when the portable device must perform some operation. Temporarily stop creating a list. As such, by creating a bad block list when the portable device is in an idle state, booting time of the portable device can be reduced without additional load on the portable device.
한편, 전술한 불량 블록 목록의 작성 작업이 종료되어 플래쉬 메모리 초기화 플래그가 'TRUE'로 설정된 경우에는, 휴대용 기기에 의한 플래쉬 메모리에 대한 읽기 및 쓰기 작업이 요청되더라도 그대로 처리하게 된다. 그런데, 전술한 불량 블록 목록의 작성 작업이 종료되지 않고 플래쉬 메모리 초기화 플래그가 'FALSE'인 경우에는 플래쉬 메모리에 대한 읽기 및 쓰기 작업이 요청된 경우에는 해당 블록이 불량 블록인지 여부를 확인한 후 요청된 작업을 수행해야 된다. 이하, 도 3을 참조하여 휴대용 기기로부터 읽기 및 쓰기 작업이 요청된 경우의 처리 과정을 순차적으로 설명한다. On the other hand, when the above-described bad block list creation operation is completed and the flash memory initialization flag is set to 'TRUE', the read and write operations for the flash memory by the portable device are processed as it is. However, when the above-described bad block list creation operation is not terminated and the flash memory initialization flag is 'FALSE', when a read and write operation for the flash memory is requested, after checking whether the corresponding block is a bad block or not, You have to do it. Hereinafter, referring to FIG. 3, a process in the case where a read and write operation is requested from the portable device will be described sequentially.
먼저, 플래쉬 메모리에 대한 읽기/쓰기 작업이 요청된 경우, 플래쉬 메모리 초기화 플래그의 상태를 확인한다(단계 300). 만약 상기 플래그가 'TRUE'인 경우, 요청된 읽기/쓰기 작업을 수행한 후 종료한다(단계 310).First, when a read / write operation to the flash memory is requested, the state of the flash memory initialization flag is checked (step 300). If the flag is 'TRUE', the process ends after performing the requested read / write operation (step 310).
만약 상기 플래그가 'TRUE'가 아니면서 요청된 작업이 '읽기 작업'인 경우, 요청된 읽기 작업을 수행한 후 종료한다(단계 310).If the requested task is a 'read operation' without the flag being 'TRUE', the process ends after performing the requested read operation (step 310).
만약 상기 플래그가 'TRUE'가 아니면서 요청된 작업이 '쓰기 작업'인 경우, 쓰기 작업이 요청된 블록 번호가 불량 블록 목록에 포함되어 있는지 여부를 확인한다(단계 312). 만약 상기 요청된 블록 번호가 불량 블록 목록에 포함되어 있는 경우, 쓰기 작업이 수행되지 않았음을 통지한 후에 종료한다(단계 314). If the flag is not 'TRUE' and the requested operation is 'write operation', it is checked whether the block number for which the write operation is requested is included in the bad block list (step 312). If the requested block number is included in the bad block list, the process ends after notifying that the write operation has not been performed (step 314).
다음, 쓰기 작업이 요청된 블록 번호와 현재 블록 번호를 비교하여(단계 320), 쓰기 작업이 요청된 블록 번호가 현재 블록 번호보다 더 작으면 해당 작업을 수행한 후 종료한다(단계 310). 만약 쓰기 작업이 요청된 블록 번호가 현재 블록 번호보다 큰 경우, 아직 메모리에 대한 불량 블록 목록의 작성 작업이 완료되지 않은 상태이므로, 해당 블록에 대한 불량 검사를 수행한다(단계 330). 만약 해당 블록이 불량 블록인 경우, 불량 블록 목록에 해당 블록의 번호를 추가한 후(단계 340) 쓰기 작업이 수행되지 않았음을 통지한 후 종료한다(단계 350). 이 경우, 쓰기 작업이 정상적으로 수행되지 않을 경우에는 상위 응용 프로그램으로 정상적으로 쓰기 작업이 수행되지 않았음을 나타내는 에러 값을 반환시킨다. Next, the block number for which the write operation is requested is compared with the current block number (step 320). If the block number for which the write operation is requested is smaller than the current block number, the operation is terminated after performing the corresponding operation (step 310). If the block number for which a write operation is requested is larger than the current block number, since the creation operation of the bad block list for the memory has not been completed yet, a bad check is performed on the corresponding block (step 330). If the corresponding block is a bad block, the block is added to the bad block list (step 340), then the notification is not performed that the write operation is terminated (step 350). In this case, when the write operation is not performed normally, an error value indicating that the writing operation is not normally performed to the upper application is returned.
이상에서 본 발명에 대하여 그 바람직한 실시예를 중심으로 설명하였으나, 이는 단지 예시일 뿐 본 발명을 한정하는 것이 아니며, 본 발명이 속하는 분야의 통상의 지식을 가진 자라면 본 발명의 본질적인 특성을 벗어나지 않는 범위에서 이상에 예시되지 않은 여러 가지의 변형과 응용이 가능함을 알 수 있을 것이다. 그리고, 이러한 변형과 응용에 관계된 차이점들은 첨부된 청구 범위에서 규정하는 본 발명의 범위에 포함되는 것으로 해석되어야 할 것이다. Although the present invention has been described above with reference to preferred embodiments thereof, this is merely an example and is not intended to limit the present invention, and those skilled in the art do not depart from the essential characteristics of the present invention. It will be appreciated that various modifications and applications which are not illustrated above in the scope are possible. And differences relating to such modifications and applications should be construed as being included in the scope of the invention defined in the appended claims.
본 발명에 따른 플래쉬 메모리 초기화 방법에 의하여, 휴대용 기기의 부팅 시간을 감소시킬 수 있게 된다. 또한, 휴대용 기기의 유휴 상태에서 플래쉬 메모리 초기화 작업을 수행함으로써, 휴대용 기기의 부팅 시간도 감소시키면서, 불량 블록 목록도 효율적으로 작성할 수 있게 된다. By the flash memory initialization method according to the present invention, it is possible to reduce the booting time of the portable device. In addition, by performing the flash memory initialization operation in the idle state of the portable device, the boot time of the portable device may be reduced, and the bad block list may be efficiently written.
Claims (9)
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1020060055247A KR100759590B1 (en) | 2006-06-20 | 2006-06-20 | Method for initializing flash memory of mobile device and recording medium recorded program according to the method |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1020060055247A KR100759590B1 (en) | 2006-06-20 | 2006-06-20 | Method for initializing flash memory of mobile device and recording medium recorded program according to the method |
Publications (1)
Publication Number | Publication Date |
---|---|
KR100759590B1 true KR100759590B1 (en) | 2007-09-18 |
Family
ID=38738151
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
KR1020060055247A KR100759590B1 (en) | 2006-06-20 | 2006-06-20 | Method for initializing flash memory of mobile device and recording medium recorded program according to the method |
Country Status (1)
Country | Link |
---|---|
KR (1) | KR100759590B1 (en) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113223583A (en) * | 2021-05-14 | 2021-08-06 | 深圳市硅格半导体有限公司 | Method for rereading data in NAND Flash bad block, electronic equipment and storage medium |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR20050028752A (en) * | 2003-09-19 | 2005-03-23 | 삼성전자주식회사 | Apparatus and method for booting system using flash memory |
KR20060018335A (en) * | 2004-08-24 | 2006-03-02 | 삼성전자주식회사 | Method and apparatus for verifying an initial state of non-volatile memory device |
-
2006
- 2006-06-20 KR KR1020060055247A patent/KR100759590B1/en not_active IP Right Cessation
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR20050028752A (en) * | 2003-09-19 | 2005-03-23 | 삼성전자주식회사 | Apparatus and method for booting system using flash memory |
KR20060018335A (en) * | 2004-08-24 | 2006-03-02 | 삼성전자주식회사 | Method and apparatus for verifying an initial state of non-volatile memory device |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113223583A (en) * | 2021-05-14 | 2021-08-06 | 深圳市硅格半导体有限公司 | Method for rereading data in NAND Flash bad block, electronic equipment and storage medium |
CN113223583B (en) * | 2021-05-14 | 2024-05-17 | 深圳市硅格半导体有限公司 | Method for re-reading data in NAND FLASH bad blocks, electronic equipment and storage medium |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US9262283B2 (en) | Method for reading kernel log upon kernel panic in operating system | |
US8782469B2 (en) | Request processing system provided with multi-core processor | |
US9218893B2 (en) | Memory testing in a data processing system | |
US20100235617A1 (en) | System recovery method and embedded system with automatic recovery function | |
US20160314002A1 (en) | Caching unified extensible firmware interface (uefi) and/or other firmware instructions in a non-volatile memory of an information handling system (ihs) | |
CN110502281A (en) | A kind of method of embedded device starting linux kernel and file system | |
CN110716845B (en) | Log information reading method of Android system | |
US20140181495A1 (en) | System on chip including boot shell debugging hardware and driving method thereof | |
JP2008009721A (en) | Evaluation system and evaluation method thereof | |
US8103862B2 (en) | Self test initialization | |
CN113377586B (en) | Automatic detection method and device for server and storage medium | |
KR100825786B1 (en) | Memory card and debugging method for the same | |
JP6643407B2 (en) | Method, apparatus, server and program for inspecting defect function | |
US9183152B2 (en) | System and method for providing instant video in an information handling system | |
KR100759590B1 (en) | Method for initializing flash memory of mobile device and recording medium recorded program according to the method | |
CN114968753A (en) | Equipment upgrading test method, medium, electronic equipment and test system | |
US20090259835A1 (en) | System and method for tracking and recording system configurations of electronic devices | |
CN115422091B (en) | Firmware debugging method and device, electronic equipment and storage medium | |
CN115495275B (en) | Storage system and control method thereof | |
US20240176887A1 (en) | Method for Running Startup Program of Electronic Device, and Electronic Device | |
JP2005149503A (en) | System and method for testing memory using dma | |
CN113672260A (en) | CPU initialization method for processor | |
CN113590388B (en) | UBOOT-based SPL rollback method and device, storage medium and terminal | |
KR101342074B1 (en) | Computer system and control method thereof | |
CN110476153A (en) | The method and electronic equipment of access instruction SRAM |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A201 | Request for examination | ||
E701 | Decision to grant or registration of patent right | ||
GRNT | Written decision to grant | ||
FPAY | Annual fee payment |
Payment date: 20120828 Year of fee payment: 6 |
|
FPAY | Annual fee payment |
Payment date: 20130828 Year of fee payment: 7 |
|
FPAY | Annual fee payment |
Payment date: 20140822 Year of fee payment: 8 |
|
LAPS | Lapse due to unpaid annual fee |