PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : [ERLEDIGT] Spielzet von µSD Karte verdoppeln ?



PICture
22.08.2014, 14:37
Hallo!

Ich habe (leider) wieder eine "verrückte" Idee, die ich wegen fehlender Erfahrung, nicht beurteilen kann. Nach meinem bisherigen Wissen eine SD Karte hat 4 Databits die beschreiben werden können. Bei MP3 Player werden bisher nur zwei benutzt und zwei sind gar nicht angeschlossen.

Also theoretisch könnte man auf diesen zwei Bits nicht längere als auf übrigen Bits vorhandene MP3 Datei abspeichern und danach ablesen. Ich benutze sowieso einen MP3 Player ohne Display und brauche keine Dateinamen. Wäre es möglich durch zweifaches beschreiben der SD Karte mit Umschalten von den zwei bits, wie skizziert ?:

.--------------.
| | 1
| DAT2---->>----------------o
| | __--o----> DAT0/2
| | 2 +--------o |
| DAT3---->>---+ | zum µC
| | | | |
| | 3 +---|--------o
| ---->>- | __--o----> DAT1/3
| | | +----o
| | 4 | |
| ---->>- | |
| µSD Karte | | |
| | 5 | |
| ---->>- | |
| | | |
| | 6 | |
| ---->>- | |
| | | |
| | | |
| | 7 | |
| DAT0---->>-------+ |
| | |
| | |
| | 8 |
| DAT1---->>-----------+
| |
'--------------'

(created by AACircuit v1.28.6 beta 04/19/05 www.tech-chat.de)
Vielen Dank für Eure Beiträge im voraus. :)

Michael
22.08.2014, 14:55
nein, das funktioniert so nicht. Die Karte kann über 2 Datenpins per SPI angesprochen werden, oder über 4 Datenpins mit dem dafür entwickeltem Protokoll (das muss aber gekauft/lizensiert werden)
Glaub mir, die Hersteller schreiben schon drauf, was drin ist, da gibt es leider keinen versteckten Speicher ;)
Die Laufzeit der Karte kannst du nur verdoppeln, wenn du deine mp3-Files entsprechend herunterrechnest, von 128kBit auf 64 kBit z.B. Das hört man dann aber.

Gruß, Michael

PICture
22.08.2014, 15:07
Hallo Michael !

Leider überzeugt mich deine Erklärung nicht und ich kann dir nicht glauben, weil woher das SPI wissen sollte, auf welchen Bits sie gerade schreibt/liest ?

Es gibt sicher keinen versteckten, sondern nur unbenutzten Speicher.

Hast du das selber ausprobiert ? Ich werde es sicher tun, wollte mir aber gehasste um sonst Arbeit ersparen. ;)

Michael
22.08.2014, 15:19
sd.pdf (http://www.uni-koblenz.de/~physik/informatik/ECC/sd.pdf) Punkt 3.1


Hast du das selber ausprobiert ?
Was sollte ich ausprobieren? Das Offensichtliche?
Ich weiß, dass es nicht geht und das habe ich dir mitgeteilt. Wenn du es nicht glaubst, kann ich auch nichts mehr für dich tun.
Ist ein bisschen wie Perpetuum Mobile, da gibt es auch immer welche, die sagen, dass es geht, trotzdem probiere ich es nicht selber, weil ich es eben schon weiß :D

Gruß, Michael

PICture
22.08.2014, 15:32
O.K. Vielen Dank für dein Versuch ! :D

Ich werde noch etwas abwarten und danach selber probieren, weil ich oft wegen nicht glauben ans Offensichtliche schon einiges neues gefunden (nicht erfunden ! ;) ) habe.

Als Beispiel: gedrückte Taste prellt am µC Eingang beim loslassen nicht.

