since when does ARM map the kernel memory in sections?

Peter Waechtler pwaechtler at mac.com
Thu Apr 28 16:26:22 EDT 2011


Am Mittwoch, 27. April 2011, 02:27:57 schrieben Sie:
> On Tue, Apr 26, 2011 at 5:58 PM, Jamie Lokier <jamie at shareable.org> wrote:
> >> Reliable writes are exposed via REQ_FUA.
> > 
> > Are you sure that's appropriate?
> > 
> > Unless I have misunderstood (very possible), REQ_FUA means writes hit
> > non-volatile storage before acknowledgement, not that they are atomic.
> > I think the normal users of REQ_FUA don't require or expect large
> > atomic writes; they use it as a shortcut for (write & flush this
> > write) without implying anything else is flushed.
> 
> I would agree with you that it's not the best mapping. However, a failed
> MMC write transaction has other properties. If I understand correctly,
> depending on mode of failure (say pulling power), you might wind up
> with extra data getting erased (because erase
> happens at erase unit boundary), and erase can be done before all the
> data was transferred from host to card.
> 

No, it's not because of the erase unit size larger than write size.
An "erase unit" is cleared by garbage collection only IFF the complete unit is 
unused - asynchronously by the ongoing write transaction. The problem with 
damaging neighboring data is: density. No beer (today), i'm drinking wine ;)

The cells storing the "bits" gets smaller and smaller and with multi level 
cells even more bits are represented by "fewer electrons". Programming the 
neighbor cell disturbs the fragile cells. If the error correction is disturbed 
by power loss: off we go... 

Someone from the flash vendors eavesdropping? Please, pretty please ... :)

	Peter

P.S. Andrei: sorry for reposting, but Kmail confuses me with "Reply to all"



More information about the linux-arm-kernel mailing list