Zum Flashen gehört mehr !
Verschiedene ertec- Programmieralgorithmen bieten die Möglichkeit, spezielle Parameter während des Flashvorganges zu überwachen bzw. zu protokollieren. Bei NAND-Flash-Algos betrifft dies Anzahl und Nummern von Bad Blocks und Anzahl aufgetretener Bitflips. Algoabhängige ECC-Korrekturdaten werden vorher oder innerhalb des Flashvorganges online berechnet.
Heutzutage hat eigentlich jeder Produkte im Gebrauch, in denen NAND-Flash-Speicherbausteine verbaut sind. Denken wir nur an USB-Sticks, Tablet-PCs, MP3-Player oder auch CF- und SD-Speicherkarten in Navigationssystemen, Digitalkameras, Camcorder, Handys, Multimediageräten …
Die page- und blockorientiert arbeitenden NAND-Zellen der gleichnamigen Speicherbausteine haben im Vergleich zu den NOR-Flashes eine wesentlich höhere Speicherdichte. Sie sind daher für sehr hohe Speicherkapazitäten relativ produktiv herzustellen und damit preislich einfach günstiger als die NOR-Typen. Auch schnelle Schreib-und Lesegeschwindigkeiten bei riesigen Datenmengen sind vorteilhaft. Dagegen steht allerdings ein nicht unerheblicher Softwareaufwand bei Ansteuerung und Verwendung dieser Speicher.
Aufgrund fortschreitender Miniaturisierung können Flashzellen nur noch wenige Elektronen aufnehmen, was zu einer höheren Wahrscheinlichkeit von Bitfehlern führt. Defekte Blöcke und Bitflips sind sowohl bei SLC- als auch MLC-Speicherzellen der NAND-Flash-Technologie charakteristisch. Dem wird allerdings durch softwaretechnische Maßnahmen entgegengewirkt. Unterschiedliche Bad-Block-Management-Systeme kompensieren Herstellerdefekte von NAND-Flashes, ECC-Daten korrigieren auftretende Bitfehler.
Beim Flashvorgang, wo die einzelnen Bits und Bytes in den Speicher geschrieben werden, müssen diese beschriebenen Eigenheiten der NAND-Flashes berücksichtigt werden.
Die hier notwendigen Fehlerkorrekturmaßnahmen müssen permanent überwacht werden, um den ständig steigenden Qualitätsansprüchen an die Endgeräte gerecht werden zu können.
Die ertec GmbH bietet hier Ihren Kunden Flexibilität auf höchstem Niveau an. Auf der Grundlage der vom Kunden vorgegebenen Fehlerkorrektur-Algorithmen werden die ECC-Daten im Preprocessing oder innerhalb des Flashvorgangs automatisiert berechnet und entsprechend in den u.a. dafür bestimmten Spare-Areas abgelegt. Auch spezielle kundenspezifische Infos können dort abgespeichert werden, wie zum Beispiel die Anzahl der durchgeführten Löschvorgänge eines jeden Bausteins. Der Flashvorgang wird auf diesem Wege in hohem Maße transparent gemacht. Die Anzahl der Bad Blocks solcher Bausteinexemplare werden genauso protokolliert wie die Anzahl aufgetretener Bitflips pro Speicherbereich.
Alle diese Informationen und Daten zur softwaremäßigen Behebung der herstellungsbedingten Defekte werden ISO-konform gesammelt und stehen beispielsweise zur statistischen Auswertung zur Verfügung. Dadurch kann der Kunde gezielt Unregelmäßigkeiten und Auffälligkeiten von Chargen solcher Flash-Bausteine erkennen und zeitnah gezielt reagieren.
Der Kunde definiert mit ertec gemeinsam alle Möglichkeiten der bausteinspezifischen Überwachung der Flashqualität während des Programmierprozesses und dies wird dann im entsprechenden Programmieralgorithmus umgesetzt.
Ob bei der Onboard-Programmierung oder auch bei der Offline-IC-Programmierung, ob manuell oder mit Programmierroboter, der Flashvorgang solcher Bausteine muss überwacht und protokolliert werden, wir definieren gemeinsam mit dem Kunden die dafür speziellen Anforderungen.
Verfasser
Dipl.-Ing. Peter Nickel (Managing Director - Technical Operations)
© ertec GmbH, 91058 Erlangen