平码五不中公式规律
  • / 36
  • 下载费用:30 金币  

用于非易失性存储器中的分布式计算的系统和方法.pdf

关 键 ?#21097;?/dt>
用于 非易失性存储器 中的 分布式 计算 系统 方法
  专利查询网所有资源均是用户自行上传分享,仅供网友学习交流,未经上传用户书面授权,请勿作他用。
摘要
申请专利号:

CN201580026387.0

申请日:

2015.05.07

公开号:

CN106662980A

公开日:

2017.05.10

当前法律状态:

实审

有效性:

审中

法?#19978;?#24773;: 实质审查的生效IPC(主分类):G06F 3/06申请日:20150507|||公开
IPC分类号: G06F3/06; G06F13/28 主分类号: G06F3/06
申请人: 桑迪士克科技有限责任公司
发明人: W.K-C.拉姆
地址: 美国?#27599;?#33832;斯州
优?#28909;ǎ?/td> 2014.05.29 US 14/290,305
专利代理机构: 北京市柳沈律师事务所 11105 代理人: 万里晴
PDF完整版下载: PDF下载
法律状态
申请(专利)号:

CN201580026387.0

授权公告号:

|||

法律状态公告日:

2017.06.06|||2017.05.10

法律状态类型:

实质审查的生效|||公开

摘要

公开了用于在存储器系统(例如固态驱动器(SSD))内并入数学和/或逻辑功能性的系统和方法。该数学和/或逻辑功能性可以包括运算逻辑单元(ALU)。该ALU可以驻留在闪存存储器芯片或者SSD控制器中的一个或者两者中。当驻留在闪存存储器芯片中时,可以使用单个ALU或者多个ALU。例如,单个ALU可以被分配给闪存存储器芯片内的闪存存储器的一个块、某些块或者每个块。作为另一实例,ALU可以被分配至子块结构,例如至块中每一位线。使ALU驻留在SSD中使得能够在SSD内执行更多处理,并且减小发送数据到SSD外部以用于处理的需要。

权利要求书

1.一种固态驱动器(SSD),包括:
SSD控制器,其包括SSD控制器运算逻辑单元(ALU);
一个或多个存储器芯片,其与所述SSD控制器通信,所述一个或多个存储器芯片包括:
存储器;和
控制器,其包括数学计算功能性或逻辑功能性,
其中,所述SSD控制器配置为:
从主机装置接收写入命令,所述写入命令包括一个或多个值;
响应于接收所述写入命令,将写入指令发送到所述一个或多个存储器芯片以在存储器
中存储所述一个或多个值,
其中,所述SSD控制器进一步配置为:
从所述主机装置接收命令;
响应于接收到该命令,发送指令到一个或多个存储器芯片,
其中,所述一个或多个存储器芯片配置为:
响应于接收到所述指令,对预先存储在存储器芯片的存储器中的一个或多个值使用所
述控制器的数学计算功能性或者逻辑功能性对预先存储在存储器芯片的存储器中的一个
或多个值使用所述控制器的数学计算功能性或者逻辑功能性以生成一个或多个结果;和
将所述一个或多个结果的至少一部分或者所述一个或多个结果的指示发送到所述SSD
控制器。
2.如权利要求1所述的SSD,其中,所述SSD配置为执行多个功能,所述多个功能包括第
一组功能和第二组功能;
其中,所述SSD控制器集成电路芯片配置为使用所述SSD控制器ALU执?#26800;?#19968;组功能;和
其中,所述一个或多个存储器芯片配置为使用各自的控制器以关于存储器中存储的一
个或多个值执?#26800;?#20108;组功能。
3.如权利要求2所述的SSD,其中,所述第一组功能包括高级功能;和
其中,所述第二组功能包括?#22270;?#21151;能。
4.如权利要求3所述的SSD,其中,所述SSD控制器配置为:
浏览从主机装置接收到的命令;
响应于所接收的命令确定要执行的一个或多个?#22270;?#21151;能;
确定所述一个或多个存储器芯片中哪个或哪些以发送指令以执行所确定的一个或多
个?#22270;?#21151;能;和
将关于存储器中存储的一个或多个值执行所确定的一个或多个?#22270;?#21151;能的指令发送
到所确定的一个或多个存储器芯片。
5.如权利要求3所述的SSD,其中,所述多个功能包括数据库功能、图像处理功能或者文
件系统功能中的至少一个。
6.如权利要求1所述的SSD,其中,来自主机装置的命令包括搜索命令;
其中,响应于接收到搜索命令,所述控制器配置为将搜索指令发送到一个或多个存储
器芯片,所述检索指令指示一个或多个存储器芯片搜索数据值;
其中,各个存储器芯片配置为接收搜索指令;和
其中,响应于接收搜索指令,各个存储器芯片的控制器配置为确定存储器中存储的一
个或多个值是否匹配所述数据值,以生?#19978;?#24212;于搜索命令的一个或多个结果。
7.如权利要求6所述的SSD,其中,响应于从主机装置接收到搜索命令,所述SSD控制器
配置为确定一个或多个高级功能和一个或多个?#22270;?#21151;能,所述一个或多个?#22270;?#21151;能中的至
少一个包括所述搜索指令;
其中,所述一个或多个高级功能不同于所述一个或多个?#22270;?#21151;能;
其中,所述SSD控制器配置为执行所述一个或多个高级功能;和
其中,所述SSD控制器配置为命令所述一个或多个存储器芯片执行所述一个或多个低
级功能。
8.如权利要求1所述的SSD,其中,响应于从主机装置接收到数学计算命令,所述SSD控
制器配置为确定各个存储器集成电路芯片的存储器中的执行数学计算的存储器位置,其
中,所述数学计算指令指示执行数学计算;和
其中,响应于确定各个存储器集成电路芯片的存储器中执行数学计算的存储器位置,
所述SSD控制器配置为将数学计算的指示发送到各个存储器集成电路芯片。
9.如权利要求8所述的SSD,其中,所述数学计算命令包括图像处理命令。
10.如权利要求1所述的SSD,其中,所述一个或多个存储器集成电路芯片包括一个或多
个闪存存储器芯片;和
其中,所述存储器包括闪存存储器。
11.如权利要求1所述的存储装置,其中,所述存储器包括硅基底和形成单片三维结构
的多个存储器单元,其中,所述存储器单元中的至少一部分相对于硅基?#29366;?#30452;地设置。
12.一种用于操作具有固态驱动器(SSD)控制器和存储器芯片的SSD的方法,所述SSD控
制器包括SSD控制器运算逻辑单元(ALU),所述存储器芯片包括存储器和控制器,所述控制
器包括数学计算功能性或逻辑功能性,所述方法包括:
所述SSD控制器经由配置为与主机装置通信的接口接收写入命令,所述写入命令包括
一个或多个值;
响应于接收到所述写入命令,所述SSD控制器指示存储器芯片在存储器中存储所述一
个或多个值;
所述SSD控制器从主机装置接收命令;
响应于接收到所述命令,所述SSD控制器发送指令到存储器芯片,
所述存储器芯片响应于接收到所述指令,对预先存储在存储器芯片的存储器中的一个
或多个值使用所述控制器的数学计算功能性或者逻辑功能性以生成一个或多个结果;和
所述存储器芯片将所述一个或多个结果的至少一部分或者所述一个或多个结果的指
示发送到所述SSD控制器。
13.如权利要求12所述的方法,其中,所述SSD配置为执行多个功能,所述多个功能包括
高级功能和?#22270;?#21151;能;
其中,所述SSD控制器集成电路芯片使用SSD控制器ALU执行高级功能;和
其中,所述存储器芯片使用控制器执行关于所述一个或多个值的?#22270;?#21151;能。
14.如权利要求12所述的方法,其中,所述存储器包括硅基底和形成单片三维结构的多
个存储器单元,其中,所述存储器单元的至少一个部分相对于硅基?#29366;?#30452;地设置。
15.一种配置用于在固态驱动器(SSD)中使用的存储器芯片,所述存储器芯片包括:
接口,其配置为与用于SSD的SSD控制器通信,所述SSD控制器配置为从主机装置接收一
个或多个值;
存储器;和
控制器,其与所述接口和所述存储器通信,所述控制器包括搜索功能性或者计算功能
性,且配置为:
从SSD控制器接收写入命令,所述写入命令指示将所述一个或多个值写入到存储器;
响应于接收到所述写入命令,在存储器中存储所述一个或多个值;
从SSD控制器接收至少一个搜索命令,所述搜索命令包括数据条目;
响应于接收到搜索命令,使用搜索功能性以确定在存储器?#24615;?#20808;存储的一个或多个值
是否匹配数据条目以生成一个或多个结果;和
将所述一个或多个结果的至少一部分或者所述一个或多个结果的指示发送到所述SSD
控制器。
16.如权利要求15所述的存储器芯片,其中,所述搜索命令包括数据库命令,所述数据
库命令包括体系搜索、插入、删除或者附加之一。
17.如权利要求15所述的存储器芯片,其中,所述控制器包括:
处理器;和
ALU电路,其与所述处理器通信,所述ALU电路包括ALU且包括搜索功能性和计算功能
性。
18.如权利要求15所述的存储器芯片,其中,所述控制器包括处理器;和
其中,所述处理器通过执行指令以生成搜索功能性和计算功能性而配置为ALU。
19.如权利要求15所述的存储器芯片,其中,所述存储器包括第一块和第二块;
其中,第一ALU分配给第一块;和
其中,第二ALU分配给第二块。
20.如权利要求15所述的存储器芯片:
其中,所述存储器包括块,所述块包括多个位线;和
其中,单独的ALU分配给所述块中多个位线中的每一个。
21.如权利要求15所述的存储器芯片,其中,所述存储器包括硅基底和形成单片三维结
构的多个存储器单元,其中,所述存储器单元的至少一部分相对于硅基?#29366;?#30452;地设置。
22.一种用于操作配置用于在固态驱动器(SSD)中使用的存储器集成电路芯片的方法,
所述存储器集成电路芯片具有存储器,所述方法包括:
从SSD控制器接收写入命令,所述写入命令指示将一个或多个值写入到存储器;
响应于接收到所述写入命令,在存储器中存储所述一个或多个值;
从SSD控制器接收至少一个搜索命令,所述搜索命令包括数据条目;
响应于接收到搜索命令,使用搜索功能性以确定在存储器?#24615;?#20808;存储的一个或多个值
是否匹配数据条目以生成一个或多个结果;和
将所述一个或多个结果的至少一部分或者所述一个或多个结果的指示发送到所述SSD
控制器。
23.如权利要求22所述的方法,其中,所述搜索命令包括数据库命令,所述数据库命令
包括体系搜索、插入、删除或者附加之一。
24.如权利要求22所述的方法,其中,所述存储器包括硅基底和形成单片三维结构的多
个存储器单元,其中,所述存储器单元的至少一部分相对于硅基?#29366;?#30452;地设置。
25.一种配置用于在固态驱动器(SSD)中使用的存储器集成电路芯片,所述存储器集成
电路芯片包括:
接口,其配置为与用于SSD的SSD控制器通信,所述SSD控制器配置为从主机装置接收一
个或多个值;
存储器;和
控制器,其与所述接口和所述存储器通信,所述控制器包括搜索功能性或者计算功能
性,且配置为:
从SSD控制器接收写入命令,所述写入命令指示将一个或多个值写入到存储器;
响应于接收到所述写入命令,在存储器中存储所述一个或多个值;
接收数学计算指令,所述数学计算指令指示执行数学计算;
响应于接收到所述数学计算指令,关于所述一个或多个值执行数学计算以生成一个或
多个结果;和
将所述一个或多个结果的至少一部分或者所述一个或多个结果的指示发送到所述SSD
控制器。
26.如权利要求25所述的存储器集成电路芯片,其中,所述数学计算命令包括图像处理
命令。
27.如权利要求25所述的存储器集成电路芯片,其中,所述存储器包括闪存存储器。
28.如权利要求25所述的存储器集成电路芯片,其中,所述控制器包括处理器和与所述
处理器通信的ALU电路,所述ALU电路包括ALU并包括搜索功能性和计算功能性。
29.如权利要求25所述的控制器集成电路芯片,其中,所述控制器包括处理器;和
其中,所述处理器通过执行指令以生成搜索功能性和计算功能性而配置为ALU。
30.如权利要求25所述的存储器集成电路芯片,其中,所述存储器包括硅基底和形成单
片三维结构的多个存储器单元,其中,所述存储器单元的至少一部分相对于硅基?#29366;?#30452;地
设置。

