CN103870411B - 存储控制器以及包括存储控制器的存储系统 - Google Patents
存储控制器以及包括存储控制器的存储系统 Download PDFInfo
- Publication number
- CN103870411B CN103870411B CN201310674952.7A CN201310674952A CN103870411B CN 103870411 B CN103870411 B CN 103870411B CN 201310674952 A CN201310674952 A CN 201310674952A CN 103870411 B CN103870411 B CN 103870411B
- Authority
- CN
- China
- Prior art keywords
- signal processing
- data
- engine
- processing engine
- storage
- 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
- 238000003860 storage Methods 0.000 title claims abstract description 231
- 238000012545 processing Methods 0.000 claims abstract description 148
- 230000004913 activation Effects 0.000 claims abstract description 82
- 230000006835 compression Effects 0.000 claims description 33
- 238000007906 compression Methods 0.000 claims description 33
- 239000011159 matrix material Substances 0.000 claims description 33
- 239000000872 buffer Substances 0.000 claims description 22
- 238000000034 method Methods 0.000 claims description 18
- 238000012937 correction Methods 0.000 claims description 9
- 238000003079 width control Methods 0.000 claims description 8
- 230000003213 activating effect Effects 0.000 claims description 7
- 230000007274 generation of a signal involved in cell-cell signaling Effects 0.000 claims description 2
- 230000008054 signal transmission Effects 0.000 claims description 2
- 241001269238 Data Species 0.000 claims 3
- 238000012856 packing Methods 0.000 description 28
- 238000010586 diagram Methods 0.000 description 27
- 239000010410 layer Substances 0.000 description 26
- 230000015654 memory Effects 0.000 description 24
- 230000005540 biological transmission Effects 0.000 description 10
- 239000004065 semiconductor Substances 0.000 description 10
- 239000007787 solid Substances 0.000 description 10
- 238000012546 transfer Methods 0.000 description 9
- 230000006399 behavior Effects 0.000 description 7
- 230000002779 inactivation Effects 0.000 description 7
- 238000005516 engineering process Methods 0.000 description 6
- 238000007726 management method Methods 0.000 description 6
- 239000004033 plastic Substances 0.000 description 6
- 229920003023 plastic Polymers 0.000 description 6
- 230000008569 process Effects 0.000 description 6
- 238000013500 data storage Methods 0.000 description 5
- 238000005538 encapsulation Methods 0.000 description 5
- 238000001514 detection method Methods 0.000 description 4
- 102100027668 Carboxy-terminal domain RNA polymerase II polypeptide A small phosphatase 1 Human genes 0.000 description 3
- 101150002089 Ctdsp1 gene Proteins 0.000 description 3
- 230000009471 action Effects 0.000 description 3
- 230000008859 change Effects 0.000 description 3
- 230000006870 function Effects 0.000 description 3
- 238000004519 manufacturing process Methods 0.000 description 3
- 101150027149 nif3 gene Proteins 0.000 description 3
- 230000001413 cellular effect Effects 0.000 description 2
- 239000000919 ceramic Substances 0.000 description 2
- 238000010276 construction Methods 0.000 description 2
- 238000000151 deposition Methods 0.000 description 2
- 238000013461 design Methods 0.000 description 2
- 238000009826 distribution Methods 0.000 description 2
- 230000009977 dual effect Effects 0.000 description 2
- 230000005611 electricity Effects 0.000 description 2
- 238000004806 packaging method and process Methods 0.000 description 2
- 230000004044 response Effects 0.000 description 2
- 101100028951 Homo sapiens PDIA2 gene Proteins 0.000 description 1
- 102100036351 Protein disulfide-isomerase A2 Human genes 0.000 description 1
- 230000008901 benefit Effects 0.000 description 1
- 230000003139 buffering effect Effects 0.000 description 1
- 239000003990 capacitor Substances 0.000 description 1
- 238000006243 chemical reaction Methods 0.000 description 1
- 239000013256 coordination polymer Substances 0.000 description 1
- 230000008878 coupling Effects 0.000 description 1
- 238000010168 coupling process Methods 0.000 description 1
- 238000005859 coupling reaction Methods 0.000 description 1
- 238000005520 cutting process Methods 0.000 description 1
- 230000001419 dependent effect Effects 0.000 description 1
- 238000011161 development Methods 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 238000005265 energy consumption Methods 0.000 description 1
- 238000000802 evaporation-induced self-assembly Methods 0.000 description 1
- 239000000835 fiber Substances 0.000 description 1
- 238000007667 floating Methods 0.000 description 1
- 238000007689 inspection Methods 0.000 description 1
- 239000011229 interlayer Substances 0.000 description 1
- 230000005055 memory storage Effects 0.000 description 1
- 238000004377 microelectronic Methods 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 230000009467 reduction Effects 0.000 description 1
- 239000000126 substance Substances 0.000 description 1
- 238000013519 translation Methods 0.000 description 1
- 235000012773 waffles Nutrition 0.000 description 1
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
- 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
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F1/00—Details not covered by groups G06F3/00 - G06F13/00 and G06F21/00
- G06F1/26—Power supply means, e.g. regulation thereof
-
- 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
-
- 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/38—Concurrent instruction execution, e.g. pipeline or look ahead
-
- 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)
- Software Systems (AREA)
- Quality & Reliability (AREA)
- Techniques For Improving Reliability Of Storages (AREA)
- Memory System (AREA)
- Mathematical Physics (AREA)
- Computer Hardware Design (AREA)
- Multimedia (AREA)
Abstract
本发明公开了存储控制器以及包括存储控制器的存储系统。经由多个通道与存储介质连接的存储控制器包括:信号处理块,包括多个信号处理引擎;以及解码调度器,被配置为控制数据路径以使得所述多个信号处理引擎的至少一个激活的信号处理引擎分别与所述多个通道连接。
Description
相关申请的交叉引用
本申请要求于2012年12月11日在韩国知识产权局提交的韩国专利申请No.10-2012-0143726的优先权,其全部内容通过引用并入于此。
技术领域
这里描述的本发明构思的至少部分实施例涉及存储器件。例如,本发明构思的至少部分实施例涉及控制存储介质的存储控制器和/或包括存储控制器的存储系统。
背景技术
半导体存储器通常被认为是诸如计算机和范围从卫星到消费电子的基于微处理器的应用这样的数字逻辑系统设计的最关键的微电子元件之一。因此,通过微缩实现更高密度和更快速度的半导体存储器制造方面的进步,包括工艺提高和技术发展,有助于建立用于其它数字逻辑族的执行标准。
半导体存储器件可以表征为易失性随机存取存储器(RAM)或者非易失性存储器件。在RAM中,要么通过设置诸如随机存取存储器(SRAM)中的双稳态触发器的逻辑状态,要么通过如动态随机存取存储器(DRAM)中的电容器的充电,来存储逻辑信息。在两种情况中任一种中,数据被存储并且只要施加电力就能够被读出,并且在切断电力时丢失;因此,它们被称作易失性存储器。
非易失性存储器,诸如掩模只读存储器(MROM)、可编程只读存储器(PROM)、可擦可编程只读存储器(EPROM)以及电可擦可编程只读存储器(EEPROM)之类,即使切断电力也能够存储数据。依赖于使用的制造技术,非易失性存储器数据存储模式可以是永久性的或者可重复编程的。非易失性存储器用于在计算机、航空电子、电信以及消费电子工业中各种应用中的程序以及微码存储。单芯片易失性和非易失性存储器存储模式的组合在用于需要快速可编程非易失性存储器的系统中的诸如非易失性SRAM(nvSRAM)这样的器件中也是可用的。此外,很多特定存储器架构已经演进为包含一些其它的逻辑电路以优化它们对于特定应用任务的性能。
但是,在非易失性存储器中,MROM、PROM和EPROM不能由系统自己自由擦除和写,因此一般用户不容易更新存储的内容。另一方面,EEPROM能够被电擦除或者写。EEPROM的应用被拓展到其中需要连续更新(快闪EEPROM)的辅助存储器或者系统编程。
发明内容
本发明构思的至少一个实施例的一个方面是教导提供经由多个通道与存储介质连接的存储控制器。所述存储控制器包括:信号处理块,包括多个信号处理引擎;以及解码调度器,被配置为控制数据路径以使得所述多个信号处理引擎的至少一个激活的信号处理引擎分别与所述多个通道连接。
在至少部分示范性实施例中,所述存储控制器还包括:CPU,被配置为确定所述存储控制器的操作条件;以及寄存器,被配置为存储根据所述CPU的确定结果决定的所述多个信号处理引擎的激活信息。
在至少部分示范性实施例中,通过存储在所述寄存器中的激活信息激活部分或者全部多个信号处理引擎。
在至少部分示范性实施例中,所述存储控制器还包括多个先入先出缓冲器(FIFO),被配置为临时存储将传输至所述多个通道的数据;以及编码调度器,被配置为控制数据路径以使得所述多个FIFO中的数据被传输至所述至少一个激活的信号处理引擎。
在至少一些示范性实施例中,所述编码调度器包括:第一分组生成器,被配置为通过将基于所述至少一个激活的信号处理引擎的状态的控制信息添加到从所述多个FIFO中的每一个输出的数据,来生成第一分组数据;以及第一总线矩阵,被配置为基于包括在第一分组数据中的控制信息,将分别相应于所述多个FIFO的第一分组数据顺序地传输至所述至少一个激活的信号处理引擎。
在至少一些示范性实施例中,所述解码调度器包括:第二分组生成器,被配置为通过将基于所述至少一个激活的信号处理引擎的状态的控制信息添加到从所述多个通道中的每一个输出的数据,来生成第二分组数据;以及第二总线矩阵,被配置为基于包括在第二分组数据中的控制信息,将分别相应于所述多个通道的第二分组数据顺序地传输至所述至少一个激活的信号处理引擎。
在至少部分示范性实施例,如果需要高性能,则CPU决定所述寄存器的值以使得所述多个信号处理引擎全部被激活。
在至少部分示范性实施例中,所述编码调度器生成分组数据以使得数据被分配给激活的信号处理引擎中除了执行编码操作的信号处理引擎之外的其余信号处理引擎。
在至少部分示范性实施例中,所述解码调度器生成分组数据以使得数据被分配给激活的信号处理引擎中除了执行解码操作的信号处理引擎之外的其余信号处理引擎。
在至少部分示范性实施例中,所述解码调度器生成分组数据以使得经由所述多个通道其中之一传输的数据被分配给激活的信号处理引擎。
在至少部分示范性实施例中,所述编码调度器生成分组数据以使得经由所述多个FIFO其中之一传输的数据被分配给激活的信号处理引擎。
在至少部分示范性实施例中,所述多个信号处理引擎是误差校正代码引擎、压缩引擎、加密引擎或者哈希键引擎。
在至少部分示范性实施例中,所述多个信号处理引擎的数目等于或者小于所述多个通道的数目。
在至少部分示范性实施例中,所述多个信号处理引擎根据相同的误差校正代码算法操作。
本发明构思的至少一个示范性实施例的另一方面教导了提供一种存储系统,包括:存储介质;以及存储控制器,经由多个通道与所述存储介质连接,其中,所述存储控制器包括多个信号处理引擎,并且包括编码/解码块,所述编码/解码块被配置为当所述存储系统使用所述多个通道执行存储操作时,将所述多个信号处理引擎分别连接至所述多个通道。
本发明构思的至少一个示范性实施例的又一方面教导了提供一种存储控制器的带宽控制方法,该存储控制器经由多个通道与存储介质连接。所述带宽控制方法包括:接收将被处理的信号;以及处理输入信号,所述输入信号的信号处理电平根据所述存储控制器的操作条件决定。
在至少部分示范性实施例中,所述输入信号的处理由作为信号处理引擎的误差校正代码引擎、压缩引擎、加密引擎或者哈希键引擎执行。
在至少部分示范性实施例中,所述带宽控制方法还包括:控制数据路径以使得所述信号处理引擎的至少一个激活的信号处理引擎分别连接到所述多个通道。
在至少部分示范性实施例中,所述带宽控制方法还包括:控制数据路径以使得经处理的信号被传输到分别至少一个激活的信号处理引擎。
在至少一些示范性实施例中,控制数据路径以使得经处理的信号被传输到所述至少一个激活的信号处理引擎包括:通过添加控制信息至经处理的信号生成分组数据,所述控制信息是基于所述一个或多个激活的信号处理引擎的状态;以及基于包括在所述分组数据中的控制信息将所述输入信号传输至所述一个或多个激活的信号处理引擎。
在至少一些示范性实施例中,控制数据路径以使得经处理的信号被传输到所述至少一个激活的信号处理引擎包括:通过将基于所述至少一个或多个激活的信号处理引擎的状态的控制信息添加到从所述多个通道输出的数据,来生成第二分组数据;以及基于包括在所述分组数据中的控制信息将与所述多个通道相应的信号传输至所述一个或多个激活的信号处理引擎。
在至少部分示范性实施例中,一种经由多个通道与存储介质连接的存储控制器,包括:信号处理块,包括多个编码引擎,所述多个编码引擎被配置为执行信号处理操作;以及调度器,被配置以使得第一多个数据单元将被发送到所选择的数目的多个编码引擎,所述存储控制器被配置为基于所述存储控制器的操作模式确定所选择的数目,所述信号处理操作包括解码操作和编码操作其中之一。
所述调度器可以被配置以使得,对于所述存储控制器的第一操作模式,所述调度器确定第一数目为所选择的数目,以及对于所述存储控制器的第二操作模式,所述调度器确定第二数目为所选择的数目,第一数目不同于第二数目。
所述存储控制器可以被配置以使得第一操作模式是高性能操作模式,第二操作模式是峰值电力管理操作模式,而且第一数目高于第二数目。
附图说明
示范性实施例的上述及其他特征和优点将通过参考附图详细描述示范性实施例而变得更加明显。附图是用来描绘示范性实施例而不应当解释为限制权利要求预计的范围。附图将不被视为按比例制图除非明确地注释。
图1是示意地示出根据发明构思的实施例的存储系统的框图。
图2是示意地示出图1中示出的编码/解码块的框图。
图3是示意地示出图2中示出的编码调度器和解码调度器的框图。
图4是示意地示出根据发明构思的实施例的存储控制器的框图。
图5是示出当根据本发明构思的实施例的存储系统在低电力模式下操作时的解码操作的图。
图6是示出当根据本发明构思的实施例的存储系统在高性能模式下操作时的解码操作的图。
图7是示出当根据本发明构思的实施例的存储系统在峰值电力管理模式下操作时的编码操作的图。
图8是示意地示出根据发明构思的另一实施例的编码/解码块的框图。
图9A是示意地示出根据发明构思的另一实施例的编码/解码块的框图。
图9B是示意地示出根据发明构思的又一实施例的编码/解码块的框图。
图9C是示意地示出根据发明构思的又一实施例的编码/解码块的框图。
图10是示意地示出包括根据发明构思的实施例的数据存储设备的计算系统的框图。
图11是示意地示出根据发明构思的实施例的固态驱动器的框图。
图12是示意地示出使用图11中的固态驱动器的存储装置的框图。
图13是示意地示出使用图11中的固态驱动器的存储装置服务器的框图。
图14是示意地示出根据发明构思的至少部分实施例的数据存储设备应用于其的系统的图。
图15是示意地示出根据发明构思的实施例的存储卡的框图。
图16是示意地示出根据发明构思的实施例的数字静态相机的框图。
图17是示意地示出图15中的存储卡应用于其的各种系统的图。
具体实施方式
将参考附图详细描述实施例。但是,本发明构思的示范性实施例可以以各种不同形式具体实现,并且不应当理解为仅限制于示出的实施例。而是,提供这些实施例作为示例以使得本公开全面和完整,并且将本发明构思的概念充分地传达给本领域技术人员。因此,对于本发明构思的部分实施例不描述已知的工艺过程、元件和技术。除非另有注释,否则贯穿附图和撰写的描述,相同参考标记表示相同的元件,并且因此将不重复描述。在附图中,为了清楚起见,可能夸大层和区域的大小和相对大小。
应当理解,尽管这里可以使用术语“第一”、“第二”、“第三”等等用于描述各种元件、组件、区域、层和/或部分,但是这些元件、组件、区域、层和/或部分不应当受这些术语所限。这些术语仅用于将一个元件、组件、区域、层或者部分与另一元件、组件、区域、层或者部分区分开来。因此,下面讨论的第一元件、组件、区域、层或者部分可以被称为第二元件、组件、区域、层或者部分而不脱离本发明构思的教导。
空间相对术语,诸如“在下方”、"下面"、"较低”、“之下”、"上面"、"较上"等等之类,在这里为了描述的简便起见可以用于描述如图中所示的一个元件或者特征与另一元件(多个)或者特征(多个)的关系。应当理解,空间相对术语旨在包含除了图中描绘的方位之外在使用或操作中设备的不同方位。例如,如果图中设备被反转,那么描述为在其他元件或者特征“下面”或者"下方"或者"之下"的元件将变为在其他元件或者特征“上面”。因此,示范性术语"下面"和“之下”既可以包含上方也可以包含下方。所述设备可以以其它方式朝向(旋转90度或者其他朝向),并且从而解释这里所使用的空间相对描述符。此外,还将理解,当某一层被称为在两个层“之间”,则在两个层之间仅能够有该层,或者也可以存在一个或多个居间层。
这里使用的术语仅用于描述特定实施例的目的,而不在于限制本发明构思。如这里所使用的那样,单数形式“一”、“一个”和“该”将同样包括复数形式,除非上下文清楚地表示不是如此。还将理解,术语“包括”和/或“包含”当在说明书中使用时,指定所述特征、整体、步骤、操作、元件和/或组件的存在,但并不排除一个或多个其它特征、整体、步骤、操作、元件、组件或其群组的存在或添加。如这里所使用的那样,术语“和/或”包括一个或多个相关联所列项的任一个或者它们的所有组合。而且,术语“示范性”是用来指代示例或者图解。
应当理解,当元件或者层称为是“在上”、"连接至"、“耦接至”或者“邻接”另一元件或者层时,其可以直接在另一个元件或者层上、连接、耦接或者邻接于另一个元件或者层,或者可以存在居间元件或者层。相反,当元件称为是“直接在其上”、"直接连接至"、"直接耦接至"或者“紧邻”另一元件或者层时,不存在居间元件或者层。
除非另外定义,否则这里使用的全部术语(包括技术术语和科学术语)都具有本发明构思所属领域的普通技术人员所通常理解的相同意义。还将理解,诸如通常使用的词典中定义的那些术语的术语应当被解释为具有与它们在相关技术和/或本说明书的上下文中的意义一致的意义,并且除非这里明确定义如此,否则不应当解释为理想化的或者过于形式的意义。
还应注意,在部分替换实施方式中,所记录的功能/动作可以不按图中所记录的次序发生。例如,根据所涉及的功能/动作,连续示出的两个图可以实质上基本同时运行或者可以有时以反向次序运行。
图1是示意地示出根据发明构思的实施例的存储系统的框图。
参考图1,根据本发明构思的实施例的存储系统1000可以包括存储介质1100和存储控制器1200。存储介质1100可以经由多个通道CH0至CHi与存储控制器1200电连接。存储介质1100可以响应于存储控制器1200的控制操作。存储介质1100可以输出由存储控制器1200请求的数据读或者存储由存储控制器1200请求的数据写。存储介质1100可以由多个非易失性存储器件形成。
在至少部分示范性实施例中,每个非易失性存储器件都可以由NAND闪存器件形成。NAND闪存器件可以是具有二维阵列结构的NAND闪存器件或者具有三维阵列结构的NAND闪存器件。具有三维阵列结构的NAND闪存器件可以被称作垂直NAND闪存器件。
在至少部分示范性实施例中,存储介质1100可以由诸如NOR闪存器件、电阻随机存取存储器(Resistive Random Access Memory,RRAM)器件、相变随机存取存储器(Phase-change Random Access Memory,PRAM)器件、磁阻随机存取存储器(MagnetoresistiveRandom Access Memory,MRAM)器件、铁电随机存取存储器(Ferroelectric Random AccessMemory,FRAM)器件、自旋转移力矩随机存取存储器(Spin Transfer Torque RandomAccess Memory,STT-RAM)等等的非易失性存储器件形成。而且,根据本发明构思的示范性实施例,包括由绝缘膜形成的电荷存储层的电荷捕获闪存(Charge Trap Flash,CTF)存储器件和包括由传导浮栅形成的电荷存储层的闪存器件可以用于存储介质1100中。
存储控制器1200可以响应于主机的请求来控制存储介质1100。而且,当需要诸如垃圾收集操作、合并操作等等之类的后台操作时,存储控制器1200可以根据所需的后台操作控制存储介质1100而无需主机的干涉。存储控制器1200可以经由多个通道CH0至CHi发送数据至存储介质1100。存储控制器1200可以经由多个通道CH0至CHi从存储介质1100接收数据。存储控制器1200可以被配置为对由主机请求的数据写进行编码,以及将经编码的数据传输到存储介质1100。存储控制器1200可以被配置为对从存储介质1100输入的请求读的数据进行解码。
存储控制器1200可以包括用于数据编码和解码的编码/解码块1210。编码/解码块1210可以通过基于将被存储在存储介质1100中的编程数据生成误差校正码(ECC)并且将ECC添加到编程数据,来生成编码数据。可以经由多个通道CH0至CHi将编码数据发送到存储介质1100。编码/解码块1210可以被配置为检测从存储介质1100输出的读出数据的误差以及校正检测到的读出数据的误差。可以基于包括在读出数据中的ECC检测读出数据的误差。
编码/解码块1210可以包括多个ECC引擎,其考虑到操作条件(例如,低电力、高性能、峰值电力等等)被选择性地激活。将被解码和编码的数据可以基于激活的ECC引擎的状态(包括就绪状态和忙状态),被随机分配给激活的ECC引擎。例如,数据的分布可以适应于激活的ECC引擎的状态。换句话说,可以根据ECC引擎的状态通过所选择的ECC引擎对数据编码和解码,而在ECC引擎分别固定用于通道CH0至CHi的条件下不对数据进行编码/解码。根据本发明构思的至少一个实施例的编码/解码方式可以使能调节存储系统1000的电力和性能。而且,根据本发明构思的至少一个实施例的编码/解码方式可以使能提高误差校正效率。
能够理解,本发明构思的至少部分实施例不局限于编码/解码块1210包括ECC引擎的示例。例如,编码/解码块1210可以由用于加密、压缩或者生成哈希键的引擎形成。在这种情况下,可以考虑到操作条件(例如,低电力、高性能、峰值电力等等)来选择性地激活用于加密、压缩或者生成哈希键的引擎。而且,可以基于激活的引擎的状态(包括就绪状态和忙状态),将被解码和编码的数据随机分配给激活的引擎。例如,数据的分布可以适应于激活的引擎的状态。换句话说,可以根据用于加密、压缩或者生成哈希键的引擎的状态,由所选择的引擎对数据编码和解码,而在用于加密、压缩或者生成哈希键的引擎分别固定用于通道CH0至CHi的条件下不对数据进行编码/解码。根据本发明构思的至少一个实施例的编码/解码方式可以使能调节存储系统1000的电力和性能。而且,根据本发明构思的至少一个实施例的编码/解码方式可以使能提高编码/解码效率。
图2是示意地示出图1中示出的编码/解码块的框图。
参考图2,编码/解码块1210可以包括作为信号处理块的ECC块1211、编码调度器1212、解码调度器1213和寄存器1214。ECC块1211可以包括多个ECC引擎EN0至ENj作为信号处理引擎。ECC引擎EN0至ENj的数目可以大于或者小于通道CH0至CHi的数目或者与通道CH0至CHi的数目相同。ECC引擎EN0至ENj可以根据相同的ECC算法执行误差检测和校正操作。可替换地,ECC引擎EN0至ENj中的一个或多个(例如,半数)可以根据第一ECC算法执行误差检测和校正操作,而其余的可以根据不同于第一ECC算法的一种或多种其它ECC算法执行误差检测和校正操作。为了描述的方便起见,假设ECC引擎EN0至ENj根据相同的ECC算法执行误差检测和校正操作。然而,本发明构思的至少部分实施例并不局限于此。
可以根据存储在寄存器1214中的值决定ECC引擎EN0至ENj的激活和失活。如稍后所描述的那样,可以考虑到存储控制器1200的操作条件决定寄存器1214的值。可以根据存储在寄存器1214中的值激活ECC引擎EN0至ENj的部分或者全部。例如,当需要高性能时,可以决定寄存器1214的值以使得全部ECC引擎EN0至ENj被激活。当需要低电力或者需要峰值电力的管理时,可以决定寄存器1214的值以使得一个或多个而不是所有ECC引擎EN0至ENj被激活。
编码调度器1212可以接收将被编码的数据,考虑到ECC块1211的激活的ECC引擎的状态选择处于就绪状态的ECC引擎的一个或多个ECC引擎,并且把将被编码的数据提供给所选择的一个或多个ECC引擎。解码调度器1213可以接收将被解码的数据,考虑到ECC块1211的激活的ECC引擎的状态选择处于就绪状态的ECC引擎的一个或多个ECC引擎,并且将被解码的数据提供给所选择的一个或多个ECC引擎。ECC引擎EN0至ENj可以经由解码调度器1213连接至通道CH0至CHi。一个ECC引擎可以被配置为对从部分或者全部通道CH0至CHi传输的数据进行解码以及对传输至部分或者全部通道CH0至CHi的数据进行编码。换句话说,经由一个通道传输的数据可以经由激活的ECC引擎的一个或多个ECC引擎进行解码。同样地,将被发送到存储介质1100的数据可以经由激活的ECC引擎的一个或多个ECC引擎进行编码。
利用根据本发明构思的至少一个示范性实施例的编码/解码块1210,可以根据操作条件实时调整或者提前调整参与解码和编码的ECC引擎的数目。而且,可以考虑到激活ECC引擎的状态通过选择(多个)的ECC引擎(具有就绪状态)来执行数据的编码/解码。
根据操作条件调整参与解码和编码的ECC引擎的数目可以意指编码/解码块1210的带宽(或者,数据传输速率、比特率或者吞吐量)是可变的。保持存储系统1000的温度或者电力消耗恒定可能是必要的。可以通过调整带宽保持温度或者功耗恒定。例如,在温度或者功耗低的情况下,可以加大带宽。可替换地,在温度或者功耗增大的情况下,可以通过降低带宽抑制温度或者功耗的增大。因此,可以通过控制编码/解码块1210的带宽保持存储系统1000温度或者功耗恒定。
图3是示意地示出图2中示出的编码调度器和解码调度器的框图。
参考图3,编码调度器1212可以包括第一打包器1212a和第一总线矩阵1212b。第一打包器1212a可以通过添加控制信息到输入数据来生成分组数据。例如,第一打包器1212a可以被配置为基于ECC引擎(或者,信号处理引擎)EN0至ENj的状态信号RB0至RBj,添加控制信息到输入数据。这里,控制信息可以包括指定具有就绪状态的ECC引擎的数据(在下文中,称作引擎选择信息)。控制信息可以包括指定输入数据的目的地的数据(在下文中,称作目的地信息)。指定输入数据的目的地的数据可以连同输入数据一起提供。作为连接矩阵,第一总线矩阵1212b可以将从第一打包器1212a输出的分组数据传输到ECC引擎中的一个。也就是说,第一总线矩阵1212b可以将分组数据提供给与包括在分组数据中的控制信息(也即,包括在控制信息中的引擎选择信息)相应的ECC引擎。
在至少部分示范性实施例中,连接第一打包器1212a和第一总线矩阵1212b的总线B1的数目与连接第一总线矩阵1212b和ECC块1211的总线B2的数目可以彼此相同或者不同。与第一打包器1212a连接的总线B1可以根据控制信息与总线B2中的一个连接。这可以通过在总线B1与总线B2的连接节点处配置切换装置(例如,由解码器和开关形成)来进行。
继续参考图3,解码调度器1213可以包括第二打包器1213a和第二总线矩阵1213b。第二打包器1213a可以通过添加控制信息到输入数据来生成分组数据。例如,第二打包器1213a可以被配置为基于ECC引擎EN0至ENj的状态信号RB0至RBj,添加控制信息到输入数据。这里,控制信息可以包括指定具有就绪状态的ECC引擎的引擎选择信息。控制信息可以包括指定输入数据的目的地的目的地信息。指定输入数据的目的地的数据可以连同输入数据一起提供。作为连接矩阵,第二总线矩阵1213b可以将从第二打包器1213a输出的分组数据传输到ECC引擎中的一个。也就是说,第二总线矩阵1213b可以将分组数据提供给与包括在分组数据中的控制信息(也即,包括在控制信息中的引擎选择信息)相应的ECC引擎。
在至少部分示范性实施例中,连接第二打包器1213a和第二总线矩阵1213b的总线B1的数目与连接第二总线矩阵1213b和ECC块1211的总线B2的数目可以彼此相同或者不同。与第二打包器1213a连接的总线B1可以根据控制信息与总线B2中的一个连接。这可以通过在总线B1与总线B2的连接节点处配置切换装置(例如,由解码器和开关形成)来进行。
如图3中所示,可以通过使用指示就绪状态或者忙状态的ECC引擎的状态信号分配分组数据,来提高误差校正效率。也就是说,在一个ECC引擎处于用于解码的忙状态的情况下,另一ECC引擎可以与正处于忙状态的ECC引擎并行地对下一数据执行解码,因此随机读操作的性能被提高。
图4是示意地示出根据发明构思的实施例的存储控制器的框图。
参考图4,存储控制器1200可以包括编码/解码块1210、作为第一接口的主机接口1220、作为第二接口的存储器接口1230、CPU 1240、缓冲控制器和仲裁器块1250、先入先出(FIFO)块1260和缓冲存储器1270。
编码/解码块1210可以被配置为对将被存储在存储介质1100中的数据进行编码以及对从存储介质1100输出的数据进行解码。如参考图2和图3描述的那样,编码/解码块1210可以包括多个ECC引擎EN0至ENj。可以根据操作条件(例如,低电力、高性能、峰值电力等等)选择性地激活ECC引擎EN0至ENj。例如,可以根据操作条件激活全部或者部分ECC引擎EN0至ENj。如上所述,激活的ECC引擎中的每一个都可以处理从全部或者部分通道CH0至CHi提供的数据或者处理将被提供给全部或者部分通道CH0至CHi的数据。
主机接口1220可以被配置为与外部设备(例如,主机)接口连接。存储器接口1230可以被配置为经由通道CH0至CHi与图1中的存储介质1100接口连接。存储器接口1230可以包括分别与通道CH0至CHi相应的NAND接口单元NIF0至NIFi。NAND接口单元NIF0至NIFi可以被配置为在CPU 1240的控制下与同相应通道连接的非易失性存储器件接口连接。CPU 1240可以被配置为控制存储控制器1200的整体操作。例如,CPU 1240可以被配置为操作诸如快闪转换层(Flash translation layer,FTL)这样的固件。如上所述,CPU 1240可以考虑到操作条件设置编码/解码块1210的寄存器1214。
FIFO块1260可以包括分别与通道CH0至CHi相应的FIFO FIFO0至FIFOi。如这里所使用的,术语FIFO指的是依照“先入先出”方案存储数据的队列、缓冲器和/或电路。FIFO块1260可以经由缓冲控制器和仲裁器块1250将从缓冲存储器1270输出的数据传输至编码/解码块1210。FIFO块1260可以经由缓冲控制器和仲裁器块1250将从编码/解码块1210输出的数据传输至缓冲存储器1270。缓冲存储器1270可以用于临时存储在缓冲控制器和仲裁器块1250的控制下经由主机接口1220传输至外部设备的数据。缓冲存储器1270可以用于临时存储在缓冲控制器和仲裁器块1250的控制下经由存储器接口1230传输至存储介质1100的数据。缓冲存储器1270可以用于存储控制存储介质1100需要的信息(例如,映射信息)。
尽管在图中未示出,存储控制器1200还可以包括随机化器/解随机化器,其被配置为使将被存储在存储介质1100中的数据随机化以及使从存储介质1100读取的数据解随机化。在美国专利公开No.2010/0088574中公开了随机化器/解随机化器的示例,其全部内容通过引用并入此处。
在至少部分示范性实施例中,主机接口1220可以由计算机总线标准、存储器线标准和iFCPPeripheral总线标准其中之一或者两个或更多标准的组合形成。计算机总线标准可以包括S-100总线、Mbus、Smbus、Q-Bus、ISA、Zorro II、Zorro III、CAMAC、FASTBUS、LPC、EISA、VME、VXI、NuBus、TURBOchannel、MCA、Sbus、VLB、PCI、PXI、HP GSC总线、CoreConnect、InfiniBand、UPA、PCI-X、AGP、PCIe、英特尔快速路径互连(Intel QuickPathInterconnect)、Hyper传输等等。存储总线标准可以包括ST-506、ESDI、SMD、并行ATA、DMA、SSA、HIPPI、USB MSC、FireWire(1394)、串行ATA、eSATA、SCSI、并行SCSI、串行连接SCSI、光纤通道(Fibre Channel)、iSCSI、SAS、RapidIO、FCIP等等。iFCPPeripheral总线标准可以包括苹果计算机总线(Apple Desktop Bus)、HIL、MIDI、Multibus、RS-232、DMX512-A、EIA/RS-422、IEEE-1284、UNI/O、1-Wire、I2C、SPI、EIA/RS-485、USB、相机链接、外部PCIe、LightPeak、多节点总线(Multidrop Bus)等等。
图5是示出根据本发明构思的实施例的存储系统在低电力模式下操作时的解码操作的图。
为了描述的方便起见,假设存储控制器1200经由四个通道CH0至CH3与存储介质1100连接。而且,假设ECC块1211由四个ECC引擎EN0至EN3形成。但是,包括在ECC块1211中的ECC引擎的数目可以不限制于此。例如,包括在ECC块1211中的ECC引擎的数目可以大于通道的数目。可替换地,包括在ECC块1211中的ECC引擎的数目可以小于通道的数目。
根据应用程序/应用领域可能需要低电力操作或者高性能。在应用程序/应用领域需要低电力操作的情况下,存储控制器1200的CPU 1240可以控制编码/解码块1210以使得ECC块1211的仅部分而不是全部ECC引擎EN0至EN3被激活。例如,存储控制器1200的CPU1240可以决定编码/解码块1210的寄存器1214的值以使得ECC块1211的ECC引擎EN0至EN3的一个引擎,EN0,被激活。当决定了寄存器1214的值时,可以激活ECC引擎EN0,而其余的ECC引擎EN1至EN3可以不被激活。
在上述的条件下,经由通道CH0至CH3传输的数据RD0至RD3可以经由NAND接口单元NIF0至NIF3被传输至打包器1213a。可以根据主机请求的数据读,从存储介质1100提供数据RD0至RD3。打包器1213a可以通过基于激活的ECC引擎EN0的状态添加控制信息至经由通道CH0至CH3输入的数据RD0至RD3,来生成分组数据PD0至PD3。这里,控制信息可以包括指定数据将被传输给哪一个FIFO的目的地信息以及指示分组数据将被传输给哪一个ECC引擎的引擎选择信息。因为一个ECC引擎EN0被激活,所以引擎选择信息可以被设置为指示ECC引擎EN0的值。
总线矩阵1213b可以基于包括在分组数据PD0至PD3中的每一个中的控制信息,将从打包器1213a顺序地传输的分组数据PD0至PD3传输至激活的ECC引擎EN0。总线矩阵1212b可以基于包括在通过ECC引擎EN0解码的分组数据DPD0至DPD3中的每一个中的控制信息(也即,目的地信息),将经解码的分组数据DPD0至DPD3传输至打包器1212a。打包器1212a可以将包括在经由总线矩阵1212b传输的经解码的分组数据DPD0至DPD3中的控制信息去除,以便分别传输经解码的数据DD0至DD3至FIFO FIFO0至FIFO3。传输至FIFO FIFO0至FIFO3的经解码的数据DD0至DD3可以经由缓冲控制器和仲裁器块1250存储在缓冲存储器1270中。
如从上述描述中所理解的那样,当需要低电力操作时,可以在使用全部通道CH0至CH3的条件下通过激活一部分ECC引擎(例如,一个或多个ECC引擎)降低ECC块1211消耗的电力。
在至少部分示范性实施例中,可以在CPU 1240的控制下实时或者预先执行用于低电力操作的寄存器1214的设置。
图6是示出根据本发明构思的实施例的存储系统在高性能模式下操作时的解码操作的图。
为了描述的方便起见,假设存储控制器1200经由四个通道CH0至CH3与存储介质1100连接。而且,假设ECC块1211由四个ECC引擎EN0至EN3形成。但是,包括在ECC块1211中的ECC引擎的数目可以不限制于此。例如,包括在ECC块1211中的ECC引擎的数目可以大于通道的数目。可替换地,包括在ECC块1211中的ECC引擎的数目可以小于通道的数目。
根据应用程序/应用领域可能需要低电力操作或者高性能。在应用程序/应用领域需要高性能操作的情况下,存储控制器1200的CPU 1240可以控制编码/解码块1210以使得ECC块1211的全部ECC引擎EN0至EN3被激活。例如,存储控制器1200的CPU 1240可以决定编码/解码块1210的寄存器1214的值以使得ECC块1211的全部ECC引擎EN0至EN3被激活。当决定了寄存器1214的值时,可以激活ECC引擎EN0至EN3。
在上述条件下,经由通道CH0至CH3传输的数据RD0至RD3可以经由NAND接口单元NIF0至NIF3被传输至打包器1213a。打包器1213a可以通过基于激活的ECC引擎EN0至EN3的状态将控制信息添加至经由通道CH0至CH3输入的数据RD0至RD3,来生成分组数据PD0至PD3。如上所述,控制信息可以包括指定数据将传输到哪一个FIFO的目的地信息以及指示分组数据将被传输至哪一个ECC引擎的引擎选择信息。
如图6中所示,总线矩阵1213b可以基于包括在分组数据PD0至PD3中的每一个中的控制信息,将从打包器1213a传输的分组数据PD0至PD3传输至相应的ECC引擎EN0至EN3。总线矩阵1212b可以基于包括在分别通过ECC引擎EN0至EN3解码的分组数据DPD0至DPD3中的每一个中的控制信息(也即,目的地信息),将经解码的分组数据DPD0至DPD3传输至打包器1212a。打包器1212a可以将包括在经由总线矩阵1212b传输的经解码的分组数据DPD0至DPD3中的控制信息去除,以便分别传输经解码的数据DD0至DD3至FIFO FIFO0至FIFO3。传输至FIFO FIFO0至FIFO3的经解码的数据DD0至DD3可以经由缓冲控制器和仲裁器块1250存储在缓冲存储器1270中。
如从上述描述中所理解的那样,当需要高性能操作时,可以在使用全部通道CH0至CH3的条件下通过激活全部ECC引擎快速处理主机请求的数据读。
如图6中所示,假设经由通道CH0至CH2在数据RD0至RD3之后连续地传输数据RD4至RD6。可能引起这样的情况:对由ECC引擎EN1至EN3执行的分组数据PD1至PD3的解码操作完成,并且由ECC引擎EN0运行的分组数据PD0的解码操作没有完成。在这种情况下,经由通道CH0至CH2传输的数据RD4至RD6可以经由打包器1213a被分配给具有就绪状态的激活的ECC引擎EN1至EN3。换句话说,在经由通道CH0至CHi的特定通道连续地传输数据的情况下,经由特定通道传输的数据可以被分配给用于解码的具有就绪状态的(多个)ECC引擎。经由特定通道传输的数据不局限于由与特定通道相对应的一个ECC引擎解码。该方式可以应用于例如按4KB单位执行的随机读操作。可以经由解码调度器1213按1KB单位将4KB数据分配给ECC引擎EN0至EN3。可以通过分配在特定通道处聚焦的数据的解码操作来执行随机读操作的执行。
图7是示出当根据本发明构思的实施例的存储系统在峰值电力管理模式下操作时的编码操作的图。
为了描述的方便起见,假设存储控制器1200经由四个通道CH0至CH3与存储介质1100连接。而且,假设ECC块1211由四个ECC引擎EN0至EN3形成。但是,包括在ECC块1211中的ECC引擎的数目可以不限制于此。例如,包括在ECC块1211中的ECC引擎的数目可以大于通道的数目。可替换地,包括在ECC块1211中的ECC引擎的数目可以小于通道的数目。
在需要峰值电力的管理的情况下,存储控制器1200的CPU 1240可以控制编码/解码块1210以使得ECC块1211的一部分ECC引擎EN0至EN3被激活。例如,存储控制器1200的CPU1240可以决定编码/解码块1210的寄存器1214的值以使得ECC块1211的ECC引擎EN0至EN3的一个EN1被激活。当决定了寄存器1214的值时,ECC引擎EN1可以被激活,而其余的ECC引擎EN0、EN2和EN3可以不被激活。
在上述条件下,经由缓冲控制器和仲裁器块1250从缓冲存储器1270传输的写数据WD0至WD3可以经由FIFO FIFO0至FIFO3传输给打包器1212a。打包器1212a可以通过基于激活的ECC引擎EN1的状态添加控制信息至经由FIFO FIFO0至FIFO3输入的写数据WD0至WD3,来生成分组数据PWD0至PWD3。这里,控制信息可以包括指定数据将传输到哪一个目的地信息和指示分组数据将传输到哪一个ECC引擎的引擎选择信息。当一个ECC引擎EN1被激活时,引擎选择信息可以被设置为指示ECC引擎EN1的值。
总线矩阵1212b可以基于包括在分组数据PD0至PD3中的每一个中的控制信息,将从打包器1212a顺序地传输的分组数据PWD0至PWD3传输至激活的ECC引擎EN1。总线矩阵1213b可以基于包括在通过ECC引擎EN1编码的分组数据EPWD0至EPWD3中的每一个中的控制信息(也即,目的地信息),将经编码的分组数据EPWD0至EPWD3传输至打包器1213a。打包器1213a可以将包括在经由总线矩阵1213b传输的经编码的分组数据EPWD0至EPWD3中的控制信息去除,以便分别将经编码的数据EWD0至EWD3经由NAND接口单元NIF0至NIF3传输至相应的通道CH0至CH3。被传输至通道CH0至CH3的经编码的数据EWD0至EWD3可以存储在存储介质1100中。
根据本发明构思的至少一个示范性实施例,假设一个ECC引擎每秒处理400MB数据。通过这个假定,如果全部四个ECC引擎被激活,则ECC块1211可以每秒处理1.6GB数据。在需要峰值电力的管理的情况下,ECC引擎EN0至EN3中的一个可以被激活以使得ECC块1211的吞吐量被降低至全输出的1/4。在这种情况下,峰值电力可以降低至全输出的1/4。如从上述描述中所理解的那样,可以在使用全部通道CH0至CH3的条件下通过激活少于全部的(例如,一个)ECC引擎降低存储系统1000的峰值电力。
将参考图2至图8描述根据寄存器1214的值决定编码/解码块1210的信号处理电平的示例。但是,本发明构思的至少部分实施例不限制于此。例如,编码/解码块1210的寄存器1214可以被去除。在这种情况下,可以使用输入数据的状态信息(例如,指示误差电平、PE周期电平等等的信息)调整信号处理电平。另举一例,能够连同编码/解码块1210的寄存器1214一起使用数据的状态信息来调整信号处理电平。在这种情况下,编码/解码块1210的默认信号处理电平可以根据寄存器1214的值决定,并且可以根据输入数据的状态信息被调整。
图8是示意地示出根据发明构思的另一实施例的编码/解码块的框图。
参考图8,编码/解码块1210a可以包括作为第一信号处理块的第一ECC块1211a、作为第二信号处理块的第二ECC块1211b、编码调度器1212a、解码调度器1213a和寄存器1214a。第一ECC块1211a的误差校正代码算法可以不同于第二ECC块1211b的误差校正代码算法。例如,第一ECC块1211a可以由以BoseChaudhuri-Hocquenghem(BCH)方式操作的ECC引擎(或者,信号处理引擎)ECC1形成,第二ECC块1211b可以由以低密度奇偶校验(LDPC)方式操作的ECC引擎(或者,信号处理引擎)ECC2形成。然而,本发明构思的至少部分实施例并不局限于此。可以根据由CPU 1240设置的寄存器1214a的值选择第一ECC块1211a和第二ECC块1211b中的一个。例如,CPU 1240可以使用误差率决定寄存器1214a的值。当误差率在参考值之下时,CPU 1240可以决定寄存器1214a的值以使得第一ECC块1211a被选择。当误差率在参考值之上时,CPU 1240可以决定寄存器1214a的值以使得第二ECC块1211b被选择。可以经由所选择的ECC块的ECC引擎执行数据编码和解码操作。
可以由编码调度器1212a和解码调度器1213a控制经由所选择的ECC块的ECC引擎执行的数据编码和解码操作。这基本上可以与参考图5至图7的描述相同地执行,并且因此省去其描述。
图9A是示意地示出根据发明构思的另一实施例的编码/解码块的框图。
参考图9A,编码/解码块1210a可以包括作为信号处理块的压缩块1211a、编码调度器1212a、解码调度器1213a和寄存器1214a。压缩块1211a可以包括多个压缩引擎EN0a至ENja作为信号处理引擎。压缩引擎EN0a至ENja的数目可以大于或者小于通道CH0至CHi的数目或者与通道CH0至CHi的数目相同。
可以根据存储在寄存器1214a中的值决定压缩引擎EN0a至ENja的激活和失活。例如,以与上面参考图5-图7讨论的相同的方式,可以考虑到存储控制器1200的操作条件来决定寄存器1214a的值。可以根据寄存器1214a中存储的值激活部分或者全部压缩引擎EN0a至ENja。可以根据输入数据的状态信息而非寄存器1214a(或者,不管寄存器1214a的值),决定压缩引擎EN0a至ENja的激活和失活。
编码调度器1212a可以接收将被编码的数据,考虑到压缩块1211a的激活的压缩引擎的状态选择具有就绪状态的压缩引擎的一个或多个压缩引擎,并且把将被编码的数据提供给所选择的压缩引擎。解码调度器1213a可以接收将被解码的数据,考虑到压缩块1211a的激活的压缩引擎的状态选择具有就绪状态的压缩引擎的一个或多个压缩引擎,并且把将被解码的数据提供给所选择的压缩引擎。压缩引擎EN0a至ENja可以经由解码调度器1213a连接至通道CH0至CHi。一个压缩引擎可以被配置为将从部分或者全部通道CH0至CHi传输的数据解码,并且对将被传输至部分或者全部通道CH0至CHi的数据进行编码。换句话说,可以经由激活的压缩引擎的一个或多个压缩引擎对经由一个通道传输的数据进行解码。同样地,将被发送到存储介质1100的数据可以经由激活的压缩引擎的一个或多个压缩引擎进行编码。
利用根据本发明构思的至少一个示范性实施例的编码/解码块1210a,可以根据操作条件实时调整或者提前调整参与解码和编码的压缩引擎的数目。而且,可以考虑到激活的压缩引擎的状态由所选择的(多个)压缩引擎(具有就绪状态)来执行数据的编码/解码。
图9B是示意地示出根据发明构思的又一实施例的编码/解码块的框图。
参考图9B,编码/解码块1210b可以包括作为信号处理块的加密块1211b、编码调度器1212b、解码调度器1213b和寄存器1214b。加密块1211b可以包括多个加密引擎EN0a至ENjb作为信号处理引擎。加密引擎EN0b至ENjb的数目可以大于或者小于通道CH0至CHi的数目或者与通道CH0至CHi的数目相同。
可以根据存储在寄存器1214b中的值决定加密引擎EN0b至ENjb的激活和失活。例如,以与上面参考图5-图7讨论的相同的方式,可以考虑到存储控制器1200的操作条件来决定寄存器1214b的值。可以根据寄存器1214b中存储的值激活部分或者全部加密引擎EN0b至ENjb。可以根据输入数据的状态信息而非寄存器1214b(或者,不管寄存器1214b的值),决定加密引擎EN0b至ENjb的激活和失活。
编码调度器1212b可以接收将被编码的数据,考虑到加密块1211b的激活的加密引擎的状态选择具有就绪状态的加密引擎的一个或多个加密引擎,并且把将被编码的数据提供给所选择的加密引擎。解码调度器1213b可以接收将被解码的数据,考虑到加密块1211b的激活的加密引擎的状态选择具有就绪状态的加密引擎的一个或多个加密引擎,并且把将被解码的数据提供给所选择的加密引擎。加密引擎EN0b至ENjb可以经由解码调度器1213b连接至通道CH0至CHi。一个加密引擎可以被配置为将从部分或者全部通道CH0至CHi传输的数据解码,并且对将被传输至部分或者全部通道CH0至CHi的数据进行编码。换句话说,可以经由激活的加密引擎的一个或多个加密引擎对经由一个通道传输的数据进行解码。同样地,将被发送到存储介质1100的数据可以经由激活的加密引擎的一个或多个加密引擎进行编码。
利用根据本发明构思的至少一个示范性实施例的编码/解码块1210b,可以根据操作条件实时调整或者提前调整参与解码和编码的加密引擎的数目。而且,可以考虑到激活的加密引擎的状态由所选择的(多个)加密引擎(具有就绪状态)来执行数据的编码/解码。
图9C是示意地示出根据发明构思的又一实施例的编码/解码块的框图。
参考图9C,编码/解码块1210c可以包括作为信号处理块的哈希键生成块1211c、编码调度器1212c、解码调度器1213c和寄存器1214c。哈希键生成块1211c可以包括多个哈希键引擎EN0c至ENjc作为信号处理引擎。哈希键引擎EN0c至ENjc的数目可以大于或者小于通道CH0至CHi的数目或者与通道CH0至CHi的数目相同。
可以根据存储在寄存器1214c中的值决定哈希键引擎EN0c至ENjc的激活和失活。例如,以与上面参考图5-7讨论的相同的方式,可以考虑到存储控制器1200的操作条件来决定寄存器1214c的值。可以根据寄存器1214c中存储的值激活部分或者全部哈希键引擎EN0c至ENjc。可以根据输入数据的状态信息而非寄存器1214c(或者,不管寄存器1214c的值为何),决定哈希键引擎EN0c至ENjc的激活和失活。
编码调度器1212c可以接收将被编码的数据,考虑到哈希键生成块1211c的激活的哈希键引擎的状态选择具有就绪状态的哈希键引擎的一个或多个哈希键引擎,并且把将被编码的数据提供给所选择的哈希键引擎。解码调度器1213c可以接收将被解码的数据,考虑到哈希键生成块1211c的激活的哈希键引擎的状态选择具有就绪状态的哈希键引擎的一个或多个哈希键引擎,并且把将被解码的数据提供给所选择的哈希键引擎。哈希键引擎EN0c至ENjc可以经由解码调度器1213c连接至通道CH0至CHi。一个哈希键引擎可以被配置为将从部分或者全部通道CH0至CHi传输的数据解码,并且对将被传输至部分或者全部通道CH0至CHi的数据进行编码。换句话说,可以经由激活的哈希键引擎的一个或多个哈希键引擎对经由一个通道传输的数据进行解码。同样地,将被发送到存储介质1100的数据可以经由激活的哈希键引擎的一个或多个哈希键引擎进行编码。
利用根据本发明构思的至少一个示范性实施例的编码/解码块1210c,可以根据操作条件实时调整或者提前调整参与解码和编码的哈希键引擎的数目。而且,可以考虑到激活的哈希键引擎的状态由所选择的(多个)哈希键引擎(具有就绪状态)来执行数据的编码/解码。
在图2至图9C中,使用ECC引擎、压缩引擎、哈希键引擎作为信号处理引擎描述实施例。但是,本发明构思的至少部分示范性实施例可以应用于其它功能引擎。
图10是示意地示出包括根据发明构思的实施例的数据存储设备的计算系统的框图。计算系统包括处理单元2101、用户界面2202、诸如基带芯片组的调制解调器2303、存储控制器2404和作为存储介质的非易失性存储设备2505。
存储控制器2404可以包括,例如,与如上面参考图1至图9C中描述的任一示例相同的结构并且具有相同的操作。例如,存储控制器2404可以被配置以使得考虑到信号处理引擎的状态由所选择的信号处理引擎对数据编码和解码。根据本发明构思的至少一个实施例的编码/解码方式可以使能调节存储控制器2404的电力和性能。而且,根据本发明构思的至少一个实施例的编码/解码方式可以使能提高信号处理效率。
由处理单元2101处理/待处理的N比特数据(N是1或者更大的整数)可以通过存储控制器2404存储在存储介质2505中。在计算系统是移动设备的情况下,电池2606还可以被包括在计算系统中以用于向其供应操作电压。尽管在图10中未示出,计算系统还可以包含应用芯片组、相机图像处理器(CIS)、移动DRAM等等。
图11是示意地示出根据发明构思的实施例的固态驱动器的框图。
参考图11,固态驱动器(SSD)4000可以包含存储介质4100和控制器4200。存储介质4100可以经由多个通道与控制器4200连接,每个通道都与多个非易失性存储器公共连接。控制器4200可以包括,例如,与如上面参考图1至图9C中描述的任一示例相同的结构并且具有相同的操作。例如,控制器4200可以被配置以使得考虑到信号处理引擎的状态由所选择的信号处理引擎对数据编码和解码。根据本发明构思的至少一个实施例的编码/解码方式可以使能调节控制器4200的电力和性能。而且,根据本发明构思的至少一个实施例的编码/解码方式可以使能提高信号处理效率。
图12是示意地示出使用图11中的固态驱动器的存储装置的框图,图13是示意地示出使用图11中的固态驱动器的存储装置服务器的框图。
根据本发明构思的实施例的SSD 4000可以被用于形成存储装置。如图12中所示,存储装置可以包括与图11中所描述的相同配置的多个固态驱动器4000。根据本发明构思的实施例的SSD 4000可以被用于配置存储装置服务器。如图13中所示,存储器服务器包括被配置为与图11中所描述的相同的多个固态驱动器4000、以及服务器4000A。而且,在存储装置服务器中提供公知的RAID控制器4000B是很好理解的。
图14是示意地示出根据发明构思的至少部分实施例的数据存储设备应用于其的系统的图。
如图14中所示,包括根据本发明构思的实施例的数据存储设备的固态驱动器可以被应用于主服务器8100。
图15是示意地示出根据发明构思的实施例的存储卡的框图。
例如,存储卡可以是MMC卡、SD卡、多用途卡、微SD卡、记忆棒、紧凑型SD卡、ID卡、PCMCIA卡、SSD卡、芯片卡、智能卡、USB卡等等之类。
参考图15,存储卡可以包括用于与外部设备接口连接的接口电路9221、包括缓冲存储器并且控制存储卡的操作的控制器9222、以及至少一个非易失性存储器件9207。控制器9222可以是被配置为控制非易失性存储器件9207的写和读操作的处理器。控制器9222可以经由数据总线和地址总线与非易失性存储器件9207和接口电路9221耦接。
控制器9222可以包括,例如,与如上面参考图1至图9C中描述的任一示例相同的结构并且具有相同的操作。例如,控制器9222可以被配置以使得考虑到信号处理引擎的状态由所选择的信号处理引擎对数据编码和解码。根据本发明构思的至少一个实施例的编码/解码方式可以使能调节控制器9222的电力和性能。而且,根据本发明构思的至少一个实施例的编码/解码方式可以使能提高信号处理效率。
图16是示意地示出根据发明构思的实施例的数字静态相机的框图。
参考图16,数字静态相机可以包括主体9301、插槽9302、镜头9303、显示电路9308、快门按钮9312、闪光灯9318等等。存储卡9331可以包括图1中描述的存储控制器以及存储介质。例如,包括在存储卡9331中的存储控制器可以包括例如与上面参考图1至图9C中描述的任一示例相同的结构并且具有相同的操作。控制器可以被配置以使得考虑到信号处理引擎的状态由所选择的信号处理引擎对数据编码和解码。根据本发明构思的至少一个实施例的编码/解码方式可以使能调节控制器的电力和性能。而且,根据本发明构思的至少一个实施例的编码/解码方式可以使能将提高信号处理效率。
如果存储卡9331具有接触类型,则电路板上的电路可以在存储卡9331插入插槽9302中时与存储卡9331电接触。在存储卡9331具有非接触类型的情况下,电路板上的电路可以以射频方式与存储卡9331通信。
图17是示意地示出图15中的存储卡应用于其的各种系统的图。
参考图17,存储卡9331可以应用于视频相机VC、电视TV、音频设备AD、游戏机GM、电子音乐设备EMD、蜂窝电话HP、计算机CP、个人数字助理(PDA)、录音机VR、PC卡PCC等等。
在示范性实施例中,存储单元可以由可变电阻存储单元形成。在美国专利No.7,529,124中公开了示范性可变电阻存储单元和包括其的存储器件,其全部通过引用并入此处。
在其它示范性实施例中,存储单元可以由具有电荷存储层的各种单元结构其中之一形成。具有电荷存储层的单元结构包括使用电荷捕获层的电荷捕获快闪结构、阵列堆叠在多个层中的堆栈快闪结构、源极-漏极自由快闪结构、管脚类型快闪结构等等。
在另外其它示范性实施例中,具有电荷捕获快闪结构作为电荷存储层的存储器件在美国专利No.6,858,906、以及美国专利公开No.2004/0169238和No.2006/0180851中被公开,它们每一个的全部内容通过引用并入此处。源极-漏极自由快闪结构在韩国专利No.673020中被公开,其全部内容通过引用并入此处。
可以使用各种类型的封装来封装根据本发明构思的至少一个示范性实施例的非易失性存储器件和/或存储控制器。例如,可以使用诸如PoP(层叠封装,package onpackage)、球栅阵列封装(ball grid array,BGA)、芯片尺寸封装(chip scale package,CSP)、有引线塑封载体(plastic leaded chip carrier,PLCC)、塑料双列直插式封装(plastic dual in-line package,PDIP)、晶片包中管芯封装(die in waffle pack)、晶片形式的管芯封装(die in wafer form)、板上芯片技术(chip on board,COB)、陶瓷双列直插式封装(ceramic dual in-line package,CERDIP)、塑料公制四方扁平封装(plasticmetric quad flat pack,MQFP)、薄型四方扁平封装(thin quad flat pack,TQFP)、小外型封装(small outline,SOIC)、缩小外型封装(shrink small outline package,SSOP)、薄型小尺寸封装(thin small outline,TSOP)、薄型四方扁平封装(thin quad flat pack,TQFP)、系统级封装(system in package,SIP)、多芯片封装(multi chip package,MCP)、晶片级制造封装(wafer-level fabricated package,WFP)、晶片级处理堆栈封装(wafer-level processed stack package,WSP)等等之类的封装来封装根据本发明构思的至少一个实施例的非易失性存储器件或者存储控制器。
虽然已经描述了本发明构思的示范性实施例,但是很明显,可以以许多方式对其进行改变。这些改变不被认为是脱离示范性实施例的预期精神和范围,而且对本领域技术人员将明显的是,全部这些修改都旨在包括在所附权利要求的范围内。
Claims (28)
1.一种经由多个通道与存储介质连接的存储控制器,包括:
信号处理块,包括多个信号处理引擎;以及
解码调度器,被配置为控制数据路径以使得所述多个信号处理引擎的至少一个激活的信号处理引擎分别与所述多个通道连接,
所述存储控制器还包括:
多个先入先出缓冲器(FIFO),被配置为临时存储将被传输到所述多个通道的数据;以及
编码调度器,包括第一总线矩阵,所述第一总线矩阵被配置为基于包括在第一分组数据中的控制信息,将分别与所述多个FIFO相对应的第一分组数据顺序地传输至所述至少一个激活的信号处理引擎。
2.如权利要求1所述的存储控制器,还包括:
CPU,被配置为确定所述存储控制器的操作条件;以及
寄存器,被配置为存储所述多个信号处理引擎的激活信息,所述存储控制器被配置以使得根据所述CPU的确定结果决定所述激活信息。
3.如权利要求2所述的存储控制器,其中,所述存储控制器被配置以使得通过存储在所述寄存器中的激活信息激活部分或者全部所述多个信号处理引擎。
4.如权利要求1所述的存储控制器,其中:
所述编码调度器被配置为控制数据路径以使得所述多个FIFO中的数据被传输到所述多个信号处理引擎当中的至少一个激活的信号处理引擎。
5.如权利要求4所述的存储控制器,其中,所述编码调度器还包括:
第一分组生成器,被配置为通过将基于所述至少一个激活的信号处理引擎的状态的控制信息添加到从所述多个FIFO中的每一个输出的数据,来生成所述第一分组数据。
6.如权利要求5所述的存储控制器,其中,所述解码调度器包括:
第二分组生成器,被配置为通过将基于所述至少一个激活的信号处理引擎的状态的控制信息添加到从所述多个通道中的每一个输出的数据,来生成第二分组数据;以及
第二总线矩阵,被配置为基于包括在第二分组数据中的控制信息,将分别与所述多个通道相对应的第二分组数据顺序地传输至所述至少一个激活的信号处理引擎。
7.如权利要求2所述的存储控制器,其中,所述存储控制器被配置以使得如果所述存储控制器的确定的操作条件是高性能操作条件,则所述CPU决定所述寄存器的值以使得所述多个信号处理引擎全部被激活。
8.如权利要求7所述的存储控制器,其中,所述编码调度器被配置为生成第一分组数据以使得当所述多个信号处理引擎当中的信号处理引擎执行编码操作时,数据被分配至所述多个信号处理引擎的激活的信号处理引擎当中除了执行所述编码操作的信号处理引擎之外的其余信号处理引擎。
9.如权利要求7所述的存储控制器,其中,所述解码调度器被配置为生成第二分组数据以使得当所述多个信号处理引擎当中的信号处理引擎执行解码操作时,数据被分配至所述多个信号处理引擎的激活的信号处理引擎当中除了执行所述解码操作的信号处理引擎之外的其余信号处理引擎。
10.如权利要求7所述的存储控制器,其中,所述解码调度器被配置为生成第二分组数据以使得经由所述多个通道其中之一传输的数据被分配至所述多个信号处理引擎的激活的信号处理引擎。
11.如权利要求7所述的存储控制器,其中,所述编码调度器被配置为生成第一分组数据以使得经由所述多个FIFO其中之一传输的数据被分配至所述多个信号处理引擎的激活的信号处理引擎。
12.如权利要求7所述的存储控制器,其中,所述多个信号处理引擎是误差校正代码引擎、压缩引擎、加密引擎或者哈希键引擎。
13.如权利要求1所述的存储控制器,其中,所述多个信号处理引擎的总数目等于或者小于所述多个通道的总数目。
14.如权利要求1所述的存储控制器,其中,所述多个信号处理引擎每个被配置为根据相同的误差校正代码算法操作。
15.一种存储系统,包括:
存储介质;以及
存储控制器,经由多个通道与所述存储介质连接,
其中,所述存储控制器包括多个信号处理引擎,并且包括编码/解码块,所述编码/解码块被配置为当所述存储系统使用所述多个通道执行存储操作时,将所述多个信号处理引擎分别连接至所述多个通道,
其中存储控制器还包括:
多个先入先出缓冲器(FIFO),被配置为临时存储将被传输到所述多个通道的数据;
编码调度器,包括第一总线矩阵,所述第一总线矩阵被配置为基于包括在第一分组数据中的控制信息,将分别与所述多个FIFO相对应的第一分组数据顺序地传输至至少一个激活的信号处理引擎。
16.如权利要求15所述的存储系统,其中,所述存储控制器包括:
CPU,被配置为通过确定所述存储控制器的操作条件生成确定结果;
寄存器,被配置为存储所述多个信号处理引擎的激活信息,所述存储控制器被配置为根据所述CPU的确定结果决定所述激活信息;以及
解码调度器,被配置为控制数据路径以使得所述多个FIFO的数据被传输至所述至少一个激活的信号处理引擎,
其中所述编码调度器被配置为控制数据路径以使得所述多个信号处理引擎当中根据所述寄存器的激活信息被激活的至少一个激活的信号处理引擎分别连接到所述多个通道。
17.如权利要求16所述的存储系统,其中,所述编码调度器还包括:
第一分组生成器,被配置为通过将基于所述至少一个激活的信号处理引擎的状态的控制信息添加到从所述多个FIFO中的每一个输出的数据,来生成所述第一分组数据。
18.如权利要求17所述的存储系统,其中,所述解码调度器包括:
第二分组生成器,被配置为通过将基于所述至少一个激活的信号处理引擎的状态的控制信息添加到从所述多个通道中的每一个输出的数据,来生成第二分组数据;以及
第二总线矩阵,被配置为基于包括在第二分组数据中的控制信息,将分别与所述多个通道相对应的第二分组数据顺序地传输至所述至少一个激活的信号处理引擎。
19.如权利要求18所述的存储系统,其中,所述解码调度器被配置为生成第二分组数据使得经由所述多个通道其中之一传输的数据被分配至所述多个信号处理引擎的激活的信号处理引擎。
20.如权利要求18所述的存储系统,其中,所述编码调度器被配置为生成第一分组数据使得经由所述多个FIFO其中之一传输的数据被分配至所述多个信号处理引擎的激活的信号处理引擎。
21.如权利要求18所述的存储系统,其中,所述多个信号处理引擎是误差校正代码引擎、压缩引擎、加密引擎或者哈希键引擎。
22.如权利要求15所述的存储系统,其中,所述编码/解码块还包括:
多个第二信号处理引擎,并且所述存储系统被配置以使得当所述多个信号处理引擎的使用被停止时,所述多个第二信号处理引擎被激活以执行编码和解码操作,所述多个第二信号处理引擎的激活根据误差比决定。
23.一种经由多个通道与存储介质连接的存储控制器的带宽控制方法,包括:
接收输入信号;以及
使用信号处理电平通过所述存储控制器处理所述输入信号,所述输入信号的信号处理电平根据所述存储控制器的操作条件确定,
其中,通过一个或多个信号处理引擎执行所述输入信号的处理,
所述带宽控制方法还包括:
控制数据路径以使得所述一个或多个信号处理引擎的一个或多个激活的信号处理引擎被分别连接到多个通道;以及
控制数据路径以使得所述输入信号被传输至所述一个或多个激活的信号处理引擎,
其中控制数据路径以使得所述输入信号被传输至所述一个或多个激活的信号处理引擎包括:
通过添加控制信息至经处理的信号生成分组数据,所述控制信息基于所述一个或多个激活的信号处理引擎的状态;以及
基于包括在所述分组数据中的控制信息将所述输入信号传输至所述一个或多个激活的信号处理引擎。
24.如权利要求23所述的带宽控制方法,其中,通过一个或多个信号处理引擎执行所述输入信号的处理,所述一个或多个信号处理引擎是误差校正代码引擎、压缩引擎、加密引擎或者哈希键引擎。
25.如权利要求24所述的带宽控制方法,其中,控制数据路径以使得经处理的信号被传输至所述一个或多个激活的信号处理引擎包括:
通过将基于所述一个或多个激活的信号处理引擎的状态的控制信息添加到从所述多个通道输出的数据,来生成分组数据;以及
基于包括在所述分组数据中的控制信息将与所述多个通道相应的信号传输至所述一个或多个激活的信号处理引擎。
26.一种经由多个通道与存储介质连接的存储控制器,包括:
信号处理块,包括多个编码引擎,所述多个编码引擎被配置为执行信号处理操作;以及
调度器,被配置以使得第一多个数据单元将被发送到选择的数目的多个编码引擎,所述存储控制器被配置为基于所述存储控制器的操作模式确定所选择的数目,
所述信号处理操作包括解码操作和编码操作其中之一,
其中存储控制器还包括多个先入先出缓冲器(FIFO),被配置为临时存储将被传输到所述多个通道的数据,
其中所述调度器包括第一总线矩阵,所述第一总线矩阵被配置为基于包括在第一分组数据中的控制信息,将分别与所述多个FIFO相对应的第一分组数据顺序地传输至所选择的数目的多个编码引擎。
27.如权利要求26所述的存储控制器,其中,所述调度器被配置以使得
对于所述存储控制器的第一操作模式,所述调度器确定第一数目为所选择的数目,以及
对于所述存储控制器的第二操作模式,所述调度器确定第二数目为所选择的数目,
第一数目不同于第二数目。
28.如权利要求26所述的存储控制器,其中,所述存储控制器被配置以使得
第一操作模式是高性能操作模式,第二操作模式是峰值电力管理操作模式,而且第一数目高于第二数目。
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1020120143726A KR101997794B1 (ko) | 2012-12-11 | 2012-12-11 | 메모리 제어기 및 그것을 포함한 메모리 시스템 |
KR10-2012-0143726 | 2012-12-11 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN103870411A CN103870411A (zh) | 2014-06-18 |
CN103870411B true CN103870411B (zh) | 2018-05-01 |
Family
ID=50882290
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201310674952.7A Active CN103870411B (zh) | 2012-12-11 | 2013-12-11 | 存储控制器以及包括存储控制器的存储系统 |
Country Status (4)
Country | Link |
---|---|
US (1) | US9767053B2 (zh) |
JP (1) | JP6284351B2 (zh) |
KR (1) | KR101997794B1 (zh) |
CN (1) | CN103870411B (zh) |
Families Citing this family (19)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR102268965B1 (ko) * | 2014-12-04 | 2021-06-24 | 엘지디스플레이 주식회사 | 게이트 쉬프트 레지스터 및 이를 이용한 표시 장치 |
KR102296787B1 (ko) * | 2014-12-05 | 2021-09-01 | 엘지디스플레이 주식회사 | 표시장치 구동방법 |
KR102251813B1 (ko) * | 2015-04-07 | 2021-05-13 | 삼성전자주식회사 | 메모리 시스템 및 메모리 시스템의 동작 방법 |
JP6657634B2 (ja) * | 2015-07-24 | 2020-03-04 | ソニー株式会社 | 符号化装置、メモリシステム、通信システムおよび符号化方法 |
TWI575384B (zh) * | 2015-09-04 | 2017-03-21 | 慧榮科技股份有限公司 | 通道控制裝置 |
US11216323B2 (en) * | 2015-09-16 | 2022-01-04 | Samsung Electronics Co., Ltd. | Solid state memory system with low power error correction mechanism and method of operation thereof |
US10204532B2 (en) | 2015-09-25 | 2019-02-12 | Intel Corporation | Multiple input cryptographic engine |
US10083722B2 (en) * | 2016-06-08 | 2018-09-25 | Samsung Electronics Co., Ltd. | Memory device for performing internal process and operating method thereof |
CN106547488B (zh) * | 2016-10-21 | 2019-04-19 | 国家计算机网络与信息安全管理中心 | 一种混合缓存管理方法 |
US10719394B2 (en) * | 2017-10-25 | 2020-07-21 | Innogrit Technologies Co., Ltd. | Systems and methods for fast access of non-volatile storage devices |
CN110390516B (zh) * | 2018-04-20 | 2023-06-06 | 伊姆西Ip控股有限责任公司 | 用于数据处理的方法、装置和计算机存储介质 |
CN109036431A (zh) * | 2018-07-11 | 2018-12-18 | 北京智能管家科技有限公司 | 一种语音识别系统和方法 |
KR102513919B1 (ko) * | 2018-11-05 | 2023-03-27 | 에스케이하이닉스 주식회사 | 메모리 시스템 |
KR102645140B1 (ko) * | 2018-12-06 | 2024-03-07 | 삼성전자주식회사 | Fpga를 포함하는 메모리 시스템 및 이의 동작 방법 |
US11487544B2 (en) * | 2020-01-15 | 2022-11-01 | Western Digital Technologies, Inc. | Method and device for simultaneously decoding data in parallel to improve quality of service |
CN111755057B (zh) * | 2020-07-29 | 2022-06-17 | 北京浪潮数据技术有限公司 | 一种信道的引擎调度方法、系统及相关装置 |
CN113608436A (zh) * | 2021-07-01 | 2021-11-05 | 杭州希亚智新科技有限公司 | 一种多维度鲁棒预测控制方法和装置 |
US11755489B2 (en) * | 2021-08-31 | 2023-09-12 | Apple Inc. | Configurable interface circuit |
CN114115745B (zh) * | 2021-11-30 | 2023-07-04 | 深圳忆联信息系统有限公司 | 多Pass编程NAND的RAID优化方法、装置及计算机设备 |
Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101950586A (zh) * | 2009-03-27 | 2011-01-19 | 联发科技股份有限公司 | 存储控制器及控制数据读取的方法 |
Family Cites Families (23)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2002051079A (ja) * | 2000-06-08 | 2002-02-15 | Alcatel | 光cdmaスイッチアーキテクチャおよび方法 |
US7055081B2 (en) | 2001-03-02 | 2006-05-30 | Storage Technology Corporation | System and method for multi-channel decoding error correction |
TWI220959B (en) * | 2003-06-05 | 2004-09-11 | Carry Computer Eng Co Ltd | Storage device with optimized compression management mechanism |
EP1538525A1 (en) | 2003-12-04 | 2005-06-08 | Texas Instruments Incorporated | ECC computation simultaneously performed while reading or programming a flash memory |
JP2006004133A (ja) * | 2004-06-17 | 2006-01-05 | Fujitsu Ltd | 情報処理装置におけるエラー訂正、検出装置 |
EP1612672B1 (en) * | 2004-07-01 | 2008-02-13 | Sap Ag | A data processing system for assigning objects to processing units |
US7721118B1 (en) * | 2004-09-27 | 2010-05-18 | Nvidia Corporation | Optimizing power and performance for multi-processor graphics processing |
KR100852193B1 (ko) * | 2007-05-02 | 2008-08-13 | 삼성전자주식회사 | 오류 제어 코드 장치 및 그 방법 |
US8001444B2 (en) | 2007-08-08 | 2011-08-16 | Intel Corporation | ECC functional block placement in a multi-channel mass storage device |
KR101425957B1 (ko) | 2007-08-21 | 2014-08-06 | 삼성전자주식회사 | 이씨씨 제어 회로 및 그것을 포함하는 멀티채널 메모리시스템 |
KR101466694B1 (ko) | 2007-08-28 | 2014-11-28 | 삼성전자주식회사 | Ecc 회로, ecc 회로를 구비하는 메모리 시스템 및그의 오류 정정 방법 |
US20090160867A1 (en) | 2007-12-19 | 2009-06-25 | Advance Micro Devices, Inc. | Autonomous Context Scheduler For Graphics Processing Units |
US9152496B2 (en) * | 2007-12-21 | 2015-10-06 | Cypress Semiconductor Corporation | High performance flash channel interface |
JP5150245B2 (ja) | 2007-12-27 | 2013-02-20 | 株式会社東芝 | 半導体記憶装置 |
JP2010026950A (ja) * | 2008-07-23 | 2010-02-04 | Hitachi Ulsi Systems Co Ltd | 記憶装置 |
US8127058B1 (en) * | 2008-07-29 | 2012-02-28 | Marvell International Ltd. | System and method of video decoding using hybrid buffer |
KR101554159B1 (ko) | 2008-10-08 | 2015-09-21 | 삼성전자주식회사 | 데이터 저장 장치 및 이를 포함하는 데이터 저장 시스템 |
KR20100100394A (ko) | 2009-03-06 | 2010-09-15 | 삼성전자주식회사 | 반도체 디스크 장치 그리고 그것의 데이터 기록 및 읽기 방법 |
JP5303325B2 (ja) * | 2009-03-18 | 2013-10-02 | ルネサスエレクトロニクス株式会社 | データ処理装置 |
US20100332922A1 (en) | 2009-06-30 | 2010-12-30 | Mediatek Inc. | Method for managing device and solid state disk drive utilizing the same |
US8510631B2 (en) | 2009-11-24 | 2013-08-13 | Mediatek Inc. | Multi-channel memory apparatus and method thereof |
US8675674B2 (en) * | 2009-12-23 | 2014-03-18 | Citrix Systems, Inc. | Systems and methods for queue level SSL card mapping to multi-core packet engine |
RU2010135495A (ru) * | 2010-08-24 | 2012-02-27 | ЭлЭсАй Корпорейшн (US) | Видеотранскодер с гибким управлением качеством и сложностью |
-
2012
- 2012-12-11 KR KR1020120143726A patent/KR101997794B1/ko active IP Right Grant
-
2013
- 2013-12-11 JP JP2013256030A patent/JP6284351B2/ja active Active
- 2013-12-11 CN CN201310674952.7A patent/CN103870411B/zh active Active
- 2013-12-11 US US14/102,979 patent/US9767053B2/en active Active
Patent Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101950586A (zh) * | 2009-03-27 | 2011-01-19 | 联发科技股份有限公司 | 存储控制器及控制数据读取的方法 |
Also Published As
Publication number | Publication date |
---|---|
CN103870411A (zh) | 2014-06-18 |
KR20140075952A (ko) | 2014-06-20 |
US9767053B2 (en) | 2017-09-19 |
KR101997794B1 (ko) | 2019-07-09 |
JP6284351B2 (ja) | 2018-02-28 |
JP2014116015A (ja) | 2014-06-26 |
US20140164673A1 (en) | 2014-06-12 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN103870411B (zh) | 存储控制器以及包括存储控制器的存储系统 | |
CN103714856B (zh) | 存储器系统及其读取回收方法 | |
KR102089613B1 (ko) | 불 휘발성 메모리 장치 및 그것을 포함한 메모리 시스템 | |
US8856428B2 (en) | Nonvolatile memory device and nonvolatile memory system and random data read method thereof | |
KR101824227B1 (ko) | 메모리 시스템 및 그것의 프로그램 방법 | |
KR101818176B1 (ko) | 메모리 시스템 및 그것의 동작 방법 | |
US9007827B2 (en) | Nonvolatile memory device and method of programming nonvolatile memory device | |
US9164889B2 (en) | Memory system to select program operation method and method thereof | |
CN109521947A (zh) | 存储器系统以及存储器系统的操作方法 | |
CN106648954A (zh) | 包括片上错误校正码电路的存储器件和系统 | |
KR20170108334A (ko) | 메모리 시스템 및 그 동작 방법 | |
CN110532194A (zh) | 存储器系统及其操作方法 | |
KR101818209B1 (ko) | 플래시 메모리 장치 및 그것을 포함한 메모리 시스템 | |
US11169874B2 (en) | Memory system including field programmable gate array (FPGA) and method of operating same | |
CN107305510A (zh) | 数据处理方法、存储器存储装置及存储器控制电路单元 | |
US20220197510A1 (en) | Storage device for executing processing code and operating method of the storage device | |
TW201723848A (zh) | 記憶體管理方法、記憶體控制電路單元及記憶體儲存裝置 | |
US9501351B2 (en) | Memory control unit and data storage device including the same | |
CN108073469A (zh) | 用于通用产品代码的数据映射方案 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |