KR20170038282A - 전자 장치 및 그 부팅 방법 - Google Patents

전자 장치 및 그 부팅 방법 Download PDF

Info

Publication number
KR20170038282A
KR20170038282A KR1020150137423A KR20150137423A KR20170038282A KR 20170038282 A KR20170038282 A KR 20170038282A KR 1020150137423 A KR1020150137423 A KR 1020150137423A KR 20150137423 A KR20150137423 A KR 20150137423A KR 20170038282 A KR20170038282 A KR 20170038282A
Authority
KR
South Korea
Prior art keywords
area
stored
electronic device
boot data
booting
Prior art date
Application number
KR1020150137423A
Other languages
English (en)
Other versions
KR102379202B1 (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 KR1020150137423A priority Critical patent/KR102379202B1/ko
Priority to US15/280,050 priority patent/US10146553B2/en
Priority to CN201680057162.6A priority patent/CN108351789B/zh
Priority to PCT/KR2016/010937 priority patent/WO2017057934A1/en
Publication of KR20170038282A publication Critical patent/KR20170038282A/ko
Application granted granted Critical
Publication of KR102379202B1 publication Critical patent/KR102379202B1/ko

Links

Images

Classifications

    • 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
    • G06F9/4406Loading of operating system
    • G06F9/4408Boot device selection
    • 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)
  • Software Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Stored Programmes (AREA)

Abstract

전자 장치가 개시된다. 전자 장치는, 제1 영역 및 상기 제1 영역과 데이터에 대한 저장 방식이 다른 제2 영역으로 구분되는 저장부 및 기설정된 이벤트가 발생하면, 상기 제1 영역에 저장된 부팅 데이터를 상기 제2 영역에 저장하고, 상기 부팅 데이터가 상기 제2 영역에 저장된 상태에서 상기 기설정된 이벤트가 재차 발생하면, 상기 제2 영역에 저장된 부팅 데이터를 이용하여 상기 전자 장치를 부팅하는 프로세서를 포함한다.

Description

