Memory reservation for radio equipment

By disabling the refresh of unallocated DRAM memory resources when the radio equipment is idle, the problem of unnecessary power consumption of DRAM in idle state is solved, and power consumption is optimized.

CN114792539BActive Publication Date: 2025-12-12NORDIC SEMICONDUCTOR
View PDF 3 Cites 0 Cited by

Patent Information

Application Number
CN202210065374.6
Authority / Receiving Office
CN · China
Patent Type
Patents(China)
Current Assignee / Owner
Priority Date
2021-01-25
Filing Date
2022-01-20
Publication Date
2025-12-12
Estimated Expiration
2042-01-20

AI Technical Summary

Technical Problem

In the prior art, dynamic random access memory (DRAM) in wireless devices still needs to be refreshed in the idle state, resulting in unnecessary power consumption.

Method used

By disabling the refresh of unallocated DRAM memory resources when the radio equipment is idle, the controller utilizes the memory allocator and memory refresh circuitry to refresh only the allocated memory resources.

Benefits of technology

It effectively reduces the power consumption of wireless devices in idle state and improves the battery life of battery-powered devices.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN114792539B_ABST
    Figure CN114792539B_ABST
Patent Text Reader

Abstract

Memory reservation for radio devices is disclosed. This document discloses solutions for controlling refresh of memory resources of a dynamic random access memory. According to one aspect, an apparatus for a radio device is disclosed, comprising: a dynamic random access memory circuit; a memory allocator configured to allocate memory resources from the dynamic random access memory circuit and determine unallocated memory resources; a radio modem configured to communicate with the memory allocator to obtain memory resources from the dynamic random access memory circuit; a memory refresh circuit configured to refresh the memory resources of the dynamic random access memory circuit; and a controller configured to determine that the radio modem is in an idle state based on a state change signal received from the radio modem of the radio device, and in response to the determination, control the memory refresh circuit to disable refresh of the unallocated memory resources.
Need to check novelty before this filing date? Find Prior Art

Description

TECHNICAL FIELD

[0001] Various example embodiments relate to memory usage in a radio device, and in particular to managing memory retention in a radio device. BACKGROUND

[0002] Memory retention is a mechanism for dynamic random access memory (DRAM) circuits in which memory cells of the DRAM are frequently "refreshed" to preserve data stored therein. Retention can include reading the memory cells and rewriting the memory cells with the read data, and retention obviously consumes power.

[0003] US 2007 / 180187 discloses a solution for reducing power consumption of a mobile communication device, such as a cellular phone, by disabling refresh of unused portions of DRAM. The DRAM comprises a plurality of individually refreshable memory refresh ranges (MRRs). A memory refresh manager (MRM) within the operating system of the device identifies ranges of virtual memory that will not be used during a subsequent sleep mode operation. The MRM remaps the virtual memory space to the physical memory space to cluster physical memory pages (associated with the virtual memory that will not be used) in certain MRRs so that the contents of the entire MRR need not be maintained in the sleep mode of the mobile communication device. Refresh of certain MRRs is then disabled for the sleep mode, thereby reducing power consumption. The sleep mode is determined in response to a user input, such as the user pressing a power off key. Further improvements to reduce power consumption would be beneficial. SUMMARY

[0004] According to an aspect, there is provided the invention as defined by the independent claims.

[0005] Embodiments are defined in the dependent claims. Embodiments and features described in the specification that do not fall within the scope of the independent claims, if any, are to be interpreted as examples useful for understanding various embodiments of the invention.

[0006] According to an aspect, there is provided an apparatus for a radio device, comprising: a dynamic random access memory circuit; a memory allocator configured to allocate memory resources from the dynamic random access memory circuit and to determine unallocated memory resources; a memory refresh circuit configured to refresh memory resources of the dynamic random access memory circuit; a radio modem configured to communicate with the memory allocator to obtain memory resources from the dynamic random access memory circuit; and a controller configured to determine that the radio modem is in an idle state based on a state change signal received from the radio modem, and in response to said determination, control the memory refresh circuit to disable said refresh of the unallocated memory resources.

