CN113467709A - 存储器系统及其操作方法 - Google Patents
存储器系统及其操作方法 Download PDFInfo
- Publication number
- CN113467709A CN113467709A CN202010936694.5A CN202010936694A CN113467709A CN 113467709 A CN113467709 A CN 113467709A CN 202010936694 A CN202010936694 A CN 202010936694A CN 113467709 A CN113467709 A CN 113467709A
- Authority
- CN
- China
- Prior art keywords
- write
- operation information
- identity
- logical addresses
- information
- 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.)
- Granted
Links
- 230000015654 memory Effects 0.000 title claims abstract description 115
- 238000011017 operating method Methods 0.000 title description 4
- 238000000034 method Methods 0.000 claims abstract description 27
- 230000004044 response Effects 0.000 claims description 27
- 238000010586 diagram Methods 0.000 description 22
- 239000000872 buffer Substances 0.000 description 14
- 238000012545 processing Methods 0.000 description 10
- 230000006870 function Effects 0.000 description 5
- 230000008569 process Effects 0.000 description 5
- 230000003252 repetitive effect Effects 0.000 description 5
- 102100030341 Ethanolaminephosphotransferase 1 Human genes 0.000 description 4
- 101000938340 Homo sapiens Ethanolaminephosphotransferase 1 Proteins 0.000 description 4
- 230000008859 change Effects 0.000 description 3
- 239000007787 solid Substances 0.000 description 3
- 239000003990 capacitor Substances 0.000 description 1
- 238000012937 correction Methods 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
- 229910000679 solder Inorganic materials 0.000 description 1
- 230000003936 working memory Effects 0.000 description 1
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/0223—User address space allocation, e.g. contiguous or non contiguous base addressing
- G06F12/023—Free address space management
- G06F12/0238—Memory management in non-volatile memory, e.g. resistive RAM or ferroelectric memory
- G06F12/0246—Memory management in non-volatile memory, e.g. resistive RAM or ferroelectric memory in block erasable memory, e.g. flash memory
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F12/00—Accessing, addressing or allocating within memory systems or architectures
- G06F12/02—Addressing or allocation; Relocation
- G06F12/0223—User address space allocation, e.g. contiguous or non contiguous base addressing
- G06F12/023—Free address space management
- G06F12/0238—Memory management in non-volatile memory, e.g. resistive RAM or ferroelectric 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/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/06—Addressing a physical block of locations, e.g. base addressing, module addressing, memory dedication
- G06F12/0646—Configuration or reconfiguration
-
- 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/0802—Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches
- G06F12/0806—Multiuser, multiprocessor or multiprocessing cache systems
- G06F12/0815—Cache consistency protocols
- G06F12/0831—Cache consistency protocols using a bus scheme, e.g. with bus monitoring or watching means
- G06F12/0833—Cache consistency protocols using a bus scheme, e.g. with bus monitoring or watching means in combination with broadcast means (e.g. for invalidation or updating)
-
- 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
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/70—Protecting specific internal or peripheral components, in which the protection of a component leads to protection of the entire computer
- G06F21/78—Protecting specific internal or peripheral components, in which the protection of a component leads to protection of the entire computer to assure secure storage of data
- G06F21/79—Protecting specific internal or peripheral components, in which the protection of a component leads to protection of the entire computer to assure secure storage of data in semiconductor storage media, e.g. directly-addressable memories
-
- 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/0602—Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
- G06F3/062—Securing storage systems
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0628—Interfaces specially adapted for storage systems making use of a particular technique
- G06F3/0629—Configuration or reconfiguration of storage systems
- G06F3/0631—Configuration or reconfiguration of storage systems by allocating resources to storage systems
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0628—Interfaces specially adapted for storage systems making use of a particular technique
- G06F3/0638—Organizing or formatting or addressing of data
- G06F3/0644—Management of space entities, e.g. partitions, extents, pools
-
- 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
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C16/00—Erasable programmable read-only memories
- G11C16/02—Erasable programmable read-only memories electrically programmable
- G11C16/06—Auxiliary circuits, e.g. for writing into memory
- G11C16/10—Programming or data input circuits
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2212/00—Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
- G06F2212/10—Providing a specific technical effect
- G06F2212/1016—Performance improvement
- G06F2212/1024—Latency reduction
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2212/00—Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
- G06F2212/10—Providing a specific technical effect
- G06F2212/1032—Reliability improvement, data loss prevention, degraded operation etc
-
- 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/7203—Temporary buffering, e.g. using volatile buffer or dedicated buffer blocks
-
- 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/7205—Cleaning, compaction, garbage collection, erase control
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)
- Computer Hardware Design (AREA)
- Software Systems (AREA)
- General Health & Medical Sciences (AREA)
- Bioethics (AREA)
- Health & Medical Sciences (AREA)
- Techniques For Improving Reliability Of Storages (AREA)
Abstract
本公开的实施例涉及存储器系统及其操作方法。存储器系统包括非易失性存储器设备以及写入相同管理器,写入相同管理器被配置为在非易失性存储器设备上执行写入相同操作,其中写入相同管理器通过将第一写入相同操作的第一操作信息与第二写入相同操作的第二操作信息进行比较,来将第一写入相同操作和第二写入相同操作合并。
Description
相关申请的交叉引用
本申请要求于2020年3月31日向韩国知识产权局提交的韩国专利申请号10-2020-0038770的优先权,其全部内容通过引用并入本文。
技术领域
各个实施例总体上涉及存储器系统,并且更具体地涉及包括非易失性存储器设备的存储器系统。
背景技术
存储器系统可以被配置为响应于来自主机设备的写入请求而存储由主机设备提供的数据。而且,存储器系统可以被配置为响应于来自主机设备的读取请求而将所存储的数据提供给主机设备。主机设备是能够处理数据的电子装置,并且可以包括计算机、数码相机或移动电话。存储器系统可以被嵌入在主机设备中以进行操作,或者可以按照可分离的形式被制备并且被连接至主机设备来进行操作。
发明内容
本公开的实施例提供了能够高效地执行写入相同操作的存储器系统及其操作方法。
在一个实施例中,存储器系统可以包括非易失性存储器设备;以及写入相同管理器,被配置为在非易失性存储器设备上执行写入相同操作。写入相同管理器可以通过将第一写入相同操作的第一操作信息与第二写入相同操作的第二操作信息进行比较,来将第一写入相同操作和第二写入相同操作合并。
在一个实施例中,存储器系统的操作方法可以包括:将第一写入相同操作的第一操作信息与第二写入相同操作的第二操作信息进行比较;以及根据比较结果来确定是否将第一写入相同操作和第二写入相同操作合并。
在一个实施例中,存储器系统可以包括非易失性存储器设备;写入相同管理器,被配置为在非易失性存储器设备上执行写入相同操作;以及加密单元,被配置为在写入相同操作被执行时,将与连续逻辑地址分别对应的重复模式加密为加密模式。
在一个实施例中,控制器的操作方法可以包括:接收针对单个写入相同操作的模式数据和第一序列以及针对另一单个写入相同操作的模式数据和第二序列,第一序列和第二序列中的每一者具有连续的逻辑地址;对模式数据进行加密;以及当第一序列和第二序列中的所有逻辑地址连续时,控制存储器装置来执行单个写入相同操作,单个写入相同操作将经加密的数据存储到一存储区域中,该存储区域与合并在第一序列和第二序列内的每个逻辑地址相对应。
附图说明
图1是图示了根据本公开的一个实施例的存储器系统的框图。
图2是图示了根据本公开的一个实施例的执行写入相同操作的方法的图。
图3是图示了根据本公开的一个实施例的加密单元的加密操作的图。
图4A至图4C是图示了根据本公开的一个实施例的由写入相同管理器合并写入相同操作的方法的图。
图5A和图5B是图示了根据本公开的一个实施例的其中写入相同管理器不能合并写入相同操作的情况的图。
图6是图示了根据本公开的一个实施例的由写入相同管理器执行写入相同操作的方法的流程图。
图7是图示了根据本公开的一个实施例的由写入相同管理器合并写入相同操作的方法的流程图。
图8是图示了根据本公开的一个实施例的包括固态驱动装置(SSD)的数据处理系统的图。
图9是图示了根据本公开的一个实施例的包括存储器系统的数据处理系统的图。
图10是图示了根据本公开的一个实施例的包括存储器系统的数据处理系统的图。
图11是图示了根据本公开的一个实施例的包括存储器系统的网络系统的图。
图12是图示了根据本公开的一个实施例的被包括在存储器系统中的非易失性存储器装置的框图。
具体实施方式
将通过稍后将结合附图详细描述的实施例来描述本公开的优点和特征以及实现它们的方法。然而,本公开不限于本文描述的实施例,并且可以以其他形式实现。本实施例被提供,以在本公开所属领域的普通技术人员可以容易地实现本公开的技术精神的程度上详细描述本公开。
在附图中,本公开的实施例不限于附图中图示的特定形式,并且为了清楚起见已被放大。说明书中已使用了特定术语,但是这些术语仅用于描述本公开,而不是限制术语的含义或权利要求中所写的本公开的权利范围。
在说明书中,表述“和/或”被使用为意指包括在前面和后面列出的元素中的至少一个。此外,表述“连接/耦合”被使用为意指包括一个元素直接连接至另一元素以及两个元素通过另一元素间接连接。在本说明书中,除非另外特别说明,否则单数形式包括复数形式。此外,在说明书中使用的诸如“包括或包含”和/或“具有或含有”的术语是指除了所描述的元素、步骤、操作和/或装置之外,还存在或增加了一个或多个其他元素、步骤、操作和/或装置。
如本公开中所使用的,术语“电路”、“单元”、“组件”、“模块”等是指硬件或硬件和软件/固件的组合。更具体地,任何这样的术语可以指代以下任何或全部:(a)包括(多个)集成电路的纯硬件电路实现方式(例如,仅在模拟和/或数字电路中的实现方式),以及(b)电路和软件(和/或固件)的组合,例如(根据需要):(i)(多个)处理器的组合或(ii)协同工作来使得诸如移动电话或服务器的设备执行各种功能的(多个)处理器/软件的各部分(包括(多个)数字信号处理器、软件和(多个)存储器),和/或(c)即使软件或固件实际上不存在,也需要软件或固件才能操作的电路(例如,微处理器或微处理器一部分)。作为另一示例,如在本申请中使用的,以上任何术语也可以仅覆盖处理器(或多个处理器)或处理器的一部分及其(或它们)随附软件和/或固件的实现。
在下文中,参考附图来详细描述实施例。
图1是图示了根据本公开的一个实施例的存储器系统100的框图。
存储器系统100可以被配置为响应于来自主机设备的写入请求而存储数据(例如,由外部主机设备提供的数据)。而且,存储器系统100可以被配置为响应于来自主机设备的读取请求而将所存储的数据提供给例如主机设备。
存储器系统100可以被配置作为,但不限于:个人计算机存储卡国际协会(PCMCIA)卡、紧凑型闪存(CF)卡、智能媒体卡、记忆棒、各种多媒体卡(例如,MMC、eMMC、RS-MMC和MMC-micro)、安全数字(SD)卡(例如,SD、Mini-SD和Micro-SD)、通用闪速存储(UFS)或固态驱动装置(SSD)。
存储器系统100可以包括控制器110和非易失性存储器设备120。
控制器110可以控制存储器系统100的整体操作。控制器110可以响应于来自主机设备的指令来控制非易失性存储器设备120以便执行各种操作(例如,前台操作)。前台(foreground)操作可以包括以下操作:响应于来自主机设备的指令(即,写入请求和读取请求),将数据写入非易失性存储器设备120中以及从非易失性存储器设备120中读取数据。
而且,控制器110可以控制非易失性存储器设备120,以便独立于主机设备而执行内部必要的后台操作。后台操作可以包括针对非易失性存储器设备120的损耗均衡操作、垃圾收集操作、擦除操作、读取回收(re-claim)操作以及刷新操作。类似于前台操作,后台操作可以包括以下操作:将数据写入非易失性存储器设备120中以及从非易失性存储器设备120中读取数据。
控制器110可以执行写入相同(write-same)操作。例如,控制器110可以响应于由主机设备传输的写入相同命令来执行写入相同操作。写入相同入命令可以是这样的命令,主机设备通过该命令来指令控制器110以重复地存储特定模式(pattern)以用于连续逻辑地址。模式可以是与单个逻辑地址相对应的数据单元。如稍后所述,模式可以由控制器110根据与写入相同命令一起提供的模式数据而生成。
控制器110可以包括写入相同管理器111、加密单元112和写入单元113。
写入相同管理器111可以响应于写入相同命令而生成操作信息。操作信息可以包括模式数据以及关于连续逻辑地址的信息,写入相同操作将在模式数据上执行。例如,操作信息可以包括模式数据、连续逻辑地址的起始逻辑地址以及连续逻辑地址的数目。
写入相同管理器111可以包括操作信息存储器INFM,操作信息存储在操作信息存储器INFM中。操作信息存储器INFM可以存储尚未执行的一个或多个写入相同操作的操作信息。操作信息存储器INFM可以以队列结构形式来管理。
写入相同管理器111可以参考操作信息存储器INFM,将第一写入相同操作的第一操作信息和第二写入相同操作的第二操作信息进行比较,并且可以将第一写入相同操作与第二写入相同操作合并。
在一些实施例中,当第一操作信息的模式数据和第二操作信息的模式数据等同、并且在第一操作信息和第二操作信息两者中的所有逻辑地址连续时,写入相同管理器111可以将第一写入相同操作和第二写入相同操作合并。在一些实施例中,当写入相同操作的操作信息中的每个操作信息的模式数据相同、并且写入相同操作的操作信息的所有逻辑地址连续时,写入相同管理器111可以将两个或更多个写入相同操作合并。相反,当第一操作信息的模式数据和第二操作信息的模式数据不相同、或者第一操作信息和第二操作信息两者中的所有逻辑地址不连续时,写入相同管理器111可以确定不将第一写入相同操作和第二写入相同操作合并。
当将第一写入相同入操作和第二写入相同入操作合并时,写入相同管理器111可以生成经更新的操作信息。写入相同管理器111可以利用经更新的操作信息,来更新在操作信息存储器INFM中的第一写入相同操作的第一操作信息和第二写入相同操作的第二操作信息中的在前(preceding)信息,并且可以从操作信息存储器INFM移除第一操作信息和第二操作信息中的后续(subsequent)信息。
在一些实施例中,在响应于写入相同命令而将操作信息存储在操作信息存储器INFM中之后,写入相同管理器111可以向主机设备传输对写入相同命令的响应,尽管对应的写入相同操作尚未完成。
写入相同管理器111可以控制加密单元112和写入单元113,以便执行写入相同操作。
加密单元112可以基于对应的逻辑地址来对与逻辑地址相对应的模式进行加密,并且可以生成加密模式。加密模式可以包括错误检查数据(例如,奇偶校验数据和CRC)。
在一个实施例中,加密单元112可以基于对应的逻辑地址,将与连续逻辑地址分别对应的重复模式一次加密为加密模式。
加密单元112例如可以包括高级加密标准(AES)引擎。
写入单元113可以在非易失性存储器设备120中存储由加密单元112加密过的模式。
在一些实施例中,写入相同管理器111可以控制加密单元112的加密操作与写入单元113的写入操作并行地执行。具体地,写入相同管理器111可以控制加密单元112在写入单元113将加密模式存储在非易失性存储器设备120中的期间,生成后续加密模式。
非易失性存储器设备120可以在控制器110的控制下存储由控制器110传输的数据,并且可以读取存储在其中的数据并将所读取的数据传输到控制器110。
非易失性存储器设备120可以包括但不限于:诸如NAND闪存或NOR闪存的闪速存储设备、铁电随机存取存储器(FeRAM)、相变随机存取存储器(PCRAM)、磁性随机存取存储器(MRAM)或电阻式随机存取存储器(ReRAM)。
非易失性存储器设备120可以包括一个或多个平面、一个或多个存储器芯片、一个或多个存储器管芯或一个或多个存储器封装。
图2是图示了根据一个实施例的执行写入相同操作的方法的图。
参考图2,控制器110可以从主机设备10接收写入相同命令WSCMD。写入相同命令WSCMD可以包括模式数据PTD、起始逻辑地址SLA以及从起始逻辑地址SLA开始的连续逻辑地址的计数CNT。
写入相同管理器111可以响应于写入相同命令WSCMD而将操作信息INF存储在操作信息存储器INFM中。操作信息INF可以包括模式数据PTD、起始逻辑地址SLA和计数CNT。在将操作信息INF存储在操作信息存储器INFM中之后,写入相同管理器111可以立即向主机设备10传输响应RSP,尽管写入相同操作尚未完成。主机设备10可以基于由写入相同管理器111传输的响应RSP来确定写入相同操作已完成。即,在保证写入相同操作的可靠性的情况下,通过向主机设备10传输快速响应RSP,针对主机设备10的写入相同操作的响应速度可以被改进。
被存储在操作信息存储器INFM中的操作信息INF可以被保护,即使突然断电发生。例如,当突然断电发生时,写入相同管理器111可以使用所保留的电力,来将操作信息存储器INFM中所存储的操作信息INF移动到非易失性存储器设备120。对于另一示例,操作信息存储器INFM可以被配置作为非易失性存储器。
写入相同管理器111可以在存储操作信息INF之后立即执行与操作信息INF相对应的写入相同操作。备选地,写入相同管理器111可以在空闲时间中执行写入相同操作作为后台操作。备选地,写入相同管理器111可以基于各种条件(例如,等待时间和操作信息存储器INFM中所存储的操作信息INF的计数)来执行写入相同操作。
写入相同管理器111可以控制加密单元112和写入单元113,以便基于操作信息INF来执行写入相同操作。具体地,写入相同管理器111可以基于模式数据PTD,生成具有给定大小的模式PT。例如,模式PT的给定大小可以是512字节。例如,给定大小可以是与由主机设备10所识别的单个逻辑地址相对应的数据的大小。当具有给定大小的模式数据PTD被传输时,写入相同管理器111可以立即使用模式数据PTD作为模式PT。当模式数据PTD小于给定大小时,写入相同管理器111可以通过将模式数据PTD重叠来生成具有给定大小的模式PT。
写入相同管理器111可以控制加密单元112基于模式PT以及连续逻辑地址来生成经加密的数据ENDT,连续逻辑地址与计数CNT相对应并且从起始逻辑地址SLA开始。
此外,写入相同管理器111可以控制写入单元113将经加密的数据ENDT存储在非易失性存储器设备120的存储器区域MR1中。存储器区域MR1的物理地址可以被映射到与计数CNT相对应、并且从起始逻辑地址SLA开始的连续逻辑地址。当经加密的数据ENDT在存储器区域MR1中的存储完成时,写入相同操作可以终止。
写入相同管理器111可以控制加密单元112和写入单元113并行地操作。具体地,在写入单元113将经加密的数据ENDT存储在非易失性存储器设备120中的期间,写入相同管理器111可以控制加密单元112生成后续经加密的数据ENDT。即,写入相同管理器111可以异步地控制加密单元112和写入单元113,从而进一步改进写入相同操作的性能。
在一些实施例中,写入相同管理器111可以将模式PT而不是模式数据PTD存储为操作信息INF。
图3是图示了根据一个实施例的加密单元112的加密操作的图。
参考图3,加密单元112可以通过在重复模式PT上执行加密操作来生成经加密的数据ENDT。
为了生成经加密的数据ENDT,加密单元112可以从写入相同管理器111接收模式PT、起始逻辑地址SLA和计数CNT。计数CNT可以是需要重叠的模式PT的数目。换言之,计数CNT可以是从起始逻辑地址SLA开始的连续逻辑地址LA的数目。
根据一个实施例,当接收到起始逻辑地址SLA“1”和计数CNT“10”时,写入相同管理器111可以确定从“1”到“10”的连续逻辑地址LA。逻辑地址LA可以分别对应于重复模式PT。
在一些实施例中,加密单元112可以从写入相同管理器111接收模式PT和连续逻辑地址LA。
加密单元112可以生成加密模式EPT1至EPT10,作为使用逻辑地址LA对重复模式PT进行加密的结果。加密单元112可以使用相应的对应逻辑地址LA来对模式PT进行加密。例如,加密单元112可以通过使用起始逻辑地址SLA“1”对模式PT进行加密,生成加密模式EPT1。在这种情况下,如果模式PT尽管是相同的模式PT,但是具有不同的逻辑地址LA,则加密单元112可以生成不同的加密模式。即,加密模式EPT1至EPT10可以具有不同的值。
加密模式EPT1到EPT10中的每一者可以包括错误检查数据(例如,奇偶校验数据和CRC)。
与对具有大容量的数据进行划分、并且对经划分的数据进行若干次加密时相比,加密单元112在对数据进行一次加密时可以表现出更好的性能。具体地,与对一个逻辑地址执行加密操作、输出加密模式、对下一逻辑地址执行加密操作并且然后输出加密模式的方法相比,对连续逻辑地址连续地执行加密操作并一起输出加密模式的方法可以表现出更好的性能。
就其硬件特性而言,加密单元112一次只能对连续逻辑地址执行加密操作。
在一些实施例中,加密单元112可以一次对多达给定最大计数个逻辑地址执行加密操作。因此,如果写入相同操作在比给定最大计数更多数目个连续逻辑地址上执行,则加密单元112可以在最大计数个连续逻辑地址上重复加密操作。
因此,如稍后将描述的,通过使用加密单元112的特性来将不同写入相同操作合并,写入相同管理器111可以更高效地执行写入相同操作。
图4A至图4C是图示了根据一个实施例的由写入相同管理器111将写入相同操作合并的方法的图。图4A至图4C图示了一个示例,其中彼此不同的后续操作信息片段NINF1至NINF3各自相对于相同的在前操作信息WINF而被合并。
参考图4A,在前操作信息WINF可以被预先存储在操作信息存储器INFM中,并且可以是针对尚未执行的写入相同操作(在下文中被称为“在前写入相同操作”)。
写入相同管理器111可以响应于写入相同命令而将针对后续写入相同操作的后续操作信息NINF1存储在操作信息存储器INFM中。写入相同管理器111可以通过将后续操作信息NINF1与在前操作信息WINF进行比较,确定是否将后续写入相同操作与在前写入相同操作合并。
具体地,在前操作信息WINF可以包括模式PT1、起始逻辑地址SLA“1”和计数CNT“2”。因此,在前操作信息WINF可以是针对逻辑地址LA“1”和“2”。
后续操作信息NINF1可以包括模式PT1、起始逻辑地址SLA“3”和计数CNT“3”。因此,后续操作信息NINF1可以是针对从“3”到“5”的逻辑地址LA。
写入相同管理器111可以确定在前操作信息WINF和后续操作信息NINF1包括相同的模式PT1。而且,写入相同管理器111可以确定在前操作信息WINF和后续操作信息NINF1两者中从“1”到“5”的所有逻辑地址LA是连续的。
因此,写入相同管理器111可以确定将在前写入相同操作和后续写入相同操作合并,并且可以更新在前操作信息WINF。经更新的未决(pending)操作信息UINF1可以包括相同的模式PT1、可以包括在前操作信息WINF和后续操作信息NINF1中的所有逻辑地址被合并到其中的逻辑地址之中的最前逻辑地址LA“1”以作为起始逻辑地址SLA,并且可以包括经合并的逻辑地址的计数“5”作为计数CNT。
参考图4B,在其中在前操作信息WINF已被存储在操作信息存储器INFM中的状态下,响应于写入相同命令,写入相同管理器111可以将针对后续写入相同操作的后续操作信息NINF2存储在操作信息存储器INFM中。写入相同管理器111可以通过将后续操作信息NINF2和在前操作信息WINF进行比较,确定是否将后续写入相同操作与在前写入相同操作合并。
具体地,后续操作信息NINF2可以包括模式PT1、起始逻辑地址SLA“2”和计数CNT“3”。因此,后续操作信息NINF2可以是针对从“2”到“4”的逻辑地址LA。
写入相同管理器111可以确定在前操作信息WINF和后续操作信息NINF2包括相同的模式PT1。而且,写入相同管理器111可以确定在前操作信息WINF和后操作信息NINF2两者中从“1”到“4”的所有逻辑地址LA是连续的。即,写入相同管理器111可以确定经合并的逻辑地址是连续的,尽管在前操作信息WINF的逻辑地址LA与后续操作信息NINF2的逻辑地址LA中的至少一些逻辑地址重叠。
因此,写入相同管理器111可以确定将在前写入相同操作和后续写入相同操作合并,并且可以更新在前操作信息WINF。经更新的未决操作信息UINF2可以包括相同的模式PT1、可以包括在前操作信息WINF和后续操作信息NINF2中的所有逻辑地址均被合并到其中的逻辑地址之中的最前逻辑地址LA“1”以作为起始逻辑地址SLA、并且可以包括经合并的逻辑地址的计数“4”作为计数CNT。
参考图4C,在其中在前操作信息WINF已被存储在操作信息存储器INFM中的状态下,写入相同管理器111可以响应于写入相同命令,将针对后续写入相同操作的后续操作信息NINF3存储在操作信息存储器INFM中。写入相同管理器111可以通过将后续操作信息NINF3与在前操作信息WINF进行比较,确定是否将后续写入相同操作与在前写入相同操作合并。
具体地,后续操作信息NINF3可以包括模式PT1、起始逻辑地址SLA“0”和计数CNT“3”。因此,后续操作信息NINF3可以是针对从“0”到“2”的逻辑地址LA。
写入相同管理器111可以确定在前操作信息WINF和后续操作信息NINF3包括相同的模式PT1。而且,写入相同管理器111可以确定在前操作信息WINF和后续操作信息NINF3两者中从“0”到“2”的所有逻辑地址LA是连续的。
因此,写入相同管理器111可以确定将在前写入相同操作和后续写入相同操作合并,并且可以更新在前操作信息WINF。经更新的未决操作信息UINF3可以包括相同的模式PT1、可以包括在前操作信息WINF和后续操作信息NINF3中的所有逻辑地址均被合并到其中的逻辑地址之中的最前逻辑地址LA“0”以作为起始逻辑地址SLA、并且可以包括经合并的逻辑地址的计数“3”作为计数CNT。
图5A和图5B是图示了根据一个实施例的写入相同管理器111不能将写入相同操作合并的情况的图。
参考图5A,在其中在前操作信息WINF已被存储在操作信息存储器INFM中的状态下,写入相同管理器111可以将针对后续写入相同操作的后续操作信息NINF4存储在操作信息存储器INFM中。写入相同管理器111可以通过将后续操作信息NINF4和在前操作信息WINF进行比较,确定是否将后续写入相同操作与在前写入相同操作合并。
具体地,后续操作信息NINF4可以包括模式PT2、起始逻辑地址SLA“3”和计数CNT“3”。因此,后续操作信息NINF4可以是针对从“3”到“5”的逻辑地址LA。
写入相同管理器111可以确定在前操作信息WINF和后续操作信息NINF4包括不同的模式PT1和PT2。因此,尽管在前操作信息WINF和后操作信息NINF4二者中的所有逻辑地址LA是连续的,但是写入相同管理器111可以确定不将在前写入相同操作和后续写入相同操作合并。在这种情况下,在前操作信息WINF和后续操作信息NINF4可以被保持在操作信息存储器INFM中而没有任何改变。
参考图5B,在其中在前操作信息WINF已被存储在操作信息存储器INFM中的状态下,写入相同管理器111可以将针对后续写入相同操作的后续操作信息NINF5存储在操作信息存储器INFM中。写入相同管理器111可以通过将后续操作信息NINF5与在前操作信息WINF进行比较,确定是否将后续写入相同操作与在前写入相同操作合并。
具体地,后续操作信息NINF5可以包括模式PT1、起始逻辑地址SLA“4”和计数CNT“2”。因此,后续操作信息NINF5可以是针对逻辑地址LA“4”和“5”。
写入相同管理器111可以确定在前操作信息WINF和后续操作信息NINF5包括相同的模式PT1。而且,写入相同管理器111可以确定在前操作信息WINF和后续操作信息NINF5两者中的所有逻辑地址LA不连续。
因此,写入相同管理器111可以确定不将在前写入相同操作和后续写入相同操作合并。在这种情况下,在前操作信息WINF和后续操作信息NINF5可以被保持在操作信息存储器INFM中而没有任何改变。
在一些实施例中,图4A至图4C以及图5A和图5B中的在前操作信息WINF可以不限于最近期被存储在操作信息存储器INFM中的信息。即,如果多个写入相同操作是未决的,则写入相同管理器111可以确定是否将后续写入相同操作与在前写入相同操作中的每个在前写入相同操作合并。
图6是图示了根据本公开的一个实施例的由写入相同管理器111执行写入相同操作的方法的流程图。
参考图6,在操作S110处,写入相同管理器111可以从主机设备接收写入相同命令。
在操作S120处,写入相同管理器111可以响应于写入相同命令而将后续操作信息存储在操作信息存储器INFM中。
在操作S130处,写入相同管理器111可以向主机设备传输对写入相同命令的响应,尽管后续写入相同操作尚未完成。
在操作S140处,基于被存储在操作信息存储器INFM中的操作信息,写入相同管理器111可以在非易失性存储器设备120上执行写入相同操作。具体地,写入相同管理器111可以控制加密单元112基于模式和连续逻辑地址来生成经加密的数据。而且,写入相同管理器111可以控制写入单元113将经加密的数据存储在非易失性存储器设备120中。
图7是图示了根据本公开的一个实施例的由写入相同管理器111将写入相同操作合并的方法的流程图。
参考图7,在操作S210处,写入相同管理器111可以确定在前操作信息的模式数据和后续操作信息的模式数据是否相同。当模式从模式数据生成、并且然后被存储作为操作信息时,写入相同管理器111可以确定在前操作信息的模式数据和后续操作信息的模式数据是否等同。当在前操作信息的模式数据和后续操作信息的模式数据不同时,过程可以进行到操作S250。当在前操作信息的模式数据和后续操作信息的模式数据等同时,过程可以进行到操作S220。
在操作S220处,写入相同管理器111可以确定在前操作信息和后续操作信息二者中的所有逻辑地址是否连续。当所有逻辑地址不连续时,过程可以进行到操作S250。当所有逻辑地址连续时,过程可以进行到操作S230。
在操作S230处,写入相同管理器111可以确定将后续写入相同操作与在前写入相同操作合并。
在操作S240处,写入相同管理器111可以更新在前操作信息并移除后续操作信息。
在操作S250处,写入相同管理器111可以确定不将后续写入相同操作与在前写入相同操作合并。
根据本公开的实施例的存储器系统及其操作方法可以高效地执行写入相同操作。
图8是图示了根据本公开的一个实施例的包括固态驱动装置(SSD)1200的数据处理系统1000的图。参考图8,数据处理系统1000可以包括主机装置1100和SSD 1200。
SSD 1200可以包括控制器1210、缓冲存储器装置1220、多个非易失性存储器装置1231至123n、电源1240、信号连接器1250和功率连接器1260。
控制器1210可以控制SSD 1200的整体操作。控制器1210可以包括主机接口单元1211、控制单元1212、随机存取存储器1213、错误校正码(ECC)单元1214和存储器接口单元1215。
主机接口单元1211可以通过信号连接器1250与主机装置1100交换信号SGL。信号SGL可以包括命令、地址、数据等。主机接口单元1211可以根据主机装置1100的协议来将主机装置1100和SSD 1200接口连接(interface)。例如,主机接口单元1211可以通过诸如以下任一项的标准接口协议来与主机装置1100通信:安全数字、通用串行总线(USB)、多媒体卡(MMC)、嵌入式MMC(eMMC)、个人计算机存储卡国际协会(PCMCIA)、并行高级技术附件(PATA)、串行高级技术附件(SATA)、小型计算机系统接口(SCSI)、串行连接的SCSI(SAS)、外围组件互连(PCI)、PCI Express(PCI-E)和通用闪速存储(UFS)。
控制单元1212可以分析和处理从主机装置1100接收的信号SGL。控制单元1212可以根据用于驱动SSD 1200的固件或软件来控制内部功能块的操作。随机存取存储器1213可以用作驱动这样的固件或软件的工作存储器。控制单元1212可以包括图1所示的写入相同管理器111、加密单元112和写入单元113。
ECC单元1214可以生成待被传输给非易失性存储器装置1231至123n中的至少一个非易失性存储器装置的数据的奇偶校验数据。所生成的奇偶校验数据可以与数据一起存储在非易失性存储器装置1231至123n中。ECC单元1214可以基于奇偶校验数据来检测从非易失性存储器装置1231至123n中的至少一个非易失性存储器装置读取的数据的错误。如果所检测的错误在可校正范围内,则ECC单元1214可以校正所检测的错误。
存储器接口单元1215可以根据控制单元1212的控制,将诸如命令和地址的控制信号提供给非易失性存储器装置1231至123n中的至少一个非易失性存储器装置。此外,存储器接口单元1215可以根据控制单元1212的控制,与非易失性存储器装置1231至123n中的至少一个非易失性存储器装置交换数据。例如,存储器接口单元1215可以将缓冲存储器装置1220中所存储的数据提供给非易失性存储器装置1231至123n中的至少一个非易失性存储器装置,或者将从非易失性存储器装置1231至123n中的至少一个非易失性存储器装置读取的数据提供给缓冲存储器装置1220。
缓冲存储器装置1220可以暂时地存储待存储在非易失性存储器装置1231至123n中的至少一个非易失性存储器装置中的数据。此外,缓冲存储器装置1220可以暂时地存储从非易失性存储器装置1231至123n中的至少一个非易失性存储器装置读取的数据。根据控制器1210的控制,被暂时地存储在缓冲存储器装置1220中的数据可以被传输到主机装置1100或非易失性存储器装置1231至123n中的至少一个非易失性存储器装置。
非易失性存储器装置1231至123n可以用作SSD 1200的存储介质。非易失性存储器装置1231至123n可以分别通过多个信道CH1至CHn而与控制器1210耦合。一个或多个非易失性存储器装置可以耦合到一个信道。耦合到每个信道的非易失性存储器装置可以耦合到相同的信号总线和数据总线。
电源1240可以将通过功率连接器1260所输入的功率PWR提供到SSD 1200的内部。电源1240可以包括辅助电源1241。辅助电源1241可以在突然断电发生时供应功率来允许SSD 1200正常终止。辅助电源1241可以包括大容量电容器。
取决于主机装置1100和SSD 1200之间的接口方案,信号连接器1250可以由各种类型的连接器进行配置。
取决于主机装置1100的电源方案,功率连接器1260可以由各种类型的连接器来进行配置。
图9是图示了根据本公开的一个实施例的包括存储器系统2200的数据处理系统2000的图。参考图9,数据处理系统2000可以包括主机装置2100和存储器系统2200。
主机装置2100可以按照诸如印刷电路板的板的形式被配置。尽管未示出,但是主机装置2100可以包括用于执行主机装置的功能的内部功能块。
主机装置2100可以包括连接端子2110(例如,插座、插槽或连接器)。存储器系统2200可以被安装到连接端子2110。
存储器系统2200可以按照诸如印刷电路板的板的形式被配置。存储器系统2200可以被称为存储器模块或存储器卡。存储器系统2200可以包括控制器2210、缓冲存储器装置2220、非易失性存储器装置2231和2232、功率管理集成电路(PMIC)2240和连接端子2250。
控制器2210可以控制存储器系统2200的整体操作。控制器2210可以按照与图8中所示的控制器1210相同的方式来配置。
缓冲存储器装置2220可以暂时地存储待存储在非易失性存储器装置2231和2232中的数据。此外,缓冲存储器装置2220可以暂时地存储从非易失性存储器装置2231和2232读取的数据。根据控制器2210的控制,被暂时地存储缓冲存储器装置2220中的数据可以被传输到主机装置2100或非易失性存储器装置2231和2232。
非易失性存储器装置2231和2232可以用作存储器系统2200的存储介质。
PMIC 2240可以将通过连接端子2250所输入的功率提供给存储器系统2200的内部。PMIC 2240可以根据控制器2210的控制来管理存储器系统2200的功率。
连接端子2250可以耦合到主机装置2100的连接端子2110。通过连接端子2250,诸如命令、地址、数据和功率的信号可以在主机装置2100与存储器系统2200之间传送。连接端子2250可以取决于主机装置2100与存储器系统2200之间的接口方案被配置为各种类型。连接端子2250可以被设置在存储器系统2200的任一侧上。
图10是图示了根据本公开的一个实施例的包括存储器系统3200的数据处理系统3000的图。参考图10,数据处理系统3000可以包括主机装置3100和存储器系统3200。
主机装置3100可以按照诸如印刷电路板的板的形式被配置。尽管未示出,但是主机装置3100可以包括用于执行主机装置的功能的内部功能块。
存储器系统3200可以按照表面安装型封装的形式来配置。存储器系统3200可以通过焊球3250安装到主机装置3100。存储器系统3200可以包括控制器3210、缓冲存储器装置3220和非易失性存储器装置3230。
控制器3210可以控制存储器系统3200的总体操作。控制器3210可以按照与图8中所示的控制器1210相同的方式来配置。
缓冲存储器装置3220可以暂时地存储待存储在非易失性存储器装置3230中的数据。此外,缓冲存储器装置3220可以暂时地存储从非易失性存储器装置3230中读取的数据。根据控制器3210的控制,被暂时地存储在缓冲存储器装置3220中的数据可以被传输给主机装置3100或非易失性存储器装置3230。
非易失性存储器装置3230可以用作存储器系统3200的存储介质。
图11是图示了根据本公开的一个实施例的包括存储器系统4200的网络系统4000的图。参考图11,网络系统4000可以包括服务器系统4300和多个客户端系统4410至4430,其通过网络4500耦合。
服务器系统4300可以响应于来自多个客户端系统4410至4430的请求来服务数据。例如,服务器系统4300可以存储从多个客户端系统4410至4430所提供的数据。对于另一示例,服务器系统4300可以将数据提供给多个客户端系统4410至4430。
服务器系统4300可以包括主机装置4100和存储器系统4200。存储器系统4200可以由图1所示的存储器系统10、图8中所示的存储器系统1200、图9中所示的存储器系统2200或图10中所示的存储器系统3200来配置。
图12是图示了根据本公开的一个实施例的被包括在存储器系统中的非易失性存储器装置300的框图。参考图12,非易失性存储器装置300可以包括存储器单元阵列310、行解码器320、数据读/写块330、列解码器340、电压发生器350和控制逻辑360。
存储器单元阵列310可以包括存储器单元MC,存储器单元MC被布置在字线WL1至WLm和位线BL1至BLn彼此相交的区域处。
行解码器320可以通过字线WL1至WLm与存储器单元阵列310耦合。行解码器320可以根据控制逻辑360的控制来操作。行解码器320可以对从外部装置(未示出)提供的地址进行解码。行解码器320可以基于解码结果来选择并驱动字线WL1至WLm。例如,行解码器320可以将从电压发生器350提供的字线电压提供给字线WL1至WLm。
数据读/写块330可以通过位线BL1至BLn与存储器单元阵列310耦合。数据读/写块330可以包括与位线BL1至BLn分别对应的读/写电路RW1至RWn。数据读/写块330可以根据控制逻辑360的控制来操作。数据读/写块330可以根据操作模式来作为写入驱动器或感测放大器来操作。例如,数据读/写块330可以用作写入驱动器,写入驱动器在写入操作中将从外部装置提供的数据存储在存储器单元阵列310中。对于另一示例,数据读/写块330可以用作感测放大器,感测放大器在读取操作中从存储器单元阵列310读出数据。
列解码器340可以根据控制逻辑360的控制来操作。列解码器340可以对从外部装置提供的地址进行解码。列解码器340可以基于解码结果,将与位线BL1至BLn分别对应的数据读/写块330的读/写电路RW1至RWn与数据输入/输出线或数据输入/输出缓冲器耦合。
电压发生器350可以生成在非易失性存储器装置300的内部操作中待使用的电压。由电压发生器350生成的电压可以被施加到存储器单元阵列310的存储器单元。例如,编程操作中生成的编程电压可以被施加到待执行编程操作的存储器单元的字线。对于另一示例,擦除操作中生成的擦除电压可以被施加到待执行擦除操作的存储器单元的阱区域。对于又一示例,读取操作中生成的读取电压可以被施加到待执行读取操作的存储器单元的字线。
控制逻辑360可以基于从外部装置提供的控制信号来控制非易失性存储器装置300的整体操作。例如,控制逻辑360可以控制非易失性存储器装置300的操作(例如,非易失性存储器装置300的读取、写入和擦除操作)。
本公开所属领域的技术人员应理解,上述实施例仅是所有方面的例示,而非限制性的,因为在不脱离本发明的技术精神或特征的情况下,本公开可以以各种其他形式来实现。因此,本公开的范围由下面描述的所附权利要求书而不是由具体实施方式来限定,并且从权利要求书的含义和范围及其等同物得出的所有修改或变化都应解释为包括在本公开的范围内。
Claims (21)
1.一种存储器系统,包括:
非易失性存储器设备;以及
写入相同管理器,被配置为在所述非易失性存储器设备上执行写入相同操作,
其中所述写入相同管理器通过将第一写入相同操作的第一操作信息与第二写入相同操作的第二操作信息进行比较,来将所述第一写入相同操作和所述第二写入相同操作合并。
2.根据权利要求1所述的存储器系统,其中所述写入相同管理器被配置为:当所述第一操作信息的模式数据和所述第二操作信息的模式数据相同,并且在所述第一操作信息和所述第二操作信息二者中的所有逻辑地址连续时,将所述第一写入相同操作和所述第二写入相同操作合并。
3.根据权利要求2所述的存储器系统,其中:
所述写入相同管理器被配置为生成经更新的操作信息,以便将所述第一写入相同操作和所述第二写入相同操作合并,并且
其中所述经更新的操作信息包括所述模式数据、在所述第一操作信息和所述第二操作信息二者中的所有所述逻辑地址均被合并到其中的逻辑地址之中的最前逻辑地址以及经合并的所述逻辑地址的计数。
4.根据权利要求3所述的存储器系统,其中:
所述写入相同管理器包括操作信息存储器,所述操作信息存储器被配置为存储所述第一操作信息和所述第二操作信息,并且
其中所述写入相同管理器被配置为更新所述第一操作信息和所述第二操作信息中的在前信息作为所述经更新的操作信息,并且移除所述第一操作信息和所述第二操作信息中的后续信息。
5.根据权利要求1所述的存储器系统,其中所述写入相同管理器被配置为:当所述第一操作信息的模式数据和所述第二操作信息的模式数据不相同,或者在所述第一操作信息和所述第二操作信息二者中的所有逻辑地址不连续时,确定不将所述第一写入相同操作和所述第二写入相同操作合并。
6.根据权利要求1所述的存储器系统,还包括加密单元,所述加密单元被配置为:在所述写入相同操作被执行时,将与连续逻辑地址分别对应的重复模式一次加密为加密模式。
7.根据权利要求6所述的存储器系统,
还包括写入单元,所述写入单元被配置为在所述写入相同操作被执行时,将所述加密模式存储在所述非易失性存储器设备中,
其中所述写入相同管理器被配置为在所述写入单元将所述加密模式存储在所述非易失性存储器设备中的期间,控制所述加密单元对后续模式进行加密。
8.根据权利要求1所述的存储器系统,其中所述写入相同管理器被配置为:
响应于由主机设备传输的写入相同命令,将操作信息存储在操作信息存储器中,以及
向所述主机设备传输对所述写入相同命令的响应,尽管与所述操作信息相对应的写入相同操作尚未完成。
9.一种用于存储器系统的操作方法,包括:
将第一写入相同操作的第一操作信息和第二写入相同操作的第二操作信息进行比较;以及
基于所述比较的结果,确定是否将所述第一写入相同操作和所述第二写入相同操作合并。
10.根据权利要求9所述的操作方法,其中将所述第一操作信息和所述第二操作信息进行比较包括:确定所述第一操作信息的模式数据和所述第二操作信息的模式数据是否相同,并且确定在所述第一操作信息和所述第二操作信息二者中的所有逻辑地址是否连续。
11.根据权利要求10所述的操作方法,
还包括生成经更新的操作信息,以便将所述第一写入相同操作和所述第二写入相同操作合并,
其中所述经更新的操作信息包括所述模式数据、在所述第一操作信息和所述第二操作信息二者中的所有所述逻辑地址均被合并到其中的逻辑地址之中的最前逻辑地址以及经合并的所述逻辑地址的计数。
12.根据权利要求11所述的操作方法,其中生成所述经更新的操作信息包括:
将所述第一操作信息和所述第二操作信息中的在前信息更新为所述经更新的操作信息,以及
移除所述第一操作信息和所述第二操作信息中的后续信息。
13.根据权利要求10所述的操作方法,
还包括当所述第一写入相同操作和所述第二写入相同操作被确定为待合并时,执行经合并的写入相同操作,
其中执行经合并的所述写入相同操作包括:
将与经合并的所述逻辑地址分别对应的重复模式一次加密为加密模式,以及
将所述加密模式存储在非易失性存储器设备中,
其中在所述加密模式被存储在所述非易失性存储器设备中的期间,后续模式被加密。
14.根据权利要求9所述的操作方法,还包括:
响应于由主机设备传输的写入相同命令,将操作信息存储在操作信息存储器中;以及
向所述主机设备传输对所述写入相同命令的响应,尽管与所述操作信息相对应的写入相同操作尚未完成。
15.一种存储器系统,包括:
非易失性存储器设备;
写入相同管理器,被配置为在所述非易失性存储器设备上执行写入相同操作;以及
加密单元,被配置为在所述写入相同操作被执行时,将与连续逻辑地址分别对应的重复模式一次加密为加密模式。
16.根据权利要求15所述的存储器系统,其中所述写入相同管理器被配置为将具有相同的模式数据的两个或更多个写入相同操作合并。
17.根据权利要求16所述的存储器系统,其中所述写入相同管理器被配置为在与所述两个或更多个写入相同操作相对应的所有逻辑地址连续时,将所述写入相同操作合并。
18.根据权利要求17所述的存储器系统,其中:
所述写入相同管理器被配置为生成经合并的所述写入相同操作的操作信息,并且
所述操作信息包括所述模式数据、与两个或更多个写入相同操作相对应的所有所述逻辑地址被合并到其中的逻辑地址之中的最前逻辑地址以及经合并的所述逻辑地址的计数。
19.根据权利要求15所述的存储器系统,
还包括写入单元,所述写入单元被配置为当所述写入相同操作被执行时,将所述加密模式存储在所述非易失性存储器设备中,
其中所述写入相同管理器被配置为在所述写入单元将所述加密模式存储在所述非易失性存储器设备中的期间,控制所述加密单元对后续模式进行加密。
20.根据权利要求15所述的存储器系统,其中所述写入相同管理器被配置为:
响应于由主机设备传输的写入相同命令,将操作信息存储在操作信息存储器中,以及
向所述主机设备传输对所述写入相同命令的响应,尽管与所述操作信息相对应的写入相同操作尚未完成。
21.一种控制器的操作方法,所述操作方法包括:
接收针对单个写入相同操作的模式数据和第一序列,以及针对另一单个写入相同操作的所述模式数据和第二序列,所述第一序列和所述第二序列中的每一者具有连续逻辑地址;
将所述模式数据加密;以及
当在所述第一序列和所述第二序列二者中的所有所述逻辑地址连续时,控制存储器装置来执行单个写入相同操作,所述单个写入相同操作将经加密的所述数据存储到一存储区域中,所述存储区域与合并在所述第一序列和所述第二序列内的每个逻辑地址相对应。
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1020200038770A KR20210121660A (ko) | 2020-03-31 | 2020-03-31 | 메모리 시스템 및 그것의 동작 방법 |
KR10-2020-0038770 | 2020-03-31 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN113467709A true CN113467709A (zh) | 2021-10-01 |
CN113467709B CN113467709B (zh) | 2024-05-31 |
Family
ID=77855998
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202010936694.5A Active CN113467709B (zh) | 2020-03-31 | 2020-09-08 | 存储器系统及其操作方法 |
Country Status (3)
Country | Link |
---|---|
US (1) | US11347634B2 (zh) |
KR (1) | KR20210121660A (zh) |
CN (1) | CN113467709B (zh) |
Families Citing this family (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US11941287B2 (en) * | 2020-06-17 | 2024-03-26 | EMC IP Holding Company, LLC | System and method for near-instant unmapping and write-same in a log-structured storage cluster |
US11956311B2 (en) * | 2020-06-29 | 2024-04-09 | Marvell Asia Pte Ltd | Method and apparatus for direct memory access of network device |
Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2004220432A (ja) * | 2003-01-16 | 2004-08-05 | Canon Inc | データ処理装置 |
CN1700351A (zh) * | 2002-04-15 | 2005-11-23 | 富士通株式会社 | 半导体存储器 |
US9058792B1 (en) * | 2006-11-01 | 2015-06-16 | Nvidia Corporation | Coalescing to avoid read-modify-write during compressed data operations |
CN108280033A (zh) * | 2017-01-04 | 2018-07-13 | 爱思开海力士有限公司 | 数据存储设备及其操作方法 |
US20190258577A1 (en) * | 2018-02-19 | 2019-08-22 | SK Hynix Inc. | Memory system and method for operating the same |
US20190317892A1 (en) * | 2018-04-16 | 2019-10-17 | SK Hynix Inc. | Memory system, data processing system, and operating method of memory system |
Family Cites Families (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US8694563B1 (en) * | 2009-04-18 | 2014-04-08 | Hewlett-Packard Development Company, L.P. | Space recovery for thin-provisioned storage volumes |
KR101824067B1 (ko) | 2010-08-20 | 2018-01-31 | 삼성전자주식회사 | 반도체 저장 장치의 성능 조절을 위한 반도체 저장장치와 호스트간 인터페이스 방법 및 그 장치 |
US8738993B2 (en) | 2010-12-06 | 2014-05-27 | Intel Corporation | Memory device on the fly CRC mode |
US8996804B2 (en) * | 2011-09-12 | 2015-03-31 | International Business Machines Corporation | Optimizing and enhancing performance for parity based storage |
KR101478168B1 (ko) | 2013-04-17 | 2014-12-31 | 주식회사 디에이아이오 | 스토리지 시스템 및 스토리지 시스템의 쓰기 데이터 처리 방법 |
US9304709B2 (en) * | 2013-09-06 | 2016-04-05 | Western Digital Technologies, Inc. | High performance system providing selective merging of dataframe segments in hardware |
US9898205B1 (en) * | 2013-10-31 | 2018-02-20 | Veritas Technologies Llc | Scheduling of commands in a storage area network to minimize latency |
US9430329B2 (en) * | 2014-04-03 | 2016-08-30 | Seagate Technology Llc | Data integrity management in a data storage device |
US10380026B2 (en) * | 2014-09-04 | 2019-08-13 | Sandisk Technologies Llc | Generalized storage virtualization interface |
US10353626B2 (en) * | 2016-02-03 | 2019-07-16 | Samsung Electronics Co., Ltd. | Buffer memory management method and write method using the same |
-
2020
- 2020-03-31 KR KR1020200038770A patent/KR20210121660A/ko unknown
- 2020-08-04 US US16/984,910 patent/US11347634B2/en active Active
- 2020-09-08 CN CN202010936694.5A patent/CN113467709B/zh active Active
Patent Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1700351A (zh) * | 2002-04-15 | 2005-11-23 | 富士通株式会社 | 半导体存储器 |
JP2004220432A (ja) * | 2003-01-16 | 2004-08-05 | Canon Inc | データ処理装置 |
US9058792B1 (en) * | 2006-11-01 | 2015-06-16 | Nvidia Corporation | Coalescing to avoid read-modify-write during compressed data operations |
CN108280033A (zh) * | 2017-01-04 | 2018-07-13 | 爱思开海力士有限公司 | 数据存储设备及其操作方法 |
US20190258577A1 (en) * | 2018-02-19 | 2019-08-22 | SK Hynix Inc. | Memory system and method for operating the same |
US20190317892A1 (en) * | 2018-04-16 | 2019-10-17 | SK Hynix Inc. | Memory system, data processing system, and operating method of memory system |
Also Published As
Publication number | Publication date |
---|---|
KR20210121660A (ko) | 2021-10-08 |
US20210303456A1 (en) | 2021-09-30 |
US11347634B2 (en) | 2022-05-31 |
CN113467709B (zh) | 2024-05-31 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN111180001B (zh) | 存储器系统和测试系统 | |
US11487669B2 (en) | Memory system for storing data of log-structured merge tree structure and data processing system including the same | |
US20190179694A1 (en) | Data storage device, operating method thereof and storage system including the same | |
CN110727394A (zh) | 数据存储装置、该数据存储装置的操作方法以及存储系统 | |
KR102381233B1 (ko) | 데이터 저장 장치 및 그것의 동작 방법 | |
US20220229584A1 (en) | Memory system, operating method thereof and computing system | |
CN112578998A (zh) | 数据存储设备及其操作方法 | |
KR102444606B1 (ko) | 데이터 저장 장치 및 그것의 동작 방법 | |
KR20200054534A (ko) | 메모리 시스템 및 그것의 동작 방법 | |
CN111916140A (zh) | 控制器及其操作方法以及包括控制器的存储器系统 | |
CN113467709B (zh) | 存储器系统及其操作方法 | |
CN113741798A (zh) | 数据存储装置及其操作方法 | |
KR20190032104A (ko) | 비휘발성 메모리 장치, 비휘발성 메모리 장치를 포함하는 데이터 저장 장치 및 그것의 동작 방법 | |
US20200081649A1 (en) | Data storage device, operation method thereof and storage system including the same | |
KR20200089939A (ko) | 메모리 시스템 및 그 동작 방법 | |
US20230289059A1 (en) | Memory system and operating method thereof | |
US11720276B2 (en) | Memory system and controller for managing write status | |
CN110442302B (zh) | 存储器系统及用于操作存储器系统的方法 | |
KR20190102779A (ko) | 불휘발성 메모리 장치, 이를 포함하는 데이터 저장 장치 및 그것의 동작 방법 | |
CN111488296B (zh) | 存储器系统 | |
KR20180127594A (ko) | 데이터 저장 장치 및 그것의 동작 방법 | |
CN109933282B (zh) | 存储器系统及其操作方法 | |
KR20200078101A (ko) | 메모리 시스템 및 그것의 동작 방법 | |
US11954351B2 (en) | Memory system, operating method thereof, and data processing system for processing duplicate data | |
US20230214151A1 (en) | Memory system and operating method thereof |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |