999精品在线视频,手机成人午夜在线视频,久久不卡国产精品无码,中日无码在线观看,成人av手机在线观看,日韩精品亚洲一区中文字幕,亚洲av无码人妻,四虎国产在线观看 ?

閃存固態(tài)硬盤(pán)系統(tǒng)結(jié)構(gòu)與技術(shù)

2021-07-23 02:04:36高聰明舒繼武
關(guān)鍵詞:策略

高聰明 石 亮 劉 凱 薛 春 舒繼武

1(清華大學(xué)計(jì)算機(jī)科學(xué)與技術(shù)系 北京 100083)

2(華東師范大學(xué)計(jì)算機(jī)科學(xué)與技術(shù)學(xué)院 上海 200062)

3(重慶大學(xué)計(jì)算機(jī)學(xué)院 重慶 400044)

4(香港城市大學(xué)計(jì)算機(jī)系 香港 999077)

20世紀(jì)80年代,東芝公司發(fā)明了閃存(flash memory).隨后,英特爾公司推出了世界上第一款商用閃存芯片,旨在應(yīng)用于計(jì)算機(jī)數(shù)據(jù)存儲(chǔ).在20世紀(jì)80年代末,多家閃存廠商推出了基于閃存介質(zhì)的固態(tài)硬盤(pán).進(jìn)入21世紀(jì)后,閃存固態(tài)硬盤(pán)(flash memory based solid state drives, SSDs)進(jìn)入了發(fā)展的快車(chē)道,其在性能、存儲(chǔ)容量等方面全面超越機(jī)械硬盤(pán).閃存固態(tài)硬盤(pán)正逐步取代機(jī)械硬盤(pán),作為外部存儲(chǔ)設(shè)備已被廣泛應(yīng)用于各類(lèi)嵌入式設(shè)備、個(gè)人電腦和數(shù)據(jù)中心等.

相比于機(jī)械硬盤(pán),閃存固態(tài)硬盤(pán)內(nèi)部采用電子器件實(shí)現(xiàn)數(shù)據(jù)存儲(chǔ),在結(jié)構(gòu)設(shè)計(jì)方面具有完全不同的設(shè)計(jì)原理.在固態(tài)硬盤(pán)內(nèi)部,閃存介質(zhì)被封裝為閃存芯片,并以多級(jí)并行結(jié)構(gòu)進(jìn)行組織,滿(mǎn)足多個(gè)讀寫(xiě)操作在固態(tài)硬盤(pán)內(nèi)部的并行處理.為充分利用閃存芯片的低讀寫(xiě)時(shí)延以及高并行結(jié)構(gòu)等優(yōu)勢(shì),固態(tài)硬盤(pán)通過(guò)專(zhuān)用控制器實(shí)現(xiàn)對(duì)閃存芯片的管理.因此,固態(tài)硬盤(pán)控制器具有多項(xiàng)關(guān)鍵技術(shù)用于實(shí)現(xiàn)數(shù)據(jù)布局和管理、空間管理、壽命維護(hù)等[1].

近10年來(lái),隨著閃存制作工藝和微電子技術(shù)的發(fā)展,閃存固態(tài)硬盤(pán)正呈現(xiàn)著新的特性和形態(tài).當(dāng)前,為進(jìn)一步提高閃存固態(tài)硬盤(pán)的存儲(chǔ)容量,3D閃存固態(tài)硬盤(pán)已經(jīng)成為下一代固態(tài)硬盤(pán)的主要表現(xiàn)形態(tài)[2].相比于傳統(tǒng)固態(tài)硬盤(pán),3D固態(tài)硬盤(pán)采用堆疊結(jié)構(gòu)實(shí)現(xiàn)單位面積內(nèi)存儲(chǔ)容量的增長(zhǎng).基于該堆疊結(jié)構(gòu),3D固態(tài)硬盤(pán)在可靠性、數(shù)據(jù)寫(xiě)入方式等方面具有不同的特性.因此,針對(duì)3D閃存固態(tài)硬盤(pán)所展現(xiàn)的特性進(jìn)行固態(tài)硬盤(pán)性能和壽命優(yōu)化將成新的研究熱點(diǎn).

1 閃存固態(tài)硬盤(pán)基本特性

1.1 閃存單元基本結(jié)構(gòu)特征

當(dāng)前,使用最為廣泛的閃存單元(flash memory cell)是一種基于浮柵(floating gate)技術(shù)的場(chǎng)效應(yīng)管(MOS晶體管)[3].根據(jù)浮柵內(nèi)存儲(chǔ)的電子數(shù)量所表現(xiàn)的電壓值,閃存單元能夠表現(xiàn)不同的數(shù)據(jù)值.當(dāng)前,閃存單元主要可分為4種類(lèi)型:?jiǎn)渭?jí)閃存單元(single-level cell, SLC)、二級(jí)閃存單元(multi-level cell, MLC)、三級(jí)閃存單元(triple-level cell, TLC)和四級(jí)閃存單元(quad-level cell, QLC).這4種類(lèi)型閃存單元分別可存儲(chǔ)1,2,3和4 b數(shù)據(jù).

1.2 閃存單元基本操作

閃存單元存在3種基本操作,分別為“編程”“讀”和“擦除”.首先,編程操作是指電子被注入閃存單元的過(guò)程.傳統(tǒng)閃存單元編程操作普遍采用遞進(jìn)增壓編程(increment step pulse programming, ISPP)方式[4].ISPP編程方式可將閃存單元電壓值控制在預(yù)定電壓范圍內(nèi),從而提高閃存單元編程操作的可靠性.其次,讀操作是指獲取當(dāng)前閃存單元電壓值所屬的電壓范圍,從而獲得當(dāng)前閃存單元內(nèi)存儲(chǔ)的數(shù)據(jù)信息[3].最后,擦除操作是指將閃存單元數(shù)據(jù)信息恢復(fù)至初始值.在物理實(shí)現(xiàn)過(guò)程中,擦除操作通過(guò)在閃存單元上構(gòu)建高電場(chǎng)將電子從浮柵中釋放,從而降低閃存單元的電壓值至初始值.編程后的閃存單元需要先被擦除至初始狀態(tài),才能進(jìn)行下一次編程,該現(xiàn)象被稱(chēng)之為“非就地更新”.

1.3 閃存陣列結(jié)構(gòu)

為了實(shí)現(xiàn)批量閃存單元存儲(chǔ)數(shù)據(jù)的讀、寫(xiě)和擦除操作,閃存固態(tài)硬盤(pán)將閃存單元以陣列結(jié)構(gòu)進(jìn)行組織.如圖1所示,一定數(shù)量的閃存單元構(gòu)成了閃存固態(tài)硬盤(pán)中的最小閃存陣列——閃存塊(flash block).該閃存陣列存在2個(gè)方向,分別是字線(word line, WL)方向和位線(bit line, BL)方向[3].在字線方向,根據(jù)閃存單元的類(lèi)型(SLC,MLC,TLC或QLC),一條字線中的閃存單元構(gòu)成1,2,3或4個(gè)閃存頁(yè)(flash page).

Fig. 1 Architecture of flash memory array[3]圖1 閃存陣列結(jié)構(gòu)[3]

1.4 閃存固態(tài)硬盤(pán)的基本操作

根據(jù)閃存陣列結(jié)構(gòu),閃存固態(tài)硬盤(pán)存在3種基本操作,分別為“寫(xiě)”“讀”和“擦除”.寫(xiě)、讀操作的最小執(zhí)行單位是閃存頁(yè),即同一條字線中的所有閃存單元.擦除操作的最小執(zhí)行單位是閃存塊[5].

針對(duì)閃存頁(yè)的寫(xiě)操作.以圖1為例,假設(shè)當(dāng)前閃存單元為SLC類(lèi)型,圖1閃存塊中的每條字線構(gòu)成一個(gè)閃存頁(yè).首先,寫(xiě)操作通過(guò)地址解碼器確定當(dāng)前寫(xiě)入字線位置.隨后,根據(jù)寫(xiě)操作數(shù)據(jù)內(nèi)容,對(duì)應(yīng)的位線打開(kāi)閃存單元充入電子,該過(guò)程表示為對(duì)當(dāng)前字線對(duì)應(yīng)的閃存單元進(jìn)行寫(xiě)“0”操作.

針對(duì)閃存頁(yè)讀操作.同樣以圖1,閃存陣列地址解碼器定位讀取閃存頁(yè)位置.隨后,讀操作對(duì)所有位線施加探測(cè)電壓.根據(jù)探測(cè)結(jié)果獲得當(dāng)前閃存頁(yè)的數(shù)據(jù)內(nèi)容.

針對(duì)閃存塊擦除操作.所有閃存塊內(nèi)字線對(duì)應(yīng)的控制門(mén)電路均施加0V電壓,隨后對(duì)閃存塊內(nèi)的所有閃存單元基質(zhì)端施加高電壓,從而在閃存單元上構(gòu)建高電場(chǎng)進(jìn)行電子釋放.

2 閃存固態(tài)硬盤(pán)內(nèi)部組件及結(jié)構(gòu)特征