[0007] The technical effect provided by the apparatus is that in the idle state of the radio modem, no refresh current is applied to the unallocated memory resources. The corresponding advantage is an improved apparatus power consumption reduction, in particular in a state where the radio device is in an active state but the radio modem is in an idle state.

[0008] In an embodiment, the idle state comprises a radio resource connection idle mode in which the radio modem has no radio connection with an access node of a cellular communication system. The corresponding technical advantage is a reduced power consumption in the absence of a radio connection of the wireless resources.

[0009] In an embodiment, the idle state comprises a power saving mode of the radio connection. The corresponding technical advantage is a further improved power saving mode with a further reduced power consumption.

[0010] In an embodiment, the controller is further configured to determine that the radio modem is in an active state, and in response to said determination, control the memory refresh circuit to enable said refresh of all memory resources of the dynamic random access memory. The technical effect is that the memory refresh circuit is provided with two modes: one with a reduced power consumption, and one with a refresh of all memory resources. Thus, a flexibility of the refresh can be achieved.

[0011] In an embodiment, the active state comprises a state in which the radio modem is operating a radio connection.

[0012] In an embodiment, the memory resources of the dynamic random access memory are divided into a plurality of memory blocks, wherein the memory allocator is configured to allocate memory resources in units of said memory blocks, and wherein the memory refresh circuit is configured to, under control of the controller, perform disabling in units of said memory blocks such that if a memory block is not allocated by the memory allocator during the idle state, the refresh is disabled for all memory resources of the memory block. The corresponding technical effect is to ensure that the refresh is disabled only for those memory blocks that do not contain allocated memory resources.

[0013] In an embodiment, the memory refresh circuit is configured to control the refresh in units of memory refresh blocks, wherein each memory refresh block comprises a plurality of said memory blocks, and wherein the controller, together with the memory refresh circuit, is configured to disable the refresh for a memory refresh block only if all memory blocks of the memory refresh block are unallocated. The corresponding technical effect is to ensure that the refresh is not disabled for such refresh blocks that have allocated memory resources. Thus, power saving can be achieved without compromising the operation of the apparatus.

[0014] In an embodiment, the controller is further configured to, in response to determining that the radio modem is in the idle state, cause the memory allocator to determine unallocated memory resources, the unallocated memory resources comprising memory resources released by the radio modem after entering the idle state, and to cause the memory refresh circuit to disable said refresh of the determined unallocated memory resources.

[0015] In an embodiment, the apparatus further comprises an application processor configured to communicate with the memory allocator in order to obtain memory resources from the dynamic random access memory circuit, and wherein the controller is configured to, when the application processor is in an active state and has allocated memory resources in the dynamic random access memory circuit, control the memory refresh circuit to disable said refresh of unallocated memory resources.

[0016] According to an aspect, there is provided a method for a radio device, the radio device comprising: a dynamic random access memory circuit; a memory allocator configured to allocate memory resources of the dynamic random access memory circuit and to determine unallocated memory resources; a radio modem configured to communicate with the memory allocator to obtain memory resources from the dynamic random access memory circuit; and a memory refresh circuit configured to refresh memory resources of the dynamic random access memory circuit; wherein the method comprises: determining, by a controller, based on a state change signal received from the radio modem, that the radio modem is in an idle state; and in response to said determining, controlling, by the controller, the memory refresh circuit to disable said refreshing of the unallocated memory resources.

[0017] In embodiments, the idle state comprises a radio resource connection idle mode in which the radio modem has no radio connection with an access node of a cellular communication system.

[0018] In embodiments, the idle state comprises a power saving mode of a radio connection of the radio modem.

[0019] In embodiments, the controller further determines that the radio modem is in an active state, and in response to said determining, controls the memory refresh circuit to enable said refreshing of all memory resources of the dynamic random access memory.

[0020] In embodiments, the active state comprises a state in which the radio modem is operating a radio connection.

[0021] In embodiments, the memory resources of the dynamic random access memory are divided into a plurality of memory blocks, wherein the memory allocator is configured to allocate memory resources in units of said memory blocks, and wherein the memory refresh circuit, under control of the controller, performs the disabling in units of said memory blocks such that if a memory block is not allocated by the memory allocator during the idle state, the refreshing is disabled for all memory resources of the memory block.

