Tempo di conservazione dei dati della memoria flash


8

Vorrei comprare una di quelle unità di testa / infotainment per auto Android after market. Ma non credo che ci sia un modo per reinstallare il software di sistema se viene danneggiato, quindi sono preoccupato per quanto tempo dureranno i dati nella memoria Flash.

Ho trovato vecchi dati come 10 o 20 anni, ma questo è per celle di grandi dimensioni a livello singolo che si trovano in microcontroller a 8 bit, non come l'MLC che abbiamo oggi.

Secondo SanDisk ,

La conservazione dei dati flash MLC è di ordini di grandezza inferiori al flash SLC.

Secondo lo standard JEDEC JESD218A, la conservazione dei dati a 25 ° C dovrebbe essere di 101 settimane. Un'altra fonte dice: "La memoria flash conserva i dati meglio se il controller viene acceso una volta ogni tanto per scansionare e correggere eventuali errori di bit che si insinuano."

Ciò significa che scrub / aggiornamento proprio come per DRAM, come proposto qui .

Conservazione dei dati 46 volte più lunga! Incredibile, ma oggi è implementato su tutti i dispositivi di memoria Flash?

Ma qual è il tempo grezzo di conservazione dei dati senza aggiornamento / lavaggio o ECC per una singola cella? 101 settimane * 46 = 89 anni sembra troppo bello per essere vero.

Inoltre, quanto miglioramento deriva dalla correzione degli errori?

Ovviamente, il tempo al primo errore senza correzione sarebbe molto basso (a seguito di una distribuzione geometrica?) Per un dispositivo gigabyte e non vicino al tempo medio per una singola cella. La correzione degli errori aumenta il tempo di ritenzione dei bit collettivi all'incirca allo stesso tempo di una singola cella non corretta? O migliora oltre?


Domanda molto interessante.
neverMind9

La longevità dei dati dipende fortemente dall'utilizzo della cella. In una situazione automobilistica non dovrebbe essere pedalato così spesso. Questo è a parte la correzione degli errori e in uno stato non alimentato.
Zekhariah,

Risposte:


1

Ma non credo che ci sia un modo per reinstallare il software di sistema se viene danneggiato

Certo che c'è. Come pensi che abbiano caricato il software sul dispositivo in primo luogo?

Ogni dispositivo Android ha due cassette di sicurezza integrate. In primo luogo, c'è una copia dell'intero sistema operativo nascosto su una partizione di ripristino. Questo è ciò che ti consente di fare un "ripristino" di un dispositivo Android. Quello che sta effettivamente facendo è reinstallare il software di sistema da un'area protetta nello spazio degli indirizzi flash NAND. Questa partizione di ripristino, in condizioni normali, deve essere scritta una sola volta, quando il dispositivo è stato originariamente sottoposto a flashing dal produttore. Occasionalmente, se si installa un aggiornamento, potrebbe aggiornare la partizione di ripristino, ma su questa parte del flash NAND dovrebbero essere presenti cicli P / E a una cifra.

E se in qualche modo viene danneggiato, cosa che non succederà a meno che non si stia eseguendo il root / il flashing di immagini di ripristino personalizzate o altre cose "non supportate", allora si ha ancora la possibilità di utilizzare gli stessi mezzi utilizzati per eseguire il flashing del dispositivo in origine. Ogni dispositivo Android ha un caricatore di avvio. Questo è memorizzato nella sezione speciale bootloader di un dispositivo NAND, di solito è protetto da scrittura sarà stato scritto esattamente una volta, e si trova su un'area di flash che avrà determinate specifiche minime, compresi i settori danneggiati, quel genere di cose . Ad eccezione di Samsung (che non credo nemmeno crei sistemi di infotainment per auto), un dispositivo Android avrà il bootloader fastboot installato come bootloader. fastboot ti permetterà di scrivere direttamente sul flash NAND (ad eccezione del settore bootloader protetto da scrittura) e reinstallare tutto. Tuttavia, di solito ti consentirà solo di installare un firmware firmato che è il software "ufficiale" di quel produttore. E ci sono discariche rom per praticamente tutte queste unità di infotainment disponibili su XDA.

