1. A method of organizing on-chip data memory in an embedded system-on-chip platform whereon a deterministic application is run needing to meet at least one guaranteed constraint on its functional system behavior, the method comprising: dividing the deterministic application into a plurality of blocks, at least one block corresponding to at least a part of a subtask of the deterministic application, the at least one block receiving input data and/or generating output data and comprising internal intermediate data for transforming the input data into the output data; splitting the internal intermediate data into state data and non-state data, the state data depending on previous internal intermediate data and non-state data being directly used in the execution of one subtask; and putting the non-state data and at least a part of the state data in protected buffering module being part of the data memory, the protected buffering module provided with a module for error detection and correction, so that they are available for mitigating the effect of faults on the functional system behavior on-line while meeting the at least one guaranteed constraint.