Knotthailand Forum

อัพเดทจากทั่วโลก / GSM UPDATE => EMMC UFS Knowledge => หัวข้อที่ตั้งโดย: Admin เมื่อ ก.ค 18, 2024, 02:08 หลังเที่ยง

ชื่อ: CSD คืออะไรอีกเนี่ย?
โดย: Admin เมื่อ ก.ค 18, 2024, 02:08 หลังเที่ยง
(https://img5.pic.in.th/file/secure-sv1/imagebb820ed0640d4c80.png)

CSD (Card-Specific Data) ใน eMMC (embedded MultiMediaCard) เป็นชุดข้อมูลเฉพาะที่ใช้เพื่ออธิบายคุณสมบัติและความสามารถของการ์ดหน่วยความจำ. CSD เป็นหนึ่งในหลาย ๆ รีจิสเตอร์ที่ใช้ใน eMMC เพื่อตั้งค่าและจัดการกับการ์ดหน่วยความจำอย่างเหมาะสม. ต่อไปนี้คือรายละเอียดสำคัญของ CSD ใน eMMC:

โครงสร้างของ CSD
CSD ประกอบด้วยหลายฟิลด์ที่มีข้อมูลต่าง ๆ เช่น:


การใช้งาน CSD
CSD ถูกใช้งานในการตั้งค่าขั้นต้นและการตรวจสอบความสามารถของ eMMC ในขณะที่เชื่อมต่อกับคอนโทรลเลอร์ โดยทั่วไปแล้ว CSD จะถูกอ่านโดยคอนโทรลเลอร์เพื่อกำหนดวิธีการสื่อสารกับ eMMC อย่างมีประสิทธิภาพ. ข้อมูลที่เก็บอยู่ใน CSD จะช่วยให้คอนโทรลเลอร์รู้ว่า eMMC รองรับคำสั่งใด ความเร็วในการถ่ายโอนข้อมูลเป็นเท่าไร และขนาดของบล็อกข้อมูลที่สามารถอ่านหรือเขียนได้

เพื่อให้หายงง มากขึ้น ต่อไปนี้เรามาลอง ถอดรหัสกันดู EMMC CSD: D02701320F5903FFF6DBFFEF8E40400D
การถอดรหัสค่า CSD:

1.CSD_STRUCTURE (2 bits):
ค่า: D0 (ไบต์แรก)
ค่า 2 บิตที่สำคัญที่สุด (MSB) คือ 11
หมายถึง CSD Version 1.1 (SDHC, SDXC)

2.TAAC (8 bits):
ค่า: 27
เป็นการเข้าถึงข้อมูลอ่าน ใช้ค่าหน่วยต่างๆ ที่ระบุ

3.NSAC (8 bits):
ค่า: 01
ระยะเวลาเข้าถึงข้อมูลเพิ่มเติม

4.TRAN_SPEED (8 bits):
ค่า: 32
ความเร็วในการถ่ายโอนข้อมูล

5.CCC (Card Command Classes) (12 bits):
ค่า: 0F59
คำสั่งที่การ์ดรองรับ

6.READ_BL_LEN (4 bits):
ค่า: 0
ความยาวบล็อกข้อมูลสูงสุดที่สามารถอ่านได้

7.READ_BL_PARTIAL (1 bit):
ค่า: 1
รองรับการอ่านบล็อกแบบบางส่วน

8.WRITE_BLK_MISALIGN (1 bit):
ค่า: 1
การเขียนบล็อกไม่ตรงกัน

9.READ_BLK_MISALIGN (1 bit):
ค่า: 1
การอ่านบล็อกไม่ตรงกัน

10.DSR_IMP (1 bit):
ค่า: 1
รองรับการตั้งค่าลงทะเบียนข้อมูล

11.C_SIZE (12 bits):
ค่า: 03FF
ขนาดของหน่วยความจำ

12.VDD_R_CURR_MIN (3 bits):
ค่า: 6
การใช้งานปัจจุบันต่ำสุด

13.VDD_R_CURR_MAX (3 bits):
ค่า: DB
การใช้งานปัจจุบันสูงสุด

14.VDD_W_CURR_MIN (3 bits):
ค่า: FF
การใช้งานปัจจุบันต่ำสุดขณะเขียน

15.VDD_W_CURR_MAX (3 bits):
ค่า: EF
การใช้งานปัจจุบันสูงสุดขณะเขียน

16.C_SIZE_MULT (3 bits):
ค่า: 8
ขนาดตัวคูณของหน่วยความจำ

17.ERASE_BLK_EN (1 bit):
ค่า: 1
การลบข้อมูลบล็อกเดียว

18.SECTOR_SIZE (7 bits):
ค่า: E4
ขนาดของเซกเตอร์

19.WP_GRP_SIZE (7 bits):
ค่า: 04
ขนาดของกลุ่มที่มีการป้องกันการเขียน

20.R2W_FACTOR (3 bits):
ค่า: 0
ตัวคูณความเร็วในการเขียน

21.COPY (1 bit):
ค่า: 0
ระบุว่าการ์ดเป็นสำเนาหรือไม่

22.PERM_WRITE_PROTECT (1 bit):
ค่า: 0
การป้องกันการเขียนถาวร

23TMP_WRITE_PROTECT (1 bit):
ค่า: 0
การป้องกันการเขียนชั่วคราว

24.CRC (7 bits):
ค่า: 0D
การตรวจสอบความถูกต้องของข้อมูล