KR102039537B1 - 불휘발성 저장 장치 및 그것의 운영체제 이미지 프로그램 방법 - Google Patents

불휘발성 저장 장치 및 그것의 운영체제 이미지 프로그램 방법 Download PDF

Info

Publication number
KR102039537B1
KR102039537B1 KR1020130028116A KR20130028116A KR102039537B1 KR 102039537 B1 KR102039537 B1 KR 102039537B1 KR 1020130028116 A KR1020130028116 A KR 1020130028116A KR 20130028116 A KR20130028116 A KR 20130028116A KR 102039537 B1 KR102039537 B1 KR 102039537B1
Authority
KR
South Korea
Prior art keywords
operating system
system image
register
image
mode
Prior art date
Application number
KR1020130028116A
Other languages
English (en)
Other versions
KR20140113134A (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 KR1020130028116A priority Critical patent/KR102039537B1/ko
Priority to US14/197,425 priority patent/US8938581B2/en
Priority to DE102014204716.1A priority patent/DE102014204716B4/de
Priority to JP2014051898A priority patent/JP6322004B2/ja
Priority to CN201810576016.5A priority patent/CN108804041B/zh
Priority to CN201410097614.6A priority patent/CN104050099B/zh
Publication of KR20140113134A publication Critical patent/KR20140113134A/ko
Priority to US14/579,810 priority patent/US9164682B2/en
Priority to US14/856,045 priority patent/US9280462B2/en
Priority to US15/040,249 priority patent/US9529541B2/en
Application granted granted Critical
Publication of KR102039537B1 publication Critical patent/KR102039537B1/ko

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0602Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
    • G06F3/0614Improving the reliability of storage systems
    • G06F3/0619Improving the reliability of storage systems in relation to data integrity, e.g. data losses, bit errors
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F13/00Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F13/14Handling requests for interconnection or transfer
    • 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
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0602Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
    • G06F3/0614Improving the reliability of storage systems
    • G06F3/0617Improving the reliability of storage systems in relation to availability
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0628Interfaces specially adapted for storage systems making use of a particular technique
    • G06F3/0629Configuration or reconfiguration of storage systems
    • G06F3/0634Configuration or reconfiguration of storage systems by changing the state or mode of one or more devices
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0628Interfaces specially adapted for storage systems making use of a particular technique
    • G06F3/0646Horizontal data movement in storage systems, i.e. moving data in between storage devices or systems
    • G06F3/0647Migration mechanisms
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0668Interfaces specially adapted for storage systems adopting a particular infrastructure
    • G06F3/0671In-line storage system
    • G06F3/0673Single storage device
    • G06F3/0679Non-volatile semiconductor memory device, e.g. flash memory, one time programmable memory [OTP]
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/60Software deployment
    • G06F8/61Installation
    • G06F8/63Image based installation; Cloning; Build to order
    • 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/22Microcontrol or microprogram arrangements
    • 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
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/08Error detection or correction by redundancy in data representation, e.g. by using checking codes
    • G06F11/10Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's
    • G06F11/1008Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's in individual solid state devices
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0628Interfaces specially adapted for storage systems making use of a particular technique
    • G06F3/0655Vertical data movement, i.e. input-output transfer; data movement between one or more hosts and one or more storage devices
    • G06F3/0656Data buffering arrangements
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0668Interfaces specially adapted for storage systems adopting a particular infrastructure
    • G06F3/0671In-line storage system
    • G06F3/0683Plurality of storage devices
    • G06F3/0685Hybrid storage combining heterogeneous device types, e.g. hierarchical storage, hybrid arrays

Abstract

본 발명에 따른 불휘발성 저장 장치는, 제 1 메모리 영역과 제 2 메모리 영역을 포함하는 불휘발성 메모리 장치 그리고 신뢰성 모드 정보가 저장되는 제 1 레지스터, 그리고 운영체제 이미지 정보가 저장되는 제 2 레지스터를 포함하며, 호스트로부터 쓰기 요청되는 운용체제 이미지와 상기 운영체제 이미지 정보와의 매칭 여부 그리고 상기 신뢰성 모드 정보에 따라 상기 운영체제 이미지를 상기 제 1 메모리 영역으로부터 상기 제 2 메모리 영역으로의 이동을 차단하는 메모리 컨트롤러를 포함한다.

Description

불휘발성 저장 장치 및 그것의 운영체제 이미지 프로그램 방법{NONVOLATILE STORAGE DEVICE AND OS IMAGE PROGRAM METHOD THEREOF}
본 발명은 반도체 메모리 장치에 관한 것으로, 좀 더 구체적으로는 데이터 신뢰성을 높일 수 있는 불휘발성 저장 장치 및 그것의 운영체제 이미지 프로그램 방법에 관한 것이다.
반도체 메모리 장치는 크게 휘발성 반도체 메모리 장치(Volatile semiconductor memory device)와 불휘발성 반도체 메모리 장치(Non-volatile semiconductor memory device)로 구분될 수 있다. 휘발성 반도체 메모리 장치는 읽고 쓰는 속도가 빠르지만 전원 공급이 끊기면 저장된 내용이 사라져 버리는 단점이 있다. 반면에 불휘발성 반도체 메모리 장치는 전원 공급이 중단되더라도 그 내용을 보존한다. 그러므로, 불휘발성 반도체 메모리 장치는 전원이 공급되었는지의 여부에 관계없이 보존되어야 할 내용을 저장하는데 쓰인다.
불휘발성 메모리 장치의 대표적인 예로 플래시 메모리 장치가 있다. 플래시 메모리 장치는 컴퓨터, 휴대폰, PDA, 디지털카메라, 캠코더, 보이스 리코더, MP3 플레이어, 개인용 휴대 단말기(PDA), 휴대용 컴퓨터(Handheld PC), 게임기, 팩스, 스캐너, 프린터 등(이하, '호스트'라 함)과 같은 정보기기들의 음성 및 영상 데이터 저장 매체로서 널리 사용되고 있다.
최근에는, 모바일 기기의 저장 매체로 낸드 플래시 기반의 임베디드 멀티미디어 카드(Embeded MultiMedia Card: 이하, eMMC)가 보편화되고 있다. 모바일 기기의 저장 매체는 기본적으로 모바일 기기의 운영체제 이미지(OS 이미지)를 저장하고 있다. eMMC는 모바일 기기의 인쇄회로 기판에 기본적으로 장착되어 출시된다. 따라서, eMMC에 저장되는 OS 이미지는 모바일 기기의 인쇄회로 기판에 장착되기 이전에 저장될 수 있다. 하지만, eMMC를 모바일 기기의 인쇄회로 기판에 마운트하는 공정에서, 표면 실장 기술(Surface Mount Technology: 이하, SMT)이나 적외선 리플로(IR Reflow) 등이 사용된다. 이러한 공정에 의하여 eMMC에 저장된 OS 이미지에 대한 신뢰성이 저하될 수 있다.
본 발명의 목적은 표면 실장 기술(SMT) 또는 적외선 리플로(IR Reflow) 기술을 적용하기 이전에 메모리 카드에 저장되는 OS 이미지에 대한 데이터 신뢰성을 제공하는 임베디드 멀티미디어 카드 및 그것의 OS 이미지 쓰기 방법을 제공하는 데 있다.
상기 목적을 달성하기 위한 본 발명에 따른 불휘발성 저장 장치는, 제 1 메모리 영역과 제 2 메모리 영역을 포함하는 불휘발성 메모리 장치 그리고 신뢰성 모드 정보가 저장되는 제 1 레지스터, 그리고 운영체제 이미지 정보가 저장되는 제 2 레지스터를 포함하며, 호스트로부터 쓰기 요청되는 운용체제 이미지와 상기 운영체제 이미지 정보와의 매칭 여부 그리고 상기 신뢰성 모드 정보에 따라 상기 운영체제 이미지를 상기 제 1 메모리 영역으로부터 상기 제 2 메모리 영역으로의 이동을 차단하는 메모리 컨트롤러를 포함한다.
상기 목적을 달성하기 위한 본 발명에 따른 운영체제 이미지를 메모리 카드에 프로그램하는 방법은, 상기 운영체제 이미지의 신뢰성 보장 모드에 따른 쓰기 기능의 지원 여부를 상기 메모리 카드의 제 1 레지스터로부터 읽어오는 단계, 상기 운영체제 이미지의 섹터 시작 어드레스, 섹터 카운트, 그리고 속성들 중 적어도 하나를 포함하는 운영체제 이미지 정보를 상기 메모리 카드의 제 2 레지스터에 기입하는 단계, 그리고 상기 운영체제 이미지를 상기 메모리 카드에 프로그램하는 단계를 포함하되, 상기 프로그램하는 단계에서, 상기 메모리 카드는 상기 운영체제 이미지 정보를 참조하여 상기 운영체제 이미지를 특정 에러율 이하로 관리하기 위한 신뢰성 보장 모드 또는 신뢰성 비보장 모드로 불휘발성 메모리 장치에 기입한다.
상기 목적을 달성하기 위한 본 발명에 따른 임베디드 멀티미디어 카드의 운영체제 이미지 프로그램 방법은, 운영체제 이미지 정보가 존재하는지 확인하는 단계, 상기 운영체제 이미지의 쓰기 요청이 상기 운영체제 이미지 정보와 매칭되는지 검출하는 단계, 그리고 상기 쓰기 요청과 상기 운영체제 이미지 정보가 매칭되는 경우에 쓰기 요청되는 상기 운영체제 이미지를 신뢰성 보장 모드에 따라 불휘발성 메모리 장치에 프로그램하는 단계를 포함한다.
이상과 같은 본 발명의 실시 예에 따르면, 표면 실장 기술이나 적외선 리플로 등을 적용한 이후에도 저장된 OS 이미지의 신뢰성을 보장할 수 있는 임베디드 멀티미디어 카드를 구현할 수 있다.
도 1은 본 발명의 실시 예에 따른 메모리 시스템을 보여주는 블록도이다.
도 2 내지 도 4는 도 1의 레지스터의 필드 값을 보여주는 테이블들이다.
도 5a 및 도 5b는 본 발명의 신뢰성 보장 모드를 보여주는 블록도들이다.
도 6은 본 발명의 실시 예에 따른 호스트의 OS 이미지 쓰기 동작을 보여주는 순서도이다.
도 7a 및 도 7b는 본 발명의 실시 예에 따른 메모리 카드의 OS 이미지 쓰기 동작을 보여주는 순서도들이다.
도 8은 본 발명의 다른 실시 예에 따른 메모리 시스템을 보여주는 블록도이다.
도 9는 도 8에 도시된 SMT 모드 셋 레지스터의 필드값을 보여주는 테이블이다.
도 10은 본 발명의 실시 예에 따른 호스트의 OS 이미지 쓰기 동작을 보여주는 순서도이다.
도 11은 본 발명의 다른 실시 예에 따른 메모리 카드의 OS 이미지 쓰기 동작을 보여주는 순서도이다.
도 12는 본 발명의 실시 예에 따른 메모리 카드 시스템을 보여주는 블록도이다.
도 13은 본 발명의 실시 예에 따른 휴대용 단말기를 나타내는 블록도이다.
앞의 일반적인 설명 및 다음의 상세한 설명 모두 예시적이라는 것이 이해되어야 하며, 청구된 발명의 부가적인 설명이 제공되는 것으로 여겨져야 한다. 참조 부호들이 본 발명의 바람직한 실시 예들에 상세히 표시되어 있으며, 그것의 예들이 참조 도면들에 표시되어 있다. 가능한 어떤 경우에도, 동일한 참조 번호들이 동일한 또는 유사한 부분을 참조하기 위해서 설명 및 도면들에 사용된다.
이하에서는, 플래시 메모리 장치를 사용하는 임베디드 멀티미디어 카드가 본 발명의 특징 및 기능을 설명하기 위한 예로서 사용될 것이다. 하지만, 이 기술 분야에 정통한 사람은 여기에 기재된 내용에 따라 본 발명의 다른 이점들 및 성능을 쉽게 이해할 수 있을 것이다. 본 발명은 다른 실시 예들을 통해 또한, 구현되거나 적용될 수 있을 것이다. 게다가, 상세한 설명은 본 발명의 범위, 기술적 사상 그리고 다른 목적으로부터 상당히 벗어나지 않고 관점 및 응용에 따라 수정되거나 변경될 수 있다.
도 1은 본 발명의 실시 예에 따른 메모리 시스템을 보여주는 블록도이다. 도 1을 참조하면, 메모리 시스템은 호스트(100)와 메모리 카드(200)를 포함한다. 호스트(100)는 메모리 카드(200)가 타깃 보드(Target board)에 장착되기 전에 OS 이미지를 프로그램할 수 있다. 그리고 호스트(100)는 메모리 카드(200)가 OS 이미지를 인식하여 신뢰성 보장 모드에 따라 처리할 수 있도록 설정할 수 있다. 좀더 자세히 설명하면 다음과 같다.
호스트(100)는 메모리 카드(200)에 데이터를 쓰거나, 메모리 카드(200)에 저장된 데이터를 읽는다. 호스트(100)는 명령어(CMD), 호스트(100) 내의 클록 발생기(도시되지 않음)에서 발생한 클록 신호(CLK), 그리고 데이터(Data)를 메모리 카드(200)로 전송한다. 호스트(100)는 메모리 카드(200)의 제조가 완료된 상태에서 메모리 카드(200)를 테스트하기 위한 장비일 수 있다. 특히, 호스트(100)는 메모리 카드(200)가 모바일 기기에 실장되기 전에 OS 이미지를 기입하기 위해 복수의 소켓을 구비하는 갱 장비(Gang Equipment)일 수도 있다. 그리고 호스트(100)는 표면 실장 기술(SMT)에 의해서 메모리 카드(200)가 장착되는 모바일 장치일 수도 있다. 이하에서는 본 발명의 호스트(100)는 OS 이미지를 메모리 카드(200)에 기록하기 위한 갱 장비(Gang Equipment)인 것으로 가정하여 본 발명의 이점이 설명될 것이다.
메모리 카드(200)는 카드 컨트롤러(210)와 불휘발성 메모리 장치(220)를 포함한다. 본 발명의 메모리 카드(200)로서 타깃 보드(Target board)에 내장(Embeded)되는 임베디드 멀티미디어 카드(Embeded MultiMedia Card: 이하, eMMC)가 예시될 것이다. 그러나 본 발명의 메모리 카드(200)는 임베디드 멀티미디어 카드(eMMC)에만 국한되지 않음은 이 분야에 기술을 습득한 자들에게는 잘 이해될 것이다.
카드 컨트롤러(210)는 호스트(100)로부터 명령어(CMD), 클록 신호(CLK), 그리고 데이터(Data)를 제공받는다. 쓰기 동작시, 카드 컨트롤러(210)는 호스트(100)로부터 쓰기 명령어(Write CMD)와 쓰기 데이터(Write Data)를 클록 신호(CLK)에 동기되어 제공받을 수 있다. 그리고 카드 컨트롤러(210)는 제공되는 쓰기 데이터(Write Data)를 불휘발성 메모리 장치(220)의 타깃 영역에 저장할 것이다.
카드 컨트롤러(210)는 본 발명의 실시 예에 따른 OS 이미지의 관리를 위해서 적어도 3개의 레지스터들(212, 214, 216)을 포함한다. 제 1 레지스터(212)는 호스트(100)에서 OS 이미지 정보(OS image information)를 제공하면, OS 이미지에 대한 신뢰성 보장 모드에 의한 쓰기 기능을 수행할 수 있는지를 나타내는 레지스터이다. 제 2 레지스터(214)는 호스트(100)에서 제공되는 OS 이미지 정보가 저장되는 레지스터이다. 제 3 레지스터(216)는 신뢰성 보장 모드에 따른 OS 이미지의 쓰기 동작의 시작 여부가 설정되는 레지스터이다.
제 1 레지스터(212)에 설정된 값이 본 발명의 신뢰성 보장 모드에 의한 OS 이미지 쓰기가 가능한 것이라 가정하자. 호스트(100)는 제 1 레지스터(212)에 설정된 값을 읽기 위하여 특정 명령어(예를 들면, CMD8)를 메모리 카드(200)에 제공할 것이다. 그러면, 카드 컨트롤러(210)는 제 1 레지스터(212)의 설정 비트들을 호스트(100)에 제공하고, 호스트(100)는 제공된 비트 값을 참조하여 메모리 카드(200)의 속성을 확인할 수 있다. 호스트(100)는 메모리 카드(200)의 신뢰성 보장 모드에 의한 OS 이미지 쓰기가 가능함을 확인하고, OS 이미지 정보를 제 2 레지스터(214)에 기입한다. OS 이미지 정보는, 예를 들면, OS 이미지의 사이즈 또는 어드레스 정보, 그 밖의 다양한 속성들이 포함될 수 있다. 제 2 레지스터(214)에 대한 쓰기가 완료되면, 호스트(100)는 제 3 레지스터(216)의 시작 비트를 활성화할 것이다. 그러면, 카드 컨트롤러(210)는 본 발명의 OS 이미지 쓰기 동작을 시작할 것이다.
불휘발성 메모리 장치(220)는 복수의 불휘발성 메모리 칩들을 포함할 수 있다. 불휘발성 메모리 장치(220)는 셀당 저장되는 데이터의 비트 수가 적은 제 1 메모리 영역과 셀당 저장되는 데이터의 비트 수가 제 1 메모리 영역보다 많은 제 2 메모리 영역을 포함할 수 있다. 제 1 메모리 영역에 저장된 데이터는 환경 변화나 물리적인 간섭에도 높은 데이터 신뢰성을 유지할 수 있다. 예를 들면, 제 1 메모리 영역은 하나의 메모리 셀에 1비트의 데이터를 저장하는 싱글 레벨 셀(Single Level Cell: SLC)로 관리될 수 있다. 그리고 제 2 메모리 영역은 하나의 메모리 셀에 2비트 또는 3비트의 데이터를 저장하는 멀티 레벨 셀로 관리될 수 있다. 하지만, 제 1 메모리 영역에도 2비트 이상의 데이터가 저장될 수 있다. 그러나 제 1 메모리 영역에 저장되는 데이터의 셀당 비트 수는 제 2 메모리 영역의 그것보다 적다.
제 1 메모리 영역으로의 쓰기 동작시 쓰기 속도는 제 2 메모리 영역에 비해서 상대적으로 빠르다. 그리고 제 2 메모리 영역에 비해서 제 1 메모리 영역에 저장된 데이터는 더 높은 신뢰성을 갖는다. 그래서 제 1 메모리 영역은 입력되는 데이터를 일시 저장하는 버퍼 용도로 사용된다. 반면, 제 2 메모리 영역은 데이터 집적도는 높지만, 상대적으로 낮은 데이터 신뢰성을 갖는다. 따라서, 불휘발성 메모리 장치(220)는 입력되는 데이터를 제 1 메모리 영역에 일시 저장한 후에, 이후 특정 시점에 제 1 메모리 영역에 저장된 데이터를 제 2 메모리 영역으로 옮긴다.
OS 이미지 쓰기 동작시 활성화되는 신뢰성 보장 모드는, 예를 들면, OS 이미지를 메모리 카드(200)가 인식하여 제 1 메모리 영역에만 저장하고, 제 2 메모리 영역으로의 이동을 차단하는 방식으로 수행될 수 있다. 하지만, OS 이미지에 대한 신뢰성 보장 모드는 여기에만 국한되지 않으며, OS 이미지의 신뢰성을 높이는 다양한 방식의 동작들이 적용될 수 있음은 잘 이해될 것이다.
도 2는 도 1의 제 1 레지스터의 비트 값을 예시적으로 보여주는 테이블이다. 도 2를 참조하면, 제 1 레지스터(212)에는 공급자 특정 기능(Vendor Specific Feature)을 지원하는 설정값이 저장된다.
제 1 레지스터(212)에 저장되는 1 바이트(1 Byte)의 데이터에는 공급자의 의도에 따라 다양한 특성값이 저장될 수 있다. 예시적으로 제 1 레지스터(212)에는 본 발명에 따른 OS 이미지 쓰기를 메모리 카드(200)가 지원하는지에 대한 정보가 저장될 수 있다. 예를 들면, 저장되는 1 바이트(1 Byte) 중에 두 번째 비트(Bit 1)에 본 발명의 OS 이미지 쓰기 동작의 지원 여부가 저장될 수 있다. 만일, 호스트(100)에서 읽어낸 두 번째 비트(Bit 1)의 설정값이 논리 '0'이라면, 호스트(100)는 본 발명의 OS 이미지 쓰기 동작을 메모리 카드(200)가 지원하지 않는다고 판단할 것이다. 반면, 두 번째 비트(Bit 1)의 설정값이 논리 '1'이라면, 호스트(100)는 본 발명의 OS 이미지 쓰기 동작을 메모리 카드(200)가 지원하는 것으로 인식할 것이다.
호스트(100)는 OS 이미지 쓰기를 지원하는지의 여부를 확인하기 위해서 카드 특정 데이터(Card Specific Data: 이하, CSD) 레지스터의 설정값을 읽어오기 위한 명령어를 제공할 것이다. 카드 특정 데이터 레지스터(CSD register)에 대한 읽기 요청에 의해서 호스트(100)는 제 1 레지스터(212)에 저장된 두 번째 비트(Bit 1)의 논리값을 확인하게 될 것이다. 그리고 호스트(100)는 메모리 카드(200)가 본 발명의 OS 이미지 쓰기를 지원하는지의 여부에 따라 제 2 레지스터(214)에 OS 이미지 정보를 기입할 것이다.
도 3은 도 1의 제 2 레지스터의 비트 값을 예시적으로 보여주는 테이블이다. 도 3을 참조하면, 제 2 레지스터(214)에는 본 발명의 OS 이미지 쓰기 동작을 지원하는 메모리 카드(200)에서 사용할 OS 이미지 정보가 저장된다.
제 2 레지스터(214)에는 호스트(100)에서 파악한 OS 이미지 정보가 저장된다. 여기서, 호스트(100)에서 파악한 OS 이미지 정보는 메모리 카드(200)가 모바일 기기에 장착되기 이전, 특히, 표면 실장 기술(SMT)을 적용하기 이전에만 한정되는 OS 이미지 정보에 해당한다. 좀더 구체적으로 설명하면, OS 이미지 정보는 SMT 이전에 메모리 카드(200)에 저장되는 OS 이미지의 사이즈 정보가 포함될 수 있다. OS 이미지 정보에는, 예를 들면, OS 이미지가 저장되는 시작 섹터 어드레스(Start sector address)가 포함될 수 있다. 그리고 OS 이미지 정보에는 OS 이미지의 사이즈에 대응하는 섹터 카운트(Sector count)가 포함될 수 있다. 이밖에 OS 이미지 정보에는 호스트(100)에서 쓰기 요청되는 OS 이미지에 대한 다양한 파일 속성(Attribute 1, Attribute 2)들이 포함될 수 있다.
OS 이미지 정보가 제 2 레지스터(214)에 저장되면, 메모리 카드(200)는 이후에 호스트(100)로부터 쓰기 요청되는 데이터가 OS 이미지라는 것을 인식하게 된다. 그리고 메모리 카드(200)는 OS 이미지에 대해서 SMT 동작, 적외선 리플로(IR Reflow)와 같은 공정에도 데이터의 신뢰성을 보장하기 위한 쓰기 동작을 수행하게 된다.
여기서, 제 2 레지스터(214)의 크기가 4 바이트(4 Bytes)인 것으로 설명하였으나 본 발명은 여기에 국한되지 않는다. OS 이미지 정보를 충분히 수용할 수 있는 사이즈의 레지스터가 제 2 레지스터(214)에 추가로 제공될 수 있다.
도 4는 도 1의 제 3 레지스터의 비트 값을 예시적으로 보여주는 테이블이다. 도 4를 참조하면, 제 3 레지스터(216)에는 OS 이미지 정보의 설정이 완료된 후에 메모리 카드(200)의 OS 이미지에 대한 신뢰성 보장 모드를 활성화하는 설정값이 저장된다. 예시적으로 제 3 레지스터(216)는 1 바이트(1 Byte)로 구성되며, LSB(Bit 0), 비트(Bit 1), MSB(Bit 7)에 본 발명의 OS 이미지에 대한 신뢰성 보장 모드의 활성화 여부, 및 상태가 설정될 수 있다. 여기서, LSB(Bit 0), 비트(Bit 1), MSB(Bit 7) 각각은 디폴트값으로 논리 '0'로 설정된 것으로 가정한다.
제 3 레지스터(216)의 LSB(Bit 0)에는 OS 이미지에 대한 신뢰성 보장 모드의 활성화 여부가 저장된다. 호스트(100)는 제 2 레지스터(214)에 OS 이미지 정보를 기입한 이후에 제 3 레지스터(216)의 LSB(Bit 0)를 논리 '1'로 스위칭할 수 있다. 이때에 호스트(100)는 제 3 레지스터(216)의 LSB(Bit 0)를 논리 '1'로 기입하기 위한 스위칭 명령어를 사용할 수 있을 것이다. 이후, 메모리 카드(200)는 제 3 레지스터(216)의 LSB(Bit 0)를 참조하여 입력되는 OS 이미지에 대해서 신뢰성 보장 모드의 실시 여부를 판단할 것이다.
제 3 레지스터(216)의 MSB(Bit 7)에는 OS 이미지에 대한 신뢰성 보장 모드의 비활성화 여부가 저장된다. 예를 들면, 호스트(100)는 신뢰성 보장 모드에 의한 OS 이미지의 프로그램이 완료된 후에 제 3 레지스터(216)의 MSB(Bit 7)를 논리 '1'로 스위칭할 수 있다. 또는, 호스트(100)는 SMT나, 적외선 리플로(IR Reflow) 공정이 완료된 후에 제 3 레지스터(216)의 MSB(Bit 7)를 논리 '1'로 스위칭할 수 있다. 이때에 호스트(100)는 제 3 레지스터(216)의 MSB(Bit 7)를 논리 '1'로 기입하기 위한 스위칭 명령어를 사용할 수 있을 것이다. 제 3 레지스터(216)의 MSB(Bit 7)의 논리 값을 참조하여 메모리 카드(200)는 쓰기 요청되는 OS 이미지에 대해서 신뢰성 보장 모드의 활성화 여부를 결정할 수 있다. 만일, 제 3 레지스터(216)의 MSB(Bit 7) 논리값이 논리 '1'인 것이 확인되면, 메모리 카드(200)는 OS 이미지에 대해서 더 이상 신뢰성 보장 모드를 적용하지 않을 것이다.
제 3 레지스터(216)의 비트(Bit 1)에는 OS 이미지에 대한 신뢰성 보장 모드의 현재 상태, 즉 신뢰성 보장 모드의 활성화 또는 비활성화 여부가 저장된다. 제 3 레지스터(216)의 비트(Bit 1)의 논리 ‘0’은 현재 신뢰성 보장 모드가 비활성화 상태임을 나타낼 수 있다. 제 3 레지스터(216)의 비트(Bit 1)의 논리 ‘1’은 현재 신뢰성 보장 모드가 활성화 상태임을 나타낼 수 있다.
예를 들면, 호스트(100)는 신뢰성 보장 모드에 의한 OS 이미지의 프로그램이 완료된 후에, 제 3 레지스터(216)의 비트(Bit 1)의 논리 값을 참조하여 현재의 신뢰성 보장 모드의 상태를 확인할 수 있다. 만일, 제 3 레지스터(216)의 LSB(Bit 0)의 논리값이 논리 ‘1’이고 MSB(Bit 7) 논리값이 ‘0’이라 하더라도, 메모리 카드(200) 내부적으로 OS 이미지에 대한 신뢰성 보장 모드가 해제될 경우, 제 3 레지스터(216)의 비트(Bit 1)가 논리 ‘0’으로 저장될 수 있다. 그러면, 호스트(100)가 제 3 레지스터(216)에 설정된 값을 읽기 위하여 특정 명령어(예를 들면, CMD8)를 메모리 카드(200)에 제공하면, 카드 컨트롤러(210)는 제 3 레지스터(216)의 설정 비트들을 호스트(100)에 제공하게 될 것이다. 호스트(100)는 제공된 설정 비트들의 논리 값을 참조하여 메모리 카드(200)의 속성을 확인할 수 있다. 이로써 호스트(100)는 메모리 카드(200)에서의 현재 OS 이미지에 대한 신뢰성 보장 모드가 활성화되어 있는 지와, 그리고 신뢰성 보장 모드 동작이 자동적으로 종료되었는지를 판단할 수 있게 된다.
도 5a 및 도 5b는 본 발명의 신뢰성 보장 모드에 따른 쓰기 동작을 예시적으로 보여주는 블록도들이다. 도 5a는 신뢰성 보장 모드가 비활성화된 경우의 불휘발성 메모리 장치(220)로의 데이터 쓰기 과정을 보여주고, 도 5b는 신뢰성 보장 모드가 활성화된 경우의 데이터 쓰기 과정을 보여준다.
여기서, 본 발명의 불휘발성 메모리 장치(220)는 신뢰성 보장 모드를 제공하기 위해서 버퍼 메모리(222)와 메인 메모리(224)를 포함할 수 있다. 설명의 편의를 위하여 퍼 메모리(222)는 하나의 메모리 셀에 1 비트가 저장되는 싱글 레벨 셀(SLC)로 관리되는 것으로 간주한다. 그리고 메인 메모리(224)는 하나의 메모리 셀에 3 비트가 저장되는 트리플 레벨 셀(TLC)로 관리되는 것으로 간주한다. 하지만, 버퍼 메모리(222)와 메인 메모리(224)의 싱글 레벨 셀(SLC)과 트리플 레벨 셀(TLC)에 한정되지 않으며, 버퍼 메모리(222)의 셀당 저장 비트 수가 메인 메모리(224)의 셀당 저장 비트 수보다 적으면 된다.
예시적으로 싱글 레벨 셀(SLC)로 구성되는 버퍼 메모리(222)는 상대적으로 높은 쓰기 속도를 제공한다. 그리고 싱글 레벨 셀(SLC)에서는 읽기 전압에 의해서 식별될 문턱 전압 산포가 2개의 상태에 국한되기 때문에, 버퍼 메모리(222)는 큰 읽기 마진을 가진다. 따라서, 버퍼 메모리(222)는 표면 실장 기술(SMT) 또는 적외선 리플로와 같은 공정에 노출되더라도 높은 데이터 신뢰성을 유지할 수 있다.
트리플 레벨 셀(TLC)로 구성되는 메인 메모리(224)는 싱글 레벨 셀(SLC)로 구성되는 버퍼 메모리(222)에 비하여 상대적으로 낮은 쓰기 속도를 제공한다. 트리플 레벨 셀(TLC)에서는 한정된 전압 윈도 내에서 식별 가능한 8개의 문턱 전압 분포들이 수용되어야 한다. 따라서, 메인 메모리(224)는 상대적으로 작은 읽기 마진을 가지며, 외부의 간섭에 의해서 쉽게 열화될 수 있다. 따라서, 표면 실장 기술(SMT)이나 적외선 리플로(IR Reflow)와 같은 높은 온도에 노출되면, 메인 메모리(224)에 기록된 데이터의 신뢰성은 보장되기 어렵다.
메모리 카드(200)의 일반적인 쓰기 동작에서, 대부분의 데이터는 버퍼 메모리(222)에 먼저 프로그램된다. 그리고 버퍼 메모리(222)에 프로그램된 데이터는 이후 특정 시점에 메인 메모리(224)로 이동하게 될 것이다. 버퍼 메모리(222)에서 메인 메모리(224)로의 데이터 이동(Migration)은 백그라운드 동작으로 실시될 수 있다. 또는, 버퍼 메모리(222)에서 메인 메모리(224)로의 데이터 이동은 버퍼 메모리(222)의 쓰기 가능한 공간의 크기에 따라 실시될 수도 있을 것이다. 여기서, 버퍼 메모리(222)와 메인 메모리(224)는 각각 별도의 메모리 칩들로 제공될 수 있다. 즉, 불휘발성 메모리 장치(220)는 버퍼 메모리(222)를 구성하는 적어도 하나의 메모리 칩과, 메인 메모리(224)를 구성하는 하나 이상의 메모리 칩들로 구성될 수 있을 것이다. 또는, 불휘발성 메모리 장치(220)는 버퍼 메모리(222)와 메인 메모리(224)는 이종의 메모리들이 집적된 하나의 칩으로도 구현될 수 있을 것이다.
도 5a를 참조하면, 신뢰성 보장 모드가 활성화되지 않은 일반적인 쓰기 동작시(예를 들면, 제 3 레지스터(216)의 LSB가 논리 '0'로 검출되는 경우)에 발생하는 데이터 이동이 도시되어 있다. 먼저, 호스트(100)로부터 쓰기 데이터(Write data)가 제공되면, 카드 컨트롤러(210)의 제어에 따라 쓰기 데이터는 버퍼 메모리(222)에 프로그램될 것이다. 이러한 절차는 부호 (①)로 도시되어 있다. 그리고 카드 컨트롤러(210)에 의해서 버퍼 메모리(222)에 저장된 데이터는 특정 시점에 메인 메모리(224)의 타깃 영역(Target Area)으로 이동하게 될 것이다. 이러한 절차는 부호(②)로 표시되어 있다.
도 5b를 참조하면, 신뢰성 보장 모드가 활성화된 쓰기 동작에서의 데이터 관리 방법이 도시되어 있다. 먼저, 호스트(100)로부터 쓰기 데이터(Write data)가 제공되면, 카드 컨트롤러(210)의 제어에 따라 쓰기 데이터는 버퍼 메모리(222)에 프로그램될 것이다. 이러한 절차는 부호 (①)로 도시되어 있다. 하지만, 쓰기 요청되는 데이터에 대한 신뢰성 보장 모드가 활성화된 경우, 버퍼 메모리(222)에 저장된 데이터의 메인 메모리(224)로의 이동은 차단된다. 예를 들면, 제 3 레지스터(216)의 LSB(Bit 0)가 논리 '1'로 검출되는 경우가 여기에 해당한다.
신뢰성 보장 모드의 예로서, 쓰기 요청되는 데이터를 싱글 레벨 셀(SLC)로 구성되는 버퍼 메모리(222)로부터 트리플 레벨 셀(TLC)로 구성되는 메인 메모리(224)로의 이동을 차단하는 방식이 설명되었다. 하지만, 본 발명은 여기에 국한되지 않는다. 이 밖에도 다양한 방식의 신뢰성 보장 모드가 본 발명의 OS 이미지의 쓰기 동작에 적용될 수 있음은 잘 이해될 것이다.
도 6은 본 발명의 실시 예에 따른 호스트의 OS 이미지 쓰기 동작을 보여주는 순서도이다. 도 6을 참조하면, 호스트(100)는 표면 실장 기술(SMT)을 적용하기 이전에 OS 이미지를 메모리 카드(200)에 프로그램한다. 여기서, 호스트(100)는 표면 실장 기술(SMT)을 적용하기 이전에 메모리 카드(200)에 코드 데이터(Code data)나 OS 이미지 등을 기록하기 위한 갱 장비(Gang Equipment)일 수 있다. OS 이미지가 기록될 메모리 카드(200)가 호스트에 연결되면 본 발명의 OS 이미지 쓰기가 시작된다.
S110 단계에서, 호스트(100)는 메모리 카드(200)가 본 발명의 OS 이미지 쓰기 동작을 지원하는지 검출한다. 호스트(100)는 메모리 카드(200)가 연결되면, 공급자 특정 설정(Vendor specific feature)이 기록된 레지스터를 읽기 위한 명령어를 제공할 수 있다. 예를 들면, 호스트(100)는 제 1 레지스터(212, 도 2 참조)의 설정을 읽어내기 위한 명령어를 메모리 카드(200)에 제공할 것이다. 그러면, 메모리 카드(200)는 제 1 레지스터(212)에 기록된 데이터를 호스트(100)로 전달할 것이다. 호스트(100)는 메모리 카드(200)로부터 제공되는 제 1 레지스터(212)의 설정을 참조하여 메모리 카드(200)가 본 발명의 OS 이미지 쓰기 동작을 지원하는지를 판단할 것이다. 여기서 본 발명의 OS 이미지 쓰기 동작은 메모리 카드(200)가 호스트(100)로부터 제공되는 OS 이미지에 대한 인식 및 OS 이미지에 대한 신뢰성 보장 모드를 선택적으로 적용하는 것을 의미한다.
S120 단계에서, 호스트(100)는 메모리 카드(200)가 본 발명의 OS 이미지 쓰기 동작을 지원하는지를 판단한다. 호스트(100)는 메모리 카드(200)로부터 제공되는 제 1 레지스터(212)의 설정(Bit 1)을 참조하여 동작 분기를 수행한다. 만일, 메모리 카드(200)가 본 발명의 OS 이미지 쓰기 동작을 지원하지 못하는 것으로 검출되면(No 방향), 절차는 단계 S140으로 이동한다. 반면, 메모리 카드(200)가 본 발명의 OS 이미지 쓰기 동작을 지원하는 것으로 검출되면(Yes 방향), 절차는 단계 S130으로 이동한다.
S130 단계에서, 호스트(100)는 OS 이미지 정보를 메모리 카드(200)에 입력한다. 호스트(100)는 제 1 레지스터(212)의 설정(Bit 1)이 논리 '1'에 대응하는 것으로 검출되면, 입력되는 OS 이미지를 메모리 카드(200)가 인식하도록 OS 이미지 정보를 메모리 카드(200)에 기록한다. 호스트(100)는 제 2 레지스터(214, 도 3 참조)에 호스트(100)에서 보유하고 있는 OS 이미지 정보를 기록한다. 여기서, 호스트(100)는 OS 이미지를 저장하기 위한 시작 섹터 어드레스(Start sector address)를 메모리 카드(200)에 저장할 수 있다. 그리고 호스트(100)는 OS 이미지의 사이즈에 대응하는 섹터 카운트(Sector count)를 제 2 레지스터(214)에 기록할 수 있다. 이밖에 호스트(100)는 메모리 카드(200)가 쓰기 요청되는 OS 이미지를 인식하기 위한 파일 속성(Attribute 1, Attribute 2)들을 제 2 레지스터(214)에 기록할 수 있다. OS 이미지 정보를 기록하기 위한 절차는 복수의 스위칭 명령어를 통해서 수행될 수 있음은 당업자에게 잘 이해될 것이다.
더불어, OS 이미지 정보의 기록이 완료되면, 호스트(100)는 메모리 카드의 제 3 레지스터(216)의 LSB를 논리 '1'로 활성화할 수 있을 것이다. 제 3 레지스터(216)의 LSB가 논리 '1'로 활성화되면, 이후에 쓰기 요청되는 데이터에 대해서는 OS 이미지로 인식하고, 본 발명의 신뢰성 보장 모드에 따라 처리될 것임을 의미한다.
S140 단계에서, 호스트(100)는 OS 이미지가 저장될 메모리 영역에 대한 소거 동작을 수행할 것이다. 호스트(100)는 메모리 카드(200)가 본 발명의 OS 이미지 쓰기 동작을 지원하는 경우에는 OS 이미지 정보에 대응하는 영역만을 소거하도록 카드 컨트롤러(210)에 요청할 수 있을 것이다. 반면, 호스트(100)는 메모리 카드(200)가 본 발명의 OS 이미지 쓰기 동작을 지원하지 못하는 경우에는 OS 이미지 또는 코드 데이터를 저장하기 위하여 전체 메모리 영역을 소거하도록 카드 컨트롤러(210)에 요청할 수 있다. OS 이미지를 기록하기 이전에 소거 동작을 수행하는 이유는, OS 이미지 쓰기 동작중에 발생할 수 있는 쓰기 실패시에 이미 기록된 OS 이미지의 일부분을 소거하여 메모리 카드(200)의 용량을 충분히 확보하기 위한 동작이다.
S150 단계에서, 호스트(100)는 메모리 카드(200)에 OS 이미지에 대한 쓰기 명령(CMD) 및 OS 이미지를 제공한다. 호스트(100)는 메모리 카드(200)에 스트림 쓰기 또는 블록 쓰기 명령어를 통해서 OS 이미지를 기입할 수 있다.
S160 단계에서, 호스트(100)는 기입된 OS 이미지에 대한 검증 동작을 수행한다. 호스트(100)는 특정 영역에 기입된 OS 이미지에 대한 에러 검출이나 기타의 방식으로 진행되는 검증 동작을 통해서 쓰기 실패인지 또는 쓰기 성공인지를 판단할 것이다.
S170 단계에서, 호스트(100)는 OS 이미지에 대한 쓰기 검증의 결과에 따라 동작 분기를 실시한다. 검증 결과가 메모리 카드(200)에 기록된 OS 이미지의 쓰기 성공으로 검출되는 경우(Yes 방향), 절차는 이후에 계획된 표면 실장 기술(SMT) 단계로 이동한다. 반면, 검증 결과가 메모리 카드(200)에 기록된 OS 이미지의 쓰기 실패로 검출되는 경우(No 방향), 절차는 기존의 기록된 메모리 영역을 소거하고 OS 이미지를 재기록하기 위하여 S140 단계로 복귀한다.
S180 단계에서, 호스트(100)는 본 발명의 OS 이미지 쓰기 동작이 완료됨에 따라 이후에 수행되는 OS 이미지에 대한 쓰기 동작시에는 신뢰성 보장 모드가 적용되지 못하도록 레지스터를 설정한다. 예를 들면, 호스트(100)는 제 3 레지스터(216)의 MSB를 논리 '1'로 스위칭할 수 있다. 그러면, 메모리 카드(200)로의 OS 이미지 쓰기 시에 신뢰성 보장 모드의 적용은 영구적으로 차단될 것이다.
S190 단계에서, 메모리 카드(200)에 대한 표면 실장 기술(SMT) 적용이 수행된다. 메모리 카드(200)는 실장될 모바일 기기의 메인 보드에 장착되는 공정을 거칠 것이다. 이때, 적외선 리플로(IR Reflow)가 적용될 수 있음을 잘 이해될 것이다. 표면 실장 기술(SMT)에 따라 모바일 기기에 메모리 카드가 장착되면, 본 발명의 OS 이미지 쓰기 동작이 완료된다.
이상에서는 호스트(100)에서 제어되는 본 발명에 따른 OS 이미지 쓰기 방법이 설명되었다. 갱 장비(Gang Equipment)와 같은 호스트(100)는 복수의 슬롯을 장착하고, 임베디드 멀티미디어 카드(eMMC)에 본 발명의 신뢰성 보장 모드에 따라 OS 이미지를 기록할 수 있다. 이 경우, 표면 실장 기술(SMT)이 적용된 이후에도 임베디드 멀티미디어 카드(eMMC)에 저장된 OS 이미지의 신뢰성은 유지될 수 있다.
도 7a 및 도 7b는 본 발명의 실시 예에 따른 메모리 카드의 OS 이미지 쓰기 동작을 보여주는 순서도이다. OS 이미지 정보의 기록이 완료된 메모리 카드(200)는 호스트(100)의 쓰기 요청에 따라 본 발명의 OS 이미지 쓰기 동작을 수행할 수 있다. 예를 들면, OS 이미지 정보의 입력이 완료되고, 제 3 레지스터(216, 도 4 참조)의 LSB가 논리 '1'로 활성화된 이후에, 메모리 카드(200)의 동작이 도 7a 및 도 7b을 참조하여 설명될 것이다. 도 7a를 참조하여 호스트(100)로부터의 요청에 따른 메모리 카드(200)의 동작 분기가 설명될 것이다.
S210 단계에서, 메모리 카드(200)는 초기화 동작을 수행할 수 있다. 초기화 동작을 통해서 메모리 카드(200)는 OS 이미지 쓰기나 또는 기타의 코드 데이터, 레지스터 설정 동작을 위한 내부 환경을 초기화하게 될 것이다.
S220 단계에서, 메모리 카드(200)는 호스트(100)로부터 제공되는 제반 요청(Request)들을 수신한다. 여기서, 호스트(100)로부터 제공되는 요청들은 OS 이미지 쓰기에만 국한될 필요는 없다. 본 발명의 메모리 카드(200)는 호스트(100)로부터 제공되는 다양한 접근 요청에 대해서도 처리할 수 있어야 한다.
S230 단계에서, 호스트(100)로부터 제공되는 요청의 종류에 따라 동작 분기가 발생한다. 호스트(100)로부터 전달되는 요청이 쓰기(Write) 요청이나 레지스터 설정(Register set) 요청이 아닌 경우(Etc 방향), 절차는 S240 단계로 이동한다. 호스트(100)로부터 전달되는 요청이 레지스터 설정(Register set) 요청인 경우(Register set 방향), 절차는 S250 단계로 이동한다. 호스트(100)로부터 전달되는 요청이 쓰기(Write) 요청인 경우(Write 방향), 절차는 S260 단계로 이동한다.
S240 단계에서, 메모리 카드(200)는 호스트(100)에서 요청된 동작을 수행하게 될 것이다. 비록, OS 이미지 정보를 제공받았다 할지라도 호스트(100)로부터 OS 이미지와 관계없는 요청이 제공될 수도 있기 때문이다.
S250 단계에서, 메모리 카드(200)는 호스트(100)에서 요청된 레지스터 설정(Register set) 동작을 수행한다. 예를 들면, 호스트(100)로부터 다양한 스위칭 명령어가 제공되는 경우에 메모리 카드(200)는 해당 레지스터 필드에 호스트(100)에 의해서 요청되는 설정값을 기록할 것이다. 이 경우, OS 이미지 쓰기에 관련된 요청이라 하더라도 메모리 카드(200)는 호스트(100)에 의해서 요청된 범위에서 레지스터 설정 동작을 수동적으로 수행할 것이다.
S260 단계에서, 본 발명의 실시 예에 따른 OS 이미지 쓰기 동작이 수행된다. 메모리 카드(200)는 OS 이미지 정보와 OS 이미지의 쓰기 동작의 활성화 여부를 검출한다. 그리고 검출된 데이터를 참조하여 호스트(100)의 개입없이 OS 이미지의 쓰기 모드를 결정할 수 있다. 예를 들면, 메모리 카드(200)는 제 2 레지스터(214, 도 3 참조)와 제 3 레지스터(216, 도 4 참조)를 참조하여 쓰기 요청되는 데이터에 대한 신뢰성 보장 모드 를 활성화 또는 비활성화할 수 있다. 이러한 판단 절차는 후술하는 도 7b에서 보다 상세하게 설명하기로 한다.
S270 단계에서, 메모리 카드(200)는 선택된 모드에 따라 쓰기 요청된 OS 이미지를 불휘발성 메모리 장치(220, 도 1 참조)에 기입한다. 만일, OS 이미지의 쓰기 동작이 신뢰성 보장 모드로 결정된 경우, 메모리 카드(200)는 쓰기 요청된 데이터의 버퍼 메모리(222, 도 5b 참조)로부터 메인 메모리(224, 도 5b 참조)로의 이동을 차단할 것이다. 하지만, OS 이미지의 쓰기 모드가 신뢰성 보장 모드가 아닌 것으로 판단된 경우, 메모리 카드(200)는 쓰기 요청된 데이터를 특정 시점에서 버퍼 메모리(222)에서 메인 메모리(224)로 이동시킬 것이다.
S280 단계에서, 메모리 카드(200)는 종료 모드인지 여부를 검출한다. 외부 명령어나 또는 내부의 동작 상태가 종료 모드 또는 전원 차단 모드인 경우(Yes 방향), 메모리 카드(200)는 제반 동작을 중지하게 될 것이다. 하지만, 종료 모드가 아닌 경우(No 방향)에는 호스트(100)로부터 제공되는 요청을 모니터링하기 위한 S220 단계로 복귀할 것이다.
이상에서는 본 발명의 실시 예에 따른 메모리 카드(200)의 OS 이미지 쓰기 동작이 설명되었다. 메모리 카드(200)는 OS 이미지의 쓰기 동작시 호스트(100)의 개입없이 신뢰성 보장 모드 또는 신뢰성 비보장 모드를 결정할 수 있다. 이러한 기능은 메모리 카드(200)가 표면 실장 기술(SMT)의 적용 이전에는 OS 이미지에 대한 신뢰성을 보장하게 한다. 반면, 표면 실장 기술(SMT)의 적용 이후에는 외부의 개입없이 메모리 카드(200)에 저장된 OS 이미지에 대한 신뢰성 보장 모드가 해제되도록 설정된다.
도 7b는 도 7a의 S260 단계를 좀더 구체적으로 보여주는 순서도이다. 도 7b를 참조하면, 본 발명의 실시 예에 따른 OS 이미지 쓰기 동작이 설명된다. S230 단계에서, 쓰기 요청이 발생하면, 쓰기 동작을 위한 S260 단계의 제반 절차들이 시작된다.
S261 단계에서, 메모리 카드(200)는 OS 이미지에 대한 신뢰성 설정 정보를 검출한다. 메모리 카드(200)는 예를 들면, 제 3 레지스터(도 4 참조)의 MSB의 논리값을 검출하여, 쓰기 요청된 데이터의 신뢰성 보장 모드가 비활성화되어 있는지 검출한다. 만일, 제 3 레지스터(216, 도 4 참조)의 MSB의 논리값이 논리 '1'로 스위칭되어 있는 상태라면, OS 이미지에 대한 신뢰성 보장 모드가 해제된 상태임을 나타낸다. 이 경우(Yes 방향), 절차는 신뢰성 보장 모드가 아닌 일반 모드로 쓰기 요청된 데이터를 기입하기 위하여 S270 단계로 이동한다. 반면, 제 3 레지스터(216)의 MSB가 논리 '0', LSB가 논리 '1'로 유지되는 상태라면, OS 이미지에 대한 신뢰성 보장 모드가 활성화된 상태로 판단될 수 있다. 이 경우(No 방향), 절차는 OS 이미지 정보의 존재 여부를 확인하기 위한 S263 단계로 이동한다.
S263 단계에서, 메모리 카드(200)는 호스트(100)로부터 OS 이미지 정보(OS Image Information)를 제공받았는지 확인한다. OS 이미지 정보의 존재 여부는 도 3의 제 2 레지스터(214)의 설정을 참조하여 판단할 수 있다. 하지만, 도 4에 설명된 제 3 레지스터(216)의 논리값을 확인하는 것으로 OS 이미지 정보가 입력되었는지를 판단할 수 있다. 어쨌든, OS 이미지 정보가 존재하는 것으로 검출되면(Yes 방향), 절차는 S265 단계로 이동한다. 반면, OS 이미지 정보가 존재하지 않는 것으로 검출되면(No 방향), 절차는 S270 단계로 이동한다.
S265 단계에서, 쓰기 요청되는 OS 이미지가 저장되는 타겟 영역이 이미 저장된 OS 이미지 정보와 일치하는지 검출한다. 쓰기 요청시에 제공되는 어드레스가 제 2 레지스터(214)에 호스트(100)에 의해서 입력된 섹터 카운트의 범위 이내인지 또는 초과하는지가 검출될 것이다. 만일, 쓰기 요청된 데이터의 타깃 어드레스가 OS 이미지 정보의 섹터 정보와 일치하지 않는 경우(No 방향), 절차는 S267 단계로 이동한다. 반면, 쓰기 요청된 데이터의 타깃 어드레스가 OS 이미지 정보의 섹터 정보와 일치하는 경우(Yes 방향), 절차는 S269 단계로 이동한다.
S267 단계에서, 메모리 카드(200)는 쓰기 요청되는 데이터에 대한 신뢰성 보장 모드를 해제한다. 예를 들면, 쓰기 요청된 OS 이미지의 신뢰성 보장 모드의 상태를 보여주는 제 3 레지스터(216)의 비트(Bit 1)를 논리 '0'으로 설정하고, 해당 데이터에 대한 신뢰성 보장 모드는 현재 이후로 보장되지 않게 된다. 이때에는 제 3 레지스터(216)의 MSB(Bit 7)와 LSB(Bit 0)의 논리값은 기존값 그대로 유지될 것이다.
S269 단계에서, 메모리 카드(200)는 쓰기 요청되는 OS 이미지에 대한 신뢰성 보장 모드를 설정한다. 예를 들면, 메모리 카드(200)가 제 3 레지스터(216)의 비트(Bit 1)를 논리 '1'로 설정하면, 해당 데이터에 대한 신뢰성 보장 모드는 현재 이후로부터 활성화될 것이다. 이때에는 제 3 레지스터(216)의 MSB(Bit 7)와 LSB(Bit 0)의 논리값은 기존 그대로 유지될 것이다.
도 8은 본 발명의 다른 실시 예에 따른 메모리 시스템을 보여주는 블록도이다. 도 8을 참조하면, 메모리 시스템은 호스트(300)와 메모리 카드(400)를 포함한다. 호스트(300)는 메모리 카드(400)의 표면 실장 기술(SMT)의 적용 이전에 OS 이미지를 기입할 수 있다. 그리고 표면 실장 기술(SMT)의 적용 이후에 호스트(300)는 OS 이미지에 대한 신뢰성 보장 모드가 비활성화되도록 메모리 카드(400)의 레지스터를 설정할 수 있다.
호스트(300)는 메모리 카드(400)에 데이터를 쓰거나, 메모리 카드(400)에 저장된 데이터를 읽는다. 호스트(300)는 명령어(CMD), 클록 신호(CLK), 그리고 데이터(Data)를 메모리 카드(400)로 전송할 수 있다. 호스트(300)는 메모리 카드(400)의 제조가 완료된 상태에서 메모리 카드(400)를 테스트하는 장비일 수 있다. 특히, 호스트(300)는 메모리 카드(400)가 모바일 기기에 실장되기 전에 OS 이미지를 기입하기 위해 복수의 소켓을 구비하는 갱 장비(Gang Equipment)일 수도 있다. 그리고 호스트(300)는 표면 실장 기술(SMT)에 의해서 메모리 카드(400)가 장착되는 모바일 장치일 수도 있다. 본 발명의 호스트(300)로서 OS 이미지를 메모리 카드(400)에 기록하는 갱 장비(Gang Equipment)가 예시적으로 설명될 것이다.
메모리 카드(400)는 카드 컨트롤러(410)와 불휘발성 메모리 장치(420)를 포함한다. 카드 컨트롤러(410)는 호스트(300)로부터 명령어(CMD), 클록 신호(CLK), 그리고 데이터(Data)를 제공받는다. 쓰기 동작시, 쓰기 명령어(Write CMD)와 쓰기 데이터(Write Data)를 클록 신호(CLK)에 동기되어 제공받을 수 있다. 그리고 카드 컨트롤러(410)는 제공되는 쓰기 데이터(Write Data)는 불휘발성 메모리 장치(420)의 타깃 영역에 저장할 것이다.
카드 컨트롤러(410)는 본 발명의 실시 예에 따른 OS 이미지의 관리를 위한 SMT 모드 셋 레지스터(412)를 포함한다. 레지스터(412)에는 SMT(또는 적외선 리플로)에 대비하기 위한 데이터의 쓰기 모드가 입력된다. 예를 들면, SMT가 수행되기 이전에 SMT 수행시에 발생하는 데이터의 에러를 방지하기 위해서 SMT 모드 셋 레지스터(412)를 쓰기 인에이블 상태로 설정할 수 있다. SMT 모드 셋 레지스터(412)의 쓰기 인에이블 상태에서, 카드 컨트롤러(410)는 신뢰성 보장 모드로 입력되는 데이터를 불휘발성 메모리 장치(420)에 프로그램할 것이다. 하지만, SMT 모드 셋 레지스터(412)의 쓰기 디스에이블 상태에서는, 카드 컨트롤러(410)는 입력되는 데이터에 대한 신뢰성 보장 모드를 비활성화하게 될 것이다.
SMT 모드 셋 레지스터(412)의 설정은 OS 이미지와 같은 데이터를 메모리 카드(400)에 쓰기 전에 수행된다. 이때, 호스트(300)는 메모리 카드(400)에 프로그램될 OS 이미지의 신뢰성 보장 모드를 활성화하기 위해 스위칭 명령어를 사용하여 SMT 모드 셋 레지스터(412)의 필드(Field) 값을 기입할 수 있다. 그리고 SMT(또는, 적외선 리플로)가 적용된 이후, 호스트(300)는 메모리 카드(400)에 신뢰성 보장 모드로 프로그램된 OS 이미지에 대해서 신뢰성 보장 모드를 종료하도록 설정을 수행할 수 있다. 이때에도, 호스트(300)는 스위칭 명령어를 사용하여 SMT 모드 셋 레지스터(412)의 필드(Field) 값을 기입할 수 있다.
도 9는 도 8에 도시된 SMT 모드 셋 레지스터의 필드값을 예시적으로 보여주는 테이블이다. 도 9를 참조하면, SMT 모드 셋 레지스터(412)에는 OS 이미지를 프로그램하기 이전에 메모리 카드(400)의 OS 이미지에 대한 신뢰성 보장 모드를 활성화하는 설정이 저장된다. 예시적으로 SMT 모드 셋 레지스터(412)는 1 바이트(1 Byte)로 구성되며, LSB(Bit 0)와 MSB(Bit 7)에 본 발명의 OS 이미지에 대한 신뢰성 보장 모드의 활성화 여부가 설정될 수 있다. 여기서, LSB(Bit 0)와 MSB(Bit 7) 각각은 디폴트값으로 논리 '0'로 설정된 것으로 가정한다.
SMT 모드 셋 레지스터(412)의 LSB(Bit 0)에는 OS 이미지에 대한 신뢰성 보장 모드의 활성화 여부가 저장된다. 호스트(300)는 SMT 적용 이전에 OS 이미지를 메모리 카드(400)에 기입하기 위해서 SMT 모드 셋 레지스터(412)의 LSB(Bit 0)를 논리 '1'로 스위칭할 수 있다. 이때에 호스트(300)는 SMT 모드 셋 레지스터(412)의 LSB(Bit 0)를 논리 '1'로 기입하기 위한 스위칭 명령어를 사용할 수 있을 것이다. 이후, 메모리 카드(400)는 SMT 모드 셋 레지스터(412)의 LSB(Bit 0)를 참조하여 입력되는 OS 이미지에 대해서 신뢰성 보장 모드의 실시 여부를 판단할 것이다.
SMT 모드 셋 레지스터(412)의 MSB(Bit 7)에는 OS 이미지에 대한 신뢰성 보장 모드의 비활성화 여부가 저장된다. 호스트(300)는 예를 들면, SMT 동작이 완료된 후에 SMT 모드 셋 레지스터(412)의 MSB(Bit 7)를 논리 '1'로 스위칭할 수 있다. 이때에 호스트(300)는 SMT 모드 셋 레지스터(412)의 MSB(Bit 7)를 논리 '1'로 기입하기 위한 스위칭 명령어를 사용할 수 있을 것이다. SMT 모드 셋 레지스터(412)의 MSB(Bit 7)의 논리 값을 참조하여 메모리 카드(400)는 OS 이미지에 대해서 신뢰성 보장 모드를 비활성화할 수 있다. 만일, SMT 모드 셋 레지스터(412)의 MSB(Bit 7) 논리값이 논리 '1'인 것이 확인되면, 메모리 카드(400)는 OS 이미지에 대해서 더 이상 신뢰성 보장 모드를 적용하지 않을 것이다.
도 10은 본 발명의 실시 예에 따른 호스트의 OS 이미지 쓰기 동작을 보여주는 순서도이다. 도 10을 참조하면, 호스트(300)는 표면 실장 기술(SMT)을 적용하기 이전에 OS 이미지를 메모리 카드(400)에 프로그램한다. 여기서, 호스트(300)는 표면 실장 기술(SMT)을 적용하기 이전에 메모리 카드(400)에 코드 데이터(Code data)나 OS 이미지 등을 기록하기 위한 갱 장비(Gang Equipment)일 수 있다. OS 이미지가 기록될 메모리 카드(400)가 호스트에 연결되면 본 발명의 OS 이미지 쓰기가 시작된다.
S310 단계에서, 호스트(300)는 메모리 카드(400)의 SMT 모드 셋 레지스터(412)의 필드값을 읽어낸다. SMT 모드 셋 레지스터(412)의 필드값을 읽어내기 위해서 호스트(300)는 SMT 모드 셋 레지스터(412)의 설정을 읽어내기 위한 레지스터 읽기 명령어를 메모리 카드(400)에 제공할 수 있다. 호스트(300)는 레지스터 읽기 명령어에 응답하여 출력되는 SMT 모드 셋 레지스터(412)의 필드값이 '0x00', '0x01', '0x81' 중에서 어떤 것인지 확인한다.
S320 단계에서, SMT 모드 셋 레지스터(412)의 필드값이 '0x00'인 경우, 절차는 S330 단계로 이동한다. SMT 모드 셋 레지스터(412)의 필드값이 '0x00'인 경우, SMT 모드 셋 레지스터(412)의 필드값의 MSB와 LSB가 모두 논리 '0'인 디폴트 상태임을 의미한다. 따라서, SMT 모드 셋 레지스터(412)의 필드값을 OS 이미지를 쓰기 위한 상태로 재설정하기 위한 S330 단계로 이동한다. SMT 모드 셋 레지스터(412)의 필드값이 '0x01' 또는 '0x81'인 경우, 절차는 S340으로 이동한다. SMT 모드 셋 레지스터(412)의 필드값이 '0x01'인 경우는 SMT 모드 셋 레지스터(412)의 MSB는 논리 '0'이고, LSB는 논리 '1'인 상태임을 의미한다. 따라서, 본 발명의 실시 예에 따른 신뢰성 보장 모드가 활성화된 상태에서 수행되는 OS 이미지 쓰기 동작이 실시되어야 한다. 반면, SMT 모드 셋 레지스터(412)의 필드값이 '0x81'인 경우, SMT 모드 셋 레지스터(412)의 MSB와 LSB가 모두 논리 '1'인 상태임을 의미한다. 따라서, OS 이미지에 대한 신뢰성 보장 모드의 적용이 필요없는 상태를 나타낸다.
S330 단계에서, 호스트(300)는 스위칭 명령어를 사용하여 SMT 모드 셋 레지스터(412)의 필드값을 '0x01'로 설정한다. 그리고 절차는 다시 S310 단계로 복귀하게 될 것이다.
S340 단계에서, 호스트(300)는 OS 이미지가 저장될 메모리 영역에 대한 소거 동작을 수행할 것이다. 호스트(300)는 메모리 카드(400)의 OS 이미지가 프로그램될 영역만을 소거하도록 카드 컨트롤러(410)에 요청할 수 있을 것이다. 또는, 호스트(300)는 메모리 카드(400)의 전체 영역을 소거하도록 카드 컨트롤러(410)에 요청할 수 있을 것이다.
S350 단계에서, 호스트(300)는 메모리 카드(400)에 OS 이미지에 대한 쓰기 명령(CMD) 및 OS 이미지를 제공한다. 호스트(300)는 메모리 카드(400)에 스트림 쓰기 또는 블록 쓰기 명령어를 통해서 OS 이미지를 기입할 수 있다.
S360 단계에서, 호스트(300)는 기입된 OS 이미지에 대한 검증 동작을 수행한다. 호스트(300)는 특정 영역에 기입된 OS 이미지에 대한 에러 검출이나 기타의 방식으로 진행되는 검증 동작을 통해서 쓰기 실패인지 또는 쓰기 성공인지를 판단할 것이다.
S370 단계에서, 호스트(300)는 OS 이미지에 대한 쓰기 검증의 결과에 따라 동작 분기를 실시한다. 검증 결과가 메모리 카드(400)에 기록된 OS 이미지의 쓰기 성공으로 검출되는 경우(Yes 방향), 절차는 이후에 계획된 표면 실장 기술(SMT) 단계로 이동한다. 반면, 검증 결과가 메모리 카드(200)에 기록된 OS 이미지의 쓰기 실패로 검출되는 경우(No 방향), 절차는 기존의 기록된 메모리 영역을 소거하고 OS 이미지를 재기록하기 위하여 S340 단계로 복귀한다.
S380 단계에서, 메모리 카드(400)에 대한 표면 실장 기술(SMT) 적용이 수행된다. 메모리 카드(400)는 실장될 모바일 기기의 메인 보드에 장착되는 공정을 거칠 것이다. 이때, 적외선 리플로(IR Reflow)가 적용될 수 있음을 잘 이해될 것이다.
S390 단계에서, 호스트(300)는 SMT(또는 적외선 리플로) 동작이 완료됨에 따라 SMT 모드 셋 레지스터(412)의 상태를 재설정한다. 호스트(300)는 메모리 카드(400)로 스위칭 명령어를 통해 SMT 모드 셋 레지스터(412)의 필드값을 '0x81'로 변경할 것이다. SMT 모드 셋 레지스터(412)의 필드값을 '0x81'인 경우 신뢰성 보장 모드에 따라 이미 OS 이미지 쓰기가 종료된 상태임을 나타낸다. 따라서, 이후에는 비록 섹터 카운트 정보를 포함하는 OS 이미지 쓰기 요청이 발생하더라도, 메모리 카드(200)는 신뢰성 보장 모드를 활성화하지 않게 될 것이다.
도 11은 본 발명의 다른 실시 예에 따른 메모리 카드의 OS 이미지 쓰기 동작을 보여주는 순서도이다. 도 11을 참조하면, 메모리 카드(400)는 SMT 모드 셋 레지스터(412)의 필드값을 참조하여 기입되는 OS 이미지에 대한 신뢰성 보장 모드를 활성화 또는 비활성화시킬 수 있다.
S410 단계에서, 메모리 카드(400)는 초기화 동작을 수행할 수 있다. 초기화 동작을 통해서 메모리 카드(400)는 OS 이미지 쓰기나 또는 기타의 코드 데이터, 레지스터 설정 동작을 위한 내부 환경을 초기화하게 될 것이다.
S420 단계에서, 메모리 카드(400)는 호스트(300)로부터 제공되는 제반 요청(Request)들을 수신한다. 여기서, 호스트(300)로부터 제공되는 요청들은 OS 이미지 쓰기에만 국한될 필요는 없다. 본 발명의 메모리 카드(400)는 호스트로부터 제공되는 다양한 요청에 대해서도 처리할 수 있어야 한다.
S430 단계에서, 호스트(300)로부터의 요청의 종류에 따라 동작 분기가 발생한다. 만일, 호스트(300)로부터 전달되는 요청이 쓰기(Write) 요청 및 레지스터 설정(Register set) 요청이 아닌 경우(Etc. 방향), 절차는 S440단계로 이동한다. 호스트(300)로부터 전달되는 요청이 레지스터 설정(Register set) 요청인 경우(Register set 방향), 절차는 S450단계로 이동한다. 호스트(300)로부터 전달되는 요청이 쓰기(Write) 요청인 경우(Write 방향), 절차는 S460단계로 이동한다.
S440 단계에서, 메모리 카드(400)는 호스트(300)로부터 요청된 동작을 수행하게 될 것이다. 비록, OS 이미지 정보를 제공받았다 할지라도, 호스트(300)로부터 OS 이미지와 관계없는 요청이 발생할 수도 있기 때문이다.
S450 단계에서, 메모리 카드(400)는 호스트(300)에서 요청된 레지스터 설정(Register set) 동작을 수행한다. 예를 들면, 호스트(300)로부터 다양한 스위칭 명령어가 제공되는 경우에 메모리 카드(400)는 해당 레지스터의 필드에 호스트(300)에 의해서 요청되는 설정을 기록할 것이다. 이 경우, OS 이미지 쓰기에 관련된 요청이라 하더라도 메모리 카드(400)는 호스트(300)에 의해서 요청된 범위에서 레지스터 설정 동작을 수동적으로 수행할 것이다.
S460 단계에서, 메모리 카드(400)는 SMT 모드 셋 레지스터(412)의 필드값을 검출한다. 만일, SMT 모드 셋 레지스터(412)의 필드값이 '0x81'인 경우, 절차는 S470 단계로 이동한다. 반면, SMT 모드 셋 레지스터(412)의 필드값이 '0x01'인 경우, 절차는 S480 단계로 이동한다.
S470 단계에서, 메모리 카드(400)는 쓰기 요청되는 데이터(OS 이미지)를 신뢰성 보장 모드가 비활성화된 상태로 불휘발성 메모리 장치(420)에 기입한다. 예를 들면, 메모리 카드(400)는 쓰기 요청된 데이터를 특정 시점에서 SLC 셀들로 구성되는 버퍼 메모리로부터 멀티 레벨 셀(MLC)이나 트리플 레벨 셀(TLC)들로 구성되는 메인 메모리로 이동시킬 것이다.
S480 단계에서, 메모리 카드(400)는 쓰기 요청되는 데이터를 신뢰성 보장 모드에 따라 불휘발성 메모리 장치(420)에 기입할 것이다. 예를 들면, 메모리 카드(400)는 쓰기 요청된 데이터를 SLC 셀들로 구성되는 버퍼 메모리에 SMT 동작이 완료될 때까지 저장할 것이다.
S490 단계에서, 메모리 카드(400)는 종료 모드인지 여부를 검출한다. 외부 명령어나 또는 내부의 동작 상태가 종료 모드 또는 전원 차단 모드인 경우(Yes 방향), 메모리 카드(400)는 제반 동작을 중지하게 될 것이다. 하지만, 종료 모드가 아닌 경우(No 방향)에는 호스트(300)로부터 제공되는 요청을 모니터링하기 위한 S420 단계로 복귀할 것이다.
이상에서는 본 발명의 다른 실시 예에 따른 메모리 카드(400)의 OS 이미지 쓰기 동작이 설명되었다. 메모리 카드(400)는 OS 이미지의 쓰기 동작시 SMT의 적용 여부에 따라 서로 다른 레벨의 신뢰성 보장 모드를 적용할 수 있다.
도 12는 본 발명의 실시 예에 따른 카드 시스템의 예를 보여주는 블록도이다. 도 12를 참조하면, 카드 시스템(1000)은 호스트(1100)와 메모리 카드(1200)를 포함한다. 호스트(1100)는 호스트 컨트롤러(1110) 및 호스트 접속 유닛(1120)을 포함한다. 메모리 카드(1200)는 카드 접속 유닛(1210), 카드 컨트롤러(1220), 그리고 플래시 메모리(1230)를 포함한다.
호스트 접속 유닛(1120) 및 카드 접속 유닛(1210)은 복수의 핀으로 구성된다. 이들 핀에는 커맨드 핀, 데이터 핀, 클록 핀, 전원 핀 등이 포함되어 있다. 핀의 수는 메모리 카드(1200)의 종류에 따라 달라진다.
호스트(1100)는 메모리 카드(1200)에 데이터를 쓰거나, 메모리 카드(1200)에 저장된 데이터를 읽는다. 호스트 컨트롤러(1110)는 커맨드(예를 들면, 쓰기 커맨드), 호스트(1100) 내의 클록 발생기(도시되지 않음)에서 발생한 클록 신호(CLK), 그리고 데이터(DAT)를 호스트 접속 유닛(2120)을 통해 메모리 카드(1200)로 전송한다.
카드 컨트롤러(1220)는 카드 접속 유닛(1210)을 통해 수신된 쓰기 커맨드에 응답하여, 카드 컨트롤러(1220) 내에 있는 클록 발생기(도시되지 않음)에서 발생한 클록 신호에 동기하여 데이터를 메모리(1230)에 저장한다. 플래시 메모리(1230)는 호스트(1100)로부터 전송된 데이터를 저장한다. 예를 들어, 호스트(1100)가 디지털 카메라인 경우에는 영상 데이터를 저장한다.
본 발명의 메모리 카드(1200)는 임베디드 멀티미디어 카드(eMMC)로 구성될 수 있다. 그리고, 호스트(1100)에 SMT나 적외선 리플로와 같은 실장 공정이 수행되기 이전에 OS 이미지가 신뢰성 보장 모드의 활성화 상태에서 저장된다. 따라서, 본 발명에 따른 메모리 카드(1200)는 SMT나 적외선 리플로와 같은 공정 후에도 OS 이미지의 신뢰성이 높아 불량률 저하에 크게 기여할 것으로 기대된다.
카드 접속 유닛(1210)은 USB, MMC, PCI-E, SAS, SATA, PATA, SCSI, ESDI, 그리고 IDE 등과 같은 다양한 인터페이스 프로토콜들 중 하나를 통해 외부(예를 들면, 호스트)와 통신하도록 구성될 것이다.
도 13은 본 발명의 실시 예에 따른 휴대용 단말기를 나타내는 블록도이다. 도 13을 참조하면, 본 발명의 실시 예에 따른 휴대용 단말기(2000)는 이미지 처리부(2100), 무선 송수신부(2200), 오디오 처리부(2300), 임베디드 멀티미디어 카드(2400), SDRAM(2500), 유저 인터페이스(2600), 그리고 컨트롤러(2700)를 포함한다.
이미지 처리부(2100)는 렌즈(2110), 이미지 센서(2120), 이미지 프로세서(2130), 그리고 디스플레이부(2140)를 포함한다. 무선 송수신부(2210)는 안테나(2210), 트랜시버(2220), 모뎀(2230)을 포함한다. 오디오 처리부(2300)는 오디오 프로세서(2310), 마이크(2320), 그리고 스피커(2330)를 포함한다.
여기서, 임베디드 멀티미디어 카드(2400)에는 OS 이미지 또는 코드 데이터가 저장될 수 있다. 특히, SMT나 적외선 리플로와 같은 실장 공정이 수행되기 이전에 OS 이미지가 신뢰성 보장 모드로 선택된 메모리 영역에 저장된다. 따라서, 본 발명에 따른 임베디드 멀티미디어 카드(2400)는 SMT나 적외선 리플로와 같은 공정 후에도 OS 이미지의 신뢰성이 높아 불량률 저하에 크게 기여할 것으로 기대된다.
본 발명에 따른 메모리 카드, 불휘발성 메모리 장치, 카드 컨트롤러는 다양한 형태들의 패키지를 이용하여 실장될 수 있다. 예를 들면, 본 발명에 따른 플래시 메모리 장치 그리고/또는 메모리 컨트롤러는 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), System In Package(SIP), Multi Chip Package(MCP), Wafer-level Fabricated Package(WFP), Wafer-Level Processed Stack Package(WSP), 등과 같은 패키지들을 이용하여 실장 될 수 있다.
이상에서와 같이 도면과 명세서에서 실시 예가 개시되었다. 여기서 특정한 용어들이 사용되었으나, 이는 단지 본 발명을 설명하기 위한 목적에서 사용된 것이지 의미 한정이나 특허 청구범위에 기재된 본 발명의 범위를 제한하기 위하여 사용된 것은 아니다. 그러므로 본 기술분야의 통상의 지식을 가진 자라면 이로부터 다양한 변형 및 균등한 타 실시 예가 가능하다는 점을 이해할 것이다. 따라서 본 발명의 진정한 기술적 보호 범위는 첨부된 특허 청구범위의 기술적 사상에 의해 정해져야 할 것이다.
100, 300 : 호스트 200, 400 : 메모리 카드
210, 410 : 카드 컨트롤러 212, 214, 216, 412 : 레지스터
220, 420 : 불휘발성 메모리 장치 222 : 버퍼 메모리
224 : 메인 메모리 1100 : 호스트
1110 : 호스트 컨트롤러 1120 : 호스트 접속 유닛
1200 : 메모리 카드 1210 : 카드 접속 유닛
1220 : 카드 컨트롤러 1230 : 플래시 메모리
2110 : 렌즈 2120 : 이미지 센서
2130 : 이미지 프로세서 2140 : 디스플레이 유닛
2210 : 안테나 2220 : 송수신기
2230 : 모뎀 2310 : 오디오 처리기
2400 : eMMC 2500 : SDRAM
2600 : 유저 인터페이스 2700 : 컨트롤러

