CN108121673B - 控制器以及包括控制器和非易失性存储器件的存储设备 - Google Patents

控制器以及包括控制器和非易失性存储器件的存储设备 Download PDF

Info

Publication number
CN108121673B
CN108121673B CN201711051759.2A CN201711051759A CN108121673B CN 108121673 B CN108121673 B CN 108121673B CN 201711051759 A CN201711051759 A CN 201711051759A CN 108121673 B CN108121673 B CN 108121673B
Authority
CN
China
Prior art keywords
block
channel
memory
controller
channels
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.)
Active
Application number
CN201711051759.2A
Other languages
English (en)
Other versions
CN108121673A (zh
Inventor
禹成勋
黄淳石
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Samsung Electronics Co Ltd
Original Assignee
Samsung Electronics Co Ltd
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Samsung Electronics Co Ltd filed Critical Samsung Electronics Co Ltd
Publication of CN108121673A publication Critical patent/CN108121673A/zh
Application granted granted Critical
Publication of CN108121673B publication Critical patent/CN108121673B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0628Interfaces specially adapted for storage systems making use of a particular technique
    • G06F3/0629Configuration or reconfiguration of storage systems
    • G06F3/0635Configuration or reconfiguration of storage systems by changing the path, e.g. traffic rerouting, path reconfiguration
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/08Error detection or correction by redundancy in data representation, e.g. by using checking codes
    • G06F11/10Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's
    • G06F11/1008Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's in individual solid state devices
    • G06F11/1048Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's in individual solid state devices using arrangements adapted for a specific error detection or correction feature
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F13/00Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F13/14Handling requests for interconnection or transfer
    • G06F13/16Handling requests for interconnection or transfer for access to memory bus
    • G06F13/1668Details of memory controller
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/08Error detection or correction by redundancy in data representation, e.g. by using checking codes
    • G06F11/10Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's
    • G06F11/1008Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's in individual solid state devices
    • G06F11/1068Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's in individual solid state devices in sector programmable memories, e.g. flash disk
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F13/00Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F13/14Handling requests for interconnection or transfer
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F13/00Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F13/14Handling requests for interconnection or transfer
    • G06F13/20Handling requests for interconnection or transfer for access to input/output bus
    • G06F13/28Handling requests for interconnection or transfer for access to input/output bus using burst mode transfer, e.g. direct memory access DMA, cycle steal
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0602Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
    • G06F3/061Improving I/O performance
    • G06F3/0611Improving I/O performance in relation to response time
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0628Interfaces specially adapted for storage systems making use of a particular technique
    • G06F3/0638Organizing or formatting or addressing of data
    • G06F3/064Management of blocks
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0668Interfaces specially adapted for storage systems adopting a particular infrastructure
    • G06F3/0671In-line storage system
    • G06F3/0683Plurality of storage devices
    • G06F3/0688Non-volatile semiconductor memory arrays
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C29/00Checking stores for correct operation ; Subsequent repair; Testing stores during standby or offline operation
    • G11C29/04Detection or location of defective memory elements, e.g. cell constructio details, timing of test signals
    • G11C2029/0411Online error correction
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C29/00Checking stores for correct operation ; Subsequent repair; Testing stores during standby or offline operation
    • G11C29/52Protection of memory contents; Detection of errors in memory contents

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Human Computer Interaction (AREA)
  • Quality & Reliability (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Techniques For Improving Reliability Of Storages (AREA)

Abstract

一种存储设备包括:非易失性存储器件,被分组布置;以及控制器,分别通过通道与组连接。所述控制器被配置为产生针对所述非易失性存储器件中的非易失性存储器件的访问请求,并且基于所述访问请求,分别通过所述通道中的两个或更多个通道分别向所述组中的两个或更多个组发送访问请求。

Description

控制器以及包括控制器和非易失性存储器件的存储设备
相关申请的交叉引用
本申请要求2016年11月29日提交的韩国知识产权局的韩国专利申请No.10-2016-0160785的优先权,其全部内容通过引用并入本文。
技术领域
根据示例实施例的装置涉及半导体设备,更具体地涉及控制器和包括控制器和非易失性存储器件的存储设备。
背景技术
存储设备是指在主机设备(例如计算机,智能电话或智能平板)的控制下存储数据的设备。存储设备包括将数据存储在诸如硬盘驱动(HDD)的磁盘上的设备,或者将数据存储在半导体存储器(即非易失性存储器)上的设备,非易失性存储器例如是固态驱动(SSD)或存储卡。
非易失性存储器包括只读存储器(ROM)、可编程ROM(PROM)、电可编程ROM(EPROM)、电可擦除可编程ROM(EEPROM)、闪速存储器件、相变RAM(PRAM)、磁性RAM(MRAM)、阻性RAM(RRAM)、铁电RAM(FRAM)等。
随着半导体制造技术的发展,与存储设备进行通信的主机设备(例如计算机,智能电话或智能平板)的操作速度得到提高。
此外,存储设备和存储设备的主机设备的中使用的内容的大小不断增加。因此,持续地需要操作速度提高的存储设备。
发明内容
根据示例性实施例,一种存储设备包括:非易失性存储器件,被分组布置;以及控制器,分别通过通道与组连接。所述控制器被配置为产生针对所述非易失性存储器件中的非易失性存储器件的访问请求,并且基于所述访问请求分别通过所述通道中的两个或更多个通道分别向所述组中的两个或更多个组发送访问请求。
根据示例性实施例,一种控制器包括:管理块,被配置为通过通道与外部非易失性存储器件进行通信;以及通道分割块,被配置为:接收对所述外部非易失性存储器件中的非易失性存储器件的访问请求,所述访问请求包括单位长度的物理地址;以及基于所接收的访问请求,分别向所述管理块中的两个或更多个管理块发送用于请求对小于所述单位长度的大小的数据进行通信的访问请求。
根据示例性实施例,一种存储设备包括:非易失性存储器件,被分组布置;以及控制器,分别通过通道与组连接。所述控制器被配置为:形成包括所述通道中的第一通道和第二通道的超级通道;以及关联并同时访问第一通道的第一存储块和第二通道的第二存储块,所述第一存储块和所述第二存储块具有类似的操作特性。
根据示例性实施例,一种控制器包括通道分割块,被配置为:接收包括单位长度的第一物理地址的第一访问命令,所述第一物理地址包括第一非易失性存储器件中的一个的第一存储块的第一块地址;以及将所接收到的第一访问命令分割为第二访问命令和第三访问命令,所述第二访问命令包括小于所述单元长度的分割长度的第二物理地址,所述第二物理地址包括所述第一块地址,所述第三访问命令包括分割长度的第三物理地址,所述第三物理地址包括第二非易失性存储器件中的一个的第二存储块的第二块地址。所述控制器还包括:第一管理块,被配置为通过第一通道向所述第一非易失性存储器件中的所述一个发送所述第二访问命令;以及第二管理块,被配置为通过与第一通道形成超级通道的第二通道向所述第二非易失性存储器件中的所述一个发送所述第三访问命令。
附图说明
图1是示出了根据示例性实施例的存储设备的框图。
图2是示出了根据示例性实施例的存储设备或控制器的操作方法的流程图。
图3是示出了根据示例性实施例的控制器的框图。
图4是示出了根据示例实施例的映射数据的图。
图5是示出了根据示例实施例的从第一物理地址产生第二物理地址的通道分割块的图。
图6是示出了在图3的控制器中处理命令的图。
图7是示出了根据示例实施例的属于超级通道中的不同通道并且以存储块为单位被关联的非易失性存储器件的图。
图8是示出了根据示例实施例的属于相同超级通道中的不同通道并且被访问的非易失性存储器件的存储块的图。
图9是示出了根据示例实施例的关联存储块的方法的流程图。
图10是示出了根据示例实施例的替换关联的存储块中的一个的方法的流程图。
图11是示出了根据示例实施例的被关联的存储块的图。
图12是示出了根据示例性实施例的存储设备的框图。
图13是示出了根据示例性实施例的存储设备或控制器的操作方法的流程图。
图14是示出了根据示例性实施例的存储设备的框图。
图15是示出了根据示例性实施例的非易失性存储器件的框图。
图16是示出了根据示例实施例的存储块的图。
具体实施方式
图1是示出根据示例实施例的存储设备100的框图。参考图1,存储设备100包括多个非易失性存储器件NVM和控制器120。
非易失性存储器件NVM可以具有相同或不同的类型。非易失性存储器件NVM可以形成多个组110_1至110_n。组110_1至110_n中的每一个可以包括一个或多个非易失性存储器件NVM。组110_1至110_n可以分别通过多个通道CH1至CHn与控制器120连接。
控制器120可以分别通过通道CH1至CHn与非易失性存储器件NVM的组110_1至110_n连接。控制器120可以与外部主机设备进行通信。控制器120可以基于外部主机设备的请求或根据内部调度产生的请求来访问非易失性存储器件NVM。
控制器可以120独立地控制通道CH1至CHn。例如,无论与第一通道CH1连接的第一组110_1的非易失性存储器件NVM是否正被访问,控制器120都可以访问与第二通道CH2连接的第二组110_2的非易失性存储器件NVM。控制器120可以交替地访问与一个通道连接的一个组的非易失性存储器件。例如,控制器120可以在完成对第一非易失性存储器件NVM(例如,图1的右侧的第一个非易失性存储器件)的访问之后开始访问第一通道CH1的第二非易失性存储器件NVM(例如,图1的右侧的第二非易失性存储器件)。
在每个通道中,控制器120可以通过公共数据线和公共控制线与非易失性存储器件NVM连接。
在每个通道中,控制器120可以通过单独的就绪/忙信号线和单独的芯片选择信号线与非易失性存储器件NVM连接。就绪/忙信号线中的每一个可以用于发送指示相应的非易失性存储器件NVM不能接收数据的忙状态的就绪/忙信号、或者其中相应的非易失性存储器件NVM能够接收数据或命令/地址的命令/地址或就绪状态。每一个芯片选择信号线可以用于发送用于选择相应组的非易失性存储器件NVM中的一个的芯片选择信号。
控制器120包括直接存储器访问DMA、通道分割块123、元数据存储器127和缓冲存储器129。
直接存储器访问DMA用于控制器120与非易失性存储器件NVM或外部主机设备交换数据。例如,控制器120可以在直接存储器访问DMA中编程(或设置)要传送数据的目标、要传送的数据的位置(例如,地址)和要传送的数据的大小的信息。直接存储器访问DMA可以基于编程或设置的信息,与非易失性存储器件NVM或外部主机设备进行通信。当直接存储器访问DMA执行通信时,控制器120可执行任何其他任务。如果通信完成,直接存储器访问DMA可以通过中断来通知控制器120通信完成。
通道分割块123可以管理超级通道SCH。通道分割块123可以将两个或更多个通道设置(或分配或分组)到一个超级通道。通道分割块123可以将与单位长度的逻辑地址或单位长度的物理地址相对应的访问请求分割成与包含在超级通道SCH中的通道的数量相对应的第二访问请求。通道分离块123可以向超级通道SCH中的各个通道发送第二访问请求。
元数据存储器127可以存储用于控制器120来管理非易失性存储器件NVM的元数据。例如,元数据存储器127可以存储包括逻辑地址和物理地址之间的映射信息的映射数据、以及指示连接到布置为超级通道SCH的通道的组的非易失性存储器件NVM如何相互关联的关联信息。映射数据和关联信息可以存储在非易失性存储器件NVM中的每一个中,并且可以在上电时或当使用映射数据和关联信息时从非易失性存储器件NVM加载到元数据存储器127上。元数据存储器127被示出为包括在控制器120中,但是元数据存储器127可以被提供在控制器120的外部。例如,包括映射数据和关联信息的元数据可以存储在控制器120的内部存储器或外部存储器中,或者可以被分布并存储在控制器120的内部和外部存储器两者中。
缓冲存储器129可用于临时存储控制器120向外部主机设备传送的数据(例如,用户要访问的用户数据)以及控制器120向非易失性存储器件NVM传送的数据。缓冲存储器129被示出为包括在控制器120中,但缓冲存储器129可以设置在控制器120的外部。
在示例性实施例中,当至少部分元数据存储在控制器120外部,并且缓冲存储器129提供在控制器120外部时,该至少部分元数据可以与数据(例如,用户要访问的用户数据)一起存储在缓冲存储器129中。
图1中示出了示例性实施例中两个通道布置为一个超级通道SCH。然而,布置成一个超级通道SCH的通道的数量可以不限于此。例如,可以将三个或更多的通道布置为一个超级通道SCH。
图1中示出了示例性实施例中相邻通道布置为一个超级通道SCH。然而,示例实施例可以不限于其中相邻通道布置为一个超级通道SCH的情况。通过不同的通道或超级通道SCH彼此间隔开的通道可以被布置为一个超级通道SCH。
图2是示出了根据示例性实施例的存储设备100或控制器120的操作方法的流程图。参考图1和图2,在操作S110中,控制器120产生请求(例如,访问请求)。例如,控制器120可以基于来自外部主机设备或内部调度的请求来产生请求。产生的请求可以是读请求或写请求。产生的请求可以包括从非易失性存储器件NVM中选择的非易失性存储器件的命令和地址(例如,逻辑地址或物理地址)。所产生的请求的地址可以针对通道(例如,一个超级通道SCH或属于一个超级通道SCH的通道中的一个)的非易失性存储器件NVM。
在操作S120中,控制器120对产生的请求进行分割以产生多个第二请求。第二请求中的每一个可以包括命令和地址。第二请求中每一个的命令的类型(例如,读或写)可以与产生的请求的类型相同。第二请求的地址可以针对属于一个超级通道SCH的不同通道的非易失性存储器件。
由每一个第二请求所请求来读或写的数据的大小可以小于由所产生的请求所请求来读或写的数据的大小。例如,由每一个第二请求所请求的数据的大小可以与通过将产生的请求所请求的数据的大小除以超级通道SCH中的通道的数量而获得的值相对应。
在操作S130中,控制器120分别向多个通道发送第二请求。例如,控制器120可以向通道CH1至CHn中一些(例如属于一个超级通道SCH的通道)发送第二请求。
图3是示出了根据示例性实施例的控制器120的框图。参考图1和图3,控制器120包括地址转换块121、通道分割块123、多个管理块125_1至125_n、元数据存储器127和缓冲存储器129。
地址转换块121可以接收包括命令CMD和逻辑地址LA的请求。例如,地址转换块121接收的请求可以是从外部主机设备接收的。参考存储在元数据存储器127中的映射数据MD,地址转换块121可将逻辑地址LA转换为第一物理地址PA1。图4中示出了映射数据的示例。
图4是示出了根据示例实施例的映射数据MD的图。参考图3和图4,映射数据MD包括多个映射数据实体MDE。每个映射数据实体MDE可以与存储逻辑地址和物理地址的映射信息的基本单元相对应。每个映射数据实体MDE可以存储单位长度的连续逻辑地址LA和单位长度的连续物理地址PA之间的转换信息。例如,单位长度可以是4KB。也就是说,每个映射数据实体MDE可以包括其中存储4KB长度的数据的连续逻辑地址范围与其中存储4KB长度的数据的连续物理地址范围之间的转换信息(或映射信息)。例如,每个映射数据实体MDE可以包括连续逻辑地址范围和连续物理地址范围的起始地址和结束地址。
再次参考图3,地址转换块121可以以映射数据实体MDE为单位(即单位长度)将逻辑地址LA转换为第一物理地址PA1。第一物理地址PA1可以与第一命令CMD1一起输出,以请求与单位长度对应的数据的读或写操作。也就是说,地址转换块121可以输出单位长度的读请求或写请求。
通道分割块123从地址转换块121接收第一命令CMD1和第一物理地址PA1。通道分割块123可以分割所接收的第一命令CMD1以产生第二命令CMD2,并且可以分割所接收的第一物理地址PA1以产生第二物理地址PA2。例如,当第一物理地址PA1针对一个超级通道SCH时,通道分离块123可以产生与属于所选择的超级通道SCH的通道的数量相对应的第二命令CMD2和第二物理地址PA2。第二命令CMD2可以具有与第一命令CMD1相同的类型(例如,读或写)。参考存储在元数据存储器127中的关联信息AI,通道分割块123可以从第一物理地址PA1产生第二物理地址PA2。
在图5中示出了通道分割块123从第一物理地址PA1产生第二物理地址PA2的示例。
图5是示出了根据示例实施例的从第一物理地址PA1产生第二物理地址PA2的通道分割块123的图。在图5中,在示例性实施例中,结合第一通道CH1和第二通道CH2描述第一物理地址PA1和第二物理地址PA2。
参考图3和图5,属于超级通道SCH的通道可以不被地址转换块121单独区分。因此,如果产生了针对超级通道SCH的请求,则地址转换块121可以针对超级通道SCH转换与一个映射数据实体MDE相对应的单元长度UL。例如,由地址转换块121转换的第一请求R1a、R1b和R1c中的每一个可以包括单位长度UL的第一物理地址PA1。也就是说,第一请求R1a、R1b和R1c中的每一个可以引起与单位长度UL相对应的数据的读或写。
通道分割块123可以将超级通道SCH上的第一请求R1a、R1b和R1c分割为第一通道CH1和第二通道CH2上的第二请求R2a1、R2a2、R2b1、R2b2、R2c1和R2c2。从第一请求R1a分割而来的第二请求R2a1和R2a2可以分别发送到第一通道CH1和第二通道CH2。从第一请求R1b分割而来的第二请求R2b1和R2b2可以分别发送到第一通道CH1和第二通道CH2。从第一请求R1c分割而来的第二请求R2c1和R2c2可以分别发送到第一通道CH1和第二通道CH2。
第二请求R2a1、R2a2、R2b1、R2b2、R2c1和R2c2的第二物理地址PA2中的每一个具有小于单位长度UL的分割长度SL。例如,分割长度SL可以与通过将单位长度UL除以属于超级通道SCH的通道CH1和CH2的数量而获得的值相对应。
可以基于预设的关联信息AI将第二请求R2a1、R2a2、R2b1、R2b2、R2c1和R2c2分割并传送到第一通道CH1和第二通道CH2。如果根据关联信息AI将第一请求R1a、R1b和R1c分割成第二请求R2a1、R2a2、R2b1、R2b2、R2c1和R2c2,则无论映射数据实体MDE如何,均可进行分割。因此,通过使用超级通道SCH和关联信息AI,可以以小于与一个映射数据实体相对应的单位长度UL的分割长度SL为单位来访问非易失性存储器件NVM,而不增加映射数据的大小。也就是说,非易失性存储器件NVM的输入/输出单元(或访问单元)可以减小,而没有开销,诸如没有映射数据MD的大小的增加。
返回图3,管理块125_1至125_n可以分别与通道CH1至CHn相对应。管理块125_1至125_n中的每一个可以从通道分割块123接收包括第二命令CMD2和第二物理地址PA2的第二请求。管理块125_1至125_n中的每一个可以与缓冲存储器129交换数据。
管理块125_1至125_n中的每一个包括队列QUE、纠错块ECC和直接存储器访问DMA。队列QUE可以是访问队列或命令队列。队列QUE可以对从通道分割块123发送的第二命令CMD2进行排队。队列QUE可以基于先进先出(FIFO)方案或内部调度算法来选择并输出排队的第二命令CMD2中的一个。管理块125_1至125_n中的每一个可以响应于来自队列QUE的第二命令CMD2来编程(或设置)直接存储器访问DMA。例如,在写操作的情况下,管理块125_1至125_n中的每一个可以对DMA进行编程,使得管理块125_1至125_n中的每一个向相应通道的所选择的非易失性存储器件NVM输出存储在缓冲存储器129中的数据。在读操作的情况下,管理块125_1至125_n中的每一个可以对直接存储器访问DMA进行编程,以从相应通道的所选择的非易失性存储器件NVM读取数据,并将读数据存储在缓冲存储器129中。例如,用于读命令的读队列和写命令的写队列可以被集成或分离地提供。
纠错块ECC可以执行纠错编码和解码操作。例如,纠错块ECC可以对要输出到相应通道的数据执行纠错编码操作。纠错块ECC可以对从相应通道接收到的数据执行纠错解码操作。
缓冲存储器129可以操作为外部主机设备和非易失性存储器件NVM之间的临时存储器。在示例实施例中,管理块125_1至125_n可以包括具有不同纠错算法的纠错块ECC。管理块125_1至125_n可以向非易失性存储器件NVM输出不同类型的命令。
图6是示出了在图3的控制器120中处理命令的图。例如,参考第一通道CH1和第二通道CH2来描述处理命令的示例。
参考3和图6,在操作S210中,地址转换块121从外部主机设备接收读命令RC和逻辑地址LA。在操作S220中,地址转换块121参考映射数据MD执行地址转换。地址转换块121输出请求单位长度UL的数据的第一读命令RC1和指示该单位长度UL的数据的第一物理地址PA1,作为第一请求。单位长度UL可以是按照映射数据实体MDE(参考图4)转换的连续地址的长度。
在操作S230中,通道分割块123参考关联信息AI进行通道分割。通道分割块123向第一管理块125_1和第二管理块125_2中的每一个发送对小于单位长度UL的分割长度SL的数据进行请求的第二读命令RC2以及指示分割长度SL的数据的第二物理地址PA2。在操作S230中,将针对单位长度UL的数据的一个读命令分割为小于单位长度UL的分割长度SL的两个并行读命令。
在操作S240中,响应于第二读命令RC2,第一管理块125_1和第二管理块1252分别将第二读命令RC2和第二物理地址PA2输出到第一通道CH1和第二通道CH2。可以将第二读命令RC2和第二物理地址PA2分别发送给第一组110_1(参见图1)的非易失性存储器件NVM中由第一管理块125_1选择的非易失性存储器件NVM以及第二组110_2的非易失性存储器件NVM中由第二管理块125_2选择的非易失性存储器件NVM。
在操作S250中,所选择的非易失性存储器件NVM分别基于第二物理地址PA2执行读操作。用于执行读操作的时间可以是读时间tR。
在操作S260中,响应于第二读命令RC2,在输出了第二读命令RC2和第二物理地址PA2并经过了预设时间之后,第一管理块125_1和第二管理块125_2中的每一个可以设置或编程直接存储器访问DMA。
可以将第一管理块125_1和第二管理块125_2设置或编程为分别从所选择的非易失性存储器件NVM读取与分割长度SL相对应的数据。
在操作S270中,如果直接存储器访问DMA被完全设置或编程,则直接存储器访问DMA分别通过第一通道CH1和第二通道CH2从所选非易失性存储器件NVM读取分割长度SL的数据。
用于每个直接存储器访问DMA从所选择的非易失性存储器件NVM读取数据的时间可以是DMA时间tDMA。
在传统的存储设备中,执行读操作的瓶颈可能是读时间tR。然而,通过持续改善非易失性存储器件的性能,读时间tR已经急剧下降。非易失性存储器件的读时间tR显得比DMA时间tDMA短。在使用非易失性存储器件的存储设备中,执行读操作的瓶颈可能是DMA时间tDMA,而不是读时间tR。
根据示例性实施例,通道分割块123将单位长度UL的第一访问请求分割成分割长度SL的第二访问请求。在一个超级通道中的多个通道中由多个直接存储器访问DMA并行处理第二访问请求。由于每个直接存储器访问DMA将处理的数据的大小小于单位长度UL,因此DMA时间tDMA会减少。
在图6中,参考读命令来描述示例性实施例。然而,示例性实施例同样适用于写命令。参考关联信息AI,单位长度UL的写命令被散布并发送到属于超级通道SCH的通道。
示例性实施例可以适用于组合和使用了写命令和读命令的操作。例如,移动第一存储空间的数据到第二存储空间的读回收操作和移动第一存储空间的有效数据到第二存储空间的垃圾收集操作可以参考关联信息A来执行,类似于参考图6描述的那样。例如,除了与逻辑地址LA相关联的操作S210不执行之外,读回收操作和垃圾收集操作可以基于参考图6描述的过程,通过重复读和写操作来执行。
在示例实施例中,属于一个超级通道SCH的管理块可以彼此交换指示当前操作是否完成的信息。假设读操作或写操作是根据第一管理块125_1和第二管理块125_2中的读命令或写命令执行的。当属于一个超级通道SCH的管理块125_1和125_2中的每一个的当前操作(例如,读操作或写请求)完成时,管理块125_1和125_2中的每一个可以向控制器120的其他管理块或核心逻辑或固件发送信号,该信号指示操作完成。当属于一个超级通道SCH的所有管理块125_1和125_2完成与一个读命令或一个写入相关联的读操作或写操作时,控制器120的核心逻辑或固件可以将相应的读命令或写命令处理为完成。
图7是示出了根据示例实施例的属于超级通道SCH中的不同通道并且以存储块为单位被关联的非易失性存储器件NVM的图。参考图7,每个非易失性存储器件NVM包括多个存储块BLK1至BLKz。属于一个超级通道SCH中的不同通道CH1和CH2的非易失性存储器件NVM以存储块为单位相互关联。
例如,第一通道CH1的第一存储块BLK1可以与第二通道CH2的第三存储块BLK3相关联。第一通道CH1的第二存储块BLK2可以与第二通道CH2的第z个存储块B LKz相关联。第一通道CH1的第三存储块BLK3可以与第二通道CH2的第一存储块BLK1相关联。第一通道CH1的第z个存储块BLKz可以与第二通道CH2的第二存储块BLK2相关联。
每个存储块存储与其自己的存储空间相关联的映射数据MD和关联信息AI。例如,关联信息AI可以包括指示存储块如何与另一个存储块相关联的信息。
关联信息AI可以被包括在显示每个存储块的物理状态的物理块信息PBI中以便管理。
图8是示出了根据示例实施例的属于相同超级通道SCH中的不同通道并且被访问的非易失性存储器件NVM的存储块的图。参考图3和图8,示出了属于第一通道CH1的第一存储块BLK1和属于第二通道CH2的第三存储块BLK3被访问的示例。每个存储块可以包括多个页PAGE1至PAGEi。每个页PAGE1至PAGEi可以包括最低有效位(LSB)页面PAGE_LSB、中央有效位(CSB)页面PAGE_CSB和最高有效位(MSB)页面PAGE_MSB。
例如,在每个页的每个存储单元中编程的第一位可以是最高有效位MSB,并且最高有效位MSB可以被布置在MSB页面PAGE_MSB中。在每个页的每个存储单元中编程的第二位可以是中央有效位CSB,并且中央有效位CSB可以被布置在CSB页面PAGE_CSB中。在每个页的每个存储单元中编程的第三位可以是最低有效位LSB,并且最低有效位LSB可以被布置在LSB页面PAGE_LSB中。如果每个页的每个存储单元中编程的位数增加,则属于每个页的子页的数量也可以增加。第一、第二和第三位不旨在限制对第一、第二和第三位进行编程的编程顺序。
每个管理块可以以段SEG为单位访问每个子页。例如,一个段SEG的大小可以小于一个子页的大小。也就是说,可以在一个子页中写入多个段SEG1至SEGj。每个段可以包括数据和纠错奇偶校验EP。如参考图6所述,当每个管理块的访问单位是分割单位SL时,每个段的数据可以与分割单位SL相对应。也就是说,一个段SEG的大小和一个分割单位SU的大小可以相同。当通过纠错块ECC执行纠错编码操作时,可以添加纠错奇偶校验EP。
作为另一示例性实施例,每个管理块可以以两个或更多个段为单位访问每个子页。也就是说,一个分割单位SU的大小可以与两个或更多个段的大小相对应。例如,当数据被写入每个管理块或从每个管理块读取时,每个管理块可以以段为单位分割数据,并且可以对每个分割段执行纠错编码操作或纠错解码操作。在另一示例实施例中,每个管理块可以以子页为单位执行访问操作。也就是说,一个分割单位SU的大小和一个子页的大小可以相同。
地址转换块121可以产生包括第一物理地址PA1的第一访问请求。例如,第一物理地址PA1可以指示与单位长度UL对应的第一存储块BLK1、第一存储块的第三页PAGE3、第三页PAGE3的LSB页面PAGE_LSB和LSB页面PAGE_LSB的第二段SEG2。
通道分割块123可以从第一物理地址PA1产生与第一通道CH1和第二通道CH2相对应的第二物理地址PA2_1和PA2_2。例如,通道分割块123可以同等地向一个通道(例如,第一通道CH1)施加第一物理地址PA1,通道分割块123可以将单位长度UL改变为分割单位SL,并可以产生第二物理地址PA2_2。通道分割块123可以使用与一个通道CH1的地址相同的地址,并且可以参考关联信息AI来改变目标存储块(例如,第三存储块BLK3)。也就是说,如果与页相关联的第二物理地址PA2固定为与第一物理地址PA1相同,则关联信息AI可以仅包括关于存储块BLK1和BLK3之间的关联的信息。因此,关联信息AI的大小可以减小,并且由于关联信息AI引起的开销可以降低。
例如,当以两个或更多个段为单位执行访问时,第一物理地址PA1可以指示两个或更多个段。第二物理地址PA2_1和PA2_2可以具有与第一物理地址PA1的段地址相同的段地址。当以子页为单位执行访问时,第一物理地址PA1可以不包括段地址。第二物理地址PA2_1和PA2_2也可以不包括段地址。在另一示例实施例中,第一物理地址PA1和第二物理地址PA2_1和PA2_2可以不包括段SEG1至SEGj的任何信息。第一物理地址和第二物理地址可以指示目标子页的信息和是否使用全页读/写或半页/四分之一页读/写的信息。每个管理块可以以段SEG1至SEGj为单位执行纠错编码或解码,而与单位长度UL和分割长度SL无关。
关于关联信息AI,还可以考虑路(way)和面(plane)。路可用于区分连接到相同通道的非易失性存储器件NVM。例如,在图1中,第一非易失性存储器件NVM(图1的左侧的第一个非易失性存储器件)可以与第一路相对应。第二非易失性存储器件NVM(图1的左侧的第二个非易失性存储器件)可以与第二路相对应。在将第一物理地址PA1分割成第二物理地址PA2时,路可以固定或改变。在路改变的情况下,路信息可以包括在关联信息AI中。在路固定的情况下,例如,第二物理地址PA2的路可以与第一物理地址PA1的路相同。
每个非易失性存储器件NVM可以包括多个面。每一个面可以包括多个存储块。不同面的存储块可以彼此独立地操作,并且可以被分组到超级块以一起操作。当不同面的存储块操作,同时存储块被分组到超级块时,关联信息AI可以不包括面信息。当不同面的存储块未被分组到超级块时,在第一物理地址PA1分割成第二物理地址PA2时可以固定或改变面。在面改变的情况下,面信息可以包括在关联信息AI中。在面固定的情况下,例如,第二物理地址PA2的面可以与第一物理地址PA1的面相同。
在示例实施例中,当第一物理地址PA1被分割成第二物理地址PA2_1和PA2_2时,在第二物理地址PA2_1和PA2_2中块地址和子页地址都可以改变。
关联信息AI可以包括关于在第二物理地址PA2_1和PA2_2中改变的地址的信息。
图9是示出了根据示例实施例的关联存储块的方法的流程图。参考图1、图7和图9,在操作S310中,控制器120根据操作特性将多个存储块划分为特性组。例如,属于第一通道CH1的第一组110_1的非易失性存储器件NVM的存储块可以基于操作特性被划分为第一特性组至第k特性组。此外,属于第二通道CH2的第二组110_2的非易失性存储器件NVM的存储块可以基于操作特性被划分为第一特性组至第k特性组。操作特性可以包括读时间、误码率、读取历史、编程和擦除计数、磨损水平、擦除时间、擦除历史、编程时间和编程历史中的任何一个或任何组合。
在操作S320中,控制器120将相同特征组中的存储块相关联。例如,与第一通道CH1相对应的存储块中属于第一特征组的存储块可以和与第二通道CH 2相对应的存储块中属于第一特性组的存储块相关联。类似地,与第一通道CH1相对应的存储块中属于第k特征组的存储块可以和与第二通道CH 2相对应的存储块中属于第k特性组的存储块相关联。
如果属于相同特性组的存储块通过超级通道SCH彼此关联,则则可以防止由于读或写操作中的操作特性之间的差异引起的延迟。
图10是示出了根据示例实施例的替换关联的存储块中的一个的方法的流程图。参考图1、图7和图10,在操作S410中,控制器120监视存储块的操作特性。例如,控制器120可以在以下条件下监视存储块的操作特性的变化:(i)周期性地(ii)当产生读错误或写错误时,(iii)当执行读或写操作时,或(iv)根据读或写操作执行的次数。
在操作S420中,控制器120确定相关联的存储块中的一个是否属于不同的特性组。如果确定相关联的存储块中的一个不属于不同的特性组,则可以维持相关联的存储块。如果确定相关联的存储块中的一个属于不同的特性组,则处理进行到操作S430。
在操作S430中,控制器120执行重新关联。例如,相关联的存储块中的一个变为所属于的不同组中的存储块可以是重新关联对象。控制器120可以释放与重新关联对象相对应的存储块之间的关联关系,并且可以将与重新关联对象对应的存储块与相应组中的不同存储块重新关联。例如,当不必移动数据时,例如当与重新关联目标对应的存储块处于擦除状态或者是无效块时,可以执行重新关联。
图11是示出了根据示例实施例的被关联的存储块的图。参考图1、图7和图11,可以在第一通道块池CH1_BP中管理与第一通道CH1对应的存储块中未使用的存储块,例如无效块、擦除块或保留块。可以在第二通道块池CH2_BP中管理与第二通道CH2对应的存储块中未使用的存储块,例如无效块、擦除块或保留块。
基于操作特性,可以将在第一通道块池CH1_BP和第二通道块池CH2_BP中管理的存储块分成第一特性组CG1至第三特性组CG3。第一通道块池CH1_BP的存储块和第二通道块池CH2_BP的存储块可以不是相互关联的。
在操作S510中,控制器120产生用于写入新数据的空闲块。因为第一通道CH1和第二通道CH2被分组到超级通道SCH,所以在第一通道块池CH1_BP和第二通道块池CH2_BP中的每一个中选择存储块。例如,可以在第一通道块池CH1_BP和第二通道块池CH2_BP中选择属于相同特性组的存储块。
在操作S520中,控制器120将所选择的存储块相关联。关联的结果可以被写入存储块中作为关联信息AI。之后,可以对选择的存储块执行写和读操作。
关联的存储块可以在时间过程中被无效或被擦除。当执行对关联的存储块的无效或擦除时,在操作S530中,控制器120释放相关联的存储块之间的关联关系。之后,在操作S540中,释放了关联关系的存储块返回到第一通道块池CH1_BP和第二通道块池CH2_BP。
图12是示出了根据示例性实施例的存储设备的框图。参考图12,存储设备200包括多个非易失性存储器件NVM和控制器220。非易失性存储器件NVM可以基于多个通道CH1至CHn而分成多个组210_1至210_n。控制器220包括直接存储器访问DMA、通道分割块223、元数据存储器227和缓冲存储器229。
与图1的那些相比,第一通道CH1和第二通道CH2以及第三通道CH3和第四通道CH4被布置为超级通道SCH;另一方面,第m通道CHm和第n通道CHn未布置为超级通道SCH。也就是说,连接到控制器220的通道CH1至CHn中一些通道可以被布置为超级通道SCH,剩余的通道可以不被布置为超级通道SCH。控制器220可以操作为类似于参考图3到图7描述的控制器120。
图13是示出了根据示例性实施例的存储设备200或控制器220的操作方法的流程图。参考图12和图13,在操作S610中,控制器220产生包括第一命令CMD1和第一物理地址PA1的第一请求。
在操作S620中,控制器220(例如通道分割块223)确定第一物理地址PA1是否与超级通道SCH相关联或针对超级通道SCH。如果确定第一物理地址PA1不与超级通道SCH相关联,则在操作S650中,通道分割块223向目标通道发送第一请求而不分割第一请求。如果确定第一物理地址PA1与超级通道SCH相关联,则处理进行到操作S630。
在操作S630中,通道分割块223分割第一请求以产生多个第二请求。在操作S640中,通道分割块223分别向目标超级通道SCH的通道发送第二请求。
在上述示例性实施例中,根据示例性实施例的部件通过使用术语“块”来表示。可以用多种硬件设备(诸如集成电路,专用IC(ASIC)、现场可编程门阵列(FPGA)和复杂可编程逻辑器件(CPLD))、软件(诸如硬件设备中驱动的固件和应用)、或硬件设备和软件的组合来实现“块”。
图14是示出了根据示例性实施例的存储设备的框图。参考图14,存储设备300可以包括多个非易失性存储器件NVM和控制器320。非易失性存储器件NVM可以基于多个通道CH1至CHn而分成多个组310_1至310_n。控制器320包括直接存储器访问DMA、通道分割块323、元数据存储器327和缓冲存储器329。
与图12相比,第一组310_1和第二组310_2的非易失性存储器件中的一些,例如图14中左侧的第一非易失性存储器件,可以基于第一通道CH1和第二通道CH2而布置成超级通道SCH。第一组310_1和第二组310_2的剩余非易失性存储器件可以不布置成超级通道SCH,并且可以分别通过第一通道CH1和第二通道CH2进行访问。
第三组310_3和第四组310_4的非易失性存储器件中的一些,例如,图14左侧的第一非易失性存储器件和第二非易失性存储器件,可以基于第三通道CH 3和第四通道CH 4而布置为超级通道SCH。第三组310_3和第四组310_3的剩余非易失性存储器件可以不被布置为超级通道SCH,并且可以分别通过第三通道CH3和第四通道CH4进行访问。控制器320可以操作为类似于参考图3至图7描述的控制器120。
也就是说,在通过两个或更多个通道连接到控制器320的非易失性存储器件中,一些非易失性存储器件可以被布置为基于两个或更多个通道的超级通道。可以基于超级通道(图13的操作S630和操作S640)处理具有针对一些非易失性存储器件的地址的访问。可以基于两个或更多个通道来单独访问剩余的非易失性存储器件。可以基于单独的通道(图13的操作S650)处理具有针对剩余非易失性存储器件的地址的访问。
图15是示出了根据示例性实施例的非易失性存储器件NVM的框图。参考图15,非易失性存储器件NVM包括存储单元阵列111、行解码器电路113、页缓冲电路115、数据输入/输出(I/O)电路117和控制逻辑电路119。
存储器单元阵列111包括多个存储块BLK1至BLKz。存储块BLK1至BLKz中的每一个包括多个存储单元。存储块BLK1至BLKz中的每一个可以通过至少一个地选择线GSL、多个字线WL、多个虚设字线DWL以及至少一个串选择线SSL连接到行解码器电路113。存储块BLK1至BLKz中的每一个可以通过多个位线BL连接到页缓冲电路115。存储块BLK1至BLKz可以共同连接到位线BL。存储块BLK1至BLKz的存储单元可以具有相同的结构。
在示例性实施例中,存储块BLK1至BLKz中的每一个可以与擦除操作的单位相对应。存储单元阵列111的存储单元可以以存储块为单位被擦除。属于存储块的存储单元可以同时被擦除。作为另一示例,存储块BLK1至BLKz中的每一个可以被划分成多个子块。每个子块可以与擦除操作的单位相对应。
行解码器电路113通过多个地选择线GSL、多个字线WL、多个虚设字线DWL以及多个串选择线SSL连接到存储单元阵列111。行解码器电路113根据控制逻辑电路119的控制来操作。行解码器电路113可以对通过输入/输出通道从控制器120(参考图1)接收的地址进行解码,并且可以基于所解码的地址控制在编程、读取或擦除操作期间要施加到串选择线SSL、字线WL、虚设字线DWL和地选择线GSL的电压。
页缓冲电路115通过位线BL连接到存储单元阵列111。页缓冲电路115通过多条数据线DL连接到数据输入/输出电路117。页缓冲电路115由控制逻辑电路119控制。在编程操作期间,页缓冲电路115可以在存储单元中存储要编程的数据。页缓冲电路115可以基于所存储的数据向位线BL施加电压。在读操作或验证读操作期间,页缓冲电路115可以感测位线BL的电压并且可以存储所感测的结果。
数据输入/输出电路117通过数据线DL与页缓冲电路115相连接。数据输入/输出电路117可以通过输入/输出通道向控制器120输出由页缓冲电路115读取的数据,并且可以通过输入/输出通道向页缓冲电路115传送从控制器120接收的数据。
控制逻辑电路119可以通过输入/输出通道从控制器120接收命令,并且可以通过控制通道从其接收控制信号。控制逻辑电路119可以对所接收的命令CMD进行解码,并且可以根据解码的命令控制非易失性存储器件。例如,控制逻辑电路119可以控制非易失性存储存储器件执行编程操作、读操作或擦除操作。
图16是示出了根据示例实施例的存储块BLKa的图。参考图16,多个单元串CS以行和列布置在基板SUB上。单元串CS共同连接到形成在基板SUB上(或中)的公共源极线CSL。在图16中,示例了基板SUB的位置以帮助理解存储块BLKa的结构。示例性实施例在图16中举例为公共源极线CSL连接到单元串CS的下端。然而,公共源极线CSL是否与单元串CS的下端电连接是无关紧要的。然而,示例性实施例可以不限于公共源线CSL物理上位于单元串CS的下端的情况。示例性实施例在图6中举例为单元串CS被布置成四乘四矩阵。然而,存储块BLKa中的单元串CS的数量可以增加或减少。
每行的单元串可以连接到第一地选择线GSL1至第四地选择线GSL4中的相应一个以及第一串选择线SSL1至第四串选择线SSL4中的相应一个。每列的单元串可以连接到第一位线BL1至第四位线BL4中相应的一个。为了便于说明,连接到第二地选择线GSL2和第三地选择线GSL3或第二串选择线SSL2和第三串选择线SSL3的单元串被描绘为浅色的。
每个单元串CS可以包括连接到对应地选择线的至少一个地选择晶体管GST、分别连接到多个字线WL1至WL8的多个存储单元MC以及连接到对应串选择线SSL1或SSL2的串选择晶体管SST。在每个单元串CS中,地选择晶体管GST、存储单元MC和串选择晶体管SST可以沿着垂直于衬底SUB的方向串联连接,并且可以沿着垂直于衬底SUB的方向依次堆叠。
在示例实施例中,在每个单元串CS中,可以在地选择晶体管GST和存储单元MC之间布置一个或多个虚设存储单元(例如,DMC1和DMC2),并且虚设存储单元可以分别连接到一个或多个虚设字线(例如,DWL1和DWL2)。在每个单元串CS中,可以在串选择晶体管SST和存储单元MC之间布置一个或多个虚设存储单元。在每个单元串CS中,可以在存储单元MC之间布置一个或多个虚设存储单元。虚设存储单元可以具有与存储单元MC相同的结构,可以不被编程(例如,禁止编程)或者可以与存储单元MC不同地被编程。例如,当存储单元被编程以形成两个或多个阈值电压分布时,可以将虚设存储单元编程为具有一个阈值电压分布范围。
布置在离衬底SUB或地选择晶体管GST相同高度(或顺序)处的单元串CS的存储单元可以彼此电连接。布置在离衬底SUB或地选择晶体管GST不同高度(或次序)处的单元串CS的存储单元可以彼此电分离。图16中的示例实施例包括相同高度的存储单元连接到相同的字线。然而,相同高度的存储单元可以在形成存储单元的面中彼此直接连接,或者可以通过其他层(例如金属层)彼此间接连接。
存储块BLKa可以设置为三维(3D)存储阵列。3D存储阵列单片地形成在存储单元MC阵列的一个或多个物理层级中,存储单元MC具有布置在硅衬底之上的有源区以及与这些存储单元MC的操作相关联的电路。与存储单元MC的操作相关联的电路可以位于该衬底的上方或内部。术语“单片(monolithic)”意指阵列的每一层级的层直接沉积在3D存储阵列的每一下层级的层上。
在示例性实施例中,3D存储阵列包括竖直取向的竖直NAND串(或单元串),使得至少一个存储单元位于另一存储单元上方。所述至少一个存储单元可以包括电荷俘获层。每个竖直NAND串还可以包括位于存储单元MC之上的至少一个选择晶体管。至少一个选择晶体管可以具有与存储单元MC相同的结构,并且与存储单元MC均匀地形成。
以下专利文献(通过引用并入本文)描述了用于三维存储阵列的适当构造,其中三维存储阵列被构造为多个层级,在层级之间共享字线和/或位线:美国专利No.7,679,133;8,553,466;8,654,587;8,559,235;以及美国专利公开No.2011/0233648。
根据示例性实施例,与单位长度的地址相对应的访问请求被分割成数据请求,所述数据请求的量小于与单位长度对应的数据的量,并且数据请求被分散到多个通道中。因此,提供了用于减少直接存储器访问时间并提高速度的存储设备和控制器。
如领域中通常的,以功能块、单元和/或模块来描述并在附图中示出示例性实施例。本领域技术人员将理解,这些块、单元和/或模块通过诸如逻辑电路、分立部件、微处理器、硬连线电路、存储元件、配线连接等的电子(或光)电路来物理地实现,电子(或光)电路可以使用基于半导体的制造技术或其他制造技术来形成。在块、单元和/或模块由微处理器或类似物实现的情况下,它们可以使用软件(例如,微代码)被编程以执行本文讨论的各种功能,并且可以可选地由固件和/或软件驱动。备选地,每个块、单元和/或模块可以通过专用硬件实现或实现为执行一些功能的专用硬件和执行其他功能的处理器(例如,一个或多个编程的微处理器和相关联的电路)的组合。此外,在不脱离本示例性实施例的范围的情况下,示例性实施例的每个块、单元和/或模块可以物理地分离成两个或更多个交互和离散的块、单元和/或模块。此外,在不脱离本示例性实施例的范围的情况下,示例性实施例的块、单元和/或模块可以物理地组合成更复杂的块、单元和/或模块。
对于本领域技术人员显而易见的是,在不脱离示例性实施例的精神和范围的情况下,可以进行各种改变和修改。因此,应当理解,上述实施例不是限制性的,而是示例性的。

Claims (19)

1.一种存储设备,包括:
非易失性存储器件,被分组布置;以及
控制器,分别通过通道与所述组连接,并且被配置为:
产生针对所述非易失性存储器件中的非易失性存储器件的访问请求;以及
基于对所述访问请求的分割,分别通过所述通道中的两个或更多个通道,分别向所述组中的两个或更多个组发送分割后的访问请求;
其中所述控制器包括:
多个管理块,分别与所述通道相对应,并被配置为通过所述通道与所述组的非易失性存储器件进行通信;
通道分割块,被配置为控制与所述两个或更多个通道相对应的两个或更多个管理块,以对单位长度的数据进行通信,
其中所述访问请求的数据的大小是所述单位长度,
所述通道分割块将所述访问请求分割为用于请求对小于所述单位长度的大小的数据进行通信的访问请求,并将分割后的访问请求分别发送给所述两个或更多个管理块。
2.根据权利要求1所述的存储设备,其中,所述控制器还被配置为基于存储在第一通道的第一非易失性存储器件的第一存储块中的关联信息,识别第二通道的第二非易失性存储器件的第二存储块,所述第二存储块与所述第一存储块相关联。
3.根据权利要求2所述的存储设备,其中,所述访问请求包括所述第一存储块的第一块地址和页地址,以及
所述控制器还被配置为:
基于所述访问请求,通过第一通道向第一非易失性存储器件发送包括第一块地址和页地址的第一访问请求;以及
基于所述访问请求,通过第二通道向第二非易失性存储器件发送包括所识别的第二存储块的第二块地址和页地址的第二访问请求。
4.根据权利要求1所述的存储设备,其中,所述控制器还被配置为设置所述两个或更多个组中每一个的直接存储器访问DMA,使得对具有通过将所述访问请求的数据大小除以所述两个或更多个通道的数量而确定的大小的数据进行通信。
5.根据权利要求1所述的存储设备,其中,所述访问请求分别在所述两个或更多个组中的两个或更多个非易失性存储器件中并行执行。
6.根据权利要求1所述的存储设备,其中,所述控制器还被配置为以段为单位对通过所述两个或更多个通道通信的数据执行纠错编码和解码。
7.根据权利要求1所述的存储设备,其中,所述控制器还被配置为将在主机设备中使用的单位长度的逻辑地址转换为在非易失性存储器件中使用的分割长度的物理地址。
8.根据权利要求1所述的存储设备,其中,所述两个或更多个通道被布置在超级通道中,以及
所述控制器还被配置为:
关联和访问所述通道中的至少一个与所述通道中的至少另一个;以及
单独访问所述通道中的其余通道而不与所述通道中的另一通道相关联。
9.根据权利要求1所述的存储设备,其中,基于不同的命令格式访问所述两个或更多个组。
10.根据权利要求1所述的存储设备,其中,基于不同的纠错编码和解码方案访问所述两个或更多个组。
11.根据权利要求1所述的存储设备,其中,连接到所述两个或更多个通道中的第一通道的第一非易失性存储器件具有第一类型,并且
连接到两个或更多个通道中的第二通道的第二非易失性存储器件具有与第一类型不同的第二类型。
12.根据权利要求1所述的存储设备,其中所述控制器还包括:
地址转换块,被配置为将单位长度的逻辑地址转换为所述单位长度的物理地址。
13.根据权利要求1所述的存储设备,其中,所述管理块中的每一个包括访问队列,以及
所述通道分割块还被配置为基于所述访问请求,在所述两个或更多个管理块中每一个的访问队列中分别对访问请求进行排队。
14.根据权利要求13所述的存储设备,其中,分割后的访问请求中的每一个请求对具有通过将所述单位长度的大小的数据除以所述两个或更多个通道的数量而确定的大小的数据进行通信。
15.根据权利要求14所述的存储设备,其中所述管理块中的每一个包括直接存储器访问DMA,以及
所述两个或更多个管理块中的每一个还被配置为控制DMA以对具有所述访问请求中每一个的大小的数据进行通信。
16.根据权利要求1所述的存储设备,其中所述管理块中的每一个包括纠错块,以及
所述两个或更多个管理块中每一个的纠错块被配置为对大小为段的数据执行纠错编码和解码。
17.根据权利要求1所述的存储设备,其中,所述控制器还被配置为基于第一存储块和第二存储块的操作特性,将连接到所述两个或更多个通道中的第一通道的第一非易失性存储器件的第一存储块与连接到所述两个或更多个通道中的第二通道的第二非易失性存储器件的第二存储块相关联,所述操作特性包括读取时间、误码率、读取历史、编程和擦除计数、磨损水平、擦除时间、擦除历史、编程时间和编程历史中的任何一个或任何组合。
18.根据权利要求17所述的存储设备,其中,所述控制器还被配置为响应于第二存储块的操作特性发生改变,基于存储块的操作特性,对非易失性存储器件的存储块进行重新关联。
19.一种控制器,包括:
管理块,被配置为通过通道与外部非易失性存储器件进行通信;以及
通道分割块,被配置为:
接收对所述外部非易失性存储器件中的非易失性存储器件的访问请求,所述访问请求包括单位长度的物理地址;以及
将所接收的访问请求分割成用于请求对小于所述单位长度的大小的数据进行通信的访问请求,并分别向所述管理块中的两个或更多个管理块发送分割后的访问请求。
CN201711051759.2A 2016-11-29 2017-10-31 控制器以及包括控制器和非易失性存储器件的存储设备 Active CN108121673B (zh)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
KR1020160160785A KR102680418B1 (ko) 2016-11-29 2016-11-29 컨트롤러 및 컨트롤러와 불휘발성 메모리 장치들을 포함하는 스토리지 장치
KR10-2016-0160785 2016-11-29

Publications (2)

Publication Number Publication Date
CN108121673A CN108121673A (zh) 2018-06-05
CN108121673B true CN108121673B (zh) 2023-09-22

Family

ID=62192769

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201711051759.2A Active CN108121673B (zh) 2016-11-29 2017-10-31 控制器以及包括控制器和非易失性存储器件的存储设备

Country Status (3)

Country Link
US (2) US10564876B2 (zh)
KR (1) KR102680418B1 (zh)
CN (1) CN108121673B (zh)

Families Citing this family (13)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2018041154A (ja) * 2016-09-05 2018-03-15 東芝メモリ株式会社 ストレージシステムおよび処理方法
US10963393B1 (en) 2017-01-13 2021-03-30 Lightbits Labs Ltd. Storage system and a method for application aware processing
US10917496B2 (en) * 2017-09-05 2021-02-09 Amazon Technologies, Inc. Networked storage architecture
KR102611566B1 (ko) * 2018-07-06 2023-12-07 삼성전자주식회사 솔리드 스테이트 드라이브 및 그의 메모리 할당 방법
KR20200021815A (ko) * 2018-08-21 2020-03-02 에스케이하이닉스 주식회사 메모리 컨트롤러, 이를 포함하는 메모리 시스템 및 이의 동작 방법
CN109597712B (zh) * 2018-11-27 2021-04-23 杭州宏杉科技股份有限公司 空间分配方法及装置
KR20200132171A (ko) * 2019-05-15 2020-11-25 에스케이하이닉스 주식회사 메모리 시스템, 메모리 컨트롤러 및 메모리 장치
CN112395216A (zh) * 2019-07-31 2021-02-23 北京百度网讯科技有限公司 用于存储管理的方法、装置、设备和计算机可读存储介质
KR20220021772A (ko) * 2020-08-14 2022-02-22 에스케이하이닉스 주식회사 메모리 시스템 및 이에 포함된 메모리 장치의 동작 방법
US11513691B2 (en) * 2021-01-09 2022-11-29 Western Digital Technologies, Inc. Systems and methods for power and performance improvement through dynamic parallel data transfer between device and host
US11630727B2 (en) * 2021-03-24 2023-04-18 Micron Technology, Inc. Generating die block mapping after detected failure
US11861228B2 (en) * 2021-08-06 2024-01-02 Micron Technology, Inc. Memory status command aggregation
CN114896182B (zh) * 2022-05-11 2023-10-20 地平线(上海)人工智能技术有限公司 存储装置、方法、电子设备和存储介质

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103092764A (zh) * 2011-10-31 2013-05-08 苹果公司 用于获得和使用非易失性存储器健康信息的***和方法
CN104036825A (zh) * 2013-03-07 2014-09-10 三星电子株式会社 存储器控制器和包括存储器控制器的存储器***
CN104813408A (zh) * 2012-12-14 2015-07-29 桑迪士克科技股份有限公司 跟踪对非易失性存储器的区域的读访问
US9449659B2 (en) * 2007-08-20 2016-09-20 Micron Technology, Inc. Multiple data channel memory module architecture

Family Cites Families (30)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100190089B1 (ko) * 1996-08-30 1999-06-01 윤종용 플래쉬 메모리장치 및 그 구동방법
US6009014A (en) * 1998-06-03 1999-12-28 Advanced Micro Devices, Inc. Erase verify scheme for NAND flash
KR100305030B1 (ko) * 1999-06-24 2001-11-14 윤종용 플래시 메모리 장치
US7827386B2 (en) * 2003-06-30 2010-11-02 Intel Corporation Controlling memory access devices in a data driven architecture mesh array
WO2007058617A1 (en) * 2005-11-17 2007-05-24 Chee Keng Chang A controller for non-volatile memories, and methods of operating the memory controller
KR101226685B1 (ko) 2007-11-08 2013-01-25 삼성전자주식회사 수직형 반도체 소자 및 그 제조 방법.
US8566505B2 (en) 2008-04-15 2013-10-22 SMART Storage Systems, Inc. Flash management using sequential techniques
US8843691B2 (en) * 2008-06-25 2014-09-23 Stec, Inc. Prioritized erasure of data blocks in a flash storage device
KR101691092B1 (ko) 2010-08-26 2016-12-30 삼성전자주식회사 불휘발성 메모리 장치, 그것의 동작 방법, 그리고 그것을 포함하는 메모리 시스템
US8553466B2 (en) 2010-03-04 2013-10-08 Samsung Electronics Co., Ltd. Non-volatile memory device, erasing method thereof, and memory system including the same
US9536970B2 (en) 2010-03-26 2017-01-03 Samsung Electronics Co., Ltd. Three-dimensional semiconductor memory devices and methods of fabricating the same
KR101682666B1 (ko) 2010-08-11 2016-12-07 삼성전자주식회사 비휘발성 메모리 장치, 그것의 채널 부스팅 방법, 그것의 프로그램 방법 및 그것을 포함하는 메모리 시스템
US8694754B2 (en) 2011-09-09 2014-04-08 Ocz Technology Group, Inc. Non-volatile memory-based mass storage devices and methods for writing data thereto
US9690694B2 (en) 2011-09-27 2017-06-27 Sandisk Technologies, Llc Apparatus, system, and method for an address translation layer
US8966205B1 (en) 2012-05-10 2015-02-24 Western Digital Technologies, Inc. System data management using garbage collection and hybrid self mapping
US9229854B1 (en) 2013-01-28 2016-01-05 Radian Memory Systems, LLC Multi-array operation support and related devices, systems and software
US9092647B2 (en) * 2013-03-07 2015-07-28 Freescale Semiconductor, Inc. Programmable direct memory access channels
US10042750B2 (en) 2013-03-15 2018-08-07 Micron Technology, Inc. Apparatuses and methods for adaptive control of memory using an adaptive memory controller with a memory management hypervisor
KR102088403B1 (ko) 2013-08-08 2020-03-13 삼성전자 주식회사 저장장치, 이를 포함하는 컴퓨터 시스템 및 이의 동작 방법
US20150058529A1 (en) * 2013-08-21 2015-02-26 Sandisk Technologies Inc. Systems and methods of processing access requests at a data storage device
US9606916B2 (en) * 2013-09-13 2017-03-28 Samsung Electronics Co., Ltd. Semiconductor devices including application processor connected to high-bandwidth memory and low-bandwidth memory, and channel interleaving method thereof
US9891989B2 (en) 2013-10-11 2018-02-13 Hitachi, Ltd. Storage apparatus, storage system, and storage apparatus control method for updating stored data stored in nonvolatile memory
KR101533685B1 (ko) * 2013-11-29 2015-07-03 숭실대학교산학협력단 다중 프로세서용 메모리 장치 및 이를 포함하는 메모리 시스템
CN105320462A (zh) * 2014-07-08 2016-02-10 广明光电股份有限公司 固态硬盘存取数据的方法
KR20160024546A (ko) 2014-08-26 2016-03-07 에스케이하이닉스 주식회사 데이터 저장 장치 및 그것의 동작 방법
KR102358053B1 (ko) * 2014-10-28 2022-02-04 삼성전자주식회사 복수의 불휘발성 메모리 칩들을 포함하는 스토리지 장치
US20160246712A1 (en) * 2015-02-25 2016-08-25 HGST Netherlands B.V. Indirection data structures implemented as reconfigurable hardware
US9961033B2 (en) * 2015-11-09 2018-05-01 Red Hat Israel, Ltd. Memory-mapped input/output (I/O) channel
US20170285992A1 (en) * 2016-04-01 2017-10-05 Intel Corporation Memory subsystem with narrow bandwidth repeater channel
US10037150B2 (en) * 2016-07-15 2018-07-31 Advanced Micro Devices, Inc. Memory controller with virtual controller mode

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9449659B2 (en) * 2007-08-20 2016-09-20 Micron Technology, Inc. Multiple data channel memory module architecture
CN103092764A (zh) * 2011-10-31 2013-05-08 苹果公司 用于获得和使用非易失性存储器健康信息的***和方法
CN104813408A (zh) * 2012-12-14 2015-07-29 桑迪士克科技股份有限公司 跟踪对非易失性存储器的区域的读访问
CN104036825A (zh) * 2013-03-07 2014-09-10 三星电子株式会社 存储器控制器和包括存储器控制器的存储器***

Also Published As

Publication number Publication date
US20180150255A1 (en) 2018-05-31
US20200183600A1 (en) 2020-06-11
KR20180061557A (ko) 2018-06-08
US10564876B2 (en) 2020-02-18
CN108121673A (zh) 2018-06-05
KR102680418B1 (ko) 2024-07-03
US11287992B2 (en) 2022-03-29

Similar Documents

Publication Publication Date Title
CN108121673B (zh) 控制器以及包括控制器和非易失性存储器件的存储设备
US9978454B2 (en) Nonvolatile memory with block word line
US9905294B1 (en) Writing logically offset pages of data to N-level memory cells coupled to a common word line
KR102614083B1 (ko) 스토리지 장치 및 스토리지 장치의 동작 방법
US10403363B2 (en) Nonvolatile memory and storage device including nonvolatile memory
KR102596407B1 (ko) 저장 장치 및 그 동작 방법
US9646706B2 (en) Storage device and operating method thereof
CN110688324B (zh) 固态驱动器及其存储器分配方法
US9928138B2 (en) Memory system
CN106328200B (zh) 半导体器件及其操作方法
KR20170005915A (ko) 불휘발성 메모리 장치를 포함하는 스토리지 장치
KR102211868B1 (ko) 스토리지 장치 및 스토리지 장치의 동작 방법
KR20150116352A (ko) 메모리 제어 방법 및 시스템
US20180211707A1 (en) Semiconductor memory device and method of controlling semiconductor memory device
US20210295921A1 (en) Memory system
KR102479483B1 (ko) 메모리 시스템 및 이의 동작 방법
US11342013B2 (en) Memory system and operating method to set target command delay time to merge and process read commands
KR20200145199A (ko) 저장 장치 및 그 동작 방법
US9570181B2 (en) Memory system
US11182108B2 (en) Memory system, memory controller, and operation method
US20210064260A1 (en) Memory system, memory controller, and operation method thereof
CN110554836B (zh) 非易失性存储器件及其操作方法
US20230385193A1 (en) Memory system, memory controller and operating method thereof for determining garbage collection victim block
US20240153576A1 (en) Memory system, memory controller and method for operating memory system
US20240143192A1 (en) Memory system and operating method thereof

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant