KR102031565B1 - 단말기에서 데이터를 처리하는 장치 및 방법 - Google Patents

단말기에서 데이터를 처리하는 장치 및 방법 Download PDF

Info

Publication number
KR102031565B1
KR102031565B1 KR1020130025686A KR20130025686A KR102031565B1 KR 102031565 B1 KR102031565 B1 KR 102031565B1 KR 1020130025686 A KR1020130025686 A KR 1020130025686A KR 20130025686 A KR20130025686 A KR 20130025686A KR 102031565 B1 KR102031565 B1 KR 102031565B1
Authority
KR
South Korea
Prior art keywords
addresses
specific
data objects
specific data
address table
Prior art date
Application number
KR1020130025686A
Other languages
English (en)
Other versions
KR20140111482A (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 KR1020130025686A priority Critical patent/KR102031565B1/ko
Priority to US14/202,352 priority patent/US9639279B2/en
Publication of KR20140111482A publication Critical patent/KR20140111482A/ko
Application granted granted Critical
Publication of KR102031565B1 publication Critical patent/KR102031565B1/ko

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • 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
    • G06F3/0611Improving I/O performance in relation to response time
    • 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/0604Improving or facilitating administration, e.g. storage management
    • 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/0638Organizing or formatting or addressing of data
    • 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/0638Organizing or formatting or addressing of data
    • G06F3/064Management of blocks
    • 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
    • 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
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/44Arrangements for executing specific programs
    • G06F9/445Program loading or initiating

Abstract

본 발명은 단말기에서 데이터를 처리하는 장치 및 방법에 관한 것으로, 특정 확장자를 포함하는 특정 프로그램이 저장되면, 전체 저장 공간 내에서의 상기 특정 확장자를 가지는 특정 데이터의 위치를 나타내는 어드레스들을 확인하며, 상기 확인된 어드레스들을 기반으로 상기 특정 프로그램을 초기화하고, 상기 확인된 어드레스들을 기반으로 어드레스 테이블을 생성하여 저장하는 것을 특징으로 한다.

Description

단말기에서 데이터를 처리하는 장치 및 방법{APPARATUS AND METHOD FOR PROCESSING DATA IN A TERMINL}
본 발명은 단말기에 관한 것으로, 특히, 단말기에서 데이터를 처리하는 장치 및 방법에 관한 것이다.
스마트 폰(Smart Phone) 및 태블릿(Tablet) 및 셋탑 박스 등의 단말기는 여러 가지 다양한 애플리케이션들을 통해 사용자에게 여러 가지 유용한 기능을 제공하고 있다. 따라서, 단말기는 다양한 기능의 제공을 통해 다양한 형태의 정보를 이용할 수 있는 기기로 변모해 가는 추세이다. 특히, 단말기는 다양한 기능을 제공하기 위해, 저장부에 다양한 애플리케이션을 구성하는 다양한 프로그램들을 저장한다.
한편, 단말기는 특정 프로그램의 실행 시에 보조 기억 장치로부터 특정 프로그램에 대한 데이터의 위치를 확인하고, 상기 확인된 데이터를 주기억 장치로 송신하였다. 이와 같이, 특정 프로그램을 로딩하는 시간이 일정 시간 소요됨으로써 프로그램 실행을 위한 지연 시간이 발생하는 문제점이 있었다.
따라서, 단말기에서 지연 시간을 최소화하기 위한 방안의 필요성이 대두하였다.
따라서, 본 발명은 단말기에서 프로그램 실행을 위한 지연 시간을 최소화하기 위해 데이터를 처리하는 장치 및 방법을 제안한다.
그리고 본 발명은 프로그램 실행을 위한 지연 시간을 최소화하기 위해 어드레스 테이블을 이용하여 데이터를 처리하는 장치 및 방법을 제안한다.
상기한 과제를 해결하기 위한, 본 발명의 장치는, 단말기에서 데이터를 처리하는 장치에 있어서, 주기억 장치와, 특정 확장자를 포함하는 특정 프로그램이 저장되면, 전체 저장 공간 내에서의 상기 특정 확장자를 가지는 특정 데이터의 위치를 나타내는 어드레스들을 확인하며, 상기 확인된 어드레스들을 기반으로 상기 특정 프로그램을 초기화하고, 상기 확인된 어드레스들을 기반으로 어드레스 테이블을 생성하여 저장하는 보조 기억 장치를 포함하는 것을 특징으로 한다.
상기한 과제를 해결하기 위한, 본 발명의 방법은, 단말기에서 데이터를 처리하는 방법에 있어서, 특정 확장자를 포함하는 특정 프로그램이 저장되면, 전체 저장 공간 내에서의 상기 특정 확장자를 가지는 특정 데이터의 위치를 나타내는 어드레스들을 확인하며, 상기 확인된 어드레스들을 기반으로 상기 특정 프로그램을 초기화하고, 상기 확인된 어드레스들을 기반으로 어드레스 테이블을 생성하여 저장하는 것을 특징으로 한다.
본 발명은 단말기에서 데이터를 처리하는 장치 및 방법을 제안함으로써 프로그램 실행을 위한 지연 시간을 최소화하는 효과를 가진다.
그리고 본 발명은 단말기에서 어드레스 테이블을 이용하여 데이터를 처리하는 장치 및 방법을 제안함으로써 프로그램 실행을 위한 지연 시간을 최소화하는 효과를 가진다.
도 1은 본 발명의 실시 예에 따른 단말기의 블록 구성도,
도 2a 내지 2d는 본 발명의 실시 예에 따른 저장부의 블록 구성도,
도 3은 본 발명의 실시 예에 따른 어드레스 테이블의 포맷을 나타내는 도면,
도 4는 본 발명의 실시 예에 따른 단말기의 제2차 저장부에서 데이터를 처리하는 흐름도이다.
이하, 본 발명의 바람직한 실시 예들을 첨부한 도면을 참조하여 상세히 설명한다. 또한, 본 발명의 요지를 불필요하게 흐릴 수 있는 공지 기능 및 구성에 대한 상세한 설명은 생략한다.
본 발명의 실시 예에 따른 단말기는 휴대 단말기와 이동이 불편한 전자기기를 포함한다. 여기서, 이동이 불편한 전자기기는 개인용 컴퓨터 등이 될 수 있고, 휴대 단말기는 휴대가 용이하게 이동 가능한 전자기기로서, 화상전화기, 휴대폰, 스마트 폰(smart phone), IMT-2000(International Mobile Telecommunication 2000) 단말기, WCDMA 단말기, UMTS(Universal Mobile Telecommunication Service) 단말기, PDA(Personal Digital Assistant), PMP(Portable Multimedia Player), DMB(Digital Multimedia Broadcasting) 단말기, E-Book, 휴대용 컴퓨터(Notebook, Tablet 등) 또는 디지털 카메라(Digital Camera) 등이 될 수 있다.
도 1은 본 발명의 실시 예에 따른 단말기의 블록 구성도이다.
도 1을 참조하면, 단말기는 제어부(101)와 저장부(103)를 포함한다.
각 구성 요소를 살펴보면, 제어부(101)는 단말기의 전반적인 동작을 제어하는 기능을 수행한다. 특히, 제어부(101)는 유/무선 통신을 통해 외부 장치로부터 수신된 데이터를 저장부(103)에 저장하거나 특정 프로그램의 실행이 요청되면, 특정 프로그램과 관련된 데이터를 저장부(103)로부터 수신하여 처리한다.
그리고 저장부(103)는 제어부(101)의 제어에 따라 외부 장치로부터 수신된 데이터를 저장하거나 특정 프로그램의 실행이 요청되면, 미리 저장된 데이터 중에서 특정 프로그램과 관련된 데이터를 검출하고, 검출된 데이터를 제어부(101)로 송신한다.
도 2a 내지 2d는 본 발명의 실시 예에 따른 저장부의 블록 구성도이다.
도 2a 내지 2d를 참조하면, 저장부(103)는 보조 기억 장치(secondary storage)(209)와 주기억 장치(main memory)(211)를 포함한다.
각 구성 요소를 살펴보면, 주기억 장치(211)는 단말기의 입력 장치(미도시)에서 읽어 들인 각종 자료나 프로그램을 일시적으로 저장하여 프로그램이 수행되는 것을 지원하는 장치이다. 그리고 주기적 장치(211)는 제어부(101)의 처리에 필요한 프로그램이나 데이터를 제공하고 그 결과를 다시 보관한다. 그리고 주기억 장치(211)는 보조 기억 장치(209)보다 용량이 작으나 처리 속도가 빠르다. 예를 들면, 주기억 장치(211)는 전원이 끊어져도 기억된 내용이 보존되는 비휘발성 메모리 타입의 롬(Read Only Memory, 이하 'ROM'이라 한다)과 전원이 꺼지면 모든 내용이 지워지는 휘발성 메모리 타입의 램(Random Access Memory, 이하 'RAM'이라 한다)이 있다.
그리고 보조 기억 장치(209)는 주기억 장치(211)의 기억 용량 부족을 보충하기 위해 사용하는 기억 장치이다. 일반적으로, 보조 기억 장치는 주기억 장치보다 용량이 크지만, 데이터를 기록하거나 판독하는 속도가 느리다. 예를 들면, 보조 기억 장치(209)는 플로피 디스크 장치(floppy disk), 하드 디스크 장치(hard disk) 등을 포함한다.
그리고 보조 기억 장치(209)는 코드 영역(201)과 상수 영역(203)과 변수 영역(205)과 어드레스 테이블 영역(207)을 포함한다. 여기서, 코드 영역(201)은 특정 프로그램의 코드를 저장하는 영역으로, 보통 지시자로 '.text' 라고 표기한다. 그리고 상수 영역(203)은 특정 프로그램의 상수를 저장하는 영역으로, 지시자로 보통 '.rodata' 라고 표기한다. 그리고 변수 영역(205)은 특정 프로그램의 변수를 저장하는 영역으로, 지시자로 '.data'로 표기한다. 그리고 어드레스 테이블 영역(207)은 보조 기억 장치(209) 내에서 특정 데이터가 위치하는 영역의 어드레스들을 저장하는 영역이다. 여기서, 특정 데이터는 특정 프로그램 내에서 특정 확장자를 가지는 데이터를 말한다. 예를 들면, 특정 확장자는 'jpg'인 파일 또는 'xip'인 파일이 될 수 있다. 그러나 특정 확장자는 위의 예에 국한되지 않는다.
특히, 보조 기억 장치(209)는 특정 확장자를 포함하는 특정 프로그램의 저장이 요청되면, 특정 프로그램을 저장한다. 예를 들면, 보조 기억 장치(209)는 도 2a와 같이, 특정 확장자를 가지는 특정 데이터가 상수인 경우, 상수 영역(203)의 제1영역(221)에 특정 프로그램의 특정 데이터를 저장할 수 있다.
그리고 보조 기억 장치(209)는 전제 저장 공간(코드 영역(201)과 상수 영역(203)과 변수 영역(205)과 어드레스 테이블 영역(207)을 포함하는 영역)에 어드레스들을 부여한다. 예를 들면, 보조 기억 장치(209)는 도 2b와 같이, 보조 기억 장치(209)의 시작 지점으로부터 마지막 지점까지 순차적으로 어드레스들을 부여할 수 있다. 이러한 어드레스 부여 동작에 의해, 보조 기억 장치(209)는 보조 기억 장치(209)의 시작 지점에 0.0000(113)이라는 어드레스를 부여하고, 보조 기억 장치(209)의 마지막 지점에 F.FFFF(115)이라는 어드레스를 부여할 수 있다. 그리고 보조 기억 장치(209)는 특정 데이터가 저장된 영역의 시작 지점에 a.0000이라는 어드레스를 부여하고, 특정 데이터가 저장된 영역의 마지막 지점에 a.FFFF이라는 어드레스를 부여할 수 있다.
그리고 보조 기억 장치(209)는 전체 저장 공간에 부여된 어드레스들 중에서 특정 데이터가 저장된 영역의 어드레스들을 확인한다. 그리고 보조 기억 장치(209)는 확인된 어드레스들을 기반으로 특정 프로그램을 초기화한다. 여기서, 특정 프로그램의 초기화는 특정 프로그램 내에서 특정 확장자를 호출하기 위한 매개 변수를 확인하고, 확인된 매개 변수를 특정 데이터가 저장된 시작 지점의 어드레스로 설정하는 것을 말한다. 예를 들면, 특정 데이터가 저장된 영역의 시작 및 마지막 지점의 어드레스들이 a.0000(217)과 a.FFFF(219)인 경우, 보조 기억 장치(209)는 특정 프로그램 내에서 특정 데이터를 호출하기 위한 매개 변수를 a.0000로 변경할 수 있다.
그리고 보조 기억 장치(209)는 확인된 어드레스들을 기반으로 특정 데이터에 대한 어드레스 테이블을 생성하고, 생성된 어드레스 테이블을 어드레스 테이블 영역(207)에 저장한다. 예를 들면, 특정 데이터가 저장된 영역의 시작 및 마지막 지점의 어드레스들이 a.0000(217)과 a.FFFF(219)인 경우, 보조 기억 장치(209)는 도 2c와 같이, 특정 데이터의 명칭과 시작 및 마지막 지점의 어드레스들(a.0000(217), a.FFFF(219))을 포함하는 어드레스 테이블을 생성하고, 생성된 어드레스 테이블을 어드레스 테이블 영역(207)에 저장할 수 있다.
그리고 보조 기억 장치(209)는 특정 프로그램의 실행이 요청되면, 어드레스 테이블 영역(207)으로부터 특정 데이터에 대한 어드레스 테이블을 검출하고, 검출된 어드레스 테이블을 기반으로 특정 데이터의 저장 위치를 확인한다. 그리고 보조 기억 장치(209)는 확인된 저장 위치로부터 특정 데이터를 검출하고, 검출된 특정 데이터를 주기억 장치(211)로 전송한다. 이때, 보조 기억 장치(209)는 특정 데이터를 페이지 단위로 전송하거나 특정 프로그램이 원하는 만큼 전송할 수 있다.
예를 들면, 특정 프로그램의 실행이 요청되면, 보조 기억 장치(209)는 도 2d와 같이, 특정 데이터에 대응되는 어드레스 테이블을 검출하고, 어드레스 테이블을 분석함으로써 특정 확장자를 가지는 특정 데이터의 어드레스들(a.0000(217), a.FFFF(219))을 확인할 수 있다. 그리고 보조 기억 장치(209)는 확인된 어드레스들(a.0000(217), a.FFFF(219))를 기반으로 a.0000(217)로부터 a.FFFF(219)까지의 어드레스들에 포함된 특정 데이터를 검출하고, 검출된 특정 데이터를 주기억 장치(211)로 전송할 수 있다.
도 3은 본 발명의 실시 예에 따른 어드레스 테이블의 포맷을 나타내는 도면이다.
도 3을 참조하면, 특정 확장자를 가지는 특정 데이터가 상수 영역(203) 내에 연속적으로 저장되는 경우, 보조 기억 장치(209)는 제1어드레스 테이블(301)을 생성하고, 생성된 제1어드레스 테이블(301)을 어드레스 테이블 영역(207)에 저장한다. 여기서, 제1어드레스 테이블(201)은 제1특정 데이터의 명칭(a.jpg)과 제1어드레스 정보(a.0000, a.FFFF)를 포함한다. 제1어드레스 정보는 특정 데이터가 a.0000부터 a.FFFF까지 연속적으로 저장되었음을 나타낸다.
이와 달리, 특정 확장자를 가지는 특정 데이터가 상수 영역(203) 내에 불연속적으로 저장되는 경우, 보조 기억 장치(209)는 제2어드레스 테이블(303)을 생성하고, 생성된 제2어드레스 테이블(303)을 어드레스 테이블 영역(207)에 저장한다. 여기서, 제2어드레스 테이블(201)은 제2특정 데이터의 명칭(b.jpg)과 제2어드레스 정보(a.0000, a.BBBB, a.CCCC, a.FFFF)를 포함한다. 제2어드레스 정보는 특정 데이터가 a.0000부터 a.BBBB까지 저장되고, a.CCCC로부터 a.FFFF까지 불연속적으로 저장되었음을 나타낸다.
도 4는 본 발명의 실시 예에 따른 단말기의 제2차 저장부에서 데이터를 처리하는 흐름도이다.
도 4를 참조하면, 401 단계에서, 보조 기억 장치(209)는 특정 확장자를 포함하는 특정 프로그램의 저장이 요청되는지 여부를 확인한다. 만약에, 특정 확장자를 포함하는 특정 프로그램의 저장이 요청되면, 보조 기억 장치(209)는 403 단계로 진행하고, 그렇지 않으면, 401 단계를 반복적으로 수행한다.
만약에, 403 단계로 진행하면, 보조 기억 장치(209)는 특정 프로그램을 저장하고, 전제 저장 공간(코드 영역(201)과 상수 영역(203)과 변수 영역(205)과 어드레스 테이블 영역(207)을 포함하는 영역)에 어드레스들을 부여한 후, 405 단계로 진행한다. 만약에, 중앙 처리 장치가 64 비트(bit) 프로세서인 경우, 어드레스의 범위는 16 엑사바이트(exabyte)까지 확장되므로, 전체 저장 공간에 어드레스들을 부여할 수 있다.
예를 들면, 보조 기억 장치(209)는 도 2a와 같이, 특정 확장자를 가지는 특정 데이터가 상수인 경우, 상수 영역(203)의 제1영역(221)에 특정 프로그램의 특정 데이터를 저장할 수 있다. 또 다른 예로, 특정 확장자를 가지는 특정 데이터가 변수인 경우, 변수 영역(205)의 일부 영역에 특정 프로그램의 특정 데이터를 저장할 수 있다.
예를 들면, 보조 기억 장치(209)는 도 2b와 같이, 보조 기억 장치(209)의 시작 지점으로부터 마지막 지점까지 순차적으로 어드레스들을 부여할 수 있다. 이러한 어드레스 부여 동작에 의해, 보조 기억 장치(209)는 보조 기억 장치(209)의 시작 지점에 0.0000(113)이라는 어드레스를 부여하고, 보조 기억 장치(209)의 마지막 지점에 F.FFFF(115)이라는 어드레스를 부여할 수 있다. 그리고 보조 기억 장치(209)는 특정 데이터가 저장된 영역의 시작 지점에 a.0000이라는 어드레스를 부여하고, 특정 데이터가 저장된 영역의 마지막 지점에 a.FFFF이라는 어드레스를 부여할 수 있다.
그리고 405 단계에서, 보조 기억 장치(209)는 전체 저장 공간에 부여된 어드레스들 중에서 특정 데이터가 저장된 영역의 어드레스들을 확인한 후, 407 단계로 진행한다. 그리고 407 단계에서, 보조 기억 장치(209)는 확인된 어드레스들을 기반으로 특정 프로그램을 초기화 후, 409 단계로 진행한다. 여기서, 특정 프로그램의 초기화는 특정 프로그램 내에서 특정 확장자를 호출하기 위한 매개 변수를 확인하고, 확인된 매개 변수를 특정 데이터가 저장된 시작 지점의 어드레스로 설정하는 것을 말한다. 예를 들면, 특정 데이터가 저장된 영역의 시작 및 마지막 지점의 어드레스들이 a.0000(217)과 a.FFFF(219)인 경우, 보조 기억 장치(209)는 특정 프로그램 내에서 특정 데이터를 호출하기 위한 매개 변수를 a.0000로 변경할 수 있다.
그리고 409 단계에서, 보조 기억 장치(209)는 확인된 어드레스들을 기반으로 특정 확장자에 대한 어드레스 테이블을 생성하고, 생성된 어드레스 테이블을 어드레스 테이블 영역(207)에 저장한 후, 411 단계로 진행한다. 예를 들면, 특정 확장자가 저장된 영역의 시작 및 마지막 지점의 어드레스들이 a.0000(217)과 a.FFFF(219)인 경우, 보조 기억 장치(209)는 도 2c와 같이, 특정 데이터의 명칭과 시작 및 마지막 지점의 어드레스들(a.0000(217), a.FFFF(219))을 포함하는 어드레스 테이블을 생성하고, 생성된 어드레스 테이블을 어드레스 테이블 영역(207)에 저장할 수 있다.
위의 401 내지 409 단계를 통해, 보조 기억 장치(209)는 특정 프로그램의 직접 실행(execution in place)이 가능하지 않지만, 오퍼레이팅 시스템 레벨(Operating System Level)에서 특정 프로그램의 실행을 위한 준비 과정(특정 프로그램의 초기화)을 실행할 수 있다.
그리고 411 단계에서, 보조 기억 장치(209)는 특정 프로그램의 실행이 요청되는지 여부를 확인한다. 확인 결과, 특정 프로그램의 실행이 요청되면, 보조 기억 장치(209)는 413 단계로 진행하고, 그렇지 않으면, 411 단계를 반복적으로 수행한다. 여기서, 특정 프로그램의 실행은 사용자에 의해 특정 프로그램의 실행이 요청된 경우 또는 단말기가 미리 지정된 특정 프로그램의 실행 조건을 만족하는 경우에 수행된다.
만약에, 413 단계로 진행하면, 보조 기억 장치(209)는 어드레스 테이블 영역(207)으로부터 특정 데이터에 대한 어드레스 테이블을 검출하고, 검출된 어드레스 테이블을 기반으로 특정 데이터의 저장 위치를 확인한 후, 415 단계로 진행한다. 그리고 415 단계에서, 보조 기억 장치(209)는 확인된 저장 위치로부터 특정 데이터를 검출하고, 검출된 특정 데이터를 주기억 장치(211)로 전송한다. 이때, 보조 기억 장치(209)는 특정 데이터를 페이지 단위로 전송하거나 특정 프로그램이 원하는 만큼 전송할 수 있다.
예를 들면, 특정 프로그램의 실행이 요청되면, 보조 기억 장치(209)는 도 2d와 같이, 특정 확장자에 대응되는 어드레스 테이블을 검출하고, 어드레스 테이블을 분석함으로써 특정 확장자를 가지는 특정 데이터의 어드레스들(a.0000(217), a.FFFF(219))을 확인할 수 있다. 그리고 보조 기억 장치(209)는 확인된 어드레스들(a.0000(217), a.FFFF(219))를 기반으로 a.0000(217)로부터 a.FFFF(219)까지의 어드레스들에 포함된 특정 데이터를 검출하고, 검출된 특정 데이터를 주기억 장치(211)로 전송할 수 있다.
이러한 401 내지 413 단계를 통해, 보조 기억 장치(209)는 특정 프로그램의 로딩에 대한 시간을 단축함으로써 특정 프로그램의 실행 요청에 대한 지연 시간을 최소화할 수 있다.
이러한 동작을 통해, 본 발명은 단말기에서 데이터를 처리하는 장치 및 방법을 제안함으로써 프로그램 실행을 위한 지연 시간을 최소화하는 효과를 가진다. 그리고 본 발명은 단말기에서 어드레스 테이블을 이용하여 데이터를 처리하는 장치 및 방법을 제안함으로써 프로그램 실행을 위한 지연 시간을 최소화하는 효과를 가진다.
본 발명의 단말기에서 데이터를 처리하는 방법은 컴퓨터로 읽을 수 있는 기록매체에 컴퓨터가 읽을 수 있는 코드로서 구현하는 것이 가능하다. 컴퓨터가 읽을 수 있는 기록매체는 컴퓨터 시스템에 의하여 읽혀질 수 있는 데이터가 저장되는 모든 종류의 기록장치를 포함한다. 기록매체의 예로는 ROM, RAM, 광학 디스크, 자기 테이프, 플로피 디스크, 하드 디스크, 비휘발성 메모리 등이 있다. 또한 컴퓨터가 읽을 수 있는 기록매체는 네트워크로 연결된 컴퓨터 시스템에 분산되어 분산방식으로 컴퓨터가 읽을 수 있는 코드가 저장되고 실행될 수 있다.
상술한 본 발명의 설명에서는 이동통신단말기와 같은 구체적인 실시 예에 관해 설명하였으나, 여러 가지 변형이 본 발명의 범위에서 벗어나지 않고 실시될 수 있다. 따라서 본 발명의 특허 범위는 상기 설명된 실시 예에 의하여 정할 것이 아니고 특허청구범위뿐 아니라 균등 범위에도 미침은 자명할 것이다.
101: 제어부 103: 저장부
201: 코드 영역 203: 상수 영역
205: 변수 영역 207: 어드레스 테이블 영역
209: 보조 기억 장치 211: 주기억 장치
213, 215, 217, 219: 어드레스들 221: 상수 영역의 제1영역

Claims (15)

  1. 단말기에 있어서,
    주기억 장치;
    보조 기억 장치; 및
    프로세서를 포함하며,
    상기 프로세서는,
    특정 확장자들을 갖는 특정 데이터 객체들을 포함하는 특정 프로그램이 저장되면, 상기 보조 기억 장치의 전체 저장 공간 내 복수의 영역들에 어드레스들을 할당하고,
    상기 어드레스들 중에서 상기 특정 확장자들을 갖는 상기 특정 데이터 객체들이 저장된 위치들을 나타내는 어드레스들을 확인하고,
    상기 확인된 어드레스들을 기반으로 상기 특정 프로그램을 초기화하고,
    상기 확인된 어드레스들을 기반으로 생성된 상기 특정 데이터 객체들에 대한 어드레스 테이블을 상기 보조 기억 장치에 저장하도록 설정된 단말기.
  2. 제1항에 있어서,
    상기 프로세서는,
    상기 특정 프로그램의 실행이 요청되면, 상기 보조 기억 장치로부터 상기 어드레스 테이블을 기반으로 상기 특정 프로그램에 대응되는 상기 특정 데이터 객체들을 확인하고, 상기 확인된 특정 데이터 객체들을 상기 주기억 장치로 송신하도록 설정된 단말기.
  3. 제1항에 있어서,
    상기 어드레스 테이블은, 상기 특정 데이터 객체들의 명칭들과 상기 특정 데이터 객체들이 저장된 영역들의 시작 지점들의 어드레스들과 마지막 지점들의 어드레스들을 포함하는 단말기.
  4. 제1항에 있어서,
    상기 프로세서는,
    상기 보조 기억 장치의 상기 전체 저장 공간에 어드레스들을 부여하고, 상기 부여된 어드레스들 중에서 상기 특정 데이터 객체들이 저장된 영역들의 어드레스들을 확인하도록 설정된 단말기.
  5. 제1항에 있어서,
    상기 프로세서는,
    상기 보조 기억 장치에 저장된, 상기 특정 프로그램 내에서 상기 특정 데이터 객체들 중 적어도 하나를 호출하기 위한 적어도 하나의 매개 변수를 확인하고, 상기 확인된 매개 변수를 상기 어드레스들 중에서 상기 적어도 하나의 특정 데이터 객체가 저장된 영역의 시작 지점의 어드레스로 설정하도록 설정된 단말기.
  6. 제1항에 있어서,
    상기 프로세서는,
    상기 확인된 어드레스들을 기반으로 어드레스 테이블을 생성하고,
    상기 어드레스 테이블을 상기 보조 기억 장치 내 상기 복수의 영역들 중 어드레스 테이블 영역에 저장하도록 설정된 단말기.
  7. 단말기에서 데이터를 처리하는 방법에 있어서,
    특정 확장자들을 갖는 특정 데이터 객체들을 포함하는 특정 프로그램이 저장되면, 상기 단말기의 보조 기억 장치의 전체 저장 공간 내 복수의 영역들에 어드레스들을 할당하는 동작;
    상기 어드레스들 중에서 상기 특정 확장자들을 갖는 상기 특정 데이터 객체들이 저장된 위치들을 나타내는 어드레스들을 확인하는 동작;
    상기 확인된 어드레스들을 기반으로 상기 특정 프로그램을 초기화하는 동작; 및
    상기 확인된 어드레스들을 기반으로 생성된 상기 특정 데이터 객체들에 대한 어드레스 테이블을 상기 보조 기억 장치에 저장하는 동작을 포함하는 방법.
  8. 제7항에 있어서,
    상기 특정 프로그램의 실행이 요청되면, 상기 보조 기억 장치로부터 상기 어드레스 테이블을 기반으로 상기 특정 프로그램에 대응되는 상기 특정 데이터 객체들을 확인하는 동작; 및
    상기 확인된 특정 데이터 객체들을 상기 단말기의 주기억 장치로 송신하는 동작을 더 포함하는 방법.
  9. 제7항에 있어서,
    상기 어드레스 테이블은, 상기 특정 데이터 객체들의 명칭들과 상기 특정 데이터 객체들이 저장된 영역들의 시작 지점들의 어드레스들과 마지막 지점들의 어드레스들을 포함하는 방법.
  10. 제7항에 있어서,
    상기 보조 기억 장치의 상기 전체 저장 공간에 어드레스들을 부여하는 동작; 및
    상기 부여된 어드레스들 중에서 상기 특정 데이터 객체들이 저장된 영역들의 어드레스들을 확인하는 동작을 더 포함하는 방법.
  11. 제7항에 있어서,
    상기 특정 프로그램을 초기화하는 동작은,
    상기 특정 프로그램 내에서 상기 특정 데이터 객체들 중 적어도 하나를 호출하기 위한 적어도 하나의 매개 변수를 확인하는 동작; 및
    상기 확인된 매개 변수를 상기 어드레스들 중에서 상기 적어도 하나의 특정 데이터 객체가 저장된 영역의 시작 지점의 어드레스로 설정하는 동작을 포함하는 방법.
  12. 제7항에 있어서,
    상기 어드레스 테이블을 저장하는 동작은,
    상기 확인된 어드레스들을 기반으로 상기 어드레스 테이블을 생성하는 동작; 및
    상기 어드레스 테이블을 상기 보조 기억 장치 내 상기 복수의 영역들 중 어드레스 테이블 영역 내에 저장하는 동작을 포함하는 방법.
  13. 제7항에 있어서,
    상기 복수의 영역들은 상기 특정 데이터 객체들의 타입들에 기반하여 분류되는 방법.
  14. 제7항 내지 제13항 중 어느 한 항에 따른 단말기에서 데이터를 처리하는 방법을 실행하기 위한 컴퓨터 프로그램을 기록한 컴퓨터로 읽을 수 있는 저장 매체.
  15. 제1항에 있어서,
    상기 복수의 영역들은 상기 특정 데이터 객체들의 타입들에 기반하여 분류되는 단말기.
KR1020130025686A 2013-03-11 2013-03-11 단말기에서 데이터를 처리하는 장치 및 방법 KR102031565B1 (ko)

Priority Applications (2)

Application Number Priority Date Filing Date Title
KR1020130025686A KR102031565B1 (ko) 2013-03-11 2013-03-11 단말기에서 데이터를 처리하는 장치 및 방법
US14/202,352 US9639279B2 (en) 2013-03-11 2014-03-10 Apparatus and method for processing data in terminal

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020130025686A KR102031565B1 (ko) 2013-03-11 2013-03-11 단말기에서 데이터를 처리하는 장치 및 방법

Publications (2)

Publication Number Publication Date
KR20140111482A KR20140111482A (ko) 2014-09-19
KR102031565B1 true KR102031565B1 (ko) 2019-10-15

Family

ID=51489371

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020130025686A KR102031565B1 (ko) 2013-03-11 2013-03-11 단말기에서 데이터를 처리하는 장치 및 방법

Country Status (2)

Country Link
US (1) US9639279B2 (ko)
KR (1) KR102031565B1 (ko)

Family Cites Families (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4835686A (en) * 1985-05-29 1989-05-30 Kabushiki Kaisha Toshiba Cache system adopting an LRU system, and magnetic disk controller incorporating it
US5778383A (en) * 1995-08-08 1998-07-07 Apple Computer, Inc. System for dynamically caching and constructing software resource tables
US6073232A (en) * 1997-02-25 2000-06-06 International Business Machines Corporation Method for minimizing a computer's initial program load time after a system reset or a power-on using non-volatile storage
KR100322573B1 (ko) * 1998-06-19 2002-03-08 윤종용 주기억장치와 보조기억장치사이의 스와핑 장치및 방법, 그 장치를 채용한 웹비디오 폰
KR100544171B1 (ko) * 1999-05-12 2006-01-23 삼성전자주식회사 임베디드 시스템 및 그 운용방법
KR101465099B1 (ko) * 2008-09-11 2014-11-25 시게이트 테크놀로지 엘엘씨 특정 조건을 갖는 파일을 신속하게 판독할 수 있는 하이브리드 하드디스크 드라이브, 이에 적합한 제어 방법 및 이에 적합한 기록 매체

Also Published As

Publication number Publication date
KR20140111482A (ko) 2014-09-19
US20140258673A1 (en) 2014-09-11
US9639279B2 (en) 2017-05-02

Similar Documents

Publication Publication Date Title
KR102137761B1 (ko) 이종 통합 메모리부 및 그것의 확장 통합 메모리 스페이스 관리 방법
US9405697B2 (en) Memory management method and apparatus
US8510497B2 (en) Flash storage device with flexible data format
WO2017107415A1 (zh) 应用加载方法和装置
US20140281227A1 (en) Provisioning in heterogenic volume of multiple tiers
US20150169570A1 (en) Method and device for managing data
CN111240601B (zh) 一种分区空间的超级块确定方法、装置、设备及存储介质
US20130179647A1 (en) Storage device and data management method thereof
US20170052979A1 (en) Input/Output (IO) Request Processing Method and File Server
US8423730B2 (en) Method and apparatus for supporting diverse memory access schemes
KR20140073955A (ko) 메모리 시스템 및 그 구동 방법
KR102031565B1 (ko) 단말기에서 데이터를 처리하는 장치 및 방법
WO2016023276A1 (zh) 一种存储卡的数据处理方法及装置
CN103544254A (zh) 一种数据管理方法及装置
JP2018525724A (ja) メモリ管理装置を用いた自動メモリ管理
CN105144073A (zh) 可移除存储设备身份和配置信息
KR20090053487A (ko) 실시간 응답성이 요구되는 코드를 위한 요구 페이징 방법및 단말
US7681009B2 (en) Dynamically updateable and moveable memory zones
US20170083235A1 (en) Device capable of using external volatile memory and device capable of releasing internal volatile memory
CN114385552A (zh) 一种内存中文件页的页整合方法及装置
KR20180076276A (ko) 플래시 메모리의 가비지 콜렉션 방법 및 이를 이용하는 저장 장치
CN110286995B (zh) 一种数据读写方法和装置
US20150220432A1 (en) Method and apparatus for managing at least one non-volatile memory
CN107678684B (zh) 存储器的无效数据清除方法、装置和存储器
US10534702B2 (en) Information processing apparatus, information processing method, and storage medium

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