KR20120050062A - 솔리드 스테이트 드라이브의 펌웨어 구동 방법 - Google Patents

솔리드 스테이트 드라이브의 펌웨어 구동 방법 Download PDF

Info

Publication number
KR20120050062A
KR20120050062A KR1020100111381A KR20100111381A KR20120050062A KR 20120050062 A KR20120050062 A KR 20120050062A KR 1020100111381 A KR1020100111381 A KR 1020100111381A KR 20100111381 A KR20100111381 A KR 20100111381A KR 20120050062 A KR20120050062 A KR 20120050062A
Authority
KR
South Korea
Prior art keywords
firmware
backup
flash memory
original
stored
Prior art date
Application number
KR1020100111381A
Other languages
English (en)
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 KR1020100111381A priority Critical patent/KR20120050062A/ko
Publication of KR20120050062A publication Critical patent/KR20120050062A/ko

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/60Software deployment
    • G06F8/65Updates
    • 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/08Addressing or allocation; Relocation in hierarchically structured memory systems, e.g. virtual memory systems
    • G06F12/0802Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches
    • G06F12/0806Multiuser, multiprocessor or multiprocessing cache systems
    • G06F12/0815Cache consistency protocols
    • G06F12/0837Cache consistency protocols with software control, e.g. non-cacheable data
    • 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/448Execution paradigms, e.g. implementations of programming paradigms
    • G06F9/4488Object-oriented
    • G06F9/449Object-oriented method invocation or resolution
    • G06F9/4491Optimising based on receiver type
    • 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/448Execution paradigms, e.g. implementations of programming paradigms
    • G06F9/4488Object-oriented
    • G06F9/4493Object persistence

Landscapes

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

Abstract

본 발명에 따른 솔리드 스테이트 드라이브의 펌웨어 구동 방법은, 예를 들어, 솔리드 스테이트 드라이브(SSD)의 시스템 초기화를 위한 다수의 백업용 펌웨어(Backup F/W)들을, 오리지널 펌웨어(Original F/W)가 저장된 특정 플래시 메모리 또는 다른 플래시 메모리에 저장함과 아울러, 상기 오리지널 펌웨어의 유효성 여부에 따라, 상기 백업용 펌웨어를 대신 구동시킴으로써, 예를 들어, 상기 오리지널 펌웨어가 저장된 플래시 메모리의 특정 구간에 결함(Detect) 등이 존재하더라도, 상기 백업용 펌웨어를 대신 구동시켜, 시스템 초기화 동작을 정상적으로 수행할 수 있게 된다.

Description

