最新的毛片基地免费,国产国语一级毛片,免费国产成人高清在线电影,中天堂国产日韩欧美,中国国产aa一级毛片,国产va欧美va在线观看,成人不卡在线

用于非易失性存儲器中的分布式計算的系統(tǒng)和方法與流程

文檔序號:11160829閱讀:1193來源:國知局
用于非易失性存儲器中的分布式計算的系統(tǒng)和方法與制造工藝

本申請要求(于2014年5月29日提交的)美國申請No.14/290,305的權(quán)益,將其全文通過引用并入于此。

技術(shù)領(lǐng)域

本申請總的來說涉及在系統(tǒng)中管理數(shù)據(jù)。更具體地,本申請涉及非易失性存儲器中的分布式計算。



背景技術(shù):

數(shù)據(jù)存儲裝置可以采取幾種形式之一。一種形式是硬盤驅(qū)動器(HDD),其中在涂覆有磁性材料的盤上存儲數(shù)據(jù)。通常,HDD包括多個快速地旋轉(zhuǎn)的盤,布置在移動致動器臂上的磁頭從盤表面讀取數(shù)據(jù)和寫入數(shù)據(jù)到盤表面。數(shù)據(jù)存儲裝置的另一形式是固態(tài)驅(qū)動器(SSD)。與在HDD中使用盤不同,SSD使用集成電路組件來存儲數(shù)據(jù)。SSD可以使用與HDD的傳統(tǒng)的塊輸入/輸出(I/O)可兼容的電子接口。在這點上,SSD可以在常規(guī)應(yīng)用中容易地替換HDD。



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

本發(fā)明公開了用于在存儲器系統(tǒng)(例如固態(tài)驅(qū)動器(SSD))內(nèi)并入數(shù)學(xué)和/或邏輯功能性的系統(tǒng)和方法。該數(shù)學(xué)和/或邏輯功能性可以包括運算邏輯單元(ALU)。ALU可以駐留在存儲器系統(tǒng)的各種部分中。在SSD中,其可以包括SSD控制器和一個或者多個存儲器芯片,一個或多個ALU可以位于一個或多個閃存存儲器芯片或者SSD控制器之一或者兩者中。當(dāng)駐留在閃存存儲器芯片中時,可以使用單個ALU或者多個ALU。例如,單個ALU可以被分配給閃存存儲器芯片內(nèi)的閃存存儲器的一個塊、某些塊或者每個塊。作為另一實例,ALU可以被分配給子塊結(jié)構(gòu),例如塊中每一位線。ALU駐留在例如SSD的存儲器系統(tǒng)中使得能夠在SSD內(nèi)執(zhí)行更多處理和減小發(fā)送數(shù)據(jù)到SSD外部以用于處理的需要。另外,ALU駐留在例如SSD的存儲器系統(tǒng)中使存儲器系統(tǒng)能夠執(zhí)行各種功能,例如數(shù)據(jù)庫功能、圖像處理功能和/或文件系統(tǒng)功能。

根據(jù)第一方面,公開了包括存儲器的固態(tài)驅(qū)動器(SSD)。該SSD包括:配置為與主機裝置通信的接口;和與接口通信的控制器,該控制器包括運算邏輯單元(ALU)。該控制器配置為:從主機裝置接收命令;響應(yīng)于接收到命令,使用ALU以生成一個或多個結(jié)果;和將一個或多個結(jié)果的至少一部分或者一個或多個結(jié)果的指示發(fā)送到主機裝置。

在第二方面中,公開了電子集成電路與多個主機之一通信的方法。該方法包括:使用主機協(xié)議經(jīng)由第一組電觸點與第一主機通信,電子集成電路嵌入在第一主機內(nèi),該第一組電觸點在電子集成電路的封裝外部上;接收一個或多個信號以選擇用于測試電子集成電路的至少一部分的第二組電觸點,該第二組電觸點在電子集成電路的封裝外部上;和基于所接收的一個或多個信號,使用主機接口開關(guān)從與第一組電觸點的某些或者全部的通信切換到使用主機協(xié)議的與第二組電觸點的某些或者全部的通信,以使得第二主機測試電子集成電路的至少一部分。

在第三方面中,公開了配置用于固態(tài)驅(qū)動器(SSD)的存儲器集成電路芯片。該存儲器集成電路芯片包括:配置為與用于SSD的SSD控制器通信的接口;存儲器;和與接口和存儲器通信的控制器??刂破靼ㄟ\算邏輯單元(ALU)且被配置為:從SSD控制器接收命令;響應(yīng)于接收到命令,使用ALU以生成一個或多個結(jié)果;和將一個或多個結(jié)果的至少一部分或者一個或多個結(jié)果的指示發(fā)送到SSD控制器。

在第四方面中,提供了操作配置用于固態(tài)驅(qū)動器(SSD)的存儲器集成電路芯片的方法。該方法包括:經(jīng)由接口從SSD的SSD控制器接收命令;響應(yīng)于接收到命令,使用運算邏輯單元(ALU)以生成一個或多個結(jié)果,該ALU駐留在存儲器集成電路芯片中;和將一個或多個結(jié)果的至少一部分或者一個或多個結(jié)果的指示發(fā)送到SSD控制器。

在第五方面中,公開了配置用于固態(tài)驅(qū)動器(SSD)的存儲器集成電路芯片。該存儲器集成電路芯片包括:配置為與用于SSD的SSD控制器通信的接口;存儲器;和與接口和存儲器通信的控制器。該控制器包括數(shù)學(xué)功能性或邏輯功能性,該邏輯功能性包括異或(XOR)功能性和與(AND)功能性或者或(OR)功能性中的至少一個。該控制器配置為:從SSD控制器接收命令;響應(yīng)于接收到命令,使用數(shù)學(xué)功能性或邏輯功能性以生成一個或多個結(jié)果;和將一個或多個結(jié)果的至少一部分或者一個或多個結(jié)果的指示發(fā)送到SSD控制器。更具體地,該存儲器集成電路芯片可以包括控制器,該控制器包括數(shù)學(xué)功能性和邏輯功能性,其中邏輯功能性包括XOR功能性,AND功能性和OR功能性。

其他特征和優(yōu)點將在瀏覽以下附圖、詳細(xì)說明和權(quán)利要求時變得明顯。另外,公開了其他實施例,且每一個實施例可以單獨使用或者組合地一起使用?,F(xiàn)在將參考附圖描述實施例。

附圖說明

參考以下附圖和描述可以更好地理解該系統(tǒng)。在附圖中,相同的附圖標(biāo)記指示遍及不同的圖中相應(yīng)的部分。

圖1示出與存儲器裝置連接的主機。

圖2示出SSD的框圖。

圖3A示出閃存存儲器芯片控制器的框圖的第一實例。

圖3B-圖3C示出分配給閃存存儲器陣列中的塊的一個或多個ALU的框圖的實例。

圖3D是分配給閃存存儲器區(qū)塊的ALU的實例。

圖3E示出SSD控制器芯片的框圖的第一實例。

圖4A-圖4B分別示出閃存存儲器芯片控制器和SSD控制器芯片的框圖的第二實例。

圖5示出SSD控制器芯片的第三實例的框圖。

圖6示出由閃存存儲器芯片控制器執(zhí)行的動作的流程圖。

圖7示出由SSD控制器芯片執(zhí)行的動作的流程圖。

具體實施方式

主機裝置可以包括一個或多個外圍裝置。該外圍裝置可以與主機裝置通信(例如連接到主機裝置),從而擴展主機裝置的功能性。一種類型的外圍裝置是存儲裝置,其增加主機裝置的存儲容量由此增加主機裝置的功能性。如以下更詳細(xì)地討論的,存儲裝置可以包括在第一實施例中的固態(tài)驅(qū)動器(SSD)或者在第二實施例中的閃存驅(qū)動器。

通常,主機裝置可以執(zhí)行一個或多個功能。如以下更詳細(xì)地討論的,所述功能可以包括數(shù)據(jù)庫功能、圖像處理功能、和/或文件系統(tǒng)功能。所列出的功能僅用于說明目的。其他功能是可預(yù)期的。在本發(fā)明的一個方面中,一功能的某些或者全部在存儲裝置中執(zhí)行。在這點上,該功能的部分(或者全部)的執(zhí)行可以分配給存儲裝置。

在一個實施例中,一功能(或者一組功能)可以由存儲裝置執(zhí)行。在一個方面中,僅存儲裝置的一部分執(zhí)行該功能(或者該組功能)。如以下更詳細(xì)地討論的,SSD包括SSD控制器芯片和一個或多個閃存存儲器芯片。在一種實現(xiàn)中,閃存存儲器芯片(例如閃存存儲器芯片內(nèi)的控制器)執(zhí)行該功能(或者該組功能)。作為另一種實現(xiàn),SSD控制器芯片(例如SSD控制器芯片內(nèi)的控制器)執(zhí)行該功能(或者該組功能)。在另一方面中,存儲裝置的多個部分可以執(zhí)行一功能(或者一組功能)。如以下更詳細(xì)地討論的,單個功能可以被劃分為多個子功能,其中,存儲裝置的一部分(例如SSD控制器芯片)執(zhí)行一個子功能,而存儲裝置的另一部分(例如閃存存儲器芯片)執(zhí)行另一子功能。

在替代實施例中,多個功能可以被劃分以使得功能的第一子集由存儲裝置執(zhí)行,且功能的第二子集由主機裝置執(zhí)行。例如,一組功能涉及文件系統(tǒng)管理,如以下討論的。關(guān)于文件系統(tǒng)管理的功能的第一子集(例如較低復(fù)雜度文件系統(tǒng)功能)可以由存儲裝置執(zhí)行,且關(guān)于文件系統(tǒng)管理的功能的第二子集(例如較高復(fù)雜度文件系統(tǒng)功能)可以由主機裝置執(zhí)行。在另一實施例中,一單個功能可以被劃分為第一子功能和第二子功能,其中第一子功能由存儲裝置執(zhí)行,且第二子功能由主機裝置執(zhí)行。例如,一個功能是處理圖像。更具體地,圖像處理可以包括第一圖像處理步驟和第二圖像處理步驟。如以下更詳細(xì)地討論的,存儲裝置(例如閃存存儲器芯片內(nèi)的控制器和/或SSD控制器芯片)可以執(zhí)行第一圖像處理步驟,并發(fā)送結(jié)果到主機裝置以使得主機裝置在該結(jié)果上執(zhí)行第二圖像處理步驟。在又一實施例中,通常由主機裝置執(zhí)行的多個功能可以全部由存儲裝置執(zhí)行。

