Nand Flash 位址資料的確定

2021-06-08 07:09:37 字數 1484 閱讀 1321

nand flash使用8位資料線,同時作為位址線,命令線,資料線復用。類似於平時使用的點陣液晶顯示器的操作方式。這裡作為學習的記錄,說一下nand flash 的位址的確定方式。nand flash 的內部分為 block(塊)、page(頁). 其中 一塊nand flash 包含若干 block,每個block裡包含若干page.頁是nand 的最小操作單元。

如圖中所示,這款flash 共有2076個block(塊),每個block有128個page(頁),每個頁包含(8k+436)bytes的資料,其中8k是資料區,436b是用作儲存效驗等一些特定用途的資料。由圖中**可以看出定位nand中的乙個位置的時候需要知道是在哪個block,哪個page中的哪個位元組就可以了。

首先我們把圖中的資料列一下:

1 page  = (8k +436) bytes = 8628 byte = 0x21b4 bytes =  ps  // 這個用ps代指頁的位元組大小

1 block  = 128 pages = (1m + 54.5k) bytes = 128 ps

假如我們需要訪問第 5 block ,第2頁的第1077個位元組。      (這裡的block 、page 和頁內位址均為從0開始計數)

當前如果我們知道具體的block、page 和頁內位置,

我們可以直接將 block page 和頁中的位置 三個引數組織後,分別傳遞給頁位址 a14-a20,a21-a32,a0-a13.

同時我們也可以根據給出的位址的絕對值計算出相應的block page 和頁內的位置。

上述的絕對位置用如果公式計算:

絕對位址 sum =  塊大小 * 塊 + 頁大小 * 頁 + 頁中的位置

= 128ps*5 + ps *2 + 1077

= (128*5 + 2)ps + 1077  =  5540253 = 0x

所以絕對位址必定為頁大小的整數倍 + 在頁內的位置大小。

a0-a13 = sum%ps =  1077 = 0x435    a0-a7 = 0x35  , a8-a13 = 0x4 & (0x3f) = 0x4

低8位為第乙個傳送週期傳送,剩餘6位作為第二週期的高六位傳送,另外高兩位為低電平0。

確定page address: 每個block 有128(0x80)個頁。即值為 0-0x7f,佔7個bit位。即 a14 - a20.

a14-a20 = (sum / ps )%128 = 2

即sum 的除去 上面的0x21b3所占用的bit位,接著的7個bit位應該表示的就是 page address 。

a21 - a32 = (sum /ps ) /128 = 5.

所以第三週期傳送的值為  (2 &0x7f)| ((5&0x1)<<7)

第四週期傳送( 5>>1) & 0xff

第五週期傳送   (5 >>8) &0x7    |  ( a33<<3)

nand flash位址機制

k9f2g08u0a是三星公司生產的總容量為256m的nandflash,常用於手持裝置等消費電子產品。還是那句話,搞底層就得會看datasheet,我們就從它的datasheet看起。現在就看一下重點的,nandflash的儲存單元的組織結構,k9f2g08u0a的儲存單元的組織結構如下 結合上面...

資料庫設計主鍵的確定

資料庫的設計涉及到乙個小問題 那就是主鍵的確定。主鍵就是一行記錄的唯一性的確定的一列 或 幾列,但是可選性其實就比較大了 主鍵的確定問題 我就騎驢的計一下 乙個問題,主鍵跟業務邏輯 的關係 網上的前輩們都說跟業務邏輯關係相關性小比較好,但是一直不太懂 其實算是前輩們經驗之談了吧 因為在實際應用中 資...

資料庫中候選鍵的確定

在學習資料庫的時候,經常要碰到候選鍵的求取,但是一開始的時候,根本搞不清楚怎麼去求,最近看了一些文章和資料,終於搞明白了。首先來看候選鍵的定義 若關係中的某一屬性組的值能唯一地標識乙個元組,則稱該屬性組為候選鍵。若w是候選鍵,則必須滿足兩個條件 w的閉包是u w沒有冗餘。設關係模式r中u abc.等...