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

兩層、三層閃存裝置、智能存儲(chǔ)開(kāi)關(guān)和兩層、三層控制器的制作方法

文檔序號(hào):6599910閱讀:162來(lái)源:國(guó)知局
專利名稱:兩層、三層閃存裝置、智能存儲(chǔ)開(kāi)關(guān)和兩層、三層控制器的制作方法
技術(shù)領(lǐng)域
本發(fā)明屬于存儲(chǔ)器領(lǐng)域,尤其涉及一種兩層閃存裝置、三層閃存裝置、智能存儲(chǔ)開(kāi) 關(guān)和智能存儲(chǔ)開(kāi)關(guān)兩層控制器、智能存儲(chǔ)開(kāi)關(guān)三層控制器。
背景技術(shù)
相關(guān)申請(qǐng)本專利申請(qǐng)案是于2008年10月15日提起的美國(guó)序列號(hào)12/252,155的“將數(shù)據(jù)分 割到未加工閃存模塊的指令隊(duì)列智能存儲(chǔ)傳輸管理器”的共同申請(qǐng)案的部分延續(xù)案(CIP)。本專利申請(qǐng)案是于2008年8月5日提起的序列號(hào)12/186,471的“用于交錯(cuò)存取 多個(gè)單芯片閃速存儲(chǔ)裝置的帶智能存儲(chǔ)傳輸管理器的多層控制器”的共同申請(qǐng)案的部分延續(xù)案。本專利申請(qǐng)案是于2008年5月29日提起的序列號(hào)12/128,916的“從用于用 戶存儲(chǔ)的集成閃速存儲(chǔ)器讀取開(kāi)機(jī)啟動(dòng)代碼的單芯片多媒體卡/安全數(shù)字控制器”的共 同申請(qǐng)案的部分延續(xù)案;而第12/128,916號(hào)申請(qǐng)案是于2006年8月28日提起的序列 號(hào)11/309,594的“從用于用戶存儲(chǔ)的集成閃速存儲(chǔ)器讀取開(kāi)機(jī)啟動(dòng)代碼的單芯片多媒 體卡/安全數(shù)字控制器”的共同申請(qǐng)案的部分延續(xù)案;第11/309,594號(hào)申請(qǐng)案現(xiàn)已以第 7,383,362號(hào)美國(guó)專利公布,是于2003年12月2日提起的序列號(hào)10/707,277的“從用于 用戶存儲(chǔ)的集成閃速存儲(chǔ)器讀取開(kāi)機(jī)啟動(dòng)代碼的單芯片控制器”的共同申請(qǐng)案的部分延續(xù) 案,第10/707, 277號(hào)申請(qǐng)案現(xiàn)已以第7,103,684號(hào)美國(guó)專利公布。本專利申請(qǐng)案是于2009年4月3日提起的序列號(hào)12/418,550的“用于混合塊和 分頁(yè)模式閃速存儲(chǔ)系統(tǒng)的混合兩層映射表”的共同申請(qǐng)案的部分延續(xù)案。本專利申請(qǐng)案是于2008年7月1日提起的序列號(hào)12/166,19的“非易失性存儲(chǔ)裝 置中數(shù)據(jù)錯(cuò)誤檢測(cè)及糾正”的共同申請(qǐng)案的部分延續(xù)案。本專利申請(qǐng)案是于2008年12月31日提起的序列號(hào)12/347,306的“帶整合閃存 寫入指令隊(duì)列的閃速存儲(chǔ)系統(tǒng)中部分映射表的可交換數(shù)集”的共同申請(qǐng)案的部分延續(xù)案。本專利申請(qǐng)案是于2007年10月25日提起的序列號(hào)11/924,448的“帶基于高級(jí) 加密標(biāo)準(zhǔn)硬件安全的便攜式電子存儲(chǔ)裝置”的共同申請(qǐng)案的部分延續(xù)案。如個(gè)人電腦(PC)等主機(jī)系統(tǒng)在大容量存儲(chǔ)裝置如硬盤驅(qū)動(dòng)器(HDD)上存儲(chǔ)大量 數(shù)據(jù)。大容量存儲(chǔ)裝置是以扇區(qū)編地址而不是以字節(jié)編地址的,這是因?yàn)槟軌虮蛔x寫的閃 速存儲(chǔ)器的最小單位是頁(yè),一頁(yè)在大小上等于幾個(gè)512字節(jié)扇區(qū)。閃速存儲(chǔ)器作為最佳的 大容量存儲(chǔ)媒體取代了硬盤和光盤。NAND型閃速存儲(chǔ)器是一種由帶有浮柵金屬氧化物半導(dǎo)體晶體管的電可擦除可編 程只讀存儲(chǔ)器(EEPROM)單元組成的閃速存儲(chǔ)器。這些單元使用量子力學(xué)隧道注入方式進(jìn) 行寫入,使用隧道釋放方式進(jìn)行擦除。由于NAND型閃速存儲(chǔ)器是一種非易失性存儲(chǔ)器,因 此是便攜式數(shù)據(jù)存儲(chǔ)裝置的理想產(chǎn)品。NAND型閃速存儲(chǔ)器將比NOR型閃速存儲(chǔ)器密度更 大、價(jià)格更便宜。
但是,NAND型閃速存儲(chǔ)器也存在很多局限性。在閃速存儲(chǔ)單元內(nèi),數(shù)據(jù)是以一(1) 和零(0)的二進(jìn)制形式進(jìn)行存儲(chǔ)的。NAND型閃速存儲(chǔ)器的一個(gè)局限性是存儲(chǔ)數(shù)據(jù)(將數(shù) 據(jù)寫入到閃速存儲(chǔ)器內(nèi))時(shí),閃速存儲(chǔ)器僅能寫入從一(1)到零(0)的數(shù)據(jù);寫入從零(0) 到一(1)時(shí),閃速存儲(chǔ)器需要每次擦除一個(gè)“區(qū)塊”;雖然讀取的最小單位可以是一頁(yè)內(nèi)一個(gè) 字節(jié)或一個(gè)詞,但是擦除的最小單位是一個(gè)區(qū)塊。單級(jí)存儲(chǔ)單元(SLC)閃速存儲(chǔ)器和多級(jí)存儲(chǔ)單元(MLC)閃速存儲(chǔ)器是兩種NAND 型閃速存儲(chǔ)器。單級(jí)存儲(chǔ)單元閃速存儲(chǔ)器的擦除區(qū)塊大小可達(dá)到128K+4K字節(jié),而多級(jí)存 儲(chǔ)單元閃速存儲(chǔ)器的擦除區(qū)塊大小可達(dá)到256K+8K字節(jié)。NAND型閃速存儲(chǔ)器的另外一個(gè)局 限性是NAND型閃速存儲(chǔ)器的擦除周期有限,一般在10,000和100,000個(gè)周期之間,達(dá)到 這些周期后,閃速存儲(chǔ)器將受損害,變?yōu)椴豢煽?。與單級(jí)存儲(chǔ)單元閃速存儲(chǔ)器相比,多級(jí)存儲(chǔ)單元閃速存儲(chǔ)器在消費(fèi)者應(yīng)用方面具 有諸多優(yōu)點(diǎn),但同時(shí)也具有諸多缺點(diǎn)。在存儲(chǔ)單元技術(shù)方面,單級(jí)存儲(chǔ)單元閃速存儲(chǔ)器每個(gè) 單元存儲(chǔ)一個(gè)位元的數(shù)據(jù),而多級(jí)存儲(chǔ)單元閃速存儲(chǔ)器每個(gè)單元能夠存儲(chǔ)兩個(gè)或兩個(gè)以上 字節(jié)位元的數(shù)據(jù)。在同一技術(shù)條件下,多級(jí)存儲(chǔ)單元閃速存儲(chǔ)器的密度是單級(jí)存儲(chǔ)單元閃 速存儲(chǔ)器的兩倍或兩倍以上。由于多級(jí)存儲(chǔ)單元閃速存儲(chǔ)器的存儲(chǔ)密度比單級(jí)存儲(chǔ)單元閃速存儲(chǔ)器的存儲(chǔ)密 度大,所以多級(jí)存儲(chǔ)單元閃速存儲(chǔ)器是用來(lái)存儲(chǔ)長(zhǎng)序列數(shù)據(jù)的較好選擇,但是,多級(jí)存儲(chǔ)單 元閃速存儲(chǔ)器的可靠性低于單級(jí)存儲(chǔ)單元閃速存儲(chǔ)器。那些經(jīng)常變更的數(shù)據(jù)存儲(chǔ)在單級(jí)存 儲(chǔ)單元閃速存儲(chǔ)器里比較好,這是因?yàn)閱渭?jí)存儲(chǔ)單元閃速存儲(chǔ)器可靠性比較高,快速變更 數(shù)據(jù)比變更緩慢的數(shù)據(jù)較可能成為重要數(shù)據(jù)。另外,比起多級(jí)存儲(chǔ)單元閃速存儲(chǔ)器,較小單 位的數(shù)據(jù)比較容易整合到單級(jí)存儲(chǔ)單元閃速存儲(chǔ)器中,這是因?yàn)閱渭?jí)存儲(chǔ)單元閃速存儲(chǔ)器 通常在寫入序列方面比多級(jí)存儲(chǔ)單元閃速存儲(chǔ)器有較少限制。消費(fèi)者可能會(huì)比較喜歡大容量閃速存儲(chǔ)器系統(tǒng),很可能用來(lái)取代硬盤。使用閃速 存儲(chǔ)器芯片做成的固態(tài)硬盤(SSD)由于沒(méi)有移動(dòng)部件,因此比旋轉(zhuǎn)盤更可靠。幾個(gè)較小的閃存驅(qū)動(dòng)器可連接在一起,比如將多個(gè)閃存驅(qū)動(dòng)器插入到一個(gè)與主機(jī) USB插口相連接的USB集線器上,然后這些閃存驅(qū)動(dòng)器將成為主機(jī)的單獨(dú)驅(qū)動(dòng)器。例如,主 機(jī)的操作系統(tǒng)可為每個(gè)閃存驅(qū)動(dòng)器分配專門的字母代號(hào)(D 、E 、F 等),并非僅僅將它們 整合成為只有一個(gè)字母代號(hào)的一個(gè)邏輯驅(qū)動(dòng)器。其它的總線協(xié)議也可能存在類似的問(wèn)題, 如串行附屬裝置(SATA)、集成設(shè)備電子部件(IDE)、串行小型計(jì)算機(jī)系統(tǒng)界面(SCSI) (SAS) 總線、光纖信道總線以及外設(shè)部件互連標(biāo)準(zhǔn)(PCIE)。本專利申請(qǐng)案的根源母案,亦即現(xiàn)第 7,103,684號(hào)美國(guó)專利描述一種連接到幾個(gè)閃速存儲(chǔ)器大容量存儲(chǔ)區(qū)的單芯片控制器。較大型閃存系統(tǒng)可使用多信道進(jìn)行平行存取,大大地提高系統(tǒng)的性能。磨損平衡 算法是存儲(chǔ)控制其能夠重新將邏輯地址變?yōu)椴煌奈锢淼刂罚瑥亩阌跀?shù)據(jù)寫入能夠均等 分配。因此,磨損平衡算法擴(kuò)展了閃速存儲(chǔ)器的耐用性,尤其是多級(jí)存儲(chǔ)單元類型的閃速存 儲(chǔ)器的耐用性。多信道閃存系統(tǒng)可設(shè)計(jì)幾個(gè)數(shù)據(jù)可分割通過(guò)的信道。數(shù)據(jù)分割能夠提高系統(tǒng)的性 能,這是因?yàn)榭赏瑫r(shí)寫入幾個(gè)信道,另外將所有信道的存儲(chǔ)容量設(shè)置與最小信道的容量相 吻合時(shí),由于需要進(jìn)行刪減處理,某些存儲(chǔ)區(qū)域可能會(huì)丟失。隨著閃存系統(tǒng)的磨損,將會(huì)出 現(xiàn)更多的區(qū)塊變壞,從而降低系統(tǒng)的可用存儲(chǔ)空間。由于這些變壞的區(qū)塊出現(xiàn)位置具有隨機(jī)性,各個(gè)信道的容量會(huì)隨著時(shí)間的推移出現(xiàn)偏差。當(dāng)各個(gè)信道出現(xiàn)大不同的容量情況時(shí), 更多信道將會(huì)浪費(fèi)大量空間。我們所需要的是一種可恢復(fù)或挽救非冗余體系結(jié)構(gòu)下由于刪減操作所浪費(fèi)的空 間的多信道閃存系統(tǒng)。在閃存系統(tǒng)內(nèi),最好使用映射結(jié)構(gòu)將邏輯地址映射為物理區(qū)塊。額 外空間部分可用作額外容量。另外,額外空間可用作其它存在很多壞塊的驅(qū)動(dòng)器的替代容量。

發(fā)明內(nèi)容
本發(fā)明實(shí)施例的目的在于提供一種兩層閃存裝置,旨在解決由于刪減操作造成的 存儲(chǔ)空間浪費(fèi)嚴(yán)重的問(wèn)題。本發(fā)明實(shí)施例是這樣實(shí)現(xiàn)的,一種兩層閃存裝置,包括智能存儲(chǔ)開(kāi)關(guān),所述智能存 儲(chǔ)開(kāi)關(guān)包括連接到主機(jī)的上游接口,用于接收主機(jī)命令、主機(jī)數(shù)據(jù)和主機(jī)地址,所述主機(jī)命令 用于訪問(wèn)非易失性存儲(chǔ)器NVM ;管理來(lái)自主機(jī)的事務(wù)的智能存儲(chǔ)事務(wù)管理器;將主機(jī)地址映射到指定閃存信道上生成邏輯塊地址LBA的虛擬存儲(chǔ)處理器,所述 虛擬存儲(chǔ)處理器執(zhí)行高級(jí)映射;與所述虛擬存儲(chǔ)處理器連接的高級(jí)分割映射器,存儲(chǔ)有用于每個(gè)閃存信道的分段 數(shù)據(jù)容量和散列數(shù)據(jù)容量,所有閃存信道的分段數(shù)據(jù)容量數(shù)值相等,閃存信道之間的散列 數(shù)據(jù)容量存在數(shù)值差別;通過(guò)LBA總線連接在智能存儲(chǔ)事務(wù)管理器和NVM控制器之間的虛擬存儲(chǔ)橋;所述兩層閃存裝置還包括多個(gè)NVM控制器,所述NVM控制器與LBA總線連接,接收虛擬存儲(chǔ)處理器生成的 LBA以及來(lái)自于虛擬存儲(chǔ)橋的主機(jī)數(shù)據(jù);安裝在NVM控制器內(nèi)的低級(jí)映射器,將LBA映射到物理塊地址PBA,低級(jí)映射器生 成塊映射的主機(jī)數(shù)據(jù)的PBA以及頁(yè)映射的主機(jī)數(shù)據(jù)的PBA和頁(yè)碼;以及包括指定閃存信道在內(nèi)的多個(gè)閃存信道,所述閃存信道包括與NVM控制器連接的NVM閃速存儲(chǔ)器,用于將主機(jī)數(shù)據(jù)存儲(chǔ)至所述NVM控制器內(nèi) 的低級(jí)映射器生成的PBA識(shí)別的塊地址上以及頁(yè)映射的主機(jī)數(shù)據(jù)的頁(yè)碼識(shí)別的頁(yè)面位置 上。本發(fā)明實(shí)施例的另一目的在于提供一種三層閃存裝置,包括第一級(jí)智能存儲(chǔ)開(kāi) 關(guān),所述第一級(jí)智能存儲(chǔ)開(kāi)關(guān)包括連接到主機(jī)的上游接口,用來(lái)接收主機(jī)命令、主句數(shù)據(jù)和主機(jī)地址,所述主機(jī)命令 用于訪問(wèn)非易失性存儲(chǔ)器;管理來(lái)自主機(jī)的事務(wù)的第一級(jí)智能存儲(chǔ)事務(wù)管理器;將主機(jī)地址映射到指定閃存信道上從而生成邏輯塊地址LBA的虛擬存儲(chǔ)處理器, 所述虛擬存儲(chǔ)處理器執(zhí)行高級(jí)映射;與所述虛擬存儲(chǔ)處理器連接的第一級(jí)分割映射器,存儲(chǔ)有用于每個(gè)閃存信道的分 段數(shù)據(jù)容量和散列數(shù)據(jù)容量,所有閃存信道的分段數(shù)據(jù)容量數(shù)值相等,閃存信道之間的散列數(shù)據(jù)容量存在數(shù)值差別;連接在智能存儲(chǔ)事務(wù)管理器和LBA總線之間的虛擬存儲(chǔ)橋;所述三層閃存裝置還包括第二級(jí)智能存儲(chǔ)開(kāi)關(guān),所述第二級(jí)智能存儲(chǔ)開(kāi)關(guān)包括連接到第一級(jí)智能存儲(chǔ)開(kāi)關(guān)的第二上游接口,用于接收訪問(wèn)NVM存儲(chǔ)器的命令以 及接收來(lái)自第一級(jí)智能存儲(chǔ)開(kāi)關(guān)的數(shù)據(jù)和地址;管理來(lái)自NVM裝置的事務(wù)的第二級(jí)智能存儲(chǔ)事務(wù)管理器;將地址從第一級(jí)智能存儲(chǔ)開(kāi)關(guān)映射到指定閃存信道上從而生成本地邏輯塊地址 的信道存儲(chǔ)處理器,所述信道存儲(chǔ)處理器執(zhí)行映射功能到附在第二級(jí)智能存儲(chǔ)開(kāi)關(guān)上的多 個(gè)NVM裝置;與所述信道存儲(chǔ)處理器連接的第二級(jí)映射器、存儲(chǔ)有用于每個(gè)閃存信道的所有 NVM裝置的物理容量和交換容量第二級(jí)映射器,所有NVM裝置的的物理容量存在不同數(shù)量 的壞塊,閃存信道之間的交換容量也存在數(shù)量差別;所述三層閃存裝置還包括多個(gè)NVM控制器,每個(gè)NVM控制器與LBA總線相連接,接收信道存儲(chǔ)處理器生成的 邏輯塊地址以及來(lái)自第二級(jí)智能存儲(chǔ)開(kāi)關(guān)的數(shù)據(jù);安裝在NVM控制器內(nèi)的低級(jí)映射器,將邏輯塊地址映射到物理塊地址,低級(jí)映射 器生成塊映射的主機(jī)數(shù)據(jù)的物理塊地址以及頁(yè)映射的主機(jī)數(shù)據(jù)的物理塊地址和頁(yè)碼;以及包括指定閃存信道在內(nèi)的多個(gè)閃存信道,每個(gè)閃存信道包括與NVM控制器連接的NVM閃速存儲(chǔ)器,用來(lái)將主機(jī)數(shù)據(jù)存儲(chǔ)至所述NVM控制器內(nèi) 的低級(jí)映射器生成的物理塊地址識(shí)別的塊位置上以及頁(yè)映射的主機(jī)數(shù)據(jù)的頁(yè)碼識(shí)別的頁(yè) 面位置上。其中,第二級(jí)智能存儲(chǔ)開(kāi)關(guān)作為多個(gè)信道,每次多個(gè)閃存信道同時(shí)存取存儲(chǔ)在多 個(gè)閃存信道內(nèi)的分段數(shù)據(jù);其中,第二級(jí)智能存儲(chǔ)開(kāi)關(guān)作為單個(gè)信道,每次一個(gè)閃存信道存取存儲(chǔ)在多個(gè)閃 存信道內(nèi)的散列數(shù)據(jù);因此,散列數(shù)據(jù)以單信道存取方式進(jìn)行存取,而分段數(shù)據(jù)使用多個(gè)信道同時(shí)存取 方式進(jìn)行存取。本發(fā)明實(shí)施例的另一目的在于提供一種智能存儲(chǔ)開(kāi)關(guān)的兩層控制器,所述兩層控 制器包括智能存儲(chǔ)開(kāi)關(guān),所述智能存儲(chǔ)開(kāi)關(guān)包括連接到主機(jī)的上游接口,用于接收主機(jī)命令、主機(jī)數(shù)據(jù)和主機(jī)地址,所述主機(jī)命令 用于訪問(wèn)非易失性存儲(chǔ)器;管理來(lái)自主機(jī)的事務(wù)的智能存儲(chǔ)事務(wù)管理器;將主機(jī)地址映射到指定閃存信道上生成邏輯塊地址LBA的虛擬存儲(chǔ)處理器,所述 虛擬存儲(chǔ)處理器執(zhí)行高級(jí)映射;與所述虛擬存儲(chǔ)處理器連接的第一級(jí)分割映射器,存儲(chǔ)有用于每個(gè)閃存信道的分 段數(shù)據(jù)容量和散列數(shù)據(jù)容量,所有閃存信道的分段數(shù)據(jù)容量數(shù)值相等,閃存信道之間的散 列數(shù)據(jù)容量存在數(shù)值差別;通過(guò)LBA總線連接在智能存儲(chǔ)事務(wù)管理器和NVM控制器之間的虛擬存儲(chǔ)橋;所述兩層控制器還包括
NVM控制器,與LBA總線連接,接收虛擬存儲(chǔ)處理器生成的LBA以及來(lái)自虛擬存儲(chǔ) 橋的主機(jī)數(shù)據(jù);安裝在NVM控制器內(nèi)的低級(jí)映射器,將LBA映射到物理塊地址PBA,低級(jí)映射器生 成塊映射的主機(jī)數(shù)據(jù)的PBA以及頁(yè)映射的主機(jī)數(shù)據(jù)的PBA和頁(yè)碼。本發(fā)明實(shí)施例的另一目的在于提供一種智能存儲(chǔ)開(kāi)關(guān),包括連接到主機(jī)的上游接口,用于接收主機(jī)命令、主機(jī)數(shù)據(jù)和主機(jī)地址,所述主機(jī)命令 用于訪問(wèn)非易失性存儲(chǔ)器;管理來(lái)自主機(jī)的事務(wù)的智能存儲(chǔ)事務(wù)管理器;將主機(jī)地址映射到指定閃存信道上生成邏輯塊地址LBA的虛擬存儲(chǔ)處理器,所述 虛擬存儲(chǔ)處理器執(zhí)行高級(jí)映射;與所述虛擬存儲(chǔ)處理器連接的第一級(jí)分割映射器,存儲(chǔ)有用于每個(gè)閃存信道的分 段數(shù)據(jù)容量和散列數(shù)據(jù)容量,所有閃存信道的分段數(shù)據(jù)容量數(shù)值相等,閃存信道之間的散 列數(shù)據(jù)容量存在數(shù)值差別;
通過(guò)LBA總線連接在智能存儲(chǔ)事務(wù)管理器和NVM控制器之間的虛擬存儲(chǔ)橋。本發(fā)明實(shí)施例的另一目的在于提供一種智能存儲(chǔ)開(kāi)關(guān)的三層控制器,包括第一級(jí) 智能存儲(chǔ)開(kāi)關(guān),所述第一級(jí)智能存儲(chǔ)開(kāi)關(guān)包括連接到主機(jī)的上游接口,用于接收主機(jī)命令、主機(jī)數(shù)據(jù)和主機(jī)地址,所述主機(jī)命令 用于訪問(wèn)非易失性存儲(chǔ)器;管理來(lái)自主機(jī)的事務(wù)的智能存儲(chǔ)事務(wù)管理器;將主機(jī)地址映射到指定閃存信道上生成邏輯塊地址LBA的虛擬存儲(chǔ)處理器,所述 虛擬存儲(chǔ)處理器執(zhí)行高級(jí)映射;與所述虛擬存儲(chǔ)處理器連接的第一級(jí)分割映射器,存儲(chǔ)有用于每個(gè)閃存信道的分 段數(shù)據(jù)容量和散列數(shù)據(jù)容量,所有閃存信道的分段數(shù)據(jù)容量數(shù)值相等,閃存信道之間的散 列數(shù)據(jù)容量存在數(shù)值差別;連接在智能存儲(chǔ)事務(wù)管理器和LBA總線之間的虛擬存儲(chǔ)橋;所述三層控制器還包括第二級(jí)智能存儲(chǔ)開(kāi)關(guān),所述第二級(jí)智能存儲(chǔ)開(kāi)關(guān)包括連接到第一級(jí)智能存儲(chǔ)開(kāi)關(guān)的第二級(jí)上游接口,用來(lái)接收用于訪問(wèn)非易失性存儲(chǔ) 器的命令以及接收來(lái)自第一級(jí)智能存儲(chǔ)開(kāi)關(guān)的數(shù)據(jù)和地址;管理來(lái)自NVM裝置的事務(wù)的第二級(jí)智能存儲(chǔ)事務(wù)管理器;與信道存儲(chǔ)處理器連接的第二級(jí)分割映射器,存儲(chǔ)有用于每個(gè)閃存信道的所有 NVM裝置的物理容量和交換容量,所有NVM裝置的物理容量存在不同數(shù)量的壞塊,閃存信道 之間的交換容量也存在數(shù)量差別;從第一級(jí)智能存儲(chǔ)開(kāi)關(guān)上將地址映射到指定閃存信道生成本地邏輯塊地址LBA 的信道存儲(chǔ)處理器,信道存儲(chǔ)處理器執(zhí)行將數(shù)據(jù)映射到附在第二級(jí)智能存儲(chǔ)開(kāi)關(guān)上多個(gè) NVM裝置上的功能;所述三層控制器還包括NVM控制器,與LBA總線連接,接收信道存儲(chǔ)處理器生成的LBA以及來(lái)自于第二級(jí) 智能存儲(chǔ)開(kāi)關(guān)的數(shù)據(jù);以及安裝在NVM控制器內(nèi)的低級(jí)映射器,將LBA映射到物理塊地址PBA,低級(jí)映射器生成塊映射的主機(jī)數(shù)據(jù)的PBA以及頁(yè)映射的主機(jī)數(shù)據(jù)的PBA和頁(yè)碼。本發(fā)明實(shí)施例的另一目的在于提供一種智能存儲(chǔ)開(kāi)關(guān)的三層控制器,包括第一級(jí) 智能存儲(chǔ)開(kāi)關(guān),所述第一級(jí)智能存儲(chǔ)開(kāi)關(guān)包括連接到主機(jī)的上游接口,用于接收主機(jī)命令、主機(jī)數(shù)據(jù)和主機(jī)地址,所述主機(jī)命令 用于訪問(wèn)非易失性存儲(chǔ)器;管理來(lái)自主機(jī)的事務(wù)的智能存儲(chǔ)事務(wù)管理器;將主機(jī)地址映射到指定閃存信道上生成邏輯塊地址LBA的虛擬存儲(chǔ)處理器,所述 虛擬存儲(chǔ)處理器執(zhí)行高級(jí)映射;與所述虛擬存儲(chǔ)處理器連接的第一級(jí)分割映射器,存儲(chǔ)有用于每個(gè)閃存信道的分 段數(shù)據(jù)容量和散列數(shù)據(jù)容量,所有閃存信道的分段數(shù)據(jù)容量數(shù)值相等,閃存信道之間的散 列數(shù)據(jù)容量存在數(shù)值差別;連接在智能存儲(chǔ)事務(wù)管理器和LBA總線之間的虛擬存儲(chǔ)橋;所述三層控制器還包括第二級(jí)智能存儲(chǔ)開(kāi)關(guān),所述第二級(jí)智能存儲(chǔ)開(kāi)關(guān)包括連接到第一級(jí)智能存儲(chǔ)開(kāi)關(guān)的第二級(jí)上游接口,用來(lái)接收用于訪問(wèn)非易失性存儲(chǔ) 器的命令以及接收來(lái)自第一級(jí)智能存儲(chǔ)開(kāi)關(guān)的數(shù)據(jù)和地址;管理來(lái)自NVM裝置的事務(wù)的第二級(jí)智能存儲(chǔ)事務(wù)管理器;與信道存儲(chǔ)處理器連接的第二級(jí)分割映射器,存儲(chǔ)有用于每個(gè)閃存信道的所有 NVM裝置的物理容量和交換容量,所有NVM裝置的物理容量存在不同數(shù)量的壞塊,閃存信道 之間的交換容量也存在數(shù)量差別;從第一級(jí)智能存儲(chǔ)開(kāi)關(guān)上將地址映射到指定閃存信道生成本地邏輯塊地址LBA 的信道存儲(chǔ)處理器,信道存儲(chǔ)處理器執(zhí)行將數(shù)據(jù)映射到附在第二級(jí)智能存儲(chǔ)開(kāi)關(guān)上多個(gè) NVM裝置上的功能。


