Một kỹ thuật đơn giản là sử dụng một công cụ xóa đĩa an toàn. Các công cụ này viết một chuỗi dữ liệu đến mọi vị trí trên ổ đĩa. Điều này sẽ kiểm tra tất cả các lĩnh vực của ổ đĩa. Bạn có thể chạy các công cụ này lặp đi lặp lại để đảm bảo đĩa rất sạch. Việc dọn dẹp này sẽ sử dụng hết thẻ SD. Nếu bạn theo dõi số lượng thẻ chạy trước khi thẻ bị lỗi, bạn sẽ biết bạn đã ghi bao nhiêu dữ liệu vào đĩa. Điều đó nói rằng, đây là trường hợp tốt nhất cho ổ đĩa vì ghi được phân phối trên toàn bộ đĩa.
Trường hợp xấu nhất sẽ được viết đi viết lại cho cùng một lĩnh vực cho đến khi nó thất bại. Điều này sẽ dẫn đến lượng dữ liệu nhỏ nhất được ghi trước khi thẻ bắt đầu bị lỗi. Nếu bạn đã viết một tập tin duy nhất và xóa nó và sau đó viết lại nó nhiều lần, điều này sẽ dẫn đến sự thất bại sớm của thẻ với lượng dữ liệu nhỏ nhất được ghi. Điều này giả định rằng thẻ không thông minh và không ánh xạ lại các khu vực xung quanh trong nháy mắt theo cách mà SSD làm.
Cả hai điều trên có thể được thực hiện bằng lệnh dd trong Linux hoặc trên đĩa CD trực tiếp Linux.
Giả sử thiết bị là / dev / sdx sau đây sẽ hoạt động.
i=0
while :
do
dd if=/dev/urandom of=/dev/sdx bs=1024 count=1000
if [ $? != 0 ];then break;fi
let i=i+1
echo $i
done
Điều này không hoàn hảo, nhưng là về như bạn nhận được mà không cần mã hóa của riêng bạn. Nó sẽ ghi 1MB dữ liệu ngẫu nhiên vào đĩa cho mỗi lần lặp. Khi dd bắt đầu lỗi, nó sẽ thoát và bạn sẽ biết có bao nhiêu lần lặp lại trước khi nó thất bại. Lỗ hổng lớn ở đây là dữ liệu là ngẫu nhiên. Nếu các bit giống như trước đây, chúng có thể không được ghi bởi đèn flash và như vậy không được thực hiện. Giả sử một phân phối hoàn hảo, kết quả sẽ gấp đôi số lần ghi thực tế cần thiết để thất bại.
Một giải pháp hoàn hảo hơn sẽ liên quan đến việc lặp lại giữa số không và số không hoặc sử dụng bảng kiểm tra xen kẽ. Không có / dev / một thiết bị trong Linux, điều này đòi hỏi một giải pháp phức tạp hơn tôi nghĩ được bảo hành ở đây.