KR101978256B1 - 모바일 기기의 데이터 독출 방법 및 이를 이용하는 모바일 기기 - Google Patents

모바일 기기의 데이터 독출 방법 및 이를 이용하는 모바일 기기 Download PDF

Info

Publication number
KR101978256B1
KR101978256B1 KR1020120107702A KR20120107702A KR101978256B1 KR 101978256 B1 KR101978256 B1 KR 101978256B1 KR 1020120107702 A KR1020120107702 A KR 1020120107702A KR 20120107702 A KR20120107702 A KR 20120107702A KR 101978256 B1 KR101978256 B1 KR 101978256B1
Authority
KR
South Korea
Prior art keywords
data
read
activated
trigger signal
mobile device
Prior art date
Application number
KR1020120107702A
Other languages
English (en)
Other versions
KR20140040969A (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 KR1020120107702A priority Critical patent/KR101978256B1/ko
Priority to US14/036,285 priority patent/US9430307B2/en
Publication of KR20140040969A publication Critical patent/KR20140040969A/ko
Application granted granted Critical
Publication of KR101978256B1 publication Critical patent/KR101978256B1/ko

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/0703Error or fault processing not based on redundancy, i.e. by taking additional measures to deal with the error or fault not making use of redundancy in operation, in hardware, or in data representation
    • G06F11/0706Error or fault processing not based on redundancy, i.e. by taking additional measures to deal with the error or fault not making use of redundancy in operation, in hardware, or in data representation the processing taking place on a specific hardware platform or in a specific software environment
    • G06F11/073Error or fault processing not based on redundancy, i.e. by taking additional measures to deal with the error or fault not making use of redundancy in operation, in hardware, or in data representation the processing taking place on a specific hardware platform or in a specific software environment in a memory management context, e.g. virtual memory or cache management
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04BTRANSMISSION
    • H04B1/00Details of transmission systems, not covered by a single one of groups H04B3/00 - H04B13/00; Details of transmission systems not characterised by the medium used for transmission
    • H04B1/38Transceivers, i.e. devices in which transmitter and receiver form a structural unit and in which at least one part is used for functions of transmitting and receiving
    • H04B1/40Circuits
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/02Addressing or allocation; Relocation
    • G06F12/08Addressing or allocation; Relocation in hierarchically structured memory systems, e.g. virtual memory systems
    • G06F12/0802Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches
    • G06F12/0862Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches with prefetch
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F13/00Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F13/14Handling requests for interconnection or transfer
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/02Addressing or allocation; Relocation
    • G06F12/08Addressing or allocation; Relocation in hierarchically structured memory systems, e.g. virtual memory systems
    • G06F12/0802Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches
    • G06F12/0866Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches for peripheral storage systems, e.g. disk cache
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2212/00Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
    • G06F2212/17Embedded application
    • G06F2212/171Portable consumer electronics, e.g. mobile phone
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y02TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
    • Y02DCLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
    • Y02D10/00Energy efficient computing, e.g. low power processors, power management or thermal management

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Quality & Reliability (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Telephone Function (AREA)

Abstract

모바일 기기 상에서 데이터를 독출하기 위하여, 모바일 기기의 데이터 독출 환경에 따라 선택적으로 활성화되는 트리거 신호를 검출한다. 트리거 신호가 활성화된 경우에, 모바일 기기에서 데이터 독출 동작이 요청되기 이전에 선인출되는 데이터의 양을 나타내는 리드-어헤드(read-ahead) 데이터의 크기를 활성화된 트리거 신호에 기초하여 변경한다. 데이터 독출 커맨드 및 변경된 리드-어헤드 데이터의 크기에 기초하여 모바일 기기에서 데이터 독출 동작을 수행한다.

Description

모바일 기기의 데이터 독출 방법 및 이를 이용하는 모바일 기기{METHOD OF READING DATA ON MOBILE SYSTEM AND MOBILE SYSTEM USING THE SAME}
본 발명은 모바일 기기에 관한 것으로서, 더욱 상세하게는 모바일 기기의 데이터 독출 방법 및 상기 데이터 독출 방법을 이용하는 모바일 기기에 관한 것이다.
스마트 폰, 태블릿 PC 등과 같은 모바일 기기가 널리 이용되고 있다. 다른 컴퓨팅 시스템과 마찬가지로, 모바일 기기는 데이터 독출 동작 및 데이터 기입 동작을 수행할 수 있다. 모바일 기기 상에서 독출하고자 하는 데이터의 종류는 매우 다양하며, 따라서 모바일 기기 상에서 다양한 종류의 데이터를 효과적으로 독출하기 위한 기술들이 개발되고 있다.
본 발명의 일 목적은 모바일 기기 상에서 리드-어헤드(read-ahead) 데이터의 크기를 조절하여 데이터를 효과적으로 독출할 수 있는 방법을 제공하는 것이다.
본 발명의 다른 목적은 리드-어헤드 데이터의 크기를 조절하여 데이터를 효과적으로 독출할 수 있는 모바일 기기를 제공하는 것이다.
상기 일 목적을 달성하기 위해, 본 발명의 실시예들에 따른 모바일 기기의 데이터 독출 방법에서는, 상기 모바일 기기의 데이터 독출 환경에 따라 선택적으로 활성화되는 트리거 신호를 검출한다. 상기 트리거 신호가 활성화된 경우에, 상기 모바일 기기에서 데이터 독출 동작이 요청되기 이전에 선인출되는 데이터의 양을 나타내는 리드-어헤드(read-ahead) 데이터의 크기를 상기 활성화된 트리거 신호에 기초하여 변경한다. 데이터 독출 커맨드 및 상기 변경된 리드-어헤드 데이터의 크기에 기초하여 상기 모바일 기기에서 데이터 독출 동작을 수행한다.
상기 리드-어헤드 데이터의 크기를 변경하는데 있어서, 상기 활성화된 트리거 신호의 종류를 판단할 수 있다. 상기 활성화된 트리거 신호의 종류에 기초하여 상기 리드-어헤드 데이터의 크기를 증가시키거나 감소시킬 수 있다.
일 실시예에서, 상기 트리거 신호는 상기 모바일 기기와 외부 저장 장치가 연결되는 경우에 활성화되는 제1 트리거 신호, 상기 모바일 기기가 미리 정해진 응용 프로그램 또는 프로세스를 실행하는 경우에 활성화되는 제2 트리거 신호, 및 상기 모바일 기기가 상기 외부 저장 장치로부터 미리 정해진 데이터를 독출하는 경우에 활성화되는 제3 트리거 신호를 포함할 수 있다.
상기 제1 내지 제3 트리거 신호들 중에서 적어도 하나가 활성화된 경우에, 상기 리드-어헤드 데이터의 크기가 증가될 수 있다.
일 실시예에서, 상기 제1 내지 제3 트리거 신호들 중에서 두 개 이상이 활성화된 경우에, 상기 활성화된 두 개 이상의 트리거 신호들 모두에 기초하여 상기 리드-어헤드 데이터의 크기가 증가될 수 있다.
일 실시예에서, 상기 제1 내지 제3 트리거 신호들 중에서 두 개 이상이 활성화된 경우에, 상기 활성화된 두 개 이상의 트리거 신호들 중 하나를 선택하고 상기 선택된 트리거 신호에 기초하여 상기 리드-어헤드 데이터의 크기가 증가될 수 있다.
일 실시예에서, 상기 트리거 신호는 상기 모바일 기기와 외부 저장 장치의 연결이 해제되는 경우에 활성화되는 제1 트리거 신호, 미리 정해진 응용 프로그램 또는 프로세스의 실행이 종료되는 경우에 활성화되는 제2 트리거 신호, 및 상기 외부 저장 장치로부터 미리 정해진 데이터를 독출하는 독출 동작이 종료되는 경우에 활성화되는 제3 트리거 신호를 더 포함할 수 있다.
상기 제1 내지 제3 트리거 신호들 중에서 적어도 하나가 활성화된 경우에, 상기 리드-어헤드 데이터의 크기가 감소될 수 있다.
상기 리드-어헤드 데이터의 크기는 상기 모바일 기기에 연결되는 외부 저장 장치의 종류, 상기 모바일 기기와 상기 외부 저장 장치를 연결하는 인터페이스의 종류, 상기 미리 정해진 응용 프로그램 또는 프로세스의 종류, 또는 상기 미리 정해진 데이터의 크기 및 종류에 따라 다르게 변경될 수 있다.
상기 모바일 기기에 연결되는 외부 저장 장치는 메모리 카드(Memory Card; MC), 보안 디지털(Secure Digital; SD) 카드, 멀티미디어 카드(Multi-Media Card; MMC), 임베디드 멀티미디어 카드(embedded MMC; eMMC), 컴팩트 플래시(Compact Flash; CF) 카드, USB(Universal Serial Bus) 저장 장치, 또는 카메라 장치일 수 있다.
상기 외부 저장 장치는 메모리 카드 인터페이스, USB 인터페이스, 무선 USB 인터페이스, 이더넷(Ethernet) 인터페이스, 무선랜 인터페이스, 블루투스(Bluetooth) 인터페이스, 근거리 무선 통신(Near Field Communication; NFC) 인터페이스, 무선 식별(Radio Frequency Identification; RFID) 인터페이스 또는 미디어 전송 프로토콜(Media Transfer Protocol; MTP) 인터페이스를 이용하여 상기 모바일 기기와 연결될 수 있다.
상기 미리 정해진 응용 프로그램 또는 프로세스는 멀티미디어 파일 재생 프로그램, 멀티미디어 파일 편집 프로그램, 멀티미디어 파일 제작 프로그램, 데이터 다운로드 프로그램, 데이터 스트리밍 프로그램 또는 응용 프로그램의 설치 프로세스를 포함할 수 있다.
상기 미리 정해진 데이터는 멀티미디어 파일 또는 미리 정해진 기준 크기보다 큰 파일일 수 있다.
상기 모바일 기기는 휴대폰(Mobile Phone), 스마트 폰(Smart Phone), 태블릿(Tablet) PC, 개인 정보 단말기(Personal Digital Assistant; PDA), 휴대형 멀티미디어 플레이어(Portable Multimedia Player; PMP), 디지털 카메라(Digital Camera), 음악 재생기(Music Player), 휴대용 게임 콘솔(Portable Game Console), 또는 네비게이션(Navigation) 시스템일 수 있다.
상기 다른 목적을 달성하기 위해, 본 발명의 실시예들에 따른 모바일 기기는 어플리케이션 프로세서 및 메모리 장치를 포함한다. 상기 어플리케이션 프로세서는 상기 모바일 기기를 구동하기 위한 운영 체제(Operating System; OS)를 실행하고, 상기 모바일 기기의 데이터 독출 환경에 따라 선택적으로 활성화되는 트리거 신호를 검출하고, 상기 트리거 신호가 활성화된 경우에 상기 모바일 기기에서 데이터 독출 동작이 요청되기 이전에 선인출되는 데이터의 양을 나타내는 리드-어헤드(read-ahead) 데이터의 크기를 상기 활성화된 트리거 신호에 기초하여 변경하며, 데이터 독출 커맨드 및 상기 변경된 리드-어헤드 데이터의 크기에 기초하여 상기 모바일 기기에서 데이터 독출 동작을 수행한다. 상기 메모리 장치는 상기 운영체제를 저장한다.
상기와 같은 본 발명의 실시예들에 따른 모바일 기기의 데이터 독출 방법에서는, 트리거 신호를 기초로 모바일 기기의 동작 환경(예를 들어, 데이터 독출 환경)을 인식하며, 독출하고자 하는 데이터의 크기 및/또는 종류에 따라서 리드-어헤드 데이터의 크기를 증가 또는 감소시킬 수 있다. 따라서 모바일 기기의 데이터 독출 성능이 향상될 수 있으며 모바일 기기는 상대적으로 빠른 응답속도를 가지고 상대적으로 적은 전력을 소비할 수 있다.
도 1은 본 발명의 실시예들에 따른 모바일 기기의 데이터 독출 방법을 나타내는 순서도이다.
도 2는 본 발명의 실시예들에 따른 모바일 기기를 나타내는 블록도이다.
도 3은 도 1에 도시된 모바일 기기의 데이터 독출 방법의 일 예를 나타내는 순서도이다.
도 4, 5, 6, 7, 8, 9, 10 및 11은 본 발명의 실시예들에 따른 모바일 기기의 데이터 독출 방법을 설명하기 위한 도면들이다.
도 12 및 13은 도 3의 리드-어헤드 데이터의 크기를 증가시키는 단계의 예들을 나타내는 순서도들이다.
도 14는 도 1에 도시된 모바일 기기의 데이터 독출 방법의 다른 예를 나타내는 순서도이다.
본문에 개시되어 있는 본 발명의 실시예들에 대해서, 특정한 구조적 내지 기능적 설명들은 단지 본 발명의 실시예를 설명하기 위한 목적으로 예시된 것으로, 본 발명의 실시예들은 다양한 형태로 실시될 수 있으며 본문에 설명된 실시예들에 한정되는 것으로 해석되어서는 아니 된다.
본 발명은 다양한 변경을 가할 수 있고 여러 가지 형태를 가질 수 있는바, 특정 실시예들을 도면에 예시하고 본문에 상세하게 설명하고자 한다. 그러나 이는 본 발명을 특정한 개시 형태에 대해 한정하려는 것이 아니며, 본 발명의 사상 및 기술 범위에 포함되는 모든 변경, 균등물 내지 대체물을 포함하는 것으로 이해되어야 한다.
제 1, 제 2 등의 용어는 다양한 구성요소들을 설명하는데 사용될 수 있지만, 상기 구성요소들은 상기 용어들에 의해 한정되어서는 안 된다. 상기 용어들은 하나의 구성요소를 다른 구성요소로부터 구별하는 목적으로 사용될 수 있다. 예를 들어, 본 발명의 권리 범위로부터 이탈되지 않은 채 제 1 구성요소는 제 2 구성요소로 명명될 수 있고, 유사하게 제 2 구성요소도 제 1 구성요소로 명명될 수 있다.
어떤 구성요소가 다른 구성요소에 "연결되어" 있다거나 "접속되어" 있다고 언급된 때에는, 그 다른 구성요소에 직접적으로 연결되어 있거나 또는 접속되어 있을 수도 있지만, 중간에 다른 구성요소가 존재할 수도 있다고 이해되어야 할 것이다. 반면에, 어떤 구성요소가 다른 구성요소에 "직접 연결되어" 있다거나 "직접 접속되어" 있다고 언급된 때에는, 중간에 다른 구성요소가 존재하지 않는 것으로 이해되어야 할 것이다. 구성요소들 간의 관계를 설명하는 다른 표현들, 즉 "~사이에"와 "바로 ~사이에" 또는 "~에 이웃하는"과 "~에 직접 이웃하는" 등도 마찬가지로 해석되어야 한다.
본 출원에서 사용한 용어는 단지 특정한 실시예를 설명하기 위해 사용된 것으로, 본 발명을 한정하려는 의도가 아니다. 단수의 표현은 문맥상 명백하게 다르게 뜻하지 않는 한, 복수의 표현을 포함한다. 본 출원에서, "포함하다" 또는 "가지다" 등의 용어는 설시된 특징, 숫자, 단계, 동작, 구성요소, 부분품 또는 이들을 조합한 것이 존재함을 지정하려는 것이지, 하나 또는 그 이상의 다른 특징들이나 숫자, 단계, 동작, 구성요소, 부분품 또는 이들을 조합한 것들의 존재 또는 부가 가능성을 미리 배제하지 않는 것으로 이해되어야 한다.
다르게 정의되지 않는 한, 기술적이거나 과학적인 용어를 포함해서 여기서 사용되는 모든 용어들은 본 발명이 속하는 기술 분야에서 통상의 지식을 가진 자에 의해 일반적으로 이해되는 것과 동일한 의미이다. 일반적으로 사용되는 사전에 정의되어 있는 것과 같은 용어들은 관련 기술의 문맥상 가지는 의미와 일치하는 의미인 것으로 해석되어야 하며, 본 출원에서 명백하게 정의하지 않는 한, 이상적이거나 과도하게 형식적인 의미로 해석되지 않는다.
한편, 어떤 실시예가 달리 구현 가능한 경우에 특정 블록 내에 명기된 기능 또는 동작이 순서도에 명기된 순서와 다르게 일어날 수도 있다. 예를 들어, 연속하는 두 블록이 실제로는 실질적으로 동시에 수행될 수도 있고, 관련된 기능 또는 동작에 따라서는 상기 블록들이 거꾸로 수행될 수도 있다.
이하, 첨부한 도면들을 참조하여, 본 발명의 바람직한 실시예를 보다 상세하게 설명하고자 한다. 도면상의 동일한 구성요소에 대해서는 동일한 참조부호를 사용하고 동일한 구성요소에 대해서 중복된 설명은 생략한다.
도 1은 본 발명의 실시예들에 따른 모바일 기기의 데이터 독출 방법을 나타내는 순서도이다.
도 1에 도시된 데이터 독출 방법은 리드-어헤드(read-ahead) 방식에 기초하여 내부 및/또는 외부의 저장 장치로부터 데이터를 독출하는 모바일 기기에 적용될 수 있다. 이하, 스마트 폰(Smart Phone)을 중심으로 본 발명의 실시예들에 따른 모바일 기기의 데이터 독출 방법을 설명하지만, 본 발명의 실시예들에 따른 모바일 기기의 데이터 독출 방법은 다양한 종류의 모바일 기기에 적용될 수 있다.
리드-어헤드 방식이란 데이터 독출 동작이 요청되기 이전에 데이터를 선인출하고(예를 들어, 캐시 메모리 또는 휘발성 메모리와 같이 동작 속도가 상대적으로 빠른 메모리에 데이터를 저장하고) 상기 데이터 독출 동작이 요청되면 상기 선인출된 데이터를 독출하는 방식이다. 리드-어헤드 방식에 기초하여 데이터를 독출하는 경우에 대용량 데이터에 대한 독출 성능이 향상될 수 있다.
도 1을 참조하면, 본 발명의 실시예들에 따른 모바일 기기의 데이터 독출 방법에서는, 트리거 신호를 검출하고(단계 S100), 상기 트리거 신호가 활성화된 경우에 상기 활성화된 트리거 신호에 기초하여 리드-어헤드 데이터의 크기를 변경하며(단계 S200), 데이터 독출 커맨드 및 상기 변경된 리드-어헤드 데이터의 크기에 기초하여 상기 모바일 기기에서 데이터 독출 동작을 수행한다(단계 S300).
상기 트리거 신호는 상기 모바일 기기의 데이터 독출 환경에 따라 선택적으로 활성화된다. 일 실시예에서, 상기 트리거 신호는 복수의 신호들을 포함할 수 있으며, 상기 트리거 신호에 포함되는 복수의 신호들 각각은 상기 모바일 기기가 미리 정해진 동작 환경(예를 들어, 데이터 독출 환경)을 만족하는 경우에 활성화될 수 있다. 다른 실시예에서, 상기 트리거 신호는 하나의 신호일 수 있으며, 상기 모바일 기기가 미리 정해진 동작 환경(예를 들어, 데이터 독출 환경)을 만족하는 경우에 상기 트리거 신호 상에 트리거 펄스가 발생될 수 있다. 상기 리드-어헤드 데이터의 크기는 상기 모바일 기기에서 데이터 독출 동작이 요청되기 이전에 선인출되는 데이터의 양을 나타낸다.
대용량의 데이터를 순차적으로 독출하는 경우에는 리드-어헤드 방식을 이용하면 데이터 독출 성능이 향상될 수 있다. 하지만 작은 용량의 데이터를 무작위로 독출하는 경우에는 리드-어헤드 방식을 이용하면 데이터 독출 성능이 오히려 열화될 수 있다. 따라서 모바일 기기와 같이 다양한 크기 및 종류의 데이터를 독출하는 시스템에서는 리드-어헤드 방식을 이용하는데 한계가 있었다. 종래의 모바일 기기는 데이터 독출 동작 시에 리드-어헤드 방식을 이용하지 않거나, 리드-어헤드 방식을 이용하더라도 리드-어헤드 데이터의 크기를 상대적으로 작게 설정하였다.
본 발명의 실시예들에 따른 모바일 기기의 데이터 독출 방법에서는, 상황 인지(context-aware) 기반의 동적 리드-어헤드 방식에 기초하여 데이터를 독출한다. 즉, 상기 트리거 신호를 기초로 모바일 기기의 동작 환경(예를 들어, 데이터 독출 환경)을 인식하며, 상대적으로 대용량의 데이터를 독출하고자 하는 경우에는 리드-어헤드 데이터의 크기를 증가시키고 상대적으로 작은 용량의 데이터를 독출하고자 하는 경우에는 리드-어헤드 데이터의 크기를 감소시킬 수 있다. 따라서, 본 발명의 실시예들에 따른 모바일 기기의 데이터 독출 방법이 적용되는 경우에, 모바일 기기의 데이터 독출 성능이 향상될 수 있으며 모바일 기기는 상대적으로 빠른 응답속도를 가지고 상대적으로 적은 전력을 소비할 수 있다.
도 2는 본 발명의 실시예들에 따른 모바일 기기를 나타내는 블록도이다.
도 2를 참조하면, 모바일 기기(100)는 어플리케이션 프로세서(110), 통신(Connectivity)부(120), 휘발성 메모리 장치(130), 비휘발성 메모리 장치(140), 사용자 인터페이스(150) 및 파워 서플라이(160)를 포함한다. 실시예에 따라서, 모바일 기기(100)는 휴대폰(Mobile Phone), 스마트 폰, 태블릿(Tablet) PC(Personal Computer), 개인 정보 단말기(Personal Digital Assistant; PDA), 휴대형 멀티미디어 플레이어(Portable Multimedia Player; PMP), 디지털 카메라(Digital Camera), 음악 재생기(Music Player), 휴대용 게임 콘솔(Portable Game Console), 또는 네비게이션(Navigation) 시스템 등과 같은 임의의 모바일 기기일 수 있다.
어플리케이션 프로세서(110)는 모바일 기기(100)를 구동하기 위한 운영 체제(Operating System; OS)를 실행할 수 있다. 또한, 어플리케이션 프로세서(110)는 인터넷 브라우저, 게임, 동영상 등을 제공하는 다양한 어플리케이션들을 실행할 수 있다. 실시예에 따라서, 어플리케이션 프로세서(110)는 하나의 프로세서 코어(Single Core)를 포함하거나, 복수의 프로세서 코어들(Multi-Core)을 포함할 수 있다. 또한, 실시예에 따라서, 어플리케이션 프로세서(110)는 내부 또는 외부에 위치한 캐시 메모리(Cache Memory)를 더 포함할 수 있다.
통신부(120)는 외부 장치(예를 들어, 외부 저장 장치)와 무선 통신 또는 유선 통신을 수행할 수 있다. 예를 들어, 통신부(120)는 이더넷(Ethernet) 통신, 근거리 무선 통신(Near Field Communication; NFC), 무선 식별(Radio Frequency Identification; RFID) 통신, 이동 통신(Mobile Telecommunication), 메모리 카드 통신, 범용 직렬 버스(Universal Serial Bus; USB) 통신 등을 수행할 수 있다. 예를 들어, 통신부(120)는 베이스밴드 칩 셋(Baseband Chipset)을 포함할 수 있고, GSM, GPRS, WCDMA, HSxPA 등의 통신을 지원할 수 있다.
휘발성 메모리 장치(130)는 어플리케이션 프로세서(110)에 의해 처리되는 데이터를 저장하거나, 동작 메모리(Working Memory)로서 작동할 수 있다. 예를 들어, 휘발성 메모리 장치(130)는 DRAM(Dynamic Random Access Memory), SRAM(Static Random Access Memory), 모바일 DRAM, DDR SDRAM, LPDDR SDRAM, GDDR SDRAM, RDRAM 또는 이와 유사한 메모리로 구현될 수 있다.
비휘발성 메모리 장치(140)는 모바일 기기(100)를 부팅하기 위한 부트 이미지(boot image), 모바일 기기(100)를 구동하기 위한 상기 운영 체제 및 상기 운영 체제와 관련된 파일 시스템(file system), 모바일 기기(100)와 연결되는 상기 외부 장치와 관련된 장치 드라이버(device driver), 모바일 기기(100)에서 실행되는 상기 어플리케이션 등을 저장할 수 있다. 예를 들어, 비휘발성 메모리 장치(1440)는 EEPROM(Electrically Erasable Programmable Read-Only Memory), 플래시 메모리(Flash Memory), PRAM(Phase Change Random Access Memory), RRAM(Resistance Random Access Memory), NFGM(Nano Floating Gate Memory), PoRAM(Polymer Random Access Memory), MRAM(Magnetic Random Access Memory), FRAM(Ferroelectric Random Access Memory) 또는 이와 유사한 메모리로 구현될 수 있다.
사용자 인터페이스(150)는 키패드, 터치 스크린과 같은 하나 이상의 입력 장치, 및/또는 스피커, 디스플레이 장치와 같은 하나 이상의 출력 장치를 포함할 수 있다. 파워 서플라이(160)는 모바일 기기(100)의 동작 전압을 공급할 수 있다. 또한, 실시예에 따라서, 모바일 기기(100)는 카메라 이미지 프로세서(Camera Image Processor; CIS)를 더 포함할 수 있고, 메모리 카드(Memory Card) 등과 같이 대용량 데이터(예를 들어, 음성/이미지/동영상 데이터와 같은 멀티미디어 파일 등)를 저장하는 저장 장치를 더 포함할 수 있다.
모바일 기기(100) 또는 모바일 기기(100)의 구성요소들은 다양한 형태들의 패키지를 이용하여 실장될 수 있는데, 예를 들어, PoP(Package on Package), BGAs(Ball grid arrays), CSPs(Chip scale packages), PLCC(Plastic Leaded Chip Carrier), PDIP(Plastic Dual In-Line Package), Die in Waffle Pack, Die in Wafer Form, COB(Chip On Board), CERDIP(Ceramic Dual In-Line Package), MQFP(Plastic Metric Quad Flat Pack), TQFP(Thin Quad Flat-Pack), SOIC(Small Outline Integrated Circuit), SSOP(Shrink Small Outline Package), TSOP(Thin Small Outline Package), TQFP(Thin Quad Flat-Pack), SIP(System In Package), MCP(Multi Chip Package), WFP(Wafer-level Fabricated Package), WSP(Wafer-Level Processed Stack Package) 등과 같은 패키지들을 이용하여 실장될 수 있다.
일 실시예에서, 어플리케이션 프로세서(110)는 리드-어헤드 인핸서(112)를 포함할 수 있다. 리드-어헤드 인핸서(112)는 상기 모바일 기기(100)의 데이터 독출 환경에 따라 선택적으로 활성화되는 트리거 신호(TRG)를 검출하고, 트리거 신호(TRG)에 기초하여 상기 리드-어헤드 데이터의 크기를 조절할 수 있다. 예를 들어, 리드-어헤드 인핸서(112)는 트리거 신호(TRG)가 활성화된 경우에 상기 활성화된 트리거 신호(TRG)에 기초하여 상기 리드-어헤드 데이터의 크기를 변경(예를 들어, 증가 또는 감소)하고, 트리거 신호(TRG)가 비활성화된 경우에 상기 비활성화된 트리거 신호(TRG)에 기초하여 상기 리드-어헤드 데이터의 크기를 유지할 수 있다.
일 실시예에서, 리드-어헤드 인핸서(112)의 일부 또는 전부는 어플리케이션 프로세서(110)에 의해 실행 가능한 프로그램의 형태로 구현되고 상기 프로그램은 비휘발성 메모리 장치(140) 또는 상기 저장 장치에 저장될 수 있다. 다른 실시예에서, 리드-어헤드 인핸서(112)의 일부 또는 전부는 하드웨어로 구현되어 어플리케이션 프로세서(110)에 포함될 수 있다.
도 3은 도 1에 도시된 모바일 기기의 데이터 독출 방법의 일 예를 나타내는 순서도이다.
도 2 및 3을 참조하면, 트리거 신호(TRG)를 검출함에 있어서, 리드-어헤드 인핸서(112)는 트리거 신호(TRG)가 활성화되었는지 여부를 판단할 수 있다(단계 S120).
일 실시예에서, 트리거 신호(TRG)는 모바일 기기(100)와 외부 저장 장치가 연결되는 경우에 활성화되는 제1 트리거 신호, 모바일 기기(100)가 미리 정해진 응용 프로그램 또는 프로세스를 실행하는 경우에 활성화되는 제2 트리거 신호, 및 모바일 기기(100)가 상기 외부 저장 장치로부터 미리 정해진 데이터를 독출하는 경우에 활성화되는 제3 트리거 신호를 포함할 수 있다. 또한, 트리거 신호(TRG)는 모바일 기기(100)와 상기 외부 저장 장치의 연결이 해제되는 경우에 활성화되는 제4 트리거 신호, 상기 미리 정해진 응용 프로그램 또는 프로세스의 실행이 종료되는 경우에 활성화되는 제5 트리거 신호, 및 상기 외부 저장 장치로부터 미리 정해진 데이터를 독출하는 독출 동작이 종료되는 경우에 활성화되는 제6 트리거 신호를 더 포함할 수 있다. 상술한 바와 같이, 트리거 신호(TRG)는 복수의 트리거 신호들(예를 들어, 상기 제1 내지 제6 트리거 신호들)을 포함할 수 있으며, 이 경우 단계 S120에서 상기 복수의 트리거 신호들 중에서 적어도 하나가 활성화되었는지 여부를 판단할 수 있다.
여기서, "제1 트리거 신호가 활성화되었다"는 것은, 상기 제1 트리거 신호가 제1 논리 레벨(예를 들어, 논리 로우 레벨)에서 제2 논리 레벨(예를 들어, 논리 하이 레벨)로 천이하는 것과 같이 상기 제1 트리거 신호의 논리 레벨이 천이하는 것을 나타낸다. 상기 제1 트리거 신호를 활성화시키는 동작, 즉 모바일 기기(100)와 상기 외부 저장 장치가 연결되는 동작은 "마운팅(mounting) 동작"이라 불릴 수 있다. 상기 제2 트리거 신호를 활성화시키는 동작, 즉 상기 미리 정해진 응용 프로그램 또는 프로세스를 실행하는 동작은 "런칭(launching) 동작"이라 불릴 수 있다. 상기 제3 트리거 신호를 활성화시키는 동작, 즉 상기 미리 정해진 데이터를 독출하는 동작은 "대용량 독출 동작"이라 불릴 수 있다.
트리거 신호(TRG)가 비활성화된 경우에(단계 S120: 아니오), 즉 상기 복수의 트리거 신호들 모두가 활성화되지 않은 경우에, 리드-어헤드 인핸서(112)는 상기 리드-어헤드 데이터의 크기를 유지할 수 있다(단계 S140). 리드-어헤드 인핸서(112)는 트리거 신호(TRG)의 활성화를 대기할 수 있다.
트리거 신호(TRG)가 활성화된 경우에(단계 S120: 예), 즉 상기 복수의 트리거 신호들 중에서 적어도 하나가 활성화된 경우에, 리드-어헤드 인핸서(112)는 상기 활성화된 트리거 신호에 기초하여 상기 리드-어헤드 데이터의 크기를 변경할 수 있다.
상기 리드-어헤드 데이터의 크기를 변경함에 있어서, 리드-어헤드 인핸서(112)는 상기 활성화된 트리거 신호의 종류를 판단할 수 있다(단계 S220). 예를 들어, 상기 활성화된 트리거 신호의 종류는 상기 리드-어헤드 데이터의 크기를 증가시키기 위한 제1 타입 또는 상기 리드-어헤드 데이터의 크기를 감소시키기 위한 제2 타입일 수 있다.
상기 활성화된 트리거 신호가 상기 제1 타입인 경우에(단계 S220: 예), 즉 상기 제1 내지 제3 트리거 신호들 중에서 적어도 하나가 활성화된 경우에, 리드-어헤드 인핸서(112)는 상기 활성화된 트리거 신호에 기초하여 상기 리드-어헤드 데이터의 크기를 증가시킬 수 있다(단계 S240). 상기 활성화된 트리거 신호가 상기 제2 타입인 경우에(단계 S220: 아니오), 즉 상기 제4 내지 제6 트리거 신호들 중에서 적어도 하나가 활성화된 경우에, 리드-어헤드 인핸서(112)는 상기 활성화된 트리거 신호에 기초하여 상기 리드-어헤드 데이터의 크기를 감소시킬 수 있다(단계 S260).
상기 리드-어헤드 데이터의 크기는 실시예에 따라서 다양하게 변경(예를 들어, 증가 또는 감소)될 수 있다. 다시 말하면, 상기 리드-어헤드 데이터의 크기는 모바일 기기(100)에 연결되는 상기 외부 저장 장치의 종류, 모바일 기기(100)와 상기 외부 저장 장치를 연결하는 인터페이스의 종류, 상기 미리 정해진 응용 프로그램 또는 프로세스의 종류, 상기 미리 정해진 데이터의 크기 및 종류, 또는 모바일 기기(100)의 권한(right), 승인(permission), 사용자 ID(IDentification) 및 그룹 ID 등에 따라 다르게 변경될 수 있다. 예를 들어, 독출하고자 하는 데이터의 크기가 증가할수록 상기 리드-어헤드 데이터의 크기는 더 많이 증가할 수 있다.
상기 데이터 독출 동작을 수행함에 있어서, 어플리케이션 프로세서(110)는 상기 데이터 독출 커맨드가 발생되었는지 여부를 판단할 수 있다(단계 S320). 상기 데이터 독출 커맨드가 발생된 경우에(단계 S320: 예), 모바일 기기(100)는 상기 데이터 독출 커맨드 및 상기 변경된 리드-어헤드 데이터의 크기에 기초하여 상기 데이터 독출 동작을 수행할 수 있다. 상기 데이터 독출 커맨드가 발생되지 않은 경우에(단계 S320: 아니오), 어플리케이션 프로세서(110)는 상기 데이터 독출 커맨드의 발생을 대기할 수 있다.
일 실시예에서, 모바일 기기(100)에 연결되는 상기 외부 저장 장치는 메모리 카드(Memory Card; MC), 보안 디지털(Secure Digital; SD) 카드, 멀티미디어 카드(Multi-Media Card; MMC), 임베디드 멀티미디어 카드(embedded MMC; eMMC), 컴팩트 플래시(Compact Flash; CF) 카드, USB 저장 장치, 또는 카메라 장치 등일 수 있다. 이 경우, 상기 외부 저장 장치는 메모리 카드 인터페이스, USB 인터페이스, 무선 USB 인터페이스, 이더넷 인터페이스, 무선랜(WiFi) 인터페이스, 블루투스(Bluetooth) 인터페이스, NFC 인터페이스, RFID 인터페이스 또는 미디어 전송 프로토콜(Media Transfer Protocol; MTP) 인터페이스 등을 이용하여 모바일 기기(100)와 연결될 수 있다.
일 실시예에서, 상기 미리 정해진 응용 프로그램 또는 프로세스는 멀티미디어 파일 재생 프로그램, 멀티미디어 파일 편집 프로그램, 멀티미디어 파일 제작 프로그램, 데이터 다운로드 프로그램, 데이터 스트리밍 프로그램 또는 응용 프로그램의 설치 프로세스 등을 포함할 수 있다. 상기 미리 정해진 데이터는 멀티미디어 파일 또는 미리 정해진 기준 크기보다 큰 파일일 수 있다.
도 4, 5, 6, 7, 8, 9, 10 및 11은 본 발명의 실시예들에 따른 모바일 기기의 데이터 독출 방법을 설명하기 위한 도면들이다. 도 4, 5, 6, 7, 8, 9, 10 및 11에서는 트리거 신호(TRG)가 활성화되는 다양한 예들을 도시하였다.
도 4를 참조하면, 모바일 기기(100)의 메모리 카드 소켓(101)에 메모리 카드(200)가 삽입되는 경우에, 즉 모바일 기기(100)의 파일 시스템과 메모리 카드(200)가 연결되는 마운팅 동작이 수행되는 경우에, 트리거 신호(TRG)가 활성화될 수 있다. 이 경우, 상기 복수의 트리거 신호들 중에서 상기 마운팅 동작에 상응하는 상기 제1 트리거 신호가 활성화될 수 있으며, 리드-어헤드 인핸서(도 2의 112)는 메모리 카드(200)가 모바일 기기(100)의 파일 시스템에 마운팅되는 순간에 상기 리드-어헤드 데이터의 크기를 증가시킬 수 있다. 상술한 것처럼, 메모리 카드(200)는 메모리 카드 인터페이스, USB 인터페이스 등을 이용하여 모바일 기기(100)의 파일 시스템과 연결될 수 있으며, 메모리 카드(200)는 보안 디지털 카드, 멀티미디어 카드, 임베디드 멀티미디어 카드, 컴팩트 플래시 카드 등으로 대체될 수 있다.
도 5를 참조하면, 모바일 기기(100)의 소켓(102)에 카메라 장치(300)와 연결된 데이터 전송선(302)이 삽입되는 경우에, 즉 모바일 기기(100)의 파일 시스템과 카메라 장치(300)가 유선으로 연결되는 마운팅 동작이 수행되는 경우에, 트리거 신호(TRG)가 활성화될 수 있다. 이 경우, 상기 복수의 트리거 신호들 중에서 상기 마운팅 동작에 상응하는 상기 제1 트리거 신호가 활성화될 수 있으며, 리드-어헤드 인핸서(도 2의 112)는 카메라 장치(300)가 모바일 기기(100)의 파일 시스템에 마운팅되는 순간에 상기 리드-어헤드 데이터의 크기를 증가시킬 수 있다. 상술한 것처럼, 카메라 장치(300)는 USB 인터페이스, MTP 인터페이스 등을 이용하여 모바일 기기(100)의 파일 시스템과 연결될 수 있으며, 카메라 장치(300)는 멀티미디어 파일을 생성하는 캠코더 장치, 음성 녹음 장치 등으로 대체될 수 있다.
도 6을 참조하면, 모바일 기기(100)의 파일 시스템과 저장 장치(400)가 무선으로 연결되는 마운팅 동작이 수행되는 경우에, 트리거 신호(TRG)가 활성화될 수 있다. 이 경우, 상기 복수의 트리거 신호들 중에서 상기 마운팅 동작에 상응하는 상기 제1 트리거 신호가 활성화될 수 있으며, 리드-어헤드 인핸서(도 2의 112)는 저장 장치(400)가 모바일 기기(100)의 파일 시스템에 마운팅되는 순간에 상기 리드-어헤드 데이터의 크기를 증가시킬 수 있다. 상술한 것처럼, 저장 장치(400)는 무선 USB 인터페이스, 블루투스 인터페이스, NFC 인터페이스, RFID 인터페이스 등을 이용하여 모바일 기기(100)의 파일 시스템과 연결될 수 있으며, 저장 장치(400)는 상기 인터페이스 방식에 따라 다양하게 대체될 수 있다.
도 7을 참조하면, 모바일 기기(100)에서 FTP(File Transfer Protocol) 서버, 클라우드(Cloud) 서버, 웹 하드(Web Hard) 등과 같은 데이터 서버(500)에 접속하기 위한 서버 접속 프로그램을 실행하는 런칭 동작이 수행되는 경우에, 트리거 신호(TRG)가 활성화될 수 있다. 이 경우, 상기 복수의 트리거 신호들 중에서 상기 런칭 동작에 상응하는 상기 제2 트리거 신호가 활성화될 수 있으며, 리드-어헤드 인핸서(도 2의 112)는 상기 서버 접속 프로그램이 런칭되는 순간에 상기 리드-어헤드 데이터의 크기를 증가시킬 수 있다.
도 8을 참조하면, 모바일 기기(100)에서 데이터 다운로드 프로그램을 실행하는 런칭 동작이 수행되는 경우에, 트리거 신호(TRG)가 활성화될 수 있다. 이 경우, 상기 복수의 트리거 신호들 중에서 상기 런칭 동작에 상응하는 상기 제2 트리거 신호가 활성화될 수 있으며, 리드-어헤드 인핸서(도 2의 112)는 상기 데이터 다운로드 프로그램이 런칭되는 순간에 상기 리드-어헤드 데이터의 크기를 증가시킬 수 있다. 상술한 것처럼, 상기 데이터 다운로드 프로그램은 데이터 스트리밍 프로그램 등으로 대체될 수 있다.
도 9를 참조하면, 모바일 기기(100)의 내부 저장 장치에 저장된 대용량의 응용 프로그램을 설치하는 대용량 독출 동작이 수행되는 경우에, 트리거 신호(TRG)가 활성화될 수 있다. 이 경우, 상기 복수의 트리거 신호들 중에서 상기 대용량 독출 동작에 상응하는 상기 제3 트리거 신호가 활성화될 수 있으며, 리드-어헤드 인핸서(도 2의 112)는 상기 대용량의 응용 프로그램의 설치 프로세스가 시작되는 순간에 상기 리드-어헤드 데이터의 크기를 증가시킬 수 있다.
도 10을 참조하면, 모바일 기기(100)에서 멀티미디어 파일 재생 프로그램을 실행하는 런칭 동작이 수행되는 경우에, 트리거 신호(TRG)가 활성화될 수 있다. 이 경우, 상기 복수의 트리거 신호들 중에서 상기 런칭 동작에 상응하는 상기 제2 트리거 신호가 활성화될 수 있으며, 리드-어헤드 인핸서(도 2의 112)는 상기 멀티미디어 파일 재생 프로그램이 런칭되는 순간에 상기 리드-어헤드 데이터의 크기를 증가시킬 수 있다. 상술한 것처럼, 상기 멀티미디어 파일 재생 프로그램은 멀티미디어 파일 편집 프로그램, 멀티미디어 파일 제작 프로그램 등으로 대체될 수 있다.
도 11을 참조하면, 모바일 기기(100)의 파일 시스템과 카메라 장치(300)가 유선으로 연결되는 마운팅 동작이 수행되고 멀티미디어 파일 재생 프로그램을 실행하는 런칭 동작이 수행되는 경우에, 트리거 신호(TRG)가 활성화될 수 있다. 이 경우, 상기 복수의 트리거 신호들 중에서 상기 마운팅 동작에 상응하는 상기 제1 트리거 신호 및 상기 런칭 동작에 상응하는 상기 제2 트리거 신호가 활성화될 수 있다. 또한, 상기 멀티미디어 파일 재생 프로그램을 이용하여 카메라 장치(300)에 저장된 멀티미디어 파일을 독출하는 대용량 독출 동작이 수행되는 경우에, 상기 대용량 독출 동작에 상응하는 상기 제3 트리거 신호 역시 활성화될 수 있다. 다시 말하면, 두 개 이상의 트리거 신호들이 활성화될 수 있다.
한편, 도시하지는 않았지만, 모바일 기기(100)에서 상기 서버 접속 프로그램 및 데이터 다운로드 프로그램을 실행하는 런칭 동작이 수행되고 다운로드된 대용량의 응용 프로그램을 설치하는 대용량 독출 동작이 수행되는 경우에, 트리거 신호(TRG)가 활성화될 수 있다. 이 경우, 상기 복수의 트리거 신호들 중에서 상기 런칭 동작에 상응하는 상기 제2 트리거 신호 및 상기 대용량 독출 동작에 상응하는 상기 제3 트리거 신호가 활성화될 수 있다.
상술한 바와 같이 두 개 이상의 트리거 신호들이 활성화되는 경우에, 리드-어헤드 인핸서(도 2의 112)는 상기 활성화된 두 개 이상의 트리거 신호들 중 하나 또는 모두에 기초하여 상기 리드-어헤드 데이터의 크기를 증가시킬 수 있으며, 이에 대해서는 도 12 및 13을 참조하여 후술하도록 한다.
도 12 및 13은 도 3의 리드-어헤드 데이터의 크기를 증가시키는 단계의 예들을 나타내는 순서도들이다.
도 12를 참조하면, 리드-어헤드 데이터의 크기를 증가시키는데 있어서, 리드-어헤드 인핸서(도 2의 112)는 두 개 이상의 트리거 신호들이 활성화되었는지 여부를 판단할 수 있다(단계 S242).
하나의 트리거 신호만이 활성화된 경우에(단계 S242: 아니오), 리드-어헤드 인핸서(도 2의 112)는 상기 활성화된 하나의 트리거 신호에 기초하여 상기 리드-어헤드 데이터의 크기를 증가시킬 수 있다(단계 S244).
두 개 이상의 트리거 신호들이 활성화된 경우에(단계 S242: 예), 리드-어헤드 인핸서(도 2의 112)는 상기 활성화된 두 개 이상의 트리거 신호들 중에서 하나를 선택할 수 있다(단계 S246). 예를 들어, 도 11에 도시된 것처럼 상기 제1 및 제2 트리거 신호들이 활성화된 경우에, 리드-어헤드 인핸서(도 2의 112)는 상기 제1 및 제2 트리거 신호들 중에서 먼저 또는 나중에 활성화된 트리거 신호를 선택할 수도 있고, 상기 제1 및 제2 트리거 신호들 중에서 상기 리드-어헤드 데이터의 크기를 많이 또는 적게 증가시키는 트리거 신호를 선택할 수도 있다. 리드-어헤드 인핸서(도 2의 112)는 상기 선택된 트리거 신호에 기초하여 상기 리드-어헤드 데이터의 크기를 증가시킬 수 있다(단계 S248).
도 13을 참조하면, 리드-어헤드 데이터의 크기를 증가시키는데 있어서, 리드-어헤드 인핸서(도 2의 112)는 두 개 이상의 트리거 신호들이 활성화되었는지 여부를 판단할 수 있다(단계 S242).
하나의 트리거 신호만이 활성화된 경우에(단계 S242: 아니오), 리드-어헤드 인핸서(도 2의 112)는 상기 활성화된 하나의 트리거 신호에 기초하여 상기 리드-어헤드 데이터의 크기를 증가시킬 수 있다(단계 S244).
두 개 이상의 트리거 신호들이 활성화된 경우에(단계 S242: 예), 리드-어헤드 인핸서(도 2의 112)는 상기 활성화된 두 개 이상의 트리거 신호들 모두에 기초하여 상기 리드-어헤드 데이터의 크기를 증가시킬 수 있다(단계 S250). 예를 들어, 상기 제1 트리거 신호에 기초하여 상기 리드-어헤드 데이터가 증가되는 양을 X라 하고 상기 제2 트리거 신호에 기초하여 상기 리드-어헤드 데이터가 증가되는 양을 Y라 가정하면, 도 11에 도시된 것처럼 상기 제1 및 제2 트리거 신호들이 활성화된 경우에 상기 리드-어헤드 데이터의 크기는 (X+Y)만큼 증가될 수 있다.
한편, 상세하게 설명하지는 않았지만, 상기 리드-어헤드 데이터의 크기를 감소시키는 동작은 상기 리드-어헤드 데이터의 크기를 증가시키는 동작과 유사하게 수행될 수 있다. 예를 들어, 모바일 기기(100)의 메모리 카드 소켓(도 4의 101)에서 메모리 카드(도 4의 200)가 제거되거나, 모바일 기기(100)의 소켓(도 5의 102)에서 데이터 전송선(도 5의 302)이 제거되는 것처럼 상기 마운팅 동작이 해제되는 경우에, 상기 복수의 트리거 신호들 중에서 상기 마운팅 동작의 해제에 상응하는 상기 제4 트리거 신호가 활성화될 수 있으며, 리드-어헤드 인핸서(도 2의 112)는 상기 마운팅 동작이 해제되는 순간에 상기 리드-어헤드 데이터의 크기를 감소시킬 수 있다. 모바일 기기(100)에서 상기 서버 접속 프로그램(도 7의 실시예)을 종료하거나 멀티미디어 파일 재생 프로그램(도 10의 실시예)을 종료하는 것처럼 상기 런칭 동작이 종료되는 경우에, 상기 복수의 트리거 신호들 중에서 상기 런칭 동작이 종료에 상응하는 상기 제5 트리거 신호가 활성화될 수 있으며, 리드-어헤드 인핸서(도 2의 112)는 런칭 동작이 종료되는 순간에 상기 리드-어헤드 데이터의 크기를 감소시킬 수 있다. 상기 제4 내지 제6 트리거 신호들 중에서 두 개 이상의 트리거 신호들이 활성화되는 경우에, 리드-어헤드 인핸서(도 2의 112)는 상기 활성화된 두 개 이상의 트리거 신호들 중 하나 또는 모두에 기초하여 상기 리드-어헤드 데이터의 크기를 감소시킬 수 있다.
한편, 실시예에 따라서, 상기 제4 트리거 신호는 생략될 수 있다. 예를 들어, 상기 마운팅 동작이 수행되는 경우에 상기 제1 트리거 신호가 상기 제1 논리 레벨에서 상기 제2 논리 레벨로 천이하고 상기 마운팅 동작이 해제되는 경우에 상기 제1 트리거 신호가 상기 제2 논리 레벨에서 상기 제1 논리 레벨로 천이되도록 구현될 수 있다. 즉, 상기 마운팅 동작에 상응하는 트리거 신호(예를 들어, 상기 제1 트리거 신호)와 상기 마운팅 동작의 종료에 상응하는 트리거 신호(예를 들어, 상기 제4 트리거 신호)는 하나의 신호로서 구현될 수도 있다. 이와 마찬가지로 상기 제5 및 제6 트리거 신호들도 생략될 수 있다.
도 14는 도 1에 도시된 모바일 기기의 데이터 독출 방법의 다른 예를 나타내는 순서도이다.
도 2 및 14를 참조하면, 리드-어헤드 인핸서(112)는 트리거 신호(TRG)가 활성화되었는지 여부를 판단할 수 있다(단계 S120).
트리거 신호(TRG)가 비활성화된 경우에(단계 S120: 아니오), 리드-어헤드 인핸서(112)는 상기 리드-어헤드 데이터의 크기를 유지할 수 있다(단계 S140). 리드-어헤드 인핸서(112)는 트리거 신호(TRG)의 활성화를 대기할 수 있고(도 14의 A), 어플리케이션 프로세서(110)는 상기 데이터 독출 커맨드의 발생을 대기할 수 있다(도 14의 B). 트리거 신호(TRG)가 활성화되지 않고 상기 데이터 독출 커맨드가 바로 발생된 경우에, 모바일 기기(100)는 상기 데이터 독출 커맨드 및 상기 유지된 리드-어헤드 데이터의 크기에 기초하여 상기 데이터 독출 동작을 수행할 수 있다.
트리거 신호(TRG)가 활성화된 경우에(단계 S120: 예), 리드-어헤드 인핸서(112)는 상기 활성화된 트리거 신호의 종류를 판단할 수 있다(단계 S220). 상기 활성화된 트리거 신호가 상기 제1 타입인 경우에(단계 S220: 예), 리드-어헤드 인핸서(112)는 상기 리드-어헤드 데이터의 크기를 증가시킬 수 있다(단계 S240). 상기 활성화된 트리거 신호가 상기 제2 타입인 경우에(단계 S220: 아니오), 리드-어헤드 인핸서(112)는 상기 리드-어헤드 데이터의 크기를 감소시킬 수 있다(단계 S260).
어플리케이션 프로세서(110)는 상기 데이터 독출 커맨드가 발생되었는지 여부를 판단할 수 있다(단계 S320).
상기 리드-어헤드 데이터의 크기가 변경되고 상기 데이터 독출 커맨드가 발생된 경우에(단계 S320: 예), 모바일 기기(100)는 상기 데이터 독출 커맨드 및 상기 변경된 리드-어헤드 데이터의 크기에 기초하여 상기 데이터 독출 동작을 수행할 수 있다.
데이터 독출 커맨드가 발생되지 않은 경우에(단계 S320: 아니오), 어플리케이션 프로세서(110)는 상기 데이터 독출 커맨드의 발생을 대기할 수 있고(도 14의 C), 리드-어헤드 인핸서(112)는 트리거 신호(TRG)의 활성화를 대기할 수 있다(도 14의 D). 상기 데이터 독출 커맨드가 발생되지 않고 트리거 신호(TRG)가 추가적으로 활성화된 경우에, 리드-어헤드 인핸서(112)는 추가적으로 활성화된 트리거 신호(TRG)에 기초하여 상기 리드-어헤드 데이터의 크기를 더 변경할 수 있다.
도 3의 실시예와 비교하였을 때, 도 14의 실시예에서는 트리거 신호(TRG)가 비활성화되어 리드-어헤드 데이터의 크기가 유지(단계 S140)된 이후에 트리거 신호(TRG)의 활성화를 대기함과 동시에 데이터 독출 커맨드의 발생을 대기할 수 있으며, 상기 데이터 독출 커맨드가 발생되지 않은 경우에(단계 S320: 예) 상기 데이터 독출 커맨드의 발생을 대기함과 동시에 트리거 신호(TRG)의 활성화를 대기할 수 있다.
이상, 트리거 신호(TRG)가 복수의 트리거 신호들을 포함하는 것에 기초하여 본 발명의 실시예들을 설명하였지만, 트리거 신호(TRG)는 하나의 신호일 수 있다. 이 경우, 모바일 기기(100)와 상기 외부 저장 장치가 연결되는 경우에 하나의 트리거 신호(TRG) 상에 제1 트리거 펄스가 발생되고, 모바일 기기(100)가 상기 미리 정해진 응용 프로그램 또는 프로세스를 실행하는 경우에 하나의 트리거 신호(TRG) 상에 제2 트리거 펄스가 발생되며, 모바일 기기(100)가 상기 미리 정해진 데이터를 독출하는 경우에 하나의 트리거 신호(TRG) 상에 제3 트리거 펄스가 발생될 수 있다. 또한, 모바일 기기(100)와 상기 외부 저장 장치의 연결이 해제되는 경우에 하나의 트리거 신호(TRG) 상에 제4 트리거 펄스가 더 발생되고, 상기 미리 정해진 응용 프로그램 또는 프로세스의 실행이 종료되는 경우에 하나의 트리거 신호(TRG) 상에 제5 트리거 펄스가 더 발생되며, 상기 미리 정해진 데이터를 독출하는 독출 동작이 종료되는 경우에 하나의 트리거 신호(TRG) 상에 제6 트리거 펄스가 더 발생될 수 있다. 이 경우, "트리거 신호가(TRG) 활성화되었다"는 것은 트리거 신호(TRG) 상에 적어도 하나의 트리거 펄스가 발생하는 것을 나타낼 수 있다. 상기 제1 내지 제6 트리거 펄스들은 서로 다른 파형을 가질 수 있으며, 리드-어헤드 인핸서(도 2의 112)는 상기 제1 내지 제6 트리거 펄스들에 기초하여 상기 리드-어헤드 데이터의 크기를 변경할 수 있다.
본 발명은 리드-어헤드 방식을 이용하는 모바일 기기에 적용될 수 있으며, 휴대폰(Mobile Phone), 스마트 폰(Smart Phone), 태블릿(Tablet) PC, 노트북(Laptop Computer), 개인 정보 단말기(personal digital assistant; PDA), 휴대형 멀티미디어 플레이어(portable multimedia player; PMP), 디지털 카메라(Digital Camera), 음악 재생기(Music Player), 휴대용 게임 콘솔(portable game console), 네비게이션(Navigation) 등과 같은 다양한 모바일 기기에 적용될 수 있다.
상기에서는 본 발명의 바람직한 실시예를 참조하여 설명하였지만, 해당 기술분야의 숙련된 당업자는 하기의 특허청구범위에 기재된 본 발명의 사상 및 영역으로부터 벗어나지 않는 범위 내에서 본 발명을 다양하게 수정 및 변경시킬 수 있음을 이해할 것이다.

Claims (10)

  1. 모바일 기기의 데이터 독출 환경에 따라 선택적으로 활성화되는 트리거 신호를 검출하는 단계;
    상기 트리거 신호가 활성화된 경우에, 상기 모바일 기기에서 데이터 독출 동작이 요청되기 이전에 선인출되는 데이터의 양을 나타내는 리드-어헤드(read-ahead) 데이터의 크기를 상기 활성화된 트리거 신호에 기초하여 변경하는 단계; 및
    데이터 독출 커맨드 및 상기 변경된 리드-어헤드 데이터의 크기에 기초하여 상기 모바일 기기에서 상기 데이터 독출 동작을 수행하는 단계를 포함하고,
    상기 트리거 신호는 독출할 데이터의 용량에 기초하여 활성화되는 신호인 모바일 기기의 데이터 독출 방법.
  2. 제 1 항에 있어서, 상기 리드-어헤드 데이터의 크기를 변경하는 단계는,
    상기 활성화된 트리거 신호의 종류를 판단하는 단계; 및
    상기 활성화된 트리거 신호의 종류에 기초하여 상기 리드-어헤드 데이터의 크기를 증가시키거나 감소시키는 단계를 포함하는 것을 특징으로 하는 모바일 기기의 데이터 독출 방법.
  3. 제 1 항에 있어서, 상기 트리거 신호는,
    상기 모바일 기기와 외부 저장 장치가 연결되는 경우에 활성화되는 제1 트리거 신호, 상기 모바일 기기가 미리 정해진 응용 프로그램 또는 프로세스를 실행하는 경우에 활성화되는 제2 트리거 신호, 및 상기 모바일 기기가 상기 외부 저장 장치로부터 미리 정해진 데이터를 독출하는 경우에 활성화되는 제3 트리거 신호를 포함하는 것을 특징으로 하는 모바일 기기의 데이터 독출 방법.
  4. 제 3 항에 있어서,
    상기 제1 내지 제3 트리거 신호들 중에서 적어도 하나가 활성화된 경우에, 상기 리드-어헤드 데이터의 크기가 증가되는 것을 특징으로 하는 모바일 기기의 데이터 독출 방법.
  5. 제 4 항에 있어서,
    상기 제1 내지 제3 트리거 신호들 중에서 두 개 이상이 활성화된 경우에, 상기 활성화된 두 개 이상의 트리거 신호들 모두에 기초하여 상기 리드-어헤드 데이터의 크기가 증가되는 것을 특징으로 하는 모바일 기기의 데이터 독출 방법.
  6. 제 4 항에 있어서,
    상기 제1 내지 제3 트리거 신호들 중에서 두 개 이상이 활성화된 경우에, 상기 활성화된 두 개 이상의 트리거 신호들 중 하나를 선택하고 상기 선택된 트리거 신호에 기초하여 상기 리드-어헤드 데이터의 크기가 증가되는 것을 특징으로 하는 모바일 기기의 데이터 독출 방법.
  7. 제 1 항에 있어서, 상기 트리거 신호는,
    상기 모바일 기기와 외부 저장 장치의 연결이 해제되는 경우에 활성화되는 제1 트리거 신호, 미리 정해진 응용 프로그램 또는 프로세스의 실행이 종료되는 경우에 활성화되는 제2 트리거 신호, 및 상기 외부 저장 장치로부터 미리 정해진 데이터를 독출하는 독출 동작이 종료되는 경우에 활성화되는 제3 트리거 신호를 더 포함하는 것을 특징으로 하는 모바일 기기의 데이터 독출 방법.
  8. 제 7 항에 있어서,
    상기 제1 내지 제3 트리거 신호들 중에서 적어도 하나가 활성화된 경우에, 상기 리드-어헤드 데이터의 크기가 감소되는 것을 특징으로 하는 모바일 기기의 데이터 독출 방법.
  9. 제 7 항에 있어서,
    상기 리드-어헤드 데이터의 크기는 상기 모바일 기기에 연결되는 상기 외부 저장 장치의 종류, 상기 모바일 기기와 상기 외부 저장 장치를 연결하는 인터페이스의 종류, 상기 미리 정해진 응용 프로그램 또는 프로세스의 종류, 또는 상기 미리 정해진 데이터의 크기 및 종류에 따라 다르게 변경되는 것을 특징으로 하는 모바일 기기의 데이터 독출 방법.
  10. 모바일 기기를 구동하기 위한 운영 체제(Operating System; OS)를 실행하고, 상기 모바일 기기의 데이터 독출 환경에 따라 선택적으로 활성화되는 트리거 신호를 검출하고, 상기 트리거 신호가 활성화된 경우에 상기 모바일 기기에서 데이터 독출 동작이 요청되기 이전에 선인출되는 데이터의 양을 나타내는 리드-어헤드(read-ahead) 데이터의 크기를 상기 활성화된 트리거 신호에 기초하여 변경하며, 데이터 독출 커맨드 및 상기 변경된 리드-어헤드 데이터의 크기에 기초하여 상기 모바일 기기에서 상기 데이터 독출 동작을 수행하는 어플리케이션 프로세서; 및
    상기 운영체제를 저장하는 메모리 장치를 포함하고,
    상기 트리거 신호는 독출할 데이터의 용량에 기초하여 활성화되는 신호인 모바일 기기.
KR1020120107702A 2012-09-27 2012-09-27 모바일 기기의 데이터 독출 방법 및 이를 이용하는 모바일 기기 KR101978256B1 (ko)

Priority Applications (2)

Application Number Priority Date Filing Date Title
KR1020120107702A KR101978256B1 (ko) 2012-09-27 2012-09-27 모바일 기기의 데이터 독출 방법 및 이를 이용하는 모바일 기기
US14/036,285 US9430307B2 (en) 2012-09-27 2013-09-25 Electronic data processing system performing read-ahead operation with variable sized data, and related method of operation

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020120107702A KR101978256B1 (ko) 2012-09-27 2012-09-27 모바일 기기의 데이터 독출 방법 및 이를 이용하는 모바일 기기

Publications (2)

Publication Number Publication Date
KR20140040969A KR20140040969A (ko) 2014-04-04
KR101978256B1 true KR101978256B1 (ko) 2019-05-14

Family

ID=50340168

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020120107702A KR101978256B1 (ko) 2012-09-27 2012-09-27 모바일 기기의 데이터 독출 방법 및 이를 이용하는 모바일 기기

Country Status (2)

Country Link
US (1) US9430307B2 (ko)
KR (1) KR101978256B1 (ko)

Families Citing this family (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101719075B1 (ko) * 2015-12-10 2017-04-04 연세대학교 산학협력단 파일 시스템의 데이터 블록 재배치 방법 및 장치
US10795610B2 (en) 2018-05-30 2020-10-06 Micron Technology, Inc. Read look ahead data size determination
KR20210078616A (ko) * 2019-12-18 2021-06-29 에스케이하이닉스 주식회사 데이터 처리 시스템

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20060248278A1 (en) * 2005-05-02 2006-11-02 International Business Machines Corporation Adaptive read ahead method of data recorded on a sequential media readable via a variable data block size storage device

Family Cites Families (15)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5483641A (en) 1991-12-17 1996-01-09 Dell Usa, L.P. System for scheduling readahead operations if new request is within a proximity of N last read requests wherein N is dependent on independent activities
US5940838A (en) 1997-07-11 1999-08-17 International Business Machines Corporation Parallel file system and method anticipating cache usage patterns
US20030115410A1 (en) 1999-06-03 2003-06-19 Lucent Technologies Inc. Method and apparatus for improving file system response time
US6775745B1 (en) 2001-09-07 2004-08-10 Roxio, Inc. Method and apparatus for hybrid data caching mechanism
US7333993B2 (en) 2003-11-25 2008-02-19 Network Appliance, Inc. Adaptive file readahead technique for multiple read streams
US7631148B2 (en) 2004-01-08 2009-12-08 Netapp, Inc. Adaptive file readahead based on multiple factors
US7386674B1 (en) 2005-04-25 2008-06-10 Netapp, Inc. Method and apparatus to provide a unified readahead scheme for multiple sources
JP4767127B2 (ja) 2006-08-10 2011-09-07 株式会社日立製作所 ファイルサーバ、計算機システム及びファイルの先読み方法。
US7711894B1 (en) 2007-02-12 2010-05-04 Juniper Networks, Inc. Dynamic disk throttling in a wide area network optimization device
KR101300657B1 (ko) 2007-07-06 2013-08-27 삼성전자주식회사 비휘발성 메모리 및 버퍼 메모리를 포함하는 메모리 시스템및 그것의 데이터 읽기 방법
US7809883B1 (en) 2007-10-16 2010-10-05 Netapp, Inc. Cached reads for a storage system
KR100976590B1 (ko) 2007-12-14 2010-08-17 한국전자통신연구원 비대칭 스토리지 시스템 및 그의 미리 읽기 지원 방법
KR100974514B1 (ko) 2008-04-07 2010-08-10 한국과학기술원 컴퓨터 시스템에서의 순차적 프리페칭 방법
KR101138937B1 (ko) 2008-12-16 2012-04-25 한국전자통신연구원 네트워크 버퍼를 이용한 컨텍스트 상태 정보 기반 미리 읽기 시스템 및 방법
JP2011182314A (ja) 2010-03-03 2011-09-15 Oki Semiconductor Co Ltd データ中継装置及び方法

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20060248278A1 (en) * 2005-05-02 2006-11-02 International Business Machines Corporation Adaptive read ahead method of data recorded on a sequential media readable via a variable data block size storage device

Also Published As

Publication number Publication date
KR20140040969A (ko) 2014-04-04
US9430307B2 (en) 2016-08-30
US20140089745A1 (en) 2014-03-27

Similar Documents

Publication Publication Date Title
KR101940963B1 (ko) 비휘발성 메모리 디바이스의 휘발성 메모리 구조 및 관련 컨트롤러
KR100904758B1 (ko) 버퍼 메모리를 포함하는 플래쉬 메모리 장치 및 시스템,플래쉬 메모리 장치의 데이터 업데이트 방법
US20170262173A1 (en) Data storage device and operating method thereof
US8281072B2 (en) Data processing system, controller, and method thereof for searching for specific memory area
KR101266580B1 (ko) 메모리 디바이스에 대한 인덱스된 레지스터 액세스
US20130117507A1 (en) Memory storage apparatus, memory controller, and method for transmitting and identifying data stream
KR102156222B1 (ko) 데이터 저장 장치 및 그것을 포함하는 데이터 처리 시스템
US9038044B2 (en) Code patching for non-volatile memory
KR20100008402A (ko) 기입 속도를 향상시킬 수 있는 데이터 저장 장치, 및 이를포함하는 데이터 저장 시스템
CN106095416B (zh) 一种在应用程序中的跳转处理方法、装置及智能终端
KR101702390B1 (ko) 컴퓨터 시스템의 부팅 방법
KR20160025292A (ko) 데이터 저장 장치, 그것을 포함하는 데이터 처리 시스템 및 그것의 동작 방법
KR101757355B1 (ko) 캐시 액세스 모드 선택을 위한 방법 및 장치
US20200183592A1 (en) Storage device and method of operating the same
KR101978256B1 (ko) 모바일 기기의 데이터 독출 방법 및 이를 이용하는 모바일 기기
KR20150058927A (ko) 불 휘발성 메모리의 쓰기 속도를 제어하는 기술
CN112951298A (zh) 降低稳定阈值电压(vt)读取干扰降级的系统方法
US20150160688A1 (en) Data Storage Device and Mode-Detection Method Thereof
US9641378B1 (en) Adjustment of compression ratios for data storage
US9934100B2 (en) Method of controlling memory swap operation and data processing system using same
JP2012069102A (ja) 不揮発性メモリの読み出し動作変更
US20180081796A1 (en) Data Storage Device and Data Writing Method Thereof
US8856423B1 (en) Dual-purpose nonvolatile memory for code and data storage
US20120072657A1 (en) System and method to write data using phase-change ram
US20150120991A1 (en) Data processing system and operating method thereof

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