1. A method for controlling a loss of reliability of a non-volatile memory (NVM) comprising: determining whether a portion of the NVM is reliable using an operating system (OS) by at least writing with a weak update mechanism a prescribed pattern in a prescribed location of the NVM, retrieving a stored pattern from the prescribed location of the NVM, comparing the prescribed pattern with the stored pattern, and determining that the portion of the NVM is unreliable, if the prescribed pattern is different from the stored pattern; generating a data retention warning associated with the reliability of the NVM using the OS; communicating the data retention warning to an application operatively coupled to the OS if the portion of the NVM is determined to be unreliable; and dividing the NVM into a plurality of different areas comprising a first memory area for storing data to be updated and a second memory area for storing other data, the OS detecting events associated with the data retention warning only over the second area.