Croal
22.08.2014, 15:51
Bei dem ersten Generation des IPod Nano 4 GB gab es eine Möglichkeit den Speicher zu verdoppeln also die Theorie das die Hersteller das drauf schreiben was drin ist ist nicht haltbar. Nvidia hat das gerne praktitiert , zuerst die high end Karten zu verkaufen und dann wenn die Nachfrage für die kleinere Karten gross war da die GTX chips mit ein anderem bios zu verbauen. Die konnte man dann per BIOS flash freischalten. Die letzte Karte die mir untergekommen ist war die 460 GTX den ich zu eine 470 GTX geflasht habe.

PICture
22.08.2014, 16:03
Hallo Croal

Besten Dank für deinen praktischen Bericht, was mir immer am liebsten ist ! :D

Ich werde es sicher später probieren und berichten, weil das am PC einfach nur mit einem Umschalter am Adapter µSD <-> SD gehen sollte.

Sonst vermute ich, dass z.B. 8 GB SD Karte real 16 G * 4 Bit bzw. 32 G * 2 Bit speichern kann.

markusj
22.08.2014, 17:49
Also theoretisch könnte man auf diesen zwei Bits nicht längere als auf übrigen Bits vorhandene MP3 Datei abspeichern und danach ablesen.

Nein. Einfacher Grund: Du "sprichst" nicht mit Speicher, sondern mit einem Speichercontroller. Und der Speicherkontroller versteht verschiedene "Sprachen" (Protokolle), je nach Protokoll werden die Signalleitungen unterschiedlich genutzt. Die mit dem Protokoll übertragenen Inhalte bleiben gleich, nur die Übertragungsweise ist unterschiedlich. (Gleicher Text, andere Sprache).

Also nochmal: Nein, weil am anderen Ende der Leitung kein Speicherbaustein hängt.

Und was die iPod-Nano und Grafikkarten-Geschichte angeht: Das ist eine komplett andere Baustelle und nicht vergleichbar.

mfG
Markus

Croal
22.08.2014, 18:01
Sicher ist das eine andere Geschichte, ich wollte nur sagen viele Wege führen nach Rom. Ich habe auch mal bei Mikrocontroller.net ein thread mitverfolgt wo es um eine camera ging wo einer die Protokolle belauscht hat und nachempfunden hat so das man die Camera auch anderweitig nutzen konnte. Daher auch deine Aussage definitiv nein ist auch falsch. Die Frage ist wo das eigene wissen endet und wo man auf die eigene grenzen stößt.

PICture
22.08.2014, 18:28
Ich habe einen MP3 Player total zerlegt und gesehen, dass die DAT0 und DAT1 Pins von der µSD Karte gar nicht an Controller angeschlossen waren. Deshalb bin ich auf die Idee gekommen. Mich interessiert kein Protokoll, weil ich nur mit einfachem Schalter Bits miteinander tauschen will, was bei jedem RAM bzw. Flash egal ist.

Für mich nur unbekannt ist, ob man nach einmaligem Löschen einer SD Karte einzelne Bits zeitversetzt unabhängig voreinander, wie z.B. bei EPROMs, beschreiben kann. Nach etwas lernen: http://www.mikroe.com/downloads/get/1624/microsd_card_spec.pdf musste ich jedoch zugeben, dass es wirklich nicht möglich ist und ich mir das ganze anfangs zu einfach vorgestellt habe.

Deshalb möchte ich mich bei Michael und markusj entschuldigen und herzlich bedanken, dass sie mir unnötiges Basteln erspart haben. :D

markusj
23.08.2014, 10:11
Daher auch deine Aussage definitiv nein ist auch falsch. Die Frage ist wo das eigene wissen endet und wo man auf die eigene grenzen stößt.
Falsch. Du solltest dir die SD-Spezifikation ansehen bevor du über die Grenzen des eigenen Wissens referierst. Ob du mit dem Controller SPI oder ein anderes Protokoll sprichst, ändert nichts daran, welchen Speicherbereich er dir über dieses Protokoll zugänglich macht. Das ist nun Mal einfach kein Speicherbaustein in den du deine Daten direkt schreibst bzw. liest. Auf diesem Weg ist es unmöglich auf mehr oder weniger Speicher als "normal" zuzugreifen.

