View Single Post
Old 27-09-2024, 13:24   #21883
@Liupen
Senior Member
 
L'Avatar di @Liupen
 
Iscritto dal: Jan 2018
Città: Torino
Messaggi: 459
Quote:
Originariamente inviato da Black (Wooden Law) Guarda i messaggi
Vedendo l'immagine forse penso male io, quello che intendo dire è che la mappa con gli indirizzi logici e fisici (che io chiamo "L2P") è una cosa completamente a parte e non è "un componente specifico del FTL" come dici tu. Per me l'azione di traduzione di indirizzi è parte del FTL, quindi IMHO nella raffigurazione che mostri questo e non la mappa in sé, anche se alla fine stiamo facendo un discorso su terminologia e basta.
Forse ho capito che intendi.

Se stai leggendo Rino Micheloni, ho visto che utilizza la definizione FFS (Flash file system) e dentro ci infila la FTL come, WL, GC, insomma FTL risulta una parte del tutto.
Micheloni si è impegnato molto nella programmazione di un software di gestione che appunto chiama Flash File System.
L'FFS può avere funzionalità integrate simili all'FTL, ma si occupa anche dell'organizzazione dei file, mentre l'FTL si concentra sulla gestione degli indirizzi e sull'efficienza della memoria.

Comunque, a parte questa cosa che ho notato, a livello di definizioni normalmente usate la FTL in pratica è il software che tiene dentro di se tutte le funzioni del controller e che permette di avere un output per l'host come se l'ssd fosse un hdd.

Sappiamo però che l'ssd NON è un hdd: le nand per la struttura di poter essere programmate in pagine e cancellate a blocchi, si frammentano e occorre un algoritmo di spostamento (Garbage Collection), ma anche si sa che "consumandosi" devono essere usate distribuendo le scritture (Wear Leveling), ecc ecc; tutte le funzioni di gestione dell'ssd che fà il controller, all'Host non interessano e l'FTL fà in modo che: "Il fattore principale che ha reso così facile l'adozione degli SSD è che utilizzano le stesse interfacce host degli HDD. Sebbene presentare una matrice di indirizzi di blocco logici (LBA) abbia senso per gli HDD poiché i loro settori possono essere sovrascritti, non è completamente adatto al modo in cui funziona la memoria flash. Per questo motivo, è necessario un componente aggiuntivo per nascondere le caratteristiche interne della memoria flash NAND ed esporre solo una matrice di LBA all'host. Questo componente è chiamato Flash Translation Layer (FTL) e risiede nel controller SSD. L'FTL è fondamentale e ha due scopi principali: mappatura dei blocchi logici e garbage collection".

Proseguendo con le definizioni:

Gli indirizzi logici (LBA, Logical Block Address) forniti dal sistema operativo vengono tradotti in indirizzi fisici (PBA) dall'FTL (Flash Translation Layer) tramite il processo chiamato Logical-to-Physical (L2P) mapping. Questo passaggio è necessario poiché la memoria NAND non consente la sovrascrittura diretta dei dati, richiedendo invece la cancellazione e la riscrittura in blocchi distinti.
Questa mappatura è una parte fondamentale del funzionamento della FTL, ma l'FTL si occupa di molto di più oltre alla semplice traduzione degli indirizzi​.
Il termine PBA (Physical Block Address) si riferisce agli indirizzi fisici effettivi all'interno della memoria NAND flash di un SSD. Questi indirizzi fisici indicano i blocchi di memoria in cui vengono memorizzati i dati.

Però se si considerano ad esempio le pendrive USB, non c'è FTL ma la L2P è un modulo firmware a se stante.

Come lo diventa - anche se all'interno del firmware della FTL - quando si parla di ssd dramless con HMB.

E' questo che vuoi dire?
__________________
“La verità sola, fu figliola del tempo”
LEONARDO DA VINCI
@Liupen è offline   Rispondi citando il messaggio o parte di esso