CN112286444B - 控制器以及包括控制器的存储器系统 - Google Patents
控制器以及包括控制器的存储器系统 Download PDFInfo
- Publication number
- CN112286444B CN112286444B CN202010521398.9A CN202010521398A CN112286444B CN 112286444 B CN112286444 B CN 112286444B CN 202010521398 A CN202010521398 A CN 202010521398A CN 112286444 B CN112286444 B CN 112286444B
- Authority
- CN
- China
- Prior art keywords
- memory
- host
- controller
- host memory
- data
- 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
- 230000015654 memory Effects 0.000 title claims abstract description 393
- 238000013507 mapping Methods 0.000 claims abstract description 34
- 239000000872 buffer Substances 0.000 claims description 27
- 238000012546 transfer Methods 0.000 claims description 11
- 230000004044 response Effects 0.000 claims description 10
- 238000004891 communication Methods 0.000 claims description 8
- 238000013500 data storage Methods 0.000 claims description 6
- 238000010586 diagram Methods 0.000 description 20
- 238000012545 processing Methods 0.000 description 11
- 238000000034 method Methods 0.000 description 9
- 230000008569 process Effects 0.000 description 5
- 239000007787 solid Substances 0.000 description 5
- 238000003860 storage Methods 0.000 description 5
- 230000006870 function Effects 0.000 description 3
- 239000003990 capacitor Substances 0.000 description 2
- 238000012937 correction Methods 0.000 description 2
- 238000005516 engineering process Methods 0.000 description 2
- 238000012986 modification Methods 0.000 description 2
- 230000004048 modification Effects 0.000 description 2
- 239000004065 semiconductor Substances 0.000 description 2
- 230000003936 working memory Effects 0.000 description 2
- 238000007792 addition Methods 0.000 description 1
- 229910045601 alloy Inorganic materials 0.000 description 1
- 239000000956 alloy Substances 0.000 description 1
- 230000003139 buffering effect Effects 0.000 description 1
- 150000004770 chalcogenides Chemical class 0.000 description 1
- 230000008859 change Effects 0.000 description 1
- 238000007726 management method Methods 0.000 description 1
- 238000004519 manufacturing process Methods 0.000 description 1
- 230000002093 peripheral effect Effects 0.000 description 1
- 238000004513 sizing Methods 0.000 description 1
- 229910000679 solder Inorganic materials 0.000 description 1
- 230000003068 static effect Effects 0.000 description 1
- 150000003623 transition metal compounds Chemical class 0.000 description 1
- 238000013519 translation Methods 0.000 description 1
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/0658—Controller construction arrangements
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F12/00—Accessing, addressing or allocating within memory systems or architectures
- G06F12/02—Addressing or allocation; Relocation
- G06F12/0223—User address space allocation, e.g. contiguous or non contiguous base addressing
- G06F12/023—Free address space management
- G06F12/0238—Memory management in non-volatile memory, e.g. resistive RAM or ferroelectric memory
-
- 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/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
- 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
-
- 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/0866—Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches for peripheral storage systems, e.g. disk cache
- G06F12/0873—Mapping of cache memory to specific storage devices or parts thereof
-
- 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/0877—Cache access modes
- G06F12/0882—Page mode
-
- 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
- G06F12/1009—Address translation using page tables, e.g. page table structures
-
- 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
- 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/0683—Plurality of storage devices
- G06F3/0688—Non-volatile semiconductor memory arrays
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/30—Arrangements for executing machine instructions, e.g. instruction decode
- G06F9/30145—Instruction analysis, e.g. decoding, instruction word fields
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C7/00—Arrangements for writing information into, or reading information out from, a digital store
- G11C7/10—Input/output [I/O] data interface arrangements, e.g. I/O data control circuits, I/O data buffers
- G11C7/1078—Data input circuits, e.g. write amplifiers, data input buffers, data input registers, data input level conversion circuits
- G11C7/1084—Data input buffers, e.g. comprising level conversion circuits, circuits for adapting load
-
- 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/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
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C7/00—Arrangements for writing information into, or reading information out from, a digital store
- G11C7/10—Input/output [I/O] data interface arrangements, e.g. I/O data control circuits, I/O data buffers
- G11C7/1078—Data input circuits, e.g. write amplifiers, data input buffers, data input registers, data input level conversion circuits
- G11C7/1087—Data input latches
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02D—CLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
- Y02D10/00—Energy efficient computing, e.g. low power processors, power management or thermal management
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Human Computer Interaction (AREA)
- Software Systems (AREA)
- Techniques For Improving Reliability Of Storages (AREA)
Abstract
本发明公开了一种控制器以及包括该控制器的存储器系统。控制器:接收用于将写入数据存储在非易失性存储器装置中的写入命令,写入数据存储在主机存储器中包括的多个存储器区域之中的至少一个存储器区域中;通过将虚拟地址映射到与至少一个存储器区域相对应的主机存储器物理地址,来生成主机存储器映射表;并且基于主机存储器映射表,通过将虚拟地址转换为主机存储器物理地址,将存储在至少一个存储器区域中的写入数据传输到非易失性存储器装置。
Description
相关申请的交叉引用
本申请要求于2019年7月22日向韩国知识产权局提交的申请号为10-2019-0088342的韩国申请的优先权,该韩国申请通过引用整体并入本文。
技术领域
各个实施例总体可以涉及一种半导体装置,并且更特别地,涉及一种控制器以及包括该控制器的存储器控制器。
背景技术
近年来,计算机环境的范例变成可以随时随地使用计算机系统的普适计算。因此,诸如移动电话、数码相机和膝上型计算机的便携式电子装置的使用已经迅速增加。通常,任何这种便携式电子装置使用采用存储器装置的存储器系统来存储数据。
使用存储器装置的存储器系统不具有机械驱动器,并且因而表现出良好的稳定性和耐久性、快速的信息访问和低功耗。这种存储器系统的示例包括通用串行总线(USB)存储器装置、具有各种接口的存储卡、通用闪存(UFS)装置和固态驱动器(SSD)。
发明内容
为能够使用主机存储器提高存储器系统的性能的技术提供了实施例。
在本公开的实施例中,一种存储器系统可以包括:非易失性存储器装置;以及控制器,被配置成控制非易失性存储器装置。控制器进一步被配置成:接收用于将写入数据存储在非易失性存储器装置中的写入命令,该写入数据当前被存储在主机存储器中的多个存储器区域之中的至少一个存储器区域中;通过将虚拟地址映射到与至少一个存储器区域相对应的主机存储器物理地址来生成主机存储器映射表;并且基于主机存储器映射表将写入数据从主机存储器传输到非易失性存储器装置。
在本公开的实施例中,控制器可以包括:第一接口,被配置成执行与主机的数据通信;第二接口,被配置成执行与非易失性存储器装置的数据通信;以及处理器,被配置成控制第一和第二接口的操作。第一接口可以从主机接收用于存储写入数据的写入命令,写入数据当前被存储在主机存储器中的多个存储器区域之中的至少一个存储器区域中。响应于所接收的写入命令,处理器生成对应于主机存储器物理地址的访问信息,该主机存储器物理地址分别对应于至少一个存储器区域内的多个子存储器区域,响应于所接收的写入命令,将具有设定大小的多个子存储器区域中的每一个按预设大小来划分。第二接口可以基于访问信息将写入数据从主机存储器传输到非易失性存储器装置。
在本公开的实施例中,控制器可以包括:第一接口,被配置成从主机接收用于存储写入数据的写入命令,该写入数据当前被存储在主机存储器中的多个存储器区域之中的至少一个中;第一处理器,被配置成通过将虚拟地址映射到与至少一个存储器区域相对应的主机存储器物理地址来生成主机存储器映射表;第二接口,被配置成将存储在至少一个存储器区域中的写入数据传输到非易失性存储器装置;以及第二处理器,被配置成基于主机存储器映射表控制第二接口以访问至少一个存储器区域。
在本公开的实施例中,控制器的操作方法可以包括:从主机接收与缓冲在主机内的数据相对应的地址;顺序地布置地址;并且基于所布置的地址通过将所缓冲的数据直接从主机传送到存储器装置,来控制存储器装置以在其中顺序地存储所缓冲的数据。
根据本公开的实施例,可以提高使用主机存储器的存储器系统的性能。
下面描述这些和其它特征、方面和实施例。
附图说明
从以下结合附图的详细描述中,将更清楚地理解本公开的主题的上述和其它方面、特征和优点,其中:
图1是示出根据本公开的实施例的存储器系统的配置的示图;
图2A至图2D和图3至图6是说明根据本公开的实施例的存储器系统的操作的示图;
图7是示出根据本公开的实施例的包括固态驱动器(SSD)的数据处理系统的示图;
图8是示出诸如图7所示的控制器的配置的示图;
图9是示出根据本公开的实施例的包括存储器系统的数据处理系统的示图;
图10是示出根据本公开的实施例的包括存储器系统的数据处理系统的示图;
图11是示出根据本公开的实施例的包括存储器系统的网络系统的示图;以及
图12是示出根据本公开的实施例的存储器系统中包括的非易失性存储器装置的示图。
具体实施方式
下面参照附图更详细地描述本发明的各个实施例。说明书和附图是针对本发明的示例性配置和布置,并且不旨在限制本发明。相反,如本领域技术人员根据本公开将理解的是,本发明可以与任何所公开实施例不同地来配置或布置。不脱离本发明的精神和范围的所有这些修改和变型旨在作为本发明的一部分。
在整个说明书中,对“实施例”、“另一实施例”等的参考不一定仅针对一个实施例,并且对任何这种短语的不同参考不一定针对相同的实施例。类似地,除非另有说明或者上下文另外指出,否则对元件以单数形式的引用并不排除该元件的复数示例。为此,不定冠词“一”和“一个”通常表示一个或多个,除非说明或上下文指明仅意指一个。
图1是示出根据实施例的存储器系统10的配置的示图。
参照图1,存储器系统10可以存储将由主机20访问的数据,例如,该主机20可以是移动电话、MP3播放器、膝上型计算机、台式计算机、游戏机、电视(TV)和/或车载信息娱乐系统。
根据联接到主机20的接口协议,存储器系统10可以被配置为各种类型的存储装置中的任意一种。例如,存储器系统10可以被配置为固态驱动器(SSD),MMC、eMMC、RS-MMC和微型MMC形式的多媒体卡,SD、迷你SD和微型SD形式的安全数字卡,通用串行总线(USB)存储装置,通用闪存(UFS)装置,个人计算机存储卡国际协会(PCMCIA)卡型存储装置,外围组件互连(PCI)卡型存储装置,高速PCI(PCI-E)卡型存储装置,紧凑型闪存(CF)卡,智能媒体卡和/或记忆棒。
存储器系统10可以被制造为各种类型的封装中的任意一种。例如,存储器系统10可以被制造为堆叠封装(POP)、系统级封装(SIP)、片上系统(SOC)、多芯片封装(MCP)、板上芯片(COB)、晶圆级制造封装(WFP)和/或晶圆级堆叠封装(WSP)。
存储器系统10可以包括非易失性存储器装置100和控制器200。
非易失性存储器装置100可以作为存储器系统10的存储介质而操作。根据装置的存储器单元的类型,非易失性存储器装置100可以包括各种类型的非易失性存储器装置中的任意一种,诸如NAND闪速存储器装置、NOR闪速存储器装置、使用铁电电容的铁电随机存取存储器(FRAM)、使用隧道磁阻(TMR)层的磁性随机存取存储器(MRAM)、使用硫族化物合金的相变随机存取存储器(PRAM)和/或使用过渡金属化合物的电阻式随机存取存储器(ReRAM)。
尽管在图1中已示出存储器系统10包括一个非易失性存储器装置100,但是这种表述是为了清楚起见。在另一实施例中,存储器系统10可以包括可以与本文中的教导一致地配置和操作的多个非易失性存储器装置100。
下面参照图12更详细地描述的非易失性存储器装置100可以包括存储器单元阵列110,存储器单元阵列110包括布置在多个字线WL1至WLm与多个位线BL1至BLn相交的区域中的多个存储器单元MC。存储器单元阵列可以包括多个存储块,每个存储块可以包括多个页面。
例如,存储器单元阵列中的每个存储器单元可以是其中将存储单个位数据(例如,1位数据)的单层单元(SLC)或其中将存储2位或更多位数据的多层单元(MLC)。MLC可以存储2位数据、3位数据、4位数据等。在更具体的场景中,MLC可以指其中将存储2位数据的存储器单元,在这种情况下,其中将存储3位数据的存储器单元可以被称为三层单元(TLC),并且其中将存储4位数据的存储器单元可以被称为四层单元(QLC)。下文中,MLC在更普遍的意义上用于指其中将存储2位或更多位数据的任意存储器单元。
存储器单元阵列110中的存储器单元可以以二维(2D)水平结构或以3D垂直结构来布置。
控制器200可以通过驱动被加载到存储器230中的固件或软件来控制存储器系统10的全部操作。控制器200可以解码并驱动诸如固件或软件的代码类型指令或算法。控制器200可以被实施为硬件或硬件和软件的组合。
控制器200可以包括主机接口210、处理器220、存储器230、存储器接口240、存储器控制模块250和地址处理器(address handler)260。尽管未在图1中示出,但是控制器200还可以包括错误校正码(ECC)引擎,其通过对从主机20提供的写入数据执行ECC编码来生成奇偶校验信息,并使用奇偶校验信息对从非易失性存储器装置100读出的读取数据执行ECC解码。
控制器200可以不存储被存储在主机存储器21中的写入数据,而是可以将写入数据传输到非易失性存储器装置100。例如,控制器200可以从主机20接收写入命令。控制器200可以响应于所接收的写入命令生成主机存储器映射表,在主机存储器映射表中主机存储器21的主机存储器物理地址被映射到虚拟地址,其中写入数据被存储在主机存储器21的物理地址处。控制器200可以基于主机存储器映射表通过将虚拟地址转换为主机存储器物理地址来访问主机存储器21,并且将存储在主机存储器21中的写入数据传输到非易失性存储器装置100。主机存储器映射表可以是用于允许存储器系统访问存储写入数据的主机存储器的访问信息。
根据主机20的协议,主机接口210可以用作主机20和存储器系统10之间的接口。例如,主机接口210可以通过包括下列的各种协议中的任意一种与主机20通信:USB协议、UFS协议、MMC协议、并行高级技术附件(PATA)协议、串行高级技术附件(SATA)协议、小型计算机系统接口(SCSI)协议、串列SCSI(SAS)协议、PCI协议和PCI-E协议。
处理器220可以被配置为微型控制单元(MCU)和/或中央处理单元(CPU)。处理器220可以处理从主机20传输的请求。为了处理该请求,处理器220可以驱动加载到存储器230中的代码类型指令或算法(例如,固件)并控制诸如主机接口210、存储器230和存储器接口240的内部功能块和非易失性存储器装置100。
处理器220可以基于从主机20传输的请求生成用于控制非易失性存储器装置100的操作的控制信号,并且可以通过存储器接口240将所生成的控制信号提供到非易失性存储器装置100。
存储器230可以被配置为诸如动态随机存取存储器(DRAM)或静态随机存取存储器(SRAM)的随机存取存储器。存储器230可以存储通过处理器220驱动的固件。存储器230还可以存储用于驱动固件的数据(例如,元数据)。例如,存储器230可以作为处理器220的工作存储器而操作。
在实施例中,存储器230可以包括用于各种目的的区域,诸如将存储闪存转换层(FTL)的区域、用作用于对与从主机20提供的请求相对应的命令进行排队的命令队列(CMDQ)的区域、用作将临时存储写入数据的写入数据缓冲器的区域、用作将临时存储读取数据的读取数据缓冲器的区域、以及用作将高速缓存映射数据的映射高速缓存缓冲器的区域。
根据处理器220的控制,存储器接口240可以控制非易失性存储器装置100。存储器接口240可以指存储器控制器。存储器接口240可以通过通道CH将控制信号提供到非易失性存储器装置100。控制信号可以包括用于控制非易失性存储器装置100的命令、地址和操作控制信号等。存储器接口240可以将存储在数据缓冲器中的数据提供到非易失性存储器装置100,或者将从非易失性存储器装置100传输的数据存储在数据缓冲器中。
根据来自处理器220的命令,存储器控制模块250可以访问存储器230和主机存储器21以进行数据处理。例如,当处理器220的命令中包括的访问地址是存储器230的地址时,存储器控制模块250可以访问存储器230并处理存储器230的数据。
存储器控制模块250可以基于主机存储器映射表通过将虚拟地址转换成主机存储器物理地址来访问主机存储器21,并且将存储在主机存储器21中的写入数据传输到非易失性存储器装置100。
响应于从主机20接收的写入命令,地址处理器260可以通过将虚拟地址映射到在主机存储器21中存储写入数据的存储器区域的主机存储器物理地址来生成主机存储器映射表。
在实施例中,响应于写入数据访问请求和来自存储器控制模块250的虚拟地址,地址处理器260可以基于主机存储器映射表将虚拟地址转换为主机存储器21的主机存储器物理地址。
在实施例中,地址处理器260可以位于存储器控制模块250和主机接口210之间。
图1中控制器200的配置仅是示例性的。可以使用与本文中教导一致的其它配置。此外,如本领域技术人员将理解的,控制器200可以包括一个或多个附加组件。
图2A至图2D是说明根据实施例的存储器系统的操作的示图。
图2A至2D中示出主机存储器和通过存储器系统10生成的主机存储器映射表。
例如,图2A示出写入数据存储在主机存储器21中的示例。主机存储器21可以包括多个存储器区域,例如,Region_0至Region_11。写入数据可以存储在主机存储器21中的多个存储器区域Region_0至Region_11之中的至少一个存储器区域中,例如,Region_2、Region_4、Region_6、Region_8和Region_10。写入命令可以包括存储写入数据的存储器区域的地址和写入数据的大小信息。根据实施例,主机存储器21中的多个存储器区域中的至少一个可以具有与每个其它存储器区域不同的大小。
图2B示出主机存储器21中的多个存储器区域中的一些包括一个或多个子存储器区域,且每个子存储器区域具有设定大小的示例。设定大小可以是待在存储器系统10中处理的数据大小单位。例如,当存储器系统10以4K为单位处理数据时,设定大小可以是4K。
在实施例中,存储器系统10可以根据子区域识别具有子存储器区域的存储器区域。如图2A和2B所例示的,当主机20提供关于指示写入数据存储在Regions_2、Regions_4、Regions_6、Regions_8和Regions_10中的主机存储器物理地址的信息时,存储器系统10可以识别写入数据如同存储在那些区域的子存储器区域sub_0至sub_10中。
在实施例中,存储器系统10可以参考主机存储器的特定主机存储器物理地址来识别子存储器区域。例如,存储器系统10可以参考与存储有写入数据的多个存储器区域相对应的主机存储器物理地址之中的最低主机存储器物理地址来识别子存储器区域。
存储器系统10可以对存储有写入数据的子存储器区域sub_0至sub_10的主机存储器物理地址设置索引(例如,虚拟索引),并将虚拟地址映射到所设置的索引。
在实施例中,每个虚拟地址可以是线性地址。
在实施例中,虚拟地址可以具有与控制器200中包括的存储器230的地址相同的格式。
在实施例中,可以基于与存储有写入数据的多个存储器区域相对应的主机存储器物理地址之中的最低主机存储器物理地址来设置索引。
在实施例中,索引可以是主机存储器21内的物理地址的偏移值。例如,存储器系统10可以参考最低主机存储器物理地址设置与存储有写入数据的多个子存储器区域sub_0至sub_10的索引,最低主机存储器物理地址是在存储有写入数据的多个子存储器区域sub_0至sub_10的主机存储器物理地址之中的子存储器区域sub_0的主机存储器物理地址。最低主机存储器物理地址或子存储器区域sub_0的主机存储器物理地址可以成为存储有写入数据的子存储器区域sub_0至sub_10的偏移值的基地址。基地址可以对应于偏移值0。
图2C示出虚拟地址被映射到索引的示例。例如,存储器系统10可以将虚拟地址映射到被设置为存储有写入数据的子存储器区域sub_0至sub_10的索引。
图2D示出主机存储器映射表的示例,其中虚拟地址被映射到索引。例如,存储器系统10可以生成主机存储器映射表,在该主机存储器映射表中虚拟地址被映射到表示存储有写入数据的多个子存储器区域的索引。在该示例中,存储器系统10可以使用主机存储器映射表通过将虚拟地址转换为主机存储器21的主机存储器物理地址来访问存储有写入数据的主机存储器21。
在实施例中,存储器系统10可以将主机存储器映射表存储在控制器200的存储器230中。
图3是用于说明根据实施例的控制器的操作的示图。
参照图3,控制器200可以包括分别对应于参照图1至图2D描述的主机接口210、地址处理器260、处理器220、存储器230、存储器控制模块250和存储器接口240的第一接口310、第一处理器320、第三处理器330、存储器340、第二处理器350和第二接口360。在实施例中,控制器可以包括第一接口、第二接口和处理器。第一接口被配置成执行与主机的数据通信。例如,第一接口从主机接收用于存储写入数据的写入命令。第二接口被配置成执行与非易失性存储器装置的数据通信。例如第二接口基于访问信息将写入数据从主机存储器传输到非易失性存储器装置。处理器被配置成控制第一接口和第二接口的操作。例如,处理器响应于所接收的写入命令生成对应于主机存储器物理地址的访问信息。例如,访问信息包括主机存储器映射表。
第一接口310可以执行与主机20的数据通信。例如,第一接口310可以从主机20接收写入命令。第一接口310可以通过总线将所接收的写入命令传输到第三处理器330。
第三处理器330可以响应于所接收的写入命令而控制第一处理器320生成主机存储器映射表。
响应于所接收的写入命令,第三处理器330可以在非易失性存储器装置100中的多个数据存储区域之中分配将存储写入数据的至少一个数据存储区域。例如,第三处理器330可以基于写入命令中包括的写入数据的大小信息来分配将存储写入数据的数据存储区域。第三处理器330可以将所分配的数据存储区域映射到写入命令中的逻辑地址。
第一处理器320可以生成主机存储器映射表。例如,第一处理器320可以基于写入命令中包括的主机存储器物理地址和写入数据大小的信息,通过将虚拟地址映射到主机存储器21内的存储有写入数据的主机存储器物理地址来生成主机存储器映射表。
在实施例中,第一处理器320可以将主机存储器映射表存储在存储器340中。
第一处理器320可以将虚拟地址转换为主机存储器21的主机存储器物理地址。例如,当由第三处理器330在非易失性存储器装置100内分配将存储写入数据的至少一个数据存储区域时,第一处理器320可以基于主机存储器映射表将虚拟地址转换为主机存储器物理地址,并通过总线将主机存储器物理地址传输到第二处理器350。
第二处理器350可以将写入数据从主机存储器21传输到非易失性存储器装置100。例如,第二处理器350可以基于主机存储器物理地址访问存储有写入数据的主机存储器21,从主机存储器21读取写入数据,并将写入数据传输到非易失性存储器装置100。
在实施例中,第二处理器350可以以待在非易失性存储器装置100中处理的数据大小为单位来读取写入数据。
第二接口360可以在控制器200和非易失性存储器装置100之间执行数据通信。例如,第二接口360可以通过第二处理器350将从主机存储器读取的写入数据传输到非易失性存储器装置100。
图4是用于说明根据实施例的存储器系统的操作的示图。
参照图4,控制器200可以使用基于主机存储器映射表由虚拟地址转换成的主机存储器21的主机存储器物理地址,访问主机存储器21中的多个子存储器区域之中存储有写入数据的子存储器区域,读取存储在主机存储器21的子存储器区域中的写入数据,并通过主机接口210接收所读取的写入数据(①)。控制器200可以通过存储器接口240将写入数据传输到非易失性存储器装置100中包括的页面缓冲器170(②)。非易失性存储器装置100可以将临时存储在页面缓冲器170中的写入数据存储在存储器单元阵列110中(③)。
在实施例中,控制器200可以以待在非易失性存储器装置100中处理的数据大小为单位,例如,以待临时存储在页面缓冲器170中的数据大小为单位,从主机存储器21读取写入数据,并将所读取的写入数据传输到非易失性存储器装置100。
图5是用于说明根据实施例的存储器系统的操作方法的示图。
参照图5,在操作S510中,存储器系统10可以接收写入命令。例如,控制器200可以从主机20接收写入命令,写入命令包括存储有写入数据的主机存储器21的地址信息(即主机存储器物理地址的信息)、写入数据的大小、将存储写入数据的逻辑地址等。
在操作S520中,存储器系统10可以通过将存储有写入数据的主机存储器21的主机存储器物理地址映射到存储器控制模块250的虚拟地址来生成主机存储器映射表。
在操作S530中,存储器系统10可以基于虚拟地址从主机存储器21读取写入数据。例如,控制器200可以基于主机存储器映射表将虚拟地址转换为主机存储器21的主机存储器物理地址,并使用主机存储器物理地址读取存储在主机存储器21中的写入数据。
在操作S540中,存储器系统10可以将写入数据传输到非易失性存储器装置100。例如,控制器200可以将从主机存储器21读取的写入数据传输到非易失性存储器装置100。在该示例下,控制器200可以不将从主机存储器21读取的写入数据存储在存储器230中,而是可以将写入数据传输到非易失性存储器装置100。
在实施例中,控制器200可以将存储在主机存储器21中的写入数据传输到非易失性存储器装置100。例如,控制器200可以读取存储在主机存储器21中的写入数据,并且将写入数据直接传输到非易失性存储器装置100,而无需将写入数据存储在存储器230中的缓冲操作。
在操作S550中,存储器系统10可以存储写入数据。例如,非易失性存储器装置100可以从控制器200接收写入数据,将写入数据临时存储在页面缓冲器170中,并且将存储在页面缓冲器170中的写入数据存储在存储器单元阵列110中。
图6是示出根据实施例的存储器系统的操作方法的示图。
参照图6,在操作S610中,存储器系统10可以识别主机存储器21的存储器区域。例如,控制器200可以通过设定大小来识别主机存储器21中的多个存储器区域中的每一个。在该示例中,设定大小可以是待在存储器系统10中处理的数据大小单位。
在实施例中,控制器200可以将主机存储器21内存储有写入数据的多个存储器区域中的每一个识别为多个子存储器区域,每个子存储器区域具有设定大小。
在操作S620中,存储器系统10可以对主机存储器区域设置索引。例如,控制器200可以对多个子存储器区域之中存储有写入数据的子存储器区域的主机存储器物理地址设置索引。
在实施例中,索引可以是子存储器区域的偏移值。例如,控制器200可以基于与存储有写入数据的子存储器区域相对应的主机存储器物理地址之中的最低主机存储器物理地址,将偏移值设置为索引。
在实施例中,可以基于主机存储器21的主机存储器物理地址之中的最低主机存储器物理地址,将偏移值设置为索引。
在操作S630中,存储器系统10可以将虚拟地址映射到索引。例如,控制器200可以将虚拟地址映射到对存储有写入数据的子存储器区域所设置的索引。
在实施例中,每个虚拟地址可以是线性地址。
在实施例中,虚拟地址可以具有与控制器200中包括的存储器230的地址相同的格式。
在操作S640中,存储器系统10可以生成主机存储器映射表,在该主机存储器映射表中虚拟地址被映射到主机存储器21的主机存储器物理地址。例如,控制器200可以生成主机存储器映射表,在该主机存储器映射表中虚拟地址被映射到对存储有写入数据的子存储器区域所设置的索引。
在实施例中,控制器200可以将主机存储器映射表存储在地址处理器260或存储器230中。
图7是示出根据实施例的包括固态驱动器(SSD)的数据处理系统的框图。参照图7,数据处理系统2000可以包括主机2100和固态驱动器(SSD)2200。
SSD 2200可以包括控制器2210、缓冲存储器装置2220、非易失性存储器装置2231至223n、电源2240、信号连接器2250和电源连接器2260。
控制器2210可以控制SSD 2200的全部操作。
缓冲存储器装置2220可以临时存储待存储在非易失性存储器装置2231至223n中的数据。进一步,缓冲存储器装置2220可以临时存储从非易失性存储器装置2231至223n读出的数据。根据控制器2210的控制,临时存储在缓冲存储器装置2220中的数据可以被传输到主机2100或非易失性存储器装置2231至223n。
非易失性存储器装置2231至223n可以用作SSD 2200的存储介质。非易失性存储器装置2231至223n可以分别通过多个通道CH1至CHn与控制器2210联接。一个或多个非易失性存储器装置可以联接到一个通道。联接到一个通道的非易失性存储器装置可以联接到相同的信号总线和数据总线。
电源2240可以将通过电源连接器2260输入的电力PWR提供到SSD 2200的内部。电源2240可以包括辅助电源2241。辅助电源2241可以供应电力,以在发生突然断电(SPO)时允许SSD 2200正确终止。辅助电源2241可以包括能够充电电力PWR的大容量电容器。
控制器2210可以通过信号连接器2250与主机2100交换信号SGL。信号SGL可以包括命令、地址、数据等。根据主机2100和SSD 2200之间的接口方案,信号连接器2250可以被配置成任何各种类型的连接器。
图8是示出图7所示的控制器的框图。参照图8,控制器2210可以包括主机接口2211、控制组件2212、随机存取存储器2213、错误校正码(ECC)组件2214和存储器接口2215。
根据主机2100的协议,主机接口2211可以提供主机2100和SSD 2200之间接口连接。例如,主机接口2211可以通过以下协议中的任意一种与主机2100通信:SD、USB、MMC、嵌入式MMC(eMMC)、PCMCIA、PATA、SATA、SCSI、SAS、PCI、PCI-E和UFS。另外,主机接口2211可以执行磁盘仿真功能,支持主机2100将SSD 2200识别为通用存储器系统,例如硬盘驱动器(HDD)。
控制组件2212可以分析和处理从主机2100输入的信号SGL。根据用于驱动SSD2200的固件或软件,控制组件2212可以控制内部功能块的操作。随机存取存储器2213可以用作用于驱动这种固件或软件的工作存储器。
ECC组件2214可以生成待被传输到非易失性存储器装置2231至223n的数据的奇偶校验数据。所生成的奇偶校验数据可以与该数据一起存储在非易失性存储器装置2231至223n中。ECC组件2214可以基于奇偶校验数据检测从非易失性存储器装置2231至223n读出的数据的错误。当检测到的错误在可校正范围内时,ECC组件2214可以校正检测到的错误。
根据控制组件2212的控制,存储器接口2215可以将诸如命令和地址的控制信号提供到非易失性存储器装置2231至223n。根据控制组件2212的控制,存储器接口2215可以与非易失性存储器装置2231至223n交换数据。例如,存储器接口2215可以将存储在缓冲存储器装置2220中的数据提供到非易失性存储器装置2231至223n,或者将从非易失性存储器装置2231至223n读出的数据提供到缓冲存储器装置2220。
图9是示出根据实施例的包括存储器系统的数据处理系统的示图。参照图9,数据处理系统3000可以包括主机3100和存储器系统3200。
主机3100可以以诸如印刷电路板的板形式来配置。尽管未在图9中示出,但是主机3100可以包括用于执行主机的功能的内部功能块。
主机3100可以包括诸如插座、插槽或连接器的连接端子3110。存储器系统3200可以被安装在连接端子3110上。
存储器系统3200可以以诸如印刷电路板的板形式来配置。存储器系统3200可以指存储器模块或存储卡。存储器系统3200可以包括控制器3210、缓冲存储器装置3220、非易失性存储器装置3231和3232、电源管理集成电路(PMIC)3240以及连接端子3250。
控制器3210可以控制存储器系统3200的整体操作。控制器3210可以以与图8所示的控制器2210相同的方式配置。
缓冲存储器装置3220可以临时存储待存储在非易失性存储器装置3231和3232中的数据。进一步,缓冲存储器装置3220可以临时存储从非易失性存储器装置3231和3232读出的数据。根据控制器3210的控制,临时存储在缓冲存储器装置3220中的数据可以被传输到主机3100或非易失性存储器装置3231和3232。
非易失性存储器装置3231和3232可以用作存储器系统3200的存储介质。
PMIC 3240可以将通过连接端子3250输入的电力提供到存储器系统3200的内部。根据控制器3210的控制,PMIC 3240可以管理存储器系统3200的电力。
连接端子3250可以联接到主机3100的连接端子3110。通过连接端子3250,可以在主机3100和存储器系统3200之间传送诸如命令、地址、数据等的信号和电力。根据主机3100和存储器系统3200之间的接口方案,连接端子3250可以被配置为各种类型中的任意一种。连接端子3250可以设置在存储器系统3200的任意一侧之上或之中。
图10是示出根据实施例的包括存储器系统的数据处理系统的框图。参照图10,数据处理系统4000可以包括主机4100和存储器系统4200。
主机4100可以以诸如印刷电路板的板形式来配置。尽管未在图10中示出,但是主机4100可以包括用于执行主机的功能的内部功能块。
存储器系统4200可以以表面安装类型封装的形式来配置。存储器系统4200可以通过焊球4250安装在主机4100上。存储器系统4200可以包括控制器4210、缓冲存储器装置4220和非易失性存储器装置4230。
控制器4210可以控制存储器系统4200的全部操作。控制器4210可以以与图8所示的控制器2210相同的方式来配置。
缓冲存储器装置4220可以临时存储待存储在非易失性存储器装置4230中的数据。进一步,缓冲存储器装置4220可以临时存储从非易失性存储器装置4230读出的数据。根据控制器4210的控制,临时存储在缓冲存储器装置4220中的数据可以被传输到主机4100或非易失性存储器装置4230。
非易失性存储器装置4230可以用作存储器系统4200的存储介质。
图11是示出根据实施例的包括存储器系统的网络系统5000的示图。参照图11,网络系统5000可以包括通过网络5500彼此联接的服务器系统5300和多个客户端系统5410至5430。
服务器系统5300可以响应于来自多个客户端系统5410至5430的请求来服务数据。例如,服务器系统5300可以存储从多个客户端系统5410至5430提供的数据。在另一示例中,服务器系统5300可以向多个客户端系统5410至5430提供数据。
服务器系统5300可以包括主机5100和存储器系统5200。存储器系统5200可以被配置为图1所示的存储器系统10、图7所示的存储器系统2200、图9所示的存储器系统3200或图10所示的存储器系统4200。
图12是示出根据实施例的存储器系统中包括的非易失性存储器装置的框图。参照图12,非易失性存储器装置100可以包括存储器单元阵列110、行解码器120、数据读取/写入块130、列解码器140、电压生成器150和控制逻辑160。
存储器单元阵列110可以包括布置在字线WL1至WLm与位线BL1至BLn相交的区域中的存储器单元MC。
行解码器120可以通过字线WL1至WLm与存储器单元阵列110联接。行解码器120可以根据控制逻辑160的控制而操作。行解码器120可以解码从外部装置(未示出)提供的地址。行解码器120可以基于解码结果,选择并驱动字线WL1至WLm。例如,行解码器120可以将从电压生成器150提供的字线电压提供到字线WL1至WLm。
数据读取/写入块130可以通过位线BL1至BLn与存储器单元阵列110联接。数据读取/写入块130可以包括与位线BL1至BLn相对应的读取/写入电路RW1至RWn。数据读取/写入块130可以根据控制逻辑160的控制而操作。根据操作模式,数据读取/写入块130可以作为写入驱动器或读出放大器而操作。例如,数据读取/写入块130可以在写入操作中作为将从外部装置提供的数据存储在存储器单元阵列110中的写入驱动器而操作。在另一示例中,数据读取/写入块130可以在读取操作中作为从存储器单元阵列110读出数据的读出放大器而操作。
列解码器140可以根据控制逻辑160的控制而操作。列解码器140可以解码从外部装置提供的地址。列解码器140可以基于解码结果,将数据输入/输出线(或数据输入/输出缓冲器)与数据读取/写入块130的、分别与位线BL1至BLn相对应的读取/写入电路RW1至RWn联接。
电压生成器150可以生成待在非易失性存储器装置100的内部操作中使用的电压。所生成的电压可以被施加到存储器单元阵列110的存储器单元MC。例如,可以将在编程操作中生成的编程电压施加到将执行编程操作的存储器单元的字线。在另一示例中,可以将在擦除操作中生成的擦除电压施加到将执行擦除操作的存储器单元的阱区。在又一示例中,可以将在读取操作中生成的读取电压施加到将执行读取操作的存储器单元的字线。
基于从外部装置提供的控制信号,控制逻辑160可以控制非易失性存储器装置100的全部操作。例如,控制逻辑160可以控制非易失性存储器装置100的操作,诸如非易失性存储器装置100的读取操作、写入操作和擦除操作。
本发明的上述实施例旨在例示而非限制本发明。如本领域技术人员根据本公开将认识到的,各个替代方案和等同方案是可能的。本发明不受本文描述的实施例的限制。本发明也不限于任何特定类型的半导体装置。本发明涵盖落入所附权利要求的范围内的其它添加、减少或修改。
Claims (20)
1.一种存储器系统,包括:
非易失性存储器装置;以及
控制器,控制所述非易失性存储器装置,
其中所述控制器进一步:
接收用于将写入数据存储在所述非易失性存储器装置中的写入命令,所述写入数据当前被存储在主机存储器中的多个存储器区域之中的至少一个存储器区域中;通过将虚拟地址映射到与所述至少一个存储器区域相对应的主机存储器物理地址来生成主机存储器映射表;并且
基于所述主机存储器映射表将所述写入数据从所述主机存储器传输到所述非易失性存储器装置,
其中所述控制器参考所述主机存储器物理地址来识别所述主机存储器中的所述至少一个存储器区域。
2.根据权利要求1所述的存储器系统,其中所述控制器通过将所述虚拟地址映射到与所述至少一个存储器区域内的多个子存储器区域相对应的所述主机存储器物理地址,来生成所述主机存储器映射表,所述多个子存储器区域中的每一个具有设定大小。
3.根据权利要求2所述的存储器系统,其中所述设定大小是待在所述存储器系统中处理的数据大小单位。
4.根据权利要求2所述的存储器系统,其中所述非易失性存储器装置包括:
存储器单元阵列,包括多个数据存储区域;以及
页面缓冲器,临时存储所传输的写入数据,
其中所述设定大小是待被存储在所述页面缓冲器中的数据大小。
5.根据权利要求2所述的存储器系统,其中所述控制器通过对所述主机存储器物理地址设置索引并将所述虚拟地址映射到所设置的索引,来生成所述主机存储器映射表。
6.根据权利要求5所述的存储器系统,其中所述索引是与所述主机存储器物理地址之中的最低主机存储器物理地址的偏移值。
7.根据权利要求2所述的存储器系统,
其中所述写入命令包括所述写入数据的大小以及与所述至少一个存储器区域相对应的所述主机存储器物理地址的信息,并且
其中所述控制器基于所述信息生成所述主机存储器映射表。
8.一种控制非易失性存储器装置的控制器,所述控制器包括:
第一接口,执行与主机的数据通信;
第二接口,执行与所述非易失性存储器装置的数据通信;以及
处理器,控制所述第一接口和所述第二接口的操作,
其中所述第一接口从所述主机接收用于存储写入数据的写入命令,所述写入数据当前被存储在主机存储器中的多个存储器区域之中的至少一个存储器区域中,
其中响应于所接收的写入命令,所述处理器生成对应于主机存储器物理地址的访问信息,所述主机存储器物理地址分别对应于所述至少一个存储器区域内的多个子存储器区域,所述多个子存储器区域具有设定大小,并且
其中所述第二接口基于所述访问信息将所述写入数据从所述主机存储器传输到所述非易失性存储器装置,
其中所述控制器参考所述主机存储器物理地址来识别所述主机存储器中的子存储器区域。
9.根据权利要求8所述的控制器,
其中所述访问信息包括主机存储器映射表。
10.根据权利要求9所述的控制器,其中所述处理器通过将虚拟地址映射到与所述多个子存储器区域相对应的所述主机存储器物理地址,来生成所述主机存储器映射表。
11.根据权利要求8所述的控制器,其中所述设定大小是待在所述非易失性存储器装置中处理的数据大小单位。
12.根据权利要求10所述的控制器,其中所述处理器通过对所述主机存储器物理地址设置索引并将所述虚拟地址映射到所设置的索引,来生成所述主机存储器映射表。
13.根据权利要求12所述的控制器,其中所述索引是与所述主机存储器物理地址之中的最低主机存储器物理地址的偏移值。
14.根据权利要求10所述的控制器,
其中所述写入命令包括所述写入数据的大小以及与所述多个子存储器区域相对应的所述主机存储器物理地址的信息,并且
其中基于所述信息生成所述主机存储器映射表。
15.一种控制非易失性存储器装置的控制器,所述控制器包括:
第一接口,从主机接收用于存储写入数据的写入命令,所述写入数据当前被存储在主机存储器的多个存储器区域之中的至少一个存储器区域中;
第一处理器,通过将虚拟地址映射到与所述至少一个存储器区域相对应的主机存储器物理地址,来生成主机存储器映射表;
第二接口,将存储在所述至少一个存储器区域中的所述写入数据传输到所述非易失性存储器装置;以及
第二处理器,基于所述主机存储器映射表控制所述第二接口以访问所述至少一个存储器区域,
其中所述控制器参考所述主机存储器物理地址来识别所述主机存储器中的所述至少一个存储器区域。
16.根据权利要求15所述的控制器,其中所述第一处理器通过将所述虚拟地址映射到与所述至少一个存储器区域内的多个子存储器区域相对应的所述主机存储器物理地址,来生成所述主机存储器映射表,所述多个子存储器区域中的每一个具有设定大小。
17.根据权利要求16所述的控制器,其中所述设定大小是待在所述非易失性存储器装置中处理的数据大小单位。
18.根据权利要求16所述的控制器,其中所述第一处理器通过对所述主机存储器物理地址设置索引并将所述虚拟地址映射到所设置的索引,来生成所述主机存储器映射表。
19.根据权利要求18所述的控制器,其中所述索引是与所述主机存储器物理地址之中的最低主机存储器物理地址的偏移值。
20.根据权利要求15所述的控制器,
其中所述写入命令包括所述写入数据的大小以及与所述至少一个存储器区域内的多个子存储器区域相对应的所述主机存储器物理地址的信息,所述子存储器区域中的每一个具有设定大小,并且
其中所述第一处理器基于所述信息,通过将所述虚拟地址映射到与所述多个子存储器区域相对应的所述主机存储器物理地址,来生成所述主机存储器映射表。
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1020190088342A KR20210011198A (ko) | 2019-07-22 | 2019-07-22 | 컨트롤러, 메모리 시스템 및 그것의 동작 방법 |
KR10-2019-0088342 | 2019-07-22 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN112286444A CN112286444A (zh) | 2021-01-29 |
CN112286444B true CN112286444B (zh) | 2024-04-05 |
Family
ID=74189301
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202010521398.9A Active CN112286444B (zh) | 2019-07-22 | 2020-06-10 | 控制器以及包括控制器的存储器系统 |
Country Status (3)
Country | Link |
---|---|
US (1) | US11232023B2 (zh) |
KR (1) | KR20210011198A (zh) |
CN (1) | CN112286444B (zh) |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR20220092215A (ko) * | 2020-12-24 | 2022-07-01 | 에스케이하이닉스 주식회사 | 메모리 컨트롤러를 포함하는 메모리 시스템 |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102053796A (zh) * | 2009-11-10 | 2011-05-11 | 群联电子股份有限公司 | 闪存储存系统、闪存控制器与数据处理方法 |
CN103064641A (zh) * | 2013-02-05 | 2013-04-24 | 威盛电子股份有限公司 | 非易失性存储装置及其操作方法 |
Family Cites Families (12)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US8612719B2 (en) * | 2011-07-21 | 2013-12-17 | Stec, Inc. | Methods for optimizing data movement in solid state devices |
KR102088403B1 (ko) * | 2013-08-08 | 2020-03-13 | 삼성전자 주식회사 | 저장장치, 이를 포함하는 컴퓨터 시스템 및 이의 동작 방법 |
KR102157668B1 (ko) * | 2014-04-03 | 2020-09-22 | 에스케이하이닉스 주식회사 | 호스트와 통신하는 메모리 컨트롤러, 그것의 동작 방법 및 그것을 포함하는 컴퓨팅 시스템 |
US9858008B2 (en) * | 2014-10-30 | 2018-01-02 | ScaleFlux | Method to reduce flash memory IOs with host maintained address mapping table |
KR20170046862A (ko) | 2015-10-21 | 2017-05-04 | 에스케이하이닉스 주식회사 | 메모리 시스템 및 메모리 시스템의 동작 방법 |
KR102683696B1 (ko) | 2016-11-15 | 2024-07-09 | 삼성전자주식회사 | 호스트 메모리 버퍼(Host Memory Buffer)를 관리하기 위한 NVMe(Non-Volatile Memory Express) 컨트롤러를 포함하는 솔리드 스테이트 저장 장치(solid state storage device), 이를 포함하는 시스템 및 호스트의 호스트 메모리 버퍼를 관리하는 방법 |
KR20190044968A (ko) * | 2017-10-23 | 2019-05-02 | 에스케이하이닉스 주식회사 | 메모리 시스템 및 그것의 동작 방법 |
KR102565895B1 (ko) * | 2017-11-13 | 2023-08-11 | 에스케이하이닉스 주식회사 | 메모리 시스템 및 그것의 동작 방법 |
KR20190087217A (ko) * | 2018-01-16 | 2019-07-24 | 에스케이하이닉스 주식회사 | 데이터 저장 장치 및 그것의 동작 방법 |
US11169736B2 (en) * | 2018-09-25 | 2021-11-09 | Western Digital Technologies, Inc. | Data storage device equipped to reduce page faults in host device |
US20200242263A1 (en) * | 2019-01-28 | 2020-07-30 | Red Hat, Inc. | Secure and efficient access to host memory for guests |
KR20200121645A (ko) * | 2019-04-16 | 2020-10-26 | 에스케이하이닉스 주식회사 | 컨트롤러 및 그것의 동작 방법과 메모리 시스템 |
-
2019
- 2019-07-22 KR KR1020190088342A patent/KR20210011198A/ko unknown
-
2020
- 2020-02-25 US US16/800,599 patent/US11232023B2/en active Active
- 2020-06-10 CN CN202010521398.9A patent/CN112286444B/zh active Active
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102053796A (zh) * | 2009-11-10 | 2011-05-11 | 群联电子股份有限公司 | 闪存储存系统、闪存控制器与数据处理方法 |
CN103064641A (zh) * | 2013-02-05 | 2013-04-24 | 威盛电子股份有限公司 | 非易失性存储装置及其操作方法 |
Also Published As
Publication number | Publication date |
---|---|
CN112286444A (zh) | 2021-01-29 |
US20210026764A1 (en) | 2021-01-28 |
KR20210011198A (ko) | 2021-02-01 |
US11232023B2 (en) | 2022-01-25 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US10664409B2 (en) | Data storage apparatus utilizing sequential map entry for responding to read request and operating method thereof | |
US11036640B2 (en) | Controller, operating method thereof, and memory system including the same | |
CN111124273B (zh) | 数据存储装置及数据存储装置的操作方法 | |
KR20200025184A (ko) | 불휘발성 메모리 장치, 이를 포함하는 데이터 저장 장치 및 그 동작 방법 | |
CN111414313B (zh) | 数据存储装置及数据存储装置的操作方法 | |
CN111916140B (zh) | 控制器及其操作方法以及包括控制器的存储器系统 | |
US11526439B2 (en) | Storage device and operating method thereof | |
US11379363B2 (en) | Controller, memory system, and operating methods thereof | |
US11003395B2 (en) | Controller, memory system, and operating methods thereof | |
CN111752858A (zh) | 控制器、存储器系统及其操作方法 | |
US11782638B2 (en) | Storage device with improved read latency and operating method thereof | |
US20210397364A1 (en) | Storage device and operating method thereof | |
CN112286444B (zh) | 控制器以及包括控制器的存储器系统 | |
US20210397558A1 (en) | Storage device and operating method thereof | |
US11429612B2 (en) | Address search circuit and method of semiconductor memory apparatus and controller therefor | |
US20200409848A1 (en) | Controller, memory system, and operating methods thereof | |
US20200250082A1 (en) | Controller, memory system, and operating method thereof | |
CN114385070A (zh) | 主机、数据存储装置、数据处理系统以及数据处理方法 | |
US11144246B2 (en) | Memory system using available bad block based on data storage reliability and operating method thereof | |
US11157214B2 (en) | Controller, memory system and operating method thereof | |
CN110196817B (zh) | 数据存储装置及该数据存储装置的操作方法 | |
US20210011650A1 (en) | Controller, 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 |