Hi,
We are using the FTL driver over a MTD device (flash memory at45db641e).
When we write something to flash, eventually the ftl_flush function is
called and it does an erase (MTD_ERASE) and then the write (MTD_BWRITE).
But in the at45db driver (at45db.c) the write uses command 0x82 ("Main
Memory
On Mon, 24 Mar 2025 at 04:50, Javier Casas Marin
wrote:
> In AT45DB161D chip, the Opcode 82H = Main Memory Page Program Through
> Buffer *also performs a built-in erase.*
>
> From the datasheet, section 7.8:
> "This operation is a combination of the Buffer Write and Buffer to Main
> Memory Page P
In summary, I see two options:
1. If the built-in erase is not really necessary, instead of command 0x82
we can use commands 0x84 (Buffer 1 Write) followed by 0x88 (Buffer 1 to
Main Memory Page Program without Built-In Erase), that seem to be common to
all devices.
2. If there is any use case wher
In AT45DB161D chip, the Opcode 82H = Main Memory Page Program Through
Buffer *also performs a built-in erase.*
>From the datasheet, section 7.8:
"This operation is a combination of the Buffer Write and Buffer to Main
Memory Page Program with Built-in Erase operations."
So the double erases are al
Hmm, I wonder if AT45DB161D does an undocumented erase, and the vendor added
additional opcode for at45db641e but did not change the behavour of the old
opcode (82H), just documented what actually happens?
Regards,
Dmitri Shilov.
Original Message
On 2025-03-21 1:25 p.m., Lwa
On Fri, 21 Mar 2025 at 12:47, Javier Casas Marin
wrote:
> Hi,
> We are using the FTL driver over a MTD device (flash memory at45db641e).
> When we write something to flash, eventually the ftl_flush function is
> called and it does an erase (MTD_ERASE) and then the write (MTD_BWRITE).
> But in the