Electronic devices for simulating EEPROM and their operating methods

By introducing a virtual EEPROM structure and processor management into the flash ROM, the problem of low EEPROM emulation efficiency is solved, data traceability and equal use of flash ROM are realized, and data storage and management efficiency is improved.

CN116246682BActive Publication Date: 2026-03-17HYUNDAI AUTOEVER
View PDF 3 Cites 0 Cited by

Patent Information

Application Number
CN202211537077.3
Authority / Receiving Office
CN · China
Patent Type
Patents(China)
Current Assignee / Owner
Priority Date
2021-12-08
Filing Date
2022-12-02
Publication Date
2026-03-17
Estimated Expiration
2042-12-02

AI Technical Summary

Technical Problem

Existing technologies make it difficult to effectively emulate EEPROM using flash ROM, resulting in low data storage and management efficiency of EEPROM.

Method used

By introducing a virtual EEPROM structure into the flash ROM, the processor manages data blocks and metadata blocks, enabling sequential storage and updating of data and metadata, ensuring data traceability and equal use of the flash ROM.

Benefits of technology

Effective emulation of EEPROM was achieved, ensuring data traceability and equal use of flash ROM, thereby improving data storage and management efficiency.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN116246682B_ABST
    Figure CN116246682B_ABST
Patent Text Reader

Abstract

This disclosure relates to an electronic device for emulating an EEPROM and a method of operating the same, the electronic device comprising: a flash ROM consisting of data blocks and metadata blocks; a virtual EEPROM emulated by the flash ROM; and a processor capable of accessing the flash ROM; the data blocks comprising a plurality of first sectors in which usage data is stored, and the metadata blocks comprising a plurality of second sectors in which metadata on the usage data is stored.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] Exemplary embodiments of this disclosure relate to an electronic device for emulating an electrically erasable programmable read-only memory (EEPROM), and more specifically, to an electronic device for emulating an EEPROM and a method of operating thereof, wherein the electronic device may emulate an EEPROM using a flash read-only memory (ROM). Background Technology

[0002] EEPROM is a non-volatile storage device used as a memory to store settings. Once the content is stored, the device will store the content for a relatively long time and is mainly used for reading and using the content, or for backing up important data that should not be erased even when power is off.

[0003] In typical vehicles, fault / diagnostic / learning data is stored in the vehicle's built-in EEPROM. The data stored in the EEPROM is used to identify the cause of the fault and control the vehicle to operate in optimal condition.

[0004] The background technology disclosed herein is disclosed in Korean Patent Application Publication No. 10-2021-0076676 (published on June 24, 2021). Summary of the Invention

[0005] Various embodiments are intended to provide an electronic device and a method of operation thereof for emulating EEPROM, which can emulate EEPROM using flash ROM.

[0006] An electronic device for emulating an EEPROM according to one aspect of the present disclosure includes: a flash ROM consisting of data blocks and metadata blocks; a virtual EEPROM emulated by the flash ROM; and a processor capable of accessing the flash ROM; the data blocks including a plurality of first sectors in which usage data is stored, and the metadata blocks including a plurality of second sectors in which metadata on the usage data is stored.

[0007] In one embodiment, the virtual EEPROM may include a plurality of third sectors, and the size of the third sector may be configured to be the same as the size of the first sector.

[0008] In one embodiment, metadata can be a data structure in which nodes indicating the index of a first sector are arranged in multiple layers that correspond to the index of a third sector, where the usage data currently stored or previously stored in the third sector is actually stored in the first sector.

[0009] In one embodiment, the processor may be configured to receive a change command for usage data stored in a third sector, store the usage data corresponding to the change command in a data block, and store metadata on the usage data stored in the data block in a metadata block.

[0010] In one embodiment, the processor may be configured to identify a first sector among a plurality of first sectors included in the data block in which no used data is stored, and to store the used data corresponding to the change command in the first sector with the lowest index among the identified first sectors.

[0011] In one embodiment, the processor may be configured to identify the latest metadata in the metadata stored in the metadata block, update the identified metadata, identify a second sector among a plurality of second sectors included in the metadata block in which no metadata is stored, and store the updated metadata in the second sector with the lowest index among the identified second sectors.

[0012] In one embodiment, the processor may be configured to update the identified metadata by identifying the index of the third sector that is the target of the change command, identifying the layer corresponding to the identified index of the third sector in the layers included in the identified metadata, and adding a node indicating that the index of the first sector in which the usage data corresponding to the change command is stored is added to the rightmost side of the identified layer.