在本節(jié)中,我們主要介紹閃存固態(tài)硬盤(pán)的內(nèi)部關(guān)鍵組件以及高并發(fā)的結(jié)構(gòu)特征.如圖2所示,閃存固態(tài)硬盤(pán)主要由2部分構(gòu)成,分別是固態(tài)硬盤(pán)控制器(SSD controller)和閃存芯片(flash chip).控制器內(nèi)部存在多個(gè)關(guān)鍵組件,用于維護(hù)閃存固態(tài)硬盤(pán)的正常運(yùn)作.閃存芯片用于存儲(chǔ)數(shù)據(jù)內(nèi)容.

Fig. 2 Architecture of solid state drives[6]圖2 固態(tài)硬盤(pán)結(jié)構(gòu)[6]

2.1 閃存固態(tài)硬盤(pán)控制器

根據(jù)閃存介質(zhì)的獨(dú)有特性,固態(tài)硬盤(pán)內(nèi)部配置有專(zhuān)用控制器用于維護(hù)固態(tài)硬盤(pán)的正常工作,主要包括6個(gè)關(guān)鍵組件:緩存(buffer)、閃存轉(zhuǎn)換層(flash translation layer, FTL)、垃圾回收(garbage collection, GC)、數(shù)據(jù)分配(data allocation, DA)、磨損均衡(wear leveling, WL)和糾錯(cuò)碼(error correction code, ECC).

2.1.1 緩 存

當(dāng)前,固態(tài)硬盤(pán)的一個(gè)主要發(fā)展趨勢(shì)是提升讀寫(xiě)性能.為此,固態(tài)硬盤(pán)通過(guò)在控制器內(nèi)部配置緩存設(shè)備的方式提高固態(tài)硬盤(pán)整體性能.根據(jù)緩存存儲(chǔ)介質(zhì)的易失特性,緩存設(shè)備可分為2類(lèi):易失性緩存和非易失性緩存.易失性緩存具有更低的訪問(wèn)時(shí)延,但存在設(shè)備斷電數(shù)據(jù)丟失的問(wèn)題.非易失性緩存訪問(wèn)時(shí)延介于閃存訪問(wèn)時(shí)延與易失性緩存訪問(wèn)時(shí)延之間,但其優(yōu)點(diǎn)在于設(shè)備斷電數(shù)據(jù)不丟失.

針對(duì)易失性緩存,緩存設(shè)備普遍采用DRAM或SRAM作為緩存介質(zhì)[7].相比于閃存us級(jí)別數(shù)據(jù)訪問(wèn)時(shí)延,DRAM存儲(chǔ)介質(zhì)具有更低的訪問(wèn)時(shí)延(ns級(jí)別).因此,主機(jī)的讀寫(xiě)請(qǐng)求可通過(guò)訪問(wèn)緩存設(shè)備的方式完成數(shù)據(jù)在固態(tài)硬盤(pán)內(nèi)部的讀寫(xiě)操作,從而提高固態(tài)硬盤(pán)的整體性能.由于易失性緩存存儲(chǔ)空間有限,緩存設(shè)備根據(jù)數(shù)據(jù)特征進(jìn)行數(shù)據(jù)剔除,實(shí)現(xiàn)有限緩存空間的高效利用.目前,已有大量工作提出基于固態(tài)硬盤(pán)特征感知的緩存數(shù)據(jù)剔除策略.從數(shù)據(jù)剔除粒度考慮,緩存數(shù)據(jù)剔除策略可分為3類(lèi):基于頁(yè)剔除策略、基于塊剔除策略以及混合剔除策略.1)頁(yè)剔除策略.CFLRU(clean first least recently used)策略考慮了閃存頁(yè)非對(duì)稱(chēng)讀寫(xiě)時(shí)延的特征,數(shù)據(jù)剔除過(guò)程以頁(yè)作為剔除粒度.其主要思想是,優(yōu)先剔除緩存中的干凈頁(yè)(clean page),減少臟頁(yè)(dirty page)數(shù)據(jù)寫(xiě)回帶來(lái)的閃存設(shè)備寫(xiě)操作時(shí)間開(kāi)銷(xiāo)[8].測(cè)試結(jié)果表示,相比于傳統(tǒng)LRU策略,CFLRU能夠減小緩存數(shù)據(jù)頁(yè)剔除時(shí)間達(dá)26%的.進(jìn)一步考慮到頻繁寫(xiě)操作對(duì)閃存固態(tài)硬盤(pán)擦除操作的影響,WIPPA(write intensive page preserving algorithm)[9]提出延長(zhǎng)頻繁更新的數(shù)據(jù)在緩存中的保存時(shí)間,從而提高數(shù)據(jù)在緩存中被更新的概率,進(jìn)而減少固態(tài)硬盤(pán)內(nèi)部的寫(xiě)操作次數(shù).2)塊剔除策略.FAB(flash aware buffer policy)策略將緩存數(shù)據(jù)以塊的方式進(jìn)行組織[10],剔除過(guò)程選擇當(dāng)前MRU(most recently used)端具有最多數(shù)據(jù)頁(yè)個(gè)數(shù)的塊.測(cè)試結(jié)果顯示,相比于傳統(tǒng)LRU策略,F(xiàn)AB減小總處理時(shí)間達(dá)17%.基于FAB策略,BPLRU(block padding least recently used)進(jìn)一步提出頁(yè)填充機(jī)制,在緩存設(shè)備中將隨機(jī)寫(xiě)填充至碎片化的數(shù)據(jù)塊中,從而減少數(shù)據(jù)剔除開(kāi)銷(xiāo).測(cè)試結(jié)果顯示,相比于FAB,BPLRU提升系統(tǒng)性能最高達(dá)43%.此外,VBBMS(virtual-block-based buffer management scheme)[11]在緩存中提出虛擬塊結(jié)構(gòu),并將數(shù)據(jù)分為隨機(jī)請(qǐng)求和順序請(qǐng)求,針對(duì)不同類(lèi)型的訪問(wèn)請(qǐng)求分別利用其空間局域性和時(shí)間局域性,從而實(shí)現(xiàn)性能優(yōu)化的目的.3)混合剔除策略.BPAC(block-page adaptive cache)提出在緩存中按照數(shù)據(jù)冷熱程度分別以頁(yè)和塊的方式進(jìn)行組織[12].由于熱數(shù)據(jù)具有更強(qiáng)的時(shí)間局域性,冷數(shù)據(jù)具有更強(qiáng)的空間局域性,因此,熱數(shù)據(jù)采用頁(yè)剔除策略,冷數(shù)據(jù)采用塊剔除策略.測(cè)試結(jié)果顯示,相比于BPLRU,BAPC減少緩存剔除次數(shù)最高達(dá)79.6%.

然而,由于閃存固態(tài)硬盤(pán)緩存空間有限,且傳統(tǒng)的緩存數(shù)據(jù)管理策略已經(jīng)能取得較為出色的性能表現(xiàn),因此,研究人員對(duì)緩存數(shù)據(jù)管理策略的關(guān)注逐步下降.取而代之的是,非易失性緩存設(shè)計(jì)方案逐步進(jìn)入到研究人員視野中.

針對(duì)非易失性緩存,固態(tài)硬盤(pán)內(nèi)部存在2種設(shè)計(jì)方案.1)使用非易失性存儲(chǔ)器(non-volatile memory, NVM)作為緩存存儲(chǔ)介質(zhì),例如相變位存儲(chǔ)器(phase change memory, PCM),自旋轉(zhuǎn)移矩存儲(chǔ)器(spin-transfer torque RAM, STT-RAM),以及可變電阻式存儲(chǔ)器(resistive RAM, RRAM)等[13-14].然而,由于NVM訪問(wèn)時(shí)延低于DRAM等易失性存儲(chǔ)介質(zhì),因此,固態(tài)硬盤(pán)內(nèi)部采用混合式存儲(chǔ)方法作為非易失性緩存設(shè)計(jì)方法.以PCM/DRAM混合緩存設(shè)計(jì)方法為例,文獻(xiàn)[13]提出將熱數(shù)據(jù)存儲(chǔ)在DRAM緩存區(qū)域,將冷數(shù)據(jù)存儲(chǔ)在PCM緩存區(qū)域.該方法降低請(qǐng)求響應(yīng)時(shí)間最多達(dá)26%.2)使用電容器件對(duì)易失性緩存進(jìn)行斷電數(shù)據(jù)寫(xiě)回保護(hù)[15].在固態(tài)硬盤(pán)正常工作期間,DRAM緩存設(shè)備提供快速數(shù)據(jù)訪問(wèn)性能.在固態(tài)硬盤(pán)斷電之后,固態(tài)硬盤(pán)供電轉(zhuǎn)換器激活電容器件為固態(tài)硬盤(pán)進(jìn)行供電,使得緩存數(shù)據(jù)可被寫(xiě)回閃存[16].目前,基于電容器件的非易失性緩存方案已經(jīng)被廣泛應(yīng)用于高端固態(tài)硬盤(pán).

緩存設(shè)備能有效協(xié)調(diào)閃存與內(nèi)存之間的性能差異,提高固態(tài)硬盤(pán)訪問(wèn)性能.面對(duì)目前各類(lèi)新型非易失存儲(chǔ)器,如何選擇合適的新型非易失存儲(chǔ)器作為固態(tài)硬盤(pán)的緩存設(shè)備將是一個(gè)研究的熱點(diǎn).并且,如何設(shè)計(jì)高效的基于新型非易失存儲(chǔ)器的緩存管理策略也將是一個(gè)研究的難點(diǎn).

2.1.2 閃存轉(zhuǎn)換層

