Thẻ SD
Từ trên xuống: SD, miniSD, microSD | |
Loại | Memory card |
---|---|
Encoding | Bit |
Dung lượng |
|
Block size | Variable |
Cơ chế đọc |
|
Cơ chế ghi | Same as Read |
Standard | SD Standard |
Người phát triển | SD Association |
Kích cỡ |
|
Khối lượng |
|
Sử dụng | Portable devices, such as digital cameras and mobile phones (including most smartphones) |
Extended from | MultiMediaCard |
Phát hành | August 1999 |
Secure Digital, viết tắt chính thức là SD, là định dạng thẻ nhớ bộ nhớ không bay hơi độc quyền được phát triển bởi SD Association (tạm dịch: Hiệp hội Thẻ SD, viết tắt: SDA) để sử dụng trong các thiết bị di động.
Các công ty SanDisk, Panasonic (Matsushita Electric) và Toshiba đã cùng nhau đưa ra một tiêu chuẩn mới cho thẻ nhớ vào tháng 8 năm 1999. Được gọi là thẻ nhớ SD, tiêu chuẩn này là một bước tiến so với thẻ nhớ MultiMediaCards (MMC) trước đó.[1] Thẻ nhớ SD đã trở thành một tiêu chuẩn phổ biến trong ngành công nghiệp. Ba công ty này đã thành lập một công ty có tên là SD-3C, LLC, nhằm cấp phép và bảo vệ quyền sở hữu trí tuệ liên quan đến thẻ nhớ SD và các sản phẩm liên quan khác như máy chủ SD.[2]
Sau đó, các công ty đã thành lập Hiệp hội SD (SD Association - SDA) vào tháng 1 năm 2000 nhằm thúc đẩy và đề xuất các tiêu chuẩn cho Thẻ SD. Đây là một tổ chức phi lợi nhuận có khoảng 1.000 công ty thành viên.[3] Hiệp hội này sử dụng một số logo được đăng ký nhãn hiệu, thuộc sở hữu và cấp phép bởi SD-3C, nhằm đảm bảo tuân thủ các thông số kỹ thuật của Thẻ SD và đảm bảo khả năng tương thích cho người dùng.[4]
Lịch sử
[sửa | sửa mã nguồn]Năm 1999, SanDisk, Matsushita và Toshiba đã đồng ý phát triển và tiếp thị Thẻ nhớ kỹ thuật số bảo mật (SD).[5] Thẻ được lấy từ MultiMediaCard (MMC) và cung cấp quản lý quyền kỹ thuật số dựa trên tiêu chuẩn Sáng kiến âm nhạc kỹ thuật số bảo mật (SDMI) và theo thời gian, mật độ bộ nhớ cao.
Nó được thiết kế để cạnh tranh với Memory Stick, một sản phẩm DRM mà Sony đã phát hành năm trước. Các nhà phát triển dự đoán rằng DRM sẽ được sử dụng rộng rãi bởi các nhà cung cấp âm nhạc do những lo ngại liên quan đến vi phạm bản quyền.[6]
Dung lượng lưu trữ và khả năng tương thích
[sửa | sửa mã nguồn]Mỗi thẻ SD cho phép thiết bị chủ biết được dung lượng lưu trữ mà thẻ có và các thông số kỹ thuật của từng loại thẻ SD đảm bảo rằng thiết bị chủ chỉ nhận được dung lượng tối đa mà thẻ báo cáo.
Tuy nhiên, khi phiên bản 2.0 (SDHC) hoàn thành vào tháng 6 năm 2006,[7] nhà sản xuất đã sáng tạo ra các thẻ SD dung lượng 2 GB và 4 GB bằng cách tuân theo Phiên bản 1.01 hoặc thông qua cách đọc sáng tạo Phiên bản 1.00. Kết quả là, một số thiết bị chủ không hoạt động chính xác với các thẻ này.[8][9]
Thẻ SDSC trên 1 GB
[sửa | sửa mã nguồn]Thiết bị chủ có thể yêu cầu từ bất kỳ thẻ SD nào một chuỗi nhận dạng 128 bit được gọi là Dữ liệu đặc biệt của thẻ hoặc CSD. Trong thẻ SD có dung lượng tiêu chuẩn (SDSC), 12 bit được sử dụng để xác định số cụm bộ nhớ (từ 1 đến 4.096), và 3 bit được sử dụng để xác định số khối trên mỗi cụm (có thể được giải mã thành 4, 8, 16, 32, 64, 128, 256 hoặc 512 khối mỗi cụm). Thiết bị chủ sẽ sử dụng các số liệu này, kết hợp với số byte trên mỗi khối, để xác định dung lượng của thẻ tính bằng byte.
Trong phiên bản SD 1.00, giả sử mỗi khối có kích thước là 512 byte. Điều này cho phép thẻ SDSC có dung lượng tối đa là 4.096 cụm bộ nhớ × 512 khối trên mỗi cụm × 512 byte/khối = 1 GB. Điều này đảm bảo rằng không có sự không tương thích đã biết xảy ra.[10] Phiên bản 1.01 cho phép thẻ SDSC sử dụng một trường 4 bit để biểu thị kích thước của mỗi khối là 1.024 hoặc 2.048 byte. Điều này đã cho phép sử dụng các thẻ có dung lượng 2 GB và 4 GB. Ví dụ, có thẻ SD Transcend dung lượng 4 GB và thẻ SD Memorette dung lượng 4 GB được hỗ trợ nhờ tính năng này.[11]
Do đó, ban đầu các thiết bị lưu trữ SDSC giả định rằng mỗi khối có kích thước 512 byte và không hỗ trợ hoàn toàn việc sử dụng thẻ có dung lượng 2 GB hoặc 4 GB. Trong một số trường hợp, thiết bị chủ có thể chỉ có thể đọc dữ liệu trong phạm vi 1 GB đầu tiên của thẻ. Việc thành công của việc đọc dữ liệu trong phạm vi này phụ thuộc vào phiên bản phần mềm trình điều khiển được sử dụng. Ngoài ra, không phải tất cả các thiết bị chủ đều hỗ trợ thẻ SDSC 4 GB do thông số kỹ thuật giới hạn dung lượng tối đa của thẻ SDSC là 2 GB.
Tính toán dung lượng lưu trữ
[sửa | sửa mã nguồn]Định dạng của thanh ghi Dữ liệu dành riêng cho thẻ (CSD) đã thay đổi giữa phiên bản 1 (SDSC) và phiên bản 2.0 (xác định SDHC và SDXC).
Version 1
[sửa | sửa mã nguồn]Trong phiên bản 1 của thông số kỹ thuật SD, dung lượng lên tới 2 GB được tính bằng cách kết hợp các trường trong thanh ghi Dữ liệu dành riêng cho thẻ (CSD) như sau:
Dung lượng = (C_SIZE + 1) × 2(C_SIZE_MULT + READ_BL_LEN + 2) trong đó 0 ≤ C_SIZE ≤ 4095, 0 ≤ C_SIZE_MULT ≤ 7, READ_BL_LEN là 9 (cho 512 byte/sector) hoặc 10 (cho 1024 byte/sector)
Các phiên bản mới hơn của thông số kỹ thuật SD (tại Mục 4.3.2) đã mở rộng rằng thẻ SDSC dung lượng 2 GB sẽ đặt trường READ_BL_LEN (và WRITE_BL_LEN) của nó để biểu thị 1024 byte. Điều này cho phép tính toán dung lượng của thẻ được báo cáo chính xác. Tuy nhiên, để đảm bảo tính nhất quán, các thiết bị chủ sẽ không yêu cầu (bằng CMD16) một độ dài khối lớn hơn 512 byte.[11]
Versions 2 và 3
[sửa | sửa mã nguồn]Trong định nghĩa thẻ SDHC của phiên bản 2.0, phần C_SIZE trong thanh ghi Dữ liệu dành riêng cho thẻ (CSD) là 22 bit và nó chỉ ra kích thước bộ nhớ theo bội số của 512 KB. Trường C_SIZE_MULT đã bị loại bỏ và trường READ_BL_LEN không còn được sử dụng để tính toán dung lượng.[11] Hai bit trước đây được dành riêng trong CSD giờ đây xác định họ thẻ: 0 cho SDSC, 1 cho SDHC hoặc SDXC, và 2 và 3 được bảo lưu. Do các sự thay đổi này, các thiết bị chủ cũ hơn không thể xác định chính xác thẻ SDHC hoặc SDXC cũng như dung lượng chính xác của chúng. Điều này có thể dẫn đến sự không tương thích khi sử dụng các thẻ SDHC hoặc SDXC trên các thiết bị chủ cũ hơn.
- Thẻ SDHC bị hạn chế báo cáo dung lượng không quá 32 GB.
- Thẻ SDXC được phép sử dụng toàn bộ 22 bit trong trường C_SIZE để báo cáo dung lượng. Tuy nhiên, nếu thẻ SDHC sử dụng cách này (bằng cách thiết lập giá trị C_SIZE > 65.375) để báo cáo dung lượng lớn hơn 32 GB, thì đây sẽ là vi phạm thông số kỹ thuật. Một số thiết bị chủ có thể dựa vào trường C_SIZE để xác định dung lượng tối đa mà thẻ có thể hỗ trợ, thay vì tuân theo thông số kỹ thuật. Tuy nhiên, việc sử dụng thẻ SDHC như vậy có thể gây ra lỗi trong các thiết bị chủ tương thích với SDHC khác.
Công suất được tính như sau:
Dung lượng = (C_SIZE + 1) × 524288 trong trường hợp cho SDHC 4112 ≤ C_SIZE ≤ 65375 ≈2 GB ≤ Dung lượng ≤ ≈32 GB trong trường hợp cho SDXC 65535 ≤ C_SIZE ≈32 GB ≤ Dung lượng ≤ 2 TB
Dung lượng trên 4 GB chỉ có thể đạt được khi sử dụng phiên bản 2.0 trở lên của thẻ SD. Đồng thời, cần đảm bảo rằng thẻ có dung lượng tương đương 4 GB đáp ứng khả năng tương thích với các thiết bị khác.
Xem thêm
[sửa | sửa mã nguồn]- So sánh thẻ nhớ
- Bộ nhớ flash
- Microdrive
- Bus giao diện ngoại vi nối tiếp (SPI)
- Universal Flash Storage
Tham khảo
[sửa | sửa mã nguồn]- ^ “Matsushita Electric, SanDisk and Toshiba Agree to Join Forces to Develop and Promote Next Generation Secure Memory Card”. DP Review. ngày 24 tháng 8 năm 1999. Truy cập ngày 23 tháng 2 năm 2016.
- ^ “Welcome to SD-3C, LLC”. SD-3C. ngày 30 tháng 3 năm 2015. Truy cập ngày 23 tháng 2 năm 2016.
- ^ “Matsushita Electric, SanDisk and Toshiba to Form SD Association to Promote Next Generation SD Memory Card”. Toshiba. ngày 30 tháng 3 năm 2015. Truy cập ngày 23 tháng 2 năm 2016.
- ^ “Using SD Memory Cards is Easy”. SD Association. ngày 22 tháng 6 năm 2010. Truy cập ngày 2 tháng 1 năm 2014.
- ^ “Three Giants to develop new "Secure Memory Card"”. DP review. Truy cập ngày 23 tháng 2 năm 2016.
- ^ “Press Releases ngày 17 tháng 7 năm 2003”. Toshiba. ngày 17 tháng 7 năm 2003. Truy cập ngày 22 tháng 8 năm 2010.
- ^ “A look into how SDHC will affect the future Nand Flash market”, DRAMeXchange, tháng 12 năm 2006, Bản gốc lưu trữ ngày 4 tháng 2 năm 2008, truy cập ngày 8 tháng 3 năm 2007
- ^ “SD Compatibility”, Card speed – Card Readers and Memory Cards, HJ Reggel, 1 tháng 12 năm 2006
- ^ “WinXP SP3 cannot read 4GB SD card in multicard reader”. Egg head cafe. Bản gốc lưu trữ ngày 30 tháng 7 năm 2012. Truy cập ngày 22 tháng 8 năm 2010.
- ^ here, 1 GB = 10243 B
- ^ a b c “SD Part 1, Physical Layer Simplified Specification, Version 3.01” (PDF). SD Association. 18 tháng 5 năm 2010. Bản gốc (PDF) lưu trữ ngày 5 tháng 12 năm 2013. Truy cập ngày 25 tháng 11 năm 2013.
Liên kết ngoài
[sửa | sửa mã nguồn]Chính thức
[sửa | sửa mã nguồn]- Official SD simplified specification is free
- Official SD full specification is US$1000 per year
- SD Formatter for SD / SDHC / SDXC cards (Windows and Mac) Lưu trữ 2013-04-23 tại Wayback Machine, SD card
Interfacing
[sửa | sửa mã nguồn]- Interfacing to SD cards, Elm chan
- Interfacing AVR (Arduino) to SD cards, C source code, Dharmani tech
- Interfacing ARM to SD cards, C source code, DE: Uni KL, Bản gốc lưu trữ ngày 9 tháng 1 năm 2013, truy cập ngày 4 tháng 9 năm 2019
- Interfacing MSP430 to SD cards, C source code (PDF), Michigan State University
- Interfacing MAXQ2000 to SD cards, good technical descriptions, C source code, Maxim IC, Bản gốc lưu trữ ngày 21 tháng 11 năm 2009, truy cập ngày 4 tháng 9 năm 2019
- SD card controller, Verilog source code, Open cores