솔리드 스테이트 드라이브의 펌웨어 구동 방법 {Method for driving firmware of solid state derive}
본 발명은, 예를 들어, 다수의 낸드 플래시(NAND Flash) 메모리들을 저장매체로 사용하는 솔리드 스테이트 드라이브(SSD: Solid State Drive)의 펌웨어 구동 방법에 관한 것이다.
최근에는, 광디스크 드라이브(ODD) 또는 하드디스크 드라이브(HDD) 등을 대체할 수 있는 새로운 저장 장치로서, 솔리드 스테이트 드라이브(SSD)가 널리 보급되어 상용화되고 있다.
한편, 상기 솔리드 스테이트 드라이브(SSD)에서는, 예를 들어, 다수의 낸드 플래시 메모리들을 저장매체로 사용하고 있는 데, 도 1에 도시한 바와 같이, SATA 인터페이스부(10), 범용 비동기화 송수신부(UART)(11), 범용 입/출력부(GPIO)(12), 타이머(Timer)(13)가 포함 구성될 수 있다.
또한, 상기 솔리드 스테이트 드라이브(100)에는, 마이크로 컨트롤 유니트(MCU)(14), 롬(ROM)(15), 에스램(SRAM)(16), 플래시 컨트롤러(17), 그리고 제1 내지 제4 낸드 플래시 메모리(18~21) 등이 포함 구성될 수 있다.
그리고, 상기 솔리드 스테이트 드라이브(100)의 시스템 초기화 동작을 수행하는 경우, 상기 플래시 컨트롤러(17)에서는, 예를 들어, 상기 제1 낸드 플래시 메모리(18)의 특정 구간에 저장된 펌웨어(Firmware)를 독출하여, 상기 에스램(18)에 업로드(Upload)하게 된다.
또한, 상기 마이크로 컨트롤 유니트(14)에서는, 상기 에스램(18)에 업로드(Upload)된 펌웨어를 구동시켜, 시스템 초기화 동작을 수행하게 되는 데, 예를 들어, 상기 펌웨어가 저장된 제1 낸드 플래시 메모리(21)의 특정 구간에 결함(Detect) 등이 존재하는 경우, 상기 펌웨어가 훼손되어, 시스템 초기화 동작을 정상적으로 수행하지 못하게 되는 문제점이 있다.
본 발명은, 예를 들어, 솔리드 스테이트 드라이브(SSD)의 시스템 초기화를 위한 다수의 백업용 펌웨어(Backup F/W)들을, 오리지널 펌웨어(Original F/W)가 저장된 특정 플래시 메모리 또는 다른 플래시 메모리에 저장함과 아울러, 상기 오리지널 펌웨어의 유효성 여부에 따라, 상기 백업용 펌웨어를 대신 구동시켜, 시스템 초기화 동작을 정상적으로 수행할 수 있도록 하기 위한 솔리드 스테이트 드라이브의 펌웨어 구동 방법을 제공하기 위한 것이다.
본 발명에 따른 솔리드 스테이트 드라이브의 펌웨어 구동 방법은, 솔리드 스테이트 드라이브의 시스템 초기화 동작을 수행하는 경우, 특정 플래시 메모리에 저장된 오리지널 펌웨어를 독출하여, 에스램에 업로드하는 1단계; 상기 업로드된 오리지널 펌웨어의 체크섬을 계산하여, 상기 오리지널 펌웨어가 유효하지 않으면, 상기 특정 플래시 메모리 또는 다른 플래시 메모리에 저장된 백업용 펌웨어를 독출하여, 에스램에 업로드하는 2단계; 및 상기 업로드된 백업용 펌웨어의 체크섬을 계산하여, 상기 백업용 펌웨어가 유효하면, 상기 백업용 펌웨어를 구동하는 3단계를 포함하여 이루어지는 것을 특징으로 하며,
또한, 상기 2단계는, 상기 업로드된 오리지널 펌웨어의 체크섬을 계산하여, 상기 오리지널 펌웨어가 유효하면, 상기 오리지널 펌웨어를 구동하는 것을 특징으로 하며,
또한, 상기 3단계는, 상기 업로드된 백업용 펌웨어의 체크섬을 계산하여, 상기 백업용 펌웨어가 유효하지 않으면, 상기 특정 플래시 메모리 또는 다른 플래시 메모리에 저장된 다른 백업용 펌웨어를 독출하여, 에스램에 업로드하는 것을 특징으로 하며,
또한, 상기 백업용 펌웨어는, 상기 오리지널 펌웨어가 저장된 특정 플래시 메모리 내에, 적어도 2 개 이상 저장되는 것을 특징으로 하며,
또한, 상기 백업용 펌웨어는, 상기 오리지널 펌웨어가 저장된 특정 플래시 메모리와는 다른 적어도 2 개 이상의 플래시 메모리 내에, 각각 저장되는 것을 특징으로 하며,
또한, 본 발명에 따른 솔리드 스테이트 드라이브의 펌웨어 구동 방법은, 솔리드 스테이트 드라이브의 시스템 초기화 동작을 수행하는 경우, 특정 플래시 메모리 또는 다수의 플래시 메모리에 저장된 오리지널 펌웨어와 다수의 백업용 펌웨어를 독출하여, 에스램에 업로드하는 1단계; 및 상기 업로드된 오리지널 펌웨어와 다수의 백업용 펌웨어를 비교하여, 유효한 펌웨어를 선택 구동하는 2단계를 포함하여 이루어지는 것을 특징으로 하며,
또한, 상기 2단계는, 상기 업로드된 오리지널 펌웨어와 다수의 백업용 펌웨어를 비교하여, 상기 오리지널 펌웨어가 유효하면, 상기 오리지널 펌웨어를 선택 구동하는 것을 특징으로 하며,
또한, 상기 2단계는, 상기 업로드된 오리지널 펌웨어와 다수의 백업용 펌웨어를 비교하여, 상기 오리지널 펌웨어가 유효하지 않으면, 상기 다수의 백업용 펌웨어 중 유효한 백업용 펌웨어를 선택 구동하는 것을 특징으로 하며,
또한, 상기 백업용 펌웨어는, 상기 오리지널 펌웨어가 저장된 플래시 메모리 내에, 적어도 2 개 이상 저장되는 것을 특징으로 하며,
또한, 상기 백업용 펌웨어는, 상기 오리지널 펌웨어가 저장된 플래시 메모리와는 다른 적어도 2 개 이상의 플래시 메모리 내에, 각각 저장되는 것을 특징으로 한다.
본 발명에 따른 솔리드 스테이트 드라이브의 펌웨어 구동 방법은, 예를 들어, 솔리드 스테이트 드라이브(SSD)의 시스템 초기화를 위한 다수의 백업용 펌웨어(Backup F/W)들을, 오리지널 펌웨어(Original F/W)가 저장된 특정 플래시 메모리 또는 다른 플래시 메모리에 저장함과 아울러, 상기 오리지널 펌웨어의 유효성 여부에 따라, 상기 백업용 펌웨어를 대신 구동시킴으로써, 예를 들어, 상기 오리지널 펌웨어가 저장된 플래시 메모리의 특정 구간에 결함(Detect) 등이 존재하더라도, 상기 백업용 펌웨어를 대신 구동시켜, 시스템 초기화 동작을 정상적으로 수행할 수 있게 된다.
도 1은 일반적인 솔리드 스테이트 드라이브에 대한 실시예의 구성을 도시한 것이고,
도 2는 본 발명에 따라 다수의 백업용 펌웨어들이 제1 낸드 플래시 메모리에 집중 저장된 실시예를 도시한 것이고,
도 3은 본 발명에 따라 다수의 백업용 펌웨어들이 제2 내지 제4 낸드 플래시 메모리에 분산 저장된 실시예를 도시한 것이고,
도 4는 본 발명에 따른 솔리드 스테이트 드라이브의 펌웨어 구동 방법에 대한 제1 실시예의 동작 흐름도를 도시한 것이고,
도 5는 본 발명에 따른 솔리드 스테이트 드라이브의 펌웨어 구동 방법에 대한 제2 실시예의 동작 흐름도를 도시한 것이다.
이하, 본 발명에 따른 솔리드 스테이트 드라이브의 펌웨어 구동 방법에 대한 바람직한 실시예에 대해, 첨부된 도면을 참조하여 상세히 설명한다.
우선, 본 발명에 따른 펌웨어 구동 방법은, 예를 들어, 다수의 낸드 플래시(NAND Flash) 메모리들을 저장매체로 사용하는 다양한 유형의 솔리드 스테이트 드라이브(SSD)에 적용된다.
또한, 상기 솔리드 스테이트 드라이브에는, 예를 들어, 도 1을 참조로 전술한 바와 같이, SATA 인터페이스부(10), 범용 비동기화 송수신부(UART)(11), 범용 입/출력부(GPIO)(12), 타이머(Timer)(13), 마이크로 컨트롤 유니트(MCU)(14), 롬(ROM)(15), 에스램(SRAM)(16), 플래시 컨트롤러(17), 그리고 제1 내지 제4 낸드 플래시 메모리(18~21) 등이 포함 구성될 수 있다.
한편, 상기 제1 내지 제4 낸드 플래시 메모리(18~21)들 중 적어도 어느 하나 이상에는, 시스템 초기화 동작을 수행하기 위한 오리지널 펌웨어(Original Firm)와, 다수의 백업용 펌웨어(Backup Firmware)들이 저장된다.
예를 들어, 도 2에 도시한 바와 같이, 제1 낸드 플래시 메모리(NAND Flash Memory)에는, 오리지널 펌웨어를 저장하기 위한 펌웨어 블록(F/W Block)과, 다수의 백업용 펌웨어들을 저장하기 위한 제1 내지 제3 펌웨어 백업 블록(F/W Backup Block 1,2,3)이 할당된다.
이에 따라, 상기 펌웨어 블록(F/W Block)에 저장된 오리지널 펌웨어가, 예를 들어, 결함(Detect) 등으로 인해 훼손되더라도, 상기 제1 내지 제3 펌웨어 백업 블록(F/W Backup Block 1,2,3) 내에 저장된 백업용 펌웨어를 대신 구동시켜, 시스템 초기화 동작을 정상적으로 수행할 수 있게 된다.
한편, 본 발명의 다른 실시예로서, 도 3에 도시한 바와 같이, 제1 낸드 플래시 메모리(NAND Flash Memory)에는, 오리지널 펌웨어를 저장하기 위한 펌웨어 블록(F/W Block)이 할당되되, 다수의 백업용 펌웨어들을 저장하기 위한 제1 내지 제3 펌웨어 백업 블록(F/W Backup Block 1,2,3)이, 제2 내지 제4 낸드 플래시 메모리(NAND Flash Memory 2,3,4)에 분산 할당될 수 있다.
이에 따라, 상기 펌웨어 블록(F/W Block)에 저장된 오리지널 펌웨어가, 예를 들어, 결함(Detect) 등으로 인해 훼손됨은 물론, 상기 제1 낸드 플래시 메모리의 전체가 손상되더라도, 상기 제2 내지 제4 낸드 플래시 메모리에 분산 저장된 백업용 펌웨어를 대신 구동시켜, 시스템 초기화 동작을 정상적으로 수행할 수 있게 되는 데, 이에 대해 상세히 설명하면 다음과 같다.
도 4는, 본 발명에 따른 솔리드 스테이트 드라이브의 펌웨어 구동 방법에 대한 제1 실시예의 동작 흐름도를 도시한 것으로, 예를 들어, 도 2에 도시한 바와 같이, 오리지널 펌웨어와 제1 내지 제3 백업용 펌웨어들이, 상기 제1 낸드 플래시 메모리(18)에 저장된다.
또는, 도 3에 도시한 바와 같이, 오리지널 펌웨어가, 상기 제1 낸드 플래시 메모리(18)에 저장되되, 제1 내지 제3 백업용 펌웨어가, 상기 제2 내지 제4 낸드 플래시 메모리(19,20,21)에 분산 저장되어 있는 상태에서, 솔리드 스테이트 드라이브(100)에 전원이 온되면(S10), 시스템 초기화 동작을 시작하게 된다(S11).
그리고, 상기 플래시 컨트롤러(17)에서는, 상기 제1 낸드 플래시 메모리(18)에 할당된 펌웨어 블록(F/W Block)을 억세스한 후(S12), 오리지널 펌웨어를 독출하여, 상기 에스램(16)에 업로드하게 된다(S13).
한편, 상기 마이크로 컨트롤 유니트(14)에서는, 상기 에스램(16)에 업로드된 오리지널 펌웨어의 유효성 여부를 판별하기 위하여, 상기 오리지널 펌웨어의 체크섬(Checksum)을 계산하게 되는 데(S14), 상기 체크섬은, 데이터의 정확성을 검사하기 위한 용도로 널리 사용되는 공지 기술이므로, 이에 대한 구체적인 설명은 생략한다.
그리고, 상기 마이크로 컨트롤 유니트(14)에서는, 상기 계산된 체크섬이 정상이면, 상기 오리지널 펌웨어가 유효하다고 판별하고, 상기 계산된 체크섬이 정상이 아니면, 상기 오리지널 펌웨어가 유효하지 않다고 판별하게 된다.
예를 들어, 상기 계산된 체크섬이 정상이 아니면(S15), 상기 마이크로 컨트롤 유니트(14)에서는, 상기 플래시 컨트롤러(17)와의 인터페이스를 통해, 도 2에 도시한 바와 같이, 상기 제1 낸드 플래시 메모리(18)에 할당된 제1 펌웨어 백업 블록(F/W Backup Block 1)을 억세스하거나, 또는 도 3에 도시한 바와 같이, 상기 제2 낸드 플래시 메모리(19)에 할당된 제1 펌웨어 백업 블록(F/W Backup Block 1)을 억세스하게 된다(S16).
그리고, 상기 제1 펌웨어 백업 블록에 저장된 제1 백업용 펌웨어(Backup F/W 1)를 독출하여, 상기 에스램(16)에 업로드한 후, 체크섬을 계산하여, 상기 제1 백업용 펌웨어의 유효성 여부를 판별하는 동작을 수행하게 되는 데, 상기와 같은 동작은, 유효한 백업용 펌웨어로 판별될 때까지, 제2 백업용 펌웨어와 제3 백업용 펌웨어에 대해서도, 동일하게 적용된다.
한편, 상기 오리지널 펌웨어의 체크섬이 정상이거나, 또는 제1 내지 제3 백업용 펌웨어의 체크섬 중 어느 하나가 정상이면, 상기 마이크로 컨트롤 유니트(14)에서는, 상기 에스램(16)에 업로드된 펌웨어를 구동시켜, 시스템 초기화 동작을 수행하게 된다(S17).
이에 따라, 상기 오리지널 펌웨어가 저장된 제1 랜드 플래시 메모리의 펌웨어 블록(F/W Block)에 결함(Detect) 등이 존재하더라도, 상기 백업용 펌웨어를 대신 구동시켜, 시스템 초기화 동작을 정상적으로 수행할 수 있게 된다.
도 5는, 본 발명에 따른 솔리드 스테이트 드라이브의 펌웨어 구동 방법에 대한 제2 실시예의 동작 흐름도를 도시한 것으로, 전술한 바와 같이, 오리지널 펌웨어와 제1 내지 제3 백업용 펌웨어들이, 상기 제1 낸드 플래시 메모리(18)에 저장되거나, 또는 오리지널 펌웨어가, 상기 제1 낸드 플래시 메모리(18)에 저장되되, 제1 내지 제3 백업용 펌웨어가, 상기 제2 내지 제4 낸드 플래시 메모리(19,20,21)에 분산 저장되어 있는 상태에서, 솔리드 스테이트 드라이브(100)에 전원이 온되면(S20), 시스템 초기화 동작을 시작하게 된다(S21).
그리고, 상기 플래시 컨트롤러(17)에서는, 상기 제1 낸드 플래시 메모리(18)에 할당된 펌웨어 블록(F/W Block)을 억세스한 후(S22), 오리지널 펌웨어를 독출하여, 상기 에스램(16)에 업로드하게 된다(S23).
또한, 상기 플래시 컨트롤러(17)에서는, 도 2에 도시한 바와 같이, 상기 제1 낸드 플래시 메모리(18)에 할당된 제1 내지 제3 백업용 펌웨어 블록(F/W Backup Block 1,2,3)을 억세스하거나, 또는 도 3에 도시한 바와 같이, 상기 제2 내지 제4 낸드 플래시 메모리(19,20,21)에 분산 할당된 제1 내지 제3 백업용 펌웨어 블록을 억세스한 후(S24), 제1 내지 제3 백업용 펌웨어를 독출하여, 상기 에스램(16)에 업로드하게 된다(S25).
그리고, 상기 마이크로 컨트롤 유니트(14)에서는, 상기 에스램(16)에 업로드된 오리지널 펌웨어와 제1 내지 제3 백업용 펌웨어를 서로 비교하여, 유효한 펌웨어를 선택하게 된다(S26).
예를 들어, 상기 오리지널 펌웨어와 제1 내지 제3 백업용 펌웨어들의 데이터 길이(Data Length)가 모두 동일하면, 상기 오리지널 펌웨어를 선택하고, 만일 상기 오리지널 펌웨어가, 상기 제1 내지 제3 백업용 펌웨어들의 데이터 길이와 일치하지 않으면서, 상기 제1 내지 제3 백업용 펌웨어들의 데이터 길이가 모두 동일하면, 상기 제1 내지 제3 백업용 펌웨어들 중 어느 하나를 선택하게 된다.
그리고, 상기와 같은 과정을 거쳐 선택된 펌웨어를 구동시켜, 시스템 초기화 동작을 수행하게 되므로(S27), 상기 오리지널 펌웨어가 저장된 제1 랜드 플래시 메모리의 펌웨어 블록(F/W Block)에 결함(Detect) 등이 존재하더라도, 상기 백업용 펌웨어를 대신 구동시켜, 시스템 초기화 동작을 정상적으로 수행할 수 있게 된다.
이상, 전술한 본 발명의 바람직한 실시예는, 예시의 목적을 위해 개시된 것으로, 당업자라면, 이하 첨부된 특허청구범위에 개시된 본 발명의 기술적 사상과 그 기술적 범위 내에서, 또다른 다양한 실시예들을 개량, 변경, 대체 또는 부가 등이 가능할 것이다.
10 : SATA 인터페이스부 11 : 범용 비동기화 송수신부
12 : 범용 입/출력부 13 : 타이머
14 : 마이크로 컨트롤 유니트 15 : 롬
16 : 에스램 17 : 플래시 컨트롤러
18~21 : 낸드 플래시 메모리 100 : 솔리드 스테이트 드라이브

