亚洲av成人无遮挡网站在线观看,少妇性bbb搡bbb爽爽爽,亚洲av日韩精品久久久久久,兔费看少妇性l交大片免费,无码少妇一区二区三区

  免費注冊 查看新帖 |

Chinaunix

  平臺 論壇 博客 文庫
最近訪問板塊 發(fā)新帖
查看: 24608833 | 回復: 24608833
打印 上一主題 下一主題

[驅(qū)動] 【詳解】如何編寫Linux下Nand Flash驅(qū)動 v1.7 [復制鏈接]

論壇徽章:
0
跳轉(zhuǎn)到指定樓層
1 [收藏(0)] [報告]
發(fā)表于 2011-07-02 16:43 |只看該作者 |倒序瀏覽
本帖最后由 crifan 于 2011-07-02 16:49 編輯

【詳解】如何編寫Linux下Nand Flash驅(qū)動

版本: 1.7

作者:crifan

郵箱: green-waste(At)163.com




由于本文內(nèi)容太長,不方便此處發(fā)表全文,所以只列出了目錄。

完成的PDF版本下載或查看:

1. 豆丁網(wǎng)在線看

http://www.docin.com/p1-227502942.html

2. 愛問下載

http://ishare.iask.sina.com.cn/f/16800790.html

3.china unix bbs附件

【詳解】如何編寫Linux下Nand Flash驅(qū)動 v1.7 - 20110702.pdf (1.71 MB, 下載次數(shù): 2892)




版本歷史


版本

日期

內(nèi)容說明

1.0

2009-07-21

簡介如何在Linux下實現(xiàn)Nand Flash驅(qū)動

1.2

2011-03-15

整理了排版

添加了很多內(nèi)容

1.3

2011-06-12

修正了Nand Flash行列地址的計算方法

1.7

2011-07-02

添加了ONFI,LBA規(guī)范的介紹

添加了Unique ID介紹

添加了對應的MTD中檢測不同類型芯片的代碼

增加了關(guān)于Nand Flash的軟件和硬件的ECC算法的簡介




