CN111831215A - 用于在存储器系统中传输映射信息的装置 - Google Patents
用于在存储器系统中传输映射信息的装置 Download PDFInfo
- Publication number
- CN111831215A CN111831215A CN202010120143.1A CN202010120143A CN111831215A CN 111831215 A CN111831215 A CN 111831215A CN 202010120143 A CN202010120143 A CN 202010120143A CN 111831215 A CN111831215 A CN 111831215A
- Authority
- CN
- China
- Prior art keywords
- host
- mapping
- mapping information
- command
- memory system
- 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
Links
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/08—Addressing or allocation; Relocation in hierarchically structured memory systems, e.g. virtual memory systems
- G06F12/10—Address translation
- G06F12/1009—Address translation using page tables, e.g. page table structures
-
- 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
-
- 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
- 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/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/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
- 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/0683—Plurality of storage devices
- G06F3/0688—Non-volatile semiconductor memory arrays
-
- 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/65—Details of virtual memory and virtual address translation
- G06F2212/657—Virtual address space management
-
- 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/7207—Details relating to flash memory management management of metadata or control data
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年4月22日提交的韩国专利申请No.10-2019-0046914的优先权,其全部内容通过引用合并于此。
技术领域
各种实施例涉及一种存储器系统,并且更具体地涉及一种装置,在该装置中,数据处理系统中包括的存储器系统向主机或计算设备传输映射信息。
背景技术
近来,用于计算环境的范例已经转移到无处不在的计算,这使得几乎可以随时随地访问计算机系统。结果,诸如移动电话、数码相机、笔记本计算机等便携式电子设备的使用正在迅速增加。这种便携式电子设备通常使用或包括使用或嵌入至少一个存储器设备(即,数据存储设备)的存储器系统。数据存储设备可以用作便携式电子设备的主存储设备或辅助存储设备。
与硬盘不同,使用非易失性半导体存储器设备的数据存储设备的优点在于,由于其不具有机械驱动部件(例如,机械臂)、具有高数据访问速度、并且具有低功耗,因此其具有优异的稳定性和耐用性。在具有这种优点的存储器系统的上下文中,数据存储设备包括USB(通用串行总线)存储器设备、具有各种接口的存储卡、固态驱动器(SSD)等。
发明内容
各个实施例涉及一种数据处理系统,该数据处理系统在数据处理系统中的组件(包括诸如存储器系统和主机等组件或资源)之间传送数据。
而且,各种实施例涉及一种装置,在该装置中,数据处理系统中的存储器系统可以向主机或计算设备传输映射信息,以允许主机或计算设备向存储器系统传输包括映射信息的命令,从而提高存储器系统的操作性能。
此外,各种实施例涉及一种装置,在该装置中,在数据处理系统中的存储器系统向主机或计算设备传输映射信息之后,与是否在存储器系统中执行映射信息的更新相对应的信息可以被传输给主机或计算设备,以允许主机或计算设备自取消映射其中的映射信息,从而防止命令包括从主机或计算设备向存储器系统传输的不必要的映射信息,并且从而提高存储器系统的操作性能。
应当理解,本公开要实现的技术目标不限于上述技术目标,并且对于本公开内容所涉及的本领域普通技术人员而言,根据以下描述,本文中未描述的其他技术目标将很清楚。
在一个实施例中,一种存储器系统可以包括:非易失性存储器设备;以及控制器,适合于生成将非易失性存储器设备的物理地址映射到从主机接收的逻辑地址的第一映射信息,选择第一映射信息的一些分段作为第二映射信息,并且向主机输出第二映射信息,控制器可以确定第二映射信息是否被更新,并且可以将更新后的映射分段确定为第三映射信息,并且控制器可以向主机输出与从主机接收的命令相对应的指示第三映射信息的信息。
在执行与命令相对应的操作之后,当存在第三映射信息时,控制器可以生成针对命令的响应并且向主机输出响应,该响应包括第三映射信息的逻辑地址。
该响应可以包括设置标志,并且控制器可以设置设置标志以指示第三映射信息的逻辑地址被包括在响应中。
控制器可以输出响应,该响应包括第三映射信息中的K个映射分段中的至少一个所选择的映射分段中的逻辑地址,其中K可以是等于或大于1的自然数。
控制器可以在输出响应之后擦除所选择的映射分段。
控制器可以生成用于标识是否向主机输出第二映射信息中包括的M个映射分段中的对应映射分段的输出信息,其中M可以是等于或大于K的自然数。
在输出响应之后,控制器可以更新输出信息以标识所选择的映射分段。
控制器可以通过参考输出信息来选择第二映射信息中的M个映射分段中的至少一个映射分段作为输出映射分段,并且可以向主机输出与来自主机的第一命令相对应的输出映射分段。
在执行与第一命令相对应的操作之后,控制器可以输出具有输出映射分段的响应。
当在通知将第二映射信息输出到主机的请求之后根据主机的确定从主机接收到第一命令时,控制器可以向主机输出与第一命令相对应的输出映射分段。
控制器可以通过参考输出信息,从第二映射信息中的M个映射分段中选择没有输出给主机的L个映射分段作为输出映射分段,控制器可以以分段为单位连续L次向主机输出与第一命令相对应的被选择为输出映射分段的L个映射分段,其中L可以是等于或小于M的自然数。
控制器可以将第二映射信息中的M个映射分段中的每个映射分段划分为N个映射子分段,并且可以生成指示(M*N)个映射子分段中的每个映射子分段是否被更新的(M*N)个更新信息,其中M可以是等于或大于K的自然数,并且N可以是等于或大于2的自然数。
当指示与第二映射信息中的任何一个特定映射分段相对应的N个更新信息的已更新的更新信息的占用百分比等于或大于设定百分比时,控制器可以将特定映射分段确定为第三映射信息。
控制器可以检查来自主机的命令是否包括第一逻辑地址和第一物理地址,可以通过参考(M*N)个更新信息来确定第一物理地址的有效性,并且当确定第一物理地址有效时,可以通过使用第一物理地址来执行来自主机的命令。
当作为检查有效性的结果第一物理地址无效时,控制器可以忽略第一物理地址,可以通过参考第一映射信息来搜索与第一逻辑地址相对应的有效物理地址,并且可以通过使用搜索到的有效物理地址来执行来自主机的命令。
控制器可以选择(M*N)个更新信息中与第一逻辑地址相对应的任何一个更新信息,当指示选择的更新信息没有被更新时,可以确定第一物理地址有效,并且当指示选择的更新信息被更新时,可以确定第一物理地址无效。
在一个实施例中,一种数据处理系统可以包括:主机,适合于生成、改变或更新与数据相对应的逻辑地址;以及存储器系统,包括用于存储数据的非易失性存储器设备,并且适合于生成将非易失性存储器设备的物理地址映射到逻辑地址的第一映射信息,选择第一映射信息的一些分段作为第二映射信息,并且向主机输出第二映射信息,存储器系统可以确定第二映射信息是否被更新,可以将更新后的映射分段确定为第三映射信息,并且可以向主机输出指示与从主机接收的命令相对应的第三映射信息的信息,并且主机可以取消映射与第二映射信息的指示信息相对应的逻辑地址。
主机可以包括用于存储第二映射信息的主机存储器,并且在生成第一命令并且向存储器系统输出第一命令之后,当从存储器系统接收到与第一命令相对应的响应时,主机可以将响应中的至少一个映射分段存储在主机存储器中作为第二映射信息。
当从存储器系统通知输出第二映射信息的请求时,主机可以检查主机存储器的状态,可以根据检查结果选择性地生成第一命令,并且可以向存储器系统输出第一命令。
主机可以通过参考存储在主机存储器中的第二映射信息来选择与第一逻辑地址相对应的第一物理地址,以及在向存储器系统输出第一逻辑地址和第一物理地址以及第二命令之后,主机可以从存储器系统接收与第一逻辑地址相对应的数据。
在生成第二命令并且向存储器系统输出第二命令之后,当从存储器系统接收到与第二命令相对应的响应并且响应中包括特定逻辑地址时,主机可以取消映射与主机存储器中存储的第二映射信息的特定逻辑地址相对应的特定映射信息。
设置标志可以被包括在与第二命令相对应的响应中,以及主机可以检查设置标志,并且当检查到设置标志处于置位状态时,主机可以识别出特定逻辑地址被包括在与第二命令相对应的响应中,并且检查特定逻辑地址的值。
当检查到设置标志处于复位状态时,主机可以识别出特定逻辑地址没有被包括在与第二命令相对应的响应中。
在一个实施例中,一种用于操作包括非易失性存储器设备和控制器的存储器系统的方法,该方法可以包括:生成将非易失性存储器设备的物理地址映射到从主机接收的逻辑地址的第一映射信息;选择第一映射信息的一些分段作为第二映射信息;向主机输出第二映射信息;确定第二映射信息是否被更新以将更新后的映射分段确定为第三映射信息;以及向主机输出与从主机接收的命令相对应的指示第三映射信息的信息。
信息的输出可以包括:执行与命令相对应的操作;并且向主机输出针对该命令的响应,该响应包括第三映射信息的逻辑地址。
响应可以包括预定标志,并且信息的输出还可以包括:设置该设置标志以指示第三映射信息的逻辑地址被包括在响应中。
响应的输出可以包括输出响应,该响应包括第三映射信息中的K个映射分段中的至少一个所选择的映射分段中的逻辑地址,其中K可以是等于或更大1的自然数。
信息的输出还可以包括:在输出响应之后,擦除所选择的映射分段。
信息的输出还可以包括:生成用于标识是否向主机输出第二映射信息中包括的M个映射分段中的对应映射分段的输出信息,其中M可以是等于或大于K的自然数。
信息的输出还可以包括:在输出响应之后,更新输出信息以标识所选择的映射分段。
该方法还可以包括:通过参考输出信息来选择第二映射信息中的M个映射分段中的至少一个作为输出映射分段,并且向主机输出与来自主机的第一命令相对应的输出映射分段。
输出映射分段的输出可以包括:执行与来自主机的第一命令相对应的操作;以及输出响应以及输出映射分段。
输出映射分段的输出还可以包括:通知将第二映射信息输出到主机的请求;并且根据主机的确定从主机接收第一命令。
输出映射分段的输出可以包括:通过参考输出信息来从第二映射信息中的M个映射分段中选择没有输出给主机的L个映射分段作为输出映射分段;以及以分段为单位连续L次向主机输出与第一命令相对应的被选择为输出映射分段的L个映射分段,其中L可以是等于或小于M的自然数。
该方法还可以包括:将第二映射信息中的M个映射分段中的每个划分为N个映射子分段,并且生成指示(M*N)个映射子分段中的每个映射子分段是否被更新的(M*N)个更新信息,其中M是等于或大于K的自然数,并且N是等于或大于2的自然数。
当指示与第二映射信息中的任何一个特定映射分段相对应的N个更新信息的已更新的更新信息的占用百分比等于或大于设定百分比时,该特定映射分段可以被确定为第三映射信息。
该方法还可以包括:检查来自主机的命令是否包括第一逻辑地址和第一物理地址,以及当检查到该命令包括第一逻辑地址和第一物理地址时,通过参考M*N个更新信息来确定第一物理地址的有效性;以及当确定第一物理地址有效时,通过使用第一物理地址来执行来自主机的命令。
当确定第一物理地址无效时,命令的执行可以包括:忽略第一物理地址,通过参考第一映射信息来搜索与第一逻辑地址相对应的有效物理地址,并且通过使用搜索到的有效物理地址来执行来自主机的命令。
确定第一物理地址的有效性可以包括:选择(M*N)个更新信息中与第一逻辑地址相对应的任何一个更新信息,当指示选择的更新信息没有被更新时,确定第一物理地址有效,并且当指示选择的更新信息被更新时,确定第一物理地址无效。
在一个实施例中,一种数据处理系统可以包括:主机;以及存储器系统,存储器系统包括存储器设备和控制器,存储器设备包括具有多个物理地址的多个存储器区域,该控制器可以适合于:生成包括多个映射分段的映射信息,多个映射分段指示物理地址与来自主机的逻辑地址之间的映射;向主机传输多个映射分段中的所选择的映射分段;确定所选择的映射分段是否被更新;以及响应于来自主机的命令而向主机传输响应信息,响应信息包括指示所选择的映射分段中的更新后的映射分段的指示信息。主机可以基于指示信息取消映射所选择的映射分段中的更新后的映射分段。
根据本公开的实施例的装置的一些有益效果如下。
根据本公开的实施例的数据处理系统提供的优点在于,在由主机或数据处理系统中的计算设备和存储器系统共享的映射信息由于存储器系统中的预定操作而变得彼此不同的情况下,主机或计算设备认识到映射信息对于特定映射信息是不同的,并且不使用对应的映射信息,从而提高了存储器系统的数据输入/输出性能。
此外,在本公开的实施例中,主机或计算设备可以在要传输给存储器系统的读取命令中选择性地传输与逻辑地址相对应的物理地址,从而防止在存储器系统中执行确定物理地址的有效性的操作,并且通过这一操作,改善了存储器系统的操作性能。
附图说明
图1是示出根据本公开的实施例的用于共享映射信息的方法的图;
图2是示意性地示出根据本公开的实施例的包括存储器系统的数据处理系统的图;
图3是示出根据本公开的实施例的数据处理系统中的主机和存储器系统的配置的图;
图4是示出根据本公开的实施例的数据处理系统中的主机和存储器系统的读取操作的图;
图5是示出根据本公开的实施例的数据处理系统中的主机和存储器系统的事务的第一示例的图;
图6是示出根据本公开的实施例的主机和存储器系统的第一操作的图;
图7是示出根据本公开的实施例的数据处理系统中的主机和存储器系统的事务的第二示例的图;
图8是示出根据本公开的实施例的主机和存储器系统的第二操作的图;
图9是示出根据本公开的实施例的主机和存储器系统的第三操作的图;
图10是示出根据本公开的实施例的主机和存储器系统的第四操作的图;
图11A至图11C是示出根据本公开的实施例的其中主机和存储器系统共享映射信息的第一操作的图;
图12A至图12C是示出根据本公开的实施例的其中主机和存储器系统共享映射信息的第二操作的图;以及
图13是示出根据本公开的实施例的其中主机和存储器系统共享映射信息的第三操作的流程图。
具体实施方式
下面将参考附图更详细地描述各种实施例。然而,本发明可以以不同的形式实施,而不应当被解释为限于本文中阐述的实施例。而是,提供这些实施例以使得本公开将是透彻和完整的,并且将向本领域技术人员充分传达本发明的范围。贯穿本公开,在本发明的各个附图和实施例中,相同的附图标记指代相同的部分。
图1是示出根据本公开的实施例的用于共享映射信息的方法的图。
图1描述了根据本公开的实施例的如何在数据处理系统中的主机102与存储器系统110之间共享映射信息。
参考图1,主机102和存储器系统110可以在操作上接合。主机102可以包括计算设备,并且可以以移动设备、计算机或服务器的形式实现。与主机102在操作上接合的存储器系统110可以从主机102接收命令,并且响应于接收的命令而存储或输出数据。
存储器系统110可以具有包括非易失性存储器单元的存储空间。例如,存储器系统110可以以闪存或固态驱动器(SSD)的形式实现。
为了响应于主机102的请求而将数据存储在包括非易失性存储器单元的存储空间中,存储器系统110可以执行用于将由主机102使用的文件系统与包括非易失性存储器单元的存储空间相关联的映射操作。这可以称为逻辑地址与物理地址之间的地址转换。例如,根据由主机102使用的文件系统来标识数据的地址可以被称为逻辑地址或逻辑块地址。指示数据在包括非易失性存储器单元的存储空间中的物理位置的地址可以被称为物理地址或物理块地址。当主机102向存储器系统110发送具有逻辑地址的读取命令时,存储器系统110可以搜索与该逻辑地址相对应的物理地址,并且然后读取和输出存储在由该物理地址指示的物理位置的数据。在这些处理期间,可以在存储器系统110搜索与从主机102输入的逻辑地址相对应的物理地址的同时执行映射操作或地址转换。映射操作可以基于诸如映射表等可以将逻辑地址与物理地址相关联的映射信息来执行。
如果主机102可以执行由存储器系统110执行的映射操作,则可以减少存储器系统110读取和输出与由主机102传输的读取命令相对应的数据所花费的时间量。主机102可以存储和访问用于执行映射操作的一些映射信息,以便通过映射操作将具有物理地址的读取命令传递给存储器系统110。
存储器系统110可以将映射信息(即,逻辑到物理(L2P)映射信息)MAP_INFO传输给主机102。主机102可以将映射信息MAP_INFO存储在主机102中包括的存储器中。当存储器系统110将整个映射信息发送给主机102并且主机102可以将整个映射信息存储在存储器中时,存储器系统110可能不需要写入关于所传输的映射信息的日志。然而,主机102可能难以在存储器中分配存储空间,以用于存储由映射系统110生成和传递的整个映射信息。因此,当主机102具有有限的用于存储映射信息的存储空间时,存储器系统110可以选择其中主机102经常使用或访问数据或逻辑地址的映射信息的一部分,并且将所选择的映射信息传输给主机102。
存储器系统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传输并且存储在其存储器中的旧的映射信息。另外,映射信息可以包括更新信息。因为由主机102分配的用于存储映射信息的存储器包括易失性存储器单元(支持重写),所以主机102可以基于更新信息来更新映射信息,而无需擦除其他映射信息的附加操作。
主机102可以基于映射信息将物理地址PBA添加到要传输给存储器系统110的命令。在映射操作中,主机102可以基于与传输给存储器系统110的命令相对应的逻辑地址来在存储在存储器中的映射信息中搜索和寻找物理地址PBA。当物理地址存在并且被找到时,主机102可以将具有逻辑地址和物理地址的命令传输给存储器系统110。
存储器系统110可以从主机102接收具有逻辑地址和物理地址的命令,并且可以执行与该命令相对应的命令操作。如上所述,当主机102传送与读取命令相对应的物理地址时,存储器系统110可以使用该物理地址以使用对应的物理地址来访问和输出由该物理地址指示的位置存储的数据。存储器系统110可以响应于读取命令而执行特定操作而无需地址转换,从而存储器系统110可以减少花费在该操作上的时间。
如果在存储器系统110中执行预定操作,则可以更新(更新)在存储器系统110中管理的一些映射信息(一些L2P MAP INFO)。此后,存储器系统110可以将在其中更新的一些映射信息(一些L2P MAPINFO)的逻辑地址LBA传输给主机102。响应于从存储器系统110接收的至少一个逻辑地址LBA,主机102可以取消映射存储在其中的映射信息中的至少一个映射信息(取消映射)。因此,主机102可以仅使用除了其中所存储的映射信息中取消映射的至少一个映射信息之外的其余映射信息,来将具有命令的物理地址PBA传送给存储器系统110。
当没有向主机102和存储器系统110供电时,存储在主机102中的包括易失性存储器单元的存储器中的所有映射信息丢失。主机102和存储器系统110处的断电或通电可以根据用户的请求发生,或者在不希望的情况下发生,而与用户的请求无关。在向主机102和存储器系统110供电的同时,存储器系统110可以存储关于传输给主机102的映射信息的日志。此后,在断电之后恢复供电时,存储器系统110可以基于日志向主机102传输映射信息,使得主机102可以执行映射操作并且将具有逻辑地址和物理地址的命令传输到存储器系统110中。在恢复供电之后,主机102可以快速恢复关于映射操作的操作状态,其与停止或不提供电源之前的操作基本相同。
在停电之前和恢复供电之后,使用包括主机102和存储器系统110的数据处理系统的用户的需求和使用模式可以相似或不同。当用户的需求和使用模式没有改变时,主机102可能已经尝试以高频访问相同的数据。当主机102执行关于这样的数据的映射操作,并且存储器系统110可以响应于具有逻辑地址和物理地址的读取命令而更快地输出数据时,很可能可以改善数据处理系统的性能。
图2示出了根据本公开的实施例的数据处理系统100。参考图2,数据处理系统100可以包括与存储器系统110接合或操作的主机102。
例如,主机102可以包括诸如移动电话、MP3播放器和膝上型计算机等便携式电子设备、或者诸如台式计算机、游戏机、电视(TV)和投影仪等电子设备。
主机102还包括通常可以管理和控制在主机102中执行的功能和操作的至少一个操作系统(OS)。OS可以提供与存储器系统110接合的主机102与存储器系统110的用户之间的互操作性。OS可以支持与用户的请求相对应的功能和操作。作为示例而非限制,OS可以根据主机102的移动性分类为通用操作系统和移动操作系统。通用操作系统可以根据系统要求或用户的环境分为个人操作系统和企业操作系统。包括Windows和Chrome在内的个人操作系统可能出于通用目的而支持服务。企业操作系统可以专门用于保护和支持高性能,包括Windows服务器、Linux和Unix。此外,移动操作系统可以包括Android、iOS和Windowsmobile。移动操作系统可以支持用于移动性的服务或功能(例如,省电功能)。主机102可以包括多个操作系统。主机102可以执行与用户的请求相对应的与存储器系统110互锁的多个操作系统。主机102可以将与用户的请求相对应的多个命令传输给存储器系统110,从而执行与存储器系统110内的命令相对应的操作。
存储器系统110可以响应于来自主机102的请求而执行特定功能或操作。特别地,存储器系统110可以存储要由主机102访问的数据。存储器系统110可以用作主机102的主存储器系统或辅助存储器系统。根据主机接口的协议,存储器系统110可以用可以与主机102电耦合的各种类型的存储设备中的任何一种来实现。合适的存储设备的非限制性示例包括固态驱动器(SSD)、多媒体卡(MMC)、嵌入式MMC(eMMC)、小尺寸MMC(RS-MMC)、微型MMC、安全数字(SD)卡、mini-SD卡、micro-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时,与用硬盘实现的主机102相比,可以提高连接到存储器系统110的主机102的操作速度。另外,控制器130和存储器设备150可以集成到一个半导体器件中以形成存储卡,诸如个人计算机(PC)卡(例如,PCMCIA卡)、紧凑型闪存卡(CF)、诸如智能媒体卡(例如,SM、SMC)等存储卡、记忆棒、多媒体卡(例如,MMC、RS-MMC、MMCmicro)、安全数字(SD)卡(例如,SD、miniSD、microSD、SDHC)或通用闪存。
存储器系统110可以被配置为例如以下各项的一部分:计算机、超移动PC(UMPC)、工作站、上网本、个人数字助理(PDA)、便携式计算机、网络平板电脑、平板电脑、无线电话、移动电话、智能电话、电子书、便携式多媒体播放器(PMP)、便携式游戏机、导航系统、黑匣子、数码相机、数字多媒体广播(DMB)播放器、3维(3D)电视、智能电视、数字录音机、数字音频播放器、数字图片记录器、数字图片播放器、数字视频记录器、数字视频播放器、配置数据中心的存储装置、能够在无线环境下发射和接收信息的设备、配置家庭网络的各种电子设备之一、配置计算机网络的各种电子设备之一、配置远程信息处理网络的各种电子设备之一、射频标识(RFID)设备、或配置计算系统的各种组件之一。
存储器设备150可以是非易失性存储器设备,并且即使在不提供电力时也可以保留存储在其中的数据。存储器设备150可以通过写入操作存储从主机102提供的数据,并且可以通过读操作将存储在其中的数据提供给主机102。存储器设备150可以包括多个存储器块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,这些均经由内部总线在操作上耦合。
主机接口132可以处理由主机102提供的命令和数据。主机接口132可以通过各种接口协议中的至少一种与主机102通信,诸如通用串行总线(USB)、多媒体卡(MMC)、外围组件快速互连(PCI-e或PCIe)、小型计算机系统接口(SCSI)、串行连接的SCSI(SAS)、串行高级技术附件(SATA)、并行高级技术附件(PATA)、小型计算机系统接口(SCSI)、增强型小磁盘接口(ESDI)和集成驱动电子器件(IDE)。根据一个实施例,主机接口132是用于与主机102交换数据的组件,其可以通过称为主机接口层(HIL)的固件来实现。
ECC组件138可以校正要在存储器设备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是闪存(特别是NAND闪存)时,存储器接口142可以生成用于存储器设备150的控制信号,并且可以在处理器134的控制下处理输入到存储器设备150中或从存储器设备150输出的数据。存储器接口142可以提供用于处理控制器130与存储器设备150之间的命令和数据的接口,例如,NAND闪存接口的操作。根据一个实施例,可以通过称为闪存接口层(FIL)的固件来实现存储器接口142,该固件作为用于与存储器设备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可以存储用于执行读取或编程操作所需要的数据。存储器144可以存储针对诸如垃圾收集和损耗均衡等后台操作而在存储器设备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可以基于映射数据执行地址映射操作,以将与更新后的数据的逻辑地址相对应的特定页面的物理地址更新为另一新编程的页面的物理地址。此外,控制器130可以将新数据的映射数据存储到FTL中。
例如,当执行从存储器设备150中的主机102请求的操作时,控制器130使用处理器134。处理器134可以处理与从主机102输入的命令相对应的指令或命令。控制器130可以执行与从主机102输入的命令相对应的前台操作,诸如命令操作,例如,与写入命令相对应的编程操作、与读取命令相对应的读取操作、与擦除/丢弃命令相对应的擦除/丢弃操作、以及与具有设置命令的设置特征命令或设置特征命令相对应的参数设置操作。
对于另一示例,控制器130可以通过处理器134在存储器设备150上执行后台操作。作为示例而非限制,后台操作包括将存储在存储器设备150中的存储器块152、154、156中的存储器块中的数据复制和存储到另一存储器块的操作,例如,垃圾收集(GC)操作。后台操作可以包括将存储在存储器块152、154、156中至少一个中的数据移动或交换到存储器块152、154、156中的至少另一个中的操作,例如,损耗均衡(WL)操作。在后台操作期间,控制器130可以使用处理器134来将存储在控制器130中的映射数据存储到存储器设备150中的存储器块152、154、156中的至少一个,例如,映射刷新操作。检查或搜索存储器块152、154、156中的坏块的坏块管理操作是由处理器134执行的后台操作的另一示例。
控制器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))信息。
与命令相对应的数据可以包括用户数据和元数据。元数据可以包括由控制器130生成的与存储在存储器设备150中的用户数据相对应的映射数据。此外,元数据可以包括关于与从主机102接收的命令相对应的命令数据的信息、关于与命令相对应的命令操作的信息、关于要对其执行命令操作的存储器设备150的存储器块的信息、以及关于与命令操作相对应的映射数据的信息。换言之,除了与来自主机102的命令相对应的用户数据,元数据还可以包括用于命令操作的信息和数据。
也就是说,当从主机102接收到写入命令时,控制器130执行与写入命令相对应的编程操作。此时,控制器130可以将与写入命令相对应的用户数据存储在存储器设备150的存储器块152、154和156中的至少一个中。例如,用户数据可以存储在对其执行擦除操作的空存储器块、开放存储器块或空闲存储器块中。另外,控制器130可以以映射表或映射列表的形式将存储在存储器块中的用户数据的逻辑/物理地址信息(即,L2P映射)和物理/逻辑地址信息(即,P2L映射)存储在存储器块中的空存储器块、开放存储器块或空闲存储器块中。
要存储在存储器设备150中的用户数据可以以具有预设大小的分段为单位进行划分。预设大小可以与存储器系统110与主机102互操作所需要的最小数据大小相同。根据一个实施例,作为用户数据的单位的数据分段的大小可以被确定为与存储器设备150中的配置和控制方法相对应。在将用户数据的数据分段存储在存储器设备150的存储器块中的同时,控制器130可以生成或更新与所存储的数据分段相对应的映射地址。当由控制器130生成元分段或存储在存储器块中的映射分段被加载到存储器144并且然后被更新时,可以将映射分段存储在存储器设备150的存储器块中。作为元数据的单位的元分段中的每个分段可以包括映射地址。例如,每个元分段可以包括逻辑/物理(L2P)分段和物理/逻辑(P2L)分段作为映射数据的映射分段。
参考图1和2,存储器系统110可以生成第一映射信息L2P MAPINFO1,该第一映射信息L2P MAP INFO1映射与从主机102输入的逻辑地址相对应的存储器设备150中的数据的物理地址。在非易失性状态下,整个第一映射信息L2P MAP INFO1可以存储在存储器设备150中的至少一个存储器块MEMORY BLOCK<2>中。另外,存储在存储器设备150中的整个第一映射信息L2P MAP INFO1中的一些第一映射信息SOME L2P MAP INFO1可以存储在控制器130中的存储器144中。此外,存储在存储器设备150中的整个第一映射信息L2PMAP INFO2中的一些映射信息L2P MAP INFO1可以被传输给主机102并且可以存储在主机存储器106中。一些第一映射信息SOME L2PMAP INFO1和第二映射信息L2P MAP INFO2可以彼此不重叠。在将第二映射信息L2P MAP INFO2传输给主机102之后,控制器130可以在第二映射信息L2P MAPINFO2上生成L2P MAP INFO2的日志信息OUT_INFO。
虽然图2示出了在第二映射信息L2P MAP INFO2上的L2P MAPINFO2的日志信息OUT_INFO存储在存储器144中,但是这仅是示例。实际上,在第二映射信息L2P MAP INFO2上的L2P MAP INFO2的日志信息OUT_INFO可以存储在存储器144中,并且同时可以在非易失性状态下存储在存储器设备150的特定存储器块中。
图3是示出根据本公开的实施例的数据处理系统中的主机102和存储器系统110的配置的图。
图4是示出根据本公开的实施例的数据处理系统中的主机102和存储器系统110的读取操作的图。
参考图4,主机102可以包括处理器104、主机存储器106和主机控制器接口108。存储器系统110可以包括控制器130和存储器设备150。本文中,参考图4描述的控制器130和存储器设备150可以对应于参考图2和图3描述的控制器130和存储器设备150。
在下文中,主要描述图4所示的控制器130和存储器设备150与图2和图3所示的控制器130和存储器设备150(其可以在技术上区分)之间的区别。特别地,控制器130中的逻辑块160可以对应于参考图4描述的闪存转换层(FTL)40。然而,根据一个实施例,逻辑块160可以执行图3所示的闪存转换层(FTL)40中未描述的附加功能。
主机102可以包括具有比存储器系统110的处理器更高性能的处理器104。此外,主机存储器106能够存储比与主机102协作的存储器系统110更大的数据量。处理器104和主机存储器106在空间和可升级性方面可以具有优势。例如,处理器104和主机存储器106的空间限制可以小于存储器系统110中的处理器134和存储器144。处理器104和主机存储器106可以是可更换的以便升级它们的性能,这可以与存储器系统110中的处理器134和存储器144区分开。在该实施例中,存储器系统110可以利用主机102拥有的资源,以提高存储器系统110的操作效率。
随着可以存储在存储器系统110中的数据量的增加,与存储在存储器系统110中的数据相对应的元数据的量也增加。当用于在存储器144中加载元数据的存储能力受到限制时,所加载的元数据的量的增加可能对控制器130的操作产生负担。例如,由于分配给存储器144中元数据的空间限制,可以加载部分(但不是全部)元数据。如果所加载的元数据不包括主机102打算访问的物理位置的特定元数据,并且某些加载的元数据已经被更新,则控制器130必须将所加载的元数据存储回存储器设备150中,并且加载主机102打算访问的物理位置的特定元数据。应当执行这些操作以便控制器130执行主机102所需要的读取操作或写入操作,并且可以降低存储器系统110的性能。
主机102中的主机存储器106的存储能力可以是控制器130中的存储器144的存储能力的几十倍或几百倍。存储器系统110可以将由主机103使用的元数据(即,L2P映射)传送给主机存储器106,以便可以由存储器系统110访问主机存储器106的至少一部分。主机存储器106的一部分可以用作高速缓冲存储器以进行在存储器系统110中读取或写入数据所需要的地址转换。在这种情况下,主机102基于存储在主机存储器106中的元数据166将逻辑地址转换为物理地址。然后,主机102可以将转换后的物理地址以及请求、命令或指令传输给存储器系统110。存储器系统110可以接收转换后的物理地址以及请求、命令或指令,可以跳过将逻辑地址转换为物理地址的内部过程,并且可以基于物理地址访问存储器设备150。在这种情况下,控制器130从存储器设备150加载元数据的开销(例如,操作负担)可以消失,并且可以提高存储器系统110的操作效率。
即使存储器系统110将元数据166传输给主机102,存储器系统110仍然可以基于元数据166来控制映射信息的处理(例如,元数据的生成、删除和更新)。控制器130可以根据存储器设备150的操作状态执行预定操作。此外,控制器130可以确定用于存储来自主机102的数据的存储器设备150中的物理地址。因为存储器设备150中的物理地址可以改变并且主机102没有识别出改变后的物理地址,所以存储器系统110最初可以控制元数据166。
在存储器系统110控制用于地址转换的元数据的同时,可以确定存储器系统110需要修改或更新先前传输给主机102的元数据166。存储器系统110可以向主机102发送信号或元数据以请求存储在主机102中的元数据166的更新。主机102可以响应于来自存储器系统110的请求而更新存储在主机存储器106中的元数据166。这允许存储在主机存储器106中的元数据166保持最新版本,以便即使主机控制器接口108使用存储在主机存储器106中的元数据166,也无需担心其中将逻辑地址转换为物理地址的操作,并且转换后的物理地址与逻辑地址一起被传输给存储器系统110。
一起参考图1至图3,可以在存储器系统110中执行的预定操作是指将存储在存储器设备150中的多个存储器块152、154和156中的至少一个第一存储器块中的有效数据移动到至少一个第二存储器块的操作。例如,预定操作可以包括诸如垃圾收集和损耗均衡等后台操作。
存储在主机存储器106中的元数据166可以包括用于将逻辑地址转换为物理地址的映射信息。参考图3,元数据可以包括两个可区分项:用于将逻辑地址转换为物理地址的逻辑/物理(L2P)信息;以及用于将物理地址转换为逻辑地址的物理/逻辑(P2L)信息。存储在主机存储器106中的元数据166可以包括逻辑/物理信息。物理/逻辑信息可以主要用于存储器系统110的内部操作,但是可以不用于由主机102请求的将数据存储在存储器系统110中或从存储器系统110中读取与特定逻辑地址相对应的数据的操作。根据一个实施例,物理/逻辑信息可以不由存储器系统110传输给主机102。
逻辑/物理信息可以对应于上面参考图2描述的第一映射信息L2PMAP INFO1。存储在主机存储器106中的元数据166可以对应于上面参考图2描述的第二映射信息L2P MAPINFO2。
控制器130可以控制对逻辑/物理信息或物理/逻辑信息的处理,并且将逻辑/物理信息或物理/逻辑信息存储到存储器设备150。由于主机存储器106是一种易失性存储器,所以当发生诸如主机102和存储器系统110的供电中断等事件时,存储在主机存储器106中的元数据166可能消失。因此,控制器130不仅可以保持存储在主机存储器106中的元数据166的最新状态,而且还可以将逻辑/物理信息或物理/逻辑信息的最新状态存储在存储器设备150中。
参考图3和图4,描述当元数据166存储在主机存储器106中时由主机102请求的读取存储在存储器系统110中的数据的操作。
当向主机102和存储器系统110供电时,主机102和存储器系统110可以彼此接合。当主机102和存储器系统110协作时,存储在存储器设备150中的元数据(L2P MAP)可以被传送给主机存储器106。
当主机102中的处理器104发出读取命令(Read CMD)时,读取命令被传输给主机控制器接口108。在接收到读取命令之后,主机控制器接口108搜索与逻辑地址相对应的物理地址,该逻辑地址与存储在主机存储器106中的元数据(L2P MAP)中的读取命令相对应。基于存储在主机存储器106中的元数据(L2P MAP),主机控制器接口108可以识别与逻辑地址相对应的物理地址。主机控制器接口108对与读取命令相关联的逻辑地址执行地址转换。
主机控制器接口108将具有逻辑地址以及物理地址的读取命令(读取CMD)传送给控制器130。控制器130可以基于通过读取命令(读取CMD)接收的物理地址来访问存储器设备150。存储在与存储器设备150中的物理地址相对应的位置的数据可以被传送给主机存储器106。
读取存储在包括非易失性存储器的存储器设备150中的数据的操作可能比读取存储在作为易失性存储器的主机存储器106中的数据的操作花费更多的时间。在用于处理读取命令(读取CMD)的上述操作中,控制器130可以跳过与从主机102接收的逻辑地址相对应的地址转换(例如,搜索和识别与该逻辑地址相关联的物理地址)。例如,在地址转换中,当控制器130在存储器144中没有找到用于地址转换的元数据时,控制器130可以不必从存储器设备150加载元数据或替换存储在存储器144中的元数据。这允许存储器系统110更快地执行由主机102请求的读取操作。
图5示出了根据本公开的实施例的数据处理系统中的主机102与存储器系统110之间的事务的第一示例。
参考图5,存储映射信息(MAP INFO)的主机102可以将具有逻辑地址LBA和物理地址PBA的读取命令传输给存储器系统110。当在存储在主机102中的映射信息中找到与要与读取命令(读取命令)一起传输给存储器系统110的逻辑地址LBA相对应的物理地址PBA时,主机102可以将具有逻辑地址LBA和物理地址PBA的读取命令(读取命令)传输给存储器系统110。但是,当在存储在主机102中的映射信息中没有找到与逻辑地址LBA相对应的物理地址PBA时,主机102可以向存储器系统110发送仅包括逻辑地址LBA而没有物理地址PBA的读取命令(读取命令)。
尽管图5作为示例描述了响应于读取命令(读取命令)的操作,但是本公开的实施例可以应用于主机102可以传送给存储器系统110的写入命令或擦除命令。
图6示出了根据本公开的实施例的主机和存储器系统的第一操作。图6示出了传输包括逻辑地址LBA和物理地址PBA的命令的主机以及接收具有逻辑地址LBA和物理地址PBA的命令的存储器系统的详细操作,如参考图5描述的主机102和存储器系统110。
参考图6,主机可以生成包括逻辑地址LBA的命令COMMAND(步骤812)。此后,主机可以检查与逻辑地址LBA相对应的物理地址PBA是否在其中存储的映射信息中(步骤814)。如果不存在物理地址PBA(步骤814中为“否”),则主机可以传输具有逻辑地址LBA而没有物理地址PBA的命令COMMAND(步骤818)。
如果存在物理地址PBA(步骤814中为“是”),则主机可以将物理地址PBA添加到具有逻辑地址LBA的命令COMMAND(步骤816)。主机可以发送具有逻辑地址LBA和物理地址PBA的命令COMMAND(步骤818)。
存储器系统可以接收命令(步骤822)。存储器系统可以检查是否接收到具有物理地址PBA的命令(步骤824)。当没有接收到具有物理地址PBA的命令时(步骤824中为“否”),存储器系统可以执行映射操作或地址转换,例如,搜索与通过命令接收的逻辑地址相对应的物理地址(步骤832)。
当接收到具有物理地址PBA的命令时(步骤824中为“是”),存储器系统可以检查物理地址PBA是否有效(步骤826)。存储器系统已经将映射信息传递给主机,并且主机可以基于从存储器系统传递的映射信息来执行映射操作,以将具有物理地址PBA的命令传输给存储器系统。然而,在存储器系统将映射信息传输给主机之后,映射信息可以由存储器系统改变和更新。当映射信息脏了时,从主机接收的物理地址PBA可能不会直接用于访问数据,因此存储器系统可以确定通过命令接收的物理地址PBA是否有效,即,与物理地址PBA相对应的映射信息是否改变或更新。当通过命令接收的物理地址PBA有效时(步骤826中为“是”),存储器系统可以使用物理地址PBA执行与该命令相对应的操作(步骤830)。
当通过命令接收的物理地址PBA无效时(步骤826中为“否”),存储器系统可以忽略通过命令接收的物理地址PBA(步骤828)。在这种情况下,存储器系统可以基于通过命令接收的逻辑地址LBA来搜索物理地址PBA(步骤832)。
图7示出了根据本公开的实施例的数据处理系统中的主机102与存储器系统110之间的事务的第二示例。
参考图7,存储器系统110可以将映射信息(MAP INFO)传送给主机102。存储器系统110可以使用关于主机102的命令的响应RESPONSE来传送映射信息(MAP INFO)。本文中,响应RESPONSE是在存储器系统110响应于从主机102接收的命令而完全执行操作之后传输的消息或分组类型。
在一个实施例中,对用于传输映射信息的响应可能没有特别的限制。例如,存储器系统110可以通过使用与读取命令、写入命令或擦除命令相对应的响应来将映射信息传输给主机102。
存储器系统110和主机102可以按照预定协议以特定格式设置彼此交换命令或响应。例如,响应RESPONSE的格式可以包括基本报头、根据从主机102接收的命令的成功或失败的结果(或状态)、以及指示存储器系统110的操作状态的附加信息。存储器系统110可以将映射信息(MAP INFO)添加(或插入)到响应RESPONSE的格式中以将映射信息传输给主机102。
图8示出了根据本公开的实施例的主机与存储器系统之间的第二操作。具体地,图8示出了其中主机102首先向存储器系统110请求映射信息并且然后存储器系统110响应于主机102的请求而传输映射信息的操作。
参考图8,对映射信息的需求可以在主机102处发生。例如,如果主机102可以分配空间来存储映射信息,或者如果主机102期望存储器系统110的更快的数据输入/输出(I/O),则主机102可以向存储器系统110请求映射信息。此外,还可以由主机102在用户的请求下生成对映射信息的需求。
主机102可以向存储器系统110请求映射信息。存储器系统110可以响应于来自主机102的请求而准备映射信息。在一个实施例中,主机102可以从存储器系统110请求特定映射信息,诸如特定范围的映射信息。在另一实施例中,主机102通常可以从存储器系统110请求映射信息,并且存储器系统110可以确定将哪些映射信息提供给主机102。
在存储器系统110将准备的映射信息发送给主机102之后,主机102可以将映射信息存储在内部存储空间中,例如,参考图2和图3描述的主机存储器106。
使用所存储的映射信息,主机102可以以命令COMMAND的格式添加物理地址PBA,并且将具有物理地址PBA的命令COMMAND的格式发送给存储器系统110。然后,存储器系统110可以使用从主机102与命令COMMAND一起接收的物理地址PBA来执行与命令COMMAND相对应的操作。
图9示出了根据本公开的实施例的主机与存储器系统之间的第三操作。具体地,图9示出了如下操作:其中存储器系统110查询主机102以传输映射信息,主机102确定是否允许从存储器系统110进行传输,并且主机102响应于存储器系统110的查询而接收映射信息。
参考图9,存储器系统110可以向主机102通知传输映射信息。主机102可以确定主机102是否可以存储从存储器系统110传递的与关于映射信息的传输的通知相关联的映射信息。如果主机102可以接收和存储从存储器系统110接收的映射信息,则主机102可以允许存储器系统100传递映射信息。根据一个实施例,存储器系统110可以准备要传输的映射信息,并且然后将准备的映射信息传输给主机102。
主机102可以将所接收的映射信息存储在内部存储空间(例如,参考图2和图3描述的存储器106)中。在基于所存储的映射信息执行映射操作之后,主机102可以生成要传输给存储器系统110的具有物理地址PBA的命令。
存储器系统110可以检查物理地址PBA是否被包括在来自主机102的命令中,并且应用物理地址PBA以执行与该命令相对应的操作。
关于映射信息的传输,图8示出了主机102最初可以执行参考图8描述的主机102与存储器系统110之间的操作。与之相对,图9示出了存储器系统110最初可以执行主机102与存储器系统110之间的操作。在其他实施例中,存储器系统110可以不同地执行映射信息的传输。根据操作条件或环境,存储器系统102和主机110可以选择性地使用参考图8和图9描述的用于传输映射信息的方法。
图10示出了根据本公开的实施例的主机与存储器系统之间的第四操作。详细地,图10示出了其中当主机和存储器系统彼此在操作上接合时存储器系统试图向主机传输映射信息的情况。
参考图10,存储器系统可以确定与从主机接收的命令相对应的操作是否完成(步骤862)。在与命令相对应的操作完成之后,存储器系统可以在传输与该命令相对应的响应之前检查是否存在要传输(即,上传)给主机的映射信息(步骤864)。如果不存在要传输给主机的映射信息(步骤864中为“否”),则存储器系统可以传输响应RESPONSE,该响应RESPONSE包括关于与来自主机的命令相对应的操作是否已经完成的信息(例如,成功或失败)(步骤866)。
当存储器系统识别出要传输给主机的映射信息时(步骤864中为“是”),存储器系统可以检查是否已经做出用于传输映射信息的通知NOTICE(步骤868)。该通知可以类似于参考图10描述的通知。当存储器系统将要发送映射信息但尚未预先作出关于存储器系统向主机发送映射信息的通知时(步骤868中为“否”),存储器系统可以将通知NOTICE添加到响应RESPONSE。另外,存储器系统可以将具有通知NOTICE的响应RESPONSE传输给主机(步骤870)。
当已经做出用于询问映射信息的传输的通知NOTICE时(步骤868中为“是”),存储器系统可以将映射信息添加到响应RESPONSE(步骤872)。此后,存储器系统可以传输具有映射信息的响应(步骤874)。根据一个实施例,在存储器系统将映射信息传输给主机之前,主机可以发送用于将映射信息传输给存储器系统的许可。
主机可以从存储器系统接收响应RESPONSE、包括通知的响应(RESPONSE WITHNOTICE)和包括映射信息的响应(RESPOSNE WITH MAP INFO)中的至少一个(步骤842)。
主机可以验证所接收的响应是否包括通知(步骤844)。如果所接收的响应包括通知(步骤844中为“是”),则主机可以准备接收和存储稍后可以传递的映射信息(步骤846)。此后,主机可以检查与先前传输给存储器系统的命令相对应的响应(步骤852)。例如,主机可以检查响应以确认与先前发送的命令相对应的操作在存储器系统中是成功还是失败。
当所接收的响应不包括通知时(步骤844中为“否”),主机可以确定响应是否包括映射信息(步骤848)。当响应不包括映射信息时(步骤848中为“否”),主机可以检查与先前传输给存储器系统的命令相对应的响应(步骤852)。
当所接收的响应包括映射信息时(步骤848中为“是”),主机可以将响应中的映射信息存储在存储空间内(例如,图3的主机存储器106)或者更新已经存储在存储空间中的映射信息(步骤850)。然后,主机可以检查与先前传输给存储器系统的命令相对应的响应(步骤852)。
图11A至图11C是示出根据本公开的实施例的其中主机102和存储器系统110共享映射信息的第一操作的图。
图11A可以示出在时间t1在主机102与存储器系统110之间共享映射信息的操作,图11B可以示出在时间t2在主机102与存储器系统110之间共享映射信息的操作,并且图11C可以示出在时间t3在主机102与存储器系统110之间共享映射信息的操作。
在时间t1,由存储器系统110新生成的第二映射信息L2P MAP INFO2被传送给主机102并且存储在主机102中,因此主机102和存储器系统110第一次共享第二映射信息L2PMAP INFO2。因此,在时间t1,由主机102和存储器系统110共享的第二映射信息L2P MAPINFO2可以处于不被更新的状态。在晚于时间t1的时间t2,当执行预定操作时,仅存储在存储器系统110中的第二映射信息L2P MAP INFO2包括一些更新后的映射信息,并且主机102没有意识到第二映射信息L2P MAP INFO2中的一些映射信息被更新的事实。在晚于时间t2的时间t3,主机102意识到第二映射信息L2P MAP INFO2中的一些映射信息被更新的事实,并且取消映射存储在主机102中的第二映射信息L2P MAP INFO2中的更新后的一些映射信息。
参考图11A,在时间t1,控制器130可以生成第一映射信息L2P MAP INFO1,以将存储器设备150中的物理地址映射到来自主机102的逻辑地址。而且,在时间t1,控制器130可以将第一映射信息L2P MAP INFO1中的一些第二映射信息L2P MAP INFO2输出给主机102(发送L2P MAP INFO2)。此外,在时间t1,对应于第二映射信息L2P MAP INFO2向主机102的输出,控制器130可以在第二映射信息L2P MAP INFO2上生成L2P MAP INFO2的日志信息OUT_INFO(生成L2P MAP INFO2的OUT_INFO)。此外,在时间t1,主机102可以将从存储器系统110接收的第二映射信息L2P MAP INFO2存储在主机存储器106中(存储L2P MAP INFO2)。在时间t1之后,主机102可以基于第二映射信息L2P MAP INFO2生成要传送给存储器系统110的物理地址和命令。此外,主机102可以将具有物理地址的命令发送给存储器系统110(发送具有PBA的命令)。也就是说,基于要传送给存储器系统110的逻辑地址,主机102可以在其中存储的第二映射信息L2P MAP INFO2中查找与该逻辑地址相对应的物理地址。如果物理地址存在,则主机102可以将具有逻辑地址和物理地址的命令传送给存储器系统110。如果物理地址不存在,则主机102可以将具有逻辑地址的命令传送给存储器系统110。存储器系统110可以从主机102接收具有物理地址的命令,并且可以执行与该命令相对应的命令操作。例如,当主机102传送与读取的命令相对应的物理地址时,控制器130可以使用对应的物理地址来访问和输出数据,从而减少与读取的命令相对应的命令操作所需要的时间。
第二映射信息L2P MAP INFO2可以以映射分段为单位进行管理。也就是说,第二映射信息L2P MAP INFO2中可以包括多个映射分段,并且从存储器系统110输出给主机102的第二映射信息L2P MAP INFO2可以包括至少一个映射分段。第二映射信息L2P MAP INFO2上的L2P MAP INFO2的日志信息OUT_INFO也可以以用于标识映射分段的形式来生成。例如,第二映射信息L2P MAP INFO2可以包括四个映射分段L2P SEGMENT#10、L2P SEGMENT#46、L2PSEGMENT#08和L2P SEGMENT#26。因此,L2P MAP INFO2的日志信息OUT_INFO也可以以用于标识映射分段的形式来生成。
此外,当在第二映射信息L2P MAP INFO2上生成L2P MAP INFO2的日志信息OUT_INFO时,控制器130可以生成与四个映射分段L2P SEGMENT#10、L2P SEGMENT#46、L2PSEGMENT#08和L2P SEGMENT#26相对应的输出信息bO。换言之,通过输出信息bO,控制器130可以指示第二映射信息L2P MAP INFO2中的四个映射分段L2P SEGMENT#10、L2P SEGMENT#46、L2P SEGMENT#08和L2P SEGMENT#26中的哪个映射分段被输出给主机102、以及哪个映射分段没有别输出给主机102。例如,在图中,输出信息bO的值为“1”的映射分段被输出给主机102,而映射输出信息bO的值为“0”的分段没有输出给主机102。与附图的图示不同,在四个映射分段L2P SEGMENT#10、L2P SEGMENT#46、L2P SEGMENT#08和L2P SEGMENT#26被输出给主机102之前,在第一映射信息L2P MAP INFO1中的多个映射分段(未示出)中的在四个映射分段L2P SEGMENT#10、L2P SEGMENT#46、L2P SEGMENT#08和L2P SEGMENT#26被标识为第二映射信息L2P MAP INFO2之后。在此,与第二映射信息L2P MAP INFO2中的四个映射分段L2PSEGMENT#10、L2P SEGMENT#46、L2P SEGMENT#08和L2P SEGMENT#26相对应的所有四个输出信息bO的值可以是指示“不输出”的“0”。因此,控制器130可以通过参考四个输出信息bO来将第二映射信息L2P MAP INFO2中的四个映射分段L2P SEGMENT#10、L2P SEGMENT#46、L2PSEGMENT#08和L2P SEGMENT#26全部标识为输出映射分段。然后,每当第二映射信息L2P MAPINFO2中的四个映射分段L2P SEGMENT#10、L2P SEGMENT#46、L2P SEGMENT#08和L2PSEGMENT#26中被标识为输出映射分段的至少一个映射分段被输出给主机102时,控制器130可以将与被标识为输出给主机102的输出映射分段的至少一个映射分段相对应的输出信息bO的值更新为指示“输出”的“1”。因此,因为在图11A中,第二映射信息L2P MAP INFO2中的四个映射分段L2P SEGMENT#10、L2P SEGMENT#46、L2P SEGMENT#08和L2P SEGMENT#26全部被传输给主机102,可以看出,与四个映射分段L2P SEGMENT#10、L2P SEGMENT#46、L2PSEGMENT#08和L2P SEGMENT#26相对应的全部四个输出信息bO的值都是“1”。
作为从存储器系统110向主机102输出第二映射信息L2P MAP INFO2的操作SENDL2P MAP INFO2,可以使用上面参考图7至图10描述的操作。
详细地,当作为通过参考输出信息bO而进行检查的结果而存在被标识为输出映射分段的至少一个映射分段时,控制器130可以将被标识为输出映射分段的至少一个映射分段输出给主机102,该至少一个映射分段对应于来自主机102的第一命令。第一命令不受限制。例如,第一命令可以是读取命令、写入命令或擦除命令。根据一个实施例,第一命令可以是为主机102专门设置的用于从存储器系统110接收第二映射信息的命令。
根据一个实施例,如上面参考图7和图8所述,在执行与来自主机102的第一命令相对应的命令操作之后,当作为通过参考输出信息bO而进行检查的结果而存在被标识为输出映射分段的至少一个映射分段时,控制器130可以通过将被标识为输出映射分段的至少一个映射分段包括在要输出给主机102的第一命令的响应中来输出该至少一个映射分段。根据一个实施例,如上面参考图9和图10所述,当作为通过参考输出信息bO而进行检查的结果而存在被标识为输出映射分段的至少一个映射分段时,控制器130可以通知将第二映射信息L2P MAP INFO2输出给主机102的请求。当从存储器系统110通知输出第二映射信息L2PMAP INFO2的请求时,主机102可以检查其中的存储器106的状态,可以根据检查结果选择性地生成第一命令,并且可以将第一命令输出给存储器系统110。当根据主机102的确定从主机102接收到第一命令时,在执行与第一命令相对应的命令操作之后,通过将被标识为输出映射分段的至少一个映射分段包括在要输出给主机102的第一命令的响应中来输出该至少一个映射分段。根据一个实施例,当至少两个映射分段被确定为输出映射分段时,控制器130可以通过响应于一个第一命令而连续地包括预定数目的映射分段来将这些映射分段输出给主机102。
当在第二映射信息L2P MAP INFO2上生成L2P MAP INFO2的日志信息OUT_INFO时,控制器130不仅可以以用于标识映射分段的形式生成L2P MAP INFO2的日志信息OUT_INFO,而且可以以用于分别标识相应的四个映射分段L2P SEGMENT#10、L2P SEGMENT#46、L2PSEGMENT#08和L2P SEGMENT#26的四个映射子分段L2P#10SUB_0、L2P#10SUB_1、L2P#10SUB_2、L2P#10SUB_3、L2P#46SUB_0、L2P#46SUB_1、L2P#46SUB_2、L2P#46SUB_3、L2P#08SUB_0、L2P#08SUB_1、L2P#08SUB_2、L2P#08SUB_3、L2P#26SUB_0、L2P#26SUB_1、L2P#26SUB_2和L2P#26SUB_3的形式生成L2P MAP INFO2的日志信息OUT_INFO。这是因为:当以映射分段为单位标识第二映射信息L2P MAP INFO2时,一个映射分段中的逻辑/物理信息的数目可以包括多个映射信息,并且当多个映射信息中的基本上少量逻辑/物理信息被更新时,如果确定整个一个映射分段被更新,则可能导致操作低效。当确定特定分段处于更新状态时,控制器130可能需要执行将特定分段输出给主机102或将特定分段存储在存储器设备150中的操作。由通过将一个分段划分为多个子分段以有效地执行确定特定分段的更新状态的操作来标识一个分段,控制器130可以防止特定分段被过于频繁地更新或输出给主机102。
详细地,当在第二映射信息L2P MAP INFO2中的四个映射分段L2P SEGMENT#10、L2P SEGMENT#46、L2P SEGMENT#08和L2P SEGMENT#26上生成L2P MAP INFO2的日志信息OUT_INFO时,控制器130可以生成与16个映射子分段L2P#10SUB_0、L2P#10SUB_1、L2P#10SUB_2、L2P#10SUB_3、L2P#46SUB_0、L2P#46SUB_1、L2P#46SUB_2、L2P#46SUB_3、L2P#08SUB_0、L2P#08SUB_1、L2P#08SUB_2、L2P#08SUB_3、L2P#26SUB_0、L2P#26SUB_1、L2P#26SUB_2和L2P#26SUB_3相对应的16个更新信息bU。通过16个更新信息bU,控制器130可以指示第二映射信息L2P MAP INFO2中的16个映射子分段中的哪个映射子分段被更新以及哪个映射子分段没有被更新。当指示与一个特定映射分段相对应的四个更新信息bO的“已更新”的更新信息bU的占用百分比大于或等于预定百分比时,控制器130可以将一个特定映射分段确定为更新状态。例如,在附图中,更新信息bU的值为“0”的映射子分段没有被更新,而更新信息bU的值为“1”的映射子分段被更新。由于在图11A中,第二映射信息L2P MAP INFO2中的16个映射子分段都没有被更新,可以看出,与这16个映射子分段相对应的所有16个更新信息bU均为“0”。
当作为检查的结果的来自主机102的命令不仅包括逻辑地址而且包括物理地址时,控制器130可以通过参考更新信息Bu来确定物理地址的有效性,如图6所示。例如,当来自主机102的读取命令包括第一逻辑地址和第一物理地址时,控制器130可以通过检查与第二映射信息L2P MAP INFO2上的L2P MAP INFO2的日志信息OUT_INFO中的第一逻辑地址相对应的映射子分段的更新信息bU来确定第一物理地址的有效性。作为检查更新信息bU的结果,当更新信息bU具有指示“未更新”的值“0”时,控制器130可以将第一物理地址确定为有效。因此,控制器130可以使用第一物理地址执行来自主机102的读取命令。相反,作为检查更新信息bU的结果,当更新信息bU具有指示“已更新”的值“1”时,控制器130可以将第一物理地址确定为无效。因此,控制器130可以忽略第一物理地址,并且搜索与第一映射信息L2PMAP INFO1中的第一逻辑地址相对应的有效物理地址。然后,控制器130可以通过使用搜索到的有效物理地址来执行来自主机102的读取命令。
参考图11B,在晚于时间t1的时间t2,控制器130可以将通过第二映射信息L2P MAPINFO2的预定操作“预定操作”(参见图1)更新的映射信息标识为第三映射信息所选择的L2PMAP INFO2。例如,可以看出,在第二映射信息L2P MAP INFO2中的四个映射分段L2PSEGMENT#10、L2P SEGMENT#46、L2P SEGMENT#08和L2P SEGMENT#26中,第一映射分段L2PSEGMENT#10和第四映射分段L2P SEGMENT#26通过预定操作被更新,并且被标识为第三映射信息。
详细地,在第一映射分段L2P SEGMENT#10中,可以看出,在其中包括的四个映射子分段L2P#10SUB_0、L2P#10SUB_1、L2P#10SUB_2和L2P#10SUB_3中,与第一映射子分段L2P#10SUB_0、第三映射子分段L2P#10SUB_2和第四映射子分段L2P#10SUB_3相对应的更新信息bU的值是指示“已更新”的“1”。此外,根据预定参考(例如,40%),第一映射分段L2PSEGMENT#10可以被确定为第三映射信息。在第二映射分段L2P SEGMENT#46中,可以看出,在其中包括的四个映射子分段L2P#46SUB_0、L2P#46SUB_1、L2P#46SUB_2和L2P#46SUB_3中,与第四映射子分段L2P#46SUB_3相对应的更新信息bU的值是指示“已更新”的“1”。此外,根据预定参考(例如,40%),第二映射分段L2P SEGMENT#46可以不被确定为第三映射信息。在第三映射分段L2P SEGMENT#08中,可以看出,与其中包括的四个映射子分段L2P#08SUB_0、L2P#08SUB_1、L2P#08SUB_2和L2P#08SUB_3相对应的所有更新信息bU的值是指示“未更新”的“0”。此外,根据预定参考(例如,40%),第三映射分段L2P SEGMENT#08可以不被确定为第三映射信息。在第四映射分段L2P SEGMENT#26中,可以看出,在其中包括的四个映射子分段L2P#26SUB_0、L2P#26SUB_1、L2P#26SUB_2和L2P#26SUB_3中,与第三映射子分段L2P#26SUB_2和第四映射子分段L2P#26SUB_3相对应的更新信息bU的值是指示“已更新”的“1”。此外,根据预定参考(例如,40%),第四映射分段L2P SEGMENT#26可以被确定为第三映射信息。
控制器130可以响应于来自主机102的命令而将被标识为第三映射信息的至少一个所选择的映射分段的逻辑地址LBA输出给主机102(发送所选择的L2P MAP INFO2的LAB)。例如,控制器130可以将被标识为第三映射信息的第一映射分段L2P SEGMENT#10和第四映射分段L2P SEGMENT#26的逻辑地址LBA输出给主机102。这时,控制器130可以通过以分段为单位对逻辑地址LBA进行分组,将被标识为第三映射信息的一个或多个所选择的映射分段的逻辑地址LBA输出给主机102。另外,控制器130可以选择被标识为第三映射信息的一个或多个所选择的映射分段的逻辑地址LBA,并且可以将所选择的逻辑地址LBA输出给主机102。在此,以分段为单位来选择所选择的映射分段的逻辑地址LBA可以表示一次选择一个分段中的所有多个逻辑地址。相反,选择所选择的映射分段的逻辑地址LBA可以表示选择一个分段中包括的逻辑地址中的一些逻辑地址,而不是选择一个分段中包括的其余逻辑地址。例如,控制器130可以将被标识为第三映射信息的第一映射分段L2P SEGMENT#10和第四映射分段L2P SEGMENT#26的逻辑地址LBA中的第一映射分段L2P SEGMENT#10的逻辑地址LBA一次输出给主机102。然后,控制器130可以将第四映射分段L2P SEGMENT#26的逻辑地址LBA一次输出给主机102。此外,控制器130可以选择被标识为第三映射信息的第一映射分段L2PSEGMENT#10和第四映射分段L2P SEGMENT#26的逻辑地址LBA,并且将所选择的逻辑地址LBA输出给主机102。作为从存储器系统110向主机102输出被标识为第三映射信息的一个或多个所选择的映射分段的逻辑地址LBA的操作发送所选择的L2P MAP INFO2的LBA,可以使用上面参考图7至图10描述的操作。
详细地,如上面参考图7所述,在执行与来自主机102的第二命令相对应的命令操作之后,当作为检查的结果存在第三映射信息时,控制器130可以通过将第三映射信息中的一个或多个所选择的映射分段的逻辑地址LBA包括在要输出给主机102的第二命令的响应中,来以分段为单位或者一个接一个地输出这些逻辑地址LBA。第二命令可以不受限制。例如,第二命令可以是读取命令、写入命令或擦除命令。例如,在时间t2,在执行与来自主机102的读取命令相对应的读取操作之后,控制器130可以通过将被标识为第三映射信息的第一映射分段L2P SEGMENT#10和第四映射分段L2P SEGMENT#26的逻辑地址LBA包括在读取命令的响应中,来以分段为单位或者一个接一个地输出这些逻辑地址LBA。对于另一示例,在时间t2,在执行与来自主机102的编程命令相对应的编程操作之后,控制器130可以通过将被标识为第三映射信息的第一映射分段L2P SEGMENT#10和第四映射分段L2P SEGMENT#26的逻辑地址LBA包括在编程命令的响应中,来以分段为单位或者一个接一个地输出这些逻辑地址LBA。
在一些实施例中,预定标志(未示出)可以被包括在要从存储器系统110输出给主机102的第二命令的响应中,并且预定标志的默认值可以是“0”。控制器130可以将与响应中的第三映射信息的逻辑地址相对应的响应中的预定标志设置为“1”。在将第二命令输出给存储器系统110之后,当从存储器系统110接收到第二命令的响应时,主机102可以检查第二命令的响应中的标志的状态。此外,主机102可以根据检查结果知道在响应中是否包括逻辑地址。
例如,在上面参考图11A描述的时间t1,第三映射信息不存在。由于这个事实,在执行与来自主机102的第二命令相对应的命令操作之后,控制器130可以将要输出给主机102的响应中的标志连续地保持为“0”。因此,在时间t1,主机102可以检查第二命令的响应中的标志处于状态“0”。由此,主机102可以知道逻辑地址没有被包括在第二命令的响应中。对于另一示例,在上面参考图11B描述的时间t2,第三映射信息可以存在。由于这个事实,当将第三映射信息的逻辑地址输出给主机102时,在执行与来自主机102的第二命令相对应的命令操作之后,控制器130可以将响应中的标志改变为“1”。因此,在时间t2,主机102可以检查响应中的标志是否为“1”。此外,主机102由此可以知道在响应中包括逻辑地址,并且可以检查响应中的逻辑地址的值。
参考图11B和图11C,在时间t2响应于来自主机102的命令而将被标识为第三映射信息的至少一个所选择映射分段的逻辑地址LBA输出给主机102(发送所选择的L2P MAPINFO2的LBA)之后,在时间t3,控制器130可以将与被标识为第三映射信息的至少一个所选择映射分段相对应的输出信息bO的值更新为指示“未更新”的“0”,以标识第二映射信息L2PMAP INFO2中未被选择为第三映射信息的映射信息。例如,在时间t2将被标识为第二映射信息L2P MAP INFO2中的四个映射分段L2P SEGMENT#10、L2P SEGMENT#46、L2P SEGMENT#08和L2P SEGMENT#26的第三映射信息的第一映射分段L2P SEGMENT#10和第四映射分段L2PSEGMENT#26的逻辑地址LBA输出给主机102之后,在时间t3,控制器130可以将与第一映射分段L2P SEGMENT#10和第四映射分段L2P SEGMENT#26相对应的第一输出信息和第四输出信息bO的值更新为“0”。
在时间t2从存储器系统110接收到第三映射信息的逻辑地址LBA之后,主机102可以取消映射与存储在主机存储器106中的第二映射信息L2P MAP INFO2中的第三映射信息的逻辑地址LBA相对应的映射信息(取消映射)。当以分段为单位从存储器系统110接收到第三映射信息的逻辑地址LBA时,主机102可以以分段为单位取消映射与存储在主机存储器106中的第二映射信息L2P MAP INFO2中的第三映射信息的逻辑地址LBA相对应的映射信息。另外,当从存储器系统110一个接一个地接收到第三映射信息的逻辑地址LBA时,主机102可以一个接一个地取消映射与存储在主机存储器106中的第二映射信息L2P MAP INFO2中的第三映射信息的逻辑地址LBA相对应的映射信息。换言之,尽管主机102可以如图所示以分段为单位取消映射存储在主机存储器106中的第二映射信息L2P MAP INFO2,但是可以设想,与附图的图示不同,主机102可以一个接一个地选择并且取消映射存储在主机存储器106中的第二映射信息L2P MAP INFO2。
因此,主机102不再使用存储在主机存储器106中的第二映射信息L2P MAP INFO2中的取消映射的映射信息。也就是说,主机102可能不再将存储在主机存储器106中的第二映射信息L2P MAP INFO2中的取消映射的映射信息确定为有效映射信息。由于这个事实,当将与取消映射的映射信息相对应的读取命令传输给存储器系统110时,主机102可以传输没有物理地址的读取命令,如上面参考图6所述。也就是说,主机102可以将仅包括逻辑地址的读取命令传输给存储器系统110。
图12A至图12C是示出根据本公开的实施例的其中主机102和存储器系统110共享映射信息的第二操作的图。
图12A示出了与如上所述的图11A类似的在时间t1由主机102和存储器系统110共享映射信息的操作。图12B示出了与如上所述的图11B类似的在时间t2由主机102和存储器系统110共享映射信息的操作。图12C示出了与如上所述的图11C类似的在时间t3由主机102和存储器系统110共享映射信息的操作。因此,下面将参考图12A至图12C描述的时间t1至时间t3可以具有与上面参考图11A至图11C所述的时间t1至时间t3相同的含义。下面将参考图12A至图12C描述第二操作和上面参考图11A至图11C描述的第一操作可以在存储器系统110生成和更新第二映射信息L2P MAP INFO2上的L2P MAP INFO2的日志信息OUT_INFO的方案方面有所不同。
参考图12A,在时间t1,控制器130可以生成第一映射信息L2P MAP INFO1,以将存储器设备150的物理地址映射到来自主机102的逻辑地址。而且,在时间t1,控制器130可以将第一映射信息L2P MAP INFO1中的一些第二映射信息L2P MAP INFO2输出给主机102(发送L2P MAP INFO2)。此外,在时间t1,控制器130可以在与去往主机102的第二映射信息L2PMAP INFO2的输出相对应的第二映射信息L2P MAP INFO2上生成L2P MAP INFO2的日志信息OUT_INFO(生成L2P MAP INFO2的OUT_INFO)。此外,在时间t1,主机102可以将来自存储器系统110的第二映射信息L2P MAP INFO2存储在主机存储器106中(存储L2P MAP INFO2)。在时间t1之后,基于存储在主机存储器106中的第二映射信息L2P MAP INFO2,主机102可以在要传送给存储器系统110的命令中包括物理地址(发送具有PBA的命令)。也就是说,基于要传送给存储器系统110的逻辑地址,主机102可以在第二映射信息L2P MAP INFO2中查找与该逻辑地址相对应的物理地址。如果物理地址存在,则主机102可以将具有逻辑地址和物理地址的命令传送给存储器系统110。如果物理地址不存在,则主机102可以将具有逻辑地址的命令传送给存储器系统110。存储器系统110可以从主机102接收具有物理地址的命令,并且可以执行与该命令相对应的命令操作。例如,当主机102传送与读取命令相对应的物理地址时,控制器130可以使用对应的物理地址来访问和输出数据,从而减少与读取命令相对应的命令操作所需要的时间。
第二映射信息L2P MAP INFO2可以以映射分段为单位进行管理。也就是说,第二映射信息L2P MAP INFO2中可以包括多个映射分段,并且要从存储器系统110输出给主机102的第二映射信息L2P MAP INFO2可以包括至少一个映射分段。第二映射信息L2P MAP INFO2上的L2P MAP INFO2的日志信息OUT_INFO也可以以用于标识映射分段的形式来生成。例如,第二映射信息L2P MAP INFO2可以包括四个映射分段L2P SEGMENT#10、L2P SEGMENT#46、L2P SEGMENT#08和L2P SEGMENT#26。因此,第二映射信息L2P MAP INFO2上的L2P MAPINFO2的日志信息OUT_INFO也可以以用于标识映射分段的形式来生成。
作为将第二映射信息L2P MAP INFO2从存储器系统110输出给主机102的操作(发送L2P MAP INFO2),可以使用上面参考图7至图10描述的操作。
详细地,当作为检查的结果而存在被标识为输出映射分段的至少一个映射分段时,控制器130可以将与来自主机102的第一命令相对应的被标识为输出映射分段的至少一个映射分段输出给主机102。第一命令可以不受限制。例如,第一命令可以是读取命令、写入命令或擦除命令。根据一个实施例,第一命令可以是为主机102专门设置的用于从存储器系统110接收第二映射信息的命令。
根据一个实施例,如上面参考图7和图8所述,在执行与来自主机102的第一命令相对应的命令操作之后,当作为检查的结果存在被标识为输出映射分段的至少一个映射分段时,控制器130可以通过将被标识为输出映射分段的至少一个映射分段包括在要输出给主机102的第一命令的响应中来输出该至少一个映射分段。根据一个实施例,如上面参考图9和图10上述,当存在被标识为输出映射分段的至少一个映射分段时,控制器130可以通知将第二映射信息L2P MAP INFO2输出到主机102的请求。当通知从存储器系统110通知输出第二映射信息L2P MAP INFO2的请求时,主机102可以检查主机存储器106的状态,可以根据检查结果选择性地生成第一命令,并且可以向存储器系统输出第一命令110。当从主机102接收到第一命令时,在执行与第一命令相对应的命令操作之后,可以将被标识为输出映射分段的至少一个映射分段包括在要输出给主机102的第一命令的响应中。根据一个实施例,当至少两个映射分段被确定为输出映射分段时,控制器130可以通过连续地将预定数目的映射分段包括在一个第一命令的响应中来这些映射分段输出给主机102。
当在第二映射信息L2P MAP INFO2上生成L2P MAP INFO2的日志信息OUT_INFO时,控制器130不仅可以以用于标识映射分段的形式生成L2P MAP INFO2的日志信息OUT_INFO,而且可以以用于分别标识相应的四个映射分段L2P SEGMENT#10、L2P SEGMENT#46、L2PSEGMENT#08和L2P SEGMENT#26的四个映射子分段L2P#10SUB_0、L2P#10SUB_1、L2P#10SUB_2、L2P#10SUB_3、L2P#46SUB_0、L2P#46SUB_1、L2P#46SUB_2、L2P#46SUB_3、L2P#08SUB_0、L2P#08SUB_1、L2P#08SUB_2、L2P#08SUB_3、L2P#26SUB_0、L2P#26SUB_1、L2P#26SUB_2和L2P#26SUB_3的形式生成L2P MAP INFO2的日志信息OUT_INFO。这是因为,当以映射分段为单位标识第二映射信息L2P MAP INFO2时,并且一个映射分段中的多个映射信息中的基本上少量逻辑/物理信息被更新时,如果确定整个一个映射分段被更新,则可能导致操作低效。也就是说,当确定特定分段处于更新状态时,控制器130可能需要执行将特定分段输出给主机102或将特定分段存储在存储器设备150中的操作。由于这个事实,为了有效地执行确定特定分段的更新状态的操作,控制器130可以使用其中一个分段被划分为多个子分段并且由多个子分段标识的方案。
详细地,当在第二映射信息L2P MAP INFO2中的四个映射分段L2P SEGMENT#10、L2P SEGMENT#46、L2P SEGMENT#08和L2P SEGMENT#26上生成L2P MAP INFO2的日志信息OUT_INFO时,控制器130可以生成与16个映射子分段L2P#10SUB_0、L2P#10SUB_1、L2P#10SUB_2、L2P#10SUB_3、L2P#46SUB_0、L2P#46SUB_1、L2P#46SUB_2、L2P#46SUB_3、L2P#08SUB_0、L2P#08SUB_1、L2P#08SUB_2、L2P#08SUB_3、L2P#26SUB_0、L2P#26SUB_1、L2P#26SUB_2和L2P#26SUB_3相对应的16个更新信息bU。通过16个更新信息bU,控制器130可以指示第二映射信息L2P MAP INFO2中的16个映射子分段中的哪个映射子分段被更新以及哪个映射子分段没有被更新。当指示与一个特定映射分段相对应的四个更新信息bO的“已更新”的更新信息bU的占用百分比大于或等于预定百分比时,控制器130可以将一个特定映射分段确定为更新状态。例如,在附图中,更新信息bU的值为“0”的映射子分段没有被更新,而更新信息bU的值为“1”的映射子分段被更新。由于在图12A中,第二映射信息L2P MAP INFO2中的16个映射子分段都没有被更新,可以看出,与这16个映射子分段相对应的所有16个更新信息bU的值均为“0”。
如上面参考图6所述,当作为检查的结果来自主机102的命令不仅包括逻辑地址而且包括物理地址时,控制器130可以通过参考更新信息bU来确定物理地址的有效性。例如,当来自主机102的读取命令包括第一逻辑地址和第一物理地址时,控制器130可以通过检查与第二映射信息L2P MAP INFO2上的L2P MAP INFO2的日志信息OUT_INFO中的第一逻辑地址相对应的映射子分段的更新信息bU来确定第一物理地址的有效性。当检查到更新信息bU具有指示“未更新”的值“0”时,控制器130可以将第一物理地址确定为有效。因此,控制器130可以通过使用第一物理地址来执行来自主机102的读取命令。相反,当检查到更新信息bU具有指示“已更新”的值“1”时,控制器130可以将第一物理地址确定为无效。因此,控制器130可以忽略第一物理地址,并且搜索与第一映射信息L2P MAP INFO1中的第一逻辑地址相对应的有效物理地址。然后,控制器130可以使用搜索到的有效物理地址来执行来自主机102的读取命令。
参考图12B,在晚于时间t1的时间t2,控制器130可以将通过第二映射信息L2P MAPINFO2的预定操作“预定操作”(参见图1)更新的映射信息标识为第三映射信息“选择L2PMAP INFO2”。例如,可以看出,将第一映射分段L2P SEGMENT#10和第四映射分段L2PSEGMENT#26确定为第二映射信息L2P MAP INFO2中的四个映射分段L2P SEGMENT#10、L2PSEGMENT#46、L2P SEGMENT#08和L2P SEGMENT#26的第三映射信息。
详细地,可以取决于在每个映射分段中的整个子分段中更新多少个子分段来实现确定或选择为第三映射信息。根据一个实施例,可以设置参考,诸如更新后的子分段的占用百分比是否大于或等于20%、30%、50%或70%。在四个映射分段中的第一映射分段L2PSEGMENT#10中,可以看出,与第一映射子分段L2P#10SUB_0、第三映射子分段L2P#10SUB_2和第四映射子分段L2P#10SUB_3相对应的更新信息bU的值是指示四个映射子分段L2P#10SUB_0、L2P#10SUB_1、L2P#10SUB_2和L2P#10SUB_3的“已更新”的“1”。此外,根据预定参考(例如,40%),第一映射分段L2P SEGMENT#10可以被确定为第三映射信息。在四个映射分段中的第二映射分段L2P SEGMENT#46中,可以看出,与第四映射子分段L2P#46SUB_3相对应的更新信息bU的值是指示四个映射子分段L2P#46SUB_0、L2P#46SUB_1、L2P#46SUB_2和L2P#46SUB_3的“已更新”的“1”。此外,根据预定参考(例如,40%),第二映射分段L2P SEGMENT#46可以不被确定为第三映射信息。在四个映射分段中的第三映射分段L2P SEGMENT#08中,可以看出,与四个映射子分段L2P#08SUB_0、L2P#08SUB_1、L2P#08SUB_2和L2P#08SUB_3相对应的所有更新信息bU的值是指示“未更新”的“0”。因此,第三映射分段L2P SEGMENT#08可以不被确定为第三映射信息。在四个映射分段中的第四映射分段L2P SEGMENT#26中,可以看出,与第三映射子分段L2P#26SUB_2和第四映射子分段L2P#26SUB_3相对应的更新信息bU的值是指示四个映射子分段L2P#26SUB_0、L2P#26SUB_1、L2P#26SUB_2和L2P#26SUB_3的“已更新”的“1”。此外,根据预定参考(例如,40%),第四映射分段L2P SEGMENT#26可以被确定为第三映射信息。
控制器130可以响应于来自主机102的命令而将被标识为第三映射信息的至少一个所选择的映射分段的逻辑地址LBA输出给主机102(发送所选择的L2P MAP INFO2的LBA)。例如,控制器130可以将被标识为第三映射信息的第一映射分段L2P SEGMENT#10和第四映射分段L2P SEGMENT#26的逻辑地址LBA输出给主机102。这时,控制器130可以通过以分段为单位对逻辑地址LBA进行分组来将被标识为第三映射信息的一个或多个所选择的映射分段的逻辑地址LBA输出给主机102。另外,控制器130可以选择被标识为第三映射信息的一个或多个所选择的映射分段的逻辑地址LBA,并且可以将所选择的逻辑地址LBA输出给主机102。在此,以分段为单位来选择所选择映射分段的逻辑地址LBA可以表示一次选择一个分段中的所有多个逻辑地址。相反,选择所选择的映射分段的逻辑地址LBA可以表示选择一个分段中的逻辑地址中的一些逻辑地址,而不选择一个分段中的其余逻辑地址。例如,控制器130可以将被标识为第三映射信息的第一映射分段L2P SEGMENT#10和第四映射分段L2PSEGMENT#26的逻辑地址LBA中的第一映射分段L2P SEGMENT#10的逻辑地址LBA一次输出给主机102。然后,控制器130可以将第四映射分段L2P SEGMENT#26的逻辑地址LBA一次输出给主机102。此外,控制器130可以选择被标识为第三映射信息的第一映射分段L2P SEGMENT#10和第四映射分段L2P SEGMENT#26的逻辑地址LBA,并且将所选择的逻辑地址LBA输出给主机102。
作为从存储器系统110向主机102输出被标识为第三映射信息的一个或多个所选择的映射分段的逻辑地址LBA的操作“发送所选择L2P MAP INFO2的LBA”,可以使用上面参考图7至图10描述的操作。
详细地,如上面参考图7所述,在执行与来自主机102的第二命令相对应的命令操作之后,当作为检查的结果存在第三映射信息时,控制器130可以通过将第三映射信息中的一个或多个所选择的映射分段的逻辑地址LBA包括在要输出给主机102的第二命令的响应中,来以分段为单位或者一个接一个地输出这些逻辑地址LBA。第二命令可以不受限制。例如,第二命令可以是读取命令、写入命令或擦除命令。例如,在时间t2,在执行与来自主机102的读取命令相对应的读取操作之后,控制器130可以通过将被标识为第三映射信息的第一映射分段L2P SEGMENT#10和第四映射分段L2P SEGMENT#26的逻辑地址LBA包括在读取命令的响应中,以分段为单位或者以逻辑地址LBA中的一个或多个逻辑地址LBA来输出这些逻辑地址LBA。对于另一示例,在时间t2,在执行与来自主机102的编程命令相对应的编程操作之后,控制器130可以通过将被标识为第三映射信息的第一映射分段L2P SEGMENT#10和第四映射分段L2P SEGMENT#26的逻辑地址LBA包括在编程命令的响应中,以分段为单位或者以逻辑地址LBA中的一个或多个逻辑地址LBA来输出这些逻辑地址LBA。
在一些实施例中,预定标志(未示出)可以被包括在要从存储器系统110输出给主机102的第二命令的响应中,并且预定标志的默认值可以是“0”。控制器130可以将与响应中的第三映射信息的逻辑地址相对应的预定标志设置为“1”。在将第二命令输出给存储器系统110之后,当从存储器系统110接收到对第二命令的响应时,主机102可以检查对第二命令的响应中的标志的状态。此外,主机102可以根据检查结果知道对第二命令的响应中是否包括逻辑地址。
例如,在上面参考图12A描述的时间t1,第三映射信息不存在。由于这个事实,在执行与来自主机102的第二命令相对应的命令操作之后,控制器130可以将要输出给主机102的响应中的标志连续地保持为“0”。因此,在时间t1,主机102可以检查从存储器系统110输入的第二命令的响应中的标志处于复位状态“0”。由此,主机102可以知道逻辑地址没有被包括在第二命令的响应中。对于另一示例,在上面参考图12B描述的时间t2,第三映射信息可以存在。由于这个事实,当将第三映射信息的逻辑地址输出给主机102时,在执行与来自主机102的第二命令相对应的命令操作之后,控制器130可以将响应中的标志改变为“1”。因此,在时间t2,主机102可以在对第二命令的响应中接收该标志并且检查该标志为“1”。此外,主机102由此可以知道在对第二命令的响应中包括逻辑地址,并且可以检查对第二命令的响应中的逻辑地址的值。
参考图12B和图12C,在时间t2响应于从主机102输入的命令而将被标识为第三映射信息的至少一个所选择的映射分段的逻辑地址LBA输出给主机102(发送所选择的L2PMAP INFO2的LBA)之后,在晚于时间t2的时间t3,控制器130可以擦除第二映射信息L2P MAPINFO2中的第三映射信息。例如,在时间t2将被标识为第二映射信息L2P MAP INFO2中的四个映射分段L2P SEGMENT#10、L2P SEGMENT#46、L2P SEGMENT#08和L2P SEGMENT#26的第三映射信息的第一映射分段L2P SEGMENT#10和第四映射分段L2P SEGMENT#26的逻辑地址LBA输出给主机102之后,在晚于时间t2的时间t3,控制器130可以擦除第一映射分段L2PSEGMENT#10和第四映射分段L2P SEGMENT#26。因此,在时间t3,第二映射信息L2P MAPINFO2可以仅包括两个映射分段L2P SEGMENT#46和L2P SEGMENT#08。
在时间t2从存储器系统110接收到第三映射信息的逻辑地址LBA之后,主机102可以取消映射与存储在主机存储器106中的第二映射信息L2P MAP INFO2中的第三映射信息的逻辑地址LBA相对应的映射信息(取消映射)。当以分段为单位从存储器系统110接收到第三映射信息的逻辑地址LBA时,主机102可以以分段为单位取消映射与存储在主机存储器106中的第二映射信息L2P MAP INFO2中的第三映射信息的逻辑地址LBA相对应的映射信息。另外,当从存储器系统110一个接一个地接收到第三映射信息的逻辑地址LBA时,主机102可以一个接一个地取消映射与存储在主机存储器106中的第二映射信息L2P MAP INFO2中的第三映射信息的逻辑地址LBA相对应的映射信息。换言之,尽管主机102可以以分段为单位取消映射存储在主机存储器106中的第二映射信息L2P MAP INFO2,但是与附图的图示不同,主机102可以一个接一个地选择并且取消映射存储在主机存储器106中的第二映射信息L2P MAP INFO2。
因此,主机102不再使用在主机存储器106中存储的第二映射信息L2P MAP INFO2中的取消映射的映射信息。也就是说,主机102可能不再将存储在主机存储器106中的第二映射信息L2P MAP INFO2中的取消映射的映射信息确定为有效映射信息。由于这个事实,当将与取消映射的映射信息相对应的读取命令传输给存储器系统110时,主机102可以向存储器系统110传输没有物理地址的读取命令,如上面参考图6所述,也就是说,仅具有逻辑地址的读取命令。由于存储器系统110接收没有物理地址的读取命令,因此不需要执行确定物理地址的有效性的操作。
图13是示出根据本公开的实施例的其中主机和存储器系统共享映射信息的第三操作的流程图。详细地,图13示出了在主机和存储器系统进行互操作的过程中存储器系统将更新后的映射信息的逻辑地址传输给主机的情况。
参考图13,存储器系统110可以检查与主机102共享的第二映射信息L2P MAPINFO2是否由于预定操作“预定操作”(参见图1)而被更新(M10)。
在第二映射信息没有被更新的情况下(M10中为“否”),存储器系统110可以不执行单独的特定操作。
在第二映射信息被更新的情况下(M10中为“是”),存储器系统110可以将更新后的第二映射信息的逻辑地址LBA输出给主机102(M20)。
在步骤M20之后,存储器系统110可以处理更新后的第二映射信息(M30)。根据一个实施例,存储器系统110可以执行擦除更新后的第二映射信息。根据一个实施例,存储器系统110可以对指示更新后的第二映射信息被输出给主机102的信息bO执行更新。
主机102可以检查是否从存储器系统110接收到逻辑地址(H10)。
当检查到没有从存储器系统110接收到逻辑地址时(H10中为“否”),主机102可以不执行单独的特定操作。
当检查到从存储器系统110接收到逻辑地址时(H10中为“是”),主机102可以从与存储器系统110共享的第二映射信息L2P MAP INFO2中取消映射与所检查的逻辑地址相对应的第二映射信息(H20)。
从上述实施例很清楚,存储器系统可以将映射信息传输给主机。在处理由主机传输的命令之后,存储器系统可以通过使用与命令相对应的响应来传输映射信息。此外,在将映射信息传输给主机之后,存储器系统可以生成并且存储所传输的映射信息的日志或历史。在将映射信息从存储器系统传输给主机之后,当存储在主机中的映射信息由于在存储器系统中执行的映射信息的更新而变脏时,存储器系统可以将与映射信息的更新相对应的信息传输给主机,以便主机可以在其中自取消映射脏映射信息。通过这种方式,可以防止不必要的映射信息从主机传输给存储器系统,从而可以提高存储器系统的操作性能。
尽管出于说明性目的描述了各种实施例,但是对于本领域技术人员很清楚的是,在不脱离如所附权利要求书中限定的本发明的精神和范围的情况下,可以进行各种改变和修改。
Claims (23)
1.一种存储器系统,包括:
非易失性存储器设备;以及
控制器,适合于生成将所述非易失性存储器设备的物理地址映射到从主机接收的逻辑地址的第一映射信息,选择所述第一映射信息的一些分段作为第二映射信息,并且向所述主机输出所述第二映射信息,
其中所述控制器确定所述第二映射信息是否被更新,并且将更新后的映射分段确定为第三映射信息,以及
其中所述控制器向所述主机输出与从所述主机接收的命令相对应的指示所述第三映射信息的信息。
2.根据权利要求1所述的存储器系统,其中在执行与所述命令相对应的操作之后,当存在所述第三映射信息时,所述控制器生成针对所述命令的响应,并且向所述主机输出所述响应,所述响应包括所述第三映射信息的逻辑地址。
3.根据权利要求2所述的存储器系统,
其中所述响应包括设置标志,以及
其中所述控制器设置所述设置标志,以指示所述第三映射信息的所述逻辑地址被包括在所述响应中。
4.根据权利要求2所述的存储器系统,
其中所述控制器输出所述响应,所述响应包括所述第三映射信息中的K个映射分段中的至少一个所选择的映射分段中的逻辑地址,
其中在输出所述响应之后,所述控制器擦除所述所选择的映射分段,其中K为等于或大于1的自然数。
5.根据权利要求4所述的存储器系统,其中所述控制器生成用于标识是否向所述主机输出所述第二映射信息中包括的M个映射分段中的对应映射分段的输出信息,其中M是等于或大于K的自然数。
6.根据权利要求5所述的存储器系统,其中在输出所述响应之后,所述控制器更新所述输出信息以标识所述所选择的映射分段。
7.根据权利要求5所述的存储器系统,其中所述控制器通过参考所述输出信息来选择所述第二映射信息中的所述M个映射分段中的至少一个映射分段,作为输出映射分段,并且向所述主机输出与来自所述主机的第一命令相对应的所述输出映射分段。
8.根据权利要求7所述的存储器系统,其中在执行与所述第一命令相对应的操作之后,所述控制器输出具有所述输出映射分段的所述响应。
9.根据权利要求7所述的存储器系统,其中在通知将所述第二映射信息输出到所述主机的请求之后,当根据所述主机的确定从所述主机接收到所述第一命令时,所述控制器向所述主机输出与所述第一命令相对应的所述输出映射分段。
10.根据权利要求7所述的存储器系统,
其中所述控制器通过参考所述输出信息,从所述第二映射信息中的所述M个映射分段中选择没有输出到所述主机的L个映射分段,作为输出映射分段,
其中所述控制器以分段为单位连续L次向所述主机输出与所述第一命令相对应的、被选择为所述输出映射分段的所述L个映射分段;
其中L是等于或小于M的自然数。
11.根据权利要求4所述的存储器系统,
其中所述控制器将所述第二映射信息中的所述M个映射分段中的每个映射分段划分为N个映射子分段,并且生成指示M*N个映射子分段中的每个映射子分段是否被更新的M*N个更新信息,其中M是等于或大于K的自然数,并且N是等于或大于2的自然数。
12.根据权利要求11所述的存储器系统,其中当指示与所述第二映射信息中的任何一个特定映射分段相对应的N个更新信息的已更新的更新信息的占用百分比等于或大于设定百分比时,所述控制器将所述特定映射分段确定为所述第三映射信息。
13.根据权利要求11所述的存储器系统,其中所述控制器检查来自所述主机的命令是否包括第一逻辑地址和第一物理地址,通过参考所述M*N个更新信息来确定所述第一物理地址的有效性,并且当确定所述第一物理地址有效时,通过使用所述第一物理地址来执行来自所述主机的所述命令。
14.根据权利要求13所述的存储器系统,其中当作为检查所述有效性的结果所述第一物理地址无效时,所述控制器忽略所述第一物理地址,通过参考所述第一映射信息来搜索与所述第一逻辑地址相对应的有效物理地址,并且通过使用所搜索到的所述有效物理地址来执行来自所述主机的所述命令。
15.根据权利要求13所述的存储器系统,其中所述控制器选择所述M*N个更新信息中与所述第一逻辑地址相对应的任何一个更新信息,当指示所选择的更新信息没有被更新时,将所述第一物理地址确定为有效,并且当指示所述所选择的更新信息被更新时,将所述第一物理地址确定为无效。
16.一种数据处理系统,包括:
主机,适合于生成、改变或更新与数据相对应的逻辑地址;以及
存储器系统,包括用于存储所述数据的非易失性存储器设备,并且适合于生成将所述非易失性存储器设备的物理地址映射到逻辑地址的第一映射信息,选择所述第一映射信息的一些分段作为第二映射信息,并且向所述主机输出所述第二映射信息,
其中所述存储器系统确定所述第二映射信息是否被更新,将更新后的映射分段确定为第三映射信息,并且向所述主机输出与从所述主机接收的命令相对应的指示所述第三映射信息的信息;以及
其中所述主机取消映射与所述第二映射信息的所述指示信息相对应的逻辑地址。
17.根据权利要求16所述的数据处理系统,
其中所述主机包括用于存储所述第二映射信息的主机存储器,以及
其中在生成第一命令并且向所述存储器系统输出所述第一命令之后,当与所述第一命令相对应的响应从所述存储器系统被接收到时,所述主机将所述响应中的至少一个映射分段存储在所述主机存储器中,作为所述第二映射信息。
18.根据权利要求17所述的数据处理系统,其中当输出所述第二映射信息的请求从所述存储器系统被通知时,所述主机检查所述主机存储器的状态,根据检查结果选择性地生成所述第一命令,并且向所述存储器系统输出所述第一命令。
19.根据权利要求17所述的数据处理系统,
其中所述主机通过参考存储在所述主机存储器中的所述第二映射信息来选择与第一逻辑地址相对应的第一物理地址,以及
其中在向所述存储器系统输出所述第一逻辑地址和所述第一物理地址以及第二命令之后,所述主机从所述存储器系统接收与所述第一逻辑地址相对应的数据。
20.根据权利要求17所述的数据处理系统,其中在生成第二命令、并且向所述存储器系统输出所述第二命令之后,当与所述第二命令相对应的响应从所述存储器系统被接收到、并且特定逻辑地址被包括在所述响应中时,所述主机取消映射与所述主机存储器中存储的所述第二映射信息的所述特定逻辑地址相对应的特定映射信息。
21.根据权利要求20所述的数据处理系统,
其中设置标志被包括在与所述第二命令相对应的所述响应中,以及
其中所述主机检查所述设置标志,并且当检查到所述设置标志处于置位状态时,所述主机识别出所述特定逻辑地址被包括在与所述第二命令相对应的所述响应中,并且检查所述特定逻辑地址的值。
22.根据权利要求21所述的数据处理系统,其中当检查到所述设置标志处于复位状态时,所述主机识别出所述特定逻辑地址没有被包括在与所述第二命令相对应的所述响应中。
23.一种数据处理系统,包括:
主机;以及
存储器系统,包括存储器设备和控制器,所述存储器设备包括具有多个物理地址的多个存储器区域,
其中所述控制器适合于:
生成包括多个映射分段的映射信息,所述多个映射分段指示所述物理地址与来自所述主机的逻辑地址之间的映射;
向所述主机传输所述多个映射分段中的所选择的映射分段;
确定所述所选择的映射分段是否被更新;以及
响应于来自所述主机的命令而向所述主机传输响应信息,所述响应信息包括指示所述所选择的映射分段中的更新后的映射分段的指示信息,以及
其中所述主机基于所述指示信息,取消映射所述所选择的映射分段中的所述更新后的映射分段。
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR10-2019-0046914 | 2019-04-22 | ||
KR1020190046914A KR20200123684A (ko) | 2019-04-22 | 2019-04-22 | 메모리 시스템에서 맵 정보를 전송하는 장치 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN111831215A true CN111831215A (zh) | 2020-10-27 |
Family
ID=72832454
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202010120143.1A Withdrawn CN111831215A (zh) | 2019-04-22 | 2020-02-26 | 用于在存储器系统中传输映射信息的装置 |
Country Status (3)
Country | Link |
---|---|
US (1) | US11354250B2 (zh) |
KR (1) | KR20200123684A (zh) |
CN (1) | CN111831215A (zh) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113553008A (zh) * | 2021-07-20 | 2021-10-26 | 深圳忆联信息系统有限公司 | 映射表更新方法、装置、计算机设备及存储介质 |
WO2022126534A1 (zh) * | 2020-12-17 | 2022-06-23 | 华为技术有限公司 | 数据处理方法及相关设备 |
Families Citing this family (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113835617A (zh) * | 2020-06-23 | 2021-12-24 | 慧荣科技股份有限公司 | 数据处理方法及对应的数据储存装置 |
KR20220132865A (ko) * | 2021-03-24 | 2022-10-04 | 삼성전자주식회사 | 스토리지를 포함하는 전자 장치 및 그 방법 |
US20220308994A1 (en) * | 2021-03-24 | 2022-09-29 | Samsung Electronics Co., Ltd. | Electronic device including storage and method thereof |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20140195725A1 (en) * | 2013-01-08 | 2014-07-10 | Violin Memory Inc. | Method and system for data storage |
CN107015920A (zh) * | 2015-12-30 | 2017-08-04 | 三星电子株式会社 | 存储设备和存储设备的操作方法 |
CN109656837A (zh) * | 2017-10-11 | 2019-04-19 | 爱思开海力士有限公司 | 存储器系统及其操作方法 |
Family Cites Families (50)
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 |
JP4297968B2 (ja) | 2006-02-14 | 2009-07-15 | 富士通株式会社 | コヒーレンシ維持装置およびコヒーレンシ維持方法 |
US8078827B2 (en) | 2007-07-05 | 2011-12-13 | International Business Machines Corporation | Method and apparatus for caching of page translations for virtual machines |
US8161304B2 (en) | 2009-01-20 | 2012-04-17 | Microsoft Corporation | Power management for large memory subsystems |
US8819208B2 (en) | 2010-03-05 | 2014-08-26 | Solidfire, Inc. | Data deletion in a distributed data storage system |
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 | 한양대학교 산학협력단 | 입출력 핀을 이용한 다중 웨이 낸드 플래시 제어 장치 및 방법 |
US9146857B2 (en) * | 2012-08-18 | 2015-09-29 | Storart Technology Co. Ltd. | Method for mapping management |
US20140089761A1 (en) | 2012-09-24 | 2014-03-27 | Zion Kwok | Method, apparatus and system for providing error correction information |
KR101736647B1 (ko) | 2012-11-30 | 2017-05-16 | 후아웨이 테크놀러지 컴퍼니 리미티드 | 마이그레이션 방법 및 디바이스 |
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 |
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 |
US10268584B2 (en) | 2014-08-20 | 2019-04-23 | Sandisk Technologies Llc | Adaptive host memory buffer (HMB) caching using unassisted hinting |
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 | 삼성전자주식회사 | 불휘발성 메모리 장치를 포함하는 스토리지 장치 |
TWI575374B (zh) * | 2015-08-04 | 2017-03-21 | 群聯電子股份有限公司 | 映射表格更新方法、記憶體儲存裝置及記憶體控制電路單元 |
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 | 경희대학교 산학협력단 | 클라우드 환경에서 퍼지기반의 마이그레이션 시스템 및 방법 |
KR20180091296A (ko) | 2017-02-06 | 2018-08-16 | 삼성전자주식회사 | 손상된 메타 데이터를 처리하는 스토리지 장치 및 상기 스토리지 장치의 동작 방법 |
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 | 上海宝存信息科技有限公司 | 数据储存装置以及非挥发式存储器操作方法 |
US10558393B2 (en) * | 2017-10-20 | 2020-02-11 | Qualcomm Incorporated | Controller hardware automation for host-aware performance booster |
TWI647566B (zh) | 2018-01-19 | 2019-01-11 | 慧榮科技股份有限公司 | 資料儲存裝置與資料處理方法 |
US10496548B2 (en) | 2018-02-07 | 2019-12-03 | Alibaba Group Holding Limited | Method and system for user-space storage I/O stack with user-space flash translation layer |
US10579538B2 (en) * | 2018-02-21 | 2020-03-03 | Western Digital Technologies, Inc. | Predicting addresses in non-volatile storage |
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控股有限责任公司 | 用于管理存储系统的方法、设备和计算机可读存储介质 |
US10846183B2 (en) | 2018-06-11 | 2020-11-24 | Dell Products, L.P. | Method and apparatus for ensuring data integrity in a storage cluster with the use of NVDIMM |
US10409511B1 (en) * | 2018-06-30 | 2019-09-10 | Western Digital Technologies, Inc. | Multi-device storage system with distributed read/write processing |
US10725941B2 (en) * | 2018-06-30 | 2020-07-28 | Western Digital Technologies, Inc. | Multi-device storage system with hosted services on peer storage devices |
US10635599B2 (en) * | 2018-07-26 | 2020-04-28 | Sandisk Technologies Llc | Memory controller assisted address mapping |
US10897417B2 (en) | 2018-09-19 | 2021-01-19 | Amazon Technologies, Inc. | Automated route propagation among networks attached to scalable virtual traffic hubs |
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 | 에스케이하이닉스 주식회사 | 메모리 시스템 및 그것의 동작방법 |
US11237953B2 (en) | 2019-05-21 | 2022-02-01 | Micron Technology, Inc. | Host device physical address encoding |
US10908834B2 (en) | 2019-06-28 | 2021-02-02 | Hitachi, Ltd. | Load balancing for scalable storage system |
-
2019
- 2019-04-22 KR KR1020190046914A patent/KR20200123684A/ko active Search and Examination
-
2020
- 2020-01-03 US US16/733,867 patent/US11354250B2/en active Active
- 2020-02-26 CN CN202010120143.1A patent/CN111831215A/zh not_active Withdrawn
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20140195725A1 (en) * | 2013-01-08 | 2014-07-10 | Violin Memory Inc. | Method and system for data storage |
CN107015920A (zh) * | 2015-12-30 | 2017-08-04 | 三星电子株式会社 | 存储设备和存储设备的操作方法 |
CN109656837A (zh) * | 2017-10-11 | 2019-04-19 | 爱思开海力士有限公司 | 存储器系统及其操作方法 |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2022126534A1 (zh) * | 2020-12-17 | 2022-06-23 | 华为技术有限公司 | 数据处理方法及相关设备 |
CN113553008A (zh) * | 2021-07-20 | 2021-10-26 | 深圳忆联信息系统有限公司 | 映射表更新方法、装置、计算机设备及存储介质 |
Also Published As
Publication number | Publication date |
---|---|
KR20200123684A (ko) | 2020-10-30 |
US20200334167A1 (en) | 2020-10-22 |
US11354250B2 (en) | 2022-06-07 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US11294825B2 (en) | Memory system for utilizing a memory included in an external device | |
KR20210027642A (ko) | 메모리 시스템에서 맵 정보를 전송하는 방법 및 장치 | |
US11354250B2 (en) | Apparatus for transmitting map information in memory system | |
CN112148208B (zh) | 在休眠模式下传送存储器系统的内部数据的设备和方法 | |
US11029867B2 (en) | Apparatus and method for transmitting map information and read count in memory system | |
US11126562B2 (en) | Method and apparatus for managing map data in a memory system | |
CN111581122A (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 | |
KR20210157537A (ko) | 메모리 시스템 및 그의 동작 방법 | |
CN110806837A (zh) | 数据处理系统及其操作方法 | |
CN111435334B (zh) | 在存储器系统中检查有效数据的设备和方法 | |
CN111506257A (zh) | 用于在存储器系统中传输映射信息的装置和方法 | |
CN111752467A (zh) | 传送存储器系统中的垃圾收集状态信息的设备和方法 | |
US20220012180A1 (en) | Memory system for meta data management and operating method of memory system | |
US20200349068A1 (en) | Memory system and method for performing command operation by memory system | |
US11663139B2 (en) | Apparatus for transmitting map information in memory system | |
US11366611B2 (en) | Apparatus for transmitting map information in a memory system | |
US20240241834A1 (en) | Apparatus for transmitting map information in memory system | |
CN111857565A (zh) | 存储器系统、数据处理系统及其操作方法 | |
KR20210063814A (ko) | 메모리 시스템의 리드 동작 방법 및 장치 | |
KR20210122461A (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: 20201027 |
|
WW01 | Invention patent application withdrawn after publication |