[0013] In one embodiment, a method of operating an electronic device for emulating an EEPROM, the electronic device comprising: a flash ROM consisting of a data block and a metadata block; a virtual EEPROM emulated by the flash ROM; and a processor capable of accessing the flash ROM; the data block comprising a plurality of first sectors wherein usage data is stored, and the metadata block comprising a plurality of second sectors wherein metadata on the usage data is stored, the method comprising: receiving a change command for the usage data stored in the virtual EEPROM; storing the usage data corresponding to the change command in the data block; and storing the metadata on the usage data stored in the data block in the metadata block according to the change command.

[0014] In one embodiment, the virtual EEPROM may include a plurality of third sectors, and the size of the third sector may be configured to be the same as the size of the first sector.

[0015] In one embodiment, metadata can be a data structure in which nodes indicating the index of a first sector are arranged in multiple layers that correspond to the index of a third sector, where the usage data currently stored or previously stored in the third sector is actually stored in the first sector.

[0016] In one embodiment, storing usage data in a data block may include identifying a first sector among a plurality of first sectors included in the data block in which no usage data is stored, and storing the usage data corresponding to the change command in the first sector with the lowest index among the identified first sectors.

[0017] In one embodiment, storing metadata in a metadata block may include identifying the latest metadata in the metadata stored in the metadata block, updating the identified metadata, identifying a second sector among a plurality of second sectors included in the metadata block in which no metadata is stored, and storing the updated metadata in the second sector with the lowest index among the identified second sectors.

[0018] In one embodiment, updating the identified metadata may include identifying the index of the third sector that is the target of the change command, identifying the layer corresponding to the identified index of the third sector in the layers included in the identified metadata, and adding a node indicating the index of the first sector in which usage data corresponding to the change command is stored to the far right of the identified layer.

[0019] According to one aspect of this disclosure, a virtual EEPROM can be implemented by emulating an EEPROM using a flash ROM, ensuring that the entire flash ROM is used equally during the process of emulating an EEPROM using a flash ROM, and providing traceability of data previously stored in the EEPROM emulated using a flash ROM. Attached Figure Description

[0020] Figure 1 This is a block diagram illustrating an electronic device for emulating an EEPROM according to an embodiment of the present disclosure.

[0021] Figure 2 and Figure 3 This is an exemplary view used to describe an electronic device for emulating an EEPROM according to an embodiment of the present disclosure.

[0022] Figures 4 to 7 This is a flowchart describing a method for operating an electronic device for emulating an EEPROM according to an embodiment of the present disclosure.

[0023] Figure 8 is an exemplary view for describing a method of operating an electronic device for emulating an EEPROM according to an embodiment of the present disclosure. Detailed Implementation

[0024] The following will describe in detail, with reference to the accompanying drawings, an electronic device for simulating an electrically erasable programmable read-only memory (EEPROM) and its operation method therein, according to embodiments of the present disclosure. In this process, for clarity and convenience, the thickness of lines or the dimensions of components shown in the drawings may be exaggerated. Furthermore, the terminology described below is defined in consideration of the functionality in this disclosure and may vary according to the intentions or habits of the user and operator. Therefore, the terminology should be defined based on the entire content of this specification.

[0025] Figure 1 This is a block diagram illustrating an electronic device for emulating an EEPROM according to an embodiment of the present disclosure, and Figure 2 and Figure 3 This is an exemplary view used to describe an electronic device for emulating an EEPROM according to an embodiment of the present disclosure.

[0026] refer to Figure 1 An electronic device for emulating an EEPROM according to an embodiment of the present disclosure may include a flash ROM 100, a virtual EEPROM 200, and a processor 300.

[0027] Figure 2 An embodiment of the structure of the flash memory ROM 100 is shown. (Reference) Figure 2 The flash ROM 100 may consist of data blocks and metadata blocks. The data blocks include multiple first sectors in which the data is used is stored, and the metadata blocks include multiple second sectors in which the metadata is used is stored.

[0028] A data block is an area where used data is stored, and may include multiple first sectors where used data is stored. The individual first sectors included in a data block may be of the same size; that is, the data block may be divided into sectors of a constant size. An index corresponding to an identification number used to identify the respective sector may be assigned to each first sector, and this index may be the address value of the respective sector. Indexes may also be assigned to the metadata block and each sector included in the virtual EEPROM 200, as will be described below.

