《電子技術(shù)應(yīng)用》
您所在的位置:首頁 > 嵌入式技術(shù) > 設(shè)計應(yīng)用 > 一種可編程多路閃存控制器的設(shè)計與驗證
一種可編程多路閃存控制器的設(shè)計與驗證
2017年電子技術(shù)應(yīng)用第9期
張洪柳,張 春
清華大學(xué) 微電子學(xué)研究所,北京1000861
摘要: 介紹了一種可應(yīng)用于固態(tài)硬盤(Solid State Disk)主控芯片中的閃存控制器的設(shè)計實現(xiàn)方法。該閃存控制器最大支持4路閃存通路,4路閃存通路共用一個ECC糾錯模塊,提出一種新型可編程控制方法,CPU可實現(xiàn)4路閃存數(shù)據(jù)的并發(fā)讀寫,并兼容多種品牌的閃存顆粒。主要介紹了該閃存控制器的硬件架構(gòu)及關(guān)鍵模塊的設(shè)計實現(xiàn)思路,并最終給出了閃存控制器的驗證結(jié)果及綜合結(jié)果,在多種糾錯格式及4路通路的配置下,閃存控制器的性能及成本均能滿足一般SSD主控芯片的使用需求。
關(guān)鍵詞: NAND閃存 多通道 可編程 SSD
中圖分類號: TP216
文獻標識碼: A
DOI:10.16157/j.issn.0258-7998.170744
中文引用格式: 張洪柳,張春. 一種可編程多路閃存控制器的設(shè)計與驗證[J].電子技術(shù)應(yīng)用,2017,43(9):39-42.
英文引用格式: Zhang Hongliu,Zhang Chun. Design and verification method of one programmable multi-channel NAND Flash controller[J].Application of Electronic Technique,2017,43(9):39-42.
Design and verification method of one programmable multi-channel NAND Flash controller
Zhang Hongliu,Zhang Chun
Tsinghua University Microelectronics Institute,Beijing 1000861,China
Abstract: An effective design and implementation method of NAND flash memory host controller that implemented in Solid State Disk controller was analyzed in this paper. The NAND flash memory host controller supports up to 4 channels NAND flash ports, with 4 channels NAND flash port sharing one ECC error correction module. By using a new type of programmable control method, the CPU can realize 4 channels read and write flash memory data concurrent, and is compatible with a variety of brands of NAND flash. The design philosophy of hardware architecture and critical modules was introduced. The verification and synthesis results were demonstrated finally. Considering of performance and cost evaluation, general SSD controllers could be satisfied by this controller which configured with 4 flash channels and multiple ECC coding formats.
Key words : NAND flash;multi channel;programmable;SSD

0 引言

    固態(tài)硬盤相對于傳統(tǒng)機械硬盤,憑借其高讀寫性能、低功耗、低噪音、體積小、抗震性強等諸多優(yōu)點,近年來在消費類電子、軍工、航空航天等領(lǐng)域得到迅猛發(fā)展,并不斷搶占機械硬盤的原有市場份額。

    固態(tài)硬盤主要由主控芯片、閃存芯片和DRAM緩存芯片組成。主控芯片作為固態(tài)硬盤的核心器件,其好壞優(yōu)劣直接決定固態(tài)硬盤產(chǎn)品的性能和可靠性;閃存芯片目前主流應(yīng)用的是15/16 nm的MLC顆粒,雖然存儲容量單顆可達128 Gb,接口性能可達400 MB/s,但數(shù)據(jù)保存性能較差,需要主控芯片具有極強的數(shù)據(jù)糾錯能力,同時配合主控芯片中的FTL(Flash Translation Layer)固件進行磨損均衡調(diào)度,以保證固態(tài)硬盤的整體壽命。

    固態(tài)硬盤主控芯片早期主要以PATA為接口,經(jīng)過多年的市場發(fā)展已經(jīng)逐步升級為USB3.0(5 Gb/s)/SATAIII(6 Gb/s)接口,甚至在企業(yè)級已經(jīng)升級為PCIE3.0(8 Gb/s)接口,單盤容量最大可支持8 TB。而閃存單顆粒無論是接口速度還是容量,都無法滿足固態(tài)硬盤的整體需求,一般都是通過一顆主控加上多顆閃存陣列的方案實現(xiàn)。閃存控制器作為固態(tài)硬盤主控的關(guān)鍵模塊,其兼容性、糾錯能力、吞吐量、閃存陣列組合方式等特性,往往決定了最終固態(tài)硬盤產(chǎn)品的成本、性能及穩(wěn)定性。本文所設(shè)計的閃存控制器可支持4路閃存通路,共支持4×8片閃存片選,最大容量可支持512 GB,支持更大容量可集成多個閃存控制器;在110 nm工藝下,閃存控制器接口速率可達4×200 MB/s,在55/40 nm工藝下,速率可達4×400 MB/s;在兼容性方面,本文閃存控制器提出了一種可編程的命令編碼方式,可有效保證對閃存各個廠商命令層的支持。