基于閃存“非就地更新”的特點(diǎn),固態(tài)硬盤(pán)在控制器內(nèi)部通過(guò)構(gòu)建閃存轉(zhuǎn)換層的方式實(shí)現(xiàn)“邏輯地址(logical address)”到“物理地址(physical address)”的地址映射轉(zhuǎn)換.閃存轉(zhuǎn)換層的設(shè)計(jì)主要考慮2方面的影響:固態(tài)硬盤(pán)性能和RAM空間需求.因此,根據(jù)地址映射單位的不同,閃存轉(zhuǎn)換層中的地址映射轉(zhuǎn)換可分為3種類(lèi)型:閃存頁(yè)級(jí)別地址映射(page-level mapping)、閃存塊級(jí)別地址映射(block-level mapping)以及混合地址映射(hybrid mapping).

1) 閃存頁(yè)級(jí)別地址映射[17].該映射方式中邏輯閃存頁(yè)地址與物理閃存頁(yè)地址存在唯一對(duì)應(yīng)關(guān)系,其通過(guò)構(gòu)建頁(yè)粒度的映射條目實(shí)現(xiàn)閃存存儲(chǔ)空間的靈活、充分使用.然而,該映射方式需要在固態(tài)硬盤(pán)緩存中保存大量映射條目,從而造成較大的緩存空間開(kāi)銷(xiāo).

為減少對(duì)緩存空間的消耗,大量相關(guān)工作提出了針對(duì)閃存頁(yè)級(jí)別地址映射緩存空間優(yōu)化的設(shè)計(jì)方案,核心思想是:將當(dāng)前訪問(wèn)概率低的映射條目寫(xiě)回閃存,減少緩存空間開(kāi)銷(xiāo).DFTL(demand-based page-mapped flash translation layer)是一種典型的閃存頁(yè)級(jí)別地址映射空間優(yōu)化方案[18].為進(jìn)一步優(yōu)化DFTL,S-FTL(spatial-locality-aware FTL)設(shè)計(jì)了基于數(shù)據(jù)空間局域性感知的DFTL優(yōu)化方案[19].S-FTL提出將順序訪問(wèn)數(shù)據(jù)的映射條目寫(xiě)入同一轉(zhuǎn)換頁(yè),提高轉(zhuǎn)換頁(yè)內(nèi)部映射條目的命中率,并進(jìn)一步在緩存中保存較少的隨機(jī)訪問(wèn)數(shù)據(jù)映射條目,從而減少緩存數(shù)據(jù)剔除開(kāi)銷(xiāo).測(cè)試結(jié)果顯示,相比于DFTL,S-FTL減少系統(tǒng)想響應(yīng)時(shí)間最高達(dá)25%.在此基礎(chǔ)上,CDFTL(two-level caching DFTL)優(yōu)化方案提出構(gòu)建2層CMT緩存,分別進(jìn)行基于數(shù)據(jù)時(shí)間局域性和空間局域性的DFTL優(yōu)化方案[20].測(cè)試結(jié)果顯示,相比于DFTL,CDFTL提高CMT命中率達(dá)31.51%,平均減少31.11%系統(tǒng)響應(yīng)時(shí)間.

2) 閃存塊級(jí)別地址映射[21-23].該映射方式中邏輯閃存塊地址與物理閃存塊地址的對(duì)應(yīng)關(guān)系符合組相聯(lián)關(guān)系.對(duì)于閃存頁(yè)地址映射,閃存塊級(jí)別地址映射采用固定映射機(jī)制,即邏輯塊內(nèi)頁(yè)偏移地址與物理塊內(nèi)頁(yè)偏移地址相同.因此,閃存塊級(jí)別地址映射表僅保存閃存塊地址映射條目,然而,受限于閃存塊內(nèi)部?jī)H支持閃存頁(yè)順序?qū)慬24],在該映射方式下,同一邏輯閃存塊內(nèi)部的閃存頁(yè)更新操作將導(dǎo)致閃存塊數(shù)據(jù)頻繁重組并遷移,從而增加垃圾回收開(kāi)銷(xiāo),降低固態(tài)硬盤(pán)性能.基于這些問(wèn)題,閃存塊級(jí)別地址映射難以被廣泛應(yīng)用.

3) 混合地址映射.為解決上述2種映射方式的缺點(diǎn),大量相關(guān)研究工作提出閃存頁(yè)級(jí)別地址映射和閃存塊級(jí)別地址映射相結(jié)合的地址映射方式[25-27].基于混合地址映射的固態(tài)硬盤(pán)閃存塊分為2種類(lèi)型,分別為數(shù)據(jù)塊和日志塊,其中數(shù)據(jù)塊采用閃存塊級(jí)別地址映射,日志塊采用閃存頁(yè)級(jí)別地址映射.針對(duì)數(shù)據(jù)塊的數(shù)據(jù)更新寫(xiě)將通過(guò)閃存頁(yè)級(jí)別地址映射方式寫(xiě)入日志塊.當(dāng)日志塊空間不足時(shí),固態(tài)硬盤(pán)觸發(fā)垃圾回收(在2.1.3節(jié)詳述)實(shí)現(xiàn)數(shù)據(jù)塊與日志塊的合并操作.由于合并操作存在大量數(shù)據(jù)遷移以及擦除操作,因此,研究人員提出相關(guān)工作,旨在優(yōu)化混合地址映射中的合并操作開(kāi)銷(xiāo).BAST(block associative sector translation)策略[25]提出了將日志塊與數(shù)據(jù)塊一一對(duì)應(yīng)的映射關(guān)系.然而,當(dāng)面對(duì)大量隨機(jī)更新寫(xiě),BAST將引起大量垃圾回收操作,導(dǎo)致性能下降.基于此,F(xiàn)AST(fully associative sector translation)策略[26]提出僅維護(hù)一個(gè)順序?qū)懭罩緣K,剩余日志塊負(fù)責(zé)隨機(jī)更新寫(xiě),減少垃圾回收頻率.然而,F(xiàn)AST卻無(wú)法滿(mǎn)足多個(gè)順序更新寫(xiě)的數(shù)據(jù)流,且仍然無(wú)法利用隨機(jī)更新寫(xiě)的時(shí)間局域性.為克服FAST所存在的問(wèn)題,研究人員進(jìn)一步提出LAST(locality-aware sector translation)策略[27].該策略維護(hù)了多個(gè)順序日志塊,用于滿(mǎn)足多個(gè)順序更新寫(xiě)數(shù)據(jù)流.此外,LAST進(jìn)一步將隨機(jī)寫(xiě)日志塊分為冷日志塊和熱日志塊,減少混合地址映射中的合并操作.

因此,3種類(lèi)型的地址映射方案在性能和空間開(kāi)銷(xiāo)上各有優(yōu)勢(shì),具體特征如表1所示.因此,針對(duì)具有較大緩存空間的閃存固態(tài)硬盤(pán),閃存頁(yè)映射方案可取得最優(yōu)的性能表現(xiàn).但從緩存空間考慮,閃存塊映射方案可有效減少緩存空間開(kāi)銷(xiāo).由于閃存塊級(jí)別地址映射表僅保存閃存塊地址映射條目,相比閃存頁(yè)級(jí)別地址映射表,其所需緩存空間開(kāi)銷(xiāo)可減少“閃存塊尺寸/閃存頁(yè)尺寸”.為實(shí)現(xiàn)性能和空間開(kāi)銷(xiāo)之間的權(quán)衡,混合映射根據(jù)數(shù)據(jù)的訪問(wèn)特征,實(shí)現(xiàn)閃存頁(yè)映射和閃存塊映射的混合管理.

Table 1 Comparison Among Page-Level, Block-Level and Hybrid Mappings表1 閃存頁(yè)級(jí)別、閃存塊級(jí)別和混合映射方案對(duì)比

閃存轉(zhuǎn)換層的效率與固態(tài)硬盤(pán)性能成正相關(guān).受限于有限的緩存空間,研制具有高命中率的地址映射表以及低空間開(kāi)銷(xiāo)的地址映射方式將有效提高固態(tài)硬盤(pán)整體性能.然而,面對(duì)新型固態(tài)硬盤(pán)(例如,3D固態(tài)硬盤(pán))的獨(dú)有特征,設(shè)計(jì)適配新型固態(tài)硬盤(pán)的閃存轉(zhuǎn)換層將成為后續(xù)的一個(gè)重要研究點(diǎn).

2.1.3 垃圾回收

閃存的“非就地更新”特征要求閃存單元僅在被擦除之后才可進(jìn)行下一次寫(xiě)操作.基于此,更新寫(xiě)操作將在固態(tài)硬盤(pán)內(nèi)部產(chǎn)生大量無(wú)效閃存頁(yè),從而快速消耗固態(tài)硬盤(pán)剩余可用空間.為保障固態(tài)硬盤(pán)存儲(chǔ)空間的充分利用,固態(tài)硬盤(pán)采用垃圾回收機(jī)制實(shí)現(xiàn)無(wú)效空間的回收再利用[28].由于垃圾回收過(guò)程將導(dǎo)致大量數(shù)據(jù)讀寫(xiě)以及高時(shí)間開(kāi)銷(xiāo)的擦除操作,因此,固態(tài)硬盤(pán)性能與垃圾回收效率成正相關(guān)[29].目前,垃圾回收優(yōu)化類(lèi)型可分為3類(lèi),如表2所示:

