CN111857818A - 存储器系统和通过该存储器系统执行命令操作的方法 - Google Patents

存储器系统和通过该存储器系统执行命令操作的方法 Download PDF

Info

Publication number
CN111857818A
CN111857818A CN201911365583.7A CN201911365583A CN111857818A CN 111857818 A CN111857818 A CN 111857818A CN 201911365583 A CN201911365583 A CN 201911365583A CN 111857818 A CN111857818 A CN 111857818A
Authority
CN
China
Prior art keywords
memory
erase
logical address
host
controller
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
CN201911365583.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 CN111857818A publication Critical patent/CN111857818A/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/0646Horizontal data movement in storage systems, i.e. moving data in between storage devices or systems
    • G06F3/0652Erasing, e.g. deleting, data cleaning, moving of data to a wastebasket
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/30Arrangements for executing machine instructions, e.g. instruction decode
    • G06F9/30098Register 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/0223User address space allocation, e.g. contiguous or non contiguous base addressing
    • G06F12/023Free address space management
    • G06F12/0253Garbage collection, i.e. reclamation of unreferenced 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/06Addressing a physical block of locations, e.g. base addressing, module addressing, memory dedication
    • 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
    • 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/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
    • 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
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/30Arrangements for executing machine instructions, e.g. instruction decode
    • G06F9/32Address formation of the next instruction, e.g. by incrementing the instruction counter
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2212/00Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
    • G06F2212/10Providing a specific technical effect
    • G06F2212/1041Resource optimization
    • G06F2212/1044Space efficiency improvement
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2212/00Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
    • G06F2212/65Details of virtual memory and virtual address translation
    • G06F2212/657Virtual address space management
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2212/00Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
    • G06F2212/72Details relating to flash memory management
    • G06F2212/7201Logical to physical mapping or translation of blocks or pages

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)
  • Software Systems (AREA)
  • Techniques For Improving Reliability Of Storages (AREA)

Abstract

本公开的实施例涉及存储器系统和通过该存储器系统执行命令操作的方法。一种存储器系统,包括存储器设备,其包括具有多个页面的存储器块;以及控制器,其适于从外部设备接收用于擦除操作的擦除请求和与该擦除请求有关的第一逻辑地址,以及将第一逻辑地址与擦除信息相关联。

Description