[0029] A metadata block is an area where metadata on the data is used is stored, and it may include multiple second sectors where metadata is stored. The individual second sectors included in a metadata block can be the same size as each other; that is, the metadata block can be divided into sectors of a constant size. An index corresponding to an identification number used to identify the respective sector can be assigned to each second sector, and activity data providing information about whether metadata is stored in the corresponding second sector can also be stored in the second sector.

[0030] The virtual EEPROM 200 is a virtual storage space emulated by the flash ROM 100 and may include multiple third sectors. The sizes of the individual third sectors included in the virtual EEPROM 200 can be the same. Furthermore, the size of the third sectors included in the virtual EEPROM 200 can be the same as the size of the first sectors included in the data block. The number of third sectors included in the virtual EEPROM 200 can be set to be less than the number of first sectors included in the data block.

[0031] Metadata can be mapping data used to map some sectors of a plurality of first sectors included in a data block to a plurality of third sectors included in the virtual EEPROM 200. In other words, metadata is information used to indicate the first sectors among the plurality of first sectors included in the data block that are used as storage space in the virtual EEPROM 200, and may include information about the indexes of the first sectors, in which the used data stored in each of the third sectors included in the virtual EEPROM 200 is actually stored. Metadata can be in the form of a data structure.

[0032] Metadata can be a data structure in which nodes indicating the index of a first sector are arranged in multiple layers corresponding to the index of a third sector, where the actual used data currently stored or previously stored in the third sector is stored in the first sector. In other words, nodes indicating the index of a first sector can be arranged in layer N, where the actual used data currently stored or previously stored in the third sector with index N is stored in the first sector.

[0033] Metadata can be in the form of a tree structure, and when metadata is described as having a tree structure, the number of third sectors included in the virtual EEPROM 200 can correspond to the depth, the index of the third sector can correspond to the level, and the index in which the currently stored or previously stored data in the third sector is actually stored can correspond to the node.

[0034] Figure 3 An example of a metadata structure is shown. (Reference) Figure 3 When four third sectors are provided in the metadata, a total of four layers can exist, and the index of the first sector can be arranged as a node in layer 0, where the actual usage data currently stored or previously stored in the third sector with index 0 is stored. Similarly, the index of the first sector can be arranged as a node in layer 1, where the actual usage data currently stored or previously stored in the third sector with index 1 is stored.

[0035] Furthermore, each node can be arranged according to the order in which the usage data indicated by the node is stored in the third sector. For example, nodes indicating usage data stored earlier in the third sector can be arranged on the left side of the layer, and nodes indicating usage data stored later in the third sector can be arranged on the right side of the layer. (Reference) Figure 3 The rightmost node in the nodes arranged in layer 3 can be a node that indicates the usage data currently stored in the third sector with index 3, and the leftmost node in the nodes arranged in layer 3 can be a node that indicates the usage data originally stored in the third sector with index 3.

[0036] Processor 300 can receive a change command for usage data stored in a third sector included in virtual EEPROM 200. The change command may include information about the third sector to be changed and information about the new usage data to be stored in the third sector to be changed. Processor 300 may include an interface for receiving the change command.

[0037] The processor 300 can store usage data corresponding to a change command in a data block. According to one embodiment, the processor 300 can identify first sectors among a plurality of first sectors included in the data block that do not store usage data, and store the usage data corresponding to the change command in the first sector with the lowest index among the identified first sectors. In other words, when usage data stored in the virtual EEPROM 200 is changed, the processor 300 can sequentially store the changed usage data in the data block of the flash ROM 100.

[0038] Processor 300 can store metadata on usage data stored in data blocks in metadata blocks according to change commands. Specifically, processor 300 can identify the latest metadata in the metadata stored in the metadata blocks, update previously identified metadata by reflecting the changed items, identify second sectors among the multiple second sectors included in the metadata blocks where no metadata is stored, and store the updated metadata in the second sector with the lowest index among the identified second sectors. In other words, when usage data stored in virtual EEPROM 200 is changed, processor 300 can update metadata by reflecting the changed items and store the updated metadata sequentially in the metadata blocks. The above processing can be applied in the same manner even when usage data is first input to the third sector.

[0039] Processor 300 can identify the index of the third sector that is the target of the change command, identify the layer corresponding to the identified index of the third sector in the layers included in the metadata, and add a node indicating the index of the first sector in which the usage data corresponding to the change command is stored to the rightmost side of the previously identified layer. In other words, processor 300 can update the metadata by additionally placing a node indicating the index of the first sector in which the changed usage data is actually stored to the right of the current node in the layer corresponding to the changed third sector.