Du vergleichst Äpfel (künstlich und reversibel eingeschränkte Hardware/Software) mit Birnen (unveränderliche Kommunikationsverbindung). Um zu deiner Grafikkarte zu kommen: Das äquivalent wäre, wenn du an der Grafikkarte zusätzliche Anschlüsse am PCIe-Konnektor anbringen würdest. Ebenfalls Unfug, weil die Karte dadurch nicht schneller rechnet (und es fraglich ist, ob durch den Umbau eine höhere Bandbreite zur Verfügung steht). Vor allem ändert sich dadurch aber sicher nicht der vorhandene Grafikspeicher!

Um jetzt noch Mal einen Bogen zum ursprünglichen Anliegen zu schlagen: Auf dem beschriebenen Weg kommt man nicht zu mehr Speicher. es gibt aber andere Möglichkeiten. In den Flash-Werken werden nur wenige Standardgrößen hergestellt. Der Fertigungsprozess ist nicht perfekt, folglich gibt es defekte Bereiche auf den Flash-Chips. Um die Marge zu erhöhen versucht man auch von diesen Chips noch möglichst viele zu verwerten, indem die betroffenen Bereiche im Controller ausgeblendet werden - So sind in 4, 8 oder 16 GB Speicherkarten der gleichen Generation mit hoher Wahrscheinlichkeit Flash-Chips einer Größe verbaut, nur mit unterschiedlich vielen Fehlern. Schafft man es den Controller zu rekonfigurieren, kann man auch Zugriff auf die ausgeblendeten Bereiche bekommen - Und riskiert, seine Daten im WOM (http://de.wikipedia.org/wiki/Write-Only-Memory) zu versenken. Wen es interessiert, auf dem 30C3 gab es einen interessanten Vortrag (http://media.ccc.de/browse/congress/2013/30C3_-_5294_-_en_-_saal_1_-_201312291400_-_the_exploration_and_exploitation_of_an_sd_memory_ card_-_bunnie_-_xobs.html) zu diesem Thema.

mfG
Markus

Michael
23.08.2014, 10:30
So sind in 4, 8 oder 16 GB Speicherkarten der gleichen Generation mit hoher Wahrscheinlichkeit Flash-Chips einer Größe verbaut, nur mit unterschiedlich vielen Fehlern.
genau.
Und so ist es auch bei den Grafikkarten.
Die teuren werden nicht umgelabelt, damit man eine Billiglinie hat, sondern einfach, weil der Speicher wegen Fehlern ausgeblendet werden muss.
Wenn findige Modder den kaputten Speicher wieder einblenden, dann heißt das nicht, dass die Grafikkarte jetzt eine von den teuren ist.
Wenn man Glück hat, merkt die Software Fehler und kann sie ausbügeln, oder es gibt ein paar Grafikfehler.
Wenn man Pech hat, geht gar nichts mehr.


herzlich bedanken, dass sie mir unnötiges Basteln erspart haben.
na, da haben wir alle was Gutes davon ;)

Gruß, Michael

markusj
23.08.2014, 10:57
Und so ist es auch bei den Grafikkarten.
Die teuren werden nicht umgelabelt, damit man eine Billiglinie hat, sondern einfach, weil der Speicher wegen Fehlern ausgeblendet werden muss.

Bei Grafikkarten geht es (wie auch bei CPUs) aber eher um Recheneinheiten als um den Speicher. ;)

mfG
Markus

Croal
23.08.2014, 15:48
Ich wollte bestimmt nicht vorgeben das ganze zu über blicken nur Antworten wie nein das geht nicht finde ich recht doof und meine Erfahrung nach stimmen die oft nicht. Und was meine Grafikkarte angeht, ich habe den ohne zusätzliche Anschlüsse oder sonnstwas per BIOS freigeschaltet und unter Windows als GTX 470 erkannt und ohne hylogryphen oder Grafik Fehler Jahre lang funktioniert.

