KR20140033964A - 단말기의 데이터 저장장치 및 방법 - Google Patents

단말기의 데이터 저장장치 및 방법 Download PDF

Info

Publication number
KR20140033964A
KR20140033964A KR1020120100602A KR20120100602A KR20140033964A KR 20140033964 A KR20140033964 A KR 20140033964A KR 1020120100602 A KR1020120100602 A KR 1020120100602A KR 20120100602 A KR20120100602 A KR 20120100602A KR 20140033964 A KR20140033964 A KR 20140033964A
Authority
KR
South Korea
Prior art keywords
data
slc
memory
received
area
Prior art date
Application number
KR1020120100602A
Other languages
English (en)
Inventor
신희섭
Original Assignee
삼성전자주식회사
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 삼성전자주식회사 filed Critical 삼성전자주식회사
Priority to KR1020120100602A priority Critical patent/KR20140033964A/ko
Priority to PCT/KR2013/008231 priority patent/WO2014042435A1/en
Priority to US14/023,958 priority patent/US20140071753A1/en
Priority to EP13183949.0A priority patent/EP2706460A1/en
Publication of KR20140033964A publication Critical patent/KR20140033964A/ko

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C16/00Erasable programmable read-only memories
    • G11C16/02Erasable programmable read-only memories electrically programmable
    • G11C16/06Auxiliary circuits, e.g. for writing into memory
    • G11C16/10Programming or data input circuits
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/02Addressing or allocation; Relocation
    • G06F12/0223User address space allocation, e.g. contiguous or non contiguous base addressing
    • G06F12/023Free address space management
    • G06F12/0238Memory management in non-volatile memory, e.g. resistive RAM or ferroelectric memory
    • G06F12/0246Memory management in non-volatile memory, e.g. resistive RAM or ferroelectric memory in block erasable memory, e.g. flash memory
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • 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
    • G06F12/0868Data transfer between cache memory and other subsystems, e.g. storage devices or host systems
    • 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
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C11/00Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor
    • G11C11/56Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using storage elements with more than two stable states represented by steps, e.g. of voltage, current, phase, frequency
    • G11C11/5621Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using storage elements with more than two stable states represented by steps, e.g. of voltage, current, phase, frequency using charge storage in a floating gate
    • G11C11/5628Programming or writing circuits; Data input circuits
    • 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/0804Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches with main memory updating
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2212/00Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
    • G06F2212/10Providing a specific technical effect
    • G06F2212/1016Performance improvement
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2212/00Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
    • G06F2212/10Providing a specific technical effect
    • G06F2212/1041Resource optimization
    • G06F2212/1044Space efficiency improvement
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2212/00Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
    • G06F2212/21Employing a record carrier using a specific recording technology
    • G06F2212/214Solid state disk
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2212/00Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
    • G06F2212/22Employing cache memory using specific memory technology
    • G06F2212/222Non-volatile memory
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2212/00Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
    • G06F2212/72Details relating to flash memory management
    • G06F2212/7202Allocation control and policies
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2212/00Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
    • G06F2212/72Details relating to flash memory management
    • G06F2212/7203Temporary buffering, e.g. using volatile buffer or dedicated buffer blocks
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C16/00Erasable programmable read-only memories
    • G11C16/02Erasable programmable read-only memories electrically programmable
    • G11C16/04Erasable programmable read-only memories electrically programmable using variable threshold transistors, e.g. FAMOS
    • G11C16/0483Erasable programmable read-only memories electrically programmable using variable threshold transistors, e.g. FAMOS comprising cells having several storage transistors connected in series
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C2211/00Indexing scheme relating to digital stores characterized by the use of particular electric or magnetic storage elements; Storage elements therefor
    • G11C2211/56Indexing scheme relating to G11C11/56 and sub-groups for features not covered by these groups
    • G11C2211/564Miscellaneous aspects
    • G11C2211/5641Multilevel memory having cells with different number of storage levels

Abstract

본 발명은 단말기의 데이터 저장장치 및 방법에 관한 것으로, 특히 고속저장이 필요한 대용량의 데이터를 빠르게 저장할 수 있는 단말기의 데이터 저장장치 및 방법에 관한 것이다.
이를 달성하기 위해 단말기의 데이터 저장장치가, 고속저장동작이 필요한 기능이 선택되면, 메모리의 SLC영역에 데이터저장을 지시하는 제1 명령어를 메모리에게 전송하는 프로세서와; 상기 프로세서로부터 상기 제1 명령어가 수신되면, 데이터의 크기와 상관없이, 수신되는 데이터가 상기 SLC영역에 저장되는 상기 메모리를 포함하는 것을 특징으로 한다.

Description