[0040] As described above, this embodiment can provide traceability of past usage data stored in the virtual EEPROM 200 by constructing metadata in the form of added nodes arranged to the right of the current node. In other words, the processor 300 can not only track the usage data currently stored in the virtual EEPROM 200, but also track the usage data previously stored in the virtual EEPROM 200 by analyzing the tree structure. In other words, the processor 300 can identify the rightmost node among the nodes arranged in the layers included in the metadata using the address of the usage data currently stored in the third sector corresponding to the corresponding level (i.e., the index of the first sector), and identify the node to its left using the address of the usage data previously stored in the corresponding third sector.

[0041] Furthermore, in this embodiment, when usage data is stored in a data block or metadata is stored in a metadata block, the equitable use of the entire flash ROM 100 can be ensured by storing the usage data or metadata sequentially in the data block or metadata block. In other words, in this embodiment, when data is changed, by storing the changed data in the blank space of the flash ROM 100 without modifying the corresponding data, it is possible to prevent data from being repeatedly recorded only in a specific area of ​​the flash ROM 100, and the entire flash ROM 100 can be used equitably.

[0042] Simultaneously, the processor 300 can initialize the flash ROM 100 when usage data is stored in all the first sectors included in the data block or metadata is stored in all the second sectors included in the metadata block. At this time, usage data stored only in the virtual EEPROM 200 is stored in a buffer before initialization, and then the usage data stored in the buffer can also be stored in the data block after initialization.

[0043] Figure 4 This is a first flowchart describing a method for operating an electronic device for emulating an EEPROM according to an embodiment of the present disclosure, and referenced to... Figure 4First, the processor 300 receives a change command for the usage data stored in the virtual EEPROM 200 (S401).

[0044] When a change command is received, the processor 300 stores the usage data corresponding to the change command in a data block (S403). The specific method by which the processor 300 stores the usage data corresponding to the change command in the data block will be described below.

[0045] Subsequently, the processor 300 stores the metadata on the usage data stored in the data block into the metadata block according to the change command (S405). The specific method for the processor 300 to store the metadata on the usage data stored in the data block into the metadata block according to the change command will be described below.

[0046] Figure 5 This is a second flowchart describing a method for operating an electronic device for emulating an EEPROM according to an embodiment of the present disclosure, and will be referenced to... Figure 5 This describes the process by which the processor 300 records the used data in a data block.

[0047] First, the processor 300 identifies the first sector among the multiple first sectors that does not store used data (S501).

[0048] Subsequently, the processor 300 stores the usage data corresponding to the change command in the first sector with the lowest index in the identified first sector (S503). In other words, when the usage data stored in the virtual EEPROM 200 is changed, the processor 300 can sequentially store the changed usage data in the data blocks of the flash ROM 100.

[0049] Figure 6 This is a third flowchart describing a method for operating an electronic device for emulating an EEPROM according to an embodiment of the present disclosure, and will be referenced to... Figure 6 This describes the process by which processor 300 records metadata in a metadata block.

[0050] First, the processor 300 identifies the latest metadata in the metadata stored in the metadata block (S601). The processor 300 can identify the metadata in the sector with the highest index in the second sector where the metadata is stored as the latest metadata.

[0051] Subsequently, the processor 300 updates the metadata by reflecting the changed items (S603). The specific method by which the processor 300 updates the metadata will be described below.

[0052] Subsequently, the processor 300 identifies second sectors among the multiple second sectors included in the metadata block that do not store metadata (S605). The processor 300 can identify second sectors among the multiple second sectors included in the metadata block that do not store metadata based on active data.

[0053] Subsequently, the processor 300 stores the updated metadata in the second sector with the lowest index in the identified second sector (S607). In other words, when the metadata is updated as the usage data stored in the virtual EEPROM 200 changes, the processor 300 can sequentially store the updated metadata in the metadata blocks of the flash ROM 100.

[0054] Figure 7 This is a fourth flowchart describing a method for operating an electronic device emulating an EEPROM according to an embodiment of the present disclosure, and will be referenced to... Figure 7 Describes the process of updating metadata by processor 300.

[0055] First, the processor 300 identifies the index of the third sector that is the target of the change command (S701). The processor 300 may refer to the index of the third sector that the change command identifies as the target of the change command.

[0056] Subsequently, the processor 300 identifies the layer corresponding to the index of the identified third sector among the layers included in the metadata (S703).