"Schafft man es den Controller zu rekonfigurieren, kann man auch Zugriff auf die ausgeblendeten Bereiche bekommen - Und riskiert, seine Daten im WOM zu versenken. "

Und schon wieder siehst du das Problem anstatt nach der Lösung zu suchen. Das ist der unterschied zwischen dir und mir. Da kommt wieder die Antwort neee das geht nicht blabla. Es kommt drauf an wie man an die Sache ran geht und ob du das Problem siehst oder die Lösung suchst und genau das wollte ich die ganze Zeit zu dieses Thema sagen.

markusj
23.08.2014, 21:56
Ich wollte bestimmt nicht vorgeben das ganze zu über blicken nur Antworten wie nein das geht nicht finde ich recht doof und meine Erfahrung nach stimmen die oft nicht.
Genau das ist das Problem. Du hast einen beschränkten Erfahrungshorizont, keine Ahnung vom Thema und akzeptierst die Aussage von jemandem mit mehr Hintergrundwissen nicht.

Meine Aussage zur Grafikkarte war ein Vergleich. Zu erwarten, dass du aus einer SD-Karte mehr Speicherkapazität quetschen kannst wenn du weitere Pins benutzt ist so wie die Idee, mit zusätzlichen Anschlüssen die GPU aufzubohren. Streng genommen ist letztere Idee im Hinblick darauf, wie Grafikkarten aufgebaut sind und vermarktet werden sogar noch realistischer.
Zu deiner GTX470: Glückwunsch, und jetzt? Es gibt immer Mal wieder Prozessoren oder Grafikkarten die im Kern leistungsfähiger sind als angegeben. Das passiert vor allem dann, wenn die Ausbeute in der Fertigung mehr "gute" Chips ergibt als erwartet/geplant und die Kundschaft aber "kleinere" Modelle nachfragt. Dann wird der prinzipiell leistungsfähigere Chip via Software in Funktionsumfang und Leistung reduziert. Das ist aber etwas anderes als tatsächlich vorhandene Grenzen der Hardware umgehen zu wollen.


"Schafft man es den Controller zu rekonfigurieren, kann man auch Zugriff auf die ausgeblendeten Bereiche bekommen - Und riskiert, seine Daten im WOM zu versenken. "

Und schon wieder siehst du das Problem anstatt nach der Lösung zu suchen. Das ist der unterschied zwischen dir und mir. Da kommt wieder die Antwort neee das geht nicht blabla. Es kommt drauf an wie man an die Sache ran geht und ob du das Problem siehst oder die Lösung suchst und genau das wollte ich die ganze Zeit zu dieses Thema sagen.
Der Unterschied zwischen dir und mir ist: Ich vermag besser einzuschätzen, wann es keine, oder keine sinnvolle/praktikabel, Lösung gibt. Du kannst in toten Speicher so viele Daten reinschreiben wie du willst, aber erwarte nicht je die gleichen Daten wieder auslesen zu können. Und selbst wenn dir Mal ein Glückstreffer gelingen sollte: Der Aufwand rechnet sich (im Gegensatz zu einer CPU oder Grafikkarte) nicht.

mfG
Markus

Croal
24.08.2014, 02:55
Und die bösen defekten Blöcke kann man natürlich nicht auswindig machen und überspringen oder wie? Es ist nämlich gang und gebe das es defekte Blöcke gibt und deswegen werden die noch lange nicht weg geschmissen. Aber das hast du auch so gesehen nehme ich an in deinem erweiterten Horizont. Und wieder hängst du fest indem du das Problem siehst und nicht die Lösung. Das kannst du sehen wie du willst das ist eine Einstellungssache und das holt dich in allen Lebensbereichen ein. Solltest du das persönlich nehmen tut es mir leid, war nicht meine absicht. Und nun haben wir zwei Seiten voll ohne die eigentliche Frage zu klären was mit den restlichen zwei Datenleitungen möglich ist.
Und nichts ist keine akzeptable Antwort!

