def erase_sector(self, address):
        """!
        @brief Erase one sector.
        
        @exception FlashEraseFailure
        """
        assert self._active_operation == self.Operation.ERASE

        # update core register to execute the erase_sector subroutine
        result = self._call_function_and_wait(self.flash_algo['pc_erase_sector'], address)

        # check the return code
        if result != 0:
            raise FlashEraseFailure('erase_sector(0x%x) error: %i' % (address, result), address, result)