Device with Frame Counter Recording and Energy Limitation

JP2025523264A5Pending Publication Date: 2025-07-28SCHNEIDER ELECTRIC ASIA PTE LTD
View PDF 0 Cites 0 Cited by

Patent Information

Application Number
JP2025503439
Authority / Receiving Office
JP · JP
Patent Type
Applications
Current Assignee / Owner
Filing Date
2022-07-22
Publication Date
2025-07-28

AI Technical Summary

Technical Problem

Devices with energy limitations, such as battery-less transmitters, are vulnerable to hacking as encrypted frames can be copied and retransmitted, leading to unauthorized commands being executed, despite encryption, due to the lack of a frame counter mechanism to ensure signal freshness.

Method used

A method and device with energy limitations implement a frame counter mechanism by allocating memory space based on a predetermined maximum frame counter number, converting empty space indications to frame counter indications, and using a search window to identify the current frame counter number, ensuring each frame has an incrementally increasing counter.

Benefits of technology

The frame counter mechanism enables secure data communication by distinguishing genuine from hacked frames, reducing the risk of unauthorized command execution and ensuring signal freshness, while minimizing energy consumption and storage time.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure 00000000_0000_ABST
    Figure 00000000_0000_ABST
Patent Text Reader

Abstract

A method for recording a frame counter in a memory component of a device with energy limitations, and a device with energy limitations are provided. The method includes accessing the memory component and, for a first recording, allocating a memory space of the memory component based on a value of a predetermined maximum frame counter number for the device with energy limitations, wherein each bit of the allocated memory space stores an empty space indication. For the first recording and each subsequent recording, based on a predetermined write instruction, accessing a first bit position having an empty space indication and converting the empty space indication at the first bit position to a frame counter indication, wherein the first bit position having the frame counter indication indicates the current frame counter number.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] The present disclosure generally relates to a method of recording a frame counter in a memory component of a device with energy constraints / energy harvesting device, and a device with energy constraints / energy harvesting device.

Background Art

[0002] Regarding the operation of a machine or device, actuators having a battery-less transmitter have been increasingly used to transmit a command signal to a receiver in the machine or device. Such a battery-less transmitter can be a wireless transmitter and can be a stand-alone energy harvesting device / device with energy constraints.

[0003] Normally, when a signal is transmitted to a receiver, the frame of the signal is encrypted so that the signal is secure and not hackable by a third party. However, the inventors recognize that even if the frame of the signal is encrypted, it is possible for a hacker to endanger the machine or device in the receiver. A hacker can obtain / copy a previously transmitted signal including a command and retransmit the copied signal, which can cause problems in the machine or device. That is, a copied signal including an unintended command can cause problems in the machine or device.

[0004] For example, when an actuator of a wireless transmitter device, which is an energy harvesting device / device with energy constraints, such as a push button, is activated / pushed, an encrypted frame including a command / instruction is transmitted to a receiver coupled to a machine, such as a gate. When the receiver receives the encrypted frame, the instruction is processed to determine whether to open or close the gate.

[0005] For example, when an encrypted frame 1 (having a command to open the gate) is transmitted to the gate control receiver, the gate is opened. When the next encrypted frame 2 (having a command to close the gate) is transmitted to the gate control receiver, the gate is closed. The actuator can then be used multiple times to open or close the gate. For example, the next encrypted frame 3 is transmitted to the gate control receiver to open the gate, and the next encrypted frame 4 is transmitted to the gate control receiver to close the gate. Then, the next encrypted frame 5 is transmitted to the gate control receiver to open the gate, and the next encrypted frame 6 is transmitted to the gate control receiver to close the gate. Thereafter, there may not be a next activation of the actuator yet. However, it is possible for a hacker to copy the encrypted frame 4 and retransmit the copied encrypted frame 4 to the gate control receiver to maintain the closing of the gate. Therefore, the hacker can cause problems to the gate by transmitting an unintended command by copying and retransmitting the copy signal. Such a situation is not desirable. The inventors recognize that even if the signal is encrypted, the possibility of malicious behavior still exists.

[0006] Therefore, in view of the above, to address at least one of the above problems, there is a need for a method of recording a frame counter in a memory component of a device with energy limitation / energy harvesting device, and a device with energy limitation / energy harvesting device. SUMMARY OF THE INVENTION

[0007] According to an aspect of the present disclosure, a method of recording a frame counter in a memory component of a device with energy limitations is provided. The method includes accessing the memory component and, for a first recording, allocating a memory space of the memory component based on a value of a predetermined maximum frame counter number for the device with energy limitations, wherein each bit of the allocated memory space stores an empty space indication. For the first recording and each subsequent recording, based on a predetermined write instruction, accessing a first bit position having an empty space indication and converting the empty space indication at the first bit position to a frame counter indication, wherein the first bit position having the frame counter indication indicates the current frame counter number.

[0008] The predetermined maximum frame counter number may be based on the number of transmissions expected for the device with energy limitations.

[0009] The current frame counter number may be information included in the current signal transmitted from the device with energy limitations to the receiver.

[0010] For each subsequent recording, accessing the first bit position having an empty space indication may include forming a search window in a portion of the allocated memory space, determining whether a frame counter indication is stored at the bit position at a predetermined search position within the search window, and moving the search position in one or more directions to identify the first bit position having an empty space indication based on whether a frame counter indication is stored at the bit position at a predetermined position within the search window, wherein the one or more directions are based on a predetermined write instruction.

[0011] According to another aspect of the present disclosure, a device with energy limitations is provided. The device includes a transmission component that transmits one or more signals, a generator that generates power for operating the transmission component, a processing module, and a computer-readable medium coupled to the processing module. The computer-readable medium stores instructions executable by the processing module to perform a method of recording a frame counter in a memory component of the device with energy limitations. The method includes accessing the memory component and, for a first recording, allocating a memory space of the memory component based on a value of a predetermined maximum number of frame counters for the device with energy limitations, where each bit of the allocated memory space stores a blank space indication. For the first recording and each subsequent recording, based on a predetermined write instruction, accessing a first bit position having a blank space indication and converting the blank space indication at the first bit position to a frame counter indication, where the first bit position having the frame counter indication indicates the current number of frame counters.

[0012] The predetermined maximum number of frame counters can be based on the number of transmissions of one or more signals expected for the device with energy limitations.

[0013] The current number of frame counters can be information included in the current signal transmitted from the device with energy limitations to a receiver.

[0014] Access to the first bit position with an empty space indication for each next record involves forming a search window in a part of the allocated memory space, determining whether a frame counter indication is stored at a predetermined search position within the search window, and moving the search position in one or more directions to identify the first bit position with an empty space indication based on whether a frame counter indication is stored at the bit position at a predetermined position within the search window, where the one or more directions are based on a predetermined write instruction, and may include the above.

Brief Description of Drawings

[0015] Preferred embodiments of the present disclosure will be fully understood and readily apparent to those skilled in the art from the following description in conjunction with the drawings, which are merely illustrative.

[0016]

Figure 1

Figure 2

Figure 3

Figure 4A

Figure 4B

Figure 5A

Figure 5B

Figure 5C

Figure 6A

Figure 6B(i)

Figure 6B(ii)

Figure 6B(iii)

Figure 6B(iv)

Figure 6C(i)

Figure 6C(ii)

Figure 6C(iii)

Figure 7

DETAILED DESCRIPTION OF THE INVENTION

