KR102546474B1 - 모바일 장치의 동작 방법 및 모바일 장치 - Google Patents

모바일 장치의 동작 방법 및 모바일 장치 Download PDF

Info

Publication number
KR102546474B1
KR102546474B1 KR1020160049879A KR20160049879A KR102546474B1 KR 102546474 B1 KR102546474 B1 KR 102546474B1 KR 1020160049879 A KR1020160049879 A KR 1020160049879A KR 20160049879 A KR20160049879 A KR 20160049879A KR 102546474 B1 KR102546474 B1 KR 102546474B1
Authority
KR
South Korea
Prior art keywords
data
external storage
area
storage
mobile device
Prior art date
Application number
KR1020160049879A
Other languages
English (en)
Other versions
KR20170121451A (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 KR1020160049879A priority Critical patent/KR102546474B1/ko
Priority to US15/461,152 priority patent/US10416893B2/en
Publication of KR20170121451A publication Critical patent/KR20170121451A/ko
Application granted granted Critical
Publication of KR102546474B1 publication Critical patent/KR102546474B1/ko

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0602Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
    • G06F3/061Improving I/O performance
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0668Interfaces specially adapted for storage systems adopting a particular infrastructure
    • G06F3/0671In-line storage system
    • G06F3/0683Plurality of storage devices
    • G06F3/0689Disk arrays, e.g. RAID, JBOD
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0628Interfaces specially adapted for storage systems making use of a particular technique
    • G06F3/0629Configuration or reconfiguration of storage systems
    • G06F3/0631Configuration or reconfiguration of storage systems by allocating resources to storage systems
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0628Interfaces specially adapted for storage systems making use of a particular technique
    • G06F3/0655Vertical data movement, i.e. input-output transfer; data movement between one or more hosts and one or more storage devices
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0628Interfaces specially adapted for storage systems making use of a particular technique
    • G06F3/0662Virtualisation aspects
    • G06F3/0665Virtualisation aspects at area level, e.g. provisioning of virtual or logical volumes
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0668Interfaces specially adapted for storage systems adopting a particular infrastructure
    • G06F3/0671In-line storage system
    • G06F3/0673Single storage device
    • G06F3/0679Non-volatile semiconductor memory device, e.g. flash memory, one time programmable memory [OTP]
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0668Interfaces specially adapted for storage systems adopting a particular infrastructure
    • G06F3/0671In-line storage system
    • G06F3/0683Plurality of storage devices
    • G06F3/0685Hybrid storage combining heterogeneous device types, e.g. hierarchical storage, hybrid arrays
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0668Interfaces specially adapted for storage systems adopting a particular infrastructure
    • G06F3/0671In-line storage system
    • G06F3/0683Plurality of storage devices
    • G06F3/0688Non-volatile semiconductor memory arrays
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04MTELEPHONIC COMMUNICATION
    • H04M1/00Substation equipment, e.g. for use by subscribers
    • H04M1/72Mobile telephones; Cordless telephones, i.e. devices for establishing wireless links to base stations without route selection
    • H04M1/724User interfaces specially adapted for cordless or mobile telephones
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2212/00Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
    • G06F2212/26Using a specific storage system architecture
    • G06F2212/261Storage comprising a plurality of storage devices
    • G06F2212/262Storage comprising a plurality of storage devices configured as RAID

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Human Computer Interaction (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Memory System (AREA)

Abstract

제1 용량을 가지는 내장 스토리지를 포함하는 모바일 장치의 동작 방법으로서, 상기 모바일 장치에 외장 스토리지가 연결됨을 인식하고, 상기 모바일 장치의 어플리케이션 프로세서에서 상기 외장 스토리지의 성능을 측정하고, 상기 외장 스토리지의 측정된 성능이 기준 값 이상인 경우, 상기 내장 스토리지와 상기 외장 스토리지를 하나의 병렬 처리 스토리지로 구성하고, 상기 어플리케이션 프로세서의 메모리 제어 모듈에서, 상기 내장 스토리지의 제1 성능과 상기 외장 스토리지의 제2 성능에 기초하여 상기 내장 스토리지와 상기 외장 스토리지에 워크로드를 분배한다.

Description

모바일 장치의 동작 방법 및 모바일 장치{Method of operating a mobile device and a mobile device}
본 발명은 사용자 장치에 관한 것으로, 보다 상세하게는 모바일 장치의 동작 방법 및 모바일 장치에 관한 것이다.
일반적으로 모바일 장치에는 외장 메모리가 연결될 수 있는데 현재에는 사용자가 외장 메모리를 사용하여도 모바일 장치의 저장 용량만이 증가할 뿐이다.
이에 따라, 본 발명의 일 목적은 외장 스토리지를 사용하는 모바일 장치에서 저장 용량을 증가시킬 뿐 아니라 보다 향상된 성능을 제공할 수 있는 모바일 장치의 동작 방법을 제공하는 것이다.
본 발명의 일 목적은 외장 스토리지를 사용하여, 저장 용량을 증가시킬 뿐 아니라 보다 향상된 성능을 제공할 수 있는 모바일 장치를 제공하는 것이다.
상기 일 목적을 달성하기 위한 본 발명의 실시예에 따른 제1 용량을 가지는 내장 스토리지를 포함하는 모바일 장치의 동작 방법으로서, 상기 모바일 장치에 외장 스토리지가 연결됨을 인식하고, 상기 모바일 장치의 어플리케이션 프로세서에서 상기 외장 스토리지의 성능을 측정하고, 상기 외장 스토리지의 측정된 성능이 기준 값 이상인 경우, 상기 내장 스토리지와 상기 외장 스토리지를 하나의 병렬 처리 스토리지로 구성하고, 상기 어플리케이션 프로세서의 메모리 제어 모듈에서, 상기 내장 스토리지의 제1 성능과 상기 외장 스토리지의 제2 성능에 기초하여 상기 내장 스토리지와 상기 외장 스토리지에 워크로드를 분배한다.
예시적인 실시예에 있어서, 상기 외장 스토리지의 성능을 측정하기 위하여, 적어도 상기 외장 스트리지의 시퀀셜 기입 성능을 측정하고, 상기 외장 스토리지의 시퀀셜 독출 성능을 측정할 수 있다.
예시적인 실시예에 있어서, 상기 내장 스토리지와 상기 외장 스토리지를 하나의 병렬 처리 스토리지로 구성하기 위하여, 상기 메모리 제어 모듈에서, 상기 내장 스토리지에서 상기 모바일 장치의 기본적인 동작에 필요한 데이터와 응용 프로그램이 저장되는 디폴트 영역을 제외한 사용자 데이터를 저장할 수 있는 제1 자유 영역의 용량을 체크하고, 상기 외장 스토리지의 유용성을 체크하고, 상기 제1 자유 영역과 상기 외장 스토리지의 제2 자유 영역으로 제1 레이드를 구성하고, 상기 외장 스토리지의 제2 용량에서, 상기 제2 자유 영역을 제외한 나머지 영역의 사용 정책을 결정할 수 있다. 상기 제2 용량은 상기 제1 용량보다 크거나 같을 수 있고, 상기 제1 자유 영역의 제3 용량은 상기 제2 자유 영역의 제4 용량과 실질적으로 동일할 수 있다.
상기 나머지 영역의 사용 정책을 결정하기 위하여, 상기 나머지 영역을 상기 제1 레이드와는 다른 제2 레이드로 구성할 수 있다. 상기 제1 레이드는 스트라이프 형태로 구성되고 상기 제2 레이드는 스팬 형태로 구성될 수 있다.
상기 나머지 영역의 사용 정책을 결정하기 위하여, 상기 나머지 영역을 상기 내장 스토리지에서 LSB 프로그램만이 수행되는 향상 영역을 대신하는 영역으로 사용하는 것을 결정할 수 있다. 상기 응용 프로그램들 중 적어도 하나에 의한 싱글 레벨 셀(SLC) 모드의 기입 데이터가 상기 나머지 영역에 저장될 수 있다.
상기 나머지 영역의 사용 정책을 결정하기 위하여, 상기 나머지 영역을 상기 응용 프로그램들 중 적어도 하나에 의한 랜덤 데이터를 저장하는 버퍼 영역으로서 사용하는 것을 결정하고, 상기 응용 프로그램들 중 적어도 하나에 의한 데이터가 작은 크기의 랜덤 데이터인 경우, 상기 데이터를 상기 나머지 영역에 저장할 수 있다.
상기 나머지 영역의 사용 정책을 결정하기 위하여, 상기 나머지 영역을 상기 응용 프로그램들 중 적어도 하나에 의한 작은 크기의 데이터를 저장하는 데이터 영역으로서 사용하는 것을 결정하고, 상기 응용 프로그램들 중 적어도 하나에 의한 데이터의 크기가 기준보다 작은 경우에, 상기 기입 데이터를 상기 나머지 영역에 저장할 수 있다.
상기 나머지 영역의 사용 정책을 결정하기 위하여, 상기 나머지 영역을 패리티 영역으로서 사용하는 것을 결정하고, 상기 응용 프로그램들 중 적어도 하나에 의한 데이터에 기초하여 패리티 데이터를 생성하고, 상기 패리티 데이터를 상기 나머지 영역에 저장할 수 있다.
상기 나머지 영역의 사용 정책을 결정하기 위하여, 상기 나머지 영역을 상기 제1 레이드의 배드 블록을 구제하는 유보 영역으로서 사용하는 것을 결정하고, 상기 응용 프로그램들 중 적어도 하나에 의한 데이터를 상기 제1 레이드에 기입하는 중에 기입 실패가 발생하면, 상기 기입 실패가 발생한 배드 블록을 상기 나머지 영역의 프리 블록으로 대체할 수 있다.
상기 나머지 영역의 사용 정책을 결정하기 위하여, 상기 나머지 영역을 상기 제1 레이드의 프리 블록을 증가시키는 유보 영역으로서 사용하는 것을 결정하고, 상기 응용 프로그램들 중 적어도 하나에 의한 데이터를 상기 제1 레이드에 기입하는 중에 상기 제1 레이드 영역에 프리 블록이 없는 경우, 상기 나머지 영역의 프리 블록을 선택하여 상기 데이터를 기입할 수 있다.
상기 모바일 장치는 상기 응용 프로그램들 중 적어도 하나에 의한 구동 데이터를 임시로 저장하는 휘발성 메모리 장치를 포함할 수 있다. 상기 나머지 영역의 사용 정책을 결정하기 위하여, 상기 나머지 영역을 상기 휘발성 메모리 장치에 저장된 상기 구동 데이터가 스왑되는 데이터 스왑 메모리로서 사용하는 것을 결정할 수 있다.
상기 나머지 영역의 사용 정책을 결정하기 위하여, 상기 나머지 영역을 상기 디폴트 영역에 저장된 데이터를 암호화하여 저장하는 백-업 영역으로서 사용하는 것을 결정할 수 있다.
상기 나머지 영역의 사용 정책을 결정하기 위하여, 상기 응용 프로그램들 중 적어도 하나에 의한 데이터 중 액세스 빈도가 기준 빈도보다 낮은 콜드 데이터를 저장하는 콜드 데이터 영역으로서 사용하는 것을 결정하고, 상기 응용 프로그램들 중 적어도 하나에 의한 상기 데이터의 속성을 판단하고, 상기 데이터가 콜드 데이터인 경우 상기 데이터를 상기 나머지 영역에 저장할 수 있다.
상기 일 목적을 달성하기 위한 본 발명의 실시예에 따른 모바일 장치는 내장 스토리지, 어플리케이션 프로세서, 휘발성 메모리 장치 및 외부 스토리지 인터페이스를 포함한다. 상기 내장 스토리지는 응용 프로그램들과 사용자 데이터를 저장하도록 구성되며 제1 용량을 가진다. 상기 어플리케이션 프로세서는 상기 응용 프로그램들을 구동하도록 구성되며 데이터 제어 모듈을 포함한다. 상기 휘발성 메모리 장치는 상기 응용 프로그램들 중 적어도 하나에 의하여 실행된 구동 데이터를 저장하도록 구성된다. 상기 외부 스토리지 인터페이스는 외장 스토리지와 상기 모바일 장치의 연결을 제공한다. 상기 외장 스토리지가 상기 모바일 장치에 연결되는 경우, 상기 메모리 제어 모듈은 상기 외장 스토리지의 성능을 측정하고, 상기 외장 스토리지의 측정된 성능이 기준 값 이상인 경우, 상기 내장 스토리지와 상기 외장 스토리지를 하나의 병렬 처리 스토리지로 구성하고, 상기 내장 스토리지의 제1 성능과 상기 외장 스토리지의 제2 성능에 기초하여 상기 내장 스토리지와 상기 외장 스토리지에 워크로드를 분배한다.
예시적인 실시예에 있어서, 상기 메모리 제어 모듈은 상기 내장 스토리지에서 상기 모바일 장치의 기본적인 동작에 필요한 데이터와 응용 프로그램이 저장되는 디폴트 영역을 제외한 응용 프로그램들과 사용자 데이터를 저장할 수 있는 제1 자유 영역의 용량을 체크하고, 상기 외장 스토리지의 유용성을 체크하고, 상기 제1 자유 영역과 상기 외장 스토리지의 제2 자유 영역으로 제1 레이드를 구성하고, 상기 외장 스토리지의 제2 용량에서, 상기 제2 자유 영역을 제외한 나머지 영역의 사용 정책을 결정할 수 있다. 상기 제2 용량은 상기 제1 용량보다 크거나 같고, 상기 제1 자유 영역의 제3 용량은 상기 제2 자유 영역의 제4 용량과 실질적으로 동일할 수 있다.
본 발명의 예시적인 실시예들에 따르면, 모바일 장치에 연결되는 외장 스토리지의 성능이 기준값 이상인 경우에, 내장 스토리지의 일부와 외장 스토리지의 일부로 레이드를 구성하여 데이터 처리 속도를 증가시키고, 외장 스토리지의 나머지 일부를 여러 가지 정책에 따라 사용하여 외장 스토리지의 사용성(usability)을 증가시킬 수 있다.
도 1은 본 발명의 실시예들에 따른 모바일 장치(또는 전자 장치)의 구성을 나타내는 블록도이다.
도 2a는 본 발명의 실시예들에 따른 도 1의 모바일 장치에서 어플리케이션 프로세서의 구성을 나타내는 블록도이다.
도 2b는 본 발명의 실시예들에 따른 도 2의 어플리케이션 프로세서에서 스토리지 컨트롤러의 구성을 나타내는 블록도이다.
도 3은 도 1의 모바일 장치에서 내장 스토리지 또는 외장 스토리지에 포함될 수 있는 메모리 셀 어레이의 하나의 블록이 삼차원적으로 구성되는 실시예를 나타내는 사시도이다.
도 4는 도 3의 메모리 블록의 등가 회로도이다.
도 5는 본 발명의 실시예들에 따른 모바일 장치의 동작 방법을 나타내는 흐름도이다.
도 6은 본 발명의 실시예들에 따른 도 5의 동작 방법에서 외장 스토리지의 성능을 측정하는 단계를 나타내는 흐름도이다.
도 7은 본 발명의 실시예들에 따른 도 1의 모바일 장치에서 내장 스토리지와 외장 스토리지의 구성을 나타낸다.
도 8은 본 발명의 실시예들에 따른 도 5의 동작 방법에서 내장 스토리지와 외장 스토리지를 하나의 병렬 처리 스토리지로 구성하는 단계를 나타내는 흐름도이다.
도 9는 도 8의 병렬 처리 스토리지로 구성하는 단계에서 나머지 영역에 대한 사용 정책을 결정하는 일 실시예를 나타내는 흐름도이다.
도 10은 도 9의 실시예에 따를 때, 도 7의 내장 스토리지와 외장 스토리지를 나타낸다.
도 11은 도 8의 병렬 처리 스토리지로 구성하는 단계에서 나머지 영역에 대한 사용 정책을 결정하는 일 실시예를 나타내는 흐름도이다.
도 12는 도 11의 실시예에 따를 때, 도 7의 내장 스토리지와 외장 스토리지를 나타낸다.
도 13은 도 8의 병렬 처리 스토리지로 구성하는 단계에서 나머지 영역에 대한 사용 정책을 결정하는 일 실시예를 나타내는 흐름도이다.
도 14는 도 8의 병렬 처리 스토리지로 구성하는 단계에서 나머지 영역에 대한 사용 정책을 결정하는 일 실시예를 나타내는 흐름도이다.
도 15는 도 8의 병렬 처리 스토리지로 구성하는 단계에서 나머지 영역에 대한 사용 정책을 결정하는 일 실시예를 나타내는 흐름도이다.
도 16은 도 8의 병렬 처리 스토리지로 구성하는 단계에서 나머지 영역에 대한 사용 정책을 결정하는 일 실시예를 나타내는 흐름도이다.
도 17은 도 8의 병렬 처리 스토리지로 구성하는 단계에서 나머지 영역에 대한 사용 정책을 결정하는 일 실시예를 나타내는 흐름도이다.
도 18은 도 8의 병렬 처리 스토리지로 구성하는 단계에서 나머지 영역에 대한 사용 정책을 결정하는 일 실시예를 나타내는 흐름도이다.
도 19는 도 18의 실시예에 따를 때, 도 7의 내장 스토리지와 외장 스토리지를 나타낸다.
도 20은 도 8의 병렬 처리 스토리지로 구성하는 단계에서 나머지 영역에 대한 사용 정책을 결정하는 일 실시예를 나타내는 흐름도이다.
도 21은 도 20의 실시예에 따를 때, 도 7의 내장 스토리지와 외장 스토리지를 나타낸다.
도 22는 도 8의 병렬 처리 스토리지로 구성하는 단계에서 나머지 영역에 대한 사용 정책을 결정하는 일 실시예를 나타내는 흐름도이다.
도 23a는 본 발명의 실시예들에 따른 모바일 장치를 나타내는 사시도이다.
도 23b는 도 23a의 모바일 장치를 나타내는 배면 사시도이다.
도 23c는 도 23b의 모바일 장치의 커버가 분리된 모습을 나타내는 배면 사시도이다.
도 24는 본 발명의 실시예들에 따른 전자 장치(또는 모바일 장치)를 나타내는 블록도이다.
본문에 개시되어 있는 본 발명의 실시예들에 대해서, 특정한 구조적 내지 기능적 설명들은 단지 본 발명의 실시예를 설명하기 위한 목적으로 예시된 것으로, 본 발명의 실시예들은 다양한 형태로 실시될 수 있으며 본문에 설명된 실시예들에 한정되는 것으로 해석되어서는 아니 된다.
본 발명은 다양한 변경을 가할 수 있고 여러 가지 형태를 가질 수 있는 바, 특정 실시예들을 도면에 예시하고 본문에 상세하게 설명하고자 한다. 그러나, 이는 본 발명을 특정한 개시 형태에 대해 한정하려는 것이 아니며, 본 발명의 사상 및 기술 범위에 포함되는 모든 변경, 균등물 내지 대체물을 포함하는 것으로 이해되어야 한다. 각 도면을 설명하면서 유사한 참조부호를 구성요소에 대해 사용하였다.
제1, 제2 등의 용어는 다양한 구성요소들을 설명하는데 사용될 수 있지만, 상기 구성요소들은 상기 용어들에 의해 한정되어서는 안된다. 상기 용어들은 하나의 구성요소를 다른 구성요소로부터 구별하는 목적으로만 사용된다. 예를 들어, 본 발명의 권리 범위로부터 이탈되지 않은 채 제1 구성요소는 제2 구성요소로 명명될 수 있고, 유사하게 제2 구성요소도 제1 구성요소로 명명될 수 있다.
어떤 구성요소가 다른 구성요소에 "연결되어" 있다거나 "접속되어" 있다고 언급된 때에는, 그 다른 구성요소에 직접적으로 연결되어 있거나 또는 접속되어 있을 수도 있지만, 중간에 다른 구성요소가 존재할 수도 있다고 이해되어야 할 것이다. 반면에, 어떤 구성요소가 다른 구성요소에 "직접 연결되어" 있다거나 "직접 접속되어" 있다고 언급된 때에는, 중간에 다른 구성요소가 존재하지 않는 것으로 이해되어야 할 것이다.
본 출원에서 사용한 용어는 단지 특정한 실시예를 설명하기 위해 사용된 것으로, 본 발명을 한정하려는 의도가 아니다. 단수의 표현은 문맥상 명백하게 다르게 뜻하지 않는 한, 복수의 표현을 포함한다. 본 출원에서, "포함하다" 또는 "가지다" 등의 용어는 설시된 특징, 숫자, 단계, 동작, 구성요소, 부분품 또는 이들을 조합한 것이 존재함을 지정하려는 것이지, 하나 또는 그 이상의 다른 특징들이나 숫자, 단계, 동작, 구성요소, 부분품 또는 이들을 조합한 것들의 존재 또는 부가 가능성을 미리 배제하지 않는 것으로 이해되어야 한다.
다르게 정의되지 않는 한, 기술적이거나 과학적인 용어를 포함해서 여기서 사용되는 모든 용어들은 본 발명이 속하는 기술 분야에서 통상의 지식을 가진 자에 의해 일반적으로 이해되는 것과 동일한 의미를 가지고 있다. 일반적으로 사용되는 사전에 정의되어 있는 것과 같은 용어들은 관련 기술의 문맥 상 가지는 의미와 일치하는 의미를 가지는 것으로 해석되어야 하며, 본 출원에서 명백하게 정의하지 않는 한, 이상적이거나 과도하게 형식적인 의미로 해석되지 않는다.
이하, 첨부한 도면들을 참조하여, 본 발명의 바람직한 실시예를 보다 상세하게 설명하고자 한다. 도면상의 동일한 구성요소에 대해서는 동일한 참조부호를 사용하고 동일한 구성요소에 대해서 중복된 설명은 생략한다.
도 1은 본 발명의 실시예들에 따른 모바일 장치(또는 전자 장치)의 구성을 나타내는 블록도이다.
도 1을 참조하면, 모바일 장치(10)는 어플리케이션 프로세서(100), 내장 스토리지(embedded storage; 200), 디스플레이(310), 휘발성 메모리(330) 및 외부 스토리지 인터페이스(350)를 포함할 수 있다. 그리고 외부 메모리 인터페이스 유니트(400)를 포함할 것이다. 어플리케이션 프로세서(100), 내장 스토리지(200), 디스플레이(310), 휘발성 메모리(330) 및 외부 스토리지 인터페이스(350)는 버스(20)를 통하여 서로 연결될 수 있다. 모바일 장치(10)의 구성 요소들이 버스에 직접 연결된 예가 도 1에 도시되어 있지만, 모바일 장치(10)의 구성 요소들 중 일부 또는 모두가 인터페이스 유니트들(미도시됨)을 통해 버스에 연결될 수 있다.
어플리케이션 프로세서(100)는 모바일 장치(10)의 전반적인 동작들을 제어하도록 구성될 것이다. 어프리케이션 프로세서(100)는 다양한 프로그램들(예를 들면, 응용 프로그램들, 파일 시스템, 디바이스 드라이버들, 등)을 구동하도록 구성될 것이다. 이후 상세히 설명되는 바와 같이, 어플리케이션 프로세서(100)는 외장 스토리지(400)의 나머지 영역에 대한 사용 정책을 결정하는 데이터 제어 모듈(110)을 포함할 수 있다.
내장 스토리지(200)는 메인 스토리지로서 사용되며, 불 휘발성 메모리로 구성될 것이다. 예를 들면, 내장 스토리지(200)는 낸드 플래시 메모리로 구성될 것이다. 내장 스토리지(200)에는 다양한 종류들의 데이터, 예를 들면, 모바일 장치(10)의 기본적인 동작에 필요한 데이터(예를 들면, 부트로더, OS 이미지, 응용 프로그램들, 등), 그리고 유저 데이터(예를 들면, 게임 프로그램, 등)가 저장될 것이다. 디스플레이(310)는 이미지를 표시할 수 있고, 터치 입력을 위한 터치 스크린(또는 터치 스크린 패널)(320)을 포함할 수 있다. 휘발성 메모리 장치(330)는 동작 메모리(working memory)로서 사용될 것이다. 휘발성 메모리 장치(330)는 DRAM일 수 있다.
어플리케이션 프로세서(100)에 의해서 처리된 또는 요청된 데이터가 휘발성 메모리 장치(300)에 로드될 것이다. 외부 스토리지 인터페이스(350)는 외장 스토리지(external storage; 400)와 모바일 장치(10)의 연결을 제공할 것이다. 외장 스토리지(400)는 유저의 선택에 따라 사용될 것이다.
본 발명의 실시예에 따른 모바일 장치(10)는 외장 스토리지(400)가 연결되는 경우, 상기 외장 스토리지(400)의 성능을 측정하고, 상기 외장 스토리지(400)의 측정된 성능이 기준 값 이상인 경우, 상기 내장 스토리지(200)와 상기 외장 스토리지(400)를 하나의 병렬 처리 스토리지로 구성하고, 상기 내장 스토리지(200)의 제1 성능과 상기 외장 스토리지(400)의 제2 성능에 기초하여 상기 내장 스토리지(200)와 상기 외장 스토리지(400)에 워크로드를 분배할 수 있다.
상기 모바일 장치(10)는 랩탑 컴퓨터(laptop computer), 이동 전화기, 스마트 폰(smart phone), 태블릿(tablet) PC, PDA(personal digital assistant), EDA (enterprise digital assistant), 디지털 스틸 카메라(digital still camera), 디지털 비디오 카메라(digital video camera), PMP(portable multimedia player), PND(personal navigation device 또는 portable navigation device), 휴대용 게임 콘솔(handheld game console), 모바일 인터넷 장치(mobile internet device(MID), 웨어러블 컴퓨터, 또는 e-북(e-book)으로 구현될 수 있다.
도 2a는 본 발명의 실시예들에 따른 도 1의 모바일 장치에서 어플리케이션 프로세서의 구성을 나타내는 블록도이다.
도 2a를 참조하면, 어플리케이션 프로세서(100)는 버스(105), CPU(central processing unit; 140), 메모리 제어 모듈(110), 복수의 멀티미디어 하드웨어 IP들(multimedia hardware intellectual properties(IPs); 150, 153), 및 디스플레이 컨트롤러(160)를 포함할 수 있다. 메모리 제어 모듈(110)은 스토리지 컨트롤러(120) 및 메모리 컨트롤러(130)를 포함할 수 있다.
CPU(140)는 버스(105)를 통해 각 구성 요소(120, 130, 150, 153, 160)의 동작을 제어할 수 있다. CPU(140)는 복수의 코어들을 포함하는 멀티-코어 프로세서로 구현될 수 있다.
스토리지 컨트롤러(120)는 대응되는 프로그램 및/또는 대응되는 데이터를 내장 스토리지(200)에 기입하는 동작과 내장 스토리지(200)로부터 대응되는 프로그램 및/또는 대응되는 데이터를 독출하는 동작을 제어할 수 있다. 또한 스토리지 컨트롤러(120)는 CPU(140)의 제어하에 외장 스토리지(400)가 모바일 장치(10)에 연결되는 경우, 내장 스토리지(200)와 외장 스토리지(400)를 하나의 병렬 처리 스토리지로 구성하여 데이터 처리 속도를 증가시킬 수 있다.
메모리 컨트롤러(130)는 대응되는 프로그램 및/또는 대응되는 데이터를 휘발성 메모리(330)에 기입하는 동작과 휘발성 메모리(330)로부터 대응되는 프로그램 및/또는 대응되는 데이터를 독출하는 동작을 제어할 수 있다.
도 2a에는 설명의 편의를 위해, 2개의 멀티미디어 하드웨어 IP들(또는 멀티미디어 회로들; 150과 153)이 도시되어 있으나 이는 예시적인 것에 불과하다.
예컨대, 멀티미디어 하드웨어 IP(multimedia hardware intellectual property(IP))는 비디오 코덱(video codec) 또는 멀티 포맷 코덱(multi format codec(MFC))으로 구현될 수 있다. 상기 비디오 코덱은 디지털 비디오데이터를 압축(compress)하거나 압축해제(de-compress)를 할 수 있는 하드웨어를 의미한다.
또한, 상기 멀티미디어 하드웨어 IP(또는 회로)는 JPEG 표준을 지원하는 하드웨어, 스케일러(scaler), 로테이터(rotator), 멀티미디어를 위한 하드웨어 엑셀레이터(hardware accelerator), 3D 그래픽스 엔진(3D graphics engine), 2D 그래픽스 엔진, 또는 MP3 플레이어 등으로 구현될 수 있다.
디스플레이 컨트롤러(160)는 디스플레이(310)의 동작을 제어할 수 있다. 예컨대, 디스플레이 컨트롤러(160)는 복수의 멀티미디어 하드웨어 IP들(150과 153) 중에서 어느 하나로부터 출력된 멀티미디어 데이터, 예컨대, 이미지 데이터 또는 3D 이미지 데이터를 디스플레이할 수 있다.
실시 예에 따라, 터치 스크린(320)의 동작을 제어할 수 있는 터치 스크린 컨트롤러(미도시)는 어플리케이션 프로세서(100)의 내부에 또는 디스플레이(310)의 내부에 구현될 수 있다.
도 2b는 본 발명의 실시예들에 따른 도 2의 어플리케이션 프로세서에서 스토리지 컨트롤러의 구성을 나타내는 블록도이다.
도 2b를 참조하면, 스토리지 컨트롤러(120)는 성능 측정 유니트(121), 레지스터(123) 및 워크로드 분배기(125)를 포함할 수 있다.
성능 측정 유니트(121)는 외장 스토리지(400)가 모바일 장치(10)에 연결되는 경우, 시퀀셜 데이터와 랜덤 데이터를 이용하여 외장 스토리지(400)의 성능과 용량을 측정하고, 측정된 성능과 용량을 레지스터(123)에 저장할 수 있다. 또한 레지스터(123)에는 내장 스토리지(200)의 성능이 미리 저장될 수 있다. 워크로드 분배기(125)는 레지스터(123)에 저장된 내장 스토리지(200)의 성능과 외장 스토리지(400)의 성능을 기초로 워크로드를 분배하여 내장 스토리지(200)와 외장 스토리지(400)에 할당함으로써 모바일 장치(10)의 데이터 처리 속도를 증가시킬 수 있다.
도 3은 도 1의 모바일 장치에서 내장 스토리지 또는 외장 스토리지에 포함될 수 있는 메모리 셀 어레이의 하나의 블록이 삼차원적으로 구성되는 실시예를 나타내는 사시도이다.
도 3을 참조하면, 메모리 블록(BLK)은 기판(SUB)과 수직 방향으로 형성되어 있다. 기판(SUB)에는 n+ 도핑 영역이 형성된다. 기판(SUB) 위에는 게이트 전극막(gate electrode layer)과 절연막(insulation layer)이 교대로 증착된다. 그리고 게이트 전극막(gate electrode layer)과 절연막(insulation layer) 사이에는 전하 저장막(charge storage layer)이 형성될 수 있다.
게이트 전극막과 절연막을 수직 방향으로 패터닝(vertical patterning)하면, V자 모양의 필라(pillar)가 형성된다. 필라는 게이트 전극막과 절연막을 관통하여 기판(SUB)과 연결된다. 필라(Pillar)의 외곽 부분(O)은 채널 반도체로 구성될 수 있고, 내부(I)는 실리콘 산화물(Silicon Oxide)과 같은 절연 물질로 구성될 수 있다.
게이트 전극막(gate electrode layer)은 접지 선택 라인(GSL), 복수의 워드 라인들(WL1~WL8) 및 스트링 선택 라인(SSL)에 연결될 수 있다. 그리고 필라(pillar)는 복수의 비트 라인들(BL1~BL3)과 연결될 수 있다.
도 3에서는 메모리 블록(BLK)이 접지 선택 라인(GSL), 스트링 선택 라인(SSL), 8개의 워드 라인들(WL1, WL2, ..., WL8) 및 3개의 비트 라인들(BL1, BL2, BL3)을 갖는 것으로 도시되어 있으나, 실제로는 이것들보다 더 많거나 적을 수 있다.
도 4는 도 3의 메모리 블록의 등가 회로도이다.
도 4를 참조하면, 비트 라인(BL1, BL2, BL3)과 공통 소스 라인(CSL; Common Source Line) 사이에는 셀 스트링들(NS11~NS33)이 연결되어 있다. 셀 스트링들(예를 들면, NS11)의 각각은 스트링 선택 트랜지스터(SST), 복수의 메모리 셀들(MC1, MC2, ..., MC8) 및 접지 선택 트랜지스터(GST)를 포함한다.
스트링 선택 트랜지스터(SST)는 스트링 선택 라인(String Selection Line)(SSL1, SSL2, SSL3)에 연결되어 있다. 복수의 메모리 셀들(MC1, MC2, ..., MC8)은 각각 대응하는 워드 라인(WL1, WL2, ..., WL8)에 연결되어 있다. 그리고 접지 선택 트랜지스터(GST)는 접지 선택 라인(Ground Selection Line)(GSL1, GSL2, GSL3)에 연결되어 있다. 스트링 선택 트랜지스터(SST)는 비트 라인(BL)에 연결되고, 접지 선택 트랜지스터(GST)는 공통 소스 라인(CSL)에 연결되어 있다.
동일 높이의 워드 라인(예를 들면, WL1)은 공통으로 연결되어 있고, 접지 선택 라인(GSL1, GSL2, GSL3) 및 스트링 선택 라인(SSL1, SSL2, SSL3)은 분리되어 있다. 제1 워드 라인(WL1)에 연결되어 있고 셀 스트링(NS11, NS12, NS13)에 속해 있는 메모리 셀들을 포함하는 물리 페이지를 프로그램하는 경우에는, 제1 워드 라인(WL1), 제1 스트링 선택 라인(SSL1) 및 제1 접지 선택 라인(GSL1)이 선택된다.
도 5는 본 발명의 실시예들에 따른 모바일 장치의 동작 방법을 나타내는 흐름도이다.
도 1 내지 도 2b 및 도 5를 참조하면, 제1 용량을 가지는 내장 스토리지(200)를 포함하는 모바일 장치(10)의 동작 방법에서는 어플리케이션 프로세서(100)가 모바일 장치(10)에 외장 스토리지(400)가 연결됨을 인식한다(S110). 모바일 장치(10)에 외장 스토리지(400)가 연결되면, 외장 스토리지 인터페이스(350)를 이를 감지하고, 외장 스토리지(400)가 연결되었음을 어플리케이션 프로세서(100)에 신호를 통하여 알릴 수 있다.
어플리케이션 프로세서(100) 또는 메모리 제어 모듈(110)이 외장 스토리지(400)의 성능을 측정하고, 측정된 성능을 나타내는 값은 메모리 제어 모듈(110)의 레지스터(123)에 저장할 수 있다(S200). 어플리케이션 프로세서(100) 또는 메모리 제어 모듈(110)은 레지스터(123)에 저장된 외장 스토리지(400)의 성능을 기준값과 비교하여 외장 스토리지(400)의 성능이 기준 값 이상인지 여부를 판단한다(S310).
외장 스토리지(400)의 성능이 기준 값 이상인 경우(S310에서 YES), 어플리케이션 프로세서(100) 또는 메모리 제어 모듈(110)은 내장 스토리지(200)와 외장 스토리지(400)를 하나의 병렬 처리 스토리지로 구성한다(S400). 외장 스토리지(400)의 성능이 기준 값 미만인 경우(S310에서 NO), 어플리케이션 프로세서(100) 또는 메모리 제어 모듈(110)은 내장 스토리지(200)와 외장 스토리지(400)로 구성하거나 사용자에게 병렬 처리 스토리지로 구성할지 여부를 디스플레이(310)를 통하여 선택하게 할 수 있다(S330).
내장 스토리지(200)와 외장 스토리지(400)를 하나의 병렬 처리 스토리지로 구성되는 경우, 메모리 제어 모듈(110)의 워크로드 분배기(125)는 내장 스토리지(200)의 제1 성능과 외장 스토리지(400)의 제2 성능에 기초하여 상기 제1 성능과 상기 제2 성능의 비율로 워크로드를 내장 스토리지(200)와 외장 스토리지(400)에 할당할 수 있다(S600).
여기서, 외장 스토리지(400)는 내장 스토리지(200)의 제1 용량 이상의 제2 용량을 가질 수 있다.
도 6은 본 발명의 실시예들에 따른 도 5의 동작 방법에서 외장 스토리지의 성능을 측정하는 단계를 나타내는 흐름도이다.
도 1 내지 도 2b 및 도 5를 참조하면, 외장 스토리지(400)의 성능을 측정하기 위하여(S200), CPU(140)의 제어에 따라 성능 측정 유니트(121)는 외장 스토리지(400)에 시퀀셜 기입 데이터를 기록하여 외장 스토리지(400)의 시퀀셜 기입 성능을 측정하고(S210), 외장 스토리지(400)에 랜덤 기입 데이터를 기록하여 외장 스토리지(400)의 랜덤 기입 성능을 측정하고(S220), 외장 스토리지(400)로부터 시퀀셜 데이터를 독출하여 외장 스토리지(400)의 시퀀셜 독출 성능을 측정하고(S230), 외장 스토리지(400)로부터 랜덤 데이터를 독출하여 외장 스토리지(400)의 랜덤 독출 성능을 측정할 수 있다(S240).
실시예에 따라서, 외장 스토리지(400)의 성능을 측정하는데에는 랜덤 기입 성능을 측정하는(S220) 것과 랜덤 독출 성능을 측정하는(S240) 것은 생략되거나 그 비중이 낮을 수 있다.
예를 들어, 내장 스토리지(200)의 기입 성능은 100MB/sec일 수 있고, 외장 스토리지(400)의 기입 성능은 50MB/sec일 수 있다. 성능 측정 유니트(121)는 측정된 외장 스토리지(400)의 성능들을 레지스터(123)에 저장할 수 있다.
워크로드 분배기(125)는 내장 스토리지(200)의 제1 성능과 외장 스토리지(400)의 제2 성능에 따라 200MB의 데이터를 처리해야 할 경우, 내장 스토리지(200)에 150MB를 할당하고 외장 스토리지(400)에 50MB를 할당하여 1.5초에 200MB의 데이터를 기입할 수 있다.
도 7은 본 발명의 실시예들에 따른 도 1의 모바일 장치에서 내장 스토리지와 외장 스토리지의 구성을 나타낸다.
도 7을 참조하면, 내장 스토리지(200)는 디폴트 영역(210)과 제1 자유 영역(F_SPC1; 220)을 포함할 수 있다. 디폴트 영역(210)에는 모바일 장치(10) 기본적인 동작에 필요한 데이터(PLDTA, 예를 들면, 부트로더, OS 이미지, 응용 프로그램들, 등)가 저장될 수 있고, 제1 자유 영역(220)에는 사용자 데이터(게임, 프로그램 등)가 저장될 수 있다. 디폴트 영역(210)의 용량과 제1 자유 영역(220)의 용량을 합하면 내장 스토리지(200)의 제1 용량이 된다.
외장 스토리지(440)는 제1 자유 영역(F_SPC2; 220)과 실질적으로 동일한 용량의 제2 자유 영역(420)과 나머지 영역(410)을 포함할 수 있다. 제2 자유 영역(420)의 용량과 나머지 영역(410)의 용량을 합하면 외장 스토리지(400)의 제2 용량이 된다. 설명의 편의를 위하여 제1 자유 영역(220)은 제3 용량을 가지고, 제2 자유 영역(420)은 제4 용량을 가진다고 가정한다. 메모리 제어 모듈(110)의 스토리지 컨트롤러(120)는 모바일 장치(10)에 연결된 외장 스토리지(400)의 성능이 기준값 이상인 경우에 제1 자유 영역(220)과 제2 자유 영역(420)을 하나의 병렬 처리 스토리지(즉 RAID)로 구성하여 응용 프로그램들의 데이터나 사용자 데이터를 병렬로 저장할 수 있다. 이 경우에, 스토리지 컨트롤러(120)는 제1 자유 영역(220)과 제2 자유 영역(420)을 스트라이프 형태의 레이드로 구성할 수 있다.
도 8은 본 발명의 실시예들에 따른 도 5의 동작 방법에서 내장 스토리지와 외장 스토리지를 하나의 병렬 처리 스토리지로 구성하는 단계를 나타내는 흐름도이다.
도 1 내지 도 2b, 도 7 및 도 8을 참조하면, 메모리 제어 모듈(110)에서 내장 스토리지(200)에서 디폴트 영역(210)을 제외한 사용자 데이터를 저장할 수 있는 제1 자유 영역(220)의 용량을 체크한다(S410). 메모리 제어 모듈(420)에서 외장 스토리지(400)의 유용성, 즉 용량을 체크한다(S420). 외장 스토리지(400)의 용량이 제1 자유 영역(220)의 용량보다 큰 경우에만 병렬 처리 스토리지로 구성하는데 이점이 있을 수 있다.
외장 스토리지(400)의 용량이 제1 자유 영역(220)의 용량보다 큰 경우에 제1 자유 영역(220)과 제2 자유 영역(420)으로 스트라이프 형태의 제1 레이드를 구성한다(S430). 제1 레이드가 구성되면, 외장 스토리지(400)의 나머지 영역(410)에 대한 사용 정책을 메모리 제어 모듈(110)에서 결정한다(S440).
도 9는 도 8의 병렬 처리 스토리지로 구성하는 단계에서 나머지 영역에 대한 사용 정책을 결정하는 일 실시예를 나타내는 흐름도이다. 도 10은 도 9의 실시예에 따를 때, 도 7의 내장 스토리지와 외장 스토리지를 나타낸다.
도 7, 도 9 및 도 10을 참조하면, 나머지 영역(410)에 대한 사용 정책을 결정하기(S500a) 위하여, 나머지 영역(410)을 제1 레이드와는 다른 스팬 형태의 제2 레이드로 구성할 수 있다.
도 11은 도 8의 병렬 처리 스토리지로 구성하는 단계에서 나머지 영역에 대한 사용 정책을 결정하는 일 실시예를 나타내는 흐름도이다. 도 12는 도 11의 실시예에 따를 때, 도 7의 내장 스토리지와 외장 스토리지를 나타낸다.
도 7, 도 11 및 도 12을 참조하면, 나머지 영역(410)에 대한 사용 정책을 결정하기(S500b) 위하여, 나머지 영역(410)을 내장 스토리지(200)에서 LSB 프로그램만이 수행되는 향상 영역을 대신하는 영역으로 사용하는 것을 결정하고(S510b), 응용 프로그램들 중 적어도 하나에 의하여 LSB 프로그램만이 수행되는 싱글 레벨 셀(SLC) 모드의 기입 데이터가 발생되는 경우(S520b), 상기 SLC 모드의 기입 데이터를 나머지 영역(420)에 기입할 수 있다(S530b). LSB 프로그램만을 고려하면, 내장 스토리지(200)와 외장 스토리지(400)의 성능 차이는 거의 없으므로 외장 스토리지(400)의 LSB 프로그램으로 내장 스토리지(200)의 LSB 프로그램을 대체하는 것이 가능하다.
특정 응용 프로그램의 요청에 의하여 LSB 프로그램이 내장 스토리지(200)에 발생되는 경우, 나머지 영역(420)이 내장 스토리지(200)의 향상된 영역을 대체할 수 있다. 따라서 사용자는 내장 스토리지(200)에서 향상된 영역으로 사용되는 영역을 자유 영역으로 사용할 수 있다.
도 13은 도 8의 병렬 처리 스토리지로 구성하는 단계에서 나머지 영역에 대한 사용 정책을 결정하는 일 실시예를 나타내는 흐름도이다.
도 7 및 도 13을 참조하면, 나머지 영역(410)에 대한 사용 정책을 결정하기(S500c) 위하여, 나머지 영역(410)을 상기 응용 프로그램들 중 적어도 하나에 의한 랜덤 데이터를 저장하는 버퍼 영역으로서 사용하는 것을 결정한다(S510c). 상기 응용 프로그램들 중 적어도 하나에 의한 데이터가 발생하고(S520c), 메모리 제어 모듈(110)은 상기 데이터가 작은 크기의 랜덤 데이터인지 여부를 판단한다(S530c). 상기 데이터가 작은 크기의 랜덤 데이터인 경우(S530c에서 YES), 메모리 제어 모듈(110)은 상기 데이터를 나머지 영역(410)에 저장한다(S540c). 상기 데이터가 작은 크기의 랜덤 데이터가 아닌 경우(S530c에서 NO), 메모리 제어 모듈(110)은 상기 데이터를 레이드 영역(220, 420)에 저장한다(S550c).
데이터가 작은 크기의 랜덤 데이터인지 여부는 데이터가 저장되는 영역을 지정하는 어드레스와 데이터의 크기에 의하여 판단할 수 있다. 데이터가 저장되는 영역을 지정하는 어드레스가 연속적이면 상기 데이터는 시퀀셜 기입 모드의 데이터일 수 있다. 데이터가 저장되는 영역을 지정하는 어드레스가 랜덤이면 상기 데이터는 랜덤 기입 모드의 데이터일 수 있다. 메모리 제어 모듈(110) 또는 어플리케이션 프로세서(100)는 데이터의 크기와 어드레스에 기초하여 상기 데이터가 작은 크기의 랜덤 데이터인지 여부를 판단할 수 있다.
도 14는 도 8의 병렬 처리 스토리지로 구성하는 단계에서 나머지 영역에 대한 사용 정책을 결정하는 일 실시예를 나타내는 흐름도이다.
도 7 및 도 14를 참조하면, 나머지 영역(410)에 대한 사용 정책을 결정하기(S500d) 위하여, 나머지 영역(410)을 상기 응용 프로그램들 중 적어도 하나에 의한 작은 크기의 데이터를 저장하는 데이터 영역으로서 사용하는 것을 결정한다(S510d). 상기 응용 프로그램들 중 적어도 하나에 의한 데이터가 발생하고(S520d), 메모리 제어 모듈(110)은 상기 데이터의 크기가 기준 크기보다 작은지 여부를 판단한다(530d). 상기 데이터의 크기가 기준 크기보다 작은 경우(S530d에서 YES), 메모리 제어 모듈(110)은 상기 데이터를 나머지 영역(410)에 저장한다(S540d). 상기 데이터의 크기가 기준 크기 이상인 경우(S530d에서 NO), 메모리 제어 모듈(110)은 상기 데이터를 나레이드 영역(220, 420)에 저장한다(S550d).
나머지 영역(410)은 레이드 영역(220, 420)보다 데이터 기입 성능이 낮지만, 데이터의 크기가 작은 데이터만을 나머지 영역(410)에 기입하는 경우 데이터 저장 속도를 증가시킬 수 있다. 예를 들어, MP3 파일이나 사진과 같은 데이터 크기가 작은 데이터의 경우에는 상기 나머지 영역(410)에 우선적으로 저장되도록 하고, 영화나 게임과 같은 대용량 데이터는 레이드 영역(220, 420)에 저장되도록 함으로써 사용자에게 최적화된 UX(User experience)를 제공할 수 있다.
도 15는 도 8의 병렬 처리 스토리지로 구성하는 단계에서 나머지 영역에 대한 사용 정책을 결정하는 일 실시예를 나타내는 흐름도이다.
도 7 및 도 15를 참조하면, 나머지 영역(410)에 대한 사용 정책을 결정하기(S500e) 위하여, 나머지 영역(410)을 패리티 영역으로서 사용하는 것을 결정한다(S510e). 상기 응용 프로그램들 중 적어도 하나에 의한 데이터가 발생하고(S520e), 메모리 제어 모듈(110)은 상기 발생된 데이터에 기초하여 패리티 데이터를 생성한다(S530e). 이를 위하여 메모리 제어 모듈(110)은 에러 정정 코드(error correction code)를 채용할 수 있다. 메모리 제어 모듈(110)은 상기 발생된 데이터는 레이드 영역(220, 420)에 기입하고 패리티 데이터는 나머지 영역(410)에 기입할 수 있다(S540e).
이러한 패리티 데이터를 나머지 영역(410)에 기입하는 것은 특정 응용 프로그램에 의하여 발생한 데이터에 대한 신뢰성을 높이기 위하여 수행될 수 있다. 이 경우에 상기 신뢰성이 필요한 데이터를 독출하는 경우에는 나머지 영역(410)으로부터 패리티 데이터를 독출하여 신뢰성이 필요한 데이터의 에러를 정정할 수 있다.
도 16은 도 8의 병렬 처리 스토리지로 구성하는 단계에서 나머지 영역에 대한 사용 정책을 결정하는 일 실시예를 나타내는 흐름도이다.
도 7 및 도 16을 참조하면, 나머지 영역(410)에 대한 사용 정책을 결정하기(S500f) 위하여, 나머지 영역(410)을 상기 레이드 영역(220, 420)의 배드 블록을 구제하는 유보 영역으로서 사용하는 것을 결정한다(S510f). 상기 응용 프로그램들 중 적어도 하나에 의한 데이터가 발생하고(S520f), 상기 발생된 데이터를 상기 레이드 영역(220, 420)에 기입하는 도중에 기입 실패(fail)가 발생한다(S530f). 메모리 제어 모듈(110)은 상기 기입 실패가 발생한 레이드 영역(220, 420)의 배드 블록을 나머지 영역(410)의 프리 블록으로 대체하고(S540f), 상기 프리 블록에 상기 발생된 데이터를 기입한다.
이렇게 하여 내장 스토리지(200)와 외장 스토리지(400)의 수명을 상당히 연장시킬 수 있다.
도 17은 도 8의 병렬 처리 스토리지로 구성하는 단계에서 나머지 영역에 대한 사용 정책을 결정하는 일 실시예를 나타내는 흐름도이다.
도 7 및 도 17을 참조하면, 나머지 영역(410)에 대한 사용 정책을 결정하기(S500g) 위하여, 나머지 영역(410)을 상기 레이드 영역(220, 420)의 프리 블록을 증가시키는 유보 영역으로서 사용하는 것을 결정한다(S510g). 상기 응용 프로그램들 중 적어도 하나에 의한 데이터가 발생하고(S520g), 상기 발생된 데이터를 상기 레이드 영역(220, 420)에 기입하려 할 때, 레이드 영역(220, 420)에 프리 블록이 더 이상 없음을 알게된다(S530g). 메모리 제어 모듈(110)은 나머지 영역(410)의 프리 블록들 중 적어도 하나의 프리 블록을 선택하고(S540g), 상기 프리 블록에 상기 발생된 데이터를 기입한다.
도 18은 도 8의 병렬 처리 스토리지로 구성하는 단계에서 나머지 영역에 대한 사용 정책을 결정하는 일 실시예를 나타내는 흐름도이다. 도 19는 도 18의 실시예에 따를 때, 도 7의 내장 스토리지와 외장 스토리지를 나타낸다.
도 7, 도 18 및 도 19를 참조하면, 나머지 영역(410)에 대한 사용 정책을 결정하기(S500h) 위하여, 나머지 영역(410)을 휘발성 메모리 장치(330)에 저장된 구동 데이터가 스왑되는 스왑 메모리로서 사용하는 것을 결정한다(S510h). 어플리케이션 프로세서(100)는 구동 데이터를 스왑하기로 결정한다(S520h). 데이터 제어 모듈(110)은 휘발성 메모리 장치(330)에서 스왑 데이터(331)를 스캔한다(S530h). 데이터 제어 모듈은 휘발성 메모리 장치(330)에서 나머지 영역(410)으로 스왑 데이터(331)를 이동시켜 저장한다(S540h). 어플리케이션 프로세서(110)에서 응용 프로그램을 실행시킨다(S550h). 어플리케이션 프로세서(110)는 나머지 영역(410)에 저장된 스왑 데이터(331)를 감지한다(S560h). 메모리 제어 모듈(110)은 나머지 영역(410)에서 스왑 데이터(331)를 독출하여 휘발성 메모리 장치(330)에 스왑 데이터(331)를 로드한다(S580h).
응용 프로그램의 크기가 큰 경우나, 자주 사용하는 응용 프로그램의 경우에는 빠른 실행을 위하여 휘발성 메모리 장치(330)의 데이터 이미지 자체를 레이드 영역(220, 420) 영역에 저장하고, 상기 자주 사용하는 응용 프로그램이 재실행되는 경우에 데이터 이미지 자체를 휘발성 메모리 장치(330)로 로드하여 사용함으로써 응용 프로그램의 실행 속도를 증가시키는 스왑 동작을 사용할 수 있다. 나머지 영역(410)의 용량이 충분히 큰 경우에는 휘발성 메모리 장치(330)의 데이터 이미지 자체를 나머지 영역(410)으로 스왑시키면, 레이드 영역(220, 420)의 용량을 감소시키지 않으면서 스왑 기능을 수행할 수 있다.
도 20은 도 8의 병렬 처리 스토리지로 구성하는 단계에서 나머지 영역에 대한 사용 정책을 결정하는 일 실시예를 나타내는 흐름도이다. 도 21은 도 20의 실시예에 따를 때, 도 7의 내장 스토리지와 외장 스토리지를 나타낸다.
도 7, 도 20 및 도 21를 참조하면, 나머지 영역(410)에 대한 사용 정책을 결정하기(S500k) 위하여, 나머지 영역(410)을 상기 디폴트 영역(210)에 저장된 데이터(즉 디폴트 데이터)를 암호화하여 저장하는 백-업 영역으로서 사용하는 것을 결정한다(S510k). 즉 디폴트 영역(210)에 저장되는 기본 데이터와 응용 프로그램들 중 적어도 일부를 암호화하여 상기 나머지 영역(410)에 저장할 수 있다. 어플리케이션 프로세서(100)가 상기 디폴트 데이터를 상기 나머지 영역(410)에 백-업하는 것을 결정한다(520k). 상기 디폴트 영역(210)에서 상기 나머지 영역(410)에 상기 디폴트 데이터를 전달하면서, 상기 디폴트 데이터를 암호화한다(S530k). 상기 암호화된 디폴트 데이터를 나머지 영역(410)에 저장한다(S540k). 상기 나머지 영역(410)에서 상기 암호화된 디폴트 데이터를 독출하고(S550k), 상기 암호화된 디폴트 데이터의 해독한다(S560k). 어플리케이션 프로세서(100)는 상기 디폴트 영역(210)에 저장되어 있는 디폴트 데이터와 해독된 디폴트 데이터를 서로 비교하고(S570k), 상기 폴트 영역(210)에 저장되어 있는 디폴트 데이터의 신뢰성을 체크한다(S580k). 이를 위하여 메모리 제어 모듈(110)는 보안 관련 코드를 채용할 수 있다.
도 22는 도 8의 병렬 처리 스토리지로 구성하는 단계에서 나머지 영역에 대한 사용 정책을 결정하는 일 실시예를 나타내는 흐름도이다.
도 7 및 도 22를 참조하면, 나머지 영역(410)에 대한 사용 정책을 결정하기(S500m) 위하여, 나머지 영역(410)을 상기 응용 프로그램들 중 적어도 하나에 의한 데이터 중 액세스 빈도가 기준 빈도보다 낮은 콜드 데이터를 저장하는 콜드 데이터 영역으로서 사용하는 것을 결정한다(S510m). 상기 응용 프로그램들 중 적어도 하나에 의한 데이터가 발생하고(S520m), 메모리 제어 모듈(110)은 상기 발생된 데이터의 속성이 콜드 데이터인지 여부를 판단한다(S530m). 상기 발생된 데이터의 속성이 콜드 데이터인 경우(S530m에서 YES), 메모리 제어 모듈(110)은 상기 발생된 데이터를 나머지 영역(410)에 저장한다. 상기 발생된 데이터의 속성이 콜드 데이터가 아닌 경우(S530m에서 NO), 메모리 제어 모듈(110)은 상기 발생된 데이터를 상기 레이드 영역(220, 420)에 저장한다(S550m).
또한 레이드 영역(220, 420)에 저장된 데이터도 그 속성이 콜드 데이터로 변하면, 메모리 제어 모듈(110)은 레이드 영역(220, 440)에 저장된 콜드 데이터를 나머지 영역(410)으로 이동시킬 수 있다.
상술한 바와 같이 본 발명의 실시예들에 따른 모바일 장치의 동작 방법 및 모바일 장치에서는 모바일 장치(10)에 연결되는 외장 스토리지(400)의 성능이 기준값 이상인 경우에, 내장 스토리지(200)의 일부와 외장 스토리지(400)의 일부로 레이드를 구성하여 데이터 처리 속도를 증가시키고, 외장 스토리지(400)의 나머지 일부를 여러 가지 정책에 따라 사용하여 외장 스토리지(400)의 사용성(usability)을 증가시킬 수 있다.
도 23a는 본 발명의 실시예들에 따른 모바일 장치를 나타내는 사시도이다.
도 23a를 참조하면, 모바일 장치(600)는 도 1의 모바일 장치(10)를 채용할 수 있다. 모바일 장치(600)의 전면(600F)은 내부의 메인 보드 등을 은폐하기 위한 케이싱 프레임(601)에 의해 외관이 형성된다. 상기 케이싱 프레임(01)은 디스플레이 장치를 외부로 노출시킨다. 도시되진 않았으나, 상기 디스플레이 장치의 상측 또는 하측에 카메라, 수화부, 키패드 등을 구비할 수 있다. 상기 카메라는 영상통화나 사용자가 자신의 모습을 촬영하는데 활용되며, 상기 수화부는 음성 통화나 멀티미디어 파일 재생시 음향을 출력하게 된다. 상기 키패드는 통화 버튼이나 탐색 버튼 등으로 이루어진다. 또한, 상기 모바일 장치(600)의 측면에는 음량 조절 버튼이나 카메라를 작동시키기 위한 핫 키 등이 설치될 수 있다.
도 23b는 도 23a의 모바일 장치를 나타내는 배면 사시도이다.
도 23b를 참조하면, 모바일 장치(600)의 배면(600B)에는 케이싱 프레임(601)을 덮는 커버(602)가 구비될 수있다. 상기 커버(602)는 상기 모바일 장치(600)에 장착된 배터리 팩 및 착탈식 카드 등이 외부로 노출되지 않도록 상기 모바일 장치(600)의 배면(600B)의 전면을 덮도록 형성될 수 있다. 상기 모바일 장치(600)의 배면(600B)에는 피사체 촬영을 위한 카메라와 조명 장치가 설치될 수 있다. 상기 카메라와 조명 장치는 상기 커버(602)에 의해 은폐되지 않고 외부로 노출된다.
도 23c는 도 23b의 모바일 장치의 커버가 분리된 모습을 나타내는 배면 사시도이다.
도 23c를 참조하면, 커버(601)가 분리된 모바일 장치(600)의 배면(600B)에는 내부의 메인 보드 등을 은폐하기 위한 케이싱 프레임(601)이 노출될 수 있다. 이 때, 상기 케이싱 프레임(601)에는 수용홈(G) 및 상기 수용홈(G) 내에 수용되고 외장 스토리지(예를 들어, 도 1의 외장 스토리지(400))를 삽입하기 위한 카드 소켓 장치(S)이 형성될 수 있다.
도 23c에서 상기 카드 소켓 장치(S) 및 이를 수용하는 수용홈(G)은 모바일 장치(600)의 배면(00B)의 상부 좌측에 배치된 것으로 도시되었으나, 본 발명의 기술적 사상이 이에 한정되는 것은 아니다. 일부 실시예들에서, 상기 모바일 장치(600)은 상기 배터리 팩을 수용하기 위한 배터리 팩 수용홈을 포함할 수 있으며, 상기 카드소켓 장치(S) 및 이를 수용하는 수용홈(G)은 상기 배터리 팩 수용홈의 저면에 형성될 수 있다.
또한, 도 23c에서 상기 카드 소켓 장치(S) 및 이를 수용하는 수용홈(G)은 하나만 형성된 것으로 도시되었으나, 본 발명의 기술적 사상이 이에 한정되는 것은 아니다. 일부 실시예들에서, 상기 모바일 장치(600)에는 복수의 착탈식 카드를 삽입하기 위한 복수의 카드 소켓 장치들 및 이를 수용하는 수용홈들을 포함할 수 있다. 이 경우, 상기 복수의 착탈식 카드는 서로 다른 종류일 수 있으며, 상기 복수의 착탈식 카드의 종류에 따라 각각의 카드 소켓 장치 및 그 수용홈의 형상이 달라질 수 있다.
상기 모바일 장치(600)에 포함되는 카드 소켓 장치(S) 및 이를 수용하는 수용홈(G)은 다양한 착탈식 카드의 장착에 이용될 수 있다. 예를 들어, 모바일 장치(600)이 GSM(Global Positioning System) 방식의 이동 무선 단말기인 경우, 상기 카드 소켓 장치(S) 및 이를 수용하는 상기 수용홈(G)은 가입자 식별 모듈 카드(Subscriber Identity Module card; SIM card)를 장착하기 위한 것일 수 있다. 상기 가입자 식별 모듈 카드는 단말기 가입자의 정보 및 단말기 시스템 관련 정보가 저장된다. 따라서, 상술한 가입자 식별 모듈 카드가 적용되면 적용되는 단말기에 관계없이 상기 가입자 식별 모듈 카드에 저장된 정보에 따른 단말기로 사용할 수 있는 장점을 갖는다.
또한 CDMA(code division multiple access) 방식의 이동 무선 단말기에는 사용자 식별 모듈 카드(User Identify Module; UIM)가 적용될 수 있다. 또한 식별 모듈 카드 이외에, 모바일 장치(600)의 상기 카드 소켓 장치(S) 및 이를 수용하는 상기 수용홈(G)은 보조 메모리 장치로써 외장 스토리지(즉 외장 메모리 카드)를 장착하기 위한 것일 수 있다. 예를 들어, 상기 메모리 카드는 TFlash카드일 수 있다. 모바일 장치(600)은 상기 외장 메모리 카드를 장착함으로써 저장 공간이 확대될 수 있다.
일부 실시예들에서, 모바일 장치(600)은 식별 모듈 카드를 장착하기 위한 제1 소켓과, 메모리 카드를 장착하기 위한 제2 소켓, 및 상기 제1 소켓 및 상기 제2 소켓을 각각 수용하는 제1 수용홈 및 제2 수용홈을 포함할 수 있다.
도 24는 본 발명의 실시예들에 따른 전자 장치(또는 모바일 장치)를 나타내는 블록도이다.
도 24를 참조하면, 전자 장치(800)은, 예를 들면, 도 1에 도시된 모바일 장치(10)의 전체 또는 일부를 구성할수 있다. 도 24를 참조하면, 상기 전자 장치(800_은 하나 이상의 어플리케이션 프로세서(AP: application processor, 810), 통신 모듈(820) SIM(subscriber identification module) 카드(824), 메모리(830), 센서 모듈(840), 입력 장치(850), 디스플레이(860) 인터페이스(870), 오디오 모듈(880), 카메라 모듈(891), 전력관리 모듈(895), 배터리(896), 인디케이터(897) 및 모터(898)를 포함할 수 있다.
상기 AP(810)는 운영체제 또는 응용 프로그램을 구동하여 상기 AP(810)에 연결된 다수의 하드웨어 또는 소프트웨어 구성요소들을 제어할 수 있고, 멀티미디어 데이터를 포함한 각종 데이터 처리 및 연산을 수행할 수 있다. 상기 AP(810)는, 예를 들면, SoC(system on chip) 로 구현될 수 있다. 한 실시 예에 따르면, 상기 AP(810)는 GPU(graphic processing unit, 미도시)를 더 포함할 수 있다.
상기 통신 모듈(820)은 상기 전자 장치 800(예: 상기 전자 장치 100)과 네트워크를 통해 연결된 다른 전자 장치들 간의 통신에서 데이터 송수신을 수행할 수 있다. 한 실시 예에 따르면, 상기 통신 모듈(820)은 셀룰러 모듈(821), Wifi 모듈(823), BT 모듈(825), GPS 모듈(827), NFC 모듈(828) 및 RF(radio frequency) 모듈(829)를 포함할 수 있다.
상기 셀룰러 모듈(821)은 통신망(예: LTE, LTE-A, CDMA, WCDMA, UMTS, WiBro 또는 GSM 등)을 통해서 음성 통화, 영상 통화, 문자 서비스 또는 인터넷 서비스 등을 제공할 수 있다. 또한, 상기 셀룰러 모듈(821)은, 예를 들면, 가입자 식별 모듈(예: SIM 카드 824)을 이용하여 통신 네트워크 내에서 전자 장치의 구별 및 인증을 수행할 수 있다. 한 실시 예에 따르면, 상기 셀룰러 모듈(821)은 상기 AP(810)가 제공할 수 있는 기능 중 적어도 일부 기능을 수행할 수 있다. 예를 들면, 상기 셀룰러 모듈(821)은 멀티 미디어 제어 기능의 적어도 일부를 수행할 수 있다.
실시 예에 따르면, 상기 셀룰러 모듈(821)은 커뮤니케이션 프로세서(CP: communication processor)를 포함할 수 있다. 또한, 상기 셀룰러 모듈(821)은, 예를 들면, SoC로 구현될 수 있다. 도 24에서는 상기 셀룰러 모듈(821, 예: 커뮤니케이션 프로세서), 상기 메모리(830) 또는 상기 전력관리 모듈(895) 등의 구성요소들이 상기 AP(810)와 별개의 구성요소로 도시되어 있으나, 실시 예에 따르면, 상기 AP(810)이 전술한 구성요소들의 적어도 일부(예: 셀룰러 모듈 821)를 포함하도록 구현될 수 있다.
실시 예에 따르면, 상기 AP(810) 또는 상기 셀룰러 모듈 821(예: 커뮤니케이션 프로세서)은 각각에 연결된 비휘발성 메모리 또는 다른 구성요소 중 적어도 하나로부터 수신한 명령 또는 데이터를 휘발성 메모리에 로드(load)하여 처리할 수 있다. 또한, 상기 AP(810) 또는 상기 셀룰러 모듈(821)은 다른 구성요소 중 적어도 하나로부터 수신하거나 다른 구성요소 중 적어도 하나에 의해 생성된 데이터를 비휘발성 메모리에 저장(store)할 수 있다.
상기 Wifi 모듈(823), 상기 BT 모듈(825), 상기 GPS 모듈(827) 또는 상기 NFC 모듈(828) 각각은, 예를 들면, 해당하는 모듈을 통해서 송수신되는 데이터를 처리하기 위한 프로세서를 포함할 수 있다. 도 24에서는 셀룰러 모듈(821), Wifi 모듈(823), BT 모듈(825), GPS 모듈(827) 또는 NFC 모듈(828)이 각각 별개의 블록으로 도시되었으나, 실시 예에 따르면, 셀룰러 모듈(821), Wifi 모듈(823), BT 모듈(825), GPS 모듈(827) 또는 NFC 모듈(828)중 적어도 일부(예: 두 개 이상)는 하나의 integrated chip(IC) 또는 IC 패키지 내에 포함될 수 있다. 예를 들면, 셀룰러 모듈(821), Wifi 모듈(823), BT 모듈(825), GPS 모듈(827) 또는 NFC 모듈(828) 각각에 대응하는 프로세서들 중 적어도 일부(예: 셀룰러 모듈 821에 대응하는 커뮤니케이션 프로세서 및 Wifi 모듈 823에 대응하는 Wifi 프로세서)는 하나의 SoC로 구현될 수 있다.
상기 RF 모듈(829)는 데이터의 송수신, 예를 들면, RF 신호의 송수신을 할 수 있다. 상기 RF 모듈(829)는, 도시되지는 않았으나, 예를 들면, 트랜시버(transceiver), PAM(power amp module), 주파수 필터(frequency filter) 또는 LNA(low noise amplifier) 등을 포함할 수 있다. 또한, 상기 RF 모듈(829)는 무선 통신에서 자유 공간상의 전자파를 송수신하기 위한 부품, 예를 들면, 도체 또는 도선 등을 더 포함할 수 있다. 도 24에서는 셀룰러 모듈(821), Wifi 모듈(823), BT 모듈(825), GPS 모듈(827) 및 NFC 모듈(828)이 하나의 RF 모듈(829)을 서로 공유하는 것으로 도시되어 있으나, 실시 예에 따르면, 셀룰러 모듈(821), Wifi 모듈(823), BT 모듈(825), GPS 모듈(827) 및 NFC 모듈(828) 중 적어도 하나는 별개의 RF 모듈을 통하여 RF 신호의 송수신을 수행할 수 있다.
상기 SIM 카드(824)는 가입자 식별 모듈을 포함하는 카드일 수 있으며, 전자 장치의 특정 위치에 형성된 슬롯에 삽입될 수 있다. 상기 SIM 카드(824)는 고유한 식별 정보(예: ICCID(integrated circuit card identifier)) 또는 가입자 정보(예: IMSI(international mobile subscriber identity))를 포함할 수 있다.
상기 메모리(830)은 내장 메모리(832) 또는 외장 메모리(834)를 포함할 수 있다. 상기 내장 메모리(832)는, 예를 들면, 휘발성 메모리(예를 들면, DRAM(dynamic RAM), SRAM(static RAM), SDRAM(synchronous dynamic RAM) 등) 또는 비휘발성 메모리(non-volatile Memory, 예를 들면, OTPROM(one time programmable ROM), PROM(programmable ROM), EPROM(erasable and programmable ROM), EEPROM(electrically erasable and programmable ROM), mask ROM, flash ROM, NAND flash memory, NOR flash memory 등) 중 적어도 하나를 포함할 수 있다.
실시 예에 따르면, 상기 내장 메모리(832)는 Solid State Drive (SSD)일 수 있다. 상기 외장 메모리(834)는 flash drive, 예를 들면, CF(compact flash), SD(secure digital), Micro-SD(micro secure digital), Mini-SD(mini secure digital), xD(extreme digital) 또는 Memory Stick 등을 더 포함할 수 있다. 상기 외장 메모리(834)는 다양한 인터페이스를 통하여 상기 전자 장치(800)과 기능적으로 연결될 수 있다. 실시 예에 따르면, 상기 전자 장치(800)은 하드 드라이브와 같은 저장 장치(또는 저장 매체)를 더 포함할 수 있다.
상기 센서 모듈(840)은 물리량을 계측하거나 전자 장치(800)의 작동 상태를 감지하여, 계측 또는 감지된 정보를 전기 신호로 변환할 수 있다. 상기 센서 모듈(840)은, 예를 들면, 제스처 센서(840A), 자이로 센서(840B), 기압 센(840C), 마그네틱 센서(840D), 가속도 센서(840E), 그립 센서(840F), 근접 센서(840G), 컬러 센서(840H)(예: RGB(red, green, blue) 센서), 생체 센서(840I), 온/습도 센서(840J), 조도 센서(840K) 또는 UV(ultra violet) 센서(840M) 중의 적어도 하나를 포함할 수 있다. 추가적으로 또는 대체적으로, 상기 센서 모듈(840)은, 예를 들면, 후각 센서(E-nose sensor, 미도시), EMG 센서(electromyography sensor, 미도시), EEG 센서(electroencephalogram sensor, 미도시), ECG 센서(electrocardiogram sensor, 미도시), IR(infra-red) 센서 (미도시), 홍채 센서(미도시) 또는 지문 센서(미도시) 등을 포함할 수 있다. 상기 센서 모듈(840)은 그 안에 속한 적어도 하나 이상의 센서들을 제어하기 위한 제어 회로를 더 포함할 수 있다.
상기 입력 장치 850은 터치 패널(touch panel; 852), (디지털) 펜 센서(pen sensor; 854), 키(key; 856) 또는 초음파(ultrasonic) 입력 장치 (858)을 포함할 수 있다. 상기 터치 패널(852)은, 예를 들면, 정전식, 감압식, 적외선 방식 또는 초음파 방식 중 적어도 하나의 방식으로 터치 입력을 인식할 수 있다. 또한, 상기 터치 패널(852)는 제어 회로를 더 포함할 수도 있다. 정전식의 경우, 물리적 접촉 또는 근접 인식이 가능하다. 상기 터치 패널(852)는 택타일 레이어(tactile layer)를 더 포함할 수도 있다. 이 경우, 상기 터치 패널(852)는 사용자에게 촉각 반응을 제공할 수 있다.
상기 (디지털) 펜 센서(854)는, 예를 들면, 사용자의 터치 입력을 받는 것과 동일 또는 유사한 방법 또는 별도의 인식용 쉬트(sheet)를 이용하여 구현될 수 있다. 상기 키(856)는, 예를 들면, 물리적인 버튼, 광학식 키 또는 키패드를 포함할 수 있다. 상기 초음파(ultrasonic) 입력 장치(858)는 초음파 신호를 발생하는 입력 도구를 통해, 전자 장치(800)에서 마이크(예: 마이크(888))로 음파를 감지하여 데이터를 확인할 수 있는 장치로서, 무선 인식이 가능하다. 실시 예에 따르면, 상기 전자 장치(800)는 상기 통신 모듈(820)을 이용하여 이와 연결된 외부 장치(예: 컴퓨터 또는 서버)로부터 사용자 입력을 수신할 수도 있다.
상기 디스플레이(860)는 패널(862), 홀로그램 장치(864) 또는 프로젝터(866)을 포함할 수 있다. 상기 패널(862)은, 예를 들면, LCD(liquid-crystal display) 또는 AM-OLED(active-matrix organic lightemitting diode) 등일 수 있다. 상기 패널(862)은, 예를 들면, 유연하게(flexible), 투명하게(transparent) 또는 착용할 수 있게(wearable) 구현될 수 있다. 상기 패널(862)은 상기 터치 패널(852)와 하나의 모듈로 구성될 수도 있다. 상기 홀로그램 장치(864)는 빛의 간섭을 이용하여 입체 영상을 허공에 보여줄 수 있다. 상기 프로젝터(866)는 스크린에 빛을 투사하여 영상을 표시할 수 있다. 상기 스크린은, 예를 들면, 상기 전자 장치(800)의 내부 또는 외부에 위치할 수 있다. 실시 예에 따르면, 상기 디스플레이(860)은 상기 패널(862), 상기 홀로그램 장치(864), 또는 프로젝터(866)을 제어하기 위한 제어 회로를 더 포함할 수 있다.
상기 인터페이스(870)는, 예를 들면, HDMI(high-definition multimedia interface; 872), USB(universal serial bus; 874), 광 인터페이스(optical interface; 876) 또는 D-sub(D-subminiature; 878)를 포함할 수 있다. 상기 인터페이스(870)는, 추가적으로 또는 대체적으로, 상기 인터페이스(870)는, 예를 들면, MHL(mobile high-definition link) 인터페이스, SD(secure Digital) 카드/MMC(multi-media card) 인터페이스 또는 IrDA(infrared data association) 규격 인터페이스를 포함할 수 있다.
상기 오디오 모듈(880)은 소리(sound)와 전기신호를 쌍방향으로 변환시킬 수 있다. 상기 오디오 모듈(880)은, 예를 들면, 스피커(882), 리시버(884), 이어폰(886) 또는 마이크(888) 등을 통해 입력 또는 출력되는 소리 정보를 처리할 수 있다.
상기 카메라 모듈(891)은 정지 영상 및 동영상을 촬영할 수 있는 장치로서, 한 실시 예에 따르면, 하나 이상의 이미지 센서(예: 전면 센서 또는 후면 센서), 렌즈(미도시), ISP(image signal processor, 미도시) 또는 플래쉬 (flash, 미도시)(예: LED 또는 xenon lamp)를 포함할 수 있다.
상기 전력 관리 모듈(895)는 상기 전자 장치(800)의 전력을 관리할 수 있다. 도시하지는 않았으나, 상기 전력 관리 모듈(895)는, 예를 들면, PMIC(power management integrated circuit), 충전 IC(charger integrated circuit) 또는 배터리 또는 연료 게이지(battery or fuel gauge)를 포함할 수 있다.
상기 PMIC는, 예를 들면, 집적회로 또는 SoC 반도체 내에 탑재될 수 있다. 충전 방식은 유선과 무선으로 구분될 수 있다. 상기 충전 IC는 배터리를 충전시킬 수 있으며, 충전기로부터의 과전압 또는 과전류 유입을 방지할 수 있다. 실시 예에 따르면, 상기 충전 IC는 유선 충전 방식 또는 무선 충전 방식 중 적어도 하나를 위한 충전 IC를 포함할 수 있다. 무선 충전 방식으로는, 예를 들면, 자기공명 방식, 자기유도 방식 또는 전자기파 방식 등이 있으며, 무선 충전을 위한 부가적인 회로, 예를 들면, 코일 루프, 공진 회로 또는 정류기 등의 회로가 추가될 수 있다.
상기 배터리 게이지는, 예를 들면, 상기 배터리(896)의 잔량, 충전 중 전압, 전류 또는 온도를 측정할 수 있다. 상기 배터리(896)는 전기를 저장 또는 생성할 수 있고, 그 저장 또는 생성된 전기를 이용하여 상기 전자 장치(800)에 전원을 공급할 수 있다. 상기 배터리(896)는, 예를 들면, 충전식 전지(rechargeable battery) 또는 태양 전지(solar battery)를 포함할 수 있다.
상기 인디케이터(897)는 상기 전자 장치(800) 혹은 그 일부(예: 상기 AP 810)의 특정 상태, 예를 들면, 부팅 상태, 메시지 상태 또는 충전 상태 등을 표시할 수 있다. 상기 모터(898)은 전기적 신호를 기계적 진동으로 변환할 수 있다. 도시되지는 않았으나, 상기 전자 장치(800)는 모바일 TV 지원을 위한 처리 장치(예: GPU)를 포함할 수 있다. 상기 모바일 TV지원을 위한 처리 장치는, 예를 들면, DMB(digital multimedia broadcasting), DVB(digital video broadcasting) 또는 미디어플로우(media flow) 등의 규격에 따른 미디어 데이터를 처리할 수 있다.
본 발명의 다양한 실시 예에 따른 전자 장치의 전술한 구성요소들 각각은 하나 또는 그 이상의 부품(component)으로 구성될 수 있으며, 해당 구성 요소의 명칭은 전자 장치의 종류에 따라서 달라질 수 있다. 본 발명의 다양한 실시 예에 따른 전자 장치는 전술한 구성요소 중 적어도 하나를 포함하여 구성될 수 있으며, 일부 구성요소가 생략되거나 또는 추가적인 다른 구성요소를 더 포함할 수 있다. 또한, 본 발명의 다양한 실시 예에 따른 전자 장치의 구성 요소들 중 일부가 결합되어 하나의 개체(entity)로 구성됨으로써, 결합되기 이전의 해당 구성요소들의 기능을 동일하게 수행할 수 있다.
본 발명의 다양한 실시 예에 사용된 용어 "모듈"은, 예를 들어, 하드웨어, 소프트웨어 또는 펌웨어(firmware) 중 하나 또는 둘 이상의 조합을 포함하는 단위(unit)를 의미할 수 있다. "모듈"은 예를 들어, 유닛(unit), 로직(logic), 논리 블록(logical block), 부품(component) 또는 회로(circuit) 등의 용어와 바꾸어 사용(interchangeably use)될 수 있다. "모듈"은, 일체로 구성된 부품의 최소 단위 또는 그 일부가 될 수 있다. "모듈"은 하나 또는 그 이상의 기능을 수행하는 최소 단위 또는 그 일부가 될 수도 있다. "모듈"은 기계적으로 또는 전자적으로 구현될 수 있다. 예를 들면, 본 발명의 다양한 실시 예에 따른 "모듈"은, 알려졌거나 앞으로 개발될, 어떤 동작들을 수행하는 ASIC(application-specific integrated circuit) 칩, FPGAs(fieldprogrammable gate arrays) 또는 프로그램 가능 논리 장치(programmable-logic device) 중 적어도 하나를 포함할 수 있다.
다양한 실시 예에 따르면, 본 발명의 다양한 실시 예에 따른 장치(예: 모듈들 또는 그 기능들) 또는 방법(예: 동작들)의 적어도 일부는, 예컨대, 프로그래밍 모듈의 형태로 컴퓨터로 읽을 수 있는 저장매체(computer readable storage media)에 저장된 명령어로 구현될 수 있다. 상기 명령어는, 하나 이상의 프로세서에 의해 실행될 경우, 상기 하나 이상의 프로세서가 상기 명령어에 해당하는 기능을 수행할 수 있다. 컴퓨터로 읽을 수 있는 저장매체는, 예를 들면, 상기 내장 스토리지(200)가 될 수 있다. 상기 프로그래밍 모듈의 적어도 일부는, 예를 들면, 상기 어플리케이션 프로세서(120)에 의해 구현(implement)(예: 실행)될 수 있다. 상기 프로그래밍 모듈 의 적어도 일부는 하나 이상의 기능을 수행하기 위한, 예를 들면, 모듈, 프로그램, 루틴, 명령어 세트 (sets of instructions) 또는 프로세스 등을 포함할 수 있다.
상기 컴퓨터로 판독 가능한 기록 매체에는 하드디스크, 플로피디스크 및 자기 테이프와 같은 마그네틱 매체(Magnetic Media)와, CD-ROM(Compact Disc Read Only Memory), DVD(Digital Versatile Disc)와 같은 광기록 매체(Optical Media)와, 플롭티컬 디스크(Floptical Disk)와 같은 자기-광 매체(Magneto-Optical Media)와, 그리고 ROM(Read Only Memory), RAM(Random Access Memory), 플래시 메모리 등과 같은 프로그램 명령(예: 프로그래밍 모듈)을 저장하고 수행하도록 특별히 구성된 하드웨어 장치가 포함될 수 있다. 또한, 프로그램 명령에는 컴파일러에 의해 만들어지는 것과 같은 기계어 코드뿐만 아니라 인터프리터 등을 사용해서 컴퓨터에 의해서 실행될 수 있는 고급 언어 코드를 포함할 수 있다. 상술한 하드웨어 장치는 본 발명의 다양한 실시 예의 동작을 수행하기 위해 하나 이상의 소프트웨어 모듈로서 작동하도록 구성될 수 있으며, 그 역도 마찬가지다.
본 발명은 외장 스토리지와 연결되는 다양한 장치에 적용될 수 있다.
상기에서는 본 발명의 실시예들을 참조하여 설명하였지만, 해당 기술분야에서 통상의 지식을 가진 자는 하기의 특허청구범위에 기재된 본 발명의 사상 및 영역으로부터 벗어나지 않는 범위 내에서 본 발명을 다양하게 수정 및 변경시킬 수 있음을 이해할 것이다.

Claims (10)

  1. 제1 용량을 가지며, 제1 디폴트 영역 및 제1 자유 영역을 구비하는 내장 스토리지를 포함하는 모바일 장치의 동작 방법으로서,
    상기 모바일 장치의 외부 메모리 인터페이스에서, 제2 용량을 가지며 나머지 영역과 제2 자유 영역을 구비하는 외장 스토리지가 상기 모바일 장치 외부로부터 연결됨을 인식하는 단계;
    상기 모바일 장치의 어플리케이션 프로세서에서 상기 외장 스토리지의 성능을 측정하는 단계;
    상기 외장 스토리지의 성능을 기준 값과 비교하는 단계;
    상기 외장 스토리지의 측정된 성능이 상기 기준 값 이상인 경우, 상기 내장 스토리지의 제1 자유 영역과 상기 외장 스토리지의 제2 자유 영역을 하나의 병렬 스토리지를 구성하는 단계;
    상기 나머지 영역의 사용 정책을 판단하는 단계; 및
    상기 어플리케이션 프로세서의 메모리 제어 모듈에서, 상기 내장 스토리지의 제1 성능과 상기 외장 스토리지의 제2 성능에 기초하여 상기 내장 스토리지와 상기 외장 스토리지에 워크로드를 분배하는 단계를 포함하는 모바일 장치의 동작 방법.
  2. 제1항에 있어서, 상기 외장 스토리지의 성능을 측정하는 단계는
    상기 외장 스토리지의 시퀀셜 기입 성능을 측정하는 단계; 및
    상기 외장 스토리지의 시퀀셜 독출 성능을 측정하는 단계를 적어도 포함하고,
    상기 내장 스토리지와 상기 외장 스토리지는 비휘발성인 모바일 장치의 동작 방법.
  3. 제1항에 있어서, 상기 내장 스토리지의 제1 자유 영역과 상기 외장 스토리지의 제2 자유 영역을 하나의 병렬 스토리지로 구성하는 단계는
    상기 메모리 제어 모듈에서,
    상기 내장 스토리지에서 미리 로딩된 데이터를 저장하는 상기 제1 디폴트 영역을 제외한 응용 프로그램들과 사용자 데이터를 저장할 수 있는 상기 제1 자유 영역의 용량을 체크하는 단계;
    상기 외장 스토리지의 유용성을 체크하는 단계;
    상기 내장 스토리지의 제1 자유 영역과 상기 외장 스토리지의 제2 자유 영역으로 제1 레이드를 구성하는 단계; 및
    상기 외장 스토리지의 제2 용량에서, 상기 제2 자유 영역을 제외한 나머지 영역의 사용 정책을 결정하는 단계를 포함하고,
    상기 제2 용량은 상기 제1 용량보다 크거나 같고,
    상기 제1 자유 영역의 제3 용량은 상기 제2 자유 영역의 제4 용량과 실질적으로 동일한 모바일 장치의 동작 방법.
  4. 제3항에 있어서, 상기 나머지 영역의 사용 정책을 결정하는 단계는,
    상기 나머지 영역을 상기 제1 레이드와는 다른 제2 레이드로 구성하는 단계를 포함하고,
    상기 제1 레이드는 스트라이프 형태로 구성되고 상기 제2 레이드는 스팬 형태로 구성되는 모바일 장치의 동작 방법.
  5. 제3항에 있어서, 상기 나머지 영역의 사용 정책을 결정하는 단계는,
    상기 나머지 영역을 상기 응용 프로그램들 중 적어도 하나에 의한 랜덤 데이터를 저장하는 버퍼 영역으로서 사용하는 것을 결정하는 단계; 및
    상기 응용 프로그램들 중 적어도 하나에 의한 데이터가 작은 크기의 랜덤 데이터인 경우, 상기 데이터를 상기 나머지 영역에 저장하는 단계를 포함하는 모바일 장치의 동작 방법.
  6. 제3항에 있어서, 상기 나머지 영역의 사용 정책을 결정하는 단계는,
    상기 나머지 영역을 패리티 영역으로서 사용하는 것을 결정하는 단계;
    상기 응용 프로그램들 중 적어도 하나에 의한 데이터에 기초하여 패리티 데이터를 생성하는 단계; 및
    상기 패리티 데이터를 상기 나머지 영역에 저장하는 단계를 포함하는 모바일 장치의 동작 방법.
  7. 제3항에 있어서, 상기 나머지 영역의 사용 정책을 결정하는 단계는,
    상기 나머지 영역을 상기 제1 레이드의 배드 블록을 구제하는 유보 영역으로서 사용하는 것을 결정하는 단계; 및
    상기 응용 프로그램들 중 적어도 하나에 의한 데이터를 상기 제1 레이드에 기입하는 중에 기입 실패가 발생하면, 상기 기입 실패가 발생한 배드 블록을 상기 나머지 영역의 프리 블록으로 대체하는 단계를 포함하는 모바일 장치의 동작 방법.
  8. 제3항에 있어서,
    상기 모바일 장치는 상기 응용 프로그램들 중 적어도 하나에 의한 구동 데이터를 임시로 저장하는 휘발성 메모리 장치를 포함하고,
    상기 나머지 영역의 사용 정책을 결정하는 단계는,
    상기 나머지 영역을 상기 휘발성 메모리 장치에 저장된 상기 구동 데이터가 스왑되는 데이터 스왑 메모리로서 사용하는 것을 결정하는 단계를 포함하는 모바일 장치의 동작 방법.
  9. 제3항에 있어서,
    상기 나머지 영역의 사용 정책을 결정하는 단계는,
    상기 응용 프로그램들 중 적어도 하나에 의한 데이터 중 액세스 빈도가 기준 빈도보다 낮은 콜드 데이터를 저장하는 콜드 데이터 영역으로서 사용하는 것을 결정하는 단계;
    상기 응용 프로그램들 중 적어도 하나에 의한 상기 데이터의 속성을 판단하는 단계;
    상기 데이터가 콜드 데이터인 경우 상기 데이터를 상기 나머지 영역에 저장하는 단계를 포함하는 모바일 장치의 동작 방법.
  10. 모바일 장치로서,
    응용 프로그램들과 사용자 데이터를 저장하도록 구성되며 제1 용량을 가지고, 제1 디폴트 영역 및 제1 자유 영역을 구비하는 내장 스토리지;
    상기 응용 프로그램들을 구동하도록 구성되면 데이터 제어 모듈을 포함하는 어플리케이션 프로세서;
    상기 응용 프로그램들 중 적어도 하나에 의하여 실행된 구동 데이터를 저장하도록 구성된 휘발성 메모리 장치; 및
    제2 용량을 가지며 나머지 영역과 제2 자유 영역을 구비하는 외장 스토리지와 상기 모바일 장치의 연결을 제공하는 외부 메모리 인터페이스를 포함하고,
    상기 외장 스토리지가 상기 외부 메모리 인터페이스에 의하여 상기 모바일 장치 외부로부터 상기 모바일 장치에 연결되는 경우, 상기 데이터 제어 모듈은
    상기 외장 스토리지의 성능을 측정하고,
    상기 외장 스토리지의 성능을 기준 값과 비교하고
    상기 외장 스토리지의 측정된 성능이 상기 기준 값 이상인 경우, 상기 내장 스토리지의 제1 자유 영역과 상기 외장 스토리지의 제2 자유 영역을 하나의 병렬 처리 스토리지로 구성하고,
    상기 내장 스토리지의 제1 성능과 상기 외장 스토리지의 제2 성능에 기초하여 상기 내장 스토리지와 상기 외장 스토리지에 워크로드를 분배하고,
    상기 내장 스토리지와 상기 외장 스토리지는 비휘발성인 모바일 장치.
KR1020160049879A 2016-04-25 2016-04-25 모바일 장치의 동작 방법 및 모바일 장치 KR102546474B1 (ko)

Priority Applications (2)

Application Number Priority Date Filing Date Title
KR1020160049879A KR102546474B1 (ko) 2016-04-25 2016-04-25 모바일 장치의 동작 방법 및 모바일 장치
US15/461,152 US10416893B2 (en) 2016-04-25 2017-03-16 Methods of operating mobile devices and mobile devices

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020160049879A KR102546474B1 (ko) 2016-04-25 2016-04-25 모바일 장치의 동작 방법 및 모바일 장치

Publications (2)

Publication Number Publication Date
KR20170121451A KR20170121451A (ko) 2017-11-02
KR102546474B1 true KR102546474B1 (ko) 2023-06-22

Family

ID=60089588

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020160049879A KR102546474B1 (ko) 2016-04-25 2016-04-25 모바일 장치의 동작 방법 및 모바일 장치

Country Status (2)

Country Link
US (1) US10416893B2 (ko)
KR (1) KR102546474B1 (ko)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR102372187B1 (ko) * 2017-11-24 2022-03-08 삼성전자주식회사 센싱 전극을 포함하는 통신 장치를 포함하는 전자 장치
CN111343386B (zh) * 2018-12-19 2022-03-25 北京小米移动软件有限公司 图像信号处理方法及装置、电子设备、存储介质

Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20090228650A1 (en) * 2008-03-06 2009-09-10 Britto Rossario RAID system and apparatus for a handheld device
US20100153621A1 (en) * 2008-12-12 2010-06-17 At&T Intellectual Property I, L.P. Methods, computer program products, and systems for providing an upgradeable hard disk
JP2011154676A (ja) * 2009-12-28 2011-08-11 Panasonic Corp 半導体記録装置、半導体記録装置の制御方法及び半導体記録システム
KR101317759B1 (ko) * 2012-07-02 2013-10-11 주식회사 태진인포텍 비대칭 raid 저장 기반 시스템 아키텍쳐
US20140173268A1 (en) * 2011-08-19 2014-06-19 Kabushiki Kaisha Toshiba Information processing apparatus, method for controlling information processing apparatus, non-transitory recording medium storing control tool, host device, non-transitory recording medium storing performance evaluation tool, and performance evaluation method for external memory device
US20140181400A1 (en) * 2011-12-31 2014-06-26 Huawei Technologies Co., Ltd. Method for A Storage Device Processing Data and Storage Device

Family Cites Families (26)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6567891B2 (en) * 2001-03-14 2003-05-20 Hewlett-Packard Development Company, L.P. Methods and arrangements for improved stripe-based processing
US6832297B2 (en) 2001-08-09 2004-12-14 International Business Machines Corporation Method and apparatus for managing data in a distributed buffer system
US6996743B2 (en) 2002-07-26 2006-02-07 Sun Microsystems, Inc. Method for implementing a redundant data storage system
KR100735437B1 (ko) 2006-03-07 2007-07-04 삼성전자주식회사 이동통신 단말기에서의 레이드 시스템 및 방법
US7904672B2 (en) 2006-12-08 2011-03-08 Sandforce, Inc. System and method for providing data redundancy after reducing memory writes
US20080195590A1 (en) * 2007-02-08 2008-08-14 Mitsuo Nakamura Network device, image forming device, and data searching method
US8321597B2 (en) 2007-02-22 2012-11-27 Super Talent Electronics, Inc. Flash-memory device with RAID-type controller
US8185783B2 (en) 2007-11-22 2012-05-22 Microsoft Corporation Split user-mode/kernel-mode device driver architecture
US8112586B1 (en) * 2008-06-13 2012-02-07 Emc Corporation Predicting and optimizing I/O performance characteristics in a multi-level caching system
US8959280B2 (en) * 2008-06-18 2015-02-17 Super Talent Technology, Corp. Super-endurance solid-state drive with endurance translation layer (ETL) and diversion of temp files for reduced flash wear
US20100017556A1 (en) * 2008-07-19 2010-01-21 Nanostar Corporationm U.S.A. Non-volatile memory storage system with two-stage controller architecture
KR20100009752A (ko) * 2008-07-21 2010-01-29 삼성전자주식회사 자기장을 이용한 무전해 도금 장치 및 방법
US8799743B2 (en) 2008-10-28 2014-08-05 Micron Technology, Inc. Error correction in multiple semiconductor memory units
JP2010282281A (ja) 2009-06-02 2010-12-16 Hitachi Ltd ディスクアレイ装置、及びその制御方法、並びにプログラム
US9201604B2 (en) 2010-04-20 2015-12-01 Taejin Info Tech Co., Ltd. Raid controller for a semiconductor storage device
US8782335B2 (en) * 2010-11-08 2014-07-15 Lsi Corporation Latency reduction associated with a response to a request in a storage system
US8601311B2 (en) 2010-12-14 2013-12-03 Western Digital Technologies, Inc. System and method for using over-provisioned data capacity to maintain a data redundancy scheme in a solid state memory
US8700950B1 (en) 2011-02-11 2014-04-15 Western Digital Technologies, Inc. System and method for data error recovery in a solid state subsystem
US8880795B2 (en) * 2011-04-29 2014-11-04 Comcast Cable Communications, LLC. Intelligent partitioning of external memory devices
US8954668B2 (en) 2011-05-23 2015-02-10 International Business Machines Corporation Writing of data of a first block size in a raid array that stores and mirrors data in a second block size
US9335939B2 (en) 2011-07-12 2016-05-10 Violin Memory Inc. RAIDed memory system
WO2013018128A1 (en) * 2011-08-01 2013-02-07 Hitachi, Ltd. Storage apparatus and method for allocating an internal logical volume associated with an external logical volume to an internal tiered pool by assessing or inferring, the performance of said external logical volume
KR101284002B1 (ko) * 2011-09-07 2013-07-10 삼성전자주식회사 외부 메모리의 장착 수단을 구비하는 장치
US9335928B2 (en) * 2011-10-01 2016-05-10 International Business Machines Corporation Using unused portion of the storage space of physical storage devices configured as a RAID
US9542272B2 (en) * 2014-03-24 2017-01-10 Avago Technologies General Ip (Singapore) Pte. Ltd. Write redirection in redundant array of independent disks systems
US9792048B2 (en) * 2015-06-22 2017-10-17 Western Digital Technologies, Inc. Identifying disk drives and processing data access requests

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20090228650A1 (en) * 2008-03-06 2009-09-10 Britto Rossario RAID system and apparatus for a handheld device
US20100153621A1 (en) * 2008-12-12 2010-06-17 At&T Intellectual Property I, L.P. Methods, computer program products, and systems for providing an upgradeable hard disk
JP2011154676A (ja) * 2009-12-28 2011-08-11 Panasonic Corp 半導体記録装置、半導体記録装置の制御方法及び半導体記録システム
US20140173268A1 (en) * 2011-08-19 2014-06-19 Kabushiki Kaisha Toshiba Information processing apparatus, method for controlling information processing apparatus, non-transitory recording medium storing control tool, host device, non-transitory recording medium storing performance evaluation tool, and performance evaluation method for external memory device
US20140181400A1 (en) * 2011-12-31 2014-06-26 Huawei Technologies Co., Ltd. Method for A Storage Device Processing Data and Storage Device
KR101317759B1 (ko) * 2012-07-02 2013-10-11 주식회사 태진인포텍 비대칭 raid 저장 기반 시스템 아키텍쳐

Also Published As

Publication number Publication date
KR20170121451A (ko) 2017-11-02
US20170308300A1 (en) 2017-10-26
US10416893B2 (en) 2019-09-17

Similar Documents

Publication Publication Date Title
KR102619954B1 (ko) 데이터를 처리하기 위한 방법 및 이를 지원하는 전자 장치
US10585513B2 (en) Electronic device including force sensor integrated with display
US11075535B2 (en) Electronic device and method of controlling charging of the same
EP3289465B1 (en) Systems and methods for optimizing memory power consumption in a heterogeneous system memory
JP2017506391A (ja) Dram欠陥のカーネルマスキング
US10747983B2 (en) Electronic device and method for sensing fingerprints
KR102209840B1 (ko) 가상화 서비스 제공 장치 및 그 방법
US10241718B2 (en) Electronic device and method of analyzing fragmentation of electronic device
US11281814B2 (en) Screen-on method and related apparatus
US9939874B2 (en) Selectively disabling sensors and associated functions
US10558290B2 (en) Electronic device and method for recognizing touch input therefor
US10168190B2 (en) Electronic device and method for providing external environment information
KR102546474B1 (ko) 모바일 장치의 동작 방법 및 모바일 장치
KR102383879B1 (ko) 디스플레이 장치 및 그를 구비하는 전자 장치
EP4383059A1 (en) Data storage method and device for data storage
KR20150089393A (ko) 배터리 충전 제어 방법 및 그 전자 장치
US11604656B2 (en) Method and apparatus for managing application
CN116467015B (zh) 镜像生成方法、系统启动校验方法及相关设备
KR102672923B1 (ko) 저장 장치를 초기화하는 방법 및 전자 장치
US9990095B2 (en) Touch panel and electronic device having the same
CN114282342A (zh) 存储装置的故障预测方法和装置
US20150119008A1 (en) Method of reproducing contents and electronic device thereof
US20170199706A1 (en) Electronic device data recording method and electronic device thereof
KR20150049221A (ko) 배터리 충전 제어 방법 및 그 전자 장치
KR20220079212A (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