欧美在线观看视频网站,亚洲熟妇色自偷自拍另类,啪啪伊人网,中文字幕第13亚洲另类,中文成人久久久久影院免费观看 ,精品人妻人人做人人爽,亚洲a视频

于控制邏輯錯(cuò)誤時(shí)重新配置存儲(chǔ)控制器的方法以及使用該方法的裝置與流程

文檔序號(hào):11154187閱讀:644來(lái)源:國(guó)知局
于控制邏輯錯(cuò)誤時(shí)重新配置存儲(chǔ)控制器的方法以及使用該方法的裝置與制造工藝

本發(fā)明關(guān)連于一種閃存裝置,特別是一種于控制邏輯錯(cuò)誤時(shí)重新配置存儲(chǔ)控制器的方法以及使用該方法的裝置。



背景技術(shù):

對(duì)于以現(xiàn)場(chǎng)可程序化邏輯門(mén)陣列(FPGA,Field-Programmable Gate Array)封裝的固態(tài)硬盤(pán)(SSD,Solid State Drive)儲(chǔ)存系統(tǒng)中的控制器,單粒子翻轉(zhuǎn)(SEU,Single Event Upset)是造成控制邏輯錯(cuò)誤的原因之一。單粒子翻轉(zhuǎn)是微電子裝置中的敏感裝置因?yàn)榘柗W踊蛴钪嫔渚€沖擊造成的狀態(tài)翻轉(zhuǎn)。因此,本發(fā)明提出一種于控制邏輯錯(cuò)誤時(shí)重新配置控制器中的邏輯的方法以及使用該方法的裝置,用以克服上述的問(wèn)題。



技術(shù)實(shí)現(xiàn)要素:

本發(fā)明的實(shí)施例提出一種于控制邏輯錯(cuò)誤時(shí)重新配置存儲(chǔ)控制器的方法,由處理單元執(zhí)行,包含下列步驟。判斷存儲(chǔ)控制器發(fā)生錯(cuò)誤后,驅(qū)動(dòng)存儲(chǔ)控制器的固定區(qū)域中的重配置控制邏輯,用以重新程序化存儲(chǔ)控制器的整個(gè)可重配置區(qū)域,其中,可重配置區(qū)域以現(xiàn)場(chǎng)可程序化邏輯門(mén)陣列實(shí)施。

本發(fā)明的實(shí)施例提出一種于控制邏輯錯(cuò)誤時(shí)重新配置控制器的裝置,包含固定區(qū)域與可重配置區(qū)域。固定區(qū)域包含處理單元以及重配置控制邏輯。處理單元判斷存儲(chǔ)控制器發(fā)生錯(cuò)誤后,驅(qū)動(dòng)存儲(chǔ)控制器 的固定區(qū)域中的重配置控制邏輯,用以重新程序化存儲(chǔ)控制器的整個(gè)可重配置區(qū)域??芍嘏渲脜^(qū)域以現(xiàn)場(chǎng)可程序化邏輯門(mén)陣列實(shí)施。

【附圖說(shuō)明】

圖1是依據(jù)本發(fā)明實(shí)施例的固態(tài)硬盤(pán)儲(chǔ)存系統(tǒng)的系統(tǒng)架構(gòu)圖。

圖2是依據(jù)本發(fā)明實(shí)施例的閃存中的儲(chǔ)存單元示意圖。

圖3是依據(jù)本發(fā)明實(shí)施例的存儲(chǔ)控制器的邏輯分割示意圖。

圖4是依據(jù)本發(fā)明實(shí)施例的重新配置存儲(chǔ)控制器的方法流程圖。

圖5是依據(jù)本發(fā)明實(shí)施例的重新配置存儲(chǔ)控制器的方法流程圖。

【符號(hào)說(shuō)明】

10 系統(tǒng); 110 處理單元;

120 只讀存儲(chǔ)器; 130 靜態(tài)隨機(jī)存取內(nèi)存;

140 動(dòng)態(tài)隨機(jī)存取內(nèi)存;

150 存取界面; 160 主裝置;

170 存取界面; 180 儲(chǔ)存單元;

210 內(nèi)存單元數(shù)組; 220 行譯碼單元;

230 列編碼單元; 240 地址單元;

