一种残膜回收机防缠绕挑膜装置的制 一种秧草收获机用电力驱动行走机构

存储装置和操作存储装置的方法与流程

2022-07-02 14:23:35 来源:中国专利 TAG:

存储装置和操作存储装置的方法
1.相关申请的交叉引用
2.本技术要求2020年12月29日提交于韩国知识产权局的韩国专利申请no.10-2020-0185982的优先权,其公开内容整体以引用方式并入本文中。
技术领域
3.本公开涉及存储装置及存储装置的操作方法。更具体地,本公开涉及一种具有增加的操作速度的存储装置及该存储装置的操作方法。


背景技术:

4.存储装置用在电子装置中以存储数据。它们可包括易失性和/或非易失性存储器技术。一旦系统断电,易失性存储器就丢失包含在其中的信息,而非易失性存储器即使在断电之后也保留信息。常用的非易失性存储器的一个示例是闪速存储器。闪速存储器通常以浮栅晶体管的形式实现,其能够存储可快速读取的数据。
5.包括非易失性存储器的存储装置的操作环境已快速改变。例如,许多存储装置是诸如个人计算机的更大的电子系统中的组件,其中它们与类似多核处理器的其它组件交互。对于这些多核处理器存储装置,增加多个核中的每个核的利用率有助于实现存储装置中的增加的操作速度。因此,对能够利用多核处理器的存储装置已进行了新研究。


技术实现要素:

