CN111324550A - 存储器***及其操作方法 - Google Patents
存储器***及其操作方法 Download PDFInfo
- Publication number
- CN111324550A CN111324550A CN201910823495.0A CN201910823495A CN111324550A CN 111324550 A CN111324550 A CN 111324550A CN 201910823495 A CN201910823495 A CN 201910823495A CN 111324550 A CN111324550 A CN 111324550A
- Authority
- CN
- China
- Prior art keywords
- host
- segment
- segments
- map
- memory
- 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
- 230000015654 memory Effects 0.000 title claims abstract description 213
- 238000011017 operating method Methods 0.000 title abstract description 4
- 238000013507 mapping Methods 0.000 claims abstract description 76
- 230000004044 response Effects 0.000 claims abstract description 31
- 239000000872 buffer Substances 0.000 claims description 45
- 238000000034 method Methods 0.000 claims description 9
- 238000004364 calculation method Methods 0.000 claims description 7
- 230000007423 decrease Effects 0.000 claims description 7
- 239000003623 enhancer Substances 0.000 claims description 3
- 238000013519 translation Methods 0.000 claims description 3
- 238000010586 diagram Methods 0.000 description 22
- 239000004065 semiconductor Substances 0.000 description 22
- 238000013500 data storage Methods 0.000 description 10
- 230000002093 peripheral effect Effects 0.000 description 6
- 238000012545 processing Methods 0.000 description 4
- 238000012986 modification Methods 0.000 description 3
- 230000004048 modification Effects 0.000 description 3
- 238000012546 transfer Methods 0.000 description 3
- 101100444020 Caenorhabditis elegans dsl-1 gene Proteins 0.000 description 2
- 101100366714 Caenorhabditis elegans ssl-1 gene Proteins 0.000 description 2
- 230000000903 blocking effect Effects 0.000 description 2
- 230000003139 buffering effect Effects 0.000 description 2
- 230000001413 cellular effect Effects 0.000 description 2
- 238000004891 communication Methods 0.000 description 2
- 230000009977 dual effect Effects 0.000 description 2
- 239000012634 fragment Substances 0.000 description 2
- 238000009413 insulation Methods 0.000 description 2
- 239000007787 solid Substances 0.000 description 2
- 239000000758 substrate Substances 0.000 description 2
- 230000003936 working memory Effects 0.000 description 2
- 101000741396 Chlamydia muridarum (strain MoPn / Nigg) Probable oxidoreductase TC_0900 Proteins 0.000 description 1
- 101000741399 Chlamydia pneumoniae Probable oxidoreductase CPn_0761/CP_1111/CPj0761/CpB0789 Proteins 0.000 description 1
- 101000741400 Chlamydia trachomatis (strain D/UW-3/Cx) Probable oxidoreductase CT_610 Proteins 0.000 description 1
- 101000934888 Homo sapiens Succinate dehydrogenase cytochrome b560 subunit, mitochondrial Proteins 0.000 description 1
- 102100025393 Succinate dehydrogenase cytochrome b560 subunit, mitochondrial Human genes 0.000 description 1
- 230000005540 biological transmission Effects 0.000 description 1
- 239000000919 ceramic Substances 0.000 description 1
- 230000008859 change Effects 0.000 description 1
- 238000012937 correction Methods 0.000 description 1
- 230000003247 decreasing effect Effects 0.000 description 1
- 101150013423 dsl-1 gene Proteins 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 230000014509 gene expression Effects 0.000 description 1
- 238000004519 manufacturing process Methods 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 230000008569 process Effects 0.000 description 1
- 230000000717 retained effect Effects 0.000 description 1
- 230000011664 signaling Effects 0.000 description 1
- 230000003068 static effect Effects 0.000 description 1
Images
Classifications
-
- 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/08—Addressing or allocation; Relocation in hierarchically structured memory systems, e.g. virtual memory systems
- G06F12/10—Address translation
- G06F12/1027—Address translation using associative or pseudo-associative address translation means, e.g. translation look-aside buffer [TLB]
-
- 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/0646—Configuration or reconfiguration
-
- 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/08—Addressing or allocation; Relocation in hierarchically structured memory systems, e.g. virtual memory systems
- G06F12/0802—Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches
- G06F12/0866—Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches for peripheral storage systems, e.g. disk cache
- G06F12/0873—Mapping of cache memory to specific storage devices or parts thereof
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F13/00—Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
- G06F13/14—Handling requests for interconnection or transfer
- G06F13/16—Handling requests for interconnection or transfer for access to memory bus
- G06F13/1668—Details of memory controller
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input 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/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0602—Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
- G06F3/0604—Improving or facilitating administration, e.g. storage management
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input 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/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0628—Interfaces specially adapted for storage systems making use of a particular technique
- G06F3/0629—Configuration or reconfiguration of storage systems
- G06F3/0631—Configuration or reconfiguration of storage systems by allocating resources to storage systems
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input 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/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0628—Interfaces specially adapted for storage systems making use of a particular technique
- G06F3/0638—Organizing or formatting or addressing of data
- G06F3/064—Management of blocks
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input 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/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0628—Interfaces specially adapted for storage systems making use of a particular technique
- G06F3/0655—Vertical data movement, i.e. input-output transfer; data movement between one or more hosts and one or more storage devices
- G06F3/0656—Data buffering arrangements
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input 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/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0628—Interfaces specially adapted for storage systems making use of a particular technique
- G06F3/0655—Vertical data movement, i.e. input-output transfer; data movement between one or more hosts and one or more storage devices
- G06F3/0658—Controller construction arrangements
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input 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/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0668—Interfaces specially adapted for storage systems adopting a particular infrastructure
- G06F3/0671—In-line storage system
- G06F3/0673—Single storage device
- G06F3/0679—Non-volatile semiconductor memory device, e.g. flash memory, one time programmable memory [OTP]
-
- 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/10—Providing a specific technical effect
- G06F2212/1016—Performance improvement
-
- 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/10—Providing a specific technical effect
- G06F2212/1032—Reliability improvement, data loss prevention, degraded operation etc
-
- 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/7203—Temporary buffering, e.g. using volatile buffer or dedicated buffer blocks
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input 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/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0602—Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
- G06F3/0604—Improving or facilitating administration, e.g. storage management
- G06F3/0607—Improving or facilitating administration, e.g. storage management by facilitating the process of upgrading existing storage systems, e.g. for improving compatibility between host and storage device
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02D—CLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
- Y02D10/00—Energy efficient computing, e.g. low power processors, power management or thermal management
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)
- Read Only Memory (AREA)
- Techniques For Improving Reliability Of Storages (AREA)
Abstract
本发明提供了一种存储器***及其操作方法。该存储器***包括:主机,接收和存储主机映射段;存储器装置,包括存储映射数据的***块,该存储器装置响应于内部命令执行全部操作;以及控制器,响应于从主机接收的主机命令生成控制存储器装置的内部命令。控制器从存储器装置接收映射数据,然后存储所接收的映射数据,并且使用映射数据生成主机映射段,然后发送所生成的主机映射段。基于在设置时段中计算的工作负荷来调整可生成主机映射段的数量。
Description
相关申请的交叉引用
本申请要求于2018年12月14日提交的申请号为10-2018-0162363的韩国专利申请的优先权,其全部公开内容通过引用整体并入本文。
技术领域
本公开总体涉及一种电子装置,更特别地涉及一种存储器***及其操作方法。
背景技术
近来计算机环境的范例已经变成计算***可以随时随地使用的普适计算环境。这促进了诸如移动电话、数码相机、笔记本电脑等便携式电子装置的使用增加。这些便携式电子装置通常可以包括使用存储器装置的存储器***,即数据存储装置。数据存储装置被用作便携式电子装置的主存储器装置或辅助存储器装置。
由于不具有机械驱动部件,使用存储器装置的数据存储装置具有优异的稳定性和耐用性、高信息访问速度和低功耗。在具有这些优点的存储器***的示例中,数据存储装置包括通用串行总线(USB)存储器装置、具有各种接口的存储卡、固态驱动器(SSD)等。
存储器装置通常分为易失性存储器装置和非易失性存储器装置。
非易失性存储器装置具有相对慢的写入和读取速度,但即使在电力供应中断时也保留所存储的数据。因此,非易失性存储器装置用于存储不管是否供应电力都将被保留的数据。
易失性存储器的示例包括只读存储器(ROM)、掩模ROM(MROM)、可编程ROM(PROM)、电可编程ROM(EPROM)、电可擦除可编程ROM(EEPROM)、闪速存储器、相变RAM(PRAM)、磁性RAM(MRAM),电阻式RAM(RRAM)、铁电RAM(FRAM)等。闪速存储器分为NOR型闪速存储器和NAND型闪速存储器。
发明内容
实施例提供了一种能够使用存储在控制器中的映射数据来高效地生成待存储在主机存储器中的主机映射段的存储器***,以及该存储器***的操作方法。
根据本公开的一方面,提供了一种存储器***,包括:主机,被配置为接收和存储主机映射段;存储器装置,包括用于存储映射数据的***块,该存储器装置响应于内部命令执行全部操作;以及控制器,被配置为响应于从主机接收的主机命令生成用于控制存储器装置的内部命令,其中控制器从存储器装置接收映射数据,然后存储所接收的映射数据,并使用映射数据生成主机映射段,然后发送所生成的主机映射段,其中基于在设置时段中计算的工作负荷来调整可生成主机映射段的数量。
根据本公开的另一方面,提供了一种存储器***,包括:存储器装置,包括用于存储映射数据和主机映射段的***块;控制器,被配置为控制存储器装置的全部操作,接收并存储在***块中存储的映射数据之中一些映射数据,并基于该映射数据或该一些映射数据生成主机映射段,其中控制器基于在设置时段中计算的工作负荷来调整可生成主机映射段的数量。
根据本公开的又一方面,提供了一种操作存储器***的方法,该方法包括:计算存储器***的工作负荷;基于存储在存储器装置或控制器中的映射数据生成主机映射段,其中基于所计算的工作负荷来调整可生成主机映射段的数量;以及将所生成的主机映射段输出到主机。
根据本公开的另一方面,提供了一种存储器***,包括:主机,存储一个或多个主机映射段,该主机映射段包括表示逻辑地址与物理地址之间的映射关系的一条或更多条映射数据;存储器装置,存储用户数据和多条映射数据;以及控制器,根据存储器装置和控制器的工作负荷,基于该多条映射数据生成主机映射段以向主机提供所生成的主机映射段,其中主机向控制器提供请求以及在主机映射段内彼此映射的逻辑地址和物理地址,并且其中控制器响应于该请求控制存储器装置根据从主机提供的物理地址来访问用户数据。
附图说明
现在将参照附图更全面地描述各个实施例;然而,本发明可以以不同的形式实现,因此不应该被解释为限于本文中阐述的实施例。相反,提供这些实施例以使本公开是彻底的和完整的,并且向本领域技术人员充分传达实施例的范围。而且,在整个说明书中,对“实施例”、“另一实施例”等的参考不一定仅针对一个实施例,并且对任何这种短语的不同参考不一定针对相同的实施例。
在附图中,为了清楚说明,可夸大尺寸。将理解的是,当元件被称为在两个元件“之间”时,它可以是两个元件之间的唯一元件,或者也可存在一个或多个中间元件。相同的附图标记始终表示相同的元件。
图1是示出根据本公开的实施例的存储器***的框图。
图2是示出诸如图1中所示的控制器的配置的框图。
图3是示出诸如图2中所示的HPB控制块的框图。
图4是示出诸如图1中所示的半导体存储器的示图。
图5是示出诸如图4中所示的存储块的示图。
图6是示出三维配置的存储块的实施例的示图。
图7是示出三维配置的存储块的另一实施例的示图。
图8是示出根据本公开的实施例的存储器***的操作的流程图。
图9是示出存储器***的实施例的示图。
图10是示出存储器***的实施例的示图。
图11是示出存储器***的实施例的示图。
图12是示出存储器***的实施例的示图。
具体实施方式
本文提供的具体结构和功能描述是为了描述本公开的实施例的目的。然而,实施例可以以各种形式实施,这些形式可以是任何所公开实施例的修改或变化。因此,本发明不限于本文阐述的实施例。
此外,虽然详细描述了所公开的实施例,但是本发明不限于具体细节。而是,本发明包括不脱离本公开的精神和技术范围的所有改变、等同方案或替代方案。
虽然诸如“第一”和“第二”的术语可用于识别各种组件,但是这些组件不能被理解为受上述术语的限制。上述术语仅用于将一个组件与另一组件区分开,否则一个组件与另一组件具有相同或相似的名称。例如,在不脱离本公开的权利范围的情况下,在一个实例中的第一组件可在另一个实例中被称为第二组件。
应当理解的是,当元件被称为“连接”或“联接”至另一元件时,它可直接连接或联接到另一元件,或者也可存在一个或多个中间元件。相反,当元件被称为“直接连接”或“直接联接”至另一元件时,则不存在中间元件。描述组件之间的关系的其他表述,诸如“在……之间”、“紧接在……之间”或“与……相邻”和“与……直接相邻”,可类似地解释。
本申请中使用的术语仅用于描述特定实施例,并不旨在限制本公开。除非上下文另有清楚地说明,否则本公开中的单数形式旨在包括复数形式,反之亦然。在本申请和所附权利要求中使用的冠词“一”和“一个”通常应被解释为表示“一个或多个”,除非另有说明或从上下文清楚地指向单数形式。将进一步理解的是,诸如“包括”或“具有”等的术语旨在表示所陈述的特征、数字、操作、动作、组件、部件或其组合的存在,而并不旨在排除可存在或可添加一个或多个其他特征、数字、操作、动作、组件、部件或其组合的可能性。
只要未被不同地定义,本文使用的包括技术或科学术语的所有术语具有本公开所属领域的技术人员通常理解的含义。应当理解普通字典定义的术语具有与相关技术的上下文一致的含义。只要本申请中没有明确定义,则不应以理想化的或过于形式化的方式理解术语。
省略了本公开所属领域公知的并且与本公开不直接相关的技术的描述,以免不必要地模糊本发明的特征和方面。
以下参照附图详细描述本公开的各个实施例,以便本领域技术人员能够容易地实施和实践本发明。
图1是示出根据本公开的实施例的存储器***1000的框图。
参照图1,存储器***1000包括存储器装置1100、控制器1200和主机1300。存储器装置1100包括多个半导体存储器100。多个半导体存储器100可以分成多个组。尽管在图1中示出了将主机1300包括在存储器***1000中的布置,但是本发明不限于该布置。在另一实施例中,存储器***1000可以仅包括控制器1200和存储器装置1100,并且主机1300可以设置在存储器***1000的外部。
图1示出了多组存储器装置1100分别通过第一至第n通道CH1至CHn与控制器1200通信。多个半导体存储器100之中的至少一个半导体存储器100可以包括***块,并且***块可以存储用于将从主机1300接收的逻辑地址映射到存储器装置1100的物理地址的映射数据。另外,***块可以接收并存储在控制器1200中生成的主机映射段HPB_segment。
稍后将参照图4描述每个半导体存储器100。
给定组中的多个半导体存储器100中的每一个通过一个公共通道与控制器1200通信。也就是说,第一组通过第一通道CH1与控制器1200通信,第n组通过第n通道CHn与控制器1200通信。控制器1200通过多个通道CH1至CHn控制存储器装置1100的多个半导体存储器100。
控制器1200被联接在主机1300和存储器装置1100之间。控制器1200响应于来自主机1300的请求访问存储器装置1100。例如,控制器1200响应于从主机1300接收的主机命令Host_CMD来控制存储器装置1100的读取操作、写入操作、擦除操作和后台操作。在写入操作中,主机1300可以与主机命令Host_CMD一起发送数据和地址。在读取操作中,主机1300可以与主机命令Host_CMD一起发送地址。在存储器***1000的通电操作中,控制器1200可以接收存储在存储器装置1100中的映射数据的一部分,并且将所接收的映射数据存储在控制器1200中。控制器1200执行将从主机1300接收的地址(逻辑地址)映射到存储器装置1100的地址(物理地址)的映射操作。此外,控制器1200可以将控制器1200中存储的映射数据的一部分生成为主机映射段HPB_segment,并且将所生成的主机映射段HPB_segment发送到主机1300。此外,控制器1200可以将所生成的主机映射段HPB_segment存储在控制器1200中,或者通过将主机映射段HPB_segment发送到存储器装置1100来将主机映射段HPB_segment存储在存储器装置1100中。
当控制器1200生成主机映射段HPB_segment时,控制器1200可以基于存储器***的工作负荷来调整所生成的主机映射段的数量。例如,当存储器***1000的工作负荷增加时存储器***1000可以减少所生成的主机映射段的数量,并且当存储器***1000的工作负荷减少时存储器***1000可以增加所生成的主机映射段的数量。
控制器1200可以提供存储器装置1100和主机1300之间的接口连接。控制器1200驱动用于控制存储器装置1100的固件。
主机1300可以包括主机处理器1310和主机存储器1320。主机处理器1310可以生成对应于用户请求的至少一个主机命令Host_CMD,并且将所生成的主机命令Host_CMD发送到控制器1200。主机存储器1320可以存储从控制器1200接收的主机映射段HPB_segment。
主机1300包括诸如计算机、PDA、PMP、MP3播放器、照相机、便携式摄像机和移动电话的各种便携式电子装置中的任意一种。主机1400可以通过主机命令Host_CMD请求存储器***1000的写入操作、读取操作、擦除操作等。为了执行存储器装置1100的写入操作,主机1300可以向控制器1200发送与写入命令对应的主机命令Host_CMD、数据和地址。为了执行存储器装置1100的读取操作,主机1300可以向控制器1200发送与读取命令对应的主机命令Host_CMD和地址。
控制器1200和存储器装置1100可以集成到一个半导体装置中。在实施例中,控制器1200和存储器装置1100可以集成到一个半导体装置中以构成存储卡,诸如PC卡(个人计算机存储卡国际协会(PCMCIA))、紧凑式闪存(CF)卡、智能媒体卡(SM或SMC)、记忆棒、多媒体卡(MMC、RS-MMC或微型MMC)、SD卡(SD、迷你SD、微型SD或SDHC)或通用闪存(UFS)。
控制器1200和存储器装置1100可以集成到一个半导体器装置中以构成半导体驱动器(固态驱动器(SSD))。半导体驱动器SSD包括被配置为将数据存储在半导体存储器中的存储装置。
在另一示例中,存储器***1000可以被设置为诸如以下的电子装置中的各种组件之一:计算机、超移动PC(UMPC)、工作站、上网本、个人数字助理(PDA)、便携式计算机、网络平板、无线电话、移动电话、智能电话、电子书、便携式多媒体播放器(PMP)、便携式游戏机、导航***、黑匣子、数码相机、三维电视、数字音频记录器、数字音频播放器、数字图片记录器、数字图片播放器、数字视频记录器、数字视频播放器、能够在无线环境中发送/接收信息的装置、构成家庭网络的各种电子装置之一、构成计算机网络的各种电子装置之一、构成远程信息处理网络的各种电子装置之一、RFID装置或构成计算***的各种组件之一。
在实施例中,存储器装置1100或存储器***1000可以以各种形式封装。例如,存储器装置1100或存储器***1000可以以诸如以下的方式封装:堆叠封装(PoP)、球栅阵列(BGA)、芯片级封装(CSP)、塑料引线芯片载体(PLCC)、塑料双列直插式封装(PDIP)、叠片包装管芯(die in Waffle pack)、晶圆形式管芯、板上芯片(COB)、陶瓷双列直插式封装(CERDIP)、塑料公制四方扁平封装(MQFP)、薄型四方扁平封装(TQFP)、小外形集成电路(SOIC)、收缩型小外形封装(SSOP)、薄型小外形封装(TSOP)、***级封装(SIP)、多芯片封装(MCP)、晶圆级制造封装(WFP)、晶圆级处理堆叠封装(WSP)。
图2是示出图1所示的控制器的配置的框图。
参照图2,控制器1200可以包括主机控制电路1210、处理器1220、缓冲存储器1230、错误校正码(ECC)电路1240、闪存控制电路1250和总线1260。
总线1260可以提供控制器1200的组件之间的通道。
主机控制电路1210可以控制图1所示的主机1300与缓冲存储器1230之间的数据传输。在示例中,主机控制电路1210可以控制将从主机1300输入的数据缓冲到缓冲存储器1230的操作。在另一示例中,主机控制电路1210可以控制将缓冲到缓冲存储器1230的数据输出到主机1300的操作。此外,主机控制电路1210可以将存储在缓冲存储器1230中的主机映射段发送到主机1300。
主机控制电路1210可以包括主机接口。
处理器1220可以控制控制器1200的全部操作,并且执行逻辑操作。处理器1220可以通过主机控制电路1210与图1所示的主机1300通信,并且通过闪存控制电路1250与图1所示的存储器装置1100通信。此外,处理器1220可以通过使用缓冲存储器1230作为工作存储器、高速缓存存储器或缓冲存储器来控制存储器***1000的操作。处理器1220可以响应于通过按照优先级顺序对从主机1300接收的多个主机命令重新排列而生成的命令队列来控制闪存控制电路1250。此外,处理器1220使用存储在缓冲存储器1230中的映射数据或存储在存储器装置1100中的映射数据之中的被选择映射数据来生成主机映射段。此外,处理器1220在生成主机映射段的操作中,基于存储器***1000的工作负荷来调整或控制所生成的主机映射段的数量。
处理器1220可以包括闪存转换层(FTL)1221和主机感知性能增强器(Host-awarePerformance Booster,HPB)控制块1222。
FTL 1221通过驱动固件来控制存储器***的全部操作。固件可以存储在直接联接到处理器1220的存储器(未示出)中、存储在缓冲存储器1230中或者存储在处理器1220中。在写入操作中,FTL 1221可以将对应的物理地址映射到从图1所示的主机1300输入的地址(例如,逻辑地址)。此外,在读取操作中,FTL 1221检查映射到从主机1300输入的逻辑地址的物理地址。基于存储在缓冲存储器1230中的映射数据来执行映射操作。另一方面,当从主机1300接收到与存储在主机1300中的主机映射段对应的逻辑地址时,也可以与该逻辑地址一起从主机1300接收对应于存储器装置1100的地址。在这种情况下,不执行映射操作。
而且,FTL 1221可以响应于从主机1300接收的主机命令,生成用于控制闪存控制电路1250的命令队列。
HPB控制块1222使用存储在缓冲存储器1230中的映射数据或存储在存储器装置1100中的映射数据之中的被选择映射数据来生成主机映射段。此外,HPB控制块1222通过预测存储器***1000的工作负荷来计算工作负荷值,并且基于所计算的工作负荷值来调整或控制所生成的主机映射段的数量。
一旦生成,可以将主机映射段存储在缓冲存储器1230、存储器装置1100或两者中。将所存储的主机映射段发送到主机1300以存储在主机1300中。
尽管图2示出了单独设置FTL 1221和HPB控制块1222的布置,但是HPB控制块1222可以包括在FTL 1221中。
缓冲存储器1230可以用作处理器1220的工作存储器、高速缓存存储器或数据缓冲存储器。缓冲存储器1230可存储由处理器1220执行的代码和命令。缓冲存储器1230可以存储由处理器1220处理的数据。此外,缓冲存储器1230可以存储用于由处理器1220执行的映射操作的映射数据。映射数据可以被存储在图1所示的存储器装置1100中。可以在存储器***1000的通电操作中读取映射数据以存储在缓冲存储器1230中。
缓冲存储器1230可以包括映射数据存储块1231、HPB段存储块1232、写入缓冲器1233和读取缓冲器1234。映射数据存储块1231可以在存储器***1000的通电操作中接收并存储从存储器装置1100读取的映射数据。HPB段存储块1232可以存储由HPB控制块1222生成的主机映射段。写入缓冲器1233临时存储与写入命令一起从主机1300接收的数据,然后当写入命令被发送到存储器装置1100时将临时存储的数据发送到存储器装置1100。读取缓冲器1234在读取操作中临时存储从存储器装置1100接收的数据,然后将这些数据发送到主机1300。
缓冲存储器1230可以包括静态RAM(SRAM)或动态RAM(DRAM)。
ECC电路1240可执行ECC操作。ECC电路1240可以基于待通过闪存控制电路1250而写入到图1所示的存储器装置1100的数据来执行ECC编码。经ECC编码的数据可以通过闪存控制电路1250传送到存储器装置1100。ECC电路1240可以对通过闪存控制电路1250而从存储器装置1100接收的数据执行ECC解码。在示例中,ECC电路1240可以作为闪存控制电路1250的组件而被包括在闪存控制电路1250中。
闪存控制电路1250响应于由处理器1220生成的命令队列,生成并输出用于控制存储器装置1100的内部命令。在写入操作中,闪存控制电路1250可以通过将缓冲到缓冲存储器1230的写入缓冲器1233中的数据发送到存储器装置1100来控制写入操作。在另一示例中,在读取操作中,闪存控制电路1250可以响应于命令队列来控制将从存储器装置1100读取的数据缓冲到缓冲存储器1230的读取缓冲器1234的操作。此外,在映射数据更新操作中,闪存控制电路1250可以控制存储器装置1100读取存储在存储器装置1100中的映射数据,并且将所读取的映射数据存储在缓冲存储器1230的映射数据存储块1231中。
闪存控制电路1250可以包括闪存接口。
图3是示出例如图2中所示的HPB控制块1222的HPB控制块的框图。
参照图3,HPB控制块1222可以包括主机映射段生成块1222A、计数器块1222B、段生成控制块1222C和工作负荷计算块1222D。
主机映射段生成块1222A响应于开始信号Start,基于映射数据生成主机映射段HPB_segment。例如,主机映射段生成块1222A选择并接收存储在图2所示的映射数据存储块1231或图1所示的存储器装置1100中的映射数据之中的一些映射数据,并且基于所接收的映射数据生成主机映射段HPB_segment。例如,主机映射段生成块1222A可以生成分别与相邻地址对应的多条映射数据作为一个主机映射段HPB_segment。此外,主机映射段生成块1222A响应于停止信号Stop而停止生成主机映射段HPB_segment。
每当主机映射段生成块1222A完全生成一个主机映射段HPB_segment时,计数器块1222B接收生成完成信号Complete,并且每当接收到生成完成信号Complete时,计数器块1222B通过将所生成的主机映射段HPB_segment的数量增加1来管理所生成的主机映射段HPB_segment的数量。此外,计数器块1222B通过从所生成的主机映射段HPB_segment的数量中减去发送到图1所示的主机1300的主机映射段HPB_segment的数量来管理所生成的主机映射段HPB_segment的数量。
段生成控制块1222C可以基于工作负荷值WAI_Value,生成并输出开始信号Start或停止信号Stop以用于执行或停止在主机映射段生成块1222A中生成主机映射段HPB_segment的操作。
段生成控制块1222C可以包括段数量设置块12221。段数量设置块12221基于工作负荷值WAI_Value来设置主机映射段的可生成数量(可生成数量)。例如,可以与工作负荷值成反比地设置并且随后调整主机映射段的可生成数量。段数量设置块12221通过将所设置的可生成数量与Count进行比较来生成并输出开始信号Start或停止信号Stop,其中Count表示所生成的主机映射段HPB_segment的数量并且由计数器块1222B管理。例如,当确定Count大于或等于所设置的可生成数量时,段数量设置块12221生成并输出停止信号Stop。当确定Count小于设置的可生成数量时,段数量设置块12221生成并输出开始信号Start。
工作负荷计算块1222D通过在设置时段期间计算存储器***的工作负荷来生成并输出工作负荷值WAI_Value,在该设置时段中执行生成主机映射段HPB_segment的操作和将所生成的主机映射段HPB_segment发送到主机和存储器装置的操作。例如,工作负荷计算块1222D通过预测待在设置时段中执行的生成主机映射段的操作,存储器***的写入操作、读取操作或擦除操作以及将主机映射段存储在存储器装置1100中的操作来计算工作负荷值。
图4是示出图1中所示的半导体存储器100的示例的示图。
参照图4,半导体存储器100可以包括存储数据的存储器单元阵列10。半导体存储器100可以包括***电路200,该***电路200被配置为执行用于将数据存储在存储单元阵列10中的编程操作、用于输出所存储数据的读取操作以及用于擦除所存储数据的擦除操作。半导体存储器100可以包括控制逻辑300,该控制逻辑300在图1所示的控制器1200的控制下控制***电路200。
存储器单元阵列10可以包括多个存储块MB1至MBk(k是正整数)11。局部线LL和位线BL1至BLm(m是正整数)可以联接到存储块MB1至MBk 11。例如,局部线LL可以包括第一选择线、第二选择线和布置在第一选择线和第二选择线之间的多个字线。此外,局部线LL可以进一步包括布置在第一选择线和字线之间以及布置在第二选择线和字线之间的虚设线。第一选择线可以是源极选择线,第二选择线可以是漏极选择线。例如,局部线LL可以包括字线、漏极选择线和源极选择线以及源极线SL。例如,局部线LL可以进一步包括虚设线。例如,局部线LL可以进一步包括管线。局部线LL可以分别联接到存储块MB1至MBk 11,并且位线BL1至BLm可以共同联接到存储块MB1至MBk 11。存储块MB1至MBk 11可以以二维或三维结构实施。例如,在具有二维结构的存储块11中,存储器单元可以沿平行于衬底的方向布置。例如,在具有三维结构的存储块11中,存储器单元可以沿垂直于衬底的方向布置。
多个存储块MB1至MBk 11之中的至少一个存储块(例如,MB1)可以被定义为***存储块,并且映射数据和在图3所示的主机映射段生成块1222A中生成的主机映射段HPB_segment可以被存储在***存储块中。
***电路200可以被配置为在控制逻辑300的控制下执行被选择存储块11的编程操作、读取操作和擦除操作。例如,***电路200可以包括电压生成电路210、行解码器220、页面缓冲器组230、列解码器240、输入/输出电路250、通过/失败检查电路260和源极线驱动器270。
电压生成电路210可以响应于操作信号OP_CMD而生成用于编程操作、读取操作和擦除操作的各种操作电压Vop。而且,电压生成电路210可以响应于操作信号OP_CMD选择性地使局部线LL放电。例如,电压生成电路210可以在控制逻辑300的控制下生成编程电压、验证电压、通过电压和选择晶体管操作电压。
行解码器220可以响应于控制信号AD_signals来将操作电压Vop传送到与被选择存储块11联接的局部线LL。例如,行解码器220可以响应于控制信号AD_signals来选择性地将由电压生成电路210生成的操作电压(例如,编程电压、验证电压、通过电压等)施加到局部线LL之中的字线。
在编程电压施加操作中,行解码器220响应于控制信号AD_signals来将由电压生成电路210生成的编程电压施加到局部线LL之中的被选择字线,并且将由电压生成电路210生成的通过电压施加到其他未选择字线。此外,在读取操作中,行解码器220响应于控制信号AD_signals来将由电压生成电路210生成的读取电压施加到局部线LL之中的被选择字线,并且将由电压生成电路210生成的通过电压施加到其他未选择字线。
页面缓冲器组230可以包括联接到位线BL1至BLm的多个页面缓冲器PB1至PBm231。页面缓冲器PB1至PBm 231可以响应于页面缓冲器控制信号PBSIGNALS而操作。例如,页面缓冲器PB1至PBm 231可以在编程操作中临时存储待被编程的数据,或者在读取操作或验证操作中感测位线BL1至BLm的电压或电流。
列解码器240可以响应于列地址CADD而在输入/输出电路250和页面缓冲器组230之间传送数据。例如,列解码器240可以通过数据线DL与页面缓冲器231交换数据,或者通过列线CL与输入/输出电路250交换数据。
输入/输出电路250可以将从图1所示的控制器1200接收的命令CMD和地址ADD传送到控制逻辑300,或者与列解码器240交换数据DATA。
在读取操作和验证操作中,通过/失败检查电路260可以响应于允许位VRY_BIT<#>而生成参考电流,并通过将从页面缓冲器组230接收的感测电压VPB与由参考电流生成的参考电压进行比较来输出通过信号PASS或失败信号FAIL。
源极线驱动器270可以通过源极线SL而联接到包括在存储器单元阵列10中的存储器单元,并且控制施加到源极线SL的电压。源极线驱动器270可以从控制逻辑300接收源极线控制信号CTRL_SL,并且基于源极线控制信号CTRL_SL来控制施加到源极线SL的源极线电压。
控制逻辑300可以响应于命令CMD和地址ADD,通过输出操作信号OP_CMD、控制信号AD_signals、页面缓冲器控制信号PBSIGNALS和允许位VRY_BIT<#>来控制***电路200。而且,控制逻辑300可以响应于通过信号PASS或失败信号FAIL来确定验证操作已经通过还是已经失败。
图5是示出根据实施例的图4中所示的存储块的结构的示图。
参照图5,在存储块11中,彼此平行布置的多个字线可以联接在第一选择线和第二选择线之间。第一选择线可以是源极选择线SSL,第二选择线可以是漏极选择线DSL。更具体地,存储块11可以包括联接在位线BL1至BLm与源极线SL之间的多个串ST。位线BL1至BLm可以分别联接到串ST,并且源极线SL可以共同联接到串ST。串ST可以彼此相同地配置,因此作为示例将详细描述联接到第一位线BL1的串ST。
串ST可以包括源极选择晶体管SST、多个存储器单元F1至F16和漏极选择晶体管DST,它们在源极线SL和第一位线BL1之间彼此串联联接。至少一个源极选择晶体管SST和至少一个漏极选择晶体管DST可以包括在一个串ST中,并且可以在一个串ST中包括多于图中所示的16个存储器单元F1至F16。
源极选择晶体管SST的源极可以联接到源极线SL,漏极选择晶体管DST的漏极可以联接到第一位线BL1。存储器单元F1至F16可以串联联接在源极选择晶体管SST和漏极选择晶体管DST之间。包括在不同串ST中的源极选择晶体管SST的栅极可以联接到源极选择线SSL,包括在不同串ST中的漏极选择晶体管DST的栅极可以联接到漏极选择线DSL,包括在不同串ST中的存储器单元F1到F16的栅极可以联接到多个字线WL1至WL16。包括在不同串ST中的存储器单元之中的、联接到相同字线的存储器单元组可以是物理页面PPG。因此,数量与字线WL1至WL16的数量对应的物理页面PPG可以包括在存储块110中。
一个存储器单元可以存储一位数据。该一个存储器单元通常被称为单层单元(SLC)。一个物理页面(PPG)可以存储一个逻辑页面(LPG)数据。该一个LPG数据可以包括与包括在一个物理页面PPG中的单元的数量对应的数据位。而且,一个存储器单元可以存储两位或更多位数据。该一个存储器单元通常被称为多层单元(MLC)。一个物理页面PPG可以存储两个或更多个LPG数据。
图6是示出三维配置的存储块的实施例的示图。
参照图6,存储器单元阵列10可以包括多个存储块MB1至MBk 11。存储块11可以包括多个串ST11至ST1m和ST21至ST2m。在实施例中,多个串ST11至ST1m和ST21至ST2m中的每一个可以形成为“U”形。在存储块11中,m个串可以沿行方向(X方向)布置。尽管在图6中示出了在列方向(Y方向)上布置两个串的布置,但这是为了清楚起见;可以在列方向(Y方向)上布置三个或更多个串。
多个串ST11至ST1m和ST21至ST2m中的每一个可包括至少一个源极选择晶体管SST、第一至第n存储器单元MC1至MCn、管道晶体管PT以及至少一个漏极选择晶体管DST。
源极和漏极选择晶体管SST和DST以及存储器单元MC1至MCn可以具有彼此类似的结构。例如,源极和漏极选择晶体管SST和DST以及存储器单元MC1至MCn中的每一个可以包括沟道层、隧道绝缘层、电荷俘获层和阻挡绝缘层。例如,可以在每个串中设置用于提供沟道层的柱。例如,可以在每个串中设置用于提供沟道层、隧道绝缘层、电荷俘获层和阻挡绝缘层中的至少一个的柱。
每个串的源极选择晶体管SST可以联接在源极线SL和存储器单元MC1至MCp之间。
在实施例中,布置在同一行中的串的源极选择晶体管可以联接到沿行方向延伸的源极选择线,并且布置在不同行中的串的源极选择晶体管可以联接到不同的源极选择线。在图6中,第一行的串ST11至ST1m的源极选择晶体管可以联接到第一源极选择线SSL1。第二行的串ST21至ST2m的源极选择晶体管可以联接到第二源极选择线SSL2。
在另一实施例中,串ST11至ST1m和ST21至ST2m的源极选择晶体管可以共同联接到一个源极选择线。
每个串的第一至第n存储器单元MC1至MCn可联接在源极选择晶体管SST和漏极选择晶体管DST之间。
第一至第n存储器单元MC1至MCn可被划分为第一至第p存储器单元MC1至MCp以及第(p+1)至第n存储器单元MCp+1至MCn。第一至第p存储器单元MC1至MCp可以在垂直方向(Z方向)上顺序地布置,并且在源极选择晶体管SST和管道晶体管PT之间彼此串联联接。第(p+1)至第n存储器单元MCp+1至MCn可以在垂直方向(Z方向)上顺序地布置,并且在管道晶体管PT和漏极选择晶体管DST之间彼此串联联接。第一至第p存储器单元MC1至MCp和第(p+1)至第n存储器单元MCp+1至MCn可通过管道晶体管PT彼此联接。每个串的第一至第n存储器单元MC1至MCn的栅极可分别联接到第一至第n字线WL1至WLn。
在实施例中,第一存储器单元MC1至第n存储器单元MCn中的至少一个可以用作虚设存储器单元。当设置虚设存储器单元时,可以稳定地控制相应串的电压或电流。每个串的管道晶体管PT的栅极可联接到管线PL。
每个串的漏极选择晶体管DST可以联接到位线和存储器单元MCp+1到MCn。沿行方向布置的串可联接到沿行方向延伸的漏极选择线。第一行的串ST11至ST1m的漏极选择晶体管可联接到第一漏极选择线DSL1。第二行的串ST21至ST2m的漏极选择晶体管可联接到第二漏极选择线DSL2。
沿列方向布置的串可联接到沿列方向延伸的位线。在图6中,第一列的串ST11和ST21可以联接到第一位线BL1。第m列的串ST1m和ST2m可以联接到第m位线BLm。
沿行方向布置的串之中的、联接到相同字线的存储器单元可以构成一个页面。例如,第一行的串ST11到ST1m之中的、联接到第一字线WL1的存储器单元可以构成一个页面。第二行的串ST21到ST2m之中的、联接到第一字线WL1的存储器单元可以构成另一页面。当选择漏极选择线DSL1和DSL2中的任意一个时,可选择沿一个行方向布置的串。当选择字线WL1至WLn中的任意一个时,可选择所选择串之中的一个页面。
图7是示出三维配置的存储块的另一实施例的示图。
参照图7,存储器单元阵列10可以包括多个存储块MB1至MBk 11。存储块11可以包括多个串ST11'至ST1m'和ST21'至ST2m'。多个串ST11'至ST1m'和ST21'至ST2m'中的每一个可以沿垂直方向(Z方向)延伸。在存储块11中,m个串可以沿行方向(X方向)布置。尽管在图7中示出了在列方向(Y方向)上布置两个串的布置,但这是为了清楚起见;可以在列方向(Y方向)上布置三个或更多个串。
多个串ST11'至ST1m'和ST21'至ST2m'中的每一个可包括至少一个源极选择晶体管SST、第一至第n存储器单元MC1至MCn以及至少一个漏极选择晶体管DST。
每个串的源极选择晶体管SST可以联接在源极线SL和存储器单元MC1至MCn之间。布置在同一行中的串的源极选择晶体管可联接到相同的源极选择线。布置在第一行中的串ST11'至ST1m'的源极选择晶体管可以联接到第一源极选择线SSL1。布置在第二行中的串ST21'至ST2m'的源极选择晶体管可以联接到第二源极选择线SSL2。在另一实施例中,串ST11'至ST1m'和ST21'至ST2m'的源极选择晶体管可以共同联接到一个源极选择线。
每个串的第一至第n存储器单元MC1至MCn可以在源极选择晶体管SST和漏极选择晶体管DST之间彼此串联联接。第一至第n存储器单元MC1至MCn的栅极可分别联接到第一至第n字线WL1至WLn。
在实施例中,第一存储器单元MC1至第n存储器单元MCn中的至少一个可以用作虚设存储器单元。当设置虚设存储器单元时,可以稳定地控制相应串的电压或电流。因此,可以提高存储在存储块11中的数据的可靠性。
每个串的漏极选择晶体管DST可以联接在位线和存储器单元MC1至MCn之间。沿行方向布置的串的漏极选择晶体管DST可以联接到沿行方向延伸的漏极选择线。第一行的串ST11'至ST1m'的漏极选择晶体管DST可以联接到第一漏极选择线DSL1。第二行的串ST21'至ST2m'的漏极选择晶体管DST可以联接到第二漏极选择线DSL2。
图8是示出根据本公开的实施例的存储器***1000的操作的流程图,附带参照图1至图7进行描述。
工作负荷计算块1222D通过在设置时段期间计算存储器***的工作负荷来生成工作负荷值WAI_Value,其中在该设置时段中执行生成主机映射段HPB_segment的操作和将所生成的主机映射段HPB_segment发送到主机和存储器装置的操作(S810)。例如,工作负荷计算块1222D通过预测待在设置时段执行的生成主机映射段的操作,存储器***的写入操作、读取操作或擦除操作,以及将主机映射段存储在存储器装置1100中的操作来计算工作负荷值。
段数量设置块12221基于工作负荷值WAI_Value来设置主机映射段的可生成数量(可生成数量A)(S820)。例如,段数量设置块12221通过以下方式来设置可生成数量A:在所计算的存储器***1000的工作负荷值WAI_Value增加时减小可生成数量A,并且当所计算的存储器***1000的工作负荷值WAI_Value减少时增加可生成数量A。
主机映射段生成块1222A选择存储在图2所示的映射数据存储块1231或图1所示的存储器装置1100中的映射数据之中的一些映射数据(S830)。关于选择标准,可以选择在映射数据存储块1231或存储器装置1100中存储的映射数据之中的、被从主机1300接收的地址很多次访问的映射数据。也就是说,可以选择多条映射数据之中的、具有高访问频率的映射数据。
段数量设置块12221将可生成数量A与所生成的主机映射段HPB_segment的数量B进行比较,其中数量B由计数器块1222B管理(S840)。
作为上述比较步骤S840的结果,当确定数量B小于可生成数量A(是)时,主机映射段生成块1222A响应于开始信号Start基于所选择的映射数据来生成主机映射段HPB_segment,并且计数器块1222B将所生成的主机映射段的数量B增加1(S850)。将所生成的主机映射段HPB_segment存储在主机映射段存储块1232或半导体存储器100的***块中。
随后,确定是否将继续生成主机映射段(S860)。例如,当所增加的数量B小于可生成数量A时,可以确定将继续生成主机映射段。
当确定将继续生成主机映射段时(S860,是),从步骤S830起重新执行上述步骤。
另一方面,当确定将不继续生成主机映射段时(S860,否),将存储在主机映射段存储块1232或者半导体存储器100的***块中的多个主机映射段之中的至少一个主机映射段发送到主机1300以被存储在主机存储器1320中(S870)。可以在主机映射段存储块1232或半导体存储器100的***块中移除被存储在主机存储器1320中的主机映射段。
返回到比较步骤S840,当确定所生成的主机映射段的数量B大于或等于可生成数量A时(S840,否),在执行上述步骤S870之后执行以下步骤。
在步骤S870之后,计数器块1222B从数量B中减去从主机映射段存储块1232或半导体存储器100的***块发送到主机1300以存储在主机存储器1320中的主机映射段的数量(S880)。
如上所述,根据本公开的实施例,基于存储器***的工作负荷值来调整或控制所生成的主机映射段的数量,从而可以提高存储器***的效率。
图9是示出存储器***的实施例的示图。
参照图9,存储器***30000可以被实施为蜂窝电话、智能电话、平板PC、个人数字助理(PDA)或无线通信装置。存储器***30000可以包括存储器装置1100和能够控制存储器装置1100的操作的控制器1200。控制器1200可以在处理器3100的控制下控制存储器装置1100的数据访问操作,例如编程操作、擦除操作、读取操作等。
编程在存储器装置1100中的数据可以在控制器1200的控制下通过显示器3200输出。
无线电收发器3300可以通过天线ANT发送/接受无线电信号。例如,无线电收发器3300可以将通过天线ANT接收的无线电信号转换为可以由处理器3100处理的信号。因此,处理器3100可以处理从无线电收发器3300输出的信号,并且可以将处理后的信号发送到控制器1200或显示器3200。控制器1200可以将由处理器3100处理的信号发送到存储器装置1100。此外,无线电收发器3300可以将从处理器3100输出的信号转换为无线电信号,并通过天线ANT将转换后的无线电信号输出到外部装置。输入装置3400是能够输入用于控制处理器3100的操作的控制信号或由处理器3100处理的数据的装置,并且可以被实施为诸如触摸板或计算机鼠标的定点装置、小键盘或者键盘。处理器3100可以控制显示器3200的操作,使得可以通过显示器3200输出从控制器1200输出的数据、从无线电收发器3300输出的数据或从输入装置3400输出的数据。
在一些实施例中,能够控制存储器装置1100的操作的控制器1200可以被实施为处理器3100的一部分,或者被实施为与处理器3100分离的芯片。而且,控制器1200可以利用图2中所示的控制器来实施。
图10是示出存储器***的实施例的示图。
参照图10,存储器***40000可以实施为个人计算机(PC)、平板PC、上网本、电子阅读器、个人数字助理(PDA)、便携式多媒体播放器(PMP)、MP3播放器或MP4播放器中。
存储器***40000可以包括存储器装置1100和能够控制存储器装置1100的数据处理操作的控制器1200。
处理器4100可以根据通过输入装置4200输入的数据,通过显示器4300输出存储在存储器装置1100中的数据。例如,输入装置4200可以被实施为诸如触摸板或计算机鼠标的定点装置、小键盘或者键盘。
处理器4100可以控制存储器***40000的全部操作,并控制控制器1200的操作。在一些实施例中,能够控制存储器装置1100的操作的控制器1200可以被实施为处理器4100的一部分,或者被实施为与处理器4100分离的芯片。而且,控制器1200可以利用图2中所示的控制器来实施。
图11是示出存储器***的实施例的示图。
参照图11,存储器***50000可以实施为图像处理装置,例如数码相机、附接有数码相机的移动终端、附接有数码相机的智能手机或者附接有数码相机的平板PC。
存储器***50000可以包括存储器装置1100和控制器1200,控制器1200能够控制存储器装置1100的数据处理操作,例如编程操作、擦除操作或读取操作。
存储器***50000的图像传感器5200可以将光学图像转换为数字信号,并且转换后的数字信号可以被发送到处理器5100或控制器1200。在处理器5100的控制下,转换后的数字信号可以通过显示器5300输出,或者通过控制器1200存储在存储器装置1100中。另外,存储在存储器装置1100中的数据可以在处理器5100或控制器1200的控制下通过显示器5300输出。
在一些实施例中,能够控制存储器装置1100的操作的控制器1200可以被实施为处理器5100的一部分,或者被实施为与处理器5100分离的芯片。而且,控制器1200可以利用图2中所示的控制器来实施。
图12是示出存储器***的实施例的示图。
参照图12,存储器***70000可以实施为存储卡或智能卡。存储器***70000可以包括存储器装置1100、控制器1200、以及卡接口7100。
控制器1200可以控制存储器装置1100和卡接口7100之间的数据交换。在一些实施例中,卡接口7100可以是安全数字(SD)卡接口或多媒体卡(MMC)接口,但是本公开不限于此。而且,控制器1200可以利用图2中所示的控制器来实施。
卡接口7100可以根据主机60000的协议来接口连接主机60000和控制器1200之间的数据交换。在一些实施例中,卡接口7100可以支持通用串行总线(USB)协议和芯片间(IC)-USB协议。卡接口7100可以表示能够支持主机60000所使用的协议的硬件、嵌入在硬件中的软件或信号传输方案。
当存储器***70000联接到诸如PC、平板PC、数码相机、数字音频播放器、蜂窝电话、控制台视频游戏硬件或数字机顶盒的主机60000的主机接口6200时,主机接口6200可以在微处理器6100的控制下通过卡接口7100和控制器1200来执行与存储器装置1100的数据通信。
根据本公开的实施例,基于存储器***的工作负荷来调整所生成的主机映射段的数量,从而可以提高存储主机映射段的操作的效率。
虽然已经参考其各个实施例示出和描述了本公开,但是本领域技术人员根据本公开将理解的是,在不脱离由所附权利要求及其等同方案限定的本公开的精神和范围的情况下,可在本公开中在形式和细节上进行各种改变。因此,本发明的范围不应限于上述实施例,而应由所附权利要求及其等同方案确定。
在上述实施例中,可选择性地执行步骤或者可省略部分步骤。而且,不一定按照所描述的顺序执行步骤,并且可重新布置步骤。提供本文公开的实施例以便于理解本发明,而不是限制本发明。也就是说,对于本领域技术人员应显而易见的是,可基于本公开的技术范围进行各种修改。
尽管这里使用了特定术语,但它们仅用于解释实施例,而不是限制本发明。因此,本发明不限于上述实施例,在本公开的精神和范围内可以进行许多变化。本发明不仅涵盖所公开的实施例,还涵盖落入本公开范围内的其所有修改和变化。
Claims (20)
1.一种存储器***,包括:
主机,接收和存储主机映射段;
存储器装置,包括存储映射数据的***块,所述存储器装置响应于内部命令执行全部操作;以及
控制器,响应于从所述主机接收的主机命令生成控制所述存储器装置的所述内部命令。
其中所述控制器从所述存储器装置接收所述映射数据,然后存储所接收的映射数据,并且使用所述映射数据生成所述主机映射段,然后发送所生成的主机映射段,其中基于在设置时段中计算的工作负荷来调整可生成主机映射段的数量。
2.根据权利要求1所述的存储器***,其中当在所述设置时段中计算的工作负荷增加时,所述控制器减少所述可生成主机映射段的数量,并且当在所述设置时段中计算的工作负荷减少时,所述控制器增加所述可生成主机映射段的数量。
3.根据权利要求1所述的存储器***,其中所述控制器将所生成的主机映射段存储在所述控制器或者所述存储器装置的所述***块中,或者存储在所述控制器和所述***块两者中。
4.根据权利要求1所述的存储器***,其中所述设置时段是执行生成所述主机映射段的操作和将所生成的主机映射段发送到所述主机和所述存储器装置的操作的时段。
5.根据权利要求1所述的存储器***,其中所述控制器通过选择存储在所述控制器中的映射数据和存储在所述***块中的映射数据之中的、具有较高访问频率的映射数据来生成所述主机映射段。
6.根据权利要求1所述的存储器***,其中所述控制器包括:
处理器,基于所述映射数据映射从所述主机接收的地址,并且基于所述映射数据生成所述主机映射段;以及
缓冲存储器,存储所述映射数据和所述主机映射段。
7.根据权利要求6所述的存储器***,其中所述处理器包括:
闪存转换层,基于所述映射数据映射所述地址;以及
主机感知性能增强器控制块,即HPB控制块,通过选择存储在所述缓冲存储器中的映射数据和存储在所述***块中的映射数据之中的一些映射数据来生成所述主机映射段,其中通过计算所述存储器***的工作负荷来调整所述可生成主机映射段的数量。
8.根据权利要求7所述的存储器***,其中所述HPB控制块包括:
主机映射段生成块,响应于开始信号基于所述一些映射数据生成所述主机映射段,并且响应于停止信号停止生成所述主机映射段的操作;
计数器块,每当在所述主机映射段生成块中生成所述可生成主机映射段之中的另一主机映射段时,递增所生成的主机映射段的数量,并且当所述主机映射段被发送到所述主机时,通过将所生成的主机映射段的数量减少发送到所述主机的主机映射段的数量,来管理所生成的主机映射段的数量;
工作负荷计算块,计算所述设置时段期间的工作负荷;以及
段生成控制块,基于所计算的工作负荷设置可生成数量,所述可生成数量表示所述可生成主机映射段的数量,并且通过将所生成的主机映射段的数量与所述可生成数量进行比较来生成所述开始信号或所述停止信号。
9.根据权利要求8所述的存储器***,其中所述HPB控制块:
当所生成的主机映射段的数量小于所述可生成数量时,生成另一主机映射段;并且
当所生成的主机映射段的数量大于或等于所述可生成数量时,停止生成主机映射段的操作。
10.一种存储器***,包括:
存储器装置,包括存储映射数据和主机映射段的***块;以及
控制器,控制所述存储器装置的全部操作,接收并存储在所述***块中存储的所述映射数据之中的一些映射数据,并且基于所述映射数据或所述一些映射数据生成所述主机映射段,
其中所述控制器基于在设置时段中计算的工作负荷来调整可生成主机映射段的数量。
11.根据权利要求10所述的存储器***,其中所述控制器将所述主机映射段存储在所述控制器或所述存储器装置的所述***块中,并且将所存储的主机映射段输出到主机。
12.根据权利要求11所述的存储器***,其中所述设置时段是执行生成所述主机映射段的操作和将所生成的主机映射段发送到所述主机和所述存储器装置的操作的时段。
13.根据权利要求10所述的存储器***,其中当所述工作负荷增加时,所述控制器减少所述可生成主机映射段的数量,并且当所述工作负荷减少时,所述控制器增加所述可生成主机映射段的数量。
14.根据权利要求10所述的存储器***,其中所述控制器包括:
缓冲存储器,存储所述一些映射数据和所述主机映射段;以及
处理器,基于存储在所述***块中的所述映射数据或存储在所述缓冲存储器中的所述一些映射数据来生成所述主机映射段。
15.根据权利要求14所述的存储器***,其中所述处理器包括:
闪存转换层,基于所述一些映射数据映射从所述主机接收的地址;以及
主机感知性能增强器控制块,即HPB控制块,通过选择存储在所述缓冲存储器中的所述一些映射数据和存储在所述***块中的所述映射数据之中的一些映射数据来生成所述主机映射段。
16.根据权利要求15所述的存储器***,其中所述HPB控制块包括:
主机映射段生成块,响应于开始信号基于所选择的一些映射数据生成所述主机映射段,并且响应于停止信号停止生成所述主机映射段的操作;
计数器块,每当在所述主机映射段生成块中生成所述可生成主机映射段之中的另一主机映射段时,递增所生成的主机映射段的数量,并且当所述主机映射段被发送到所述主机时,通过将所生成的主机映射段的数量减少发送到所述主机的主机映射段的数量,来管理所生成的主机映射段的数量;
工作负荷计算块,计算所述设置时段期间的工作负荷;以及
段生成控制块,基于所计算的工作负荷来设置可生成数量,所述可生成数量表示所述可生成主机映射段的数量,并且通过将所生成的主机映射段的数量与所述可生成数量进行比较来生成所述开始信号或所述停止信号。
17.一种操作存储器***的方法,所述方法包括:
计算所述存储器***的工作负荷;
基于存储在存储器装置或控制器中的映射数据生成主机映射段,其中基于所计算的工作负荷来调整可生成主机映射段的数量;以及
将所生成的主机映射段输出到主机。
18.根据权利要求17所述的方法,其中在设置时段期间计算所述工作负荷,并且
所述设置时段包括生成所述主机映射段的操作、将所生成的主机映射段发送到所述主机的操作、以及将所生成的主机映射段发送到所述存储器装置的操作。
19.根据权利要求17所述的方法,其中调整所述可生成主机映射段的数量包括:
每当生成另一主机映射段时,递增所生成的主机映射段的数量;
基于所计算的工作负荷来设置可生成数量,所述可生成数量表示所述可生成主机映射段的数量;以及
当所生成的主机映射段的数量小于所述可生成数量时,继续执行生成主机映射段的操作,并且当所生成的主机映射段的数量大于或等于所述可生成数量时,停止生成主机映射段的操作。
20.根据权利要求19所述的方法,其中当所生成的主机映射段被发送到所述主机时,将所生成的主机映射段的数量减少发送到所述主机的主机映射段的数量。
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR10-2018-0162363 | 2018-12-14 | ||
KR1020180162363A KR20200073794A (ko) | 2018-12-14 | 2018-12-14 | 메모리 시스템 및 그것의 동작 방법 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN111324550A true CN111324550A (zh) | 2020-06-23 |
CN111324550B CN111324550B (zh) | 2023-03-17 |
Family
ID=71072170
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201910823495.0A Active CN111324550B (zh) | 2018-12-14 | 2019-09-02 | 存储器***及其操作方法 |
Country Status (3)
Country | Link |
---|---|
US (1) | US10970230B2 (zh) |
KR (1) | KR20200073794A (zh) |
CN (1) | CN111324550B (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2022193126A1 (en) * | 2021-03-16 | 2022-09-22 | Micron Technology, Inc. | Performance benchmark for host performance booster |
Families Citing this family (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2016081192A1 (en) | 2014-11-20 | 2016-05-26 | Rambus Inc. | Memory systems and methods for improved power management |
KR20200088713A (ko) * | 2019-01-15 | 2020-07-23 | 에스케이하이닉스 주식회사 | 메모리 컨트롤러 및 그 동작 방법 |
KR20210044083A (ko) * | 2019-10-14 | 2021-04-22 | 에스케이하이닉스 주식회사 | 컨트롤러 및 이의 동작 방법 |
KR20210156089A (ko) | 2020-06-17 | 2021-12-24 | 주식회사 엘지에너지솔루션 | 버스바와 전압 센싱부재의 연결구조로서 비용접 방식 구조가 적용된 배터리 모듈 |
CN113835617A (zh) * | 2020-06-23 | 2021-12-24 | 慧荣科技股份有限公司 | 数据处理方法及对应的数据储存装置 |
Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20100030994A1 (en) * | 2008-08-01 | 2010-02-04 | Guzman Luis F | Methods, systems, and computer readable media for memory allocation and deallocation |
CN102789427A (zh) * | 2012-07-17 | 2012-11-21 | 威盛电子股份有限公司 | 数据储存装置与其操作方法 |
CN102915273A (zh) * | 2011-08-02 | 2013-02-06 | 群联电子股份有限公司 | 数据写入方法、存储器控制器与存储器储存装置 |
CN105051678A (zh) * | 2012-12-28 | 2015-11-11 | 英特尔公司 | 异构处理器装置和方法 |
US20170255388A1 (en) * | 2016-03-07 | 2017-09-07 | HGST Netherlands B.V. | Efficient and Dynamically Sized Reverse Map to Handle Variable Size Data |
CN107346213A (zh) * | 2016-05-04 | 2017-11-14 | 爱思开海力士有限公司 | 存储器***及其操作方法 |
US20180314642A1 (en) * | 2017-04-28 | 2018-11-01 | SK Hynix Inc. | Data storage device and operating method thereof |
Family Cites Families (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR20170081118A (ko) | 2015-12-30 | 2017-07-11 | 삼성전자주식회사 | 불휘발성 메모리 장치 및 컨트롤러를 포함하는 스토리지 장치, 스토리지 장치의 동작 방법, 그리고 스토리지 장치를 액세스하는 액세스 방법 |
KR102667430B1 (ko) | 2016-08-04 | 2024-05-23 | 삼성전자주식회사 | 호스트 메모리를 이용하는 데이터 저장 장치 및 그것의 동작 방법 |
-
2018
- 2018-12-14 KR KR1020180162363A patent/KR20200073794A/ko unknown
-
2019
- 2019-06-28 US US16/455,901 patent/US10970230B2/en active Active
- 2019-09-02 CN CN201910823495.0A patent/CN111324550B/zh active Active
Patent Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20100030994A1 (en) * | 2008-08-01 | 2010-02-04 | Guzman Luis F | Methods, systems, and computer readable media for memory allocation and deallocation |
CN102915273A (zh) * | 2011-08-02 | 2013-02-06 | 群联电子股份有限公司 | 数据写入方法、存储器控制器与存储器储存装置 |
CN102789427A (zh) * | 2012-07-17 | 2012-11-21 | 威盛电子股份有限公司 | 数据储存装置与其操作方法 |
CN105051678A (zh) * | 2012-12-28 | 2015-11-11 | 英特尔公司 | 异构处理器装置和方法 |
US20170255388A1 (en) * | 2016-03-07 | 2017-09-07 | HGST Netherlands B.V. | Efficient and Dynamically Sized Reverse Map to Handle Variable Size Data |
CN107346213A (zh) * | 2016-05-04 | 2017-11-14 | 爱思开海力士有限公司 | 存储器***及其操作方法 |
US20180314642A1 (en) * | 2017-04-28 | 2018-11-01 | SK Hynix Inc. | Data storage device and operating method thereof |
Non-Patent Citations (1)
Title |
---|
SUNGJIN LEE等: "Application-Managed Flash" * |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2022193126A1 (en) * | 2021-03-16 | 2022-09-22 | Micron Technology, Inc. | Performance benchmark for host performance booster |
Also Published As
Publication number | Publication date |
---|---|
US20200192816A1 (en) | 2020-06-18 |
CN111324550B (zh) | 2023-03-17 |
KR20200073794A (ko) | 2020-06-24 |
US10970230B2 (en) | 2021-04-06 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN111324550B (zh) | 存储器***及其操作方法 | |
US20200201571A1 (en) | Memory system and operating method thereof | |
US11210004B2 (en) | Controller memory system to perform a single level cell (SLC), or multi level cell (MLC) or triple level cell (TLC) program operation on a memory block | |
US10930350B2 (en) | Memory device for updating micro-code, memory system including the memory device, and method for operating the memory device | |
US20200202952A1 (en) | Controller, memory system including the controller, and operating method of the memory system | |
US11004504B2 (en) | Controller, memory system including the controller, and operating method of the memory system | |
US20210210148A1 (en) | Memory system and operating method thereof | |
KR20200117256A (ko) | 컨트롤러, 이를 포함하는 메모리 시스템 및 메모리 시스템의 동작 방법 | |
CN111951871A (zh) | 存储器装置、包括存储器装置的存储器***及其操作方法 | |
US11269769B2 (en) | Memory system and method of operating the same | |
US11113189B2 (en) | Memory system to perform read reclaim and garbage collection, and method of operating the same | |
US11056177B2 (en) | Controller, memory system including the same, and method of operating the memory system | |
US20200160918A1 (en) | Memory system and method of operating the same | |
US20200125281A1 (en) | Memory system and method of operating the same | |
US11841805B2 (en) | Memory system for storing map data in host memory and operating method of the same | |
US20210241840A1 (en) | Memory system and method of operating the same | |
US11093325B2 (en) | Controller, memory system including the same, and method of operating memory system | |
CN112017716A (zh) | 存储器装置、包括其的存储器***及存储器***操作方法 | |
US20210134383A1 (en) | Memory system and operating method of the memory system | |
KR20240085237A (ko) | 메모리 장치, 이를 포함하는 메모리 시스템 및 그것의 동작 방법 | |
CN113470716A (zh) | 半导体存储器设备及其操作方法 |
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 | ||
TR01 | Transfer of patent right |
Effective date of registration: 20240613 Address after: American Texas Patentee after: Mimi IP Co.,Ltd. Country or region after: U.S.A. Address before: Gyeonggi Do, South Korea Patentee before: Sk Hynix Inc. Country or region before: Republic of Korea |
|
TR01 | Transfer of patent right |