KR101542878B1 - 버퍼램을 포함하는 불휘발성 메모리 장치 및 그것의 부트 코드 관리 방법 - Google Patents

버퍼램을 포함하는 불휘발성 메모리 장치 및 그것의 부트 코드 관리 방법 Download PDF

Info

Publication number
KR101542878B1
KR101542878B1 KR1020090012031A KR20090012031A KR101542878B1 KR 101542878 B1 KR101542878 B1 KR 101542878B1 KR 1020090012031 A KR1020090012031 A KR 1020090012031A KR 20090012031 A KR20090012031 A KR 20090012031A KR 101542878 B1 KR101542878 B1 KR 101542878B1
Authority
KR
South Korea
Prior art keywords
boot code
data
memory device
data ram
tram
Prior art date
Application number
KR1020090012031A
Other languages
English (en)
Other versions
KR20100092752A (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 KR1020090012031A priority Critical patent/KR101542878B1/ko
Priority to US12/657,016 priority patent/US8433886B2/en
Publication of KR20100092752A publication Critical patent/KR20100092752A/ko
Application granted granted Critical
Publication of KR101542878B1 publication Critical patent/KR101542878B1/ko

Links

Images

Classifications

    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C16/00Erasable programmable read-only memories
    • G11C16/02Erasable programmable read-only memories electrically programmable
    • G11C16/06Auxiliary circuits, e.g. for writing into memory
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/02Addressing or allocation; Relocation
    • G06F12/0223User address space allocation, e.g. contiguous or non contiguous base addressing
    • G06F12/023Free address space management
    • G06F12/0238Memory management in non-volatile memory, e.g. resistive RAM or ferroelectric memory
    • G06F12/0246Memory management in non-volatile memory, e.g. resistive RAM or ferroelectric memory in block erasable memory, e.g. flash memory
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C16/00Erasable programmable read-only memories
    • G11C16/02Erasable programmable read-only memories electrically programmable
    • G11C16/06Auxiliary circuits, e.g. for writing into memory
    • G11C16/08Address circuits; Decoders; Word-line control circuits
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C16/00Erasable programmable read-only memories
    • G11C16/02Erasable programmable read-only memories electrically programmable
    • G11C16/06Auxiliary circuits, e.g. for writing into memory
    • G11C16/10Programming or data input circuits
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2212/00Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
    • G06F2212/72Details relating to flash memory management
    • G06F2212/7203Temporary buffering, e.g. using volatile buffer or dedicated buffer blocks

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Read Only Memory (AREA)
  • Semiconductor Memories (AREA)
  • Techniques For Improving Reliability Of Storages (AREA)
  • Stored Programmes (AREA)

Abstract

본 발명에 따른 불휘발성 메모리 장치는, 부트 코드를 저장하는 셀 어레이; 상기 부트 코드를 저장하기 위한 부트램; 외부와 교환되는 유저 데이터를 저장하는 데이터램; 그리고 부팅 동작시 상기 셀 어레이로부터 제공받은 부트 코드를 상기 부트램과 상기 데이터램에 분할하여 저장하는 컨트롤러를 포함한다.

Description

버퍼램을 포함하는 불휘발성 메모리 장치 및 그것의 부트 코드 관리 방법{NONVOLATILE MEMORY DEVICE HAVING A BUFFER RAM AND BOOT CODE MANAGEMENT METHOD THEREOF}
본 발명은 전자 장치에 관한 것으로, 좀 더 구체적으로는 버퍼램을 포함하는 불휘발성 메모리 장치 및 그것의 부트 코드 관리 방법에 관한 것이다.
반도체 메모리는, 일반적으로, 위성에서 소비자 전자 기술까지의 범위에 속하는 마이크로프로세서를 기반으로 한 응용 및 컴퓨터와 같은 디지털 로직 설계의 가장 필수적인 마이크로 전자 소자이다. 그러므로, 높은 집적도 및 빠른 속도를 위한 축소(Scaling)를 통해 얻어지는 프로세스 향상 및 기술 개발을 포함한 반도체 메모리의 제조 기술의 진보는 다른 디지털 로직 계열의 성능 기준을 확립하는 데 도움이 된다.
반도체 메모리 장치는 크게 휘발성 반도체 메모리 장치와 불휘발성 반도체 메모리 장치로 나뉘어진다. 불휘발성 반도체 메모리 장치는 전원이 차단되어도 데이터를 저장할 수 있다. 불휘발성 메모리에 저장되는 데이터는 메모리 제조 기술에 따라 영구적이거나 재프로그램 가능하다. 불휘발성 반도체 메모리 장치는 컴퓨터, 항공 전자 공학, 통신, 그리고 소비자 전자 기술 산업과 같은 넓은 범위의 응용에서 프로그램 및 마이크로 코드의 저장을 위해서 사용된다.
불휘발성 메모리 장치의 대표적인 예로 플래시 메모리 장치가 있다. 일반적으로 낸드(NAND)형 불휘발성 메모리 장치는 고집적도 및 대용량화의 장점이 있다. 이러한 장점에 힘입어 모바일 시스템 및 각종 응용 시스템의 적용에서 급격히 그 이용이 증가되고 있다. 그러나 대용량화의 장점 이면에, 데이터의 읽기 및 쓰기 시간이 램(RAM)에 비해 다소 길다는 단점이 있다. 이러한 단점은 불휘발성 메모리를 장착하는 시스템의 성능에도 영향을 미치게 된다. 이러한 단점을 보완하고 불휘발성의 장점을 살리기 위한 소위 퓨전 메모리 중의 한 형태가 원낸드(OneNANDTM) 플래시 메모리 장치이다. 원낸드 플래시 메모리 장치는 노어(NOR)형 플래시(혹은 SRAM)의 입출력 프로토콜을 가진다. 그러나 내부에는 고집적도에 적합한 낸드형 플래시 메모리 코어와 고속의 버퍼램 및 레지스터, 에러정정코드(ECC) 등을 내장하여 고용량, 고속, 고안정성이라는 보다 진보된 메모리 성능을 구현하고 있다.
본 발명의 목적은 부트 코드의 용량 증가에 대해 용이하게 대처할 수 있는 불휘발성 메모리 장치 및 그것의 부트 코드 관리 방법을 제공하는 데 있다.
상기 목적을 달성하기 위한 본 발명의 불휘발성 메모리 장치는, 부트 코드를 저장하는 셀 어레이; 상기 부트 코드를 저장하기 위한 부트램; 외부와 교환되는 유저 데이터를 저장하는 데이터램; 및 부팅 동작시, 상기 셀 어레이로부터 제공받은 부트 코드를 상기 부트램과 상기 데이터램에 분할하여 저장하는 컨트롤러를 포함한다.
실시예로서, 상기 제 1 부트 코드는 상기 부팅 동작이 종료된 이후에도 유지되어야할 데이터이고, 상기 제 2 코드는 상기 부팅 동작 시에만 사용되는 데이터이다.
다른 실시예로서, 상기 부트램과 상기 데이터램은 각기 분리된 별개의 저장 영역으로 구성된다.
상기 목적을 달성하기 위한 부트램과 데이터램을 포함하는 불휘발성 메모리 장치의 부트 코드 관리 방법은, 상기 부트 코드를 셀 어레이로부터 독출하는 단계; 및 상기 부트 코드의 일부는 상기 부트램에 저장하고, 상기 부트 코드의 나머지 일부는 상기 데이터램에 저장하는 단계를 포함한다.
실시예로서, 상기 부트 코드의 일부는 부팅 동작이 종료된 시점에도 유지되어야 하는 데이터이고, 상기 부트 코드의 나머지 일부는 상기 부팅 동작 시에만 사용되는 데이터이다.
다른 실시예로서, 상기 부트 코드를 상기 부트 코드의 일부와 상기 부트 코드의 나머지 일부로 구분하는 단계를 더 포함한다.
또 다른 실시예로서, 상기 데이터램에 저장된 상기 부트 코드의 나머지 일부를 삭제하기 위한 데이터램의 리셋 단계를 더 포함한다.
본 발명의 구성 및 부트 코드 관리 방법에 따르면, 부트 코드의 용량이 기존의 부트램의 용량을 초과하더라도 용이하게 부트 코드를 제공할 수 있는 불휘발성 메모리 장치를 제공할 수 있다.
앞의 일반적인 설명 및 다음의 상세한 설명 모두 예시적이라는 것이 이해되어야 하며, 청구된 발명의 부가적인 설명이 제공되는 것으로 여겨져야 한다.
참조 부호들이 본 발명의 바람직한 실시예들에 상세히 표시되어 있으며, 그것의 예들이 참조 도면들에 표시되어 있다. 가능한 어떤 경우에도, 동일한 참조 번호들이 동일한 또는 유사한 부분을 참조하기 위해서 설명 및 도면들에 사용된다.
아래에서, 플래시 메모리 장치가 본 발명의 특징 및 기능을 설명하기 위한 불휘발성 메모리의 한 예로서 사용된다. 하지만, 이 기술 분야에 정통한 사람은 여기에 기재된 내용에 따라 본 발명의 다른 이점들 및 성능을 쉽게 이해할 수 있을 것이다. 예를 들면, 저장 매체로서 PRAM, MRAM, ReRAM, FRAM, NOR 플래시 메모리 등이 사용될 수 있으며, 이종의 메모리 장치들이 혼용되는 메모리 시스템에도 적용될 수 있다. 또한, 본 발명은 다른 실시 예들을 통해 구현되거나 적용될 수 있을 것이다. 게다가, 상세한 설명은 본 발명의 범위, 기술적 사상 그리고 다른 목적으로부터 상당히 벗어나지 않고 관점 및 사용에 따라 수정되거나 변경될 수 있다.
도 1은 본 발명의 불휘발성 메모리 장치(110)를 포함하는 시스템(100)의 블록도이다. 도 1을 참조하면, 본 발명의 시스템(100)은 불휘발성 메모리 장치(110), DRAM(Dynamic Random Access Memory: 20), 프로세싱 유닛(CPU: 130)를 포함한다.
불휘발성 메모리 장치(110)는 전원이 차단되더라도 메모리 셀에 저장된 데이터를 보존할 수 있다. 따라서, 불휘발성 메모리 장치(110)는 시스템(100)에서 전원의 차단 여부에 관계없이 보존되어야 하는 데이터를 저장한다. 또한, 불휘발성 메모리 장치(110)는 DRAM(20)을 초기화하고, 시스템(100)을 부팅하기 위한 부트 코드(Boot code)를 저장한다. 시스템(100)에 전원이 공급되거나, 시스템(100)이 리셋되는 경우, 불휘발성 메모리 장치(110)에 저장된 부트 코드(Boot code)가 DRAM(120)에 저장된다(경로 ①). 그리고, DRAM(120)에 저장된 부트 코드(120)는 프로세싱 유닛(130)에 의해서 패치되어 시스템(100) 전체를 초기화한다. 불휘발성 메모리 장치(110)는 부트 코드(Boot code)뿐만 아니라 OS 이미지(Operating System Image)를 저장한다. OS 이미지도 부트 코드와 동일한 경로를 통해서 부팅 동작시 DRAM(120)에 저장될 것이다.
통상적으로 부트 코드의 기능은 시스템(100)의 기본적인 하드웨어를 초기화하는 역할, 애플리케이션 코드를 불휘발성 메모리 장치(110)로부터 DRAM(120)으로 읽어오는 역할 등을 실행하는 것이다. 하드웨어 초기화에서는 하드웨어에 대한 가장 기본적인 세팅(Setting)들이 이루어진다. 그러나, 부트 코드를 버퍼링하기 위한 버퍼 소자의 용량보다 부트 코드의 용량이 더 커지는 경우가 발생할 수 있다. 본 발명의 불휘발성 메모리 장치(110)는 이러한 경우에도 융통성 있게 부트 코드를 저장하여 DRAM(120)에 제공할 수 있다.
도 2는 도 1의 불휘발성 메모리 장치(110)를 간략히 보여주는 블록도이다. 도 2를 참조하면, 본 발명의 불휘발성 메모리 장치(110)는 서로 다른 프로토콜을 사용하는 장치와의 각종 정보 교환을 위한 호스트 인터페이스(210)를 포함한다. 그리고 불휘발성 메모리 장치(110)는 버퍼 램(220), 컨트롤러(230), 레지스터(240) 및 불휘발성 메모리 셀들을 포함하는 낸드 셀 어레이(250)를 포함한다.
호스트 인터페이스(210)는 프로세싱 유닛(CPU, 130)이나 칩셋으로 대변되는 호스트(Host)와 불휘발성 메모리 장치(110)를 인터페이싱한다. 호스트 인터페이스(210)는 호스트(Host)로부터 입력되는 데이터와 제어 신호를 저장하거나, 낸드 셀 어레이(250)로부터 제공되는 데이터를 저장하고 있다가 호스트의 제어에 따라 출력하는 인터페이스 역할을 수행한다. 호스트 인터페이스(210)의 인터페이싱 방식은 다양한 방식들로 구현될 수 있다. 예를 들면, 원낸드 플래시 메모리 장치(OneNANDTM)에서는 에스램(또는, NOR 플래시 메모리)의 인터페이싱 방식을 갖도록 구현되고 있다.
버퍼램(220)은 호스트 인터페이스(210)와 컨트롤러(230) 간에 교환되는 데이터를 일시 저장하는 고속의 양방향 랜덤 액세스 메모리이다. 또한, 버퍼램(220)은 부팅시 낸드 플래시 셀(250)로부터 독출된 부트 코드(Boot code)를 저장하고 호스트(Host) 측으로 전달한다.
부트 코드(Boot code)를 일시 저장하고, 저장된 부트 코드를 호스트로 제공하기 위하여 버퍼램(220)은 부트램(221)을 포함한다. 낸드 셀 어레이(250)에 저장된 부트 코드(Boot code)는 부팅 동작시 부트램(221)에 복사된다. 버퍼램(220)은 특히, 듀얼 버퍼링 동작을 지원하기 위한 두 개의 데이터램들(222, 223)을 포함한다. 각각의 데이터램들(222, 223)은 하나의 페이지 단위로 로드가 가능하도록 구성될 수 있다. 한 번의 액세스에서 로드되는 용량은 버퍼 섹터 카운터(BSC)에 따라서 그 크기가 결정된다.
각 데이터램들(222, 223)은 또한 복수(예를 들면 4개)의 섹터들로 어드레스가 구성되어 있어 섹터 단위로 액세스가 가능하다. 대용량의 데이터 로드 시에는 컨트롤러(230)에서 페이지 단위의 데이터를 데이터램1(222)과 데이터램2(223)로 호스트(Host)에서 제공된 버퍼 섹터 어드레스(BSA, BSC)를 참조하여 번갈아 로드하도록 설정된다.
본 발명의 부트램(221)은 데이터램들(222, 223)과 분리된 메모리 영역을 갖는다. 따라서, 부트램(221)이 데이터램들(222, 223)과 공유되거나, 하나의 메모리 영역을 부트램으로 또는 데이터램으로 사용되는 버퍼램 구조가 아니다. 또한, 버퍼 램(220)은 랜덤 액세스 메모리를 이용하여 구현되며 특히 고속의 에스램(SRAM)을 이용하여 구현될 수 있음은 이 분야에서 통상적인 지식을 습득한 자들에게는 자명하다.
컨트롤러(230)는 호스트(Host)로부터 입력되는 시스템 설정 레지스터(System Configuration Register)의 저장된 값을 참조하여 불휘발성 메모리 장치(110)의 내부 동작을 제어한다. 컨트롤러(230)는 또한 실시간으로 제공되는 제어 신호에 따라 불휘발성 메모리 장치(110) 내부의 상태들을 감지하고 낸드 셀 어레이(250)에서의 프로그래밍과 읽기 동작들을 제어한다. 컨트롤러(230)는 예를 들면, 하드웨어로 구 성되는 상태 머신(State machine)으로 구성될 수 있다. 부팅 동작시, 컨트롤러(230)는 내드 셀 어레이(250)에 저장된 부트 코드(Boot code)를 부트램(221) 또는 데이터램(222, 223)의 영역에 저장한다.
특히, 컨트롤러(230)는 부트 코드(Boot code)를 구성하는 데이터들의 속성을 참조하여 부트램(221)에 저장하거나 또는 데이터램(222)에 저장할 수 있다. 즉, 부트 코드(Boot code)를 구성하는 데이터들 중, 계속해서 호스트 측으로 제공되어야할 데이터는 부트램(221)에 저장한다. 그리고, 컨트롤러(230)는 부팅 동작시에 호스트 측으로 1회만 제공해도 되는 데이터는 데이터램(222)에 저장한다. 이 경우, 데이터램(222)에 저장된 부트 코드는 부팅 동작이 종료되면 삭제되어, 데이터램(222)의 양방향 버퍼링을 원활히 수행하는데 지장없도록 해야 할 것이다.
레지스터(240)는 호스트(Host)가 불휘발성 메모리 장치(110)로 입력하는 어드레스, 명령어, 설정Configuration) 정보, 인터럽트 상태 정보 등을 저장한다. 컨트롤러(230)는 레지스터(240)에 저장된 정보를 참조하여 불휘발성 메모리 장치(110)의 내부를 제어하게 될 것이다. 낸드 셀 어레이(250)는 호스트(Host)에서 저장하고자 하는 데이터 및 읽고자 하는 데이터가 저장되는 불휘발성의 플래시 메모리 셀 어레이이다. 물론, 플래시 메모리 셀 어레이에 데이터를 기입하거나 읽기 위한 제반 회로들(페이지 버퍼, 전압 발생기, 선택 회로 등)이 낸드 셀 어레이(250)에 더 포함됨은 자명하다.
이상의 구성을 포함하는 불휘발성 메모리 장치(110)는 대용량화 및 고집적화 추세에 따라 추가되거나 변경되는 다양한 구성을 초기화하기 위한 부트 코드를 융 통성있게 제공할 수 있다. 즉, 부트램(221)의 용량이 고정되어 있더라 하더라도, 부트램(221)의 일부 역할을 데이터램1(222) 또는 데이터램2(223)에 위임하여 부트 코드의 용량 증가라는 상황에 대해 유연하게 대처할 수 있다. 그리고, 부팅 동작이 종료되면, 데이터램1(222)이나 데이터램2(223)에 저장된 부트 코드는 삭제되어도 무방하므로, 듀얼 버퍼링 기능에는 지장을 주지 않는다.
도 3은 도 2에 도시된 본 발명의 버퍼램(220)의 부트 코드 저장 방법을 간략히 보여주는 블록도이다. 도 3을 참조하면, 부팅 동작시 부트 코드는 부트램(221) 또는 데이터램(222)을 경유하여 호스트에 전달된다.
파워 온(Power on)이나 리셋 동작시에, 낸드 셀 어레이(250)에 저장된 부트 코드(Boot code)는 컨트롤러(230)에 의해서 독출된다. 독출된 부트 코드(Boot code)는 컨트롤러(230)에 의해서 제 1 부트 코드(BC1)와 제 2 부트 코드(BC2)로 분류된다. 컨트롤러(230)는 제 1 부트 코드(BC1)를 부트램(221)에 기입한다. 그리고 컨트롤러(230)는 제 2 부트 코드(BC2)를 데이터램1(222)에 기입한다. 여기서, 설명의 편의를 위해서 제 2 부트 코드(BC2)가 데이터램1(222)에 기입되는 것으로 도시 및 설명되었으나, 제 2 부트 코드(BC2)가 버퍼링되는 위치는 데이터램1(222)에만 국한되지는 않는다. 즉, 제 2 부트 코드(BC2)는 데이터램2(223)에도 저장될 수 있다. 또는, 제 2 부트 코드(BC2)는 데이터램1(222) 및 데이터램(223)에 분할되어 저장될 수도 있을 것이다.
여기서, 제 1 부트 코드(BC1)는 부팅 동작 이후에도 계속해서 유지되어야 하는 부트 코드 데이터를 의미한다. 제 2 부트 코드(BC2)는 부팅 동작 시에만 제공되 어야하는 데이터를 나타낸다. 즉, 제 2 부트 코드(BC2)는 부팅 동작의 종료시에는 더이상 사용하지 않는 데이터일 수 있다. 부팅 동작이 종료되면, 제 2 부트 코드(BC2)는 데이터램1(222)에서 삭제되고, 따라서 데이터램의 버퍼링 동작에 지장을 주지 않는다.
도 4는 도 2의 컨트롤러(230, 도 2 참조)에 의한 부트 코드의 패치(Fetch) 방법을 보여주는 순서도이다. 도 4를 참조하면, 컨트롤러(230)는 부팅 동작시에 부트 코드를 분리하여 버퍼램(220, 도 2 참조)으로 복사한다. 좀더 자세히 설명하면 다음과 같다.
전원의 제공이나, 리셋 명령이 제공되면 본 발명의 부팅 동작이 시작된다(S10). 컨트롤러(230)는 낸드 셀 어레이(250, 도 2 참조)의 특정 영역에 프로그램된 부트 코드(Boot code)를 독출한다(S20). 컨트롤러(230)는 독출된 부트 코드를 버퍼램(220)에 저장하되, 부트 코드를 구성하는 서브 데이터들의 속성에 따라서 버퍼램(220)의 다른 영역에 저장한다. 즉, 컨트롤러(230)에 의해서 부팅 동작 이후에도 유지되어야 하는 속성의 제 1 부트 코드(BC1)는 부트램(221)에 저장된다. 반면, 부팅 동작시에만 사용되거나, 또는 1회만 읽혀지는 속성을 가지는 제 2 부트 코드(BC2)는 데이터램1(222)에 저장된다(S30).
여기서, 제 1 부트 코드(BC1)와 제 2 부트 코드(BC2)는 컨트롤러(230)에 의해서 식별되고, 분리될 수 있다. 이 경우, 상술한 부트 코드의 읽기 동작 이후에 제 1 부트 코드(BC1)와 제 2 부트 코드(BC2)를 구분하기 위한 단계가 더 포함되어야할 것이다.
또는, 제 1 부트 코드(BC1)와 제 2 부트 코드(BC2)는 낸드 셀 어레이(250)에 분리되여 저장되고, 부팅 동작시 분리되어 읽혀질 수 있을 것이다. 또한, 데이터램1(222)에 저장된 제 2 부트 코드(BC2)는 상술한 부트 코드에 의해서 데이터램1(222)이 리셋되는 동안 삭제될 수 있을 것이다.
도 5에는 본 발명의 부트 코드 관리 방법에 따라 구동되는 불휘발성 메모리 장치(310)를 포함하는 컴퓨팅 시스템(300)이 개략적으로 도시되어 있다. 본 발명에 따른 컴퓨팅 시스템(300)은 시스템 버스(360)에 전기적으로 연결된 마이크로프로세서(320), 램(330), 사용자 인터페이스(340), 베이스밴드 칩셋(Baseband chipset)과 같은 모뎀(350) 및 불휘발성 메모리 장치(310)를 포함한다. 불휘발성 메모리 장치(310)에는 부팅 동작시 부트 코드를 속성에 따라 부트램(221, 도 2 참조) 또는 데이터램1(222, 도 2 참조)에 저장하는 컨트롤러(230)를 포함할 것이다. 본 발명에 따른 컴퓨팅 시스템(300)이 모바일 장치인 경우, 컴퓨팅 시스템(300)의 동작 전압을 공급하기 위한 배터리(미도시됨)가 추가적으로 제공될 것이다.
비록 도면에는 도시되지 않았지만, 본 발명에 따른 컴퓨팅 시스템(300)에는 응용 칩셋(Application chipset), 카메라 이미지 프로세서(Camera Image Processor: CIS), 모바일 디램, 등이 더 제공될 수 있음은 이 분야의 통상적인 지식을 습득한 자들에게 자명하다.
본 발명의 불휘발성 메모리 장치(310)는 MMC 카드(Multimedia Card), SD 카드(Secure Digital Card), 마이크로 SD 카드, 메모리 스틱(Memory Stick), ID 카드, PCMCIA 카드, 칩 카드(Chip Card), USB 카드, 스마트 카드(Smart Card), CF 카 드(Compact Flash Card) 등으로 더 구성될 수 있다. 또한, 본 발명의 메모리 카드(310)는 반도체 디스크 장치(Solid Stage Disk:SSD)로 구성될 수 있다.
불휘발성 메모리 장치(310)는 전력이 차단되어도 저장된 데이터를 유지할 수 있다. 셀룰러 폰, PDA 디지털 카메라, 포터블 게임 콘솔, 그리고 MP3P와 같은 모바일 장치들의 사용 증가에 따라, 불휘발성 메모리 장치(310)는 데이터 스토리지 뿐만 아니라 코드 스토리지로서 널리 사용될 수 있다. 불휘발성 메모리 장치(310)를 포함하는 메모리 카드는, 또한, HDTV, DVD, 라우터, 그리고 GPS와 같은 홈 어플리케이션에 사용될 수 있다.
본 발명의 불휘발성 메모리 장치(310)는 임베디드 시스템에 적용가능하다. 임베디드(Embedded) 시스템은 다른 기기의 일부로 내장된 컴퓨팅 시스템으로써, 일반적인 컴퓨터와 달리 자신을 포함하고 있는 기기에 부과된 특정 목적의 컴퓨팅 작업만을 수행한다. 이를 위해, 임베디드 시스템은 중앙처리장치를 갖고 운영 체제를 필요로 하며, 운영체제로 애플리케이션을 실행하여 특정 작업을 수행한다. 일반적으로, 임베디드 시스템은 군사용기기, 산업용 기기, 통신 기기, 셋탑 박스, DTV, 디지털 카메라와 같은 가전기기 등을 제어하기 위해 내장된다.
본 발명에 따른 불휘발성 메모리 장치 그리고/또는 메모리 컨트롤러는 다양한 형태들의 패키지를 이용하여 실장될 수 있다. 예를 들면, 본 발명에 따른 플래시 메모리 장치 그리고/또는 메모리 컨트롤러는 PoP(Package on Package), Ball grid arrays(BGAs), Chip scale packages(CSPs), Plastic Leaded Chip Carrier(PLCC), Plastic Dual In-Line Package(PDIP), Die in Waffle Pack, Die in Wafer Form, Chip On Board(COB), Ceramic Dual In-Line Package(CERDIP), Plastic Metric Quad Flat Pack(MQFP), Thin Quad Flatpack(TQFP), Small Outline(SOIC), Shrink Small Outline Package(SSOP), Thin Small Outline(TSOP), Thin Quad Flatpack(TQFP), System In Package(SIP), Multi Chip Package(MCP), Wafer-level Fabricated Package(WFP), Wafer-Level Processed Stack Package(WSP), 등과 같은 패키지들을 이용하여 실장될 수 있다.
이상에서와 같이 도면과 명세서에서 최적 실시예가 개시되었다. 여기서 특정한 용어들이 사용되었으나, 이는 단지 본 발명을 설명하기 위한 목적에서 사용된 것이지 의미 한정이나 특허청구범위에 기재된 본 발명의 범위를 제한하기 위하여 사용된 것은 아니다. 그러므로 본 기술 분야의 통상의 지식을 가진 자라면 이로부터 다양한 변형 및 균등한 타 실시예가 가능하다는 점을 이해할 것이다. 따라서, 본 발명의 진정한 기술적 보호 범위는 첨부된 특허청구범위의 기술적 사상에 의해 정해져야 할 것이다.
도 1은 본 발명의 시스템을 보여주는 블록도;
도 2는 도 1의 불휘발성 메모리 장치의 구성을 간략히 보여주는 블록도;
도 3은 도 2의 버퍼램의 부트 코드 제공 방법을 보여주는 블록도;
도 4는 본 발명의 부트 코드 관리 방법을 보여주는 순서도; 및
도 5는 본 발명의 불휘발성 메모리 장치를 포함하는 컴퓨팅 시스템을 보여주는 블록도.
*도면의 주요 부분에 대한 부호의 설명*
100 : 불휘발성 메모리 장치 120 : 디램
130 : 프로세싱 유닛 210 : 호스트 인터페이스
220 : 버퍼램 221 : 부트램
222 : 데이터램1 223 : 데이터램2
230 : 컨트롤러 240 : 레지스터
250 : 낸드 셀 어레이 310 : 불휘발성 메모리 장치
320 : 프로세싱 유닛 330 : 램
340 : 유저 인터페이스 350 : 모뎀
360 : 시스템 버스

