日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

ONFI协议研究

發布時間:2024/3/12 编程问答 49 豆豆
生活随笔 收集整理的這篇文章主要介紹了 ONFI协议研究 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

概述

ONFI是Nand Flash的一套公開標準
官網:http://www.onfi.org/

機緣巧合,就看一下
官網有提供PDF下載,最新版本5.0,383頁

上來就看英文實在一頭霧水,最后找到了4.0的中文版
電子發燒友網:http://www.elecfans.com/soft/68/guide/2017/20170727535427.html

后來,還是想先看些入門科普級的
于是在京東讀書上找到了《固態存儲:原理、架構和數據安全》

ONFI 5.0目錄

  • 總體介紹,概念縮寫
  • 對外的物理接口(管腳)
  • 內部的物理結構
  • 數據接口和時序
  • 命令字
  • 組合操作
  • 操作流程
  • 第一章

    第二章:管腳

    Bing搜了把tsop-48
    https://cn.bing.com/search?q=tsop-48&qs=n&form=QBRE&sp=-1&pq=tsop-48&sc=1-7&sk=&cvid=94EEFB7B26BE45B6877E2025ACCAEE7D
    很多是賣存儲貼片(?成品)

    有些管腳硬件和工藝人員更關注,比如電源等不可變的
    有些軟件和驅動人員更關注,比如查詢狀態、控制使能等可變的

    所以重點看2.8章:信號描述
    像看寄存器手冊一樣,盡力理解每個管腳干啥的

    管腳理解
    R/B_x_n。OReady/Busy。輸出管腳。用于獲取Ready/Busy狀態
    RE_x_n(RE_x_t)。IRead Enable (True)。輸入管腳。用于設置讀模式
    RE_x_c。IRead Enable Complement。輸入管腳。一定場景選用
    W/R_x_n。IWrite/Read Direction。輸入管腳。看名字像是可以控制讀寫方向(再進一步怎么玩,沒有項目實踐,還真就不知道)
    CE_x_n。IChip Enable。輸入管腳。用于多芯片場景,表示選中
    (后面再慢慢看)

    第三章:內部結構

    能不能真正入門,就看對這一章節的理解了

    一個設備有多個target(用CE_n信號選中)。一個target包含若干個LUN(邏輯單元)LUN是能夠獨立執行CMD和上報狀態的最小單元。特別是,各個獨立的LUN,可以并行執行任意命令序列。 例如,允許在LUN 0上執行Page Program操作,同時在LUN 1上執行Read命令 到3.1.3章節看多LUN操作限制 一個LUN包括至少一個Page寄存器和一個Flash陣列 Page寄存器數量取決于LUN支持的多Plane操作數量 Flash陣列包含若干BlockBlock是LUN Flash陣列中,可擦除數據的最小單元。LUN中的Block數量沒有限制 Block包含若干PagePage是讀寫操作尋址的最小單元。Page包含若干Byte或Word。每個Page的用戶數據Byte數量,不包括額外的數據區,應該是2的N次方。每個Block中的Page數量應該是32的倍數每個LUN應該有至少一個Page寄存器。Page寄存器用于臨時存儲數據,在移到Flash陣列的Page之前,或者在從Flash陣列的Page移出之后Page寄存器中的Byte或Word位置,被稱為Column在這種結構里,有2種機制實現并行。同時會有多個CMD到不同的LUN。為了進一步在一個LUN中實現并行,多Plane操作可能用于執行額外的并行依賴操作

    第四章:數據接口和時序

    ONFI支持5種不同的數據接口類型:SDR、NV-DDR、... SDR數據接口是傳統的NAND接口,使用RE_n去鎖定數據讀取,WE_n去鎖定數據寫入,不包括時鐘 NV-DDR數據接口雙倍數據數率,包括標識鎖定哪些命令字和地址的一個時鐘,標識鎖定哪個數據的一個數據閘門 ...

    第五章:CMD定義

    表5-1概述ONFI的命令集第一個CMD周期的指定值,表示將要執行的CMD。有些CMD有第二個CMD周期,表5-1有指定。通常,CMD有第二個CMD周期的,都有一個地址

    第六章:多平面操作

    LUN支持多平面讀取、寫和擦除操作。多平面操作是指向同一LUN上的不同Block發出相同類型的多個命令。有關解決多平面操作的限制,請參見第5.7.1.27節。多平面操作有兩種方法:并行操作和重疊操作。 在執行多平面操作時,這些操作/功能應為相同的類型。可用于多平面操作的功能有: - 寫Page - Copyback方式的讀和寫 - 塊擦除 - 寫

    第七章:操作流程

    7.1.目標操作流程 目標狀態機描述了與目標一起操作時允許的序列。如果沒有一個弧為真,則目標仍處于當前狀態。7.1.1.變量 本節描述了在目標狀態機中使用的變量。tbStatusOut 當數據讀取周期應該返回狀態值時,此變量被設置為TRUE。此變量的上電值為FALSE。tbChgCol 允許使用“Change Read Column”更改列時,將此變量設置為TRUE。此變量的上電值為FALSE。tbChgColEnh 當允許使用“Change Read Column Enhanced”更改列時,將此變量設置為TRUE。此變量的上電值為FALSE。tCopyback 如果目標正在發出Copyback命令,則此變量設置為TRUE。此變量的上電值為FALSE。tLunSelected 此變量包含主機當前選擇的LUN。此變量的上電值為0。tLastCmd 此變量包含目標所接收到的最后一個命令的第一個周期(除了70h/78h)。tReturnState 此變量包含狀態操作后要返回的狀態。tbStatus78hReq 當下一個狀態操作應為78h命令(而不是70h命令)時,此變量被設置為TRUE。此變量的上電值為FALSE。

    其它網文參考

    • NAND FLash基礎概念介紹
      https://www.cnblogs.com/yfceshi/p/6854968.html

    • Nand Flash數據存儲單元的整體架構
      https://www.cnblogs.com/yfceshi/p/6854968.html

    總結

    以上是生活随笔為你收集整理的ONFI协议研究的全部內容,希望文章能夠幫你解決所遇到的問題。

    如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。