Stort eeprom till datorn, låg accesstid.

Elektronikrelaterade (på komponentnivå) frågor och funderingar.
8051guru
Inlägg: 54
Blev medlem: 15 februari 2007, 09:25:19
Ort: Bohuslän
Kontakt:

Stort eeprom till datorn, låg accesstid.

Inlägg av 8051guru »

Hej!

För ett projekt jag håller på med behöver jag ett minne på nånting mellan 4 och 32 GB. Minnet måste gå väldigt fort att LÄSA några FÅ byte från. Hur många MB/s tekniken medger är i princip oväsentligt. Det som spelar roll är hur lång tid det tar från att programmet i datorn bestämmer sig för att läsa typ 16 byte på ett visst ställe i detta stora minne, till det att avläsningen är klar. Förutom detta har givetvis priset betydelse. Annars hade jag kunnat smälla in 16 eller 32 GB ram i datorn. Hårddisk går åt skogen för långsamt. Det kan heller inte bli frågan om att man kör via USB, eftersom accesstiderna där också är aldeles för höga. Jag funderar lite på om det kan fungera att köra compact flash som sitter i ett pc-card (ja, det är på en laptop) eller pci-kort (okej, stationärt är också intressant).

Accesstider på upp till 10 mikrosekunder skulle kunna vara intressant, men helst under 1 mikrosekund.

Det ska bara köras på ett ställe med ett enda minne utan att byta.
Nån som tänker nåt? :?
AMP
EF Sponsor
Inlägg: 204
Blev medlem: 3 november 2004, 12:10:26

Inlägg av AMP »

Varför inte en RAM disk på pci busen finns färdiga kort att sätta i med vanliga ddr minnen. Finns även med separat strömförsörjning! Kanske skulle kunna vara något?
Användarvisningsbild
Zyxel615
EF Sponsor
Inlägg: 1839
Blev medlem: 9 november 2005, 21:20:43
Ort: Kiruna

Inlägg av Zyxel615 »

Får man lov att fråga vad du ska göra? Blir ju en aning nyfiken :)
8051guru
Inlägg: 54
Blev medlem: 15 februari 2007, 09:25:19
Ort: Bohuslän
Kontakt:

Inlägg av 8051guru »

AMP, alltså DDR-minnen är för dyra, 1000kr per GB minst. Compact flash kostar mycket mycket mindre, men jag känner inte till accesstiderna. Och jag vet alltså inte om det finns ännu bättre alternativ.

Zyxel, det går UTMÄRKT att fråga. Det är en databas som man behöver komma åt på slumpmässiga ställen hela tiden, och jättefort.
sodjan
EF Sponsor
Inlägg: 43251
Blev medlem: 10 maj 2005, 16:29:20
Ort: Söderköping

Inlägg av sodjan »

> det går UTMÄRKT att fråga....

Och svaren öppnar för fler frågor... :-)

En "databas" !?
Med en egenskriven "engine" ?
Annars (om det är en standard DBMS) så måste det väl
rimligen vara en lösning som den har stöd för !?

EDIT : En sak till...

> Förutom detta har givetvis priset betydelse.

Det tror jag inte på. Inte med dom kraven...
TERdON
EF Sponsor
Inlägg: 295
Blev medlem: 15 november 2006, 04:38:29
Ort: Solna/Laholm
Kontakt:

Inlägg av TERdON »

Exakt hur höga är hastighetskraven? Finns ju IDE-baserade flashdiskar som ska vara snabba (försumbar åtkomsttid jämfört med riktiga hårddiskar), fast jag har för mig att de fortfarande mäter åtkomsttiderna för även dem i ms (typ 0,1 eller så, dvs 10 gånger långsammare än du önskade). Om inte den lösningen duger finns det bara två kvar:

RAM i solidstatedisk-PCI-kort som tidigare nämnts och RAM i RAM-slot på moderkortet är alternativet. Det första har du redan fått beskrivet, men 4 GB är ju faktiskt inte så dyrt numera att utrusta en dator med, dock kommer det att krävas att du använder processor, moderkort och operativsystem som stöder mer än 4 GB minne. Med andra ord, glöm 32-bitars grejer. Med 64-bitars prylar (med gott om RAM-slottar) är det inga problem alls. Ja, det kommer kosta lite grann, men det är nog inte mycket att be för.

Ett alternativt sätt vore naturligtvis att kontrollera om det går att strukturera om datat. MÅSTE du verkligen ha endast 10 µs accesstid till alla dessa data? Går det inte att exempelvis välja en submängd i taget att läsa in i RAM-minnet?
8051guru
Inlägg: 54
Blev medlem: 15 februari 2007, 09:25:19
Ort: Bohuslän
Kontakt:

Inlägg av 8051guru »

Okej. Jag ska säga vad det är till! Det är till en grej, hehe.

Det är en ganska enkel, men inte trivial, datastruktur som tar mycket plats men som är snabb att söka i, förutsatt att den faktiskt är snabb att söka i rent hårdvarumässigt då.