Claims (9)

  1. 부트 코드를 저장하는 셀 어레이;
    상기 부트 코드를 저장하기 위한 부트램;
    외부와 교환되는 유저 데이터를 저장하는 데이터램; 및
    부팅 동작시, 상기 셀 어레이로부터 제공받은 부트 코드를 상기 부트램과 상기 데이터램에 분할하여 저장하는 컨트롤러를 포함하되,
    상기 컨트롤러는 상기 부트램에는 상기 부팅 동작이 종료된 이후에도 유지될 제 1 부트 코드를, 상기 데이터램에는 상기 부팅 동작 시에만 사용되는 제 2 부트 코드를 저장하는 불휘발성 메모리 장치.
  2. 삭제
  3. 삭제
  4. 제 1 항에 있어서,
    상기 데이터램은 2개 이상의 접근 요청을 처리하는 듀얼 버퍼링 동작 모드를 지원하기 위한 제 1 데이터램 및 제 2 데이터램을 포함하는 불휘발성 메모리 장치.
  5. 제 1 항에 있어서,
    상기 부트램과 상기 데이터램은 각기 분리된 별개의 저장 영역으로 구성되는 불휘발성 메모리 장치.
  6. 부트램과 데이터램을 포함하는 불휘발성 메모리 장치의 부트 코드 관리 방법에 있어서:
    상기 부트 코드를 셀 어레이로부터 독출하는 단계; 및
    상기 부트 코드 중 부팅 동작이 종료된 이후에도 유지될 제 1 데이터를 상기 부트램에 저장하고, 상기 부트 코드 중 상기 부팅 동작 시에만 사용되는 제 2 데이터를 상기 데이터램에 저장하는 단계; 그리고
    상기 데이터램에 저장된 상기 제 2 데이터를 삭제하기 위한 상기 데이터램의 리셋 단계를 포함하는 부트 코드 관리 방법.
  7. 삭제
  8. 제 6 항에 있어서,
    상기 부트 코드를 상기 제 1 데이터와 상기 제 2 데이터로 구분하는 단계를 더 포함하는 관리 방법.
  9. 삭제