Claims (18)

  1. 제 1 메모리 영역과 제 2 메모리 영역을 포함하는 불휘발성 메모리 장치; 및
    신뢰성 모드 정보가 저장되는 제 1 레지스터, 그리고 운영체제 이미지 정보가 저장되는 제 2 레지스터를 포함하며, 호스트로부터 쓰기 요청되는 운용체제 이미지와 상기 운영체제 이미지 정보와의 매칭 여부 그리고 상기 신뢰성 모드 정보에 따라 상기 운영체제 이미지를 상기 제 1 메모리 영역으로부터 상기 제 2 메모리 영역으로의 이동을 차단하는 메모리 컨트롤러를 포함하는 불휘발성 저장 장치.
  2. 제 1 항에 있어서,
    상기 제 1 메모리 영역의 셀당 저장 비트 수는 상기 제 2 메모리 영역의 셀당 저장 비트 수보다 적은 불휘발성 저장 장치.
  3. 제 2 항에 있어서,
    상기 제 1 레지스터의 신뢰성 모드 정보가 신뢰성 비보장 모드로 설정되기 전에는 상기 운영체제 이미지는 상기 제 1 메모리 영역으로부터 상기 제 2 메모리 영역으로 이동하지 못하도록 설정되는 불휘발성 저장 장치.
  4. 제 2 항에 있어서,
    상기 운영체제 이미지 정보는 상기 운영체제 이미지에 대한 섹터 시작 어드레스, 섹터 카운트 중 적어도 하나를 포함하는 불휘발성 저장 장치.
  5. 제 4 항에 있어서,
    상기 메모리 컨트롤러는 쓰기 요청되는 데이터의 섹터 어드레스가 상기 운영체제 이미지 정보와 일치하는 경우에 상기 쓰기 요청되는 데이터를 신뢰성 보장 모드로 관리하는 불휘발성 저장 장치.
  6. 제 1 항에 있어서,
    상기 메모리 컨트롤러는, 상기 운영체제 이미지에 대한 쓰기 모드를 활성화 및 비활성화하기 위한 필드를 갖는 제 3 레지스터를 포함하는 불휘발성 저장 장치.
  7. 제 6 항에 있어서,
    상기 제 2 레지스터는 상기 운영체제 이미지의 섹터 시작 어드레스, 섹터 카운트, 그리고 속성들 중 적어도 하나가 기입되는 복수의 레지스터 셋으로 구성되는 불휘발성 저장 장치.
  8. 제 6 항에 있어서,
    상기 제 3 레지스터는:
    상기 제 2 레지스터의 설정이 완료된 후에 상기 운영체제 이미지의 쓰기 모드를 활성화하는 제 1 비트; 그리고
    상기 운영체제 이미지 쓰기 모드의 완료 후에 신뢰성 보장 모드에 따른 상기 운영체제 이미지의 상기 쓰기 모드를 영구적으로 비활성화하기 위한 제 2 비트의 필드값을 포함하는 불휘발성 저장 장치.
  9. 제 8 항에 있어서,
    상기 메모리 컨트롤러는 상기 제 2 비트의 설정이 비활성 상태로 유지되는 경우, 쓰기 요청되는 상기 운영 체지 이미지를 상기 신뢰성 보장 모드를 해제한 상태에서 상기 불휘발성 메모리 장치에 기입하는 불휘발성 저장 장치.
  10. 운영체제 이미지를 메모리 카드에 프로그램하는 방법에 있어서:
    상기 운영체제 이미지의 신뢰성 보장 모드에 따른 쓰기 기능의 지원 여부를 상기 메모리 카드의 제 1 레지스터로부터 읽어오는 단계;
    상기 운영체제 이미지의 섹터 시작 어드레스, 섹터 카운트, 그리고 속성들 중 적어도 하나를 포함하는 운영체제 이미지 정보를 상기 메모리 카드의 제 2 레지스터에 기입하는 단계; 그리고
    상기 운영체제 이미지를 상기 메모리 카드에 프로그램하는 단계를 포함하되,
    상기 프로그램하는 단계에서, 상기 메모리 카드는 상기 운영체제 이미지 정보를 참조하여 상기 운영체제 이미지를 신뢰성 보장 모드 또는 신뢰성 비보장 모드로 불휘발성 메모리 장치에 기입하는 프로그램 방법.
  11. 제 10 항에 있어서,
    상기 프로그램하는 단계가 종료되면, 상기 운영체제 이미지의 기입 여부를 검증하는 단계를 더 포함하는 프로그램 방법.
  12. 제 11 항에 있어서,
    상기 검증하는 단계에서 상기 운영체제 이미지의 기입이 완료된 것으로 검출되면, 상기 운영체제 이미지의 쓰기 동작시 상기 신뢰성 비보장 모드를 선택하기 위한 제 3 레지스터를 설정하는 단계를 더 포함하는 프로그램 방법.
  13. 제 12 항에 있어서,
    상기 메모리 카드를 표면 실장 기술 또는 적외선 리플로 방식으로 모바일 장치에 장착하는 단계를 더 포함하는 프로그램 방법.
  14. 임베디드 멀티미디어 카드의 운영체제 이미지 프로그램 방법에 있어서:
    운영체제 이미지 정보가 존재하는지 확인하는 단계;
    상기 운영체제 이미지의 쓰기 요청이 상기 운영체제 이미지 정보와 매칭되는지 검출하는 단계; 그리고
    상기 쓰기 요청과 상기 운영체제 이미지 정보가 매칭되는 경우에 쓰기 요청되는 상기 운영체제 이미지를 신뢰성 보장 모드에 따라 불휘발성 메모리 장치에 프로그램하는 단계를 포함하는 프로그램 방법.
  15. 제 14 항에 있어서,
    상기 쓰기 요청이 상기 운영체제 이미지 정보와 매칭되지 않는 경우에는 상기 쓰기 요청되는 운영체제 이미지에 대한 상기 신뢰성 보장 모드가 해제되는 프로그램 방법.
  16. 제 14 항에 있어서,
    상기 임베디드 멀티미디어 카드는 제 1 메모리 영역과 제 2 메모리 영역을 포함하며,
    상기 신뢰성 보장 모드는, 상기 운영체제 이미지의 상기 제 1 메모리 영역으로부터 상기 제 2 메모리 영역으로의 이동을 차단하는 쓰기 모드에 대응하는 프로그램 방법.
  17. 제 16 항에 있어서,
    상기 제 1 메모리 영역의 셀당 저장 비트 수는 상기 제 2 메모리 영역의 셀당 저장 비트 수보다 적은 프로그램 방법.
  18. 제 14 항에 있어서,
    상기 운영체제 이미지 정보는 상기 운영체제 이미지에 대한 섹터 시작 어드레스, 섹터 카운트 중 적어도 하나를 포함하는 프로그램 방법.
