CN112181280A - 传送存储器系统中的映射信息和读取计数的设备和方法 - Google Patents

传送存储器系统中的映射信息和读取计数的设备和方法 Download PDF

Info

Publication number
CN112181280A
CN112181280A CN201911376135.7A CN201911376135A CN112181280A CN 112181280 A CN112181280 A CN 112181280A CN 201911376135 A CN201911376135 A CN 201911376135A CN 112181280 A CN112181280 A CN 112181280A
Authority
CN
China
Prior art keywords
physical address
host
memory
read
read count
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.)
Withdrawn
Application number
CN201911376135.7A
Other languages
English (en)
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.)
SK Hynix Inc
Original Assignee
SK Hynix Inc
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 SK Hynix Inc filed Critical SK Hynix Inc
Publication of CN112181280A publication Critical patent/CN112181280A/zh
Withdrawn legal-status Critical Current

Links

Images

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/0631Configuration or reconfiguration of storage systems by allocating resources to storage systems
    • 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/0604Improving or facilitating administration, e.g. storage management
    • 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/0655Vertical data movement, i.e. input-output transfer; data movement between one or more hosts and one or more storage devices
    • G06F3/0658Controller construction arrangements
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/02Addressing or allocation; Relocation
    • G06F12/0223User address space allocation, e.g. contiguous or non contiguous base addressing
    • G06F12/023Free address space management
    • G06F12/0238Memory management in non-volatile memory, e.g. resistive RAM or ferroelectric memory
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/02Addressing or allocation; Relocation
    • G06F12/08Addressing or allocation; Relocation in hierarchically structured memory systems, e.g. virtual memory systems
    • G06F12/10Address translation
    • G06F12/1009Address translation using page tables, e.g. page table structures
    • 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
    • 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/062Securing storage systems
    • 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/0628Interfaces specially adapted for storage systems making use of a particular technique
    • G06F3/0653Monitoring storage devices or systems
    • 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/0655Vertical data movement, i.e. input-output transfer; data movement between one or more hosts and one or more storage devices
    • 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/0655Vertical data movement, i.e. input-output transfer; data movement between one or more hosts and one or more storage devices
    • G06F3/0659Command handling arrangements, e.g. command buffers, queues, command scheduling
    • 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/0673Single storage device
    • G06F3/0679Non-volatile semiconductor memory device, e.g. flash memory, one time programmable memory [OTP]

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)

Abstract

本发明涉及一种存储器系统,该存储器系统可包括:非易失性存储器装置,包括多个存储块;以及控制器,响应于来自主机的读取命令而读取物理地址中存储的数据,该读取命令包括第一逻辑地址、对应于第一逻辑地址的第一物理地址以及与第一物理地址相关联的第一读取计数,该控制器可从对应于第一物理地址的第一块读取第一数据,并且向主机发送对读取命令的响应,该响应包括第一数据和与第一读取计数相关的更新信息。

Description

传送存储器系统中的映射信息和读取计数的设备和方法
相关申请的交叉引用
本申请要求于2019年7月4日提交的申请号为10-2019-0080573的韩国专利申请的优先权,其通过引用整体并入本文。
技术领域
示例性实施例涉及一种存储器系统,并且更特别地,涉及一种将在数据处理系统中包括的存储器系统中的映射信息和读取计数传送到的主机或计算装置的设备。
背景技术
近来,计算环境范例已经转变成几乎可以随时随地访问计算机系统的普适计算。因此,诸如移动电话、数码相机、笔记本电脑等的便携式电子装置的使用正在迅速增长。这种便携式电子装置通常使用或包括存储器系统,即数据存储装置,该存储器系统使用或嵌入至少一个存储器装置。数据存储装置可用作便携式电子装置的主存储装置或辅助存储装置。
与硬盘不同,使用非易失性半导体存储器装置的数据存储装置因其不具有机械驱动部件(例如,机械臂)而具有优异的稳定性和耐久性,并且具有高数据访问速度和低功耗。在具有这些优点的存储器系统的环境中,示例性数据存储装置包括USB(通用串行总线)存储器装置、具有各种接口的存储卡、固态驱动器(SSD)等。
发明内容
各个实施例涉及一种在数据处理系统中的组件之间传送数据的数据处理系统,该数据处理系统包括诸如存储器系统和主机的组件或资源。
而且,各个实施例涉及一种设备,该设备可在数据处理系统内向主机或计算装置传送存储器系统中的映射信息和读取计数,并且控制该主机或计算装置以向存储器系统传送包括映射信息和读取计数的命令,从而提高存储器系统的操作性能。
而且,各个实施例涉及一种设备,该设备可在数据处理系统内将存储器系统中的映射信息和对应于该映射信息的读取计数传送到主机或计算装置,使得该主机或计算装置可管理读取计数,并且即使在存储器系统中发生突然断电(SPO)时也将存储器系统的读取计数保持在有效状态,从而提高存储器系统的操作性能。
本公开的技术客体不限于上述技术客体,并且基于以下描述,本公开所属领域的技术人员将清楚理解本文中未描述的其它技术客体。
在实施例中,一种存储器系统可以包括:非易失性存储器装置,该非易失性存储器装置包括多个存储块;以及控制器,该控制器响应于来自主机的读取命令而读取物理地址中存储的数据,该读取命令包括第一逻辑地址、对应于第一逻辑地址的第一物理地址以及与第一物理地址相关联的第一读取计数,该控制器可从对应于第一物理地址的第一块中读取第一数据,并且向主机发送对读取命令的响应,该响应包括第一数据和与第一读取计数相关的更新信息。
当第一物理地址有效时,控制器可以从对应于该第一物理地址的第一块中读取第一数据,当第一物理地址无效时,控制器可以丢弃该第一物理地址和第一读取计数,可以搜索对应于第一逻辑地址的第二物理地址,可以从对应于该第二物理地址的第二块中读取第二数据,可以通过更新第二块的读取计数来生成第二读取计数,并且可以向主机发送对读取命令的响应,该响应包括第二数据、第二读取计数以及通过将第一逻辑地址与第二物理地址相关联而获得的经更新的映射信息。
更新信息可以是被增加的第一读取计数的值。
更新信息可以是指示第一读取计数的值已被增加的代码。
当从主机接收到具有第二逻辑地址和写入数据的写入命令时,控制器可以通过将第二逻辑地址与存储写入数据的物理地址相关联来生成第一映射信息,并且可响应于来自主机的映射传送命令,而将第一映射信息中的第二映射信息和对应于该第二映射信息的存储块的读取计数发送至主机。
控制器可通过参考第一映射信息来搜索对应于第一逻辑地址的第二物理地址,该第二物理地址未包括在第二映射信息中。
控制器可响应于从第一块中读取第一数据而更新第一读取计数,并且可将经更新的第一读取计数应用于第一块的读取计数。
在实施例中,一种数据处理系统可包括:主机,该主机发送读取命令,该读取命令包括第一读取计数和对应于第一逻辑地址的第一物理地址;以及存储器系统,该存储器系统包括具有多个存储块的非易失性存储器装置,该存储器系统被配置成响应于来自主机的读取命令而从物理地址中读取数据,该读取命令包括第一逻辑地址、对应于第一逻辑地址的第一物理地址以及与第一物理地址相关联的第一读取计数,该存储器系统可从对应于第一物理地址的第一块中读取第一数据,并且可向主机发送对读取命令的响应,该响应包括第一数据和第一读取计数的更新信息。
当第一物理地址有效时,存储器系统可以从对应于该第一物理地址的第一块中读取第一数据,当第一物理地址无效时,存储器系统可以丢弃该第一物理地址和第一读取计数,可以搜索对应于第一逻辑地址的第二物理地址,可以从对应于该第二物理地址的第二块中读取第二数据,可以通过更新第二块的读取计数来生成第二读取计数,并且可以向主机发送对读取命令的响应,该响应包括第二数据、第二读取计数以及通过将第一逻辑地址与第二物理地址相关联而获得的经更新的映射信息。
当从主机接收到具有第二逻辑地址和写入数据的写入命令时,存储器系统可以通过将第二逻辑地址与存储写入数据的物理地址相关联来生成第一映射信息,并且可以响应于来自主机的映射传送命令,向主机发送第一映射信息中的第二映射信息中的至少一部分以及对应于该第二映射信息的存储块的读取计数。
当第一物理地址有效时,存储器系统可以从对应于该第一物理地址的第一块中读取第一数据,并且当第一物理地址无效时,存储器系统可以丢弃该第一物理地址和第一读取计数,可以参考第一映射信息来搜索对应于第一逻辑地址的第二物理地址,可以从对应于该第二物理地址的第二块中读取第二数据,可以通过更新第二块的读取计数来生成第二读取计数,并且可以将第二数据、第二读取计数以及通过将第一逻辑地址与第二物理地址相关联而获得的经更新的映射信息包括在对读取命令的响应中,并且将具有第二数据、第二读取计数以及该经更新的映射信息的响应发送到主机。
主机可以包括内部存储器,该主机被配置成生成映射传送命令,可以向存储器系统发送映射传送命令,并且可以将从存储器系统接收的、对映射传送命令的响应中包括的第二映射信息和对应于该第二映射信息的存储块的读取计数存储在内部存储器中。
更新信息可以是响应于在存储器系统中执行读取命令而被增加的第一读取计数的值,并且主机可通过参考内部存储器中存储的第二映射信息来选择第一逻辑地址、第一物理地址和第一读取计数,可将具有第一逻辑地址、第一物理地址和第一读取计数的读取命令发送到存储器系统,并且当来自存储器系统的、对读取命令的响应中包括第一数据和更新信息时,可将内部存储器中存储的、与第一物理地址对应的第一读取计数的值改变为更新信息。
更新信息可以是通知主机,响应于在存储器系统中执行读取命令,第一读取计数的值已被增加的代码,并且主机可通过参考内部存储器中存储的第二映射信息来选择第一逻辑地址、第一物理地址和第一读取计数,可将具有第一逻辑地址、第一物理地址和第一读取计数的读取命令发送到存储器系统,并且当从存储器系统接收的、对读取命令的响应中包括第一数据和更新信息时,可将内部存储器中存储的、与第一物理地址对应的第一读取计数的值增加对应于该更新信息的值。
主机可通过参考内部存储器中存储的第二映射信息来选择第一逻辑地址、第一物理地址和第一读取计数,可将具有第一逻辑地址、第一物理地址和第一读取计数的读取命令发送到存储器系统,并且当从存储器系统接收的、对读取命令的响应中包括第二数据、第二读取计数和经更新的映射信息时,可通过参考经更新的映射信息来更新内部存储器中存储的第二映射信息,使得第一逻辑地址与第二物理地址关联,并且可将第二读取计数与第二物理地址关联,并且将第二读取计数存储在内部存储器中。
存储块可包括多个页面,并且非易失性存储器装置的物理地址可包括识别存储块的块物理地址和识别页面的页面物理地址,并且主机可通过参考内部存储器中存储的第二映射信息的物理地址中包括的块物理地址来生成管理存储块的读取计数的读取计数信息,并且可将所生成的读取计数信息存储在内部存储器中。
存储器系统可响应于从第一块中读取第一数据而更新第一读取计数,并且可将经更新的第一读取计数应用于第一块的读取计数。
在实施例中,一种存储器系统的操作方法,该方法可包括:响应于从主机接收的读取命令,从非易失性存储器装置中的块中读取数据,该读取命令包括第一逻辑地址、第一物理地址和与第一物理地址关联的第一读取计数;并且向主机发送对读取命令的响应,该响应包括数据和与该块的读取计数相关联的信息。
该方法可进一步包括:确定第一物理地址是否有效,当第一物理地址有效时,响应中包括的数据可以是从对应于第一物理地址的第一块中读取的第一数据,并且该信息可以是与第一读取计数相关的更新信息。
当第一物理地址无效时,该方法可进一步包括:搜索对应于第一逻辑地址的第二物理地址;从对应于第二物理地址的第二块中读取第二数据;并且通过更新第二块的读取计数来生成第二读取计数,响应中包括的数据可以是从第二块中读取的第二数据,并且信息是第二读取计数,该响应进一步包括通过将第一逻辑地址与第二物理地址相关联而获得的映射信息。
该方法可进一步包括:响应于来自主机的写入命令,通过将第二逻辑地址与非易失性存储器装置的、存储写入数据的物理地址相关联来生成第一映射信息,该写入命令包括第二逻辑地址和写入数据;并且响应于来自主机的映射传送命令,向主机发送第一映射信息中的一些第二映射信息和对应于该第二映射信息的存储块的读取计数。
该信息可以是被增加的第一读取计数的值。
该信息可以是通知主机第一读取计数的值已被增加的代码。
存储器系统可通过参考第一映射信息来搜索对应于第一逻辑地址的第二物理地址,该第二物理地址未包括在第二映射信息中。
该方法可进一步包括更新第一读取计数并且将经更新的第一读取计数应用于第一块的读取计数。
附图说明
图1A和图1B是描述根据实施例的共享映射信息和读取计数的方法的示图。
图2是示意性地示出根据实施例的包括存储器系统的数据处理系统的示例的示图。
图3是示出根据实施例的数据处理系统中的主机和存储器系统的配置的示图。
图4是示出根据实施例的数据处理系统中的主机和存储器系统之间的读取操作的示图。
图5是示出根据实施例的数据处理系统中的主机和存储器系统之间的事务的第一示例的示图。
图6是示出根据实施例的主机和存储器系统之间的第一操作的流程图。
图7A和图7B是示出根据实施例的数据处理系统中的主机和存储器系统之间的事务的第二示例的示图。
图8是示出根据实施例的数据处理系统中的主机和存储器系统之间的事务的第三示例的示图。
图9是示出根据实施例的包括内部存储器的主机的示例的示图。
具体实施方式
以下将参照附图更详细地描述各个实施例。然而,本发明可以以不同形式实施,并且不应被解释为限于在本文中所阐述的实施例。相反,提供这些实施例以使本公开将是彻底且充分的,并且将本发明的范围全面地传达给本领域的技术人员。在整个公开中,相同的附图标记在本发明的各个附图和实施例中始终表示相同的部件。
图1A和图1B是描述根据实施例的共享映射信息和读取计数的方法的示图。
参照图1A,主机102和存储器系统110可以可操作地接合。主机102可包括计算装置,并且可以以移动装置、计算机、服务器等形式来实施。与主机102可操作地接合的存储器系统110可从主机102接收命令,并且响应于所接收的命令来存储或输出数据。
存储器系统110可具有包括非易失性存储器单元的存储空间。例如,存储器系统110可以以闪速存储器、固态驱动器(SDD)等形式来实施。
为了响应于主机102的请求而在存储空间中存储数据,存储器系统110可执行映射操作,以将主机102使用的文件系统与包括非易失性存储器单元的存储空间相关联。这可称为逻辑地址和物理地址之间的地址转换。例如,可将根据主机102使用的文件系统而识别数据的地址称为逻辑地址或逻辑块地址,可将指示数据在包括非易失性存储器单元的存储空间中的物理位置的地址称为物理地址或物理块地址。当主机102向存储器系统110传送具有逻辑地址的读取命令时,存储器系统110搜索对应于该逻辑地址的物理地址,并且读取(或输出)由该物理地址指示的物理位置中存储的数据。在此过程期间,可在存储器系统110搜索与从主机102接收的逻辑地址对应的物理地址的同时,执行映射操作或地址转换。映射操作或地址转换可基于映射信息,诸如将逻辑地址与物理地址相关联的映射表来执行。
然而,如果主机102执行由存储器系统110执行的映射操作,则可减少存储器系统110读取和输出与主机102传送的读取命令对应的数据所花费的时间量。为了通过映射操作将具有物理地址的读取命令传递到存储器系统110,主机102可以存储和访问映射信息的至少一些部分来执行映射操作。
非易失性存储器装置可包括多个存储块,每个存储块具有多个页面。存储器系统110可基于页面对非易失性存储器装置执行读取/写入操作,并且基于块来执行擦除操作。为了管理非易失性存储器装置的可靠性和寿命,存储器系统110可生成读取/写入/擦除计数数据,该读取/写入/擦除计数数据是基于块来计算的。此时,因为写入/擦除计数可基本上在执行写入/擦除操作的同时被编程到非易失性存储器装置,所以即使在存储器系统110中发生突然断电(SPO)时,也可保留写入/擦除计数的准确值而没有较大的差异。然而,因为读取计数可能在单独的检查点被编程到非易失性存储器装置,该检查点可能与执行读取操作的时间显著不同,所以当发生SPO时可能丢失读取计数。在现有技术中,当发生SPO时,存储块的读取计数值被随机增加,这可能导致非常不准确的读取计数。
参照图1A和图1B,存储器系统110可向主机102传送映射信息MAP_INFO和读取计数RD_CNT。主机102可将映射信息MAP_INFO和读取计数RD_CNT存储在主机102中包括的存储器中。当存储器系统110将全部映射信息和全部读取计数发送到主机102并且主机102能够将它们存储在主机102的存储器中时,存储器系统110可能不需要写入与所传送的映射信息有关的日志。然而,如果主机102不能针对全部映射信息分配足够的存储器空间,则存储器系统110可选择性地向主机102传送与主机102经常使用的数据或逻辑地址相关的映射信息以及与所选择的映射信息对应的读取计数。
同时,向主机102传送至少一些映射信息和读取计数的存储器系统110可生成与所传送的映射信息相关的日志或历史。日志或历史可具有各种格式、结构、标记、变量或类型中的一种,并且可以存储在包括非易失性存储器单元的存储器装置或存储区域中。在实施例中,每当存储器系统110向主机102传送映射信息和读取计数时,日志或历史可包括与所传送的映射信息相关的一种数据。在此,因为从存储器系统110传送到主机102的读取计数与映射信息相关联,所以不需要制作单独的日志。进一步地,存储器系统110可确定记录在日志或历史中的所传送的映射信息的量,所传送的映射信息的量对应于能够传送到主机102的映射信息的大小。例如,可以假设存储器系统110能够传送到主机102的映射信息的大小为512KB。虽然在日志或历史中,存储器系统110可能向主机102传送大于512KB的映射信息,但在日志或历史中记录的所传送的映射信息的量可以被限制为512KB。存储器系统110能够一次向主机102发送的映射信息的量可以小于主机102可以在存储器中存储的映射信息的量。例如,映射信息和读取计数可以以段为单位传送到主机102。存储器系统110可以多次向主机102传送映射信息和读取计数的段,并且可以连续地或间歇地向主机102传送映射信息和读取计数的段。
在实施例中,当存储器系统110向主机102传送大于给定大小(例如,1MB)的映射信息和读取计数时,主机102可根据时间线,删除先前从存储器系统110接收的映射信息和读取计数(例如,首先删除较早的信息)。另外,由存储器系统110输出到主机102的映射信息和读取计数可包括更新信息。因为由主机102分配的、存储从存储器系统110传送的映射信息和读取计数的空间包括易失性存储器单元(支持重写),所以主机102可基于更新信息来更新映射信息和读取计数,而无需擦除另一映射信息和另一读取计数的附加操作。
主机102可基于映射信息和读取计数来将物理地址PBA和读取计数RD_CNT添加到传送到存储器系统110的命令中。在映射操作中,主机102在存储器中存储的映射信息中搜索对应于逻辑地址的物理地址PBA1。当定位到物理地址PBA1时,主机102检索该物理地址PBA1的读取计数RD_CNT1。一旦找到物理地址PBA1和读取计数RD_CNT1,主机102就将具有逻辑地址、物理地址PBA1和读取计数RD_CNT1的命令传送到存储器系统110。
更具体地,参照图1A,主机102可生成映射传送命令,从存储器系统110接收映射信息L2P MAP INFO和对应于该映射信息L2P MAP INFO的存储块的读取计数RD_CNT,并且将映射信息L2P MAP INFO和读取计数RD_CNT存储在内部存储器中。此时,存储器系统110可生成与发送到主机102的映射信息L2P MAP INFO对应的日志。由主机102生成的映射传送命令可不受特别限制。也就是说,在主机102和存储器系统110之间预定义的特定命令或者已在主机102和存储器系统110之间使用的命令可被用作映射传送命令。例如,主机102可生成作为映射传送命令的写入命令,并且将写入命令传送到存储器系统110,并且存储器系统110可识别作为映射传送命令的写入命令,并且响应于写入命令,将映射信息L2P MAP INFO和对应于映射信息L2P MAP INFO的存储块的读取计数RD_CNT传送到主机102。主机102可通过参考所存储的映射信息L2P MAP INFO,向存储器系统110传送具有第一逻辑地址、第一物理地址PBA1和第一读取计数RD_CNT1的读取命令RD_CMD。
当来自主机102的读取命令RD_CMD中包括第一逻辑地址、第一物理地址PBA1和第一读取计数RD_CNT1时,存储器系统110可检查第一物理地址PBA1是否有效。当第一物理地址PBA1有效时(当PBA1有效),存储器系统110可从对应于该第一物理地址PBA1的第一存储块中读取第一数据DATA1。此时,因为第一物理地址PBA1是有效物理地址,所以第一读取计数RD_CNT1是第一存储块的准确读取计数。因此,存储器系统110可响应于对第一数据DATA1的读取操作而更新第一读取计数RD_CNT1,并且将经更新的第一读取计数RD_CNT1应用为第一存储块的新读取计数。存储器系统110可以将第一数据DATA1和第一读取计数RD_CNT1的更新值UPDATED包括在对读取命令RD_CMD的响应中,并且将具有第一数据DATA1和读取计数RD_CNT1的更新值UPDATED的响应传送到主机102。
根据与主机102的协议,可通过多种不同的方法生成由存储器系统110传送到主机102的第一读取计数RD_CNT1的更新值UPDATED。
可参照图1A和图7A来描述第一方法。可以通过将第一读取计数RD_CNT1的值增加预设值来获得第一读取计数RD_CNT1的更新值UPDATED。例如,当所接收的第一读取计数RD_CNT1的值为10时,存储器系统110可将第一读取计数RD_CNT1的值增加预设值1,使得更新值为11。由存储器系统110将第一读取计数RD_CNT1的更新值UPDATED作为对读取命令RD_CMD的响应的一部分发送到主机102。
主机120可将响应于读取命令RD_CMD而接收的第一读取计数RD_CNT1的更新值UPDATED存储在内部存储器中(存储RD_CNT1的更新值)。例如,主机102可将值为10的第一读取计数RD_CNT1改变为11。
可参照图1A和图7B来描述第二方法。可以应用将第一读取计数RD_CNT1的值增加预设值的代码值。
例如,当从主机102接收的第一读取计数RD_CNT1的值为10并且需要增加预设值1时,存储器系统110可将第一读取计数RD_CNT1的更新值UPDATED生成为值1。存储器系统110可将第一读取计数RD_CNT1的更新值UPDATED与第一数据DATA1包括在对读取命令RD_CMD的响应中,并且发送具有第一数据DATA1和更新值UPDATED的响应。
当在对读取命令RD_CMD的响应中接收到通过第二方法生成的第一读取计数RD_CNT1的更新值UPDATED时,主机120可使用第一读取计数RD_CNT1的更新值UPDATED来增加内部存储器中存储的第一读取计数RD_CNT1的值(增加存储的RD_CNT1的值)。例如,主机102可利用从存储器系统110接收的为1的更新值UPDATED来增加内部存储器中存储的值为10的第一读取计数RD_CNT1,从而将第一读取计数RD_CNT1的值改变为11。
当在存储器系统110中执行预定操作PREDETERMINED OPERATION时,可以更新在存储器系统110中管理的一些映射信息SOME L2P MAP INFO。虽然在存储器系统110中通过预定操作更新了一些映射信息(或所选择的映射信息),但主机102可能并不知道该更新,直到存储器系统110向主机102通知该更新。因此,主机102中存储的所选择的映射信息可能变成过时映射信息。也就是说,如上所述,当主机102传送对应于读取命令的物理地址PBA2时,如果所传送的物理地址与存储器系统110中的经更新的映射信息对应,则存储器系统110不能按原样使用从主机102接收的物理地址。相反,存储器系统110可再次搜索新的物理地址,并且使用新的物理地址来访问和输出数据。在这种情况下,虽然主机102向存储器系统110提供了物理地址,但在存储器系统110中执行与读取命令对应的操作所需的时间t2可能被显著增加。
参照图1B,主机102可从存储器系统110接收映射信息L2P MAP INFO和与该映射信息L2P MAP INFO对应的存储块的读取计数RD_CNT,并且将映射信息L2P MAP INFO和读取计数RD_CNT存储在内部存储器中。此时,存储器系统110可生成与发送到主机102的映射信息L2P MAP INFO对应的日志。
主机102可通过参考所存储的映射信息L2P MAP INFO而向存储器系统110传送具有第一逻辑地址、第一物理地址PBA1和第一读取计数RD_CNT1的读取命令RD_CMD。
存储器系统110可在接收读取命令RD_CMD之后检查第一物理地址PBA1是否有效。如果第一物理地址PBA1无效(当PBA1无效),对应于该第一物理地址PBA1的第一读取计数RD_CNT1也可能无效。因此,当第一物理地址PBA1无效时(当PBA1无效),存储器系统110可丢弃第一物理地址PBA1和对应于该第一物理地址PBA1的第一读取计数RD_CNT1,并且搜索对应于第一逻辑地址的第二物理地址PBA2。存储器系统110可使用第二物理地址PBA2来从对应于该第二物理地址PBA2的第二存储块中读取第二数据DATA2。存储器系统110可通过更新对应于第二存储块的读取计数来生成第二读取计数RD_CNT2。也就是说,存储器系统110可丢弃从主机102接收的第一读取计数RD_CNT1,并且使用已在存储器系统110中管理的、对应于第二存储块的读取计数来生成第二读取计数RD_CNT2。存储器系统110可向主机102传送对读取命令RD_CMD的响应,其中该响应包括第二数据DATA2、第二读取计数RD_CNT2和经更新的映射信息UPDATED L2P MAP(LBA1:PBA2)。通过将第一逻辑地址与第二物理地址PBA2相关联来获得经更新的映射信息UPDATED L2P MAP(LBA1:PBA2)。
当接收到对读取命令RD_CMD的响应时,主机102可通过参考经更新的映射信息UPDATED L2P MAP(LBA1:PBA2)来更新内部存储器中存储的映射信息,使得第一逻辑地址LBA1与第二物理地址PBA2相关联(经更新的L2P MAP)。然后,主机102可将第二读取计数RD_CNT2与第二物理地址PBA2匹配,并且存储第二读取计数RD_CNT2。
图2示出根据本公开的实施例的数据处理系统100。数据处理系统100可包括与存储器系统110接合或与存储器系统110一起运行的主机102。
例如,主机102可包括诸如移动电话、MP3播放器和笔记本计算机的便携式电子装置或诸如台式计算机、游戏机、电视(TV)和投影仪等的非便携式电子装置。
主机102还包括至少一个操作系统(OS),OS通常可管理和控制在主机102中执行的功能和操作。OS可提供与存储器系统110接合的主机102和需要并使用存储器系统110的用户之间的互操作性。OS可支持与用户请求对应的功能和操作。通过示例而非限制的方式,根据主机102的移动性,OS可分类为通用操作系统和移动操作系统。根据系统需求或用户环境,通用操作系统可被分为个人操作系统和企业操作系统。包括Windows和Chrome的个人操作系统可用于支持针对一般目的的服务。但企业操作系统可专门用于确保和支持高性能,包括Windows Server、Linux、Unix等。进一步地,移动操作系统可包括Android、iOS、Windows mobile等。移动操作系统可用于支持针对移动性的服务或功能(例如,省电功能)。主机102可包括多个操作系统。对应于用户请求,主机102可运行与存储器系统110互锁的多个操作系统。主机102可将与用户请求对应的多个命令传送到存储器系统110中,从而在存储器系统110内执行与命令对应的操作。
存储器系统110可响应于来自主机102的请求而操作或执行特定功能或操作,并且特别地,可存储待由主机102访问的数据。存储器系统110可用作主机102的主存储器系统或辅助存储器系统。根据主机接口的协议,存储器系统110可利用可与主机102电联接的各种类型的存储装置中的任意一种来实施。合适的存储装置的非限制性示例包括固态驱动器(SSD)、多媒体卡(MMC)、嵌入式MMC(eMMC)、缩小尺寸的MMC(RS-MMC)、微型MMC、安全数字(SD)卡、迷你SD、微型SD、通用串行总线(USB)存储装置、通用闪存(UFS)装置、紧凑式闪存(CF)卡、智能媒体(SM)卡、记忆棒等。
存储器系统110的存储装置可利用例如动态随机存取存储器(DRAM)和静态RAM(SRAM)的易失性存储器装置和/或诸如以下的非易失性存储器装置来实施:只读存储器(ROM)、掩模ROM(MROM)、可编程ROM(PROM)、可擦除可编程ROM(EPROM)、电可擦除可编程ROM(EEPROM)、铁电RAM(FRAM)、相变RAM(PRAM)、磁阻RAM(MRAM)、电阻式RAM(RRAM或ReRAM)和闪速存储器。
存储器系统110可包括控制器130和存储器装置150。存储器装置150可存储待由主机102访问的数据。控制器130可控制数据在存储器装置150中的存储。
控制器130和存储器装置150可集成到单个半导体装置中,该单个半导体装置可被包括在如上在示例中讨论的各种类型的存储器系统中的任意一种存储器系统中。
作为示例而非限制,控制器130和存储器装置150可被集成到单个半导体装置。控制器130和存储器装置150可集成到SSD中来提高操作速度。当存储器系统110用作SSD时,连接到存储器系统110的主机102的操作速度可比利用硬盘实施的主机102的操作速度提高更多。另外,控制器130和存储器装置150可集成到一个半导体装置中以形成存储卡,诸如PC卡(PCMCIA)、紧凑式闪存卡(CF)、诸如智能媒体卡(SM、SMC)的存储卡、记忆棒、多媒体卡(MMC、RS-MMC、微型MMC)、SD卡(SD、迷你SD、微型SD、SDHC)、通用闪存等。
存储器系统110可被配置成例如以下的装置的一部分:计算机、超移动PC(UMPC)、工作站、上网本、个人数字助理(PDA)、便携式计算机、网络平板、平板电脑、无线电话、移动电话、智能电话、电子书、便携式多媒体播放器(PMP)、便携式游戏机、导航系统、黑盒、数码相机、数字多媒体广播(DMB)播放器、三维(3D)电视、智能电视、数字音频记录器、数字音频播放器、数字图片记录器、数字图片播放器、数字视频记录器、数字视频播放器、配置数据中心的存储装置、能够在无线环境下传送和接收信息的装置、配置家庭网络的各种电子装置中的一种电子装置、配置计算机网络的各种电子装置中的一种电子装置、配置远程信息处理网络的各种电子装置中的一种电子装置、射频识别(RFID)装置或配置计算系统的各种组件中的一种组件。
存储器装置150可包括非易失性存储器装置,并且即使当不供应电力时也可保留所存储的数据。存储器装置150可通过写入操作存储从主机102提供的数据,同时通过读取操作将所存储的数据提供到主机102。存储器装置150可包括多个存储块152、154、156,多个存储块152、154、156中的每一个存储块可包括多个页面。多个页面中的每一个页面可包括与多个字线(WL)电联接的多个存储器单元。存储器装置150还包括多个存储器管芯,多个存储器管芯中的每一个存储器管芯包括多个平面,多个平面中的每一个平面包括多个存储块152、154、156。另外,存储器装置150可以是非易失性存储器装置,例如闪速存储器,其中闪速存储器可以以三维堆叠结构来实现。
控制器130可控制存储器装置150的全部操作,诸如读取操作、写入操作、编程操作和擦除操作。例如,控制器130可响应于来自主机102的请求而控制存储器装置150。控制器130可将从存储器装置150读取的数据提供到主机102。控制器130还可将由主机102提供的数据存储到存储器装置150中。
控制器130可包括全部通过内部总线而可操作地联接的主机接口(I/F)132、处理器134、错误校正码(ECC)组件138、电源管理单元(PMU)140、存储器接口(I/F)142以及存储器144。存储器144可以是易失性或非易失性存储器。在实施例中,存储器144是易失性存储器。
主机接口132可处理由主机102提供的命令和数据,并可通过诸如以下的各种接口协议中的至少一种接口协议与主机102通信:通用串行总线(USB)、多媒体卡(MMC)、高速外围组件互连(PCI-e或PCIe)、小型计算机系统接口(SCSI)、串列SCSI(SAS)、串行高级技术附件(SATA)、并行高级技术附件(PATA)、增强型小型磁盘接口(ESDI)以及电子集成驱动器(IDE)。根据实施例,主机接口132是与主机102交换数据的组件,主机接口132可通过被称为主机接口层(HIL)的固件来实施。
ECC组件138可校正待在存储器装置150中处理(例如,从存储器装置150输出)的数据的错误位,该ECC组件138可包括ECC编码器和ECC解码器。在此,ECC编码器可对待编程在存储器装置150中的数据执行错误校正编码,以生成添加奇偶校验位的经编码数据,并且将经编码数据存储在存储器装置150中。当控制器130读取存储器装置150中存储的数据时,ECC解码器可检测并校正从存储器装置150读取的数据中包含的错误。换言之,在对从存储器装置150读取的数据执行错误校正解码之后,ECC组件138可确定错误校正解码是否已成功并输出指令信号(例如,校正成功信号或校正失败信号)。ECC组件138可使用在ECC编码过程期间生成的奇偶校验位来校正读取数据的错误位。当错误位的数量大于或等于可校正错误位的阈值数量时,ECC组件138可不校正错误位,而是可输出指示校正错误位失败的错误校正失败信号。
ECC组件138可基于诸如以下的编码调制来执行错误校正操作:低密度奇偶校验(LDPC)码、博斯-查德胡里-霍昆格姆(Bose-Chaudhuri-Hocquenghem,BCH)码、turbo码、里德-所罗门(Reed-Solomon,RS)码、卷积码、递归系统码(RSC)、网格编码调制(TCM)以及分组编码调制(BCM)等。ECC组件138可包括用于基于上述代码中的至少一个代码来执行错误校正操作的任何和所有的电路、模块、系统或装置。
PMU 140可管理在控制器130中提供的电力。
存储器接口142可用作处置在控制器130和存储器装置150之间传送的命令和数据的接口,以允许控制器130响应于从主机102传递的请求来控制存储器装置150。在当存储器装置150是闪速存储器时,特别地是当存储器装置150是NAND闪速存储器时的情况下,存储器接口142可在处理器134的控制下生成存储器装置150的控制信号,并可处理输入到存储器装置150中或从存储器装置150输出的数据。存储器接口142可提供接口,以用于处理在控制器130与存储器装置150之间的命令和数据,例如NAND闪存接口的操作,特别是控制器130与存储器装置150之间的操作。根据实施例,存储器接口142可通过被称为闪存接口层(FIL)的固件而被实施为与存储器装置150交换数据的组件。
存储器144可支持由存储器系统110和控制器130执行的操作。存储器144可存储用于存储器系统110和控制器130中的操作而发生或传递的临时数据或事务数据。控制器130可响应于来自主机102的请求来控制存储器装置150。控制器130可将从存储器装置150读取的数据传递到主机102中。控制器130可将通过主机102输入的数据存储到存储器装置150内。存储器144可用于存储控制器130和存储器装置150执行诸如读取操作或编程/写入操作的操作的数据。
存储器144可被实施为易失性存储器。存储器144可利用静态随机存取存储器(SRAM)、动态随机存取存储器(DRAM)或这两者来实施。虽然图2示出将存储器144设置在控制器130内,但实施例不限于此。也就是说,存储器144可位于控制器130内部或外部。例如,存储器144可由具有在存储器144与控制器130之间传送数据和/或信号的存储器接口的外部易失性存储器实现。
如上所述,存储器144可存储执行诸如由主机102请求的数据写入和数据读取的操作所必需的数据和/或在存储器装置150和控制器130之间传送以用于诸如垃圾收集和损耗均衡的后台操作的数据。根据实施例,为了支持存储器系统110中的操作,存储器144可包括程序存储器、数据存储器、写入缓冲器/高速缓存、读取缓冲器/高速缓存、数据缓冲器/高速缓存、映射缓冲器/高速缓存等。
处理器134可利用微处理器或中央处理单元(CPU)来实施。存储器系统110可包括一个或多个处理器134。处理器134可控制存储器系统110的全部操作。作为示例而非限制,处理器134可响应于从主机102输入的写入请求或读取请求来控制对存储器装置150的编程操作或读取操作。根据实施例,处理器134可使用或运行固件来控制存储器系统110的全部操作。在本文中,可将固件称为闪存转换层(FTL)。FTL可作为主机102和存储器装置150之间的接口而执行操作。主机102可通过FTL将写入操作和读取操作的请求传送到存储器装置150。
FTL可管理地址映射、垃圾收集、损耗均衡等操作。特别地,FTL可加载、生成、更新或存储映射数据。因此,控制器130可通过映射数据,将从主机102输入的逻辑地址与存储器装置150的物理地址进行映射。因为地址映射操作,存储器装置150可看起来像通用存储装置一样执行读取或写入操作。而且,通过基于映射数据的地址映射操作,当控制器130试图更新存储在特定页面中的数据时,由于闪速存储器装置的特性,控制器130可将经更新的数据编程到另一空白页面,并且可使该特定页面的旧数据无效(例如,将与经更新的数据的逻辑地址对应的物理地址从先前特定页面更新为另一新编程页面)。进一步地,控制器130可将新数据的映射数据存储到FTL中。
例如,当在存储器装置150中执行从主机102请求的操作时,控制器130使用以微处理器或中央处理单元(CPU)等实施的处理器134。与存储器装置150接合的处理器134可处置与来自主机102的输入命令对应的指令或命令。控制器130可执行作为与从主机102输入的命令对应的命令操作的前台操作,诸如与写入命令相对应的编程操作、与读取命令对应的读取操作、与擦除/丢弃命令对应的擦除/丢弃操作以及与具有设置命令的设置参数命令或设置特征命令相对应的参数设置操作。
又例如,控制器130可通过处理器134对存储器装置150执行后台操作。作为示例而非限制,存储器装置150的后台操作包括将存储器装置150中的存储块152、154、156之中的存储块中存储的数据复制和存储到另一存储块的操作,例如垃圾收集(GC)操作。后台操作可包括将存储块152、154、156的至少一个存储块中存储的数据移动或交换到存储块152、154、156的至少另一个存储块中的操作,例如损耗均衡(WL)操作。在后台操作期间,控制器130可使用处理器134以将存储在控制器130中的映射数据存储到存储器装置150中的存储块152、154、156中的至少一个存储块中,例如映射清除操作。检查和搜索多个存储块152、154、156之中的坏块的坏块管理操作是由处理器134执行的后台操作的另一示例。
在存储器系统110中,控制器130执行与从主机102输入的多个命令对应的多个命令操作。例如,当顺序地、随机地或可选地执行与多个编程命令对应的多个编程操作、与多个读取命令对应的多个读取操作以及与多个擦除命令对应的多个擦除操作时,控制器130可确定将控制器130连接到包括在存储器150中的多个存储器管芯的多个通道(或通路)之中的哪个(哪些)通道或通路适于或适用于执行每个操作。控制器130可经由所确定的通道或通路来发送或传送数据或指令来执行每个操作。在每个操作完成之后,包括在存储器150中的多个存储器管芯可分别经由相同的通道或通路来传送操作结果。然后,控制器130可将响应或确认信号传送到主机102。在实施例中,控制器130可检查每个通道或每个通路的状态。响应于从主机102输入的命令,控制器130可基于每个通道或每个通路的状态来选择至少一个通道或通路,使得可经由所选择的通道或通路来传递指令和/或操作结果以及数据。
作为示例而非限制,控制器130可识别与多个通道(或通路)相关的状态,该多个通道(或通路)与包括在存储器装置150中的多个存储器管芯相关联。控制器130可将每个通道或每个通路的状态确定为忙碌状态、就绪状态、活动状态、空闲状态、正常状态和/或异常状态中的一种状态。控制器确定通过哪个通道或通路传送指令(和/或数据)与物理块地址相关联,例如将指令(和/或数据)传送到哪个(哪些)管芯。控制器130可参考从存储器装置150传递的描述符。描述符可包括描述与存储器装置150相关的某些信息的块参数或页面参数,该描述符是具有预定格式或结构的数据。例如,描述符可包括装置描述符、配置描述符、单元描述符等。控制器130可参考或使用描述符来确定经由哪个(哪些)通道或通路交换指令或数据。
管理单元(未示出)可被包括在处理器134中。管理单元可执行存储器装置150的坏块管理。管理单元可发现存储器装置150中的不符合进一步使用条件的坏存储块,并对坏存储块执行坏块管理。当存储器装置150为闪速存储器,例如NAND闪速存储器时,由于NAND逻辑功能的特性,在写入操作期间,例如在编程操作期间,可能发生编程失败。在坏块管理期间,编程失败的存储块或坏存储块的数据可被编程到新的存储块中。坏块可使具有3D堆叠结构的存储器装置150的利用效率和存储器系统110的可靠性严重劣化。因此,可靠的坏块管理可提高或改进存储器系统110的性能。
同时,下面将描述控制器130的编程操作、读取操作和擦除操作。
首先,控制器130可执行以下操作:将与从主机102接收的编程命令对应的编程数据存储在控制器130的存储器144中包括的缓冲器/高速缓存中,然后将缓冲器/高速缓存中存储的数据存储在存储器装置150中包括的存储块152、154和156中。而且,控制器130可对应于对存储器装置150的编程操作来更新映射数据,然后,可将经更新的映射数据存储在存储器装置150中包括的存储块152、154和156中。
进一步地,在从主机102接收到读取命令的情况下,控制器130可通过检查对应于读取命令的数据的映射数据来从存储器装置150中读取对应于该读取命令的数据,可将读取数据存储在控制器130的存储器144中包括的缓冲器/高速缓存中,然后可将缓冲器/高速缓存中存储的数据提供到主机102。
此外,在从主机102接收到擦除命令的情况下,控制器130可执行以下擦除操作:检查对应于擦除命令的存储块,擦除所检查的存储块中存储的数据,更新对应于所擦除数据的映射数据,然后将经更新的映射数据存储在存储器装置150中包括的存储块152、154和156中。
映射数据可包括对应于编程操作而存储在存储块中的数据的逻辑/物理(L2P:逻辑到物理)信息和物理/逻辑(P2L:物理到逻辑)信息。
对应于命令的数据可包括用户数据和元数据。元数据可包括对应于将用户数据存储在存储器装置150中而在控制器130中生成的映射数据。而且,元数据可包括:关于与从主机102接收的命令对应的命令数据的信息、关于与命令对应的命令操作的信息、关于待被执行命令操作的存储器装置150的存储块的信息、以及关于与命令操作对应的映射数据的信息。换言之,元数据可包括除了与从主机102接收的命令对应的用户数据以外的、用于命令操作的信息和数据。
也就是说,在从主机102接收到写入命令的情况下,控制器130执行对应于该写入命令的编程操作。此时,控制器130可将对应于写入命令的用户数据存储在存储器装置150的存储块152、154和156之中的至少一个存储块中(例如,存储块之中的空白存储块、开放存储块或执行了擦除操作的空闲存储块)。而且,控制器130可以以映射表或映射列表的形式,将关于存储块中存储的用户数据的逻辑/物理地址信息(L2P映射)和物理/逻辑地址信息(P2L映射)存储在存储器装置150的存储块之中的空白存储块、开放存储块或空闲存储块中。
待存储在存储器装置150中的用户数据可以以具有预设大小的段为单位进行划分。预设大小可以与存储器系统110与主机102交互操作所需的最小数据大小相同。根据实施例,可以对应于存储器装置150中的配置和控制方法来确定作为用户数据的单位的数据段的大小。当将用户数据的数据段存储在存储器装置150的存储块中时,控制器130可生成或更新对应于所存储的数据段的映射地址。当控制器130生成每个作为元数据的单位、包括映射地址的元段(例如,作为映射数据的映射段的逻辑/物理(L2P)段和物理/逻辑(P2L)段)或者将存储块中存储的映射段加载到存储器144且并且随后进行更新时,可将映射段存储在存储器装置150的存储块中。
参照图1A、图1B和图2,存储器系统110可生成第一映射信息L2P MAP INFO1,该第一映射信息L2P MAP INFO1将存储器装置150中的数据的物理地址映射到从主机102接收的逻辑地址。更具体地,当从主机102接收到具有第二逻辑地址和写入数据的写入命令时,存储器系统110可生成第一映射信息L2P MAP INFO1,以将第二逻辑地址与存储写入数据的存储器装置150的物理地址相关联。存储器系统110中生成的全部第一映射信息L2P MAPINFO1可存储在存储器装置150中的存储块MEMORY BLOCK<2>(或多个存储块)中。存储块可以是非易失性装置,并且信息可以以非易失性状态存储。而且,以非易失性状态存储在存储器装置150中的全部第一映射信息L2P MAP INFO1中的一些第一映射信息SOME L2P MAPINFO1(或一部分第一映射信息)可存储在控制器130中的存储器144中。存储器系统110可管理非易失性存储器装置150中包括的存储块152、154和156的读取计数RD_CNT,并且可以将一些或所有的读取计数存储在控制器130内的存储器144中。此外,以非易失性状态存储在存储器装置150中的全部第一映射信息L2P MAP INFO1中的一些第二映射信息L2P MAPINFO2(或一部分第二映射信息)和读取计数RD_CNT可传送到主机102并且存储在主机102中的主机存储器106中。控制器130中的存储器144中存储的一部分第一映射信息SOME L2PMAP INFO1与传送到主机102并存储在主机102中的主机存储器106中的第二映射信息L2PMAP INFO2可彼此不重叠。在将第二映射信息L2P MAP INFO2和读取计数RD_CNT传送到主机102之后,存储器系统110的控制器130可生成关于第二映射信息L2P MAP INFO2的日志信息OUT_INFO OF L2P MAP INFO2。
图2示出关于第二映射信息L2P MAP INFO2的日志信息OUT_INFO OF L2P MAPINFO2存储在控制器130中的存储器144中,但这仅仅作为示例示出。实际上,关于第二映射信息L2P MAP INFO2的日志信息OUT_INFO OF L2P MAP INFO2可存储在控制器130中的存储器144中,并且同时可以以非易失性状态存储在存储器装置150的特定存储块中。
图3是帮助说明根据本公开实施例的数据处理系统中的主机和存储器系统的配置的示图的代表示例。
图4是帮助说明根据本公开实施例的数据处理系统中的主机和存储器系统的读取操作的示图的代表示例。
参照图3,主机102可包括处理器104、主机存储器106和主机控制器接口108。存储器系统110可包括控制器130和存储器装置150。在本文中,参照图3描述的控制器130和存储器装置150可对应于参照图2描述的控制器130和存储器装置150。
在下文中,主要描述图3中所示的控制器130和存储器装置150与图2中所示的控制器130和存储器装置150之间的可在技术上进行区分的差异。
主机102可包括处理器104和主机存储器106,其中处理器104具有比存储器系统110的性能更高的性能,主机存储器106能够比与主机102协作的存储器系统110存储更大量的数据。主机102中的处理器104和主机存储器106在空间和可升级性方面具有优势。例如,处理器104和主机存储器106可比存储器系统110中的处理器134和存储器144具有更少的空间限制。处理器104和主机存储器106可以是可替换的以用于升级它们的性能,这是与存储器系统110中的处理器134和存储器144存在区别的。在实施例中,为了提高存储器系统110的操作效率,存储器系统110可利用主机102所拥有的资源。
随着可存储在存储器系统110中的数据量的增加,与存储器系统110中存储的数据对应的映射信息量也增加。当控制器130的存储器144中的用于加载映射信息的存储容量受到限制或约束时,所加载的映射信息量的增加可能对控制器130的操作造成操作负担。例如,因为控制器130的存储器144中的针对映射信息而分配的空间或区域的限制,可加载映射信息的一部分,而非全部映射信息。如果所加载的映射信息不包括主机102打算访问的物理位置的特定映射信息,如果所加载的映射信息中的一些已被更新,则控制器130必须将所加载的映射信息存储回存储器装置150中,并且加载主机102打算访问的物理位置的特定映射信息。对于控制器130,应当执行这些操作,以执行主机102所需的读取操作或写入操作,并且可能劣化存储器系统110的性能。
存储器装置150中包括的存储块152、154和156的读取计数RD_CNT可以以易失性状态存储在控制器130内的存储器144中,以便由控制器130管理,然后在每个周期性检查点以非易失性状态存储在存储器装置150中。此时,当周期性检查点不同于对存储块152、154和156中的每一个存储块的读取操作的执行点时,在存储器系统110中发生SPO的情况下,读取计数RD_CNT可能不会被正常存储而是丢失。
在实施例中,主机102中包括的主机存储器106的存储空间可以比控制器130可使用的存储器144的存储空间大几十至几千倍。此外,因为与存储器系统110相比,主机102可在更稳定地接收电力的同时进行操作,所以与存储器系统110相比,不太可能发生SPO。
存储器系统110可将控制器130使用的映射信息和读取计数166传送到主机102中的主机存储器106,使得主机102中的主机存储器106的至少一些部分可由存储器系统110访问。主机存储器106的至少一些部分可用作高速缓存存储器,以用于在存储器系统110中读取或写入数据所需的地址转换。在这种情况下,在将逻辑地址连同请求、命令或指令一起传送到存储器系统110之前,主机102基于主机存储器106中存储的映射信息166来将逻辑地址转换成物理地址。然后,主机102可将经转换的物理地址和读取计数连同请求、命令或指令一起传送到存储器系统110。接收经转换的物理地址以及请求、命令或指令的存储器系统110可跳过将逻辑地址转换成物理地址的内部过程,并且基于所传送的物理地址来访问存储器装置150。进一步地,存储器系统110可接收具有更准确值的读取计数。在这种情况下,控制器130从存储器装置150加载元数据以用于地址转换的开销(例如,操作负担)可以消失,并且可提高存储器系统110的操作效率。
另一方面,即使存储器系统110向主机102传送映射信息和读取计数166,存储器系统110也可基于映射信息166来控制映射信息,诸如映射信息生成、擦除、更新等。存储器系统110中的控制器130可根据存储器装置150的操作状态来执行图1中的预定操作PREDETERMINED OPERATION,并且可确定物理地址,即存储器装置150中的、待存储从主机102传送的数据的物理位置。因为存储器装置150中存储的数据的物理地址可能改变并且主机102未识别到经改变的物理地址,所以存储器系统110可以主动地控制映射信息166。
当存储器系统110控制用于地址转换的映射信息和读取计数时,可确定存储器系统110需要修改或更新先前传送到主机102的映射信息和读取计数166。存储器系统110可向主机102发送信号,以请求更新主机102中存储的映射信息和读取计数166。主机102可响应于从存储器系统110传递的请求,更新主机存储器106中所存储的映射信息和读取计数166。这使得将主机102中的主机存储器106中存储的映射信息和读取计数166保持为最新版本,使得即使主机控制器接口108使用主机存储器106中存储的映射信息166,在将逻辑地址转换成物理地址并且将经转换的物理地址连同逻辑地址一起传送到存储器系统110的操作中也不存在问题。
一起参照图1A至图3,可在存储器系统110中执行的预定操作PREDETERMINEDOPERATION表示将存储器装置150中包括的多个存储块152、154和156之中的至少一个第一存储块中存储的有效数据移动到至少一个第二存储块的操作。例如,预定操作可包括诸如垃圾收集和损耗均衡的后台操作。
同时,主机存储器106中存储的映射信息166可包括用于将逻辑地址转换成物理地址的映射信息。参照图3,将逻辑地址与物理地址相关联的映射信息可包括两个可区分项:用于将逻辑地址转换成物理地址的逻辑/物理信息项;以及用于将物理地址转换成逻辑地址的物理/逻辑信息项。其中,主机存储器106中存储的映射信息166可包括逻辑/物理信息。物理/逻辑信息可主要用于存储器系统110的内部操作,但可能不被用于由主机102请求的、将数据存储在存储器系统110中或从存储器系统110读取对应于特定逻辑地址的数据的操作。根据实施例,存储器系统110可不将物理/逻辑信息项传送到主机102。
逻辑/物理信息可对应于上面参照图2描述的第一映射信息L2P MAP INFO1。主机102的主机存储器106中存储的映射信息166可对应于上面参照图2描述的第二映射信息L2PMAP INFO2。
同时,存储器系统110中的控制器130可控制(例如,创建、删除、更新等)逻辑/物理信息项或物理/逻辑信息项,并且将逻辑/物理信息项或物理/逻辑信息项存储到存储器装置150。因为主机102中的主机存储器106是一种易失性存储器,所以当发生诸如对主机102和存储器系统110的供电中断的事件时,主机存储器106中存储的映射信息和读取计数166可能消失。相应地,存储器系统110中的控制器130不仅可保持主机102的主机存储器106中存储的映射信息和读取计数166的最新状态,还可将逻辑/物理信息项或物理/逻辑信息项的最新状态存储在存储器装置150中。
参照图3和图4,描述了以下操作:当将映射信息和读取计数166存储在主机102的主机存储器106中时,主机102请求读取存储器系统110中存储的数据。
向主机102和存储器系统110供电,然后主机102和存储器系统110可彼此接合。当主机102和存储器系统110协作时,可将存储器装置150中存储的映射信息(L2P MAP INFO)和读取计数(RD_CNT)传送到主机存储器106。
当主机102中的处理器104发出读取命令(读取CMD)时,将读取命令传送到主机控制器接口108。在接收读取命令之后,主机控制器接口108在主机存储器106中存储的映射信息(L2P MAP INFO)和读取计数(RD_CNT)中,搜索与对应于读取命令的逻辑地址对应的物理地址。基于主机存储器106中存储的映射信息(L2P MAP INFO)和读取计数(RD_CNT),主机控制器接口108可识别与对应于逻辑地址的物理地址对应的读取计数。主机控制器接口108对与读取命令相关联的逻辑地址执行地址转换。
主机控制器接口108将具有物理地址以及对应于物理地址的读取计数的读取命令(读取CMD)传送到存储器系统110的控制器130中。控制器130可基于随读取命令输入的物理地址来访问存储器装置150。在存储器装置150中的对应于物理地址的位置处存储的数据可响应于读取命令(读取CMD)而被传送到主机存储器106。
读取包括非易失性存储器的存储器装置150中存储的数据的操作可能比读取作为易失性存储器的主机存储器106等中存储的数据的操作花费更多的时间。在上述处理读取命令(读取CMD)的操作中,控制器130可跳过或省略与从主机102输入的逻辑地址对应的地址转换(例如,搜索和识别与逻辑地址相关联的物理地址)。例如,在地址转换中,当控制器130无法在存储器144中找到用于地址转换的映射信息时,控制器130可不必需从存储器装置150加载映射信息或者替换存储器144中存储的元数据。这使得存储器系统110更快地执行主机102请求的读取操作。
图5是示出根据实施例的数据处理系统中的主机和存储器系统之间的事务的第一示例的示图。
图5示出从主机102传送到存储器系统110的读取命令RD_CMD的格式,这已参照图1A和图1B进行了描述。
具体地,参照图1A、图1B和图5,存储映射信息MAP_INFO和读取计数RD_CNT的主机102可将具有第一逻辑地址LBA1、第一物理地址PBA1和第一读取计数RD_CNT1的读取命令READ COMMAND发送到存储器系统110。当主机102中存储的映射信息中存在与对应于读取命令READ COMMAND的第一逻辑地址LBA1相对应的第一物理地址PBA1时,主机102可向存储器系统110传送读取命令READ COMMAND,该读取命令READ COMMAND包括第一逻辑地址LBA1、第一物理地址PBA1以及对应于第一物理地址PBA1的第一读取计数RD_CNT1。然而,当主机102中存储的映射信息中不存在与对应于读取命令READ COMMAND的逻辑地址LBA相对应的物理地址PBA时,主机102可向存储器系统110传送仅包括逻辑地址LBA而不包括物理地址PBA的读取命令READ COMMAND。
图6是示出根据实施例的主机和存储器系统之间的第一操作的流程图。
具体地,图6示出从主机102向存储器系统110发送读取命令RD_CMD的进程,该读取命令RD_CMD已参照图1A、图1B和图5进行了描述,并且由主机102生成以及由存储器系统110处理。
具体地,参照图1A、图1B、图5和图6,在步骤812中,主机102可生成包括第一逻辑地址LBA1的读取命令RD_CMD。然后,在步骤814中,主机102可检查映射信息中是否存在对应于第一逻辑地址LBA1的第一物理地址PBA1。当不存在第一物理地址PBA1(步骤814中为否)时,在步骤818中,主机102可传送仅具有第一逻辑地址LBA1的读取命令RD_CMD。
另一方面,当存在第一物理地址PBA1(步骤814中为是)时,在步骤816中,主机102可将第一物理地址PBA1和对应于该第一物理地址PBA1的第一读取计数RD_CNT1添加到具有第一逻辑地址LBA1的读取命令RD_CMD中。也就是说,在步骤818中,主机102可发送具有第一逻辑地址LBA1、第一物理地址PBA1和第一读取计数RD_CNT1的读取命令RD_CMD。
在步骤822中,存储器系统110可接收从主机102发送的读取命令RD_CMD。在步骤824中,存储器系统110可检查所接收的读取命令RD_CMD中是否包括第一物理地址PBA1。如果所接收的命令中不包括第一物理地址PBA1(步骤824中为否),则在步骤832中,存储器系统110可搜索与所接收的读取命令RD_CMD中包括的第一逻辑地址LBA1相对应的第二物理地址PBA2。
如果所接收的读取命令RD_CMD中包括第一物理地址PBA1(步骤824中为是),则在步骤826中,存储器系统110可检查第一物理地址PBA1是否有效。存储器系统110可向主机102发送映射信息L2P MAP INFO和读取计数RD_CNT,并且主机102可基于由存储器系统110发送的映射信息L2P MAP INFO和读取计数RD_CNT执行映射,并且发送具有第一物理地址PBA1和第一读取计数RD_CNT1的读取命令RD_CMD。然而,在存储器系统110向主机102发送映射信息L2P MAP INFO和读取计数RD_CNT之后,可能改变和更新由存储器系统110管理的映射信息。因此,当主机102中存储的映射信息是脏的时,不能按原样使用由主机102传送的第一物理地址PBA1。因此,存储器系统110可确定所接收的读取命令RD_CMD中包括的第一物理地址PBA1是否有效。当所接收的读取命令RD_CMD中包括的第一物理地址PBA1有效(步骤826中为是)时,存储器系统110可在步骤830中使用第一物理地址PBA1来从存储器装置150中读取数据,并且在步骤S832中更新第一读取计数RD_CNT1。
当所接收的读取命令RD_CMD中包括的第一物理地址PBA1无效(步骤826中为否)时,在步骤828中,存储器系统110可丢弃所接收的读取命令RD_CMD中包括的第一物理地址PBA1和第一读取计数RD_CNT1。在这种情况下,在步骤832中,存储器系统110可基于所接收的读取命令RD_CMD中包括的第一逻辑地址LBA1来搜索第二物理地址PBA2。
图7A和图7B是示出根据实施例的数据处理系统中的主机和存储器系统之间的事务的第二示例的示图。
图7A和图7B示出从存储器系统110传送到主机102并且已参照图1A描述的对读取命令RD_CMD的响应RESPONSE的格式。
具体地,参照图1A、图7A和图7B,存储器系统110可将第一数据DATA1和第一读取计数RD_CNT1的更新值UPDATED包括在对从主机102输入的读取命令RD_CMD的响应RESPONSE中,并且将具有第一数据DATA1和第一读取计数RD_CNT1的更新值UPDATED的响应RESPONSE发送到主机102。
图7A示出第一读取计数RD_CNT1的更新值UPDATED是被增加预设值的第一读取计数INCREASED RD_CNT1的情况。因此,存储器系统110可将第一数据DATA1和被增加预设值的第一读取计数INCREASED RD_CNT1包括在对从主机102输入的读取命令RD_CMD的响应RESPONSE中,并且将具有第一数据DATA1和经增加的第一读取计数INCREASED RD_CNT1的响应RESPONSE发送到主机102。
图7B示出第一读取计数RD_CNT1的更新值UPDATED是用于将第一读取计数RD_CNT1的值增加预设值的代码的情况。因此,存储器系统110可将第一数据DATA1和用于将第一读取计数RD_CNT1的值增加预设值的代码CODE FOR INCREASING包括在对从主机102输入的读取命令RD_CMD的响应RESPONSE中,并且将具有第一数据DATA1和代码CODE FOR INCREASING的响应RESPONSE发送到主机102。
图8是示出根据实施例的数据处理系统中的主机和存储器系统之间的事务的第三示例的示图。
图8示出从存储器系统110传送到主机102并且已参照图1B描述的对读取命令RD_CMD的响应RESPONSE的格式。
具体地,参照图1B和图8,存储器系统110可将第二数据DATA2、第一逻辑地址LBA1、第二物理地址PBA2和第二读取计数RD_CNT2包括在对从主机102输入的读取命令RD_CMD的响应RESPONSE中,并且将具有第二数据DATA2、第一逻辑地址LBA1、第二物理地址PBA2和第二读取计数RD_CNT2的响应发送到主机102。
图9是示出根据实施例的包括内部存储器的主机的示例的示图。
图1A、图1B、图2和图9示出主机102管理从存储器系统110输入的映射信息L2P MAPINFO和读取计数RD_CNT的方法。
首先,存储器装置150可包括多个存储块152、154和156,并且存储块152、154和156中的每一个存储块可包括多个页面。此时,存储器装置150的物理地址可包括用于识别存储块152、154和156的块物理地址和用于识别页面的页面物理地址。例如,如图9所示,对应于第零逻辑地址LBA0的第100物理地址PBA100可表示指示第零存储块BLK0的块物理地址与指示第零页面P0的页面物理地址的组合。此外,对应于第一逻辑地址LBA1的第110物理地址PBA110可表示指示第零存储块BLK0的块物理地址与指示第一页面P1的页面物理地址的组合。此外,对应于第二逻辑地址LBA2的第200物理地址PBA200可表示指示第一存储块BLK1的块物理地址与指示第十页面P10的页面物理地址的组合。此外,对应于第三逻辑地址LBA3的第300物理地址PBA300可表示指示第二存储块BLK2的块物理地址与指示第零页面P0的页面物理地址的组合。
当从存储器系统110接收到映射信息L2P MAP INFO和对应于该映射信息L2P MAPINFO的读取计数RD_CNT时,主机102可将所接收的映射信息L2P MAP INFO按原样存储在内部存储器106中(901)。此外,主机102可通过参考映射信息L2P MAP INFO的物理地址中包括的块物理地址来生成读取计数信息902,以基于存储块来管理读取计数,并且将读取计数信息902存储在内部存储器106中。
主机102分开地存储映射信息L2P MAP INFO和读取计数RD_CNT的原因在于,映射信息L2P MAP INFO是基于页面排序的,但读取计数RD_CNT是基于块排序的。例如,图9示出因为第零逻辑地址LBA0和第一逻辑地址LBA1都被映射到指示第零存储块BLK0的物理地址,所以对应于第零存储块BLK0的读取计数可对应于通过将被映射到第零逻辑地址LBA0的第100物理地址PBA100的读取计数和被映射到第一逻辑地址LBA1的第110物理地址PBA110的读取计数相加而获得的值。
根据实施例,存储器系统可将所包括的存储块的读取计数传送到主机或计算装置,以管理读取计数。因此,即使在存储器系统中发生SPO时,主机或计算装置也可基于主机或计算装置中存储的读取计数来准确地恢复存储器系统中包括的存储块的读取计数。因此,可以以防止基于存储器系统中的读取计数而可能不必要地执行的后台操作,从而提高存储器系统的操作性能。
虽然为了说明的目的已经描述各个实施例,但是对于本领域技术人员显而易见的是,在不脱离所附权利要求中限定的本发明的精神和范围的情况下,可以进行各种改变和修改。

