KR20080084082A - 메모리 카드 및 그것을 포함하는 메모리 시스템 그리고그것의 동작 방법 - Google Patents

메모리 카드 및 그것을 포함하는 메모리 시스템 그리고그것의 동작 방법 Download PDF

Info

Publication number
KR20080084082A
KR20080084082A KR1020070025211A KR20070025211A KR20080084082A KR 20080084082 A KR20080084082 A KR 20080084082A KR 1020070025211 A KR1020070025211 A KR 1020070025211A KR 20070025211 A KR20070025211 A KR 20070025211A KR 20080084082 A KR20080084082 A KR 20080084082A
Authority
KR
South Korea
Prior art keywords
boot
area
memory
command
host
Prior art date
Application number
KR1020070025211A
Other languages
English (en)
Other versions
KR101395778B1 (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 KR1020070025211A priority Critical patent/KR101395778B1/ko
Priority to US12/046,888 priority patent/US8370611B2/en
Priority to DE102008015034A priority patent/DE102008015034A1/de
Priority to TW097108869A priority patent/TWI437494B/zh
Priority to CN200810092090.6A priority patent/CN101266829B/zh
Publication of KR20080084082A publication Critical patent/KR20080084082A/ko
Application granted granted Critical
Publication of KR101395778B1 publication Critical patent/KR101395778B1/ko

Links

Images

Classifications

    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C7/00Arrangements for writing information into, or reading information out from, a digital store
    • G11C7/10Input/output [I/O] data interface arrangements, e.g. I/O data control circuits, I/O data buffers
    • G11C7/1015Read-write modes for single port memories, i.e. having either a random port or a serial port
    • G11C7/1045Read-write mode select circuits
    • 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/06Addressing a physical block of locations, e.g. base addressing, module addressing, memory dedication
    • 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
    • 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/445Program loading or initiating
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2212/00Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
    • G06F2212/20Employing a main memory using a specific memory technology
    • G06F2212/202Non-volatile memory
    • G06F2212/2022Flash memory

Landscapes

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

Abstract

메모리 카드 장치는, 부트 데이터가 저장되는 부트 영역 및 사용자 데이터가 저장되는 사용자 영역을 포함하는 플래시 메모리, 그리고 외부로부터 입력되는 명령에 따라서 상기 부트 영역 및 상기 사용자 영역 중 어느 하나를 액세스하는 컨트롤러를 포함한다. 그러므로, 전자 장치들에 내장되는 메모리 카드에 부트 데이터가 저장될 수 있다. 또한, 호스트가 메모리 카드에 저장된 부트 데이터 및 사용자 데이터에 대한 액세스를 요청할 때 메모리 컨트롤러의 제어에 의해서 부트 데이터 및 사용자 데이터가 액세스될 수 있다.

Description

메모리 카드 및 그것을 포함하는 메모리 시스템 그리고 그것의 동작 방법{MEMORY CARD AND MEMORY SYSTEM INCLUDING THE SAME AND OPERATING METHOD THEREOF}
도 1은 본 발명에 따른 메모리 시스템을 개략적으로 보여주는 블록도;
도 2는 본 발명의 바람직한 실시예에 따를 플래시 메모리의 구조를 보여주는 도면;
도 3은 호스트에 의해서 플래시 메모리가 액세스될 때 메모리 컨트롤러에 설정되는 동작 모드를 개념적으로 보여주는 도면;
도 4는 본 발명의 바람직한 실시예에 따른 호스트가 플래시 메모리의 부트 영역에 부트 코드를 기입하기 위한 제어 순서를 보여주는 플로우차트;
도 5는 본 발명의 바람직한 실시예에 따른 호스트가 플래시 메모리의 부트 영역에 저장된 부트 코드를 독출하기 위한 제어 순서를 보여주는 플로우차트; 그리고
도 6은 도 1에 도시된 메모리 컨트롤러의 본 발명의 바람직한 실시예에 따른 동작 순서를 보여주는 플로우차트이다.
*도면의 주요 부분에 대한 설명
100 : 호스트 200 : 메모리 컨트롤러
210 : 호스트 인터페이스 220 : 메모리 인터페이스
230 : 컨트롤러 240 : ECC 블록
300 : 플래시 메모리 310 : 부트 영역
320 : 마스터 부트 레코드 영역 321 : 파티션 부트 레코드 영역
322 : 파일 할당 테이블 323 : 데이터 영역
본 발명은 플래시 메모리를 내장한 메모리 카드 장치에 관한 것이다.
플래시 메모리 장치는 메모리 칩 안에 정보를 유지하기 위해 전력이 필요없는 비휘발성 메모리 장치이다. 게다가, 비록 PC에서 메인 메모리로 사용되는 DRAM만큼 빠르지는 않지만, 플래시 메모리 장치는 읽기 속도가 빠르며 하드디스크 보다 충격에 강하다. 이러한 특징으로 인해 배터리로 동작하는 디바이스에서 저장 장치로서 많이 사용되고 있다. 플래시 메모리 장치의 또다른 매력은 강한 압력이나 끊는 물에 견딜 만큼, 물리적 수단으로 거의 파괴되지 않는다는 점이다.
플래시 메모리 장치는 전기적으로 데이터를 지우고 재기록이 가능한 비휘발성 컴퓨터 기억 장치를 말한다. EEPROM과 다르게, 플래시 메모리 장치는 블록 단위로 지우고 쓰기가 가능하다. 플래시 메모리 장치는 EEPROM보다 비용이 덜 들기 때문에 대용량의 비휘발성, 고체상태(solid-state) 스토리지가 필요한 경우 주로 사용된다. 대표적인 활용 예로 디지털 음악 재생기, 디지털 카메라, 핸드폰을 들 수 있다. 일반적인 데이터를 저장과 컴퓨터간에 데이터를 옮기는 용도로 USB 드라이브를 많이 사용하는데, 이때도 플래시 메모리 장치가 사용되고 있다.
최근에는 플래시 메모리 장치를 포함하는 SD(Secure Digital) 카드, 멀티미디어카드(MultiMediaCard: MMC)등이 널리 보급되었다. 멀티미디어카드는 일반적인 저가의 데이터 저장 및 통신 매체이다. 멀티미디어카드는 스마트폰, 카메라, PDA, 디지털 리코더, MP3 플레이어, 페이저 등과 같은 넓은 범위의 응용처를 커버하도록 설계되었다. 멀티미티어 카드의 특징으로서, 낮은 가격에서 높은 이동성 및 높은 성능을 들 수 있다. 이러한 특징들은 메모리 카드 인터페이스에서 낮은 전력 소모 및 높은 데이터 처리량을 포함한다.
본 발명의 목적은 전자 장치들에 내장되는 메모리 카드에 부트 데이터를 저장할 수 있는 스킴을 제공하는데 있다.
본 발명의 다른 목적은 부트 데이터를 저장하는 메모리 카드를 액세스하는 스킴을 제공하는데 있다.
상술한 바와 같은 목적을 달성하기 위한 본 발명의 특징에 의하면, 메모리 카드 장치는: 부트 데이터가 저장되는 부트 영역 및 사용자 데이터가 저장되는 사용자 영역을 포함하는 플래시 메모리, 그리고 외부로부터 입력되는 명령에 따라서 상기 부트 영역 및 상기 사용자 영역 중 어느 하나를 액세스하는 컨트롤러를 포함한다.
이 실시예에 있어서, 상기 사용자 영역은, 마스터 부트 파일을 저장하는 마스터 부트 레코드 영역과, 상기 마스터 부트 파일에 의해서 지정되고, 파티션 부트 정보를 저장하는 파티션 부트 레코드 영역, 그리고 상기 파일 부트 정보에 의해서 지정되는 파일 할당 테이블 영역을 포함한다.
이 실시예에 있어서, 상기 부트 영역의 논리적 어드레스는 사용자 영역 중 일부의 논리적 어드레스와 동일하다.
이 실시예에 있어서, 상기 부트 영역의 시작 논리적 어드레스 및 상기 마스터 부트 레코드 영역의 시작 논리적 어드레스가 동일하다.
이 실시예에 있어서, 상기 컨트롤러는, 외부로부터 입력되는 상기 명령이 상기 부트 영역을 액세스하기 위한 명령일 때 상기 부트 영역을 액세스하기 위한 논리 어드레스를 발생한다.
이 실시예에 있어서, 상기 컨트롤러는, 외부로부터 입력되는 상기 명령이 상기 사용자 영역을 액세스하기 위한 명령일 때 상기 사용자 영역을 액세스하기 위한 논리 어드레스를 발생한다.
이 실시예에 있어서, 상기 메모리 카드 장치는 내장형 메모리 카드이다.
본 발명의 다른 특징에 의하면, 메모리 카드 시스템은: 호스트, 그리고 상기 호스트에 의해서 액세스되는 메모리 카드를 포함한다. 상기 메모리 카드는, 부트 데이터가 저장되는 부트 영역 및 사용자 데이터가 저장되는 사용자 영역을 포함하는 플래시 메모리, 그리고 상기 호스트로부터 입력되는 명령에 따라서 상기 부트 영역 및 상기 사용자 영역 중 어느 하나를 액세스하는 컨트롤러를 포함한다.
이 실시예에 있어서, 상기 사용자 영역은, 마스터 부트 파일을 저장하는 마스터 부트 레코드 영역과, 상기 마스터 부트 파일에 의해서 지정되고, 파티션 부트 정보를 저장하는 파티션 부트 레코드 영역, 그리고 상기 파일 부트 정보에 의해서 지정되는 파일 할당 테이블 영역을 포함한다.
이 실시예에 있어서, 상기 컨트롤러는, 상기 호스트로부터 입력되는 상기 명령이 상기 부트 영역을 액세스하기 위한 명령일 때 상기 부트 영역을 액세스하기 위한 논리 어드레스를 발생한다.
이 실시예에 있어서, 상기 컨트롤러는, 상기 호스트로부터 입력되는 상기 명령이 상기 사용자 영역을 액세스하기 위한 명령일 때 상기 사용자 영역을 액세스하기 위한 논리 어드레스를 발생한다.
본 발명의 또다른 특징에 따른 메모리 카드는, 부트 데이터가 저장되는 부트 영역 및 사용자 데이터가 저장되는 사용자 영역을 포함하는 플래시 메모리를 포함하며, 상기 메모리 카드를 액세스하기 위한 호스트의 제어 방법은: 상기 메모리 카드를 전송 상태로 설정하는 단계와, 상기 메모리 카드를 부트 모드로 설정하는 단계, 그리고 기입 명령, 상기 부트 영역에 기입될 데이터 및 어드레스를 상기 메모리 카드로 전송하는 단계를 포함한다.
이 실시예에 있어서, 상기 호스트의 메모리 카드 제어 방법은, 상기 기입 명령을 수행 후 상기 메모리 카드를 노말 모드로 설정하는 단계를 더 포함한다.
이 실시예에 있어서, 상기 호스트의 메모리 카드 제어 방법은, 상기 부트 영역을 액세스하기 위한 독출 명령 및 독출 어드레스를 상기 메모리 카드로 전송하는 단계를 더 포함한다.
본 발명의 다른 특징에 따른 메모리 카드는, 부트 데이터가 저장되는 부트 영역 및 사용자 데이터가 저장되는 사용자 영역을 포함하는 플래시 메모리를 포함하며, 상기 메모리 카드의 동작 방법은: 호스트로부터 액세스 명령 및 어드레스를 수신하는 단계; 그리고 상기 액세스 명령이 상기 부트 영역을 액세스하기 위한 명령일 때 상기 부트 영역에 대한 액세스를 실행하는 단계를 포함한다.
상기 부트 영역에 대한 액세스 실행 단계는, 상기 액세스 명령이 상기 부트 영역을 액세스하기 위한 명령일 때 상기 어드레스를 상기 부트 영역의 논리적 어드레스로 변환하는 단계, 그리고 상기 부트 영역에 대한 액세스를 실행하는 단계를 포함한다.
상기 메모리 카드의 동작 방법은, 상기 액세스 명령이 상기 사용자 영역을 액세스하기 위한 명령일 때 상기 어드레스를 상기 사용자 영역의 논리적 어드레스로 변환하는 단계, 그리고 상기 사용자 영역에 대한 액세스를 실행하는 단계를 더 포함한다.
이 실시예에 있어서, 상기 액세스 명령은 상기 플래시 메모리에 대한 기입 명령 및 독출 명령 중 어느 하나를 포함한다.
이 실시예에 있어서, 상기 액세스 명령은, 상기 부트 영역을 액세스하기 위한 부트 모드 설정 명령 그리고 기입 명령 및 독출 명령 중 어느 하나를 포함한다.
이 실시예에 있어서, 상기 액세스 명령은, 상기 사용자 영역을 액세스하기 위한 노말 모드 설정 명령 그리고 상기 플래시 메모리에 대한 기입 명령 및 독출 명령 중 어느 하나를 포함한다.
이하 본 발명의 바람직한 실시예를 첨부된 도면들을 참조하여 상세히 설명한다.
도 1은 본 발명에 따른 메모리 시스템을 개략적으로 보여주는 블록도이다. 도 1을 참조하면, 본 발명에 따른 메모리 장치는 메모리 컨트롤러(200)와 플래시 메모리(300)를 포함한다. 플래시 메모리(300)는 메모리 컨트롤러(200)의 제어에 따라 동작한다. 플래시 메모리(300)는 낸드(NAND) 플래시 메모리 장치, 노어(NOR) 플래시 메모리 장치, PRAM(phase change random access memory) 장치, MRAM(magnetic random access memory) 또는 그와 같은 불휘발성 메모리 장치로 구현된다.
메모리 컨트롤러(200)는 호스트(100)의 요청에 따라 플래시 메모리(100)를 제어한다. 메모리 컨트롤러(200)는 호스트 인터페이스(210), 메모리 인터페이스(220), 컨트롤러(230), 그리고 ECC 제어기(240)를 포함한다. 호스트 인터페이스(210)는 호스트(100)와의 인터페이스를 제공하고, 메모리 인터페이스(220)는 플래시 메모리(300)와의 인터페이스를 제공한다. 컨트롤러(230)는 메모리 컨트롤러(200)의 전반적인 동작을 제어하는 프로세서로 구성될 수 있다. 호스트(100)와 메모리 컨트롤러(200)는 PCI(peripheral component interconnect), USB(Universal Serial Bus) 등과 같은 다양한 통신 인터페이스를 통하여 통신하도록 구성된다. 또한, 메모리 컨트롤러(200)와 플래시 메모리(300)를 포함하는 메모리 장치가 호스트(100)에 내장(embedded)될 때 메모리 컨트롤러(200)는 호스트(100)와 직접 연결 될 수 있다.
메모리 컨트롤러(200)와 플래시 메모리(300)는 잘 알려진 낸드/노어 인터페이스 방식을 통해 통신하도록 구성된다. 메모리 컨트롤러(200)와 플래시 메모리 장치(300)를 포함하는 메모리 시스템은 플래시 메모리 카드, 스마트 카드, SD 카드, MMC 카드 등과 같은 메모리 카드일 수 있다.
ECC 제어기(240)는 플래시 메모리 장치(100)에 저장될 데이터에 대한 오류 제어 코드(Error Control Code, ECC) 데이터(이하, ECC 데이터라 칭함)를 생성하도록 구성된다. ECC 데이터는 오류 검출 그리고/또는 정정을 위해서 사용된다. ECC 제어기(240)는 플래시 메모리 장치(300)로부터 읽혀진 데이터에 대한 오류 검출 및 정정을 수행한다.
본 발명의 플래시 메모리(300)는 부트 데이터를 저장하는 부트 영역(boot area) 및 사용자 데이터를 저장하는 사용자 영역(user area)을 포함한다. 본 발명의 컨트롤러(230)는 호스트(100)로부터 입력되는 명령에 따라서 플래시 메모리(300)의 부트 영역 및 사용자 영역을 액세스한다.
도 2는 본 발명의 바람직한 실시예에 따를 플래시 메모리(300)의 구조를 보여주는 도면이다.
도 2를 참조하면, 플래시 메모리(300)는 부트 영역(320)과 사용자 영역을 포함한다. 사용자 영역은 마스터 부트 레코드(master boot record, MBR) 영역(320), 파티션 부트 레코드(partition boot record, PBR) 영역(321), 파일 할당 테이블(file allocation table) 영역(322) 그리고 데이터 영역(323)을 포함한다.
잘 알려진 바와 같이, 마스터 부트 파일은 하드 디스크의 0번째 섹터에 위치한다. 마찬가지로 플래시 메모리(300)에 저장되는 마스터 부트 파일은 플래시 메모리(300)의 논리적 어드레스 0x00000부터 저장된다. 마스터 부트 레코드 영역(320) 내 마스터 부트 파일은 파티션 부트 레코드 영역(321)의 시작 논리적 어드레스를 지정한다. 파티션 부트 레코드 영역(321) 내 파티션 부트 데이터는 파일 할당 테이블 영역(322)의 시작 논리적 어드레스를 지정한다. 사용자 영역의 마스터 부트 파일 레코드 영역(320), 파티션 부트 레코드 영역(321) 및 파일 할당 테이블 영역(322)을 제외한 나머지 데이터 영역(323)은 사용자 데이터를 저장하기 위해 사용된다.
본 발명의 플래시 메모리(300)는 사용자 영역 뿐만 아니라 부트 코드를 저장하기 위한 부트 영역(310)을 포함한다. 플래시 메모리(300)의 부트 영역(310)은 호스트(100)로부터의 부트 파일 요청 명령 또는 소정의 접근 명령에 의해서 액세스될 수 있다. 이 실시예에서 플래시 메모리(300)의 부트 영역(310)의 시작 논리적 어드레스는 마스터 부트 레코드 영역(320)의 시작 논리적 어드레스와 동일하게 0x00000이다. 그러나, 부트 영역(310) 및 마스터 부트 레코드 영역(320)이 플래시 메모리(300)에 실제로 저장되는 물리적 어드레스들은 서로 다르다. 다른 실시예에서, 부트 영역(310)의 시작 논리적 어드레스는 0x00000이 아닌 특정 논리적 어드레스를 갖도록 설계될 수 있다.
도 3은 호스트(100)에 의해서 플래시 메모리(300)가 액세스될 때 메모리 컨트롤러(200)에 설정되는 동작 모드를 개념적으로 보여주는 도면이다. 파워 온되고 나서 호스트(100)가 메모리 컨트롤러(200)로 부트 코드를 요청하면, 메모리 컨트롤러(200)의 동작 모드는 부트 모드로 설정된다. 메모리 컨트롤러(200)는 호스트(100)로부터의 부트 코드에 대한 응답으로 플래시 메모리(300)의 부트 영역(310)에 저장된 부트 코드 이미지를 독출해서 호스트(100)로 전송한다.
호스트(100) 부팅 동작을 모두 수행한 후 플래시 메모리(300)를 초기화하기 위한 명령(CMD0)을 메모리 컨트롤러(200)로 전송하는 것에 의해서 메모리 컨트롤러(200)의 동작 모드는 노말 모드로 설정된다.
메모리 컨트롤러(200)는 노말 모드동안 호스트(100)로부터 입력되는 독출/기입 명령에 대한 응답으로 플래시 메모리(300)의 사용자 영역을 액세스한다.
호스트(100)가 플래시 메모리(300)의 부트 영역(310)을 액세스할 필요가 있는 경우, 호스트(100)는 모드 변경 명령(CMD6)을 메모리 컨트롤러(200)로 전송한다. 메모리 컨트롤러(200)는 모드 변경 명령(CMD6)이 수신되면 동작 모드를 부트 모드로 변경하고 이후 호스트(100)로부터 입력되는 독출/기입 명령에 대한 응답으로 부트 영역(310)을 액세스한다.
호스트(100)가 플래시 메모리(300)의 부트 영역(310)에 대한 액세스를 중지하고자 하는 경우, 호스트(100)는 모드 변경 명령(CMD6)을 메모리 컨트롤러(200)로 전송한다. 메모리 컨트롤러(200)는 모드 변경 명령(CMD6)에 응답해서 동작 모드를 노말 모드로 변경하고 이후 호스트(100)로부터 입력되는 독출/기입 명령에 대한 응답으로 플래시 메모리(300)의 사용자 영역을 액세스한다.
상술한 바와 같은 스킴에 의해서 플래시 메모리(300)에 저장된 부트 코드가 액세스될 수 있다.
도 4는 본 발명의 바람직한 실시예에 따른 호스트(100)가 플래시 메모리(300)의 부트 영역(310)에 부트 코드를 기입하기 위한 제어 순서를 보여주는 플로우차트이다.
도 4를 참조하면, 호스트(100)는 메모리 카드를 전송 상태(transfer state)로 설정하기 위한 명령을 전송한다(410). 메모리 컨트롤러(200)는 호스트(100)의 명령에 응답해서 대기 상태(stand-by state)에서 전송 상태로 천이된다.
호스트(100)는 메모리 컨트롤러(200)를 부트 모드로 설정하기 위한 명령을 전송한다(420). 부트 모드로 설정하기 위한 명령들에는 도 3에 도시된 부트 코드 요청 명령 또는 모드 변경 명령(CMD6) 등이 있다. 메모리 컨트롤러(200)는 호스트(100)로부터의 명령에 응답해서 부트 모드로 설정된다.
호스트(100)는 부트 영역(310)에 기입될 부트 코드의 블록 길이 및 블록의 수에 대한 정보를 메모리 컨트롤러(200)로 전송한다(430).
호스트(100)는 부트 영역(310)에 부트 코드를 기입하기 위해서 기입 명령, 부트 코드 및 어드레스를 메모리 컨트롤러(200)로 전송한다(440). 메모리 컨트롤러(200)는 호스트(100)로부터 수신된 부트 코드의 블록 길이 및 블록의 수에 대한 정보, 기입 명령, 부트 코드 그리고 어드레스에 응답해서 플래시 메모리(300)의 부트 영역(310)에 부트 코드를 기입한다(440).
메모리 컨트롤러(200)에 의해서 플래시 메모리(300)의 부트 영역(310)에 부트 코드를 기입하는 동작이 완료되면, 호스트(100)는 메모리 컨트롤러(200)의 동작 모드를 노말 모드로 설정하기 위한 명령을 메모리 컨트롤러(200)로 전송한다(450). 이와 같은 방법에 의해서 호스트(100)가 플래시 메모리(300)의 부트 영역(310)에 부트 코드를 기입할 수 있다.
도 5는 본 발명의 바람직한 실시예에 따른 호스트(100)가 플래시 메모리(300)의 부트 영역(310)에 저장된 부트 코드를 독출하기 위한 제어 순서를 보여주는 플로우차트이다.
도 5를 참조하면, 호스트(100)는 메모리 카드를 전송 상태(transfer state)로 설정하기 위한 명령을 전송한다(510). 메모리 컨트롤러(200)는 호스트(100)의 명령에 응답해서 대기 상태(stand-by state)에서 전송 상태로 천이된다.
호스트(100)는 메모리 컨트롤러(200)를 부트 모드로 설정하기 위한 명령을 전송한다(520). 부트 모드로 설정하기 위한 명령들에는 도 3에 도시된 부트 코드 요청 명령 또는 모드 변경 명령(CMD6) 등이 있다. 메모리 컨트롤러(200)는 호스트(100)로부터의 명령에 응답해서 부트 모드로 설정된다.
호스트(100)는 부트 영역(310)로부터 독출될 부트 코드의 블록 길이 및 블록의 수에 대한 정보를 메모리 컨트롤러(200)로 전송한다(530).
호스트(100)는 부트 영역(310)으로부터 부트 코드를 독출하기 위해서 독출 명령 및 어드레스를 메모리 컨트롤러(200)로 전송한다(440). 메모리 컨트롤러(200)는 호스트(100)로부터 수신된 부트 코드의 블록 길이 및 블록의 수에 대한 정보, 독출 명령 그리고 어드레스에 응답해서 플래시 메모리(300)의 부트 영역(310)으로부터 부트 코드를 독출한다(540).
메모리 컨트롤러(200)에 의해서 플래시 메모리(300)의 부트 영역(310)으로부터 부트 코드를 독출하는 동작이 완료되면, 호스트(100)는 메모리 컨트롤러(200)의 동작 모드를 노말 모드로 설정하기 위한 명령을 메모리 컨트롤러(200)로 전송한다(550). 이와 같은 방법에 의해서 호스트(100)가 플래시 메모리(300)의 부트 영역(310)으로부터 부트 코드를 독출할 수 있다.
호스트(100)가 플래시 메모리(300)의 부트 영역(310)으로부터 부트 코드를 독출하는 방법은 도 5에 도시된 방법에 한정되지 않고, 도 3에 도시된 바와 같이 호스트(100)의 부트 코드 요청에 의해서 부트 영역(310)의 부트 코드 전체가 호스트(100)로 전송될 수도 있다.
도 6은 도 1에 도시된 메모리 컨트롤러(200)의 본 발명의 바람직한 실시예에 따른 동작 순서를 보여주는 플로우차트이다.
도 6을 참조하면, 메모리 컨트롤러(200)는 호스트(100)로부터 독출/기입 명령을 수신한다(610). 메모리 컨트롤러(200)는 동작 모드가 노말 모드로 설정되었을 때(620), 독출/기입 명령과 함께 입력된 어드레스를 사용자 영역의 논리적 어드레스로 변환한다(630). 만일 동작 모드가 부트 모드로 설정되었다면(620), 독출/기입 명령과 함께 입력된 어드레스를 부트 영역(310)의 논리적 어드레스로 변환한다(640).
메모리 컨트롤러(200)는 호스트(100)로부터 입력된 독출/기입 명령에 응답해서 변환된 논리적 어드레스가 지정하는 플래시 메모리(300)의 위치로부터/에 데이터를 독출/기입한다.
도 6에 도시된 방법에 의해서 메모리 컨트롤러(200)는 노말 모드동안 호스트(100)로부터 입력된 독출/기입 명령에 응답해서 플래시 메모리(300)의 사용자 영역으로부터/에 데이터를 독출/기입할 수 있다. 또한 메모리 컨트롤러(200)는 부트 모드동안 호스트(100)로부터 입력된 독출/기입 명령에 응답해서 플래시 메모리(300)의 부트 영역으로부터/에 데이터를 독출/기입할 수 있다.
예시적인 바람직한 실시예들을 이용하여 본 발명을 설명하였지만, 본 발명의 범위는 개시된 실시예들에 한정되지 않는다는 것이 잘 이해될 것이다. 따라서, 청구범위는 그러한 변형 예들 및 그 유사한 구성들 모두를 포함하는 것으로 가능한 폭넓게 해석되어야 한다.
이와 같은 본 발명에 의하면, 전자 장치들에 내장되는 메모리 카드에 부트 데이터가 저장된다. 또한, 호스트가 메모리 카드에 저장된 부트 데이터 및 사용자 데이터에 대한 액세스를 요청할 때 메모리 컨트롤러의 제어에 의해서 부트 데이터 및 사용자 데이터가 액세스될 수 있다. 그러므로, 전자 장치는 내장된 메모리 카드에 의해서 부팅될 수 있다.

Claims (20)

  1. 부트 데이터가 저장되는 부트 영역 및 사용자 데이터가 저장되는 사용자 영역을 포함하는 플래시 메모리; 그리고
    외부로부터 입력되는 명령에 따라서 상기 부트 영역 및 상기 사용자 영역 중 어느 하나를 액세스하는 컨트롤러를 포함하는 것을 특징으로 하는 메모리 카드 장치.
  2. 제 1 항에 있어서,
    상기 사용자 영역은,
    마스터 부트 파일을 저장하는 마스터 부트 레코드 영역과;
    상기 마스터 부트 파일에 의해서 지정되고, 파티션 부트 정보를 저장하는 파티션 부트 레코드 영역; 그리고
    상기 파일 부트 정보에 의해서 지정되는 파일 할당 테이블 영역을 포함하는 것을 특징으로 하는 메모리 카드 장치.
  3. 제 2 항에 있어서,
    상기 부트 영역의 논리적 어드레스는 사용자 영역 중 일부의 논리적 어드레스와 동일한 것을 특징으로 하는 메모리 카드 장치.
  4. 제 3 항에 있어서,
    상기 부트 영역의 시작 논리적 어드레스 및 상기 마스터 부트 레코드 영역의 시작 논리적 어드레스가 동일한 것을 특징으로 하는 메모리 카드 장치.
  5. 제 1 항에 있어서,
    상기 컨트롤러는,
    외부로부터 입력되는 상기 명령이 상기 부트 영역을 액세스하기 위한 명령일 때 상기 부트 영역을 액세스하기 위한 논리 어드레스를 발생하는 것을 특징으로 하는 메모리 카드 장치.
  6. 제 1 항에 있어서,
    상기 컨트롤러는,
    외부로부터 입력되는 상기 명령이 상기 사용자 영역을 액세스하기 위한 명령일 때 상기 사용자 영역을 액세스하기 위한 논리 어드레스를 발생하는 것을 특징으로 하는 메모리 카드 장치.
  7. 제 1 항에 있어서,
    제 1 항에 있어서,
    상기 메모리 카드 장치는 내장형 메모리 카드인 것을 특징으로 하는 메모리 카드 장치.
  8. 호스트; 그리고
    상기 호스트에 의해서 액세스되는 메모리 카드를 포함하되;
    상기 메모리 카드는,
    부트 데이터가 저장되는 부트 영역 및 사용자 데이터가 저장되는 사용자 영역을 포함하는 플래시 메모리; 그리고
    상기 호스트로부터 입력되는 명령에 따라서 상기 부트 영역 및 상기 사용자 영역 중 어느 하나를 액세스하는 컨트롤러를 포함하는 것을 특징으로 하는 메모리 카드 시스템.
  9. 제 8 항에 있어서,
    상기 사용자 영역은,
    마스터 부트 파일을 저장하는 마스터 부트 레코드 영역과;
    상기 마스터 부트 파일에 의해서 지정되고, 파티션 부트 정보를 저장하는 파티션 부트 레코드 영역; 그리고
    상기 파일 부트 정보에 의해서 지정되는 파일 할당 테이블 영역을 포함하는 것을 특징으로 하는 메모리 카드 시스템.
  10. 제 8 항에 있어서,
    상기 컨트롤러는,
    상기 호스트로부터 입력되는 상기 명령이 상기 부트 영역을 액세스하기 위한 명령일 때 상기 부트 영역을 액세스하기 위한 논리 어드레스를 발생하는 것을 특징으로 하는 메모리 카드 시스템.
  11. 제 8 항에 있어서,
    상기 컨트롤러는,
    상기 호스트로부터 입력되는 상기 명령이 상기 사용자 영역을 액세스하기 위한 명령일 때 상기 사용자 영역을 액세스하기 위한 논리 어드레스를 발생하는 것을 특징으로 하는 메모리 카드 시스템.
  12. 메모리 카드를 액세스하기 위한 호스트의 제어 방법에 있어서:
    상기 메모리 카드는, 부트 데이터가 저장되는 부트 영역 및 사용자 데이터가 저장되는 사용자 영역을 포함하는 플래시 메모리를 포함하며;
    상기 메모리 카드를 전송 상태로 설정하는 단계와;
    상기 메모리 카드를 부트 모드로 설정하는 단계; 그리고
    기입 명령, 상기 부트 영역에 기입될 데이터 및 어드레스를 상기 메모리 카드로 전송하는 단계를 포함하는 것을 특징으로 하는 호스트의 메모리 카드 제어 방법.
  13. 제 12 항에 있어서,
    상기 기입 명령을 수행 후 상기 메모리 카드를 노말 모드로 설정하는 단계를 더 포함하는 것을 특징으로 하는 호스트의 메모리 카드 제어 방법.
  14. 제 12 항에 있어서,
    상기 부트 영역을 액세스하기 위한 독출 명령 및 독출 어드레스를 상기 메모리 카드로 전송하는 단계를 더 포함하는 것을 특징으로 하는 호스트의 메모리 카드 제어 방법.
  15. 호스트로부터 입력되는 명령에 응답해서 동작하는 메모리 카드의 동작 방법에 있어서:
    상기 메모리 카드는, 부트 데이터가 저장되는 부트 영역 및 사용자 데이터가 저장되는 사용자 영역을 포함하는 플래시 메모리를 포함하며;
    상기 호스트로부터 액세스 명령 및 어드레스를 수신하는 단계; 그리고
    상기 액세스 명령이 상기 부트 영역을 액세스하기 위한 명령일 때 상기 부트 영역에 대한 액세스를 실행하는 단계를 포함하는 것을 특징으로 하는 메모리 카드의 동작 방법.
  16. 제 15 항에 있어서,
    상기 부트 영역에 대한 액세스 실행 단계는,
    상기 액세스 명령이 상기 부트 영역을 액세스하기 위한 명령일 때 상기 어드 레스를 상기 부트 영역의 논리적 어드레스로 변환하는 단계; 그리고
    상기 부트 영역에 대한 액세스를 실행하는 단계를 포함하는 것을 특징으로 하는 메모리 카드의 동작 방법.
  17. 제 16 항에 있어서,
    상기 액세스 명령이 상기 사용자 영역을 액세스하기 위한 명령일 때 상기 어드레스를 상기 사용자 영역의 논리적 어드레스로 변환하는 단계; 그리고
    상기 사용자 영역에 대한 액세스를 실행하는 단계를 더 포함하는 것을 특징으로 하는 메모리 카드의 동작 방법.
  18. 제 17 항에 있어서,
    상기 액세스 명령은 상기 플래시 메모리에 대한 기입 명령 및 독출 명령 중 어느 하나를 포함하는 것을 특징으로 하는 메모리 카드의 동작 방법.
  19. 제 18 항에 있어서,
    상기 액세스 명령은,
    상기 부트 영역을 액세스하기 위한 부트 모드 설정 명령 그리고 기입 명령 및 독출 명령 중 어느 하나를 포함하는 것을 특징으로 하는 메모리 카드의 동작 방법.
  20. 제 18 항에 있어서,
    상기 액세스 명령은,
    상기 사용자 영역을 액세스하기 위한 노말 모드 설정 명령 그리고 상기 플래시 메모리에 대한 기입 명령 및 독출 명령 중 어느 하나를 포함하는 것을 특징으로 하는 메모리 카드의 동작 방법.
KR1020070025211A 2007-03-14 2007-03-14 메모리 카드 및 그것을 포함하는 메모리 시스템 그리고그것의 동작 방법 KR101395778B1 (ko)

Priority Applications (5)

Application Number Priority Date Filing Date Title
KR1020070025211A KR101395778B1 (ko) 2007-03-14 2007-03-14 메모리 카드 및 그것을 포함하는 메모리 시스템 그리고그것의 동작 방법
US12/046,888 US8370611B2 (en) 2007-03-14 2008-03-12 Memory card, memory system including the same, and operating method thereof
DE102008015034A DE102008015034A1 (de) 2007-03-14 2008-03-13 Speicherkarte, Speicherkartensystem, Verfahren zum Steuern eines Hosts und Verfahren zum Betreiben einer Speicherkarte
TW097108869A TWI437494B (zh) 2007-03-14 2008-03-13 記憶卡、包含該記憶卡的記憶體系統以及其操作方法
CN200810092090.6A CN101266829B (zh) 2007-03-14 2008-03-14 存储卡、包含存储卡的存储系统及存储卡的操作方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020070025211A KR101395778B1 (ko) 2007-03-14 2007-03-14 메모리 카드 및 그것을 포함하는 메모리 시스템 그리고그것의 동작 방법

Publications (2)

Publication Number Publication Date
KR20080084082A true KR20080084082A (ko) 2008-09-19
KR101395778B1 KR101395778B1 (ko) 2014-05-19

Family

ID=39744417

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020070025211A KR101395778B1 (ko) 2007-03-14 2007-03-14 메모리 카드 및 그것을 포함하는 메모리 시스템 그리고그것의 동작 방법

Country Status (5)

Country Link
US (1) US8370611B2 (ko)
KR (1) KR101395778B1 (ko)
CN (1) CN101266829B (ko)
DE (1) DE102008015034A1 (ko)
TW (1) TWI437494B (ko)

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101022970B1 (ko) * 2008-12-11 2011-03-16 하나 마이크론(주) Bios 메모리를 포함하는 데이터 저장 장치
US9542199B2 (en) 2008-09-30 2017-01-10 Samsung Electronics Co., Ltd. Method of managing a solid state drive, associated systems and implementations
KR20170108421A (ko) * 2016-03-17 2017-09-27 한국전자통신연구원 메모리 카드로부터 파일을 읽는 방법
CN110196822A (zh) * 2018-02-27 2019-09-03 爱思开海力士有限公司 存储器装置、存储器控制器和存储器系统及其操作方法

Families Citing this family (17)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101490327B1 (ko) 2006-12-06 2015-02-05 퓨전-아이오, 인크. 뱅크 인터리브를 이용한 솔리드-스테이트 스토리지의 명령 관리 장치, 시스템 및 방법
DE102009032821A1 (de) * 2008-10-28 2010-04-29 Giesecke & Devrient Gmbh Speichermedium mit unterschiedlichen Zugriffsmöglichkeiten
US9122579B2 (en) 2010-01-06 2015-09-01 Intelligent Intellectual Property Holdings 2 Llc Apparatus, system, and method for a storage layer
EP2476079A4 (en) 2009-09-09 2013-07-03 Fusion Io Inc APPARATUS, SYSTEM, AND METHOD FOR STORAGE ALLOCATION
US8464020B2 (en) 2009-12-07 2013-06-11 Panasonic Corporation Non-volatile storage device, host device, storage system, data communication method and program
DE102010046266A1 (de) * 2010-09-22 2012-03-22 Deutsche Telekom Ag Chipkarte mit einem integrierten Schaltkreis
CN102467351A (zh) * 2010-11-10 2012-05-23 鸿富锦精密工业(深圳)有限公司 U盘及其快速切换存储与启动的方法
CN102299798B (zh) * 2011-06-22 2014-10-08 中国电力科学研究院 一种智能卡的基于模式控制字方式的安全传输方法
GB2493340A (en) * 2011-07-28 2013-02-06 St Microelectronics Res & Dev Address mapping of boot transactions between dies in a system in package
US8661527B2 (en) 2011-08-31 2014-02-25 Kabushiki Kaisha Toshiba Authenticator, authenticatee and authentication method
CN102929655A (zh) * 2012-09-26 2013-02-13 瑞斯康达科技发展股份有限公司 向闪存芯片中烧写数据文件的方法、预处理方法及装置
US20140245011A1 (en) * 2013-02-26 2014-08-28 Kabushiki Kaisha Toshiba Device and authentication method therefor
TWI575374B (zh) * 2015-08-04 2017-03-21 群聯電子股份有限公司 映射表格更新方法、記憶體儲存裝置及記憶體控制電路單元
US10530392B2 (en) 2017-07-31 2020-01-07 Codelucida, Inc. Vertical layered finite alphabet iterative decoding
GB2582000A (en) * 2019-03-07 2020-09-09 Delphi Tech Ip Ltd Automotive bootloader
US11734018B2 (en) * 2020-07-17 2023-08-22 Western Digital Technologies, Inc. Parallel boot execution of memory devices
CN113867830A (zh) * 2021-08-31 2021-12-31 山东云海国创云计算装备产业创新中心有限公司 一种基于通用闪存存储的系统及其启动方法

Family Cites Families (16)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS63163589A (ja) * 1986-12-25 1988-07-07 Mitsubishi Electric Corp 指紋入力装置付きicカ−ド
US7873837B1 (en) * 2000-01-06 2011-01-18 Super Talent Electronics, Inc. Data security for electronic data flash card
CN100442393C (zh) 1999-10-21 2008-12-10 松下电器产业株式会社 半导体存储卡的访问装置、初始化方法和半导体存储卡
US7702984B1 (en) * 2000-01-06 2010-04-20 Super Talent Electronics, Inc. High volume testing for USB electronic data flash cards
JP4230122B2 (ja) * 2001-03-30 2009-02-25 株式会社ルネサステクノロジ マイクロコンピュータ、書込み方法及び消去方法
JP2003140980A (ja) * 2001-10-31 2003-05-16 Hitachi Ltd 記録装置
KR100610354B1 (ko) * 2002-03-19 2006-08-09 삼성전자주식회사 플래시메모리를 이용한 휴대용단말기의 정보처리시스템제어장치 및 제어방법
JP4206688B2 (ja) * 2002-04-15 2009-01-14 ソニー株式会社 データ処理装置及びデータ処理方法
KR100532413B1 (ko) 2002-12-02 2005-12-02 삼성전자주식회사 플래시 메모리 보호 장치 및 방법
KR20050030987A (ko) 2003-09-27 2005-04-01 매그나칩 반도체 유한회사 Mcu에 사용되는 플래시 메모리
JP4327585B2 (ja) 2003-12-25 2009-09-09 株式会社東芝 記憶装置
TWI263939B (en) * 2004-09-22 2006-10-11 Lite On Technology Corp Dynamic boot system and method, machine readable medium thereof, and construction method for an operating system image
KR20060031192A (ko) 2004-10-07 2006-04-12 주식회사 팬택앤큐리텔 고속 부팅이 가능한 임베디드 시스템 및 그 방법
KR100708128B1 (ko) * 2005-04-30 2007-04-17 삼성전자주식회사 낸드 플래시 메모리 제어 장치 및 방법
JP4245585B2 (ja) * 2005-06-13 2009-03-25 Tdk株式会社 メモリコントローラ、フラッシュメモリシステム及びフラッシュメモリの制御方法
US7849302B2 (en) * 2006-04-10 2010-12-07 Apple Inc. Direct boot arrangement using a NAND flash memory

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9542199B2 (en) 2008-09-30 2017-01-10 Samsung Electronics Co., Ltd. Method of managing a solid state drive, associated systems and implementations
KR101022970B1 (ko) * 2008-12-11 2011-03-16 하나 마이크론(주) Bios 메모리를 포함하는 데이터 저장 장치
KR20170108421A (ko) * 2016-03-17 2017-09-27 한국전자통신연구원 메모리 카드로부터 파일을 읽는 방법
CN110196822A (zh) * 2018-02-27 2019-09-03 爱思开海力士有限公司 存储器装置、存储器控制器和存储器系统及其操作方法
CN110196822B (zh) * 2018-02-27 2023-06-13 爱思开海力士有限公司 存储器装置、存储器控制器和存储器系统及其操作方法

Also Published As

Publication number Publication date
KR101395778B1 (ko) 2014-05-19
DE102008015034A1 (de) 2008-10-16
TW200839619A (en) 2008-10-01
US8370611B2 (en) 2013-02-05
CN101266829A (zh) 2008-09-17
US20080229090A1 (en) 2008-09-18
TWI437494B (zh) 2014-05-11
CN101266829B (zh) 2014-06-18

Similar Documents

Publication Publication Date Title
KR101395778B1 (ko) 메모리 카드 및 그것을 포함하는 메모리 시스템 그리고그것의 동작 방법
CN107844431B (zh) 映射表更新方法、存储器控制电路单元与存储器存储装置
US10891236B2 (en) Data storage device and operating method thereof
CN107179996B (zh) 数据存储装置和其操作方法
US8762703B2 (en) Boot partitions in memory devices and systems
KR100725271B1 (ko) 복수개의 dma 채널을 갖는 usb-sd 저장 장치 및 그저장 방법
KR101456593B1 (ko) 플래시 메모리 장치를 포함하는 메모리 시스템
US20110022786A1 (en) Flash memory storage apparatus, flash memory controller, and switching method thereof
US9176865B2 (en) Data writing method, memory controller, and memory storage device
US20130013853A1 (en) Command executing method, memory controller and memory storage apparatus
US8489805B2 (en) Memory devices operated within a communication protocol standard timeout requirement
CN106681932B (zh) 存储器管理方法、存储器控制电路单元及存储器存储装置
CN107590080B (zh) 映射表更新方法、存储器控制电路单元及存储器存储装置
KR20200085967A (ko) 데이터 저장 장치 및 그 동작 방법
CN105389122B (zh) 数据储存器件的操作方法
US10747462B2 (en) Data processing system and operating method thereof
KR20200020464A (ko) 데이터 저장 장치 및 그 동작 방법
KR20200114212A (ko) 데이터 저장 장치 및 그것의 동작 방법
CN113885808B (zh) 映射信息记录方法以及存储器控制电路单元与存储装置
CN112306783A (zh) 存储器控制器及其操作方法
KR20200089939A (ko) 메모리 시스템 및 그 동작 방법
KR101620349B1 (ko) 부팅가능한 휘발성 메모리 장치와 그를 구비한 메모리 모듈 및 프로세싱 시스템, 및 그를 이용한 프로세싱 시스템 부팅 방법
CN107229413B (zh) 存储器管理方法、存储器控制电路单元与存储器储存装置
KR20200015185A (ko) 데이터 저장 장치 및 그것의 동작 방법
KR20240003648A (ko) 메모리 시스템 및 그에 포함된 메모리 컨트롤러의 동작 방법

Legal Events

Date Code Title Description
A201 Request for examination
E902 Notification of reason for refusal
E701 Decision to grant or registration of patent right
GRNT Written decision to grant
FPAY Annual fee payment

Payment date: 20170427

Year of fee payment: 4

FPAY Annual fee payment

Payment date: 20180430

Year of fee payment: 5

FPAY Annual fee payment

Payment date: 20190429

Year of fee payment: 6