ELC2008 Filesystem support on Multi Level Cell flash in open source

ELC2008 Filesystem support on Multi Level Cell flash in open source
File system support on Multi Level
Cell (MLC) flash in open source
April 17, 2008
Kyungmin Park
Software Laboratories
Samsung Electronics
Contents
Introduction
Multi Level Chip (MLC)
Current status
Known Issues
Patents
Consideration in JFFS2
Summary
References
2/23
Introduction
It’s not cover
Flash properties
Write/read disturb
Hardware issues
Controller embedded
It’s talking about the MLC software itself
How to use MLC flash directly?
What’s the consideration on MLC?
3/23
Multi Level Cell (MLC)
Capable for low-cost consumer applications
Media players, MP3 devices, media cards, and USB flash drives
Gray code is dependent on each manufacturers
10
11
A
00
B
01
C
4/23
Multi Level Cell (MLC)
I/O split vs. Page split
Performance
Endurance
Wear-leveling
 I/O Split method
page i
bit x
bit x+1
 Page Split method
page n*m
(LSB)
bit x
page n*m+l (MSB)
bit x
5/23
Current status
Why there’s no software using MLC directly in linux?
JFFS2 doesn’t support the MLC
YAFFS MLC NAND handling is under way
UBIFS???
LogFS???
Another approaches
Embedded MMC (eMMC)
Controller embedded
Samsung MoviNAND, Micron ManagedNAND
Solid State Drive (SSD)
Etc.
What’s the issues?
6/23
Known Issues
Number Of Program (NOP) 1
Write the page only once
It’s simple and already done.
Spare Area
MLC uses the more powerful ECC/EDC mechanism
It means it requires the more spare area
Handle the paired page problem
A lot of solutions but patents
7/23
NOP 1
JFFS2 uses the NOP 2
main area and OOB area for cleanmarker
UBI uses MAX NOP 4 by the provided subpage_sft
E.g., subpage_sft = 2
Sector write (4)
Add the MTD_OOB_WRITEABLE bit
Clearing the MTD_OOB_WRITEABLE bit if the probed chip is MLC.
Assign the subpage_sft to 0
Disable the subpage write
8/23
Spare Area
Spare usages are dependent on each filesystems
In worse case it can’t use the spare area
JFFS2
YAFFS2
UBIFS
LogFS
Required for
Cleanmarker
Tags
None
None
Bytes
8
Minimum: 16
Normal: 28
None
None
Spare
Area
9/23
Paired 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 distance
Each pages have the distance of 4
Paired page
From http://www.google.com/patents?id=y_12AAAAEBAJ (M-Systems)
10/23
State Transitions
One direction
Program: Level 0  …  Level 3
Erase: Level n  Level 0
From http://www.google.com/patents?id=lrCcAAAAEBAJ (Intel)
11/23
Patents
There are a lot of patents
Similar with FTL situation
Skip Write
Skip the affected pages and write the safe page
LSB backup
Backup LSB page to log or others
SLC-like write
Regard some MLC pages as SLC by using LSB or MSB only
Single level cell programming in a multiple level cell non-volatile memory device
http://www.google.com/patents?id=dfihAAAAEBAJ
More and more
12/23
LSB backup
Backup or copy LSB page to safe place such as log
From http://www.google.com/patents?id=-G6EAAAAEBAJ (SanDisk)
13/23
LSB backup
From http://www.google.com/patents?id=y_12AAAAEBAJ (M-Systems)
14/23
SLC-like write
Regard some area as SLC
From http://www.google.com/patents?id=dfihAAAAEBAJ (Micron)
15/23
N-bit MLC
It’s more complicate
E.g., 3-bit MLC
US2006/0215450, 2006, Toshiba
16/23
N-bit MLC
If the 3rd page is abnormally aborted, the 1st and 2nd will be damaged
Page
Paired Page
0
1
2
3
4
5
6
7
8
9 10 11 12 13 14 15 16 17
17/23
Considerations in JFFS2
How to determine the page distances?
Dependent on each manufacturers
How to handle paired page?
Patents, patents, patents,
Node management in JFFS2
Use the nodes as many as possible
If the paired page is broken
Skip the broken page and continue to read remained pages
How to guarantee the filesystem consistency?
UBI layer
Abstract the flash properties
Handle this layer?
18/23
Chip Support
Not hardware controller
If the chip supports the paired page problem features?
LSB recovery
Use 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
19/23
Summary
It’s not easy to determine the page distances
It’s not easy to implement it because of patents
Chip support
LSB recovery
Where’s the best place to implement in it?
Filesystem vs. UBI
Another approaches
Use the controlled embedded devices
Embedded MMC (eMMC)
20/23
References
Linux Memory Technology Devices
http://www.linux-mtd.infradead.org/
http://git.infradead.org/?p=mtd-2.6.git;a=summary
YAFFS
http://www.yaffs.net/
NAND, OneNAND
http://www.samsung.com/global/business/semiconductor/products/flash/Produc
ts_NANDFlash.html
http://www.samsung.com/global/business/semiconductor/products/fusionmemor
y/Products_OneNAND.html
21/23
Appendix
The 4 pages distance
Patent number: 6988175
Flash 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
22/23
The End
Thank You.
Q&A
23/23
Was this manual useful for you? yes no
Thank you for your participation!

* Your assessment is very important for improving the work of artificial intelligence, which forms the content of this project

Download PDF

advertising