[0017] FIG. 1 is a schematic block diagram showing a device with energy limitation / energy harvesting device communicating with a receiver in a preferred embodiment. The device 100 with energy limitation can communicate with the receiver 102. The communication can be by non-wired or wireless communication. The receiver 102 is coupled to a device / machine 106 that the device 100 with energy limitation controls / operates. The device 100 with energy limitation can be a wireless and battery-less transmitter device that communicates a signal to the receiver 102.

[0018] The device 100 with energy limitation includes a microcontroller (or processing module) 112 and a transceiver / transmission component / mechanism 114. The transceiver / transmission mechanism 114 can include an antenna. In a preferred embodiment, the microcontroller 112 controls various components of the device 100 with energy limitation.

[0019] In a preferred embodiment, the device 100 with energy limitations includes a frame counter mechanism 104 that records a frame counter. The frame counter mechanism 104 can obtain the next frame counter number included in the signal to be transmitted next to the receiver 102. That is, the signal transmitted to the receiver 102 includes data / information related to the next frame counter number. In a preferred embodiment, the frame counter mechanism 104 is a module coupled to the microcontroller 112. In some preferred embodiments, the microcontroller 112 performs the function of the frame counter mechanism 104.

[0020] The receiver 102 can receive a signal from the frame counter mechanism 104 to operate / control the device / machine 106. The receiver 102 anticipates / expects that the next received frame counter number is greater than the previously received frame counter number.

[0021] The device 100 with energy limitations further includes a generator or generator module 108 that generates energy / power to start the device 100 with energy limitations, and a starting component 110. In a preferred embodiment, the starting component 110 is disposed on the first surface of the housing of the device 100 with energy limitations and extends into the housing. For example, the first surface can be the upper surface of the device 100 with energy limitations. The generator 108, the frame counter mechanism 104, the microcontroller 112, and the transceiver / transmission mechanism 114 are disposed within the housing. The generator 108 can be of any form and type that can generate power for operating the device 100 with energy limitations.

[0022] In a preferred embodiment, a computer-readable medium (not shown) is coupled to the microcontroller 112. The computer-readable medium stores instructions executable by the microcontroller 112 to perform a method of recording a frame counter in a memory component of the device 100 with energy limitations. The computer-readable medium is a non-transitory tangible storage medium having instructions including predetermined write instructions. In a preferred embodiment, the next frame counter number is also stored in the computer-readable medium.

[0023] As an example, when a mechanical actuator (as the startup component 110) of the device 100 with energy limitations is pushed / activated, the generator 108 of the device 100 with energy limitations is activated. The power supply is provided from the generator 108 to the microcontroller 112 of the device 100 with energy limitations, and the microcontroller 112 powers up or is activated. Usually, the generator 108 generates a power supply that is approximately sufficient to activate the microcontroller 112 of the device 100 with energy limitations and transmit a signal.

[0024] With the generated power supply, the microcontroller 112 can transmit a communication signal to the receiver 102 using the transceiver / transmission mechanism 114 of the device 100 with energy limitations. That is, the device 100 with energy limitations transmits a signal including the next frame counter number obtained from the frame counter mechanism 104 to the receiver 102.

[0025] Therefore, the device 100 with energy limitation starts / begins operations using the energy of the generator 108 in the device 100 with energy limitation. Thereafter, typically, when the device 100 with energy limitation remains powered on but has insufficient energy, the device 100 with energy limitation will typically power off until the startup component 110 is restarted. Such a wireless and battery - less transmitter device can typically generate only enough power to transmit a communication signal to the receiver 102 when the startup component 110 is activated. Then, due to insufficient / limited power, the device 100 with energy limitation will then power off. For example, the energy provided by the generator in a device with energy limitation can typically be about 0.5 mW (milliwatts). Such a device with energy limitation can typically remain powered on for about 6 ms to 10 ms (e.g., about 2.5 ms for initial setup, about 2.5 ms for transmission of multiple wireless frames).

[0026] The inventors recognize that when there is no frame - counting mechanism, a hacker can copy a frame and transmit the signal to the receiver. Without a distinction between one frame and another, the problems identified in the background - art section can occur. The inventors recognize that the frame - freshness check and the frame - counter mechanism can help mitigate one or more of the problems identified in the background - art section. With the frame - counter mechanism 104, the receiver 102 can distinguish one frame from another. That is, the preferred embodiment provides a frame - freshness check to ensure that the receiver 102 is receiving a legitimate / authorized signal and that the signal is not jeopardized / hacked by a hacker.

[0027] In a preferred embodiment, each activation of the activation component 110 results in one frame being transmitted by the device 100 with energy limitations. Each frame contains a predicted command combined with a frame counter number. For example, the activation component 110 can be a button. For example, the predicted command can be a command to open or close a gate. By activating the activation component 110, the receiver 102 is instructed to open or close the gate. A new activation or frame has a continuously increasing frame counter number associated with the frame being transmitted, and the frame counter number is increasing compared to the previous frame counter number transmitted in the preceding previous frame.

[0028] By means of a frame freshness check, i.e., a frame counter check, the receiver 102 can distinguish between a genuine encrypted frame and a hacked encrypted frame.

[0029] FIG. 2 is a schematic diagram showing a frame counter check in a preferred embodiment. Referring to FIG. 2, a device with energy limitations, for example, a wireless push button 202, is shown. The wireless push button 202 has transmitted a signal to the gate control receiver 204, and each signal has been transmitted by activation of the wireless push button 202. Each signal has a frame counter number. The encrypted frame - 1 206 is identified by the frame counter number Frame_Cnt = n. The next encrypted frame - 2 208 is identified by the frame counter number Frame_Cnt = n + 1. The next encrypted frame - 3 210 is identified by the frame counter number Frame_Cnt = n + 2, and so on. That is, in a preferred embodiment, the current frame counter number is greater than the previous frame counter number. The number of frames is incrementally increasing each time the next transmission is sent from the device 202 with energy limitations. In a preferred embodiment, each signal is for continuously opening or closing the gate (see, for example, 212, 214, 216).

[0030] In a preferred embodiment, an encrypted frame - 5 218 identified by a frame counter number Frame_Cnt=n + 4 (having a command to open the gate) is hacked / compromised. Next, for example, when it is transmitted to the gate control receiver 204 after an encrypted frame - 6 220 (see compromised transmission signal frame 222) having a frame counter number Frame_Cnt=n + 5, the gate control receiver 204 can usefully detect a mismatch in the frame counter number. That is, the receiver 204 expects a larger frame counter number, i.e., Frame_Cnt=n + 6 instead of Frame_Cnt=n + 4. Then, since the hacked / compromised encrypted frame - 5 Frame_Cnt=n + 4 can be determined to be less than Frame_Cnt=n + 5 of the preceding encrypted frame - 6 220, the receiver 204 can reject the hacked / compromised encrypted frame 222.

[0031] As shown above, for secure data communication, an incremental frame counter can be usefully used for data freshness checking. The inventors recognize that a suitable storage method and / or component needs to be provided to store the frame counter number, for example, to determine the next frame counter number to be used for the transmission of the next signal.

[0032] The inventors recognize that flash memory is increasingly being used in microcontrollers to store data. Flash memory supports read, write, and erase operations. The minimum data management unit in flash memory is usually called a "page" or "sector" and is typically composed of several tens to several thousands of bytes. Each bit can have either a value of 1 or 0. All bits become 1 after erasure. Each bit can be written from 1 to 0, but then it is not possible to reverse the bit back to 1. New data is added to an unwritten area within a sector. When a sector is completely written, the sector needs to be erased before new data can be saved. The sector erase time is related to the size of the sector. Usually, the sector erase time is about 20 ms to 25 ms. The minimum write or read size is 32 bits composed of 4 bytes.

