以W25N01GV型號進行舉例介紹;
封裝
一般常見的有WSON和BGA封裝;
協議
走SPI協議,一般是4線模式(標準模式):片選、時鐘、數據寫、數據讀;還有其他兩種模式:Dual/Quad SPI;
1、/CS;片選信號,低電平有效,在進行讀寫操作時需要把片選信號拉低;
2、DI, DO and IO0, IO1, IO2, IO3;數據傳輸線;
3、 /WP;寫保護,低有效,拉低時flash變爲只讀狀態,不能進行寫和擦除,還可配合保護寄存器裏面的值進行block的保護;
4、CLK;時鐘信號線,可設置時鐘;
結構
以華邦128MB spi nand爲例,1片裏面有1024個blocks,1個blocks裏面有64個pages,每個page裏面包含2048字節數據區和64字節OOB區;
由於此flash內部ECC糾錯能力是512Bx1,意思就是512字節數據可糾錯1個bit位,那麼2048字節數據就分位4個sector,每個sector單獨計算ECC校驗碼,對應關係如下:
每個block的壞塊標記一般是寫在第一個page的第一個OOB區的第一個字節,一般非0xFF爲壞塊標記,具體情況還是要參考datasheet;
讀寫
目前看到只有華邦spi nand支持連續讀功能,連續讀功能打開只需把寄存器裏面的BUF=0;普通讀需要每次讀數據之前發送讀命令和地址,而連續讀只需發一次命令和地址,後面會自動把下一個page數據準備好可直接讀取,提交了數據傳輸速度;