Snelheid van 4 of 6 usb3.0 sticks in raid0?

Pagina: 1
Acties:

  • Snowwie
  • Registratie: September 2003
  • Laatst online: 16:24
Wat zou er gebeuren als je 4 of 6 usb sticks (van bv. elk 8GB) aansluit op usb 3.0 poorten en dit (onder Windows) in een raid0 configuratie zet?

De maximale snelheid per usb 3.0 poort is 5Gbit/s. Zou je met 6 USB sticks in raid0 een theoretische snelheid kunnen halen van 30Gbit?

Zo niet, wat zou dan de beperkende factor kunnen zijn?

Aangezien usb sticks niet duur zijn, bv. de
pricewatch: Kingston DataTraveler 100 G3 8GB Zwart
is nog geen 8 euro per 8GB, zou dit een interessant idee zijn voor mensen die veel snelheid eisen voor hun applicaties.

Heeft iemand dit ooit getest?

Mijn YouTube Channel


  • Yemoke
  • Registratie: Mei 2003
  • Laatst online: 27-10-2024
Ik heb werkelijk geen idee, maar als ik de read en write prestaties van het stickje bekijk ga je nog niet heel veel opschieten. Wil je beetje deftige read en writes zit je alweer op 40e ofzo per stick. Dan kun je alweer een ssd kopen omdat je er meerdere nodig hebt....

Maarja wel leuk voor de spielerij :P Ben benieuwd ;)

Verwijderd

Theoretisch doen ze
Lezen (maximaal) 40MB/s
Schrijven (maximaal) 10MB/s
x4 a x6 zou dat theoretisch opleveren:
Lezen (maximaal) 160MB/s ~ 240MB/s
Schrijven (maximaal) 40MB/s ~ 60MB /s
Maar dan heb je nog altijd beperkende factoren zoals latency, hoeveel extra randapparaten er op je USB bus zitten en hoeveel de USB bus gebruiken mag in totaal. Ook kost het geloof ik CPU tijd om een USB stick aan te sturen, (ik kan me vergissen) volgens mij niet echt lonend dus.

  • Snowwie
  • Registratie: September 2003
  • Laatst online: 16:24
Ach ja natuurlijk. USB 3.0 geeft een maximale doorvoersnelheid van 5Gbit, maar dan moet je natuurlijk ook een usb stick hebben die zo snel kan.

Mijn YouTube Channel


  • johnkeates
  • Registratie: Februari 2008
  • Laatst online: 04-07-2025
Je haalt in totaal nooit meer dan 5Gbit, dat is de snelheid van je USB controller per USB kanaal. Intern wil er nog wel eens een hub tussen zitten dus dat helpt ook al niet.

Daarnaast is een interne USB controller via PCIe of een andere interne bus aangesloten. Die heeft ook beperkingen qua snelheid. Verder kan je geen DMA doen via USB, dus het gaat een erg CPU-intensieve zaak worden. Om dat de controllers voor het flash-geheugen in USB-sticks niet echt gemaakt is om dit te doen zal je ook sneller last hebben van uitval door de bergen kleine reads en writes die je gaat krijgen.

Als je iets extern aansluit en je wil snel data heen en weer kunnen pompen heb je gewoon DMA nodig.
DMA wordt ondersteund met bijv. FireWire en Thunderbolt (wat dan weer gewoon PCIe is; PCI en PCIe ondersteunen ook DMA). Dat is ook de reden waarom fabrikanten en in de professionele AV wereld FireWire en Thunderbolt wel opties zijn en USB niet om maar wat te noemen. Je hebt qua snelheid, latency en CPU-gebruik niks aan een bus die geen DMA doet. ExpressCard is er ook zo een, heeft wel DMA, is ook PCIe-achtig als ik me niet vergis. Je kon ze daarom ook gebruiken om diverse bussen toe te voegen aan laptops.

Dus, RAID-0 USB sticks? Slecht idee, gaat wel werken, maar gaat verschrikkelijk inefficient zijn en (relatief) veel CPU eten. Met geheugen kaartjes zou je dan wat meer succes kunnen boeken om dat je daar wat meer degradatie bescherming mee kan verzorgen om dat je meestal wel wat meer met de controller op de geheugenkaart kan doen. RAID 1 is dan wel weer leuk, want hoewel dat niks helpt qua performance is het wel 'veiliger' ;)

  • Umbrah
  • Registratie: Mei 2006
  • Laatst online: 10:06

