Messages in this thread | | | From | David Brownell <> | Subject | Re: [PATCH] mmc_spi: use EILSEQ for possible transmission errors | Date | Mon, 25 May 2009 02:43:46 -0700 |
| |
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@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/
| |