CN110287133B - 存储器控制器及具有其的存储器系统 - Google Patents
存储器控制器及具有其的存储器系统 Download PDFInfo
- Publication number
- CN110287133B CN110287133B CN201811352147.1A CN201811352147A CN110287133B CN 110287133 B CN110287133 B CN 110287133B CN 201811352147 A CN201811352147 A CN 201811352147A CN 110287133 B CN110287133 B CN 110287133B
- Authority
- CN
- China
- Prior art keywords
- information
- command
- descriptor
- memory
- physical
- 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
- 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
- G06F13/1673—Details of memory controller using buffers
-
- 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
- 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
- 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
- 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/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/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/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/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)
Abstract
本发明提供了一种存储器控制器和具有该存储器控制器的存储器系统。存储器控制器包括:闪存转换层,配置成输出包括命令以及与命令相关联的物理信息和逻辑信息的描述符;以及闪存接口层,配置成接收描述符,单独地存储包括在描述符中的命令、物理信息和逻辑信息,调整命令的队列,然后根据调整后的命令的队列将命令输出到存储器装置。
Description
相关申请的交叉引用
本申请要求于2018年3月19日提交的申请号为10-2018-0031753的韩国专利申请的优先权,其全部内容通过引用并入本文。
技术领域
本公开的各个实施例涉及一种存储器控制器和具有该存储器控制器的存储器系统,且更特别地,涉及一种包括闪存转换层的存储器控制器和具有该存储器控制器的存储器系统。
背景技术
存储器系统可包括存储器装置和存储器控制器。
存储器装置可存储数据或输出存储的数据。例如,存储器装置可被实施为存储的数据在电源中断时丢失的易失性存储器装置,或者被实施为存储的数据在电源中断时也被保留的非易失性存储器装置。
存储器控制器可控制主机和存储器装置之间的数据通信。当存储器装置被实施为作为一种非易失性存储器装置的闪速存储器装置时,存储器控制器可包括闪存转换层以执行存储器装置与主机之间的通信。
主机可通过使用诸如以下的接口协议的存储器控制器与存储器装置通信:高速外围组件互连(PCI-E)、高级技术附件(ATA)、串行ATA(SATA)、并行ATA(PATA)或串列SCSI(SAS)。主机和存储器系统之间的接口协议不限于上述示例,并且可包括诸如以下的各种接口:通用串行总线(USB)、多媒体卡(MMC)、增强型小型磁盘接口(ESDI)或电子集成驱动器(IDE)。
发明内容
本公开的各个实施例涉及一种具有存储器控制器的存储器系统。该存储器控制器具有改进的闪存转换层,该闪存转换层能够将命令的物理信息和逻辑信息映射到对应的描述符。
本公开的实施例可提供一种存储器控制器。存储器控制器可包括:闪存转换层,配置成输出包括命令以及与命令相关联或有关的物理信息和逻辑信息的描述符;以及闪存接口层,配置成接收描述符,单独地存储包括在描述符中的命令、物理信息和逻辑信息,调整命令的队列,然后根据调整后的命令的队列将命令输出到存储器装置。
本公开的实施例可提供一种存储器控制器。存储器控制器可包括:闪存转换层,配置成输出包括命令以及与命令相关联或有关的物理信息和逻辑信息的描述符;以及闪存接口层,配置成接收描述符并存储包括在描述符中的命令、物理信息和逻辑信息,并且当从闪存转换层接收到请求时,将所请求的描述符中的命令、物理信息和逻辑信息传输到闪存转换层。
本公开的实施例可提供一种存储器系统。存储器系统可包括:存储器控制器,配置成响应于来自主机的请求生成命令,并且生成包括与命令相关联或有关的物理信息和逻辑信息的描述符,并且配置成当请求描述符时,输出包括在描述符中所有的命令、物理信息和逻辑信息;以及存储器装置,配置成响应于从存储器控制器输出的命令来编程数据、读取数据或擦除数据。
本公开的实施例可提供一种存储器控制器。存储器控制器可包括:生成命令的命令生成器;物理信息存储缓冲器,配置成对关于命令的物理信息进行缓冲;逻辑信息存储缓冲器,配置成对关于命令的逻辑信息进行缓冲;描述符输出电路,配置成生成包括命令、与命令相关联的物理信息和逻辑信息的描述符;存储描述符的查找表;命令队列,配置成对包括在描述符中的命令进行排队;闪存接口,配置成将排队的命令提供给存储器装置以响应于所提供的命令执行操作;以及错误校正单元,配置成根据描述符执行错误校正操作,其中查找表响应于从命令生成器提供的请求,通过物理和逻辑信息存储缓冲器向命令生成器提供存储在查找表中的描述符。
附图说明
图1是示出根据本公开的实施例的存储器系统的示图。
图2是示出图1的存储器控制器的示图。
图3是示出图1的存储器装置的示图。
图4是用于说明图3的第一通路的示图。
图5是用于说明超级块的示图。
图6是示出根据本公开的实施例的闪存转换层和操作闪存转换层的方法的示图。
图7是示出图2的闪存接口层的示图。
图8是用于说明图7的查找表的示图。
图9和图10是示出根据本公开的实施例的操作闪存转换层的方法的示图。
图11是示出图1的存储器系统的实施例的示图。
图12是示出图1的存储器系统的实施例的示图。
图13是示出图1的存储器系统的实施例的示图。
图14是示出图1的存储器系统的实施例的示图。
具体实施方式
参考稍后与附图一起详细描述的示例性实施例,本公开的优点和特征及其实现方法将会清晰。本公开不限于以下实施例,而是可以其它形式实现。相反地,提供这些实施例以便使本公开彻底且充分,并且将本公开的技术实质全面地传达给本领域的技术人员。
还应注意的是,在本说明书中,“连接/联接”指一个部件不仅直接地联接另一部件,而且还表示通过中间部件间接地联接另一部件。在说明书中,除非上下文另有明确表示,否则当元件被称为“包括”或“包含”部件时,并不排除其它部件,而是可进一步包括其它部件。
图1是示出根据本公开的实施例的存储器系统的示图。
参照图1,存储器系统1000可包括存储数据的存储器装置1100、临时存储存储器系统1000的操作所需的数据的缓冲存储器1300、以及在主机2000的控制下控制存储器装置1100和缓冲存储器1300的存储器控制器1200。
主机2000可使用诸如以下的各种通信方法中的至少一种来与存储器系统1000通信:通用串行总线(USB)、串行AT附件(SATA)、串列SCSI(SAS)、高速芯片间(HSIC)、小型计算机系统接口(SCSI)、外围组件互连(PCI)、高速PCI(PCIe)、高速非易失性存储器(NVMe)、通用闪存(UFS)、安全数字(SD)、多媒体卡(MMC)、嵌入式MMC(eMMC)、双列直插式存储器模块(DIMM)、寄存式DIMM(RDIMM)以及降低负载的DIMM(LRDIMM)通信方法。
存储器装置1100可被实施为存储的数据在电源中断时丢失的易失性存储器装置,或者被实施为存储的数据在电源中断时也继续保持的非易失性存储器装置。在本实施例中,将以示例的方式描述作为一种非易失性存储器装置的闪速存储器装置。
存储器控制器1200可控制存储器系统1000的全部操作,并且可控制主机2000与存储器装置1100之间的数据交换。存储器控制器1200可通过通道CH联接到存储器装置1100,并且可通过通道CH传输命令、地址和数据。例如,存储器控制器1200可响应于从主机2000接收的请求,通过通道CH将用于编程操作、读取操作或擦除操作的命令传输到存储器装置1100。
存储器控制器1200可控制主机2000与缓冲存储器1300之间的数据交换,或者可将用于控制存储器装置1100的系统数据暂时存储在缓冲存储器1300中。例如,存储器控制器1200可将存储器装置1100的物理信息P_IF和与存储器系统1000的操作相关的逻辑信息L_IF传输到缓冲存储器1300,或者可从缓冲存储器1300接收物理信息和逻辑信息。
缓冲存储器1300可用作存储器控制器1200的工作存储器、高速缓冲存储器或缓冲存储器,并且可临时存储物理信息和逻辑信息。在实施例中,缓冲存储器1300可包括双倍数据速率同步动态随机存取存储器(DDR SDRAM)、DDR第四代(DDR4)SDRAM、低功率DDR第四代(LPDDR4)SDRAM、图形双倍数据速率(GDDR)SDRAM、低功率DDR(LPDDR)SDRAM或Rambus DRAM(RDRAM)。
图2是示出图1的存储器控制器的示图。
参照图2,存储器控制器1200可包括闪存转换层(FTL)1210、内部存储器1220、闪存接口层(FIL)1230、错误校正电路(ECC)1240和主机接口层(HIL)1250,以便执行主机2000和存储器装置1100之间的通信。闪存转换层1210、内部存储器1220、闪存接口层1230、错误校正电路1240和主机接口层1250可通过总线1260彼此通信。
闪存转换层1210可在基于扇区操作的主机2000和基于块或页面操作的存储器装置1100之间将物理信息与逻辑信息相关联,并且可基于相关联的信息运行固件。例如,当从主机2000接收到请求时,闪存转换层1210可生成用于处理接收到的请求的命令。进一步地,闪存转换层1210可添加与存储器装置1100相关或有关的物理信息和逻辑信息,其中对单个描述符执行命令,并且可将描述符传输到闪存接口层1230。进一步地,当需要错误校正操作时,闪存转换层1210可从闪存接口层1230接收描述符,并且可控制错误校正电路1240以基于包括在接收到的描述符中的物理信息和逻辑信息来执行错误校正操作。
内部存储器1220可存储存储器控制器1200的操作所需的各种类型的系统信息。例如,内部存储器1220可被实施为静态RAM(SRAM)。内部存储器1220可存储存储器系统1000的操作所需的地址映射信息和逻辑信息。
闪存接口层1230可在闪存转换层1210的控制下与存储器装置1100通信。例如,闪存接口层1230可从闪存转换层1210接收描述符,并且可存储包括在描述符中的物理信息和逻辑信息,使得物理信息和逻辑信息被映射到对应的描述符。例如,闪存接口层1230可根据存储器装置1100的状态来对包括在描述符中的命令进行排队,并且可按照命令排队的顺序将命令输出到存储器装置1100。进一步地,当从闪存转换层1210接收到请求时,闪存接口层1230可将包括所存储的物理信息和逻辑信息的描述符传输到闪存转换层1210。
错误校正电路1240可在闪存转换层1210的控制下执行错误校正操作。例如,错误校正电路1240可响应于从闪存转换层1210接收的错误校正命令、物理信息和逻辑信息来执行错误校正操作。
主机接口层1250可配置成在闪存转换层1210的控制下与联接到存储器系统1000的主机2000通信。例如,主机接口层1250可从主机2000接收各种请求,例如编程请求、读取请求和擦除请求,并且可将从存储器装置1100读取的数据输出到主机2000。
图3是示出图1的存储器装置的示图。
参照图3,存储器装置1100可包括多个通路W1至Wi。例如,存储器装置1100可通过多个通道CH1至CHj联接到存储器控制器1200,并且第一至第i通路W1至Wi可联接到通道CH1至CHj中的每一个。第一至第i通路W1至Wi可以是在物理上被分离的数据存储装置,并且不能同时选择联接到相同通道的第一至第i通路W1至Wi。例如,不能同时选择和操作联接到第一通道CH1的第一至第i通路W1至Wi,但是可同时选择和操作第一至第i通路W1至Wi中联接到不同通道CH1到CHj的通路。
可同等地配置第一至第i通路W1至Wi,因此将以示例的方式来描述通路中的第一通路W1。
图4是用于说明图3的第一通路的示图。
参照图4,第一通路W1可包括存储数据的存储器单元阵列410,执行编程操作、读取操作或擦除操作的外围电路420和430以及控制外围电路的控制逻辑440。
存储器单元阵列410可包括多个平面P1至P4。例如,存储器单元阵列410可包括第一至第四平面P1至P4。第一至第四平面P1至P4可彼此物理分离,并且可彼此独立地进行操作。第一至第四平面P1至P4中的每一个可包括多个存储块BLK。存储块BLK在物理上可彼此分离。虽然未在图中示出,但存储块BLK中的每一个可包括多个页面,页面中的每一个具有多个存储器单元。存储块BLK可各自以二维(2D)或三维(3D)结构实施。2D结构表示其中存储器单元在水平方向上被布置在衬底上的结构。3D结构表示其中存储器单元在竖直方向上被堆叠在衬底上的结构。因为3D结构比2D结构具有更高的集成度,因此具有3D结构的存储块BLK近来得到了广泛的使用。平面P1至P4的数量和存储块BLK的数量不限于图4所示的数量。
外围电路420和430可包括电压传输电路420和读取写入电路430。
电压传输电路420可响应于操作信号OP_SIG而生成编程操作、读取操作或擦除操作所需的操作电压Vop,并且可将操作电压Vop传输到存储器单元阵列410。
读取写入电路430可通过通道接收命令CMD和地址ADD,并且可响应于控制信号C_SIG来控制联接到存储器单元阵列410的位线BL的电压或者感测位线BL的电压。在读取写入电路430中,术语“写入”可表示编程操作。进一步地,读取写入电路430可通过通道传输/接收数据。
控制逻辑440可响应于通过通道接收的各个使能信号来操作,并且可响应于命令CMD来输出操作信号OP_SIG和控制信号C_SIG。
图5是用于说明超级块的示图。
参照图5,联接到相同通道的第一至第i通路W1至Wi可以是在物理上被分离的存储装置,但是可将其中的一些存储块作为单个逻辑块来操作。以这种方式,一组物理上不同但在逻辑上分组的存储块称为“超级块”。
例如,分别被包括在第一至第i通路W1至Wi的第一存储块可被分组为单个逻辑块,其可用作第一超级块SB1。以这种方式,被包括在第一至第i通路W1至Wi中的存储块可在逻辑概念上被分组为第一至第k超级块SB1至SBk。
图6是示出根据本公开的实施例的闪存转换层1210和操作闪存转换层1210的方法的示图。
参照图6,闪存转换层1210可包括固件(FW)执行单元610和描述符生成器620。
响应于从主机(例如,图1的2000)接收的请求RQ,固件执行单元610可执行用于执行对应请求的固件。进一步地,即使未从主机2000接收到请求RQ,固件执行单元610还可执行用于由存储器控制器1200在内部执行的操作的固件。固件执行单元610可执行用于控制描述符生成器620的固件。
描述符生成器620可包括物理信息存储缓冲器(P_BF)621、逻辑信息存储缓冲器(L_BF)622、命令(CMD)生成器623和描述符(DSC)输出电路624。
物理信息存储缓冲器621可临时存储每一个描述符中的物理信息P_IF。对于每一个描述符,物理信息P_IF可能不同。物理信息P_IF可以是与存储器装置1100的物理状态相关或有关的信息,其中在该存储器装置1100中执行对应的描述符。例如,物理信息P_IF可包括描述符中的通路信息、通道信息、存储块地址信息、页面地址信息、部分编程周期数(NOP)偏移信息、单层单元(SLC)信息、多层单元(MLC)信息和三层单元(TLC)信息中的至少一个。另外,物理信息P_IF可进一步包括存储器装置1100的结构信息,其中在该存储器装置1100中执行对应的描述符。可从缓冲存储器(例如,图1的1300)接收这种物理信息P_IF。
逻辑信息存储缓冲器622可临时存储每一个描述符中的逻辑信息L_IF。对于每一个描述符,逻辑信息L_IF可能不同。逻辑信息L_IF可以是与存储器装置1100的逻辑状态相关或有关的信息,其中在该存储器装置1100中执行对应的描述符。例如,逻辑信息L_IF可包括描述符中的超级块索引信息、循环次数操作信息和块类型信息,与存储描述符的槽的数量相关联或有关的信息,以及描述符中的错误校正信息中的至少一个。另外,逻辑信息L_IF可进一步包括存储器装置1100的操作相关信息,其中在该存储器装置1100中执行对应的描述符。可从缓冲存储器1300或内部存储器(例如,图2的1220)接收这种逻辑信息L_IF。
命令生成器623可生成与接收的请求RQ相对应的命令CMD。例如,命令CMD可包括编程命令、读取命令或擦除命令。另外,可生成用于操作存储器装置1100的各种命令。
描述符输出电路624可分别从物理信息存储缓冲器621、逻辑信息存储缓冲器622和命令生成器623接收物理信息P_IF、逻辑信息L_IF和命令CMD,并且可输出包括接收到的信息的单个描述符DSC。也就是说,从描述符生成器620输出的描述符DSC可包括命令CMD和与该命令CMD相关联或有关的物理信息P_IF和逻辑信息L_IF。
图7是用于说明图2的闪存接口层1230的示图,图8是用于说明图7的查找表710的示图。
参照图7,闪存接口层1230可包括查找表710、命令(CMD)队列720和闪存接口730。
查找表710可从闪存转换层(例如,图6的1210)接收描述符DSC,并且可包括命令表CMD_Table、物理信息表PIF_Table以及逻辑信息表LIF_Table,这些表分别存储包括在描述符DSC中的命令CMD、物理信息P_IF和逻辑信息L_IF。命令表CMD_Table、物理信息表PIF_Table和逻辑信息表LIF_Table中的每一个可包括多个槽,槽中的每一个可存储彼此对应的命令CMD、物理信息P_IF或逻辑信息L_IF。也就是说,存储在命令表CMD_Table、物理信息表PIF_Table和逻辑信息表LIF_Table中的相同槽中的信息可作为单个组来进行管理。将参照图8详细地描述查找表710。
参照图8,假设单个描述符DSC中包括第一命令1CMD、第一物理信息1P_IF和第一逻辑信息1L_IF。在这种情况下,第一命令1CMD被存储在命令表CMD_Table的第一槽中,第一物理信息1P_IF被存储在物理信息表PIF_Table的第一槽中,并且第一逻辑信息1L_IF被存储在逻辑信息表LIF_Table的第一槽中。可将第一命令1CMD、第一物理信息1P_IF和第一逻辑信息1L_IF作为第一组GR1一起进行管理。即,包括在第一组GR1中的第一物理信息1P_IF和第一逻辑信息1L_IF可以是与第一命令1CMD相关联或有关的物理和逻辑信息。
以这种方式,查找表710可包括多个槽,并且可对存储在各个槽中的命令和信息进行分组和管理。例如,可将与第八命令8CMD相关联或有关的第八物理信息8P_IF和第八逻辑信息8L_IF存储为第八组GR8。
而且,当新提供的描述符包括与存储在查找表710中的命令相同的命令时,查找表710可以实时地更新与对应的命令相关联或有关的物理信息P_IF和逻辑信息L_IF。当从闪存转换层(例如,图6的1210)接收到请求时,存储在查找表710中的第一至第八组GR1至GR8的信息可被输出到闪存转换层(例如,图6的1210)。图8示出了为便于描述而给出的查找表710的实施例,因此命令CMD的数量、物理信息片P_IF的数量、逻辑信息片L_IF的数量和组GR的数量不限于图8所示的数量。
重新参照图7,存储在查找表710中的命令CMD可被传输到命令(CMD)队列720。命令队列720可根据存储器装置1100的状态来管理命令的执行顺序,并且可顺序地输出执行顺序已经被调整的命令。
闪存接口730可通过通道CH将从命令队列720接收的每一个命令CMD输出到存储器装置1100。
图9和图10是示出根据本公开的实施例的操作闪存转换层1210的方法的示图。
参照图9,当需要物理信息P_IF和逻辑信息L_IF时,闪存转换层1210可从闪存接口层(例如,图7的1230)接收对应描述符DSC的物理信息P_IF和逻辑信息L_IF,并且可将接收到的信息用于所需的操作。
例如,当执行错误校正操作时,固件执行单元610可执行用于错误校正的固件,并且可将错误校正请求传输到描述符生成器620。描述符生成器620的命令生成器623可生成对应于错误校正请求的错误校正命令ECC_CMD。描述符输出电路624可从命令生成器623接收错误校正命令ECC_CMD,并且可将包括接收到的错误校正命令ECC_CMD的描述符DSC输出到错误校正电路(ECC)1240。描述符还包括对应于错误校正命令ECC_CMD的物理信息P_IF和逻辑信息L_IF。此外,该描述符与其它描述符的区别在于错误校正命令ECC_CMD。
参照图10,描述符输出电路624可从闪存接口层1230接收包括物理信息P_IF和逻辑信息L_IF的描述符DSC,并且可将包括在接收到的描述符DSC中的命令CMD传输到命令生成器623,将包括在接收到的描述符DSC中的逻辑信息L_IF传输到逻辑信息存储缓冲器622,并且将包括在接收到的描述符DSC中的物理信息P_IF传输到物理信息存储缓冲器621。
命令生成器623可响应于错误校正请求生成错误校正命令ECC_CMD。逻辑信息存储缓冲器622可临时存储逻辑信息L_IF,并且可再次输出所存储的逻辑信息。物理信息存储缓冲器621可临时存储物理信息P_IF,并且可再次输出所存储的物理信息。
从描述符生成器620输出的错误校正命令ECC_CMD、物理信息P_IF和逻辑信息L_IF可被传输到错误校正电路(ECC)1240(91),并且错误校正电路1240可响应于错误校正命令ECC_CMD、物理信息P_IF和逻辑信息L_IF执行错误校正操作。
如上所述,因为将每一个描述符中的物理信息P_IF和逻辑信息L_IF存储在闪存接口层1230中并实时进行更新,因此闪存转换层1210可快速地接收物理信息P_IF和逻辑信息L_IF,并且可快速地执行需要接收到的信息的操作。因此,可提高闪存转换层1210的性能,并且还可提高包括闪存转换层1210的存储器控制器1200的性能。进一步地,因为将逻辑信息L_IF存储在闪存接口层1230中,而非存储在内部存储器(例如,图2的1220)中,因此可确保内部存储器(例如,图2的1220)的存储容量。
图11是示出图1的存储器系统的实施例的示图。
参照图11,存储器系统30000可被实施为移动电话、智能电话、平板电脑、个人数字助理(PDA)或无线通信装置。
存储器系统30000可包括存储器装置1100、能够控制存储器装置1100的操作的存储器控制器1200、以及能够控制存储器控制器1200的主机2000。存储器控制器1200可在主机2000的控制下控制存储器装置1100的数据访问操作,例如,编程操作、擦除操作或读取操作。
编程到存储器装置1100的数据可在存储器控制器1200的控制下经由显示器3200输出。
无线电收发器3300可通过天线ANT交换无线电信号。例如,无线电收发器3300可将通过天线ANT接收到的无线电信号转换成可由主机2000处理的信号。因此,主机2000可处理从无线电收发器3300输出的信号,并且可将处理后的信号传输到存储器控制器1200或显示器3200。存储器控制器1200可将由主机2000处理的信号传输到存储器装置1100。进一步地,无线电收发器3300可将从主机2000输出的信号转换成无线电信号,并且通过天线ANT将转换的无线电信号输出到外部装置。输入装置3400可用于输入用于控制主机2000的操作的控制信号或待由主机2000处理的数据。输入装置3400可被实施为诸如触摸板或计算机鼠标的定点装置、小键盘或键盘。主机2000可控制显示器3200的操作,使得从存储器控制器1200输出的数据、从无线电收发器3300输出的数据或从输入装置3400输出的数据通过显示器3200输出。
图12是示出图1的存储器系统的实施例的示图。
参照图12,存储器系统40000可被实现在个人计算机(PC)、平板电脑、上网本、电子阅读器、个人数字助理(PDA)、便携式多媒体播放器(PMP)、MP3播放器或MP4播放器中。
存储器系统40000可包括存储器装置1100、能够控制存储器装置1100的数据处理操作的存储器控制器1200、以及能够控制存储器控制器1200的主机2000。
进一步地,主机2000可根据通过输入装置4200输入的数据,经由显示器4300输出存储在存储器装置1100中的数据。例如,输入装置4200可被实施为诸如触摸板或计算机鼠标的定点装置、小键盘或键盘。
主机2000可控制存储器系统40000的整体操作,并且可控制存储器控制器1200的操作。
图13是示出图1的存储器系统的实施例的示图。
参照图13,存储器系统50000可被实现在图像处理装置中,例如数码相机、配备有数码相机的移动电话、配备有数码相机的智能电话或配备有数码相机的平板电脑。
存储器系统50000可包括存储器装置1100、能够控制存储器装置1100的例如编程操作、擦除操作或读取操作等数据处理操作的存储器控制器1200、以及能够控制存储器控制器1200的主机2000。
存储器系统50000的图像传感器5200可将光学图像转换成数字信号,并且转换后的数字信号可被传输到主机2000。在主机2000的控制下,转换后的数字信号可经由显示器5300输出,或通过存储器控制器1200存储在存储器装置1100中。进一步地,存储在存储器装置1100中的数据可在主机2000的控制下经由显示器5300输出。
图14是示出图1的存储器系统的实施例的示图。
参照图14,存储器系统可包括存储卡70000。
存储卡70000可被实施为智能卡。存储卡70000可包括存储器装置1100、存储器控制器1200和卡接口7100。
存储器控制器1200可控制存储器装置1100和卡接口7100之间的数据交换。在实施例中,卡接口7100可以是但不限于安全数字(SD)卡接口或多媒体卡(MMC)接口。进一步地,卡接口7100可根据主机2000的协议来接口连接主机2000和存储器控制器1200以进行数据交换。在实施例中,卡接口7100可支持通用串行总线(USB)协议和芯片间(IC)-USB协议。此处,卡接口7100可表示能够支持主机2000使用的协议的硬件、安装在硬件中的软件或者由硬件执行的信号传输方法。
本公开可管理每一个描述符中的物理信息和逻辑信息,使得物理信息和逻辑信息彼此映射,从而提高闪存转换层的性能。因此,可提高包括闪存转换层的存储器控制器的性能。
虽然为了说明的目的公开了本公开的示例性实施例,但本领域技术人员将理解的是,可进行各种修改、添加和替换。因此,本公开的范围必须由所附权利要求和权利要求的等同物来限定,而非由之前的描述来限定。
Claims (19)
1.一种存储器控制器,包括:
闪存转换层,输出包括命令以及与所述命令相关联的物理信息和逻辑信息的描述符;以及
闪存接口层:
接收所述描述符,单独地存储包括在所述描述符中的所述命令、所述物理信息和所述逻辑信息;
调整所述命令的队列;并且
根据所述命令的被调整的队列将所述命令输出到存储器装置,
其中所述闪存转换层包括:
命令生成器,所述命令生成器生成所述命令;
物理信息存储缓冲器,接收与所述命令相关联的物理信息并临时存储所述物理信息;
逻辑信息存储缓冲器,接收与所述命令相关联的逻辑信息并临时存储所述逻辑信息;以及
描述符输出电路,生成包括所述命令、所述物理信息和所述逻辑信息的所述描述符。
2.根据权利要求1所述的存储器控制器,其中所述命令生成器:
响应于从主机接收的请求生成所述命令,或者
生成用于所述存储器控制器的内部操作的所述命令。
3.根据权利要求1所述的存储器控制器,其中所述物理信息存储缓冲器:
接收存储在缓冲存储器或内部存储器装置中的信息片中与所述命令相关联的所述物理信息,并且临时存储所述物理信息,并且
将所述物理信息传输到所述描述符输出电路。
4.根据权利要求1所述的存储器控制器,其中所述逻辑信息存储缓冲器:
接收存储在缓冲存储器或内部存储器装置中的信息片中与所述命令相关联的所述逻辑信息,并且临时存储所述逻辑信息,并且
将所述逻辑信息传输到所述描述符输出电路。
5.根据权利要求1所述的存储器控制器,其中所述描述符输出电路生成对应于所述命令的描述符,使得所述物理信息和所述逻辑信息都被包括在所述描述符中。
6.根据权利要求1所述的存储器控制器,其中所述物理信息和所述逻辑信息包括用于各个描述符的不同的信息片。
7.根据权利要求1所述的存储器控制器,其中所述物理信息和所述逻辑信息包括与执行所述描述符时所述存储器装置的物理状态和逻辑状态相关的信息。
8.根据权利要求7所述的存储器控制器,其中所述物理信息包括所述描述符中的通路信息、通道信息、存储块地址信息、页面地址信息、部分编程周期数NOP偏移信息、单层单元SLC信息、多层单元MLC信息和三层单元TLC信息中的至少一个。
9.根据权利要求7所述的存储器控制器,其中所述逻辑信息包括所述描述符中的超级块索引信息、循环操作次数信息和块类型信息、与存储所述描述符的槽的数量相关联的信息、所述描述符中的错误校正信息中的至少一个。
10.根据权利要求1所述的存储器控制器,其中所述闪存接口层包括:
查找表,针对每一个槽存储包括在所述描述符中的信息;
命令队列,将包括在所述描述符中的所述命令进行排队;以及
闪存接口,将被排队的所述命令传输到所述存储器装置。
11.根据权利要求10所述的存储器控制器,其中所述查找表包括:
命令表,将包括在所述描述符中的所述命令存储在对应的槽中;
物理信息表,将包括在所述描述符中的所述物理信息存储在对应的槽中;以及
逻辑信息表,将包括在所述描述符中的所述逻辑信息存储在对应的槽中。
12.根据权利要求11所述的存储器控制器,其中被分别存储在所述命令表、所述物理信息表和所述逻辑信息表中的所述命令、所述物理信息和所述逻辑信息基于槽进行分组和管理。
13.根据权利要求12所述的存储器控制器,其中所述查找表根据由所述闪存转换层请求的描述符,将与被请求的所述描述符相对应的组的命令、物理信息和逻辑信息输出到所述闪存转换层。
14.一种存储器控制器,包括:
闪存转换层,输出包括命令以及与所述命令相关联的物理信息和逻辑信息的描述符;以及
闪存接口层,接收所述描述符并存储包括在所述描述符中的所述命令、所述物理信息和所述逻辑信息,并且当从所述闪存转换层接收到请求时,将对于被请求的所述描述符的所述命令、所述物理信息和所述逻辑信息传输到所述闪存转换层,
其中所述闪存接口层包括:
查找表,存储或更新每一个描述符的所述命令、所述物理信息和所述逻辑信息;
命令队列,根据存储器装置的状态对从所述查找表接收的所述命令进行排队;以及
闪存接口,通过通道将被排队的所述命令输出到所述存储器装置。
15.根据权利要求14所述的存储器控制器,其中所述闪存转换层:
在错误校正操作中,向所述闪存接口层请求与所述错误校正操作相关联的描述符,并且
响应于从所述闪存接口层接收的所述描述符生成错误校正命令,并且将所述错误校正命令、所述物理信息和所述逻辑信息传输到错误校正电路。
16.根据权利要求14所述的存储器控制器,其中所述物理信息包括所述描述符中的通路信息、通道信息、存储块地址信息、页面地址信息、部分编程周期数NOP偏移信息、单层单元SLC信息、多层单元MLC信息和三层单元TLC信息中的至少一个。
17.根据权利要求14所述的存储器控制器,其中所述逻辑信息包括所述描述符中的超级块索引信息、循环操作次数信息和块类型信息、与存储所述描述符的槽的数量相关联的信息、所述描述符中的错误校正信息中的至少一个。
18.一种存储器系统,包括:
存储器控制器,响应于来自主机的请求生成命令,并且生成包括与所述命令相关联的物理信息和逻辑信息两者的描述符,并且当请求所述描述符时,输出包括在所述描述符中所有的所述命令、所述物理信息和所述逻辑信息;以及
存储器装置,响应于从所述存储器控制器输出的所述命令来编程数据、读取数据或擦除数据,
其中所述存储器控制器包括:闪存转换层和闪存接口层,
所述闪存转换层包括:
命令生成器,所述命令生成器生成所述命令;
物理信息存储缓冲器,接收与所述命令相关联的物理信息并临时存储所述物理信息;
逻辑信息存储缓冲器,接收与所述命令相关联的逻辑信息并临时存储所述逻辑信息;以及
描述符输出电路,生成包括所述命令、所述物理信息和所述逻辑信息的所述描述符,
所述闪存接口层包括:
查找表,存储或更新每一个描述符的所述命令、所述物理信息和所述逻辑信息;
命令队列,根据存储器装置的状态对从所述查找表接收的所述命令进行排队;以及
闪存接口,通过通道将被排队的所述命令输出到所述存储器装置。
19.一种控制存储器装置的控制器,所述控制器包括:
命令生成器,所述命令生成器生成命令;
物理信息存储缓冲器,对关于所述命令的物理信息进行缓冲;
逻辑信息存储缓冲器,对关于所述命令的逻辑信息进行缓冲;
描述符输出电路,生成描述符,所述描述符包括所述命令和与所述命令相关联的所述物理信息和所述逻辑信息;
查找表,存储所述描述符;
命令队列,将包括在所述描述符中的所述命令进行排队;
闪存接口,将被排队的所述命令提供给所述存储器装置以执行响应于被提供的所述命令的操作;以及
错误校正单元,根据所述描述符执行错误校正操作,
其中所述查找表响应于从所述命令生成器提供的请求,通过所述物理信息存储缓冲器和所述逻辑信息存储缓冲器向所述命令生成器提供存储在所述查找表中的所述描述符。
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR10-2018-0031753 | 2018-03-19 | ||
KR1020180031753A KR102523327B1 (ko) | 2018-03-19 | 2018-03-19 | 메모리 컨트롤러 및 이를 포함하는 메모리 시스템 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN110287133A CN110287133A (zh) | 2019-09-27 |
CN110287133B true CN110287133B (zh) | 2023-06-13 |
Family
ID=67904037
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201811352147.1A Active CN110287133B (zh) | 2018-03-19 | 2018-11-14 | 存储器控制器及具有其的存储器系统 |
Country Status (3)
Country | Link |
---|---|
US (1) | US10684798B2 (zh) |
KR (1) | KR102523327B1 (zh) |
CN (1) | CN110287133B (zh) |
Families Citing this family (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR20200085966A (ko) * | 2019-01-07 | 2020-07-16 | 에스케이하이닉스 주식회사 | 데이터 저장 장치 및 그 동작 방법 |
US11573891B2 (en) | 2019-11-25 | 2023-02-07 | SK Hynix Inc. | Memory controller for scheduling commands based on response for receiving write command, storage device including the memory controller, and operating method of the memory controller and the storage device |
KR102456176B1 (ko) * | 2020-05-21 | 2022-10-19 | 에스케이하이닉스 주식회사 | 메모리 컨트롤러 및 그 동작 방법 |
US11442852B2 (en) * | 2020-06-25 | 2022-09-13 | Western Digital Technologies, Inc. | Adaptive context metadata message for optimized two-chip performance |
US11983433B2 (en) | 2020-10-29 | 2024-05-14 | Micron Technology, Inc. | Techniques for detecting a state of a bus |
US12046316B2 (en) * | 2020-10-29 | 2024-07-23 | Micron Technology, Inc. | Techniques for detecting a state of a bus |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104951405A (zh) * | 2014-03-28 | 2015-09-30 | 三星电子株式会社 | 存储系统以及对存储系统执行和验证写保护的方法 |
CN106339178A (zh) * | 2015-07-09 | 2017-01-18 | 爱思开海力士有限公司 | 存储器控制单元及包括该存储器控制单元的数据存储设备 |
CN107066404A (zh) * | 2016-02-02 | 2017-08-18 | 三星电子株式会社 | 存储装置、存储系统和操作存储装置的方法 |
CN107643985A (zh) * | 2016-07-21 | 2018-01-30 | 爱思开海力士有限公司 | 存储器系统及其操作方法 |
CN107797759A (zh) * | 2016-09-05 | 2018-03-13 | 北京忆恒创源科技有限公司 | 访问缓存信息的方法、装置与驱动器 |
Family Cites Families (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR101541344B1 (ko) * | 2008-12-05 | 2015-08-03 | 삼성전자주식회사 | 메모리 장치 및 메모리 장치의 제어 방법 |
KR102107723B1 (ko) | 2012-12-03 | 2020-05-07 | 삼성전자주식회사 | 메모리 컨트롤러 및 메모리 컨트롤러의 동작 방법 |
KR102140592B1 (ko) * | 2013-10-18 | 2020-08-03 | 에스케이하이닉스 주식회사 | 데이터 저장 장치 |
KR102308777B1 (ko) | 2014-06-02 | 2021-10-05 | 삼성전자주식회사 | 비휘발성 메모리 시스템 및 비휘발성 메모리 시스템의 동작방법 |
KR20180118329A (ko) * | 2017-04-21 | 2018-10-31 | 에스케이하이닉스 주식회사 | 메모리 시스템, 데이터 처리 시스템 및 그것의 동작 방법 |
-
2018
- 2018-03-19 KR KR1020180031753A patent/KR102523327B1/ko active IP Right Grant
- 2018-10-18 US US16/164,144 patent/US10684798B2/en not_active Expired - Fee Related
- 2018-11-14 CN CN201811352147.1A patent/CN110287133B/zh active Active
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104951405A (zh) * | 2014-03-28 | 2015-09-30 | 三星电子株式会社 | 存储系统以及对存储系统执行和验证写保护的方法 |
CN106339178A (zh) * | 2015-07-09 | 2017-01-18 | 爱思开海力士有限公司 | 存储器控制单元及包括该存储器控制单元的数据存储设备 |
CN107066404A (zh) * | 2016-02-02 | 2017-08-18 | 三星电子株式会社 | 存储装置、存储系统和操作存储装置的方法 |
CN107643985A (zh) * | 2016-07-21 | 2018-01-30 | 爱思开海力士有限公司 | 存储器系统及其操作方法 |
CN107797759A (zh) * | 2016-09-05 | 2018-03-13 | 北京忆恒创源科技有限公司 | 访问缓存信息的方法、装置与驱动器 |
Also Published As
Publication number | Publication date |
---|---|
CN110287133A (zh) | 2019-09-27 |
US10684798B2 (en) | 2020-06-16 |
KR20190109987A (ko) | 2019-09-27 |
KR102523327B1 (ko) | 2023-04-20 |
US20190286370A1 (en) | 2019-09-19 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN110287133B (zh) | 存储器控制器及具有其的存储器系统 | |
CN109783397B (zh) | 存储器系统及其操作方法 | |
CN110232035B (zh) | 存储器系统以及存储器系统的操作方法 | |
US20190227931A1 (en) | Data storage device and operating method thereof | |
US20190138440A1 (en) | Memory system and operating method thereof | |
CN111338976A (zh) | 存储器系统以及存储器系统的操作方法 | |
KR20190023433A (ko) | 메모리 시스템 및 그것의 동작 방법 | |
KR20210003625A (ko) | 컨트롤러, 이를 포함하는 메모리 시스템 및 이의 동작 방법 | |
US10466938B2 (en) | Non-volatile memory system using a plurality of mapping units and operating method thereof | |
CN111240585B (zh) | 控制器、包括控制器的存储器系统及其操作方法 | |
CN110309075B (zh) | 存储器控制器以及具有存储器控制器的存储器系统 | |
US12056359B2 (en) | Storage device, electronic device including storage device, and operating method thereof | |
KR20210152750A (ko) | 메모리 시스템 및 메모리 시스템의 동작 방법 | |
US11029854B2 (en) | Memory controller for concurrently writing host data and garbage collected data and operating method thereof | |
US10769060B2 (en) | Storage system and method of operating the same | |
US20190294542A1 (en) | Memory system and operating method thereof | |
KR20200042358A (ko) | 메모리 장치 및 이의 동작 방법 | |
US11625182B2 (en) | Storage device and operating method thereof | |
KR20190105869A (ko) | 메모리 컨트롤러 및 그 동작 방법 | |
US10942675B2 (en) | Memory system and operating method thereof | |
CN113220217A (zh) | 存储器系统及其操作方法 | |
US20210134383A1 (en) | Memory system and operating method of the memory system | |
US20210118517A1 (en) | Memory device | |
US20240126682A1 (en) | Storage device, electronic device including the same, and operating method thereof | |
US20240004557A1 (en) | Memory device, memory system including memory device, and method of operating 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 |