RFID system, allocation device, and allocation method
The RFID system optimizes memory allocation by assigning variables to the minimum required blocks, addressing inefficiencies and extending RFID tag lifespan through efficient memory access and allocation strategies.
Patent Information
- Application Number
- JP2022062117
- Authority / Receiving Office
- JP · JP
- Patent Type
- Patents
- Current Assignee / Owner
- Filing Date
- 2022-04-01
- Publication Date
- 2026-01-14
- Estimated Expiration
- 2042-04-01
AI Technical Summary
Existing RFID tag memory allocation methods result in wasteful memory access and reduced lifespan due to inefficient allocation of variables across multiple memory blocks and excessive updates, exceeding the limited write capacity of EEPROM.
An RFID system that allocates variables to memory blocks based on their size and address range, ensuring each variable is assigned to the minimum required number of blocks, with separate blocks for each variable and consideration of update frequency and groupings to optimize memory access and extend lifespan.
This approach reduces unnecessary memory access, conserves memory, extends the lifespan of RFID tags by minimizing block usage, and enables high-speed access by ensuring efficient allocation and warning mechanisms.
Smart Images

Figure 0007797946000001 
Figure 0007797946000002 
Figure 0007797946000003
Abstract
Description
[Technical Field]
[0001] The present invention relates to the assignment of variables in RFID systems. [Background technology]
[0002] An RFID (Radio Frequency Identifier) tag communicates with a reader / writer without contact and stores data received from the reader / writer in the non-volatile memory of the RFID tag. The reader / writer also reads the data stored in the RFID tag without contact. RFID systems using such reader / writers and RFID tags are widely used.
[0003] Patent Document 1 discloses a technology for dumping memory contents as a memory dump and analyzing the memory dump. Patent Document 1 discloses that when analyzing a memory dump, the contents of a table from the memory dump are analyzed, and the contents are displayed in a way that is easy for people to understand, unnecessary parts are deleted, and necessary parts are highlighted. [Prior art documents] [Patent documents]
[0004] [Patent Document 1] Japanese Patent Application Publication No. 9-106362 Summary of the Invention [Problem to be solved by the invention]
[0005] Here, EEPROM (Electrically Erasable Programmable Read-Only Memory) (registered trademark), a non-volatile memory used in RFID tags, performs memory access in units of memory blocks each consisting of a collection of multiple consecutive bytes. In other words, when accessing (retrieving or updating) a specific variable, it is necessary to access all memory blocks in which the variable is stored.
[0006] Therefore, depending on how variables are allocated, a variable that can fit in a single memory block may be allocated to multiple memory blocks, resulting in wasted memory access.
[0007] In addition, the EEPROM used in RFID tags has a limit on the number of writes (updates) that can be made, which is approximately 100,000. Therefore, if multiple variables are assigned to one memory block, the number of writes will be consumed even when updating other variables, which may shorten the lifespan of the RFID tag.
[0008] An aspect of the present invention aims to reduce wasteful memory accesses when allocating variables in an RFID tag. [Means for solving the problem]
[0009] In order to solve the above problems, an RFID system according to one embodiment of the present invention is an RFID system that uses an RFID tag that performs memory access on a memory block basis, which is an address unit of a predetermined block size, and includes: an acquisition unit that acquires multiple variables to be allocated to the memory of the RFID tag and the size or address range of each variable; and an allocation unit that allocates the variables to memory so that the number of memory blocks used by the variables is the number of memory blocks required to allocate the variables, which is determined from the size or address range of the variables.
[0010] In the above configuration, each variable is allocated to the required number of memory blocks, and each variable can be accessed with the minimum number of memory accesses, resulting in efficient memory access.
[0011] The allocating unit may allocate a different memory block for each of the variables.
[0012] In the above configuration, each variable is assigned to a different memory block, so a single memory block is not shared by multiple variables. This allows for a longer lifespan for RFID tags, which have a limited number of updates.
[0013] If allocating a second variable to the area following the area allocated to the first variable would cause the number of memory blocks used by the second variable to be greater than the number of required memory blocks, the allocating unit may allocate the second variable to another memory block rather than to the memory block to which the first variable is allocated.
[0014] In the above configuration, multiple variables can share a single memory block. This reduces the amount of non-volatile memory used in the RFID tag. Also, the number of memory blocks used can be reduced, resulting in faster memory access.
[0015] The RFID system may further include a warning unit that issues a warning when the number of memory blocks used by the variables allocated by the user is greater than the number of required memory blocks.
[0016] In the above configuration, a warning can be issued if the number of memory blocks used by variables allocated by user input is greater than the number of required memory blocks.
[0017] The acquisition unit may further acquire information about a group including a plurality of the variables, and the RFID system may further include a warning unit that issues a warning when variables belonging to different groups are assigned to a single memory block.
[0018] In the above configuration, a memory block can be allocated to each group of multiple variables that are often accessed at the same time. Therefore, even if multiple variables share a single memory block, multiple variables that access memory at the same time are included in the same group, which enables efficient memory access, a longer lifespan for RFID tags, and high-speed memory access.
[0019] The acquisition unit may further acquire the update frequency of the variables, and the RFID system may further include a warning unit that, when a single memory block contains at least two or more of the variables, compares the update frequency of one variable with the update frequency of another variable and issues a warning according to predetermined conditions.
[0020] In the above configuration, when multiple variables share a single memory block, the combinations of variables that are allowed can be limited depending on the update frequency of the variables assigned to that single memory block.
[0021] For example, if a variable that is updated frequently and a variable that does not need to be changed after being written once share a single memory block, the lifespan of the RFID tag may be sufficiently guaranteed. However, if a variable that is updated frequently at one time and a variable that is updated frequently at another time share a single memory block, it may not be possible to guarantee the lifespan of the RFID tag. By taking the update frequency into consideration, such cases can be prevented, thereby achieving a long lifespan for RFID tags.
[0022] The RFID system may further include a warning unit that issues a warning when the variable is allocated outside a predetermined memory area.
[0023] The above configuration can limit the memory blocks to which variables can be allocated. This prevents variables from being allocated to reserved areas where variables should not be allocated, thereby preventing improper operation of the RFID system.
[0024] In order to solve the above problem, an allocation device according to another aspect of the present invention is an allocation device that allocates memory to an RFID tag that accesses memory on a memory block-by-memory block basis, which is an address unit of a predetermined block size, and includes: an acquisition unit that acquires multiple variables to be allocated to the memory of the RFID tag and the size or address range of each variable; and an allocation unit that allocates the variables to memory so that the number of memory blocks used by the variables is the number of memory blocks required to allocate the variables, which is determined from the size or address range of the variables.
[0025] In order to solve the above problem, an allocation method according to another aspect of the present invention includes an acquisition step of acquiring multiple variables to be allocated to the memory of an RFID tag and the size or address range of each variable, and an allocation step of allocating the variables to the memory so that the number of memory blocks used by the variables is the number of memory blocks required to allocate the variables, which is determined from the size or address range of the variables. [Effects of the Invention]
[0026] According to one aspect of the present invention, memory access to an RFID tag is made more efficient. [Brief explanation of the drawings]
[0027] [Figure 1] 1 is a block diagram showing the configuration of a main part of an RFID system according to a first embodiment. [Figure 2] This is a setting item for allocation information. [Figure 3] This is the result of allocating the allocation information in FIG. 2 according to allocation rule 1 when the memory block is 4 bytes. [Figure 4]This is the result of allocating the allocation information in FIG. 2 according to allocation rule 2 when the memory block is 4 bytes. [Figure 5] This is the result of allocating the allocation information in FIG. 2 according to allocation rule 3 when the memory block is 4 bytes. [Figure 6] This is the result of variable allocation in a case where multiple variables are allocated based on groups in a memory block of 4 bytes. [Figure 7] This is a condition table that determines whether to issue a warning under certain conditions when multiple variables share a single memory block. [Figure 8] This is a condition table that determines whether to issue a warning under different conditions when multiple variables share a single memory block. DETAILED DESCRIPTION OF THE INVENTION
[0028] [Embodiment 1] Hereinafter, an embodiment according to one aspect of the present invention (hereinafter also referred to as "the present embodiment") will be described with reference to the drawings. In the drawings, the same or corresponding parts are designated by the same reference numerals, and description thereof will not be repeated.
[0029] §1 Application Examples Fig. 1 is a block diagram showing the configuration of the main parts of an RFID system 1 according to embodiment 1. As shown in Fig. 1, the RFID system 1 includes a server (allocation device) 2, a reader / writer 3, and an RFID tag 4. In the RFID system 1, the server 2 accepts a user operation, determines the allocation of memory to be written to the RFID tag 4, and updates the memory of the RFID tag 4 with the determined allocation via the reader / writer 3.
[0030] In the non-volatile memory used in the RFID tag 4, memory access is performed in units of memory blocks, which are collections of multiple consecutive bytes. Therefore, if the memory allocation status is such that variables are allocated across memory blocks, unnecessary memory access occurs. In other words, the time required for memory access increases, making it inefficient.
[0031] In this embodiment, an RFID system is realized that has a function of preventing allocation that would result in inefficient memory access.
[0032] §2 Configuration example (RFID System 1 Configuration) The server 2 is operated by the user who assigns variables to the memory of the RFID tag 4, and handles everything from inputting the variables to be assigned by the user to actually assigning the variables. If an abnormality occurs in the assigned variables, the server 2 issues a warning.
[0033] The reader / writer 3 obtains and / or updates the data of the RFID tag 4 according to instructions from the server 2 .
[0034] The RFID tag 4 stores data in a nonvolatile memory and outputs and / or updates the data by wirelessly communicating with a reader / writer. The nonvolatile memory is an EEPROM.
[0035] (Server 2 configuration) The server 2 includes an acquisition unit 21, an allocation unit 23, and a warning unit 24. The server 2 is also connected to a display 51, a keyboard 52, and an indicator light 53.
[0036] The acquisition unit 21 acquires information on variable allocation from an external device and outputs it to the allocation information 22. The acquisition unit 21 may also input variables to be allocated by user input via the keyboard 52 or the like and output it to the allocation information 22.
[0037] Fig. 2 shows the setting items of the allocation information 22. As shown in Fig. 2, the allocation information 22 includes the variable name, variable type, start address, end address, and size of the variable. In other words, the acquisition unit 21 acquires multiple variables to be allocated to the memory of the RFID tag and the size or address range of each variable.
[0038] Among these, the start address, end address, and size of the variable are interrelated. Changing the size of a variable changes the end address taking into account the start address, and changing the end address changes the size of the variable taking into account the start address. Changing the start address changes the end address taking into account the size of the variable.
[0039] There is also a correlation between some variable types and variable sizes. For example, "INT" represents a 16-bit integer, which is 2 bytes, so the variable size is 2. "LONG" represents a 64-bit integer, which is 8 bytes, so the variable size is 8. In contrast, "ASCII" represents a 1-byte code, with 1 byte representing 1 character, so the variable size essentially corresponds to the number of characters. Also, "BOOL" actually has a variable size of 1 bit, but is assigned a size of 1 byte from the perspective of memory access. "BCD" has a variable size that corresponds to the number of decimal digits.
[0040] The allocation unit 23 allocates variables to the nonvolatile memory of the RFID tag in accordance with the allocation information 22. Furthermore, if the setting items described in the allocation information 22 do not conform to a predetermined rule, the allocation unit 23 also has a function (automatic allocation) of appropriately correcting the setting items in accordance with the predetermined allocation rule and allocating variables. The predetermined allocation rule will be described in detail later.
[0041] The warning unit 24 issues a warning via the indicator light 53 when a setting item described in the allocation information 22 is in a state where waste occurs in memory access or when allocation exceeds a predetermined memory area. The medium for issuing the warning is not limited to the indicator light, and any medium or method may be used. For example, the warning may be displayed on the display 51.
[0042] After the allocation unit 23 allocates variables and modifies the allocation information 22, the acquisition unit 21 may accept user input and change the allocation of variables as appropriate. Even in this case, the warning unit 24 is still operating and can issue a warning.
[0043] (About non-volatile memory) Here, we will explain the memory configuration of the nonvolatile memory of the RFID tag 4. In the RFID tag 4, the nonvolatile memory is divided into a number of memory blocks for management. The memory blocks are address units of a predetermined block size. The block size of the memory blocks varies depending on the RFID tag 4. For example, in this embodiment, the block size of the memory blocks is set to 4 bytes.
[0044] The memory of the RFID tag 4 is accessed for each memory block, that is, even when accessing only a part of an address included in a certain memory block, the entire memory block is accessed.
[0045] For example, let us consider the case where address 0x00 of the first memory block (addresses 0x00 to 0x03) is accessed. Address 0x00 is the target of access, so memory access is performed, and addresses 0x01 to 0x03 are also accessed because they are included in the same memory block. Memory access can be for data acquisition (reading) or data update (writing).
[0046] Furthermore, the nonvolatile memory used in the RFID tag 4 has a limit on the number of times it can be updated, typically about 100,000 times. Therefore, the lifespan of the RFID tag is determined by the frequency and number of updates.
[0047] §3 Example of operation (Allocation rule type) The allocation rules in the allocation unit 23 are roughly divided into three types: allocation rule 1, which respects user input, allocation rule 2, which prioritizes the lifespan of RFID tags, and allocation rule 3, which prioritizes high-speed memory access to RFID tags.
[0048] (Regarding allocation rule 1) In allocation rule 1, in order to respect the user input, the allocation unit 23 does not automatically allocate variables, but only allocates variables to memory blocks in accordance with the allocation information 22 obtained from the user input.
[0049] Figure 3 shows the result of allocating the allocation information 22 in Figure 2 according to allocation rule 1 for a 4-byte memory block. Figure 3 is a table showing memory blocks in rows and addresses in the memory blocks in columns. The MSB (Most Significant Bit) is the most significant bit, and the LSB (Least Significant Bit) is the least significant bit.
[0050] As shown in Figure 3, variable A is 3 bytes in size and can be allocated with one memory block, but is actually allocated from 0x02 to 0x04, traversing two memory blocks. Also, variable B is 8 bytes in size and can be allocated with two memory blocks, but is actually allocated from 0x05 to 0x0C, traversing three memory blocks. Therefore, memory access to these memory blocks is inefficient.
[0051] In contrast, the variables C (0x10), D (0x12-0x13), and E (0x14-0x17) are all contained in a single memory block, making memory access to these memory blocks efficient.
[0052] In this way, the number of allocated memory blocks may differ from the number of memory blocks required to allocate the variables (minimum number of memory blocks required) calculated from the variable size or address range. In such cases, memory access to these variables will require memory access to the number of memory blocks required plus one, rather than the minimum memory access, resulting in excessive memory access.
[0053] The required number of memory blocks is calculated using the following formula: Required number of memory blocks = Round up to the first decimal place (variable size / block size) Allocation rules 2 and 3, which will be explained below, differ from allocation rule 1 in that they perform processing in which the number of memory blocks used by a variable is set as the number of required memory blocks.
[0054] (Regarding allocation rule 2) Allocation rule 2 allocates a different memory block for each variable. That is, only one variable is allocated to a single memory block.
[0055] Figure 4 shows the result of allocating allocation information 22 in Figure 2 according to allocation rule 2 when the memory block is 4 bytes. Variables A to E are allocated to memory blocks in the number of required memory blocks. Therefore, each variable can be accessed with the minimum number of memory accesses, resulting in efficient memory access.
[0056] It can also be seen that the memory blocks containing variables A to E do not contain other variables. Therefore, a single memory block is not shared by multiple variables. Since only the memory block containing the target variable is updated when a variable is updated, the lifespan of the RFID tag 4, which has a limited number of updates, can be extended.
[0057] Here, for areas of the memory block to be updated where no variables have been allocated, padding processing is performed in which all bits of 0 or 1 are written.
[0058] (Regarding allocation rule 3) Allocation rule 3 states that when allocating an already allocated first variable and an unallocated second variable, the number of memory blocks used by the variables is the required number of memory blocks, and multiple variables are packed as tightly as possible into a single memory block. In other words, if allocating the second variable to the area contiguous to the area allocated to the first variable would result in the number of memory blocks used by the second variable being greater than the required number of memory blocks, the second variable will not be allocated to the memory block allocated to the first variable, but will be allocated to a different memory block.
[0059] FIG. 5 shows the result of allocating the allocation information 22 in FIG. 2 according to allocation rule 3 in a memory block of 4 bytes.
[0060] Specifically, the allocation unit 23 first allocates variable A to 0x00 to 0x02. Next, variable B is allocated, but the required number of memory blocks is two. If variable B is allocated to the area following variable A, variable B will use three memory blocks. Therefore, variable B is allocated to a different memory block, 0x04 to 0x0B. After variable B is allocated, the free size of the same memory block is zero, so variable C is allocated to a different memory block, 0x0C. Next, variable D is allocated, but the required number of memory blocks is two. Even if variable D is allocated to the area following variable C, variable D will only use two memory blocks. Therefore, variable D is allocated to 0x0D to 0x12, which is the area following variable C. Finally, variable E is allocated, but the required number of memory blocks is one. If variable E is allocated to the area following variable D, variable E will use two memory blocks. Therefore, variable E is allocated to a different memory block, 0x14 to 0x15.
[0061] As a result, variables A to E are allocated to memory blocks in the required number of memory blocks, which allows for efficient memory access by minimizing memory access to each variable.
[0062] Furthermore, comparing Figure 4 and Figure 5, the total number of memory blocks used in Figure 5 is smaller than that in Figure 4. This is because the second variable is allocated to the area following the area allocated to the first variable, allowing multiple variables to share a single memory block. This reduces the amount of non-volatile memory used in the RFID tag. Also, because the number of memory blocks used can be reduced, access to multiple variables can be consolidated, resulting in faster memory access.
[0063] Here, for areas of the memory block to be updated where no variables have been allocated, padding processing is performed in which all bits of 0 or 1 are written.
[0064] (About the warning section) After automatic allocation is performed by the allocation unit 23, the user may check whether the allocation is as intended based on various conditions and manually correct the allocation information 22. At this time, it is necessary to check whether the number of memory blocks used by each variable is the required number of memory blocks. For this purpose, the warning unit 24 checks the allocation information 22 and issues a warning to the user if an abnormality occurs.
[0065] The warning unit 24 issues a warning if the number of memory blocks used by the variables allocated by the user is greater than the number of memory blocks required. That is, it determines whether the variables are allocated across excessive memory blocks. Therefore, by eliminating the warning from the warning unit 24, efficient memory access can be maintained even after the allocation information 22 is manually corrected by the user.
[0066] Furthermore, the warning unit 24 issues a warning if a variable is allocated outside a predetermined memory area. That is, the warning is issued depending on whether the memory block to which the variable is allocated can be used or not, so it is possible to limit the memory blocks to which variables can be allocated. This makes it possible to set reserved areas to which variables should not be allocated, and since variables will not be allocated to these reserved areas, it is possible to prevent writing to unintended memory blocks during operation of the RFID system.
[0067] §4 Variations (block size) In the first embodiment, the block size is set to 4 bytes, but is not limited to this. For example, any integer such as 8 bytes may be used. The allocation results for a block size of 4 bytes shown in Figures 4 to 6 are different from the allocation results for a block size of 8 bytes, and the allocation changes depending on the block size.
[0068] (Another aspect of the RFID system 1) In the first embodiment, the RFID system 1 includes the server 2, the reader / writer 3, and the RFID tag 4, but is not limited to this. For example, the server 2 may be replaced with a personal computer or a programmable logic controller (PLC).
[0069] Alternatively, the server 2 may be omitted, and the reader / writer 3 may have a web server function and be capable of performing processing to assign variables.
[0070] In the first embodiment, the RFID system 1 has been described, but the present invention is not limited to an RFID system and may be any device for allocating RFID tags 4. The allocating device may be any of various devices such as a server, a personal computer, a PLC, or a reader / writer equipped with a web server.
[0071] (Group assignment) A group consisting of multiple variables that are targets of memory access at the same timing may be included in the setting items of the allocation information 22. In other words, the acquisition unit 21 further acquires information on a group that includes multiple variables (information indicating the correspondence between variables and groups).
[0072] The allocation unit 23 performs automatic allocation for multiple variables belonging to one group, and then automatically allocates multiple variables belonging to another group. That is, automatic allocation is performed on a group-by-group basis. Here, different groups are prevented from sharing a memory block. Also, since a single memory block is shared by multiple variables, allocation rule 3 is used.
[0073] Furthermore, not only the allocating unit 23 but also the warning unit 24 may perform processing corresponding to the groups. The warning unit 24 issues a warning when variables belonging to different groups are allocated to a single memory block.
[0074] This allows a memory block to be allocated to each group of multiple variables that are often accessed at the same time. Even if multiple variables share a single memory block, multiple variables that access memory at the same time are included in the same group, which allows for efficient memory access, a longer lifespan for the RFID tag 4, and high-speed memory access.
[0075] For example, in FIG. 2, assume that variables A and C are in group 1, variable B is in group 2, and variables D and E are in group 3. In this case, the variable assignment results are shown in FIG.
[0076] To process allocation rule 3 for each group, variable A is first assigned to 0x00 to 0x02 as part of group 1 processing. Next, variable C is assigned, but the required number of memory blocks is 1. If variable C is assigned to the area following variable A, variable C will use one memory block. Therefore, variable C is assigned to 0x03, which is the same memory block. Next, variable B, which is in a different group, is assigned to another memory block, 0x04 to 0x0B. Furthermore, variable D, which is in a different group, is assigned to another memory block, 0x0C to 0x11. Next, variable E is assigned, but the required number of memory blocks is 1. If variable E is assigned to the area following variable D, variable E will use one memory block. Therefore, variable E is assigned to 0x12 to 0x13, which is the same memory block.
[0077] As a result of this allocation, the number of memory blocks in FIG. 6 becomes 5, which is a reduction in the number of memory blocks compared to the case where the number of memory blocks is 6 under allocation rule 3 in FIG.
[0078] In this way, since processing is performed in groups, allocation is not necessarily performed in the order of allocation information 22, such as allocation of variable A followed by variable C. Also, memory blocks to be allocated may be specified for each group.
[0079] (Allocation based on update frequency) The update frequency of each variable may be included in the setting items of the allocation information 22. That is, the acquisition unit 21 further acquires the update frequency of the variable.
[0080] The allocation unit 23 determines whether multiple variables can share a single memory block based on their update frequency, and allocates the variables. At this time, the conditions for determining whether multiple variables can share a single memory block may be set arbitrarily. In other words, when a single memory block contains at least two or more variables, the update frequency of one variable is compared with the update frequency of the other variable, and the multiple variables are allocated according to predetermined conditions.
[0081] As a condition, for example, there is a combination in which variables can be allocated to a single memory block if they have the same update frequency. Also, there is a combination in which low-frequency variables cannot share the same memory block with medium-frequency and high-frequency variables, but medium-frequency variables can share the same memory block with high-frequency variables. The conditions are not limited to these patterns, and any combination can be assumed. Furthermore, since a single memory block will be shared by multiple variables, allocation rule 3 will be used.
[0082] Furthermore, not only the allocating unit 23 but also the warning unit 24 may perform processing according to the update frequency. When a single memory block contains at least two or more variables, the warning unit 24 compares the update frequency of one variable with the update frequency of the other variable, and issues a warning according to a predetermined condition.
[0083] Therefore, when multiple variables share a single memory block, the allowable combinations of variables can be limited depending on the update frequency of the variables assigned to that single memory block.
[0084] For example, if a variable that is updated frequently and a variable that does not need to be changed after being written once share a single memory block, the lifespan of the RFID tag 4 may be sufficiently guaranteed. However, if a variable that is updated frequently at one time and a variable that is updated frequently at another time share a single memory block, it may not be possible to guarantee the lifespan of the RFID tag 4. By taking the update frequency into consideration, such cases can be prevented. As a result, the lifespan of the RFID tag 4 can be extended.
[0085] Two specific conditions are shown below, but the conditions are not limited to these. The conditions shown are conditions under which the warning unit 24 issues a warning depending on the combination of variables when multiple variables share a single memory block.
[0086] Figure 7 shows a condition table that determines whether to issue a warning under certain conditions when multiple variables share a single memory block. Figure 8 shows a condition table that determines whether to issue a warning under different conditions when multiple variables share a single memory block.
[0087] 7, the warning unit 24 issues a warning when a combination of low-frequency and medium-frequency or high-frequency variables shares a single memory block, or when a combination of medium-frequency and high-frequency variables shares a single memory block. In other words, a warning is issued when multiple variables with different update frequencies share a single memory block.
[0088] In this case, since the update frequencies are different, it is highly likely that the variables are updated at different times, which is considered to lead to a reduction in the lifespan of the RFID tag 4.
[0089] 8, the warning unit 24 issues a warning in any of the following combinations: a low frequency and a medium or high frequency share a single memory block; a medium frequency and a low frequency, a medium or high frequency share a single memory block; or a high frequency and a low frequency, a medium frequency or a high frequency share a single memory block. In other words, a warning is issued when multiple variables exist in the same memory block at medium or higher frequencies.
[0090] In this case, if the update frequency is medium or higher, the number of updates to the variable is likely to be large, and if multiple variables share a single memory block, the memory block may reach the end of its lifespan, which is considered to shorten the lifespan of the RFID tag 4.
[0091] Here, low frequency refers to a frequency at which the number of updates is not expected to reach the end of its lifespan, medium frequency refers to a frequency at which the number of updates is not expected to reach the end of its lifespan when used alone, and high frequency refers to a frequency at which the number of updates is expected to reach the end of its lifespan when used alone. Therefore, if a medium-frequency variable and another medium-frequency variable share a single memory block, it is possible that the number of updates will exceed the end of its lifespan, shortening the lifespan of the RFID tag 4. Furthermore, only once refers to a variable that is updated only once and is not updated thereafter, such as a serial number or manufacturing date that identifies the managed object.
[0092] §5 Action and effect The allocation unit 23 appropriately modifies the allocation information 22 acquired by the acquisition unit 21, so that each variable is allocated to the required number of memory blocks. Therefore, each variable can be accessed with the minimum number of memory accesses, resulting in efficient memory access.
[0093] Furthermore, allocation rule 2 allocates only one variable to a single memory block, thereby extending the life of the RFID tag 4. Allocation rule 3 allocates multiple variables to a single memory block, thereby saving memory and enabling high-speed memory access to multiple variables.
[0094] Furthermore, by adding additional information such as group or update frequency to the allocation information 22, allocation can be performed taking into consideration the update timing and the lifespan of the RFID tag 4.
[0095] [Software implementation example] The functions of the server 2 or the allocation device (hereinafter referred to as "device") can be realized by a program that causes a computer to function as the device, and a program that causes a computer to function as each control block of the device.
[0096] In this case, the device includes a computer having at least one control device (e.g., a processor) and at least one storage device (e.g., a memory) as hardware for executing the program. The control device and storage device execute the program, thereby realizing the functions described in each of the above embodiments.
[0097] The program may be non-transitory and may be recorded on one or more computer-readable recording media. The recording media may or may not be included in the device. In the latter case, the program may be supplied to the device via any wired or wireless transmission medium.
[0098] Furthermore, some or all of the functions of the control blocks can be realized by logic circuits. For example, an integrated circuit in which a logic circuit that functions as each of the control blocks is formed is also included in the scope of the present invention. In addition, the functions of the control blocks can also be realized by, for example, a quantum computer.
[0099] Furthermore, each process described in each of the above embodiments may be executed by AI (Artificial Intelligence). In this case, the AI may run on the control device or on another device (for example, an edge computer or a cloud server).
[0100] [Additional Notes] The present invention is not limited to the above-described embodiments, and various modifications are possible within the scope of the claims. Embodiments obtained by appropriately combining the technical means disclosed in different embodiments are also included in the technical scope of the present invention. [Explanation of symbols]
[0101] 1. RFID system 2 Servers (allocated devices) 3 Reader / Writer 4. RFID tags 21 Acquisition Department 23 Allocation Section 24 Warning section
Claims
1. An RFID system using an RFID tag that performs memory access for each memory block, which is an address unit of a predetermined block size, an acquisition unit that acquires a plurality of variables to be allocated to the memory of the RFID tag and the size or address range of each variable; an allocation unit that allocates the variable to memory so that the number of memory blocks used by the variable is the number of memory blocks required to allocate the variable, which is determined from the size or address range of the variable.
2. The RFID system according to claim 1 , wherein the allocating unit allocates a different memory block for each of the variables.
3. 2. The RFID system according to claim 1, wherein if the second variable is allocated to a continuation of the area allocated to the first variable, the allocation unit allocates the second variable to another memory block instead of allocating the second variable to the memory block allocated to the first variable if the number of memory blocks used by the second variable would be greater than the number of required memory blocks.
4. 4. The RFID system according to claim 1, further comprising a warning unit that issues a warning when the number of memory blocks used by the variables assigned by the user is greater than the number of required memory blocks.
5. the acquisition unit further acquires information on a group including a plurality of the variables; The RFID system according to claim 1 , further comprising a warning unit that issues a warning when the variables that belong to different groups are assigned to a single memory block.
6. The acquisition unit further acquires an update frequency of the variable, The RFID system according to any one of claims 1 to 3, further comprising an alarm unit that, when a single memory block contains at least two or more of the variables, compares the update frequency of one variable with the update frequency of another variable and issues an alarm according to predetermined conditions.
7. 4. The RFID system according to claim 1, further comprising a warning unit that issues a warning when the variable is allocated outside a predetermined memory area.
8. An allocation device that allocates memory to an RFID tag that accesses memory for each memory block, which is an address unit of a predetermined block size, comprising: an acquisition unit that acquires a plurality of variables to be allocated to the memory of the RFID tag and the size or address range of each variable; an allocation unit that allocates the variable to memory so that the number of memory blocks used by the variable is the number of memory blocks required to allocate the variable, which is determined from the size or address range of the variable.
9. an acquisition step of acquiring a plurality of variables to be allocated to the memory of the RFID tag and the size or address range of each variable; an allocating step of allocating the variable to memory so that the number of memory blocks used by the variable is the number of memory blocks required to allocate the variable, which is determined from the size or address range of the variable.
Citation Information
Patent Citations
Memory dump analysis supporting tool
JP1997106362A
Memory allocation device, memory allocation method and program recording medium
JP2006185456A