KR20230081556A - Electronic device and operation method of electronic device for managing storage space - Google Patents
Electronic device and operation method of electronic device for managing storage space Download PDFInfo
- Publication number
- KR20230081556A KR20230081556A KR1020220014398A KR20220014398A KR20230081556A KR 20230081556 A KR20230081556 A KR 20230081556A KR 1020220014398 A KR1020220014398 A KR 1020220014398A KR 20220014398 A KR20220014398 A KR 20220014398A KR 20230081556 A KR20230081556 A KR 20230081556A
- Authority
- KR
- South Korea
- Prior art keywords
- partition
- volume
- file
- electronic device
- file system
- 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
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/10—File systems; File servers
- G06F16/11—File system administration, e.g. details of archiving or snapshots
- G06F16/113—Details of archiving
-
- 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/0602—Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
- G06F3/0604—Improving or facilitating administration, e.g. storage management
-
- 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/0629—Configuration or reconfiguration of storage systems
- G06F3/0631—Configuration or reconfiguration of storage systems by allocating resources to storage 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/0628—Interfaces specially adapted for storage systems making use of a particular technique
- G06F3/0638—Organizing or formatting or addressing of data
- G06F3/064—Management of blocks
-
- 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/0655—Vertical data movement, i.e. input-output transfer; data movement between one or more hosts and one or more storage devices
- G06F3/0656—Data buffering arrangements
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F8/00—Arrangements for software engineering
- G06F8/60—Software deployment
- G06F8/65—Updates
- G06F8/654—Updates using techniques specially adapted for alterable solid state memories, e.g. for EEPROM or flash memories
Abstract
다양한 실시예에 따른 전자 장치에서, 전자 장치는 제 1 파티션, 제 2 파티션 및 제 3 파티션 을 포함하는 저장 장치 및 프로세서를 포함하고, 상기 프로세서는 상기 제 2 파티션을 제 1 볼륨으로, 상기 제 3 파티션을 제 2 볼륨을 구성하고, 상기 제 2 볼륨을 상기 파일 시스템에 어태치(attach)하거나 디태치(detach)하여 상기 저장 장치의 저장 공간을 관리할 수 있다.
이 밖에 다양한 실시예들이 가능하다.In an electronic device according to various embodiments, the electronic device includes a storage device including a first partition, a second partition, and a third partition, and a processor, wherein the processor converts the second partition into a first volume and converts the third partition into a first volume. Partitions constitute a second volume, and the storage space of the storage device may be managed by attaching or detaching the second volume to the file system.
In addition, various embodiments are possible.
Description
본 문서에 개시된 다양한 실시예들은, 저장 공간을 관리하기 위한 전자 장치 및 전자 장치의 동작 방법에 관한 것이다. Various embodiments disclosed in this document relate to an electronic device for managing a storage space and an operating method of the electronic device.
최근 개발되는 스마트 폰(smart phone), 태블릿 PC(Tablet PC), PMP(Portable Multimedia Player), PDA(Personal Digital Assistant), 랩탑 PC(Laptop Personal Computer) 및 웨어러블 기기(Wearable device)와 같은 전자 장치는 이동성(mobility)뿐만 아니라 다양한 기능(예를 들어, 게임, 소셜 네트워크 서비스(SNS), 인터넷, 멀티미디어, 사진 동영상 촬영 및 실행)을 수행할 수 있다.Recently developed electronic devices such as smart phones, tablet PCs, portable multimedia players (PMPs), personal digital assistants (PDAs), laptop PCs and wearable devices In addition to mobility, various functions (eg, games, social network service (SNS), Internet, multimedia, taking and executing photos and videos) can be performed.
전자 장치는 다양한 기능을 수행에 필요한 고용량의 데이터를 저장하기 위해 낸드 플래시 메모리 또는 SSD(solid state disk)와 같은 저장 장치를 포함할 수 있다.An electronic device may include a storage device such as a NAND flash memory or a solid state disk (SSD) to store high-capacity data necessary for performing various functions.
전자 장치는 데이터를 효율적으로 저장 및/또는 관리하기 위한 가상 메모리 관리 기법을 사용할 수 있다. 예를 들어, 가상 메모리 관리 기법은 메인 메모리(예: DRAM(dynamic random access memory))와 저장 장치(storage)(예: 비휘발성 메모리)를 매핑시켜 데이터를 관리하는 방식으로, 저장 장치에 저장된 데이터 중 프로세서에서 필요로 하는 적어도 일부의 데이터(예: 페이지)를 메인 메모리로 로딩하여 처리하는 요구 페이징(demand paging) 방식을 포함할 수 있다.An electronic device may use a virtual memory management technique for efficiently storing and/or managing data. For example, the virtual memory management technique is a method of managing data by mapping a main memory (eg, dynamic random access memory (DRAM)) and a storage device (eg, non-volatile memory), and data stored in the storage device. It may include a demand paging method in which at least some data (eg, pages) required by the processor is loaded into main memory and processed.
모바일 단말에 포함되는 저장 장치는 단말 구동을 위한 실행 파일이 저장되는 시스템 파티션과, 사용자 데이터 저장을 위한 사용자 데이터 파티션으로 구분될 수 있다. A storage device included in a mobile terminal may be divided into a system partition for storing execution files for driving the terminal and a user data partition for storing user data.
또한, 모바일 단말은 출시 이후 시스템 소프트웨어 업데이트(FOTA : firmware over-the-arir)를 제공받을 수 있고, 이를 통해 시스템 파티션 영역의 실행 파일이 갱신될 수 있다. In addition, the mobile terminal may be provided with a system software update (FOTA: firmware over-the-arir) after release, through which an executable file in a system partition area may be updated.
시스템 소프트웨어 업데이트 시에, 모바일 단말을 구동하는 서비스나 애플리케이션의 기능이 개선됨에 따라, 시스템 파티션에 저장되는 갱신된 실행 파일의 용량이 증가할 수 있다. 시스템 파티션에 저장되는 갱신된 실행 파일의 용량 증가에 대비하여, 모바일 단말은 시스템 파티션을 크게 설정하고, 시스템 파티션에 가용 예약 공간(free space reserve)을 포함할 수 있다. 반면, 시스템 파티션의 가용 공간을 예약하는 만큼, 사용자 데이터 파티션의 크기는 영구적으로 줄어들 수 있다.When system software is updated, as the function of a service or application driving a mobile terminal is improved, the capacity of an updated execution file stored in a system partition may increase. In preparation for an increase in the capacity of an updated executable file stored in the system partition, the mobile terminal may set the system partition large and include free space reserve in the system partition. On the other hand, by reserving available space in the system partition, the size of the user data partition can be permanently reduced.
'동적 볼륨 관리 솔루션'은 시스템 영역과 사용자 데이터 영역을 하나의 물리 파티션에 대하여 볼륨으로 구성하고, 데이터 저장 공간을 공유하는 방식이다.예를 들어, 동적 볼륨 관리 솔루션은 각 볼륨을 구성하기 위한 메타데이터를 파티션 내에 유지하여, 볼륨의 크기를 확장할 경우 파티션 내의 여유 공간의 영역을 필요한 만큼 할당하여 볼륨에 추가하여 관리할 수 있다.'Dynamic volume management solution' is a method of organizing system area and user data area into volumes for one physical partition and sharing data storage space. For example, dynamic volume management solution is a method for configuring each volume. When the size of the volume is expanded by maintaining the data in the partition, an area of free space in the partition can be allocated as needed and added to the volume for management.
동적 볼륨 관리 솔루션은, 볼륨을 구성하는 데이터 블록의 청크(chunk)가 파편화 되거나, 읽기 전용(read-only) 속성의 볼륨을 구성하는 데이터 블록 청크(chunk)에 스토리지 레벨에서 제공하는 읽기-보안(write-protection) 적용을 위한 보안 강화가 복잡해지거나, 시스템 볼륨의 크기를 증가시키기 위하여 사용자 데이터 볼륨을 축소하는 경우, 사용자 데이터 볼륨을 구성하는 데이터 블록 청크(chunk)에 저장되어 파일의 이동 처리가 어려울 수 있다.The dynamic volume management solution provides read-security provided at the storage level to chunks of data blocks constituting a volume, or chunks of data blocks constituting a read-only volume. write-protection) becomes complicated, or when user data volume is reduced to increase the size of system volume, it is difficult to move files as they are stored in data block chunks constituting user data volume. can
본 발명의 다양한 실시예들에 따르면, 시스템 소프트웨어 업데이트와 같이 시스템 파티션에 저장되는 파일 용량의 증가와 관련하여, 가용 예약 공간(free-reserve space)을 관리할 수 있다. 본 발명의 다양한 실시예들에 따른 전자 장치는 시스템 데이터 영역과 사용자 데이터 영역을 관리하는 데에 있어서, 가용 예약 공간을 볼륨으로 인식하고 로딩함에 따라, 파일 시스템을 통하여 관리되는 저장 공간을 동적으로 관리할 수 있다.According to various embodiments of the present invention, a free-reserve space may be managed in relation to an increase in capacity of a file stored in a system partition, such as a system software update. In managing a system data area and a user data area, an electronic device according to various embodiments of the present disclosure dynamically manages storage space managed through a file system by recognizing and loading an available reserved space as a volume. can do.
본 발명의 다양한 실시예에 따른 전자 장치는 볼륨 매니저를 포함하여, 볼륨 매니저가, 가용 예약 공간을 사용자 데이터 영역에 대응하는 파일 시스템 및/또는 볼륨에 어태치(attach)하거나 디태치(detach)함으로써 파일 시스템 및/또는 볼륨을 리사이즈(resize)할 수 있다. 이에 따라, 시스템 소프트웨어 업데이트 후 사용하지 않는 가용 예약 공간에 대하여 사용자 데이터 영역에서 사용할 수 있게 관리함으로써, 저장 공간을 효율적으로 사용할 수 있다.An electronic device according to various embodiments of the present disclosure includes a volume manager, whereby the volume manager attaches or detachs an available reserved space to a file system and/or volume corresponding to a user data area. You can resize file systems and/or volumes. Accordingly, it is possible to efficiently use the storage space by managing the available reserved space that is not in use after the system software update so that it can be used in the user data area.
본 문서에서 이루고자 하는 기술적 과제는 이상에서 언급한 기술적 과제로 제한되지 않으며, 언급되지 않은 또 다른 기술적 과제들은 아래의 기재로부터 본 발명이 속하는 기술 분야에서 통상의 지식을 가진 자에게 명확하게 이해될 수 있을 것이다.The technical problem to be achieved in this document is not limited to the technical problem mentioned above, and other technical problems not mentioned can be clearly understood by those skilled in the art from the description below. There will be.
본 문서에 개시된 다양한 실시예에 따른 전자 장치는, 제 1 파티션, 제 2 파티션 및 제 3 파티션 을 포함하는 저장 장치 및 프로세서를 포함하고, 상기 프로세서는 상기 제 2 파티션을 제 1 볼륨으로, 상기 제 3 파티션을 제 2 볼륨을 구성하고, 상기 제 2 볼륨을 상기 파일 시스템에 어태치(attach)하거나 디태치(detach)하여 상기 저장 장치의 저장 공간을 관리할 수 있다.An electronic device according to various embodiments disclosed in this document includes a storage device including a first partition, a second partition, and a third partition, and a processor, wherein the processor converts the second partition into a first volume, 3 partitions constitute a second volume, and the storage space of the storage device may be managed by attaching or detaching the second volume to the file system.
본 문서에 개시된 다양한 실시예에 따른 전자 장치의 동작 방법은, 제 1 파티션, 제 2 파티션 및 제 3 파티션을 포함하는 저장 장치를 관리하는 전자 장치의 동작 방법이고, 상기 제 1 파티션을 관리하는 제 1 파일 시스템을 구성하는 동작, 상기 제 2 파티션을 제 1 볼륨으로, 상기 제 3 파티션을 제 2 볼륨으로 제 2 파일 시스템을 구성하는 동작, 및 상기 제 2 볼륨을 상기 제 2 파일 시스템에 어태치(attach)하거나 디태치(detach)하는 동작을 포함할 수 있다.An operating method of an electronic device according to various embodiments disclosed in this document is an operating method of an electronic device for managing a storage device including a first partition, a second partition, and a third partition, and a method for managing the first partition. An operation of constructing a first file system, an operation of constructing a second file system using the second partition as a first volume and the third partition as a second volume, and attaching the second volume to the second file system It may include an operation to attach or detach.
다양한 실시예에 따르면, 전자 장치는 저장 공간을 효율적으로 사용할 수 있다.According to various embodiments, an electronic device may efficiently use storage space.
다양한 실시예에 따르면, 전자 장치는 시스템 소프트웨어 업데이트를 위한 임시 저장 공간의 낭비를 감소시킬 수 있다.According to various embodiments, the electronic device can reduce the waste of temporary storage space for updating system software.
다양한 실시예에 따르면, 전자 장치는 시스템 소프트웨어 업데이트를 위한 임시 저장 공간을 활용하여 사용자 데이터 영역을 구성하여 사용자 데이터를 저장할 수 있다.According to various embodiments, the electronic device may configure a user data area by utilizing a temporary storage space for system software update to store user data.
다양한 실시예에 따르면, 전자 장치는 시스템 소프트웨어 업데이트 이후 남은 임시 저장 공간을 사용자 데이터를 저장하는 사용자 데이터 영역으로 활용할 수 있다.According to various embodiments, the electronic device may utilize the temporary storage space remaining after system software update as a user data area for storing user data.
다양한 실시예에 따르면, 전자 장치는 시스템 소프트웨어 업데이트 전, 임시 저장 공간이 없음에 대응하여, 볼륨 내의 데이터를 이동시켜 시스템 소프트웨어 업데이트를 위한 임시 저장 공간을 확보할 수 있다.According to various embodiments, the electronic device may secure a temporary storage space for system software update by moving data in a volume in response to the absence of a temporary storage space before a system software update.
본 문서의 다양한 실시에에서 얻을 수 있는 효과는 이상에서 언급한 효과들로 제한되지 않으며, 언급하지 않은 또 다른 효과들은 아래의 기재로부터 본 개시가 속하는 기술 분야에서 통상의 지식을 가진 자에게 명확하게 이해될 수 있을 것이다.Effects obtainable in various embodiments of this document are not limited to the effects mentioned above, and other effects not mentioned will become clear to those skilled in the art from the description below. You will be able to understand.
도면의 설명과 관련하여, 동일 또는 유사한 구성 요소에 대해서는 동일 또는 유사한 참조 부호가 사용될 수 있다.
도 1은, 다양한 실시예들에 따른, 네트워크 환경 내의 전자 장치의 블럭도이다.
도 2는, 다양한 실시예에 따른 저장 공간의 물리 관점 및 논리 관점에서의 블록도이다.
도 3은, 다양한 실시예에 따른 볼륨볼륨을 관리하는 방법을 도시한 흐름도이다.
도 4a, 4b 및 4c는 파일 시스템에 포함된 볼륨 매니저가, 시스템 소프트웨어 업데이트에 대응하여 볼륨을 관리하는 방법에 대응하는 실시예를 도시한 도면이다.
도 5a, 5b 및 5c는 파일 시스템과 분리된 볼륨 매니저가, 시스템 소프트웨어 업데이트에 대응하여 볼륨을 관리하는 방법에 대응하는 실시예를 도시한 도면이다.
도 6은, 다양한 실시예에 따른 볼륨 매니저가, 시스템 소프트웨어 업데이트에 대응하여 볼륨을 관리하는 방법을 도시한 도면이다.In connection with the description of the drawings, the same or similar reference numerals may be used for the same or similar elements.
1 is a block diagram of an electronic device in a network environment, according to various embodiments.
2 is a block diagram from a physical and logical perspective of a storage space according to various embodiments.
3 is a flowchart illustrating a method of managing a volume volume according to various embodiments.
4A, 4B and 4C are diagrams illustrating an embodiment corresponding to a method of managing a volume in response to a system software update by a volume manager included in a file system.
5A, 5B and 5C are diagrams illustrating an embodiment corresponding to a method in which a volume manager separated from a file system manages a volume in response to a system software update.
6 is a diagram illustrating a method for a volume manager to manage a volume in response to a system software update, according to various embodiments.
도 1은, 다양한 실시예들에 따른, 네트워크 환경(100) 내의 전자 장치(101)의 블록도이다. 도 1을 참조하면, 네트워크 환경(100)에서 전자 장치(101)는 제 1 네트워크(198)(예: 근거리 무선 통신 네트워크)를 통하여 전자 장치(102)와 통신하거나, 또는 제 2 네트워크(199)(예: 원거리 무선 통신 네트워크)를 통하여 전자 장치(104) 또는 서버(108) 중 적어도 하나와 통신할 수 있다. 일실시예에 따르면, 전자 장치(101)는 서버(108)를 통하여 전자 장치(104)와 통신할 수 있다. 일실시예에 따르면, 전자 장치(101)는 프로세서(120), 메모리(130), 입력 모듈(150), 음향 출력 모듈(155), 디스플레이 모듈(160), 오디오 모듈(170), 센서 모듈(176), 인터페이스(177), 연결 단자(178), 햅틱 모듈(179), 카메라 모듈(180), 전력 관리 모듈(188), 배터리(189), 통신 모듈(190), 가입자 식별 모듈(196), 또는 안테나 모듈(197)을 포함할 수 있다. 어떤 실시예에서는, 전자 장치(101)에는, 이 구성요소들 중 적어도 하나(예: 연결 단자(178))가 생략되거나, 하나 이상의 다른 구성요소가 추가될 수 있다. 어떤 실시예에서는, 이 구성요소들 중 일부들(예: 센서 모듈(176), 카메라 모듈(180), 또는 안테나 모듈(197))은 하나의 구성요소(예: 디스플레이 모듈(160))로 통합될 수 있다.1 is a block diagram of an
프로세서(120)는, 예를 들면, 소프트웨어(예: 프로그램(140))를 실행하여 프로세서(120)에 연결된 전자 장치(101)의 적어도 하나의 다른 구성요소(예: 하드웨어 또는 소프트웨어 구성요소)를 제어할 수 있고, 다양한 데이터 처리 또는 연산을 수행할 수 있다. 일실시예에 따르면, 데이터 처리 또는 연산의 적어도 일부로서, 프로세서(120)는 다른 구성요소(예: 센서 모듈(176) 또는 통신 모듈(190))로부터 수신된 명령 또는 데이터를 휘발성 메모리(132)에 저장하고, 휘발성 메모리(132)에 저장된 명령 또는 데이터를 처리하고, 결과 데이터를 비휘발성 메모리(134)에 저장할 수 있다. 일실시예에 따르면, 프로세서(120)는 메인 프로세서(121)(예: 중앙 처리 장치 또는 어플리케이션 프로세서) 또는 이와는 독립적으로 또는 함께 운영 가능한 보조 프로세서(123)(예: 그래픽 처리 장치, 신경망 처리 장치(NPU: neural processing unit), 이미지 시그널 프로세서, 센서 허브 프로세서, 또는 커뮤니케이션 프로세서)를 포함할 수 있다. 예를 들어, 전자 장치(101)가 메인 프로세서(121) 및 보조 프로세서(123)를 포함하는 경우, 보조 프로세서(123)는 메인 프로세서(121)보다 저전력을 사용하거나, 지정된 기능에 특화되도록 설정될 수 있다. 보조 프로세서(123)는 메인 프로세서(121)와 별개로, 또는 그 일부로서 구현될 수 있다.The
보조 프로세서(123)는, 예를 들면, 메인 프로세서(121)가 인액티브(예: 슬립) 상태에 있는 동안 메인 프로세서(121)를 대신하여, 또는 메인 프로세서(121)가 액티브(예: 어플리케이션 실행) 상태에 있는 동안 메인 프로세서(121)와 함께, 전자 장치(101)의 구성요소들 중 적어도 하나의 구성요소(예: 디스플레이 모듈(160), 센서 모듈(176), 또는 통신 모듈(190))와 관련된 기능 또는 상태들의 적어도 일부를 제어할 수 있다. 일실시예에 따르면, 보조 프로세서(123)(예: 이미지 시그널 프로세서 또는 커뮤니케이션 프로세서)는 기능적으로 관련 있는 다른 구성요소(예: 카메라 모듈(180) 또는 통신 모듈(190))의 일부로서 구현될 수 있다. 일실시예에 따르면, 보조 프로세서(123)(예: 신경망 처리 장치)는 인공지능 모델의 처리에 특화된 하드웨어 구조를 포함할 수 있다. 인공지능 모델은 기계 학습을 통해 생성될 수 있다. 이러한 학습은, 예를 들어, 인공지능 모델이 수행되는 전자 장치(101) 자체에서 수행될 수 있고, 별도의 서버(예: 서버(108))를 통해 수행될 수도 있다. 학습 알고리즘은, 예를 들어, 지도형 학습(supervised learning), 비지도형 학습(unsupervised learning), 준지도형 학습(semi-supervised learning) 또는 강화 학습(reinforcement learning)을 포함할 수 있으나, 전술한 예에 한정되지 않는다. 인공지능 모델은, 복수의 인공 신경망 레이어들을 포함할 수 있다. 인공 신경망은 심층 신경망(DNN: deep neural network), CNN(convolutional neural network), RNN(recurrent neural network), RBM(restricted boltzmann machine), DBN(deep belief network), BRDNN(bidirectional recurrent deep neural network), 심층 Q-네트워크(deep Q-networks) 또는 상기 중 둘 이상의 조합 중 하나일 수 있으나, 전술한 예에 한정되지 않는다. 인공지능 모델은 하드웨어 구조 이외에, 추가적으로 또는 대체적으로, 소프트웨어 구조를 포함할 수 있다. The
메모리(130)는, 전자 장치(101)의 적어도 하나의 구성요소(예: 프로세서(120) 또는 센서 모듈(176))에 의해 사용되는 다양한 데이터를 저장할 수 있다. 데이터는, 예를 들어, 소프트웨어(예: 프로그램(140)) 및, 이와 관련된 명령에 대한 입력 데이터 또는 출력 데이터를 포함할 수 있다. 메모리(130)는, 휘발성 메모리(132) 또는 비휘발성 메모리(134)를 포함할 수 있다. The
프로그램(140)은 메모리(130)에 소프트웨어로서 저장될 수 있으며, 예를 들면, 운영 체제(142), 미들 웨어(144) 또는 어플리케이션(146)을 포함할 수 있다. The
입력 모듈(150)은, 전자 장치(101)의 구성요소(예: 프로세서(120))에 사용될 명령 또는 데이터를 전자 장치(101)의 외부(예: 사용자)로부터 수신할 수 있다. 입력 모듈(150)은, 예를 들면, 마이크, 마우스, 키보드, 키(예: 버튼), 또는 디지털 펜(예: 스타일러스 펜)을 포함할 수 있다. The
음향 출력 모듈(155)은 음향 신호를 전자 장치(101)의 외부로 출력할 수 있다. 음향 출력 모듈(155)은, 예를 들면, 스피커 또는 리시버를 포함할 수 있다. 스피커는 멀티미디어 재생 또는 녹음 재생과 같이 일반적인 용도로 사용될 수 있다. 리시버는 착신 전화를 수신하기 위해 사용될 수 있다. 일실시예에 따르면, 리시버는 스피커와 별개로, 또는 그 일부로서 구현될 수 있다.The
디스플레이 모듈(160)은 전자 장치(101)의 외부(예: 사용자)로 정보를 시각적으로 제공할 수 있다. 디스플레이 모듈(160)은, 예를 들면, 디스플레이, 홀로그램 장치, 또는 프로젝터 및 해당 장치를 제어하기 위한 제어 회로를 포함할 수 있다. 일실시예에 따르면, 디스플레이 모듈(160)은 터치를 감지하도록 설정된 터치 센서, 또는 상기 터치에 의해 발생되는 힘의 세기를 측정하도록 설정된 압력 센서를 포함할 수 있다. The
오디오 모듈(170)은 소리를 전기 신호로 변환시키거나, 반대로 전기 신호를 소리로 변환시킬 수 있다. 일실시예에 따르면, 오디오 모듈(170)은, 입력 모듈(150)을 통해 소리를 획득하거나, 음향 출력 모듈(155), 또는 전자 장치(101)와 직접 또는 무선으로 연결된 외부 전자 장치(예: 전자 장치(102))(예: 스피커 또는 헤드폰)를 통해 소리를 출력할 수 있다.The
센서 모듈(176)은 전자 장치(101)의 작동 상태(예: 전력 또는 온도), 또는 외부의 환경 상태(예: 사용자 상태)를 감지하고, 감지된 상태에 대응하는 전기 신호 또는 데이터 값을 생성할 수 있다. 일실시예에 따르면, 센서 모듈(176)은, 예를 들면, 제스처 센서, 자이로 센서, 기압 센서, 마그네틱 센서, 가속도 센서, 그립 센서, 근접 센서, 컬러 센서, IR(infrared) 센서, 생체 센서, 온도 센서, 습도 센서, 또는 조도 센서를 포함할 수 있다. The
인터페이스(177)는 전자 장치(101)가 외부 전자 장치(예: 전자 장치(102))와 직접 또는 무선으로 연결되기 위해 사용될 수 있는 하나 이상의 지정된 프로토콜들을 지원할 수 있다. 일실시예에 따르면, 인터페이스(177)는, 예를 들면, HDMI(high definition multimedia interface), USB(universal serial bus) 인터페이스, SD카드 인터페이스, 또는 오디오 인터페이스를 포함할 수 있다.The
연결 단자(178)는, 그를 통해서 전자 장치(101)가 외부 전자 장치(예: 전자 장치(102))와 물리적으로 연결될 수 있는 커넥터를 포함할 수 있다. 일실시예에 따르면, 연결 단자(178)는, 예를 들면, HDMI 커넥터, USB 커넥터, SD 카드 커넥터, 또는 오디오 커넥터(예: 헤드폰 커넥터)를 포함할 수 있다.The
햅틱 모듈(179)은 전기적 신호를 사용자가 촉각 또는 운동 감각을 통해서 인지할 수 있는 기계적인 자극(예: 진동 또는 움직임) 또는 전기적인 자극으로 변환할 수 있다. 일실시예에 따르면, 햅틱 모듈(179)은, 예를 들면, 모터, 압전 소자, 또는 전기 자극 장치를 포함할 수 있다.The
카메라 모듈(180)은 정지 영상 및 동영상을 촬영할 수 있다. 일실시예에 따르면, 카메라 모듈(180)은 하나 이상의 렌즈들, 이미지 센서들, 이미지 시그널 프로세서들, 또는 플래시들을 포함할 수 있다.The
전력 관리 모듈(188)은 전자 장치(101)에 공급되는 전력을 관리할 수 있다. 일실시예에 따르면, 전력 관리 모듈(188)은, 예를 들면, PMIC(power management integrated circuit)의 적어도 일부로서 구현될 수 있다.The
배터리(189)는 전자 장치(101)의 적어도 하나의 구성요소에 전력을 공급할 수 있다. 일실시예에 따르면, 배터리(189)는, 예를 들면, 재충전 불가능한 1차 전지, 재충전 가능한 2차 전지 또는 연료 전지를 포함할 수 있다.The
통신 모듈(190)은 전자 장치(101)와 외부 전자 장치(예: 전자 장치(102), 전자 장치(104), 또는 서버(108)) 간의 직접(예: 유선) 통신 채널 또는 무선 통신 채널의 수립, 및 수립된 통신 채널을 통한 통신 수행을 지원할 수 있다. 통신 모듈(190)은 프로세서(120)(예: 어플리케이션 프로세서)와 독립적으로 운영되고, 직접(예: 유선) 통신 또는 무선 통신을 지원하는 하나 이상의 커뮤니케이션 프로세서를 포함할 수 있다. 일실시예에 따르면, 통신 모듈(190)은 무선 통신 모듈(192)(예: 셀룰러 통신 모듈, 근거리 무선 통신 모듈, 또는 GNSS(global navigation satellite system) 통신 모듈) 또는 유선 통신 모듈(194)(예: LAN(local area network) 통신 모듈, 또는 전력선 통신 모듈)을 포함할 수 있다. 이들 통신 모듈 중 해당하는 통신 모듈은 제 1 네트워크(198)(예: 블루투스, WiFi(wireless fidelity) direct 또는 IrDA(infrared data association)와 같은 근거리 통신 네트워크) 또는 제 2 네트워크(199)(예: 레거시 셀룰러 네트워크, 5G 네트워크, 차세대 통신 네트워크, 인터넷, 또는 컴퓨터 네트워크(예: LAN 또는 WAN)와 같은 원거리 통신 네트워크)를 통하여 외부의 전자 장치(104)와 통신할 수 있다. 이런 여러 종류의 통신 모듈들은 하나의 구성요소(예: 단일 칩)로 통합되거나, 또는 서로 별도의 복수의 구성요소들(예: 복수 칩들)로 구현될 수 있다. 무선 통신 모듈(192)은 가입자 식별 모듈(196)에 저장된 가입자 정보(예: 국제 모바일 가입자 식별자(IMSI))를 이용하여 제 1 네트워크(198) 또는 제 2 네트워크(199)와 같은 통신 네트워크 내에서 전자 장치(101)를 확인 또는 인증할 수 있다. The
무선 통신 모듈(192)은 4G 네트워크 이후의 5G 네트워크 및 차세대 통신 기술, 예를 들어, NR 접속 기술(new radio access technology)을 지원할 수 있다. NR 접속 기술은 고용량 데이터의 고속 전송(eMBB(enhanced mobile broadband)), 단말 전력 최소화와 다수 단말의 접속(mMTC(massive machine type communications)), 또는 고신뢰도와 저지연(URLLC(ultra-reliable and low-latency communications))을 지원할 수 있다. 무선 통신 모듈(192)은, 예를 들어, 높은 데이터 전송률 달성을 위해, 고주파 대역(예: mmWave 대역)을 지원할 수 있다. 무선 통신 모듈(192)은 고주파 대역에서의 성능 확보를 위한 다양한 기술들, 예를 들어, 빔포밍(beamforming), 거대 배열 다중 입출력(massive MIMO(multiple-input and multiple-output)), 전차원 다중입출력(FD-MIMO: full dimensional MIMO), 어레이 안테나(array antenna), 아날로그 빔형성(analog beam-forming), 또는 대규모 안테나(large scale antenna)와 같은 기술들을 지원할 수 있다. 무선 통신 모듈(192)은 전자 장치(101), 외부 전자 장치(예: 전자 장치(104)) 또는 네트워크 시스템(예: 제 2 네트워크(199))에 규정되는 다양한 요구사항을 지원할 수 있다. 일실시예에 따르면, 무선 통신 모듈(192)은 eMBB 실현을 위한 Peak data rate(예: 20Gbps 이상), mMTC 실현을 위한 손실 Coverage(예: 164dB 이하), 또는 URLLC 실현을 위한 U-plane latency(예: 다운링크(DL) 및 업링크(UL) 각각 0.5ms 이하, 또는 라운드 트립 1ms 이하)를 지원할 수 있다.The
안테나 모듈(197)은 신호 또는 전력을 외부(예: 외부의 전자 장치)로 송신하거나 외부로부터 수신할 수 있다. 일실시예에 따르면, 안테나 모듈(197)은 서브스트레이트(예: PCB) 위에 형성된 도전체 또는 도전성 패턴으로 이루어진 방사체를 포함하는 안테나를 포함할 수 있다. 일실시예에 따르면, 안테나 모듈(197)은 복수의 안테나들(예: 어레이 안테나)을 포함할 수 있다. 이런 경우, 제 1 네트워크(198) 또는 제 2 네트워크(199)와 같은 통신 네트워크에서 사용되는 통신 방식에 적합한 적어도 하나의 안테나가, 예를 들면, 통신 모듈(190)에 의하여 상기 복수의 안테나들로부터 선택될 수 있다. 신호 또는 전력은 상기 선택된 적어도 하나의 안테나를 통하여 통신 모듈(190)과 외부의 전자 장치 간에 송신되거나 수신될 수 있다. 어떤 실시예에 따르면, 방사체 이외에 다른 부품(예: RFIC(radio frequency integrated circuit))이 추가로 안테나 모듈(197)의 일부로 형성될 수 있다.
The
다양한 실시예에 따르면, 안테나 모듈(197)은 mmWave 안테나 모듈을 형성할 수 있다. 일실시예에 따르면, mmWave 안테나 모듈은 인쇄 회로 기판, 상기 인쇄 회로 기판의 제 1 면(예: 아래 면)에 또는 그에 인접하여 배치되고 지정된 고주파 대역(예: mmWave 대역)을 지원할 수 있는 RFIC, 및 상기 인쇄 회로 기판의 제 2 면(예: 윗 면 또는 측 면)에 또는 그에 인접하여 배치되고 상기 지정된 고주파 대역의 신호를 송신 또는 수신할 수 있는 복수의 안테나들(예: 어레이 안테나)을 포함할 수 있다.According to various embodiments, the
상기 구성요소들 중 적어도 일부는 주변 기기들간 통신 방식(예: 버스, GPIO(general purpose input and output), SPI(serial peripheral interface), 또는 MIPI(mobile industry processor interface))을 통해 서로 연결되고 신호(예: 명령 또는 데이터)를 상호간에 교환할 수 있다.At least some of the components are connected to each other through a communication method between peripheral devices (eg, a bus, general purpose input and output (GPIO), serial peripheral interface (SPI), or mobile industry processor interface (MIPI)) and signal ( e.g. commands or data) can be exchanged with each other.
일실시예에 따르면, 명령 또는 데이터는 제 2 네트워크(199)에 연결된 서버(108)를 통해서 전자 장치(101)와 외부의 전자 장치(104)간에 송신 또는 수신될 수 있다. 외부의 전자 장치(102, 또는 104) 각각은 전자 장치(101)와 동일한 또는 다른 종류의 장치일 수 있다. 일실시예에 따르면, 전자 장치(101)에서 실행되는 동작들의 전부 또는 일부는 외부의 전자 장치들(102, 104, 또는 108) 중 하나 이상의 외부의 전자 장치들에서 실행될 수 있다. 예를 들면, 전자 장치(101)가 어떤 기능이나 서비스를 자동으로, 또는 사용자 또는 다른 장치로부터의 요청에 반응하여 수행해야 할 경우에, 전자 장치(101)는 기능 또는 서비스를 자체적으로 실행시키는 대신에 또는 추가적으로, 하나 이상의 외부의 전자 장치들에게 그 기능 또는 그 서비스의 적어도 일부를 수행하라고 요청할 수 있다. 상기 요청을 수신한 하나 이상의 외부의 전자 장치들은 요청된 기능 또는 서비스의 적어도 일부, 또는 상기 요청과 관련된 추가 기능 또는 서비스를 실행하고, 그 실행의 결과를 전자 장치(101)로 전달할 수 있다. 전자 장치(101)는 상기 결과를, 그대로 또는 추가적으로 처리하여, 상기 요청에 대한 응답의 적어도 일부로서 제공할 수 있다. 이를 위하여, 예를 들면, 클라우드 컴퓨팅, 분산 컴퓨팅, 모바일 에지 컴퓨팅(MEC: mobile edge computing), 또는 클라이언트-서버 컴퓨팅 기술이 이용될 수 있다. 전자 장치(101)는, 예를 들어, 분산 컴퓨팅 또는 모바일 에지 컴퓨팅을 이용하여 초저지연 서비스를 제공할 수 있다. 다른 실시예에 있어서, 외부의 전자 장치(104)는 IoT(internet of things) 기기를 포함할 수 있다. 서버(108)는 기계 학습 및/또는 신경망을 이용한 지능형 서버일 수 있다. 일실시예에 따르면, 외부의 전자 장치(104) 또는 서버(108)는 제 2 네트워크(199) 내에 포함될 수 있다. 전자 장치(101)는 5G 통신 기술 및 IoT 관련 기술을 기반으로 지능형 서비스(예: 스마트 홈, 스마트 시티, 스마트 카, 또는 헬스 케어)에 적용될 수 있다. According to an embodiment, commands or data may be transmitted or received between the
도 2는, 다양한 실시예에 따른 저장 장치의 저장 공간의 물리 관점 및 논리 관점에서의 블록도이다.2 is a physical and logical block diagram of a storage space of a storage device according to various embodiments.
도 2를 참조하면, 다양한 실시예에 따른 저장 장치는 비휘발성 메모리(예 : 도 1의 비휘발성메모리(134))를 포함할 수 있다. 예를 들어, 저장 장치(예 : 도 1의 메모리(130))는 낸드 플래시 메모리 또는 낸드 플래시 메모리를 기반으로 하는 저장장치(예: SSD, UFS, eMMC) 일 수 있다.Referring to FIG. 2 , a storage device according to various embodiments may include a non-volatile memory (eg, the
다양한 실시예에 따르면, 저장 장치는 피지컬 파티션(physical partition)에 대응하는 디바이스 파티션(210)을 포함할 수 있다. 디바이스 파티션(210)은 메모리(130)의 물리적인 위치에 대응하는 물리 주소에 기반하여 나누어진 제 1 파티션(211), 제 2 파티션(212) 및/또는 프리 스페이스 세그먼트(213)를 포함할 수 있다.According to various embodiments, a storage device may include a
일 실시예에 따르면, 제 1 파티션(211)은 전자 장치(예: 도 1의 전자 장치(101)) 구동을 위한 실행 파일이 저장되는 시스템 파티션(system partition)일 수 있다. 예를 들어, 제 1 파티션(211)은 시스템 데이터(예 : OS(operating system) 데이터))를 저장할 수 있다.According to an embodiment, the
일 실시예에 따르면, 프리 스페이스 세그먼트(213)는 전자 장치의 소프트웨어 업데이트(예 : FOTA, firmware over-the-air)에 따라 실행 파일이 갱신됨에 대응하여 증가된 용량의 파일을 저장하기 위한 임시 공간(free-space reserve)일 수 있다. 예를 들어, 프리 스페이스 세그먼트(213)는 실행 파일과 같은 시스템 데이터의 저장 공간을 보조하기 위한 임시 공간일 수 있다.According to one embodiment, the
일 실시예예 따르면, 제 2 파티션(212)은 사용자 데이터를 저장하기 위한 사용자 데이터 파티션(user data partition)일 수 있다. 예를 들어, 제 2 파티션(212)은 사용자 데이터(예 : 연락처, 사진, 음악, 어플리케이션)를 저장할 수 있다.According to one embodiment, the
다양한 실시예에 따르면, 저장 장치는 적어도 하나의 파일 시스템을 포함할 수 있다. 파일 시스템은 저장 장치의 제 1 파티션(211), 제 2 파티션(212) 및/또는 프리 스페이스 세그먼트(213)의 공간을 관리할 수 있다. 예를 들어, 전자 장치는 저장 장치의 제 1 파티션(211)에 제 1 파일 시스템(예: 도 4a의 제 1 파일 시스템(410))을, 제 2 파티션(212)에 제 2 파일 시스템(예: 도 4a의 제 2 파일 시스템(420))을 로딩할 수 있다. 파일 시스템은 파티션의 파일 또는 데이터에 관리, 접근, 저장 공간의 할당, 및/또는 데이터 무결성 확인을 수행할 수 있다.According to various embodiments, a storage device may include at least one file system. The file system may manage the space of the
다양한 실시예에 따르면, 볼륨 매니저(250)는 메모리(130)의 물리적인 위치에 대응하는 물리 주소와 매핑된 가상 주소에 기반한 볼륨(220)을 구성할 수 있다. 예를 들어, 볼륨 매니저(250)는 디바이스 파티션(210)의 제 1 파티션(211), 제 2 파티션(212) 및/또는 프리 스페이스 세그먼트(213)에 대응하는 볼륨(220)을 구성하고, 볼륨(220)을 동적으로 관리할 수 있다.According to various embodiments, the
일 실시예에 따르면, 볼륨(220)은 제 1 익스텐트(221) 및/또는 제 2 익스텐트(222)를 포함할 수 있다. 예를 들어, 제 1 익스텐트(221)는 제 2 파티션(212)에 대응될 수 있고, 제 2 익스텐트(222)는 프리 스페이스 세그먼트(213)에 대응될 수 있다. 예를 들어, 볼륨 매니저(250)는 제 2 파티션(212)을 제 1 익스텐트(221)으로 구성할 수 있고, 프리 스페이스 세그먼트(213)를 제 2 익스텐트(222)으로 구성할 수 있다. 다양한 실시예에 따르면, 볼륨 매니저(250)는 파일 시스템에 포함될 수 있다. 일 실시예에 따르면, 볼륨 매니저(250)는 제 2 파일 시스템(420)에 포함되는 구성일 수 있다.According to one embodiment, the
다양한 실시예에 따르면, 볼륨 매니저(250 다양한 실시예에 따르면, 도 2에 도시된 바와 다르게, 볼륨 매니저(250)는 복수의 모듈로 구성될 수 있다.According to various embodiments, the
다양한 실시예에 따르면, 도 2에 도시된 바와 다르게, 볼륨 매니저(250)는 복수개의 볼륨(220)을 생성할 수 있다. 복수개의 볼륨(220) 각각은 파일 시스템(예 : 도 4a의 파일 시스템(420))을 마운트할 수 있다.다양한 실시예에 따른 볼륨 매니저(250)는 소프트웨어 모듈로, 본 발명 전반에 기재된 볼륨 매니저(예 : 도 2의 볼륨 매니저(250))의 동작은, 프로세서(예 : 도 1의 프로세서(120))에 의하여 수행될 수 있다.According to various embodiments, unlike shown in FIG. 2 , the
도 3은, 다양한 실시예에 따른 볼륨을 관리하는 방법을 도시한 흐름도이다.3 is a flowchart illustrating a method of managing a volume according to various embodiments.
도 3에서는 볼륨 매니저(예 : 도 2의 볼륨 매니저(250))의 동작으로 기재되었으나, 볼륨 매니저(250)는 소프트웨어 모듈로, 볼륨 매니저(250)의 각 동작은 프로세서(예 : 도 1의 프로세서(120))에 의하여 수행될 수 있다.도 3을 참조하면, 일 실시예에 따른 볼륨 매니저(예: 도 2의 볼륨 매니저(250))는 제 2 파티션(예 : 도 2의 제 2 파티션(212))을 제 1 익스텐트(예 : 도 2 의 제 1 익스텐트(221))으로, 프리 스페이스 세그먼트(예 : 도 2 의 프리 스페이스 세그먼트(213))를 제 2 익스텐트(예 : 도 2의 제 2 익스텐트(222))로 설정하여 제 2 파일 시스템(예 : 도 4a의 제 2 파일 시스템(420))을 로딩할 수 있다.Although described in FIG. 3 as an operation of a volume manager (eg, the
다양한 실시예에 따르면, 볼륨 매니저(250)는, 동작 310에서, 시스템 소프트웨어 업데이트 요청을 확인할 수 있다.According to various embodiments, the
일 실시예에 따르면, 볼륨 매니저(250)는 시스템 소프트웨어 업데이트 요청을 확인할 수 있다. 시스템 소프트웨어 업데이트에 따라, 제 1 파티션(예 : 도 2의 제 1 파티션(211))에 저장되는 시스템 소프트웨어와 관련된 파일 용량이 증가될 수 있고, 제 1 파티션(211)은 추가적인 저장 공간이 필요할 수 있다. According to one embodiment, the
다양한 실시예에 따르면, 볼륨 매니저(250)는, 동작 320에서, 제 2 익스텐트(222)의 데이터 블록 중 적어도 일부를 제 1 익스텐트(221)으로 이동시킬 수 있다.According to various embodiments, the
일 실시예에 따르면, 볼륨 매니저(250)는, 시스템 소프트웨어 업데이트 수행 전, 제 2 익스텐트(222)에 저장된 파일 데이터 블록의 적어도 일부를 제 1 익스텐트(221)으로 이동시킬 수 있다. 일 실시예에 따르면, 볼륨 매니저(250)는, 제 1 익스텐트(221)에 대응하는 제 2 파티션(212)의 여유 공간을 확보하기 위하여 사용자에게 사용자 데이터의 적어도 일부를 백업 후 삭제하도록 가이드할 수 있다.According to an embodiment, the
다양한 실시예에 따르면, 볼륨 매니저(250)는, 파일 데이터 블록의 적어도 일부가 이동된 제 2 익스텐트(222)에 대하여, 제 2 파일 시스템(420)에서 디태치(detach)할 수 있다. 예를 들어, 볼륨 매니저(250)는 프리 스페이스 세그먼트(213)에 대응하는 제 2 익스텐트(222)를 제 2 파일 시스템(420)의 관리 영역에서 제거하고, 제 2 파일 시스템(420)에서 관리하는 데이터 블록 및/또는 용량이 감소함에 따라 제 2 파일 시스템(420)에 대하여 사이즈를 감소시키는 파일 시스템 리사이즈(fs-resize) 동작을 수행할 수 있다. 제 2 파일 시스템(420)은 제 2 익스텐트(222)에 접근하지 않을 수 있다. 예를 들어, 볼륨 매니저(250)는 제 2 파일 시스템(420)에 대응하는 메타 데이터(214)에 리사이즈된 제 2 파일 시스템(420)의 정보를 저장할 수 있다.According to various embodiments, the
다양한 실시예에 따르면, 볼륨 매니저(250)는, 동작 330에서, 시스템 소프트웨어 업데이트 및 제 1 파티션(211)을 갱신할 수 있다.According to various embodiments, the
다양한 실시예에 따르면, 볼륨 매니저(250)는, 제 2 익스텐트(222)에 할당된 데이터 볼륨의 적어도 일부가 제 1 익스텐트(221)으로 이동됨에 대응하여, 전자 장치(예: 도 1의 전자 장치(101), 도 1의 프로세서(120))가 시스템 소프트웨어 업데이트 동작을 수행하도록 할 수 있다. 예를 들어, 전자 장치는 신규 버전의 시스템 소프트웨어 파일을 서버 및/또는 외부 전자 장치로부터 획득하고, 획득한 신규 버전의 시스템 소프트웨어 파일을 제 1 파티션(211)에 저장할 수 있다. According to various embodiments, the
다양한 실시예에 따르면, 볼륨 매니저(250)는, 전자 장치가 시스템 소프트웨어 업데이트 동작을 수행함에 따라, 제 1 파티션(211)을 갱신할 수 있다. 예를 들어, 볼륨 매니저(250)는, 제 1 파티션(211)에 저장된 시스템 소프트웨어 파일의 용량이 증가함에 대응하여, 제 1 파티션(211)을 관리하는 제 1 파일 시스템(410)에 대하여 사이즈를 증가시키는 파일 시스템 리사이즈(fs-resize) 동작을 수행할 수 있다. 예를 들어, 볼륨 매니저(250)는, 증가된 시스템 소프트웨어 파일 용량에 대응하는 프리 스페이스 세그먼트(213)의 가용 블록(free block)을 제 1 파일 시스템(410)에서 관리하도록 파일 시스템 리사이즈를 수행할 수 있다. 예를 들어, 볼륨 매니저(250)는 제 1 파일 시스템(410)에 대응하는 메타 데이터(214)에 리사이즈된 제 1 파일 시스템(410)의 정보를 저장할 수 있다.According to various embodiments, the
다양한 실시예에 따르면, 볼륨 매니저(250)는, 프리 스페이스 세그먼트(213) 영역을 축소할 수 있다. 예를 들어, 볼륨 매니저(250)는, 제 1 파티션(211)에서 시스템 소프트웨어 업데이트에 사용하고 남은 프리 스페이스 세그먼트(213)의 가용 블록에 대응하도록 프리 스페이스 세그먼트(213) 영역을 재설정할 수 있다. 예를 들어, 볼륨 매니저(250)는, 예를 들어, 볼륨 매니저(250)는, 축소된 프리 스페이스 세그먼트(213) 영역의 시작과 끝 위치와 관련된 정보를 지정된 위치에 저장할 수 있다.According to various embodiments, the
다양한 실시예에 따르면, 볼륨 매니저(250)는, 동작 340에서, 제 2 익스텐트(222)를 재생성할 수 있다.According to various embodiments, the
다양한 실시예에 따르면, 볼륨 매니저(250)는, 시스템 소프트웨어 업데이트 후 남은 프리 스페이스 세그먼트(213) 영역을 제 2 파일 시스템(420)에 어태치(attach)할 수 있다. 예를 들어, 볼륨 매니저(250)는, 시스템 소프트웨어 업데이트 후 남은 프리 스페이스 세그먼트(213)의 가용 블록을 제 2 파일 시스템(420)에서 관리하도록 제 2 파일 시스템(420)에 붙일 수 있다.According to various embodiments, the
일 실시예에 따르면, 볼륨 매니저(250)는, 제 1 파티션(211)에서 시스템 소프트웨어 업데이트에 사용하고 남은 프리 스페이스 세그먼트(213)의 가용 블록에 대응하는 프리 스페이스 세그먼트(213) 영역의 시작과 끝 위치와 관련된 정보에 기반하여 제 2 익스텐트(222)를 생성할 수 있다. 예를 들어, 볼륨 매니저(250)는, 생성한 제 2 익스텐트(222)를 제 2 파일 시스템(420)에 로딩하고, 제 2 파일 시스템(420)을 리사이즈(fs-resize)할 수 있다. 예를 들어, 볼륨 매니저(250)는, 남은 프리 스페이스 세그먼트(213)의 가용 블록을 제 2 파일 시스템(420)에서 관리하도록 파일 시스템 리사이즈를 수행할 수 있다.According to one embodiment, the
도 4a, 4b 및 4c는 파일 시스템에 포함된 볼륨 매니저(250)가, 시스템 소프트웨어 업데이트에 대응하여 볼륨을 관리하는 방법에 대응하는 실시예를 도시한 도면이다.4A, 4B, and 4C are diagrams illustrating an embodiment corresponding to a method of managing a volume in response to a system software update by the
도 4a는, 다양한 실시예에 따른 볼륨 매니저(250)가, 시스템 소프트웨어 업데이트에 대응하여 제 2 익스텐트(222)의 데이터 블록의 적어도 일부를 제 1 익스텐트(221)으로 이동시키는 동작의 실시예를 도시한 도면이다.4A illustrates an operation of moving at least a portion of a data block of a
일 실시예에 따르면, 도 4a는 도 3의 동작 320의 실시예일 수 있다.According to one embodiment, FIG. 4A may be an embodiment of
다양한 실시예에 따르면, 도 4a에 도시된 저장 공간은 프리 스페이스 세그먼트(213)가 지정된 범위 내에서 최대로 확보되어 있는 상태일 수 있다.According to various embodiments, the storage space shown in FIG. 4A may be in a state in which the
다양한 실시예에 따르면, 제 2 파일 시스템(420)은 제 1 익스텐트(221) 및/또는 제 2 익스텐트(222)를 관리하는 볼륨 매니저(250)를 포함할 수 있다. 볼륨 매니저(250)는 제 2 파티션(212)을 제 1 익스텐트(221)으로, 프리 스페이스 세그먼트(213)를 제 2 익스텐트(222)으로 설정하여 제 2 파일 시스템(420)을 로딩할 수 있다.According to various embodiments, the
다양한 실시예에 따르면, 전자 장치는 파일 저장 시 제 1 익스텐트(221)의 모든 데이터 블록이 할당됨에 대응하여, 제 2 익스텐트(222)의 데이터 블록에 할당 받아 파일을 저장할 수 있다.According to various embodiments, when storing a file, the electronic device may receive data blocks of the
다양한 실시예에 따르면, 볼륨 매니저(250)는 시스템 소프트웨어 업데이트 요청을 확인할 수 있다. 시스템 소프트웨어 업데이트에 따라, 제 1 파티션(211)에 저장되는 시스템 소프트웨어와 관련된 파일 용량이 증가될 수 있고, 제 1 파티션(211)은 추가적인 저장 공간이 필요할 수 있다. According to various embodiments, the
다양한 실시예에 따르면, 볼륨 매니저(250)는, 시스템 소프트웨어 업데이트 수행 전, 제 2 익스텐트(222)에 저장된 파일 데이터 블록의 적어도 일부를 제 1 익스텐트(221)으로 이동시킬 수 있다. 일 실시예에 따르면, 볼륨 매니저(250)는, 제 1 익스텐트(221)에 대응하는 제 2 파티션(212)의 여유 공간을 확보하기 위하여 사용자에게 사용자 데이터를 백업 후 삭제하도록 가이드할 수 있다.According to various embodiments, the
다양한 실시예에 따르면, 볼륨 매니저(250)는, 파일 데이터 블록의적어도 일부가 이동된 제 2 익스텐트(222)에 대하여, 제 2 파일 시스템(420)에서 디태치(detach)할 수 있다. 예를 들어, 볼륨 매니저(250)는 프리 스페이스 세그먼트(213)에 대응하는 제 2 익스텐트(222)를 제 2 파일 시스템(420)의 관리 영역에서 제거하고, 제 2 파일 시스템(420)에서 관리하는 데이터 블록 및/또는 용량이 감소함에 따라 제 2 파일 시스템(420)에 대하여 사이즈를 감소시키는 파일 시스템 리사이즈(fs-resize) 동작을 수행할 수 있다. 제 2 파일 시스템(420)은 제 2 익스텐트(222)에 접근하지 않을 수 있다. 예를 들어, 볼륨 매니저(250)는 제 2 파일 시스템(420)에 대응하는 메타 데이터(214)에 리사이즈된 제 2 파일 시스템(420)의 정보를 저장할 수 있다.According to various embodiments, the
도 4b는, 다양한 실시예에 따른 볼륨 매니저(250)가, 시스템 소프트웨어 업데이트 및 제 1 파티션(211)을 갱신하는 동작의 실시예를 도시한 도면이다.4B is a diagram illustrating an example of an operation of updating system software and updating the
일 실시예에 따르면, 도 4b는 도 3의 동작 330의 실시예일 수 있다.According to one embodiment, FIG. 4B may be an embodiment of
다양한 실시예에 따르면, 볼륨 매니저(250)는, 제 2 익스텐트(222)에 할당된 데이터 볼륨의 적어도 일부가 제 1 익스텐트(221)으로 이동됨에 대응하여, 전자 장치가 시스템 소프트웨어 업데이트 동작을 수행하도록 할 수 있다. 예를 들어, 전자 장치는 신규 버전의 시스템 소프트웨어 파일을 서버 및/또는 외부 전자 장치로부터 획득하고, 획득한 신규 버전의 시스템 소프트웨어 파일을 제 1 파티션(211)에 저장할 수 있다. According to various embodiments, the
다양한 실시예에 따르면, 볼륨 매니저(250)는, 전자 장치가 시스템 소프트웨어 업데이트 동작을 수행함에 따라, 제 1 파티션(211)을 갱신할 수 있다. 예를 들어, 볼륨 매니저(250)는, 제 1 파티션(211)에 저장된 시스템 소프트웨어 파일의 용량이 증가함에 대응하여, 제 1 파티션(211)을 관리하는 제 1 파일 시스템(410)에 대하여 사이즈를 증가시키는 파일 시스템 리사이즈(fs-resize) 동작을 수행할 수 있다. 예를 들어, 볼륨 매니저(250)는, 증가된 시스템 소프트웨어 파일 용량에 대응하는 프리 스페이스 세그먼트(213)의 가용 블록(free block, 예 : S4)을 제 1 파일 시스템(410)에서 관리하도록 파일 시스템 리사이즈를 수행할 수 있다. 예를 들어, 볼륨 매니저(250)는 제 1 파일 시스템(410)에 대응하는 메타 데이터(214)에 리사이즈된 제 1 파일 시스템(410)의 정보를 저장할 수 있다.According to various embodiments, the
다양한 실시예에 따르면, 볼륨 매니저(250)는, 프리 스페이스 세그먼트(213) 영역을 축소할 수 있다. 예를 들어, 볼륨 매니저(250)는, 제 1 파티션(211)에서 시스템 소프트웨어 업데이트에 사용하고 남은 프리 스페이스 세그먼트(213)의 가용 블록(S1, S2, S3)에 대응하도록 프리 스페이스 세그먼트(213) 영역을 재설정할 수 있다. 예를 들어, 볼륨 매니저(250)는, 예를 들어, 볼륨 매니저(250)는, 축소된 프리 스페이스 세그먼트(213) 영역의 시작과 끝 위치와 관련된 정보를 지정된 위치에 저장할 수 있다.According to various embodiments, the
도 4c는, 다양한 실시예에 따른 볼륨 매니저(250)가, 제 2 익스텐트(222)를 재생성하는 동작의 실시예를 도시한 도면이다.4C is a diagram illustrating an example of an operation of regenerating the
일 실시예에 따르면, 도 4c는 도 3의 동작 340의 실시예일 수 있다.According to one embodiment, FIG. 4C may be an embodiment of
다양한 실시예에 따르면, 볼륨 매니저(250)는, 시스템 소프트웨어 업데이트 후 남은 프리 스페이스 세그먼트(213) 영역(S1, S2, S3)을 제 2 파일 시스템(420)에 어태치(attach)할 수 있다. 예를 들어, 볼륨 매니저(250)는, 시스템 소프트웨어 업데이트 후 남은 프리 스페이스 세그먼트(213)의 가용 블록(S1, S2, S3)을 제 2 파일 시스템(420)에서 관리하도록 제 2 파일 시스템(420)에 붙일 수 있다.According to various embodiments, the
일 실시예에 따르면, 볼륨 매니저(250)는, 제 1 파티션(211)에서 시스템 소프트웨어 업데이트에 사용하고 남은 프리 스페이스 세그먼트(213)의 가용 블록(S1, S2, S3)에 대응하는 프리 스페이스 세그먼트(213) 영역의 시작과 끝 위치와 관련된 정보에 기반하여 제 2 익스텐트(222)를 생성할 수 있다. 예를 들어, 볼륨 매니저(250)는, 생성한 제 2 익스텐트(222)를 제 2 파일 시스템(420)에 로딩하고, 제 2 파일 시스템(420)을 리사이즈(fs-resize)할 수 있다. 예를 들어, 볼륨 매니저(250)는, 남은 프리 스페이스 세그먼트(213)의 가용 블록(S1, S2, S3)을 제 2 파일 시스템(420)에서 관리하도록 파일 시스템 리사이즈를 수행할 수 있다.According to one embodiment, the
도 5a, 5b 및 5c는 파일 시스템과 분리된 볼륨 매니저(예 : 도 2의볼륨 매니저(250))가, 시스템 소프트웨어 업데이트에 대응하여 볼륨을 관리하는 방법에 대응하는 실시예를 도시한 도면이다.5A, 5B, and 5C are diagrams illustrating an embodiment corresponding to a method of managing a volume in response to a system software update by a volume manager (eg, the
도 5a는, 다양한 실시예에 따른 볼륨 매니저(250)가, 시스템 소프트웨어 업데이트에 대응하여 제 2 익스텐트(222)의 데이터 블록의 적어도 일부를 제 1 익스텐트(221)으로 이동시키는 동작의 실시예를 도시한 도면이다.5A illustrates an operation of moving, by the
일 실시예에 따르면, 도 5a는 도 3의 동작 320의 실시예일 수 있다.According to one embodiment, FIG. 5A may be an embodiment of
다양한 실시예예 따르면, 제 1 논리 파티션(510)은 디바이스 파티션(210)의 제 1 파티션(211)에 매핑되고, 제 2 논리 파티션(520)은 디바이스 파티션(210)의 제 1 파티션(211)에 매핑될 수 있다. 제 1 파일 시스템(410)은 제 1 논리 파티션(510)에 로딩될 수 있고, 제 2 파일 시스템(420)은 제 2 논리 파티션(520)에 로딩될 수 있다.According to various embodiments, the first
다양한 실시예에 따르면, 볼륨 매니저(250)는, 파일 시스템과 분리되고, 논리 파티션 정보(M)에 기반하여 제 1 논리 파티션(510) 및 제 2 논리 파티션(520)을 관리할 수 있다. According to various embodiments, the
다양한 실시예에 따르면, 도 5a에 도시된 저장 공간은 프리 스페이스 세그먼트(213)가 지정된 범위에서 최대로 확보되어 있는 상태일 수 있다. 예를 들어, 도 5a에 도시된 저장 공간은 볼륨 매니저(250)가 프리 스페이스 세그먼트(213)를 제 2 논리 파티션(520)에 어태치(attach)하여 사용 중인 상태일 수 있다.According to various embodiments, the storage space shown in FIG. 5A may be in a state in which the
다양한 실시예에 따르면, 볼륨 매니저(250)는 시스템 소프트웨어 업데이트 요청을 확인할 수 있다. 시스템 소프트웨어 업데이트에 따라, 제 1 파티션(211)에 저장되는 시스템 소프트웨어와 관련된 파일 용량이 증가될 수 있고, 제 1 파티션(211)은 추가적인 저장 공간이 필요할 수 있다. According to various embodiments, the
다양한 실시예에 따르면, 볼륨 매니저(250)는, 시스템 소프트웨어 업데이트 수행 전, 제 2 논리 파티션(520)에 로딩된 제 2 파일 시스템(420)의 크기를 줄이고, 줄어든 제 2 파일 시스템(420)의 크기만큼 제 2 논리 파티션(520)의 크기를 재조정할 수 있다. 예를 들어, 볼륨 매니저(250)는, 시스템 소프트웨어 업데이트 수행 전, 프리 스페이스 세그먼트(213)에 대응하는 제 2 논리 파티션(520) 영역에 저장된 파일 데이터 블록의 적어도 일부를 제 2 파티션(212)에 대응하는 제 2 논리 파티션(520) 영역으로 이동시킬 수 있다. 다양한 실시예에 따르면, 볼륨 매니저(250)는, 파일 데이터 블록의 적어도 일부가 이동된 제 2 논리 파티션(520)에 대하여, 프리 스페이스 세그먼트(213)에 대응하는 영역을 제 2 파일 시스템(420)의 관리 영역에서 제거하고, 제 2 파일 시스템(420)에서 관리하는 데이터 블록 및/또는 용량이 감소함에 따라 제 2 파일 시스템(420)에 대하여 사이즈를 감소시키는 파일 시스템 리사이즈(fs-resize) 동작을 수행할 수 있다. 예를 들어, 볼륨 매니저(250)는 제 2 파일 시스템(420)에 대응하는 메타 데이터(214)에 리사이즈된 제 2 파일 시스템(420)의 정보를 저장할 수 있다.According to various embodiments, the
도 5b는, 다양한 실시예에 따른 볼륨 매니저(250)가, 시스템 소프트웨어 업데이트 및 제 1 논리 파티션(510)을 갱신하는 동작의 실시예를 도시한 도면이다.FIG. 5B is a diagram illustrating an operation of updating system software and updating the first
일 실시예에 따르면, 도 5b는 도 3의 동작 330의 실시예일 수 있다.According to one embodiment, FIG. 5B may be an embodiment of
다양한 실시예에 따르면, 볼륨 매니저(250)는, 제 2 논리 파티션(520)의 크기가 조정됨에 대응하여, 제 1 논리 파티션(510)을 재구성할 수 있다. 예를 들어, 볼륨 매니저(250)는, 사용하지 않게된 프리 스페이스 세그먼트(213)의 가용 블록(S1, S2, S3, S4) 중 적어도 하나(S4)를 제 1 논리 파티션(510) 영역에 어태치(attach)할 수 있다. 예를 들어, 볼륨 매니저(250)는, 제 1 파티션(211)에 저장된 시스템 소프트웨어 파일의 용량이 증가함에 대응하여, 제 1 파티션(211)을 관리하는 제 1 파일 시스템(410)에 대하여 사이즈를 증가시키는 파일 시스템 리사이즈(fs-resize) 동작을 수행할 수 있다. 예를 들어, 볼륨 매니저(250)는, 증가된 시스템 소프트웨어 파일 용량에 대응하는 프리 스페이스 세그먼트(213)의 가용 블록(free block, 예 : S4)을 제 1 파일 시스템(410)에서 관리하도록 파일 시스템 리사이즈를 수행할 수 있다. 예를 들어, 볼륨 매니저(250)는 제 1 파일 시스템(410)에 대응하는 메타 데이터(214)에 리사이즈된 제 1 파일 시스템(410)의 정보를 저장할 수 있다.According to various embodiments, the
다양한 실시예에 따르면, 볼륨 매니저(250)는, 재구성된 제 1 논리 파티션(510)에서 시스템 소프트웨어 업데이트를 수행할 수 있다. 예를 들어, 볼륨 매니저(250)는, 제 1 논리 파티션(510)의 크기가 리사이즈됨에 대응하여, 전자 장치가 시스템 소프트웨어 업데이트 동작을 수행하도록 할 수 있다. 예를 들어, 전자 장치는 신규 버전의 시스템 소프트웨어 파일을 서버 및/또는 외부 전자 장치로부터 획득하고, 획득한 신규 버전의 시스템 소프트웨어 파일을 제 1 논리 파티션(510)에 대응하는 제 1 파티션(211) 및/또는 가용 블록(S4)에 저장할 수 있다. According to various embodiments, the
도 5c는, 다양한 실시예에 따른 볼륨 매니저(250)가, 제 2 논리 파티션(520)을 재구성하는 동작의 실시예를 도시한 도면이다.5C is a diagram illustrating an example of an operation of reconfiguring the second
일 실시예에 따르면, 도 5c는 도 3의 동작 340의 실시예일 수 있다.According to one embodiment, FIG. 5C may be an embodiment of
다양한 실시예에 따르면, 볼륨 매니저(250)는, 시스템 소프트웨어 업데이트 후 남은 프리 스페이스 세그먼트(213) 영역(S1, S2, S3)을 제 2 논리 파티션(520)에 어태치(attach)할 수 있다. 예를 들어, 볼륨 매니저(250)는, 시스템 소프트웨어 업데이트 후 남은 프리 스페이스 세그먼트(213)의 가용 블록(S1, S2, S3)을 제 2 파일 시스템(420)에서 관리하도록 제 2 파일 시스템(420)에 붙일 수 있다. According to various embodiments, the
일 실시예에 따르면, 볼륨 매니저(250)는, 제 2 논리 파티션(520)의 크기를 늘리고, 제 2 논리 파티션(520)에서 구동되는 제 2 파일 시스템(420)의 크기도 제 2 논리 파티션(520)의 크기에 대응되도록 확장하여 사용할 수 있다. 예를 들어, 볼륨 매니저(250)는, 제 2 파일 시스템(420)을 제 2 논리 파티션(520)의 크기에 대응되도록 리사이즈(fs-resize)할 수 있다. 예를 들어, 볼륨 매니저(250)는, 남은 프리 스페이스 세그먼트(213)의 가용 블록(S1, S2, S3)을 제 2 파일 시스템(420)에서 관리하도록 파일 시스템 리사이즈를 수행할 수 있다.According to one embodiment, the
도 6은, 다양한 실시예에 따른 볼륨 매니저가, 시스템 소프트웨어 업데이트에 대응하여 볼륨을 관리하는 방법을 도시한 도면이다.6 is a diagram illustrating a method for a volume manager to manage a volume in response to a system software update, according to various embodiments.
도 6에서는 볼륨 매니저(예 : 도 2의 볼륨 매니저(250))의 동작으로 기재되었으나, 볼륨 매니저(250)는 소프트웨어 모듈로, 볼륨 매니저(250)의 각 동작은 프로세서(예 : 도 1의 프로세서(120))에 의하여 수행될 수 있다.Although described in FIG. 6 as an operation of a volume manager (eg, the
다양한 실시예에 따르면, 볼륨 매니저(250)는, 동작 611에서, 제 2 파일 시스템(예: 도 4a의 제 2 파일 시스템(420))을 로딩할 수 있다.According to various embodiments, the
다양한 실시예에 따르면, 볼륨 매니저(250)는, 동작 612에서, 제 2 파티션(212)을 제 1 익스텐트(예 : 도 2의 제 1 익스텐트(221))으로 구성하여 제 2 파일 시스템(420)에 로딩할 수 있다.According to various embodiments, the
다양한 실시예에 따르면, 볼륨 매니저(250)는, 동작 613에서, 프리 스페이스 세그먼트(예 : 도 2의 프리 스페이스 세그먼트(213))를 제 2 익스텐트(예 : 도 2의 제 2 익스텐트(222))으로 제 2 파일 시스템(420)에 로딩하고, 제 2 파일 시스템(420)을 리사이즈할 수 있다.According to various embodiments, the
다양한 실시예에 따르면, 볼륨 매니저(250)는, 동작 614에서, 제 2 파일 시스템(420) 로딩을 완료할 수 있다.According to various embodiments, the
다양한 실시예에 따르면, 볼륨 매니저(250)는, 동작 615에서, 시스템 소프트웨어 업데이트 요청이 있는지 여부를 확인할 수 있다.According to various embodiments, the
일 실시예에 따르면, 볼륨 매니저(250)는 시스템 소프트웨어 업데이트 요청을 확인할 수 있다. 시스템 소프트웨어 업데이트에 따라, 제 1 파티션(예 : 도 1의 제 1 파티션(211))에 저장되는 시스템 소프트웨어와 관련된 파일 용량이 증가될 수 있고, 제 1 파티션(211)은 추가적인 저장 공간이 필요할 수 있다. According to one embodiment, the
다양한 실시예에 따르면, 볼륨 매니저(250)는, 동작 621에서, 시스템 소프트웨어 업데이트 요청이 있음에 대응하여(예 : 동작 615 - 예), 제 2 익스텐트(222)에 할당된 데이터가 있는지 여부를 확인할 수 있다.According to various embodiments, the
다양한 실시예에 따르면, 볼륨 매니저(250)는, 동작 631에서, 제 2 익스텐트(222)에 할당된 데이터가 있음에 대응하여(예 : 동작 621 - 예), 제 2 익스텐트(222)의 데이터가 제 1 익스텐트(221)으로 이동 가능한지 여부를 확인할 수 있다.According to various embodiments, the
다양한 실시예에 따르면, 볼륨 매니저(250)는, 동작 633에서, 제 2 익스텐트(222)의 데이터가 제 1 익스텐트(221)으로 이동가능하지 않음에 대응하여(예 : 동작 631 - 아니오), 제 1 익스텐트(221)의 공간을 확보할 수 있다.According to various embodiments, the
일 실시예에 따르면, 볼륨 매니저(250)는, 제 1 익스텐트(221)에 대응하는 제 2 파티션(예 : 도 2의 제 2 파티션(212))의 여유 공간을 확보하기 위하여 사용자에게 사용자 데이터를 백업 후 삭제하도록 가이드할 수 있다.According to one embodiment, the
다양한 실시예에 따르면, 볼륨 매니저(250)는, 동작 632에서, 제 2 익스텐트(222)의 데이터가 제 1 익스텐트(221)으로 이동 가능함에 대응하여(예 : 동작 631 - 예), 제 2 익스텐트(222)의 데이터를 제 1 익스텐트(221)으로 이동할 수 있다.According to various embodiments, the
일 실시예에 따르면, 볼륨 매니저(250)는, 시스템 소프트웨어 업데이트 수행 전, 제 2 익스텐트(222)에 저장된 파일 데이터 블록의 적어도 일부를 제 1 익스텐트(221)으로 이동시킬 수 있다. According to an embodiment, the
다양한 실시예에 따르면, 볼륨 매니저(250)는, 동작 622에서, 제 2 익스텐트(222)에 할당된 데이터가 없음에 대응하여(예 : 동작 621 - 아니오), 제 2 익스텐트(222)를 제 2 파일 시스템(420)에서 디태치(detach) 및 제 2 파일 시스템(420)을 리사이즈할 수 있다.According to various embodiments, the
일 실시예에 따르면, 볼륨 매니저(250)는, 파일 데이터 블록의 적어도 일부가 이동된 제 2 익스텐트(222)에 대하여, 제 2 파일 시스템(420)에서 디태치(detach)할 수 있다. 예를 들어, 볼륨 매니저(250)는 프리 스페이스 세그먼트(213)에 대응하는 제 2 익스텐트(222)를 제 2 파일 시스템(420)의 관리 영역에서 제거하고, 제 2 파일 시스템(420)에서 관리하는 데이터 블록 및/또는 용량이 감소함에 따라 제 2 파일 시스템(420)에 대하여 사이즈를 감소시키는 파일 시스템 리사이즈(fs-resize) 동작을 수행할 수 있다. 제 2 파일 시스템(420)은 제 2 익스텐트(222)에 접근하지 않을 수 있다. 예를 들어, 볼륨 매니저(250)는 제 2 파일 시스템(420)에 대응하는 메타 데이터(214)에 리사이즈된 제 2 파일 시스템(420)의 정보를 저장할 수 있다.According to an embodiment, the
다양한 실시예에 따르면, 볼륨 매니저(250)는, 동작 623에서, 전자 장치가 시스템 소프트웨어 업데이트를 수행하도록 할 수 있다.According to various embodiments, the
일 실시예에 따르면, 전자 장치는 신규 버전의 시스템 소프트웨어 파일을 서버 및/또는 외부 전자 장치로부터 획득하고, 획득한 신규 버전의 시스템 소프트웨어 파일을 제 1 파티션(211)에 저장할 수 있다. According to an embodiment, the electronic device may obtain a system software file of a new version from a server and/or an external electronic device, and store the acquired new version of the system software file in the
일 실시예에 따르면, 볼륨 매니저(250)는, 전자 장치가 시스템 소프트웨어 업데이트 동작을 수행함에 따라, 제 1 파티션(211)을 갱신할 수 있다. 예를 들어, 볼륨 매니저(250)는, 제 1 파티션(211)에 저장된 시스템 소프트웨어 파일의 용량이 증가함에 대응하여, 제 1 파티션(211)을 관리하는 제 1 파일 시스템(410)에 대하여 사이즈를 증가시키는 파일 시스템 리사이즈(fs-resize) 동작을 수행할 수 있다. 예를 들어, 볼륨 매니저(250)는, 증가된 시스템 소프트웨어 파일 용량에 대응하는 프리 스페이스 세그먼트(213)의 가용 블록(free block)을 제 1 파일 시스템(410)에서 관리하도록 파일 시스템 리사이즈를 수행할 수 있다. 예를 들어, 볼륨 매니저(250)는 제 1 파일 시스템(410)에 대응하는 메타 데이터(214)에 리사이즈된 제 1 파일 시스템(410)의 정보를 저장할 수 있다.According to an embodiment, the
다양한 실시예에 따르면, 볼륨 매니저(250)는, 동작 624에서, 축소된 프리 스페이스 세그먼트(213) 영역의 시작과 끝 위치와 관련된 정보를 지정된 위치에 저장할 수 있다.According to various embodiments, in
일 실시예에 따르면, 볼륨 매니저(250)는, 프리 스페이스 세그먼트(213) 영역을 축소할 수 있다. 예를 들어, 볼륨 매니저(250)는, 제 1 파티션(211)에서 시스템 소프트웨어 업데이트에 사용하고 남은 프리 스페이스 세그먼트(213)의 가용 블록에 대응하도록 프리 스페이스 세그먼트(213) 영역을 재설정할 수 있다. 예를 들어, 볼륨 매니저(250)는, 예를 들어, 볼륨 매니저(250)는, 축소된 프리 스페이스 세그먼트(213) 영역의 시작과 끝 위치와 관련된 정보를 지정된 위치에 저장할 수 있다.According to one embodiment, the
다양한 실시예에 따르면, 볼륨 매니저(250)는, 동작 624 이후, 동작 612를 재수행할 수 있다.According to various embodiments, the
일 실시예에 따르면, 볼륨 매니저(250)는, 시스템 소프트웨어 업데이트 후 남은 프리 스페이스 세그먼트(213) 영역을 제 2 파일 시스템(420)에 어태치(attach)할 수 있다. 예를 들어, 볼륨 매니저(250)는, 시스템 소프트웨어 업데이트 후 남은 프리 스페이스 세그먼트(213)의 가용 블록을 제 2 파일 시스템(420)에서 관리하도록 제 2 파일 시스템(420)에 붙일 수 있다.According to an embodiment, the
일 실시예에 따르면, 볼륨 매니저(250)는, 제 1 파티션(211)에서 시스템 소프트웨어 업데이트에 사용하고 남은 프리 스페이스 세그먼트(213)의 가용 블록에 대응하는 프리 스페이스 세그먼트(213) 영역의 시작과 끝 위치와 관련된 정보에 기반하여 제 2 익스텐트(222)를 생성할 수 있다. 예를 들어, 볼륨 매니저(250)는, 생성한 제 2 익스텐트(222)를 제 2 파일 시스템(420)에 로딩하고, 제 2 파일 시스템(420)을 리사이즈(fs-resize)할 수 있다. 예를 들어, 볼륨 매니저(250)는, 남은 프리 스페이스 세그먼트(213)의 가용 블록을 제 2 파일 시스템(420)에서 관리하도록 파일 시스템 리사이즈를 수행할 수 있다.According to one embodiment, the
다양한 실시예에 따른 전자 장치는, 제 1 파티션, 제 2 파티션 및 제 3 파티션 을 포함하는 저장 장치 및 프로세서를 포함하고, 상기 프로세서는 상기 제 2 파티션을 제 1 볼륨으로, 상기 제 3 파티션을 제 2 볼륨을 구성하고, 상기 제 2 볼륨을 상기 파일 시스템에 어태치(attach)하거나 디태치(detach)하여 상기 저장 장치의 저장 공간을 관리할 수 있다.An electronic device according to various embodiments includes a storage device including a first partition, a second partition, and a third partition, and a processor, wherein the processor defines the second partition as a first volume and the third partition as a second volume. The storage space of the storage device may be managed by configuring two volumes and attaching or detaching the second volume to the file system.
다양한 실시예에 따른 전자 장치에서, 상기 제 1 파티션은 상기 전자 장치의 구동을 위한 실행 파일이 저장되는 시스템 파티션이고, 상기 제 2 파티션은 사용자 데이터를 저장하기 위한 용자 데이터 파티션이고, 상기 제 3 파티션은 상기 시스템 파티션에 대하여 실행 파일의 저장 공간을 보조하기 위한 임시 공간일 수 있다.In the electronic device according to various embodiments, the first partition is a system partition in which an execution file for driving the electronic device is stored, the second partition is a user data partition for storing user data, and the third partition is may be a temporary space for supplementing the storage space of an executable file with respect to the system partition.
다양한 실시예에 따른 전자 장치에서, 상기 프로세서는 상기 전자 장치의 시스템 소프트웨어 업데이트 요청을 확인하고, 상기 제 2 볼륨에 저장된 데이터를 상기 제 1 볼륨으로 이동시키고, 상기 제 2 볼륨을 상기 파일 시스템에서 디태치(detach)하고, 상기 제 3 파티션에 상기 시스템 소프트웨어 업데이트를 위한 파일을 저장하여 상기 시스템 소프트웨어 업데이트를 수행할 수 있다.In the electronic device according to various embodiments, the processor checks a system software update request of the electronic device, moves data stored in the second volume to the first volume, and deletes the second volume from the file system. The system software update may be performed by detaching and storing a file for the system software update in the third partition.
다양한 실시예에 따른 전자 장치에서, 상기 프로세서는 상기 제 2 볼륨이 디태치된 상기 파일 시스템을 리사이즈(re-size)하고, 상기 파일 시스탬의 메타 데이터 영역에 상기 리사이즈된 파일 시스템과 관련된 정보를 저장할 수 있다.In the electronic device according to various embodiments, the processor may re-size the file system to which the second volume is detached, and store information related to the re-sized file system in a metadata area of the file system. can
다양한 실시예에 따른 전자 장치에서, 상기 프로세서는 상기 제 2 볼륨에 저장된 데이터를 상기 제 1 볼륨으로 이동시키기 전, 상기 제 1 볼륨에 상기 제 2 볼륨에 저장된 데이터를 저장할 공간이 부족함에 대응하여, 상기 제 1 볼륨에 대응하는 상기 제 2 파티션의 여유 공간을 확보하기 위하여 사용자에게 상기 사용자 데이터를 백업 후 삭제하도록 가이드할 수 있다.In the electronic device according to various embodiments, the processor responds to lack of space in the first volume to store the data stored in the second volume before moving the data stored in the second volume to the first volume, In order to secure a free space of the second partition corresponding to the first volume, the user may be guided to back up and then delete the user data.
다양한 실시예에 따른 전자 장치에서, 상기 프로세서는 상기 제 3 파티션에서 상기 시스템 소프트웨어 업데이트를 위한 파일을 저장하고 남은 공간에 대한 영역의 시작과 끝 위치와 관련된 정보를 저장하고, 상기 저장된 정보에 기반하여 상기 제 3 파티션에서 시스템 소프트웨어 업데이트를 위한 파일을 저장하고 남은 공간을 제 2 볼륨으로 재구성하여 상기 파일 시스템에 어태치(attach)할 수 있다.In the electronic device according to various embodiments, the processor stores files for updating the system software in the third partition, stores information related to start and end positions of regions for remaining space, and based on the stored information, A file for system software update is stored in the third partition, and a remaining space may be reconstructed into a second volume and attached to the file system.
다양한 실시예에 따른 전자 장치에서, 상기 프로세서는 파일을 저장할 때, 제 1 볼륨의 모든 데이터 블록이 할당됨에 대응하여, 제 2 볼륨의 데이터 블록에 할당받아 파일을 저장할 수 있다.In an electronic device according to various embodiments of the present disclosure, when storing a file, the processor may store the file by being allocated to data blocks of a second volume in response to all data blocks of a first volume being allocated.
다양한 실시예에 따른 전자 장치에서, 제 1 파티션, 제 2 파티션 및 제 3 파티션을 포함하는 저장 장치 및 프로세서를 포함하고, 상기 프로세서는 상기 제 1 파티션을 관리하는 제 1 파일 시스템을 구성하고, 상기 제 2 파티션을 제 1 볼륨으로, 상기 제 3 파티션을 제 2 볼륨으로 제 2 파일 시스템을 구성하고, 상기 제 2 볼륨을 상기 제 2 파일 시스템에 어태치(attach)하거나 디태치(detach)하여 상기 저장 장치의 저장 공간을 관리할 수 있다.An electronic device according to various embodiments includes a storage device including a first partition, a second partition, and a third partition, and a processor, wherein the processor configures a first file system that manages the first partition; A second file system is configured with the second partition as the first volume and the third partition as the second volume, and attaching or detaching the second volume to the second file system to The storage space of the storage device may be managed.
다양한 실시예에 따른 전자 장치에서, 상기 제 1 파티션은 상기 전자 장치의 구동을 위한 시스템 파일이 저장되는 시스템 파티션이고, 상기 제 2 파티션은 사용자 데이터를 저장하기 위한 사용자 데이터 파티션이고, 상기 제 3 파티션은 상기 시스템 파티션에 대하여 실행 파일의 저장 공간을 보조하기 위한 임시 공간일 수 있다.In the electronic device according to various embodiments, the first partition is a system partition for storing system files for driving the electronic device, the second partition is a user data partition for storing user data, and the third partition is may be a temporary space for supplementing the storage space of an executable file with respect to the system partition.
다양한 실시예에 따른 전자 장치에서, 상기 프로세서는 상기 전자 장치의 시스템 소프트웨어 업데이트 요청을 확인하고, 상기 제 2 볼륨에 저장된 데이터를 상기 제 1 볼륨으로 이동시키고, 상기 제 2 볼륨을 상기 제 2 파일 시스템에서 디태치(detach)하고, 상기 제 3 파티션에 상기 시스템 소프트웨어 업데이트를 위한 파일을 저장하여 상기 시스템 소프트웨어 업데이트를 수행할 수 있다.In the electronic device according to various embodiments, the processor checks a system software update request of the electronic device, moves data stored in the second volume to the first volume, and transfers the second volume to the second file system. The system software update may be performed by detaching from and storing a file for the system software update in the third partition.
다양한 실시예에 따른 전자 장치에서, 상기 프로세서는 상기 제 2 볼륨이 디태치된 상기 제 2 파일 시스템을 리사이즈(re-size)하고, 상기 제 2 파일 시스탬의 메타 데이터 영역에 상기 리사이즈된 제 2 파일 시스템과 관련된 정보를 저장할 수 있다.In the electronic device according to various embodiments, the processor re-sizes the second file system in which the second volume is detached, and stores the resized second file in a metadata area of the second file system. It can store information related to the system.
다양한 실시예에 따른 전자 장치에서, 상기 프로세서는 상기 제 2 볼륨에 저장된 데이터를 상기 제 1 볼륨으로 이동시키기 전, 상기 제 1 볼륨에 상기 제 2 볼륨에 저장된 데이터를 저장할 공간이 부족함에 대응하여, 상기 제 1 볼륨에 대응하는 상기 제 2 파티션의 여유 공간을 확보하기 위하여 사용자에게 상기 사용자 데이터를 백업 후 삭제하도록 가이드할 수 있다.In the electronic device according to various embodiments, the processor responds to lack of space in the first volume to store the data stored in the second volume before moving the data stored in the second volume to the first volume, In order to secure a free space of the second partition corresponding to the first volume, the user may be guided to back up and then delete the user data.
다양한 실시예에 따른 전자 장치에서, 상기 프로세서는 상기 제 3 파티션에서 상기 시스템 소프트웨어 업데이트를 위한 파일을 저장하는 공간만큼 상기 제 1 파일 시스템을 확장할 수 있다.In the electronic device according to various embodiments, the processor may extend the first file system as much as a space for storing a file for updating the system software in the third partition.
다양한 실시예에 따른 전자 장치에서, 상기 프로세서는 상기 제 3 파티션에서 상기 시스템 소프트웨어 업데이트를 위한 파일을 저장하고 남은 공간에 대한 영역의 시작과 끝 위치와 관련된 정보를 지정된 위치에 저장하고, 상기 저장된 정보에 기반하여 상기 제 3 파티션에서 시스템 소프트웨어 업데이트를 위한 파일을 저장하고 남은 공간을 제 2 볼륨으로 재구성하여 상기 제 2 파일 시스템에 어태치(attach)할 수 있다.In the electronic device according to various embodiments of the present disclosure, the processor stores a file for updating the system software in the third partition and stores information related to start and end positions of an area for remaining space in a designated location, and the stored information Based on this, files for system software update can be stored in the third partition, and the remaining space can be reconstructed into a second volume and attached to the second file system.
다양한 실시예에 따른 전자 장치에서, 파일을 저장할 때, 제 1 볼륨의 모든 데이터 블록이 할당됨에 대응하여, 제 2 볼륨의 데이터 블록에 할당받아 파일을 저장할 수 있다.In an electronic device according to various embodiments of the present disclosure, when storing a file, data blocks of a second volume may be allocated to store the file in response to all data blocks of the first volume being allocated.
다양한 실시예에 따른, 제 1 파티션, 제 2 파티션 및 제 3 파티션을 포함하는 저장 장치를 관리하는 전자 장치의 동작 방법은, 상기 제 1 파티션을 관리하는 제 1 파일 시스템을 구성하는 동작, 상기 제 2 파티션을 제 1 볼륨으로, 상기 제 3 파티션을 제 2 볼륨으로 제 2 파일 시스템을 구성하는 동작, 및 상기 제 2 볼륨을 상기 제 2 파일 시스템에 어태치(attach)하거나 디태치(detach)하는 동작을 포함할 수 있다.According to various embodiments, a method of operating an electronic device that manages a storage device including a first partition, a second partition, and a third partition includes configuring a first file system that manages the first partition; Configuring a second file system with two partitions as a first volume and the third partition as a second volume, and attaching or detaching the second volume to the second file system Actions may be included.
다양한 실시예에 따른 전자 장치의 동작 방법에서, 상기 제 1 파티션은 상기 전자 장치의 구동을 위한 시스템 파일이 저장되는 시스템 파티션이고, 상기 제 2 파티션은 사용자 데이터를 저장하기 위한 사용자 데이터 파티션이고, 상기 제 3 파티션은 상기 시스템 파티션에 대하여 실행 파일의 저장 공간을 보조하기 위한 임시 공간일 수 있다.In the operating method of an electronic device according to various embodiments, the first partition is a system partition for storing system files for driving the electronic device, and the second partition is a user data partition for storing user data. The third partition may be a temporary space for supplementing the storage space of an executable file with respect to the system partition.
다양한 실시예에 따른 전자 장치의 동작 방법에서, 상기 전자 장치의 시스템 소프트웨어 업데이트 요청을 확인하는 동작, 상기 제 2 볼륨에 저장된 데이터를 상기 제 1 볼륨으로 이동시키는 동작, 상기 제 2 볼륨을 상기 제 2 파일 시스템에서 디태치(detach)하는 동작 및 상기 제 3 파티션에 상기 시스템 소프트웨어 업데이트를 위한 파일을 저장하여 상기 시스템 소프트웨어 업데이트를 수행하는 동작을 포함할 수 있다.In an operating method of an electronic device according to various embodiments, an operation of checking a system software update request of the electronic device, an operation of moving data stored in the second volume to the first volume, and an operation of moving the second volume to the second volume. An operation of detaching from a file system and an operation of performing the system software update by storing a file for the system software update in the third partition.
다양한 실시예에 따른 전자 장치의 동작 방법에서, 상기 제 2 볼륨이 디태치된 상기 제 2 파일 시스템을 리사이즈(re-size)하는 동작 및 상기 제 2 파일 시스탬의 메타 데이터 영역에 상기 리사이즈된 제 2 파일 시스템과 관련된 정보를 저장하는 동작을 포함할 수 있다.In an operating method of an electronic device according to various embodiments, an operation of re-size the second file system to which the second volume is detached, and the re-sized second file system in a metadata area of the second file system. It may include an operation of storing information related to the file system.
다양한 실시예에 따른 전자 장치의 동작 방법에서, 상기 제 2 볼륨에 저장된 데이터를 상기 제 1 볼륨으로 이동시키는 동작 이전, 상기 제 1 볼륨에 상기 제 2 볼륨에 저장된 데이터를 저장할 공간이 부족함에 대응하여, 상기 제 1 볼륨에 대응하는 상기 제 2 파티션의 여유 공간을 확보하기 위하여 사용자에게 상기 사용자 데이터를 백업 후 삭제하도록 가이드하는 동작을 포함할 수 있다.In the operating method of an electronic device according to various embodiments, before the operation of moving data stored in the second volume to the first volume, in response to insufficient space to store data stored in the second volume in the first volume , guiding the user to backup and then delete the user data in order to secure a free space of the second partition corresponding to the first volume.
다양한 실시예에 따른 전자 장치의 동작 방법에서, 상기 제 3 파티션에서 상기 시스템 소프트웨어 업데이트를 위한 파일을 저장하는 공간만큼 상기 제 1 파일 시스템을 확장하는 동작을 포함할 수 있다.The operating method of the electronic device according to various embodiments of the present disclosure may include extending the first file system as much as a space for storing a file for updating the system software in the third partition.
다양한 실시예에 따른 전자 장치의 동작 방법에서, 상기 제 3 파티션에서 상기 시스템 소프트웨어 업데이트를 위한 파일을 저장하고 남은 공간에 대한 영역의 시작과 끝 위치와 관련된 정보를 지정된 위치에 저장하는 동작 및 상기 저장된 정보에 기반하여 상기 제 3 파티션에서 시스템 소프트웨어 업데이트를 위한 파일을 저장하고 남은 공간을 제 2 볼륨으로 재구성하여 상기 제 2 파일 시스템에 어태치(attach)하는 동작을 포함할 수 있다.In an operating method of an electronic device according to various embodiments, an operation of storing a file for updating the system software in the third partition and storing information related to a start and end position of an area for a remaining space in a designated location; and An operation of storing a file for system software update in the third partition based on the information, reconstructing the remaining space into a second volume, and attaching the file to the second file system.
다양한 실시예에 따른 전자 장치의 동작 방법에서, 파일을 저장할 때, 제 1 볼륨의 모든 데이터 블록이 할당됨에 대응하여, 제 2 볼륨의 데이터 블록에 할당받아 파일을 저장하는 동작을 포함할 수 있다.An operating method of an electronic device according to various embodiments may include, when storing a file, storing the file by being allocated to data blocks of a second volume in response to all data blocks of a first volume being allocated.
본 문서에 개시된 다양한 실시예들에 따른 전자 장치는 다양한 형태의 장치가 될 수 있다. 전자 장치는, 예를 들면, 휴대용 통신 장치(예: 스마트폰), 컴퓨터 장치, 휴대용 멀티미디어 장치, 휴대용 의료 기기, 카메라, 웨어러블 장치, 또는 가전 장치를 포함할 수 있다. 본 문서의 실시예에 따른 전자 장치는 전술한 기기들에 한정되지 않는다.Electronic devices according to various embodiments disclosed in this document may be devices of various types. The electronic device may include, for example, a portable communication device (eg, a smart phone), a computer device, a portable multimedia device, a portable medical device, a camera, a wearable device, or a home appliance. An electronic device according to an embodiment of the present document is not limited to the aforementioned devices.
본 문서의 다양한 실시예들 및 이에 사용된 용어들은 본 문서에 기재된 기술적 특징들을 특정한 실시예들로 한정하려는 것이 아니며, 해당 실시예의 다양한 변경, 균등물, 또는 대체물을 포함하는 것으로 이해되어야 한다. 도면의 설명과 관련하여, 유사한 또는 관련된 구성요소에 대해서는 유사한 참조 부호가 사용될 수 있다. 아이템에 대응하는 명사의 단수 형은 관련된 문맥상 명백하게 다르게 지시하지 않는 한, 상기 아이템 한 개 또는 복수 개를 포함할 수 있다. 본 문서에서, "A 또는 B", "A 및 B 중 적어도 하나", "A 또는 B 중 적어도 하나", "A, B 또는 C", "A, B 및 C 중 적어도 하나", 및 "A, B, 또는 C 중 적어도 하나"와 같은 문구들 각각은 그 문구들 중 해당하는 문구에 함께 나열된 항목들 중 어느 하나, 또는 그들의 모든 가능한 조합을 포함할 수 있다. "제 1", "제 2", 또는 "첫째" 또는 "둘째"와 같은 용어들은 단순히 해당 구성요소를 다른 해당 구성요소와 구분하기 위해 사용될 수 있으며, 해당 구성요소들을 다른 측면(예: 중요성 또는 순서)에서 한정하지 않는다. 어떤(예: 제 1) 구성요소가 다른(예: 제 2) 구성요소에, "기능적으로" 또는 "통신적으로"라는 용어와 함께 또는 이런 용어 없이, "커플드" 또는 "커넥티드"라고 언급된 경우, 그것은 상기 어떤 구성요소가 상기 다른 구성요소에 직접적으로(예: 유선으로), 무선으로, 또는 제 3 구성요소를 통하여 연결될 수 있다는 것을 의미한다.Various embodiments of this document and terms used therein are not intended to limit the technical features described in this document to specific embodiments, but should be understood to include various modifications, equivalents, or substitutes of the embodiments. In connection with the description of the drawings, like reference numbers may be used for like or related elements. The singular form of a noun corresponding to an item may include one item or a plurality of items, unless the relevant context clearly dictates otherwise. In this document, "A or B", "at least one of A and B", "at least one of A or B", "A, B or C", "at least one of A, B and C", and "A Each of the phrases such as "at least one of , B, or C" may include any one of the items listed together in that phrase, or all possible combinations thereof. Terms such as "first", "second", or "first" or "secondary" may simply be used to distinguish a given component from other corresponding components, and may be used to refer to a given component in another aspect (eg, importance or order) is not limited. A (e.g., first) component is said to be “coupled” or “connected” to another (e.g., second) component, with or without the terms “functionally” or “communicatively.” When mentioned, it means that the certain component may be connected to the other component directly (eg by wire), wirelessly, or through a third component.
본 문서의 다양한 실시예들에서 사용된 용어 "모듈"은 하드웨어, 소프트웨어 또는 펌웨어로 구현된 유닛을 포함할 수 있으며, 예를 들면, 로직, 논리 블록, 부품, 또는 회로와 같은 용어와 상호 호환적으로 사용될 수 있다. 모듈은, 일체로 구성된 부품 또는 하나 또는 그 이상의 기능을 수행하는, 상기 부품의 최소 단위 또는 그 일부가 될 수 있다. 예를 들면, 일실시예에 따르면, 모듈은 ASIC(application-specific integrated circuit)의 형태로 구현될 수 있다. The term "module" used in various embodiments of this document may include a unit implemented in hardware, software, or firmware, and is interchangeable with terms such as, for example, logic, logical blocks, parts, or circuits. can be used as A module may be an integrally constructed component or a minimal unit of components or a portion thereof that performs one or more functions. For example, according to one embodiment, the module may be implemented in the form of an application-specific integrated circuit (ASIC).
본 문서의 다양한 실시예들은 기기(machine)(예: 전자 장치(#01)) 의해 읽을 수 있는 저장 매체(storage medium)(예: 내장 메모리(#36) 또는 외장 메모리(#38))에 저장된 하나 이상의 명령어들을 포함하는 소프트웨어(예: 프로그램(#40))로서 구현될 수 있다. 예를 들면, 기기(예: 전자 장치(#01))의 프로세서(예: 프로세서(#20))는, 저장 매체로부터 저장된 하나 이상의 명령어들 중 적어도 하나의 명령을 호출하고, 그것을 실행할 수 있다. 이것은 기기가 상기 호출된 적어도 하나의 명령어에 따라 적어도 하나의 기능을 수행하도록 운영되는 것을 가능하게 한다. 상기 하나 이상의 명령어들은 컴파일러에 의해 생성된 코드 또는 인터프리터에 의해 실행될 수 있는 코드를 포함할 수 있다. 기기로 읽을 수 있는 저장 매체는, 비일시적(non-transitory) 저장 매체의 형태로 제공될 수 있다. 여기서, '비일시적'은 저장 매체가 실재(tangible)하는 장치이고, 신호(signal)(예: 전자기파)를 포함하지 않는다는 것을 의미할 뿐이며, 이 용어는 데이터가 저장 매체에 반영구적으로 저장되는 경우와 임시적으로 저장되는 경우를 구분하지 않는다.Various embodiments of this document are stored in a storage medium (eg, internal memory (#36) or external memory (#38)) readable by a machine (eg, electronic device (#01)). It may be implemented as software (eg, program #40) including one or more instructions. For example, a processor (eg, processor #20) of a device (eg, electronic device #01) may call at least one command among one or more instructions stored from a storage medium and execute it. This enables the device to be operated to perform at least one function according to the at least one command invoked. The one or more instructions may include code generated by a compiler or code executable by an interpreter. The device-readable storage medium may be provided in the form of a non-transitory storage medium. Here, 'non-temporary' only means that the storage medium is a tangible device and does not contain a signal (e.g. electromagnetic wave), and this term refers to the case where data is stored semi-permanently in the storage medium. It does not discriminate when it is temporarily stored.
일실시예에 따르면, 본 문서에 개시된 다양한 실시예들에 따른 방법은 컴퓨터 프로그램 제품(computer program product)에 포함되어 제공될 수 있다. 컴퓨터 프로그램 제품은 상품으로서 판매자 및 구매자 간에 거래될 수 있다. 컴퓨터 프로그램 제품은 기기로 읽을 수 있는 저장 매체(예: compact disc read only memory(CD-ROM))의 형태로 배포되거나, 또는 어플리케이션 스토어(예: 플레이 스토어TM)를 통해 또는 두 개의 사용자 장치들(예: 스마트 폰들) 간에 직접, 온라인으로 배포(예: 다운로드 또는 업로드)될 수 있다. 온라인 배포의 경우에, 컴퓨터 프로그램 제품의 적어도 일부는 제조사의 서버, 어플리케이션 스토어의 서버, 또는 중계 서버의 메모리와 같은 기기로 읽을 수 있는 저장 매체에 적어도 일시 저장되거나, 임시적으로 생성될 수 있다.According to one embodiment, the method according to various embodiments disclosed in this document may be included and provided in a computer program product. Computer program products may be traded between sellers and buyers as commodities. A computer program product is distributed in the form of a device-readable storage medium (e.g. compact disc read only memory (CD-ROM)), or through an application store (e.g. Play Store™) or on two user devices (e.g. It can be distributed (eg downloaded or uploaded) online, directly between smart phones. In the case of online distribution, at least part of the computer program product may be temporarily stored or temporarily created in a device-readable storage medium such as a manufacturer's server, an application store server, or a relay server's memory.
다양한 실시예들에 따르면, 상기 기술한 구성요소들의 각각의 구성요소(예: 모듈 또는 프로그램)는 단수 또는 복수의 개체를 포함할 수 있으며, 복수의 개체 중 일부는 다른 구성요소에 분리 배치될 수도 있다. 다양한 실시예들에 따르면, 전술한 해당 구성요소들 중 하나 이상의 구성요소들 또는 동작들이 생략되거나, 또는 하나 이상의 다른 구성요소들 또는 동작들이 추가될 수 있다. 대체적으로 또는 추가적으로, 복수의 구성요소들(예: 모듈 또는 프로그램)은 하나의 구성요소로 통합될 수 있다. 이런 경우, 통합된 구성요소는 상기 복수의 구성요소들 각각의 구성요소의 하나 이상의 기능들을 상기 통합 이전에 상기 복수의 구성요소들 중 해당 구성요소에 의해 수행되는 것과 동일 또는 유사하게 수행할 수 있다. 다양한 실시예들에 따르면, 모듈, 프로그램 또는 다른 구성요소에 의해 수행되는 동작들은 순차적으로, 병렬적으로, 반복적으로, 또는 휴리스틱하게 실행되거나, 상기 동작들 중 하나 이상이 다른 순서로 실행되거나, 생략되거나, 또는 하나 이상의 다른 동작들이 추가될 수 있다. According to various embodiments, each component (eg, module or program) of the above-described components may include a single object or a plurality of entities, and some of the plurality of entities may be separately disposed in other components. there is. According to various embodiments, one or more components or operations among the aforementioned corresponding components may be omitted, or one or more other components or operations may be added. Alternatively or additionally, a plurality of components (eg modules or programs) may be integrated into a single component. In this case, the integrated component may perform one or more functions of each of the plurality of components identically or similarly to those performed by a corresponding component among the plurality of components prior to the integration. . According to various embodiments, the actions performed by a module, program, or other component are executed sequentially, in parallel, iteratively, or heuristically, or one or more of the actions are executed in a different order, or omitted. or one or more other actions may be added.
Claims (23)
제 1 파티션, 제 2 파티션 및 제 3 파티션을 포함하는 저장 장치; 및
프로세서를 포함하고,
상기 프로세서는
상기 제 2 파티션을 제 1 볼륨으로, 상기 제 3 파티션을 제 2 볼륨을 구성하고,
상기 제 2 볼륨을 상기 파일 시스템에 어태치(attach)하거나 디태치(detach)하여 상기 저장 장치의 저장 공간을 관리하는
전자 장치.
In electronic devices,
a storage device including a first partition, a second partition, and a third partition; and
contains a processor;
The processor
The second partition constitutes a first volume and the third partition constitutes a second volume;
Managing the storage space of the storage device by attaching or detaching the second volume to the file system
electronic device.
상기 제 1 파티션은 상기 전자 장치의 구동을 위한 실행 파일이 저장되는 시스템 파티션이고,
상기 제 2 파티션은 사용자 데이터를 저장하기 위한 사용자 데이터 파티션이고,
상기 제 3 파티션은 상기 시스템 파티션에 대하여 실행 파일의 저장 공간을 보조하기 위한 임시 공간인
전자 장치.
According to claim 1,
The first partition is a system partition in which an executable file for driving the electronic device is stored,
The second partition is a user data partition for storing user data;
The third partition is a temporary space for assisting the storage space of an executable file with respect to the system partition.
electronic device.
상기 프로세서는
상기 전자 장치의 시스템 소프트웨어 업데이트 요청을 확인하고,
상기 제 2 볼륨에 저장된 데이터를 상기 제 1 볼륨으로 이동시키고,
상기 제 2 볼륨을 상기 파일 시스템에서 디태치(detach)하고,
상기 제 3 파티션에 상기 시스템 소프트웨어 업데이트를 위한 파일을 저장하여 상기 시스템 소프트웨어 업데이트를 수행하는
전자 장치.
According to claim 2,
The processor
Checking the system software update request of the electronic device;
Moving data stored in the second volume to the first volume;
detach the second volume from the file system;
The system software update is performed by storing a file for the system software update in the third partition.
electronic device.
상기 프로세서는
상기 제 2 볼륨이 디태치된 상기 파일 시스템을 리사이즈(re-size)하고,
상기 파일 시스탬의 메타 데이터 영역에 상기 리사이즈된 파일 시스템과 관련된 정보를 저장하는
전자 장치.
According to claim 3,
The processor
Re-size the file system to which the second volume is detached;
Storing information related to the resized file system in a metadata area of the file system
electronic device.
상기 프로세서는
상기 제 2 볼륨에 저장된 데이터를 상기 제 1 볼륨으로 이동시키기 전, 상기 제 1 볼륨에 상기 제 2 볼륨에 저장된 데이터를 저장할 공간이 부족함에 대응하여,
상기 제 1 볼륨에 대응하는 상기 제 2 파티션의 여유 공간을 확보하기 위하여 사용자에게 상기 사용자 데이터를 백업 후 삭제하도록 가이드하는
전자 장치.
According to claim 3,
The processor
Before moving the data stored in the second volume to the first volume, in response to insufficient space in the first volume to store the data stored in the second volume,
Guiding the user to back up and then delete the user data in order to secure free space of the second partition corresponding to the first volume
electronic device.
상기 프로세서는
상기 제 3 파티션에서 상기 시스템 소프트웨어 업데이트를 위한 파일을 저장하고 남은 공간에 대한 영역의 시작과 끝 위치와 관련된 정보를 저장하고,
상기 저장된 정보에 기반하여 상기 제 3 파티션에서 시스템 소프트웨어 업데이트를 위한 파일을 저장하고 남은 공간을 제 2 볼륨으로 재구성하여 상기 파일 시스템에 어태치(attach)하는
전자 장치.
According to claim 3,
The processor
Storing files for updating the system software in the third partition and storing information related to start and end positions of regions for remaining space;
Storing a file for system software update in the third partition based on the stored information, reconstructing the remaining space into a second volume, and attaching it to the file system.
electronic device.
상기 프로세서는
파일을 저장할 때, 제 1 볼륨의 모든 데이터 블록이 할당됨에 대응하여, 제 2 볼륨의 데이터 블록에 할당받아 파일을 저장하는
전자 장치.
According to claim 1,
The processor
When storing a file, in response to all data blocks of the first volume being allocated, data blocks of the second volume are allocated and the file is stored.
electronic device.
제 1 파티션, 제 2 파티션 및 제 3 파티션을 포함하는 저장 장치; 및
프로세서를 포함하고,
상기 프로세서는
상기 제 1 파티션을 관리하는 제 1 파일 시스템을 구성하고,
상기 제 2 파티션을 제 1 볼륨으로, 상기 제 3 파티션을 제 2 볼륨으로 제 2 파일 시스템을 구성하고,
상기 제 2 볼륨을 상기 제 2 파일 시스템에 어태치(attach)하거나 디태치(detach)하여 상기 저장 장치의 저장 공간을 관리하는
전자 장치.
In electronic devices,
a storage device including a first partition, a second partition, and a third partition; and
contains a processor;
The processor
Configuring a first file system for managing the first partition;
Constituting a second file system with the second partition as a first volume and the third partition as a second volume;
Managing the storage space of the storage device by attaching or detaching the second volume to the second file system
electronic device.
상기 제 1 파티션은 상기 전자 장치의 구동을 위한 시스템 파일이 저장되는 시스템 파티션이고,
상기 제 2 파티션은 사용자 데이터를 저장하기 위한 사용자 데이터 파티션이고,
상기 제 3 파티션은 상기 시스템 파티션에 대하여 실행 파일의 저장 공간을 보조하기 위한 임시 공간인
전자 장치.
According to claim 8,
The first partition is a system partition in which a system file for driving the electronic device is stored,
The second partition is a user data partition for storing user data;
The third partition is a temporary space for assisting the storage space of an executable file with respect to the system partition.
electronic device.
상기 프로세서는
상기 전자 장치의 시스템 소프트웨어 업데이트 요청을 확인하고,
상기 제 2 볼륨에 저장된 데이터를 상기 제 1 볼륨으로 이동시키고,
상기 제 2 볼륨을 상기 제 2 파일 시스템에서 디태치(detach)하고,
상기 제 3 파티션에 상기 시스템 소프트웨어 업데이트를 위한 파일을 저장하여 상기 시스템 소프트웨어 업데이트를 수행하는
전자 장치.
According to claim 9,
The processor
Checking the system software update request of the electronic device;
Moving data stored in the second volume to the first volume;
detach the second volume from the second file system;
The system software update is performed by storing a file for the system software update in the third partition.
electronic device.
상기 프로세서는
상기 제 2 볼륨이 디태치된 상기 제 2 파일 시스템을 리사이즈(re-size)하고,
상기 제 2 파일 시스탬의 메타 데이터 영역에 상기 리사이즈된 제 2 파일 시스템과 관련된 정보를 저장하는
전자 장치.
According to claim 10,
The processor
Re-size the second file system to which the second volume is detached;
Storing information related to the resized second file system in a meta data area of the second file system
electronic device.
상기 프로세서는
상기 제 2 볼륨에 저장된 데이터를 상기 제 1 볼륨으로 이동시키기 전, 상기 제 1 볼륨에 상기 제 2 볼륨에 저장된 데이터를 저장할 공간이 부족함에 대응하여,
상기 제 1 볼륨에 대응하는 상기 제 2 파티션의 여유 공간을 확보하기 위하여 사용자에게 상기 사용자 데이터를 백업 후 삭제하도록 가이드하는
전자 장치.
According to claim 10,
The processor
Before moving the data stored in the second volume to the first volume, in response to insufficient space in the first volume to store the data stored in the second volume,
Guiding the user to back up and then delete the user data in order to secure free space of the second partition corresponding to the first volume
electronic device.
상기 프로세서는
상기 제 3 파티션에서 상기 시스템 소프트웨어 업데이트를 위한 파일을 저장하는 공간만큼 상기 제 1 파일 시스템을 확장하는
전자 장치.
According to claim 10,
The processor
Expanding the first file system by the space for storing the file for updating the system software in the third partition
electronic device.
상기 프로세서는
상기 제 3 파티션에서 상기 시스템 소프트웨어 업데이트를 위한 파일을 저장하고 남은 공간에 대한 영역의 시작과 끝 위치와 관련된 정보를 지정된 위치에 저장하고,
상기 저장된 정보에 기반하여 상기 제 3 파티션에서 시스템 소프트웨어 업데이트를 위한 파일을 저장하고 남은 공간을 제 2 볼륨으로 재구성하여 상기 제 2 파일 시스템에 어태치(attach)하는
전자 장치.
According to claim 10,
The processor
In the third partition, a file for updating the system software is stored and information related to the start and end positions of an area for the remaining space is stored in a designated location;
Storing a file for system software update in the third partition based on the stored information, reconstructing the remaining space into a second volume, and attaching the file to the second file system.
electronic device.
파일을 저장할 때, 제 1 볼륨의 모든 데이터 블록이 할당됨에 대응하여, 제 2 볼륨의 데이터 블록에 할당받아 파일을 저장하는
전자 장치.
15. The method of claim 14,
When storing a file, in response to all data blocks of the first volume being allocated, data blocks of the second volume are allocated and the file is stored.
electronic device.
상기 제 1 파티션을 관리하는 제 1 파일 시스템을 구성하는 동작;
상기 제 2 파티션을 제 1 볼륨으로, 상기 제 3 파티션을 제 2 볼륨으로 제 2 파일 시스템을 구성하는 동작; 및
상기 제 2 볼륨을 상기 제 2 파일 시스템에 어태치(attach)하거나 디태치(detach)하는 동작을 포함하는
전자 장치의 동작 방법.
A method of operating an electronic device that manages a storage device including a first partition, a second partition, and a third partition,
configuring a first file system managing the first partition;
configuring a second file system using the second partition as a first volume and the third partition as a second volume; and
Attaching or detaching the second volume to the second file system
Methods of operating electronic devices.
상기 제 1 파티션은 상기 전자 장치의 구동을 위한 시스템 파일이 저장되는 시스템 파티션이고,
상기 제 2 파티션은 사용자 데이터를 저장하기 위한 사용자 데이터 파티션이고,
상기 제 3 파티션은 상기 시스템 파티션에 대하여 실행 파일의 저장 공간을 보조하기 위한 임시 공간인
전자 장치의 동작 방법.
17. The method of claim 16,
The first partition is a system partition in which a system file for driving the electronic device is stored,
The second partition is a user data partition for storing user data;
The third partition is a temporary space for assisting the storage space of an executable file with respect to the system partition.
Methods of operating electronic devices.
상기 전자 장치의 시스템 소프트웨어 업데이트 요청을 확인하는 동작;
상기 제 2 볼륨에 저장된 데이터를 상기 제 1 볼륨으로 이동시키는 동작;
상기 제 2 볼륨을 상기 제 2 파일 시스템에서 디태치(detach)하는 동작; 및
상기 제 3 파티션에 상기 시스템 소프트웨어 업데이트를 위한 파일을 저장하여 상기 시스템 소프트웨어 업데이트를 수행하는 동작을 포함하는
전자 장치의 동작 방법.
18. The method of claim 17,
checking a system software update request of the electronic device;
moving data stored in the second volume to the first volume;
detaching the second volume from the second file system; and
Storing a file for the system software update in the third partition to perform the system software update.
Methods of operating electronic devices.
상기 제 2 볼륨이 디태치된 상기 제 2 파일 시스템을 리사이즈(re-size)하는 동작; 및
상기 제 2 파일 시스탬의 메타 데이터 영역에 상기 리사이즈된 제 2 파일 시스템과 관련된 정보를 저장하는 동작을 포함하는
전자 장치의 동작 방법.
According to claim 18,
re-size the second file system to which the second volume is detached; and
Storing information related to the resized second file system in a meta data area of the second file system
Methods of operating electronic devices.
상기 제 2 볼륨에 저장된 데이터를 상기 제 1 볼륨으로 이동시키는 동작 이전, 상기 제 1 볼륨에 상기 제 2 볼륨에 저장된 데이터를 저장할 공간이 부족함에 대응하여,
상기 제 1 볼륨에 대응하는 상기 제 2 파티션의 여유 공간을 확보하기 위하여 사용자에게 상기 사용자 데이터를 백업 후 삭제하도록 가이드하는 동작을 포함하는
전자 장치의 동작 방법.
According to claim 18,
Prior to the operation of moving the data stored in the second volume to the first volume, in response to the lack of space in the first volume to store the data stored in the second volume,
Including an operation of guiding a user to back up and then delete the user data in order to secure a free space of the second partition corresponding to the first volume
Methods of operating electronic devices.
상기 제 3 파티션에서 상기 시스템 소프트웨어 업데이트를 위한 파일을 저장하는 공간만큼 상기 제 1 파일 시스템을 확장하는 동작을 포함하는
전자 장치의 동작 방법.
According to claim 18,
Expanding the first file system as much as a space for storing a file for updating the system software in the third partition
Methods of operating electronic devices.
상기 제 3 파티션에서 상기 시스템 소프트웨어 업데이트를 위한 파일을 저장하고 남은 공간에 대한 영역의 시작과 끝 위치와 관련된 정보를 지정된 위치에 저장하는 동작; 및
상기 저장된 정보에 기반하여 상기 제 3 파티션에서 시스템 소프트웨어 업데이트를 위한 파일을 저장하고 남은 공간을 제 2 볼륨으로 재구성하여 상기 제 2 파일 시스템에 어태치(attach)하는 동작을 포함하는
전자 장치의 동작 방법.
According to claim 18,
storing a file for updating the system software in the third partition and storing information related to start and end positions of an area for remaining space in a designated location; and
Storing a file for system software update in the third partition based on the stored information, reconstructing the remaining space into a second volume, and attaching the file to the second file system
Methods of operating electronic devices.
파일을 저장할 때, 제 1 볼륨의 모든 데이터 블록이 할당됨에 대응하여, 제 2 볼륨의 데이터 블록에 할당받아 파일을 저장하는 동작을 포함하는
전자 장치의 동작 방법.23. The method of claim 22,
When storing a file, in response to the allocation of all data blocks of the first volume, the operation of receiving the data blocks of the second volume and storing the file
Methods of operating electronic devices.
Priority Applications (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
EP22901652.2A EP4357902A1 (en) | 2021-11-30 | 2022-11-22 | Electronic device for managing storage space, and method for operating electronic device |
PCT/KR2022/018500 WO2023101294A1 (en) | 2021-11-30 | 2022-11-22 | Electronic device for managing storage space, and method for operating electronic device |
US18/071,056 US20230168831A1 (en) | 2021-11-30 | 2022-11-29 | Electronic device and operation method of electronic device for managing storage space |
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR20210169304 | 2021-11-30 | ||
KR1020210169304 | 2021-11-30 |
Publications (1)
Publication Number | Publication Date |
---|---|
KR20230081556A true KR20230081556A (en) | 2023-06-07 |
Family
ID=86762302
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
KR1020220014398A KR20230081556A (en) | 2021-11-30 | 2022-02-03 | Electronic device and operation method of electronic device for managing storage space |
Country Status (1)
Country | Link |
---|---|
KR (1) | KR20230081556A (en) |
-
2022
- 2022-02-03 KR KR1020220014398A patent/KR20230081556A/en unknown
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US20230342074A1 (en) | Electronic device and method for operation of storage of electronic device | |
US20230244406A1 (en) | Electronic device and storage management method using same | |
US20200183589A1 (en) | Method and electronic device for initializing storage | |
US11875035B2 (en) | Electronic device and method for managing memory using the same | |
KR20230081556A (en) | Electronic device and operation method of electronic device for managing storage space | |
KR20220099322A (en) | Electronic device and method for managing memory using the same | |
EP4357902A1 (en) | Electronic device for managing storage space, and method for operating electronic device | |
KR20220102421A (en) | Electronic device and memory management method of the electronic device | |
US20230305999A1 (en) | Method for performing integrity check, and electronic device using same | |
KR20230031508A (en) | Electronic device and method for operating file system | |
US20230067968A1 (en) | Electronic device and method of electronic device operating file system | |
US20230118797A1 (en) | Data swapping method and electronic device supporting same | |
KR20220102489A (en) | Electronic device and method for updating database based on reserve space | |
KR20230083940A (en) | Electronic device and method for operating file system | |
US20230177005A1 (en) | Electronic device and method for operating file system | |
WO2023101294A1 (en) | Electronic device for managing storage space, and method for operating electronic device | |
KR20230119549A (en) | Method and apparatus for editing video in electronic device | |
KR20220102339A (en) | Electronic device and kernel module loading method of the electronic device | |
KR20220135504A (en) | Data Storage device and operating method of data Storage device | |
KR20220017309A (en) | Method for allocating of virtual memory and electronic device supporting the same | |
KR20220135560A (en) | Electronic device for managing memory and operating method thereof | |
KR20220127504A (en) | Electronic device for performing runtime checksum verification of block device image and operating method thereof | |
KR20230068230A (en) | Electronic device and method for preserving data in factory reset of the electronic device | |
KR20230023397A (en) | Electronic device and operation method thereof | |
KR20230023281A (en) | Electronic device and operation method of electronic device including artificial neural network |