Re: Re: Re: Was macht das iPhone beim Softreset
Zitat
Original geschrieben von hawk_nr.1
...ich hoffe nicht das du dir mit Elektronik ( auf Halbleiterebene ) dein täglich Brot verdienst.
Der verbaute MLC Flash Speicher von Toshiba bei dem 3GS hat eine Zugriffszeit von von maximal 70 µs (0,07 ms) beim zufälligen Lesen. Die Worte werden einzeln adressiert durch den Controller beim Lese-Zugriff (keine Ahnung auf was du da gekommen bist) . Lediglich würde hier die Fragmentierung (siehe aber letzten Absatz) eine Rolle spielen, da der Controller nicht ganze Blöcke lesen kann (was ja noch schneller wäre) wenn ein Datum hier in unterschiedlichen Blöcken befindet.
Busbreite von dem Controller zu der CPU usw. spielen hier gar keine Rolle, da diese eine andere Baustelle sind und absolut unabhängig von der Fragmentierung sind. Wenn der Bus "lahmt" vom Controller zu der CPU kann der Zugriff vom Controlelr auf dem Speicher so schnell sein wie er möchte.
Eine Zugriffszeit von 0,2 ms welche das 3GS bei einem kleinem Testprogramm von mir erreicht, ist in einem Nicht-Echtzeitsystem absolut zu vernachlässigen. Kein Programm sollte auf solch einen Wert "algerisch" reagieren.
Problematisch wird es erst bei dem Schreiben von Daten. Einerseits müssen erstmal ganze "Blöcke" gelöscht werden (mann kann also nicht direkt ein Wort adressieren und löschen) und zum anderen wird hier MLC Speicher eingesetzt. Hier kann die Verteilung der Daten eine Rolle spielen.
Aber und jetzt kommt der Knackpunkt (Stichpunkt Wear-Leveling):
mittlerweile bzw. schon sehr lange "fragmentiert" der Controller, bei MLC besonders stark, bei Flash Speichern, gerade von sich aus um möglichst hohe Scheibzyklen zu erreichen und macht eine entsprechende Verteilung der Daten. Entsprechend entscheidet dieser wie die Daten verteilt werden um möglichst viele Schreibzyklen zu erreichen (die Zugriffszeiten sind ja eh niedrig beim Lesen und sind eher ein sehr untergeordneter Parameter... werden aber natürlich vor allem wegen dem schreiben berücksichtigt). Du kannst also alles brav hintereinander auf das 3GS kopieren.... trotzdem wird aus Gründen einer möglichst hohen Lebenserwartung der Controller die Daten gänzlich anders auf den Flash Speicher verteilen ohne, dass du irgendwie drauf einwirken könntest. Es kann also trotzdem sein, dass, obwohl du nach einem Reset nichts auf dem Flash Speicher hast, die Daten über den ganzen Flash Speicher geschmissen werden.
Dies geht sogar soweit, dass manche Controller im laufenden Betrieb Daten, welche selten gelöscht werden umgruppiert auf Blöcke welche "gelitten" haben.