NAND FLash基礎概念介紹,nandflash基礎概念

來源:互聯網
上載者:User

NAND FLash基礎概念介紹,nandflash基礎概念

一、引腳介紹

引腳名稱

引腳功能

CLE

命令鎖存功能

ALE

地址鎖存功能

/CE

晶片使能

/RE

讀使能

/WE

寫使能

/WP

防寫保護

R/B

就緒/忙輸出訊號

Vcc

電源

Vss

N.C

不接

IO0~IO7

傳輸資料、命令、地址


    1. 命令、地址、資料都通過8個I/O口傳輸    2. 寫命令、地址、資料時,都需要將WE、CE訊號同時拉低    3. 資料在WE訊號的上升沿被NAND Flash鎖存    4. 命令鎖存訊號CLE和地址鎖存訊號ALE用來分辨、鎖存命令或地址    5. 在CLE上升沿,命令被鎖存    6. 在ALE上升沿,地址被鎖存



二、儲存群組織形式

    1. NAND晶片內部分為die, plane,block, page    2. chip是指晶片,一個封裝好的晶片就是一個chip    3. die是晶圓上的小方塊,一個晶片裡可能封裝若干個die,由於flash的工藝不一樣,技術不一樣,由此產生了die        的概念,常見的有Mono Die,a Die, b die等,一個chip包含N個die    4. plane是NAND能夠根據讀、寫、擦除等命令進行操作的最小單位

        一個plane就是一個儲存矩陣,包含若干個Block

    5.  Block是NANDFlash的最小擦除單位,一個Block包含了若干個Page    6.  Page是NANDFlash的最小讀寫單位,一個Page包含若干個Byte

OOB/Spare Area

          每一個頁,對應還有一塊地區,叫做空閑地區(SpareArea)。在Linux系統中,一般叫做OOB(Out of Band)。

         資料在讀寫的時候相對容易錯誤,所以為了保證資料的正確性,必須要有對應的檢測和糾正機制,此機制叫做ECC/EDC,所以設計了多餘的地區,用於存放資料的校正值。

          OOB的讀寫是隨著隨著頁的操作一起完成的。

          OOB的具體用途包括以下幾個方面:

          ► 標記所處的block是否為壞塊

          ► 儲存ECC資料

          ► 儲存一些和檔案系統相關的資料。如jaffs2就會用到這些空間儲存一些特定資訊,而yaffs2檔案系統,會在                    oob中存放很多和自己檔案系統相關的資訊


一個16G的NAND的儲存結構大致如下:



一個16G的NANDFlash需要34位地址,而傳輸地址的IO口是8位的,因此需要5個迴圈來傳輸地址資訊。




NAND Flash中的壞塊

           Nand Flash 中,一個塊中含有1 個或多個位是壞的,就稱為其為壞塊Bad Block。壞塊的穩定性是無法保證

    的,也就是說,不能保證你寫入的資料是對的,或者寫入對了,讀出來也不一定對的。與此對應的正常的塊,肯定

    是寫入讀出都是正常的。

           壞塊有兩種:

          (1)出廠時就有存在的壞塊:

                   一種是出廠的時候,也就是,你買到的新的,還沒用過的Nand Flash,就可以包含了壞塊。此類出廠時就             有的壞塊,被稱作factory (masked) bad block 或initial bad/invalid block,在出廠之前,就會做對應的標記,

            標為壞塊。

           (2) 使用過程中產生的壞塊:

                   第二類叫做在使用過程中產生的,由於使用過程時間長了,在擦塊除的時候,出錯了,說明此塊壞了,也

             要在程式運行過程中,發現,並且標記成壞塊的。具體標記的位置,和上面一樣。這類塊叫做worn-out 

             bad block。即用壞了的塊。


SLC和MLC的實現機制

           NANDFlash按照內部儲存資料單元的電壓的不同層次,也就是單個記憶體單元中,是儲存1位元據,還是多位元        據,可以分為SLC和MLC。

           ► SLC(Single Level Cell)

               單個儲存單元只儲存1位,表示1或0。

               對於Nand Flash寫入1,就是控制ExternalGate去充電,使得儲存的電荷夠多,超過閾值Vth,就表示1了。

               而對於寫入0,就是將其放電,電荷減少到小於Vth,就表示0了

           ► MLC(Multi Level Cell)

               與SLC對應的,就是單個儲存單元可以儲存多個位,比如2位、4位等。其實現機制就是,通過控制內部電荷

               的多少,分成多個閾值,從而儲存為不同的資料。

               單個儲存單元可以儲存2位元據的,稱作2的2次方 = 4 LevelCell




