本文中所公開的至少一些實(shí)施例大體上涉及存儲器裝置且更特定來說但不限于,使用多支柱存儲器單元來執(zhí)行乘法及其它運(yùn)算的存儲器裝置。
背景技術(shù):
1、有限的存儲器帶寬是機(jī)器學(xué)習(xí)系統(tǒng)中的一個重大問題。例如,當(dāng)前系統(tǒng)中使用的dram裝置存儲深度神經(jīng)網(wǎng)絡(luò)(dnn)中使用的大量權(quán)重及激活。
2、在一個實(shí)例中,深度學(xué)習(xí)機(jī)器(例如支持針對卷積神經(jīng)網(wǎng)絡(luò)(cnn)的處理的那些機(jī)器)執(zhí)行處理以確定每秒的大量計(jì)算。例如,輸入/輸出數(shù)據(jù)、深度學(xué)習(xí)網(wǎng)絡(luò)訓(xùn)練參數(shù)及中間結(jié)果不斷地從一或多個存儲器裝置(例如,dram)提取及存儲在所述一或多個存儲器裝置中。當(dāng)涉及大存儲密度(例如,大于100mb的存儲密度)時,通常歸因于其成本優(yōu)勢而使用dram類型的存儲器。在深度學(xué)習(xí)硬件系統(tǒng)的一個實(shí)例中,計(jì)算單元(例如,單片系統(tǒng)(soc)、fpga、cpu或gpu)附接到(若干)存儲器裝置(例如,dram裝置)。
3、現(xiàn)存計(jì)算機(jī)架構(gòu)使用專用于串行處理的處理器芯片及針對高密度存儲器優(yōu)化的dram。這兩個裝置之間的接口是一個主要瓶頸,其引入延時及帶寬限制且增加相當(dāng)大的功耗開銷。片上存儲器是面積昂貴的且不可能將大量存儲器添加到當(dāng)前用來訓(xùn)練及部署dnn的cpu及gpu處理器。
4、使用神經(jīng)網(wǎng)絡(luò)中的存儲器以隨著輸入傳播通過網(wǎng)絡(luò)而存儲輸入數(shù)據(jù)、權(quán)重參數(shù)及激活。在訓(xùn)練中,必須保留來自正向通路的激活,直到它們可被用來計(jì)算反向通路中的錯誤梯度。作為實(shí)例,網(wǎng)絡(luò)可具有2600萬個權(quán)重參數(shù)且計(jì)算正向通路中的1600萬次激活。如果使用32位浮點(diǎn)值來存儲每一權(quán)重及激活,那么這對應(yīng)于168mb的總存儲要求。
5、gpu及其它機(jī)器需要顯著存儲器用于神經(jīng)網(wǎng)絡(luò)的權(quán)重及激活。gpu無法高效地直接執(zhí)行深度神經(jīng)網(wǎng)絡(luò)中使用的小卷積,因此它們需要顯著激活或權(quán)重存儲。最后,還需要存儲器來存儲輸入數(shù)據(jù)、臨時值及程序指令。例如,高性能gpu可能需要超過7gb的本地dram。
6、在gpu處理器上無法保持大量存儲數(shù)據(jù)。在許多情況下,高性能gpu處理器可能具有僅1kb的存儲器與可足夠快地讀取以使浮點(diǎn)數(shù)據(jù)路徑飽和的處理器核心中的每一者相關(guān)聯(lián)。因此,在dnn的每一層處,gpu需要將狀態(tài)保存到外部dram,加載網(wǎng)絡(luò)的下一層,且接著重載數(shù)據(jù)。因此,片外存儲器接口遭受不斷地重載權(quán)重以及保存及檢索激活的負(fù)擔(dān)。這顯著地縮減訓(xùn)練時間且增加功耗。
7、在一個實(shí)例中,使用圖像及其它傳感器且其產(chǎn)生大量數(shù)據(jù)。在一些應(yīng)用中,將某些類型的數(shù)據(jù)從所述傳感器傳輸?shù)酵ㄓ梦⑻幚砥?例如,中央處理單元(cpu))以供處理是低效的。例如,將圖像數(shù)據(jù)從圖像傳感器傳輸?shù)轿⑻幚砥饕怨﹫D像分段、對象辨識、特征提取等是低效的。
8、一些圖像處理可包含涉及用于累加的元素的列或矩陣的乘法的密集型計(jì)算。已開發(fā)出用于加速乘法及累加運(yùn)算的一些專用電路。例如,乘法器-累加器(mac單元)可使用一組并行計(jì)算邏輯電路來實(shí)施以實(shí)現(xiàn)比通用微處理器更高的計(jì)算性能。
技術(shù)實(shí)現(xiàn)思路
1、根據(jù)本申請的一方面,提供一種裝置。所述裝置包括:選擇晶體管;晶體管的至少一個第一支柱;晶體管的至少一個第二支柱,其中多個存儲器單元中的每一者包含來自所述第一支柱的相應(yīng)第一晶體管及來自所述第二支柱的相應(yīng)第二晶體管;及位線,其上覆于所述第一及第二支柱,其中所述第一及第二支柱中的每一者通過所述選擇晶體管電連接到所述位線。
2、根據(jù)本申請的另一方面,提供一種方法。所述方法包括:在半導(dǎo)體襯底上形成邏輯電路系統(tǒng);在所述半導(dǎo)體襯底上方形成存儲器單元陣列;在所述陣列上方形成導(dǎo)電層;及圖案化所述導(dǎo)電層以提供位線,所述位線包含用來存取第一存儲器單元的第一位線;其中所述邏輯電路系統(tǒng)經(jīng)配置以使用所述第一位線累加來自所述第一存儲器單元的輸出電流。
3、根據(jù)本申請的又一方面,提供一種設(shè)備。所述設(shè)備包括:主機(jī)接口,其經(jīng)配置以與主機(jī)通信;及存儲器單元陣列,其包括經(jīng)配置以存儲從所述主機(jī)接收的權(quán)重的存儲器單元及經(jīng)配置以存取所述存儲器單元的存取線,其中所述陣列包含支柱的行,且所述陣列的每一存儲器單元包含來自位于所述支柱的鄰近行中的至少兩個相應(yīng)支柱的相應(yīng)晶體管。
1.一種裝置,其包括:
2.根據(jù)權(quán)利要求1所述的裝置,其進(jìn)一步包括經(jīng)配置以選擇第一存儲器單元的字線,其中所述字線連接到所述第一存儲器單元的所述相應(yīng)第一及第二晶體管的柵極,且其中所述位線經(jīng)配置以累加來自所述第一存儲器單元的輸出電流。
3.根據(jù)權(quán)利要求1所述的裝置,其中用于乘法的至少一個輸入模式被施加到所述選擇晶體管的柵極,所述裝置進(jìn)一步包括用以累加存儲器單元輸出電流且提供乘法的數(shù)字結(jié)果的累加器。
4.根據(jù)權(quán)利要求1所述的裝置,其中每一存儲器單元的所述第一及第二晶體管經(jīng)并行編程以在已選擇所述存儲器單元時存儲乘法中使用的相應(yīng)權(quán)重。
5.一種方法,其包括:
6.根據(jù)權(quán)利要求5所述的方法,其進(jìn)一步包括:
7.根據(jù)權(quán)利要求5所述的方法,其中:
8.一種設(shè)備,其包括:
9.根據(jù)權(quán)利要求8所述的設(shè)備,其進(jìn)一步包括邏輯電路系統(tǒng),所述邏輯電路系統(tǒng)經(jīng)配置以:
10.根據(jù)權(quán)利要求8所述的設(shè)備,其中所述存取線是上覆于所述支柱的位線,所述設(shè)備進(jìn)一步包括耦合到所述位線且經(jīng)配置以測量來自所述存儲器單元的輸出電流的感測電路系統(tǒng)。