存储器系统和通过该存储器系统执行命令操作的方法
相关申请的交叉引用
根据35U.S.C.§119(a),本专利申请要求于2019年4月30日提交的韩国专利申请第10-2019-0050295号的优先权,其全部公开内容通过引用并入本文。
技术领域
各种实施例涉及一种包括存储器设备和控制器的存储器系统,并且更具体地,涉及一种存储器系统以及用于通过存储器系统执行命令操作的方法。
背景技术
近来,用于计算环境的范例已经转移到普适计算,这使得几乎能够随时随地访问计算机系统。结果,诸如移动电话、数码相机、笔记本计算机等之类的便携式电子设备的使用正在迅速增加。这种便携式电子设备通常使用或包括使用或嵌入至少一个存储器设备(即,数据存储设备)的存储器系统。数据存储设备可以被用作便携式电子设备的主存储设备或辅助存储设备。
与硬盘不同,使用非易失性半导体存储器设备的数据存储设备的优点在于,由于其没有机械驱动部分(例如,机械臂)而具有优异的稳定性和耐久性,并且具有高的数据访问速度和低功耗。在具有这种优点的存储器系统的上下文中,示例性数据存储设备包括USB(通用串行总线)存储器设备、具有各种接口的存储器卡、固态驱动器(SSD)等。
发明内容
本发明的各个实施例涉及一种存储器系统,当从主机接收到擦除请求和逻辑地址时,该存储器系统可以通过将接收到的逻辑地址与擦除信息相关联来响应于擦除请求而执行命令操作。因而,实施例可以提供存储器系统,其与执行与擦除请求有关的擦除操作然后将执行结果传输到主机相比,可以减少擦除操作时间;以及一种通过存储器系统执行命令操作的方法。
此外,本发明的各个实施例涉及一种存储器系统,其可以提高存储器设备的利用率,因为即使与请求由主机擦除的逻辑地址有关的数据的大小大于一个页面的存储容量,接收到的逻辑地址还与一个擦除物理地址相对应。
根据实施例,一种存储器系统可以包括:存储器设备,该存储器设备包括具有多个页面的存储器块;以及控制器,其适于从外部设备接收用于擦除操作的擦除请求和与该擦除请求有关的第一逻辑地址,并且将该第一逻辑地址与擦除信息相关联。在将第一逻辑地址与擦除信息相关联之后,控制器向外部设备传输针对擦除请求的响应。擦除信息包括处于擦除状态的擦除页面或擦除存储器块的擦除物理地址。在将第一逻辑地址与擦除物理地址相关联之后,控制器不用擦除页面或擦除存储器块来存储数据。擦除信息包括擦除状态值。控制器在映射数据中搜索与第一逻辑地址相对应的物理地址,使该物理地址无效,并且对无效物理地址执行垃圾回收,该映射数据包括外部设备中使用的逻辑地址和存储器设备的物理地址。控制器在执行垃圾回收之前将响应传输到外部设备。当从外部设备接收到与第一逻辑地址相对应并且有效的第一物理地址时,控制器使有效的第一物理地址无效,并且对无效第一物理地址执行垃圾回收。控制器在执行垃圾回收之前将响应传输到外部设备。
根据实施例,一种用于通过存储器系统执行命令操作的方法,该存储器系统包括存储器设备,该存储器设备包括具有包括多个页面的存储器块和适合于控制该存储器设备的控制器,该方法可以包括:从外部设备接收用于擦除操作的擦除请求和与该擦除请求有关的第一逻辑地址;以及将第一逻辑地址与擦除信息相关联。该方法还可以包括:在将第一逻辑地址与擦除信息相关联之后,向外部设备传输针对擦除请求的响应。擦除信息包括处于擦除状态的擦除页面或擦除存储器块的擦除物理地址。在将第一逻辑地址与擦除信息相关联之后,擦除页面或擦除存储器块不用于存储数据。擦除信息包括擦除状态值。该方法可以还包括:在映射数据中搜索与第一逻辑地址相关联的物理地址;使在映射数据中搜索到的物理地址无效;以及对无效物理地址执行垃圾回收,该映射数据包括外部设备中使用的逻辑地址和存储器设备的物理地址。在对无效物理地址执行垃圾回收之前,执行向外部设备传输擦除请求的响应。该方法还可以包括:当进一步从外部设备接收到与第一逻辑地址相对应且有效的第一物理地址时,使映射数据中的有效的第一物理地址无效;以及对无效第一物理地址执行垃圾回收,该映射数据包括在外部设备中使用的逻辑地址和存储器设备的物理地址。该方法可以还包括:在将第一逻辑地址与擦除信息相关联之后,从外部设备接收读取请求和第二逻辑地址;以及当第二逻辑地址与擦除信息相对应时,向外部设备传输读取请求的响应,该响应包括指示“与第二逻辑地址有关的数据未存储在存储器设备中”的消息。该方法还可以包括:在第一逻辑地址与擦除信息相关联之后,从外部设备接收读取请求和第二逻辑地址;以及当第二逻辑地址不与擦除信息相对应时,向外部设备传输读取请求的响应,该响应包括指示“在存储器设备中未搜索到与第二逻辑地址有关的数据”的消息。
根据实施例,一种减少包括存储器设备的存储器系统中擦除时间的方法,该方法包括:接收用于擦除操作的擦除请求以及与擦除请求有关的逻辑地址;将逻辑地址与存储器设备中的擦除位置相关联;在映射数据中查找与逻辑地址相对应的物理地址;使在搜索操作中找到的物理地址无效;以及基于垃圾回收触发条件来对无效的物理地址执行垃圾回收。
附图说明
图1是图示了根据本发明的实施例的用于由存储器系统响应于擦除请求而执行命令操作的方法的框图;
图2是图示了根据本发明的实施例的包括存储器系统的数据处理系统的框图;
图3是图示了诸如图2所示的存储器系统的存储器设备的示例性配置的示意图;
图4图示了根据本发明的实施例的存储器系统;
图5图示了诸如图2所示的其中主机中的存储器的部分被用作用于存储被用于存储器系统中的元数据的缓冲存储器设备的配置;
图6A和图6B图示了存储器系统和数据处理系统中管理映射数据的示例;
图7A和图7B是图示了根据本发明的实施例的用于通过数据处理系统和存储器系统执行命令操作的方法的流程图;
图8A和图8B是图示了根据本发明的实施例的用于通过数据处理系统和存储器系统执行命令操作的方法的流程图。
具体实施方式
下文参考附图对本公开的各种实施例进行更详细的描述。然而,本公开的元件和特征可以不同地配置或布置以形成其他实施例,其可以是所公开的实施例中的任一实施例的变型。因此,本发明不限于本文中所阐述的实施例。相反,提供了所描述的实施例,使得本公开是彻底和完整的,并且将本公开的范围充分传达给本发明所属领域的技术人员。应当指出,对“一实施例”、“另一实施例”等的引用不一定仅意味着一个实施例,并且对任何这样的短语的不同引用不一定是指一个或多个相同的实施例。
应当理解,尽管术语“第一”、“第二”、“第三”等在本文中可以被用于标识各种元件,但是这些元件不受这些术语的限制。这些术语被用于将一个元件与具有相同或相似名称的另一元件区分开。因此,在不指示基础元件的任何改变的情况下,一个实例中的第一元件也可以被称为另一实例中的第二元件或第三元件。
附图不一定按比例绘制,并且在一些实例中,比例可能已经被放大,以便清楚映射示了实施例的特征。当一个元件被称为连接或耦合到另一元件时,应当理解,前者可以直接连接或耦合到后者,或者可以经由其间的中间元件而电连接或耦合到后者。另外,还应当理解,当元件被称为位于两个元件之间时,该元件可以是两个元件之间的唯一元件,或者也可以存在一个或多个中间元件。
本文中所使用的术语仅是出于描述特定实施例的目的,并不旨在限制本发明。如本文中所使用的,除非上下文另外明确指出,否则单数形式旨在包括复数形式,反之亦然。除非另外说明或者从上下文可以清楚地理解为单数形式,否则在本说明书和所附权利要求中使用的冠词“一”和“一个”通常应当被解释为“一个或多个”。
应当进一步理解,当在本说明书中使用时,术语“包括(comprises)”、“包括(comprising)”、“包含(includes)”和“包括(including)”指定所述元件的存在,并且不排除一个或多个其他元件的存在或增加。如本文中所使用的,术语“和/或”包括相关联的所列项目中的一个或多个相关联的所列项目的任何和所有组合。
除非另外定义,否则本文中使用的所有术语(包括技术术语和科学术语)具有与本发明所属领域的普通技术人员鉴于本公开而通常理解的相同含义。还应当理解,除非在此明确定义,否则诸如在常用字典中定义的术语之类的术语应当被解释为具有与其在本公开和相关领域的上下文中的含义相一致的含义,而不是以理想化或过于正式的含义进行解释。
在下面的描述中,阐述了许多具体细节以便提供对本发明的透彻理解。可以在没有一些或所有这些具体细节的情况下实践本发明。在其他实例中,尚未对众所周知的过程结构和/或过程进行描述,以免不必要地使本发明晦涩难懂。
还应当指出,在一些实例中,如对相关领域的技术人员而言,显而易见的是,除非另有明确说明,结合一个实施例描述的特征或元件可以单独使用或与另一实施例的其他特征或元件组合使用。
图1是图示了根据实施例的包括存储器系统的数据处理系统的框图。
数据处理系统可以包括存储器系统110和主机102。存储器系统110可以包括存储器设备,该存储器设备包括非易失性存储器设备,并且电耦合到主机102。主机102可以向存储器系统110传输请求、地址、以及数据。存储器系统110可以存储与从主机102接收的请求和地址有关的数据、擦除数据,或将存储的数据传输到主机102。
例如,主机102传输到存储器系统110的请求可以用于读取、写入或擦除数据。主机102可以将逻辑地址连同请求一起发送到存储器系统110。
存储器系统110可以生成、管理和存储映射数据或映射表,用于将主机102中使用的逻辑地址与存储器设备的物理地址相对应。存储器系统110可以将数据存储在存储器设备中,然后生成或更新指示所存储的数据的存储位置的物理地址或物理资源分配,该物理地址或物理资源分配与所存储的数据的逻辑地址相对应。映射数据大小具有约为存储器系统110的数据存储空间的0.1%的大小。
主机102可以将用于擦除操作的擦除请求E_REQ和与其有关的逻辑地址传输到存储器系统110。在本实施例中,主机102将其与擦除请求E_REQ一起传输到存储器系统110的逻辑地址可以被称为“第一逻辑地址”。当主机102存储映射数据时,主机102可以将与第一逻辑地址相对应的第一物理地址以及擦除请求E_REQ和第一逻辑地址传输到存储器系统110。在本实施例中,主机102将其与擦除请求E_REQ一起传输到存储器系统110的物理地址可以被称为“第一物理地址”。
另外,在本实施例中,用于存储器系统的擦除操作的擦除请求E_REQ可以包括清除请求(sanitize request)、保护请求、TRIM请求、删除请求、解映射请求、丢弃请求、以及格式化请求中的任何一个。存储器系统110可以根据上述请求类型来执行逻辑擦除操作或物理擦除操作。
当存储器系统110从主机102接收到擦除请求E_REQ和与其有关的第一逻辑地址时,存储器系统110可以对存储在存储器设备中并且与第一逻辑地址有关的数据执行擦除操作。擦除操作可以包括在S920中使第一逻辑地址与擦除信息E_INF相对应的操作。擦除操作还可以包括垃圾回收,用于物理擦除存储在存储器设备中并且与第一逻辑地址有关的数据。
存储器系统110可以在存储在存储器系统110中的映射数据中搜索与第一逻辑地址相对应的第二物理地址,以执行解映射操作。然后,存储器系统110可以停用或擦除包括在映射数据中的第一逻辑地址的映射信息以执行解映射操作,从而释放第一逻辑地址和第二物理地址之间的对应关系。解映射操作可以还包括通过将物理地址更新为无效地址信息INV_INF来使第二物理地址的操作无效。
另外,当存储器系统110进一步从主机102接收到与第一逻辑地址相对应的第一物理地址时,存储器系统110可以执行解映射操作而无需搜索与第一逻辑地址相对应的物理地址。在本实施例中,主机102将其与擦除请求E_REQ一起传输的、与逻辑地址相对应的、并且被包括在存储在存储器系统110中的映射数据中的物理地址可以被称为“第二物理地址”。
在存储器系统110对第一逻辑地址执行解映射操作之后,主机102可以将读取请求和与该读取请求相对应的第二逻辑地址传输到存储器系统110。在本实施例中,主机102将其与读取请求一起传输到存储器系统110的逻辑地址被称为“第二逻辑地址”。
当第二逻辑地址与对其执行解映射操作的第一逻辑地址相同时,存储器系统110难以确定是否向主机发送“指示与从主机102接收到的第二逻辑地址有关的数据没有存储在存储器设备中”的第一消息或“指示在存储器设备中找不到与第二逻辑地址有关的数据”的第二消息。
具体地,当存储器系统110通过对第一逻辑地址的解映射操作来停用或擦除与映射数据中的第一逻辑地址有关的映射信息时,存储器系统110不能在映射数据中找到第一逻辑地址的映射信息。当第二逻辑地址与已经执行了解映射操作的第一逻辑地址相同时,存储器系统110不能在映射数据中找到第二逻辑地址的映射信息。
因而,存储器系统110无法确定与第二逻辑地址有关的数据是否未被存储在存储器设备中,或该数据被存储在存储器设备中但是无法通过映射数据或映射信息中的误差或通过擦除映射数据或映射信息被找到。
换句话说,当通过执行解映射操作来擦除逻辑地址的映射信息时,这样的行动提供与从存储器系统110中擦除与逻辑地址有关的数据时相同的结果。然而,由于该存储器系统110无法在映射数据中搜索到与对其执行了解映射操作的逻辑地址相对应的物理地址,所以存储器系统110难以区分实际擦除与特定逻辑地址有关的数据的情况与无法访问特定逻辑地址的映射信息的情况。
以存储器块为单位执行擦除操作。当请求要被擦除的数据的大小小于一个存储器块的大小时,存储器系统110不会擦除该数据。当包括被请求要被擦除的数据的存储器块成为垃圾回收的目标时,存储器系统110擦除数据。另外,当与第一逻辑地址有关的数据的大小是1GB,并且可以存储在存储器设备中的一个页面中的数据的大小是4KB时,存储器系统110可以执行解映射操作并且需要对250万个页面执行垃圾回收。因而,可以增加擦除等待时间。
如图1所示,当根据本实施例的存储器系统110从主机102接收包括用于擦除操作的擦除请求E_REQ和第一逻辑地址LA_050的请求集合910时,存储器系统110可以通过将第一逻辑地址LA_050与擦除信息E_INF相关联(S920)来执行擦除操作。在本实施例中,擦除信息E_INF可以包括处于擦除状态的擦除页面或处于擦除状态的擦除存储器块的擦除物理地址EPA。另外,擦除信息E_INF可以包括擦除状态值EV。
在本实施例中,存储器系统110可以将从主机102接收的第一逻辑地址LA_050与用于执行擦除操作的擦除物理地址EPA相关联。换句话说,存储器系统110可以使已经被映射到映射数据中的第一逻辑地址LA_050的第二物理地址,例如,PA_0A0,无效,并且用作为擦除物理地址EPA的“PA_FFFF”或等量重新映射第一逻辑地址LA_050。
擦除物理地址EPA可以包括存储器系统110中包括的存储器设备的处于擦除状态的擦除页面和/或擦除存储器块的物理位置。擦除页面和擦除存储器块可以没有被用于存储数据。
在本实施例中,可以在半导体器件制造过程或存储器系统110的启动(即,上电)期间指定没有被用于存储数据的擦除页面和擦除存储器块。另外,可以在存储器系统110的操作期间指定擦除页面和擦除存储器块。例如,擦除页面和擦除存储器块可以包括没有被用于存储数据的坏块或坏块的页面。另外,擦除页面和擦除存储器块可以包括没有用于存储数据的备用存储器块或备用存储器块的页面。然而,本实施例的擦除页面和擦除存储器块不限于此。
擦除状态值EV可以包括具有物理地址的形式但是在诸如存储器设备中的存储器块和页面之类的物理地址的范围之外未被实际使用的值。另外,擦除状态值EV可以包括不是以物理地址形式的特定代码值。
换句话说,当存储器系统110接收到包括擦除请求E_REQ和第一逻辑地址LA_050的请求集合910时,存储器系统110可以将第一逻辑地址LA_050与擦除物理地址,例如,PA_FFFF,相关联(参见S920)。也就是说,存储器系统110可以使已经被映射到映射数据中的第一逻辑地址LA_050的第二物理地址,例如,PA_0A0,无效。然后,在该示例中,存储器系统110可以将第一逻辑地址LA_050重新映射到作为擦除物理地址EPA的“PA_FFFF”。可替代地,存储器系统110可以将映射数据中的第二物理地址PA_0A0的代码值改变为作为擦除状态值EV的“0#0#”(参见S920)。另外,在本实施例中,存储器系统110可以将状态信息中的第一逻辑地址LA_050的擦除状态值改变为作为擦除状态值EV的“0#0#”或等值(参见S920)。
当在将第一逻辑地址LA_050与擦除信息E_INF相对应之后,第二逻辑地址与来自主机102的读取请求一起被接收时,存储器系统110确定第二逻辑地址是否与擦除信息E_INF相对应。
当第二逻辑地址与第一逻辑地址LA_050相同时,第二逻辑地址与擦除信息E_INF相对应。根据本实施例的存储器系统110可以确定与第二逻辑地址有关的数据实际上被擦除并且不再存储在存储器设备中。因而,存储器系统110可以向主机102传输指示“与第二逻辑地址有关的数据未被存储在存储器设备中”的消息,作为对读取请求的响应。
另外,当第二逻辑地址与第一逻辑地址LA_050不同时,第二逻辑地址不与擦除信息E_INF相对应。因而,在映射数据中没有搜索到第二逻辑地址的映射信息。根据本实施例的存储器系统110可以确定与第二逻辑地址有关的数据被存储在存储器设备中,但是不能在存储器设备中找到。因而,存储器系统110可以向主机102传输指示“不能在存储器设备中找到与第二逻辑地址有关的数据”的消息,作为对读取请求的响应。
换句话说,根据本实施例的存储器系统110可以清楚地区分与第一逻辑地址有关的数据被正常擦除的情况和与第一逻辑地址有关的数据不能被找到的情况。
另外,当与擦除物理地址EPA相对应的第一逻辑地址被擦除或具有擦除状态值EV时,存储器系统110可以确定已经根据擦除请求E_REQ完全执行了擦除操作。因而,存储器系统110可以向主机102传输接收到的擦除请求E_REQ的响应Ack。
换句话说,本实施例的擦除操作的结果与实际数据擦除操作的垃圾回收的结果相同。可以在通过垃圾回收实际擦除存储在与第一逻辑地址相对应的物理地址处的数据之前,擦除请求E_REQ的响应Ack可以被传输到主机102。也就是说,由于在没有垃圾回收的情况下执行本实施例的擦除操作,所以可以减少擦除操作时间。本实施例可以减少由于垃圾回收而可能发生的擦除等待时间。
根据本实施例,存储器系统110可以基于关于与擦除物理地址EPA和擦除状态值EV相对应的逻辑地址的信息来执行垃圾回收。例如,当与擦除物理地址EPA和擦除状态值EV相对应的逻辑地址的数目达到设置水平时,存储器系统110可以确定有必要执行垃圾回收。作为用于执行垃圾回收的触发器,与擦除物理地址EPA和擦除状态值EV相对应的逻辑地址的数目可以被使用。同样,存储器系统110可以基于关于无效的第二物理地址的信息来执行垃圾回收。例如,当第二物理地址的数目达到设置水平时,存储器系统110可以确定有必要执行垃圾回收。作为用于执行垃圾回收的触发器,第二物理地址的数目可以被使用。
根据本实施例,根据与第一逻辑地址有关的擦除请求E_REQ的类型,存储器系统110可以将第一逻辑地址分别与不同的擦除信息E_INF相关联。例如,存储器系统110可以将与删除请求有关的第一逻辑地址与第一擦除信息E_INF相关联,将与丢弃请求有关的第一逻辑地址与第二擦除信息E_INF相关联,将与解映射请求有关的第一逻辑地址与第三擦除信息E_INF相关联,并且将与格式化请求有关的第一逻辑地址映射到第四擦除信息E_INF。
存储器系统110可以根据与第一逻辑地址有关的擦除请求E_REQ的操作优先级来将第一逻辑地址分别与不同的擦除信息E_INF相关联。例如,存储器系统110可以将具有最高操作优先级的第一逻辑地址与第一擦除信息E_INF相关联,将具有第二最高操作优先级的第一逻辑地址与第二擦除信息E_INF相关联,将具有第三最高操作优先级的第一逻辑地址与第三擦除信息E_INF相关联,以及将具有最低操作优先级的第一逻辑地址映射到第四擦除信息E_INF。
当存储在存储器设备中的特定数据被病毒入侵或感染时,主机102可以将具有最高操作优先级的擦除请求E_REQ与第一逻辑地址一起传输到存储器系统110,以请求对特定数据进行紧急擦除操作。在这种情况下,存储器系统110将具有最高操作优先级的接收到的第一逻辑地址与第一擦除信息E_INF相关联,以对特定数据执行紧急擦除操作。存储器系统110可以将与第一逻辑地址相对应的第二物理地址相对应的页面或存储器块确定为紧急垃圾回收的目标。存储器系统110可以通过使用具有不同操作优先级的擦除信息E_INF来不同地设置用于执行垃圾回收的触发参考值。
可以以存储器块为单位执行存储在存储器系统110中的数据的擦除操作。当与第一逻辑地址有关的数据的大小小于一个存储器块的大小时,存储器系统110仅将第一逻辑地址与擦除信息E_INF相关联。存储器系统110不会擦除与第一逻辑地址有关的数据。该数据可以被视为无效数据。随着存储与第一逻辑地址有关的无效数据的存储器块中无效页面的比例增加,该存储器块可能成为实际擦除操作的垃圾回收的目标。
换句话说,在本实施例中,可以通过将第一逻辑地址与擦除信息E_INF相关联来执行根据擦除请求E_REQ的擦除操作。因此,可以减少执行擦除请求E_REQ所需的时间。
即使与第一逻辑地址有关的数据的大小很大,第一逻辑地址也被映射到至少一个擦除页面的擦除物理地址EPA。因此,可以提高存储器设备150的利用率。
在本实施例中,无论何时接收到擦除请求E_REQ,都可以不执行垃圾回收,但是可以在存储器系统的状态满足垃圾回收的条件时执行垃圾回收。因而,根据本实施例,可以减小存储器系统110的开销。
图2是图示了根据本发明的实施例的数据处理系统100的框图。
参考图2,数据处理系统100可以包括主机102,该主机102与存储器系统110可操作地接合或耦合。
主机102可以包括例如便携式电子设备(诸如移动电话、MP3播放器或膝上型计算机)或电子设备(诸如台式计算机、游戏机、电视(TV)、投影仪或各种其他合适的电子设备的任何一种)。
主机102还包括至少一个操作系统(OS),其通常可以管理和控制在主机102中执行的功能和操作。OS可以提供与存储器系统110接合的主机102和存储器系统110的用户之间的互操作性。OS可以支持与用户的请求相对应的功能和操作。通过示例而非限制,可以根据主机102的移动性将OS分为通用操作系统和移动操作系统。通用操作系统可以根据系统要求或用户环境分为个人操作系统和企业操作系统。包括Windows和Chrome在内的个人操作系统可能服从于一般目的的支持服务。但是企业操作系统可以专门用于保护和支持高性能,包括Windows服务器、Linux、Unix等。进一步地,移动操作系统可以包括Android、iOS、Windows Mobile等。移动操作系统可以服从于用于移动性的支持服务或功能(例如,省电功能)。主机102可以包括多个操作系统。主机102可以执行与用户的请求相对应的与存储器系统110互锁的多个操作系统。主机102可以将与用户的请求相对应的多个命令传输到存储器系统110中,从而执行与存储器系统110内的命令相对应的操作。下面参考图4和图5对存储器系统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时,与用硬盘实现的主机102相比,连接到存储器系统110的主机102的操作速度可以提高的更多。另外,控制器130和存储器设备150可以被集成到一个半导体器件中以形成存储器卡,诸如PC卡(PCMCIA)、紧凑型闪存卡(CF)、存储器卡(诸如智能媒体卡。(SM,SMC))、记忆棒、多媒体卡(MMC、RS-MMC、MMCmicro)、SD卡(SD、miniSD、microSD、SDHC)、通用闪存等。
存储器系统110可以被配置为例如计算机、超移动PC(UMPC)、工作站、上网本、个人数字助理(PDA)、便携式计算机、web输入板(tablet)、输入板计算机、无线电话、移动电话、智能电话、电子书、便携式多媒体播放器(PMP)、便携式游戏机、导航系统、黑匣子、数码相机、数字多媒体广播(DMB)播放器、3维(3D)电视、智能电视、数字录音机、数字音频播放器、数字图片记录器、数字图片播放器,数字视频记录器、数字视频播放器、配置数据中心的存储装置、能够在无线环境下传输和接收信息的设备、配置家庭网络的各种电子设备中的一个电子设备、配置计算机网络的各种电子设备中的一个电子设备、配置远程网络的各种电子设备中的一个电子设备、射频ID标识(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提供的命令和数据,并且可以通过各种接口协议(诸如通用串行总线(USB)、多媒体卡(MMC)、外围组件互连表达(PCI-e或PCIe)、小型计算机系统接口(SCSI)、串行附接的SCSI(SAS)、串行高级技术附件(SATA)、并行高级技术附件(PATA)、小型计算机系统接口(SCSI)、增强型小磁盘接口(ESDI)、以及集成驱动电子设备(IDE))中的至少一种接口协议与主机102通信。根据实施例,主机接口132是用于与主机102交换数据的部件,其可以通过称为主机接口层(HIL)的固件来实现。
ECC部件138可以校正要在存储器设备150中处理(例如,从其输出)的数据的误差位,该存储器设备可以包括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之间传送的命令和数据,以响应于从主机102递送的请求而与控制器130通信以控制存储器设备150。在存储器设备150是闪存的情况下并且具体地当存储器设备150是NAND闪存时,存储器接口142可以生成用于存储器设备150的控制信号,并且可以在处理器134的控制下处理录入到存储器设备150中或从存储器设备150输出的数据。存储器接口142可以提供用于处理控制器130和存储器设备150之间的命令和数据(例如,NAND闪存接口的操作,具体地,控制器130和存储器设备150之间的操作)的接口。根据实施例,存储器接口142可以通过被称为闪存接口层(FIL)的固件来实现,作为用于与存储器设备150交换数据的部件。
存储器144可以支持由存储器系统110和控制器130执行的操作。存储器144可以在存储器系统110和控制器130中存储针对操作而生成或递送的临时数据或交易数据。响应于来自主机102的请求,控制器130可以控制存储器设备150。控制器130可以将从存储器设备150读取的数据递送到主机102中。控制器130可以将通过主机102录入的数据存储在存储器设备150内。存储器144可以被用于存储数据以供控制器130和存储器设备150执行诸如读取操作或编程/写入操作之类的操作。
存储器144可以用易失性存储器来实现。存储器144可以用静态随机存取存储器(SRAM)、动态随机存取存储器(DRAM)或两者来实现。尽管图2例示了设置在控制器130内的第二存储器144,但是本发明不限于此。也就是说,存储器144可以位于控制器130内部或外部。比如,存储器144可以由外部易失性存储器来体现,该外部易失性存储器具有在存储器144和控制器130之间传输数据和/或信号的存储器接口。
存储器144可以存储执行诸如由主机102请求的数据写入和数据读取之类的操作和/或针对诸如如上所述的垃圾回收和损耗均衡之类的后台操作的存储器设备150与控制器130之间的数据传送所必需的数据。根据实施例,为了支持存储器系统110中的操作,存储器144可以包括程序存储器、数据存储器、写入缓冲器/高速缓存、读取缓冲器/高速缓存、数据缓冲器/高速缓存、映射缓冲器/高速缓存等。
存储器144可以存储映射数据和状态信息。控制器映射数据包括L2P映射数据,该L2P映射数据包括L2P段,该L2P段包括主机102中使用的逻辑地址和与该逻辑地址相对应的存储器设备150的物理地址。控制器映射数据还可以包括P2L映射数据,该P2L映射数据包括P2L段,该P2L段包括所使用的物理地址和与该物理地址相对应的逻辑地址。
根据实施例,当来自主机102的擦除请求E_REQ以及第一逻辑地址被接收时,控制器130将来自主机102的第一逻辑地址与包括擦除的物理地址EPA或擦除状态值EV的擦除信息E_INF相关联。控制器130可以通过使映射数据中被映射到第一逻辑地址的物理地址无效来对第一逻辑地址执行解映射操作。然后,控制器130将第一逻辑地址与映射数据中的擦除的物理地址EPA或擦除状态值EV相关联。
另外,存储器144可以存储状态信息以及控制器映射数据。状态信息可以包括脏信息、无效地址信息、有效存储元件信息、空闲块数信息、以及擦除状态信息。存储器系统110可以使用脏信息或无效地址信息来确定与擦除请求E_REQ一起从主机102接收的物理地址和逻辑地址的有效性。在本公开的实施例中,当擦除请求E_REQ与逻辑地址一起被接收时,控制器130将逻辑地址的擦除状态信息更新为具有擦除状态值EV。另外,存储器系统110可以使与擦除请求E_REQ的逻辑地址相对应的物理地址无效,然后改变与无效物理地址相对应的存储器块的有效页面数VPC。另外,当空闲块数目小于或等于设定数目时,存储器系统110可以对有效页面数小于设定数目的存储器块执行垃圾回收。
处理器134可以用微处理器和/或中央处理单元(CPU)来实现。存储器系统110可以包括一个或多个处理器134。处理器134可以控制存储器系统110的整体操作。通过示例而非限制,响应于从主机102录入的写入请求或读取请求,处理器134可以控制存储器设备150的编程操作或读取操作。根据实施例,处理器134可以使用或执行固件来控制存储器系统110的整体操作。本文中,固件可以是指闪存转换层(FTL)。FTL可以作为主机102和存储器设备150之间的接口而执行操作。主机102可以通过FTL将写入操作和读取操作的请求传输到存储器设备150。
FTL可以管理地址映射、垃圾回收、损耗均衡等操作。具体地,FTL可以加载、生成、更新或存储映射数据。因此,控制器130可以通过映射数据将从主机102录入的逻辑地址与存储器设备150的物理地址进行映射。由于地址映射操作,所以存储器设备150可能看起来像一般存储设备以执行读取操作或写入操作。此外,通过基于映射数据的地址映射操作,当控制器130试图更新存储在特定页面中的数据时,控制器130可以在另一空页面上对更新的数据进行编程,并且由于闪存设备的特点,所以可以使该特定页面的旧数据无效(例如,将与更新后的数据的逻辑地址相对应的物理地址从先前特定页面更新到另一重新编程的页面)。进一步地,控制器130可以将新数据的映射数据存储到FTL中。
例如,当在存储器设备150中执行从主机102请求的操作时,控制器130使用处理器134。与存储器设备150接合的处理器134可以处理与从主机102输入的命令相对应的指令或命令。控制器130可以执行与从主机102输入的命令相对应的前台操作作为命令操作,诸如与写入命令相对应的编程操作、与读取命令相对应的读取操作、与擦除/丢弃命令相对应的擦除/丢弃操作、以及与设置参数命令或设置特征命令以及设置命令的相对应的参数设置操作。
对于另一示例,控制器130可以通过处理器134在存储器设备150上执行后台操作。通过示例而非限制,用于存储器设备150的后台操作包括将存储器块152、154、156中的一个存储器块中存储的数据复制,并将这样的数据存储到另一存储器块的操作,例如,垃圾回收(GC)操作。后台操作可以包括将存储器块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的性能。
图3是图示了图2的存储器系统中采用的存储器设备,例如存储器设备150,的配置的示意图。
参照图3,存储器设备150可以包括多个存储器块BLOCK0至BLOCKN-1,例如,BLOCK0(210),BLOCK1(220),BLOCK2(230)以及BLOCKN-1(240)。存储器块210、220、230和240中的每个存储器块可以包括多个页面,例如,2M个页面,其数目可以根据电路设计而变化。例如,在一些应用中,存储器块中的每个存储器块可以包括M个页面,每个页面可以包括耦合到字线WL的多个存储器单元。
根据实施例,存储器设备150还包括具有擦除状态的擦除存储器块EM和擦除页面EP。擦除存储器块EM和擦除页面EP没有用于存储数据。在本发明的实施例中,擦除信息E_INF包括擦除存储器块EM或擦除页面EP的擦除物理地址EPA、以及具有设定值(例如,PA_FFFF或0#0#)的擦除状态信息。
可以在半导体器件的制造过程期间或在存储器系统的启动期间指定擦除存储器块EM和擦除页面EP。另外,可以在存储器系统的操作期间指定擦除存储器块EM和擦除页面EP。例如,擦除存储器块EM和擦除页面EP可以各自包括没有用于存储数据的坏块或坏块的坏页面。另外,擦除存储器块EM和擦除页面EP可以包括没有用于存储数据的备用存储器块或备用存储器块的页面。然而,本发明的擦除存储器块EM和擦除页面EP不限于此。另外,擦除存储器块EM可以表示多于一个的EM,并且擦除页面EP可以表示多于一个的EP。
因而,当存储器系统110接收到用于擦除操作的擦除请求E_REQ以及与擦除请求E_REQ相对应的第一逻辑地址时,存储器系统110可以在控制器映射数据中搜索与第一逻辑地址相对应的物理地址并且使在搜索中找到的物理地址无效,并且将第一逻辑地址映射到擦除物理地址EPA。这是用于指示在存储器系统110根据擦除请求E_REQ执行操作之后随后接收到读取请求时擦除与第一逻辑地址有关的数据的操作。
更进一步地,可以用能够在该块的一个存储器单元中存储两个或更多个位的单级单元(SLC)存储器块和多级单元(MLC)存储器块来实现存储器设备150中包括的多个存储器块的每个。MLC存储器块的一些示例是双级单元存储器块(在更特定的意义上指定的MLC存储块有时被应用到其中)、三级单元(TLC)存储器块、以及四级单元(QLC)存储器块。
根据本发明的实施例,存储器设备150可以是非易失性存储器,诸如闪存,例如,NAND闪存。然而,存储器设备150可以被实现为以下各项中的任一项:相变随机存取存储器(PCRAM)、电阻式随机存取存储器(RRAM或ReRAM)、铁电随机存取存储器(FRAM)、自旋转移转矩磁性随机存取存储器(STT-RAM或STT-MRAM)等。
存储器块210、220、230、…、240可以通过程序操作存储从主机传送的数据,并且通过读取操作将存储在其中的数据传送到主机。
参考图4,对根据本公开的另一实施例的存储器系统中的控制器进行详细描述。控制器130与主机102和存储器设备150协作。如所图示的,控制器130包括主机接口132、闪存转换层(FTL)40、以及先前结合图2所标识的主机接口132、存储器接口142、以及存储器144。
尽管未在图4中示出,但是根据实施例,图2中描述的ECC单元138可以被包括在闪存转换层(FTL)40中。在另一实施例中,ECC单元138可以实现为单独的模块、电路、固件等,其包括在控制器130中或与控制器130相关联。
主机接口132用于处理从主机102传输的命令、数据等。通过示例而非限制,主机接口132可以包括命令队列56、缓冲器管理器52、以及事件队列54。命令队列56可以顺序存储从主机102接收的命令、数据等,并且按照它们被存储的顺序将它们输出到缓冲器管理器52。缓冲器管理器52可以对从命令队列56接收的命令、数据等进行分类、管理或调整。事件队列54可以顺序传输事件用于处理从缓冲器管理器52接收的命令、数据等。
可以从主机102传输具有相同特点的多个命令或数据,例如,读取或写入命令,或者可以将不同特点的命令和数据在通过主机102混合或混杂之后传输到存储器系统110。例如,可以递送用于读取数据的多个命令(读取命令),或可以将用于读取数据的命令(读取命令)和用于编程/写入数据的命令(写入命令)交替地传输到存储器系统110。主机接口132可以将从主机102传输的命令、数据等按顺序地存储到命令队列56。此后,主机接口132可以根据已经从主机102接收的命令、数据等的特点来估计或预测控制器130将执行哪种内部操作。主机接口132可以至少基于它们的特点来确定命令、数据等的处理顺序和优先级。根据从主机102传输的命令、数据等的特点,主机接口132中的缓冲器管理器52被配置为确定缓冲器管理器是否应当将命令、数据等存储在存储器144中,或者确定缓冲器管理器是否应当将命令、数据等递送到闪存转换层(FTL)40中。事件队列54响应于从主机102传输的命令、数据等从缓冲器管理器52接收事件,这些事件要由存储器系统110或控制器130内部执行和处理,以便按接收到的顺序将事件递送到闪存转换层(FTL)40中。
根据实施例,图4中所描述的主机接口132可以执行图1和图2中所描述的控制器的一些功能。主机接口132可以将主机102中的第一存储器104设置为从设备,并且将第一存储器104添加为可由控制器130控制或使用的附加存储空间。
根据实施例,闪存转换层(FTL)40可以包括主机请求管理器(HRM)46、映射管理器(MM)44、状态管理器(GC/WL)42、以及块管理器(BM/BBM)48。主机请求管理器(HRM)46可以管理从事件队列54录入的事件。映射管理器(MM)44可以处理或控制映射数据。状态管理器42可以执行垃圾回收(GC)和/或损耗均衡(WL)。块管理器48可以将命令或指令执行到存储器设备150中的块上。
通过示例而非限制,主机请求管理器(HRM)46可以使用映射管理器(MM)44和块管理器48根据读取命令和程序命令来处置或处理请求,以及处置或处理从主机接口132接收的事件。主机请求管理器(HRM)46可以向映射数据管理器(MM)44发送查询请求,以确定和与事件一起录入的逻辑地址相对应的物理地址。主机请求管理器(HRM)46可以将读取请求与物理地址一起发送到存储器接口142,以处理读取请求(处置事件)。另一方面,主机请求管理器(HRM)46可以向块管理器48发送程序请求(写入请求),以将数据编程到存储器设备150中的特定空页面(无数据),然后向映射管理器(MM)44传输与程序请求相对应的映射更新请求,以在将逻辑物理地址相互映射的信息中更新与编程数据有关的项。
本文中,块管理器48可以将从主机请求管理器(HRM)46、映射数据管理器(MM)44和/或状态管理器42递送的程序请求转换为用于存储器设备150的闪存程序请求,以管理存储器设备150中的闪存块。为了最大化或增强存储器系统110的程序或写入性能(参见图2),块管理器48可以收集程序请求并且向存储器接口142发送针对多平面程序操作和单次编程操作的闪存程序请求。在实施例中,块管理器48向存储器接口142发送几个闪存程序请求,以增强或最大化多信道和多方向闪存控制器的并行处理。
另一方面,块管理器48可以被配置为根据有效页面的数目来管理存储器设备150中的块,当需要空闲块时选择并且擦除没有有效页面的块,以及当确定需要进行垃圾回收时,选择包括最少数目的有效页面的块。状态管理器42可以执行垃圾回收以将有效数据移动到空块,并且擦除包含所移动的有效数据的块,使得块管理器48可以具有足够的空闲块(没有数据的空块)。如果块管理器48向状态管理器42提供关于要被擦除的块的信息,则状态管理器42可以检查要被擦除的块的所有闪存页面以确定每个页面是否有效。例如,为了确定每个页面的有效性,状态管理器42可以标识记录在每个页面的带外(OOB)区域中的逻辑地址。为了确定每个页面是否有效,状态管理器42可以将页面的物理地址与映射到从查询请求获得的逻辑地址的物理地址进行比较。针对每个有效页面,状态管理器42向块管理器48发送编程请求。当编程操作完成时,可以通过映射管理器44的更新来更新映射表。
映射管理器44可以管理逻辑物理映射表。映射管理器44可以处理由主机请求管理器(HRM)46或状态管理器42生成的诸如查询、更新等之类的请求。映射管理器44可以根据存储器144的存储容量来将整个映射表存储在存储器设备150(例如,闪存/非易失性存储器)和高速缓存映射条目中。当在处理查询或更新请求的同时发生映射高速缓存未命中时,映射管理器44可以将读取请求发送到存储器接口142以加载存储在存储器设备150中的相关映射表。当映射管理器44中的脏高速缓存块的数目超过某个阈值时,程序请求可以被发送到块管理器48,使得高速缓存块得以清理,并且脏映射表可以被存储在存储器设备150中。
另一方面,当执行垃圾回收时,状态管理器42将一个或多个有效页面复制到空闲块中,并且主机请求管理器(HRM)46可以针对页面的相同逻辑地址对数据的最新版本进行编程,并且目前发出更新请求。当状态管理器42在未正常完成一个或多个有效页面的复制的状态下请求映射更新时,映射管理器44不会执行映射表更新。这是因为,如果状态管理器42请求映射更新,则映射请求与旧物理信息一起被发出,并且稍后完成有效页面复制。映射管理器44可以执行映射更新操作,以在只有最新映射表仍指向旧物理地址的情况下,才能确保准确性。
根据实施例,状态管理器42、映射管理器44或块管理器48中的至少一个可以包括合适的电路,其用于执行其自身操作。如本公开中所使用的,术语“电路”是指所有以下各项中的任一项:(a)纯硬件电路实现方式(诸如仅在模拟和/或数字电路中的实现方式);以及(b)电路与软件(和/或固件)的组合,诸如(如果适用):(i)一个或多个处理器的组合或(ii)一个或多个处理器/软件(包括一个或多个数字信号处理器、软件和一起工作以使诸如手机或服务器之类的装置执行各种功能的一个或多个存储器)的各部分;以及(c)电路,诸如一个或多个微处理器或其一部分,其需要软件或固件才能操作,即使物理上不存在该软件或固件。“电路”的定义适用于该术语在本说明书中(包括在任一权利要求中)的所有使用。作为另一示例,如在本申请中使用的,术语‘电路’还涵盖仅处理器(或多个处理器)或处理器的一部分及其(或它们)附带软件和/或固件的实现方式。例如并且如果适用于特定的权利要求要素,则术语‘电路’还涵盖用于存储设备的集成电路。
在本公开的实施例中,主机接口132可以从主机102接收用于擦除操作的擦除请求R_REQ以及与擦除请求有关的逻辑地址。映射数据管理器44可以将从主机102接收的逻辑地址与擦除信息E_INF相对应。主机接口132可以将擦除请求R_REQ的响应ACK传输到主机102。擦除信息E_INF可以包括处于擦除状态的擦除存储器块EM或擦除页面EP的擦除物理地址EPA。另外,擦除信息E_INF可以包括擦除状态值EV。
在映射数据管理器44将逻辑地址与擦除信息E_INF相对应之后,块管理器48不使用擦除存储器块EM或擦除页面EP来存储数据。状态管理器42可以在映射数据中搜索与逻辑地址相对应的物理地址,并且可以使在搜索中找到的物理地址无效。另外,状态管理器42可以在存储器设备150的闲置状态下对无效物理地址执行垃圾回收。在状态管理器42对与逻辑地址相对应的无效物理地址执行垃圾回收之前,主机接口132将擦除请求R_REQ的响应ACK发送到主机102。如果从主机102进一步接收到与逻辑地址相对应的有效物理地址以及擦除请求R_REQ,则状态管理器42可以使在映射数据中的接收的有效物理地址无效。状态管理器42可以对无效物理地址执行垃圾回收。
当从主机102接收的逻辑地址与擦除信息E_INF相对应时,主机接口单元132可以响应于读取请求而向主机102传输消息“指示没有在存储器设备中存储与第一逻辑地址有关的数据”。当从主机102接收的逻辑地址与擦除信息E_INF相对应时,主机接口132可以响应于读取请求而向主机102传输消息“没有在存储器设备中找到与第二逻辑地址有关的数据”。
存储器设备150可以包括多个存储器块。根据可以在一个存储器单元中存储或表示的位的数目,多个存储器块可以是不同类型的存储器块中的任一存储器块,诸如单级单元(SLC)存储器块、多级单元(MLC)存储器块等。本文中,SLC存储器块包括由存储器单元实现的多个页面,每个页面存储一位数据。SLC存储器块可以具有高数据I/O操作性能和高耐用性。MLC存储器块包括由存储器单元实现的多个页面,每个页面存储多位数据(例如,两位或更多位)。与SLC存储器块相比较,对于同一空间,MLC存储器块可以具有更大的存储容量。在存储容量方面,MLC存储器块可以被高度集成。在实施例中,存储器设备150可以用诸如MLC存储器块、三级单元(TLC)存储器块、四级单元(QLC)存储器块或其组合的MLC存储器块来实现。MLC存储器块可以包括由存储器单元实现的多个页面,每个页面能够存储2位数据。三级单元(TLC)存储器块可以包括由存储器单元实现的多个页面,每个页面能够存储3位数据。四级单元(QLC)存储器块可以包括由存储器单元实现的多个页面,每个页面能够存储4位数据。在另一实施例中,存储器设备150可以用包括由存储器单元实现的多个页面的块来实现,每个页面能够存储5位或更多位的数据。
在本公开的实施例中,存储器设备150被实现为非易失性存储器,诸如闪存(诸如NAND闪存、NOR闪存等)。可替代地,存储器设备150可以由以下各项中的至少一项来实现:相变随机存取存储器(PCRAM)、铁电随机存取存储器(FRAM)、自旋注入磁存储器(STT-RAM)和自旋转移转矩磁随机存取存储器(STT-MRAM)等。
图5至图6B图示了主机中包括的存储器的一部分可以被用作用于存储在存储器系统中使用的元数据的高速缓存设备的情况。
图5图示了主机中包括的存储器的一部分可以被用作用于在存储存储器系统中使用的元数据的高速缓存设备的情况。元数据可以包括映射数据,该映射数据包括在存储器系统中使用的控制器映射数据MAP_C。
参考图5,主机102可以包括处理器104、存储器106、以及主机控制器接口108。存储器系统110可以包括控制器130和存储器设备150。本文中,图5中描述的控制器130和存储器设备150可以与图1至图4中描述的控制器130和存储器设备150相对应。
因此,下面的描述集中在图5中所示的控制器130和存储器设备150与图1至图4中所示的控制器130和存储器设备150之间的区别。具体地,控制器130中的逻辑块160可以与图4中描述的闪存转换层(FTL)40相对应。然而,根据实施例,控制器130中的逻辑块160可以用作附加角色并且执行附加功能。
处理器104具有比存储器系统110的性能更高的性能;以及主机存储器106能够存储的数据数量大于存储器系统110的数据数量。主机102中的处理器104和主机存储器106可以在空间和容量方面具有优势。例如,处理器104和主机存储器106可以具有比存储器系统110中的处理器134和存储器144更多的资源。处理器104和主机存储器106的处理能力大于存储器系统110的处理器134和存储器144。在实施例中,存储器系统110可以利用主机102拥有的资源,以提高存储器系统110的操作效率。
随着可以存储在存储器系统110中的数据数量的增加,与存储在存储器系统110中的数据有关的元数据的数量也随之增加。当用于将元数据加载到控制器130的存储器144中的存储能力进行被限制或约束时,加载的元数据的数量的增加可能导致控制器130的操作的操作负担。例如,由于针对控制器130的存储器144中的元数据而分配的空间或区域的限制,元数据中的一部分而非全部元数据可以被加载。如果加载的元数据不包括主机102旨在访问的物理位置的特定元数据,则如果加载的元数据中的一些加载的元数据已经被更新,则控制器130必须将加载的元数据存储回到存储器设备150中,并且加载主机102旨在访问的物理位置的特定元数据。应当对控制器130执行这些操作,以执行主机102所请求的读取操作或写入操作,并且这些操作可能降低存储器系统110的性能。
主机102中包括的主机存储器106的存储能力可以比控制器130中包括的存储器144的存储能力大几十倍或几百倍。存储器系统110可以向主机102中的主机存储器106传送由控制器130使用的控制器映射数据MAP_C,使得主机102中的主机存储器106的至少一部分可以由存储器系统110访问。传输到主机102的控制器映射数据MAP_C作为主机映射数据MAP_H而被存储在主机存储器106中。主机存储器106的可访问部分可以用作高速缓存存储器,用于在存储器系统110中读取或写入数据所需的地址转换。在这种情况下,主机102基于存储在主机存储器106中的主机映射数据MAP_H来将逻辑地址转换为物理地址,而非将逻辑地址与请求、命令或指令一起传输到存储器系统110。然后,主机102可以将转换的物理地址与请求、命令或指令一起传输到存储器系统110。接收转换后的物理地址以及请求、命令或指令的存储器系统110可以跳过将逻辑地址转换为物理地址的内部过程,并且基于所传送的物理地址来访问存储器设备150。在这种情况下,控制器130在加载来自存储器设备150的元数据用于地址转换中经历的开销(例如,操作负担)可能会消除,并且可以提高存储器系统110的操作效率。
另一方面,即使存储器系统110将主机映射数据MAP_H传输到主机102,存储器系统110也可以基于主机映射数据MAP_H(诸如元数据生成、擦除、更新等)来控制映射信息。存储器系统110中的控制器130可以根据存储器设备150的操作状态执行诸如垃圾回收和损耗均衡之类的后台操作,并且可以确定物理地址,即,存储器设备150中的哪个物理位置存储了从主机102传送的数据。由于存储在存储器设备150中的数据的物理地址可以被改变并且主机102不知道改变后的物理地址,所以存储器系统110可以基于改变的物理地址更新主机映射数据MAP_H。
在存储器系统110控制用于地址转换的元数据的同时,可以确定存储器系统110需要修改或更新先前传输到主机102的主机映射数据MAP_H。存储器系统110可以向主机102发送信号或元数据,以请求更新存储在主机102中的主机映射数据MAP_H。主机102可以响应于从存储器系统110接收的请求而更新存储在主机存储器106中的主机映射数据MAP_H。这与存储在主机102中的主机存储器106中的主机映射数据MAP_H相对应,以保持为最新版本,使得即使主机控制器接口108使用存储在主机存储器106中的主机映射数据MAP_H,将逻辑地址转换为物理地址并且将转换后的物理地址与逻辑地址一起传输到存储器系统110的操作也不会遇到问题。
存储在主机存储器106中的主机映射数据MAP_H可以包括用于将逻辑地址转换为物理地址的映射信息。将逻辑地址与物理地址相关联的元数据可以包括两个可区分的项:第一映射信息项,其用于将逻辑地址转换为物理地址;第二映射信息项,其用于将物理地址转换为逻辑地址。存储在主机存储器106中的主机映射数据MAP_H可以包括第一映射信息。第二映射信息可以主要用于存储器系统110的内部操作,但是不能用于主机102所请求的将数据存储在存储器系统110中或从存储器系统110读取与特定逻辑地址有关的数据的操作。在实施例中,存储器系统110不能把第二映射信息项传输到主机102。
存储器系统110中的控制器130可以控制(例如,创建、删除、更新等)第一映射信息项或第二映射信息项,并且将第一映射信息项或第二映射信息项存储到存储器设备150。由于主机102中的主机存储器106是易失性存储器的类型,所以当向主机102和存储器系统110的供电被破坏或切断时,存储在主机存储器106中的主机映射数据MAP_H可能消失。因而,存储器系统110中的控制器130不仅可以保持存储在主机102的主机存储器106中的主机映射数据MAP_H的最新状态,而且还可以将第一映射信息项或第二映射信息项的最新状态存储在存储器设备150中。
存储器144可以被布置在控制器130内部或控制器130外部。存储器144可以存储控制器映射数据MAP_C和状态信息STATE_INF。
状态信息STATE_INF指示存储器设备150多个可能状态中的特定状态,并且可以以包括在控制器映射数据MAP_C中的映射段为单位而被生成和管理。状态信息STATE_INF可以是处于位图形式、计数器形式、标志形式、表形式、或列表形式。当状态信息STATE_INF处于位图形式时,则状态信息STATE_INF在存储器144中占据的存储空间较小,并且可以减少控制器130访问状态信息STATE_INF的负担。
状态信息STATE_INF可以包括脏信息D_INF、无效地址信息INV_INF、有效页面计数器信息VPC、空闲块计数信息nFB、以及擦除状态信息。
脏信息D_INF可以包括关于是否指示与逻辑地址有关的数据的物理存储位置的物理地址改变的信息。在执行后台操作(例如,垃圾回收或损耗均衡)的过程中,存储器系统110可以响应于与存储器设备150中的逻辑地址相对应的物理地址的改变而更新映射数据。控制器130可以反映出物理地址到脏信息D_INF的改变。脏信息D_INF具有例如0的第一级的初始值,并且当与逻辑地址相对应的物理地址被改变时,被更新为例如1的第二级。也就是说,脏信息D_INF的状态值‘0’可以表示与逻辑地址相对应的物理地址没有被改变。脏信息D_INF的状态值‘1’可以指示与逻辑地址相对应的物理地址已经被改变。根据本公开的实施例的存储器系统可以使用脏信息D_INF来确定与请求一起从主机102接收的物理地址的有效性。
无效地址信息INV_INF可以包括关于通过改变与逻辑地址有关的数据的物理存储位置得到的、或通过解映射操作得到的、或通过对与逻辑地址有关的数据的擦除操作得到的无效物理地址的信息。无效地址信息INV_INF具有例如0的第一级的初始值,并且当物理地址被无效时被更新为例如1的第二级。也就是说,无效地址信息INV_INF的状态值‘0’可以表示物理地址处于有效状态。无效地址信息INV_INF的状态值‘1’可以表示物理地址处于无效状态。在本发明的实施例中,存储器系统可以根据擦除请求E_REQ使物理地址无效,该擦除请求E_REQ包括清除请求、保护请求、TRIM请求、删除请求、解映射请求、丢弃请求、以及用于擦除操作的格式化请求。根据本公开的实施例的存储器系统可以使用无效地址信息INV_INF来确定与请求一起从主机102接收的物理地址的有效性。
有效页面计数(VPC)信息可以包括关于存储器块中的有效页面的数目的信息。当存储器块中的一个页面从有效状态改变为无效状态时,存储器系统可以将对应的存储器块的有效页面计数(VPC)减少一个。存储器系统110可以对有效页面数VPC小于设定值的的存储器块执行垃圾回收GC操作。另外,存储器系统110可以对有效页面计数(VPC)为‘0’的存储器块执行擦除操作以生成干净块,从而提高存储器设备150的利用率。
空闲块数信息nFB可以包括存储器块的数目,这些存储器块仅包括处于数据未被编程或写入的擦除状态的页面。根据本发明的实施例,当空闲块数目nFB小于或等于预设数目nFB_TH时,存储器系统可以执行垃圾回收。
擦除状态信息可以包括关于与逻辑地址有关的数据是否被擦除的信息。当与逻辑地址有关的数据被擦除时,控制器130可以反映该逻辑地址的擦除状态信息。擦除状态信息具有例如0的第一级的初始值,并且当与逻辑地址有关的数据被擦除时,擦除状态信息可以被改变为擦除状态值EV,例如,0#0#。根据本公开的实施例的存储器系统可以通过使用擦除状态信息来确定和与读取请求一起从主机102接收的逻辑地址有关的数据是否处于擦除状态。
图6A是图示了在上电时存储器系统110向主机102发送全部或部分存储器映射数据MAP_M的方法的流程图。参考图6A,在上电时,控制器130加载存储在存储器设备150中的一些或全部存储器映射数据MAP_M,并且将存储器映射数据MAP_M传输到主机102。上电之后,主机102、控制器130和存储器设备150可以开始映射数据的初始化上传操作。
在步骤S610中,主机102可以从控制器130请求映射数据。例如,主机102可以指定并且请求映射数据的特定部分。例如,主机102可以指定并且请求映射数据的一部分,其中存储了驱动数据处理系统100(诸如文件系统、启动图像和/或操作系统)的数据。作为另一示例,主机102可以在没有任何指定的情况下从控制器130请求映射数据。
在步骤S611中,控制器130可以从存储器设备150读取存储器映射数据MAP_M的第一部分MAP_M_1。在步骤S621中,第一部分MAP_M_1可以被存储在控制器130中作为控制器映射数据MAP_C。在步骤S631中,控制器130可以向主机102发送被存储作为控制器映射数据MAP_C的第一部分MAP_M_1。第一部分MAP_M_1可以被存储在主机存储器106中作为主机映射数据MAP_H。
在步骤S612中,控制器130可从存储器设备150读取存储器映射数据MAP_M的第二部分MAP_M_2。在步骤S622中,第二部分MAP_M_2可以被存储在控制器130中作为控制器映射数据MAP_C。在步骤S632中,控制器130可以向主机102发送被存储为控制器映射数据MAP_C的第二部分MAP_M_2。主机102可以将第二部分MAP_M_2存储在主机存储器106中作为主机映射数据MAP_H。
在步骤S61n中,控制器130可以从存储器设备150读取存储器映射数据MAP_M的第n部分MAP_M_n。在步骤S62n中,第n部分MAP_M_n可以被存储在控制器130中作为控制器映射数据MAP_C。在步骤S63n中,控制器130可以向主机102发送被存储为控制器映射数据MAP_C的第n部分MAP_M_n。主机102可以将第n部分MAP_M_n存储在主机存储器106中作为主机映射数据MAP_H。因此,主机102、控制器130和存储器设备150可以完成映射数据的初始化上传。
响应于在S610中从主机102接收的映射数据的单个请求,图6A中的控制器130多次下载存储器映射数据MAP_M的一部分,并且多次将下载的存储器映射数据MAP_M上传到主机102。然而,响应于从主机102接收到的映射数据的单个请求,控制器130可以将所有存储器映射数据MAP_M上传到主机102。响应于从主机102接收的映射数据的多个请求,控制器130可以多次将存储器映射数据MAP_M的一部分上传到主机102。
如上文所描述的,控制器映射数据MAP_C被存储在控制器130的存储器144中,并且主机映射数据MAP_H被存储在主机102的主机存储器106中。
如果映射数据的初始化上传完成,则主机102可以与存储器系统110合作以访问存储器系统110。图6A中图示了主机102和存储器系统110执行初始化上传的实施例。然而,本发明不限于此。例如,可以省略初始化上传。主机102可以访问存储器系统110,而无需初始化上传。
在映射数据初始上传操作之后,上传和更新存储器映射数据MAP_M可以响应于主机请求而被执行,或者可以在控制器130的控制下执行,而无需主机请求。存储器映射数据MAP_M的上传和更新操作可以部分地或全部地或周期性地执行。
图6B图示了根据本发明的实施例的更新存储器系统110与主机102之间的映射数据的过程。具体地,图6B图示了在控制器130的控制下通过将存储在控制器130中的一些或所有映射数据上传到主机102来更新主机映射数据MAP_H的过程。
与主机102电耦合的存储器系统110可以执行由主机102请求的读取操作、写入操作和擦除操作。在存储器系统110执行由主机102请求的读取操作、写入操作或擦除操作之后,当存储在存储器设备150中的数据的物理位置改变时,存储器系统110可以更新映射数据。
进一步地,在执行主机102没有请求的后台操作(例如,垃圾回收或损耗均衡)的过程中,存储器系统110可以响应于存储在存储器设备150中的数据的物理位置的改变来更新映射数据。存储器系统110中的控制器130可以通过上述操作检测映射数据是否被更新。也就是说,控制器130可以检查是否存在通过生成、更新或删除映射数据和状态信息STATE_INF中包括的脏信息D_INF而引起的脏映射。
当映射数据变脏时,控制器130通知主机控制器接口108需要更新先前存储在主机存储器106中的映射数据。主机控制器接口108可以向控制器130请求控制器130需要更新的映射数据(图6B所示的REQUEST MAP INFO)。控制器130可以响应于来自主机控制器接口108的请求而发送需要被更新的映射数据(图6B中所示的SEND MAP INFO)。然后,主机控制器接口108将传送的映射数据递送到主机存储器106中,并且更新先前存储在主机存储器106中的映射数据(图6B中所示的L2P MAP UPDATE)。
图7A是图示了根据实施例的用于根据擦除请求E_REQ减少擦除操作时间的方法的流程图。图7B是图示了要参考图7A描述的擦除操作时间的流程图。
用于减少图7A和图7B所示的擦除操作时间的擦除操作可以由图2至图4所示的数据处理系统100和存储器系统110执行。具体地,图7A和图7B图示了用于通过将与擦除请求E_REQ一起从主机102接收的第一逻辑地址LA_1与擦除信息E_INF相对应来执行擦除操作时间的方法。在本实施例中,将与擦除请求E_REQ一起由主机102传输到存储器系统110的逻辑地址称为“第一逻辑地址”。
参考图2至图4、图7A和图7B,根据本实施例的数据处理系统100包括主机102和存储器系统110。主机102可以包括处理器104和主机控制器接口108,并且存储器系统110可以包括控制器130、存储器144和存储器设备150。
当向主机102和存储器系统110供电(上电)时,主机102和存储器系统110可以相互合作。在这种情况下,控制器130可以下载存储在存储器设备150中的存储器映射数据MAP_M。控制器130可以将从存储器设备150下载的存储器映射数据MAP_M作为控制器映射数据MAP_C_1存储在存储器144中。
在步骤S250中,主机102中的处理器生成擦除请求E_REQ和与该擦除请求E_REQ有关的第一逻辑地址LA_1。在步骤S280a中,主机控制器接口108从处理器104接收所生成的擦除请求E_REQ和第一逻辑地址LA_1,并且将所生成的擦除请求E_REQ和第一逻辑地址LA_1传送到存储器系统110中的控制器130。
在实施例中,从主机102传送到控制器130的用于对应的擦除操作的擦除请求E_REQ可以包括清除请求、保护请求、TRIM请求、删除请求、解映射请求、丢弃请求、和/或格式化请求。
在步骤S340中,当接收到擦除请求E_REQ和第一逻辑地址LA_1时,控制器130确定在控制器映射数据MAP_C_1中是否发生映射未命中。换句话说,控制器130确定用于第一逻辑地址LA_1的映射信息是否被包括在存储在存储器144中的控制器映射数据MAP_C_1中。用于第一逻辑地址LA_1的映射信息可以包括与第一逻辑地址LA_1相对应的物理地址。
当第一逻辑地址LA_1的映射信息被包括在控制器映射数据MAP_C_1中时(S340中为否),控制器130确定在第一逻辑地址LA_1与控制器映射数据MAP_C_1之间发生映射命中而非映射未命中。
在步骤S345中,控制器130可以在控制器映射数据MAP_C_1中搜索被映射到第一逻辑地址LA_1的第二物理地址PA_2。在步骤S400中,控制器130对找到的第二物理地址PA_2和第一逻辑地址LA_1执行解映射操作。解映射操作可以包括停用或擦除在映射数据中的第一逻辑地址的映射信息的操作以及对找到的第二物理地址PA_2执行的无效操作。在本实施例中,与由主机102传输的逻辑地址相对应并且包括在存储在存储器系统110中的映射数据中的物理地址被称为“第二物理地址”。
第一逻辑地址LA_1的映射信息未被包括在控制器映射数据MAP_C_1中(S340中为是),控制器130确定在控制器映射数据MAP_C_1中发生映射未命中。换句话说,控制器130确定被映射到第一逻辑地址LA_1的第二物理地址PA_2没有被存储在控制器映射数据MAP_C_1中。
在步骤S365中,控制器130对存储器映射数据MAP_M执行映射下载操作。控制器130可以向存储器设备150请求包括第一逻辑地址LA_1的映射信息的存储器映射数据MAP_M。响应于从控制器130接收到的用于映射下载的请求,存储器设备150可以向控制器130传输包括第一逻辑地址LA_1的映射信息的存储器映射数据MAP_M。控制器130可以将存储器映射数据MAP_M存储在存储器144中。因而,在步骤S382中,控制器映射数据MAP_C_1可以被更新为控制器映射数据MAP_C_2。
在步骤S385中,控制器130在更新的控制器映射数据MAP_C_2中搜索映射到第一逻辑地址LA_1的第二物理地址PA_2。在步骤S400中,控制器130可以对在映射数据中找到的第二物理地址PA_2和第一逻辑地址LA_1执行解映射操作。在这种情况下,控制器130对找到的第二物理地址PA_2执行无效操作。
在本实施例中,控制器130可以将与第二物理地址PA_2相对应的无效地址信息INV_INF的状态值从‘0’改变为‘1’,以便对在步骤S345和S385中搜索并找到的第二物理地址PA_2执行无效操作。另外,控制器130可以改变包括与第二物理地址PA_2相对应的页面的存储器块的有效页面计数信息VPC的状态值。
在执行了解映射操作之后,在步骤S405中,控制器130可以通过将第一逻辑地址LA_1与擦除信息E_INF相关联来执行擦除操作。
在本实施例中,擦除信息E_INF可以包括处于擦除状态的擦除页面或处于擦除状态的擦除存储器块的擦除物理地址EPA。另外,擦除信息E_INF可以包括擦除状态值EV。
擦除物理地址EPA可以包括存储器系统110中包括的存储器设备150的擦除页面EP在擦除状态下的物理位置或擦除存储器块EM在擦除状态下的物理位置。此外,擦除页面EP和擦除存储器块EM可以不用于存储数据。
擦除状态值EV可以包括具有物理地址的形式的值,诸如存储器设备150中的存储器块和页面之类。另外,擦除状态值EV可以包括不是物理地址形式的特定代码值。
擦除物理地址EPA可以包括擦除存储器块EM的物理地址,该擦除存储器块EM不用于在存储器设备150中存储数据。这样的存储器块是处于擦除状态的存储器块BLOCKN 250,如图3所示。另外,擦除物理地址EPA可以包括擦除存储器块EM中包括的擦除页面EP的物理地址。
根据本实施例的擦除信息E_INF可以包括一个擦除页面EP的擦除物理地址EPA,而不管与第一逻辑地址LA_1有关的数据的大小如何。例如,当可以存储在存储器设备150中的一个页面中的数据的大小为4Kb,并且与第一逻辑地址LA_1有关的数据的大小为1Gb时,需要对250万个页面进行解映射并且需要执行垃圾回收,以便擦除与第一逻辑地址LA_1有关的数据。因此,擦除操作时间可以被增加。然而,在本实施例中,为了对第一逻辑地址LA_1执行擦除命令操作,可以对250万个页面进行解映射,然后第一逻辑地址LA_1可以被映射到一个擦除物理地址EPA或擦除状态值EV。因而,擦除操作时间可以被减少。
控制器130可以通过在步骤S405中将第一逻辑地址LA_1与擦除信息E_INF相对应来确定擦除操作已经被完全执行。因而,在步骤S408a中,控制器130可以向主机102传输响应于擦除请求E_REQ的第一响应ACK1。第一响应ACK1可以包括指示根据擦除请求E_REQ用于擦除操作的操作已经被完全执行的消息。
如图7B所示,根据本实施例的擦除操作时间包括执行步骤S280a至S408a所需的时间。也就是说,擦除操作时间包括从控制器130接收用于擦除操作的擦除请求E_REQ和第一逻辑地址LA_1的时间到向主机102传输第一响应ACK1的时间的时间。
随后,当存储器系统的状态满足用于执行垃圾回收的条件时,可以执行用于在步骤S400中物理擦除无效的第二物理地址PA_2中存储的数据的擦除操作。可以在存储器系统110的每个闲置状态期间或周期性的固定时段执行垃圾回收。另外,当空闲块nFB的数目小于或等于预先确定的数目nFB_TH或有效页面的数目VPC小于或等于设定的数目VPC_TH时,垃圾回收可以被执行。
图8A和图8B是图示了根据实施例的用于响应于擦除请求E_REQ而由数据处理系统执行命令操作的方法的流程图。
图8A图示了根据实施例的用于响应于擦除请求E_REQ而执行命令CMD操作的方法,其中擦除操作时间被减少。图8B图示了要参考图8A描述的擦除操作时间。
图8A和图8B中所图示的命令CMD操作可以由图5至图6B中所图示的数据处理系统100和存储器系统110执行。具体地,图8A和图8B图示了通过将第一逻辑地址LA_1与擦除信息E_INF相关联来执行擦除操作时间减少了的擦除请求E_REQ的方法。
虽然图2和图4中所图示的主机102不包括主机存储器106,但是图5至图6B中所图示的主机102可以包括主机存储器106。图8A和图8B中所图示的用于减少擦除操作时间的擦除操作可以由图5至图6B中所图示的数据处理系统100和存储器系统110执行。具体地,图8A和图8B图示了用于通过将与擦除请求E_REQ一起从主机102接收的第一逻辑地址LA_1与擦除请求E_INF相关联来执行擦除操作时间的方法。
当向主机102和存储器系统110供电时(上电),主机102和存储器系统110可以通讯。在这种情况下,控制器130可以下载存储在存储器设备150中的存储器映射数据MAP_M。控制器130可以将从存储器设备150下载的存储器映射数据MAP_M作为控制器映射数据MAP_C_1存储在存储器144中。控制器130可以将存储在存储器144中的控制器映射数据MAP_C_1上传到主机102。主机102可以将从控制器130接收的控制器映射数据MAP_C_1作为主机映射数据MAP_H存储在主机存储器106中。结果,主机映射数据MAP_H被存储在主机存储器106中,存储器映射数据MAP_M被存储在存储器设备150中,并且控制器映射数据MAP_C_1被存储在控制器130的存储器144中。
在步骤S250中,在主机102中的处理器104生成擦除请求E_REQ和与擦除请求E_REQ有关的第一逻辑地址LA_1。在步骤S250中,主机控制器接口108从处理器104接收所生成的擦除请求E_REQ和第一逻辑地址LA_1,并且将它们传送到主机存储器106。
在步骤S270中,主机控制器接口108可以基于在主机存储器106中存储的、包括在主机映射数据MAP_H中的映射数据L2P MAP来确定是否存储了被映射到第一逻辑地址LA_1的第一物理地址PA_1(也就是说,“PA_1是否已缓存”)。
在步骤S280b中,当被映射到第一逻辑地址LA_1的第一物理地址PA_1没有被存储在主机映射数据MAP_H中时(在S270中为否),主机控制器接口108向存储器系统110中的控制器130传送擦除请求E_REQ和第一逻辑地址LA_1,而没有第一物理地址PA_1。主机控制器接口108可以以擦除请求E_REQ的命令格式包括第一逻辑地址LA_1,并且将其传输到控制器130。
在步骤S290中,当被映射到第一逻辑地址LA_1的第一物理地址PA_1被存储在主机映射数据MAP_H中时(S270中为是),主机控制器接口108向存储器系统110中的控制器130传输第一物理地址PA_1以及擦除请求E_REQ和第一逻辑地址LA_1。主机控制器接口108可以在擦除请求E_REQ的命令格式的保留区域中包括第一物理地址PA_1,并且将其传输到控制器130。
当在步骤S280b中未从主机102接收到第一物理地址PA_1并且仅接收到命令CMD和第一逻辑地址LA_1时,控制器130在步骤S340中确定在控制器映射数据MAP_C_1中是否发生映射未命中。换句话说,在步骤S340中,控制器130确定用于第一逻辑地址LA_1的映射信息是否被包括在存储器144中存储的控制器映射数据MAP_C_1中。
当在步骤S290中与命令CMD和第一逻辑地址LA_1一起从主机102接收到第一物理地址PA_1时,控制器130在步骤S330确定与第一逻辑地址LA_1一起接收的第一物理地址PA_1的有效性。控制器130可以基于脏信息D_INF或无效物理地址INV_INF来确定第一物理地址PA_1的有效性。
在步骤S337中,当确定结果指示第一物理地址PA_1有效时(S330中为是),控制器130可以对第一物理地址PA_1和第一逻辑地址LA_1执行解映射操作。控制器130然后在步骤S405中执行擦除操作。在这种情况下,控制器130可以进一步对第一物理地址PA_1执行无效操作。
当第一物理地址PA_1不是有效时(S330中为否),控制器130确定第一物理地址PA_1为无效。为了对有效的第二物理地址PA_2执行擦除操作,控制器130在控制器映射数据MAP_C_1中搜索与第一逻辑地址LA_1相对应的有效的第二物理地址PA_2。为此,在步骤S340中,控制器130确定在控制器映射数据MAP_C_1中是否发生映射未命中。换句话说,在步骤S340中,控制器130确定用于第一逻辑地址LA_1的映射信息是否被包括在存储器144中存储的控制器映射数据MAP_C_1中。
当第一逻辑地址LA_1的映射信息被包括在控制器映射数据MAP_C_1中时(在S340中为否),控制器130确定在控制器映射数据MAP_C_1中发生了映射命中而非映射未命中。因而,在步骤S345中,控制器130在控制器映射数据MAP_C_1中搜索被映射到第一逻辑地址LA_1的第二物理地址PA_2。在步骤S400中,控制器130对在步骤S345中搜索并找到的第二物理地址PA_2和第一逻辑地址LA_1执行解映射操作。解映射操作可以包括对所搜索的第二物理地址PA_2执行的用于映射释放第二物理地址PA_2和第一逻辑地址LA_1的无效操作。控制器130执行步骤S405的擦除操作。
当第一逻辑地址LA_1的映射信息未被包括在控制器映射数据MAP_C_1中时(在S340中为是),控制器130确定在控制器映射数据MAP_C_1中发生映射未命中。换句话说,控制器130确定被映射到第一逻辑地址LA_1的第二物理地址PA_2没有被存储在控制器映射数据MAP_C_1中。
在步骤S365中,控制器130对存储器映射数据MAP_M执行映射下载操作。控制器130可以从存储器设备150请求包括第一逻辑地址LA_1的映射信息的存储器映射数据MAP_M。响应于从控制器130接收的映射下载的请求,存储器设备150可以将包括第一逻辑地址LA_1的映射信息的存储器映射数据MAP_M传输到控制器130。控制器130可以将从存储器150接收的存储器映射数据MAP_M存储在存储器144中。因而,在步骤S382中,控制器映射数据MAP_C_1可以被更新为控制器映射数据MAP_C_2。
在步骤S385中,控制器130在控制器映射数据MAP_C_2中搜索被映射到第一逻辑地址LA_1的第二物理地址PA_2。在步骤S400中,控制器130可以对在步骤S385中搜索的第二物理地址PA_2和第一逻辑地址LA_1执行解映射操作。在这种情况下,控制器130可以进一步对第二物理地址PA_2执行无效操作。
在本实施例中,控制器130可以将与第一物理地址PA_1和第二物理地址PA_2相对应的无效地址信息INV_INF的状态值从‘0’改变为‘1’,以便对从主机102接收的第一物理地址PA_1和在步骤S345和S385中搜索并找到的第二物理地址PA_2执行无效操作。另外,控制器130可以改变包括与第一物理地址PA_1和第二物理地址PA_2相对应的页面的存储器块的有效页面计数信息VPC的状态值。
在步骤S337和S400中执行了解映射操作之后,在步骤S405中,控制器130可以将在步骤S280b中从主机102接收的第一逻辑地址LA_1与擦除信息E_INF相关联。
在本实施例中,擦除信息E_INF可以包括处于擦除状态的擦除页面或处于擦除状态的擦除存储器块的擦除物理地址EPA。另外,擦除信息E_INF可以包括擦除状态值EV。
擦除物理地址EPA可以包括存储器系统110中的存储器设备150的擦除页面EP在擦除状态下的物理位置或擦除存储器块EM在擦除状态下的物理位置。此外,擦除页面EP和擦除存储器块EM可以不用于存储数据。
擦除状态值EV可以包括具有物理地址的形式的值,诸如存储器设备150中的存储器块和页面之类。擦除状态值EV可以包括不是物理地址形式的特定代码值。
擦除信息E_INF可以包括擦除存储器块EM和包括在擦除存储器块EM中的擦除页面EP的擦除物理地址EPA。如图3所示,擦除物理地址EPA可以包括擦除存储器块EM的物理地址,其不用于在存储器设备150中存储数据。这种存储器块是处于擦除状态的存储器块BLOCKN 250。另外,擦除物理地址EPA可以包括擦除存储器块EM中包括的擦除页面EP的物理地址。
根据本实施例的擦除信息E_INF可以包括一个擦除页面EP的擦除物理地址EPA,而不管与第一逻辑地址LA_1有关的数据的大小如何。例如,当可以存储在存储器设备150中的一个页面中的数据的大小为4Kb,并且与第一逻辑地址LA_1有关的数据的大小为1Gb时,需要对250万个页面进行解映射,并且需要执行垃圾回收,以便擦除与第一逻辑地址LA_1有关的数据。因此,擦除操作时间可以被增加。
然而,在本实施例中,为了对第一逻辑地址LA_1执行擦除命令操作,可以对250万个页面进行解映射,然后第一逻辑地址LA_1可以被映射到一个擦除物理地址EPA或擦除状态值EV。因此,擦除操作时间可以被减少。
控制器130可以通过在步骤S405中将第一逻辑地址LA_1与擦除信息E_INF相关联来确定响应于在步骤S280b中从主机102接收的擦除操作的擦除请求E_REQ而进行的操作已经被完全执行。因此,在步骤S408b中,控制器130可以响应于命令CMD而向主机102传输第二响应ACK2。
第二响应ACK2可以包括指示根据擦除请求E_REQ的擦除操作已经被完全执行的消息。第二响应ACK2还可以包括指示第一物理地址PA_1是无效物理地址的消息。第二响应ACK2还可以包括指示第一物理地址PA_1是无效物理地址并且第二物理地址PA_2已经被映射到第一物理地址PA_1的消息。
如图8B所述,根据本实施例的擦除操作时间包括执行步骤S290至S408b所需的时间。也就是说,擦除等待时间包括从控制器130从主机102接收用于擦除操作的擦除请求E_REQ和第一逻辑地址LA_1以及第一物理地址PA_1的时间到擦除信息E_INF被映射到第一逻辑地址LA_1的时间的时间。
随后,当存储器系统的状态满足用于执行垃圾回收的条件时,可以执行用于在步骤S337和S400中擦除无效的第二物理地址PA_2中存储的数据的擦除操作。可以存储器系统110的每个闲置状态期间或在某个周期性的预先确定的固定时段执行垃圾回收。另外,当空闲块的数目nFB小于或等于设定的数目nFB_TH或有效页面数VPC小于或等于设定的数目VPC_TH时,垃圾回收可以被执行。
根据实施例,响应于擦除请求E_REQ的擦除操作可以通过将第一逻辑地址LA_1与擦除信息E_INF相关联来执行。因而,执行擦除操作所需的时间可以被减少。
另外,根据实施例,擦除操作时间可以被减少,并且因此用于从主机102接收后续命令(例如,读取命令、编程命令和擦除命令)的命令等待时间可以被缩短。因而,存储器系统110的命令操作特点可以被改善。
另外,即使与第一逻辑地址LA_1有关的数据的大小很大,第一逻辑地址LA_1仍被映射到至少一个擦除页面EP的擦除物理地址EPA。因此,存储器设备150的利用率可以被提高。
根据实施例,在步骤S290中,控制器130从主机102接收映射到其的第一逻辑地址LA_1和第一物理地址PA_1,并且第一物理地址PA_1是有效的(也就是说,在S330中为是),搜索第二物理地址PA_2的步骤S345和S385可以被省略。另外,根据本实施例,可以通过将第一逻辑地址LA_1与擦除信息E_INF相对应来执行根据附带擦除操作的擦除请求E_REQ而进行的操作。因而,根据本实施例的存储器系统110可以减少擦除操作时间。
根据实施例,每当接收到附带擦除操作的擦除请求E_REQ时,不能执行垃圾回收,而是当存储器系统的状态满足用于执行垃圾回收的条件时,可以执行垃圾回收。因而,存储器系统110的开销可以被减少。
根据实施例,擦除操作时间被减少,因此用于从主机102接收后续命令(例如,读取命令、编程命令和擦除命令)的命令等待时间可以被缩短。因而,存储器系统110的命令操作特点可以被改善。
当根据从主机接收的逻辑地址来执行命令操作,并且从主机接收用于擦除操作的擦除请求时,根据上述实施例的存储器系统和用于执行命令操作的方法可以通过将从主机接收的逻辑地址与擦除信息相关联来减少擦除操作时间。
随着擦除操作时间的减少,用于从主机接收后续请求(例如,读取请求、编程请求和擦除请求)的请求等待时间可以被缩短。因此,根据上述实施例的存储器系统和方法可以改善存储器系统的命令操作特点。
尽管与从主机接收的逻辑地址有关的数据的大小大于一个页面的存储容量,但是可以通过将逻辑地址映射到一个擦除物理地址来执行命令操作。因此,根据上述实施例的存储器系统和方法可以提高存储器设备的利用率。
每当接收到擦除请求时,从主机接收的与请求被擦除的逻辑地址有关的数据的擦除操作没有被执行,而是当存储器系统状态满足用于执行垃圾回收的条件时,由垃圾回收执行。因而,根据上述实施例的存储器系统和方法可以减少存储器系统的开销。
尽管已经针对特定实施例对本发明进行了图示和描述,但是对于本领域技术人员而言,根据本公开,显而易见的是,在不背离如所附权利要求书所限定的本发明的精神和范围的情况下,可以做出各种改变和修改。因此,本发明包括落入权利要求书及其等同物范围内的所有这些改变和修改。

Claims (20)

1.一种存储器系统,包括:
存储器设备,包括具有多个页面的存储器块;以及
控制器,适于从外部设备接收用于擦除操作的擦除请求和与所述擦除请求有关的第一逻辑地址,并且将所述第一逻辑地址与擦除信息相关联。
2.根据权利要求1所述的存储器系统,其中在将所述第一逻辑地址与所述擦除信息相关联之后,所述控制器向所述外部设备传输针对所述擦除请求的响应。
3.根据权利要求1所述的存储器系统,其中所述擦除信息包括处于擦除状态的擦除页面或擦除存储器块的擦除物理地址。
4.根据权利要求3所述的存储器系统,其中在将所述第一逻辑地址与所述擦除物理地址相关联之后,所述控制器不使用所述擦除页面或所述擦除存储器块来存储数据。
5.根据权利要求1所述的存储器系统,其中所述擦除信息包括擦除状态值。
6.根据权利要求2所述的存储器系统,其中所述控制器在映射数据中搜索与所述第一逻辑地址相对应的物理地址,使所述物理地址无效,并且对所无效的物理地址执行垃圾回收,以及
其中所述映射数据包括在所述外部设备中使用的第二逻辑地址和所述存储器设备的物理地址。
7.根据权利要求6所述的存储器系统,其中在执行所述垃圾回收之前,所述控制器向所述外部设备传输所述响应。
8.根据权利要求2所述的存储器系统,其中当从所述外部设备接收到有效的、并与所述第一逻辑地址相对应的第一物理地址时,所述控制器使有效的所述第一物理地址无效,并且对所无效的第一物理地址执行垃圾回收。
9.根据权利要求8所述的存储器系统,其中所述控制器在执行所述垃圾回收之前向所述外部设备传输所述响应。
10.一种用于通过存储器系统执行命令操作的方法,所述存储器系统包括存储器设备,所述存储器设备包括具有多个页面的存储器块和适于控制所述存储器设备的控制器,所述方法包括:
从外部设备接收用于擦除操作的擦除请求和与所述擦除请求有关的第一逻辑地址;以及
将所述第一逻辑地址与擦除信息相关联。
11.根据权利要求10所述的方法,还包括:在将所述第一逻辑地址与所述擦除信息相关联之后,向所述外部设备传输针对所述擦除请求的响应。
12.根据权利要求10所述的方法,其中所述擦除信息包括处于擦除状态的擦除页面或擦除存储器块的擦除物理地址。
13.根据权利要求12所述的方法,其中在将所述第一逻辑地址与所述擦除信息相关联之后,所述擦除页面或所述擦除存储器块不用于数据的存储。
14.根据权利要求10所述的方法,其中所述擦除信息包括擦除状态值。
15.根据权利要求11所述的方法,还包括:
在映射数据中搜索与所述第一逻辑地址相对应的物理地址;
使在所述映射数据中由于所述搜索而找到的所述物理地址无效;以及
对所无效的物理地址执行垃圾回收,
其中所述映射数据包括在所述外部设备中使用的第二逻辑地址和所述存储器设备的物理地址。
16.根据权利要求15所述的方法,其中在对所无效的物理地址执行所述垃圾回收之前,执行针对所述擦除请求的所述响应向所述外部设备的传输。
17.根据权利要求10所述的方法,还包括:
当从所述外部设备接收到有效的、并与所述第一逻辑地址对应的第一物理地址时,使映射数据中的有效的所述第一物理地址无效;以及
对所无效的第一物理地址执行垃圾回收,
其中所述映射数据包括在所述外部设备中使用的逻辑地址和所述存储器设备的物理地址。
18.根据权利要求10所述的方法,还包括:
在将所述第一逻辑地址与所述擦除信息相对应之后,从所述外部设备接收读取请求和第二逻辑地址;
当所述第二逻辑地址与所述擦除信息相对应时,向所述外部设备传输对所述读取请求的响应,所述响应包括指示与所述第二逻辑地址有关的数据没有被存储在所述存储器设备中的消息。
19.根据权利要求10所述的方法,还包括:
在将所述第一逻辑地址与所述擦除信息相对应之后,从所述外部设备接收读取请求和第二逻辑地址;以及
当所述第二逻辑地址不与所述擦除信息相对应时,向所述外部设备传输对所述读取请求的响应,所述响应包括指示与所述第二逻辑地址有关的数据没有在所述存储器设备中被搜索到的消息。
20.一种减少包括存储器设备的存储器系统中的擦除时间的方法,所述方法包括:
接收用于擦除操作的擦除请求以及与所述擦除请求有关的逻辑地址;
将所述逻辑地址与所述存储器设备中的擦除位置相关联;
在映射数据中查找与所述逻辑地址相对应的物理地址;
使在所述搜索操作中找到的所述物理地址无效;以及
基于垃圾回收触发条件来对所无效的物理地址执行垃圾回收。
CN201911365583.7A 2019-04-30 2019-12-26 存储器系统和通过该存储器系统执行命令操作的方法 Withdrawn CN111857818A (zh)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
KR1020190050295A KR20200126531A (ko) 2019-04-30 2019-04-30 메모리 시스템 및 그의 커맨드 수행 방법
KR10-2019-0050295 2019-04-30

Publications (1)

Publication Number Publication Date
CN111857818A true CN111857818A (zh) 2020-10-30

Family

ID=72970787

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201911365583.7A Withdrawn CN111857818A (zh) 2019-04-30 2019-12-26 存储器系统和通过该存储器系统执行命令操作的方法

Country Status (3)

Country Link
US (1) US11275682B2 (zh)
KR (1) KR20200126531A (zh)
CN (1) CN111857818A (zh)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US11733918B2 (en) * 2020-07-28 2023-08-22 Samsung Electronics Co., Ltd. Systems and methods for processing commands for storage devices

Family Cites Families (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100755700B1 (ko) 2005-12-27 2007-09-05 삼성전자주식회사 비휘발성 메모리가 캐쉬로 사용되는 저장 장치 및 그 관리방법
US20080140724A1 (en) * 2006-12-06 2008-06-12 David Flynn Apparatus, system, and method for servicing object requests within a storage controller
JP2009252255A (ja) * 2008-04-01 2009-10-29 Renesas Technology Corp 不揮発性半導体記憶装置
US8626989B2 (en) * 2011-02-02 2014-01-07 Micron Technology, Inc. Control arrangements and methods for accessing block oriented nonvolatile memory
US9990278B2 (en) 2014-10-20 2018-06-05 Cypress Semiconductor Corporation Overlaid erase block mapping
US10261703B2 (en) 2015-12-10 2019-04-16 International Business Machines Corporation Sharing read-only data among virtual machines using coherent accelerator processor interface (CAPI) enabled flash
JP6444917B2 (ja) * 2016-03-08 2018-12-26 東芝メモリ株式会社 ストレージシステム、情報処理システムおよび制御方法
KR102420158B1 (ko) * 2017-12-27 2022-07-13 삼성전자주식회사 파일 단위의 암호화 키에 기반하여 암호화를 수행하도록 구성되는 스토리지 장치, 스토리지 시스템, 및 그 동작 방법
US11175850B2 (en) * 2019-01-03 2021-11-16 Toshiba Memory Corporation Selective erasure of data in a SSD

Also Published As

Publication number Publication date
KR20200126531A (ko) 2020-11-09
US20200349068A1 (en) 2020-11-05
US11275682B2 (en) 2022-03-15

Similar Documents

Publication Publication Date Title
US10963175B2 (en) Apparatus and method for searching valid data in memory system
US10817418B2 (en) Apparatus and method for checking valid data in memory system
CN110825659B (zh) 用于检查存储器系统中的块中的有效数据的设备和方法
US11126562B2 (en) Method and apparatus for managing map data in a memory system
US11157402B2 (en) Apparatus and method for managing valid data in memory system
US11681633B2 (en) Apparatus and method for managing meta data in memory system
CN112148632A (zh) 用于改善存储器系统的输入/输出吞吐量的设备和方法
CN111581122A (zh) 用于管理存储器系统中的映射数据的方法和设备
CN113900586A (zh) 存储器系统及其操作方法
US11354250B2 (en) Apparatus for transmitting map information in memory system
US11281574B2 (en) Apparatus and method for processing different types of data in memory system
US11874775B2 (en) Method and apparatus for performing access operation in memory system utilizing map data including mapping relationships between a host and a memory device for storing data
CN112445424A (zh) 提高存储器系统的输入/输出吞吐量的设备和方法
CN111435334B (zh) 在存储器系统中检查有效数据的设备和方法
US11275682B2 (en) Memory system and method for performing command operation by memory system
US11500720B2 (en) Apparatus and method for controlling input/output throughput of a memory system
US11663139B2 (en) Apparatus for transmitting map information in memory system
US11348646B2 (en) Apparatus and method for managing program operation time and write latency in memory system
CN112015670A (zh) 传送存储器系统中的映射信息的设备

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
WW01 Invention patent application withdrawn after publication
WW01 Invention patent application withdrawn after publication

Application publication date: 20201030