Claims (10)

  1. 솔리드 스테이트 드라이브의 시스템 초기화 동작을 수행하는 경우, 특정 플래시 메모리에 저장된 오리지널 펌웨어를 독출하여, 에스램에 업로드하는 1단계;
    상기 업로드된 오리지널 펌웨어의 체크섬을 계산하여, 상기 오리지널 펌웨어가 유효하지 않으면, 상기 특정 플래시 메모리 또는 다른 플래시 메모리에 저장된 백업용 펌웨어를 독출하여, 에스램에 업로드하는 2단계; 및
    상기 업로드된 백업용 펌웨어의 체크섬을 계산하여, 상기 백업용 펌웨어가 유효하면, 상기 백업용 펌웨어를 구동하는 3단계를 포함하여 이루어지는 것을 특징으로 하는 솔리드 스테이트 드라이브의 펌웨어 구동 방법.
  2. 제 1항에 있어서,
    상기 2단계는, 상기 업로드된 오리지널 펌웨어의 체크섬을 계산하여, 상기 오리지널 펌웨어가 유효하면, 상기 오리지널 펌웨어를 구동하는 것을 특징으로 하는 솔리드 스테이트 드라이브의 펌웨어 구동 방법.
  3. 제 1항에 있어서,
    상기 3단계는, 상기 업로드된 백업용 펌웨어의 체크섬을 계산하여, 상기 백업용 펌웨어가 유효하지 않으면, 상기 특정 플래시 메모리 또는 다른 플래시 메모리에 저장된 다른 백업용 펌웨어를 독출하여, 에스램에 업로드하는 것을 특징으로 하는 솔리드 스테이트 드라이브의 펌웨어 구동 방법.
  4. 제 1항에 있어서,
    상기 백업용 펌웨어는, 상기 오리지널 펌웨어가 저장된 특정 플래시 메모리 내에, 적어도 2 개 이상 저장되는 것을 특징으로 하는 솔리드 스테이트 드라이브의 펌웨어 구동 방법.
  5. 제 1항에 있어서,
    상기 백업용 펌웨어는, 상기 오리지널 펌웨어가 저장된 특정 플래시 메모리와는 다른 적어도 2 개 이상의 플래시 메모리 내에, 각각 저장되는 것을 특징으로 하는 솔리드 스테이트 드라이브의 펌웨어 구동 방법.
  6. 솔리드 스테이트 드라이브의 시스템 초기화 동작을 수행하는 경우, 특정 플래시 메모리 또는 다수의 플래시 메모리에 저장된 오리지널 펌웨어와 다수의 백업용 펌웨어를 독출하여, 에스램에 업로드하는 1단계; 및
    상기 업로드된 오리지널 펌웨어와 다수의 백업용 펌웨어를 비교하여, 유효한 펌웨어를 선택 구동하는 2단계를 포함하여 이루어지는 것을 특징으로 하는 솔리드 스테이트 드라이브의 펌웨어 구동 방법.
  7. 제 6항에 있어서,
    상기 2단계는, 상기 업로드된 오리지널 펌웨어와 다수의 백업용 펌웨어를 비교하여, 상기 오리지널 펌웨어가 유효하면, 상기 오리지널 펌웨어를 선택 구동하는 것을 특징으로 하는 솔리드 스테이트 드라이브의 펌웨어 구동 방법.
  8. 제 6항에 있어서,
    상기 2단계는, 상기 업로드된 오리지널 펌웨어와 다수의 백업용 펌웨어를 비교하여, 상기 오리지널 펌웨어가 유효하지 않으면, 상기 다수의 백업용 펌웨어 중 유효한 백업용 펌웨어를 선택 구동하는 것을 특징으로 하는 솔리드 스테이트 드라이브의 펌웨어 구동 방법.
  9. 제 6항에 있어서,
    상기 백업용 펌웨어는, 상기 오리지널 펌웨어가 저장된 플래시 메모리 내에, 적어도 2 개 이상 저장되는 것을 특징으로 하는 솔리드 스테이트 드라이브의 펌웨어 구동 방법.
  10. 제 6항에 있어서,
    상기 백업용 펌웨어는, 상기 오리지널 펌웨어가 저장된 플래시 메모리와는 다른 적어도 2 개 이상의 플래시 메모리 내에, 각각 저장되는 것을 특징으로 하는 솔리드 스테이트 드라이브의 펌웨어 구동 방법.