1 閃存控制器總體架構(gòu)

1.1 總體架構(gòu)

    本文閃存控制器對外接口主要包括一個AHB[1]配置從端口、一個AHB數(shù)據(jù)從端口和4路閃存主機端口,每路閃存端口可外掛8片F(xiàn)lash片選[2]。如圖1所示。

wdz4-t1.gif

    閃存控制器只包含一個寄存器配置模塊,用于控制4路通路的數(shù)據(jù)傳輸并反映當(dāng)前狀態(tài)。4路通路模塊共用一個AHB數(shù)據(jù)從端口,AHB數(shù)據(jù)從端口通過地址譯碼產(chǎn)生選擇信號,分別對4路通路進行數(shù)據(jù)讀寫,通過共用AHB數(shù)據(jù)端口,可降低芯片頂層集成的繁瑣程度,降低出錯概率,便于驗證,且不影響數(shù)據(jù)傳輸帶寬。4路通路模塊共用一個ECC解碼模塊,ECC解碼模塊數(shù)據(jù)輸入輸出位寬為32位,保證與4路閃存8位端口總位寬相一致,出于面積方面考慮,與4個8位寬的ECC解碼模塊相比,采用32 bit位寬可通過優(yōu)化算法和DC綜合等方法有效降低閃存控制器整體面積。

1.2 單通路模塊架構(gòu)

    單通路模塊是整個閃存控制器的核心模塊,包含3個時鐘:AHB_CLK,NFC_CLK,NAND_CLK。所以按時鐘域可分為總線時鐘域、模塊時鐘域和閃存時鐘域。按照邏輯劃分可分為控制通路和數(shù)據(jù)通路,控制通路包括流程控制模塊、初始化模塊、地址生成模塊和指令控制模塊;數(shù)據(jù)通路包括數(shù)據(jù)控制模塊、加解擾模塊、取反模塊和閃存接口模塊,閃存控制器單通路模塊架構(gòu)如圖2所示。

wdz4-t2.gif

2 設(shè)計實現(xiàn)

2.1 指令編碼

    由于閃存業(yè)界分為兩大陣營,各自支持ONFI[3]和Toggle兩種不同協(xié)議,如果通過硬件實現(xiàn)命令層的傳輸控制,一旦閃存廠商協(xié)議升級或者變更,則會存在命令層不兼容的風(fēng)險,只有通過重新設(shè)計流片才能解決,這樣無疑會增加固態(tài)硬盤主控廠商的成本。

    本文采用軟硬件結(jié)合的方式,提出了一種可編程的命令層實現(xiàn)方法,即CPU根據(jù)指令集格式進行命令碼編程,寫入閃存控制器內(nèi)部指令SRAM中,閃存控制器根據(jù)指令SRAM中的指令進行閃存顆粒的讀寫、擦除等操作,如果需要重復(fù)操作,CPU無需再次寫入,直接配置閃存控制器執(zhí)行上次操作即可。

2.1.1 指令集格式

    指令集共包含4條指令:控制指令、地址指令、命令指令和數(shù)據(jù)指令,如表1所示。

wdz4-b1.gif

    控制指令一般作為一個命令層操作的起始指令,指令標志為0xf,ce_num代表當(dāng)前操作的閃存片選,i代表操作完成后是否報告中斷,byte2和byte1保留,byte0代表當(dāng)前命令層操作總的word個數(shù)。

    地址指令指令標志為0x1,vn代表當(dāng)前指令有效地址個數(shù),byte0-2分別代表當(dāng)前操作的地址,比如閃存列地址為2個byte,則vn為2,byte0和byte1有效。

    命令指令包含閃存spec定義的標準命令和自定義用戶命令,指令標志為0x2,su代表當(dāng)前是spec命令還是用戶命令,command_code當(dāng)su為1時由CPU寫入閃存標準命令,當(dāng)su為0時,由CPU寫入用戶命令。用戶命令主要用于滿足閃存命令間的一些時序參數(shù)及狀態(tài)操作,定義如表2。