PS: bei der ganzen Sache geht es gar nicht um Sinn oder Unsinn sondern verstehen und daulernen, und verstehen wie alles funktioniert.

PICture
24.08.2014, 09:18
@ P.S.: Dann musst du noch viel lernen: https://www.sdcard.org/downloads/pls/simplified_specs/archive/partE1_100.pdf . ;)

markusj
24.08.2014, 10:23
Und die bösen defekten Blöcke kann man natürlich nicht auswindig machen und überspringen oder wie? Es ist nämlich gang und gebe das es defekte Blöcke gibt und deswegen werden die noch lange nicht weg geschmissen.
Rate Mal was die Hersteller machen? Ich hatte weiter vorne schon erklärt, dass der Preisdruck im Bereich Flash-Speicher so hoch ist, dass da jedes Bit herausgequetscht wird. Die Fabs arbeiten nur deshalb noch rentabel, weil es fast keinen Ausschuss gibt. Will heißen: Da wird alles genutzt was irgendwie benutzbar ist.
Was die defekten Blöcke angeht: Weißt die wie Flash-Speicher funktioniert? Weißt du wie nah an der Grenze des physikalisch mach- und denkbaren diese Speicher operieren? Daten werden dort inzwischen nicht mehr in einer einzelnen Stelle gespeichert, sondern in bestimmten Mustern an mehreren Stellen - Weil nur dann die Wahrscheinlichkeit hoch genug ist, dass deine Daten auch nach Stunden, Tagen oder Wochen noch unverfälscht ausgelesen werden können. Ein Block ist nicht binär "gut" oder "schlecht", er kann einfach nur "problematisch schlecht" sein - Das sieht man ihm von außen aber nicht an, und das zu Messen erfordert wahrscheinlich direkten physischen Zugriff zum Chip.
Vielleicht ist es möglich, wenn man sich hinreichend Tief in die Struktur begibt, aus den eigentlich unbenutzbaren Bereichen noch ein paar Bits herauszukratzen. Nur: Der Verwaltungsaufwand ist dann so hoch, dass du mehr Speicher benötigst um diese "guten" Bereiche zu verwalten, als du dadurch gewinnst. Und Zugriffe werden aufgrund des gestiegenen Rechenaufwands auch noch langsamer erfolgen.

Kurz: Die Hersteller reizen die Speicherbausteine schon bis zum Äußersten aus. Es gibt nichts mehr zu gewinnen, wenn du Daten speichern und nicht nur verlieren willst.


Und nun haben wir zwei Seiten voll ohne die eigentliche Frage zu klären was mit den restlichen zwei Datenleitungen möglich ist.
Und nichts ist keine akzeptable Antwort!
Nichts. Nichts ist möglich, und nichts hast du aus den letzten zwei Seiten gelernt. Du kannst mit den zusätzlichen Leitungen andere (schnellere) Protokolle mit dem Controller sprechen, die Daten die dabei ausgetauscht werden bleiben aber die gleichen. Punkt. Das ist ein Fakt, genauso wie die Tatsache, dass 1+1=2 ist. Lies die Dokumentation, verstehe wie eine SD-Karte funktioniert und akzeptiere die Realität.

mfG
Markus

White_Fox
24.08.2014, 11:43
@Croal:
Nimm es nicht persönlich, aber du solltest es einsehen wenn jemand mehr weiß als du. Wenn jemand, der viel weiß, sagt dass es nicht geht, wird er wissen warum es nicht geht. Und damit höchstwahrscheinlich dichter an der Realität sein als jemand, der gar nix weiß. Oder?

@Picture:
Danke für diesen interessanten und informativen Thread.

@markusj:
Danke für die bereichernden Beiträge. :)

In manchen Foren gibt es eine Renomee-Funktion...die wäre hier durchaus angebracht, finde ich.