250 數(shù)據(jù)緩存器; 300a 可重配置區(qū)域;

300b 固定區(qū)域; 310 重配置控制邏輯;

S410~S480 方法步驟 S510~S520 方法步驟。

【具體實(shí)施方式】

以下說(shuō)明是為完成發(fā)明的較佳實(shí)現(xiàn)方式,其目的在于描述本發(fā)明的基本精神,但并不用以限定本發(fā)明。實(shí)際的發(fā)明內(nèi)容必須參考之 后的權(quán)利要求范圍。

必須了解的是,使用于本說(shuō)明書(shū)中的”包含”、”包括”等詞,是用以表示存在特定的技術(shù)特征、數(shù)值、方法步驟、操作處理、組件以及/或組件,但并不排除可加上更多的技術(shù)特征、數(shù)值、方法步驟、操作處理、組件、組件,或以上的任意組合。

于權(quán)利要求中使用如”第一”、"第二"、"第三"等詞是用來(lái)修飾權(quán)利要求中的組件,并非用來(lái)表示之間具有優(yōu)先權(quán)順序,先行關(guān)系,或者是一個(gè)組件先于另一個(gè)組件,或者是執(zhí)行方法步驟時(shí)的時(shí)間先后順序,僅用來(lái)區(qū)別具有相同名字的組件。

圖1是依據(jù)本發(fā)明實(shí)施例的固態(tài)硬盤(pán)儲(chǔ)存系統(tǒng)的系統(tǒng)架構(gòu)圖。固態(tài)硬盤(pán)儲(chǔ)存系統(tǒng)的系統(tǒng)架構(gòu)10中包含只讀存儲(chǔ)器120,儲(chǔ)存重新配置存儲(chǔ)控制器的信息。于此須注意的是,此信息也可備份在儲(chǔ)存單元180中。當(dāng)處理單元110執(zhí)行靜態(tài)隨機(jī)存取內(nèi)存130的控制核心算法時(shí),根據(jù)主裝置160通過(guò)存取接口150發(fā)出的命令,寫(xiě)入數(shù)據(jù)到儲(chǔ)存單元180中的指定地址,或者從儲(chǔ)存單元180中的指定地址讀取數(shù)據(jù)。詳細(xì)來(lái)說(shuō),處理單元110可通過(guò)存取接口170寫(xiě)入數(shù)據(jù)到儲(chǔ)存單元180中的指定地址,以及從儲(chǔ)存單元180中的指定地址讀取數(shù)據(jù)。系統(tǒng)架構(gòu)10使用數(shù)個(gè)電子信號(hào)來(lái)協(xié)調(diào)處理單元110與儲(chǔ)存單元180間的數(shù)據(jù)與命令傳遞,包含數(shù)據(jù)線(data line)、頻率信號(hào)(clock signal)與控制信號(hào)(control signal)。數(shù)據(jù)線可用以傳遞命令、地址、讀出及寫(xiě)入的數(shù)據(jù);控制信號(hào)線可用以傳遞芯片致能(chip enable,CE)、地址提取致能(address latch enable,ALE)、命令提取致能(command latch enable,CLE)、寫(xiě)入致能(write enable,WE)等控制信號(hào)。存取接口170可采用雙倍數(shù)據(jù)率(double data rate,DDR)通信協(xié)議與儲(chǔ)存單元180溝通,例如,開(kāi)放NAND快閃(open NAND flash interface,ONFI)、雙倍數(shù)據(jù)率開(kāi)關(guān)(DDR toggle)或其他接口。處理單元110另可使用存取接口150通過(guò)指定通信協(xié)議與主裝置160進(jìn)行溝通,例如,通用串行總線(universal serial bus,USB)、先進(jìn)技術(shù)附著(advanced technology attachment,ATA)、序列先進(jìn)技術(shù)附著(serial advanced technology attachment,SATA)、快速周邊組件互聯(lián)(peripheral component interconnect express,PCI-E)或其他接口。處理單元110、只讀存儲(chǔ)器120、靜態(tài)隨機(jī)存取內(nèi)存130、存取接口150及170可統(tǒng)稱為一個(gè)存儲(chǔ)控制器(storage controller)。

