Re: [PATCH] mmc_spi: use EILSEQ for possible transmission errors

From: David Brownell
Date: Mon May 25 2009 - 05:50:44 EST


On Monday 25 May 2009, Wolfgang Mües wrote:
> Can someone please explain for me the purpose and the implementation of this
> wear level logic in block.c?

I think you're misinterpreting what I said. The wear leveling
logic is in the microcontroller *INSIDE THE MMC/SD DEVICE* not
on the Linux side driver.


> I can not see why a sector erase and the sector erase result codes of a MMC/SD
> card can be used to get any usefull information about wear leveling in the
> card. The mapping of physical to logical blocks is not reported by the card,
> and the number of erase cycles for each block is also not reported. SO how
> can the host be able to optimize the wear leveling?

It can't. But when the card controller knows that for example
certain logical blocks are not holding data, it can use that
for wear leveling ... it's got more physical blocks to use to
even out the writes, as well as having any records it kept on
writes, reads, and erasures.



--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/