Per quanto riguarda l'effettiva conservazione dei dati del flash NAND MLC, sembra che tu confonda due cose diverse. SanDisk, JEDEC JESD218A, quel documento che hai collegato e la cifra di 101 settimane, nessuno di questi è rilevante qui. Stanno parlando della durata della vita di uso attivo. Come in, subendo una certa tariffa giornaliera aziendale o client di cicli di cancellazione del programma. Si prevede che un'unità a ciclo P / E pesante conserverà i dati per così tanto tempo, ma questo è totalmente irrilevante per ciò di cui stai parlando.

L'intero articolo parla dell'estensione della vita di qualcosa nel contesto dell'estensione di quanti cicli P / E può sopportare prima che il tasso di errore dei bit diventi troppo elevato. Questo è irrilevante per le sezioni di recupero e bootloader del sistema di infotainment, perché non stanno vivendo eventuali cicli di P / E. Teoricamente, probabilmente verranno scritti solo una volta, quando sono stati mostrati dal produttore. E questo non è un caso, gli ingegneri sono consapevoli delle limitazioni del flash e hanno progettato dispositivi per tenere conto di tali limitazioni di conseguenza. Da qui la sezione di ripristino partizionata e la sezione bootloader protetta.

Quando si parla di pura conservazione dei dati per la memoria flash a cicli P / E bassi, non importa quale tipo, utilizza comunque l'iniezione tunnel sia a gate flottante o MLC, sia a cicli P / E bassi, avrà gli stessi tempi di conservazione. Non si sono ancora accumulati difetti che consentono alla carica di fuoriuscire rispetto alla tariffa di base, quindi essere MLC non ha importanza a questo punto.

Secondo Cypress Semiconductor, ad esempio, un flash MLC da 2 bpc (2 bit per cella), a <50 cicli P / E, ha la stessa conservazione dei dati di qualsiasi altro tipo di flash: 20 anni a 55 gradi C.In realtà, ha 10 anni di vita dopo 1000 cicli P / E a 55 gradi C, quindi una cancellazione ogni 3,7 giorni. Ma non ci saranno quasi cancellature, se non addirittura 0, sulle sezioni di ripristino e bootloader dell'unità di infotainment.

E questa volta diventa molto più lungo a temperature più basse.

Se la tua auto è parcheggiata direttamente al sole tutto il giorno in una giornata calda, 32-33 gradi C (90 F), può raggiungere fino a 55 C (131 F) all'interno per diverse ore.

A temperature inferiori a 55 ° C, il tempo di ritenzione si estende rapidamente a 50 e anche a 100 anni a temperatura ambiente. Il che è positivo poiché, su questo pianeta, la tua auto vivrà la notte e passerà una buona parte di ogni giorno con un interno inferiore a 55 gradi C. La maggior parte dei luoghi, trascorrerà una quantità molto piccola di tempo con il suo interno caldo come 55 gradi C.

Per farla breve, il problema che stai descrivendo ... non lo è. Di tutte le parti a vita limitata nella tua auto, il software (che può essere sottoposto a reflash) o il bootloader che viene danneggiato a causa della perdita di conservazione dei dati è una delle ultime cose che falliranno. Non ha senso preoccuparti di ciò, come se fosse accaduto (cosa che non succederà, anche dopo 200.000 miglia), può essere facilmente risolto.


Le affermazioni di Android qui sono per lo più errate. La partizione "ripristino" non contiene un sistema completo o funzionalità di ripristino, ma solo un sistema minimo in grado di gestire la funzionalità di aggiornamento delle patch. Un "ripristino" non riporta le cose al firmware originale, ma rimuove semplicemente le personalizzazioni dell'utente oltre all'ultimo aggiornamento del sistema installato. Ma soprattutto, né le partizioni di ripristino, né i bootloader chiave della fase successiva esposti tramite USB, sono davvero più sicuri dalla perdita di dati delle celle rispetto a qualsiasi altra parte del flash. A meno che non ci sia un bootloader USB nella ROM effettiva, può morire.
Chris Stratton,
Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.