Claims (20)

1.一种存储器系统,包括:
非易失性存储器装置,包括多个存储块;以及
控制器,响应于来自主机的读取命令而读取物理地址中存储的数据,所述读取命令包括第一逻辑地址、对应于所述第一逻辑地址的第一物理地址以及与所述第一物理地址相关联的第一读取计数,
其中所述控制器从对应于所述第一物理地址的第一块读取第一数据,并且向所述主机发送对所述读取命令的响应,所述响应包括所述第一数据和与所述第一读取计数相关的更新信息。
2.根据权利要求1所述的存储器系统,其中当所述第一物理地址有效时,所述控制器从对应于所述第一物理地址的所述第一块读取所述第一数据,
其中当所述第一物理地址无效时,所述控制器丢弃所述第一物理地址和所述第一读取计数,搜索对应于所述第一逻辑地址的第二物理地址,从对应于所述第二物理地址的第二块读取第二数据,通过更新所述第二块的读取计数来生成第二读取计数,并且向所述主机发送对所述读取命令的响应,所述响应包括所述第二数据、所述第二读取计数以及通过将所述第一逻辑地址与所述第二物理地址相关联而获得的经更新的映射信息。
3.根据权利要求1所述的存储器系统,其中所述更新信息是被增加的所述第一读取计数的值。
4.根据权利要求1所述的存储器系统,其中所述更新信息是指示所述第一读取计数的值已被增加的代码。
5.根据权利要求2所述的存储器系统,其中当从所述主机接收到具有第二逻辑地址和写入数据的写入命令时,所述控制器通过将所述第二逻辑地址与存储所述写入数据的物理地址相关联来生成第一映射信息,并且响应于来自所述主机的映射传送命令,向所述主机发送所述第一映射信息中的第二映射信息和对应于所述第二映射信息的存储块的读取计数。
6.一种数据处理系统,包括:
主机,发送读取命令,所述读取命令包括对应于第一逻辑地址的第一读取计数和第一物理地址;以及
存储器系统,包括非易失性存储器装置,所述非易失性存储器装置包括多个存储块,所述存储器系统响应于来自所述主机的读取命令而从物理地址读取数据,所述读取命令包括第一逻辑地址、对应于所述第一逻辑地址的第一物理地址以及与所述第一物理地址相关联的第一读取计数,
其中所述存储器系统从对应于所述第一物理地址的第一块读取第一数据,并且向所述主机发送对所述读取命令的响应,所述响应包括所述第一数据和所述第一读取计数的更新信息。
7.根据权利要求6所述的数据处理系统,其中当所述第一物理地址有效时,所述存储器系统从对应于所述第一物理地址的所述第一块读取所述第一数据,
其中当所述第一物理地址无效时,所述存储器系统丢弃所述第一物理地址和所述第一读取计数,搜索对应于所述第一逻辑地址的第二物理地址,从对应于所述第二物理地址的第二块读取第二数据,通过更新所述第二块的读取计数来生成第二读取计数,并且向所述主机发送对所述读取命令的响应,所述响应包括所述第二数据、所述第二读取计数以及通过将所述第一逻辑地址与所述第二物理地址相关联而获得的经更新的映射信息。
8.根据权利要求6所述的数据处理系统,其中当从所述主机接收到具有第二逻辑地址和写入数据的写入命令时,所述存储器系统通过将所述第二逻辑地址与存储所述写入数据的物理地址相关联来生成第一映射信息,并且响应于来自所述主机的映射传送命令,向所述主机发送所述第一映射信息中的第二映射信息中的至少一部分以及对应于所述第二映射信息的存储块的读取计数。
9.根据权利要求8所述的数据处理系统,其中当所述第一物理地址有效时,所述存储器系统从对应于所述第一物理地址的所述第一块读取所述第一数据,并且
其中当所述第一物理地址无效时,所述存储器系统丢弃所述第一物理地址和所述第一读取计数,参考所述第一映射信息来搜索对应于所述第一逻辑地址的第二物理地址,从对应于所述第二物理地址的第二块读取第二数据,通过更新所述第二块的读取计数来生成第二读取计数,并且将所述第二数据、所述第二读取计数以及通过将所述第一逻辑地址与所述第二物理地址相关联而获得的经更新的映射信息包括在对所述读取命令的响应中,并且将具有所述第二数据、所述第二读取计数以及所述经更新的映射信息的所述响应发送到所述主机。
10.根据权利要求9所述的数据处理系统,其中所述主机包括内部存储器,所述主机生成所述映射传送命令,向所述存储器系统发送所述映射传送命令,并且将从所述存储器系统接收的、对所述映射传送命令的响应中包括的所述第二映射信息和对应于所述第二映射信息的存储块的读取计数存储在所述内部存储器中。
11.根据权利要求10所述的数据处理系统,其中所述更新信息是响应于在所述存储器系统中执行所述读取命令而被增加的所述第一读取计数的值,并且
其中所述主机通过参考所述内部存储器中存储的所述第二映射信息来选择所述第一逻辑地址、所述第一物理地址和所述第一读取计数,将具有所述第一逻辑地址、所述第一物理地址和所述第一读取计数的读取命令发送到所述存储器系统,并且当来自所述存储器系统的、对所述读取命令的响应中包括所述第一数据和所述更新信息时,将所述内部存储器中存储的、对应于所述第一物理地址的所述第一读取计数的值改变为所述更新信息。
12.根据权利要求10所述的数据处理系统,其中所述更新信息是通知所述主机,响应于在所述存储器系统中执行所述读取命令,所述第一读取计数的值已被增加的代码,并且
其中所述主机通过参考所述内部存储器中存储的所述第二映射信息来选择所述第一逻辑地址、所述第一物理地址和所述第一读取计数,将具有所述第一逻辑地址、所述第一物理地址和所述第一读取计数的读取命令发送到所述存储器系统,并且当从所述存储器系统接收的、对所述读取命令的所述响应中包括所述第一数据和所述更新信息时,将所述内部存储器中存储的、对应于所述第一物理地址的所述第一读取计数的值增加对应于所述更新信息的值。
13.根据权利要求10所述的数据处理系统,其中所述主机通过参考所述内部存储器中存储的所述第二映射信息来选择所述第一逻辑地址、所述第一物理地址和所述第一读取计数,将具有所述第一逻辑地址、所述第一物理地址和所述第一读取计数的读取命令发送到所述存储器系统,并且当从所述存储器系统接收的、对所述读取命令的所述响应中包括所述第二数据、所述第二读取计数和所述经更新的映射信息时,通过参考所述经更新的映射信息来更新所述内部存储器中存储的所述第二映射信息,使得所述第一逻辑地址与所述第二物理地址相关联,并且将所述第二读取计数与所述第二物理地址相关联,并且将所述第二读取计数存储在所述内部存储器中。
14.根据权利要求10所述的数据处理系统,其中所述存储块包括多个页面,并且所述非易失性存储器装置的物理地址包括识别所述存储块的块物理地址和识别所述页面的页面物理地址,并且
其中所述主机通过参考所述内部存储器中存储的所述第二映射信息的物理地址中包括的块物理地址来生成管理所述存储块的读取计数的读取计数信息,并且将所生成的读取计数信息存储在所述内部存储器中。
15.一种操作存储器系统的方法,所述方法包括:
响应于从主机接收的读取命令,从非易失性存储器装置中的块读取数据,所述读取命令包括第一逻辑地址、第一物理地址和与所述第一物理地址相关联的第一读取计数;并且
向所述主机发送对所述读取命令的响应,所述响应包括所述数据和与所述块的读取计数相关联的信息。
16.根据权利要求15所述的方法,进一步包括:
确定所述第一物理地址是否有效,
其中当所述第一物理地址有效时,所述响应中包括的数据是从对应于所述第一物理地址的第一块读取的第一数据,并且所述信息是与所述第一读取计数相关的更新信息。
17.根据权利要求16所述的操作方法,其中当所述第一物理地址无效时,所述方法进一步包括:
搜索对应于所述第一逻辑地址的第二物理地址;
从对应于所述第二物理地址的第二块读取第二数据;并且
通过更新所述第二块的读取计数来生成第二读取计数,
其中所述响应中包括的数据是从所述第二块读取的所述第二数据,并且所述信息是所述第二读取计数,所述响应进一步包括通过将所述第一逻辑地址与所述第二物理地址相关联而获得的映射信息。
18.根据权利要求17所述的方法,进一步包括:
响应于来自所述主机的写入命令,通过将第二逻辑地址与所述非易失性存储器装置的、存储写入数据的物理地址相关联来生成第一映射信息,所述写入命令包括所述第二逻辑地址和所述写入数据;并且
响应于来自所述主机的映射传送命令,向所述主机发送所述第一映射信息中的一些第二映射信息和对应于所述第二映射信息的存储块的读取计数。
19.根据权利要求16所述的方法,其中所述信息是被增加的所述第一读取计数的值。
20.根据权利要求16所述的方法,其中所述信息是通知所述主机,所述第一读取计数的值已被增加的代码。
CN201911376135.7A 2019-07-04 2019-12-27 传送存储器系统中的映射信息和读取计数的设备和方法 Withdrawn CN112181280A (zh)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
KR1020190080573A KR20210004322A (ko) 2019-07-04 2019-07-04 메모리 시스템에서 맵정보 및 리드카운트를 전송하는 장치 및 방법
KR10-2019-0080573 2019-07-04

