P/E cycle (Rewriting life, Endurance)

When programming data to NAND flash memory (NAND), the existing data must first be erased.

There is a limit to the number of times this series of processes (P/E cycles) can be processed, and if this is exceeded, a failure will occur.

There is a limit to the number of times this series of processes (P/E cycles) can be processed, and if this is exceeded, a failure will occur.

In addition to NAND itself, vendors are implementing techniques to maximize the lifespan of the flash storage 

SigNAS3 has a function to set various conditions and execute P/E cycles (stress) using the GUI.

Details are explained below.

10 combinations of parameters related to the P/E cycle can be set from Set1 to Set10.

Enable
Check  □ of the Set to be implemented.

Chip
Set the chip number (CE) from 0 to 7.

Start Block
Set the block number to start the P/E cycle as a 4-digit hexadecimal number (maximum value FFFF).

Block#
Set the number of blocks to perform P/E cycle.

Block Step

Set the block step (increment) when performing the P/E cycle.
For example, when Start Block is 0010, Block# is 5, and Block Step is 4, Execute P/E cycle for blocks 0010, 0014, 0018, 001C, and 0020.

P/E Cycle#
Set the number of P/E cycles. The maximum value is 100000.

Pattern

Select and set the block program pattern to be used during P/E cycle execution from Sets 1 to 5.
When selected, the pattern name set in PatternSetting (previously introduced) will be displayed.

Set the timing to initialize the program pattern.
However, it is only valid if the pattern is Increment Overall or PseudoRandomOverall.
IncrementOverall : initialize to Initial Value
PseudoRandomOverall : initialize to Seed Value

The timing of initialization is
Block : when transitioning to another block
Cycle : initialization will be performed every cycle.

The table below shows the operation depending on each setting.

Terminate with NAND Fail
If checked, if an error occurs due to NAND etc. during P/E cycle execution, execution will stop at that point.

Execute
Start and execute the P/E cycle according to the parameters set above.

In addition, you can set the time from Program to Erase when executing a P/E cycle using General Settings on the GUI.
Even if NAND erases/programs the same number of times, the data retention life will vary greatly if the program interval or temperature conditions differ.

Set the time to erase after programming in units of 100ms. The maximum value is 3,600,000ms.

Notes

This function is supported by software. So, it may be less accuracy due to communication delay, etc.
Please note that if it is set to several seconds, the effect is relatively small, but if it is set to several hundred milliseconds, the effect may not be negligible.
Additionally, this setting applies not only to P/E cycles, but also to Program Disturb, Busy Time Stress Profile, etc.