為了執(zhí)行通常由主機裝置執(zhí)行的功能的部分(或者全部),存儲裝置可以包括附加的邏輯和/或計算性能。在一個實施例中,存儲裝置包括數(shù)學(xué)計算功能性和/或邏輯功能性。例如,數(shù)學(xué)計算功能性可以包括算術(shù)和/或代數(shù)計算功能性(例如加法、減法、乘法、除法等)。作為另一實例,邏輯功能性可以包括以下邏輯操作:AND(與)、NAND(與非)、OR(或)、NOR(或非)、XOR(異或)、NOT(非)等中的任何一個或者任何多個(包括全部)的組合。在這點上,存儲裝置可以分別執(zhí)行具有數(shù)學(xué)計算功能性和/或邏輯功能性的數(shù)學(xué)計算操作和/或邏輯操作。由存儲裝置執(zhí)行的數(shù)學(xué)計算操作和/或邏輯操作可以用于執(zhí)行以上討論的功能,例如數(shù)據(jù)庫功能、圖像處理功能和/或文件系統(tǒng)功能。如以下更詳細(xì)地討論的,特定功能(例如數(shù)據(jù)庫功能)可以由一個或多個數(shù)學(xué)計算操作和/或邏輯操作組成。

使用數(shù)學(xué)計算功能性和/或邏輯功能性的數(shù)學(xué)計算操作和/或邏輯操作可以由存儲裝置使用一個或多個部件執(zhí)行。在一個實施例中,存儲裝置包括運算邏輯單元(ALU)。如以下更詳細(xì)地討論的,ALU配置為執(zhí)行整數(shù)運算和邏輯操作(例如AND、NAND、OR、NOR、XOR、NOT)。在替代實施例中,存儲裝置可以包括浮點單元(FPU),該浮點單元可以配置為執(zhí)行非整數(shù)計算,例如除法操作,其可以生成分?jǐn)?shù)或者“浮點”數(shù)。在另外的替代實施例中,存儲裝置可以包括ALU和FPU兩者。

如上所述,在一個實施例中,一種類型的存儲裝置是固態(tài)驅(qū)動器(SSD)。SSD可以包括SSD控制器和存儲器(例如NAND閃存非易失性存儲器或者DRAM易失性存儲器),以在SSD內(nèi)存儲數(shù)據(jù)。SSD控制器可以具體表現(xiàn)為集成電路芯片,而存儲器(例如閃存非易失性存儲器)可以具體表現(xiàn)為與SSD控制器集成電路芯片分開的一個或多個集成電路存儲器芯片。在替代實施例中,另一類型的存儲裝置是閃存驅(qū)動器。

在一個實施例中,數(shù)學(xué)計算功能性和/或邏輯功能性可以駐留在集成電路存儲器芯片中。例如,多個集成電路存儲器芯片可以與SSD控制器通信。所述多個集成電路存儲器中的一個、某些或者全部集成電路存儲器可以包括ALU、FPU或者ALU/FPU。閃存存儲器芯片因此可以應(yīng)主機系統(tǒng)的請求執(zhí)行計算或邏輯操作。在這點上,計算可以從主機系統(tǒng)分配至存儲裝置,例如分配至SSD上的集成電路存儲器芯片。另外,集成電路存儲器芯片的計算可以被更快地執(zhí)行,因為數(shù)據(jù)不需要被發(fā)送到集成電路存儲器芯片外部以用于處理,并且因為可以并行地(例如,在集成電路存儲器芯片內(nèi))執(zhí)行處理。

在替代實施例中,數(shù)學(xué)計算功能性和/或邏輯功能性可以駐留在SDD控制器集成電路芯片中。在另外的替代實施例中,數(shù)學(xué)計算功能性和/或邏輯功能性可以駐留在SDD控制器集成電路芯片和多個集成電路存儲器芯片的一個、某些或者全部集成電路存儲器芯片中。

圖1示出主機系統(tǒng)100和存儲器系統(tǒng)102。主機系統(tǒng)100可以包括任何類型的主機裝置,例如靜態(tài)計算機系統(tǒng)(例如臺式計算機)或者移動計算機系統(tǒng)(例如膝上型計算機、智能電話、平板計算機等)。

圖1的主機系統(tǒng)100在考慮存儲器系統(tǒng)102的情況下可以被視為具有兩個主要部分,該兩個主要部分由電路和軟件的組合構(gòu)成。它們是應(yīng)用部分108以及與存儲器系統(tǒng)102的接口連接的驅(qū)動器部分110。在臺式計算機、膝上型計算機、智能電話、平板計算機中,例如,應(yīng)用部分110可以包括運行文字處理、圖形、控制或者其他流行的應(yīng)用軟件的處理器(例如,CPU)112,以及用于管理主機系統(tǒng)100上的數(shù)據(jù)的文件系統(tǒng)114。在主要專用于執(zhí)行單組功能的相機、蜂窩電話或者其他主機系統(tǒng)中,應(yīng)用部分108包括操作相機以拍攝和存儲畫面、操作蜂窩電話以做出和接收呼叫等的軟件。

存儲器系統(tǒng)102可以是嵌入主機內(nèi)的閃存存儲器,例如安裝在主機系統(tǒng)中的SSD的形式,配合部分104和106將主機系統(tǒng)100連接到SSD。替代地,存儲器系統(tǒng)102可以具有通過機械和電連接器的配合部分104和106可拆卸地連接到主機系統(tǒng)100的卡的形式。被配置為用作內(nèi)部或者嵌入SSD驅(qū)動器的閃存存儲器可以與圖1的示意看起來類似,主要差異是存儲器系統(tǒng)102的位置在主機系統(tǒng)100內(nèi)部。SSD可以具有用作旋轉(zhuǎn)磁盤驅(qū)動器的插入式(drop-in)替換的分立模塊的形式。

另外,在一個實施例中,例如閃存存儲器的存儲器可以包括二維存儲器。在替代實施例中,存儲器可以包括三維存儲器。在另外的替代實施例中,存儲器可以包括二維存儲器和三維存儲器的組合。

圖1的存儲器系統(tǒng)102可以包括半導(dǎo)體存儲器裝置,并包括非易失性存儲器(例如一個或多個存儲器芯片116)和存儲器系統(tǒng)控制器118。在替代實施例中,存儲器系統(tǒng)102可以包括易失性存儲器和非易失性存儲器兩者。存儲器系統(tǒng)控制器118與主機系統(tǒng)100接口連接,存儲器系統(tǒng)102連接到主機系統(tǒng)100以來回傳遞數(shù)據(jù),存儲器系統(tǒng)控制器118控制存儲器芯片116。

主機系統(tǒng)100可以為了多個目的與存儲器系統(tǒng)通信。一個目的是主機系統(tǒng)102在存儲器系統(tǒng)上存儲數(shù)據(jù)、和/或從存儲器系統(tǒng)讀取數(shù)據(jù)。例如,主機系統(tǒng)100可以發(fā)送數(shù)據(jù)到存儲器系統(tǒng)102,以用于存儲數(shù)據(jù)在存儲器系統(tǒng)102的一個或多個存儲器芯片116上。作為另一實例,主機系統(tǒng)100可以從存儲器系統(tǒng)102請求存儲在一個或多個存儲器芯片116上的數(shù)據(jù)。當(dāng)與存儲器系統(tǒng)通信時,主機系統(tǒng)100可以發(fā)送數(shù)據(jù)的邏輯地址,例如以邏輯塊地址范圍(LBA)的形式。存儲器系統(tǒng)控制器118然后可以在一個或多個步驟中將LBA轉(zhuǎn)換為存儲器芯片116上的實際物理地址。存儲器系統(tǒng)控制器118可以執(zhí)行從邏輯地址到實際物理地址的轉(zhuǎn)換以映射到實際物理地址。例如,來自主機系統(tǒng)100的LBA可以映射到存儲器系統(tǒng)內(nèi)部的邏輯地址,且存儲器系統(tǒng)內(nèi)部邏輯地址被映射到實際物理地址。作為另一實例,來自主機系統(tǒng)100的LBA可以直接映射到實際物理地址。

圖1示出存儲器芯片116可以包括多個存儲器芯片,例如芯片0到N,其中N是整數(shù)。存儲器芯片116內(nèi)的每一個存儲器芯片可以彼此相同(如圖1所示),或者可以不同。例如,存儲器芯片0(120)可以包括存儲器芯片0控制器(122)和閃存存儲器陣列(124)。同樣地,存儲器芯片N(126)可以包括存儲器芯片N控制器(128)和閃存存儲器陣列(130)。

如上所述,存儲器系統(tǒng)102的一部分可以包括數(shù)學(xué)計算功能性和/或邏輯功能性。在一個實施例中,數(shù)學(xué)計算功能性和/或邏輯功能性可以駐留在存儲器芯片116的一部分中,例如一個、某些或者全部存儲器芯片(例如在存儲器芯片0控制器122和存儲器芯片N控制器128中)。在替代實施例中,數(shù)學(xué)計算功能性和/或邏輯功能性可以駐留在存儲器系統(tǒng)控制器118中。在另外的替代實施例,數(shù)學(xué)計算功能性和/或邏輯功能性可以駐留在存儲器芯片116的一部分中,例如在存儲器芯片0控制器122和存儲器芯片N控制器128中,和存儲器系統(tǒng)控制器118中。

如上所述,一種類型的存儲器系統(tǒng)102是SSD。在圖2中示出了SSD 200的框圖的實例。在美國專利公開No.2008/0113525中公開了SSD的實例,通過引用將其全文并入這里。SSD 200包括SSD控制器芯片202。如圖2所示,SSD控制器芯片202包括主機系統(tǒng)接口204,該主機系統(tǒng)接口204可以包括電路和/或軟件以與主機系統(tǒng)100通信。替代地,主機系統(tǒng)接口204可以在SSD控制器芯片202外部。SSD控制器芯片202另外包括配置為執(zhí)行一個或多個功能的SSD控制器電路206,所述功能包括以下的任何一個、任何組合或者全部:糾錯;損耗平衡;壞塊映射;讀取擦除和讀取干擾管理;讀和寫高速緩存;無用單元收集;和加密。如以下更詳細(xì)地討論的,在一個實施例中,SSD控制器芯片202可以包括附加的功能性。SSD控制器芯片202中的附加的功能性可以輔助一個、某些或者全部閃存存儲器芯片執(zhí)行數(shù)學(xué)計算功能性和/或邏輯功能性,例如通過將從主機系統(tǒng)接收到的命令路由到閃存存儲器芯片,以便于閃存存儲器芯片執(zhí)行數(shù)學(xué)計算功能性和/或邏輯功能性。在替代實施例中,SSD控制器芯片202中的附加的功能性可以包括數(shù)學(xué)計算功能性和/或邏輯功能性,以執(zhí)行如上所述功能的之外的功能。