Publications (1)

Publication Number Publication Date
CN112181280A true CN112181280A (zh) 2021-01-05

Family

ID=73919028

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201911376135.7A Withdrawn CN112181280A (zh) 2019-07-04 2019-12-27 传送存储器系统中的映射信息和读取计数的设备和方法

Country Status (3)

Country Link
US (1) US11029867B2 (zh)
KR (1) KR20210004322A (zh)
CN (1) CN112181280A (zh)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2023000212A1 (en) * 2021-07-21 2023-01-26 Micron Technology, Inc. Memory command aggregation to improve sequential memory command performance
WO2023173999A1 (zh) * 2022-03-18 2023-09-21 华为技术有限公司 一种数据读取方法及装置

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US11169744B2 (en) * 2020-03-31 2021-11-09 Western Digital Technologies, Inc. Boosting reads of chunks of data
CN114385083B (zh) * 2022-01-07 2023-05-23 烽火通信科技股份有限公司 一种数据帧统计采集装置及方法

Family Cites Families (35)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5459850A (en) * 1993-02-19 1995-10-17 Conner Peripherals, Inc. Flash solid state drive that emulates a disk drive and stores variable length and fixed lenth data blocks
EP1986101B1 (en) * 2006-02-14 2012-06-20 Fujitsu Ltd. Coherency maintaining device and coherency maintaining method
US8161304B2 (en) 2009-01-20 2012-04-17 Microsoft Corporation Power management for large memory subsystems
US8417904B2 (en) 2010-03-17 2013-04-09 Seagate Technology Llc Garbage collection management in a data storage device
US8589655B2 (en) 2010-09-15 2013-11-19 Pure Storage, Inc. Scheduling of I/O in an SSD environment
KR101366960B1 (ko) 2011-12-23 2014-02-25 한양대학교 산학협력단 입출력 핀을 이용한 다중 웨이 낸드 플래시 제어 장치 및 방법
US20140089761A1 (en) * 2012-09-24 2014-03-27 Zion Kwok Method, apparatus and system for providing error correction information
CN103999508B (zh) 2012-11-30 2019-09-03 华为技术有限公司 迁移方法及装置
US9164888B2 (en) 2012-12-10 2015-10-20 Google Inc. Using a logical to physical map for direct user space communication with a data storage device
JP2016506585A (ja) 2013-01-08 2016-03-03 ヴァイオリン メモリー インコーポレイテッド データストレージのための方法及びシステム
US9652376B2 (en) 2013-01-28 2017-05-16 Radian Memory Systems, Inc. Cooperative flash memory control
US9110592B2 (en) 2013-02-04 2015-08-18 Microsoft Technology Licensing, Llc Dynamic allocation of heterogenous memory in a computing system
US20140244897A1 (en) 2013-02-26 2014-08-28 Seagate Technology Llc Metadata Update Management In a Multi-Tiered Memory
US9195396B2 (en) 2013-03-14 2015-11-24 SanDisk Technologies, Inc. Estimating access frequency statistics for storage device
KR102349999B1 (ko) 2015-03-02 2022-01-10 에스케이하이닉스 주식회사 반도체 장치 및 그 동작 방법
US10261725B2 (en) 2015-04-10 2019-04-16 Toshiba Memory Corporation Storage system capable of invalidating data stored in a storage device thereof
US9507711B1 (en) 2015-05-22 2016-11-29 Sandisk Technologies Llc Hierarchical FTL mapping optimized for workload
KR20170002866A (ko) 2015-06-30 2017-01-09 전자부품연구원 분산 환경에서 사용자 애플리케이션의 액세스 특성에 따른 적응형 캐시 관리 방법
KR102403253B1 (ko) 2015-07-06 2022-05-30 삼성전자주식회사 불휘발성 메모리 장치를 포함하는 스토리지 장치
KR102501751B1 (ko) 2015-09-22 2023-02-20 삼성전자주식회사 메모리 콘트롤러, 불휘발성 메모리 시스템 및 그 동작방법
KR101631039B1 (ko) 2015-11-30 2016-06-24 (주)클로닉스 컴퓨터 시스템의 운영체제 및 데이터 중 불필요한 파일은 제외하는 마이그레이션 시스템 및 방법
US10229051B2 (en) * 2015-12-30 2019-03-12 Samsung Electronics Co., Ltd. Storage device including nonvolatile memory device and controller, operating method of storage device, and method for accessing storage device
TWI599880B (zh) 2016-03-22 2017-09-21 威盛電子股份有限公司 非揮發性記憶體裝置及其操作方法
TWI592799B (zh) 2016-07-01 2017-07-21 群聯電子股份有限公司 映射表更新方法、記憶體控制電路單元及記憶體儲存裝置
KR101867487B1 (ko) 2016-12-23 2018-07-18 경희대학교 산학협력단 클라우드 환경에서 퍼지기반의 마이그레이션 시스템 및 방법
US10459636B2 (en) 2017-03-24 2019-10-29 Sandisk Technologies Llc System and method for managing data in non-volatile memory systems having multiple mapping layers
KR20180123265A (ko) 2017-05-08 2018-11-16 에스케이하이닉스 주식회사 메모리 시스템 및 메모리 시스템의 동작 방법
JP6818666B2 (ja) 2017-09-20 2021-01-20 キオクシア株式会社 メモリシステム
CN109582599B (zh) 2017-09-29 2023-12-22 上海宝存信息科技有限公司 数据储存装置以及非挥发式存储器操作方法
TWI647566B (zh) 2018-01-19 2019-01-11 慧榮科技股份有限公司 資料儲存裝置與資料處理方法
US10929285B2 (en) 2018-02-27 2021-02-23 Western Digital Technologies, Inc. Storage system and method for generating a reverse map during a background operation and storing it in a host memory buffer
CN110413199B (zh) 2018-04-28 2023-02-21 伊姆西Ip控股有限责任公司 用于管理存储系统的方法、设备和计算机可读存储介质
TWI693516B (zh) 2018-11-13 2020-05-11 群聯電子股份有限公司 映射表更新方法、記憶體控制電路單元與記憶體儲存裝置
US10983918B2 (en) 2018-12-31 2021-04-20 Micron Technology, Inc. Hybrid logical to physical caching scheme
KR20200116704A (ko) 2019-04-02 2020-10-13 에스케이하이닉스 주식회사 메모리 시스템 및 그것의 동작방법

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2023000212A1 (en) * 2021-07-21 2023-01-26 Micron Technology, Inc. Memory command aggregation to improve sequential memory command performance
US11934676B2 (en) 2021-07-21 2024-03-19 Micron Technology, Inc. Memory command aggregation to improve sequential memory command performance
WO2023173999A1 (zh) * 2022-03-18 2023-09-21 华为技术有限公司 一种数据读取方法及装置