[0033] Figure 3 shows data storage in a conventional flash memory. Data storage in flash memory is known to use a double buffer mechanism. Two sectors 302, 304 are used to store data. One sector 302 is called the "active sector", and the other sector 304 is called the "idle sector". When a new counter number is saved, the new data is written to the first unused space in the active sector 302. Refer to the save / write of the frame counter number N+9 at 305. When the active sector 302 is completely used, the active sector 302 is completely erased and becomes the idle sector. The previous idle sector 304 is activated and used to save new data as the active sector. When the frame counter number N+10 is saved / written at 306, it is shown that the entire active sector 302 is completely erased and becomes the idle sector 307, and the idle sector 304 is activated to become the active sector 308 that writes the frame counter number N+10 (refer to 310). The next save of data is performed in the active sector 308 (for example, refer to 312).

[0034] Therefore, in the conventional flash data storage method, sectors need to be erased from time to time. The inventors recognize that this takes too much time and uses too much energy for devices with energy limitations. Devices using conventional flash data storage require sufficient time and energy to read, write, or erase data.

[0035] Due to the problems related to the time required for reading / writing / erasing data in conventional flash memory and the energy required for such processes, the inventors consider and recognize that conventional flash memory cannot be used by devices with energy limitations. For some energy harvesting devices, the size of the device is usually limited (e.g., portable devices). This type of device may only be equipped with a small generator and thus generates limited energy. The harvested energy can support devices with energy limitations to function for about 10 ms or less. For conventional flash memory, it is recognized that the time for sector erasure alone is about 20 ms - 25 ms. The harvested energy is insufficient to support an incremental frame count mechanism with conventional flash memory or any external memory (outside the microcontroller of a device with energy limitations). Therefore, the inventors recognize that it is technically difficult to maintain an incremental frame counter mechanism in conventional flash memory storage for devices with cyber security functions. The inventors also recognize that there is currently no solution for the rapid data storage implementation method used in the conventional flash memory storage method.

[0036] The inventors recognize that the internal memory storage of a device with energy limitations is used. Further, the limited energy is available for reading and / or writing to the internal memory storage and for passing a frame / signal having a new frame counter number that is incrementally greater than the previous frame counter number transmitted in the previous frame / signal.

[0037] FIG. 4A is a schematic diagram regarding the memory storage space of a memory component of a device with energy limitations in a preferred embodiment. The memory storage space 401 is allocated based on a value of a predetermined maximum frame counter number for the device with energy limitations. For example, when the predetermined maximum frame counter number is two million, the allocated memory storage space 401 is capable of supporting the maximum frame counter number, and as a result, the total number of bits, such as 403, 405, in the allocated memory storage space 401 is greater than two million. Prior to the initial setting of the first record, all bits, such as 403, 405, have a value indicating an empty space, such as 1, stored therein. For the first record and subsequent records, the value of the relevant bit is converted to a frame counter display having, for example, a value of 0. Since the number of bits corresponds to or is provided as greater than or more than the predetermined maximum frame counter number, the bits do not need to be converted from the frame counter display to the empty space display. That is, no erasure is performed for the allocated memory storage space 401.

[0038] For example, based on a given write command, each bit in the first row 407 starts with the first bit in the first portion of the allocated memory storage space, is converted from an empty space display to a frame counter display, and the next bit follows in the X direction up to the last bit in the first row 407. Next, each bit in the second row 409 can start with the first bit in the first portion, the next bit follows in the X direction up to the last bit in the second row 409, and is converted from an empty space display to a frame counter display. That is, the last bit in each row is converted from an empty space display to a frame counter display, and the writing starts from the first bit of the next row in the Y direction.

[0039] FIG. 4B is a schematic flowchart 400 showing a method of recording a frame counter in a memory component of a device with energy limitations in a preferred embodiment. In the preferred embodiment, the device with energy limitations can be a battery-less wireless transmitter. The device with energy limitations is substantially similar to the device with energy limitations in other preferred embodiments (e.g., compare the device 100 with energy limitations in FIG. 1).

[0040] In step 402, the memory component of the device with energy limitations is accessed. For example, the microcontroller of the device (compare the microcontroller 112 in FIG. 1) accesses the memory component to cooperate with or be used with the frame counting mechanism / module (compare the frame counter mechanism 104 in FIG. 1). In step 404, for the first record, the memory space of the memory component is allocated based on the value of a predetermined maximum frame counter number for the device with energy limitations. Each bit of the allocated memory space stores an empty space indication. For example, the allocation can be performed before the first use of the device with energy limitations. For example, the microcontroller can perform the allocation. In step 406, for the first record, the first bit position having the empty space indication is accessed based on a predetermined write instruction. The empty space indication at the first bit position is converted into a frame counter indication, and the first bit position having the frame counter indication indicates the current frame counter number. In step 408, for each subsequent record, another or the next first bit position having the empty space indication is accessed based on a predetermined write instruction. The empty space indication regarding the another or the next first bit position is converted into another or the next frame counter indication, and the another first bit position having the another frame counter indication indicates the current frame counter number for each subsequent record.

[0041] In a preferred embodiment, the predetermined maximum frame counter number for the device with energy limitations can be stored in the computer-readable medium or memory component of the device with energy limitations. The predetermined write instructions that can be executed by the processing module (or microcontroller) of the device with energy limitations can also be stored in the computer-readable medium. The computer-readable medium is a non-transitory tangible storage medium and can be non-volatile memory.

[0042] In a preferred embodiment, the predetermined maximum frame counter number is based on the number of transmissions permitted / expected for a device with energy limitations. For example, the predetermined maximum frame counter number may correspond to the maximum number of allowable / expected activations of a device with energy limitations, or may be provided to be greater than that maximum number. As an example, the maximum number of allowable / expected activations may be two million. That is, the maximum supported frame counter number for a device with energy limitations may correspond to two million, or be greater than two million. As another example, the maximum number of allowable / expected activations may be three million. That is, the maximum supported frame counter number for a device with energy limitations may correspond to three million, or be three million. A device with energy limitations may be designed to have a device life of the maximum number of allowable / expected activations.

[0043] In a preferred embodiment, the empty space display may be identified by a value of 1, and the frame counter display may be identified by a value of 0, but the preferred embodiment is not limited as such. For example, in another preferred embodiment, the empty space display may be identified by a value of 0, and the frame counter display may be identified by a value of 1.

[0044] In a preferred embodiment, the current frame counter number is information included in the current signal transmitted from a device with energy limitations to a receiver. The receiver is coupled to a device / machine controlled by the device with energy limitations. When the current signal is received by the receiver, the device / machine may be instructed to perform a predetermined operation, such as opening or closing a gate.

[0045] In a preferred embodiment, in order to use a device with energy limitation, when the actuator component in the device with energy limitation is pushed / activated, the energy generated by the generator of the device with energy limitation is about 0.5 mW, and the device with energy limitation is activated to transmit a signal. When a new frame is transmitted by the device with energy limitation, the user resets / restarts the device with energy limitation by activating the actuator component.