KR1020100111381A 2010-11-10 2010-11-10 솔리드 스테이트 드라이브의 펌웨어 구동 방법 KR20120050062A (ko)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020100111381A KR20120050062A (ko) 2010-11-10 2010-11-10 솔리드 스테이트 드라이브의 펌웨어 구동 방법

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020100111381A KR20120050062A (ko) 2010-11-10 2010-11-10 솔리드 스테이트 드라이브의 펌웨어 구동 방법

Publications (1)

Publication Number Publication Date
KR20120050062A true KR20120050062A (ko) 2012-05-18

Family

ID=46267630

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020100111381A KR20120050062A (ko) 2010-11-10 2010-11-10 솔리드 스테이트 드라이브의 펌웨어 구동 방법

Country Status (1)

Country Link
KR (1) KR20120050062A (ko)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2013103335A1 (en) * 2012-01-03 2013-07-11 Hewlett-Packard Development Company, L.P. Backing up firmware during initialization of device
US9728277B2 (en) 2014-08-05 2017-08-08 Samsung Electronics Co., Ltd. Method of repairing non-volatile memory based storage device and method of operating electronic system including the storage device
US10990378B2 (en) 2018-12-20 2021-04-27 SK Hynix Inc. Storage device and operating method thereof

Cited By (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2013103335A1 (en) * 2012-01-03 2013-07-11 Hewlett-Packard Development Company, L.P. Backing up firmware during initialization of device
GB2511998A (en) * 2012-01-03 2014-09-17 Hewlett Packard Development Co Backing up firmware during initialization of device
US9672112B2 (en) 2012-01-03 2017-06-06 Hewlett-Packard Development Company, L.P. Backing up firmware during initialization of device
US10613773B2 (en) 2012-01-03 2020-04-07 Hewlett-Packard Development Company, L.P. Backing up firmware during initialization of device
GB2511998B (en) * 2012-01-03 2020-10-21 Hewlett Packard Development Co Backing up firmware during initialization of device
US9728277B2 (en) 2014-08-05 2017-08-08 Samsung Electronics Co., Ltd. Method of repairing non-volatile memory based storage device and method of operating electronic system including the storage device
US10990378B2 (en) 2018-12-20 2021-04-27 SK Hynix Inc. Storage device and operating method thereof

Similar Documents

Publication Publication Date Title
US20190266038A1 (en) Information processing device, external storage device, host device, relay device, control program, and control method of information processing device
EP3399421B1 (en) Flash memory device access method and apparatus
JP6318173B2 (ja) データマイグレーション方法、データマイグレーション装置及びストレージデバイス
JP4901987B1 (ja) 記憶装置、電子機器及び誤りデータの訂正方法
KR102549605B1 (ko) Raid 스토리지 장치의 리커버리 방법
US11336305B2 (en) Memory system
US8904244B2 (en) Heuristic approach for faster consistency check in a redundant storage system
CN110058797B (zh) 存储器系统及其操作方法
US9519436B1 (en) Memory erasing method, memory controller, and memory storage apparatus
KR20130088173A (ko) 트랜잭션 로그 복구
CN104583930A (zh) 数据迁移的方法、控制器和数据迁移装置
US11749373B2 (en) Bad block management for memory sub-systems
US20120272024A1 (en) Data storage system and a data retention method thereof
US20150019904A1 (en) Data processing system and operating method thereof
KR20160033519A (ko) 라이트 명령들에 대한 로그를 생성할 수 있는 데이터 저장 장치의 작동 방법과 이를 포함하는 raid 시스템의 작동 방법
CN103218271A (zh) 一种数据纠错方法及装置
KR20120050062A (ko) 솔리드 스테이트 드라이브의 펌웨어 구동 방법
US8966161B2 (en) Memory storage device and restoring method thereof
JP2007087053A (ja) ディスクアレイ制御装置および制御方法
JP6052288B2 (ja) ディスクアレイ制御装置、ディスクアレイ制御方法及びディスクアレイ制御プログラム
TW201438019A (zh) 具有使用歷程記錄的主記憶體模組以及此主記憶體模組於電腦系統之應用
TWI748214B (zh) 快閃記憶體控制器、儲存裝置及其讀取方法
US11416163B2 (en) Systems and methods for dynamic logical block address distribution between multicores
US8924351B2 (en) Method and apparatus to share a single storage drive across a large number of unique systems when data is highly redundant
KR20210034456A (ko) 메모리 컨트롤러, 스토리지 장치 및 상기 스토리지 장치의 동작 방법

Legal Events

Date Code Title Description
WITN Application deemed withdrawn, e.g. because no request for examination was filed or no examination fee was paid