KR1020130028116A 2013-03-15 2013-03-15 불휘발성 저장 장치 및 그것의 운영체제 이미지 프로그램 방법 KR102039537B1 (ko)

Priority Applications (9)

Application Number Priority Date Filing Date Title
KR1020130028116A KR102039537B1 (ko) 2013-03-15 2013-03-15 불휘발성 저장 장치 및 그것의 운영체제 이미지 프로그램 방법
US14/197,425 US8938581B2 (en) 2013-03-15 2014-03-05 Nonvolatile storage device and operating system (OS) image program method thereof
DE102014204716.1A DE102014204716B4 (de) 2013-03-15 2014-03-13 Nichtflüchtiges Speicherbauelement und Programmierverfahren für ein Betriebssystem(OS)-Image
JP2014051898A JP6322004B2 (ja) 2013-03-15 2014-03-14 格納装置、不揮発性格納装置及びその運営体系イメージプログラム方法
CN201810576016.5A CN108804041B (zh) 2013-03-15 2014-03-17 非易失性存储器装置及其操作系统(os)图像处理方法
CN201410097614.6A CN104050099B (zh) 2013-03-15 2014-03-17 非易失性存储器装置及其操作系统(os)图像处理方法
US14/579,810 US9164682B2 (en) 2013-03-15 2014-12-22 Nonvolatile storage device and operating system (OS) image program method thereof
US14/856,045 US9280462B2 (en) 2013-03-15 2015-09-16 Nonvolatile storage device and operating system (OS) image program method thereof
US15/040,249 US9529541B2 (en) 2013-03-15 2016-02-10 Nonvolatile storage device and operating system (OS) image program method thereof

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020130028116A KR102039537B1 (ko) 2013-03-15 2013-03-15 불휘발성 저장 장치 및 그것의 운영체제 이미지 프로그램 방법