[0046] In a preferred embodiment, the receiver can distinguish one frame from another. The receiver anticipates a continuously increasing frame counter number. If the current frame counter number is not an increased frame counter number compared to the previous frame counter number, the receiver determines that the currently received signal is not a regular / permitted signal, and the device / machine is not instructed to perform / implement a predetermined operation.

[0047] In a preferred embodiment, the frame counter update time is less than 0.1 ms. The update time may include the frame count mechanism / module accessing / identifying the first bit position having an empty space display, converting the empty space display to a frame counter display, and transmitting to the microcontroller the bit position as the current frame counter number to be included in the currently transmitted signal. In a preferred embodiment, the flash usage for the frame counter mechanism / module is less than 400 kb. Thus, the memory component of a device with energy constraints includes more bits than the maximum frame counter number supported by the device with energy constraints. For example, the memory component can be 500 kb. In such a preferred embodiment, a portion of the memory component is provided for frame counter storage. For example, if a device with energy constraints is expected to transmit 2 million times before the device life expires, a preferred number of bits, such as 384 kb or 3,145,728 bits, is arranged / assigned as memory space in the memory component for frame counter maintenance. Thus, as an example, then more than 3 million bits (or more than a value of a predetermined maximum frame counter number (2 million) or a number based on that value) can be allocated / provided for frame counter storage. Each bit of the allocated memory space is provided with an empty space display or a default / initial value. For example, by default, the empty space display or the default / initial value of the bit is 1, but the preferred embodiment is not so limited. For example, in another preferred embodiment, by default, the empty space display or the default / initial value of the bit can be 0.

[0048] In a preferred embodiment where the bit has a blank space display or an initial value of 1, when the actuator component of a device with energy limitation is activated / pushed, the value of the first bit having a value of 1 is changed to a frame counter display having a value of 0. That is, there is a change from the blank space display 1 to the frame counter display 0. The processing module counts the number of bits in the allocated memory space having a value of 0 (i.e., including the frame counter display 0) to obtain the current frame counter number, i.e., the next first bit position having the blank space display 1. In a preferred embodiment, after the bit value is changed to the frame counter display, it is not intended that the bit be changed to the blank space display, i.e., the frame counter number is not repeated and only increases based on the previous frame counter number.

[0049] In a preferred embodiment, the memory data is divided into 4 bytes. Each set of 4 bytes is referred to as 1 item. For the first record, all bits in the memory space include a default blank space display, for example, 1. Thus, for example, all items have a default decimal value of 4,294,967,295 which is the 32-bit value of "1".

[0050] In a preferred embodiment, a predetermined write instruction is from the first part to the last part of the allocated memory space.

[0051] FIG. 5A is a schematic diagram showing the writing of the memory space from the first part to the last part in a preferred embodiment. Referring to FIG. 5A, the writing starts from the first item 510 which is the first part of the allocated memory space. Before any writing is done, for the first record, it is understood that each item 510, 512, 514, 516, 518, 520, 522, 524, 526 of the allocated memory space has a default value of 4,294,967,295. In each bit of each item 510, 512, 514, 516, 518, 520, 522, 524, 526, a space display of 1 (which is 1 in the preferred embodiment) is stored for the empty space. When the writing starts, the first item 510 is changed from the default value of 4,294,967,295 to another value. For the first record, the first bit position of the first item 510 is converted from the space display of 1 to the frame counter display of 0. Next, for the next record, the adjacent first bit position with the space display of 1 in the first item 510 is converted to the frame counter display of 0. When all 32 bits of the first item 510 are changed to 0, the first item has a value of 0. Thereafter, the writing is done to the first bit position with the space display of 1 in the second item 512 so as to convert the space display of 1 to the frame counter display of 0. Next, for the next record, the adjacent first bit position with the space display of 1 in the second item 512 is converted to the frame counter display of 0. The process is repeated in a continuous manner from the first part to the last part of the allocated memory space.

[0052] In FIG. 5A, the ninth item 526 is the last item in the last part.

[0053] The preferred embodiment is not limited as described above. For example, a given write instruction may be such that the writing is from the last part of the allocated memory space to the first part of the allocated memory space, i.e., in the opposite direction to the description provided with reference to FIG. 5A.

[0054] In another preferred embodiment, the predetermined write command is from substantially the central portion of the allocated memory space to both ends of the allocated memory space.

[0055] For example, the writing first proceeds from a first item adjacent to the central portion of the allocated memory space toward the first portion of the allocated memory space. When all items from the first item to the first portion are completely written, the writing is performed from the central portion toward the last portion of the allocated memory space.

[0056] FIG. 5B is a schematic diagram showing the writing of the memory space from the substantially central portion to the first portion in the preferred embodiment. FIG. 5C is a schematic diagram showing the writing of the memory space from the central portion to the last portion in the preferred embodiment.

[0057] Referring to FIGS. 5B and 5C, the writing starts from the first part of the first item 530 adjacent to the central part of the allocated memory space in the direction X, for example, towards the item 536 in the first part. Before any writing starts, for the first record, each item 530, 532, 534, 536, 538, 540, 542, 544, 546 of the allocated memory space has a default value of 4,294,967,295 (or the 32 - bit of "1" leading to that value). In each bit of each item 530, 532, 534, 536, 538, 540, 542, 544, 546, a space - empty indication which is 1 in the preferred embodiment is stored. When the writing starts, since the first bit of the first item 530 having the space - empty indication 1 is converted to the frame - counter indication 0, the first item 530 is changed from the default value 4,294,967,295 to another value. For the next record, the adjacent first bit position having the space - empty indication 1 of the first item 530 is converted to the frame - counter indication 0. When all 32 bits of the first item 530 are changed to 0, the first item 530 has a value of 0 (see FIG. 5B). Next, the writing is performed on the second item 532. The second item 532 is adjacent to the first item 530 in the direction X towards the first part of the allocated memory space. For the next record, the adjacent first bit position having the space - empty indication 1 of the second item 532 is converted to the frame - counter indication 0. The process is repeated for the second item 532 until all 32 bits of the second item 532 are changed to 0. The writing is performed in a sequential manner in the direction X towards the first part.

[0058] When the item in the initial part has a value of 0 (see the fourth item 536 in FIG. 5C), the writing is performed on the item towards the last part of the memory space allocated in the direction Y from the central part, as shown in FIG. 5C. The writing is performed on the fifth item 538. When all 32 bits of the fifth item 538 are changed to 0, the fifth item 538 has a value of 0. The process is repeated in a continuous manner towards the last part until the ninth item 546, which is the last item in the last part.

[0059] The preferred embodiments are not limited as described above. For example, a predetermined write instruction may be such that the writing is from substantially the central part of the allocated memory space to the last part of the allocated memory space (e.g., compare FIG. 5C going from the number 540 towards the last part of the allocated memory space), followed by from the central part to the first part of the allocated memory space (e.g., compare FIG. 5B going from the number 538 towards the first part of the allocated memory space).

[0060] In the write instructions described herein, there is no need to erase bits in either the sector or the item. For example, there is no need to convert from frame counter display 0 to empty space display 1 again.

[0061] In a preferred embodiment, the information related to the first bit position having an empty space display 1 is transmitted in the current frame / signal having the current frame counter number. For example, when the startup component is activated, the first bit position having an empty space display 1 is converted to frame counter display 0. The bit position having the frame counter display indicates the current frame counter number. The current frame counter number is used as information included in the current signal transmitted from the device with energy limitation to the receiver. The device with energy limitation is activated for frame / signal transmission, and the first bit position having an empty space display needs to be identified / accessed.