Table 2 Summary of Garbage Collection Optimizations表2 垃圾回收優(yōu)化方案總結(jié)

針對(duì)時(shí)間開(kāi)銷(xiāo)優(yōu)化類(lèi)型,目前,應(yīng)用最為廣泛的策略是貪婪式垃圾回收(greedy garbage collec-tion)[30],該策略選擇當(dāng)前具有最少有效頁(yè)個(gè)數(shù)的閃存塊作為待回收閃存塊,減少有效頁(yè)遷移次數(shù).基于此,相關(guān)研究工作提出通過(guò)冷熱數(shù)據(jù)分離的方式減少待回收閃存塊的有效頁(yè)個(gè)數(shù)[33].根據(jù)訪問(wèn)數(shù)據(jù)的時(shí)間局域性,基于閃存塊粒度的冷熱分離策略通過(guò)將相同熱度的數(shù)據(jù)在同一閃存塊內(nèi)進(jìn)行聚集,從而實(shí)現(xiàn)同一閃存塊內(nèi)部數(shù)據(jù)在相近時(shí)間內(nèi)同時(shí)無(wú)效,從而減少垃圾回收所需的有效頁(yè)遷移次數(shù).貪婪式垃圾回收方案旨在減小垃圾回收遷移的有效頁(yè)個(gè)數(shù),實(shí)現(xiàn)垃圾回收效率優(yōu)化.為進(jìn)一步提高垃圾回收效率,研究人員提出一系列垃圾回收有效頁(yè)遷移過(guò)程優(yōu)化方案,通過(guò)減少有效頁(yè)遷移的時(shí)間開(kāi)銷(xiāo)提高固態(tài)硬盤(pán)垃圾回收效率.針對(duì)有效頁(yè)遷移過(guò)程,相關(guān)工作提出了固態(tài)硬盤(pán)的高并發(fā)特性減少有效頁(yè)遷移開(kāi)銷(xiāo).Gao等人[34]提出了利用閃存芯片高并發(fā)的特點(diǎn)同時(shí)遷移多個(gè)有效頁(yè),減少有效頁(yè)遷移的寫(xiě)操作時(shí)間開(kāi)銷(xiāo).Shahidi等人[35]提出利用閃存芯片內(nèi)部分組并行性實(shí)現(xiàn)并行垃圾回收、降低垃圾回收有效頁(yè)遷移時(shí)間開(kāi)銷(xiāo)和垃圾回收觸發(fā)次數(shù).

針對(duì)時(shí)間開(kāi)銷(xiāo)優(yōu)化的垃圾回收方案從垃圾回收時(shí)間開(kāi)銷(xiāo)角度出發(fā),并未考慮垃圾回收對(duì)主機(jī)讀寫(xiě)請(qǐng)求的影響.因此,相關(guān)工作考慮了主機(jī)請(qǐng)求與垃圾回收之間的沖突關(guān)系,通過(guò)優(yōu)化垃圾回收?qǐng)?zhí)行時(shí)機(jī)減少垃圾回收對(duì)主機(jī)讀寫(xiě)請(qǐng)求的阻塞影響,實(shí)現(xiàn)固態(tài)硬盤(pán)性能優(yōu)化[31,36].例如,Lee等人[31]提出了可中斷式垃圾回收策略.根據(jù)主機(jī)請(qǐng)求到達(dá)時(shí)間點(diǎn),該策略將有效頁(yè)遷移過(guò)程拆分為幾個(gè)子階段,并優(yōu)先處理主機(jī)請(qǐng)求,從而減少主機(jī)請(qǐng)求的等待時(shí)間,提高固態(tài)硬盤(pán)性能.

針對(duì)時(shí)間開(kāi)銷(xiāo)優(yōu)化的垃圾回收方案和可中斷式垃圾回收策略2種垃圾回收優(yōu)化思路呈正交關(guān)系,二者分別通過(guò)優(yōu)化垃圾回收有效頁(yè)遷移過(guò)程,以及選擇合適的垃圾回收時(shí)機(jī),實(shí)現(xiàn)固態(tài)硬盤(pán)性能優(yōu)化的目的.目前,研究人員進(jìn)一步提出了基于數(shù)據(jù)訪問(wèn)特征預(yù)測(cè)的垃圾回收優(yōu)化方案[32,37].例如Yang等人[32]提出利用神經(jīng)網(wǎng)絡(luò)進(jìn)行數(shù)據(jù)熱度預(yù)測(cè),從而進(jìn)行將具有相同預(yù)測(cè)熱度的數(shù)據(jù)寫(xiě)入同一閃存塊,提高垃圾回收效率.然而,基于神經(jīng)網(wǎng)絡(luò)的預(yù)測(cè)算法具有較高的時(shí)間和空間開(kāi)銷(xiāo),因此,在保證預(yù)測(cè)算法高準(zhǔn)確度的前提下,如何優(yōu)化預(yù)測(cè)過(guò)程的開(kāi)銷(xiāo)是一項(xiàng)關(guān)鍵技術(shù).

2.1.4 數(shù)據(jù)分配

針對(duì)寫(xiě)請(qǐng)求數(shù)據(jù),為確定其數(shù)據(jù)的物理寫(xiě)入位置,固態(tài)硬盤(pán)通過(guò)數(shù)據(jù)分配策略確定邏輯地址到物理地址的映射關(guān)系.如圖3所示,固態(tài)硬盤(pán)具有4級(jí)并行層次,分別是通道(channel)級(jí)、芯片(chip)級(jí)、晶圓(die)級(jí)和分組(plane)級(jí).數(shù)據(jù)分配策略需依次定位寫(xiě)請(qǐng)求在各個(gè)并行層次的物理單元位置.分配策略的目標(biāo)是最大化固態(tài)硬盤(pán)的并行性,提高固態(tài)硬盤(pán)性能.

Fig. 3 Parallel architecture of solid state drives[38]圖3 固態(tài)硬盤(pán)并行結(jié)構(gòu)[38]

目前,固態(tài)硬盤(pán)內(nèi)部的數(shù)據(jù)分配策略可分為3種類(lèi)型:靜態(tài)分配(static allocation)、動(dòng)態(tài)分配(dynamic allocation)[39]以及混合式分配策略.靜態(tài)分配策略具有固定的地址轉(zhuǎn)換算法,實(shí)現(xiàn)過(guò)程開(kāi)銷(xiāo)低,且根據(jù)4級(jí)并行層次的分配優(yōu)先級(jí)可確定多種分配方式.Hu等人[39]驗(yàn)證了多種分配優(yōu)先級(jí)下的靜態(tài)數(shù)據(jù)分配策略,發(fā)現(xiàn)最優(yōu)分配順序?yàn)椋和ǖ馈⒕A、分組、芯片.然而,由于靜態(tài)分配策略不感知閃存并行單元的當(dāng)前狀態(tài),若請(qǐng)求訪問(wèn)正處于忙碌狀態(tài)的閃存并行單元,則導(dǎo)致請(qǐng)求受到阻塞,增加等待時(shí)間.為此,Gao等人[40]提出基于并行發(fā)送隊(duì)列(parallel issue queue, PIQ)的請(qǐng)求調(diào)度器.PIQ利用靜態(tài)分配策略的地址轉(zhuǎn)換算法提前感知請(qǐng)求發(fā)送位置,并將可并行處理的多個(gè)請(qǐng)求合并為一個(gè)并行批次,從而減少請(qǐng)求之間的相互阻塞影響.

相比靜態(tài)分配策略,動(dòng)態(tài)分配策略更為靈活,且具有更好的性能表現(xiàn),其核心思想是:將請(qǐng)求數(shù)據(jù)寫(xiě)入空閑閃存頁(yè)[41].在該過(guò)程中,動(dòng)態(tài)分配策略要求數(shù)據(jù)寫(xiě)入空閑閃存頁(yè)路徑上的通道、芯片、晶圓以及分組均處于空閑狀態(tài),因此,動(dòng)態(tài)分配策略需要對(duì)各級(jí)閃存并行單元進(jìn)行空閑/忙碌狀態(tài)監(jiān)測(cè),從而增加實(shí)現(xiàn)開(kāi)銷(xiāo).

為增加數(shù)據(jù)分配策略的靈活性,研究人員提出基于靜態(tài)分配和動(dòng)態(tài)分配策略的混合式分配策略.該策略可在不同并行層次實(shí)現(xiàn)靜態(tài)分配和動(dòng)態(tài)分配策略,從而實(shí)現(xiàn)性能與實(shí)現(xiàn)開(kāi)銷(xiāo)之間的權(quán)衡.例如TBM(twin block management)[42],其提出在通道、芯片和晶圓層次實(shí)現(xiàn)靜態(tài)分配策略,在分組層次采用動(dòng)態(tài)分配策略,從而提高固態(tài)硬盤(pán)的并行性利用率.

然而,固態(tài)硬盤(pán)的4級(jí)并行層次中,晶圓級(jí)和分組級(jí)并行存在限制條件,導(dǎo)致固態(tài)硬盤(pán)并行性利用不充分,具體原因?qū)⒃?.2節(jié)詳述.為實(shí)現(xiàn)固態(tài)硬盤(pán)性能優(yōu)化,數(shù)據(jù)分配策略應(yīng)進(jìn)一步考慮請(qǐng)求訪問(wèn)特征與固態(tài)硬盤(pán)內(nèi)部數(shù)據(jù)活動(dòng),保障數(shù)據(jù)分配過(guò)程中最大化利用固態(tài)硬盤(pán)并行性,且最小化請(qǐng)求數(shù)據(jù)之間以及請(qǐng)求數(shù)據(jù)與內(nèi)部數(shù)據(jù)活動(dòng)的相互阻塞.3種數(shù)據(jù)分配策略性能及實(shí)現(xiàn)開(kāi)銷(xiāo)如表3所示:

Table 3 Summary of Data Allocation Schemes表3 數(shù)據(jù)分配策略總結(jié)

2.1.5 磨損均衡

閃存單元具有有限的可擦除次數(shù),一旦達(dá)到擦除次數(shù)上限,閃存單元內(nèi)部存儲(chǔ)數(shù)據(jù)將無(wú)法保障其可靠性.從固態(tài)硬盤(pán)角度來(lái)看,若部分閃存單元被快速磨損,則將導(dǎo)致固態(tài)硬盤(pán)存儲(chǔ)壽命退化,性能波動(dòng),以及數(shù)據(jù)存儲(chǔ)不可靠.因此,固態(tài)硬盤(pán)采用磨損均衡保障固態(tài)硬盤(pán)內(nèi)部閃存塊具有相近磨損程度,從而最大化固態(tài)硬盤(pán)使用壽命.磨損均衡按照實(shí)現(xiàn)算法可分為動(dòng)態(tài)磨損均衡(dynamic wear leveling)和靜態(tài)磨損均衡(static wear leveling)[43],按照作用域可分為全局磨損均衡(global wear leveling)和本地磨損均衡(local wear leveling).4種類(lèi)型的磨損均衡策略具體側(cè)重點(diǎn)和性能效果如表4所示:

Table 4 Summary of Wear Leveling Schemes表4 磨損均衡策略總結(jié)

1) 動(dòng)態(tài)磨損均衡[44].該磨損均衡算法的做法是將作用域內(nèi)可用閃存塊列入閃存塊池,在其內(nèi)部選擇擦除次數(shù)最少的閃存塊進(jìn)行數(shù)據(jù)寫(xiě)入.基于此,磨損較少的閃存塊能夠被寫(xiě)入更多數(shù)據(jù)內(nèi)容,從而在該閃存塊中觸發(fā)垃圾回收,實(shí)現(xiàn)磨損均衡.然而,動(dòng)態(tài)磨損均衡的不足在于,當(dāng)作用域內(nèi)存在數(shù)據(jù)長(zhǎng)期不更新,則這部分?jǐn)?shù)據(jù)所在的閃存塊將無(wú)法列入可用閃存塊池,從而導(dǎo)致動(dòng)態(tài)磨損均衡無(wú)法作用于這部分閃存塊.因此,動(dòng)態(tài)磨損均衡難以實(shí)現(xiàn)作用域內(nèi)所有閃存塊之間的磨損均衡.

2) 靜態(tài)磨損均衡[45-46].為解決動(dòng)態(tài)磨損均衡所存在的不足,靜態(tài)磨損均衡算法提出對(duì)作用域內(nèi)所有閃存塊實(shí)現(xiàn)磨損均衡,其思想是:將作用域內(nèi)所有閃存塊列入磨損均衡閃存塊池,并選擇擦除次數(shù)最少的閃存塊進(jìn)行數(shù)據(jù)寫(xiě)入.若所選閃存塊內(nèi)部存在數(shù)據(jù)內(nèi)容,則將數(shù)據(jù)內(nèi)容遷移至其他可用閃存塊.相比于動(dòng)態(tài)磨損均衡,靜態(tài)磨損均衡可更大程度延長(zhǎng)閃存塊使用壽命,但其引入的數(shù)據(jù)遷移將影響固態(tài)硬盤(pán)性能.

3) 全局磨損均衡和本地磨損均衡[47].在傳統(tǒng)閃存固態(tài)硬盤(pán)中,由于制程精度更大,閃存單元最大可容忍擦除次數(shù)更高,因此,固態(tài)硬盤(pán)可將磨損均衡算法的作用域設(shè)置為閃存芯片,保障閃存芯片之間相對(duì)磨損均衡.然而,目前閃存制程精度越來(lái)越小,導(dǎo)致閃存單元最大可容忍擦除次數(shù)逐步下降.因此,固態(tài)硬盤(pán)對(duì)閃存芯片之間的磨損均衡要求更為嚴(yán)格,從而將磨損均衡算法作用域擴(kuò)充至全盤(pán),實(shí)現(xiàn)全盤(pán)內(nèi)部的動(dòng)態(tài)磨損均衡或靜態(tài)磨損均衡算法.然而,全局磨損均衡將導(dǎo)致芯片之間的數(shù)據(jù)遷移,從而導(dǎo)致固態(tài)硬盤(pán)性能下降.

磨損均衡算法的高效性與固態(tài)硬盤(pán)壽命成直接關(guān)系.動(dòng)態(tài)磨損均衡和靜態(tài)磨損均衡在性能和壽命方面各有優(yōu)勢(shì),因此,如何高效合并2種磨損均衡算法,使得在提升固態(tài)硬盤(pán)壽命的同時(shí)不影響其性能將成為關(guān)鍵研究問(wèn)題.此外,面向固態(tài)硬盤(pán)日益增長(zhǎng)的存儲(chǔ)容量,全局磨損均衡在信息維護(hù),數(shù)據(jù)處理等方面的開(kāi)銷(xiāo)也將逐步增加.因此,如何減小大容量環(huán)境下的全局磨損均衡開(kāi)銷(xiāo)也將成為一個(gè)關(guān)鍵研究?jī)?nèi)容.

2.1.6 糾錯(cuò)碼

隨著制程工藝的進(jìn)步,閃存單元可靠性面臨更為嚴(yán)峻的挑戰(zhàn).如圖4所示,當(dāng)閃存單元受到錯(cuò)誤源干擾,其表現(xiàn)的電壓值將發(fā)生改變,從而導(dǎo)致閃存單元所代表的數(shù)據(jù)內(nèi)容出錯(cuò)[48].目前,閃存單元受到的出錯(cuò)影響主要包括:保存時(shí)間[49]、編程干擾[50]、讀干擾[51]和物理干擾[52]等.具體導(dǎo)致的閃存單元出錯(cuò)情況如表5所示.因此,為避免錯(cuò)誤源導(dǎo)致的數(shù)據(jù)錯(cuò)誤,提高數(shù)據(jù)可靠性,固態(tài)硬盤(pán)采用糾錯(cuò)碼實(shí)現(xiàn)數(shù)據(jù)出錯(cuò)之后的糾正恢復(fù).

Fig. 4 Threshold voltage distribution shifts of flash cell[48]圖4 閃存單元電壓狀態(tài)分布偏移[48]

Table 5 Summary of Flash Cell Error Sources[49-52]表5 閃存單元錯(cuò)誤源總結(jié)[49-52]

當(dāng)前,固態(tài)硬盤(pán)糾錯(cuò)碼主要2種類(lèi)型:BCH(Bose-Chaudhuri-Hocquenghem)[53-54]和LDPC(low-density parity-check)[55-56].糾錯(cuò)碼的效率決定于其是否能夠有效恢復(fù)錯(cuò)誤數(shù)據(jù)并降低數(shù)據(jù)錯(cuò)誤率至JEDEC標(biāo)準(zhǔn)(10-5)[57].由于BCH糾錯(cuò)能力較低,其主要應(yīng)用于制程精度較低,閃存單元密度較小的固態(tài)硬盤(pán)或者嵌入式閃存設(shè)備[58].針對(duì)LDPC,其已被廣泛應(yīng)用于制程精度更高、密度更大、可靠性要求更高的固態(tài)硬盤(pán),例如3D閃存固態(tài)硬盤(pán).

LDPC采用2種方式進(jìn)行數(shù)據(jù)糾錯(cuò),包括硬判決和軟判決[59],其實(shí)現(xiàn)過(guò)程是:首先,固態(tài)硬盤(pán)控制器利用LDPC進(jìn)行解碼糾錯(cuò),若解碼成功則返回?cái)?shù)據(jù)內(nèi)容.該過(guò)程稱(chēng)之為硬判決.若硬判決失敗,則進(jìn)入LDPC軟判決過(guò)程.軟判決通過(guò)不同探測(cè)電壓的讀操作獲得閃存單元數(shù)據(jù)的軟信息.軟信息表示閃存單元存儲(chǔ)數(shù)據(jù)是“0”或“1”的概率.根據(jù)軟信息數(shù)據(jù),LDPC再次進(jìn)行數(shù)據(jù)解碼糾錯(cuò),若解碼成功則返回?cái)?shù)據(jù)內(nèi)容,否則調(diào)整讀操作探測(cè)電壓,從而獲得更多軟信息.因此,LDPC的時(shí)間開(kāi)銷(xiāo)與糾錯(cuò)過(guò)程的讀操作次數(shù)成正比.目前,已有大量相關(guān)工作提出對(duì)LDPC糾錯(cuò)開(kāi)銷(xiāo)進(jìn)行優(yōu)化[60-62].