圖IA是本發(fā)明實(shí)施例提供的使用帶多層集成控制器的混合閃速存儲(chǔ)器的智能存 儲(chǔ)開(kāi)關(guān);圖IB是本發(fā)明實(shí)施例提供的使用帶多層控制器和外部非易失性存儲(chǔ)裝置(NVMD) 的混合閃速存儲(chǔ)器的智能存儲(chǔ)開(kāi)關(guān);圖IC是本發(fā)明實(shí)施例提供的使用帶多層集成控制器的閃速存儲(chǔ)器的兩層智能存 儲(chǔ)開(kāi)關(guān);圖ID是本發(fā)明實(shí)施例提供的控制非易失性存儲(chǔ)裝置(NVMD)的兩層智能存儲(chǔ)開(kāi) 關(guān);圖2是本發(fā)明實(shí)施例提供的多層控制器體系結(jié)構(gòu)閃存系統(tǒng)中的兩層ECC ;圖3是本發(fā)明實(shí)施例提供的附有智能存儲(chǔ)事務(wù)管理器更多具體細(xì)節(jié)的四信道智 能存儲(chǔ)開(kāi)關(guān);圖4A-E是本發(fā)明實(shí)施例提供的多層控制器體系結(jié)構(gòu)閃存系統(tǒng)中的兩層壞塊管 理;圖5是本發(fā)明實(shí)施例提供的多層控制器體系結(jié)構(gòu)閃存系統(tǒng)中的分段數(shù)據(jù)和散列 數(shù)據(jù)領(lǐng)域管理;
圖6和圖7是本發(fā)明實(shí)施例提供的上電程序流程圖;圖8和圖9是本發(fā)明實(shí)施例提供的閃速存儲(chǔ)器系統(tǒng)內(nèi)的源本區(qū)塊和陰影區(qū)塊;圖10A-C是本發(fā)明實(shí)施例提供的帶有閃速存儲(chǔ)器的線路板;圖IlA是本發(fā)明實(shí)施例提供的能夠直接與主機(jī)相連接的固態(tài)盤(SSD)板;圖IlB是本發(fā)明實(shí)施例提供的帶非易失性閃速存儲(chǔ)器(NVM)的外設(shè)部件互連 (PCIE)卡;圖IlC是本發(fā)明實(shí)施例提供的帶插入到插槽內(nèi)的可插入式非易失性閃速存儲(chǔ)器 (NVM)的外設(shè)部件互連(PCIE)卡;圖IlD是本發(fā)明實(shí)施例提供的帶可通過(guò)線纜連接的非易失性閃速存儲(chǔ)器(NVM)的 外設(shè)部件互連(PCIE)卡;圖12A-B是本發(fā)明實(shí)施例提供的使用多層控制器體系結(jié)構(gòu)(MLCA)驅(qū)動(dòng)器線路板 的固態(tài)驅(qū)動(dòng)器,每個(gè)MLCA驅(qū)動(dòng)器使用一個(gè)智能存儲(chǔ)開(kāi)關(guān);圖13A-D是本發(fā)明實(shí)施例提供的安裝到SATA存儲(chǔ)驅(qū)動(dòng)器線路板上的插座內(nèi)的閃 存模塊;圖14是本發(fā)明實(shí)施例提供的三層數(shù)據(jù)分割;圖15A-C是本發(fā)明實(shí)施例提供的數(shù)據(jù)分割例子;圖16A是本發(fā)明實(shí)施例提供的使用兩層智能存儲(chǔ)開(kāi)關(guān)的閃存的兩個(gè)信道之間的 交錯(cuò)存??;圖16B是本發(fā)明實(shí)施例提供的使用高級(jí)和低級(jí)智能存儲(chǔ)開(kāi)關(guān)的三層數(shù)據(jù)分割;圖16C是本發(fā)明實(shí)施例提供的使用高級(jí)和低級(jí)智能存儲(chǔ)開(kāi)關(guān)的三層容量刪減;圖16D是本發(fā)明實(shí)施例提供的使用高級(jí)和低級(jí)智能存儲(chǔ)開(kāi)關(guān)的三層ECC ;圖17是本發(fā)明實(shí)施例提供的閃存系統(tǒng)內(nèi)的冗余控制器、信道和芯片選通信號(hào);圖18A-D是本發(fā)明實(shí)施例提供的靜態(tài)磨損平衡;圖19A-C是本發(fā)明實(shí)施例提供的混合閃存系統(tǒng)內(nèi)的數(shù)據(jù)緩存。
具體實(shí)施例方式為了使本發(fā)明的目的、技術(shù)方案及優(yōu)點(diǎn)更加清楚明白,以下結(jié)合附圖及實(shí)施例,對(duì) 本發(fā)明作進(jìn)一步詳細(xì)說(shuō)明。應(yīng)當(dāng)理解,此處所描述的具體實(shí)施例僅僅用以解釋本發(fā)明,并不 用于限定本發(fā)明。圖IA所示為使用帶多層集成控制器的混合閃速存儲(chǔ)器的智能存儲(chǔ)開(kāi)關(guān)。智能存 儲(chǔ)開(kāi)關(guān)30是多層控制器體系結(jié)構(gòu)(MLCA)Il的一部分,通過(guò)上游接口 34經(jīng)過(guò)主機(jī)存儲(chǔ)總線 18連接到主機(jī)主板10。另外,智能存儲(chǔ)開(kāi)關(guān)30也通過(guò)虛擬存儲(chǔ)橋42、43經(jīng)過(guò)LBA存儲(chǔ)總 線接口 28連接到下游的閃速存儲(chǔ)裝置。虛擬存儲(chǔ)橋42、43是協(xié)議橋,也提供物理信令,如驅(qū)動(dòng)和接受LBA存儲(chǔ)總線接口 28 的差動(dòng)信號(hào)線上的差動(dòng)信號(hào),探測(cè)或生成包開(kāi)始開(kāi)始或包停止模式,檢查或生成校驗(yàn)和,以 及其它更高級(jí)的功能,如插入或提取裝置地址和包類型和命令。來(lái)自于主機(jī)主板10的主機(jī) 地址包含一個(gè)經(jīng)過(guò)存儲(chǔ)總線接口 28發(fā)送的邏輯塊地址(LBA),雖然該邏輯塊地址在某些通 過(guò)NVM控制器76向所附NVM閃速存儲(chǔ)器68排列和分配大小相等的數(shù)據(jù)的實(shí)施例內(nèi)可通過(guò) 智能存儲(chǔ)開(kāi)關(guān)30進(jìn)行分割。NVM閃速存儲(chǔ)器68可以是ONFI型閃速存儲(chǔ)器,也可以是點(diǎn)動(dòng)(Toggle)NAND型閃速存儲(chǔ)器。與虛擬緩沖橋32連接的SDRAM 60內(nèi)的緩沖存儲(chǔ)器可在主機(jī)將數(shù)據(jù)寫入到MLCA 盤中時(shí)能夠存儲(chǔ)扇區(qū)數(shù)據(jù),也能夠在主機(jī)從閃速存儲(chǔ)器獲取數(shù)據(jù)時(shí)暫時(shí)保留數(shù)據(jù)。SDRAM 60是用于智能存儲(chǔ)開(kāi)關(guān)30的同步動(dòng)態(tài)隨機(jī)存取存儲(chǔ)器。另外,SDRAM 60也可以在進(jìn)行回 寫、通寫或預(yù)讀緩存時(shí)用作臨時(shí)數(shù)據(jù)存儲(chǔ)或緩存。虛擬存儲(chǔ)處理器140為智能存儲(chǔ)事務(wù)管理器36提供數(shù)據(jù)分割服務(wù)。例如,來(lái)自主 機(jī)的邏輯地址可計(jì)算和轉(zhuǎn)換成為邏輯塊地址(LBA),該邏輯塊地址經(jīng)過(guò)LBA存儲(chǔ)總線接口 28發(fā)送到由NVM控制器76控制的NVM閃速存儲(chǔ)器68。主機(jī)數(shù)據(jù)可由虛擬存儲(chǔ)處理器140 或智能存儲(chǔ)事務(wù)管理器36以交錯(cuò)存取方式交替地分配到閃速存儲(chǔ)器。NVM控制器76然后 可在NVM閃速存儲(chǔ)器68之間進(jìn)行較低級(jí)的交錯(cuò)存取。從而交錯(cuò)存取可以用兩個(gè)層次進(jìn)行, 亦即高層次在兩個(gè)或更多個(gè)NVM控制器76之間由智能存儲(chǔ)事務(wù)管理器36進(jìn)行和低層次在 NVM閃速存儲(chǔ)器68之間由每個(gè)NVM控制器76進(jìn)行。NVM控制器76執(zhí)行作為閃存轉(zhuǎn)換層功能一部分的邏輯到物理重新映射功能,將 LBA存儲(chǔ)總線接口 28上接收到的LBA轉(zhuǎn)換為PBA用于定址NVM閃速存儲(chǔ)器68內(nèi)實(shí)體的非 易失性存儲(chǔ)塊。NVM控制器76可進(jìn)行磨損平衡和壞塊重新映射以及其它較低層的管理功 能。以單端點(diǎn)模式運(yùn)作時(shí),智能存儲(chǔ)事務(wù)管理器36不但通過(guò)虛擬緩沖橋32緩存數(shù)據(jù), 同時(shí)也對(duì)主機(jī)的事務(wù)包進(jìn)行重新排列。每個(gè)事務(wù)可能會(huì)產(chǎn)生幾個(gè)包,如啟動(dòng)存儲(chǔ)器讀取的 初始指令包、從存儲(chǔ)裝置返回到主機(jī)的數(shù)據(jù)包以及結(jié)束事務(wù)的握手包。不必要在下一個(gè)事 務(wù)開(kāi)始之前完成現(xiàn)在一個(gè)事務(wù)的所有的包,下一個(gè)事務(wù)的包可由智能存儲(chǔ)開(kāi)關(guān)30進(jìn)行重 新排列,然后在現(xiàn)在一個(gè)事務(wù)完成之前發(fā)送到NVM控制器76。這就使得下一個(gè)事務(wù)擁有更 多時(shí)間存取存儲(chǔ)器。通過(guò)包的重新排列,事務(wù)就會(huì)出現(xiàn)重疊現(xiàn)象。經(jīng)過(guò)LAB存儲(chǔ)總線接口 28發(fā)送的包根據(jù)主機(jī)存儲(chǔ)總線18上的包順序進(jìn)行重新排 列。智能存儲(chǔ)事務(wù)管理器36可在由NVM控制器76控制的不同NVM閃速存儲(chǔ)器68上重疊 和交錯(cuò)事務(wù),從而提高數(shù)據(jù)流量。例如,通過(guò)虛擬緩沖橋32或關(guān)聯(lián)緩沖存儲(chǔ)器(未顯示) 將來(lái)自于主機(jī)的幾個(gè)事務(wù)包存儲(chǔ)在SDRAM緩沖存儲(chǔ)器60內(nèi)。智能存儲(chǔ)事務(wù)管理器36檢查 這些緩存的事務(wù)和包,然后重新排列包,之后經(jīng)過(guò)內(nèi)部總線38發(fā)送到虛擬存儲(chǔ)橋42、43,再 通過(guò)NVM控制器76發(fā)送到其中一個(gè)下游閃速存儲(chǔ)區(qū)塊。通過(guò)虛擬存儲(chǔ)橋43開(kāi)始讀取一個(gè)閃存區(qū)塊的包可被重新排列在通過(guò)虛擬存儲(chǔ)橋 42結(jié)束讀取另外前一個(gè)閃存區(qū)塊的包之前,從而讓第二個(gè)閃存區(qū)塊更早的開(kāi)始讀取??赏ㄟ^(guò)為經(jīng)過(guò)主機(jī)存儲(chǔ)總線18的數(shù)據(jù)設(shè)置的加密器/解密器35對(duì)數(shù)據(jù)進(jìn)行加密 和解密。上游接口 34可配置使數(shù)據(jù)流轉(zhuǎn)移而不通過(guò)加密器/解密器35,該功能可通過(guò)軟 件或硬件開(kāi)關(guān)進(jìn)行控制來(lái)啟動(dòng)或取消。該功能可以是高級(jí)加密標(biāo)準(zhǔn)(AES)、IEEE 1667標(biāo) 準(zhǔn)等,通過(guò)硬件或軟件編程對(duì)主機(jī)系統(tǒng)附帶的暫時(shí)存儲(chǔ)裝置進(jìn)行核實(shí)。相關(guān)的方法可參考 2007年10月25日提起的第11/924,448號(hào)美國(guó)申請(qǐng)案。當(dāng)主要電源出現(xiàn)故障時(shí),備用電池 47將為智能存儲(chǔ)開(kāi)關(guān)30提供電源,從而使寫入數(shù)據(jù)能夠存放在閃存內(nèi)。于是,可使用回寫 緩存方案,而不僅僅使用通寫緩存方案。NVM控制器76內(nèi)的映射器46將對(duì)作為MLC閃存的NVM閃速存儲(chǔ)器68進(jìn)行一層映 射,或?qū)ψ鳛镾LC或MLC閃存的NVM閃速存儲(chǔ)器68進(jìn)行兩層映射。NVM控制器76內(nèi)置于智能存儲(chǔ)開(kāi)關(guān)30。圖IB所示為使用帶多層控制器和外部NVMD的混合閃速存儲(chǔ)器的智能存儲(chǔ)開(kāi)關(guān)。 智能存儲(chǔ)開(kāi)關(guān)30是多層控制器體系結(jié)構(gòu)(MLCA) 11的一部分,通過(guò)上游接口 34經(jīng)過(guò)主機(jī)存 儲(chǔ)總線18連接到主機(jī)主板10。另外,智能存儲(chǔ)開(kāi)關(guān)30也通過(guò)虛擬存儲(chǔ)橋42、43經(jīng)過(guò)LBA 存儲(chǔ)總線接口 28連接到下游的閃速存儲(chǔ)裝置。虛擬存儲(chǔ)橋42、43是協(xié)議橋,也提供物理信令,如驅(qū)動(dòng)和接受LBA存儲(chǔ)總線接口 28的差動(dòng)信號(hào)線上的差動(dòng)信號(hào),探測(cè)或生成包開(kāi)始或包停止模式,檢查或生成校驗(yàn)和,以及 其它更高級(jí)的功能,如插入或提取裝置地址和包類型和命令。來(lái)自于主機(jī)主板10的主機(jī)地 址包含一個(gè)經(jīng)過(guò)存儲(chǔ)總線接口 28發(fā)送的邏輯塊地址(LBA),雖然該邏輯塊地址在某些通過(guò) NVM控制器76向所附NVM閃速存儲(chǔ)器68排列和分配大小相等的數(shù)據(jù)的實(shí)施例內(nèi)可通過(guò)智 能存儲(chǔ)開(kāi)關(guān)30進(jìn)行分割。與虛擬緩沖橋32連接的SDRAM 60內(nèi)的緩沖存儲(chǔ)器可在主機(jī)將數(shù)據(jù)寫入到MLCA 盤中時(shí)能夠存儲(chǔ)扇區(qū)數(shù)據(jù),也能夠在主機(jī)從閃速存儲(chǔ)器獲取數(shù)據(jù)時(shí)暫時(shí)保留數(shù)據(jù)。SDRAM 60是用于智能存儲(chǔ)開(kāi)關(guān)30的同步動(dòng)態(tài)隨機(jī)存取存儲(chǔ)器。另外,SDRAM 60也可以在進(jìn)行回 寫、通寫或預(yù)讀緩存時(shí)用作臨時(shí)數(shù)據(jù)存儲(chǔ)或緩存。虛擬存儲(chǔ)處理器140為智能存儲(chǔ)事務(wù)管理器36提供數(shù)據(jù)分割服務(wù)。例如,來(lái)自主 機(jī)的邏輯地址可計(jì)算和轉(zhuǎn)換成為邏輯塊地址(LBA),該邏輯塊地址經(jīng)過(guò)LBA存儲(chǔ)總線接口 28發(fā)送到由NVM控制器76控制的NVM閃速存儲(chǔ)器68。主機(jī)數(shù)據(jù)可由虛擬存儲(chǔ)處理器140 或智能存儲(chǔ)事務(wù)管理器36以交錯(cuò)存取方式交替地分配到閃速存儲(chǔ)器。NVM控制器76然后 可在NVM閃速存儲(chǔ)器68之間進(jìn)行較低級(jí)的交錯(cuò)存取。從而交錯(cuò)存取可以用兩個(gè)層次進(jìn)行, 亦即高層次在兩個(gè)或更多個(gè)NVM控制器76之間由智能存儲(chǔ)事務(wù)管理器36進(jìn)行和低層次在 NVM閃速存儲(chǔ)器68之間由每個(gè)NVM控制器76進(jìn)行。NVM控制器76執(zhí)行作為閃存轉(zhuǎn)換層功能一部分的邏輯到物理重新映射功能,將 LBA存儲(chǔ)總線接口 28上接收到的LBA轉(zhuǎn)換為PBA用于定址NVM閃速存儲(chǔ)器68內(nèi)實(shí)體的非 易失性存儲(chǔ)塊。NVM控制器76可進(jìn)行磨損平衡和壞塊重新映射以及其它較低層的管理功 能。以單端點(diǎn)模式運(yùn)作時(shí),智能存儲(chǔ)事務(wù)管理器36不但通過(guò)虛擬緩沖橋32緩存數(shù)據(jù), 同時(shí)也對(duì)主機(jī)的事務(wù)包進(jìn)行重新排列。每個(gè)事務(wù)可能會(huì)產(chǎn)生幾個(gè)包,如啟動(dòng)存儲(chǔ)器讀取的 初始指令包、從存儲(chǔ)裝置返回到主機(jī)的數(shù)據(jù)包以及結(jié)束事務(wù)的握手包。不必要在下一個(gè)事 務(wù)開(kāi)始之前完成現(xiàn)在一個(gè)事務(wù)的所有的包,下一個(gè)事務(wù)的包可由智能存儲(chǔ)開(kāi)關(guān)30進(jìn)行重 新排列,然后在現(xiàn)在一個(gè)事務(wù)完成之前發(fā)送到NVM控制器76。這就使得下一個(gè)事務(wù)擁有更 多時(shí)間存取存儲(chǔ)器。通過(guò)包的重新排列,事務(wù)就會(huì)出現(xiàn)重疊現(xiàn)象。經(jīng)過(guò)LAB存儲(chǔ)總線接口 28發(fā)送的包根據(jù)主機(jī)存儲(chǔ)總線18上的包順序進(jìn)行重新排 列。智能存儲(chǔ)事務(wù)管理器36可在由NVM控制器76控制的不同NVM閃速存儲(chǔ)器68上重疊 和交錯(cuò)事務(wù),從而提高數(shù)據(jù)流量。例如,通過(guò)虛擬緩沖橋32或關(guān)聯(lián)緩沖存儲(chǔ)器(未顯示) 將來(lái)自于主機(jī)的幾個(gè)事務(wù)包存儲(chǔ)在SDRAM緩沖存儲(chǔ)器60內(nèi)。智能存儲(chǔ)事務(wù)管理器36檢查 這些緩存的事務(wù)和包,然后重新排列包,之后經(jīng)過(guò)內(nèi)部總線38發(fā)送到虛擬存儲(chǔ)橋42、43,再 通過(guò)NVM控制器76發(fā)送到其中一個(gè)下游閃速存儲(chǔ)區(qū)塊。通過(guò)虛擬存儲(chǔ)橋43開(kāi)始讀取一個(gè)閃存區(qū)塊的包 被重新排列在通過(guò)虛擬存儲(chǔ)橋42結(jié)束讀取另外前一個(gè)閃存區(qū)塊的包之前,從而讓第二閃存區(qū)塊更早的開(kāi)始讀取??赏ㄟ^(guò)為經(jīng)過(guò)主機(jī)存儲(chǔ)總線18的數(shù)據(jù)設(shè)置的加密器/解密器35對(duì)數(shù)據(jù)進(jìn)行加密 和解密。上游接口 34可配置使數(shù)據(jù)流轉(zhuǎn)移而不通過(guò)加密器/解密器35,該功能可通過(guò)軟 件或硬件開(kāi)關(guān)進(jìn)行控制來(lái)啟動(dòng)或取消。該功能可以是高級(jí)加密標(biāo)準(zhǔn)(AES)、IEEE 1667標(biāo) 準(zhǔn)等,通過(guò)硬件或軟件編程對(duì)主機(jī)系統(tǒng)附帶的暫時(shí)存儲(chǔ)裝置進(jìn)行核實(shí)。相關(guān)的方法可參考 2007年10月25日提起的第11/924,448號(hào)美國(guó)申請(qǐng)案。當(dāng)主要電源出現(xiàn)故障時(shí),備用電池 47將為智能存儲(chǔ)開(kāi)關(guān)30提供電源,從而使寫入數(shù)據(jù)能夠存放在閃存內(nèi)。于是,可使用回寫 緩存方案,而不僅僅使用通寫緩存方案。NVM控制器76內(nèi)的映射器46將對(duì)作為MLC閃存的NVM閃速存儲(chǔ)器68進(jìn)行一層 映射,或?qū)ψ鳛镾LC或MLC閃存的NVM閃速存儲(chǔ)器68進(jìn)行兩層映射。數(shù)據(jù)可緩存于NVM 控制器76內(nèi)的SDRAM 77內(nèi)。NVM控制器76和NVM閃速存儲(chǔ)器68屬于非易失性存儲(chǔ)裝置 (NVMD)412的一部分。在本發(fā)明實(shí)施例內(nèi),NVMD 412外置于智能存儲(chǔ)開(kāi)關(guān)30。圖IC所示為使用帶多層集成控制器的閃速存儲(chǔ)器的兩層智能存儲(chǔ)開(kāi)關(guān)。第一級(jí) 智能存儲(chǔ)開(kāi)關(guān)638是多層控制器體系結(jié)構(gòu)(MLCA)的一部分,經(jīng)過(guò)主機(jī)存儲(chǔ)總線18連接到 主機(jī)主板。第一級(jí)智能存儲(chǔ)開(kāi)關(guān)638連接到多個(gè)第二級(jí)智能存儲(chǔ)開(kāi)關(guān)639、639’。第二級(jí)智能存儲(chǔ)開(kāi)關(guān)639、639’使用NVM控制器76連接到下游閃存,而NVM控制 器76連接到NVM閃速存儲(chǔ)器68。當(dāng)主要電源出現(xiàn)故障時(shí),備用電池47將為智能存儲(chǔ)開(kāi)關(guān) 和存儲(chǔ)系統(tǒng)645內(nèi)的其它元件提供電源,使寫入數(shù)據(jù)能夠保存在閃存內(nèi)。于是,可使用回寫 緩存方案,而不僅僅使用通寫緩存方案??墒褂猛獠縎DD系統(tǒng)647中的選件智能管理器526 來(lái)進(jìn)行高級(jí)重新映射。第一級(jí)智能存儲(chǔ)開(kāi)關(guān)638用來(lái)與主機(jī)10相連,并連接到多個(gè)第二級(jí)智能存儲(chǔ)開(kāi)關(guān) 639、639’。第二級(jí)智能存儲(chǔ)開(kāi)關(guān)639、639’進(jìn)一步與圖IA和圖IB中所示的多個(gè)NVMD相連 接。在所有智能存儲(chǔ)開(kāi)關(guān)(638、639、639’)的ECC奇偶校驗(yàn)可由用戶選擇打開(kāi)或關(guān)閉。在 一個(gè)發(fā)明實(shí)施例內(nèi),第一級(jí)智能存儲(chǔ)開(kāi)關(guān)638的ECC奇偶校驗(yàn)打開(kāi)時(shí),其它所有智能存儲(chǔ)開(kāi) 關(guān)(639、639’ )將關(guān)閉ECC;在另外一個(gè)發(fā)明實(shí)施例內(nèi),第一級(jí)智能存儲(chǔ)開(kāi)關(guān)638的ECC奇 偶校驗(yàn)關(guān)閉時(shí),其它所有第二級(jí)智能存儲(chǔ)開(kāi)關(guān)(639、639’)將打開(kāi)ECC邏輯。串聯(lián)的智能存 儲(chǔ)開(kāi)關(guān)(638、639、639’ )使控制器變得更簡(jiǎn)單。圖ID所示為控制非易失性存儲(chǔ)裝置(NVMD)的兩層智能存儲(chǔ)開(kāi)關(guān)。第一級(jí)智能存 儲(chǔ)開(kāi)關(guān)638是多層控制器體系結(jié)構(gòu)(MLCA)的一部分,經(jīng)過(guò)主機(jī)存儲(chǔ)總線接口 18連接到主 機(jī)主板。第一級(jí)智能存儲(chǔ)開(kāi)關(guān)638連接到多個(gè)第二級(jí)智能存儲(chǔ)開(kāi)關(guān)(639、639’)。第二級(jí)智能存儲(chǔ)開(kāi)關(guān)(639、639’ )連接到下游非易失性存儲(chǔ)裝置(NVMD)412。當(dāng) 主要電源出現(xiàn)故障時(shí),備用電池47將為智能存儲(chǔ)開(kāi)關(guān)和兩層智能存儲(chǔ)開(kāi)關(guān)644內(nèi)的其它元 件提供電源,從而能將寫入數(shù)據(jù)保存在閃存內(nèi)。于是,可使用回寫緩存方案,而不僅僅使用 通寫緩存方案。可使用外部SDD系統(tǒng)647中的選件智能管理器526來(lái)進(jìn)行高級(jí)重新映射。如圖1所示,在使用多個(gè)涉及控制器的較低級(jí)NVMD裝置的多層閃速存儲(chǔ)器體系結(jié) 構(gòu)中,由于更多的獨(dú)立地址系統(tǒng)用于所采用的個(gè)別較低級(jí)映射表,閃速存儲(chǔ)器容量實(shí)際上 得到了提升??山档湍硞€(gè)NVMD中發(fā)生的壞塊增大效果,從而影響其它NVM存儲(chǔ)器,這些其 它NVM存儲(chǔ)器可能會(huì)有不同位置的壞塊在事務(wù)處理中發(fā)生。兩層ECC管理——圖2。
圖2所示為多層控制器體系結(jié)構(gòu)閃存系統(tǒng)中的兩層ECC。主機(jī)協(xié)議接口 521接收 主機(jī)指令和數(shù)據(jù),循環(huán)冗余碼校驗(yàn)(CRC)測(cè)試器523對(duì)主機(jī)指令和數(shù)據(jù)檢測(cè)進(jìn)行第一級(jí)錯(cuò) 誤校正。CRC測(cè)試器523發(fā)現(xiàn)錯(cuò)誤時(shí),要求主機(jī)重新發(fā)送數(shù)據(jù)。該CRC協(xié)議與下文將要敘述 的錯(cuò)誤校正代碼(ECC)是分開(kāi)來(lái)不同的。預(yù)留單元525預(yù)留一個(gè)閃存信道,用作分段ECC存儲(chǔ)。在這個(gè)例子中,NVM閃速存 儲(chǔ)器68的第4信道(CHAN4)預(yù)留用于分段ECC。而其它3個(gè)信道用于分段數(shù)據(jù)。分割映射 器527將數(shù)據(jù)發(fā)送到前三個(gè)信道內(nèi)作為一個(gè)分段,然后從這些數(shù)據(jù)中生成ECC詞。生成的 ECC詞將發(fā)送到第四信道內(nèi),作為分段ECC進(jìn)行存儲(chǔ)。發(fā)送到四個(gè)信道中每個(gè)信道的數(shù)據(jù)將由以頁(yè)為基礎(chǔ)的ECC發(fā)生器47進(jìn)行處理,生 成以頁(yè)為基礎(chǔ)的ECC。該以頁(yè)為基礎(chǔ)的ECC將和數(shù)據(jù)一起由閃存控制器42存儲(chǔ)在每個(gè)信道 內(nèi)。以頁(yè)為基礎(chǔ)的ECC和數(shù)據(jù)存放在第1-3信道的NVM閃速存儲(chǔ)器68內(nèi),而分段ECC和其 以頁(yè)為基礎(chǔ)的ECC存放在第4信道的NVM閃速存儲(chǔ)器68內(nèi)。對(duì)其它的主機(jī)數(shù)據(jù)或長(zhǎng)度大 于一個(gè)分段的數(shù)據(jù)只需要重復(fù)該過(guò)程。圖3所示為附有智能存儲(chǔ)事務(wù)管理器更多具體細(xì)節(jié)的四信道智能存儲(chǔ)開(kāi)關(guān)。虛擬 存儲(chǔ)處理器140、與SDRAM緩沖器60連接的虛擬緩沖橋32以及與主機(jī)連接的上游接口 34 都連接到智能存儲(chǔ)事務(wù)管理器36,按照?qǐng)DIA先前的描述進(jìn)行運(yùn)作。通到四個(gè)NVMD(950-953)的四個(gè)信道由連接到智能存儲(chǔ)事務(wù)管理器36中的多信 道交錯(cuò)路由邏輯534的四個(gè)虛擬存儲(chǔ)橋42提供。主機(jī)數(shù)據(jù)能夠通過(guò)路由邏輯534交錯(cuò)到 四個(gè)信道和四個(gè)NVMD (950-953)之間,從而提高性能。來(lái)自上游接口 34的主機(jī)數(shù)據(jù)由智能存儲(chǔ)事務(wù)管理器36內(nèi)的重新排序單元516進(jìn) 行重新排序。例如,主機(jī)將以不同于接收時(shí)的順序重新進(jìn)行事務(wù)處理。這是一種很高級(jí)別的 重新排列。智能存儲(chǔ)事務(wù)管理器36中的第一級(jí)映射邏輯517為NVMD 412執(zhí)行高級(jí)映射。對(duì)于非冗余體系結(jié)構(gòu)來(lái)說(shuō),通過(guò)將NVMD 412的刪減部分納入到總?cè)萘恐刑岣哒?體容量是非常有用。在另外一個(gè)發(fā)明實(shí)施例中,如果一個(gè)NVMD 412累積了太多壞塊以及其 總?cè)萘坎蛔阋灾С终_\(yùn)作,其中一些容量可以重新映射給其它有額外資源的NVMD 412。分割邏輯518可把主機(jī)數(shù)據(jù)分割成為分段數(shù)據(jù),這些分段數(shù)據(jù)被寫入到不同的實(shí) 體裝置中,如廉價(jià)冗余磁盤陣列(RAID)。奇偶校驗(yàn)和ECC數(shù)據(jù)可由ECC邏輯520添加和檢 查,而NVMD安裝器521可以安裝一個(gè)NVMD的新存儲(chǔ)邏輯卷,然后使用奇偶校驗(yàn)NVMD和所 有其它好的NVMD來(lái)恢復(fù)壞塊,以及更換NVMD的內(nèi)容到新的NVMD。NVMD邏輯卷可分配到不 同的實(shí)體閃速存儲(chǔ)器中,如本圖所示的NVMD (950-953),分別是分配為1號(hào)、2號(hào)、3號(hào)和4號(hào) NVMD0虛擬化單元514將主機(jī)邏輯地址虛擬化并將NVMD (950-953)內(nèi)的閃速存儲(chǔ)器集中 起來(lái)成為一個(gè)單獨(dú)裝置,從而進(jìn)行高效的數(shù)據(jù)處理,例如使用重新映射和錯(cuò)誤處理。使用 智能管理器526,智能存儲(chǔ)事務(wù)管理器36可進(jìn)行高級(jí)重新映射,該智能管理器526監(jiān)控每 個(gè)NVMD (950-953)內(nèi)出現(xiàn)的磨損和壞塊。這種高級(jí)磨損平衡可將新區(qū)塊指引到最少磨損的 NVMD (950-953),如NVMD (952),其磨損度僅為250,比其它NVMD的磨損度500、400和300較 低。然后NVMD(952)可在NVMD(952)內(nèi)的NVM閃速存儲(chǔ)器68 (如圖1)之間進(jìn)行其它的低 級(jí)磨損平衡。于是,高級(jí)或“總統(tǒng)級(jí)”磨損平衡確定最少磨損邏輯卷或NVMD,而在所選擇的NVMD中的閃速存儲(chǔ)器區(qū)塊之間進(jìn)行低級(jí)或“管理者級(jí)”磨損平衡。通過(guò)使用這種總統(tǒng)-管理者 兩層磨損平衡,整個(gè)磨損情況就可以得到改善和優(yōu)化。端點(diǎn)和集線模式邏輯528促使智能事務(wù)管理器36將端點(diǎn)集中起來(lái),用于圖1中模 式邏輯26較早描述的開(kāi)關(guān)模式。在不使用上述磨損度的情況下,智能存儲(chǔ)事務(wù)管理器36 可使用壞塊百分比率來(lái)決定將新區(qū)塊分配給哪一個(gè)NVMD (950-953)。那些存在大量壞塊的 NVMD可以跳過(guò)。不需要交錯(cuò)的少量主機(jī)數(shù)據(jù)可使用磨損較少的NVMD,而大量主機(jī)數(shù)據(jù)可交 錯(cuò)到所有四個(gè)NVMD之中,包括磨損較大的NVMD。仍然使用交錯(cuò)存取方式改善較大多區(qū)塊數(shù) 據(jù)轉(zhuǎn)移的同時(shí),磨損也被降低。兩層壞塊管理——圖4。圖4A-E所示為多層控制器體系結(jié)構(gòu)閃存系統(tǒng)中的兩層壞塊管理。圖4A-E中,所 顯示的是4個(gè)信道的NVMD。在該例子中,每個(gè)信道都設(shè)有一個(gè)不同的存儲(chǔ)容量,其中3號(hào) NVMD的容量最大,1號(hào)NVMD的容量最小。某些可用容量分配用于映射表,壞塊以及其它系統(tǒng) 管理目的,顯示在每個(gè)NVMD的頂部區(qū)域。剩下的區(qū)域可用來(lái)存儲(chǔ)主機(jī)數(shù)據(jù)。但是,當(dāng)主機(jī) 數(shù)據(jù)被分割和發(fā)送到所有四個(gè)NVMD時(shí),分段數(shù)據(jù)區(qū)域限于最小容量NVMD的剩下區(qū)域。于 是,所有四個(gè)NVMD的分段數(shù)據(jù)區(qū)域設(shè)置為容量最小的1號(hào)NVMD的分段數(shù)據(jù)區(qū)域。這種將 所有信道的NVMD存儲(chǔ)容量相吻合的過(guò)程稱為刪減。刪減數(shù)據(jù)區(qū)域用虛線來(lái)表示。刪減由 容量最小的NVMD來(lái)決定。虛線下面的區(qū)域是分段數(shù)據(jù)區(qū)域。在該區(qū)域內(nèi)可進(jìn)行快速主機(jī)寫入,這是因?yàn)閿?shù) 據(jù)可以發(fā)送到所有四個(gè)NVMD,然后每個(gè)NVMD在不耽誤其它NVMD的情況下緩存數(shù)據(jù)并將數(shù) 據(jù)寫入到自己的NVM閃速存儲(chǔ)器。虛線上面的區(qū)域?qū)儆谌萘孔钚〉?號(hào)NVMD的保留區(qū)域,而其它NVMD(2號(hào)、3號(hào)和 4號(hào))設(shè)有一個(gè)系統(tǒng)管理不需要的額外區(qū)域。本專利申請(qǐng)案發(fā)明者們使用該額外區(qū)域來(lái)存 放散列數(shù)據(jù)。散列數(shù)據(jù)是指那些不能作為分段的數(shù)據(jù)。相反,散列數(shù)據(jù)是通過(guò)一次單獨(dú)存 取一個(gè)NVMD的方式來(lái)存取。由于存取散列數(shù)據(jù)時(shí)平行存取多個(gè)NVMD就會(huì)受到封閉,因此 散列數(shù)據(jù)的存取速度和性能都比分段數(shù)據(jù)的存取較低。虛線上部的散列區(qū)域包括系統(tǒng)管理或保留數(shù)據(jù)和信息以及散列數(shù)據(jù)。隨著時(shí)間的 推移,壞塊的數(shù)量會(huì)增加,保留(RESV)區(qū)域也可能沒(méi)有足夠的空區(qū)塊。這就可能使其中一 個(gè)NVMD的速度減慢。將NVMD的某些部分遷移到其它容量較大NVMD上可以延長(zhǎng)整個(gè)系統(tǒng) 的壽命。散列數(shù)據(jù)可包含那些從一個(gè)NVMD重新映射到另外一個(gè)NVMD的壞塊。于是,即使 進(jìn)行刪減,其它NVMD(2號(hào)、3號(hào)和4號(hào))中的報(bào)廢空間也可用于散列數(shù)據(jù)的存儲(chǔ)。數(shù)據(jù)分段 或數(shù)據(jù)區(qū)域可設(shè)有包括選擇性ECC數(shù)據(jù)冗余保護(hù)的快速讀/寫。LBA可從數(shù)據(jù)分段的零點(diǎn) 一直排列到末端。散列數(shù)據(jù)區(qū)域的LBA大于數(shù)據(jù)分段末端的LBA。圖4B中,由于采用比較保守和靈活的配置,分段數(shù)據(jù)區(qū)域特意設(shè)置比圖4A中的 小。每個(gè)NVMD中的保留區(qū)域可以增加為更多壞塊提供較大的映射表。但是,散列數(shù)據(jù)區(qū)域 也可以增加。散列數(shù)據(jù)可存放在NVMD內(nèi)虛線上面的區(qū)域內(nèi)。分段數(shù)據(jù)區(qū)域可小于NVMD最 低容量。分段數(shù)據(jù)區(qū)域在系統(tǒng)設(shè)置開(kāi)始之初設(shè)置比較低,目的是為每個(gè)NVMD的末端部分 分配散列數(shù)據(jù)區(qū)域??蓪⒏嗟腖BA重新映射到不同的NVMD。分段數(shù)據(jù)區(qū)域從LBAO開(kāi)始, 增加到分段數(shù)據(jù)區(qū)域大小為止。散列數(shù)據(jù)區(qū)域的LBA在分段數(shù)據(jù)區(qū)域之后達(dá)到每個(gè)NVMD容量的末端。圖4C所示為兩層映射表。第一級(jí)分割映射圖531由智能存儲(chǔ)開(kāi)關(guān)30進(jìn)行管理, 在散列數(shù)據(jù)區(qū)域和分段數(shù)據(jù)區(qū)域之間對(duì)所有四信道NVMD提供整體分配。不能被分割的主 機(jī)數(shù)據(jù)輸入可以當(dāng)做散列數(shù)據(jù)寫入到擁有多余容量的信道內(nèi)。例如,使用第一級(jí)分割映射 圖531,較小的數(shù)據(jù)寫入可被分配到擁有大散列數(shù)據(jù)區(qū)域的較大NVMD。每個(gè)NVMD都設(shè)有第二級(jí)映射圖533,用來(lái)重新映射NVMD內(nèi)的NVM閃速存儲(chǔ)器68 的壞塊。如圖4C所示,壞塊位于NVM閃速存儲(chǔ)器68的物理地址空間內(nèi)的隨機(jī)位置內(nèi)。圖4D所示為每個(gè)信道邏輯地址空間內(nèi)壞塊的重新映射。每個(gè)NVMD都設(shè)有裝載相 應(yīng)NVM閃速存儲(chǔ)器68內(nèi)壞塊位置的第二級(jí)映射圖533。這些壞塊從接收分割數(shù)據(jù)的邏輯 地址分段數(shù)據(jù)領(lǐng)域內(nèi)刪除。壞塊移動(dòng)到邏輯地址空間內(nèi)的散列數(shù)據(jù)領(lǐng)域內(nèi)。隨著時(shí)間的推 移,由于系統(tǒng)將會(huì)磨損以及出現(xiàn)更多的壞塊,散列數(shù)據(jù)領(lǐng)域大小將增加,而分段數(shù)據(jù)領(lǐng)域大 小將減少。來(lái)自智能存儲(chǔ)開(kāi)關(guān)30的散列數(shù)據(jù)經(jīng)由第一級(jí)分割映射圖531映射到NVMD散列 數(shù)據(jù)領(lǐng)域,存儲(chǔ)在散列數(shù)據(jù)領(lǐng)域內(nèi)并由第二級(jí)映射圖533進(jìn)行定位。圖4E所示是更具體的第一級(jí)和第二級(jí)映射圖。第一級(jí)分割映射圖531存儲(chǔ)了每 個(gè)NVMD的全部容量,并將該容量劃分成一個(gè)分段容量和一個(gè)散列容量,散列容量包括一個(gè) 保留區(qū)和一個(gè)交換區(qū)。交換區(qū)用于存儲(chǔ)之后出現(xiàn)的重新定位壞塊的數(shù)據(jù),而保留區(qū)用來(lái)存 儲(chǔ)非數(shù)據(jù)的系統(tǒng)管理附加信息,如NVM控制器的固件的信息。最初,如第一級(jí)分割映射圖531所示,所有四個(gè)NVMD已被刪減為每個(gè)分段容量180 個(gè)區(qū)塊,每個(gè)NVMD的保留區(qū)范圍在2-5個(gè)區(qū)塊之間。一段時(shí)間過(guò)后,壞塊的增加導(dǎo)致了需重新進(jìn)行刪減處理,每個(gè)NVMD仍舊擁有180 個(gè)分段容量區(qū)塊。但是,每個(gè)NVMD內(nèi)的保留區(qū)的區(qū)塊增加到10-13個(gè)。第一級(jí)分割映射圖 531也存在一張主機(jī)邏輯地址到指定NVMD的映射圖,并可以確定數(shù)據(jù)是在該NVMD內(nèi)的分段 數(shù)據(jù)領(lǐng)域內(nèi)還是在散列數(shù)據(jù)領(lǐng)域內(nèi)。于是,主機(jī)讀取就可以快速地找到所需數(shù)據(jù)。每個(gè)NVMD設(shè)有第二級(jí)映射圖533,第二級(jí)映射圖533設(shè)有列出該NVMD的NVM閃速 存儲(chǔ)器68內(nèi)的壞塊物理地址的壞塊表535。壞塊表535中所列出的區(qū)塊不能分配接收新主 機(jī)數(shù)據(jù)。其它圖和表格可在第二級(jí)映射圖533中出現(xiàn),如之后圖7和圖8所示。圖5所示為多層控制器體系結(jié)構(gòu)閃存系統(tǒng)中的分段數(shù)據(jù)和散列數(shù)據(jù)領(lǐng)域管理。智 能存儲(chǔ)開(kāi)關(guān)通過(guò)啟動(dòng)或調(diào)查每個(gè)信道內(nèi)的NVMD來(lái)掃描搜尋所有信道的壞塊(步驟310)。 每個(gè)信道的NVMD掃描自己的NVM閃速存儲(chǔ)器并設(shè)置第二級(jí)壞塊映射圖(步驟312)。NVMD 然后將其可用容量和該信道內(nèi)其閃存結(jié)構(gòu)的其它具體情況報(bào)告給智能存儲(chǔ)開(kāi)關(guān)。智能存儲(chǔ) 開(kāi)關(guān)比較所有信道的容量,找出其中容量最小的信道(步驟314)。通常情況下,壞塊最多的 信道就是容量最小的信道,如當(dāng)所有信道的標(biāo)稱容量相同時(shí)。將最低可用容量乘以不保留用于分段ECC的NVMD數(shù)量可獲得分段數(shù)據(jù)領(lǐng)域容量 大小(步驟316)。所有信道的分段數(shù)據(jù)大小都根據(jù)最低可用容量大小來(lái)設(shè)置。剩下的容量 設(shè)置為可接收散列數(shù)據(jù)而非分段數(shù)據(jù)的散列數(shù)據(jù)領(lǐng)域區(qū)。智能存儲(chǔ)開(kāi)關(guān)裝載分段數(shù)據(jù)領(lǐng)域 和散列數(shù)據(jù)領(lǐng)域的大小到第一級(jí)分割映射圖內(nèi)(步驟318)。隨著時(shí)間的推移,NVMD將會(huì)發(fā)現(xiàn)更多的新壞塊。這些NVMD將每個(gè)新發(fā)現(xiàn)的壞塊 的入口加入到相應(yīng)信道第二級(jí)映射圖533的壞塊表中(步驟320)。最初壞塊是由每個(gè)信道 內(nèi)NVM控制器76來(lái)管理,之后,壞塊的最新數(shù)量將通知給智能存儲(chǔ)開(kāi)關(guān)。然后智能存儲(chǔ)開(kāi)關(guān)將根據(jù)新壞塊信息重新裝載其第一級(jí)分割映射圖(步驟322),并減少分段數(shù)據(jù)容量(步 驟 324)。圖6和圖7所示為上電程序流程圖。圖6中,NVMD上電或進(jìn)行初始化。當(dāng)NVMD是 第一次上電時(shí),如NVMD的非易失性固件中的一個(gè)旗標(biāo)所顯示(步驟332),那么NVMD將掃 描NVM閃速存儲(chǔ)器68的所有區(qū)塊,建立壞塊表和磨損平衡表。也確定NVM閃速存儲(chǔ)器68 的容量和結(jié)構(gòu),如可用來(lái)單獨(dú)尋址NVM閃速存儲(chǔ)器68的單獨(dú)芯片選通(CE)的數(shù)量(步驟 334)。該信息已準(zhǔn)備就緒供智能存儲(chǔ)開(kāi)關(guān)讀取。當(dāng)NVMD不是第一次上電時(shí),如NVMD的非易失性固件中的一個(gè)旗標(biāo)所顯示(步驟 332),那么NVMD將掃描NVM閃速存儲(chǔ)器68的所有區(qū)塊,查證或修補(bǔ)由NVMD管理的各個(gè)圖 表和數(shù)據(jù)庫(kù)(步驟336)。這些圖表有時(shí)會(huì)因突然斷電而受損。圖7中,當(dāng)智能存儲(chǔ)開(kāi)關(guān)上電或初始化時(shí),該程序?qū)?dòng)。智能存儲(chǔ)開(kāi)關(guān)將等待直 到所有NVMD做好準(zhǔn)備,如輸出一個(gè)就緒線信號(hào)到智能存儲(chǔ)開(kāi)關(guān)30 (步驟338)。智能存儲(chǔ)開(kāi) 關(guān)從所有NVMD收集容量和閃存結(jié)構(gòu)信息(步驟340)。如果已經(jīng)有用戶設(shè)置(步驟342), 那么可以使用這種用戶設(shè)置。用戶設(shè)置可包括數(shù)據(jù)分段大小和奇偶校驗(yàn)配置。如果沒(méi)有用 戶設(shè)置(步驟342),那么需要調(diào)查用戶或主機(jī),確定閃存系統(tǒng)的所需特性情況,如用戶所需 的冗余程度、數(shù)據(jù)分割、超量配置等(步驟344)。智能存儲(chǔ)開(kāi)關(guān)然后可用該用戶設(shè)置去建立 第一級(jí)分割映射圖531以及為ECC或冗余分配NVMD。源本和陰影區(qū)塊——圖8和圖9。圖8和圖9所示為閃速存儲(chǔ)器系統(tǒng)內(nèi)的源本和陰影區(qū)塊。圖8所示為一個(gè)源本區(qū) 塊和兩個(gè)陰影區(qū)塊。到LBA (13)的第一個(gè)寫入命令正到達(dá)時(shí),控制器映射出源本區(qū)塊PBA (18)。寫入命 令先是寫入0-4頁(yè),之后是2-3頁(yè),然后在區(qū)塊的下一頁(yè)空白頁(yè)中標(biāo)出“E0C旗標(biāo)”。之后, 另外一個(gè)寫入命令先是寫入2-5頁(yè),之后是D-E頁(yè),然后在最后一頁(yè)標(biāo)出“E0C旗標(biāo)”。區(qū)塊 PBA(IS)填滿。1-4頁(yè)寫入命令完成寫入,然后生成1號(hào)陰影區(qū)塊PBA(25)。下一個(gè)寫入命 令寫入2-4頁(yè),然后寫入“E0C旗標(biāo)”。后來(lái)又一個(gè)寫入命令寫入2-4頁(yè),之后9-B頁(yè)寫入命 令寫入,然后PBA(25)的最后一頁(yè)寫入“E0C旗標(biāo)”。區(qū)塊PBA(25)現(xiàn)在填滿。收到一個(gè)新的 0-2頁(yè)寫入命令,生成2號(hào)陰影區(qū)塊PBA(33)。寫入“E0C旗標(biāo)”頁(yè)。之后最后一個(gè)4-E頁(yè)寫 入命令來(lái)到。然后寫入“E0C旗標(biāo)”?!皬腜BA到LBA的映射圖”的18H、25H和33H的入口將 有13H的內(nèi)容。“屬性表”的18H入口將擁有IOH的內(nèi)容,25H入口將有IlH的內(nèi)容以及33H 入口將有12H的內(nèi)容。過(guò)一段時(shí)間后,控制器將檢查這三個(gè)與LBA(13H)相關(guān)的區(qū)塊,并發(fā) 現(xiàn)PBA(IS)中的所有數(shù)據(jù)都是舊數(shù)據(jù),有效頁(yè)碼3位于PBA(25)中??刂破鲗?0寫入“從 PBA到LBA的映射圖”的入口 18H。另夕卜,將“屬性表”的18H入口的內(nèi)容改寫為00,25H入 口改寫為IOH以及33H入口改寫為11H。源本區(qū)塊PBA(IS)擁有最舊的主機(jī)數(shù)據(jù)。主機(jī)數(shù)據(jù)的LBA和頁(yè)偏置存儲(chǔ)在每頁(yè)的 備用區(qū)域內(nèi)。在該例子中,每個(gè)物理區(qū)塊總共有64頁(yè)(第0頁(yè)-第63頁(yè))。由于源本區(qū)塊PBA(IS)填滿了主機(jī)數(shù)據(jù),新的主機(jī)數(shù)據(jù)將寫入到1號(hào)陰影區(qū)塊 PBA(25)中。1號(hào)陰影區(qū)塊PBA(25)的數(shù)據(jù)比源本區(qū)塊PBA(18)的數(shù)據(jù)新。但是,源本區(qū)塊 中的某些數(shù)據(jù)也還是新的。最后,1號(hào)陰影區(qū)塊PBA(25)填滿,新的主機(jī)數(shù)據(jù)將存儲(chǔ)在2號(hào)陰影區(qū)塊PBA(33)中。隨著較新數(shù)據(jù)寫入到2號(hào)陰影區(qū)塊中,源本區(qū)塊和1號(hào)陰影區(qū)塊中的主機(jī)數(shù)據(jù)將變得 更舊。源本區(qū)塊PBA(IS)中最后剩下幾頁(yè)的新數(shù)據(jù)可以通過(guò)NVMD控制器(76)復(fù)制到2 號(hào)陰影區(qū)塊PBA(33)中,一旦將所有新數(shù)據(jù)從源本區(qū)塊PBA(18)中復(fù)制出去,源本區(qū)塊能夠 安全進(jìn)行擦除和回收以備將來(lái)使用之需。然后1號(hào)陰影區(qū)塊將成為新的源本區(qū)塊,并從回 收區(qū)塊中挑選的另一個(gè)新區(qū)塊將配置為2號(hào)陰影區(qū)塊。舊的2號(hào)陰影區(qū)塊PBA(33)變?yōu)? 號(hào)陰影區(qū)塊。這種從源本區(qū)塊中將數(shù)據(jù)遷移到陰影區(qū)塊的過(guò)程可重復(fù)進(jìn)行,從而改善磨損 平衡和性能。在另外一個(gè)發(fā)明實(shí)施例中,源本區(qū)塊PBA(IS)和1號(hào)陰影區(qū)塊PBA(25)中的新數(shù) 據(jù)可復(fù)制到2號(hào)陰影區(qū)塊PBA(33)中,源本區(qū)塊PBA(IS)和1號(hào)陰影區(qū)塊PBA(25)可安全 的擦除,成為回收可用區(qū)塊中的一部分,以備將來(lái)之需。2號(hào)陰影區(qū)塊成為新的源本區(qū)塊。主機(jī)讀取數(shù)據(jù)時(shí),所尋編址的扇區(qū)可能存在幾份數(shù)據(jù)。其中只有一份數(shù)據(jù)是最新 的數(shù)據(jù)。NVM控制器76首先搜索物理映射圖575以及屬性表577,找到與主機(jī)要讀取的數(shù) 據(jù)LBA相關(guān)的源本區(qū)塊、1號(hào)陰影區(qū)塊以及2號(hào)陰影區(qū)塊。然后NVM控制器76可先搜索2 號(hào)陰影區(qū)塊,然后1號(hào)陰影區(qū)塊,最后源本區(qū)塊,尋找所需數(shù)據(jù)。一旦完成每個(gè)主機(jī)命令的最后一頁(yè)寫入,就可將一個(gè)特別的旗標(biāo)插入到區(qū)塊最后 未使用的一頁(yè)。旗標(biāo)可以是未使用頁(yè)的索引,如不存在的第64頁(yè)。也可以使用特別的頁(yè)面 數(shù)據(jù)模式。當(dāng)主機(jī)讀取數(shù)據(jù)時(shí),主機(jī)一般從2號(hào)陰影區(qū)塊(若存在)開(kāi)始;主機(jī)從該區(qū)塊的 最后一頁(yè)開(kāi)始,直到向后找到第一個(gè)非空頁(yè)。如果該頁(yè)在備用區(qū)域內(nèi)標(biāo)有特別旗標(biāo),頁(yè)面的 內(nèi)容包含有邏輯頁(yè)面地址的映射信息,映射出物理頁(yè)面地址。因此,NVM控制器76可直接 讀取頁(yè)面數(shù)據(jù),而不是向后搜索直到找到扇區(qū)數(shù)據(jù)(與備用區(qū)域邏輯頁(yè)面地址吻合),不需 要讀取陰影和源本區(qū)塊的所有頁(yè)面。圖9所示為物理到邏輯的映射圖表。與邏輯到物理頁(yè)面映射不同,可使用PBA到 LBA的映射。物理映射圖575有由PBA索引的入口。當(dāng)LBA載入到PBA內(nèi)時(shí),主機(jī)LBA將被 載入PBA的入口。例如,源本區(qū)塊PBA(18)以及陰影區(qū)塊PBA(25)和PBA(33)都從LBA(13) 接收數(shù)據(jù),所以內(nèi)容(13)被載入到物理映射圖(575)的這三個(gè)PBA入口。屬性表577與物理映射圖575相關(guān)聯(lián),存儲(chǔ)物理映射圖575中映射的每個(gè)物理區(qū) 塊的屬性。例如,屬性表577存儲(chǔ)PBA (18)的屬性(10),指示當(dāng)前是源本區(qū)塊,一旦舊數(shù)據(jù) 擦除,接下來(lái)將回收使用。屬性表577也存儲(chǔ)PBA(25)的屬性(11),指示當(dāng)前是1號(hào)陰影區(qū) 塊;存儲(chǔ)PBA(33)的屬性(12),指示當(dāng)前是2號(hào)陰影區(qū)塊。物理映射圖575僅可以映射有限的邏輯地址,當(dāng)LBA不屬于物理映射圖575中的 入口范圍時(shí),還需要從存儲(chǔ)在閃速存儲(chǔ)器內(nèi)的較大映射圖表中重新下載物理映射圖575。例 如,物理映射圖575可限于其內(nèi)部的64個(gè)區(qū)塊入口的50個(gè)LBA。在新映射下載到物理映射 圖575和屬性表577之前,物理映射圖575和屬性表577的現(xiàn)有映射需要寫回到存儲(chǔ)在閃 速存儲(chǔ)器中較大映射圖表的相應(yīng)區(qū)域內(nèi)。閃存板體系結(jié)構(gòu)——圖10。圖10A-C所示為帶有閃速存儲(chǔ)器的線路板。這些線路板可以是能夠插入到插槽的 插入式板或者與主板或其它板整合的集成。圖IOA所示為使用閃存模塊的主機(jī)系統(tǒng)。主板系統(tǒng)控制器404通過(guò)前側(cè)總線(FSB)或其它高速CPU總線連接到中央處理器(CPU)402。CPU 402讀寫由易失性存儲(chǔ)控制器408 控制的SDRAM緩沖器410。SDRAM緩沖器410可設(shè)幾個(gè)包含DRAM芯片的存儲(chǔ)器模塊。閃速存儲(chǔ)器上的數(shù)據(jù)可通過(guò)使用易失性存儲(chǔ)控制器408和非易失性存儲(chǔ)控制器 406的主板系統(tǒng)控制器轉(zhuǎn)移到SDRAM緩沖器410上。這些數(shù)據(jù)轉(zhuǎn)移可采用直接內(nèi)存存取 (DMA)控制器,或使用中央處理器(CPU)402來(lái)進(jìn)行。非易失性存儲(chǔ)控制器406可讀寫閃速 存儲(chǔ)器模塊414。另外,DMA也可以存取由智能存儲(chǔ)開(kāi)關(guān)30控制的NVMD 412。NVMD 412包含圖IB中所示的NVM控制器76和NVM閃速存儲(chǔ)器68。NVM控制器76 將LBA轉(zhuǎn)換成為PBA地址。智能存儲(chǔ)開(kāi)關(guān)30將邏輯LBA地址發(fā)送到NVMD 412,而非易失性 存儲(chǔ)控制器406將LBA或物理PBA地址通過(guò)物理總線422發(fā)送到閃存模塊414。物理總線 422可承載LBA或PBA取決于閃存模塊414的類型。雖然某些系統(tǒng)可有兩個(gè)類型子系統(tǒng),但 是一個(gè)主機(jī)系統(tǒng)僅能包含一個(gè)類型NVM子系統(tǒng),即可以是閃存模塊414或是NVMD 412。圖IOB所示為圖IOA中的閃存模塊414可以平行排列在物理總線422的單個(gè)部分。圖IOC所示為圖IOA中的閃存模塊414可以串行排列在物理總線422的多個(gè)部分, 形成菊花串鏈。圖IlA所示為能夠直接與主機(jī)相連接的固態(tài)盤(SSD)板。SSD板440設(shè)有一個(gè)插 入到主機(jī)主板的接頭112”,如插入圖1中主機(jī)存儲(chǔ)總線18的接頭。接頭112”可以承載 SATA, PATA, PCIE總線或其它總線。NVMD 412焊接到SSD板440上或插入到接頭內(nèi)。也可 以使用其它邏輯和緩沖器。智能存儲(chǔ)開(kāi)關(guān)30如圖1所示。在某些發(fā)明實(shí)施例中,NVM閃速 存儲(chǔ)器68可用來(lái)替換NVMD 412。圖IlB所示為帶非易失性閃速存儲(chǔ)器(NVM)的外設(shè)部件互連(PCIE)卡。PCIE卡 441上的接頭312是一個(gè)xl、x2、x4或x8的PCIE接頭,插入到PCIE總線中。智能存儲(chǔ)開(kāi) 關(guān)30可用SDRAM緩存到NVMD 412的數(shù)據(jù)。在某些發(fā)明實(shí)施例中,NVM閃速存儲(chǔ)器68可用 來(lái)替換NVMD 412。圖IlC所示為帶插入到插槽內(nèi)的可插入式非易失性閃速存儲(chǔ)器(NVM)的外設(shè)部件 互連(PCIE)卡。PCIE卡300上的接頭312是一個(gè)xl、x2、x4、x8或xl6的PCIE接頭,插入 到PCIE總線中。智能存儲(chǔ)開(kāi)關(guān)30使用SDRAM 60緩存到NVMD的數(shù)據(jù)。SDRAM 60可直接焊接到PCIE卡300上,或是可拆卸式SDRAM模塊插入到PCIE卡 300上的模塊插槽中。數(shù)據(jù)通過(guò)智能存儲(chǔ)開(kāi)關(guān)30發(fā)送到插槽304,這些插槽插入了插入式 NVMD368。插入式NVMD 368可包含NVMD 412。插入式NVMD 368的電源通過(guò)插槽304獲得。選件電源接頭45位于PCIE卡300上,當(dāng)接頭312的電源不足時(shí),可為插入式NVMD 368提供電源。備用電池47可焊接在PCIE卡300內(nèi)或附屬于PCIE卡300上,如果突然斷 電時(shí),為PCIE卡300和插槽304提供電源。圖IlD所示為帶可通過(guò)線纜連接的非易失性閃速存儲(chǔ)器(NVM)的外設(shè)部件互連 (PCIE)卡。PCIE卡301上的接頭312是一個(gè)xl、x2、x4、x8或xl6的PCIE接頭,插入到 PCIE總線中。智能存儲(chǔ)開(kāi)關(guān)30使用SDRAM 60緩存到NVMD的數(shù)據(jù)。通過(guò)智能存儲(chǔ)開(kāi)關(guān)30將數(shù)據(jù)發(fā)送到接頭305,接頭305接受與外部MLCA 11 (圖中 未顯示)相連的線纜(圖中未顯示)。線纜連接式MLCA的電源通過(guò)接頭305獲得。接頭 305可連接子卡和NVMD或線纜以增加閃速存儲(chǔ)器的容量。選件電源接頭45位于PCIE卡301上,當(dāng)接頭312的電源不足時(shí),可為外部NVMD提供電源。備用電池47可焊接在PCIE卡301內(nèi)或附屬于PCIE卡301上,如果突然斷電時(shí), 為PCIE卡301和接頭305提供電源??蓪⒌诙?jí)智能存儲(chǔ)開(kāi)關(guān)30添加到這些發(fā)明實(shí)施例中。SSD 驅(qū)動(dòng)器-圖 12。圖12A-B所示為使用線路板的固態(tài)驅(qū)動(dòng)器,線路板是多層控制器體系結(jié)構(gòu)(MLCA) 驅(qū)動(dòng)器,每個(gè)MLCA驅(qū)動(dòng)器使用一個(gè)智能存儲(chǔ)開(kāi)關(guān)。圖12A中,智能存儲(chǔ)開(kāi)關(guān)30復(fù)制數(shù)據(jù)并 跟蹤多份數(shù)據(jù)。數(shù)據(jù)用幾個(gè)NVMD 412來(lái)存儲(chǔ)。圖12B中,主板157安裝有智能存儲(chǔ)開(kāi)關(guān)30。通過(guò)在主板157上的引線將兩個(gè)或 兩個(gè)以上的MLCA插槽155連接到智能存儲(chǔ)開(kāi)關(guān)30。每個(gè)MLCA插槽155與圖IA或IB中所 示的一個(gè)MLCA 11連接。閃存模塊——圖13。圖13A-D所示為安裝到如SATA存儲(chǔ)驅(qū)動(dòng)器線路板等一個(gè)線路板上的插座內(nèi)的閃 存模塊。圖13A所示為閃存模塊。閃存模塊110設(shè)有一基底,如多層印制線路板(PCB)用 于表面安裝NVMD 412在基底的前表面上,如圖所示,然而更多的NVMD 412安裝在基底的后 表面上(圖中未顯示)。另外,NVMD 412可用插座或接頭取代直接地表面安裝。金屬接觸墊112沿著模塊底部邊緣布置在前后表面上。金屬接觸墊112與模塊插 座上的接觸墊配對(duì),將模塊電氣連接到個(gè)人電腦主板或固態(tài)硬盤卡上。某些種類的模塊上 出現(xiàn)孔洞116,目的是為了將模塊正確地定位到插座內(nèi)。缺口 114也是為了確保模塊在插座 內(nèi)的正確定位。缺口 114能夠避免由于失誤將錯(cuò)誤類型的模塊插入。電容或其它離散的元 件表面安裝在基底上,目的是為了過(guò)濾來(lái)自于NVMD 412的干擾信號(hào),NVMD 412也是采用表 面安裝技術(shù)SMT工藝進(jìn)行安裝。閃存模塊110將NVMD 412連接到金屬接觸墊112上。與閃存模塊110的連接是 通過(guò)邏輯總線LBA或通過(guò)LBA存儲(chǔ)總線接口 28來(lái)完成的。圖1所示的NVM閃速存儲(chǔ)器68 以及NVM控制器76可用圖13A的閃存模塊來(lái)替換。圖13B所示為L(zhǎng)BA閃存模塊。閃存模塊110’設(shè)有一基底,如多層印制線路板(PCB) 用于表面安裝NVMD 412在基底的前表面上,如圖所示,然而更多的NVMD 412安裝在基底的 后表面(圖中未顯示)。金屬接觸墊112沿著模塊底部邊緣布置在前后表面上。金屬接觸墊112與模塊插 座上的接觸墊配對(duì),將模塊電氣連接到個(gè)人電腦主板或固態(tài)硬盤卡上。某些種類的模塊上 出現(xiàn)孔洞116,目的是為了將模塊正確地定位到插座內(nèi)。缺口 114也是為了確保模塊在插座 內(nèi)的正確定位。缺口 114能夠避免由于失誤將錯(cuò)誤類型的模塊插入。電容或其它離散的元 件表面安裝在基底上,目的是為了過(guò)濾來(lái)自于NVMD 412的干擾信號(hào)。圖13C所示為SATA存儲(chǔ)驅(qū)動(dòng)器的頂視圖。線路板151上安裝了智能存儲(chǔ)開(kāi)關(guān)30 和插座143。圖13A-B所示的閃存模塊110插入到插座143中,并通過(guò)線路板151上的引線 連接到智能開(kāi)關(guān)30。SATA接頭113將智能存儲(chǔ)開(kāi)關(guān)30連接到主機(jī)SATA總線上,如當(dāng)線路 板151插入圖12B所示的插槽155內(nèi)以及線路板151充當(dāng)RAID驅(qū)動(dòng)器時(shí)。圖13D所示為圖13C所示的SATA存儲(chǔ)驅(qū)動(dòng)器的側(cè)視圖。圖13A-B所示的閃存模 塊Iio插入到插座143中,并通過(guò)線路板151上的引線連接到智能開(kāi)關(guān)30。SATA接頭113 將智能存儲(chǔ)開(kāi)關(guān)30連接到主機(jī)SATA總線上。
三層數(shù)據(jù)分割——圖14。圖ID中所示的三層控制器包括第一級(jí)智能存儲(chǔ)開(kāi)關(guān),該智能存儲(chǔ)開(kāi)關(guān)接收主機(jī) 數(shù)據(jù)和經(jīng)過(guò)N個(gè)信道分配數(shù)據(jù)。這些信道中的每個(gè)信道都連接到一個(gè)第二級(jí)智能存儲(chǔ)開(kāi) 關(guān)。然后每個(gè)第二級(jí)智能存儲(chǔ)開(kāi)關(guān)進(jìn)一步經(jīng)過(guò)每個(gè)第二級(jí)智能存儲(chǔ)開(kāi)關(guān)的M個(gè)NVMD 412 分配數(shù)據(jù)。每個(gè)NVMD可設(shè)有幾個(gè)裸片,每個(gè)裸片幾個(gè)平面,從而保證每個(gè)NVMD在第三層的 進(jìn)一步數(shù)據(jù)分割。圖14所示為三層數(shù)據(jù)分割。來(lái)自主機(jī)的數(shù)據(jù)將以分段深度N倍于分段大小的分 段形式由第一級(jí)智能存儲(chǔ)開(kāi)關(guān)進(jìn)行存儲(chǔ)。每個(gè)分段將發(fā)送到N個(gè)第二級(jí)智能存儲(chǔ)開(kāi)關(guān)中不 同的一個(gè)智能存儲(chǔ)開(kāi)關(guān)。在第二層時(shí),每個(gè)第二級(jí)智能存儲(chǔ)開(kāi)關(guān)設(shè)有M個(gè)連接到NVMD的信道。每個(gè)第二級(jí) 智能存儲(chǔ)開(kāi)關(guān)總共設(shè)有M個(gè)NVMD。信道分段大小是信道大小的M倍。在第三層時(shí),每個(gè)NVMD將數(shù)據(jù)分配到閃速存儲(chǔ)器上,每個(gè)閃速存儲(chǔ)器可分成幾個(gè) 裸片,每個(gè)裸片可分為幾個(gè)平面。數(shù)據(jù)的寬度可以是每個(gè)平面8位元、16位元、32位元或其 它位元大小。CEl是裸片1的芯片選通,而CE2是裸片2的芯片選通。該例子中,每個(gè)NVMD 有兩個(gè)NVM裸片,每個(gè)裸片有兩個(gè)平面,數(shù)據(jù)寬度是8位元NVM。圖IB以及其它圖中的NVMD 412可每個(gè)封裝包裝兩個(gè)閃速存儲(chǔ)器裸片,每個(gè)閃速存儲(chǔ)器裸片有兩個(gè)平面。這種每個(gè)封裝 包兩個(gè)閃速存儲(chǔ)器裸片,每個(gè)閃速存儲(chǔ)器裸片有兩個(gè)平面的方式經(jīng)由使用雙平面閃速存儲(chǔ) 器命令而提高了閃存存取速度。圖15A-C所示為數(shù)據(jù)分割的幾個(gè)例子。圖15A中,數(shù)據(jù)分割形成的分段大小與NVMD 緊密地關(guān)聯(lián)。分段大小可設(shè)置為每個(gè)NVMD可同時(shí)存儲(chǔ)的頁(yè)數(shù)。例如,當(dāng)每個(gè)NVMD設(shè)有兩 個(gè)裸片和每個(gè)裸片有兩個(gè)平面時(shí),可一次將四個(gè)平面或四頁(yè)寫入到每個(gè)NVMD中。因此,分 段大小等于四頁(yè)。分段深度等于信道數(shù)目N乘以分段大小或N倍于該例子中的4個(gè)頁(yè)面。一個(gè)設(shè)有 每個(gè)信道兩個(gè)裸片、每個(gè)裸片兩個(gè)平面的8個(gè)NVMD的8信道系統(tǒng)擁有8x4或32頁(yè)的數(shù)據(jù) 分段深度,由智能存儲(chǔ)開(kāi)關(guān)30設(shè)置。當(dāng)裸片或平面數(shù)增加或頁(yè)面大小不同時(shí),根據(jù)基于LBA 的NVMD物理閃速存儲(chǔ)器體系結(jié)構(gòu),數(shù)據(jù)分割方法會(huì)改變。分段大小會(huì)隨著閃速存儲(chǔ)器頁(yè)面 大小改變,從而達(dá)到最高效率。保留一個(gè)NVMD用來(lái)存儲(chǔ)另外N_1個(gè)NVMD的奇偶校驗(yàn)。存儲(chǔ)奇偶校驗(yàn)所選擇的 NVMD沒(méi)有必要固定,但是可在智能存儲(chǔ)開(kāi)關(guān)30控制下的N個(gè)NVMD之間進(jìn)行輪流。該例子 中提供了類似RAID5的數(shù)據(jù)保護(hù)。圖15B中,使用了 4K字節(jié)的數(shù)據(jù)塊。4K字節(jié)的數(shù)據(jù)塊比IK字節(jié)的數(shù)據(jù)塊大但比 NVMD分段尺寸小。漢明碼可用來(lái)定位錯(cuò)誤。在該例子中,使用兩個(gè)半NVMD存儲(chǔ)奇偶校驗(yàn)或 其它ECC信息。例如,使用帶11個(gè)數(shù)據(jù)和5個(gè)奇偶校驗(yàn)的4K字節(jié)塊的漢明碼(16,5)。圖15C中,使用了 IK字節(jié)的數(shù)據(jù)塊。IK字節(jié)的數(shù)據(jù)塊比NVMD分段尺寸小??捎?漢明碼來(lái)保護(hù)一個(gè)IK字節(jié)的錯(cuò)誤,但是整個(gè)頁(yè)面仍可能會(huì)因?yàn)猷徑鎯?chǔ)單元的讀/寫干擾 而丟失數(shù)據(jù)。在該例子中,僅使用一個(gè)NVMD存儲(chǔ)奇偶校驗(yàn)或其它ECC信息。例如,使用57個(gè)數(shù) 據(jù)和7個(gè)奇偶校驗(yàn)的IK字節(jié)塊的漢明碼(64,7)。除了所描述的一層智能存儲(chǔ)開(kāi)關(guān)30外,也可使用兩層智能存儲(chǔ)開(kāi)關(guān)將數(shù)據(jù)以分段進(jìn)行多層分配處理。既可以使用水平ECC,也可以使用豎向ECC。所有頁(yè)面可保留用于豎 向ECC,而每個(gè)頁(yè)面的某些奇偶校驗(yàn)則保留用于水平ECC。這對(duì)讀-改-寫循環(huán)和對(duì)與SDRAM 60 一起使用特別有好處。各種其它強(qiáng)度的錯(cuò)誤探測(cè)和錯(cuò)誤糾正可用不同的漢明碼來(lái)替換。設(shè)有交錯(cuò)的三層功能——圖16A。圖16A所示為使用兩層智能存儲(chǔ)開(kāi)關(guān)的閃存的兩個(gè)信道之間的交錯(cuò)存取。第二級(jí) 智能存儲(chǔ)開(kāi)關(guān)30’的內(nèi)部總線連接到多個(gè)閃存信道界面63、63’,進(jìn)行奇偶交錯(cuò)。CPU 82是 一種如圖3中所示的虛擬存儲(chǔ)處理器140,或接收和解碼通過(guò)內(nèi)部總線發(fā)送的請(qǐng)求的另一 種處理器。每個(gè)NVMD 412可設(shè)有多個(gè)信道的閃速存儲(chǔ)器NVM 68。CPU 82將某些請(qǐng)求發(fā)送到 第一個(gè)閃存信道界面63,用于存儲(chǔ)在第一和第二個(gè)NVMD 412的NVM 68的數(shù)據(jù),而CPU 82 發(fā)送其它請(qǐng)求到第二個(gè)閃存信道界面63’,用于存儲(chǔ)在第三和第四個(gè)NVMD 412的NVM 68的 數(shù)據(jù)。第一閃存信道界面63生成交錯(cuò)控制、數(shù)據(jù)以及一次一個(gè)分別選址和激活第一個(gè) 和第二個(gè)NVMD 412的1號(hào)地址和相關(guān)裝置選擇1號(hào)CS。第二閃存信道界面63’生成交錯(cuò) 控制、數(shù)據(jù)以及一次一個(gè)分別選址和激活第三個(gè)和第四個(gè)NVMD 412的2號(hào)地址和相關(guān)裝置 選擇2號(hào)CS。使用了兩個(gè)時(shí)鐘源。奇數(shù)號(hào)時(shí)鐘源驅(qū)動(dòng)第一個(gè)奇數(shù)號(hào)時(shí)鐘同步到第二個(gè)和第三個(gè) NVMD412上,而偶數(shù)號(hào)時(shí)鐘源驅(qū)動(dòng)第二個(gè)偶數(shù)號(hào)時(shí)鐘同步到第一個(gè)和第四個(gè)NVMD 412上。 兩個(gè)時(shí)鐘可在時(shí)間上不相互重疊,從而可在第一信道內(nèi)的兩個(gè)NVMD 412之中選擇一個(gè),或 在第二信道內(nèi)的兩個(gè)NVMD 412之中選擇一個(gè)。當(dāng)一個(gè)時(shí)鐘脈沖時(shí),另外一個(gè)時(shí)鐘源可停 止。時(shí)鐘源也可以與交錯(cuò)選擇信號(hào)或地址位元一起使用。來(lái)自第一級(jí)智能存儲(chǔ)開(kāi)關(guān)30的數(shù)據(jù)可驅(qū)動(dòng)多個(gè)第二級(jí)智能存儲(chǔ)開(kāi)關(guān)30’,第一級(jí) 智能存儲(chǔ)開(kāi)關(guān)30連接到主機(jī)并緩沖SDRAM 60中的數(shù)據(jù)。第一級(jí)智能存儲(chǔ)開(kāi)關(guān)30內(nèi)的一 個(gè)CPU執(zhí)行主處理器的作用而第二級(jí)智能存儲(chǔ)開(kāi)關(guān)30’中的CPU 82執(zhí)行信道處理器的作 用。第一級(jí)智能存儲(chǔ)開(kāi)關(guān)30內(nèi)部的信道發(fā)送器(沒(méi)有顯示)將數(shù)據(jù)分配和發(fā)送到第二級(jí) 智能存儲(chǔ)開(kāi)關(guān)30’之中。圖16B所示為使用高級(jí)和低級(jí)智能存儲(chǔ)開(kāi)關(guān)的三層數(shù)據(jù)分割。第一級(jí)智能存儲(chǔ)開(kāi) 關(guān)638接收主機(jī)數(shù)據(jù)并將其存儲(chǔ)在主控制器460內(nèi)的幾排信道緩沖器中。第一排信道緩沖 器(0)填滿后,然后存儲(chǔ)到第一排信道緩沖器(1),等等,直到第一排信道緩沖器(N)填滿為 止再開(kāi)始第二排的填充。每個(gè)緩沖信道將數(shù)據(jù)發(fā)送到幾個(gè)第二級(jí)智能存儲(chǔ)開(kāi)關(guān)639中不同的一個(gè)智能存 儲(chǔ)開(kāi)關(guān)。數(shù)據(jù)是經(jīng)過(guò)每個(gè)第二級(jí)智能存儲(chǔ)開(kāi)關(guān)639中的流水線寄存器(PL_REG)進(jìn)行分配 的。流水線寄存器數(shù)據(jù)然后發(fā)送到一對(duì)與該第二級(jí)智能存儲(chǔ)開(kāi)關(guān)639相連接的NVMD 412。 每個(gè)NVMD 412有兩個(gè)裸片,每個(gè)裸片有兩個(gè)平面,因此每個(gè)NVMD —次能夠存儲(chǔ)4頁(yè)。每個(gè) 流水線寄存器能夠存儲(chǔ)8頁(yè)數(shù)據(jù)。N個(gè)中的每一個(gè)第二級(jí)智能存儲(chǔ)開(kāi)關(guān)639擁有M對(duì)NVMD 412。每對(duì)NVMD的分段 深度為8頁(yè),每個(gè)信道(每個(gè)第二級(jí)智能存儲(chǔ)開(kāi)關(guān)639)的分段深度是M*8頁(yè),第一級(jí)智能 存儲(chǔ)開(kāi)關(guān)638的高級(jí)分段深度是N*M*8頁(yè)。圖16C所示為使用高級(jí)和低級(jí)智能存儲(chǔ)開(kāi)關(guān)的三層數(shù)據(jù)刪減。每個(gè)NVMD跟蹤自己NVM內(nèi)的壞塊數(shù)量和位置。分段數(shù)據(jù)的可用區(qū)域以及重新定位的壞塊數(shù)據(jù)的交換區(qū)域也 為每個(gè)NVMD存儲(chǔ)好。該信息將上報(bào)到第二級(jí)智能存儲(chǔ)開(kāi)關(guān)639,該智能存儲(chǔ)開(kāi)關(guān)跟蹤附在 其上的所有M個(gè)NVMD的可用區(qū)域。附在一個(gè)第二級(jí)智能存儲(chǔ)開(kāi)關(guān)639的所有NVMD的可用 區(qū)域均設(shè)置為相同的數(shù)值以便于數(shù)據(jù)分割和交錯(cuò)存儲(chǔ)。例如,信道(0)的每個(gè)NVMD的可用 區(qū)域?yàn)?90,所以信道(0)的可用區(qū)域總數(shù)為190*M。所有第二級(jí)智能存儲(chǔ)開(kāi)關(guān)639的可用區(qū)域信息將上報(bào)到第一級(jí)智能存儲(chǔ)開(kāi)關(guān) 638。選擇最小可用區(qū)域并用于所有第二級(jí)智能存儲(chǔ)開(kāi)關(guān)639上,以便于數(shù)據(jù)分割。該例子 中,第二級(jí)智能存儲(chǔ)開(kāi)關(guān)639的N個(gè)信道的可用區(qū)域總數(shù)為190*M*N。圖16D所示為使用高級(jí)和低級(jí)智能存儲(chǔ)開(kāi)關(guān)的三層ECC。在高級(jí)情況時(shí),第一級(jí)智 能存儲(chǔ)開(kāi)關(guān)638使用主控制器460中的漢明水平ECC碼單元478生成并檢查水平ECC。來(lái) 自存儲(chǔ)界面470的主機(jī)數(shù)據(jù)將其從主機(jī)獲得的循環(huán)冗余碼校驗(yàn)(CRC),由CRC校驗(yàn)器470進(jìn) 行校驗(yàn),然后與漢明水平ECC碼單元478生成的水平ECC碼一道由發(fā)送器474發(fā)送到各個(gè) 信道(即第二級(jí)智能存儲(chǔ)開(kāi)關(guān)639)。讀取閃速存儲(chǔ)器時(shí),接收器476將奇偶校驗(yàn)或ECC數(shù) 據(jù)發(fā)送到漢明水平ECC碼單元478,該單元校驗(yàn)和矯正發(fā)回到主機(jī)的數(shù)據(jù)中的錯(cuò)誤。水平ECC可存儲(chǔ)在信道(M)內(nèi),而數(shù)據(jù)可存儲(chǔ)在信道(O-N)內(nèi)。豎向ECC可在信 道(O-N)和信道(M)之間進(jìn)行分配。兩個(gè)級(jí)別都可以使用單個(gè)錯(cuò)誤糾正和雙個(gè)錯(cuò)誤偵測(cè)碼。RAID-5就屬于一個(gè)特殊的 案例。ECC既可水平布置也可豎向布置。豎向ECC存儲(chǔ)在信道(M)的多個(gè)NVMD內(nèi),而水平 或頁(yè)面ECC存儲(chǔ)在信道(N)的一個(gè)NVMD內(nèi)。圖17所示為如圖IA所示的閃存系統(tǒng)內(nèi)的冗余控制器、信道和芯片選通信號(hào)。智 能存儲(chǔ)開(kāi)關(guān)30使用多個(gè)NVM控制器76,從0號(hào)到M號(hào)。每個(gè)NVM控制器76驅(qū)動(dòng)0號(hào)到N 號(hào)信道的共享地址/命令/數(shù)據(jù)總線。每個(gè)總線連接到所有四個(gè)NVM閃速存儲(chǔ)器68,每個(gè) NVM控制器76也驅(qū)動(dòng)四個(gè)芯片選通(CE)控制信號(hào),每個(gè)CE發(fā)送到四個(gè)NVM閃速存儲(chǔ)器68 中不同的一個(gè)。智能存儲(chǔ)開(kāi)關(guān)30從存儲(chǔ)到0號(hào)到M-I號(hào)NVM控制器76的第一級(jí)數(shù)據(jù)分段生成奇 偶校驗(yàn),然后將該奇偶校驗(yàn)存儲(chǔ)到M號(hào)NVM控制器76內(nèi)。分段數(shù)據(jù)存取比較快,這是因?yàn)?能平行存取幾個(gè)NVM控制器;非分段的散列數(shù)據(jù)也可以存取,但是會(huì)降低系統(tǒng)性能。當(dāng)NVM控制器76其中之一個(gè)的磨損嚴(yán)重時(shí),可將該NVM控制器從分割處理中刪 除,而使用剩下的NVM控制器76。M號(hào)NVM控制器76的一個(gè)NVM閃存存儲(chǔ)器68可用來(lái)存 儲(chǔ)重新映射數(shù)據(jù),如用CE (3)來(lái)存取的第四個(gè)NVM閃速存儲(chǔ)器68。于是,M號(hào)信道可用于奇 偶校驗(yàn)存儲(chǔ)和存儲(chǔ)來(lái)自其它信道的重新定位或重新映射的數(shù)據(jù)。如果出現(xiàn)硬件故障,M號(hào) 信道可用作更換硬件。如果執(zhí)行冗余,將可能有三個(gè)執(zhí)行方案。第一個(gè)執(zhí)行方案是數(shù)據(jù)大小與NVM控制 器76數(shù)據(jù)分段大小相等。其中一個(gè)NVM控制器76用作奇偶校驗(yàn)保護(hù)其余的NVM控制器76 的一個(gè)已知位置故障;兩個(gè)NVM控制器76用作奇偶校驗(yàn)保護(hù)其余的NVM控制器76的兩個(gè) 已知位置故障?;蛉绻鸑VM控制器76的故障位置是未知,那么需要幾個(gè)NVM控制器76用 作奇偶校驗(yàn)保護(hù)其余的NVM控制器76中的數(shù)據(jù)??墒褂脝蝹€(gè)錯(cuò)誤糾正和雙個(gè)錯(cuò)誤偵測(cè)方 案,如漢明碼計(jì)算方法。漢明碼有下列奇偶校驗(yàn)要求4個(gè)數(shù)據(jù)使用4個(gè)奇偶校驗(yàn)(8,4);或 11個(gè)數(shù)據(jù)使用5個(gè)奇偶校驗(yàn)(16,5);或26個(gè)數(shù)據(jù)使用6個(gè)奇偶校驗(yàn)(32,6);或57個(gè)數(shù)據(jù)使用7個(gè)奇偶校驗(yàn)(64,7);或120個(gè)數(shù)據(jù)使用8個(gè)奇偶校驗(yàn)(128,8)。第二個(gè)執(zhí)行方案是數(shù)據(jù)大小與NVM控制器76的一個(gè)信道數(shù)據(jù)分段大小相等。使 用單個(gè)錯(cuò)誤糾正和雙個(gè)錯(cuò)誤偵測(cè)的漢明碼計(jì)算方法。該例子中總共有M*N個(gè)信道。如果有 M = 4個(gè)NVM控制器76,每個(gè)控制器有N = 4個(gè)信道,那么SSD內(nèi)就有16個(gè)信道,即5個(gè)奇 偶校驗(yàn)和11個(gè)數(shù)據(jù)的漢明碼(16,5)。例如,對(duì)于0號(hào)和1號(hào)NVM控制器76,所有信道都是 用來(lái)存儲(chǔ)主機(jī)數(shù)據(jù)的數(shù)據(jù)信道。2號(hào)NVM控制器76有3個(gè)數(shù)據(jù)信道和一個(gè)奇偶校驗(yàn)信道。 3號(hào)NVM控制器76所有的4個(gè)信道都是奇偶校驗(yàn)信道。第三個(gè)執(zhí)行方案是數(shù)據(jù)大小等于一個(gè)CE數(shù)據(jù)分段大小??偣灿蠱*N*4個(gè)CE數(shù)據(jù) 分段。該例子中,使用64個(gè)CE數(shù)據(jù)分段,即7個(gè)奇偶校驗(yàn)和57個(gè)數(shù)據(jù)的漢明碼(64,7)。 例如,0號(hào)、1號(hào)和2號(hào)NVM控制器76將用于數(shù)據(jù)。3號(hào)NVM控制器76的0號(hào)和1號(hào)信道也 用于數(shù)據(jù),另外,3號(hào)NVM控制器76的2號(hào)信道的CEO也用于數(shù)據(jù)。3號(hào)NVM控制器76剩 下的7個(gè)部分都用于奇偶校驗(yàn)。數(shù)據(jù)大小可以進(jìn)一步降低到等于頁(yè)面大小。NVM閃速存儲(chǔ) 器68中的閃存ECC保護(hù)單元將是奇偶校驗(yàn)最小的數(shù)據(jù)大小。冗余使系統(tǒng)能夠通過(guò)生成的奇偶校驗(yàn)(有時(shí)稱為元數(shù)據(jù))糾正錯(cuò)誤數(shù)據(jù)。當(dāng)沒(méi)有 提供冗余時(shí),不需要奇偶校驗(yàn),那么該奇偶校驗(yàn)存儲(chǔ)區(qū)域可用來(lái)存儲(chǔ)數(shù)據(jù)。如果一個(gè)NVMD 或其一個(gè)信道或一個(gè)CE芯片保留用作備用區(qū),那么當(dāng)一個(gè)NVMD或其一個(gè)信道或一個(gè)CE芯 片發(fā)生故障時(shí),該備用區(qū)可通過(guò)第一級(jí)映射邏輯(517)將故障部分更換掉。另外,也可能存在三個(gè)更換區(qū)域。第一個(gè)執(zhí)行方案使用一個(gè)或多個(gè)NVM控制器76 作為備用區(qū)域,其中使用一個(gè)備用NVM控制器76更換發(fā)生錯(cuò)誤的NVM控制器76或重新映射 部分發(fā)生錯(cuò)誤的NVM控制器76到備用NVM控制器76。第二個(gè)執(zhí)行方案使用NVM控制器76 的一個(gè)或多個(gè)信道作為備用區(qū)域;其中使用這些信道中的一個(gè)信道替換發(fā)生錯(cuò)誤的信道或 重新映射部分發(fā)生錯(cuò)誤的信道到備用信道。第三個(gè)執(zhí)行方案使用一個(gè)或多個(gè)芯片(CE)作 為備用區(qū)域;其中使用這些芯片中的一個(gè)芯片替換發(fā)生錯(cuò)誤的芯片或重新映射部分發(fā)生錯(cuò) 誤的芯片到備用芯片。磨損平衡——圖18。圖18A-D所示為靜態(tài)磨損平衡。既可以進(jìn)行動(dòng)態(tài)磨損平衡也可以進(jìn)行靜態(tài)磨損平 衡。動(dòng)態(tài)磨損平衡由NVM控制器76來(lái)執(zhí)行,NVM控制器76將非舊數(shù)據(jù)頁(yè)面從源本區(qū)塊移 動(dòng)到陰影區(qū)塊,以至于整個(gè)源本區(qū)塊僅包含舊數(shù)據(jù)。然后舊數(shù)據(jù)源本區(qū)塊擦除并回收用作 可用的物理區(qū)塊。該操作在正常運(yùn)行期間進(jìn)行。當(dāng)新數(shù)據(jù)要求分配一個(gè)新的物理區(qū)塊時(shí), 將選擇擦除數(shù)量最低的物理區(qū)塊,或采用某種程序優(yōu)先選擇低擦除數(shù)量的物理區(qū)塊,而不 選擇較高擦除數(shù)量的物理區(qū)塊。靜態(tài)磨損平衡屬于上電時(shí)進(jìn)行的一個(gè)附加級(jí)別的磨損平衡。使用靜態(tài)磨損平衡程 序搜索擦除數(shù)量最低的物理區(qū)塊和擦除數(shù)量最大的物理區(qū)塊,并交換該兩個(gè)物理區(qū)塊。圖18A中,四個(gè)物理區(qū)塊的擦除數(shù)量都予以標(biāo)示。區(qū)塊PBA (3)的擦除數(shù)量最低,而 區(qū)塊PBA(O)的擦除數(shù)量最高,屬于磨損最嚴(yán)重的區(qū)塊。圖18B中,通過(guò)從兩個(gè)區(qū)塊讀取數(shù) 據(jù)以及將從區(qū)塊PBA(O)讀取的數(shù)據(jù)寫入?yún)^(qū)塊PBA (3)和將從區(qū)塊PBA (3)讀取的數(shù)據(jù)寫入 區(qū)塊PBA(O)的方式實(shí)現(xiàn)兩個(gè)物理區(qū)塊的交換。那些在區(qū)塊PBA(O)上迅速變化的數(shù)據(jù)已經(jīng) 移動(dòng)到磨損最小的區(qū)塊PBA(3)上,該區(qū)塊有最高的存取優(yōu)先。區(qū)塊PBA(O)包含那些經(jīng)常 變更的數(shù)據(jù),而區(qū)塊PBA(3)包含那些不常使用的代碼。通過(guò)兩個(gè)區(qū)塊的交換,區(qū)塊PBA(O)擦除數(shù)量將降低。對(duì)于磨損平衡,擦除數(shù)量最低的清空的PBA將首先使用,所以該區(qū)塊有最高的存 取優(yōu)先。區(qū)塊PBA(O)上經(jīng)常變更數(shù)據(jù)實(shí)際上是指該區(qū)塊所映射到的LBA經(jīng)常變更。區(qū)塊 PBA(O)和區(qū)塊PBA(3)之間的交換結(jié)果將把分配到這些物理區(qū)塊的LBA交換。區(qū)塊PBA(O) 留有不經(jīng)常變更的LBA。由于LBA經(jīng)常變更,區(qū)塊PBA(3)也經(jīng)常變更,并將進(jìn)行回收和重新 利用。圖18C中,隨著時(shí)間的推移,系統(tǒng)已經(jīng)再次上電。區(qū)塊PBA⑴已經(jīng)被額外擦除多 次,現(xiàn)在已經(jīng)成為擦除數(shù)量最高的磨損最嚴(yán)重的區(qū)塊。區(qū)塊PBA(2)的擦除數(shù)量最低。圖 18D中,區(qū)塊PBA⑴和區(qū)塊PBA⑵相互交換。區(qū)塊PBA⑴上迅速變更的數(shù)據(jù)已經(jīng)移動(dòng)到 磨損最低少的區(qū)塊PBA(2),現(xiàn)在該P(yáng)BA(2)區(qū)塊有最高的存取優(yōu)先。數(shù)據(jù)緩存——圖19。圖19A-C所示為混合閃存系統(tǒng)內(nèi)的數(shù)據(jù)緩存。在第一級(jí)智能存儲(chǔ)開(kāi)關(guān)30由SDRAM 60緩存數(shù)據(jù),在第二級(jí)智能存儲(chǔ)開(kāi)關(guān)30’由SDRAM 60’緩存數(shù)據(jù),以及在NVM控制器76由 另一個(gè)SDRAM緩存數(shù)據(jù)。請(qǐng)參考美國(guó)專利申請(qǐng)序列號(hào)12/252,155專利的申請(qǐng)案圖IA 了解
更多緩存信息。圖19A中,SDRAM 60作為第一級(jí)智能存儲(chǔ)開(kāi)關(guān)30的回寫緩存。主機(jī)主板10將一 個(gè)DMA輸出(寫)命令發(fā)送到第一級(jí)智能存儲(chǔ)開(kāi)關(guān)30,該智能存儲(chǔ)開(kāi)關(guān)送還DMA確認(rèn)單。 然后主機(jī)主板10將數(shù)據(jù)發(fā)送到第一級(jí)智能存儲(chǔ)開(kāi)關(guān)30,該智能存儲(chǔ)開(kāi)關(guān)將該數(shù)據(jù)存放在 SDRAM 60中。一旦主機(jī)數(shù)據(jù)存放在SDRAM 60,第一級(jí)智能存儲(chǔ)開(kāi)關(guān)30將把一個(gè)成功完成 寫入狀態(tài)信號(hào)發(fā)回到主機(jī)主板10。從主機(jī)主板10的角度看,DMA寫入完成,主機(jī)的訪問(wèn)時(shí) 間相當(dāng)短。主機(jī)數(shù)據(jù)存放到SDRAM 60內(nèi)后,第一級(jí)智能存儲(chǔ)開(kāi)關(guān)30將DMA寫入命令發(fā)送到 第二級(jí)智能存儲(chǔ)開(kāi)關(guān)30’,該第二級(jí)智能存儲(chǔ)開(kāi)關(guān)將DMA確認(rèn)單回送給第一級(jí)智能存儲(chǔ)開(kāi) 關(guān)30。然后第一級(jí)智能存儲(chǔ)開(kāi)關(guān)30將存放在SDRAM 60的數(shù)據(jù)發(fā)送出去。該數(shù)據(jù)緩存在第 二級(jí)智能存儲(chǔ)開(kāi)關(guān)30’的SDRAM 60’內(nèi)。一個(gè)成功完成寫入狀態(tài)信號(hào)將發(fā)回到第一級(jí)智能 存儲(chǔ)開(kāi)關(guān)30。第二級(jí)智能存儲(chǔ)開(kāi)關(guān)30’將DMA寫入命令發(fā)送到NVMD 412。NVM控制器送還DMA 確認(rèn)單,然后該第二級(jí)智能存儲(chǔ)開(kāi)關(guān)30’將存放在SDRAM 60’的數(shù)據(jù)發(fā)送出去。該數(shù)據(jù)緩 存在NVM控制器76內(nèi)的SDRAM緩沖器77或另外一個(gè)緩沖器中,然后寫入到閃速存儲(chǔ)器。一 旦數(shù)據(jù)寫入到閃速存儲(chǔ)器,一個(gè)成功完成寫入狀態(tài)信號(hào)將發(fā)回到第二級(jí)智能存儲(chǔ)開(kāi)關(guān)30’。 從第二級(jí)智能存儲(chǔ)開(kāi)關(guān)30’的角度看,內(nèi)部DMA寫入完成。第二級(jí)智能存儲(chǔ)開(kāi)關(guān)30’的訪 問(wèn)時(shí)間由于通寫緩存模式緣故而相當(dāng)長(zhǎng)。但是,該訪問(wèn)時(shí)間對(duì)主機(jī)主板10是隱藏的。圖19B中,SDRAM 60作為通寫緩存進(jìn)行工作,但是NVMD作為回寫緩存運(yùn)作。主機(jī) 主板10將一個(gè)DMA輸出(寫)命令發(fā)送到第一級(jí)智能存儲(chǔ)開(kāi)關(guān)30,該智能存儲(chǔ)開(kāi)關(guān)送還 DMA確認(rèn)單。然后主機(jī)主板10將數(shù)據(jù)發(fā)送到第一級(jí)智能存儲(chǔ)開(kāi)關(guān)30,該智能存儲(chǔ)開(kāi)關(guān)將該 數(shù)據(jù)存放在SDRAM 60中。主機(jī)數(shù)據(jù)存放到SDRAM 60后,第一級(jí)智能存儲(chǔ)開(kāi)關(guān)30將DMA寫入命令發(fā)送到第 二級(jí)智能存儲(chǔ)開(kāi)關(guān)30’,該第二級(jí)智能存儲(chǔ)開(kāi)關(guān)送還DMA確認(rèn)單給第一級(jí)智能存儲(chǔ)開(kāi)關(guān)30。 然后第一級(jí)智能存儲(chǔ)開(kāi)關(guān)30將存放在SDRAM 60的數(shù)據(jù)發(fā)送出去。該數(shù)據(jù)緩存在第二級(jí)智能存儲(chǔ)開(kāi)關(guān)30’的SDRAM 60’內(nèi)。但是,返回到第一級(jí)智能存儲(chǔ)開(kāi)關(guān)30的成功完成寫入狀 態(tài)信號(hào)將延遲到NVMD 412將數(shù)據(jù)寫到閃速存儲(chǔ)器后。第二級(jí)智能存儲(chǔ)開(kāi)關(guān)30’將DMA寫入命令發(fā)送到NVMD 412。NVM控制器送還DMA 確認(rèn)單,然后第二級(jí)智能存儲(chǔ)開(kāi)關(guān)30’將存放在SDRAM 60’的數(shù)據(jù)發(fā)送出去。數(shù)據(jù)緩存在 NVM控制器76的SDRAM緩沖器77 (如圖IB所示)或另外一個(gè)緩沖器中,然后寫入到閃速 存儲(chǔ)器中。一旦數(shù)據(jù)寫入到閃速存儲(chǔ)器,一個(gè)成功完成寫入狀態(tài)信號(hào)將回送到第二級(jí)智能 存儲(chǔ)開(kāi)關(guān)30’,然后到第一級(jí)智能存儲(chǔ)開(kāi)關(guān)30。從第一級(jí)智能存儲(chǔ)開(kāi)關(guān)30的角度看,內(nèi)部 DMA寫入完成。第一級(jí)智能存儲(chǔ)開(kāi)關(guān)30將一個(gè)成功完成寫入狀態(tài)信號(hào)回送到主機(jī)主板10。從主 機(jī)主板10的角度看,DMA寫入完成,主機(jī)的訪問(wèn)時(shí)間相當(dāng)長(zhǎng)。圖19C中,所有NVMD 412、第一級(jí)智能存儲(chǔ)開(kāi)關(guān)30以及第二級(jí)智能存儲(chǔ)開(kāi)關(guān)30’ 以預(yù)讀緩存功能進(jìn)行工作。主機(jī)主板10發(fā)送一個(gè)DMA輸入(讀)命令到第一級(jí)智能存儲(chǔ) 開(kāi)關(guān)30,然后等待讀出數(shù)據(jù)。當(dāng)在第一級(jí)智能存儲(chǔ)開(kāi)關(guān)30的SDRAM 60內(nèi)部發(fā)現(xiàn)讀出數(shù)據(jù),點(diǎn)中數(shù)據(jù)和點(diǎn)中狀 態(tài)可立即送回到主機(jī)10。不需要咨詢第二級(jí)智能存儲(chǔ)開(kāi)關(guān)30’和NVMD 412。但是,當(dāng)SDRAM 60內(nèi)出現(xiàn)失誤(非點(diǎn)中狀態(tài)),第一級(jí)智能存儲(chǔ)開(kāi)關(guān)30沒(méi)有在 SDRAM 60中找到緩存的讀出數(shù)據(jù)。SDRAM 60然后發(fā)送一個(gè)DMA讀命令到第二級(jí)智能存儲(chǔ) 開(kāi)關(guān)30’,該第二級(jí)智能存儲(chǔ)開(kāi)關(guān)30’也在其SDRAM 60’中出現(xiàn)失誤(非點(diǎn)中狀態(tài))。第二級(jí)智能存儲(chǔ)開(kāi)關(guān)30’然后向NVMD 412發(fā)送一個(gè)DMA讀取命令。這種情況下, NVM控制器發(fā)現(xiàn)緩存點(diǎn)中狀態(tài),然后從其緩存,即NVM控制器76內(nèi)的SDRAM緩沖器77中讀 取數(shù)據(jù)(如圖IB所示),NVM控制器76較早有讀取或?qū)懭朐摂?shù)據(jù),比如在較早讀取或?qū)懭?之后通過(guò)預(yù)讀方式讀取數(shù)據(jù)。該數(shù)據(jù)發(fā)送到第二級(jí)智能存儲(chǔ)開(kāi)關(guān)30’并存儲(chǔ)在SDRAM 60’ 內(nèi),然后發(fā)送到第一級(jí)智能存儲(chǔ)開(kāi)關(guān)30并存儲(chǔ)在SDRAM 60內(nèi),之后傳送到主機(jī)主板10。NVMD 412將一個(gè)成功完成狀態(tài)信號(hào)發(fā)送到第二級(jí)智能存儲(chǔ)開(kāi)關(guān)30’,該第二級(jí) 智能存儲(chǔ)開(kāi)關(guān)將一個(gè)成功完成狀態(tài)信號(hào)發(fā)送到第一級(jí)智能存儲(chǔ)開(kāi)關(guān)30。從智能存儲(chǔ)開(kāi)關(guān) (30,30')的角度看,內(nèi)部DMA讀取完成。第一級(jí)智能存儲(chǔ)開(kāi)關(guān)30將發(fā)送一個(gè)成功完成狀 態(tài)信號(hào)到主機(jī)主板10。從主機(jī)主板10的角度看,DMA讀出完成。主機(jī)讀取時(shí)間相當(dāng)長(zhǎng),但 是與如果必須讀取閃速存儲(chǔ)器的狀況來(lái)比較,則仍是短的。替代實(shí)施例發(fā)明者們預(yù)計(jì)存在其它幾種實(shí)施例。例如,NVMD 412可為以下其中一個(gè)設(shè)有混 合SLC和MLC閃速存儲(chǔ)器的區(qū)塊模式映射器,設(shè)有SLC或MLC的區(qū)塊模式映射器,設(shè)有混合 SLC和MLC閃速存儲(chǔ)器的頁(yè)面模式映射器以及設(shè)有SLC或MLC的頁(yè)面模式映射器。作為選 擇方案之一,閃存模塊110中的NVMD 412可包括未加工閃速存儲(chǔ)器芯片。閃存模塊內(nèi)的 NVMD 412以及智能存儲(chǔ)開(kāi)關(guān)30可包括未加工閃速存儲(chǔ)器芯片和閃存控制器,如美國(guó)序列 號(hào)12/252,155的專利申請(qǐng)案圖3A-C所示。每個(gè)區(qū)塊可分成多個(gè)頁(yè)面分區(qū)。例如,一個(gè)區(qū)塊可有16個(gè)頁(yè)面和4個(gè)分區(qū),每個(gè) 分區(qū)有4個(gè)頁(yè)面。該替代實(shí)施例中,某些映射是指向分區(qū)而不是單獨(dú)頁(yè)面。作為選擇方案 之一,特殊情況下,每個(gè)分區(qū)可以是1個(gè)頁(yè)面。分區(qū)模式所需的映射入口比頁(yè)面模式所需的 入口少,這是因?yàn)橥ǔC總€(gè)分區(qū)都是多個(gè)頁(yè)面。
來(lái)自主機(jī)邏輯扇區(qū)地址(LSA)的高位元可選擇一串或一個(gè)區(qū)。一個(gè)映射表中所有 入口可用于相同的區(qū)。當(dāng)來(lái)自LSA的區(qū)碼與映射表中的所有入口區(qū)碼吻合時(shí),來(lái)自于LSA 的LBA將選擇映射表中的一個(gè)入口。另外也可以使用混合映射表。由于MLC閃存的相繼寫入規(guī)則在頁(yè)面模式下比在區(qū)塊模式下較少被違反,因此在 頁(yè)面映射下重新定位的區(qū)塊復(fù)制就很少出現(xiàn)。這就提升了閃存系統(tǒng)的耐久性和性能。映射表可在一個(gè)延展的地址空間內(nèi)進(jìn)行定位,也可以使用比用戶地址空間內(nèi)最大 地址還要大的虛擬地址或非法地址。頁(yè)面可按照主機(jī)頁(yè)面順序排列,也可以根據(jù)任何頁(yè)面 位置進(jìn)行重新映射。也可以使用其它編碼方式。可能會(huì)出現(xiàn)圖IA-B或其它方面的諸多變種。一個(gè)ROM,比如EEPR0M,就可以連接 到虛擬存儲(chǔ)處理器140或成為其一組成部分,或者另外一個(gè)虛擬存儲(chǔ)橋42和NVM控制器76 將虛擬存儲(chǔ)處理器140連接到另外一個(gè)未加工NAND閃速存儲(chǔ)器芯片或連接到專門用作虛 擬存儲(chǔ)處理器140存儲(chǔ)固件的NVM閃速存儲(chǔ)器68。該固件也可以存儲(chǔ)在主要的閃存模塊 內(nèi)。主機(jī)存儲(chǔ)總線18可以是串行附屬裝置(SATA)總線、外設(shè)部件互連標(biāo)準(zhǔn)(PCIE)總線、 壓縮閃存(CF)總線或串行總線(USB)、IEEE1394法爾接口總線、光纖信道(FC)總線等等。 LBA存儲(chǔ)總線接口 28可以是串行附屬裝置(SATA)總線、集成設(shè)備電子部件(IDE)總線、外 設(shè)部件互連標(biāo)準(zhǔn)(PCIE)總線、壓縮閃存(CF)總線或串行總線(USB)、安全數(shù)字(SD)總線、 多媒體卡(MMC)總線、IEEE1394法爾接口總線、光纖信道(FC)總線以及各種以太網(wǎng)總線等 等。NVM存儲(chǔ)器68可能僅為SLC或MLC閃存或可為混合式SLC和MLC閃存。NVM控制器76 內(nèi)的映射器46可對(duì)一部分SLC或MLC閃速存儲(chǔ)器執(zhí)行一層區(qū)塊映射,對(duì)剩下的SLC或MLC 閃速存儲(chǔ)器則可能執(zhí)行兩層頁(yè)面映射。閃速存儲(chǔ)器可嵌入到主板或SSD板或可以嵌入到不同的模塊上??梢约尤腚娙?、 緩沖器、電阻以及其它元件。智能存儲(chǔ)開(kāi)關(guān)30可集成到主板或一個(gè)單獨(dú)的線路板或模塊 上。NVM控制器76可與智能存儲(chǔ)開(kāi)關(guān)30或未加工NAND閃速存儲(chǔ)器芯片集成為一個(gè)單芯片 裝置或一個(gè)插入式模塊或線路板。SDRAM 60可直接焊接到卡300或其它線路板,或一個(gè)可 拆卸式SDRAM模塊可插入到一個(gè)模塊插座。使用多層控制器,如總統(tǒng)-管理者的兩層控制器,智能存儲(chǔ)開(kāi)關(guān)30內(nèi)的控制器在 磨損平衡、壞塊管理、重新映射、緩存、電源管理等要求上,就比單層控制器簡(jiǎn)單的多。由于 NVM控制器76在每個(gè)閃存模塊內(nèi)的閃速存儲(chǔ)器芯片68之間執(zhí)行較低級(jí)管理者功能,所以智 能存儲(chǔ)開(kāi)關(guān)30的較高層總統(tǒng)功能就得以簡(jiǎn)化。智能存儲(chǔ)開(kāi)關(guān)30內(nèi)可以使用便宜的硬件, 如虛擬存儲(chǔ)處理器140或智能存儲(chǔ)事務(wù)管理器36使用一個(gè)8051處理器,而不是使用比較 昂貴的處理器核心,如高級(jí)RISC Machine ARM-9 CPU核心。不同數(shù)量和布置的閃存存儲(chǔ)區(qū)塊能夠連接到智能存儲(chǔ)開(kāi)關(guān)??梢圆皇褂肔BA存儲(chǔ) 總線接口 28或差動(dòng)串行包總線,而使用其它串行總線,如同步雙倍數(shù)據(jù)速率(DDR)總線、 0NFI、點(diǎn)動(dòng)(Toggle)NAND、差動(dòng)串行數(shù)據(jù)包總線、傳統(tǒng)閃存界面等等。模式邏輯可以只在上電時(shí)偵測(cè)引腳的狀態(tài),而不是偵測(cè)專用引腳的狀態(tài)??梢杂?多個(gè)引腳狀態(tài)的某一組合或序列來(lái)啟動(dòng)模式變更,或者內(nèi)部寄存器(如配置寄存器)可以 設(shè)置模式。多總線協(xié)議芯片可以具有額外的個(gè)性化引腳來(lái)選擇要使用哪一個(gè)串行總線界 面,或者可設(shè)有可編程寄存器,將模式設(shè)為集線器模式或開(kāi)關(guān)模式。事務(wù)管理器和其控制器以及功能可以不同方式執(zhí)行。可由一個(gè)CPU或其它處理器來(lái)編程和執(zhí)行功能,也可以使用專門硬件、固件或它們的某些混合執(zhí)行功能。功能多數(shù)分區(qū) 可以被替換。智能存儲(chǔ)開(kāi)關(guān)30可以是硬件也可以包括固件或軟件或它們的組合。通過(guò)使用多個(gè)NVM控制器76的奇偶校驗(yàn)/ECC功能以及將數(shù)據(jù)段分配到多個(gè)NVM 區(qū)塊中的方式,大大地提高整個(gè)系統(tǒng)的可靠性。但是,這可能要使用帶DDR/SDRAM緩存的 CPU引擎,以滿足復(fù)雜ECC/奇偶校驗(yàn)計(jì)算和生成所需的計(jì)算能力要求。另外一個(gè)優(yōu)點(diǎn)是,即 使閃存區(qū)塊或閃存模塊被損壞,數(shù)據(jù)可以恢復(fù),或者智能存儲(chǔ)開(kāi)關(guān)可啟動(dòng)“錯(cuò)誤恢復(fù)”或“自 動(dòng)重建”過(guò)程,插入新閃存模塊以及恢復(fù)或重建“丟失”或“損壞”的數(shù)據(jù)。整個(gè)系統(tǒng)的容錯(cuò) 性能得到大大的提高??蓳Q用較寬或較窄的數(shù)據(jù)總線和閃速存儲(chǔ)器芯片,如使用16位元或32位元數(shù)據(jù) 信道??稍谥悄艽鎯?chǔ)開(kāi)關(guān)內(nèi)外部使用備選的總線體系結(jié)構(gòu),如帶嵌套的或分段式總線。智 能存儲(chǔ)開(kāi)關(guān)中可使用兩個(gè)或兩個(gè)以上的內(nèi)部總線,從而提高數(shù)據(jù)吞吐量。內(nèi)外部總線可用 更復(fù)雜的開(kāi)關(guān)結(jié)構(gòu)取代。數(shù)據(jù)分割可用不同的方式來(lái)進(jìn)行,如同奇偶校驗(yàn)和錯(cuò)誤糾正代碼(ECC) —樣。包 的重新排序可根據(jù)用來(lái)防止重新排列重疊的存儲(chǔ)器位置的數(shù)據(jù)布置來(lái)進(jìn)行調(diào)整。智能開(kāi)關(guān) 可與其它元件集成,也可以設(shè)置為單獨(dú)芯片。可加入額外的流水線寄存器或臨時(shí)緩沖器和FIFO。例如,智能存儲(chǔ)開(kāi)關(guān)30內(nèi)的主 機(jī)FIFO可為智能存儲(chǔ)事務(wù)管理器36的部分,或存儲(chǔ)在SDRAM60內(nèi)。每個(gè)信道可設(shè)置單獨(dú) 的頁(yè)面緩沖器??杉尤霑r(shí)鐘源。單個(gè)包裝、單個(gè)芯片或單個(gè)多芯片包裝可能包含一個(gè)或多個(gè)閃速存儲(chǔ)器和/或智 能存儲(chǔ)開(kāi)關(guān)的多個(gè)信道。一個(gè)基于MLC的閃存模塊可能有四個(gè)設(shè)有兩個(gè)平行數(shù)據(jù)信道的MLC閃存芯片,但 是可用不同的組合構(gòu)成其它閃存模塊,如四個(gè)、八個(gè)或更多數(shù)據(jù)信道、或八個(gè)、十六個(gè)或更 多MLC芯片。閃存模塊和信道可以鏈條、枝狀或陣列方式進(jìn)行布置。例如,4個(gè)閃存模塊的 一個(gè)分支可以鏈條形式連接到智能存儲(chǔ)開(kāi)關(guān)30。其它大小組合或分隔方案可用于存儲(chǔ)器的 不同存取??墒褂瞄W速存儲(chǔ)器、變相存儲(chǔ)器(PCM)或鐵電體隨機(jī)存取存儲(chǔ)器(FRAM)、磁阻 隨機(jī)存取存儲(chǔ)器(MRAM)、記憶電阻器(Memristor)、變相隨機(jī)存取存儲(chǔ)器(PRAM)、氮化膜阱 (SONOS)閃速存儲(chǔ)器、電阻式隨機(jī)存取存儲(chǔ)器(RRAM)、賽道存儲(chǔ)器(Racetrack Memory)以 及納米隨機(jī)存取存儲(chǔ)器(NRAM)。主機(jī)可以是個(gè)人電腦主板或其它個(gè)人電腦平臺(tái)、移動(dòng)通信裝置、個(gè)人數(shù)字助理 (PDA)、數(shù)碼相機(jī)、組合裝置或其它裝置。主機(jī)總線或主機(jī)-裝置界面可以是SATA、PCIE、SD、 USB或其它主機(jī)總線,而連接到閃存模塊的內(nèi)部總線可以是PATA、使用多個(gè)SD/MMC的多信 道SSD、壓縮閃存(CF)、USB或其它并聯(lián)界面。閃存模塊可以是標(biāo)準(zhǔn)的PCB也可以是多芯片 組件包裝在130 、86々、11^、0 、?1 、31 丄3 、?0 封裝或多芯片封裝(MCP)內(nèi),并且可包 括未加工NAND閃速存儲(chǔ)器芯片或者未加工NAND閃速存儲(chǔ)器芯片可以是分開(kāi)的閃存芯片、 或包括其它類型的NVM閃速存儲(chǔ)器68。內(nèi)部總線可全部或部分共享或設(shè)成分開(kāi)的總線。SSD 系統(tǒng)可使用裝有其它元件如LED指示器、電容、電阻等的電路板。諸如“上部”,“下部”、“上”、“下”、“頂部”、“底部”等方向詞是相對(duì),可隨著系統(tǒng)或 數(shù)據(jù)的旋轉(zhuǎn)、翻轉(zhuǎn)等發(fā)生變化。這些詞語(yǔ)對(duì)裝置的描述非常有用,但是不是絕對(duì)的。NVM閃速存儲(chǔ)器68可設(shè)置在閃 模塊上,閃存模塊可設(shè)有封裝控制器和閃存裸片
32的單芯片封裝,單芯片封裝既可以集成到PCB組裝上也可以直接的集成到主板上,從而進(jìn) 一步簡(jiǎn)化裝配,降低生產(chǎn)成本和減少整個(gè)厚度。閃存芯片也可以與其它實(shí)施例一起使用,包 括框架開(kāi)放式卡。智能存儲(chǔ)開(kāi)關(guān)30除了僅用于閃速存儲(chǔ)器的存儲(chǔ)功能外,可以加入其它功能特點(diǎn)。 例如,音樂(lè)播放器可以包括播放存儲(chǔ)在閃速存儲(chǔ)器內(nèi)的MP3音頻數(shù)據(jù)的控制器??稍谘b置 上加入音頻插孔,用戶可將耳機(jī)插入享受音樂(lè)。可以在裝置上加入無(wú)線發(fā)射機(jī),如藍(lán)牙發(fā)射 機(jī),從而將裝置與無(wú)線耳機(jī)連接而不需使用音頻插孔。也可以添加如用于IrDA的紅外發(fā)射 機(jī)。另外,也可以添加與無(wú)線鼠標(biāo)、PDA,鍵盤、打印機(jī)、數(shù)碼相機(jī)、MP3播放器或其它無(wú)線裝置 連接的藍(lán)牙收發(fā)器。藍(lán)牙收發(fā)器可用作主要連接頭取代一般連接頭。藍(lán)牙適配器可設(shè)有一 個(gè)連接頭、一個(gè)射頻(RF)收發(fā)器、一個(gè)基帶控制器、一個(gè)天線、一個(gè)閃速存儲(chǔ)器(EEPROM)、 一個(gè)電壓調(diào)節(jié)器、一個(gè)晶體、一個(gè)LED (發(fā)光二極管)、幾個(gè)電阻、電容和感應(yīng)器。這些元件可 在封裝到一個(gè)塑料或金屬箱之前安裝到PCB上。發(fā)明背景章節(jié)可以包含關(guān)于發(fā)明問(wèn)題或環(huán)境的背景信息,而不是僅描述他人的先 有技術(shù)。因此,在背景章節(jié)內(nèi)加入的資料并不能視為專利申請(qǐng)人的承認(rèn)其先有技術(shù)。本申請(qǐng)案中描述的任何方法或工藝是由機(jī)械或電腦執(zhí)行的方法或工藝,將由機(jī) 器、電腦或其它設(shè)備來(lái)執(zhí)行,而不能單獨(dú)地由人在沒(méi)有這些機(jī)械裝置的協(xié)助下執(zhí)行。所生成 的有形結(jié)果可包含報(bào)告或其它機(jī)械生成的在顯示器上顯示的信息,如電腦顯示器、投影裝 置、音頻生成裝置以及相關(guān)媒體裝置,也可包括機(jī)械生成的硬拷貝打印資料。其它機(jī)器的電 腦控制也算是另一個(gè)有形結(jié)果。所述的優(yōu)勢(shì)和優(yōu)點(diǎn)可能不實(shí)用于發(fā)明的所有實(shí)施例。當(dāng)“構(gòu)件” 一詞在專利范圍 的每一項(xiàng)元件內(nèi)引用時(shí),表明專利申請(qǐng)人想要將專利范圍的每一項(xiàng)元件歸到《美國(guó)專利法》 35U.S.C. §112第6款。通常有一個(gè)包含一個(gè)或多個(gè)詞的標(biāo)簽在“構(gòu)件”一詞的前面。置于 “構(gòu)件” 一詞前面的一個(gè)或多個(gè)詞是一個(gè)標(biāo)簽,用于方便參考專利范圍的每一項(xiàng)元件而不是 傳達(dá)結(jié)構(gòu)限制。這種構(gòu)件+功能的權(quán)利主張不但涵蓋本文件所述的執(zhí)行功能的結(jié)構(gòu)和結(jié)構(gòu) 等價(jià)物,并且進(jìn)一步包括其它等效結(jié)構(gòu)。例如,雖然釘子和螺絲的結(jié)構(gòu)不同,但是它們是等 效的結(jié)構(gòu),因?yàn)樗鼈兌季哂芯o固功能。那些不使用“構(gòu)件” 一詞的權(quán)利主張表明不歸到《美 國(guó)專利法》35U.S.C. §112第6款。信號(hào)一般是指電子信號(hào),但是也可以是光信號(hào),如可通 過(guò)光纖線路傳送的信號(hào)。前述發(fā)明實(shí)施例的目的是為了說(shuō)明和描述本發(fā)明。本專利申請(qǐng)案不是完全無(wú)遺漏 的描述本發(fā)明或?qū)⒈景l(fā)明限制于所披露的精確形式。從上文的描述中,可以學(xué)會(huì)對(duì)本發(fā)明 進(jìn)行許多改裝和更改。本發(fā)明范圍應(yīng)認(rèn)不受本專利申請(qǐng)案的具體描述限制,而是受本專利 申請(qǐng)案所附專利權(quán)利主張的限制。以上所述僅為本發(fā)明的較佳實(shí)施例而已,并不用以限制本發(fā)明,凡在本發(fā)明的精 神和原則之內(nèi)所作的任何修改、等同替換和改進(jìn)等,均應(yīng)包含在本發(fā)明的保護(hù)范圍之內(nèi)。
權(quán)利要求
一種兩層閃存裝置,其特征在于,包括智能存儲(chǔ)開(kāi)關(guān),所述智能存儲(chǔ)開(kāi)關(guān)包括連接到主機(jī)的上游接口,用于接收主機(jī)命令、主機(jī)數(shù)據(jù)和主機(jī)地址,所述主機(jī)命令用于訪問(wèn)非易失性存儲(chǔ)器NVM;管理管理來(lái)自主機(jī)的事務(wù)的智能存儲(chǔ)事務(wù)管理器;將主機(jī)地址映射到指定閃存信道上生成邏輯塊地址LBA的虛擬存儲(chǔ)處理器,所述虛擬存儲(chǔ)處理器執(zhí)行高級(jí)映射;與所述虛擬存儲(chǔ)處理器連接的高級(jí)分割映射器,存儲(chǔ)有用于每個(gè)閃存信道的分段數(shù)據(jù)容量和散列數(shù)據(jù)容量,所有閃存信道的分段數(shù)據(jù)容量數(shù)值相等,閃存信道之間的散列數(shù)據(jù)容量存在數(shù)值差別;通過(guò)LBA總線連接在智能存儲(chǔ)事務(wù)管理器和NVM控制器之間的虛擬存儲(chǔ)橋;所述兩層閃存裝置還包括多個(gè)NVM控制器,所述NVM控制器與LBA總線連接,接收虛擬存儲(chǔ)處理器生成的LBA以及來(lái)自虛擬存儲(chǔ)橋的主機(jī)數(shù)據(jù);安裝在NVM控制器內(nèi)的低級(jí)映射器,將LBA映射到物理塊地址PBA,低級(jí)映射器生成塊映射的主機(jī)數(shù)據(jù)的PBA以及頁(yè)映射的主機(jī)數(shù)據(jù)的PBA和頁(yè)碼;以及包括指定閃存信道在內(nèi)的多個(gè)閃存信道,所述閃存信道包括與NVM控制器連接的NVM閃速存儲(chǔ)器,用于將主機(jī)數(shù)據(jù)存儲(chǔ)至所述NVM控制器內(nèi)的低級(jí)映射器生成的PBA識(shí)別的塊位置上以及頁(yè)映射的主機(jī)數(shù)據(jù)的頁(yè)碼識(shí)別的頁(yè)面位置上。
2.如權(quán)利要求1所述的裝置,其特征在于,所述高級(jí)分割映射器進(jìn)一步包括上電起動(dòng)的刪減過(guò)程,用來(lái)決定多個(gè)閃存信道中的NVM閃速存儲(chǔ)器的選定的大小以及 刪減所有閃存信道設(shè)置為選定的大小。
3.如權(quán)利要求1所述的裝置,其特征在于,所述低級(jí)映射器進(jìn)一步包括 映射由NVM控制器控制的NVM閃速存儲(chǔ)器內(nèi)壞塊位置的壞塊表;所述NVM控制器將減去壞塊表定位的壞塊容量后剩余的可用存儲(chǔ)容量報(bào)告給智能存 儲(chǔ)開(kāi)關(guān)。
4.如權(quán)利要求1所述的裝置,其特征在于,所述LBA總線包括串行附屬裝置總線 (SATA)、串行小型計(jì)算機(jī)系統(tǒng)界面總線SCSI或SAS、光纖信道總線FC、輸入/輸出新技術(shù)總 線、集成設(shè)備電子部件總線IDE、外設(shè)部件互連標(biāo)準(zhǔn)總線PCIE、壓縮閃存總線CF或串行總線 USB、安全數(shù)字總線SD、多媒體卡總線MMC、或LBA總線協(xié)議用于傳動(dòng)讀寫命令、帶扇區(qū)偏移 量的開(kāi)始頁(yè)面地址以及扇區(qū)數(shù)量。
5.如權(quán)利要求1所述的裝置,其特征在于,所述NVM控制器進(jìn)一步包括糾錯(cuò)碼ECC單元,將頁(yè)糾錯(cuò)碼添加至發(fā)送到多個(gè)閃存信道內(nèi)指定閃存信道的主機(jī)數(shù)據(jù) 上,用于存儲(chǔ)在NVM閃速存儲(chǔ)器內(nèi);位于智能存儲(chǔ)開(kāi)關(guān)內(nèi)的高級(jí)糾錯(cuò)碼單元,用于從高級(jí)分割映射器生成的主機(jī)數(shù)據(jù)的一 個(gè)分段中生成分段糾錯(cuò)碼;所述分段糾錯(cuò)碼將發(fā)送到多個(gè)閃存信道中的一個(gè)分段閃存信道用于存儲(chǔ)在NVM閃速 存儲(chǔ)器內(nèi),以生成和存儲(chǔ)分段糾錯(cuò)碼以及頁(yè)糾錯(cuò)碼。
6.如權(quán)利要求5所述的裝置,其特征在于,位于NVM控制器中的低級(jí)映射器是物理到邏 輯的映射,用于將邏輯塊地址存儲(chǔ)至指示物理塊地址的位置。2
7.如權(quán)利要求6所述的裝置,其特征在于,位于NVM控制器中的低級(jí)映射器進(jìn)一步包括一個(gè)指示區(qū)塊屬于源本區(qū)塊、第一陰影區(qū)塊或第二陰影區(qū)塊的屬性表; 其中,在將源本區(qū)塊擦除和回收利用前,將源本區(qū)塊上的新數(shù)據(jù)復(fù)制到第二陰影區(qū)塊上。
8.如權(quán)利要求1所述的裝置,其特征在于,所述裝置進(jìn)一步包括結(jié)束命令旗標(biāo),在主機(jī)數(shù)據(jù)存儲(chǔ)后存放在NVM閃速存儲(chǔ)器的一個(gè)頁(yè)面上,所述結(jié)束命 令旗標(biāo)用于指示主機(jī)命令的結(jié)束數(shù)據(jù);讀取搜索器,用于讀取區(qū)塊搜索結(jié)束命令旗標(biāo)來(lái)定位新的數(shù)據(jù)。
9.一種三層閃存裝置,其特征在于,包括高級(jí)智能存儲(chǔ)開(kāi)關(guān),所述高級(jí)智能存儲(chǔ)開(kāi)關(guān)包括連接到主機(jī)的上游接口,用來(lái)接收主機(jī)命令、主機(jī)數(shù)據(jù)和主機(jī)地址,所述主機(jī)命令用于 訪問(wèn)非易失性存儲(chǔ)器;管理來(lái)自主機(jī)的事務(wù)的高級(jí)智能存儲(chǔ)事務(wù)管理器;將主機(jī)地址映射到指定閃存信道上從而生成邏輯塊地址LBA的虛擬存儲(chǔ)處理器,所述 虛擬存儲(chǔ)處理器執(zhí)行高級(jí)映射;與所述虛擬存儲(chǔ)處理器連接的高級(jí)分割映射器,存儲(chǔ)有用于每個(gè)閃存信道的分段數(shù)據(jù) 容量和散列數(shù)據(jù)容量,所有閃存信道的分段數(shù)據(jù)容量數(shù)值相等,閃存信道之間的散列數(shù)據(jù) 容量存在數(shù)值差別;連接在智能存儲(chǔ)事務(wù)管理器和LBA總線之間的虛擬存儲(chǔ)橋; 所述三層閃存裝置還包括第二級(jí)智能存儲(chǔ)開(kāi)關(guān),所述第二級(jí)智能存儲(chǔ)開(kāi)關(guān)包括 連接到高級(jí)智能存儲(chǔ)開(kāi)關(guān)的第二上游接口,用于接收訪問(wèn)NVM存儲(chǔ)器的命令以及接收 來(lái)自高級(jí)智能存儲(chǔ)開(kāi)關(guān)的數(shù)據(jù)和地址;管理來(lái)自NVM裝置的事務(wù)的第二級(jí)智能存儲(chǔ)事務(wù)管理器;將地址從高級(jí)智能存儲(chǔ)開(kāi)關(guān)映射到指定閃存信道上從而生成本地邏輯塊地址的信道 存儲(chǔ)處理器,所述信道存儲(chǔ)處理器執(zhí)行映射功能到附在第二級(jí)智能存儲(chǔ)開(kāi)關(guān)上的多個(gè)NVM 裝置;與所述信道存儲(chǔ)處理器連接的第二級(jí)映射器、存儲(chǔ)有用于每個(gè)閃存信道的所有NVM裝 置的物理容量和交換容量,所有NVM裝置的物理容量存在不同數(shù)量的壞塊,閃存信道之間 的交換容量也存在數(shù)量差別; 所述三層閃存裝置還包括多個(gè)NVM控制器,每個(gè)NVM控制器與LBA總線相連接,接收信道存儲(chǔ)處理器生成的邏輯 塊地址以及來(lái)自于第二級(jí)智能存儲(chǔ)開(kāi)關(guān)的數(shù)據(jù);安裝在NVM控制器內(nèi)的低級(jí)映射器,將邏輯塊地址映射到物理塊地址,低級(jí)映射器生 成塊映射的主機(jī)數(shù)據(jù)的物理塊地址以及頁(yè)映射的主機(jī)數(shù)據(jù)的物理塊地址和頁(yè)碼; 以及包括指定閃存信道在內(nèi)的多個(gè)閃存信道,每個(gè)閃存信道包括 與NVM控制器連接的NVM閃速存儲(chǔ)器,用來(lái)將主機(jī)數(shù)據(jù)存儲(chǔ)至所述NVM控制器內(nèi)的低 級(jí)映射器生成的物理塊地址識(shí)別的塊位置上以及頁(yè)映射的主機(jī)數(shù)據(jù)的頁(yè)碼識(shí)別的頁(yè)面位 置上。其中,第二級(jí)智能存儲(chǔ)開(kāi)關(guān)作為多個(gè)信道,每次多個(gè)閃存信道同時(shí)存取存儲(chǔ)在多個(gè)閃 存信道內(nèi)的分段數(shù)據(jù);其中,第二級(jí)智能存儲(chǔ)開(kāi)關(guān)作為單個(gè)信道,每次一個(gè)閃存信道存取存儲(chǔ)在多個(gè)閃存信 道內(nèi)的散列數(shù)據(jù);因此,散列數(shù)據(jù)以單信道存取方式進(jìn)行存取,而分段數(shù)據(jù)使用多個(gè)信道同時(shí)存取方式 進(jìn)行存取。
10.如權(quán)利要求9所述的裝置,其特征在于,所述第二級(jí)映射器進(jìn)一步包括上電起動(dòng)的刪減過(guò)程,用來(lái)決定NVM閃速存儲(chǔ)器的選定大小以及刪減所有NVM閃速存 儲(chǔ)器設(shè)置為選定的大小。
11.如權(quán)利要求9所述的裝置,其特征在于,所述高級(jí)分割映射器進(jìn)一步包括上電起動(dòng)的刪減過(guò)程,用來(lái)決定閃存信道的選定的大小以及刪減所有閃存信道設(shè)置為 選定的大小。
12.如權(quán)利要求9所述的裝置,其特征在于,所述第二級(jí)智能存儲(chǔ)開(kāi)關(guān)進(jìn)一步包括 信道糾錯(cuò)碼ECC單元,用于生成ECC,并將ECC發(fā)送到與指定NVM控制器連接的指定NVM閃速存儲(chǔ)器上;其中,指定NVM閃速存儲(chǔ)器采用對(duì)角分布方式;漢明碼糾錯(cuò)單元,位于第二級(jí)智能存儲(chǔ)開(kāi)關(guān)內(nèi),使用漢明碼ECC電路在從NVM閃速存儲(chǔ) 器回讀數(shù)據(jù)上檢測(cè)兩位元錯(cuò)誤以及糾正一位元錯(cuò)誤;其中,ECC將發(fā)送到一個(gè)冗余信道用于存儲(chǔ)在NVM閃速存儲(chǔ)器內(nèi),以生成和存儲(chǔ)分段ECC。
13.如權(quán)利要求9所述的裝置,其特征在于,所述高級(jí)智能存儲(chǔ)開(kāi)關(guān)進(jìn)一步包括 將信道ECC附加到發(fā)送到指定閃存信道的數(shù)據(jù)上的高級(jí)糾錯(cuò)碼ECC單元,其中信道ECC存儲(chǔ)在NVM閃速存儲(chǔ)器內(nèi);其中,存儲(chǔ)信道ECC的指定閃存信道采用對(duì)角分布方式;漢明碼ECC單元,位于高級(jí)智能存儲(chǔ)開(kāi)關(guān)內(nèi),從主機(jī)數(shù)據(jù)的分段上生成分段ECC ;其中, 分段是由高級(jí)分割映射器生成的;其中,分段ECC將發(fā)送到一個(gè)分段信道用于存儲(chǔ)在NVM閃速存儲(chǔ)器內(nèi),以生成和存儲(chǔ)分 段ECC以及頁(yè)面ECC。
14.如權(quán)利要求9所述的裝置,其特征在于,所述高級(jí)智能存儲(chǔ)事務(wù)管理器進(jìn)一步包括交錯(cuò)單元,與虛擬存儲(chǔ)橋相連接,將主機(jī)數(shù)據(jù)交錯(cuò)到附在NVM閃速存儲(chǔ)器上的多個(gè)閃 存信道的多個(gè)交錯(cuò)位置內(nèi),以多個(gè)交錯(cuò)位置方式存取多個(gè)閃存信道。
15.如權(quán)利要求9所述的裝置,其特征在于,所述第二級(jí)智能存儲(chǔ)事務(wù)管理器進(jìn)一步包括交錯(cuò)單元,連接到第二級(jí)智能存儲(chǔ)開(kāi)關(guān)的虛擬存儲(chǔ)橋,將分段數(shù)據(jù)交錯(cuò)到附在NVM閃 速存儲(chǔ)器上的多個(gè)閃存信道的多個(gè)交錯(cuò)位置內(nèi),以多個(gè)交錯(cuò)位置方式存取多個(gè)NVM控制
16.如權(quán)利要求9所述的裝置,其特征在于,所述高級(jí)智能存儲(chǔ)事務(wù)管理器進(jìn)一步包括多信道平行存取單元,與虛擬存儲(chǔ)橋相連接,將主機(jī)數(shù)據(jù)平行存取到附在多個(gè)第二級(jí) 智能存儲(chǔ)開(kāi)關(guān)上的多個(gè)信道內(nèi),以平行方式存取多個(gè)第二級(jí)智能存儲(chǔ)開(kāi)關(guān)。
17.如權(quán)利要求9所述的裝置,其特征在于,所述第二級(jí)智能存儲(chǔ)事務(wù)管理器進(jìn)一步包括多信道平行存取單元,與第二級(jí)智能存儲(chǔ)開(kāi)關(guān)的虛擬存儲(chǔ)橋相連接,將分段數(shù)據(jù)平行 存取到多個(gè)NVM控制器內(nèi),以平行方式存取多個(gè)NVM控制器。
18.如權(quán)利要求9所述的裝置,其特征在于,所述高級(jí)智能存儲(chǔ)開(kāi)關(guān)進(jìn)一步包括 用來(lái)暫時(shí)存儲(chǔ)主機(jī)數(shù)據(jù)在當(dāng)斷電時(shí)會(huì)丟失數(shù)據(jù)的易失性存儲(chǔ)器緩沖器;緩存電路,由易失性存儲(chǔ)器緩沖器執(zhí)行,用于存儲(chǔ)來(lái)自于上游接口的相關(guān)緩沖數(shù)據(jù),緩 存電路用于事務(wù)數(shù)據(jù)的緩存;其中,第二級(jí)智能存儲(chǔ)開(kāi)關(guān)進(jìn)一步包括 緩存多個(gè)NVM控制器的數(shù)據(jù)的第二級(jí)緩存構(gòu)件; 其中,NVM控制器進(jìn)一步包括 緩存NVM閃速存儲(chǔ)器的數(shù)據(jù)的低級(jí)緩存構(gòu)件。
19.一種智能存儲(chǔ)開(kāi)關(guān)的兩層控制器,其特征在于,包括智能存儲(chǔ)開(kāi)關(guān),所述智能存儲(chǔ) 開(kāi)關(guān)包括連接到主機(jī)的上游接口,用于接收主機(jī)命令、主機(jī)數(shù)據(jù)和主機(jī)地址,所述主機(jī)命令用于 訪問(wèn)非易失性存儲(chǔ)器;管理來(lái)自主機(jī)的事務(wù)的智能存儲(chǔ)事務(wù)管理器;將主機(jī)地址映射到指定閃存信道上生成邏輯塊地址LBA的虛擬存儲(chǔ)處理器,所述虛擬 存儲(chǔ)處理器執(zhí)行高級(jí)映射;與所述虛擬存儲(chǔ)處理器連接的第一級(jí)分割映射器,存儲(chǔ)有用于每個(gè)閃存信道的分段數(shù) 據(jù)容量和散列數(shù)據(jù)容量,所有閃存信道的分段數(shù)據(jù)容量數(shù)值相等,閃存信道之間的散列數(shù) 據(jù)容量存在數(shù)值差別;通過(guò)LBA總線連接在智能存儲(chǔ)事務(wù)管理器和NVM控制器之間的虛擬存儲(chǔ)橋; 所述兩層控制器還包括NVM控制器,與LBA總線連接,接收虛擬存儲(chǔ)處理器生成的LBA以及來(lái)自于虛擬存儲(chǔ)橋 的主機(jī)數(shù)據(jù);安裝在NVM控制器內(nèi)的低級(jí)映射器,將LBA映射到物理塊地址PBA,低級(jí)映射器生成塊 映射的主機(jī)數(shù)據(jù)的PBA以及頁(yè)映射的主機(jī)數(shù)據(jù)的PBA和頁(yè)碼。
20.一種智能存儲(chǔ)開(kāi)關(guān),其特征在于,包括連接到主機(jī)的上游接口,用于接收主機(jī)命令、主機(jī)數(shù)據(jù)和主機(jī)地址,所述主機(jī)命令用于 訪問(wèn)非易失性存儲(chǔ)器;管理來(lái)自主機(jī)的事務(wù)的智能存儲(chǔ)事務(wù)管理器;將主機(jī)地址映射到指定閃存信道上生成邏輯塊地址LBA的虛擬存儲(chǔ)處理器,所述虛擬 存儲(chǔ)處理器執(zhí)行高級(jí)映射;與所述虛擬存儲(chǔ)處理器連接的第一級(jí)分割映射器,存儲(chǔ)有用于每個(gè)閃存信道的分段數(shù) 據(jù)容量和散列數(shù)據(jù)容量,所有閃存信道的分段數(shù)據(jù)容量數(shù)值相等,閃存信道之間的散列數(shù) 據(jù)容量存在數(shù)值差別;通過(guò)LBA總線連接在智能存儲(chǔ)事務(wù)管理器和NVM控制器之間的虛擬存儲(chǔ)橋。
21.一種智能存儲(chǔ)開(kāi)關(guān)的三層控制器,其特征在于,包括第一級(jí)智能存儲(chǔ)開(kāi)關(guān),所述第 一級(jí)智能存儲(chǔ)開(kāi)關(guān)包括連接到主機(jī)的上游接口,用于接收主機(jī)命令、主機(jī)數(shù)據(jù)和主機(jī)地址,所述主機(jī)命令用于 訪問(wèn)非易失性存儲(chǔ)器;管理來(lái)自主機(jī)的事務(wù)的智能存儲(chǔ)事務(wù)管理器;將主機(jī)地址映射到指定閃存信道上生成邏輯塊地址LBA的虛擬存儲(chǔ)處理器,所述虛擬 存儲(chǔ)處理器執(zhí)行高級(jí)映射;與所述虛擬存儲(chǔ)處理器連接的第一級(jí)分割映射器,存儲(chǔ)有用于每個(gè)閃存信道的分段數(shù) 據(jù)容量和散列數(shù)據(jù)容量,所有閃存信道的分段數(shù)據(jù)容量數(shù)值相等,閃存信道之間的散列數(shù) 據(jù)容量存在數(shù)值差別;連接在智能存儲(chǔ)事務(wù)管理器和LBA總線之間的虛擬存儲(chǔ)橋; 所述三層控制器還包括第二級(jí)智能存儲(chǔ)開(kāi)關(guān),所述第二級(jí)智能存儲(chǔ)開(kāi)關(guān)包括 連接到第一級(jí)智能存儲(chǔ)開(kāi)關(guān)的第二級(jí)上游接口,用來(lái)接收用于訪問(wèn)非易失性存儲(chǔ)器的 命令以及接收來(lái)自第一級(jí)智能存儲(chǔ)開(kāi)關(guān)的數(shù)據(jù)和地址;管理來(lái)自NVM裝置的事務(wù)的第二級(jí)智能存儲(chǔ)事務(wù)管理器;與信道存儲(chǔ)處理器連接的第二級(jí)分割映射器,存儲(chǔ)有用于每個(gè)閃存信道的所有NVM裝 置的物理容量和交換容量,所有NVM裝置的物理容量存在不同數(shù)量的壞塊,閃存信道之間 的交換容量也存在數(shù)量差別;從第一級(jí)智能存儲(chǔ)開(kāi)關(guān)上將地址映射到指定閃存信道生成本地邏輯塊地址LBA的信 道存儲(chǔ)處理器,信道存儲(chǔ)處理器執(zhí)行將數(shù)據(jù)映射到附在第二級(jí)智能存儲(chǔ)開(kāi)關(guān)上多個(gè)NVM裝 置上的功能;所述三層控制器還包括NVM控制器,與LBA總線連接,接收信道存儲(chǔ)處理器生成的LBA以及來(lái)自于第二級(jí)智能 存儲(chǔ)開(kāi)關(guān)的數(shù)據(jù);以及安裝在NVM控制器內(nèi)的低級(jí)映射器,將LBA映射到物理塊地址PBA,低級(jí)映射器生成塊 映射的主機(jī)數(shù)據(jù)的PBA以及頁(yè)映射的主機(jī)數(shù)據(jù)的PBA和頁(yè)碼。
22.—種智能存儲(chǔ)開(kāi)關(guān)的三層控制器,其特征在于,包括第一級(jí)智能存儲(chǔ)開(kāi)關(guān),所述第 一級(jí)智能存儲(chǔ)開(kāi)關(guān)包括連接到主機(jī)的上游接口,用于接收主機(jī)命令、主機(jī)數(shù)據(jù)和主機(jī)地址,所述主機(jī)命令用于 訪問(wèn)非易失性存儲(chǔ)器;管理來(lái)自主機(jī)的事務(wù)的智能存儲(chǔ)事務(wù)管理器;將主機(jī)地址映射到指定閃存信道上生成邏輯塊地址LBA的虛擬存儲(chǔ)處理器,所述虛擬 存儲(chǔ)處理器執(zhí)行高級(jí)映射;與所述虛擬存儲(chǔ)處理器連接的第一級(jí)分割映射器,存儲(chǔ)有用于每個(gè)閃存信道的分段數(shù) 據(jù)容量和散列數(shù)據(jù)容量,所有閃存信道的分段數(shù)據(jù)容量數(shù)值相等,閃存信道之間的散列數(shù) 據(jù)容量存在數(shù)值差別;連接在智能存儲(chǔ)事務(wù)管理器和LBA總線之間的虛擬存儲(chǔ)橋;所述三層控制器還包括第二級(jí)智能存儲(chǔ)開(kāi)關(guān),所述第二級(jí)智能存儲(chǔ)開(kāi)關(guān)包括連接到第一級(jí)智能存儲(chǔ)開(kāi)關(guān)的第二級(jí)上游接口,用來(lái)接收用于訪問(wèn)非易失性存儲(chǔ)器的 命令以及接收來(lái)自第一級(jí)智能存儲(chǔ)開(kāi)關(guān)的數(shù)據(jù)和地址;管理來(lái)自NVM裝置的事務(wù)的第二級(jí)智能存儲(chǔ)事務(wù)管理器;與信道存儲(chǔ)處理器連接的第二級(jí)分割映射器,存儲(chǔ)有用于每個(gè)閃存信道的所有NVM裝 置的物理容量和交換容量,所有NVM裝置的物理容量存在不同數(shù)量的壞塊,閃存信道之間 的交換容量也存在數(shù)量差別;從第一級(jí)智能存儲(chǔ)開(kāi)關(guān)上將地址映射到指定閃存信道生成本地邏輯塊地址LBA的信 道存儲(chǔ)處理器,信道存儲(chǔ)處理器執(zhí)行將數(shù)據(jù)映射到附在第二級(jí)智能存儲(chǔ)開(kāi)關(guān)上多個(gè)NVM裝 置上的功能。
全文摘要
本發(fā)明適用于存儲(chǔ)器領(lǐng)域,提供了一種兩層、三層閃存裝置、智能存儲(chǔ)開(kāi)關(guān)和兩層、三層控制器。固態(tài)硬盤設(shè)有智能存儲(chǔ)開(kāi)關(guān),用來(lái)廢物回收利用從分段數(shù)據(jù)容量上經(jīng)由刪減而刪除的閃存存儲(chǔ)。超出分段數(shù)據(jù)容量的額外存儲(chǔ)用未分割的散列數(shù)據(jù)方式進(jìn)行存取。隨著時(shí)間的推移當(dāng)更多壞塊出現(xiàn)時(shí),分段數(shù)據(jù)容量降低。第一級(jí)映射圖存儲(chǔ)所有閃存信道的分段數(shù)據(jù)和散列數(shù)據(jù)容量,并映射散列數(shù)據(jù)和分段數(shù)據(jù)。每個(gè)閃存信道設(shè)有NVMD,NVMD設(shè)有較低級(jí)控制器,該控制器將LBA轉(zhuǎn)換為PBA,PBA用來(lái)存取NVMD內(nèi)的閃速存儲(chǔ)器。每個(gè)NVMD執(zhí)行磨損平衡和壞塊重新映射。NVMD可循環(huán)回收利用源本閃存區(qū)塊和陰影閃存區(qū)塊。兩個(gè)級(jí)別的智能存儲(chǔ)開(kāi)關(guān)能夠啟動(dòng)三個(gè)級(jí)別的控制器。
文檔編號(hào)G06F12/02GK101923512SQ20101013536
公開(kāi)日2010年12月22日 申請(qǐng)日期2010年2月21日 優(yōu)先權(quán)日2009年5月29日
發(fā)明者俞一康, 李中和, 申明進(jìn), 馬志剛 申請(qǐng)人:晶天電子(深圳)有限公司
網(wǎng)友詢問(wèn)留言 已有0條留言
  • 還沒(méi)有人留言評(píng)論。精彩留言會(huì)獲得點(diǎn)贊!
1
古丈县| 克东县| 南投县| 乌拉特前旗| 乡宁县| 封丘县| 富源县| 攀枝花市| 兴城市| 苏尼特左旗| 邮箱| 宣恩县| 乐平市| 秭归县| 八宿县| 黎川县| 宣汉县| 安宁市| 同仁县| 靖边县| 杂多县| 泾源县| 加查县| 缙云县| 宜良县| 南和县| 河南省| 遂宁市| 子长县| 阿克陶县| 马边| 凌海市| 资中县| 昌图县| 浏阳市| 绵阳市| 桑日县| 嵊州市| 永春县| 瑞安市| 遵化市|