MicroSD-Flash-Blockgröße

Ich arbeite an einer Low-Power-Anwendung mit Datenspeicherung auf einer microSD-Karte. Im Interesse der Minimierung des Stromverbrauchs plane ich, Daten vor dem Schreiben im RAM zu puffern, und ich vermute, dass die optimale Puffergröße ein ganzzahliges Vielfaches der Flash-Blockgröße auf der SD-Karte wäre, da dies hoch minimieren / eliminieren würde -Stromversorgung/langsames Löschen/Neuschreiben von Blöcken. Leider hatte ich wenig bis keinen Erfolg, Informationen über Flash-Blockgrößen in SD-Karten zu finden. Das Beste, was ich gefunden habe, ist, dass sie anscheinend zwischen 16 KB und 2 MB groß sind. Da es sich um ein Verbraucherprodukt handelt, sind technische Details des Herstellers praktisch nicht vorhanden. Gibt es einen esoterischen Befehl in der SD-Spezifikation oder etwas, mit dem ich die Flash-Blockgröße bestimmen kann? Ist dieser Ansatz unnötig/übertrieben/ansonsten sinnlos?

Hoppla, gefunden: SECTOR_SIZE (Sektorgröße löschen) im CSD-Register.

Ich schätze, ein Follow-up ist, ob es nützlich ist, Schreibvorgänge für Energiesparzwecke sektoral auszurichten, aber zumindest werde ich das wahrscheinlich messen können.

Verwenden Sie das offizielle SD-Formatierungstool und sehen Sie, welche Blockgröße es für Ihre Karte verwendet, und verwenden Sie dann dieselbe Größe, wenn Sie neu formatieren: sdcard.org/downloads/formatter

Antworten (1)

Indem Sie Ihre Blockschreibvorgänge an den Flashkartenblöcken ausrichten, können Sie die Schreibgeschwindigkeit erhöhen, da Sie nur einen Block statt zwei oder mehr schreiben, und somit die Zeit verkürzen, die die Karte mit Strom versorgt werden muss. Darüber hinaus verbraucht ein Flash-Block-Schreibvorgang weniger Strom als die zwei, die erforderlich wären, wenn Sie über eine Grenze schreiben würden.

Ihre größte Energieeinsparung liegt jedoch darin, so schnell wie möglich mit der Karte zu kommunizieren, damit Sie sie so kurz wie möglich mit Strom versorgen können.

Obwohl ein Flash-Block-Schreibvorgang ziemlich viel Strom verbraucht, wird die langsame Kommunikation mit der Karte und das Belassen der Karte während der Kommunikation ziemlich viel mehr verbrauchen, wenn Sie die Kommunikation nicht beschleunigen.

Gibt es beim Schreiben auf eine SD-Karte separate Statusbits, die anzeigen: „Ich bin mit dem letzten Schreiben genug fertig, um einen weiteren Befehl zu akzeptieren“ im Vergleich zu „Ich bin mit dem letzten Schreiben genug fertig, dass ich sicher ausgeschaltet werden kann“?
@supercat Ich erinnere mich nicht, aber das ist eine gute Frage für die SD-Spezifikation.