CN110232035B - 存储器系统以及存储器系统的操作方法 - Google Patents
存储器系统以及存储器系统的操作方法 Download PDFInfo
- Publication number
- CN110232035B CN110232035B CN201811212400.3A CN201811212400A CN110232035B CN 110232035 B CN110232035 B CN 110232035B CN 201811212400 A CN201811212400 A CN 201811212400A CN 110232035 B CN110232035 B CN 110232035B
- Authority
- CN
- China
- Prior art keywords
- data
- memory
- namespaces
- memory device
- data sets
- 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.)
- Active
Links
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/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/0602—Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
- G06F3/061—Improving I/O performance
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- 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/08—Addressing or allocation; Relocation in hierarchically structured memory systems, e.g. virtual memory systems
- G06F12/10—Address translation
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F13/00—Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
- G06F13/14—Handling requests for interconnection or transfer
- G06F13/16—Handling requests for interconnection or transfer for access to memory bus
- G06F13/1668—Details of memory controller
-
- 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
- G06F3/064—Management of blocks
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0628—Interfaces specially adapted for storage systems making use of a particular technique
- G06F3/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/0656—Data buffering arrangements
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0628—Interfaces specially adapted for storage systems making use of a particular technique
- G06F3/0655—Vertical data movement, i.e. input-output transfer; data movement between one or more hosts and one or more storage devices
- G06F3/0658—Controller construction arrangements
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0668—Interfaces specially adapted for storage systems adopting a particular infrastructure
- G06F3/0671—In-line storage system
- G06F3/0673—Single storage device
- G06F3/0679—Non-volatile semiconductor memory device, e.g. flash memory, one time programmable memory [OTP]
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2212/00—Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
- G06F2212/10—Providing a specific technical effect
- G06F2212/1016—Performance improvement
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2212/00—Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
- G06F2212/10—Providing a specific technical effect
- G06F2212/1041—Resource optimization
- G06F2212/1044—Space efficiency 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/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/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)
- Techniques For Improving Reliability Of Storages (AREA)
- Read Only Memory (AREA)
Abstract
本发明提供一种存储器系统以及存储器系统的操作方法。该存储器系统包括:存储器装置,被划分成多个命名空间;以及控制器,响应于写入命令,控制存储器装置的编程操作,其中控制器基于输入数据来生成至少一个数据集,并且控制存储器装置以基于至少一个数据集中包括的元数据,将至少一个数据集编程在多个命名空间的选择命名空间中。
Description
相关申请的交叉引用
本申请要求于2018年3月5日提交的申请号为10-2018-0025931的韩国专利申请的优先权,其全部内容通过引用并入本文。
技术领域
本公开总体涉及一种存储器系统以及存储器系统的操作方法,并且更特别地,涉及一种能够将数据存储在多个区域中的存储器系统以及存储器系统的操作方法。
背景技术
最近计算机环境范例已经变为可以随时随地使用计算系统的普适计算。这促使诸如移动电话、数码相机和笔记本计算机等的便携式电子装置的使用增加。通常,这些便携式电子装置可以包括使用存储器装置的存储器系统,即数据存储装置。数据存储装置用作便携式电子装置的主存储器装置或辅助存储器装置。
由于不存在机械驱动部件,因此使用存储器装置的数据存储装置具有优良的稳定性和耐用性、高信息存取速度以及低功耗。在具有这种优点的存储器系统的示例中,数据存储装置包括通用串行总线(USB)存储器装置、具有各种接口的存储卡、固态驱动器(SSD)等。
发明内容
实施例提供一种存储器系统以及存储器系统的操作方法,该存储器系统在从主机接收的数据被存储在多个区域中时,将具有不同特性的数据存储在不同开放块中。
根据本公开的一方面,提供一种存储器系统,该存储器系统包括:存储器装置,其被划分成多个命名空间;以及控制器,其被配置成响应于写入命令,控制存储器装置的编程操作,其中,控制器基于输入数据来生成至少一个数据集,并且控制所述存储器装置以基于至少一个数据集中包括的元数据,将至少一个数据集编程在多个命名空间的选择命名空间中。
根据本公开的另一方面,提供一种存储器系统,该存储器系统包括:存储器装置,其被划分成多个命名空间;控制器,其被配置成基于输入数据来生成多个数据集,并且控制存储器装置以将多个数据集存储在多个命名空间中,其中控制器控制存储器装置以基于包括识别(ID)信息的元数据,将多个数据集存储在多个命名空间中,该ID信息将数据集中的每一个与命名空间中的一个相关联。
根据本公开的又一方面,提供一种操作存储器系统的方法,该方法包括:从主机接收写入命令和多个数据;基于多个数据来生成多个数据集,其中多个数据集中的每一个包括元数据;使用元数据来区分关于存储器装置的多个命名空间的多个数据集;基于区分操作将多个数据集存储在多个命名空间中。
根据本公开的一方面,提供一种存储器系统,该存储器系统包括:存储器装置,其包括多个存储块,该存储块具有基于逻辑页面的多个空间区域;以及控制器,其被配置成:响应于写入命令接收多个用户数据,生成多个数据集,每个数据集包括用户数据和识别(ID)信息,该ID信息指示针对相应的用户数据的相应的空间区域,并且控制存储器装置以接收多个数据集,并且基于ID信息将数据集中的每一个编程在相应的空间区域中。
附图说明
现在将参照附图更全面地描述各种实施例;然而,本公开的元件和特征可以与本文所示出和描述的元件和特征不同的方式来配置或布置。因此,本发明不限于本文阐述的实施例。相反,提供这些实施例使得本公开是彻底且完整的,并且向本领域技术人员充分传达实施例的范围。
在附图中,为了清楚说明,尺寸可能被夸大。将理解的是,当元件被称为在两个元件“之间”时,该元件可以是两个元件之间的唯一元件,或者也可以存在一个或多个中间元件。相同的附图标记始终表示相同的元件。此外,在整个说明书中,对“实施例”、“另一实施例”等的参考不一定仅仅针对一个实施例,并且对任何这种短语的不同参考不一定针对相同的实施例。
图1是示出根据本公开的实施例的存储器系统的框图。
图2是示出根据本公开的实施例的存储器装置的空间,例如命名空间的框图。
图3是示出根据本公开的实施例的控制器的配置的框图。
图4是示出根据本公开的实施例的半导体存储器的框图。
图5是示出根据本公开的实施例的存储器单元阵列的框图。
图6是示出根据本公开的实施例的存储块的电路图。
图7是示出根据本公开的实施例的存储器系统的操作方法的流程图。
图8是示出根据本公开的实施例的数据集的结构的示图。
图9是示出根据本公开的实施例的将来自缓冲器,例如SLC缓冲器的数据集编程到存储器系统中的开放块的操作的示图。
图10是示出根据本公开另一实施例的存储器系统的示图。
图11是示出根据本公开另一实施例的存储器系统的示图。
图12是示出根据本公开另一实施例的存储器系统的示图。
图13是示出根据本公开另一实施例的存储器系统的示图。
具体实施方式
在以下详细描述中,仅通过示例的方式示出并描述了本公开的某些实施例。如本领域技术人员将认识到的,可以各种不同方式来修改所描述的实施例,所有这些实施例都不脱离本公开的精神和范围。因此,附图和描述将被认为本质上是说明性的而非限制性的。
在整个说明书中,当一个元件被称为“连接”或“联接”至另一个元件时,该元件可以直接连接或联接至另一个元件,或者利用插在该元件和另一个元件之间的一个或多个中间元件间接地连接或联接至另一个元件。另外,当元件被称为“包括”部件时,除非上下文另有说明,否则这表示该元件可以进一步包括一个或多个其它部件而不是排除这样的其它部件。
图1是示出根据本公开的实施例的存储器系统的框图。
参照图1,存储器系统1000可以包括存储器装置1100、控制器1200和缓冲存储器1300。存储器装置1100可以包括多个半导体存储器100。多个半导体存储器100可以被划分成多个组。
多个组,例如n个组可以分别通过第一至第n信道CH1至CHn与控制器1200通信。稍后将参照图4描述每个半导体存储器100。
每个组可以被配置成通过一个公共信道与控制器1200通信。控制器1200可以被配置成通过多个信道CH1至CHn来控制存储器装置1100,即多个半导体存储器100。
控制器1200可以联接在主机1400和存储器装置1100之间。控制器1200可以被配置成响应于从主机1400接收的命令来访问存储器装置1100。例如,控制器1200可以被配置成响应于从主机1400接收的命令来控制存储器装置1100的读取操作、编程操作、擦除操作和后台操作。控制器1200可以被配置成提供存储器装置1100和主机1400之间的接口。控制器1200可以被配置成驱动用于控制存储器装置1100的固件。
控制器1200可以将存储器装置1100划分成多个区域,例如命名空间,并且管理多个区域或命名空间。命名空间可以是通过基于逻辑地址,例如逻辑块地址(LBA)来划分存储器装置1100的存储空间而获得的区域。例如,在存储器装置1100的存储空间是LBA1到LBA1000的地址,并且存储空间被划分成两个命名空间(例如,命名空间0和命名空间1)的配置中,命名空间0可以包括与LBA1到LBA 500相对应的区域,命名空间1可以包括与LBA 501到LBA 1000相对应的区域。
当从主机1400接收到写入命令和多个数据时,控制器1200可以根据多个数据的LBA来生成至少一个数据集。数据集中包括的元数据可以包括将存储包括在数据集中的数据的命名空间的识别(ID)信息。控制器1200可以控制存储器装置1100基于数据集中包括的元数据来区分针对每个命名空间的数据集,并且对被区分的数据集进行编程。
缓冲存储器1300可以响应于来自主机1400的请求,临时存储在读取操作中从存储器装置1100读取的数据,并且然后将数据输出至主机1400。可选地,缓冲存储器1300可以响应于来自主机1400的请求,临时存储在编程操作中从主机1400接收的数据,并且然后将数据输出至存储器装置1100。如图1所示,缓冲存储器1300可以是独立于控制器1200的部件,或者可选地,控制器1200可以被配置成包括缓冲存储器1300。
主机1400可以控制存储器系统1000。主机1400可以包括诸如计算机、个人数字助理(PDA)、便携式媒体播放器(PMP),MP3播放器、相机、摄像机和移动电话的便携式电子装置。主机1400可以通过命令请求存储器系统1000的编程操作、读取操作或擦除操作。
控制器1200和存储器装置1100可以被集成到单个半导体装置中。在实施例中,控制器1200和存储器装置1100可以被集成到单个半导体装置中以构成诸如以下的存储卡:PC卡(例如,个人计算机存储卡国际协会(PCMCIA))、紧凑型闪存(CF)卡、智能媒体卡(例如,SM或SMC)、记忆棒、多媒体卡(例如,MMC、RS-MMC或微型-MMC)、SD卡(例如,SD、迷你SD、微型SD或SDHC)或通用闪存(UFS)。
控制器1200和存储器装置1100可以被集成到单个半导体装置中以构成半导体驱动器(例如,固态驱动器(SSD))。半导体驱动器SSD可以包括被配置成将数据存储在半导体存储器中的存储装置。如果存储器系统1000用作半导体驱动器SSD,则可以显著提高联接至存储器系统1000的主机1400的操作速度。
在另一示例中,存储器系统1000可以被设置为诸如以下的电子装置的各种部件中的一个:计算机、超移动PC(UMPC)、工作站、上网本、个人数字助理(PDA)、便携式计算机、网络平板、无线电话、移动电话、智能电话、电子书、便携式多媒体播放器(PMP)、便携式游戏机、导航系统、黑盒、数码相机、三维(3D)电视、数字音频记录器、数字音频播放器、数字图片记录器、数字图片播放器、数字视频记录器、数字视频播放器、能够在无线环境下传输和接收信息的装置、构成家庭网络的各种电子装置之一、构成计算机网络的各种电子装置之一、构成远程信息处理网络的各种电子装置之一、RFID装置或构成计算系统的各种部件之一。
在实施例中,存储器装置1100或存储器系统1000可以诸如下列各种形式封装:堆叠封装(POP)、球栅阵列(BGA)、芯片级封装(CSP)、塑料引线芯片载体(PLCC)、塑料双列直插式封装(PDIP)、叠片包装管芯(die in Waffle pack)、晶圆形式管芯(die in waferform)、板上芯片(COB)、陶瓷双列直插式封装(CERDIP)、塑料公制四方扁平封装(PMQFP)、薄型四方扁平封装(TQFP)、小外形集成电路(SOIC)、收缩型小外形封装(SSOP)、薄型小外形封装(TSOP)、系统级封装(SIP)、多芯片封装(MCP)、晶圆级制造封装(WFP)和晶圆级处理堆叠封装(WSP)。
图2是示出根据本公开的实施例的存储器装置,例如图1的存储器装置1100的区域,例如命名空间的框图。
参照图2,存储器装置1100可以包括SLC缓冲器(SLC_BF)和多个命名空间(例如,Namespace 0(NS_0)至Namespace K(NS_K))。
在写入操作中,SLC缓冲器可以接收从图1的控制器1200接收的、待被存储在SLC缓冲器中的数据,并且将存储的数据传输至多个命名空间(Namespace 0Namespace K)。SLC缓冲器可以用单层单元(SLC)来实施。
存储器装置1100可以包括至少两个命名空间。在本文描述的各种实施例中,存储器装置1100包括多个命名空间NS_0至NS_K,其中K是大于2的整数。多个命名空间NS_0至NS_K可以是通过基于LBA来划分存储器装置1100的存储空间而获得的区域。命名空间NS_0至NS_K中的每一个中包括的存储器单元可以是能够存储两位或更多位数据的多层单元(MLC)或三层单元(TLC)。
图3是示出根据本公开的实施例的控制器,例如图1的控制器1200的框图。
参照图3,控制器1200可包括主机控制电路1210、处理器1220、存储器缓冲器1230、闪存控制电路1240、命名空间管理电路1250、主机接口1260、缓冲器控制电路1270、缓冲存储器接口1280、错误校正电路1290、闪存接口1310和总线1320。
总线1320可以被配置成提供控制器1200的部件之间的信道。
主机控制电路1210可以控制图1的主机1400和主机接口1260之间的数据传输。而且,主机控制电路1210可以控制主机1400和控制器存储器缓冲器,即存储器缓冲器1230或图1的缓冲存储器1300之间的数据传输。在示例中,主机控制电路1210可以控制将从主机1400接收的数据通过主机接口1260直接缓冲到存储器缓冲器1230或缓冲存储器1300的操作。在另一示例中,主机控制电路1210可以控制将缓冲在存储器缓冲器1230或缓冲存储器1300中的数据通过主机接口1260输出至主机1400的操作。
处理器1220可以控制控制器1200的全部操作,包括逻辑操作。处理器1220可以通过主机接口1260与图1的主机1400通信,并且通过闪存接口1310与图1的存储器装置1100通信。处理器1220可以通过缓冲存储器接口1280与图1的缓冲存储器1300通信。处理器1220可以通过缓冲器控制电路1270控制存储器缓冲器1230。处理器1220可以通过将存储器缓冲器1230用作工作存储器、高速缓冲存储器或缓冲存储器来控制存储器系统1000的操作。处理器1220可以驱动称为闪存转换层(下文中,称为“FTL”)的固件以控制控制器1200的全部操作。FTL可以被存储在存储器缓冲器1230中。当从主机1400接收写入命令、多个数据和地址时,处理器1220可以使用多个数据和地址生成至少一个数据集。处理器1220可以生成包括数据存储信息(例如,元数据)的数据集。在示例中,元数据可以包括新更新的映射数据和与每个数据集相对应的命名空间的ID信息。通过检查与命令操作相对应的映射数据,例如包括逻辑到物理(L2P)信息(下文中,称为“逻辑信息”)的第一映射数据和包括物理到逻辑(P2L)信息(下文中,称为“物理信息”)的第二映射数据来重新更新映射数据。处理器1220可以生成与从主机1400接收的命令相对应的内部命令,并将内部命令排队在命令队列(未示出)中。数据集可以被存储在图1的缓冲存储器1300或存储器缓冲器1230中。
存储器缓冲器1230可以用作处理器1220的工作存储器、高速缓冲存储器或缓冲存储器。存储器缓冲器1230可以存储由处理器1220执行的代码和命令。存储器缓冲器1230可以包括静态RAM(SRAM)或动态RAM(DRAM)。存储器缓冲器1230可以存储由处理器1220排队的多个内部命令,并存储由处理器1220生成的多个命令集。
闪存控制电路1240可以响应于多个排队的内部命令,生成并输出用于控制存储器装置1100的闪存命令。例如,闪存控制电路1240响应于与写入操作相对应的内部命令,生成并输出用于控制存储器装置1100的写入操作的闪存命令。闪存控制电路1240可以将缓冲在存储器缓冲器1230或图1的缓冲存储器1300中的至少一个数据集传输至存储器装置1100。闪存控制电路1240可以控制存储器装置1100,使得至少一个数据集被优先存储在图2的SLC缓冲器SLC_BF中。闪存控制电路1240可以控制存储器装置1100,使得存储在SLC缓冲器SLC_BF中的数据集被存储在存储器装置1100的多个命名空间NS_0至NS_K中的相应命名空间中。
命名空间管理电路1250可以根据数据集中的每一个中包括的命名空间的ID信息,区分针对每个命名空间的、存储在存储器装置1100的SLC缓冲器SLC_BF中的数据集。而且,命名空间管理电路1250可以区分针对每个命名空间的数据集中包括的数据的有效数据计数,并且管理被区分的有效数据计数。有效数据计数可以包括数据集中包括的数据之中的、被编程在实际存储器单元中的数据的数量。例如,命名空间管理电路1250可以区分分别与多个命名空间相对应的有效数据计数,并且管理被区分的有效数据计数。在编程操作中,命名空间管理电路1250可以基于与存储在SLC缓冲器SLC_BF中的数据集相对应的命名空间的数量以及与每个命名空间相对应的有效数据计数,来确定存储器装置1100的开放块的数量。例如,当与存储在SLC缓冲器SLC_BF中的数据集相对应的命名空间的数量是1时,可以控制存储器装置1100以通过选择一个开放块来执行编程操作。另外,当与存储在SLC缓冲器SLC_BF中的数据集相对应的命名空间的数量是两个或更多个,并且两个或更多个命名空间之中的、有效数据计数等于或大于设定值的命名空间的数量是两个或更多个时,可以控制存储器装置1100以通过选择两个或更多个开放块来执行编程操作。可以控制存储器装置1100以将与有效数据计数等于或大于设定值的命名空间相对应的数据集编程在不同的开放块中。
因此,当SLC缓冲器SLC_BF中存储的数据集被存储在至少两个命名空间中时,根据有效数据计数来选择至少两个开放块,使得具有不同数据特性的数据集可以被存储在不同的开放块中。即,可以防止与两个或更多个命名空间相对应的数据集被一起编程在一个开放块中。因此,可以提高存储器系统的读取性能,并且可以防止不必要的垃圾收集操作。
在示例中,命名空间管理电路1250可以存储与每个命名空间相对应的有效数据计数,并且管理存储的有效数据计数。
在示例中,命名空间管理电路1250可以作为部件被包括在处理器1220中,或者作为部件被包括在闪存控制电路1240中。
主机接口1260可以被配置成在处理器1220的控制下与图1的主机1400通信。主机接口1260可以被配置成使用诸如下列的各种通信协议中的至少一种与主机1400通信:通用串行总线(USB)、串行AT附件(SATA)、高速芯片间(HSIC)、小型计算机系统接口(SCSI)、火线、外围组件互联(PCI)、高速PCI(PCIe)、高速非易失性存储器(NVMe)、通用闪存(UFS)、安全数字(SD)、多媒体卡(MMC)、嵌入式MMC(eMMC)、双列直插式存储器模块(DIMM)、寄存式DIMM(RDIMM)和低负载DIMM(LRDIMM)。
缓冲器控制电路1270可以被配置成在处理器1220的控制下控制存储器缓冲器1230。
缓冲存储器接口1280可以被配置成在处理器1220的控制下与图1的缓冲存储器1300通信。缓冲存储器接口1280可以通过信道与缓冲存储器1300通信命令、地址和数据。
错误校正电路1290可以执行错误校正。错误校正电路1290可以对待通过闪存接口1310被写入图1的存储器装置1100中的数据执行ECC(错误校正码)编码。可以通过闪存接口1310将经ECC编码的数据传递至存储器装置1100。错误校正电路1290可以对通过闪存接口1310从存储器装置1100接收的数据执行ECC解码。在示例中,错误校正电路1290可以被包括在闪存接口1310中。
闪存接口1310可以被配置成在处理器1220的控制下与图1的存储器装置1100通信。闪存接口1310可以通过信道与存储器装置1100通信命令控制信号、地址和数据。当存储器装置1100的操作被成功执行时或者当操作由于发生错误而失败时,闪存接口1310可以接收指示操作已经被成功执行或操作已经失败的报告信号。
在本公开的实施例中,示出命名空间的ID信息被包括在数据集中包括的元数据中,并且控制存储器装置1100以基于元数据来区分针对每个命名空间的数据集,并且对被区分的数据集进行编程。然而,本公开不限于此,并且可以控制存储器装置1100以,基于命名空间ID来区分存储物理信息的元页面,基于被区分的元页面来区分针对每个命名空间的数据集,并且对被区分的数据集进行编程。
图4是示出根据本公开的实施例的半导体存储器,例如图1的半导体存储器100的框图。
参照图4,半导体存储器100可以包括存储器单元阵列110和外围电路PERI。外围电路PERI可以被配置成对多个存储块BLK1至BLKz的所选择页面中包括的存储器单元执行编程操作、读取操作或擦除操作。外围电路PERI可以包括控制电路120、电压供应电路130、页面缓冲器组140、列解码器150、以及输入和输出(输入/输出)电路160。
存储器单元阵列110可以包括多个存储器块BLK1至BLKz。多个存储块BLK1至BLKz中的每一个可以包括多个页面。多个页面中的每一个可以包括多个存储器单元。在实施例中,多个存储器单元可以是非易失性存储器单元。将参照图5和图6对此进行更详细地描述。
控制电路120可以响应于通过输入/输出电路160接收的闪存命令CMD而输出用于生成执行读取操作、编程操作或擦除操作所需的电压的电压控制信号VCON。控制电路120可以根据操作类型而输出用于控制页面缓冲器组140中包括的页面缓冲器PB1至PBk的PB控制信号PBCON。控制电路120可以响应于通过输入/输出电路160从另一装置(例如,图1的控制器1200)接收的地址信号ADD而输出行地址信号RADD和列地址信号CADD。
电压供应电路130可以响应于控制电路120的电压控制信号VCON,将对存储器单元阵列110中的存储器单元执行编程操作、读取操作和擦除操作所需的操作电压施加到所述存储块的局部线,该局部线包括漏极选择线、字线WL和源极选择线。电压供应电路130可以包括电压产生电路和行解码器。
电压产生电路可以响应于控制电路120的电压控制信号VCON,将对存储器单元阵列110中的存储器单元执行编程操作、读取操作和擦除操作所需的操作电压输出至全局线。
行解码器可以联接在全局线和局部线之间,使得由电压产生电路输出至全局线的操作电压可以被传递至存储器单元阵列110中的所选择存储块的局部线。
页面缓冲器组140可以包括分别通过位线BL1至BLk联接至存储器单元阵列110的多个页面缓冲器PB1至PBk。页面缓冲器PB1至PBk可以响应于控制电路120的PB控制信号PBCON,根据从输入/输出电路160输入的数据DATA来选择性地对位线BL1至BLk进行预充电,以便将数据DATA存储在存储器单元中,或者页面缓冲器PB1至PBk可以感测位线BL1至BLk的电压,以便从存储器单元读取数据DATA。
列解码器150可以响应于从控制电路120输出的列地址信号CADD,选择页面缓冲器组140中的页面缓冲器PB1至PBk中的至少一个。即,列解码器150可以响应于列地址信号CADD,将待被存储在存储器单元中的数据DATA顺序地传递至页面缓冲器PB1到PBk。列解码器150可以响应于列地址信号CADD顺序地选择页面缓冲器PB1至PBk,使得在读取操作中被锁存在页面缓冲器PB1至PBk上的存储器单元的数据DATA可以通过输入/输出电路160被输出至另一个装置。
在编程操作中,输入/输出电路160可以在控制电路120的控制下将数据DATA传递至列解码器150。数据DATA可以通过列解码器150被传递至页面缓冲器组140,并且可以通过页面缓冲器组140被存储在相应的存储器单元中。当列解码器150将从输入/输出电路160接收的数据DATA传递至页面缓冲器组140的页面缓冲器PB1至PBk时,页面缓冲器PB1至PBk可以将输入的数据DATA存储在其中的锁存电路(未示出)中。在读取操作中,输入/输出电路160可以将通过列解码器150从页面缓冲器组140的页面缓冲器PB1至PBk接收的数据DATA输出至外部。
图5是示出根据本公开的实施例的存储器单元阵列,例如图4的存储器单元阵列110的框图。
参照图5,存储器单元阵列110可包括多个存储块BLK1至BLKz。每个存储块具有三维结构。每个存储块可以包括堆叠在衬底上方的多个存储器单元。多个存储器单元可以沿+X,+Y和+Z方向布置。将参照图6更详细地描述每个存储块的结构。
在编程操作中,可以选择多个存储块BLK1至BLKz中的至少一个存储块作为开放块,使得可以执行编程操作。
图6是示出根据本公开的实施例的存储器块,例如图5中所示的存储器块BLK1到BLKz中的一个存储器块的电路图。
参照图6,每个存储块可以包括联接在位线BL1至BLk与公共源极线CSL之间的多个串ST1至STk。即,串ST1至STk可以分别联接至相应的位线BL1至BLk,并且可以共同联接至公共源极线CSL。串ST1至STk中的每一个可以包括具有联接至公共源极线CSL的源极的源极选择晶体管SST、多个存储器单元C01至Cn1以及具有联接至位线BL1的漏极的漏极选择晶体管DST。存储器单元C01至Cn1可以串联地联接在选择晶体管SST和DST之间。源极选择晶体管SST的栅极可以联接至源极选择线SSL。存储器单元C01至Cn1的栅极可以分别联接至字线WL0至WLn。漏极选择晶体管DST的栅极可以联接至漏极选择线DSL。
可以物理页面或逻辑页面为单位划分存储块中的存储器单元。例如,联接至一个字线(例如,WL0)的存储器单元C01到C0k可以构成一个物理页面PAGE0。这样的页面可以是编程操作或读取操作的基本单位。
图7是示出根据本公开的实施例的存储器系统的操作方法的流程图。
图8是示出根据本公开的实施例的数据集的结构的示图。
下面将参照图1至图8描述根据本公开的实施例的存储器系统的操作方法。
参照图7,当从主机1400接收到写入命令和多个数据(S710)时,控制器1200的处理器1220可以生成与所接收的写入命令相对应的内部命令并将该内部命令进行排队。
而且,处理器1220可以使用与写入命令和多个数据一起接收的地址来生成至少一个数据集(S720)。每个数据集可以包括元数据,该元数据包括映射数据和与数据集相对应的命名空间的识别(ID)信息。
参照图8,数据集可以包括多个逻辑页面Logical Page 0至LogicalPage 3。每个逻辑页面可以对应于基于存储器装置1100的LBA而被区分的区域。例如,逻辑页面LogicalPage 0可以对应于具有LBA(W至W+7)的区域,逻辑页面Logical Page 1可以对应于具有LBA(X至X+7)的区域,逻辑页面Logical Page 2可以对应于具有LBA(Y至Y+7)的区域,逻辑页面Logical Page 3可以对应于具有LBA(Z至Z+7)的区域。区域LBA(W至W+7)、LBA(X至X+7)、LBA(Y至Y+7)和LBA(Z至Z+7)中的每一个可以对应于一个命名空间区域。
在各种实施例中,一个逻辑页面可包括至少一个代码字区域。例如,逻辑页面Logical Page 0可以包括两个代码字,例如代码字0和代码字1的区域。代码字0可以包括多个扇区Sector LBA W至Sector LBA W+3、元数据Meta data和错误校正码(ECC)数据。代码字1可以包括多个扇区Sector LBA W+4至Sector LBA W+7、元数据Meta data和ECC数据。即,一个代码字可以被配置成包括用多个扇区定义的用户数据、元数据和与ECC相关的数据。元数据可以包括用户数据的映射数据和与每个数据集相对应的命名空间的ID信息。
数据集可以存储在图1的缓冲存储器1300或存储器缓冲器1230中。
再次参照图7,闪存控制电路1240可以控制存储器装置1100,使得存储在缓冲存储器1300或存储器缓冲器1230中的数据集被存储在存储器装置1100的SLC缓冲器SLC_BF中(S730)。例如,闪存控制电路1240可以响应于与写入操作对应的内部命令,生成并输出用于控制存储器装置1100的写入操作的闪存命令。闪存控制电路1240可以控制存储器装置1100以将被缓冲在存储器缓冲器1230或缓冲存储器1300中的至少一个数据集存储在存储器装置1100的SLC缓冲器SLC_BF中。
随后,闪存控制电路1240可以控制存储器装置1100,使得基于数据集中包括的元数据,将存储在存储器装置1100的SLC缓冲器SLC_BF中的每个数据集移动并存储在多个命名空间(例如,Namespace 0NS_0至Namespace K NS_K)中的相应的命名空间中(S740)。
命名空间管理电路1250可以基于数据集中的每一个中包括的命名空间的ID信息,区分针对每个命名空间的、存储在存储器装置1100的SLC缓冲器SLC_BF中的数据集。而且,命名空间管理电路1250可以控制存储器装置1100,使得通过根据数据的有效数据计数确定存储器装置1100的开放块的数量,将包括在数据集中的数据存储在命名空间中。
图9是示出根据本公开的实施例的将来自缓冲器(例如,SLC缓冲器)的数据集编程到存储器系统中的开放块的操作的示图。
将参照图9更详细地描述图7的上述步骤S740。
当与存储在SLC缓冲器SLC_BF中的数据集(例如,第一至第四数据集)相对应的命名空间的数量是一个时,即当存储在SLC缓冲器SLC_BF中的数据集对应于相同的命名空间时,如图9(a)所示,可以通过选择一个开放块来对第一到第四数据集执行编程操作。
当与存储在SLC缓冲器SLC_BF中的数据集(例如,第一至第四数据集)相对应的命名空间的数量是两个或更多个,并且有效数据计数大于或等于设定值的命名空间的数量是两个或更多个时,可以通过选择两个或更多个开放块来对第一到第四数据集执行编程操作。例如,如图9(b)所示,当第一至第四数据集中的第一和第三数据集对应于一个命名空间(例如,第一命名空间),第一至第四数据集中的第二和第四数据集对应于另一命名空间(例如,第二命名空间),并且第一和第三数据集的有效数据计数大于或等于设定值时,可以通过在第一命名空间中选择一个开放块(例如,第一开放块)来对第一和第三数据集执行编程操作。另外,当第二和第四数据集的有效数据计数大于或等于设定值时,可以通过在第二命名空间中选择一个开放块(例如,第二开放块)来对第二和第四数据集执行编程操作。
因此,当存储在SLC缓冲器SLC_BF中的数据集被存储在至少两个命名空间中时,根据有效数据计数来选择至少两个开放块,使得具有不同数据特性的数据集可以被存储在不同的开放块中。即,可以防止与两个或更多个命名空间相对应的数据集被一起编程在一个开放块中。因此,可以提高存储器系统的读取性能,并且可以防止不必要的垃圾收集操作。
图10是示出根据本公开另一实施例的存储器系统的示图。
参照图10,存储器系统30000可以被实施为蜂窝电话、智能电话、平板个人计算机(PC)、个人数字助理(PDA)或无线通信装置。存储器系统30000可以包括存储器装置1100和能够控制存储器装置1100的操作的存储器控制器1200。存储器控制器1200可以在处理器3100的控制下来控制存储器装置1100的数据访问操作,例如编程操作、擦除操作、读取操作等。图3的命名空间管理电路1250可以作为处理器3100的部件而被包括在处理器3100中。
可以在存储器控制器1200的控制下通过显示器3200输出被编程在存储器装置1100中的数据。
无线电收发器3300可以通过天线ANT传输和接收无线电信号。例如,无线电收发器3300可以将通过天线ANT接收的无线电信号转换为可以由处理器3100处理的信号。因此,处理器3100可以处理从无线电收发器3300输出的信号并将处理后的信号传输至存储器控制器1200或显示器3200。存储器控制器1200可以将由处理器3100处理的信号传输至存储器装置1100。而且,无线电收发器3300可以将从处理器3100输出的信号转换为无线电信号,并通过天线ANT将转换后的无线电信号输出至外部装置。输入装置3400能够输入用于控制处理器3100的操作的控制信号或者由处理器3100处理的数据,并且可以被实施为诸如触摸板或计算机鼠标的定点装置、小键盘或键盘。处理器3100可以控制显示器3200的操作,使得可以通过显示器3200输出从存储器控制器1200输出的数据、从无线电收发器3300输出的数据或从输入装置3400输出的数据。
在一些实施例中,能够控制存储器装置1100的操作的存储器控制器1200可以被实施为处理器3100的一部分,或者被实施为独立于处理器3100的芯片。而且,存储器控制器1200可以用图3中所示的控制器来实施。
图11是示出根据本公开另一实施例的存储器系统的示图。
参照图11,存储器系统40000可以被实施为个人计算机(PC)、平板PC、上网本、电子阅读器、个人数字助理(PDA)、便携式媒体或多媒体播放器(PMP)、MP3播放器或MP4播放器。
存储器系统40000可以包括存储器装置1100和能够控制存储器装置1100的数据处理操作的存储控制器1200。
处理器4100可以根据通过输入装置4200输入的数据,通过显示器4300输出存储在存储器装置1100中的数据。例如,输入装置4200可以被实施为诸如触摸板或计算机鼠标的定点装置、小键盘或键盘。
处理器4100可以控制存储器系统40000的全部操作,并且控制存储器控制器1200的操作。在一些实施例中,能够控制存储器装置1100的操作的存储器控制器1200可以被实施为处理器4100的一部分,或者被实施为独立于处理器4100的芯片。而且,存储器控制器1200可以用图3所示的控制器来实施。另外,图3的命名空间管理电路1250可以作为处理器4100的部件而被包括在处理器4100中。
图12是示出根据本公开另一实施例的存储器系统的示图。
参照图12,存储器系统50000可以被实施为图像处理装置,例如数码相机、附设有数码相机的移动终端、附设有数码相机的智能手机或者附设有数码相机的平板PC。
存储器系统50000可以包括存储器装置1100和能够控制存储器装置1100的数据处理操作,例如编程操作、擦除操作或读取操作的存储器控制器1200。
存储器系统50000的图像传感器5200可以将光学图像转换为数字信号。转换后的数字信号可以被传输至处理器5100或存储器控制器1200。在处理器5100的控制下,转换后的数字信号可以通过显示器5300输出,或者通过存储器控制器1200被存储在存储器装置1100中。另外,可以在处理器5100或存储器控制器1200的控制下通过显示器5300输出存储器装置1100中存储的数据。
在一些实施例中,能够控制存储器装置1100的操作的存储器控制器1200可以被实施为处理器5100的一部分,或者被实施为独立于处理器5100的芯片。而且,存储器控制器1200可以用图3中所示的控制器来实现。另外,图3的命名空间管理电路1250可以作为处理器5100的部件而被包括在处理器5100中。
图13是示出根据本公开另一实施例的存储器系统的示图。
参照图13,存储器系统70000可以被实施为存储卡或智能卡。存储器系统70000可以包括存储器装置1100、存储控制器1200和卡接口7100。
存储器控制器1200可以控制存储器装置1100和卡接口7100之间的数据交换。在一些实施例中,卡接口7100可以是安全数字(SD)卡接口或多媒体卡(MMC)接口,但是本公开不限于此。而且,存储器控制器1200可以用图3中所示的控制器来实施。
卡接口7100可以根据主机60000的协议来接口连接主机60000和存储器控制器1200之间的数据交换。在一些实施例中,卡接口7100可以支持通用串行总线(USB)协议和芯片间(IC)-USB协议。卡接口7100可以表示能够支持主机60000使用的协议的硬件、嵌入在硬件中的软件或信号传输方案。
当存储器系统70000联接至诸如下列的主机60000的主机接口6200时:PC、平板PC、数码相机、数字音频播放器、蜂窝电话、控制台视频游戏硬件或数字机顶盒,主机接口6200可以在微处理器6100的控制下通过卡接口7100和存储器控制器1200与存储器装置1100执行数据通信。
根据本公开,当从主机接收的数据被存储在多个命名空间中时,使用每个命名空间中存储的数据中包括的元数据来对该数据进行区分。然后,被区分的数据被存储在至少两个开放块中。因此,可以提高存储器系统的读取性能,并且可以防止不必要的垃圾收集操作。
本文已经公开了各种实施例,并且虽然采用了特定术语,但是这些特定术语以一般性和描述性意义被使用和解释,而不是为了限制的目的。在某些情况下,如自提交本申请起对于本领域技术人员显而易见的是,除非另有具体指示,否则结合特定实施例描述的特征、特性和/或元件可以单独使用与结合其它实施例描述的特征、特性和/或元件组合使用。因此,本领域技术人员将理解的是,在不脱离所附权利要求中阐述的本公开的精神和范围的情况下,可以进行形式和细节上的各种改变。
Claims (18)
1.一种存储器系统,包括:
存储器装置,被划分成多个命名空间;以及
控制器,响应于写入命令控制所述存储器装置的编程操作,其中所述控制器生成多个数据集,
其中所述控制器控制所述存储器装置将正在输入的多个数据转换为多个数据集,并且使用多个数据集的每一个中包括的元数据将多个数据集编程到多个命名空间中,
所述控制器控制所述存储器装置使得多个命名空间之中与待编程的有效数据的计数值大于或等于设定值的命名空间相对应的数据集被编程到不同的开放块中。
2.根据权利要求1所述的存储器系统,其中所述多个命名空间包括通过基于逻辑块地址,即LBA划分所述存储器装置的存储空间而获得的区域。
3.根据权利要求1所述的存储器系统,其中所述控制器生成多个数据集,使得将存储所述多个数据集的选择命名空间的识别信息,即ID信息被包括在所述元数据中。
4.根据权利要求1所述的存储器系统,其中所述控制器基于识别信息,即ID信息来区分所述多个数据集中的每个数据集。
5.根据权利要求1所述的存储器系统,其中所述存储器装置进一步包括单个缓冲器,所述单个缓冲器临时存储所述多个数据集,并且然后将临时存储的至少一个数据集移动到选择命名空间。
6.根据权利要求1所述的存储器系统,其中所述控制器控制多个命名空间中的每一个的有效数据的计数值并且所述有效数据的计数值是与一个命名空间相对应的至少一个数据集中包括的有效数据的总和。
7.根据权利要求1所述的存储器系统,其中所述控制器包括:
处理器,响应于所述写入命令来生成内部命令,并且响应于输入数据和所接收的地址来生成所述多个数据集;
存储器缓冲器,临时存储所述多个数据集;
闪存控制电路,响应于所述内部命令来控制所述存储器装置;以及
命名空间管理电路,基于识别信息,即ID信息来区分所述多个数据集。
8.根据权利要求7所述的存储器系统,其中所述命名空间管理电路区分针对所述多个命名空间中的每个命名空间的所述多个数据集中的数据的有效数据计数,并且管理被区分的有效数据计数。
9.根据权利要求8所述的存储器系统,其中所述命名空间管理电路根据与所述多个数据集相对应的命名空间的数量以及与每个命名空间相对应的有效数据计数的数量,来确定所述存储器装置的开放块的数量。
10.根据权利要求9所述的存储器系统,其中当与存储在单个缓冲器中的所述多个数据集相对应的命名空间的数量是两个或更多个,并且有效数据计数大于或等于设定值的命名空间的数量是两个或更多个时,所述命名空间管理电路控制所述存储器装置以通过选择至少两个开放块来执行编程操作。
11.根据权利要求10所述的存储器系统,其中所述命名空间管理电路控制所述存储器装置,使得有效数据计数大于或等于所述设定值的所述多个数据集被编程在不同的开放块中。
12. 一种存储器系统,包括:
存储器装置,被划分成多个命名空间;以及
控制器,基于输入数据来生成多个数据集,并且控制所述存储器装置以将所述多个数据集存储在所述多个命名空间中,
其中所述控制器控制所述存储器装置以基于包括识别信息,即ID信息的元数据,将所述多个数据集存储在所述多个命名空间中,所述ID信息将所述数据集中的每个数据集与所述命名空间中的一个命名空间相关联,
其中所述控制器控制所述存储器装置使得多个命名空间之中与待编程的有效数据的计数值大于或等于设定值的命名空间相对应的数据集被编程到不同的开放块中。
13.根据权利要求12所述的存储器系统,其中所述多个命名空间包括通过基于逻辑块地址,即LBA划分所述存储器装置的存储空间而获得的区域。
14.根据权利要求12所述的存储器系统,其中所述控制器基于其ID信息来区分所述多个数据集。
15.根据权利要求12所述的存储器系统,其中当与所述多个数据集相对应的命名空间的数量是两个或更多个,并且有效数据计数等于或大于设定值的命名空间的数量是两个或更多个时,所述控制器控制所述存储器装置以通过选择至少两个开放块来执行编程操作。
16.一种操作存储器系统的方法,所述方法包括:
从主机接收写入命令和多个数据;
基于所述多个数据来生成多个数据集,其中所述多个数据集中的每个数据集包括元数据;
使用所述元数据来区分关于存储器装置的多个命名空间的所述多个数据集;
其中根据所述多个命名空间区分的多个数据集被存储在所述存储器装置的多个命名空间中,并且多个命名空间之中与待编程的有效数据的计数值大于或等于设定值的命名空间相对应的数据集被编程到不同的开放块中。
17.根据权利要求16所述的方法,其中所述多个命名空间包括通过基于逻辑块地址,即LBA划分所述存储器装置的存储空间而获得的区域。
18.根据权利要求16所述的方法,其中所述多个数据集中的每个数据集的元数据包括所述多个命名空间中的相应命名空间的标识信息,即ID信息。
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR10-2018-0025931 | 2018-03-05 | ||
KR1020180025931A KR102503177B1 (ko) | 2018-03-05 | 2018-03-05 | 메모리 시스템 및 그것의 동작 방법 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN110232035A CN110232035A (zh) | 2019-09-13 |
CN110232035B true CN110232035B (zh) | 2023-06-27 |
Family
ID=67768607
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201811212400.3A Active CN110232035B (zh) | 2018-03-05 | 2018-10-18 | 存储器系统以及存储器系统的操作方法 |
Country Status (3)
Country | Link |
---|---|
US (1) | US10698635B2 (zh) |
KR (1) | KR102503177B1 (zh) |
CN (1) | CN110232035B (zh) |
Families Citing this family (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR20210028335A (ko) | 2019-09-04 | 2021-03-12 | 에스케이하이닉스 주식회사 | 메모리 시스템, 메모리 컨트롤러 및 동작 방법 |
KR20210108107A (ko) | 2020-02-25 | 2021-09-02 | 에스케이하이닉스 주식회사 | 메모리 시스템 및 그것의 동작방법 |
KR20210125774A (ko) | 2020-04-09 | 2021-10-19 | 에스케이하이닉스 주식회사 | 데이터 저장 장치 및 그 동작 방법 |
US20220019370A1 (en) * | 2020-07-16 | 2022-01-20 | Micron Technology, Inc. | Partial zone memory unit handling in a zoned namespace of a memory device |
KR20220029903A (ko) * | 2020-09-02 | 2022-03-10 | 에스케이하이닉스 주식회사 | 메모리 시스템 및 메모리 시스템의 동작 방법 |
JP2022094705A (ja) | 2020-12-15 | 2022-06-27 | キオクシア株式会社 | メモリシステムおよび制御方法 |
US11775200B2 (en) | 2021-04-19 | 2023-10-03 | Western Digital Technologies, Inc. | Control block management in storage devices |
JP2023044135A (ja) * | 2021-09-17 | 2023-03-30 | キオクシア株式会社 | メモリシステムおよび制御方法 |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102290105A (zh) * | 2010-03-09 | 2011-12-21 | 三星电子株式会社 | 具有多位存储器件的数据存储系统及其操作方法 |
CN107643985A (zh) * | 2016-07-21 | 2018-01-30 | 爱思开海力士有限公司 | 存储器系统及其操作方法 |
Family Cites Families (22)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101170416B (zh) * | 2006-10-26 | 2012-01-04 | 阿里巴巴集团控股有限公司 | 网络数据存储系统及其数据访问方法 |
CN101763428A (zh) * | 2010-01-04 | 2010-06-30 | 山东浪潮齐鲁软件产业股份有限公司 | 一种SOA对web服务的注册存储管理应用系统 |
US9208071B2 (en) * | 2010-12-13 | 2015-12-08 | SanDisk Technologies, Inc. | Apparatus, system, and method for accessing memory |
US9495478B2 (en) * | 2014-03-31 | 2016-11-15 | Amazon Technologies, Inc. | Namespace management in distributed storage systems |
US20150347402A1 (en) * | 2014-05-29 | 2015-12-03 | Netapp, Inc. | System and method for enabling a client system to generate file system operations on a file system data set using a virtual namespace |
US20160034201A1 (en) | 2014-08-04 | 2016-02-04 | International Business Machines Corporation | Managing de-duplication using estimated benefits |
US10102118B2 (en) * | 2014-10-30 | 2018-10-16 | Toshiba Memory Corporation | Memory system and non-transitory computer readable recording medium |
US10579272B2 (en) * | 2015-04-07 | 2020-03-03 | Telefonaktiebolaget Lm Ericsson (Publ) | Workload aware storage platform |
US20160342463A1 (en) | 2015-05-20 | 2016-11-24 | Kabushiki Kaisha Toshiba | Data protection in a namespace |
JP2017027388A (ja) * | 2015-07-23 | 2017-02-02 | 株式会社東芝 | メモリシステムおよび不揮発性メモリの制御方法 |
JP6403162B2 (ja) | 2015-07-23 | 2018-10-10 | 東芝メモリ株式会社 | メモリシステム |
KR20170013697A (ko) | 2015-07-28 | 2017-02-07 | 삼성전자주식회사 | 데이터 저장 장치, 및 이를 포함하는 데이터 처리 시스템 |
US9940028B2 (en) | 2015-11-13 | 2018-04-10 | Samsung Electronics Co., Ltd | Multimode storage device |
KR20170059049A (ko) * | 2015-11-19 | 2017-05-30 | 에스케이하이닉스 주식회사 | 메모리 시스템 및 메모리 시스템의 동작 방법 |
JP6448571B2 (ja) * | 2016-03-08 | 2019-01-09 | 東芝メモリ株式会社 | ストレージシステム、情報処理システムおよび制御方法 |
KR102512448B1 (ko) * | 2016-03-28 | 2023-03-22 | 에스케이하이닉스 주식회사 | 메모리 시스템 및 그의 동작 방법 |
US20170315875A1 (en) * | 2016-04-29 | 2017-11-02 | Netapp, Inc. | Namespace policy based deduplication indexes |
TWI622923B (zh) * | 2016-05-04 | 2018-05-01 | 群聯電子股份有限公司 | 整理指令處理方法、記憶體控制電路單元與記憶體儲存裝置 |
CN107346209B (zh) * | 2016-05-08 | 2022-05-20 | 上海霄云信息科技有限公司 | 一种多磁盘聚合式数据存储系统及其实现方法与应用方法 |
JP6524039B2 (ja) * | 2016-09-23 | 2019-06-05 | 東芝メモリ株式会社 | メモリシステム及び制御方法 |
US10275361B2 (en) * | 2017-05-31 | 2019-04-30 | Seagate Technology Llc | Managing multiple namespaces in a non-volatile memory (NVM) |
CN107302637B (zh) * | 2017-08-15 | 2020-03-10 | 北京安云世纪科技有限公司 | 一种基于命名空间实现分类控制的方法及系统 |
-
2018
- 2018-03-05 KR KR1020180025931A patent/KR102503177B1/ko active IP Right Grant
- 2018-09-26 US US16/142,146 patent/US10698635B2/en active Active
- 2018-10-18 CN CN201811212400.3A patent/CN110232035B/zh active Active
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102290105A (zh) * | 2010-03-09 | 2011-12-21 | 三星电子株式会社 | 具有多位存储器件的数据存储系统及其操作方法 |
CN107643985A (zh) * | 2016-07-21 | 2018-01-30 | 爱思开海力士有限公司 | 存储器系统及其操作方法 |
Also Published As
Publication number | Publication date |
---|---|
KR20190105414A (ko) | 2019-09-17 |
US20190272118A1 (en) | 2019-09-05 |
KR102503177B1 (ko) | 2023-02-24 |
CN110232035A (zh) | 2019-09-13 |
US10698635B2 (en) | 2020-06-30 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN110232035B (zh) | 存储器系统以及存储器系统的操作方法 | |
CN110221992B (zh) | 存储器系统以及存储器系统的操作方法 | |
US11645010B2 (en) | Solid state drive (SSD) memory system improving the speed of a read operation using parallel DMA data transfers | |
US10990539B2 (en) | Controller, memory system including the same, and method of operating memory system | |
CN110096222B (zh) | 存储器系统及存储器系统的操作方法 | |
CN111009277A (zh) | 存储器系统及其操作方法 | |
CN111338976A (zh) | 存储器系统以及存储器系统的操作方法 | |
CN112185449A (zh) | 存储器系统以及操作存储器系统的方法 | |
CN111768809A (zh) | 存储器系统及其操作方法 | |
KR20200132270A (ko) | 메모리 장치, 메모리 장치를 포함하는 메모리 시스템 및 메모리 시스템의 동작 방법 | |
CN111240585B (zh) | 控制器、包括控制器的存储器系统及其操作方法 | |
CN110162485B (zh) | 存储系统及其操作方法 | |
CN109815159B (zh) | 存储器系统及其操作方法 | |
CN110309075B (zh) | 存储器控制器以及具有存储器控制器的存储器系统 | |
CN111209224A (zh) | 存储器系统及其操作方法 | |
CN111209223B (zh) | 存储器系统及其操作方法 | |
US10942675B2 (en) | Memory system and operating method thereof | |
CN113220217A (zh) | 存储器系统及其操作方法 | |
CN111105833B (zh) | 存储器装置、存储器系统及操作存储器系统的方法 | |
KR102668562B1 (ko) | 메모리 시스템 및 그것의 동작 방법 | |
US20210134383A1 (en) | Memory system and operating method of the memory system |
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 |