圖2是依據(jù)本發(fā)明實(shí)施例的閃存中的儲(chǔ)存單元示意圖。儲(chǔ)存單元180可包含由MxN個(gè)內(nèi)存單元(memory cells)組成的數(shù)組(array)210,而每一個(gè)內(nèi)存單元儲(chǔ)存至少一個(gè)位(bit)的信息。閃存可以是NAND型閃存,或其他種類的閃存。為了正確存取信息,行譯碼單元220用以選擇內(nèi)存單元數(shù)組210中指定的行,而列編碼單元230用以選擇指定行中一定數(shù)量的字節(jié)的數(shù)據(jù)作為輸出。地址單元240提供行信息給行譯碼器220,其中定義了選擇內(nèi)存單元數(shù)組210中的那些行。相似地,列譯碼器230則根據(jù)地址單元240提供的列信息,選擇內(nèi)存單元數(shù)組210的指定行中一定數(shù)量的列進(jìn)行讀取或?qū)懭氩僮?。行可稱為為字符線(wordline),列可稱為位線(bitline)。數(shù)據(jù)緩存器(data buffer)250可儲(chǔ)存從內(nèi)存單元數(shù)組210讀取出的數(shù)據(jù),或欲寫(xiě)入內(nèi)存單元數(shù)組210中的數(shù)據(jù)。內(nèi)存單元可為單層式單元(single-level cells,SLCs)、多層式單元(multi-level cells,MLCs)或三層式單元(triple-level cells,TLCs)。

圖3是依據(jù)本發(fā)明實(shí)施例的存儲(chǔ)控制器的邏輯分割示意圖。存儲(chǔ)控制器可包含可重配置區(qū)域(reconfigurable region)130a及固定區(qū)域(fixed region)300b。固定區(qū)域300b可包含輸出入控制邏輯(I/O control logic)、主裝置通信邏輯(master-device communications logic)及重配置控制邏輯(re-configuration control logic)310等。固定區(qū)域300b另可包含處理單元110的運(yùn)算邏輯單元,用以依據(jù)加載的固件進(jìn)行數(shù)學(xué)運(yùn)算以及控制其他組件。例如,輸出入控制邏輯包含對(duì)只讀存儲(chǔ)器120以及靜態(tài)隨機(jī)存取內(nèi)存130等的輸出入控制。主裝置通信邏輯可實(shí)施于存取接口150。固定區(qū)域300b中的邏輯不能重新配置??芍嘏渲脜^(qū)域300a以 現(xiàn)場(chǎng)可程序化邏輯門(mén)陣列實(shí)施??芍嘏渲脜^(qū)域300a包含固態(tài)硬盤(pán)儲(chǔ)存系統(tǒng)的控制核心算法,可占超過(guò)存儲(chǔ)控制器的90%空間??芍嘏渲脜^(qū)域300a包含可程序化邏輯區(qū)塊的數(shù)組及階層式可重新組態(tài)的相互連結(jié),使得區(qū)塊與區(qū)塊可連接在一起,例如,數(shù)個(gè)邏輯閘可依據(jù)不同組態(tài)相互連接在一起。一些邏輯區(qū)塊可組態(tài)來(lái)執(zhí)行復(fù)雜的綜合性功能,或者是簡(jiǎn)單的邏輯閘,例如與門(mén)(AND)、或門(mén)(OR)、互斥或門(mén)(XOR)等。一些邏輯區(qū)塊可包含存儲(chǔ)元件,由簡(jiǎn)單的觸發(fā)器(flip-flops)或完整的記憶塊組成??芍嘏渲脜^(qū)域300a中的控制核心算法以及固定區(qū)域300b中的邏輯可組織成數(shù)個(gè)碼區(qū)段(code segments),并在每一個(gè)碼區(qū)段加上循環(huán)冗余校驗(yàn)碼(CRC-Cyclic Redundancy Check)進(jìn)行保護(hù)。譯碼單元可使用循環(huán)冗余校驗(yàn)碼檢查存儲(chǔ)控制器中的控制核心算法及邏輯是否發(fā)生錯(cuò)誤,并且當(dāng)錯(cuò)誤發(fā)生時(shí)嘗試修正其中的錯(cuò)誤。然而,當(dāng)控制核心算法及邏輯無(wú)法修復(fù)時(shí)(亦可稱為控制邏輯錯(cuò)誤),需要執(zhí)行一個(gè)方法,用以重新配置存儲(chǔ)控制器??刂七壿嬪e(cuò)誤也可以代表存儲(chǔ)控制器發(fā)生錯(cuò)誤。

