cancel
Showing results for 
Show  only  | Search instead for 
Did you mean: 
ruzzar
Visitor
Visitor
1,327 Views
Registered: ‎08-13-2019

NVRAM - write cycles reached

Jump to solution

I have a system(DCS) that is running on Xillinx Spartan on I/O Card, with NVRAM as well. I am not 100% sure if this is  on-board Xilinx Spartan or a separate chip. But I get the error shown below in bold and italics, also image attached. Is it normal to change the NVRAM once reached max write cycles? How can this be avoided? 

I use this in control systems where field device feedback (actuator) should follow setpoint (DCS) - at one incident the field actuator started moving by itself while setpoint was constant. Setpoint moved in opposite direction to try control the field feedback (actuator). I witnessed the error decribed below in the system. 

Melody controller - Exchange NV-RAM of the module - The maximum number of NVRAM-write-cycles has been reached. (In that case a write cycle is a voltage breakdown because only in that case the non-volatile area will be written).

My worry is having to replace this modules frequently.

Lastly, how long will it take for about 9000/10000 write to be reached on the NVRAM?

Thx,

Ruzzar

 

 

Tags (2)
NVRAM.jpg
0 Kudos
1 Solution

Accepted Solutions
u4223374
Advisor
Advisor
1,227 Views
Registered: ‎04-26-2015

I can see two possibilities:

(1) The NVRAM is being used to hold the desired actuator position. This is a perfectly reasonable design, on the assumption that the desired actuator position never changes, or at least changes very rarely (eg. maybe once per year when you recalibrate the system).

(2) The NVRAM is being used to hold the actual actuator position every time the DCS is turned off (whenever it's not controlling the actuator). This is also a perfectly reasonable design, but it's based on the assumption that the DCS is only turned off very rarely (eg. once per year for heavy maintenance).

In both cases, if the assumptions are met then the NVRAM is going to last many times longer than any piece of mechanical equipment attached to it. If the assumptions are not met, then the design needs to be reviewed.

View solution in original post

7 Replies
drjohnsmith
Teacher
Teacher
1,317 Views
Registered: ‎07-09-2009

How long , depends upon how ofter you write to the NV ram,

if you write every uS, then it will take 10 000 * 1 us , i.e. 10 mS

 

<== If this was helpful, please feel free to give Kudos, and close if it answers your question ==>
u4223374
Advisor
Advisor
1,291 Views
Registered: ‎04-26-2015

It's unlikely to be on the Spartan chip, both because 99% of the Spartan chips don't have NVRAM and because the manual implies that the NVRAM is replaceable (FPGAs tend not to be easily replaceable).

 

As @drjohnsmith has said, how long it takes just depends on how often you write to it. It may also depend on how the writes are done; with some devices you create all your settings and then just send one command to write them to NVRAM (a single write cycle), whereas with other devices every change you make gets written to NVRAM instantly (tends to create a lot of write cycles if you update all the settings, because each one erases and re-writes a substantial amount of NVRAM).

 

As far as I can tell from the warning message, this controller dumps its volatile RAM contents to NVRAM when power is lost. It presumably doesn't expect to lose power often, if at all - it's the sort of thing where having even 100 power losses indicates a pretty catastrophic failure. However, if some clever person has decided to save power by turning it off except when they need it ... then in a couple of years you could easily burn through all your write cycles. Or, alternatively, if someone has chosen to use it for multiple tasks (and reprograms it for each task when required) then that will also burn through the write cycles.

ruzzar
Visitor
Visitor
1,276 Views
Registered: ‎08-13-2019
Ok, that was a quick calculation. Thx. I will have to figure out how often this is written.
ruzzar
Visitor
Visitor
1,252 Views
Registered: ‎08-13-2019
Likely, this has to do with my mechanical system performance. Mostly this is not easily controlled.

Just to indicate understanding, NVRAM in this 'may be' responsible for holding the position for the actuator to be remain at while the DCS is not controlling as it stores contents longer. Am I correct here?

FYI - I/O card has this NVRAM and Spartan FPGA. I/O card is directly connected to the Actuator.
0 Kudos
ruzzar
Visitor
Visitor
1,247 Views
Registered: ‎08-13-2019
Looks like my system is causing the NVRAM 'write' too often.

I expect to keep an I/O card for longer, possibly more than 2 to 5 years. Or even beyond that. Bearing in mind the mechanical system performance.
u4223374
Advisor
Advisor
1,228 Views
Registered: ‎04-26-2015

I can see two possibilities:

(1) The NVRAM is being used to hold the desired actuator position. This is a perfectly reasonable design, on the assumption that the desired actuator position never changes, or at least changes very rarely (eg. maybe once per year when you recalibrate the system).

(2) The NVRAM is being used to hold the actual actuator position every time the DCS is turned off (whenever it's not controlling the actuator). This is also a perfectly reasonable design, but it's based on the assumption that the DCS is only turned off very rarely (eg. once per year for heavy maintenance).

In both cases, if the assumptions are met then the NVRAM is going to last many times longer than any piece of mechanical equipment attached to it. If the assumptions are not met, then the design needs to be reviewed.

View solution in original post

ruzzar
Visitor
Visitor
1,203 Views
Registered: ‎08-13-2019
Thx for the deeper insight into this issue. Now I've figured out fully how the system operates.

The application here is analogue control (Control Systems). Actuator can control between 0-100% depending on demand. In actual fact, this control is between 45-80%. But the point you bring up is that NVRAM write happens everytime the DCS goes to 'Manual' state vs AUTO. It is expected to remain in the last position when 'manual' signal became active. Manual state comes when the mechanical system is down for maintenance.

Now it is important for me to know the behaviour of the I/O card when the NVRAM has reached it's write cycle. What should I expect from it? What happens to 'writes' after that, and the actual contents that are critical at this stage? Will the 'hold last position' still be possible or effective?

I've ran quite a while without replacing this RAM, and I see it highly possible that it is affecting my mechanical system performance.
0 Kudos