단말기의 데이터 저장장치 및 방법{DEVICE AND METHOD FOR SAVING DATA IN TERMINAL}
본 발명은 단말기의 데이터 저장장치 및 방법에 관한 것으로, 특히 고속저장이 필요한 대용량의 데이터를 빠르게 저장할 수 있는 단말기의 데이터 저장장치 및 방법에 관한 것이다.
MLC(Multi Level Cell) 낸드 플래시 메모리는 하나의 메모리 셀에 복수 개의 비트를 저장할 수 있는 낸드 플래시 메모리이다. 기존의 SLC(Single Level Cell)낸드 플래시에 비하여 동일 실리콘 면적당 보다 많은 저장 용량을 제공할 수 있으므로 SLC 낸드 플래시에 비해 가격이 저렴하다. 따라서 MLC 낸드 플래시 메모리는 휴대용 메모리 카드 및 SSD (Solid State Drive) 와 같은 제품에 널리 채용되고 있다.
하지만, MLC 낸드 플래시 메모리는 Single Level Cell (SLC) 낸드 플래시 메모리에 비해 프로그래밍 속도가 느리다. SLC 낸드 플래시 메모리의 셀이 0 혹은 1의 두 가지 상태만을 저장하므로 프로그래밍 과정이 간단함에 비하여, MLC 낸드 플래시 메모리에서는 하나의 메모리 셀이 보다 세분화된 상태를 갖도록 프로그래밍 하여야 하기 때문에 프로그래밍 과정이 복잡하고 보다 많은 시간이 소요되기 때문이다. 따라서 MLC 낸드 플래시 메모리의 쓰기 성능은 SLC 낸드 플래시 메모리의 쓰기 성능에 비하여 약 절반 정도를 보인다.
뿐만 아니라, MLC 낸드 플래시의 수명은 SLC 의 수명보다 짧다. 왜냐하면 MLC 낸드 플래시는 쓰기 과정 중 메모리 셀에 가해지는 프로그래밍 스트레스가 SLC 낸드 플래시 메모리에 비하여 크기 때문이다. 따라서 SLC 낸드 플래시 메모리가 100만회의 P/E (Programming / Erase) cycle을 보장하는 것에 비해, MLC 낸드 플래시 메모리는 약 1만회의 P/E (Programming / Erase) cycle 을 보장하는 것으로, SLC 낸드 플래시 메모리보다 매우 낮다.
이처럼 MLC 낸드 플래시의 열등한 쓰기 성능과 낮은 P/E cycle 으로 인하여, MLC 낸드 플래시는 고속의 쓰기 성능을 요구하거나 신뢰성이 요구되는 응용에 적합하지 않은 것으로 보일 수 있다.
예를 들어, 매우 빈번한 쓰기 동작이 발생할 경우 MLC 낸드 플래시 메모리의 낮은 P/E Cycle로 인하여 제품의 수명이 크게 감소하여 저장된 데이터의 신뢰성을 보장 하지 못하는 경우가 발생할 수 있다. 또한, 낮은 쓰기 성능으로 인해 신속하게 대용량의 데이터를 저장하여야 하는 응용에 적용이 힘들 수 있다.
상기와 같은 MLC 낸드 플래시 메모리의 단점을 해소하기 위해, 최근의 낸드 플래시 메모리 제품은 낸드 플래시 메모리를 구성하는 각각의 블록들을 SLC 혹은 MLC 방식으로 선택적으로 사용할 수 있도록 하고 있다. 예를 들어, 고속의 성능이 필요한 응용에서는 용량을 줄이는 대신 속도가 빠른 SLC 방식으로, 멀티미디어 데이터와 같은 대용량의 저장 공간이 필요한 응용에서는 속도를 줄이는 대신 저장 용량을 높일 수 있는 MLC 방식으로 구동할 수 있다. 다시 말하면, 최근의 낸드 플래시 메모리는 메모리상의 임의의 블록을 SLC 혹은 MLC 방식으로 선택적으로 구동할 수 있다.
이와 같은 MLC 플래시 메모리의 기능은 플래시 변환 계층 (Flash Translation Layer) 에서 종종 활용된다. 플래시 변환 계층 (Flash Translation Layer) 은 낸드 플래시 메모리를 디스크 드라이브와 유사한 방식으로 사용할 수 있게 해주는 소프트웨어이다. FTL은 빈번히 기록되는 데이터를 SLC 방식으로 저장하고, 그렇지 않은 데이터를 MLC 방식으로 저장할 수 있다. 이를 위해, 플래시 변환 계층은 SLC 방식으로 구동되는 일부 블록들을 확보하여 두고 일종의 버퍼 공간으로 활용하는데 이러한 운용 방법을 SLC buffer 기법 이라고 한다.
SLC buffer 기법은 MLC 낸드 플래시에 불리한 입출력을 흡수하는 효과가 있다. 빈번하게 수정 기록 되는 데이터는 낸드 플래시 메모리의 잦은 소거/기록을 유발하므로 높은 P/E cycle을 가지는 SLC 방식으로 처리되는 것이 유리할 것이다. 그러나, 플래시 변환 계층은 데이터의 갱신 빈도를 합리적인 비용으로 정확하게 추측할만한 수단이 없으므로 쓰기 요청된 데이터를 SLC 혹은 MLC 영역 중 어느 영역에 기록하여야 할지 판단하기 어렵다.
이러한 어려움으로 인하여, SLC buffer 기법을 사용하는 종래의 플래시 변환 계층은 쓰기 요청된 데이터의 길이를 기준으로 판단하여 데이터가 저장될 영역을 결정한다. 예를 들어, 미리 정한 임계값 보다 크기가 작은 데이터 쓰기 요청은 SLC 영역으로, 이외의 데이터 쓰기 요청은 MLC 영역을 통해 처리 한다. 일반적으로 크기가 작은 데이터는 파일시스템의 메타데이터와 같이 빈번히 자주 갱신되는 경향이 있고 MP3, 동영상과 같이 크기가 큰 데이터는 한번 기록되면 거의 갱신되지 않는 특성이 있으므로, MLC 방식으로 구동되는 영역의 제한된 P/E Cycle을 고려할 때 이 방법은 유효하다. 또한, 파일시스템 메타데이터와 같은 데이터는 컴퓨터 시스템의 성능과 밀접한 영향이 있어 신속히 기록되어야 하므로 작은 크기의 데이터를 SLC 방식으로 저장하는 것이 더욱 타당하다.
그러나 종래의 SLC Buffer 기법을 사용하는 플래시 변환 계층에서 단순히 데이터의 길이만을 판단하여 SLC / MLC 영역을 결정할 경우, 작은 단위의 쓰기는 무조건 SLC Buffer에 저장되고, 큰 단위의 쓰기는 무조건 MLC 영역에 저장되므로 빠른 기록이 필요한 큰 단위의 데이터 쓰기 요청을 적절히 처리할 수 없는 문제점이 있었다.
따라서 본 발명의 목적은 고속저장이 필요한 대용량의 데이터를 빠르게 저장할 수 있는 단말기의 데이터 저장장치 및 방법을 제공하는 것이다.
상기 목적을 달성하기 위한 단말기의 데이터 저장장치가, 대용량 데이터에 대한 고속저장이 필요한 기능이 선택되면, 메모리의 SLC영역에 데이터저장을 지시하는 제1 명령어를 메모리에게 전송하는 프로세서와; 상기 프로세서로부터 상기 제1 명령어가 수신되면, 데이터의 크기와 상관없이, 수신되는 데이터가 상기 SLC영역에 저장되는 상기 메모리를 포함하는 것을 특징으로 한다.
또한 상기 목적을 달성하기 위한 단말기의 데이터 저장방법은, 대용량 데이터에 대한 고속저장이 필요한 기능이 선택되면, 프로세서는 메모리의 SLC영역에 데이터저장을 지시하는 제1 명령어를 메모리에게 전송하는 과정과; 상기 프로세서로부터 상기 제1 명령어가 수신되면, 상기 메모리의 SLC영역에 데이터의 크기와 상관없이, 수신되는 데이터가 저장되는 과정을 포함하는 것을 특징으로 한다.
본 발명은 단말기의 데이터 저장장치 및 방법을 제공함으로써, 일시적으로 고속저장을 필요로 하는 대용량의 데이터를 빠르게 메모리에 저장할 수 있는 효과가 있다.
도 1은 본 발명의 실시 예에 따른 단말기의 구성도.
도 2는 본 발명의 실시 예에 따른 단말기에서 대용량의 데이터에 대한 고속저장을 위한 프로세서의 처리과정을 도시한 흐름도.
도 3은 본 발명의 제1 실시 예에 따른 단말기에서 대용량 데이터에 대한 고속저장을 위한 메모리의 처리과정을 도시한 흐름도.
도 4a - 도 4b는 본 발명의 제2 실시 예에 따른 단말기에서 대용량 데이터에 대한 고속저장을 위한 메모리의 처리과정을 도시한 흐름도.
도 5a - 도 5b는 본 발명의 제3 실시 예에 따른 단말기에서 대용량 데이터에 대한 고속저장을 위한 메모리의 처리과정을 도시한 흐름도.
이하 본 발명의 바람직한 실시 예들의 상세한 설명이 첨부된 도면들을 참조하여 설명될 것이다. 도면들 중 동일한 구성들은 가능한 한 어느 곳에서든지 동일한 부호들을 나타내고 있음을 유의하여야 한다.
본 발명의 실시 예에 따른 단말기는 휴대 단말기와 고정 단말기를 포함한다. 여기서, 휴대 단말기는 휴대가 용이하게 이동 가능한 전자기기로서, 화상전화기, 휴대폰, 스마트 폰(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) 등이 될 수 있다. 그리고 고정 단말기는 데스크탑(desktop) 개인용 컴퓨터 등이 될 수 있다.
도 1은 본 발명의 실시 예에 따른 단말기의 구성도이다.
상기 도 1을 참조하면, RF부(123)는 단말기의 무선 통신 기능을 수행한다. 상기 RF부(123)는 송신되는 신호의 주파수를 상승변환 및 증폭하는 RF송신기와, 수신되는 신호를 저잡음 증폭하고 주파수를 하강변환하는 RF수신기 등을 포함한다. 데이터처리부(120)는 상기 송신되는 신호를 부호화 및 변조하는 송신기 및 상기 수신되는 신호를 복조 및 복호화 하는 수신기 등을 구비한다. 즉, 상기 데이터 처리부(320)는 모뎀(MODEM) 및 코덱(CODEC)으로 구성될 수 있다. 여기서 상기 코덱은 패킷데이터 등을 처리하는 데이터 코덱과 음성 등의 오디오 신호를 처리하는 오디오 코덱을 구비한다. 오디오 처리부(125)는 상기 데이터 처리부(320)의 오디오 코덱에서 출력되는 수신 오디오신호를 재생하거나 또는 마이크로부터 발생되는 송신 오디오신호를 상기 데이터 처리부(120)의 오디오 코덱에 전송하는 기능을 수행한다.
키 입력부(127)는 숫자 및 문자 정보를 입력하기 위한 키들 및 각종 기능들을 설정하기 위한 기능 키들을 구비한다.
카메라부(140)는 영상 데이터를 촬영하며, 촬영된 광 신호를 전기적 신호로 변환하는 카메라 센서와, 상기 카메라센서로부터 촬영되는 아날로그 영상신호를 디지털 데이터로 변환하는 신호처리부를 구비한다. 여기서 상기 카메라 센서는 CCD 또는 CMOS센서라 가정하며, 상기 신호처리부는 DSP(Digital Signal Processor)로 구현할 수 있다. 또한 상기 카메라 센서 및 신호처리부는 일체형으로 구현할 수 있으며, 또한 분리하여 구현할 수도 있다.
상기 영상처리부(150)는 상기 카메라부(340)에서 출력되는 영상신호를 표시부(160)에 표시하기 위한 ISP(Image Signal Processing)를 수행하며, 상기 ISP는 감마교정, 인터폴레이션, 공간적 변화, 이미지 효과, 이미지 스케일, AWB, AE,AF 등과 같은 기능을 수행한다. 따라서 상기 영상처리부(350)는 상기 카메라부(340)에서 출력되는 영상신호를 프레임 단위로 처리하며, 상기 프레임 영상데이터를 상기 표시부(360)의 특성 및 크기에 맞춰 출력한다. 또한 상기 영상처리부(350)는 영상코덱을 구비하며, 상기 표시부(160)에 표시되는 프레임 영상데이터를 설정된 방식으로 압축하거나, 압축된 프레임 영상데이터를 원래의 프레임 영상데이터로 복원하는 기능을 수행한다. 여기서 상기 영상코덱은 JPEG 코덱, MPEG4 코덱, Wavelet 코덱 등이 될 수 있다. 상기 영상처리부(350)는 OSD(On Screen Display) 기능을 구비한다고 가정하며, 상기 프로세서(110)의 제어하여 표시되는 화면크기에 따라 온 스크린 표시데이터를 출력할 수 있다.
상기 표시부(160)는 상기 영상처리부(350)에서 출력되는 영상신호를 화면으로 표시하며, 상기 프로세서(110)에서 출력되는 사용자 데이터를 표시한다. 여기서 상기 표시부(360)는 LCD를 사용할 수 있으며, 이런 경우 상기 표시부(360)는 LCD제어부(LCD controller), 영상데이터를 저장할 수 있는 메모리 및 LCD표시소자 등을 구비할 수 있다. 여기서 상기 LCD를 터치스크린(touch screen) 방식으로 구현하는 경우, 입력부로 동작할 수도 있으며, 이때 상기 표시부(260)에는 상기 키 입력부(327)와 같은 키들을 표시할 수 있다.
상기 프로세서(110)는 단말기의 전반적인 동작을 제어하는 기능을 수행한다.
상기 프로세서(110)는 본 발명의 실시 예에 따라, 단말기에서 사용자에 의해 대용량 데이터에 대한 고속저장이 필요한 기능이 선택되면, SLC영역(131a)에 데이터저장을 지시하는 제1 명령어를 플래시 메모리(131)에게 전송한다.
또한 상기 프로세서(110)는 본 발명의 실시 예에 따라, 상기 대용량 데이터에 대한 고속저장이 필요한 기능이 종료되면, 데이터의 크기에 따라 상기 플래시메모리(131)에 포함된 SLC영역(131a) 및 MLC영역(131b) 중 어느 한 영역에 데이터 저장을 지시하는 제2 명령어를 상기 플래시메모리(131)에게 전송한다.
또한 상기 프로세서(110)는 본 발명의 실시 예에 따라, 상기 SLC영역(131a)에 저장된 모든 데이터를 MLC영역(131b)으로 이동을 지시하는 제3 명령어를 상기 플래시메모리(131)에 전송한다.
상기 메모리(130)는 프로그램 메모리, 데이터 메모리들로 구성될 수 있다. 상기 프로그램 메모리는 단말기의 일반적인 동작을 제어하기 위한 프로그램들 및 본 발명의 실시 예에 따라 대용량의 고속저장이 필요한 데이터를 플래시메모리의 SLC영역에 저장할 수 있도록 제어하는 프로그램들을 저장할 수 있다. 또한 상기 데이터 메모리는 상기 프로그램들을 수행하는 중에 발생되는 데이터들을 일시 저장하는 기능을 수행한다.
또한 상기 메모리(330)는 휘발성 메모리와 비휘발성 메모리를 포함하며, 본 발명은 데이터저장을 수행하는 비휘발성 메모리에 관한 것으로, 그 중 낸드 플래시메모리(131)에서의 데이터저장에 관한 것이다.
상기 플래시메모리(131)는 저장속도가 빠르지만 저장용량이 작은 SLC(Single Level Cell)영역(131a)과, 저장속도는 느리지만 저장용량이 큰 MLC(Multi Level Cell)영역(131b)로 분할된다.
상기 SLC영역은(131a)은 본 발명의 실시 예에 따라, 상기 플래시메모리(131)가 상기 프로세서(110)로부터 제1 명령어가 수신되어 제2 모드로 전환될 때, 수신되는 대용량의 데이터를 저장한다.
상기 SLC영역은(131a)은 본 발명의 실시 예에 따라, 상기 플래시메모리(131)가 상기 프로세서(110)로부터 제2 명령어가 수신되어 제1 모드로 전환될 때, 수신되는 임계값 이하의 작은 데이터를 저장한다.
상기 MLC영역은(131b)은 본 발명의 실시 예에 따라, 상기 플래시메모리(131)가 상기 프로세서(110)로부터 제2 명령어가 수신되어 제1 모드로 전환될 때, 수신되는 임계값 이상의 큰 데이터를 저장한다.
또한 상기 플래시메모리(131)에서는 본 발명의 실시 예에 따라, 데이터의 크기에 따라 수신되는 데이터가 상기 플래시메모리(131)에 포함된 SLC영역(131a) 및 MLC영역(131b) 중 어느 한 영역에 저장되는 제1 모드에서, 상기 프로세서(110)로부터 상기 제1 명령어가 수신되면 상기 SLC영역(131a)에 수신되는 모든 데이터를 저장하는 제2 모드로 전환된다. 그리고 상기 플래시메모리의 상기 제2 모드에서 상기 프로세서(110)로부터 데이터 저장명령어가 수신되면, 상기 수신되는 데이터가 상기 SLC영역(131a)에 저장된다.
또한 상기 플래시메모리(131)에서는 본 발명의 실시 예에 따라, 상기 플래시메모리의 상기 제2 모드에서 상기 프로세서(110)로부터 제2 명령어가 수신되면 상기 제1 모드로 전환된다. 상기 플래시메모리의 제1 모드에서 상기 프로세서(110)로부터 데이터 저장명령어가 수신될 때, 상기 수신되는 데이터의 크기가 제1 임계값 이상이면 상기 MLC영역(131b)에 저장되고, 상기 수신되는 데이터의 크기가 상기 제1 임계값 이하이면 상기 SLC영역(131a)에 저장된다.
본 발명의 실시 예에서 상기 제1 임계값이란, 데이터의 크기에 따라 상기 SLC영역(131a) 또는 상기 MLC영역(131b)에 데이터를 저장하기 위해 미리 설정된 임계값이다. 따라서 상기 제1 임계값은 플래시메모리(131)에서 분할된 상기 SLC영역(131a)과 상기 MLC영역(131b) 각각에 할당되는 저장용량에 따라 달리 설정될 수 있다.
또한 상기 플래시메모리(131)에서는 본 발명의 실시 예에 따라, 상기 제1 모드 또는 상기 제2 모드에서 상기 SLC영역(131a)에 저장된 모든 데이터를 상기 MLC영역(131b)으로 이동을 지시하는 제3 명령어가 수신되면, 상기 SLC영역(131a)에 저장된 모든 데이터가 상기 MLC영역(131b)으로 이동된다.
또한 상기 플래시메모리(131)에서는 본 발명의 실시 예에 따라, 데이터의 크기에 따라 수신되는 데이터가 상기 플래시메모리(131)에 포함된 상기 SLC영역(131a) 및 상기 MLC영역(131b) 중 어느 한 영역에 저장되는 제1 모드에서, 상기 프로세서(110)로부터 상기 제1 명령어가 수신될 때 상기 SLC영역(131a)의 저장공간이 제2 임계값 이상이면 상기 제2 모드로 전환된다. 상기 플래시메모리(131)의 상기 제2 모드에서 상기 프로세서(110)로부터 데이터 저장명령어가 수신되면 상기 수신되는 데이터가 상기 SLC영역(131a)에 저장된다.
또는 상기 제1 모드에서 상기 프로세서(110)로부터 상기 제1 명령어가 수신될 때, 상기 SLC영역(131a)의 저장공간이 상기 제2 임계값 이하이면, 상기 SLC영역(131a)에 저장된 데이터가 상기 MLC영역으로 이동되어 고속저장을 위한 최대 저장공간을 확보한 후 상기 제2 모드로 전환된다. 상기 제2 모드에서 상기 프로세서(110)로부터 데이터 저장명령어가 수신되면, 상기 수신되는 데이터가 상기 SLC영역(131a)에 자동으로 저장된다.
본 발명의 실시 예에서 상기 제2 임계값이란, 고속저장 수행 이전에 고속저장을 위한 최대 저장공간 확보를 위해 미리 설정된 임계값으로써, 상기 제1 명령어의 수신에 따라 고속으로 저장될 모든 데이터 즉, 대용량의 데이터를 저장하기 위한 공간을 미리 확보하기 위한 임계값이다. 상기 제2 임계값에 따라 상기 SLC영역의 모든 데이터가 상기 MLC영역으로 이동될 수 있고, 또는 상기 고속저장을 위해 미리 설정된 저장 공간을 확보할 수 있도록 상기 SLC영역(131a)의 일부 데이터가 상기 MLC영역(131b)에 저장될 수 있다.
또한 상기 플래시메모리(131)에서는 본 발명의 실시 예에 따라, 데이터의 크기에 따라 수신되는 데이터가 상기 플래시메모리(145)에 포함된 SLC영역(131a) 및 MLC영역(131b) 중 어느 한 영역에 저장되는 제1 모드에서, 상기 프로세서(110)로부터 상기 제1 명령어가 수신되면 상기 SLC영역(131a)에 데이터를 저장하는 제2 모드로 전환된다. 상기 플래시메모리(131)의 상기 제2 모드에서 상기 프로세서(110)로부터 데이터 저장명령어가 수신되면 상기 수신되는 데이터가 상기 SLC영역(131a)에 자동 저장된다. 그리고 저장동작 이후 상기 SLC영역(131a)의 저장공간이 제3 임계값보다 작으면, 상기 SLC영역(131a)에 저장된 데이터가 상기 MLC영역(131b)으로 이동되어 이후 고속으로 저장될 데이터의 저장공간을 확보한다.
본 발명의 실시 예에서 상기 제3 임계값이란, 고속저장을 수행하는 동안 고속으로 저장될 데이터의 저장공간을 실시간으로 확보를 위해 미리 설정된 임계값으로써, 제1 명령어의 수신에 따라 고속저장을 수행하는 동안 데이터저장 이후 상기 SLC영역의 저장공간을 체크하여 이후에 수신되는 데이터가 저장될 수 있는 공간을 확보하기 위한 임계값이다. 상기 제3 임계값에 따라 상기 SLC영역의 모든 데이터가 상기 MLC영역으로 이동될 수 있고, 또는 상기 고속저장을 수행하는 동안 수신될 데이터에 대한 저장 공간을 실시간으로 확보할 수 있도록 상기 SLC영역(131a)의 일부 데이터가 상기 MLC영역(131b)에 저장될 수 있다.
상기와 같은 단말기에서 대용량의 데이터를 플래시메모리에 고속으로 저장할 수 있는 동작을 도 2 - 도 5를 통해 상세히 살펴본다.
본 발명의 실시 예에서는 대용량 데이터에 대한 고속저장이 필요한 기능으로써 연속촬영기능을 예로 설명한다. 그러나 연속촬영기능뿐만 아니라 일시적으로 짧은 시간동안 대용량의 데이터를 빠르게 저장할 필요가 있는 모든 기능에서 동일하게 동작할 수 있다.
도 2는 본 발명의 실시 예에 따른 단말기에서 대용량의 데이터에 대한 고속저장을 위한 프로세서의 처리과정을 도시한 흐름도이다.
이하 본 발명의 실시 예를 도1의 참조와 함께 상세히 설명한다.
상기 도 2를 참조하면, 단말기에서 사용자에 의해 연속촬영기능이 선택되면, 상기 프로세서(110)는 201단계에서 대용량 데이터에 대한 고속저장을 필요로 하는 기능의 선택임을 감지하고, 고속저장을 위해 상기 플래시메모리(131)의 SLC영역(131a)에 데이터저장을 지시하는 제1 명령어를 상기 플래시메모리(131)에 전송하는 202단계를 진행한다.
상기 제1 명령어를 상기 플래시메모리(131)에 전송한 후, 상기 연속촬영을 통해 순서적으로 수신되는 데이터에 대한 데이터 저장명령어를 상기 플래시메모리(131)로 전송하는 203단계를 진행한다.
상기 연속 촬영된 데이터들에 대한 데이터 저장명령어를 상기 플래시메모리(131)에 전송하는 동안, 일정시간마다 상기 프로세서(110)는 상기 SLC영역(131a)에 저장된 모든 데이터를 상기 MLC영역(131b)으로 이동을 지시하는 제3 명령어를 상기 플래시메모리(131)에게 전송하는 204단계를 진행한다. 상기 204단계에서 상기 제3 명령어를 상기 플래시메모리(131)에 전송함에 따라, 상기 플래시메모리(131)의 상기 SLC영역(131a)에 저장된 모든 데이터가 상기 MLC영역(131b)으로 이동되고, 따라서 상기 SLC영역(131a)에 저장공간이 없어서 상기 연속 촬영된 데이터들이 상기 SLC영역(131a)에 저장되지 못하는 것을 방지할 수 있다.
상기 연속 촬영된 데이터들에 대한 데이터 저장명령어를 상기 플래시메모리(131)에 전송하는 동안, 사용자에 의해 상기 연속촬영기능이 종료되면, 상기 프로세서(110)는 205단계에서 이를 감지하고, 데이터의 크기에 따라 상기 SLC영역(131a) 또는 상기 MLC영역(131b)로 데이터저장을 지시하는 제2 명령어를 상기 플래시메모리(131)에게 전송하는 206단계를 진행한다.
그리고, 상기 제2 명령어를 전송하고 일정시간 후 상기 프로세서(110)는 상기 SLC영역(131a)에 저장된 모든 데이터를 상기 MLC영역(131b)으로 이동을 지시하는 상기 제3 명령어를 상기 플래시메모리(131)에게 전송하는 207단계를 진행한다. 상기 207단계에서 상기 제3 명령어를 상기 플래시메모리(131)에 전송함에 따라, 상기 플래시메모리(131)의 상기 SLC영역(131a)에 저장된 모든 데이터가 상기 MLC영역(131b)으로 이동되고, 그에 따라 이후에 대용량 데이터에 대한 고속저장의 기능선택이 수신될 때, 상기 SLC영역(131a)에 상기 대용량 데이터에 대한 고속저장을 수행하도록 한다.
상기 도 2와 같이 상기 프로세서에서 상기 플래시메모리에게 전송하는 명령어의 종류에 따라 상기 플래시메모리에서 대용량의 데이터를 빠르게 저장하는 동작을 도 3 - 도 5를 통해 설명한다.
상기 도 3은 본 발명의 제1 실시 예에 따른 단말기에서 대용량 데이터에 대한 고속저장을 위한 메모리의 처리과정을 도시한 흐름도이다.
이하 본 발명의 실시 예를 도 1의 참조와 함께 상세히 설명한다.
상기 도 3을 참조하면, 301단계에서 상기 플래시메모리(131)가 제1 모드일 때, 302단계에서 상기 프로세서(110)로부터 데이터 저장명령어가 수신되면, 저장되기 위해 수신되는 데이터의 크기와 제1 임계값이 비교되는 303단계가 진행된다. 상기 비교결과 상기 수신되는 데이터가 상기 제1 임계값 이하이면, 상기 수신되는 데이터는 상기 SLC영역(131a)에 자동으로 저장되는 304단계가 진행된다. 그러나 상기 비교결과 상기 수신되는 데이터가 상기 제1 임계값 이상이면, 상기 수신되는 데이터는 상기 MLC영역(131b)에 자동으로 저장되는 305단계가 진행된다.
상기 제1 모드는 데이터의 크기에 따라 수신되는 데이터가 상기 플래시메모리(131)에 포함된 SLC영역(131a) 및 MLC영역(131b) 중 어느 한 영역에 자동으로 저장되는 모드로써, 상기 플래시메모리의 디폴트모드로 설정될 수 있다.
306단계에서 상기 프로세서(110)로부터 제1 명령어가 수신되면, 307단계에서 상기 플래시메모리(131)는 저장되기 위해 수신되는 모든 데이터를 데이터의 크기와 상관없이, 항상 상기 SLC영역(131a)에 저장하는 제2 모드로 전환된다.
그리고 308단계에서 상기 프로세서(110)로부터 데이터 저장명령어가 수신되면, 저장되기 위해 수신된 데이터는 자동으로 상기 플래시메모리(131)의 SLC영역(131a)에 저장되는 309단계가 진행된다.
상기 제2 모드에서 저장되기 위해 수신되는 모든 데이터가 상기 플래시메모리(131)의 SLC영역(131a)에 저장되는 동안에, 310단계에서 상기 프로세서(110)로부터 제2 명령어가 수신되면, 상기 플래시메모리(131)는 데이터의 크기에 따라 수신되는 데이터가 상기 SLC(131a) 또는 상기 MLC(131b)에 저장되는 상기 301단계의 제1 모드로 다시 전환된다.
또는 상기 플래시메모리의 제1 모드에서 또는 상기 플래시메모리의 제2 모드에서 상기 프로세서(110)로부터 제3 명령어가 수신되면, 상기 SLC영역(131a)의 모든 데이터가 상기 MLC영역(131b)으로 이동되어, 이후 상기 SLC영역(131a)영역에 데이터가 저장될 저장공간을 확보한다.
상기 도 4a - 도 4b는 본 발명의 제2 실시 예에 따른 단말기에서 대용량 데이터에 대한 고속저장을 위한 메모리의 처리과정을 도시한 흐름도이다.
이하 본 발명의 실시 예를 도 1의 참조와 함께 상세히 설명한다.
상기 도 4a - 도 4b를 참조하면, 401단계에서 상기 플래시메모리(131)가 제1 모드일 때, 402단계에서 상기 프로세서(110)로부터 데이터 저장명령어가 수신되면, 저장되기 위해 수신되는 데이터의 크기와 제1 임계값이 비교되는 403단계가 진행된다. 상기 비교결과 상기 수신되는 데이터가 상기 제1 임계값 이하이면, 상기 수신되는 데이터는 상기 SLC영역(131a)에 자동으로 저장되는 404단계가 진행된다. 그러나 상기 비교결과 상기 수신되는 데이터가 상기 제1 임계값 이상이면, 상기 수신되는 데이터는 상기 MLC영역(131b)에 자동으로 저장되는 405단계가 진행된다.
상기 제1 모드는 데이터의 크기에 따라 수신되는 데이터가 상기 플래시메모리(131)에 포함된 SLC영역(131a) 및 MLC영역(131b) 중 어느 한 영역에 자동으로 저장되는 모드로써, 상기 플래시메모리의 디폴트모드로 설정될 수 있다.
406단계에서 상기 프로세서(110)로부터 제1 명령어가 수신되면, 407단계에서 상기 SLC영역(131a)에서 저장될 수 있는 저장공간과 제2 임계값이 비교된다. 상기 비교결과, 상기 SLC영역(131a)에서 저장될 수 있는 저장공간이 상기 제2 임계값 보다 크면, 408단계에서 상기 플래시메모리(131)는 저장되기 위해 수신되는 모든 데이터를 데이터의 크기와 상관없이, 항상 상기 SLC영역(131a)에 저장하는 제2 모드로 전환된다.
그러나 상기 비교결과, 상기 SLC영역(131a)에서 저장될 수 있는 저장공간이 상기 제2 임계값 보다 작으면, 409단계에서 상기 SLC영역(131a)에 저장된 데이터가 상기 MLC영역(131b)으로 이동되어 상기 SLC영역(131a)에 데이터가 저장될 수 있는 공간이 확보된다. 상기 MLC영역으로 이동되는 상기 SLC영역(131a)의 데이터는 상기 SLC영역(131a)에 저장된 모든 데이터이거나, 또는 고속저장 되기 위한 대용량의 데이터에 대한 저장공간이 확보될 수 있는 상기 SLC영역(131a)의 일부 데이터가 될 수 있다.
상기 SLC영역(131a)에 고속저장 되기 위한 대용량의 데이터에 대한 저장공간이 확보되면, 상기 408단계에서 상기 플래시메모리(131)는 저장되기 위해 수신되는 모든 데이터를 데이터의 크기와 상관없이, 항상 상기 SLC영역(131a)에 저장하는 제2 모드로 전환된다.
그리고 410단계에서 상기 프로세서(110)로부터 데이터 저장명령어가 수신되면, 저장되기 위해 수신된 데이터는 자동으로 상기 플래시메모리(131)의 SLC영역(131a)에 저장되는 411단계가 진행된다.
상기 제2 모드에서 저장되기 위해 수신되는 모든 데이터가 상기 플래시메모리(131)의 SLC영역(131a)에 저장되는 동안에, 412단계에서 상기 프로세서(110)로부터 제2 명령어가 수신되면, 상기 플래시메모리(131)는 데이터의 크기에 따라 수신되는 데이터가 상기 SLC(131a) 또는 상기 MLC(131b)에 저장되는 상기 401단계의 제1 모드로 다시 전환된다.
본 발명의 제2 실시 예에서는 상기 프로세서로부터 상기 SLC영역의 데이터를 상기 MLC영역으로 이동을 지시하는 제3 명령어 수신 없이, 상기 플래시메모리 자체 내에서 상기 SLC영역의 데이터를 상기 MLC영역으로 이동하는 것을 예로 설명하고 있으나, 상기 프로세서로부터 제 3명령어를 수신하여 상기 SLC영역의 데이터를 상기 MLC영역으로 이동시킬 수 있다.
또한 상기 제2 모드뿐만 아니라 상기 제1 모드에서도 일정시간 마다 상기 플래시메모리 자체 내에서 상기 SLC영역의 데이터를 상기 MLC영역으로 이동시킬 수 있다.
상기 도 5a - 도 5b는 본 발명의 제3 실시 예에 따른 단말기에서 대용량 데이터에 대한 고속저장을 위한 메모리의 처리과정을 도시한 흐름도이다.
이하 본 발명의 실시 예를 도1의 참조와 함께 상세히 설명한다.
상기 도 5a - 도 5b를 참조하면, 501단계에서 상기 플래시메모리(131)가 제1 모드일 때, 502단계에서 상기 프로세서(110)로부터 데이터 저장명령어가 수신되면, 저장되기 위해 수신되는 데이터의 크기와 제1 임계값이 비교되는 503단계가 진행된다. 상기 비교결과, 상기 수신되는 데이터가 상기 제1 임계값 이하이면, 상기 수신되는 데이터는 상기 SLC영역(131a)에 자동으로 저장되는 504단계가 진행된다. 그러나 상기 비교결과, 상기 수신되는 데이터가 상기 제1 임계값 이상이면, 상기 수신되는 데이터는 상기 MLC영역(131b)에 자동으로 저장되는 505단계가 진행된다.
상기 제1 모드는 데이터의 크기에 따라 수신되는 데이터가 상기 플래시메모리(131)에 포함된 SLC영역(131a) 및 MLC영역(131b) 중 어느 한 영역에 자동으로 저장되는 모드로써, 상기 플래시메모리의 디폴트모드로 설정될 수 있다.
506단계에서 상기 프로세서(110)로부터 제1 명령어가 수신되면, 507단계에서 상기 플래시메모리(131)는 저장되기 위해 수신되는 모든 데이터를 데이터의 크기와 상관없이, 항상 상기 SLC영역(131a)에 저장하는 제2 모드로 전환된다.
그리고 508단계에서 상기 프로세서(110)로부터 데이터 저장명령어가 수신되면, 저장되기 위해 수신된 데이터는 자동으로 상기 플래시메모리(131)의 SLC영역(131a)에 저장되는 509단계가 진행된다.
상기 SLC영역(131a)에 데이터가 저장되면, 510단계에서 상기 SLC영역(131a)에서 저장될 수 있는 저장공간과 제3 임계값이 비교된다. 상기 비교결과, 상기 SLC영역(131a)에서 저장될 수 있는 저장공간이 상기 제2 임계값 보다 작으면, 511단계에서 상기 SLC영역(131a)에 저장된 데이터가 상기 MLC영역(131b)으로 이동되어 상기 SLC영역(131a)에 데이터가 저장될 수 있는 공간이 확보된다. 상기 MLC영역으로 이동되는 상기 SLC영역(131a)의 데이터는 상기 SLC영역(131a)에 저장된 모든 데이터이거나, 또는 이후에 저장을 위해 수신된 대용량의 데이터에 대한 저장공간이 확보될 수 있는 상기 SLC영역(131a)의 일부 데이터가 될 수 있다.
상기와 같이 상기 SLC영역(131a)에 대용량의 데이터에 대한 저장공간을 확보하면서, 상기 제2 모드에서 저장되기 위해 수신되는 모든 데이터가 상기 플래시메모리(131)의 SLC영역(131a)에 저장되는 동안에, 512단계에서 상기 프로세서(110)로부터 제2 명령어가 수신되면, 상기 플래시메모리(131)는 데이터의 크기에 따라 수신되는 데이터가 상기 SLC(131a) 또는 상기 MLC(131b)에 저장되는 상기 501단계의 제1 모드로 다시 전환된다.
본 발명의 제3 실시 예에서는 상기 프로세서로부터 상기 SLC영역의 데이터를 상기 MLC영역으로 이동을 지시하는 제3 명령어 수신 없이, 상기 플래시메모리 자체 내에서 상기 SLC영역의 데이터를 상기 MLC영역으로 이동하는 것을 예로 설명하고 있으나, 상기 프로세서로부터 제 3명령어를 수신하여 상기 SLC영역의 데이터를 상기 MLC영역으로 이동시킬 수 있다.
또한 상기 제2 모드뿐만 아니라 상기 제1 모드에서도 일정시간 마다 상기 플래시메모리 자체 내에서 상기 SLC영역의 데이터를 상기 MLC영역으로 이동시킬 수 있다.
본 발명의 단말기의 데이터 저장장치 및 방법은 컴퓨터로 읽을 수 있는 기록매체에 컴퓨터가 읽을 수 있는 코드로서 구현하는 것이 가능하다. 컴퓨터가 읽을 수 있는 기록매체는 컴퓨터 시스템에 의하여 읽혀질 수 있는 데이터가 저장되는 모든 종류의 기록장치를 포함한다. 기록매체의 예로는 ROM, RAM, 광학 디스크, 자기 테이프, 플로피 디스크, 하드 디스크, 비휘발성 메모리 등이 있으며, 또한 캐리어 웨이브(예를 들어 인터넷을 통한 전송)의 형태로 구현되는 것도 포함한다. 또한 컴퓨터가 읽을 수 있는 기록매체는 네트워크로 연결된 컴퓨터 시스템에 분산되어 분산방식으로 컴퓨터가 읽을 수 있는 코드가 저장되고 실행될 수 있다.
본 발명은 도면에 도시된 실시 예를 참고로 설명되었으나 이는 예시적인 것에 불과하며, 본 기술 분야의 통상의 지식을 가진 자라면 이로부터 다양한 변형 및 균등한 타 실시예가 가능하다는 점을 이해할 것이다. 따라서, 본 발명의 진정한 기술적 보호 범위는 첨부된 등록청구범위의 기술적 사상에 의해 정해져야 할 것이다.
110: 프로세서, 131: 플래시메모리