SSD 200另外包括一個或多個閃存存儲器芯片,例如閃存存儲器芯片0(210)到閃存存儲器芯片N(216)。閃存存儲器芯片0(210)可以包括閃存存儲器芯片0控制器(212)和閃存存儲器陣列214。同樣地,閃存存儲器芯片N(216)可以包括閃存存儲器芯片N控制器(218)和閃存存儲器陣列220。在一個實施例中,閃存存儲器陣列214和220包括閃存存儲器單元(例如單級單元和/或多級單元)。在替代實施例中,閃存存儲器陣列214和220由閃存存儲器單元構(gòu)成,而沒有任何計算功能性。如以下更詳細(xì)地討論的,在一個實施例中,一個、某些或者全部閃存存儲器芯片,例如閃存存儲器芯片0(210)和閃存存儲器芯片N(216)可以包括數(shù)學(xué)計算功能性和/或邏輯功能性。

如上所述,數(shù)學(xué)計算功能性和/或邏輯功能性可以駐留在存儲裝置的不同部分中。如以下更詳細(xì)地討論的,圖3A-圖3E示出SSD內(nèi)的數(shù)學(xué)計算功能性和/或邏輯功能性僅位于閃存存儲器芯片控制器中。圖4A-圖4B示出SSD內(nèi)的數(shù)學(xué)計算功能性和/或邏輯功能性位于閃存存儲器芯片控制器和SSD控制器芯片兩者中。圖5示出SSD內(nèi)的數(shù)學(xué)計算功能性和/或邏輯功能性僅位于SSD控制器芯片中。數(shù)學(xué)計算功能性和/或邏輯功能性可以位于SSD內(nèi)何處的實例是用于說明目的。其他實例是可預(yù)期的。

圖3A是閃存存儲器芯片控制器300的框圖。如上所述,閃存存儲器芯片的一部分,例如閃存存儲器芯片控制器300,通常可以執(zhí)行數(shù)學(xué)操作和基元功能。SSD控制器芯片392可以輔助閃存存儲器芯片控制器300執(zhí)行數(shù)學(xué)操作和基元功能,如以下關(guān)于圖3E討論的。

數(shù)學(xué)操作可以包括一元操作或者二元操作。一元操作僅涉及一個值,例如求反和三角函數(shù)。二元操作采用兩個值,且例如包括加法、減法、乘法、除法、取冪和取余。在一個實施例中,除數(shù)學(xué)操作之外,閃存存儲器芯片還可以執(zhí)行一個或多個邏輯操作,如以下更詳細(xì)地討論的。在替代實施例中,代替執(zhí)行數(shù)學(xué)操作,閃存存儲器芯片可以執(zhí)行一個或多個邏輯操作。

閃存存儲器芯片控制器300可以包括圖2中示出的閃存存儲器芯片0控制器(212)或者閃存存儲器芯片N控制器(218)的擴展框圖。閃存存儲器芯片控制器300包括SSD控制器接口302以用于與例如SSD控制器芯片202通信。

閃存存儲器芯片控制器300另外包括閃存存儲器芯片處理器304。閃存存儲器芯片處理器304可以包括微處理器、微控制器、專用集成電路(ASIC)、現(xiàn)場可編程門陣列、邏輯數(shù)字電路或者其他現(xiàn)有技術(shù)已知的或者將來開發(fā)的邏輯處理性能。閃存存儲器芯片處理器304可以包括一個或多個處理性能,例如比較器功能。如圖3A所示,閃存存儲器芯片處理器304包括不同功能性,例如ALU 306、計數(shù)器308和FPU 310。

在一個實施例中,ALU 306、計數(shù)器308和FPU 310中的任何一個、任何組合或者全部存在于閃存存儲器芯片處理器304中。例如,閃存存儲器芯片處理器304中可以包括ALU 306,而不包括計數(shù)器308和FPU 310。作為另一實例,閃存存儲器芯片處理器304中可以包括ALU 306和計數(shù)器308,而不包括FPU 310。

圖3A還包括存儲器312。存儲器312可以包括易失性存儲器(例如隨機存取存儲器(RAM))和/或非易失性存儲器??捎砷W存存儲器芯片處理器304執(zhí)行的處理器可執(zhí)行指令可以存儲在存儲器312中。處理器可執(zhí)行指令的實例包括數(shù)據(jù)庫功能軟件314、圖像處理軟件316和文件系統(tǒng)軟件318。以下討論各種功能包括文件系統(tǒng)功能、圖像處理功能和數(shù)據(jù)庫功能,其分別可以使用文件系統(tǒng)軟件318、圖像處理軟件316、和數(shù)據(jù)庫功能軟件314實現(xiàn)。

圖3A示出閃存存儲器芯片控制器300包括存儲器312,其作為閃存存儲器芯片控制器300的一部分。在這點上,存儲器312可以專用于閃存存儲器芯片控制器300的操作。替代地,存儲器312可以是閃存存儲器的一部分(例如閃存存儲器陣列214或者閃存存儲器陣列220)。因此,閃存存儲器芯片控制器300可以動態(tài)地分配閃存存儲器的一部分(例如閃存存儲器陣列214或者閃存存儲器陣列220)用于與閃存存儲器芯片控制器300有關(guān)的操作,例如分配存儲器用于數(shù)學(xué)計算功能性和邏輯功能性,或者分配閃存存儲器的一部分用于數(shù)據(jù)存儲。在另外的替代實施例,存儲器312可以包括專用于閃存存儲器芯片控制器300的操作的部分,例如用于存儲用于由閃存存儲器芯片控制器300執(zhí)行的軟件的存儲器,以及被動態(tài)地分配的部分。

圖3A示出了作為閃存存儲器芯片控制器300的一部分的數(shù)學(xué)計算功能性和邏輯功能性的幾個實例,包括ALU 306、計數(shù)器308和FPU 310。在一個實施例中,如圖3A中示出的ALU 306作為閃存存儲器芯片處理器304的一部分而被包括。例如,ALU 306可以是閃存存儲器芯片處理器304的一部分,其中,閃存存儲器芯片處理器304可以執(zhí)行不同軟件(其可以存儲在存儲器312中)以執(zhí)行ALU 306的功能性。在替代實施例中,ALU 306可以是與閃存存儲器芯片處理器304分開并與閃存存儲器芯片處理器304通信的電子部件。在任一實施例中,ALU可以被包括在并駐留在閃存存儲器芯片控制器中。輸入和輸出可以沿著電子路徑(例如總線)流動。

如上所述,ALU 306可以執(zhí)行各種操作,例如邏輯操作(例如以下的任何一個、任何組合或者全部:AND、OR、NOT、XOR、NOR、NAND);移位操作(例如將位的位置向右或者向左移位某個數(shù)目的地點,其可以考慮為乘法操作);和算術(shù)操作(例如,加法和減法)。

在一個實施例中,ALU 306可以被劃分為兩個單元,包括運算單元(AU)和邏輯單元(LU)。在替代實施例中,ALU 306由單個單元組成。另外,閃存存儲器芯片控制器300可以包括一個或多個ALU。例如,在一個實施例中,閃存存儲器芯片處理器304可以包括單個ALU。在替代實施例中,閃存存儲器芯片處理器304可以包括多個ALU。

到ALU的輸入可以包括指令字(例如機器指令字),該指令字包括操作碼(例如“op碼”)、一個或多個操作數(shù)和可能的格式碼。如以下更詳細(xì)地討論的,ALU可以接收各種命令。該命令可以經(jīng)由SSD控制器從主機系統(tǒng)發(fā)送。響應(yīng)于接收到命令,閃存存儲器芯片控制器可以確定執(zhí)行一個或多個數(shù)學(xué)和/或邏輯操作。如上所述,執(zhí)行一個或多個數(shù)學(xué)和/或邏輯操作,以用于執(zhí)行例如圖像處理、數(shù)據(jù)庫功能和文件系統(tǒng)功能的功能的目的。在這點上,命令可以指示圖像處理命令、數(shù)據(jù)庫命令或者文件系統(tǒng)命令。其他命令是可預(yù)期的。因此,不同指令字可以用于各種操作。

命令可以包括操作碼。操作碼可以向ALU指示執(zhí)行什么功能和在操作中使用的什么操作數(shù)。例如,兩個操作數(shù)可以被加在一起或者被邏輯地比較。輸出可以包括位于閃存存儲器的一部分(例如被指定為存儲寄存器的閃存存儲器的一部分)中的結(jié)果,以及指示是否成功地執(zhí)行了功能的設(shè)置。

如上所述,閃存存儲器芯片中的存儲器可以用于ALU操作,該ALU操作包括用于輸入操作數(shù)、正在相加的操作數(shù)、(在累加器中存儲的)累加結(jié)果和移位結(jié)果的存儲地點。在閃存存儲器芯片控制器300包括專用ALU的實施例中,ALU的子單元中的位流和關(guān)于它們執(zhí)行的操作可以由選通電路控制。這些電路中的門可以由使用用于每一操作碼的特定的算法或者序列的順序邏輯單元控制。在運算單元中,可以通過一系列加法或者減法和移位操作執(zhí)行乘法。另外,負(fù)數(shù)可以以多種方式在ALU中表示。在邏輯單元中,可以執(zhí)行多個可能的邏輯操作之一,例如比較兩個操作數(shù)并標(biāo)識在哪些位不匹配。

可以另外使用計數(shù)器308以執(zhí)行各種功能,例如文件系統(tǒng)功能、圖像處理功能和數(shù)據(jù)庫功能。計數(shù)器308可以使用寄存器類型的電路(例如觸發(fā)電路)實現(xiàn)??梢允褂貌煌嫈?shù)器,包括但不限于:異步計數(shù)器;同步計數(shù)器;十進計數(shù)器;向上/向下計數(shù)器(在控制輸入的命令下向上和向下地計數(shù));環(huán)形計數(shù)器;約翰遜計數(shù)器;等等。類似于ALU,計數(shù)器308可以具體表現(xiàn)為專用硬件(例如觸發(fā)器)或者可以具體表現(xiàn)為在閃存存儲器芯片處理器304上執(zhí)行的軟件。

FPU 310配置為關(guān)于浮點數(shù)進行例如數(shù)學(xué)操作的操作。數(shù)學(xué)操作包括但不限于除法、平方根、移位和超越函數(shù)(例如指數(shù)或者三角測量計算)。類似于ALU 306,如圖3A中示出的,F(xiàn)PU 310作為閃存存儲器芯片處理器304的一部分被包括。因此,F(xiàn)PU 310可以是閃存存儲器芯片處理器304的一部分,其中,閃存存儲器芯片處理器304可以執(zhí)行不同軟件(該軟件可以存儲在存儲器312中)以執(zhí)行FPU 310的功能性。在替代實施例中,F(xiàn)PU 310可以是與閃存存儲器芯片處理器304分開且與閃存存儲器芯片處理器304通信的電子部件。輸入和輸出可以沿著電子路徑(例如總線)流動。作為以下討論的圖像處理的實例的圖形應(yīng)用可以使用FPU 310。

在閃存存儲器芯片控制器300中實施的數(shù)學(xué)計算功能性和邏輯功能性使閃存存儲器芯片控制器300能夠執(zhí)行各種功能。所述功能的實例包括但不限于:數(shù)據(jù)庫功能、圖像處理功能和文件系統(tǒng)功能。如圖3A所示,閃存存儲器芯片控制器300可以分別通過使用數(shù)據(jù)庫功能軟件314、圖像處理軟件316和文件系統(tǒng)軟件318來執(zhí)行數(shù)據(jù)庫功能、圖像處理功能和文件系統(tǒng)功能。

例如,在閃存存儲器芯片控制器300中實施的數(shù)學(xué)計算功能性和邏輯功能性(例如ALU 306)可以與閃存存儲器芯片處理器304中的比較器一起使用。在一個實現(xiàn)中,在閃存存儲器芯片內(nèi)存儲(例如在閃存存儲器的數(shù)據(jù)高速緩存存儲的)圖案和頁被讀取,并使用比較器做出比較。

以下更詳細(xì)地討論的一個應(yīng)用是將一個或多個頁加載到高速緩存(例如動態(tài)數(shù)據(jù)高速緩存(DDC))中,并且在加載的頁的部分或者全部上執(zhí)行數(shù)學(xué)和/或邏輯功能性。例如,平面1可以被加載到動態(tài)數(shù)據(jù)高速緩存1(DDC1)中,且平面2可以被加載到動態(tài)數(shù)據(jù)高速緩存2(DDC2)中??梢钥紤]DDC1和DDC2是可以裝進ALU中的操作數(shù)寄存器。ALU執(zhí)行一個或多個操作,例如+、符號化、*、移位及其他操作。在操作數(shù)寄存器上執(zhí)行運算器操作的結(jié)果可以被路由至數(shù)據(jù)高速緩存。數(shù)據(jù)高速緩存中的數(shù)據(jù)然后可以被復(fù)制到閃存存儲器芯片上到另一平面。在這點上,平面1和平面2上的數(shù)據(jù)可以被代數(shù)地操作,且結(jié)果存儲在平面3中。所有這些操作可以在閃存存儲器芯片內(nèi)做出,而不將數(shù)據(jù)移動到閃存存儲器芯片外部,且可以以頁寬格式做出。

數(shù)學(xué)和/或邏輯功能性的結(jié)果可以存儲在閃存存儲器芯片內(nèi)。在一個實施例中,閃存存儲器芯片可以具有用于存儲結(jié)果的專用存儲器。在替代實施例中,閃存存儲器芯片可以不具有用于存儲結(jié)果的專用存儲器空間,且可以動態(tài)地分配用于存儲結(jié)果的區(qū)域。在這點上,閃存存儲器芯片控制器300可以分區(qū)閃存存儲器芯片內(nèi)存儲器的一部分,例如閃存存儲器內(nèi)(例如,在閃存存儲器陣列214內(nèi)或者閃存存儲器陣列220內(nèi))的一部分,以具有輸入?yún)^(qū)塊和輸出區(qū)塊。在實施例中,計算結(jié)果可以存儲在混合存儲器中,例如與相變存儲器(PCM)混合的NAND閃存存儲器。替代地,計算結(jié)果可以單獨地存儲在NAND閃存存儲器中。

數(shù)據(jù)庫功能

閃存存儲器芯片的一部分,例如閃存存儲器芯片控制器300,可以執(zhí)行一個或多個數(shù)據(jù)庫功能,以管理閃存存儲器中存儲的數(shù)據(jù)。例如,閃存存儲器芯片0控制器212可以管理在閃存存儲器芯片0(210)上存儲的閃存存儲器陣列214中存儲的數(shù)據(jù)。替代地,閃存存儲器芯片0控制器212可以管理不同芯片上存儲的閃存存儲器(例如閃存存儲器芯片N(216)上存儲的閃存存儲器陣列220)中存儲的數(shù)據(jù)。

在這點上,閃存存儲器芯片控制器300可以執(zhí)行各種數(shù)據(jù)庫功能,例如:體系搜索;插入;刪除;附加;及其他數(shù)據(jù)庫功能。如以下討論的,整個數(shù)據(jù)庫、數(shù)據(jù)和功能可以存儲在閃存存儲器芯片上。在這點上,每一個閃存存儲器芯片可以做出實際的搜索,這與在主機級別做出的相反。

數(shù)據(jù)的管理可以涉及定義用于存儲信息的結(jié)構(gòu)和提供用于操作信息的機制兩者。例如,數(shù)據(jù)的管理可以向用戶提供數(shù)據(jù)的概要瀏覽。也就是,數(shù)據(jù)庫系統(tǒng)可以隱藏怎樣存儲和保持?jǐn)?shù)據(jù)的某些細(xì)節(jié)。由此,可以以復(fù)雜數(shù)據(jù)結(jié)構(gòu)存儲數(shù)據(jù),這允許有效率的檢索,然而用戶可以看到簡化和易于使用的數(shù)據(jù)瀏覽。為了實現(xiàn)此,可以使用不同的概要級別。例如,最低概要級別可以是物理級,且可以描述實際上怎樣存儲數(shù)據(jù)和詳述數(shù)據(jù)結(jié)構(gòu)。下一較高概要級別可以是邏輯級,且可以描述存儲什么數(shù)據(jù),和在那些數(shù)據(jù)當(dāng)中存在什么關(guān)系。最高概要級別可以是瀏覽級,且可以描述與每一用戶相關(guān)的數(shù)據(jù)庫的一部分;用于訪問數(shù)據(jù)庫的應(yīng)用程序例如可以形成瀏覽級的一部分。

數(shù)據(jù)庫的整體結(jié)構(gòu)可以被稱為數(shù)據(jù)庫體系。該體系可以指定數(shù)據(jù)、數(shù)據(jù)關(guān)系、數(shù)據(jù)語義學(xué)和關(guān)于數(shù)據(jù)的一致性約束。在數(shù)據(jù)庫的結(jié)構(gòu)下面的是邏輯數(shù)據(jù)模型,其可以包括用于描述體系的概念性工具的集合。

一種類型的數(shù)據(jù)模型是實體關(guān)系數(shù)據(jù)模型,其基于被稱為實體的基本對象和這些對象當(dāng)中的關(guān)系的集合。實體是在實際世界中可與其他對象區(qū)分開的“事情”或者“物體”。關(guān)系是幾個實體當(dāng)中的關(guān)聯(lián)。其他類型的模型無限制地包括面向?qū)ο蟮哪P?、基于記錄的模型和關(guān)系模型。

邏輯地,關(guān)系數(shù)據(jù)庫中的數(shù)據(jù)可以組織為一組關(guān)系,其中每一關(guān)系由一組記錄構(gòu)成。這是給予數(shù)據(jù)庫用戶的瀏覽。存儲器裝置(例如SSD)上的下層實現(xiàn)例如可以對于用戶隱藏,并可以包括一組文件。每一文件包括一組固定尺寸的盤存儲片,被稱為塊。關(guān)系的記錄存儲在塊內(nèi)。每一關(guān)系可以與一個或多個文件相關(guān)聯(lián)。通常,文件包括僅來自一個關(guān)系的記錄,但是因為性能原因,也使用其中文件包括來自多于一個關(guān)系的記錄的組織。

檢索關(guān)系數(shù)據(jù)庫中的所需記錄的一個方式是關(guān)于相應(yīng)的關(guān)系執(zhí)行掃描;掃描一次一個地從關(guān)系取出所有記錄。如上所述,在一個實施例中,SSD由多個閃存存儲器芯片組成,例如閃存存儲器芯片0(210)和閃存存儲器芯片N(216)。主機系統(tǒng)100可以發(fā)送命令到SSD 200以執(zhí)行掃描。掃描可以用于SSD 200內(nèi)存儲的所有數(shù)據(jù),或者可以用于SSD 200內(nèi)存儲的數(shù)據(jù)的子集(例如一個或多個LBA范圍)。如以下更詳細(xì)地討論的,SSD控制器芯片202可以確定發(fā)送命令到哪個閃存存儲器芯片。在掃描用于SSD 200內(nèi)存儲的所有數(shù)據(jù)的實例中,SSD控制器芯片202可以發(fā)送命令到每一個閃存存儲器芯片以用于處理。在掃描用于SSD 200內(nèi)存儲的數(shù)據(jù)的子集的實例中,SSD控制器芯片202可以首先確定哪個閃存存儲器芯片具有在其中存儲的所述數(shù)據(jù)的子集(例如,基于一個或多個LBA范圍確定存儲所述數(shù)據(jù)的物理位置是什么),并將命令僅發(fā)送到確定為存儲所述數(shù)據(jù)的子集的閃存存儲器芯片。

通常,使用關(guān)于關(guān)系的掃描從較大關(guān)系訪問所需記錄是很耗時的。但是,因為可以在閃存存儲器芯片級執(zhí)行掃描,經(jīng)歷掃描的數(shù)據(jù)不需要被發(fā)送到芯片外,例如閃存存儲器芯片外部。在這點上,在SSD內(nèi)(例如在閃存存儲器芯片內(nèi))執(zhí)行數(shù)據(jù)庫功能可以比在主機系統(tǒng)上執(zhí)行功能更快。

