從SSD角度學習NAND Flash 二

2021-10-11 23:23:42 字數 1440 閱讀 1672

第一篇文章主要介紹了一些概念(ch ce lun plan block page cell),這些概念也是行業內的統一的。nand flash的主要作用就是儲存,儲存就存在cell(有slc、tlc的cell)中,拿slc來說,乙個cell就存乙個bit,那麼大家可以想象以計算機的龐大資料量來講,乙個作業系統就算乙個g(1024m=8589934592bit),那都已經超過乙個32位unsigned int型的範圍了,所以計算機也不會傻到乙個bit乙個bit去計算位置,然後存起來。就想你家的公尺倉庫一樣,你也不會一粒一粒去存,都是一袋一袋去存,這也是分化打包的方法。我覺得nand 儲存的原理也差不多。言歸正傳,下面講一下nand flash的data sheet中的一些資訊:

nand 是個儲存的器件,對於使用者來說要考慮的就是,我把資料存進去,然後能完好的拿出來就行,存進去就需要考慮存到**(訪問位址)。

從data sheet來看第一看這個快閃儲存器的組織架構:

1.得了解你手上的nand flash有多大,能存多少資料:以下面乙個lun的tlc mode為例:

乙個lun有4個plan,乙個plan有552個block,乙個block有2112個page,乙個page能存16384+1968byte個資料

2.了解nand的大小之後,需要明白,這些儲存的地方的位址格式,需要怎麼訪問:

之前說到過行位址和列位址的概念:行位址由page號,plan號block號,lun號組成,列位址就是乙個page中的位置偏移(值的範圍就是0~16384+1968byte)。

乙個unsigned int的32位的數:

3.nand flash 內部單元結構圖

由這樣幾個單元組成:i/o 控制單元、邏輯控制單元、位址暫存器、狀態暫存器和命令暫存器,以及 nand flash 儲存陣列構成。在對 flash 操作的過程中,位址、資料、命令在乙個時序圖中的不同時間內使用同乙個 i/o,都由 i/o 控制單元控制。首先,主控傳送的命令到達 i/o 控制單元,然後將命令放到命令暫存器裡鎖存,最後傳輸給邏輯控制單元進行分析,產生控制 flash 儲存陣列的各種訊號。位址暫存器將 i/o 傳來的位址,分別通過行列解碼器轉變為行列位址。而狀態暫存器是將邏輯控制單元對 flash 操作後的時序狀態傳達到 i/o 控制單元。

從彙編角度學習C primer 一

型別是所有程式的基礎,型別告訴我們資料代表什麼意思以及可以對資料執行哪些操作,c 定義了幾種基本資料型別 字元型,整形,浮點數等,還提供了可用於自定義型別的機制。標準庫更給我們定製了一些標準c 資料型別 string vector等 本章開始介紹內建資料型別,並從彙編的角度,解釋這些內建型別 內建內...

從研發角度談儲存技術的學習

對於研發人員,儲存技術的學習內容非常之多。我根據自己的理解,把它們大致分為以下8項內容 1 系統管理 unix linux windows作業系統管理,要求熟悉甚至精通。2 開發技術 c c 網路程式設計,多程序 多執行緒,程序間通訊。如果能掌握核心開發 驅動程式開發則更佳。3 儲存基礎 磁碟 ra...

從研發角度談儲存技術的學習

對於研發人員,儲存技術的學習內容非常之多。我根據自己的理解,把它們大致分為以下8項內容 1 系統管理 unix linux windows作業系統管理,要求熟悉甚至精通。2 開發技術 c c 網路程式設計,多程序 多執行緒,程序間通訊。如果能掌握核心開發 驅動程式開發則更佳。3 儲存基礎 磁碟 ra...