--------------- <> -----------------
--- KHOA HỌC - CÔNG NGHỆ - GIÁO DỤC - VIỆC LÀM ---
--- Học để đi cùng bà con trên thế giới ---

Tìm kiếm trong Blog

CN_1_2_Lợi ích của Mạng

1.2 Lợi ích của hệ thống mạng

Hệ thống mạng đang được mọi người sử dụng mọi lúc, mọi nơi. Ví dụ: trong công việc, ở nhà, trong khi di chuyển.
-         Trong công việc: hệ thống mạng được sử dụng để gửi thư điện tử (email), chia sẻ tập tin (file sharing), dùng chung máy in…v.v.
-         Ở nhà: bạn sử dụng hệ thống mạng để xem phim, nghe nhạc, nói chuyện trực tuyến (bằng văn bản, bằng hình ảnh, âm thanh), xem tin tức, mua bán trực tuyến…v.v.
-         Trong khi di chuyển: hệ thống mạng cho phép bạn thực hiện các cuộc gọi, gửi tin nhắn, chơi trò chơi, xem bản đồ, định vị, theo dõi văn phòng từ xa, giám sát thiết bị từ xa …v.v.
Lý do để xây dựng hệ thống mạng
-         Cung cấp môi trường truyền thông cho người dùng. Nhờ có hệ thống mạng, mọi người có thể giao tiếp với nhau mà không bị giới hạn bởi khoảng cách địa lý. Ví dụ:
o       Thực hiện cuộc gọi để nói chuyện trực tiếp: VoIP (voice–over-IP)
o       Họp từ xa (video conferencing)
o       Nhắn tin dạng văn bản, hình ảnh + âm thanh (instant messaging)
o       Mạng xã hội (social networking)
-         Chia sẻ tài nguyên: cho phép nhiều người dùng cùng chia sẻ một tài nguyên. Ví dụ: băng thông, máy in, cơ sở dữ liệu tìm kiếm của Google, các máy server trên Internet, ...v.v. Việc chia sẻ giúp nâng cao hiệu quả sử dụng các thiết bị và tài nguyên.
Phần tiếp theo trình bày chi tiết một số vấn đề liên quan đến chia sẻ tài nguyên và cung cấp môi trường truyền thông.
Chia sẻ băng thông
Chia sẻ băng thông được thực hiện bằng kĩ thuật ghép kênh thống kê (statistical multiplexing).
Ghép kênh thống kê: là một hình thức chia sẻ băng thông giữa nhiều người dùng chung, dựa trên thống kê nhu cầu sử dụng đường truyền của mỗi người dùng. Ghép kênh là một cách gọi khác của chia sẻ băng thông.
Sử dụng kĩ thuật ghép kênh thống kê để chia sẻ băng thông rất hiệu quả, vì thực tế người dùng không sử dụng hết băng thông đường truyền.
Xét ví dụ sau:
-        Nhà cung cấp dịch vụ internet (ISP) có một đường truyền, băng thông 100Mbps.
-        Các thuê bao cần băng thông 5Mbps để truyền video.
-        Nhu cầu sử dụng đường truyền của mỗi thuê bao là 50% thời gian.
Vậy ISP có thể đáp ứng được nhiều nhất là mấy thuê bao?
Nếu ISP cấp mỗi thuê bao một đường truyền riêng thì số thuê bao tối đa là: 100/5 = 20 (thuê bao).
Tuy nhiên, do thời gian sử dụng đường truyền là 50%, nên xác suất để tất cả các thuê bao cùng sử dụng đường truyền là: 1/2 x 1/2 x 1/2 ... = (1/2)^20 < 1/1 000 000. Nghĩa là, tình huống mà tất cả người dùng cùng sử dụng hết băng thông 5Mbps của họ là một phần một triệu, một tỉ lệ rất nhỏ. Điều này gây ra sự lãng phí băng thông.
Nếu với đường truyền 100 Mbps, bây giờ tăng số thuê bao lên thành 30, chuyện gì sẽ xảy ra?
Quan sát đồ thị kết quả của phân phối nhị phân cho trường hợp có 30 thuê bao.