Publications (2)

Publication Number Publication Date
KR20140113134A KR20140113134A (ko) 2014-09-24
KR102039537B1 true KR102039537B1 (ko) 2019-11-01

Family

ID=51419321

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020130028116A KR102039537B1 (ko) 2013-03-15 2013-03-15 불휘발성 저장 장치 및 그것의 운영체제 이미지 프로그램 방법

Country Status (5)

Country Link
US (4) US8938581B2 (ko)
JP (1) JP6322004B2 (ko)
KR (1) KR102039537B1 (ko)
CN (2) CN104050099B (ko)
DE (1) DE102014204716B4 (ko)

Families Citing this family (87)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20150074489A1 (en) * 2013-09-06 2015-03-12 Kabushiki Kaisha Toshiba Semiconductor storage device and memory system
US9984007B2 (en) 2014-03-28 2018-05-29 Samsung Electronics Co., Ltd. Storage system and method for performing and authenticating write-protection thereof
KR102196971B1 (ko) 2014-03-28 2020-12-31 삼성전자주식회사 스토리지 시스템, 그것의 쓰기 방지 수행 방법, 그리고 그것의 쓰기 방지 인증 방법
JP6517549B2 (ja) * 2015-03-13 2019-05-22 東芝メモリ株式会社 メモリコントローラ、記憶装置、データ転送システム、データ転送方法、及びデータ転送プログラム
KR102309841B1 (ko) * 2015-08-24 2021-10-12 삼성전자주식회사 표면 실장 기술의 적용에 따른 메모리 셀의 문턱 전압 산포 변화 복구 기능을 갖는 데이터 스토리지 및 그것의 동작 방법
US10558388B2 (en) * 2016-03-03 2020-02-11 Samsung Electronics Co., Ltd. Memory system and method of controlling the same
US10592114B2 (en) 2016-03-03 2020-03-17 Samsung Electronics Co., Ltd. Coordinated in-module RAS features for synchronous DDR compatible memory
US9798481B1 (en) * 2016-06-15 2017-10-24 Winbond Electronics Corp. Memory system includes a memory controller coupled to a non-volatile memory array configured to provide special write operation to write data in the non-volatile memory array before a board mount operation is applied and provde a regular write operation after a board mount operation is applied
US10419004B2 (en) * 2017-04-21 2019-09-17 Windbond Electronics Corporation NVFF monotonic counter and method of implementing same
TWI640867B (zh) * 2017-05-02 2018-11-11 慧榮科技股份有限公司 資料儲存裝置及其操作方法
US10884926B2 (en) 2017-06-16 2021-01-05 Alibaba Group Holding Limited Method and system for distributed storage using client-side global persistent cache
US10606484B2 (en) * 2017-06-23 2020-03-31 Google Llc NAND flash storage device with NAND buffer
CN107291501B (zh) * 2017-06-23 2020-04-24 联想(北京)有限公司 一种系统快速启动方法及电子设备
US10678443B2 (en) * 2017-07-06 2020-06-09 Alibaba Group Holding Limited Method and system for high-density converged storage via memory bus
US10496829B2 (en) 2017-09-15 2019-12-03 Alibaba Group Holding Limited Method and system for data destruction in a phase change memory-based storage device
US10642522B2 (en) 2017-09-15 2020-05-05 Alibaba Group Holding Limited Method and system for in-line deduplication in a storage drive based on a non-collision hash
KR102549540B1 (ko) * 2017-09-22 2023-06-29 삼성전자주식회사 스토리지 장치 및 그 동작 방법
US10789011B2 (en) 2017-09-27 2020-09-29 Alibaba Group Holding Limited Performance enhancement of a storage device using an integrated controller-buffer
US10860334B2 (en) 2017-10-25 2020-12-08 Alibaba Group Holding Limited System and method for centralized boot storage in an access switch shared by multiple servers
US10877898B2 (en) 2017-11-16 2020-12-29 Alibaba Group Holding Limited Method and system for enhancing flash translation layer mapping flexibility for performance and lifespan improvements
US10496548B2 (en) 2018-02-07 2019-12-03 Alibaba Group Holding Limited Method and system for user-space storage I/O stack with user-space flash translation layer
US10891239B2 (en) 2018-02-07 2021-01-12 Alibaba Group Holding Limited Method and system for operating NAND flash physical space to extend memory capacity
US10831404B2 (en) 2018-02-08 2020-11-10 Alibaba Group Holding Limited Method and system for facilitating high-capacity shared memory using DIMM from retired servers
JP7051546B2 (ja) * 2018-04-16 2022-04-11 キオクシア株式会社 メモリシステムおよび制御方法
WO2019222958A1 (en) 2018-05-24 2019-11-28 Alibaba Group Holding Limited System and method for flash storage management using multiple open page stripes
US10921992B2 (en) 2018-06-25 2021-02-16 Alibaba Group Holding Limited Method and system for data placement in a hard disk drive based on access frequency for improved IOPS and utilization efficiency
US11816043B2 (en) 2018-06-25 2023-11-14 Alibaba Group Holding Limited System and method for managing resources of a storage device and quantifying the cost of I/O requests
US11347643B2 (en) * 2018-06-29 2022-05-31 Intel Corporation Control logic and methods to map host-managed device memory to a system address space
US10871921B2 (en) 2018-07-30 2020-12-22 Alibaba Group Holding Limited Method and system for facilitating atomicity assurance on metadata and data bundled storage
US10747673B2 (en) 2018-08-02 2020-08-18 Alibaba Group Holding Limited System and method for facilitating cluster-level cache and memory space
US10996886B2 (en) 2018-08-02 2021-05-04 Alibaba Group Holding Limited Method and system for facilitating atomicity and latency assurance on variable sized I/O
US11327929B2 (en) 2018-09-17 2022-05-10 Alibaba Group Holding Limited Method and system for reduced data movement compression using in-storage computing and a customized file system
US10852948B2 (en) 2018-10-19 2020-12-01 Alibaba Group Holding System and method for data organization in shingled magnetic recording drive
US10795586B2 (en) 2018-11-19 2020-10-06 Alibaba Group Holding Limited System and method for optimization of global data placement to mitigate wear-out of write cache and NAND flash
US10769018B2 (en) 2018-12-04 2020-09-08 Alibaba Group Holding Limited System and method for handling uncorrectable data errors in high-capacity storage
KR20200076946A (ko) * 2018-12-20 2020-06-30 삼성전자주식회사 스토리지 장치의 데이터 기입 방법 및 이를 수행하는 스토리지 장치
US10901658B2 (en) * 2018-12-28 2021-01-26 Micron Technology, Inc. Host adaptive memory device optimization
US10977122B2 (en) 2018-12-31 2021-04-13 Alibaba Group Holding Limited System and method for facilitating differentiated error correction in high-density flash devices
US10884654B2 (en) 2018-12-31 2021-01-05 Alibaba Group Holding Limited System and method for quality of service assurance of multi-stream scenarios in a hard disk drive
US11061735B2 (en) 2019-01-02 2021-07-13 Alibaba Group Holding Limited System and method for offloading computation to storage nodes in distributed system
US11132291B2 (en) 2019-01-04 2021-09-28 Alibaba Group Holding Limited System and method of FPGA-executed flash translation layer in multiple solid state drives
US10860420B2 (en) 2019-02-05 2020-12-08 Alibaba Group Holding Limited Method and system for mitigating read disturb impact on persistent memory
US11200337B2 (en) 2019-02-11 2021-12-14 Alibaba Group Holding Limited System and method for user data isolation
US10970212B2 (en) 2019-02-15 2021-04-06 Alibaba Group Holding Limited Method and system for facilitating a distributed storage system with a total cost of ownership reduction for multiple available zones
US11150844B2 (en) 2019-02-21 2021-10-19 Micron Technology, Inc. Reflow endurance improvements in triple-level cell NAND flash
US11061834B2 (en) 2019-02-26 2021-07-13 Alibaba Group Holding Limited Method and system for facilitating an improved storage system by decoupling the controller from the storage medium
US10783035B1 (en) 2019-02-28 2020-09-22 Alibaba Group Holding Limited Method and system for improving throughput and reliability of storage media with high raw-error-rate
US10891065B2 (en) 2019-04-01 2021-01-12 Alibaba Group Holding Limited Method and system for online conversion of bad blocks for improvement of performance and longevity in a solid state drive
CN109992525A (zh) * 2019-04-01 2019-07-09 合肥沛睿微电子股份有限公司 快闪存储器控制器
US10922234B2 (en) 2019-04-11 2021-02-16 Alibaba Group Holding Limited Method and system for online recovery of logical-to-physical mapping table affected by noise sources in a solid state drive
US10908960B2 (en) 2019-04-16 2021-02-02 Alibaba Group Holding Limited Resource allocation based on comprehensive I/O monitoring in a distributed storage system
US11016781B2 (en) * 2019-04-26 2021-05-25 Samsung Electronics Co., Ltd. Methods and memory modules for enabling vendor specific functionalities
US11169873B2 (en) 2019-05-21 2021-11-09 Alibaba Group Holding Limited Method and system for extending lifespan and enhancing throughput in a high-density solid state drive
US10860223B1 (en) 2019-07-18 2020-12-08 Alibaba Group Holding Limited Method and system for enhancing a distributed storage system by decoupling computation and network tasks
US11126561B2 (en) 2019-10-01 2021-09-21 Alibaba Group Holding Limited Method and system for organizing NAND blocks and placing data to facilitate high-throughput for random writes in a solid state drive
US11042307B1 (en) 2020-01-13 2021-06-22 Alibaba Group Holding Limited System and method for facilitating improved utilization of NAND flash based on page-wise operation
US11449455B2 (en) 2020-01-15 2022-09-20 Alibaba Group Holding Limited Method and system for facilitating a high-capacity object storage system with configuration agility and mixed deployment flexibility
US11243711B2 (en) * 2020-02-05 2022-02-08 Micron Technology, Inc. Controlling firmware storage density based on temperature detection
US11144452B2 (en) 2020-02-05 2021-10-12 Micron Technology, Inc. Temperature-based data storage processing
US10923156B1 (en) 2020-02-19 2021-02-16 Alibaba Group Holding Limited Method and system for facilitating low-cost high-throughput storage for accessing large-size I/O blocks in a hard disk drive
US10872622B1 (en) 2020-02-19 2020-12-22 Alibaba Group Holding Limited Method and system for deploying mixed storage products on a uniform storage infrastructure
US11150986B2 (en) 2020-02-26 2021-10-19 Alibaba Group Holding Limited Efficient compaction on log-structured distributed file system using erasure coding for resource consumption reduction
US11144250B2 (en) 2020-03-13 2021-10-12 Alibaba Group Holding Limited Method and system for facilitating a persistent memory-centric system
US11200114B2 (en) 2020-03-17 2021-12-14 Alibaba Group Holding Limited System and method for facilitating elastic error correction code in memory
US11385833B2 (en) 2020-04-20 2022-07-12 Alibaba Group Holding Limited Method and system for facilitating a light-weight garbage collection with a reduced utilization of resources
US11281575B2 (en) 2020-05-11 2022-03-22 Alibaba Group Holding Limited Method and system for facilitating data placement and control of physical addresses with multi-queue I/O blocks
US11494115B2 (en) 2020-05-13 2022-11-08 Alibaba Group Holding Limited System method for facilitating memory media as file storage device based on real-time hashing by performing integrity check with a cyclical redundancy check (CRC)
US11461262B2 (en) 2020-05-13 2022-10-04 Alibaba Group Holding Limited Method and system for facilitating a converged computation and storage node in a distributed storage system
US11218165B2 (en) 2020-05-15 2022-01-04 Alibaba Group Holding Limited Memory-mapped two-dimensional error correction code for multi-bit error tolerance in DRAM
US11556277B2 (en) 2020-05-19 2023-01-17 Alibaba Group Holding Limited System and method for facilitating improved performance in ordering key-value storage with input/output stack simplification
US11507499B2 (en) 2020-05-19 2022-11-22 Alibaba Group Holding Limited System and method for facilitating mitigation of read/write amplification in data compression
US11249674B2 (en) * 2020-06-03 2022-02-15 Innogrit Technologies Co., Ltd. Electrical mirroring by NAND flash controller
US11263132B2 (en) 2020-06-11 2022-03-01 Alibaba Group Holding Limited Method and system for facilitating log-structure data organization
US11422931B2 (en) 2020-06-17 2022-08-23 Alibaba Group Holding Limited Method and system for facilitating a physically isolated storage unit for multi-tenancy virtualization
US11354200B2 (en) 2020-06-17 2022-06-07 Alibaba Group Holding Limited Method and system for facilitating data recovery and version rollback in a storage device
US11354233B2 (en) 2020-07-27 2022-06-07 Alibaba Group Holding Limited Method and system for facilitating fast crash recovery in a storage device
US11314427B2 (en) * 2020-08-21 2022-04-26 Micron Technology, Inc. Memory device with enhanced data reliability capabilities
US11372774B2 (en) 2020-08-24 2022-06-28 Alibaba Group Holding Limited Method and system for a solid state drive with on-chip memory integration
US11487465B2 (en) 2020-12-11 2022-11-01 Alibaba Group Holding Limited Method and system for a local storage engine collaborating with a solid state drive controller
KR20220085455A (ko) 2020-12-15 2022-06-22 삼성전자주식회사 스토리지 장치 및 이를 포함하는 스토리지 시스템
US11734115B2 (en) 2020-12-28 2023-08-22 Alibaba Group Holding Limited Method and system for facilitating write latency reduction in a queue depth of one scenario
US11416365B2 (en) 2020-12-30 2022-08-16 Alibaba Group Holding Limited Method and system for open NAND block detection and correction in an open-channel SSD
US11726699B2 (en) 2021-03-30 2023-08-15 Alibaba Singapore Holding Private Limited Method and system for facilitating multi-stream sequential read performance improvement with reduced read amplification
US11461173B1 (en) 2021-04-21 2022-10-04 Alibaba Singapore Holding Private Limited Method and system for facilitating efficient data compression based on error correction code and reorganization of data placement
US11476874B1 (en) 2021-05-14 2022-10-18 Alibaba Singapore Holding Private Limited Method and system for facilitating a storage server with hybrid memory for journaling and data storage
KR20230106456A (ko) * 2022-01-06 2023-07-13 삼성전자주식회사 저장 장치 및 이의 동작 방법
US20230266920A1 (en) * 2022-02-23 2023-08-24 Micron Technology, Inc. Production state awareness selection

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20130227199A1 (en) 2012-02-23 2013-08-29 National Taiwan University Flash memory storage system and access method