于一種實(shí)施方式中,存儲(chǔ)控制器可檢測(cè)可重配置區(qū)域300a的哪個(gè)部分發(fā)生不可恢復(fù)的錯(cuò)誤,接著,僅重新組態(tài)發(fā)生錯(cuò)誤的部分。為完成此檢測(cè)需要實(shí)施特定的硬件電路以及/或軟件指令?;蛘呤?,需要花費(fèi)額外的時(shí)間來(lái)完成此檢測(cè),在主裝置160所發(fā)出的命令超時(shí)前,可能造成來(lái)不及完成重新組態(tài)以及處理此命令。于另一種實(shí)施方式,存儲(chǔ)控制器可重新組態(tài)整個(gè)可重配置區(qū)域300a而不進(jìn)行如上所述的檢測(cè)。圖4是依據(jù)本發(fā)明實(shí)施例的重新配置存儲(chǔ)控制器的方法流程圖。熟習(xí)此技藝人士理解當(dāng)存儲(chǔ)控制器接收到主裝置160所發(fā)出的命令時(shí),使用控制核心算法來(lái)驅(qū)動(dòng)存取接口170,用以完成此命令,例如數(shù)據(jù)讀取命令、數(shù)據(jù)寫(xiě)入命令等。在使用控制核心算法前,譯碼單元需要先檢查存儲(chǔ)控制器中的控制核心算法及邏輯是否正確。當(dāng)譯碼單元無(wú)法修復(fù)于存儲(chǔ)控制器的控制核心算法及邏輯中發(fā)生的錯(cuò)誤時(shí),可發(fā)出最高優(yōu)先權(quán)的中斷給處理單元110。當(dāng)處理單元110接收到中斷后(步驟S410),暫停存取(步驟S420)。換句話說(shuō),處 理單元110并不使用包含無(wú)法恢復(fù)錯(cuò)誤的控制核心算法來(lái)驅(qū)動(dòng)存取接口170。接著,儲(chǔ)存目前的執(zhí)行狀態(tài)(例如,執(zhí)行變量值,尚未寫(xiě)入儲(chǔ)存單元180的數(shù)據(jù),已讀取但尚未回復(fù)給主裝置160的數(shù)據(jù)等)于動(dòng)態(tài)隨機(jī)存取內(nèi)存140(步驟S430)。詳細(xì)來(lái)說(shuō),于步驟S430,處理單元110驅(qū)動(dòng)輸出入控制邏輯儲(chǔ)存目前的執(zhí)行狀態(tài)至動(dòng)態(tài)隨機(jī)存取內(nèi)存140。處理單元110驅(qū)動(dòng)重配置控制邏輯310的開(kāi)始執(zhí)行重配置操作,用以重新程序化整個(gè)可重配置區(qū)域300a(步驟S440)。詳細(xì)來(lái)說(shuō),重配置控制邏輯310通過(guò)輸出入控制邏輯驅(qū)動(dòng)讀取只讀存儲(chǔ)器120中儲(chǔ)存的信息,例如使用硬件描述語(yǔ)言(HDL,Hardware Description Language)撰寫(xiě)的指令、邏輯區(qū)塊間相互連接的對(duì)照表等,并根據(jù)此信息來(lái)重新程序化整個(gè)可重配置區(qū)域300a。接著,反復(fù)執(zhí)行一個(gè)循環(huán),用以詢問(wèn)重配置控制邏輯310重配置操作是否完成(步驟S450)。當(dāng)重配置控制邏輯310回復(fù)重配置操作完成的消息后(步驟S450中”是”的路徑),處理單元110啟動(dòng)整個(gè)存儲(chǔ)控制器的再初始化操作(re-initiation operation),使得存儲(chǔ)控制器處于可用狀態(tài)(步驟S460)。接著,從動(dòng)態(tài)隨機(jī)存取內(nèi)存140恢復(fù)(restore)執(zhí)行狀態(tài)(步驟S470),以及根據(jù)恢復(fù)的執(zhí)行狀態(tài)恢復(fù)存取(resume access)(步驟S480)。通過(guò)以上的方法,尚未執(zhí)行完的操作可以從斷點(diǎn)繼續(xù)執(zhí)行。存儲(chǔ)控制器僅在短暫的時(shí)間(少于1秒)失效,重配置之后則恢復(fù)正常。

