CN111142782A - 数据存储装置及数据存储系统 - Google Patents
数据存储装置及数据存储系统 Download PDFInfo
- Publication number
- CN111142782A CN111142782A CN201910999765.3A CN201910999765A CN111142782A CN 111142782 A CN111142782 A CN 111142782A CN 201910999765 A CN201910999765 A CN 201910999765A CN 111142782 A CN111142782 A CN 111142782A
- Authority
- CN
- China
- Prior art keywords
- physical address
- state information
- volatile memory
- data
- data storage
- 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.)
- Pending
Links
- 238000013500 data storage Methods 0.000 title claims abstract description 87
- 230000015654 memory Effects 0.000 claims abstract description 240
- 238000010586 diagram Methods 0.000 description 32
- 239000000470 constituent Substances 0.000 description 10
- 239000013589 supplement Substances 0.000 description 10
- 238000000034 method Methods 0.000 description 7
- 230000004044 response Effects 0.000 description 3
- 239000000835 fiber Substances 0.000 description 1
- 238000002347 injection Methods 0.000 description 1
- 239000007924 injection Substances 0.000 description 1
- 230000010354 integration Effects 0.000 description 1
- 230000005415 magnetization Effects 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 230000002093 peripheral effect Effects 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/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
- 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
- G06F12/00—Accessing, addressing or allocating within memory systems or architectures
- G06F12/02—Addressing or allocation; Relocation
- G06F12/0223—User address space allocation, e.g. contiguous or non contiguous base addressing
- G06F12/023—Free address space management
- G06F12/0238—Memory management in non-volatile memory, e.g. resistive RAM or ferroelectric memory
- G06F12/0246—Memory management in non-volatile memory, e.g. resistive RAM or ferroelectric memory in block erasable memory, e.g. flash memory
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F12/00—Accessing, addressing or allocating within memory systems or architectures
- G06F12/14—Protection against unauthorised use of memory or access to memory
- G06F12/1408—Protection against unauthorised use of memory or access to memory by using cryptography
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/60—Protecting data
- G06F21/602—Providing cryptographic facilities or services
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0602—Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
- G06F3/0604—Improving or facilitating administration, e.g. storage management
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0628—Interfaces specially adapted for storage systems making use of a particular technique
- G06F3/0638—Organizing or formatting or addressing of data
-
- 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/0659—Command handling arrangements, e.g. command buffers, queues, command scheduling
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0668—Interfaces specially adapted for storage systems adopting a particular infrastructure
- G06F3/0671—In-line storage system
- G06F3/0673—Single storage device
- G06F3/0679—Non-volatile semiconductor memory device, e.g. flash memory, one time programmable memory [OTP]
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2212/00—Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
- G06F2212/10—Providing a specific technical effect
- G06F2212/1052—Security 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/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
-
- 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/7208—Multiple device management, e.g. distributing data over multiple flash devices
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)
- Computer Security & Cryptography (AREA)
- Health & Medical Sciences (AREA)
- General Health & Medical Sciences (AREA)
- Computer Hardware Design (AREA)
- Bioethics (AREA)
- Software Systems (AREA)
- Memory System (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
- Techniques For Improving Reliability Of Storages (AREA)
Abstract
本申请提供了数据存储装置及数据存储系统。一种数据存储装置包括:第一非易失性存储器,其被配置为存储数据;以及装置控制器,其被配置为控制所述第一非易失性存储器,其中,所述装置控制器可被配置为:接收数据读取命令,所述数据读取命令包括所述第一非易失性存储器的第一逻辑地址、与所述第一逻辑地址对应的第一物理地址以及所述第一非易失性存储器的与所述第一物理地址对应的第一状态信息;使用所述数据读取命令中包括的所述第一状态信息确定第一读取电平;以及向所述第一非易失性存储器的与所述第一物理地址对应的第一字线施加所述第一读取电平的电压,以读取数据。
Description
相关申请的交叉引用
本申请要求于2018年11月5日在韩国知识产权局提交的韩国专利申请No.10-2018-0134091的优先权,所述申请的内容通过引用全部合并于此。
技术领域
本公开涉及数据存储装置和/或数据存储系统。
背景技术
为了读取存储在包括闪速存储器的存储装置中的数据,主机可向存储装置发送待读取的数据的逻辑地址。因此,存储装置可以使用例如闪速转换层(FTL)将从主机接收的逻辑地址转换为用于访问闪速存储器的物理地址。此时,存储装置可以通过将读取电压施加到与转换后的物理地址对应的字线来读取数据并将数据提供给主机。
然而,取决于闪速存储器的状态,即使存储装置施加预定的读取电压,也可能发生读取失败。因此,存储装置基于闪速存储器的状态确定读取电平,并将确定的读取电平电压施加到与物理地址对应的字线。此时,由存储装置管理关于闪速存储器状态的信息,并且随着闪速的集成度和密集度的增加,这种状态信息的量可能增加。如果在存储装置的内部存储器中管理这种状态信息,则存储装置的内部存储器的容量增加,从而导致成本增加。另一方面,如果由包括在存储装置中的非易失性存储器管理这种状态信息,则加载状态信息将花费相对长的时间,并且存储装置的性能可能降低。
发明内容
本公开的一些方面提供能够在保持性能的同时降低暂时和/或物理消耗或使其最小化的数据存储装置和/或系统。
根据本公开的示例实施例,一种数据存储装置,包括:第一非易失性存储器,其被配置为存储数据;以及装置控制器,其被配置为控制所述第一非易失性存储器。所述装置控制器可以被配置为:接收数据读取命令,所述数据读取命令包括所述第一非易失性存储器的第一逻辑地址、与所述第一逻辑地址对应的第一物理地址以及所述第一非易失性存储器的与所述第一物理地址对应的第一状态信息;使用所述数据读取命令中包括的所述第一状态信息确定第一读取电平;以及向所述第一非易失性存储器的与所述第一物理地址对应的第一字线施加所述第一读取电平的电压,以读取数据。
根据本公开的示例实施例,一种数据存储装置,包括:第一非易失性存储器,其被配置为存储数据;第一内部存储器,其被配置为存储所述第一非易失性存储器的第一逻辑地址、与所述第一逻辑地址对应的第一物理地址以及所述第一非易失性存储器的与所述第一物理地址对应的第一状态信息;以及装置控制器,其被配置为控制所述第一非易失性存储器和所述第一内部装置。所述装置控制器可以被配置为:通过接收对所述第一非易失性存储器的数据编程命令对所述第一非易失性存储器中的数据进行编程;更新在所述第一内部存储器中存储的所述第一物理地址和所述第一状态信息;以及向外部提供更新后的第一物理地址和更新后的第一状态信息。
根据本公开的示例实施例,一种数据存储装置,包括:第一非易失性存储器,其被配置为存储数据;第一内部存储器,其被配置为存储所述第一非易失性存储器的第一逻辑地址、与所述第一逻辑地址对应的第一物理地址、所述第一非易失性存储器的与所述第一物理地址对应的第一状态信息以及关于所述第一逻辑地址、所述第一物理地址和所述第一状态信息的有效性的第一签名信息;以及装置控制器,其被配置为控制所述第一非易失性存储器和所述第一内部装置。所述装置控制器可以被配置为:接收包括所述第一非易失性存储器的第一元数据和第二逻辑地址的第一数据读取命令;对所述第一元数据进行解密,以生成与所述第二逻辑地址对应的第二物理地址、所述第一非易失性存储器的与所述第二物理地址对应的第二状态信息以及第二签名信息;基于所述第一签名信息和所述第二签名信息关于所述第一元数据的有效性确定数据读取电平;以及使用确定的数据读取电平读取所述第一非易失性存储器中存储的数据。
根据本公开的示例实施例,一种数据存储系统,包括:主机,其包括主机控制器;以及数据存储装置,其连接到所述主机并包括第一非易失性存储器和装置控制器。所述主机控制器可以被配置为响应于数据读取请求向所述数据存储装置发送数据读取命令,所述数据读取命令包括所述第一非易失性存储器的第一逻辑地址和与所述第一逻辑地址对应的元数据。所述装置控制器可以被配置为:对所述数据读取命令中包括的第一元数据进行解密,以生成与所述第一逻辑地址对应的第一物理地址和所述第一非易失性存储器的与所述第一物理地址对应的第一状态信息;使用所述第一状态信息确定第一读取电平;以及使用所述第一读取电平读取所述第一非易失性存储器中存储的数据。
然而,本公开的各方面不限于这里阐述的各项。通过参考下面给出的本公开的详细描述,本公开的上述和其他方面对本公开所述技术领域的普通技术人员将变得更加明显。
附图说明
通过参考附图对本公开的以下示例实施例进行更详细地描述,本公开的上述和其他方面将更加明显。
图1是示出根据示例实施例的数据存储系统的示图。
图2是用于说明根据示例实施例的第一元数据、第二物理地址、第二状态信息、第三物理地址和第三状态信息之间的关系的示图。
图3是示出根据示例实施例的主机存储器、第一内部存储器和第二非易失性存储器之间的数据移动的示图。
图4是用于说明根据示例实施例的数据存储系统的数据读取操作的示图。
图5和图6是用于说明根据示例实施例的数据存储系统的数据读取操作的示图。
图7是示出根据示例实施例的数据存储系统的数据编程操作的示图。
图8是用于说明根据示例实施例的装置控制器请求主机更新元数据的情况的示图。
图9是示出根据示例实施例的数据存储装置的数据编程操作的示图。
图10是用于说明根据示例实施例的存储装置的数据垃圾收集(GC)的操作的示图。
图11是用于说明根据示例实施例的数据存储系统的示图。
图12是示出根据示例实施例的第一元数据、第二物理地址、第二状态信息、第三物理地址、第三状态信息、第一签名信息和第二签名信息之间的关系的示图。
图13是用于说明根据示例实施例的数据存储系统的数据读取操作的示图。
图14是用于说明根据示例实施例的当第一签名信息和第二签名信息彼此相同时数据存储系统的数据读取操作的示图。
图15是用于说明根据示例实施例的当第一签名信息和第二签名信息彼此不同时数据存储系统的数据读取操作的示图。
图16是用于说明根据示例实施例的数据存储系统的数据编程操作的示图。
图17是用于说明根据示例实施例的数据存储装置的数据垃圾收集的示图。
具体实施方式
应当理解,尽管这里可以使用术语第一、第二、第三等来描述各种元件、部件,区域、层和/或部分,但是这些元件、部件、区域,层和/或部分不应受这些术语的限制。这些术语仅用于将一个元件、组件、区域、层或部分与另一区域、层或部分进行区分。因此,在不脱离示例实施例的教导的情况下,下面讨论的第一元件、第一组件、第一区域、第一层或第一部分可以被称为第二元件、第二组件、第二区域、第二层或第二部分。
图1是示出根据示例实施例的数据存储系统的示图。参照图1,数据存储系统1可以包括数据存储装置100和主机200。
数据存储系统1可以实现为,但不限于,例如个人计算机(PC)、工作站、数据中心、互联网数据中心(IDC)、直接附加存储(DAS)系统、存储区域网络(SAN)系统、网络附加存储(NAS)系统、廉价磁盘的冗余阵列、独立磁盘的冗余阵列(RAID)系统或移动装置。
此外,移动装置可以被实现为,但不限于,例如膝上型计算机、移动电话、智能电话,平板PC、个人数字助理(PDA)、企业数字助理(EDA)、数码照相机、数码摄像机、便携式多媒体播放器(PMP)、个人导航装置或便携式导航装置(PND)、掌上游戏机、移动互联网装置(MID)、可穿戴装置计算机、物联网(IoT)装置、万物互联网(IoE)装置、无人机或电子书。
数据存储装置100可以包括装置控制器110、第一非易失性存储器(NVM)120、第二非易失性存储器130、第一内部存储器140和第二内部存储器150。
装置控制器110可以控制数据存储装置100内部的整体操作。例如,装置控制器110可以在第一非易失性存储器120上对由主机200请求的数据执行编程操作、读取操作或擦除操作。在另一示例中,装置控制器110可以确定待供给第一非易失性存储器120的读取电平。在一些示例实施例中,数据存储装置100还可以包括缓冲存储器(未示出)。然而,示例实施例不限于此,并且装置控制器110可以控制除了上述操作之外的各种操作。稍后将描述一些特定内容的示例。
第一非易失性存储器120可以存储用户数据(用户数据)。例如,第一非易失性存储器120可以包括,但不限于,闪速存储器、电阻RAM(RRAM)、相变存储器(PRAM)、磁阻存储器(MRAM)、铁电存储器(FRAM)、自旋注入磁化反转存储器(自旋STT-RAM)等。
第二非易失性存储器130可以存储第一非易失性存储器120的第一逻辑地址LBA_S、与第一逻辑地址LBA_S对应的第一物理地址PBA_S以及第一非易失性存储器120的与第一物理地址PBA_S对应的第一状态信息PS_S。第一状态信息PS_S可以是例如第一非易失性存储器120的与第一物理地址PBA_S对应的存储页的物理状态信息。在另一示例中,第一状态信息PS_S可以是第一非易失性存储器120的与第一物理地址PBA_S对应的存储块的物理状态信息。换句话说,第一状态信息PS_S可以是关于第一非易失性存储器120的与第一物理地址PBA_S对应的特定存储区域的状态信息。第二非易失性存储器130可以包括,但不限于,例如闪速存储器、RRAM、PRAM、MRAM、FeRAM、自旋STT-RAM等。
根据一些示例实施例,第一非易失性存储器120可以是闪速存储器,并且第二非易失性存储器130可以是磁阻存储器。根据一些其他示例实施例,第一非易失性存储器120可以是使用多级单元MLC的闪速存储器,并且第二非易失性存储器130可以是使用单级单元SLC的闪速存储器。尽管图1示出了第一非易失性存储器120和第二非易失性存储器130彼此分离的状态,但是示例实施例不限于此。根据一些示例实施例,第一非易失性存储器120和第二非易失性存储器130可以在单个存储装置中实现。例如,第一非易失性存储器120可以是闪速存储器的多级单元MLC区域,第二非易失性存储器130可以是同一闪速存储器的单级单元SLC区域。
第一内部存储器140可以存储第一非易失性存储器120的第二逻辑地址LBA_C、与第二逻辑地址LBA_C对应的第二物理地址PBA_C以及第一非易失性存储器120的与第二物理地址PBA_C对应的第二状态信息PS_C。由于第二状态信息PS_C与上述第一状态信息PS_S类似,因此将不提供其描述。第一内部存储器140可以包括SRAM、DRAM、SDRAM等,但是示例实施例不限于此。例如,第一内部存储器140可以是SRAM。
第二内部存储器150可以存储用于确定待提供给第一非易失性存储器120的读取电平的读取电平确定信息DTI。读取电平确定信息DTI可以是第一非易失性存储器120的状态信息和与该状态信息对应的读取电压变化之间的关系信息。本公开所属技术领域的普通技术人员可以以各种形式实现读取电平确定信息DTI。例如,读取电平确定信息DTI可以是查找表。第二内部存储器150可以包括但不限于SRAM、DRAM、SDRAM等,或者可以包括ROM、PROM、EPROM、EEPROM、闪速存储装置、PRAM、MRAM、RRAM、FRAM等。例如,第二内部存储器150可以是SRAM或ROM。
图1示出了装置控制器110和第一内部存储器140彼此分离的状态,但是示例实施例不限于此。例如,第一内部存储器140可以是装置控制器110的内部存储器。此外,图1示出了数据存储装置100的装置控制器110、第一非易失性存储器120、第二非易失性存储器130、第一内部存储器140和第二内部存储器150分别经由总线连接的状态,但是示例实施例不限于此。例如,第一非易失性存储器120、第二非易失性存储器130、第一内部存储器140和第二内部存储器150可以分别直接连接到装置控制器110。在不脱离本公开的发明构思的情况下,本公开所属技术领域的普通技术人员可以以各种方式实现数据存储装置100。
主机200可以包括主机控制器210、主机存储器220和用户接口(用户I/F)230。
主机控制器210可以控制主机200内部的整体操作。例如,主机控制器210可以响应于来自用户接口230的请求向数据存储装置100发送编程指令(编程CMD)、读取命令(读取CMD)或擦除命令(擦除CMD)。在一些示例实施例中,主机200还可以包括缓冲存储器(未示出)。然而,示例实施例不限于此,并且主机控制器210可以控制除了上述操作之外的各种操作。稍后将描述特定内容的一些示例。
主机存储器220可以存储数据存储装置100中包括的第一非易失性存储器120的第三逻辑地址LBA_H和第一元数据META_H。主机存储器220可以包括DRAM、SRAM、SDRAM等,但是示例实施例不限于此。为了便于解释,在下面的描述中假设主机存储器220是DRAM。然而,本公开所属技术领域中的普通技术人员可以使用各种存储器来实现主机存储器220。根据一些示例实施例,主机存储器220的存储容量可以大于或等于第一内部存储器140的存储容量,并且示例实施例不限于此。参照图2对于第一元数据META_H进行说明性描述。
图2是用于说明根据示例实施例的第一元数据、第二物理地址、第二状态信息、第三物理地址和第三状态信息之间的关系的示图。
参照图1和图2,装置控制器110可以对第二物理地址PBA_C和第二状态信息PS_C进行加密以生成第一元数据META_H。例如,装置控制器110可以对第二物理地址PBA_C和第二状态信息PS_C进行加扰以生成第一元数据META_H。同时,装置控制器110可以对来自主机200的第一元数据META_H进行解密以生成第三物理地址PBA_H和与第三物理地址PBA_H对应的第三状态信息PS_H。例如,装置控制器110可以对第一元数据META_H进行解扰以生成第三物理地址PBA_H和第三状态信息PS_H。换句话说,第一元数据META_H可以是加密后的第二物理地址PBA_C和第二状态信息PS_C,而第三物理地址PBA_H和第三状态信息PS_H可以是解密后的第一元数据META_H。也就是说,第一元数据META_H可以包括第二物理地址PBA_C和第二状态信息PS_C,或者可以包括第三物理地址PBA_H和第三状态信息PS_H。这将再次参照图1进行解释。
根据一些示例实施例的数据存储装置100和主机200可以经由UFS(通用闪速存储器)、SCSI(小型计算机系统接口)、SAS(串行连接SCSI)、SATA(串行高级技术附件)、PCIe(快速外围组件互连)、eMMC(嵌入式多媒体卡)、FC(光纤通道)、ATA(高级技术附件)、IDE(集成驱动电子装置)、USB(通用串行总线)或IEEE 1394(火线)彼此连接。然而,示例实施例不限于此,并且还可适用于使得能够在主机200和数据存储装置100之间发送和接收数据的任意接口。
在下文中,为了清楚和方便地解释本发明构思,将在假设主机200和数据存储装置100经由UFS电接口彼此连接的情况下提供描述,主机200是UFS主机,并且数据存储装置100是UFS存储装置。例如,数据存储系统1可以采用MIPI UniPro或MIPI M-PHY。然而,示例实施例不限于此,并且可以适用于使用包括上述电接口的任意接口的任意存储系统。
图3是示出根据示例实施例的主机存储器、第一内部存储器和第二非易失性存储器之间的数据移动的示图。尽管为了便于说明,图3示出省略了一些组成元件的操作的情况,但是将参照图1提供描述以补充这一点。
参照图1和图3,装置控制器110可以向第二非易失性存储器130提出内部高速缓存请求。响应于内部高速缓存请求,第二非易失性存储器130可以向第一内部存储器140提供第二非易失性存储器130中存储的第一逻辑地址LBA_S、第一物理地址PBA_S和第一状态信息PS_S中的一些。第一内部存储器140可以接收并存储来自第二非易失性存储器130的第一逻辑地址LBA_S、第一物理地址PBA_S和第一状态信息PS_S中的至少一些(S110)。为了便于说明书,存储在第一内部存储器140中的第一逻辑地址LBA_S、第一物理地址PBA_S和第一状态信息PS_S中的至少一些可以分别被称为第二逻辑地址LBA_C、第二物理地址PBA_C和第二状态信息PS_C。
装置控制器110可以向第一内部存储器140提出用于执行第二逻辑地址LBA_C、第二物理地址PBA_C和第二状态信息PS_C的主机高速缓存的主机高速缓存请求。第一内部存储器140可以向装置控制器110提供存储的第二逻辑地址LBA_C、第二物理地址PBA_C和第二状态信息PS_C。装置控制器110可以对接收的第二物理地址PBA_C和第二状态信息PS_C进行加密(S120)。换句话说,装置控制器110可以通过对第二物理地址PBA_C和第二状态信息PS_C进行加密来生成第一元数据META_H。装置控制器110可以向主机存储器220提供接收的第二逻辑地址LBA_C和生成的第一元数据META_H。主机200可以接收第二逻辑地址LBA_C和第一元数据META_H并将它们存储在主机存储器220中(S130)。为了便于说明,提供给主机200的第二逻辑地址LBA_C可以被称为第三逻辑地址LBA_H。
在一些示例实施例中,为了便于解释,高速缓存到第一内部存储器140被称为内部高速缓存,而高速缓存到主机存储器220被称为主机高速缓存。然而,示例实施例不限于这些术语。
图4是用于说明根据示例实施例的数据存储系统的数据读取操作的示图。尽管为了便于说明,图4示出了省略一些组成元件的操作的情况,但是将参照图1提供描述以补充这一点。
参照图1和图4,主机控制器210可以接收数据读取请求(S210)。例如,主机控制器210可以从用户接口230接收数据读取请求。在接收到数据读取请求时,主机控制器210可以访问主机存储器220以加载第三逻辑地址LBA_H和第一元数据META_H。主机控制器210可以向数据存储装置100提出包括第三逻辑地址LBA_H和第一元数据META_H的数据读取命令(读取CMD)。可以向装置控制器110提出包括第三逻辑地址LBA_H和第一元数据META_H的数据读取命令(读取CMD)。
装置控制器110可以对接收的数据读取命令中包括的第一元数据META_H进行解密(S220)。换句话说,装置控制器110可以对第一元数据META_H进行解密以生成第三物理地址PBA_H和第三状态信息PS_H。装置控制器110可以使用第三状态信息PS_H确定待施加到第一非易失性存储器120的与第三物理地址PBA_H对应的字线的第一读取电平(S230)。例如,装置控制器110可以加载第二内部存储器150中存储的读取电平确定信息DTI,并使用读取电平确定信息DTI和第三状态信息PS_H确定第一读取电平。
装置控制器110可以使用确定的第一读取电平来读取第一非易失性存储器120的第三物理地址PBA_H中存储的用户数据(用户数据)。例如,装置控制器110可以通过将确定的第一读取电平的电压施加到第一非易失性存储器120的与第三物理地址PBA_H对应的字线来读取第一非易失性存储器120的第三物理地址PBA_H中存储的用户数据(用户数据)。装置控制器110可以向主机200提供读取的用户数据(用户数据)。将参照图5和图6进对数据读取操作进行说明性描述。
图5和图6是用于说明根据示例实施例的数据存储系统的数据读取操作的示图。尽管为了便于说明,图5和图6示出了省略一些组成元件的操作的情况,但是将参照图1提供描述以补充这一点。
参照图5,主机存储器220可以存储第三逻辑地址LBA_H和第一元数据META_H。第三逻辑地址LBA_H可以包括多个逻辑地址,例如,逻辑地址LBA_1、逻辑地址LBA_2和逻辑地址LBA_3。类似地,第一元数据META_H可以包括多个元数据,例如,元数据META_1、元数据META_2和元数据META_3。元数据META_1、元数据META_2和元数据META_3可以分别与逻辑地址LBA_1、逻辑地址LBA_2和逻辑地址LBA_3对应。
参照图1和图5,可以向主机200的用户接口230提供数据读取的输入。用户接口230可以请求主机控制器210读取逻辑地址LBA_2。
当主机控制器210接收到逻辑地址LBA_2的读取请求时,主机控制器210可以访问主机存储器220以加载与逻辑地址LBA_2对应的元数据META_2。
在加载元数据META_2之后,主机控制器210可以向数据存储装置100提出包括逻辑地址LBA_2和元数据META_2的数据读取命令(读取CMD)。
参照图1和图6,装置控制器110可以接收包括逻辑地址LBA_2和元数据META_2的数据读取命令(读取CMD)。
装置控制器110可以对接收的元数据META_2进行解密以生成物理地址PBA_2和状态信息PS_2。物理地址PBA_2可以与逻辑地址LBA_2对应,并且状态信息PS_2可以是关于第一非易失性存储器120的与物理地址PBA_2对应的存储区域的状态信息。
装置控制器110可以访问第二内部存储器150以加载关于状态信息PS_2的读取电平确定信息DTI。
装置控制器110可以使用状态信息PS_2和关于状态信息PS_2的读取电平确定信息DTI来确定用于读取在第一非易失性存储器120的物理地址PBA_2中存储的数据的读取电平。
装置控制器110可以向第一非易失性存储器120提供确定的读取电平电压并读取数据。换句话说,装置控制器110可以通过向第一非易失性存储器120的与物理地址PBA_2对应的字线施加确定的读取电平的电压来读取在物理地址PBA_2中存储的数据。
图7是示出根据示例实施例的数据存储系统的数据编程操作的示图。尽管为了便于说明,图7示出了省略一些组成元件的操作的情况,但是将参照图1提供描述以补充这一点。
参照图1和图7,主机控制器210可以接收数据编程请求(S310)。例如,主机控制器210可以从用户接口230接收数据编程请求。在接收到对数据编程的请求时,主机控制器210可以向数据存储装置100提出数据编程命令(编程CMD)。
装置控制器110可以接收数据编程命令(编程CMD),并且可以控制数据存储装置100的编程操作(S320)。例如,装置控制器110可以将用户数据(用户数据)编程到第一非易失性存储器120的未分配的物理地址。
装置控制器110可以将在第一内部存储器140中存储的第二物理地址PBA_C和第二状态信息PS_C更新为数据被编程的物理地址和与该物理地址对应的状态信息。例如,装置控制器110可以使在第一内部存储器140中存储的第二物理地址PBA_C和第二状态信息PS_C无效,并且可以将对数据进行编程的物理地址和对应的状态信息分别更新为第二物理地址PBA_C和第二状态信息PS_C。
装置控制器110可以请求主机200更新元数据。例如,装置控制器110可以通过对更新后的第二物理地址PBA_C和更新后的第二状态信息PS_C进行加密来生成元数据。生成的元数据可以与元数据的更新请求一起发送到主机200。
根据一些示例实施例,装置控制器110可以基于特定情况请求主机200更新元数据。将参照图8进行说明性解释。
图8是用于说明根据示例实施例的装置控制器请求主机更新元数据的情况的示图。
参照图1和图8,装置控制器110可以区分接收编程命令(编程CMD)的第一时段A和接收读取命令(读取CMD)的第二时段B。例如,装置控制器110在第一时段A期间可以不请求主机200更新元数据。例如,装置控制器110在第二时段B期间可以请求主机200更新元数据。因为在第一时段A期间待编程的数据和在第一内部存储器140中存储的第二物理地址PBA_C和第二状态信息PS_C被重复更新,所以装置控制器110在第一时段A期间可以不请求主机更新元数据。另一方面,由于在第二时段B期间在第一内部存储器140中存储的第二物理地址PBA_C和第二状态信息PS_C不被更新,所以装置控制器110在第二时段B期间可以请求主机200更新元数据。然而,这仅是说明性解释,并且示例实施例不限于此。本公开所属技术领域的普通技术人员可以设置用于更新在主机存储器220中存储的第一元数据META_H的各种策略和标准。
再次参照图7,主机控制器210可以接收元数据的更新请求并向主机存储器220提供更新后的第一元数据META_H。例如,主机控制器210可以使在主机存储器220中存储的第一元数据META_H无效,并将其更新为更新后的第一元数据META_H。将参照图9对数据编程操作进行说明性描述。
图9是示出根据示例实施例的数据存储系统的数据编程操作的示图。尽管为了便于解释,图9示出了省略了一些组成元件的操作的情况,但是将参照图1提供描述以补充这一点。
参照图9,第一内部存储器140可以包括第二逻辑地址LBA_C,第二物理地址PBA_C和第二状态信息PS_C。第二逻辑地址LBA_C可以包括多个逻辑地址,例如,逻辑地址LBA_1、逻辑地址LBA_2和逻辑地址LBA_3。第二物理地址PBA_C可以包括多个物理地址,例如,物理地址PBA_1、物理地址PBA_2、物理地址PBA_3和物理地址PBA_3'。第二状态信息PS_C可以包括多个状态信息,例如,状态信息PS_1、状态信息PS_2、状态信息PS_3和状态信息PS_3'。物理地址PBA_1、物理地址PBA_2和物理地址PBA_3可以分别与逻辑地址LBA_1、逻辑地址LBA_2和逻辑地址LBA_3对应,并且物理地址PBA_3'也可以与逻辑地址LBA_3对应。状态信息PS_1、状态信息PS_2和状态信息PS_3可以分别与逻辑地址LBA_1、逻辑地址LBA_2和逻辑地址LBA_3对应,并且状态信息PS_3'也可以与逻辑地址LBA_3对应。
参照图1和图9,装置控制器110可以接收对逻辑地址LBA_3的编程命令(编程CMD)。在接收到对逻辑地址LBA_3的编程命令(编程CMD)时,装置控制器110可以将逻辑地址LBA_3分配给未分配逻辑地址的物理地址PBA_3',并且可以对数据进行编程。此时,第一非易失性存储器120的与物理地址PBA_3'对应的存储区域的状态信息可以是状态信息PS_3'。装置控制器110可以更新在第一内部存储器140中包括的第二物理地址PBA_C和第二状态信息PS_C。也就是说,装置控制器110可以使状态信息PS_3和与逻辑地址LBA_3对应的现有的物理地址PBA_3无效,并且可以将物理地址PBA_3'和状态信息PS_3'分配给逻辑地址LBA_3。
当第二状态信息PS_C和与第二逻辑地址LBA_C对应的第二物理地址PBA_C被更新时,装置控制器110可以请求主机控制器210更新第一元数据META_H。例如,装置控制器110可以通过对物理地址PBA_3'和状态信息PS_3'进行加密来生成元数据META_3'。装置控制器110可以向主机控制器210提出包括元数据META_3'的元数据更新请求。主机控制器210更新元数据META_3'的处理可以与装置控制器110将物理地址PBA_3'和状态信息PS_3'分配给逻辑地址LBA_3的处理相同或基本相似。
尽管图7至图9未示出对在第二非易失性存储器130中存储的第一物理地址PBA_S和第一状态信息PS_S进行更新的处理,但是本公开所属技术领域中具有普通知识的人员可以按照与上述关于对在第一内部存储器140中包括的第二物理地址PBA_C和第二状态信息PS_C进行更新的处理相同或基本类似的方式来实现对在第二非易失性存储器130中存储的第一物理地址PBA_S和第一状态信息PS_S进行更新的处理。根据数据存储装置100的策略或便利性,可以适当地设置对在第二非易失性存储器130中存储的第一物理地址PBA_S和第一状态信息PS_S的更新。
图10是用于说明根据示例实施例的存储装置的数据垃圾收集(GC)的操作的示图。尽管为了便于解释,图10示出了省略一些组成元件的操作的情况,但是将参照图1提供描述以补充这一点。
参照图10,装置控制器110可以控制第一非易失性存储器120的垃圾收集操作。当在第一非易失性存储器120中执行垃圾收集操作时,第一非易失性存储器120的逻辑地址、物理地址和状态信息之间的关系中的至少一个发生改变。因此,装置控制器110可能需要更新第一内部存储器140中的第二物理地址PBA_C和第二状态信息PS_C。因为后续操作与参照图7至图9描述的数据存储装置100的编程操作类似,所以将不提供其描述。
图11是用于说明根据示例实施例的数据存储系统的示图。为了便于解释,将主要描述与上面参照图1至图10描述的内容的不同之处,并且将省略或简要说明以上描述的重复或类似内容。
参照图11,数据存储系统2可以包括数据存储装置100和主机200。
数据存储装置100可以包括装置控制器110、第一非易失性存储器120、第二非易失性存储器130、第一内部存储器140和第二内部存储器150。主机200可以包括主机控制器210、主机存储器220和用户接口230。
第一内部存储器140可以包括第二逻辑地址LBA_C、第二物理地址PBA_C,第二状态信息PS_C和第二签名信息SIG_C。根据一些示例实施例的第二签名信息SIG_C可以是与在主机存储器220中存储的第一元数据META_H的有效性相关的信息。例如,第二签名信息SIG_C可以是关于第二物理地址PBA_C和第二状态信息PS_C的更新的信息。也就是说,装置控制器110可以使用第二签名信息SIG_C来确定在主机存储器220中存储的第一元数据META_H的有效性。将参照图12描述第一元数据META_H。
图12是示出根据示例实施例的第一元数据、第二物理地址、第二状态信息、第三物理地址、第三状态信息、第一签名信息和第二签名信息之间的关系的示图。
参照图11和图12,根据一些示例实施例的数据存储装置100的装置控制器110可以对第二物理地址PBA_C、第二状态信息PS_C和第二签名信息SIG_C进行加密以生成第一元数据META_H。例如,装置控制器110可以对第二物理地址PBA_C、第二状态信息PS_C和第二签名信息SIG_C进行加扰以生成第一元数据META_H。另一方面,装置控制器110可以对第一元数据META_H进行解密以生成第三物理地址PBA_H、第三状态信息PS_H和第一签名信息SIG_H。例如,装置控制器110可以对第一元数据META_H进行解扰以生成第三物理地址PBA_H、第三状态信息PS_H和第一签名信息SIG_H。在下文中,将描述使用第一签名信息SIG_H和第二签名信息SIG_C的数据存储系统2的读取操作、编程操作和垃圾收集操作。
图13是用于说明根据示例实施例的数据存储系统的数据读取操作的示图。尽管为了便于解释,图13示出了省略了一些组成元件的操作的情况,但是将参照图11提供描述以补充这一点。此外,为了便于说明,将省略或简要说明以上描述的重复内容或类似内容。
参照图11和图13,主机控制器210可以接收数据读取请求(S410)。在接收到数据读取请求时,主机控制器210可以访问主机存储器220以加载第三逻辑地址LBA_H和第一元数据META_H。主机控制器210可以向数据存储装置100提出包括第三逻辑地址LBA_H和第一元数据META_H的数据读取命令(读取CMD)。可以向装置控制器110提出包括第三逻辑地址LBA_H和第一元数据META_H的数据读取命令(读取CMD)。
装置控制器110可以对在接收的数据读取命令中包括的第一元数据META_H进行解密,以生成第三物理地址PBA_H、第三状态信息PS_H和第一签名信息SIG_H(S420)。
装置控制器110可以访问第一内部存储器140以加载在第一内部存储器140中存储的第二签名信息SIG_C。根据一些示例实施例,装置控制器110可以仅加载在第一内部存储器140中存储的第二签名信息SIG_C,以检查第一元数据META_H的有效性,即,检查第三物理地址PBA_H和第三状态信息PS_H的有效性。
装置控制器110可以比较通过对第一元数据META_H进行解密生成的第一签名信息SIG_H是否与从第一内部存储器140加载的第二签名信息SIG_C相同(S430)。
当第一签名信息SIG_H与第二签名信息SIG_C相同时(S430,是),装置控制器110可以使用第三状态信息PS_H确定第一读取电平(S440)。例如,当第一签名信息SIG_H与第二签名信息SIG_C相同时,装置控制器110可以访问第二内部存储器150以确定读取电平确定信息DTI,并且可以使用第三状态信息PS_H和读取电平确定信息DTI来确定第一读取电平。装置控制器110可以使用确定的第一读取电平来读取在第一非易失性存储器120的第三物理地址PBA_H中存储的用户数据(用户数据)。例如,装置控制器110可以通过向第一非易失性存储器120的与第三物理地址PBA_H对应的字线施加确定的第一读取电平的电压来读取在第一非易失性存储器120的第三物理地址PBA_H中存储的用户数据(用户数据)。
当第一签名信息SIG_H与第二签名信息SIG_C彼此不同时(S430,否),装置控制器110可以访问第一内部存储器140以加载第二物理地址PBA_C和第二状态信息PS_C。装置控制器110可以使用加载的第二状态信息PS_C来确定第一读取电平,与上述处理相同或基本相似(S440)。装置控制器110可以使用确定的第一读取电平来读取在第一非易失性存储器120的第二物理地址PBA_C中存储的用户数据(用户数据)。例如,装置控制器110可以通过向第一非易失性存储器120的与第二物理地址PBA_C对应的字线施加确定的第一读取电平的电压来读取在第一非易失性存储器120的第二物理地址PBA_C中存储的用户数据(用户数据)。
装置控制器110可以向主机200提供读取的用户数据(用户数据),并且主机控制器210可以接收用户数据。将参照图14和图15对数据读取操作进行说明性描述。
图14是用于说明根据示例实施例的当第一签名信息和第二签名信息彼此相同时数据存储系统的数据读取操作的示图。图15是用于说明根据示例实施例的当第一签名信息和第二签名信息彼此不同时数据存储系统的数据读取操作的示图。尽管为了便于解释,图14和图15示出了省略一些组成元件的操作的情况,但是将参照图11提供描述以补充这一点。此外,为了便于解释,将省略或简要说明以上描述的重复或类似内容。
参照图11和图14,装置控制器110可以接收包括逻辑地址LBA_2和元数据META_2的数据读取命令(读取CMD)。
装置控制器110可以对接收的元数据META_2进行解密以生成物理地址PBA_2、状态信息PS_2和签名信息SIG_2。签名信息SIG_2可以是关于从元数据META_2中解密的物理地址PBA_2和状态信息PS_2的有效性的信息。装置控制器110可以访问第一内部存储器140以加载签名信息SIG_2。通过将通过对元数据META_2进行解密生成的签名信息SIG_2(例如,第一签名信息SIG_H)与从第一内部存储器140加载的签名信息SIG_2(例如,第二签名信息SIG_C)进行比较,装置控制器110可以判断通过对元数据META_2进行解密生成的签名信息SIG_2和从第一内部存储器140加载的签名信息SIG_2是相同的。在这种情况下,装置控制器110可以访问第二内部存储器150以加载关于状态信息PS_2的读取电平确定信息DTI。装置控制器110可以使用状态信息PS_2和读取电平确定信息DTI来确定第一读取电平。装置控制器110可以向第一非易失性存储器120提供第一读取电平的电压,以读取在物理地址PBA_2中存储的数据。
参照图11和图15,装置控制器110可以接收包括逻辑地址LBA_3和元数据META_3的数据读取命令(读取CMD)。
装置控制器110可以对接收的元数据META_3进行解密以生成物理地址PBA_3、状态信息PS_3和签名信息SIG_3。装置控制器110可以访问第一内部存储器140以加载签名信息SIG_3'。通过将通过对元数据META_3进行解密生成的签名信息SIG_3(即,第一签名信息SIG_H)与从第一内部存储器140加载的签名信息SIG_3'(例如,第二签名信息SIG_C)进行比较,装置控制器110可以判断签名信息SIG_3和签名信息SIG_3'彼此不同。在这种情况下,装置控制器110可以从第一内部存储器140加载与逻辑地址LBA_3对应的物理地址PBA_3'和状态信息PS_3'。装置控制器110可以访问第二内部存储器150以加载关于状态信息PS_3'的读取电平确定信息DTI。装置控制器110可以使用状态信息PS_3'和读取电平确定信息DTI来确定第一读取电平。装置控制器110可以向第一非易失性存储器120提供第一读取电平的电压,以读取在物理地址PBA_3'中存储的数据。
图16是用于说明根据示例实施例的数据存储系统的数据编程操作的示图。尽管为了便于解释,图16示出了省略了一些组成元件的操作的情况,但是将参照图11提供描述以补充这一点。此外,为了便于说明,将省略或简要说明以上描述的重复或类似内容。
参照图11和图16,主机控制器210可以接收编程请求(S510)并向数据存储装置100提出编程命令(编程CMD)。装置控制器110可以根据接收的编程命令(编程CMD)控制编程操作,并且可以更新在第一内部存储器140中存储的第二物理地址PBA_C、第二状态信息PS_C和第二签名信息SIG_C。装置控制器110可以请求主机200更新第一元数据META_H。当请求更新第一元数据META_H时,主机控制器210可以更新在主机存储器220中存储的第一元数据META_H。根据一些示例实施例,当第一元数据META_H被更新时,第一签名信息SIG_H和第二签名信息SIG_C可能是相同的。另一方面,当第二物理地址PBA_C和第二状态信息PS_C被更新,并且第一元数据META_H未被更新时,第一签名信息SIG_H和第二签名信息SIG_C可以彼此不同。
在一些示例实施例中,提供描述使得装置控制器110在更新在第一内部存储器140中存储的第二物理地址PBA_C和第二状态信息PS_C时还更新第二签名信息SIG_C,但是示例实施例是不限于此。本公开所属技术领域的普通技术人员可以设置用于更新第二签名信息SIG_C的各种方法和策略。
图17是用于说明根据示例实施例的数据存储装置的数据垃圾收集操作的示图。尽管为了便于解释,图17示出了省略了一些组成元件的操作的情况,但是将参照图11提供描述以补充这一点。此外,为了便于说明,将省略或简要说明以上描述的重复或类似内容。
参照图11和图17,装置控制器110可以控制第一非易失性存储器120的垃圾收集操作。当在第一非易失性存储器120中执行垃圾收集操作时,由于第一非易失性存储器120的逻辑地址、物理地址和状态信息之间的关系中的至少一个发生改变,所以装置控制器110可以更新第二物理地址PBA_C、第二状态信息PS_C和第二签名信息SIG_C。后续操作类似于参照图16描述的数据存储装置100的编程操作,因此将不提供其相关描述。
在结束详细描述时,本领域技术人员将理解,在基本上不脱离本公开的原理的情况下,可以对所公开的示例实施例进行许多变化和修改。因此,所公开的本发明构思的示例实施例仅用于一般性和描述性意义,而不是用于限制的目的。
Claims (20)
1.一种数据存储装置,包括:
第一非易失性存储器,其被配置为存储数据;以及
装置控制器,其被配置为控制所述第一非易失性存储器,
其中,所述装置控制器被配置为:
接收数据读取命令,所述数据读取命令包括所述第一非易失性存储器的第一逻辑地址、与所述第一逻辑地址对应的第一物理地址以及所述第一非易失性存储器的与所述第一物理地址对应的第一状态信息;
使用所述数据读取命令中包括的所述第一状态信息确定第一读取电平;以及
向所述第一非易失性存储器的与所述第一物理地址对应的第一字线施加所述第一读取电平的电压,以读取数据。
2.如权利要求1所述的数据存储装置,其中,所述数据读取命令中包括的所述第一物理地址和所述第一状态信息是经过加密的。
3.如权利要求2所述的数据存储装置,其中,
所述装置控制器被配置为:通过对所述数据读取命令中包括的经过加密的所述第一状态信息进行解密,来基于所述第一状态信息确定所述第一读取电平,并且
所述装置控制器被配置为:通过对经过加密的所述第一物理地址进行解密,来向所述第一非易失性存储器的与所述第一物理地址对应的所述第一字线施加所述第一读取电平的电压。
4.如权利要求1所述的数据存储装置,还包括:
第一内部存储器,其被配置为存储所述第一非易失性存储器的第二逻辑地址、与所述第二逻辑地址对应的第二物理地址以及所述第一非易失性存储器的与所述第二物理地址对应的第二状态信息;以及
第二非易失性存储器,其被配置为存储所述第一非易失性存储器的第三逻辑地址、与所述第三逻辑地址对应的第三物理地址以及所述第一非易失性存储器的与所述第三物理地址对应的第三状态信息,
其中,所述装置控制器还被配置为:
将所述第三逻辑地址、所述第三物理地址和所述第三状态信息的至少一部分分别加载并存储在所述第一内部存储器中作为所述第二逻辑地址、所述第二物理地址和所述第二状态信息;以及
向外部提供在所述第一内部存储器中存储的所述第二逻辑地址、所述第二物理地址和所述第二状态信息。
5.如权利要求4所述的数据存储装置,其中,所述第一非易失性存储器包括在闪速存储器的多级单元区域中,并且所述第二非易失性存储器包括在所述闪速存储器的单级单元中区域中。
6.如权利要求4所述的数据存储装置,其中,所述第一非易失性存储器是闪速存储器,并且所述第二非易失性存储器是磁阻存储器。
7.如权利要求1所述的数据存储装置,还包括:
第一内部存储器,其被配置为存储所述第一非易失性存储器的第二逻辑地址、与所述第二逻辑地址对应的第二物理地址以及所述第一非易失性存储器的与所述第二物理地址对应的第二状态信息。
8.如权利要求7所述的数据存储装置,其中,所述装置控制器还被配置为向外部提供在所述第一内部存储器中存储的所述第二逻辑地址、所述第二物理地址和所述第二状态信息。
9.如权利要求8所述的数据存储装置,其中,所述装置控制器还被配置为通过以下操作向外部提供在所述第一内部存储器中存储的所述第二逻辑地址、所述第二物理地址和所述第二状态信息:
对所述第二物理地址和所述第二状态信息进行加密以生成第一元数据;以及
向外部提供所述第二逻辑地址和所述第一元数据。
10.如权利要求7所述的数据存储装置,其中,所述第一内部存储器还被配置为存储关于所述第一逻辑地址、所述第一物理地址和所述第一状态信息的有效性的第一签名信息。
11.如权利要求1所述的数据存储装置,其中,所述数据读取命令还包括关于所述第一逻辑地址、所述第一物理地址和所述第一状态信息的有效性的第一签名信息。
12.如权利要求1所述的数据存储装置,还包括:
第二内部存储器,其被配置为存储由所述装置控制器使用的读取电平确定信息,以确定所述第一读取电平。
13.如权利要求12所述的数据存储装置,其中,所述装置控制器被配置为通过以下操作使用所述数据读取命令中包括的所述第一状态信息确定所述第一读取电平:
访问所述第二内部存储器以加载所述读取电平确定信息;以及
使用所述第一状态信息和所述读取电平确定信息确定所述第一读取电平。
14.一种数据存储装置,包括:
第一非易失性存储器,其被配置为存储数据;
第一内部存储器,其被配置为存储所述第一非易失性存储器的第一逻辑地址、与所述第一逻辑地址对应的第一物理地址以及所述第一非易失性存储器的与所述第一物理地址对应的第一状态信息;以及
装置控制器,其被配置为通过以下操作控制所述第一非易失性存储器和所述第一内部装置:
通过接收对所述第一非易失性存储器的数据编程命令对所述第一非易失性存储器中的数据进行编程;
更新在所述第一内部存储器中存储的所述第一物理地址和所述第一状态信息;以及
向外部提供更新后的第一物理地址和更新后的第一状态信息。
15.如权利要求14所述的数据存储装置,其中,所述装置控制器还被配置为:
接收包括第一元数据的数据读取命令;
对所述第一元数据进行解密,以生成所述第一非易失性存储器的第二物理地址和所述第一非易失性存储器的与所述第二物理地址对应的第二状态信息;
使用所述第二状态信息确定第一读取电平;以及
使用所述第一读取电平读取在所述第一非易失性存储器中存储的数据。
16.如权利要求15所述的数据存储装置,其中,由所述装置控制器向外部提供所述更新后的第一物理地址和所述更新后的第一状态信息包括:
由所述装置控制器对所述更新后的第一物理地址和所述更新后的第一状态信息进行加密,以生成第二元数据。
17.如权利要求14所述的数据存储装置,其中,由所述装置控制器更新在所述第一内部存储器中存储的所述第一物理地址和所述第一状态信息包括:
生成关于是否更新所述第一物理地址和所述第一状态信息的第一签名信息。
18.如权利要求14所述的数据存储装置,还包括:
第二内部存储器,其被配置为存储指示所述第一非易失性存储器上的所述第一状态信息和第一读取电平之间的关系的读取电平确定信息。
19.如权利要求14所述的数据存储装置,其中,所述装置控制器还被配置为:
在接收所述数据读取命令的第一时段期间向外部提供所述更新后的第一物理地址和所述更新后的第一状态信息;以及
在接收所述数据编程命令的第二时段期间不向外部提供所述更新后的第一物理地址和所述更新后的第一状态信息。
20.如权利要求19所述的数据存储装置,其中,由装置控制器在所述第一时段期间向外部提供所述更新后的第一物理地址和所述更新后的第一状态信息包括:
对所述更新后的第一物理地址和所述更新后的第一状态信息进行加密,以生成第二元数据;以及
向外部提供所述第二元数据。
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1020180134091A KR102567108B1 (ko) | 2018-11-05 | 2018-11-05 | 데이터 스토리지 디바이스 및 데이터 스토리지 시스템 |
KR10-2018-0134091 | 2018-11-05 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN111142782A true CN111142782A (zh) | 2020-05-12 |
Family
ID=68468575
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201910999765.3A Pending CN111142782A (zh) | 2018-11-05 | 2019-10-21 | 数据存储装置及数据存储系统 |
Country Status (4)
Country | Link |
---|---|
US (1) | US11573733B2 (zh) |
EP (1) | EP3647959A1 (zh) |
KR (1) | KR102567108B1 (zh) |
CN (1) | CN111142782A (zh) |
Families Citing this family (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US11263124B2 (en) | 2018-08-03 | 2022-03-01 | Micron Technology, Inc. | Host-resident translation layer validity check |
US11226907B2 (en) | 2018-12-19 | 2022-01-18 | Micron Technology, Inc. | Host-resident translation layer validity check techniques |
US11226894B2 (en) * | 2018-12-21 | 2022-01-18 | Micron Technology, Inc. | Host-based flash memory maintenance techniques |
US11100007B2 (en) | 2019-05-28 | 2021-08-24 | Micron Technology, Inc. | Memory management unit (MMU) for accessing borrowed memory |
US11061819B2 (en) | 2019-05-28 | 2021-07-13 | Micron Technology, Inc. | Distributed computing based on memory as a service |
US11334387B2 (en) * | 2019-05-28 | 2022-05-17 | Micron Technology, Inc. | Throttle memory as a service based on connectivity bandwidth |
US11138108B2 (en) * | 2019-08-22 | 2021-10-05 | Micron Technology, Inc. | Logical-to-physical map synchronization in a memory device |
US11556481B2 (en) * | 2019-08-29 | 2023-01-17 | Micron Technology, Inc. | Increased efficiency obfuscated logical-to-physical map management |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102576333A (zh) * | 2009-10-05 | 2012-07-11 | 马维尔国际贸易有限公司 | 非易失性存储器中的数据高速缓存 |
US20130124784A1 (en) * | 2011-11-15 | 2013-05-16 | Samsung Electronics Co., Ltd. | Memory system comprising nonvolatile memory device and related method of operation |
CN107015920A (zh) * | 2015-12-30 | 2017-08-04 | 三星电子株式会社 | 存储设备和存储设备的操作方法 |
US20180039429A1 (en) * | 2016-08-04 | 2018-02-08 | Intel Corporation | Apparatus and method for programming non-volatile memory using a multi-cell storage cell group |
CN108280033A (zh) * | 2017-01-04 | 2018-07-13 | 爱思开海力士有限公司 | 数据存储设备及其操作方法 |
Family Cites Families (13)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US8832354B2 (en) | 2009-03-25 | 2014-09-09 | Apple Inc. | Use of host system resources by memory controller |
KR101030617B1 (ko) * | 2010-04-22 | 2011-04-20 | 주식회사 하이닉스반도체 | 반도체 메모리 장치 및 그 동작 방법 |
US9563382B2 (en) | 2014-06-05 | 2017-02-07 | Sandisk Technologies Llc | Methods, systems, and computer readable media for providing flexible host memory buffer |
KR20160005264A (ko) | 2014-07-04 | 2016-01-14 | 삼성전자주식회사 | 저장 장치 및 그것의 읽기 방법들 |
US10007433B2 (en) | 2015-01-21 | 2018-06-26 | Sandisk Technologies Llc | Systems and methods for performing adaptive host memory buffer caching of transition layer tables |
US10025535B2 (en) | 2015-03-27 | 2018-07-17 | Intel Corporation | Measurement and reporting of the latency of input and output operations by a solid state drive to a host |
US10025747B2 (en) * | 2015-05-07 | 2018-07-17 | Samsung Electronics Co., Ltd. | I/O channel scrambling/ECC disassociated communication protocol |
KR20170016205A (ko) | 2015-08-03 | 2017-02-13 | 삼성전자주식회사 | 노화 수준에 기초하여 환경 파라미터의 값을 변경하는 스토리지 장치, 및 그것을 관리하기 위한 방법 |
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 |
KR20170090262A (ko) * | 2016-01-28 | 2017-08-07 | 에스케이하이닉스 주식회사 | 메모리 시스템 및 이의 동작 방법 |
US10007311B2 (en) | 2016-08-15 | 2018-06-26 | Sandisk Technologies Llc | Adaptive temperature and memory parameter throttling |
KR101866066B1 (ko) * | 2016-10-10 | 2018-06-08 | 주식회사 한화 | 특수형태의 전기식 화약 저항 측정장치 |
US10542089B2 (en) * | 2017-03-10 | 2020-01-21 | Toshiba Memory Corporation | Large scale implementation of a plurality of open channel solid state drives |
-
2018
- 2018-11-05 KR KR1020180134091A patent/KR102567108B1/ko active IP Right Grant
-
2019
- 2019-05-16 US US16/414,129 patent/US11573733B2/en active Active
- 2019-10-21 CN CN201910999765.3A patent/CN111142782A/zh active Pending
- 2019-11-05 EP EP19207036.5A patent/EP3647959A1/en active Pending
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102576333A (zh) * | 2009-10-05 | 2012-07-11 | 马维尔国际贸易有限公司 | 非易失性存储器中的数据高速缓存 |
US20130124784A1 (en) * | 2011-11-15 | 2013-05-16 | Samsung Electronics Co., Ltd. | Memory system comprising nonvolatile memory device and related method of operation |
CN107015920A (zh) * | 2015-12-30 | 2017-08-04 | 三星电子株式会社 | 存储设备和存储设备的操作方法 |
US20180039429A1 (en) * | 2016-08-04 | 2018-02-08 | Intel Corporation | Apparatus and method for programming non-volatile memory using a multi-cell storage cell group |
CN108280033A (zh) * | 2017-01-04 | 2018-07-13 | 爱思开海力士有限公司 | 数据存储设备及其操作方法 |
Also Published As
Publication number | Publication date |
---|---|
US20200142631A1 (en) | 2020-05-07 |
KR102567108B1 (ko) | 2023-08-14 |
EP3647959A1 (en) | 2020-05-06 |
US11573733B2 (en) | 2023-02-07 |
KR20200051141A (ko) | 2020-05-13 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US11573733B2 (en) | Data storage device and data storage system | |
US10936252B2 (en) | Storage system capable of invalidating data stored in a storage device thereof | |
US10983722B2 (en) | Data storage device using host memory buffer and method of operating the same | |
KR102098697B1 (ko) | 비휘발성 메모리 시스템, 이를 포함하는 시스템 및 상기 비휘발성 메모리 시스템의 적응적 사용자 저장 영역 조절 방법 | |
US20140129761A1 (en) | Non-volatile memory device and host device configured to communication with the same | |
US11775423B2 (en) | Storage devices that support cached physical address verification and methods of operating same | |
KR20200100955A (ko) | 메모리 시스템의 맵 데이터 관리 방법 및 장치 | |
CN114255813A (zh) | 存储装置、主机装置、包括两者的电子装置及其操作方法 | |
KR20210046377A (ko) | 마이그레이션 동작을 위한 메모리 시스템 및 메모리 시스템의 동작방법 | |
US11403011B1 (en) | Host memory buffer allocation management | |
US11556252B2 (en) | Storage device and method of operating the same | |
US11657000B2 (en) | Controller and memory system including the same | |
US20220164119A1 (en) | Controller, and memory system and data processing system including the same | |
KR20200015185A (ko) | 데이터 저장 장치 및 그것의 동작 방법 | |
US11822800B2 (en) | Storage system including host and storage device and operation method thereof | |
US11520896B2 (en) | Storage device | |
US20240176747A1 (en) | Storage device for loading map segment and sending map segment to external device, and operating method thereof | |
US11288007B2 (en) | Virtual physical erase of a memory of a data storage device | |
US20230236737A1 (en) | Storage Controller Managing Different Types Of Blocks, Operating Method Thereof, And Operating Method Of Storage Device Including The Same | |
KR20240077059A (ko) | 맵 세그먼트를 로드하고 외부 장치로 전송하는 스토리지 장치 및 그 동작 방법 | |
KR20240080584A (ko) | 패리티 동작의 지연을 감소시킨 스토리지 장치, 컨트롤러 및 컨트롤러의 동작 방법 | |
KR20240038418A (ko) | 메모리 컨트롤러 및 이를 포함하는 저장 장치 | |
KR20220159270A (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 |