Ở hình trên:
-        Trục hoành là số thuê bao
-        Trục tung là xác suất các thuê bao cùng truy cập đường truyền
Với đường truyền 100 Mbps, số thuê bao là 30 người thì xác suất có không quá 20 người cùng truy cập một lúc là khoảng 98%, như vậy, xác suất để có hơn 20 người cùng truy cập mạng một lúc chỉ là 2%.
Số lượng người truy cập thông thường là từ 10 tới 20, thường xuyên nhất là 15.
Xác suất để 30 người cùng truy cập một lúc là (1/2)^30. Một tỉ lệ rất nhỏ.
Vậy, với đường truyền 100 Mbps, hoàn toàn có thể phục vụ 30 thuê bao, với băng thông của mỗi thuê bao là 5 Mbps. Phần thuê bao tăng thêm được gọi là độ lợi, ở đây độ lợi là 30/20 hay 1.5X.
Phân phối nội dung
Phân phối cùng một nội dung tới nhiều người dùng là ưu thế của hệ thống mạng. Nội dung có thể là: video, bài hát, phần mềm ứng dụng, bản cập nhật phần mềm, trang web…v.v.
Hệ thống mạng sử dụng kĩ thuật bản sao (replica) để truyền.
Ví dụ: cần truyền nội dung từ máy nguồn (source) tới bốn người dùng (user) khác nhau, nếu không sử dụng kĩ thuật bản sao, thì cần truyền nội dung qua 4 x 3 = 12 chặng (hop). Xem hình vẽ dưới đây.

Nếu dùng kĩ thuật bản sao, thì chỉ cần chuyển nội dung qua 2 + 4 = 6 chặng. Xem hình vẽ dưới đây.

Giao tiếp giữa các máy tính
Hệ thống mạng giúp các máy tính có thể tự giao tiếp với các máy tính khác. Ví dụ: hệ thống thương mại điện tử (e-commerce), hệ thống đặt vé (reservation)…v.v. Trong các hệ thống này, người sử dụng sẽ ra một yêu cầu, sau đó rất nhiều các công đoạn của một giao tác sẽ được các máy tính tự động xử lý.
Kết nối máy tính với các vật dụng khác
Hệ thống mạng cho phép kết nối máy tính với rất nhiều các vật dụng khác để thu thập thông tin từ các bộ phận cảm biến và điều khiển các thiết bị. Ví dụ: webcam, định vị, bản đồ, đóng mở cửa tự động, báo cháy …v.v.
Giá trị của kết nối
Khoảng 1980, Bob Metcalfe đã đưa ra nhận xét về giá trị của kết nối, gọi là “Metcalfe’s Law”. Nội dung của nó là:
-        Giá trị của một mạng có N nút là N^2
-        Với số nút mạng như nhau, “một mạng lớn” có giá trị hơn “nhiều mạng nhỏ”
Ví dụ, hãy so sánh số kết nối của 12 nút mạng trong hai trường hợp ở hình vẽ dưới đây.

Câu hỏi tìm hiểu thêm

  1. Metcalfe’s Law?.

Tham khảo:

[1] Andrew S. Tanenbaum, David J. Wetherall, Computer Networks 5th edition, 2011
[2] David J. Wetherall, Introduction to Computer Networks, www.coursera.org, 2013
-------------------------
2013/6/28

CN_1_1 Tổng quan



Computer networks

1.1 Tổng quan

Trọng tâm môn học

Chúng ta đã rất quen thuộc với việc sử dụng máy tính để vào mạng hàng ngày. Vào mạng để đọc báo, thông tin liên lạc, nghe nhạc, mua bán, chuyển khoản…v.v.
Mô hình dưới đây thể hiện một cách đơn giản nhất hoạt động của hệ thống mạng.


Ví dụ, người dùng ngồi tại các máy tính Client muốn đọc một trang web hoặc nghe một bản nhạc, họ sẽ gửi yêu cầu tới máy tính Server. Khi nhận được yêu cầu Server sẽ gửi trang web hoặc bản nhạc tới người dùng.
Nếu quan sát quá trình sử dụng mạng của người dùng, chúng ta chỉ quan sát được quá trình người dùng mở trình duyệt (Internet Explorer, Mozilla Firefox, Chrome…v.v), nhập địa chỉ của trang web, nhận kết quả gửi về từ Server. Các hoạt động thực sự ở bên trong hệ thống mạng, chúng ta không thể quan sát được. Mục đích của môn học là giúp người học có thể hiểu được hoạt động của hệ thống mạng.
Hệ thống mạng có thể tạm chia thành ba chủ đề (tầng) lớn là: Distributed Systems, Networking và Communication. Chức năng tại mỗi tầng được minh họa trong bảng sau:
Distributed Systems
Hệ thống phân tán. Ví dụ: WWW, internet, intranet, các ứng dụng trên mạng.
Networking
Truyền các gói tin (packet) trên hệ thống mạng.
Communication
Truyền các bit dữ liệu dựa trên tín hiệu (signal).
Môn học sẽ tập trung chủ yếu vào chủ đề Networking, tuy nhiên, cũng đề cập một ít về Distributed System và Communication.

