存储装置及其操作方法与流程

文档序号:31571600发布日期:2022-09-20 22:33阅读:84来源:国知局
存储装置及其操作方法与流程
存储装置及其操作方法
1.相关申请的交叉引用
2.本技术要求于2021年3月10日提交的、申请号为10-2021-0031622的韩国专利申请的优先权,该韩国专利申请的全部公开内容通过引用并入本文。
技术领域
3.本公开总体涉及一种电子装置,并且更特别地,涉及一种存储装置及其操作方法。


背景技术:

4.存储装置是在诸如计算机或智能电话的主机装置的控制下存储数据的装置。存储装置可以包括存储数据的存储器装置和控制该存储器装置的存储器控制器。存储器装置被分类为易失性存储器装置和非易失性存储器装置。
5.易失性存储器装置是仅当供电时才存储数据,而当电源中断时所存储的数据消失的存储器装置。易失性存储器装置可以包括静态随机存取存储器(sram)、动态随机存取存储器(dram)等。
6.非易失性存储器装置是即使电源中断时数据也不消失的存储器装置。非易失性存储器装置可以包括只读存储器(rom)、可编程rom(prom)、电可编程rom(eprom)、电可擦rom(eeprom)、闪速存储器等。


技术实现要素:

7.本公开的实施例提供一种存储装置,该存储装置用于将多个缓冲存储器中具有不同属性的数据进行分类,并且有效地管理p2l表。
8.根据本公开的一个方面,提供一种存储装置,该存储装置包括:存储器装置,包括多个存储块;缓冲存储器装置,包括临时存储写入数据的第一缓冲器和第二缓冲器;以及存储器控制器,被配置为控制存储器装置和缓冲存储器装置执行将写入数据存储在存储器装置中的写入操作,其中存储器控制器进一步被配置为:当存储器控制器从主机接收到命令时,根据命令的接收顺序将命令分配给包括与物理地址相对应的映射信息的映射表;控制缓冲存储器装置,使得与第一缓冲器和第二缓冲器中的一个相对应的写入数据被临时存储在第一缓冲器和第二缓冲器中相应的一个中;并且当临时存储在第一缓冲器或第二缓冲器中的写入数据被清除到存储器装置时,通过使用与被清除的写入数据相对应的映射信息来更新映射表。
9.根据本公开的另一方面,提供一种存储装置,该存储装置包括:缓冲存储器装置,该缓冲存储器装置包括映射表,该映射表包括存储器装置的物理地址和逻辑地址的映射信息;以及存储器控制器,被配置为:当存储器控制器从主机接收到命令时,根据命令的接收顺序将命令分配给包括与存储器装置的物理地址相对应的映射信息的映射表;控制缓冲存储器装置,使得与缓冲存储器中包括的第一缓冲器和第二缓冲器中的一个相对应的写入数据被临时存储在第一缓冲器和第二缓冲器中相应的一个中;并且当临时存储在第一缓冲器
或第二缓冲器中的写入数据被清除到存储器装置时,通过使用与被清除的写入数据相对应的映射信息来更新映射表。
附图说明
10.现在将在下文中参照附图更充分地描述本公开的各个实施例;然而,这些实施例可以以不同的形式实现并且不应被解释为限于本文中阐述的实施例。相反,提供这些实施例使得本公开将是彻底且完整的,并且将实施例的范围充分传达给本领域技术人员。
11.在附图中,为了清楚地说明,尺寸可以被夸大。将理解的是,当元件被称为在两个元件“之间”时,它可以是两个元件之间的唯一元件,或者也可以存在一个或多个中间元件。自始至终,相同的附图标记指代相同的元件。
12.图1是示出根据本公开的实施例的存储装置的框图。
13.图2是示出根据本公开的实施例的存储器装置的框图。
14.图3是示出根据本公开的实施例的管芯的示图。
15.图4是示出根据本公开的实施例的存储块的示图。
16.图5是示出根据本公开的实施例的超级块的示图。
17.图6是示出根据本公开的实施例的条带页面的示图。
18.图7是示出根据本公开的实施例的存储器控制器的操作方法的示图。
19.图8是示出根据本公开的实施例的更新映射表的方法的示图。
20.图9是示出根据本公开的实施例的将映射信息插入映射表中的方法的示图。
21.图10是示出根据本公开的实施例的存储器控制器和缓冲存储器装置的示图。
22.图11是示出根据本公开的另一实施例的存储器控制器的示图。
23.图12是示出根据本公开的实施例的存储卡系统的示图。
24.图13是示出根据本公开的实施例的固态驱动器(ssd)的示图。
25.图14是示出根据本公开的实施例的用户系统的示图。
具体实施方式
26.本文中所公开的特定结构或功能描述仅是为了描述根据本公开的概念的实施例而进行的说明。根据本公开的概念的实施例可以以各种形式来实施,并且不应被理解为限于本文中阐述的实施例。
27.本公开可以应用各种变化和不同的形状,因此以具体示例详细说明本公开。然而,这些示例不限于某些形状,而是适用于所有变化和等效材料。为了更好的理解,所包括的附图以放大附图的方式进行说明。在描述实施例时,省略对本领域已知且与本公开不直接相关的技术的描述。这是为了在不造成混乱的情况下进一步阐明本公开的主旨。
28.在下文中,将参照附图详细描述本公开的各个实施例,以便本领域的技术人员能够容易地实施本公开的技术精神。
29.图1是示出根据本公开的实施例的存储装置1000的框图。
30.参照图1,存储装置1000可以包括存储器装置100、存储器控制器200和缓冲存储器装置300。
31.存储装置1000可以是在诸如以下的主机2000的控制下存储数据的装置:移动电
话、智能电话、mp3播放器、膝上型计算机、台式计算机、游戏机、显示装置、平板pc或车载信息娱乐系统。
32.根据作为与主机2000的通信方案的主机接口,存储装置1000可以被制造为各种类型的存储装置中的任意一种。例如,存储装置1000可以利用诸如以下各种类型的存储装置中的任意一种来实施:固态驱动器(ssd)、多媒体卡(mmc)、嵌入式mmc(emmc)、缩小尺寸的mmc(rs-mmc)、微型mmc(micro-mmc)、安全数字(sd)卡、迷你sd卡、微型sd卡、通用串行总线(usb)存储装置、通用闪存(ufs)装置、紧凑型闪存(cf)卡、智能媒体卡(smc)、记忆棒等。
33.存储装置1000可以被实施为各种类型的封装类型中的任意一种。例如,存储装置1000可以被实施为诸如以下的各种类型的封装类型中的任意一种:堆叠封装(pop)、系统级封装(sip)、片上系统(soc)、多芯片封装(mcp)、板上芯片(cob)、晶圆级制造封装(wfp)和晶圆级堆叠封装(wsp)。
34.存储器装置100可以存储数据或使用存储的数据。存储器装置100在存储器控制器200的控制下操作。而且,存储器装置100可以包括多个存储器管芯,并且多个存储器管芯中的每一个可以包括存储器单元阵列,该存储器单元阵列包括用于存储数据的多个存储器单元。
35.存储器单元中的每一个可以被配置为存储一个数据位的单层单元(slc)、存储两个数据位的多层单元(mlc)、存储三个数据位的三层单元(tlc)或存储四个数据位的四层单元(qlc)。
36.存储器单元阵列可以包括多个存储块。每个存储块可以包括多个存储器单元,并且一个存储块可以包括多个页面。页面可以是将数据存储在存储器装置100中或者读取存储器装置100中存储的数据的单位。
37.存储器装置100可以被实施为双倍数据速率同步动态随机存取存储器(ddr sdram)、第四代低功耗双倍数据速率(lpddr4)sdram、图形双倍数据速率(gddr)sram、低功率ddr(lpddr)、rambus动态随机存取存储器(rdram)、nand闪速存储器、垂直nand闪速存储器、nor闪速存储器、电阻式随机存取存储器(rram)、相变随机存取存储器(pram)、磁阻随机存取存储器(mram)、铁电随机存取存储器(fram)、自旋转移力矩随机存取存储器(stt-ram)等。在本说明书中,为了方便描述,描述存储器装置100是nand闪速存储器的情况。
38.存储器装置100可以从存储器控制器200接收命令和地址。存储器装置100可以访问存储器单元阵列中由接收的地址选择的区域。存储器装置100访问所选择区域可以表示存储器装置100对所选择区域执行与接收的命令相对应的操作。例如,存储器装置100可以执行写入操作(编程操作)、读取操作和擦除操作。编程操作可以是存储器装置100将数据记录在由地址选择的区域中的操作。读取操作可以表示存储器装置100从由地址选择的区域读取数据的操作。擦除操作可以表示存储器装置100擦除由地址选择的区域中存储的数据的操作。
39.根据本公开的实施例,存储器装置100可以在存储器控制器200的控制下执行移动所存储的数据的迁移操作。具体地,存储器装置100可以在存储器控制器200的控制下选择存储器装置100中的牺牲块,并且执行将与所选择牺牲块相对应的数据移动到开放块的操作。也就是说,存储器装置100可以在存储器控制器200的控制下执行作为后台操作的迁移操作,而不考虑主机2000的任何请求。因此,可以确保存储的数据的性能,并且可以保证待
存储的空间。
40.存储器控制器200可以控制存储装置1000的全部操作。
41.当向存储装置1000供电时,存储器控制器200可以运行固件(fw)。fw可以包括接收从主机2000输入的请求或将响应输出到主机2000的主机接口层(hil)、管理主机2000的接口与存储器装置100的接口之间的操作的闪存转换层(ftl)以及向存储器装置100提供命令或从存储器装置100接收响应的闪存接口层(fil)。
42.存储器控制器200可以从主机2000接收数据和逻辑地址(la),并且将la转换为物理地址(pa),物理地址(pa)表示待存储存储器装置100中包括的数据的存储器单元的地址。la可以是逻辑块地址(lba),并且pa可以是物理块地址(pba)。
43.存储器控制器200可以响应于来自主机2000的请求而控制存储器装置100执行编程操作、读取操作、擦除操作等。在编程操作中,存储器控制器200可以向存储器装置100提供编程命令、pba和数据。在读取操作中,存储器控制器200可以向存储器装置100提供读取命令和pba。在擦除操作中,存储器控制器200可以向存储器装置100提供擦除命令和pba。
44.存储器控制器200可以控制存储器装置100自主地执行编程操作、读取操作或擦除操作,而不考虑来自主机2000的任何请求。例如,存储器控制器200可以控制存储器装置100执行用于执行诸如损耗均衡、垃圾收集或读取回收的后台操作的编程操作、读取操作或擦除操作。
45.根据本公开的实施例,存储器控制器200可以控制存储器装置100自主地执行迁移操作,而不考虑来自主机2000的任何请求。迁移操作可以配置有读取操作和编程操作。具体地,存储器控制器200可以控制存储器装置100读取特定存储块中存储的数据而不考虑来自主机2000的任何请求,并且控制存储器装置100将读取的数据移动到开放块。
46.主机2000可以使用诸如以下的各种通信标准或接口中的至少一种与存储装置1000通信:通用串行总线(usb)、串行at附件(sata)、串列scsi(sas)、高速芯片间(hsic)、小型计算机系统接口(scsi)、火线、外围组件互连(pci)、高速pci(pcie)、高速非易失性存储器(nvme)、通用闪存(ufs)、安全数字(sd)、多媒体卡(mmc)、嵌入式mmc(emmc)、双列直插式存储器模块(dimm)、寄存式dimm(rdimm)以及低负载dimm(lrdimm)。
47.图2是示出根据本公开的实施例的存储器装置100的框图。
48.参照图2,存储器装置100可以包括多个通道ch0至chk以及连接到多个通道ch0至chk的多个管芯d1至dkn。另外,存储器控制器2000可以通过使用多个通道ch0至chk连接到存储器装置100。具体地,存储器控制器200可以连接到多个通道ch0至chk,并且连接到多个管芯d1至dn,多个管芯d1至dn连接到第零通道ch0。也就是说,存储器控制器200可以通过使用第零通道ch0与多个管芯d1至dn通信。
49.存储器控制器200可以控制多个管芯d1至dn彼此独立地操作。例如,连接到第零通道ch0的第一管芯d1和连接到第k通道chk的第一管芯dk1不具有用于执行内部操作的公共电路或结构。因此,存储器控制器200可以控制存储器装置100,使得连接到第零通道ch0的第一管芯d1和连接到第k通道chk的第一管芯dk1彼此独立地操作。而且,存储器控制器200还可以控制存储器装置100,使得连接到不同通道(例如,第零通道ch0和第k通道chk)的多个管芯d1至dkn同时操作。
50.图3是示出根据本公开的实施例的管芯的示图。图2中所示的多个管芯d1至dkn可
以被配置为彼此相同,因此,作为示例将描述多个管芯d1至dkn之中连接到第零通道的第一管芯d1。
51.参照图3,第一管芯d1可以包括存储器单元阵列110、外围电路120和控制逻辑130。
52.存储器单元阵列110包括多个存储块blk1至blkz。多个存储块blk1至blkz通过行线rl连接到行解码器121。行线rl可以包括至少一条源极选择线、多条字线和至少一条漏极选择线。多个存储块blk1至blkz通过位线bl1至bln连接到页面缓冲器组123。多个存储块blk1至blkz中的每一个包括多个存储器单元。在实施例中,多个存储器单元可以是非易失性存储器单元。连接到同一字线的存储器单元可以被定义为一个页面。因此,一个存储块可以包括多个页面。
53.存储器单元阵列110中包括的存储器单元中的每一个可以被配置为存储一个数据位的单层单元(slc)、存储两个数据位的多层单元(mlc)、存储三个数据位的三层单元(tlc)或存储四个数据位的四层单元(qlc)。
54.外围电路120可以被配置为在控制逻辑130的控制下对存储器单元阵列110的所选择区域执行编程操作、读取操作或擦除操作。也就是说,外围电路120可以在控制逻辑130的控制下驱动存储器单元阵列110。例如,外围电路120可以在控制逻辑130的控制下向行线rl和位线bl1至bln施加各种操作电压或释放施加的电压。
55.具体地,外围电路120可以包括行解码器121、电压生成器122、页面缓冲器组123、列解码器124、输入/输出电路125以及感测电路126。
56.行解码器121可以通过行线rl连接到存储器单元阵列110。行线rl可以包括至少一条源极选择线、多条字线和至少一条漏极选择线。在实施例中,字线可以包括普通字线和虚设字线。在实施例中,行线rl可以进一步包括管道选择线。
57.行解码器121可以在控制逻辑130的控制下操作。行解码器121可以从控制逻辑130接收行地址radd。具体地,行解码器121可以对行地址radd进行解码。行解码器121可以根据经解码的地址在存储块blk1至blkz之中选择至少一个存储块。而且,行解码器121可以根据经解码的地址选择所选择存储块的至少一条字线以将电压生成器122生成的电压施加到至少一条字线wl。
58.例如,在编程操作中,行解码器121可以将编程电压施加到所选择字线并且将具有比编程电压的电平更低的电平的编程通过电压施加到未选择字线。在编程验证操作中,行解码器121可以将验证电压施加到所选择字线并且将高于验证电压的验证通过电压施加到未选择字线。在读取操作中,行解码器121可以将读取电压施加到所选择字线并且将高于读取电压的读取通过电压施加到未选择字线。
59.在实施例中,可以以存储块为单位执行对存储器装置100的擦除操作。在擦除操作期间,行解码器121可以根据经解码的地址来选择一个存储块。在擦除操作中,行解码器121可以将接地电压施加到连接到所选择存储块的字线。
60.电压生成器122可以在控制逻辑130的控制下操作。具体地,电压生成器122可以在控制逻辑130的控制下通过使用供应到存储器装置100的外部电源电压来生成多个电压。例如,电压生成器122可以在控制逻辑130的控制下生成编程电压、验证电压、通过电压、读取电压、擦除电压等。也就是说,电压生成器122可以响应于操作信号opsig而生成在编程操作、读取操作和擦除操作中使用的各种操作电压vop。
61.在实施例中,电压生成器122可以通过调节外部电源电压来生成内部电源电压。由电压生成器122生成的内部电源电压可以用作存储器单元阵列110的操作电压。
62.在实施例中,电压生成器122可以通过使用外部电源电压或内部电源电压来生成多个电压。例如,电压生成器122可以包括用于接收内部电源电压的多个泵浦电容器,并且在控制逻辑130的控制下通过选择性地激活多个泵浦电容器来生成多个电压。另外,多个生成的电压可以通过行解码器121被供应到存储器单元阵列110。
63.页面缓冲器组123可以包括第一页面缓冲器pb1至第n页面缓冲器pbn。第一页面缓冲器pb1至第n页面缓冲器pbn可以分别通过第一位线bl1至第n位线bln连接到存储器单元阵列110。而且,第一位线bl1至第n位线bln可以在控制逻辑130的控制下操作。具体地,第一位线bl1至第n位线bln可以响应于页面缓冲器控制信号pbsignals而操作。例如,第一页面缓冲器pb1至第n页面缓冲器pbn可以临时存储通过第一位线bl1至第n位线bln接收的数据,或者在读取操作或验证操作中感测位线bl1至bln的电压或电流。
64.具体地,在编程操作期间,当向所选择字线施加编程电压时,第一页面缓冲器pb1至第n页面缓冲器pbn可以通过第一位线bl1至第n位线bln将通过输入/输出电路125接收的数据data传送到所选择存储器单元。所选择页面的存储器单元可以根据传送的数据data来编程。连接到施加了编程允许电压(例如,接地电压)的位线的存储器单元可以具有增加的阈值电压。连接到施加了编程禁止电压(例如,电源电压)的位线的存储器单元的阈值电压可以保持不变。
65.在编程验证操作中,第一页面缓冲器pb1至第n页面缓冲器pbn可以通过第一位线bl1至第n位线bln从所选择存储器单元中读取页面数据。
66.在读取操作中,第一页面缓冲器pb1至第n页面缓冲器pbn可以通过第一位线bl1至第n位线bln从所选择页面的存储器单元读取数据data,并且在列解码器124的控制下将读取的数据data输出到输入/输出电路125。
67.在擦除操作中,第一页面缓冲器pb1至第n页面缓冲器pbn可以使第一位线bl1至第n位线bln浮置。
68.列解码器124可以响应于列地址cadd,在输入/输出电路125与页面缓冲器组123之间进行数据通信。例如,列解码器124可以通过数据线dl与第一页面缓冲器pb1至第n页面缓冲器pbn进行数据通信,或者通过列线cl与输入/输出电路125进行数据通信。
69.输入/输出电路125可以将从存储器控制器200接收的命令cmd和地址addr传送到控制逻辑130,或者与列解码器124交换数据data。
70.在读取操作或验证操作中,感测电路126可以响应于允许位vrybit信号而生成参考电流,并且通过将从页面缓冲器组123接收的感测电压vpb和参考电流生成的参考电压进行比较来输出通过信号pass或失败信号fail。
71.控制逻辑130可以响应于命令cmd和地址addr而通过输出操作信号opsig、行地址radd、页面缓冲器控制信号pbsignals和允许位vrybit来控制外围电路120。
72.而且,控制逻辑130可以响应于通过信号pass或失败信号fail来确定验证操作是通过还是失败。控制逻辑130可以控制页面缓冲器组123将包括通过信号pass或失败信号fail的验证信息临时存储在页面缓冲器组123中。具体地,控制逻辑130可以响应于通过信号pass或失败信号fail来确定存储器单元的编程状态。例如,当存储器单元作为三层单元
(tlc)操作时,控制逻辑130可以确定存储器单元的编程状态是擦除状态e还是第一编程状态p1至第七编程状态p7中的一个。
73.图4是示出根据本公开的实施例的存储块blki的示图。
74.参照图4,在存储块blki中,相互平行布置的多条字线可以连接在第一选择线与第二选择线之间。第一选择线可以是源极选择线ssl,第二选择线可以是漏极选择线dsl。更具体地,存储块blki可以包括连接在位线bl1至bln与源极线sl之间的多个串st。位线bl1至bln可以分别连接到串st,并且源极线sl通常可以连接到串st。串st可以被配置为彼此相同,因此,作为示例将详细描述连接到第一位线bl1的串。
75.串st可以包括相互串联连接在源极线sl与第一位线bl1之间的源极选择晶体管sst、多个存储器单元f1至f16以及漏极选择晶体管dst。一个串st中可以包括至少一个源极选择晶体管sst和至少一个漏极选择晶体管dst,并且一个串st中可以包括数量大于图中所示的存储器单元f1至f16的数量的存储器单元。
76.源极选择晶体管sst的源极可以连接到源极线sl,漏极选择晶体管dst的漏极可以连接到第一位线bl1。存储器单元f1至f16可以串联连接在源极选择晶体管sst和漏极选择晶体管dst之间。不同串st中包括的源极选择晶体管sst的栅极可以连接到源极选择线ssl,不同串st中包括的漏极选择晶体管dst的栅极可以连接到漏极选择线dsl。存储器单元f1至f16的栅极可以连接到多条字线wl1至wl16。不同串st中包括的存储器单元之中连接到同一字线的一组存储器单元可以被称为物理页面ppg。因此,存储块blki中可以包括与字线wl1至wl16的数量相对应的物理页面ppg。
77.存储器单元中的每一个可以被配置为存储一个数据位的单层单元(slc)、存储两个数据位的多层单元(mlc)、存储三个数据位的三层单元(tlc)或存储四个数据位的四层单元(qlc)。
78.slc可以存储一位数据。slc的一个物理页面pg可以存储一个逻辑页面(lpg)数据。一个lpg数据可以包括数量对应于一个物理页pg中包括的单元的数量的数据位。
79.mlc、tlc和qlc可以存储两位或更多位的数据。一个物理页面pg可以存储两个或多个lpg数据。
80.图5是示出根据本公开的实施例的超级块的示图。
81.参照图5,存储器装置100可以包括第一管芯d1至第四管芯d4,并且每个管芯可以包括多个平面,每个平面包括多个存储块blk1到blkz。尽管在图5中示出存储器装置100包括四个管芯d1至d4并且每个管芯包括四个平面p1至p4的情况,但这仅仅是实施例。显然,在实施中,存储器装置100可以包括数量大于图5所示数量的管芯或平面或者包括数量小于图5所示数量的管芯或平面。
82.可以将多个存储块分组为超级块sblk。超级块sblk可以是一组同时或在同一时间段执行读取操作、写入操作等的存储块blk。超级块sblk可以是以关联或相关方式执行读取操作、写入操作等的一组存储块blk。可选地,超级块sblk可以是针对一个命令执行读取操作、写入操作等的一组存储块blk,或者在存储器装置100中同时或以关联方式执行读取操作、写入操作等的一组存储块blk。另外,多个存储块blk之中从操作的角度区别于彼此的一组存储块blk可以被称为超级块sblk。
83.在实施例中,超级块sblk的大小可以彼此不同。另外,各个超级块sblk中包括的存
储块blk的数量可以彼此不同。另外,超级块sblk中包括的多个存储块可以全部位于一个管芯中。可选地,超级块sblk中包括的两个或更多个存储块blk可以位于两个或更多个不同的管芯中。
84.例如,超级块sblk可以包括具有不同大小的超级块sblk。具体地,第一超级块sblka可以包括第一管芯d1至第四管芯d4中包括的存储块,第二超级块sblkb可以包括第四管芯d4中包括的存储块。第一超级块sblka和第二超级块sblkb可以具有不同的大小,并且第一超级块sblka和第二超级块sblkb中各自包括的存储块的数量可以彼此不同。
85.另外,超级块sblk中包括的多个存储块中的每一个可以包括多个页面pg。多个页面pg可以根据行顺序构成多个页面行。超级块sblk内的一个页面行可以配置有超级块sblk的多个存储块内的相同行的若干页面。
86.图6是示出根据本公开的实施例的条带页面的示图。
87.参照图6,第一超级块sblka可以包括第一管芯d1至第四管芯d4中包括的多个页面组page group。页面组page group可以是在一个管芯中具有相同页面行的一组页面。例如,第一页面组可以是通过将一个管芯中具有第一页面行的页面分组而获得的页面组。另外,多个页面组page group可以构成条带页面stpg。也就是说,条带页面stpg可以包括作为在多个管芯中按照相同行顺序设置的页面pg的集合的若干页面组。例如,条带页面stpg可以包括作为在第一管芯d1至第四管芯d4中按照相同行顺序设置的页面pg的集合的若干页面组。也就是说,在图6中,页面组page group可以根据第一管芯d1至第四管芯d4中的每一个中包括的四个平面p1至p4中包括的多个页面的行顺序来设置。
88.另外,可以根据存储方法(例如,slc、mlc、tlc等)来改变条带页面stpg中包括的页面行的数量。根据实施例,在三层单元(tlc)的情况下,条带页面stpg可以包括三个页面行。
89.图7是示出根据本公开的实施例的存储器控制器200的操作方法的示图。
90.参照图7,存储器控制器200可以对从主机2000接收的命令进行分类。具体地,存储器控制器200可以根据命令的属性对从主机200接收的命令进行分类,并且控制缓冲存储器装置300,使得与命令相对应的数据存储在缓冲存储器装置300中。命令的属性可以包括与正常存储写入数据的属性相对应的正常属性以及与优先存储或高速存储写入数据的属性相对应的写入提升属性。可选地,命令的属性可以是指根据主机2000的请求以另一种形式输入的命令。例如,如果需要,主机2000可以输入通过改变与正常属性相对应的命令的形式而获得的命令。
91.在实施例中,存储器控制器200可以根据命令的属性将从主机2000接收的命令分类为“0”或“1”。而且,存储器控制器200可以控制缓冲存储器装置300,使得命令的属性对应于“0”的写入数据71存储在第一缓冲存储器中,而命令的属性对应于“1”的写入数据72存储在第二缓冲存储器中。
92.当从主机2000接收到命令时,存储器控制器200可以根据命令的接收顺序向命令赋予序号70。序号可以表示输入到存储器控制器200的命令的顺序并且可以用于将旧数据和新数据彼此区分开。在图7中,与从主机2000接收的命令相对应的序号被赋予从“0”到“9”的数字。序号为“0”的命令可以是比序号为“9”的命令先输入的命令。
93.图8是示出根据本公开的实施例的更新映射表的方法的示图。
94.参照图8,示出存储器控制器200更新映射表80的方法。存储器控制器200可以根据
从主机2000接收命令的顺序将命令分配给映射表80。存储器控制器200可以将序号为“0”的命令分配到映射表80的上端,将序号为“1”的命令分配到映射表80的下端。
95.当存储器控制器200从主机2000接收到命令和与该命令相对应的逻辑地址时,存储器控制器200可以将接收到的逻辑地址转换为物理地址。而且,存储器控制器200可以更新映射表80中对应于命令的物理地址和逻辑地址的映射信息。映射表80可以是物理到逻辑地址(p2l)映射表,该物理到逻辑地址(p2l)映射表包括关于根据物理地址的顺序的相应逻辑地址的信息。
96.当缓冲存储器装置300中存储的写入数据被清除到存储器装置100时,存储器控制器200可以通过使用与被清除的写入数据相对应的映射信息来更新映射表80。例如,当清除存储命令的属性对应于“0”的写入数据的第一缓冲存储器时,存储器控制器200可以在映射表80中更新与序号为“0”、“3”、“4”、“6”、“7”和“8”的命令的物理地址相对应的逻辑地址。存储与属性为“1”的命令相对应的写入数据的第二缓冲存储器可以处于第二缓冲存储器未被清除的状态。也就是说,序号为“1”、“2”、“5”和“9”的命令仅被分配给映射表80,并且序号为“1”、“2”、“5”和“9”的命令对应的逻辑地址可能还没有更新。根据本公开的实施例,当包括多个缓冲存储器时,可以通过使用映射表来有效地确定新数据和旧数据。
97.图9是示出根据本公开的实施例的将映射信息插入映射表中的方法的示图。
98.参照图9,示出在多个缓冲存储器中的至少一个缓冲存储器未被清除的状态下执行垃圾收集操作的情况。如图8中所述,当缓冲存储器中的任意一个被清除时,可以更新映射表。在另一个实施例中,可以根据预定周期来更新映射表。另外,可以执行迁移操作,在迁移操作中在写入数据临时存储在缓冲存储器中的状态下在存储器装置100内移动数据。例如,迁移操作可以包括垃圾收集操作和损耗均衡操作。存储器控制器200可以控制存储器装置100执行迁移操作而不考虑来自主机200的请求。存储器控制器200可以将与迁移操作相对应的逻辑地址映射到对应于被清除的写入数据的物理地址的后续物理地址。具体地,第一状态91中的“已分配”是命令被分配给映射表的状态,并且可以是关于映射信息的信息或关于逻辑地址的信息没有被更新的状态。而且,存储器控制器200可以更新映射表,使得与迁移操作相对应的逻辑地址存储在与最新更新的逻辑地址相对应的物理地址之后。当与迁移操作相对应的物理地址处存在已分配的命令时,存储器控制器200可以将已分配的命令重新分配到与迁移操作相对应的物理地址的后续物理地址。
99.图10是示出根据本公开的实施例的存储器控制器和缓冲存储器装置的示图。
100.参照图10,示出包括协议处理器210、缓冲存储器控制器220和映射表管理器230的存储器控制器200以及包括第一缓冲器310、第二缓冲器320和映射表330的缓冲存储器装置300。
101.当协议处理器210从主机2000接收到命令时,协议处理器210可以根据命令的接收顺序给命令赋予序号,并且根据命令的属性将命令分类为与第一缓冲器310和第二缓冲器320中的一个相对应的命令。命令的属性可以包括与正常存储写入数据的属性相对应的正常属性以及与优先存储或高速存储写入数据的属性相对应的写入提升属性。可选地,命令的属性可以是指根据主机2000的请求以另一种形式输入的命令。例如,如果需要,主机2000可以输入通过改变与正常属性相对应的命令的形式而获得的命令。
102.缓冲存储器控制器220可以控制缓冲存储器装置300将缓冲存储器装置300中存储
的写入数据清除到存储器装置100。具体地,当第一缓冲器310和第二缓冲器320中的任意一个被完全装满时,缓冲存储器控制器220可以控制缓冲存储器装置300将临时存储在完全装满的缓冲器中的写入数据清除到存储器装置100。而且,当逻辑地址被映射到映射表中包括的所有物理地址时,缓冲存储器控制器220可以控制缓冲存储器装置300将缓冲存储器装置300中存储的所有写入数据清除到存储器装置100。当逻辑地址被映射到所有物理地址时,可能意味着任何待分配的物理地址不再存在于加载到缓冲存储器装置300的映射表330中。
103.在实施例中,当从主机2000输入与大小大于缓冲存储器装置300的剩余容量的写入数据相对应的命令时,缓冲存储器控制器220可以控制缓冲存储器装置300将缓冲存储器装置300中存储的所有写入数据清除到存储器装置100。
104.映射表管理器230可以控制缓冲存储器装置300读取针对多个存储块之中的至少一个开放块的映射表。具体地,映射表管理器230可以控制缓冲存储器装置300从存储器装置100读取或者加载针对存储器装置100中包括的多个存储块之中未完全存储数据的开放块的映射表。映射表管理器230可以控制缓冲存储器装置300基于包括与物理地址相对应的逻辑地址的映射信息来更新映射表。
105.而且,当执行将第一块中存储的数据移动到第二块的迁移操作时,映射表管理器230可以将与迁移操作相对应的逻辑地址映射到与被清除的写入数据相对应的物理地址的后续物理地址。
106.而且,当后续物理地址存在已分配的命令时,映射表管理器230可以将已分配的命令重新分配到后续物理地址之后的物理地址。
107.另外,映射表330可以包括表示命令被分配给物理地址的标志。当映射表330中分配了至少一个命令时,映射表管理器230可以控制缓冲存储器装置300设置与被分配的至少一个命令相对应的标志。
108.在实施例中,每当清除缓冲存储器中的任意一个时,映射表管理器230就可以控制缓冲存储器300和存储器装置100更新映射表。在另一实施例中,映射表管理器230可以控制缓冲存储器300和存储器装置100根据预定周期更新映射表。
109.图11是示出根据本公开的另一实施例的存储器控制器1300的示图。
110.参照图11,存储器控制器1300可以包括处理器1310、ram 1320、ecc电路1330、rom 1360、主机接口1370和存储器接口1380。图11所示的存储器控制器1300可以是图1所示的存储器控制器200的实施例。
111.处理器1310可以通过使用主机接口1370与主机2000通信,并且执行逻辑运算以控制存储器控制器1300的操作。例如,处理器1310可以基于从主机2000或外部装置接收的请求来加载程序命令、数据文件、数据结构等,并且执行各种操作或生成命令和地址。例如,处理器1310可以生成编程操作、读取操作、擦除操作、挂起操作和参数设置操作所需的各种命令。
112.处理器1310可以执行闪存转换层(ftl)的功能。处理器250可以通过ftl将主机提供的逻辑块地址(lba)转换为物理块地址(pba)。ftl可以接收通过使用映射表而输入的lba,以将lba转换为pba。根据映射单位,存在ftl的多种地址映射方法。代表性的地址映射方法包括页面映射方法、块映射方法和混合映射方法。
113.处理器1310可以在没有来自主机2000的任何请求的情况下生成命令。例如,处理
器1310可以生成用于后台操作,例如用于存储器装置100的损耗均衡的操作和用于存储器装置100的垃圾收集的操作的命令。
114.ram 1320可以用作处理器1310的缓冲存储器、工作存储器或高速缓存存储器。ram 1320可以存储处理器1310运行的代码和命令。ram 1320可以存储由处理器1310处理的数据。而且,ram 1320可以通过包括静态ram(sram)或动态ram(dram)来实施。
115.ecc电路1330可以检测编程操作或读取操作中的错误,并且校正检测到的错误。具体地,ecc电路1330可以根据错误校正码(ecc)执行错误校正操作。ecc电路1330可以基于待写入到存储器装置100的数据来执行ecc编码。执行ecc编码的数据可以通过存储器接口1380被传送到存储器装置100。ecc电路1330可以对通过存储器接口1380从存储器装置100接收的数据执行ecc解码。
116.rom 1360可以用作用于存储存储器控制器1300的操作所需的各种信息的存储单元。具体地,rom 1360可以包括映射表,并且物理到逻辑地址信息和逻辑到物理地址信息可以存储在映射表中。而且,rom 1360可以由处理器1310控制。
117.主机接口1370可以包括用于在主机2000与存储器控制器1300之间交换数据的协议。具体地,主机接口1370通过诸如以下各种通信标准或接口中的至少一种与主机2000通信:通用串行总线(usb)协议、多媒体卡(mmc)协议、外围组件互连(pci)协议、高速pci(pci-e或pcie)协议、高级技术附件(ata)协议、串行ata协议、并行ata协议、小型计算机系统接口(scsi)协议、增强型小型磁盘接口(esdi)协议、电子集成驱动器(ide)协议和私有协议。
118.存储器接口1380可以在处理器1310的控制下通过使用通信协议与存储器装置100通信。具体地,存储器接口1380可以通过信道与存储器装置进行命令、地址和数据通信。例如,存储器接口1380可以包括nand接口。
119.图12是示出根据本公开的实施例的存储卡系统3000的示图。
120.参照图12,存储卡系统3000包括存储器控制器3100、存储器装置3200和连接器3300。
121.存储器控制器3100可以连接到存储器装置3200。存储器控制器3100可以访问存储器装置3200。例如,存储器控制器3100可以控制对存储器装置3200的读取操作、写入操作、擦除操作和后台操作。存储器控制器3100可以提供存储器装置3200与主机之间的接口。而且,存储器控制器3100可以驱动用于控制存储器装置3200的固件。
122.例如,存储器控制器3100可以包括诸如随机存取存储器(ram)、处理单元、主机接口、存储器接口和错误校正器的组件。
123.存储器控制器3100可以通过连接器3300与外部装置通信。存储器控制器3100可以根据特定通信协议与外部装置(例如,主机)通信。存储器控制器3100可以通过诸如以下的各种通信标准或接口中的至少一种与外部装置通信:通用串行总线(usb)、多媒体卡(mmc)、嵌入式mmc(emmc)、外围组件互连(pci)、高速pci(pcie)、高级技术附件(ata)、串行ata(sata)、并行ata(pata)、小型计算机系统接口(scsi)、增强型小型磁盘接口(esdi)、电子集成驱动器(ide)、火线、通用闪存(ufs)、wi-fi、蓝牙和nvme。
124.存储器装置3200可以利用诸如以下的各种非易失性存储器装置来实施:电可擦除可编程rom(eeprom)、nand闪速存储器、nor闪速存储器、相变ram(pram)、电阻式ram(reram)、铁电ram(fram)以及自旋转移力矩磁性ram(stt-mram)。
125.存储器控制器3100和存储器装置3200可以集成到单个半导体装置中来构成存储卡。例如,存储器控制器3100和存储器装置3200可以构成诸如以下的存储卡:pc卡(个人计算机存储卡国际协会(pcmcia))、紧凑型闪存卡(cf)、智能媒体卡(例如,sm和smc)、记忆棒、多媒体卡(例如,mmc、rs-mmc、微型mmc和emmc)、安全数字(sd)卡(例如,sd、迷你sd、微型sd和sdhc)和通用闪存(ufs)。
126.图13是示出根据本公开的实施例的固态驱动器(ssd)4000的示图。
127.参照图13,ssd系统4000包括主机4100和ssd 4200。ssd 4200通过信号连接器4001与主机4100交换信号sig,并且通过电源连接器4002接收电力pwr。ssd 4200包括ssd控制器4210、多个闪速存储器4221至422n、辅助电源4230和缓冲存储器4240。
128.在实施例中,ssd控制器4210可以用作参照图1描述的存储器控制器200。ssd控制器4210可以响应于从主机4100接收的信号sig来控制多个闪速存储器4221至422n。信号sig可以是基于主机4100和ssd 4200之间的接口的信号。例如,信号sig可以是由诸如以下的通信标准或接口中的至少一种定义的信号:通用串行总线(usb)、多媒体卡(mmc)、嵌入式mmc(emmc)、外围组件互连(pci)、高速pci(pcie)、高级技术附件(ata)、串行ata(sata)、并行ata(pata)、小型计算机系统接口(scsi)、增强型小型磁盘接口(esdi)、电子集成驱动器(ide)、火线、通用闪存(ufs)、wi-fi、蓝牙和nvme。
129.辅助电源4230可以通过电源连接器4002连接到主机4100。辅助电源4230可以接收从主机4100输入的电力pwr并且用该电力pwr充电。当来自主机4100的电力供应不平稳时,辅助电源4230可以向ssd 4200提供电力。辅助电源4230可以位于ssd 4200中,或位于ssd 4200外部。例如,辅助电源4230可以位于主板上并且向ssd 4200提供辅助电力。
130.缓冲存储器4240可以作为ssd 4200的缓冲存储器操作。例如,缓冲存储器4240可以临时存储从主机4100接收的数据或从多个闪速存储器4221至322n接收的数据,或者临时存储闪速存储器4221至422n的元数据(例如,映射表)。缓冲存储器4240可以包括诸如dram、sdram、ddr sdram、lpddr sdram和gram的易失性存储器,或诸如fram、reram、stt-mram和pram的非易失性存储器。
131.图14是示出根据本公开的实施例的用户系统5000的示图。
132.参照图14,用户系统5000包括应用处理器5100、存储器模块5200、网络模块5300、存储模块5400和用户接口5500。
133.应用处理器5100可以驱动用户系统5000中包括的组件、操作系统(os)、用户程序等。应用处理器5100可以包括用于控制用户系统5000中包括的组件、接口、图形引擎等的控制器。应用处理器5100可以被设置为片上系统(soc)。
134.存储器模块5200可以作为用户系统5000的主存储器、工作存储器、缓冲存储器或高速缓存存储器操作。存储器模块5200可以包括诸如dram、sdram、ddr sdram、ddr2 sdram、ddr3 sdram、lpddr sdram、lpddr2 sdram和lpddr3 sdram的易失性随机存取存储器,或诸如fram、reram、mram和pram的非易失性随机存取存储器。应用处理器5100和存储器模块5200可以通过基于堆叠封装(pop)被封装而被设置为一个半导体封装。
135.网络模块5300可以与外部装置通信。网络模块5300可以支持诸如码分多址(cdma)、全球移动通信系统(gsm)、宽带cdma(wcdma)、cdma-2000、时分多址(tdma)、长期演进(lte)、wimax、wlan、uwb、蓝牙和wi-fi的无线通信。网络模块5300可以包括在应用处理器
5100中。
136.存储模块5400可以存储数据。例如,存储模块5400可以存储从应用处理器5100接收的数据。可选地,存储模块5400可以将在其中存储的数据传输到应用处理器5100。存储模块5400可以被实施为诸如以下的非易失性半导体存储器装置:相变ram(pram)、磁性ram(mram)、电阻式ram(rram)、nand闪存、nor闪存或具有三维结构的nand闪存。存储模块5400可以被设置为诸如用户系统5000的存储卡或外部驱动器的可移动驱动器。
137.存储模块5400可以包括多个非易失性存储器装置,并且多个非易失性存储器装置可以与参照图1至图4描述的存储器装置100相同地操作。存储模块4400可以与参照图1描述的存储装置1000相同地操作。
138.用户接口5500可以包括将数据或命令输入到应用处理器5100或者将数据输出到外部装置的接口。用户接口5500可以包括诸如以下的用户输入接口:键盘、小键盘、按钮、触摸面板、触摸屏、触摸板、触摸球、摄像机、麦克风、陀螺仪传感器、振动传感器和压电元件。用户接口4500可以包括诸如以下的用户输出接口:液晶显示器(lcd)、有机发光二极管(oled)显示装置、有源矩阵oled(amoled)显示装置、led、扬声器和监控器。
139.根据本公开,可以提供一种存储装置,该存储装置用于将多个缓冲存储器中具有不同属性的数据进行分类,并且有效地管理p2l表。
140.尽管已经参照本公开的某些实施例示出和描述了本公开,但是本领域技术人员将理解的是,在不脱离由所附的权利要求书及其等效内容限定的本公开的精神和范围的情况下,可以在本公开中进行形式和细节上的各种改变。因此,本公开的范围不应限于上述实施例,而不仅应由所附的权利要求书而且还应由其等效内容确定。
141.在上述实施例中,可以选择性地执行所有步骤或者可以省略部分步骤。在每个实施例中,不一定按照所描述的顺序执行步骤并且可以重新排列步骤。在本说明书和附图中公开的实施例仅是为了便于对本公开的理解的示例,并且本公开不限于此。也就是说,对于本领域技术人员应该显而易见的是,可以基于本公开的技术范围进行各种修改。
142.在附图和说明书中已经描述本公开的各个实施例。尽管这里使用了特定术语,但是这些仅是为了描述本公开的实施例。因此,本公开不限于上述实施例并且在本公开的精神和范围内可能存在许多变型。对于本领域技术人员应该显而易见的是,除了本文中公开的实施例和所附的权利要求书之外,还可以基于本公开的技术范围进行各种修改。
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1