25 thg 4, 2022
SSD/TRIM - Khôi phục dữ liệu trên Mac/Win
SSD/TRIM - Khôi phục dữ liệu trên Mac/Win
Mọi người thường gọi SSD là ổ cứng, thực chất nó là chip nhớ, nó làm việc như một chip nhớ (memory/flash). Vì thế, nếu nhìn nhận SSD từ góc độ của một chíp nhớ thì mọi vấn đề loằng ngoằng sẽ được giải thích một cách dễ dàng hơn.
Xóa triệt để: vì nó là một chip nhớ, nên nó phải được xóa trắng trước khi nó có thể ghi vào (khác với đĩa từ HDD). Thường thì lúc hệ thống xóa file, hệ thống chỉ đánh dấu không dùng nữa (mark as unused). Vì thế, lúc nào muốn ghi dữ liệu vào những chỗ đó, SSD bắt buộc phải xóa trước rồi mới ghi được. Việc này khiến quá trình ghi dữ liệu kéo dài gấp đôi. SSD nhanh thế thì cho dù kéo dài gấp đôi cũng không đáng bao nhiêu, có thể một vài bạn sẽ nghĩ vậy. Trong môi trường thực tế, SSD thực hiện cả ngàn lần ghi/đọc trong một phút thì cái gấp đôi đó được nhân lên ngàn lần, sẽ là một gánh nặng rất lớn, khiến hệ thống giảm hiệu năng một cách kinh ngạc.
TRIM sinh ra để giải quyết vấn đề “hiệu năng” này. Trong lúc OS làm các việc khác, SSD đang rảnh rang, TRIM sẽ ra lệnh cho nó thong thả đi xóa trắng những chỗ đã được đánh dấu không dùng nữa, sẵn sàng cho lệnh ghi tiếp tới, đây là lệnh xóa triệt để được thực hiện bởi chính controller của SSD. Vì thế nếu dữ liệu bị xóa nhầm trên ổ SSD thì không thể khôi phục được cho dù là bởi những trung tâm khôi phục dữ liệu tiên tiến nhất.
Chống phân mảnh: vì là chip nhớ, nên SSD ghi dữ liệu vào theo khối (block). Mình nói nôm na một khối có 5 đơn vị dữ liệu chẳng hạn. Nếu mà File dữ liệu cần ghi có 6 đơn vị dữ liệu, vậy phải dùng 2 khối (khối thứ nhất có 5 đơn vị và khối thứ hai lại chỉ có 1 đơn vị). Vậy là khối thứ 2 còn 4 đơn vị để trống. Đáng buồn là lần ghi dữ liệu tới, SSD lại không tận dụng được 4 đơn vị để trống này mà phải ghi ra một khối mới (vì nó ghi theo khối, đơn giản vậy thôi). Anh em có thể thấy, nếu là file dữ liệu luôn là 5, 10, 15, 20 đơn vị dữ liệu gì đó, thì mọi thứ sẽ rất đẹp, SSD sẽ ghi nó thành 1,2,3,4 khối dữ liệu, sẽ không có khối dữ liệu nào bị dư thừa vài chỗ trống. Đời không đẹp thế, việc đó vốn hiếm xảy ra trong thực tế. Vì thế, kiểu gì khối cuối cùng cũng bị trống vài đơn vị (lãng phí nho nhỏ). Với tốc độ khủng khiếp của SSD hiện nay, ghi đọc hàng ngàn file trong vài phút, số lượng khối cuối cùng này tăng nhanh một cách chóng mặt, đến đây thì lãng phí không còn nhỏ nữa mà bắt đầu rất lớn rồi
Để giải quyết vấn đề này, hệ thống có một phương án rất hay, trong lần ghi tiếp tới, OS sẽ đọc cái đơn vị dữ liệu lẻ loi ở khối thứ hai bên trên ra một bộ nhớ tạm (cache), ghép nó với 4 đơn vị dữ liệu khác cho thành 1 khối chuẩn rồi ghi ngược lại vào SSD, như thế không lãng phí tý nào, vừa đẹp. Nhưng vấn đề mới lại đặt ra, SSD phải thực hiện cả ngàn vụ như thế trong một phút (đọc dữ liệu ra, ghép khối, ghi ngược lại), nghe thôi đã thấy rầy rà, lãng phí thời gian một cách kinh khủng, mà trong thế giới công nghệ này, thời gian là tốc độ.
TRIM sinh ra để làm việc đó, nó vẫn làm mấy việc bên trên thôi, nhưng nó lặng lẽ làm lúc SSD rảnh rỗi, vì thế, nó không làm ảnh hưởng gì đến tốc độ của SSD.
Mình lấy một ví dụ thực tế như thế này: trong lớp học cứ 5 người ngồi một bàn, nhưng nếu có 6 người thì bắt buộc phải dùng 2 bàn, ông thứ sáu sẽ ngồi bàn thứ hai, ông ấy ngồi ngay đầu bàn, mỗi lần có người muốn ngồi vào bàn thứ hai này, ông thứ 6 này lại phải đi ra khỏi chỗ để cho người ta vào rồi mới ngồi được (giống quá trình caching bên trên). Lớp học thì chỉ cần khoảng 10 ông ngồi đầu bàn như ông thứ sáu này là chắn hết chỗ ngồi (phân mảnh, lãng phí chỗ ngồi).
Cô giáo chủ nhiệm TRIM sẽ giải quyết vấn đến này, TRIM sẽ gom các ông ngồi đầu bàn này thành một nhóm 5 người rồi nhét vào 1 bàn. Như thế, cô giáo chủ nhiệm TRIM giải quyết được 2 vấn đề: các bàn còn lại đều sẵn sàng để cho người mới vào ngồi, thứ hai là mọi người ngồi tập trung (không bị phân mảnh). Chính vì thế mọi người đều nói SSD không bao giờ bị phân mảnh, thực tế đấy là công của cô giáo chủ nhiệm TRIM.
SSD ECC: Đoạn này viết thêm cho mấy anh em làm quản trị mạng/kỹ sư hệ thống thôi, vì SSD là một chíp nhớ, nên một số SSD đắt tiền có thêm tính năng ECC (Error Correction Code) nôm na là tính năng tự động phát hiện và tự sửa lỗi (thường thấy trên chíp nhớ của máy chủ). Tất nhiên, cũng như chíp nhớ thì SDD mà có ECC nhanh hơn rất nhiều so với thằng không có.
Toàn bộ ổ SSD/NVME của Apple đều có ECC. Đấy chính là lý do ổ SSD của Apple nhanh vô đối so với SSD cùng thế hệ. So sánh cùng thế hệ thôi nhé. Anh em nào đang dùng Macbook thấy nó đáng giá đồng tiền bát gạo như thế nào.
Ví dụ và cách giải thích bên trên của mình chỉ là nôm na, nhiều khi hơi khác với thực tế chút chút, mục đích cho anh em nhập môn dễ hiểu thôi. Chứ còn đi sâu vào mọi thứ sẽ loằng ngoằng như hình bên dưới 😁Hiện tại mình bắt đầu viết bài để thành lập hệ thống #keyngon cho Nghiện Tech. Vì thế anh em đi qua xin cho 01 còm để lan tỏa đến các anh em khác. Cảm ơn anh em.
#thitluoc #winapp #macapp
-
Nasiboot Phiên bản Lột Xác Pro_V16 Đến với bộBoot Nasiboot bạn sẽ nhận được những chức năng đấy đủ như một Windows thật. Những chức năng luô...
-
Tạo trang Get Link Google Drive bằng goindex và Workers CloudFlare - AnonyViet Nếu bạn có một tài khoản Google Drive, bạn có thể biến nó thà...
-
BÀN VỀ VẬN KHÍ THÁNG 10 (al) - 2022 Tháng 10 Tân Hợi là chân lộc của Thái Tuế Nhâm Dần. Tháng này Phi Thiên Lộc và Phi Quý Nhân đều đáo nhập...