说明书

用于非易失性存储器中的分布式计算的系统和方法

相关申请的引用

本申请要求(于2014年5月29日提交的)美国申请No.14/290,305的权益,将其全文
通过引用并入于此。

技术领域

本申请总的来说涉及在系统中管理数据。更具体地,本申请涉及非易失性存储器
中的分布式计算。

背景技术

数据存储装置可以采取几?#20013;?#24335;之一。一?#20013;?#24335;是硬盘驱动器(HDD),其?#24615;?#28034;覆
有磁性材料的盘上存储数据。通常,HDD包括多个快速地旋转的盘,布置在移动致动器臂上
的磁头?#20248;?#34920;面读取数据和写入数据到盘表面。数据存储装置的另一形式是固态驱动器
(SSD)。与在HDD中使用盘不同,SSD使用集成电路组件来存储数据。SSD可以使用与HDD的传
统的块输入/输出(I/O)可兼容的电子接口。在这点上,SSD可以在常规应用中容易地替换
HDD。

发明内容

本发明公开了用于在存储器系统(例如固态驱动器(SSD))内并入数学和/或逻辑
功能性的系统和方法。该数学和/或逻辑功能性可以包括运算逻辑单元(ALU)。ALU可以驻留
在存储器系统的各种部分中。在SSD中,其可以包括SSD控制器和一个或者多个存储器芯片,
一个或多个ALU可以位于一个或多个闪存存储器芯片或者SSD控制器之一或者两者中。当驻
留在闪存存储器芯片中时,可以使用单个ALU或者多个ALU。例如,单个ALU可以被分配给闪
存存储器芯片内的闪存存储器的一个块、某些块或者每个块。作为另一实例,ALU可以被分
配给子块结构,例如块中每一位线。ALU驻留在例如SSD的存储器系统中使得能够在SSD内执
行更多处理和减小发送数据到SSD外部以用于处理的需要。另外,ALU驻留在例如SSD的存储
器系统中使存储器系统能够执行各种功能,例如数据库功能、图像处理功能和/或文件系统
功能。

根据第一方面,公开了包括存储器的固态驱动器(SSD)。该SSD包括:配置为与主机
装置通信的接口;和与接口通信的控制器,该控制器包括运算逻辑单元(ALU)。该控制器配
置为:从主机装置接收命令;响应于接收到命令,使用ALU以生成一个或多个结果;和将一个
或多个结果的至少一部分或者一个或多个结果的指示发送到主机装置。

在第二方面中,公开了电子集成电路与多个主机之一通信的方法。该方法包括:使
用主机协议经由第一组电触点与第一主机通信,电子集成电?#38750;?#20837;在第一主机内,该第一
组电触点在电子集成电路的封装外?#21487;希?#25509;收一个或多个信号以选择用于测试电子集成电
路的至少一部分的第二组电触点,该第二组电触点在电子集成电路的封装外?#21487;希?#21644;基于
所接收的一个或多个信号,使用主机接口开关从与第一组电触点的某些或者全部的通信切
换到使用主机协议的与第二组电触点的某些或者全部的通信,以使得第二主机测试电子集
成电路的至少一部分。

在第三方面中,公开了配置用于固态驱动器(SSD)的存储器集成电路芯片。该存储
器集成电路芯片包括:配置为与用于SSD的SSD控制器通信的接口;存储器;和与接口和存储
器通信的控制器。控制器包括运算逻辑单元(ALU)且被配置为:从SSD控制器接收命令;响应
于接收到命令,使用ALU以生成一个或多个结果;和将一个或多个结果的至少一部分或者一
个或多个结果的指示发送到SSD控制器。

在第四方面中,提供了操作配置用于固态驱动器(SSD)的存储器集成电路芯片的
方法。该方法包括:经由接口从SSD的SSD控制器接收命令;响应于接收到命令,使用运算逻
辑单元(ALU)以生成一个或多个结果,该ALU驻留在存储器集成电路芯片中;和将一个或多
个结果的至少一部分或者一个或多个结果的指示发送到SSD控制器。

在第五方面中,公开了配置用于固态驱动器(SSD)的存储器集成电路芯片。该存储
器集成电路芯片包括:配置为与用于SSD的SSD控制器通信的接口;存储器;和与接口和存储
器通信的控制器。该控制器包括数学功能性或逻辑功能性,该逻辑功能性包括异或(XOR)功
能性和与(AND)功能性或者或(OR)功能性中的至少一个。该控制器配置为:从SSD控制器接
收命令;响应于接收到命令,使用数学功能性或逻辑功能性以生成一个或多个结果;和将一
个或多个结果的至少一部分或者一个或多个结果的指示发送到SSD控制器。更具体地,该存
储器集成电路芯片可以包括控制器,该控制器包括数学功能性和逻辑功能性,其中逻辑功
能性包括XOR功能性,AND功能性和OR功能性。

其他特征和优点将在浏览以下附图、详细说明和权利要求时变得明显。另外,公开
了其他实施例,且每一个实施例可以单独使用或者组?#31995;?#19968;起使用。现在将参考附图描述
实施例。

附图说明

参考以下附图和描述可以更好地理解该系统。在附图中,相同的附图标记指示遍
及不同的图中相应的部分。

图1示出与存储器装置连接的主机。

图2示出SSD的框图。

图3A示出闪存存储器芯片控制器的框图的第一实例。

图3B-图3C示出分配给闪存存储器阵列中的块的一个或多个ALU的框图的实例。

图3D是分配给闪存存储器区块的ALU的实例。

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

图4A-图4B分别示出闪存存储器芯片控制器和SSD控制器芯片的框图的第二实例。

图5示出SSD控制器芯片的第三实例的框图。

图6示出由闪存存储器芯片控制器执行的动作的流程图。

图7示出由SSD控制器芯片执行的动作的流程图。

具体实施方式

主机装置可以包括一个或多个外围装置。该外围装置可以与主机装置通信(例如
连接到主机装置),从而扩展主机装置的功能性。一种类型的外围装置是存储装置,其增加
主机装置的存储容量由此增加主机装置的功能性。如以下更详细地?#33268;?#30340;,存储装置可以
包括在第一实施例中的固态驱动器(SSD)或者在第二实施例中的闪存驱动器。

通常,主机装置可以执行一个或多个功能。如以下更详细地?#33268;?#30340;,所述功能可以
包括数据库功能、图像处理功能、和/或文件系统功能。所列出的功能仅用于说明目的。其他
功能是可预期的。在本发明的一个方面中,一功能的某些或者全部在存储装置中执行。在这
点上,该功能的部分(或者全部)的执行可以分配给存储装置。

在一个实施例中,一功能(或者一组功能)可以由存储装置执行。在一个方面中,仅
存储装置的一部分执行该功能(或者该组功能)。如以下更详细地?#33268;?#30340;,SSD包括SSD控制
器芯片和一个或多个闪存存储器芯片。在一种实现中,闪存存储器芯片(例如闪存存储器芯
片内的控制器)执行该功能(或者该组功能)。作为另一种实现,SSD控制器芯片(例如SSD控
制器芯片内的控制器)执行该功能(或者该组功能)。在另一方面中,存储装置的多个部分可
以执行一功能(或者一组功能)。如以下更详细地?#33268;?#30340;,单个功能可以被划分为多个子功
能,其中,存储装置的一部分(例如SSD控制器芯片)执行一个子功能,而存储装置的另一部
分(例如闪存存储器芯片)执行另一子功能。

