專利名稱:基于sopc的電子硬盤控制器的制作方法
技術(shù)領(lǐng)域:
本發(fā)明涉及一種電子硬盤控制器,采用大規(guī)模現(xiàn)場可編程門陣列FPGA (Field Programable Gate Array)作為物理載體,實(shí)現(xiàn)基于可編程片上系統(tǒng)SOPC (System On aProgammable Chip)技術(shù)的電子硬盤控制器。
背景技術(shù):
目前,計(jì)算機(jī)的存儲設(shè)備是機(jī)械硬盤。飛轉(zhuǎn)的硬盤就像高速行駛的汽車, 稍有磕碰,后果就會非常嚴(yán)重,可靠性差而且功耗大。在以寬溫、抗振、節(jié)電 為要求的高可靠性的工業(yè)、軍事、航天等領(lǐng)域,這種存儲介質(zhì)成了最難達(dá)到要 求甚至無法解決的問題。作為解決以上問題的方式之一,以半導(dǎo)體作為存儲及 控制載體的電子硬盤成為取代機(jī)械硬盤的一種趨勢。沒有機(jī)械裝置,完全的半 導(dǎo)體化,使電子硬盤形成了自己的特點(diǎn)抗震、寬溫、無噪、低耗、可靠。
現(xiàn)有的電子硬盤控制器均采用專用控制器芯片,這類控制器芯片基于SOC (System On Chip)技術(shù),不能根據(jù)用戶需要進(jìn)行配置,對系統(tǒng)進(jìn)行裁剪、升級。 現(xiàn)有控制器的主機(jī)接口主要是IDE接口,串行接口的SATA (Serial Advanced Technology Attachment)還未出現(xiàn)技術(shù)成熟芯片。
SOPC作為嵌入式系統(tǒng)具有以下兩個(gè)特點(diǎn)首先,它是片上系統(tǒng)SOC,即 由單個(gè)芯片完成整個(gè)系統(tǒng)的主要邏輯功能;其次,它是可編程系統(tǒng),具有靈活 的設(shè)計(jì)方式,可裁剪、可升級、可擴(kuò)充,并具備軟硬件在系統(tǒng)可編程的功能。 SOPC結(jié)合了 SOC和FPGA的優(yōu)點(diǎn),其基本特征至少包含一個(gè)嵌入式處理器
IP (Intellectual Property)核;具有小容量的片內(nèi)高速RAM資源;豐富的IP核 資源可供靈活選擇;有足夠的片上可編程邏輯資源;處理器高速接口和FPGA 編程接口共用或并存。
發(fā)明內(nèi)容
針對現(xiàn)有傳統(tǒng)機(jī)械硬盤將逐步被電子硬盤取代的趨勢,提出利用SOPC技術(shù) 構(gòu)建電子硬盤控制器,負(fù)責(zé)SATA通信接口協(xié)議解析和控制管理FLASH存儲介
質(zhì),實(shí)現(xiàn)髙速大容量SATA接口電子硬盤,其具有結(jié)構(gòu)緊湊,寬溫、抗振、低 功耗,提高硬盤的容量、讀寫速度以及穩(wěn)定性。
本發(fā)明的技術(shù)方案是基于SOPC的電子硬盤控制器采用模塊化設(shè)計(jì),主 要由以下3個(gè)模塊組成嵌入式處理器IP核l、 SATA控制器4和Flash控制器 3。嵌入式處理器作為主控端,負(fù)責(zé)整體協(xié)調(diào)處理,調(diào)度SATA控制器和Flash 控制器,確保數(shù)據(jù)正確傳輸。SATA控制器負(fù)責(zé)解析處理SATA命令,實(shí)現(xiàn)SATA
接口通信協(xié)議。Flash控制器負(fù)責(zé)對Flash存儲芯片的讀寫控制和Flash高級管理 算法實(shí)現(xiàn)。
FPGA中移植嵌入式軟核處理器,實(shí)現(xiàn)硬件ECC (錯(cuò)誤檢査和糾正)校驗(yàn) 和Flash壞塊管理,保證數(shù)據(jù)存儲持久。釆用IP核實(shí)現(xiàn)SATA2.0標(biāo)準(zhǔn)總線協(xié)議, m;女3 nGWc的^f去鉿;審疳.孚田NANn flash陣列沐^左《決^V活i並實(shí)現(xiàn)突量
和速度的擴(kuò)展。
本發(fā)明具有如下優(yōu)點(diǎn)
1:采用SOPC架構(gòu),單一塊芯片實(shí)現(xiàn)控制器所有功能,外圍電路簡單,能 減少PCB制版面積,使硬盤結(jié)構(gòu)小型化,降低功耗。
, W RFI o^vrw^力口仏 -處處士;fl辨戰(zhàn) 艷e^W"^7 ^ 處T7T扭命:fn 3 、、工ffin班
便于升級。
3:選用SATA接口電子硬盤,在繼承機(jī)械硬盤的通用性的同時(shí),提供機(jī)械
硬盤所不具有的優(yōu)異的物理特性和環(huán)境特性,并將硬盤的存儲領(lǐng)域擴(kuò)展到工業(yè)、 軍事、航天等領(lǐng)域。
4:釆用NAND Flash作為存儲介質(zhì),具有掉電數(shù)據(jù)不丟失,使用壽命長等
故上
圖1:基于SOPC的電子硬盤控制器結(jié)構(gòu)框圖
具體實(shí)施例方式
基于S0PC的電子硬盤控制器包括嵌入式處理器IP核1、 OPB總線用戶接 口 (OPB IPIF) 2、 NAND Flash控制器3、 SATA控制器4、 OPB橋AHB 5、 OPB總線仲裁器6、通用輸入輸出接口 (GPIO) 7和Nor Flash及SRAM控制器8。
基于SOPC的電子硬盤控制器選用FPGA作為物理載體,通過在FPGA內(nèi) 部嵌入MicroBlaze軟核處理器作為嵌入式處理器IP核l,實(shí)現(xiàn)系統(tǒng)管理,通過 OPB總線協(xié)調(diào)控制整個(gè)系統(tǒng)工作。MicroBlaze軟核處理器與外設(shè)接口均采用OPB (On-Chip Peripheral Bus)連接,OPB總線2通過OPB總線仲裁器6決定主設(shè) 備是否占有OPB總線使用權(quán)。MkroBlaze軟核處理器作為主設(shè)備掛在OPB上, 主要功能是實(shí)現(xiàn)解析SATA的所有命令、數(shù)據(jù)流的分發(fā)、Flash陣列地址映射和 均衡管理算法。從設(shè)備有NOR Flash和SRAM控制器3,外部分別連接一塊NOR Flash和SRAM控制器8作為外擴(kuò)的程序存儲器和數(shù)據(jù)存儲器,滿足大容量的 程序代碼和數(shù)據(jù)存儲要求。電子硬盤控制器通過通用輸入輸出接口 (GPIO)接 口 7控制LED燈顯示硬盤工作狀態(tài),當(dāng)主機(jī)檢測到硬盤時(shí),GPIO接收到上層
軟件傳送來的控制命令,點(diǎn)亮LED燈,表明主機(jī)已經(jīng)識別硬盤,可以開始傳輸 數(shù)據(jù)。當(dāng)主機(jī)要終止與硬盤的通信,即主機(jī)要?jiǎng)h除這個(gè)硬件時(shí),LED燈熄滅。
與主機(jī)接口釆用SATA串行接口,兼容SATA1.0和SATA2.0標(biāo)準(zhǔn),可實(shí)現(xiàn) 3.0Gb/s的傳輸速度,該接口還具有結(jié)構(gòu)簡單、支持熱插拔的優(yōu)點(diǎn)。SATA協(xié)議 分為四層應(yīng)用層、傳輸層、鏈路層和物理層。應(yīng)用層由嵌入式處理器MicroBlaze 負(fù)責(zé)處理實(shí)現(xiàn),處理SATA控制和讀寫命令,初始化設(shè)置SATA工作模式。傳輸 層和鏈路層通過硬件描述語言設(shè)計(jì)實(shí)現(xiàn),并以IP核形式獨(dú)立封裝成SATA控制 器,采用通用的AHB (Advanced High-Performance Bus)總線接口與外部連接, 并且集成DMA控制器,提高數(shù)據(jù)傳輸效能,其中AHB Master接口應(yīng)用于DMA 數(shù)據(jù)傳輸,AHB Slave接口用于嵌入式處理器配置SATA控制器的工作模式。 OPB橋AHB5連接OPB總線和AHB總線,將AHB Slave接口映射成OPB,從 設(shè)備接入OPB總線,AHB Master接口映射成OPB,主設(shè)備接入OPB總線,可 以擁有OPB總線控制權(quán),以便啟動DMA傳輸。物理層采用Xilinx RocketIO MGT (千兆級收發(fā)器),將數(shù)據(jù)進(jìn)行串并轉(zhuǎn)換后發(fā)送和接收,并行數(shù)據(jù)寬度為 20bit,串行數(shù)據(jù)速度為3.0Gb/s,物理層還負(fù)責(zé)OOB (Out of Band)通信協(xié)議實(shí) 現(xiàn)。
針對NAND Flash的特點(diǎn)以及待電子硬盤在速度方靣的要求設(shè)計(jì)出NAM) Flash控制器。NAND Flash控制器8設(shè)計(jì)標(biāo)準(zhǔn)的SRAM接口,使上位機(jī)訪問控 制器如同訪問內(nèi)存方便;NAND Flash控制器內(nèi)部自帶8k數(shù)據(jù)緩存區(qū),按Flash 每頁數(shù)據(jù)大小緩存將要讀取或者寫入的數(shù)據(jù)。數(shù)據(jù)緩存和NAND Flash之間加 DMA通道,實(shí)現(xiàn)高速從NAND Flash讀取數(shù)據(jù)和向NAND Flash寫入數(shù)據(jù);加 入ECC糾錯(cuò)邏輯,確保讀取數(shù)據(jù)和寫入信息的正確。
本實(shí)施例采用如下配置
可編程邏輯器件Virtex4FX60-llFF672
嵌入式軟核處理器Xilinx MicroBlaze 4.0
SATA接口 Virtex-4 RocketIO MGT 時(shí)鐘管理ICS844001
基于SOPC的電子硬盤控制器,應(yīng)用于電子硬盤的單芯片解決方案,硬件 環(huán)境由SATA控制器,嵌入式處理器,NAND Falsh控制器和NAND Fakh存儲
陣列構(gòu)成;軟件環(huán)境由地址映射邏輯;壞塊管理邏輯;均衡損耗邏輯構(gòu)成;使
SATA接口電子硬盤對上位機(jī)表現(xiàn)為無差別于機(jī)械硬盤的器件,實(shí)現(xiàn)以NAND Flash為存儲介質(zhì)的大容量數(shù)據(jù)存儲。
權(quán)利要求
1、基于SOPC的電子硬盤控制器,采用模塊化設(shè)計(jì),其特征在于主要包括以下3個(gè)模塊嵌入式處理器IP核(1)、SATA控制器(4)和Flash控制器(3),嵌入式處理器作為主控端,負(fù)責(zé)整體協(xié)調(diào)處理,調(diào)度SATA控制器和Flash控制器,確保數(shù)據(jù)正確傳輸;SATA控制器負(fù)責(zé)解析處理SATA命令,實(shí)現(xiàn)SATA接口通信協(xié)議;Flash控制器負(fù)責(zé)對Flash存儲芯片的讀寫控制和Flash高級管理算法實(shí)現(xiàn)。
2、 根據(jù)權(quán)利要求l所述的基于SOPC的電子硬盤控制器,其特征在于選用 FPGA作為物理載體,通過OPB總線協(xié)調(diào)控制整個(gè)系統(tǒng)工作。
3、 根據(jù)權(quán)利要求l所述的基于SOPC的電子硬盤控制器,其特征在于采用 標(biāo)準(zhǔn)的SATA2.0通信接口 。
4、 根據(jù)權(quán)利要求l所述的基于SOPC的電子硬盤控制器,其特征在于提供 NAND Flash存儲器接口 。
5、 根據(jù)權(quán)利要求l所述的基于SOPC的電子硬盤控制器,其特征在于采用 ECC校驗(yàn)。
全文摘要
本發(fā)明提供了一種基于SOPC技術(shù)的電子硬盤控制器,為電子硬盤控制器實(shí)現(xiàn)提供單芯片解決方案。電子硬盤控制器選用FPGA作為物理載體,內(nèi)部移植嵌入式處理器MicroBlae軟核,通過OPB總線協(xié)調(diào)控制整個(gè)系統(tǒng)工作。采用標(biāo)準(zhǔn)的SATA2.0通信接口,與主機(jī)傳輸數(shù)據(jù)速度可達(dá)3.0Gb/s。提供NAND Flash存儲器接口,實(shí)現(xiàn)大容量高速讀寫NAND Flash存儲器,采用ECC校驗(yàn)確保數(shù)據(jù)正確傳輸。
文檔編號G06F3/06GK101339493SQ20081003205
公開日2009年1月7日 申請日期2008年8月11日 優(yōu)先權(quán)日2008年8月11日
發(fā)明者佳 吳, 吳建飛, 欣 徐, 凱 步 申請人:湖南源科創(chuàng)新科技股份有限公司