KR1020090012031A 2009-02-13 2009-02-13 버퍼램을 포함하는 불휘발성 메모리 장치 및 그것의 부트 코드 관리 방법 KR101542878B1 (ko)

Priority Applications (2)

Application Number Priority Date Filing Date Title
KR1020090012031A KR101542878B1 (ko) 2009-02-13 2009-02-13 버퍼램을 포함하는 불휘발성 메모리 장치 및 그것의 부트 코드 관리 방법
US12/657,016 US8433886B2 (en) 2009-02-13 2010-01-12 Nonvolatile memory device including a buffer RAM and boot code management method thereof

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020090012031A KR101542878B1 (ko) 2009-02-13 2009-02-13 버퍼램을 포함하는 불휘발성 메모리 장치 및 그것의 부트 코드 관리 방법

Publications (2)

Publication Number Publication Date
KR20100092752A KR20100092752A (ko) 2010-08-23
KR101542878B1 true KR101542878B1 (ko) 2015-08-07

Family

ID=42560892

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020090012031A KR101542878B1 (ko) 2009-02-13 2009-02-13 버퍼램을 포함하는 불휘발성 메모리 장치 및 그것의 부트 코드 관리 방법

Country Status (2)

Country Link
US (1) US8433886B2 (ko)
KR (1) KR101542878B1 (ko)