Mục tiêu của môn học

Môn học giúp người học nắm được hai nội dung lớn là:
-         Hoạt động của Internet: giải thích được các tiến trình đã xảy ra khi bạn duyệt web, tìm hiểu về TCP/IP, DNS, HTTP, NAT, VPNs, 802.11…v.v.
-         Các kiến thức cơ bản về hệ thống mạng.
Tại sao kiến thức cơ bản về hệ thống mạng lại quan trọng:
-         Khi có kiến thức cơ bản về hệ thống mạng, bạn có thể hiểu và làm việc được với tất cả các hệ thống mạng khác nhau.
-         Kiến thức nền tảng bao giờ cũng có tính ổn định trong thời gian dài.
-         Có kiến thức cơ bản giúp hiểu về hệ thống hiện tại, đồng thời có thể đề xuất các cải tiến cho hệ thống.
-         Kiến thức cơ bản giúp bạn có cái nhìn toàn diện về hệ thống, từ đó có thể đưa ra giải pháp để giải quyết các vấn đề liên quan đến:
o       Tính tin cậy của dữ liệu truyền trên mạng.
o       Tính thích ứng của hệ thống trước sự phát triển của hệ thống mạng cả về quy mô và dịch vụ.
o       Sử dụng tối ưu băng thông mạng, trong môi trường nhiều người dùng.
o       Bảo đảm an toàn cho hệ thống, dữ liệu trước các mối đe dọa liên quan đến bảo mật.
Internet hiện nay đã rất phổ biến, vì vậy hiểu được hoạt động của Internet sẽ giúp bạn nâng cao hiệu quả khi khai thác, biết được các tác động của Internet đối với đời sống hàng ngày và quan trọng nhất là có nhiều cơ hội tìm kiếm việc làm nếu có kiến thức về hệ thống Internet.
Internet được hình thành vào những năm 1970 với một số lượng nhỏ nút mạng (node), là hệ thống kết nối các máy tính của một số trường đại học và viện nghiên cứu của Mỹ. Tên ban đầu của Internet là ARPANET (Advanced Research Projects Agency Network). Hình sau minh họa tiến trình phát triển về số lượng các nút mạng của Internet.


Ví dụ về một số thay đổi của hệ thống mạng để thích ứng với những thay đổi của môi trường người dùng:
Những thay đổi của môi trường người dùng
Những thay đổi để thích ứng của hệ thống mạng
Sự phát triển nhanh chóng của hệ thống web
Mạng nội dung phân tán (content distribution network)
Sự phát triển của dữ liệu âm thanh, hình ảnh dạng số
Chia sẻ dữ liệu ngang hàng peer-to-peer
Giá thành/đơn vị dữ liệu ngày càng giảm
Hệ thống VoIP
Số lượng kết nối tăng nhanh
IPv6
Sự phát triển của công nghệ không dây
Các thiết bị di động (mobile device)

Ảnh hưởng của Internet đến xã hội

-         Tiếp cận tri thức dễ dàng, miễn phí, ví dụ: hệ thống wikipedia.
-         Thực hiện các giao tác liên quan đến thương mại điện tử dễ dàng, ví dụ: hệ thống PayPal.
-         Hẹn hò, kết bạn trực tuyến, ví dụ: match.com
-         Trao đổi thông tin không bị kiểm duyệt, ví dụ: tor

Ảnh hưởng của Internet đến lĩnh vực kinh tế