Also Published As

Publication number Publication date
US11029867B2 (en) 2021-06-08
US20210004167A1 (en) 2021-01-07
KR20210004322A (ko) 2021-01-13

Similar Documents

Publication Publication Date Title
US11029867B2 (en) Apparatus and method for transmitting map information and read count in memory system
US10963160B2 (en) Apparatus and method for checking valid data in block capable of storing large volume data in memory system
US11354250B2 (en) Apparatus for transmitting map information in memory system
US11544157B2 (en) Apparatus and method for storing data in an MLC area of a memory system
US11294597B2 (en) Apparatus and method for transferring internal data of memory system in sleep mode
CN110968522B (zh) 存储器系统及其操作方法、包括存储器系统的数据库系统
CN111581121B (zh) 用于管理存储器系统中的映射数据的方法和设备
CN113900586A (zh) 存储器系统及其操作方法
US11281574B2 (en) Apparatus and method for processing different types of data in memory system
US11681633B2 (en) Apparatus and method for managing meta data in memory system
CN111435334B (zh) 在存储器系统中检查有效数据的设备和方法
US11314653B2 (en) Memory controller
CN111506257A (zh) 用于在存储器系统中传输映射信息的装置和方法
US20220012180A1 (en) Memory system for meta data management and operating method of memory system
CN111857818A (zh) 存储器系统和通过该存储器系统执行命令操作的方法
CN112286445A (zh) 存储器系统及控制其温度的方法
CN112416818A (zh) 通过运行时间覆盖管理固件的设备和方法
US11663139B2 (en) Apparatus for transmitting map information in memory system
US11366611B2 (en) Apparatus for transmitting map information in a memory system
CN113050879A (zh) 管理存储器系统中编程操作时间和写入延迟的设备和方法
KR20210063814A (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
WW01 Invention patent application withdrawn after publication

Application publication date: 20210105

WW01 Invention patent application withdrawn after publication