[0022] In embodiments, the memory refresh circuit controls the refreshing in units of memory refresh blocks, wherein each memory refresh block comprises a plurality of said memory blocks, and wherein the controller, together with the memory refresh circuit, only disables the refreshing for a memory refresh block if all memory blocks of the memory refresh block are unallocated.

[0023] In an embodiment, the controller, in response to determining that the radio modem is in an idle state, causes the memory allocator to determine unallocated memory resources, the unallocated memory resources including memory resources released by the radio modem upon entering the idle state, and causes the memory refresh circuit to disable said refreshing of the determined unallocated memory resources.

[0024] In an embodiment, the radio further comprises an application processor configured to communicate with the memory allocator to obtain memory resources from the dynamic random access memory circuit, and wherein the controller, while the application processor is in an active state and has allocated memory resources in the dynamic random access memory circuit, controls the memory refresh circuit to disable said refreshing of unallocated memory resources.

[0025] According to an aspect, there is provided a computer program product comprising a distribution medium readable by a computer and including computer program instructions which, when executed by a computer for a radio, cause the computer to perform a computer process comprising: determining that the radio is in an idle state based on a state change signal received from a radio modem; and in response to said determining, controlling a memory refresh circuit of the radio to disable refreshing of unallocated memory resources of a dynamic random access memory circuit, the memory refresh circuit being configured to refresh memory resources of a dynamic random access memory circuit of the radio. BRIEF DESCRIPTION OF DRAWINGS

[0026] In the following, example embodiments will be described in more detail with reference to the accompanying drawings, in which:

[0027] Figure 1 An apparatus according to an embodiment is shown;

[0028] Figure 2 A process for controlling memory refresh according to an embodiment is shown;

[0029] Figure 3 An embodiment of a memory structure is shown;

[0030] Figure 4 An embodiment of a process for controlling memory refresh of a memory structure for Figure 3 is shown;

[0031] Figure 5 An embodiment of another memory structure is shown;

[0032] Figure 6 An embodiment of a process for controlling memory refresh of a memory structure for Figure 5 is shown.

[0033] Figure 7 Embodiments of signaling diagrams for signaling an idle state and an associated disabled memory refresh trigger are shown. DETAILED DESCRIPTION

[0034] The following embodiments are examples. Although the specification can

[0035] Figure 1 An apparatus according to embodiments is shown. The apparatus can be a radio device of a user equipment (UE) of a cellular communication system, a terminal device or peer device of a radio network, or any radio device comprising radio communication circuitry configured with radio communication capabilities. The embodiments described herein are not limited to any particular radio communication protocol, but are equally applicable to cellular communication protocols such as Long Term Evolution (LTE) or 5G according to 3GPP (Third Generation Partnership Project) standards, wireless local area network protocols such as IEEE 802.11 based protocols, and short range radio protocols such as IEEE 802.15 based protocols. The embodiments are also applicable to private protocols as well as trunked radio systems.

[0036] The apparatus can comprise a radio modem 45 supporting one or more radio communication protocols. The radio modem can perform baseband functions such as data modulation and demodulation, coding and decoding, and generation and extraction of signaling messages in accordance with the supported protocols. In addition, the apparatus can comprise radio frequency components configured to convert transmission signals output from the radio modem 45 to radio frequencies and to transmit the transmission signals via one or more antennas. On the other hand, the radio frequency components can be configured to receive reception signals via one or more antennas and to convert them to baseband and to output the baseband signals to the radio modem. The radio modem can operate in various states or modes, including an active state and an idle state. As an example of an idle state, multiple protocols define a power saving mode in which the radio modem can turn off certain functions in order to save power. Such power saving modes can be applied during establishment of a radio connection by the radio modem with at least one other radio device, such as a base station, an access point, or a peer radio device. Examples of such power saving modes include the power saving modes of the 802.11 standard and the radio resource control (RRC) connected inactivity state. Another example of an idle state is a state in which the radio modem has no established radio connection. For example, the LTE protocol and the 5G protocol define an RRC idle state as such an idle state. As an example of an active state, the active mode in the power management mode of the RRC connection and the 802.11 specification.