[0057] Subsequently, the processor 300 adds the node indicating the index of the first sector containing the usage data corresponding to the change command to the rightmost side of the previously identified layer (S705). In other words, the processor 300 can update the metadata by additionally placing the node indicating the index of the first sector containing the changed usage data to the right of the current node in the layer corresponding to the changed third sector.

[0058] Figure 8 is an exemplary view for describing a method of operating an electronic device for emulating an EEPROM according to an embodiment of the present disclosure, and an embodiment in which an EEPROM is emulated will be described with reference to Figure 8.

[0059] Figure 8AThe illustration shows a scenario where usage data is initially stored in a virtual EEPROM 200 comprising four third sectors. In this case, usage data from the third sector with index 0 to the third sector with index 3 can actually be stored in the first sector from the first sector with index 0 to the first sector with index 3 included in the data block. Simultaneously, metadata indicating that usage data from the third sector with index 0 to the third sector with index 3 is stored in the first sector from the first sector with index 0 to the first sector with index 3 can be stored in the form of a data structure in the second sector with index 0 included in the metadata block.

[0060] Figure 8B It shows in Figure 8A In the case where a change command is input for usage data stored in the third sector with index 2, the processor 300 first stores the usage data corresponding to the change command in the first sector with index 4. Then, the processor 300 updates the metadata by adding a node indicating the index (i.e., index 4) of the first sector where the usage data was previously stored; layer 2 is the layer with the third sector having index 2 corresponding to the metadata. The processor 300 then stores the updated metadata in the second sector with index 1.

[0061] Figure 8C It shows in Figure 8B In the case where a change command for usage data stored in the third sector with index 3 is input under the specified state, the processor 300 first stores the usage data corresponding to the change command in the first sector with index 5. Then, the processor 300 updates the metadata by adding a node indicating the index (i.e., index 5) of the first sector where the usage data was previously stored. Layer 3 is the layer with the third sector having index 2 in the layer corresponding to the metadata. Subsequently, the processor 300 stores the updated metadata in the second sector with index 2.

[0062] Figure 8D It shows in Figure 8C In the case where a change command for usage data stored in the third sector with index 2 is re-entered under the current state, the processor 300 first stores the usage data corresponding to the change command in the first sector with index 6. Then, the processor 300 updates the metadata by adding a node indicating the index (i.e., index 6) of the first sector where the usage data was previously stored; layer 2 is the layer with the third sector having index 2 corresponding to the metadata. The processor 300 then stores the updated metadata in the second sector with index 3.

[0063] Figure 8E It shows in Figure 8D In the case where a change command for usage data stored in the third sector with index 0 is input, the processor 300 first stores the usage data corresponding to the change command in the first sector with index 7. Then, the processor 300 updates the metadata by adding a node indicating the index (i.e., index 7) of the first sector where the usage data was previously stored. Layer 0 is the layer with the third sector with index 2 corresponding to the metadata. The processor 300 then stores the updated metadata in the second sector with index 4.

[0064] Figure 8F It shows in Figure 8E In the case where a change command for usage data stored in the third sector with index 1 is input, the processor 300 first stores the usage data corresponding to the change command in the first sector with index 8. Then, the processor 300 updates the metadata by adding a node indicating the index (i.e., index 8) of the first sector where the usage data was previously stored. Layer 1 is the layer corresponding to the metadata, specifically the layer with the third sector having index 2. The processor 300 then stores the updated metadata in the second sector with index 5.

[0065] As described above, in this embodiment, a virtual EEPROM can be implemented by emulating an EEPROM using a flash ROM, ensuring the equal use of the entire flash ROM during the process of emulating an EEPROM using a flash ROM, and providing traceability of the data previously stored in the EEPROM using the flash ROM emulation.

[0066] The term "module" as used in this specification can include units implemented in hardware, software, or firmware, and is used interchangeably with terms such as logic, logic block, component, or circuit. A module can be a monolithically formed component or part of a smallest unit or component for performing one or more functions. For example, according to one embodiment, the module can be implemented using an application-specific integrated circuit (ASIC). Furthermore, the embodiments described in this specification can be performed as methods or processes, apparatus, software programs, data streams, or signals, for example. Although discussed only in the context of a single form of implementation (e.g., discussed only as a method), the features discussed can also be implemented in other forms (e.g., apparatus or program). The apparatus can be implemented as suitable hardware, software, firmware, etc. For example, the method can be implemented by an apparatus such as a processor, which generally refers to a processing device including a computer, microprocessor, integrated circuit, or programmable logic device. The processor can also include communication devices such as computers, cellular phones, portable / personal digital assistants (PDAs), and other devices that facilitate information communication between end users.

