KR100526547B1 - 듀얼 칩을 구비하는 단말기에서 nand 플래쉬 메모리관리방법 - Google Patents

듀얼 칩을 구비하는 단말기에서 nand 플래쉬 메모리관리방법 Download PDF

Info

Publication number
KR100526547B1
KR100526547B1 KR10-2003-0058686A KR20030058686A KR100526547B1 KR 100526547 B1 KR100526547 B1 KR 100526547B1 KR 20030058686 A KR20030058686 A KR 20030058686A KR 100526547 B1 KR100526547 B1 KR 100526547B1
Authority
KR
South Korea
Prior art keywords
ecc
nand flash
flash memory
memory
spare area
Prior art date
Application number
KR10-2003-0058686A
Other languages
English (en)
Other versions
KR20050021686A (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 KR10-2003-0058686A priority Critical patent/KR100526547B1/ko
Publication of KR20050021686A publication Critical patent/KR20050021686A/ko
Application granted granted Critical
Publication of KR100526547B1 publication Critical patent/KR100526547B1/ko

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04BTRANSMISSION
    • H04B1/00Details of transmission systems, not covered by a single one of groups H04B3/00 - H04B13/00; Details of transmission systems not characterised by the medium used for transmission
    • H04B1/38Transceivers, i.e. devices in which transmitter and receiver form a structural unit and in which at least one part is used for functions of transmitting and receiving
    • H04B1/40Circuits
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/08Error detection or correction by redundancy in data representation, e.g. by using checking codes

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Quality & Reliability (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Techniques For Improving Reliability Of Storages (AREA)

Abstract

본 발명은 NAND 플래쉬 메모리를 사용함에 있어 메모리 엑세스시 발생 가능한 에러에 대하여 관리하기 위한 방법을 제공한다. 이를 위한 본 발명은 제1 제어부와 제2 제어부를 구비하고, 제1 제어부에서 필요한 데이터를 저장하는 메모리와 제2 제어부에서 필요한 데이터를 저장하는 NAND 플래쉬 메모리를 구비하는 단말기에 있어서, NAND 플래쉬 메모리의 스페어 영역에 저장되어 있는 메인 영역 ECC와 스페어 영역 ECC를 제1 제어부가 사용하는 메모리에 저장하는 과정과, 단말기 부팅 시 제2 제어부가 NAND 플래쉬 메모리의 스페어 영역에 저장되어 있는 메인 영역 ECC와 스페어 영역 ECC를 제1 제어부의 메모리에 미리 저장한 메인 영역과 스페어 영역의 ECC를 각각 비교하는 과정과, 비교과정 수행 후 NAND 플래쉬 메모리의 ECC에 1비트 오류가 발생하는 경우 제1 제어부의 메모리에 미리 저장한 메인 영역과 스페어 영역의 ECC를 근거하여 NAND 플래쉬 메모리의 ECC를 수정하는 과정으로 이루어짐을 특징으로 한다.

Description

듀얼 칩을 구비하는 단말기에서 NAND 플래쉬 메모리 관리 방법{METHOD FOR MANAGING NAND FLASH MEMORY IN TERMINAL INCLUDING DUAL DHIP}
본 발명은 메모리 관리 방법에 관한 것으로, 특히 듀얼 칩을 구비하는 단말기에서 NAND 플래쉬 메모리를 관리하기 방법에 관한 것이다.
최근 들어 이동통신 분야가 급속한 발전을 거듭하고 있으며, 이에 따라 이동통신 단말기에서 다양한 기능을 수행할 수 있게 되었다. 특히, 멀티미디어와 관련된 기능이 급속하게 발전하면서 기존에 이동통신 단말기를 동작시키기 위한 단일 칩만으로는 많은 데이터 처리에 무리가 따르게 되었다. 따라서, 일반적인 단말기의 기능을 수행하는 모뎀용 칩과 멀티미디어와 관련된 기능을 수행하기 위한 멀티 미디어 관련 칩을 구비하는 듀얼 칩을 이동통신 단말기에 구비함으로써 멀티미디어 관련 기능을 좀 더 효율적으로 작동할 수 있도록 하고 있다. 상기한 바와 같이 현재 이동통신 단말기는 멀티미디어에 관한 기능을 수행하기 위한 멀티미디어 전용 칩을 이용하여 카메라와 LCD(Liquid Crystal Display)를 사용할 수 있도록 하였다. 또한, 멀티미디어 관련 기능을 수행하면서 멀티미디어 관련 파일들을 전송하는 등의 역할을 모뎀 전용 칩을 통해서 수행하도록 하여 각 칩에 걸리는 로드의 분배를 효율적으로 제어할 수 있도록 하였다. 이러한 멀디미디어 전용 칩과 모뎀 칩을 사용하는 이동통신 단말기에서 각각의 칩은 FIFO(Fist In First out)또는 DPRAM(Dual Poted RAM)이라는 통신 수단을 이용하여 통신을 하는 것을 제외하고 별도로 동작하게 된다. 여기서 DPRAM은 두 개의 포트를 갖는 램으로서, 두 개의 주소버스들을 갖고 있어 두 개의 CPU(Central Processing Unit)간의 통신을 수행할 수 있도록 한다. 이는 밀결합 다중처리(tightly coupled multiprocessing)에 사용되는 CPU에 적합하도록 설계되어 있다. 이와 같은 DPRAM의 역할은 모뎀 칩이 무선으로 멀티미디어 관련 정보를 수신하면 이를 멀티미디어 전용 칩으로 전달하는 역할 및 멀티미디어 전용 칩이 생산한 정보를 다시 무선을 통해서 통화하고 있는 상대방의 이동 통신 단말기에 전달하기 위해서 모뎀 칩으로 전달하는 역할을 수행한다.
일반적인 이동통신 단말기는 각종 단말기 동작에 필요한 코드(Code)와 폰트(Font), 컨텐츠(Contents)등을 저장하기 위한 저장 수단으로 플래쉬 메모리를 사용한다. 이러한 플래쉬 메모리로는 NOR, NAND 플래쉬가 주로 사용되고 있다. 기존에는 플래쉬 메모리로 NOR 플래쉬가 많이 사용되었지만, 현재에는 많이 데이터를 저장할 수 있고 가격면에서도 저렴한 NAND 플래쉬로 저장 수단이 천이되고 있는 상태이다. 이와 같이 NAND 플래쉬는 NOR 플래쉬에 비해서 가격이 약 1/4의 값을 가지며, 현재 1G Bit의 대용량의 저장공간을 가진다. 이러한 NAND 플래쉬의 내부 구조는 메인 영역(Main area)과 스페어 영역(Spare area)으로 나뉘어져 있다. 일반적으로 사용되는 코드를 저장하는 용도로는 메인 영역(Main area)이 사용되고, 메인 영역에 대한 오류 정정 정보인 ECC 코드를 저장하기 위해서는 스페어 영역(Spare area)을 사용한다. 스페어 영역(Spare area)에는 자기 자신 즉 스페어 영역(Spare area)의 오류 정정 정보 역시 포함하여 저장한다. 이러한 오류 정정 정보를 포함하여 NAND 플래쉬에 저장하는 이유는 싼 가격과 대용량이라는 큰 장점을 가진 반면에, 플래쉬를 읽거나 쓰는 도중에 1비트, 2비트 이상의 비트 에러가 발생할 수 있기 때문이다. 또한, 초기 공정에서 메모리 셀이 깨져 있는 경우가 발생할 수도 있으며, 공정에서 메모리 셀이 깨져 있는 경우에는 공정에서 사용할 수 없는 블럭(Bad Block)이라고 스페어 영역(Spare are)에 표시를 해 두고 나중에 사용자가 사용할 때는 이러한 정보를 읽어서 이 블럭은 제외하고 사용하게 된다. 이러한 특성을 가진 NAND 플래쉬를 이동 통신 단말기에 적용한 경우가 점점 증가하고 있으며, NOR 또는 NAND 플래쉬와 SDRAM(Synchronous Dynamic Random Access Memory)을 단일 패키지에 포함한 MCP(Micro Control Processor)의 사용이 증가되는 추세이다. 이러한 MCP(Micro Control Processor)의 사용 추세는 점점 소형화 경량화 되고 있는 이동 통신 단말기의 요구사항을 만족시키기 위해서 증가되고 있다.
이러한 NAND 플래쉬 영역의 구조를 나타내는 도면인 도 1을 참조하면, NAND 플래쉬는 도 1에 도시되어 있는 바와 같이 256워드(512바이트)의 메인 영역(Main area)과 8워드(16바이트)의 스페어 영역(Spare area)으로 나뉘어진다. 이와 같이 메인 영역과 스페어 영역으로 구성되어 하나의 구조를 NAND 플래쉬에서는 페이지(Page)라고 하고, NAND 플래쉬에서는 도 1에 도시되어 있는 페이지 단위로 데이터를 쓰거나 읽는다. 이와 같은 NAND 플래쉬를 사용하는 도중에 메인 영역(512 바이트)에서 1비트 오류가 발생하는 경우에는 이러한 비트 오류를 수정해서 사용할 수 있고, 이를 위해서 오류정정정보인 ECC(Error Correcting Code) 발생 및 수정 방법이 사용된다. 그렇지만, 2비트 이상의 오류가 발생하는 경우에는 발생한 블럭을 수정할 수 없는 즉, 사용할 수 없는 블록(이하 'Bad 블록'이라 한다.)이라 인식하고 스페어 영역(Spare are)에 표시한 이후에 다음부터는 사용하지 않는다. NAND 플래쉬에 데이터를 저장할 때 라이트(Write) 동작 완료 상태 레지스터를 살펴보고 이 레지스터가 실패했다고 나타내는 경우에는 이미 라이트(Write)한 데이터를 읽어서 비교를 해 본 이후에 1비트 오류가 발생한 경우에는 수정한다. 또한, 2비트 이상의 오류가 발생한 경우에는 Bad 블록으로 스페어 영역(Spare area)에 표시하고 다음부터 사용하지 않는다. 이 때 발생한 메인 영역(Main are)에 대한 ECC는 스페어 영역(spare area)에 저장한다. NAND 플래쉬를 읽을 때는 다음과 같은 순서를 거친다. 우선 이전에 메인 영역의 ECC를 스페어 영역에 저장한 값을 읽는다. 현재 메인 영역에 대해서 ECC를 발생시키고 이를 읽은 ECC 값과 비교하여 몇 개의 비트오류가 발생한 것인지를 확인한다. 이후 스페어 영역에서 오류가 생기는 경우에는 스페어 영역에서도 1비트 오류일 때에는 수정하며, 2비트 이상의 오류일 경우에는 수정하지 못한다. 또한, 스페어 영역인 16바이트 모두에 대해서 이러한 오류수정이 이루어지는 것이 아니며, 보통 중요한 데이터를 저장하고 있는 3바이트에 대해서만 이루어진다. 따라서, 나머지 바이트들에 대해서는 어떠한 오류 발생의 경우에 대처하지 못하게 된다.
상술한 바와 같이 종래의 듀얼 칩을 구비하는 단말기에서 사용되는 NAND 플래쉬 메모리 영역 중 스페어 영역에서 모든 비트 오류 발생에 대하여 오류 정정이 가능하지 않아 관리상 문제가 발생하였다.
따라서 본 발명의 목적은 NAND 플래쉬 메모리를 사용함에 있어 메모리 엑세스시 발생 가능한 에러에 대하여 관리하기 위한 방법을 제공함에 있다.
본 발명의 다른 목적은 NAND 플래쉬 메모리의 영역 중 모든 스페어 영역에서 모든 비트 오류 발생에 대하여 오류 정정이 가능하도록 하기 위한 방법을 제공함에 잇다.
상기한 목적들을 달성하기 위한 본원발명은 제1 제어부와 제2 제어부를 구비하고, 상기 제1 제어부에서 필요한 데이터를 저장하는 메모리와 상기 제2 제어부에서 필요한 데이터를 저장하는 NAND 플래쉬 메모리를 구비하는 단말기에 있어서, 상기 NAND 플래쉬 메모리의 스페어 영역에 저장되어 있는 메인 영역 ECC와 스페어 영역 ECC를 상기 제1 제어부가 사용하는 메모리에 저장하는 과정과, 상기 단말기 부팅 시 상기 제2 제어부가 상기 NAND 플래쉬 메모리의 스페어 영역에 저장되어 있는 상기 메인 영역 ECC와 상기 스페어 영역 ECC를 상기 제1 제어부의 메모리에 미리 저장한 상기 메인 영역과 스페어 영역의 ECC를 각각 비교하는 과정과, 상기 비교과정 수행 후 상기 NAND 플래쉬 메모리의 ECC에 1비트 오류가 발생하는 경우 상기 제1 제어부의 메모리에 미리 저장한 상기 메인 영역과 스페어 영역의 ECC를 근거하여 상기 NAND 플래쉬 메모리의 ECC를 수정하는 과정으로 이루어짐을 구비함을 특징으로 한다.
이하, 본 발명에 따른 바람직한 실시 예를 첨부한 도면의 참조와 함께 상세히 설명한다. 본 발명을 설명함에 있어서, 관련된 공지기능 혹은 구성에 대한 구체적인 설명이 본 발명의 요지를 불필요하게 흐릴 수 있다고 판단된 경우 그 상세한 설명은 생략한다.
본 발명은 듀얼 칩에서 저장 수단으로서 NAND 플래쉬를 사용하는 경우에 NAND 플래쉬의 ECC가 저장되어 있는 스페어 영역관리 방법에 대한 것이다. 이러한 듀얼 칩 중 모뎀 칩(이하 '모뎀 제어부'라 한다.)은 NOR 플래쉬 메모리 또는 NAND 플래쉬 메모리를 사용할 수 있고, 멀티미디어 관련 칩(이하 '어플리케이션 제어부'라 한다.)은 NAND 플래쉬 메모리를 사용하는 경우를 가정한다.
그러면, 이하 도 2를 참조하여 한 개의 제어부가 NAND 플래쉬 메모리를 사용하는 경우 메인/스페어 영역에 대한 ECC를 다른 제어부의 메모리에 저장하여, 부팅 시 다른 메모리에 저장되어 있는 ECC를 NAND 플래쉬 메모리의 ECC와 비교한 후 비트 오류가 발생한 경우 수정하는 과정에 대하여 설명한다.
도 2는 본 발명의 실시 예에 따른 듀얼 칩과 각각 칩에 따른 메모리를 구비하는 단말기를 도시하고 있는 구성도이다.
우선, 제어부(200)는 듀업칩을 사용하는 이동통신 단말기의 전반적인 동작을 제어한다. 이러한 제어부(200)는 모뎀 제어부(210)와 어플리케이션 제어부(220)로 구성된다. 어플리케이션 제어부(200)는 멀티미디어에 관한 기능을 수행하기 위한 멀티미디어 전용 칩으로 카메라와 LCD(Liquid Crystal Display)를 제어한다. 또한, 어플케이션 제어부(200)는 멀티미디어 관련 기능을 수행하면서 멀티미디어 관련 파일들을 전송하기 위해 모뎀 제어부(210)로 데이터를 전송한다. 이때 어플리케이션 제어부(220)와 모뎀 제어부(210)간에는 FIFO(Fist In First out)또는 DPRAM(Dual Poted RAM)이라는 통신 수단을 이용하여 통신한다. 여기서 DPRAM(Dual Poted RAM)은 두 개의 포트를 갖는 램으로서, 두 개의 주소버스들을 갖고 있어 두 개의 CPU(Central Processing Unit)간의 통신을 수행할 수 있도록 한다. 이는 밀결합 다중처리(tightly coupled multiprocessing)에 사용되는 CPU에 적합하도록 설계되어 있다. 이와 같은 DPRAM의 역할은 모뎀 제어부(210)가 무선으로 멀티미디어 관련 데이터를 수신하면 이를 어플리케이션 제어부(220)로 전송하고, 어플리케이션 제어부(220)는 이를 수신하여 무선을 통해서 통화하고 있는 상대방의 이동 통신 단말기로 송신하도록 제어한다. 이와 같이 데이터 송수신 관련 동작을 모뎀 제어부(210)에서 제어하고, 멀티미디어 관련 데이터 처리를 어플리케이션 제어부(220)에서 제어하여 각각의 제어부에 걸리는 로드의 분배를 효율적으로 한다.
이러한 어플리케이션 제어부(220)는 멀티미디어 관련 기능을 수행하면서 발생하는 데이터를 NOR 플래쉬 메모리에 비해 가격면에서도 저렴하고 용량이 큰 NAND 플래쉬 메모리(242)에 저장한다. 그러나, NAND 플래쉬 메모리(242)는 저렴하고 대용량의 저장공간을 가지는 장점이 있는 반면에 NOR 플래쉬 메모리에는 없는 오류발생 확률이 크고, 이러한 오류가 발생하는 위치 및 시간이 랜덤하고, 온도에 따라서도 발생할 수 있는 단점이 있다. 이러한 오류 발생에 대하여 도 1을 참조하여 좀 더 구체적으로 살펴보도록 한다. 메인 영역에 대한 EDD(M_ECC)과 스페어 영역에 대한 ECC(S_ECC)는 스페어 영역에 각각 저장된다. 그리고 두 영역에 오류가 생기는 경우에는 모든 영역에 대하여 1비트 오류일 때에는 수정이 가능하다. 그러나, 2비트 이상의 오류일 경우에는 수정하지 못한다. 대신 2비트 이상의 오류가 발생하는 경우에는 해당 블럭을 Bad 블럭 처리하고 다음부터는 사용하지 않도록 한다. 그러나, 스페어 영역에 대한 ECC(S_ECC)는 스페어 영역 16바이트 모두에 대해 해당되는 것이 아니며, 스페어 영역의 맨 왼쪽 3바이트(word 0, word 1, word 2)에 대해서만 이루어진다. 따라서, 나머지 바이트(word 3, word 4, word 5, word 6, word 7)들에 대해서는 어떠한 오류 발생의 경우에 대처하지 못하게 된다.
본 발명에서는 상기와 같은 스페어 영역의 오류 발생을 방지하기 위하여 NAND 플래쉬 메모리(242)의 ECC를 다른 메모리인 모뎀 메모리(232)에 미리 저장하고, NAND 플래쉬 메모리에 저장된 ECC를 모뎀 메모리에 저장된 ECC와 비교하여 비트 오류가 발생하는 경우 수정할 수 있도록 한다. 즉, 어플레케이션 제어부(220)가 부팅될 때 부팅 시퀀스 중에서 코드가 저장되어 있는 NAND 플래쉬 메모리(242)의 일정 부분을 읽어서 제 2 SDRAM(244)에 옮길 때, 모뎀 제어부(210)의 모뎀 메모리(232)에 미리 저장되어 있는 ECC그룹을 NAND 플래쉬 메모리(242)의 스페어 영역에 저장되어 있는 ECC그룹과 비교 및 확인과정을 수행한다. 이때 1비트 오류가 발생한 경우 수정함으로써 종래에 비트 오류를 보장하지 못했던 일부의 스페어 영역에 대해서 보장이 가능하도록 한다.
먼저, 어플리케이션 제어부(220)에서 사용하는 NAND 플래쉬 메모리(242)에서 발생된 메인 영역과 스페어 영역에 대한 ECC를 모뎀 제어부(200)의 모뎀 메모리(232)에 저장한다. 이때 모뎀 메모리(232)가 NOR 플래쉬 메모리일 경우에는 NAND 플래쉬 메모리(242)에서 발생된 메인 영역과 스페어 영역에 대한 ECC를 NOR 플래쉬 메모리(232)에 저장한다. 또한, 모뎀 메모리(232)가 NAND 플래쉬 메모리일 경우에는 NAND 플래쉬 메모리(242)에서 발생된 메인 영역과 스페어 영역에 대한 ECC를 NAND 플래쉬 메모리(232)에 저장한다.
그러면, 이하 상기와 같이 NAND 플래쉬 메모리(242)의 ECC그룹을 모뎀 메모리(232)에 저장하기 위한 저장과정을 도 3 내지 도 5를 참조하여 설명한다.
NAND 플래쉬 메모리(242)는 NAND 플래쉬 메모리의 저장공간 만큼 복수개 페이지로 구성된다. 하나의 페이지는 도 1과 같이 메인 영역(512바이트)과 스페어 영역(16바이트)로 구성된다. 이하, NAND 플래쉬 메모리(242)의 모든 페이지에 대한 메인 영역의 ECC 정보들을 메인 영역 ECC 그룹이라 하고, 스페어 영역의 ECC 정보들을 스페어 영역 ECC 그룹이라 한다.
도 3은 본 발명의 실시 예에 따라 모뎀 메모리(232)에 NAND 플래쉬 메모리(242)의 ECC 그룹을 저장하는 방법을 설명하기 위한 도면이다. 상기한 바와 같은 NAND 플래쉬 메모리(242)의 각 페이지에 대한 전체 메인 영역 ECC 정보(300)와 스페어 영역 ECC 정보(302)를 모뎀 메모리(232)의 메인 영역의 ECC 그룹영역(300)에 저장하고, 또한, 스페어 영역의 ECC 그룹영역(302)에 저장한다. 이 때 모뎀 메모리(232)에 저장되는 NAND 플래쉬 메모리(242)의 메인 영역의 ECC 그룹(300)과 스페어 영역의 ECC 그룹(302)의 포맷을 도 4a 및 도 4b를 참조하여 설명한다. 도 4a는 NAND 플래쉬 메모리(242)에서 모뎀 메모리(232)로 전송하는 NAND 플래쉬 메모리(242)의 메인 영역의 ECC 그룹(300)의 포맷을 도시하는 도면이다. 또한, 도 4b는 NAND 플래쉬 메모리(242)에서 모뎀 메모리(232)로 전송하는 NAND 플래쉬 메모리(242)의 스페어 영역의 ECC 그룹(302)의 포맷을 도시하는 도면이다.
NAND 플래쉬 메모리(242)의 스페어 영역에 저장된 ECC그룹은 도 4a 내기 도 4b와 같은 포맷으로 모뎀 메모리(232)에 도 3과 같이 메인 영역의 ECC 그룹과 스페어 영역의 ECC 그룹이 구분되어 저장된다. 이는 메인 영역의 ECC와 스페어 영역의 ECC를 구분하여 비교 단계에서 둘 중 하나만 비교하는 경우가 발생할 때 대처하기 위함이다. 각 ECC에 대해서 해당 블록 번호와 페이지 번호를 같이 저장하는 것은 필요에 따라서 사용되지 않는 블록의 페이지에 대해서는 나중에 부팅할 때 비교하는 절차를 피하기 위함이다. ECC 그룹이라는 것을 알리기 위한 헤더와, 몇 개 블럭이 사용되었는지를 알리기 위한 블럭 개수가 저장된다. 그리고, 블럭 번호와 페이지 번호, ECC가 저장된다. 한 개의 블럭 번호에 대해서 일반적으로 32개의 페이지 번호가 자동적으로 매핑되므로 나머지 페이지 번호에 대해서 동일한 블럭 번호는 쓰여지지 않도록 구성한다.
이러한 NAND 플래쉬 메모리(242)의 스페어 영역에서 ECC 정보 외의 다른 데이터 코드가 저장되어 있는 13바이트(104비트)중 실제로 보호받아야 하는 영역을 비트 수로 계산하면 1 page(512Byte)당 34비트가 된다. 이는 메인 영역에 대한 ECC가 24비트이고, 스페어 영역에 대한 ECC가 10비트를 가지기 때문이다. 현재 일반적으로 사용되고 있는 이동통신 단말기의 NAND 플래쉬 메모리의 전체 크기가 최대 64MByte 이다. 따라서, NAND 플래쉬 메모리(242)가 64MByte(512Mbit)의 크기를 가지는 메모리인 경우에는 메인 영역 ECC 그룹의 크기은 384KByte가 되고, 스페어 영역 ECC 그룹의 크기는 160KByte가 된다. Main 및 Spare ECC 코드를 모두 합한 크기는 544Kbyte가 된다. 이 정도의 크기의 데이터를 다른 메모리에 저장하는 것은 무리가 되지 않는다.
일반적으로 NAND 플래쉬 메모리(242)를 구비하는 이동통신 단말기가 부팅되는 경우에는 부트 코드(Boot code)가 먼저 NAND 플래쉬 메모리(242)에서 제2 SDRAM(244)으로 전송되고, 제2 SDRAM(244)으로 옮겨진 부트 코드(Boot code)가 어플리케이션 코드(Application code)를 다시 제2 SDRAM(244)의 일정 영역에 읽어온다. 그리고, PC(Program Counter)를 읽어온 영역의 맨 처음에 올려놓게 된다. 그 이후에 어플리케이션이 실행된다. 따라서, 부팅할 때 NAND 플래쉬 메모리(242)의 전 영역에 대해서 ECC그룹을 비교하게 되면 부팅 시간이 약간 늘어날 수 있다. 따라서, ECC그룹을 저장할 때는 나중에 부팅할 때 사용될 영역에 대해서만 저장한다.
상기와 같이 스페어 영역의 오류 발생을 방지하기 위하여 NAND 플래쉬 메모리(242)의 ECC를 다른 메모리인 모뎀 메모리(232)에 미리 저장한 후, 어플리케이션 제어부(220)가 부팅될 때 부팅 시퀀스 중에서 코드가 저장되어 있는 일정부분을 읽어서 제 2 SDRAM(244)에 저장한다. 이때 어플리케이션 제어부(220)는 NAND 플래쉬 메모리(242)에 저장되어 있는 ECC 그룹들과 모뎀 메모리에 미리 저장되어 있는 ECC 그룹들을 비교하고 오류가 발생하는 경우 이를 정정한다. 즉, 부팅할 때 모뎀 메모리(232)에 저장된 ECC들은 다시 NAND 플래쉬 메모리(242)의 제 2SDRAM(244)에 옮겨지고, 스페어 영역에 저장되어 있는 ECC그룹과 비교한다. 이후 비트 오류가 발생하면 수정과정을 거친다. 그러면, NAND 플래쉬 메모리의 스페어 영역 중 ECC가 저장되어 있는 영역에 오류가 발생하는 경우 오류를 정정하기 위한 관리과정을 도 5를 참조하여 설명한다.
도 5는 본 발명의 실시 예에 따라 부팅 시 NAND 플래쉬 메모리의 스페어 영역 중 ECC가 저장되어 있는 영역을 관리하기 위한 과정을 도시하고 있는 도면이다.
먼저, 도 3과 같이 NAND 플레쉬 메모리(242)의 스페어 영역에 저장되어 있는 메인 영역과 스페어 영역의 ECC그룹을 미리 모뎀 메모리(232)에 저장한다. 이후 부팅할 때 모뎀 제어부(210)의 모뎀 메모리(232)에 저장된 ECC그룹을 다시 어플리케이션 제어부의 제2 SDRAM(244)로 전송한다. 도 5를 참조하면, 어플리케이션 제어부(220)과 모뎀 제어부(210)간에 전송되는 신호의 흐름을 도시하고 있다. 먼저 부팅이 되면, 500단계에서 어플리케이션 제어부(220)는 ECC 전송을 시작하라는 신호를 모뎀 제어부(210)로 전송한다. 이를 수신한 모뎀 제어부(210)는 500단계에서의 신호에 응답하는 신호를 502단계에서 전송한다. 이후 어플리케이션 제어부(220)는 메인 영역에 대한 ECC그룹을 전송하라는 신호를 모뎀 제어부(210)로 전송하고, 이에 모뎀 제어부(210)는 모뎀 메모리(232)에 저장되어 있는 메인 영역의 ECC 그룹(300)을 506단계에서 어플리케이션 제어부(210)로 전송한다. 그런 후 508단계에서 어플리케이션 제어부(220)는 스페어 영역에 대한 ECC그룹을 전송하라는 신호를 모뎀 제어부(210)로 전송하고, 이에 모뎀 제어부(210)는 모뎀 메모리(232)에 저장되어 있는 스페어 영역의 ECC 그룹(302)을 510단계에서 어플리케이션 제어부(210)로 전송한다. 메인 영역의 ECC 그룹과 스페어 영역의 ECC 그룹의 전송이 완료되었으면 어플리케이션 제어부(220)는 512단계에서 모든 ECC가 전송완료되었다는 신호를 모뎀 제어부(210)로 전송하고 이에 응답하여 모뎀 제어부(210)는 응답신호를 514단계에서 어플리케이션 제어부(220)로 전송한다.
상기에서 설명한 바와 같이, 본 발명에서는 듀얼칩을 구비하는 단말기에서 제 1 제어부가 NAND 플래쉬 메모리를 사용하는 경우 메인/스페어 영역에 대한 ECC정보를 제2 제어부의 메모리에 미리 저장함으로써 부팅시 제2 제어부의 메모리에 저장되어 있는 ECC정보와 비교하여 비트오류가 있는 경우 수정할 수 있다.
상술한 바와 같이 본 발명은 NAND 플래쉬 메모리의 ECC정보와 동일한 ECC를 다른 메모리에 미리 저장하고, 부팅 시 NAND 플래쉬 메모리의 ECC정보와 미리 저장되어 있는 ECC와 비교하고 1비트 오류가 발생하면 미리 저장되어 있는 ECC정보에 근거하여 수정할 수 있다. 이로 인해 종래의 비트 오류를 보장하지 못했던 NAND 플래쉬 메모리의 Spare 영역의 일부에 대해서 보장할 수 있는 이점이 있다.
도 1은 일반적인 NAND 플래쉬 메모리 영역의 구조를 나타내는 도면,
도 2는 본 발명의 실시 예에 따른 듀얼 칩을 구비하는 단말기를 도시하고 있는 구성도,
도 3은 본 발명의 실시 예에 따라 NAND 플래쉬 메모리의 ECC((Error Correcting Code)를 다른 메모리에 저장하는 방법을 설명하기 위한 도면,
도 4a 및 도 4b는 본 발명의 실시 예에 따라 NAND 플래쉬 메모리로부터 다른 메모리에 ECC그룹을 저장하기 위한 ECC그룹의 포맷을 도시하고 있는 도면,
도 5는 본 발명의 실시 예에 따라 부팅 시 NAND 플래쉬 메모리의 스페어 영역 중 ECC가 저장되어 있는 영역을 관리하기 위한 과정을 도시하고 있는 도면.

Claims (5)

  1. 제1 제어부와 제2 제어부를 구비하고, 상기 제1 제어부에서 필요한 데이터를 저장하는 메모리와 상기 제2 제어부에서 필요한 데이터를 저장하는 NAND 플래쉬 메모리를 구비하는 단말기에 있어서,
    상기 NAND 플래쉬 메모리의 스페어 영역에 저장되어 있는 메인 영역 ECC((Error Correcting Code)와 스페어 영역 ECC를 상기 제1 제어부가 사용하는 메모리에 저장하는 과정과,
    상기 단말기 부팅 시 상기 제2 제어부가 상기 NAND 플래쉬 메모리의 스페어 영역에 저장되어 있는 상기 메인 영역 ECC와 상기 스페어 영역 ECC를 상기 제1 제어부의 메모리에 미리 저장한 상기 메인 영역과 스페어 영역의 ECC를 각각 비교하는 과정과,
    상기 비교과정 수행 후 상기 NAND 플래쉬 메모리의 ECC에 1비트 오류가 발생하는 경우 상기 제1 제어부의 메모리에 미리 저장한 상기 메인 영역과 스페어 영역의 ECC를 근거하여 상기 NAND 플래쉬 메모리의 ECC를 수정하는 과정으로 이루어짐을 특징으로 하는 NAND 플래쉬 메모리 관리 방법.
  2. 제 1항에 있어서, 상기 제1 제어부의 메모리는, NAND 플래쉬 메모리 또는 NOR 플래쉬 메모리가 사용됨을 특징으로 하는 NAND 플래쉬 메모리 관리 방법.
  3. 제 1항에 있어서, 상기 NAND 플래쉬 메모리에서 발생된 메인 영역과 스페어 영여게 대한 ECC를 상기 제1 제어부의 메모리에 저장하는 과정은,
    상기 NAND 플래쉬 메모리의 스페어 영역에 저장된 ECC들은 메인 영역의 ECC 그룹와 스페어 영역의 ECC 그룹을 구분하여 상기 제1 제어부의 메모리에 저장됨을 특징으로 하는 NAND 플래쉬 메모리 관리 방법.
  4. 제 3항에 있어서, 상기 메인 영역의 ECC 그룹은,
    상기 ECC 그룹임을 알리기 위한 헤더와, 몇 개의 블록이 사용되었는지 알리기 위한 블록 개수와, 상기 블록의 번호 및 페이지 번호, ECC정보를 포함함을 특징으로 하는 NAND 플래쉬 메모리 관리 방법.
  5. 제 3항에 있어서, 상기 스페어 영역의 ECC 그룹은,
    상기 ECC 그룹임을 알리기 위한 헤더와, 몇 개의 블록이 사용되었는지 알리기 위한 블록 개수와, 상기 블록의 번호 및 페이지 번호, ECC정보를 포함함을 특징으로 하는 NAND 플래쉬 메모리 관리 방법.
KR10-2003-0058686A 2003-08-25 2003-08-25 듀얼 칩을 구비하는 단말기에서 nand 플래쉬 메모리관리방법 KR100526547B1 (ko)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR10-2003-0058686A KR100526547B1 (ko) 2003-08-25 2003-08-25 듀얼 칩을 구비하는 단말기에서 nand 플래쉬 메모리관리방법

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR10-2003-0058686A KR100526547B1 (ko) 2003-08-25 2003-08-25 듀얼 칩을 구비하는 단말기에서 nand 플래쉬 메모리관리방법

Publications (2)

Publication Number Publication Date
KR20050021686A KR20050021686A (ko) 2005-03-07
KR100526547B1 true KR100526547B1 (ko) 2005-11-03

Family

ID=37229879

Family Applications (1)

Application Number Title Priority Date Filing Date
KR10-2003-0058686A KR100526547B1 (ko) 2003-08-25 2003-08-25 듀얼 칩을 구비하는 단말기에서 nand 플래쉬 메모리관리방법

Country Status (1)

Country Link
KR (1) KR100526547B1 (ko)

Families Citing this family (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101142599B1 (ko) * 2005-04-18 2012-05-10 주식회사 팬택 백업 보정 데이터에 의한 보정 기능을 가지는 무선통신단말기 및 그 방법
KR100833627B1 (ko) * 2007-02-08 2008-05-30 삼성전자주식회사 리페어가 가능한 반도체 메모리 장치 및 그 방법
CN103593216B (zh) * 2013-11-12 2017-12-05 上海斐讯数据通信技术有限公司 将ubi格式的***文件制作成工厂烧录映像文件方法

Also Published As

Publication number Publication date
KR20050021686A (ko) 2005-03-07

Similar Documents

Publication Publication Date Title
US8352833B2 (en) System and method for data read of a synchronous serial interface NAND
US7239547B2 (en) Memory device
US8555144B2 (en) Memory system, memory system controller, and a data processing method in a host apparatus
US20070234182A1 (en) Error checking and correction (ECC) system and method
US10866736B2 (en) Memory controller and data processing circuit with improved system efficiency
US7783918B2 (en) Data protection method of storage device
US20110035537A1 (en) Multiprocessor system having multi-command set operation and priority command operation
US6822902B2 (en) Apparatus and method for interfacing between modem and memory in mobile station
CN110720126B (zh) 传输数据掩码的方法、内存控制器、内存芯片和计算机***
CN111143109B (zh) 一种ecc内存管理器、方法及电子设备
KR100526547B1 (ko) 듀얼 칩을 구비하는 단말기에서 nand 플래쉬 메모리관리방법
US20030051193A1 (en) Computer system with improved error detection
CN112802534A (zh) 一种电子***芯片自动纠错数据存储方法
US7979606B2 (en) Method for storing data
CN111913668B (zh) 一种ip复用下检纠查存储器数据准确性的方法
US10312943B2 (en) Error correction code in memory
CN110825714A (zh) 文件存储控制方法及其装置、文件存储装置、电子装置
US20080013375A1 (en) Memory system
CN113094294B (zh) Ssd异常掉电处理方法、装置、计算机设备及存储介质
US20230236742A1 (en) NONVOLATILE MEMORY EXPRESS (NVMe) OVER COMPUTE EXPRESS LINK (CXL)
US20240045815A1 (en) Flash memory device
KR100743252B1 (ko) 코드 데이터 에러 정정 방법 및 장치
CN118151838A (zh) 记忆装置、快闪存储器控制器及其控制方法
CN117130556A (zh) 一种光模块中的微型文件***及操作方法
KR20210008216A (ko) 메모리 장치 및 이를 포함하는 메모리 시스템

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: 20120927

Year of fee payment: 8

FPAY Annual fee payment

Payment date: 20130927

Year of fee payment: 9

FPAY Annual fee payment

Payment date: 20140929

Year of fee payment: 10

FPAY Annual fee payment

Payment date: 20150925

Year of fee payment: 11

LAPS Lapse due to unpaid annual fee