糾錯(cuò)碼的糾錯(cuò)能力與數(shù)據(jù)內(nèi)容和出錯(cuò)特征相關(guān),面對(duì)閃存單元制程精度和存儲(chǔ)密度的提高,糾錯(cuò)碼的糾錯(cuò)能力正面臨著更大的挑戰(zhàn).因此,一方面,如何設(shè)計(jì)具有更高糾錯(cuò)能力的糾錯(cuò)碼將成為研究方向之一;另一方面,如何充分利用數(shù)據(jù)內(nèi)容和出錯(cuò)特征,提高現(xiàn)有糾錯(cuò)碼的糾錯(cuò)能力和減少其時(shí)間開(kāi)銷(xiāo)將成為重要關(guān)注點(diǎn).

2.2 閃存固態(tài)硬盤(pán)結(jié)構(gòu)特征

固態(tài)硬盤(pán)具有高并行結(jié)構(gòu)特性.如圖3所示,固態(tài)硬盤(pán)內(nèi)部存在4級(jí)并行結(jié)構(gòu),數(shù)據(jù)通過(guò)訪問(wèn)不同并行單元實(shí)現(xiàn)高并發(fā)訪問(wèn)[63].在4級(jí)并行結(jié)構(gòu)中,“通道”和“芯片”級(jí)別并行結(jié)構(gòu)稱(chēng)之為外部并行.“晶圓”和“分組”級(jí)別并行結(jié)構(gòu)稱(chēng)之為內(nèi)部并行.外部并行是固態(tài)硬盤(pán)的固有并行結(jié)構(gòu),讀寫(xiě)請(qǐng)求通過(guò)數(shù)據(jù)分配策略可完全利用該并行結(jié)構(gòu).然而,針對(duì)內(nèi)部并行,為完全利用該級(jí)并行結(jié)構(gòu),固態(tài)硬盤(pán)需支持高級(jí)命令,且讀寫(xiě)請(qǐng)求需滿(mǎn)足相關(guān)限制條件[64].

固態(tài)硬盤(pán)高級(jí)命令包括3種類(lèi)型:Copyback,Multiplane及Interleave.首先,針對(duì)Copyback命令,其可將閃存頁(yè)數(shù)據(jù)內(nèi)容遷移至當(dāng)前分組中的可用閃存頁(yè).該命令的優(yōu)勢(shì)在于數(shù)據(jù)遷移過(guò)程可不經(jīng)過(guò)I/O總線,從而減小數(shù)據(jù)遷移時(shí)間開(kāi)銷(xiāo)[65];其次,Multiplane命令通過(guò)在同一晶圓內(nèi)的不同分組中同時(shí)執(zhí)行讀、寫(xiě)及擦除操作實(shí)現(xiàn)分組級(jí)別并行性.然而,Multiplane命令存在2個(gè)限制條件:1)不同分組中執(zhí)行的操作類(lèi)型相同,即同時(shí)在不同分組中執(zhí)行讀操作或?qū)懖僮骰虿脸僮鳎?)訪問(wèn)的分組內(nèi)偏移位置相同[66];最后,針對(duì)Interleave命令,該命令允許讀、寫(xiě)及擦除操作在同一閃存芯片內(nèi)的不同分組中同時(shí)執(zhí)行,且不存在限制條件[64].為完全利用固態(tài)硬盤(pán)的4級(jí)并行結(jié)構(gòu),研究人員分別在外部并行方面和內(nèi)部并行方面進(jìn)行了相關(guān)研究.

外部并行挖掘:基于傳統(tǒng)調(diào)度策略的固態(tài)硬盤(pán)無(wú)法充分利用外部并行優(yōu)勢(shì),如圖5所示,在配置有64個(gè)閃存芯片的固態(tài)硬盤(pán)中,大部分負(fù)載下的閃存芯片利用率均小于30%[40].為解決該問(wèn)題,大量相關(guān)工作提出了一系列優(yōu)化方案.例如:動(dòng)態(tài)數(shù)據(jù)分配策略通過(guò)監(jiān)控閃存芯片狀態(tài),利用貪婪算法將寫(xiě)請(qǐng)求數(shù)據(jù)寫(xiě)入當(dāng)前空閑閃存芯片,從而有效提升固態(tài)硬盤(pán)外部并行性利用率[39].PIQ(parallel issue queuing)提出在主機(jī)端根據(jù)請(qǐng)求邏輯地址確定訪問(wèn)的閃存芯片地址,從而通過(guò)調(diào)度器同時(shí)發(fā)送多個(gè)無(wú)訪問(wèn)沖突的請(qǐng)求數(shù)據(jù),充分利用固態(tài)硬盤(pán)外部并行[40].文獻(xiàn)[67]提出將沖突概率較大的數(shù)據(jù)頁(yè)復(fù)制遷移至其他閃存芯片,利用閃存芯片級(jí)別并行性減小讀操作受到的沖突阻塞影響.

Fig. 5 Results of utilized flash chips in SSD[40]圖5 閃存芯片利用率測(cè)試結(jié)果[40]

內(nèi)部并行挖掘:內(nèi)部并行挖掘的目標(biāo)是如何高效利用分組級(jí)別并行性.目前,如圖6所示,在當(dāng)前固態(tài)硬盤(pán)中,由于高級(jí)命令的限制,其內(nèi)部并行性利用率仍然較低.在支持Multiplane高級(jí)命令情況下的并行寫(xiě)操作平均比例僅為0.088 7%.

Fig. 6 The percentages of parallel writes in SSD[38]圖6 固態(tài)硬盤(pán)并行寫(xiě)測(cè)試結(jié)果[38]

為此,相關(guān)工作提出一系列優(yōu)化方法,實(shí)現(xiàn)基于Multiplane高級(jí)命令的并行性?xún)?yōu)化方案.例如:PAQ(physically addressed queuing)提出在固態(tài)硬盤(pán)控制器層次實(shí)現(xiàn)基于物理訪問(wèn)地址的調(diào)度策略,該策略通過(guò)地址映射表和數(shù)據(jù)分配策略提前確定當(dāng)前請(qǐng)求訪問(wèn)的分組位置,從而將訪問(wèn)不同分組的請(qǐng)求并行處理,提高分組級(jí)別并行性[68].TBM(twin block management)提出在不同分組的寫(xiě)入點(diǎn)維護(hù)機(jī)制中采用循環(huán)策略(round-robin policy),將寫(xiě)入數(shù)據(jù)循環(huán)寫(xiě)至不同分組內(nèi)偏移位置,從而主動(dòng)適配分組并行的2個(gè)限制條件[69].然而,由于寫(xiě)請(qǐng)求寫(xiě)入數(shù)量的不可預(yù)測(cè)性,不同分組的寫(xiě)入點(diǎn)無(wú)法保障時(shí)刻對(duì)齊狀態(tài),從而限制了分組并行的挖掘.除此之外,研究人員進(jìn)一步提出通過(guò)主動(dòng)構(gòu)造滿(mǎn)足分組并行限制條件的數(shù)據(jù)訪問(wèn)模式.PaGC(parallel GC)提出在不同分組中維護(hù)額外的寫(xiě)入點(diǎn),這些寫(xiě)入點(diǎn)具有相同的偏移位置.因此,垃圾回收的數(shù)據(jù)遷移可利用分組并行性同時(shí)進(jìn)行數(shù)據(jù)遷移,從而提高垃圾回收效率[38].類(lèi)似地,SPD(an SSD from plane to die)提出利用固態(tài)硬盤(pán)緩存設(shè)備進(jìn)行訪問(wèn)模式重構(gòu)[38].SPD通過(guò)從緩存設(shè)備中剔除與一個(gè)晶圓內(nèi)分組數(shù)量相同的數(shù)據(jù)頁(yè)個(gè)數(shù),并將剔除數(shù)據(jù)對(duì)齊寫(xiě)回不同分組的相同偏移位置實(shí)現(xiàn)分組并行挖掘.基于此,SPD對(duì)垃圾回收過(guò)程的數(shù)據(jù)遷移采取相同做法,從而保證固態(tài)硬盤(pán)的一個(gè)晶圓內(nèi)部的所有分組寫(xiě)入點(diǎn)均處于對(duì)齊狀態(tài),從而完全利用分組并行性.相比于TBM和PaGC,SPD寫(xiě)請(qǐng)求時(shí)延分別下降42.05%和28.58%.

固態(tài)硬盤(pán)的并行性是性能優(yōu)化的一個(gè)重要途徑.當(dāng)前大量相關(guān)工作針對(duì)數(shù)據(jù)的訪問(wèn)特征以及并行性的限制條件進(jìn)行請(qǐng)求調(diào)度、數(shù)據(jù)分配等優(yōu)化設(shè)計(jì),然而,僅從主機(jī)讀寫(xiě)請(qǐng)求訪問(wèn)特征角度進(jìn)行并行性挖掘仍存在一定的局限性.由于固態(tài)硬盤(pán)存在大量?jī)?nèi)部活動(dòng),例如垃圾回收、磨損均衡、映射條目讀寫(xiě)等,主機(jī)讀寫(xiě)請(qǐng)求的訪問(wèn)特征極易受到固態(tài)硬盤(pán)內(nèi)部活動(dòng)的干擾,因此,在固態(tài)硬盤(pán)并行性挖掘過(guò)程中,研究人員應(yīng)當(dāng)充分考慮固態(tài)硬盤(pán)內(nèi)部活動(dòng)帶來(lái)的數(shù)據(jù)遷移影響.

3 新型閃存固態(tài)硬盤(pán)