存在數(shù)據(jù)操作的幾個實例,例如,無限制地檢索、插入、刪除和修改數(shù)據(jù)庫中存儲的信息。數(shù)據(jù)操作語言使用戶能夠訪問或者操作通過適當(dāng)?shù)臄?shù)據(jù)模型組織的數(shù)據(jù)。數(shù)據(jù)操作語言的實例無限制地包括過程數(shù)據(jù)操作語言和非過程數(shù)據(jù)操作語言。

一個類型的數(shù)據(jù)庫功能可以包括數(shù)據(jù)庫查詢。數(shù)據(jù)庫查詢可以包括發(fā)送到閃存存儲器芯片的命令,其請求從閃存存儲器芯片檢索信息。如以下更詳細(xì)地討論的,響應(yīng)于數(shù)據(jù)庫查詢,閃存存儲器芯片可以使用ALU以搜索閃存存儲器芯片中的閃存存儲器,從而生成一個或多個結(jié)果。因此數(shù)據(jù)庫查詢可以用作從閃存存儲器芯片內(nèi)的閃存存儲器檢索信息的方式。

一個或多個數(shù)據(jù)庫語言可以用于數(shù)據(jù)庫命令。更具體地,數(shù)據(jù)庫語言可以支持?jǐn)?shù)據(jù)定義和數(shù)據(jù)操作功能兩者。一個類型的數(shù)據(jù)庫語言是SQL(結(jié)構(gòu)化查詢語言),其他數(shù)據(jù)庫語言是可預(yù)期的。SQL包括數(shù)據(jù)定義語言和數(shù)據(jù)操作語言。SQL的范圍包括例如數(shù)據(jù)插入、查詢、更新和刪除、體系創(chuàng)建和修改、和數(shù)據(jù)訪問控制。

SQL可以在命令中使用一個或多個運算符。以下是運算符實例的表格:

可以使用以上示例運算符中的任何一個、任何組合或者全部。另外,其他運算符可預(yù)期??梢酝ㄟ^閃存存儲器芯片處理器304解析數(shù)據(jù)庫命令以用于運算符。此后,可以使用ALU 306以實現(xiàn)運算符。例如,數(shù)據(jù)庫命令可以包括“BETWEEN”運算符。ALU 306可以用于確定閃存存儲器中存儲的數(shù)據(jù)是否滿足“BETWEEN”命令。

如上所述,命令可以包括數(shù)據(jù)庫查詢。在SQL中,可以以說明性SELECT(選擇)陳述執(zhí)行數(shù)據(jù)庫查詢。SELECT從一個或多個表格或者表達中檢索數(shù)據(jù)。標(biāo)準(zhǔn)SELECT陳述不具有關(guān)于數(shù)據(jù)庫的永久效果。SELECT的某些非標(biāo)準(zhǔn)實現(xiàn)可以具有永久效果,例如某些數(shù)據(jù)庫中存在的SELECT INTO語法。

查詢可以包括列的列表,其要包括在緊跟在SELECT關(guān)鍵字之后的最終結(jié)果中。星號(“*”)也可以用于指定查詢應(yīng)該返回所查詢的表的所有列。SELECT是SQL中的一個陳述,具有可選關(guān)鍵字和子句,包括:FROM子句,其指示要從其檢索數(shù)據(jù)的一個或多個表;WHERE子句,其包括比較謂語,限制由查詢返回的行;GROUP BY子句,用于將具有公共值的行投影到行的較小集合中;HAVING子句,其包括用于過濾從GROUP BY子句產(chǎn)生的行的謂語;和ORDER BY子句,其識別哪列用于分類所產(chǎn)生的數(shù)據(jù),且應(yīng)該在哪個方向上將它們分類(選項是升序或者降序)。

如上所述,SQL可以包括數(shù)據(jù)操作語言(DML)。DML可以用于添加、更新和刪除數(shù)據(jù)。例如,INSERT(插入)添加行到現(xiàn)有的表,UPDATE(更新)修改一組現(xiàn)有的表行,DELETE(刪除)從表除去現(xiàn)有的行,以及MERGE(合并)用于組合多個表的數(shù)據(jù)。另外,SQL可以包括管理表和索引結(jié)構(gòu)的數(shù)據(jù)定義語言(DDL)。DDL的實例項包括以下陳述:CREATE(其創(chuàng)建數(shù)據(jù)庫中的對象(例如,表)),ALTER(其以各種方式修改現(xiàn)有對象的結(jié)構(gòu),例如,添加一列到現(xiàn)有的表或者約束),RENAME,DROP(其刪除數(shù)據(jù)庫中的對象)和TRUNCATE(其以非常快的方式從表刪除所有數(shù)據(jù),從而刪除表內(nèi)的數(shù)據(jù)而非表本身)。

圖像處理

閃存存儲器芯片的一部分,例如閃存存儲器芯片控制器300,可以關(guān)于閃存存儲器中存儲的數(shù)據(jù)執(zhí)行一個或多個圖像處理功能。例如,視頻處理的圖像處理是耗時的,這部分地由于大量數(shù)據(jù)要傳送到閃存存儲器芯片中和從閃存存儲器芯片傳出例如。代替地,閃存存儲器芯片內(nèi)的現(xiàn)場處理緩解該問題。

圖像處理可以包括關(guān)于圖像的任何形式的信號處理??梢灶A(yù)期不同類型的圖像處理。一種類型包括關(guān)于輸入圖像(例如照片或者視頻幀)執(zhí)行一個或多個操作,以生成是圖像、或者與圖像有關(guān)的一組特性或者參數(shù)的輸出。圖像處理可以導(dǎo)致圖像增強(例如,例如邊界或者對比度的圖像特征的強調(diào)或者銳化,以使得圖形顯示對顯示和分析更有用);圖像恢復(fù)(例如,濾波所觀察的圖像以最小化退化效果);或者圖像壓縮(例如,最小化表示圖像需要的位的數(shù)目)。

如以下討論的,閃存存儲器芯片可以從SSD控制器芯片202接收命令以執(zhí)行圖像處理。該命令可以來源于主機系統(tǒng)100。響應(yīng)于此,閃存存儲器芯片(例如執(zhí)行圖像處理軟件316的閃存存儲器芯片處理器304)可以執(zhí)行圖像處理,并經(jīng)由SSD控制器接口302將結(jié)果發(fā)送到SSD控制器芯片202。

文件系統(tǒng)功能

使用文件系統(tǒng)以控制怎樣存儲或者檢索信息,例如從SDD 200存儲或者檢索。更具體地,用于管理信息和它們的名稱的組的結(jié)構(gòu)和邏輯規(guī)則可以被描述為“文件系統(tǒng)”。文件系統(tǒng)可以被視為包括每條數(shù)據(jù)在硬盤驅(qū)動器上的物理位置的索引或者數(shù)據(jù)庫。文件系統(tǒng)的實例無限制地包括文件分配表(FAT)和新技術(shù)文件系統(tǒng)(NTFS)。

通常,文件系統(tǒng)位于主機系統(tǒng)上,且文件系統(tǒng)操作由主機系統(tǒng)執(zhí)行。在一個實施例中,一個、某些或者全部文件系統(tǒng)操作可以由SSD執(zhí)行,例如由閃存存儲器芯片控制器300上的閃存存儲器芯片處理器304執(zhí)行。如以下更詳細(xì)地討論的,閃存存儲器芯片處理器304可以從主機系統(tǒng)接收文件系統(tǒng)命令(經(jīng)由SSD控制器芯片202中繼),解析文件系統(tǒng)命令,并執(zhí)行文件系統(tǒng)命令。

文件系統(tǒng)命令包括使能存儲或者創(chuàng)建的文件的管理的實用程序。文件系統(tǒng)命令可以分段為不同級別,例如較低級的文件系統(tǒng)命令(例如,將扇區(qū)鏈接在一起以形成邏輯單元)和較高級的文件系統(tǒng)命令(例如,用戶命令,例如創(chuàng)建目錄、移動文件等)。較高級的文件系統(tǒng)命令可以由多個較低級的命令組成。例如,創(chuàng)建特定大小的文件的命令可以由多個較低級命令組成,例如發(fā)現(xiàn)空閑塊,以及將它們鏈接在一起以形成容量,以使得在用戶看來所述塊是對用戶連續(xù)的邏輯單元。

文件系統(tǒng)命令的實例包括但不限于:復(fù)制文件(例如,Unix中的cp);移動文件(例如,Unix中的mv);移除文件(例如,Unix中的rm);移除目錄(例如,Unix中的rmdir);制作目錄(例如,Unix中的mkdir);重命名文件(例如,Unix中的mv);等等。

在一個實施例中,閃存存儲器芯片控制器300的一部分(例如閃存存儲器芯片處理器304)配置為響應(yīng)于所有文件系統(tǒng)命令執(zhí)行操作。在替代實施例中,閃存存儲器芯片控制器300的一部分(例如閃存存儲器芯片處理器304)配置為響應(yīng)于文件系統(tǒng)命令的子集(或者小于全部文件系統(tǒng)命令)執(zhí)行操作。例如,閃存存儲器芯片處理器304可以配置為僅執(zhí)行較低級的文件系統(tǒng)命令。

如上所述,可以在閃存存儲器芯片控制器300中找到一個或多個ALU。另外,一個或多個ALU可以位于存儲器芯片控制器300內(nèi)的不同部位。圖3B-圖3D示出存儲器芯片控制器300內(nèi)的ALU的配置的某些實例。在一個實施例中,單個ALU可以存在于閃存存儲器芯片控制器300中。在替代實施例中,多個ALU可以存在于閃存存儲器芯片控制器300中。

閃存存儲器芯片控制器300中ALU的數(shù)目可以取決于閃存存儲器陣列,例如如圖2所示的閃存存儲器陣列214或者220。在一個實施例中,ALU可以被分配給閃存存儲器陣列中的一個、某些或者每一個塊。在替代實施例中,ALU可以被分配給子塊結(jié)構(gòu)。例如,ALU可以被分配給閃存存儲器陣列中的一個、某些或者每一位線。在另外的替代實施例,ALU可以被分配給閃存存儲器陣列中的一個、某些或者每一平面。在這點上,ALU可以被分配給存儲器單元陣列的不同細(xì)分部或者分區(qū)。