Làm xuất hiện các hình thức kinh doanh mới:
-         Google: với dịch vụ quảng cáo có trả tiền thông qua dịch vụ tìm kiếm (adverstising-sponsored search).
-         Amazon: Bán hàng trực tuyến theo kiểu “cái đuôi dài” (long tail), tức là cung cấp cho khách hàng danh sách, trạng thái về tất cả các mặt hàng mà công ty đang có, điều này rất khó thực hiện với các cửa hàng truyền thống.
-         eBay: thị trường trực tuyến, cho phép người mua và người bán thỏa thuận về giá cả, hình thức thanh toán trên mạng.
-         Giao việc cho mạng lưới các cộng tác viên, thực hiện gia công từ xa. Một hình thức tận dụng ưu thế đám đông (crowdsourcing).

Vai trò của hệ thống mạng

-         Chia sẻ tài nguyên: bao gồm chương trình máy tính, thiết bị, dữ liệu.
-         Cho phép nhân viên ở xa có thể truy cập vào hệ thống mạng nội bộ như khi anh ta đang trực tiếp ở trong mạng nội bộ: sử dụng VPN.
-         Cung cấp môi trường trao đổi thông tin: thư điện tử (email), trao đổi trực tiếp dạng văn bản (instant messaging, Twitter), trao đổi trực tiếp bằng giọng nói qua mạng Internet (IP telephony hay Voice over IP), hội nghị truyền hình (video conference).
-         Thương mại điện tử: mua bán qua mạng (e-commerce).
-         Giải trí: nghe nhạc, chia sẻ hình ảnh (youtube), xem phim, đọc báo, đọc sách, trò chơi trực tuyến, truyền hình Internet (IPTV – IP TeleVison).
-         Cung cấp thông tin về các lĩnh vực trong đời sống.
-         Chia sẻ dữ liệu theo kiểu mạng ngang hàng (peer-to-peer): ví dụ BitTorrent.
-         Mạng xã hội (social network): Facebook
-         Máy tính đồng nhất (ubiquitous computing): việc tính toán được thực hiện ở mọi lúc mọi nơi. Ví dụ, các hệ thống nhúng trong các thiết bị: đồng hồ đo nước, đồng hồ đo điện, hệ thống báo cháy, …v.v.

Tác hại của Internet

-         Tính bí mật của thông tin cá nhân không được đảm bảo
-         Tình trạng vi phạm bản quyền
-         Tình trạng người sử dụng bị theo dõi ngầm
-         Không kiểm tra được tính chính xác của thông tin trên mạng

Câu hỏi tìm hiểu thêm

  1. So sách sự khác nhau giữa distributed system và computer network?.
  2. Tìm hiểu về ubiquitous computing, power-line network, RFID.
  3. So sánh fixed wireless network và mobile wireless network?

Tham khảo:

[1] Andrew S. Tanenbaum, David J. Wetherall, Computer Networks 5th edition, 2011
[2] David J. Wetherall, Introduction to Computer Networks, www.coursera.org, 2013

Đĩa cứng - 10 - LFN Directory Entry

(tiếp theo của Đĩa cứng 9)



Mối quan hệ giữa Root Directory (hoặc Directory) – Directory Entry – FAT Structure và vùng Data

Mối quan hệ giữa Root Directory (hoặc Directory) – Directory Entry - FAT Structure và vùng Data được minh họa trong hình sau:



Trong đó, mỗi thư mục hoặc tập tin (gọi chung là tập tin) sẽ có một cấu trúc dữ liệu để mô tả nó, gọi là Directory Entry. Directory Entry chứa tên tập tin, kích thước, địa chỉ (cluster) bắt đầu của nội dung tập tin trong vùng Data và một số thông tin khác.
Các Directory Entry được lưu trong vùng Root Directory hoặc Directory.
Nội dung của tập tin được lưu trong các khối dữ liệu gọi là các cluster. Nếu tập tin được lưu trong nhiều hơn một cluster, thì các cluster còn lại của tập tin sẽ được tìm thấy trong FAT Structure.
Như trong hình vẽ, từ Root Directory hệ thống biết được tập tin TTin2.txt bắt đầu tại Cluster số 6 trong vùng Data, dò trong FAT Structure, xác định được tập tin TTin2.txt  nằm trên ba cluster là cluster số 6, 7 và 9. Đọc ba cluster này sẽ được nội dung của tập tin TTin2.txt.

Directory Entry cho tập tin có tên dài

