CN106293505A - 存储系统和操作其的方法 - Google Patents
存储系统和操作其的方法 Download PDFInfo
- Publication number
- CN106293505A CN106293505A CN201610023656.4A CN201610023656A CN106293505A CN 106293505 A CN106293505 A CN 106293505A CN 201610023656 A CN201610023656 A CN 201610023656A CN 106293505 A CN106293505 A CN 106293505A
- Authority
- CN
- China
- Prior art keywords
- path
- data
- storage unit
- semiconductor storage
- command queue
- 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
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0628—Interfaces specially adapted for storage systems making use of a particular technique
- G06F3/0629—Configuration or reconfiguration of storage systems
- G06F3/0631—Configuration or reconfiguration of storage systems by allocating resources to storage systems
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C29/00—Checking stores for correct operation ; Subsequent repair; Testing stores during standby or offline operation
- G11C29/52—Protection of memory contents; Detection of errors in memory contents
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/07—Responding to the occurrence of a fault, e.g. fault tolerance
- G06F11/08—Error detection or correction by redundancy in data representation, e.g. by using checking codes
- G06F11/10—Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's
- G06F11/1008—Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's in individual solid state devices
- G06F11/1072—Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's in individual solid state devices in multilevel memories
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0602—Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
- G06F3/0604—Improving or facilitating administration, e.g. storage management
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0628—Interfaces specially adapted for storage systems making use of a particular technique
- G06F3/0655—Vertical data movement, i.e. input-output transfer; data movement between one or more hosts and one or more storage devices
- G06F3/0656—Data buffering arrangements
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0628—Interfaces specially adapted for storage systems making use of a particular technique
- G06F3/0655—Vertical data movement, i.e. input-output transfer; data movement between one or more hosts and one or more storage devices
- G06F3/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
Abstract
一种存储系统包括半导体存储器件和控制器,半导体存储器件包括适用于储存正常数据以及读取所储存的数据的多个路径和适用于储存系统数据的系统路径,控制器适用于控制半导体存储器件以执行对多个路径的总体操作和对系统路径中的系统数据的更新操作。
Description
相关申请的交叉引用
本申请要求2015年6月26日提交的申请号为10-2015-0090928的韩国专利申请的优先权,其全部公开通过引用整体地并入本文。
技术领域
本公开的方面涉及一种电子器件,更具体地说,涉及一种存储系统和操作存储系统的方法。
背景技术
半导体存储器件是使用例如硅(Si)、锗(Ge)、砷化镓(GaAs)、磷化铟(InP)等的半导体来实现的存储器件。半导体存储器件通常分为易失性存储器件和非易失性存储器件。
易失性存储器是在电源切断时丧失所储存的数据的存储器件。易失性存储器件的示例包括静态随机存取存储器(SRAM)、动态RAM(DRAM)、同步DRAM(SDRAM)等。非易失性存储器是即使在电源切断时仍保留所储存的数据的存储器件。非易失性存储器件的示例包括只读存储器(ROM)、可编程只读存储器(PROM)、电可编程ROM(EPROM)、电可擦除可编程只读存储器(EEPROM)、闪速存储器、相变RAM(PRAM)、磁性RAM(MRAM)、电阻式RAM(RRAM)、铁电RAM(FRAM)等。闪速存储器通常分为NOR型闪速存储器和NAND型闪速存储器。
发明内容
实施例提供一种具有改进操作速度的存储系统和操作其的方法。
根据本公开的一方面,提供了一种包括半导体存储器件和控制器的存储系统,半导体存储器件包括适用于储存正常数据以及读取储存的数据的多个路径和适用于储存系统数据的系统路径,控制器适用于控制半导体存储器件来执行对多个路径的总体操作和对系统路径中的系统数据的更新操作。
根据本公开的一方面,提供了一种操作存储系统的方法,该方法包括:根据从主机输入的命令来生成用于控制半导体存储器件的内部命令和用于更新系统数据的映射命令,内部命令和映射命令储存在半导体存储器件中;通过排列内部命令和映射命令来生成命令队列;以及根据该命令队列来执行队包括在半导体存储器件内的多个路径的总体操作和对半导体存储器件内的系统路径中包括的系统数据的更新操作。
根据本公开的一方面,提供了一种操作存储系统的方法,该方法包括:根据从主机输入的命令来生成用于控制半导体存储器件的主命令和用于更新系统数据的映射命令,主命令和映射命令储存在半导体存储器件中;生成适用于使主命令排队的主命令队列和适用于使映射命令排队的映射命令队列;以及根据该主命令队列来执行对包括在半导体存储器件内的多个路径的总体操作;以及基于关于主命令队列的信息而根据映射命令队列来执行对系统数据的更新操作。
附图说明
现在将在下文中参考附图来更加充分地描述示例性实施例;然而,它们可以以不同形式来实施并且不应该被解释为局限于本文中所阐述的实施例。更确切地说,提供这些实施例使得本公开将透彻且完整,并且将向本领域技术人员充分地传达示例性实施例的范围。
在附图中,为了图示的清楚性,可以夸大尺寸。将理解的是,在元件被称作在两个元件“之间”时,它可以是在两个元件之间的唯一元件或者也可以存在一个或多个中间元件。相同的附图标记始终指代相同的元件。
图1是示出根据本公开的实施例的存储系统的框图。
图2是示出半导体存储芯片的实施例的框图。
图3是示出根据本公开的实施例的存储系统的操作方法的流程图。
图4是示出根据本公开的实施例的存储系统的操作方法的时序图。
图5是示出根据本公开的实施例的公共命令队列的框图。
图6是示出根据本公开的实施例的存储系统的操作方法的流程图。
图7是示出根据本公开的实施例的存储系统的操作方法的时序图。
图8是示出根据本公开的实施例的专用命令队列的框图。
图9是示出控制器的示例性实施方式的框图。
具体实施方式
在以下的详细描述中,已经仅用作说明而示出并描述了本公开的仅特定示例性实施例。如本领域技术人员将认识到的,在不脱离本公开的精神或者范围的情况下可以按照各种不同的方式来修改所描述的实施例。因此,附图和描述将被认为实质上是说明性的而非限制性的。
在整个说明书中,在元件被称作“连接”或者“耦接”到另一元件时,它可以直接连接或者耦接到另一元件或者在一个或更多个中间元件介于其间的情况下间接地连接或者耦接到另一元件。此外,在元件被称作“包括”部件时,除非存在不同的公开内容,否则这表示该元件还可以包括另一部件而不是排除另一部件。
图1是示出根据本公开的实施例的存储系统100的框图。
参考图1,存储系统100包括主机110、控制器120以及半导体存储器件130。
主机110将主机命令、地址以及数据传输至控制器120。
控制器120包括处理单元121、缓冲器122以及存储器控制器123。
处理单元121根据储存在半导体存储器件130中的系统数据内包括的映射表数据来将从主机110提供的逻辑块地址转换为物理块地址,并且将转换来的物理块地址提供给缓冲器122。该系统数据可以包括映射表数据、与半导体存储器件的各种操作环境和状态有关的信息数据以及在其常规操作期间出现的历史和日志信息数据。上述的包括映射表数据的系统数据储存在半导体存储器件130的储存器件132中。储存在储存器件132中的系统数据通过对映射表数据的更新操作而被更新为新的系统数据。
缓冲器122暂时储存从处理单元121提供的物理块地址,然后将暂时储存的物理块地址提供给存储器控制器123。此外,缓冲器122暂时储存从主机110提供的数据,然后将暂时储存的数据提供给存储器控制器123。
响应于来自主机110的写入请求,存储器控制器123根据从缓冲器122提供的物理块地址将从缓冲器122提供的数据编程到半导体存储器件130中。响应于来自主机110的读取请求,存储器控制器123根据从缓冲器122提供的物理块地址读取半导体存储器件130中的编程了的数据,并且将读取的数据传输至主机110。存储器控制器123可以包括分别与通道CH1-CHk和CHk+1相对应的内部控制器。
半导体存储器件130在控制器120的控制下工作。半导体存储器件130包括多个储存区域131<1>-131<k>和储存器件132。多个储存区域131<1>-131<k>可以分别被定义为第一路径至第k路径。多个储存区域131<1>-131<k>通过分别与其相对应的通道CH1-CHk来与控制器120的存储器控制器123通信。每一储存区域131<1>-131<k>包括多个半导体存储芯片10。包括在每一储存区域131<1>-131<k>内的多个半导体存储芯片10可以按照单电平单元(SLC)模式、多电平单元(MLC)模式或者三电平单元(TLC)模式来对数据进行编程。
储存器件132通过通道CHk+1与存储器控制器123通信。储存器件132可以被配置为半导体存储芯片,并且储存和更新包括映射表数据的系统数据。例如,储存器件132可以被配置为非易失存储器,以及被配置为EEPROM、FeRAM、PCRAM、ReRAM等。储存器件132可以被定义为系统路径。储存器件132可以按照SLC模式来对数据进行编程,以便确保包括映射表数据的系统数据的可靠性。储存器件132可以储存正常数据以及映射表数据和系统数据,以便确保存储系统100的储存容量,并且正常数据可以按照MLC或者TLC模式来编程。然而,本公开不限于此,并且可以通过选择多个编程模式之中的一个或更多个模式来执行编程操作。
图2是示出参考图1所描述的半导体存储芯片10的实施例的框图。
参考图2,半导体存储芯片10包括存储单元阵列12和外围电路14。存储单元阵列12包括多个存储块BLK1-BLKn。对半导体存储器件10的擦除操作以存储块为单位来执行。对半导体存储器件10的编程操作和读取操作以页为单位来执行。
外围电路14在参考图1所描述的控制器120的控制下工作。
在编程操作期间,外围电路14接收指示编程操作的编程命令、物理块地址以及写入数据。一个存储块和包括在其中的一个页可以通过物理块地址来选择。外围电路14可以将写入数据编程在选定页中。
在读取操作期间,外围电路14从控制器120接收指示读取操作的读取命令和物理块地址。一个存储块和包括在其中的一个页可以通过物理块地址来选择。外围电路14可以从选定页读取数据并且将读取的数据输出至控制器120。
在擦除操作期间,外围电路14从控制器120接收指示擦除操作的擦除命令和物理块地址。一个存储块可以通过物理块地址来选择。外围电路14可以擦除与该物理块地址相对应的存储块的数据。
半导体存储芯片10是非易失性存储器件。作为实施例,半导体存储芯片10可以是闪速存储器件。
图3是示出根据本公开的实施例的存储系统100的操作方法的流程图。
图4是示出根据本公开的实施例的存储系统100的操作方法的时序图。
图5是示出根据本公开的实施例的公共命令队列的框图。
将参考图1至图5来将根据本公开的实施例的存储系统100的编程操作方法描述如下。
用于执行对半导体存储器件130的编程操作的编程命令和用于执行对系统数据的更新操作的更新命令在公共命令队列中排队的示例性情形将被描述如下。
在本公开中,更新系统路径132中的映射表数据的更新操作将被描述作为示例,也可以按照与更新系统路径132中的映射表数据的更新操作类似的方式来执行更新系统数据的更新操作。
生成命令和命令队列(步骤S310)
在从主机110输入了命令、逻辑地址以及数据时,控制器120的处理单元121根据该命令生成内部命令,并且顺序地排列所生成的内部命令。在这种情况下,内部命令包括用于执行对第一路径131<1>至第k路径131<k>的总体操作的命令和用于执行更新储存在系统路径132中的系统数据的更新操作的命令。
参考图5,对第一路径131<1>的编程命令(在图5中显示为“(数据)PGM-0路径”)、对第二路径131<2>的编程命令(在图5中显示为“(数据)PGM-1路径”)、对第三路径131<3>的编程命令(在图5中显示为“(数据)PGM-2路径”)以及对第四路径131<4>的编程命令(在图5中显示为“(数据)PGM-3路径”)顺序地排列在公共命令队列中以执行对数据的编程操作。此外,对系统路径132的用于更新映射数据和系统数据的更新命令(在图5中显示为“(映射)读取-系统路径”和“(映射)PGM-系统路径”)排列在公共命令队列的后续部分A中。在部分A之后,对第一路径131<1>的编程命令(在图5中显示为“(数据)PGM-0路径”)、对第二路径131<2>的编程命令(在图5中显示为“(数据)PGM-1路径”)、对第三路径131<3>的编程命令(在图5中显示为“(数据)PGM-2路径”)以及对第四路径131<4>的编程命令(在图5中显示为“(数据)PGM-3路径”)顺序地排列在公共命令队列中以执行对数据的编程操作,以及对系统路径132的用于更新映射数据和系统数据的更新命令(在图5中显示为“(映射)读取-系统路径”和“(映射)PGM-系统路径”排列在公共命令队列的后续部分B中。
如上所述,通过顺序地排列用于执行对第一路径131<1>至第k路径131<k>的总体操作的命令和用于执行对储存在系统路径132中的系统数据中包括的映射数据的更新操作的命令来生成公共命令队列。
在本公开的实施例中,顺序地生成对第一路径至第四路径131的命令已经被描述作为示例。然而,本公开不限于此,并且生成命令队列的次序可以按照随机方式或者通过处理单元121的请求来改变。
确认剩余命令(步骤S320)
判断是否执行在公共命令队列中排队的剩余命令。当一个或更多个剩余命令在公共命令队列中排队时,例如,在剩余命令的数量大于0时,在步骤S330处执行剩余命令。在剩余命令是0时,结束所有操作。
对第一路径至第k路径的操作以及对系统路径的操作(步骤S330)
作为步骤S320判断的结果,在剩余命令的数量大于0(这意味着剩余命令中的一个或更多个在公共命令队列中排队)时,执行与剩余命令相对应的操作。在这种情况下,可以根据公共命令队列中的队列次序来执行与剩余命令相对应的操作。
例如,如图5中所示,在顺序地执行对第一路径至第四路径131的编程操作之后,通过执行对系统路径132的读取操作和编程操作来执行对系统路径132中的系统数据的更新操作。
在这种情况下,在对第一路径至第四路径的编程操作期间,通过处理单元121的请求可以首先执行具有更高优先级的命令。
参考图4,响应于在参考图5所描述的公共命令队列中排队的编程命令,在第一路径(在图4中显示为“0路径”)至第四路径(在图4中显示为“3路径”)上顺序且重复地执行编程操作。例如,在第一路径至第四路径131上执行对用户数据的输入操作(在图4中显示为“用户数据输入”)和对最高有效位(MSB)的编程操作tPROG_MSB。
然后,响应于在参考图5所描述的公共命令队列中排队的更新命令,在系统路径132(在图4中显示为“系统路径”)上顺序地执行读取操作tR、对映射表数据的输出操作(在图4中显示为"映射表数据输出")、对映射表数据的输入操作(在图4中显示为“映射表数据数据输入”)以及对映射表数据的编程操作tPROG。
在这种情况下,可以通过选择SLC模式、MLC模式以及TLC模式之中的一种或更多种编程模式来执行对第一路径至第四路径131的编程操作。另一方面,可以以SLC模式来执行对系统路径132的编程操作以便确保可靠性。在对系统数据的编程操作期间,对系统路径132的编程操作被固定为SLC模式。因此,在对系统数据的编程操作期间可以跳过用于选择编程模式的操作。因此,防止了处理单元121和存储器控制器123的开销(overhead)。
状态检查操作(步骤S340)
在完成步骤S330时,通过对第一路径至第k路径131以及系统路径132的状态检查操作来判断对第一路径至第k路径131以及系统路径132的编程操作和更新操作是否被正常地执行。重复步骤S320至S340直至在公共命令队列中没有剩余命令排队为止。
在上述实施例中,尽管对存储系统的编程操作已经被描述作为示例,但是相同的方法也可以应用于对存储系统的读取操作。
根据本公开,映射数据储存在包括在半导体存储器件130内的储存器件132中,从而可以通过选择SLC模式、MLC模式以及TLC模式之中的一种或更多种编程模式来执行对第一路径至第四路径131的编程操作,而在对系统路径132中的系统数据的更新操作期间可以以SLC模式来执行对系统路径132的编程操作。因此,可能提高存储系统的操作速度并且防止处理单元121和存储器控制器123的开销。
此外,排列了对第一路径至第四路径131的命令和对系统路径132的命令,从而生成公共命令队列。因此,可以简化对第一路径至第四路径的总体操作和对系统路径132中的系统数据的更新操作。
图6是示出根据本公开的实施例的存储系统100的操作方法的流程图。
图7是示出根据本公开的实施例的存储系统100的操作方法的时序图。
图8是示出根据本公开的实施例的专用命令队列的框图。
将参考图1、图2以及图6至图8来将根据本公开的实施例的存储系统100的编程操作方法描述如下。
用于执行对半导体存储器件130的编程操作的编程命令和用于执行对系统数据的更新操作的更新命令在对应的专用命令队列中分开排队的示例性情形将被描述如下。
为了说明的目的,更新系统路径132中的映射表数据的更新操作将被描述作为示例。也可以按照与更新系统路径132中的映射表数据的更新操作类似的方式来执行更新系统数据的更新操作。
生成主命令和命令队列(步骤S610)
在从主机110输入了命令、逻辑地址以及数据时,控制器120的处理单元121根据该命令生成内部命令,并且顺序地排列所生成的内部命令。在这种情况下,内部命令是用于执行对第一路径131<1>至第k路径131<k>的总体操作的命令。
参考图8,对第一路径131<1>的编程命令(在图8中显示为“(数据)PGM-0路径”)、对第二路径131<2>的编程命令(在图8中显示为“(数据)PGM-1路径”)、对第三路径131<3>的编程命令(在图8中显示为“(数据)PGM-2路径”)以及对第四路径131<4>的编程命令(在图8中显示为“(数据)PGM-3路径”)在公共命令队列中顺序地排列以执行对数据的编程操作,并且这些编程命令按照这个次序重复地排列,从而生成主命令队列。
在本公开的实施例中,顺序地生成对第一路径至第四路径131的命令。然而,本公开不限于此,并且生成命令队列的次序可以按照随机方式或者通过处理单元121的请求来改变。
确认剩余命令(步骤S620)
判断是否执行在主命令队列中排队的对第一路径至第四路径131的剩余命令。当对第一路径至第四路径131的一个或更多个剩余命令在主命令队列中排队时,例如,在对第一路径至第四路径131的剩余命令的数量大于0时,在步骤S630处执行对第一路径至第四路径131的剩余命令。在剩余命令是0时,结束对第一路径至第四路径131的所有操作。
生成关于主命令队列的信息(步骤S630)
作为步骤S620判断的结果,在对第一路径至第四路径131的剩余命令的数量大于0(这意味着对第一路径至第四路径131的一个或更多个剩余命令在主命令队列中排队)时,任意地储存在步骤S610处所生成的关于主命令队列的信息。关于主命令队列的信息呈现了第一路径至第四路径131中的每一个是处于空闲状态还是忙碌状态、在主命令队列中是否剩余有对第一路径至第四方式131的任何命令、主命令队列中的后续命令是否是针对第一路径至第四路径131之中的当前处于忙碌状态的一个路径的等。
对第一路径至第k路径的操作(步骤S640)
根据主命令队列执行与对第一路径至第四路径131的剩余命令相对应的操作。例如,如图8中所示,顺序地执行对第一路径至第四路径131的编程操作。在这种情况下,在对第一路径至第四路径131的编程操作期间,通过处理单元121的请求可以首先执行具有更高优先级的命令。
参考图7,响应于在参考图8所描述的主命令队列中排队的对第一路径至第k路径131的编程命令,对第一路径(在图7中显示为“0路径”)至第四路径(在图7中显示为“3路径”)顺序地并且重复地执行编程操作。例如,对第一路径至第四路径131执行对用户数据的输入操作(在图7中显示为“用户数据输入”)和对最高有效位(MSB)的编程操作tPROG_MSB。
在这种情况下,可以通过选择SLC模式、MLC模式以及TLC模式之中的一种或更多种编程模式来执行对第一路径至第四路径131的编程操作。
状态检查操作(步骤S650)
在完成步骤S640时,通过对第一路径至第k路径131的状态检查操作来判断对第一路径至第k路径131的编程操作和更新操作是否被正常地执行。重复步骤S620至S650直至在主命令队列中没有对第一路径至第k路径131的剩余命令排队为止。
生成映射命令和命令队列(步骤S660)
在从主机110输入了命令、逻辑地址以及数据时,控制器120的处理单元121根据该命令生成内部命令,并且顺序地排列所生成的内部命令。在这种情况下,内部命令是用于更新系统路径132中的系统数据的更新操作的命令。
用于系统路径132的映射命令队列的步骤S660可以与用于第一路径至第k路径131的主命令队列的步骤S610并行地执行。可以同时地执行步骤S660和S610。
参考图8,对系统路径132的用于更新映射数据和系统数据(在图8中显示为“(映射)读取”和“(映射)PGM”)的更新命令重复地排列在映射命令队列中,从而生成映射命令队列。
确认剩余命令(步骤S670)
判断是否执行在映射命令队列中排队的剩余命令。当对系统路径132的一个或更多个剩余命令在映射命令队列中排队时,例如,在对系统路径132的剩余命令的数量大于0时,在步骤S680处执行对系统路径132的剩余命令。在对系统路径132的剩余命令是0时,结束对系统路径132的所有操作。
检查NAND I/F的空闲和主命令队列(步骤S680)
作为步骤S670判断的结果,在对系统路径132的剩余命令的数量大于0(这意味着对系统路径132的一个或更多个剩余命令在映射命令队列中排队)时,通过分析在步骤S630处所生成的关于主命令队列的信息来判断是否执行对系统路径132中的系统数据的更新操作。例如,在主命令队列满足以下条件中的至少一种时,确定执行对系统路径132中的系统数据的更新操作:
(i)在NAND I/F处于空闲状态时执行映射命令操作。
(ii)第一路径至第k路径131处于忙碌状态。
(iii)包括在主命令队列内的对第一路径至第k路径131的剩余命令的数量是0。
(iv)主命令队列中的后续命令是针对第一路径至第四路径131之中的当前处于忙碌状态的一个路径的。
对系统路径的操作(步骤S690)
作为步骤S680判断的结果,确定执行对系统路径132中的系统数据的更新操作,并且对系统路径132执行对系统路径132中的系统数据的更新操作。
参考图7,响应于在参考图8所描述的公共命令队列中排队的更新命令,对系统路径132(在图7中显示为“系统路径”)顺序地执行读取操作tR、对映射表数据的输出操作(在图7中显示为“映射表数据输出”)、对映射表数据的输入操作(在图7中显示为“映射表数据数据输入”)以及对映射表数据的编程操作tPROG。
如图7中所示,对系统路径132中的系统数据的更新操作可以与对第一路径至第四路径131的编程操作同时执行。
在这种情况下,可以以SLC模式来执行对系统路径132的编程操作以便确保可靠性。在对系统数据的编程操作期间,对系统路径132的编程操作被固定为SLC模式,从而可能在对系统数据的编程操作期间跳过用于选择编程模式的操作。因此,防止了处理单元121和存储器控制器123的开销。
状态检查操作(步骤S700)
在完成步骤S690时,通过对系统路径132的状态检查操作来判断对系统路径132的更新操作是否被正常地执行。重复步骤S670至S700直至在映射命令队列中没有对系统路径132的剩余命令排队为止。
在上述实施例中,虽然对存储系统的编程操作已经被描述作为示例,但是相同的方法也可以应用于存储系统的读取操作。
如上所述,根据本公开,映射数据储存在包括在半导体存储器件130内的储存器件132中,从而在对系统路径132中的系统数据的更新操作期间可以通过选择SLC模式、MLC模式以及TLC模式之中的一种或更多种编程模式来执行对第一路径至第四路径131的编程操作,同时可以以SLC模式来执行对系统路径132的编程操作。因此,可能提高存储系统的操作速度并且防止处理单元121和存储器控制器123的开销。
图9是示出参考图1至图8所描述的控制器120的实施方式的示图。
参考图9,控制器1200包括RAM 1210、处理单元1220、主机接口1230、存储器接口1240以及错误校正块(ECC)1250。
处理单元1220控制控制器1200的总体操作。RAM 1210可以用作处理单元1220的操作存储器、半导体存储器件130(参见图1)与主机之间的高速缓冲存储器以及半导体存储器件130与主机之间的缓冲存储器中的至少一种。处理单元1220和RAM 1210可以执行图1的处理单元121、缓冲器122以及存储器控制器123的功能。例如,处理单元1220可以从RAM 1210加载编程命令、数据文件、数据结构等,并且执行所加载的数据,从而执行处理单元121、缓冲器122以及存储器控制器123的功能。
另外,RAM 1210可以用作图1的缓冲器122。
主机接口1230包括用于在主机与控制器1200之间交换数据的协议。作为示例,控制器1200被配置为通过如下的各种接口协议中的至少一种与主机通信:诸如通用串行总线(USB)协议、多媒体卡(MMC)协议、外围部件互联(PCI)协议、PCI快速(PCI-E)协议、先进技术连接(ATA)协议、串行-ATA协议、并行-ATA协议、小型计算机小接口(SCSI)协议、增强型小磁盘接口(ESDI)协议、集成驱动电路(IDE)协议以及私有协议。
存储器接口1240与半导体存储器件130接口。例如,存储器接口1240可以包括NAND接口或者NOR接口。存储器接口1240包括用于与半导体存储器件130的映射段储存器件接口的额外通道。
控制器1200和半导体存储器件130可以集成到一个半导体器件中。作为示例,控制器1200和半导体存储器件130可以集成到一个半导体器件中以构成存储卡。例如,控制器1200和半导体存储器件130可以集成到一个半导体器件中,以构成诸如PC卡(个人计算机存储卡国际协会(PCMCIA))、小型快闪(CF)卡、智能媒体卡(SM或者SMC)、记忆棒、多媒体卡(MMC、RS-MMC或者微型MMC)、SD卡(SD、迷你SD、微型SD或者SDHC)或者通用快闪储存器(UFS)的存储卡。
控制器1200和半导体存储器件130可以集成到一个半导体器件中以构成半导体驱动器(固态驱动器(SSD))。在控制器1200和半导体存储器件130被用作SDD时,主机的操作速度可以显著地提高。
作为另一示例,控制器1200和半导体存储器件130可以被设置作为以下的电子设备的各种部件中的一种:诸如计算机、超移动PC(UMPC)、工作站、上网本、个人数字助理(PDA)、便携式计算机、网络平板电脑、无线电话、移动电话、智能电话、电子书、便携式多媒体播放器(PMP)、便携式游戏机、导航系统、黑匣子、数字相机、三维电视、数字录音机、数字音频播放器、数字图像记录仪、数字图像播放器、数字录像机、数字视频播放器、能够在无线环境中发送/接收信息的设备、构成家庭网络的各种电子设备中的一种、构成计算机网络的各种电子设备中的一种、构成远程信息处理网络的各种电子设备中的一种、RFID设备、构成计算系统的各种部件中的一种。
作为实施例,控制器1200和半导体存储器件130可以以各种形式来封装。例如,控制器1200和半导体存储器件130可以以诸如层叠封装(PoP)、球栅阵列(BGA)、芯片级封装(CSP)、塑料引线芯片载体(PLCC)、塑料双列直插式封装(PDIP)、华夫包式裸片、晶片形式裸片、板上芯片(COB)、陶瓷双列直插式封装(CERDIP)、塑料度量四方扁平封装(MQFP)、薄型四方扁平封装(TQFP)、小外形集成电路(SOIC)、收缩型小外形封装(SSOP)、薄型小外形封装(TSOP)、薄型四方扁平封装(TQFP)、系统级封装(SIP)、多芯片封装(MCP)、晶片级制造封装(WFP)或晶片级处理层叠封装(WSP)的方式来封装。
根据本公开,可能提供具有改进操作速度的存储系统及其操作方法。此外,可能降低闪存转换层的开销和复杂度。
在本文中已经公开了示例性实施例,虽然使用了特定术语,但是它们仅仅以一般意义和描述性意义来使用和解释,而不是为了限制的目的。在一些情况下,对于本领域技术人员将明显的是,在提交本申请时,除非另外特别地指出,否则关于特定的实施例而描述的特征、特性和/或元件可以单独地使用或者与关于其他实施例所描述的特征、特性和/或元件结合使用。因此,本领域技术人员将理解的是,在不脱离如所附权利要求中所阐述的本发明的精神和范围的情况下,可以做出形式和细节上的改变。
Claims (20)
1.一种存储系统,包括:
半导体存储器件,包括多个路径和系统路径,所述多个路径适用于储存正常数据以及读取所储存的数据,系统路径适用于储存系统数据;以及
控制器,适用于控制所述半导体存储器件以执行对所述多个路径的总体操作和对系统路径中的系统数据的更新操作。
2.如权利要求1所述的存储系统,其中,系统路径储存正常数据以便确保存储系统的容量。
3.如权利要求1所述的存储系统,其中,在对系统路径中的系统数据的更新操作期间,所述控制器通过选择多个编程模式中的一种来控制所述半导体存储器件执行编程操作或者读取操作。
4.如权利要求1所述的存储系统,其中,所述控制器包括:
处理单元,适用于从主机接收逻辑地址,并且将所接收到的逻辑地址转换为物理地址;以及
存储器控制器,适用于控制所述半导体存储器件来从主机接收数据,并且根据所述物理地址来将所接收到的数据储存在所述半导体存储器件的所述多个路径中。
5.如权利要求4所述的存储系统,其中,响应于来自主机的命令,处理单元通过排列对所述多个路径的主命令和对系统路径的映射命令来生成命令队列。
6.如权利要求5所述的存储系统,
其中,存储器控制器控制半导体存储器件来根据所述命令队列顺序地执行多个命令,
其中,存储器控制器控制半导体存储器件以便:无论所述命令队列如何都首先执行所述多个命令之中的具有更高优先级的命令。
7.如权利要求5所述的存储系统,其中,所述命令队列包括适用于使主命令排队的主命令队列和适用于使映射命令排队的映射命令队列。
8.如权利要求5所述的存储系统,其中,所述存储器控制器控制所述半导体存储器件来根据所述命令队列执行对所述多个路径的总体操作和对系统路径中的系统数据的更新操作。
9.如权利要求7所述的存储系统,
其中,所述存储器控制器控制所述半导体存储器件来根据主命令队列执行对所述多个路径的总体操作,以及根据映射命令队列执行对系统路径中的系统数据的更新操作,以及
其中,对所述多个路径的总体操作和对系统路径中的系统数据的更新操作彼此并行地执行。
10.如权利要求1所述的存储系统,其中,所述存储器控制器控制所述半导体存储器件来以单电平单元SLC模式、多电平单元MLC模式以及三电平单元TLC模式中的一种执行对所述多个路径的总体操作,以及以SLC模式来执行对系统路径中的系统数据的更新操作。
11.如权利要求9所述的存储系统,其中,在NAND I/F处于空闲状态、所述多个路径处于忙碌状态、主命令队列中的剩余命令的数量是零或者主命令的后续命令是针对所述多个路径之中的当前处于忙碌状态的一个路径时,所述控制器控制所述半导体存储器件来执行对系统数据的更新操作。
12.如权利要求1所述的存储系统,其中,所述系统数据包括映射数据。
13.一种操作存储系统的方法,所述方法包括:
根据从主机输入的命令来生成用于控制半导体存储器件的内部命令和用于更新系统数据的映射命令,所述内部命令和映射命令储存在所述半导体存储器件中;
通过排列所述内部命令和映射命令来生成命令队列;以及
根据所述命令队列来执行对包括在所述半导体存储器件内的多个路径的总体操作和对所述半导体存储器件内包括的系统路径中的系统数据的更新操作。
14.如权利要求13所述的方法,还包括:
在执行了所述总体操作和对系统数据的更新操作之后,对所述多个路径和系统路径执行状态检查操作然后确认在所述命令队列中是否剩余有任何命令;以及
根据剩余的命令来重复所述方法,直至在所述命令队列中无命令剩余为止。
15.如权利要求13所述的方法,
其中,以单电平单元SLC模式、多电平单元MLC模式或者三电平单元TLC模式中的一种来实现对所述总体操作的执行,以及
其中,以SLC模式实现对更新操作的执行。
16.如权利要求13所述的方法,其中,系统数据包括映射数据。
17.一种操作存储系统的方法,所述方法包括:
根据从主机输入的命令来生成用于控制半导体存储器件的主命令和用于更新系统数据的映射命令,主命令和映射命令储存在所述半导体存储器件中;
生成适用于使主命令排队的主命令队列和适用于使映射命令排队的映射命令队列;
根据主命令队列来执行对包括在所述半导体存储器件内的多个路径的总体操作;以及
基于关于主命令队列的信息而根据映射命令队列来执行对系统数据的更新操作。
18.如权利要求17所述的方法,其中,当NAND I/F处于空闲状态、所述多个路径处于忙碌状态、主命令队列中的剩余命令的数量是零、或者主命令队列中的后续命令是针对所述多个路径之中的当前处于忙碌状态的一个路径时,执行对系统数据的更新操作。
19.如权利要求17所述的方法,其中,彼此并行地执行所述总体操作和更新操作。
20.如权利要求17所述的方法,
其中,以单电平单元SLC模式、多电平单元MLC模式或者三电平单元TLC模式中的一种来执行所述总体操作,以及
其中,以SLC模式来执行更新操作。
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1020150090928A KR20170001235A (ko) | 2015-06-26 | 2015-06-26 | 메모리 시스템 및 그것의 동작 방법 |
KR10-2015-0090928 | 2015-06-26 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN106293505A true CN106293505A (zh) | 2017-01-04 |
Family
ID=57602361
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201610023656.4A Pending CN106293505A (zh) | 2015-06-26 | 2016-01-14 | 存储系统和操作其的方法 |
Country Status (3)
Country | Link |
---|---|
US (1) | US20160378375A1 (zh) |
KR (1) | KR20170001235A (zh) |
CN (1) | CN106293505A (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110888825A (zh) * | 2018-09-10 | 2020-03-17 | 爱思开海力士有限公司 | 在存储器系统中处理数据的设备和方法 |
Families Citing this family (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR20190042970A (ko) | 2017-10-17 | 2019-04-25 | 에스케이하이닉스 주식회사 | 메모리 시스템 및 그의 동작방법 |
KR20190067540A (ko) | 2017-12-07 | 2019-06-17 | 에스케이하이닉스 주식회사 | 스토리지 시스템 및 그것의 동작 방법 |
KR102426107B1 (ko) * | 2017-12-20 | 2022-07-28 | 에스케이하이닉스 주식회사 | 메모리 시스템 및 그것의 동작 방법 |
KR102603245B1 (ko) * | 2018-01-11 | 2023-11-16 | 에스케이하이닉스 주식회사 | 메모리 시스템 및 그것의 동작 방법 |
US11314427B2 (en) * | 2020-08-21 | 2022-04-26 | Micron Technology, Inc. | Memory device with enhanced data reliability capabilities |
Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6661422B1 (en) * | 1998-11-09 | 2003-12-09 | Broadcom Corporation | Video and graphics system with MPEG specific data transfer commands |
CN101639763A (zh) * | 2009-08-27 | 2010-02-03 | 中兴通讯股份有限公司 | 一种io调度方法及调度装置 |
US20120155167A1 (en) * | 2010-12-21 | 2012-06-21 | Kabushiki Kaisha Toshiba | Non-volatile storage device, information processing system and write control method of non-volatile storage device |
US8275946B1 (en) * | 2007-04-19 | 2012-09-25 | Marvell International Ltd. | Channel tags in memory components for optimizing logical to physical address translations |
US20140281188A1 (en) * | 2013-03-15 | 2014-09-18 | Samsung Electronics Co., Ltd. | Method of updating mapping information and memory system and apparatus employing the same |
US20140325119A1 (en) * | 2013-04-26 | 2014-10-30 | Phison Electronics Corp. | Writing method, memory controller and memory storage device |
CN104487952A (zh) * | 2012-05-22 | 2015-04-01 | 网络装置公司 | 用于闪存存储的i/o访问模式专用 |
Family Cites Families (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7418540B2 (en) * | 2004-04-28 | 2008-08-26 | Intel Corporation | Memory controller with command queue look-ahead |
KR100621631B1 (ko) * | 2005-01-11 | 2006-09-13 | 삼성전자주식회사 | 반도체 디스크 제어 장치 |
US7716388B2 (en) * | 2005-05-13 | 2010-05-11 | Texas Instruments Incorporated | Command re-ordering in hub interface unit based on priority |
CN102696010B (zh) * | 2009-09-08 | 2016-03-23 | 才智知识产权控股公司(2) | 用于将数据高速缓存在固态存储设备上的装置、系统和方法 |
US9141527B2 (en) * | 2011-02-25 | 2015-09-22 | Intelligent Intellectual Property Holdings 2 Llc | Managing cache pools |
US8977803B2 (en) * | 2011-11-21 | 2015-03-10 | Western Digital Technologies, Inc. | Disk drive data caching using a multi-tiered memory |
US9582204B2 (en) * | 2014-01-07 | 2017-02-28 | Apple Inc. | Speculative prefetching of data stored in flash memory |
-
2015
- 2015-06-26 KR KR1020150090928A patent/KR20170001235A/ko unknown
- 2015-12-28 US US14/980,195 patent/US20160378375A1/en not_active Abandoned
-
2016
- 2016-01-14 CN CN201610023656.4A patent/CN106293505A/zh active Pending
Patent Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6661422B1 (en) * | 1998-11-09 | 2003-12-09 | Broadcom Corporation | Video and graphics system with MPEG specific data transfer commands |
US8275946B1 (en) * | 2007-04-19 | 2012-09-25 | Marvell International Ltd. | Channel tags in memory components for optimizing logical to physical address translations |
CN101639763A (zh) * | 2009-08-27 | 2010-02-03 | 中兴通讯股份有限公司 | 一种io调度方法及调度装置 |
US20120155167A1 (en) * | 2010-12-21 | 2012-06-21 | Kabushiki Kaisha Toshiba | Non-volatile storage device, information processing system and write control method of non-volatile storage device |
CN104487952A (zh) * | 2012-05-22 | 2015-04-01 | 网络装置公司 | 用于闪存存储的i/o访问模式专用 |
US20140281188A1 (en) * | 2013-03-15 | 2014-09-18 | Samsung Electronics Co., Ltd. | Method of updating mapping information and memory system and apparatus employing the same |
US20140325119A1 (en) * | 2013-04-26 | 2014-10-30 | Phison Electronics Corp. | Writing method, memory controller and memory storage device |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110888825A (zh) * | 2018-09-10 | 2020-03-17 | 爱思开海力士有限公司 | 在存储器系统中处理数据的设备和方法 |
CN110888825B (zh) * | 2018-09-10 | 2023-04-07 | 爱思开海力士有限公司 | 在存储器系统中处理数据的设备和方法 |
US11675543B2 (en) | 2018-09-10 | 2023-06-13 | SK Hynix Inc. | Apparatus and method for processing data in memory system |
Also Published As
Publication number | Publication date |
---|---|
US20160378375A1 (en) | 2016-12-29 |
KR20170001235A (ko) | 2017-01-04 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN106293505A (zh) | 存储系统和操作其的方法 | |
CN107589905B (zh) | 存储器系统及其操作方法 | |
CN103971739B (zh) | 包括非易失性存储设备的存储系统及其编程方法 | |
CN103714856B (zh) | 存储器系统及其读取回收方法 | |
US9760503B2 (en) | Operation method of memory controller and nonvolatile memory system including the memory controller | |
CN103151069B (zh) | 存储器系统及其块复制方法 | |
CN103839584B (zh) | 半导体存储器件、包括其的存储系统及其制造方法 | |
KR101662273B1 (ko) | 비휘발성 메모리 장치, 그것을 포함한 메모리 시스템 및 그것의 마모도 관리 방법 | |
CN106528461A (zh) | 储存设备及其中断生成方法 | |
CN104835525B (zh) | 半导体存储器件和包括半导体存储器件的存储系统 | |
CN109213705A (zh) | 存储装置及其操作方法 | |
CN107578793A (zh) | 非易失性存储器系统和非易失性存储器装置的操作方法 | |
CN103730151B (zh) | 半导体存储器件 | |
US10061695B2 (en) | Memory system and operating method thereof | |
CN108694096A (zh) | 控制器、存储系统及其操作方法 | |
CN107111456A (zh) | 用于生成与主机命令相关联的提示信息的系统和方法 | |
CN110058799A (zh) | 存储器装置及操作存储器装置的方法 | |
CN107039082A (zh) | 非易失性存储器系统的操作方法 | |
CN109521947A (zh) | 存储器系统以及存储器系统的操作方法 | |
CN106201901A (zh) | 包括映射表的控制器、包括半导体存储器件的存储系统及其操作方法 | |
US20120284469A1 (en) | Memory system and bad block management method | |
CN110347330A (zh) | 存储器系统及其操作方法 | |
CN104700896B (zh) | 存储器系统和包括所述存储器系统的用户装置 | |
CN106021120A (zh) | 存储系统及其操作方法 | |
CN109542394A (zh) | 控制器、半导体存储器装置及具有它们的存储器系统 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | 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: 20170104 |