[0062] FIG. 6A is a schematic flowchart 600 showing a method of accessing a first bit position having an empty space display for each next record of a device with energy limitation. Each next record is carried out / conducted after the first record. In step 602, a search window is formed in a part of the allocated memory space. In step 604, it is determined whether a frame counter display is stored at a predetermined search position within the search window at the bit position. In step 606, based on whether a frame counter display is stored at the bit position at a predetermined position within the search window, the search position is moved in one or more directions to identify the first bit position having an empty space display, and the one or more directions are based on a predetermined write command.

[0063] In a preferred embodiment, the access / search can be performed by a frame count mechanism / module and / or a processing module of a device with energy limitation.

[0064] In a preferred embodiment, when an actuator component / device of a device with energy limitation is activated, the processing module finds the position of the first bit position having an empty space display, for example, having a value of 1. A search window of the same size or smaller than the allocated memory space is created. Based on a predetermined write command, the search is carried out to determine the position of the first bit position having an empty space display.

[0065] FIGS. 6B(i) - 6B(iv) are schematic diagrams showing the search for the first bit position having an empty space display in a preferred embodiment where the predetermined write command is from the first part to the last part of the allocated memory space. Refer to the description with reference to FIG. 5A for comparison.

[0066] In a preferred embodiment, the first search window 611 is formed in a part of the allocated memory space 613. This part can be of any size with respect to the allocated memory space. In a preferred embodiment, the first search window 611 is formed in the entire allocated memory space 613. The allocated memory space 613 includes all items 610, 612, 614, 616, 618, 620, 622, 624, 626. At a predetermined search position within the search window 611, it is determined whether the bit position includes a frame counter display or whether a frame counter display is stored at the bit position. In a preferred embodiment, the central part of the first search window 611 is checked. That is, the value of the fifth item 618 in the central part of the allocated memory space is checked. If the value of the fifth item 618 is 0, the first bit position having an empty space display (e.g., 1) can be determined to be in one of the items adjacent to the central part towards the last part of the allocated memory space, i.e., one of 620, 622, 624, 626, and the determination is based on a predetermined write instruction. That is, it is determined that the fifth item 618 is completely converted into all bits including the frame counter display. On the other hand, if the value of the fifth item 618 is the default value (e.g., 4,294,967,295), the first bit position having an empty space display (e.g., 1) can be determined to be in the item adjacent to the central part towards the first part of the allocated memory space, i.e., in the items 610, 612, 614, 616. That is, it is determined that all bits of the fifth item 618 include an empty space display. If the value of the fifth item 618 is any value between the default value (e.g., 4,294,967,295) and 0, the first bit position having an empty space display (e.g., 1) can be determined to be in the fifth item 618.

[0067] In a preferred embodiment, when it is determined that at a predetermined position within the search window 611, the item at the predetermined position does not include the first bit position in which the empty space display is stored, that is, when the central portion of the first search window 611 is determined such that the item 618 does not include a value between the default value (e.g., 4,294,967,295) and 0, the search position is moved in one or more directions, and the one or more directions are based on a predetermined write instruction. The search process is repeated until an item having a value between the default value (e.g., 4,294,967,295) and 0 is found.

[0068] Referring to FIG. 6B(ii), when the value of the fifth item 618 in the search position, for example, the central portion, is 0, based on a predetermined write instruction from the first portion of the allocated memory space 613 to the last portion of the allocated memory space 613, the search position is moved toward the last portion of the allocated memory space 613. It is conceivable that a second search window 615 covering all the items (i.e., 620, 622, 624, 626) starting from the adjacent sixth item 620 (following the fifth item 618) is formed toward the last portion of the allocated memory space. That is, the second search window 615 is reduced by half compared to the first search window 611. The search position is moved such that the search position is substantially at the central portion of the second search window 615. The central portion of the second search window 615 is checked. For example, in the second search window 615, there are four items 620, 622, 624, 626. In a preferred embodiment, the search position is moved such that the value of the seventh item 622 is checked. When the value of the seventh item 622 is 0, it is determined that the first bit position having the empty space display (e.g., 1) is in one of the items arranged from the adjacent eighth item 624 (following the seventh item 622) toward the last portion of the allocated memory space.

[0069] Referring to FIG. 6B(iii), when it is determined that the value of the seventh item 622 is 0, the search position is moved based on a predetermined write instruction. It is conceivable that a third search window 617 is formed that covers all items (i.e., 624, 626) starting from the adjacent eighth item 624 (following the seventh item 622) towards the last part of the allocated memory space 613. That is, the third search window 617 is reduced by half compared to the second search window 615. The third search window 617 includes only the eighth item 624 and the ninth item 626. In a preferred embodiment, the search position is moved so that the value of the eighth item 624 is checked. The search position is moved to check the eighth item 624. If the value of the eighth item 624 is 0, it can be determined that the first bit position having an empty space display (e.g., 1) is in the adjacent ninth item 626 (following the eighth item 624). In a preferred embodiment, it is determined that the value of the eighth item 624 is any value between the default value (e.g., 4,294,967,295) and 0. Therefore, it is determined that the first bit position having an empty space display (e.g., 1) is in the eighth item 624.

[0070] For this example, P item =8.

[0071] After an item having a value between the default value (e.g., 4,294,967,295) and 0, i.e., the eighth item 624 in FIG. 6B(iii) is identified, the eighth item 624 is further checked to determine the first bit position having an empty space display (e.g., 1).

[0072] FIG. 6B(iv) shows the 32-bit positions in the eighth item 624. As shown, an empty space display (e.g., 1) is stored in a part of the bit positions, and the rest of the bit positions are converted to a frame counter display (e.g., 0).

[0073] The first bit position having an empty space display in the 8th item 624, i.e., P bit is determined to be the 9th bit. That is, P bit = 9.

[0074] Therefore, the frame counter number is calculated using the following formula, i.e., Frame_Cnt = 32x(P item - 1)+P bit is used for calculation.

[0075] Therefore, for the example shown in Fig. 6B(iv), Frame_Cnt = 32x(8 - 1)+9 = 233.

[0076] In other words, the 7 items before P item where the frame counter display is stored in each and all of the 32 bits are considered in the calculation.

[0077] Next, the value of Frame_Cnt (or the frame counter number) is included in the signal currently being transmitted from the transmitting component of the device with energy limitation to the receiver. In a preferred embodiment, the value of Frame_Cnt is always continuously increasing. Therefore, the receiver coupled to the device / machine that is currently receiving the signal from the device with energy limitation expects an increasing Frame_Cnt compared to the value of Frame_Cnt in the previously received signal. The receiver can distinguish one frame from another. If the current signal includes a Frame_Cnt having a value lower than the value of Frame_Cnt in the previous signal, the receiver may determine that the signal is not regular, and the device / machine does not execute the commanded operation. That is, the frame freshness check is provided to ensure that the receiver is receiving a regular / permitted signal and that the signal is not jeopardized / hacked by a hacker.

[0078] Figures 6C(i) to 6C(iii) are schematic diagrams showing the search for the first bit position having an empty space display in a preferred embodiment, where a predetermined write command is from substantially the central portion of the allocated memory space to the first portion of the allocated memory space, and then from the central portion of the allocated memory space to the last portion of the allocated memory space.