圖3B是閃存存儲器陣列中的塊322的一個圖示。閃存存儲器陣列的實例包括上面討論的閃存存儲器陣列214和220。閃存存儲器陣列可以由多個塊組成。閃存存儲器陣列中的每個塊可以由頁組成。圖3B示出頁0到頁M。數(shù)據(jù)可以使用位線(例如如圖3B所示的位線0到位線L)從塊322讀取。位線可以電連接到總線324,該總線324電連接到ALU 326。如上所述,ALU(例如ALU 326)可以包括數(shù)學(xué)和/或邏輯功能性。僅作為一個實例,ALU 326可以包括一個或多個寄存器,且可以包括以下功能性中的任何一個、任何組合或者全部:確定兩個數(shù)據(jù)項(例如加載到第一寄存器中的第一數(shù)據(jù)和加載到第二寄存器中的第二數(shù)據(jù))是否相等,或者是否一個數(shù)據(jù)項大于或者小于另一數(shù)據(jù)項;和執(zhí)行加法或者減法;向左或者向右在寄存器中移位。如圖3B所示,ALU 326與塊322相關(guān)聯(lián)。在這點上,各個ALU可以被分配給閃存存儲器陣列中的各個塊。在這點上,例如具有1000個塊的閃存存儲器陣列可以包括1000個ALU,其中每一ALU分配至各自的塊。另外,在塊的水平分配ALU容易地使能閃存存儲器陣列內(nèi)的處理的可縮放性。

圖3C是閃存存儲器陣列中的塊322的另一圖示。如上所述,ALU可以被分配給塊中的一個、某些或者每一位線。如圖3C所示,給塊322中的每一位線(例如位線0到位線L)分配ALU 328。在這點上,存在分配給每個塊的L+1個ALU 328。可以使用控制器以選擇特定ALU用于處理。如圖3C所示,使用用于選擇ALU的控制器330??刂破?30可以是閃存存儲器芯片控制器300的一部分。如圖3C所示的布置可以用于閃存存儲器芯片的閃存存儲器陣列中的單個塊、閃存存儲器芯片的閃存存儲器陣列的多個塊、或者閃存存儲器芯片的閃存存儲器陣列中的每一個塊。在上文所述的閃存存儲器陣列包括1000個塊的實例中,ALU的數(shù)目可以包括1000*(L+1)。

圖3D是適于作為閃存存儲器區(qū)塊之一的示例的一個閃存存儲器區(qū)塊。多區(qū)塊閃存存儲器中的一個區(qū)塊可以包括一個或多個集成電路芯片,其中每一芯片可以包括組織成多個平面的存儲器單元的陣列。在單個芯片上的存儲器區(qū)塊340的圖示如圖3D所示。為簡單起見,圖3D的存儲器區(qū)塊340示出了這種平面350和352,但是可以代替地使用更多個平面,例如四個或者八個。替代地,存儲器區(qū)塊的存儲器單元陣列可以不被劃分為平面。但是,當(dāng)這樣劃分時,每一平面具有可彼此獨立地操作的它自己的列控制電路354和356。電路354和356從系統(tǒng)總線342的地址部分346接收它們各自的存儲器單元陣列的地址,并將其解碼以尋址各個位線358和360中特定的一個或多個。響應(yīng)于在地址總線上接收的地址,通過行控制電路364尋址字線362。源電壓控制電路366和368也與各個平面連接,p阱電壓控制電路370和372也與各個平面連接。如果區(qū)塊340以具有存儲器單元的單個陣列的存儲器芯片的形式,且如果兩個或更多這種芯片存在于存儲器系統(tǒng)中,則每一芯片的陣列可以與如上所述的多平面芯片內(nèi)的平面類似地操作。

數(shù)據(jù)通過與系統(tǒng)總線342的數(shù)據(jù)部分344連接的各自的數(shù)據(jù)輸入/輸出電路374和376傳送到平面350和352之中和之外。電路374和376提供將數(shù)據(jù)編程為存儲器單元,以及從它們各自的平面的存儲器單元讀取數(shù)據(jù)兩者,電路374和376通過線378和380穿過各自的列控制電路354和356連接到平面。

每一區(qū)塊中的每一存儲器芯片包括執(zhí)行來自處理器(例如閃存存儲器芯片處理器304)的命令以執(zhí)行這種功能的某些控制電路。接口電路381連接到系統(tǒng)總線342的控制和狀態(tài)部分348。來自處理器(例如閃存存儲器芯片處理器304)的命令被提供到狀態(tài)機382,然后狀態(tài)機382提供對其他電路的特定控制以執(zhí)行這些命令。控制線383-387連接狀態(tài)機382與如圖3D所示的這些其他電路。來自狀態(tài)機382的狀態(tài)信息經(jīng)線388通信到接口381以用于經(jīng)總線部分348傳輸?shù)教幚砥?例如閃存存儲器芯片處理器304)。存儲器單元陣列350和352可以由NAND架構(gòu)組成,可以代替地單獨或者組合地使用其他非易失性存儲器架構(gòu)或者技術(shù),例如NOR。

如圖3D所示,ALU可以被分配給存儲器單元陣列中的每一平面,例如ALU1(389)分配給平面350且ALU2(390)分配給平面352。每一ALU可以電連接到各自的輸入/輸出電路,例如輸入/輸出電路374和376。在這點上,一ALU可以被分配給存儲器單元陣列中的相應(yīng)的平面,且可以與相應(yīng)的輸入/輸出電路通信以控制相應(yīng)的ALU。

圖3E示出SSD控制器芯片(示出為SSD控制器芯片392)的一個實例的框圖。如上所述,SSD可以包括一個或多個控制器芯片,以便與在一側(cè)上的主機系統(tǒng)通信,并與駐留在另一側(cè)上的SSD中的閃存存儲器芯片通信。SSD控制器芯片392包括上面參考圖2討論的主機系統(tǒng)接口204。SSD控制器芯片392進一步包括SSD控制器芯片處理器393、SSD控制器存儲器394和閃存存儲器芯片接口396。SSD控制器存儲器394可以包括用于由SSD控制器芯片處理器393執(zhí)行的一個或多個軟件程序或者代碼。

如上所述,在一個實施例中,SSD控制器芯片392配置為輔助例如如圖3A所示的閃存存儲器芯片控制器,以執(zhí)行數(shù)學(xué)和/或邏輯計算。在這點上,SSD控制器存儲器394包括用于命令分析和閃存芯片選擇的軟件395。當(dāng)SSD控制器芯片處理器393執(zhí)行用于命令分析和閃存芯片選擇的軟件395時,SSD控制器芯片392可以進一步配置為分析從主機系統(tǒng)接收到的命令,并將該命令發(fā)送到一個或多個閃存存儲器芯片。如以下更詳細(xì)地討論的,SSD控制器芯片處理器393可以解析該命令,確定命令內(nèi)的一個或多個LBA范圍,確定哪個閃存存儲器芯片存儲該命令中的LBA范圍內(nèi)的數(shù)據(jù),并轉(zhuǎn)發(fā)該命令到閃存存儲器芯片。

如上所述,SSD內(nèi)的多個裝置可以包括數(shù)學(xué)計算功能性和/或邏輯功能性。圖4A-B分別示出了數(shù)學(xué)計算功能性和/或邏輯功能性在閃存存儲器芯片控制器400中以及在SSD控制器芯片中的實例。例如,閃存存儲器芯片控制器400可以包括上文參考圖3A所討論的ALU 306、計數(shù)器308和FPU 310。同樣地,閃存存儲器芯片控制器可以包括存儲器312。存儲器312可以包括與數(shù)據(jù)庫操作、圖像處理和文件系統(tǒng)操作有關(guān)的軟件。作為另一實例,SSD控制器芯片450可以包括駐留在SSD控制器芯片處理器452中的ALU 454、計數(shù)器456和FPU 458。ALU 454、計數(shù)器456和FPU 458可以分別類似于上面討論的ALU 304、計數(shù)器308和FPU 310。

在一個實現(xiàn)中,可以執(zhí)行多個功能。例如,數(shù)據(jù)庫功能可以包括一組數(shù)據(jù)庫功能,圖像處理功能可以包括一組圖像處理功能,且文件系統(tǒng)功能可以包括一組文件系統(tǒng)功能。功能組可以被劃分以使得第一組功能可以由SSD控制器芯片450執(zhí)行,而第二組功能可以由閃存存儲器芯片控制器400執(zhí)行。

在一個實施例中,高級功能(或較復(fù)雜的功能)可以由SSD控制器芯片執(zhí)行,而低級功能(或者較不復(fù)雜的功能)可以由閃存存儲器芯片控制器400執(zhí)行。例如,閃存存儲器芯片處理器304可以訪問低級數(shù)據(jù)庫功能軟件402、低級圖像處理軟件404或者低級文件系統(tǒng)軟件406,以分別執(zhí)行用于數(shù)據(jù)庫功能、圖像處理或者文件系統(tǒng)功能的低級功能。作為另一實例,SSD控制器芯片處理器452可以訪問SSD控制器存儲器460中的高級數(shù)據(jù)庫功能軟件462、高級圖像處理軟件464,或者高級文件系統(tǒng)軟件466,以分別執(zhí)行用于數(shù)據(jù)庫操作、圖像處理或者文件系統(tǒng)操作的高級功能。如上所述,為了執(zhí)行功能組(例如數(shù)據(jù)庫功能組、圖像處理功能組和文件系統(tǒng)功能組)中的一個、某些或者全部功能,SSD的一部分(例如閃存存儲器芯片處理器304或者SSD控制器芯片處理器452)可以使用數(shù)學(xué)和/或邏輯操作,例如通過使用ALU、計數(shù)器和/或FPU。