目錄
1 正文之前 5
1.1 目的 5
1.2 目標讀者和閱讀此文的前提 5
1.3 說明 5
1.4 聲明 5
2 編寫驅(qū)動之前要了解的知識 6
2.1 一些相關(guān)的名詞的解釋 6
2.1.1 Non-Volatile Memory非易失性存儲器 6
2.1.2 OTP(One Time Programmable)一次性可編程存儲器 6
2.1.3 NDA(None-Disclosure Agreement) 6
2.1.4 Datasheet數(shù)據(jù)手冊和Specification規(guī)范 6
2.1.5 Nand Flash相關(guān)的一些名詞解釋 7
2.1.5.1 (Bad) Block Management(壞)塊管理 7
2.1.5.2 Wear-Levelling負載平衡 7
2.1.5.3 ECC(Error Correction Code)錯誤校驗(代碼) 7
2.2 硬件特性 8
2.2.1 什么是Flash 8
2.2.1.1 Flash的硬件實現(xiàn)機制 8
2.2.2 什么是Nand Flash 8
2.2.2.1 Nand Flash和Nor Flash的區(qū)別 9
2.2.2.2 Nand Flash的詳細分類 10
2.2.3 SLC和MLC的實現(xiàn)機制 10
2.2.3.1 SLC(Single Level Cell) 10
2.2.3.2 MLC(Multi Level Cell) 10
2.2.3.3 關(guān)于如何識別SLC還是MLC 10
2.2.4 Nand Flash數(shù)據(jù)存儲單元的整體架構(gòu) 11
2.2.5 Nand Flash的物理存儲單元的陣列組織結(jié)構(gòu) 12
2.2.5.1 Block塊 12
2.2.5.2 Page頁 12
2.2.5.3 oob / Redundant Area / Spare Area 12
2.2.6 Flash名稱的由來 13
2.2.7 Flash相對于普通設(shè)備的特殊性 13
2.2.8 Nand Flash引腳(Pin)的說明 14
2.2.8.1 為何需要ALE和CLE 15
2.2.8.2 Nand Flash只有8個I/O引腳的好處 15
2.2.8.2.1 減少外圍連線: 15
2.2.8.2.2 提高系統(tǒng)的可擴展性 16
2.2.9 Nand flash的一些典型(typical)的特性 16
2.2.10 Nand Flash控制器與Nand Flash芯片 16
2.2.11 Nand Flash中的特殊硬件結(jié)構(gòu) 16
2.2.12 Nand Flash中的壞塊(Bad Block) 17
2.2.12.1 壞塊的分類 17
2.2.12.2 壞塊的標記 17
2.2.12.3 壞塊的管理 18
2.2.12.4 壞塊的比例 18
2.2.13 Nand Flash中頁的訪問順序 18
2.2.14 常見的Nand Flash的操作 18
2.2.14.1 頁編程(Page Program)注意事項 19
2.2.14.2 讀(Read)操作過程詳解 20
2.2.14.2.1 需要使用何種命令 20
2.2.14.2.2 發(fā)送命令前的準備工作以及時序圖各個信號的具體含義 20
2.2.14.2.3 如何計算出我們要傳入的行地址和列地址 22
2.2.14.2.4 讀操作過程的解釋 25
2.2.15 Nand Flash的一些高級特性 26
2.2.15.1 Nand Flash的Unique ID 26
2.2.15.1.1 什么是Unique ID唯一性標識 26
2.2.15.1.2 不同Nand Flash廠商的對Unique ID的不同的實現(xiàn)方法 26
2.2.15.1.2.1 Toshiba東芝的Nand的Unique ID 26
2.2.15.1.2.2 讀取Toshiba的Nand的Unique ID 27
2.2.15.1.3 Samsung三星的Nand的Unique ID 27
2.2.15.1.3.1 讀取Samsung的Nand的Unique ID 28
2.2.15.1.4 遵循ONFI規(guī)范的廠商的Nand的Unique ID 28
2.2.15.1.4.1 讀取遵循ONFI的廠商的Nand的Unique ID 29
2.2.15.2 片選無關(guān)(CE don’t-care)技術(shù) 30
2.2.15.3 帶EDC的拷回操作以及Sector的定義(Copy-Back Operation with EDC & Sector Definition for EDC) 31
2.2.15.4 多片同時編程(Simultaneously Program Multi Plane) 31
2.2.15.5 交錯頁編程(Interleave Page Program) 32
2.2.15.6 隨機輸出頁內(nèi)數(shù)據(jù)(Random Data Output In a Page) 32
2.3 軟件方面 32
2.3.1 Nand Flash相關(guān)規(guī)范 – ONFI和LBA 32
2.3.1.1 ONFI是什么 32
2.3.1.1.1 ONFI Block Abstracted NAND 34
2.3.1.1.2 ONFI的好處 35
2.3.1.2 LBA規(guī)范是什么 35
2.3.1.3 為何會有ONFI和LBA 36
2.3.1.3.1 技術(shù)層面的解釋 36
2.3.1.3.2 現(xiàn)實層面的解釋 36
2.3.1.4 ONFI和LBA的區(qū)別和聯(lián)系 36
2.3.1.4.1 ONFI和LBA的區(qū)別 36
2.3.1.4.2 ONFI和LBA的聯(lián)系 36
2.3.2 內(nèi)存技術(shù)設(shè)備,MTD(Memory Technology Device) 36
2.3.2.1 Linux MTD中檢測不同類型Nand Flash的ID部分的代碼 37
2.3.3 讀操作的硬件到軟件的映射 42
2.3.4 Nand flash驅(qū)動工作原理 47
3 Linux下Nand Flash驅(qū)動編寫步驟簡介 49
3.1 對于驅(qū)動框架部分 49
3.2 對于Nand Flash底層操作實現(xiàn)部分 49
4 引用文章 52