[0079] In a preferred embodiment, the allocated memory space includes all items 630, 632, 634, 636, 638, 640, 642, 644, 646. The first item 630 adjacent to the fifth item 638 is first written, moving in the X direction towards the first part up to the first part 636, and then from the fifth item 638 of the allocated memory space 633 in the direction Y towards the last part of the allocated memory space 633. Compare the descriptions with reference to FIGS. 5B and 5C. In a preferred embodiment, the first search window 631 is formed in a part of the allocated memory space 633. In a preferred embodiment, the first search window 631 is formed at the fourth item 636 in the first part of the allocated memory space 633. At a predetermined search position within the search window 631, it is determined whether the bit position includes a frame counter display or whether the frame counter display is stored at the bit position. That is, the value of the fourth item 636 in the first part of the allocated memory space 633 is checked. If the value of the fourth item 636 is the default value (e.g., 4,294,967,295), it moves from the first item 630 adjacent to the central part towards the first part of the allocated memory space in the X direction, but it can be determined that there is a first bit position with an empty space display (e.g., 1) in one of the items arranged before the fourth item 636 being checked, and the determination is based on a predetermined write instruction. That is, it is determined that all bits of the fourth item 636 include an empty space display. If the value of the fourth item 636 is 0, it can be determined that there is a first bit position with an empty space display (e.g., 1) in one of the items arranged from the central part in the Y direction towards the last part of the allocated memory space. That is, the items 630, 632, 634, 636 (written before the fifth item 638) are determined to be converted to include a frame counter display leading to the subsequent fifth item 638 being utilized (i.e., based on a predetermined write instruction).If the value of the fourth item 636 is any value between the default value (e.g., 4,294,967,295) and 0, it can be determined that the first bit position having an empty space display (e.g., 1) is in the fourth item 636.

[0080] In a preferred embodiment, it is determined that the value of the fourth item 636 is the default value (e.g., 4,294,967,295). Referring to FIG. 6C(ii), the search position is moved in one or more directions, and the one or more directions are based on a predetermined write command. In a preferred embodiment, based on the predetermined write command, the first item 630 adjacent to the central portion is covered towards the first portion of the memory space assigned in the X direction, but the search position is moved so as to cover up to before the fourth item 636 to be checked. It is conceivable that a second search window 635 is formed that covers all items (i.e., the first to third items 630, 632, 634) starting from the first item 630 towards the first portion of the memory space 633 assigned in the X direction and up to before the fourth item 636 to be checked. The search position is moved so that the search position is substantially in the central portion of the second search window 635. The central portion of the second search window 635 is checked. For example, in the second search window 635, there are three items 630, 632, 634. In a preferred embodiment, the search position is moved so that the value of the second item 632 is checked. If the value of the second item 632 is the default value (e.g., 4,294,967,295), among the remaining items (i.e., 630) starting from the first item 630 adjacent to the central portion and towards the first portion of the memory space 633 assigned in the X direction but up to before the second item 632 being checked, it can be determined that one of the identified items has a first bit position having an empty space display (e.g., 1).

[0081] In a preferred embodiment, it is determined that the value of the second item 632 is any value between the default value (e.g., 4,294,967,295) and 0. Accordingly, it is determined that the first bit position having an empty space display (e.g., 1) is in the second item 632.

[0082] For this example, P item = 2.

[0083] After an item having a value between the default value (e.g., 4,294,967,295) and 0, i.e., the second item 632 in FIG. 6C(ii), is identified, the second item 632 is further checked to determine the first bit position having an empty space display (e.g., 1).

[0084] FIG. 6C(iii) shows the 32-bit positions in the second item 632. As an example, a part of the bit positions stores an empty space display (e.g., 1), and the rest of the bit positions are converted to a frame counter display (e.g., 0).

[0085] The first bit position having an empty space display in the second item 632, i.e., P bit is determined to be the 9th bit. That is, P bit = 9.

[0086] The frame counter number is calculated using the following formula, i.e., Frame_Cnt = 32x(P item - 1)+P bit is used for calculation.

[0087] Accordingly, for the example shown in FIG. 6C(iii), Frame_Cnt = 32x(2 - 1)+9 = 41.

[0088] In other words, one item before the 32 bits and all with frame counter displays stored in P item is considered in the calculation.

[0089] Next, the value of Frame_Cnt (or the frame counter number) is included in the current signal transmitted from the transmitting component of the device with energy limitations to the receiver. In a preferred embodiment, the value of Frame_Cnt is always continuously increasing. Thus, a receiver coupled to a device / machine receiving the current signal from a device with energy limitations expects an increasing Frame_Cnt compared to the value of Frame_Cnt in the previously received signal. The receiver can distinguish one frame from another. If the current signal includes a Frame_Cnt having a value lower than the value of Frame_Cnt in the previous signal, the receiver may determine that the signal is not regular, and the device / machine is not instructed to perform the commanded operation. That is, the frame freshness check is provided to ensure that the receiver is receiving a regular / authorized signal and that the signal is not jeopardized / hacked by a hacker.

[0090] Referring to FIG. 6C(i), in the value scenario where the fourth item 636 is 0, based on a predetermined write command, the search position is then moved to cover the fifth to ninth items.

[0091] In a preferred embodiment, the search for the first bit position having an empty space indication can be applied to other predetermined write commands. The predetermined write commands are not limited to the write commands described herein.

[0092] In the example described, the search position is movable in one or more directions relative to the initial / first search position to identify the first bit position having an empty space indication. The movement of the search position also takes into account a predetermined write command and is based on a narrowing process that can identify the first bit position having an empty space indication. For example, the next search position can move away from or towards (e.g., in one or more directions) the initial / first search position such that the first bit position having an empty space indication is determined to be between the next search position and the initial / first search position.

[0093] In a preferred embodiment, when a device with energy limitations restarts or starts again in the next instance, the process repeats to perform the following recording and obtain the current / next frame counter number for the transmission of the current signal (or the next signal to be transmitted) from the device with energy limitations.

[0094] Figure 7 is a schematic flowchart 700 showing a method of recording a frame counter in a memory component of a device with energy limitations in a preferred embodiment. At step 702, the memory component is accessed. At step 704, for the first recording, the memory space of the memory component is allocated based on the value of a predetermined maximum frame counter number for the device with energy limitations, and an empty space indication is stored in each bit of the allocated memory space. At step 706, for the first recording and each subsequent recording, the first bit position having the empty space indication is accessed based on a predetermined write instruction, the empty space indication at the first bit position is converted to a frame counter indication, and the first bit position having the frame counter indication indicates the current frame counter number.

[0095] In a preferred embodiment, a device with energy limitations may also be provided, the device comprising a transmitting component that transmits one or more signals, a generator that generates power for operating the transmitting component, a processing module, and a computer-readable medium coupled to the processing module, the computer-readable medium storing instructions executable by the processing module to perform a method of recording a frame counter in a memory component of the device with energy limitations, the method comprising accessing the memory component and, for a first recording, allocating a memory space of the memory component based on a value of a predetermined maximum number of frame counters for the device with energy limitations, wherein each bit of the allocated memory space stores an indication of an empty space, and for the first recording and each subsequent recording, accessing a first bit position having an indication of an empty space based on a predetermined write instruction and converting the indication of the empty space at the first bit position to an indication of the frame counter, wherein the first bit position having the indication of the frame counter indicates the current number of frame counters.

