Kéo dài khả năng Ghi
Một sự khác nhau cơ
bản nữa giữa Flash với phiếu bấm lỗ là ở chỗ, chip Flash không liên tục
được thay thế những thẻ trắng như phiếu bấm . Thay vào đó, chúng được
xóa như cách ở trên, nhưng qua một quy trình “Lập trình / Xóa” rất khắt
khe. Tuy nhiên lý thuyết về phiếu bấm lỗ vẫn còn tác dụng, bởi mỗi chu
kỳ Xóa tương đương với việc vá lỗ. Quy
trình này cũng có giới hạn nhất định trong bộ nhớ Flash và không thể cứ
thực hiện mãi. Giới hạn này được gọi là số giới hạn chu kỳ Lập trình /
Xóa, Ghi càng ít càng tốt
Trên con đường chấm dứt hoạt động
Mỗi quy trình Lập
trình sau khi Xóa được gọi là chu kỳ flash, hay chu kỳ Lập trình / Xóa
( P/E – Program / Erase ). NAND Flash có thể chịu được sô chu kỳ nhất
định , tùy vào việc nó là loại SLC – Single Level Cell (100,000 chu kỳ)
hay MLC – Multi Level Cell (10,000 – 3,000 chu kỳ tùy thuộc vào nhà sản
xuất và cấu trúc hình học ). Tuy nhiên, việc lập chu kỳ P/E cho một ô
NAND cần phải có điện trường cực cao, có thể quá 10 mV / cm, đủ lớn để
đẩy Electron ra khỏi lớp oxit. Dần dần, điều này sẽ dẫn đến sự thoái
hóa lớp Oxit do kết nối giữa các nguyên tử sẽ tan vỡ bên trong lớp Oxit
và cả ở bề mặt của nó tại FG và chất nền.
Kết quả khiến cho
các Electron bị kẹt trong các kết nối bị vỡ đó, trong khi lớp oxit thì
chuyển sang điện tích âm. Cuối cùng, quá trình Xóa sẽ trở nên chậm hơn,
trong khi việc Lập trình lại nhanh hơn.
Một ô NAND Flash mới không có các Electron kẹt trong lớp Õxit
Một ô NAND Flash không còn khả năng làm việc . Các Electron bị kẹt trong lớp Oxit
Khi số chu kỳ
Lập trình tăng lên , ngày càng nhiều Electron bị kẹt trong lớp oxit. Để
đẩy các Electron này thì cần chu kỳ và các chu kỳ ngày càng dài ra tăng
lên . Cần chú ý rằng trong đó sẽ có những ô chưa được lập trình xuống
mức thấp hơn, sẽ có ít Electron trong FG, và điều này cũng được phản
ánh trong điện tích còn dư tại lớp oxit. Nói cách khác, mức lập trình
trung bình của ô luôn đóng một vai trò quan trọng liên quan tới tuổi
thọ của khối nhớ.
Kết quả cuối cùng là
lớp Oxit tích lũy đủ điện tích để các ô không thể xóa được nữa (khi ấy
giá trị của ô đó là “1”). Một khi điều này xảy ra, ô đó không thể được
tiếp tục lập trình (trừ trường hợp ngẫu nhiên giá trị mong muốn trùng
với giá trị “bị kẹt”) và ô đó đã chấm dứt sự tồn tại của nó. Mỗi khi
thời gian xóa một khối vượt quá giá trị được xác định trước , khối đó
sẽ không còn hoạt động nữa. Vì thế để duy trì dung lượng lưu trữ nhất định, cần có những khối lưu trữ dự phòng để kích hoạt làm việc .
Tăng tốc sửa lỗi / Khôi phục
Việc Electron bị kẹt
trong lớp Oxit cũng không tồn tại vĩnh viễn. Trên thực tế, lớp Oxit sẽ
“tự liền” sau một thời gian. Ngoài ra, với sự trợ giúp của nhiệt độ cao
cũng đẩy nhanh quá trình giải phóng Electron khỏi lớp Oxit. Do đó, bất
kì thiết bị Flash có những ô nhớ hoặc khối ô nhớ làm việc không đều thì
sẽ làm việc được lâu hơn so với những ô nhớ thường xuyên được sử dụng .
Ngoài ra, nhiệt độ
cũng ảnh hưởng đến sức chịu đựng của các ô (và các khối). Mặt khác, gần
như không thể nào dựa vào nhiệt độ và dữ liệu tần số xung nhịp để dự
đoán chính xác khi nào thì một khối ngừng hoạt động. Hơn nữa, bất kỳ
khối nào cũng có thể gặp lỗi ghi vào bất kỳ lúc nào, tuy nhiên, các lỗi
này lại hoàn toàn ngẫu nhiên và không có dấu hiệu báo trước. Trên thực
tế, thường thì một Bit sẽ không hỏng 2 lần trong tương lai gần. Hiện
tượng này được gọi tên là “ Ghi sai một cách thất thường - Erratic
Nature of Write Errors”
Tóm lại, các tham số
và hiện tượng nói trên liên quan tới vấn đề lỗi không thể khôi phục
được dự đoán trước trong Khối và tất cả đều phụ thuộc vào Tỉ lệ Bit lỗi
có khả năng khôi phục được - RBER ( recoverable bit error rate ) .
Vừa mới, vừa cũ …
Ban đầu, bộ nhớ Flash
được phát triển như một phương tiện lưu trữ rẻ tiền cho máy Camera với
số chu kỳ Ghi/Xóa hạn chế, và trừ một số Camera cao cấp dành cho dân
nhiếp ảnh chuyên nghiệp, chúng ít khi tương tác với các phương tiện
khác.
Khá dễ dàng để biết được
rằng việc áp dụng của công nghệ Flash này trong một giải pháp lưu trữ
hoàn toàn khác, đặc biệt là việc sử dụng SSD có thể gây ra một số vấn
đề. Hơn nữa, việc áp dụng công nghệ ATA và các hệ thống file liên quan
nhằm điều chỉnh Flash NAND cũng gặp một số trở ngại, và hiện tại thì
vẫn cần phải xem xét kỹ việc kết hợp hai công nghệ này.
Từ HDD đến SSD : Truyền Song song đối đầu với Nối tiếp
Ổ cứng dùng cơ cấu quay
là một thiết bị tuân theo quy trình rất ngặt nghèo. Bất chấp số lượng
đĩa có lớn đến đâu thì cũng chỉ có một đầu từ được kích hoạt trạng thái
Đọc hoặc Ghi tại một thời điểm . Tương tự, cho dù cấu trúc dữ liệu có
phức tạp thế nào thì bạn cũng không thể xử lý song song, trừ khi vài ổ
vật lý được kết hợp lại trong một mảng RAID.
Điều này thay đổi hoàn
toàn trong SSD. Một mạch điều khiển bình thường sử dụng từ 8 đến 10
kênh kết nối với những Chip Flash NAND, và thường mỗi kênh rộng 8-bit
(1 Byte). Điều này dẫn đến rất nhiều thay đổi, nhất là về tốc độ. Trong
HDD, tốc độ bề mặt của một sector nhất định và mật độ dữ liệu đĩa từ sẽ
quyết định tốc độ truyền dữ liệu, tốc độ này thay đổi theo từng bước ,
dẫn đến các “vùng” dữ liệu đường kính ngoài đến đường kính trong của
đĩa.
Còn trong SSD, tần số
Bus, bao gồm cả tốc độ của chip Flash NAND, đều có tốc độ truyền dữ
liệu giới hạn theo lí thuyết . Tần số thường gặp trong môi trường dòng
điện là khoảng 50-60 MHz nếu dùng giao thức tốc độ dữ liệu đơn . Với độ
rộng I/O 8-bit, mỗi kênh đơn truyền được tối đa 50-60 MB/giây. Hẳn
nhiên con số này mang tính lý thuyết bởi thực tế không thể có hiệu suất
Bus 100% . Dù vậy, con số này cũng giúp ta ước lượng khá tốt tốc độ
truyền NAND. Ở tốc độ 50 MHz, cấu hình 4-kênh, giới hạn tốc độ lý
thuyết là 200 MB/giây, còn với cấu hình 8-kênh thì con số này là 400
MB/giây. Các con số này thường xuyên thay đổi khi chuyển từ Flash NAND
sang Flash Toggle Mode dùng giao thức DDR và tần số cao hơn một chút:
tốc độ xung nhịp 66 MHz và tốc độ dữ liệu 133 Mbps. Trong một ứng dụng
Đọc điển hình, điều này sẽ làm tăng tốc độ truyền tối đa về lý thuyết
lên khoảng 125%. Tốc độ Ghi cũng tăng lên, nhưng chỉ khoảng 50%.
Trong
SSD, không có chức năng chuyển đổi tốc độ truyền dữ liệu tùy theo vị
trí Track như trong HDD. Bởi trong HDD, các Track đường kính bên ngoài
rõ ràng truyền nhanh hơn các Track có đường kính bên trong . Trong SSD,
tất cả các chip và khối đều được đối xử như nhau, tuy nhiên cũng có các
giới hạn khác.
Từ Sector đến trang
HDD thông thường có
đĩa được chia thành nhiều Sector, mỗi Sector là 512 Bytes, và Sector là
đơn vị lưu trữ vật lý nhỏ nhất trên đĩa. Tuy nhiên việc quản lý đơn vị
512-Byte không hề dễ, nhất là với file lớn, nhưng lại không được thực
tế cho lắm. Do vậy, các Sector được nhóm hành từng Cluster, trong đó
kích thước Cluster tùy thuộc cấu trúc file và dung lượng đĩa (hệ thống
FAT) hoặc có thể được đặt độc lập với hệ thống file ( NTFS ), thường có
kích thước Cluster thông thường là 4-Kb (8 sector).
Mặt khác Flash NAND
lại được tổ chức theo cách khác xếp thành các Khối, các Trang và các
Cột. Một Trang bình thường có kích thước 4096-Bytes ( 4-kB ) và hầu hết
các Khối đều có 128 trang, kết quả là khối có kích thước đang được
thịnh hành là 512-KB .
Như đã nói ban đầu,
Khối là đơn vị dữ liệu tối thiểu có thể xóa được. Tuy nhiên các Trang
lại có thể lập trình riêng. Hơn nữa, các trang có thể được lập trình
một phần, tức là phần dưới của trang có thể được lập trình bằng cách
đặt phần đầu của trang ở giá trị “có thể lập trình lại là FF”, sau đó
cập nhật trong các chu kỳ lập trình tiếp theo.
theo tuvantinhoc