Upload
alice-mclaughlin
View
218
Download
0
Embed Size (px)
Citation preview
File system support on Multi File system support on Multi Level Cell (MLC) flash in Level Cell (MLC) flash in
open sourceopen source
File system support on Multi File system support on Multi Level Cell (MLC) flash in Level Cell (MLC) flash in
open sourceopen source April 17, 2008Kyungmin Park
Software LaboratoriesSamsung Electronics
2/23
ContentsContents
IntroductionMulti Level Chip (MLC)Current statusKnown IssuesPatentsConsideration in JFFS2SummaryReferences
3/23
IntroductionIntroduction
It’s not coverFlash propertiesWrite/read disturbHardware issuesController embedded
It’s talking about the MLC software itselfHow to use MLC flash directly?What’s the consideration on MLC?
4/23
Multi Level Cell (MLC)Multi Level Cell (MLC)
Capable for low-cost consumer applicationsMedia players, MP3 devices, media cards, and USB flash drives
Gray code is dependent on each manufacturers
A B C
11 10 00 01
5/23
Multi Level Cell (MLC)Multi Level Cell (MLC)
I/O split vs. Page split
Performance
EnduranceWear-leveling
I/O Split method Page Split method
page i bit xbit
x+1page n*m (LSB) bit x
page n*m+l (MSB) bit x
6/23
Current statusCurrent status
Why there’s no software using MLC directly in linux?JFFS2 doesn’t support the MLCYAFFS MLC NAND handling is under wayUBIFS??? LogFS???
Another approachesEmbedded MMC (eMMC)
Controller embeddedSamsung MoviNAND, Micron ManagedNAND
Solid State Drive (SSD)Etc.
What’s the issues?
7/23
Known IssuesKnown Issues
Number Of Program (NOP) 1Write the page only onceIt’s simple and already done.
Spare AreaMLC uses the more powerful ECC/EDC mechanismIt means it requires the more spare area
Handle the paired page problemA lot of solutions but patents
8/23
NOP 1NOP 1
JFFS2 uses the NOP 2main area and OOB area for cleanmarker
UBI uses MAX NOP 4 by the provided subpage_sftE.g., subpage_sft = 2Sector write (4)
Add the MTD_OOB_WRITEABLE bitClearing the MTD_OOB_WRITEABLE bit if the probed chip is MLC.
Assign the subpage_sft to 0Disable the subpage write
9/23
Spare AreaSpare Area
Spare usages are dependent on each filesystems
In worse case it can’t use the spare area
JFFS2 YAFFS2 UBIFS LogFS
Spare Area
Required for
Cleanmarker Tags None None
Bytes 8Minimum: 16Normal: 28
None None
10/23
Paired Page ProblemPaired Page Problem
The pages are coupled in MLC.When program operation is abnormally aborted (ex. power-down, reset), not only page data under program but also paired page data may be damaged even though it was written correctly at previous time
It’s dependent on each manufacturers.
E.g., The 4 pages distanceEach pages have the distance of 4
Paired page
From http://w w w .goog le.com /patents?id= y _12AAAAEBAJ (M-Systems)
11/23
State TransitionsState Transitions
One directionProgram: Level 0 … Level 3Erase: Level n Level 0
From http://w w w .goog le.com /patents?id= lrCcAAAAEBAJ (Intel)
12/23
PatentsPatents
There are a lot of patentsSimilar with FTL situation
Skip WriteSkip the affected pages and write the safe page
LSB backupBackup LSB page to log or others
SLC-like writeRegard some MLC pages as SLC by using LSB or MSB onlySingle level cell programming in a multiple level cell non-volatile memory device
http://www.google.com/patents?id=dfihAAAAEBAJ
More and more
13/23
LSB backupLSB backup
Backup or copy LSB page to safe place such as log
From http://www.google.com/patents?id=-G6EAAAAEBAJ (SanDisk)
15/23
SLC-like writeSLC-like write
Regard some area as SLC
From http://www.google.com/patents?id=dfihAAAAEBAJ (Micron)
17/23
N-bit MLCN-bit MLC
If the 3rd page is abnormally aborted, the 1st and 2nd will be damaged
0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17
Page
Paired Page
18/23
Considerations in JFFS2Considerations in JFFS2
How to determine the page distances?Dependent on each manufacturers
How to handle paired page?Patents, patents, patents,
Node management in JFFS2Use the nodes as many as possible
If the paired page is brokenSkip the broken page and continue to read remained pagesHow to guarantee the filesystem consistency?
UBI layerAbstract the flash propertiesHandle this layer?
19/23
Chip SupportChip Support
Not hardware controller
If the chip supports the paired page problem features?LSB recoveryUse their own property techniques
In scan process, if it detects the MSB is broken, it issues the LSB recovery command and copy recovered page not damaged one to others
20/23
SummarySummary
It’s not easy to determine the page distances
It’s not easy to implement it because of patents
Chip supportLSB recovery
Where’s the best place to implement in it?Filesystem vs. UBI
Another approachesUse the controlled embedded devices
Embedded MMC (eMMC)
21/23
ReferencesReferences
Linux Memory Technology Deviceshttp://www.linux-mtd.infradead.org/http://git.infradead.org/?p=mtd-2.6.git;a=summary
YAFFShttp://www.yaffs.net/
NAND, OneNANDhttp://www.samsung.com/global/business/semiconductor/products/flash/Products_NANDFlash.htmlhttp://www.samsung.com/global/business/semiconductor/products/fusionmemory/Products_OneNAND.html
22/23
AppendixAppendix
The 4 pages distancePatent number: 6988175Flash memory management method that is resistant to data corruption by power http://www.google.com/patents?id=y_12AAAAEBAJ
Single level cell programming in a multiple level cell non-volatile memory device
http://www.google.com/patents?id=dfihAAAAEBAJ