KR100678047B1 - 낸드 플래시 메모리를 구비한 이동 통신 단말기 및 그의부팅 방법 - Google Patents

낸드 플래시 메모리를 구비한 이동 통신 단말기 및 그의부팅 방법 Download PDF

Info

Publication number
KR100678047B1
KR100678047B1 KR1020040031719A KR20040031719A KR100678047B1 KR 100678047 B1 KR100678047 B1 KR 100678047B1 KR 1020040031719 A KR1020040031719 A KR 1020040031719A KR 20040031719 A KR20040031719 A KR 20040031719A KR 100678047 B1 KR100678047 B1 KR 100678047B1
Authority
KR
South Korea
Prior art keywords
address information
flash memory
nand flash
controller
block
Prior art date
Application number
KR1020040031719A
Other languages
English (en)
Other versions
KR20050106707A (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 KR1020040031719A priority Critical patent/KR100678047B1/ko
Priority to US10/967,573 priority patent/US7370138B2/en
Priority to EP04029341A priority patent/EP1607834A3/en
Priority to CNA2004101021571A priority patent/CN1694068A/zh
Publication of KR20050106707A publication Critical patent/KR20050106707A/ko
Application granted granted Critical
Publication of KR100678047B1 publication Critical patent/KR100678047B1/ko

Links

Images

Classifications

    • 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/14Error detection or correction of the data by redundancy in operation
    • G06F11/1402Saving, restoring, recovering or retrying
    • G06F11/1415Saving, restoring, recovering or retrying at system level
    • G06F11/1417Boot up procedures
    • EFIXED CONSTRUCTIONS
    • E06DOORS, WINDOWS, SHUTTERS, OR ROLLER BLINDS IN GENERAL; LADDERS
    • E06BFIXED OR MOVABLE CLOSURES FOR OPENINGS IN BUILDINGS, VEHICLES, FENCES OR LIKE ENCLOSURES IN GENERAL, e.g. DOORS, WINDOWS, BLINDS, GATES
    • E06B1/00Border constructions of openings in walls, floors, or ceilings; Frames to be rigidly mounted in such openings
    • E06B1/62Tightening or covering joints between the border of openings and the frame or between contiguous frames
    • EFIXED CONSTRUCTIONS
    • E05LOCKS; KEYS; WINDOW OR DOOR FITTINGS; SAFES
    • E05YINDEXING SCHEME ASSOCIATED WITH SUBCLASSES E05D AND E05F, RELATING TO CONSTRUCTION ELEMENTS, ELECTRIC CONTROL, POWER SUPPLY, POWER SIGNAL OR TRANSMISSION, USER INTERFACES, MOUNTING OR COUPLING, DETAILS, ACCESSORIES, AUXILIARY OPERATIONS NOT OTHERWISE PROVIDED FOR, APPLICATION THEREOF
    • E05Y2800/00Details, accessories and auxiliary operations not otherwise provided for
    • E05Y2800/40Physical or chemical protection
    • E05Y2800/428Physical or chemical protection against water or ice
    • EFIXED CONSTRUCTIONS
    • E06DOORS, WINDOWS, SHUTTERS, OR ROLLER BLINDS IN GENERAL; LADDERS
    • E06BFIXED OR MOVABLE CLOSURES FOR OPENINGS IN BUILDINGS, VEHICLES, FENCES OR LIKE ENCLOSURES IN GENERAL, e.g. DOORS, WINDOWS, BLINDS, GATES
    • E06B1/00Border constructions of openings in walls, floors, or ceilings; Frames to be rigidly mounted in such openings
    • E06B1/04Frames for doors, windows, or the like to be fixed in openings
    • E06B1/34Coverings, e.g. protecting against weather, for decorative purposes
    • EFIXED CONSTRUCTIONS
    • E06DOORS, WINDOWS, SHUTTERS, OR ROLLER BLINDS IN GENERAL; LADDERS
    • E06BFIXED OR MOVABLE CLOSURES FOR OPENINGS IN BUILDINGS, VEHICLES, FENCES OR LIKE ENCLOSURES IN GENERAL, e.g. DOORS, WINDOWS, BLINDS, GATES
    • E06B1/00Border constructions of openings in walls, floors, or ceilings; Frames to be rigidly mounted in such openings
    • E06B1/62Tightening or covering joints between the border of openings and the frame or between contiguous frames
    • E06B2001/622Tightening or covering joints between the border of openings and the frame or between contiguous frames especially adapted for door frames; Joint covering devices where the wall surface is parallel to the adjacent door or window frame part
    • EFIXED CONSTRUCTIONS
    • E06DOORS, WINDOWS, SHUTTERS, OR ROLLER BLINDS IN GENERAL; LADDERS
    • E06BFIXED OR MOVABLE CLOSURES FOR OPENINGS IN BUILDINGS, VEHICLES, FENCES OR LIKE ENCLOSURES IN GENERAL, e.g. DOORS, WINDOWS, BLINDS, GATES
    • E06B1/00Border constructions of openings in walls, floors, or ceilings; Frames to be rigidly mounted in such openings
    • E06B1/62Tightening or covering joints between the border of openings and the frame or between contiguous frames
    • E06B2001/628Separate flexible joint covering strips; Flashings

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Quality & Reliability (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Civil Engineering (AREA)
  • Structural Engineering (AREA)
  • Mobile Radio Communication Systems (AREA)
  • Techniques For Improving Reliability Of Storages (AREA)
  • Telephone Function (AREA)
  • Stored Programmes (AREA)

Abstract

본 발명은 낸드 플래시 메모리를 구비한 이동 통신 단말기에 있어서, 상기 낸드 플래시 메모리로부터 부팅 데이터를 리딩할 영역의 시작 주소를 나타내는 어드레스 정보를 저장하는 메모리부와, 상기 낸드 플래시 메모리의 부팅 데이터를 저장하고 있는 소정 블록이 부팅이 불가능한 배드블록인지 판단하고, 상기 소정 블록이 배드블록이면 상기 어드레스 정보의 전송을 상기 메인 제어부에 요청하고, 상기 메인 제어부로부터 전송된 어드레스 정보에 대응된 상기 낸드 플래시 메모리의 소정 블록으로부터 부팅 데이터를 리딩하는 서브 제어부와, 상기 서브 제어부로부터 상기 어드레스 정보의 전송 요청이 있으면 상기 메모리부에 저장된 상기 어드레스 정보를 검출하여 상기 서브 제어부로 전송하는 메인 제어부를 포함함을 특징으로 한다. 따라서 본 발명은 이동 통신 단말기가 부팅을 하기 위한 정보가 저장된 NAND 플래시 메모리의 블록에 배드블록과 같은 에러가 발생해도 정상적으로 부팅을 할 수 있는 효과가 있다.
NAND 플래시 메모리, 부팅, 배드블록

Description

낸드 플래시 메모리를 구비한 이동 통신 단말기 및 그의 부팅 방법{MOBILE COMMUNICATION TERMINAL HAVING NAND FLASH MEMORY AND BOOTING METHOD THEREOF}
도 1은 본 발명의 실시 예에 따른 이동 통신 단말기의 블록 구성도.
도 2는 도 1의 서브 제어부를 상세히 도시한 도.
도 3은 본 발명의 실시 예에 따른 이동 통신 단말기의 부팅 과정을 나타낸 순서도.
본 발명은 이동 통신 단말기에 관한 것으로, 특히 낸드 플래시(Nand Flash) 메모리를 구비한 이동 통신 단말기 및 그의 부팅 방법에 관한 것이다.
이동 통신 단말기는 코드나 폰트 및 컨텐츠(Contents)를 저장하기 위해서 저장 수단으로 플래시 메모리를 사용하는데, 주로 사용하는 플래시 메모리로는 NOR 플래시 메모리와 NAND 플래시 메모리가 있다.
플래시 메모리는 페이지(Page) 단위로 리딩(Reading)하거나 쓸 수 있고, 블 록(페이지가 여러 개 모인 단위)단위로 삭제할 수 있다. 32MB 플래시 메모리의 경우 한 페이지는 512 바이트+16 바이트(스페어 영역)이고, 블록은 32개의 페이지로 구성되며 이 블록이 2048개가 모여 전체를 이룬다.
인텔(Intel)이나 후지쓰(Fujitsu) 등의 회사에서 생산하고 있는 NOR 플래시 메모리는 코드 저장형으로서, 오류가 적어 데이터의 안정성이 우수하고, 수명이 반영구적이라는 장점으로 인해 이동 통신 단말기의 데이터 저장매체로 주로 사용되어 왔다.
그러나 이동 통신 단말기로 전화 통화 이외에 단순히 단문 메시지 정도를 교환하였던 과거와는 달리, 요즈음에는 이동 통신 단말기에 카메라가 장착되어 화상 이미지를 생성하고 저장할 수 있고, 인터넷에 접속하여 벨소리와 같은 멀티미디어 데이터를 다운받아 저장하거나 전송할 수 있는 이동 통신 단말기들이 등장함으로써 상기와 같은 기능을 뒷받침하기 위한 대용량의 메모리가 필요하게 되었다. 이처럼 이동 통신 단말기의 메모리에 저장되는 데이터의 양이 증가하면서, 대용량 데이터를 저장해야 하는 디지털 카메라에서 많이 사용되던 NAND 플래시 메모리가 최근 2.5세대나 3세대 이동 통신 단말기에 적용되는 경우가 급증하고 있다. 이동 통신 단말기의 OS(Operating System) 개발 회사인 마이크로소프트(Microsoft)사도 최근 NAND 플래시 메모리를 지원하는 OS를 디자인하는 등 NAND 플래시 메모리의 비중을 받아들이고 있는 추세이다.
NAND 플래시 메모리는 가격, 저장 용량 및 응답 시간에서 NOR 플래시 메모리보다 우월한 장점이 있으나, NOR 플래시 메모리에 비해 이동 통신 단말기의 전력소 모를 증가시키고, 데이터를 전송하려면 반드시 SRAM(Static Random Access Memory)이나 SDRAM(Synchronous Dynamic Random Access Memory)이 별도로 있어야 하는 단점을 가지고 있다.
NAND 플래시 메모리의 내부 구조는 메인 영역과 스페어 영역으로 나뉜다. 메인 영역은 일반적으로 사용되는 데이터나 코드 이미지를 저장하는 영역이며, 스페어 영역은 메인 영역에 대한 오류 정정 정보(ECC: Error Correction Code 값) 및 스페어 영역 자체의 오류 정정 정보를 저장한다. 이 때 상기 오류 정정 정보가 저장되는 이유는 NAND 플래시 메모리가 저렴한 가격과 대용량이라는 큰 장점을 가지지만, NAND 플래시 메모리를 읽거나 쓰는 도중에 1비트, 2비트 이상의 비트 에러가 발생할 수 있기 때문이다. 이동 통신 단말기는 수정할 수 있는 오류인 1비트 에러인 경우에는 이를 수정하여 다시 기록하지만, 수정할 수 없는 오류인 2비트 이상의 에러는 배드블록(Bad Block)임을 스페어 영역에 표시하여 다음부터는 그 블록을 사용하지 못하도록 한다.
배드블록은 초기 배드블록과 런-타임(Run-Time) 배드블록으로 구분되어 진다. 초기 배드블록은 공장에서 NAND 플래시 메모리의 초기 공정 시 메모리 셀이 깨져 발생된 블록을 의미하며, 런-타임 배드블록은 NAND 플래시 메모리를 사용하는 도중에 발생하는 배드블록을 의미한다.
한편, 이동 통신 단말기에서 단순히 데이터를 저장하는 것이 아닌 코드를 저장할 경우에 코드가 저장되어 있는 곳에 배드블록이 생기면 큰 문제를 유발하게 된다. 만약 코드가 저장되어 있는 곳의 값이 임의로 변경된다면, 이동 통신 단말기가 코드를 리딩하여 그 코드를 실행시키다가 값이 변경된 부분에 이르러서 어떤 행동을 할 지 예측이 불가능하기 때문이다.
특히 부트 코드가 저장되어 있는 영역에 배드블록이 발생한다면, 그 NAND 플래시 메모리를 구비한 이동 통신 단말기는 출시된 이후에 사용하지 못하게 된다. 상기 부트 코드는 이동 통신 단말기에 전원이 인가될 때 저장장치에 있는 코드를 실행시키는 역할을 수행할 뿐만 아니라, 컴퓨터로부터 이미지(예컨대, 어플리케이션 코드, 폰트, 컨텐츠 바이너리 등)를 전송받아 다시 NAND 플래시 메모리에 저장하는 다운로드 역할을 하기 때문이다. 일반적으로 이동 통신 단말기는 상기와 같은 부팅 기능과 다운로드 기능이 지원되어야만 사용가능하다.
일반적으로 이동 통신 단말기는 단일 칩(모뎀 칩)으로 구성되는 경우와 듀얼칩(모뎀 칩 + 어플리케이션(Application) 칩)으로 구성되는 경우로 나뉘는데, 이동 통신 단말기에서 NAND 플래시 메모리를 사용하는 경우에 일반적인 부팅 동작은 다음과 같다.
이동 통신 단말기의 프로세서(Processor)(예컨대, 제어부)안에 NAND 플래시 메모리를 제어하기 위한 컨트롤러(Controller)가 존재하며, 이 NAND 플래시 메모리 컨트롤러는 다시 내부버퍼(Buffer), 컨트롤 레지스터(Control Register), 부트 하드웨어 로직(Logic)을 포함한다. 이동 통신 단말기에 전원이 인가되면 NAND 플래시 메모리 컨트롤러가 제일 먼저 동작하게 된다. 이후 컨트롤러 안에 있는 부트 하드웨어 로직이 부팅 데이터를 저장하고 있는 NAND 플래시 메모리 소정 블록의 데이터 중 수 Kbyte를 내부버퍼로 리딩하면 리딩된 부팅 데이터가 동작하게 된다. 일반적 으로 부팅을 하기 위한 데이터를 저장하고 있는 블록은 0번째 블록이다.
그런데, 이동 통신 단말기가 NAND 플래시 메모리를 지우거나 쓰는 동작을 수행하는 도중에, 수행 대상을 나타내는 페이지 번호나 블록 번호를 잘못 전달하여(예컨대, 0으로 전달하는 경우) 0번째 블록이 지워지는 경우가 발생하게 되면, 부팅 데이터를 다시 써야만 상기 이동 통신 단말기의 부팅이 가능하다. 이처럼 이동 통신 단말기가 부팅할 때 NAND 플래시 메모리의 부팅을 하기 위한 정보가 저장된 블록(즉, 0번째 블록)이 지워진 상태이면 부팅이 불가능하게 되고, 이동 통신 단말기의 사용 중에 0번째 블록에 런-타임 배드블록이 발생한 경우에도 부팅이 불가능해지는 것은 마찬가지이다.
따라서 본 발명의 목적은 NAND 플래시 메모리의 부팅 데이터를 저장하고 있는 블록에 에러가 발생해도 부팅할 수 있는 이동 통신 단말기 및 그 방법을 제공하는 데 있다.
상기한 목적을 달성하기 위해 본 발명은 낸드 플래시 메모리를 구비한 이동 통신 단말기에 있어서, 상기 낸드 플래시 메모리로부터 부팅 데이터를 리딩할 영역의 시작 주소를 나타내는 어드레스(Address) 정보를 저장하는 메모리부와, 상기 낸드 플래시 메모리의 부팅 데이터를 저장하고 있는 소정 블록이 부팅이 불가능한 배 드블록인지 판단하고, 상기 소정 블록이 배드블록이면 상기 어드레스 정보의 전송을 상기 메인 제어부에 요청하고, 상기 메인 제어부로부터 전송된 어드레스 정보에 대응된 상기 낸드 플래시 메모리의 소정 블록으로부터 부팅 데이터를 리딩하는 서브 제어부와, 상기 서브 제어부로부터 상기 어드레스 정보의 전송 요청이 있으면 상기 메모리부에 저장된 상기 어드레스 정보를 검출하여 상기 서브 제어부로 전송하는 메인 제어부를 포함함을 특징으로 한다.
또한 본 발명은 낸드 플래시 메모리로부터 부팅 데이터를 리딩할 영역의 시작 주소를 나타내는 어드레스 정보를 저장하는 메모리부를 구비하고, 메인 제어부와 서브 제어부를 포함하는 듀얼 칩 구조 이동 통신 단말기의 부팅 방법에 있어서, 상기 서브 제어부가 상기 낸드 플래시 메모리의 부팅 데이터를 저장하고 있는 소정 블록이 부팅이 불가능한 배드블록인지 판단하는 과정과, 상기 판단 결과 배드블록으로 판단되면 상기 메모리부에 저장된 상기 어드레스 정보의 전송을 상기 메인 제어부에 요청하는 과정과, 상기 어드레스 정보 전송 요청에 응답하여 상기 메인 제어부가 상기 메모리부에 저장된 어드레스 정보를 검출하여 상기 서브 제어부로 전송하는 과정과, 상기 서브 제어부가 상기 전송된 어드레스 정보에 대응된 상기 낸드 플래시 메모리의 소정 블록으로부터 부팅 데이터를 리딩하는 과정을 포함함을 특징으로 한다.
이하 본 발명의 바람직한 실시 예들을 첨부한 도면을 참조하여 상세히 설명한다. 도면들 중 동일한 구성요소들은 가능한 한 어느 곳에서든지 동일한 부호들로 나타내고 있음에 유의해야 한다. 또한 본 발명의 요지를 불필요하게 흐릴 수 있는 공지 기능 및 구성에 대한 상세한 설명은 생략한다.
도 1은 본 발명의 실시 예에 따른 이동 통신 단말기의 블록 구성도이다.
도시된 이동 통신 단말기는 키입력부(100), 표시부(200), 무선송수신부(300), 음성처리부(400), 메인 제어부(500), 메모리부(600), 서브 제어부(700) 및 NAND 플래시 메모리(800)를 포함한다.
도 2는 상기 도 1의 서브 제어부(700)를 상세히 도시한 도이다. 도 2에 도시된 서브 제어부(700)는 제1내부버퍼(710), NAND 플래시 메모리(800)를 제어하기 위한 콘트롤러(730), 제2비교기(750)를 포함한다. 여기서 콘트롤러(730)는 제1레지스터(732), 제2레지스터(734), 부트 H/W 로직(736), 제2내부버퍼(738)를 포함한다.
도 1 및 도 2를 참조하면, 키입력부(100)는 키 매트릭스 구조(도시하지 않음)를 가지며 문자 키, 숫자 키와 각종 기능 키 및 외부 볼륨 키를 구비하여 사용자가 입력하는 키에 대응하는 키 입력 신호를 메인 제어부(500)로 출력한다.
표시부(200)는 LCD(Liquid Crystal Display) 등으로 이루어질 수 있으며, 이동 통신 단말기에서 발생하는 각종 표시 데이터를 출력한다.
무선송수신부(300)는 RF(Radio Frequency)부로서, 도 1에 도시하지는 않았으나 고주파 처리부와 중간주파수 처리부 및 기저대역 처리부의 포괄적 구성부를 의미한다. 무선송수신부(300)는 메인 제어부(500)의 제어 하에 음성 데이터, 문자 데이터, 영상 데이터 및 제어 데이터의 송수신을 담당한다.
음성처리부(400)는 마이크(Microphone)로부터 입력된 전기신호를 변조하여 음성 데이터로 변환하고, 무선송수신부(300)로부터 입력된 부호화된 음성 데이터를 전기신호로 복조하여 스피커(Speaker)로 출력한다.
메인 제어부(500)는 본 발명의 실시 예에 따른 이동 통신 단말기의 전반적인 동작을 제어한다. 또한 메인 제어부(500)는 서브 제어부(700)로부터 상기 서브 제어부(700)가 NAND 플래시 메모리(800)로부터 부팅 데이터를 리딩할 영역의 시작 주소를 나타내는 어드레스 정보의 전송 요청이 있으면, 메모리부(600)에 저장된 상기 어드레스 정보를 검출하여 서브 제어부(700)로 전송한다.
메모리부(600)는 이동 통신 단말기의 동작 제어를 위해 필요한 각종 정보를 저장한다. 또한 메모리부(600)는 서브 제어부(700)가 부팅 동작을 수행할 때 참조하는 상기 어드레스 정보를 저장한다.
서브 제어부(700)의 부트 H/W(HARD WARE) 로직(736)은 상기 이동 통신 단말기에 전원이 인가되면 부팅 데이터를 저장하고 있는 NAND 플래시 메모리(800) 소정 블록(일반적으로 0번째 블록)의 스페어 영역에 들어있는 데이터 값을 리딩하여 제1비교기(737)를 통해 상기 부트 H/W 로직(736)에 기 저장된 데이터 값과 비교한다. 예를 들어 부트 H/W 로직(736)이 3KByte의 데이터를 상기 이동 통신 단말기가 부팅될 때 NAND 플래시 메모리의 0번째 블록으로부터 자동적으로 리딩한다면, 부트 H/W 로직(736)은 0번째 블록의 처음부터 6개 페이지의 스페어 영역에서 메인 영역과 스페어 영역의 오류 정정 정보를 제외한 나머지 데이터를 읽어오게 된다.
제1비교기(737)는 상기 리딩한 데이터 값과 부트 H/W 로직(736)이 기 저장하고 있는 데이터 값을 비교하여 서로 동일하면 비교 값 "1", 동일하지 않으면 비교 값 "0"을 제1레지스터(732)에 출력한다. 이 때 상기 비교 값이 "1"이면 이동 통신 단말기는 정상적으로 부팅 동작을 수행하지만, 비교 값이 "0"이면 서브 제어부(700)는 상기 리딩한 O번째 블록을 부팅이 불가능한 배드블록으로 인식하고 부팅을 하기 위한 데이터가 저장된 블록 또는 블록 및 페이지의 시작주소를 나타내는 어드레스 정보의 전송을 메인 제어부(500)에 요청한다.
상기 어드레스 정보 전송 요청에 응답하여 메인 제어부(500)가 메모리부(600)에서 검출한 상기 어드레스 정보가 제1내부버퍼(710)로 전송되면, 제1내부버퍼(710)는 이를 임시 저장하고 상기 어드레스 정보를 제2레지스터(734)로 전송한다. 이어 제2레지스터(734)는 상기 어드레스 정보를 임시 저장하게 된다. 제2레지스터(734)에 저장되는 정보는 부트 H/W 로직(736)이 NAND 플래시 메모리(800)의 어느 블록에 위치한 부트 데이터를 제2내부버퍼(738)로 리딩할 것인지를 나타낸다.
한편, 제1내부버퍼(710)와 제2레지스터(734)는 스위치를 구현하여 연결할 수도 있는데, 이 경우 상기 스위치는 메인 제어부(500)가 상기 어드레스 정보를 전송할 때 스위칭 제어신호를 함께 전송함으로써 제어가 가능하다. 즉, 메인 제어부(500)로부터 스위칭 제어 신호가 전송되면, 제1내부버퍼(710)가 제2레지스터(734)로 상기 어드레스 정보를 전송하는 것이다.
제2비교기(750)는 상기 제1내부버퍼(710)와 제2레지스터(734)에 저장된 어드레스 정보를 비교하여 서로 동일하면 "1" 값을 가지는 출력신호를 메인 제어부(500)로 출력하고, 동일하지 않으면 "0" 값을 가지는 출력신호를 메인 제어부(500)로 출력한다.
이 때 제2비교기(750)가 출력한 "1" 값이 가지는 의미는 메인 제어부(500)가 전송한 어드레스 정보가 서브 제어부(700)의 제2레지스터(734)에 정상적으로 저장되었음을 나타내고, "0" 값이 가지는 의미는 상기 어드레스 정보가 정상적으로 저장되지 않았음을 나타낸다. 따라서 메인 제어부(500)는 서브 제어부(700)의 제2비교기(750)로부터 "1" 값을 가지는 출력신호가 입력되면, 프로세스(Process)를 중지한다. 그리고 메인 제어부(500)는 제2비교기(750)로부터 "0" 값을 가지는 출력신호가 입력되면, 다른 예비 값의 시작주소를 가지는 어드레스 정보를 제1내부버퍼(710)로 전송하게 된다.
부트 H/W 로직(736)은 제2레지스터(734)에 저장된 어드레스 정보의 시작주소 값을 리딩하여 그 주소 값에 해당하는 NAND 플래시 메모리(800)의 소정 블록의 영역으로부터 부팅 데이터를 제2내부버퍼(738)로 리딩한다.
도 3은 본 발명의 실시 예에 따른 이동 통신 단말기의 부팅 과정을 나타낸 순서도이다.
도 1 및 도 3을 참조하면, 이동 통신 단말기에 전원이 인가되면 서브 제어부(700)는 NAND 플래시 메모리(800) 소정 블록(일반적으로 0번째 블록)의 스페어 영역에 들어있는 데이터 값을 리딩한다(S110). 이 때 상기 NAND 플래시 메모리(800)의 소정 블록은 상기 이동 통신 단말기가 부팅을 하기 데이터가 저장된 블록을 의미한다.
서브 제어부(700)는 리딩한 데이터 값과 상기 서브 제어부(700)가 기 저장하고 있는 데이터 값이 동일한지 비교한다(S115).
서브 제어부(700)는 상기 비교하는 데이터들이 서로 동일하면 정상적으로 부팅 동작을 수행한다(S120).
서브 제어부(700)는 상기 과정(S115)에서 비교하는 데이터들이 동일하지 않으면, 상기 리딩한 0번째 블록을 부팅이 불가능한 배드블록으로 판단한다(S125).
서브 제어부(700)는 이동 통신 단말기가 부팅을 하기 위한 데이터 저장된 블록 또는 블록 및 페이지 시작주소(예컨대, 1번째 블록 7번째 페이지)를 나타내는 어드레스 정보의 전송을 메인 제어부(500)에 요청한다(S130).
메인 제어부(500)는 메모리부(600)에서 상기 서브 제어부(500)가 요청한 어드레스 정보를 검출한다(S135).
메인 제어부(500)는 검출한 어드레스 정보를 서브 제어부(700)로 전송한다(S140).
서브 제어부(700)는 상기 요청한 어드레스 정보가 전송되면 이를 저장하고(S145), 저장된 어드레스 정보와 메인 제어부(500)에서 전송한 어드레스 정보를 비교하여 상기 어드레스 정보가 정상적으로 저장되었는지 검사한다(S150).
서브 제어부(700)는 상기 검사 결과 상기 어드레스 정보들이 서로 동일하지 않으면(비교 결과 값이 "0"), 메인 제어부(500)에 어드레스 정보를 요청하는 S130과정으로 돌아간다. 그러면 메인 제어부(500)는 다른 예비 값의 시작주소를 가지는 어드레스 정보를 서브 제어부(700)로 전송하게 된다.
서브 제어부(700)는 상기 과정(S150)의 검사 결과 어드레스 정보들이 서로 동일하면, 메인 제어부(500)가 전송한 어드레스 정보가 정상적으로 저장되었음을 알리는 신호(예컨대, 비교 결과 값이 "1")를 출력한다(S155).
메인 제어부(500)는 상기 과정(S155)에서 서브 제어부가 출력한 신호가 입력되면 프로세스(Process)를 중지한다(S160).
서브 제어부(700)는 상기 과정(S145)에서 저장된 어드레스 정보의 시작주소에 대응된 NAND 플래시 메모리(800)의 소정 블록으로부터 부팅 데이터를 리딩하여 리딩한 데이터를 실행한다(S165).
상술한 본 발명의 설명에서는 구체적인 실시 예에 관해 설명하였으나, 여러 가지 변형이 본 발명의 범위에서 벗어나지 않고 실시될 수 있다. 따라서 본 발명의 범위는 설명된 실시 예에 의하여 정할 것이 아니고 특허청구범위 뿐만 아니라 특허청구범위와 균등한 것에 의해 정해져야 한다.
상술한 바와 같이 본 발명은 이동 통신 단말기가 부팅을 하기 위한 정보가 저장된 NAND 플래시 메모리의 블록에 배드블록과 같은 에러가 발생해도 정상적으로 부팅을 할 수 있는 효과가 있다.

Claims (12)

  1. 낸드 플래시 메모리를 구비한 이동 통신 단말기에 있어서,
    상기 낸드 플래시 메모리로부터 부팅 데이터를 리딩할 영역의 시작 주소를 나타내는 어드레스 정보를 저장하는 메모리부와,
    상기 낸드 플래시 메모리의 부팅 데이터를 저장하고 있는 소정 블록이 부팅이 불가능한 배드블록인지 판단하고, 상기 소정 블록이 배드블록이면 상기 어드레스 정보의 전송을 메인 제어부에 요청하고, 상기 메인 제어부로부터 전송된 어드레스 정보에 대응된 상기 낸드 플래시 메모리의 소정 블록으로부터 부팅 데이터를 리딩하는 서브 제어부와,
    상기 서브 제어부로부터 상기 어드레스 정보의 전송 요청이 있으면 상기 메모리부에 저장된 상기 어드레스 정보를 검출하여 상기 서브 제어부로 전송하는 상기 메인 제어부를 포함함을 특징으로 하는 이동 통신 단말기.
  2. 제1항에 있어서,
    상기 어드레스 정보의 시작 주소는 상기 낸드 플래시 메모리의 블록 번호 또는 블록 번호 및 페이지 번호 중 어느 하나임을 특징으로 하는 이동 통신 단말기.
  3. 제1항에 있어서, 상기 서브 제어부는
    상기 메인 제어부로부터 전송된 상기 어드레스 정보를 임시 저장하는 제1내부버퍼와,
    상기 낸드 플래시 메모리의 부팅 데이터를 저장하고 있는 소정 블록이 부팅이 불가능한 배드블록인지 판단하고, 상기 소정 블록이 배드블록이면 상기 어드레스 정보의 전송을 상기 메인 제어부에 요청하고, 상기 제1내부버퍼로부터 상기 요청한 어드레스 정보를 전송받아 그 어드레스 정보에 대응된 상기 낸드 플래시 메모리의 소정 블록으로부터 부팅 데이터를 리딩하는 컨트롤러와,
    상기 제1내부버퍼에 저장된 어드레스 정보와 상기 컨트롤러에 전송된 어드레스 정보를 비교한 결과를 알리는 신호를 상기 메인 제어부에 출력하는 제2비교기를 포함함을 특징으로 하는 이동 통신 단말기.
  4. 제3항에 있어서, 상기 컨트롤러는
    상기 낸드 플래시 메모리의 부팅 데이터를 저장하고 있는 소정 블록이 배드블록인지 판단하기 위해 상기 소정 블록으로부터 리딩한 소정 데이터 값과 기 저장된 데이터 값을 비교하는 제1비교기를 포함하고, 상기 제1내부버퍼로부터 전송된 상기 어드레스 정보에 대응된 상기 낸드 플래시 메모리의 소정 블록으로부터 부팅 데이터를 리딩하는 부트 하드웨어 로직과,
    상기 제1비교기의 결과 값을 임시 저장하는 제1레지스터와,
    상기 제1내부버퍼로부터 상기 어드레스 정보를 전송받아 그 정보를 임시 저장하는 제2레지스터와,
    상기 부트 하드웨어 로직이 리딩한 부팅 데이터를 임시 저장하는 제2내부버퍼를 포함함을 특징으로 하는 이동 통신 단말기.
  5. 제4항에 있어서,
    상기 서브 제어부는 상기 제1비교기의 비교 결과, 상기 소정 블록을 리딩한 소정 데이터 값과 기 저장된 데이터 값이 동일하지 않으면 상기 리딩한 소정 블록을 배드블록으로 판단함을 특징으로 하는 이동 통신 단말기.
  6. 제3항에 있어서,
    상기 제2비교기는 상기 제1내부버퍼에 저장된 어드레스 정보와 상기 컨트롤러에 전송된 어드레스 정보가 동일하면 상기 메인 제어부가 전송한 어드레스 정보가 상기 컨트롤러에 정상적으로 저장되었음을 알리는 출력신호를 상기 메인 제어부에 출력함을 특징으로 하는 이동 통신 단말기.
  7. 제4항에 있어서,
    상기 제2비교기는 상기 제1내부버퍼에 저장된 어드레스 정보와 상기 제2레지스터에 저장된 어드레스 정보가 동일하지 않으면, 다른 예비 값을 가지는 시작주소의 어드레스 정보 전송을 상기 메인 제어부에 요청하는 신호를 출력함을 특징으로 하는 이동 통신 단말기.
  8. 낸드 플래시 메모리로부터 부팅 데이터를 리딩할 영역의 시작 주소를 나타내는 어드레스 정보를 저장하는 메모리부를 구비하고, 메인 제어부와 서브 제어부를 포함하는 듀얼 칩 구조 이동 통신 단말기의 부팅 방법에 있어서,
    상기 서브 제어부가 상기 낸드 플래시 메모리의 부팅 데이터를 저장하고 있는 소정 블록이 부팅이 불가능한 배드블록인지 판단하는 과정과,
    상기 판단 결과 배드블록으로 판단되면 상기 메모리부에 저장된 상기 어드레스 정보의 전송을 상기 메인 제어부에 요청하는 과정과,
    상기 어드레스 정보 전송 요청에 응답하여 상기 메인 제어부가 상기 메모리부에 저장된 어드레스 정보를 검출하여 상기 서브 제어부로 전송하는 과정과,
    상기 서브 제어부가 상기 전송된 어드레스 정보에 대응된 상기 낸드 플래시 메모리의 소정 블록으로부터 부팅 데이터를 리딩하는 과정을 포함함을 특징으로 하는 이동 통신 단말기의 부팅 방법.
  9. 제8항에 있어서,
    상기 어드레스 정보의 시작 주소는 상기 낸드 플래시 메모리의 블록 번호또는 블록 번호 및 페이지 번호 중 어느 하나임을 특징으로 하는 이동 통신 단말기의 부팅 방법.
  10. 제8항에 있어서,
    상기 서브 제어부가 상기 낸드 플래시 메모리의 부팅 데이터를 저장하고 있는 소정 블록이 부팅이 불가능한 배드블록인지 판단하는 과정은
    상기 서브 제어부가 상기 소정 블록의 소정 데이터 값을 리딩하는 단계와,
    상기 리딩한 소정 데이터 값과 상기 서브 제어부에 기 저장된 데이터 값을 비교하는 단계와,
    상기 리딩한 소정 데이터 값과 상기 기 저장된 데이터 값이 동일하지 않으면 상기 소정 블록을 배드블록으로 판단하는 단계로 이루어짐을 특징으로 하는 이동 통신 단말기의 부팅 방법.
  11. 제8항에 있어서,
    상기 서브 제어부가 상기 전송된 어드레스 정보에 대응된 상기 낸드 플래시 메모리의 소정 블록으로부터 부팅 데이터를 리딩하는 과정은
    상기 메인 제어부가 전송한 상기 어드레스 정보를 수신하여 저장하는 단계와,
    상기 저장된 어드레스 정보와 상기 메인 제어부가 전송한 어드레스 정보를 를 비교하는 단계와,
    상기 비교 결과 상기 저장된 어드레스 정보와 상기 메인 제어부가 전송한 어드레스 정보가 동일하면, 상기 메인 제어부가 전송한 어드레스 정보가 상기 컨트롤러에 정상적으로 저장되었음을 알리는 출력신호를 상기 메인 제어부에 출력하는 단계와,
    상기 서브 제어부가 상기 저장된 어드레스 정보에 대응된 상기 낸드 플래시 메모리의 소정 블록으로부터 부팅 데이터를 리딩하는 단계로 이루어짐을 특징으로 하는 이동 통신 단말기의 부팅 방법.
  12. 제11항에 있어서, 상기 이동 통신 단말기는
    상기 저장된 어드레스 정보와 상기 메인 제어부가 전송한 어드레스 정보를 를 비교한 결과, 서로 동일하지 않으면 다른 예비 값을 가지는 시작주소의 어드레스 정보 전송을 상기 메인 제어부에 요청하는 단계를 더 포함함을 특징으로 하는 이동 통신 단말기의 부팅 방법.
KR1020040031719A 2004-05-06 2004-05-06 낸드 플래시 메모리를 구비한 이동 통신 단말기 및 그의부팅 방법 KR100678047B1 (ko)

Priority Applications (4)

Application Number Priority Date Filing Date Title
KR1020040031719A KR100678047B1 (ko) 2004-05-06 2004-05-06 낸드 플래시 메모리를 구비한 이동 통신 단말기 및 그의부팅 방법
US10/967,573 US7370138B2 (en) 2004-05-06 2004-10-18 Mobile communication terminal including NAND flash memory and method for booting the same
EP04029341A EP1607834A3 (en) 2004-05-06 2004-12-10 A mobile communication terminal including NAND flash memory and method for booting the same
CNA2004101021571A CN1694068A (zh) 2004-05-06 2004-12-20 包括与非闪存的移动通信终端及其引导方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020040031719A KR100678047B1 (ko) 2004-05-06 2004-05-06 낸드 플래시 메모리를 구비한 이동 통신 단말기 및 그의부팅 방법

Publications (2)

Publication Number Publication Date
KR20050106707A KR20050106707A (ko) 2005-11-11
KR100678047B1 true KR100678047B1 (ko) 2007-02-02

Family

ID=35094147

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020040031719A KR100678047B1 (ko) 2004-05-06 2004-05-06 낸드 플래시 메모리를 구비한 이동 통신 단말기 및 그의부팅 방법

Country Status (4)

Country Link
US (1) US7370138B2 (ko)
EP (1) EP1607834A3 (ko)
KR (1) KR100678047B1 (ko)
CN (1) CN1694068A (ko)

Families Citing this family (17)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2006277395A (ja) * 2005-03-29 2006-10-12 Matsushita Electric Ind Co Ltd 情報処理装置及び情報処理方法
KR101247247B1 (ko) * 2005-11-30 2013-03-25 삼성전자주식회사 클락 신호의 출력을 제어할 수 있는 컨트롤러 및 상기 컨트롤러를 구비하는 시스템
CN100456263C (zh) * 2005-12-30 2009-01-28 深圳市桑达实业股份有限公司 在税控收款机中使用闪存时处理坏块的方法
US7752391B2 (en) * 2006-01-20 2010-07-06 Apple Inc. Variable caching policy system and method
CN101114259B (zh) * 2006-07-27 2012-08-08 杭州晟元芯片技术有限公司 一种基于flash架构的处理器片内程序代码存储体及实现代码片内执行的方法
CN100458697C (zh) * 2006-12-26 2009-02-04 北京中星微电子有限公司 用户程序引导方法及用户程序引导系统
CN101526907B (zh) * 2008-03-04 2012-06-20 深圳市爱国者嵌入式系统科技有限公司 避免电子产品开机错误的闪存管理方法
CN101520735B (zh) * 2008-12-18 2013-09-18 康佳集团股份有限公司 一种启动闪存内引导程序的方法及其网络电视和机顶盒
US8443263B2 (en) * 2009-12-30 2013-05-14 Sandisk Technologies Inc. Method and controller for performing a copy-back operation
JP5077385B2 (ja) * 2010-04-15 2012-11-21 株式会社デンソー 車両用ナビゲーション装置
US8555050B2 (en) 2010-07-15 2013-10-08 Broadcom Corporation Apparatus and method thereof for reliable booting from NAND flash memory
US8990549B2 (en) 2012-07-12 2015-03-24 Freescale Semiconductor, Inc. Method and system for booting electronic device from NAND flash memory
US9594718B2 (en) * 2013-01-24 2017-03-14 Qualcomm Innovation Center, Inc. Hardware accelerated communications over a chip-to-chip interface
CN106303708A (zh) * 2015-06-02 2017-01-04 冠捷投资有限公司 内存备份的方法
KR20190090634A (ko) * 2018-01-25 2019-08-02 에스케이하이닉스 주식회사 메모리 시스템 및 그것의 동작 방법
WO2020056622A1 (zh) * 2018-09-19 2020-03-26 深圳市汇顶科技股份有限公司 图像校验系数的读取方法、闪存控制器、系统及存储介质
CN112799980A (zh) * 2021-02-01 2021-05-14 北京华捷艾米科技有限公司 一种调整nand flash频率的方法及装置

Family Cites Families (14)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6282675B1 (en) * 1997-08-06 2001-08-28 Macronix International Co., Ltd. Fault-tolerant architecture for in-circuit programming
US6088759A (en) * 1997-04-06 2000-07-11 Intel Corporation Method of performing reliable updates in a symmetrically blocked nonvolatile memory having a bifurcated storage architecture
US6823435B1 (en) * 1997-11-20 2004-11-23 Advanced Micro Devices, Inc. Non-volatile memory system having a programmably selectable boot code section size
US6363492B1 (en) * 1998-04-30 2002-03-26 Compaq Computer Corporation Computer method and apparatus to force boot block recovery
JP2001051909A (ja) * 1999-08-05 2001-02-23 Matsushita Electric Ind Co Ltd 携帯型通信端末機
US6601167B1 (en) * 2000-01-14 2003-07-29 Advanced Micro Devices, Inc. Computer system initialization with boot program stored in sequential access memory, controlled by a boot loader to control and execute the boot program
WO2003017517A1 (en) * 2001-08-20 2003-02-27 Samsung Electronics Co., Ltd Apparatus and method for interfacing between modem and memory in mobile station
US7373491B2 (en) * 2002-02-27 2008-05-13 Rockwell Automation Technologies, Inc. Processor with versatile external memory interface
KR100448905B1 (ko) * 2002-07-29 2004-09-16 삼성전자주식회사 낸드플래쉬메모리를 시스템구동 및 저장용으로 사용하는장치
US7340566B2 (en) * 2002-10-21 2008-03-04 Microsoft Corporation System and method for initializing a memory device from block oriented NAND flash
JP4325275B2 (ja) * 2003-05-28 2009-09-02 株式会社日立製作所 半導体装置
US7073016B2 (en) * 2003-10-09 2006-07-04 Micron Technology, Inc. Random access interface in a serial memory device
US7257703B2 (en) * 2003-11-18 2007-08-14 Toshiba America Electronic Components, Inc. Bootable NAND flash memory architecture
KR100606046B1 (ko) * 2004-01-20 2006-07-28 삼성전자주식회사 휴대용 단말기의 낸드 플래쉬 메모리를 이용한 부팅 장치및 방법

Also Published As

Publication number Publication date
CN1694068A (zh) 2005-11-09
EP1607834A3 (en) 2012-04-04
EP1607834A2 (en) 2005-12-21
US7370138B2 (en) 2008-05-06
US20050251672A1 (en) 2005-11-10
KR20050106707A (ko) 2005-11-11

Similar Documents

Publication Publication Date Title
KR100678047B1 (ko) 낸드 플래시 메모리를 구비한 이동 통신 단말기 및 그의부팅 방법
US8433363B2 (en) Memory device in mobile phone
US6392925B2 (en) Mobile communication device having integrated embedded flash and SRAM memory
US20060245274A1 (en) Apparatus and method for controlling NAND flash memory
WO2006055717A2 (en) Robust and high-speed memory access with adaptive interface timing
US6810444B2 (en) Memory system allowing fast operation of processor while using flash memory incapable of random access
US8171192B2 (en) Hardware-assisted device configuration detection
JPWO2008117520A1 (ja) メモリコントローラ、不揮発性メモリシステムおよびホスト装置
KR100849296B1 (ko) 주제어부와 보조제어부를 구비하는 시스템에서의보조제어부의 초기화 장치 및 방법
US7484047B2 (en) Apparatus and method for composing a cache memory of a wireless terminal having a coprocessor
US20050144364A1 (en) Memory management method for simultaneously loading and executing program codes
US6868011B2 (en) Apparatus and method for interfacing between modem and memory in mobile station
AU2002326176A1 (en) Apparatus and method for interfacing between modem and memory in mobile station
KR20090034140A (ko) 복수의 포트를 갖는 메모리를 구비한 휴대 단말기 및 부팅제어 방법
KR100532417B1 (ko) 디지털 신호 처리장치의 저전력 소비형 캐시 메모리 장치및 이에 대한 제어방법
KR102174337B1 (ko) 메모리 시스템 및 이를 포함하는 전자 장치
CN112860595B (zh) Pci设备或pcie设备、数据存取方法及相关组件
US20020169923A1 (en) Microcomputer with reduced memory usage and associated method
US7278015B2 (en) Methods and devices for DRAM initialization
US20040024969A1 (en) Methods and apparatuses for managing memory
KR100526547B1 (ko) 듀얼 칩을 구비하는 단말기에서 nand 플래쉬 메모리관리방법
CN117539393A (zh) 数据存储方法、数据存储装置和电子设备
RU2251796C2 (ru) Устройство и способ сопряжения между модемом и памятью подвижной станции
KR20050021685A (ko) 이동통신 단말기에서 부팅 방법
CA2544250C (en) Apparatus and method for interfacing between modem and memory in mobile station

Legal Events

Date Code Title Description
A201 Request for examination
E902 Notification of reason for refusal
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: 20121228

Year of fee payment: 7

FPAY Annual fee payment

Payment date: 20131230

Year of fee payment: 8

FPAY Annual fee payment

Payment date: 20141223

Year of fee payment: 9

FPAY Annual fee payment

Payment date: 20151229

Year of fee payment: 10

LAPS Lapse due to unpaid annual fee