CN110389908A - 存储器系统、数据处理系统和存储器系统的操作方法 - Google Patents
存储器系统、数据处理系统和存储器系统的操作方法 Download PDFInfo
- Publication number
- CN110389908A CN110389908A CN201910295345.7A CN201910295345A CN110389908A CN 110389908 A CN110389908 A CN 110389908A CN 201910295345 A CN201910295345 A CN 201910295345A CN 110389908 A CN110389908 A CN 110389908A
- Authority
- CN
- China
- Prior art keywords
- address
- specific
- logical address
- controller
- host apparatus
- 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
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/0292—User address space allocation, e.g. contiguous or non contiguous base addressing using tables or multilevel address translation means
-
- 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/0614—Improving the reliability of storage systems
- G06F3/0616—Improving the reliability of storage systems in relation to life time, e.g. increasing Mean Time Between Failures [MTBF]
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F12/00—Accessing, addressing or allocating within memory systems or architectures
- G06F12/02—Addressing or allocation; Relocation
- G06F12/0223—User address space allocation, e.g. contiguous or non contiguous base addressing
- G06F12/023—Free address space management
- G06F12/0238—Memory management in non-volatile memory, e.g. resistive RAM or ferroelectric memory
- G06F12/0246—Memory management in non-volatile memory, e.g. resistive RAM or ferroelectric memory in block erasable memory, e.g. flash memory
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0602—Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
- G06F3/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/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
-
- 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/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/10—Providing a specific technical effect
- G06F2212/1032—Reliability improvement, data loss prevention, degraded operation etc
- G06F2212/1036—Life time enhancement
-
- 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/7211—Wear leveling
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)
- Memory System (AREA)
- Techniques For Improving Reliability Of Storages (AREA)
Abstract
本发明涉及一种存储器系统,该存储器系统包括:非易失性存储器装置,包括多个存储块;以及控制器,生成用于主机装置的逻辑地址与非易失性存储器装置的物理地址之间的映射信息的映射表,并且控制将该映射表存储在存储块中。控制器可包括主机接口单元和特定存储器,其中主机接口单元从主机装置接收待写入特定映射表的特定逻辑地址,并且特定存储器存储特定映射表。
Description
相关申请的交叉引用
本申请要求于2018年4月16日向韩国知识产权局提交的申请号为10-2018-0043926的韩国申请的优先权,其全部内容通过引用并入本文。
技术领域
各个实施例总体涉及一种用于防止为了获取映射表而频繁地访问非易失性存储器装置所造成的性能劣化的方法。
背景技术
存储器系统可被配置成响应于来自用户装置的写入请求而存储从用户装置提供的数据。而且,存储器系统可被配置成响应于来自用户装置的读取请求而向用户装置提供存储的数据。能够处理数据的用户装置可以是例如计算机、数码相机或移动电话。存储器系统可被设置在用户装置中并在用户装置中进行操作,或者可以作为联接到用户装置的独立部件进行操作。
因为这种存储器系统不存在机械驱动部件,所以这种存储器系统提供诸如优异的稳定性和耐用性、高信息访问速度和低功耗的优点。具有这些优点的存储器系统包括通用串行总线(USB)存储器装置、具有各种接口的存储卡、通用闪存(UFS)装置和固态驱动器(SSD)。
发明内容
在实施例中,一种存储器系统可包括:非易失性存储器装置,包括多个存储块;以及控制器,被配置成生成用于主机装置的逻辑地址与非易失性存储器装置的物理地址之间的映射信息的映射表,并且控制将映射表存储在存储块中,该控制器可包括主机接口和特定存储器,其中主机接口被配置成从主机装置接收待写入特定映射表中的特定逻辑地址,以及特定存储器被配置成存储特定映射表。
在一个实施例中,一种数据处理系统可包括:非易失性存储器装置,包括多个存储块;主机装置,被配置成生成写入请求,该写入请求包括与待存储在非易失性存储器装置中的写入数据相对应的逻辑地址;以及控制器,被配置成从主机装置接收写入请求,以生成包括逻辑地址与非易失性存储器装置的物理地址之间的映射信息的映射表,并且控制将该映射表存储在存储块中,其中写入请求可包括关于逻辑地址是否是特定逻辑地址的信息,并且控制器可包括特定存储器,当逻辑地址是特定逻辑地址时,包括特定逻辑地址的映射信息的特定映射表被存储在特定存储器中。
在一个实施例中,一种存储器系统的操作方法可包括以下步骤:从主机装置接收待写入在特定映射表中的特定逻辑地址;将特定逻辑地址的映射信息写入特定映射表中;并且将特定映射表存储在特定存储器中,其中该特定映射表可固定到特定存储器。
在一个实施例中,一种存储器系统包括:存储器装置;以及控制器,包括存储器,适于:从主机装置接收请求和逻辑地址,该请求包括指示逻辑地址是否是设置逻辑地址的信息;根据该信息来确定逻辑地址是否是设置逻辑地址;当确定逻辑地址是设置逻辑地址时,生成映射表以存储逻辑地址与存储器装置的、对应于该逻辑地址的物理地址之间的映射信息;并且将该映射表存储在存储器中。
因此,在根据实施例的存储器系统中,将频繁执行读取操作的逻辑地址的映射信息固定到控制器的内部存储器,使得能够减少为了获取映射表而对非易失性存储器装置的访问次数。
附图说明
图1是示意性地示出根据实施例的数据处理系统的框图。
图2A和图2B分别是示意性地示出映射表和特定映射表的示例的示图。
图3是示意性地示出根据实施例的存储器系统或数据处理系统的操作的流程图。
图4A是示出根据实施例的包括在从主机装置接收的读取请求中的信息的示图。
图4B是示意性地示出根据实施例的存储器系统或数据处理系统的操作的流程图。
图5A是示出根据实施例的包括在从主机装置接收的写入请求中的信息的示图。
图5B是示意性地示出根据实施例的存储器系统或数据处理系统的操作的流程图。
图6是示意性地示出根据实施例的包括固态驱动器(SSD)的数据处理系统的示图。
图7是示意性地示出包括根据实施例的存储器系统的数据处理系统的示图。
图8是示意性地示出包括根据实施例的存储器系统的数据处理系统的示图。
图9是示意性地示出包括根据实施例的存储器系统的网络系统的示图。
图10是示意性地示出根据实施例的包括在存储器系统中的非易失性存储器装置的框图。
具体实施方式
从结合附图描述的以下实施例中,用于实现本发明的优点、特征和方法将变得更加显而易见。然而,本发明的元件和特征可被不同地配置或布置以形成其它实施例,这些实施例可以是任何所公开的实施例的变型或修改。因此,本发明不限于本文阐述的实施例。相反,提供这些实施例以详细地描述本发明,使得本发明所属领域的技术人员能够容易地实施本发明。在整个公开中,相同的附图标记在本发明的各个附图和实施例中表示相同的部件。应注意的是,对“实施例”等的参考不一定意味着仅针对一个实施例,并且对“实施例”或类似词语的不同参考不一定针对相同的实施例。
将理解的是,本发明的实施例不限于附图中所示的细节,附图不一定按比例绘制,在一些情况下,可能夸大比例以更清楚地描绘本发明的某些特征。虽然本文使用了特定术语,但是应当理解,这种术语仅用于描述特定实施例的目的,而不旨在限制本发明的范围。
如本文所使用的,术语“和/或”包括一个或多个相关所列项目的任何和全部组合。将理解的是,当一个元件被称为“在另一元件上”、“连接至”或“联接至”另一元件时,它可以直接在另一元件上、连接至或联接至另一元件,或可以存在中间元件。如本文使用的,除非上下文另有明确说明,否则单数形式也旨在包括复数形式,反之亦然。将进一步理解的是,当在本说明书中使用例如“包括”和/或“包含”的开放式术语时,表示存在至少一个所陈述的特征、步骤、操作和/或元件,但不排除存在或添加一个或多个其它特征、步骤、操作和/或元件。
在下面的描述中,为了提供对本发明的全面理解,描述了大量的具体细节。可在没有一些或全部这些具体细节的情况下实施本发明。在其它情况下,为了避免不必要地模糊本发明,未详细地描述公知的进程结构和/或进程。
下面参照附图描述存储器系统、数据处理系统和存储器系统的操作方法的各个实施例。
图1是示意性地示出根据实施例的数据处理系统的框图。
参照图1,数据处理系统10可包括存储器系统100和主机装置400。存储器系统100可存储由主机装置400访问的数据,该主机装置400可以是诸如蜂窝电话、MP3播放器、膝上型计算机、台式计算机、游戏机、电视和车载信息娱乐系统的各种各样的装置中的任何一种。
存储器系统100可根据指示与主机装置400之间的传输协议的主机接口而被配置成各种类型的存储装置中的任何一种。例如,存储器系统100可被配置成以下中的任意一种:固态驱动器(SSD),MMC、eMMC、RS-MMC或微型-MMC形式的多媒体卡,SD、迷你-SD或微型-SD形式的安全数字卡,通用串行总线(USB)存储装置,通用闪存(UFS)装置,个人计算机存储卡国际协会(PCMCIA)卡形式的存储装置,外围组件互连(PCI)卡形式的存储装置,高速PCI(PCI-e或PCIe)卡形式的存储装置,标准闪存(CF)卡,智能媒体卡和记忆棒。
存储器系统100可被制造为各种类型的封装中的任何一种。例如,存储器系统100可被制造为堆叠封装(POP)、系统级封装(SIP)、片上系统(SOC)、多芯片封装(MCP)、板上芯片(COB)、晶圆级制造封装(WFP)和晶圆级堆叠封装(WSP)中的任意一种。
存储器系统100可包括控制器200。控制器200可包括控制电路210、随机存取存储器220、主机接口230和存储器接口240。
控制电路210可利用硬件和软件的适当组合来配置,并且可被实施为微控制单元(MCU)和/或中央处理单元(CPU)。控制电路210可处理从主机装置400接收的请求。为了处理该请求,控制电路210可执行加载在随机存取存储器220上的代码类型的指令或算法,即固件(FW),并且控制内部功能块和非易失性存储器装置300。
随机存取存储器220可包括诸如动态随机存取存储器(DRAM)或静态随机存取存储器(SRAM)的随机存取存储器。随机存取存储器220可存储待由控制电路210执行的固件(FW)。此外,随机存取存储器220可存储执行固件(FW)所需的数据,例如元数据。也就是说,随机存取存储器220可操作为控制电路210的工作存储器。
随机存取存储器220可包括特定存储器221。特定存储器221可包括静态随机存取存储器(SRAM);然而,该实施例或整个本发明都不限于此,因为特定存储器221可包括各种类型的随机存取存储器中的任何一种。控制电路210可将特定映射表存储在特定存储器221中,该特定映射表包括由主机装置400的请求设置的特定逻辑地址的映射信息。进一步地,控制电路210可参考特定存储器221来对与特定逻辑地址相对应的数据执行读取操作。下面将详细描述以下进程:生成特定映射表,将特定映射表存储在特定存储器221中,并且基于特定映射表执行读取操作。
随机存取存储器220可用作临时存储数据的缓冲器。例如,随机存取存储器220可从非易失性存储器装置300读取与主机装置400的读取请求相对应的数据,临时存储该读取数据,然后将该读取数据传输到主机装置400。此外,随机存取存储器220可从主机装置400接收与主机装置400的写入请求相对应的写入数据,临时存储该写入数据,然后将该写入数据传输到非易失性存储器装置300。
控制器200可包括只读存储器(ROM)(未示出)。ROM可包括掩模ROM、可编程ROM(PROM)、可擦除可编程ROM(EPROM)等。
主机接口230可提供主机装置400与存储器系统100之间的接口连接。例如,主机接口230可通过使用诸如以下的标准传输协议中的至少一种与主机装置400通信:安全数字、通用串行总线(USB)、多媒体卡(MMC)、嵌入式MMC(eMMC)、个人计算机存储卡国际协会(PCMCIA)、并行高级技术附件(PATA)、串行高级技术附件(SATA)、小型计算机系统接口(SCSI)、串列SCSI(SAS)、外围组件互连(PCI)、高速PCI(PCI-e或PCIe)和通用闪存(UFS)。
存储器接口240可在控制电路210的控制下控制非易失性存储器装置300。存储器控制接口240可将控制信号提供到非易失性存储器装置300。控制信号可包括用于控制非易失性存储器装置300的命令、地址、控制信号等。存储器控制接口240可将数据提供到非易失性存储器装置300,或从非易失性存储器装置300接收数据。
非易失性存储器装置300可被配置成诸如以下的各种类型的非易失性存储器装置中的任何一种:NAND闪速存储器装置、NOR闪速存储器装置、使用铁电电容器的铁电随机存取存储器(FRAM)、使用隧穿磁阻(TMR)膜的磁性随机存取存储器(MRAM)、使用硫化物合金的相变随机存取存储器(PCRAM)以及使用过渡金属氧化物的电阻式随机存取存储器(ReRAM或RRAM)。
非易失性存储器装置300可包括存储器单元阵列(例如,图10的存储器单元阵列310)。包括在存储器单元阵列310中的存储器单元可在操作方面或物理(或结构)方面以分层的存储器单元组或存储器单元为单位来配置。例如,电连接到相同字线并同时被读取和写入(或编程)的存储器单元可被配置成页面。在下文中,将被配置成页面的存储器单元称为“页面”。此外,被同时删除的存储器单元可被配置成存储块。存储器单元阵列310可包括多个存储块,其中多个存储块中的每一个可包括多个页面。
存储器单元阵列310可包括存储元数据的元区域311和存储诸如用户数据的普通数据的用户区域312。元区域311可存储用于基本上管理存储在用户区域312中的数据的各种类型的信息,并且在示例中,包括逻辑地址和物理地址的映射信息的映射表可存储在元区域311中。
可在控制器200与非易失性存储器装置300之间交换关于映射表的信息。例如,当驱动存储器系统100时,将存储在元区域311中的映射表提供到控制器200,使得控制器200可参考地址映射信息来管理对非易失性存储器装置300的存储器操作。此外,控制器200可根据诸如垃圾收集的存储器操作或存储器管理操作来改变映射表,并且可对待存储在元区域311中的改变后的映射表进行管理。
元区域311可包括多个映射表。例如,存储器单元阵列310可包括多个区域,多个区域中的每一个具有设置或预定大小,并且元区域311可包括对应于多个区域的多个映射表。
作为示例,假设以下配置。如图1所示,包括在非易失性存储器装置300中的存储块中的每一个包括八个页面P0至P7,元区域311被设置为包括存储块Blk0至Blk7,并且用户区域312被设置为包括存储块Blk8至Blk1023。
近来,由于非易失性存储器装置被频繁使用在需要小型化的环境,诸如便携式终端中,所以典型数量的用作缓冲器的嵌入式易失性存储器(例如,SRAM)是不够的。因此,当将包括主机装置的逻辑地址与非易失性存储器装置的物理地址之间的映射信息的映射表存储在非易失性存储器装置的元区域中并且接收到主机装置的读取请求时,因为从非易失性存储器装置中读取所请求读取的数据的映射表并且基于该映射表执行读取操作,所以存在可能降低系统性能的问题。
为了解决这种问题,提供了一种方法,其中将最近使用的具有特定大小的映射表临时存储在高速缓存区域中,并且当存在针对在高速缓存区域中存储的映射表中的区域的读取请求时,参考高速缓存区域来获取相应的映射信息。然而,当最近请求读取的数据分布在非易失性存储器装置中存储的区域中时,即使频繁地请求读取数据,由于有限的高速缓存器区域的大小(或容量),通常需要再次访问存储器装置以获取映射表。
图2A和图2B分别是示意性地示出映射表和特定映射表的示图。
根据实施例,控制器200可基于地址映射信息生成逻辑到物理(L2P)映射表或物理到逻辑(P2L)映射表。在L2P映射表中,将逻辑地址设置为索引,将映射到逻辑地址的物理地址设置为条目。在P2L映射表中,将物理地址设置为索引,将映射到物理地址的逻辑地址设置为条目。在以下描述中,将L2P映射表描述为映射表的示例;然而,本发明不限于此,因为根据另一实施例,映射表可被实施为P2L映射表。
参照图2A,控制器200可基于地址映射信息生成映射表。根据实施例,非易失性存储器装置300中的已经存储数据的位置,即物理地址,可由块偏移OFS_Blk和页面偏移OFS_PG来指示。在下文中,物理地址由物理地址PA(OFS_Blk和OFS_PG)来指示。
如图2A所示,已分别将物理地址PA(1,0)、物理地址PA(1,1)、物理地址PA(0,0)、物理地址PA(1,7)、物理地址PA(2,1)、物理地址PA(0,2)、物理地址PA(0,3)和物理地址PA(0,4)映射到逻辑地址LA0至逻辑地址LA7。
参照图2B,主机装置400可将关于特定逻辑地址的信息传输到控制器200。控制器200可基于该信息而生成用于特定逻辑地址的映射信息的特定映射表。此外,控制器200可将所生成的特定映射表存储在随机存取存储器220的单独区域(例如,特定存储器221)中。也就是说,在本申请文件中,“特定逻辑地址”指示作为待被固定存储在控制器200的内部存储器中的映射信息的目标的逻辑地址。此外,“特定映射表”指示包括关于特定逻辑地址的映射信息的映射表。此外,“特定存储器”设置在控制器200内并且存储特定映射表。
根据实施例,特定逻辑地址可对应于用于驱动主机装置400的操作系统(OS)的数据。用于驱动OS的数据很可能是当使用主机装置400时基本使用的数据。也就是说,因为该数据是待被频繁访问的数据,所以当该数据被固定存储在控制器200的内部存储器中时,可能显著地减少为获取映射表而对非易失性存储器装置300的访问次数,从而提高了系统性能。
根据实施例,特定逻辑地址可对应于用于主机装置400的用户认证操作的数据。例如,用户认证操作可包括诸如用户标识符(ID)、密码的用户登录信息,和/或用于从云服务器等接收服务的其它认证信息,或者用于通信认证的信息。这种用户认证操作通常用于驱动主机装置400,因此频繁访问的可能性较高。
根据实施例,控制器200可将关于特定逻辑地址的信息存储在除特定存储器221以外的区域中。当从主机装置400接收到读取请求时,控制器200可参考关于特定逻辑地址的信息来确定对应于读取请求的逻辑地址是否是特定逻辑地址。在这种情况下,“关于特定逻辑地址的信息”可包括通过主机装置400被设置为特定逻辑地址的逻辑地址的列表。
例如,如图所示,主机装置400已经将逻辑地址LA0、逻辑地址LA1、逻辑地址LA5、逻辑地址LA6和逻辑地址LA7设置为特定逻辑地址,控制器200已经生成特定映射表,并且生成的特定映射表已经被存储在特定存储器中。因此,特定映射表指示特定逻辑地址的映射信息。
如图所示,已经举例说明了指示逻辑地址和物理地址的特定映射表,但本发明不限于该布置,因为该特征也可通过指示其它信息的映射表来实施。例如,当设置了连续的特定逻辑地址时,这可通过起始逻辑地址(或起始物理地址)和连续地址的数量(即,地址的长度)来指示。
图3是示意性地示出根据实施例的例如图1的存储器系统100或数据处理系统10的存储器系统或数据处理系统的操作的流程图。参照图1、图2A、图2B和图3,下面将描述针对与特定逻辑地址相对应的数据的读取操作。
主要参照图3,在步骤S1000中,主机装置400可将被设置为特定逻辑地址的逻辑地址的列表传输到控制器200。也就是说,主机装置400可将预先设置的特定逻辑地址传输到控制器200。传输时间可在启动存储器系统100之后。如图2B所示,已将逻辑地址LA0、LA1、LA5、LA6和LA7设置为特定逻辑地址。
在步骤S1100中,控制器200可生成包括从主机装置400接收的特定逻辑地址的映射信息的特定映射表,并且将该特定映射表存储在特定存储器221中。例如,将图2B的特定映射表存储在特定存储器221中。
在步骤S3000中,主机装置400可生成用于与逻辑地址LA0相对应的数据的读取请求RQ_READ(LA0),并将该读取请求RQ_READ(LA0)传输到控制器200。也就是说,主机装置400可将用于与被设置为特定逻辑地址的逻辑地址LA0相对应的数据的读取请求传输到存储器系统100。
在步骤S4000中,控制器200可确定作为从主机装置400接收的读取请求的目标的逻辑地址是否是特定逻辑地址。根据实施例,控制器200可将关于特定逻辑地址的信息存储在除特定存储器221以外的区域中。当从主机装置400接收到读取请求时,控制器200可参考关于特定逻辑地址的信息来确定与读取请求相对应的逻辑地址是否是特定逻辑地址。例如,在从主机装置400接收到被设置为特定逻辑地址的逻辑地址之后,控制器200可将特定逻辑地址的列表存储在除特定存储器221以外的区域(例如,ROM)中。如上所述,因为作为主机装置400的读取请求LA0的目标的逻辑地址LA0处于列表中,所以确定该逻辑地址LA0为特定逻辑地址。
在步骤S4100中,当确定作为读取请求的目标的逻辑地址是特定逻辑地址(S4000,是)时,控制器200可搜索特定存储器221。具体地,控制器200可参考存储在特定存储器221中的特定映射表来获取逻辑地址LA0的映射信息,并获取对应于逻辑地址LA0的物理地址。
如果确定逻辑地址LA0不是特定逻辑地址(S4000,否),则在步骤S6000中,控制器200可将读取命令CMD_READ(MPT_LA0)传输到非易失性存储器装置300以获取包括逻辑地址LA0的映射信息的映射表MPT_LA0。也就是说,当确定与读取操作的目标相对应的逻辑地址不是特定逻辑地址时,没有相应映射信息存储在特定存储器221中,并且为了获取该相应映射信息,需要读取存储在非易失性存储器装置300中的映射表并确定映射信息。
在步骤S6100中,非易失性存储器装置300可对应于控制器200的读取命令CMD_READ(MPT_LA0),从存储有映射表MPT_LA0的区域中读取映射表MPT_LA0,并且将映射表MPT_LA0传输到控制器200。
在步骤S7000中,基于从特定存储器221(步骤S4100)或非易失性存储器装置300(步骤S6100)获取的映射表MPT_LA0而确定的物理地址,控制器200可将读取命令CMD_READ(PA(1,0))传输到非易失性存储器装置300。在步骤S7100中,非易失性存储器装置300可将读取操作的目标数据传输到控制器200。目标数据可被存储在控制器200的随机存取存储器220(或缓冲存储器)中。在步骤S7200中,将目标数据传输到主机装置400,从而结束读取操作。
根据实施例,当包括由主机装置400预先设置的特定逻辑地址的映射信息的特定映射表被固定存储在特定存储器221中,并且在针对特定逻辑地址的读取操作中参考特定存储器221来获取特定逻辑地址的映射信息时,可减少为了获取映射信息而对非易失性存储器装置300的访问次数,从而可提高读取操作的性能。特别地,将被频繁执行读取操作的逻辑地址设置为特定逻辑地址并固定存储在特定存储器221中,使得可以更加高效地使用存储器系统100。
图4A是示出根据实施例的包括在从主机装置(例如,图1的主机装置400)接收的读取请求中的信息的示图。
根据实施例,主机装置400可生成读取请求RQ_READ,该读取请求RQ_READ包括关于作为读取操作的目标的逻辑地址是否是特定逻辑地址的信息。例如,如图所示,主机装置400可生成读取请求RQ_READ,该读取请求RQ_READ包括指示逻辑地址是否是特定逻辑地址的位(即,特别位“0”或“1”)。根据实施例,在读取请求RQ_READ中,与作为读取操作的目标的数据相对应的逻辑地址可由起始逻辑地址(起始LA)和逻辑地址的长度或数量(LA长度)来指示。例如,当逻辑地址LA5至逻辑地址LA7是作为读取请求的目标的逻辑地址时,“起始LA”为5并且“LA长度”为3。
根据实施例,特别位可指示逻辑地址是否是特定逻辑地址。例如,当逻辑地址不是特定逻辑地址时,特别位可由“0”表示,并且当逻辑地址是特定逻辑地址时,特别位可由“1”表示。当从主机装置400生成并输出的读取请求RQ_READ包括关于逻辑地址是否是特定逻辑地址的信息时,可不将关于特定逻辑地址的信息单独存储在控制器200中并且由控制器200管理。
图4B是示意性地示出根据实施例的例如图1的存储器系统100或数据处理系统10的存储器系统或数据处理系统的操作的流程图。参照图1、图2A、图2B、图3、图4A和图4B,下面将详细描述当从主机装置400接收到包括关于逻辑地址是否是特定逻辑地址的信息的读取请求时执行读取操作的进程。
参照图4B,可以以与参照图3描述的相同方式执行步骤S1000和步骤S1100。也就是说,可从主机装置400接收被设置为特定逻辑地址的逻辑地址的列表(步骤S1000),可生成对应于该列表的特定映射表,并且可将生成的特定映射表存储在特定存储器221中(步骤S1100)。
在步骤S3000中,控制器200可从主机装置400接收读取请求RQ_READ(LA0)。读取请求可包括图4A所示的信息。也就是说,控制器200可从主机装置400接收包括指示逻辑地址是否是特定逻辑地址的位的读取请求RQ_READ(LA0)。
在步骤S5000中,控制器200可确定包括在读取请求RQ_READ(LA0)中的特别位是否为“1”。作为示例,当特别位为“0”时,逻辑地址不是特定逻辑地址,并且当特别位为“1”时,逻辑地址是被设置为特定逻辑地址的逻辑地址。因为作为读取请求RQ_READ(LA0)的目标的逻辑地址LA0是特定逻辑地址,所以特别位为“1”。如本领域技术人员所理解的,可颠倒与逻辑地址是否是特定逻辑地址相关的逻辑。也就是说,特别位的值“0”可用于指示逻辑地址是特定逻辑地址,并且特别位的值“1”可用于指示逻辑地址不是特定逻辑地址。
在步骤S5100中,当确定作为读取请求的目标的逻辑地址是特定逻辑地址(步骤S5000,是)时,控制器200可搜索特定存储器221。具体地,控制器200可参考存储在特定存储器221中的特定映射表来获取逻辑地址LA0的映射信息,并获取对应于逻辑地址LA0的物理地址。
如果特别位不为“1”(步骤S5000,否),即该特别位为“0”,则在步骤S6000中,控制器200可将读取命令CMD_READ(MPT_LA0)传输到非易失性存储器装置300以获取包括逻辑地址LA0的映射信息的映射表MPT_LA0。也就是说,当特别位不为“1”时,因为与读取操作的目标相对应的逻辑地址不是特定逻辑地址,所以没有相应映射信息被存储在特定存储器221中。因此,为了获取映射信息,需要读取存储在非易失性存储器装置300中的映射表并且确定相应逻辑地址的映射信息。
可以以与参照图3描述的相同方式执行后续步骤S6100、S7000、S7100和S7200。也就是说,控制器200可从非易失性存储器装置300接收映射表MPT_LA0(步骤S6100),基于映射表MPT_LA0生成读取命令CMD_READ(PA(1,0)),并且将该读取命令CMD_READ(PA(1,0))传输到非易失性存储器装置300(步骤S7000)。非易失性存储器装置300可将对应于读取命令CMD_READ(PA(1,0))的数据传输到控制器200(步骤S7100)。控制器200将数据临时存储在随机存取存储器220中,然后将该数据传输到主机装置400(步骤S7200),从而结束针对逻辑地址LA0的操作。
如上所述,当主机装置400生成包括指示作为读取操作的目标的逻辑地址是否是特定逻辑地址的信息的读取请求,并将该读取请求传输到控制器200时,减少了为了获取映射信息而访问非易失性存储器装置300的次数,并且控制器200不需要单独地存储关于特定逻辑地址的信息。因此,可以最小化控制器200的内部存储器的使用。
在各个实施例中,如图1所示,数据处理系统10可包括非易失性存储器装置300和主机装置400,其中非易失性存储器装置300包括多个存储块,主机装置400生成包括与待存储在非易失性存储器装置300中的写入数据相对应的逻辑地址的写入请求。进一步地,数据处理系统10可包括控制器200,控制器200从主机装置400接收写入请求,生成包括非易失性存储器装置300的逻辑地址和物理地址的映射信息的映射表,并且控制将映射表存储在非易失性存储器装置300的存储块中。写入请求可包括关于逻辑地址是否是特定逻辑地址的信息。
图5A是示出根据实施例的包括在从主机装置(例如,图1的主机装置400)接收的写入请求中的信息的示图。
参照图5A,主机装置400可生成写入请求RQ_WRITE,该写入请求RQ_WRITE包括关于作为写入操作的目标的逻辑地址是否是特定逻辑地址的信息、逻辑地址信息和作为写入操作的目标的数据。例如,如图所示,主机装置400可生成写入请求RQ_WRITE,该写入请求RQ_WRITE包括指示逻辑地址是否是特定逻辑地址的位(即,特别位“0”或“1”)。根据实施例,在写入请求RQ_WRITE中,与作为写入操作的目标的数据相对应的逻辑地址可由起始逻辑地址(起始LA)和逻辑地址的长度或数量(LA长度)来指示。例如,当逻辑地址LA0至逻辑地址LA7是作为写入操作的目标的逻辑地址时,“起始LA”为0并且“LA长度”为8。
根据实施例,特别位可指示逻辑地址是否是特定逻辑地址。例如,当逻辑地址不是特定逻辑地址时,特别位可由“0”表示,并且当逻辑地址是特定逻辑地址时,特别位可由“1”表示。当从主机装置400生成并输出的写入请求RQ_WRITE包括关于逻辑地址是否是特定逻辑地址的信息时,被设置为特定逻辑地址的逻辑地址的列表可不预先被存储在控制器200中。
图5B是示意性地示出根据实施例的存储器系统或数据处理系统,即图1的存储器系统100或数据处理系统10的操作的流程图。参照图1、图2A、图2B、图3、图5A和图5B,下面将详细描述当从主机装置400接收到关于逻辑地址是否是特定逻辑地址的信息时执行写入操作和读取操作的进程。
参照图5B,在步骤S2000中,主机装置400可生成写入请求RQ_WRITE(LA0)并将所生成的写入请求RQ_WRITE(LA0)传输到控制器200。具体地,如参照图5A所述,写入请求RQ_WRITE(LA0)可包括关于作为写入操作的目标的逻辑地址的信息(例如,起始LA和LA长度)、作为写入请求的目标的数据以及关于逻辑地址是否是特定逻辑地址的信息(例如,特别位“0”或“1”)。例如,因为作为写入请求RQ_WRITE(LA0)的目标的逻辑地址是逻辑地址LA0,所以“起始LA”由0表示并且“LA长度”由1表示。如图2B所示,因为逻辑地址LA0是特定逻辑地址,所以“特别位”为“1”。
在步骤S2100中,当与从主机装置400接收的写入请求RQ_WRITE相对应的逻辑地址是特定逻辑地址时,控制器200执行特定映射表的更新操作。具体地,控制器200可通过访问特定存储器221以获取特定映射表、设置将存储对应于逻辑地址LA0的数据的物理地址并且添加逻辑地址LA0的映射信息,来执行特定映射表的更新操作。在这种情况下,如图2B所示,假设待映射到逻辑地址LA0的物理地址是物理地址PA(1,0)。
在步骤S2200中,控制器200基于包括在特定映射表中的逻辑地址LA0的映射信息而生成写入命令CMD_WRITE(PA(1,0)),并且将该写入命令CMD_WRITE(PA(1,0))传输到非易失性存储器装置300。在步骤S2300中,在非易失性存储器装置300中执行针对请求写入的数据的写入操作。具体地,将请求写入的数据写入非易失性存储器装置300中的、对应于物理地址PA(1,0)的区域中。根据实施例,可改变步骤S2100和步骤S2200的顺序。也就是说,可在将数据存储在非易失性存储器装置300中之后(步骤S2200),在控制器200中执行特定映射表的更新操作(步骤S2100)。
可以以与参照图3描述的相同方式执行后续步骤S3000、S4000、S4100、S6100、S7000、S7100和S7200。也就是说,控制器200可从主机装置400接收读取请求RQ_READ(LA0)(S3000),并且确定作为读取请求RQ_READ(LA0)的目标的逻辑地址LA0是否是特定逻辑地址(S4000)。具体地,控制器200参考存储在除特定存储器221以外的区域中的、关于特定逻辑地址的信息来确定逻辑地址LA0是否是特定逻辑地址,并且如上假设的,确定逻辑地址LA0是特定逻辑地址。如果确定逻辑地址LA0不是特定逻辑地址(S4000,否),则控制器200将读取命令CMD_READ(MPT_LA0)传输到非易失性存储器装置300,以获取逻辑地址LA0的映射信息(S6000),从而获取映射表MPT_LA0(S6100)。
当确定逻辑地址LA0是特定逻辑地址(S4000,是)时,控制器200可访问特定存储器221以获取特定映射表,并且基于特定映射表来获取逻辑地址LA0的映射信息(S4100)。然后,基于所获取的映射信息,控制器200生成读取命令CMD_READ(PA(1,0)),并且将该读取命令CMD_READ(PA(1,0))传输到非易失性存储器装置300(S7000)。非易失性存储器装置300基于从控制器200输出的读取命令CMD_READ(PA(1,0))来读取请求读取的数据,并且将请求读取的数据传输到控制器200(S7100)。然后,控制器200将请求读取的数据输出到主机装置400,从而可结束读取操作(S7200)。
如上所述,当主机装置400生成包括关于请求写入的逻辑地址是否是特定逻辑地址的信息的写入请求RQ_WRITE并且将该写入请求RQ_WRITE传输到控制器200时,控制器200不需要预先接收和存储特定逻辑地址的列表,从而可自由地更新特定映射表。也就是说,没有将预先设置的列表仅仅固定到特定逻辑地址并且根据需要(例如,根据用户的系统使用模式)可添加或删除特定逻辑地址,使得系统的操作维护变得更为高效。
尽管已经示出和描述了各个实施例,但是本领域技术人员根据本公开将理解,所描述的实施例仅为示例。因此,不应基于所描述的实施例限制本文描述的存储器系统、数据处理系统和存储器系统的操作方法。
图6是示出根据实施例的数据处理系统1000的示图。参照图6,数据处理系统1000可包括主机装置1100和固态驱动器(SSD)1200。
参照图6,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和SSD1200接口连接。例如,主机接口1211可通过诸如以下的标准接口协议中的任何一种与主机装置1100通信:安全数字、通用串行总线(USB)、多媒体卡(MMC)、嵌入式MMC(eMMC)、个人计算机存储卡国际协会(PCMCIA)、并行高级技术附件(PATA)、串行高级技术附件(SATA)、小型计算机系统接口(SCSI)、串列SCSI(SAS)、外围组件互连(PCI)、高速PCI(PCI-e或PCIe)和通用闪速(UFS)。
控制部件1212可分析和处理从主机装置1100输入的信号SGL。控制部件1212可根据用于驱动SSD 1200的固件或软件来控制内部功能块的操作。随机存取存储器1213可用作驱动这种固件或软件的工作存储器。
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读出的数据。被临时存储在缓冲存储器装置1220中的数据可根据控制器1210的控制被传输到主机装置1100或非易失性存储器装置1231至123n。
非易失性存储器装置1231至123n可用作SSD 1200的存储介质。非易失性存储器装置1231至123n可分别通过多个通道CH1至CHn与控制器1210联接。一个或多个非易失性存储器装置可联接到一个通道。联接到每一个通道的非易失性存储器装置可联接到相同的信号总线和数据总线。
电源1240可将通过电源连接器1260输入的电力PWR提供至SSD 1200的内部。电源1240可包括辅助电源1241。辅助电源1241可提供电力以使SSD 1200能够在发生突然断电时正常地终止。辅助电源1241可包括至少一个具有大容量的电容器。
信号连接器1250可根据主机装置1100与SSD 1200之间的接口方案而由各种类型的连接器中的任何一种来实施。
电源连接器1260可根据主机装置1100的供电方案而由各种类型的连接器中的任何一种来实施。
图7是示出根据实施例的数据处理系统2000的示图。参照图7,数据处理系统2000可包括主机装置2100和数据存储装置2200。
主机装置2100可以诸如印刷电路板的板的形式来实施。虽然未示出,但主机装置2100可包括用于执行功能的内部功能块。
主机装置2100可包括诸如插座、插槽或连接器的连接端子2110。数据存储装置2200可被安装到连接端子2110。
数据存储装置2200可以诸如印刷电路板的板的形式来实施。数据存储装置2200可以是存储器模块或存储卡。数据存储装置2200可包括控制器2210、缓冲存储器装置2220、非易失性存储器装置2231和2232、电源管理集成电路(PMIC)2240和连接端子2250。
控制器2210可控制数据存储装置2200的一般操作。控制器2210可以与图6所示的控制器1210相同方式来实施。
缓冲存储器装置2220可临时存储待被存储在非易失性存储器装置2231和2232中的数据。进一步地,缓冲存储器装置2220可临时存储从非易失性存储器装置2231和2232读出的数据。被临时存储在缓冲存储器装置2220中的数据可根据控制器2210的控制而被传输到主机装置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的任意一侧。
图8是示出根据实施例的数据处理系统3000的示图。参照图8,数据处理系统3000可包括主机装置3100和数据存储装置3200。
主机装置3100可以诸如印刷电路板的板的形式来实施。虽然未示出,但主机装置3100可包括用于执行功能的内部功能块。
数据存储装置3200可以表面安装型封装的形式来实施。数据存储装置3200可通过焊球3250而安装到主机装置3100。数据存储装置3200可包括控制器3210、缓冲存储器装置3220和非易失性存储器装置3230。
控制器3210可控制数据存储装置3200的一般操作。控制器3210可以与图6所示的控制器1210相同的方式来配置。
缓冲存储器装置3220可临时存储待被存储在非易失性存储器装置3230中的数据。进一步地,缓冲存储器装置3220可临时存储从非易失性存储器装置3230读出的数据。被临时存储在缓冲存储器装置3220中的数据可根据控制器3210的控制而被传输到主机装置3100或非易失性存储器装置3230。
非易失性存储器装置3230可用作数据存储装置3200的存储介质。
图9是示出根据实施例的网络系统4000的示图。参照图9,网络系统4000可包括通过网络4500联接的服务器系统4300和多个客户端系统4410至4430。
服务器系统4300可响应于来自多个客户端系统4410至4430的请求来服务数据。例如,服务器系统4300可存储从多个客户端系统4410至4430提供的数据。再例如,服务器系统4300可将数据提供到多个客户端系统4410至4430。
服务器系统4300可包括主机装置4100和数据存储装置4200。数据存储装置4200可由图1所示的数据存储装置100、图6所示的SSD 1200、图7所示的数据存储装置2200或图8所示的数据存储装置3200实施。
图10是示出根据实施例的包括在数据存储装置中的非易失性存储器装置300的示图。参照图10,非易失性存储器装置300可包括存储器单元阵列310、行解码器320、数据读取和写入(读取/写入)块330、列解码器340、电压发生器350和控制逻辑360。
存储器单元阵列310可包括布置在字线WL1至WLm和位线BL1至BLn彼此交叉的区域处的存储器单元MC。
行解码器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可基于解码结果将数据读取/写入块330的、分别对应于位线BL1至BLn的读取/写入电路RW1至RWn与数据输入/输出线或(数据输入/输出缓冲器)联接。
电压发生器350可生成将在非易失性存储器装置300的内部操作中使用的电压。通过电压发生器350生成的电压可被施加到存储器单元阵列310的存储器单元。例如,在编程操作中生成的编程电压可被施加到待被执行编程操作的存储器单元的字线。又例如,在擦除操作中生成的擦除电压可被施加到待被执行擦除操作的存储器单元的阱区域。又例如,在读取操作中生成的读取电压可被施加到待被执行读取操作的存储器单元的字线。
控制逻辑360可基于从外部装置提供的控制信号来控制非易失性存储器装置300的一般操作。例如,控制逻辑360可控制非易失性存储器装置300的读取操作、写入操作和擦除操作。
尽管已经示出和描述了各个实施例,但是本领域技术人员根据本公开将理解,所描述的实施例仅为示例。因此,本发明不限于所描述的实施例。相反,本发明包括所公开的实施例,以及落入权利要求范围内的所有修改和变型。
Claims (21)
1.一种存储器系统,包括:
非易失性存储器装置,包括多个存储块;以及
控制器,生成用于主机装置的逻辑地址与所述非易失性存储器装置的物理地址之间的映射信息的映射表,并且控制将所述映射表存储在所述存储块中,
其中所述控制器包括:
主机接口,从所述主机装置接收待写入在特定映射表中的特定逻辑地址;以及
特定存储器,存储所述特定映射表。
2.根据权利要求1所述的存储器系统,其中当从所述主机装置接收到针对所述特定逻辑地址的读取请求时,所述控制器参考所述特定存储器来执行对应于所述读取请求的读取操作。
3.根据权利要求1所述的存储器系统,其中所述特定逻辑地址包括与用于驱动所述主机装置的操作系统的数据相对应的逻辑地址。
4.根据权利要求1所述的存储器系统,其中所述特定逻辑地址包括与用于所述主机装置的用户认证操作的数据相对应的逻辑地址。
5.根据权利要求1所述的存储器系统,其中当从所述主机装置接收到添加特定逻辑地址的添加请求时,所述控制器从所述非易失性存储器装置接收对应于所述添加请求的映射信息,并且将所述特定逻辑地址添加到所述特定映射表,并且
当从所述主机装置接收到删除所述特定逻辑地址的删除请求时,所述控制器从所述特定映射表中删除对应于所述删除请求的映射信息。
6.根据权利要求1所述的存储器系统,其中所述控制器将关于所述特定逻辑地址的信息存储在除所述特定存储器以外的区域中,并且
当从所述主机装置接收到读取请求时,所述控制器参考关于所述特定逻辑地址的信息来确定对应于所述读取请求的逻辑地址是否是所述特定逻辑地址。
7.根据权利要求1所述的存储器系统,其中所述控制器包括存储关于所述特定逻辑地址的信息的只读存储器,即ROM,并且
当从所述主机装置接收到读取请求时,所述控制器参考所述ROM来确定对应于所述读取请求的逻辑地址是否是所述特定逻辑地址。
8.一种数据处理系统,包括:
非易失性存储器装置,包括多个存储块;
主机装置,生成写入请求,所述写入请求包括与待存储在所述非易失性存储器装置中的写入数据相对应的逻辑地址;以及
控制器,从所述主机装置接收所述写入请求,以生成包括所述逻辑地址与所述非易失性存储器装置的物理地址之间的映射信息的映射表,并且控制将所述映射表存储在所述存储块中,其中
所述写入请求包括关于所述逻辑地址是否是特定逻辑地址的信息,并且
所述控制器包括特定存储器,当所述逻辑地址是所述特定逻辑地址时,包括所述特定逻辑地址的映射信息的特定映射表被存储在所述特定存储器中。
9.根据权利要求8所述的数据处理系统,其中当从所述主机装置接收到针对所述特定逻辑地址的读取请求时,所述控制器参考所述特定存储器来执行对应于所述读取请求的读取操作。
10.根据权利要求8所述的数据处理系统,其中所述写入请求包括指示所述逻辑地址是否是所述特定逻辑地址的位。
11.根据权利要求8所述的数据处理系统,其中所述特定逻辑地址包括与用于驱动所述主机装置的操作系统的数据相对应的逻辑地址。
12.根据权利要求8所述的数据处理系统,其中所述特定逻辑地址包括与用于所述主机装置的用户认证操作的数据相对应的逻辑地址。
13.根据权利要求8所述的数据处理系统,其中所述控制器将关于所述特定逻辑地址的信息存储在除所述特定存储器以外的区域中,并且
当从所述主机装置接收到读取请求时,控制器参考关于所述特定逻辑地址的信息来确定对应于所述读取请求的逻辑地址是否是所述特定逻辑地址。
14.根据权利要求8所述的数据处理系统,其中所述主机装置生成针对存储在所述非易失性存储器装置中的读取数据的读取请求,并且
所述读取请求包括关于对应于所述读取数据的逻辑地址是否是所述特定逻辑地址的信息。
15.一种存储器系统的操作方法,所述存储器系统包括控制器,所述控制器生成用于主机装置的逻辑地址与非易失性存储器装置的物理地址之间的映射信息的映射表,所述非易失性存储器装置包括多个存储块,所述操作方法包括:
从所述主机装置接收待写入在特定映射表中的特定逻辑地址;
将所述特定逻辑地址的映射信息写入在所述特定映射表中;并且将所述特定映射表存储在特定存储器中,
其中将所述特定映射表固定到所述特定存储器。
16.根据权利要求15所述的操作方法,进一步包括:
从所述主机装置接收针对所述特定逻辑地址的读取请求;并且
参考所述特定存储器来执行对应于所述读取请求的读取操作。
17.根据权利要求15所述的操作方法,进一步包括:
从所述主机装置接收所述特定映射表的更新请求;并且
对应于所述更新请求来更新所述特定映射表。
18.根据权利要求17所述的操作方法,其中所述更新请求包括添加或删除写入在所述特定映射表中的所述特定逻辑地址的添加请求或删除请求。
19.根据权利要求15所述的操作方法,其中接收所述特定逻辑地址包括:
从所述主机装置接收写入请求,所述写入请求包括与待存储在所述非易失性存储器装置中的写入数据相对应的逻辑地址和关于所述逻辑地址是否是所述特定逻辑地址的信息,并且
其中所述操作方法进一步包括:
确定所述逻辑地址是否是所述特定逻辑地址。
20.根据权利要求19所述的操作方法,其中接收所述写入请求包括:
接收包括指示所述逻辑地址是否是所述特定逻辑地址的位的所述写入请求。
21.一种存储器系统,包括:
存储器装置;以及
控制器,包括存储器,所述控制器:
从主机装置接收请求和逻辑地址,所述请求包括指示所述逻辑地址是否是设置逻辑地址的信息;
基于所述信息来确定所述逻辑地址是否是所述设置逻辑地址;
当确定所述逻辑地址是所述设置逻辑地址时,生成映射表以存储所述逻辑地址与所述存储器装置的、对应于所述逻辑地址的物理地址之间的映射信息;并且
将所述映射表存储在所述存储器中。
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR10-2018-0043926 | 2018-04-16 | ||
KR1020180043926A KR20190120573A (ko) | 2018-04-16 | 2018-04-16 | 메모리 시스템, 데이터 처리 시스템 및 메모리 시스템의 동작 방법 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN110389908A true CN110389908A (zh) | 2019-10-29 |
Family
ID=68160360
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201910295345.7A Pending CN110389908A (zh) | 2018-04-16 | 2019-04-12 | 存储器系统、数据处理系统和存储器系统的操作方法 |
Country Status (3)
Country | Link |
---|---|
US (1) | US20190317892A1 (zh) |
KR (1) | KR20190120573A (zh) |
CN (1) | CN110389908A (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112905122A (zh) * | 2021-02-20 | 2021-06-04 | 炬芯科技股份有限公司 | 一种存储数据的方法及装置 |
Families Citing this family (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR20190128392A (ko) | 2018-05-08 | 2019-11-18 | 에스케이하이닉스 주식회사 | 메모리 시스템 및 메모리 시스템의 동작방법 |
KR20200010933A (ko) | 2018-07-23 | 2020-01-31 | 에스케이하이닉스 주식회사 | 메모리 시스템 및 그것의 동작방법 |
US11175915B2 (en) * | 2018-10-10 | 2021-11-16 | Micron Technology, Inc. | Vector registers implemented in memory |
KR20200143871A (ko) * | 2019-06-17 | 2020-12-28 | 삼성전자주식회사 | 스토리지를 포함하는 전자 장치 및 그의 스토리지 이용 방법 |
KR20210121660A (ko) * | 2020-03-31 | 2021-10-08 | 에스케이하이닉스 주식회사 | 메모리 시스템 및 그것의 동작 방법 |
US20220308994A1 (en) * | 2021-03-24 | 2022-09-29 | Samsung Electronics Co., Ltd. | Electronic device including storage and method thereof |
CN113419683B (zh) * | 2021-07-01 | 2023-07-04 | 群联电子股份有限公司 | 存储器存取方法、存储器存储装置及存储器控制电路单元 |
JP2023085874A (ja) * | 2021-12-09 | 2023-06-21 | 株式会社日立製作所 | ストレージシステムおよびデータ管理方法 |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20110153918A1 (en) * | 2009-12-23 | 2011-06-23 | Silicon Motion, Inc. | Data writing method and data storage device |
US20120239854A1 (en) * | 2009-05-12 | 2012-09-20 | Stec., Inc. | Flash storage device with read cache |
CN106681931A (zh) * | 2015-11-06 | 2017-05-17 | 爱思开海力士有限公司 | 数据储存设备及其操作方法 |
Family Cites Families (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5404485A (en) * | 1993-03-08 | 1995-04-04 | M-Systems Flash Disk Pioneers Ltd. | Flash file system |
US7315917B2 (en) * | 2005-01-20 | 2008-01-01 | Sandisk Corporation | Scheduling of housekeeping operations in flash memory systems |
-
2018
- 2018-04-16 KR KR1020180043926A patent/KR20190120573A/ko unknown
-
2019
- 2019-03-26 US US16/365,025 patent/US20190317892A1/en not_active Abandoned
- 2019-04-12 CN CN201910295345.7A patent/CN110389908A/zh active Pending
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20120239854A1 (en) * | 2009-05-12 | 2012-09-20 | Stec., Inc. | Flash storage device with read cache |
US20110153918A1 (en) * | 2009-12-23 | 2011-06-23 | Silicon Motion, Inc. | Data writing method and data storage device |
CN106681931A (zh) * | 2015-11-06 | 2017-05-17 | 爱思开海力士有限公司 | 数据储存设备及其操作方法 |
Non-Patent Citations (1)
Title |
---|
ERAN GAL等: "Algorithms and Data Structures for Flash Memories", 《ACM COMPUTING SURVEYS》 * |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112905122A (zh) * | 2021-02-20 | 2021-06-04 | 炬芯科技股份有限公司 | 一种存储数据的方法及装置 |
CN112905122B (zh) * | 2021-02-20 | 2024-04-09 | 炬芯科技股份有限公司 | 一种存储数据的方法及装置 |
Also Published As
Publication number | Publication date |
---|---|
KR20190120573A (ko) | 2019-10-24 |
US20190317892A1 (en) | 2019-10-17 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN110389908A (zh) | 存储器系统、数据处理系统和存储器系统的操作方法 | |
US10891236B2 (en) | Data storage device and operating method thereof | |
CN107179996A (zh) | 数据存储装置和其操作方法 | |
KR20200022118A (ko) | 데이터 저장 장치 및 그 동작 방법 | |
US10067873B2 (en) | Data storage device and operating method thereof | |
KR102526608B1 (ko) | 전자 장치 및 그것의 동작 방법 | |
KR20200085967A (ko) | 데이터 저장 장치 및 그 동작 방법 | |
CN110083545A (zh) | 数据存储装置及其操作方法 | |
KR20200020464A (ko) | 데이터 저장 장치 및 그 동작 방법 | |
CN112445421A (zh) | 数据存储装置及其操作方法 | |
CN109783008A (zh) | 数据存储装置及其操作方法 | |
KR20200074464A (ko) | 데이터 저장 장치 및 동작 방법, 이를 포함하는 스토리지 시스템 | |
KR20210144249A (ko) | 저장 장치 및 이의 동작 방법 | |
CN111916140A (zh) | 控制器及其操作方法以及包括控制器的存储器系统 | |
US11461238B2 (en) | Storage device, memory controller, and method for fetching write commands from submission queues to perform full page writes | |
US12045476B2 (en) | Storage devices, storage controllers, and operating methods of storage controllers | |
KR102596964B1 (ko) | 맵 캐시 버퍼 크기를 가변시킬 수 있는 데이터 저장 장치 | |
US10754768B2 (en) | Memory system using descriptor lookup tables to access setting information for a non-volatile memory, and an operating method thereof | |
US20220236903A1 (en) | Data storage apparatus and operation method thereof | |
KR102620727B1 (ko) | 전자 장치 | |
KR102434840B1 (ko) | 데이터 저장 장치 | |
KR20220103340A (ko) | 데이터 저장 장치 및 그것의 동작 방법 | |
KR20210156090A (ko) | 저장 장치 및 그 동작 방법 | |
US20190278703A1 (en) | Memory system, operating method thereof and electronic device | |
KR20210060867A (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 | ||
WD01 | Invention patent application deemed withdrawn after publication | ||
WD01 | Invention patent application deemed withdrawn after publication |
Application publication date: 20191029 |