Tổng quan về đĩa cứng và các cách khắc phục bad sector...

Thảo luận trong 'Tàng kinh các' bắt đầu bởi NGHIEN_VT, 25/8/04.

Trạng thái chủ đề:
Không mở trả lời sau này.
  1. NGHIEN_VT

    NGHIEN_VT Thành viên mới nhất

    Bài viết:
    237
    Nơi ở:
    Việt Nam, Tp.Hồ Chí Minh
    Tổng quan về Ổ cứng - Hard Disk Drive (HDD)


    I. Giới thiệu về ổ cứng IDE (Intergrate Drive Electronics):

    A. Cấu trúc vật lý của ổ cứng:

    Ổ cứng (Harddisk driver) là một kiểu thiết bị lưu trữ dữ liệu (storage device). Mục đích chính của các nhà sản xuất trong việc chế tạo ra thiết bị này đó chính là lưu trữ dữ liệu. Mục đích chính của các nhà sản xuất trong việc chế tạo ra thiết bị này đó chính là lưu trữ dữ liệu và để thay thế đĩa mềm (tại thời điểm HDD ra đời chưa có các loại ổ đĩa quang như CD-ROM hay ZIP). Có một số nhược điểm làm hạn chế tiện ích và độ tin cậy của đĩa mềm. Ngay cả các ổ đĩa mềm tốt nhất cũng quá chậm khi đọc/ghi dữ liệu, lại tiêu thụ điện năng nhiều so với các thiết bị khác trong máy tính. Ổ đĩa mềm còn bị hạn chế về dung lượng lưu trữ, việc chuyển đỗi giữa nhiều đĩa là cách làm bất tiện và không tin cậy. Nhu cầu về một thiết bị lưu trữ lớn và cố định đã làm nảy sinh ra ổ đĩa cứng (ổ cứng) vào những năm đầu của thập kỷ 80. Đương nhiên khả năng lưu trữ lớn lại đẩy mạnh hơn nữa sự phát triển của máy tính. Hiện nay ổ cứng là một thiết bị chuẩn trong các loại máy tính.

    Cấu tạo của ổ cứng:
    Bộ khung
    Đĩa từ
    Các đầu đọc/ghi
    Bộ dích chuyển đầu từ:
    Mô tơ trục quay
    Các loại mạch điện của ổ cứng

    1. Bộ khung:
    Bộ khung cơ khí rất quan trọng đối với hoạt động chính xác của ổ đĩa cứng, ảnh hưởng đến sự hợp nhất về cấu trúc, về nhiệt và về điện của ổ đĩa. Khung cần phải cứng và tạo nên một cái nền vững chắc để lắp ráp các bộ phận khác. Các ổ đĩa cứng thường dùng khung nhôm đúc, nhưng các ổ cứng loại nhỏ của máy tính xách tay thường dùng vo plastic. Vật liệu vỏ cụ thể phụ thuộc vào yếu tố hình dạng (form factor) tức là kích thước của ổ cứng.

    2. Đĩa từ
    Đĩa từ của ổ cứng là các đĩa bằng nhôm, thuỷ tinh, hoặc sứ có chế độ hoạt động tương đối năng. Đĩa được chế tạo rất đặc biệt giúp cho nó có khả năng lưu trữ tốt, an toàn và không bị “nhão” (nhả từ) như các thiết bị đọc ghi bằng từ tính khác (tuy nhiên cũng có một số loại đĩa từ sản xuất không đạt tiêu chuẩn qua thời gian có hiện tượng bị “nhão”). Đĩa được phủ vật liệu từ ở cả hai mặt (môi trường lưu trữ thực) và bao bọc bằng lớp vỏ bảo vệ. Sau khi đã hoàn tất và đánh bóng, các đĩa này được xếp chồng lên nhau và ghép nối với môtơ quay; có một số loại đĩa cứng chỉ có một đĩa từ. Trước khi chồng đĩa được lắp cố định vào khung, cơ cấu các đầu từ được ghép vào giữa các đĩa.

    3. Các đầu đọc ghi
    Trước kia các đầu đọc/ghi của ổ đĩa cứng thường được chế rao như trong ổ đĩa mềm, lõi sắt mềm cộng với 8 đến 34 (hoặc hơn) vòng dây đồng mảnh. Các đầu từ này có kích thước lứon và tương đối năng làm hạn chế số rãnh có thể có trên mặt đĩa mà hệ thống chuyển dịch đầu từ phải khắc phục.
    Hiện nay, các thiết kế đầu từ đã loại bỏ các kiểu quấn dây cổ điển mà dùng loại đầu từ màng mỏng. Nó được chế tạo giống như vi mạch dùng công nghệ quang hóa. Do kích thước nhỏ và nhẹ nên độ rộng của rãnh ghi cũng nhỏ hơn và thời gian dịch chuyển đầu tư nhanh hơn.
    Trong cấu trúc tổng thể, các đầu đọc/ghi này được gắn vào các cánh tay kim loại dài điều khiển bằng các môtơ. Các vi mạch tiền khuếch đại của đầu từ thường được gắn trên tấm vi mạch in nhỏ nằm trong bộ dịch chuyển đầu từ. Toàn bộ cấu trúc này được bọc kín trong hộp đĩa. Hộp được đậy kín bằng nắp kim loại có gioăng lót.

    4. Bộ dịch chuyển đầu từ:
    Nhiều loại đĩa cứng sử dụng môtơ cuộn dây di động (voice coil motor) còn gọi là môtơ cuộn dây quay (rotary coil) hoặc servo để điều khiển chuyển động của đầu từ. Các môtơ servo có kích thước nhỏ, nhẹ rất thích hợp với ổ cứng nhỏ gọn và có thời gian truy cập nhanh.
    Thách thức lớn nhất trong việc điều khiển đầu tư là giữ cho được nó đúng ngay tâm rãnh mong muốn. Nói cách khác là các nhiễu loại khí động học, các hiệu ứng nhiệt trên đĩa từ và các biến thiên của dòng điều khiển môtơ servo có thể gây nên sai số trong việc điều định vịi đầu từ. Vị trí của đầu từ phải luôn luôn được kiểm tra và điều chỉnh kịp thời để đảm bảo vị trí rãnh thật chính xác. Quá trình hiệu chỉnh đầu từ theo rãnh gọi là phương pháp servo đầu tư. Cần có thông tin để so sánh vị trí thực và vị trí mong muốn của đầu tư.
    Thông tin servo dành riêng (Dedicated servo information) được ghi trên mặt đĩa từ dự trữ.
    Thông tin servo nhúng (Embedded servo information) lại được mã hoá thành các chùm dữ liệu ngắn đặt trên từng sector
    Hệ thống servo sử dụng sự lệch pha của các xuung tín hiệu của các rãnh kế cận để xác định đầu từ có được đặt đúng giữa rãnh hay không.[/I]

    5. Môtơ trục quay:
    Một trong những yếu tố xác định chất lượng của ổ cứng là tốc độ mà đĩa từ lướt qua dưới đầu đọc/ghi. Đĩa từ lướt qua đầu từ với tốc độ khá cao (ít nhất là 3600 vòng/phút). Môtơ trục (spindle môtơ) có chức năng làm quay các đĩa từ. Môtơ trục là loại môtơ không có chỗi quét, chiều cao thấp, dùng điện một chiều, tương tự như môtơ trong ổ đĩa mềm. Khi môtơ được cấp điện, một từ trường được tạo ra trong các cuốn dây môtơ. Khi điện cắt, năng lượng từ trường lưu trữ trong các cuộn dây môtơ được giải phóng dưới dạng xung điện thế ngược. Kỹ thuật Hãm động (dynamic braking) sẽ sử dụng năng lượng của xung điện thế ngược đó để làm dừng đĩa lại.

    Các mạch điện tử của ổ cứng
    Nhìn thẳng vào ổ cứng bộ phận đầu tiên mà chúng ta thấy chính là bo mạch điều khiển. Ổ đĩa cứng được điều khiển bởi các mạch điẹn tử tương đối phức tạp. Mạch điện tử được gắn dưới bộ khung và chứa hoàn toàn các mạch cần thiết để truyền tải các tín hiệu điều khiển và dữ liệu với bộ giao diện vật lý riêng, điều khiển đầu đọc/ghi, thực hiện đọc/ghi theo yêu cầu và để quay các đĩa từ. Mỗi một chức năng kể trên phải được thực hiện hoàn hảo với độ chính xác cao. Bo mạch điều khiển này bao gồm bộ chip controller, chip input/output IO, bộ nhớ đệm cho ổ cứng (HDD cache), một ổ cắm nguồn 5+ 5- 12- 12+, và chân cắm chuẩn IDE 39/40 chân. Đối với các thế hệ ổ cứng trước đây bộ nhớ đệm rất thấp chỉ có từ 512kb trở xuống còn với các thế hệ ổ cứng hiện đại sau này thì số lượng cache rất cao từ 1Mb trở lên. Trong bo mạch của ổ cứng thì motor, chip controller và bộ nhớ đệm đóng vai trò rất quan trọng. Bộ nhớ đệm càng cao thì tốc độ truy xuất dữ liệu trên ổ cứng sẽ nhanh hơn rất nhiều và vấn đề sai sót dữ liệu cũng rất thấp. Tương tự, tốc độ quay của motor và khả năng điều khiển của bộ controller cũng không kém phần quan trọng, nếu tốc độ của ổ cứng (rpm - revolution per minute - số vòng trên phút) càng cao thì tốc độ truy xuất dữ liệu sẽ càng nhanh.

    Các khái niệm của ổ cứng:
    Rãnh (track)
    Cung từ (Sector)
    Xi lanh (Cylinder)
    .....

    -Track (rãnh) :
    Có thể coi mỗi mặt đĩa cứng là một trường hai chiều: cao và rộng. Theo kiểu hình học này thì dữ liệu được ghi vào các vòng tròn đồng tâm, phân bố từ trục quay ra tới rìa đĩa. Mỗi vòng trong đồng tâm trên đĩa gọi là track. Thông thường,mỗi đĩa có từ 312 đến 2048 rãnh. Track là một tập hợp bao gồm một số sector nhất định nhưng dung lượng từng track khác nhau có độ lớn từ trong ra ngoài (Track 0>track 1 >track 2 >…>track N>track N+1)

    Sector (cung từ): Mỗi track là một vòng tròn dữ liệu có tâm là tâm của trục quay đĩa từ. Một track chia thành rất nhiều cung, người ta gọi các cung này là sector (cung từ). Sector là vùng vật lý chứa dữ liệu nhỏ nhất trong ổ cứng kể cả khi đọc và ghi. Thông thường thì 1 sector chứa được 512 byte dữ liệu (US Windows). Mỗi track đều chia thành một lượng sector nhất định. Tuy nhiên, vì các track bên ngoài bao giờ cũng lớn hơn các track phía trong (gần trục) cho nên càng vào sâu các track phía trong thì dung lượng mà 1 sector có thể chứa được càng thấp.

    Cấu trúc của sector :
    -Sector header (thông tin cơ bản) : lưu trữ các thông tin về vị trí đầu đọc, cylinder, và số thứ tự vật lý của sector. Nó cũng đảm nhận luôn nhiệm vụ xác định sector có sử dụng được hay không hoặc sector nào sẽ lưu dữ liệu thay cho sector này. Thông tin cuối cùng mà sector header cung cấp chính là giá trị của việc kiểm tra lỗi dữ liệu tuần hoàn (hay còn gọi là lỗi chẵn lẽ CRC), giá trị này giúp cho các chương trình xác định được sector header có chính xác hay không.
    -Góc rỗng (GAP) : đối với một sector sự có mặt của góc rỗng là rất cần thiết. Góc rỗng cung cấp cho đầu đọc/ghi một khoảng thời gian nhất định để nó có thể chuyển từ việc đọc dữ liệu trên sector sang ghi dữ liệu. Khi đọc dữ liệu, đầu từ sẽ bỏ qua góc rỗng.
    -Dữ liệu: Thông thường khi ta format đĩa cứng duới nền Windows hoặc DOS thì một sector có thể chứa được 512 byte dữ liệu. Phần cuối cùng của vùng dữ liệu này chứa thông tin về mã sửa lỗi (ECCs), dùng cho việc phát hiện và sửa lỗi.
    - Góc rỗng mở rộng (Inter-GAP): Có gì khác nhau giữa “Góc rỗng” và “Góc rỗng mở rộng” (GAP và Inter-GAP) ? Góc rỗng cung cấp cho đầu từ một khoảng thời gian nhất định đễ đầu từ chuyển đổi từ việc “đọc dữ liệu ” sang “ghi dữ liệu” trên cùng 1 sector. Còn Góc rỗng mở rộng thì cung cấp cho đầu đọc 1 khoản thời gian nhất định để đầu đọc có thể chuyển từ việc “ghi trên 1 sector này” sang “đọc sang sector kết tiếp”. Tương tự như Gócrỗng, khi đọc dữ liệu đầu đọc bỏ qua Góc rỗng mở rộng.

    -Cylinder bao gồm những track có chung một tâm và đồng trục nằm trên những mặt đĩa từ.

    -Số sector trên một track: khi sản xuất ra đĩa cứng nhà sản xuất luôn ghi rõ ràng những thông số liên quan đến ổ cứng trong đó có phần số sector trên một track (sector per track). Những ổ cứng hiện đại ngày nay sử dụng rất nhiều kích cỡ khác nhau trên từng track. Ổ cứng ghi và đọc theo nguyên tắc từ ngoài vào trong trên mặt đĩa từ. Các track nằm ngoài cùng thì bao giờ cũng có nhiều không gian cho sector hơn là các track nằm sâu ở bên trong (gần tâm đĩa từ). Do đó những phần dữ liệu nằm trên sector và track đầu tiên của ổ cứng bao giờ cũng được truy xuất nhanh nhất.

    Đầu đọc (head) và motor trợ động (servo-motor): Trên mỗi mặt đĩa từ của ổ cứng thì đều có một đầu đọc (head) riêng biệt những đầu đọc này có vai trò đọc/ghi dữ liệu lên bề mặt đĩa từ. Trước đây những loại ổ cứng cũ đều sử dụng loại motor dịch chuyển (step-motor) để di chuyển đầu đọc. Loại motor này làm tốn rất nhiều thời gian và rất mau hư vì thế ngày nay người ta không còn sản xuất những loại ổ cứng như thế mà thay vào đó là những loại ổ cứng được thiết kế “motor trợ động” (servo-motor) có cấu trúc đơn giản hơn motor dịch chuyển rất nhiều và thời gian dịch chuyển nhanh đồng thời rất ít bị hư hại. Motor trợ động đóng một vai trò rất quan trọng trong việc đọc ghi của đầu đọc. Tốc độ của motor trợ động phải đồng bộ với tốc độ của motor chính (motor quay đĩa từ) nếu không sẽ không thể đọc chính xác được dữ liệu. Cấu trúc motor trợ động khá đơn giản nó không như một motor thông thường mà chỉ đơn thuần là một bộ phận chuyển động có giới hạn trong một góc quay nhất định. Motor trợ động chỉ là một bộ khung có quấn cuộn cảm phát sinh lực từ để chuyển động và một nam châm có lực hút rất mạnh được gắn vào khung điều khiển của đầu đọc. Ở trạng thái binh thường không hoạt động motor trợ động sẽ tự động đưa đầu đọc vào khoang trống, một khoảng không trống có khung bảo vệ bên ngoài các đĩa từ, để tránh rủi ro tối đa cho các đầu đọc cực nhỏ được gắn trên cần đọc. Bên trong ổ cứng là một môi trường chân không hoàn toàn và chống ẩm. Giữa đầu đọc và mặt đĩa từ có một khoảng không gian cực nhỏ có thể nói là siêu nhỏ. Ở đây tôi cũng xin khẳng định lại là “ở giữa mặt đĩa từ và đầu đọc là một khoảng không gian siêu nhỏ trong môi trường chân không bên trong ổ cứng” chứ không phải là “giữa ổ cứng và đầu đọc có một lớp đệm không khí hoặc lớp đệm từ trường” như một số bài báo và sách đã đề cập đến. Tốc độ motor quay đĩa từ rất cao khi quay sẽ tạo ra gió nếu như ta mở nắp đậy ổ cứng ra, nếu có không khí bên trong ổ cứng thì khi đĩa từ quay với tốc độ cao như thế sẽ tạo gió làm rung và có thể thổi bay luôn cả những đầu đọc đồng thời trong không khí có rất nhiều bụi bẩn trong khi đó mặt đĩa từ phải luôn luôn sạch bóng. Do đó bên trong ổ cứng phải là môi trường chân không. Ổ cứng là một thiết bị lưu trữ dữ liệu bằng từ tính, đầu từ đọc và ghi bằng từ tính và mặt đĩa từ cũng có độ nhạy từ rất cao như thế thì không thể nào ở giữa đầu đọc và đĩa từ lại có thêm một lớp đệm từ trường như là “xe lửa cao tốc” được.

    Tốc độ quay của motor chính (motor quay đĩa từ): Thông thường thì các loại đĩa cứng hiện nay có tốc độ quay từ 5200rpm đến 7200rpm. Không chỉ có thế trên thị trường hiện nay đã có những loại ổ cứng chuyên dụng “đụng nóc” với khả năng có tốc độ đến 10000rpm. Tốc độ quay giữ một vai trò thiết yếu đến tốc độ truy xuất dữ liệu của ổ cứng, quay càng nhanh thì đọc và ghi càng nhanh nhưng như thế cũng đồng nghĩa là ổ cứng sẽ kêu to hơn và mau nóng hơn. Khi ổ cứng nóng lên (có nghĩa là đĩa từ cũng sẽ nóng lên theo) sẽ làm cho lực từ bị hao hụt và “nhiễu” lúc đó dữ liệu đọc và ghi sẽ có rất nhiều vấn đề. Với những loại ỗ cứng có tốc độ cao như thế này thì các nhà sản xuất luôn khuyến cáo người tiêu dùng nên trang bị thêm quạt giải nhiệt để kéo dài tuổi thọ và dữ liệu của ổ cứng. Nhờ có tốc độ cao như thế mà các ổ cứng thế hệ sau này đều có khả năng đọc hết tất cả mọi sector trên cùng một track chỉ bằng một vòng quay. Tốc độ của motor quay đĩa từ luôn luôn là một hằng số, nếu nó bị thay đổi có nghĩa là ổ cứng đó không thể sử được nữa.

    Thời gian tìm, thời gian chuyển đầu đọc và thời gian chuyển cylinder: Cách tổ chức dữ liệu trên ổ cứng là cách tổ chức dữ liệu có tính liên tục do đó khi bộ controller phát lệnh seek (tìm kiếm) thì bộ controller sẽ chờ đầu đọc một khoảng thời gian nhất định để đầu đọc tìm ra đúng track,sector. Thời gian đó gọi là thời gian dùng để xác định vị trí (tìm kiếm ra sector,track). Tuy nhiên đối với một số ổ cứng (đặc biệt là chuẩn SCSI ) đôi khi thực thi lệnh seek không chính xác. Bộ controller của những ỗ đĩa này chỉ đưa đầu đọc đến sector hoặc track gần đến vị trí xác định hoặc sẽ không di chuyển đầu đọc mà chỉ để yên ở đó. Vì “cách lưu trữ dữ liệu của ổ cứng có tính liên tục” nên thời gian để đầu đọc chuyển từ sector này sang sector kế tiếp hoặc từ track này sang track kết tiếp sẽ rất nhanh và ngược lại nếu đang đọc ở sector 1 track 0 sang sector 13 track 3 thì sẽ mất rất nhiều thời gian ! Chính vì điều này mà thời gian tìm một file trên một ổ cứng có dung lượng càng nhỏ thì càng nhanh và ngược lại. Thời gian chuyển cylinder là thời gian để đầu đọc chuyển từ track này sang track khác. Thời gian được tính theo đơn vị mili-giây (ms).

    Thời gian tìm sector trên 1 track xác định (Rotational latency): hay còn gọi là “góc trễ quay”: khi đầu đọc đã tìm được track xác định, bộ controller tiếp tục thực hiện việc tìm sector trên track này. Lúc này đầu đọc sẽ không di chuyển nữa mà sẽ đứng yên trong lúc đó đĩa từ quay liên tục cho đến khi nào đầu đọc xác định được vị trí sector mà nó cần tìm. Thời gian để làm công vịêc này gọi là “Thời gian tìm sector trên 1 track xác định“ - Rotational latency. Tốc độ của ổ cứng càng nhanh thì thời gian tìm sector trên 1 track càng ít. Thời gian trung bình mà đầu đọc tìm ra sector chính xác trên 1 track là 4ms(7200rpm) đến 6ms(5400rpm)

    Thời gian truy cập dữ liệu (Data Access time): Thời gian truy cập dữ liệu là tổng thời gian tìm kiếm, chuyển đầu đọc và tìm sector trên 1 track xác định. Nói như thế là vì đầu tiên bộ controller phải xác định vị trí để đưa đầu đọc đến vị trí trên cylinder cần tìm. Sau đó khi dữ liệu đã được đọc hoặc ghi thì cần thêm thời gian để chuyển đầu đọc để tìm ra track và cuối cùng sau khi xác định được track thì phải tốn thêm một ít thời gian cho việc tìm ra đúng sector trên track đó.

    Cluster: (chỉ dành riêng cho FATx File System): là đơn vị lưu trữ cơ bản được chỉ định của đĩa từ. Cluster bao gồm 1 hoặc nhiều sector. Không gian lưu trữ của ổ cứng được xác định dựa trên những cluster, cho dù đó là một file (hoặc một phần của file) chỉ chiếm dụng một phần hoặc toàn bộ không gian của cluster thì điều đó cũng được coi là đã sử dụng một phần không gian của ổ cứng. Hiếm khi nào dung lượng của một file vừa bằng tổng dung lượng một số cluster. Nói như thế là vì thông thường cluster cuối cùng lưu trữ một phần dữ liệu của file thường chứa luôn cả những không gian trống không dùng đến mà người ta vẫn thường gọi là “không gian rỗng” ở phần cuối của cluster. Ta thử làm một phép tính đơn giản để minh hoạ vấn đề này:

    Cho 1 cluster = 4 KB; ta có 1 file test.txt dung lượng 14 KB như vậy khi ta lưu file test.txt xuống đĩa cứng file này sẽ được tách thành 4 cluster lần lượt là :
    Cluster 1 -> 4KB đầu tiên
    Cluster 2 -> 4KB tiếp theo
    Cluster 3 -> 4KB tiếp theo
    Cluster 4 (cluster cuối cùng) -> lưu trữ 2KB còn lại và 2KB bị bỏ trống.

    2KB bỏ trống này không thuộc về bất cứ file nào, không lưu bất cứ dữ liệu nào vì cluster 4 đã được chỉ định thuộc về file test.txt do đó đây là một khoảng không gian rỗng hay nói khác đi “chúng ta đã phí phạm một khoảng không gian trên ổ cứng” - đây chính là một trong những điểm khác nhau và tiến bộ giữa các thế hệ FAT File System mà chúng tôi sẽ nói đến trong phần hệ thống file của OS ở phần sau. Mặc dù thế nhưng rõ ràng cái mà người ta nhận được từ cluster là rất đáng kể, nó làm tăng hiệu năng làm việc của ổ cứng và giúp hệ điều hành quản lý file tốt hơn nhiều so với việc bắt hệ điều hành và ổ cứng phải làm việc ở cấp độ sector.

    Lost cluster: thông thường khi các bạn dùng các chương trình sửa ổ cứng nhất là scandisk/ndd (chạy trên FATx File System) đôi khi bạn nhận được thông báo “Lost cluster found! Fix it ?” Thật ra trong quá trong ổ cứng đọc và ghi dữ liệu, hệ điều hành có vai trò mở file/tạo file (open/assign file) sau đó tiếp tục phát lệnh để ổ cứng ghi từng phần dữ liệu vào từng cluster được chỉ định rồi cuối cùng ra lệnh đóng file (close file). Tuy nhiên đôi khi có một số trường hợp khi ổ cứng đang ghi dữ liệu vào các cluster đã được chỉ định nhưng bất ngờ bị mất điện hoặc kết thúc quá trình ghi dữ liệu nhưng lại không thực hiện quá trình đóng file, cho nên những cluster này sẽ được công nhận là “đã được sử dụng” nhưng lại không thuộc về bất cứ một file nào. Trong trường hợp này các chương trình sửa đĩa sẽ ghi các thông tin mà các các cluster này lưu trữ ra từng file một để backup lại các dữ liệu có giá trị bị mất.

    Chain: (chỉ dành riêng cho FATx File System): không phải lúc nào dữ liệu của một file cũng được ghi trên nhưng cluster liên tiếp nhau (1,2,3,4…n). Do đó nếu như cluster kế tiếp đã được chỉ định là đã sử dụng thì OS sẽ cố gắng tìm đến cluster kế tiếp hoặc kế tiếp nữa cho đến khi tìm ra cluster trống để ghi dữ liệu vào. Việc dữ liệu của một file (hoặc từng phần) được ghi rải rác mà không có sự liên tục trên những cluster thì được gọi là “một chuỗi các cluster” (chain) và việc OS dịnh dạng trên bảng FAT cũng được gọi là “định dạng một chuỗi FAT”. Lost chain cũng tương tự như lost cluster chỉ khác là nguyên cả một chuỗi cluster bị khai báo nhầm là đã được sử dụng.

    Bộ đệm ổ cứng (HDD Cache): Hiện nay tuy các nhà sản xuất đang ngày càng một nâng cao tốc độ của ổ cứng nhưng chắc chắn là tốc độ truy xuất dữ liệu của ổ cứng sẽ không bao giờ có thể nhanh bằng RAM (Random Access Memory - bộ nhớ truy xuất ngẫu nhiên). Để giảm bớt phần nào khoảng cách đó, các nhà sản xuất phần cứng và phần mềm đã tạo ra bộ đệm ổ cứng (disk cache). Bộ đệm của ổ cứng sử dụng một phần của RAM để lưu trữ những thông tin thường xuyên được các ứng dụng truy nhập. Chính việc lưu trữ những thông tin này trên RAM, bộ đệm đã giúp tốc độ truy xuất dữ liệu nhanh hơn và giúp kéo dài tuổi thọ của ổ cứng. Nguyên tắc hoạt động của bộ đệm khá đơn giản: những dữ liệu thường xuyên được truy nhập sẽ được lưu trữ trong RAM khi đó nếu có ứng dụng yêu cầu truy cập những dữ liệu này thì những dữ liệu này sẽ được lấy ra trực tiếp từ RAM chứ không cần ổ cứng phải làm những công vịêc như: quay đĩa, xác định vị trí đầu đọc, tìm kiếm…

    Có 4 kiểu bộ đệm ổ cứng chính:
    -Bộ đệm “mềm” (Software disk caches): sử dụng một phần bộ nhớ chính của máy (PC RAM – main memory) để truy xuất và lưu trữ tạm thời một phần dữ liệu của ổ cứng. Loại bộ đệm này do một chương trình tao và quản lý cho nên không cần đế những phần cứng hỗ trợ đặc biệt. VCACHE chính là một ví dụ thực tế về bộ đệm mềm.
    -Bộ đệm “cứng” (on-board disk caches): sử dụng bộ nhớ và bộ điều khiển cache được thiết kế ngay trên board mạch của ổ cứng. Mặc dù nó không hề sử dụng bất cứ một phần RAM nào của bộ nhớ chính (computer RAM) để làm công việc lưu trữ tạm thời nhưng chúng có dung lượng rất thấp (128KB->2MB cá biệt có thể lên đến 4MB) và cực kỳ đắt tiền.
    -Bộ đệm “riêng” (disk caching controllers): tương tự như bộ đệm cứng, bộ đệm riêng sử dụng bộ nhớ riêng (có cấu trúc khác RAM) nhưng bộ nhớ và bộ điều khiển mà bộ đệm này sử dụng là bộ nhớ và chíp điều khiển được gắn riêng rẽ trên một card điều khiển chứ không phải là trên board mạch của ổ cứng và lẽ dĩ nhiên giá thành của chúng cực kì đắt. Tuy nhiên, bộ đệm riêng lại hoạt động tốt và nhanh hơn rất nhiều so với bộ đệm cứng vì nó vượt qua được một số giới hạn của những phần của ổ cứng mà bộ đệm cứng luôn bị ảnh hưởng.
    -Buffers : ở đây chúng tôi không dịch hẳn từ buffer mà để nguyên như thế vì giữa buffers và cache có những điểm rất giống nhau. Có rất nhiều tài liệu biên dịch hoặc nguyên bản hoàn toàn không phân biệt giữa 2 khái niệm “cache” và “buffers” mà lại để nguyên là “bộ đệm” – như vậy là không chính xác! Vậy giữa cache và buffers có gì khác nhau và giống nhau ? Có một điểm duy nhất giống nhau giữa cache và buffers chính là “chúng đều là bộ nhớ đệm có tác dụng lưu trữ tạm thời một số dữ liệu trên ổ cứng nhằm tăng tốc tốc độ truy xuất dữ liệu và tăng tuổi thọ cho ổ cứng” và điểm khác nhau giữa chúng là :
    Cache có tốc độ cao hơn nhiều so với buffers.
    Cache phải cần đến bộ điều khiển cache - nếu là “cứng” thì cần phài có chíp điều khiển, còn “mềm” thì phải cần phần mềm điều khiển – trong khi đó buffers chỉ là một con chíp nhớ đơn giản không cần bộ điều khiển riêng.
    Buffers gặp rất nhiều giới hạn trong các quá trình giao tiếp và chuyển đổi dữ liệu bởi vì khả năng quản lý dữ liệu của nó rất kém. Khi lưu trữ dữ liệu tạm thời, buffer lưu trữ một lúc cả một track vì thế nếu muốn tìm một sector nào trên track này thì hệ điều hành lại phải tiếp tục tìm kiếm trên track mà buffer cung cấp - chậm hơn hẳn so với cache.
    Những điều cần chú ý đến Cache : có thể bạn sẽ rất ngạc nhiên nếu như chúng tôi nói là “ổ cứng có cache lớn không có nghĩa là sẽ truy xuất dữ liệu nhanh hơn ổ cứng có cache nhỏ (hai cái cùng loại có cùng tốc độ và dung lượng)”. Nói điều này thì cũngkhông có gì là bất thường lắm, cache là bộ nhớ do đó tốc độ truy xuất của bộ nhớ làm cache càng nhanh thì càng tốt, tuỳ thuộc vào mức độ thôn minh và khả năng quản lý của “chíp điều khiển” (cache controllers chip) và cuối cùng là tổ chức của bộ nhớ làm cache (cho phép đọc/ghi dữ liệu tuỳ ý hoặc chỉ có thể đọc hoặc ghi từ đầu đến cuối). Tuy nhiên tác dụng của bộ cache sẽ mất hoặc giảm đi rất nhiều nếu như ổ cứng đã được defragment (phần này chúng tôi sẽ nói kỹ hơn ở phần Cấu trúc File System)

    Ở đây chúng tôi xin được nói thêm một chút về VCACHE : Windows có một driver ảo gọi là VCACHE có nhiệm vụ quản trị bộ nhớ đệm cho ổ cứng. VCACHE chính là một sự thay thế cho “bộ đệm mềm” của DOS và các version Windows trước đó (thường được gọi là SmartDrive). VCACHE có khả năng thay đổi rất nhanh dung lượng bộ nhớ mà nó sử dụng, điều mà các trình quản lý bộ đệm trong DOS không thể làm được. Khi đĩa cứng hoạt động liên tục (chép file hoặc đọc file lớn) trong khi đó việc truy cập bộ nhớ lại thấp thì nó sẽ tự động điều chỉnh kích thước bộ đệm (tăng lên) cho phù hợp để RAM có thể chia sẻ bớt một phần công việc của đĩa cứng. Nguợc lại, khi ổ cứng ít hoạt động (ít truy xuất dữ liệu) nhưng RAM lại liên tục có lệnh truy xuất (khi chạy các ứng dụng tính toán cao cấp) thì nó sẽ tự động điều chỉnh kích thước bộ đệm ( giảm xuống) để có được dung lượng RAM tối đa cho các ứng dụng tính toán. VCACHE hoàn toàn có khả năng tạo ra những file cache (còn gọi là swap file) ngay trên ổ cứng mạng (98,Me). Nó sử dụng quá trình “đọc trước – ghi từ cache xuống” (read-ahead and write-behind caching). VCACHE là một ví dụ điển hình của “bộ đệm mềm” (software disk cache).

    Đọc trước (read-ahead) : là một phương pháp xem xét thử phần dữ liệu nào sẽ được ứng dụng yêu cầu truy xuất kế tiếp rồi đọc nó vào bộ nhớ, nó luôn luôn được kích hoạt khi máy vi tính đang trong trạng thái nghỉ ngơi (Standby) hoặc ít hoạt động (Idle). Kết quả của phương pháp này là giảm được nhiều chuyển động của đầu đọc và đĩa cứng hoạt động êm hơn (không đọc nhiều nên không gây tiếng ồn).

    Ghi từ cache xuống (write-behind caching): cũng cho kết quả tuơng tự nhưng nó còn bao gồm luôn công việc giữ phần dữ liệu trong cache để chúng đuợc ghi xuống đĩa cứng hoàn toàn cho đến khi máy vi tính nghỉ ngơi (shutdown). Một vấn đề với phương pháp này là “nếu như máy tính mất điện đột ngột thì những phần dữ liệu chưa được ghi từ cache xuống ổ cứng sẽ mất trắng không tìm lại được vì cache là một dạng bộ nhớ cần nguồn nuôi”.

    B.Tổ chức dữ liệu cơ bản của đĩa cứng:

    Ở đây chúng tôi xin được khẳng định rõ quan điểm của mình là “tổ chức dữ liệu cơ bản (hay còn được gọi là tổ chức dữ liệu cấp thấp)” của đĩa cứng để phân biệt rõ ràng với “tổ chức dữ liệu cấp cao” của ổ cứng do những hệ thống file (file system) của những OS được cài đặt trên ổ cứng tổ chức mà trong một số tài liệu đã nói chung chung là “tổ chức dữ liệu ổ cứng”. Tổ chức dữ liệu cơ bản của đĩa cứng là cách sắp xếp những phần tử/đơn vị lưu trữ dữ liệu ở mức thấp nhất mà nhà sản xuất đã quy định đồng thời các giá trị đo lường của ổ cứng cũng được tuân thủ theo nguyên tắc riêng.

    Các đơn vị đo lường của ổ cứng được tính theo nguyên tắc sau :
    Bit là đơn vị lưu trữ dữ liệu nhỏ nhất và chỉ có thể lưu trữ một trong hai giá trị 1 hoặc 0.
    1 byte = 8 bit;
    1 Kbyte = 1024 byte;
    1 Mbyte = 1.000.000 byte;
    1 Gbyte = 1000 Mbyte = 1.000.000.000 byte;
    1 Tbyte = 1000 Gbyte=1.000.000 Mbyte=1.000.000.000 byte;

    Cách thức tổ chức dữ liệu cấp thấp của ổ cứng: như đã trình bày ở những phần trên 1 byte thì gồm nhiều bit và một sector thì bao gồm nhiều byte, một track thì bao gồm nhiều sector và một cylinder thì bao gồm nhiều track đồng trục và bằng nhau. Ngoài ra chúng tôi cũng có nhắc đến vấn đề “tổ chức dữ liệu kiểu liên tục” ở phần trên, thật ra các đơn vị lưu trữ dữ liệu trên ổ cứng (tính từ đơn vị lưu trữ dữ liệu nhỏ nhất) chính là một chuỗi dài các đơn vị bit từ chỗ đầu đọc bắt đầu đọc và ghi cho đến điểm cuối cùng mà đầu đọc có thể đọc/ghi được. Cả một chuỗi dữ liệu bao gồm các giá trị 1 và 0 (tính theo đơn vị lưu trữ bit) này chính là cách tổ chức đơn giản nhất hay nói cho có tính khoa học là tổ chức dữ liệu cấp thấp của ổ cứng.

    Để vấn đề trở nên mạch lạc và dễ hiểu hơn chúng tôi xin được minh hoạ đĩa cứng với “cái thước dây của thợ may”. Bây giờ bạn đã bắt đầu liên tưởng được rồi, thay vì trên thước dây có đơn vị nhỏ nhất là 1mm thì bạn hãy cho nó là 1 bit. Bây giờ bạn hãy lấy một khúc gỗ tròn để đại diện cho trục ổ cứng rồi từ từ quấn cái thước dây này quanh trục cho đến khi hết. Lúc này bạn sẽ thấy một sợi dây dài đã quấn thành nhiều vòng quanh trục, vòng tròn lớn nhất nằm ở ngoài cùng và nhỏ nhất là nằm ở trong cùng. Bạn sẽ gọi từng vòng là track, gọi từng cung của những vòng này là sector và đếm số mm trên từng vòng một bạn sẽ biết được vòng nào dài bao nhiêu mm từ đó biết được số bit trên mỗi vòng và nhận ra là các vòng ở ngoài càng lớn thì độ dài (dung lượng) càng cao hơn các vòng ở trong. Và như chúng tôi đã nói là bạn phải liên tưởng, qua ví dụ thực tế về cái thước dây chắc bạn cũng hiểu được tỗ chức dữ liệu cấp thấp trên ổ cứng là như thế rồi !

    Tổ chức luận lý của PC: Hệ điều hành luôn luôn phải làm một công việc quan trọng đó chính là tổ chức và tìm kiếm dữ liệu trên đĩa cứng. Đối việc việc tổ chức và tìm kiếm trên đĩa từ thì độ tương tác giữa hệ điều hành và đĩa cứng lại càng phải thật mật thiết ! Khác với việc đọc đĩa CD (chỉ cho phép đọc), hệ điều hành chẳng phải quan tâm gì đến việc xem lại tổ chức dữ liệu của CD bị thay đổi hay không.

    Để tăng tốc và tính hiệu quả cho việc truy xuất những byte dữ liệu đặc thù trên đĩa từ, hệ điều hành phải xây dựng cấu trúc thư mục và những chỉ mục diễn giải những gì mà nó chiếm dụng, những phần free và những phần không nên được sử dụng nhằm tránh lỗi vật lý cho đĩa từ. Kiểu thông tin của ổ đĩa thì được gọi là “định dạng luận lý” (ở đây tôi sử dụng từ “ổ đĩa” để minh họa sự khác biệt giữa “nguyên cái ổ cứng” và 1 partition trên ổ cứng đó nhằm tránh lầm lẫn giữa 2 khái niệm rất dễ lẫn lộn)

    Để lấy vị trí một vùng nào đó trên đĩa cứng, bộ điều khiển ổ cứng sẽ sử dụng các đầu đọc ở những mặt đĩa khác nhau, vị trí track, và vị trí sector như thế PC cũng phải chỉ định vị trí của “ổ đĩa” theo cách tương tự. Tuy nhiện đó cũng chính là một điều rất bất tiện cho hệ điều hành giao tiếp với đĩa cứng bằng ngôn ngữ mà bộ điều khiển có thể hiểu được. Ví dụ đơn giản đó là số sector, số track và số mặt từ của mỗi đĩa cứng đề khác nhau (khác loại)

    Chính vì lẽ đó mà hệ điều hành phải xác định dữ liệu dựa trên một dãy số liên tục có hệ thống cho phép nó có thể lưu trữ thông tin các phần của ổ cứng. Để giảm tải cho đầu đọc hệ điều hành phải giám sát ổ cứng ở cấp độ sector, lớp cao nhất mà hệ điều hành phải làm việc khi cần chính là một chuỗi nhiều sector gọi là clusters. Số lượng sector trong một cluster phục thuộc vào dung lượng của ổ cứng và được xác định khi ổ đĩa được định dạng.
    Hệ điều hành tổ chức thành “ổ đĩa luận lý” thành 2 vùng chính: vùng hệ thống và vùng dữ liệu. Vùng hệ thống bao gồm các sector để boot (boot sector), bảng hệ thống thông tin file (FAT) và thư mục gốc. Vùng dữ liệu thì dùng để chứa file và folder.

    Boot-sector: nơi lưu trữ boot record. Nó chính là sector vật lý đầu tiên trên đĩa mềm (sector 0) hoặc sector khởi đầu của một ổ đĩa luận lý (một phân vùng trên đĩa cứng đã được định dạng). Boot sector xác định cấu trúc của ổ đĩa (sector size, cluster size…). Nếu là ổ đĩa boot được, nó sẽ cũng chứa theo chương trình khởi động hệ điều hành.

    C. Disk controller, phương pháp truy xuất dữ liệu và chuẩn giao tiếp đĩa cứng:

    Bộ điều khiển ổ cứng (disk-controller) nắm giữ toàn quyền điều khiển ổ cứng. Nó cho phép CPU và ổ cứng có thể làm việc tốt với nhau. Có rất nhiều chuẩn giao tiếp đã ra đời và phát triển để xác định nguyên tắc làm việc giữa ổ cứng và CPU. Những chuẩn dưới đây đại diện cho những chuẩn thông dụng nhất thường được sử dụng giữa bộ điều khiển và ổ cứng:

    - ST-506/412 : tiêu chuẩn giao tiếp được phát triển bởi hãng Seagate và được sử dụng vào thời kì những máy IBM sơ khai. Chuẩn này ngày nay đã hoàn toàn được thay thế bởi các chuẩn nhanh hơn như IDE,EIDE và SCSI

    - Enhanced Small Device Interface (ESDI): giao diện bộ điều khiển ổ cứng phải cần một thiết bị trợ giúp riêng biệt. Là một chuẩn thay thế cho ST-506/412 tuy nhiên nó cũng đã lỗi thời và đã bị các đàn em IDE,EIDE và SCSI thay thế.

    - Small Computer System Interface (SCSI): vẫn thường được gọi vui là “skuzzy” (từ chữ SCSI mà ra). Là một loại chuẩn giao tiếp thường được dùng để kết nối PC đến thiết bị khác như là ổ cứng, máy in, scanner và CD-ROM. Hầu hết các card SCSI đều không cần phải biết về kiểu thiết bị mà nó liên kết mà chỉ cần biết duy nhất một điều “thiết bị đó làm việc được với SCSI”. Ta có thể kết nối lên đến 7 thiết bị SCSI chung với nhau và rồi kết nối chúng đế một cổng (port) SCSI trên máy vi tính, cứ như là một cấu hình thường được gọi là “dây chuyền bậc nhất” (daisy chain).

    - Intergrated Drive Electronics (IDE): giao diện bộ điều khiển ổ cứng kết hợp với bộ điều khiển điện tử trên board của ổ cứng. Giao tiếp EIDE là một phát triển gần nhất của IDE.

    IDE kết hợp chặt chẽ những hoạt động trước kia thuộc quyền của của card điều khiển riêng bây giờ đã được tích hợp trực tiếp vào bên trong ổ cứng (nằm trên board). Kết quả là một ổ cứng IDE có thể sử dụng bộ kết nối IDE trên bo mạch chủ mà không cần đến bus slot. Máy vi tính chỉ cần IDE card khi và chỉ khi trên bo mạch chủ không được tích hợp bộ kết nối IDE. Card IDE cung cấp một kết nối vật lý thông qua một bus slot và có thể cung cấp thêm các chức năng điều khiển. Một ổ cứng IDE chỉ có thể chứa được cao nhất là 528 MB dữ liệu. Với chuẩn giao tiếp mới hơn, Enhanced IDE (EIDE), ổ cứng có thể chứa đến 8.4 GB.

    Những ổ cứng IDE có dung lượng vượt quá 504MB đôi lúc phải cần đến những phần mềm chuyên biệt như là Ontrack’s Disk Manager hoặc là Micro House’s EZ-Drive, bởi vì có rất nhiều máy vi tính không có BIOS hoặc controller hỗ trợ những ổ cứng IDE dung lượng lớn.

    - Extended Intergrated Drive Electronics (EIDE): chuẩn này còn được gọi là “Enhance IDE”, là một chuẩn giao tiếp gíup cho bộ điều khiển ổ cứng có thể kết nối khá nhiều thiết bị lưu trữ ( ổ cứng dung lượng lớn, CD-ROM và băng từ) với máy tính. EIDE là một bước phát triển của chuẩn IDE.

    Trong các chuẩn trên thì chỉ có ST-506/412 và ESDI là rất khó chịu với ổ cứng và phải cần bộ điều khiển riêng biệt.
    Những chuẩn trên không chỉ đơn thuần khác biệt ở chỗ dung lượng mà nó có thể truy xuất được mà còn là tốc độ của chúng. Ví dụ ST-506/412 có thể truyền đi khoảng 5-7.5 megabit/giây trong khi đó EIDE có thể truyền đi đến 16.6 megabit/giây.

    Ổ cứng SCSI là ổ cứng có tốc độ nhanh nhất trong các chuẩn ổ cứng bởi vì bộ điều khiển SCSI (hoặc host adapter) có CPU riêng để quản lý việc truyền nhận dữ liệu và công việc của các thiết bị liên quan mà không cần sự giúp đỡ của CPU chính của hệ thống. Hệ thống của bạn sẽ chạy nhanh hơn rất nhiều do CPU chính không cần phải quan tâm đến việc truyền tải mà dành sức cho các công việc khác (đây lý do chính khíên cho các thiết bị chuẩn SCSI luôn luôn mắc tiền hơn các chuẩn khác)

    Thêm nữa là ổ cứng SCSI không cần phần bảo vệ và không mắc phải lỗi dịch sector (điều cho đến bây giờ vẫn mắc phải trên ổ cứng EIDE)

    Ổ mềm sử dụng giao tiếp điều khiển rất chậm từ lúc mà chúng xuất hiện cho đến giờ. Ổ mềm chỉ có thể truyển nhận được cao nhất là 500 kbit/giây nhưng thông thường là 350kbit/giây.

    Ổ CD-ROM có thể sử dụng chuẩn EIDE, SCSI và một số chuẩn khác. Những card adapter (tiếp hợp - điều phối) dành cho nhiều ổ CD-ROM sử dụng một tập hợp chuẩn SCSI sao cho chỉ thuộc một thiết bị duy nhất.

    Đâu là chỗ khác biệt giữa SCSI và EIDE ? Ngoài một điểm khác biệt khá rõ đã được trình bày ở phần trên còn điểm sau:
    - SCSI thể hiện sức mạnh qua việc cho phép một loạt thiết bị có thể khai thác một đường bus trong cùng một thời điểm và không cần sử dụng bus nếu thiết bị không yêu cầu. Đây là một điểm rất lợi thế của SCSI ! Trái lại so với SCSI thì EIDE chia thành 2 kênh bao gồm Primary và Secondary và hai kênh này sử dụng hai đường bus khác nhau. Tuy nhiên trong mỗi kênh EIDE lại chia thành 2 cấp Master và Slaver cho 2 thiết bị được gắn cùng một cáp trên một kênh. Vì cả 2 thiết bị chỉ được phép sử dụng 1 đường bus mà EIDE lại không có khả năng cho phép nhiều thiết bị cùng sử dụng 1 đường bus trong cùng một lúc nên các thiết bị này sẽ tuần tự lần lượt được cấp phép sử dụng bus. Đây là một điểm rất hạn chế của EIDE đặc biệt nếu bạn gắn ổ cứng chung với CD-ROM trên cùng 1 kênh thì tốc độ sẽ giảm đi rất nhiều lý do như sau : ổ CD-ROM có tốc độ rất chậm như vậy thời gian mà CD_ROM sử dụng đường bus sẽ rất lâu từ đó việc cấp quyền sử dụng cho ổ cứng sẽ bị hạn chế dẫn đến tốc độ của máy châm hẳn đi. Đây cũng là lý do giải thích việc người ta vẫn khuyên bạn nên gắn ổ cứng của mình và kênh Primary ổ CD-ROM vào kênh Secondary và nếu có từ 2 cổ cứng trở lên thì tốt nhất là nên gắn các ổ cứng có tốc độ tương đương với nhau trên cùng 1 kênh.
    Ngoài ra chuẩn SCSI còn có nhiều kiểu khác nhau: loại 8bit thì cần cáp 50 sợi, loại 16 bit thì cần cáp 68 sợi (SCSI mở rộng). Nhịp (clock) có thể là 5 MHz (SCSI 1), 10MHz (FAST SCSI), 20 MHz (Fast20 – ultra SCSI), 40 MHz (Ultra 2-SCSI) hoặc 80Mhz (Ultra 3-SCSI).

    Sau đây là bảng thống kê khả năng truyền dẫn dữ liệu của chuẩn SCSI:

    --SCSI Bus Clock---|-- 8 bit 50 sợi --- | --- 16 bit 68 sợi-(mở rộng) —
    5 MHz (SCSI 1) 5 Mgbyte/s Không hỗ trợ
    10MHz (Fast SCSI) 10 Mgbyte/s 20 Mgbyte/s
    20MHz(Ultra SCSI) 20 Mgbyte/s 40 Mgbtye/s
    40Mhz (ultra2 SCSI) 40 Mgbyte/s 80 Mgbyte/s
    80MHz(ultrả SCSI) 80 Mgbyte/s 160 Mgbyte/s

    Trong bộ tutorial này tôi sẽ đề cập vắn tắt các công nghệ Ultra DMA/ATA/ATAPI/PIO đồng thời so sánh hiệu năng giữa chúng chứ không phân tích sâu. Riêng với chuẩn giao tiếp Serial ATA, tôi sẽ đi sâu hơn vào các khía cạnh kỹ thuật vì chuẩn Serial ATA được đánh giá là “chuẩn của tương lai”.

    Bản thân ATA/Ultra DMA/PIO không được gọi là “chuẩn” mà là công nghệ giao diện truy xuất dữ liệu. Khi ổ cứng được làm bởi các công nghệ này (tuỳ theo từng thế hệ) thì khả năng truy xuất của chúng sẽ khác nhau (tương tự như chuẩn SCSI cũng chia thành nhiều loại). Công nghệ ATA chính là tiền thân của công nghệ Ultra ATA / Ultra DMA ngày nay. ATA ra đời từ lúc chuẩn IDE bắt đầu lộ diện chinh phục thị trường sản phẩm lưu trữ. ATA là từ viết tắt của Address Transfer Area - Định vị vùng truyền dẫn và Ultra DMA – Ultra Direct Memory Access – Định hướng truy xuất bộ nhớ cao cấp. ATA chậm hơn rất nhiều so với Ultra ATA. Ultra ATA được phát triển dựa trên nền tảng công nghệ Ultra DMA/33 ra đời bởi sự nỗ lực kết hợp thiết kế giữa Intel, Quantum, Seagate nhằm cung cấp một thế hệ giao tiếp mới cho các hệ thống máy tính để bàn (desktop PCs).

    Direct Memory Access (DMA): cho phép định hướng truyền nhận dữ liệu trực tiếp đến bộ nhớ hệ thống mà không cần thông qua CPU hệ thống. DMA gia tăng tốc độ truyền tải bằng cách sử dụng bộ điều khiển DMA để quản lý dữ liệu truyền nhận nhanh hơn nhiều so với việc điều khiển thông qua CPU. Hệ điều hành cần phải cài đặt các driver tương thích DMA trước khi sử dụng chức năng DMA.

    Bus Mastering DMA: cho phép card giao diện,hoặc bộ điều khiển ổ cứng, quản lý sự truyền nhận dữ liệu từ ổ cứng trực tiếp đến bộ nhớ chính của hệ thống. Những nhà sản xuất bo mạch chủ cung cấp các driver của bus mastering hỗ trợ điều khiển DMA bởi các card giao diện (bộ điêu khiển) tương thích với bus mastering.

    Ultra DMA (UDMA): là phiên bản cuối cùng của giao thức ATA Bus Mastering DMA. Nó nâng tốc độ truyền tải của ATA bus từ 16.6 Mgbyte/s lên 33 Mgbyte/s. Công nghệ ATA/ATAPI 4 có khả năng kiểm tra lỗi nhằm đảm bảo tính toàn vẹn cho dữ liệu ở tốc độ cao. Cần phải lưu ý là chuẩn giao thức SCSI Ultra 2 cũng sử dụng một giao thức bus Mastering DMA mới cho nên đôi khi người ta cũng quy nó vào là Ultra DMA.

    Điểm khác biệt giữa Ultra DMA/ATA và ATA không hẳn chỉ ở tốc độ và việc Ultra DMA phải có driver tương thích mà còn thể hiện ở sợi cáp của 2 loại này cũng khác nhau. Về mặt kích thước và hình dáng thì cáp ATA và Ultra ATA giống y hệt như nhau (tuy nhiên cũng có một số mainboard - nhất là các thế hệ sau này - thường làm đầu connector của cáp Ultra ATA là màu xanh da trời) nhưng về cấu trúc lại rất khác nhau. Từ ATA cho đến Ultra ATA 2 sử dụng cáp 40 sợi, mỗi sợi có 1 lõi và nối với 1 pin; cáp Ultra DMA cũng có 40 sợi (vì tương thích chuẩn EIDE/IDE) nhưng khác ở chỗ mỗi sợi lại có đến 2 lõi và được bện chặt vào nhau nối vào 1 pin. Nếu cáp ATA->Ultra ATA 2 gồm 40 lõi và mỗi lõi có nhiệm vụ truyền dẫn dữ liệu riêng thì với cable Ultra DMA có đến 80 lõi trong đó 40 lõi làm chức năng truyền dữ liệu 40 lõi còn lại nằm tuần tự giữa các lõi truyền dữ liệu làm nhiệm vụ “dây đất” và tránh lỗi toàn vẹn dữ liệu do tín hiệu nhiễu gây ra khi tần số quá cao.

    Trong quá trình truyền nhận không phải lúc nào ổ cứng cũng đạt được hết công suất truyền nhận vì những tín hiệu nhiễu luôn là trở ngại rất lớn ảnh hưởng đến quá trình truyền dữ liệu trên cáp chuẩn. Những điểm sau đây khiến ổ cứng không thể phát huy hết sức mạnh của nó:
    - Cáp quá cũ, là dạng cáp chất lượng kém hoặc tháo ráp quá nhìêu dẫn đến cáp bị rách ngầm.
    - Công suất của máy quá thừa (công suất của nguồn) sẽ tạo ra từ trường gây nhiễu tín hiệu. Những hệ thống có quá nhiều ổ cứng gắn chồng lên nhau, có từ 2 nguồn cấp điện trở lên hoặc là điện trường từ màn hình CRT.
    - Hệ thống bị over-clock vượt quá mức độ cho phép của nhà sản xuất gây ra lỗi truyền nhận dữ liệu.

    Sau đây là bảng thống kê tốc độ của một số công nghệ gần đây:
    Tốc độ truyền tải lý thuyết của IDE bus (ATA)
    DMA 0 16bit đơn (single word) 2.1 Mgbyte/s
    PIO Mode 0 3.3 Mgbye/s
    DMA 1 (SWord) – DMA 0 (MWord) 4.2 MgByte/s
    PIO mode 1 5.2Mgbyte/s
    PIO mode 2, Sword DMA 2 8.3 MgByte/s

    Tốc độ truyền tải lý thuyết của EIDE bus (ATA 2)
    PIO mode 3 11.1 Mgbyte/s
    MWord DMA 1 13.3Mgbyte/s
    PIO Mode 4, MWord DMA 2 16.6mgbyte/s

    Tốc độ truyền tải lý thuyết của Ultra ATA (Ultra DMA)
    MWord DMA 3/ Ultra ATA 33 33mgbyte/s
    Ultra DMA 3 44Mbbyte/s
    Ultra DMA 4 / Ultra ATA 66 66Mgbyte/s
    Ultra DMA 5 / Ultra ATA 100 100Mgbyte/s

    II. Giới thiệu về SATA (Serial ATA):

    Serial ATA là một bước phát triển của giao diện lưu trữ vật lý song song ATA, thay thế cáp chuẩn 40 sợi và đầu kết nối IDE thành cáp 7 sợi và đầu kết nối SATA. Công nghệ ATA song song đã đến đỉnh điểm của nó, nếu tiếp tục phát triển tiếp công nghệ này thì số tiền chi ra sẽ rất lớn trong khi đó hiệu quả lại không cao đồng thời gặp rất nhiều khó khăn vì các giới hạn cơ bản từ thởu khai sinh của Parallel ATA. Điều này đã thúc đẩy những nhà nghiên cứu tìm đến một giao diện mới hơn, cho hiệu quả tốt hơn và tin cậy hơn. Serial ATA hứa hẹn khả năng mở rộng công nghệ nền tảng ATA tối thiểu cũng được 10 năm. Vậy thì đâu là lợi ích của Serial ATA ?

    Tính tương thích phần mềm: đối với các phần mềm hệ thống, một thiết bị Serial ATA chẳng khác chút gì sơ với các thiết bị xưa cũ UDMA/ATA. Với các phần mềm ngày nay, không tương thích là mấy với các thiết bị cũ, Serial ATA hứa hẹn một sự chuyển đổi không liền mạch và sự chấp thuận nhanh chóng.

    Cáp serial: Các thiết bị Serial ATA kết nối đến hệ thống thông qua một sợi cáp không đắt (khá rẻ) cung cấp một đầu nối nhỏ thích hợp cho môi trường tiết kiệm không gian tối đa của server. Điều này cho phép Serial ATA giảm bớ số lượng tín hiệu từ 26 tín hiệu như Parallel ATA thành 4 tín hiệu. Cáp Serial ATA còn có thể cung cấp điện năng cho thiết bị (tuỳ chọn không phải là mặc định)

    Duy nhất 1 thiết bị trên 1 cáp: Khác xa với Parallel ATA, Serial ATA bỏ hẳn việc phân chia Master và Slave thay vào đó là chỉ duy nhất một thiết bị trên 1 cáp được hệ thống công nhận là thiết bị Master ATA.

    Công nghệ truyền chuỗi dữ liệu: Serial ATA sử dụng công nghệ truyền chuỗi 8B/10B để truyền nhận dữ liệu thông qua serial cáp. Sơ đồ bảo toàn dữ liệu cao cấp này được nhanh chóng chấp nhận trên diện rộng như là một sơ đồ truyền chuỗi thực tế và thường được dùng trong nhiều công nghệ như GigabitEthernet và Fibre Channel. Đây thực sự là giai đoạn chuyển tiếp Serial ATA thành một phần của việc phát triển iSCSI trong tương lai.

    Điện thế thấp phân biệt tín hiệu: Serial ATA sử dụng điện thế thấp nhằm phân biệt tín hiệu (LVD) bằng nguồn điện 250mV. Nó còn bao gồm cả một nguồn điện nuôi thấp và cần bộ giải nhiệt.

    Con đường phát triển còn dài (10 năm nữa): Serial ATA dự định sẽ đưa ra 3 thế hệ có khả năng chuyển nhận dữ liệu lên đến 1.5Gbit/sec, 3.0Gbit/s, và 6.0Gbit/s tức là cho phép tốc độ truyền cho từng thế hệ lên đến 150Mbyte/s,300 Mbyte/s và 600 Mbyte/s.

    Những lợi thế của SerialATA:

    Hiệu suất cao hôm nay và tương lai : ngay từ thế hệ đầu tiên SerialATA đã đạt đến tốc độ 150Mbyte/s so với tốc độ tối đa mà Parallel ATA (giao diện ATA song song) đạt được là 133Mbyte/s. SerialATA còn dự định sẽ tiếp tục cho ra đời 2 thế hệ tiếp theo với tốc độ cực cao 300Mbyte/s và 600Mbyte/s cho cùng 1 loại cáp (loại 150Mbyte/s) và đầu nối.

    Hiệu quả kinh tế cao: với người sử dụng máy vi tính tại gia (Desktop PC) vấn đề nâng cấp phần cứng mới luôn là vấn đề lớn. Tuy nhiên các nhà sản xuất đã dự tính những ổ đĩa SerialATA sẽ có giá thành tương đương với các ổ đĩa Parallel ATA hiện lại nhưng lại có tốc độ cao và dung lượng cao hơn.

    Tháo ráp “nóng” và hữu dụng: các thiết bị SerialATA sẽ có them chức năng tháo ráp nóng (hot swapable), điều mà với các ổ cứng Parallel ATA ta không bao giờ làm được. Điểm mạnh này sẽ làm cho SerialATA trở thành một giải pháp có thể tồn tại được và trong tương lai sẽ thay thế cho giải pháp RAID vốn rất rườm rà.

    Cáp kết nối trực tiếp (Point-to-point cabling): SerialATA chỉ cho phép kết nối 1 port cho 1 ổ cứng duy nhất và cũng chính vì thế đã nâng cao khả năng cô lập lỗi đồng thời tăng hiệu năng cho thiết bị. Không những thế, vì SerialATA không phải chia sẽ bus nên mỗi ỗ đĩa có thể hoàn toàn đạt đến tốc độc 150Mbyte/s.

    Dễ lắp đặt (cáp) và có lợi cho việc lưu chuyển không khí: SerialATA sử dụng cáp dài, mỏng, mềm dẽo dễ uốn (không cứng và dễ nát như Parallel ATA) đồng thời truyền dẫn và lắp đặt đơn giản, những tính năng trên sẽ giúp tăng cường việc lưu chuyển không khí cho hệ thống và tăng hiệu năng giải nhiệt cho quạt.

    Điểm đặc trưng và ích lợi của SerialATA

    Đặc trưng:

    - Được thiết kế có tốc độ cao cho tương lai.
    - Giao diện tốc độ truyền tải dữ liệu lên đến 150Mbyte/s (và sẽ còn cao hơn).
    - Chi phí thấp.
    - Chuyển từ việc thiêt bị lưu trữ trong thànhthiết bị lưu trữ ngoài trong tương lai.
    - Kết nối trực tiếp từ máy đến một thiết bị duy nhất.
    - Điện thế thấp.
    - Sử dụng ít pin ASIC hơn.
    - Giao tiếp điều khiển điên năng mới.
    - Driver và phần mềm khác biệt hoàn toàn so với Parallel ATA.
    - Lệnh điều chỉnh.
    - DMA nhóm đầu tiên.
    - Cáp và đầu kết nối khác hẳn so với Parallel.

    Ích lợi:

    - Con đường phát triển còn dài (10năm nữa) sẽ làm giảm thiểu lại vấn đế “đa chuẩn giao tiếp thiết bị” trong ngành công nghiệp máy tính hiện nay.
    - Được giới thiệu lần đầu với tốc độ 150Mbyte/s dẫn đầu về tốc độ truyền tải dữ liệu trên ổ cứng và đã tránh được lỗi “thắt cổ chai” có thể xảy ra với ổ đĩa 133Mbyte/s Parallel ATA.
    - Chi phí thấp tương đương với Parallel ATA
    - Được thiết kế cho việc lưu trữ bên trong. Dự định SerialATA sẽ được phát triển có thêm tính năng đặc biệt là “lưu trữ bên ngoài” (external storage).
    - Lắp đặt và cấu hình dễ dàng. Không cần phải chỉnh jumper hoặc termination bên ngoài, giảm thời gian tích hợp và thoả mãn yêu cầu dịch vụ của ngừoi dung cuối (end-user). SerialATA đã đặt dấu chấm hết cho vấn đề kiểm tra Master/slave bị lỗi và tăng cường cô lập vùng lỗi. Cả 2 thiết bị đều có thể truyền tải dữ liệu song song.
    - Kết thúc việc sử dụng nguồn 5V cho tín hiệu I/O nhằm đơn giản thiết kế phần cứng, giàm giá và ít tốn điện năng.
    - Cho phép ASIC pin thành dạng “pin co chết” (die-shrink, rất dễ cắm và không bị cong quẹo như pin thông thường) nhằm nâng cao hiệu quả chi phí cho cả thiết bị lẫn máy.
    - Sử dụng lại driver của Parallel ATA làm đơn giản quá trình chuyển đổi.
    - Giảm tổng chi phí, tăng hiệu năng. Cho phép mơ rộng thị trường tới các server tiếp nhận (entry-level) và các hệ thống RAID.
    - Quản lý điện năng và tiêu thụ điện năng thích hợp cho thiết bị di động.
    - Cho phép thiết bị truy cập trực tiếp đến bộ nhớ của máy, giảm thiểu tổng lệnh và tình trang cần xử lý cho bộ vi xử lý.
    - SerialATA sử dụng lại cáp mới, dài, mỏng cùng loại đầu nối mới.

    Với những ích lợi mà SerialATA mang lại, người ta không thể không đặt ra vấn đề “liệu SerialATA có đẩy Parallel ATA đến chỗ không còn xuất hiện trên thị trường trong vòng 1 hoặc 2 năm tới không?” Câu trả lời lúc này là “chưa xác định được” ! Tuy nhiên một điều rõ ràng mà ta có thể nhận thấy là người sử dụng đang dần dần chuyển sang SerialATA, một sự lựa chọn thị trường tương tự như quá trình chuyển tiếp từ Parallel ATA sang SerialATA. Chính vì lẽ đó Serial ATA và Parallel ATA sẽ còn chung sống với nhau nhiều năm nữa nhưng Parallel ATA “chỉ hỗ trợ và lót đường cho sự phát triển của SerialATA”. Cũng như những công nghệ sáng tạo khác, sự lựa chọn luôn kèm theo vấn đề giá cả và chất lượng.
    Hiện nay các thiết bị SerialATA đã xuất hiện nhiều trên thị trường và càng ngày càng có nhiều dấu hiện cho thấy thị trường tiềm năng mà SerialATA mang lại. SerialATA sẽ còn tiếp tục giảm giá - đòn ăn mòn thị trường Parallel ATA một cách từ tốn ! SerialATA, như đã bàn đến về mặt thiết kế ở trên, chỉ có thể là một giải pháp dành cho các thiết bị lắp trong (inside-a-box solution) cho nên SerialATA không thể kết nối với các thiết bị ngoài. USB vẫn là cách tối ưu để kết nối những thiết bị ngoài. Những thiết bị được SerialATA hỗ trợ: chuẩn giao tiếp ATA, ATAPI như CDs, DVDs, băng từ, các loại đĩa dung lượng lớn tháo lắp được, ZIP, CDRW’s.

    (Các thông số kỹ thuật tham khảo từ 3ware)


    --------------------------------------------------------------------------------

    Nguồn: Hacker Vietnam Forum HVA Forum
    (Jan - 16 - 2004)
    Bài viết của littlefox (HVA Moderator)
    Có sửa đổi một số chi tiết mong tác giả thông cảm.
    ---------
    Sẽ cập nhật thêm các cách khắc phục bad sector và nâng cao hiệu quả sử dụng ổ cứng.
     
    :
  2. NGHIEN_VT

    NGHIEN_VT Thành viên mới nhất

    Bài viết:
    237
    Nơi ở:
    Việt Nam, Tp.Hồ Chí Minh
    Hì, mình cũng vừa có dịp lụm một em hdd bị bỏ rơi về test thử.
    1/ Cài Windows xong là hết boot.
    2/ Bad sector từa lưa.
    Cái này hiệu seagate 10Gb.
    Lúc trước Nghiện hay dùng Disk Manager của Seagate để sửa, giờ thấy trong Hiren't Boot CD (ver 6.0) có Disk Manager mà không phân biệt Seagate hay Maxtor hay IBM... gì hết, thôi thì cứ thử. Dùng lệnh Zero Fill Track.
    Sau khoảng 6h, mọi thứ xong xuôi, Nghiện vào PQMAGIC cũng trong đĩa Hiren't này luôn chia đĩa, khởi động sau đó format lại.
    Tới giờ vẫn đang xài tốt và có cảm giác ngày càng nhanh (!), ban đầu cài win xong chạy hơi chậm, mở explorer lên cũng thấy chậm, giờ thì mọi thứ đâu vào đó, chả ai mà biết nó từng bị quăng lên quăng xuống và bị đem cho qua mấy người bởi ai cũng tưởng nó hư nặng rồi.
    Nếu trường hợp ổ cứng của bạn không bị yếu từ (lưu dữ liệu vài ngày mất tiêu) hoặc kêu lọc cọc (to) thì hoàn toàn có khả năng phục hồi bad sector với cách trên. Chỉ cần bạn lưu ý kỹ khi chọn hdd cần thao tác trong chương trình Disk Manager, nếu chọn lộn thì cái ổ còn ngon lành của bạn cùng với những dữ liệu của nó sẽ đi vào quên lãng luôn ah.
     
  3. tinykid

    tinykid New Member

    Bài viết:
    4
    Nghe anh Nghiện nói mà kid em đâm ... nghiện vì kinh nghiệm của anh [​IMG] :coimo: . Người ta có nói là dùng format cấp thấp gì đó thì có thể tẩy bad sector, đằng này anh dùng phần mềm mà vẫn chùi được nó thì hay thật . Bữa nào phải thử mới được . Cảm ơn anh đã chỉ bảo .

    Nói hư track 0 nghĩa là các sector của track 0 bị hư phải không anh ? Vậy mình dùng phần mềm trên sẽ phục hồi lại được và vẫn cài đặt hệ điều hành bình thường ?
     
  4. NGHIEN_VT

    NGHIEN_VT Thành viên mới nhất

    Bài viết:
    237
    Nơi ở:
    Việt Nam, Tp.Hồ Chí Minh
    À, format cấp thấp cũng là phần mềm mà tinykid ...
    Như ở trên nói đó, bad sector gồm nhiều nguyên nhân gây ra, trong đó có sự lẫn lộn trong địa chỉ mà người ta gọi là liên kết chồng chéo chi đó, nếu dùng Zero Fill Track là phải chấp nhận mất những dữ liệu trên đĩa vì khi điền số 0 lên toàn bộ mặt đĩa cũng giống như xóa sạch sẽ hết để trở lại từ đầu vậy mà. Chuyện này không làm ảnh hưởng đến tuổi thọ của ổ cứng gì, so với việc để ổ cứng quá nóng, shutdown đột ngột mà không scandisk, dùng hoài mà chẳng defragment...
    Có một vấn đề nhỏ là sau khi Zero Fill Track xong nhớ vào Bios detech nếu máy chưa nhận ổ cứng, sau đó tiến hành fdisk (hoặc dùng PQMAGIC chia đĩa luôn cho tiện). Trường hợp sau khi hoàn tất, format xong xuôi nhưng cài win không được thì tinykid về dos dùng Fdisk để active cho partition C:, dùng thêm lệnh "Fdisk /mbr" luôn cho trọn bộ, khởi động lại là xong hết.
    Chúc thành công và nhớ luôn backup dữ liệu trước nha :D
     
  5. tinykid

    tinykid New Member

    Bài viết:
    4
    Ờ ha, cái gì xử lý được thì cũng phải dựa vào phần mềm , nhờ anh Nghiện nhắc mà kid mới nhớ ra . Mặc dù để format cấp thấp người ta thường dựa vào ROM Bios trong những main board đời củ . Khi vào CMOS có một mục Low level format , hồi giờ cứ tưởng lộn nó thuộc về phần cứng .

    Như anh đã nói, khi gặp trường hợp bad track bất kì thì đầu tiên mình dùng chức năng Zero Fill Track để ... xử nó . Sau đó cho Bios nhận dạng ổ cứng . Kế đó là fdisk , format . Và cuối cùng là cài đặt . hè hè, vậy là êm chuyện với mấy chú hdd giở chứng bad biếc :D . Độc đáo thiệt nha !

    Có một lần , kid em gặp một ổ cứng kì cục . Chuyện là vầy, thằng bạn của kid không biết đã làm gì với ổ cứng của nó khiến cho CMOS chỉ nhận ra một ổ cứng với tên lạ hoắc . Và tất nhiên không thể khởi động được . Vào Dos bằng CD hay ổ A để nhìn thử ổ cứng nhưng không thấy . Nó tiếc hùi hụi mấy chương trình và dữ liệu đã lưu trong đó . Kêu kid qua, kid cũng pó tay . Cái này phải làm sao để sử dụng lại được anh Nghiện ?

    cmos nhận dạng như vầy : (chỉ là ví dụ , số liệu không phải giống như vậy )
    khi chưa hư : HDD Seagate 123ABC 10G.
    khi bị hư : HDD Seagate 12e3AgC''' 10'''G'''.
    Kid nhớ rõ nhất là mấy cái dấu nháy đơn ''' ở đâu ra không biết nữa.



    Anh Nghiện làm bác sĩ chữa bệnh giúp . :D
     
  6. NGHIEN_VT

    NGHIEN_VT Thành viên mới nhất

    Bài viết:
    237
    Nơi ở:
    Việt Nam, Tp.Hồ Chí Minh
    Thay cái main cho nó đi tinykid, ngoài Nhật Tảo quá trời hdd bị chết, chỉ cần mua cái cùng loại về thay, giá dưới 10.000/hdd nha...
    edit: nếu thay main thì 80% dữ liệu còn nguyên...
     
Trạng thái chủ đề:
Không mở trả lời sau này.

Chia sẻ trang này