Online-Workshop PicoBello

Raspberry Pi Pico: Speicher und Garbage Collection mit MicroPython

Raspberry Pi Pico ist ein Mikrocontroller, der über begrenzten Speicher verfügt. Deshalb ist es wichtig zu wissen, wie Speicher in MicroPython verwaltet wird und wie die Garbage Collection funktioniert. Es wird erläutert, wie der Speicher von Pico organisiert ist, welche Auswirkungen die Garbage Collection auf die Leistung hat und wie man manuell Garbage Collection durchführen kann, um den Speicherbedarf zu optimieren.


MLC-Flash (Multi Level Cell)

MLC-Flash speichert zwei Bit pro Speicherzelle. Er hat dadurch eine höhere Speicherdichte im Vergleich zu SLC-Flash, bei gleichen Siliziumkosten.

MLC-Flash lässt sich günstiger fertigen und eignet sich besonders in Produkten für den Massenmarkt. Allerdings lassen sich die MLC-Speicherzellen nicht ganz so schnell beschreiben, wie SLC-Speicherzellen.

Es treten häufig Lesefehler auf. Vor allem dann, je öfter eine Zelle beschrieben wurde. Deshalb benötigen MLCs mehr Fehlerkorrekturmechanismen.


Update: Flash-Speicher

Berücksichtigung neuer Erkenntnisse zur Haltbarkeit und Zuverlässigkeit von Flash-Speicher: Generell kann man davon ausgehen, dass SSDs im alltäglichen Desktop-Betrieb länger halten, als von den Herstellern angegeben. 3.000 bis 100.000 Speicher- bzw. Löschzyklen sind für die meisten Anwendungen vollkommen ausreichend. Vor allem wenn mit Wear-Leveling alle Speicherzellen gleichmäßig belastet und so die Lebensdauer verlängert wird.


Update: RAM – Random Access Memory

RAM bezeichnet einen Speichertyp dessen Speicherzellen über ihre Speicheradressen direkt angesprochen werden können. In diesem Zusammenhang wird auch von „wahlfrei“ gesprochen, was sich auf „random“ bezieht und nichts mit „Zufall“ oder „zufälligem Zugriff“ zu tun hat.

RAM wird in Computer- und Mikrocontroller-Systemen als Arbeitsspeicher eingesetzt. Weil in der Regel nur RAM als Arbeitsspeicher verwendet wird, wird RAM gerne als Abkürzung für Arbeitsspeicher verwendet.