圖5是依據(jù)本發(fā)明實(shí)施例的重新配置存儲(chǔ)控制器的方法流程圖。當(dāng)暫停存取后(步驟S420),完成當(dāng)前管道(pipeline)中操作(步驟S510)。當(dāng)完成當(dāng)前管道(pipeline)中操作后(步驟S510),處理單元110驅(qū)動(dòng)重配置控制邏輯310的開(kāi)始執(zhí)行重配置操作,用以重新程序化整個(gè)可重配置區(qū)域300a(步驟S440)。接著,當(dāng)處理單元110啟動(dòng)整個(gè)存儲(chǔ)控制器的再初始化操作,使得存儲(chǔ)控制器處于可用狀態(tài)后(步驟S460),恢復(fù)存取(步驟S520)。步驟S410、S420、S440、S450、S460的詳細(xì)技術(shù)內(nèi)容請(qǐng)參考圖4的說(shuō)明,為求簡(jiǎn)潔不再贅述。

關(guān)于如何判斷上述存儲(chǔ)控制器發(fā)生錯(cuò)誤,請(qǐng)參考圖4及圖5 描述的方法流程:一些實(shí)施例是通過(guò)中斷處理程序(interrupt handler)的機(jī)制檢測(cè)發(fā)生單粒子翻轉(zhuǎn)錯(cuò)誤,一旦接收到中斷,接著進(jìn)行重新組態(tài)。于一些實(shí)施例中,處理單元110也可周期性的詢問(wèn)(polling)譯碼單元是否發(fā)生單粒子翻轉(zhuǎn)錯(cuò)誤。一旦譯碼單元回復(fù)發(fā)生單粒子翻轉(zhuǎn)錯(cuò)誤,則進(jìn)行重新組態(tài)。

雖然圖1中包含了以上描述的組件,但不排除在不違反發(fā)明的精神下,使用更多其他的附加組件,已達(dá)成更佳的技術(shù)效果。此外,雖然圖4、圖5的流程圖采用指定的順序來(lái)執(zhí)行,但是在不違法發(fā)明精神的情況下,熟習(xí)此技藝人士可以在達(dá)到相同效果的前提下,修改該多個(gè)步驟間的順序,所以,本發(fā)明并不局限于僅使用如上所述的順序。此外,熟習(xí)此技藝人士亦可以將若干步驟整合為一個(gè)步驟,或者是除了該多個(gè)步驟外,循序或平行地執(zhí)行更多步驟,本發(fā)明亦不因此而局限。

雖然本發(fā)明使用以上實(shí)施例進(jìn)行說(shuō)明,但需要注意的是,該多個(gè)描述并非用以限縮本發(fā)明。相反地,此發(fā)明涵蓋了熟習(xí)此技藝人士顯而易見(jiàn)的修改與相似設(shè)置。所以,申請(qǐng)權(quán)利要求范圍須以最寬廣的方式解釋來(lái)包含所有顯而易見(jiàn)的修改與相似設(shè)置。

當(dāng)前第1頁(yè)1 2 3 
網(wǎng)友詢問(wèn)留言 已有0條留言
  • 還沒(méi)有人留言評(píng)論。精彩留言會(huì)獲得點(diǎn)贊!
1
长顺县| 双城市| 柘城县| 梨树县| 田东县| 徐州市| 沂水县| 霸州市| 南澳县| 边坝县| 东乌珠穆沁旗| 永靖县| 阜阳市| 乌苏市| 万全县| 萝北县| 邵东县| 新野县| 德化县| 肥东县| 姜堰市| 景宁| 凤凰县| 恩施市| 和龙市| 遵化市| 鹤岗市| 黎川县| 寿阳县| 合作市| 中超| 涿鹿县| 清徐县| 武城县| 新余市| 陆川县| 徐州市| 浦北县| 江城| 榆中县| 晋城|