「tail -c 10K」のために16GBのフラッシュドライブ全体を読むのはなぜですか?

「tail -c 10K」のために16GBのフラッシュドライブ全体を読むのはなぜですか?

128GBの内部SSDの最後の10Kを表示するには、次のものを使用しました。

sudo tail -c 10K /dev/sda | xxd

これは期待どおりに機能し、データをすぐに出力します。

ただし、16GB USBフラッシュドライブの最後の10Kを表示しようとすると、次のようになります。

sudo tail -c 10K /dev/sdb | xxd

デバイス全体を最初に読み取るのに約10分かかり、データが出力されます。

なぜ違いがありますか?このようなことが発生しないようにする方法はありますか(skip=およびseek=を使用せずにdd)?

関連情報