專利名稱:一種用于固態(tài)硬盤的閃存控制器的制作方法
技術(shù)領(lǐng)域:
本發(fā)明涉及一種微電子技術(shù)領(lǐng)域,具體地說是一種用于固態(tài)硬盤的閃存控制器。
背景技術(shù):
隨著NAND閃存的廣泛應(yīng)用,固態(tài)硬盤(英文solid state disk,縮寫SSD)也逐漸為大家所熟悉,與傳統(tǒng)的機(jī)械硬盤相比,固態(tài)硬盤有啟動快,讀寫數(shù)據(jù)速度快,不怕碰撞震動,無噪聲,功耗低等優(yōu)點(diǎn)。但其也存在很多不足,比如成本高,擦除次數(shù)有限等,所以為了提高SSD的壽命,我們會在SSD中增加一個邏輯地址到物理地址的映射表,同時采用磨損均衡的策略。因?yàn)镾LC(Single Level Cell單層單元)結(jié)構(gòu)的NAND閃存成本相對較高,所以MLC(Multi-Level Cell多層單元)結(jié)構(gòu)的閃存得到了更廣泛的應(yīng)用,但是MLC結(jié)構(gòu)的閃存存儲數(shù)據(jù)信息的時候容易出現(xiàn)錯誤,所以就要求NAND閃存控制器要有能對一定的錯誤數(shù)據(jù)糾正的能力,而目前BCH (BoseJay-Chaudhuri與Hocquenghem的縮寫)算法在糾正多位數(shù)據(jù)錯誤上有著其自己的優(yōu)勢。BCH碼是用于校正多個隨機(jī)錯誤模式的多級、循環(huán)、錯誤校正、變長數(shù)字編碼。另外NAND閃存的擦除時間和寫入時間相對讀操作來說要慢很多,所以很多NAND 閃存廠商提供了一些可以提高NAND閃存速度的命令,比如two-plane的命令,再有就是不同廠商的NAND閃存的指令和時序會有所不同,需要閃存控制器能夠支持不同廠商的NAND閃存。具有糾錯能力且能支持不同廠商的閃存控制器是目前迫切需要的。
發(fā)明內(nèi)容
本發(fā)明的技術(shù)任務(wù)是提供一種具有糾錯能力且能支持不同廠商的一種用于固態(tài)硬盤的閃存控制器。本發(fā)明的技術(shù)任務(wù)是按以下方式實(shí)現(xiàn)的,包括SRAM控制器、數(shù)據(jù)緩沖區(qū)、寄存器控制器、配置和狀態(tài)寄存器、子通道控制器、ECC硬件糾錯邏輯、檢驗(yàn)?zāi)K、帶外數(shù)據(jù)處理模塊、NAND閃存接口,SRAM控制器連接控制數(shù)據(jù)緩沖區(qū);SRAM控制器連接ECC硬件糾錯邏輯, ECC硬件糾錯邏輯連接NAND閃存接口 ;寄存器控制器連接控制配置和狀態(tài)寄存器,配置和狀態(tài)寄存器連接子通道控制器,配置和狀態(tài)寄存器連接NAND閃存接口 ;檢驗(yàn)?zāi)K連接帶外數(shù)據(jù)處理模塊,帶外數(shù)據(jù)處理模塊連接NAND閃存接口。數(shù)據(jù)緩沖區(qū)為4個4K字節(jié)的數(shù)據(jù)緩沖區(qū)。ECC硬件糾錯邏輯可以支持IK數(shù)據(jù)中8/12/16/^241^1可配置的BCH硬件糾錯。本發(fā)明的一種用于固態(tài)硬盤的閃存控制器通過NAND閃存接口連接至NAND閃存芯片。SRAM控制器是用來對4個數(shù)據(jù)緩沖區(qū)操作用的,4個4K字節(jié)的數(shù)據(jù)緩沖區(qū)可以接收來自SATA控制器的數(shù)據(jù),同時也是對NAND閃存操作時的數(shù)據(jù)緩沖區(qū)。ECC硬件糾錯邏輯主要是針對MLC結(jié)構(gòu)的NAND閃存在存儲數(shù)據(jù)的時候容易發(fā)生錯誤而設(shè)計(jì)的,他支持IK字節(jié)中8/12/16/M比特的糾錯,我們可以在閃存控制器相應(yīng)的寄存器控制器中進(jìn)行配置。本發(fā)明與SATA或者其他控制器之間的高速數(shù)據(jù)傳輸是在DMA控制器的調(diào)度下通過AHB總線來實(shí)現(xiàn)的,所以本發(fā)明的內(nèi)部接口是AHB接口。子通道控制器主要是負(fù)責(zé)對4個4K字節(jié)的數(shù)據(jù)緩沖區(qū)的調(diào)度。另外在我們可以在本發(fā)明的配置和狀態(tài)寄存器中配置其支持對NAND閃存芯片的 two-plane操作,調(diào)整發(fā)送給NAND閃存芯片的微指令,根據(jù)不同的NAND閃存芯片調(diào)整相應(yīng)的時序信息等。帶外數(shù)據(jù)(OOB)處理模塊和校驗(yàn)?zāi)K(CRC),是為了硬件加速固態(tài)硬盤映射表的重建而設(shè)計(jì)的。其中每一個NAND閃存物理頁中帶外數(shù)據(jù)處理模塊中存放著其對應(yīng)的映射信息和功能信息,我們需要的就是其映射信息用來建立固態(tài)硬盤的映射表,從而達(dá)到提高固態(tài)硬盤壽命的要求,正常情況下我們要把NAND閃存芯片中每個物理頁中的信息讀出來, 然后根據(jù)帶外數(shù)據(jù)處理模塊中的信息建立映射表,但是集成帶外數(shù)據(jù)處理模塊處理模塊后我們就可以直接讀出里面的映射信息,為了防止帶外數(shù)據(jù)處理模塊的信息錯誤,我們加入了校驗(yàn)?zāi)K,如果校驗(yàn)?zāi)K校驗(yàn)出錯,我們再把整個物理頁讀出來,通過ECC硬件糾錯邏輯把數(shù)據(jù)錯誤位糾正過來,如果校驗(yàn)?zāi)K通過,我們則可以省掉一個物理頁數(shù)據(jù)傳輸?shù)臅r間和ECC硬件糾錯邏輯校驗(yàn)的時間,從而大大縮短了固態(tài)硬盤重建映射表的時間。本發(fā)明的一種用于固態(tài)硬盤的閃存控制器讀寫操作的流程,具體的過程如下首先在本發(fā)明復(fù)位后對其配置和狀態(tài)寄存器進(jìn)行配置,配置完后判斷此時是否有 4K字節(jié)的數(shù)據(jù)緩沖區(qū)空閑,如果沒有,繼續(xù)等待,直到4個數(shù)據(jù)緩沖區(qū)有一個空閑,這時拿到這個數(shù)據(jù)緩沖區(qū),然后判斷此時NAND閃存芯片是否空閑,如果忙碌(讀狀態(tài)寄存器),則繼續(xù)等待,如果空閑,則進(jìn)入對NAND閃存的操作模式。如果是寫操作,則由DMA控制通過AHB總線將4K字節(jié)數(shù)據(jù)寫入到4K自己數(shù)據(jù)緩沖區(qū),然后帶外數(shù)據(jù)處理模塊根據(jù)配置把相應(yīng)的帶外數(shù)據(jù)填寫好,然后按順序送入命令,送入地址,送入數(shù)據(jù),然后就是NAND閃存自己的寫操作時間,讀NAND閃存的配置和狀態(tài)寄存器,知道其操作結(jié)束。如果是讀操作,則按順序送入命令,送入地址,等待NAND閃存將閃存陣列中的數(shù)據(jù)讀到頁數(shù)據(jù)緩沖區(qū)后再讀到閃存控制器的4K字節(jié)數(shù)據(jù)緩沖區(qū),同時閃存控制器對緩沖區(qū)中的數(shù)據(jù)做ECC硬件糾錯邏輯解碼校驗(yàn),如果沒有錯誤,則將緩沖區(qū)的數(shù)據(jù)通過AHB總線送出,如果有錯,則開啟ECC硬件糾錯邏輯糾錯,如果在可以糾錯的范圍內(nèi),則將糾正后的數(shù)據(jù)通過AHB總線送出,否則進(jìn)入錯誤處理程序。SRAM,是英文Matic RAM的縮寫,它是一種具有靜止存取功能的內(nèi)存,不需要刷新電路即能保存它內(nèi)部存儲的數(shù)據(jù)。主要用于二級高速緩存。利用晶體管來存儲數(shù)據(jù)。一般用小容量的SRAM作為更高速CPU和較低速DRAM之間的緩存(cache)。本發(fā)明的一種用于固態(tài)硬盤的閃存控制器具有以下優(yōu)點(diǎn)1、本發(fā)明支持DMA,可以實(shí)現(xiàn)高速的數(shù)據(jù)傳輸;采用4個4K字節(jié)的數(shù)據(jù)緩沖區(qū),可以同時對4個不同bank的NAND閃存進(jìn)行操作,提高了讀取NAND閃存數(shù)據(jù)的帶寬;2、集成ECC硬件糾錯邏輯,可以支持IK數(shù)據(jù)中8/12/16/Mbit可配置的BCH硬件糾錯;3、集成帶外數(shù)據(jù)(OOB)處理模塊以及校驗(yàn)?zāi)K(CRC),可以硬件加速固態(tài)硬盤映
4射表的重建;4、支持對NAND閃存芯片的two-plane操作,可以配置閃存控制器的寄存器調(diào)整發(fā)送給NAND閃存芯片的微指令,也可以根據(jù)不同的NAND閃存芯片調(diào)整相應(yīng)的時序信息;能有效提高固態(tài)硬盤的性能;因而,具有很好的推廣使用價值。
下面結(jié)合附圖對本發(fā)明進(jìn)一步說明。附圖1為一種用于固態(tài)硬盤的閃存控制器的結(jié)構(gòu)框圖。
具體實(shí)施例方式參照說明書附圖和具體實(shí)施例對本發(fā)明的一種用于固態(tài)硬盤的閃存控制器作以下詳細(xì)地說明。實(shí)施例本發(fā)明的一種用于固態(tài)硬盤的閃存控制器,其結(jié)構(gòu)包括SRAM控制器、數(shù)據(jù)緩沖區(qū)、寄存器控制器、配置和狀態(tài)寄存器、子通道控制器、ECC硬件糾錯邏輯、檢驗(yàn)?zāi)K、帶外數(shù)據(jù)處理模塊、NAND閃存接口,SRAM控制器連接控制數(shù)據(jù)緩沖區(qū);SRAM控制器連接ECC硬件糾錯邏輯,ECC硬件糾錯邏輯連接NAND閃存接口 ;寄存器控制器連接控制配置和狀態(tài)寄存器,配置和狀態(tài)寄存器連接子通道控制器,配置和狀態(tài)寄存器連接NAND閃存接口 ;檢驗(yàn)?zāi)K連接帶外數(shù)據(jù)處理模塊,帶外數(shù)據(jù)處理模塊連接NAND閃存接口。數(shù)據(jù)緩沖區(qū)為4個4K字節(jié)的數(shù)據(jù)緩沖區(qū)。ECC硬件糾錯邏輯可以支持IK數(shù)據(jù)中8/12/16/24bit可配置的BCH硬件糾錯。本發(fā)明的一種用于固態(tài)硬盤的閃存控制器讀寫操作的流程,具體的過程如下首先在本發(fā)明復(fù)位后對其配置和狀態(tài)寄存器進(jìn)行配置,配置完后判斷此時是否有 4K字節(jié)的數(shù)據(jù)緩沖區(qū)空閑,如果沒有,繼續(xù)等待,直到4個數(shù)據(jù)緩沖區(qū)有一個空閑,這時拿到這個數(shù)據(jù)緩沖區(qū),然后判斷此時NAND閃存芯片是否空閑,如果忙碌(讀狀態(tài)寄存器),則繼續(xù)等待,如果空閑,則進(jìn)入對NAND閃存的操作模式。如果是寫操作,則由DMA控制通過AHB總線將4K字節(jié)數(shù)據(jù)寫入到4K自己數(shù)據(jù)緩沖區(qū),然后帶外數(shù)據(jù)處理模塊根據(jù)配置把相應(yīng)的帶外數(shù)據(jù)填寫好,然后按順序送入命令,送入地址,送入數(shù)據(jù),然后就是NAND閃存自己的寫操作時間,讀NAND閃存的配置和狀態(tài)寄存器,知道其操作結(jié)束。如果是讀操作,則按順序送入命令,送入地址,等待NAND閃存將閃存陣列中的數(shù)據(jù)讀到頁數(shù)據(jù)緩沖區(qū)后再讀到閃存控制器的4K字節(jié)數(shù)據(jù)緩沖區(qū),同時閃存控制器對緩沖區(qū)中的數(shù)據(jù)做BCH解碼校驗(yàn),如果沒有錯誤,則將緩沖區(qū)的數(shù)據(jù)通過AHB總線送出,如果有錯,則開啟ECC硬件糾錯邏輯糾錯,如果在可以糾錯的范圍內(nèi),則將糾正后的數(shù)據(jù)通過AHB 總線送出,否則進(jìn)入錯誤處理程序。本發(fā)明的一種用于固態(tài)硬盤的閃存控制器通過NAND閃存接口連接至NAND閃存芯片。除說明書所述的技術(shù)特征外,均為本專業(yè)技術(shù)人員的已知技術(shù)。
權(quán)利要求
1.一種用于固態(tài)硬盤的閃存控制器,其特征在于包括SRAM控制器、數(shù)據(jù)緩沖區(qū)、寄存器控制器、配置和狀態(tài)寄存器、子通道控制器、ECC硬件糾錯邏輯、檢驗(yàn)?zāi)K、帶外數(shù)據(jù)處理模塊、NAND閃存接口,SRAM控制器連接控制數(shù)據(jù)緩沖區(qū);SRAM控制器連接ECC硬件糾錯邏輯,ECC硬件糾錯邏輯連接NAND閃存接口 ;寄存器控制器連接控制配置和狀態(tài)寄存器,配置和狀態(tài)寄存器連接子通道控制器,配置和狀態(tài)寄存器連接NAND閃存接口 ;檢驗(yàn)?zāi)K連接帶外數(shù)據(jù)處理模塊,帶外數(shù)據(jù)處理模塊連接NAND閃存接口。
2.根據(jù)權(quán)利要求1所述的一種用于固態(tài)硬盤的閃存控制器,其特征在于數(shù)據(jù)緩沖區(qū)為 4個4K字節(jié)的數(shù)據(jù)緩沖區(qū)。
3.根據(jù)權(quán)利要求1所述的一種用于固態(tài)硬盤的閃存控制器,其特征在于ECC硬件糾錯邏輯可以支持IK數(shù)據(jù)中8/12/164413^可配置的BCH硬件糾錯。
全文摘要
本發(fā)明公開了一種用于固態(tài)硬盤的閃存控制器,屬于一種微電子技術(shù)領(lǐng)域,其結(jié)構(gòu)包括SRAM控制器、數(shù)據(jù)緩沖區(qū)、寄存器控制器、配置和狀態(tài)寄存器、子通道控制器、ECC硬件糾錯邏輯、檢驗(yàn)?zāi)K、帶外數(shù)據(jù)處理模塊、NAND閃存接口,SRAM控制器連接控制數(shù)據(jù)緩沖區(qū);SRAM控制器連接ECC硬件糾錯邏輯,ECC硬件糾錯邏輯連接NAND閃存接口;寄存器控制器連接控制配置和狀態(tài)寄存器,配置和狀態(tài)寄存器連接子通道控制器,配置和狀態(tài)寄存器連接NAND閃存接口;檢驗(yàn)?zāi)K連接帶外數(shù)據(jù)處理模塊,帶外數(shù)據(jù)處理模塊連接NAND閃存接口。本發(fā)明具有糾錯能力且能支持不同廠商。
文檔編號G11C16/06GK102176325SQ20111004666
公開日2011年9月7日 申請日期2011年2月28日 優(yōu)先權(quán)日2011年2月28日
發(fā)明者于治樓, 姜凱, 李峰, 梁智豪 申請人:浪潮電子信息產(chǎn)業(yè)股份有限公司