[0096] The predetermined maximum number of frame counters is based on the number of transmissions of one or more signals expected / permitted for the device with energy limitations. For example, the number of transmissions may be based on the lifespan of the device with energy limitations. The current number of frame counters is information included in the current signal transmitted from the device with energy limitations to the receiver.

[0097] In a preferred embodiment, the computer-readable medium also stores instructions for accessing, for each subsequent recording, a first bit position having an indication of an empty space. The method of accessing, for a subsequent recording, a first bit position having an indication of an empty space is as described herein.

[0098] For each subsequent record, the search window is formed in a portion of the allocated memory space. At a predetermined search position within the search window, it is determined whether a frame counter display is stored at the bit position. Based on whether a frame counter display is stored at the bit position at a predetermined position within the search window, the search position is moved in one or more directions to identify a first bit position having an empty space display, and the one or more directions are based on a predetermined write instruction. For example, the search position can be moved within the search window or as a new search window, etc. After the predetermined search position, for example, in a narrowing process, the search position can be moved in one or more directions towards or away from the next search position.

[0099] The devices with energy limitations described herein can be applied to any non-volatile memory (NVM). According to the described preferred embodiments, the function of enabling cyber security can be applied in devices with energy limitations / energy harvesting devices, and such devices with energy limitations / energy harvesting devices have conventionally been unable to have such functions due to the limitations of the available energy and startup time of such devices with energy limitations / energy harvesting devices. The described preferred embodiments can be used in industrial IOT (Internet of Things) based on ZigBee (registered trademark), Bluetooth (registered trademark), and IO Link Wireless, for industrial control applications, but are not limited thereto, that is, the preferred embodiments can also be used in other applications.

[0100] The methods and devices with energy limitations described herein are relatively inexpensive and the inventors recognize that they are easy to implement with respect to existing devices. The method allows for a shorter time to be used when updating information related to a frame counter. For example, by halving the search window in each successive search cycle (or moving the search position with respect to a portion of the allocated memory space), the time required to search the frame counter number is shorter. The latency of the search is also reduced. For example, conventionally, in order to search for a predetermined maximum frame counter of 2 million bits, 1 million to 2 million steps may need to be performed in each search cycle to determine the current frame counter number. For the device with energy limitations described herein, when the expected number of transmissions is 2 million, the maximum number of steps that can be performed in each search cycle to determine the current frame counter number is fixed at 250 (i.e., the square root of (2,000,000 / 32)).

[0101] The inventors recognize that for a typical flash solution, the sector erase time is about 25 ms. The total execution time for a typical device is about 6 ms. The preferred embodiments described can shorten the recording time within 6 ms, which may include 2.5 ms for the initial setup of the device and 2.5 ms for the transmission of multiple wireless frames or signals.

[0102] The inventors recognize that the preferred embodiments described herein may usefully enable the provision of a cyber security function in a device with energy limitations.

[0103] As used herein, the terms "coupled" or "connected" are intended to cover both direct connection and connection through one or more intermediate means, unless otherwise stated.

[0104] As used herein, the terms "configured to (perform a task / operation)", "configured for (performing a task / operation)", and like terms include being programmable, programmed, connectable, wired, or otherwise constructed to have the ability to perform a task / operation when arranged or installed as described herein. The terms "configured to (perform a task / operation)", "configured for (performing a task / operation)", and like terms are intended to cover, for example, being specially adapted to perform or carry out a task / operation, and / or being specially configured to perform or carry out a task / operation, and / or being specially arranged to perform or carry out a task / operation, and / or being specially adapted to perform or carry out a task / operation such that, in use, the task / operation is performed.

[0105] The term "and / or", e.g., "X and / or Y", is understood to mean either "X and Y" or "X or Y", and should be interpreted as providing explicit support for both meanings or either meaning.

[0106] As used herein, the terms "associated with", "related to", and like terms when referring to two elements refer to a broad relationship between the two elements. The relationship includes, but is not limited to, physical, chemical, or biological relationships. For example, when element A is associated with element B, elements A and B may be directly or indirectly attached to each other, or element A may include element B, or vice versa.

[0107] As used herein, the terms "preferred embodiment", "exemplary embodiment", "preferred implementation", "exemplarily", and like terms are intended to illustrate examples of the matters described in this disclosure. Such examples may relate to one or more functions defined in the claims and are not necessarily intended to highlight the best example or any requirement for any function.

[0108] In certain portions, the description herein may be explicitly or implicitly described as algorithms and / or functional operations that operate on data within a computer memory or an electronic circuit. These algorithmic descriptions and / or functional operations are typically used by those skilled in the art of information / data processing for efficient explanations. An algorithm is generally related to a self-consistent sequence of steps leading to a desired result. The steps of an algorithm can include physical operations of physical quantities such as electrical, magnetic, or optical signals that are capable of being stored, transmitted, propagated, combined, compared, and otherwise manipulated.

[0109] Furthermore, unless otherwise specifically stated, as would be apparent in general throughout this specification, descriptions using terms such as "scan," "calculate," "determine," "replace," "generate," "initialize," "output," and the like refer to the operation and process of an instruction processor / computer system or similar electronic circuit / device that operates on and transforms data represented as a physical quantity within the described system into other data similarly represented as a physical quantity within the system or other information storage or transmission or display device. Those skilled in the art will understand this.

[0110] The description also discloses the related devices / apparatuses that perform the steps of the described methods. Such devices may be specially constructed for the purposes of the method, or may comprise a general-purpose computer / processor, or other devices selectively activated or reconfigured by a computer program stored in a storage element. The algorithms and displays described herein are not inherently related to any particular computer or other device. It is understood that general-purpose devices / machines can be used in accordance with the teachings herein. Alternatively, the construction of dedicated devices / apparatuses for performing the method steps may be desired.

[0111] In addition, in that it is clear that the steps of the methods described herein can be implemented by computer code, the description also implicitly covers a computer program. It will be understood that a variety of programming languages and codings can be used to implement the teachings of the description herein. Further, where applicable, the computer program is not limited to any particular control flow and can use different control flows without departing from the scope of the invention.

[0112] Further, where applicable, one or more of the steps of a computer program can be performed in parallel and / or sequentially. Where applicable, such a computer program can be stored on any computer-readable medium. The computer-readable medium can include storage devices such as magnetic or optical disks, memory chips, or other storage devices that are suitable for interfacing with a suitable reader / general-purpose computer. In such a situation, the computer-readable storage medium is non-transitory. Such a storage medium also covers all computer-readable media, such as media that store data only for a short period of time and / or only when power is present, such as register memory, processor cache, and random access memory (RAM), and the like. The computer-readable medium can even include wired media, such as exemplified by the Internet system, or wireless media, such as exemplified by Bluetooth technology. When loaded and executed in a suitable reader, the computer program can effectively provide an apparatus that implements the steps of the described method.

[0113] Preferred embodiments may also be implemented as hardware modules. A module is a functional hardware unit designed to be used with other components or modules. For example, a module may be implemented using digital or discrete electronic components, or the module may form part of an entire electronic circuit such as an application specific integrated circuit (ASIC). Those skilled in the art will understand that the preferred embodiments may also be implemented as a combination of hardware and software modules.

[0114] Furthermore, when describing some embodiments, the present disclosure may disclose a method and / or process as a specific sequence of steps. However, it will be understood that the method or process should not be limited to the specific sequence of steps disclosed, unless specifically required. Other sequences of steps may be possible. The specific order of steps disclosed herein should not be construed as an undue limitation. Unless specifically required, the methods and / or processes disclosed herein should not be limited to being performed in the order in which the steps are described. The sequence of steps may be changed and still be within the scope of the present disclosure.

