Skip to main content
. 2021 Dec 10;21(24):8271. doi: 10.3390/s21248271
Algorithm 1 Collecting the error position from EDF to OS
  •   1:

    functionOS_MFM_collect_errors()

  •   2:

        while true do

  •   3:

            if EDF_Error_Found_Interrupt() then

  •   4:

               {Fault_type,addr}EDF_get_fault_pos()

  •   5:

               switch Fault_Type do

  •   6:

                   case TRANSIENT

  •   7:

                       transient_faulty_list.push(addr)

  •   8:

                   case PERMANENT

  •   9:

                       permanent_faulty_list.push(addr)

  • 10:

                   case UNKNOWN

  • 11:

                       unknown_faulty_list.push(addr)

  • 12:

            else

  • 13:

               sleep()

  • 14:

    procedureEDF_inform_error_to_OS_MFM()

  • 15:

        while curr_cmd.cmd=READ do

  • 16:

            if err_flag_triggered() then

  • 17:

               addrextract_err_pos(curr_cmd.address)

  • 18:

               Send_faulty_pos(UNKNOWN,addr)

  • 19:

            else

  • 20:

               do_nothing()