USB 3.1 en storage
Wij liepen eerst echt tegen het onderwerp C-states aan bij de Skylake-generatie, toen C8 voor het eerst werd geïntroduceerd voor de desktop. Het bleek dat de USB 3.1-prestaties soms verrassend slecht waren, maar dat dit bij sommige merken vaker voorkwam dan bij andere. In sommige gevallen bleken USB 3.1-poorten nauwelijks sneller te zijn dan het maximum van USB 3.0.
Deels kan dit natuurlijk komen door een minder goede implementatie, maar een andere oorzaak is dat we de C-states altijd op de hoogst mogelijke instelling zetten. In sommige gevallen bleek dit te leiden tot aanzienlijk slechtere USB 3.1-prestaties. Dit fenomeen is beperkt tot USB 3.1, bij de benchmarks die we tot dan toe draaiden hadden C-states geen noemenswaardig effect.
Om deze problemen in de toekomst te vermijden hebben we besloten het testen op de maximale C-state uit te faseren. In plaats daarvan zullen we bij de volgende generatie overgaan op het testen met de standaardinstellingen in de BIOS. Een fabrikant kan zo zelf de afweging maken tussen een lager stroomverbruik en betere prestaties in bepaalde benchmarks.
Implementatie
Lang niet alle moederbordfabrikanten implementeren C-states op exact dezelfde manier. Vanwege de invloed die dit kan hebben op de prestaties, worden de C-states niet 100% op de juiste manier geïmplementeerd. Zo zie je bij moederborden dat de Package C-state soms in de praktijk niet hoger gaat dan C3, ongeacht wat er in de BIOS is ingesteld. Dit zorgt dan voor iets betere prestaties, maar het gaat wel ten koste van de zuinigheid.
Een bijkomend issue is dat de hoogste C-state niet alleen afhangt van wat je in het moederbord instelt. Zoals gezegd kunnen C-states in de BIOS worden ingesteld. C0 is de ‘laagste’ C-state, waarbij zowel de prestaties als het stroomverbruik het hoogst zijn, terwijl de ‘hoogste’ C-state afhankelijk van de processor C6 (Haswell of Broadwell) of C8 (bij Skylake) is. Met een videokaart word je ook bij Skylake beperkt tot Package C3. Ook kunnen andere componenten invloed hebben op de maximale C-state: met bepaalde SSD’s kom je ook maximaal op Package C3. Tot slot is het in ieder geval bij een ASMedia ASM1142 controller het geval dat als je een USB 3.1 storage-apparaat aansluit, de Package C-state weer maximaal C3 is.