Umbrah

The Incredible MapMan

Je vergeet ook nog eens dat USB niet full-duplex is... dus naast de beperkingen van geen DMA, zit je dus ook nog eens (al héb je een supersnelle USB stick) met 2,5gbit effectief... of 250mb.

Naast performance zit je echter aan nog een aantal andere factoren (geen DMA storage koppelen met software raid, die laat ik even in het midden!): betrouwbaarheid. Raid0 is daar al geen koning in, maar USB sticks doen het even nóg slechter. Iedereen is wel bekend met de beperkingen van nand-flash (schrijven per page, maar X aantal rewrites, page kun je niet aanpassen maar moet je opnieuw schrijven, etc...). Waar een SSD een toch vrij heftig stukkie over provisioning heeft om de nand-beperkingen op te vallen (dit naast een stuk slimme wear leveling, en technieken als trim), is USB/SD/MicroSD/overig flash geheugen al vrij snel toch erg dicht op de maximale capaciteit. En ook nog eens niet slim: geen controller aan boord immers. En vandaar dat die krengen bij stevig gebruik dan ook steeds stuk gaan (of: je moet er weer een van €40 kopen). Een van je zes sticks kapot, en over en uit! Hetzelfde geld voor de bevestiging. USB is ontworpen voor snel en eenvoudig inpluggen/verwijderen. Dat wil je JUIST niet bij RAID... een stootje tegen een stick die wat "ruim" in de plug (die tevens bevestiging is) zit, en blam, hele volume weg!

Tsja, en dan sluit ik me aan bij mijn collegae: een SSD is eigenlijk niets anders dan wat je omschrijft. Alleen dan zonder USB: een controller (indilinx/sandforce/etc...) die een aantal NAND-chips in Raid0 aanstuurt (goh, NAND, dat ken ik ergens van), met een stelletje slimme algoritmes om goed voor die chips te zorgen. Een condensatortje er op voor het geval de stoom uitvalt midden in een pagewrite, en een deftige "vertaal interface" die AHCI en IDE als taaltje wil accepteren over een kabeltje of een slot. Dit alles op één printplaatje, met vaak/soms (msata modules niet vergeten!) een "huisje" er omheen waardoor de module stevig vast gezet kan worden in een kast. Stevig, zeker, gegarandeerd, en één kabeltje wat NIET óók nog de module moet tillen. En omdat het échte storage (dus niet generieke) taal spreekt: CPU ontlastend en DMA.

Verwijderd

Laatste punt: uitval. Als 1 van je USB's stopt met werken dan dondert je hele Raid-0 array in elkaar.

Raid-0 is puur voor performance, totaal geen redundantie. Het gebeurd nog wel eens dat USB sticks zonder opgaaf van reden ermee stoppen, of na een zeker aantal writes ook de geest geven. Vaak kan je USB sticks overigens ook niet 'partitioneren', alleen formatteren. Zo zijn ze gelocked namelijk, dat kan problemen geven in een Raid-array.

Mweh. Koop een leuke SSD als het je voor de snelheid is. :) Het zal ongetwijfeld werken maar geen magische boost van 6 stuks in Raid-0 voor 8 euro de stick.

Verzin liever iets dat je DDR1/2/3 geheugen gezamelijk op een kaart prikt en dat als storage in kunt zetten, denk bijv aan de Gigabyte i-ram. Eerder raakt hier je S-ata kanaal de bottleneck.

  • Umbrah
  • Registratie: Mei 2006
  • Laatst online: 10:06

Umbrah

The Incredible MapMan

Verwijderd schreef op donderdag 12 maart 2015 @ 04:58:

Verzin liever iets dat je DDR1/2/3 geheugen gezamelijk op een kaart prikt en dat als storage in kunt zetten, denk bijv aan de Gigabyte i-ram. Eerder raakt hier je S-ata kanaal de bottleneck.
Zet ze gewoon in hun geheugenslots, haal ergens de MSVC compiler vandaan en/of visual studio (de community edition maar met MSVC compiler zou moeten voldoen), en compile + run dit: MSDN: Windows RAMDisk Storage Driver Sample in C++ for Visual Studio 2013

Te veel moeite? LMDisk ontzorgt: http://www.ltr-data.se/opencode.html/
Pagina: 1