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

控制器、存储器系统以及数据处理系统的制作方法

2022-02-24 18:05:51 来源:中国专利 TAG:

控制器、存储器系统以及数据处理系统
1.相关申请的交叉引用
2.本技术要求于2020年8月18日提交的申请号为10-2020-0103345的韩国专利申请的优先权,该韩国专利申请的公开内容通过引用整体并入本文。
技术领域
3.本公开的各个实施例总体上涉及一种用于控制存储器装置的控制器以及包括该控制器的存储器系统。


背景技术:

4.计算机环境范例已经转变成能够随时随地使用计算系统的普适计算。因此,诸如移动电话、数码相机和膝上型计算机的便携式电子装置的使用已经迅速增加。这些便携式电子装置通常使用具有一个或多个存储器装置的存储器系统来存储数据。存储器系统可以用作便携式电子装置的主存储器装置或辅助存储器装置。
5.因为存储器系统不具有移动部件,所以存储器系统提供诸如以下的优点:优异的稳定性和耐用性、高信息访问速度和低功耗。具有这些优点的存储器系统的示例包括通用串行总线(usb)存储器装置、具有各种接口的存储卡以及固态驱动器(ssd)。


技术实现要素:

6.本公开的各个实施例涉及一种方法和设备,该方法和设备通过及时地向主机提供预期由存储器系统频繁参考的映射数据,能够向存储器系统提供包括待由主机读取的数据的物理地址的请求。
7.根据实施例,一种存储器系统包括:第一存储器子系统,适于存储针对逻辑地址区域中的第一逻辑地址的映射数据的第一段;第二存储器子系统,适于存储针对逻辑地址区域中的第二逻辑地址的映射数据的第二段;以及主机接口,适于:根据主机的第一读取命令中包括的逻辑地址向第一存储器子系统和第二存储器子系统中的任意一个提供第一读取命令,根据包括该逻辑地址的逻辑地址区域的读取计数向主机提供启用建议,基于主机的读取缓冲器命令,分别从第一存储器子系统和第二存储器子系统获得针对第一逻辑地址的映射数据的第一段和针对第二逻辑地址的映射数据的第二段,并且向主机提供组合的映射数据的第一段和映射数据的第二段作为针对逻辑地址区域的映射数据,其中该启用建议允许主机在提供包括逻辑地址区域中的目标逻辑地址的第二读取命令时,进一步提供与该目标逻辑地址相对应的物理地址。
8.根据实施例,一种控制器控制第一存储器装置和第二存储器装置,该控制器包括:第一处理器,适于控制第一存储器装置存储针对逻辑地址区域中的第一逻辑地址的映射数据的第一段;第二处理器,适于控制第二存储器装置存储针对逻辑地址区域中的第二逻辑地址的映射数据的第二段;以及主机接口,适于:根据主机的第一读取命令中的逻辑地址向第一处理器和第二处理器中的任意一个提供第一读取命令,根据包括所提供的逻辑地址的
逻辑地址区域的读取计数向主机提供启用建议,基于主机的读取缓冲器命令从第一处理器和第二处理器获得针对第一逻辑地址的映射数据的第一段和针对第二逻辑地址的映射数据的第二段,并且向主机提供组合的映射数据的第一段和映射数据的第二段作为针对逻辑地址区域的映射数据,其中该启用建议允许主机在提供包括逻辑地址区域中的目标逻辑地址的第二读取命令时,进一步提供与该目标逻辑地址相对应的物理地址。
9.根据实施例,一种数据处理系统包括:主机,被配置为一起提供第一请求与从主机映射段中选择的第一逻辑地址或第二逻辑地址;第一存储器系统和第二存储器系统,被配置为分别存储具有第一逻辑地址的第一映射子段和具有第二逻辑地址的第二映射子段,第一存储器系统和第二存储器系统中的每一个被配置为通过参考所提供的逻辑地址以及第一存储器系统和第二存储器系统中的每一个中包括的相应映射子段来响应于第一请求执行操作;以及主机接口,被配置为当对第一映射子段和第二映射子段的访问数量大于阈值时,使主机利用第一映射子段和第二映射子段两者来更新主机映射段,其中第一映射子段和第二映射子段分别具有第一映射条目和第二映射条目,第一映射条目和第二映射条目中的每一个具有逻辑地址和相应的物理地址,其中主机进一步被配置为一起提供第二请求与从所更新的主机映射段中选择的第一映射条目或第二映射条目,并且其中第一存储器系统和第二存储器系统中的每一个进一步被配置为通过参考所提供的与第二请求相对应的映射条目来响应于第二请求执行操作。
10.在本公开中可获得的特征和优点不限于本文所描述的那些特征和优点,本领域技术人员将从下文的详细描述中认识到其他特征和优点。
附图说明
11.图1是示出根据实施例的共享映射数据的方法的示图。
12.图2是示意性地示出根据实施例的主机接口和主机的操作的示图。
13.图3是示出根据实施例的包括存储器系统的数据处理系统的示图。
14.图4是示出传送包括逻辑地址和物理地址的命令的主机和从主机接收命令的存储器系统的特定操作的示图。
15.图5a和图5b是示出根据实施例的存储器映射数据的示图。
16.图6a至图6c是示出根据实施例的可存储在主机接口存储器中的数据的示图。
17.图7是示出根据实施例的存储器系统的逻辑地址区域启用操作的示图。
18.图8是示出根据实施例的存储器系统的逻辑地址区域停用操作的示图。
具体实施方式
19.在下文中,参照附图详细描述本公开的各个实施例。下文的描述集中于与本公开有关的主题,公知的技术细节可以省略,以免模糊所公开的实施例的主题。在整个说明书中,对“实施例”、“另一实施例”等的引用不一定仅针对一个实施例,并且对任何这种短语的不同引用不一定针对相同的实施例。当在本文中使用时,术语“实施例”不一定指所有实施例。
20.图1是示出根据实施例的共享映射数据的方法的示图。
21.参照图1,主机102和存储器系统110可以可操作地接合以彼此协作。主机102可以
是计算装置,并且可以以移动装置、计算机和/或服务器的形式实施。存储器系统110可以从主机102接收命令,并且响应于所接收的命令来存储或输出数据。
22.主机102可以包括诸如移动电话、mp3播放器和膝上型计算机的各种便携式电子装置中的任意一种或诸如台式计算机、游戏机、电视(tv)和投影仪的各种非便携式电子装置中的任意一种。
23.主机102可以包括至少一个操作系统(os),该os可以管理和控制主机102的全部功能和操作,并且使用数据处理系统100或存储器系统110在主机102和用户之间提供操作。os可以支持与用户的使用目的和用途相对应的功能和操作。根据主机102的移动性,可以将os划分为通用os和移动os。根据用户的环境,可以将通用os划分为个人os和企业os。
24.存储器系统110可以响应于主机102的请求而操作,以存储主机102的数据。存储器系统110的非限制性示例包括固态驱动器(ssd)、多媒体卡(mmc)、安全数字(sd)卡、通用串行总线(usb)装置、通用闪存(ufs)装置、紧凑式闪存(cf)卡、智能媒体卡(smc)、个人计算机存储卡国际协会(pcmcia)卡和记忆棒。mmc可以包括嵌入式mmc(emmc)、缩小尺寸的mmc(rs-mmc)和/或微型mmc。sd卡可以包括迷你sd卡和微型sd卡。
25.存储器系统110可以通过各种类型的存储装置中的任意一种来实施。这种存储装置的示例包括但不限于:诸如动态随机存取存储器(dram)和静态ram(sram)的易失性存储器装置以及诸如以下的非易失性存储器装置:只读存储器(rom)、掩模rom(mrom)、可编程rom(prom)、可擦除可编程rom(eprom)、电可擦除可编程rom(eeprom)、铁电ram(fram)、相变ram(pram)、磁阻ram(mram)、电阻式ram(rram或reram)和闪速存储器。闪速存储器可以具有三维(3d)堆叠结构。
26.存储器系统110可以具有包括非易失性存储器单元的存储空间。
27.为了将由主机102请求的数据存储在存储空间中,存储器系统110可以执行由主机102使用的文件系统到存储空间的映射。例如,根据文件系统的与数据相关联的地址可以被称为逻辑地址,并且存储空间中的与数据相关联的地址可以被称为物理地址。
28.存储器系统110可以包括可并行操作以提高数据处理性能的多个子系统。在图1的示例中,存储器系统110可以包括第一存储器子系统112、第二存储器子系统114和主机接口(i/f)132。
29.第一存储器子系统112和第二存储器子系统114中的每一个可以存储由主机102使用的数据,并且包括非易失性存储器单元。
30.主机接口132可以支持主机102与第一存储器子系统112和第二存储器子系统114之间的接口连接。
31.主机i/f 132可以被配置为处理主机102的命令和数据,并且可以通过诸如以下的各种接口协议中的一种或多种与主机102通信:通用串行总线(usb)、多媒体卡(mmc)、高速外围组件互连(pci-e或pcie)、小型计算机系统接口(scsi)、串列scsi(sas)、串行高级技术附件(sata)、并行高级技术附件(pata)、增强型小型磁盘接口(esdi)以及电子集成驱动器(ide)。
32.主机接口132可以驱动被称为主机接口层的固件。根据实施例,主机接口132可以被实施为cpu、tpu和硬件加速器中的任意一种。
33.主机接口132可以基于从主机102接收的命令中包括的逻辑地址,将命令分配给第
一存储器子系统112和第二存储器子系统114。例如,主机接口132可以向第一存储器子系统112提供包括奇数逻辑地址的命令,并且向第二存储器子系统114提供包括偶数逻辑地址的命令。
34.换言之,第一存储器子系统112和第二存储器子系统114可以分别基于不同逻辑地址来访问不同的存储空间。因此,第一存储器子系统112和第二存储器子系统114可以将针对不同逻辑地址的映射数据分别存储在内部存储空间中。在下文中,由第一存储器子系统112存储的映射数据被称为第一子映射数据,并且由第二存储器子系统114存储的映射数据被称为第二子映射数据。
35.当通过主机接口132从主机102接收包括逻辑地址的读取命令时,第一存储器子系统112和第二存储器子系统114可以基于第一存储器子系统112和第二存储器子系统114中所存储的第一子映射数据和第二子映射数据来搜索对应于逻辑地址的物理地址,然后通过主机接口132将在搜索中找到的物理地址处存储的数据输出到主机102。
36.如果主机102代替存储器系统110执行物理地址搜索,则可以减少存储器系统110输出与由主机102提供的读取请求相对应的数据所花费的时间。在这种情况下,主机102可以存储主机102可以直接访问以搜索物理地址的映射数据并且将在搜索中找到的物理地址提供给存储器系统110。
37.参照图1,存储器系统110可以将映射数据提供给主机102。
38.当存储器系统110向主机102提供存储器系统110中所存储的所有映射数据时,主机102可能难以在主机102内的存储器中指派存储空间以存储从存储器系统110接收的所有映射数据。因此,存储器系统110可以选择性地向主机102提供一些映射数据,而不是向主机102提供所有映射数据。
39.当针对待读取的逻辑地址的映射数据被存储在主机102中时,主机102可以向存储器系统110提供通过参考映射数据而获得的物理地址。另一方面,当针对待读取的逻辑地址的映射数据未被存储在主机102中时,主机102可以向存储器系统110提供逻辑地址,并且存储器系统110可以参考内部映射数据来访问内部存储空间。
40.由于主机102可直接在主机102中所存储的映射数据中搜索对应于逻辑地址的物理地址,因此当针对待由主机102读取的逻辑地址的映射数据已经存储在主机102中的概率较高时,可以提高存储器系统110的访问性能。因此,存储器系统110可以向主机102提供内部映射数据之中包括预期由主机102频繁读取的逻辑地址的映射数据,以便提高读取操作性能。
41.由于主机102可以直接在主机映射数据中执行针对逻辑地址的物理地址搜索,因此主机映射数据中包括待由主机102读取的逻辑地址的概率越高,存储器系统110的访问性能就越好。因此,为了提高读取操作性能,存储器系统110可以向主机102推荐存储器映射数据之中包括预期由主机102频繁读取的逻辑地址的映射数据。存储器系统110可以响应于主机102的请求向主机102提供映射数据。
42.根据存储器的空间局部性和时间局部性,将来可能会频繁访问最近频繁访问的逻辑地址和相邻的逻辑地址。因此,基于主机102对于每个逻辑地址区域的读取趋势,存储器系统110可以预期待频繁读取的一个或多个逻辑地址。例如,对特定逻辑地址可能被频繁读取的预期可以基于每个逻辑地址区域的读取计数。存储器系统110可以向主机102提供与读
取计数超过阈值的逻辑地址区域相对应的映射数据。
43.当存储器系统110包括多个存储器子系统112和114时,可以将每个逻辑地址区域中包括的逻辑地址分配给多个存储器子系统112和114。也就是说,存储器子系统112和114中的每一个可以仅接收针对相应逻辑地址区域的逻辑地址的读取命令,并且仅存储与相应逻辑地址区域相关联的映射数据。因此,对于存储器子系统112和114中的每一个,难以对每个逻辑地址区域执行读取计数,并且难以向主机102提供针对预期由主机102频繁读取的逻辑地址区域的映射数据。
44.根据实施例,当从主机102接收到读取命令时,主机接口132可以对每个逻辑地址区域执行读取计数,并且根据读取计数结果选择预期被频繁读取的逻辑地址区域。主机接口132可以从多个存储器子系统112和114获得针对所选择的逻辑地址区域的第一子映射数据和第二子映射数据,并且向主机102提供第一子映射数据和第二子映射数据作为针对所选择的逻辑地址区域的映射数据。
45.根据实施例,即使针对单个逻辑地址区域的映射数据被划分并且该映射数据被用于不同的存储器子系统中,主机接口132也可以有效地预测待由主机102频繁读取的单个逻辑地址区域,并且向主机102提供针对该单个逻辑地址区域的所有映射数据。因此,主机102可以直接搜索针对由主机102频繁读取的逻辑地址的物理地址,从而提高存储器系统110的读取操作性能。
46.图2是示意性地示出根据实施例的主机接口132和主机102的操作的示图。
47.在操作s202中,主机接口132可以基于从主机102接收的读取命令来确定针对每个逻辑地址区域已经执行的读取数量,以生成每个逻辑地址区域的读取计数,并且根据读取计数结果确定是否将启用逻辑地址区域。在本文中,通过主机接口132启用逻辑地址区域是指通过向主机102提供针对逻辑地址区域的映射数据,允许主机102直接搜索针对逻辑地址区域的物理地址,并且当主机102向存储器系统110提供读取命令时,允许主机102提供包括物理地址的读取命令。
48.在操作s204中,主机接口132可以向主机102提供针对逻辑地址区域的启用建议,使得主机102启用逻辑地址区域。
49.在操作s206中,主机102可以响应于主机接口132的启用建议而准备接收针对逻辑地址区域的映射数据。例如,主机102可以指派用于存储映射数据的内部存储空间。
50.在操作s208中,主机102可以向主机接口132提供读取缓冲器命令,以从主机接口132获得映射数据。读取缓冲器命令可以用于读取存储器系统110中的缓冲器。
51.在操作s210中,主机接口132可以响应于读取缓冲器命令来准备针对逻辑地址区域的映射数据。例如,主机接口132可以分别从第一存储器子系统112和第二存储器子系统114接收构成映射数据的第一子映射数据和第二子映射数据。
52.在操作s212中,主机接口132可以向主机102提供所准备的映射数据。
53.在操作s214中,主机102可以将映射数据存储在所指派的内部存储空间中。
54.在操作s216中,主机102可以通过使用主机102中所存储的映射数据将包括逻辑地址lba和物理地址pba的读取命令传送到存储器系统110。
55.在操作s218中,存储器系统110可以通过使用读取命令中包括的物理地址pba来执行所请求的操作。
56.图3是示出根据实施例的包括存储器系统110的数据处理系统100的示图。
57.数据处理系统100可以包括主机102和存储器系统110。图3的主机102和存储器系统110可以分别对应于以上参照图1描述的主机102和存储器系统110。
58.存储器系统110可以包括第一存储器装置152和第二存储器装置154以及控制第一存储器装置152和第二存储器装置154的存储器控制器130。
59.存储器控制器130以及第一存储器装置152和第二存储器装置154可以集成到单个半导体装置中。例如,存储器控制器130以及第一存储器装置152和第二存储器装置154可以集成为一个半导体装置以构成固态驱动器(ssd)。当存储器系统110用作ssd时,可提高连接到存储器系统110的主机102的操作速度。在另一实施例中,存储器控制器130以及第一存储器装置152和第二存储器装置154可以集成为一个半导体装置以构成诸如以下的存储卡:个人计算机存储卡国际协会(pcmcia)卡、紧凑式闪存(cf)卡、智能媒体(sm)卡、记忆棒、多媒体卡(mmc)、安全数字(sd)卡或通用闪存(ufs)装置,mmc包括缩小尺寸的mmc(rs-mmc)和微型mmc,sd卡包括迷你sd卡、微型sd卡和sdhc卡。
60.第一存储器装置152和第二存储器装置154中的每一个可以是即使不供应电力也可以保留其中所存储的数据的非易失性存储器装置。第一存储器装置152和第二存储器装置154中的每一个可以通过编程操作来存储从主机102提供的数据,并且通过读取操作将其中所存储的数据提供给主机102。第一存储器装置152和第二存储器装置154中的每一个可以包括多个存储块,多个存储块中的每一个可以包括多个页面,并且多个页面中的每一个可以包括联接到字线的多个存储器单元。在实施例中,第一存储器装置152和第二存储器装置154中的每一个可以是闪速存储器。闪速存储器可以具有三维(3d)堆叠结构。
61.存储器控制器130可以响应于来自主机102的请求来控制第一存储器装置152和第二存储器装置154。例如,存储器控制器130可以将从第一存储器装置152和第二存储器装置154中的一个或两者读取的数据提供给主机102,并且将从主机102提供的数据存储在第一存储器装置152和第二存储器装置154中的一个或两者中。通常,存储器控制器130可以控制第一存储器装置152和第二存储器装置154的读取操作、编程操作和擦除操作。
62.存储器控制器130可以包括主机接口132、主机接口存储器232、第一fcpu(ftl cpu)134和第二fcpu136、第一存储器接口142和第二存储器接口144以及第一子缓冲器234和第二子缓冲器236。
63.参照图1描述的第一存储器子系统112可以包括第一fcpu 134、第一存储器接口(i/f)142、第一子缓冲器234和第一存储器装置152。参照图1描述的第二存储器子系统114可以包括第二fcpu 136、第二存储器接口(i/f)144、第二子缓冲器236和第二存储器装置154。
64.主机接口132对应于参照图1描述的主机接口132。主机接口132可以基于从主机102输入的命令中包括的逻辑地址将命令分配给第一fcpu 134和第二fcpu 136。例如,主机接口132可以向第一fcpu 134提供包括具有作为模运算结果的第一值的逻辑地址的命令,并且向第二fcpu 136提供包括具有作为模运算结果的第二值的逻辑地址的命令。具有作为模运算结果的第一值的逻辑地址可以是奇数逻辑地址,具有作为模运算结果的第二值的逻辑地址可以是偶数逻辑地址。
65.主机接口存储器232可以存储用于驱动主机接口132的数据。下文参照图6a至图6c
描述根据实施例的可存储在主机接口存储器232中的数据。
66.第一fcpu 134和第二fcpu 136可以分别控制第一存储器子系统112和第二存储器子系统114的全部操作。第一fcpu 134和第二fcpu 136中的每一个可以被实施为cpu,并且驱动被称为闪存转换层(ftl)的固件,以便控制第一存储器子系统112和第二存储器子系统114的一般操作。
67.第一fcpu 134和第二fcpu 136中的每一个可以驱动ftl以执行与从主机102接收的命令相对应的前台操作。例如,第一fcpu 134可以响应于包括奇数逻辑地址的命令来控制第一存储器装置152。另外,第二fcpu 136可以响应于包括偶数逻辑地址的命令来控制第二存储器装置154。
68.而且,第一fcpu 134和第二fcpu 136可以分别对第一存储器装置152和第二存储器装置154执行后台操作。后台操作可以包括垃圾收集(gc)操作、损耗均衡(wl)操作、映射清除操作或坏块管理操作。
69.第一存储器接口142可以用作将第一fcpu 134与第一存储器装置152接口连接的存储器接口/存储装置接口,第二存储器接口144可以用作将第二fcpu 136与第二存储器装置154接口连接的存储器接口/存储装置接口。当第一存储器装置152和第二存储器装置154中的每一个是闪速存储器,特别是nand闪速存储器时,第一存储器接口142和第二存储器接口144可以分别在第一fcpu 134和第二fcpu 136的控制下,生成用于第一存储器装置152和第二存储器装置154的控制信号,并且处理待提供给第一存储器装置152和第二存储器装置154的数据。第一存储器接口142和第二存储器接口144可以用作用于分别处理第一fcpu 134与第一存储器装置152之间的命令和数据和第二fcpu 136与第二存储器装置154之间的命令和数据的接口(例如,nand闪存接口)。具体地,第一存储器i/f 142可以支持第一fcpu 134与第一存储器装置152之间的数据传送,第二存储器i/f 144可以支持第二fcpu 136与第二存储器装置154之间的数据传送。
70.第一存储器接口142和第二存储器接口144中的每一个可以通过被称为闪存接口层(fil)的固件来驱动,以便与第一存储器接口142或第二存储器接口144所关联的存储器装置152或154交换数据。
71.第一子缓冲器234可以存储用于驱动第一存储器子系统112的数据,第二子缓冲器236可以存储用于驱动第二存储器子系统114的数据。例如,第一子缓冲器234和第二子缓冲器236可以缓冲数据,直到通过主机接口132接收的数据被分别存储在第一存储器装置152和第二存储器装置154中。进一步地,第一子缓冲器234和第二子缓冲器236可以缓冲数据,以便将从第一存储器装置152和第二存储器装置154输出的数据分别传送到主机102。另外,第一子缓冲器234可以存储用于通过第一fcpu 134将逻辑地址转换为物理地址的第一映射数据,第二子缓冲器236可以存储用于通过第二fcpu 136将逻辑地址转换为物理地址的第二映射数据。
72.主机102可以包括主机处理器104、主机高速缓存106和主机控制器接口108。
73.主机102可以包括主机处理器104和主机高速缓存106,与存储器系统110相比,主机处理器104和主机高速缓存106赋予主机102更高的性能和更大的容量。与存储器系统110不同,主机处理器104和主机高速缓存106具有空间限制,但是主机处理器104和主机高速缓存106的硬件可以根据需要进行升级。因此,为了提高操作效率,存储器系统110可以利用主
机102的资源。
74.根据实施例,主机102的主机高速缓存106的存储空间可以比可分别用于第一fcpu 134和第二fcpu 136的第一子缓冲器234和第二子缓冲器236大多达数千倍。因此,存储器系统110可以向主机高速缓存106提供由第一fcpu 134和第二fcpu 136使用的存储器映射数据,从而允许将主机高速缓存106用作针对由存储器系统110执行的地址转换操作的高速缓存存储器。在这种情况下,基于在主机高速缓存106中高速缓存的主机映射数据,主机102可以将逻辑地址转换为物理地址,然后将该物理地址与请求一起提供给存储器系统110。在该情况下,存储器系统110不需要将逻辑地址转换为物理地址。相反地,存储器系统110仅需要基于所提供的物理地址来访问第一存储器装置152和第二存储器装置154中的一个或另一个。因此,可以减少在使用第一子缓冲器234和第二子缓冲器236时第一fcpu 134和第二fcpu 136上的操作负担,从而提高存储器系统110的操作效率。
75.即使存储器系统110将映射数据提供给主机102,存储器系统110仍可以管理映射数据,例如,执行映射数据的更新、删除和生成。这是因为第一fcpu 134和第二fcpu 136根据第一存储器装置152和第二存储器装置154的操作状态执行诸如垃圾收集和损耗均衡的后台操作,并且确定第一存储器装置152和第二存储器装置154中存储从主机102接收的数据的物理位置,从而第一fcpu 134和第二fcpu 136可以改变数据在第一存储器装置152和第二存储器装置154中的物理地址。
76.主机映射数据可以包括用于标识与逻辑地址相对应的物理地址的l2p映射数据。用于指示逻辑地址和物理地址彼此对应的元数据可以包括用于标识与逻辑地址相对应的物理地址的l2p映射数据和用于标识与物理地址相对应的逻辑地址的p2l映射数据。主机映射数据可以包括l2p映射数据。p2l映射数据可以主要用于存储器系统110的内部操作,并且可以不用于主机102将数据存储在存储器系统110中或从存储器系统110读取与特定逻辑地址相对应的数据的操作。根据实施例,可以不将p2l映射数据从存储器系统110发送到主机102。
77.第一fcpu 134和第二fcpu 136可以将l2p映射数据或p2l映射数据分别存储在第一存储器装置152和第二存储器装置154中,同时管理(即,生成、删除、更新等)l2p映射数据或p2l映射数据。由于主机高速缓存106是易失性存储器,因此当发生诸如向主机102和存储器系统110的电力供应中断的事件时,主机映射数据可能会丢失。因此,第一fcpu 134和第二fcpu 136不仅可以将主机映射数据保持在其最新状态,而且可以将最新的l2p映射数据或p2l映射数据分别存储在第一存储器装置152和第二存储器装置154中。
78.图4示出传送包括逻辑地址和物理地址(lba和pba)的命令的主机102和从主机102接收命令的存储器系统110的特定操作。
79.参照图4,在操作s412中,主机102可以生成包括逻辑地址lba的请求。随后,在操作s414中,主机102可以检查在映射数据中是否存在与逻辑地址lba相对应的物理地址pba。当在映射数据中不存在物理地址pba(即,在操作s414中为“否”)时,在操作s418中,主机102可以传送包括逻辑地址lba的请求。
80.另一方面,当在映射数据中存在物理地址pba(即,在操作s414中为“是”)时,在操作s416中,主机102可以将物理地址pba添加到包括逻辑地址lba的请求。在操作s418中,主机102可以传送包括lba和pba的请求。
81.在操作s422中,存储器系统110可以从外部装置接收请求。例如,主机接口132可以基于主机102的请求中包括的逻辑地址,向第一存储器子系统112和第二存储器子系统114中的任意一个提供请求。
82.在操作s424中,存储器系统110可以检查在所接收的请求中是否包括物理地址pba。当在所接收的请求中不包括物理地址pba(即,在操作s424中为“否”)时,在操作s432中,存储器系统110可以搜索与所接收的请求中包括的逻辑地址相对应的物理地址。
83.当在所接收的请求中包括物理地址pba(即,在操作s424中为“是”)时,在操作s426中,存储器系统110可以检查物理地址pba是否有效。存储器系统110可以将映射数据传送到主机102,并且主机102可以基于由存储器系统110传送的映射数据执行映射操作并传送包括物理地址pba的请求。然而,在存储器系统110将映射数据传送到主机102之后,可能改变或更新由存储器系统110管理的映射数据。这样,当映射数据处于脏状态时,不能原样使用由主机102传送的物理地址pba。因此,存储器系统110可以确定所接收的请求中包括的物理地址pba是否有效。当所接收的请求中包括的物理地址pba有效(即,在操作s426中为“是”)时,在操作s430中,存储器系统110可以通过使用物理地址pba来执行与该请求相对应的操作。
84.当所接收的请求中包括的物理地址pba无效(即,在操作s426中为“否”)时,在操作s428中,存储器系统110可以丢弃所接收的请求中包括的物理地址pba。在这种情况下,在操作s432中,存储器系统110可以基于所接收的请求中包括的逻辑地址lba来搜索物理地址pba。
85.当存储器系统110的映射段中的映射数据被更新时,由主机102存储的映射段中的物理地址会变得无效。当主机102搜索到无效物理地址并且向存储器系统110提供包括无效物理地址的读取命令时,存储器系统110不能使用无效物理地址,因此需要搜索有效物理地址。当由主机102存储的映射段包括多个无效物理地址时,主机102和存储器系统110需要重复搜索有效物理地址,因此物理地址搜索的效率会降低。
86.因此,存储器系统110可以停用过去已经被启用并且映射数据已经被更新的逻辑地址区域。主机接口132对先前启用的逻辑地址区域的停用是指通知主机102不再搜索针对逻辑地址区域的物理地址,并且向存储器系统110提供不包括针对逻辑地址区域的物理地址的读取命令。主机接口132可以向主机102提供停用建议以停用所启用的逻辑地址区域。
87.图5a和图5b是示出根据实施例的存储器映射数据的示图。
88.图5a示出逻辑地址区域。
89.如上文参照图1所示,存储器系统110可以针对包括连续的逻辑地址的每个逻辑地址区域,标识相应逻辑地址区域针对读取操作而被访问的次数以生成读取计数,以便有效地预测主机102将来可能读取的逻辑地址。逻辑地址区域的读取计数可以表示从主机102接收到包括逻辑地址区域内的(多个)逻辑地址的读取命令的次数。每个逻辑地址区域的读取计数可以被称为相应逻辑地址区域的启用计数。
90.图5a所示的第一区域region1至第四区域region4中的每一个表示逻辑地址区域。region1至region4中的每一个可以包括一组连续的逻辑地址。例如,region1可以包括逻辑地址lba1至lba100,并且region2可以包括逻辑地址lba101至lba200。
91.图5a示出第一区域region1的第11子区域sub_region11和第12子区域sub_
region12。sub_region11可以包括region1中包括的逻辑地址之中的奇数逻辑地址。sub_region12可以包括region1中包括的逻辑地址之中的偶数逻辑地址。
92.尽管图5a作为示例描述了一个逻辑地址区域,例如region1,被划分为两个子区域,并且该两个子区域分别包括奇数逻辑地址和偶数逻辑地址。然而,本发明不限于该特定配置。例如,当存储器系统110包括四个存储器子系统时,一个逻辑地址区域可以被划分为四个子区域,并且根据模运算结果,该一个逻辑地址区域中的逻辑地址可以被分配给四个子区域。
93.图5b示出存储器映射数据中包括的映射段。
94.存储器映射数据可以包括多个映射段。图5b所示的第一段segment1至第四段segment4可以分别包括针对第一区域region1至第四区域region4的逻辑地址的映射数据。
95.图5b示出segment1的第11子段sub_segment11和第12子段sub_segment12。sub_segment11可以包括针对sub_region11的逻辑地址的映射数据,并且sub_segment12可以包括针对sub_region12的逻辑地址的映射数据。
96.如图5b所示,以segment2为例,多个映射段中的每一个可以包括第一子段和第二子段,第一子段包括奇数逻辑地址的映射条目的第一映射数据,并且第二子段包括偶数逻辑地址的映射条目的第二映射数据。每个映射条目可以包括逻辑地址-物理地址对。每个映射段的第一子段可以存储在第一子缓冲器234和第一存储器装置152中,并且每个映射段的第二子段可以存储在第二子缓冲器236和第二存储器装置154中。
97.当特定逻辑地址区域的启用计数超过阈值时,主机接口132可以向主机102提供启用建议,并且可以根据主机102的读取缓冲器请求,从第一子缓冲器234和第二子缓冲器236获得均与逻辑地址区域相对应的第一子段和第二子段,并向主机102提供第一子段和第二子段。另外,主机接口132可以向主机102提供停用建议,以便根据第一子段和第二子段中包括的映射数据是否被更新来停用所启用的逻辑地址区域。
98.主机接口存储器232可以存储用于确定是提供启用建议还是提供停用建议的数据。
99.图6a至图6c是示出根据实施例的可存储在主机接口存储器232中的数据的示图。
100.图6a示出可存储在主机接口存储器232中的数据。
101.主机接口存储器232可以存储启用计数表602和启用状态位图604。启用计数表602可以存储每个逻辑地址区域的启用计数。启用状态位图604可以存储是否启用多个逻辑地址区域中的每一个中包括的子逻辑地址区域。
102.图6b示出启用计数表602。
103.每当从主机102接收到包括逻辑地址区域中的逻辑地址的读取命令时,主机接口132就可以更新启用计数表602中的逻辑地址区域的启用计数。参照启用计数表602,主机接口132可以向主机102提供针对具有等于或大于阈值的启用计数的逻辑地址区域的启用建议。
104.图6b示出主机接口132向主机102提供针对第三区域的启用建议的情况,因为第三区域的启用计数等于或大于阈值,在该示例中该阈值可以是32。因为其他区域(例如,第一区域、第二区域或第四区域)中的每一个的启用计数均小于阈值,所以没有针对其他区域中的任意一个做出启用建议。
105.图6c示出启用状态位图604。
106.主机接口132可以根据主机102的读取缓冲器请求,从第一子缓冲器234和第二子缓冲器236中获得与特定逻辑地址区域相对应的第一子段和第二子段,向主机102提供第一子段和第二子段,然后将与逻辑地址区域中包括的第一子逻辑地址区域和第二子逻辑地址区域中的每一个相对应的位值设置为“1”。
107.图6c示出在第三区域被启用之后与第三区域中包括的第一子区域和第二子区域中的每一个相对应的位值被设置为“1”的情况。
108.图7示出根据实施例的数据处理系统100的逻辑地址区域启用操作。
109.在操作s702中,主机接口132可以确定待启用的逻辑地址区域。如参照图6b所描述的,主机接口132可以基于每个逻辑地址区域的启用计数来确定待启用的(多个)逻辑地址区域。在下文中,将每个待启用的逻辑地址区域称为启用目标逻辑地址区域。
110.在操作s704中,主机接口132可以向主机102提供针对启用目标逻辑地址区域的启用建议。
111.在操作s706中,主机102可以响应于启用建议而准备接收目标段,该目标段是与启用目标逻辑地址区域相对应的映射段。例如,主机102可以指派主机高速缓存106来存储目标段。
112.当主机102准备好接收目标段时,在操作s708中,主机102可以向存储器系统110提供读取缓冲器请求。
113.读取缓冲器请求是指由主机102提供的用于读取存储器系统110的缓冲器的请求。主机102可以向存储器系统110提供读取缓冲器请求,以便获得存储器系统110的缓冲器中存储的目标段。目标段可以被划分为第一子目标段和第二子目标段,并且被分别存储在第一子缓冲器234和第二子缓冲器236中。例如,可以将针对逻辑地址区域的奇数逻辑地址的第一子目标段存储在第一子缓冲器234中,并且可以将针对逻辑地址区域的偶数逻辑地址的第二子目标段存储在第二子缓冲器236中。
114.在操作s710中,主机接口132可以向第一fcpu 134提供第一读取缓冲器请求,以便获得第一子目标段。在操作s714中,主机接口132可以向第二fcpu 136提供第二读取缓冲器请求,以便获得第二子目标段。
115.在操作s712中,第一fcpu 134可以响应于操作s710的第一读取缓冲器请求而向主机接口132提供已经被缓冲在第一子缓冲器234中的第一子目标段。第一子缓冲器234可以存储关于第一子目标段是否被启用的信息。
116.在操作s716中,第二fcpu 136可以响应于操作s714的第二读取缓冲器请求而向主机接口132提供已经被缓冲在第二子缓冲器236中的第二子目标段。第二子缓冲器236可以存储关于第二子目标段是否被启用的信息。
117.在操作s718中,主机接口132可以组合第一子目标段和第二子目标段以形成目标段,并且向主机102提供目标段。
118.在操作s720中,主机接口132可以将启用目标逻辑地址区域中包括的第一子区域和第二子区域的启用状态位设置为“1”。主机102可以通过参考从存储器系统110接收的目标段来将逻辑地址转换为物理地址,以便访问启用目标逻辑地址区域,并且向主机接口132提供包括逻辑地址和物理地址的读取命令。
119.图8是示出根据实施例的数据处理系统100的逻辑地址区域停用操作的示图。
120.在操作s802中,第一fcpu 134可以更新第一子段。例如,第一fcpu 134可以响应于针对奇数逻辑地址的写入命令来改变逻辑地址和物理地址之间的映射,并且更新包括逻辑地址的第一子段。
121.在操作s804中,当所更新的第一子段针对所启用的逻辑地址区域时,第一fcpu 134可以提供针对与第一子段相对应的第一子区域的停用信号。参考操作s712,第一子缓冲器234可以存储关于第一子段是否被启用的信息。因此,第一fcpu 134可以确定第一子段是否与所启用的逻辑地址区域有关。
122.在操作s806中,主机接口132可以响应于第一fcpu 134的停用信号而将启用状态位图604中针对第一子区域的位重置为“0”。
123.在操作s808中,第二fcpu 136可以更新第二子段。例如,第二fcpu 136可以响应于针对偶数逻辑地址的写入命令来改变逻辑地址和物理地址之间的映射,并且更新包括逻辑地址的第二子段。
124.在操作s810中,当所更新的第二子段针对所启用的逻辑地址区域时,第二fcpu 136可以提供针对与第二子段相对应的第二子区域的停用信号。参考操作s716,第二子缓冲器236可以存储关于第二子段是否被启用的信息。因此,第二fcpu 136可以确定第二子段是否与所启用的逻辑地址区域有关。
125.在操作s812中,主机接口132可以响应于第二fcpu 136的停用信号而将启用状态位图604中针对第二子区域的位重置为“0”。
126.当针对多个映射段之中的特定启用的逻辑地址区域中包括的第一子区域和第二子区域的所有位都被重置为“0”时,在操作s814、s816和s818中,主机接口132可以停用所启用的逻辑地址区域。
127.在操作s814中,主机接口132可以在启用计数表602中重置所启用的逻辑地址区域的启用计数。
128.在操作s816中,主机接口132可以向主机102提供针对所启用的逻辑地址区域的停用建议。
129.在操作s818中,主机102可以通过从主机高速缓存106中移除与所启用的逻辑地址区域相对应的映射段来停用所启用的逻辑地址区域。
130.根据实施例,存储器系统110可以包括第一存储器子系统112和第二存储器子系统114以及主机接口132。第一存储器子系统112可以存储针对例如奇数逻辑地址的第一逻辑地址的数据,并且第二存储器子系统114可以存储针对例如偶数逻辑地址的第二逻辑地址的数据。主机接口132可以将多个逻辑地址以连续的逻辑地址的组分类到逻辑地址区域中。逻辑地址区域中的每一个可以包括第一逻辑地址和第二逻辑地址,可以将与逻辑地址区域中的每一个相对应的映射段划分为子段,子段中的一些存储在第一存储器子系统112中,并且其余子段存储在第二存储器子系统114中。
131.主机接口132可以基于主机102的读取命令中包括的逻辑地址向第一存储器子系统112和第二存储器子系统114中的任意一个提供读取命令,基于多个逻辑地址区域各自的启用计数来标识多个逻辑地址区域之中的逻辑地址区域,根据启用计数检查的结果从第一存储器子系统112和第二存储器子系统114获得映射段中包括的映射数据,并且向主机102
提供该映射数据。
132.根据实施例,即使当针对一个逻辑地址区域的映射数据被划分并且该映射数据被用于不同的第一存储器子系统112和第二存储器子系统114中时,主机接口132也可以通过向主机102提供单个逻辑地址区域的整个映射段,来允许主机102容易地搜索针对逻辑地址的物理地址。
133.根据实施例,方法和设备通过及时地向主机提供预期由存储器系统频繁参考的映射数据,使存储器系统能够及时地从主机接收包括待读取的数据的物理地址的请求。
134.本公开的优点和效果不限于上述那些优点和效果,从以上详细描述中,本公开所属领域的技术人员将理解的是,也可以获得其他优点和效果。
135.尽管已经在本文中示出和描述了特定的实施例,但是鉴于本公开,对于本领域技术人员将显而易见的是,在不脱离本发明的范围的情况下可以进行各种改变和修改。因此,本发明的范围不限于所描述的实施例。相反地,本发明涵盖落入包括权利要求书的等效方案的权利要求书的范围内的所有这些改变和修改。
再多了解一些

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

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

相关文献