A method for controlling a loss of reliability of a non-volatile memory included in a Integrated Circuit Card, characterized by: - determining whether a portion of the non-volatile memory is reliable or not at the Operative System side of said Integrated Circuit Card, - generating an event associated with the reliability of the non-volatile memory at the Operative System side, and - communicating said event to an application of said Integrated Circuit Card, if said portion of the non-volatile memory is determined to be unreliable, wherein determining the reliability of said portion of the non-volatile memory comprises determining reliability on writing cycles update by: - detecting a write access for a set of cells in said portion of non-volatile memory, - updating a counter value corresponding to said set of cells, - comparing the counter value with a first predetermined value, and - determining that the non-volatile memory is unreliable if the counter value exceeds the first predetermined value, wherein said event is a warning on maximum data update; the step of determining the reliability of the non-volatile memory comprises determining reliability on data retention by: - writing with a weak update mechanism a prescribed pattern in a prescribed location of the non-volatile memory, - retrieving a stored pattern from the prescribed location, - comparing the prescribed pattern with the stored pattern, and - determining that the non-volatile memory is unreliable if the prescribed pattern is different from the stored pattern, wherein said event is a warning on data retention; the method further comprising the step of dividing the non-volatile memory in at least two different areas including a first memory area for storing data to be more often updated than other data and a second memory area for storing said other data, wherein said Operating System determines reliability on data retention only over said second area and determines reliability on writing cycles update only over said first area. - determining whether a portion of the non-volatile memory is reliable or not at the Operative System side of said Integrated Circuit Card, - generating an event associated with the reliability of the non-volatile memory at the Operative System side, and - communicating said event to an application of said Integrated Circuit Card, if said portion of the non-volatile memory is determined to be unreliable, - detecting a write access for a set of cells in said portion of non-volatile memory, - updating a counter value corresponding to said set of cells, - comparing the counter value with a first predetermined value, and - determining that the non-volatile memory is unreliable if the counter value exceeds the first predetermined value, wherein said event is a warning on maximum data update; - writing with a weak update mechanism a prescribed pattern in a prescribed location of the non-volatile memory, - retrieving a stored pattern from the prescribed location, - comparing the prescribed pattern with the stored pattern, and - determining that the non-volatile memory is unreliable if the prescribed pattern is different from the stored pattern, wherein said event is a warning on data retention;