KR20180045557A - The Apparatus For Memory - Google Patents
The Apparatus For Memory Download PDFInfo
- Publication number
- KR20180045557A KR20180045557A KR1020160140034A KR20160140034A KR20180045557A KR 20180045557 A KR20180045557 A KR 20180045557A KR 1020160140034 A KR1020160140034 A KR 1020160140034A KR 20160140034 A KR20160140034 A KR 20160140034A KR 20180045557 A KR20180045557 A KR 20180045557A
- Authority
- KR
- South Korea
- Prior art keywords
- area
- memory device
- size information
- volatile memory
- image
- Prior art date
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input 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/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0628—Interfaces specially adapted for storage systems making use of a particular technique
- G06F3/0638—Organizing or formatting or addressing of data
- G06F3/0644—Management of space entities, e.g. partitions, extents, pools
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input 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/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0628—Interfaces specially adapted for storage systems making use of a particular technique
- G06F3/0653—Monitoring storage devices or systems
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input 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/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0668—Interfaces specially adapted for storage systems adopting a particular infrastructure
- G06F3/0671—In-line storage system
- G06F3/0673—Single storage device
- G06F3/0679—Non-volatile semiconductor memory device, e.g. flash memory, one time programmable memory [OTP]
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements 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/44—Arrangements for executing specific programs
- G06F9/4401—Bootstrapping
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Human Computer Interaction (AREA)
- Software Systems (AREA)
- Computer Security & Cryptography (AREA)
- Stored Programmes (AREA)
- Techniques For Improving Reliability Of Storages (AREA)
Abstract
Description
본 발명은 메모리 장치에 관한 것으로서, 보다 상세하게는 파티션의 사이즈가 유동적으로 변동될 수 있어, 하나의 영역에서 여유 공간이 필요하면, 나머지 하나의 영역에 존재하는 여유 공간을 활용할 수 있는 메모리 장치에 관한 것이다.The present invention relates to a memory device, and more particularly, to a memory device that can utilize a free space existing in one area when a size of a partition can be flexibly changed and a spare area is required in one area will be.
임베디드 시스템(Embedded System)이란, 미리 정해진 특정 기능을 수행하기 위해 각종 전자제품이나 장치 등에 프로세서를 내장하여 장치를 조작하는 제어시스템이다. 임베디드 시스템은 MCU(Main Control Unit)와 그 MCU를 구동하여 특정한 기능을 수행하도록 프로그램을 탑재함으로써 해당 장치의 용도에 맞는 기본적인 컴퓨팅 능력을 가지고 그 용도에 맞는 어플리케이션을 이용하여 제어 동작을 수행하게 된다.An embedded system is a control system for operating a device by incorporating a processor in various electronic products or devices in order to perform predetermined functions. The embedded system includes a main control unit (MCU) and a program for performing a specific function by driving the MCU. Thus, the basic system has the basic computing ability suitable for the purpose of the device, and performs the control operation using the application suitable for the purpose.
이러한 임베디드 시스템은 임베디드 리눅스(Embedded Linux)를 OS(운영체제)로 사용하고, 운영체제와 프로그램을 저장하기 위해 메모리 장치를 통해 프로그램과 리소스를 저장한다. 최근 하드웨어의 소형화에 따라, 이러한 임베디드 시스템도 크기가 작은 메모리를 사용하며 단가를 낮추고 성능이 최적화되도록 구현하여야 한다. 따라서 임베디드 시스템에서는 저장공간으로 플래시 메모리(Flash Memory)를 많이 사용하고 있으며, 프로그램의 동작을 위해서 DDR 메모리를 사용하고 있다.These embedded systems use Embedded Linux as an operating system (OS) and store programs and resources through memory devices to store operating systems and programs. In recent years, with the miniaturization of hardware, such an embedded system must also use a small-sized memory, and should be implemented to reduce the unit cost and optimize the performance. Therefore, in the embedded system, a lot of flash memory is used as the storage space, and the DDR memory is used for the operation of the program.
플래시 메모리는 작고 가벼우며, 비휘발성이면서도 전력 소모가 적고 충격에 강하다. 이러한 장점 때문에 최근 휴대폰이나 디지털 카메라 등의 휴대 기기의 저장 장치로 많이 사용되고 있다. 이러한 플래시 메모리를 하드 디스크와 같이 사용하기 위하여 MTD(Memory Technology Device)를 사용하게 된다. MTD란 다양한 메모리 형태의 장치를 지원하기 위해 만들어진 기술이며, 플래시 메모리는 MTD에 의해 MTD 파티션(MTD Partition)이라고 부르는 몇 개의 부분들로 나누어져 있고, MTD 서브시스템이 플래시 메모리의 MTD 파티션을 지원한다.Flash memory is small, lightweight, nonvolatile, low in power consumption, and impact resistant. Due to these advantages, it is widely used as a storage device for portable devices such as mobile phones and digital cameras. In order to use such a flash memory with a hard disk, an MTD (Memory Technology Device) is used. MTD is a technology designed to support various types of memory devices. Flash memory is divided into several parts called MTD partitions by MTD, and MTD subsystem supports MTD partitions of flash memory .
그러나 종래에는 각 MTD 파티션마다 사이즈(Size)가 미리 할당이 되도록 세팅되어 있었다. 따라서 플래시 메모리의 하나의 영역에서 여유 공간이 필요한 경우에, 전체적으로는 여유 공간이 있음에도 불구하고 다른 영역에 존재하는 여유 공간을 활용할 수 없어, 문제가 되었다. 또한 DDR 메모리도 하나의 단일 공간으로 사용되어지는 경우가 많고, 분할을 시켜 여러 개의 영역으로 나누더라도 공간을 변경하지 못해 효율적으로 메모리 공간을 활용하지 못하는 단점이 있다.However, conventionally, each MTD partition has been set so that a size is allocated in advance. Therefore, when a spare area is required in one area of the flash memory, the spare area existing in another area can not be used despite the spare area as a whole. Also, the DDR memory is often used as a single space, and even if it is divided into a plurality of areas, the memory space can not be efficiently used because the space can not be changed.
본 발명이 해결하고자 하는 과제는, 파티션의 사이즈가 유동적으로 변동될 수 있어, 하나의 영역에서 여유 공간이 필요하면, 나머지 하나의 영역에 존재하는 여유 공간을 활용할 수 있는 메모리 장치를 제공하는 것이다.SUMMARY OF THE INVENTION It is an object of the present invention to provide a memory device in which the size of partitions can be flexibly changed and a free space existing in one area can be utilized when a spare area is required in one area.
본 발명의 과제들은 이상에서 언급한 과제로 제한되지 않으며, 언급되지 않은 또 다른 과제들은 아래의 기재로부터 당업자에게 명확하게 이해될 수 있을 것이다.The problems of the present invention are not limited to the above-mentioned problems, and other problems not mentioned can be clearly understood by those skilled in the art from the following description.
상기 과제를 해결하기 위한 본 발명의 실시예에 따른 메모리 장치는 전자 기기에 내장되는 메모리 장치에 있어서, 부트로더를 포함하는 이미지가 설치되는 이미지 영역; 사용자의 사용에 의해 발생하는 데이터가 저장되는 프리 영역; 및 사용 공간 사이즈 정보 및 파티션 사이즈 정보를 저장하는 정보 저장 영역을 포함하고, 상기 이미지 영역, 상기 프리 영역 및 상기 정보 저장 영역은, 각각 파티션들로 분할되어 형성되되, 상기 전자 기기에 내장된 제어부에 의해 상기 이미지 영역 및 상기 프리 영역의 사용 공간 및 여유 공간 사이즈가 실시간으로 모니터링 되고, 상기 제어부에 의해 재파티셔닝의 수행이 필요한 것으로 판단되면, 상기 사용 공간 사이즈 정보 및 상기 파티션 사이즈 정보가 업데이트되며, 상기 전자 기기가 재부팅되면, 상기 이미지 영역에 설치된 상기 부트로더가 업데이트된 상기 사용 공간 사이즈 정보 및 상기 파티션 사이즈 정보를 로딩하여 재파티셔닝을 수행한다.According to an aspect of the present invention, there is provided a memory device embedded in an electronic device, the memory device including: an image area in which an image including a boot loader is installed; A free area in which data generated by use of the user is stored; And an information storage area for storing usage space size information and partition size information, wherein the image area, the free space and the information storage area are divided into partitions, and the control part built in the electronic device Wherein the used space size information and the partition size information are updated when the used space and the free space size of the image area and the free space are monitored in real time and it is determined that the re-partitioning needs to be performed by the controller, When the electronic device is rebooted, the boot loader installed in the image area loads the updated used space size information and the partition size information to perform re-partitioning.
본 발명의 기타 구체적인 사항들은 상세한 설명 및 도면들에 포함되어 있다.Other specific details of the invention are included in the detailed description and drawings.
본 발명의 실시예들에 의하면 적어도 다음과 같은 효과가 있다.The embodiments of the present invention have at least the following effects.
비휘발성 메모리 장치의 파티션의 사이즈가 유동적으로 변동될 수 있으므로, 사용자가 데이터를 더 저장하고자 할 때 여유 공간을 더 확보할 수 있고, 이미지 업그레이드를 수행할 때 시스템이 정상적으로 작동하지 않는 것을 방지할 수 있다.Since the size of the partition of the nonvolatile memory device can be flexibly varied, it is possible to secure more free space when the user wants to store more data, and to prevent the system from operating normally when performing the image upgrade .
나아가, 휘발성 메모리 장치의 파티션의 사이즈도 유동적으로 변동될 수 있으므로, OS의 동작 속도가 저하되는 것을 방지하거나, 영상 처리의 속도가 저하되는 것을 방지할 수 있다.Furthermore, since the size of the partition of the volatile memory device can also be flexibly varied, the operating speed of the OS can be prevented from being lowered or the speed of image processing can be prevented from being lowered.
본 발명에 따른 효과는 이상에서 예시된 내용에 의해 제한되지 않으며, 더욱 다양한 효과들이 본 명세서 내에 포함되어 있다.The effects according to the present invention are not limited by the contents exemplified above, and more various effects are included in the specification.
도 1은 본 발명의 일 실시예에 따른 저장부(1)가 장착된 카메라의 구성을 나타낸 블록도이다.
도 2는 본 발명의 일 실시예에 따른 저장부(1)의 상세한 구성을 나타낸 블록도이다.
도 3은 본 발명의 일 실시예에 따른 비휘발성 메모리 장치(11)의 MTD 파티션 분할을 도시한 테이블이다.
도 4는 본 발명의 일 실시예에 따른 비휘발성 메모리 장치(11)의 구성을 나타내는 개념도이다.
도 5는 본 발명의 일 실시예에 따른 정보 저장 영역(114)의 상세한 구성을 나타낸 블록도이다.
도 6은 본 발명의 다른 실시예에 따른 비휘발성 메모리 장치(11)의 구성을 나타내는 개념도이다.
도 7은 본 발명의 일 실시예에 따른 프리 영역(112)에 여유 공간(1122)이 부족한 경우를 나타내는 개념도이다.
도 8은 본 발명의 일 실시예에 따른 이미지 영역(111)의 여유 공간(1115)을 체크하는 모습을 나타내는 개념도이다.
도 9는 본 발명의 일 실시예에 따른 비휘발성 메모리 장치(11)를 재파티셔닝하여 프리 영역(112)의 여유 공간(1122)을 확보하는 모습을 나타내는 개념도이다.
도 10은 본 발명의 일 실시예에 따른 비휘발성 메모리 장치(11)의 재파티셔닝이 완료된 모습을 나타낸 개념도이다.
도 11은 본 발명의 일 실시예에 따른 이미지 영역(111)에 여유 공간(1122)이 부족한 경우를 나타내는 개념도이다.
도 12는 본 발명의 일 실시예에 따른 비휘발성 메모리 장치(11)를 재파티셔닝하여 이미지 영역(111)의 여유 공간(1112)을 확보하는 모습을 나타내는 개념도이다.
도 13은 본 발명의 일 실시예에 따른 비휘발성 메모리 장치(11)의 재파티셔닝이 완료된 모습을 나타낸 개념도이다.
도 14는 본 발명의 일 실시예에 따른 비휘발성 메모리 장치(11) 및 휘발성 메모리 장치(12)의 구성을 나타내는 개념도이다.
도 15는 본 발명의 일 실시예에 따른 휘발성 메모리 장치(12)의 제1 영역(121)에 여유 공간(1212)이 부족한 경우를 나타내는 개념도이다.
도 16은 본 발명의 일 실시예에 따른 휘발성 메모리 장치(12)를 재파티셔닝하여 제1 영역(121)의 여유 공간(1211)을 확보하는 모습을 나타내는 개념도이다.
도 17은 본 발명의 일 실시예에 따른 휘발성 메모리 장치(12)의 재파티셔닝이 완료된 모습을 나타낸 개념도이다.1 is a block diagram showing a configuration of a camera equipped with a
2 is a block diagram showing a detailed configuration of the
3 is a table showing MTD partitioning of the
4 is a conceptual diagram showing a configuration of a
5 is a block diagram showing a detailed configuration of an
6 is a conceptual diagram showing a configuration of a
7 is a conceptual diagram showing a case where
FIG. 8 is a conceptual diagram showing a state of checking the
9 is a conceptual diagram showing a state in which
FIG. 10 is a conceptual diagram showing the completion of repartitioning of the
11 is a conceptual diagram illustrating a case where the
12 is a conceptual diagram showing a state in which the
FIG. 13 is a conceptual diagram showing the completion of repartitioning of the
14 is a conceptual diagram showing a configuration of a
FIG. 15 is a conceptual diagram showing a case where the
16 is a conceptual diagram showing a state in which the
FIG. 17 is a conceptual diagram showing the completion of repartitioning of the
본 발명의 이점 및 특징, 그리고 그것들을 달성하는 방법은 첨부되는 도면과 함께 상세하게 후술되어 있는 실시예들을 참조하면 명확해질 것이다. 그러나 본 발명은 이하에서 개시되는 실시예들에 한정되는 것이 아니라 서로 다른 다양한 형태로 구현될 수 있으며, 단지 본 실시예들은 본 발명의 개시가 완전하도록 하고, 본 발명이 속하는 기술분야에서 통상의 지식을 가진 자에게 발명의 범주를 완전하게 알려주기 위해 제공되는 것이며, 본 발명은 청구항의 범주에 의해 정의될 뿐이다. 명세서 전체에 걸쳐 동일 참조 부호는 동일 구성 요소를 지칭한다.BRIEF DESCRIPTION OF THE DRAWINGS The advantages and features of the present invention, and the manner of achieving them, will be apparent from and elucidated with reference to the embodiments described hereinafter in conjunction with the accompanying drawings. The present invention may, however, be embodied in many different forms and should not be construed as limited to the embodiments set forth herein. Rather, these embodiments are provided so that this disclosure will be thorough and complete, and will fully convey the scope of the invention to those skilled in the art. To fully disclose the scope of the invention to those skilled in the art, and the invention is only defined by the scope of the claims. Like reference numerals refer to like elements throughout the specification.
다른 정의가 없다면, 본 명세서에서 사용되는 모든 용어(기술 및 과학적 용어를 포함)는 본 발명이 속하는 기술분야에서 통상의 지식을 가진 자에게 공통적으로 이해될 수 있는 의미로 사용될 수 있을 것이다. 또 일반적으로 사용되는 사전에 정의되어 있는 용어들은 명백하게 특별히 정의되어 있지 않는 한 이상적으로 또는 과도하게 해석되지 않는다.Unless defined otherwise, all terms (including technical and scientific terms) used herein may be used in a sense commonly understood by one of ordinary skill in the art to which this invention belongs. Also, commonly used predefined terms are not ideally or excessively interpreted unless explicitly defined otherwise.
본 명세서에서 사용된 용어는 실시예들을 설명하기 위한 것이며 본 발명을 제한하고자 하는 것은 아니다. 본 명세서에서, 단수형은 문구에서 특별히 언급하지 않는 한 복수형도 포함한다. 명세서에서 사용되는 "포함한다(comprises)" 및/또는 "포함하는(comprising)"은 언급된 구성요소 외에 하나 이상의 다른 구성요소의 존재 또는 추가를 배제하지 않는다.The terminology used herein is for the purpose of illustrating embodiments and is not intended to be limiting of the present invention. In the present specification, the singular form includes plural forms unless otherwise specified in the specification. The terms " comprises "and / or" comprising "used in the specification do not exclude the presence or addition of one or more other elements in addition to the stated element.
이하, 첨부된 도면을 참조하여 본 발명의 바람직한 실시예를 상세히 설명하기로 한다.Hereinafter, preferred embodiments of the present invention will be described in detail with reference to the accompanying drawings.
도 1은 본 발명의 일 실시예에 따른 저장부(1)가 장착된 카메라의 구성을 나타낸 블록도이다.1 is a block diagram showing a configuration of a camera equipped with a
본 발명의 일 실시예에 따르면, 저장부(1)에 포함된 비휘발성 메모리 장치(11)는 유동적으로 파티션의 사이즈를 변경할 수 있다. 그럼으로써 비휘발성 메모리 장치(11)의 이미지 영역(111) 또는 프리 영역(112)에서 여유 공간이 필요하면, 다른 영역에 존재하는 여유 공간을 활용할 수 있어, 메모리 공간 활용도가 높고 경제적이다.According to an embodiment of the present invention, the
본 발명의 일 실시예에 따른 저장부(1)는 휴대폰이나 디지털 카메라 등의 제한되지 않고 다양한 전자 기기에 내장될 수 있다. 이하, 전자 기기는 카메라인 것으로 설명하나, 이는 설명의 편의를 위한 것이며 권리범위를 제한하기 위함이 아니다.The
카메라는 특정 영역을 촬영하여 영상을 획득하는 촬상부(2), 획득된 영상 및 각종 데이터들을 저장하는 저장부(1), 카메라에 포함된 구성 요소들의 동작을 제어하는 제어부(3)를 포함한다.The camera includes an
촬상부(2)는 특정 영역에 대한 이미지 신호를 수신하여 영상을 획득한다. 촬상부(2)에는 일반적으로 CCD(Charge Coupled Device)나 CMOS 이미지 센서 등의 촬상 소자가 포함된다. 최근에는 카메라 자체에서 영상을 인코딩하는 인코더가 탑재되어 있으므로, 카메라가 영상을 촬영하면 곧바로 인코딩되어 압축 영상 데이터가 생성된다.The
도 2는 본 발명의 일 실시예에 따른 저장부(1)의 상세한 구성을 나타낸 블록도이다.2 is a block diagram showing a detailed configuration of the
저장부(1)는 도 2에 도시된 바와 같이, 비휘발성 메모리 장치(11) 및 휘발성 메모리 장치(12)를 포함한다. 비휘발성 메모리(Non-Volatile Memory, NVM)는 전원이 공급되지 않더라도 저장된 정보들이 휘발되지 않고 유지되는 메모리를 말한다. 대표적으로 PROM, EPROM, EEPROM 등을 포함하는 롬(ROM), 하드디스크(HDD), 광학디스크(ODD), SSD(Solid State Drive), 플래시 메모리 등이 있다. 최근 가장 많이 사용되는 플래시 메모리는 게이트의 종류에 따라 NAND 타입 및 NOR 타입으로 분류된다. 그 중에서 USB 메모리, SSD 또는 각종 휴대 기기에 내장되는 저장 장치로는, 가격이 저렴한 NAND 타입이 적절하다. 이러한 플래시 메모리는 작고 가벼우며, 전력 소모가 적고, 물리적인 충격 및 열에 강하다는 장점이 있다. 그러나 쓰기 횟수에 제한이 있고, 데이터 삭제를 블록 단위로 한다는 단점이 있다.The
반면에 휘발성 메모리(Volatile Memory)는 저장된 정보를 유지하기 위해 지속적인 전원의 공급을 필요로 하며, 전력 공급이 중단되면 저장된 정보들이 휘발되는 메모리를 말한다. DRAM(Dynamic Ram), SRAM(Static RAM) 등을 포함하는 램(Random Access Memory, RAM)이 대표적인 휘발성 메모리이다. SDRAM(Synchronous Dynamic RAM)은 제어 신호의 입력이 클락 펄스(Clock Pulse)와 동기화가 된 DRAM을 말하며, 특히 셀의 상승 에지(Rising Edge) 및 하강 에지(Falling Edge) 모두에서 데이터를 전송하여 기존의 대역폭을 2배로 향상시킨 DDR SDRAM(Double Data Rate SDRAM)가 가장 많이 사용된다. 최근에는 이러한 DDR SDRAM이 비약적으로 발전하여 DDR4까지 소개되었으며, DDR5의 개발 계획도 발표되기도 하였다.Volatile memory, on the other hand, is a memory that requires constant power supply to maintain stored information and volatile stored information when power is interrupted. Random access memory (RAM) including dynamic random access memory (DRAM) and static random access memory (SRAM) is a typical volatile memory. SDRAM (Synchronous Dynamic RAM) refers to a DRAM in which the control signal is synchronized with a clock pulse. In particular, the DRAM transmits data in both a rising edge and a falling edge of a cell, DDR SDRAM (Double Data Rate SDRAM), which doubles the bandwidth, is most commonly used. Recently, such DDR SDRAM has been dramatically developed and introduced to DDR4, and the development plan of DDR5 has also been announced.
본 발명의 일 실시예에 따른 비휘발성 메모리 장치(11)는 NAND 플래시 메모리이고, 휘발성 메모리 장치(12)는 DDR SDRAM인 것으로 설명하나, 이는 설명의 편의를 위한 것이며 권리범위를 제한하기 위함이 아니다.Although the
제어부(3)는 카메라의 전반적인 동작을 제어한다. 예를 들어, 제어부(3)는 촬상부(2)로부터 획득된 영상에 대하여 디코딩 및 렌더링 등의 영상처리를 수행할 수도 있고, 각종 신호 및 데이터들을 저장부(1)에 저장시키며, 저장부(1)로부터 로딩할 수도 있다. 나아가, 저장부(1)에 포함된 비휘발성 메모리 장치(11) 또는 휘발성 메모리 장치(12)의 하나의 영역에 재파티셔닝(Re-Partitioning)이 필요하면, 비휘발성 메모리 장치(11)에 플래그를 설정함으로써 재부팅시 부트로더가 재파티셔닝을 수행하도록 제어한다. 본 발명의 일 실시예에 따른 제어부(3)로는 CPU(Central Processing Unit), MCU(Micro Controller Unit) 또는 DSP(Digital Signal Processor) 등을 사용하는 것이 바람직하나, 이에 제한되지 않고 다양한 논리 연산 프로세서가 사용될 수 있다.The
도 3은 본 발명의 일 실시예에 따른 비휘발성 메모리 장치(11)의 MTD 파티션 분할을 도시한 테이블이다.3 is a table showing MTD partitioning of the
상기 기술한 바와 같이, 플래시 메모리를 하드 디스크와 같이 사용하기 위하여 MTD(Memory Technology Device)를 사용하게 된다. MTD란 다양한 메모리 형태의 장치를 지원하기 위해 만들어진 기술이며, 플래시 메모리는 MTD에 의해 MTD 파티션(MTD Partition)이라고 부르는 몇 개의 부분들로 나누어져 있고, MTD 서브시스템이 플래시 메모리의 MTD 파티션을 지원한다. 임베디드 시스템은 전원 온(On) 시 MTD 0의 부트로더(Boot Loader)가 구동되고 MTD 2의 커널(Kernel)을 로딩(Loading)한 후, MTD 4의 루트 파일 시스템(Root File System)의 시스템 파일(System File)을 로딩하여 구동된다.As described above, the MTD (Memory Technology Device) is used to use the flash memory as a hard disk. MTD is a technology designed to support various types of memory devices. Flash memory is divided into several parts called MTD partitions by MTD, and MTD subsystem supports MTD partitions of flash memory . In the embedded system, when
도 3에 도시된 바와 같이, MTD0 영역은 운영체제를 구동하기 위한 부트로더가 저장된 영역이고, MTD1 영역은 상기 부트로더의 환경설정이 저장된 영역이다. MTD2 영역은 정상적으로 로드되는 리눅스 커널 이미지가 저장된 영역이고, MTD3 영역은 로고(Logo) 즉, 하드웨어, 응용 소프트웨어가 부분적으로 교체되어도 안정적인 동작을 인증해 주는 로고가 저장된 영역이다. MTD4 영역은 정상적으로 로드되는 루트 파일 시스템이 저장된 영역이고, MTD5 영역은 정상적으로 로드되는 사용자 어플리케이션이 저장된 영역이다. MTD6 영역은 어플리케이션 설정 파라미터들이 저장된 영역이며, MTD7 영역은 MTD6에 저장된 어플리케이션 설정 파라미터들이 중복저장(Mirror)된 영역이다. MTD8 영역은 사용자에 의해 사용되는 데이터가 저장되는 자유 영역이다. MTD9 영역은 재파티셔닝 수행 필요 여부를 나타내는 플래그가 저장되는 영역이고, MTD10 영역은 이미지 또는 파티션 등의 사이즈 정보가 저장되는 영역이다.As shown in FIG. 3, the MTD0 area is an area in which a boot loader for operating the operating system is stored, and the MTD1 area is an area in which the environment setting of the boot loader is stored. The MTD2 area is a region in which a Linux kernel image to be normally loaded is stored, and the MTD3 area is a region in which a logo for authenticating a stable operation is stored even if a logo is partially replaced with hardware or application software. The MTD4 area is an area in which a root file system to be normally loaded is stored, and the MTD5 area is an area in which a user application to be normally loaded is stored. The MTD6 area is an area where application setting parameters are stored, and the MTD7 area is an area where application setting parameters stored in the MTD6 are mirrored. The MTD8 area is a free area in which data used by the user is stored. The MTD9 area is an area for storing a flag indicating whether or not to perform repartitioning, and the MTD10 area is an area for storing size information such as an image or a partition.
위와 같이 리눅스 기반의 임베디드 디바이스가 동작되기 위해서는 부트로더 영역, 리눅스 커널 영역, 기능 수행에 필요한 공통 라이브러리 및 유틸리티, 파티션이 포함되어 있는 루트 파일 시스템 영역, 비즈니스 로직이 구현되어 있는 라이브러리와 영역, 변경 어플리케이션이 포함된 사용자 어플리케이션 가능한 구성 정보 영역 등으로 메모리가 구성될 수 있으며, 사용자 어플리케이션 영역은 루트 파일 시스템 영역에 포함되어 구성될 수도 있다.In order to run the Linux-based embedded device as above, the boot loader area, the Linux kernel area, the common library and utility necessary for performing the functions, the root file system area including the partitions, the library and the area where the business logic is implemented, A user application configurable information area including the user application area, and the user application area may be included in the root file system area.
종래의 경우에는 이러한 각각의 MTD 파티션의 영역마다 사이즈가 고정적으로 할당되어 있었다. 플래시 메모리의 MTD 파티션은 논리적으로 구분되므로 사이즈는 변경할 수 있으나, 이를 변경하기 위해서는 Uboot 환경변수 중에 bootargs를 사용자가 직접 /etc/cmdline 파일을 통해 변경하여야 한다. 여기서 Uboot(Universal Boot Loader)란 주로 PowerPC와 ARM 임베디드 시스템에서 사용되는 부트로더(Boot Loader)를 말한다. 그리고 Uboot 환경변수란 플래시 메모리의 일정 영역에 저장되어 부팅 환경을 변경시키는 값으로, 대표적으로 bootargs, bootcmd, bootdelay, ipaddr 등이 있다. 본 발명을 구현하기 위하여 본 발명의 일 실시예에서는 부트로더로 Uboot를 사용할 수 있으나, 이에 제한되지 않고 다양한 종류의 부트로더가 사용될 수 있다.In the conventional case, the size is fixedly allocated for each area of each MTD partition. MTD partitions of flash memory are logically separated and can be changed in size, but in order to change them, user should change bootargs in / etc / cmdline file in Uboot environment variable. Here Uboot (Universal Boot Loader) refers to the Boot Loader used mainly in PowerPC and ARM embedded systems. The Uboot environment variable is a value that changes the boot environment by being stored in a certain area of the flash memory, and typically includes bootargs, bootcmd, bootdelay, and ipaddr. In order to implement the present invention, Uboot may be used as a boot loader in one embodiment of the present invention, but various types of boot loaders can be used without being limited thereto.
상기와 같은 이유로, 프리(Free) 영역(112)에 특정 데이터를 저장한다면 전체 데이터 사이즈가 프리 영역(112)의 파티션 사이즈보다 커지는 경우에, 사용자는 기존에 저장된 데이터 중 일부를 삭제하거나, 상기 데이터들을 압축하여 저장하여야 했다. 또한 업그레이드 이미지(4)의 사이즈가 MTD 파티션의 사이즈보다 클 경우에 시스템이 정상적으로 동작하지 않는다. 그리고 사용자가 이를 해결하기 위해 어떤 영역의 MTD 파티션의 사이즈를 변경해야 하는지 알아내기 어려우며 그 과정이 번거롭다.If the total data size is larger than the partition size of the
도 4는 본 발명의 일 실시예에 따른 비휘발성 메모리 장치(11)의 구성을 나타내는 개념도이다.4 is a conceptual diagram showing a configuration of a
도 4에 도시된 바와 같이, 본 발명의 일 실시예에 따른 비휘발성 메모리 장치(11)는 이미지 영역(111), 프리 영역(112), 플래그 영역(113), 정보 저장 영역(114)으로 구분될 수 있다.4, the
이미지 영역(111)은 상기 기술한 부트로더, 리눅스 커널, 루트 파일 시스템 등의 이미지가 저장되는 영역이다. 각각의 이미지는 각각의 MTD 파티션마다 할당되어 저장되며, 도 4에서는 이미지 영역(111)의 MTD 파티션이 3개 도시되어 3가지의 이미지가 저장되는 것으로 도시하였다. 이하, 제1 MTD(1111)에는 부트로더, 제2 MTD(1112)에는 커널, 제3 MTD(1113)에는 루트 파일 시스템이 저장되는 것으로 설명하나, 이는 설명의 편의를 위한 것이며 권리범위를 제한하기 위함이 아니다.The
프리 영역(112)은 임의의 데이터를 저장할 수 있는 영역으로서, 프리 영역(112)도 하나의 MTD 파티션을 차지하는 영역이다. 플래시 메모리를 저장매체로 사용하기 위한 방법에는, 크게 FTL(Flash Translation Layer: 플래시 변환계층)을 구현하여 플래시 메모리와 결합 사용하는 방법과, 플래시 메모리 전용 파일 시스템을 사용하는 방법이 있다.The
FTL은 쓰기 연산 시에 파일 시스템이 생성한 논리주소를 플래시 메모리 상에서, 이미 삭제 연산이 수행된 영역에 대한 물리주소로 변환하는 역할을 수행한다. 그리고 상위 계층인 파일 시스템에 쓰기 연산 시 필요한 삭제 연산을 감추어 일반적인 자기 디스크용 파일 시스템이 플래시 메모리 상에서 작동할 수 있도록 하고, 시간 지연 및 마모의 문제를 상위의 운영체제에서 방지할 수 있도록 한다. 이 경우 파일 시스템은 리눅스(linux)에서 널리 쓰이는 ext2(second extended file system, 이차 확장 파일 시스템)이 사용될 수 있다.The FTL translates the logical address generated by the file system into a physical address in the flash memory at the time of the write operation, for the area where the erase operation has already been performed. In addition, the deletion operation required for the write operation to the upper layer file system is hidden to allow the file system for general magnetic disk to operate on the flash memory, and the problem of time delay and wear can be prevented in the upper operating system. In this case, the file system can be used ext2 (second extended file system), which is widely used in Linux.
FTL을 사용하지 않는 경우에는, MTD(Memory Technology Device)를 사용하는 JFFS2(Journaling Flash File System 2), YAFFS (Yet Another Flash File System), 및 YAFFS2 등과 같은 LFS(Log-structured File System: 로그 구조 파일 시스템)가 많이 사용된다. LFS와 같은 파일 시스템들은 저장 공간을 하나의 로그로 보고, 데이터를 앞에서부터 차례로 기록한다. 또한, 데이터를 기록함과 함께 메타데이터가 저장되고, 상기 메타 데이터 기반으로 매핑 테이블(Mapping Table)을 주 메모리 상에 구성하여 관리하게 된다. 본 발명의 일 실시예에 따른 플래시 메모리는 ext2를 사용할 수 있으나 이에 제한되지 않고 다양한 루트 파일 시스템이 사용될 수 있다.If the FTL is not used, a log-structured file system (LFS) such as Journaling Flash File System 2 (JFFS2) using MTD (Memory Technology Device), Yet Another Flash File System (YAFFS) System) is often used. File systems such as LFS view the storage space as a single log and write data sequentially from the front. In addition, data is recorded and meta data is stored, and a mapping table is configured and managed on a main memory based on the meta data. The flash memory according to an embodiment of the present invention can use ext2, but not limited thereto, various root file systems can be used.
플래그 영역(113)은 플래그가 저장되는 영역이다. 플래그는 특정 상태의 성립 여부를 식별하거나, 약속된 신호를 남기기 위해 사용되는 표시로서, 본 발명의 일 실시예에 따른 플래그는 재파티셔닝의 수행이 필요한지 여부를 낸다. 일반적으로, 플래그는 특정 상태가 성립하는지 하지 않는지 두 가지의 경우를 식별하면 되므로, 1Bit의 저장 공간을 차지한다. 그리고, 특정 상태가 성립하면 1, 성립하지 않으면 0을 나타낼 수 있다. 본 발명의 일 실시예에 따른 플래그는 비휘발성 메모리 장치(11)만의 재파티셔닝의 수행 필요 여부를 나타내거나, 비휘발성 메모리 장치(11) 및 휘발성 메모리 장치(12)의 종류를 불문하고 재파티셔닝의 수행 필요 여부를 나타낸다면 1Bit의 크기를 가질 수 있다. 그러나, 비휘발성 메모리 장치(11) 및 휘발성 메모리 장치(12)의 종류를 함께 판단하기 위해서는 2Bit의 크기를 가질 수도 있다. 이에 대한 내용의 자세한 설명은 후술한다.The
도 5는 본 발명의 일 실시예에 따른 정보 저장 영역(114)의 상세한 구성을 나타낸 블록도이다.5 is a block diagram showing a detailed configuration of an
정보 저장 영역(114)은 도 5에 도시된 바와 같이, 비휘발성 메모리의 사용 공간 사이즈 정보 및 파티션 사이즈 정보(1141, 1142)를 저장한다. 여기서 비휘발성 메모리의 사용 공간 사이즈 정보(1141)는, 이미지 사이즈에 대한 정보뿐만 아니라 데이터 사이즈에 대한 정보를 포함한다.The
본 발명의 일 실시예에 따른 제어부(3)는 비휘발성 메모리의 사용 공간 사이즈 및 파티션 사이즈를 실시간으로 모니터링 한다. 그리고 비휘발성 메모리의 사용 공간 사이즈가 비휘발성 메모리 장치(11)의 파티션 사이즈보다 크거나, 여유 공간이 얼마 남지 않은 경우에는, 제어부(3)는 플래그 영역(113)의 플래그를 1로 설정하고, 비휘발성 메모리의 사용 공간 사이즈 정보 및 파티션 사이즈 정보(1141, 1142)를 업데이트한다. 그리고 카메라를 재부팅 시킨다. 제어부(3)가 카메라를 재부팅 시킬 때에는, 강제로 재부팅할 수도 있으나, 사용자가 재부팅 여부를 선택할 수 있도록, 화면부(미도시)를 통해 사용자에게 가이드 윈도우를 UI(User Interface)로써 디스플레이 할 수도 있다. 카메라가 재부팅되면, 부트로더는 우선 플래그 영역(113)의 플래그를 로딩한다. 그리고 플래그 영역(113)의 플래그가 0으로 설정되어 있다면 재파티셔닝을 수행하지 않으나, 플래그가 1로 설정되어 있다면 상기 업데이트된 비휘발성 메모리의 사용 공간 사이즈 정보 및 파티션 사이즈 정보(1141, 1142)에 기초하여, 각각의 MTD 파티션의 재파티셔닝을 수행한다.The
정보 저장 영역(114)은 도 5에 도시된 바와 같이, 휘발성 메모리의 사용 리소스 값 정보 및 파티션 사이즈 정보(1143, 1144)를 더 저장할 수 있다. DDR SDRAM은 플래시 메모리와 같이 파티션 분할이 반드시 필수적인 것은 아니다. 그러나, 필요에 따라 사용자가 임의로 파티션 분할을 할 수도 있다.The
도 6은 본 발명의 다른 실시예에 따른 비휘발성 메모리 장치(11)의 구성을 나타내는 개념도이다.6 is a conceptual diagram showing a configuration of a
본 발명의 다른 실시예에 따르면, 비휘발성 메모리 장치(11)가 복수로 형성될 수 있다. 그리고, 제1 비휘발성 메모리 장치(11a)에는 도 6에 도시된 바와 같이, 이미지 영역(111), 프리 영역(112), 플래그 영역(113)이 형성되고, 제2 비휘발성 메모리 장치(11b)에는 정보 저장 영역(114)이 형성될 수 있다. 즉, 제1 비휘발성 메모리 장치(11a)의 사용 공간 사이즈 정보 및 파티션 사이즈 정보(1141, 1142) 등이, 별도로 형성된 제2 비휘발성 메모리 장치(11b)에 저장될 수 있다. 여기서 제1 비휘발성 메모리 장치(11a)는 플래시 메모리일 수 있고, 제2 비휘발성 메모리 장치(11b)는 EEPROM 또는 HDD 등 다양한 비휘발성 메모리가 될 수 있다. 이러한 경우에는, 제어부(3)는 제1 비휘발성 메모리 장치(11a)의 사용 공간 사이즈 및 파티션 사이즈를 실시간으로 모니터링한다. 그리고 재파티셔닝을 수행할 필요가 있는 경우에는 플래그 영역(113)의 플래그를 1로 설정하고, 제2 비휘발성 메모리 장치(11b)에 저장된 제1 비휘발성 메모리 장치(11a)의 사용 공간 사이즈 정보 및 파티션 사이즈 정보를 업데이트한다. 그리고 카메라를 재부팅 시킨다. 카메라가 재부팅되면, 부트로더는 우선 플래그 영역(113)의 플래그를 로딩한다. 그리고 플래그 영역(113)의 플래그가 0으로 설정되어 있다면 재파티셔닝을 수행하지 않으나, 플래그가 1로 설정되어 있다면 상기 업데이트된 제2 비휘발성 메모리 장치(11b)에 저장된 사용 공간 사이즈 정보 및 파티션 사이즈 정보(1141, 1142)에 기초하여, 제1 비휘발성 메모리 장치(11a)의 각각의 MTD 파티션의 재파티셔닝을 수행한다.According to another embodiment of the present invention, a plurality of
도 7은 본 발명의 일 실시예에 따른 프리 영역(112)에 여유 공간(1122)이 부족한 경우를 나타내는 개념도이다.7 is a conceptual diagram showing a case where
프리 영역(112)은 상기 기술한 바와 같이, 임의의 데이터를 저장할 수 있는 영역이다. 도 7에 도시된 바와 같이, 이러한 프리 영역(112)의 여유 공간(1122)이 사용 공간(1121)에 비해 부족하다면, 이후에 추가로 저장되어야 할 임의의 데이터의 사이즈가 여유 공간(1122)보다 더 클 수도 있다. 즉, 전체 데이터 사이즈가 프리 영역(112)의 파티션 사이즈보다 커지게 된다. 이러한 경우, 기존에는 사용자가 저장된 데이터 중 일부를 삭제하거나, 상기 데이터들을 압축하여 저장하여야 했다.The
본 발명의 일 실시예에 따르면, 제어부(3)가 프리 영역(112)의 데이터 사이즈와 파티션 사이즈를 실시간으로 모니터링 한다. 그리고, 프리 영역(112)의 여유 공간(1122)이 데이터가 차지하는 사용 공간(1121)에 비해 부족하다면, 재파티셔닝이 필요한 것으로 인지한다. 여기서, 여유 공간(1122)이 사용 공간(1121)에 비해 부족한 것은, 여유 공간(1122)이 전체 프리 영역(112)의 파티션 사이즈의 10% 이내인 것이 바람직하나, 이에 제한되지 않는다. 재파티셔닝이 필요한 것으로 판단되면, 도 7에 도시된 바와 같이, 제어부(3)는 플래그 영역(113)에서 플래그를 1로 설정한다.According to an embodiment of the present invention, the
도 8은 본 발명의 일 실시예에 따른 이미지 영역(111)의 여유 공간(1115)을 체크하는 모습을 나타내는 개념도이다.FIG. 8 is a conceptual diagram showing a state of checking the
제어부(3)가 플래그 영역(113)의 플래그를 1로 설정한 후, 정보 저장 영역(114)에 저장된 비휘발성 메모리의 사용 공간 사이즈 정보 및 파티션 사이즈 정보(1141, 1142) 를 업데이트한다. 구체적으로, 제어부(3)는 현재의 비휘발성 메모리의 사용 공간 사이즈 정보로 업데이트하고, 현재의 비휘발성 메모리의 파티션 사이즈 정보 및 재파티셔닝 되어야 할 파티션 사이즈 정보를 함께 업데이트한다.The
그리고 카메라를 재부팅 시킨다. 카메라가 재부팅되면, 부트로더는 우선 플래그 영역(113)을 로딩한다. 그리고 플래그가 1로 설정된 것을 확인하면, 정보 저장 영역(114)에서 상기 업데이트 된 비휘발성 메모리의 사용 공간 사이즈 정보 및 파티션 사이즈 정보(1141, 1142)를 로딩한다.Then reboot the camera. When the camera is rebooted, the boot loader loads the
상기 기술한 바와 같이, 프리 영역(112)의 사용 공간(1121) 사이즈가 프리 영역(112)의 파티션 사이즈에 비해 너무 커서 여유 공간(1122)이 부족하다. 따라서, 부트로더는 도 8에 도시된 바와 같이, 재파티셔닝을 수행하기 위해 다른 영역에 존재하는 여유 공간을 체크한다.As described above, the size of the
현재 이미지 영역(111)에는 사용 공간(1114)과 여유 공간(1115)이 어느 정도 병존하고 있다. 그런데, 이미지 영역(111)에 저장되는 부트로더, 커널, 루트 파일 시스템 등은, 이미지가 업그레이드 등으로 변경되지 않는 이상, 그 사이즈가 변경되지 않는다. 따라서, 이미지 영역(111)에 존재하는 여유 공간(1115)을 버리지 않고 활용하는 것이 바람직하다.The
도 9는 본 발명의 일 실시예에 따른 비휘발성 메모리 장치(11)를 재파티셔닝하여 프리 영역(112)의 여유 공간(1122)을 확보하는 모습을 나타내는 개념도이고, 도 10은 본 발명의 일 실시예에 따른 비휘발성 메모리 장치(11)의 재파티셔닝이 완료된 모습을 나타낸 개념도이다.FIG. 9 is a conceptual diagram showing how
도 9에 도시된 바와 같이, 부트로더는 카메라가 재부팅되면, 이미지 영역(111)에 존재하는 여유 공간(1115)을 어느 정도 감소시키고, 프리 영역(112)의 파티션 사이즈를 증가시키도록 재파티셔닝을 수행한다. 따라서, 도 10에 도시된 바와 같이, 프리 영역(112)의 여유 공간(1122)이 증가하여, 더 큰 사이즈의 데이터를 프리 영역(112)에 추가로 저장할 수 있게 된다.As shown in FIG. 9, the boot loader re-partitiones the image to reduce the amount of
도 11은 본 발명의 일 실시예에 따른 이미지 영역(111)에 여유 공간(1122)이 부족한 경우를 나타내는 개념도이다.11 is a conceptual diagram illustrating a case where the
이미지 영역(111)은 상기 기술한 바와 같이, 부트로더, 리눅스 커널, 루트 파일 시스템 등의 이미지가 저장되는 영역이다. 또한, 상기 기술한 바와 같이 이미지 영역(111)에 저장되는 부트로더, 커널, 루트 파일 시스템 등은, 이미지가 업그레이드 등으로 변경되지 않는 이상, 그 사이즈가 변경되지 않는다.The
즉, 이미지가 업그레이드 되는 경우에는 각각의 이미지 사이즈가 변경될 수 있다. 그런데 예를 들어 도 11에 도시된 바와 같이, 이미 특정 사이즈로 제1 내지 제3 MTD(1111, 1112, 1113) 파티션들이 파티셔닝되어 있는데, 새로운 업그레이드 이미지(4) 가운데 커널(42)의 사이즈가 제2 MTD(1112) 파티션의 사이즈보다 클 수 있다. 이러한 경우에는 시스템이 정상적으로 동작하지 않게 된다.That is, when the image is upgraded, the respective image sizes can be changed. 11, the first to
본 발명의 일 실시예에 따르면, 제어부(3)가 이미지 영역(111)의 이미지 사이즈와 파티션 사이즈를 실시간으로 모니터링 한다. 그리고, 이미지 영역(111)을 구성하는 각각의 MTD 파티션들 가운데 하나라도, 그에 대응되는 이미지 사이즈보다 사이즈가 작다면, 재파티셔닝이 필요한 것으로 인지한다. 재파티셔닝이 필요한 것으로 판단되면, 도 11에 도시된 바와 같이, 제어부(3)는 플래그 영역(113)에서 플래그를 1로 설정한다.According to an embodiment of the present invention, the
제어부(3)가 플래그 영역(113)의 플래그를 1로 설정한 후, 정보 저장 영역(114)에 저장된 비휘발성 메모리의 사용 공간 사이즈 정보 및 파티션 사이즈 정보(1141, 1142)를 업데이트한다. 구체적으로, 제어부(3)는 현재의 비휘발성 메모리의 사용 공간 사이즈 정보로 업데이트하고, 현재의 비휘발성 메모리의 파티션 사이즈 정보 및 재파티셔닝 되어야 할 파티션 사이즈 정보를 함께 업데이트한다.The
그리고 카메라를 재부팅 시킨다. 카메라가 재부팅되면, 부트로더는 우선 플래그 영역(113)을 로딩한다. 그리고 플래그가 1로 설정된 것을 확인하면, 정보 저장 영역(114)에서 상기 업데이트 된 비휘발성 메모리의 사용 공간 사이즈 정보 및 파티션 사이즈 정보(1141, 1142)를 로딩한다.Then reboot the camera. When the camera is rebooted, the boot loader loads the
상기 기술한 바와 같이, 이미지 영역(111)의 사용 공간 사이즈가 이미지 영역(111)의 파티션 사이즈보다 크다. 따라서, 부트로더는 재파티셔닝을 수행하기 위해 다른 영역에 존재하는 여유 공간을 체크한다.As described above, the used space size of the
현재 프리 영역(112)에는 사용 공간(1121)과 여유 공간(1122)이 어느 정도 병존하고 있다. 그런데, 프리 영역(112)에는 사용자가 카메라를 사용함으로써 생성되는 데이터를 저장하므로, 재부팅을 수행하는 도중에는 데이터의 사이즈가 크게 변경되지 않는다. 따라서, 프리 영역(112)에 존재하는 여유 공간(1122)을 활용하는 것이 바람직하다.At present, the
도 12는 본 발명의 일 실시예에 따른 비휘발성 메모리 장치(11)를 재파티셔닝하여 이미지 영역(111)의 여유 공간(1112)을 확보하는 모습을 나타내는 개념도이고, 도 13은 본 발명의 일 실시예에 따른 비휘발성 메모리 장치(11)의 재파티셔닝이 완료된 모습을 나타낸 개념도이다.12 is a conceptual diagram showing a state in which a
도 12에 도시된 바와 같이, 부트로더는 카메라가 재부팅되면, 프리 영역(112)에 존재하는 여유 공간(1122)을 어느 정도 감소시키고, 이미지 영역(111)의 파티션 사이즈를 증가시키도록 재파티셔닝을 수행한다. 따라서, 도 13에 도시된 바와 같이, 이미지 영역(111)의 여유 공간(1115)이 증가하여, 새로운 이미지가 업그레이드 될 수 있게 된다.As shown in FIG. 12, the boot loader re-partitiones the
도 14는 본 발명의 일 실시예에 따른 비휘발성 메모리 장치(11) 및 휘발성 메모리 장치(12)의 구성을 나타내는 개념도이다.14 is a conceptual diagram showing a configuration of a
재파티셔닝은 비휘발성 메모리 장치(11)뿐만 아니라, 휘발성 메모리 장치(12)의 경우에도 필요할 수 있다. 물론, DDR SDRAM은 플래시 메모리와 같이 파티션 분할이 반드시 필수적인 것은 아니다. 그러나, 필요에 따라 사용자가 임의로 파티션 분할을 할 수도 있다. 예를 들면 도 14에 도시된 바와 같이, DDR SDRAM은 주 기억 장치로서 OS(Operate System, 운영 체제)가 구동되면서 리소스 값을 사용하게 되는 제1 영역(121), 촬상부(2)를 통해 획득된 영상의 인코딩 및 디코딩 등의 영상 처리를 수행하기 위한 버퍼메모리로써 사용하게 되는 제2 영역(122)으로 파티셔닝 될 수 있다.The re-partitioning may be necessary in the case of the
도 15는 본 발명의 일 실시예에 따른 휘발성 메모리 장치(12)의 제1 영역(121)에 여유 공간(1212)이 부족한 경우를 나타내는 개념도이다.FIG. 15 is a conceptual diagram showing a case where the
도 15에 도시된 바와 같이, 제1 영역(121)의 여유 공간(1212)이 사용 공간(1211)에 비해 부족하다면, 이후에 OS에 부하가 많이 작용하게 될 경우 OS가 구동되는 속도가 매우 느려질 수가 있다.As shown in FIG. 15, if the
본 발명의 일 실시예에 따르면, 제어부(3)가 제1 영역(121)의 리소스 값과 파티션 사이즈를 실시간으로 모니터링 한다. 그리고, 제1 영역(121)의 여유 공간(1212)이 사용 공간(1211)에 비해 부족하다면, 재파티셔닝이 필요한 것으로 인지한다. 여기서, 여유 공간(1212)이 사용 공간(1211)에 비해 부족한 것은, 여유 공간(1212)이 전체 제1 영역(121)의 파티션 사이즈의 10% 이내인 것이 바람직하나, 이에 제한되지 않는다. 재파티셔닝이 필요한 것으로 판단되면, 도 15에 도시된 바와 같이, 제어부(3)는 플래그 영역(113)에서 플래그를 1로 설정한다.According to an embodiment of the present invention, the
여기서, 플래그는 도 7 및 도 11에 도시된 바와 같이 1Bit를 가질 수도 있으나, 도 15에 도시된 바와 같이 2Bit를 가질 수도 있다. 만약, 플래그가 1Bit의 크기를 가진다면, 비휘발성 메모리 장치(11)만의 재파티셔닝의 수행 필요 여부를 나타내거나, 비휘발성 메모리 장치(11) 및 휘발성 메모리 장치(12)의 종류를 불문하고 재파티셔닝의 수행 필요 여부를 나타낼 수 있다. 플래그가 비휘발성 메모리 장치(11)만의 재파티셔닝의 수행 필요 여부를 나타낸다면, 플래그가 1로 설정된 것을 부트로더가 확인한 후, 비휘발성 메모리 장치(11)의 재파티셔닝만을 수행한다. 이 때, 휘발성 메모리 장치(12)의 재파티셔닝은 수행될 수 없다.Here, the flag may have 1 bit as shown in Figs. 7 and 11, but it may have 2 bits as shown in Fig. If the flag has a size of 1 bit, it indicates whether the repartitioning of only the
플래그가 비휘발성 메모리 장치(11) 및 휘발성 메모리 장치(12)의 종류를 불문하고 재파티셔닝의 수행 필요 여부를 나타낸다면, 플래그가 1로 설정된 것을 부트로더가 확인한 후, 부트로더는 비휘발성 메모리의 사용 공간 사이즈 정보 및 파티션 사이즈 정보(1141, 1142), 휘발성 메모리의 리소스 값 사이즈 정보 및 파티션 사이즈 정보(1143, 1144)를 모두 확인한다. 그리고 정보가 업데이트되어 재파티셔닝이 되어야 하는 메모리 장치에 대하여 재파티셔닝을 수행한다.After the boot loader confirms that the flag is set to 1, if the flag indicates whether it is necessary to perform repartitioning regardless of the type of the
만약, 플래그가 2Bit의 크기를 가진다면, 비휘발성 메모리 장치(11) 및 휘발성 메모리 장치(12)의 종류를 함께 판단하기 위해서는 2Bit의 크기를 가질 수도 있다. 즉, 2Bit의 플래그 가운데 1Bit는 비휘발성 메모리 장치(11)의 재파티셔닝의 수행 필요 여부, 나머지 1Bit는 휘발성 메모리 장치(12)의 재파티셔닝의 수행 필요 여부를 나타낼 수 있다.If the flag has a size of 2 bits, it may have a size of 2 bits to judge the types of the
나아가, 플래그가 3Bit를 가질 수도 있다. 이 경우, 1Bit는 비휘발성 메모리 장치(11)의 이미지 영역(111)의 여유 공간(1112)이 부족한 경우, 1Bit는 비휘발성 메모리 장치(11)의 프리 영역(112)의 여유 공간(1122)이 부족한 경우, 1Bit는 휘발성 메모리 장치(12)의 재파티셔닝의 수행 필요 여부를 나타낼 수 있다. 즉, 플래그는 나타내는 정보의 종류에 따라 다양한 사이즈를 가질 수 있다.Furthermore, the flag may have 3 bits. In this case, when 1 bit is insufficient in the
제어부(3)가 플래그 영역(113)의 플래그를 1로 설정한 후, 정보 저장 영역(114)에 저장된 휘발성 메모리의 리소스 값 사이즈 정보 및 파티션 사이즈 정보(1143, 1144)를 업데이트한다. 구체적으로, 제어부(3)는 최근에 가장 사이즈가 컸던 휘발성 메모리의 사용 공간 사이즈 정보로 업데이트하고, 현재의 휘발성 메모리의 파티션 사이즈 정보 및 재파티셔닝 되어야 할 파티션 사이즈 정보를 함께 업데이트한다.The
그리고 카메라를 재부팅 시킨다. 카메라가 재부팅되면, 부트로더는 우선 플래그 영역(113)을 로딩한다. 그리고 플래그가 1로 설정된 것을 확인하면, 정보 저장 영역(114)에서 상기 업데이트 된 휘발성 메모리의 리소스 값 사이즈 정보 및 파티션 사이즈 정보(1143, 1144)를 로딩한다.Then reboot the camera. When the camera is rebooted, the boot loader loads the
상기 기술한 바와 같이, 제1 영역(121)의 사용 공간(1211) 사이즈가 프리 영역(112)의 파티션 사이즈에 비해 너무 커서 여유 공간(1212)이 부족하다. 따라서, 부트로더는 재파티셔닝을 수행하기 위해 다른 영역에 존재하는 여유 공간을 체크한다. 즉, 제2 영역(122)의 여유 공간(1222)을 체크한다.As described above, the size of the
여기서 휘발성 메모리 장치(12)는 전원 공급이 차단되면 저장되었던 정보들이 휘발된다. 즉, 카메라의 재부팅이 수행되더라도 제1 영역(121) 및 제2 영역(122)에 저장된 정보들이 사라져, 실제로는 사용 공간이 0이 된다. 따라서, 상기 기술한 사용 공간(1211)은, 카메라가 재부팅이 되기 직전에, 특정 시간 동안 가장 사이즈가 컸던 사용 공간(1211)을 말하며, 여유 공간(1212)은 해당 영역의 파티션 사이즈에서 상기 사용 공간(1211)을 뺀 공간을 말한다.In this case, when the power supply is interrupted, the
도 16은 본 발명의 일 실시예에 따른 휘발성 메모리 장치(12)를 재파티셔닝하여 제1 영역(121)의 여유 공간(1211)을 확보하는 모습을 나타내는 개념도이고, 도 17은 본 발명의 일 실시예에 따른 휘발성 메모리 장치(12)의 재파티셔닝이 완료된 모습을 나타낸 개념도이다.16 is a conceptual view showing a state in which the
도 16에 도시된 바와 같이, 부트로더는 카메라가 재부팅되면, 제2 영역(122)에 존재하는 여유 공간(1221)을 어느 정도 감소시키고, 제1 영역(121)의 파티션 사이즈를 증가시키도록 재파티셔닝을 수행한다. 따라서, 도 17에 도시된 바와 같이, 제1 영역(121)의 여유 공간(1211)이 증가하여, OS에 작용하는 부하가 증가하더라도, 속도가 크게 저하되지 않게 된다.As shown in FIG. 16, when the camera is rebooted, the boot loader may reduce the
본 발명이 속하는 기술분야의 통상의 지식을 가진 자는 본 발명이 그 기술적 사상이나 필수적인 특징을 변경하지 않고서 다른 구체적인 형태로 실시될 수 있다는 것을 이해할 수 있을 것이다. 그러므로 이상에서 기술한 실시예들은 모든 면에서 예시적인 것이며 한정적이 아닌 것으로 이해해야만 한다. 본 발명의 범위는 상기 상세한 설명보다는 후술하는 특허청구범위에 의하여 나타내어지며, 특허청구범위의 의미 및 범위 그리고 그 균등 개념으로부터 도출되는 모든 변경 또는 변형된 형태가 본 발명의 범위에 포함되는 것으로 해석되어야 한다.It will be understood by those skilled in the art that the present invention may be embodied in other specific forms without departing from the spirit or essential characteristics thereof. It is therefore to be understood that the above-described embodiments are illustrative in all aspects and not restrictive. The scope of the present invention is defined by the appended claims rather than the detailed description and all changes or modifications derived from the meaning and scope of the claims and their equivalents are to be construed as being included within the scope of the present invention do.
1: 저장부
2: 촬상부
3: 제어부
11: 비휘발성 메모리 장치
12: 휘발성 메모리 장치
111: 이미지 영역
112: 프리 영역
113: 플래그 영역
114 정보 저장 영역
121: 제1 영역
122: 제2 영역1: storage unit 2: imaging unit
3: control unit 11: nonvolatile memory device
12: volatile memory device 111: image area
112: free area 113: flag area
114 information storage area 121: first area
122: second region
Claims (6)
부트로더를 포함하는 이미지가 설치되는 이미지 영역;
사용자의 사용에 의해 발생하는 데이터가 저장되는 프리 영역; 및
사용 공간 사이즈 정보 및 파티션 사이즈 정보를 저장하는 정보 저장 영역을 포함하고,
상기 이미지 영역, 상기 프리 영역 및 상기 정보 저장 영역은,
각각 파티션들로 분할되어 형성되되,
상기 전자 기기에 내장된 제어부에 의해 상기 이미지 영역 및 상기 프리 영역의 사용 공간 및 여유 공간 사이즈가 실시간으로 모니터링 되고,
상기 제어부에 의해 재파티셔닝의 수행이 필요한 것으로 판단되면, 상기 사용 공간 사이즈 정보 및 상기 파티션 사이즈 정보가 업데이트되며,
상기 전자 기기가 재부팅되면, 상기 이미지 영역에 설치된 상기 부트로더가 업데이트된 상기 사용 공간 사이즈 정보 및 상기 파티션 사이즈 정보를 로딩하여 재파티셔닝을 수행하는, 메모리 장치.A nonvolatile memory device incorporated in an electronic device,
An image area in which the image containing the boot loader is installed;
A free area in which data generated by use of the user is stored; And
An information storage area for storing used space size information and partition size information,
The image area, the free area, and the information storage area,
Each of which is divided into partitions,
Wherein a usage space and a free space size of the image area and the free area are monitored in real time by a control unit built in the electronic device,
Wherein when the controller determines that re-partitioning is required, the used space size information and the partition size information are updated,
Wherein when the electronic device is rebooted, the boot loader installed in the image area loads the updated used space size information and the partition size information to perform repartitioning.
상기 이미지 영역 또는 상기 프리 영역의 상기 여유 공간이 없거나 부족하면, 상기 제어부에 의해 재파티셔닝의 수행이 필요한 것으로 판단되는, 메모리 장치.The method according to claim 1,
Wherein if the free space of the image area or the free area is missing or insufficient, it is determined that the re-partitioning needs to be performed by the control part.
재파티셔닝의 수행 필요 여부를 나타내는 플래그가 저장되는 플래그 영역을 더 포함하고,
상기 제어부에 의해 재파티셔닝의 수행이 필요한 것으로 판단되면, 상기 플래그가 특정 값을 나타내도록 설정되는, 메모리 장치.3. The method of claim 2,
Further comprising a flag area in which a flag indicating whether to perform re-partitioning is stored,
Wherein the flag is set to indicate a specific value if it is determined by the controller to perform the re-partitioning.
상기 부트로더는,
상기 전자 기기가 재부팅되면, 상기 플래그를 로딩하여 체크하고,
상기 플래그가 특정 값을 나타내면, 업데이트된 상기 사용 공간 사이즈 정보 및 상기 파티션 사이즈 정보를 로딩하여 재파티셔닝을 수행하는, 메모리 장치.The method of claim 3,
The boot loader includes:
Wherein when the electronic device is rebooted, the flag is loaded and checked,
And when the flag indicates a specific value, updates the used space size information and the partition size information to perform repartitioning.
상기 정보 저장 영역은,
휘발성 메모리 장치의 리소스 값 사이즈 정보 및 휘발성 메모리 장치의 파티션 사이즈 정보를 더 저장하는, 메모리 장치.The method according to claim 1,
Wherein the information storage area comprises:
And stores the resource value size information of the volatile memory device and the partition size information of the volatile memory device.
상기 휘발성 메모리 장치는,
파티션들로 복수의 영역으로 분할되며,
상기 전자 기기에 내장된 제어부에 의해 상기 휘발성 메모리 장치의 상기 복수의 영역의 사용 공간 및 여유 공간 사이즈가 실시간으로 모니터링 되고,
상기 제어부에 의해 상기 휘발성 메모리 장치의 재파티셔닝의 수행이 필요한 것으로 판단되면, 상기 휘발성 메모리 장치의 리소스 값 사이즈 정보 및 상기 휘발성 메모리 장치의 파티션 사이즈 정보가 업데이트되며,
상기 전자 기기가 재부팅되면, 상기 이미지 영역에 설치된 상기 부트로더가 업데이트된 상기 휘발성 메모리 장치의 리소스 값 사이즈 정보 및 상기 휘발성 메모리 장치의 파티션 사이즈 정보를 로딩하여 재파티셔닝을 수행하는, 메모리 장치.6. The method of claim 5,
The volatile memory device includes:
Partitions are divided into a plurality of regions,
Wherein a usage space and a free space size of the plurality of areas of the volatile memory device are monitored in real time by a control unit built in the electronic device,
Wherein the resource value size information of the volatile memory device and the partition size information of the volatile memory device are updated when it is determined by the controller to perform re-partitioning of the volatile memory device,
Wherein when the electronic device is rebooted, the boot loader installed in the image area performs re-partitioning by loading resource value size information of the updated volatile memory device and partition size information of the volatile memory device.
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1020160140034A KR102571501B1 (en) | 2016-10-26 | 2016-10-26 | The Apparatus For Memory |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1020160140034A KR102571501B1 (en) | 2016-10-26 | 2016-10-26 | The Apparatus For Memory |
Publications (2)
Publication Number | Publication Date |
---|---|
KR20180045557A true KR20180045557A (en) | 2018-05-04 |
KR102571501B1 KR102571501B1 (en) | 2023-08-29 |
Family
ID=62199298
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
KR1020160140034A KR102571501B1 (en) | 2016-10-26 | 2016-10-26 | The Apparatus For Memory |
Country Status (1)
Country | Link |
---|---|
KR (1) | KR102571501B1 (en) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2020116750A1 (en) * | 2018-12-05 | 2020-06-11 | Samsung Electronics Co., Ltd. | Method and electronic device for initializing storage |
KR20210066596A (en) * | 2019-11-28 | 2021-06-07 | 국방과학연구소 | Scheduling Processor and Method |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR20090060774A (en) | 2007-12-10 | 2009-06-15 | 한국전자통신연구원 | Apparatus and method for mirroring firmware and data of the embedded system |
KR20100114546A (en) * | 2008-03-21 | 2010-10-25 | 가부시끼가이샤 도시바 | Data updating method, memory system and memory device |
JP2011095952A (en) * | 2009-10-29 | 2011-05-12 | Kyocera Mita Corp | Method for updating firmware and electronic equipment |
KR20130075018A (en) | 2011-12-27 | 2013-07-05 | 한국전자통신연구원 | Data update apparatus for flash memory file system and method thereof |
KR20150038386A (en) * | 2012-09-27 | 2015-04-08 | 인텔 코포레이션 | Techniques for dynamic physical memory partitioning |
-
2016
- 2016-10-26 KR KR1020160140034A patent/KR102571501B1/en active IP Right Grant
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR20090060774A (en) | 2007-12-10 | 2009-06-15 | 한국전자통신연구원 | Apparatus and method for mirroring firmware and data of the embedded system |
KR20100114546A (en) * | 2008-03-21 | 2010-10-25 | 가부시끼가이샤 도시바 | Data updating method, memory system and memory device |
JP2011095952A (en) * | 2009-10-29 | 2011-05-12 | Kyocera Mita Corp | Method for updating firmware and electronic equipment |
KR20130075018A (en) | 2011-12-27 | 2013-07-05 | 한국전자통신연구원 | Data update apparatus for flash memory file system and method thereof |
KR20150038386A (en) * | 2012-09-27 | 2015-04-08 | 인텔 코포레이션 | Techniques for dynamic physical memory partitioning |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2020116750A1 (en) * | 2018-12-05 | 2020-06-11 | Samsung Electronics Co., Ltd. | Method and electronic device for initializing storage |
US11086538B2 (en) | 2018-12-05 | 2021-08-10 | Samsung Electronics Co., Ltd. | Method and electronic device for initializing storage |
KR20210066596A (en) * | 2019-11-28 | 2021-06-07 | 국방과학연구소 | Scheduling Processor and Method |
Also Published As
Publication number | Publication date |
---|---|
KR102571501B1 (en) | 2023-08-29 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US10031698B2 (en) | Method of wear leveling for data storage device | |
US8949512B2 (en) | Trim token journaling | |
US10789160B2 (en) | Utilizing different data storage policies in response to different characteristics of data | |
US8463826B2 (en) | Incremental garbage collection for non-volatile memories | |
KR101846612B1 (en) | Load boot data | |
KR101552207B1 (en) | Semiconductor memory device with reserved area | |
JP5422652B2 (en) | Avoiding self-eviction due to dynamic memory allocation in flash memory storage | |
US20140078344A1 (en) | Device and method processing continuous shooting image data | |
KR101583002B1 (en) | Computing system booting method and code/data pinning method thereof | |
US20130219111A1 (en) | System and method for read-while-write with nand memory device | |
US20170242584A1 (en) | Method of dynamic table journaling | |
US20140229724A1 (en) | Method and electronic device of file system prefetching and boot-up method | |
US20120089765A1 (en) | Method for performing automatic boundary alignment and related non-volatile memory device | |
JP2011070365A (en) | Memory system | |
US9037781B2 (en) | Method for managing buffer memory, memory controllor, and memory storage device | |
TWI454922B (en) | Memory storage device and memory controller and data writing method thereof | |
KR20180045557A (en) | The Apparatus For Memory | |
CN111026325A (en) | Flash memory controller, control method of flash memory controller and related electronic device | |
EP2757481B1 (en) | Caching method and caching system using dual disks | |
JP2011222057A (en) | Memory system | |
KR20170037017A (en) | Memory Upgrade System And Method | |
KR20210004629A (en) | Memory system and operating method thereof | |
KR100992079B1 (en) | Method for managing swap space for flash memory based swap storage device | |
JP6100750B2 (en) | Device with memory and controller and device with data storage device | |
US10896004B2 (en) | Data storage device and control method for non-volatile memory, with shared active block for writing commands and internal data collection |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
N231 | Notification of change of applicant | ||
A201 | Request for examination | ||
E902 | Notification of reason for refusal | ||
AMND | Amendment | ||
E601 | Decision to refuse application | ||
AMND | Amendment | ||
X701 | Decision to grant (after re-examination) | ||
GRNT | Written decision to grant |