[0037] The apparatus can further comprise a dynamic random access memory (DRAM) 60 comprising memory resources used as a working memory. The DRAM can be implemented as a memory chip or a memory circuit. The DRAM 60 can comprise a plurality of memory chips or circuits. As mentioned in the background section, the DRAM can be understood as a memory that requires refreshing to keep the data stored therein, and for this purpose, the apparatus can comprise a memory refresh circuit 50 configured to refresh the memory resources of the DRAM. The refreshing can be performed by reading and rewriting the memory resources periodically or in addition thereto in a regular manner. Other methods of applying a refresh current to the storage cells of the DRAM can be used.

[0038] The apparatus can further comprise a memory allocator 20 configured to allocate memory resources from the DRAM to one or more processors requesting working memory. The memory allocator can store information implementing the allocation, e.g. determining unallocated memory resources. This information can be stored in the form of a data structure indicating unallocated memory resources. Such a data structure can be referred to as a free list. The DRAM can be a block RAM or a distributed RAM, and as known in the art, the difference lies in how the memory structure is organized, e.g. in terms of size of allocatable memory units.

[0039] The apparatus can further comprise an application processor 40 configured to generate and process data transmitted via the radio modem. Depending on the main purpose of the apparatus, the application processor can execute various applications or functions that generate and consume data transmitted via the radio modem 45. For example, if the apparatus is used as a sensor device, the application processor can process measurement data measured by one or more sensors of the apparatus, and transmit the measurement data via the radio modem. If the apparatus is a user device such as a cellular phone, the application processor can execute various user applications typically stored in and executed in the user device, such as internet browsing, e-mail application, calendar application, video streaming application and gaming application. Such applications can require transmission of data via the radio modem 45.

[0040] The application processor 40 and / or the radio modem 45 can communicate with the memory allocator 20 to obtain memory resources from the DRAM 60, and the memory allocator can allocate memory resources upon request.

[0041] The apparatus further comprises a control apparatus in the form of a controller circuit 10 configured to control the memory refresh in dependence on a state of a radio device such as the radio modem. Upon determining that the radio device is in an idle state, the controller controls the memory refresh circuit 50 to disable refresh of unallocated memory resources of the DRAM 60. Figure 2 An embodiment of the computer process performed by the controller 10 is shown.

[0042] Reference is made to Figure 2The process comprises monitoring (block 200) the state of the radio device, for example the state of the radio modem. In block 202, it is determined whether the radio device is in an idle state. If it is detected that the radio device is not in an idle state, the process can return to block 200. If it is detected that the radio device is in an idle state, the process can proceed to block 204 in which the controller outputs a control signal to the memory refresh circuit for disabling the refresh of unallocated memory resources of the DRAM. The controller or the memory refresh circuit can retrieve information about unallocated memory resources from the memory allocator 20. In response to the control signal, the memory refresh circuit 50 can disable the refresh of unallocated memory resources.

[0043] The technical effect provided by the process is that the refresh of unused memory resources is disabled, thereby providing power saving and reducing power consumption. This is particularly advantageous for battery-powered radio devices.

[0044] In an embodiment, the controller is configured to control the memory refresh circuit to disable the refresh of unallocated memory resources when the application processor is in an active state and has allocated memory resources in the dynamic random access memory circuit. Thus, improved power saving can be achieved even in a state where the application processor is operating and accessing memory resources allocated to it.

[0045] In an embodiment, upon detecting that the radio device is not in an idle state, for example in an active state, the controller can output a control signal to the memory refresh circuit 50 for enabling the refresh of all memory resources of the DRAM. The controller can output the control signal only in relation to a change of state of the radio device. From this perspective, Figure 2 The process of Figure 2 can be understood such that, in block 202, upon detecting an idle state, the controller can output a control signal indicating the disabling only if the disabling has not yet taken effect. In the same way, in block 202, upon detecting an active state, the controller can output a control signal indicating the enabling only if the enabling has not yet taken effect. In practice, block 200 can be performed by polling the state of the radio device or by waiting for a state change signal from the radio device. In other words, the controller 10 determines that the radio device is in an idle state based on a state change signal received from the radio device, for example the radio modem, and disables the refresh of unallocated memory resources accordingly. Further embodiments related to signaling a state change are described below in connection with Figure 7

