CN107256369B - 编码数据的方法、读取数据的方法 - Google Patents
编码数据的方法、读取数据的方法 Download PDFInfo
- Publication number
- CN107256369B CN107256369B CN201710505691.4A CN201710505691A CN107256369B CN 107256369 B CN107256369 B CN 107256369B CN 201710505691 A CN201710505691 A CN 201710505691A CN 107256369 B CN107256369 B CN 107256369B
- Authority
- CN
- China
- Prior art keywords
- encoding
- data
- command
- mode
- encoded
- 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
- G06F12/00—Accessing, addressing or allocating within memory systems or architectures
- G06F12/14—Protection against unauthorised use of memory or access to memory
- G06F12/1408—Protection against unauthorised use of memory or access to memory by using cryptography
-
- 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/062—Securing storage systems
- G06F3/0623—Securing storage systems in relation to content
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/70—Protecting specific internal or peripheral components, in which the protection of a component leads to protection of the entire computer
- G06F21/71—Protecting specific internal or peripheral components, in which the protection of a component leads to protection of the entire computer to assure secure computing or processing of information
- G06F21/74—Protecting specific internal or peripheral components, in which the protection of a component leads to protection of the entire computer to assure secure computing or processing of information operating in dual or compartmented mode, i.e. at least one secure mode
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/70—Protecting specific internal or peripheral components, in which the protection of a component leads to protection of the entire computer
- G06F21/71—Protecting specific internal or peripheral components, in which the protection of a component leads to protection of the entire computer to assure secure computing or processing of information
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/70—Protecting specific internal or peripheral components, in which the protection of a component leads to protection of the entire computer
- G06F21/71—Protecting specific internal or peripheral components, in which the protection of a component leads to protection of the entire computer to assure secure computing or processing of information
- G06F21/72—Protecting specific internal or peripheral components, in which the protection of a component leads to protection of the entire computer to assure secure computing or processing of information in cryptographic circuits
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/70—Protecting specific internal or peripheral components, in which the protection of a component leads to protection of the entire computer
- G06F21/78—Protecting specific internal or peripheral components, in which the protection of a component leads to protection of the entire computer to assure secure storage of data
-
- 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/1052—Security 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/40—Specific encoding of data in memory or cache
- G06F2212/402—Encrypted data
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2221/00—Indexing scheme relating to security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F2221/21—Indexing scheme relating to G06F21/00 and subgroups addressing additional information or applications relating to security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F2221/2105—Dual mode as a secondary aspect
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2221/00—Indexing scheme relating to security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F2221/21—Indexing scheme relating to G06F21/00 and subgroups addressing additional information or applications relating to security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F2221/2111—Location-sensitive, e.g. geographical location, GPS
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- Computer Hardware Design (AREA)
- Computer Security & Cryptography (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Software Systems (AREA)
- Mathematical Physics (AREA)
- Human Computer Interaction (AREA)
- Compression, Expansion, Code Conversion, And Decoders (AREA)
- Compression Or Coding Systems Of Tv Signals (AREA)
- Techniques For Improving Reliability Of Storages (AREA)
- Signal Processing For Digital Recording And Reproducing (AREA)
- Storage Device Security (AREA)
- Detection And Correction Of Errors (AREA)
Abstract
本发明提供编码数据的方法、读取数据的方法。根据本发明的一种编码数据的方法,包括:基于用户输入改变一个或多个编码模式的编码比率;选择编码模式;和基于所选择的编码模式编码的从存储器单元输出数据以产生编码数据。
Description
本案是申请日为2012年5月17日、申请号为201210154029.6、发明名称为“数据存储装置、编码单元、以及包括其的系统”的发明专利申请的分案申请。
相关申请的交叉引用
本申请要求分别于2011年5月17日和2011年8月16日向韩国知识产权局提交的韩国专利申请第10-2011-0046405号和第10-2011-0081308号的优先权权益,所述申请的内容通过全文引用合并于此。
技术领域
实施例涉及用于输出已编码数据的数据存储装置和系统,更具体地,涉及用于对将被输出的数据进行编码并随机改变应用于每个数据片段的编码模式、从而提供增强的数据安全性的数据存储装置和系统。
背景技术
已经提供了用于存储数字数据的各种数据存储装置。例如,有硬盘驱动器、固态驱动器(solid state drive,SSD)和各种存储卡。为了避免未授权人员读取存储在数据存储装置中的数字数据,数据存储装置需要增强的数据安全技术,以用于编码和输出存储在安全区域中的数据,从而即使在数据被读取时,该数据也很难、或者不可能被解码。
发明内容
至少一个示例实施例涉及数据存储装置。
在一个实施例中,数据存储装置包括控制单元,其被配置成译码至少一个输入命令,并且被配置成响应于该输入命令生成读信号和开始信号中的至少一个。该开始信号指示开始内部模式确定过程。该数据存储装置还包括:存储器单元,其被配置成响应于读信号输出数据;以及编码单元,其被配置成响应于开始信号开始并执行内部模式确定过程。内部模式确定过程包括自主地确定编码模式,并且该编码单元被配置成基于所确定的编码模式对输出数据进行编码,以产生已编码数据。
在另外的实施例中,数据存储装置包括控制单元,其被配置成译码输入命令,并且被配置成响应于输入命令生成读信号和触发信号中的至少一个。该输入命令不指示编码模式。该数据存储装置还包括:存储器单元,其被配置成响应于读信号输出数据;以及编码单元,其被配置成响应于触发信号生成指示数据。该指示数据指示编码模式。该编码单元被配置成基于指示数据从编码模式的集合中选择编码模式,并且被配置成基于所确定的编码模式对输出数据进行编码。
在另外的实施例中,数据存储装置包括控制单元,其被配置成译码输入命令,并且被配置成响应于输入命令生成读信号和触发信号中的至少一个。该数据存储装置还包括:存储器单元,其被配置成响应于读信号输出数据;以及编码单元,其被配置成响应于触发信号生成第一随机数据。该编码单元被配置成基于第一随机数据从编码模式的集合中自主地选择编码模式,并且被配置成基于所确定的编码模式对输出数据进行编码。
至少一个实施例涉及编码单元。
在一个实施例中,该编码单元包括编码确定单元,其被配置成生成具有期望分布的随机数据,并且被配置成根据随机数据确定编码模式。编码单元中的编码器被配置成基于所确定的编码模式对数据进行编码。
至少一个实施例还涉及包括数据存储装置和/或编码单元的系统。
至少一个实施例涉及对数据进行编码的方法。
在一个实施例中,该方法包括:基于用户输入改变一个或多个编码模式的编码比率(coding ratio);选择编码模式;以及基于所选择的编码模式对来自存储器单元的输出数据进行编码,以产生已编码数据。编码模式中的至少一个可以允许在接收已编码数据的设备中正确解码已编码数据,并且编码模式中的至少一个可以不允许在接收已编码数据的设备中正确解码已编码数据。
所述的选择步骤可以包括:基于编码策略配置随机生成器,该编码策略指示选择多个编码模式中的每一个的概率;以及使用随机生成器随机生成编码模式指示符,该编码模式指示符指示所述编码模式之一。
在另外的实施例中,所述方法包括基于编码策略从多个编码模式中选择编码模式。所述编码策略指示选择多个编码模式中的每一个的概率。所述方法还包括根据所选择的编码模式对数据进行编码以产生已编码数据。所述方法还可以包括:对于多个数据,重复地执行选择编码模式和对数据进行编码的步骤。所述方法还可以包括:基于输入命令设置编码策略。所述方法还可以包括:响应于改变命令,将不同的编码策略设置为编码策略。所述方法还可以包括:基于数据在存储器单元中的位置设置编码策略。所述方法还可以包括:从编码策略存储单元加载编码策略的列表,并从该列表中选择编码策略。所述编码模式可以包括第一编码模式和第二编码模式,并且,如果选择编码模式的步骤选择该第一编码模式,则已编码数据能够被正确解码,并且如果选择编码模式的步骤选择该第二编码模式,则已编码数据不能被正确解码。编码策略可以指示选择第一编码模式的百分比。选择编码模式可以包括:基于编码策略配置随机生成器,并且使用随机生成器随机生成编码模式指示符,该编码模式指示符指示第一编码模式和第二编码模式之一。
在另外的实施例中,所述方法包括生成已编码数据片段的多个集合。每个集合代表相同的原始数据,并且每个集合包括至少第一已编码数据片段和第二已编码数据片段的样式(pattern)。与第二已编码数据片段相比,第一已编码数据片段被编码得较少,并且所述生成的步骤生成多个集合,以使得与一个集合相关联的样式可以不同于与另一个集合相关联的样式。第一已编码数据片段可以能被正确解码,并且第二已编码数据片段可以不能被正确解码。每个样式可以具有至少一个第一已编码数据片段。每个样式可以具有不多于最大数量的第一已编码数据片段。多个已编码数据片段的至少两个集合可以包括相同数量的第一已编码数据片段。所述方法还可以包括获得指示第一已编码数据片段的最大数量的编码策略,并且其中所述生成的步骤基于编码策略生成已编码数据片段的多个集合。
至少一个实施例涉及读取数据的方法。
在一个实施例中,该方法包括:响应于输入命令,生成读信号和触发信号中的至少一个;响应于读信号从存储器单元输出数据;响应于触发信号生成第一随机数据;基于第一随机数据,从编码模式的集合中自主地选择编码模式;以及基于所确定的编码模式,对输出数据进行编码。
具体地,根据本发明的一方面,提供一种编码数据的方法,包括:基于用户输入改变一个或多个编码模式的编码比率;选择编码模式;和基于所选择的编码模式编码的从存储器单元输出数据以产生编码数据。
根据本发明的另一方面,提供一种编码数据的方法,包括:基于编码策略从多个编码模式中选择编码模式,所述编码策略指示选择多个编码模式中的每一个的概率;和根据选择的编码模式对数据进行编码以产生编码数据。
根据本发明的另一方面,提供一种编码方法,包括:生成多组编码数据片段,每组编码数据片段表示相同的原始数据,每组包括至少第一编码数据片段和第二编码数据片段的式样,第一编码数据片段比第二编码数据片段编码得更少,并且所述生成步骤生成所述多个组,使得与一个组相关联的式样可以和与另一组相关联的式样不同。
根据本发明的另一方面,提供一种读取数据的方法,包括:响应于输入命令产生读取信号和触发信号中的至少一个;响应于读取信号从存储器单元输出数据;响应于触发信号产生第一随机数据,基于所述第一随机数据自主地从一组编码模式中选择编码模式;和基于所确定的编码模式对输出数据进行编码。
附图说明
通过参照附图详细描述本发明的示例性实施例,本发明的上述及其他方面和特征将变得更加清楚,附图中:
图1图示了根据实施例的包括主机装置和数据存储装置的计算系统的配置;
图2图示了根据实施例的包括主机装置和数据存储装置的计算系统的配置;
图3图示了根据实施例数据存储装置、输入命令和输出数据的框图;
图4是示出根据实施例的数据存储装置编码并输出数据的例子的概念图;
图5是根据实施例的数据存储装置的编码确定单元的框图;
图6图示了在根据实施例的数据存储装置中使用的编码策略列表;
图7解释了根据实施例的存储器单元的存储区的配置示例;
图8到图13解释了根据实施例的编码器的配置示例;
图14是用于解释根据实施例的交替接收第一命令READ和第二命令TR的数据存储装置的操作的时序图;
图15是用于解释根据实施例的交替接收第一命令READ和第二命令TR的数据存储装置的操作的详细时序图;
图16是用于解释在根据实施例的交替接收第一命令READ和第二命令TR的数据存储装置中,编码单元的切换操作的最大容许时间的详细时序图;
图17是用于解释根据实施例的交替接收第一命令READ和第二命令TR的数据存储装置的操作的时序图,该第一命令READ用于输出具有相同大小的编码目标数据的片段;
图18是用于解释根据实施例的交替接收第一命令READ和第二命令TR的数据存储装置的操作的时序图,该第一命令READ用于输出具有不同大小的编码目标数据的片段;
图19是用于解释根据实施例的顺序地接收第三命令AUTH_READ多次的数据存储装置的操作的时序图;
图20是用于解释根据实施例的顺序地接收第三命令AUTH_READ和地址信息多次的数据存储装置的操作的时序图;
图21是用于解释根据实施例的包括控制器和数据存储装置的数据存储系统的配置和操作的示图;
图22是用于解释根据另一个实施例的包括控制器和数据存储装置的数据存储系统的配置和操作的示图;
图23是用于解释根据再一个实施例的包括控制器和数据存储装置的数据存储系统的配置和操作的示图。
具体实施方式
现在将在下文中参照附图更充分地描述示例实施例,在附图中示出了实施例。然而,示例实施例可以以许多不同的形式来具体实现,不应被解释为局限于此出阐述的那些示例实施例。相反,提供这些实施例是为了使本公开全面和完整,并向本领域技术人员充分传达本发明的范围。附图中,为清楚起见,可能放大了层和区域的大小及相对大小。相同的参考标记始终指代相同的元件。
将会理解,当一个元件被称为“连接”或“耦接”到另一元件时,它可以直接连接或耦接到所述另一元件,或者也可以存在居间的元件。相反,当一个元件被称为“直接连接”或“直接耦接”到另一元件时,不均在居间的元件。此处使用的术语“和/或”包括相关列出项目中的任何一个以及其中的一个或多个的所有组合,并且术语“和/或”可以缩写为“/”。
将会理解,尽管此处可能使用词语第一、第二等等来描述不同的元件,但这些元件不应受到这些词语的限制。这些词语仅仅用于将一个元件与另一个元件区分开来。例如,第一信号可以被称为第二信号,类似地,第二信号也可以被称为第一信号,这样做不会偏离本公开的教导。
此处使用的术语仅仅是为了描述特定实施例,并非意图限制发明。此处使用的单数形式“一”、“一个”意图也包括复数形式,除非上下文明确给出相反指示。还将理解,当在本说明书中使用词语“包括”和/或“包含”时,表明存在所描述的特征、区域、整体、步骤、操作、元件和/或组件,但不排除存在或附加一个或多个其他特征、区域、整体、步骤、操作、元件、组件和/或它们的组合。
除非另外定义,否则此处使用的所有术语(包括技术术语和科学术语)所具有的含义与本发明所述领域的普通技术人员通常理解的含义相同。还将理解,诸如通常使用的词典中定义的那些术语应该被解释为所具有的含义与它们在相关领域和/或本申请的上下文中的含义一致,而不应理想化地或过分形式化地对其进行解释,除非此处明确地如此定义。
此处使用的术语“编码(coding)”可以指将原始数据随机化以将其转换成噪声数据,或者对原始数据进行加密(encrypt)以便稍后能通过特定解密(decryption)方法校正已加密的数据。根据实施例的数据存储装置可以响应于命令随机化原始数据或加密原始数据。
在数据存储装置将原始数据转换成噪声数据并输出噪声数据的情况中,优选地,原始数据包括纠错码以用于校正已编码数据。诸如维特比码和Turbo码的公知码可被用作纠错码。
首先将参照图1描述根据实施例的计算系统。根据实施例的计算系统70包括主机装置60和数据存储装置10。
本实施例的主机装置60可以是具有诸如处理器的运算器(operator)单元的处理装置。具体来说,包括主机装置60的计算系统70(或图2的计算系统80)可以是移动电话、双向通信系统、单向寻呼器、双向寻呼器、个人通信系统、便携式计算机、个人数据助理(personal data assistant,PDA)、音频和/或视频播放器、数码相机和/或摄像机、导航系统、全球定位系统(GPS),等等。
本实施例的数据存储装置10可以是使用诸如NAND(与非)快闪存储器、NOR(或非)快闪存储器、相变随机存取存储器(phase change random access memory,PRAM)、磁性随机存取存储器(magnetic random access memory,MRAM)、电阻式随机存取存储器(resistive random access memory,RRAM)等等的非易失性存储器作为存储单元的芯片或封装。下文中,作为数据存储装置10的例子将描述快闪存储器芯片。
如图1中所示,数据存储装置10可以直接连接到主机装置60,主机装置60控制数据存储装置10。在执行用于获得编码目标数据20的读操作时,本实施例的主机装置60可以生成命令并将该命令提供给数据存储装置10,以执行对编码目标数据20的读操作。
根据命令的功能,该命令可以被称为第一命令、第二命令或第三命令等等,第一命令用于执行对数据的读操作、该第二命令用作用于确定数据存储装置10的编码模式的开始信号,该第三命令用于同时地执行对数据的读操作和确定编码模式。
数据存储装置10响应于第二命令或第三命令的输入,自主地确定在稍后输出数据时将应用的编码模式。因此,第二命令或第三命令的输入仅仅用作内部编码模式确定过程的开始信号,而编码模式不是按照该命令所指定的那样来确定的。
换句话说,输入到数据存储装置10的与编码模式确定相关的命令不直接定义或指示数据存储装置10的编码模式。此外,每次输入与开始编码模式确定相关的命令时,数据存储装置10并非一定改变编码模式。如上所述,由于数据存储装置10自主地确定编码模式,所以即使通过破解(hacking)获得从数据存储装置10输出的数据,也很难识别出该数据是否是可校正的数据,从而提供了安全性优势。
数据存储装置10的编码模式指示将对从存储器输出的数据的多少百分比进行编码。例如,作为数据存储装置10的编码模式,可以存在两种模式,即对数据的20%进行编码的编码模式A以及对数据的70%进行编码的编码模式B。当输入第二命令或第三命令时,数据存储装置10自主地确定编码模式A和编码模式B之一作为其自己的编码模式。
此外,在另一个实施例中,作为数据存储装置10的编码模式,可以存在两种模式,即,执行旁路(bypass)从而不对数据进行编码的编码模式C以及对数据进行编码的编码模式D。当输入第二命令或第三命令时,数据存储装置10可以自主地确定编码模C和编码模式D之一作为其自己的编码模式。
在一个实施例中,数据存储装置10的编码模式可以确定将使用具有不同数据编码比率的多个编码模块当中的哪个模块。具体来说,数据存储装置10的编码模式可以包括这样的编码模式:其使用用于对数据编码从而使已编码数据能够通过主机中的解码方法进行校正的编码模块,以及这样的编码模式:其使用用于对数据编码从而使已编码数据不能通过主机中的解码方法进行校正的编码模块。
在数据存储装置10输出编码目标数据时,第二命令或第三命令可以被输入到数据存储装置10多次,从而切换输出数据的编码模式。编码目标数据20可以指所有类型的数字数据,例如用于验证数据存储装置10的验证信息,如数据存储装置10的识别信息。
将描述主机装置60向数据存储装置10提供用于对数据进行编码的命令的方法。
首先,将描述每当输出编码目标数据20时都将编码目标数据20分割成两个或更多个片段、并且随机切换应用于每个片段的编码模式的方法。
主机装置60交替地生成第一命令和第二命令,以便输出编码目标数据20的片段。
当接收到第一命令时,数据存储装置10根据响应于第二命令确定的编码模式,编码并输出编码目标数据20的一部分。响应于第二命令的输入,数据存储装置10生成模式确定数据(用于模式确定),并且基于模式确定数据确定用于对稍后将输出的数据进行编码的编码模式。数据存储装置10可以生成随机数据作为模式确定数据,并且该随机数据可以由随机数据生成器生成,该随机数据生成器能够设置创建特定值的概率。
稍后将参照图14到图18描述接收了第一命令和第二命令的数据存储装置10的操作。
接下来,主机装置60可以顺序地生成第三命令两次或更多次,以输出编码目标数据20的片段。响应于第三命令的输入,数据存储装置10生成模式确定数据,并且根据基于模式确定数据确定的编码模式,编码并输出编码目标数据20的一部分。在第三命令被输入一次时输出的数据的量,可以由第三命令中包括的地址确定,或者可以通过与主机连接而预先确定。稍后还将参照图19和图20描述接收了第三命令的数据存储装置10的操作。
当接收到第一命令和第二命令时、或者当接收到第三命令时,从数据存储装置10输出的编码目标数据20的片段可以具有相同的数据。换句话说,编码目标数据20可以通过连接多个相同的数据片段来形成。当接收到第一命令和第二命令时、或者当接收到第三命令时,数据存储装置10可以逐个地编码并输出数据片段中的每一个。在这种情况下,每当输入第一命令和第二命令、或者每当输入第三命令时,输出的数据片段可以根据编码模式而有所不同。
接下来,将描述数据存储装置10重复地输出编码目标数据20的方法。
数据存储装置10响应于第一命令或第三命令输出编码目标数据20。在接收到第一命令的情况下,优选地,数据存储装置10接收第二命令,从而能够在输出编码目标数据20之前随机地切换编码模式。
重复地输出编码目标数据20的数据存储装置10被配置成,尽管输出数据存储在相同地址的数据,每次输出数据时也会输出不同的数据。因此,起到了避免输出数据被不公正地校正的作用。
下文中,除非特别提及,否则数据存储装置10被配置成将编码目标数据20分割成数据片段并输出数据片段。
将参照图2描述根据另一个实施例的计算系统。本实施例的计算系统80可以包括主机装置60、控制器40和数据存储装置10。本实施例的数据存储装置10可以电连接到控制数据存储装置10的控制器40。此外,控制器40可以连接到主机装置60。也就是说,数据存储装置10可以经由控制器40在主机装置60的控制下工作。
当执行对编码目标数据的读操作时,主机装置60可以向控制器40提供一个读请求,或者向控制器40提供对于编码目标数据的片段的两个或更多个的读请求。
在主机装置60提供对于数据片段的多个读请求的情况中,控制器40向数据存储装置10传送所述读请求。也就是说,控制器40响应于所述读请求生成第三命令,并且将第三命令提供给数据存储装置10。响应于第三命令的输入,数据存储装置10生成模式确定数据,并且根据基于模式确定数据确定的编码模式编码并输出编码目标数据20的一部分。可以经由控制器40将输出数据提供给主机装置60。
在当执行读操作时主机装置60向控制器40提供一个读请求的情况下,接收到该读请求的控制器40可以顺序地生成第三命令两次或更多次,以输出编码目标数据20的片段,或者可以交替地生成第二命令和第一命令,以输出编码目标数据20的片段。在这种情况下,响应于第三命令的输入,数据存储装置10生成模式确定数据,并且根据基于模式确定数据确定的编码模式,编码并输出编码目标数据20的一部分。此外,当接收到第一命令时,数据存储装置10根据基于响应于第二命令生成的模式确定数据确定的编码模式,编码并输出编码目标数据的一部分。
图1到图2中示出的数据存储装置10可以通过在数据存储装置10中提供的输入/输出(I/O)端(管脚或球(未示出))接收第一命令和第二命令,或者接收第三命令。根据功能,可以存在各种输入/输出端,例如通过其发送和接收输入/输出数据的I/O端,用于识别通过I/O端输入的数据是命令还是地址的命令锁存端和地址锁存端,以及用于确定通过I/O端的输入/输出定时的读使能端和写使能端,等等。
具体来说,通过在数据存储装置10中提供的I/O端输入用于识别命令的数据。为了确定通过I/O端输入的数据是命令,可以通过命令锁存端和地址锁存端施加适当的信号。同时,可以通过写使能端施加适当的信号,以确定通过I/O端的输入定时。在这点上,稍后将参照图16给出详细描述。
第一命令或第三命令可以包括地址相关信息。在这种情况下,数据存储装置10可以输出与第一命令或第三命令中包括的地址相对应的数据。
将参照图3详细描述根据实施例的数据存储装置10的配置和操作。如图3中所示,数据存储装置10可以包括存储器单元12、控制单元14和编码单元16。
控制单元14译码输入命令并根据译码结果提供内部读信号18和内部触发信号19中的至少一个。控制单元14包括用于译码输入命令的命令译码器140,并且可以仅仅输出内部读信号18、输出内部读信号18和内部触发信号19两者、或者仅仅输出内部触发信号19。此处,用于仅仅输出内部读信号18的命令被称为第一命令,用于仅仅输出内部触发信号19的命令被称为第二命令,并且用于输出内部读信号18和内部触发信号19两者的命令被称为第三命令。
响应于内部读信号18,存储器单元12输出编码目标数据20的一部分。数据存储装置10可以将编码目标数据20的一部分或片段输出两次或更多次,并且在输出数据片段时将编码单元16的编码模式切换一次或多次。
存储器单元12从控制单元14接收内部读信号18,并将编码目标数据20的一部分输出到编码单元16。
存储器单元12可以被配置为包括快闪存储单元的单元阵列。单元阵列可以包括各种类型的存储单元。例如,单元阵列可以包括NAND快闪存储单元或NOR快闪存储单元,或者可以包括NAND快闪存储单元和NOR快闪存储单元两者。
存储器单元12的单元阵列可以二维地形成或者三维地形成。
在存储器单元12的每个存储单元中存储的数据比特数可以变化。例如,存储器单元12可以包括单电平快闪存储单元(single-level flash memory cell,SLC),每个单元存储一比特数据,或者存储器单元12可以包括多电平快闪存储单元(multi-level flashmemory cell,MLC),每个单元存储多比特数据。此外,存储器单元12可以包括单电平快闪存储单元和多电平快闪存储单元两者。
可以在存储器单元12中分配用于存储编码目标数据20的安全区域120。安全区域120可以被分配到具体的地址区域,并且该地址区域可以被分配到单元阵列中的特定块。图7中图示了安全区域被分配到块0到块2的安全区域分配示例。
在从存储器单元12提供在安全区域120之外的区域中存储的数据的情况下,即使处于编码模式的开启状态(on-state),编码过程16也可以输出从存储器单元12提供的数据而绕过编码单元。因此,即使输入了请求对安全区域120之外的区域中存储的数据进行编码的命令,编码单元16也可能不执行数据编码。
其中存储编码目标数据20的安全区域120可以由单电平单元(SLC)形成,并且除了安全区域120之外的一般区域可以由多电平单元(MLC)形成。
此外,安全区域120可以包括多个部分(section)。可以向存储在各个部分中的数据应用不同的编码策略。如图7中所示,例如,编码策略1可以应用于存储在块0中的数据,编码策略2可以应用于存储在块1中的数据,并且编码策略3可以应用于存储在块2中的数据。因此,如果控制单元14接收的命令未指示编码策略,则控制单元14可以向编码单元16提供编码策略改变信号,以便应用与存储编码目标数据20的块相对应的编码策略。例如,在图7中示出的存储器单元12的配置中,如果编码目标数据20存储在块2中,则控制单元14可以提供编码策略改变信号,以向编码单元16应用编码策略3。稍后将详细描述接收到编码策略改变信号的编码单元16的操作。
编码策略确定应用特定编码模式的比率。例如,在编码模式A是在主机60或控制器40中不能校正已编码数据的编码模式、编码模式B是在主机60或控制器40中能够校正已编码数据的编码模式的情况中,编码模式B的比率为70%的编码策略意味着,主机或控制器一般能够校正从数据存储装置10输出的10个已编码数据中的7个。
编码单元16根据编码模式编码并输出从存储器单元12提供的数据。
编码单元16的编码模式可以在内部自主地确定用于对数据进行编码的模块的类型。例如,在第一编码模式中,可以使用用于对输入数据的30%进行编码的模块,并且在第二编码模式中,可以使用用于对输入数据的70%进行编码的模块。可替换地,在第一编码模式中,可以使用用于对输入数据进行编码的模块,并且在第二编码模式中,可以使用用于不编码而直接输出输入数据的模块。也就是说,编码单元16的编码模式可以指对输入数据的编码比率。
编码单元16可以响应于内部触发信号19自主地确定编码模式。内部触发信号19也不指示编码模式。更具体地,当接收到内部触发信号19时,编码单元16使用内部触发信号19作为开始信号来生成模式确定数据。此外,编码单元16基于模式确定数据确定用于对从存储单元提供的数据进行编码的编码模式。如上所述,内部触发信号19仅仅被用作用于确定编码单元16的编码模式的开始信号,其不直接影响对编码单元16的编码模式的确定。
编码单元16可以通过随机数据生成方法自主地确定其自己的编码模式。也就是说,编码单元16可以响应于内部触发信号19,生成第一随机数据作为模式确定数据。然而,由于应当对编码目标数据进行编码以满足特定编码策略,所以编码单元16可以以期望的(或者可替换地,预定的)概率生成第一随机数据。例如,随机数据生成器可以被设置为随机地生成指示第一编码模式的‘0’和指示第二编码模式的‘1’中的一个,以使生成‘0’的概率为70%。在随机生成模式确定数据时生成特定值的概率已定义的情况下,可以在随机改变编码目标数据的编码输出样式的同时,满足与数据的编码比率相关的编码策略。换句话说,因为模式确定数据的数据样式根据编码策略随机地变化,所以编码输出样式也根据编码策略随机地变化。
编码单元16还可以根据所选择的编码模式生成第二随机数据。第二随机数据可以被用于对从存储器单元12提供的数据进行编码。例如,编码单元16将来自存储器单元12的数据与第二随机数据进行逻辑运算,以对该数据进行编码,并输出已编码数据。该逻辑运算可以是,例如,异或(exclusive OR)运算、逻辑运算的组合,等等。响应于多个内部读信号从编码单元16输出的多个数据片段可以构成编码目标数据20的已编码数据30。
本实施例的数据存储装置10可以通过输入第二命令或第三命令两次或更多次,根据编码策略改变输出数据的编码。将参照图4对此进行详细描述。
让我们假定编码目标数据20被分割成十个将被读取的片段,并且以固定间隔将第三命令输入到数据存储装置10十次。并且,假定主机60或控制器40的可校正限制比率(correctable limit ratio)为已编码数据的百分之四十。可校正限制比率是指例如使用纠错码(ECC)能够校正的已编码数据的最大编码比率。
假定在编码模式A中使用用于对数据的20%进行编码的编码模块,并且在编码模式B中使用用于对数据的80%进行编码的编码模块。换句话说,根据编码模式A编码并输出的数据是可校正的已编码数据,并且根据编码模式B编码并输出的数据是不可校正的已编码数据——本质上是噪声数据。此外,假定在输入第三命令时,根据编码策略选择编码模式A的概率是70%。
在这种情况下,如图4的右侧所示,可以看到在各轮中编码样式是不同的,但是输出可校正已编码数据的概率保持在70%。由于编码模式的确定取决于在编码单元16中生成的第一随机数据,所以在上述条件下输出可校正已编码数据的概率可能稍稍不同于70%。然而,所述差异可以通过执行多轮来克服。此外,可以配置随机数生成,以使得可校正编码模式被选择至少一次并且不多于最大次数。换句话说,通过随机数生成产生与编码样式对应的数据样式(data pattern),从而使该数据样式指示可校正编码模式至少一次并且不多于最大次数。最大次数可以对应于编码策略。例如,如果编码策略为70%,则根据可校正的编码模式,对10个片段中的不多于7个片段进行编码。换言之,所生成的指示编码模式的数据样式是以编码策略为基础的。
图4中示出的编码目标数据20可以在十个片段中包括相同的数据。也就是说,编码目标数据(coding target data)20可以通过连接具有相同数据的两个或更多个片段来形成,并且数据存储装置10可以输出编码目标数据20的片段。
在编码目标数据20是通过连接具有相同数据的多个片段形成的情况中,数据存储装置10将相同的数据片段编码并输出多次。在这种情况下,编码策略和编码模式在相应片段被输出之前确定,并且根据所确定的编码模式编码并输出数据片段。数据片段的编码样式也可以在每轮中不同,但是每轮中可校正的已编码数据片段的比率可以被确定为相同。
可替换地,根据实施例的数据存储装置10可以在能够通过相同地址访问的相同区域存储编码目标数据。在这种情况下,数据存储装置10可以接收第三命令多次。根据基于在编码单元16中生成的模式确定数据的所选择的编码模式对编码目标数据进行编码。然而,由于每次输出编码目标数据时都确定编码模式,所以尽管输出在相同区域中存储的编码目标数据,但本实施例的数据存储装置10可以根据编码模式而输出不同的已编码数据。
再次参照图4,将编码目标数据20输出多次的数据存储装置10可以接收与编码目标数据20的输出次数相同数量的命令。例如,如果编码目标数据20被输出十次,则数据存储装置10可以接收第一命令和第二命令两者十次或者接收第三命令十次。
另一方面,即使在第三命令被输入一次时,数据存储装置10也可以将编码目标数据20输出多次。对于本操作,接收了该第三命令的控制单元14可以分别将内部读信号18和内部触发信号19输出到存储器单元12和编码单元16多次,该次数等于编码目标数据20的输出次数,以便输出所有编码目标数据20。
如上所述,在根据实施例的数据存储装置10中,在保持输出可校正已编码数据的概率的同时,每次随机地改变编码样式。从而,在保持安全性的同时,可以从已编码数据校正得到从数据存储装置10读取的数据。
如上面所解释的,编码单元16可以具有两个或更多个编码模式。然而,为了便于理解,将作为例子描述编码单元16具有两个编码模式的情况。
如图3中所示,编码单元16可以包括:编码器168,其根据编码模式处理从存储器单元12提供的数据,以及编码确定单元160,其响应于内部触发信号19生成模式确定数据,基于模式确定数据确定编码模式,并且向编码器168提供用于以确定的编码模式操作编码器168的编码器控制信号。
编码确定单元160可以在每次接收到内部触发信号19时向编码器168提供编码器控制信号。可替换地,编码确定单元160可以在自主确定的编码模式不同于编码器168的当前编码模式时,向编码器168提供用于切换编码模式的编码器控制信号。也就是说,编码确定单元160可以仅仅在必需切换编码器168的编码模式时才向编码器168提供编码器控制信号。在这种情况下,由于编码器168接收最小次数的控制信号,所以可以提高操作效率。
将参照图5详细描述编码确定单元160的配置和操作。编码确定单元160可以包括编码策略列表加载单元164,用于在向数据存储装置10施加电力之后从编码策略列表存储单元163加载关于编码策略的数据。编码确定单元160还包括编码模式确定部分161和编码器控制信号生成器162,编码模式确定部分161用于在内部触发信号19被输入时自主地确定编码模式,而编码器控制信号生成器162用于生成用于以根据编码模式确定部分161确定的编码模式控制编码器168的编码器控制信号。
编码策略列表加载单元164从编码策略列表存储单元163加载关于编码策略的数据。编码策略列表加载单元164可以在向数据存储装置10施加电力之后执行加载操作。可替换地,编码策略列表加载单元164可以在向数据存储装置10施加电力之后,响应于从主机装置或控制器输入的特定命令执行加载操作。编码策略列表加载单元164可以包括寄存器,以作为用于存储加载的数据的易失性存储装置。
在图6中图示了根据实施例的编码策略列表。可以仅存在一个编码策略。可以存在两个或更多个编码策略,其中之一被选择和应用。在存在两个或更多个编码策略的情况下,数据存储装置10可以使用控制器40或主机装置60指定的编码策略,或者可以自主地确定编码策略。
图6图示了选择和使用编码策略之一的例子。例如,在编码策略1被选择的情况下,可校正的编码的比率是40%。如果编码确定单元160接收到内部触发信号19十次,则用于对数据进行可校正编码的编码模块可以被选择大约四次。
为了改变应用到编码单元16的编码策略,数据存储装置10可以接收与设置编码策略相关的命令。也就是说,在这种情况下,控制单元14译码输入命令,并根据译码结果输出内部读信号、内部触发信号和编码策略改变信号中的至少一个。此外,编码单元16从控制单元14接收编码策略改变信号并改变编码策略。
也就是说,在向数据存储装置10施加电力之后,编码策略列表被加载,并且外部命令被输入以设置在编码策略列表中包括的编码策略之一。然后,编码单元16基于所设置的编码策略的可校正编码比率生成模式确定数据。
如图5中所示,可以在编码确定单元160外部分离地提供编码策略列表存储单元163。例如,编码策略列表存储单元163可以是作为存储器单元12的特定块的电子熔丝(E-fuse)块。并且,编码策略列表存储单元163可以是在数据存储装置10中与存储器单元12分离地提供的电子熔丝块。在向数据存储装置10施加电力之后,对电子熔丝块中存储的编码策略数据执行初始读操作。可以在编码策略列表加载单元164中加载通过初始读操作读取的编码策略数据。
由于电子熔丝块中存储的数据可以在电子熔丝数据加载模式中更新,所以编码策略数据也可以被更新。换句话说,编码策略存储单元163可以是任何可编程设备,并且在其中存储的一个或多个编码策略可以是基于用户输入可编程的。
当输入了内部触发信号19时,编码模式确定部分161激活随机数据生成器165,以便基于所设置的编码策略的比率生成随机数据。也就是说,随机数据生成器165可以生成随机数据,以便以编码策略所定义的比率,生成指示用于对数据进行可校正编码的编码模式的值。如果内部触发信号19被输入一次,则随机数据生成器165生成模式确定数据一次。随机数据生成器165可以是硬件实现,编程有随机数生成算法的处理器,等等。
如果存在编码模式A和编码模式B,则可以选择编码模式A和编码模式B中的一个。例如,如果生成‘0’,则选择编码模式A;并且如果生成‘1’,则选择编码模式B。
然后,编码器控制信号生成器162根据模式确定数据生成并输出用于控制编码器168的编码器控制信号。
将进一步解释编码确定单元160通过随机数据生成来确定编码器的编码模式的方法。
如上所述,基于编码策略生成模式确定数据可以通过生成随机数据、从而以特定概率生成指示用于对数据进行可校正编码的编码模式的值来执行。为了解释方便,由编码确定单元160生成的随机数据被称为“第一随机数据”。
尽管编码确定单元160以相等间隔接收相同次数的内部触发信号19,但用以确定编码器168的编码模式的数据是第一随机数据。因此,由于生成随机数据的特点,在特定地址存储的特定数据是否被可校正地编码可以在每个读操作有所变化。换句话说,在其中数据被可校正地编码的、从数据存储装置10输出的数据的区域可以在每次读操作发生变化。换言之,由于可以在每个读操作改变在数据存储装置10的特定区域存储的特定数据的输出数据,所以使黑客很难识别某些数据是否能够被校正。因此,在本实施例的数据存储装置10中,由于编码确定单元160基于第一随机数据来确定编码器168的编码模式,所以可以改变其中数据被可校正地编码的编码目标数据20的区域的位置。
生成第一随机数据的随机数据发生器165可以是可编程的,从而使生成特定数据(例如,指示特定编码模式的特定数据)的概率是可编程的。
下文中,将参照图8到图13描述编码器168的配置。
首先,编码器168可以包括用于对从存储器单元12提供的数据进行编码的多个编码模块。图8图示了包括两个编码模块169和170的编码器168的例子。从存储器单元12输出的数据被提供给两个编码模块169和170。根据从编码确定单元160提供的编码器控制信号,两个编码模块169和170中的仅仅一个编码模块被使能。然后,通过MUX(复用器)171输出从被使能的编码模块提供的已编码数据。在这种情况下,编码模块以不同的编码比率执行对输入数据的编码。每个编码模块169、170的编码比率可以是基于用户输入可编程的。换句话说,用户可以改变编码模块169、170中的一个或多个的编码比率。并且,编码器168可以被配置成关断编码模块169、170中未被选择的编码模块的电力。尽管在图8中MUX 171位于编码模块的下游侧,但是MUX 171也可以位于存储器单元12和编码模块之间。
多个编码模块可以包括一个或多个A类型编码模块以及一个或多个B类型编码模块,其中A类型编码模块用于以等于或低于主机或控制器的可校正限制比率的比率对输入数据进行编码,而B类型编码模块用于以高于可校正限制比率的比率对输入数据进行编码。例如,如果主机装置或控制器的可校正限制比率是30%,则编码模块169可以是A类型编码模块,用于对数据的20%进行编码,并且编码模块170可以是B类型编码模块,用于对数据的70%进行编码。
也就是说,图8中示出的编码器168在编码确定单元160的控制下使用A类型编码模块和B类型编码模块中的一个对数据进行编码并将其输出。
图9图示了编码器168,其在编码确定单元160的控制下,对从存储器单元12提供的数据执行编码、或者输出该数据而绕过编码器。图9中示出的编码器168包括用于对输入数据进行编码的编码模块172和用于将从存储器单元12提供的数据输出到MUX 171的旁路总线(bypass bus)173。编码器168根据所确定的编码模式,在编码确定单元160的控制下,激活编码模块172和旁路总线173中的一个。例如,编码模块172可以执行对从存储器单元12提供的数据的编码。可以在高于可校正限制比率的范围内不同地设置编码模块172的编码比率。编码模块172的编码比率可以是基于用户输入可编程的。换句话说,用户可以改变编码模块172的编码比率。同时,编码器168可以被配置成在编码模块172未被选择时关断编码模块172的电力。
在图9中示出的编码器168可以在编码确定单元160的控制下,对从存储器单元12提供的数据执行编码,或者通过绕过编码器而输出未编码的数据。
尽管在图9中MUX 171位于编码模块172的下游侧,但是MUX 171也可以位于存储器单元12和编码模块172之间。
同时,编码器168可以包括一个可编程编码模块,以取代多个编码模块。图10图示了具有可编程编码模块174的编码器168。可编程编码模块174可以设置输入数据的编码比率。
图10中示出的编码器168根据所确定的编码模式,在编码确定单元160的控制下设置可编程编码模块174的编码比率。在图10中示出的编码器168还可以在用于对数据进行可校正编码的编码模式和用于对数据进行不可校正编码的编码模式之间切换编码模式。也就是说,编码器168可以在第一编码模式中,将可编程编码模块174的编码比率设置在等于或低于可校正限制比率的第一编码比率,或者可以在第二编码模式中,将可编程编码模块174的编码比率设置在高于可校正限制比率的第二编码比率。编码器168可以是用户可编程的,以便设置在配置可编程编码模块174以用于不同编码模式时所使用的编程比率。
根据实施例的编码器168可以包括多个随机数据生成器,以取代多个编码模块169和170。图11图示了编码器168包括两个随机数据生成器175和176的例子。根据从编码确定单元160提供的编码器控制信号,两个随机数据生成器175和176中的仅仅一个随机数据生成器被使能。然后,编码器168输出对从被使能的随机数据生成器提供的数据和从存储器单元12提供的数据进行逻辑运算180的结果。多个随机数据生成器具有生成在执行逻辑运算之后保持来自存储器单元12的数据的操作数的不同概率。所述逻辑运算可以包括AND(与)、OR(或)、XOR(异或)、NOR(或非)、NAND(与非)运算、它们的组合、等等。
保持数据的操作数是指这样的数据:该数据具有的值在执行逻辑运算之后保持来自存储器单元12的数据的值。例如,如果保持数据的操作数是“E”,并且逻辑操作是XOR,则对于任何操作数A,得到“A XOR E=A”。
换句话说,如果在ON(接通)状态下在随机数据生成器175或176中生成保持数据的操作数的概率是X%,则在这种情况下,从编码器168输出的数据的X%可以与来自存储器单元12的原始数据相同,并且从编码器168输出的数据的(100-X)%可以不同于来自存储器单元12的原始数据。因此,能够理解到,生成用于逻辑运算180的保持数据的操作数的概率与编码比率相关。每个随机数据生成器175、176产生的编码比率可以是基于用户输入可编程的。换句话说,用户可以改变随机数据生成器175、176中的一个或多个所产生的编码比率。
所述多个随机数据生成器可以包括一个或多个A类型随机数据生成器以及一个或多个B类型随机数据生成器,其中A类型随机数据生成器用于生成以高于可校正限制比率的比率保持输入数据中的数据的操作数,而B类型随机数据生成器用于生成以等于或低于可校正限制比率的比率保持输入数据中的数据的操作数。也就是说,多个随机数据生成器可以被分类为用于对数据进行可校正编码的A类型和用于对数据进行不可校正编码的B类型。
如图12中所示,编码器168可以包括A类型随机数据生成器175和保持数据的操作数输出部分178。编码器168可以根据所确定的编码模式,在编码确定单元160的控制下,对从存储器单元12提供的数据以及从A类型随机数据生成器175和保持数据的操作数输出部分178之一提供的数据执行逻辑运算,并输出逻辑运算的结果。图12中示出的编码器168以与图9中示出的编码器168相同的方式,在编码确定单元160的控制下,对从存储器单元12提供的数据进行编码,或者输入该数据而绕过编码器。可替换地,图12中的编码器168可以具有旁路总线,以取代保持数据的操作数输出部分178,通过该旁路总线输出来自存储器单元12的数据而不进行逻辑运算。随机数据生成器175可以是用户可编程的,以生成产生特定编码模式或编码量的随机数据。并且随机数据生成器175可以在未被选择时被关断。
如图13中所示,编码器168可以包括可编程随机数据生成器179,以设置生成用于特定逻辑运算的保持数据的操作数的概率。编码器168可以根据所确定的编码模式设置可编程随机数据生成器179的生成保持数据的操作数的概率,并且输出对从存储器单元12提供的数据以及从可编程随机数据生成器179提供的数据进行特定逻辑运算180的结果。
图13中示出的编码器168可以以与图10中示出的编码器168相同的方式,在用于对数据进行可校正编码的编码模式和用于对数据进行不可校正编码的编码模式之间,切换编码模式。也就是说,编码器168可以在第一编码模式下将可编程随机数据生成器生成保持数据的操作数的概率设置在高于可校正限制比率的第一编码比率,或者可以在第二编码模式中将可编程随机数据生成器生成保持数据的操作数的概率设置在等于或低于可校正限制比率的第二编码比率。编码器168可以是用户可编程的,以便设置在配置用于不同编码模式的可编程随机数据生成器179时所使用的编程比率。
已经作为例子举例说明了图8到图13中示出的编码器168,编码器168可以被配置为期望的(或者可替换地,预定的)加扰逻辑电路。
本实施例的数据存储装置10可以交替地接收第一命令和第二命令以输出编码目标数据20。在这种情况下,数据存储装置10可以每次对于期望(或者可替换地,预定)大小的将被输出的数据接收触发命令作为第二命令,或者可以接收第二命令期望的(或者可替换地,预定的)次数以输出全部编码目标数据20。
本实施例的数据存储装置10可以接收第三命令两次或更多次以输出编码目标数据20。在这种情况下,数据存储装置10可以每次对于期望(或者可替换地,预定)大小的数据接收第三命令,或者可以接收第三命令期望的(或者可替换地,预定的)次数以输出全部编码目标数据20,所述期望的次数等于触发的数量。
下文中,将参照图14到图18详细描述交替地接收第一命令和第二命令以输出编码目标数据20的一部分的数据存储装置10的操作。
为了再次描述第一命令和第二命令,该第一命令类似于传统的读命令,因为其被控制单元14译码并以内部读信号18的形式被传送到存储器单元12,并且该第二命令被控制单元14译码并且以内部触发信号19的形式被传送到编码单元16。
数据存储装置10,具体来说是控制单元14交替地接收第一命令和第二命令。也就是说,在输入了第一命令之后,输入第二命令,并且在输入了第二命令之后,输入第一命令。然而,优选地,在输出编码目标数据20时,控制单元14最后接收第一命令。如果最后的命令是第二命令,则第二命令的输入是无意义的,因为不再有剩余的输出数据。
控制单元14可以最初接收第二命令。例如,控制单元14可以顺序地且交替地接收第二命令、第一命令、第二命令和第一命令。控制单元14也可以最初接收第一命令。例如,控制单元14可以顺序地且交替地接收第一命令、第二命令、和第一命令。
简言之,在输出编码目标数据20时,控制单元14可以交替地接收第二命令和第一命令,使得第二命令或者第一命令是初始命令,并且优选地,第一命令是最后的命令。
图14是用于解释数据存储装置10的操作的时序图,该数据存储装置10交替地接收第一命令READ和第二命令TR。
在根据紧邻的前一第一命令602完成了数据输出622之后,通过I/O管脚输入第二命令604。响应于第二命令604的输入,控制单元14向编码单元16提供内部触发信号19,并且编码单元16根据第一随机数据自主地确定编码单元16的编码模式,以便在输入下一个第一命令602时用于下一个编码。在该自主确定中,如果确定有必要切换编码单元16的编码模式,则编码单元16在接收内部触发信号19之后完成该切换所需的时间用tSW 607表示。
如上所述,即使输入了第二命令604编码单元16也可能根据模式确定数据不切换编码模式。在图14中,编码单元16在第一次输入第二命令604之后切换编码模式,而编码单元16在第二次输入第二命令604之后不切换编码模式。
如图15中所示,第一命令602可以具有两个周期。也就是说,第一命令602可以包括读开始命令00h和读确认命令30h。此外,在读开始命令和读确认命令之间可以包括将被输出的数据的地址信息。当读使能(RE)管脚的信号被翻转(toggle)时,响应于第一命令602的输入从数据存储装置10输出的数据的地址增加。
图16是用于解释根据实施例的、交替地接收第一命令READ和第二命令TR的数据存储装置中编码单元切换操作的最大容许时间的时序图。
当写使能(WE)信号变高时,通过数据存储装置10的I/O管脚输入的命令被锁存。如在快闪存储器芯片中所确定的那样,当WE信号变高时通过I/O管脚输入的数据的类型可以通过施加到命令锁存管脚CMD和地址锁存管脚ALE的信号状态来识别。
如图16中所示,在响应于紧邻的前一第一命令的输入完成了数据输出之后,在信号的上升沿输入通过I/O管脚输入的第二命令(S700)。在这种情况下,控制单元14向编码单元16提供内部触发信号19(S701)。然后,在快闪存储器芯片中确定的定时,在信号的相应上升沿S702、S704和S706,顺序地输入命令00h、地址、命令30h。然后,执行根据第一命令602的数据输出。优选地,在输入第二命令604之后,在响应于下一个第一命令602的输入执行数据输出之前,执行编码单元16的切换操作。也就是说,tSW607的最大容许时间MAXtSW是S700的时间点与S708的时间点之间的时间段。
如图16中所示,可以看到,能够在执行编码单元16的切换操作之前确保充足的时间。
图17是用于解释根据实施例的数据存储装置10的操作的时序图,该数据存储装置10交替地接收第一命令READ和第二命令TR,该第一命令READ用于输出具有相同大小的编码目标数据的片段。
如图17中所示,根据第一命令602从存储器单元12输出的编码目标数据片段620、622、624和626可以具有相同的大小。通过最后的第一命令602从存储器单元12输出的编码目标数据片段可以具有不同于其他编码目标数据片段的大小,因为最后输出用于数据输出的剩余数据。
也就是说,可以以固定的地址间隔输入第二命令604。能够看出,在第一次输入第二命令(S900)时编码单元16的编码模式从B状态切换到A状态,但是在第二次输入第二命令(S902)和第三次输入第二命令(S904)时编码单元16未切换编码模式。在第四次输入第二命令(S906)时编码单元16再次切换编码模式。如上所述,在根据重新读取存储在相同区域中的编码目标数据的请求再次输出数据的情况下,编码单元16可以与图17不同地切换编码模式。
如图18中所示,数据存储装置10可以交替地接收第二命令604和第一命令602,该第一命令602用于输出具有不同大小的编码目标数据20的片段。根据第一命令602从存储器单元12输出的编码目标数据片段630、632和634的大小可以互不相同。图18图示了编码单元16在第一次输入第二命令(S910)、第二次输入第二命令(S912)和第三次输入第二命令(S914)时都切换编码模式的情况。根据编码单元16自主确定的编码模式,图18中示出的编码模式切换情况可以每次都不同。
如上所述,当接收到第二命令或第三命令时,数据存储装置10可以切换编码单元16的编码模式,或者也可以不切换编码单元16的编码模式。然而,为了切换编码单元16的编码模式,要输入第二命令或第三命令。此外,在根据从主机装置60输入的读请求输出编码目标数据时,数据存储装置10切换编码单元16的编码模式至少一次。根据至少实施例的数据存储装置10可以通过执行上述操作来执行输出已编码数据的功能。此外,通过从外部输入的第二命令或第三命令来执行编码模式之间的切换。因此,可以避免由于编码模式间切换的延迟所致的一部分数据被异常编码或者一部分数据未被编码而输出。
下文中,将参照图19和图20描述数据存储装置10的操作,该数据存储装置10接收第三命令两次或更多次以输出编码目标数据20。
控制单元14在接收到第三命令606时输出内部读信号18和内部触发信号19。因此,能够理解到,第三命令606是通过组合第一命令602和第二命令604形成的命令。
图19图示了第三命令606不包括地址信息的情况。尽管在第三命令606中不包括地址信息,但是为了输出编码目标数据20的片段,数据存储装置10可以被操作为:响应于第三命令606的输入,输出具有期望(或者可替换地,预定)大小的数据。可替换地,数据存储装置10可以被操作为:响应于第三命令606的输入,从紧邻的前一输出结束点继续数据输出,并在下一次输入第三命令606时临时停止数据输出。
数据存储装置10响应于第三命令606的输入执行用于确定编码单元16的编码模式的操作和用于准备将从存储器单元12输出的数据的操作。在读使能(RE)管脚的信号被翻转的时间点,数据实际从存储器单元12输出(见图16)。
因此,在内部触发信号19响应于第三命令606的输入而被传送到编码单元16的时间点和数据响应于第三命令606的输入而被从存储器单元12输出的时间点之间存在时间差。因此,如果在根据与内部触发信号19一起提供的内部读信号18从存储器单元输出数据之前,编码模式被切换到根据内部触发信号19自主确定的编码模式,则编码单元可以支持根据响应于第三命令606的输入而确定的编码单元16的编码模式,输出已编码数据或未编码数据。
与图19的情况不同,图20图示了在输入第三命令606之后,分离地输入将被输出的数据的地址的情况。通过施加到命令锁存端和地址锁存端的信号状态,来将命令的输入和地址的输入相互区分开来。在这种情况下,数据存储装置10仅仅输出与在输入第三命令606之后分离地输入的地址信息相对应的数据。
下文中,将参照图21到图23描述根据各种实施例的数据存储系统50的配置。本实施例的数据存储系统50包括控制器40和数据存储装置10,控制器40用于响应于从外部设备输入的对于编码目标数据的读请求输出命令,数据存储装置10响应于从控制器40输入的命令工作。
数据存储系统50可以是诸如存储卡的卡。具体来说,本实施例的数据存储系统50可以是用来满足诸如移动电话、双向通信系统、单向寻呼器、双向寻呼器、个人通信系统、便携式计算机、个人数据助理(PDA)、音频和/或视频播放器、数码相机和/或摄像机、导航系统、全球定位系统(GPS)等等的电气设备中的工业标准的卡。然而,其不局限于此,并且根据实施例的数据存储系统可以以诸如记忆棒之类的不同的形式来配置。
首先,将参照图21描述根据实施例的数据存储系统50的操作。
本实施例的数据存储系统50的控制器40响应于对于编码目标数据20的一部分的读请求生成第三命令606。由于读请求是用于读取编码目标数据20的一部分的,所以控制器40需要接收读请求两次或更多次以输出全部编码目标数据20。数据存储装置10响应于第三命令606的输入生成与将被输出的数据的编码相关的模式确定数据。然后,数据存储装置10根据基于模式确定数据确定的编码模式,编码并输出编码目标数据20的一部分。由于已经描述了数据存储装置10根据第三命令606的操作,所以将省略对其的描述以免重复。
如果读请求包括触发类型,则控制器40可以生成包括触发类型的第三命令606。在这种情况下,如上所述,数据存储装置10响应于第三命令606的输入,根据与触发类型相对应的编码策略,自主地确定是否对数据进行编码。即使在读请求中不包括触发类型,控制器40也能够生成第三命令606,该第三命令606包括根据编码目标数据20的存储位置确定的触发类型。
下文中,将参照图22和图23描述根据另外的实施例的数据存储系统50的操作。
本实施例的数据存储系统50与图21中示出的数据存储系统的不同之处在于,为了输出全部编码目标数据20,仅仅需要向控制器40输入一个读请求。
首先,在图22示出的数据存储系统50中,响应于读请求的一次输入,控制器40输出第三命令606,以用于顺序地输出编码目标数据20的片段两次或更多次。例如,如图22中所示,用于输出数据片段的第三命令606可以是用于每次输出具有10KB(千字节)大小的数据的命令。如上所述,响应于用于输出数据片段的第三命令606的输入,数据存储装置10自主地确定编码模式,并且根据所确定的编码模式编码并输出编码目标数据20的片段。
关于当数据存储装置10自主地确定是否对数据进行编码时应用的编码策略的信息可以包括在读请求中。此外,为了与读请求分离地设置或改变编码策略,控制器40可以向数据存储装置10提供用于改变编码策略的命令。
尽管在读请求中不包括编码策略,但编码策略可以根据编码目标数据20的存储区确定(S40),并且根据确定的编码策略对编码目标数据进行编码。如图22中所示,如果编码目标数据20存储在向其应用类型1的编码策略的区域中,则即使读请求不包括关于编码策略的信息,控制器40也可以确定编码策略为类型1。
接下来,在图23示出的数据存储系统50中,响应于对于编码目标数据的读请求的输入,控制器40交替地输出第二命令和第一命令,以用于输出编码目标数据的片段。
如图23中所示,控制器40响应于读请求的输入,交替地输出第一命令602和第二命令604,该第一命令602用于输出具有10KB大小的编码目标数据20的片段。
如上所述,当交替地接收到用于输出数据片段的第一命令602和第二命令604时,数据存储装置10响应于第二命令604自主地确定编码模式,并根据所确定的编码模式编码并输出编码目标数据20的片段。
根据示例实施例,仅仅通过在从数据存储装置输出数据时向数据存储装置输入特定命令两次或更多次,能达到以增强的安全性对将被输出的数据进行编码的效果。
此外,响应于特定命令的输入执行在数据存储装置中对编码单元的编码模式的切换,并且在切换期间不执行数据输出。因此,存在充分确保切换编码单元的编码模式所需时间的效果。因此,可以避免因数据输出期间编码单元的编码模式切换所致的要求被不可校正编码的数据被可校正地编码,或者要求被可校正编码的数据被不可校正地编码。
此外,数据存储装置可以根据期望的(或者可替换地,预定的)编码策略,响应于特定命令的输入确定编码单元的编码模式,并且编码策略可以由外部设备定义。因此,编码方法可以由外部设备定义。
此外,已经被可校正地编码的数据在从数据存储装置输出的数据中的位置每次都不同,并且不输出原始数据。因此,可以避免输出的数据被不公正地解码。
尽管已经示出和描述了实施例,但本领域普通技术人员将会理解,可以对实施例进行形式和细节上的各种改变而不会脱离权利要求限定的本发明构思的精神和范围。
Claims (20)
1.一种编码数据的方法,包括:
基于用户输入分别改变一个或多个编码模式的编码比率;
响应于触发信号而生成满足编码策略的随机数据,该触发信号是通过对数据输入命令进行解码而生成的信号,并且所述编码策略指示选择多个编码模式中的每一个的概率;
基于所述随机数据从所述一个或多个编码模式当中自主选择编码模式;和
通过基于所选择的编码模式编码存储器单元的输出数据来产生编码数据。
2.根据权利要求1所述的方法,其中选择步骤包括:
使用随机生成器随机生成作为所述随机数据的编码模式指示符,编码模式指示符指示编码模式之一。
3.根据权利要求1所述的方法,其中所述编码模式中的至少一个是允许正确解码在接收所述编码数据的设备中的编码数据的模式,并且所述编码模式中的至少一个是不允许正确解码在接收所述编码数据的设备中的编码数据的模式。
4.一种编码数据的方法,包括:
响应于触发信号,生成满足编码策略的随机数据,所述触发信号是通过对数据输入命令进行解码而生成的信号,所述编码策略指示选择多个编码模式中的每一个的概率;
基于所述随机数据从所述多个编码模式中自主选择编码模式;和
通过根据选择的编码模式对从存储器输出的数据进行编码来产生编码数据。
5.根据权利要求4所述的方法,其中,对多个数据重复执行自动选择和生成步骤。
6.根据权利要求4所述的方法,还包括:
根据输入命令设置所述编码策略。
7.根据权利要求6所述的方法,还包括:
响应于改变命令设置不同的编码策略作为所述编码策略。
8.根据权利要求4所述的方法,其中还包括:
基于存储器中的数据的位置来设置所述编码策略。
9.根据权利要求8所述的方法,还包括:
响应于改变命令设置不同的编码策略作为所述编码策略。
10.根据权利要求4所述的方法,还包括:
从编码策略存储单元加载包括所述编码策略的编码策略的列表;和
从列表中选择所述编码策略。
11.根据权利要求10所述的方法,还包括:
响应于改变命令设置编码策略当中的不同的编码策略作为所述编码策略。
12.根据权利要求4所述的方法,其中
编码模式包括第一编码模式和第二编码模式;
响应于自主选择第一编码模式,编码数据是能正确解码的;
响应于自主选择第二编码模式,编码数据是不能正确解码的。
13.根据权利要求4所述的方法,其中所述编码策略指示选择所述编码模式的百分比。
14.根据权利要求12所述的方法,其中,所述选择编码模式包括:
基于所述编码策略配置随机生成器;和
使用所述随机生成器随机生成作为所述随机数据的编码模式指示符,所述编码模式指示符指示所述第一和第二编码模式之一。
15.根据权利要求4所述的方法,还包括:
响应于改变命令设置不同的编码策略作为所述编码策略。
16.一种编码方法,包括:
将数据划分为多个数据片段,数据片段中的每一个具有相同的数据;
生成满足编码策略的随机数据,所述编码策略指示选择多个编码模式中的每一个的概率;
基于所述随机数据从所述多个编码模式当中自主选择第一编码模式或第二编码模式中的至少一个;并且
使用第一编码模式或第二编码模式中的至少一个,分别在多轮中将数据片段编码为编码数据片段的多个集合,所述编码数据片段的集合中的每一个均包括式样,所述式样包括一个或多个第一编码数据片段或一个或多个第二编码数据片段中的至少一个,所述第一编码数据片段是通过第一编码模式编码的数据片段,所述第二编码数据片段是通过第二编码模式编码的数据片段,
第一编码数据片段是比第二编码数据片段编码得更少的数据片段,并且生成步骤生成包括编码数据片段的第一集合和编码数据片段的第二集合的编码数据片段的多个集合,使得与第一集合相关联的式样和与第二集合相关联的式样不同。
17.根据权利要求16所述的方法,其中所述第一编码数据片段能被正确地解码,并且所述第二编码数据片段不能被正确地解码。
18.根据权利要求17所述的方法,其中每个式样具有至少一个第一编码数据片段。
19.根据权利要求16所述的方法,其中所述编码数据片段的集合中的至少两个集合包括相同数量的第一编码数据片段。
20.根据权利要求19所述的方法,还包括:
获得指示最大数量的第一编码数据片段的编码策略。
Applications Claiming Priority (5)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR20110046405 | 2011-05-17 | ||
KR10-2011-0046405 | 2011-05-17 | ||
KR1020110081308A KR101824044B1 (ko) | 2011-05-17 | 2011-08-16 | 부호화 출력 기능을 구비한 데이터 저장 장치 및 시스템 |
KR10-2011-0081308 | 2011-08-16 | ||
CN201210154029.6A CN102789560B (zh) | 2011-05-17 | 2012-05-17 | 数据存储装置、编码单元、以及包括其的系统 |
Related Parent Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201210154029.6A Division CN102789560B (zh) | 2011-05-17 | 2012-05-17 | 数据存储装置、编码单元、以及包括其的系统 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN107256369A CN107256369A (zh) | 2017-10-17 |
CN107256369B true CN107256369B (zh) | 2021-06-01 |
Family
ID=47088265
Family Applications (2)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201210154029.6A Active CN102789560B (zh) | 2011-05-17 | 2012-05-17 | 数据存储装置、编码单元、以及包括其的系统 |
CN201710505691.4A Active CN107256369B (zh) | 2011-05-17 | 2012-05-17 | 编码数据的方法、读取数据的方法 |
Family Applications Before (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201210154029.6A Active CN102789560B (zh) | 2011-05-17 | 2012-05-17 | 数据存储装置、编码单元、以及包括其的系统 |
Country Status (6)
Country | Link |
---|---|
US (2) | US9373005B2 (zh) |
JP (2) | JP6039237B2 (zh) |
KR (1) | KR101824044B1 (zh) |
CN (2) | CN102789560B (zh) |
DE (1) | DE102012103577A1 (zh) |
TW (1) | TWI539281B (zh) |
Families Citing this family (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN105468996A (zh) * | 2014-09-05 | 2016-04-06 | 深圳市同盛绿色科技有限公司 | 计算机 |
JP6465732B2 (ja) * | 2015-04-24 | 2019-02-06 | リンナイ株式会社 | ガス燃焼装置 |
KR102506838B1 (ko) * | 2016-09-30 | 2023-03-08 | 에스케이하이닉스 주식회사 | 반도체 장치 및 그의 동작 방법 |
CN108076351B (zh) * | 2016-11-16 | 2020-12-08 | 杭州海康威视数字技术股份有限公司 | 一种音视频数据编码方法、装置及电子设备 |
KR102513328B1 (ko) * | 2016-12-08 | 2023-03-24 | 에스케이하이닉스 주식회사 | 반도체 장치, 반도체 시스템 및 그의 동작 방법 |
CN108052285B (zh) * | 2017-12-12 | 2018-12-11 | 清华大学 | 一种自适应编码长度的时序数据存储的方法和装置 |
US10747891B2 (en) * | 2018-06-13 | 2020-08-18 | EMC IP Holding Company LLC | Floating data protection |
CN109032619B (zh) * | 2018-07-13 | 2021-12-24 | 上海艾为电子技术股份有限公司 | 确定熔丝烧录编码的方法及装置 |
TWI773442B (zh) * | 2021-07-20 | 2022-08-01 | 宇瞻科技股份有限公司 | 儲存裝置 |
Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1592877A (zh) * | 2001-09-28 | 2005-03-09 | 高密度装置公司 | 用于对大容量存储设备上数据加密/解密的方法和装置 |
US20060107072A1 (en) * | 2004-11-15 | 2006-05-18 | Ryuji Umezu | Semiconductor memory device |
CN1977531A (zh) * | 2004-06-28 | 2007-06-06 | 松下电器产业株式会社 | 程序生成装置、程序测试装置、程序执行装置及信息处理系统 |
JP2007190069A (ja) * | 2006-01-17 | 2007-08-02 | Nintendo Co Ltd | ゲームプログラムおよびゲーム装置 |
JP2010252084A (ja) * | 2009-04-16 | 2010-11-04 | Nec System Technologies Ltd | スクランブル装置、スクランブル方法及びプログラム |
CN101984574A (zh) * | 2010-11-29 | 2011-03-09 | 北京卓微天成科技咨询有限公司 | 一种数据加解密方法及装置 |
Family Cites Families (16)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH11328034A (ja) * | 1998-05-11 | 1999-11-30 | Mega Chips Corp | 半導体メモリおよびゲーム装置 |
US6598166B1 (en) * | 1999-08-18 | 2003-07-22 | Sun Microsystems, Inc. | Microprocessor in which logic changes during execution |
JP2001156772A (ja) * | 1999-11-30 | 2001-06-08 | Victor Co Of Japan Ltd | 暗号化情報再生方法及び暗号化情報再生装置 |
EP1130600A1 (en) | 2000-03-01 | 2001-09-05 | Hewlett-Packard Company, A Delaware Corporation | Data balancing scheme in solid state storage devices |
US20030226029A1 (en) * | 2002-05-29 | 2003-12-04 | Porter Allen J.C. | System for protecting security registers and method thereof |
JP2004070049A (ja) * | 2002-08-07 | 2004-03-04 | Denso Corp | データの暗号化方法及び装置、データの復号化方法及び装置、プログラム |
JP4119881B2 (ja) * | 2004-11-15 | 2008-07-16 | 株式会社メガチップス | 半導体メモリ装置 |
JP2007172508A (ja) * | 2005-12-26 | 2007-07-05 | Sony Corp | 着脱式記憶装置及び認証方法 |
EP2037694B1 (en) * | 2006-06-19 | 2014-01-15 | NTT DoCoMo, Inc. | Base station and scheduling method |
CN101247506A (zh) * | 2007-02-14 | 2008-08-20 | 中国科学院声学研究所 | 在数字媒体播放系统中的文件加密方法及加密文件结构 |
JP5387414B2 (ja) * | 2007-12-11 | 2014-01-15 | 日本電気株式会社 | 認証装置、認証システム、認証方法及びプログラム |
JP5260203B2 (ja) | 2008-05-30 | 2013-08-14 | 日立アプライアンス株式会社 | 冷蔵庫 |
FR2937711B1 (fr) | 2008-10-27 | 2010-11-19 | Saint Gobain | Module a diodes electroluminescentes pour vehicule, support a diodes |
CN101882995B (zh) * | 2009-05-06 | 2013-08-07 | 中兴通讯股份有限公司 | 数据发送、接收和传输方法及装置 |
US9026803B2 (en) * | 2009-11-30 | 2015-05-05 | Hewlett-Packard Development Company, L.P. | Computing entities, platforms and methods operable to perform operations selectively using different cryptographic algorithms |
JP2012227899A (ja) * | 2011-04-22 | 2012-11-15 | Toshiba Corp | 認証コンポーネント、被認証コンポーネントおよびその認証方法 |
-
2011
- 2011-08-16 KR KR1020110081308A patent/KR101824044B1/ko active IP Right Grant
-
2012
- 2012-04-12 US US13/445,197 patent/US9373005B2/en active Active
- 2012-04-24 DE DE102012103577A patent/DE102012103577A1/de active Pending
- 2012-05-17 CN CN201210154029.6A patent/CN102789560B/zh active Active
- 2012-05-17 TW TW101117600A patent/TWI539281B/zh active
- 2012-05-17 CN CN201710505691.4A patent/CN107256369B/zh active Active
- 2012-05-17 JP JP2012113143A patent/JP6039237B2/ja active Active
-
2016
- 2016-06-15 US US15/183,319 patent/US10133680B2/en active Active
- 2016-11-04 JP JP2016216495A patent/JP6431022B2/ja active Active
Patent Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1592877A (zh) * | 2001-09-28 | 2005-03-09 | 高密度装置公司 | 用于对大容量存储设备上数据加密/解密的方法和装置 |
CN1977531A (zh) * | 2004-06-28 | 2007-06-06 | 松下电器产业株式会社 | 程序生成装置、程序测试装置、程序执行装置及信息处理系统 |
US20060107072A1 (en) * | 2004-11-15 | 2006-05-18 | Ryuji Umezu | Semiconductor memory device |
JP2007190069A (ja) * | 2006-01-17 | 2007-08-02 | Nintendo Co Ltd | ゲームプログラムおよびゲーム装置 |
JP2010252084A (ja) * | 2009-04-16 | 2010-11-04 | Nec System Technologies Ltd | スクランブル装置、スクランブル方法及びプログラム |
CN101984574A (zh) * | 2010-11-29 | 2011-03-09 | 北京卓微天成科技咨询有限公司 | 一种数据加解密方法及装置 |
Also Published As
Publication number | Publication date |
---|---|
JP2017041908A (ja) | 2017-02-23 |
CN107256369A (zh) | 2017-10-17 |
JP2012243320A (ja) | 2012-12-10 |
US10133680B2 (en) | 2018-11-20 |
TWI539281B (zh) | 2016-06-21 |
TW201248407A (en) | 2012-12-01 |
JP6039237B2 (ja) | 2016-12-07 |
US20120297150A1 (en) | 2012-11-22 |
KR20120128530A (ko) | 2012-11-27 |
DE102012103577A1 (de) | 2012-11-22 |
US9373005B2 (en) | 2016-06-21 |
CN102789560B (zh) | 2017-07-21 |
US20170017582A1 (en) | 2017-01-19 |
KR101824044B1 (ko) | 2018-01-31 |
CN102789560A (zh) | 2012-11-21 |
JP6431022B2 (ja) | 2018-11-28 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN107256369B (zh) | 编码数据的方法、读取数据的方法 | |
US9197247B2 (en) | Memory system and error correction method | |
US9195537B2 (en) | Method of data storage in non-volatile memory | |
KR101027202B1 (ko) | 작은 데이터 구조의 ecc 보호 장치, 방법 및 시스템 | |
US8140935B2 (en) | ECC controller for use in flash memory device and memory system including the same | |
US9495518B2 (en) | Method of reliably reading data stored in multi-level cell (MLC) non-volatile memory | |
US9459955B2 (en) | System and method to scramble data based on a scramble key | |
US8549328B2 (en) | Memory controller, memory system including the same, and method for operating the same | |
US10043573B2 (en) | Apparatus and method for endurance friendly programming using lower voltage thresholds | |
JP2012133877A (ja) | 初期シード生成方法とそれを利用するフラッシュメモリ装置及びメモリシステム | |
US10396827B2 (en) | Data storage device | |
KR20130076414A (ko) | 랜덤마이져로 씨드를 제공하는 씨드 컨트롤러 및 그것을 포함한 메모리 컨트롤러 | |
CN102017425A (zh) | 用于执行级联纠错的方法和系统 | |
CN111290705A (zh) | 包括现场可编程门阵列的存储器系统及其操作方法 | |
CN111869111A (zh) | 生成和使用可逆的缩短博斯-查德胡里-霍昆格姆码字 | |
US10511334B2 (en) | Error correction circuit, operating method thereof and data storage device including the same | |
US10693498B2 (en) | Parity check matrix generator, operating method thereof and error correction circuit using parity check matrix generated by the same | |
JP4323527B2 (ja) | 半導体記憶装置 | |
US10985781B2 (en) | Error correction circuit, operating method thereof and data storage device including the same | |
US10680658B2 (en) | Decoder controller, error correction circuit, operating method thereof and data storage device including the same |
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 |