CN104364760A - 采用多个存储器件的并行计算 - Google Patents
采用多个存储器件的并行计算 Download PDFInfo
- Publication number
- CN104364760A CN104364760A CN201380030244.8A CN201380030244A CN104364760A CN 104364760 A CN104364760 A CN 104364760A CN 201380030244 A CN201380030244 A CN 201380030244A CN 104364760 A CN104364760 A CN 104364760A
- Authority
- CN
- China
- Prior art keywords
- memory
- memory device
- processor
- token
- main frame
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Granted
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/46—Multiprogramming arrangements
- G06F9/50—Allocation of resources, e.g. of the central processing unit [CPU]
- G06F9/5005—Allocation of resources, e.g. of the central processing unit [CPU] to service a request
- G06F9/5027—Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resource being a machine, e.g. CPUs, Servers, Terminals
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F12/00—Accessing, addressing or allocating within memory systems or architectures
- G06F12/02—Addressing or allocation; Relocation
- G06F12/0223—User address space allocation, e.g. contiguous or non contiguous base addressing
- G06F12/023—Free address space management
- G06F12/0238—Memory management in non-volatile memory, e.g. resistive RAM or ferroelectric memory
- G06F12/0246—Memory management in non-volatile memory, e.g. resistive RAM or ferroelectric memory in block erasable memory, e.g. flash memory
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F12/00—Accessing, addressing or allocating within memory systems or architectures
- G06F12/02—Addressing or allocation; Relocation
- G06F12/06—Addressing a physical block of locations, e.g. base addressing, module addressing, memory dedication
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F12/00—Accessing, addressing or allocating within memory systems or architectures
- G06F12/02—Addressing or allocation; Relocation
- G06F12/06—Addressing a physical block of locations, e.g. base addressing, module addressing, memory dedication
- G06F12/0615—Address space extension
- G06F12/0623—Address space extension for memory modules
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F12/00—Accessing, addressing or allocating within memory systems or architectures
- G06F12/14—Protection against unauthorised use of memory or access to memory
- G06F12/1408—Protection against unauthorised use of memory or access to memory by using cryptography
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2212/00—Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
- G06F2212/72—Details relating to flash memory management
- G06F2212/7201—Logical to physical mapping or translation of blocks or pages
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2212/00—Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
- G06F2212/72—Details relating to flash memory management
- G06F2212/7208—Multiple device management, e.g. distributing data over multiple flash devices
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Software Systems (AREA)
- Techniques For Improving Reliability Of Storages (AREA)
Abstract
本发明披露了一种方法和系统,用于容许激活的存储器件存取一个或多个空闲存储器件的处理资源,其中空闲和激活存储器件与共同主机相关联。所共享的资源可以为处理能力,例如以采用使用空闲存储器的处理器来处理与主机命令相关联的某些逻辑到物理映射的形式,或者可以是诸如RAM共享的其他资源,使得第一存储器具有扩展的RAM容量。该方法可以包括交换具有资源共享能力的令牌、操作码以及与所请求资源相关的相关联数据。
Description
相关申请的交叉引用
本申请要求于2012年5月6日提交的美国临时申请61/643307的利益,该申请的全部内容在此通过引用并入本文。
技术领域
本申请总体涉及一种用于在数据存储器件管理数据的存储的方法和系统。
背景技术
非易失性存储器系统,诸如闪存,被用于在数字计算系统作为存储数据的装置并且已经被广泛采用用于消费产品中。可以找到不同形式的闪存,例如,可在主机设备之间来回使用的便携式存储卡形式以或内置于主机内的固态盘(SSD)。这些存储器系统通常以可被写入的被称为“页”的数据单元以及可由通常驻留在存储系统中的存储管理器读取和擦除的被称为“块”的页面组工作。
非易失性存储器件的性能会受到包括在存储器件中的计算能力量的限制。对单个设备中的计算能力数量的限制可能是该装置所产生的热量。改善存储设备性能的一些途径可以包括提高时钟频率、使用更强大的处理器或将多个处理器组合在单一存储器件中。采用这些方法的问题可以包括过大功率需求、热量产生和成本增加。因此,需要一种改进非易失性存储器件的性能的替代方式。
发明内容
为了解决上面提到的问题和挑战,披露了一种系统和方法,用于在一个以上的存储器件中,诸如在内置和可移除存储器件之间,实现并行处理。
根据第一方面,披露了一种存储器件,其具有非易失性存储器以及与非易失性存储器通信的控制器,控制器被配置为在主机初始化时向与主机相关联的单独存储器提供资源共享信息。所述控制器还被配置为与单独存储器交换关于存储器件的状态的信息,并且响应于接收到主机命令,从所述单独存储器请求处理资源以帮助进行处理。然后,控制器可以处理一个主机命令,同时等待来自单独存储器的对请求的响应,然后将从单独存储器接收到的处理结果应用到单独主机命令。该处理请求可以用于逻辑到物理映射、RAM共享或某些其它存储器特征。该存储器可以是内置的和可移动的、或者正在与共同的主机相关联多个单独可移动存储器。在替代实施例中,存储设备可以加密和解密经由令牌发送到单独存储器中的数据。
还披露了其它实施例,并且每个实施例可以单独或一起组合使用。现在将参照附图描述实施例。
附图说明
图1示出了根据一个实施例的与主机相关联的内置存储器和可移动存储器共享存储器处理和其他资源的框图。
图2示出了适用于作为图1中实例中的内置存储器或可移动存储器的存储器的框图。
图3示出了图1-2中的存储器的实例实体存储结构。
图4示出了图3的实体存储器的一部分的放大视图。
图5A-5E示出了根据优选实施方式的在与共同主机相关联的内置存储器和可移动存储器之间共享处理的处理的步骤。
图6是一个存储器响应于来自共同主机的命令利用另一个存储器的资源来改善其性能的方法的流程图。
图7是一个存储器与另一个存储器进行RAM共享并且合并加密程序以保护数据的方法的实施例的流程图。
图8示出了可用于事项图6或7的处理的令牌的逻辑结构的一个实施例。
具体实施方式
如图1所示,在一些系统中,主机可以与一个以上的存储器件相连接。例如,在主机100是移动电话的系统中,主机100可以包括内置闪存102并且还以连接到诸如SD卡的可移动的闪存器件104或其他可利用的可移动的闪存器件形状因子。通常,主机100在与一个存储器件102、104工作时,另外一个是空闲的。为了改善这些存储器件之一的性能,下面描述一种方法和系统,用于利用所述空闲存储器件的计算能力以有利于该激活存储器件。
为了利用空闲存储器件的处理能力,所述激活的存储器件(在这个例子中,内置闪存102)需要将信息和指令通讯到空闲存储器件(在本实施例,为可移动闪存装置104)。在图1,显示了实体通信路径106,其中数据经由作为中介/导管的主机100流进内置闪存102或从其中流出到可移动闪存装置104。
还披露了逻辑通信路径108,其显示了在内置存储器件102和可移动存储器件104之间建立的数据路径。因为存储器件102、104仅仅使用主机作为管道或集线器,而且由于其他拓扑结构可包括环形拓扑结构或允许在存储器件之间直接物理通信其他结构(即不需要主机100来建立连接或作为中介),逻辑通信路径108也可以表示其他实施方式中的实体数据路径。
主机系统100被配置成向存储器件102、104数据存储到,和从存储器件102、104中检索数据。主机系统100可以是多个固定或便携式数据处理设备中的任意一个,诸如个人计算机、移动电话、个人数字助理(PDA)、或类似物。主机系统100包括可以是分立集成电路或裸片(die)的内置存储器102,并与可移动存储器件104通信,可移动存储器件104诸如为固态硬盘(SSD)或通过机械和电连接器可拆卸地连接到主机系统100的闪存储卡。主机系统100可以包括处理器110、用户接口112和一个或多个可移动装置接口114。内置存储器接口也可在与内置存储器102一起并入主机中。
参见图2,图示了适用于内置存储器件102或可移动存储器件104中每一个的示例存储设备200。内置和可移动存储器件的结构可以是相同的或不同的,并且图2的结构仅仅被提供为这些存储器102、104中每一个所采取的是当的结构的例子。存储器件200包含控制器206和存储器208。控制器206包括处理器210和控制器存储器212。处理器210可包括微处理器、微控制器、专用集成电路(ASIC)、场可编程门阵列、逻辑的数字电路、或其他现在已知的或以后开发的逻辑处理能力。控制器存储器212可以包括易失性存储器,诸如随机存取存储器(RAM)213和/或非易失性存储器、用于处理存储器管理的处理器可执行指令214、以及逻辑到物理的映射表216。
存储器件200可以包括用于存储管理功能。在操作中,处理器210可以执行存储器管理指令(其可以驻留在指令数据库214中)用于为存储器管理功能的操作。存储器管理功能可以控制存储器件200中的所述存储器的一个或多个部分的分配。
存储器件200包含非易失性存储器208,其包括可被布置为短期存储器阵列(在此称为高速缓存存储器)218和长期的存储阵列220的单元。高速缓存存储器218和长期存储器220可以由相同类型的闪存单元或不同类型的闪存单元构成。例如,该高速缓冲存储器218可以配置成一个单级单元类型(SLC)的快闪结构,具有每单元容量1比特,而长期存储器220可以包括多级单元的(MLC)型闪存结构,具有每单元容量两个或更多比特,以便利用SLC闪存的更高写入速度和MLC闪存的更高密度。闪存类型的不同组合也被考虑用于高速缓存存储器218和长期存储器220。
参见图3,在内置和可移动存储器件102、104的每一中的闪存208可以被布置成存储器单元的块。在图3的例子,四个平面或子阵列300、302、304和306的存储单元列可以单一的集成存储单元的芯片上、在两个芯片(每个芯片上2个平面)上、或在四个独立的芯片上。下面的讨论中具体布置不是重要并且其它数量可能存在的系统。平面按照矩形分别分成如图3所示的存储单元的块,诸如位于各平面300、302、304和306中的块308、310、312和314。在每个平面中可以有成打或成百上千的块。块可以被逻辑地链接在一起以形成可作为单个单元被擦除的元块(metablock)。例如,块308、310、312和314可形成第一元元块316。用于形成元块的一些块不需要被限制在它们各自平面内相同的相对位置,如图中由块320、322、324和326构成的第二元块318。
为操作目的各个块被依次划分为多个存储单元的页,如图4所示。例如,块308、310、312和314中的每个的一些存储单元每个都划分成八个页P0-P7。或者,在每个块中可以为16、32或更多页的存储器单元。页是在块内的数据编程和读取单位,其包含一次被编程或读取的最小数据量。对于四个块308、310、312和314中的每一个,图3所示的元页(metapage)402由一个物理页构成。四个块308、310、312和314中的每一个中,所述元页402包括页P2,但是在每个块内元页的页不必具有相同的相对位置。元页是最大编程单位。在图3-4中所披露的块在此被称作物理块,因为它们涉及到如上所述的物理存储器单元组。如此处所使用的,逻辑块是被定义为具有与物理块相同尺寸的地址空间的虚拟单元。每个逻辑块包括与从主机100所接收的数据相关联的逻辑块地址(LBA)的范围。所述的LBA将被映射到存储器件104的存储在其中物理存储数据的一个或更多个物理块。
现在参考图5A-5E描述一种利用第二存储器件的处理能力来增强与共同主机通信的第一存储器的处理能力的方法。在初始化时,内置存储器102和可移动存储器104中的每一个通知主机100他们用于采用两者所共有的共享协议来共享处理的能力。在一个实施方式中,主机100被配置成识别从每个存储器102、104接收的共享协议能力信息,并且随后将后续信息从一个存储器传递给另一个。当内置和可移动存储器102、104被初始化时,该初始化作为上电序列的一部分被触发,或者初始化可以通过存储器件连接到主机或与主机断开而被触发。初始化信息可以包括设备制造商的信息、设备和/或软件的版本、共享标准标识符、或使得所述存储器件和/或主机能够此处所描述的功能的能力的其他信息。主机和存储器件每一个可以配置有协议,诸如由弗吉尼亚州阿灵顿的JEDEC出版的通用闪存(UFS)协议,其已被修改以便识别和作用于存储器装置的共享能力。
如图5A所示,假设每个存储器102、104具有与另一存储器共享资源的能力,则这些存储器可以在初始化时彼此交换令牌502、504。由内置存储器102中产生的令牌502被传输并存储在可移动存储器104,并可移动的存储器104所产生的令牌504被传输并存储在内置存储器102。为简化说明,沿着逻辑路径108,而不是物理路径106显示交换。令牌502、504可以含有关于存储器的其中被产生的信息,诸如制造商、共享协议的版本或指示可以与另一个存储设备共享的功能的数量和类型的其他信息中的一个或多个。此外,该令牌可包含在其中生成该令牌的存储器的当前状态的信息。例如,令牌可以包含用于存储器的后端表,诸如当前的逻辑到物理映射表或其它表。如果其他功能被支持,诸如一个存储器的用于镜像的能力或用于充当其他存储器的RAM的能力,则该RAM存储器的内容也可被发送。为了图5A-5E的例子,假定存储器102、104用于资源共享的能力是处理器共享,以帮助逻辑到物理映射,使得在内置存储器处接收的数据应该被物理地映射到内置存储器的情况下内置存储器可以使用可移动存储器的处理能力来计算。
现在参考图5B所示,在令牌502、504的交换和表格或令牌所携带的其他数据的同步之后,从主机001接收数据写命令。假设实施UFS协议,主机100可以通过向所述内置存储器102发送包含例如要写入的数据的逻辑块的地址和大小的命令描述符块(CDB)形式的写命令,来实现写操作。主机可以发送跟随有后续写入命令508的第一写入命令50给内置存储器102。内置存储器需对主机根据逻辑地址和大小识别的每个命令确定要将数据物理映射到何处。用于确定如何将逻辑地址映射到物理位置的所必需的计算需要花费在实际接受和写入与写命令相关联的数据时导致延迟的一定处理时间。因为与内置存储器102可以立即处理相比,写命令可能会来得更快,因此该命令由内置存储器102放置在队列510中。
现在参考图5C,内置存储器102可以过通过将第二令牌512传递给具有关于在内置存储器内的存储器的状态的必要信息和要被写入所述LBA范围的可移动存储器104,利用可移动存储器104来计算在所述第二命令将被接收的数据的逻辑到物理的映射(写操作N)。在一个实施方例中,所述第二令牌512包括已由内置存储器收到的所有写入命令的集合(例如CDB),所述内置存储器将一些标志与该内置设备想由可移动存储器来处理的写入命令相关联。在其他实施例中,含有单个写命令的令牌512与指示写命令是否由可移动存储器件进行处理的标志可以一起由该内置设备发送。虽然内置设备可能只希望在可移动设备的帮助下处理具体写入命令,但是在一个实施例中,具有要对哪一些进行作用的所有写命令也从内置存储器被发送到可移动存储器,使得移动存储器具有内置存储器中的完整和最新的状态图片和各种表的状态。
在内置存储器102正在处理第一个写命令和写入与第一写命令相关联的数据时,所述可移动存储器104的处理器可以正在计算/映射主机将正在采用队列中的下一个命令发送的数据的位置。如图5D所示,可移动存储器104将结果令牌514给内置存储器102,该令牌含有内置存储器对于所请求的写入命令可以使用的映射信息。如图5E所示,内置存储器随后可以接收用于可移动存储器已计算针对其的物理位置的命令的数据516。对于队列510中每个写命令,这个过程可以被重复,使得内置存储器102可以在可移动存储器104计算用于输入数据的物理位置的同时集中于写入数据。采用这种方式,内置存储器可以提高其性能并避免超时或使得来自主机100的数据延迟。
可想到通过导出/共享可移动存储器处理或存储器功能的性能增强的其它形式。如前面提到的那样,在主机指令对该内置存储器进行写操作期间,内置存储器解102可能需要通过整体或部分利用空闲可移动存储器104的RAM来帮助扩大其RAM能力。在这种情况下,内置存储器的RAM功能可以在存储器102、104之间逻辑路径108上经由令牌通信和RAM状态信息的共享而外包(up-to-date)给可移动存储器。可以考虑到,在其它实施例中,多种功能,诸如逻辑到物理映射和RAM的共享,可以并行地或同时地由所述的内置存储器和可移动存储器利用。
图6示出了一般步骤的流程图,其可以在图1的资源共享和并行处理存储器中使用,诸如在图5中提供的逻辑到物理映射例子中使用。在主机上初始化和识别存储器时,关于处理和资源共享功能或协议的信息被提供给主机或直接提供给另一存储器(在602处)。每一存储器,内置或可移动存储器,因此被通知其它存储器的资源和处理能力共享的可用性或缺乏。每个存储器发送令牌给另一兼容存储用于识别其当前状态(在604)。当存储器期望额外的处理或其它资源时,它发送令牌给一个或多个其他存储器,该令牌具有接收存储器执行所述请求所必要的信息(在606)。请求存储器随后接收所请求的结果,并在处理主机需求(例如,被请求帮助的写入命令或其他主机命令)时将该结果应用到其活动(在步骤608、610处)。
为了使得内置和可移动存储器准备用于共享各种功能,在对可以被共享的所有可能功能的初始化是交换每个设备的状态,不管设备是否结束了共享那些特定功能。因此,由每个存储器102、104产生的一个或多个令牌可包括明显比用于特定会话的信息多的信息。此外,即使对于存储器件和与此处描述的处理器或其它资源共享的一些形式兼容的主机,也可以想到的是,存在包含在每个设备中的不同版本的共享协议,使得主机系统以及所连接的存储器在存在不同版本的情况下会默认为共享协议的最低共同版本。例如,如果存在版本1.0和2.0,其中版本1.0比版本2.0早并且是更低能力的版本,则在其它设备中的一个只具有此处描述的用于共享协议和功能的版本1.0功能的情况下版本1.0可由具有版本2.0能力的设备所利用。
在其它实施例中,共享处理或其他特征的存储器件可以为与共同主机通信的两个可移动存储器件,而不是内置和可移动存储器。在其它实施例,第二存储器,或空闲存储器甚至根本不需要是非易失性存储器。或者空闲器件可以是任何数目的外围设备,其包括用于处理命令的能力,并具有可以被共享的其它类型的存储器,诸如RAM。在一个替代实施例中,第二存储器可为主机本身,其中该内置存储器向主机处理器请求帮助处理或存储器共享。
参考图7,图释了存储器装置进行RAM共享的方法的一个实施例。需要使用另一存储器件的RAM的存储器装置在图7中被称为源存储器,而向源存储器提供的RAM服务的存储设备被称为目的地存储器。诸如针对图6描述的,在存储器装置(内置于主机和在主机外围或者两者)已经经过令牌的交换向主机或其他存储器件标识了其共享能力之后(在602和604处),存储器件可以向另一个存储器件请求RAM共享帮助。虽然源存储器希望已经存储在目的地存储器RAM中的数据不需要被保护,但是图7的实施例显示了可以利用一个加密处理来保护来自源存储器的共享数据的存取和整体性。
使用任何数目的密钥或证书和任何数量的加密技术,控制器或源存储器的处理器可在内部生成加密密钥(在702处)。合适的加密算法包括但不限于,CMAC(基于密码的MAC或消息认证码)或基于散列的加密算法。使用所生成的加密密钥,源存储器的处理器可以对源存储器希望存储在目标存储器的RAM中的数据进行加密和/或签名(在704处)。在这个阶段中,源存储器可经由主机或通过如下所述的直接连接发送令牌到目的地存储器,该令牌包含加密数据和RAM共享操作码,以提醒(alert)目标存储器正在要求其做些什么(在706)。当源存储器想要检索其已经要求目标存储器存储在RAM中的数据中的一些或全部时,目的地存储器将识别为用于发送回加密数据的操作码的后续令牌从源存储器发送到目的地存储器(在708)。目的地存储器将从其RAM中检索加密数据,并将另一个令牌发送回源存储器(在710)。最后,源存储器可根据所接收到的令牌解密并验证数据(在712)。在数字签名失败(不能被验证)的情况下,源存储器将不接受该数据,并且可以发送表示该数据被破坏的信号到主机。
尽管在RAM共享功能的上下文中有描述,但是用于加密和/或签名数据或其他信息这种或其他技术也可用于由存储器件所进行的其它并行计算或资源共享操作中。在其它实施例中,并行处理或资源共享可以发生两个以上的存储器件之间,使得第一存储器件可同时向一个以上的其他存储器件要求并接收处理或资源共享服务。
现在参考图8,显示了由主机的内置或外围存储器件可用的令牌800的逻辑结构一个例子。令牌800可以包括事务或标识特定事务的令牌ID 802和/或令牌和令牌800所代表的事务。操作码(操作码)804标识令牌800的目的,例如用于初始化(例如,在通电时向其它存储器或主机标识可从生成该令牌的存储器件可获得能力)、请求处理器帮助、内存共享、以及其他单独处理或特定处理内的阶段的操作码可被放置在令牌800的该字段中。可用操作码将包括用于所有可用处理类型的不同数目或其它标识符。用于RAM共享的一组操作码可包括用于请求RAM共享特征的代码、用于随后请求返回先期采用RAM请求令牌被发送的数据的代码等等。令牌800还可以包括用于在存储器之间被来回发送的数据806的字段。该数据806可以是被共享的RAM的内容、一列表或与在令牌800提供的特定操作码有关的其他信息。令牌大小808表示在令牌800中数据量,使得存储器的控制器或主机的处理器了解在令牌中需要寻找的数量。最后,循环冗余码(CRC)信息810可以被包括以帮助校正,或者至少是识别在源和目的地之间传输的数据的损坏。在一个实施方案中,也可以存在接收的确认或确认过程完成时被发送或交换的令牌。在其他实施方案中可以不使用确认令牌。令牌ID 802可以用作事务标识符,使得存储器件可以确定哪个操作或令牌的序列应用到特定数据或其他令牌。
向另一个存储器请求处理资源的存储器件以及被请求处理资源的存储器每个可以生成具有这种通用格式的令牌800。
此外,如前面提到的,连接拓扑可以是集线式连接,其中不同存储器需要分别与主机就他们的共享能力进行通信,并且随后主机,作为集线器,调节(mediate)两个存储器件之间的通信。在另一实现中,可以利用环型拓扑结构,其中存储器器件与公共主机相关联,但存储器器件为能够直接物理通信的节点而不仅仅通过主机。在另一些其它实施例中,内置存储器的生产者可以通过配置具有此处所描述的用于识别利用共享协议和能力的制造生的内置和可移动存储器来增强对于具有制造商的内置存储器的主机使用其可移动存储器件的吸引力。类似地,有相似的共享功能的可移动器件之间的增强处理的潜在优势是显而易见的。在其它实施方式中,可以想到的是,所述共享能力,例如并行处理,可进一步扩散到在连接到共同的主机的多个附加当前空闲存储器上,其中多个存储器的第一个可以邀请一个以上的其他空闲存储器以进一步共享对所述第一存储器的处理请求。
所公开的方法和系统的优点是兼容存储器可以在上电时或在其它一些初始化步骤期间进行通信以交换令牌,从而允许激活的存储器利用空闲存储器的处理资源,例如,空闲存储器的RAM存储或处理功率。与其中多个单独存储器件与主机连接以及一次只有一个激活的存储器件的处理能力可用的通常情况相反,也可以使用多个存储器件的处理能力来增加激活存储器件的性能。与同一主机相关联的多个单独存储设备的使用不仅考虑到了速度方面性能的改善,而且可以降低在连接到主机中的单一存储器件内处理增强时可以在其他情况下生成的热的集中。
因此,应该想到的是,上面详细描述被视为说明性的而非限制性的,并且可以理解的是,下面的权利要求书,包括所有等同物,意在限定本发明的构思和范围。
Claims (20)
1.一种存储器件,与主机通信,该存储器件包括:
非易失性存储器;以及
与所述非易失性存储器通信的处理器,所述处理器被配置为:
一旦有来自主机的初始化触发,则提供资源共享信息给与主机相关联的单独存储器;
就所述存储器件的状态与所述单独存储器交换信息;
响应于接收到主机命令,请求来自所述单独存储器的处理资源;
处理一个主机命令,同时等待来自所述单独存储器的响应;
将从单独存储器接收到的处理结果应用到单独主机命令。
2.根据权利要求1所述的存储器件,方法,其中所述初始化触发包括处理器的初始上电。
3.根据权利要求1所述的存储器件,其中所述处理器被配置为通过请求与在存储器件处接收到的写命令相关联的逻辑到物理映射的计算,请求所述处理资源。
4.根据权利要求1所述的存储器件,其中所述处理器被配置为通过发送使用所述单独存储器的随机存取存储器(RAM)的请求来请求处理资源。
5.根据权利要求4所述的存储器件,其中所述处理器被配置为生成和发送与使用随机存取存储器的请求相关联的加密数据。
6.根据权利要求3的存储器件,其中所述处理器还被配置为将从主机接收到的写入命令信息发送到所述单独存储器,并且被配置来标记所述写入命令信息的选择用于由所述单独存储器处理。
7.根据权利要求1的所述的存储器件,其中所述非易失性存储器包括置于主机内的闪存,并且所述单独存储器包括可移动的闪存器件。
8.根据权利要求1的所述的存储器件,其中所述非易失性存储器包括与所述主机通信的第一可移动闪存器件,并且所述单独存储器包括与主机通信的第二可移动闪存器件。
9.一种与主机通信的存储器件,该存储器件包括:
非易失性存储器;以及
与所述非易失性存储器通信的处理器,所述处理器被配置为:
一旦有来自主机的初始化触发,则提供资源共享信息给与主机相关联的单独外围设备;
与所述单独外围设备交换关于存储器件的状态下的信息;
响应于接收到主机命令,请求来自单独外围设备的处理资源;
处理一个主机命令,同时等待来自所述单独外围设备的响应;
将从单独外围设备接收到处理结果应用到单独主机命令。
10.根据权利要求9所述的存储器件,其中所述处理器被配置为通过向所述单独外围设备请求与在存储器件处接收到的写命令相关联的逻辑到物理映射的计算,请求所述处理资源。
11.根据权利要求9所述的存储器件,其中所述处理器被配置为通过发送使用所述单独存储器的随机存取存储器(RAM)的请求来请求处理资源。
12.一种采用多存储器件实现并行计算的方法,包括:
在与主机通信的、具有非易失性存储器和与所述非易失性存储器通信的处理器的第一存储器中,所述处理器:
提供资源共享信息给主机;
使得令牌与主机相关联的可移动设备同步,所述令牌涉及第一存储器的状态;
向与主机通信的第二存储器发送令牌,请求帮助处理主机命令;以及
应用从第二存储器接收的处理结果对主机命令做出响应。
13.根据权利要求12所述的方法,其中第一存储器是内置闪存器件并且所述第二存储器是可移动闪存器件。
14.根据权利要求13所述的方法,其中请求帮助处理所述主机命令包括请求与在第一存储器处从主机接收的写命令相关的逻辑到物理映射计算。
15.根据权利要求14所述的方法,其中请求帮助处理所述主机命令包括:所述第一存储器向第二存储器传输写命令信息到和标记所传输的写入命令信息的选择用于由所述单独存储器处理。
16.根据权利要求12所述的方法,其中向主机提供资源共享信息包括响应于处理器的初始上电向主机发送包含资源共享信息的令牌。
17.根据权利要求13所述的方法,其中请求帮助处理所述主机命令包括所述第一存储器发送使用第二存储器的随机存取存储器(RAM)的请求。
18.根据权利要求17所述的方法,其中发送使用所述第二存储器的随机存取存储器(RAM)的请求包括所述第一存储器生成加密密钥、加密将存储在第二存储器的RAM中的数据、以及向第二存储器发送包括所加密的数据和RAM共享请求的令牌。
19.根据权利要求18所述的方法,还包括所述第一存储器发送用于从第二存储器中检索所加密的数据的请求。
20.根据权利要求19的方法,其中发送用于检索所加密的数据的请求包括所述第一存储器发送包括用于从第二存储器中检索所加密的数据的请求的令牌、响应于所述包括用于检索的请求的令牌从第二存储器接收后续令牌、以及解密包括在所述后续令牌中的所加密的数据。
Applications Claiming Priority (5)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US201261643307P | 2012-05-06 | 2012-05-06 | |
US61/643,307 | 2012-05-06 | ||
US13/658,496 | 2012-10-23 | ||
US13/658,496 US9507639B2 (en) | 2012-05-06 | 2012-10-23 | Parallel computation with multiple storage devices |
PCT/US2013/039201 WO2013169550A1 (en) | 2012-05-06 | 2013-05-02 | Parallel computation with multiple storage devices |
Publications (2)
Publication Number | Publication Date |
---|---|
CN104364760A true CN104364760A (zh) | 2015-02-18 |
CN104364760B CN104364760B (zh) | 2019-01-04 |
Family
ID=49513540
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201380030244.8A Active CN104364760B (zh) | 2012-05-06 | 2013-05-02 | 采用多个存储器件的并行计算 |
Country Status (4)
Country | Link |
---|---|
US (1) | US9507639B2 (zh) |
EP (1) | EP2847677A1 (zh) |
CN (1) | CN104364760B (zh) |
WO (1) | WO2013169550A1 (zh) |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN108628685A (zh) * | 2017-03-15 | 2018-10-09 | 三星电子株式会社 | 用本地BMC在结构上NVMe内分配共享资源的系统、设备和方法 |
CN112000462A (zh) * | 2020-07-14 | 2020-11-27 | 张世民 | 一种基于共享外设资源的数据处理方法及装置 |
CN116594931A (zh) * | 2016-09-30 | 2023-08-15 | 三星电子株式会社 | 计算系统和用于操作计算系统的方法 |
Families Citing this family (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR20150081699A (ko) * | 2014-01-06 | 2015-07-15 | 삼성전자주식회사 | 영상표시장치, 영상표시장치의 구동방법 및 컴퓨터 판독가능 기록매체 |
US10108546B2 (en) * | 2014-12-30 | 2018-10-23 | Sandisk Technologies Llc | Method and system for using non-volatile memory as a replacement for volatile memory |
KR102219759B1 (ko) * | 2015-01-09 | 2021-02-25 | 삼성전자주식회사 | 저장 장치, 그것을 포함하는 데이터 저장 시스템 및 그것의 동작 방법 |
US20160291887A1 (en) * | 2015-03-30 | 2016-10-06 | Kabushiki Kaisha Toshiba | Solid-state drive with non-volatile random access memory |
US10289544B2 (en) * | 2016-07-19 | 2019-05-14 | Western Digital Technologies, Inc. | Mapping tables for storage devices |
US11005775B2 (en) | 2018-10-08 | 2021-05-11 | EMC IP Holding Company LLC | Resource allocation using distributed segment processing credits |
US11201828B2 (en) | 2018-10-08 | 2021-12-14 | EMC IP Holding Company LLC | Stream allocation using stream credits |
US10630602B1 (en) | 2018-10-08 | 2020-04-21 | EMC IP Holding Company LLC | Resource allocation using restore credits |
Citations (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20070198856A1 (en) * | 2000-01-06 | 2007-08-23 | Super Talent Electronics Inc. | Secure Flash-Memory Card Reader with Host-Encrypted Data on a Flash-Controller-Mastered Bus Parallel to a Local CPU Bus Carrying Encrypted Hashed Password and User ID |
CN101106769A (zh) * | 2006-07-14 | 2008-01-16 | 英华达(上海)电子有限公司 | 移动设备上进行信息快速备份/还原的装置及方法 |
US20080177937A1 (en) * | 2007-01-23 | 2008-07-24 | Sony Corporation | Storage apparatus, computer system, and method for managing storage apparatus |
CN101441551A (zh) * | 2007-11-23 | 2009-05-27 | 联想(北京)有限公司 | 计算机、外存储器以及处理外存储器中数据信息的方法 |
CN101489078A (zh) * | 2009-01-14 | 2009-07-22 | 深圳市同洲电子股份有限公司 | 一种数字电视终端和基于中间件的内存扩展方法及系统 |
US20100011164A1 (en) * | 2008-01-31 | 2010-01-14 | Samsung Electronics Co., Ltd. | Memory systems and methods of initiallizing the same |
CN101686340A (zh) * | 2008-09-26 | 2010-03-31 | 深圳市朗科科技股份有限公司 | 扩展图像通信设备功能的方法及系统 |
CN102103470A (zh) * | 2011-01-28 | 2011-06-22 | 鸿富锦精密工业(深圳)有限公司 | 能够扩展内存的电子设备及扩展方法 |
Family Cites Families (11)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7299266B2 (en) | 2002-09-05 | 2007-11-20 | International Business Machines Corporation | Memory management offload for RDMA enabled network adapters |
US7308524B2 (en) * | 2003-01-13 | 2007-12-11 | Silicon Pipe, Inc | Memory chain |
US20080140921A1 (en) | 2004-06-10 | 2008-06-12 | Sehat Sutardja | Externally removable non-volatile semiconductor memory module for hard disk drives |
US8447898B2 (en) | 2005-10-28 | 2013-05-21 | Microsoft Corporation | Task offload to a peripheral device |
US8694776B2 (en) * | 2007-12-21 | 2014-04-08 | Spansion Llc | Authenticated memory and controller slave |
US8966580B2 (en) | 2008-05-01 | 2015-02-24 | Sandisk Il Ltd. | System and method for copying protected data from one secured storage device to another via a third party |
US8386745B2 (en) | 2009-07-24 | 2013-02-26 | Advanced Micro Devices, Inc. | I/O memory management unit including multilevel address translation for I/O and computation offload |
US8473669B2 (en) | 2009-12-07 | 2013-06-25 | Sandisk Technologies Inc. | Method and system for concurrent background and foreground operations in a non-volatile memory array |
US8615621B2 (en) | 2009-12-24 | 2013-12-24 | St-Ericsson Sa | Memory management |
US8626989B2 (en) * | 2011-02-02 | 2014-01-07 | Micron Technology, Inc. | Control arrangements and methods for accessing block oriented nonvolatile memory |
US9311229B2 (en) * | 2011-03-29 | 2016-04-12 | Blackberry Limited | System and method for managing flash memory |
-
2012
- 2012-10-23 US US13/658,496 patent/US9507639B2/en active Active
-
2013
- 2013-05-02 WO PCT/US2013/039201 patent/WO2013169550A1/en active Application Filing
- 2013-05-02 EP EP13722939.9A patent/EP2847677A1/en active Pending
- 2013-05-02 CN CN201380030244.8A patent/CN104364760B/zh active Active
Patent Citations (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20070198856A1 (en) * | 2000-01-06 | 2007-08-23 | Super Talent Electronics Inc. | Secure Flash-Memory Card Reader with Host-Encrypted Data on a Flash-Controller-Mastered Bus Parallel to a Local CPU Bus Carrying Encrypted Hashed Password and User ID |
CN101106769A (zh) * | 2006-07-14 | 2008-01-16 | 英华达(上海)电子有限公司 | 移动设备上进行信息快速备份/还原的装置及方法 |
US20080177937A1 (en) * | 2007-01-23 | 2008-07-24 | Sony Corporation | Storage apparatus, computer system, and method for managing storage apparatus |
CN101441551A (zh) * | 2007-11-23 | 2009-05-27 | 联想(北京)有限公司 | 计算机、外存储器以及处理外存储器中数据信息的方法 |
US20100011164A1 (en) * | 2008-01-31 | 2010-01-14 | Samsung Electronics Co., Ltd. | Memory systems and methods of initiallizing the same |
CN101686340A (zh) * | 2008-09-26 | 2010-03-31 | 深圳市朗科科技股份有限公司 | 扩展图像通信设备功能的方法及系统 |
CN101489078A (zh) * | 2009-01-14 | 2009-07-22 | 深圳市同洲电子股份有限公司 | 一种数字电视终端和基于中间件的内存扩展方法及系统 |
CN102103470A (zh) * | 2011-01-28 | 2011-06-22 | 鸿富锦精密工业(深圳)有限公司 | 能够扩展内存的电子设备及扩展方法 |
Cited By (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN116594931A (zh) * | 2016-09-30 | 2023-08-15 | 三星电子株式会社 | 计算系统和用于操作计算系统的方法 |
CN116594931B (zh) * | 2016-09-30 | 2024-04-05 | 三星电子株式会社 | 计算系统和用于操作计算系统的方法 |
CN108628685A (zh) * | 2017-03-15 | 2018-10-09 | 三星电子株式会社 | 用本地BMC在结构上NVMe内分配共享资源的系统、设备和方法 |
CN108628685B (zh) * | 2017-03-15 | 2023-03-14 | 三星电子株式会社 | 用本地BMC在结构上NVMe内分配共享资源的系统、设备和方法 |
CN112000462A (zh) * | 2020-07-14 | 2020-11-27 | 张世民 | 一种基于共享外设资源的数据处理方法及装置 |
Also Published As
Publication number | Publication date |
---|---|
CN104364760B (zh) | 2019-01-04 |
US20130297857A1 (en) | 2013-11-07 |
US9507639B2 (en) | 2016-11-29 |
EP2847677A1 (en) | 2015-03-18 |
WO2013169550A1 (en) | 2013-11-14 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN104364760A (zh) | 采用多个存储器件的并行计算 | |
TWI746933B (zh) | 控制非揮發性記憶體之記憶體系統及方法 | |
US11089018B2 (en) | Global unique device identification code distribution method | |
JP5969048B2 (ja) | グローバルプラットフォーム仕様を使用した発行元セキュリティドメインの鍵管理のためのシステム及び方法 | |
CN108139984B (zh) | 安全子系统 | |
CN108345806A (zh) | 一种硬件加密卡和加密方法 | |
CN104252375A (zh) | 用于位于不同主机的多个虚拟机共享USB Key的方法和系统 | |
US11784827B2 (en) | In-memory signing of messages with a personal identifier | |
CN115408707B (zh) | 一种数据传输方法、装置、系统及电子设备和存储介质 | |
CN105283921A (zh) | 非易失性存储器的操作 | |
US20220247731A1 (en) | Secure communication between an intermediary device and a network | |
US11423182B2 (en) | Storage device providing function of securely discarding data and operating method thereof | |
CN116034364A (zh) | 半导体装置中的功能的客户特定激活 | |
CN116011041A (zh) | 密钥管理方法、数据保护方法、系统、芯片及计算机设备 | |
US20220393859A1 (en) | Secure Data Storage with a Dynamically Generated Key | |
WO2022136071A1 (en) | Method, chip, and system for managing a physically unclonable function chip public key | |
CN110659472A (zh) | 一种密码卡以及数据存储系统 | |
US20230033630A1 (en) | Embedded Hardware Security Module (HSM) | |
US20220385485A1 (en) | Identity theft protection with no password access | |
US20230144135A1 (en) | Trusted computing device and operating method thereof | |
US20230153441A1 (en) | Storage device and operating method of storage device | |
US20230135891A1 (en) | Storage device including storage controller and operating method | |
KR20230067436A (ko) | 트러스티드 컴퓨팅 장치 및 이의 동작 방법 | |
TW202403773A (zh) | 半導體裝置及用以管理其之安全操作的系統與方法 | |
CN117591456A (zh) | 网络共享数据存储系统 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
CB02 | Change of applicant information |
Address after: texas Applicant after: DELPHI INT OPERATIONS LUX SRL Address before: texas Applicant before: Sandisk Corp. |
|
COR | Change of bibliographic data | ||
GR01 | Patent grant | ||
GR01 | Patent grant |