Directory Entry bình thường chỉ hỗ trợ tên tập tin dài nhất là tám kí tự, phần mở rộng là ba kí tự. Các tên tập tin dài hơn tám kí tự hoặc các tên tập tin có chứa các kí tự đặc biệt sẽ sử dụng một  loại Directory Entry khác, được gọi là LFN Directory Entry. LFN là viết tắt của Long File Name.
Mỗi tập tin sẽ có một Directory Entry bình thường (Short Directory Entry), nếu có các LFN Directory Entry, thì các Entry này sẽ được đặt trước Directory Entry bình thường.
Các trường của một LFN Directory Entry được mô tả trong bảng sau:
Byte thứ
Mô tả
0-0
Chỉ số của Entry, hoặc trạng thái cấp phát (0xE5 nếu chưa được cấp phát)
1-10
Kí tự thứ 1-5 của tập tin (Unicode)
11-11
Byte thuộc tính (xem bảng về Byte thuộc tính)
12-12
Chưa sử dụng
13-13
Giá trị Checksum
14-25
Kí tự thứ 6-11 của tập tin (Unicode)
26-27
Chưa sử dụng
28-31
Kí tự thứ 12-13 của tập tin (Unicode)
Chỉ số của Entry được sử dụng để đếm số lượng các Entry cần thiết để lưu tên tập tin, Entry đầu tiên có chỉ số là 1. Chỉ số này được tăng lên một đơn vị khi có thêm một Entry cho tới Entry cuối cùng. Chỉ số trong Entry cuối cùng được OR với 0x40.
Các LFN Entry của một tập tin được đặt trước các Entry bình thường, theo thứ tự ngược. Vì vậy, LFN Entry đầu tiên tìm thấy trong Root Direcotry hoặc Directory sẽ là LFN Entry cuối cùng của tập tin và có chỉ số lớn nhất. Các vị trí để lưu các kí tự của tập tin nếu không sử dụng hết sẽ được chèn kí tự NULL, sau đó là các giá trị 0xFF.
“Byte thuộc tính” của LFN Entry có giá trị 0x0F.
Giá trị Checksum được tính dựa trên tên tập tin dạng ngắn, các LFN Entry của cùng một tập tin sẽ có giá trị Checksum giống nhau.
Ví dụ, hình dưới đây là trích một phần nội dung của Root Directory, tại sector 31 985 và sector 31 986.





Bảng dữ liệu gồm ba Entry, trong đó hai Entry đầu có Byte thuộc tính là 0x0F (tại offset 0x1EB và offset 0x0B), nên nó là LFN Entry. Entry thứ ba là một Entry bình thường.
Tại Entry đầu tiên, chỉ số của Entry mang giá trị 0x42, như vậy, giá trị của chỉ số Entry khi chưa OR với 0x40 là 2, có thể kết luận tập tin có hai LFN Entry. Trường Checksum mang giá trị 0xB8.
Năm kí tự đầu tiên của Entry này (offset 0x1E1 – 0x1EA) là “alat.” (dấu “.” có mã ASCII là 0x2E), vùng kí tự kế tiếp trong Entry này (offset  0x1EE – 0x1F3) là “txt”, sau đó là kí tự NULL và các giá trị 0xFFFF, vùng kí tự cuối cùng cũng bao gồm các giá trị 0xFFFF. Như vậy, phần cuối của tên tập tin đã được xác định là “alat.txt”.
Entry thứ hai, bắt đầu tại offset 0x00, sector 31 986, cũng được đánh dấu là LFN Entry. Chỉ số của Entry này mang giá trị 1. Giá trị Checksum cũng giống với Entry đầu tiên, 0xB8. Các trường kí tự tìm được trong Entry này là: “TenTa”, “pTinDa”, “iD”. Vì chỉ số của Entry là 1 nên đây là Entry cuối cùng tìm được. Vậy, tên tập tin đầy đủ là “TenTapTinDaiDalat.txt”.
Tên tập tin này ở dạng ngắn được lưu trong Entry thứ ba, nó là một Entry bình thường và có tên là “TENTAP~1.TXT”.

Tìm các cluster thuộc về một tập tin (trong FAT Structure)