[0067] Although this disclosure has been described with reference to exemplary embodiments shown in the accompanying drawings, those skilled in the art will understand that it is merely illustrative and that various modifications and other equivalent embodiments are possible. Therefore, the true technical scope of this disclosure should be defined by the appended claims.

Claims

1. An electronic device for emulating an electrically erasable programmable read-only memory, comprising: a flash read-only memory consisting of a data block including a plurality of first sectors in which usage data is stored and a metadata block including a plurality of second sectors in which metadata on the usage data is stored; a virtual electrically erasable programmable read-only memory emulated by the flash read-only memory; and a processor that can access the flash read-only memory, the virtual electrically erasable programmable read-only memory including a plurality of third sectors, and wherein the metadata is a form of data structure in which nodes indicating indices of the first sectors in which the usage data currently stored or previously stored in the third sectors is actually stored are arranged in a plurality of layers formed to correspond to indices of the third sectors. The size of the third sectors is formed to be the same as the size of the first sectors.

2. The electronic device for emulating electrically erasable programmable read only memory according to claim 1, wherein, The processor is configured to receive a change command for the usage data stored in the third sectors, store the usage data corresponding to the change command in the data block, and store metadata on the usage data stored in the data block in the metadata block.

3. The electronic device for emulating electrically erasable programmable read only memory of claim 1, wherein, The processor is configured to identify a first sector in which the usage data is not stored among the plurality of first sectors included in the data block, and store the usage data corresponding to the change command in a first sector having a lowest index among the identified first sectors.

4. The electronic device for emulating electrically erasable programmable read only memory of claim 3, wherein, The processor is configured to identify the latest metadata in the metadata stored in the metadata block, update the identified metadata, identify a second sector in which the metadata is not stored among the plurality of second sectors included in the metadata block, and store the updated metadata in a second sector having a lowest index among the identified second sectors.

5. The electronic device for emulating electrically erasable programmable read only memory of claim 3, wherein, The processor is configured to update the identified metadata by identifying an index of a third sector targeted by the change command, identifying a layer corresponding to the identified index of the third sector among layers included in the identified metadata, and adding a node indicating the index of the first sector in which the usage data corresponding to the change command is stored to a rightmost side of the identified layer.

6. The electronic device for emulating electrically erasable programmable read only memory of claim 5, wherein, a flash read-only memory consisting of a data block including a plurality of first sectors in which usage data is stored and a metadata block including a plurality of second sectors in which metadata on the usage data is stored; 7. A method of operating an electronic device for emulating electrically erasable programmable read-only memory, the electronic device comprising: a virtual electrically erasable programmable read-only memory emulated by the flash read-only memory; and a processor that can access the flash read-only memory, the method comprising: receiving a change command for usage data stored in the virtual electrically erasable programmable read-only memory; storing usage data corresponding to the change command in the data block; and storing metadata on the usage data stored in the data block in the metadata block according to the change command; ​ The virtual electrically erasable programmable read-only memory includes a plurality of third sectors, and The metadata is a form of data structure in which nodes indicating indices of the first sectors in which usage data currently stored or previously stored in the third sectors is actually stored are arranged in a plurality of layers formed to correspond to indices of the third sectors.

8. The method of claim 7, wherein, The size of the third sectors is formed to be the same as the size of the first sectors.

9. The method of claim 7, wherein, Storing the usage data in the data block includes: identifying a first sector in which the usage data is not stored among the plurality of first sectors included in the data block; and storing the usage data corresponding to the change command in the first sector having the lowest index among the identified first sectors.

10. The method of claim 7, wherein, Storing the metadata in the metadata block includes: identifying the latest metadata among the metadata stored in the metadata block; updating the identified metadata; identifying a second sector in which the metadata is not stored among the plurality of second sectors included in the metadata block; and storing the updated metadata in the second sector having the lowest index among the identified second sectors.

11. The method of claim 10, wherein, Updating the identified metadata includes: identifying an index of a third sector targeted by the change command; identifying a layer corresponding to the identified index of the third sector among the layers included in the identified metadata; and adding a node indicating the index of the first sector in which the usage data corresponding to the change command is stored to the rightmost side of the identified layer.

Citation Information

Patent Citations

  • Apparatus and method for controlling eeprom

    KR1020210076676A

  • Flash-based eeprom emulation using error correction control

    US20120204078A1

  • KR1018267780000B1