在操作中,SSD控制器芯片450和閃存存儲器芯片控制器400可以以主-從布置操作,在該主-從布置中,SSD控制器芯片450命令閃存存儲器芯片控制器400執(zhí)行一個或多個動作,例如執(zhí)行如上所述的低級數(shù)據(jù)庫功能、低級圖像處理功能或者低級文件系統(tǒng)功能。在一個實例中,SSD控制器芯片450可以接收來自主機裝置的通信(例如從主機系統(tǒng)100接收命令)。響應(yīng)于接收通信(例如接收命令),SSD控制器芯片450可以響應(yīng)于命令確定一個或多個功能,例如低級功能或者高級功能。SSD控制器芯片450可以確定要由SSD控制器芯片450執(zhí)行哪個功能和要由閃存存儲器芯片控制器400執(zhí)行哪個功能。作為一個實例,命令可以包括數(shù)據(jù)庫命令。SSD控制器芯片450(例如SSD控制器芯片處理器452)可以分析數(shù)據(jù)庫命令并確定:(i)要響應(yīng)于接收數(shù)據(jù)庫命令而執(zhí)行一個或多個高級數(shù)據(jù)庫功能;(ii)要響應(yīng)于接收數(shù)據(jù)庫命令而執(zhí)行一個或多個低級數(shù)據(jù)庫功能;或者(iii)要響應(yīng)于接收數(shù)據(jù)庫命令而執(zhí)行一個或多個高級數(shù)據(jù)庫功能和一個或多個低級數(shù)據(jù)庫功能。在(i)中,SSD控制器芯片處理器452可以執(zhí)行全部高級數(shù)據(jù)庫功能。例如,SSD控制器芯片處理器452可以對于特定的高級數(shù)據(jù)庫功能確定為了執(zhí)行特定的高級數(shù)據(jù)庫功能需要的數(shù)學(xué)和/或邏輯操作。在(ii)中,SSD控制器芯片處理器452響應(yīng)于確定執(zhí)行低級功能,確定哪個閃存存儲器芯片需要執(zhí)行低級功能,且然后發(fā)送命令到所確定的閃存存儲器芯片,以指令它們執(zhí)行低級數(shù)據(jù)庫功能。在(iii)中,SSD控制器芯片處理器452可以執(zhí)行全部高級數(shù)據(jù)庫功能,且SSD控制器芯片處理器452可以指令閃存存儲器芯片控制器400執(zhí)行全部低級數(shù)據(jù)庫功能。

在特定實例中,高級數(shù)據(jù)庫功能可以包括一個或多個低級數(shù)據(jù)庫功能。在這點上,SSD控制器芯片處理器452可以指令閃存存儲器芯片控制器400執(zhí)行一個或多個低級數(shù)據(jù)庫功能,并將執(zhí)行一個或多個低級數(shù)據(jù)庫功能的結(jié)果返回到SSD控制器芯片處理器452。

分級類型(hierarchy-type)的功能劃分的一個實例是基于由SSD控制器芯片處理器452執(zhí)行的高級功能而由閃存存儲器芯片控制器400執(zhí)行低級功能的功能劃分??梢灶A(yù)期在SSD控制器芯片處理器452和閃存存儲器芯片控制器400之間的其他分級類型的功能劃分。

以下是用于數(shù)據(jù)庫、圖像處理和文件系統(tǒng)的高級和低級功能的某些實例。實例僅用于說明目的。其他實例可預(yù)期。關(guān)于數(shù)據(jù)庫功能,低級功能的實例是用于特定條目的搜索命令,高級功能的實例是序聯(lián)兩個序列。實際上,SSD控制器芯片處理器452可以指令一個、某些或者全部閃存存儲器芯片(例如存儲器芯片0(120)到存儲器芯片N(126))上的閃存存儲器芯片控制器400來搜索特定的條目。因為可以在閃存存儲器芯片級并行地執(zhí)行命令,所以可以更快地執(zhí)行搜索特定條目的低級功能。

關(guān)于圖像處理,低級功能的實例是改變像素值,高級功能的實例是增加圖像的對比度。實際上,因為執(zhí)行增加對比度的高級功能包括改變像素值的低級功能,所以SSD控制器芯片處理器452可以確定為了增加對比度而改變哪個像素,且此后指令閃存存儲器芯片控制器400。實際上,SSD控制器芯片處理器452可以指令存儲要改變的像素值的一個、某些或者全部閃存存儲器芯片上的閃存存儲器芯片控制器400來執(zhí)行改變像素值的功能。

關(guān)于文件系統(tǒng)功能,低級功能的實例包括搜索指針,從而找到文件的開始/結(jié)束以及移除文件的內(nèi)容。高級功能的實例包括刪除文件和打開文件。實際上,刪除文件(高級功能)包括一個或多個低級功能。在這點上,響應(yīng)于SSD控制器芯片處理器452接收刪除文件的命令,SSD控制器芯片452可以確定該文件存儲在哪個或哪些閃存存儲器芯片中,并發(fā)送低級命令到存儲文件的一個或多個閃存存儲器芯片。因此,閃存存儲器芯片執(zhí)行低級命令以刪除該文件。

圖5的框圖示出SSD控制器芯片的另一實例,其示出為SSD控制器芯片500。如上所述,一個或多個閃存存儲器芯片可以包括數(shù)學(xué)計算功能性和/或邏輯功能性。在替代實施例中,SSD控制器可以包括數(shù)學(xué)計算功能性和/或邏輯功能性。在這點上,歸屬于關(guān)于圖3A的閃存存儲器芯片的全部數(shù)學(xué)計算功能性和/或邏輯功能性在本實施例中歸屬于SSD控制器。SSD控制器可以包括例如如圖5所示的SSD控制器芯片500。SSD控制器芯片500包括上面參考圖2討論的主機系統(tǒng)接口204。另外,SSD控制器芯片500包括SSD控制器芯片處理器502,該SSD控制器芯片處理器502包括ALU 504、計數(shù)器506和FPU 508。ALU 504、計數(shù)器506和FPU 508除了駐留在SSD控制器芯片500內(nèi)之外,類似于駐留在閃存存儲器芯片控制器300中的ALU 306、計數(shù)器308和FPU 310。另外,SSD控制器芯片500包括SSD控制器存儲器510。SSD控制器存儲器510包括數(shù)據(jù)庫操作軟件512、圖像處理軟件514和文件系統(tǒng)軟件516,其使得SSD控制器能夠執(zhí)行例如上面討論的數(shù)據(jù)庫操作、圖像處理和文件系統(tǒng)操作。

在操作中,SSD控制器芯片500可以從主機系統(tǒng)接收通信,其中所述通信包括命令和一個或多個LBA范圍。響應(yīng)于此,SSD控制器芯片500可以響應(yīng)于所述命令確定一個或多個功能。所述功能可以包括關(guān)于在一個或多個LBA范圍存儲的數(shù)據(jù)執(zhí)行數(shù)學(xué)或者邏輯操作?;谒鲆粋€或多個LBA范圍,SSD控制器芯片500可以確定數(shù)據(jù)的物理地址,使用物理地址從閃存存儲器芯片發(fā)送用于數(shù)據(jù)的請求,以及執(zhí)行關(guān)于從閃存存儲器芯片返回的數(shù)據(jù)的一個或多個操作。

圖6示出由閃存存儲器芯片的一部分(例如閃存存儲器芯片控制器300)執(zhí)行的動作的流程圖600。在602處,從SSD控制器接收到通信。在604處,通信被解析以用于命令。如上所述,閃存存儲器芯片控制器300可以接收不同類型的命令。命令可以涉及不同功能,無限制地包括數(shù)據(jù)庫管理功能、圖像處理功能和/或文件系統(tǒng)功能。在606處,基于所解析的命令確定一個或多個操作。例如,閃存存儲器芯片控制器300可以解析通信以用于命令,以便標(biāo)識命令。閃存存儲器芯片控制器300然后可以將所標(biāo)識的命令與一個或多個操作(例如一個或多個數(shù)學(xué)或者邏輯操作)關(guān)聯(lián)。更具體地,閃存存儲器芯片控制器300可以解析通信并和標(biāo)識命令是體系搜索命令。通過使用將命令與操作關(guān)聯(lián)的查詢表,閃存存儲器芯片控制器300可以使用所標(biāo)識的體系搜索命令來確定閃存存儲器芯片控制器300要執(zhí)行哪一個或多個操作。該一個或多個操作可以包括使用ALU 306、計數(shù)器308或者FPU 310的一個或多個數(shù)學(xué)操作。

在608處,執(zhí)行一個或多個標(biāo)識的操作以生成一個或多個結(jié)果。如上所述,操作可以包括使用ALU(或者其他數(shù)學(xué)或者邏輯裝置)。在一個方面中,ALU可以使用一個或多個操作數(shù)寄存器以執(zhí)行數(shù)學(xué)或者邏輯操作。閃存存儲器芯片控制器300可以指定存儲器的一部分作為一個或多個操作數(shù)寄存器,并將數(shù)據(jù)加載到所述一個或多個操作數(shù)寄存器中。例如,閃存存儲器芯片控制器300可以將一個或多個頁加載到DDC中,并關(guān)于部分或者全部加載頁執(zhí)行數(shù)學(xué)和/或邏輯功能性。ALU的使用可以生成一個或多個結(jié)果,其可以存儲在閃存存儲器的一部分中。

在610處,該一個或多個結(jié)果(或者一個或多個結(jié)果的指示)可以可選地被發(fā)送到SSD控制器,該SSD控制器又可以將結(jié)果(或者結(jié)果的指示)發(fā)送到主機系統(tǒng)。例如,命令可以包括圖像處理命令。ALU可以執(zhí)行生成可以存儲在閃存存儲器中的結(jié)果的圖像處理??蛇x地,從圖像處理生成的結(jié)果可以被發(fā)送到SSD控制器。在從主機系統(tǒng)發(fā)送并由SSD控制器轉(zhuǎn)發(fā)圖像處理命令的實例中,閃存存儲器芯片可以將執(zhí)行圖像處理的結(jié)果經(jīng)由SSD控制器發(fā)送到主機系統(tǒng)。在文件系統(tǒng)命令的實例中,閃存存儲器芯片可以執(zhí)行文件系統(tǒng)命令,并發(fā)送結(jié)果的指示(例如成功地執(zhí)行了文件系統(tǒng)命令的指示)

圖7示出由閃存存儲器芯片的一部分(例如SSD控制器芯片392)執(zhí)行的動作的流程圖700。在702處,從主機系統(tǒng)接收到通信。在704處,解析該通信以確定通信是否用于到一個或多個閃存存儲器芯片的傳輸。例如,來自主機系統(tǒng)的某些通信可以指示用于SSD控制器執(zhí)行的功能。作為另一實例,來自主機系統(tǒng)的其他通信可以指示用于閃存存儲器芯片執(zhí)行的功能(例如圖像處理、數(shù)據(jù)庫管理操作或者文件系統(tǒng)操作)。在后一情況下,SSD控制器可以將部分或者全部通信轉(zhuǎn)發(fā)到閃存存儲器芯片。在706處,確定要發(fā)送通信到哪個閃存存儲器芯片。如上所述,通信可以包括一個或多個LBA范圍。SSD控制器可以配置為將一個或多個LBA范圍翻譯為物理地址。轉(zhuǎn)而,將物理地址與閃存存儲器芯片關(guān)聯(lián)的查詢表可以基于物理地址指示要將通信發(fā)送至哪個閃存存儲器芯片。在708處,該通信的部分或者全部被發(fā)送到閃存存儲器芯片。

