KR101845512B1 - 메모리 시스템의 초기화 방법 - Google Patents

메모리 시스템의 초기화 방법 Download PDF

Info

Publication number
KR101845512B1
KR101845512B1 KR1020110079727A KR20110079727A KR101845512B1 KR 101845512 B1 KR101845512 B1 KR 101845512B1 KR 1020110079727 A KR1020110079727 A KR 1020110079727A KR 20110079727 A KR20110079727 A KR 20110079727A KR 101845512 B1 KR101845512 B1 KR 101845512B1
Authority
KR
South Korea
Prior art keywords
initialization
memory
initialization data
host
memory system
Prior art date
Application number
KR1020110079727A
Other languages
English (en)
Other versions
KR20130017348A (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 KR1020110079727A priority Critical patent/KR101845512B1/ko
Priority to US13/560,335 priority patent/US9015459B2/en
Publication of KR20130017348A publication Critical patent/KR20130017348A/ko
Application granted granted Critical
Publication of KR101845512B1 publication Critical patent/KR101845512B1/ko

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • 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
    • G06F9/24Loading of the microprogram
    • 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
    • G06F13/16Handling requests for interconnection or transfer for access to memory bus
    • 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
    • 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/30Arrangements for executing machine instructions, e.g. instruction decode
    • 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)
  • Theoretical Computer Science (AREA)
  • Software Systems (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Stored Programmes (AREA)

Abstract

메모리 시스템의 초기화 방법이 제공된다. 상기 메모리 시스템의 초기화 방법은 초기화 신호를 수신하고, 상기 초기화 신호를 수신 받아 초기화 데이터를 이용한 제 1 초기화 동작을 수행하고, 상기 제 1 초기화 동작에 의해 동작 대기 신호가 활성화되지 않으면 강제 초기화 모드를 설정하고, 상기 강제 초기화 모드의 설정에 따라 상기 초기화 데이터를 사용하지 않는 제 2 초기화 동작을 수행한다.

Description

메모리 시스템의 초기화 방법{Method for initializing of memory system}
본 발명의 기술적 사상에 따른 실시예들은 메모리 시스템의 초기화 방법들에 관한 것이다.
메모리 시스템은 컨트롤러 및 상기 컨트롤러에 의해 제어되는 비휘발성 메모리 소자(non-volatile memory device)를 포함할 수 있다.
초기화 데이터가 불량 셀에 저장되었거나, 상기 초기화 데이터를 업데이트하기 위한 패치 업데이트도중 갑작스레 전원이 종료되는 등과 같이, 상기 초기화 데이터가 손상된 경우, 상기 초기화 데이터의 실행에 의해 동작 대기 신호가 활성화되지 않지 않아, 이 경우 종래의 메모리 시스템은 초기화 동작을 종료하지 못함에 따라, 비휘발성 메모리 소자 또는 컨트롤러에 특별한 이상이 없음에도 호스트에 의해 인식 불량으로 판단되어 사용자가 제품을 사용할 수 없게 되는 문제점 등은 제조 단계에도 이러한 문제 발생 시 복구가 불가능하다. 제품의 형태에 따라 일부 복구가 가능한 경우도 있으나 이런 경우에도 일반적인 제조시설이 아닌 특수 제조시설을 이용한 번 외 공정이 필요하기 때문에 이로 인한 시간적,비용적 손실이 발생 할 수 있다.
본 발명이 해결하려는 과제는 초기화 동작 중 발생하는 인식 불량을 사용자 환경에서 해결할 수 있도록 하여 제품의 제조 편의성 및 사용 편의성을 향상시킬 수 있는 메모리 시스템의 초기화 방법들을 제공하는 것이다.
본 발명이 해결하려는 과제는 앞서 언급한 과제로 한정되지 않는다. 여기서 언급되지 않은 다른 과제들은 아래의 기재로부터 당업자에게 명확하게 이해될 것이다.
상기 해결하려는 과제를 달성하기 위한 본 발명의 기술적 사상에 따른 메모리 시스템의 초기화 방법은 호스트로부터 초기화 신호를 수신하고, 상기 초기화 신호의 수신에 따라 컨트롤러의 시동 메모리에 저장된 부트 코드를 실행하고, 상기 부트 코드의 실행에 따라 비휘발성 메모리 소자에 저장된 초기화 데이터를 상기 컨트롤러의 동작 메모리에 로드하고, 상기 동작 메모리에 로드된 상기 초기화 데이터를 실행하고, 상기 초기화 데이터의 실행에 의해 동작 대기 신호가 활성화되지 않으면 상기 부트 코드를 재실행하고, 상기 부트 코드를 재실행한 후, 상기 비휘발성 메모리 소자에 저장된 상기 초기화 데이터를 삭제하는 것을 포함한다.
상기 메모리 시스템의 초기화 방법은 상기 초기화 데이터를 삭제한 후, 상기 비휘발성 메모리 소자에 새로운 초기화 데이터를 업데이트하고, 상기 동작 메모리에 업데이트된 초기화 데이터를 로드하고, 상기 동작 메모리에 로드된 상기 업데이트된 초기화 데이터를 실행하는 것을 더 포함할 수 있다.
상기 새로운 초기화 데이터를 업데이트하는 것은 상기 호스트에 상기 새로운 초기화 데이터를 업데이트할 것인 지를 확인하고, 상기 호스트의 명령에 따라 상기 새로운 초기화 데이터를 업데이트하는 것을 포함할 수 있다.
상기 초기화 데이터를 삭제하는 것은 상기 비휘발성 메모리 소자를 초기화하는 것을 포함할 수 있다.
상기 비휘발성 메모리 소자를 초기화하는 것은 상기 호스트에 상기 비휘발성 메모리 소자를 초기화할 것인 지를 확인하고, 상기 호스트의 명령에 따라 상기 비휘발성 메모리 소자를 초기화하는 것을 포함할 수 있다.
상기 비휘발성 메모리 소자를 초기화하는 것은 상기 호스트에 상기 비휘발성 메모리 소자를 초기화할 것인 지를 확인하기 전, 상기 부트 코드가 재실행되었음을 알리는 것을 더 포함할 수 있다.
상기 메모리 시스템의 초기화 방법은 상기 초기화 데이터를 삭제한 후, 상기 비휘발성 메모리 소자에 저장된 예비 초기화 데이터를 상기 동작 메모리에 로드하고, 상기 동작 메모리에 로드된 상기 예비 초기화 데이터를 실행하는 것을 더 포함할 수 있다.
상기 메모리 시스템의 초기화 방법은 상기 예비 초기화 데이터를 상기 동작 메모리에 로드하기 전, 상기 비휘발성 메모리 소자에 상기 예비 초기화 데이터가 저장되어 있는 지를 확인하는 것을 더 포함할 수 있다.
상기 메모리 시스템의 초기화 방법은 상기 초기화 데이터의 실행에 의해 상기 동작 대기 신호가 활성화되면, 상기 호스트에 상기 초기화 데이터를 백업(back-up)하는 것을 더 포함할 수 있다.
상기 메모리 시스템의 초기화 방법은 상기 초기화 데이터를 삭제한 후, 상기 호스트에 저장된 백업 초기화 데이터를 상기 동작 메모리에 로드하고, 상기 동작 메모리에 로드된 상기 백업 초기화 데이터를 실행하는 것을 더 포함할 수 있다.
상기 백업 초기화 데이터를 상기 동작 메모리에 로드하는 것은 상기 백업 초기화 데이터를 상기 비휘발성 메모리 소자에 복사하고, 상기 비휘발성 메모리 소자에 저장된 상기 백업 초기화 데이터를 상기 동작 메모리에 로드하는 것을 포함할 수 있다.
상기 메모리 시스템의 초기화 방법은 상기 백업 초기화 데이터를 상기 동작 메모리에 로드하기 전, 상기 호스트에 상기 백업 초기화 데이터가 저장되어 있는 지를 확인하는 것을 더 포함할 수 있다.
상기 해결하려는 다른 과제를 달성하기 위한 본 발명의 기술적 사상에 따른 메모리 시스템의 초기화 방법은 상기 초기화 신호의 수신에 따라 초기화 데이터를 이용한 제 1 초기화 동작을 수행하고, 상기 제 1 초기화 동작에 의해 동작 대기 신호가 활성화되지 않으면, 상기 초기화 데이터를 이용하지 않는 제 2 초기화 동작을 수행하는 것을 포함한다.
상기 제 1 초기화 동작을 수행하는 것은 컨트롤러의 시동 메모리에 저장된 부트 코드를 실행하는 것을 포함할 수 있다. 상기 제 2 초기화 동작을 수행하는 것은 강제 초기화 모드를 설정하고, 상기 강제 초기화 모드의 설정에 따라 상기 컨트롤러의 시동 메모리에 저장된 예비 부트 코드를 실행하고, 상기 초기화 데이터를 삭제하는 것을 포함할 수 있다.
상기 제 2 초기화 동작을 수행하는 것은 상기 초기화 데이터를 삭제한 후, 상기 호스트에 새로운 초기화 데이터를 업데이트할 것인 지를 확인하고, 상기 호스트의 명령에 따라 상기 비휘발성 메모리 소자에 상기 새로운 초기화 데이터를 업데이트하고, 상기 컨트롤러의 동작 메모리에 업데이트된 초기화 데이터를 로드하고, 상기 동작 메모리에 로드된 상기 업데이트된 초기화 데이터를 실행하는 것을 더 포함할 수 있다.
본 발명의 기술적 사상에 따른 메모리 시스템의 초기화 방법은 초기화 데이터를 이용한 제 1 초기화 동작에 의해 동작 대기 신호가 활성화되지 않으면, 상기 초기화 데이터를 이용하지 않는 제 2 초기화 동작을 수행할 수 있다. 이에 따라 본 발명의 기술적 사상에 따른 메모리 시스템의 초기화 방법은 사용자 환경에서 인식 불량을 해결하여 제품의 제조 편의성 및 사용 편의성을 향상시키는 효과가 있다.
도 1은 본 발명의 제 1 실시 예에 따른 메모리 시스템을 나타낸 구성도이다.
도 2는 본 발명의 제 1 실시 예에 따른 메모리 시스템의 초기화 방법을 나타낸 순서도이다.
도 3은 본 발명의 제 2 실시 예에 따른 메모리 시스템의 초기화 방법을 나타낸 순서도이다.
도 4는 본 발명의 제 3 실시 예에 따른 메모리 시스템의 초기화 방법을 나타낸 순서도이다.
도 5는 본 발명의 제 4 실시 예에 따른 메모리 시스템을 나타낸 구성도이다.
도 6은 본 발명의 제 4 실시 예에 따른 메모리 시스템의 초기화 방법을 나타낸 순서도이다.
도 7은 본 발명의 제 5 실시 예에 따른 메모리 시스템을 나타낸 구성도이다.
도 8은 본 발명의 제 5 실시 예에 따른 메모리 시스템의 초기화 방법을 나타낸 순서도이다.
도 9는 본 발명의 제 6 실시 예에 따른 메모리 시스템을 나타낸 구성도이다.
도 10은 본 발명의 제 6 실시 예에 따른 메모리 시스템의 초기화 방법을 나타낸 순서도이다.
도 11은 본 발명의 기술적 사상에 따른 메모리 시스템의 초기화 방법을 포함하는 데이터 저장 장치를 나타낸 구성도이다.
도 12는 본 발명의 기술적 사상에 따른 메모리 시스템의 초기화 방법을 포함하는 전자 시스템을 나타낸 구성도이다.
본 발명의 상기 목적과 기술적 구성 및 이에 따른 작용 효과에 관한 자세한 사항은 본 발명의 실시 예를 도시하고 있는 도면을 참조한 이하 상세한 설명에 의해 더욱 명확하게 이해될 것이다. 여기서, 본 발명의 실시 예들은 당업자에게 본 발명의 기술적 사상이 충분히 전달될 수 있도록 하기 위하여 제공되는 것이므로, 본 발명은 이하 설명되는 실시 예들에 한정되지 않도록 다른 형태로 구체화될 수 있다.
또한, 명세서 전체에 걸쳐서 동일한 참조 번호로 표시된 부분들은 동일한 구성 요소들을 의미하며, 도면들에 있어서 층 또는 영역의 길이와 두께는 편의를 위하여 과장되어 표현될 수 있다. 덧붙여, 제 1 구성 요소가 제 2 구성 요소 "상"에 있다고 기재되는 경우, 상기 제 1 구성 요소가 상기 제 2 구성 요소와 직접 접촉하는 상측에 위치하는 것뿐만 아니라, 상기 제 1 구성 요소와 상기 제 2 구성 요소 사이에 제 3 구성 요소가 위치하는 경우도 포함한다.
여기서, 상기 제 1, 제 2 등의 용어는 다양한 구성 요소를 설명하기 위한 것으로, 하나의 구성 요소를 다른 구성 요소로부터 구별하는 목적으로 사용된다. 다만, 본 발명의 기술적 사상을 벗어나지 않는 범위에서는 제 1 구성 요소와 제 2 구성 요소는 당업자의 편의에 따라 임의로 명명될 수 있다.
본 발명의 명세서에서 사용하는 용어는 단지 특정한 실시 예를 설명하기 위해 사용되는 것으로, 본 발명을 한정하려는 의도가 아니다. 예를 들어, 단수로 표현된 구성 요소는 문맥상 명백하게 단수만을 의미하지 않는다면 복수의 구성 요소를 포함한다. 또한, 본 발명의 명세서에서, "포함하다" 또는 "가지다" 등의 용어는 명세서 상에 기재된 특징, 숫자, 단계, 동작, 구성 요소, 부분품 또는 이들을 조합한 것이 존재함을 지정하려는 것이지, 하나 또는 그 이상의 다른 특징들이나 숫자, 단계, 동작, 구성 요소, 부분품 또는 이들을 조합한 것들의 존재 또는 부가 가능성을 미리 배제하지 않는 것으로 이해되어야 한다.
덧붙여, 다르게 정의되지 않는 한, 기술적이거나 과학적인 용어를 포함해서 여기서 사용되는 모든 용어들은 본 발명이 속하는 기술 분야에서 통상의 지식을 가진 자에 의해 일반적으로 이해되는 것과 동일한 의미가 있다. 일반적으로 사용되는 사전에 정의되어 있는 것과 같은 용어들은 관련 기술의 문맥상 가지는 의미와 일치하는 의미가 있는 것으로 해석되어야 하며, 본 발명의 명세서에서 명백하게 정의하지 않는 한, 이상적이거나 과도하게 형식적인 의미로 해석되지 않는다.
 
(제 1 실시 예)
도 1은 본 발명의 제 1 실시 예에 따른 메모리 시스템을 나타낸 구성도이다.
도 1을 참조하면, 본 발명의 제 1 실시 예에 따른 메모리 시스템(1000)은 컨트롤러(controller, 1100) 및 비휘발성 메모리 소자(non-volatile memory device, 1200)를 포함할 수 있다. 상기 비휘발성 메모리 소자(1200)은 상기 컨트롤러(1100)에 의해 제어될 수 있다. 상기 컨트롤러(1100)는 호스트(HOST)와 상기 비휘발성 메모리 소자(1200) 사이에 연결될 수 있다.
상기 컨트롤러(1100)는 상기 호스트(HOST)의 명령에 따라 상기 호스트(HOST)로부터 전달되는 데이터를 상기 비휘발성 메모리 소자(1200)에 저장하도록 구성될 수 있다. 또한, 상기 컨트롤러(1100)는 상기 호스트(HOST)의 명령에 따라 상기 비휘발성 메모리 소자(1200)에 저장된 데이터를 상기 호스트(HOST)로 전달하도록 구성될 수 있다.
상기 컨트롤러(1100)는 상기 호스트(HOST)와 데이터 교환을 수행하기 위한 프로토콜(protocol)을 포함할 수 있다. 예를 들어, 상기 컨트롤러(1100)는 USB, MMC, PCI-E, ATA(Advance Technology Attachment), Serial-ATA, Parallel-ATA, SCSI, ESDI 및 IDE(Integrated Drive Electronics) 중 하나를 통해 상기 호스트(HOST)와 데이터를 교환할 수 있다.
상기 컨트롤러(1100)는 시동 메모리(starting memory, 1110) 및 동작 메모리(working memory, 1120)를 포함할 수 있다. 상기 시동 메모리(1110)는 롬(Read Only Memory; ROM)일 수 있다. 상기 동작 메모리(1120)는 램(Random Access Memory; RAM)일 수 있다.
상기 시동 메모리(1110)는 비휘발성 메모리(non-volatile memory)일 수 있다. 예를 들어, 상기 시동 메모리(1110)는 노어-플래시 메모리(NOR Flash memory), 피램(Phase changeable RAM; PRAM), 알램(Resistance changeable RAM; RAM) 또는 엠램(Magnetoresistive RAM; MRAM)일 수 있다.
상기 동작 메모리(1120)는 휘발성 메모리(volatile memory)일 수 있다. 예를 들어, 상기 동작 메모리(1120)는 디램(Dynamic RAM; DRAM), 에스램(Static RAM; SRAM) 또는 에스디램(Synchronous Dynamic RAM; SDRAM)일 수 있다.
상기 시동 메모리(1110)에는 부트 코드(boot code)가 저장될 수 있다. 상기 부트 코드는 초기화(initializing) 동작을 위한 최소한의 명령어를 포함할 수 있다. 예를 들어, 상기 부트 코드는 상기 비휘발성 메모리 소자(1200)에 저장된 초기화 데이터를 상기 동작 메모리(1120)에 로드(load)하기 위한 최소한의 명령어를 포함할 수 있다. 여기서, 상기 초기화 동작은 본 발명의 제 1 실시 예에 따른 메모리 시스템(1000)을 이용 가능한 상태로 설정하는 것을 의미한다. 상기 초기화 동작은 본 발명의 제 1 실시 예에 따른 메모리 시스템(1000)의 시스템 부팅(system booting)을 의미할 수 있다. 즉, 본 발명의 제 1 실시 예에 따른 메모리 시스템(1000)은 상기 초기화 동작을 통해 상기 호스트(HOST)의 명령에 따라 데이터를 교환할 수 있는 상태로 설정될 수 있다.
상기 비휘발성 메모리 소자(1200)는 서로 다른 데이터를 저장하기 위한 제 1 블록(1201) 및 제 2 블록(1202)을 포함할 수 있다. 상기 비휘발성 메모리 소자(1200)는 낸드 플래시 메모리(NAND Flash memory), 피램(PRAM), 알램(RRAM), 엠램(MRAM) 또는 이들의 조합으로 구성될 수 있다.
상기 제 1 블록(1201)에는 상기 초기화 데이터가 저장될 수 있다. 상기 초기화 데이터는 본 발명의 제 1 실시 예에 따른 메모리 시스템(1000)의 초기화 동작을 위한 모든 데이터를 포함할 수 있다. 상기 초기화 데이터는 본 발명의 제 1 실시 에에 따른 메모리 시스템(1000)을 위한 펌웨어(firmware)일 수 있다. 상기 초기화 데이터는 본 발명의 제 1 실시 예에 따른 메모리 시스템(1000)의 초기화 동작이 종료된 이후에 수행되는 패치 업데이트(patch update)에 의해 생성 또는 업데이트될 수 있다.
상기 초기화 데이터는 메인 코드(main code)를 포함할 수 있다. 상기 메인 코드는 상기 부트 코드를 보완하는 명령어를 포함할 수 있다. 예를 들어, 상기 메인 코드는 상기 호스트(HOST)의 명령에 따라 상기 비휘발성 메모리 소자(1200)에 데이터를 읽기, 쓰기 또는 소거하는 동작을 수행하기 위한 명령어를 포함할 수 있다.
상기 초기화 데이터는 상기 호스트(HOST)의 명령에 따라 상기 컨트롤러(1100)가 상기 비휘발성 메모리 소자(1200)를 제어하기 위한 명령어를 더 포함할 수 있다. 예를 들어, 상기 초기화 데이터는 폐영역 회수(garbage collection), 데이터 머지(data merge) 및 마모도 관리(wear leveling)와 같은 배경 동작(background operation)을 수행하기 위한 명령어를 포함할 수 있다.
상기 제 2 블록(1202)에는 사용자 데이터가 저장될 수 있다. 상기 사용자 데이터는 사용자에 의해 임의로 기입, 독출 및 소거될 수 있는 데이터를 의미할 수 있다. 예를 들어, 상기 사용자 데이터는 텍스트 데이터(text data), 음성 데이터(audio data), 영상 데이터(image data) 및 운영 체재(Operating System; OS)를 포함할 수 있다.
도 2는 본 발명의 제 1 실시 예에 따른 메모리 시스템의 초기화 방법을 나타낸 순서도이다.
도 1 및 2를 참조하여 본 발명의 제 1 실시 예에 따른 메모리 시스템(1000)의 초기화 방법을 설명한다. 먼저, 본 발명의 제 1 실시 예에 따른 메모리 시스템(1000)의 초기화 방법은 메모리 시스템(1000)이 초기화 신호를 수신하는 단계(S110)를 포함할 수 있다.
상기 초기화 신호는 호스트(HOST)로부터 상기 메모리 시스템(100)으로 전달될 수 있다. 예를 들어, 상기 초기화 신호는 상기 호스트(HOST)로부터 상기 메모리 시스템(100)으로 전달되는 전원-온(power-on) 신호 또는 리셋(reset) 신호일 수 있다.
이어서, 상기 메모리 시스템(1000)의 초기화 방법은 상기 초기화 신호를 수신 받아 부트 코드를 실행하는 단계(S120)를 포함할 수 있다. 상기 부트 코드는 컨트롤러(1100)의 시동 메모리(1110)에 저장될 수 있다. 상기 시동 메모리(1110)는 롬(ROM)일 수 있다. 이에 따라 상기 부트 코드를 실행하는 것은 롬 부팅(ROM booting)을 의미할 수 있다.
다음으로, 상기 메모리 시스템(1000)의 초기화 방법은 상기 컨트롤러(1100)에 의한 부트 코드의 실행에 의해 비휘발성 메모리 소자(1200)의 제 1 블록(1201)에 초기화 데이터가 저장되어 있는 지를 확인하는 단계(S130)를 포함할 수 있다.
상기 비휘발성 메모리 소자(1200)의 상기 제 1 블록(1201)에 상기 초기화 데이터가 저장되어 있는 지를 확인하는 것은 상기 부트 코드의 실행에 의해 상기 컨트롤러(1100)의 명령 없이 자동적으로 수행될 수 있다.
상기 메모리 시스템(1000)은 상기 비휘발성 메모리 소자(1200)의 상기 제 1 블록(1201)에 상기 초기화 데이터가 저장되어 있지 않은 것으로 확인되면, 패치 업데이트가 한 번도 진행되지 않은 상태로 간주될 수 있다. 이에 따라 상기 메모리 시스템(1000)의 초기화 방법은 상기 제 1 블록(1201)에 상기 초기화 데이터가 저장되어 있지 않으면 초기화 동작을 종료할 수 있다.
상기 메모리 시스템(1000)의 초기화 방법은 상기 제 1 블록(1201)에 상기 초기화 데이터가 저장되어 있는 것으로 확인되면, 상기 제1 블록(1201)에 저장되어 있는 상기 초기화 데이터를 상기 컨트롤러(1100)의 동작 메모리(1120)에 로드(load)하는 단계(S140)를 포함할 수 있다.
이어서, 상기 메모리 시스템(1000)의 초기화 방법은 상기 동작 메모리(1120)에 로드된 상기 초기화 데이터를 실행하는 단계(S150)를 포함할 수 있다.상기 동작 메모리(1120)는 램(RAM)일 수 있다. 이에 따라, 상기 초기화 데이터를 실행하는 것은 램 부팅(RAM booting)을 의미할 수 있다.
본 발명의 기술적 사상에 따른 몇몇 실시 예들에서, 상기 부트 코드를 실행하는 단계(S120), 상기 동작 메모리(1120)에 상기 초기화 데이터를 로드하는 단계(S140) 및 상기 초기화 데이터를 실행하는 단계(S150)는 제 1 초기화 동작(I1)이라 정의될 수 있다. 즉, 상기 제 1 초기화 동작(I1)은 상기 초기화 데이터를 이용한 초기화 동작일 수 있다.
상기 메모리 시스템(1000)의 초기화 방법은 상기 초기화 데이터의 실행에 의해 상기 메모리 시스템(100)의 동작 대기 신호가 활성화되는 지를 확인하는 단계(S160)를 포함할 수 있다.
상기 동작 대기 신호가 활성화되는 것은 상기 메모리 시스템(1000)이 상기 호스트(HOST)의 명령을 수행할 수 있는 상태인 것을 의미할 수 있다. 이에 따라 상기 메모리 시스템(1000)의 초기화 방법은 상기 동작 대기 신호가 활성화되면 초기화 동작을 종료할 수 있다. 상기 동작 대기 신호는 상기 컨트롤러(1100)로부터 상기 호스트(HOST)에 전달되는 레디(ready) 신호 또는 비지(busy) 신호일 수 있다.
상기 메모리 시스템(1000)의 초기화 방법은 상기 동작 대기 신호가 활성화되지 않은 것으로 확인되, 강제 초기화 모드(Forced Reset Mode; FRM)를 설정하는 단계(S170)를 포함할 수 있다. 상기 강제 초기화 모드(FRM)는 상기 메모리 시스템(1000)의 상기 컨트롤러(1100)에 의해 설정될 수 있다.
상기 동작 대기 신호가 활성화되지 않는 것은 상기 동작 메모리(1120)에 로드된 상기 초기화 데이터가 정상적으로 실행되지 않거나, 상기 초기화 데이터가 정상적으로 동작하지 않는다는 것을 의미할 수 있다. 예를 들어, 패치 업데이트 도중에 예기치 못하게 상기 메모리 시스템(1000)의 전원이 차단되어 상기 초기화 데이터가 불완전하게 업데이트된 경우, 상기 초기화 데이터는 정상적으로 실행 또는 동작하지 않을 수 있다. 이러한 것은 상기 초기화 동작을 정상적으로 종료하지 못한다는 것을 의미할 수 있다. 이에 따라, 상기 호스트(HOST)는 상기 메모리 시스템(1000)을 인식하지 못할 수 있다.
따라서, 상기 초기화 신호를 수신한 상기 메모리 시스템(1000)은 상기 동작 대기 신호가 활성화되지 않는 경우에, 상기 강제 초기화 모드(FRM)를 설정할 수 있다.
상기 메모리 시스템(1000)의 초기화 방법은 상기 강제 초기화 모드(FRM)의 설정에 따라 상기 부트 코드를 재실행하는 단계(S180)를 포함할 수 있다. 상기 부트 코드를 재실행하는 것은 상기 메모리 시스템(1000)의 상기 강제 초기화 모드(FRM) 설정에 의해 상기 시동 메모리(1110)에 저장된 부트 코드를 재실행하는 것을 의미할 수 있다.
상기 강제 초기화 모드(FRM)설정에 의한 상기 부트 코드의 재실행에 의해 상기 동작 메모리(1120)에 로드된 상기 초기화 데이터는 소거될 수 있다.
상기 메모리 시스템(1000)의 초기화 방법은 상기 부트 코드를 재실행한 후, 상기 비휘발성 메모리 소자(1200)를 초기화하는 단계(S190)를 포함할 수 있다.
상기 비휘발성 메모리 소자(1200)를 초기화하는 것은 상기 비휘발성 메모리 소자(1200)에 저장된 상기 초기화 데이터 및 사용자 데이터를 삭제하는 것을 의미할 수 있다. 이에 따라, 본 발명의 제 1 실시 예에 따른 메모리 시스템(1000)은 패치 업데이트가 한 번도 진행되지 않은 상태와 동일하게 될 수 있다.
상기 메모리 시스템(1000)의 초기화 방법은 상기 비휘발성 메모리 소자(1200)를 초기화 한 후에, 상기 비휘발성 메모리 소자(1200)의 상기 제 1 블록(1201)에 새로운 초기화 데이터를 업데이트하는 단계(S200)를 포함할 수 있다.
상기 새로운 초기화 데이터를 업데이트하는 것은 상기 호스트(HOST)를 통해 이루어질 수 있다. 예를 들어, 상기 메모리 시스템(1000)의 초기화 방법은 상기 호스트(HOST)와 연결된 패치 서버(patch server)를 통해 최신 버전의 펌웨어를 업데이트할 수 있다.
이어서, 상기 메모리 시스템(1000)의 초기화 방법은 상기 비휘발성 메모리 소자(1200)의 상기 제 1 블록(1201)에 업데이트된 초기화 데이터를 상기 동작 메모리(1120)로 로드하는 단계(S210)를 포함할 수 있다.
상기 동작 메모리(1120)는 휘발성 메모리일 수 있다. 이에 따라 상기 부트 코드의 재실행에 의해 상기 동작 메모리(1120)는 이전에 로드된 초기화 데이터가 소거된 상태일 수 있다. 즉, 상기 동작 메모리(1120)는 상기 업데이트된 초기화 데이터만 로드된 상태일 수 있다.
상기 메모리 시스템(1000)의 초기화 방법은 상기 동작 메모리(1120)에 로드된 상기 업데이트된 초기화 데이터를 실행하는 단계(S220)를 포함할 수 있다.
본 발명의 기술적 사상에 따른 몇몇 실시 예들에서, 상기 부트 코드를 재실행하는 단계(S180), 상기 비휘발성 메모리 소자(1200)를 초기화하는 단계(S190), 새로운 초기화 데이터를 업데이트하는 단계(S200), 상기 동작 메모리(1120)에 상기 업데이트된 초기화 데이터를 로드하는 단계(S210) 및 상기 업데이트된 초기화 데이터를 실행하는 단계(S220)는 제 2 초기화 동작(I2)이라 정의될 수 있다. 즉, 상기 제 2 초기화 동작(I1)은 상기 초기화 데이터를 이용하지 않는 초기화 동작일 수 있다.
따라서, 본 발명의 제 1 실시 예에 따른 메모리 시스템(1000)의 초기화 방법은 상기 초기화 신호에 따라 초기화 데이터를 이용한 상기 제 1 초기화 동작(I1)을 수행할 수 있다. 상기 제 1 초기화 동작(I1)에 의해 상기 동작 대기 신호가 활성화되지 않으면, 강제 초기화 모드(FRM)를 설정한 후, 상기 초기화 데이터를 이용하지 않은 상기 제 2 초기화 동작(I2)을 수행할 수 있다. 이에 따라, 본 발명의 제 1 실시 예에 따른 메모리 시스템(1000)의 초기화 방법은 상기 호스트(HOST)가 상기 초기화 데이터로 인하여 상기 메모리 시스템(100)을 인식하지 못하는 문제를 사용자 환경에서 해결할 수 있다.
본 발명의 제 1 실시 예에 따른 메모리 시스템(1000)의 초기화 방법은 상기 제 2 초기화 동작(I2)의 수행에 따라 초기화 동작을 종료하고, 상기 호스트(HOST)의 명령을 대기할 수 있다.
(제 2 실시 예)
도 3은 본 발명의 제 2 실시 예에 따른 메모리 시스템의 초기화 방법을 나타낸 순서도이다
이하에서는 도 1 및 3을 참조하여, 본 발명의 제 1 실시 예에 따른 메모리 시스템의 초기화 방법과 다른 점을 중심으로 본 발명의 제 2 실시 에에 따른 메모리 시스템의 초기화 방법을 설명한다.
도 1 및 3을 참조하면, 본 발명의 제 2 실시 예에 따른 메모리 시스템(1000)의 초기화 방법은 초기화 신호를 수신하는 단계(S310), 상기 초기화 신호를 수신 받아 부트 코드를 실행하는 단계(S320), 비휘발성 메모리 소자(1200)의 제 1 블록(1201)에 초기화 데이터가 저장되어 있는 지를 확인하는 단계(S330), 상기 제 1 블록(1201)에 저장된 상기 초기화 데이터를 상기 동작 메모리(1120)에 로드하는 단계(S340), 상기 동작 메모리(1120)에 로드된 상기 초기화 데이터를 실행하는 단계(S350) 및 상기 초기화 데이터의 실행에 의해 동작 대기 신호가 활성화되는 지를 확인하는 단계(S360)를 포함할 수 있다.
상기 메모리 시스템(1000)의 초기화 방법은 상기 초기화 데이터의 실행에 의해 상기 동작 대기 신호가 활성화되지 않으면, 강제 초기화 모드(FRM)를 설정하는 단계(S370)를 포함할 수 있다.
상기 메모리 시스템(1000)의 초기화 방법은 상기 동작 대기 신호가 활성화되면 초기화 동작을 종료하고, 호스트(HOST)의 명령을 대기할 수 있다.
상기 메모리 시스템(1000)의 초기화 방법은 상기 강제 초기화 모드(FRM)의 설정에 의해 상기 부트 코드를 재실행하는 단계(S380)를 포함할 수 있다.
상기 메모리 시스템(1000)의 초기화 방법은 상기 호스트(HOST)에 상기 강제 초기화 모드(FRM)의 설정을 알리는 단계(S390)를 포함할 수 있다.
상기 호스트(HOST)에 상기 강제 초기화 모드(FRM)의 설정을 알리는 것은 상기 강제 초기화 모드(FRM)의 설정에 의해 상기 부트 코드가 재실행되었음을 알리는 것을 포함할 수 있다. 이에 따라, 상기 메모리 시스템(1000)의 초기화 방법은 사용자에게 상기 호스트(HOST)가 상기 메모리 시스템(1000)을 인식하지 못하고 있음을 알릴 수 있다.
이어서, 상기 메모리 시스템(1000)의 초기화 방법은 상기 호스트(HOST)에 상기 비휘발성 메모리 소자(1200)를 초기화할 것인지 확인하는 단계(S400)를 포함할 수 있다.
상기 메모리 시스템(1000)의 초기화 방법은 상기 호스트(HOST)에 상기 비휘발성 메모리 소자(1200)를 초기화할 것인 지를 확인하기 전에, 상기 호스트(HOST)에 상기 강제 초기화 모드(FRM)가 설정되었음을 알릴 수 있다. 그렇지만, 본 발명의 기술적 사상의 실시예들은 이에 한정되지 않는다. 예를 들어, 상기 메모리 시스템(1000)의 초기화 방법은 상기 강제 초기화 모드(FRM)가 설정되었다는 점을 알리지 않고, 상기 호스트(HOST)에 상기 비휘발성 메모리 소자(1200)를 초기화할 것인 지를 확인할 수 있다.
상기 메모리 시스템(1000)의 초기화 방법은 상기 호스트(HOST)의 명령에 따라 상기 비휘발성 메모리 소자(1200)의 상기 제 1 블록(1201)에 저장된 상기 초기화 데이터만을 삭제하는 단계(S410a)를 포함할 수 있다. 즉, 상기 메모리 시스템(1000)의 초기화 방법은 상기 호스트(HOST)로부터 상기 비휘발성 메모리 소자(1200)를 초기화하지 않는다는 명령이 전달되면, 상기 제 1 블록(1201)에 저장된 상기 초기화 데이터를 삭제할 수 있다.
상기 메모리 시스템(1000)의 초기화 방법은 상기 호스트(HOST)의 명령에 따라 상기 비휘발성 메모리 소자(1200)를 초기화하는 단계(S410b)를 포함할 수 있다.
이어서, 상기 메모리 시스템(1000)의 초기화 방법은 상기 호스트(HOST)에 새로운 초기화 데이터를 업데이트할 것인 지를 확인하는 단계(S420)를 포함할 수 있다.
상기 호스트(HOST)로부터 상기 새로운 초기화 데이터를 업데이트하지 않는다는 명령이 전달되면, 상기 메모리 시스템(1000)의 초기화 방법은 초기화 동작을 종료하고, 상기 호스트(HOST)의 명령을 대기할 수 있다.
상기 메모리 시스템(1000)의 초기화 방법은 상기 호스트(HOST)의 명령에 따라 상기 비휘발성 메모리 소자(1200)의 상기 제 1 블록(1201)에 상기 새로운 초기화 데이터를 업데이트하는 단계(S430)를 포함할 수 있다. 상기 새로운 초기화 데이터는 최신 버전의 펌웨어일 수 있다.
이어서, 상기 메모리 시스템(1000)의 초기화 방법은 상기 제 1 블록(1201)에 업데이트된 초기화 데이터를 상기 동작 메모리(1120)에 로드하는 단계(S440)를 포함할 수 있다.
다음으로, 상기 메모리 시스템(1000)의 초기화 방법은 상기 동작 메모리(1120)에 로드된 상기 업데이트된 초기화 데이터를 실행하는 단계(S450)를 포함할 수 있다.
계속해서, 상기 메모리 시스템(1000)의 초기화 방법은 초기화 동작을 종료하고, 상기 호스트(HOST)의 명령을 대기할 수 있다.
(제 3 실시 예)
도 4는 본 발명의 제 3 실시 예에 따른 메모리 시스템의 초기화 방법에 나타낸 순서도이다.
이하에서는 도 1 및 4를 참조하여, 본 발명의 제 1 실시 예에 따른 메모리 시스템의 초기화 방법과 다른 점을 중심으로 본 발명의 제 3 실시 에에 따른 메모리 시스템의 초기화 방법을 설명한다.
도 1 및 4를 참조하면, 본 발명의 제 3 실시 예에 따른 메모리 시스템(1000)의 초기화 방법은 초기화 신호를 수신하는 단계(S510), 상기 초기화 신호 수신 받아 부트 코드를 실행하는 단계(S520), 비휘발성 메모리 소자(1200)의 제 1 블록(1201)에 초기화 데이터가 저장되어 있는 지를 확인하는 단계(S530), 상기 제 1 블록(1201)에 저장된 상기 초기화 데이터를 상기 동작 메모리(1120)에 로드하는 단계(S540), 상기 동작 메모리(1120)에 로드된 상기 초기화 데이터를 실행하는 단계(S550) 및 상기 초기화 데이터의 실행에 의해 동작 대기 신호가 활성화되는 지를 확인하는 단계(S560)를 포함할 수 있다.
상기 메모리 시스템(1000)의 초기화 방법은 상기 초기화 데이터의 실행에 의해 동작 대기 신호가 활성화되지 않으면, 강제 초기화 모드(FRM)를 설정하는 단계(S570)를 포함할 수 있다.
상기 메모리 시스템(1000)의 초기화 방법은 상기 강제 초기화 모드(FRM)의 설정에 따라 상기 부트 코드를 재실행하는 단계(S580)를 포함할 수 있다.
상기 메모리 시스템(1000)의 초기화 방법은 상기 부트 코드를 재실행한 후, 상기 비휘발성 메모리 소자(1200)의 상기 제 1 블록(1201)에 저장된 상기 초기화 데이터를 삭제하는 단계(S590)를 포함할 수 있다.
(제 4 실시 예)
도 5는 본 발명의 제 4 실시 예에 따른 메모리 시스템을 나타낸 구성도이다.
도 5를 참조하면, 본 발명의 제 4 실시 예에 따른 메모리 시스템(2000)은 컨트롤러(2100) 및 상기 컨트롤러(2100)에 의해 제어되는 비휘발성 메모리 소자(2200)를 포함할 수 있다. 상기 컨트롤러(2100)는 호스트(HOST)와 상기 비휘발성 메모리 소자(2200) 사이에 연결될 수 있다.
상기 컨트롤러(2100)는 시동 메모리(2110)와 동작 메모리(2120)를 포함할 수 있다. 상기 비휘발성 메모리 소자(2200)는 서로 다른 데이터를 저장하기 위한 제 1 블록(2201), 제 2 블록(2202) 및 제 3 블록(2203)을 포함할 수 있다.
본 발명의 제 4 실시 예에 따른 메모리 시스템(3000)의 상기 컨트롤러(2100), 상기 시동 메모리(2110), 상기 동작 메모리(2120), 상기 비휘발성 메모리 소자(2200), 상기 제 1 블록(2201) 및 상기 제 2 블록(2202)은 본 발명의 제 1 실시 예에 따른 메모리 시스템(1000)의 컨트롤러(1100), 시동 메모리(1110), 동작 메모리(1120), 비휘발성 메모리 소자(1200), 제 1 블록(1201) 및 제 2 블록(1202)와 동일한 구성 요소로 이해될 수 있다. 따라서, 상기 구성 요소에 대한 구체적인 설명은 본 발명의 제 1 실시 예에 기재된 내용으로 대체될 수 있다.
상기 비휘발성 메모리 소자(2200)의 상기 제 3 블록(2203)에는 예비 초기화 데이터가 저장될 수 있다. 상기 예비 초기화 데이터는 제품 출시 시점에서 최신 버전의 펌웨어일 수 있다. 즉, 상기 예비 초기화 데이터는 최초 버전의 펌웨어일 수 있다. 상기 예비 초기화 데이터는 동작 대기 신호가 활성화된 초기화 동작에 이용된 초기화 데이터의 백업일 수 있다. 상기 예비 초기화 데이터는 상기 초기화 데이터의 메인 코드만을 포함할 수 있다.
상기 제 3 블록(2203)은 오류 정정 코드(Error Correcting Code; ECC)를 포함할 수 있다. 상기 오류 정정 코드(ECC)는 비휘발성 메모리 소자의 불량 메모리 셀에 대한 오류를 정정하여 상기 비휘발성 메모리 소자에 대한 쓰기 또는 소거의 제한 횟수를 증가시킬 수 있다.
도 6은 본 발명의 제 4 실시 예에 따른 메모리 시스템(2000)의 초기화 방법을 나타낸 순서도이다.
이하에서는 도 5 및 6을 참조하여, 본 발명의 제 1 실시 예에 따른 메모리 시스템의 초기화 방법과 다른 점을 중심으로 본 발명의 제 4 실시 예에 따른 메모리 시스템의 초기화 방법을 설명한다.
도 5 및 6을 참조하면, 본 발명의 제 4 실시 예에 따른 메모리 시스템(2000)의 초기화 방법은 초기화 신호를 수신하는 단계(S710), 상기 초기화 신호를 수신 받아 부트 코드를 실행하는 단계(S720), 비휘발성 메모리 소자(2200)의 제 1 블록(2201)에 초기화 데이터가 저장되어 있는 지를 확인하는 단계(S730), 상기 제 1 블록(2201)에 저장된 상기 초기화 데이터를 상기 동작 메모리(2120)에 로드하는 단계(S740), 상기 동작 메모리(2120)에 로드된 상기 초기화 데이터를 실행하는 단계(S750) 및 상기 초기화 데이터의 실행에 의해 동작 대기 신호가 활성화되는 지를 확인하는 단계(S760)를 포함할 수 있다.
상기 메모리 시스템(2000)의 초기화 방법은 상기 초기화 데이터의 실행에 의해 상기 동작 대기 신호가 활성화되지 않으면, 강제 초기화 모드(FRM)를 설정하는 단계(S770)를 포함할 수 있다.
상기 메모리 시스템(2000)의 초기화 방법은 상기 강제 초기화 모드(FRM)의 설정에 따라 상기 부트 코드를 재실행하는 단계(S780)를 포함할 수 있다.
상기 메모리 시스템(2000)의 초기화 방법은 상기 부트 코드를 재실행한 후, 상기 비휘발성 메모리 소자(2200)의 상기 제 1 블록(2201)에 저장된 상기 초기화 데이터를 삭제하는 단계(S790)를 포함할 수 있다.
여기서, 상기 메모리 시스템(2000)은 상기 비휘발성 메모리 소자(2200)의 제 3 블록(2203)에 저장된 데이터가 상기 비휘발성 메모리 소자(2200)의 초기화에 의해 삭제되지 않도록 구성될 수 있다. 이 경우, 상기 메모리 시스템(2000)의 초기화 방법은 상기 비휘발성 메모리 소자(2200)를 초기화하여 상기 초기화 데이터를 삭제할 수 있다.
상기 메모리 시스템(2000)의 초기화 방법은 상기 비휘발성 메모리 소자(2200)의 상기 제 3 블록(2203)에 예비 초기화 데이터가 저장되어 있는 지를 확인하는 단계(S800)를 포함할 수 있다.
상기 메모리 시스템(2000)의 초기화 방법은 상기 비휘발성 메모리 소자(2200)의 상기 제 3 블록(2203)에 예비 초기화 데이터가 저장되어 있지 않으면 초기화 동작을 종료하고, 상기 호스트(HOST)의 명령을 대기할 수 있다.
상기 메모리 시스템(2000)의 초기화 방법은 상기 제 3 블록(2203)에 저장된 상기 예비 초기화 데이터를 상기 동작 메모리(2120)에 로드하는 단계(S810)를 포함할 수 있다.
여기서, 상기 메모리 시스템(2000)의 초기화 방법은 상기 제 3 블록(2203)에 상기 예비 초기화 데이터가 저장되어 있는 지를 확인하고, 상기 제 3 블록(2203)에 저장된 상기 예비 초기화 데이터를 상기 동작 메모리(2120)에 로드하는 것을 포함할 수 있다.그렇지만, 본 발명의 기술적 사상의 실시예들에 따른 상기 메모리 시스템(2000)의 초기화 방법은 이에 한정되지 않는다. 예를 들어, 상기 메모리 시시틈(2000)의 초기화 방법은 상기 제 3 블록(2203)에 상기 예비 초기화 데이터가 저장되어 있는 지를 확인하지 않고, 상기 제 3 블록(2203)에 저장된 데이터를 상기 동작 메모리(2120)에 로드할 수도 있다.
또한, 상기 메모리 시스템(2000)의 초기화 방법은 상기 제 3 블록(2203)에 저장된 상기 예비 초기화 데이터를 상기 동작 메모리(2120)에 로드하는 것을 포함할 수 있다. 그렇지만, 본 발명의 기술적 사상에 따른 실시예들은 이에 한정되지 않는다. 예를 들어, 상기 메모리 시스템(2000)의 초기화 방법은 상기 제 3 블록(2203)에 저장된 상기 예비 초기화 데이터를 상기 비휘발성 메모리 소자(2200)의 상기 제 1 블록(2201)에 복사하고, 상기 제 1 블록(2201)에 복사된 상기 예비 초기화 데이터를 상기 동작 메모리(2120)에 로드하는 것을 포함할 수 있다.
계속해서, 상기 메모리 시스템(2000)의 초기화 방법은 상기 동작 메모리(2120)에 로드된 상기 예비 초기화 데이터를 실행하는 단계(S820)를 포함할 수 있다.
이어서, 상기 메모리 시스템(2000)의 초기화 방법은 초기화 동작을 종료하고, 상기 호스트(HOST)의 명령을 대기할 수 있다.
(제 5 실시 예)
도 7은 본 발명의 제 5 실시 예에 따른 메모리 시스템을 나타낸 구성도이다.
도 7을 참조하면, 본 발명의 제 5 실시 예에 따른 메모리 시스템(3000)은 컨트롤러(3100) 및 상기 컨트롤러(3100)에 의해 제어되는 비휘발성 메모리 소자(3200)를 포함할 수 있다. 상기 컨트롤러(3100)는 호스트(HOST)와 상기 비휘발성 메모리 소자(3200) 사이에 연결될 수 있다.
상기 컨트롤러(3100)는 시동 메모리(3110)와 동작 메모리(3120)를 포함할 수 있다. 상기 비휘발성 메모리 소자(3200)는 서로 다른 데이터를 저장하기 위한 제 1 블록(3201) 및 제 2 블록(3202)을 포함할 수 있다.
본 발명의 제 5 실시 예에 따른 메모리 시스템(3000)의 상기 컨트롤러(3100), 상기 시동 메모리(3110), 상기 동작 메모리(3120), 상기 비휘발성 메모리 소자(3200), 상기 제 1 블록(3201) 및 상기 제 2 블록(3202)은 본 발명의 제 1 실시 예에 따른 메모리 시스템(1000)의 컨트롤러(1100), 시동 메모리(1110), 동작 메모리(1120), 비휘발성 메모리 소자(1200), 제 1 블록(1201) 및 제 2 블록(1202)과 동일한 구성 요소로 이해될 수 있다. 따라서, 상기 구성 요소에 대한 구체적인 설명은 본 발명의 제 1 실시 예에 기재된 내용으로 대체된다.
상기 시동 메모리(3110)는 제 1 영역(3111) 및 제 2 영역(3112)을 포함할 수 있다. 상기 제 1 영역(3111)은 부트 코드를 저장하기 위한 영역일 수 있다. 상기 제 2 영역(3112)은 예비 부트 코드를 저장하기 위한 영역일 수 있다.
상기 예비 부트 코드는 제품 출시 시점의 초기화 데이터에 포함된 부트 코드일 수 있다. 즉, 상기 예비 부트 코드는 최초 버전의 펌웨어에 포함된 부트 코드일 수 있다.
도 8은 본 발명의 제 5 실시 예에 따른 메모리 시스템(3000)의 초기화 방법을 나타낸 순서도이다.
이하에서는 도 7 및 8을 참조하여, 본 발명의 제 1 실시 예에 따른 메모리 시스템의 초기화 방법과 다른 점을 중심으로 본 발명의 제 5 실시 예에 따른 메모리 시스템의 초기화 방법을 설명한다.
도 7 및 8을 참조하면, 본 발명의 제 5 실시 예에 따른 메모리 시스템(3000)의 초기화 방법은 초기화 신호를 수신하는 단계(S910), 상기 초기화 신호를 수신 받아 상기 시동 메모리(3110)의 상기 제 1 영역(3111)에 저장된 부트 코드를 실행하는 단계(S920), 비휘발성 메모리 소자(3200)의 제 1 블록(3201)에 초기화 데이터가 저장되어 있는 지를 확인하는 단계(S930), 상기 제 1 블록(3201)에 저장된 상기 초기화 데이터를 상기 동작 메모리(3120)에 로드하는 단계(S940), 상기 동작 메모리(3120)에 로드된 상기 초기화 데이터를 실행하는 단계(S950) 및 상기 초기화 데이터의 실행에 의해 동작 대기 신호가 활성화되는 지를 확인하는 단계(S960)를 포함할 수 있다.
상기 메모리 시스템(3000)의 초기화 방법은 상기 초기화 데이터의 실행에 의해 상기 동작 대기 신호가 활성화되지 않으면, 강제 초기화 모드(FRM)를 설정하는 단계(S970)를 포함할 수 있다.
상기 메모리 시스템(3000)의 초기화 방법은 상기 강제 초기화 모드(FRM)의 설정에 따라 상기 시동 메모리(3110)의 상기 제 2 영역(3112)에 저장된 예비 부트 코드를 실행하는 단계(S980)를 포함할 수 있다.
즉, 상기 메모리 시스템(3000)의 상기 컨트롤러(3100)는 상기 강제 초기화 모드(FRM)가 설정되지 않으면 상기 시동 메모리(3110)의 상기 제 1 영역(3111)에 저장된 부트 코드를 실행하고, 상기 강제 초기화 모드(FRM)가 설정되면 상기 시동 메모리(3110)의 상기 제 2 영역(3112)에 저장된 예비 부트 코드를 실행하도록 구성될 수 있다.
상기 메모리 시스템(3000)의 초기화 방법은 상기 예비 부트 코드를 실행한 후, 상기 비휘발성 메모리 소자(3200)를 초기화하는 단계(S990)를 포함할 수 있다.
상기 메모리 시스템(3000)의 초기화 방법은 새로운 초기화 데이터를 업데이트 가능한 지를 확인하는 단계(S1000)를 포함할 수 있다.
상기 메모리 시스템(3000)의 초기화 방법은 상기 새로운 초기화 데이터가 업데이트 가능하지 않으면 초기화 동작을 종료하고, 상기 호스트(HOST)의 명령을 대기할 수 있다.
상기 메모리 시스템(3000)의 초기화 방법은 상기 비휘발성 메모리 소자(3200)의 상기 제 1 블록(3201)에 상기 새로운 초기화 데이터를 업데이트하는 단계(S1010)를 포함할 수 있다.
상기 메모리 시스템(3000)의 초기화 방법은 상기 제 1 블록(2301)에 업데이트된 초기화 데이터를 상기 동작 메모리(3120)에 로드하는 단계(S1020)를 포함할 수 있다.
상기 메모리 시스템(3000)의 초기화 방법은 상기 동작 메모리(3120)에 로드된 상기 업데이트된 초기화 데이터를 실행하는 단계(S1030)를 포함할 수 있다.
상기 메모리 시스템(3000)의 초기화 방법은 초기화 동작을 종료하고, 상기 호스트(HOST)의 명령을 대기할 수 있다.
(제 6 실시 예)
도 9는 본 발명의 제 6 실시 예에 따른 메모리 시스템을 나타낸 구성도이다.
도 9를 참조하면, 본 발명의 제 6 실시 예에 따른 메모리 시스템(4000)은 컨트롤러(4100) 및 상기 컨트롤러(4100)에 의해 제어되는 다수의 비휘발성 메모리 소자들(4200)를 포함할 수 있다. 상기 컨트롤러(4100)는 호스트(HOST)와 상기 다수의 비휘발성 메모리 소자들(4200) 사이에 연결될 수 있다.
상기 컨트롤러(4100)는 시동 메모리(4110)와 동작 메모리(4120)를 포함할 수 있다. 상기 다수의 비휘발성 메모리 소자들(4200)은 각각 서로 다른 데이터를 저장하기 위한 제 1 블록(4201) 및 제 2 블록(4202)을 포함할 수 있다.
본 발명의 제 6 실시 예에 따른 메모리 시스템(4000)의 상기 컨트롤러(4100), 상기 시동 메모리(4110), 상기 동작 메모리(4120), 상기 비휘발성 메모리 소자(4200), 상기 제 1 블록(4201) 및 상기 제 2 블록(4202)은 본 발명의 제 1 실시 예에 따른 메모리 시스템(1000)의 컨트롤러(1100), 시동 메모리(1110), 동작 메모리(1120), 비휘발성 메모리 소자(1200), 제 1 블록(1201) 및 제 2 블록(1202)와 동일한 구성 요소로 이해될 수 있다. 따라서, 상기 구성 요소에 대한 구체적인 설명은 본 발명의 제 1 실시 예에 기재된 내용으로 대체된다.
상기 호스트(HOST)는 본 발명의 제 6 실시 예에 따른 메모리 시스템(4000)을 제어하기 위한 호스트 드라이버(5100) 및 파일 시스템(5200)을 포함할 수 있다. 상기 파일 시스템(5200)은 백업 초기화 데이터가 저장될 수 있다. 상기 백업 초기화 데이터는 본 발명의 제 6 실시 예에 따른 메모리 시스템(4000)의 초기화 동작이 정상적으로 종료된 후, 상기 초기화 동작에 이용된 초기화 데이터를 백업한 것일 수 있다.
도 10은 본 발명의 제 6 실시 예에 따른 메모리 시스템(4000)의 초기화 방법을 나타낸 순서도이다.
이하에서는 도 9 및 10을 참조하여, 본 발명의 제 1 실시 예에 따른 메모리 시스템의 초기화 방법과 다른 점을 중심으로 본 발명의 제 6 실시 예에 따른 메모리 시스템의 초기화 방법을 설명한다.
도 9 및 10을 참조하면, 상기 메모리 시스템(4000)의 초기화 방법은 호스트(HOST)로부터 초기화 신호를 수신하는 단계(S1110)를 포함할 수 있다.
이어서, 상기 메모리 시스템(4000)의 초기화 방법은 다수의 비휘발성 메모리 소자(4200) 각각의 ID(Identification)를 확인하는 단계(S1120)를 포함할 수 있다.
다음으로, 상기 메모리 시스템(4000)의 초기화 방법은 상기 초기화 신호를 수신 받아 상기 시동 메모리(4210)에 저장된 부트 코드를 실행하는 단계(S1130), 상기 제 1 블록(4201)에 초기화 데이터가 저장되어 있는 지를 확인하는 단계(S1140), 상기 제 1 블록(4201)에 저장된 상기 초기화 데이터를 상기 동작 메모리(4120)에 로드하는 단계(S1150), 상기 초기화 데이터를 실행하는 단계(S1160) 및 상기 초기화 데이터의 실행에 의해 동작 대기 신호가 활성화되는 지를 확인하는 단계(S1170)를 포함할 수 있다.
상기 메모리 시스템(4000)의 초기화 방법은 상기 동작 대기 신호가 활성화되면, 상기 호스트(HOST)에 상기 초기화 데이터를 백업하는 단계(S1180)를 포함할 수 있다. 상기 초기화 데이터는 상기 호스트(HOST)의 파일 시스템(5200)에 백업될 수 있다.
상기 메모리 시스템(4000)의 초기화 방법은 상기 동작 대기 신호가 활성화되지 않으면, 강제 초기화 모드(FRM)를 설정하는 단계(S1190)를 포함할 수 있다.
상기 메모리 시스템(4000)의 초기화 방법은 상기 강제 초기화 모드(FRM)의 설정에 따라 상기 부트 코드를 재실행하는 단계(S1200)를 포함할 수 있다.
상기 메모리 시스템(4000)의 초기화 방법은 상기 부트 코드를 재실행한 후, 상기 비휘발성 메모리 소자(4200)를 초기화하는 단계(S1210)를 포함할 수 있다.
상기 메모리 시스템(4000)의 초기화 방법은 상기 호스트(HOST)에 백업 초기화 데이터가 저장되어 있는 지를 확인하는 단계(S1220)를 포함할 수 있다.
상기 메모리 시스템(4000)의 초기화 방법은 상기 호스트(HOST)에 백업 초기화 데이터가 저장되어 있지 않으면, 초기화 동작을 종료하고 상기 호스트(HOST)의 명령을 대기할 수 있다.
상기 메모리 시스템(4000)의 초기화 방법은 상기 비휘발성 메모리 소자(4200)의 상기 제 1 블록(4201)에 상기 호스트(HOST)에 저장된 상기 백업 초기화 데이터를 복사하는 단계(S1230)를 포함할 수 있다.
상기 메모리 시스템(4000)의 초기화 방법은 상기 제 1 블록(4201)에 복사된 상기 백업 초기화 데이터를 상기 동작 메모리(4120)에 로드하는 단계(S1240)를 포함할 수 있다.
상기 메모리 시스템(4000)의 초기화 방법은 상기 호스트(HOST)에 저장된 상기 백업 초기화 데이터를 상기 제 1 블록(4201)에 복사한 후, 상기 제 1 블록(4201)에 복사된 상기 백업 초기화 데이터를 상기 동작 메모리(4120)에 로드하는 것을 포함할 수 있다. 그렇지만, 본 발명의 기술적 사상에 따른 실시예들은 이에 한정되지 않는다. 예를 들어, 상기 메모리 시스템(4000)의 초기화 방법은 상기 호스트(HOST)에 저장된 상기 백업 초기화 데이터를 상기 동작 메모리(4120)에 로드하는 것을 포함할 수 있다.
상기 메모리 시스템(4000)의 초기화 방법은 상기 동작 메모리(4120)에 로드된 상기 백업 초기화 데이터를 실행하는 단계(S1250)를 포함할 수 있다.
상기 메모리 시스템(4000)의 초기화 방법은 초기화 동작을 종료하고, 상기 호스트(HOST)의 명령을 대기할 수 있다.
(제 7 실시 예)
도 11은 본 발명의 기술적 사상에 따른 메모리 시스템의 초기화 방법을 포함하는 데이터 저장 장치를 나타낸 구성도이다.
도 11을 참조하면, 본 발명의 기술적 사상에 따른 메모리 시스템의 초기화 방법을 포함하는 데이터 저장 장치(6000)는 비휘발성 메모리(non-volatile memorys, 6100), 버퍼 메모리(buffer memory, 6200), 상기 비휘발성 메모리(6100)와 상기 버퍼 메모리(6200)를 제어하는 컨트롤러(controller, 6300) 및 인터페이스(6400)를 포함할 수 있다.
상기 데이터 저장 장치는 솔리드 스테이트 디스크(Solid State Disk; SSD)일 수 있다. 상기 솔리드 스테이트 디스크(SSD)는 반도체 소자를 이용하여 정보를 저장하는 장치이다. 상기 솔리드 스테이트 디스크(SSD)는 하드 디스크 드라이브(Hard Disk Drive; HDD)에 비하여 속도가 빠르고 기계적 지연이나 실패율, 발열, 소음이 적으며, 소형화, 경령화할 수 있는 장점이 있다. 상기 솔리드 스테이트 디스크(SSD)는 노트북 PC, 데스크톱 PC, MP3 플레이어 또는 휴대용 저장 장치에 사용될 수 있다.
상기 비휘발성 메모리(6100)는 상기 컨트롤러(6300)에 인접하게 형성되고 전기적으로 연결될 수 있다. 상기 비휘발성 메모리(6100)는 상기 인터페이스(6400)를 통해 상기 호스트(HOST)로부터 수신된 데이터를 저장하는 역할을 할 수 있다. 이에 따라 상기 데이터 저장 장치(6000)는 전원 공급이 차단되는 경우에도 데이터를 보존할 수 있다. 상기 데이터 저장 장치(6000)의 데이터 저장 용량은 상기 비휘발성 메모리(6100)에 대응할 수 있다.
상기 버퍼 메모리(6200)는 상기 컨트롤러(6300)에 인접하게 형성되고 전기적으로 연결될 수 있다. 상기 버퍼 메모리(6200)는 휘발성 메모리를 포함할 수 있다. 예를 들어, 상기 버퍼 메모리(6200)는 디램(DRAM) 및 에스램(SRAM) 중 어느 하나 또는 모두를 포함할 수 있다.
상기 버퍼 메모리(6200)는 상기 인터페이스(6400)의 데이터 처리 속도와 상기 비휘발성 메모리(6100)의 동작 속도가 다른 경우, 상기 인터페이스(6400)를 통해 전달되는 데이터를 임시 저장하는 역할을 할 수 있다. 이를 위해, 상기 버퍼 메모리(6200)는 상기 비휘발성 메모리(6100)에 비하여 상대적으로 빠른 속도를 가질 수 있다. 즉, 상기 인터페이스(6400)를 통하여 수신된 데이터는 상기 컨트롤러(6300)를 경유하여 상기 버퍼 메모리(6200)에 임시 저장된 후, 상기 비휘발성 메모리(6100)의 데이터 기록(write) 속도에 맞추어 상기 비휘발성 메모리(6100)에 영구 저장될 수 있다. 또한, 상기 버퍼 메모리(6200)는 상기 비휘발성 메모리(6100)에 저장된 데이터들 중 자주 사용되는 데이터들을 사전에 임시 저장할 수 있다. 이에 따라, 상기 버퍼 메모리(6200)는 상기 데이터 저장 장치(6000)의 유효 동작 속도를 증가시키고, 에러(error) 발생률을 감소시킬 수 있다.
상기 컨트롤러(6300)는 상기 인터페이스(6400)에 인접하게 형성되고 전기적으로 연결될 수 있다. 상기 컨트롤러(6300)는 상기 인터페이스(6400)와 상기 비휘발성 메모리(6100) 또는 상기 버퍼 메모리(6200) 사이를 전기적으로 연결할 수 있다. 상기 컨트롤러(6300)는 메모리 제어기 및 버퍼 제어기를 포함하는 마이크로프로세서(microprocessor)일 수 있다.
상기 인터페이스(6400)는 호스트(HOST)에 접속되어 데이터와 같은 전기 신호들을 송수신하는 역할을 할 수 있다. 예를 들어, 상기 인터페이스(6400)는 SATA, IDE, SCSI 또는 이들의 조합을 통해 상기 호스트(HOST)와 데이터를 교환하는 장치일 수 있다.
상기 데이터 저장 장치(6000)의 상기 비휘발성 메모리(6100), 상기 컨트롤러(6300) 및 상기 인터페이스(6400)는 본 발명의 기술적 사상에 따른 메모리 시스템을 구성할 수 있다. 예를 들어, 상기 비휘발성 메모리(6100)는 본 발명의 제 1 실시 예에 따른 메모리 시스템(1000)의 비휘발성 메모리 소자(1200)와 동일 또는 유사한 구성일 수 있다. 또한, 상기 컨트롤러(6300) 및 상기 인터페이스(6400)는 본 발명의 제 1 실시 예에 따른 메모리 시스템(1000)의 컨트롤러(1100)와 유사한 구성일 수 있다.
상기 데이터 저장 장치(6000)는 본 발명의 기술적 사상에 따른 메모리 시스템의 초기화 방법을 수행할 수 있다. 예를 들어, 상기 데이터 저장 장치(6000)는 호스트(HOST)로부터 초기화 신호를 수신하면, 본 발명의 제 1 실시 예에 따른 메모리 시스템(1000)의 초기화 방법에 의해 초기화 동작을 수행할 수 있다. 이에 따라 상기 데이터 저장 장치(6000)는 초기화 데이터에 의한 인식 불량이 사용자 환경에서 해결되어, 제조 편의성 및 사용 편의성이 향상될 수 있다.
(제 8 실시 예)
도 12는 본 발명의 기술적 사상에 따른 메모리 시스템의 초기화 방법을 포함하는 전자 시스템을 나타낸 구성도이다.
도 12를 참조하면, 본 발명의 기술적 사상에 따른 메모리 시스템의 초기화 방법을 포함하는 전자 시스템(7000)은 인터페이스(7100), 메모리 시스템(7200), 입력/출력 장치(7300) 및 중앙처리장치(7400)를 포함할 수 있다.
상기 전자 장치(7000)는 PDA, 휴대용 컴퓨터(Portable Computer), 웹 테블릿(Web Tablet), 무선 폰(Wireless Phone), 모바일 폰(Mobile Phone), or 디지털 뮤직 플레이어(Digital Music Player) 를 포함할 수 있다.
상기 인터페이스(7100)는 외부 시스템(External System)과 데이터를 교환할 수 있다. 상기 메모리 시스템(7200)은 상기 인터페이스(7100) 및 상기 중앙처리장치(7400)와 전기적으로 연결될 수 있다. 상기 메모리 시스템(7200)는 본 발명의 기술적 사상에 따른 메모리 시스템의 컨트롤러 및 비휘발성 메모리 소자를 포함할 수 있다. 예를 들어, 상기 메모리 시스템(7200)은 본 발명의 제 1 실시 예에 따른 메모리 시스템(1000)과 동일한 구성일 수 있다.
상기 메모리 시스템(7200)는 본 발명의 기술적 사상에 따른 메모리 시스템의 초기화 방법을 수행할 수 있다. 예를 들어, 상기 메모리 시스템(7200)은 상기 중앙처리장치(7400)로부터 초기화 신호를 수신하면, 본 발명의 제 1 실시 예에 따른 메모리 시스템(1000)의 초기화 방법에 의해 초기화 동작을 수행할 수 있다. 이에 따라 상기 전자 장치(7000)는 상기 메모리 시스템(7200)에서 발생하는 초기화 데이터에 의한 인식 불량이 사용자 환경에서 해결되어, 제조 편의성 및 사용 편의성이 향상될 수 있다.
1000, 2000, 3000, 4000 : 메모리 시스템
1100, 2100, 3100, 4100 : 컨트롤러
1110, 2110, 3110, 4100 : 시동 메모리
1120, 2120, 3120, 4120 : 동작 메모리
1200, 2200, 3200, 4200 : 비휘발성 메모리 소자

Claims (10)

  1. 호스트로부터 초기화 신호를 수신하고,
    상기 초기화 신호의 수신에 따라 컨트롤러의 시동 메모리에 저장된 부트 코드를 실행하고,
    상기 부트 코드의 실행에 따라 비휘발성 메모리 소자에 저장된 초기화 데이터를 상기 컨트롤러의 동작 메모리에 로드하고,
    상기 동작 메모리에 로드된 상기 초기화 데이터를 실행하고,
    상기 초기화 데이터의 실행에 의해 동작 대기 신호가 활성화되지 않으면, 상기 부트 코드를 재실행하고,
    상기 부트 코드를 재실행한 후, 상기 비휘발성 메모리에 저장된 상기 초기화 데이터를 삭제하는 것을 포함하고,
    상기 초기화 데이터를 삭제하는 것은 상기 호스트에 상기 비휘발성 메모리 소자를 초기화할 것인 지를 확인하고, 상기 호스트의 명령에 따라 상기 비휘발성 메모리 소자를 초기화하고,
    상기 비휘발성 메모리 소자를 초기화하는 것은 상기 호스트에 상기 비휘발성 메모리 소자를 초기화할 것인 지를 확인하기 전, 상기 부트 코드가 재실행되었음을 알리는 것을 특징으로 하는 메모리 시스템의 초기화 방법.
  2. 제 1 항에 있어서,
    상기 초기화 데이터를 삭제한 후, 상기 비휘발성 메모리 소자에 새로운 초기화 데이터를 업데이트하고,
    상기 동작 메모리에 업데이트된 초기화 데이터를 로드하고,
    상기 동작 메모리에 로드된 상기 업데이트된 초기화 데이터를 실행하는 것을 더 포함하는 메모리 시스템의 초기화 방법.
  3. 제 2 항에 있어서,
    상기 새로운 초기화 데이터를 업데이트하는 것은 상기 호스트에 상기 새로운 초기화 데이터를 업데이트할 것인 지를 확인하고, 상기 호스트의 명령에 따라 상기 새로운 초기화 데이터를 업데이트하는 것을 포함하는 메모리 시스템의 초기화 방법.
  4. 제 1 항에 있어서,
    상기 초기화 데이터의 실행에 의해 상기 동작 대기 신호가 활성화되지 않은 경우, 상기 부트 코드를 재실행하기 전에 강제 초기화 모드(FRM)를 설정하는 단계를 더 포함하고,
    상기 초기화 데이터의 삭제는 상기 강제 초기화 모드의 설정에 응답하여 수행되는 것을 특징으로 하는 메모리 시스템의 초기화 방법.
  5. 제 4 항에 있어서,
    상기 부트 코드가 재실행되었음을 알리는 것은 상기 메모리 시스템이 상기 강제 초기화 모드(FRM) 상태에 있음을 통지하는 단계를 포함하는 것을 특징으로 하는 메모리 시스템의 초기화 방법.
  6. 호스트로부터 초기화 신호를 수신하고,
    상기 초기화 신호의 수신에 따라 컨트롤러의 시동 메모리의 제1 영역에 저장된 부트 코드를 실행하고,
    상기 부트 코드의 실행에 따라 비휘발성 메모리 소자에 저장된 초기화 데이터를 상기 컨트롤러의 동작 메모리에 로드하고,
    상기 동작 메모리에 로드된 상기 초기화 데이터를 실행하고,
    상기 초기화 데이터의 실행에 의해 동작 대기 신호가 활성화되지 않으면, 상기 시동 메모리의 제2 영역에 저장된 예비 부트 코드를 실행하고,
    상기 예비 부트 코드를 실행한 후, 상기 비휘발성 메모리에 저장된 상기 초기화 데이터를 삭제하고,
    상기 초기화 데이터를 삭제하는 것은 상기 호스트에 상기 비휘발성 메모리 소자를 초기화할 것인 지를 확인하고, 상기 호스트의 명령에 따라 상기 비휘발성 메모리 소자를 초기화하고,
    상기 비휘발성 메모리 소자를 초기화하는 것은 상기 호스트에 상기 비휘발성 메모리 소자를 초기화할 것인 지를 확인하기 전, 상기 예비 부트 코드가 실행되었음을 알리는 것을 특징으로 하는 메모리 시스템의 초기화 방법.
  7. 제 1 항에 있어서,
    상기 초기화 데이터를 삭제한 후, 상기 비휘발성 메모리 소자에 저장된 예비 초기화 데이터를 상기 동작 메모리에 로드하고,
    상기 동작 메모리에 로드된 상기 예비 초기화 데이터를 실행하는 것을 더 포함하는 메모리 시스템의 초기화 방법.
  8. 제 7 항에 있어서,
    상기 예비 초기화 데이터를 상기 동작 메모리에 로드하기 전, 상기 비휘발성 메모리 소자에 상기 예비 초기화 데이터가 저장되어 있는 지를 확인하는 것을 더 포함하는 메모리 시스템의 초기화 방법.
  9. 제 1 항에 있어서,
    상기 초기화 데이터의 실행에 의해 상기 동작 대기 신호가 활성화되면, 상기 호스트에 상기 초기화 데이터를 백업(back-up)하는 것을 더 포함하는 메모리 시스템의 초기화 방법.
  10. 제 9 항에 있어서
    상기 초기화 데이터를 삭제한 후, 상기 호스트에 저장된 백업 초기화 데이터를 상기 동작 메모리에 로드하고,
    상기 동작 메모리에 로드된 상기 백업 초기화 데이터를 실행하는 것을 더 포함하는 메모리 시스템의 초기화 방법.
KR1020110079727A 2011-08-10 2011-08-10 메모리 시스템의 초기화 방법 KR101845512B1 (ko)

Priority Applications (2)

Application Number Priority Date Filing Date Title
KR1020110079727A KR101845512B1 (ko) 2011-08-10 2011-08-10 메모리 시스템의 초기화 방법
US13/560,335 US9015459B2 (en) 2011-08-10 2012-07-27 Method of initializing operation of a memory system

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020110079727A KR101845512B1 (ko) 2011-08-10 2011-08-10 메모리 시스템의 초기화 방법

Publications (2)

Publication Number Publication Date
KR20130017348A KR20130017348A (ko) 2013-02-20
KR101845512B1 true KR101845512B1 (ko) 2018-04-04

Family

ID=47678279

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020110079727A KR101845512B1 (ko) 2011-08-10 2011-08-10 메모리 시스템의 초기화 방법

Country Status (2)

Country Link
US (1) US9015459B2 (ko)
KR (1) KR101845512B1 (ko)

Families Citing this family (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR102157668B1 (ko) * 2014-04-03 2020-09-22 에스케이하이닉스 주식회사 호스트와 통신하는 메모리 컨트롤러, 그것의 동작 방법 및 그것을 포함하는 컴퓨팅 시스템
US9354816B2 (en) * 2014-04-08 2016-05-31 Seagate Technology Llc Read policy for system data of solid state drives
KR102225313B1 (ko) * 2014-08-20 2021-03-10 에스케이하이닉스 주식회사 데이터 저장 장치의 동작 방법
KR102298661B1 (ko) * 2015-04-30 2021-09-07 삼성전자주식회사 저장 장치 및 그것의 초기화 방법
TWI615705B (zh) * 2016-05-31 2018-02-21 瑞昱半導體股份有限公司 於電腦系統中重置記憶體的方法
US10733104B2 (en) * 2018-08-03 2020-08-04 Micron Technology, Inc. Fast non-volatile storage device recovery techniques
US10817423B2 (en) 2018-10-10 2020-10-27 Micron Technology, Inc. Memory mapping for hibernation
US11003384B2 (en) 2019-08-30 2021-05-11 Micron Technology, Inc. Scheduling media management operations based on determined host system usage requirements
US11301132B2 (en) * 2019-08-30 2022-04-12 Micron Technology, Inc. Scheduling media management operations based on provided host system usage requirements

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2001243123A (ja) * 2000-03-02 2001-09-07 Meidensha Corp 初期化データの読み込み判定装置
US20030126511A1 (en) * 2001-12-28 2003-07-03 Jen-Tsung Yang Module and method for automatic restoring BIOS device
US20040181656A1 (en) * 2003-03-10 2004-09-16 Dell Products L.P. System and method for testing memory during boot operation idle periods
US7376870B2 (en) * 2004-09-30 2008-05-20 Intel Corporation Self-monitoring and updating of firmware over a network

Family Cites Families (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100198382B1 (ko) * 1996-05-07 1999-06-15 윤종용 멀티-부팅 기능을 갖는 컴퓨터 장치
US6363492B1 (en) * 1998-04-30 2002-03-26 Compaq Computer Corporation Computer method and apparatus to force boot block recovery
US6219828B1 (en) * 1998-09-30 2001-04-17 International Business Machines Corporation Method for using two copies of open firmware for self debug capability
US6442067B1 (en) * 2000-05-23 2002-08-27 Compaq Information Technologies Group, L.P. Recovery ROM for array controllers
US6651188B2 (en) * 2001-06-29 2003-11-18 Intel Corporation Automatic replacement of corrupted BIOS image
TW548574B (en) * 2001-10-19 2003-08-21 Micro Star Int Co Ltd Display interface with dual basic input/output system and the computer having the same
JP2004258946A (ja) 2003-02-26 2004-09-16 Renesas Technology Corp メモリカード
US7895529B1 (en) * 2003-09-10 2011-02-22 Microsoft Corporation System and method for processing featured content
KR20080023841A (ko) 2006-09-12 2008-03-17 카시와야마 토요히테 펌웨어 업그레이드와 손상된 펌웨어 자동 복구 시스템 및방법
US20090228641A1 (en) 2008-03-07 2009-09-10 Kabushiki Kaisha Toshiba Information processing apparatus and non-volatile semiconductor memory drive
JP2010513993A (ja) 2008-03-07 2010-04-30 株式会社東芝 情報処理装置および不揮発性半導体メモリドライブ
CN102419719A (zh) * 2010-09-27 2012-04-18 鸿富锦精密工业(深圳)有限公司 电脑***及电脑***的开机方法

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2001243123A (ja) * 2000-03-02 2001-09-07 Meidensha Corp 初期化データの読み込み判定装置
US20030126511A1 (en) * 2001-12-28 2003-07-03 Jen-Tsung Yang Module and method for automatic restoring BIOS device
US20040181656A1 (en) * 2003-03-10 2004-09-16 Dell Products L.P. System and method for testing memory during boot operation idle periods
US7376870B2 (en) * 2004-09-30 2008-05-20 Intel Corporation Self-monitoring and updating of firmware over a network

Also Published As

Publication number Publication date
KR20130017348A (ko) 2013-02-20
US9015459B2 (en) 2015-04-21
US20130042095A1 (en) 2013-02-14

Similar Documents

Publication Publication Date Title
KR101845512B1 (ko) 메모리 시스템의 초기화 방법
US10102081B2 (en) Memory controller system with non-volatile backup storage
US7827396B2 (en) Information processing apparatus, storage medium, and data rescue method
JP4205560B2 (ja) ディスクレスネットワークブータブルコンピュータにおける不揮発性メモリキャッシュを用いた信頼性の改善
US8234466B2 (en) Flash memory storage system applying SLC NAND flash memory and MLC NAND flash memory and data writing method thereof
US7941700B2 (en) Operating system-based application recovery
US20110302369A1 (en) Storage apparatus and control method therefor
KR102571747B1 (ko) 데이터 저장 장치 및 그것의 동작 방법
EP2771785B1 (en) Load boot data
TWI660306B (zh) 資料儲存裝置的操作方法
US20160085445A1 (en) Method operating raid system and data storage systems using write command log
CN101923446B (zh) 存储阵列辅助架构
CN111399752B (zh) 不同类型存储单元的控制装置及方法
CN111143132B (zh) 一种bios恢复方法、装置、设备及可读存储介质
CN110929261A (zh) 存储器***及其操作方法
CN111459527B (zh) 存储器***及其操作方法
CN105786545B (zh) 基于异构混合内存的断点恢复方法和***
US7849300B2 (en) Method for changing booting sources of a computer system and a related backup/restore method thereof
KR20170064703A (ko) 모바일 장치를 이용한 호스트 장치의 부팅 방법
CN111522690A (zh) 数据储存装置及维持数据储存装置正常开机运作的方法
CN115562593A (zh) 一种异常raid成员盘处理方法、装置及介质
KR20200048499A (ko) 메모리 시스템 및 메모리 시스템의 동작방법
EP3961451B1 (en) Storage device
US11854648B2 (en) Method of resetting storage device, storage device performing the same and data center including the same
KR20240082830A (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