Family Cites Families (34)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5544347A (en) * 1990-09-24 1996-08-06 Emc Corporation Data storage system controlled remote data mirroring with respectively maintained data indices
JPH10340189A (ja) 1997-06-09 1998-12-22 Shinko Electric Co Ltd Cpuバスを利用したブート・データ書き込み方法と該書き込み方法に対応したアダプタ
US6272388B1 (en) * 1998-09-29 2001-08-07 Rockwell Technologies, Llc Program structure and method for industrial control
US7089549B2 (en) 2002-04-01 2006-08-08 International Business Machines Corp. Updating flash memory
US7287185B2 (en) * 2004-04-06 2007-10-23 Hewlett-Packard Development Company, L.P. Architectural support for selective use of high-reliability mode in a computer system
CA2490224A1 (en) * 2004-12-15 2006-06-15 Philip White Support for flower display
US7574537B2 (en) * 2005-02-03 2009-08-11 International Business Machines Corporation Method, apparatus, and computer program product for migrating data pages by disabling selected DMA operations in a physical I/O adapter
JP2008065430A (ja) * 2006-09-05 2008-03-21 Matsushita Electric Ind Co Ltd 半導体装置およびicカード
US7646636B2 (en) * 2007-02-16 2010-01-12 Mosaid Technologies Incorporated Non-volatile memory with dynamic multi-mode operation
US8321597B2 (en) * 2007-02-22 2012-11-27 Super Talent Electronics, Inc. Flash-memory device with RAID-type controller
KR20080085563A (ko) 2007-03-20 2008-09-24 삼성전자주식회사 Os이미지 기록 방법 및 os 부팅 방법
JP4489127B2 (ja) * 2008-02-29 2010-06-23 株式会社東芝 半導体記憶装置
US8839227B2 (en) 2008-02-29 2014-09-16 Arris Enterprises, Inc. Preventing overwrite of nonessential code during essential code update
JP2010055527A (ja) 2008-08-29 2010-03-11 Nec Corp 補正回路、及び補正方法
KR101543434B1 (ko) * 2008-12-15 2015-08-10 삼성전자주식회사 반도체 메모리 시스템의 제조 방법
TWI387023B (zh) 2008-12-25 2013-02-21 Silicon Motion Inc 防止迴焊過程中資料遺失之方法及使用該方法之記憶體裝置
JP2010225200A (ja) 2009-03-19 2010-10-07 Toshiba Corp 半導体記憶装置および半導体記憶装置の製造方法
US8321647B2 (en) * 2009-05-06 2012-11-27 Apple Inc. Multipage preparation commands for non-volatile memory systems
KR20100121215A (ko) 2009-05-08 2010-11-17 삼성전자주식회사 반도체 장치, 및 상기 반도체 장치의 os 이미지 라이트 방법
KR20120059506A (ko) 2009-08-25 2012-06-08 샌디스크 아이엘 엘티디 플래시 저장 디바이스로의 데이터 복원
WO2011024022A1 (en) 2009-08-31 2011-03-03 Sandisk Il Ltd. Preloading data into a flash storage device
US8179717B2 (en) 2009-09-29 2012-05-15 Sandisk Technologies Inc. Maintaining integrity of preloaded content in non-volatile memory during surface mounting
KR20110048304A (ko) 2009-11-02 2011-05-11 삼성전자주식회사 솔더 리플로우에서 코드 데이터의 손실을 방지할 수 있는 방법과 그 장치들
US20110270945A1 (en) * 2010-04-30 2011-11-03 Hitachi, Ltd. Computer system and control method for the same
JP2012009112A (ja) * 2010-06-25 2012-01-12 Oki Electric Ind Co Ltd 不揮発性半導体記憶装置
KR20120017790A (ko) 2010-08-20 2012-02-29 한국조폐공사 운영체제의 재쓰기 가능한 메모리 영역을 갖는 스마트카드 및 그 운용방법
TWI420313B (zh) 2010-12-24 2013-12-21 Phison Electronics Corp 資料管理方法、記憶體控制器與嵌入式記憶體儲存裝置
CN102591738B (zh) * 2011-01-07 2015-09-30 群联电子股份有限公司 数据管理方法、存储器控制器与嵌入式存储器储存装置
KR20120082218A (ko) * 2011-01-13 2012-07-23 (주)인디링스 파티션 정보를 기초로 호스트의 요청에 대한 처리 기법을 적응적으로 결정하는 스토리지 장치 및 상기 스토리지 장치의 동작 방법
US8838895B2 (en) * 2011-06-09 2014-09-16 21Vianet Group, Inc. Solid-state disk caching the top-K hard-disk blocks selected as a function of access frequency and a logarithmic system time
KR101861170B1 (ko) * 2011-08-17 2018-05-25 삼성전자주식회사 마이그레이션 관리자를 포함하는 메모리 시스템
CN103959253B (zh) * 2011-12-01 2018-07-17 英特尔公司 基于硬件的存储器迁移和重新同步方法及系统
US8935459B2 (en) * 2012-03-08 2015-01-13 Apple Inc. Heuristics for programming data in a non-volatile memory
US9201779B2 (en) * 2012-06-27 2015-12-01 Hitachi, Ltd. Management system and management method

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20130227199A1 (en) 2012-02-23 2013-08-29 National Taiwan University Flash memory storage system and access method