Claims (26)

  1. 단말기의 데이터 저장장치에 있어서,
    대용량 데이터에 대한 고속저장이 필요한 기능이 선택되면, 메모리의 SLC영역에 데이터저장을 지시하는 제1 명령어를 메모리에게 전송하는 프로세서와,
    상기 프로세서로부터 상기 제1 명령어가 수신되면, 데이터의 크기와 상관없이, 수신되는 데이터가 상기 SLC영역에 저장되는 상기 메모리를 포함하는 것을 특징으로 하는 단말기의 데이터 저장장치.
  2. 제1 항에 있어서, 상기 프로세서는,
    상기 대용량 데이터에 대한 고속저장이 필요한 기능이 종료되면, 데이터의 크기에 따라 상기 메모리에 포함된 SLC영역 및 MLC영역 중 어느 한 영역에 데이터저장을 지시하는 제2 명령어를 상기 메모리에게 전송하는 것을 특징으로 하는 단말기의 데이터 저장장치.
  3. 제1 항에 있어서, 상기 프로세서는,
    상기 SLC영역에 저장된 데이터를 MLC영역으로 이동을 지시하는 제3 명령어를 상기 메모리에 전송하는 것을 특징으로 하는 단말기의 데이터 저장장치.
  4. 제1 항에 있어서, 상기 메모리에서,
    데이터의 크기에 따라 수신되는 데이터가 상기 메모리에 포함된 SLC영역 및 MLC영역 중 어느 한 영역에 저장되는 제1 모드에서, 상기 프로세서로부터 상기 제1 명령어가 수신되면 상기 메모리의 SLC영역에 데이터를 저장하는 제2 모드로 전환되고, 상기 제2 모드에서 상기 프로세서로부터 데이터 저장명령어가 수신되면 상기 수신되는 데이터가 상기 메모리의 SLC영역에 저장되는 것을 특징으로 하는 단말기의 데이터 저장장치.
  5. 제4 항에 있어서, 상기 메모리에서,
    상기 제2 모드에서 상기 프로세서로부터 제2 명령어가 수신되면 상기 제1 모드로 전환되고, 상기 제1 모드에서 상기 프로세서로부터 데이터 저장명령어가 수신될 때, 수신되는 데이터의 크기가 제1 임계값 이상이면 상기 메모리의 MLC영역에 저장되고, 상기 수신되는 데이터의 크기가 상기 제1 임계값 이하이면 상기 메모리의 SLC영역에 저장되는 것을 특징으로 하는 단말기의 데이터 저장장치.
  6. 제5 항에 있어서,
    상기 제1 임계값은 데이터의 크기에 따라 상기 SLC영역 또는 상기 MLC영역에 데이터를 저장하기 위해 미리 설정된 임계값인 것을 특징으로 하는 단말기의 데이터 저장장치.
  7. 제4 항에 있어서, 상기 메모리에서,
    상기 제1 모드 또는 상기 제2 모드에서 상기 SLC영역에 저장된 데이터를 상기 MLC영역으로 이동을 지시하는 제3 명령어가 수신되면, 상기 SLC영역에 저장된 데이터가 상기 MLC영역으로 이동되는 것을 특징으로 단말기의 데이터 저장장치.
  8. 제1 항에 있어서, 상기 메모리에서,
    데이터의 크기에 따라 수신되는 데이터가 상기 메모리에 포함된 SLC영역 및 MLC영역 중 어느 한 영역에 저장되는 제1 모드에서, 상기 프로세서로부터 상기 제1 명령어가 수신될 때 상기 SLC영역의 저장공간이 제2 임계값 이상이면 제2 모드로 전환되고, 상기 제2 모드에서 상기 프로세서로부터 데이터 저장명령어가 수신되면 상기 수신되는 데이터가 상기 메모리의 SLC영역에 저장되는 것을 특징으로 하는 단말기의 데이터 저장장치.
  9. 제8 항에 있어서, 상기 메모리에서
    상기 제1 모드에서 상기 프로세서로부터 상기 제1 명령어가 수신될 때, 상기 SLC영역의 저장공간이 상기 제2 임계값 이하이면, 상기 SLC영역에 저장된 데이터가 상기 MLC영역으로 이동되어 고속저장을 위한 최대 저장공간을 확보한 후 상기 제2 모드로 전환되고, 상기 제2 모드에서 상기 프로세서로부터 데이터 저장명령어가 수신되면, 상기 수신되는 데이터가 상기 메모리의 SLC영역에 저장되는 것을 특징으로 하는 단말기의 데이터 저장장치.
  10. 제8 항에 있어서,
    상기 제2 임계값은 고속저장 수행 이전에 고속저장을 위한 최대 저장공간 확보를 위해 미리 설정된 임계값인 것을 특징으로 하는 단말기의 데이터 저장장치.
  11. 제1 항에 있어서, 상기 메모리에서,
    데이터의 크기에 따라 수신되는 데이터가 상기 메모리에 포함된 SLC영역 및 MLC영역 중 어느 한 영역에 저장되는 제1 모드에서, 상기 프로세서로부터 상기 제1 명령어가 수신되면 상기 메모리의 SLC영역에 데이터를 저장하는 제2 모드로 전환되고, 상기 제2 모드에서 상기 프로세서로부터 데이터 저장명령어가 수신되면 상기 수신되는 데이터가 상기 메모리의 SLC영역에 저장되며, 상기 SLC영역의 저장공간이 제3 임계값보다 작으면 상기 SLC영역에 저장된 데이터가 상기 MLC영역으로 이동되어 이후 고속으로 저장될 데이터의 저장공간을 확보하는 것을 특징으로 하는 단말기의 데이터 저장장치.
  12. 제11 항에 있어서,
    상기 제3 임계값은 고속저장을 수행하는 동안, 고속으로 저장될 데이터의 저장공간 확보를 위해 미리 설정된 임계값인 것을 특징으로 하는 단말기의 데이터 저장장치.
  13. 제1 항에 있어서,
    상기 메모리는 낸드 플래시 메모리로써, SLC(Single Level Cell)영역과 MLC(Multi Level Cell)를 포함하는 것을 특징으로 하는 단말기의 데이터 저장장치.
  14. 단말기의 데이터 저장방법에 있어서,
    대용량 데이터에 대한 고속저장이 필요한 기능이 선택되면, 프로세서는 메모리의 SLC영역에 데이터저장을 지시하는 제1 명령어를 메모리에게 전송하는 과정과,
    상기 프로세서로부터 상기 제1 명령어가 수신되면, 상기 메모리의 SLC영역에 데이터의 크기와 상관없이, 수신되는 데이터가 저장되는 과정을 포함하는 것을 특징으로 하는 단말기의 데이터 저장방법.
  15. 제14 항에 있어서,
    상기 대용량에 대한 고속저장이 필요한 기능이 종료되면, 상기 프로세서는 데이터의 크기에 따라 상기 메모리에 포함된 SLC영역 및 MLC영역 중 어느 한 영역에 데이터저장을 지시하는 제2 명령어를 상기 메모리에게 전송하는 과정을 더 포함하는 것을 특징으로 하는 단말기의 데이터 저장방법.
  16. 제14 항에 있어서,
    상기 프로세서가 상기 SLC영역에 저장된 데이터를 MLC영역으로 이동을 지시하는 제3 명령어를 상기 메모리에 전송하는 과정을 더 포함하는 것을 특징으로 하는 단말기의 데이터 저장방법.
  17. 제14 항에 있어서, 상기 저장되는 과정은,
    데이터의 크기에 따라 수신되는 데이터가 상기 메모리에 포함된 SLC영역 및 MLC영역 중 어느 한 영역에 저장되는 상기 메모리의 제1 모드에서, 상기 프로세서로부터 상기 제1 명령어가 수신되면, 상기 메모리의 SLC영역에 데이터를 저장하는 제2 모드로 전환되는 과정과,
    상기 제2 모드에서 상기 프로세서로부터 데이터 저장명령어가 수신되면, 상기 수신되는 데이터가 상기 메모리의 SLC영역에 저장되는 과정을 포함하는 것을 특징으로 하는 단말기의 데이터 저장방법.
  18. 제17 항에 있어서,
    상기 제2 모드에서 상기 프로세서로부터 제2 명령어가 수신되면, 상기 제1 모드로 전환되는 과정과,
    상기 제1 모드에서 상기 프로세서로부터 데이터 저장명령어가 수신될 때, 상기 수신되는 데이터가 상기 제1 임계값 이상이면, 상기 메모리의 MLC영역에 상기 데이터가 저장하는 과정과,
    상기 제1 모드에서 상기 프로세서로부터 데이터 저장명령어가 수신될 때, 상기 수신되는 데이터가 상기 제1 임계값 이하이면, 상기 메모리의 SLC영역에 상기 데이터가 저장하는 과정을 특징으로 하는 단말기의 데이터 저장방법.
  19. 제17 항에 있어서,
    상기 제1 임계값은 데이터의 크기에 따라 상기 SLC영역 또는 상기 MLC영역에 데이터를 저장하기 위해 미리 설정된 임계값인 것을 특징으로 하는 단말기의 데이터 저장방법.
  20. 제17 항에 있어서,
    상기 제1 모드 또는 상기 제2 모드에서 상기 프로세서로부터 상기 SLC영역에 저장된 데이터를 상기 MLC영역으로 이동을 지시하는 제3 명령어가 수신되면, 상기 SLC영역에 저장된 데이터가 상기 MLC영역으로 이동되는 과정을 더 포함하는 것을 특징으로 단말기의 데이터 저장방법.
  21. 제14 항에 있어서, 상기 저장되는 과정은,
    데이터의 크기에 따라 수신되는 데이터가 상기 메모리에 포함된 SLC영역 및 MLC영역 중 어느 한 영역에 저장되는 상기 메모리의 제1 모드에서, 상기 프로세서로부터 상기 제1 명령어가 수신될 때, 상기 SLC영역의 저장공간이 제2 임계값 이상이면 제2 모드로 전환되는 과정과,
    상기 제2 모드에서 상기 프로세서로부터 데이터 저장명령어가 수신되면, 상기 수신되는 데이터가 상기 메모리의 SLC영역에 저장되는 과정을 포함하는 것을 특징으로 하는 단말기의 데이터 저장방법.
  22. 제21 항에 있어서,
    상기 제1 모드에서 상기 프로세서로부터 상기 제1 명령어가 수신될 때, 상기 SLC영역의 저장공간이 상기 제2 임계값 이하이면, 상기 SLC영역에 저장된 데이터가 상기 MLC영역으로 이동되어 고속저장을 위한 최대 저장공간을 확보한 후 상기 제2 모드로 전환되는 과정을 더 포함하는 것을 특징으로 하는 단말기의 데이터 저장방법.
  23. 제21 항에 있어서,
    상기 제2 임계값은 고속저장 수행 이전에 고속저장을 위한 최대 저장공간 확보를 위해 미리 설정된 임계값인 것을 특징으로 하는 단말기의 데이터 저장방법.
  24. 제14 항에 있어서, 상기 저장되는 과정은,
    데이터의 크기에 따라 수신되는 데이터가 상기 메모리에 포함된 SLC영역 및 MLC영역 중 어느 한 영역에 저장되는 상기 메모리의 제1 모드에서, 상기 프로세서로부터 상기 제1 명령어가 수신되면 상기 SLC영역에 데이터를 저장하는 제2 모드로 전환되는 과정과,
    상기 제2 모드에서 상기 프로세서로부터 데이터 저장명령어가 수신되면, 상기 수신되는 데이터가 상기 SLC영역에 저장되는 과정과,
    상기 SLC영역에 상기 수신된 데이터가 저장된 이후 상기 SLC영역의 저장공간이 제3 임계값보다 작으면, 상기 SLC영역에 저장된 데이터가 상기 MLC영역으로 이동되어 이후 고속으로 저장될 데이터의 저장공간을 확보하는 과정을 포함하는 것을 특징으로 하는 단말기의 데이터 저장방법.
  25. 제24 항에 있어서,
    상기 제3 임계값은 고속저장을 수행하는 동안, 고속으로 저장될 데이터의 저장공간 확보를 위해 미리 설정된 임계값인 것을 특징으로 하는 단말기의 데이터 저장방법.
  26. 제14 항 내지 제25 항 중 어느 한 항에 따른 방법을 수행하기 위 한 프로그램이 기록된 프로세서가 판독 가능한 기록매체.
