Friday, July 26, 2013

Digital Forensics: TRIM

Digital Forensics: TRIM

TRIM  เป็นคำสั่งสำหรับอินเทอร์เฟซ ATA (Advanced Technology Attachment) เมื่อระบบปฏิบัติการต้องการแจ้งให้ SSD ทราบว่าจะทำการลบไฟล์

เพื่อจะได้ทำการลบข้อมูลส่วนนั้นออกไว้ก่อนได้ เพราะว่าหน่วยความจำแฟลชที่นำมาใช้ทำโซลิตสเตตไดรฟ์ส่วนใหญ่นั้นเป็นชนิด NAND ซึ่งไม่สามารถเขียนข้อมูลทับได้ แต่ต้องลบข้อมูลเก่าก่อนแล้วจึงเขียนข้อมูลใหม่ลงไป ดังนั้นการลบข้อมูลออกไปก่อนที่จะมีการเขียนข้อมูลทำให้สามารถเขียนได้ทันทีเมื่อต้องการ ย่อมทำให้การเขียนข้อมูลในโซลิดสเตตไดรฟ์เร็วขึ้นไปด้วย (จากวิกิพีเดีย สารานุกรมเสรี)


TRIM เป็นคำสั่งช่วยเหลือของระบบปฏิบัติการสามารถบอกโซลิดสเตตไดรฟ์ (SSD) ว่าบล็อกข้อมูลใดที่ไม่ต้องการอีกต่อไปและสามารถลบได้หรือทำเครื่องหมายว่าว่างสำหรับการเขียนใหม่ ในคำอื่น ๆ TRIM เป็นคำสั่งที่ช่วยให้ระบบปฏิบัติการทราบได้อย่างแม่นยำว่าข้อมูลที่คุณต้องการย้ายหรือลบถูกเก็บไว้ที่ใด ด้วยวิธีนี้ไดรฟ์โซลิดสเตตสามารถเข้าถึงได้เฉพาะบล็อกที่เก็บข้อมูล นอกจากนี้เมื่อใดก็ตามที่คำสั่งลบ  โดยผู้ใช้หรือระบบปฏิบัติการคำสั่ง TRIM จะเครียหรือลบบล็อกที่จัดเก็บไฟล์ทันที ซึ่งหมายความว่าในครั้งต่อไปที่ระบบปฏิบัติการพยายามเขียนข้อมูลใหม่ในพื้นที่นั้น ไม่จำเป็นต้องรอก่อนที่จะลบมัน

TRIM Command Sent (OSส่งคำสั่ง TRIM)

ต่างจาก Hard Disk Drive (HDD) แบบจานหมุน SSD ไม่สามารถเขียนข้อมูลทับบล็อกที่มีข้อมูลอยู่แล้วได้โดยตรง (ต้องทำการ Erase ทั้ง Block ก่อนเขียนใหม่) OS จึงส่งคำสั่ง TRIM ไปแจ้ง SSD Controller ว่าข้อมูลชุดนี้ไม่ใช้งานอีกต่อไป


SSD
โซลิดสเตทไดรฟ์  Solid State Drives ประกอบไปด้วยชิปหน่วยความจำแฟลช ระบบปฏิบัติการจะต้องสามารถอ่านและจัดการข้อมูลบนชิปเหล่านี้ได้  SSD จะต้องมีวิธีการจัดเรียงข้อมูลนี้ ข้อมูลที่เก็บไว้ใน SSD แบ่งออกเป็นกลุ่มของข้อมูล ในบล็อก
TRIM

การทำงานของ ระบบ TRIM

สีเขียว   = แสดงพื้นที่ที่ยังไม่มีข้อมูล (no data)
สีน้ำเงิน = แสดงพื้นที่ที่มีการเขียนข้อมูล (Write data)
สีแดง =  แสดงพื้นที่ที่ลบข้อมูล

1) SSD แสดงพื้นที่ที่ยังไม่มีข้อมูล   พื้นที่ว่าง ไม่มีข้อมูลอะไรเลย
2) ผู้ใช้งานเขียนข้อมูลลง (Write data)  Solid State Drives
3) ผู้ใช้งานลบข้อมูลบางอย่างในรูปคือลบข้อมูล 2 ช่องที่เป็นสีเเดง ระบบปฎิบัติการทำการใส่สถานะ Not in use ในตำแหน่งที่ถูกลบ (สีแดง)
4) TRIM  ทำการสั่งให้ Controller ทำความเครียในส่วนของข้อมูลที่ลบในช่องเซลล์นั่น คือลบข้อมูลออก
5) ตำแหน่งสีแดงที่ถูกลบออกไป เป็นพื้นที่ว่าง ไม่มีข้อมูลอะไรเลย เพื่อรองรับข้อมูล


Garbage Collection (กระบวนการเก็บขยะและล้างข้อมูล)

ในระหว่างที่เครื่องว่าง (Idle Time) หรือตามรอบการทำงาน SSD Controller จะรันกระบวนการ Garbage Collection (GC):

  • อ่านข้อมูลส่วนที่เป็น Valid Data ไปยังบล็อกใหม่

  • ทำการ Erase (ล้างข้อมูล) ทั้งบล็อกเดิมที่มี Invalid Data อยู่

  • พื้นที่จัดเก็บจะถูกคืนกลับมาเป็น Empty Block พร้อมสำหรับการเขียนข้อมูลใหม่ด้วยความเร็วสูงสุด

Download How to check that trim is active 

Ref:
https://rivervalleygetaway.com/th/productivity/370-what-is-ssd-trim-why-is-it-useful-and-how-to-check-whether-it-is-turned-on.html
https://www.windowscentral.com/how-ensure-trim-enabled-windows-10-speed-ssd-performance


หมายเหตุ:เนื้อหาในเว็บไซต์นี้มีขึ้นเพื่อวัตถุประสงค์ในการให้ข้อมูลและเพื่อการศึกษาเท่านั้น
* หากมีข้อมูลข้อผิดพลาดประการใด ขออภัยมา ณ ที่นี้ด้วย  รบกวนแจ้ง Admin เพื่อแก้ไขต่อไป
ขอบคุณครับ

#WindowsForensic #ComputerForensics #dfir #forensics #digitalforensics #computerforensic #investigation #cybercrime #fraud #DataRecovery #TRIM

No comments:

Post a Comment

Data Breach Check

Data Breach Check Data Breach Check EP.4 “คิด ก่อน Prompt” AI อาจช่วยคุณทำงานได้เร็วขึ้น แต่บางครั้ง…ข้อมูลสำคัญก็อาจ “หลุดออกไป” โดยไม่รู้...