wdz4-b2.gif

    數(shù)據(jù)指令主要包含系統(tǒng)數(shù)據(jù)和空閑區(qū)數(shù)據(jù)的讀寫操作,指令標志為0x4,ms表示當(dāng)前是系統(tǒng)數(shù)據(jù)(main data)還是空閑區(qū)數(shù)據(jù)(spare data),rw代表讀寫操作,sector_count表示當(dāng)前操作數(shù)據(jù)塊的個數(shù)。

2.1.2 命令層編碼

    軟件通過CPU將閃存控制器指令進行編程后,形成一套閃存命令層編碼,可實現(xiàn)對閃存的讀寫擦除等各種操作。以閃存的擦除操作為例,如表3。

wdz4-b3.gif

2.2 流程控制

    流程控制模塊主要負責(zé)命令層編碼的取址、解析、執(zhí)行以及數(shù)據(jù)通路模塊的控制等操作。

    流程控制模塊的狀態(tài)機如圖3所示。

wdz4-t3.gif

    其中初始化狀態(tài)主要負責(zé)檢測當(dāng)前閃存控制器外掛閃存的數(shù)量,通過輪詢單個閃存片選,發(fā)送復(fù)位指令后檢查閃存RB_n引腳狀態(tài),如果發(fā)送指令后檢測到RB_n信號線下降沿,則表示閃存外掛有效。CMDREC狀態(tài)主要記錄當(dāng)前CPU配置的命令層編碼起始地址及命令層有效個數(shù),如果執(zhí)行完一個命令層編碼后,需要在此狀態(tài)檢查命令層編碼的有效個數(shù),如果有效個數(shù)為0才能跳轉(zhuǎn)至IDLE狀態(tài)。

2.3 加解擾

    由于MLC工藝越來越先進,閃存內(nèi)部單元間的干擾效應(yīng)(cell-cell-interference)越加明顯,如果一段數(shù)據(jù)全為0或者全為1,則會加劇該效應(yīng),以致超出ECC解碼模塊的糾錯能力,所以需要將明文數(shù)據(jù)離散化后存入到閃存介質(zhì)中,最大化降低單元干擾效應(yīng)。

    本文采用線性反饋的方式實現(xiàn)數(shù)據(jù)的離散化,如圖4。

wdz4-t4.gif

3 驗證方法

    前仿真主要分為模塊級前仿真芯片級前仿真及系統(tǒng)級前仿真,系統(tǒng)級前仿真涉及技術(shù)層面太多,仿真效果精準但仿真速度慢,往往花費大量時間和人力,目前階段可實用性不強,本文主要進行了模塊級前仿真及芯片級前仿真。

3.1 模塊級前仿真

    模塊級前仿真通過Verilog或者SystemVerilog[4]等硬件描述語言完成仿真平臺及閃存模型的實現(xiàn),主要針對閃存控制器的功能性及代碼覆蓋率進行仿真,仿真速度快,覆蓋率高。如圖5所示。

wdz4-t5.gif

    ONFI接口讀取多個sector波形圖如圖6,Toggle接口讀取多個sector波形圖如圖7。

wdz4-t6.gif

wdz4-t7.gif

3.2 芯片級前仿真

    芯片級前仿真主要基于SoC最小化平臺[5],通過C語言編寫ARM CPU的驅(qū)動程序,對閃存控制器進行典型應(yīng)用的激勵仿真,主要驗證閃存控制器集成適用性及軟硬件結(jié)合的效率。芯片級驗證平臺如圖8。閃存控制器讀取閃存數(shù)據(jù)波形如圖9,閃存控制器寫入閃存數(shù)據(jù)波形如圖10。

wdz4-t8.gif

wdz4-t9.gif

wdz4-t10.gif