隨著制程工藝的進(jìn)步,在保障數(shù)據(jù)可靠存儲(chǔ)的前提下,傳統(tǒng)閃存固態(tài)硬盤(pán)的存儲(chǔ)容量難以進(jìn)一步增加.因此,各大閃存廠商提出利用3D堆疊式結(jié)構(gòu)增加單位物理面積下的存儲(chǔ)容量[70].當(dāng)前主流的堆疊技術(shù)包括BiCS[71],P-BiCS[72],VNAND[73]和TCAT[74].以三星公司推出的TCAT結(jié)構(gòu)為例,其結(jié)構(gòu)如圖7所示.閃存單元在3D閃存塊中呈立體堆疊式構(gòu)造,同一水平面上的閃存單元構(gòu)成“層”級(jí)結(jié)構(gòu)[75-76].目前,3D固態(tài)硬盤(pán)內(nèi)部的閃存單元采用TLC或QLC類(lèi)型,使得存儲(chǔ)容量進(jìn)一步提升.基于這2種方式,3D固態(tài)硬盤(pán)存儲(chǔ)容量已達(dá)到TB級(jí)別.

Fig. 7 The architecture of TCAT based 3D flash block[74]圖7 基于TCAT的3D閃存塊結(jié)構(gòu)示意圖[74]

3.1 3D固態(tài)硬盤(pán)特征

相比于傳統(tǒng)平面固態(tài)硬盤(pán),3D固態(tài)硬盤(pán)在結(jié)構(gòu)方面的差異主要體現(xiàn)在閃存塊結(jié)構(gòu).傳統(tǒng)平面固態(tài)硬盤(pán)的閃存塊呈現(xiàn)平面結(jié)構(gòu),但3D固態(tài)硬盤(pán)閃存塊采用3D垂直堆疊式結(jié)構(gòu),該結(jié)構(gòu)可有效提高單位面積存儲(chǔ)容量.現(xiàn)有3D閃存芯片已實(shí)現(xiàn)128層的堆疊技術(shù).2019年,三星、美光等國(guó)外公司相繼推出128層3D閃存芯片[77-78].2020年我國(guó)長(zhǎng)江存儲(chǔ)研制出128層3D閃存芯片,其推出的XTacking結(jié)構(gòu)通過(guò)控制電路與存儲(chǔ)電路堆疊的方式實(shí)現(xiàn)了電路面積的進(jìn)一步縮小,并提高了存儲(chǔ)顆粒生產(chǎn)效率[79].三星公司表示,在未來(lái)5年內(nèi)將有望實(shí)現(xiàn)500層的3D閃存芯片堆疊技術(shù),在未來(lái)10年,3D堆疊層數(shù)有望突破1 000層.

3D固態(tài)硬盤(pán)的另一結(jié)構(gòu)特征是更大尺寸的閃存頁(yè).當(dāng)前3D固態(tài)硬盤(pán)最大閃存頁(yè)尺寸可達(dá)32KB.這一特征使得上層應(yīng)用的訪問(wèn)數(shù)據(jù)粒度與3D固態(tài)硬盤(pán)閃存頁(yè)粒度難以匹配,從而在小尺寸數(shù)據(jù)訪問(wèn)環(huán)境下,引起3D固態(tài)硬盤(pán)性能下降以及壽命退化.類(lèi)似地,3D固態(tài)硬盤(pán)閃存塊內(nèi)部的閃存頁(yè)數(shù)量也呈現(xiàn)增長(zhǎng)趨勢(shì),從而導(dǎo)致3D固態(tài)硬盤(pán)閃存塊的數(shù)據(jù)遷移開(kāi)銷(xiāo)增大,引起性能下降.

因此,基于3D固態(tài)硬盤(pán)結(jié)構(gòu)特征的改變,3D固態(tài)硬盤(pán)研究領(lǐng)域?qū)⒊霈F(xiàn)新的挑戰(zhàn):1)3D固態(tài)硬盤(pán)作為最新的仍受限于有限的電路空間,3D閃存芯片堆疊層數(shù)無(wú)法無(wú)限制增加,因此,如何在現(xiàn)有3D結(jié)構(gòu)中進(jìn)一步提高存儲(chǔ)容量將成為3D固態(tài)硬盤(pán)的一個(gè)研究重點(diǎn);2)3D固態(tài)硬盤(pán)閃存頁(yè)具有更大尺寸,閃存塊具有更多閃存頁(yè),因此,如何減少大閃存頁(yè)結(jié)構(gòu)下的寫(xiě)放大問(wèn)題,以及如何減少閃存塊垃圾回收導(dǎo)致的數(shù)據(jù)遷移時(shí)間開(kāi)銷(xiāo)將成為3D固態(tài)硬盤(pán)的壽命和性能優(yōu)化的研究熱點(diǎn).

在3D固態(tài)硬盤(pán)制程粒度方面,由于當(dāng)前3D堆疊技術(shù)采用的制程粒度較大(30 nm至50 nm),因此,3D閃存塊內(nèi)部的層與層之間具有較大的容錯(cuò)空間,從而使得閃存單元之間的錯(cuò)誤干擾(例如編程干擾等)影響較小[50].基于此,3D固態(tài)硬盤(pán)可采用“一次編程到位(one-shot programming)”方式提升寫(xiě)操作吞吐率和性能[80].相比于傳統(tǒng)ISPP編程方式,“一次編程到位”方式可將閃存單元從初始擦除位直接編程至目標(biāo)位.該編程過(guò)程要求,所有待編程數(shù)據(jù)需提前確定,從而通過(guò)一次編程操作在閃存單元中同時(shí)寫(xiě)入多個(gè)比特?cái)?shù)據(jù).

然而,由于3D固態(tài)硬盤(pán)采用的閃存單元類(lèi)型從TLC,發(fā)展至QLC,甚至PLC,因此,閃存單元的電壓狀態(tài)分布更為密集,從而使得3D固態(tài)硬盤(pán)對(duì)可靠性的要求更高.此外,在更高的制程精度下,“一次編程到位”方式將導(dǎo)致3D固態(tài)硬盤(pán)比特錯(cuò)誤率增加,進(jìn)一步影響其可靠性,因此,如何進(jìn)一步提高3D固態(tài)硬盤(pán)的可靠性將成為未來(lái)3D固態(tài)硬盤(pán)發(fā)展的重要支撐點(diǎn).

3.2 3D固態(tài)硬盤(pán)優(yōu)化方案

針對(duì)3D固態(tài)硬盤(pán)性能優(yōu)化,ApproxFTL提出利用3D固態(tài)硬盤(pán)的高容錯(cuò)能力,通過(guò)近似數(shù)據(jù)寫(xiě)操作的方式,縮短閃存單元編程電壓范圍,從而在保障數(shù)據(jù)一定可靠性的前提下,實(shí)現(xiàn)更快的編程速度[81].OSPADA提出“一次編程到位”編程方式感知的數(shù)據(jù)布局方法[82].由于“一次編程到位”編程方式在單條字線的閃存單元中同時(shí)寫(xiě)入多個(gè)數(shù)據(jù),從而導(dǎo)致順序訪問(wèn)的熱讀數(shù)據(jù)的順序讀性能差.因此,OSPADA提出將熱讀數(shù)據(jù)寫(xiě)入不同的字線,實(shí)現(xiàn)并行讀操作,提升3D固態(tài)硬盤(pán)讀性能.

針對(duì)3D固態(tài)硬盤(pán)壽命優(yōu)化,相比于同種閃存單元類(lèi)型(例如TLC)的傳統(tǒng)固態(tài)硬盤(pán),3D固態(tài)硬盤(pán)制程粒度較大,因此,其可容忍的編程/擦除次數(shù)更大,使用壽命更長(zhǎng).為進(jìn)一步優(yōu)化3D固態(tài)硬盤(pán)使用壽命,ReSSD提出利用3D閃存單元重編程技術(shù)增加閃存單元在一個(gè)擦除周期內(nèi)的存儲(chǔ)比特量,從而減少垃圾回收次數(shù),進(jìn)而提高3D固態(tài)硬盤(pán)使用壽命[83].相比于傳統(tǒng)重編程技術(shù),由于3D閃存單元具有更大的制程粒度,且閃存單元之間存儲(chǔ)間距更大,因此,3D閃存單元具有更高的容錯(cuò)能力,從而針對(duì)重編程技術(shù)具有更好的適配度,可有效解決重編程問(wèn)題帶來(lái)的可靠性影響.ApproxFTL提出的縮短閃存單元編程電壓范圍的方法同樣可提高3D固態(tài)硬盤(pán)的使用壽命,其方法是:對(duì)閃存單元寫(xiě)操作施加小步幅編程電壓,從而減少閃存單元磨損,從而提高3D固態(tài)硬盤(pán)壽命[81].

目前,3D固態(tài)硬盤(pán)正處于興起階段,其具有不同于傳統(tǒng)固態(tài)硬盤(pán)的獨(dú)有特征,例如大閃存頁(yè)、大閃存塊以及高容錯(cuò)能力等.在未考慮3D固態(tài)硬盤(pán)獨(dú)有特征的情況下,現(xiàn)有的性能和壽命優(yōu)化工作難以取得顯著效果,從而制約了3D固態(tài)硬盤(pán)的發(fā)展.因此,如何充分考慮3D固態(tài)硬盤(pán)的獨(dú)有特征,設(shè)計(jì)高效的壽命和性能優(yōu)化技術(shù)將成為3D固態(tài)硬盤(pán)發(fā)展過(guò)程中的關(guān)鍵挑戰(zhàn).