在替代实施例中,多个功能可以被划分以使得功能的第一子集由存储装置执行,
且功能的第二子集由主机装置执行。例如,一组功能涉及文件系统管理,如以下?#33268;?#30340;。关
于文件系统管理的功能的第一子集(例如?#31995;透?#26434;度文件系统功能)可以由存储装置执行,
且关于文件系统管理的功能的第二子集(例如较高复杂度文件系统功能)可以由主机装置
执行。在另一实施例中,一单个功能可以被划分为第一子功能和第二子功能,其中第一子功
能由存储装置执行,?#19994;?#20108;子功能由主机装置执行。例如,一个功能是处理图像。更具体地,
图像处理可以包括第一图像处理步骤和第二图像处理步骤。如以下更详细地?#33268;?#30340;,存储
装置(例如闪存存储器芯片内的控制器和/或SSD控制器芯片)可以执?#26800;?#19968;图像处理步骤,
并发送结果到主机装置以使得主机装置在该结果上执?#26800;?#20108;图像处理步骤。在又一实施例
中,通常由主机装置执行的多个功能可以全部由存储装置执行。

为了执行通常由主机装置执行的功能的部分(或者全部),存储装置可以包括附加
的逻辑和/或计算性能。在一个实施例中,存储装置包括数学计算功能性和/或逻辑功能性。
例如,数学计算功能性可以包括算术和/或代数计算功能性(例如加法、减法、乘法、除法
等)。作为另一实例,逻辑功能性可以包括以下逻辑操作:AND(与)、NAND(与非)、OR(或)、NOR
(或非)、XOR(异或)、NOT(非)等中的任何一个或者任何多个(包括全部)的组合。在这点上,
存储装置可以分别执?#33455;?#26377;数学计算功能性和/或逻辑功能性的数学计算操作和/或逻辑
操作。由存储装置执行的数学计算操作和/或逻辑操作可以用于执行以上?#33268;?#30340;功能,例如
数据库功能、图像处理功能和/或文件系统功能。如以下更详细地?#33268;?#30340;,特定功能(例如数
据库功能)可以由一个或多个数学计算操作和/或逻辑操作组成。

使用数学计算功能性和/或逻辑功能性的数学计算操作和/或逻辑操作可以由存
储装置使用一个或多个部件执行。在一个实施例中,存储装置包括运算逻辑单元(ALU)。如
以下更详细地?#33268;?#30340;,ALU配置为执行整数运算和逻辑操作(例如AND、NAND、OR、NOR、XOR、
NOT)。在替代实施例中,存储装置可以包括浮点单元(FPU),该浮点单元可以配置为执行非
整数计算,例如除法操作,其可以生成分数或者“浮点”数。在另外的替代实施例中,存储装
置可以包括ALU和FPU两者。

如上所述,在一个实施例中,一种类型的存储装置是固态驱动器(SSD)。SSD可以包
括SSD控制器和存储器(例如NAND闪存非易失性存储器或者DRAM易失性存储器),以在SSD内
存储数据。SSD控制器可以具体表现为集成电路芯片,而存储器(例如闪存非易失性存储器)
可以具体表现为与SSD控制器集成电路芯片分开的一个或多个集成电路存储器芯片。在替
代实施例中,另一类型的存储装置是闪存驱动器。

在一个实施例中,数学计算功能性和/或逻辑功能性可以驻留在集成电路存储器
芯片中。例如,多个集成电路存储器芯片可以与SSD控制器通信。所述多个集成电路存储器
中的一个、某些或者全部集成电路存储器可以包括ALU、FPU或者ALU/FPU。闪存存储器芯片
因此可以应主机系统的请求执行计算或逻辑操作。在这点上,计算可以从主机系统分配至
存储装置,例如分配至SSD上的集成电路存储器芯片。另外,集成电路存储器芯片的计算可
以被更快地执行,因为数据不需要被发送到集成电路存储器芯片外部以用于处理,并且因
为可以并?#26800;?例如,在集成电路存储器芯片内)执行处理。

在替代实施例中,数学计算功能性和/或逻辑功能性可以驻留在SDD控制器集成电
路芯片中。在另外的替代实施例中,数学计算功能性和/或逻辑功能性可以驻留在SDD控制
器集成电路芯片和多个集成电路存储器芯片的一个、某些或者全部集成电路存储器芯片
中。

图1示出主机系统100和存储器系统102。主机系统100可以包括任何类型的主机装
置,例如静态计算机系统(例如台式计算机)或者移动计算机系统(例如膝上型计算机、智能
电话、平板计算机等)。

图1的主机系统100在考虑存储器系统102的情况下可以被视为具有两个主要部
分,该两个主要部分由电路和软件的组合构成。它们是应用部分108以及与存储器系统102
的接口连接的驱动器部分110。在台式计算机、膝上型计算机、智能电话、平板计算机中,例
如,应用部分110可以包括运行文?#25191;?#29702;、图形、控制或者其他流行的应用软件的处理器(例
如,CPU)112,以及用于管理主机系统100上的数据的文件系统114。在主要专用于执行单组
功能的相机、蜂窝电话或者其他主机系统中,应用部分108包括操作相机以拍摄和存储画
面、操作蜂窝电话以做出和接收呼?#26800;?#30340;软件。

存储器系统102可以是嵌入主机内的闪存存储器,例如安装在主机系统中的SSD的
形式,配合部分104和106将主机系统100连接到SSD。替代地,存储器系统102可以具有通过
机械和电连接器的配合部分104和106可拆卸地连接到主机系统100的卡的形式。被配置为
用作内部或者嵌入SSD驱动器的闪存存储器可以与图1的示意看起来类似,主要差异是存储
器系统102的位置在主机系统100内部。SSD可以具有用作旋转磁盘驱动器的插入式(drop-
in)替换的分立模块的形式。

另外,在一个实施例中,例如闪存存储器的存储器可以包括二维存储器。在替代实
施例中,存储器可以包括三维存储器。在另外的替代实施例中,存储器可以包括二维存储器
和三维存储器的组合。

图1的存储器系统102可以包括半导体存储器装置,并包括非易失性存储器(例如
一个或多个存储器芯片116)和存储器系统控制器118。在替代实施例中,存储器系统102可
以包括易失性存储器和非易失性存储器两者。存储器系统控制器118与主机系统100接口连
接,存储器系统102连接到主机系统100以来回传递数据,存储器系统控制器118控制存储器
芯片116。

主机系统100可以为了多个目的与存储器系统通信。一个目的是主机系统102在存
储器系统上存储数据、和/或从存储器系统读取数据。例如,主机系统100可以发送数据到存
储器系统102,以用于存储数据在存储器系统102的一个或多个存储器芯片116上。作为另一
实例,主机系统100可以从存储器系统102请求存储在一个或多个存储器芯片116上的数据。
当与存储器系统通信时,主机系统100可以发送数据的逻辑地址,例如以逻辑块地址范围
(LBA)的形式。存储器系统控制器118然后可以在一个或多个步骤中将LBA转换为存储器芯
片116上的实际物理地址。存储器系统控制器118可以执行从逻辑地址到实际物理地址的转
换以?#25104;?#21040;实际物理地址。例如,来自主机系统100的LBA可以?#25104;?#21040;存储器系统内部的逻
辑地址,且存储器系统内部逻辑地址被?#25104;?#21040;实际物理地址。作为另一实例,来自主机系统
100的LBA可以直接?#25104;?#21040;实际物理地址。

图1示出存储器芯片116可以包括多个存储器芯片,例如芯片0到N,其中N是整数。
存储器芯片116内的每一个存储器芯片可以彼此相同(如图1所示),或者可以不同。例如,存
储器芯片0(120)可以包括存储器芯片0控制器(122)和闪存存储器阵列(124)。同样地,存储
器芯片N(126)可以包括存储器芯片N控制器(128)和闪存存储器阵列(130)。

如上所述,存储器系统102的一部分可以包括数学计算功能性和/或逻辑功能性。
在一个实施例中,数学计算功能性和/或逻辑功能性可以驻留在存储器芯片116的一部分
中,例如一个、某些或者全部存储器芯片(例如在存储器芯片0控制器122和存储器芯片N控
制器128中)。在替代实施例中,数学计算功能性和/或逻辑功能性可以驻留在存储器系统控
制器118中。在另外的替代实施例,数学计算功能性和/或逻辑功能性可以驻留在存储器芯
片116的一部分中,例如在存储器芯片0控制器122和存储器芯片N控制器128中,和存储器系
统控制器118中。

如上所述,一种类型的存储器系统102是SSD。在图2中示出了SSD 200的框图的实
例。在美国专利公开No.2008/0113525中公开了SSD的实例,通过引用将其全文并入这里。
SSD 200包括SSD控制器芯片202。如图2所示,SSD控制器芯片202包括主机系统接口204,该
主机系统接口204可以包括电路和/或软件以与主机系统100通信。替代地,主机系统接口
204可以在SSD控制器芯片202外部。SSD控制器芯片202另外包括配置为执行一个或多个功
能的SSD控制器电路206,所述功能包括以下的任何一个、任何组合或者全部:?#26469;恚?#25439;耗平
衡?#25442;?#22359;?#25104;洌?#35835;取擦除和读取干扰管理;读和写高速缓存;无用单元收集;和?#29992;堋?#22914;以下
更详细地?#33268;?#30340;,在一个实施例中,SSD控制器芯片202可以包括附加的功能性。SSD控制器
芯片202中的附加的功能性可以辅助一个、某些或者全?#21487;?#23384;存储器芯片执行数学计算功
能性和/或逻辑功能性,例如通过将从主机系统接收到的命令路由到闪存存储器芯片,以便
于闪存存储器芯片执行数学计算功能性和/或逻辑功能性。在替代实施例中,SSD控制器芯
片202中的附加的功能性可以包括数学计算功能性和/或逻辑功能性,以执行如上所述功能
的之外的功能。

SSD 200另外包括一个或多个闪存存储器芯片,例如闪存存储器芯片0(210)到闪
存存储器芯片N(216)。闪存存储器芯片0(210)可以包括闪存存储器芯片0控制器(212)和闪
存存储器阵列214。同样地,闪存存储器芯片N(216)可以包括闪存存储器芯片N控制器(218)
和闪存存储器阵列220。在一个实施例中,闪存存储器阵列214和220包括闪存存储器单元
(例如单级单元和/或多级单元)。在替代实施例中,闪存存储器阵列214和220由闪存存储器
单元构?#26705;?#32780;没有任何计算功能性。如以下更详细地?#33268;?#30340;,在一个实施例中,一个、某些或
者全?#21487;?#23384;存储器芯片,例如闪存存储器芯片0(210)和闪存存储器芯片N(216)可以包括数
学计算功能性和/或逻辑功能性。

