KR20140145879A - 가상 블록 디바이스로 파일 시스템을 마운트하는 전자 장치 및 방법 - Google Patents

가상 블록 디바이스로 파일 시스템을 마운트하는 전자 장치 및 방법 Download PDF

Info

Publication number
KR20140145879A
KR20140145879A KR1020130068613A KR20130068613A KR20140145879A KR 20140145879 A KR20140145879 A KR 20140145879A KR 1020130068613 A KR1020130068613 A KR 1020130068613A KR 20130068613 A KR20130068613 A KR 20130068613A KR 20140145879 A KR20140145879 A KR 20140145879A
Authority
KR
South Korea
Prior art keywords
boot record
area
fat
memory card
stored
Prior art date
Application number
KR1020130068613A
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 KR1020130068613A priority Critical patent/KR20140145879A/ko
Priority to US14/300,553 priority patent/US9753933B2/en
Priority to EP14172184.5A priority patent/EP2813947B1/en
Publication of KR20140145879A publication Critical patent/KR20140145879A/ko

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/10File systems; File servers
    • G06F16/13File access structures, e.g. distributed indices
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F1/00Details not covered by groups G06F3/00 - G06F13/00 and G06F21/00
    • 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
    • G06F9/4411Configuring for operating with peripheral devices; Loading of device drivers
    • 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
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/27Replication, distribution or synchronisation of data between databases or within a distributed database system; Distributed database system architectures therefor
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2212/00Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
    • G06F2212/72Details relating to flash memory management
    • G06F2212/7202Allocation control and policies

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Software Systems (AREA)
  • Databases & Information Systems (AREA)
  • Data Mining & Analysis (AREA)
  • Computer Security & Cryptography (AREA)
  • Computing Systems (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

본 발명은, 전자 장치의 동작 방법에 있어서, 내장 스토리지 내의 FAT 영역과 삽입된 메모리 카드 내의 클러스터 힙 영역으로 구성된 가상 블록 디바이스를 생성하는 과정; 및 상기 생성된 가상 블록 디바이스를 이용하여 FAT 파일 시스템을 마운트하는 과정을 그 구성상의 특징으로 하는 가상 블록 디바이스로 파일 시스템을 마운트하는 전자 장치 및 방법에 관한 것이다.

Description

가상 블록 디바이스로 파일 시스템을 마운트하는 전자 장치 및 방법{APPARATAS AND METHOD FOR MOUNTING A FILE SYSTEM OF VIRTUAL BLOCK DEVICE IN AN ELECTRONIC DEVICE}
본 발명은 가상 블록 디바이스로 파일 시스템을 마운트하는 전자 장치 및 방법에 관한 것이다.
전자 장치에 구비된 저장 영역을 확장할 목적 및 다른 전자 장치와의 데이터 교환 등을 목적으로 전자 장치에 메모리 카드를 삽입하여 상술한 목적을 충족하고 있다.
그러나, 종래의 전자 장치에 삽입되어 사용되는 메모리 카드는 일반적으로 전자 장치에 구비된 내장 스토리지와 비교하여 볼 때 입출력 성능 및 사용 수명 등이 떨어지는 문제점이 있었다.
따라서, 상술한 목적을 충족함과 동시에 입출력 성능 및 사용 수명 등을 향상시켜 줄 수 있는 전자 장치 및 방법의 제안이 시급한 실정이다.
본 발명은 기존에 제안된 방법들의 상기와 같은 문제점들을 해결하기 위해 제안된 것으로서, 내장 스토리지 내의 FAT 영역과 삽입된 메모리 카드 내의 클러스터 힙 영역으로 구성된 가상 블록 디바이스를 이용하여, FAT 파일 시스템을 실행하기 때문에 메모리 카드의 사용 수명을 효과적으로 개선할 수 있는 장치 및 방법을 제안하고자 한다.
또한, 본 발명은 가상 블록 디바이스를 이용하여 FAT 파일 시스템을 실행하도록 하는 명령어를 입력받은 경우, 삽입된 메모리 카드 내의 부트 레코드와 FAT 테이블을 삭제하기 때문에, 메모리 카드의 임의 분리시 다른 전자 장치에서 메모리 카드의 파일 시스템을 인식할 수 없어, 사용자의 프라이버시를 보호할 수 있는 장치 및 방법을 제안하고자 한다.
상기한 목적을 달성하기 위한 본 발명의 특징에 따른 가상 블록 디바이스로 파일 시스템을 마운트하는 전자 장치의 동작 방법은, 내장 스토리지 내의 FAT 영역과 삽입된 메모리 카드 내의 클러스터 힙 영역으로 구성된 가상 블록 디바이스를 생성하는 과정; 및
상기 생성된 가상 블록 디바이스를 이용하여 FAT 파일 시스템을 마운트 하는 과정을 그 구성상의 특징으로 한다.
바람직하게는, 상기 내장 스토리지 내의 부트 레코드 영역에 백업 부트 레코드가 저장되어 있는지 여부를 판단하는 과정; 상기 백업 부트 레코드가 저장되어 있다고 판단되면, 상기 백업 부트 레코드와 상기 삽입된 메모리 카드 내의 부트 레코드 영역에 저장된 부트 레코드의 동일성 여부를 판단하는 과정; 및 상기 내장 스토리지 내의 부트 레코드 영역에 저장된 백업 부트 레코드와 상기 메모리 카드 내의 부트 레코드 영역에 저장된 부트 레코드가 동일함을 확인하는 과정을 더 포함할 수 있다.
바람직하게는, 상기 생성된 가상 블록 디바이스를 이용하여 FAT 파일 시스템을 마운트하는 과정은, 상기 가상 블록 디바이스를 이용하여 상기 FAT 파일 시스템을 실행하기 전, 상기 FAT 파일 시스템의 오류를 검사하는 과정; 및 상기 FAT 파일 시스템의 오류가 검색된 경우 오류를 복구한 후, 상기 가상 블록 디바이스를 이용하여 상기 FAT 파일 시스템을 마운트하는 과정을 포함할 수 있다.
바람직하게는, 상기 삽입된 메모리 카드 내의 부트 레코드 영역에 저장된 부트 레코드와 FAT 영역에 저장된 FAT 테이블을 삭제하는 과정을 더 포함할 수 있다.
바람직하게는, 상기 생성된 가상 블록 디바이스 내의 FAT 영역에서 상기 가상 블록 디바이스 내의 클러스터 힙 영역으로부터 데이터를 읽어오거나 상기 클러스터 힙 영역에 데이터를 저장하는 과정을 더 포함할 수 있다.
바람직하게는, 상기 가상 블록 디바이스는, 상기 내장 스토리지 내의 부트 레코드 영역에 저장된 백업 부트 레코드를 더 포함하여 구성될 수 있다.
바람직하게는, 상기 내장 스토리지 내의 부트 레코드 영역에 저장된 백업 부트 레코드가 없음을 확인하거나 상기 백업 부트 레코드와 상기 메모리 카드 내의 부트 레코드 영역에 저장된 부트 레코드의 동일성이 인정되지 않음을 확인하는 과정을 더 포함할 수 있다.
바람직하게는, 생성된 가상 블록 디바이스를 이용하여 FAT 파일 시스템을 실행하도록 하는 명령어를 입력받았는지 여부를 판단하는 과정; 상기 명령어를 입력받은 경우, 상기 메모리 카드 내의 부트 레코드 영역에 저장된 부트 레코드와 FAT 영역에 저장된 FAT 테이블을 각각 상기 내장 스토리지로 복사하는 과정; 및 상기 내장 스토리지 내의 부트 레코드 영역에 상기 메모리 카드 내의 부트 레코드가 백업된 백업 부트 레코드가 저장됨을 확인하고, 상기 내장 스토리지 내의 FAT 영역에 상기 메모리 카드 내의 FAT 테이블이 저장됨을 확인하는 과정을 더 포함할 수 있다.
바람직하게는, 상기 내장 스토리지 내의 부트 레코드 영역에 다른 메모리 카드의 백업 부트 레코드가 저장되어 있음을 확인하는 과정; 및 상기 저장된 다른 메모리 카드의 백업 부트 레코드를 삭제하고, 현재 삽입된 메모리 카드의 부트 레코드를 복사하겠다는 내용 및 상기 현재 삽입된 메모리 카드 내의 FAT 테이블을 복사하겠다는 내용이 포함된 알림 메시지를 디스플레이하는 과정을 더 포함할 수 있다.
바람직하게는, 상기 명령어를 입력받지 못한 경우, 상기 메모리 카드를 이용하여 상기 FAT 파일 시스템을 실행하기 전, 상기 FAT 파일 시스템의 오류를 검사하는 과정; 및 상기 FAT 파일 시스템의 오류가 검색된 경우 오류를 복구한 후, 상기 메모리 카드를 이용하여 상기 FAT 파일 시스템을 마운트 하는 과정을 더 포함할 수 있다.
바람직하게는, 상기 삽입된 메모리 카드를 안전 제거하도록 하는 명령어를 입력받는 과정; 상기 가상 블록 디바이스를 이용한 FAT 파일 시스템이 언 마운트됨을 확인하는 과정; 상기 내장 스토리지 내의 부트 레코드 영역에 저장된 백업 부트 레코드와 FAT 영역에 저장된 FAT 테이블을 각각 상기 메모리 카드의 부트 레코드 영역과 클러스터 힙 영역으로 복사하는 과정; 및 상기 메모리 카드가 설정된 슬롯(slot)에서 분리됨을 확인하는 과정을 더 포함할 수 있다.
바람직하게는, 상기 가상 블록 디바이스를 이용한 FAT 파일 시스템이 언 마운트됨을 확인하는 과정은, 상기 가상 블록 디바이스의 부트 레코드 영역에 갱신되어 저장된 백업 부트 레코드 및 상기 가상 블록 디바이스의 FAT 영역에 갱신되어 저장된 FAT 테이블을 각각 상기 내장 스토리지 내의 부트 레코드 영역 및 FAT 영역에 복사하는 과정; 및 상기 가상 블록 디바이스의 클러스터 힙 영역에 갱신되어 저장된 데이터 클러스터를 상기 메모리 카드 내의 클러스터 힙 영역으로 복사하는 과정을 포함할 수 있다.
상기한 목적을 달성하기 위한 본 발명의 특징에 따른 가상 블록 디바이스로 파일 시스템을 마운트하는 전자 장치는, 내장 스토리지 내의 FAT 영역과 삽입된 메모리 카드 내의 클러스터 힙 영역으로 구성된 가상 블록 디바이스를 생성하고, 상기 생성된 가상 블록 디바이스를 이용하여 FAT 파일 시스템을 마운트하는 프로세서 모듈; 및 상기 프로세서 모듈에서 제어된 데이터를 저장하는 메모리를 그 구성상의 특징으로 한다.
바람직하게는, 상기 프로세서 모듈은, 상기 내장 스토리지 내의 부트 레코드 영역에 백업 부트 레코드가 저장되어 있는지 여부를 판단하고, 상기 백업 부트 레코드가 저장되어 있다고 판단되면, 상기 백업 부트 레코드와 상기 삽입된 메모리 카드 내의 부트 레코드 영역에 저장된 부트 레코드의 동일성 여부를 판단하여, 상기 내장 스토리지 내의 부트 레코드 영역에 저장된 백업 부트 레코드와 상기 메모리 카드 내의 부트 레코드 영역에 저장된 부트 레코드가 동일함을 확인할 수 있다.
바람직하게는, 상기 프로세서 모듈은, 상기 가상 블록 디바이스를 이용하여 상기 FAT 파일 시스템을 실행하기 전, 상기 FAT 파일 시스템의 오류를 검사하고, 상기 FAT 파일 시스템의 오류가 검색된 경우 오류를 복구한 후, 상기 가상 블록 디바이스를 이용하여 상기 FAT 파일 시스템을 마운트할 수 있다.
바람직하게는, 상기 프로세서 모듈은, 상기 삽입된 메모리 카드 내의 부트 레코드 영역에 저장된 부트 레코드와 FAT 영역에 저장된 FAT 테이블을 삭제할 수 있다.
바람직하게는, 상기 프로세서 모듈은, 상기 생성된 가상 블록 디바이스 내의 FAT 영역에서 상기 가상 블록 디바이스 내의 클러스터 힙 영역으로부터 데이터를 읽어오거나 상기 클러스터 힙 영역에 데이터를 저장할 수 있다.
바람직하게는, 상기 가상 블록 디바이스는, 상기 내장 스토리지 내의 부트 레코드 영역에 저장된 백업 부트 레코드를 더 포함하여 구성될 수 있다.
바람직하게는, 상기 프로세서 모듈은, 상기 내장 스토리지 내의 부트 레코드 영역에 저장된 백업 부트 레코드가 없음을 확인하거나 상기 백업 부트 레코드와 상기 메모리 카드 내의 부트 레코드 영역에 저장된 부트 레코드의 동일성이 인정되지 않음을 확인할 수 있다.
바람직하게는, 상기 프로세서 모듈은, 생성된 가상 블록 디바이스를 이용하여 FAT 파일 시스템을 실행하도록 하는 명령어를 입력받았는지 여부를 판단하여, 상기 명령어를 입력받은 경우, 상기 메모리 카드 내의 부트 레코드 영역에 저장된 부트 레코드와 FAT 영역에 저장된 FAT 테이블을 각각 상기 내장 스토리지로 복사하고, 상기 내장 스토리지 내의 부트 레코드 영역에 상기 메모리 카드 내의 부트 레코드가 백업된 백업 부트 레코드가 저장됨을 확인하고, 상기 내장 스토리지 내의 FAT 영역에 상기 메모리 카드 내의 FAT 테이블이 저장됨을 확인할 수 있다.
바람직하게는, 상기 프로세서 모듈은, 상기 내장 스토리지 내의 부트 레코드 영역에 다른 메모리 카드의 백업 부트 레코드가 저장되어 있음을 확인하고, 상기 저장된 다른 메모리 카드의 백업 부트 레코드를 삭제하고, 현재 삽입된 메모리 카드의 부트 레코드를 복사하겠다는 내용 및 상기 현재 삽입된 메모리 카드 내의 FAT 테이블을 복사하겠다는 내용이 포함된 알림 메시지를 디스플레이하는 터치 스크린을 더 포함할 수 있다.
바람직하게는, 상기 프로세서 모듈은, 상기 명령어를 입력받지 못한 경우, 상기 메모리 카드를 이용하여 상기 FAT 파일 시스템을 실행하기 전, 상기 FAT 파일 시스템의 오류를 검사하여, 상기 FAT 파일 시스템의 오류가 검색된 경우 오류를 복구한 후, 상기 메모리 카드를 이용하여 상기 FAT 파일 시스템을 마운트할 수 있다.
바람직하게는, 상기 삽입된 메모리 카드를 안전 제거하도록 하는 명령어를 입력받는 터치 스크린을 더 포함하고, 상기 프로세서 모듈은, 상기 가상 블록 디바이스를 이용한 FAT 파일 시스템이 언 마운트 됨을 확인하고, 상기 내장 스토리지 내의 부트 레코드 영역에 저장된 백업 부트 레코드와 FAT 영역에 저장된 FAT 테이블을 각각 상기 메모리 카드의 부트 레코드 영역과 클러스터 힙 영역으로 복사하며, 상기 메모리 카드가 설정된 슬롯에서 분리됨을 확인할 수 있다.
바람직하게는, 상기 프로세서 모듈은, 상기 가상 블록 디바이스의 부트 레코드 영역에 갱신되어 저장된 백업 부트 레코드 및 상기 가상 블록 디바이스의 FAT 영역에 갱신되어 저장된 FAT 테이블을 각각 상기 내장 스토리지 내의 부트 레코드 영역 및 FAT 영역에 복사하고, 상기 가상 블록 디바이스의 클러스터 힙 영역에 갱신되어 저장된 데이터 클러스터를 상기 메모리 카드 내의 클러스터 힙 영역으로 복사할 수 있다.
본 발명의 가상 블록 디바이스로 파일 시스템을 마운트 하는 전자 장치 및 방법에 따르면, 내장 스토리지 내의 FAT 영역과 삽입된 메모리 카드 내의 클러스터 힙 영역으로 구성된 가상 블록 디바이스를 이용하여, FAT 파일 시스템을 실행하기 때문에 메모리 카드의 사용 수명을 효과적으로 개선할 수 있다.
도 1은 본 발명에 따른 가상 블록 디바이스를 생성하여 FAT 파일 시스템을 마운트 하는 일 실시예를 도시한 도면.
도 2는 본 발명에 따른 가상 블록 디바이스를 이용한 FAT 파일 시스템이 언 마운트 되는 일 실시예를 도시한 도면.
도 3은 본 발명에 따른 전자 장치에서 수동적으로 fast mode를 선택받는 일 실시예를 도시한 도면.
도 4는 본 발명에 따른 전자 장치에서 normal mode를 선택받는 일 실시예를 도시한 도면.
도 5는 본 발명에 따른 전자 장치에서 메모리 카드의 보안성을 향상시키는 일 실시예를 도시한 도면.
도 6은 본 발명의 일 실시예에 따른 전자 장치에서 FAT 파일 시스템을 마운트 하는 동작 순서를 도시한 순서도.
도 7은 본 발명의 일 실시예에 따른 전자 장치에서 FAT 파일 시스템을 언 마운트 하는 동작 순서를 도시한 순서도.
도 8은 본 발명의 일 실시예에 따른 가상 블록 디바이스로 파일 시스템을 마운트하는 전자 장치의 방법의 흐름도.
도 9는 본 발명의 일 실시예에 따른 전자 장치의 구성을 도시한 블록도.
이하 본 발명의 바람직한 실시 예를 첨부된 도면을 참조하여 상세히 설명한다. 그리고, 본 발명을 설명함에 있어서, 관련된 공지기능 혹은 구성에 대한 구체적인 설명이 본 발명의 요지를 불필요하게 흐릴 수 있다고 판단된 경우 그 상세한 설명은 생략한다. 그리고 후술되는 용어들은 본 발명에서의 기능을 고려하여 정의된 용어들로서 이는 사용자, 운용자의 의도 또는 관례 등에 따라 달라질 수 있다. 그러므로 그 정의는 본 명세서 전반에 걸친 내용을 토대로 내려져야 할 것이다.
도 1은 본 발명에 따른 가상 블록 디바이스를 생성하여 FAT 파일 시스템을 마운트 하는 일 실시예를 도시한 도면이다. 도 1의(a)에 도시된 바와 같이, 본 발명에 따른 가상 블록 디바이스(virtual block device)는 전자 장치에 삽입될 수 있는 메모리 카드(memory card)와 전자 장치에 구비되어 있는 내장 스토리지(storage)로 구성될 수 있다. 여기서, FAT 파일 시스템(File Allocation Table file system)은 데이터를 파일 및 디렉토리 단위로 읽고 쓸 수 있는 시스템으로 정의될 수 있다.
먼저, 메모리 카드는 전자 장치에 구비된 설정된 슬롯(slot)에 삽입되어, 전자 장치의 저장 영역을 확장할 목적 및 다른 전자 장치와의 데이터 교환 등을 목적으로 사용될 수 있다. 여기서, 메모리 카드는 멀티 미디어 카드(Multi Media card), SD 카드(Secure Digital card), 컴팩트 플래시 카드(Compact Flash card), 마이크로 드라이브(Micro Drive), 메모리 스틱(Memory Stick), 스마트 미디어 카드(Smart Media card) 및 xD 픽처 카드(Extreme Digital Picture card) 등이 될 수 있다.
메모리 카드는 크게 부트 레코드 영역(boot record area, 101), FAT 영역(File Allocation Table, 102) 및 클러스터 힙(cluster heap) 영역(103)으로 구성될 수 있다. 여기서, 부트 레코드 영역(101)은 전자 장치를 부팅시키기 위한 기계어 코드와 FAT 파일 시스템의 여러 설정 값들이 포함되어 있는 영역이다. 또한, FAT 영역(102)은 파일 시스템(file system)의 메타 데이터 영역으로 클러스터(cluster) 할당 정보 및 클러스터 체인(cluster chain) 들을 관리하는 테이블이 포함되어 있는 영역으로, FAT 영역(102)을 통해서 어떤 클러스터가 비어 있는지 어떤 파일에 어떤 클러스터가 연결되어 있는지를 알 수 있다. 또한, 클러스터 힙 영역(103)은 데이터 클러스터가 저장된 영역이다.
내장 스토리지는 전자 장치에 구비된 저장 영역으로 부트 레코드 영역(104), FAT 영역(105)으로 구성될 수 있다. 여기서, 부트 레코드 영역(104)은 메모리 카드의 부트 레코드 영역(101)이 복사된 영역으로, 부트 레코드 영역(104)에는 메모리 카드의 부트 레코드가 백업된 백업 부트 레코드(backup boot record)가 포함되어 있을 수 있다. 또한, FAT 영역(105)은 메모리 카드의 FAT 영역(102)이 복사된 영역으로, FAT 영역(105)에는 메모리 카드의 FAT 영역(102)에 저장된 파일 시스템의 FAT 테이블이 포함되어 있을 수 있다. 즉, 전자 장치에 구비된 내장 스토리지의 부트 레코드 영역(104)과 FAT 영역(105)은 메모리 카드의 부트 레코드 영역(101)과 FAT 영역(102)이 복사된 것으로, 그 기능은 메모리 카드의 부트 레코드 영역(101)및 FAT 영역(102)과 각각 동일하다.
가상 블록 디바이스는 부트 레코드 영역(106), FAT 영역(107) 및 클러스터 힙 영역(108)으로 구성될 수 있다. 먼저, 부트 레코드 영역(106) 및 FAT 영역(107)은 각각 내장 스토리지의 부트 레코드 영역(104) 및 FAT 영역(105)과 동기화(synchronization)가 이루어진 영역이고, 클러스터 힙 영역(108)은 내장 스토리지의 클러스터 힙 영역(103)과 동기화가 이루어진 영역일 수 있다. 즉, 가상 블록 디바이스의 부트 레코드 영역(106) 및 FAT 영역(107)은 전자 장치에 구비된 내장 스토리지의 제어하에 동작할 수 있다. 이하, 전자 장치에서 가상 블록 디바이스를 이용하여 FAT 파일 시스템을 마운트하는 일 실시예를 상세히 기술하겠다.
먼저, 전자 장치는 설정된 슬롯에 메모리 카드가 삽입됨을 확인할 수 있다. 여기서, 전자 장치는 메모리 카드가 삽입될 수 있는 슬롯을 적어도 하나 이상 구비하여, 복수의 메모리 카드가 삽입될 수 있도록 할 수 있다. 즉, 메모리 카드는 전자 장치의 적어도 하나 이상의 설정된 슬롯에 복수 개가 삽입되어, FAT 파일 시스템이 운영될 수도 있다.
이후, 전자 장치는 내장 스토리지 내의 부트 레코드 영역(104)에 백업 부트 레코드가 저장되어 있는지 여부를 판단할 수 있다. 보다 구체적으로, 전자 장치는 내장 스토리지 내의 부트 레코드 영역(104)에 메모리 카드의 부트 레코드가 백업되어 있는지 여부를 판단하여, 이전에 메모리 카드가 삽입되었는지 여부를 판단할 수 있다. 왜냐하면, 전자 장치는 전자 장치의 설정된 슬롯에 메모리 카드가 삽입된 경우, 삽입된 메모리 카드의 부트 레코드(101)를 백업하여, 백업 부트 레코드를 전자 장치의 내장 스토리지 내의 부트 레코드 영역(104)에 저장해 놓기 때문이다.
만약, 전자 장치에서 내장 스토리지 내의 부트 레코드 영역(104)에 백업 부트 레코드가 저장되어 있다고 판단되면, 전자 장치는 백업 부트 레코드와 메모리 카드 내의 부트 레코드 영역(101)에 저장된 부트 레코드가 동일한지 여부를 판단할 수 있다. 보다 구체적으로, 백업 부트 레코드와 메모리 카드 내의 부트 레코드 영역(101)에 저장된 부트 레코드가 동일한지 여부를 판단하여, 이전에 현재 삽입된 메모리 카드가 삽입되었는지 여부를 판단할 수 있다.
만약, 전자 장치에서 백업 부트 레코드와 메모리 카드 내의 부트 레코드 영역(101)에 저장된 부트 레코드가 동일하다고 판단되면, 전자 장치는 내장 스토리지 내의 부트 레코드 영역(104) 및 FAT 영역(105)과 삽입된 메모리 카드 내의 클러스터 힙 영역(103)으로 구성된 가상 블록 디바이스를 생성할 수 있다. 보다 구체적으로, 가상 디바이스의 부트 레코드 영역(106) 및 FAT 영역(107)은 각각 내장 스토리지의 부트 레코드 영역(104) 및 FAT 영역(105)과 동기화가 이루어진 영역이고, 가상 디바이스의 클러스터 힙 영역(108)은 내장 스토리지의 클러스터 힙 영역(103)과 동기화가 이루어진 영역일 수 있다.
이후, 전자 장치는 생성된 가상 블록 디바이스를 이용하여 FAT 파일 시스템을 마운트(mount) 할 수 있다. 즉, 가상 블록 디바이스의 부트 레코드 영역(106) 및 FAT 영역(107)은 전자 장치에 구비된 내장 스토리지의 제어하에 동작할 수 있다. 이후, 생성된 가상 블록 디바이스 내의 FAT 영역(107)에서 가상 블록 디바이스 내의 클러스터 힙 영역(108)으로부터 데이터를 읽어오거나 클러스터 힙 영역(108)에 데이터를 저장하는 FAT 파일 시스템이 운영될 수 있다.
그러나, 전자 장치에 구비된 내장 스토리지 내의 부트 레코드 영역(104)에 백업 부트 레코드가 저장되어 있지 않았거나 백업 부트 레코드가 저장되어 있어도 백업 부트 레코드와 메모리 카드 내의 부트 레코드 영역(101)에 저장된 부트 레코드가 동일하지 않은 경우, 아래와 같은 과정을 통해서 가상 블록 디바이스를 생성할 수 있다.
먼저, 전자 장치는 fast mode를 실행하도록 하는 명령어를 입력받았는지 여부를 판단할 수 있다. 여기서, fast mode란 생성된 가상 블록 디바이스를 이용하여 FAT 파일 시스템을 실행하도록 하는 모드로 정의될 수 있다. 즉, fast mode는 본 발명의 기능이 활성화되어 메모리 카드의 입출력 성능을 향상시키도록 하는 모드로 정의될 수 있다.
이후, 전자 장치에서 fast mode를 실행하도록 하는 명령어를 입력받은 경우, 전자 장치는 메모리 카드 내의 부트 레코드 영역(101)에 저장된 부트 레코드와 FAT 영역(102)에 저장된 FAT 테이블을 각각 내장 스토리지로 복사할 수 있다. 즉, 도 1의(b)에 도시된 바와 같이, 전자 장치는 메모리 카드 내의 부트 레코드 영역에 저장되어 있는 부트 레코드를 내장 스토리지 내의 부트 레코드 영역으로 복사할 수 있다. 또한, 전자 장치는 메모리 카드 내의 FAT 영역(102)에 저장되어 있는 FAT 테이블을 내장 스토리지 내의 FAT 영역에 복사할 수 있다. 이후, 도 1의(a)를 통하여 상세히 설명한 바와 같이, 전자 장치는 생성된 가상 블록 디바이스를 이용하여 FAT 파일 시스템을 마운트 할 수 있다.
종래의 전자 장치에서는 메모리 카드가 삽입되어 FAT 파일 시스템을 실행할 때, 메모리 카드 내의 FAT 영역(102)에서 클러스터 힙 영역(103)으로부터 데이터를 읽어오거나 클러스터 힙 영역(103)에 데이터를 저장하였다. 그러나, TLC(Triple Level Cell) NAND를 사용하는 외장 메모리 카드는 SLC(Single Level Cell) 또는 MLC(Multi Level Cell)를 사용하는 eMMC(embeded Multi Media Card)와 같은 내장 스토리지와 비교하여 볼 때, 입출력 성능이 떨어지며 특히 랜덤 라이트(ramdom write) 성능은 내장 스토리지의 1/5~1/20 수준이어서, 매우 비효율적인 문제점이 있었다.
그러나, 본 발명에 따른 전자 장치에서는 가상 블록 디바이스를 생성하여, FAT 파일 시스템을 마운트하여, 상술한 문제점을 해결하였다. 보다 구체적으로, 본 발명에 따른 전자 장치에서는 파일 클러스터 체인의 읽기와 변경은 내장 스토리지의 입출력을 통해 처리되고, 파일 데이터는 메모리 카드를 통해서 처리되기 때문에 메모리 카드의 랜덤 입출력을 감소시키는 장점이 있다. 즉, 고성능 내장 스토리지에서 파일 클러스터 체인의 읽기와 변경을 수행하기 때문에 종래와 같이 메모리 카드에서 FAT 파일 시스템을 관리하는 방법에 비해 입출력 성능을 개선할 수 있으며, 메모리 카드에서 발생하는 랜덤 라이트를 수명이 우수한 내장 스토리지에서 처리함으로써, 메모리 카드의 수명을 개선할 수 있는 장점이 있다.
도 2는 본 발명에 따른 가상 블록 디바이스를 이용한 FAT 파일 시스템이 언 마운트 되는 일 실시예를 도시한 도면이다. 먼저, 전자 장치는 삽입된 메모리 카드를 안전 제거하도록 하는 명령어를 입력받을 수 있다. 보다 구체적으로, 전자 장치는 삽입된 메모리 카드가 전자 장치의 설정된 슬롯으로부터 임의로 분리되지 않고, 안전 제거하도록 하는 명령어를 입력받을 수 있다.
이후, 도 2의(a)에 도시된 바와 같이, 전자 장치는 가상 블록 디바이스를 이용한 FAT 파일 시스템이 언 마운트 됨을 확인할 수 있다. 보다 구체적으로, 전자 장치는 가상 블록 디바이스의 부트 레코드 영역(201)에 갱신되어 저장된 백업 부트 레코드 및 FAT 영역(202)에 갱신되어 저장된 FAT 테이블을 각각 내장 스토리지 내의 부트 레코드 영역(204) 및 FAT 영역(205)에 복사하고, 가상 블록 디바이스의 클러스터 힙 영역(203)에 갱신되어 저장된 데이터 클러스터를 메모리 카드 내의 클러스터 힙 영역(208)으로 복사할 수 있다.
이후, 도 2의(b)에 도시된 바와 같이, 전자 장치는 내장 스토리지 내의 부트 레코드 영역(204)에 저장된 백업 부트 레코드와 FAT 영역(205)에 저장된 FAT 테이블을 메모리 카드로 복사할 수 있다. 보다 구체적으로, 전자 장치는 내장 스토리지 내의 부트 레코드 영역(204)에 저장된 백업 부트 레코드와 FAT 영역(205)에 저장된 FAT 테이블을 각각 메모리 카드 내의 부트 레코드 영역(206)과 클러스터 힙 영역(208)으로 복사할 수 있다.
상술한 바와 같이, 전자 장치에서 삽입된 메모리 카드를 안전 제거하도록 하는 명령어를 입력받은 경우, 전자 장치는 가상 블록 비다이스에 갱신되어 저장된 정보를 메모리 카드로 복사할 수 있다. 같은 의미로, 전자 장치에서 삽입된 메모리 카드를 안전 제거하도록 하는 명령어를 입력받지 못한 경우, 전자 장치는 가상 블록 디바이스에 갱신되어 저장된 정보를 메모리 카드로 복사할 수 없다.
도 3은 본 발명에 따른 전자 장치에서 수동적으로 fast mode를 선택받는 일 실시예를 도시한 도면이다. 먼저, 전자 장치에 구비된 내장 스토리지 내의 부트 레코드 영역에 백업 부트 레코드가 저장되어 있지 않았거나 백업 부트 레코드가 저장되어 있어도 백업 부트 레코드와 메모리 카드 내의 부트 레코드 영역에 저장된 부트 레코드가 동일하지 않은 경우, 전자 장치는 아래와 같은 과정을 통해서 가상 블록 디바이스를 생성할 수 있다.
먼저, 전자 장치는 fast mode를 실행하도록 하는 명령어를 입력받았는지 여부를 판단할 수 있다. 보다 구체적으로, 전자 장치는 가상 블록 디바이스를 이용하여 FAT 파일 시스템을 실행할지 여부에 관한 내용을 전자 장치의 터치 스크린에 디스플레이하여, fast mode를 실행하도록 하는 명령어를 입력받았는지 여부를 판단할 수 있다. 여기서, fast mode란 생성된 가상 블록 디바이스를 이용하여 FAT 파일 시스템을 실행하도록 하는 모드로 정의될 수 있다. 즉, fast mode는 본 발명의 기능이 활성화되어 메모리 카드의 입출력 성능을 향상시키도록 하는 모드로 정의될 수 있다.
만약, 도 3의(a)에 도시된 바와 같이, 전자 장치에서 FAT 파일 시스템을 fast mode로 실행하도록 하는 명령어를 입력받은 경우, 전자 장치는 내장 스토리지 내의 부트 레코드 영역에 현재 삽입된 메모리 카드와 다른 백업 부트 레코드가 저장되어 있는지 확인할 수 있다.
이후, 도 3의(b)에 도시된 바와 같이, 전자 장치에서 내장 스토리지 내의 부트 레코드 영역에 다른 메모리 카드의 백업 부트 레코드가 저장되어 있다고 확인되면, 전자 장치는 전자 장치의 터치 스크린에 알림 메시지를 디스플레이할 수 있다. 보다 구체적으로, 전자 장치는 내장 스토리지 내의 부트 레코드 영역에 저장된 다른 메모리 카드의 백업 부트 레코드를 삭제하고, 현재 삽입된 메모리 카드의 부트 레코드를 복사하겠다는 내용 및 현재 삽입된 메모리 카드 내의 FAT 테이블을 내장 스토리지 내의 FAT 영역에 복사하겠다는 내용이 포함된 알림 메시지를 디스플레이할 수 있다.
이후, 전자 장치는 메모리 카드 내의 부트 레코드 영역에 저장된 부트 레코드와 FAT 영역에 저장된 FAT 테이블을 각각 내장 스토리지로 복사할 수 있다. 즉, 전자 장치는 메모리 카드 내의 부트 레코드 영역에 저장되어 있는 부트 레코드를 내장 스토리지 내의 부트 레코드 영역으로 복사할 수 있다. 또한, 전자 장치는 메모리 카드 내의 FAT 영역에 저장되어 있는 FAT 테이블을 내장 스토리지 내의 FAT 영역에 복사할 수 있다. 이후, 전자 장치는 생성된 가상 블록 디바이스를 이용하여 FAT 파일 시스템을 마운트 할 수 있다.
도 4는 본 발명에 따른 전자 장치에서 normal mode를 선택받는 일 실시예를 도시한 도면이다. 먼저, 전자 장치에 구비된 내장 스토리지 내의 부트 레코드 영역에 백업 부트 레코드가 저장되어 있지 않았거나 백업 부트 레코드가 저장되어 있어도 백업 부트 레코드와 메모리 카드 내의 부트 레코드 영역에 저장된 부트 레코드가 동일하지 않은 경우, 전자 장치는 아래와 같은 과정을 통해서 FAT 파일 시스템을 실행할 수 있다.
먼저, 전자 장치는 fast mode를 실행하도록 하는 명령어를 입력받았는지 여부를 판단할 수 있다. 보다 구체적으로, 전자 장치는 가상 블록 디바이스를 이용하여 FAT 파일 시스템을 실행할지 여부에 관한 내용을 전자 장치의 터치 스크린에 디스플레이하여, fast mode를 실행하도록 하는 명령어를 입력받았는지 여부를 판단할 수 있다.
만약, 도 4의(a)에 도시된 바와 같이, 전자 장치에서 FAT 파일 시스템을 fast mode로 실행하도록 하는 명령어를 입력받지 못한 경우, 전자 장치는 normal mode로 FAT 파일 시스템을 실행할 수 있다. 여기서, normal mode란 가상 블록 디바이스를 생성하지 않고, FAT 파일 시스템을 실행하는 모드로 정의될 수 있다.
이후, 도 4의(b)에 도시된 바와 같이, 전자 장치는 메모리 카드를 이용하여 FAT 파일 시스템을 실행하기 전, FAT 파일 시스템의 오류를 검사할 수 있다. 만약, 전자 장치에서 FAT 파일 시스템의 오류가 검색된 경우, 전자 장치는 검색된 오류를 복구한 후, 메모리 카드를 이용하여 FAT 파일 시스템을 마운트할 수 있다.
즉, 본 발명에 따른 전자 장치에서는 FAT 파일 시스템을 마운트하기 전, fast mode 및 normal mode라는 두 가지 모드를 제공하여, 상황에 따라 두 가지 모드를 선택할 수 있도록 하기 때문에 사용자의 편의성을 향상시키는 장점이 있다.
도 5는 본 발명에 따른 전자 장치에서 메모리 카드의 보안성을 향상시키는 일 실시예를 도시한 도면이다. 먼저, 도 5의(a)에 도시된 바와 같이, 제1 전자 장치(501)의 설정된 위치에 구비된 슬롯(502)에 메모리 카드(503)가 삽입되어, 가상 블록 디바이스를 생성한 후, FAT 파일 시스템을 실행하였다고 가정해 보자.
상술한 가정에서, 제1 전자 장치(501)는 생성된 가상 블록 디바이스를 이용하여 FAT 파일 시스템을 마운트 한 경우, 삽입된 메모리 카드(503)의 데이터를 삭제할 수 있다. 보다 구체적으로, 제1 전자 장치(501)에서 fast mode로 FAT 파일 시스템을 마운트 한 경우, 제1 전자 장치(501)는 삽입된 메모리 카드(503) 내의 부트 레코드 영역에 저장된 부트 레코드와 FAT 영역에 저장된 FAT 테이블을 삭제할 수 있다.
만약, 제1 전자 장치(501)에서 삽입된 메모리 카드(503)를 안전 제거하도록 하는 명령어를 입력받은 경우, 제1 전자 장치(501)는 가상 블록 디바이스를 이용한 FAT 파일 시스템이 언 마운트 됨을 확인할 수 있다. 보다 구체적으로, 제1 전자 장치(501)는 가상 블록 디바이스의 부트 레코드 영역에 갱신되어 저장된 백업 부트 레코드 및 FAT 영역에 갱신되어 저장된 FAT 테이블을 각각 내장 스토리지 내의 부트 레코드 영역 및 FAT 영역에 복사할 수 있다. 또한, 가상 블록 디바이스의 클러스터 힙 영역에 갱신되어 저장된 데이터 클러스터를 메모리 카드(501) 내의 클러스터 힙 영역으로 복사할 수 있다.
그러나, 제1 전자 장치(501)에서 삽입된 메모리 카드(503)를 안전 제거하도록 하는 명령어를 입력받지 못한 경우, 제1 전자 장치(501)는 가상 블록 디바이스를 이용한 FAT 파일 시스템이 언 마운트 됨을 확인할 수 없다. 보다 구체적으로, 제1 전자 장치(501)에서 삽입된 메모리 카드(503)를 안전 제거하도록 하는 명령어를 입력받지 못한 경우, 제1 전자 장치(501)는 가상 블록 디바이스에 갱신되어 저장된 정보를 메모리 카드(503)로 복사할 수 없다.
이후, 도 5의(b)에 도시된 바와 같이, 제1 전자 장치(501)의 설정된 슬롯(502)에서 분리된 메모리 카드(503)가 제2 전자 장치(504)의 설정된 슬롯(505)에 삽입된 경우, 제2 전자 장치(504)는 상술한 두 가지 경우마다 다른 동작을 수행할 수 있다.
먼저, 메모리 카드(503)가 제1 전자 장치(501)로부터 안전 제거된 경우, 제2 전자 장치(504)는 삽입된 메모리 카드(503)가 처음으로 삽입되었는지 여부에 따라 또는 사용자의 선택에 따라 FAT 파일 시스템을 fast mode로 실행할 수도 있고, normal mode로 실행할 수도 있다.
그러나, 메모리 카드(503)가 제1 전자 장치(501)로부터 안전 제거되지 않은 경우, 제2 전자 장치(504)는 삽입된 메모리 카드(503)를 이용하여 FAT 파일 시스템을 수행할 수 없다. 왜냐하면, 제1 전자 장치(501)에 메모리 카드(503)가 삽입되어 fast mode로 FAT 파일 시스템이 실행된 경우, 메모리 카드(503) 내의 부트 레코드 영역에 저장된 부트 레코드와 FAT 영역에 저장된 FAT 테이블이 삭제되었기 때문이다.
따라서, 메모리 카드(503)가 제1 전자 장치(501)로부터 안전 제거된 경우, 다른 전자 장치인 제2 전자 장치(504)는 삽입된 메모리 카드(503)로 가상 블록 디바이스를 생성하여 fast mode로 FAT 파일 시스템을 실행할 수 있다. 그러나, 메모리 카드(503)가 제1 전자 장치(501)로부터 안전 제거되지 않고 임의로 분리된 경우, 다른 전자 장치인 제2 전자 장치(504)에서는 삽입된 메모리 카드(503)의 부트 레코드와 FAT 테이블이 인식되지 않기 때문에 개인 데이터 프라이버시를 보장할 수 있는 장점이 있다.
도 6은 본 발명의 일 실시예에 따른 전자 장치에서 FAT 파일 시스템을 마운트 하는 동작 순서를 도시한 순서도이다. 먼저, 도 6에 도시된 바와 같이, 전자 장치는 설정된 슬롯에 메모리 카드가 삽입됨을 확인할 수 있다(601). 여기서, 전자 장치는 설정된 위치에 적어도 하나의 슬롯을 구비할 수 있다. 즉, 본 발명에 따른 전자 장치에서는 적어도 하나 이상의 메모리 카드가 전자 장치의 설정된 위치에 구비된 적어도 하나의 슬롯에 삽입될 수 있다.
이후, 전자 장치는 내장 스토리지 내의 부트 레코드 영역에 백업 부트 레코드가 저장되어 있는지 여부를 판단할 수 있다(602). 보다 구체적으로, 전자 장치는 내장 스토리지 내의 부트 레코드 영역에 메모리 카드의 부트 레코드가 백업되어 있는지 여부를 판단하여, 이전에 메모리 카드가 삽입되었는지 여부를 판단할 수 있다. 왜냐하면, 전자 장치는 전자 장치의 설정된 슬롯에 메모리 카드가 삽입된 경우, 삽입된 메모리 카드의 부트 레코드를 백업하여, 백업 부트 레코드를 전자 장치의 내장 스토리지 내의 부트 레코드 영역에 저장해 놓기 때문이다.
만약, 상술한 판단과정(602)에서, 전자 장치가 내장 스토리지 내의 부트 레코드 영역에 백업 부트 레코드가 저장되어 있다고 판단하면, 전자 장치는 백업 부트 레코드와 메모리 카드 내의 부트 레코드 영역에 저장된 부트 레코드가 동일한지 여부를 판단할 수 있다(603). 보다 구체적으로, 백업 부트 레코드와 메모리 카드 내의 부트 레코드 영역에 저장된 부트 레코드가 동일한지 여부를 판단하여, 이전에 현재 삽입된 메모리 카드가 삽입되었는지 여부를 판단할 수 있다.
만약, 상술한 판단과정(603)에서, 전자 장치가 백업 부트 레코드와 메모리 카드 내의 부트 레코드 영역에 저장된 부트 레코드가 동일하다고 판단한 경우, 전자 장치는 내장 스토리지 내의 FAT 영역과 삽입된 메모리 카드 내의 클러스터 힙 영역으로 구성된 가상 블록 디바이스를 생성할 수 있다(604). 보다 구체적으로, 가상 디바이스의 부트 레코드 영역 및 FAT 영역은 각각 내장 스토리지의 부트 레코드 영역 및 FAT 영역과 동기화가 이루어진 영역이고, 가상 디바이스의 클러스터 힙 영역은 내장 스토리지의 클러스터 힙 영역과 동기화가 이루어진 영역일 수 있다.
이후, 전자 장치는 생성된 가상 블록 디바이스를 이용하여 FAT 파일 시스템을 마운트 할 수 있다(605). 즉, 가상 블록 디바이스의 부트 레코드 영역 및 FAT 영역은 전자 장치에 구비된 내장 스토리지의 제어하에 동작할 수 있다. 이후, 생성된 가상 블록 디바이스 내의 FAT 영역에서 가상 블록 디바이스 내의 클러스터 힙 영역으로부터 데이터를 읽어오거나 클러스터 힙 영역에 데이터를 저장하는 FAT 파일 시스템이 운영될 수 있다.
만약, 상술한 판단과정(602, 603)에서, 전자 장치가 내장 스토리지 내의 부트 레코드 영역에 백업 부트 레코드가 저장되어 있다고 판단하지 않았거나, 백업 부트 레코드와 메모리 카드 내의 부트 레코드 영역에 저장된 부트 레코드가 동일하지 않다고 판단한 경우, 전자 장치는 fast mode를 선택받았는지 여부를 판단할 수 있다(606). 여기서, fast mode란 생성된 가상 블록 디바이스를 이용하여 FAT 파일 시스템을 실행하도록 하는 모드로 정의될 수 있다. 즉, fast mode는 본 발명의 기능이 활성화되어 메모리 카드의 입출력 성능을 향상시키도록 하는 모드로 정의될 수 있다.
만약, 상술한 판단과정(606)에서, 전자 장치가 fast mode를 선택받지 않았다고 판단하면, 전자 장치는 내장 스토리지 내의 부트 레코드 영역에 다른 메모리 카드의 백업 부트 레코드가 저장된 경우, 삽입된 메모리 카드의 부트 레코드를 복사하겠다는 내용 및 현재 삽입된 메모리 카드 내의 FAT 테이블을 복사하겠다는 내용의 메시지를 디스플레이할 수 있다(607). 보다 구체적으로, 전자 장치는 내장 스토리지 내의 부트 레코드 영역에 저장된 다른 메모리 카드의 백업 부트 레코드를 삭제하고, 현재 삽입된 메모리 카드의 부트 레코드를 복사하겠다는 내용 및 현재 삽입된 메모리 카드 내의 FAT 테이블을 내장 스토리지 내의 FAT 영역에 복사하겠다는 내용이 포함된 알림 메시지를 디스플레이할 수 있다.
이후, 전자 장치는 메모리 카드 내의 부트 레코드 영역에 저장된 부트 레코드와 FAT 영역에 저장된 FAT 테이블을 각각 내장 스토리지로 복사할 수 있다(608). 보다 구체적으로, 전자 장치는 메모리 카드 내의 부트 레코드 영역에 저장된 부트 레코드와 FAT 영역에 저장된 FAT 테이블을 각각 내장 스토리지의 부트 레코드 영역과 FAT 영역에 복수할 수 있다.
이후, 전자 장치는 상술한 과정(604)을 반복할 수 있다.
만약, 상술한 판단과정(606)에서, 전자 장치가 fast mode를 선택받지 못한 경우, 전자 장치는 생성된 가상 블록 디바이스를 이용하여 FAT 파일 시스템을 마운트 하는 과정(605)을 반복할 수 있다.
도 7은 본 발명의 일 실시예에 따른 전자 장치에서 FAT 파일 시스템을 언 마운트 하는 동작 순서를 도시한 순서도이다. 먼저, 도 7에 도시된 바와 같이, 전자 장치는 삽입된 메모리 카드를 안전 제거하도록 하는 명령어를 입력받을 수 있다(701). 보다 구체적으로, 전자 장치는 삽입된 메모리 카드가 언 마운트 됨을 확인하기 전, 메모리 카드가 임의 분리되지 않고 안전 제거하도록 하는 명령어를 입력받을 수 있다.
이후, 전자 장치는 가상 블록 디바이스를 이용한 FAT 파일 시스템이 언 마운트 됨을 확인할 수 있다(702). 보다 구체적으로, 제1 전자 장치는 가상 블록 디바이스의 부트 레코드 영역에 갱신되어 저장된 백업 부트 레코드 및 FAT 영역에 갱신되어 저장된 FAT 테이블을 각각 내장 스토리지 내의 부트 레코드 영역 및 FAT 영역에 복사할 수 있다. 또한, 가상 블록 디바이스의 클러스터 힙 영역에 갱신되어 저장된 데이터 클러스터를 메모리 카드 내의 클러스터 힙 영역으로 복사할 수 있다.
이후, 전자 장치는 내장 스토리지 내의 부트 레코드 영역에 저장된 백업 부트 레코드와 FAT 영역에 저장된 FAT 테이블을 메모리 카드로 복사할 수 있다(703). 보다 구체적으로, 전자 장치는 메모리 카드를 안전 제거하도록 하는 명령어를 입력받은 경우, 내장 스토리지와 메모리 카드를 동기화함으로써, 메모리 카드가 전자 장치로부터 분리된 후, 다른 전자 장치에서 사용 가능하도록 지원하고 있다.
이후, 전자 장치는 메모리 카드가 설정된 슬롯에서 분리됨을 확인할 수 있다(704). 즉, 전자 장치는 정상적인 과정에 의하여 메모리 카드가 전자 장치로부터 분리됨을 확인할 수 있다.
도 8은 본 발명의 일 실시예에 따른 가상 블록 디바이스로 파일 시스템을 마운트하는 전자 장치의 방법의 흐름도이다. 먼저, 도 8에 도시된 바와 같이, 전자 장치는 내장 스토리지 내의 FAT 영역과 삽입된 메모리 카드 내의 클러스터 힙 영역으로 구성된 가상 블록 디바이스를 생성할 수 있다(801). 보다 구체적으로, 전자 장치는 내장 스토리지 내의 FAT 영역으로부터 가상 디바이스의 FAT 영역을 생성할 수 있고, 메모리 카드 내의 클러스터 힙 영역으로부터 가상 디바이스의 클러스터 힙 영역을 생성할 수 있다. 즉, 가상 디바이스의 부트 레코드 영역 및 FAT 영역은 각각 내장 스토리지의 부트 레코드 영역 및 FAT 영역과 동기화가 이루어진 영역이고, 가상 디바이스의 클러스터 힙 영역은 내장 스토리지의 클러스터 힙 영역과 동기화가 이루어진 영역일 수 있다.
이후, 전자 장치는 생성된 가상 블록 디바이스를 이용하여 FAT 파일 시스템을 마운트 할 수 있다(802). 보다 구체적으로, 전자 장치는 가상 블록 디바이스의 부트 레코드 영역에 갱신되어 저장된 백업 부트 레코드 및 FAT 영역에 갱신되어 저장된 FAT 테이블을 각각 내장 스토리지 내의 부트 레코드 영역 및 FAT 영역에 복사하고, 가상 블록 디바이스의 클러스터 힙 영역에 갱신되어 저장된 데이터 클러스터를 메모리 카드 내의 클러스터 힙 영역으로 복사할 수 있다.
도 9는 본 발명의 일 실시예에 따른 전자 장치의 구성을 도시한 블록도이다. 이러한 전자 장치(900)는, 휴대용 전자 장치(portable electronic device)일 수 있으며, 휴대용 단말기(portable terminal), 이동 전화(mobile phone), 이동 패드(mobile pad), 미디어 플레이어(media player), 태블릿 컴퓨터(tablet computer), 핸드헬드 컴퓨터(handheld computer) 또는 PDA(Personal Digital Assistant)와 같은 장치일 수 있다. 또한, 이러한 장치들 중 두 가지 이상의 기능을 결합한 장치를 포함하는 임의의 휴대용 전자 장치일 수도 있다.
이러한 전자 장치(900)는 메모리(910), 프로세서 모듈(processor module)(920), 제1 무선통신 서브시스템(930), 제2 무선통신 서브시스템(931), 외부 포트(960), 오디오 서브시스템(950), 스피커(951), 마이크로폰(952), 입출력(IO, Input Output) 시스템(970), 터치스크린(980) 및 기타 입력 또는 제어 장치(990)를 포함한다. 메모리(910)와 외부 포트(960)는 다수 개 사용될 수 있다.
프로세서 모듈(920)은, 메모리 인터페이스(921), 하나 이상의 프로세서 (922) 및 주변장치 인터페이스(peripheral interface)(923)를 포함할 수 있다. 경우에 따라서는, 프로세서 모듈(920) 전체를 프로세서로 칭하기도 한다. 본 발명에서 프로세서 모듈(920)은, 내장 스토리지 내의 FAT 영역과 삽입된 메모리 카드 내의 클러스터 힙 영역으로 구성된 가상 블록 디바이스를 생성하고, 생성된 가상 블록 디바이스를 이용하여 FAT 파일 시스템을 마운트 할 수 있다. 또한, 프로세서 모듈(920)은, 내장 스토리지 내의 부트 레코드 영역에 백업 부트 레코드가 저장되어 있는지 여부를 판단하고, 백업 부트 레코드가 저장되어 있다고 판단되면, 백업 부트 레코드와 삽입된 메모리 카드 내의 부트 레코드 영역에 저장된 부트 레코드의 동일성 여부를 판단하여, 내장 스토리지 내의 부트 레코드 영역에 저장된 백업 부트 레코드와 메모리 카드 내의 부트 레코드 영역에 저장된 부트 레코드가 동일함을 확인할 수 있다. 또한, 프로세서 모듈(920)은, 가상 블록 디바이스를 이용하여 FAT 파일 시스템을 실행하기 전, FAT 파일 시스템의 오류를 검사하고, FAT 파일 시스템의 오류가 검색된 경우 오류를 복구한 후, 가상 블록 디바이스를 이용하여 FAT 파일 시스템을 마운트 할 수 있다. 또한, 프로세서 모듈(920)은, 삽입된 메모리 카드 내의 부트 레코드 영역에 저장된 부트 레코드와 FAT 영역에 저장된 FAT 테이블을 삭제할 수 있다. 또한, 프로세서 모듈(920)은, 생성된 가상 블록 디바이스 내의 FAT 영역에서 가상 블록 디바이스 내의 클러스터 힙 영역으로부터 데이터를 읽어오거나 클러스터 힙 영역에 데이터를 저장할 수 있다. 또한, 프로세서 모듈(920)은, 내장 스토리지 내의 부트 레코드 영역에 저장된 백업 부트 레코드가 없음을 확인하거나 백업 부트 레코드와 메모리 카드 내의 부트 레코드 영역에 저장된 부트 레코드의 동일성이 인정되지 않음을 확인할 수 있다. 또한, 프로세서 모듈(920)은, 생성된 가상 블록 디바이스를 이용하여 FAT 파일 시스템을 실행하도록 하는 명령어를 입력받았는지 여부를 판단하여, 명령어를 입력받은 경우, 메모리 카드 내의 부트 레코드 영역에 저장된 부트 레코드와 FAT 영역에 저장된 FAT 테이블을 각각 내장 스토리지로 복사하고, 내장 스토리지 내의 부트 레코드 영역에 메모리 카드 내의 부트 레코드가 백업된 백업 부트 레코드가 저장됨을 확인하고, 내장 스토리지 내의 FAT 영역에 메모리 카드 내의 FAT 테이블이 저장됨을 확인할 수 있다. 또한, 프로세서 모듈(920)은, 내장 스토리지 내의 부트 레코드 영역에 다른 메모리 카드의 백업 부트 레코드가 저장되어 있음을 확인하고, 명령어를 입력받지 못한 경우, 메모리 카드를 이용하여 FAT 파일 시스템을 실행하기 전, FAT 파일 시스템의 오류를 검사하여, FAT 파일 시스템의 오류가 검색된 경우 오류를 복구한 후, 메모리 카드를 이용하여 FAT 파일 시스템을 마운트 할 수 있다. 또한, 프로세서 모듈(920)은, 가상 블록 디바이스를 이용한 FAT 파일 시스템이 언 마운트 됨을 확인하고, 내장 스토리지 내의 부트 레코드 영역에 저장된 백업 부트 레코드와 FAT 영역에 저장된 FAT 테이블을 각각 메모리 카드의 부트 레코드 영역과 클러스터 힙 영역으로 복사하며, 메모리 카드가 설정된 슬롯에서 분리됨을 확인할 수 있다. 또한, 프로세서 모듈(920)은, 가상 블록 디바이스의 부트 레코드 영역에 갱신되어 저장된 백업 부트 레코드 및 가상 블록 디바이스의 FAT 영역에 갱신되어 저장된 FAT 테이블을 각각 내장 스토리지 내의 부트 레코드 영역 및 FAT 영역에 복사하고, 가상 블록 디바이스의 클러스터 힙 영역에 갱신되어 저장된 데이터 클러스터를 메모리 카드 내의 클러스터 힙 영역으로 복사할 수 있다.
프로세서 모듈(920)은 여러 가지의 소프트웨어 프로그램을 실행하여 전자 장치(900)를 위한 여러 기능을 수행하며, 또한 음성 통신 및 데이터 통신을 위한 처리 및 제어를 수행한다. 또한, 이러한 통상적인 기능에 더하여, 프로세서(922)는 메모리(910)에 저장되어 있는 특정한 소프트웨어 모듈(명령어 세트)을 실행하여 그 모듈에 대응하는 특정한 여러 가지의 기능을 수행하는 역할도 한다. 즉, 프로세서(922)는 메모리(910)에 저장된 소프트웨어 모듈들과 연동하여 본 발명의 실시 예의 방법을 수행한다.
프로세서(922)는 하나 이상의 데이터 프로세서, 이미지 프로세서, 또는 코덱(CODEC)을 포함할 수 있다. 데이터 프로세서, 이미지 프로세서 또는 코덱은 별도로 구성할 수도 있다. 또한, 서로 다른 기능을 수행하는 여러 개의 프로세서로 구성될 수도 있다. 주변 장치 인터페이스(923)는 전자 장치(900)의 입출력 서브시스템(970) 및 여러 가지 주변 장치를 프로세서(922) 및 메모리(910)(메모리 인터페이스를 통하여)에 연결시킨다.
전자 장치(900)의 다양한 구성요소들은 하나 이상의 통신 버스(참조번호 미기재) 또는 스트림 선(참조번호 미기재)에 의해 결합될(coupled) 수 있다.
외부 포트(960)는, 휴대용 전자 장치(미도시)를 다른 전자 장치로 직접 연결되거나 네트워크(예컨대, 인터넷, 인트라넷, 무선 LAN 등)를 통하여 다른 전자 장치로 간접적으로 연결하는 데 사용된다. 외부 포트(960)는, 예를 들면, 이들에 한정되지는 않지만, USB(Universal serial Bus) 포트 또는 FIREWIRE 포트 등을 말한다.
움직임 센서(991) 및 제1 광 센서(992)는 주변장치 인터페이스(923)에 결합되어 여러 가지 기능을 가능하게 할 수 있다. 예를 들어, 움직임 센서(991) 및 광 센서(992)가 주변장치 인터페이스(923)에 결합되어 각각 전자 장치의 움직임 감지 및 외부로부터의 빛 감지를 가능하게 할 수 있다. 이외에도, 위치측정 시스템, 온도센서 또는 생체 센서 등과 같은 기타 센서들이 주변장치 인터페이스(923)에 연결되어 관련 기능들을 수행할 수 있다.
카메라 서브시스템(993)은 사진 및 비디오 클립 레코딩과 같은 카메라 기능을 수행할 수 있다.
광 센서(992)는 CCD(charged coupled device) 또는 CMOS(complementary metal-oxide semiconductor) 디바이스를 사용할 수 있다.
하나 이상의 무선 통신 서브시스템(930, 931)을 통해 통신 기능이 수행된다. 무선 통신 서브시스템(930, 931)은 무선 주파수(radio frequency) 수신기 및 송수신기 및/또는 광(예컨대, 적외선) 수신기 및 송수신기를 포함할 수 있다. 제1 통신 서브시스템(930)과 제2 통신 서브 시스템(931)은 전자 장치(900)가 통신하는 통신 네트워크에 따라 구분할 수 있다. 예를 들어, 통신 네트워크는, 이들에 한정하지는 않지만, GSM(Global System for Mobile Communication) 네트워크, EDGE(Enhanced Data GSM Environment) 네트워크, CDMA(Code Division Multiple Access) 네트워크, W-CDMA(W-Code Division Multiple Access) 네트워크, LTE(Long Term Evolution) 네트워크, OFDMA(Orthogonal Frequency Division Multiple Access) 네트워크, Wi-Fi(Wireless Fidelity) 네트워크, WiMax 네트워크 또는/및 Bluetooth네트워크 등을 통해 동작하도록 설계되는 통신 서브시스템을 포함할 수 있다. 제1 무선 통신 서브시스템(930)과 제2 무선 통신 서브시스템(931)은 합하여 하나의 무선 통신 서브시스템으로 구성할 수도 있다.
오디오 서브시스템(950)이 스피커(951) 및 마이크로폰(952)에 결합되어 음성 인식, 음성 복제, 디지털 레코딩(recording) 및 전화 기능과 같은 오디오 스트림의 입력과 출력을 담당할 수 있다. 즉, 오디오 서브시스템(950)은 스피커(speaker)(951) 및 마이크로폰(952)을 통해 사용자와 소통한다(communicate). 오디오 서브시스템(950)은 프로세서 모듈(920)의 주변장치 인터페이스(923)를 통하여 데이터 스트림을 수신하고, 수신한 데이터 스트림을 전기 스트림으로 변환한다. 변환된 전기 스트림(electric signal)는 스피커(951)로 전달된다. 스피커(951)는 전기 스트림을 사람이 들을 수 있는 음파(sound wave)로 변환하여 출력한다. 마이크로폰 (952)은, 사람이나 기타 다른 소리원(sound source)들로부터 전달된 음파를 전기 스트림으로 변환한다. 오디오 서브시스템(950)은 마이크로폰(952)으로부터 변환된 전기 스트림을 수신한다. 오디오 서브시스템(950)은 수신한 전기스트림을 오디오 데이터 스트림으로 변환하며, 변환된 오디오 데이터 스트림을 주변 인터페이스 (923)로 전송한다. 오디오 서브시스템(950)은 탈부착 가능한(attachable and detachable) 이어폰(ear phone), 헤드폰(head phone) 또는 헤드셋(head set)을 포함할 수 있다.
입출력(I/O, Input/Output) 서브시스템(970)은 터치 스크린 제어기(971) 및/또는 기타 입력 제어기(972)를 포함할 수 있다. 터치스크린 제어기(971)는 터치 스크린(980)에 결합될 수 있다. 터치 스크린(980) 및 터치 스크린 제어기(971)는, 이하에 한정되지는 않지만, 터치 스크린(980)과의 하나 이상의 접촉점을 결정하기 위한 용량성, 저항성, 적외선 및 표면 음향파 기술들뿐만 아니라 기타 근접 센서 배열 또는 기타 요소들을 포함하는 임의의 멀티 터치 감지 기술을 이용하여 접촉 및 움직임 또는 이들의 중단을 검출할 수 있다. 기타 입력 제어기(972)는 기타 입력/제어 장치들(990)에 결합될 수 있다. 기타 입력/제어 장치들(990)에 하나 이상의 버튼, 로커(rocker) 스위치, 섬 휠(thumb-wheel), 다이얼(dial), 스틱(stick), 및/또는 스타일러스와 같은 포인터 장치 등 일수 있다.
터치스크린(980)은 전자 장치(900)와 사용자 사이에 입력/출력 인터페이스를 제공한다. 즉, 터치스크린(980)은 사용자의 터치 입력을 전자 장치(900)에 전달한다. 또한 전자 장치(900)로부터의 출력을 사용자에게 보여주는 매개체이다. 즉, 터치스크린 (980)은 사용자에게 시각적인 출력을 보여준다. 이러한 시각적 출력(visual output)은 텍스트(text), 그래픽(graphic), 비디오(video)와 이들의 조합의 형태로 나타난다.
터치스크린(980)은 여러 가지 디스플레이가 사용될 수 있다. 예를 들면, 이에 한정하지는 않지만, LCD(liquid crystal display), LED(Light Emitting Diode), LPD(light emitting polymer display), OLED(Organic Light Emitting Diode), AMOLED(Active Matrix Organic Light Emitting Diode) 또는 FLED(Flexible LED)를 사용할 수 있다. 본 발명의 터치 스크린(980)은, 저장된 다른 메모리 카드의 백업 부트 레코드를 삭제하고, 현재 삽입된 메모리 카드의 부트 레코드를 복사하겠다는 내용 및 현재 삽입된 메모리 카드 내의 FAT 테이블을 복사하겠다는 내용이 포함된 알림 메시지를 디스플레이할 수 있다. 또한, 터치 스크린(980)은, 삽입된 메모리 카드를 안전 제거하도록 하는 명령어를 입력받을 수 있다.
메모리(910)는 메모리 인터페이스(921)에 결합될 수 있다. 메모리(910)는 하나 이상의 자기 디스크 저장 장치와 같은 고속 랜덤 액세스 메모리 및/또는 비휘발성 메모리, 하나 이상의 광 저장 장치 및/또는 플래시 메모리(예컨대, NAND, NOR)를 포함할 수 있다.
메모리(910)는 소프트웨어를 저장한다. 소프트웨어 구성요소는 운영 체제(operating system) 모듈(911), 통신 모듈(912), 그래픽 모듈(913), 사용자 인터페이스 모듈(914) 및 MPEG 모듈(915), 카메라 모듈(916), 하나 이상의 애플리케이션 모듈(917) 등을 포함한다. 또한, 소프트웨어 구성요소인 모듈은 명령어들의 집합으로 표현할 수 있으므로, 모듈을 명령어 세트(instruction set)라고 표현하기도 한다. 모듈은 또한 프로그램으로 표현하기도 한다. 운영 체제 소프트웨어(911)[예를 들어, WINDOWS, LINUX, 다윈(Darwin), RTXC, UNIX, OS X, 또는 VxWorks와 같은 내장 운영 체제]는 일반적인 시스템 작동(system operation)을 제어하는 여러 가지의 소프트웨어 구성요소를 포함한다. 이러한 일반적인 시스템 작동의 제어는, 예를 들면, 메모리 관리 및 제어, 저장 하드웨어(장치) 제어 및 관리, 전력 제어 및 관리 등을 의미한다. 이러한 운영 체제 소프트웨어는 여러 가지의 하드웨어(장치)와 소프트웨어 구성요소(모듈) 사이의 통신을 원활하게 하는 기능도 수행한다.
통신 모듈(912)은, 무선통신 서브시스템(930, 931)이나 외부 포트(960)를 통해 컴퓨터, 서버 및/또는 휴대용 단말기 등 다른 전자 장치와 통신을 가능하게 할 수 있다.
그래픽 모듈(913)은 터치스크린(980) 상에 그래픽을 제공하고 표시하기 위한 여러 가지 소프트웨어 구성요소를 포함한다. 그래픽(graphics)이란 용어는 텍스트(text), 웹 페이지(web page), 아이콘(icon), 디지털 이미지(digital image), 비디오(video), 애니메이션(animation) 등을 포함하는 의미로 사용된다.
사용자 인터페이스 모듈(914)은 사용자 인터페이스에 관련한 여러 가지 소프트웨어 구성요소를 포함한다. 사용자 인터페이스의 상태가 어떻게 변경되는지 또는 사용자 인터페이스 상태의 변경이 어떤 조건에서 이루어지는지 등에 대한 내용을 포함한다.
코덱(CODEC) 모듈(915)은 비디오 파일의 인코딩 및 디코딩 관련한 소프트웨어 구성요소를 포함할 수 있다. 코덱 모듈은 MPEG 모듈 및/또는 H204 모듈과 같은 비디오 스트림 모듈을 포함할 수 있다. 또한, 코덱 모듈은 AAA, AMR, WMA 등 여러 가지 오디오 파일용 코덱 모듈을 포함할 수 있다. 또한, 코덱 모듈(915)은 본 발명의 실시 방법에 대응하는 명령어 세트를 포함한다.
카메라 모듈(916)은 카메라 관련 프로세스 및 기능들을 가능하게 하는 카메라 관련 소프트웨어 구성요소를 포함한다.
애플리케이션 모듈(917)은 브라우저(browser), 이메일(email), 즉석 메시지(instant message), 워드 프로세싱(word processing), 키보드 에뮬레이션(keyboard emulation), 어드레스 북(address book), 접촉 리스트(touch list), 위짓(widget), 디지털 저작권 관리(DRM, Digital Right Management), 음성 인식(voice recognition), 음성 복제, 위치 결정 기능(position determining function), 위치기반 서비스(location based service) 등을 포함한다.
또한, 위에서 언급한, 그리고 이하에서 언급할, 본 발명에 따른 전자 장치(900)의 다양한 기능들은 하나 이상의 스트림 프로세싱(processing) 및/또는 애플리케이션 특정 집적 회로(ASIC, Application Specific Integrated circuit)를 포함하는 하드웨어 및/또는 소프트웨어 및/또는 이들의 결합으로 실행될 수 있다.
분명히, 청구항들의 범위내에 있으면서 이러한 실시예들을 변형할 수 있는 많은 다양한 방식들이 있다. 다시 말하면, 이하 청구항들의 범위를 벗어남 없이 본 발명을 실시할 수 있는 많은 다른 방식들이 있을 수 있을 것이다.
101: 부트 레코드 영역 102: FAT 영역
103: 클러스터 힙 영역 104: 부트 레코드 영역
105: FAT 영역 106: 부트 레코드 영역
107: FAT 영역 108: 클러스터 힙 영역
201: 부트 레코드 영역 202: FAT 영역
203: 클러스터 힙 영역 204: 부트 레코드 영역
205: FAT 영역 206: 부트 레코드 영역
207: FAT 영역 208: 클러스터 힙 영역
501: 제1 전자 장치 502: 설정된 슬롯
503: 메모리 카드 504: 제2 전자 장치
505: 설정된 슬롯 900: 전자장치
910: 메모리 911: 운영체제 모듈
912: 통신모듈 913: 그래픽 모듈
914: 사용자 인터페이스 모듈 915: CODEC 모듈
916: 카메라 모듈 917: 애플리케이션
920: 프로세서 모듈 921: 메모리 인터페이스
922: 프로세서 923: 주변 장치 인터페이스
930: 제1 무선 통신 서브시스템 931: 제2 무선 통신 서브시스템
950: 오디오 서브 시스템 951: 스피커
952: 마이크로폰 960: 외부 포트
970: 입출력 시스템 971: 터치 스크린 제어기
972: 기타 입력 제어기 980: 터치 스크린
990: 기타 입력/제어 장치들 991: 움직임 센서
992: 제1 광 센서 993: 카메라 서브 시스템

Claims (24)

  1. 전자 장치의 동작 방법에 있어서,
    내장 스토리지(storage) 내의 FAT(File Allocation Table) 영역과 삽입된 메모리 카드(memory card) 내의 클러스터 힙(cluster heap) 영역으로 구성된 가상 블록 디바이스(virtual block device)를 생성하는 과정; 및
    상기 생성된 가상 블록 디바이스를 이용하여 FAT 파일 시스템을 마운트(mount)하는 과정을 포함하는 방법.
  2. 제1항에 있어서,
    상기 내장 스토리지 내의 부트 레코드 영역(boot record area)에 백업 부트 레코드가 저장되어 있는지 여부를 판단하는 과정;
    상기 백업 부트 레코드가 저장되어 있다고 판단되면, 상기 백업 부트 레코드와 상기 삽입된 메모리 카드 내의 부트 레코드 영역에 저장된 부트 레코드의 동일성 여부를 판단하는 과정; 및
    상기 내장 스토리지 내의 부트 레코드 영역에 저장된 백업 부트 레코드와 상기 메모리 카드 내의 부트 레코드 영역에 저장된 부트 레코드가 동일함을 확인하는 과정을 더 포함하는 것을 특징으로 하는 방법.
  3. 제1항에 있어서,
    상기 생성된 가상 블록 디바이스를 이용하여 FAT 파일 시스템을 마운트하는 과정은,
    상기 가상 블록 디바이스를 이용하여 상기 FAT 파일 시스템을 실행하기 전, 상기 FAT 파일 시스템의 오류를 검사하는 과정; 및
    상기 FAT 파일 시스템의 오류가 검색된 경우 오류를 복구한 후, 상기 가상 블록 디바이스를 이용하여 상기 FAT 파일 시스템을 마운트하는 과정을 포함하는 것을 특징으로 하는 방법.
  4. 제1항에 있어서,
    상기 삽입된 메모리 카드 내의 부트 레코드 영역에 저장된 부트 레코드와 FAT 영역에 저장된 FAT 테이블을 삭제하는 과정을 더 포함하는 것을 특징으로 하는 방법.
  5. 제1항에 있어서,
    상기 생성된 가상 블록 디바이스 내의 FAT 영역에서 상기 가상 블록 디바이스 내의 클러스터 힙 영역으로부터 데이터를 읽어오거나 상기 클러스터 힙 영역에 데이터를 저장하는 과정을 더 포함하는 것을 특징으로 하는 방법.
  6. 제1항에 있어서,
    상기 가상 블록 디바이스는,
    상기 내장 스토리지 내의 부트 레코드 영역에 저장된 백업 부트 레코드를 더 포함하여 구성된 것을 특징으로 하는 방법.
  7. 제1항에 있어서,
    상기 내장 스토리지 내의 부트 레코드 영역에 저장된 백업 부트 레코드가 없음을 확인하거나 상기 백업 부트 레코드와 상기 메모리 카드 내의 부트 레코드 영역에 저장된 부트 레코드의 동일성이 인정되지 않음을 확인하는 과정을 더 포함하는 것을 특징으로 하는 방법.
  8. 제7항에 있어서,
    생성된 가상 블록 디바이스를 이용하여 FAT 파일 시스템을 실행하도록 하는 명령어를 입력받았는지 여부를 판단하는 과정;
    상기 명령어를 입력받은 경우, 상기 메모리 카드 내의 부트 레코드 영역에 저장된 부트 레코드와 FAT 영역에 저장된 FAT 테이블을 각각 상기 내장 스토리지로 복사하는 과정; 및
    상기 내장 스토리지 내의 부트 레코드 영역에 상기 메모리 카드 내의 부트 레코드가 백업된 백업 부트 레코드가 저장됨을 확인하고, 상기 내장 스토리지 내의 FAT 영역에 상기 메모리 카드 내의 FAT 테이블이 저장됨을 확인하는 과정을 더 포함하는 것을 특징으로 하는 방법.
  9. 제8항에 있어서,
    상기 내장 스토리지 내의 부트 레코드 영역에 다른 메모리 카드의 백업 부트 레코드가 저장되어 있음을 확인하는 과정; 및
    상기 저장된 다른 메모리 카드의 백업 부트 레코드를 삭제하고, 현재 삽입된 메모리 카드의 부트 레코드를 복사하겠다는 내용 및 상기 현재 삽입된 메모리 카드 내의 FAT 테이블을 복사하겠다는 내용이 포함된 알림 메시지를 디스플레이하는 과정을 더 포함하는 것을 특징으로 하는 방법.
  10. 제8항에 있어서,
    상기 명령어를 입력받지 못한 경우, 상기 메모리 카드를 이용하여 상기 FAT 파일 시스템을 실행하기 전, 상기 FAT 파일 시스템의 오류를 검사하는 과정; 및
    상기 FAT 파일 시스템의 오류가 검색된 경우 오류를 복구한 후, 상기 메모리 카드를 이용하여 상기 FAT 파일 시스템을 마운트하는 과정을 더 포함하는 것을 특징으로 하는 방법.
  11. 제1항에 있어서,
    상기 삽입된 메모리 카드를 안전 제거하도록 하는 명령어를 입력받는 과정;
    상기 가상 블록 디바이스를 이용한 FAT 파일 시스템이 언 마운트(unmount)됨을 확인하는 과정;
    상기 내장 스토리지 내의 부트 레코드 영역에 저장된 백업 부트 레코드와 FAT 영역에 저장된 FAT 테이블을 각각 상기 메모리 카드의 부트 레코드 영역과 클러스터 힙 영역으로 복사하는 과정; 및
    상기 메모리 카드가 설정된 슬롯(slot)에서 분리됨을 확인하는 과정을 더 포함하는 것을 특징으로 하는 방법.
  12. 제11항에 있어서,
    상기 가상 블록 디바이스를 이용한 FAT 파일 시스템이 언 마운트됨을 확인하는 과정은,
    상기 가상 블록 디바이스의 부트 레코드 영역에 갱신되어 저장된 백업 부트 레코드 및 상기 가상 블록 디바이스의 FAT 영역에 갱신되어 저장된 FAT 테이블을 각각 상기 내장 스토리지 내의 부트 레코드 영역 및 FAT 영역에 복사하는 과정; 및
    상기 가상 블록 디바이스의 클러스터 힙 영역에 갱신되어 저장된 데이터 클러스터를 상기 메모리 카드 내의 클러스터 힙 영역으로 복사하는 과정을 포함하는 것을 특징으로 하는 방법.
  13. 전자 장치에 있어서,
    내장 스토리지 내의 FAT 영역과 삽입된 메모리 카드 내의 클러스터 힙 영역으로 구성된 가상 블록 디바이스를 생성하고, 상기 생성된 가상 블록 디바이스를 이용하여 FAT 파일 시스템을 마운트하는 프로세서 모듈; 및
    상기 프로세서 모듈에서 제어된 데이터를 저장하는 메모리를 포함하는 장치.
  14. 제13항에 있어서,
    상기 프로세서 모듈은, 상기 내장 스토리지 내의 부트 레코드 영역에 백업 부트 레코드가 저장되어 있는지 여부를 판단하고, 상기 백업 부트 레코드가 저장되어 있다고 판단되면, 상기 백업 부트 레코드와 상기 삽입된 메모리 카드 내의 부트 레코드 영역에 저장된 부트 레코드의 동일성 여부를 판단하여, 상기 내장 스토리지 내의 부트 레코드 영역에 저장된 백업 부트 레코드와 상기 메모리 카드 내의 부트 레코드 영역에 저장된 부트 레코드가 동일함을 확인하는 것을 특징으로 하는 장치.
  15. 제13항에 있어서,
    상기 프로세서 모듈은, 상기 가상 블록 디바이스를 이용하여 상기 FAT 파일 시스템을 실행하기 전, 상기 FAT 파일 시스템의 오류를 검사하고, 상기 FAT 파일 시스템의 오류가 검색된 경우 오류를 복구한 후, 상기 가상 블록 디바이스를 이용하여 상기 FAT 파일 시스템을 마운트하는 것을 특징으로 하는 장치.
  16. 제13항에 있어서,
    상기 프로세서 모듈은, 상기 삽입된 메모리 카드 내의 부트 레코드 영역에 저장된 부트 레코드와 FAT 영역에 저장된 FAT 테이블을 삭제하는 것을 특징으로 하는 장치.
  17. 제13항에 있어서,
    상기 프로세서 모듈은, 상기 생성된 가상 블록 디바이스 내의 FAT 영역에서 상기 가상 블록 디바이스 내의 클러스터 힙 영역으로부터 데이터를 읽어오거나 상기 클러스터 힙 영역에 데이터를 저장하는 것을 특징으로 하는 장치.
  18. 제13항에 있어서,
    상기 가상 블록 디바이스는,
    상기 내장 스토리지 내의 부트 레코드 영역에 저장된 백업 부트 레코드를 더 포함하여 구성된 것을 특징으로 하는 장치.
  19. 제13항에 있어서,
    상기 프로세서 모듈은, 상기 내장 스토리지 내의 부트 레코드 영역에 저장된 백업 부트 레코드가 없음을 확인하거나 상기 백업 부트 레코드와 상기 메모리 카드 내의 부트 레코드 영역에 저장된 부트 레코드의 동일성이 인정되지 않음을 확인하는 것을 특징으로 하는 장치.
  20. 제19항에 있어서,
    상기 프로세서 모듈은, 생성된 가상 블록 디바이스를 이용하여 FAT 파일 시스템을 실행하도록 하는 명령어를 입력받았는지 여부를 판단하여, 상기 명령어를 입력받은 경우, 상기 메모리 카드 내의 부트 레코드 영역에 저장된 부트 레코드와 FAT 영역에 저장된 FAT 테이블을 각각 상기 내장 스토리지로 복사하고, 상기 내장 스토리지 내의 부트 레코드 영역에 상기 메모리 카드 내의 부트 레코드가 백업된 백업 부트 레코드가 저장됨을 확인하고, 상기 내장 스토리지 내의 FAT 영역에 상기 메모리 카드 내의 FAT 테이블이 저장됨을 확인하는 것을 특징으로 하는 장치.
  21. 제20항에 있어서,
    상기 프로세서 모듈은, 상기 내장 스토리지 내의 부트 레코드 영역에 다른 메모리 카드의 백업 부트 레코드가 저장되어 있음을 확인하고,
    상기 저장된 다른 메모리 카드의 백업 부트 레코드를 삭제하고, 현재 삽입된 메모리 카드의 부트 레코드를 복사하겠다는 내용 및 상기 현재 삽입된 메모리 카드 내의 FAT 테이블을 복사하겠다는 내용이 포함된 알림 메시지를 디스플레이하는 터치 스크린을 더 포함하는 것을 특징으로 하는 장치.
  22. 제20항에 있어서,
    상기 프로세서 모듈은, 상기 명령어를 입력받지 못한 경우, 상기 메모리 카드를 이용하여 상기 FAT 파일 시스템을 실행하기 전, 상기 FAT 파일 시스템의 오류를 검사하여, 상기 FAT 파일 시스템의 오류가 검색된 경우 오류를 복구한 후, 상기 메모리 카드를 이용하여 상기 FAT 파일 시스템을 마운트하는 것을 특징으로 하는 장치.
  23. 제13항에 있어서,
    상기 삽입된 메모리 카드를 안전 제거하도록 하는 명령어를 입력받는 터치 스크린을 더 포함하고,
    상기 프로세서 모듈은, 상기 가상 블록 디바이스를 이용한 FAT 파일 시스템이 언 마운트됨을 확인하고, 상기 내장 스토리지 내의 부트 레코드 영역에 저장된 백업 부트 레코드와 FAT 영역에 저장된 FAT 테이블을 각각 상기 메모리 카드의 부트 레코드 영역과 클러스터 힙 영역으로 복사하며, 상기 메모리 카드가 설정된 슬롯에서 분리됨을 확인하는 것을 특징으로 하는 장치.
  24. 제23항에 있어서,
    상기 프로세서 모듈은, 상기 가상 블록 디바이스의 부트 레코드 영역에 갱신되어 저장된 백업 부트 레코드 및 상기 가상 블록 디바이스의 FAT 영역에 갱신되어 저장된 FAT 테이블을 각각 상기 내장 스토리지 내의 부트 레코드 영역 및 FAT 영역에 복사하고, 상기 가상 블록 디바이스의 클러스터 힙 영역에 갱신되어 저장된 데이터 클러스터를 상기 메모리 카드 내의 클러스터 힙 영역으로 복사하는 것을 특징으로 하는 방법.
KR1020130068613A 2013-06-14 2013-06-14 가상 블록 디바이스로 파일 시스템을 마운트하는 전자 장치 및 방법 KR20140145879A (ko)

Priority Applications (3)

Application Number Priority Date Filing Date Title
KR1020130068613A KR20140145879A (ko) 2013-06-14 2013-06-14 가상 블록 디바이스로 파일 시스템을 마운트하는 전자 장치 및 방법
US14/300,553 US9753933B2 (en) 2013-06-14 2014-06-10 Electronic device and method for mounting file system using virtual block device
EP14172184.5A EP2813947B1 (en) 2013-06-14 2014-06-12 Electronic device and method for mounting file system using virtual block device

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020130068613A KR20140145879A (ko) 2013-06-14 2013-06-14 가상 블록 디바이스로 파일 시스템을 마운트하는 전자 장치 및 방법

Publications (1)

Publication Number Publication Date
KR20140145879A true KR20140145879A (ko) 2014-12-24

Family

ID=51178652

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020130068613A KR20140145879A (ko) 2013-06-14 2013-06-14 가상 블록 디바이스로 파일 시스템을 마운트하는 전자 장치 및 방법

Country Status (3)

Country Link
US (1) US9753933B2 (ko)
EP (1) EP2813947B1 (ko)
KR (1) KR20140145879A (ko)

Families Citing this family (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10191811B2 (en) * 2015-08-13 2019-01-29 Quanta Computer Inc. Dual boot computer system
JP2017183827A (ja) * 2016-03-28 2017-10-05 京セラ株式会社 ヘッドマウントディスプレイ
CN116701244B (zh) * 2022-09-20 2024-05-24 荣耀终端有限公司 一种内存转储方法、装置和电子设备

Family Cites Families (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CA2120461C (en) 1993-04-01 2009-09-22 Aaron R. Reynolds Common name space for long and short filenames
JP2001051851A (ja) * 1999-08-17 2001-02-23 Nec Corp 携帯電子機器のプログラム変更システム及び方法
US7370165B2 (en) * 2000-12-29 2008-05-06 Valt.X Technologies Inc. Apparatus and method for protecting data recording on a storage medium
JP4238514B2 (ja) * 2002-04-15 2009-03-18 ソニー株式会社 データ記憶装置
US7363540B2 (en) * 2002-10-22 2008-04-22 Microsoft Corporation Transaction-safe FAT file system improvements
US8321439B2 (en) 2004-12-17 2012-11-27 Microsoft Corporation Quick filename lookup using name hash
US7457910B2 (en) * 2005-06-29 2008-11-25 Sandisk Corproation Method and system for managing partitions in a storage device
US8090692B2 (en) * 2008-09-10 2012-01-03 Infinite Memory Ltd Method for using an OTP storage device
US10158988B2 (en) * 2014-07-24 2018-12-18 Qualcomm Incorporated Multi-SIM based device auto configuration system and process

Also Published As

Publication number Publication date
EP2813947A2 (en) 2014-12-17
EP2813947B1 (en) 2020-09-09
EP2813947A3 (en) 2015-03-11
US20140372676A1 (en) 2014-12-18
US9753933B2 (en) 2017-09-05

Similar Documents

Publication Publication Date Title
US10599336B2 (en) Method of displaying content and electronic device adapted to the same
EP2712235A2 (en) Electronic device and method for changing network connection
KR20140045741A (ko) 가상 폴더를 생성하여 저장된 애플리케이션들을 관리할 수 있는 전자 장치 및 방법
US9420172B2 (en) Electronic device for editing dual image and method thereof
KR20130108745A (ko) 폴더를 생성하기 위한 방법 및 그 전자 장치
CN106951521B (zh) 日志文件的读写方法、装置及***
KR20140011771A (ko) 멀티 심 카드가 구비된 전자 장치 및 방법
KR102234400B1 (ko) 컨텐츠의 순서 또는 위치를 변경하는 전자 장치 및 방법
KR20130116462A (ko) 전자 장치 및 그 운용 방법
KR20140047887A (ko) 메모 기능 수행 시 모드 전환이 가능한 전자 장치 및 방법
US9280423B1 (en) Mounting block level backup images
US11232066B2 (en) Method for data migration and terminal
CN102819442A (zh) 一种嵌入式设备程序烧写的方法及***
KR20150066876A (ko) 사용자 인터페이스 제어 방법 및 그 전자 장치
JP6190978B2 (ja) ファームウェアリフレッシュ方法、装置、プログラム及び記録媒体
KR102137686B1 (ko) 컨텐츠 무결성 제어 방법 및 그 전자 장치
CN112347048A (zh) 电子装置及其共享数据的方法
CN106484779B (zh) 文件操作方法及装置
KR20140145879A (ko) 가상 블록 디바이스로 파일 시스템을 마운트하는 전자 장치 및 방법
US9894510B1 (en) Event-based data backup and recovery for mobile devices
US20130135266A1 (en) Information processing apparatus and display processing method
US20090228495A1 (en) File system cloning between a target device and a host device
CN112084157A (zh) 文件恢复方法、装置、计算机设备及存储介质
KR20190021773A (ko) 전자 장치 및 그의 데이터 운용 방법
KR20150001873A (ko) 메신저 애플리케이션을 이용하여 데이터를 전송하는 전자 장치 및 방법

Legal Events

Date Code Title Description
A201 Request for examination
E902 Notification of reason for refusal
E601 Decision to refuse application