[0046] ​The memory refresh circuit can thus operate in at least two modes: a first mode in which refresh is performed for all memory resources of the DRAM and a second mode in which refresh is disabled for unallocated memory resources. The controller 10 can control the transition between the first mode and the second mode in the manner described above.

[0047] The idle state and the active state can be defined as described above. In embodiments, the idle state comprises a radio resource connection idle mode in which the radio device has no radio connection with an access node of the cellular communication system. An example of such an idle state is the known radio resource connection idle (RRC IDLE) state in relation to the cellular communication system. Another similar idle state falling within the meaning of idle state herein is an idle state in which the radio device can have a radio (RRC) connection but no non-access stratum (NAS) connection with the cellular network. In embodiments, the idle state comprises a power saving mode of the radio connection, for example the known connected mode discontinuous reception (DRX) in relation to the cellular communication system. In embodiments, the active state comprises a state in which the radio device is operating a radio connection (for example by transmitting data or signalling information over the radio connection and accessing allocated memory resources).

[0048] Some embodiments of the process of Figure 2 are then described Figure 3 As shown in Fig. 6, the physical DRAM circuit 60 can be logically divided in two different ways: one from the perspective of the memory allocator and the other from the perspective of the memory refresh circuit. The memory resources of the DRAM can be divided into a number of memory blocks (#1 to #N in Fig. 6) and the memory allocator can be configured to allocate memory resources in units of said memory blocks. For example, if a radio modem or an application processor requests an amount X of memory resources, the memory allocator can determine X in units of memory blocks and allocate a sufficient number of memory blocks to the requesting entity. Each memory block can comprise a determined number of bits or bytes, where the number is defined by the hardware configuration of the DRAM. The DRAM circuit can also be divided into refresh blocks (#1 to #M in Fig. 6) and the memory refresh circuit can be configured to perform refresh in units of said refresh blocks under control of the controller. The memory refresh circuit can thus have the ability to scale refresh with the granularity of refresh blocks. Each refresh block can encompass a determined number (more than one) of memory cells, e.g. memory elements. The memory refresh circuit can be able to determine whether to enable or disable refresh for each refresh block and then perform the enabling or disabling for all memory elements of the refresh block. Figure 3 Figure 3 Now, depending on the relationship between the two logical divisions of the DRAM, the process of

[0049] may be performed according to separate embodiments. In one embodiment, the memory refresh circuit is configured to perform refresh for all memory resources of the DRAM. In this embodiment, the memory allocator is configured to allocate memory resources in units of memory blocks and the memory refresh circuit is configured to perform refresh in units of refresh blocks. The memory refresh circuit is configured to perform refresh for all memory resources of the DRAM. The controller is configured to control the memory allocator to allocate memory resources in units of memory blocks and to control the memory refresh circuit to perform refresh in units of refresh blocks. The controller is configured to control the transition between the first mode and the second mode in the manner described above.​Figure 2 the program. Figures 3 to 6 Embodiments are described in which the DRAM is a block RAM. A block RAM can be understood as a RAM in which the memory resources are divided into memory blocks and each memory block comprises a plurality of storage cells. Common sizes of memory blocks are 4 kibit, 8 kibit, 16 kibit and 32 kibit, but other block sizes are equally possible. Figure 3 Embodiments are shown in which the refresh blocks and the memory blocks have the same size (M=N) and follow the same division logic (e.g. refresh blocks #1 to #M comprise the same storage cells as the corresponding memory blocks #1 to #N). Figure 4 Embodiments are shown of the block 204 of the memory structure of Figure 3 when the program is executed by the controller. In another embodiment, Figure 4 the program is executed by the memory refresh circuit and, thus, Figure 4 is an embodiment of Figure 2 and comprises steps executed after the block 204.

[0050] With reference to Figure 4 after the trigger block 204, the process can proceed to the blocks 400 to 408 in which the memory blocks / refresh blocks are checked and the refresh of unallocated memory resources is disabled. Since the memory blocks and the refresh blocks are divided according to the same logic, the memory blocks are equal to the refresh blocks. In the block 400, a memory block / refresh block is selected and in the block 402 it is determined whether the memory block has been allocated to a processor or a radio modem. If the memory block is not in the free list, i.e. allocated, the process proceeds to the block 406 in which the refresh of the memory block is enabled or maintained. On the other hand, if the memory block is unallocated, e.g. in the free list, the process proceeds from the block 402 to the block 404 in which the refresh is disabled for the memory block. From the blocks 404 and 406, the process proceeds to the block 408 in which it is determined whether the next memory block / refresh block is selected. If all memory blocks / refresh blocks (in the free list) have been scanned, the process can end. Otherwise, the process can continue by selecting the next memory block / refresh block in the block 400. In this way, the process can continue until the refresh of all unallocated memory blocks / refresh blocks is disabled.

[0051] Figure 5 Embodiments are shown in which the refresh blocks have a different size (M≠N) than the memory blocks. Thus, the refresh blocks #1 to #M comprise at least partially different storage cells than the corresponding memory blocks #1 to #N. Depending on whether M>N or M<N, each refresh block can comprise storage cells from a plurality of memory blocks (M<N) or each memory block can comprise storage cells from a plurality of refresh blocks (M>N).Figure 5 Embodiments are shown in which M < N. Now, the disabling logic can follow the principle that a flush block should only be disabled in the idle state of the radio if it does not contain allocated memory blocks. If there is at least one memory cell in the flush block that is included in an allocated memory block, the flush should be kept or enabled. Figure 6 Embodiments are shown in which the processing for performing the disabling. As described above in connection with Figure 4 As described, the program can be executed by the controller or the memory flush circuit, depending on the implementation. In Figure 6 The blocks denoted by the same reference numerals as in Figure 4 The blocks denoted by the same reference numerals as in

[0052] Referring to Figure 6 The processing can iterate through the flush blocks and perform the disabling according to the above principles. In block 600, a flush block is selected and it is checked whether the flush block contains at least one allocated memory block. In block 602, a decision is made based on the check. If there is at least one already allocated memory block, the processing proceeds to block 406 in which the flush is enabled or kept. If there is no allocated memory block in the flush block, the processing proceeds to block 404 in which the flush is disabled, thus providing power saving. From blocks 404 and 406, the processing proceeds to block 408 to select the next flush block or to end the processing.

[0053] In embodiments in which M > N, the processing can be performed in the same or slightly different way as in Figure 6 Although multiple flush blocks can have memory cells of the same memory block, at least some of the flush blocks can have memory cells from multiple (e.g. two) memory blocks. Thus, the same checks can be made. In case each flush block has memory cells of a single memory block, the processing is simplified in block 600 such that a check is made whether the memory block linked to the selected flush block is allocated.

[0054] As described above, the disabling of the memory flush for unallocated memory resources can be triggered by the radio modem 45 indicating with a state change signal that it enters the idle state. Figure 7 Such signaling and associated disabling of the memory flush is shown. Referring to Figure 7In step 700, the radio modem 45 determines to enter the idle state and thus outputs a state change signal to the controller 10 indicating the entering of the idle state. In addition, in step 702, the radio modem can release the memory resources allocated to the radio modem by outputting a corresponding release signal to the memory allocator. In response to receiving the state change signal in step 700, the controller 10 determines, together with the memory allocator, the unallocated memory resources including the memory resources released by the radio modem upon entering the idle state, and the controller 10 controls the memory refresh circuit to disable the refresh of the determined unallocated memory resources (block 704). Block 704 can include, for example Figure 4 or Figure 6 processing.

[0055] The disabling of the refresh according to the above-described embodiments can also be performed in the active mode. However, the advantage in terms of reducing power consumption can be less, especially in case a large portion of the memory resources are allocated.

[0056] The degree of reduction of power consumption can be related to the size of the refresh block relative to the size of the memory block. In a typical implementation, M < N means that the size of the refresh block is larger than the size of the memory block in terms of the number of storage cells. The smaller the size of the refresh block, the greater the power saving that can be achieved.

[0057] With regard to the controller 10 performing Figure 2 processing, the controller can be understood as a processing circuit comprising at least one processor and at least one memory including computer program code which is readable by the at least one processor. The computer program code can form a computer program product defining the computer processing performed by the at least one processor when reading and executing the computer program code. The controller can be comprised in an apparatus for a radio device including the radio modem 45. The apparatus can be an electronic device.

[0058] As used in this application, the term "circuitry" refers to all of the following: hardware-only implementations (such as implementations in only analog and / or digital circuitry) and / or combinations of circuits and software (and / or firmware) (such as (as applicable): a combination of processor(s) or (as applicable: portions of processor(s)) together with other circuits and software (and / or firmware)). In other words, the term "circuitry" shall also cover, for example and if applicable to the particular claimed embodiment, a combination of processor(s) or (as applicable: portions of processor(s)) together with other circuits and software (and / or firmware) in accordance.

[0059] Figure 2 Any implementation of the processes or methods described herein or in the claims or any implementation of the embodiments described herein or in the claims can also be implemented in the form of code (for example, in the form of a computer program or program code) embodied in a tangible medium or in a propagated signal. The program code can be stored in the main memory or in the secondary memory. The computer program or program code can be stored (for example, in the form of a computer readable medium) on a tangible computer readable storage medium or a computer program product. The computer readable storage medium or computer program product can be, for example, an electronic, magnetic, optical, electromagnetic, infrared, or semiconductor system, or a propagation medium. It is to be understood that the computer readable storage medium or computer program product can be specially made or configured computer readable storage medium or product, or it can be a memory component of a general purpose computer.

[0060] The embodiments described herein are applicable to the radio equipment defined above, but also to other implementations. The specifications of radio equipment, in particular radio protocols, memory structures, etc., develop rapidly. Such development can require extra changes to the described embodiments. Therefore, all words and expressions should be interpreted broadly and the intended as limitations on the embodiments. It will be obvious to those having ordinary skill in the art that the inventive concept can be implemented in various ways. The embodiments are not limited to the above examples, but can vary within the scope of the claims.

Claims

1. An apparatus for a radio device, comprising: a dynamic random access memory circuit (60); a memory allocator (20) configured to allocate memory resources from the dynamic random access memory circuit and to determine unallocated memory resources; a memory refresh circuit (50) configured to refresh memory resources of the dynamic random access memory circuit; a radio modem (45) configured to communicate with the memory allocator to obtain memory resources from the dynamic random access memory circuit; an application processor configured to communicate with the memory allocator to obtain memory resources from the dynamic random access memory circuit; and a controller (10) configured to determine that the radio modem is in an idle state based on a state change signal received from the radio modem, and in response to the determination, control the memory refresh circuit to disable the refresh of the unallocated memory resources; and to control the memory refresh circuit to disable the refresh of the unallocated memory resources when the application processor is in an active state and has allocated memory resources in the dynamic random access memory circuit. The idle state comprises a radio resource connected idle mode in which the radio modem has no radio connection with an access node of a cellular communication system.

2. The apparatus of claim 1, wherein, The idle state comprises a radio connected power saving mode.

3. The apparatus of claim 1 or 2, wherein, The controller is further configured to determine that the radio modem is in an active state, and in response to the determination, control the memory refresh circuit to enable the refresh of all memory resources of the dynamic random access memory.

4. The apparatus of claim 1 or 2, wherein, The active state comprises a state in which the radio modem is operating a radio connection.

5. The apparatus of claim 4, wherein, Memory resources of the dynamic random access memory are divided into a plurality of memory blocks, wherein the memory allocator is configured to allocate the memory resources in units of the memory blocks, and wherein the memory refresh circuit is configured to perform the disabling in units of the memory blocks under control of the controller such that if a memory block is not allocated by the memory allocator during the idle state, the refresh is disabled for all memory resources of the memory block.

6. The apparatus of claim 1 or 2, wherein, The memory refresh circuit is configured to control the refresh in units of memory refresh blocks, wherein each memory refresh block comprises a plurality of the memory blocks, and wherein the controller is configured together with the memory refresh circuit to disable the refresh for a memory refresh block only if all memory blocks of the memory refresh block are unallocated.

7. The apparatus of claim 6, wherein, ​ 8. The apparatus of claim 1 or 2, wherein, The controller is further configured to, in response to determining that the radio modem is in an idle state, cause the memory allocator to determine the unallocated memory resources, the unallocated memory resources comprising memory resources released by the radio modem upon entering the idle state, and to cause the memory refresh circuit to disable the refresh of the determined unallocated memory resources.

9. A method for a radio device, the radio device comprising: a dynamic random access memory circuit (60); a memory allocator (20) configured to allocate memory resources from the dynamic random access memory circuit and to determine unallocated memory resources; a radio modem (45) configured to communicate with the memory allocator to obtain memory resources from the dynamic random access memory circuit; an application processor configured to communicate with the memory allocator to obtain memory resources from the dynamic random access memory circuit; and a memory refresh circuit (50) configured to refresh memory resources of the dynamic random access memory circuit, wherein the method comprises: determining, by a controller (10), that the radio modem is in an idle state based on a state change signal received from the radio modem; and in response to the determining, controlling, by the controller, the memory refresh circuit to disable the refresh of the unallocated memory resources, and when the application processor is in an active state and has allocated memory resources in the dynamic random access memory circuit, controlling, by the controller, the memory refresh circuit to disable the refresh of the unallocated memory resources. The idle state comprises a radio resource connection idle mode in which the radio modem has no radio connection with an access node of a cellular communication system.

10. The method of claim 9, wherein, The idle state comprises a power saving mode of a radio connection of the radio modem.

11. The method of claim 9 or 10, wherein, The controller further determines that the radio modem is in an active state, and in response to the determining, controls the memory refresh circuit to enable the refresh of all memory resources of the dynamic random access memory.

12. The method of claim 9 or 10, wherein, The active state comprises a state in which the radio modem is operating a radio connection.

13. The method of claim 12, wherein, The memory resources of the dynamic random access memory are divided into a plurality of memory blocks, wherein the memory allocator is configured to allocate the memory resources in units of the memory blocks, and wherein the memory refresh circuit, under control of the controller, performs the disabling in units of the memory blocks, such that if a memory block is not allocated by the memory allocator during the idle state, the refresh is disabled for all memory resources of the memory block.

14. The method of claim 9 or 10, wherein, ​ 15. The method of claim 14, wherein, The memory refresh circuit controls the refresh in units of memory refresh blocks, wherein each memory refresh block comprises a plurality of the memory blocks, and wherein the controller, together with the memory refresh circuit, disables the refresh for a memory refresh block only if all memory blocks of the memory refresh block are unallocated.

16. The method of claim 9 or 10, wherein, The controller, in response to determining that the radio modem is in an idle state, causes the memory allocator to determine unallocated memory resources, the unallocated memory resources comprising memory resources released by the radio modem after entering the idle state; and causes the memory refresh circuit to disable the refresh of the determined unallocated memory resources.

17. A computer program product comprising computer program instructions on a distribution medium readable by a computer and comprising computer program instructions which, when executed by the computer for a radio device, cause the computer to perform a computer process, the computer process comprising: determining, based on a state change signal received from a radio modem of the radio device, that the radio modem is in an idle state; and in response to the determining, controlling a memory refresh circuit of the radio device to disable a refresh of unallocated memory resources of a dynamic random access memory circuit, the memory refresh circuit configured to refresh the memory resources of the dynamic random access memory circuit of the radio device; and when an application processor is in an active state and has allocated memory resources in the dynamic random access memory circuit, controlling the memory refresh circuit to disable the refresh of the unallocated memory resources, the application processor configured to communicate with a memory allocator in order to obtain memory resources from the dynamic random access memory circuit.

Citation Information

Patent Citations

  • Reducing power consumption by disabling refresh of unused portions of DRAM during periods of device inactivity

    US20070180187A1

  • Reducing power consumption by disabling refresh of unused portions of DRAM during periods of device inactivity

    CN101379472A

  • Low-power states for a computer system with integrated baseband

    CN103838352A