Từ các Entry trong Root Directory hoặc trong Directory, xác định được cluster bắt đầu vùng dữ liệu của tập tin (hay thư mục). Giá trị cluster này cũng chính là chỉ số của Entry bắt đầu của tập tin trong FAT Structure, từ Entry bắt đầu này, theo liên kết của FAT Structure sẽ tìm được tất cả các cluster thuộc về tập tin.
Như vậy từ giá trị cluster bắt đầu, phải xác định được vị trí của Entry tương ứng trong FAT Structure.
Gọi giá trị cluster bắt đầu là N.
Khi đó địa chỉ Offset tương ứng của N trên FAT Structure (kí hiệu: FATOffset) được tính bằng công thức:

FATOffset = N *4

Đơn vị tính của FATOffset là byte. Mỗi Entry trong FAT32 có kích thước 4 byte.
Từ FATOffset, tính chỉ số sector tương ứng trong FATStructure (kí hiệu: ThisFATSecNum):

ThisFATSecNum = ResvdSecCnt + RoundUp(FATOffset / BytsPerSec)
Trong đó:
-         ResvdSecCnt: số sector vùng Reserved.
-         BytsPerSec: kích thước của một sector (byte)
-         RoundUp: “làm tròn lên” kết quả của phép chia.

Tính địa chỉ Offset trong sector (kí hiệu: ThisFATEntOffset)

ThisFATEntOffset = FATOffset % BytsPerSec
Trong đó: “%” là phép chia lấy phần dư.
Ví dụ, xét một Entry trong Root Directory sau:




Byte thứ 20-21 chứa giá trị byte cao của cluster bắt đầu “04 00”, và byte thứ 26-27 chứa byte thấp của cluster bắt đầu “32 08”. Vậy, giá trị của cluster bắt đầu là 0x00040832, đổi sang hệ thập phân là 264242.
Tính địa chỉ Offset tương ứng của N trên FAT Structure
Ta có N = 264 242,
Vậy, FATOffset = 264 242 * 4 = 1 056 968 (byte)
Tính số sector tương ứng trong FAT Structure
ThisFATSecNum = 38 + (1 056 968 / 512) = 38 + 2065 = 2103
Tính số sector vật lý tương ứng trong FAT Structure
2103 + 63 = 2166
Tính địa chỉ Offset trong sector
ThisFATEntOffset = 1 056 968 % 512 = 200
Lưu ý
Do FAT Structure sử dụng từ Entry số 2 trở đi (Entry số 0 và số 1 không sử dụng), nên vị trí vật lý của các Entry sẽ phải tịnh tiến lên 8 byte.
Nội dung của sector vật lý 2166 được thể hiện trong hình sau.





Giá trị của Entry 264 242 trong FAT Structure là vùng tô màu đỏ ở hình trên, có giá trị 0x0FFFFFFF (giá trị của EOF).
Nghĩa là dữ liệu của tập tin TENTAP~1.TXT chứa trong một cluster, đó là cluster 264 242.

Đọc nội dung của tập tin trong vùng Data khi biết cluster bắt đầu

Để đọc nội dung của tập tin trong vùng Data khi biết cluster bắt đầu:
-         Xác định chuỗi các cluster thuộc về tập tin (đọc FAT Structure).
-         Tính sector bắt đầu khi biết giá trị cluster.
-         Đọc từng cluster dựa trên sector bắt đầu.

Tính sector bắt đầu khi biết giá trị cluster

Nếu biết giá trị cluster (kí hiệu: N) bất kì, có thể tính được sector bắt đầu (sector tương đối) của cluster đó bằng công thức sau:
FirstSectorOfCluster = ((N – 2) * SecPerClus) + FirstDataSector
-         FirstSectorOfCluster: sector bắt đầu của cluster
-         SecPerClus: số sector/cluster
-         FirstDataSector: sector đầu tiên của cluster số 2 trong vùng Data
Ví dụ, giá trị của cluster bắt đầu N = 0x00040832, đổi sang hệ thập phân là 264242.
Áp dụng công thức trên:
FirstSectorOfCluster = ((264 242 - 2) * 4) + 31 920 = 1 088 880.
Vậy sector vật lý là: 1 088 880 + 63 = 1 088 943.
Đọc sector vật lý 1 088 943 sẽ được phần nội dung đầu tiên của tập tin, như hình dưới đây.




LGC.
-------------------------------------------
Cập nhật 27/4/2013
------------------------------

 Tham khảo:

[3] FAT32_Hardware White Paper
[5] Brian Carrie, File System Forensic Analysis, Addison Wesley Professional, 2005