圖表
圖表 1 典型的Flash內(nèi)存單元的物理結(jié)構(gòu) 8
圖表 2 Nand Flash 和 Nor Flash的區(qū)別 9
圖表 3 Nand Flash 第3個ID的含義 11
圖表 4 Nand Flash物理存儲單元的陣列組織結(jié)構(gòu) 12
圖表 5 Flash和普通設(shè)備相比所具有的特殊性 13
圖表 6 Nand Flash引腳功能說明 14
圖表 7 Nand Flash引腳功能的中文說明 15
圖表 8 Nand Flash讀寫時的數(shù)據(jù)流向 17
圖表 9 Nand Flash K9K8G08U0A的命令集合 19
圖表 10 Nand Flash數(shù)據(jù)讀取操作的時序圖 21
圖表 11 Nand Flash的地址周期組成 22
圖表 12 Toshiba的Unique ID 27
圖表 13 ONFI的參數(shù)頁數(shù)據(jù)結(jié)構(gòu)定義 29
圖表 14 ONFI中Unique ID的結(jié)構(gòu) 30
圖表 15 ONFI中Read Unique ID命令的時序圖 30
圖表 16 ONFI中的Nand Flash的命令集合 34
圖表 17 MTD設(shè)備和硬盤設(shè)備之間的區(qū)別 37
圖表 18 Nand Flash數(shù)據(jù)讀取操作的時序圖 43

縮略詞


縮寫

全稱

BBM

Bad Block Management

BBT

Bad Block Table

EEPROM

Electrically Erasable Programmable Read-Only Memory

MLC

Multi Level Cell

MOSFET

Metal-Oxide -Semiconductor Field Effect Transistor

金屬氧化物半導體場效應晶體管

SLC

Single Level Cell

評分

參與人數(shù) 1可用積分 +10 收起 理由
bitmilong + 10 原創(chuàng)

查看全部評分

論壇徽章:
0
2 [報告]
發(fā)表于 2011-07-03 13:02 |只看該作者
LZ 辛苦了,這個必須頂

論壇徽章:
0
3 [報告]
發(fā)表于 2011-07-03 13:48 |只看該作者
crifan兄一發(fā)就是經(jīng)典呀

論壇徽章:
0
4 [報告]
發(fā)表于 2011-07-03 15:01 |只看該作者
文檔很棒,很深入

論壇徽章:
0
5 [報告]
發(fā)表于 2011-07-04 09:32 |只看該作者
  頂頂頂 樓主再接再厲

論壇徽章:
0
6 [報告]
發(fā)表于 2011-07-07 02:25 |只看該作者
回復 1# crifan


分享這個知識真的太無私了,真的非常感謝!

論壇徽章:
0
7 [報告]
發(fā)表于 2011-07-07 09:31 |只看該作者
頂頂頂……

論壇徽章:
0
8 [報告]
發(fā)表于 2011-07-07 15:01 |只看該作者
樓主總結(jié)的很好,條理很明晰,仔細研究下NAND Flash的datasheet并結(jié)合樓主這個文章會對NAND Flash的驅(qū)動有更深層次的理解!

論壇徽章:
0
9 [報告]
發(fā)表于 2011-07-08 17:45 |只看該作者
厲害,高手。。。仰慕

論壇徽章:
0
10 [報告]
發(fā)表于 2011-07-21 22:40 |只看該作者
回復 1# crifan

作者真的辛苦了,thanks!
您需要登錄后才可以回帖 登錄 | 注冊

本版積分規(guī)則 發(fā)表回復

  

北京盛拓優(yōu)訊信息技術(shù)有限公司. 版權(quán)所有 京ICP備16024965號-6 北京市公安局海淀分局網(wǎng)監(jiān)中心備案編號:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年舉報專區(qū)
中國互聯(lián)網(wǎng)協(xié)會會員  聯(lián)系我們:huangweiwei@itpub.net
感謝所有關(guān)心和支持過ChinaUnix的朋友們 轉(zhuǎn)載本站內(nèi)容請注明原作者名及出處

清除 Cookies - ChinaUnix - Archiver - WAP - TOP