KR101532654B1 - 대용량 저장장치의 복구 방법 및 복구 방법을 갖춘 대용량 저장장치 - Google Patents

대용량 저장장치의 복구 방법 및 복구 방법을 갖춘 대용량 저장장치 Download PDF

Info

Publication number
KR101532654B1
KR101532654B1 KR1020130064904A KR20130064904A KR101532654B1 KR 101532654 B1 KR101532654 B1 KR 101532654B1 KR 1020130064904 A KR1020130064904 A KR 1020130064904A KR 20130064904 A KR20130064904 A KR 20130064904A KR 101532654 B1 KR101532654 B1 KR 101532654B1
Authority
KR
South Korea
Prior art keywords
storage medium
recovery
auxiliary storage
flash memory
storage device
Prior art date
Application number
KR1020130064904A
Other languages
English (en)
Other versions
KR20140143015A (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 KR1020130064904A priority Critical patent/KR101532654B1/ko
Publication of KR20140143015A publication Critical patent/KR20140143015A/ko
Application granted granted Critical
Publication of KR101532654B1 publication Critical patent/KR101532654B1/ko

Links

Images

Classifications

    • 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/14Error detection or correction of the data by redundancy in operation
    • G06F11/1402Saving, restoring, recovering or retrying
    • G06F11/1446Point-in-time backing up or restoration of persistent data
    • G06F11/1456Hardware arrangements for backup
    • 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/14Error detection or correction of the data by redundancy in operation
    • G06F11/1402Saving, restoring, recovering or retrying
    • G06F11/1446Point-in-time backing up or restoration of persistent data
    • G06F11/1458Management of the backup or restore process
    • G06F11/1469Backup restoration techniques
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/16Protection against loss of memory contents
    • 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]

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Quality & Reliability (AREA)
  • Human Computer Interaction (AREA)
  • Techniques For Improving Reliability Of Storages (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

NAND 플래시 메모리를 포함하는 대용량 저장장치에 문제가 발생하는 경우, 복구 펌웨어를 구동하여 대용량 저장장치에 포함된 보조 저장매체를 섹터 단위의 읽기 및 쓰기가 가능하도록 구성하여 관리하고 보조 저장매체에 파일 시스템을 형성함으로써, 대용량 저장장치를 항상 저장장치로 인식할 수 있도록 하고, 이를 이용하여 NAND 플래시 메모리를 복구할 뿐만 아니라, 다른 부가 기능 IC의 인터페이스 파일 또한 보조 저장매체로 복구하여 해당 부가 기능 서비스를 차질없이 제공한다. 본 발명에 따른 대용량 저장장치는, 기본 저장매체인 NAND 플래시 메모리; 하나 이상의 보조 저장매체; 및 상기 NAND 플래시 메모리와 상기 보조 저장매체를 제어하는 MCU(Main Controller Unit)를 포함하며, 상기 NAND 플래시 메모리 또는 상기 보조 저장매체의 일정 영역에는, 상기 NAND 플래시 메모리의 정상적 사용이 불가능한 경우, 상기 보조 저장매체 중 기본 저장장치로 선택된 제1 보조 저장매체를 상기 제1 보조 저장매체의 특성에 따라 섹터 단위의 읽기 및 쓰기가 가능하도록 구성하여 관리하는 단계; 및 상기 제1 보조 저장매체에 파일 시스템을 형성하는 단계를 포함하는 복구 방법을 수행하는 복구 펌웨어가 저장되어 있는 것을 특징으로 한다.

Description

대용량 저장장치의 복구 방법 및 복구 방법을 갖춘 대용량 저장장치{Recovery method of mass storage device and mass storage device having recovery function}
본 발명은 대용량 저장장치의 복구 방법 및 복구 방법을 갖춘 대용량 저장장치에 관한 것으로서, 더 구체적으로는 NAND 플래시 메모리 기반 대용량 저장장치의 복구 방법에 관한 것이다.
NAND 플래시 메모리를 포함하는 대용량 저장장치들은 NAND 플래시 메모리와 이를 제어하는 MCU(Main Controller Unit)로 구성되며, MCU 상에서는 NAND 플래시 메모리를 데이터 저장매체로 사용할 수 있도록 FTL(Flash Translation Layer)이라는 알고리즘이 동작해야 한다.
FTL은 NAND 플래시 메모리의 제약된 특성들을 알고리즘으로 보완하여 신뢰성을 높이도록 관리하는 역할을 한다.
그러나, FTL 자체의 구현상 문제점이나 NAND 플래시 메모리의 문제로 인해 어느 순간 대용량 저장장치가 리더기(대용량 저장장치를 사용하는 호스트 장치)에 인식이 되지 않아, 값비싼 대용량 저장장치를 그냥 버려야 하는 경우가 빈번하게 발생한다.
특히 요즘은 이러한 대용량 저장장치에 NAND 플래시 메모리만 넣는 것이 아니라 SE(Secure Element: 예를 들면 스마트카드 IC) 및 RF 관련 IC 들도 넣게 되는데, 상술한 FTL의 문제점이나 NAND 플래시 메모리의 문제점으로 인해 대용량 저장장치를 인식할 수 없는 경우 SE나 RF 관련 IC 들을 활용한 기능에는 문제가 없는데도 이를 쓰지 못하고 버리게 된다. 그 이유는 대용량 저장장치 내의 SE나 RF 관련 IC를 활용한 부가 기능들도 대용량 저장장치 인터페이스(USB, SD, MMC, ATA, SATA 등)를 그대로 사용하기 때문이다. 대용량 저장장치 인터페이스는 리더기를 통해 호스트 장치에서 저장장치로 인식되도록 하는 물리적 정의이자 프로토콜 정의이다.
그러나, 이와 같이 SE나 RF 관련 IC 들을 사용하지 못하게 되는 경우, 값비싼 SE나 RF 관련 IC 들을 낭비하게 될 뿐 아니라, 금융 거래나 데이터 보안 기능을 갖는 NAND 플래시 메모리 기반 대용량 저장장치의 경우, 어떤 상황에도 동작이 될 수 있도록 해야 하는 필요가 있는데, 이러한 필요를 충족시키지 못하게 된다.
본 발명은 상술한 바와 같은 기술적 배경에서 안출된 것으로서, 본 발명의 과제는 NAND 플래시 메모리를 포함하는 대용량 저장장치에서 FTL이나 NAND 플래시 메모리에 문제가 발생하는 경우에도 대용량 저장장치를 항상 인식할 수 있도록 하는 방법과 그 장치를 제공하고자 하는 것이다.
본 발명의 다른 과제는 NAND 플래시 메모리를 포함하는 대용량 저장장치에 문제가 발생하는 경우 이를 복구할 수 있으며 대용량 저장장치에 포함된 SE나 RF 관련 IC가 제공하는 기능을 정상적으로 동작시킬 수 있는 방법과 그 장치를 제공하는 것이다.
이와 같은 과제를 해결하기 위하여 본 발명에서는, NAND 플래시 메모리를 포함하는 대용량 저장장치에 문제가 발생하는 경우, 복구 펌웨어를 구동하여 대용량 저장장치에 포함된 보조 저장매체를 섹터 단위의 읽기 및 쓰기가 가능하도록 구성하여 관리하고 보조 저장매체에 파일 시스템을 형성함으로써, 대용량 저장장치를 항상 저장장치로 인식할 수 있도록 하고, 이를 이용하여 NAND 플래시 메모리를 복구할 뿐만 아니라, 다른 부가 기능 IC의 인터페이스 파일 또한 보조 저장매체로 복구하여 해당 부가 기능 서비스를 차질없이 제공한다.
즉, 본 발명의 일 측면에 따른 대용량 저장장치는, 기본 저장매체인 NAND 플래시 메모리; 하나 이상의 보조 저장매체; 및 상기 NAND 플래시 메모리와 상기 보조 저장매체를 제어하는 MCU(Main Controller Unit)를 포함하며, 상기 NAND 플래시 메모리 또는 상기 보조 저장매체의 일정 영역에는, 상기 NAND 플래시 메모리의 정상적 사용이 불가능한 경우, 상기 보조 저장매체 중 기본 저장장치로 선택된 제1 보조 저장매체를 상기 제1 보조 저장매체의 특성에 따라 섹터 단위의 읽기 및 쓰기가 가능하도록 구성하여 관리하는 단계; 및 상기 제1 보조 저장매체에 파일 시스템을 형성하는 단계를 포함하는 복구 방법을 수행하는 복구 펌웨어가 저장되어 있는 것을 특징으로 한다.
상기 보조 저장매체는, 상기 MCU 내에 포함되어 있는 SRAM 또는 임베디드 NOR 플래시 메모리이거나, 상기 MCU 외부에 위치하는 SRAM, SDRAM, 또는 시리얼 플래시 메모리일 수 있다.
상기 복구 방법은, 상기 제1 보조 저장매체에 복구 인터페이스 파일이 존재하는지 확인하여 상기 복구 인터페이스 파일이 존재하지 않으면 상기 제1 보조 저장매체에 상기 복구 인터페이스 파일을 생성하는 단계; 및 상기 복구 인터페이스 파일과 관련된 섹터 번호를 저장하고 관리하는 단계를 더 포함할 수 있다.
상기 대용량 저장장치는 데이터 저장 외의 부가 기능을 수행하기 위한 부가 기능 IC를 더 포함하는 것이 바람직하며, 상기 부가 기능 IC는 SE(Secure Element) 또는 RF(Radio Frequency) IC를 포함한다.
이 경우, 상기 복구 방법은, 상기 부가 기능 IC의 인터페이스 파일을 상기 제1 보조 저장매체에 생성하는 단계를 더 포함한다.
본 발명의 다른 면에 따른 대용량 저장장치의 복구 방법은, 기본 저장매체인 NAND 플래시 메모리; 하나 이상의 보조 저장매체; 및 상기 NAND 플래시 메모리와 상기 보조 저장매체를 제어하는 MCU(Main Controller Unit)를 포함하는 대용량 저장장치의 복구 방법으로서, 상기 NAND 플래시 메모리의 정상적 사용이 불가능한 경우, 상기 보조 저장매체 중 기본 저장장치로 선택된 제1 보조 저장매체를 상기 제1 보조 저장매체의 특성에 따라 섹터 단위의 읽기 및 쓰기가 가능하도록 구성하여 관리하는 단계; 및 상기 제1 보조 저장매체에 파일 시스템을 형성하는 단계를 포함하여 이루어진다.
본 발명에 따르면, 값비싼 대용량 저장장치가 FTL의 구현상 문제나 NAND 플래시 메모리의 문제로 리더기에 저장장치로 인식이 되지 않아 복구할 수 없는 경우에도 이를 복구할 수 있어, 복구에 드는 비용이나 복구 불가능한 것으로 판단하여 대용량 저장장치를 버리는 상황을 줄일 수 있다. 특히, 대용량 저장장치에 부가적 기능을 위해 값비싼 SE나 RF 관련 IC를 넣는 제품의 경우, 경제적 효과가 극대화될 수 있다.
또한, 금융 거래나 데이터 보안용으로 사용하기 위하여 SE가 포함된 대용량 저장장치의 경우, 어떠한 상황에도 정상 동작이 될 수 있어 금융 거래나 데이터 보안의 신뢰를 보장할 수 있다.
도 1은 본 발명의 실시예에 따른 대용량 저장장치의 구성을 나타낸다.
도 2는 본 발명의 실시예에 따른 대용량 저장장치에서 복구 관련 명령 수행을 위한 동작 방식을 나타낸다.
도 3 내지 도 5는 본 발명의 실시예에 따른 대용량 저장장치에서 복구 펌웨어를 구동하여 대용량 저장장치를 복구하는 방법을 나타내는 흐름도이다.
본 발명의 이점 및 특징, 그리고 그것들을 달성하는 방법은 첨부되는 도면과 함께 상세하게 후술되어 있는 실시예들을 참조하면 명확해질 것이다. 그러나 본 발명은 이하에서 개시되는 실시예들에 한정되는 것이 아니라 서로 다른 다양한 형태로 구현될 것이며, 단지 본 실시예들은 본 발명의 개시가 완전하도록 하며, 본 발명이 속하는 기술분야에서 통상의 지식을 가진 자에게 발명의 범주를 완전하게 알려주기 위해 제공되는 것이며, 본 발명은 청구항의 범주에 의해 정의될 뿐이다. 한편, 본 명세서에서 사용된 용어는 실시예들을 설명하기 위한 것이며 본 발명을 제한하고자 하는 것은 아니다. 본 명세서에서, 단수형은 문구에서 특별히 언급하지 않는 한 복수형도 포함한다. 명세서에서 사용되는 "포함한다(comprises)" 및/또는 "포함하는(comprising)"은 언급된 구성요소, 단계, 동작 및/또는 소자는 하나 이상의 다른 구성요소, 단계, 동작 및/또는 소자의 존재 또는 추가를 배제하지 않는다.
이하에서, 첨부한 도면을 참고로 하여 본 발명의 실시예에 따른 대용량 저장장치 및 그 복구 방법에 대하여 상세히 설명하기로 한다.
도 1은 본 발명의 실시예에 따른 대용량 저장장치의 구성을 나타낸 것이다.
도 1에 나타난 바와 같이, 본 발명의 실시예에 따른 대용량 저장장치(100)는, 대용량 저장장치(100)의 기본 저장매체인 NAND 플래시 메모리(120)와 보조 저장매체(130, 140) 및 이들을 제어하는 MCU(Main Controller Unit)(110)를 포함한다. 보조 저장매체(130, 140)는 MCU(110)의 내부 또는 외부에 위치할 수 있다. MCU(110) 내부의 보조 저장매체(130)로는 SRAM이나 임베디드 NOR 플래시 메모리 등이 사용될 수 있으며, MCU(110) 외부의 보조 저장매체(140)로는 SRAM, SDRAM, 시리얼 플래시 메모리 등이 사용될 수 있다. 보조 저장매체는 하나 이상 사용될 수 있으며, 종류가 같거나 다른 두 개 이상의 보조 저장매체가 사용될 수도 있다.
본 발명의 실시예에 따른 대용량 저장장치(100)는 메모리 장치 인터페이스(300)를 통해 대용량 저장장치(100) 외부의 리더기(대용량 저장장치(100)를 사용하는 호스트 장치)(200)에 인식된다. 메모리 장치 인터페이스(300)로는 USB, SD, MMC, ATA, SATA 등이 사용될 수 있다.
본 발명의 실시예에 따른 대용량 저장장치(100)는 또한 금융 거래 또는 데이터 보안용으로 사용하는 스마트카드 IC인 SE(Secure Element)(150)나 대용량 저장장치(100) 외부와의 무선 통신을 위한 RF IC(160)를 더 포함할 수 있다. SE(150)나 RF IC(160)는 내부적으로 각각 SE 인터페이스와 RF 인터페이스를 통해 MCU(110)에 의해 제어되며, 대용량 저장장치(100) 외부의 리더기(200)와는 대용량 저장장치(100)를 인식하는 메모리 장치 인터페이스(300)를 사용하여 매개된다.
기본 저장매체인 NAND 플래시 메모리(120)의 일정 영역에는 FTL(Flash Translation Layer)을 포함하는 메인 펌웨어가 저장되어 있으며, 정상 상태에서 MCU(110)는 메인 펌웨어를 구동하여 MCU(110) 상에서 FTL을 통해 NAND 플래시 메모리(120)를 관리한다.
이와는 달리, MCU(100)가 FTL을 통해 NAND 플래시 메모리(120)를 정상적으로 관리할 수 없는 상태를 인지하게 되면, 복구 펌웨어를 MCU(110) 내에서 구동시킨다. 이를 위하여 본 발명의 실시예에 따른 대용량 저장장치(100)는 대용량 저장장치(100) 내의 저장매체 중 적어도 하나에 복구 펌웨어를 저장하고 있다. 즉, 본 발명의 실시예에 따른 대용량 저장장치(100)의 NAND 플래시 메모리(120), MCU(110) 내부의 보조 저장매체(130), 또는 MCU(110) 외부의 보조 저장매체(140) 중 적어도 하나에는 복구 펌웨어가 저장되어 있다.
복구 펌웨어는 메인 펌웨어와 별개로 NAND 플래시 메모리(120), MCU(110) 내부의 보조 저장매체(130), 또는 MCU(110) 외부의 보조 저장매체(140) 중 적어도 하나의 일정 영역에 저장될 수 있으며, 메인 펌웨어의 일부로 포함되어 저장될 수도 있다.
복구 펌웨어의 기본적인 기능은 기본 저장매체인 NAND 플래시 메모리(120)가 사용 불가 상태일 때 보조 저장매체(130, 140) 중 하나를 기본 저장장치로 선택하여 사용할 수 있도록, 선택된 보조 저장매체를 NAND 플래시 메모리(120)와 같이 섹터 단위(저장장치의 논리적 데이터 단위)의 데이터 읽기 및 쓰기가 가능한 구조로 관리하고, 파일 읽기 및 쓰기가 가능하도록 파일 시스템을 형성하는 것이다.
즉, 복구 펌웨어는 기본 저장장치로 선택된 보조 저장매체를 해당 보조 저장매체의 특성에 따라 섹터 단위로 데이터 읽기 및 쓰기가 가능한 구조로 관리한다. 예를 들어, 선택된 보조 저장매체가 SRAM인 경우라면 메모리 영역을 섹터 단위로 나누고, 선택된 보조 저장매체가 NOR 플래시 메모리인 경우라면 페이지 단위로 읽기 및 쓰기 가능한 구조를 섹터 단위로 읽기 및 쓰기 가능한 구조로 변환하여 관리한다. 보조 저장매체를 섹터 단위 읽기 및 쓰기 가능한 구조로 관리하는 방법은 선택된 보조 저장매체의 특성에 따라 달라질 수 있으며, 이는 당업자에게 자명한 사항이므로 자세한 설명을 생략한다.
다음, 복구 펌웨어는 기본 저장장치로 선택된 보조 저장매체에 파일 시스템을 생성한다. 생성하는 파일 시스템의 종류에는 특별한 제한이 없다.
이제, 기본 저장장치로 선택된 보조 저장매체에 복구 인터페이스 파일이 존재하는지 확인하여 복구 인터페이스 파일이 존재하지 않으면 이를 새로 생성하고 복구 인터페이스 파일을 통해 파일 읽기 및 쓰기를 함으로써 저장장치 복구를 수행할 수 있다. 복구 인터페이스 파일은 예를 들면 RECOVERY.SYS와 같은 이름으로 형성될 수 있으며, 이하에서는 복구 인터페이스 파일의 예로 RECOVERY.SYS를 들어 설명한다. 이에 따라, 대용량 저장장치(100)는 선택된 보조 저장매체로 호스트 장치인 리더기(200)에 저장장치로서 인식되고, 저장장치 내에는 RECOVERY.SYS 파일이 보이게 된다.
따라서 리더기(200)에서 구동되는 복구 프로그램은 RECOVERY.SYS 파일 I/O 방식을 통해 상호 정해진 복구관련 명령들을 수행할 수 있다. 복구를 위한 명령 포맷은 임의로 정의할 수 있으므로 따로 상세히 설명하지 않는다.
복구 인터페이스 파일을 통해 복구 관련 명령을 수행하기 위해서는 복구 관련 명령을 일반 파일의 읽기 및 쓰기 명령과 구분할 필요가 있다. 이를 위하여 복구 인터페이스 파일과 관련된 섹터 번호를 이용하여 복구 관련 명령을 처리하도록 하거나, 통신 합의 고정 헤더를 사용하여 복구 관련 명령을 일반 명령과 구분하도록 할 수 있다.
복구 인터페이스 파일과 관련된 섹터 번호를 이용하는 경우에는 복구 인터페이스 파일의 특정 섹터 번호로 복구 관련 명령을 쓰거나 읽을 수 있다.
통신 합의 고정 헤더는 미리 복구 명령에 사용하기 위하여 합의하여 고정한 헤더를 의미하며, 특정한 길이와 값을 갖도록 정할 수 있다. 이 경우에는 파일의 쓰기 또는 읽기 데이터가 통신 합의 고정 헤더를 포함하는 경우 특정 기능(복구 기능)을 위해 사용하는 명령임을 인식하도록 한다.
예를 들어 섹터 번호를 이용하여 복구 관련 명령을 처리하는 경우에는, 복구 프로그램이 파일 I/O를 통해 RECOVERY.SYS 파일을 열어 첫번째 섹터 번호로 NAND 플래시 메모리 내 첫번째 블록의 데이터를 덤프(dump)하는 명령을 보내 수행 요청을 하면, 저장장치 내의 복구 펌웨어는 RECOVERY.SYS 파일의 첫번째 섹터 번호로의 쓰기 요청을 인지하고 데이터 내용을 확인하여 NAND 플래시 메모리 내 첫번째 블록의 데이터를 덤프(dump)하라는 명령임을 알 수 있으며, 이에 따라 복구 프로그램이 RECOVERY.SYS 파일의 첫번째 섹터로 읽기 요청을 할 때마다 NAND 플래시 메모리 내 첫번째 블록의 데이터를 순차적으로 읽어 보내준다.
또는, 복구 프로그램이 RECOVERY.SYS 파일을 열어 첫번째 섹터 번호로 NAND 플래시 메모리 전체 지우기 명령을 보내 수행 요청을 하면, 저장장치 내의 복구 펌웨어는 RECOVERY.SYS 파일의 첫번째 섹터 번호로의 쓰기 요청을 인지하고 데이터 내용을 확인하여 NAND 플래시 메모리 전체 지우기 명령을 수행한다.
복구 프로그램이 RECOVERY.SYS 파일의 첫번째 섹터 번호로 읽기 요청을 하면, 복구 펌웨어는 RECOVERY.SYS 파일의 첫번째 섹터 번호로의 읽기 요청을 인지하고 이전 명령 수행 결과 및 데이터를 보내 복구 프로그램에서 정상 동작 유무를 확인할 수 있다.
이와 유사한 일련의 과정을 통해 복구에 필요한 동작을 정의하여 동일한 방식으로 진행하면 대용량 저장장치의 복구가 가능하다.
한편, 대용량 저장장치(100) 내에 SE(150)가 포함되어 있는 경우, NAND 플래시 메모리가 정상적으로 기본 저장매체로 사용되어 리더기에 저장장치로 인식되면, SE 인터페이스 파일(예를 들면, SEIF.SYS)이 보이게 된다. 이에 따라 메모리 장치 인터페이스의 파일 I/O 통신 방식으로 NAND 플래시 메모리에 저장된 인터페이스 파일 SEIF.SYS를 통해 금융 거래 및 보안 서비스 관련 명령들을 수행할 수 있다.
그러나, 상술한 바와 같이 FTL이나 NAND 플래시 메모리 문제 발생으로 인해 대용량 저장장치 자체가 저장장치로서 인식이 안된다면 SE는 서비스를 할 수 없게 된다.
본 발명의 실시예에 따른 대용량 저장장치에서는, NAND 플래시 메모리 문제 발생으로 인해 복구 펌웨어가 구동되는 순간, 복구 펌웨어가 보조 저장매체에 SEIF.SYS 파일이 있는지를 확인하여 없는 경우 이를 보조 저장매체에 생성하고, 보조 저장매체를 기본 저장장치로 하여 리더기에 대용량 저장장치가 인식되면 SEIF.SYS 파일이 보이게 한다. 이에 따라 SEIF.SYS 파일 I/O를 통한 금융 서비스 및 보안 서비스를 항시 정상적으로 동작시킬 수 있다.
이와 동일한 방식으로 RF 인터페이스 파일(예를 들면, RFIF.SYS)도 복구 펌웨어에 의해 보조 저장매체에 복구되어 RF 서비스를 항상 정상적으로 동작시킬 수 있다.
도 2는 본 발명의 실시예에 따른 대용량 저장장치에서 복구 관련 명령 수행을 위한 동작 방식을 나타낸다.
도 2의 (a)는 RECOVERY.SYS 파일 I/O를 통한 명령 쓰기의 동작을 나타내며, 도 2의 (b)는 RECOVERY.SYS 파일 I/O를 통한 응답 읽기의 동작을 나타낸다.
도 2의 맨 왼쪽은 메모리 장치 인터페이스의 패킷 형태를 나타내며, 가운데는 복구 관련 패킷 형태, 맨 오른쪽은 NAND 플래시 메모리를 나타낸다.
도 2의 (a)에 나타난 바와 같이, RECOVERY.SYS 파일 I/O를 통한 쓰기 명령의 경우, 메모리 장치 인터페이스 패킷은 쓰기 명령임을 나타내는 필드와 데이터 필드를 포함하며, 데이터 필드에 포함되는 복구 관련 패킷 형태는 복구 명령 헤더만을 포함하거나 복구 명령 헤더와 복구 데이터를 포함한다. 복구 관련 패킷의 내용에 따라 NAND 플래시 메모리의 복구 관련 명령이 수행된다. 복구 관련 패킷이 복구 명령 헤더만을 포함하는 경우 해당 명령을 수행하고(예를 들면 상술한 플래시 메모리 전체 지우기 명령의 경우), 복구 명령 헤더와 복구 데이터를 포함하는 경우 해당 복구 데이터를 이용하여 해당 복구 명령을 수행한다(예를 들면, 복구 명령 헤더에 데이터를 쓸 위치가 포함되고, 복구 데이터에 쓸 데이터가 포함되어 있는 경우, NAND 플래시 메모리의 해당하는 영역에 복구 데이터로 전달된 데이터를 쓰게 된다).
도 2의 (b)에 나타난 바와 같이, RECOVERY.SYS 파일 I/O를 통한 응답 읽기 명령의 경우에도, 메모리 장치 인터페이스 패킷은 읽기 명령임을 나타내는 필드와 데이터 필드를 포함하며, 데이터 필드에 포함되는 복구 관련 패킷 형태는 복구 응답 헤더만을 포함하거나 복구 응답 헤더와 데이터를 포함한다. 복구 관련 패킷의 내용에 따라 NAND 플래시 메모리의 복구 관련 응답이 제공되는데, 복구 응답 헤더만이 포함된 경우는 예를 들면 복구 명령의 정상 수행 여부가 복구 응답 헤더에 포함되는 경우를 들 수 있고, 복구 응답 헤더와 데이터가 함께 포함되는 경우의 예로는 데이터 덤프 명령에 의하여 NAND 플래시 메모리 내 특정 블록의 데이터를 읽어 보내주는 경우를 들 수 있다.
도 3 내지 도 5는 본 발명의 실시예에 따른 대용량 저장장치에서 복구 펌웨어를 구동하여 대용량 저장장치를 복구하는 방법을 나타내는 전체 흐름도이다.
도 3에 나타난 바와 같이, 대용량 저장장치가 파워 온 또는 리셋되면(S310), MCU(110)는 메인 펌웨어에 포함된 FTL이 기본 저장매체인 NAND 플래시 메모리(120)를 정상 관리할 수 있는 상태인지 판단한다(S320).
S320 단계의 판단 결과, NAND 플래시 메모리(120)를 정상 관리할 수 있는 상태라면, NAND 플래시 메모리(120)를 기본 저장장치로 사용하여 대용량 저장장치(100)를 인식한다(S330).
S330 단계에서 대용량 저장장치를 인식하면, 대용량 저장장치(100)는 NAND 플래시 메모리(120)를 기본 저장장치로 정상적으로 사용하고, 파일 I/O를 통해 SE 및 RF 인터페이스 파일에 대한 읽기 및 쓰기가 가능하므로 관련 서비스를 정상적으로 수행할 수 있다(S332).
이와는 달리, S320 단계의 판단 결과 NAND 플래시 메모리(120)를 정상 관리할 수 있는 상태가 아니라면, MCU(110)는 NAND 플래시 메모리(120)의 특정 영역 또는 보조 저장매체(130, 140)에 저장되어 있는 복구 펌웨어를 구동한다(S340).
복구 펌웨어가 구동되면 정상 관리할 수 없는 NAND 플래시 메모리(120) 대신 보조 저장매체(130, 140) 중 하나를 기본 저장장치로 선택하고(S342), 선택된 보조 저장매체를 섹터 단위의 읽기 및 쓰기가 가능한 저장매체로 관리하고, 파일 읽기 및 쓰기가 가능한 파일 시스템을 형성한다(S344).
다음, 도 4에 나타난 바와 같이, 선택된 보조 저장매체에 복구 인터페이스 파일(예를 들면, RECOVERY.SYS)이 존재하는지 확인하여(S346), 복구 인터페이스 파일이 존재하지 않는 경우에는 복구 인터페이스 파일을 생성한다(S348).
이제, 선택된 보조 저장매체에 존재하는 복구 인터페이스 파일(S346의 "예"의 경우) 또는 선택된 보조 저장매체에 생성된 복구 인터페이스 파일(S346의 "아니오"의 경우)의 첫번째 섹터 번호를 저장하고 관리한다(S350).
또한, 부가 기능 IC를 정상적으로 구동하기 위하여, SE 및/또는 RF 인터페이스 파일(예를 들면, SEIF.SYS 및/또는 RFIF.SYS)을 보조 저장매체에 복구하고 각 인터페이스 파일의 첫번째 섹터 번호를 저장하고 관리한다(S352).
이때, 복구 인터페이스 파일 및 SE 및/또는 RF 인터페이스 파일의 첫번째 섹터 번호를 저장하고 관리하는 것은 하나의 실시예로서 제시된 것이며, 반드시 파일의 첫번째 섹터 번호를 이용하여 관리하여야 하는 것은 아님은 당업자에게 자명할 것이다.
이제 복구 인터페이스 파일을 이용하여 호스트 장치의 복구 프로그램이 복구 과정을 수행할 수 있으며, 이의 자세한 내용은 앞서 복구 인터페이스 파일로 RECOVERY.SYS 파일을 예로 들어 설명한 것과 같다. 즉, 도 5에 나타난 바와 같이, 복구 인터페이스 파일의 첫번째 섹터 번호로 명령 쓰기가 있는 경우(S354의 "예"), 복구 프로그램이 저장장치 내 복구 인터페이스 파일 I/O를 통해 첫번째 섹터 번호에 복구 관련 명령을 보내면 복구 관련 수행 요청이 왔음을 인지하고, 섹터 데이터를 분석하여 복구 명령을 확인하고 관련 명령을 수행한다(S356). 다음으로, 응답 읽기의 경우에는 복구 프로그램이 저장장치 내 복구 인터페이스 파일 I/O를 통해 첫번째 섹터 번호를 읽어 데이터 수신 요청이 왔음을 인지하고, 이전 명령 수행 결과 및 관련 데이터를 섹터 데이터로 보낸다(S358).
복구 펌웨어가 복구 인터페이스 파일 외에도 SE 및 RF 인터페이스 파일을 보조 저장매체에 복구하여 이를 관리하므로(S352), 복구된 SE 및 RF 인터페이스를 이용하여 SE 및 RF 기능과 관련된 서비스를 정상적으로 수행할 수 있다.
즉, 도 4에 나타난 바와 같이, SE 또는 RF 인터페이스 파일의 첫번째 섹터 번호로 쓰기 요청이 있는 경우에는(S360의 "예"), SE 또는 RF 인터페이스 파일의 첫번째 섹터 번호로 명령 수행 요청을 인지하여 관련 명령을 수행하고(S362), SE와 RF 관련 명령 응답 요청을 인지하여 이전 명령 수행 결과 및 관련 데이터를 섹터 데이터로 보낸다(S364).
한편, SE 또는 RF 인터페이스 파일의 첫번째 섹터 번호로의 쓰기 요청이 아닌 경우에는(S360의 "아니오"), 복구 인터페이스 파일이나 SE 또는 RF 인터페이스 파일에 대한 요청이 아니므로 일반 파일 읽기 및 쓰기 동작을 수행한다(S370)(도 5 참조).
이상에서 바람직한 실시예를 기준으로 본 발명을 설명하였지만, 본 발명의 장치 및 방법은 반드시 상술된 실시예에 제한되는 것은 아니며 발명의 요지와 범위로부터 벗어남이 없이 다양한 수정이나 변형을 하는 것이 가능하다. 따라서, 첨부된 특허청구의 범위는 본 발명의 요지에 속하는 한 이러한 수정이나 변형을 포함할 것이다.
100: 대용량 저장장치 110: MCU
120: NAND 플래시 메모리 130, 140: 보조 저장매체
150: SE 160: RF IC
200: 리더기 300: 메모리 장치 인터페이스

Claims (10)

  1. 기본 저장매체인 NAND 플래시 메모리;
    하나 이상의 보조 저장매체; 및
    상기 NAND 플래시 메모리와 상기 보조 저장매체를 제어하는 MCU(Main Controller Unit)를 포함하며,
    상기 NAND 플래시 메모리 또는 상기 보조 저장매체의 일정 영역에는,
    상기 NAND 플래시 메모리의 정상적 사용이 불가능한 경우, 상기 보조 저장매체 중 기본 저장장치로 선택된 제1 보조 저장매체를 상기 제1 보조 저장매체의 특성에 따라 섹터 단위의 읽기 및 쓰기가 가능하도록 구성하여 관리하는 단계;
    상기 제1 보조 저장매체에 파일 시스템을 형성하는 단계; 및
    복구 프로그램과 복구 인터페이스 파일 간의 파일 I/O를 통해 일반적인 파일의 읽기 및 쓰기 명령과 구분된 복구 명령어를 수행하여 복구하는 단계를 포함하는 복구 방법을 수행하는 복구 펌웨어가 저장되어 있는 대용량 저장장치.
  2. 제1항에 있어서, 상기 보조 저장매체는,
    상기 MCU 내에 포함되어 있는 SRAM 또는 임베디드 NOR 플래시 메모리인 대용량 저장장치.
  3. 제1항에 있어서, 상기 보조 저장매체는,
    상기 MCU 외부에 위치하는 SRAM, SDRAM, 또는 시리얼 플래시 메모리인 대용량 저장장치.
  4. 제1항에 있어서, 상기 복구 방법은,
    상기 제1 보조 저장매체에 상기 복구 인터페이스 파일이 존재하는지 확인하여 상기 복구 인터페이스 파일이 존재하지 않으면 상기 제1 보조 저장매체에 상기 복구 인터페이스 파일을 생성하는 단계를 더 포함하는 대용량 저장장치.
  5. 제1항에 있어서,
    데이터 저장 외의 부가 기능을 수행하기 위한 부가 기능 IC를 더 포함하는 대용량 저장장치.
  6. 제5항에 있어서, 상기 부가 기능 IC는,
    SE(Secure Element) 또는 RF(Radio Frequency) IC를 포함하는 대용량 저장장치.
  7. 제5항 또는 제6항에 있어서, 상기 복구 방법은,
    상기 부가 기능 IC의 인터페이스 파일을 상기 제1 보조 저장매체에 생성하는 단계를 더 포함하는 대용량 저장장치.
  8. 기본 저장매체인 NAND 플래시 메모리;
    하나 이상의 보조 저장매체; 및
    상기 NAND 플래시 메모리와 상기 보조 저장매체를 제어하는 MCU(Main Controller Unit)를 포함하는 대용량 저장장치의 복구 방법으로서,
    상기 NAND 플래시 메모리의 정상적 사용이 불가능한 경우, 상기 보조 저장매체 중 기본 저장장치로 선택된 제1 보조 저장매체를 상기 제1 보조 저장매체의 특성에 따라 섹터 단위의 읽기 및 쓰기가 가능하도록 구성하여 관리하는 단계;
    상기 제1 보조 저장매체에 파일 시스템을 형성하는 단계; 및
    복구 프로그램과 복구 인터페이스 파일 간의 파일 I/O를 통해 일반적인 파일의 읽기 및 쓰기 명령과 구분된 복구 명령어를 수행하여 복구하는 단계를 포함하는 대용량 저장장치의 복구 방법.
  9. 제8항에 있어서,
    상기 보조 저장매체 중 기본 저장장치로 선택된 제1 보조 저장매체에 복구 인터페이스 파일이 존재하는지 확인하여 상기 복구 인터페이스 파일이 존재하지 않으면 상기 제1 보조 저장매체에 상기 복구 인터페이스 파일을 생성하는 단계; 및
    상기 복구 인터페이스 파일과 관련된 섹터 번호를 저장하고 관리하는 단계를 더 포함하는 대용량 저장장치의 복구 방법.
  10. 제8항에 있어서,
    상기 대용량 저장장치는 데이터 저장 외의 부가 기능을 수행하기 위한 부가 기능 IC를 더 포함하며,
    상기 대용량 저장장치의 복구 방법은,
    상기 부가 기능 IC의 인터페이스 파일을 상기 제1 보조 저장매체에 생성하는 단계를 더 포함하는 대용량 저장장치의 복구 방법.
KR1020130064904A 2013-06-05 2013-06-05 대용량 저장장치의 복구 방법 및 복구 방법을 갖춘 대용량 저장장치 KR101532654B1 (ko)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020130064904A KR101532654B1 (ko) 2013-06-05 2013-06-05 대용량 저장장치의 복구 방법 및 복구 방법을 갖춘 대용량 저장장치

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020130064904A KR101532654B1 (ko) 2013-06-05 2013-06-05 대용량 저장장치의 복구 방법 및 복구 방법을 갖춘 대용량 저장장치

Publications (2)

Publication Number Publication Date
KR20140143015A KR20140143015A (ko) 2014-12-15
KR101532654B1 true KR101532654B1 (ko) 2015-06-30

Family

ID=52460291

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020130064904A KR101532654B1 (ko) 2013-06-05 2013-06-05 대용량 저장장치의 복구 방법 및 복구 방법을 갖춘 대용량 저장장치

Country Status (1)

Country Link
KR (1) KR101532654B1 (ko)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR102301761B1 (ko) * 2020-06-26 2021-09-14 김태원 Usb 메모리의 데이터 복구 장치

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR200248316Y1 (ko) * 2001-07-05 2001-10-31 주식회사 테라첵 Rf ic를 내장한 cd카드
KR20040048242A (ko) * 2002-12-02 2004-06-07 삼성전자주식회사 플래시 메모리, 플래시 메모리 보호 장치 및 방법
KR20090033646A (ko) * 2007-10-01 2009-04-06 세메스 주식회사 시스템 제어기 및 그 구동 방법

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR200248316Y1 (ko) * 2001-07-05 2001-10-31 주식회사 테라첵 Rf ic를 내장한 cd카드
KR20040048242A (ko) * 2002-12-02 2004-06-07 삼성전자주식회사 플래시 메모리, 플래시 메모리 보호 장치 및 방법
KR20090033646A (ko) * 2007-10-01 2009-04-06 세메스 주식회사 시스템 제어기 및 그 구동 방법

Also Published As

Publication number Publication date
KR20140143015A (ko) 2014-12-15

Similar Documents

Publication Publication Date Title
KR102625637B1 (ko) 데이터 저장 장치 및 그것의 동작 방법
KR102025180B1 (ko) 스토리지 시스템 및 그것의 쓰기 방법
JP5468207B2 (ja) 相補性メモリ管理
KR100876084B1 (ko) 플래시 저장 장치로 삭제 정보를 전달할 수 있는 컴퓨팅시스템
US10430331B2 (en) Reconstruct drive for dynamic resizing
TWI515735B (zh) 資料抹除方法、記憶體控制電路單元及記憶體儲存裝置
US20140143476A1 (en) Usage of cache and write transaction information in a storage device
US9235534B2 (en) Data protecting method, memory controller and memory storage apparatus
WO2012140695A1 (en) Storage control apparatus and error correction method
CN1938670A (zh) 双媒体存储装置
EP2555106A2 (en) Method and apparatus of sanitizing storage device
TWI421870B (zh) 用於快閃記憶體的資料寫入方法及其控制器與儲存系統
TWI472927B (zh) 資料串分派與傳送方法、記憶體控制器與記憶體儲存裝置
CN111538460A (zh) Raid功能实现方法及相关装置
TW201329712A (zh) 資料處理方法、記憶體控制器與記憶體儲存裝置
TWI534814B (zh) 資料寫入方法、記憶體控制電路單元與記憶體儲存裝置
CN102207905A (zh) 系统恢复方法、存储媒体控制器及存储系统
KR101532654B1 (ko) 대용량 저장장치의 복구 방법 및 복구 방법을 갖춘 대용량 저장장치
US9483195B2 (en) Response reading method and data transmission system
US20190227740A1 (en) Atomic write method for multi-transaction
US20130318394A1 (en) Embedded controller firmware management
CN104484354A (zh) 保证数据一致性的快照方法和存储设备
CN113093987A (zh) 控制存储器装置的控制器及其操作方法
CN103218319A (zh) 数据保护方法、存储器控制器与存储器储存装置
JP2015069241A (ja) 画像処理装置、制御装置、それらの制御方法、及びプログラム

Legal Events

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

Payment date: 20180626

Year of fee payment: 4