4 綜合結(jié)果

    由于不同主控對閃存控制器的需求不同,集成參數(shù)不相同,最終的綜合結(jié)果也各不相同。本文中針對一般SATA類SSD主控的需求,后端綜合采用110 nm工藝庫,閃存控制器典型配置參數(shù)如下:

    閃存通路數(shù):4

    AHB接口位寬:32

    閃存接口位寬:8

    AHB_CLK/NFC_CLK:200 MHz

    NAND_CLK:400 MHz

    ECC糾錯格式:1/8/16/24/40/60/72

    線負載模型:enG1000K

    綜合結(jié)果總門數(shù)約為1 030 K邏輯門,其中ECC解碼模塊占用490 K邏輯門,單路控制器門數(shù)約為135 K邏輯門。功耗情況如下:

    單元內(nèi)部功耗:39.885 2 mW(89%)

    線開關(guān)電源:4.929 6 mW(11%)

    整體動態(tài)功耗:44.814 9 mW(100%)

    單元漏電功耗:3.574 6 mW

5 結(jié)論

    本文根據(jù)固態(tài)硬盤主控芯片對閃存控制的操作需求,通過軟硬件結(jié)合可編程的方式,設(shè)計了一種高效且兼容性極強的專用固態(tài)硬盤閃存控制器。該控制器可覆蓋支持各類閃存廠商的操作命令,糾錯能力能夠滿足不同工藝下閃存顆粒的需求,在支持容量、接口傳輸速率、電路面積、動態(tài)功耗等方面也均可滿足固態(tài)硬盤主控芯片的要求,具有廣泛的應(yīng)用價值,并已成功應(yīng)用在固態(tài)硬盤設(shè)計中。

參考文獻

[1] ARM.AMBA@3 AHB-Lite Protocol V1.0 Specification.www.arm.com,2006.

[2] 陳宏銘,程玉華.針對固態(tài)硬盤應(yīng)用的多通路閃存控制器實現(xiàn)[J].中國集成電路,2012(1):37.

[3] Intel,Micron,Phison,et al.Open NAND Flash Interface Specification Revision 3.2.www.onfi.org,2013.

[4] Accellera,SystemVerilog 3.1a Language Reference Manual.www.accellera.org,2004.

[5] 張磊,李清江,聶洪山,等.基于SATA接口的固態(tài)硬盤設(shè)計[J].微處理機,2011(4):77-78.



作者信息:

張洪柳,張  春

(清華大學(xué) 微電子學(xué)研究所,北京1000861)