[0115] Furthermore, in the description of this specification, whenever used, the term "substantially" is understood to include, but not be limited to, "entirely" or "completely" and the like. Additionally, whenever used, terms such as "comprising", "comprises", and the like are intended to be non-limiting descriptive language in that they broadly include the elements / components listed after such terms in addition to other components that are not explicitly enumerated. For example, when "comprising" is used, a reference to "one" function is also intended to be a reference to "at least one" of that function. Terms such as "consisting of", "consists of", and the like may be regarded as a subset of terms such as "comprising", "comprises", and the like in an appropriate context. Thus, in the embodiments disclosed in this specification using terms such as "comprising", "comprises", and the like, it will be understood that such embodiments provide teachings regarding corresponding embodiments using terms such as "consisting of", "consists of", and the like. Furthermore, whenever used, terms such as "about", "substantially", and the like typically mean a reasonable variation, e.g., + / - 5% of the disclosed value, a variation of 4% of the disclosed value, a variation of 3% of the disclosed value, a variation of 2% of the disclosed value, or a variation of 1% of the disclosed value.

[0116] Furthermore, in the description of this specification, certain values may be disclosed in ranges. The values indicating the endpoints of the range are intended to indicate the preferred range. When a range is described, it is always intended that the range cover and teach all possible sub-ranges and the individual numerical values within that range. That is, the endpoints of the range should not be construed as immutable limitations. For example, the description of the range of 1% to 5% is specifically intended to disclose, among others, the sub-ranges of 1% to 2%, 1% to 3%, 1% to 4%, 2% to 3%, etc., as well as the values within that range such as 1%, 2%, 3%, 4%, and 5%. It should be understood that the individual numerical values within the range also include integers, fractions, and decimals. Furthermore, when a range is described, it is always intended that the range cover and teach values with up to two additional decimal places or significant figures (where appropriate) from the indicated numerical endpoints. For example, the description of the range of 1% to 5% is specifically intended to disclose the ranges of 1.00% to 5.00%, 1.0% to 5.0%, and all intermediate values within those ranges (e.g., 1.01%, 1.02%,..., 4.98%, 4.99%, 5.00% and 1.1%, 1.2%,..., 4.8%, 4.9%, 5.0%, etc.). The intent of the above specific disclosure is applicable to any depth / width of the range.

[0117] In the described preferred embodiment, the initial setting of the first record includes accessing a first bit position having an empty space display based on a predetermined write command. Subsequently, the empty space display at the first bit position is converted to a frame counter display, and the first bit position having the frame counter display indicates the current frame counter number. It will be understood that the preferred embodiment is not so limited. For example, the initial setting of the first record may include first erasing the allocated memory space of the memory component such that an empty space display is stored in all bits of the allocated memory space.

[0118] In the preferred embodiment described, the default value or blank space display is "1", and the value of the frame counter display is "0". It will be understood that the preferred embodiment is not so limited. For example, the default value or blank space display can be "0", and the value of the frame counter display can be "1".

[0119] In the preferred embodiment described, it is described that the frame counter number continuously increases with each activation of the actuator of the device with energy limitation (therefore, when each signal is transmitted by the device with energy limitation). It will be understood that the preferred embodiment is not so limited. For example, it can be modified that the frame counter number continuously decreases with each activation of the actuator of the device with energy limitation (therefore, when each signal is transmitted by the device with energy limitation).

[0120] In the preferred embodiment described, the size of one item is 4 bytes, and each item contains 32 bits. It will be understood that the preferred embodiment is not so limited. The size of one item is flexible, and thus each item can contain more or less than 32 bits.

[0121] In the preferred embodiment described, based on a predetermined write instruction, the search as described herein is implemented to determine the position of the first bit position having a blank space display. The search is based on the binary search algorithm. It will be understood that the preferred embodiment is not so limited. The search can be implemented based on any fast search algorithm.

[0122] Those skilled in the art will understand that other variations and / or modifications can be made to particular embodiments without departing from the scope of the claimed invention as broadly recited. For example, in the description herein, the functions of different preferred embodiments can be mixed, combined, exchanged, incorporated, adopted, modified, included, etc., or the like, across different preferred embodiments. For example, since some can be combined with one or more embodiments to form new preferred embodiments, the preferred embodiments need not necessarily be mutually exclusive. Further, while the present disclosure provides embodiments having one or more of the functions / features described herein, one or more of these functions / features can also be waived in other alternative embodiments, and it will be understood that the present disclosure provides support for such waivers and the associated alternative embodiments. Accordingly, the present embodiments should be considered illustrative in all respects and not restrictive.

Claims

1. A method for recording a frame counter in a memory component of a device with energy limitations, the method comprising: accessing the memory component; For a first recording, allocating a memory space of the memory component based on a value of a predetermined maximum frame counter number for the device with energy limitations, wherein each bit of the allocated memory space stores an empty space indication; For the first recording and each subsequent recording, accessing a first bit position having the empty space indication based on a predetermined write instruction, and converting the empty space indication at the first bit position to a frame counter indication, wherein the first bit position having the frame counter indication indicates the current frame counter number; A method comprising the above.

2. The method according to claim 1, wherein the predetermined maximum frame counter number is based on the number of transmissions expected for the device with energy limitations.

3. The method according to claim 1 or 2, wherein the current frame counter number is information included in a current signal transmitted from the device with energy limitations to a receiver.

4. Accessing the first bit position having the empty space indication for each subsequent recording comprises: forming a search window in a part of the allocated memory space; determining whether a frame counter indication is stored at a bit position at a predetermined search position within the search window; moving the search position in one or more directions to identify the first bit position having the empty space indication based on whether the frame counter indication is stored at the bit position at the predetermined position within the search window, wherein the one or more directions are based on the predetermined write instruction; The method according to claim 1 or 2, comprising the above.

5. A device with energy limitations, the device comprising: a transmission component for transmitting one or more signals; a generator for generating power for operating the transmission component; a processing module; a computer-readable medium coupled to the processing module; comprising, the computer-readable medium stores instructions executable by the processing module to perform a method of recording a frame counter in a memory component of a device with energy limitations, the method comprising: accessing the memory component; for a first recording, allocating a memory space of the memory component based on a value of a predetermined maximum frame counter number for the device with energy limitations, wherein each bit of the allocated memory space stores an empty space indication; for the first recording and each subsequent recording, accessing a first bit position having the empty space indication based on a predetermined write instruction, and converting the empty space indication at the first bit position to a frame counter indication, wherein the first bit position having the frame counter indication indicates the current frame counter number; A device including the above. **Claim 6** The device according to claim 5, wherein the predetermined maximum frame counter number is based on the number of transmissions of the one or more signals expected for the device with energy limitations. **Claim 7** The device according to claim 5 or 6, wherein the current frame counter number is information included in a current signal transmitted from the device with energy limitations to a receiver. **Claim 8** Accessing the first bit position having the empty space indication for each subsequent recording comprises: forming a search window in a portion of the allocated memory space; determining whether a frame counter indication is stored at a bit position at a predetermined search position within the search window; moving the search position in one or more directions to identify the first bit position having the empty space indication based on whether the frame counter indication is stored at the bit position at the predetermined position within the search window, wherein the one or more directions are based on the predetermined write instruction; The device according to claim 5 or 6, including the above.