Nand flash基本知識

nand flash 原理簡介【轉】Fisrt part :
NAND flash和NOR flash的不同NOR flash採用位讀寫,因為它具有sram的介面,有足夠的引腳來定址,可以很容易的存取其內部的每一個位元組。NAND flash使用複雜的I/O口來穿行地存取資料。8個引腳用來傳送控制、地址和資料資訊。NAND的讀和寫單位為512Byte的頁,擦寫單位為32頁的塊。
● NOR的讀速度比NAND稍快一些。
  ● NAND的寫入速度比NOR快很多。
  ● NAND的4ms擦除速度遠比NOR的5s快。
  ● 大多數寫入操作需要先進行擦除操作。
  ● NAND的擦除單元更小,相應的擦除電路更少。
在NOR器件上運行代碼不需要任何的軟體支援,在NAND器件上進行同樣操作時,通常需要驅動程式,也就是記憶體技術驅動程式(MTD),NAND和NOR器件在進行寫入和擦除操作時都需要MTD。
---------摘抄自網上流傳很廣的《NAND 和 NOR flash的區別》Second part:
NAND Flash結構與驅動分析一、NAND flash的物理組成
NAND Flash 的資料是以bit的方式儲存在memory cell,一般來說,一個cell 中只能儲存一個bit。這些cell 以8個或者16個為單位,連成bit line,形成所謂的byte(x8)/word(x16),這就是NAND Device的位寬。這些Line會再組成Page,(NAND Flash 有多種結構,我使用的NAND Flash 是K9F1208,下面內容針對三星的K9F1208U0M),每頁528Bytes(512byte(Main Area)+16byte(Spare Area)),每32個page形成一個Block(32*528B)。具體一片flash上有多少個Block視需要所定。我所使用的三星k9f1208U0M具有4096個block,故總容量為4096*(32*528B)=66MB,但是其中的2MB是用來儲存ECC校正碼等額外資料的,故實際中可使用的為64MB。
NAND flash以頁為單位讀寫資料,而以塊為單位擦除資料。按照這樣的組織方式可以形成所謂的三類地址:
Column Address:Starting Address of the Register. 翻成中文為列地址,地址的低8位
Page Address :頁地址
Block Address :塊地址
對於NAND Flash來講,地址和命令只能在I/O[7:0]上傳遞,資料寬度是8位。二、NAND Flash地址的表示
512byte需要9bit來表示,對於528byte系列的NAND,這512byte被分成1st half Page Register和2nd half Page Register,各自的訪問由地址指標命令來選擇,A[7:0]就是所謂的column address(列地址),在進行擦除操作時不需要它,why?因為以塊為單位擦除。32個page需要5bit來表示,佔用A[13:9],即該page在塊內的相對位址。A8這一位地址被用來設定512byte的1st half page還是2nd half page,0表示1st,1表示2nd。Block的地址是由A14以上的bit來表示。
例如64MB(512Mb)的NAND flash(實際中由於存在spare area,故都大於這個值),共4096block,因此,需要12個bit來表示,即......餘下全文>>
 
有關NAND flash 的壞區定義與容量定義

廠家所說的4G指的是4 000 000 000位元組,是按1000進位計算的,而電腦是按照1024進位計算的,所以標稱為4G的NAND Flash理論容量是4 000 000 000 / 1024 / 1024 / 1024 = 3.72529G。再扣掉Mp4自身的系統軟體所佔的空間和檔案系統所佔的空間,剩餘3.54G可用空間是正常的。
至於說你的Flash有壞區,大可不必擔心。所有的Flash都有壞區,只要起始地址沒壞,Flash就可以正常使用。儲存區如果有損壞,是會被自行替換的,無需使用者參與。
至於其它容量的Flash,按照相同的演算法,都可以算出相應的理論容量。
 

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.