KR1020120100602A 2012-09-11 2012-09-11 단말기의 데이터 저장장치 및 방법 KR20140033964A (ko)

Priority Applications (4)

Application Number Priority Date Filing Date Title
KR1020120100602A KR20140033964A (ko) 2012-09-11 2012-09-11 단말기의 데이터 저장장치 및 방법
PCT/KR2013/008231 WO2014042435A1 (en) 2012-09-11 2013-09-11 Apparatus and method for storing data in terminal
US14/023,958 US20140071753A1 (en) 2012-09-11 2013-09-11 Apparatus and method for storing data in terminal
EP13183949.0A EP2706460A1 (en) 2012-09-11 2013-09-11 Apparatus and method for storing data in terminal

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020120100602A KR20140033964A (ko) 2012-09-11 2012-09-11 단말기의 데이터 저장장치 및 방법

Publications (1)

Publication Number Publication Date
KR20140033964A true KR20140033964A (ko) 2014-03-19

Family

ID=49162013

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020120100602A KR20140033964A (ko) 2012-09-11 2012-09-11 단말기의 데이터 저장장치 및 방법

Country Status (4)

Country Link
US (1) US20140071753A1 (ko)
EP (1) EP2706460A1 (ko)
KR (1) KR20140033964A (ko)
WO (1) WO2014042435A1 (ko)

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20150118650A (ko) * 2014-04-14 2015-10-23 삼성전자주식회사 불휘발성 메모리 시스템 및 그것의 동작 방법
KR20170024222A (ko) * 2015-08-24 2017-03-07 삼성전자주식회사 표면 실장 기술의 적용에 따른 메모리 셀의 문턱 전압 산포 변화 복구 기능을 갖는 데이터 스토리지 및 그것의 동작 방법
US10120794B2 (en) 2015-01-13 2018-11-06 Samsung Electronics Co., Ltd. Storage device including buffer and main memories, and user device including the same
KR20200000971A (ko) * 2018-06-26 2020-01-06 삼성전자주식회사 스토리지 장치, 스토리지 장치를 포함하는 스토리지 시스템, 그리고 스토리지 장치를 액세스하는 방법
KR20200045544A (ko) * 2017-08-30 2020-05-04 마이크론 테크놀로지, 인크. 관리되는 nvm 적응형 캐시 관리