Also Published As

Publication number Publication date
KR20140113134A (ko) 2014-09-24
US9164682B2 (en) 2015-10-20
US20150106559A1 (en) 2015-04-16
US9529541B2 (en) 2016-12-27
CN104050099A (zh) 2014-09-17
CN108804041A (zh) 2018-11-13
JP6322004B2 (ja) 2018-05-09
DE102014204716B4 (de) 2024-02-01
US9280462B2 (en) 2016-03-08
US20160162212A1 (en) 2016-06-09
US8938581B2 (en) 2015-01-20
CN104050099B (zh) 2018-06-19
CN108804041B (zh) 2020-05-26
JP2014182832A (ja) 2014-09-29
DE102014204716A1 (de) 2014-09-18
US20160004470A1 (en) 2016-01-07
US20140281170A1 (en) 2014-09-18

Similar Documents

Publication Publication Date Title
KR102039537B1 (ko) 불휘발성 저장 장치 및 그것의 운영체제 이미지 프로그램 방법
TWI387023B (zh) 防止迴焊過程中資料遺失之方法及使用該方法之記憶體裝置
JP5853899B2 (ja) 記憶制御装置、記憶装置、情報処理システム、および、それらにおける処理方法
KR20170099610A (ko) 데이터 저장 장치 및 그것의 동작 방법
US20110271041A1 (en) Electronic device comprising flash memory and related method of handling program failures
US9424177B2 (en) Clock switching method, memory controller and memory storage apparatus
US10248501B2 (en) Data storage apparatus and operation method thereof
US20130097366A1 (en) Storage device and user device using the same
US20150019796A1 (en) Data storage device and operating method thereof
US10795594B2 (en) Storage device
US9430325B2 (en) Method for programming data, memory storage device and memory control circuit unit
KR20160105625A (ko) 데이터 저장 장치 및 그것의 동작 방법
KR20190087072A (ko) 데이터 저장 장치, 그것의 동작 방법 및 비휘발성 메모리 장치
US11748025B2 (en) Nonvolatile memory device, data storage device including the same and operating method thereof
US20200125285A1 (en) Memory system and operating method thereof
KR20170031311A (ko) 데이터 저장 장치 및 그것의 동작 방법
TWI727985B (zh) 資料儲存裝置及其操作方法
KR20150059439A (ko) 데이터 저장 장치 및 그것을 포함하는 데이터 처리 시스템
KR20180042792A (ko) 데이터 저장 장치 및 그것의 동작 방법
US11157401B2 (en) Data storage device and operating method thereof performing a block scan operation for checking for valid page counts
US20160266823A1 (en) Data storage device and operating method thereof
US20190179749A1 (en) Memory system, operating method thereof and nonvolatile memory device
US11314461B2 (en) Data storage device and operating method of checking success of garbage collection operation
KR20190070092A (ko) 메모리 시스템 및 그것의 동작 방법
KR20150072485A (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