Families Citing this family (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20120060023A1 (en) * 2010-09-06 2012-03-08 Samsung Electronics Co., Ltd. Methods for booting an operating system using non-volatile memory
CN102173230B (zh) * 2011-01-24 2012-09-19 珠海天威技术开发有限公司 打印机显示语言初始化方法及耗材容器芯片
KR102108839B1 (ko) 2013-06-12 2020-05-29 삼성전자주식회사 불휘발성 메모리 장치를 포함하는 사용자 장치 및 그것의 데이터 쓰기 방법
CN107003864B (zh) 2015-01-29 2021-08-20 惠普发展公司,有限责任合伙企业 恢复片上系统设备
US10235183B2 (en) 2015-01-29 2019-03-19 Hewlett-Packard Development Company, L.P. Booting a system-on-a-chip device
KR102629408B1 (ko) * 2017-02-01 2024-01-24 삼성전자주식회사 반도체 시스템 및 반도체 장치의 동작 방법
US10474473B2 (en) * 2017-04-11 2019-11-12 Intel Corporation Technology to facilitate rapid booting with high-speed and low-speed nonvolatile memory
KR102569166B1 (ko) * 2020-12-03 2023-08-22 한국항공우주연구원 인공위성 탑재 컴퓨터에 포함되는 메모리의 블록 할당 시스템 및 그 할당 방법

Family Cites Families (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH11282685A (ja) 1998-03-27 1999-10-15 Matsushita Electric Ind Co Ltd 情報処理装置
JP3838840B2 (ja) 2000-01-06 2006-10-25 Necエレクトロニクス株式会社 コンピュータ
US20050204091A1 (en) * 2004-03-11 2005-09-15 Kilbuck Kevin M. Non-volatile memory with synchronous DRAM interface
KR100626371B1 (ko) * 2004-03-30 2006-09-20 삼성전자주식회사 캐쉬 읽기 동작을 수행하는 비휘발성 메모리 장치, 그것을포함한 메모리 시스템, 그리고 캐쉬 읽기 방법
WO2006026645A2 (en) * 2004-08-30 2006-03-09 Silicon Storage Technology, Inc. Systems and methods for providing nonvolatile memory management in wireless phones
KR100634436B1 (ko) * 2004-09-23 2006-10-16 삼성전자주식회사 멀티 칩 시스템 및 그것의 부트코드 페치 방법
EP1851771A2 (en) * 2005-02-11 2007-11-07 M-Systems Flash Disk Pioneers Ltd. Nand flash memory system architecture
KR100648292B1 (ko) * 2005-07-28 2006-11-23 삼성전자주식회사 오토 듀얼 버퍼링 방식의 메모리 장치
KR100804647B1 (ko) * 2005-11-15 2008-02-20 삼성전자주식회사 병렬형 플래시 인터페이스를 지원하는 직렬형 플래시메모리 장치를 이용한 시스템 부팅 방법 및 장치
US7849302B2 (en) * 2006-04-10 2010-12-07 Apple Inc. Direct boot arrangement using a NAND flash memory
KR100811559B1 (ko) 2006-08-08 2008-03-10 경북대학교 산학협력단 비휘발성 메모리의 데이터 저장영역 관리 방법 및 장치

Also Published As

Publication number Publication date
US8433886B2 (en) 2013-04-30
US20100211766A1 (en) 2010-08-19
KR20100092752A (ko) 2010-08-23

Similar Documents

Publication Publication Date Title
KR101542878B1 (ko) 버퍼램을 포함하는 불휘발성 메모리 장치 및 그것의 부트 코드 관리 방법
US9361985B2 (en) Nonvolatile memory devices including simultaneous impedance calibration and input command
US10936327B2 (en) Method of implementing magnetic random access memory (MRAM) for mobile system-on-chip boot
KR101844346B1 (ko) 메모리 시스템 및 메모리 시스템의 동작 방법
KR101583002B1 (ko) 컴퓨팅 시스템, 그것의 부팅 방법, 및 코드 데이터 피닝 방법
US20060245274A1 (en) Apparatus and method for controlling NAND flash memory
KR100758301B1 (ko) 메모리 카드 및 그것의 데이터 저장 방법
KR102395541B1 (ko) 메모리 컨트롤 유닛 및 그것을 포함하는 데이터 저장 장치
US20080320204A1 (en) Memory system and method with flash memory device
KR20070082229A (ko) 멀티프로세서 시스템 그리고 멀티프로세서 시스템의 초기화방법
CN105389122B (zh) 数据储存器件的操作方法
KR101913968B1 (ko) 마이크로 컴퓨터
US8745363B2 (en) Bootable volatile memory device, memory module and processing system comprising bootable volatile memory device, and method of booting processing system using bootable volatile memory device
US8275981B2 (en) Flash storage system and method for accessing a boot program
KR20150106144A (ko) 메모리 스왑 오퍼레이션 제어 방법 및 이를 적용하는 데이터 처리 시스템
US9652403B2 (en) Memory control unit and data storage device including the same
KR100534613B1 (ko) 플래쉬 메모리를 이용한 시스템 부팅 장치 및 그 방법
US8341334B2 (en) Flash memory apparatus and method for operating the same and data storage system
KR20080112601A (ko) 부트램과 데이터램을 공유하는 메모리 장치 및 상기 메모리장치를 포함하는 시스템 부팅 방법
JP2007317078A (ja) 不揮発性メモリ、メモリコントローラ、不揮発性記憶装置、及び不揮発性記憶システム
JP5823000B2 (ja) マイクロコンピュータ
JP2007334915A (ja) メモリカード

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
LAPS Lapse due to unpaid annual fee