Hello,
Sinds gisteren heb ik een SATA 2 compliant kaartje in mijn stokoud moederbord geprikt (socket 478, zoek daar maar eens een beschikbaar moederbord van met meer dan 4 SATA poorten, laat staan sata 2 compliance
). Eindelijk kan ik de extra jumper (forceer SATA I) van mijn schijven weghalen, en de volle snelheid benutten.
Nu merk ik, zoals verwacht, bijster weinig van die verhoogde snelheid. Gelukkig heeft SATA II nog andere features in petto, zoals NCQ. (Ik weet dat NCQ voornamelijk goede resultaten geeft bij server loads, maar boot-times zouden er ook drastisch door moeten verlaagd worden!)
Al mijn drives ondersteunen NCQ, getuige deze HDparm output
Ik maak gebruik van kernel 2.6.26-4, en naar ik gelezen heb moet je > kernel 2.6.24 hebben voor volwaardige NCQ support. Geen probleem dus.
Het kaartje dat in mijn PC zit, is een Promise SATA300 TX4 kaartje, dat volgens de site NCQ zou moeten ondersteunen.
Op de site van linux-ata staat er het volgende:
Ik lijk dus aan alle vereisten te voldoen, en ook dmesg bevestigt dat
De NCQ depth staat echter op 0. Volgens de libATA FAQ:
Gewoon een kwestie van NCQ inschakelen dus. Maar laat dat nu het deel zijn dat me niet lukt
[cmd]root@desktop:~# echo 31 > /sys/block/sda/device/queue_depth
bash: /sys/block/sda/device/queue_depth: Toegang geweigerd[/code]
Het read-only karakter van het queue_depth field zou betekenen dat mijn controller geen NCQ ondersteund, maar dit kan toch niet kloppen volgens de Promise site? Is er een manier om te controleren of mijn Promise controller wel degelijk NCQ ondersteund?
Sinds gisteren heb ik een SATA 2 compliant kaartje in mijn stokoud moederbord geprikt (socket 478, zoek daar maar eens een beschikbaar moederbord van met meer dan 4 SATA poorten, laat staan sata 2 compliance
Nu merk ik, zoals verwacht, bijster weinig van die verhoogde snelheid. Gelukkig heeft SATA II nog andere features in petto, zoals NCQ. (Ik weet dat NCQ voornamelijk goede resultaten geeft bij server loads, maar boot-times zouden er ook drastisch door moeten verlaagd worden!)
Al mijn drives ondersteunen NCQ, getuige deze HDparm output
code:
1
2
3
4
5
6
7
8
| root@desktop:~/bin/packages/dbpoweramp# hdparm -I /dev/sda | grep NCQ
* Native Command Queueing (NCQ)
root@desktop:~/bin/packages/dbpoweramp# hdparm -I /dev/sdb | grep NCQ
* Native Command Queueing (NCQ)
root@desktop:~/bin/packages/dbpoweramp# hdparm -I /dev/sdc | grep NCQ
* Native Command Queueing (NCQ)
root@desktop:~/bin/packages/dbpoweramp# hdparm -I /dev/sdd | grep NCQ
* Native Command Queueing (NCQ) |
Ik maak gebruik van kernel 2.6.26-4, en naar ik gelezen heb moet je > kernel 2.6.24 hebben voor volwaardige NCQ support. Geen probleem dus.
Het kaartje dat in mijn PC zit, is een Promise SATA300 TX4 kaartje, dat volgens de site NCQ zou moeten ondersteunen.
code:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
| *-storage
description: Mass storage controller
product: PDC40718 (SATA 300 TX4)
vendor: Promise Technology, Inc.
physical id: 3
bus info: pci@0000:02:03.0
logical name: scsi4
logical name: scsi5
logical name: scsi6
logical name: scsi7
version: 02
width: 32 bits
clock: 66MHz
capabilities: storage pm bus_master cap_list emulated
configuration: driver=sata_promise latency=72 maxlatency=18 mingnt=4 module=sata_promise |
Op de site van linux-ata staat er het volgende:
code:
1
2
3
4
| Promise TX2/TX4 Driver name: sata_promise Summary: No TCQ. Newer cards support NCQ. Full SATA control including hotplug and PM on all. |
Ik lijk dus aan alle vereisten te voldoen, en ook dmesg bevestigt dat
code:
1
2
3
4
| [ 4.201125] ata5: SATA link up 3.0 Gbps (SStatus 123 SControl 300) [ 4.249096] ata5.00: ATA-7: MAXTOR STM3250820AS, 3.AAE, max UDMA/133 [ 4.249096] ata5.00: 488397168 sectors, multi 0: LBA48 NCQ (depth 0/32) [ 4.321096] ata5.00: configured for UDMA/133 |
De NCQ depth staat echter op 0. Volgens de libATA FAQ:
code:
1
| If NCQ is present but disabled, you may see "depth 0" |
Gewoon een kwestie van NCQ inschakelen dus. Maar laat dat nu het deel zijn dat me niet lukt
code:
1
2
| Enabling NCQ, if supported, is the same: $ echo 31 > /sys/block/sdX/device/queue_depth |
[cmd]root@desktop:~# echo 31 > /sys/block/sda/device/queue_depth
bash: /sys/block/sda/device/queue_depth: Toegang geweigerd[/code]
Het read-only karakter van het queue_depth field zou betekenen dat mijn controller geen NCQ ondersteund, maar dit kan toch niet kloppen volgens de Promise site? Is er een manier om te controleren of mijn Promise controller wel degelijk NCQ ondersteund?