전자 장치 및 그 부팅 방법{ELECTRONIC APPARATUS AND THE BOOTING METHOD THEREOF}
본 발명은 전자 장치 및 그 부팅 방법에 대한 것으로, 보다 상세하게는 디스크에 저장되는 부팅 데이터를 이용하여 부팅을 수행하는 전자 장치 및 그 부팅 방법이다.
전자 기술의 발달에 힘입어 다양한 유형의 디스플레이 장치가 개발되고 있다. 특히, TV, PC, 랩탑 컴퓨터, 태블릿 PC, 휴대폰, MP3 플레이어 등과 같은 전자 장치들은 대부분의 가정에서 사용될 정도로 보급율이 높다.
최근에는 더 새롭고 다양한 기능을 원하는 사용자의 니즈(needs)에 부합하기 위하여, 전자 장치를 좀 더 새로운 형태로 개발하기 위한 노력이 이루어지고 있다.
한편, 이러한 전자 장치는, 다양한 어플리케이션을 실행하기에 앞서, 전자 장치를 사용 가능한 상태로 만들기 위해, 디스크에 저장된 부팅에 이용되는 데이터를 메모리로 로딩하는 과정을 거쳐 부팅을 수행한다.
그러나, 부팅에 소요되는 시간은 전자 장치의 빠른 실행을 기대하는 사용자에게 불편함을 준다.
따라서, 전자 장치의 부팅 속도를 최소화하여 사용자의 편의성을 더욱 향상시키기 위한 방안의 필요성이 대두되었다.
본 발명은 상술한 필요성에 따른 것으로, 본 발명의 목적은, 향상된 부팅 속도를 가지는 전자 장치 및 그 부팅 방법을 제공함에 있다.
상술한 목적을 달성하기 위한 본 발명의 일 실시 예에 따른 전자 장치는, 제1 영역 및 상기 제1 영역과 데이터에 대한 저장 방식이 다른 제2 영역으로 구분되는 저장부 및 기설정된 이벤트가 발생하면, 상기 제1 영역에 저장된 부팅 데이터를 상기 제2 영역에 저장하고, 상기 부팅 데이터가 상기 제2 영역에 저장된 상태에서 상기 기설정된 이벤트가 재차 발생하면, 상기 제2 영역에 저장된 부팅 데이터를 이용하여 상기 전자 장치를 부팅하는 프로세서를 포함한다.
여기서, 상기 제1 영역은, 셀 당 저장되는 비트 수가 상기 제2 영역보다 많을 수 있다.
또한, 상기 제1 영역은, MLC(Multi Level Cell) 타입이고, 상기 제2 영역은. SLC(Single Level Cell) 타입일 수 있다.
여기서, 상기 프로세서는, 상기 기설정된 이벤트가 발생하면, 상기 제1 영역을 구성하는 복수의 블록(block)에 랜덤하게 저장된 부팅 데이터를 상기 제2 영역을 구성하는 복수의 블록에 순차적으로 저장할 수 있다.
또한, 상기 프로세서는, 상기 제1 영역에서 상기 부팅 데이터가 저장된 복수의 블록 각각과 상기 제2 영역에서 상기 부팅 데이터가 저장되는 복수의 블록 각각을 매핑하기 위한 메타데이터(metadata)를 생성하고, 상기 기설정된 이벤트가 재차 발생하면, 상기 메타데이터에 기초하여 상기 제2 영역에서 저장된 상기 부팅 데이터를 이용하여 상기 전자 장치를 부팅할 수 있다.
여기서, 상기 제2 영역은, 상기 제1 영역에 저장된 부팅 데이터를 저장하기 위한 최소의 저장 영역을 가질 수 있다.
또한, 상기 프로세서는, 상기 제2 영역에 저장된 부팅 데이터에 기초하여 상기 전자 장치의 부팅이 완료된 후, 상기 제1 영역에 저장된 데이터를 이용하여 상기 전자 장치를 동작시킬 수 있다.
이 경우, 상기 기설정된 이벤트는, 상기 전자 장치의 턴 온일 수 있다.
한편, 본 발명의 일 실시 예에 따른 전자 장치의 부팅 방법은, 기설정된 이벤트가 발생하면, 상기 제1 영역에 저장된 부팅 데이터를 상기 제2 영역에 저장하는 단계 및 상기 부팅 데이터가 상기 제2 영역에 저장된 상태에서 상기 기설정된 이벤트가 재차 발생하면, 상기 제2 영역에 저장된 부팅 데이터를 이용하여 상기 전자 장치를 부팅하는 단계를 포함한다.
여기서, 상기 제1 영역은, 셀 당 저장되는 비트 수가 상기 제2 영역보다 많을 수 있다.
또한, 상기 제1 영역은, MLC(Multi Level Cell) 타입이고, 상기 제2 영역은. SLC(Single Level Cell) 타입일 수 있다.
여기서, 부팅 방법은, 상기 기설정된 이벤트가 발생하면, 상기 제1 영역을 구성하는 복수의 블록(block)에 랜덤하게 저장된 부팅 데이터를 상기 제2 영역을 구성하는 복수의 블록에 순차적으로 저장하는 단계를 더 포함할 수 있다.
또한, 부팅 방법은, 상기 제1 영역에서 상기 부팅 데이터가 저장된 복수의 블록 각각과 상기 제2 영역에서 상기 부팅 데이터가 저장되는 복수의 블록 각각을 매핑하기 위한 메타데이터를 생성하는 단계 및 상기 기설정된 이벤트가 재차 발생하면, 상기 메타데이터에 기초하여 상기 제2 영역에서 저장된 상기 부팅 데이터를 이용하여 상기 전자 장치를 부팅하는 단계를 더 포함할 수 있다.
여기서, 상기 제2 영역은, 상기 제1 영역에 저장된 부팅 데이터를 저장하기 위한 최소의 저장 영역을 가질 수 있다.
또한, 부팅 방법은, 상기 제2 영역에 저장된 부팅 데이터에 기초하여 상기 전자 장치의 부팅이 완료된 후, 상기 제1 영역에 저장된 데이터를 이용하여 상기 전자 장치를 동작시키는 단계를 더 포함할 수 있다.
이 경우, 상기 기설정된 이벤트는, 상기 전자 장치의 턴 온일 수 있다.
상술한 바와 같이 본 발명의 다양한 실시 예에 따르면, 전자 장치의 부팅 속도를 향상시켜 사용자의 편의성을 더욱 향상시킬 수 있다.
도 1은 본 발명의 일 실시 예에 따른 전자 장치의 부팅을 설명하기 위한 도면이다.
도 2는 본 발명의 일 실시 예에 따른 전자 장치의 구성을 설명하기 위한 블록도이다.
도 3은 본 발명의 일 실시 예에 따른 eMMC 시스템을 설명하기 위한 블록도이다.
도 4는 본 발명의 일 실시 예에 따른 플래시 메모리를 설명하기 위한 블록도이다.
도 5는 본 발명의 일 실시 예에 따른 프로세서의 동작을 설명하기 위한 도면이다.
도 6은 본 발명의 일 실시 예에 따른 프로세서에 의해 생성된 메타데이터를 설명하기 위한 도면이다.
도 7은 본 발명의 일 실시 예에 따른 저장부, 프로세서 및 램의 동작을 설명하기 위한 플로우 차트이다.
도 8은 본 발명의 일 실시 예에 따른 전자 장치의 세부 구성을 나타내는 블록도이다.
도 9는 본원 발명의 일 실시 예에 따른 전자 장치의 부팅 방법을 설명하기 위한 흐름도이다.
이하 첨부된 도면들을 참조하여 본 발명의 일 실시 예를 보다 상세하게 설명한다.
도 1은 본 발명의 일 실시 예에 따른 전자 장치(미도시)의 부팅을 설명하기 위한 도면이다.
부팅은 전자 장치(미도시)를 시동하거나 재시동하는 작업을 말하는데, 도 1과 같이, 부팅은 보조기억장치(10)에 저장된 부팅 데이터를 주기억장치(20)에 로딩하는 과정을 포함한다.
여기서, 부팅 데이터는 시스템 소프트웨어일 수 있다. 시스템 소프트웨어의 예로는, 컴퓨터의 운영 체계, 컴파일러, 유틸리티 등이 있다.
보조기억장치(10)는 주기억장치에 기억시킬 수 없는 대량의 데이터를 기억하기 위한 장치이다. 예를 들면, 하드 디스크, 플래시 디스크 등이 있다. 구체적으로, 보조기억장치(10)는 시스템을 구동시키는 부트로더, 운영 체제, 어플리케이션, 사용자 컨텐츠 등이 저장될 수 있다.
주기억장치(20)는 현재 실행 중에 있는 프로그램과 프로그램이 필요로 하는 데이터를 일시적으로 저장하는 장치이다. 보조기억장치(10)에 저장된 프로그램 파일들은 주기억장치(20)에 로딩 되어야만 비로소 CPU에 의해 이용될 수 있다. 본 발명에서, 주기억장치(20)는 주로 램(RAM)을 말하나 여기에 제한되지는 않는다. 램은 다시 동적 램(DRAM), 정적 램(SRAM)으로 구분될 수 있다.
구체적으로, 운영 체제인 리눅스 커널을 예로 들면, 보조기억장치(10)에 저장된, 리눅스 커널은 디바이스를 초기화하고 구동이 가능하도록 세팅하는 부트로더에 의해 주기억장치(20)에 로딩 된다. 이후, 리눅스 커널은 특정 프로그램을 실행시키기 위해, 커널에 구비된 메모리 매니지먼트(memory management)를 이용하여 보조기억장치(10)에 저장된 특정 프로그램 파일을 주기억장치(20)에 로딩한다. 이때 이용되는 방법 중 하나로 페이지 폴트(page fault)가 이용된다. 페이지 폴트는 보조기억장치(10)에 저장된 데이터들을 페이지 단위(예를 들어, 4KB)로 분할하여, 각 데이터에서 프로그램 동작에 필요한 페이지 단위로 주기억장치(20)에 로딩하는 기법이다.
한편, 전자 장치는 PC(personal computer), 랩탑 컴퓨터(laptop computer), 이동 전화기, 스마트폰(smartphone), 태블릿(tablet) PC, PDA(personal digitalassistant), EDA (enterprise digital assistant), 디지털 스틸 카메라(digital still camera), 디지털 비디오 카메라(digital video camera), 오디오 장치(audiodevice), PMP(portable multimedia player), PND(personal navigation device 또는 portable navigation device), MP3 플레이어, 휴대용 게임 콘솔(handheld game console), 또는 e-북(e-book)으로 구현될 수 있다.
한편, 전자 장치(미도시)는 데이터에 대한 저장 방식이 서로 다른 복수의 영역을 포함하는 보조기억장치(10)를 이용하여 전자 장치(미도시)의 부팅 속도를 향상시킬 수 있는데, 이하에서는 도면을 참조하여 본 발명에 대하여 상세히 설명하도록 한다.
도 2는 본 발명의 일 실시 예에 따른 전자 장치(100)의 구성을 설명하기 위한 블록도이다.
도 2에 따르면, 전자 장치(100)는 저장부(110) 및 프로세서(120)를 포함한다.
저장부(110)는 다양한 데이터를 저장한다.
이러한 저장부(110)의 예로, 대표적으로 플래시 메모리를 들 수 있다. 플래시 메모리는 플로팅 게이트 트랜지스터로 구성된 각 셀에 데이터를 저장하는 방식의 비휘발성 메모리이다. 플래시 메모리의 셀은 플로팅 게이트에 전자를 채우거나 비우는 방식으로 데이터를 기록하거나 삭제하는 방식이다. 플래시 메모리는 NOR, NAND, DINOR, AND 형식의 메모리로 분류될 수 있다.
이하에서는, 저장부(110)의 일 예로 eMMC(embeded MultiMediaCard)를 들어 설명한다. 다만, SLC(Single Level Cell) 및 MLC(Multi Level Cell) 타입을 동시에 구비한 하이브리드 플래시 메모리와 같은 다양한 유형의 저장소도 본 발명의 저장부(110)로 이용될 수 있다. 또한, 본 발명의 저장부(110)는 향후 기술의 발전에 따라 개발되는 다양한 저장소를 이용하여 구현될 수 있음도 물론이다. SLC(Single Level Cell) 및 MLC(Multi Level Cell)에 대하여는, 후술할 도 4에서 상세히 설명한다.
멀티미디어 카드(MultiMediaCard(MMC)는 플래시(flash) 메모리의 메모리 카드 표준이다. eMMC는 JEDEC에서 표준으로 정한 내장형 MMC에 대한 표준이다. 구체적으로, eMMC 통신은 11개의 신호 버스(11-signal bus)에 기반한다. eMMC는 스마트폰과 같은 이동 통신 장치에 삽입되어 사용될 수 있다.
eMMC는 도 3 및 도 4를 참조하여 상세히 설명한다.
도 3은 본 발명의 일 실시 예에 따른 eMMC(110-1) 시스템을 설명하기 위한 블록도이다.
도 3을 참조하면, eMMC(110-1) 시스템은 호스트(310), 디바이스 컨트롤러(111) 및 플래시 메모리(112)를 포함한다.
호스트(310)는 eMMC(110-1)의 데이터 처리 동작, 예컨대 데이터 리드 동작 또는 데이터 라이트 동작 등을 제어할 수 있다. 여기서, 데이터 처리 동작은SDR(single data rate) 또는 DDR(double data rate) 로 수행될 수 있다.
호스트(310)는 CPU(central processing unit), 프로세서, 마이크로프로세서, (microprocessor) 또는 애플리케이션 프로세서(application processor) 등과 같이 데이터를 처리할 수 있는 데이터 처리 장치를 의미할 수 있고, 상기 데이터 처리 장치는 전자 장치(100)에 내장(embedded) 또는 구현될 수 있다.
이 경우, eMMC(110-1) 및 호스트(310)는 데이터 통신을 위해, 접속 수단들(예컨대, 패드들(pads), 핀들(pins), 버스(bus), 또는 통신 라인들)을 통하여 전기적으로 서로 접속될 수 있다.
디바이스 컨트롤러(111)는 호스트(310)와 플래시 메모리(112) 사이에서 데이터 통신을 제어한다.
구체적으로, 디바이스 컨트롤러(111)는 호스트(310)로부터 클락 신호(CLK)와 명령(CMD)을 수신하고, 수신된 명령(CMD)을 해석하고 해석의 결과에 따라 응답(RES)을 생성하고 생성된 응답(RES)과 응답(RES)에 기초하여 생성된 데이터를 호스트(310)로 전송한다.
이러한 디바이스 컨트롤러(111)에는 펌웨어(firmware)를 포함한다. 디바이스 컨트롤러(111)는 펌웨어를 이용하여, FTL(Flash Translation Layer), Wear-leveling, BBM(Bad Block Management)fmf 동작하고 NAND Array 를 channel 및 way로 나누어 pure NAND에 비해 높은 성능을 끌어낼 수 있다.
플래시 메모리(112)는 데이터를 저장한다. 특히, 플래시 메모리(112)(여기서, 플래시 메모리(112)는 eMMC(110-1)의 일 부분)는 제1 영역(112-1) 및 제1 영역(112-1)과 데이터에 대한 저장 방식이 다른 제2 영역(112-2)으로 구분될 수 있다. 구체적으로, 제1 영역(112-1)은, 셀 당 저장되는 비트 수가 제2 영역(112-2)보다 많을 수 있다. 이를 설명하기 위해, 도 4를 참조하여, 상세히 설명한다.
도 4는 본 발명의 일 실시 예에 따른 플래시 메모리(112)를 설명하기 위한 블록도이다.
도 4를 참조하면, 플래시 메모리(112)는 제1 영역(112-1) 및 제2 영역(112-2)으로 구분될 수 있다. 예를 들면, 제1 영역(112-1)은, MLC(Multi Level Cell) 타입이고, 제2 영역(112-2)은. SLC(Single Level Cell) 타입일 수 있다.
구체적으로, 플래시 메모리(112)는 Nand type이 MLC 타입으로 설정되어 있다. 하지만, 플래시 메모리(112)는 블록(block) 단위에 기초하여, MLC 타입의 일부 또는 전부를 SLC 타입으로 변경될 수 있다. 예를 들면, 1 개의 MLC 블록은 1개의 SLC 블록으로 대체될 수 있다. 블록은, 플래시 메모리(112)에서 데이터가 물리적 저장소에 저장되는 단위이다.
여기서, SLC는 "Single Level Cell"의 약자로 Cell당 1bit를 표현할 수 있다. MLC는 "Multi Level Cell"의 약자로 Cell당 2 bit를 표현할 수 있다. 일반적으로, MLC 타입을 SLC 타입으로 변경할 경우, SLC 타입은 MLC 타입 대비 약 2배 가량의 read/write 속도와 10배 이상의 안정성이 높아질 수 있다.
한편, SLC에 비해 데이터를 더 많이 저장할 수 있는 MLC의 용량을 최대한 확보하기 위하여, 제2 영역(112-2)(112-2)의 MLC가 SLC로 변환되는 양은 제1 영역(112-1)(112-1)에 저장된 부팅 데이터를 저장하기 위한 최소의 저장 영역일 수 있다.
한편, 플래시 메모리(112)를 SLC 타입 및 MLC 타입인 영역으로 나누는 파티션은 eMMC 제조 시, 전자 장치(100)에 제조 시 또는 전자 장치(100) 구동시에 설정이 가능하다.
한편, 프로세서(120)는 전자 장치(100)의 전반적인 동작을 제어한다.
프로세서(120)는 기설정된 이벤트가 발생하면, 제1 영역(112-1)에 저장된 부팅 데이터를 제2 영역(112-2)에 저장할 수 있다. 여기서, 기설정된 이벤트는 전자 장치(100)의 턴 온일 수 있다.
구체적으로, 프로세서(120)는, 기설정된 이벤트가 발생하면, 제1 영역(112-1)을 구성하는 복수의 블록에 랜덤하게 저장된 부팅 데이터를 제2 영역(112-2)을 구성하는 복수의 블록에 순차적으로 저장할 수 있다. 이를, 도 5를 참조하여 상세하게 설명한다.
도 5는 본 발명의 일 실시 예에 따른 프로세서(120)의 동작을 설명하기 위한 도면이다.
도 5를 참조하면, 프로세서(120)는, 기설정된 이벤트가 발생되면(예를 들면, 부팅 입력), 디바이스 컨트롤러(111)를 이용하여 제1 영역(112-1)(112-1)에 저장된 부팅 데이터(블록 1 내지 6)를 독출한다. 이때, 프로세서(120)는 독출된 부팅 데이터를 순차적으로 제2 영역(112-2)의 블록들에 저장한다.
이와 함께, 프로세서(120)는 독출된 제1 영역(112-1)에 저장된 부팅 데이터를 램(130)의 페이지(페이지 1 내지 페이지 6)에 저장한다. 여기서, 페이지는 블록에 저장된 부팅 데이터의 압축이 해제된 형태로서, 램(130)에서 처리되는 파일의 묶음 단위이다. 블록에는 복수 개의 페이지에 대응되는 파일이 압축형태로 저장될 수 있으나, 여기에서는, 1 내지 6까지의 페이지 및 1 내지 6까지의 블록에 각각 저장되는 파일은 순번대로 1 대 1로 매칭되는 것으로 가정한다.
또한, 프로세서(120)는, 부팅 데이터가 제2 영역(112-2)에 저장된 상태에서 기설정된 이벤트가 재차 발생하면, 제2 영역(112-2)에 저장된 부팅 데이터를 이용하여 전자 장치(100)를 부팅할 수 있다.
구체적으로, 프로세서(120)는 제1 영역(112-1)에서 부팅 데이터가 저장된 복수의 블록 각각과 제2 영역(112-2)에서 부팅 데이터가 저장되는 복수의 블록 각각을 매핑하기 위한 메타데이터(metadata)(미도시)를 생성하고, 기설정된 이벤트가 재차 발생하면, 메타데이터(미도시)에 기초하여 제2 영역(112-2)에서 저장된 부팅 데이터를 이용하여 전자 장치(100)를 부팅할 수 있다. 이를, 도 6을 참조하여 설명한다.
도 6은 본 발명의 일 실시 예에 따른 프로세서(120)에 의해 생성된 메타데이터(600)를 설명하기 위한 도면이다.
도 6을 참조하면, 프로세서(120)는 부팅 데이터가 저장된 제1 영역(112-1)의 블록 및 부팅 데이터가 저장된 제2 영역(112-2)의 블록을 매칭시키는 메타데이터(600)를 생성할 수 있다. 여기서, 설명의 편의를 위해, 메타데이터(600)는 표(600) 형식으로 표현된다.
예를 들면, 프로세서(120)는 이벤트가 발생하여 부팅을 수행하는 경우, 도 6의 참조번호 610에 있는 부분을 생성할 수 있다.
구체적으로, 프로세서(120)는 제1 영역(112-1)의 블록 1을 제2 영역(112-2)에 저장하는 경우, 블록 1 이 저장된 제1 영역(112-1)의 해당 블록의 주소(x10)를 블록 1이 저장된 제2 영역(112-2)의 해당 블록의 주소(y1)와 매칭시켜 저장한다. 프로세서(120)는 블록 2 내지 6에 대해서도 같은 과정을 반복하여 주소를 저장한다.
그 후, 기설정된 이벤트가 재차 발생하는 경우, 프로세서(120)는, 메타데이터(600)를 참조하여, 제2 영역(112-2)의 블록 주소 y1에서 블록 1을 찾아 램(130)의 페이지 1에 저장하는 등, 블록 1 내지 6을 제2 영역(112-2)에서 읽어들여 페이지 1 내지 6에 각각 로딩하여 부팅 과정을 진행한다.
부팅 과정이 완료되면, 프로세서(120)는, 제2 영역(112-2)에 저장된 부팅 데이터에 기초하여 전자 장치(100)의 부팅이 완료된 후, 제1 영역(112-1)에 저장된 데이터를 이용하여 전자 장치(100)를 동작시킬 수 있다.
한편, 기설정된 이벤트는 턴 온일 수 있는데, 프로세서(120)는 부트 스크립트에 의해 설정된 flag 파일을 이용하여, 턴 온 동작이 첫 번째인지 또는 두 번째 이상인지 여부를 확인할 수 있다. 여기서, 스크립트는 메인 어플리케이션에 의해 번역되거나 수행되는 프로그램이나 명령어들의 나열이다. 또한, 프로세서(120)는 I/O control command에 기초하여, 제1 영역(112-1)에 저장된 블록을 제2 영역(112-2)으로 저장하는 시작과 끝 및 생성된 메타데이터(600)를 참조해야하는 시작과 끝을 판단할 수 있다.
도 7은 본 발명의 일 실시 예에 따른 저장부(110), 프로세서(120) 및 램(130)의 동작을 설명하기 위한 플로우 차트이다.
먼저, 기설정된 이벤트가 발생되면(S610), 프로세서(120)는 제1 영역(112-1)에 저장된 부팅 데이터을 제2 영역(112-2)으로 이동하여 저장하는 요청 및 해당 부팅 데이터의 전송 요청을 저장부(110)에 전송한다(S611). 요청을 수신한 저장부(110)는 제1 영역(112-1)에 저장된 부팅 데이터을 제2 영역(112-2)으로 이동하여 저장한다(S620). 또한, 저장부(110)는 해당 부팅 데이터 및 해당 부팅 데이터이 저장된 제2 영역(112-2)의 블록에 대응되는 주소를 프로세서(120)에 전송한다(S621). 한편, 부팅 데이터를 전달받은 프로세서(120)는 램(130)으로 부팅 데이터를 로딩 한다(S612). 또한, 프로세서(120)는 전달받은 부팅 데이터가 저장된 제2 영역(112-2)의 블록에 대응되는 주소 및 부팅 데이터가 저장된 제1 영역(112-1)의 블록에 대응되는 주소를 매핑하는 메타데이터(600)를 생성한다(S613).
기설정된 이벤트가 재차 발생되면(S614), 프로세서(120)는 생성된 메타데이터(600)를 참조하여, 제2 영역(112-2)에 저장된 부팅 데이터에 대한 전송을 요청한다(S615). 이에 대응하여, 저장부(110)는 제1 영역(112-1)에 저장된 부팅 데이터을 프로세서(120)에 전송한다(S622). 프로세서(120)는 전송받은 부팅 데이터을 램(130)으로 업로드 하는 과정을 거쳐 부팅을 완료한다.
한편, 부팅을 완료한 프로세서(120)는 각종 어플리케이션의 요청에 따라, 제1 영역(112-1)에 저장된 파일을 요청한다(S617). 파일이 전송되면(S623), 프로세서(120)는 해당 파일을 램(130)에 로딩한다(S618).
이처럼, 제2 영역(예를 들어, SLC)에 저장된 부팅 데이터를 이용하여 부팅을 수행하는 경우, 제1 영역(예를 들어, MLC)에 저장된 부팅 데이터를 이용하여 부팅을 수행하는 경우보다 더욱더 향상된 부팅 속도로 부팅을 수행할 수 있다.
또한, 제2 영역의 연속된 블록에 부팅 데이터를 저장함으로써, 부팅 데이터를 순차적으로 로딩할 수 있기 때문에, 부팅 속도 향상에 큰 도움이 된다.
도 8은 본 발명의 일 실시 예에 따른 전자 장치(100)의 세부 구성을 나타내는 블록도이다.
도 8에 따르면, 전자 장치(100)는, 저장부(110), 프로세서(120), 램(130), 통신부(140) 및 디스플레이(150)를 포함한다. 다만, 도 8에 도시된 구성 중 상술한 구성과 중복되는 구성에 대해서는 자세한 설명을 생략하도록 한다.
저장부(110)는 전자 장치(100)를 구동시키기 위한 O/S(Operating System) 소프트웨어 모듈, 각종 멀티미디어 컨텐츠와 같은 다양한 데이터를 저장할 수 있다.
특히, 저장부(110)는 부팅 데이터를 제1 영역(112-1)에 저장하고, 프로세서(120)의 명령에 의해 부팅 데이터를 제2 영역(112-2)에 이동하여 저장할 수 있다. 또한, 저장부(110)는 프로세서(120)의 명령에 의해 해당 부팅 데이터를 프로세서(120)에 전달할 수 있다.
한편, 도 8에서, 램(130)은 본 발명의 각 구성과의 관계를 용이하게 설명하기 위하여 프로세서(120) 외부에 존재하는 것으로 도시하였으나, 프로세서(120) 내부에 존재하는 것으로 정의하는 것도 물론 가능하다. 여기에서는, 램(130)을 프로세서(120)와 함께 설명하도록 한다.
프로세서(120)의 동작은 저장부(110)에 저장된 프로그램에 의해 이루어질 수 있다.
구체적으로, 프로세서(120)는 RAM(130), ROM(121), 메인 CPU(122), 그래픽 처리부(123), 제1 내지 n 인터페이스(124-1 ~ 124-n), 버스(125)를 포함한다.
RAM(130), ROM(121), 메인 CPU(122), 그래픽 처리부(123), 제1 내지 n 인터페이스(124-1 ~ 124-n) 등은 버스(125)를 통해 서로 연결될 수 있다.
제1 내지 n 인터페이스(124-1 내지 124-n)는 상술한 각종 구성요소들과 연결된다. 인터페이스들 중 하나는 네트워크를 통해 외부 장치와 연결되는 네트워크 인터페이스가 될 수도 있다.
ROM(121)에는 시스템 부팅을 위한 명령어 세트 등이 저장된다. 턴 온 명령이 입력되어 전원이 공급되면, 메인 CPU(122)는 ROM(121)에 저장된 명령어에 따라 저장부(110)에 저장된 O/S를 RAM(130)에 복사하고, O/S를 실행시켜 시스템을 부팅시킨다. 부팅이 완료되면, 메인 CPU(122)는 저장부(110)에 저장된 각종 어플리케이션 프로그램을 RAM(130)에 복사하고, RAM(130)에 복사된 어플리케이션 프로그램을 실행시켜 각종 동작을 수행한다.
메인 CPU(122)는 저장부(110)에 액세스하여, 저장부(110)에 저장된 O/S를 이용하여 부팅을 수행한다. 그리고, CPU(122)는 저장부(110)에 저장된 각종 프로그램, 컨텐츠, 데이터 등을 이용하여 다양한 동작을 수행한다.
그래픽 처리부(123)는 연산부(미도시) 및 렌더링부(미도시)를 이용하여 아이콘, 이미지, 텍스트 등과 같은 다양한 객체를 포함하는 화면을 생성한다. 연산부(미도시)는 수신된 제어 명령에 기초하여 화면의 레이아웃에 따라 각 객체들이 표시될 좌표값, 형태, 크기, 컬러 등과 같은 속성값을 연산한다. 렌더링부(미도시)는 연산부(미도시)에서 연산한 속성값에 기초하여 객체를 포함하는 다양한 레이아웃의 화면을 생성한다.
통신부(140)는 외부 장치와 통신을 수행한다. 여기서, 통신부(140)는 BT(BlueTooth), WI-FI(Wireless Fidelity), Zigbee, IR(Infrared), Serial Interface, USB(Universal Serial Bus), NFC(Near Field Communication) 등과 같은 다양한 통신 방식을 통해 외부 장치와 통신을 수행할 수 있다.
디스플레이(150)는 다양한 영상을 출력한다. 일 예로, 디스플레이(150)는 그래픽 처리부(124)에서 생성된 다양한 화면을 디스플레이할 수 있다.
이를 위해, 디스플레이(150)는 액정 표시 장치(Liquid Crystal Display, LCD), 유기 전기 발광 다이오드(Organic Light Emitting Display, OLED) 등으로 구현될 수 있다.
한편, 디스플레이(150)는 그 구현 방식에 따라서 부가적인 구성을 추가적으로 포함할 수 있다. 예를 들어, 디스플레이(150)가 액정 방식인 경우, LCD 디스플레이 패널, LCD 디스플레이 패널에 광을 공급하는 백라이트 유닛, 패널을 구동시키는 패널 구동기판 등을 포함할 수 있다.
그 밖에 전자 장치(100)는 오디오 데이터에 대한 처리를 수행하는 오디오 처리부(미도시), 비디오 데이터에 대한 처리를 수행하는 비디오 처리부(미도시), 오디오 처리부(미도시)에서 처리된 각종 오디오 데이터 뿐만 아니라 각종 알림 음이나 음성 메시지 등을 출력하는 스피커(미도시), 사용자 음성이나 기타 소리를 입력받아 오디오 데이터로 변환하기 위한 마이크(미도시) 등을 더 포함할 수 있다.
도 9는 본원 발명의 일 실시 예에 따른 전자 장치(100)의 부팅 방법을 설명하기 위한 흐름도이다.
먼저, 부팅 방법은, 기설정된 이벤트가 발생하면, 제1 영역(112-1)에 저장된 부팅 데이터를 제2 영역(112-2)에 저장하고(S910), 부팅 데이터가 제2 영역(112-2)에 저장된 상태에서 기설정된 이벤트가 재차 발생하면, 제2 영역(112-2)에 저장된 부팅 데이터를 이용하여 전자 장치(100)를 부팅한다(S910). 이 경우, 전자 장치(100)는, 제1 영역(112-1) 및 제1 영역(112-1)과 데이터에 대한 저장 방식이 다른 제2 영역(112-2)으로 구분되는 저장부(110)를 구비한다.
여기서, 제1 영역(112-1)은, 셀 당 저장되는 비트 수가 제2 영역(112-2)보다 많을 수 있다.
또한, 제1 영역(112-1)은, MLC(Multi Level Cell) 타입이고, 제2 영역(112-2)은. SLC(Single Level Cell) 타입일 수 있다.
여기서, 부팅 방법은, 기설정된 이벤트가 발생하면, 제1 영역(112-1)을 구성하는 복수의 블록(block)에 랜덤하게 저장된 부팅 데이터를 제2 영역(112-2)을 구성하는 복수의 블록에 순차적으로 저장하는 단계를 더 포함할 수 있다.
또한, 부팅 방법은, 제1 영역(112-1)에서 부팅 데이터가 저장된 복수의 블록 각각과 제2 영역(112-2)에서 부팅 데이터가 저장되는 복수의 블록 각각을 매핑하기 위한 메타데이터(metadata)를 생성하는 단계 및 기설정된 이벤트가 재차 발생하면, 메타데이터에 기초하여 제2 영역(112-2)에서 저장된 부팅 데이터를 이용하여 전자 장치(100)를 부팅하는 단계를 더 포함할 수 있다.
또한, 제2 영역(112-2)은, 제1 영역(112-1)에 저장된 부팅 데이터를 저장하기 위한 최소의 저장 영역을 가질 수 있다.
또한, 부팅 방법은, 제2 영역(112-2)에 저장된 부팅 데이터에 기초하여 전자 장치(100)의 부팅이 완료된 후, 제1 영역(112-1)에 저장된 데이터를 이용하여 전자 장치(100)를 동작시키는 단계를 더 포함할 수 있다.
또한, 기설정된 이벤트는, 전자 장치(100)의 턴 온일 수 있다.
한편, 상술한 본 발명의 다양한 실시 예들에 따른 전자 장치(100)의 설정 방법은 컴퓨터로 실행 가능한 프로그램 코드로 구현되어 다양한 비 일시적 판독 가능 매체(non-transitory computer readable medium)에 저장된 상태로 프로세서(120)에 의해 실행되도록 각 서버 또는 기기들에 제공될 수 있다.
일 예로, 기설정된 이벤트가 발생하면, 제1 영역(112-1)에 저장된 부팅 데이터를 제2 영역(112-2)에 저장하는 단계 및 부팅 데이터가 제2 영역(112-2)에 저장된 상태에서 기설정된 이벤트가 재차 발생하면, 제2 영역(112-2)에 저장된 부팅 데이터를 이용하여 전자 장치(100)를 부팅하는 단계를 수행하는 프로그램이 저장된 비 일시적 판독 가능 매체(non-transitory computer readable medium)가 제공될 수 있다.
비 일시적 판독 가능 매체란 레지스터, 캐쉬, 메모리 등과 같이 짧은 순간 동안 데이터를 저장하는 매체가 아니라 반영구적으로 데이터를 저장하며, 기기에 의해 판독(reading)이 가능한 매체를 의미한다. 구체적으로는, 상술한 다양한 어플리케이션 또는 프로그램들은 CD, DVD, 하드 디스크, 블루레이 디스크, USB, 메모리카드, ROM 등과 같은 비 일시적 판독 가능 매체에 저장되어 제공될 수 있다.
또한, 이상에서는 본 발명의 바람직한 실시 예에 대하여 도시하고 설명하였지만, 본 발명은 상술한 특정의 실시 예에 한정되지 아니하며, 청구범위에서 청구하는 본 발명의 요지를 벗어남이 없이 당해 발명이 속하는 기술분야에서 통상의 지식을 가진 자에 의해 다양한 변형실시가 가능한 것은 물론이고, 이러한 변형실시들은 본 발명의 기술적 사상이나 전망으로부터 개별적으로 이해되어져서는 안될 것이다.
100: 전자 장치 110: 저장부
120: 프로세서 130: 램
140: 통신부 150: 디스플레이

Claims (16)

  1. 전자 장치에 있어서,
    제1 영역 및 상기 제1 영역과 데이터에 대한 저장 방식이 다른 제2 영역으로 구분되는 저장부; 및
    기설정된 이벤트가 발생하면, 상기 제1 영역에 저장된 부팅 데이터를 상기 제2 영역에 저장하고, 상기 부팅 데이터가 상기 제2 영역에 저장된 상태에서 상기 기설정된 이벤트가 재차 발생하면, 상기 제2 영역에 저장된 부팅 데이터를 이용하여 상기 전자 장치를 부팅하는 프로세서;를 포함하는 전자 장치.
  2. 제1항에 있어서,
    상기 제1 영역은,
    셀 당 저장되는 비트 수가 상기 제2 영역보다 많은 전자 장치.
  3. 제1항에 있어서,
    상기 제1 영역은,
    MLC(Multi Level Cell) 타입이고,
    상기 제2 영역은.
    SLC(Single Level Cell) 타입인 전자 장치.
  4. 제1항에 있어서,
    상기 프로세서는,
    상기 기설정된 이벤트가 발생하면, 상기 제1 영역을 구성하는 복수의 블록(block)에 랜덤하게 저장된 부팅 데이터를 상기 제2 영역을 구성하는 복수의 블록에 순차적으로 저장하는 전자 장치.
  5. 제4항에 있어서,
    상기 프로세서는,
    상기 제1 영역에서 상기 부팅 데이터가 저장된 복수의 블록 각각과 상기 제2 영역에서 상기 부팅 데이터가 저장되는 복수의 블록 각각을 매핑하기 위한 메타데이터(metadata)를 생성하고, 상기 기설정된 이벤트가 재차 발생하면, 상기 메타데이터에 기초하여 상기 제2 영역에서 저장된 상기 부팅 데이터를 이용하여 상기 전자 장치를 부팅하는 전자 장치.
  6. 제1항에 있어서,
    상기 제2 영역은,
    상기 제1 영역에 저장된 부팅 데이터를 저장하기 위한 최소의 저장 영역을 갖는 전자 장치.
  7. 제1항에 있어서,
    상기 프로세서는,
    상기 제2 영역에 저장된 부팅 데이터에 기초하여 상기 전자 장치의 부팅이 완료된 후, 상기 제1 영역에 저장된 데이터를 이용하여 상기 전자 장치를 동작시키는 전자 장치.
  8. 제1항에 있어서,
    상기 기설정된 이벤트는,
    상기 전자 장치의 턴 온인 전자 장치.
  9. 제1 영역 및 상기 제1 영역과 데이터에 대한 저장 방식이 다른 제2 영역으로 구분되는 저장부를 구비한 전자 장치의 부팅 방법에 있어서,
    기설정된 이벤트가 발생하면, 상기 제1 영역에 저장된 부팅 데이터를 상기 제2 영역에 저장하는 단계; 및
    상기 부팅 데이터가 상기 제2 영역에 저장된 상태에서 상기 기설정된 이벤트가 재차 발생하면, 상기 제2 영역에 저장된 부팅 데이터를 이용하여 상기 전자 장치를 부팅하는 단계;를 포함하는 부팅 방법.
  10. 제9항에 있어서,
    상기 제1 영역은,
    셀 당 저장되는 비트 수가 상기 제2 영역보다 많은 부팅 방법.
  11. 제9항에 있어서,
    상기 제1 영역은,
    MLC(Multi Level Cell) 타입이고,
    상기 제2 영역은.
    SLC(Single Level Cell) 타입인 부팅 방법.
  12. 제9항에 있어서,
    상기 기설정된 이벤트가 발생하면, 상기 제1 영역을 구성하는 복수의 블록(block)에 랜덤하게 저장된 부팅 데이터를 상기 제2 영역을 구성하는 복수의 블록에 순차적으로 저장하는 단계;를 더 포함하는 부팅 방법.
  13. 제12항에 있어서,
    상기 제1 영역에서 상기 부팅 데이터가 저장된 복수의 블록 각각과 상기 제2 영역에서 상기 부팅 데이터가 저장되는 복수의 블록 각각을 매핑하기 위한 메타데이터(metadata)를 생성하는 단계; 및
    상기 기설정된 이벤트가 재차 발생하면, 상기 메타데이터에 기초하여 상기 제2 영역에서 저장된 상기 부팅 데이터를 이용하여 상기 전자 장치를 부팅하는 단계;를 더 포함하는 부팅 방법.
  14. 제9항에 있어서,
    상기 제2 영역은,
    상기 제1 영역에 저장된 부팅 데이터를 저장하기 위한 최소의 저장 영역을 갖는 부팅 방법.
  15. 제9항에 있어서,
    상기 제2 영역에 저장된 부팅 데이터에 기초하여 상기 전자 장치의 부팅이 완료된 후, 상기 제1 영역에 저장된 데이터를 이용하여 상기 전자 장치를 동작시키는 단계;를 더 포함하는 부팅 방법.
  16. 제9항에 있어서,
    상기 기설정된 이벤트는,
    상기 전자 장치의 턴 온인 부팅 방법.
KR1020150137423A 2015-09-30 2015-09-30 전자 장치 및 그 부팅 방법 KR102379202B1 (ko)

Priority Applications (4)

Application Number Priority Date Filing Date Title
KR1020150137423A KR102379202B1 (ko) 2015-09-30 2015-09-30 전자 장치 및 그 부팅 방법
US15/280,050 US10146553B2 (en) 2015-09-30 2016-09-29 Electronic apparatus and booting method thereof
CN201680057162.6A CN108351789B (zh) 2015-09-30 2016-09-30 电子装置及其启动方法
PCT/KR2016/010937 WO2017057934A1 (en) 2015-09-30 2016-09-30 Electronic apparatus and booting method thereof

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020150137423A KR102379202B1 (ko) 2015-09-30 2015-09-30 전자 장치 및 그 부팅 방법

Publications (2)

Publication Number Publication Date
KR20170038282A true KR20170038282A (ko) 2017-04-07
KR102379202B1 KR102379202B1 (ko) 2022-03-28

Family

ID=58409524

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020150137423A KR102379202B1 (ko) 2015-09-30 2015-09-30 전자 장치 및 그 부팅 방법

Country Status (4)

Country Link
US (1) US10146553B2 (ko)
KR (1) KR102379202B1 (ko)
CN (1) CN108351789B (ko)
WO (1) WO2017057934A1 (ko)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP6723863B2 (ja) * 2016-08-01 2020-07-15 オリンパス株式会社 組み込みシステム、撮影機器及びリフレッシュ方法
KR20200142219A (ko) 2019-06-12 2020-12-22 삼성전자주식회사 전자 장치 및 그의 저장 공간 이용 방법

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20080215800A1 (en) * 2000-01-06 2008-09-04 Super Talent Electronics, Inc. Hybrid SSD Using A Combination of SLC and MLC Flash Memory Arrays
US20110283051A1 (en) * 2010-05-14 2011-11-17 Sandisk Il Ltd. Moving executable code from a first region of a non-volatile memory to a second region of the non-volatile memory
US20130262848A1 (en) * 2012-03-27 2013-10-03 Asrock Inc. Electronic apparatus and booting method
US20150067242A1 (en) * 2013-08-28 2015-03-05 Kyocera Document Solutions Inc. Information processing device

Family Cites Families (13)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP4556653B2 (ja) * 2004-12-10 2010-10-06 株式会社デンソー 車載電子制御装置のプログラム書換システム、車載電子制御装置のコンピュータ用ブートローダ、記録媒体、及び車載電子制御装置
US8082431B2 (en) 2006-09-29 2011-12-20 Intel Corporation System and method for increasing platform boot efficiency
US8060719B2 (en) 2008-05-28 2011-11-15 Micron Technology, Inc. Hybrid memory management
CN101605348B (zh) * 2008-11-24 2012-07-18 中国移动通信集团广东有限公司 一种数据业务模拟方法及应用系统
KR101602360B1 (ko) 2009-07-14 2016-03-10 엘지전자 주식회사 시스템 고속 부팅 장치 및 방법
KR20120093385A (ko) 2009-12-16 2012-08-22 샌디스크 아이엘 엘티디 멀티레벨 셀들에 기록된 데이터를 위한 보조 패리티 비트
KR101620349B1 (ko) 2009-12-30 2016-05-23 삼성전자주식회사 부팅가능한 휘발성 메모리 장치와 그를 구비한 메모리 모듈 및 프로세싱 시스템, 및 그를 이용한 프로세싱 시스템 부팅 방법
CN102122531A (zh) * 2011-01-27 2011-07-13 浪潮电子信息产业股份有限公司 一种提高大容量固态硬盘使用稳定性的方法
CN102890634B (zh) * 2011-07-19 2016-01-27 联想(北京)有限公司 终端设备和启动终端设备的操作系统的方法
CN102591686A (zh) * 2011-12-30 2012-07-18 记忆科技(深圳)有限公司 基于固态硬盘的系统启动方法及固态硬盘
CN103970675A (zh) 2013-01-29 2014-08-06 Lsi公司 用于使引导操作系统加速的快速引导列表
EP3028145A1 (en) 2013-07-31 2016-06-08 Marvell World Trade Ltd. Parallelizing boot operations
US10338826B2 (en) 2013-10-15 2019-07-02 Cypress Semiconductor Corporation Managed-NAND with embedded random-access non-volatile memory

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20080215800A1 (en) * 2000-01-06 2008-09-04 Super Talent Electronics, Inc. Hybrid SSD Using A Combination of SLC and MLC Flash Memory Arrays
US20110283051A1 (en) * 2010-05-14 2011-11-17 Sandisk Il Ltd. Moving executable code from a first region of a non-volatile memory to a second region of the non-volatile memory
US20130262848A1 (en) * 2012-03-27 2013-10-03 Asrock Inc. Electronic apparatus and booting method
US20150067242A1 (en) * 2013-08-28 2015-03-05 Kyocera Document Solutions Inc. Information processing device

Also Published As

Publication number Publication date
US20170090947A1 (en) 2017-03-30
WO2017057934A1 (en) 2017-04-06
KR102379202B1 (ko) 2022-03-28
CN108351789B (zh) 2021-12-24
US10146553B2 (en) 2018-12-04
CN108351789A (zh) 2018-07-31

Similar Documents

Publication Publication Date Title
US9760503B2 (en) Operation method of memory controller and nonvolatile memory system including the memory controller
US20200065241A1 (en) Data storage device and operating method thereof
TW201732597A (zh) 資料儲存裝置和其操作方法
US20200057725A1 (en) Data storage device and operating method thereof
KR20200049051A (ko) 스토리지 장치의 구동 방법, 이를 수행하는 스토리지 장치 및 이를 이용한 스토리지 시스템의 구동 방법
US10296233B2 (en) Method of managing message transmission flow and storage device using the method
CN111078582A (zh) 基于模式调整映射段的存储器系统及其操作方法
US11861359B2 (en) Storage device and method of operating the same
KR20160061703A (ko) 내부 카피 동작을 수행하는 메모리 장치
TWI454922B (zh) 記憶體儲存裝置及其記憶體控制器與資料寫入方法
JP2017528813A (ja) システムオンチップ用のメモリを拡張するためのシステムおよび方法
KR20190051530A (ko) 데이터 처리 시스템 및 데이터 처리 시스템의 동작 방법
US9934100B2 (en) Method of controlling memory swap operation and data processing system using same
KR102330394B1 (ko) 컨트롤러의 작동 방법과 상기 컨트롤러를 포함하는 장치의 작동 방법
CN108351789B (zh) 电子装置及其启动方法
US11281590B2 (en) Controller, operating method thereof and storage device including the same
CN110309075B (zh) 存储器控制器以及具有存储器控制器的存储器系统
CN115826846A (zh) 存储器控制器、存储装置和主机装置
KR20150102329A (ko) 데이터 저장 장치
CN107229413B (zh) 存储器管理方法、存储器控制电路单元与存储器储存装置
US20240211278A1 (en) Storage device and operating method thereof
TWI760262B (zh) 資料儲存裝置與資料處理方法
US20240012564A1 (en) Memory controller and storage device including the same
US20240045806A1 (en) Storage device, electronic device including the same, and operating method thereof
US20230103797A1 (en) Memory controller and method of operating the same

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