KR100955010B1 - 실행 코드를 포함하는 낸드 플래시 메모리 복사 방법 - Google Patents

실행 코드를 포함하는 낸드 플래시 메모리 복사 방법 Download PDF

Info

Publication number
KR100955010B1
KR100955010B1 KR1020070118406A KR20070118406A KR100955010B1 KR 100955010 B1 KR100955010 B1 KR 100955010B1 KR 1020070118406 A KR1020070118406 A KR 1020070118406A KR 20070118406 A KR20070118406 A KR 20070118406A KR 100955010 B1 KR100955010 B1 KR 100955010B1
Authority
KR
South Korea
Prior art keywords
block
flash memory
nand flash
copying
bad
Prior art date
Application number
KR1020070118406A
Other languages
English (en)
Other versions
KR20090051936A (ko
Inventor
이성갑
Original Assignee
모바일 어플라이언스 주식회사
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 모바일 어플라이언스 주식회사 filed Critical 모바일 어플라이언스 주식회사
Priority to KR1020070118406A priority Critical patent/KR100955010B1/ko
Publication of KR20090051936A publication Critical patent/KR20090051936A/ko
Application granted granted Critical
Publication of KR100955010B1 publication Critical patent/KR100955010B1/ko

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input 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/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0628Interfaces specially adapted for storage systems making use of a particular technique
    • G06F3/0646Horizontal data movement in storage systems, i.e. moving data in between storage devices or systems
    • G06F3/065Replication mechanisms
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input 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/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0628Interfaces specially adapted for storage systems making use of a particular technique
    • G06F3/0638Organizing or formatting or addressing of data
    • G06F3/064Management of blocks
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/44Arrangements for executing specific programs
    • G06F9/4401Bootstrapping

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Software Systems (AREA)
  • Human Computer Interaction (AREA)
  • Computer Security & Cryptography (AREA)
  • Techniques For Improving Reliability Of Storages (AREA)
  • Read Only Memory (AREA)

Abstract

본 발명은 실행 코드가 저장된 낸드 플래시 메모리를 복사하는 방법에 관한 것이다.
본 발명의 제1 실시예에 따른 낸드 플래시 메모리 복사 방법은, 낸드 플래시 메모리에 저장된 실행 코드를 복사하는 롬라이터 장치에 있어서, 제1 낸드 플래시 메모리의 페이지를 배드 블록 영역을 제외하고 순차적으로 리드(read)하는 단계; 및 상기 리드(read)한 페이지를 제2 낸드 플래시 메모리의 페이지에 순차적으로 라이트(write)하는 단계를 포함한다.
본 발명의 제2 실시예에 따른 낸드 플래시 메모리 복사 방법은, 시스템 동작시 부트로더가 낸드 플래시 메모리에 저장된 실행 코드를 메인 메모리로 복사하는 방법에 있어서, 상기 낸드 플래시 메모리의 페이지 내용을 배드 블록 영역을 제외하고 순차적으로 리드(read)하는 단계; 및 상기 리드(read)한 페이지 내용을 상기 메인 메모리에 순차적으로 라이트(write)하는 단계를 포함한다.
본 발명에 따른 복사 방법을 이용함으로써, 데이터의 복사 성공률을 높일 수 있고 데이터 신뢰도를 향상시킬 수 있으며 오류로 인한 제품의 평균 생산 시간을 단축할 수 있다.
페이지, 부트로더, 낸드 플래시 메모리, 배드 블록

Description

실행 코드를 포함하는 낸드 플래시 메모리 복사 방법{Method for copying of NAND flash memory including execute code}
본 발명은 실행 코드가 저장된 낸드 플래시 메모리를 복사하는 방법에 관한 것이다.
플래시 메모리 장치(Flash Memory Device)는 플래시 EEPROM(Flash Electrically Erasable Programmable Read Only Memory) 또는 플래시 E2PROM 등으로 불리는, 전원 없이도 데이터를 보존할 수 있는 비휘발성 메모리 장치(Nonvolatile Memory Device)이다. 플래시 메모리 장치(예컨대, NAND 타입 플래시 메모리 장치)의 메모리 셀 어레이는 복수 개의 블록들(Blocks)로 나누어져 있고, 각 블록은 복수 개의 페이지들(Pages)로 이루어지며, 각 페이지는 하나의 워드 라인을 공유하는 복수 개의 바이트 단위의 메모리 셀들(Memory Cells)로 구성되어 있다. 일반적으로, 각 블록은 16개, 32개, 또는 64의 페이지로 구성되며, 각 페이지는 512 바이트, 또는 2048 바이트 등의 메모리 셀들로 구성된다.
플래시 메모리 장치는 공정 과정 또는 동작 과정에서 메모리 셀이 치명적인 결함이 발생하는 경우가 있다. 결함이 있다고 판정된 메모리 셀을 적어도 1개 이상 가지고 있는 블록을 배드 블록(Bad Block)이라고 하며, 상기 배드 블록의 수가 규정치 이상, 예컨대 5개 이상 존재하는 경우에는 그 플래시 메모리 장치는 불량품으로 판정된다.
최초 낸드 플래시 메모리를 포맷할 경우 배드 블록 여부를 점검해야 한다. 플래시 형태에 따라 배드 블록 마크의 정보 주소가 상이하다. 각 블록의 페이지 0, 1에서 배드 블록 마크 영역을 읽어서 Oxff(8비트 I/O의 경우)가 아니면 배드 블록으로 판단한다. 이레이즈(erase) 작업이나 라이트(write) 작업 중에도 정상적으로 작업이 종료되지 않으면 배드 블록으로 판단하여 마킹하고 더 이상 사용하지 않아야 한다.
그러나, 상기와 같이 소정의 배드 블록을 포함하고 있는 낸드 플래시 메모리를 복사하는 경우에 있어서, 종래에는 배드 블록을 고려하지 않고 복사를 수행하여 메모리에 저장된 실행 코드가 손상되는 경우가 발생하고, 그 결과 시스템이 정상적으로 동작하지 않거나 전혀 실행되지 않는 경우도 발생하였다.
상기 문제점을 해결하기 위해서는, 복사 불량 영역에 대해서 수작업으로 특정 소프트웨어를 이용하여 실행 코드를 다시 낸드 플래시 메모리에 라이트(write) 해야 한다. 이는 공장에서 대량 생산시 평균 작업 시간의 증가를 초래하므로 효율성 측면에서 큰 문제점이 되고 있다.
도 1은 종래의 낸드 플래시 메모리에 저장된 실행 코드의 복사 방법을 나타내는 개략도이다.
도 1에 도시된 바와 같이, 낸드 플래시 메모리는 복수 개의 블록으로 구성되어 있다. 도 1에서는 설명을 용이하게 하기 위해서 8개의 블록을 포함하는 것으로 도시하였다. 각 블록들은 복수 개의 페이지로 구성되며, 낸드 플래시 메모리는 페이지 단위로 리드(read)/라이트(write)를 수행한다.
종래의 낸드 플래시 메모리를 복사하기 위한 롬라이터(ROM-Writer) 장치는 다양한 유형의 비휘발성 메모리를 복사하는 것을 지원하기 때문에 낸드 플래시 메모리의 특성을 충분히 반영하지 못하였다. 즉, 낸드 플래시 메모리에 포함되어 있는 배드 블록에 대한 고려가 이루어지지 않았으며, 그 결과 원본 낸드 플래시 메모리의 내용을 그대로 대상 낸드 플래시 메모리로 복사하였다.
도 1은 종래의 낸드 플래시 메모리에 저장된 실행 코드의 복사 방법을 나타내는데, 원본 플래시 메모리(10)에는 배드 블록(11)이 포함되어 있다. 종래의 방식은 낸드 플래시 메모리에 저장된 배드 블록을 고려하지 않고 복사를 수행하였기 때문에, 원본 낸드 플래시 메모리(10)에 저장된 배드 블록(11)이 대상 낸드 플래시 메모리(20)에 그대로 복사되어 배드 블록(21)을 형성한다.
또한, 대상 낸드 플래시 메모리(20)에는 본래 가지고 있던 배드 블록(22)이 포함될 수 있어, 복제된 낸드 플래시 메모리(20)에는 원본 낸드 플래시 메모리(10)보다 많은 수의 배드 블록(본 경우는 2개)을 포함할 수 있다.
또한, 메모리 상의 여유 공간이 없는 경우에는 원본 낸드 플래시 메모리(10)의 말단 블록(12)이 복사되지 못하는 경우도 발생하게 된다.
상기한 바와 같이, 낸드 플래시 메모리에 포함된 배드 블록은 프로그램의 신 뢰성을 떨어뜨리고 시스템을 정상 동작하지 못하게 할 수 있으며 경우에 따라 실행이 전혀 불가능하게 할 수도 있어 큰 문제가 되고 있다.
본 발명은 상기의 문제점을 해결하고자 안출된 것으로서, 본 발명의 목적은 낸드 플래시 메모리를 복사하는 경우에 있어서 복사 성공률을 높이고 복사에 대한 데이터 신뢰도를 높일 수 있는 복사 방법을 제안하는 것이다.
상기의 과제를 해결하기 위해서, 본 발명의 실시예에 따른 낸드 플래시 메모리 복사 방법은 낸드 플래시 메모리에 포함된 배드 블록 정보를 고려하여 복사를 수행함을 특징으로 한다.
본 발명에 따르면, 낸드 플래시 메모리에서 심각한 문제를 발생시킬 수 있는 배드 블록을 고려하여 복사를 수행함으로써, 복사 성공률을 향상시킬 수 있다.
또한, 데이터를 리드(read)/라이트(write)하는 경우에 있어 해당 블록에 유효한 데이터를 라이트(write) 함으로써 유효한 데이터의 손실을 방지할 수 있고 데이터의 신뢰도를 향상시킬 수 있다.
또한, 오류로 인한 제품의 평균 생산 시간을 단축할 수 있고, 생산 원가를 절감할 수 있다.
본 발명은 실행 코드가 저장된 낸드 플래시 메모리를 복사하는 방법에 관한 것이다.
본 발명의 제1 실시예에 따른 낸드 플래시 메모리 복사 방법은, 낸드 플래시 메모리에 저장된 실행 코드를 복사하는 롬라이터 장치에 있어서, 제1 낸드 플래시 메모리의 페이지를 배드 블록 영역을 제외하고 순차적으로 리드(read)하는 단계; 및 상기 리드(read)한 페이지를 제2 낸드 플래시 메모리의 페이지에 순차적으로 라이트(write)하는 단계를 포함한다.
바람직하게, 상기 제1 낸드 플래시 메모리의 페이지를 배드 블록 영역을 제외하고 순차적으로 리드(read)하는 단계는, 상기 제1 낸드 플래시 메모리를 구성하는 각 블록이 배드 블록인지를 판단하는 단계; 및 상기 판단 결과 배드 블록이 아니면 해당 블록을 리드(read)하고, 배드 블록이면 해당 블록을 리드(read)하지 않는 단계를 포함한다.
바람직하게, 상기 제2 낸드 플래시 메모리를 구성하는 각 블록이 배드 블록인지를 판단하는 단계는, 상기 제2 낸드 플래시 메모리를 구성하는 각 블록이 배드 블록인지를 판단하는 단계; 및 상기 판단 결과 배드 블록이 아니면 해당 블록에 라이트(write)하고, 배드 블록이면 해당 블록에 라이트(write)하지 않는 단계를 더 포함한다.
바람직하게, 상기 낸드 플래시 메모리는 상기 실행 코드의 일부인 부트로더를 포함하고, 상기 부트로더가 0번 블록에 저장된다.
본 발명의 제2 실시예에 따른 낸드 플래시 메모리 복사 방법은, 시스템 동작시 부트로더가 낸드 플래시 메모리에 저장된 실행 코드를 메인 메모리로 복사하는 방법에 있어서, 상기 낸드 플래시 메모리의 페이지 내용을 배드 블록 영역을 제외 하고 순차적으로 리드(read)하는 단계; 및 상기 리드(read)한 페이지 내용을 상기 메인 메모리에 순차적으로 라이트(write)하는 단계를 포함한다.
바람직하게, 상기 낸드 플래시 메모리의 페이지 내용을 배드 블록을 제외하고 순차적으로 리드(read)하는 단계는, 상기 낸드 플래시 메모리를 구성하는 각 블록이 배드 블록인지를 판단하는 단계; 및 상기 판단 결과 배드 블록이 아니면 해당 블록을 리드(read)하고, 배드 블록이면 해당 블록을 리드(read)하지 않는 단계를 포함한다.
바람직하게, 상기 부트로더는 상기 낸드 플래시 메모리의 0번 블록에 저장되며, 상기 낸드 플래시 메모리에 저장된 실행 코드를 상기 메인 메모리로 복사하는 경우 1번 블록부터 복사를 개시한다.
이하 첨부된 도면을 참조하여 본 발명이 속한 기술 분야에서 통상의 지식을 가진 자가 본 발명을 용이하게 이해하고 실시할 수 있도록 본 발명의 바람직한 실시예를 상세하게 설명하도록 한다.
본 발명에서 사용되는 용어는 가능한 널리 사용되는 일반적인 용어를 선택하였으나, 특정한 경우는 출원인이 임의로 선정한 용어도 있으며 이 경우는 해당되는 발명의 설명 부분에서 상세히 그 의미를 기재하였으므로, 단순한 용어의 명칭이 아닌 용어가 가지는 의미로서 본 발명을 파악하여야 한다.
도 2는 본 발명의 일 실시예에 따른 낸드 플래시 메모리(30)의 내부 구성을 개략적으로 나타낸 개략도이다.
도 2에 도시된 바와 같이, 본 발명의 일 실시예에 따른 낸드 플래시 메모리는 복수 개의 블록들(예컨대, 도 2에서는 N+1개)을 포함한다. 도 2에는 도시하지 아니하였지만, 각 블록들은 복수 개의 페이지들로 구성된다.
낸드 플래시 메모리(30)는 크게 실행 코드 영역 및 사용자 데이터 영역으로 나누어질 수 있다. 상기 실행 코드는 PC가 직접 실행시킬 수 있는 코드의 집합이며, 상기 실행 코드 영역에는 부트로더(Bootloader), 운영체제(Operating System), 또는 펌웨어(firmware) 등이 저장된다.
본 발명의 일 실시예에 따른 낸드 플래시 메모리(30)는 0번 블록에 부트로더가 저장되는데, 이는 제조 업체에서 메모리 장치 제조시에 0번 블록은 배드 블록이 아님을 보장하기 때문에 실행 코드 중 일부인 부트로더를 0번 블록에 위치시킨다.
상기 부트로더는 시스템의 구동시 간단한 초기화 및 이후 실행될 코드를 낸드 플래시 메모리로부터 메인 메모리로 복사하는 역할을 수행하므로, 배드 블록이 아닌 안전한 영역에 저장되어 있어야 함이 바람직하다.
또한, 운영체제나 펌웨어 코드는 그 크기에 따라 순서대로 1번 블록부터 저장된다. 또한, P+1번 블록부터 N번 블록까지는 실제 사용자의 데이터가 저장되는 데이터 영역으로 사용될 수 있다.
도 3는 본 발명의 제1 실시예에 따라 제1 낸드 플래시 메모리에서 실행 코드를 페이지 단위로 순차적으로 리드(read)하는 과정을 나타내는 순서도이다.
본 발명의 제1 실시예에 따르면, 제1 낸드 플래시 메모리에 저장되어 있는 실행 코드를 리드(read)하여 제2 낸드 플래시 메모리로 라이트(write)함을 특징으로 하는데, 이 중 앞 단계인 리드(read) 단계를 도 3에서 설명한다.
본 발명의 제1 실시예에 따른 낸드 플래시 메모리 복사 방법은, 실행 코드를 복사할 경우에 있어 배드 블록을 고려함을 특징으로 하는바, 이를 도 3에서 상세히 설명한다.
복사를 개시하기에 앞서 현재의 블록을 설정한다. 즉, 복사는 0번 블록부터 개시되므로 현재 블록은 0번 블록이 된다(S105). 상기한 바와 같이, 일반적으로 0번 블록에는 실행 코드의 일부인 부트로더가 저장되어 있으며 이것이 먼저 복사된다.
현재 블록이 실행 코드의 마지막 블록보다 큰지를 판단한다(S110). 판단 결과 실행 코드의 마지막 블록에 도달하지 않았으면, 각 현재 블록의 배드 블록 정보를 읽는다(S115).
일반적으로 각 블록에 대한 배드 블록 정보는 각 블록의 제1 페이지 및 제2 페이지 사이의 스페어(spare) 영역에 기록이 되고, 컨트롤러는 각 블록의 스페어 영역에 기록된 정보를 보고 각 블록이 배드 블록인지 아닌지를 판단한다(S120).
각 블록의 스페어 영역을 통해 배드 블록이 아닌 것으로 판단되면 해당 블록의 페이지를 순차적으로 리드(read)한다. 상기한 바와 같이, 낸드 플래시 메모리는 페이지 단위로 리드(read)/라이트(write) 하므로 배드 블록이 아닌 블록의 각 페이지를 순차적으로 리드(read)한다.
상기 판단 결과, 스페어 영역에 그 블록이 배드 블록인 것으로 기록되어 있 으면, 본 발명의 실시예에 따라 배드 블록에 해당하는 블록을 리드(read) 하지 않는다. 상기 판단 결과, 배드 블록이 아닌 것으로 판명되면, 본 발명의 실시예에 따라 배드 블록이 아닌 블록은 리드(read) 한다(S125).
블록의 리드(read) 작업이 완료되면 다음 블록으로 진행하고(S130), 현재 블록이 실행 코드의 마지막 블록에 도달할 때까지 상기의 과정을 반복한다. 실행 코드의 마지막 블록까지 리드(read) 작업을 완료하면, 리드(read) 공정을 종료한다.
도 4은 본 발명의 제1 실시예에 따라 제2 낸드 플래시 메모리에 실행 코드를 페이지 단위로 순차적으로 라이트(write)하는 과정을 나타내는 순서도이다.
본 발명의 제1 실시예에 따르면, 제1 낸드 플래시 메모리에 저장되어 있는 실행 코드를 리드(read)하여 제2 낸드 플래시 메모리로 라이트(write)함을 특징으로 하는데, 이 중 뒷 단계인 라이트(write) 단계를 도 4에서 설명한다.
복사를 개시하기에 앞서 현재의 블록을 설정한다. 즉, 복사는 0번 블록부터 개시되므로 현재 블록은 0번 블록이 된다(S205). 상기한 바와 같이, 일반적으로 0번 블록에는 실행 코드의 일부인 부트로더가 저장되어 있으며 이것이 먼저 복사된다.
현재 블록이 실행 코드의 마지막 블록보다 큰지를 판단한다(S210). 판단 결과 실행 코드의 마지막 블록에 도달하지 않았으면, 각 현재 블록의 배드 블록 정보를 읽는다(S215). 다음으로, 컨트롤러는 각 블록의 스페어 영역에 기록된 정보를 보고 각 블록이 배드 블록인지 아닌지를 판단한다(S220).
각 블록의 스페어 영역을 통해 배드 블록이 아닌 것으로 판단되면 해당 블록에 페이지를 순차적으로 라이트(write)한다. 상기한 바와 같이, 낸드 플래시 메모리는 페이지 단위로 리드(read)/라이트(write) 하므로 배드 블록이 아닌 블록의 각 페이지에 순차적으로 라이트(write)한다.
상기 판단 결과, 스페어 영역에 그 블록이 배드 블록인 것으로 기록되어 있으면, 본 발명의 실시예에 따라 배드 블록에 해당하는 블록에 라이트(write) 하지 않는다. 상기 판단 결과, 배드 블록이 아닌 것으로 판명되면, 본 발명의 실시예에 따라 배드 블록이 아닌 블록에 라이트(write) 한다(S225).
블록의 라이트(write) 작업이 완료되면 다음 블록으로 진행하고(S230), 현재 블록이 실행 코드의 마지막 블록에 도달할 때까지 상기의 과정을 반복한다. 실행 코드의 마지막 블록까지 라이트(write) 작업을 완료하면, 라이트(write) 공정을 종료한다.
도 5는 본 발명의 제2 실시예에 따라 낸드 플래시 메모리에 저장된 실행 코드를 메인 메모리로 복사하는 과정을 나타내는 순서도이다.
본 발명의 제2 실시예에 따른 낸드 플래시 메모리의 복사 방법은, 시스템 구동시에 실행 코드의 일부인 부트로더가 낸드 플래시 메모리에 저장된 실행 코드를 메인 메모리로 복사하는 방법에 관한 것이다. 이 경우에도 배드 블록을 고려하여 복사를 수행할 수 있으며, 이를 도 5에서 상세히 설명한다.
시스템의 전원이 인가되면(S305), 우선 실행 코드의 하나인 부트로더가 실행 된다(S310). 또한, 제2 실시예에 따른 낸드 플래시 메모리의 복사 방법은, 시스템을 구동하기 위해 부트로더가 실행 코드를 메인 메모리로 복사함을 특징으로 하고, 상기 부트로더는 0번 블록에 저장되어 있으므로, 1번 블록부터 복사를 개시한다. 따라서, 현재 블록은 1번 블록이다(S315).
현재 블록이 실행 코드의 마지막 블록보다 큰 지를 판단하고(S320), 아직 실행 코드의 마지막에 도달하지 않았으면, 현재 블록의 배드 블록 정보를 읽는다(S325). 이는 상기한 바와 같이 스페어 영역에 기록된 사항을 보고 확인할 수 있다.
상기 스페어 영역을 통해 현재의 블록이 배드 블록인가를 판단하고(S330), 배드 블록이 아니면 현재 블록을 메인 메모리로 복사한다(S335). 판단 결과 배드 블록이면 복사 과정을 생략하고, 다음 블록으로 진행한다(S340).
상기 메인 메모리는 일반적으로 동적 RAM(DRAM)의 유형이며, 임의 접근이 가능한 휘발성 메모리이다. 따라서, 메인 메모리에 낸드 메모리에 저장된 실행 코드를 라이트(write)할 때에는, 메인 메모리의 배드 블록을 고려할 필요없이 라이트(write) 하여도 무방하다.
상기의 과정을 실행 코드의 마지막 블록에 도달할 때까지 반복하고, 실행 코드의 마지막 블록에 도달하였으면, 복사 공정을 종료하고 메인 메모리에 복사된 실행 코드가 실행된다(S345).
도 6은 본 발명의 일 실시예에 따라 낸드 플래시 메모리에 저장된 실행 코드 의 복사 방법을 나타내는 개략도이다.
본 발명의 실시예에 따른 낸드 플래시 메모리의 복사 방법은 리드(read)/라이트(write) 시에 배드 블록을 고려함을 특징으로 하는바, 블록을 페이지 단위로 리드(read)/라이트(write) 함에 있어 배드 블록에 포함된 페이지를 제외하고 배드 블록이 아닌 블록에 대해서만 리드(read)/라이트(write) 작업을 수행한다.
따라서, 제1 낸드 플래시 메모리(40)를 제2 낸드 플래시 메모리(50)로 복사할 때, 배드 블록(41)을 제외하고 복사함으로써, 도 1의 종래의 복사 방법에 비해서 복사된 제2 낸드 플래시 메모리(50)에는 배드 블록의 개수가 감소하고, 그 결과 안정적인 데이터를 구축하여 신뢰도를 향상시킬 수 있다(복사된 제2 낸드 플래시 메모리(50)에는 메모리 제조시에 생성된 배드 블록(51)만이 존재한다).
이제까지 본 발명에 대해서 그 바람직한 실시예를 중심으로 살펴보았으며, 본 발명이 속하는 기술 분야에서 통상의 지식을 가진 자는 본 발명의 본질적 기술 범위 내에서 상기 본 발명의 상세한 설명과 다른 형태의 실시예들을 구현할 수 있을 것이다.
여기서 본 발명의 본질적 기술 범위는 특허청구범위에 나타나 있으며, 그와 동등한 범위 내에 있는 모든 차이점은 본 발명에 포함된 것으로 해석되어야 할 것이다.
도 1은 종래의 낸드 플래시 메모리에 저장된 실행 코드의 복사 방법을 나타내는 개략도.
도 2는 본 발명의 일 실시예에 따른 낸드 플래시 메모리의 내부 구성을 개략적으로 나타낸 개략도.
도 3는 본 발명의 제1 실시예에 따라 제1 낸드 플래시 메모리에서 실행 코드를 페이지 단위로 순차적으로 리드(read)하는 과정을 나타내는 순서도.
도 4은 본 발명의 제1 실시예에 따라 제2 낸드 플래시 메모리에 실행 코드를 페이지 단위로 순차적으로 라이트(write)하는 과정을 나타내는 순서도.
도 5는 본 발명의 제2 실시예에 따라 낸드 플래시 메모리에 저장된 실행 코드를 메인 메모리로 복사하는 과정을 나타내는 순서도.
도 6은 본 발명의 일 실시예에 따라 낸드 플래시 메모리에 저장된 실행 코드의 복사 방법을 나타내는 개략도.
※ 도면의 주요 부분에 대한 설명 ※
40, 50 : 낸드 플래시 메모리
41, 51 : 배드 블록

Claims (8)

  1. 낸드 플래시 메모리에 저장된 실행 코드를 복사하는 롬라이터 장치의 낸드 플래시 메모리 복사 방법에 있어서,
    제 1 낸드 플래시 메모리를 구성하는 각 블록이 배드 블록인지 여부를 블록 순서에 따라 순차적으로 판단하는 단계;
    상기 제 1 낸드 플래시 메모리의 구성 블록이 배드 블록이 아니면 해당 블록에 기록된 데이터를 리드(read)하고, 배드 블록이면 해당 블록을 스킵하는 단계;
    제 2 낸드 플래시 메모리를 구성하는 각 블록이 배드 블록인지 여부를 블록 순서에 따라 순차적으로 판단하는 단계; 및
    상기 제 2 낸드 플래시 메모리의 구성 블록이 배드 블록이 아니면 상기 제 2 낸드 플래시 메모리의 구성 블록에 상기 제 1 낸드 플래시 메모리로부터 리드된 데이터를 순차적으로 라이트(write)하고, 배드 블록이면 상기 제 2 낸드 플래시 메모리의 구성 블록을 스킵하는 단계;
    를 포함하는 것을 특징으로 하는 낸드 플래시 메모리 복사 방법.
  2. 제 1항에 있어서,
    상기 블록은 다수의 페이지로 구성되며, 상기 리드 및 라이트 단계는 페이지 단위로 수행되는 낸드 플래시 메모리 복사 방법.
  3. 제 1항에 있어서, 상기 제 1 낸드 플래시 메모리의 구성 블록을 판단하는 단계는,
    상기 제 1 낸드 플래시 메모리의 구성 블록의 제 1 페이지 및 제 2 페이지 사이에 해당하는 스패어(spare) 영역에 기록된 블록 정보를 통해 배드 블록 여부를 판단하는 단계를 포함하는 낸드 플래시 메모리 복사 방법.
  4. 제 1항에 있어서,
    상기 제 1 낸드 플래시 메모리는 상기 실행 코드의 일부인 부트로더를 첫 번째 블록에 저장하는 것을 특징으로 하는 낸드 플래시 메모리 복사 방법.
  5. 삭제
  6. 삭제
  7. 삭제
  8. 삭제
KR1020070118406A 2007-11-20 2007-11-20 실행 코드를 포함하는 낸드 플래시 메모리 복사 방법 KR100955010B1 (ko)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020070118406A KR100955010B1 (ko) 2007-11-20 2007-11-20 실행 코드를 포함하는 낸드 플래시 메모리 복사 방법

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020070118406A KR100955010B1 (ko) 2007-11-20 2007-11-20 실행 코드를 포함하는 낸드 플래시 메모리 복사 방법

Publications (2)

Publication Number Publication Date
KR20090051936A KR20090051936A (ko) 2009-05-25
KR100955010B1 true KR100955010B1 (ko) 2010-04-27

Family

ID=40859849

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020070118406A KR100955010B1 (ko) 2007-11-20 2007-11-20 실행 코드를 포함하는 낸드 플래시 메모리 복사 방법

Country Status (1)

Country Link
KR (1) KR100955010B1 (ko)

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20020033560A (ko) * 2000-10-31 2002-05-07 마리 오 휴버 불량열 프로그램 소모 시간 회피 방법
KR20060028831A (ko) * 2004-09-30 2006-04-04 주식회사 팬택 이동통신 단말기에서의 데이터 저장 및 리딩 방법
KR20080022606A (ko) * 2006-09-07 2008-03-12 주식회사 스타칩 메모리 고속복사 장치 및 방법

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20020033560A (ko) * 2000-10-31 2002-05-07 마리 오 휴버 불량열 프로그램 소모 시간 회피 방법
KR20060028831A (ko) * 2004-09-30 2006-04-04 주식회사 팬택 이동통신 단말기에서의 데이터 저장 및 리딩 방법
KR100654611B1 (ko) 2004-09-30 2006-12-08 주식회사 팬택 이동통신 단말기에서의 데이터 저장 및 리딩 방법
KR20080022606A (ko) * 2006-09-07 2008-03-12 주식회사 스타칩 메모리 고속복사 장치 및 방법

Also Published As

Publication number Publication date
KR20090051936A (ko) 2009-05-25

Similar Documents

Publication Publication Date Title
US8041879B2 (en) Flash memory backup system and method
US8161230B2 (en) Nonvolatile memory system, and data read/write method for nonvolatile memory system
KR100975164B1 (ko) 비휘발성 메모리 시스템에 대한 내부 보수 스케줄 요청
JP3802411B2 (ja) 不揮発性半導体記憶装置のデータコピー方法
US20100125696A1 (en) Memory Controller For Controlling The Wear In A Non-volatile Memory Device And A Method Of Operation Therefor
JP4373943B2 (ja) メモリコントローラ、フラッシュメモリシステム及びフラッシュメモリの制御方法
JP2007518166A (ja) フラッシュメモリシステムの起動動作
US7543104B2 (en) Non-volatile semiconductor device for use in memory card and memory system
JPWO2009004674A1 (ja) 記憶装置、ディスク装置、書込み判定方法、制御装置
US20120331208A1 (en) Adaptive internal table backup for non-volatile memory system
JP2007316779A (ja) 不揮発性メモリシステム
JP2020086739A (ja) メモリコントローラ及びこれを備えるフラッシュメモリシステム
JP2007094921A (ja) メモリカードとその制御方法
JP2007034581A (ja) メモリコントローラ、フラッシュメモリシステム及びフラッシュメモリの制御方法
KR100955010B1 (ko) 실행 코드를 포함하는 낸드 플래시 메모리 복사 방법
JP2008251154A (ja) 不揮発性半導体記憶装置
CN113434086B (zh) 数据存储方法、装置、非易失性存储器件和存储器
CN113885791A (zh) Flash存储器的数据写入方法、读取方法和装置
JP4818453B1 (ja) 電子機器およびデータ読み出し方法
JP2006065973A (ja) 不揮発性半導体記憶装置
JP2004030849A (ja) データの一部書き換え機能を有する半導体不揮発性メモリ
JP2005316793A (ja) フラッシュメモリシステム及びフラッシュメモリの制御方法
CN113345505B (zh) 闪存及闪存的工作方法
JP7030636B2 (ja) メモリシステムおよびその制御方法
US20100332736A1 (en) Method of operating nonvolatile memory device

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
FPAY Annual fee payment

Payment date: 20130228

Year of fee payment: 4

FPAY Annual fee payment

Payment date: 20140421

Year of fee payment: 5

FPAY Annual fee payment

Payment date: 20150417

Year of fee payment: 6

FPAY Annual fee payment

Payment date: 20160420

Year of fee payment: 7

FPAY Annual fee payment

Payment date: 20170420

Year of fee payment: 8

FPAY Annual fee payment

Payment date: 20180323

Year of fee payment: 9

FPAY Annual fee payment

Payment date: 20190415

Year of fee payment: 10