此內(nèi)容為AET網(wǎng)站原創(chuàng),未經(jīng)授權(quán)禁止轉(zhuǎn)載。
亚洲一区二区欧美_亚洲丝袜一区_99re亚洲国产精品_日韩亚洲一区二区
亚洲人成小说网站色在线| 亚洲视频在线免费观看| 亚洲卡通欧美制服中文| 国产亚洲成人一区| 国产精品久久久久免费a∨| 欧美韩日一区二区三区| 久久色在线观看| 欧美一区二区三区四区在线| 一区二区高清视频在线观看| 亚洲精品专区| 亚洲国产欧美日韩| 久久精品人人做人人综合| 欧美一区二区在线视频| 午夜精品美女久久久久av福利| 中文日韩在线| 一区二区精品| 99热免费精品| 99精品视频免费| 中国女人久久久| 亚洲一级一区| 亚洲欧美国产日韩天堂区| 亚洲一二三区精品| 亚洲一区欧美二区| 亚洲欧美三级在线| 性做久久久久久| 久久成人精品视频| 亚洲电影免费在线 | 久久riav二区三区| 欧美一级免费视频| 久久激情久久| 亚洲激情视频网站| 99v久久综合狠狠综合久久| 一区二区三区高清在线| 亚洲欧美成人精品| 欧美一区二区高清| 久久女同精品一区二区| 蜜桃久久av| 欧美日韩国产一中文字不卡| 欧美日韩在线免费观看| 国产精品国产三级国产aⅴ9色| 国产精品高精视频免费| 国产乱码精品一区二区三区忘忧草| 国产麻豆精品theporn| 国产一区二区成人| 亚洲电影在线播放| aa级大片欧美三级| 午夜精品视频一区| 亚洲国产精品精华液2区45| 亚洲精品午夜| 亚洲综合色网站| 久久天堂av综合合色| 欧美激情一区二区三区蜜桃视频 | 欧美国产精品久久| 欧美视频在线视频| 国产一区 二区 三区一级| 亚洲高清一区二| 亚洲视频免费| 久久精品国产亚洲5555| 一本一本久久a久久精品综合妖精| 亚洲在线观看免费视频| 久久久久久9999| 欧美精品v国产精品v日韩精品| 国产精品v欧美精品∨日韩| 国产亚洲欧美一级| 亚洲精品女av网站| 欧美一区二区在线看| 日韩小视频在线观看专区| 久久se精品一区精品二区| 欧美激情亚洲激情| 国产亚洲精品一区二555| 亚洲精品久久久久中文字幕欢迎你| 亚洲一区二区三区高清| 亚洲人成人一区二区三区| 亚洲欧美自拍偷拍| 欧美大片在线观看一区| 国产欧美欧美| 亚洲精品乱码久久久久久日本蜜臀| 亚洲在线中文字幕| 亚洲精品免费观看| 欧美一级免费视频| 欧美日韩国产小视频| 国内外成人在线视频| 亚洲午夜羞羞片| 99视频有精品| 久久综合伊人77777蜜臀| 国产精品久久久久永久免费观看| 在线观看91精品国产入口| 亚洲影视综合| 夜夜躁日日躁狠狠久久88av| 久久久精品久久久久| 欧美视频手机在线| 亚洲高清成人| 欧美在线亚洲| 香蕉久久一区二区不卡无毒影院| 欧美精选一区| 亚洲第一区在线| 欧美在线91| 欧美诱惑福利视频| 国产精品sm| 一本久久综合亚洲鲁鲁五月天| 亚洲国产美国国产综合一区二区| 欧美一级成年大片在线观看| 欧美日韩在线一区| 亚洲国产精品嫩草影院| 亚洲大胆在线| 久久久久欧美精品| 国产色产综合色产在线视频| 亚洲线精品一区二区三区八戒| 一本久久a久久免费精品不卡| 欧美不卡高清| 伊伊综合在线| 亚洲国产欧美一区二区三区同亚洲| 欧美在线免费观看视频| 国产精品日本一区二区| 夜夜狂射影院欧美极品| 中文av一区二区| 欧美乱在线观看| 亚洲肉体裸体xxxx137| 亚洲国产黄色片| 久久综合999| 欲色影视综合吧| 久久精品国产久精国产思思| 久久精品色图| 国产综合色精品一区二区三区| 午夜精品成人在线视频| 欧美一区二区网站| 国产女优一区| 欧美一级大片在线免费观看| 久久久国产精品一区二区三区| 国产视频久久久久| 久久成人国产精品| 久久午夜国产精品| 亚洲盗摄视频| 亚洲精品国产精品国产自| 欧美夫妇交换俱乐部在线观看| 在线看片成人| 亚洲毛片在线观看.| 久久精品女人| 欧美激情亚洲| 欧美乱在线观看| 亚洲精品一区二区三区樱花| 99re66热这里只有精品3直播 | 欧美激情精品| 亚洲精品美女91| 国产精品99久久久久久人 | 狠狠色噜噜狠狠色综合久| 亚洲高清激情| 欧美黄色精品| 妖精成人www高清在线观看| 亚洲永久精品国产| 国产日本欧美一区二区三区| 亚洲第一精品电影| 欧美成人网在线| av成人免费观看| 欧美在线视频一区二区| 狠狠色综合网| 99精品欧美一区二区蜜桃免费| 欧美性色视频在线| 欧美一区二区三区喷汁尤物| 欧美18av| 亚洲网站在线观看| 欧美中文字幕在线视频| 在线观看日韩av先锋影音电影院| 99视频在线观看一区三区| 国产精品入口尤物| 亚洲高清一区二| 欧美日韩一区在线观看| 午夜免费日韩视频| 欧美激情第8页| 亚洲欧美日韩精品综合在线观看| 久久天天躁狠狠躁夜夜爽蜜月| 亚洲国产高清高潮精品美女| 亚洲综合大片69999| 国内偷自视频区视频综合| 一本久道综合久久精品| 国产手机视频精品| 日韩视频中文| 国产一区二区精品丝袜| 一区二区三区精品视频在线观看 | 亚洲一区免费网站| 免费视频一区二区三区在线观看| 这里只有视频精品| 美女被久久久| 亚洲视频在线看| 免费亚洲电影在线| 亚洲永久免费观看| 男女激情久久| 亚洲一区二区三区在线播放| 免费看亚洲片| 亚洲摸下面视频| 欧美精品在线免费播放| 久久成年人视频| 国产精品美女一区二区| 亚洲美女视频在线免费观看| 国产欧美一区二区白浆黑人| 日韩一二在线观看| 国产亚洲精品aa| 亚洲综合国产精品| 亚洲人成网站在线观看播放| 久久精品欧美日韩精品|