6.本公开的实施例包括一种操作能够增加操作速度的存储装置的方法。
7.本公开的实施例还包括一种具有增加的操作速度的存储装置。
8.然而,本公开的各方面不限于本文所阐述的那些。对于本公开所属领域的普通技术人员而言通过参考下面给出的详细描述,本公开的以上和其它方面将变得更显而易见。
9.本公开的一些实施例提供了一种操作包括非易失性存储器和具有至少两个核的多核处理器的存储装置的方法,其中该方法包括:由存储装置的主机接口从主机接收用于请求非易失性存储器执行预定存储器操作的第一存储器命令;由存储装置的任务调度器基于第一存储器命令生成第一任务和第二任务;由任务调度器基于至少两个核的执行时间从至少两个核当中选择第一核;由任务调度器将第一任务和第二任务指派给第一核;以及在第一核处理所指派的第一任务后,在第一核向任务调度器请求后续任务的同时,由第一核加载用于处理第二任务的代码。
10.本公开的一些实施例提供了一种操作包括非易失性存储器和具有至少两个核的多核处理器的存储装置的方法,其中该方法包括:由存储装置的主机接口从主机接收用于请求非易失性存储器执行预定存储器操作的第一存储器命令;由存储装置的任务调度器基于第一存储器命令生成第一任务;由任务调度器检查第一任务的执行时间;由任务调度器基于至少两个核的执行时间从至少两个核当中选择第一核作为被指派第一任务的核,其中,至少两个核的执行时间基于第一任务的执行时间;由任务调度器考虑第一任务的执行
时间来更新第一核的执行时间;由任务调度器向第一核发布第一任务;以及由存储控制器将在完成对第一任务的处理之后生成的至少部分地基于第一存储器命令的第二存储器命令通过存储器接口提供给非易失性存储器。
11.本公开的一些实施例提供了一种存储装置,其包括:非易失性存储器,其包括多个非易失性存储器单元;主机接口,其从主机接收用于请求非易失性存储器执行预定存储器操作的第一存储器命令;多核处理器,其包括多个核;任务调度器,其根据第一存储器命令生成多个任务,并且使用存储有多个任务中的每一个的处理时间的任务执行时间表和存储有多个核中的每一个的执行时间的执行时间戳表来选择处理多个任务的核;以及存储器接口,其将基于由多个核所处理的多个任务生成的与第一存储器命令对应的第二存储器命令输出至非易失性存储器。
12.根据以下详细描述、附图和权利要求,其它特征和实施例可以显而易见。
附图说明
13.通过参照附图详细描述本公开的实施例,本公开的以上和其它方面和特征将变得更显而易见,在附图中:
14.图1是示出根据一些实施例的主机存储系统的框图;
15.图2是图1的存储控制器、存储器接口和非易失性存储器被重新配置的示图;
16.图3是示出图1的多核处理器的示图;
17.图4是示出图1的任务列表的示图;
18.图5是示出图1的ets(执行时间戳)表的示图;
19.图6是示出图1的tdt(任务持续时间)表的示图;
20.图7是示出根据一些实施例的存储装置的操作的流程图;
21.图8至图15是用于说明根据一些实施例的存储装置的操作的示图;
22.图16是示出根据一些实施例的tdt(任务持续时间)表的示图。
具体实施方式
23.以下,将参照附图详细描述实施例。附图中相似的标号可表示相似的元件,并且在已经省略对元件的描述的程度上,可理解该元件至少与说明书中别处描述的对应元件类似。
24.图1是示出根据一些实施例的主机存储系统的框图。
25.主机存储系统10可包括主机100和存储装置200。存储装置200还可包括存储控制器210和非易失性存储器(nvm)220。主机100可包括主机控制器110和主机存储器120。主机存储器120可用作用于暂时存储要发送到存储装置200的数据或从存储装置200发送的数据的缓冲存储器。
26.存储装置200可包括用于响应于来自主机100的请求而存储数据的存储介质。例如,存储装置200可包括ssd(固态驱动器)、嵌入式存储器和可拆卸外部存储器中的至少一种。如果存储装置200是ssd,则存储装置200可以是符合nvme(非易失性存储器高速)标准的装置。
27.如果存储装置200是嵌入式存储器或外部存储器,则存储装置200可以是符合ufs
(通用闪存)或emmc(嵌入式多媒体卡)标准的装置。主机100和存储装置200可各自根据所采用的标准协议生成和发送分组。
28.当存储装置200的非易失性存储器220包括闪速存储器时,闪速存储器可包括2d nand存储器阵列或3d(或竖直)nand(vnand)存储器阵列。作为另一示例,存储装置200还可包括其它各种类型的非易失性存储器。例如,存储装置200可包括mram(磁性ram)、stt-mram(自旋转移矩mram)、导电桥接ram(cbram)、feram(铁电ram)、pram(相位ram)、电阻存储器(电阻ram)和/或其它各种类型的存储器。
29.在一些实施例中,主机控制器110和主机存储器120可被实现为不同的半导体芯片。在一些实施例中,主机控制器110和主机存储器120可被集成在同一半导体芯片上。作为示例,主机控制器110可以是设置在应用处理器中的多个模块之一,并且这种应用处理器可被实现为片上系统(soc)。此外,主机存储器120可以是设置在应用处理器中的嵌入式存储器,或者非易失性存储器,或者放置在应用处理器外部的存储器模块。
30.主机控制器110可管理包括将缓冲区域的数据(例如,写入数据)存储在非易失性存储器220中和/或将非易失性存储器220的数据(例如,读取数据)存储在缓冲区域中的操作。
31.存储控制器210可包括主机接口(i/f)211、存储器接口(i/f)212和多核处理器213。存储控制器210还可包括闪存转换层(ftl)214、分组管理器215、缓冲存储器216、ecc(纠错码)引擎217、aes(高级加密标准)引擎218和任务调度器219。
32.存储控制器210还可包括加载有闪存转换层(ftl)214的工作存储器,并且当多核处理器213执行闪存转换层214时,可控制对非易失性存储器的数据写入和读取操作。
33.主机接口211可向主机100发送分组和从主机100接收分组。从主机100发送到主机接口211的分组可包括要写入非易失性存储器220的命令和/或数据,从主机接口211发送到主机100的分组可包括对命令的响应和/或从非易失性存储器220读取的数据等。
34.存储器接口212可将要写入在非易失性存储器220上的数据发送到非易失性存储器220,和/或从非易失性存储器220接收读取数据。这种存储器接口212可被实现为遵循诸如toggle或onfi的标准惯例。
35.闪存转换层214可执行诸如地址映射、损耗均衡和垃圾收集的各种功能。地址映射操作可包括将从主机接收的逻辑地址改变为用于将数据实际存储在非易失性存储器220中的物理地址。损耗均衡可包括确保非易失性存储器220中的块被均匀地使用以防止特定块过度劣化,并且可例如通过能够平衡物理块的擦除计数的固件来实现。垃圾收集可包括通过将块的有效数据复制到新块然后擦除现有块的方法来确保非易失性存储器220中的可用容量。
36.分组管理器215可根据与主机100协商的接口的协议来生成分组,和/或可根据从主机100接收的分组来解析各种类型的信息。此外,在一些实施例中,分组管理器215可管理从任务调度器219提供给多核处理器213的分组或者从多核处理器213提供给任务调度器219的分组。然而,实施例不必限于此。
37.缓冲存储器216可暂时存储要记录在非易失性存储器220上的数据或者要从非易失性存储器220读取的数据。缓冲存储器216可设置在存储控制器210的内部,或者可被放置在存储控制器210的外部。
38.ecc引擎217可执行从非易失性存储器220读取的数据的检错和纠错功能。更具体地,ecc引擎217可生成关于要写入非易失性存储器220的写入数据的奇偶校验比特,并且以这种方式生成的奇偶校验比特可与写入数据一起存储在非易失性存储器220中。当从非易失性存储器220读取数据时,ecc引擎217可使用与读取数据一起从非易失性存储器220读取的奇偶校验比特来纠正读取数据的错误并输出纠正了错误的读取数据。
39.aes引擎218可例如使用对称密钥算法来执行输入到存储控制器210的数据的加密和/或解密操作。
40.图2是图1的存储控制器、存储器接口和非易失性存储器被重新配置的示图。图1的存储器接口212可包括图2的控制器接口电路212a和存储器接口电路212b。
41.非易失性存储器220可包括第一引脚p11至第八引脚p18、存储器接口电路212b、控制逻辑电路510和存储器单元阵列520。
42.存储器接口电路212b可通过第一引脚p11从存储控制器210接收芯片使能信号nce。存储器接口电路212b可至少部分地基于芯片使能信号nce通过第二引脚p12至第八引脚p18向存储控制器210发送信号和从存储控制器210接收信号。例如,当芯片使能信号nce处于使能状态(例如,低电平)时,存储器接口电路212b可通过第二引脚p12至第八引脚p18向存储控制器210发送信号和从存储控制器210接收信号。
43.存储器接口电路212b可分别通过第二引脚p12至第四引脚p14从存储控制器210接收命令锁存使能信号cle、地址锁存使能信号ale和写使能信号nwe。存储器接口电路212b可通过第七引脚p17从存储控制器210接收数据信号dq或向存储控制器210发送数据信号dq。命令cmd、地址addr和数据data可通过数据信号dq传送。例如,数据信号dq可通过多条数据信号线传送。在这种情况下,第七引脚p17可包括与多个数据信号对应的多个引脚。
44.存储器接口电路212b可基于写使能信号nwe的切换定时从在命令锁存使能信号cle的使能区段(例如,高电平状态)中接收的数据信号dq获取命令cmd。存储器接口电路212b可基于写使能信号nwe的切换定时从在地址锁存使能信号ale的使能区段(例如,高电平状态)中接收的数据信号dq获取地址addr。
45.在一些实施例中,写使能信号nwe可保持静态(例如,高电平或低电平),然后可在高电平和低电平之间切换。例如,写使能信号nwe可在发送命令cmd或地址addr的区段切换。因此,存储器接口电路212b可基于写使能信号nwe的切换定时来获取命令cmd或地址addr。
46.存储器接口电路212b可通过第五引脚p15从存储控制器210接收读使能信号nre。存储器接口电路212b可通过第六引脚p16从存储控制器210接收数据选通信号dqs,或者可向存储控制器210发送数据选通信号dqs。
47.在非易失性存储器220的数据data输出操作中,存储器接口电路212b可在输出数据data之前通过第五引脚p15接收切换的读使能信号nre。存储器接口电路212b可基于读使能信号nre的切换来生成切换的数据选通信号dqs。例如,存储器接口电路212b可基于读使能信号nre的切换开始时间来生成在预定延迟(例如,tdqsre)之后开始切换的数据选通信号dqs。存储器接口电路212b可基于数据选通信号dqs的切换定时来发送包括数据data的数据信号dq。结果,数据data可与数据选通信号dqs的切换定时对齐并被发送到存储控制器210。
48.在非易失性存储器220的数据data输入操作中,如果从存储控制器210接收到包括
数据data的数据信号dq,则存储器接口电路212b可从存储控制器210与数据data一起接收切换的数据选通信号dqs。存储器接口电路212b可基于数据选通信号dqs的切换定时从数据信号dq获取数据data。例如,存储器接口电路212b可通过在数据选通信号dqs的上升沿和下降沿处对数据信号dq进行采样来获取数据data。
49.存储器接口电路212b可通过第八引脚p18向存储控制器210发送就绪/繁忙输出信号nr/b。存储器接口电路212b可通过就绪/繁忙输出信号nr/b向存储控制器210发送非易失性存储器220的状态信息。如果非易失性存储器220处于繁忙状态(例如,当正在执行非易失性存储器220的内部操作时),则存储器接口电路212b可向存储控制器210发送指示繁忙状态的就绪/繁忙输出信号nr/b。如果非易失性存储器220处于就绪状态(例如,非易失性存储器220的内部操作未执行或完成),则存储器接口电路212b可向存储控制器210发送指示就绪状态的就绪/繁忙输出信号nr/b。
50.例如,在非易失性存储器220响应于页读取命令从存储器单元阵列520读取数据data的同时,存储器接口电路212b可向存储控制器210发送指示繁忙状态的就绪/繁忙输出信号nr/b(例如,低电平)。例如,在非易失性存储器220响应于编程指令将数据data编程到存储器单元阵列520中的同时,存储器接口电路212b可向存储控制器210发送指示繁忙状态的就绪/繁忙输出信号nr/b。
51.控制逻辑电路510可控制非易失性存储器220的各种操作。控制逻辑电路510可接收从存储器接口电路212b获取的命令cmd/地址/addr。控制逻辑电路510可至少部分地基于所接收的命令cmd/地址/addr来生成用于控制非易失性存储器220的其它组件的控制信号。例如,控制逻辑电路510可生成用于将数据data编程在存储器单元阵列520中或从存储器单元阵列520读取数据data的各种控制信号。
52.存储器单元阵列520可至少部分地基于控制逻辑电路510的控制来存储从存储器接口电路212b获取的数据data。存储器单元阵列520可至少部分地基于控制逻辑电路510的控制将所存储的数据data输出至存储器接口电路212b。
53.存储器单元阵列520可包括多个存储器单元。在一个实施例中,多个存储器单元可以是闪速存储器单元。然而,本公开不必限于此,存储器单元可以是rram(电阻随机存取存储器)单元、fram(铁电随机存取存储器)单元、pram(相变随机存取存储器)单元、tram(晶闸管随机存取存储器)单元和/或mram(磁性随机存取存储器)单元。以下,将根据存储器单元是nand闪速存储器单元的示例来描述本公开的实施例。
54.存储控制器210可包括第一引脚p21至第八引脚p28以及控制器接口电路212a。第一引脚p21至第八引脚p28可对应于非易失性存储器220的第一引脚p11至第八引脚p18。例如,存储控制器210的第一引脚p21至第八引脚p28可分别连接到非易失性存储器220的第一引脚p11至第八引脚p18。
55.控制器接口电路212a可通过第一引脚p21向非易失性存储器220发送芯片使能信号nce。控制器接口电路212a可通过第二引脚p22至第八引脚p28向通过芯片使能信号nce选择的非易失性存储器220发送信号以及从通过芯片使能信号nce选择的非易失性存储器220接收信号。
56.控制器接口电路212a可分别通过第二引脚p22至第四引脚p24向非易失性存储器220发送命令锁存使能信号cle、地址锁存使能信号ale和写使能信号nwe。控制器接口电路
212a可通过第七引脚p27向非易失性存储器220发送数据信号dq或从非易失性存储器220接收数据信号dq。
57.控制器接口电路212a可将包括命令cmd或地址addr的数据信号dq连同切换的使能信号nwe一起发送至非易失性存储器220。控制器接口电路212a可通过发送使能状态下的命令锁存使能信号cle来向非易失性存储器220发送包括命令cmd的数据信号dq,并且可通过发送使能状态下的地址锁存使能信号ale来向非易失性存储器220发送包括地址addr的数据信号dq。
58.控制器接口电路212a可通过第五引脚p25向非易失性存储器220发送读使能信号nre。控制器接口电路212a可通过第六引脚p26从非易失性存储器220接收数据选通信号dqs,和/或可向非易失性存储器220发送数据选通信号dqs。
59.在非易失性存储器220的数据data输出操作中,控制器接口电路212a可生成切换读使能信号nre并将读使能信号nre发送至非易失性存储器220。例如,控制器接口电路212a可在输出数据data之前生成从静态(例如,高电平或低电平)改变为切换状态的读使能信号nre。结果,可基于读使能信号nre在非易失性存储器220中生成切换的数据选通信号dqs。控制器接口电路212a可从非易失性存储器220接收包括数据data的数据信号da连同切换的数据选通信号dqs。控制器接口电路212a可基于数据选通信号dqs的切换定时从数据信号dq获取数据data。
60.在非易失性存储器220的数据data输入操作中,控制器接口电路212a可生成切换的数据选通信号dqs。例如,控制器接口电路212a可在发送数据data之前生成从静态(例如,高电平或低电平)改变为切换状态的数据选通信号dqs。控制器接口电路212a可基于数据选通信号dqs的切换定时向非易失性存储器220发送包括数据data的数据信号dq。
61.控制器接口电路212a可通过第八引脚p28从非易失性存储器220接收就绪/繁忙输出信号nr/b。控制器接口电路212a可基于就绪/繁忙输出信号nr/b来确定非易失性存储器220的状态信息。
62.图3是示出图1的多核处理器的示图。图4是示出图1的任务列表的示图。图5是示出图1的ets(执行时间戳)表的示图。图6是示出图1的tdt(任务持续时间)表的示图。
63.参照图1和图3,多核处理器213可包括n个核,其中n是大于或等于2的自然数。
64.每个核可包括计算单元(alu)2131a、sram 2131b和itcm(指令紧耦合存储器)2131c。在一些实施例中,每个核还可包括代码加载器2131d、分组接收器2131e和任务请求器2131f。
65.计算单元2131a可至少部分地基于加载到itcm 2131c中的代码来执行计算。sram 2131b可存储执行这种计算所需的数据。
66.代码加载器2131d可从外部源接收核要执行的任务的代码并将代码加载到itcm 2131c中。分组接收器2131e可从外部源接收与核的操作有关的分组。当发布给核的任务的处理完成时,任务请求器2131f可发送请求后续任务的信号。
67.尽管图3示出每个核包括代码加载器2131d、分组接收器2131e和任务请求器2131f,但本公开不必限于此。在一些实施例中,可以以代码加载器2131d、分组接收器2131e和任务请求器2131f例如以软件被实现以控制每个核的方式来实现实施例。另外,在一些实施例中,代码加载器2131d、分组接收器2131e和任务请求器2131f可与核分开实现。
68.再次参照图1,任务调度器219可生成响应于通过主机接口211接收的命令而生成要提供给非易失性存储器220的命令所需的任务,并且可进行操作以使得通过多核处理器213来处理所生成的任务。
69.具体地,任务调度器219可根据通过主机接口211接收的命令生成多个任务,并且利用执行时间戳(ets)表219b和任务执行时间(tdt)表219c来选择用于处理多个任务的核,从而允许通过多核处理器213处理任务。通过处理多个任务而生成的命令可按照上面参照图2描述的方式提供给非易失性存储器220。
70.任务调度器219可使用任务列表219a、执行时间戳(ets)表219b和任务执行时间(tdt)表219c来进行操作。
71.参照图1和图4,任务列表219a可包括响应于通过主机接口211从主机100接收的命令而生成要提供给非易失性存储器220的命令所需的m个任务,其中m是自然数。这里,各个任务可通过id(tid)彼此区分,并且可相互依赖。
72.例如,任务2(tid 2)是当任务1(tid 1)完成时可处理的任务,任务4(tid 4)可以是当所有任务1至任务3(tid 1至tid 3)完成时可处理的任务。
73.参照图1和图5,ets表219b可包括在特定时间点处多核处理器213中包括的每个核的执行时间e1至en。任务调度器219可通过参考ets表219b来检查在特定时间点处多核处理器213中包括的每个核的执行时间e1至en。
74.参照图1和图6,tdt表219c可包括完成存储在任务列表219a中的任务tid 1至tid m中的每一个所需的所需时间。在图6中,任务1(tid 1)指示完成处理所需的t1时间,任务2(tid 2)需要t2时间来完成处理。
75.在一些实施例中,可以例如以软件来实现任务调度器219以调度多核处理器213中包括的每个核中的任务。在这种情况下,上述任务列表219a、ets表219b和tdt表219c可存储在图1所示的缓冲存储器216、存储控制器210的内部存储器或存储控制器210的外部存储器中。
76.以下,将参照图7至图15描述根据一些实施例的存储装置的操作。
77.图7是示出根据一些实施例的存储装置的操作的流程图。图8至图15是用于说明根据一些实施例的存储装置的操作的示图。
78.参照图7,将存储器命令从主机100提供给存储控制器210(s100)。
79.具体地,参照图1和图8,主机接口211可接收需要在非易失性存储器220上执行存储器操作的存储器命令。
80.例如,存储器操作可包括读取存储在寻址到逻辑地址的非易失性存储器220的非易失性存储器单元中的数据的操作、将数据写入到寻址到逻辑地址的非易失性存储器220的非易失性存储器单元的写操作和/或擦除寻址到逻辑地址的非易失性存储器220的特定块的擦除操作。然而,实施例不必限于此,非易失性存储器220的存储器操作的示例可按各种方式修改。
81.以下,将作为示例说明请求读取存储在寻址到逻辑地址的非易失性存储器220的非易失性存储器单元中的数据的读命令。然而,将理解,实施例不限于此示例。
82.接下来,生成与所提供的读命令对应的任务(s110)。
83.具体地,参照图1和图8,存储控制器210的任务调度器219可生成响应于从主机100
提供的读命令而生成要发送给非易失性存储器220的读命令所需的任务。
84.作为示例,第一任务(任务1)可包括将从主机100提供的逻辑地址la映射至非易失性存储器220中使用的物理地址(pa)的地址映射(l2p)任务,第二任务(任务2)可包括确定施加到非易失性存储器220的非易失性存储器单元的读电压的电平。
85.然而,这仅是一个示例,任务调度器219可生成响应于从主机100提供的读命令而生成要发送给非易失性存储器220的读命令所需的q(q是自然数)个任务。
86.接下来,参照图7,接收任务请求(s120)。
87.具体地,参照图1,存储控制器210的任务调度器219可从多核处理器213中的在其中完成所指派任务的处理的核接收请求指派测试的测试请求。
88.接下来,参照图7,搜索任务执行时间(s130)。
89.具体地,参照图1和图9,存储控制器210的任务调度器219可考虑各个任务之间的依赖性从任务列表(图4的219a)提取需要指派的任务。以下,将作为示例描述任务调度器219提取任务1(tid 1)和任务2(tid 2)的情况。然而,实施例不必限于此,可根据不同的实施例和/或操作提取各种任务。
90.任务调度器219检查tdt表219c中的任务1(tid 1)和任务2(tid 2)的执行时间。在图9所示的示例中,任务调度器219检查任务1(tid 1)和任务2(tid 2)的执行时间为40。
91.接下来,参照图7,考虑任务执行时间表和执行时间戳表来选择核(s140)。
92.具体地,参照图1和图10,任务调度器219检查ets表219b并且检查在当前时间点处核1的执行时间最短。例如,如果任务2(tid 2)依赖于任务1(tid 1),则任务调度器219可将任务1(tid 1)和任务2(tid 2)二者指派给在当前时间点处具有最短执行时间的核1。
93.例如,如果任务2(tid 2)和任务1(tid 1)之间不存在依赖性,则任务调度器219重新计算每个核的执行时间,假设任务1(tid 1)被指派给在当前时间点处具有最短执行时间的核1。任务2(tid 2)也可被指派给具有最短执行时间的核。例如,任务2可被指派给核1或核1以外的另一核。
94.在此示例中,在任务1(tid 1)被指派给核1之后,核1的执行时间变为30,这是其它核的执行时间当中的最小值。因此,任务调度器219可将任务1(tid 1)和任务2(tid 2)指派给核1。
95.接下来,参照图7,更新ets表(s 150)。
96.将理解,本文所描述的各种组件(例如,任务调度器219、分组管理器215、分组接收器2131e、任务请求器2131f和代码加载器2131d)可被实现为单独的电路。附加地或可替换地,一个或多个组件可在被配置为执行其所描述的功能的一个或多个处理器内实现。
97.具体地,参照图1和图11,任务调度器219将被指派了任务1(tid 1)和任务2(tid 2)的核1的执行时间更新为60。
98.接下来,参照图7,将任务1和任务2发布给核1(s160)。
99.具体地,参照图1和图12,任务调度器219将任务1(tid 1)和任务2(tid 2)提供给核1的分组接收器2131e以将任务1(tid 1)和任务2(tid 2)发布给核1。
100.接下来,参照图7,加载处理任务1(tid 1)所需的代码(s170)。
101.具体地,参照图1和图13,核1的代码加载器2131d从外部组件接收要由核1处理的任务1(tid 1)的代码,并且可将代码加载到itcm 2131c中。在一些实施例中,尽管处理任务
所需的代码可被存储在例如上述缓冲存储器216中,但实施例不必限于此。
102.当任务1(tid 1)的代码被加载到itcm 2131c中时,核1使用计算单元2131a和sram 2131b来处理任务1(tid 1)。
103.接下来,参照图7,当任务1(tid 1)的处理完成时,发送对后续任务的请求(s180)。此外,加载处理任务2(tid 2)所需的代码(s 190)。
104.具体地,参照图1和图14,当任务1(tid 1)的处理完成时,核1的任务请求器2131f请求任务调度器219指派后续任务(例如,任务1或任务2以外尚待确定的任务)。此外,在任务请求器2131f请求任务调度器219指派后续任务的同时,例如,核1的代码加载器2131d从缓冲存储器216接收要由核1处理的任务2(tid 2)的代码,并且将代码加载到itcm 2131c中。例如,核1的代码加载器2131d可并非在等待发布新任务的定时之后加载执行任务所需的代码,而是可在任务请求器2131f请求任务调度器219指派后续任务的同时加载计划处理的任务的代码。因此,存储装置的操作速度可提高。
105.接下来,参照图7,处理任务2(tid 2)(s200)。
106.具体地,参照图1和图14,当任务2(tid 2)的代码被加载到itcm 2131c中时,核1使用计算单元2131a和sram 2131b来处理任务2(tid 2)。
107.接下来,参照图7,基于任务的处理结果来生成要提供给非易失性存储器的读命令(s210)。
108.具体地,参照图1和图15,存储控制器210可基于任务1(tid 1)的处理结果来检查与从主机100提供的逻辑地址对应的物理地址,基于任务2(tid 2)的处理结果来确定读电压电平,并且生成要提供给非易失性存储器220的读命令。此时,与从主机100提供给存储控制器210的读命令不同,从存储控制器210提供给非易失性存储器220的读命令可包括物理地址和读电压电平信息。
109.然而,以上描述针对一个示例实施例,存储控制器210可基于q个任务的处理结果来生成从存储控制器210提供给非易失性存储器220的读命令。
110.接下来,参照图7,将所生成的读命令发送至非易失性存储器(s220)。
111.存储控制器210可按照上面参照图2描述的方式将所生成的读命令提供给非易失性存储器220。具体地,存储控制器210可将包括所生成的读命令和所生成的物理地址的数据信号(图2的dq)连同切换的写使能信号(图2的nwe)一起发送至非易失性存储器220。
112.在根据上述本实施例的存储装置200中,每次任务调度器219指派任务时,考虑每个核的执行时间,并且任务被指派给能够最高效地处理任务的核。另外,每个核并非在处理所发布的任务之后维持空闲状态直至发布下一任务,而是在请求任务调度器219执行后续任务的同时在该核处一起执行计划处理的任务的代码加载。因此,核的使用效率可显著增加,并且存储装置的操作速度可提高。
113.尽管已经说明了根据本公开的发明构思的实施例,作为示例描述了调度存储控制器210响应于从主机100接收的命令而生成要提供给非易失性存储器220的命令所需的m个任务的操作,但实施例不限于这些示例。
114.在一些实施例中,存储控制器210可在调度与从主机100接收的多个命令对应的k个任务时利用上述方法。例如,当存储控制器210调度针对从主机100接收的第一读命令的第一任务和针对从主机100接收的第二读命令的第二任务时,可使用上述方法调度第一任
务和第二任务。
115.图16是示出根据一些实施例的tdt(任务持续时间)表的示图。
116.参照图1、图2和图16,第一任务tid 1用于处理从主机100接收的第一读命令,第二任务tid 2用于处理从主机100接收的第二读命令,第k任务tid k用于处理从主机100接收的第二读命令。
117.完成第一任务tid 1的处理所需的时间为t1,完成第二任务tid2的处理所需的时间为t2,完成第k任务tid k的处理所需的时间为tk。
118.当从主机100接收的第一读命令用于读取存储在存储器单元阵列520的第一存储器单元中的数据,并且从主机100接收的第二读命令用于读取存储在存储器单元阵列520的第二存储器单元中的数据时,完成第二任务tid 2的处理所需的时间t2可根据第一存储器单元和第二存储器单元的位置而改变。
119.例如,由于局部特性,当在存储器单元阵列520中第一存储器单元和第二存储器单元彼此相邻时完成第二任务tid 2的处理所需的时间t2可小于当第一存储器单元和第二存储器单元彼此不相邻时完成第二任务tid 2的处理所需的时间t2。
120.例如,考虑是否执行非易失性存储器220的内部操作、非易失性存储器220的状态、存储器接口212的状态、从上述主机100接收的命令之间的关系等,可改变包括在任务执行时间表219d中的任务的处理完成时间t1至tk。
121.此外,尽管作为示例描述了根据从主机100接收的不同命令生成的任务,但是上面参照图6描述的根据一个命令生成的任务的处理完成时间t1至tm也可考虑是否执行非易失性存储器220的内部操作、非易失性存储器220的状态、存储器接口212的状态或其它考虑而改变。
122.因此,由于与存储装置连接的多核处理器的利用率增加,根据本公开的存储装置及存储装置的操作方法可以以提高的速度和效率操作。上述处理是根据本发明构思的实施例可高效地使用多核处理器的一些示例。
123.总结详细描述,本领域技术人员将理解,在基本上不脱离本公开的原理的情况下,可对所公开的实施例进行变化和修改。因此,所公开的实施例仅以一般性和描述性的意义使用,而非出于限制的目的。
再多了解一些

本文用于企业家、创业者技术爱好者查询,结果仅供参考。

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表

相关文献