Biến SSD QLC thành SSD SLC
(theoverclockingpage.com)- Một thử nghiệm tái cấu hình QLC NAND của Crucial BX500 sang chế độ pSLC bằng MPTools, chấp nhận giảm dung lượng từ 500GB xuống khoảng 120GB để đổi lấy độ bền và một phần hiệu năng cao hơn đáng kể
- Việc chuyển đổi là thao tác firmware/cấu hình dành riêng cho tổ hợp controller Silicon Motion SM2259XT2 và NAND Micron N48R; nếu thất bại có thể làm hỏng SSD, mất bảo hành và xóa dữ liệu
- TBW tính toán ở trạng thái QLC mặc định là 120TB, nhưng ở chế độ pSLC có thể tăng lên 4.000TB TBW dựa trên 60.000 chu kỳ P/E, dung lượng 120GB và WAF 1,8
- Trong benchmark tuần tự ngắn, khác biệt là nhỏ, nhưng ở hiệu năng ngẫu nhiên, độ trễ, bài test năng suất PCMark 10 và ghi kéo dài thì chế độ pSLC cho thấy khác biệt rõ rệt
- Ở trạng thái mặc định, sau khoảng 45GB bộ nhớ đệm SLC, tốc độ giảm xuống trung bình khoảng 50MB/s; sau khi chuyển sang pSLC, ổ duy trì khoảng 498~500MB/s trên toàn bộ 120GB và cả khi ghi lặp lại
Đối tượng thử nghiệm và các yếu tố rủi ro
- Đối tượng thử nghiệm là SSD Crucial BX500 đã được test nhiều lần
- Dù bản thân quy trình có thể an toàn hơn ép xung, nó vẫn bao gồm flash firmware nên cần cẩn trọng
- Khi flash firmware, toàn bộ dữ liệu sẽ bị xóa, vì vậy cần sao lưu
- Thực hiện chuyển đổi sẽ làm mất hiệu lực bảo hành SSD
- Công cụ cần thiết gồm bộ chuyển đổi SATA-USB 3.0 dùng chip cầu nối Jmicron JMS578 Bridge Chip, cùng kẹp để chập các chân ROM/Safe Mode trên PCB của SSD
Cấu hình phần cứng của BX500
- Controller là Silicon Motion SM2259XT2, một biến thể của SM2259XT
- Controller đơn nhân
- Kiến trúc ARC 32-bit
- Có thể hoạt động tối đa 550MHz
- Trên SSD này chạy ở 437,5MHz
- SM2259XT2 hỗ trợ tối đa 2 kênh và tối đa 8 Chip Enable mỗi kênh, có thể giao tiếp tối đa 16 die qua interleaving
- SM2259XT dùng để so sánh hỗ trợ cấu hình 4 kênh và 4 C.E., tối đa 16 die
- SSD SATA này có thiết kế DRAM-Less và cũng không hỗ trợ Host Memory Buffer
NAND và đặc tính hoạt động mặc định
- Mẫu 500GB được trang bị 2 chip flash NAND đánh dấu “NY240”
- Sau khi giải mã, đây được xác nhận là NAND Micron MT29F2T08GELCEJ4-QU:C, N48R Media Grade
- 1Tb mỗi die, tức 128GiB
- 176 lớp dữ liệu và tổng cộng 195 gate
- Hiệu suất mảng 90,2%
- Mỗi chip NAND chứa 2 die, tương đương 256GB mỗi chip, tổng cộng khoảng 500GB
- NAND giao tiếp với controller ở 262,5MHz, tức 525MT/s
- Die N48R có thể chạy tới 800MHz, tức 1600MT/s theo khả năng của nó, nhưng trên SSD này được cấu hình thấp hơn nhiều
- Cài đặt tốc độ thấp có thể liên quan đến giảm điện năng/nhiệt, không đạt tiêu chuẩn chất lượng cho hoạt động tốc độ cao, khả năng độ bền thấp hơn, hoặc nguồn NAND giá rẻ
Quy trình chuyển đổi bằng MPTools
- Sử dụng MPTools, công cụ sản xuất hàng loạt dành cho controller Silicon Motion
- Công cụ được dùng là “SMI SM2259XT2 MPTool FIMN48 V0304A FWV0303B0”, và phải phù hợp với cả controller lẫn NAND flash
- Trước tiên cần đọc và lưu lại các tham số hiện có của SSD
- Flash IO Driving và các mục con
- Flash Control Driving
- Flash DQS/Data Driving
- Control ODT
- Flash ODT
- Schmitt Window Trigger
- Dùng chức năng Scan của MPTools để tìm SSD, rồi kiểm tra mục “Ready (FW: M6CR061, MN48R)” để xác nhận thiết lập gốc và tốc độ controller/NAND
- Để so sánh công bằng, tần số controller và NAND được giữ nguyên như ban đầu
Thiết lập kích hoạt chế độ pSLC
- Trong “Edit Config”, đặt tên dự án và thẻ phiên bản firmware
- Ví dụ tên model là “SSD SLC Test”
- Ví dụ phiên bản firmware là “SSD-SLC”
- Flash Control Driving và Flash DQS/Data Driving được giữ nguyên ở giá trị 66(hex)
- Tần số CPU và NAND cũng giữ theo điều kiện so sánh ban đầu, còn Output driving để ở 03H
- Chỉnh sửa file
Setting.setcủa MPTools để hiển thị các tùy chọn liên quan đến pSLC- Đổi
ENFWTAG=1trong[Function]thànhENFWTAG=0 - Thêm
EnSLCMode=1vào[Option]
- Đổi
- Sau đó, tùy chọn Force SLC Mode sẽ xuất hiện trong MPTools
- Cần sao chép các file boot/khởi tạo trong thư mục firmware sang một thư mục cụ thể thì mới có thể chuyển đổi thực sự
- Quy trình file này được tinh chỉnh cho tổ hợp SM2259XT2 + NAND N48R; với NAND khác, tên thư mục và cấu trúc file sẽ khác
- Một số mẫu NAND có thể không tương thích 100%, và NAND đã được kiểm thử là NAND của Intel và Micron
Tính toán độ bền
- Để tính độ bền cần Write Amplification Factor, số chu kỳ Program/Erase của NAND và dung lượng SSD
- Tính toán chính xác hơn còn dùng thêm các tham số như tiêu chuẩn JEDEC JESD218A và Wear-Leveling Efficiency
- SSD ở trạng thái QLC mặc định có TBW 120TB, từ đó suy ra NAND N48R Media Grade có khoảng 900 chu kỳ P/E
- WAF của trạng thái mặc định được tính là 3,75, và trong thử nghiệm thực tế gần khoảng 3,8
- Ở trạng thái pSLC, die NAND theo datasheet có thể chịu tối đa 60.000 chu kỳ P/E
- Sau khi chuyển sang pSLC, dung lượng giảm xuống khoảng 0,12TB, tức 120GB
- Với WAF 1,8, TBW tính ra là 4.000TB
- TBW tăng từ 120TB ở trạng thái QLC 500GB lên 4.000TB ở trạng thái pSLC 120GB, tức tăng hơn 3333%
Môi trường thử nghiệm hiệu năng
- Hệ điều hành là Windows 11 Pro 64-bit 23H2
- CPU là Intel Core i7-13700K, đặt tất cả nhân ở 5,7GHz
- RAM là cấu hình 2×16GB DDR4-3200MHz CL16 Netac
- Mainboard là MSI Z790-P PRO WIFI D4, BIOS phiên bản 7E06v18
- GPU là RTX 4060 Galax 1-Click OC
- Ổ hệ điều hành là Solidigm P44 Pro 2TB, còn SSD thử nghiệm được dùng dưới tên BX500 “SLC-Test”
- Windows indexing, update, ứng dụng nền và antivirus được tắt để giảm biến động khi test
- SSD thử nghiệm được dùng như ổ phụ, và có cả bài test ở mức sử dụng 0% lẫn 50%
- Bài test điện năng dùng Quarch PPM QTL1999 để đo idle, bài test ghi 1 giờ và mức tiêu thụ điện trung bình
Kết quả CrystalDiskMark
- Bài test tuần tự dùng cấu hình 2×1GiB, block 1MiB, 8 queues, 1 thread
- Bài test ngẫu nhiên dùng cấu hình 2×1GiB, block 4KiB, 1 queue, 1/2/4/8/16 threads
- Ở bài test tuần tự, gần như không có khác biệt
- Vì chỉ với bộ nhớ đệm pSLC mặc định cũng đã đạt băng thông tối đa của SSD SATA và tốc độ tuần tự công bố của nhà sản xuất
- Khác biệt chỉ lộ rõ ở benchmark dài và nặng hơn
- Độ trễ giảm đáng kể
- Ở trạng thái mặc định, sau idle thì NAND bắt đầu đọc/ghi ở chế độ native QLC, rồi mới được lập trình lại sang SLC nên có độ trễ
- Ở chế độ pSLC, NAND luôn ở trạng thái pSLC nên độ trễ thấp hơn
- Tốc độ ngẫu nhiên chênh lệch rõ hơn tốc độ tuần tự
- Ở QD1, tốc độ đọc tăng hơn 16% và tốc độ ghi tăng hơn 30%
Kết quả ATTO, 3DMark, PCMark 10
- ATTO Disk Benchmark được chạy với block size từ 512B đến 8MiB, file size 256MB và Queue Depth 1·4
- Trong ATTO, SSD ở chế độ pSLC vượt SSD mặc định ở mọi block size
- Ở QD1 cũng lặp lại cùng xu hướng, dù ở một số block size mức chênh lệch nhỏ hơn QD4
- 3DMark Storage Benchmark gồm tải game, ghi hình/phát trực tiếp OBS 1080p 60FPS, cài đặt game và truyền file thư mục game
- Ngay cả trong môi trường thực tế nhẹ như 3DMark, vẫn có chênh lệch về hiệu năng và độ trễ, nhưng có thể chưa đủ để người dùng cảm nhận rõ trong sử dụng thường ngày
- PCMark 10 Full System Drive Benchmark thiên về năng suất làm việc và có tỷ trọng ghi cao hơn 3DMark
- Trong PCMark 10, khác biệt trong thực tế rất rõ rệt, với hiệu năng gần gấp đôi
Premiere Pro, khởi động, tải game
- Bài test Adobe Premiere Pro 2021 đo thời gian mở một dự án khoảng 16,5GB, độ phân giải 4K, bitrate 120Mbps, nhiều hiệu ứng, đến trạng thái có thể chỉnh sửa
- Việc tải dự án Premiere Pro chủ yếu là kịch bản đọc tuần tự nên gần như không có khác biệt, ở mức biến động giữa các lần chạy
- Dùng benchmark Final Fantasy XIV để so sánh thời gian tải game
- Tải game khó tạo ra khác biệt lớn do các giới hạn API khác với DirectStorage
- Khởi động Windows cũng không khác biệt nhiều, dù là trên hệ thống mới, vì không tận dụng được các đặc tính áp dụng cho SSD này
Bộ nhớ đệm SLC và ghi kéo dài
- Hiện nay nhiều SSD dùng một phần dung lượng làm SLC Caching
- Một phần NAND MLC, TLC, QLC được dùng làm vùng lưu 1 bit mỗi cell như bộ đệm đọc/ghi
- Khi bộ đệm cạn, controller sẽ ghi vào vùng NAND native
- Theo kết quả IOmeter, bộ nhớ đệm pSLC mặc định của SSD này là động và khoảng 45GB
- Ở trạng thái mặc định, SSD duy trì trung bình khoảng 493MB/s cho đến khi hết cache
- Sau khi ghi 45GB, quá trình folding bắt đầu và điểm yếu của SSD QLC bộc lộ
- Tốc độ ghi duy trì sau cache giảm xuống trung bình khoảng 50MB/s
- Sau khi chuyển sang pSLC, toàn bộ 120GB đều được ghi ở mức trung bình 498MB/s
- Ngay cả khi ghi tới 500GB và lặp lại hơn 4 vòng đầy dung lượng, tốc độ vẫn giữ gần 500MB/s
- Chênh lệch tốc độ ghi trung bình khi cộng cả pSLC cache, folding và vùng native gần đạt mức 10 lần
Sao chép file, nhiệt độ, điện năng
- Bài test sao chép file thực hiện từ RAM Disk sang SSD với file ISO Windows 10 21H1 6,25GB và thư mục cài đặt CSGO 25,2GB
- Cả hai đều nhỏ hơn bộ nhớ đệm SLC 45GB của SSD mặc định, nên trong bài test sao chép thực tế không có khác biệt
- Lý do không test file lớn hơn là vì bộ nhớ dùng cho RAM Disk bị giới hạn ở 32GB
- Trong bài test nhiệt độ, SSD không nóng lên đáng kể, và cảm biến được cho là cảm biến NAND Flash
- Trong bài test điện năng, hiệu suất tăng mạnh sau khi chuyển sang pSLC
- Trạng thái QLC mặc định phải chạy lâu dưới 55MB/s trong bài test vượt xa bộ đệm 45GB nên hiệu quả thấp
- Chế độ pSLC không bị tụt băng thông khi ghi lượng dữ liệu gấp đôi dung lượng của chính nó, và mức tiêu thụ điện cũng thấp hơn
- Lý do điện năng giảm ở chế độ pSLC là vì NAND SLC chỉ dùng 2 mức logic nên cần threshold voltage thấp hơn
- NAND QLC dùng 16 mức logic nên cần threshold voltage cao hơn
- Ngay cả ở trạng thái idle, mức tiêu thụ điện của chế độ pSLC cũng thấp hơn
Kết luận
- Nếu thực hiện sai quy trình, SSD có thể bị hỏng nên cần hết sức cẩn thận
- Khác biệt hiệu năng của việc chuyển sang pSLC thay đổi theo từng kịch bản
- Ở benchmark tuần tự ngắn, sao chép file nhỏ, tải game và khởi động Windows, khác biệt là nhỏ
- Ở hiệu năng ngẫu nhiên, độ trễ, bài test năng suất và ghi kéo dài, khác biệt là lớn
- Thay đổi lớn nhất là độ bền, với TBW tính toán tăng từ 120TB lên 4.000TB
- Đổi lại, dung lượng khả dụng giảm từ 500GB xuống khoảng 120GB
1 bình luận
Ý kiến trên Hacker News
Không cần phải vất vả đến mức đó chỉ để dùng SSD giá rẻ không có DRAM ở chế độ pSLC
Chỉ cần over-provisioning bằng cách chỉ dùng 25–33% tổng dung lượng là được
Hầu hết controller giá rẻ không có DRAM hoạt động ở chế độ cache toàn đĩa, nên ban đầu mọi thao tác ghi đều được ghi dưới dạng pSLC, và chỉ sau khi các cell đã đầy mới gom lại một phần cell thành TLC/QLC để giải phóng không gian
Nếu là TLC thì chỉ tạo phân vùng bằng 1/3 dung lượng đĩa, nếu là QLC thì 1/4, rồi để phần trống còn lại ở trạng thái đã TRIM và tuyệt đối không ghi vào, như vậy nó sẽ luôn ghi như pSLC
Để kiểm tra SSD bạn quan tâm có hoạt động kiểu này không, hãy tìm benchmark ghi toàn đĩa "HD Tune" của model đó. Nếu 1/3–1/4 đầu tiên nhanh rồi phần còn lại chậm thảm hại, có thể xem đó là chế độ cache toàn đĩa
Cách chỉ lấy một phần đĩa làm phân vùng nghe giống kiểu “chỉ dùng các sector ngoài” thời SCSI 160GB
Tuy nhiên như đã nói, nhà sản xuất có thể tinh chỉnh firmware khác đi, còn bản mod này về cơ bản đảm bảo toàn bộ không gian được dùng như SLC
Cách tiếp cận này có lẽ chỉ hoạt động tốt đến 45GB dù cache SLC thực tế là 120GB, vì tiến trình dành cho paging sẽ bắt đầu trước khi SLC bị dùng hết hoàn toàn
Nếu không cần tới 66% dung lượng SLC của ổ, cách dùng phân vùng nhỏ đúng là dễ hơn và an toàn hơn
Bản hack này về cơ bản biến SSD 480GB thành SSD 120GB
Đổi lại, độ bền ghi, tức lượng dữ liệu có thể ghi trước khi dự đoán hỏng, tăng từ 120TB lên 4000TB, nên có thể là một đánh đổi rất hữu ích cho các ổ lưu log chẳng hạn
Tôi chưa từng thấy nhà sản xuất cung cấp tùy chọn như vậy, không rõ vì sao họ không làm
Ví dụ như Swissbit bán các sản phẩm công nghiệp dùng flash TLC hoặc QLC nhưng không dùng ở chế độ đó
Mức đó thì tôi kỳ vọng chỉ khoảng gấp 2 lần
Nhìn thì có vẻ giá trị ban đầu dùng con số bảo hành OEM là 120TBW, còn giá trị cuối dùng thông số chu kỳ P/E của NAND, nên khá đáng ngờ
Nếu có gì tôi bỏ sót thì có thể là chế độ pSLC làm giảm mạnh điện áp lập trình cell, khiến chu kỳ P/E tăng đột biến; nhưng điều đó có vẻ nên được tính vào hệ số khuếch đại ghi
Bản hack này có thể gây mất dữ liệu và không được hỗ trợ, còn ổ TLC thì được hỗ trợ
Cách này cho 120GB với độ bền ghi 4000TB, nhưng với 200 đô la có thể mua ổ TLC 4TB có độ bền ghi 3000TB
Phần lớn ổ tiêu dùng rất có thể sẽ giảm khả năng lưu giữ dữ liệu
Điều bài viết không nhấn mạnh là độ bền và khả năng lưu giữ dữ liệu có liên hệ rất chặt chẽ
Cell flash hao mòn theo kiểu rò rỉ tăng dần qua các chu kỳ, nên càng nhiều chu kỳ thì càng mất điện tích nhanh hơn
SLC chỉ cần phân biệt 2 trạng thái thay vì 16 trạng thái như QLC, vì vậy với cùng số chu kỳ, dữ liệu ở chế độ SLC được giữ lâu hơn nhiều
Tức là bản mod này không chỉ có độ bền cực cao mà còn có cả khả năng lưu giữ dữ liệu tốt hơn
Nhà sản xuất thường ghi kiểu “N năm sau M chu kỳ”; SLC đời đầu được đánh giá 10 năm sau 100K chu kỳ, còn QLC này có thể là 1 năm sau 900 chu kỳ ở chế độ QLC, và 1 năm sau 60K chu kỳ ở chế độ SLC
Nếu các block thực tế không bị quay vòng nhiều đến vậy thì khả năng lưu giữ dữ liệu sẽ cao hơn nhiều
Tôi không biết firmware có dùng nguyên mã sửa lỗi mạnh hơn cần cho QLC cả trên các block chế độ SLC hay không, nhưng nếu có thì độ tin cậy cũng sẽ tăng thêm
Khoảng 10 năm trước, tôi từng kiếm được vài card FusionIO SLC gần như thuộc lô sản xuất cuối cùng để dùng benchmark
Phần mềm là một cơ sở dữ liệu in-memory mà khách hàng muốn mở rộng dung lượng sử dụng, và đúng nghĩa là chỉ dùng card Fusion làm swap
Sau khi tải dữ liệu vài phút, kernel ổn định lại và mọi thứ chạy thực sự tốt
Trên một máy tính 500 đô la, nó xử lý hàng tỷ bản ghi với hàng triệu giao dịch mỗi giây, còn cái card thì đắt hơn cả xe của tôi
Ngày nay tôi chắc chắn sẽ không làm vậy, nhưng đó là một thiết bị cực kỳ ấn tượng
Phần lớn ứng dụng được chống đỡ bởi một cơ sở dữ liệu Postgres duy nhất, và chúng tôi đã định bắt đầu dự án mở rộng theo chiều ngang nhưng không đạt được mấy kết quả. Chúng tôi nhận ra partitioning trong một codebase phức tạp và lâu đời là rất khó
Tình cờ có được một card FusionIO, và với card 2TB rẻ nhất, QPS đọc trong pgbench nhảy từ khoảng 5.000 lên 300k
Từ đó chúng tôi bắt đầu thấy mở rộng theo chiều dọc khả thi hơn nhiều so với tưởng tượng. Phần cứng có thể làm được nhiều việc hơn rất nhiều so với chúng ta nghĩ
Vì có rất nhiều I/O ngẫu nhiên nhỏ nên hệ thống luôn ở trạng thái sát ngưỡng chịu tải
Để thử nghiệm, tôi gửi cho họ một SSD Intel 600GB dạng ổ laptop, họ hạ node phụ xuống, lắp SSD rồi đưa lên lại
Sau khi đồng bộ mảng bằng DRBD, họ failover node chính sang node SSD, thêm SSD vào logical volume, rồi dùng
pvmoveđể chuyển các block của mảng 8 đĩa sang SSDTrong vài giờ, tải giảm đều và cuối cùng gần như biến mất
Thật thú vị khi một thứ nằm gọn trong lòng bàn tay có thể thay thế 8 ổ đĩa 3,5 inch 10K
Nếu dùng eMMC trong thiết bị nhúng thì tôi cũng khuyến nghị cách này
Trên hệ thống Linux, có thể dùng lệnh
mmccủammc-utilsđể đặt thiết bị sang chế độ pSLCTrong U-Boot cũng làm được, nhưng lệnh khó hiểu hơn một chút. Vì chỉ có thể lập trình một lần nên sau khi thiết lập sẽ không thể hoàn tác
Nếu là số lượng sản xuất hàng loạt, bên lập trình có thể cấu hình sẵn thiết lập này cùng các thiết lập eMMC khác
Ước gì các phân tích đi sâu tới cả tốc độ truyền của bus kiểu này phổ biến hơn
Sẽ rất tốt nếu với mọi SSD đều có sơ đồ khối ghi rõ tên model IC quan trọng, tần số xung hoạt động, độ rộng bus giữa các IC và tốc độ hoạt động
Một số SSD Kingston có thể quản lý over-provisioning bằng công cụ phần mềm do nhà sản xuất cung cấp
Tức là có thể tự chọn điểm đánh đổi giữa dung lượng và độ bền
Ví dụ nếu đặt over-provisioning là 80%, thì 80% dung lượng QLC sẽ được để làm vùng dự phòng, còn 20% còn lại vẫn sẽ dùng ở chế độ QLC
Có lẽ nó sẽ không được nhận diện như thể có thể dùng giống SLC với 20% dung lượng SLC được over-provisioning
Ước gì nhà sản xuất cung cấp cách hạ SSD xuống dùng như SLC bằng kiểu thiết lập driver
Nếu tự làm SSD hoặc nối trực tiếp flash vào các chân dư của SoC thì có thể lập trình theo kiểu đó
Nếu nhu cầu đủ lớn, có vẻ cũng có thể mở rộng NVMe để cung cấp tính năng này
Ngay cả nếu có tính năng như vậy, ứng dụng thiết lập driver cho Windows cũng sẽ không được mở nguồn mở đâu
Tôi đã nghĩ đây là khác biệt ở cấp phần cứng, nên khá bất ngờ
Nhưng tôi nghĩ dù hỗ trợ TLC hay QLC thì vẫn có thể triển khai SLC trên tất cả chúng
SSD NVMe Silicon Power trong máy tôi hiện cũng có vẻ dùng SLC cho thao tác ghi, rồi sau đó trong lúc nhàn rỗi chuyển dữ liệu đó sang TLC
Chạy NAND ở chế độ SLC là một tính năng của những ổ như vậy, và được gọi là “SLC caching”
Nhưng chỉ thế thôi không giải thích được vì sao đọc và ghi lại nhanh hơn TLC nhiều đến vậy
Ví dụ nếu lưu dữ liệu bằng điện tích trong tụ điện như DRAM, ta có thể tưởng tượng ghi giá trị bằng DAC thang R-2R và đọc giá trị bằng ADC flash. Trong trường hợp đó, nếu bỏ qua nhiễu, v.v. thì sẽ không có khác biệt tốc độ theo số mức hiệu dụng trên mỗi cell
Lý do pSLC nhanh hơn có vẻ nằm ở cách flash được lập trình và đọc, cũng như đặc tính analog của bộ nhớ flash
Nó cũng dùng điện tích để lưu giá trị như DRAM, nhưng không phải trong một tụ điện đơn giản mà trong cổng MOSFET kép
Lượng điện tích làm thay đổi điện áp ngưỡng hiệu dụng của transistor, và khi đọc phải đặt nhiều mức điện áp để xem khi nào transistor bắt đầu dẫn
Khi lập trình cell, cần bơm một lượng điện tích sao cho đạt điện áp ngưỡng tương ứng với mẫu bit mong muốn. Vì chỉ có thể bơm điện tích vào, nên để tránh bơm quá mức, người ta cấp nhiều xung ngắn rồi lặp lại quá trình kiểm tra bằng chu kỳ đọc xem đã đạt mức cần thiết hay chưa
Vì vậy càng có nhiều mức trên mỗi cell thì càng cần xung ngắn hơn và nhiều chu kỳ đọc hơn
Nếu lập trình cell đa mức ở chế độ đơn mức, một lần bơm điện tích lớn hơn cũng đủ, và khi đọc cũng chỉ cần xem nó có dẫn tại một ngưỡng tham chiếu duy nhất hay không
Tóm lại, pSLC không cần thay đổi bản thân cell đa mức, nhưng phải thay đổi cách lập trình và đọc cell đó. Vì thế khả năng cao là các mạch liên quan phải khác đi ở một mức nào đó, và sẽ không thể triển khai chỉ bằng firmware thuần túy
https://en.wikipedia.org/wiki/Flash_memory#Floating-gate_MOS...
https://dr.ntu.edu.sg/bitstream/10356/80559/1/Read%20and%20w...
https://people.engr.tamu.edu/ajiang/CellProgram.pdf
http://nyx.skku.ac.kr/publications/papers/ComboFTL.pdf
Tôi tò mò liệu có thể dùng cách này để kéo dài tuổi thọ của SSD đã bị mòn hay không
Biết đâu ở đâu đó tại Trung Quốc có dịch vụ thu gom những SSD như vậy, flash lại rồi bán dưới dạng “hàng mới”
Đó là cách phơi lâu ở 250°C, hoặc xử lý ngắn ở nhiệt độ cao hơn là 800°C
https://m.hexus.net/tech/news/storage/48893-making-flash-mem...
https://m.youtube.com/watch%3Fv%3DH4waJBeENVQ&sa=U&ved=2ahUK...