CN110309075B - 存储器控制器以及具有存储器控制器的存储器系统 - Google Patents
存储器控制器以及具有存储器控制器的存储器系统 Download PDFInfo
- Publication number
- CN110309075B CN110309075B CN201811259301.0A CN201811259301A CN110309075B CN 110309075 B CN110309075 B CN 110309075B CN 201811259301 A CN201811259301 A CN 201811259301A CN 110309075 B CN110309075 B CN 110309075B
- Authority
- CN
- China
- Prior art keywords
- demapping
- information
- mapping information
- mapping
- 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.)
- Active
Links
- 238000013507 mapping Methods 0.000 claims abstract description 119
- 238000004364 calculation method Methods 0.000 claims abstract description 68
- 239000000872 buffer Substances 0.000 claims abstract description 31
- 230000004044 response Effects 0.000 claims abstract description 27
- 238000010586 diagram Methods 0.000 description 28
- 230000002093 peripheral effect Effects 0.000 description 11
- 101000648827 Homo sapiens TPR and ankyrin repeat-containing protein 1 Proteins 0.000 description 9
- 102100028173 TPR and ankyrin repeat-containing protein 1 Human genes 0.000 description 9
- 238000000034 method Methods 0.000 description 7
- 238000004891 communication Methods 0.000 description 4
- 238000012005 ligant binding assay Methods 0.000 description 3
- 238000012545 processing Methods 0.000 description 3
- 230000001413 cellular effect Effects 0.000 description 2
- 238000005516 engineering process Methods 0.000 description 2
- 238000004519 manufacturing process Methods 0.000 description 2
- 230000000717 retained effect Effects 0.000 description 2
- 239000000758 substrate Substances 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
- 230000006870 function Effects 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 230000008054 signal transmission Effects 0.000 description 1
- 230000003068 static effect Effects 0.000 description 1
- 238000012546 transfer Methods 0.000 description 1
Classifications
-
- 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
- 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/0223—User address space allocation, e.g. contiguous or non contiguous base addressing
- G06F12/023—Free address space management
-
- 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/1605—Handling requests for interconnection or transfer for access to memory bus based on arbitration
- G06F13/161—Handling requests for interconnection or transfer for access to memory bus based on arbitration with latency improvement
-
- 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
- G06F13/1673—Details of memory controller using buffers
-
- 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/061—Improving I/O performance
-
- 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/0646—Horizontal data movement in storage systems, i.e. moving data in between storage devices or systems
- G06F3/0652—Erasing, e.g. deleting, data cleaning, moving of data to a wastebasket
-
- 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
- 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/1016—Performance improvement
- G06F2212/1024—Latency reduction
-
- 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/7204—Capacity control, e.g. partitioning, end-of-life degradation
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)
- Techniques For Improving Reliability Of Storages (AREA)
- Bus Control (AREA)
Abstract
本发明涉及一种存储器控制器,该存储器控制器包括:取消映射控制器,从主机接收取消映射信息,基于取消映射信息来计算执行多个取消映射操作的各个取消映射操作所需的操作时间,并且作为计算的结果,输出针对多个取消映射操作之中具有相对短的操作时间的取消映射操作的取消映射命令;缓冲存储器,存储多种类型的地址映射信息;以及控制处理器,响应于从主机接收的命令来控制取消映射控制器和缓冲存储器。
Description
相关申请的交叉引用
本申请要求于2018年3月27日提交的申请号为10-2018-0035333的韩国专利申请的优先权,其全部内容通过引用并入本文。
技术领域
本公开的各个实施例总体涉及一种存储器控制器以及具有该存储器控制器的存储器系统,且更特别地,涉及一种能够容易地执行取消映射操作的存储器控制器以及具有该存储器控制器的存储器系统。
背景技术
存储器系统可包括存储装置和存储器控制器。
存储装置可包括多个存储器装置。存储器装置可存储数据或输出所存储的数据。例如,存储器装置可用易失性存储器装置或非易失性存储器装置来实施,其中存储在易失性存储器装置中的数据在电源中断时会丢失,而存储在非易失性存储器装置中的数据即使在电源中断时也可被保留。
存储器控制器可控制主机和存储装置之间的数据通信。
主机可使用诸如以下的接口协议通过存储器控制器来与存储器装置通信:高速外围组件互连(PCI-e或PCIe)、高级技术附件(ATA)、串行ATA(SATA)、并行ATA(PATA)或串列SCSI(SAS)。为主机与存储器系统之间的数据通信的目的而提供的接口协议不限于前述示例,并且可包括诸如以下的各种接口协议:通用串行总线(USB)、多媒体卡(MMC)、增强型小型磁盘接口(ESDI)和电子集成驱动器(IDE)。
发明内容
本公开的各个实施例提供了一种存储器控制器以及具有该存储器控制器的存储器系统,该存储器控制器根据取消映射更新大小以不同的方案来执行取消映射操作,从而可有效地管理取消映射操作时间。
本公开的实施例可提供一种存储器控制器,包括:取消映射控制器,其被配置成从主机接收取消映射信息,基于取消映射来信息计算执行多个取消映射操作的各个取消映射操作所需的操作时间,并且作为计算的结果,输出针对多个取消映射操作之中的具有相对短的操作时间的取消映射操作的取消映射命令;缓冲存储器,其配置成存储多种类型的地址映射信息;以及控制处理器,其被配置成响应于从主机接收的命令来控制取消映射控制器和缓冲存储器。
本公开的实施例可提供一种存储器控制器,包括:计算器,其被配置成接收取消映射信息,并基于取消映射信息输出第一计算结果值和第二计算结果值;取消映射确定单元,其被配置成将第一计算结果值和第二计算结果值彼此进行比较,并基于比较的结果输出确定信号;取消映射命令输出单元,其被配置成响应于确定信号输出第一取消映射命令或第二取消映射命令;以及控制处理器,其被配置成响应于第一取消映射命令执行取消映射操作,或者响应于第二取消映射命令执行与对应于第一取消映射命令的取消映射操作不同的取消映射操作。
本公开的实施例可提供一种存储器系统,包括:存储器控制器,其被配置成基于从主机接收的取消映射请求和取消映射信息来计算执行不同的取消映射操作所需的时间,并且基于计算的结果来控制映射信息的更新定时。
本公开的实施例可提供一种存储器系统的操作方法包括:由控制器从主机接收用于擦除映射信息的取消映射请求和取消映射信息;由控制器基于取消映射信息来确定执行多个取消映射操作的各个取消映射操作所需的更新大小;由控制器基于确定的结果,在多个取消映射操作中选择具有相对较小更新大小的取消映射操作;并且由控制器执行所选择的取消映射操作。
附图说明
图1是示出根据本公开的实施例的存储器系统的示图。
图2是示出根据本公开的实施例的存储器装置的示图。
图3是示出根据本公开的实施例的取消映射控制器的示图。
图4是示出根据本公开的实施例的计算器的示图。
图5是示出根据本公开的实施例的取消映射操作的流程图。
图6是示出根据本公开的实施例的取消映射信息的示图。
图7是示出根据本公开的实施例的地址映射方法的示图。
图8是示出根据本公开的实施例的L2P映射和P2L映射的示图。
图9是示出根据本公开的实施例的L2映射、L1映射和L0映射的示图。
图10和图11是示出根据本公开的实施例的第一取消映射操作的示图。
图12和图13是示出根据本公开的实施例的第二取消映射操作的示图。
图14是示出包括根据本公开的实施例的存储器控制器的存储器系统的示例的示图。
图15是示出包括根据本公开的实施例的存储器控制器的存储器系统的示例的示图。
图16是示出包括根据本公开的实施例的存储器控制器的存储器系统的示例的示图。
图17是示出包括根据本公开的实施例的存储器控制器的存储器系统的示例的示图。
具体实施方式
现在在下文中,将参照附图更全面地描述示例性实施例;然而,这些实施例可以不同的形式来实施,并且不应被解释为限于本文阐述的实施例。相反地,提供这些实施例使得本公开将是彻底且完整的,并且将示例性实施例的范围充分地传达给本领域的技术人员。
在附图中,为了说明清楚,可能夸大了尺寸。将理解的是,当元件被称为在两个元件“之间”时,该元件可以是这两个元件之间的唯一元件,或者也可存在一个或多个中间元件。
在下文中,将参照附图描述实施例。在本文中参考横截面图来描述实施例,其中横截面图为实施例(和中间结构)的示意图。这样,可以预期由于例如制造技术和/或容差而导致的图示形状的变化。因此,实施例不应被解释为限于本文所示区域的特定形状,而是可包括例如由制造引起的形状偏差。在附图中,为清楚起见,可能夸大了层和区域的长度和大小。附图中相同的附图标记表示相同的元件。
诸如“第一”和“第二”的术语可用于描述各个部件,但这些术语不应限制各个部件。这些术语仅用于将部件与其它部件区分开的目的。例如,在不脱离本公开的实质和范围的情况下,第一部件可被称为第二部件,并且第二部件可被称为第一部件等。此外,“和/或”可包括所提及部件中的任何一个或其组合。
此外,只要在句中没有特别提及,否则单数形式可包括复数形式。此外,说明书中使用的“包括/包含”或“包括有/包含有”表示存在或添加一个或多个部件、步骤、操作和元件。
此外,除非另有定义,否则本说明书中使用的包括技术和科学术语的所有术语具有与相关领域的技术人员通常理解的含义相同的含义。通用字典中定义的术语应被解释为具有与在相关技术的背景下解释的含义相同的含义,并且除非在本说明书中另有明确定义,否则不应被解释为具有理想化或过于形式化的含义。
还应注意的是,在本说明书中,“连接/联接”不仅是指一个部件直接联接另一部件,而且还指一个部件通过中间部件间接联接另一部件。另一方面,“直接连接/直接联接”指一个部件直接联接另一部件而没有中间部件。
图1是示出根据本公开的实施例的存储器系统1000的示图。
参照图1,存储器系统1000可包括:存储器装置1100,其被配置成存储数据;以及存储器控制器1200,其被配置成在存储器装置1100和主机2000之间通信。
存储器装置1100可用易失性存储器装置或非易失性存储器装置来实施,其中存储在易失性存储器装置中的数据在电源中断时会丢失,而存储在非易失性存储器装置中的数据即使在电源中断时也可被保留。在下面的实施例中,将以示例的方式描述非易失性存储器装置。非易失性存储器装置可以是NAND闪速存储器装置。
存储器装置1100可通过多个信道CH与存储器控制器1200通信。例如,可通过信道CH在存储器控制器1200和存储器装置1100之间传输和接收命令、地址和数据。虽然图1示出了存储器系统1000包括单个存储器装置1100,但存储器系统1000可包括多个存储器装置。在这种情况下,多个存储器装置可通过多个信道与存储器控制器1200联接。
存储器装置1100可包括被配置成存储用户数据的用户块UB和被配置成存储元数据的元数据块MDB。用户数据可以是可被编程、读取或擦除的数据。用户数据可由使用存储器系统1000的用户进行管理。元数据可在对存储器系统1000执行内部操作时被使用,而不是由用户进行管理。例如,元数据可包括指示逻辑地址和物理地址之间的映射关系的映射信息。逻辑地址可由主机2000进行管理,而物理地址可由存储器装置1100进行管理。
存储器控制器1200可包括控制处理器200、取消映射控制器(UMCON)210、系统存储器220、存储器接口230、缓冲存储器240和主机接口250。
控制处理器200可执行用于控制存储器装置1100的各种操作或生成命令和地址。例如,当从主机2000接收到取消映射请求和取消映射信息时,控制处理器200可控制取消映射控制器210执行取消映射操作。此外,控制处理器200可执行用于各种操作的固件。此处,术语“取消映射操作”指响应于主机2000的请求来擦除存储在存储器系统1000中的映射信息的操作。
在控制处理器200的控制下,取消映射控制器210可检查包括在取消映射信息中的逻辑块地址,并且根据检查结果选择性地输出取消映射命令,以用于以不同方案执行取消映射操作。
系统存储器220可存储存储器控制器1200的操作所需的各种类型的信息。例如,系统存储器220中可存储诸如L0映射、L1映射和L2映射的映射信息。另外,系统存储器220中可存储诸如调试信息的信息。此处,L0映射、L1映射和L2映射可包括逻辑地址映射信息。例如,L0映射可包括L1映射信息,L1映射可包括L2映射信息,并且L2映射可包括L2P映射信息。系统存储器220可用以下中的至少一个或多个来实施:随机存取存储器(RAM)、动态RAM(DRAM)、静态RAM(SRAM)、高速缓冲器和紧密联接存储器(TCM)。如果由于容量限制而使得大量的信息不能被存储在系统存储器220中,则一些信息可被存储在缓冲存储器240中。
存储器接口230可在存储器控制器1200和存储器装置1100之间交换命令、地址和数据。例如,存储器接口230可通过信道CH向存储器装置1100传输命令、地址和数据,并且通过信道CH从存储器装置1100接收数据。此处,命令可以是内部命令,地址可以是逻辑地址。
当存储器系统1000执行操作时,缓冲存储器240可临时存储待使用的数据。例如,在编程操作期间,缓冲存储器240可临时存储原始编程数据,直到存储器装置1100的编程操作通过。在读取操作期间,缓冲存储器240可临时存储从存储器装置1100读取的数据,并且然后将数据顺序地传输到主机接口250。缓冲存储器240可存储地址映射。具有前述功能的缓冲存储器240可利用DRAM来实施。
主机接口250可在存储器控制器1200和主机2000之间交换命令、地址和数据。例如,主机接口250可从主机2000接收命令、地址和数据,并且将数据传输到主机2000。此处,命令可以是外部命令,地址可以是物理地址。
控制处理器200、取消映射控制器210、系统存储器220、存储器接口230、缓冲存储器240和主机接口250可通过总线260彼此通信。
主机2000可包括主机处理器2100和存储接口2200。主机处理器2100和存储接口2200可通过总线2300彼此通信。
主机处理器2100可输出用于控制存储器系统1000的编程操作的编程请求、用于控制存储器系统1000的读取操作的读取请求、用于控制存储器系统1000的擦除操作的擦除请求以及用于擦除存储在存储器系统1000中的数据的取消映射请求。当输出取消映射请求时,主机处理器2100可输出与待被擦除的目标数据相对应的逻辑块地址(LBA)。主机处理器2100可输出用于其它的操作请求以及上述请求。
存储接口2200可使用诸如以下的接口协议来与存储器系统1000通信:高速外围组件互连(PCI-e或PCIe)协议、高级技术附件(ATA)协议、串行ATA(SATA)协议、并行ATA(PATA)协议、串列SCSI(SAS)协议或高速非易失性存储器(NVMe)协议。存储接口2200不限于前述示例,并且可包括诸如以下的各种接口协议:通用串行总线(USB)、多媒体卡(MMC)、增强型小型磁盘接口(ESDI)和电子集成驱动器(IDE)。
图2是示出根据本公开的实施例的存储器装置,例如图1的存储器装置1100的示图。
参照图2,存储器装置1100可包括被配置成存储数据的存储器单元阵列10。存储器装置1100可包括外围电路20,该外围电路20被配置成执行用于将数据存储在存储器单元阵列10中的编程操作、用于输出存储器单元阵列10中存储的数据的读取操作以及用于擦除存储器单元阵列10中存储的数据的擦除操作。存储器装置1100可包括控制逻辑30,该控制逻辑30被配置成在外部装置,例如图1的存储器控制器1200的控制下控制外围电路20。
存储器单元阵列10可包括多个存储块。存储块中的一些存储块可用作用户块UB,存储块中的其它存储块可用作元数据块MDB。可以二维(2D)或三维(3D)结构来实现用户块UB和元数据块MDB。例如,具有二维结构的存储块中的每一个可包括布置为平行于存储器装置1100的衬底的存储器单元。具有三维结构的存储块中的每一个可包括布置为垂直于存储器装置1100的衬底的存储器单元。元数据块MDB可存储映射信息。在第一取消映射操作期间,可更新元数据块MDB的映射信息。虽然待被存储的用户数据主要被存储在用户块UB中,但取消映射信息可被存储在包括在用户块UB中的一些存储块中。至少一个存储块可用作存储取消映射信息的块。在第二取消映射操作期间,取消映射信息被写入至用户块UB。在更新了元数据块MDB中的映射信息之后,被写入至用户块UB的取消映射信息可被擦除。
外围电路20可在控制逻辑30的控制下执行编程操作、读取操作和擦除操作。例如,外围电路20可包括电压生成电路21、行解码器22、页面缓冲器组23、列解码器24、输入和输出(输入/输出)电路25和电流感测电路26。
电压生成电路21可响应于来自控制逻辑30的操作信号OP_CMD而产生用于编程操作、读取操作和擦除操作的各种操作电压Vop。例如,电压生成电路21可在控制逻辑30的控制下产生编程电压、验证电压、通过电压、补偿编程电压、读取电压、擦除电压和导通电压。
行解码器22可响应于来自控制逻辑30的行地址RADD,将操作电压Vop传输到与存储器单元阵列10的存储块中的所选择的一个存储块联接的局部线LL。局部线LL可包括局部字线、局部漏极选择线和局部源极选择线。另外,局部线LL可包括联接到存储块的各种线,诸如源极线。
页面缓冲器组23可联接到位线BL1至BLI,位线BL1至BLI联接到存储器单元阵列10的存储块。页面缓冲器组23可包括联接到位线BL1至BLI的多个页面缓冲器PB1至PBI。页面缓冲器PB1至PBI可响应于来自控制逻辑30的页面缓冲器控制信号PBSIGNALS进行操作。例如,在读取操作或验证操作期间,页面缓冲器PB1至PBI可临时存储通过位线BL1至BLI从存储器单元阵列10接收的数据或者感测位线BL1至BLI的电压或电流。
列解码器24可响应于来自控制逻辑30的列地址CADD,在输入/输出电路25和页面缓冲器组23之间传输和接收数据。例如,列解码器24可通过数据线DL与页面缓冲器PB交换数据,或者可通过列线CL与输入/输出电路25交换数据。
输入/输出电路25可将从外部装置,例如图1的存储器控制器1120接收的命令CMD或地址ADD传输到控制逻辑30,或者与列解码器24交换数据DATA。
在读取操作或验证操作期间,电流感测电路26可响应于来自控制逻辑30的允许位VRY_BIT<#>而产生参考电流,并且可将从页面缓冲器组23接收的感测电压VPB与由参考电流产生的参考电压进行比较。基于比较结果,电流感测电路26可输出通过信号PASS或失败信号FAIL。
控制逻辑30可响应于命令CMD和地址ADD来输出操作信号OP_CMD、行地址RADD、页面缓冲器控制信号PBSIGNALS和允许位VRY_BIT<#>,从而控制外围电路20。控制逻辑30可响应于电流感测电路26的通过信号PASS或失败信号FAIL来确定验证操作已经通过还是失败。此外,控制逻辑30可响应于取消映射命令来控制外围电路20执行取消映射操作。在各个实施例中,控制逻辑30可响应于第一取消映射命令来控制外围电路20执行第一取消映射操作,并且可响应于第二取消映射命令来控制外围电路20执行第二取消映射操作。
图3是示出根据本公开的实施例的取消映射控制器,例如图1的取消映射控制器(UMCON)210的示图。
参照图3,取消映射控制器210可接收取消映射信息UMIF,通过执行计算操作来处理接收到的取消映射信息UMIF(将在下文中说明),然后基于计算结果输出第一或第二取消映射命令1UM_CMD或2UM_CMD。为此,取消映射控制器210可包括计算器、取消映射确定单元UMD和取消映射命令输出单元211。
计算器可基于包括在取消映射信息UMIF中的逻辑块地址LBA#执行计算操作,并且基于计算结果输出第一计算结果值1CA_R和第二计算结果值2CA_R。例如,计算器可根据接收到的逻辑块地址LBA#的数量而输出第一和第二计算结果值1CA_R和2CA_R。稍后将在本文中详细描述根据接收到的逻辑块地址LBA#的数量来输出第一和第二计算结果值1CA_R和2CA_R的方法。
取消映射确定单元UMD可接收第一和第二计算结果值1CA_R和2CA_R,并基于第一和第二计算结果值1CA_R和2CA_R输出确定信号DR_S。例如,取消映射确定单元UMD可将第一计算结果值1CA_R的大小与第二计算结果值2CA_R的大小进行比较,并且根据比较结果输出具有逻辑高位或逻辑低位的确定信号DR_S。
取消映射命令输出单元211可接收确定信号DR_S,并响应于确定信号DR_S输出第一取消映射命令1UM_CMD或第二取消映射命令2UM_CMD。对于该操作,取消映射命令输出单元211可包括第一取消映射命令输出单元1UM_GEN和第二取消映射命令输出单元2UM_GEN。例如,如果确定信号DR_S具有逻辑高位,则第一取消映射命令输出单元1UM_GEN可输出第一取消映射命令1UM_CMD。如果确定信号DR_S具有逻辑低位,则第二取消映射命令输出单元2UM_GEN可输出第二取消映射命令2UM_CMD。第一和第二取消映射命令输出单元1UM_GEN和2UM_GEN不被同时操作。
图4是示出根据本公开的实施例的计算器,例如图3的计算器的示图。
参照图4,计算器可接收取消映射信息UMIF,并响应于取消映射信息UMIF输出第一和第二计算结果值1CA_R和2CA_R。对于该操作,计算器可包括第一取消映射计算器1UM_CAL和第二取消映射计算器2UM_CAL。
第一和第二取消映射计算器1UM_CAL和2UM_CAL可共同从主机2000接收取消映射信息UMIF,但可执行不同的计算操作。例如,第一取消映射计算器1UM_CAL可基于取消映射信息UMIF来初步计算第一取消映射操作的映射信息更新大小,并输出第一取消映射结果值1CA_R。第二取消映射计算器2UM_CAL可基于取消映射信息UMIF来初步计算第二取消映射操作的映射信息更新大小,并输出第二取消映射结果值2CA_R。
当基于取消映射信息UMIF执行第一取消映射操作时,第一取消映射计算器1UM_CAL可初步计算待对存储器装置1100更新的映射信息量,并将其作为第一取消映射结果值1CA_R输出。
当基于取消映射信息UMIF执行第二取消映射操作时,第二取消映射计算器2UM_CAL可初步计算待被写入存储器装置1100的取消映射信息量,并将其作为第二取消映射结果值2CA_R输出。
换言之,第一和第二取消映射计算器1UM_CAL和2UM_CAL可以不同的方案来初步计算待对存储器装置1100更新的信息大小。例如,根据包括在取消映射信息UMIF中的逻辑块地址LBA#的数量,第一和第二取消映射计算器1UM_CAL和2UM_CAL可分别计算第一取消映射操作的更新大小和第二取消映射操作的更新大小,并输出第一和第二计算结果值1CA_R和2CA_R。
第一取消映射计算器1UM_CAL可基于取消映射信息UMIF来将L2P映射写入大小L2P_WS、上映射地址写入大小UA_WS和元数据写入大小MD_WS的总和作为第一计算结果值1CA_R输出。例如,在第一取消映射操作中,如果接收到取消映射信息UMIF,则可更新所有的元数据块、L0映射、L1映射和L2P映射。此处,元数据块的更新大小可成为元数据写入大小MD_WS,L0和L1映射的更新大小可成为上映射地址写入大小UA_WS,并且L2P映射的更新大小可成为L2P映射写入大小L2P_WS。
第二取消映射计算器2UM_CAL可将对应于取消映射写入大小UM_WS的值作为第二计算结果值2CA_R输出。例如,在第二取消映射操作中,如果接收到取消映射信息UMIF,则可不立即更新映射信息,并且可将整个取消映射信息UMIF写入至用户块。因为基于被写入至用户块的取消映射信息UMIF,可稍后同时更新映射信息,所以可将待被写入至用户块的取消映射信息UMIF的大小作为第二计算结果值2CA_R输出。
图5是示出根据本公开的实施例的取消映射操作的流程图。
参照图5,在取消映射操作开始的情况下,图1的主机2000可将取消映射请求和取消映射信息UMIF传输到图1的存储器系统1000。在步骤S51中,当存储器系统的图1的存储器控制器1200接收到取消映射请求和取消映射信息UMIF时,存储器控制器1200的图1的控制处理器200可将取消映射信息UMIF传输到图1的取消映射控制器210。
在步骤S52中,图3中的取消映射控制器210的计算器可基于取消映射信息UMIF来计算针对不同取消映射操作中的每一个的预期写入大小(WS),并且生成第一和第二计算结果值1CA_R和2CA_R。
在步骤S53中,取消映射确定单元UMD可将第一和第二计算结果值1CA_R和2CA_R的大小彼此进行比较,并输出确定信号DR_S。
作为步骤S53的比较结果,如果第一计算结果值1CA_R小于第二计算结果值2CA_R(即,1CA_R<2CA_R),则在步骤S54中,第一取消映射输出单元1UM_GEN可输出第一取消映射命令1UM_CMD,并且存储器装置1100可响应于第一取消映射命令1UM_CMD执行第一取消映射操作。注意到,当执行第一取消映射操作所花费的时间比执行第二取消映射操作所花费的时间短时,第一计算结果值1CA_R小于第二计算结果值2CA_R。因此,第一取消映射命令输出单元1UM_GEN可输出第一取消映射命令1UM_CMD,使得可在存储器装置1100中执行第一取消映射操作。
作为步骤S53的比较结果,如果第二计算结果值2CA_R小于第一计算结果值1CA_R(即,2CA_R<1CA_R),则在步骤S55中,第二取消映射输出单元2UM_GEN可输出第二取消映射命令2UM_CMD,并且存储器装置1100可响应于第二取消映射命令2UM_CMD执行第二取消映射操作。注意到,当执行第二取消映射操作所花费的时间比执行第一取消映射操作所花费的时间短时,第二计算结果值2CA_R小于第一计算结果值1CA_R。因此,第二取消映射命令输出单元2UM_GEN可输出第二取消映射命令2UM_CMD,使得可在存储器装置1100中执行第二取消映射操作。
图6是示出根据本公开的实施例的取消映射信息的示图。
参照图6,为执行取消映射操作,图1的主机2000可将取消映射请求UM_REQ和取消映射信息UMIF传输到存储器控制器1200。
取消映射信息UMIF可包括至少一个或多个逻辑块地址。例如,图6示出了包括九个逻辑块地址LBA1至LBA9的取消映射信息UMIF。然而,可根据主机2000将擦除的块的数量来确定逻辑块地址的数量。此外,取消映射信息UMIF可包括起始点STP和结束点EDP。例如,取消映射信息UMIF的起始点STP可被首先输入到存储器控制器1200,逻辑块地址LBA1至LBA9可被随后顺序地输入到存储器控制器1200,然后结束点EDP可被最后输入到存储器控制器1200。
存储器控制器1200可通过仅使用包括在取消映射信息UMIF中的起始点STP和结束点EDP来确定逻辑块地址LBA1至LBA9的数量。例如,图4的计算器可接收起始点STP、逻辑块地址LBA1至LBA9以及结束点EDP,并且通过计算起始点STP和结束点EDP之间的差来确定接收到的逻辑块地址LBA1至LBA9的数量。在实施例中,包括在计算器中的第一和第二取消映射计算器1UM_CAL和2UM_CAL可同时计算起始点STP和结束点EDP之间的差,从而确定逻辑块地址LBA1至LBA9的数量。换言之,第一和第二取消映射计算器1UM_CAL和2UM_CAL可共同计算逻辑块地址LBA1至LBA9的数量,并且基于计算值以不同计算方案来分别确定写入大小。
可选地,即使取消映射信息UMIF中不包括起始点STP和结束点EDP,第一和第二取消映射计算器1UM_CAL和2UM_CAL也可通过对接收到的逻辑块地址LBA1至LBA9的数量进行计数来计算更新大小。
图7是示出根据本公开的实施例的存储器装置,例如图1的存储器装置1100的地址映射方法的示图。在图7中,作为示例,示出了作为存储器装置1100的NAND闪速存储器装置包括两个块B1和B2。
参照图7,在NAND闪速存储器装置中,存储器单元可以页面为单位被操作。因此,第一块B1和第二块B2中的每一个中可包括多个页面P1至P5。在图7中,为便于理解,示出了第一和第二块B1和B2中的每一个包括五个页面,但页面的数量可根据存储器装置1100而改变。
如图7所示,假设数据被存储在第一块B1的第一和第二页面P1和P2以及第二块B2的第二和第五页面P2和P5中。在这种情况下,存储数据的物理地址可以是B1/P1、B1/P2、B2/P2和B2/P5。换言之,术语“B1/P1”可指第一块B1中包括的页面中的第一页面P1的物理地址。术语“B2/P5”可指第二块B2中包括的页面中的第五页面P5的物理地址。
由图1的主机2000管理的地址不同于由存储器装置1100管理的地址。例如,由主机2000管理的地址可被定义为逻辑地址,由存储器装置1100管理的地址可被定义为物理地址。因此,存储器控制器1200可将逻辑地址和物理地址相对于彼此进行映射,并且将逻辑地址和物理地址之间的映射信息存储在存储器装置1100中。随着存储器装置1100的存储容量增加,用于存储数据的块的数量也增加。因此,物理地址的数量增加。逻辑地址的数量也随着物理地址数量的增加而增加。因此,可能难以通过使用单个地址条目来管理映射信息。鉴于此,存储器控制器1200可以各种方案来对逻辑地址进行分类和管理。各种地址映射将描述如下。
图8是示出根据本公开的实施例的逻辑到物理(L2P)映射和物理到逻辑(P2L)映射的示图。
参照图8,L2P映射可包括与对应于逻辑地址的物理地址相关的信息。P2L映射可包括与对应于物理地址的逻辑地址相关的信息。
L2P映射可包括表,该表中多个索引IND和物理地址PADD分别彼此相对应。此处,索引IND可指逻辑块地址LBA1至LBA5。例如,如果第四索引IND是LBA4,则可选择与LBA4相对应的B1/P5。“B1/P5”可指存储器装置1100的第一块B1中包括的页面中的第五页面P5的物理地址。此处,逻辑块地址可以是由主机2000管理的逻辑地址中包括的地址。
P2L映射可包括表,该表中包括多个索引IND和各个相应的逻辑地址。此处,索引IND可指物理地址。例如,如果第二索引IND是B1/P2,则可选择与B1/P2相对应的逻辑地址LBA2。
图9是示出根据本公开的实施例的L2映射、L1映射和L0映射的示图。
参照图9,L2映射可包括表,该表中包括与各个索引L2_1至L2_5相对应的L2P映射地址L2P_1至L2P_5。例如,可能存在参照图8描述的多个L2P映射。在这种情况下,可使用L2映射来搜索包括待被选择的逻辑块地址LBA的L2P映射。
L1映射可包括表,该表中包括与各个索引L1_1至L1_5相对应的L2映射地址L2_1至L2_5。例如,可能存在多个L2映射。在这种情况下,可使用L1映射来搜索包括待被选择的逻辑块地址LBA的L2映射。
L0映射可包括表,该表中包括与各个索引L0_1至L0_5相对应的L1映射地址L1_1至L1_5。例如,可能存在多个L1映射。在这种情况下,可使用L0映射来搜索包括待被选择的逻辑块地址LBA的L1映射。
虽然为了便于理解,已经将逻辑块地址表示为在图6中的“LBA”,但取消映射信息UMIF中包括的每一个LBA大体上可包括参照图8和图9描述的L0、L1、L2和L2P映射的地址信息。
图10和图12是示出根据本公开的实施例的第一取消映射操作的示图。图11和图13是示出根据本公开的实施例的第二取消映射操作的示图。
图10和图11中的描述假设从主机2000接收的取消映射信息UMIF的长度是第一取消映射长度1UM_LEN。图12和图13中的描述假设取消映射信息UMIF的长度是大于第一取消映射长度1UM_LEN的第二取消映射长度2UM_LEN。
如果从主机2000接收到具有第一取消映射长度1UM_LEN的取消映射信息UMIF,则存储器控制器1200可基于第一取消映射长度1UM_LEN来计算第一取消映射操作1UM_OP和第二取消映射操作2UM_OP的各自更新大小。
参照图10,在第一取消映射操作1UM_OP中,如果接收到取消映射信息UMIF,则可立即更新与取消映射信息UMIF相对应的映射信息。例如,基于取消映射信息UMIF,可对存储器装置1100的元数据块MDB和存储器控制器1200的缓冲存储器240或系统存储器220更新映射信息。可对缓冲存储器240或系统存储器220更新所有L0映射(L0)、L1映射(L1)和L2P映射(L2P)的映射信息。虽然在附图中示出了L0映射(L0)、L1映射(L1)和L2P映射(L2P)被存储在缓冲存储器240中,但如上所述,它们可被存储在系统存储器220中。元数据块MDB的更新大小是元数据写入大小MD_WS。L0映射(L0)和L1映射(L1)的更新大小是上映射地址写入大小UA_WS。L2P映射(L2P)的更新大小是L2P映射写入大小L2P_WS。另外,可添加在接收到取消映射信息UMIF时立即被更新的信息大小。
因为在第一取消映射操作1UM_OP中,更新了所有元数据块MDB、L0映射(L0)、L1映射(L1)和L2P映射(L2P)的映射信息,所以可计算元数据写入大小MD_WS、上映射地址写入大小UA_WS和L2P映射写入大小L2P_WS的总和来作为第一计算结果值1CA_R。
参照图11,在第二取消映射操作2UM_OP中,如果接收到取消映射信息UMIF,则可将所有的取消映射信息UMIF写入至存储器装置1100的用户块UB。换言之,不会立即对存储器控制器1200和存储器装置1100的元数据块MDB更新与取消映射信息UMIF相对应的映射信息,并且可将取消映射信息UMIF优先地写入至存储器装置1100的用户块UB。稍后可对存储器控制器1200和存储器装置1100的元数据块MDB更新与被写入至存储器装置1100的用户块UB的取消映射信息UMIF相对应的映射信息。例如,如果指定用户块UB中的被分配以存储取消映射信息UMIF的容量被填满或者接收到取消映射更新命令,则存储器控制器1200可基于被写入在存储器装置1100的用户块UB中的取消映射信息UMIF,同时更新元数据块MDB、L0映射(L0)、L1映射(L1)和L2P映射(L2P)。换言之,在第二取消映射操作2UM_OP中,元数据块MDB、L0映射(L0)、L1映射(L1)和L2P映射(L2P)稍后被同时更新,而非立即被更新。因此,待被写入至用户块UB的取消映射信息UMIF的大小可成为取消映射写入大小UM_WS,并且可计算取消映射写入大小UM_WS来作为第二计算结果值2CA_R。
参照图12,如果取消映射信息UMIF的长度是大于第一取消映射长度1UM_LEN的第二取消映射长度2UM_LEN,则在第一取消映射操作1UM_OP中,可立即对存储器装置1100的元数据块MDB和存储器控制器1200的缓冲存储器240或系统存储器220更新与取消映射信息UMIF相对应的映射信息。由于取消映射信息UMIF的长度增加,所以存储器装置1100的元数据块MDB和存储器控制器1200的L0映射(L0)、L1映射(L1)和L2P映射(L2P)的更新大小也可能增加。然而,因为根据每一个LBA所分配的位被给定(given)在元数据块MDB、L0映射(L0)、L1映射(L1)和L2P映射(L2P)中,所以第二取消映射操作2UM_OP的第一计算结果值1CA_R和第一取消映射操作1UM_OP的第一计算结果值1CA_R之间可能没有显著差异。
参照图13,在第二取消映射操作2UM_OP中,如果接收到取消映射信息UMIF,则可将所有的取消映射信息UMIF写入至存储器装置1100的用户块UB,使得取消映射写入大小UM_WS可与取消映射信息UMIF的大小成比例地增加。
例如,在第二取消映射操作2UM_OP中,与从主机2000接收的取消映射信息UMIF相对应的映射信息可被优先地写入至存储器装置1100的指定用户块UB。此处,被写入用户块UB的取消映射信息UMIF的大小变成为取消映射写入大小UM_WS。关于被写入至用户块UB的取消映射信息UMIF,如果用户块UB中的被分配以存储取消映射信息UMIF的容量被填满或者从存储器控制器1200接收到取消映射更新命令,则可同时更新元数据块MDB、L0映射(L0)、L1映射(L1)和L2P映射(L2P)。换言之,在第二取消映射操作2UM_OP中,元数据块MDB、L0映射(L0)、L1映射(L1)和L2P映射(L2P)可稍后被同时更新,而非立即被更新。因此,可以计算取消映射写入大小UM_WS来作为第二计算结果值2CA_R。
如参照图10至图13所描述的,根据取消映射信息UMIF的长度,第一计算结果值1CA_R,即第一取消映射操作1UM_OP的总更新大小可不同于第二计算结果值2CA_R,即第二取消映射操作2UM_OP的更新大小。因此,根据取消映射信息UMIF,第一计算结果值1CA_R可小于第二计算结果值2CA_R,或者第一计算结果值1CA_R可大于第二计算结果值2CA_R。换言之,更新大小越小,更新操作时间越短,从而可选择性地执行根据取消映射信息UMIF而具有相对较短的更新操作时间的取消映射操作1UM_OP或2UM_OP。
为此,存储器控制器1200可将第一计算结果值1CA_R和第二计算结果值2CA_R彼此进行比较,并且执行与具有相对较小的大小的结果值相对应的取消映射操作。
如上所述,根据取消映射请求,基于与待被取消映射的目标相对应的逻辑地址的数量,可计算执行第一和第二取消映射操作1UM_OP和2UM_OP中的每一个所花费的时间。此后,可选择性地执行具有相对较短的取消映射操作时间的取消映射操作,从而可有效地管理取消映射操作。
图14是示出包括根据本公开的实施例的存储器控制器,例如图1所示的存储器控制器1200的存储器系统30000的示例的示图。
参照图14,存储器系统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处理的数据。输入装置3400可被实现在诸如触摸板和计算机鼠标的定点装置、小键盘或键盘中。处理器3100可控制显示器3200的操作,使得从存储器控制器1200输出的数据、从无线电收发器3300输出的数据或从输入装置3400输出的数据通过显示器3200输出。
在实施例中,能够控制存储器装置1100的操作的存储器控制器1200可被实现为处理器3100的一部分或独立于处理器3100而设置的芯片。
图15是示出包括根据本公开的实施例的存储器控制器,例如图1所示的存储器控制器1200的的存储器系统4000的示例的示图。
参照图15,存储器系统40000可被实现在个人计算机(PC)、平板PC、上网本、电子阅读器、个人数字助理(PDA)、便携式媒体或多媒体播放器(PMP)、MP3播放器或MP4播放器中。
存储器系统40000可包括存储器装置1100和能够控制存储器装置1100的数据处理操作的存储器控制器1200。
处理器4100可根据从输入装置4200输入的数据,通过显示器4300输出存储在存储器装置1100中的数据。例如,输入装置4200可被实现在诸如触摸板或计算机鼠标的定点装置、小键盘或键盘中。
处理器4100可控制存储器系统40000的全部操作,并且控制存储器控制器1200的操作。在实施例中,能够控制存储器装置1100的操作的存储器控制器1200可被实现为处理器4100的一部分或独立于处理器4100而设置的芯片。
图16是示出包括根据本公开的实施例的存储器控制器,例如图1所示的存储器控制器1200的存储器系统50000的示例的示图。
参照图16,存储器系统50000可被实现在图像处理装置,例如数码相机、配备有数码相机的便携式电话、配备有数码相机的智能电话或配备有数码相机的平板个人计算机(PC)中。
存储器系统50000可包括存储器装置1100和存储器控制器1200,其中存储器控制器1200能够控制存储器装置1100的数据处理操作,例如编程操作、擦除操作或读取操作。
存储器系统50000的图像传感器5200可将光学图像转换为数字信号。转换后的数字信号可被传输到处理器5100或存储器控制器1200。在处理器5100的控制下,转换后的数字信号可通过显示器5300输出,或通过存储器控制器1200而被存储在存储器装置1100中。存储在存储器装置1100中的数据可在处理器5100或存储器控制器1200的控制下通过显示器5300输出。
在实施例中,能够控制存储器装置1100的操作的存储器控制器1200可被实现为处理器5100的一部分或独立于处理器5100而设置的芯片。
图17是示出包括根据本公开的实施例的存储器控制器,例如图1所示的存储器控制器1200的存储器系统70000的示例的示图。
参照图17,存储器系统70000可实现在存储卡或智能卡中。存储器系统70000可包括存储器装置1100、存储器控制器1200和卡接口7100。
控制器1200可控制存储器装置1100和卡接口7100之间的数据交换。在实施例中,卡接口7100可以是安全数字(SD)卡接口或多媒体卡(MMC)接口,但不限于此。
卡接口7100可根据主机60000的协议来接口连接主机60000和存储器控制器1200以进行数据交换。在实施例中,卡接口7100可支持通用串行总线(USB)协议和芯片间(IC)-USB协议。此处,卡接口7100可指能够支持主机60000使用的协议的硬件、安装在硬件中的软件或者信号传输方案。
当存储器系统70000连接到诸如个人计算机(PC)、平板PC、数码相机、数字音频播放器、蜂窝电话、控制台视频游戏硬件或数字机顶盒的主机60000的主机接口6200时,主机接口6200可在微处理器(μP)6100的控制下,通过卡接口7100和存储器控制器1200与存储器装置1100进行数据通信。
如上所述,根据本公开的存储器控制器可根据取消映射更新大小来以各种方案执行取消映射操作,从而可减少取消映射操作时间,并且可有效地管理存储器系统中的地址。
本文已经公开了示例性实施例,并且尽管采用了特定的术语,但是它们仅以一般的和描述性的意义来使用和理解,而不是为了限制的目的。在一些情况下,如从提交本申请提交起,对于本领域的普通技术人员而言显而易见的是,除非另外明确指出,否则结合特定实施例描述的特征、特性和/或元件可单独使用或与结合其它实施例描述的特征、特性和/或元件组合使用。因此,本领域技术人员将理解的是,在不脱离如权利要求中阐述的本公开的实质和范围的情况下,可进行形式和细节上的各种改变。
Claims (12)
1.一种控制包括元数据块和用户块的存储器装置的存储器控制器,包括:
取消映射控制器,从主机接收取消映射信息,基于所述取消映射信息来计算执行第一取消映射操作所需的第一操作时间,基于所述取消映射信息来计算执行第二取消映射操作所需的第二操作时间,并且输出与具有所述第一操作时间和所述第二操作时间中的较短操作时间的取消映射操作对应的取消映射命令;以及
缓冲存储器,存储L2P映射信息、L2映射信息和L1映射信息,所述L2P映射信息是与对应于逻辑地址的物理地址相关的信息,所述L2映射信息包括所述L2P映射信息,所述L1映射信息包括与所述L2映射信息的索引相关的信息,
其中所述第一取消映射操作包括响应于从所述主机传送的所述取消映射信息,立即更新所述L2P映射信息、所述L2映射信息、所述L1映射信息和存储在所述元数据块中的映射信息,并且
所述第二取消映射操作包括将所述取消映射信息存储在所述用户块中,并且根据所述用户块中分配的容量是否被充满来更新基于存储在所述用户块中的所述取消映射信息的所述L2P映射信息、所述L2映射信息、所述L1映射信息和所述映射信息。
2.根据权利要求1所述的存储器控制器,其中所述取消映射控制器包括:
计算器,计算所述第一操作时间和所述第二操作时间,并且输出与所述第一操作时间对应的第一计算结果值和与所述第二操作时间对应的第二计算结果值;
取消映射确定电路,将所述第一计算结果值与所述第二计算结果值进行比较,并且输出与所述第一计算结果值和所述第二计算结果值中的较小计算结果值对应的确定信号;以及
取消映射命令输出电路,输出多个取消映射命令之中的根据所述确定信号所选择的取消映射命令。
3.根据权利要求2所述的存储器控制器,其中所述计算器包括取消映射计算器,所述取消映射计算器以不同的方案来检查包括在所述取消映射信息中的逻辑块地址,并且输出检查结果值。
4.根据权利要求3所述的存储器控制器,其中所述取消映射计算器计算映射信息的更新大小,并且输出计算结果值。
5.根据权利要求1所述的存储器控制器,其中所述缓冲存储器包括:
逻辑到物理映射,即L2P映射,存储与对应于所述逻辑地址的所述物理地址相关的信息;
物理到逻辑映射,即P2L映射,存储与对应于所述物理地址的所述逻辑地址相关的信息;
L2映射,包括所述L2P映射信息;
L1映射,包括所述L2映射信息;以及
L0映射,包括所述L1映射信息。
6.根据权利要求5所述的存储器控制器,其中所述第一取消映射操作包括当从所述主机接收到取消映射请求时,立即更新存储在所述存储器装置的元数据块中的映射信息,并且
所述第二取消映射操作包括仅更新存储在所述缓冲存储器中的所述L2P映射信息、所述L2映射信息和所述L1映射信息,直到从所述主机接收到多个取消映射请求,并在已接收到所述取消映射请求之后同时更新存储在所述存储器装置的元数据块中的映射信息。
7.根据权利要求1所述的存储器控制器,其中所述取消映射信息包括至少一个逻辑地址以及与起始点和结束点相关的信息中的至少一个。
8.根据权利要求7所述的存储器控制器,进一步包括计算器,其中所述计算器基于包括在所述取消映射信息中的逻辑地址的数量来计算所述第一操作时间和所述第二操作时间,或者其中所述计算器计算包括在所述取消映射信息中的所述起始点和所述结束点之间的差,基于所述差计数所述逻辑地址的数量,并且计算所述第一操作时间和所述第二操作时间。
9.一种控制包括元数据块和用户块的存储器装置的存储器控制器,包括:
计算器,接收取消映射信息,并且基于所述取消映射信息输出第一计算结果值和第二计算结果值;
取消映射确定电路,将所述第一计算结果值和所述第二计算结果值彼此进行比较,并且输出与所述第一计算结果值和所述第二计算结果值中的较小计算结果值对应的确定信号;
取消映射命令输出电路,响应于所述确定信号输出第一取消映射命令或第二取消映射命令;
控制处理器,响应于所述第一取消映射命令执行第一取消映射操作,或者响应于所述第二取消映射命令执行与所述第一取消映射操作不同的第二取消映射操作;以及
缓冲存储器,存储L2P映射信息、L2映射信息和L1映射信息,所述L2P映射信息是与对应于逻辑地址的物理地址相关的信息,所述L2映射信息包括所述L2P映射信息,所述L1映射信息包括与所述L2映射信息的索引相关的信息,
其中所述计算器包括:
第一取消映射计算器,基于所述取消映射信息计算逻辑到物理映射写入大小即L2P映射写入大小、上映射地址写入大小和元数据写入大小的总和作为所述第一计算结果值,并且输出与所述第一取消映射操作对应的所述第一计算结果值;以及
第二取消映射计算器,计算关于所述取消映射信息的大小的取消映射写入大小作为所述第二计算结果值,并且输出与所述第二取消映射操作对应的所述第二计算结果值,
其中所述第一取消映射操作包括响应于从主机传送的所述取消映射信息,立即更新所述L2P映射信息、所述L2映射信息、所述L1映射信息和存储在所述元数据块中的映射信息,并且
所述第二取消映射操作包括将所述取消映射信息存储在所述用户块中,并且根据所述用户块中分配的容量是否被充满来更新基于存储在所述用户块中的所述取消映射信息的所述L2P映射信息、所述L2映射信息、所述L1映射信息和所述映射信息。
10. 根据权利要求9所述的存储器控制器,其中所述取消映射命令输出电路包括:
第一取消映射命令输出电路,在从所述取消映射确定电路输出第一确定信号时输出所述第一取消映射命令;以及
第二取消映射命令输出电路,在从所述取消映射确定电路输出第二确定信号时输出所述第二取消映射命令。
11. 一种存储器系统,包括:
存储器装置,包括用户块和元数据块;以及
存储器控制器,基于从主机接收的取消映射信息来计算执行第一取消映射操作所需的第一操作时间,基于从所述主机接收的所述取消映射信息来计算执行第二取消映射操作所需的第二操作时间,并且基于具有所述第一操作时间和所述第二操作时间中的较短操作时间的取消映射操作来控制映射信息的更新定时,
其中所述存储器控制器存储L2P映射信息、L2映射信息和L1映射信息,所述L2P映射信息是与对应于逻辑地址的物理地址相关的信息,所述L2映射信息包括所述L2P映射信息,所述L1映射信息包括与所述L2映射信息的索引相关的信息,
所述第一取消映射操作包括响应于从所述主机传送的所述取消映射信息,立即更新所述L2P映射信息、所述L2映射信息、所述L1映射信息和存储在所述元数据块中的映射信息,并且
所述第二取消映射操作包括将所述取消映射信息存储在所述用户块中,并且根据所述用户块中分配的容量是否被充满来更新基于存储在所述用户块中的所述取消映射信息的所述L2P映射信息、所述L2映射信息、所述L1映射信息和所述映射信息。
12.根据权利要求11所述的存储器系统,其中所述第一取消映射操作包括响应于取消映射请求立即更新所述元数据块的映射信息,并且
所述第二取消映射操作包括优先地将所述取消映射信息写入至所述用户块并且此后同时更新所述元数据块的映射信息。
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR10-2018-0035333 | 2018-03-27 | ||
KR1020180035333A KR102583592B1 (ko) | 2018-03-27 | 2018-03-27 | 메모리 컨트롤러 및 이를 포함하는 메모리 시스템 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN110309075A CN110309075A (zh) | 2019-10-08 |
CN110309075B true CN110309075B (zh) | 2023-07-21 |
Family
ID=68057050
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201811259301.0A Active CN110309075B (zh) | 2018-03-27 | 2018-10-26 | 存储器控制器以及具有存储器控制器的存储器系统 |
Country Status (3)
Country | Link |
---|---|
US (1) | US10977170B2 (zh) |
KR (1) | KR102583592B1 (zh) |
CN (1) | CN110309075B (zh) |
Families Citing this family (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR20190128392A (ko) | 2018-05-08 | 2019-11-18 | 에스케이하이닉스 주식회사 | 메모리 시스템 및 메모리 시스템의 동작방법 |
EP4085335A1 (en) | 2019-12-31 | 2022-11-09 | Micron Technology, Inc. | Data removal marking in memory device |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2013022915A1 (en) * | 2011-08-09 | 2013-02-14 | Lsi Corporation | I/o device and computing host interoperation |
CN107179996A (zh) * | 2016-03-10 | 2017-09-19 | 爱思开海力士有限公司 | 数据存储装置和其操作方法 |
Family Cites Families (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR20110066697A (ko) | 2009-12-11 | 2011-06-17 | 삼성전자주식회사 | 어드레스 맵핑 테이블 관리 방법 및 그것을 사용하는 메모리 장치 |
TWI514142B (zh) * | 2013-11-26 | 2015-12-21 | Synology Inc | 儲存系統及其控制方法 |
TWI599881B (zh) * | 2014-01-22 | 2017-09-21 | 群暉科技股份有限公司 | 用來適應性地管理一固態硬碟之方法、裝置、與計算機程式產品 |
US9558125B2 (en) * | 2014-10-27 | 2017-01-31 | Sandisk Technologies Llc | Processing of un-map commands to enhance performance and endurance of a storage device |
KR102501751B1 (ko) * | 2015-09-22 | 2023-02-20 | 삼성전자주식회사 | 메모리 콘트롤러, 불휘발성 메모리 시스템 및 그 동작방법 |
KR102395538B1 (ko) | 2017-04-28 | 2022-05-10 | 에스케이하이닉스 주식회사 | 데이터 저장 장치 및 그것의 동작 방법 |
TWI634424B (zh) * | 2017-05-08 | 2018-09-01 | 慧榮科技股份有限公司 | 資料儲存裝置以及其操作方法 |
US10372341B2 (en) * | 2017-06-28 | 2019-08-06 | Western Digital Technologies, Inc. | Non-volatile storage device system with page based remapping |
US10089235B1 (en) * | 2017-07-28 | 2018-10-02 | Citrix Systems, Inc. | Dynamic trim processing with disk caching |
-
2018
- 2018-03-27 KR KR1020180035333A patent/KR102583592B1/ko active IP Right Grant
- 2018-10-03 US US16/150,716 patent/US10977170B2/en active Active
- 2018-10-26 CN CN201811259301.0A patent/CN110309075B/zh active Active
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2013022915A1 (en) * | 2011-08-09 | 2013-02-14 | Lsi Corporation | I/o device and computing host interoperation |
CN107179996A (zh) * | 2016-03-10 | 2017-09-19 | 爱思开海力士有限公司 | 数据存储装置和其操作方法 |
Also Published As
Publication number | Publication date |
---|---|
US10977170B2 (en) | 2021-04-13 |
US20190303285A1 (en) | 2019-10-03 |
CN110309075A (zh) | 2019-10-08 |
KR20190113107A (ko) | 2019-10-08 |
KR102583592B1 (ko) | 2023-10-06 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US20200065241A1 (en) | Data storage device and operating method thereof | |
CN110083545B (zh) | 数据存储装置及其操作方法 | |
KR102691851B1 (ko) | 불휘발성 메모리 장치, 이를 포함하는 데이터 저장 장치 및 그 동작 방법 | |
CN110232035B (zh) | 存储器系统以及存储器系统的操作方法 | |
US11249897B2 (en) | Data storage device and operating method thereof | |
KR20190057887A (ko) | 데이터 저장 장치 및 그것의 동작 방법 | |
US10606758B2 (en) | Memory system and method of operating the same | |
KR20200095103A (ko) | 데이터 저장 장치 및 그 동작 방법 | |
CN110413535B (zh) | 存储器控制器及存储器控制器的操作方法 | |
KR20200020464A (ko) | 데이터 저장 장치 및 그 동작 방법 | |
US10168926B2 (en) | Method of operating data storage device and method of operating data processing system including same | |
US11468119B2 (en) | Memory system and method of operating the same | |
US11263148B2 (en) | Mapping host logical address to target address that is selected from combination of first memory's physical addresses and second memory's virtual addresses | |
KR20200137244A (ko) | 메모리 시스템 및 그것의 동작방법 | |
KR20200114212A (ko) | 데이터 저장 장치 및 그것의 동작 방법 | |
US10613758B2 (en) | Memory system and method of operating the same | |
CN110309075B (zh) | 存储器控制器以及具有存储器控制器的存储器系统 | |
US20190187923A1 (en) | Memory system and operating method thereof | |
KR102569177B1 (ko) | 컨트롤러, 이를 포함하는 메모리 시스템 및 메모리 시스템의 동작 방법 | |
CN112328516A (zh) | 控制器、控制器的操作方法以及包括控制器的存储装置 | |
US11586379B2 (en) | Memory system and method of operating the same | |
KR20200125216A (ko) | 데이터 저장 장치, 이를 포함하는 전자 장치 및 데이터 저장 장치의 동작 방법 | |
KR20190109123A (ko) | 메모리 컨트롤러, 이를 포함하는 메모리 시스템 및 이의 동작 방법 |
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 | ||
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 |