如上所述,数学计算功能性和/或逻辑功能性可以驻留在存储装置的不同部分中。
如以下更详细地?#33268;?#30340;,图3A-图3E示出SSD内的数学计算功能性和/或逻辑功能性仅位于
闪存存储器芯片控制器中。图4A-图4B示出SSD内的数学计算功能性和/或逻辑功能性位于
闪存存储器芯片控制器和SSD控制器芯片两者中。图5示出SSD内的数学计算功能性和/或逻
辑功能性仅位于SSD控制器芯片中。数学计算功能性和/或逻辑功能性可以位于SSD内?#26410;?br />的实例是用于说明目的。其他实例是可预期的。

图3A是闪存存储器芯片控制器300的框图。如上所述,闪存存储器芯片的一部分,
例如闪存存储器芯片控制器300,通常可以执行数学操作和基元功能。SSD控制器芯片392可
以辅助闪存存储器芯片控制器300执行数学操作和基元功能,如以下关于图3E?#33268;?#30340;。

数学操作可以包括一元操作或者二元操作。一元操作仅涉及一个值,例如求反和
三角函数。二元操作采用两个值,且例如包括加法、减法、乘法、除法、取幂和取余。在一个实
施例中,除数学操作之外,闪存存储器芯片还可以执行一个或多个逻辑操作,如以下更详细
地?#33268;?#30340;。在替代实施例中,代替执行数学操作,闪存存储器芯片可以执行一个或多个逻辑
操作。

闪存存储器芯片控制器300可以包括图2中示出的闪存存储器芯片0控制器(212)
或者闪存存储器芯片N控制器(218)的扩展框图。闪存存储器芯片控制器300包括SSD控制器
接口302以用于与例如SSD控制器芯片202通信。

闪存存储器芯片控制器300另外包括闪存存储器芯片处理器304。闪存存储器芯片
处理器304可以包括微处理器、微控制器、专用集成电路(ASIC)、现场可编程门阵列、逻辑数
字电路或者其他现有技术已知的或者将来开发的逻辑处理性能。闪存存储器芯片处理器
304可以包括一个或多个处理性能,例如比较器功能。如图3A所示,闪存存储器芯片处理器
304包括不同功能性,例如ALU 306、计数器308和FPU 310。

在一个实施例中,ALU 306、计数器308和FPU 310中的任何一个、任何组合或者全
部存在于闪存存储器芯片处理器304中。例如,闪存存储器芯片处理器304中可以包括ALU
306,而不包括计数器308和FPU 310。作为另一实例,闪存存储器芯片处理器304中可以包括
ALU 306和计数器308,而不包括FPU 310。

图3A还包括存储器312。存储器312可以包括易失性存储器(例如随机存取存储器
(RAM))和/或非易失性存储器。可由闪存存储器芯片处理器304执行的处理器可执行指令可
以存储在存储器312中。处理器可执行指令的实例包括数据库功能软件314、图像处理软件
316和文件系统软件318。以下?#33268;?#21508;种功能包括文件系统功能、图像处理功能和数据库功
能,其分别可以使用文件系统软件318、图像处理软件316、和数据库功能软件314实现。

图3A示出闪存存储器芯片控制器300包括存储器312,其作为闪存存储器芯片控制
器300的一部分。在这点上,存储器312可以专用于闪存存储器芯片控制器300的操作。替代
地,存储器312可以是闪存存储器的一部分(例如闪存存储器阵列214或者闪存存储器阵列
220)。因此,闪存存储器芯片控制器300可以动态地分配闪存存储器的一部分(例如闪存存
储器阵列214或者闪存存储器阵列220)用于与闪存存储器芯片控制器300有关的操作,例如
分配存储器用于数学计算功能性和逻辑功能性,或者分配闪存存储器的一部分用于数据存
储。在另外的替代实施例,存储器312可以包括专用于闪存存储器芯片控制器300的操作的
部分,例如用于存储用于由闪存存储器芯片控制器300执行的软件的存储器,以及被动态地
分配的部分。

图3A示出了作为闪存存储器芯片控制器300的一部分的数学计算功能性和逻辑功
能性的几个实例,包括ALU 306、计数器308和FPU 310。在一个实施例中,如图3A中示出的
ALU 306作为闪存存储器芯片处理器304的一部分而被包括。例如,ALU 306可以是闪存存储
器芯片处理器304的一部分,其中,闪存存储器芯片处理器304可以执行不同软件(其可以存
储在存储器312中)以执行ALU 306的功能性。在替代实施例中,ALU 306可以是与闪存存储
器芯片处理器304分开并与闪存存储器芯片处理器304通信的电子部件。在任一实施例中,
ALU可以被包括在并驻留在闪存存储器芯片控制器中。输入和输出可以沿着电子路径(例如
总线)流动。

如上所述,ALU 306可以执行各种操作,例如逻辑操作(例如以下的任何一个、任何
组合或者全部:AND、OR、NOT、XOR、NOR、NAND);移位操作(例如将位的位置向右或者向左移位
某个数目的地点,其可以考虑为乘法操作);和算术操作(例如,加法和减法)。

在一个实施例中,ALU 306可以被划分为两个单元,包括运算单元(AU)和逻辑单元
(LU)。在替代实施例中,ALU 306由单个单元组成。另外,闪存存储器芯片控制器300可以包
括一个或多个ALU。例如,在一个实施例中,闪存存储器芯片处理器304可以包括单个ALU。在
替代实施例中,闪存存储器芯片处理器304可以包括多个ALU。

到ALU的输入可以包括指令字(例如机器指令字),该指令字包括操作码(例如“op
码”)、一个或多个操作数和可能的格式码。如以下更详细地?#33268;?#30340;,ALU可以接收各种命令。
该命令可以经由SSD控制器从主机系统发送。响应于接收到命令,闪存存储器芯片控制器可
以确定执行一个或多个数学和/或逻辑操作。如上所述,执行一个或多个数学和/或逻辑操
作,以用于执行例如图像处理、数据库功能和文件系统功能的功能的目的。在这点上,命令
可以指示图像处理命令、数据库命令或者文件系统命令。其他命令是可预期的。因此,不同
指令字可以用于各种操作。

命令可以包括操作码。操作码可以向ALU指示执行什么功能和在操作中使用的什
么操作数。例如,两个操作数可以被加在一起或者被逻辑地比较。输出可以包括位于闪存存
储器的一部分(例如被指定为存储寄存器的闪存存储器的一部分)中的结果,以及指示是否
成功地执行了功能的设置。

如上所述,闪存存储器芯片中的存储器可以用于ALU操作,该ALU操作包括用于输
入操作数、正在相加的操作数、(在累加器中存储的)累加结果和移位结果的存储地点。在闪
存存储器芯片控制器300包括专用ALU的实施例中,ALU的子单元中的位流和关于它们执行
的操作可以由选通电路控制。这些电路中的门可以由使用用于每一操作码的特定的算法或
者序列的顺序逻辑单元控制。在运算单元中,可以通过一系列加法或者减法和移位操作执
行乘法。另外,负数可以以多种方式在ALU中表示。在逻辑单元中,可以执行多个可能的逻辑
操作之一,例如比较两个操作数并标识在哪些位不匹配。

可以另外使用计数器308以执行各种功能,例如文件系统功能、图像处理功能和数
据库功能。计数器308可以使用寄存器类型的电路(例如触发电路)实现。可以使用不同计数
器,包括但不限于:异步计数器;同步计数器;十进计数器;向上/向下计数器(在控制输入的
命令下向上和向下地计数)?#25442;?#24418;计数器;约翰逊计数器;等?#21462;?#31867;似于ALU,计数器308可以
具体表现为专用?#24067;?例如触发器)或者可以具体表现为在闪存存储器芯片处理器304上执
行的软件。

FPU 310配置为关于浮点数进行例如数学操作的操作。数学操作包括但不限于除
法、平方根、移位?#32479;?#36234;函数(例如指数或者三角测量计算)。类似于ALU 306,如图3A中示出
的,FPU 310作为闪存存储器芯片处理器304的一部分被包括。因此,FPU 310可以是闪存存
储器芯片处理器304的一部分,其中,闪存存储器芯片处理器304可以执行不同软件(该软件
可以存储在存储器312中)以执行FPU 310的功能性。在替代实施例中,FPU 310可以是与闪
存存储器芯片处理器304分开且与闪存存储器芯片处理器304通信的电子部件。输入和输出
可以沿着电子路径(例如总线)流动。作为以下?#33268;?#30340;图像处理的实例的图形应用可以使用
FPU 310。

在闪存存储器芯片控制器300中实施的数学计算功能性和逻辑功能性使闪存存储
器芯片控制器300能够执行各种功能。所述功能的实例包括但不限于:数据库功能、图像处
理功能和文件系统功能。如图3A所示,闪存存储器芯片控制器300可以分别通过使用数据库
功能软件314、图像处理软件316和文件系统软件318来执行数据库功能、图像处理功能和文
件系统功能。

例如,在闪存存储器芯片控制器300中实施的数学计算功能性和逻辑功能性(例如
ALU 306)可以与闪存存储器芯片处理器304中的比较器一起使用。在一个实现中,在闪存存
储器芯片内存储(例如在闪存存储器的数据高速缓存存储的)图案和页被读取,并使用比较
器做出比较。

以下更详细地?#33268;?#30340;一个应用是将一个或多个页加载到高速缓存(例如动态数据
高速缓存(DDC))中,并且在加载的页的部分或者全?#21487;?#25191;行数学和/或逻辑功能性。例如,
平面1可以被加载到动态数据高速缓存1(DDC1)中,且平面2可以被加载到动态数据高速缓
存2(DDC2)中。可以考虑DDC1和DDC2是可以装进ALU中的操作数寄存器。ALU执行一个或多个
操作,例如+、符号化、*、移位及其他操作。在操作数寄存器上执?#24615;?#31639;器操作的结果可以被
路由至数据高速缓存。数据高速缓存中的数据然后可以被复制到闪存存储器芯片?#31995;?#21478;一
平面。在这点上,平面1和平面2上的数据可以被代数地操作,且结果存储在平面3中。所有这
些操作可以在闪存存储器芯片内做出,而不将数据移动到闪存存储器芯片外部,且可以以
页宽格式做出。

数学和/或逻辑功能性的结果可以存储在闪存存储器芯片内。在一个实施例中,闪
存存储器芯片可以具有用于存储结果的专用存储器。在替代实施例中,闪存存储器芯片可
以不具有用于存储结果的专用存储器空间,且可以动态地分配用于存储结果的区域。在这
点上,闪存存储器芯片控制器300可以分区闪存存储器芯片内存储器的一部分,例如闪存存
储器内(例如,在闪存存储器阵列214内或者闪存存储器阵列220内)的一部分,以具有输入
区块和输出区块。在实施例中,计算结果可以存储在混合存储器中,例如与相变存储器
(PCM)混合的NAND闪存存储器。替代地,计算结果可以单独地存储在NAND闪存存储器中。

数据库功能

闪存存储器芯片的一部分,例如闪存存储器芯片控制器300,可以执行一个或多个
数据库功能,以管理闪存存储器中存储的数据。例如,闪存存储器芯片0控制器212可以管理
在闪存存储器芯片0(210)上存储的闪存存储器阵列214中存储的数据。替代地,闪存存储器
芯片0控制器212可以管理不同芯片上存储的闪存存储器(例如闪存存储器芯片N(216)上存
储的闪存存储器阵列220)中存储的数据。

在这点上,闪存存储器芯片控制器300可以执行各种数据库功能,例如:体系搜索;
插入;删除;附加;及其他数据库功能。如以下?#33268;?#30340;,整个数据库、数据和功能可以存储在
闪存存储器芯片上。在这点上,每一个闪存存储器芯片可以做出实际的搜索,这与在主机级
别做出的相反。

数据的管理可以涉及定义用于存储信息的结构和提供用于操作信息的机制两者。
例如,数据的管理可以向用户提供数据的概要浏览。也就是,数据库系统可以隐藏怎样存储
和保持数据的某些?#38468;凇?#30001;此,可以以复杂数据结构存储数据,这?#24066;?#26377;效率的检索,然而
用户可以看到简化和易于使用的数据浏览。为了实?#25191;耍?#21487;以使用不同的概要级别。例如,
最?#36879;?#35201;级别可以是物理级,且可以描述实际上怎样存储数据和详述数据结构。下一较高
概要级别可以是逻辑级,且可以描述存储什么数据,和在那些数据当中存在什么关系。最高
概要级别可以是浏览级,且可以描述与每一用户相关的数据库的一部分;用于访问数据库
的应用程序例如可以形成浏览级的一部分。

数据库的整体结构可以被称为数据库体系。该体系可以指定数据、数据关系、数据
语义学和关于数据的一致性?#38469;?#22312;数据库的结构下面的是逻辑数据模型,其可以包括用
于描述体系的?#25293;?#24615;工具的集合。

一种类型的数据模型是实体关系数据模型,其基于被称为实体的基本对象和这些
对象当中的关系的集合。实体是在实际世界中可与其他对象区分开的“事情”或者“物体?#34180;?br />关系是几个实体当中的关联。其他类型的模型无限制地包括面向对象的模型、基于记录的
模型和关?#30340;?#22411;。

逻辑地,关系数据库中的数据可以组织为一组关系,其中每一关系由一组记录构
成。这是给予数据库用户的浏览。存储器装置(例如SSD)上的下层实现例如可以对于用户隐
藏,并可以包括一组文件。每一文件包括一组固定尺寸的盘存储片,被称为块。关系的记录
存储在块内。每一关系可以与一个或多个文件相关联。通常,文件包括仅来自一个关系的记
录,但是因为性能原因,也使用其中文件包括来自多于一个关系的记录的组织。

检索关系数据库中的所需记录的一个方式是关于相应的关系执行扫描;扫描一次
一个地从关系取出所有记录。如上所述,在一个实施例中,SSD由多个闪存存储器芯片组?#26705;?br />例如闪存存储器芯片0(210)和闪存存储器芯片N(216)。主机系统100可以发送命令到SSD
200以执行扫描。扫描可以用于SSD 200内存储的所有数据,或者可以用于SSD 200内存储的
数据的子集(例如一个或多个LBA范围)。如以下更详细地?#33268;?#30340;,SSD控制器芯片202可以确
定发送命令到哪个闪存存储器芯片。在扫描用于SSD 200内存储的所有数据的实例中,SSD
控制器芯片202可以发送命令到每一个闪存存储器芯片以用于处理。在扫描用于SSD 200内
存储的数据的子集的实例中,SSD控制器芯片202可以首?#28909;?#23450;哪个闪存存储器芯片具?#24615;?br />其中存储的所述数据的子集(例如,基于一个或多个LBA范围确定存储所述数据的物理位置
是什么),并将命令仅发送到确定为存储所述数据的子集的闪存存储器芯片。

通常,使用关于关系的扫描从较大关系访问所需记录是很耗时的。但是,因为可以
在闪存存储器芯片级执行扫描,经历扫描的数据不需要被发送到芯片外,例如闪存存储器
芯片外部。在这点上,在SSD内(例如在闪存存储器芯片内)执行数据库功能可以比在主机系
统上执行功能更快。

存在数据操作的几个实例,例如,无限制地检索、插入、删除和修改数据库中存储
的信息。数据操作语言使用户能够访问或者操作通过适当的数据模型组织的数据。数据操
作语言的实例无限制地包括过程数据操作语言和非过程数据操作语言。

一个类型的数据库功能可以包括数据库查询。数据库查询可以包括发送到闪存存
储器芯片的命令,其请求从闪存存储器芯片检索信息。如以下更详细地?#33268;?#30340;,响应于数据
库查询,闪存存储器芯片可以使用ALU以搜索闪存存储器芯片中的闪存存储器,从而生成一
个或多个结果。因此数据库查询可以用作从闪存存储器芯片内的闪存存储器检索信息的方
式。

一个或多个数据库语言可以用于数据库命令。更具体地,数据库语言可以支持数
据定义和数据操作功能两者。一个类型的数据库语言是SQL(结构化查询语言),其他数据库
语言是可预期的。SQL包括数据定义语言和数据操作语言。SQL的范围包括例如数据插入、查
询、更新和删除、体系创建和修改、和数据访问控制。

SQL可以在命令中使用一个或多个运算符。以下是运算符实例的表格:



可以使用以上示例运算符中的任何一个、任何组合或者全部。另外,其他运算符可
预期。可以通过闪存存储器芯片处理器304解析数据库命令以用于运算符。此后,可以使用
ALU 306以实现运算符。例如,数据库命令可以包括“BETWEEN”运算符。ALU 306可以用于确
定闪存存储器中存储的数据是否满足“BETWEEN”命令。

如上所述,命令可以包括数据库查询。在SQL中,可以以说明性SELECT(选择)陈述
执行数据库查询。SELECT从一个或多个表格或者表达中检索数据。标准SELECT陈述不具有
关于数据库的永久效果。SELECT的某些非标准实现可以具有永久效果,例如某些数据库中
存在的SELECT INTO语法。

查询可以包括列的列表,其要包括在紧跟在SELECT关键?#31181;?#21518;的最终结果中。星
号(“*”)也可以用于指定查询应该返回所查询的表的所有列。SELECT是SQL中的一个陈述,
具有可选关键字和子句,包括:FROM子句,其指示要从其检索数据的一个或多个表;WHERE子
句,其包括比较?#25509;錚?#38480;制由查询返回的行;GROUP BY子句,用于将具有公共值的行投影到
行的较小集合中;HAVING子句,其包括用于过滤从GROUP BY子句产生的行的?#25509;錚?#21644;ORDER
BY子句,其识别哪列用于分类所产生的数据,且应该在哪个方向上将它们分类(选项是升序
或者降序)。

如上所述,SQL可以包括数据操作语言(DML)。DML可以用于添加、更新和删除数据。
例如,INSERT(插入)添?#26377;械?#29616;有的表,UPDATE(更新)修改一组现有的表行,DELETE(删除)
从表除去现有的行,以及MERGE(合并)用于组合多个表的数据。另外,SQL可以包括管理表和
索引结构的数据定义语言(DDL)。DDL的实例项包括以下陈述:CREATE(其创建数据库中的对
象(例如,表)),ALTER(其以各种方式修改现有对象的结构,例如,添加一?#26800;?#29616;有的表或者
?#38469;?,RENAME,DROP(其删除数据库中的对象)和TRUNCATE(其以非常快的方式从表删除所
有数据,从而删除表内的数据而非表本身)。

图像处理

闪存存储器芯片的一部分,例如闪存存储器芯片控制器300,可以关于闪存存储器
中存储的数据执行一个或多个图像处理功能。例如,视频处理的图像处理是耗时的,这部分
地由于大量数据要传送到闪存存储器芯片中和从闪存存储器芯片传出例如。代替地,闪存
存储器芯片内的现场处理缓解该问题。

图像处理可以包括关于图像的任何形式的信号处理。可以预期不同类型的图像处
理。一种类型包括关于输入图像(例如照片或者视频帧)执行一个或多个操作,以生成是图
像、或者与图像有关的一组特性或者参数的输出。图像处理可以导致图像增强(例如,例如
边界或者对比度的图像特征的强调或者锐化,以使得图形显示对显示和分析更有用);图像
?#25351;?例如,滤波所观察的图像以最小化退化效果);或者图像压缩(例如,最小化表示图像
需要的位的数目)。

如以下?#33268;?#30340;,闪存存储器芯片可以从SSD控制器芯片202接收命令以执行图像处
理。该命令可以来源于主机系统100。响应于此,闪存存储器芯片(例如执行图像处理软件
316的闪存存储器芯片处理器304)可以执行图像处理,并经由SSD控制器接口302将结果发
送到SSD控制器芯片202。

文件系统功能

