Wireless Sensor Networks (WSNs) are used in various application areas, including industrial process monitoring and control, environment and habitat monitoring, traffic control, building automation, healthcare applications, etc. In some such applications a powered sensor may be used in a harsh environment, and it is desirable for the sensor to be untethered after deployment for as long as possible. However, most sensors are powered by batteries, and limited battery capacity is a major limitation for deployment of untethered sensor nodes. Finite sensor node lifetime implies finite lifetime of the applications or additional cost and complexity to replace batteries. Energy harvesting is one alternative for increasing the longevity of sensor nodes. If an energy source is periodically available for harvesting, a sensor node may operate for a substantially longer time than if only battery-powered. However, WSNs require very small energy harvesting devices to keep the size of the sensor node and the cost of sensor node deployment to a minimum. Consequently, the amount energy harvested may be relative small.
Systems and methods for reducing energy consumption in a wireless sensor network are disclosed herein. In one embodiment, a system includes a volatile memory and state information management logic. The volatile memory includes a plurality of volatile storage locations. The state information management logic includes memory write tracking circuitry coupled to the volatile memory. The memory write tracking circuitry is configured to identify locations of the memory written subsequent to restoration of state information to the volatile memory on exit of a low-power mode of operation, and to store indicia of the identified locations.
In another embodiment, a method includes monitoring, by a wireless device, accesses to volatile memory. Locations of the volatile memory written by the wireless device subsequent to restoration of state information to the memory on exit of low-power mode of operation are identified by the wireless device. Indicia of the identified locations are stored.
In a further embodiment, a system includes a volatile memory, a non-volatile memory, a processor, and a software system. The volatile memory includes a plurality of volatile storage locations. The non-volatile memory includes a plurality of non-volatile storage locations. The software system causes the processor to store, in the non-volatile memory while operating in a non-low-power mode and prior to initiation of a transition to a low-power mode, state information needed to resume operation in the non-low-power mode from the low-power mode
For a detailed description of exemplary embodiments of the invention, reference will now be made to the accompanying drawings in which:
Certain terms are used throughout the following description and claims to refer to particular system components. As one skilled in the art will appreciate, companies may refer to a component by different names. This document does not intend to distinguish between components that differ in name but not function. In the following discussion and in the claims, the terms “including” and “comprising” are used in an open-ended fashion, and thus should be interpreted to mean “including, but not limited to . . . .” Also, the term “couple” or “couples” is intended to mean either an indirect or direct electrical connection. Thus, if a first device couples to a second device, that connection may be through a direct electrical connection, or through an indirect electrical connection via other devices and connections. Further, the term “software” includes any executable code capable of running on a processor, regardless of the media used to store the software. Thus, code stored in memory (e.g., non-volatile memory), and sometimes referred to as “embedded firmware,” is included within the definition of software. The recitation “based on” is intended to mean “based at least in part on.” Therefore, if X is based on Y, X may be based on Y and any number of other factors.
The following discussion is directed to various embodiments of the invention. Although one or more of these embodiments may be preferred, the embodiments disclosed should not be interpreted, or otherwise used, as limiting the scope of the disclosure, including the claims. In addition, one skilled in the art will understand that the following description has broad application, and the discussion of any embodiment is meant only to be exemplary of that embodiment, and not intended to intimate that the scope of the disclosure, including the claims, is limited to that embodiment.
In a wireless sensor network (WSN), whether a sensor node is powered by battery or energy-harvesting, the lifetime and/or usefulness of the node is limited by energy available to power the node. Consequently, energy waste in the sensor node reduces the operational time of the node, and with battery or energy harvesting it is important to reduce energy consumption to increase the operational life of the sensor node.
A sensor node can reduce energy consumption by entering a low-power mode when not actively sensing or communicating with other nodes or devices of the WSN. A low-power mode may be referred to as a sleep mode, doze mode, snooze mode, hibernate mode, etc. When employing a low-power mode, energy is dissipated (leakage power) to maintain state information in registers or memory. The state information is information produced by the node while operating in the non-low-power mode that must be backed-up and restored to resume the operations of the sensor node when exiting the low-power mode. The backup and resume operations consume energy. In low-power, low duty-cycle WSN sensor nodes, the energy dissipated to store, restore, and maintain the state information of a sensor node can determine the lifetime of the node.
Embodiments of the present disclosure extend the operating time of a sensor node by employing various techniques to reduce state maintenance energy dissipation. Some embodiments reduce the energy needed to store and restore node state information by reducing the amount of state information generated by the node that must be moved to state storage. Some embodiments include circuitry that tracks memory writes to identify areas of memory modified during node operations. Such embodiments may backup only the identified areas memory, thereby reducing the amount of information moved to/from state storage and in-turn reducing the energy associated with moving state information.
The sensor node 104 includes state management logic 108 that increases the operating life of the sensor node 104 by reducing the energy consumed to maintain state information that is stored and restored when the sensor node 104 transitions between low-power and non-low-power operational modes. Some embodiments of the state management logic 108 may include a software system that reduces the amount of state information to be backed-up and restored on transitions between low-power and non-low-power operational modes. Some embodiments include tracking circuitry that reduces the state information transferred between volatile and non-volatile memory by identifying portions of volatile memory modified while the sensor node 104 is operating in a non-low-power mode, and backing up only the identified portions of volatile memory to non-volatile memory when entering a low-power mode.
The sensor(s) 212 include one or more transducer that detects conditions about the wireless sensor node 104 and provides measurements of the conditions to the processor 202. For example, embodiments of the sensor(s) 212 may measure temperature, pressure, electrical current, humidity, or any other parameter associated with the environment of the wireless sensor node 104. The transceiver 214 converts signals between electrical and electromagnetic forms to allow the wireless sensor node 104 to communicate with the sensor nodes 102, 106, the base station 110, and other devices. The energy source 216 provides power to operate the processor 202, the memories 206, 208, and other components of the wireless sensor node 104. The energy source 216 may include a battery, an energy harvesting system, and/or other power source suitable for use in the wireless sensor node 104.
In a non-low-power, the wireless sensor node 104 may enable power to some or all of the components 202-214 to allow the node 104 to acquire and transmit measurement values. In a low-power mode, the wireless sensor node 104 may remove power from at least some components that are powered while in a non-low-power mode. The wireless sensor node 104 may maximize energy savings by removing power from as many of the components 202-210 as possible. For example, power may not be provided to the processor 202 (or parts thereof), the tracking circuitry 204, the memories 206, 208, the instruction storage 201, the sensor(s) 212, and/or the WSN transceiver 214 while in a low-power mode. In order to resume operation on exit of the low-power mode, the wireless sensor node 104 may store state information in non-volatile memory 208 that is employed to restore the processor 202, and other components, to a configuration reflecting operation just prior to entry into the low-power mode.
Some embodiments of the wireless sensor node 104 reduce system state information to be maintained in non-volatile memory via the programming stored in the instruction storage 210. For example,
Some embodiments of the wireless sensor node 104 can further reduce the state information that is moved to/from non-volatile memory 208 in association with low-power mode entry/exit by storing data in FRAM rather than in volatile memory 206. If FRAM or other fast read/write non-volatile memory technology is used to store data during program execution in a non-low-power mode, then only the registers 302 need be backed up and restored in conjunction with low-power mode entry/exit.
In some embodiments of the wireless sensor node 104, only a fraction of the contents of the volatile memory 206 is changed during operation of the node 104 after transitioning from a low-power mode to a non-low-power mode. Consequently, if the contents of the volatile memory 206 has been previously copied into the non-volatile memory 208, then some embodiments of the wireless sensor node 104 copy to the non-volatile memory 208 only those portions or locations of the volatile memory 206 that have changed since the last low-power mode exit.
Some embodiments of the wireless sensor node 104 include the tracking circuitry 204 as part of the state management logic 108. The tracking circuitry 204 monitors access to the volatile memory 206 and determine what locations of the volatile memory 206 have been written and/or changed since the last low-power mode exit.
The comparators 204 may be programmable so that the size of the memory section monitored by a comparator 204 is adjustable. The wireless sensor node 104 may apply an adaptive algorithm to determine the sizes of the memory sections such that an optimal memory division is determined that may minimize the size of memory footprint to be moved to the non-volatile memory 208 when the volatile memory 206 is backed-up.
The tracking logic 204 includes as set of flags 404, with a flag corresponding to each comparator 402. When a comparator 402 identifies a write to a section of the volatile memory 206, the flag corresponding to the comparator 402 is set to indicate that the section of memory 206 may have changed. When transitioning to a low-power mode, the processor 202 may copy to non-volatile memory 208 only those sections of the volatile memory 206 indicated to have changed by the flags 404. The flags 404 may be variables residing in the volatile memory 206 whose access is being tracked by the tracking logic 204.
As also shown in
The tracking circuitry 204 as shown in
In
Some embodiments of the processor 202 may include the tracking logic. In such embodiments, the tracking logic need not snoop the memory access signals, but rather may track access to volatile memory 206 and update access flags 404 or MaxAddress register 408 as part of memory write instruction execution by the processor 202. Some embodiments of the wireless sensor node 104 may include a direct memory access controller that moves state information between volatile memory 206 and non-volatile memory 208 based on the flags 404 of the value of the MaxAddress register 408.
Some embodiments of the wireless sensor node 104 also include a virtual memory system or LOAD to volatile memory on-access feature to further reduce energy consumed in backing up and restoring state information. With virtual memory management enabled, the sensor node 104 can relocate and pack often changed contents of the volatile memory 206 into a smaller number of memory blocks and thus require backup of a smaller portion of the volatile memory 206 prior to entry into a low-power mode. As most memory blocks may not be accessed while operating in a non-low-power mode, some embodiments of the wireless sensor node 104 may not restore all of the data (e.g., unused sections of the volatile memory 206) stored in non-volatile memory 208 to volatile memory 206 when exiting a low-power mode. In such embodiments, the memory management unit can load a section of volatile memory 206 from the non-volatile memory 208 if the section in volatile memory 206 is to be accessed. Thus, the amount of state information restored when exiting a low-power mode can also be reduced.
In block 602, the wireless sensor node 104 is operating in a non-low-power mode. The tracking circuitry 204 is monitoring accesses of the volatile memory 206. The tracking circuitry may monitor access of the volatile memory 206 by snooping the memory address and control signals generated to access the volatile memory 206. Some embodiments of the processor 202 may include circuitry that tracks volatile memory write operations as part of memory write instruction execution.
In block 604, the tracking circuitry 204 identifies locations (e.g., sections) of the volatile memory 204 that are being written. The tracking circuitry 204 may compare an address being written to a predetermined address range to identify a write to a particular section of the volatile memory. The tracking circuitry 204 may divide the volatile memory 206 into a plurality of sections and compare the write address to the address range corresponding to each section.
In block 606, if a write operation directed to a section of the volatile memory 206 is detected, then the tracking circuitry 204 stores indicia of the location written. For example, the tracking circuitry 204 may set a flag indicating which section of the volatile memory 206 is being written. The tracking circuitry 204 may maintain a flag value for each section of the volatile memory 206 being monitored.
In block 608, the wireless sensor device 104 is transitioning from non-low-power mode to low-power mode. Because some components of the sensor device 104 are powered off while in low-power mode, state information must be backed up prior to removal of power from the processor 202, the volatile memory 206, etc.
In block 610, data from locations in the volatile memory 206 identified by the tracking circuitry 204 as written while operating in the non-low-power mode are copied into the non-volatile memory 208. In some embodiments, the indicia of written locations generated by the tracking circuitry 204 may also be copied into the non-volatile memory 208. The copying may be performed by the processor 202 or by a DMA channel.
In some embodiments, the amount of state information copied to the non-volatile memory when entering the low-power mode is reduced by writing the state information to the non-volatile memory as part of the operation of the non-low-power mode and/or by employing a software system that uses little or no stack.
In block 612, contents of registers of the processor 202 are copied into the non-volatile memory 208, and portions of the wireless sensor device 104 are powered down to reduce energy consumption.
In block 614, the wireless sensor device 104 is transitioning from a low-power mode to a non-low-power mode. Power is restored to portions of the wireless sensor device 104 that were powered down while in the low-power mode.
In block 616, state information copied to the non-volatile memory 208 on entry to the low-power mode is read from the non-volatile memory 208 and restored to the volatile memory 206.
In block 618, the register contents copied to the non-volatile memory 208 on entry to the low-power mode is read from the non-volatile memory 208 and restored to the registers of the processor 202. Sensing and/or communication operations of the wireless sensing node 104 are executed.
The above discussion is meant to be illustrative of the principles and various embodiments of the present invention. Numerous variations and modifications will become apparent to those skilled in the art once the above disclosure is fully appreciated. It is intended that the following claims be interpreted to embrace all such variations and modifications.
The present application claims priority to U.S. Provisional Patent Application No. 61/584,970, filed on Jan. 10, 2012 (Attorney Docket No. TI-71894PS) which is hereby incorporated herein by reference in its entirety.
Number | Date | Country | |
---|---|---|---|
61584970 | Jan 2012 | US |