04-03-2021, 03:00 PM
(This post was last modified: 04-06-2021, 07:17 AM by Arwen.
Edit Reason: Fixed links
)
I've added SMART to the Wiki's suggested features, (with a probable pre-req of UASP).
In regards to the copy on write, what I meant was that the flash is not used as simple addressable blocks. Since we have wear leveling, and spares, we have to have an internal "directory" which when I ask for from block 357 it gives me logical block 357, and not the physical block 357 which might be for something else.
My thought is to make sure that this internal "directory" of logical blocks from the host, to physical blocks in flash, is kept consistent. Even if we have to re-write the "directory", (with version number so we know which is more current), into another place. So that the old "directory" is good, UNTIL the new "directory" is completely written.
Perhaps taking a feature from ZFS and having 2 copies of the "directory" at all times may help avoid corruption.
Note: All metadata on ZFS has at least 2 copies, even on a single disk.
Last, many software & hardware development projects include test jigs. We may want to create a USB test jig that will remove power. Perhaps by relay to avoid the capacitance issue. Or perhaps use an existing USB controlled relay with a special USB to USB adapter that cuts power.
Here are a few USB controlled relays I found cheaply;
https://www.amazon.com/NOYITO-1-Channel-...B07C3LPH3X
https://www.amazon.com/SMAKN-LCUS-1-modu...B01CN7E0RQ
That first one has additional models that have 2 or 4 which could in theory cut the other lines too. (Though, I don't know about capacitance issues...)
In regards to the copy on write, what I meant was that the flash is not used as simple addressable blocks. Since we have wear leveling, and spares, we have to have an internal "directory" which when I ask for from block 357 it gives me logical block 357, and not the physical block 357 which might be for something else.
My thought is to make sure that this internal "directory" of logical blocks from the host, to physical blocks in flash, is kept consistent. Even if we have to re-write the "directory", (with version number so we know which is more current), into another place. So that the old "directory" is good, UNTIL the new "directory" is completely written.
Perhaps taking a feature from ZFS and having 2 copies of the "directory" at all times may help avoid corruption.
Note: All metadata on ZFS has at least 2 copies, even on a single disk.
Last, many software & hardware development projects include test jigs. We may want to create a USB test jig that will remove power. Perhaps by relay to avoid the capacitance issue. Or perhaps use an existing USB controlled relay with a special USB to USB adapter that cuts power.
Here are a few USB controlled relays I found cheaply;
https://www.amazon.com/NOYITO-1-Channel-...B07C3LPH3X
https://www.amazon.com/SMAKN-LCUS-1-modu...B01CN7E0RQ
That first one has additional models that have 2 or 4 which could in theory cut the other lines too. (Though, I don't know about capacitance issues...)
--
Arwen Evenstar
Princess of Rivendale
Arwen Evenstar
Princess of Rivendale