Skip to main content
. 2021 Dec 10;21(24):8271. doi: 10.3390/s21248271
Algorithm 2 Diagnostic and repair of faults from the OS
  •   1:

    functionOS_MFM_diagnostic_fixing_errors()

  •   2:

        enable_request_for_diag_fix_err()

  •   3:

        while (addrunknown_faulty_list.pop())null do

  •   4:

            Send_to_EDF(addr)

  •   5:

        disable_request_for_diag_fix_err()

  •   6:

    procedureEDF_diagnostic_fixing_err()

  •   7:

        while OS_trigger_request_for_diag_repair() do

  •   8:

            addrget_err_pos_from_OS()

  •   9:

            dataREAD(addr)

  • 10:

            type_flagread_error_flag()

  • 11:

            switch type_flag do

  • 12:

               case 0×0000                  ▹ Intermittent Error

  • 13:

                   Send_faulty_pos(PERMANENT,addr)

  • 14:

               case 0×00FF                    ▹≥2 bit errors

  • 15:

                   Alert_multiple_errors(addr)

  • 16:

               case 0×FFFF               ▹ Parity has single error

  • 17:

                   Parity_err_correction(addr,data)       ▹ Algorithm 3

  • 18:

               case default            ▹ Original data have a single error

  • 19:

                   Data_err_correction(addr,data)        ▹ Algorithm 3