Electronic device for managing file
By allowing direct access to directory and file data through metadata in volatile memory, the file management system in electronic devices addresses the delay issue, enhancing response times and file access efficiency.
Patent Information
- Application Number
- PCT/KR2024/009496
- Authority / Receiving Office
- WO · WO
- Patent Type
- Applications
- Current Assignee / Owner
- Priority Date
- 2023-08-23
- Filing Date
- 2024-07-04
- Publication Date
- 2025-01-16
AI Technical Summary
Existing file management systems in electronic devices face delays in responding to file read requests due to the involvement of secondary applications, which slows down the processing of directory and file data access.
Implementing a file manager configuration where directory and file data can be read directly from non-volatile memory without involving secondary applications, using metadata stored in volatile memory to facilitate faster responses to file read requests from applications with access permissions.
This approach enables electronic devices to quickly respond to file read requests by bypassing secondary applications, thereby reducing latency and improving overall file access performance.
Smart Images

Figure KR2024009496_16012025_PF_FP_ABST
Abstract
Description
Electronic devices for managing files
[0001] Embodiments of the present disclosure relate to an electronic device for managing files.
[0002] In electronic devices (e.g., smartphones), the file system can manage files based on system calls made by applications. For example, the file system can write data to the device's non-volatile memory (e.g., a solid-state drive (SSD)) in response to a write request from an application. In response to a read request from an application, the file system can read data from memory and provide it to the application.
[0003] The above information is provided as background information to aid in understanding the present disclosure. No claim or determination is made as to whether any of the above is applicable as prior art related to the present disclosure.
[0004] Volatile memory (e.g., random access memory (RAM)) may include a first memory area allocated to an operating system (e.g., a kernel) and a second memory area allocated to an application. The first memory area may be referred to as kernel space, and the second memory area may be referred to as user space. For example, a first application that calls a file system and a second application (e.g., a filesystem in user space (FUSE) daemon) that supports processing the call may be loaded from non-volatile memory into user space and executed by the processor. The file system may include a second application, a first file manager (e.g., a FUSE file system), and a second file manager (e.g., an extended file system 4 (EXT4), a flash-friendly file system (F2FS)). Here, the first file manager and the second file manager may be loaded from non-volatile memory into kernel space and executed by the processor. The second application may receive a system call (e.g., a read request) of the first application through the first file manager. A second application can read data corresponding to a read request (e.g., data in a directory and / or data in a file) from non-volatile memory via a second file manager. The second application can provide the data to the first file manager. The first file manager can return the data received from the second application to the first application.
[0005] In one embodiment, the file system can process a system call from a first application without the involvement of a second application. According to this processing method (aka “passthrough read / write”), the second application can determine whether the first application has permission to access the second file manager without the involvement of the second application. For example, if the data requested by the first application was created by the first application or the first application is an application designated to manage the data, the second application can grant access permission to the first application. Thereafter, the first file manager can process the system call from the first application without the involvement of the second application. For example, the first file manager can receive a directory read request from the first application. The first file manager can read the directory data corresponding to the directory read request from non-volatile memory through the second file manager. The first file manager can return the directory data to the first application.
[0006] If the first application has access to the second file manager, the first file manager can process the first application's directory read request without the second application's involvement. This lack of involvement from the second application can result in a faster response to the directory read request. However, subsequent file read requests by the first application require the involvement of the second application, and thus, the response to the file read request can be relatively slow.
[0007] In an embodiment of the present disclosure, an electronic device can quickly respond to a file read request from a first application with access rights to a second file manager. The technical challenges addressed by the present disclosure are not limited to the technical challenges mentioned above, and other technical challenges not mentioned will be readily apparent to those skilled in the art, based on the description below.
[0008] According to one embodiment, an electronic device may include a processor; a first memory connected to the processor and being volatile; and a second memory connected to the processor and being non-volatile. A file manager configured to manage files stored in the second memory may be loaded from the second memory into a first memory area of the first memory and executed by the processor. A second application configured to access the files through the first application and the file manager may be loaded from the second memory into a second memory area of the first memory and executed by the processor. The first memory area may store instructions, which, when executed by the processor, may cause the electronic device to read directory data from the second memory through the file manager and return the directory data to the first application based at least on a request for directory data by the first application, and to request the second application to store metadata describing files belonging to a directory corresponding to the directory data in the first memory area. The above instructions may cause the electronic device to read the file data from the second memory using metadata stored in the first memory and return the file data to the first application based on a request for the file data from the first application.
[0009] According to one embodiment, an electronic device may include a processor; a first memory coupled to the processor and being volatile; and a second memory coupled to the processor and being non-volatile. A first file manager and a second file manager may be loaded from the second memory into a first memory area of the first memory and executed by the processor. An application may be loaded from the second memory into a second memory area of the first memory and executed by the processor. The second memory area may store instructions, which, when executed by the processor, may cause the electronic device to receive a request message requesting metadata describing files from the first file manager. The instructions may cause the electronic device to transmit the request message to the second file manager so that the metadata stored in the second memory is loaded into a first memory area of the first memory.
[0010] According to one embodiment, a method of operating an electronic device may include, based at least on a request for directory data from a first application, reading directory data from a non-volatile memory of the electronic device through a file manager and returning the directory data to the first application, and requesting a second application to store metadata describing files belonging to a directory corresponding to the directory data in a volatile memory. The method may include, based on a request for file data from the first application, reading the file data from the non-volatile memory using metadata stored in the volatile memory and returning the file data to the first application.
[0011] According to one embodiment, a recording medium storing instructions readable by a processor of an electronic device is provided. The instructions, when executed by the processor, may cause the electronic device to perform an operation of reading directory data from a non-volatile memory of the electronic device through a file manager and returning the directory data to the first application, at least based on a request for directory data from a first application, and requesting a second application to store metadata describing files belonging to a directory corresponding to the directory data in a volatile memory. The instructions, when executed by the processor, may cause the electronic device to perform an operation of reading file data from the non-volatile memory and returning the file data to the first application using metadata stored in the volatile memory, based on a request for file data from the first application.
[0012] According to embodiments of the present disclosure, an electronic device can quickly respond to read requests from an application. Furthermore, various benefits, directly or indirectly understood through this document, may be provided.
[0013] FIG. 1 is a block diagram of an electronic device within a network environment according to various embodiments.
[0014] FIG. 2 is a block diagram of an electronic device for managing files according to one embodiment.
[0015] FIGS. 3A and 3B are diagrams illustrating operations of a file system for returning data to a first application in response to a read request of the first application, according to one embodiment.
[0016] FIGS. 4A and 4B are diagrams illustrating operations of a file system for returning data to a first application in response to a read request from the first application, according to one embodiment.
[0017] FIG. 5 is a flowchart illustrating operations of an electronic device when a first file manager is executed in a first memory area, according to one embodiment.
[0018] FIG. 6 is a flowchart illustrating operations of an electronic device when a first file manager is executed in a first memory area, according to one embodiment.
[0019] FIG. 7 is a flowchart illustrating operations of an electronic device when a first file manager is executed in a first memory area, according to one embodiment.
[0020] FIG. 8 is a flowchart illustrating operations of an electronic device when a first file manager is executed in a first memory area, according to one embodiment.
[0021] FIG. 9 is a flowchart illustrating operations of an electronic device when a second application is executed in a second memory area, according to one embodiment.
[0022] Hereinafter, embodiments of the present disclosure will be described in detail with reference to the drawings so that those skilled in the art can easily implement the present disclosure. However, the present disclosure may be implemented in various different forms and is not limited to the embodiments described herein. In connection with the description of the drawings, the same or similar reference numerals may be used for identical or similar components. Furthermore, in the drawings and related descriptions, descriptions of well-known functions and configurations may be omitted for clarity and conciseness.
[0023] FIG. 1 is a block diagram of an electronic device (101) within a network environment (100) according to various embodiments. Referring to FIG. 1, in the network environment (100), the electronic device (101) may communicate with the electronic device (102) via a first network (198) (e.g., a short-range wireless communication network), or may communicate with at least one of the electronic device (104) or the server (108) via a second network (199) (e.g., a long-range wireless communication network). According to one embodiment, the electronic device (101) may communicate with the electronic device (104) via the server (108). According to one embodiment, the electronic device (101) may include a processor (120), a memory (130), an input module (150), an audio output module (155), a display module (160), an audio module (170), a sensor module (176), an interface (177), a connection terminal (178), a haptic module (179), a camera module (180), a power management module (188), a battery (189), a communication module (190), a subscriber identification module (196), or an antenna module (197). In some embodiments, the electronic device (101) may omit at least one of these components (e.g., the connection terminal (178)), or may have one or more other components added. In some embodiments, some of these components (e.g., the sensor module (176), the camera module (180), or the antenna module (197)) may be integrated into one component (e.g., the display module (160)).
[0024] The processor (120) may, for example, execute software (e.g., a program (140)) to control at least one other component (e.g., a hardware or software component) of the electronic device (101) connected to the processor (120) and perform various data processing or calculations. According to one embodiment, as at least a part of the data processing or calculations, the processor (120) may store commands or data received from other components (e.g., a sensor module (176) or a communication module (190)) in a volatile memory (132), process the commands or data stored in the volatile memory (132), and store result data in a non-volatile memory (134). According to one embodiment, the processor (120) may include a main processor (121) (e.g., a central processing unit or an application processor) or a secondary processor (123) (e.g., a graphics processing unit, a neural processing unit (NPU), an image signal processor, a sensor hub processor, or a communication processor)) that can operate independently or together therewith. For example, if the electronic device (101) includes a main processor (121) and a secondary processor (123), the secondary processor (123) may be configured to use less power than the main processor (121) or to be specialized for a specified function. The secondary processor (123) may be implemented separately from the main processor (121) or as a part thereof.
[0025] The auxiliary processor (123) may control at least a portion of functions or states associated with at least one component (e.g., a display module (160), a sensor module (176), or a communication module (190)) of the electronic device (101), for example, on behalf of the main processor (121) while the main processor (121) is in an inactive (e.g., sleep) state, or together with the main processor (121) while the main processor (121) is in an active (e.g., application execution) state. In one embodiment, the auxiliary processor (123) (e.g., an image signal processor or a communication processor) may be implemented as a part of another functionally related component (e.g., a camera module (180) or a communication module (190)). In one embodiment, the auxiliary processor (123) (e.g., a neural network processing unit) may include a hardware structure specialized for processing artificial intelligence models. The artificial intelligence models may be generated through machine learning. This learning can be performed, for example, on the electronic device (101) itself where the artificial intelligence model is executed, or can be performed through a separate server (e.g., server (108)). The learning algorithm can include, for example, supervised learning, unsupervised learning, semi-supervised learning, or reinforcement learning, but is not limited to the examples described above. The artificial intelligence model can include multiple artificial neural network layers.The artificial neural network may be one of a deep neural network (DNN), a convolutional neural network (CNN), a recurrent neural network (RNN), a restricted Boltzmann machine (RBM), a deep belief network (DBN), a bidirectional recurrent deep neural network (BRDNN), a deep Q-network, or a combination of two or more of the above, but is not limited to the examples described above. In addition to, or alternatively to, a hardware structure, an artificial intelligence model may include a software structure.
[0026] The memory (130) can store various data used by at least one component (e.g., processor (120) or sensor module (176)) of the electronic device (101). The data can include, for example, software (e.g., program (140)) and input data or output data for commands related thereto. The memory (130) can include volatile memory (132) or non-volatile memory (134).
[0027] The program (140) may be stored as software in the memory (130) and may include, for example, an operating system (142), middleware (144), or an application (146).
[0028] The input module (150) can receive commands or data to be used in a component of the electronic device (101) (e.g., a processor (120)) from an external source (e.g., a user) of the electronic device (101). The input module (150) can include, for example, a microphone, a mouse, a keyboard, a key (e.g., a button), or a digital pen (e.g., a stylus pen).
[0029] The audio output module (155) can output audio signals to the outside of the electronic device (101). The audio output module (155) can include, for example, a speaker or a receiver. The speaker can be used for general purposes, such as multimedia playback or recording playback. The receiver can be used to receive incoming calls. In one embodiment, the receiver can be implemented separately from the speaker or as part of the speaker.
[0030] The display module (160) can visually provide information to an external party (e.g., a user) of the electronic device (101). The display module (160) may include, for example, a display, a holographic device, or a projector and a control circuit for controlling the device. In one embodiment, the display module (160) may include a touch sensor configured to detect a touch, or a pressure sensor configured to measure the intensity of a force generated by the touch.
[0031] The audio module (170) can convert sound into an electrical signal, or vice versa, convert an electrical signal into sound. According to one embodiment, the audio module (170) can acquire sound through the input module (150), output sound through the sound output module (155), or an external electronic device (e.g., electronic device (102)) (e.g., speaker or headphone) directly or wirelessly connected to the electronic device (101).
[0032] The sensor module (176) can detect the operating status (e.g., power or temperature) of the electronic device (101) or the external environmental status (e.g., user status) and generate an electrical signal or data value corresponding to the detected status. According to one embodiment, the sensor module (176) can include, for example, a gesture sensor, a gyro sensor, a barometric pressure sensor, a magnetic sensor, an acceleration sensor, a grip sensor, a proximity sensor, a color sensor, an IR (infrared) sensor, a biometric sensor, a temperature sensor, a humidity sensor, or an illuminance sensor.
[0033] The interface (177) may support one or more designated protocols that may be used to directly or wirelessly connect the electronic device (101) with an external electronic device (e.g., the electronic device (102)). In one embodiment, the interface (177) may include, for example, a high definition multimedia interface (HDMI), a universal serial bus (USB) interface, an SD card interface, or an audio interface.
[0034] The connection terminal (178) may include a connector through which the electronic device (101) may be physically connected to an external electronic device (e.g., electronic device (102)). According to one embodiment, the connection terminal (178) may include, for example, an HDMI connector, a USB connector, an SD card connector, or an audio connector (e.g., a headphone connector).
[0035] A haptic module (179) can convert electrical signals into mechanical stimuli (e.g., vibration or movement) or electrical stimuli that a user can perceive through tactile or kinesthetic sensations. In one embodiment, the haptic module (179) can include, for example, a motor, a piezoelectric element, or an electrical stimulation device.
[0036] The camera module (180) can capture still images and videos. According to one embodiment, the camera module (180) may include one or more lenses, image sensors, image signal processors, or flashes.
[0037] The power management module (188) can manage power supplied to the electronic device (101). According to one embodiment, the power management module (188) can be implemented, for example, as at least a part of a power management integrated circuit (PMIC).
[0038] A battery (189) may power at least one component of the electronic device (101). In one embodiment, the battery (189) may include, for example, a non-rechargeable primary battery, a rechargeable secondary battery, or a fuel cell.
[0039] The communication module (190) may support the establishment of a direct (e.g., wired) communication channel or a wireless communication channel between the electronic device (101) and an external electronic device (e.g., electronic device (102), electronic device (104), or server (108)), and the performance of communication through the established communication channel. The communication module (190) may operate independently from the processor (120) (e.g., application processor) and may include one or more communication processors that support direct (e.g., wired) communication or wireless communication. According to one embodiment, the communication module (190) may include a wireless communication module (192) (e.g., a cellular communication module, a short-range wireless communication module, or a global navigation satellite system (GNSS) communication module) or a wired communication module (194) (e.g., a local area network (LAN) communication module, or a power line communication module). Among these communication modules, the corresponding communication module can communicate with an external electronic device (104) via a first network (198) (e.g., a short-range communication network such as Bluetooth, wireless fidelity (WiFi) direct, or infrared data association (IrDA)) or a second network (199) (e.g., a long-range communication network such as a legacy cellular network, a 5G network, a next-generation communication network, the Internet, or a computer network (e.g., a LAN or WAN)). These various types of communication modules can be integrated into a single component (e.g., a single chip) or implemented as multiple separate components (e.g., multiple chips). The wireless communication module (192) can verify or authenticate the electronic device (101) within a communication network such as the first network (198) or the second network (199) by using subscriber information (e.g., an international mobile subscriber identity (IMSI)) stored in the subscriber identification module (196).
[0040] The wireless communication module (192) can support 5G networks and next-generation communication technologies following the 4G network, such as NR access technology (new radio access technology). The NR access technology can support high-speed transmission of high-capacity data (eMBB (enhanced mobile broadband)), minimization of terminal power and connection of multiple terminals (mMTC (massive machine type communications)), or high reliability and low latency (URLLC (ultra-reliable and low-latency communications)). The wireless communication module (192) can support, for example, a high-frequency band (e.g., mmWave band) to achieve a high data transmission rate. The wireless communication module (192) can support various technologies for securing performance in a high-frequency band, such as beamforming, massive multiple-input and multiple-output (MIMO), full dimensional MIMO (FD-MIMO), array antenna, analog beam-forming, or large scale antenna. The wireless communication module (192) can support various requirements specified in the electronic device (101), an external electronic device (e.g., the electronic device (104)), or a network system (e.g., the second network (199)). According to one embodiment, the wireless communication module (192) can support a peak data rate (e.g., 20 Gbps or more) for eMBB realization, a loss coverage (e.g., 164 dB or less) for mMTC realization, or a U-plane latency (e.g., 0.5 ms or less for downlink (DL) and uplink (UL), or 1 ms or less for round trip) for URLLC realization.
[0041] The antenna module (197) can transmit or receive signals or power to or from an external device (e.g., an external electronic device). In one embodiment, the antenna module (197) may include an antenna including a radiator formed of a conductor or a conductive pattern formed on a substrate (e.g., a PCB). In one embodiment, the antenna module (197) may include a plurality of antennas (e.g., an array antenna). In this case, at least one antenna suitable for a communication method used in a communication network, such as the first network (198) or the second network (199), may be selected from the plurality of antennas by, for example, the communication module (190). A signal or power may be transmitted or received between the communication module (190) and an external electronic device through the selected at least one antenna. In some embodiments, in addition to the radiator, another component (e.g., a radio frequency integrated circuit (RFIC)) may be additionally formed as a part of the antenna module (197).
[0042] According to various embodiments, the antenna module (197) may form a mmWave antenna module. According to one embodiment, the mmWave antenna module may include a printed circuit board, an RFIC disposed on or adjacent a first side (e.g., a bottom side) of the printed circuit board and capable of supporting a designated high-frequency band (e.g., a mmWave band), and a plurality of antennas (e.g., an array antenna) disposed on or adjacent a second side (e.g., a top side or a side side) of the printed circuit board and capable of transmitting or receiving signals in the designated high-frequency band.
[0043] At least some of the above components can be interconnected and exchange signals (e.g., commands or data) with each other via a communication method between peripheral devices (e.g., a bus, GPIO (general purpose input and output), SPI (serial peripheral interface), or MIPI (mobile industry processor interface)).
[0044] According to one embodiment, commands or data may be transmitted or received between the electronic device (101) and an external electronic device (104) via a server (108) connected to a second network (199). Each of the external electronic devices (102 or 104) may be the same or a different type of device as the electronic device (101). According to one embodiment, all or part of the operations executed in the electronic device (101) may be executed in one or more of the external electronic devices (102, 104, or 108). For example, when the electronic device (101) is to perform a certain function or service automatically or in response to a request from a user or another device, the electronic device (101) may, instead of or in addition to executing the function or service itself, request one or more external electronic devices to perform the function or at least a part of the service. One or more external electronic devices that receive the request may execute at least a portion of the requested function or service, or an additional function or service related to the request, and transmit the result of the execution to the electronic device (101). The electronic device (101) may process the result as is or additionally and provide it as at least a portion of a response to the request. For this purpose, cloud computing, distributed computing, mobile edge computing (MEC), or client-server computing technology may be used, for example. The electronic device (101) may provide an ultra-low latency service by using distributed computing or mobile edge computing, for example. In another embodiment, the external electronic device (104) may include an Internet of Things (IoT) device. The server (108) may be an intelligent server utilizing machine learning and / or a neural network. According to one embodiment, the external electronic device (104) or the server (108) may be included in the second network (199).The electronic device (101) can be applied to intelligent services (e.g., smart home, smart city, smart car, or healthcare) based on 5G communication technology and IoT-related technology.
[0045] FIG. 2 is a block diagram of an electronic device (200) for managing files according to one embodiment. Referring to FIG. 2, the electronic device (200) may include a touch-sensitive display (210), a volatile first memory (270), a non-volatile second memory (280), and a processor (299). According to one embodiment, the components of the electronic device (200) may be operatively, functionally, and / or electrically connected to each other. The display (210), the first memory (270), the second memory (280), and the processor (299) may be implemented substantially identically to the display module (160), the volatile memory (132), the non-volatile memory (134), and the processor (120) of FIG. 1, respectively, and thus may perform the same functions.
[0046] According to one embodiment, the first memory (270) may include a first memory area (in other words, kernel space) (271) allocated as storage for executing an operating system (e.g., kernel) and a second memory area (in other words, user space) (272) allocated as storage for executing an application. The second memory (280) may store a first application (231), a second application (232), a first file manager (241), a second file manager (242), and a file storage (250).
[0047] According to one embodiment, a program (e.g., program (140) of FIG. 1) may be stored as instructions in a second memory (280) and loaded into a first memory area (271) and / or a second memory area (272) of a first memory (270) and executed by a processor (299).
[0048] According to one embodiment, a first application (231) and a second application (e.g., a FUSE (filesystem in user space) daemon) (232) may be loaded from a second memory (280) to a second memory area (272) and executed by a processor (299). When the first application (231) is executed by the processor (299) in the second memory area (272), the first application (231) may provide an execution screen for interaction with a user. The first application (231) may receive user input through the execution screen and call a file system based on the user input. The execution screen of the first application (231) may be displayed on the display (210), and thus, the first application (231) may be classified as a foreground process (or, top-layer process, non-background process). When the second application (232) is executed by the processor (299) in the second memory area (272), the second application (232) may support processing of a system call. For example, the second application (232) may include a FUSE (filesystem in user space) daemon. The second application (232) may be classified as a background process that supports the execution of the first application (231) without direct interaction with the user.
[0049] According to one embodiment, the file system may include at least one of a second application (232), a first file manager (e.g., FUSE kernel) (241), and a second file manager (e.g., extended file system 4 (EXT4) or flash-friendly file system (F2FS)) (242). The first file manager (241) or the second file manager (242) may be loaded from the second memory (280) to the first memory area (271) and executed by the processor (299). The first file manager (241) and the second file manager (242) may be classified as background processes.
[0050] According to one embodiment, the first application (231), when executed by the processor (299) in the second memory area (272), may call the first file manager (241) running in the first memory area (271) to read data (e.g., data of a directory and / or data of a file) stored in the second memory (280). The second application (232), when executed by the processor (299) in the second memory area (272), may receive a read request from the first application (231) through the first file manager (241) and transmit it to the second file manager (242) running in the first memory area (271). The second file manager (242), when executed by the process (299) in the first memory area (271), may receive a read request from the second application (232) running in the second memory area (272). The second file manager (242) can find data corresponding to a read request (e.g., data of a directory and / or data of a file) in the file storage (250) and provide the data to the second application (232). The files stored in the file storage (250) can be managed by directory by the second file manager (242). The file can include data of the file and metadata describing the data of the file. For example, the metadata can be referred to as an inode in the structure of the EXT4 file system. The metadata can include information about a physical address indicating a location where the file is stored in the second memory (280), the size of the file, the owner name, the date the file was created, and the date the file was modified. The first file manager (241) can receive the data found by the second file manager (242) through the second application (232). The first file manager (241) can return the received data to the first application (231).
[0051] FIGS. 3A and 3B are diagrams illustrating operations of a file system for returning data to a first application (231) in response to a read request of the first application (231), according to one embodiment. The first application (231) and the second application (232) may be loaded into a second memory area (272) and executed by a processor (299), and the first file manager (241) and the second file manager (242) may be loaded into the first memory area (271) and executed by the processor (299).
[0052] Referring to FIG. 3A, in operation 310, the first application (231) may transmit (in other words, output) a first request message to the first file manager (241), requesting that the data of the directory (e.g., the name of the directory, the names of the files belonging to the directory) be read from the file storage (250) and returned. In operation 311, the first file manager (241) may transmit the first request message to the second application (232). Additionally, the first file manager (241) may include in the first request message a request for creating (e.g., loading) metadata corresponding to the data of the directory that the first application (231) requested to read (e.g., metadata of each file) in the first memory area (271), and transmit the first request message to the second application (232). In operation 312, the second application (232) may transmit the first request message to the second file manager (242). In response to the first request message, in operation 320, the second file manager (242) can obtain directory data and metadata from the file storage (250). For example, assuming that directories A, B, and C exist in the file storage (250; see FIG. 2) and directories a, b, and c exist as subdirectories of each directory, the second file manager (242) can obtain the names of files belonging to each of the directories (A, B, C, a, b, c) as directory data from the file storage (250). The second file manager (242) can obtain metadata of each file from the file storage (250). In operation 330, the second file manager (242) can store the obtained metadata in the metadata storage (301). In operation 340, the second file manager (242) can transmit a first response message including the obtained directory data to the second application (232).In operation 341, the second application (232) may transmit a first response message to the first file manager (241). In operation 342, the first file manager (241) may transmit a first response message to the first application (231). The first application (231) may construct a file list using directory data in the first response message. The processor (299) may include the constructed file list in an execution screen and display it on the display (210).
[0053] Referring to FIG. 3B, in operation 350, the first application (231) may transmit a second request message to the first file manager (241) requesting that the data of a file be read from the file storage (250; see FIG. 2) and returned. For example, the first application (231) may confirm a user's selection (e.g., touch input) of any file (e.g., image file, video file, audio file, or document file) from the file list through the display (210). The first application (231) may transmit a second request message requesting the data of the selected file to the first file manager (241). In response to the second request message, in operation 360, the first file manager (241) may obtain the file data requested by the first application (231) from the file storage (301) using metadata, instead of transmitting the second request message to the second application (232). For example, the first file manager (241) can check the physical address where the data of the selected file is stored in the metadata storage (301), and access the checked address in the file storage (250) to obtain the data. In operation 370, the first file manager (241) can transmit a second response message including the obtained file data to the first application (231). The first application (231) can support providing the received file data to the user through the display (210) and / or an audio device (e.g., the audio module (170) of FIG. 1) or a communication circuit (e.g., an external audio device connected wirelessly or wiredly to the electronic device (200) through the communication module (190) of FIG. 1). For example, the first application (231) can generate a list of applications that can execute the file data (e.g., a list of image viewer programs when the file is an image file). The processor (299) can display the application list on the display (210).The processor (299) can execute file data using an application selected by the user from the application list. For example, if the file data is an image file, the processor (299) can execute the selected image viewer to display the image on the display (210). If the file data is an audio file, the processor (299) can execute the selected audio player to allow the music file to be played through the audio device. As another example, pre-designated applications for each type of file data may be automatically executed without displaying the application list.
[0054] FIGS. 4A and 4B are diagrams illustrating operations of a file system for returning data to a first application (231) in response to a read request of the first application (231), according to one embodiment. The first application (231) and the second application (232) may be loaded into a second memory area (272) and executed by a processor (299), and the first file manager (241) and the second file manager (242) may be loaded into the first memory area (271) and executed by the processor (299).
[0055] Referring to FIG. 4A, in operation 410, the first application (231) may transmit a first request message to the first file manager (241), requesting that the data of a directory (e.g., names of files belonging to the directory) be read from the file storage (250; see FIG. 2) and returned. In operation 411, the first file manager (241) may transmit the first request message to the second file manager (242) instead of transmitting it to the second application (232) (see FIG. 3A). For example, the first application (231) may be a management application designated to write data to the file storage (250) and read data stored in the file storage (250). The first application (231) may be an application that creates data stored in the file storage (250) (e.g., a camera application, a document editing program) or an application that provides data stored in the file storage (250) to a user (e.g., a photo viewer program, a music player, a video player). The second application (232) can grant the management application and the source application the authority to directly request reading from the second file manager (242). The first file manager (241) can confirm through the second application (232) that such authority has been granted to the first application (231) and can accordingly transmit the first request message to the second file manager (242). In operation 412, the first file manager (241) can transmit a second request message to the second application (232) requesting that metadata (e.g., metadata of each file) corresponding to the data of the directory that the first application (231) requested to read be created (e.g., loaded) in the first memory area (271) based on the fact that the first request message was output to the second file manager (242) and not to the second application (232).In operation 413, the second application (232) may transmit a second request message to the second file manager (242). In operation 420, the second file manager (242) may obtain directory data from the file storage (250) in response to the first request message. In operation 430, the second file manager (242) may transmit a first response message including the obtained directory data to the first file manager (241). In operation 431, the first file manager (241) may transmit the first response message to the first application (231). The first application (231) may construct a file list using the directory data in the first response message. The processor (299) may include the file list in the execution screen and display it on the display (210). In operation 440, the second file manager (242) may obtain metadata of each file from the file storage (250) in response to the second request message. In operation 445, the second file manager (242) can store the acquired metadata in the metadata storage (301).
[0056] Referring to FIG. 4B, in operation 450, the first application (231) may transmit a third request message to the first file manager (241) requesting that the data of a file be read from the file storage (250) and returned. For example, the first application (231) may confirm a user's selection (e.g., touch input) of any file (e.g., an image file, a video file, an audio file, or a document file) from the file list through the display (210) and transmit a third request message requesting the data of the selected file to the first file manager (241). In operation 460, the first file manager (241) may confirm whether the storage of metadata (operation 445; see FIG. 4A) is completed. For example, the first file manager (241) may record identification information of the first application (231) that requested the reading of a file in a table. The second file manager (242) may delete the identification information of the first application (231) from the table when the storage of the metadata (operation 445) is completed. The first file manager (241) may determine that the storage of the metadata (operation 445) is completed based on the deletion of the identification information from the table. In operation 470, the first file manager (241) may check the physical address where the data of the selected file is stored in the metadata storage (301) based on the completion of the storage of the metadata (operation 445) and may access the checked address in the file storage (250) to obtain the data. If the identification information exists in the table (i.e., if the storage of the metadata (operation 445) is in progress), the first file manager (241) may wait until the storage of the metadata (operation 445) is completed without sending a third request message to the second application (232).When the first file manager (241) transmits the third request message (so-called lookup request) to the second application (232) without waiting, the second application (232) must first process the requested metadata creation and then the requested file reading at the same time, and thus the response to the request (e.g., the operation of returning directory data and file data to the first application (231)) may be delayed. For example, the second application (232) may acquire a lock in order to use system resources (e.g., the processor (299)) in the electronic device (200) to process the metadata creation request and the file reading request. The operation of acquiring a lock for creating metadata and the operation of acquiring a lock for reading a file may conflict with each other, and thus the waiting time for acquiring the lock may be increased, and thus the response may be delayed. For example, the display of the file list may be slowed down. Furthermore, the first application (231) that requested the file data may be forcibly terminated. After the storage of metadata (operation 445) is completed, an operation (operation 470) of obtaining file data using metadata is performed by the first file manager (241), thereby avoiding collisions and making the response relatively fast. In operation 480, the first file manager (241) can transmit a second response message including the obtained file data to the first application (231). The first application (231) can support providing the received file data to the user through the display (210) and / or an audio device (e.g., an audio module (170) of FIG. 1) or a communication circuit (e.g., an external audio device connected wirelessly or wiredly to the electronic device (200) through the communication module (190) of FIG. 1). For example, the first application (231) can generate a list of applications that can execute the file data (e.g., a list of image viewer programs when the file is an image file).The processor (299) can display an application list on the display (210). The processor (299) can execute file data using an application selected by the user from the application list. For example, if the file data is an image file, the processor (299) can execute a selected image viewer to display the image on the display (210). If the file data is an audio file, the processor (299) can execute a selected audio player to allow the music file to be played through the audio device. As another example, pre-designated applications may be automatically executed for each type of file data without displaying the application list.
[0057] FIG. 5 is a flowchart illustrating operations performed in an electronic device (200) when a first file manager (241) is executed in a first memory area (271), according to one embodiment.
[0058] In operation 510, the electronic device (200) may recognize that the first application (231) has requested directory data. For example, the processor (299) may recognize that the first application (231) has called the first file manager (241) to obtain directory data.
[0059] In operation 520, the electronic device (200) can determine whether the first application (231) is a designated application (e.g., a file management application) authorized to access the file storage (250; see FIG. 2) through the second file manager (242) without the involvement of the second application (232). For example, the processor (299) can determine the authorization of the first application (231) through the second application (232). Information indicating whether the first application (231) is a designated application can be stored in a database (e.g., a second memory (280)). Based on the first application (231) requesting to read a directory, the second application (232) can access the database to determine whether the first application (231) is a file management application. The permission given to the file management application may be to access the file storage (250) through the second file manager (242) without going through the second application (232), as described with reference to FIG. 4A. If the second application (232) is identified as a file management application, it may allow the first application (231) to access the file storage (250) through the second file manager (242) without the involvement of the second application (232).
[0060] In operation 530, the electronic device (200) (e.g., processor (299)) may perform an operation of obtaining directory data requested by the first application (231) from the file storage (250) without the involvement of the second application (232) through the second file manager (242) and returning the data to the first application (231) based on the determination that the first application (231) is the specified application. In addition, the electronic device (200) (e.g., processor (299)) may perform an operation (e.g., operation 445) of executing the second application (232) to store metadata in the metadata storage (301).
[0061] If the first application (231) is not the specified application as verified in operation 520, the electronic device (200) can obtain directory data from the file storage (250) through the second application (232). For example, the processor (299) can perform an operation of requesting directory data from the second application (232) and returning the directory data received from the second application (232) to the first application (231) in response thereto.
[0062] FIG. 6 is a flowchart illustrating operations performed in an electronic device (200) when a first file manager (241) is executed in a first memory area (271), according to one embodiment.
[0063] In operation 610, the electronic device (200) may recognize that the first application (231) has requested directory data. For example, the processor (299) may recognize that the first application (231) has called the first file manager (241) to obtain directory data.
[0064] In operation 620, the electronic device (200) can check whether the first application (231) is an application designated to have the authority to access the directory corresponding to the directory data requested by the first application (231) through the second file manager (242) without the involvement of the second application (232) (e.g., an application involved in creating a file in the directory). For example, if the first application (231) is a camera application and the directory is an image directory, the processor (299) can allow the first application (231) to access the image directory through the second file manager (242) without the involvement of the second application (232).
[0065] In operation 630, the electronic device (200) (e.g., processor (299)) may perform an operation of obtaining directory data requested by the first application (231) from a corresponding directory of the file storage (250) through the second file manager (242) and returning the data to the first application (231) based on the first application (231) being identified as the specified application. In addition, the electronic device (200) may perform an operation (e.g., operation 445) of executing the second application (232) to store metadata in the metadata storage (301).
[0066] If the first application (231) is not the specified application as verified in operation 620, the electronic device (200) can obtain directory data from the file storage (250) through the second application (232). For example, the processor (299) can perform an operation of requesting directory data from the second application (232) and returning the directory data received from the second application (232) to the first application (231) in response thereto.
[0067] FIG. 7 is a flowchart illustrating operations performed in an electronic device (200) when a first file manager (241) is executed in a first memory area (271), according to one embodiment.
[0068] In operation 710, the electronic device (200) (e.g., processor (299)) may perform an operation (e.g., operation 412) of requesting the creation of metadata from the second application (232) based on the fact that the first application (231) requesting directory data has access to the corresponding directory of the file storage through the second file manager (242) without the involvement of the second application (232).
[0069] After requesting the second application (232) to generate metadata, the electronic device (200) may recognize at operation 720 that the first application (231) has requested file data (e.g., operation 450). For example, the processor (299) may recognize that the first application (231) has called the first file manager (241) to obtain the file data.
[0070] In operation 730, the electronic device (200) can determine whether the generation of metadata is complete. For example, the processor (299) can record the identification information of the first application (231) that requested the file read in a table. When the storage of the metadata (operation 445) is complete, the processor (299) can delete the identification information of the first application (231) from the table. Based on the deletion of the identification information from the table, the processor (299) can determine that the storage of the metadata (operation 445) is complete.
[0071] At operation 740, the electronic device (200) (e.g., processor (299)) may obtain file data from the file storage (250) using the metadata based on completion of generation of the metadata and return it to the first application.
[0072] FIG. 8 is a flowchart illustrating operations performed in an electronic device when a first file manager (241) is executed in a first memory area (271), according to one embodiment.
[0073] In operation 810, the electronic device (200) may recognize that a third application has requested file data. For example, the processor (299) may recognize that the third application has called the first file manager (241) to obtain file data.
[0074] In operation 820, the electronic device (200) (e.g., processor (299)) can check whether metadata corresponding to the requested file data exists in the metadata storage (301). If the metadata exists in the metadata storage (301), in operation 830, the electronic device (200) can return the file data to the third application using the metadata.
[0075] If it is confirmed in operation 820 that no metadata exists in the metadata storage (301), in operation 840, the electronic device (200) (e.g., processor (299)) can check whether metadata corresponding to the requested file data is being generated (e.g., operation 330 or operation 445). If the metadata is not being generated, in operation 850, the electronic device (200) can transmit the request of the third application to the second application (232). Accordingly, the second application (232) can access the file storage (250) through the second file manager (242) to obtain the corresponding file data. The electronic device (200) can return the obtained file data to the third application.
[0076] If the result of the verification in operation 840 indicates that metadata is being generated, in operation 860, the electronic device (200) (e.g., processor (299)) may wait for the generation of metadata to be completed without responding to a request from a third application. If the generation of metadata is completed, the electronic device (200) may perform operation 830.
[0077] FIG. 9 is a flowchart illustrating operations performed in an electronic device (200) when a second application (232) is executed in a second memory area (272), according to one embodiment.
[0078] In operation 910, the electronic device (200) may perform an operation of receiving a request message (e.g., the first request message in FIG. 3A or the second request message in FIG. 4A) requesting the generation of metadata from the first file manager (241). For example, the processor (299) may confirm that the request message has been transmitted from the first file manager (241) to the second application (232).
[0079] In operation 920, the electronic device (200) may perform an operation of transmitting a request message to the second file manager (242) so that metadata stored in the file storage (250) in the second memory (280) is loaded into the first memory area (271) of the first memory (270). For example, the processor (299) may confirm that the request message has been transmitted from the second application (232) to the second file manager (242).
[0080] In the above descriptions related to FIGS. 1 to 9, the prefixes “first” and “second” are only for distinguishing the same names and are not endowed with any special meaning such as importance or order.
[0081] According to one embodiment, an electronic device may include a processor; a first memory connected to the processor and being volatile; and a second memory connected to the processor and being non-volatile. A file manager configured to manage files stored in the second memory (e.g., the second file manager (242) of FIG. 2) may be loaded from the second memory into a first memory area of the first memory and executed by the processor. A second application configured to access the files through the first application and the file manager may be loaded from the second memory into a second memory area of the first memory and executed by the processor. The first memory area may store instructions, which, when executed by the processor, may cause the electronic device to read directory data from the second memory through the file manager and return the directory data to the first application based at least on a request for directory data by the first application, and to request the second application to store metadata describing files belonging to a directory corresponding to the directory data in the first memory area. The above instructions may cause the electronic device to read the file data from the second memory using metadata stored in the first memory and return the file data to the first application based on a request for the file data from the first application.
[0082] The above instructions may cause the electronic device to read the directory data from the second memory through the file manager without the involvement of the second application.
[0083] The above instructions may cause the electronic device to receive a read request for a file corresponding to the metadata from the first application or the third application, and, based on completion of storage of the metadata in the first memory area, read file data corresponding to the read request through the metadata and return it to the first application.
[0084] The above instructions may cause the electronic device to record identification information of an application requesting reading of a file corresponding to the metadata in a table, and to delete the identification information from the table when storage of the metadata is completed.
[0085] The instructions may cause the electronic device to request the second application to store the metadata in the first memory area, further based on the first application being an application designated to have access to the file storage of the second memory through the file manager without the involvement of the second application. The designated application may include at least one of an application configured to manage the file storage or an application involved in the creation of a file within the directory.
[0086] The above instructions may cause the electronic device to return the names of files belonging to the directory as the directory data to the first application.
[0087] The above file manager may include an EXT4 (extended file system 4), F2FS (flash-friendly file system), or FUSE (filesystem in user space) kernel.
[0088] The metadata stored in the first memory area may include information indicating a physical address where a file is stored in the second memory.
[0089] According to one embodiment, an electronic device may include a processor; a first memory coupled to the processor and being volatile; and a second memory coupled to the processor and being non-volatile. A first file manager and a second file manager may be loaded from the second memory into a first memory area of the first memory and executed by the processor. An application (e.g., the second application (232) of FIG. 2) may be loaded from the second memory into a second memory area of the first memory and executed by the processor. The second memory area may store instructions, which, when executed by the processor, may cause the electronic device to receive a request message requesting metadata describing files from the first file manager. The instructions may cause the electronic device to transmit the request message to the second file manager so that the metadata stored in the second memory is loaded into the first memory area of the first memory.
[0090] Metadata loaded into the first memory area of the first memory may include information indicating a physical address where a file is stored in the second memory.
[0091] According to one embodiment, a method of operating an electronic device may include, based at least on a request for directory data from a first application, reading directory data from a non-volatile memory of the electronic device through a file manager (e.g., a second file manager (242) of FIG. 2) and returning the directory data to the first application, and requesting a second application to store metadata describing files belonging to a directory corresponding to the directory data in a volatile memory. The method may include, based on a request for file data from the first application, reading the file data from the non-volatile memory using metadata stored in the volatile memory and returning the file data to the first application.
[0092] The operation of returning the above file data may include an operation of reading the file data from the non-volatile memory using the metadata stored in the volatile memory and returning the file data to the first application, further based on the completion of storing the metadata in the volatile memory.
[0093] The action requested of the second application may further include an action requesting the second application to store the metadata in the volatile memory, based on the fact that the first application is an application designated to have access to the file storage of the second memory through the file manager without the involvement of the second application. The designated application may include an application configured to manage the file storage and an application involved in the creation of a file within the directory.
[0094] The action of returning the above directory data may include an action of returning the names of files belonging to the above directory to the first application.
[0095] According to one embodiment, a recording medium storing instructions readable by a processor of an electronic device is provided. The instructions, when executed by the processor, may cause the electronic device to perform an operation of reading directory data from a non-volatile memory of the electronic device through a file manager (e.g., a second file manager (242) of FIG. 2) and returning the directory data to the first application, based at least on a request for directory data from a first application, and requesting a second application to store metadata describing files belonging to a directory corresponding to the directory data in a volatile memory. The instructions, when executed by the processor, may cause the electronic device to perform an operation of reading file data from the non-volatile memory using metadata stored in the volatile memory and returning the file data to the first application, based on a request for file data from the first application.
[0096] Electronic devices according to the various embodiments disclosed in this document may take various forms. Electronic devices may include, for example, portable communication devices (e.g., smartphones), computer devices, portable multimedia devices, portable medical devices, cameras, wearable devices, or home appliances. Electronic devices according to the embodiments of this document are not limited to the aforementioned devices.
[0097] The various embodiments of this document and the terminology 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, similar reference numerals may be used for similar or related components. The singular form of a noun corresponding to an item may include one or more of the items, unless the context clearly indicates otherwise. In this document, each of the phrases "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 "at least one of A, B, or C" can include any one of the items listed together in the corresponding phrase among those phrases, or all possible combinations thereof. Terms such as "first," "second," or "first" or "second" may be used merely to distinguish one component from another, and do not limit the components in any other respect (e.g., importance or order). When a component (e.g., a first component) is referred to as "coupled" or "connected" to another component (e.g., a second component), with or without the terms "functionally" or "communicatively," it means that the component can be connected to the other component directly (e.g., wired), wirelessly, or through a third component.
[0098] The term "module" used in various embodiments of this document may include a unit implemented in hardware, software, or firmware, and may be used interchangeably with terms such as logic, logic block, component, or circuit. A module may be an integral component, or a minimum unit or part of such a component that performs one or more functions. In one embodiment, a module may be implemented in the form of an application-specific integrated circuit (ASIC).
[0099] Various embodiments of the present document may be implemented as software (e.g., a program (140)) including one or more instructions stored in a storage medium (e.g., an internal memory (136) or an external memory (138)) readable by a machine (e.g., an electronic device (101)). For example, a processor (e.g., a processor (120)) of the machine (e.g., an electronic device (101)) may call at least one instruction among the one or more instructions stored from the storage medium and execute it. This enables the machine to operate to perform at least one function according to the at least one called instruction. The one or more instructions may include code generated by a compiler or code executable by an interpreter. The machine-readable storage medium may be provided in the form of a non-transitory storage medium. Here, 'non-transitory' simply means that the storage medium is a tangible device and does not contain signals (e.g., electromagnetic waves), and the term does not distinguish between cases where data is stored semi-permanently or temporarily on the storage medium.
[0100] According to one embodiment, the method according to various embodiments disclosed in this document may be provided as a computer program product. The computer program product may be traded between sellers and buyers as a product. The computer program product may be distributed in the form of a device-readable storage medium (e.g., compact disc read-only memory (CD-ROM)) or may be provided through an application store (e.g., Play Store). TM ) or directly between two user devices (e.g., smart phones), online distribution (e.g., downloading or uploading). In the case of online distribution, at least a portion of the computer program product may be at least temporarily stored or temporarily created in a machine-readable storage medium, such as the memory of a manufacturer's server, an application store's server, or an intermediary server.
[0101] According to various embodiments, each component (e.g., a module or a program) of the above-described components may include one or more entities, and some of the entities may be separated and placed in other components. According to various embodiments, one or more components or operations of the aforementioned components may be omitted, or one or more other components or operations may be added. Alternatively or additionally, a plurality of components (e.g., a module or a program) may be integrated into a single component. In such a case, the integrated component may perform one or more functions of each of the plurality of components identically or similarly to those performed by the corresponding component among the plurality of components prior to the integration. According to various embodiments, the operations performed by a module, program, or other component may be executed sequentially, in parallel, iteratively, or heuristically, or one or more of the operations may be executed in a different order, omitted, or one or more other operations may be added.
Claims
1. In electronic devices, processor; a first memory connected to said processor and being volatile; and A second memory connected to the processor and comprising non-volatile memory, A file manager configured to manage files stored in the second memory is loadable from the second memory to the first memory area of the first memory and is executed by the processor, A second application configured to access said files through said first application and said file manager is loaded from said second memory into a second memory area of said first memory and is executed by said processor; The first memory area stores instructions, which, when executed by the processor, cause the electronic device to At least based on the first application requesting directory data, the directory data is read from the second memory through the file manager and returned to the first application, and the second application is requested to store metadata describing files belonging to the directory corresponding to the directory data in the first memory area. An electronic device that reads the file data from the second memory using metadata stored in the first memory and returns the file data to the first application based on the request for file data from the first application.
2. In the first paragraph, the instructions cause the electronic device to: An electronic device that reads said directory data from said second memory through said file manager without the involvement of said second application.
3. In the first paragraph, the instructions cause the electronic device to: Receive a read request for a file corresponding to the metadata from the first application or the third application, An electronic device that reads file data corresponding to the read request through the metadata and returns it to the first application based on the completion of storage of the metadata in the first memory area.
4. In the third paragraph, the instructions cause the electronic device to: An electronic device that records identification information of an application requesting reading of a file corresponding to the above metadata in a table, and deletes the identification information from the table when storage of the above metadata is completed.
5. In the first paragraph, the instructions cause the electronic device to: An electronic device further comprising: a first application configured to request the second application to store the metadata in the first memory area, wherein the first application is an application designated to have access to the file storage of the second memory through the file manager without the involvement of the second application.
6. In paragraph 5, the designated application, An electronic device comprising at least one application configured to manage said file storage or an application involved in the creation of files within said directory.
7. In the first paragraph, the instructions cause the electronic device to: An electronic device that returns the names of files belonging to the directory as the directory data to the first application.
8. In the first paragraph, the file manager is an electronic device including an EXT4 (extended file system 4), F2FS (flash-friendly file system) or FUSE (filesystem in user space) kernel.
9. An electronic device according to claim 1, wherein the metadata stored in the first memory area includes information indicating a physical address where a file is stored in the second memory.
10. In electronic devices, processor; a first memory connected to said processor and being volatile; and A second memory connected to the processor and comprising non-volatile memory, The first file manager and the second file manager are loadable from the second memory to the first memory area of the first memory and are executed by the processor, The application is loaded from the second memory into the second memory area of the first memory and executed by the processor, The second memory area stores instructions, which, when executed by the processor, cause the electronic device to: Receive a request message requesting metadata describing files from the first file manager, An electronic device that transmits the request message to the second file manager so that metadata stored in the second memory is loaded into the first memory area of the first memory.
11. An electronic device in accordance with claim 10, wherein the metadata loaded into the first memory area of the first memory includes information indicating a physical address where a file is stored in the second memory.
12. A method of operating an electronic device, An operation of requesting a second application to read the directory data from a non-volatile memory of the electronic device through a file manager and return the directory data to the first application, based at least on the directory data requested by the first application, and to request the second application to store metadata describing files belonging to the directory corresponding to the directory data in the volatile memory; and A method comprising an action of reading the file data from the non-volatile memory using metadata stored in the volatile memory and returning the file data to the first application based on the first application requesting the file data.
13. In the 12th paragraph, the operation of returning the file data is: A method comprising an operation of reading the file data from the non-volatile memory using the metadata stored in the volatile memory and returning it to the first application, further based on the completion of storing the metadata in the volatile memory.
14. In paragraph 12, the action requested from the second application is: A method further comprising an action of requesting the second application to store the metadata in the volatile memory, based on the first application being an application designated to have access to the file storage of the second memory through the file manager without the involvement of the second application.
15. In paragraph 14, the designated application, A method comprising an application configured to manage said file repository and an application involved in the creation of files within said directory.
16. In the 12th paragraph, the operation of returning the directory data is: A method comprising the action of returning the names of files belonging to said directory to said first application.
17. A recording medium storing instructions readable by a processor of an electronic device, wherein the instructions, when executed by the processor, cause the electronic device to: An operation of requesting a second application to read the directory data from a non-volatile memory of the electronic device through a file manager and return the directory data to the first application, based at least on the directory data requested by the first application, and to request the second application to store metadata describing files belonging to the directory corresponding to the directory data in the volatile memory; and A recording medium that performs an operation of reading the file data from the non-volatile memory and returning it to the first application based on the request for file data from the first application using metadata stored in the volatile memory.
Citation Information
Patent Citations
Electronic device and file read and write method thereof
KR1020160122413A
Length measuring device and control method thereof
KR1020190130529A
Fermented Food Container
KR1020240162268A
Metal-attached nanocarbon complex with increased effective functional metal, gas adsorbent including metal-attached nanocarbon compounds, Electromagnetic shielding agents including metal-attached nanocarbon complexes, and Shape Control Method of Metal-Attached Nanocarbon Composites
KR102581037B1
Data processing method and apparatus
US20220253252A1