例如參考圖1-5討論的半導(dǎo)體存儲器裝置可以包括易失性存儲器裝置,例如動態(tài)隨機存取存儲器(“DRAM”)或者靜態(tài)隨機存取存儲器(“SRAM”)裝置,非易失性存儲器裝置,例如電阻性隨機存取存儲器(“ReRAM”)、電可擦可編程只讀存儲器(“EEPROM”)、閃存存儲器(也可以考慮為EEPROM的子集)、鐵電隨機存取存儲器(“FRAM”)和磁阻隨機存取存儲器(“MRAM”),及能夠存儲信息的其他半導(dǎo)體元件。此外,每一類型的存儲器裝置可以具有不同配置。例如,閃存存儲器裝置可以配置為NAND或者NOR配置。

存儲器裝置可以以任何組合由無源和/或有源元件形成。通過非限制實例的方式,無源半導(dǎo)體存儲器元件包括ReRAM裝置元件,其在一些實施例中包括電阻率開關(guān)存儲元件,例如反熔絲、相變材料、等等,且可選地是控制元件,例如二極管等。另外通過非限制實例的方式,有源半導(dǎo)體存儲器元件包括EEPROM和閃存存儲器裝置元件,其在一些實施例中包括包含電荷存儲區(qū)域的元件,例如浮置柵極、導(dǎo)電納米微粒或者電荷存儲介電材料。

多個存儲器元件可以配置為使得它們串聯(lián)連接或者使得每個元件可單獨地訪問。通過非限制實例的方式,NAND裝置包括串聯(lián)連接的存儲器元件(例如,包括電荷存儲區(qū)域的裝置)。例如,NAND存儲器陣列可以配置為使得陣列由多個存儲器串組成,其中每一存儲器串由共享單個位線和作為整體存取的多個存儲器元件組成。相反地,存儲器元件可以配置為使得每個元件可單獨地存取(例如,NOR存儲器陣列)。本領(lǐng)域技術(shù)人員將意識到NAND和NOR存儲器配置是示例性的,且可以以別的方式配置存儲器元件。

單個裝置的半導(dǎo)體存儲器元件,例如位于同一襯底內(nèi)和/或同一襯底上或者單個印模中的元件可以以二維或者三維分布,例如二維陣列結(jié)構(gòu)或者三維陣列結(jié)構(gòu)。

在二維存儲器結(jié)構(gòu)中,在單個平面或者單個存儲器裝置級中布置半導(dǎo)體存儲器元件。通常,在二維存儲器結(jié)構(gòu)中,存儲器元件位于實質(zhì)上平行于支撐存儲器元件的基底的主要表面延伸的平面中(例如,在x-z方向平面中)。該基底可以是其上沉積存儲器元件的層和/或其中形成存儲器元件的層的晶片,或者其可以是在形成存儲器元件之后附于存儲器元件的載體基底。

存儲器元件可以以有序陣列(例如以多個行和/或列)在單一存儲器裝置級中布置例如。但是,如本領(lǐng)域技術(shù)人員理解的,存儲器元件可以以非規(guī)則或者非正交配置布置。存儲器元件每個可以具有兩個或更多電極或者接觸線,例如位線和字線。

組織三維存儲器陣列以使得存儲器元件占據(jù)多個平面或者多個器件級,由此形成三維空間(即,以x、y和z方向,其中y方向?qū)嵸|(zhì)上垂直于基底的主表面,且x和z方向?qū)嵸|(zhì)上平行于基底的主表面)中的結(jié)構(gòu)。

作為非限制實例,三維存儲器陣列結(jié)構(gòu)中的每一平面可以物理上位于二維空間(一個存儲器級)中,其中多個二維存儲器級形成三維存儲器陣列結(jié)構(gòu)。作為另一非限制實例,三維存儲器陣列可以物理地構(gòu)造為多個垂直列(例如,沿y方向基本上垂直于基底的主表面延伸的列),該多個垂直列在每一列中具有多個元件且因此具有跨過幾個垂直地堆疊的存儲器平面的元件。所述列可以以二維配置布置,例如,在x-z平面中,由此產(chǎn)生存儲器元件的三維布置。本領(lǐng)域技術(shù)人員將理解,三維的存儲器元件的其他配置也構(gòu)成三維存儲器陣列。

通過非限制實例的方式,在三維NAND存儲器陣列中,存儲器元件可以連接在一起以形成在單個水平(例如,x-z)平面內(nèi)的NAND串。替代地,存儲器元件可以連接在一起以延伸通過多個水平面??梢栽O(shè)想其他三維配置,其中,某些NAND串包括單個存儲器級中的存儲器元件,而其他串包括延伸通過多個存儲器級的存儲器元件。三維存儲器陣列也可以以NOR配置和以ReRAM配置設(shè)計。

單片三維存儲器陣列是這樣的三維存儲器陣列:其中在單個基底(例如半導(dǎo)體晶片)之上和/或之內(nèi)形成多個存儲器級。在單片三維陣列中,陣列的每一級的層在陣列的每一在下面的級的層上形成。本領(lǐng)域技術(shù)人員將理解,單片三維存儲器陣列的相鄰級的層可以被共享或者具有在存儲器級之間的介于其間的層。相反地,二維陣列可以分開地形成,且然后封裝在一起以形成非單片存儲器裝置。例如,通過在分開的基底上形成存儲器級且然后在彼此之上粘合存儲器,即而構(gòu)造非單片堆疊存儲器。該基底在接合之前可以變薄或者移除存儲器級,但是由于存儲器級最初地形成在在分開的基底之上,所以這種存儲器不是單片三維存儲器陣列。另外,多個二維存儲器陣列或者三維存儲器陣列(單片或者非單片)可以分開地形成,且然后封裝在一起以形成堆疊芯片的存儲器裝置。

本領(lǐng)域技術(shù)人員將認(rèn)識到本發(fā)明不限于所描述的二維和三維示例性結(jié)構(gòu),而是覆蓋如在這里所描述的、和本領(lǐng)域技術(shù)人員所理解的本發(fā)明的精神和保護范圍內(nèi)的所有相關(guān)的存儲器結(jié)構(gòu)。

另外,本公開描述各種功能,其可以以硬件、以軟件或者以硬件和軟件的組合實現(xiàn)。在一個實施例中,可以使用一個或多個指令集(例如嵌入的軟件)實現(xiàn)功能。另外,指令可以執(zhí)行如在這里描述的一個或多個方法或邏輯,例如圖6-圖7所示的。指令可以位于系統(tǒng)的各種部分中。例如,指令可以位于SSD控制器芯片(參見圖3A、圖3E、圖5)中和/或閃存存儲器芯片(例如閃存存儲器芯片控制器,參見圖4A-圖4B)中。

該指令可以具體表現(xiàn)為計算機可讀介質(zhì)。計算機可讀介質(zhì)可以是單個介質(zhì),或者計算機可讀介質(zhì)可以是單個介質(zhì)或者多個介質(zhì),例如集中式或者分布式數(shù)據(jù)庫,和/或存儲一個或多個指令集的相關(guān)聯(lián)的高速緩存和服務(wù)器。術(shù)語“計算機可讀介質(zhì)”也可以包括能夠存儲、編碼或者攜帶指令集的任何介質(zhì),該指令集用于由處理器執(zhí)行或者可以使得計算機系統(tǒng)執(zhí)行在這里公開的任何一個或多個方法或操作。

計算機可讀介質(zhì)可以包括例如存儲卡的固態(tài)存儲器、或者裝有一個或多個非易失性只讀存儲器的其他封裝。計算機可讀介質(zhì)也可以是隨機存取存儲器、或者其他易失性可重寫存儲器。另外,計算機可讀介質(zhì)可以包括磁光或者光介質(zhì),例如盤或者帶或者其他存儲裝置以捕獲載波信號,例如經(jīng)傳輸介質(zhì)傳遞的信號。附于電子郵件或者其他自包含信息檔案或者檔案集的數(shù)字文件可以考慮為可以是有形存儲介質(zhì)的分布式介質(zhì)。計算機可讀介質(zhì)優(yōu)選地是有形存儲介質(zhì)。因此,本公開可以考慮為包括其中可以存儲數(shù)據(jù)或者指令的任何一個或多個計算機可讀介質(zhì)或者分布式介質(zhì)及其他等效和后繼介質(zhì)。

替代地或者另外地,可以構(gòu)造專用硬件實現(xiàn)(例如專用集成電路、可編程邏輯陣列及其他硬件裝置)來實現(xiàn)本文所描述的一個或多個方法??梢园ǜ鞣N實施例的設(shè)備和系統(tǒng)的應(yīng)用可以廣泛地包括各種電子和計算機系統(tǒng)。在這里描述的一個或多個實施例可以使用具有可以在模塊之間和通過模塊傳遞的相關(guān)控制和數(shù)據(jù)信號的兩個或更多特定的互連硬件模塊或裝置,或者作為專用集成電路的部分實現(xiàn)功能。因此,本系統(tǒng)可以包含軟件、固件和硬件實現(xiàn)。

在這里描述的說明意在提供對于各種實施例的結(jié)構(gòu)的總的理解。說明不意在用作為對使用在這里描述的結(jié)構(gòu)或者方法的設(shè)備、處理器和系統(tǒng)的全部元件和特征的完整描述。許多其他實施例對本領(lǐng)域技術(shù)人員在瀏覽本公開時是顯而易見的。其他實施例可以使用并從本公開導(dǎo)出,從而可以做出結(jié)構(gòu)和邏輯的替換和改變而不脫離本公開的范圍。另外,說明僅是代表性的且可以不必按比例描繪。說明內(nèi)的某些比例可以被放大,而其他比例可以最小化。因此,本公開和附圖被認(rèn)為是說明性的而不是限制性的。

以上公開的主題要考慮為說明性的,而不是限制性的,且所附權(quán)利要求意在覆蓋落入說明書的真正精神和范圍內(nèi)的所有這種修改、增強及其他實施例。因此,達到法律允許的最大程度,范圍要由以下權(quán)利要求及其等效的最寬的可允許解釋來確定,而不應(yīng)該由前述詳細(xì)說明限制或者約束。

當(dāng)前第1頁1 2 3 
網(wǎng)友詢問留言 已有0條留言
  • 還沒有人留言評論。精彩留言會獲得點贊!
1