4 總結(jié)與展望

本文從閃存固態(tài)硬盤(pán)的基本結(jié)構(gòu)特征、固態(tài)硬盤(pán)控制器組件、3D固態(tài)硬盤(pán)的結(jié)構(gòu)與優(yōu)化3個(gè)角度出發(fā),詳細(xì)分析了固態(tài)硬盤(pán)的結(jié)構(gòu)特征和發(fā)展趨勢(shì),并針對(duì)關(guān)鍵技術(shù)內(nèi)容和發(fā)展趨勢(shì)進(jìn)行了剖析.現(xiàn)有的固態(tài)硬盤(pán)關(guān)鍵技術(shù)能有效提高其性能和壽命,但面對(duì)上層高性能應(yīng)用的興起,固態(tài)硬盤(pán)現(xiàn)有的訪問(wèn)性能和使用壽命仍然無(wú)法滿(mǎn)足數(shù)據(jù)長(zhǎng)期有效存儲(chǔ)以及快速響應(yīng)的嚴(yán)苛需求.因此,如何利用傳統(tǒng)固態(tài)硬盤(pán)的結(jié)構(gòu)特征以及高性能應(yīng)用環(huán)境下的數(shù)據(jù)訪問(wèn)特征,提升固態(tài)硬盤(pán)性能和壽命將是一個(gè)重要挑戰(zhàn).此外,面對(duì)3D固態(tài)硬盤(pán),如何實(shí)現(xiàn)存儲(chǔ)容量和性能以及壽命之間的權(quán)衡,在滿(mǎn)足大容量數(shù)據(jù)存儲(chǔ)的同時(shí),實(shí)現(xiàn)高性能訪問(wèn)和長(zhǎng)使用壽命也將是3D固態(tài)硬盤(pán)的重要研究方向.

首先,針對(duì)固態(tài)硬盤(pán)控制器內(nèi)部組件,基于各類(lèi)新型非易失存儲(chǔ)器,如何在控制器緩存設(shè)備中利用新型非易失存儲(chǔ)器的性能優(yōu)勢(shì)將對(duì)固態(tài)硬盤(pán)的性能起到至關(guān)重要的作用.并且,基于固態(tài)硬盤(pán)的緩存優(yōu)勢(shì),如何進(jìn)一步實(shí)現(xiàn)基于固體硬盤(pán)的智能存儲(chǔ),將處理數(shù)據(jù)在緩存中進(jìn)行提前處理,從而避免數(shù)據(jù)在傳統(tǒng)I/O棧上的高軟件傳輸開(kāi)銷(xiāo);其次,針對(duì)閃存轉(zhuǎn)換層,如何在3D固態(tài)硬盤(pán)中設(shè)計(jì)高效的閃存轉(zhuǎn)換層,從而減小空間、時(shí)間開(kāi)銷(xiāo),提升命中率將是目前的一個(gè)研究難點(diǎn).并且,如何針對(duì)新型應(yīng)用,例如神經(jīng)網(wǎng)絡(luò)應(yīng)用,設(shè)計(jì)匹配神經(jīng)網(wǎng)絡(luò)應(yīng)用的閃存轉(zhuǎn)換層也將成為一個(gè)研究熱點(diǎn);此外,針對(duì)垃圾回收和磨損均衡,考慮到固態(tài)硬盤(pán)內(nèi)部活動(dòng)的復(fù)雜性,如何將請(qǐng)求數(shù)據(jù)特征與固態(tài)硬盤(pán)內(nèi)部結(jié)構(gòu)和內(nèi)部數(shù)據(jù)活動(dòng)想結(jié)合,減小垃圾回收頻率以及提高磨損均衡效率將有效提高固態(tài)硬盤(pán)的性能和壽命.最后,針對(duì)3D固態(tài)硬盤(pán),傳統(tǒng)固態(tài)硬盤(pán)優(yōu)化技術(shù)將難以取得有效的性能和壽命優(yōu)化,原因在于,相比于傳統(tǒng)固態(tài)硬盤(pán),3D固態(tài)硬盤(pán)在內(nèi)部結(jié)構(gòu)、容錯(cuò)能力、以及編程方式等方面具有不同的特征.因此,為有效提升3D固態(tài)硬盤(pán)的性能和壽命,研究人員需充分考慮3D固態(tài)硬盤(pán)的獨(dú)有特征,發(fā)揮3D堆疊式結(jié)構(gòu)、高容錯(cuò)能力等優(yōu)勢(shì),實(shí)現(xiàn)高性能、高壽命的3D固態(tài)硬盤(pán).此外,針對(duì)國(guó)產(chǎn)3D固態(tài)硬盤(pán),研究其特有的堆疊結(jié)構(gòu),發(fā)揮其獨(dú)有優(yōu)勢(shì),從而實(shí)現(xiàn)國(guó)產(chǎn)3D固態(tài)硬盤(pán)的優(yōu)化設(shè)計(jì)將有助于推動(dòng)國(guó)產(chǎn)3D固態(tài)硬盤(pán)的普及,助力存儲(chǔ)行業(yè)的發(fā)展.

綜上,固態(tài)硬盤(pán)將成為存儲(chǔ)系統(tǒng)的主流存儲(chǔ)設(shè)備.在高性能應(yīng)用環(huán)境下,進(jìn)一步優(yōu)化傳統(tǒng)固態(tài)硬盤(pán)和新型3D固態(tài)硬盤(pán)的性能和壽命將有助于推動(dòng)固態(tài)硬盤(pán)的廣泛應(yīng)用和存儲(chǔ)產(chǎn)業(yè)的發(fā)展.

作者貢獻(xiàn)聲明:高聰明進(jìn)行了該論文相關(guān)實(shí)驗(yàn)設(shè)計(jì)、編碼及測(cè)試、論文撰寫(xiě)等工作;石亮進(jìn)行了前期實(shí)驗(yàn)方案的討論設(shè)計(jì)與論文修改;劉凱進(jìn)行了論文結(jié)構(gòu)討論和修改;薛春進(jìn)行了實(shí)驗(yàn)補(bǔ)充設(shè)計(jì)討論及論文修改;舒繼武進(jìn)行了論文修改以及新型固態(tài)硬盤(pán)研究討論.

猜你喜歡
策略
基于“選—練—評(píng)”一體化的二輪復(fù)習(xí)策略
幾何創(chuàng)新題的處理策略
求初相φ的常見(jiàn)策略
例談未知角三角函數(shù)值的求解策略
我說(shuō)你做講策略
“我說(shuō)你做”講策略
數(shù)據(jù)分析中的避錯(cuò)策略
高中數(shù)學(xué)復(fù)習(xí)的具體策略
“唱反調(diào)”的策略
幸福(2017年18期)2018-01-03 06:34:53
價(jià)格調(diào)整 講策略求互動(dòng)
主站蜘蛛池模板: 亚洲av无码久久无遮挡| 日韩成人午夜| 香蕉视频在线精品| 2021最新国产精品网站| 中文字幕在线免费看| 国产成人禁片在线观看| www.日韩三级| 中文无码影院| 特级做a爰片毛片免费69| 欧美不卡在线视频| 亚洲无码高清一区| 97国产精品视频自在拍| 成人中文字幕在线| 亚洲精品视频免费观看| 色婷婷综合激情视频免费看| 午夜一区二区三区| 毛片网站在线播放| 成人在线综合| 乱人伦中文视频在线观看免费| 亚洲视频免费播放| 日韩a在线观看免费观看| 国产精品一区在线麻豆| 男女性午夜福利网站| 在线看AV天堂| 一级香蕉视频在线观看| 精品久久久久久久久久久| 久久国产av麻豆| 谁有在线观看日韩亚洲最新视频| 久久综合一个色综合网| 亚洲天堂网2014| 亚洲热线99精品视频| 欧美一区二区自偷自拍视频| 国产麻豆精品在线观看| 日韩色图在线观看| 国产成人av大片在线播放| 国产成人亚洲无码淙合青草| 91成人精品视频| 久久大香香蕉国产免费网站| 午夜爽爽视频| 91久久精品日日躁夜夜躁欧美| 欧美色视频在线| 国产二级毛片| 亚洲av综合网| 少妇露出福利视频| 亚洲一级毛片免费观看| 在线色国产| 色悠久久久| 在线不卡免费视频| 国产免费久久精品99re不卡| 亚洲一区二区三区香蕉| 伊人久综合| 欧美不卡视频在线观看| 欧美福利在线观看| 精品视频一区二区三区在线播| 日本不卡免费高清视频| 5388国产亚洲欧美在线观看| 秋霞国产在线| 亚洲精品国产成人7777| 中文精品久久久久国产网址| 都市激情亚洲综合久久| 亚洲成a人片| 97综合久久| 91黄视频在线观看| 日本在线欧美在线| 午夜不卡福利| 91人妻在线视频| 狠狠色丁香婷婷综合| 自拍偷拍欧美| 先锋资源久久| 国产91无码福利在线| 全部免费特黄特色大片视频| 思思99思思久久最新精品| 国产Av无码精品色午夜| 正在播放久久| 天堂成人在线视频| 青草91视频免费观看| 免费不卡在线观看av| 中文字幕乱码中文乱码51精品| 久久香蕉国产线看精品| 欧美成人免费| 久久综合伊人 六十路| 试看120秒男女啪啪免费|