使用文件系统以控制怎样存储或者检索信息,例如从SDD 200存储或者检索。更具
体地,用于管理信息和它们的名称的组的结构和逻辑规则可以被描述为“文件系统?#34180;?#25991;件
系统可以被视为包括每条数据在硬盘驱动器上的物理位置的索引或者数据库。文件系统的
实例无限制地包括文件分配表(FAT)和新技术文件系统(NTFS)。

通常,文件系统位于主机系统上,且文件系统操作由主机系统执行。在一个实施例
中,一个、某些或者全部文件系统操作可以由SSD执行,例如由闪存存储器芯片控制器300上
的闪存存储器芯片处理器304执行。如以下更详细地?#33268;?#30340;,闪存存储器芯片处理器304可
以从主机系统接收文件系统命令(经由SSD控制器芯片202中继),解析文件系统命令,并执
行文件系统命令。

文件系统命令包括使能存储或者创建的文件的管理的实用程序。文件系统命令可
以分段为不同级别,例如?#31995;图?#30340;文件系统命令(例如,将扇区链接在一起以形成逻辑单
元)和较高级的文件系统命令(例如,用户命令,例如创建目录、移动文件等)。较高级的文件
系统命令可以由多个?#31995;图?#30340;命令组成。例如,创建特定大小的文件的命令可以由多个较
?#22270;?#21629;令组?#26705;?#20363;如发现空闲块,以及将它们链接在一起以形成容量,以使得在用户看来所
述块是对用户连续的逻辑单元。

文件系统命令的实例包括但不限于:复制文件(例如,Unix中的cp);移动文件(例
如,Unix中的mv);移除文件(例如,Unix中的rm);移除目录(例如,Unix中的rmdir);制作目
录(例如,Unix中的mkdir)?#24674;?#21629;名文件(例如,Unix中的mv);等?#21462;?br />

在一个实施例中,闪存存储器芯片控制器300的一部分(例如闪存存储器芯片处理
器304)配置为响应于所有文件系统命令执行操作。在替代实施例中,闪存存储器芯片控制
器300的一部分(例如闪存存储器芯片处理器304)配置为响应于文件系统命令的子集(或者
小于全部文件系统命令)执行操作。例如,闪存存储器芯片处理器304可以配置为仅执行较
?#22270;?#30340;文件系统命令。

如上所述,可以在闪存存储器芯片控制器300中?#19994;?#19968;个或多个ALU。另外,一个或
多个ALU可以位于存储器芯片控制器300内的不同部位。图3B-图3D示出存储器芯片控制器
300内的ALU的配置的某些实例。在一个实施例中,单个ALU可以存在于闪存存储器芯片控制
器300中。在替代实施例中,多个ALU可以存在于闪存存储器芯片控制器300中。

闪存存储器芯片控制器300中ALU的数目可以取决于闪存存储器阵列,例如如图2
所示的闪存存储器阵列214或者220。在一个实施例中,ALU可以被分配给闪存存储器阵列中
的一个、某些或者每一个块。在替代实施例中,ALU可以被分配给子块结构。例如,ALU可以被
分配给闪存存储器阵列中的一个、某些或者每一位线。在另外的替代实施例,ALU可以被分
配给闪存存储器阵列中的一个、某些或者每一平面。在这点上,ALU可以被分配给存储器单
元阵列的不同细分部或者分区。

图3B是闪存存储器阵列中的块322的一个图示。闪存存储器阵列的实例包括上面
?#33268;?#30340;闪存存储器阵列214和220。闪存存储器阵列可以由多个块组成。闪存存储器阵列中
的每个块可以由页组成。图3B示出页0到页M。数据可以使用位线(例如如图3B所示的位线0
到位线L)从块322读取。位线可以电连接到总线324,该总线324电连接到ALU 326。如上所
述,ALU(例如ALU 326)可以包括数学和/或逻辑功能性。仅作为一个实例,ALU 326可以包括
一个或多个寄存器,且可以包括以下功能性中的任何一个、任何组合或者全部:确定两个数
据项(例如加载到第一寄存器中的第一数据和加载到第二寄存器中的第二数据)是否相等,
或者是否一个数据项大于或者小于另一数据项;和执行加法或者减法;向左或者向右在寄
存器中移位。如图3B所示,ALU 326与块322相关联。在这点上,各个ALU可以被分配给闪存存
储器阵列中的各个块。在这点上,例如具有1000个块的闪存存储器阵列可以包括1000个
ALU,其中每一ALU分配至各自的块。另外,在块的水平分配ALU容易地使能闪存存储器阵列
内的处理的可缩放性。

图3C是闪存存储器阵列中的块322的另一图示。如上所述,ALU可以被分配给块中
的一个、某些或者每一位线。如图3C所示,给块322中的每一位线(例如位线0到位线L)分配
ALU 328。在这点上,存在分配给每个块的L+1个ALU 328。可以使用控制器以选择特定ALU用
于处理。如图3C所示,使用用于选择ALU的控制器330。控制器330可以是闪存存储器芯片控
制器300的一部分。如图3C所示的布置可以用于闪存存储器芯片的闪存存储器阵列中的单
个块、闪存存储器芯片的闪存存储器阵列的多个块、或者闪存存储器芯片的闪存存储器阵
列中的每一个块。在上文所述的闪存存储器阵列包括1000个块的实例中,ALU的数目可以包
括1000*(L+1)。

图3D是适于作为闪存存储器区块之一的示例的一个闪存存储器区块。多区块闪存
存储器中的一个区块可以包括一个或多个集成电路芯片,其中每一芯片可以包括组织成多
个平面的存储器单元的阵列。在单个芯片上的存储器区块340的图示如图3D所示。为简单起
见,图3D的存储器区块340示出了这?#21046;?#38754;350和352,但是可以代替地使用更多个平面,例
如四个或者八个。替代地,存储器区块的存储器单元阵列可以不被划分为平面。但是,当这
样划分时,每一平面具有可彼此独立地操作的它自己的列控制电路354和356。电路354和
356从系统总线342的地址部分346接收它们各自的存储器单元阵列的地址,并将其解码以
寻址各个位线358和360中特定的一个或多个。响应于在地址总线上接收的地址,通过行控
制电路364寻址字线362。源电压控制电路366和368也与各个平面连接,p阱电压控制电路
370和372也与各个平面连接。如果区块340以具有存储器单元的单个阵列的存储器芯片的
形式,且如果两个或更多这?#20013;?#29255;存在于存储器系统中,则每一芯片的阵列可以与如上所
述的多平面芯片内的平面类似地操作。

数据通过与系统总线342的数据部分344连接的各自的数据输入/输出电路374和
376传送到平面350和352之中和之外。电路374和376提供将数据编程为存储器单元,以及从
它们各自的平面的存储器单元读取数据两者,电路374和376通过线378和380穿过各自的列
控制电路354和356连接到平面。

每一区块中的每一存储器芯片包括执行来?#28304;?#29702;器(例如闪存存储器芯片处理器
304)的命令以执行这种功能的某些控制电路。接口电路381连接到系统总线342的控制和状
态部分348。来?#28304;?#29702;器(例如闪存存储器芯片处理器304)的命令被提供到状态机382,然后
状态机382提供对其他电路的特定控制以执行这些命令。控制线383-387连接状态机382与
如图3D所示的这些其他电路。来自状态机382的状态信息经线388通信到接口381以用于经
总线部分348传输到处理器(例如闪存存储器芯片处理器304)。存储器单元阵列350和352可
以由NAND架构组?#26705;?#21487;以代替地单独或者组?#31995;?#20351;用其他非易失性存储器架构或者技术,
例如NOR。

如图3D所示,ALU可以被分配给存储器单元阵列中的每一平面,例如ALU1(389)分
配给平面350且ALU2(390)分配给平面352。每一ALU可以电连接到各自的输入/输出电路,例
如输入/输出电路374和376。在这点上,一ALU可以被分配给存储器单元阵列中的相应的平
面,且可以与相应的输入/输出电路通信以控制相应的ALU。

图3E示出SSD控制器芯片(示出为SSD控制器芯片392)的一个实例的框图。如上所
述,SSD可以包括一个或多个控制器芯片,以便与在一侧上的主机系统通信,并与驻留在另
一侧上的SSD中的闪存存储器芯片通信。SSD控制器芯片392包括上面参考图2?#33268;?#30340;主机系
统接口204。SSD控制器芯片392进一步包括SSD控制器芯片处理器393、SSD控制器存储器394
和闪存存储器芯片接口396。SSD控制器存储器394可以包括用于由SSD控制器芯片处理器
393执行的一个或多个软件程序或者代码。

如上所述,在一个实施例中,SSD控制器芯片392配置为辅助例如如图3A所示的闪
存存储器芯片控制器,以执行数学和/或逻辑计算。在这点上,SSD控制器存储器394包括用
于命令分析和闪存芯片选择的软件395。当SSD控制器芯片处理器393执行用于命令分析和
闪存芯片选择的软件395时,SSD控制器芯片392可以进一步配置为分析从主机系统接收到
的命令,并将该命令发送到一个或多个闪存存储器芯片。如以下更详细地?#33268;?#30340;,SSD控制
器芯片处理器393可以解析该命令,确定命令内的一个或多个LBA范围,确定哪个闪存存储
器芯片存储该命令中的LBA范围内的数据,并转发该命令到闪存存储器芯片。

如上所述,SSD内的多个装置可以包括数学计算功能性和/或逻辑功能性。图4A-B
分别示出了数学计算功能性和/或逻辑功能性在闪存存储器芯片控制器400中以及在SSD控
制器芯片中的实例。例如,闪存存储器芯片控制器400可以包括上文参考图3A所?#33268;?#30340;ALU
306、计数器308和FPU 310。同样地,闪存存储器芯片控制器可以包括存储器312。存储器312
可以包括与数据库操作、图像处理和文件系统操作有关的软件。作为另一实例,SSD控制器
芯片450可以包括驻留在SSD控制器芯片处理器452中的ALU 454、计数器456和FPU 458。ALU
454、计数器456和FPU 458可以分别类似于上面?#33268;?#30340;ALU 304、计数器308和FPU 310。

在一个实现中,可以执行多个功能。例如,数据库功能可以包括一组数据库功能,
图像处理功能可以包括一组图像处理功能,且文件系统功能可以包括一组文件系统功能。
功能组可以被划分以使得第一组功能可以由SSD控制器芯片450执行,而第二组功能可以由
闪存存储器芯片控制器400执行。

