Hi
I don't know the internal Flash's details but ECC (with correction) is often used in such Flash because it allow smaller structures (and hence larger memory sizes) to be achieved, whereby smaller structures also result in some loss of reliability that can be compensated for by adding the ECC.
As reference, see the following description of NXP's Flash: LCP2378 FLASH + Demo put on-line which has been used in the LPC series for the last 10 years. It uses ECC for each 16 byte line of Flash.
The Kinetis Flash uses long word or phrase (8 byte) writes and it is possible (or even probable) that there is some ECC involved, which can be seen by trying the following on a part with phrase programmin (eg. K64), whereby the rule is that a phrase can only be programmed when it is originally deleted (all bytes in the phrase at 0xff):
1. Program a phrase with a pattern, eg. 0x00, 0x01, 0x02, 0x03, 0x04, 0x07, 0x06, 0x07
2. Now program the same phrase with a patter which changes bits from '1' to '0' - eg. the last byte in it to 0x00.
The result is often that any subsequent read access to the phrase results in a hard fault, which can only be recovered by a chip erase.
Doing the same on an NXP LPC series device results in the line of Flash being read but with seemingly random values in the line being corrupted. The reason being that the first line write also set additional ECC bits (in flash that is not 'visible' to the user). The second write results in values in the Flash being changed, as well as an attempted write the ECC which usually results in the ECC being wrong (since it can also only change bits from '1' to '0'). When bytes in the line are read back the ECC tries to correct bits and so the values read tends to get all distorted.
In the case of the Kinetis it may be that the ECC is identifying that the Flash is "corrupted" and blocking reads with a hard fault.
This is speculation due to the fact that there are no details made available but is plausible based on the fact that the basic technique is well known - check also TI's Flash in their Tivia Corex-M4 range since they publish details about their Flash using ECC to increase its reliability.
Regards
Mark
Kinetis: µTasker Kinetis support
K64: µTasker Kinetis FRDM-K64F support / µTasker Kinetis TWR-K64F120M support / µTasker Kinetis TWR-K65F180M support
For the complete "out-of-the-box" Kinetis experience and faster time to market