Jag har inga exakta hastighetskrav. Jag vill bara hamna i rätt 10-potens, och det är nog ungefär 100ns - 1us, med tanke på att det finns andra saker som ska göra emellan accesserna. Och jag vet alltså inte om det kommer att röra sig om 4GB eller 32GB.
sodjan
EF Sponsor
Inlägg: 43251
Blev medlem: 10 maj 2005, 16:29:20
Ort: Söderköping

Inlägg av sodjan »

Dina krav kan kanske lösas med en server med 32 GB minne
och en "normal" databas motor. Oracle, DB2, whatever.
Men det kommer att kosta ett par tre hundra tusen.
Dina "krav" verkar vara lite tagna ur luften, och det är
väldigt svårt att förstå var de kommer ifrån. Är du *säker*
på att du tittar mot rätt lösning på ditt aktuella problem !?
8051guru
Inlägg: 54
Blev medlem: 15 februari 2007, 09:25:19
Ort: Bohuslän
Kontakt:

Inlägg av 8051guru »

Jag har nåt vagt minne av att compact flash användes för programminnet i ett microcontroller-system. Måste jag alltså minnas fel?
TERdON
EF Sponsor
Inlägg: 295
Blev medlem: 15 november 2006, 04:38:29
Ort: Solna/Laholm
Kontakt:

Inlägg av TERdON »

När senast såg du ett mikrokontrollersystem med tiotals gigabyte minne, oavsett sort? Det är inte så svårt att skapa den hastighet du påstår dig behöva, inte heller att skapa den mängd du vill ha. Däremot när man är ute efter bägge egenskaperna samtidigt, då börjar det kosta kosing...

Om du fortfarande är skeptisk till det vi säger - 100 ns är bara runt (knappt) tio gånger mer tid än den typiska accesstiden för de senaste DDR2-minnena, som har en accesstid i storleksordningen 10-20 ns.

Alla andra typer av minnen är betydligt långsammare (förutom SRAM som är snabbare, men det tillverkas inte i tillnärmelsevis så stora storlekar så det kan vi glömma direkt), flash är antagligen det snabbaste alternativet, med vilket du KANSKE kan uppnå fördröjningar i storleksordningar mätbara i mikrosekunder i alla fall.

Inte heller att lägga lagringen på en fet databasserver funkar. Bara TCP-IP-stacken gör att en ping till localhost på min bärbara dator tar över 100 mikrosekunder. Även om den snart har tre år på nacken borde det inte skilja över en tiopotens.

Så, om det som skrivits verkligen är de verkliga kraven, så finns det bara en lösning. En fet serverdator med massor av minne som du kör programmet på.
limpan4all
Inlägg: 8458
Blev medlem: 15 april 2006, 18:57:29
Ort: Typ Nyköping

Inlägg av limpan4all »

En liten kolla bara. Skall det direktkopplas till en PC och med standardgrässnitt? Skall du bygga en eller flera? Skall/vill/kan du skriva koden mot lagringssystemet? Hur många 16 bytes accsesser/s? Är accessserna helt slumpmässiga i minnet? Ska den köra ett standard OS typ Linux/Windows?
limpan4all
Inlägg: 8458
Blev medlem: 15 april 2006, 18:57:29
Ort: Typ Nyköping

Inlägg av limpan4all »

Eller skulle inte en sån här möjligen lösa ditt problem?

http://www.nyteknik.se/art/50138
Eller dess föregångare http://www.samsung.com/PressCenter/Pres ... 0000332936
Jag har tyvärr inte hittat ett komplett datablad.

Men med bara magkänsla skulle jag säga att det är omöjligt idag att göra det du vill med någon av ekonomiskt tillgängliga sekundära lagringstekniker till PC.
TERdON
EF Sponsor
Inlägg: 295
Blev medlem: 15 november 2006, 04:38:29
Ort: Solna/Laholm
Kontakt:

Inlägg av TERdON »

limpan4all: Jo, det var därför jag föreslog det tidigare i tråden. Frågan är bara vilka accesstiderna är. När jag sökte tidigare hittade jag uppgifter om ungefär 0,1 ms för andra IDE-flashdiskar. Vilket ju är åtminstone en (eller två-tre beroende på uppgift) tiopotens för högt, om det inte är väldigt pessimistiskt specat...

Det skulle utan tvekan funka om kraven inte är fullt så hårda som tidigare sagts i tråden, menmen...
Användarvisningsbild
mrOh
EF Sponsor
Inlägg: 541
Blev medlem: 6 mars 2005, 13:54:31
Ort: Bromma

Inlägg av mrOh »

Skulle det inte fungera att köra en Raid0:a med ett par diskar? Det borde väl kunna snabba upp ganska mycket?

Edit: Diskarna i fråga skulle då vara de Solidstate diskarna TERdON nämner.
8051guru
Inlägg: 54
Blev medlem: 15 februari 2007, 09:25:19
Ort: Bohuslän
Kontakt:

Inlägg av 8051guru »

Det verkar som att det blir till att testa själv.

En konstig sak: En microcontroller kan ha programminnet i flash, men accesstiderna för större flash-minnen går inte att få under 0,1ms.

Hur hänger det ihop? Vad är det för teknisk svårighet med att ett stort flashminne skulle ha låg accesstid?
Skriv svar