BẢNG KÝ HIỆU, VIẾT TẮT ................................................................................ 7 MỞ ĐẦU ................................................................................................................ 9 Chương 1: Giới thiệu chung về SSD .................................................................... 10 1.1. SSD là gì? .............................................................................................. 10 1.2. Tìm hiểu chung về SSD ......................................................................... 10 1.3. Tóm tắt về cách thức hoạt động của SSD ............................................. 10 1.4. Các loại SSD phổ biến hiện nay ............................................................ 11 Chương 2: Tìm hiểu về ổ đĩa SSD NVMe (PCIe) ............................................... 12 2.1. NVMe là gì? ........................................................................................... 12 2.2. PCIe là gì? .............................................................................................. 12 2.3. Cấu tạo ................................................................................................... 13 2.4. Giải thích về cấu tạo của SSD NVMe ................................................... 14 2.5. Lưu trữ ................................................................................................... 15 2.6. Quản lý tập tin ........................................................................................ 15 2.7. Tối ưu truy xuất dữ liệu ......................................................................... 16 2.8. So sánh công nghệ NVMe với AHCI .................................................... 17 Chương 3: Vấn đề kỹ thuật của SSD .................................................................... 18 3.1. Tại sao phải thay thế HDD ? .................................................................. 18 3.1.1. Cấu tạo và cách thức hoạt động của HDD ....................................... 18 3.1.2. Cách thức hoạt động chính của SSD ................................................ 19 3.1.3. Sự tiến bộ của SSD so với HDD ...................................................... 20 3.3. Làm thế nào để tạo ra được SSD ........................................................... 20 3.4. Công nghệ NAND Flash ........................................................................ 21 3.5. Một số thuật toán quan trọng trong SSD ............................................... 24 3.5.1. Thuật toán Wear Leveling ................................................................ 25 3.5.2. Thuật toán TRIM .............................................................................. 26 3.5.3. Thuật toán Garbage Collection (GC) ............................................... 27 6 Chương 4: Những thách thức và cơ hội của SSD trong tương lai ........................ 29 TÀI LIỆU THAM KHẢO .................................................................................... 31 Tiếng Việt ......................................................................................................... 31 Tiếng Anh ......................................................................................................... 31
Trang 1
ĐẠI HỌC QUỐC GIA HÀ NỘI TRƯỜNG ĐẠI HỌC CÔNG NGHỆ
Hà Thanh Tùng Chu Trung Lương
TÌM HIỂU VỀ Ổ ĐĨA SSD NVMe PCIe
Ngành: Kỹ thuật máy tính
HÀ NỘI - 2023
Trang 2
ĐẠI HỌC QUỐC GIA HÀ NỘI TRƯỜNG ĐẠI HỌC CÔNG NGHỆ
Hà Thanh Tùng Chu Trung Lương
TÌM HIỂU VỀ Ổ ĐĨA SSD NVMe PCIe
Ngành: Kỹ thuật máy tính
Cán bộ hướng dẫn: TS Nguyễn Thị Hậu
HÀ NỘI – 2023
Trang 3TÓM TẮT
Bạn có biết rằng SSD là một trong những công nghệ lưu trữ dữ liệu hiện đại và tiên tiến nhất hiện nay? SSD là viết tắt của Solid State Drive, một thiết bị lưu trữ không có bộ phận cơ khí nào, mà chỉ sử dụng các chip bán dẫn để lưu trữ dữ liệu SSD có nhiều ưu điểm so với các thiết bị lưu trữ truyền thống như HDD, như tốc độ truy cập nhanh hơn, tiết kiệm điện năng hơn, bền bỉ hơn và an toàn hơn Trong bài tiểu luận này, tôi sẽ giới thiệu cho bạn về cách hoạt động, cấu tạo, ứng dụng và phát triển của SSD trong thời đại số Hãy cùng tôi khám phá về thế giới kỳ diệu của SSD trong bài tiểu luận này
Từ khóa: SSD, HDD, NVMe, PCIe
Trang 4LỜI CAM ĐOAN
Tôi xin cam đoan: Tiểu luận “Tìm hiểu về ổ đĩa SSD NVMe PCIe” là công trình nghiên cứu riêng của tôi, không sao chép của ai Những phần sử dụng tài liệu tham khảo trong tiểu luận đã được nêu rõ trong phần tài liệu tham khảo Các số liệu, kết quả trình bày trong tiểu luận được sử dụng trung thực
Hà Nội, ngày 16 tháng 11 năm 2023 Tác giả 1
Hà Thanh Tùng
Tác giả 2
Chu Trung Lương
Trang 5MỤC LỤC
BẢNG KÝ HIỆU, VIẾT TẮT 7
MỞ ĐẦU 9
Chương 1: Giới thiệu chung về SSD 10
1.1 SSD là gì? 10
1.2 Tìm hiểu chung về SSD 10
1.3 Tóm tắt về cách thức hoạt động của SSD 10
1.4 Các loại SSD phổ biến hiện nay 11
Chương 2: Tìm hiểu về ổ đĩa SSD NVMe (PCIe) 12
2.1 NVMe là gì? 12
2.2 PCIe là gì? 12
2.3 Cấu tạo 13
2.4 Giải thích về cấu tạo của SSD NVMe 14
2.5 Lưu trữ 15
2.6 Quản lý tập tin 15
2.7 Tối ưu truy xuất dữ liệu 16
2.8 So sánh công nghệ NVMe với AHCI 17
Chương 3: Vấn đề kỹ thuật của SSD 18
3.1 Tại sao phải thay thế HDD ? 18
3.1.1 Cấu tạo và cách thức hoạt động của HDD 18
3.1.2 Cách thức hoạt động chính của SSD 19
3.1.3 Sự tiến bộ của SSD so với HDD 20
3.3 Làm thế nào để tạo ra được SSD 20
3.4 Công nghệ NAND Flash 21
3.5 Một số thuật toán quan trọng trong SSD 24
3.5.1 Thuật toán Wear Leveling 25
3.5.2 Thuật toán TRIM 26
3.5.3 Thuật toán Garbage Collection (GC) 27
Trang 6Chương 4: Những thách thức và cơ hội của SSD trong tương lai 29
TÀI LIỆU THAM KHẢO 31
Tiếng Việt 31
Tiếng Anh 31
Trang 7BẢNG KÝ HIỆU, VIẾT TẮT
Express
Trang 8DANH MỤC HÌNH ẢNH
Hình 1 PCIe 13
Hình 2 SSD M.2 NVMe 14
Hình 3 So sánh giữa NVMe và AHCI 17
Hình 4 Ổ đĩa HDD 19
Hình 5 NAND 22
Hình 6 NAND Flash Cell 23
Hình 7 Cấu tạo của NAND 24
Hình 8 Thuật toán Wear Levelling 26
Hình 9 Thuật toán TRIM 27
Hình 10 Thuật toán Garbage Collection 28
Trang 9MỞ ĐẦU
Trong thời đại công nghệ số ngày nay, việc lưu trữ và truy xuất dữ liệu một cách nhanh chóng và an toàn là một yêu cầu thiết yếu Trong nhiều năm qua, ổ cứng HDD (Hard Disk Drive) là thiết bị lưu trữ phổ biến nhất, nhưng nó có nhiều hạn chế về tốc
độ, độ bền và tiêu thụ điện năng Để khắc phục những nhược điểm này, ổ cứng SSD (Solid State Drive) đã được phát triển và trở thành một xu hướng mới trong lĩnh vực lưu trữ dữ liệu SSD là một loại ổ cứng dùng bộ nhớ flash để lưu trữ dữ liệu, không có
bộ phận cơ khí nào như HDD, do đó có tốc độ truy xuất cao hơn, độ bền lâu hơn và tiết kiệm điện năng hơn Trong số các loại SSD, SSD NVMe (Non-Volatile Memory Express) là một loại SSD hiện đại nhất, sử dụng giao tiếp PCIe (Peripheral Component Interconnect Express) để kết nối với máy tính, cho phép truyền tải dữ liệu nhanh hơn nhiều lần so với SSD thông thường
Bài tiểu luận này nhằm nghiên cứu về các vấn đề kỹ thuật để con người có thể tạo nên SSD, đặc biệt là SSD NVMe Bài tiểu luận sẽ được chia thành ba phần chính Phần đầu tiên sẽ là tìm hiểu đặc tính cấu tạo của SSD nói chung là SSD NVMe nói riêng Phần hai cũng là phần trọng tâm của cả bài đó là giải thích tại sao SSD là một sự thay thế tốt hơn cho HDD bằng cách so sánh các đặc tính kỹ thuật và hiệu năng của hai loại ổ cứng này, cùng với đó là nguyên lý cách thức mà SSD dùng để lưu trữ dữ liệu
và các cách con người tư duy ra để tối ưu hóa SSD đưa vào cuộc sống Phần 3 cũng là phần cuối của bài, chúng ta sẽ cùng nhau đúc kết lại những gì đã nghiên cứu và chỉ ra những thách thức và cơ hội của SSD trong tương lai Cuối cùng, bài tiểu luận sẽ kết luận và đưa ra một số khuyến nghị cho việc sử dụng và phát triển SSD trong tương lai
Trang 10Chương 1: Giới thiệu chung về SSD 1.1 SSD là gì?
SSD là viết tắt của “Solid State Drive” (ổ đĩa thể rắn), là một thiết bị lưu trữ thể rắn không có bộ phận chuyển động cơ học, được dùng để lưu trữ và truy cập dữ liệu trên máy tính, duy trì dữ liệu ở trạng thái vĩnh viễn ngay cả khi tắt nguồn
1.2 Tìm hiểu chung về SSD
- Không sử dụng bất kỳ thành phần cơ học chuyển động nào, như đĩa quay trong
ổ đĩa cứng truyền thống (HDD) Thay vì đó, nó sử dụng các bộ nhớ flash NAND để lưu trữ dữ liệu (Tại sao không sử dụng flash NOR: Vì các ô nhớ của NAND được tổ chức theo dạng lưới còn NOR thì theo dãy dọc, Giá thành rẻ, dung lượng lớn hơn, chịu được nhiều chu kì ghi xóa hơn)
- SSD sử dụng các bộ nhớ bán dẫn như SRAM, DRAM hay FLASH để lưu trữ thay vì cơ học như HDD truyền thống
- Tốc độ nhanh chóng: SSD cung cấp tốc độ đọc và ghi dữ liệu nhanh hơn so
với HDD Điều này làm cho các máy tính và thiết bị được nâng cấp bằng SSD trở nên nhanh hơn trong việc khởi động hệ thống, mở ứng dụng và truyền dữ liệu(Mất tầm khoảng 10s để máy tính khởi động khi có ổ đĩa SSD)
- Lưu trữ và truy cập dữ liệu: SSD được sử dụng để lưu trữ tất cả loại dữ liệu,
bao gồm hệ điều hành, ứng dụng, tệp tin, và nhiều loại dữ liệu khác Dữ liệu được lưu trữ trên SSD có thể được truy cập nhanh chóng và an toàn
- Tiêu thụ năng lượng thấp: SSD tiêu thụ ít năng lượng hơn so với HDD, làm
giảm sự ấm lên của máy tính và kéo dài thời gian sử dụng pin cho các thiết bị di động
- Độ bền và tin cậy: SSD thường có độ bền cao hơn do không có các bộ phận cơ
học chuyển động có thể hỏng hóc Nó cũng không bị ảnh hưởng bởi va đập và rung động
Trang 11+ Nếu có dữ liệu cũ trong vùng đích, bộ điều khiển sẽ xóa nó Điều này làm tăng
độ trễ vì quá trình xóa cần thời gian
- Chuyển dữ liệu từ bộ nhớ đệm đến ô nhớ NAND: Dữ liệu từ bộ nhớ đệm sau đó được chuyển đến ô nhớ NAND
- Ghi và xóa (P/E cycles):
+ Việc ghi dữ liệu trên NAND flash sử dụng cơ chế "program" để thay đổi trạng thái của các ô nhớ (các bit 0 và 1)
+ Để xóa dữ liệu, một quá trình xóa diễn ra trước khi dữ liệu mới được ghi Quá trình này làm tăng độ trễ và giảm tuổi thọ của NAND
- Wear – Leveling: Để giảm thiểu sự mòn đồng đều trên tất cả các ô nhớ NAND, SSD sử dụng thuật toán wear-leveling Thuật toán này giúp đảm bảo rằng việc ghi và xóa diễn ra đồng đều trên toàn bộ bộ nhớ
- Garbage Collection: Để giải phóng không gian cho dữ liệu mới, SSD thực hiện garbage collection Dữ liệu cũ và không sử dụng được xóa để làm trống ô nhớ
- Trim Operation: Trim là một lệnh được hệ điều hành gửi đến SSD để thông báo
về các ô nhớ không sử dụng SSD sẽ sử dụng thông tin này để tối ưu hóa việc xóa dữ liệu không cần thiết
1.4 Các loại SSD phổ biến hiện nay
- Gồm SATA, mSATA, M.2 Cụ thể hơn là gồm:
+ SATA 3: là một chuẩn phổ biến cho ổ đĩa SSD trong các máy tính và laptop cũ + 2.5 SATA: là một chuẩn phổ biến cho ổ đĩa SSD trong các máy tính và laptop
Trang 12Chương 2: Tìm hiểu về ổ đĩa SSD NVMe (PCIe)
Ổ đĩa SSD (Solid State Drive) đã mang lại một bước tiến lớn so với ổ đĩa HDD (Hard Disk Drive) truyền thống, với tốc độ đọc/ghi nhanh hơn và độ tin cậy cao hơn Tuy nhiên, trong quá trình phát triển và sử dụng SSD, các nhà nghiên cứu và kỹ sư đã nhận ra rằng giao diện SATA truyền thống - một giao diện được thiết kế cho ổ đĩa HDD - đã trở thành một rào cản cho hiệu suất của SSD SATA không thể tận dụng hết khả năng của PCIe vì SATA chỉ hỗ trợ tốc độ truy xuất tối đa là 600 MB/s Trong khi
đó, PCIe có khả năng truyền tải dữ liệu nhanh hơn nhiều Điều này đã tạo ra một rào cản cho hiệu suất của SSD khi sử dụng giao diện SATA Đó là lý do NVMe được ra đời NVMe là một giao diện được thiết kế đặc biệt cho SSD, tận dụng tốc độ và khả năng xử lý song song của giao tiếp PCIe (Peripheral Component Interconnect
Express) Với NVMe, SSD có thể giao tiếp trực tiếp với CPU thông qua PCIe, giảm thiểu độ trễ và tăng hiệu suất NVMe đã mở ra một kỷ nguyên mới cho lưu trữ dữ liệu, với tốc độ và hiệu suất chưa từng có Điều này đã thúc đẩy sự phát triển của các ứng dụng yêu cầu hiệu suất cao như trí tuệ nhân tạo, học máy và phân tích dữ liệu lớn
2.1 NVMe là gì?
- Non-Volatile Memory Express : Bộ nhớ tốc độ cao bất biến
- Là một giao thức và trình điều khiển tận dụng băng thông cao của PCIe, được thiết riêng để dành cho SSD
- NVMe được thiết kế cho ổ cứng SSD và liên lạc giữa giao tiếp lưu trữ và CPU của hệ thống sử dụng khe cắm PCIe tốc độ cao mà không bị giới hạn bởi kích cỡ
- Các dữ liệu với ổ cứng SSD NVMe sẽ được truyền qua PCIe đến thẳng CPU Cách vận hành này tạo ra một kết nối trực tiếp giữa ổ cứng với CPU, thay vì phải qua bước trung gian là bộ điều khiển SATA
- Về cơ bản NVMe là một giao thức tối ưu hóa thực sự trong những năm gần đây
do sự tiến bộ của công nghệ, SSD đã trở nên nhanh hơn và đã đạt được tiềm năng thực
sự của nó
2.2 PCIe là gì?
- Peripheral Component Interconnect Express: Kết nối thành phần ngoại vi
- Là một chuẩn kết nối tốc độ cao
Trang 13- PCIe đời mới (3.0 đổ đi) cung cấp băng thông rất cao so với giao tiếp
SATA hiện nay gen 5.0 đã có tốc độ 4GB/s với mỗi lane mà SATA III chỉ được
750MB/s gen 3.0 = 1GB/s => đã phù hợp cho SSD hiện nay
Hình 1 PCIe
2.3 Cấu tạo
- Giao thức NVMe: là một giao tiếp liên lạc và trình điều khiển tận dụng băng thông cao của PCIe
- Bộ nhớ NAND Flash: Hay còn được gọi là CTF Memory (Charge Trap Flash
Memory) đây là thành phần chính của SSD, được sử dụng để lưu trữ dữ liệu Các viên chip NAND Flash sẽ được gắn vào PCB
- Bộ điều khiển (Controller): Bộ điều khiển là một vi mạch quan trọng, đảm bảo
việc quản lý và điều khiển các hoạt động đọc/ghi dữ liệu trên NAND Flash
Trang 14- Kích thước: Hiện nay kích thước thông dụng nhất của 1 SSD NVMe thường là
loại 2280 với ý nghĩa là rộng 22mm dài 80mm, bên cạnh đó còn có các kích thước thông dụng khác cũng mang ý nghĩa tương tự là 2230 và 2242
- Kết nối: sử dụng khe cắm M.2 B key, có khoảng cách 5 chân ở phía bên phải
thẻ, và phía bên trái là bộ điều khiển máy chủ
Hình 2 SSD M.2 NVMe
2.4 Giải thích về cấu tạo của SSD NVMe
Điều mà thực sự nhiều người rất hay nhầm là về thuật ngữ như M.2 và NVMe cũng như cách chúng liên quan đến kiểu dáng và hiệu suất Vì vậy, hãy cố gắng làm rõ điều đó một chút
Đầu tiên cần phải rõ ràng rằng M.2 và NVMe không phải là những thuật ngữ có thể thay thế cho nhau nhưng chúng có mối liên hệ chặt chẽ với nhau M.2 là một hệ số hình thức, dùng để chỉ kích thước và hình dạng của ổ đĩa, về mặt kỹ thuật nhiều thiết
bị khác nhau có thể sử dụng khe cắm mở rộng M.2 nhưng đến này SSD là loại phổ biến nhất Không giống như ổ cứng tiêu chuẩn và ổ đĩa thể rắn, ổ M.2 không được kết nối với bo mạch chủ qua cáp, thay vào đó chúng được cắm trực tiếp vào bo mạch chủ bằng khe cắm đầu nối M.2 chuyên dụng Tùy thuộc vào loại và chức năng mà ổ M.2
có thể sử dụng giao tiếp SATA tiêu chuẩn hoặc giao tiếp PCIe nhanh hơn để truyền dữ liệu, nhưng trong cả 2 trường hợp ổ M.2 đều cắm trực tiếp vào bo mạch chủ
Còn NVMe đề cập đến cách thức di chuyển dữ liệu thay vì hình dạng của ổ đĩa Điểm khác biệt chính của nó so với tiêu chuẩn SATA hiện tại là nó dựa trên giao tiếp PCIe của bo mạch chủ để đạt được tốc độ truyền dữ liệu nhanh hơn đáng kể so với tốc
độ của SATA
Trang 152.5 Lưu trữ
- Dung Lượng: SSD có dung lượng từ vài Gigabyte đến nhiều Terabyte, tùy
thuộc vào mục đích sử dụng SSD có dung lượng nhỏ thường được sử dụng trong máy tính xách tay và thiết bị di động, trong khi SSD với dung lượng lớn hơn thường được
sử dụng trong máy tính để bàn và trung tâm dữ liệu
- Độ Bền: SSD thường có độ bền cao hơn so với HDD (ổ đĩa cơ học) vì không có
bộ phận cơ học chuyển động Tuy nhiên, mỗi ô nhớ NAND Flash có số lần ghi giới hạn, và độ bền của SSD phụ thuộc vào loại NAND Flash (SLC, MLC, TLC, hoặc QLC) và công nghệ quản lý (wear leveling) sử dụng bởi nhà sản xuất Cụ thể là:
NAND Flash Single - Layer Cell (SLC) thì mỗi ô nhớ của nó chỉ chứa một bit dữ liệu
0 hoặc 1, vậy nên nó sẽ có tốc độ nhanh nhất, độ trễ thấp nhất, độ bền cũng cao nhất NAND Flash Multi – Layer Cell (MLC) thì mỗi ô nhớ của nó sẽ chứa tối đa 2 bit dữ liệu gồm 00, 01, 10, 11, từ đó dữ liệu được lưu trữ sẽ nhiều hơn SLC nhưng tốc độ sẽ chậm hơn, độ bền cũng giảm đi Tiếp tục tăng lưu trữ nhưng giảm tốc độ và độ bền dần với Triple – Layer Cell (TLC) và Quad – Layer Cell (QLC)
2.6 Quản lý tập tin
Khả năng quản lý tập tin của ổ đĩa SSD NVMe không phụ thuộc trực tiếp vào ổ đĩa mà thay vào đó liên quan chủ yếu đến hệ điều hành và hệ thống tập tin được sử dụng trên đó Dưới đây là một số khía cạnh quan trọng liên quan đến khả năng quản lý tập tin của SSD NVMe:
- Trim Command: Trim là một lệnh quan trọng đối với SSD NVMe, được sử
dụng để thông báo cho ổ đĩa về các phần của dữ liệu không còn sử dụng Điều này giúp ổ đĩa hiệu quả hơn khi ghi và giảm hiện tượng mòn (wear leveling)
-Lưu Trữ Mục Lục (File Indexing): Các hệ điều hành thường sử dụng các công
nghệ lưu trữ mục lục để tìm kiếm và truy cập tập tin nhanh chóng Trên SSD NVMe, với tốc độ truy xuất nhanh, quá trình này được thực hiện một cách hiệu quả
Trang 16-Bảo Mật và Encryption: Các ổ đĩa SSD NVMe thường hỗ trợ các tính năng
bảo mật như mã hóa phần cứng (hardware encryption) và các tiêu chuẩn mã hóa dữ liệu như AES (Advanced Encryption Standard)
-Bộ Đệm (Cache) và Đọc Ghi Ngẫu Nhiên: SSD NVMe thường có khả năng
quản lý bộ đệm một cách hiệu quả, giúp tối ưu hóa hiệu suất trong các tình huống đọc
và ghi ngẫu nhiên
-Tùy Chọn Cấu Hình Tập Tin (File Configuration Options): Người dùng có
thể cấu hình cách mà hệ điều hành xử lý tập tin, chẳng hạn như kích thước cluster trên NTFS, để tối ưu hóa hiệu suất
2.7 Tối ưu truy xuất dữ liệu
Thời Gian Truy Xuất Ngẫu Nhiên: SSD nổi tiếng với khả năng truy xuất dữ
liệu ngẫu nhiên nhanh chóng Điều này có nghĩa là ổ đĩa có khả năng truy cập dữ liệu
từ các vị trí ngẫu nhiên trên ô nhớ NAND Flash một cách hiệu quả Điều này làm cho SSDs phù hợp cho các ứng dụng yêu cầu truy xuất dữ liệu ngẫu nhiên nhanh chóng như chơi game hoặc chỉnh sửa video
SSD NVMe có khả năng tối ưu truy xuất dữ liệu cao nhờ vào một số yếu tố sau:
- Giao thức NVMe: NVMe (Non-Volatile Memory Express) là một giao thức
được thiết kế đặc biệt cho SSD, cho phép truyền dữ liệu nhanh hơn và hiệu quả hơn so với các giao thức khác như SATA
-Sử dụng giao diện PCIe: NVMe sử dụng giao diện PCIe để kết nối với CPU,
cho phép truyền tải dữ liệu nhanh hơn và hiệu quả hơn so với giao diện SATA
-Hỗ trợ nhiều hàng đợi I/O: NVMe hỗ trợ nhiều hàng đợi I/O, lên đến 64K với
mỗi hàng đợi có 64K Điều này cho phép các hoạt động nhập/xuất diễn ra nhanh hơn
so với các mô hình lưu trữ cũ hơn sử dụng các trình điều khiển cũ như AHCI
(Advanced Host Controller Interface)
-Công cụ tối ưu hóa: Có một số công cụ tối ưu hóa SSD có thể giúp cải thiện
hiệu suất của SSD bằng cách tắt một số dịch vụ Windows hoặc sử dụng các kỹ thuật tối ưu hóa như TRIM và RAPID
-Phần mềm phục hồi dữ liệu: Trong trường hợp mất dữ liệu, có các phần mềm
phục hồi dữ liệu như Disk Drill có thể giúp khôi phục dữ liệu từ SSD NVMe