Families Citing this family (14)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20170015708A (ko) * 2015-07-30 2017-02-09 삼성전자주식회사 불휘발성 메모리 장치를 포함하는 저장 장치 및 그것의 프로그램 방법
KR102333220B1 (ko) 2015-09-24 2021-12-01 삼성전자주식회사 불휘발성 메모리 시스템의 동작 방법
TWI598733B (zh) * 2016-01-12 2017-09-11 瑞昱半導體股份有限公司 權重式資料搬遷控制裝置與方法
KR102593362B1 (ko) 2016-04-27 2023-10-25 에스케이하이닉스 주식회사 메모리 시스템 및 메모리 시스템의 동작 방법
WO2018000300A1 (zh) * 2016-06-30 2018-01-04 华为技术有限公司 一种电子设备的数据操作方法及电子设备
KR20180045087A (ko) 2016-10-24 2018-05-04 에스케이하이닉스 주식회사 메모리 시스템 및 메모리 시스템의 동작 방법
TWI630540B (zh) * 2017-07-13 2018-07-21 慧榮科技股份有限公司 資料儲存裝置及非揮發式記憶體操作方法
TWI698749B (zh) * 2019-03-13 2020-07-11 慧榮科技股份有限公司 資料儲存裝置與資料處理方法
KR20200110547A (ko) * 2019-03-14 2020-09-24 삼성전자주식회사 스토리지 장치 및 스토리지 장치를 포함하는 컴퓨팅 장치
KR20200142219A (ko) 2019-06-12 2020-12-22 삼성전자주식회사 전자 장치 및 그의 저장 공간 이용 방법
KR20210016188A (ko) 2019-08-01 2021-02-15 삼성전자주식회사 스토리지 장치 및 스토리지 장치의 동작 방법
EP3771983B1 (en) * 2019-08-01 2024-05-01 Samsung Electronics Co., Ltd. Storage device and operating method of storage device
CN112350947B (zh) * 2020-10-23 2022-07-29 杭州迪普信息技术有限公司 一种报文匹配决策树的更新方法及装置
CN117093133A (zh) * 2022-05-13 2023-11-21 美光科技公司 突发读取数据存储