在一个实施例中,高级功能(或?#32454;?#26434;的功能)可以由SSD控制器芯片执行,而?#22270;?br />功能(或者较不复杂的功能)可以由闪存存储器芯片控制器400执行。例如,闪存存储器芯片
处理器304可以访?#23454;图?#25968;据库功能软件402、?#22270;?#22270;像处理软件404或者?#22270;?#25991;件系统软
件406,以分别执行用于数据库功能、图像处理或者文件系统功能的?#22270;?#21151;能。作为另一实
例,SSD控制器芯片处理器452可以访问SSD控制器存储器460中的高级数据库功能软件462、
高级图像处理软件464,或者高级文件系统软件466,以分别执行用于数据库操作、图像处理
或者文件系统操作的高级功能。如上所述,为了执行功能组(例如数据库功能组、图像处理
功能组和文件系统功能组)中的一个、某些或者全部功能,SSD的一部分(例如闪存存储器芯
片处理器304或者SSD控制器芯片处理器452)可以使用数学和/或逻辑操作,例如通过使用
ALU、计数器和/或FPU。

在操作中,SSD控制器芯片450和闪存存储器芯片控制器400可以以主-从布置操
作,在该主-从布置中,SSD控制器芯片450命令闪存存储器芯片控制器400执行一个或多个
动作,例如执行如上所述的?#22270;?#25968;据库功能、?#22270;?#22270;像处理功能或者?#22270;?#25991;件系统功能。在
一个实例中,SSD控制器芯片450可以接收来自主机装置的通信(例如从主机系统100接收命
令)。响应于接收通信(例如接收命令),SSD控制器芯片450可以响应于命令确定一个或多个
功能,例如?#22270;?#21151;能或者高级功能。SSD控制器芯片450可以确定要由SSD控制器芯片450执
行哪个功能和要由闪存存储器芯片控制器400执行哪个功能。作为一个实例,命令可以包括
数据库命令。SSD控制器芯片450(例如SSD控制器芯片处理器452)可以分析数据库命令并确
定:(i)要响应于接收数据库命令而执行一个或多个高级数据库功能;(ii)要响应于接收数
据库命令而执行一个或多个?#22270;?#25968;据库功能;或者(iii)要响应于接收数据库命令而执行
一个或多个高级数据库功能和一个或多个?#22270;?#25968;据库功能。在(i)中,SSD控制器芯片处理
器452可以执行全部高级数据库功能。例如,SSD控制器芯片处理器452可以对于特定的高级
数据库功能确定为了执行特定的高级数据库功能需要的数学和/或逻辑操作。在(ii)中,
SSD控制器芯片处理器452响应于确定执?#26800;图?#21151;能,确定哪个闪存存储器芯片需要执?#26800;?br />级功能,且然后发送命令到所确定的闪存存储器芯片,以指令它们执?#26800;图?#25968;据库功能。在
(iii)中,SSD控制器芯片处理器452可以执行全部高级数据库功能,且SSD控制器芯片处理
器452可以指令闪存存储器芯片控制器400执行全部?#22270;?#25968;据库功能。

在特定实例中,高级数据库功能可以包括一个或多个?#22270;?#25968;据库功能。在这点上,
SSD控制器芯片处理器452可以指令闪存存储器芯片控制器400执行一个或多个?#22270;?#25968;据库
功能,并将执行一个或多个?#22270;?#25968;据库功能的结果返回到SSD控制器芯片处理器452。

分级类型(hierarchy-type)的功能划分的一个实例是基于由SSD控制器芯片处理
器452执行的高级功能而由闪存存储器芯片控制器400执?#26800;图?#21151;能的功能划分。可以预期
在SSD控制器芯片处理器452和闪存存储器芯片控制器400之间的其他分级类型的功能划
分。

以下是用于数据库、图像处理和文件系统的高级和?#22270;?#21151;能的某些实例。实例仅
用于说明目的。其他实例可预期。关于数据库功能,?#22270;?#21151;能的实例是用于特定条目的搜索
命令,高级功能的实例是序联两个序列。实际上,SSD控制器芯片处理器452可以指令一个、
某些或者全?#21487;?#23384;存储器芯片(例如存储器芯片0(120)到存储器芯片N(126))上的闪存存
储器芯片控制器400来搜索特定的条目。因为可以在闪存存储器芯片级并?#26800;?#25191;行命令,所
以可以更快地执行搜索特定条目的?#22270;?#21151;能。

关于图像处理,?#22270;?#21151;能的实例是改变像素值,高级功能的实例是增加图像的对
比度。实际上,因为执?#24615;?#21152;对比度的高级功能包括改变像素值的?#22270;?#21151;能,所以SSD控制
器芯片处理器452可以确定为了增加对比度而改变哪个像素,且此后指令闪存存储器芯片
控制器400。实际上,SSD控制器芯片处理器452可以指令存储要改变的像素值的一个、某些
或者全?#21487;?#23384;存储器芯片上的闪存存储器芯片控制器400来执行改变像素值的功能。

关于文件系统功能,?#22270;?#21151;能的实例包括搜索指针,从而?#19994;?#25991;件的开始/结束以
及移除文件的内容。高级功能的实例包括删除文件和打开文件。实际上,删除文件(高级功
能)包括一个或多个?#22270;?#21151;能。在这点上,响应于SSD控制器芯片处理器452接收删除文件的
命令,SSD控制器芯片452可以确定该文件存储在哪个或哪些闪存存储器芯片中,并发送低
级命令到存储文件的一个或多个闪存存储器芯片。因此,闪存存储器芯片执?#26800;图?#21629;令以
删除该文件。

图5的框图示出SSD控制器芯片的另一实例,其示出为SSD控制器芯片500。如上所
述,一个或多个闪存存储器芯片可以包括数学计算功能性和/或逻辑功能性。在替代实施例
中,SSD控制器可以包括数学计算功能性和/或逻辑功能性。在这点上,归属于关于图3A的闪
存存储器芯片的全部数学计算功能性和/或逻辑功能性在本实施例中归属于SSD控制器。
SSD控制器可以包括例如如图5所示的SSD控制器芯片500。SSD控制器芯片500包括上面参考
图2?#33268;?#30340;主机系统接口204。另外,SSD控制器芯片500包括SSD控制器芯片处理器502,该
SSD控制器芯片处理器502包括ALU 504、计数器506和FPU 508。ALU 504、计数器506和FPU
508除了驻留在SSD控制器芯片500内之外,类似于驻留在闪存存储器芯片控制器300中的
ALU 306、计数器308和FPU 310。另外,SSD控制器芯片500包括SSD控制器存储器510。SSD控
制器存储器510包括数据库操作软件512、图像处理软件514和文件系统软件516,其使得SSD
控制器能够执行例如上面?#33268;?#30340;数据库操作、图像处理和文件系统操作。

在操作中,SSD控制器芯片500可以从主机系统接收通信,其中所述通信包括命令
和一个或多个LBA范围。响应于此,SSD控制器芯片500可以响应于所述命令确定一个或多个
功能。所述功能可以包括关于在一个或多个LBA范围存储的数据执行数学或者逻辑操作。基
于所述一个或多个LBA范围,SSD控制器芯片500可以确定数据的物理地址,使用物理地址从
闪存存储器芯片发送用于数据的请求,以及执行关于从闪存存储器芯片返回的数据的一个
或多个操作。

图6示出由闪存存储器芯片的一部分(例如闪存存储器芯片控制器300)执行的动
作的流程图600。在602处,从SSD控制器接收到通信。在604处,通信被解析以用于命令。如上
所述,闪存存储器芯片控制器300可以接收不同类型的命令。命令可以涉及不同功能,无限
制地包括数据库管理功能、图像处理功能和/或文件系统功能。在606处,基于所解析的命令
确定一个或多个操作。例如,闪存存储器芯片控制器300可以解析通信以用于命令,以便标
识命令。闪存存储器芯片控制器300然后可以将所标识的命令与一个或多个操作(例如一个
或多个数学或者逻辑操作)关联。更具体地,闪存存储器芯片控制器300可以解析通信并和
标识命令是体系搜索命令。通过使用将命令与操作关联的查询表,闪存存储器芯片控制器
300可以使用所标识的体系搜索命令来确定闪存存储器芯片控制器300要执行哪一个或多
个操作。该一个或多个操作可以包括使用ALU 306、计数器308或者FPU 310的一个或多个数
学操作。

在608处,执行一个或多个标识的操作以生成一个或多个结果。如上所述,操作可
以包括使用ALU(或者其他数学或者逻辑装置)。在一个方面中,ALU可以使用一个或多个操
作数寄存器以执行数学或者逻辑操作。闪存存储器芯片控制器300可以指定存储器的一部
分作为一个或多个操作数寄存器,并将数据加载到所述一个或多个操作数寄存器中。例如,
闪存存储器芯片控制器300可以将一个或多个页加载到DDC中,并关于部分或者全部加载页
执行数学和/或逻辑功能性。ALU的使用可以生成一个或多个结果,其可以存储在闪存存储
器的一部分中。

在610处,该一个或多个结果(或者一个或多个结果的指示)可以可选地被发送到
SSD控制器,该SSD控制器又可以将结果(或者结果的指示)发送到主机系统。例如,命令可以
包括图像处理命令。ALU可以执行生成可以存储在闪存存储器中的结果的图像处理。可选
地,从图像处理生成的结果可以被发送到SSD控制器。在从主机系统发送并由SSD控制器转
发图像处理命令的实例中,闪存存储器芯片可以将执行图像处理的结果经由SSD控制器发
送到主机系统。在文件系统命令的实例中,闪存存储器芯片可以执行文件系统命令,并发送
结果的指示(例如成功地执行了文件系统命令的指示)

图7示出由闪存存储器芯片的一部分(例如SSD控制器芯片392)执行的动作的流程
图700。在702处,从主机系统接收到通信。在704处,解析该通信以确定通信是否用于到一个
或多个闪存存储器芯片的传输。例如,来自主机系统的某些通信可以指示用于SSD控制器执
行的功能。作为另一实例,来自主机系统的其他通信可以指示用于闪存存储器芯片执行的
功能(例如图像处理、数据库管理操作或者文件系统操作)。在后一情况下,SSD控制器可以
将部分或者全?#23458;?#20449;转发到闪存存储器芯片。在706处,确定要发送通信到哪个闪存存储器
芯片。如上所述,通信可以包括一个或多个LBA范围。SSD控制器可以配置为将一个或多个
LBA范围翻译为物理地址。转而,将物理地址与闪存存储器芯片关联的查询表可以基于物理
地?#20998;?#31034;要将通信发送至哪个闪存存储器芯片。在708处,该通信的部分或者全部被发送到
闪存存储器芯片。

例如参考图1-5?#33268;?#30340;半导体存储器装置可以包括易失性存储器装置,例如动态
随机存取存储器(“DRAM”)或者静态随机存取存储器(“SRAM”)装置,非易失性存储器装置,
例如电阻性随机存取存储器(“ReRAM”)、电可擦可编程只读存储器(“EEPROM”)、闪存存储器
(也可以考虑为EEPROM的子集)、铁电随机存取存储器(“FRAM”)和磁阻随机存取存储器
(“MRAM”),及能够存储信息的其他半导体元件。此外,每一类型的存储器装置可以具有不同
配置。例如,闪存存储器装置可以配置为NAND或者NOR配置。

存储器装置可以以任何组合由无源和/或?#24615;?#20803;件形成。通过非限制实例的方式,
无源半导体存储器元件包括ReRAM装置元件,其在一些实施例中包括电阻率开关存储元件,
例如反熔丝、相变材料、等等,且可选地是控制元件,例如二极管?#21462;?#21478;外通过非限制实例的
方式,?#24615;?#21322;导体存储器元件包括EEPROM和闪存存储器装置元件,其在一些实施例中包括
包含电荷存储区域的元件,例如浮置栅极、导电纳米微粒或者电荷存储介电材料。

多个存储器元件可以配置为使得它们串联连接或者使得每个元件可单独地访问。
通过非限制实例的方式,NAND装置包括串联连接的存储器元件(例如,包括电荷存储区域的
装置)。例如,NAND存储器阵列可以配置为使得阵列由多个存储器串组?#26705;?#20854;中每一存储器
串由共享单个位线和作为整体存取的多个存储器元件组成。相反地,存储器元件可以配置
为使得每个元件可单独地存取(例如,NOR存储器阵列)。本领域技术人员将意识到NAND和
NOR存储器配置是示例性的,且可以以别的方式配置存储器元件。

单个装置的半导体存储器元件,例如位于同一衬底内和/或同一衬底上或者单个
印模中的元件可以以二维或者三维分布,例如二维阵列结构或者三维阵列结构。

在二维存储器结构中,在单个平面或者单个存储器装置级中布置半导体存储器元
件。通常,在二维存储器结构中,存储器元件位于实质上平行于支撑存储器元件的基底的主
要表面?#30001;?#30340;平面中(例如,在x-z方向平面中)。该基底可以是其上沉积存储器元件的层
和/或其中形成存储器元件的层的晶片,或者其可以是在形成存储器元件之后附于存储器
元件的载体基底。

存储器元件可以以有序阵列(例如以多个行和/或列)在单一存储器装置级中布置
例如。但是,如本领域技术人员理解的,存储器元件可以以非规则或者非正交配置布置。存
储器元件每个可以具有两个或更多电极或者接触线,例如位线和字线。

组织三维存储器阵列以使得存储器元件占据多个平面或者多个器件级,由此形成
三维空间(即,以x、y和z方向,其中y方向实质上垂直于基底的主表面,且x和z方向实质上平
行于基底的主表面)中的结构。

作为非限制实例,三维存储器阵列结构中的每一平面可以物理上位于二维空间
(一个存储器级)中,其中多个二维存储器级形成三维存储器阵列结构。作为另一非限制实
例,三维存储器阵列可以物理地构造为多个垂直列(例如,沿y方向基本上垂直于基底的主
表面?#30001;?#30340;列),该多个垂直?#24615;?#27599;一列中具有多个元件且因?#21496;?#26377;跨过几个垂直地堆叠
的存储器平面的元件。所述列可以以二维配置布置,例如,在x-z平面中,由此产生存储器元
件的三维布置。本领域技术人员将理解,三维的存储器元件的其他配置也构成三维存储器
阵列。

通过非限制实例的方式,在三维NAND存储器阵列中,存储器元件可以连接在一起
以形成在单个水平(例如,x-z)平面内的NAND串。替代地,存储器元件可以连接在一起以延
伸通过多个水平面。可以设想其他三维配置,其中,某些NAND串包括单个存储器级中的存储
器元件,而其他串包括?#30001;?#36890;过多个存储器级的存储器元件。三维存储器阵列也可以以NOR
配置和以ReRAM配置设计。

单片三维存储器阵列是这样的三维存储器阵列:其?#24615;?#21333;个基底(例如半导体晶
片)之上和/或之内形成多个存储器级。在单片三维阵列中,阵列的每一级的层在阵列的每
一在下面的级的层上形成。本领域技术人员将理解,单片三维存储器阵列的相邻级的层可
以被共享或者具?#24615;?#23384;储器级之间的介于其间的层。相反地,二维阵列可以分开地形?#26705;?#19988;
然后封装在一起以形成非单片存储器装置。例如,通过在分开的基底上形成存储器级且然
后在彼此之上粘合存储器,即而构造非单片堆叠存储器。该基底在接合之前可以变薄或者
移除存储器级,但是由于存储器级最初地形成在在分开的基底之上,所以这种存储器不是
单片三维存储器阵列。另外,多个二维存储器阵列或者三维存储器阵列(单片或者非单片)
可以分开地形?#26705;?#19988;然后封装在一起以形成堆叠芯片的存储器装置。

本领域技术人员将认识到本发明不限于所描述的二维和三维示例性结构,而是覆
盖如在这里所描述的、和本领域技术人员所理解的本发明的精神和保护范围内的所有相关
的存储器结构。

另外,本公开描述各种功能,其可以以?#24067;?#20197;软件或者以?#24067;?#21644;软件的组合实
现。在一个实施例中,可以使用一个或多个指令集(例如嵌入的软件)实现功能。另外,指令
可以执行如在这里描述的一个或多个方法或逻辑,例如图6-图7所示的。指令可以位于系统
的各种部分中。例如,指令可以位于SSD控制器芯片(参见图3A、图3E、图5)中和/或闪存存储
器芯片(例如闪存存储器芯片控制器,参见图4A-图4B)中。

该指令可以具体表现为计算机可?#20004;?#36136;。计算机可?#20004;?#36136;可以是单个介?#21097;?#25110;者
计算机可?#20004;?#36136;可以是单个介质或者多个介?#21097;?#20363;如集中式或者分布式数据库,和/或存储
一个或多个指令集的相关联的高速缓存和服务器。术语“计算机可?#20004;?#36136;?#24065;?#21487;以包括能够
存储、编码或者携带指令集的任何介?#21097;?#35813;指令集用于由处理器执行或者可以使得计算机
系统执?#24615;?#36825;里公开的任何一个或多个方法或操作。

计算机可?#20004;?#36136;可以包括例如存储卡的固态存储器、或者装有一个或多个非易失
性只读存储器的其他封装。计算机可?#20004;?#36136;也可以是随机存取存储器、或者其他易失性可
重写存储器。另外,计算机可?#20004;?#36136;可以包括磁光或者光介?#21097;?#20363;如盘或者带或者其他存储
装置以捕获载波信号,例如经传输介质传递的信号。附于电子邮件或者其他自包含信息档
案或者档案集的数字文件可以考虑为可以是有形存储介质的分布式介质。计算机可?#20004;?#36136;
优选地是有形存储介质。因此,本公开可以考虑为包括其中可以存储数据或者指令的任何
一个或多个计算机可?#20004;?#36136;或者分布式介质及其他等效和后继介质。

替代地或者另外地,可以构造专用?#24067;?#23454;现(例如专用集成电路、可编程逻辑阵列
及其他?#24067;?#35013;置)来实?#30452;?#25991;所描述的一个或多个方法。可以包括各种实施例的设备和系
统的应用可以广泛地包括各种电子和计算机系统。在这里描述的一个或多个实施例可以使
用具有可以在模块之间和通过模块传递的相关控制和数据信号的两个或更多特定的互连
?#24067;?#27169;块或装置,或者作为专用集成电路的部分实现功能。因此,本系统可以包含软件、固
件和?#24067;?#23454;现。

在这里描述的说明意在提供对于各种实施例的结构的总的理解。说明不意在用作
为对使用在这里描述的结构或者方法的设备、处理器和系统的全部元件和特征的完整描
述。许多其他实施例对本领域技术人员在浏览本公开时是显而易见的。其他实施例可以使
用并从本公开导出,从而可以做出结构和逻辑的替换和改变而不脱离本公开的范围。另外,
说明仅是代表性的且可以不必按比例描绘。说明内的某些比例可以被放大,而其他比例可
以最小化。因此,本公开和附图被认为是说明性的而不是限制性的。

以上公开的主题要考虑为说明性的,而不是限制性的,且所附权利要求意在覆盖
落入说明书的真正精神和范围内的所有这?#20013;?#25913;、增强及其他实施例。因此,达到法?#31245;市?br />的最大程度,范围要由以下权利要求及其等效的最宽的可?#24066;?#35299;释来确定,而不应该由前
述详细说明限制或者?#38469;?br />

关于本文
本文标题:用于非易失性存储器中的分布式计算的系统和方法.pdf
链接地址:http://www.pqiex.tw/p-6091794.html
关于我们 - 网站声明 - 网?#38236;?#22270; - 资源地图 - 友情链接 - 网站客服 - 联系我们

[email protected] 2017-2018 zhuanlichaxun.net网站版权所有
经营许可证编号:粤ICP备17046363号-1 
 


收起
展开
平码五不中公式规律 3d开奖组选 年股票指数 幸运赛车怎么买 吉林11选5走势 威海股票融资 辽宁11选5开奖查询 3d历史开奖组选944 广东十一选五app下载 韩国快乐8 2010年股票分析