KR101978256B1 - 모바일 기기의 데이터 독출 방법 및 이를 이용하는 모바일 기기 - Google Patents
모바일 기기의 데이터 독출 방법 및 이를 이용하는 모바일 기기 Download PDFInfo
- 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
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/07—Responding to the occurrence of a fault, e.g. fault tolerance
- G06F11/0703—Error 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/0706—Error 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/073—Error 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
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04B—TRANSMISSION
- H04B1/00—Details 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/38—Transceivers, 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/40—Circuits
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F12/00—Accessing, addressing or allocating within memory systems or architectures
- G06F12/02—Addressing or allocation; Relocation
- G06F12/08—Addressing or allocation; Relocation in hierarchically structured memory systems, e.g. virtual memory systems
- G06F12/0802—Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches
- G06F12/0862—Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches with prefetch
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F13/00—Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
- G06F13/14—Handling requests for interconnection or transfer
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F12/00—Accessing, addressing or allocating within memory systems or architectures
- G06F12/02—Addressing or allocation; Relocation
- G06F12/08—Addressing or allocation; Relocation in hierarchically structured memory systems, e.g. virtual memory systems
- G06F12/0802—Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches
- G06F12/0866—Addressing 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
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2212/00—Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
- G06F2212/17—Embedded application
- G06F2212/171—Portable consumer electronics, e.g. mobile phone
-
- Y—GENERAL 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
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02D—CLIMATE 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/00—Energy 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
본 발명은 모바일 기기에 관한 것으로서, 더욱 상세하게는 모바일 기기의 데이터 독출 방법 및 상기 데이터 독출 방법을 이용하는 모바일 기기에 관한 것이다.
스마트 폰, 태블릿 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에 도시된 모바일 기기의 데이터 독출 방법의 다른 예를 나타내는 순서도이다.
도 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)
- 모바일 기기의 데이터 독출 환경에 따라 선택적으로 활성화되는 트리거 신호를 검출하는 단계;
상기 트리거 신호가 활성화된 경우에, 상기 모바일 기기에서 데이터 독출 동작이 요청되기 이전에 선인출되는 데이터의 양을 나타내는 리드-어헤드(read-ahead) 데이터의 크기를 상기 활성화된 트리거 신호에 기초하여 변경하는 단계; 및
데이터 독출 커맨드 및 상기 변경된 리드-어헤드 데이터의 크기에 기초하여 상기 모바일 기기에서 상기 데이터 독출 동작을 수행하는 단계를 포함하고,
상기 트리거 신호는 독출할 데이터의 용량에 기초하여 활성화되는 신호인 모바일 기기의 데이터 독출 방법. - 제 1 항에 있어서, 상기 리드-어헤드 데이터의 크기를 변경하는 단계는,
상기 활성화된 트리거 신호의 종류를 판단하는 단계; 및
상기 활성화된 트리거 신호의 종류에 기초하여 상기 리드-어헤드 데이터의 크기를 증가시키거나 감소시키는 단계를 포함하는 것을 특징으로 하는 모바일 기기의 데이터 독출 방법. - 제 1 항에 있어서, 상기 트리거 신호는,
상기 모바일 기기와 외부 저장 장치가 연결되는 경우에 활성화되는 제1 트리거 신호, 상기 모바일 기기가 미리 정해진 응용 프로그램 또는 프로세스를 실행하는 경우에 활성화되는 제2 트리거 신호, 및 상기 모바일 기기가 상기 외부 저장 장치로부터 미리 정해진 데이터를 독출하는 경우에 활성화되는 제3 트리거 신호를 포함하는 것을 특징으로 하는 모바일 기기의 데이터 독출 방법. - 제 3 항에 있어서,
상기 제1 내지 제3 트리거 신호들 중에서 적어도 하나가 활성화된 경우에, 상기 리드-어헤드 데이터의 크기가 증가되는 것을 특징으로 하는 모바일 기기의 데이터 독출 방법. - 제 4 항에 있어서,
상기 제1 내지 제3 트리거 신호들 중에서 두 개 이상이 활성화된 경우에, 상기 활성화된 두 개 이상의 트리거 신호들 모두에 기초하여 상기 리드-어헤드 데이터의 크기가 증가되는 것을 특징으로 하는 모바일 기기의 데이터 독출 방법. - 제 4 항에 있어서,
상기 제1 내지 제3 트리거 신호들 중에서 두 개 이상이 활성화된 경우에, 상기 활성화된 두 개 이상의 트리거 신호들 중 하나를 선택하고 상기 선택된 트리거 신호에 기초하여 상기 리드-어헤드 데이터의 크기가 증가되는 것을 특징으로 하는 모바일 기기의 데이터 독출 방법. - 제 1 항에 있어서, 상기 트리거 신호는,
상기 모바일 기기와 외부 저장 장치의 연결이 해제되는 경우에 활성화되는 제1 트리거 신호, 미리 정해진 응용 프로그램 또는 프로세스의 실행이 종료되는 경우에 활성화되는 제2 트리거 신호, 및 상기 외부 저장 장치로부터 미리 정해진 데이터를 독출하는 독출 동작이 종료되는 경우에 활성화되는 제3 트리거 신호를 더 포함하는 것을 특징으로 하는 모바일 기기의 데이터 독출 방법. - 제 7 항에 있어서,
상기 제1 내지 제3 트리거 신호들 중에서 적어도 하나가 활성화된 경우에, 상기 리드-어헤드 데이터의 크기가 감소되는 것을 특징으로 하는 모바일 기기의 데이터 독출 방법. - 제 7 항에 있어서,
상기 리드-어헤드 데이터의 크기는 상기 모바일 기기에 연결되는 상기 외부 저장 장치의 종류, 상기 모바일 기기와 상기 외부 저장 장치를 연결하는 인터페이스의 종류, 상기 미리 정해진 응용 프로그램 또는 프로세스의 종류, 또는 상기 미리 정해진 데이터의 크기 및 종류에 따라 다르게 변경되는 것을 특징으로 하는 모바일 기기의 데이터 독출 방법. - 모바일 기기를 구동하기 위한 운영 체제(Operating System; OS)를 실행하고, 상기 모바일 기기의 데이터 독출 환경에 따라 선택적으로 활성화되는 트리거 신호를 검출하고, 상기 트리거 신호가 활성화된 경우에 상기 모바일 기기에서 데이터 독출 동작이 요청되기 이전에 선인출되는 데이터의 양을 나타내는 리드-어헤드(read-ahead) 데이터의 크기를 상기 활성화된 트리거 신호에 기초하여 변경하며, 데이터 독출 커맨드 및 상기 변경된 리드-어헤드 데이터의 크기에 기초하여 상기 모바일 기기에서 상기 데이터 독출 동작을 수행하는 어플리케이션 프로세서; 및
상기 운영체제를 저장하는 메모리 장치를 포함하고,
상기 트리거 신호는 독출할 데이터의 용량에 기초하여 활성화되는 신호인 모바일 기기.
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)
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)
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)
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 | データ中継装置及び方法 |
-
2012
- 2012-09-27 KR KR1020120107702A patent/KR101978256B1/ko active IP Right Grant
-
2013
- 2013-09-25 US US14/036,285 patent/US9430307B2/en active Active
Patent Citations (1)
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 |