Family Cites Families (13)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
SG130988A1 (en) * 2005-09-29 2007-04-26 Trek 2000 Int Ltd Portable data storage device incorporating multiple flash memory units
JP4693651B2 (ja) * 2006-02-20 2011-06-01 キヤノン株式会社 撮像装置及びその制御方法
KR100878479B1 (ko) * 2007-01-16 2009-01-14 삼성전자주식회사 데이터 정보에 따라 프로그램 방식을 결정하는 메모리시스템
KR100875539B1 (ko) * 2007-01-17 2008-12-26 삼성전자주식회사 프로그램 방식을 선택할 수 있는 메모리 시스템
US7996599B2 (en) * 2007-04-25 2011-08-09 Apple Inc. Command resequencing in memory operations
KR101498673B1 (ko) * 2007-08-14 2015-03-09 삼성전자주식회사 반도체 드라이브, 그것의 데이터 저장 방법, 그리고 그것을포함한 컴퓨팅 시스템
TW200917277A (en) * 2007-10-15 2009-04-16 A Data Technology Co Ltd Adaptive hybrid density memory storage device and control method thereof
TWI373045B (en) * 2008-01-07 2012-09-21 Phison Electronics Corp Flash memory storage apparatus, flash memory controller and switching method thereof
US8060719B2 (en) * 2008-05-28 2011-11-15 Micron Technology, Inc. Hybrid memory management
US20100169540A1 (en) * 2008-12-30 2010-07-01 Sinclair Alan W Method and apparatus for relocating selected data between flash partitions in a memory device
TWI397071B (zh) * 2008-12-31 2013-05-21 A Data Technology Co Ltd 記憶體儲存裝置及其控制方法
US20120155167A1 (en) * 2010-12-21 2012-06-21 Kabushiki Kaisha Toshiba Non-volatile storage device, information processing system and write control method of non-volatile storage device
KR20120082218A (ko) * 2011-01-13 2012-07-23 (주)인디링스 파티션 정보를 기초로 호스트의 요청에 대한 처리 기법을 적응적으로 결정하는 스토리지 장치 및 상기 스토리지 장치의 동작 방법

Cited By (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20150118650A (ko) * 2014-04-14 2015-10-23 삼성전자주식회사 불휘발성 메모리 시스템 및 그것의 동작 방법
US10120794B2 (en) 2015-01-13 2018-11-06 Samsung Electronics Co., Ltd. Storage device including buffer and main memories, and user device including the same
KR20170024222A (ko) * 2015-08-24 2017-03-07 삼성전자주식회사 표면 실장 기술의 적용에 따른 메모리 셀의 문턱 전압 산포 변화 복구 기능을 갖는 데이터 스토리지 및 그것의 동작 방법
KR20200045544A (ko) * 2017-08-30 2020-05-04 마이크론 테크놀로지, 인크. 관리되는 nvm 적응형 캐시 관리
KR20220003135A (ko) * 2017-08-30 2022-01-07 마이크론 테크놀로지, 인크. 관리되는 nvm 적응형 캐시 관리
US11403013B2 (en) 2017-08-30 2022-08-02 Micron Technology, Inc. Managed NVM adaptive cache management
US11625176B2 (en) 2017-08-30 2023-04-11 Micron Technology, Inc. Managed NVM adaptive cache management
KR20200000971A (ko) * 2018-06-26 2020-01-06 삼성전자주식회사 스토리지 장치, 스토리지 장치를 포함하는 스토리지 시스템, 그리고 스토리지 장치를 액세스하는 방법

Also Published As

Publication number Publication date
EP2706460A1 (en) 2014-03-12
US20140071753A1 (en) 2014-03-13
WO2014042435A1 (en) 2014-03-20

Similar Documents

Publication Publication Date Title
KR20140033964A (ko) 단말기의 데이터 저장장치 및 방법
KR102295223B1 (ko) 속도 모드 관리자를 포함하는 저장 장치 및 사용자 장치
KR20120049604A (ko) 모바일 디바이스의 메모리 관리 방법 및 장치
KR101970712B1 (ko) 단말기의 데이터 이동장치 및 방법
EP2395440A2 (en) Mobile terminal and conrolling method thereof
US10509588B2 (en) System and method for controlling memory frequency using feed-forward compression statistics
JP2014523046A (ja) モバイル・メモリ・キャッシュ読み取り最適化
EP2790422B1 (en) Bandwidth estimation-based streaming content processing method and apparatus of terminal
KR20140050941A (ko) 비휘발성 메모리 장치의 데이터 관리 방법
WO2017032080A1 (zh) 一种通讯录控制方法、装置及移动终端
CN103365551A (zh) 可应用于消息收发器应用的书签功能的方法及电子装置
KR102014083B1 (ko) 단말기의 메모리 관리방법 및 장치
US20140168237A1 (en) Image display apparatus and method
US10846044B2 (en) System and method for redirection and processing of audio and video data based on gesture recognition
US20140108710A1 (en) Method for adjusting storage space of partition of embedded multimedia card and terminal
CN105681916A (zh) 一种视频弹幕显示方法及装置
US20190258372A1 (en) Multi-window displaying apparatus and method and mobile electronic equipment
US10136115B2 (en) Video shooting method and apparatus
KR102060996B1 (ko) 단말기의 메모리 주소 및 데이터변환 장치 및 방법
US20140307143A1 (en) Apparatus and method for shooting video in terminal
KR20240010042A (ko) 데이터 액세스 방법, 장치 및 비일시적 컴퓨터 판독가능한 저장 매체
US9928219B2 (en) Apparatus and method for case conversion
US9015293B2 (en) Method and apparatus for configuring ping interval in a portable terminal
US20160210109A1 (en) Method for controlling audio playing of an electronic device, and associated apparatus and associated computer program product
CN111918014B (zh) 一种显示视频图像的方法及装置

Legal Events

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