CN112037836A - 存储器系统 - Google Patents
存储器系统 Download PDFInfo
- Publication number
- CN112037836A CN112037836A CN202010156015.2A CN202010156015A CN112037836A CN 112037836 A CN112037836 A CN 112037836A CN 202010156015 A CN202010156015 A CN 202010156015A CN 112037836 A CN112037836 A CN 112037836A
- Authority
- CN
- China
- Prior art keywords
- data
- memory
- switching
- bit length
- controller
- 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.)
- Granted
Links
- 230000015654 memory Effects 0.000 title claims abstract description 395
- 230000005540 biological transmission Effects 0.000 abstract description 9
- 238000010586 diagram Methods 0.000 description 30
- 230000002093 peripheral effect Effects 0.000 description 20
- 238000006243 chemical reaction Methods 0.000 description 19
- 230000006870 function Effects 0.000 description 10
- 238000012545 processing Methods 0.000 description 5
- 239000004065 semiconductor Substances 0.000 description 5
- 238000004891 communication Methods 0.000 description 4
- 238000012937 correction Methods 0.000 description 3
- 238000000034 method Methods 0.000 description 3
- 230000004044 response Effects 0.000 description 3
- 230000007704 transition Effects 0.000 description 3
- 239000000470 constituent Substances 0.000 description 2
- 230000008569 process Effects 0.000 description 2
- 230000003068 static effect Effects 0.000 description 2
- 230000003247 decreasing effect Effects 0.000 description 1
- 238000012217 deletion Methods 0.000 description 1
- 230000037430 deletion Effects 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 238000003384 imaging method Methods 0.000 description 1
- 230000010365 information processing Effects 0.000 description 1
- 239000010410 layer Substances 0.000 description 1
- 239000000463 material Substances 0.000 description 1
- 230000007246 mechanism Effects 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 239000002356 single layer Substances 0.000 description 1
- 239000007787 solid Substances 0.000 description 1
- 238000006467 substitution reaction Methods 0.000 description 1
- 239000000758 substrate Substances 0.000 description 1
Images
Classifications
-
- 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/1068—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 sector programmable memories, e.g. flash disk
-
- 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/0625—Power saving in storage systems
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C16/00—Erasable programmable read-only memories
- G11C16/02—Erasable programmable read-only memories electrically programmable
- G11C16/06—Auxiliary circuits, e.g. for writing into memory
-
- 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/1044—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 with specific ECC/EDC distribution
-
- 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/1048—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 using arrangements adapted for a specific error detection or correction feature
-
- 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/1048—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 using arrangements adapted for a specific error detection or correction feature
- G06F11/1056—Updating check bits on partial write, i.e. read/modify/write
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0628—Interfaces specially adapted for storage systems making use of a particular technique
- G06F3/0638—Organizing or formatting or addressing of data
- G06F3/064—Management of blocks
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/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]
-
- 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)
- Quality & Reliability (AREA)
- Human Computer Interaction (AREA)
- Read Only Memory (AREA)
- Techniques For Improving Reliability Of Storages (AREA)
- Dram (AREA)
Abstract
实施方式提供一种存储器系统,降低伴随存储控制器与非易失性存储器之间数据发送的功耗。涉及实施方式的存储器系统具备非易失性存储器。还具备将第2数据发送到非易失性存储器的控制器,该控制器具有将第1数据编码成第2数据的第1切换编码器,第1数据具有第1比特长和第1切换次数,第2数据具有长于第1比特长的第2比特长和第1切换次数以下的第2切换次数。
Description
关联申请
本申请享受以日本专利申请第2019-104682号(申请日:2019年6月4日)为基础申请的优先权。本申请通过参照该基础申请而包含基础申请的全部内容。
技术领域
本发明的实施方式涉及存储器系统。
背景技术
已知具备NAND型闪存那样的非易失性存储器和存储控制器的存储器系统。
发明内容
本发明提供一种降低与存储控制器和非易失性存储器之间的数据发送相伴的功耗的存储器系统。
涉及实施方式的存储器系统具备非易失性存储器。还具备将第2数据发送到非易失性存储器的控制器,该控制器具有将第1数据编码成第2数据的第1切换(toggle)编码器,第1数据具有第1比特长与第1切换次数,第2数据具有长于第1比特长的第2比特长和比第1切换次数少的第2切换次数。
附图说明
图1是表示涉及第1实施方式的连接于主机装置的存储器系统的整体构成例的框图。
图2是表示涉及第1实施方式的存储器系统的存储控制器和存储器芯片的构成例的框图。
图3是表示涉及第1实施方式的存储器系统的第1切换编码器将第1数据编码为第2数据的一例的框图。
图4是涉及第1实施方式的存储器系统中从第1数据变换为第2数据中使用的变换表的一例。
图5A是涉及第1实施方式的存储器系统中从第1数据变换为第2数据中使用的变换表的另一例。
图5B是涉及第1实施方式的存储器系统中从第1数据变换为第2数据中使用的变换表的另一例。
图5C是涉及第1实施方式的存储器系统中从第1数据变换为第2数据中使用的变换表的另一例。
图5D是涉及第1实施方式的存储器系统中从第1数据变换为第2数据中使用的变换表的另一例。
图5E是涉及第1实施方式的存储器系统中从第1数据变换为第2数据中使用的变换表的另一例。
图5F是涉及第1实施方式的存储器系统中从第1数据变换为第2数据中使用的变换表的另一例。
图5G是涉及第1实施方式的存储器系统中从第1数据变换为第2数据中使用的变换表的另一例。
图5H是涉及第1实施方式的存储器系统中从第1数据变换为第2数据中使用的变换表的另一例。
图6是表示涉及第1实施方式的存储器系统的第1切换解码器将第2数据解码为第1数据的一例的框图。
图7是表示涉及第1实施方式的存储器系统的第2切换编码器将第3数据编码为第4数据的一例的框图。
图8是表示涉及第1实施方式的存储器系统的第2切换解码器将第4数据解码为第3数据的一例的框图。
图9是说明涉及第1实施方式的存储器系统在写入动作时的编码的时序图的一例。
图10是说明涉及第1实施方式的存储器系统在写入动作时的解码的时序图的一例。
图11是说明涉及第1实施方式的存储器系统在读出动作时的编码的时序图的一例。
图12是说明涉及第1实施方式的存储器系统在读出动作时的解码的时序图的一例。
图13是表示涉及第2实施方式的存储器系统的存储控制器和存储器芯片的构成例的框图。
图14是表示涉及第3实施方式的存储器系统的存储控制器、接口芯片和存储器芯片的构成例的框图。
图15A是表示涉及第3实施方式的存储器系统中将存储控制器、接口芯片和存储器芯片安装在同一封装中的构成例的框图。
图15B是表示涉及第3实施方式的存储器系统中将接口芯片和存储器芯片一起安装在与安装了存储控制器的第1封装独立的另一第2封装中的构成例的框图。
图15C是表示涉及第3实施方式的存储器系统中将存储控制器、接口芯片和存储器芯片均安装在不同的封装中的构成例的框图。
图16A是表示涉及第3实施方式的存储器系统中将存储控制器封装、接口封装和存储器封装安装在同一印刷基板中的构成例的框图。
图16B是表示涉及第3实施方式的存储器系统中将接口封装与存储器封装一起安装在与安装了存储控制器封装的第1印刷基板独立的其他第2印刷基板中的构成例的框图。
图17是表示涉及第4实施方式的存储器系统中具有随机数发生器的存储控制器和存储器芯片的构成例的框图。
图18是表示涉及第5实施方式的存储器系统中的存储控制器和具有随机数发生器的存储器芯片的构成例的框图。
具体实施方式
下面,参照附图来说明实施方式。以下的说明中,对具有相同功能和构成的构成要素附加相同附图标记。另外,下示的各实施方式示例了用于具体化实施方式的技术思想的装置或方法,构成部件的材质、形状、构造、配置等不限于如下所述。
各功能框可作为硬件、计算机软件之一或将两者组合的方式来实现。因此,各功能框大致从它们的功能的观点来记述,以便无论其中任一功能均能明确。各功能框不必如下例那样加以区别。例如,一部分的功能也可由与示例的功能框不同的功能框来执行。并且,示例的功能框也可分割成更细的功能子框。
(第1实施方式)
图1是表示涉及第1实施方式的连接于主机装置的存储器系统1000的整体构成例的框图。如图1所示,存储器系统1000具备由存储器总线300连接存储控制器100与非易失性存储器200而成的构成。存储器系统1000与主机装置1500通过通信接口320连接,用作主机装置1500的外部存储装置。
存储器系统1000也可以是将存储控制器100与非易失性存储器200构成为1个封装的存储卡,或是SSD(Solid State Drive)。
主机装置1500例如是个人电脑等信息处理装置、便携电话、摄像装置,或是平板电脑或智能机等便携终端,或游戏机,或汽车导航系统等车载终端。
通信接口320将存储器系统1000与主机装置1500连接起来。通信接口320例如基于SATA(Serial Advanced Technology Attachment)、SAS(Serial Attached SCSI)、PCIe(Peripheral Components Interconnect Express)(注册商标)、NVMe(Non-VolatileMemory Express)(注册商标)。
存储控制器100对应于来自主机装置1500的请求,控制对非易失性存储器200数据的写入/读出。在本实施方式中,所谓请求,例如是命令、指令。存储控制器也称为控制器。存储控制器100例如是构成为SoC(System on a Chip)、FPGA(Field-Programmable GateArray)、ASIC(Application Specific Integrated Circuit)的半导体集成电路。以下说明的存储控制器100的各构成要素(第1切换编码器400、第2切换编码器440、主机接口(主机I/F)120、存储器接口(存储器I/F)150)的部分或全部功能可以通过CPU(Central ProcessingUnit)执行固件来实现,或由硬件实现。
非易失性存储器200是能非易失地存储数据的半导体存储器。非易失性存储器200例如是NAND型闪存。NAND型闪存中以页为单位来执行数据的写入和读出。另外,NAND型闪存中以页(page)为单位来执行数据的删除。在将NAND型闪存用于非易失性存储器200的情况下,其存储单元可以是能进行1比特的存储的单层单元,也可以是能进行2比特以上的存储的多层单元。
非易失性存储器200例如具备可彼此独立动作的多个存储器芯片#1 210-1、存储器芯片#2210-2、···、存储器芯片#N 210-N。N为比1大的任意自然数。
在下面的说明中,在必需特定多个存储器芯片#1 210-1、存储器芯片#2 210-2、···、存储器芯片#N 210-N中的一个的情况下,使用附图标记210-1、210-2、···、210-N。另一方面,在指任意一个存储器芯片的情况下、或在不将该存储器芯片与其他的存储器芯片区别的情况下,不使用后缀-1、-2、···、-N,仅使用附图标记210。
另外,在本实施方式中,说明使用NAND型闪存作为非易失性存储器200的实例,但也可使用3维构造闪存、ReRAM(Resistance Random Access Memory)、FeRAM(Ferroelectric Random Access Memory)、MRAM(Magnetoresistive Random AccessMemory)等NAND型闪存以外的存储机构,作为非易失性存储器200。另外,在本实施方式中,说明使用半导体存储器作为非易失性存储器200的实例,但也可使用半导体存储器以外的存储机构。
图2是表示涉及本实施方式的存储器系统1000的存储控制器100和存储器芯片210的构成例的框图。
说明存储控制器100的各构成。如图2所示,存储控制器100具备经内部总线160将CPU110、主机接口120、ECC(Error Check and Correction)部130、第1缓冲存储器140、存储器接口150、第1切换编码器400、第2切换解码器460相互连接的构成。
在本实施方式中,说明存储控制器100具有第1切换编码器400与第2切换解码器460的情况,但第1切换编码器400与第2切换解码器460中也可一方存在于存储控制器100的外部,另一方存在于存储控制器100的内部,或均存在于存储控制器100的外部。
CPU110统一控制存储器系统1000的各构成要素。CPU110在存储器系统1000启动时,读出存储在未图示ROM中的固件(控制程序),并加载到第1缓冲存储器140或未图示的RAM上。之后,通过CPU110执行固件,实现各功能。
CPU110若从主机装置1500经主机接口120受理请求,则根据该请求,控制存储控制器100的各部。例如,CPU110根据来自主机装置1500的写入请求,指示存储器接口150向非易失性存储器200写入数据。另外,CPU110根据来自主机装置1500的读出请求,指示存储器接口150从非易失性存储器200读出数据。
此外,CPU110在从主机装置1500接收到写入请求的情况下,将写入请求所指定的数据保存在第1缓冲存储器140中,并确定该数据在非易失性存储器200中的存储区域。即,CPU110确定并管理数据的写入目的地。将从主机装置1500接收到的数据的逻辑地址与表示存储该数据的非易失性存储器200中的存储区域的物理地址之对应关系作为地址变换表格,存储在例如第1缓冲存储器140中。
此外,CPU110在从主机装置1500接收到读出请求的情况下,使用上述地址变换表格,将由读出请求指定的逻辑地址变换为非易失性存储器200的物理地址,并向存储器接口150指示来自该物理地址的数据的读出。由此从非易失性存储器200读出的数据在被暂时存储在第1缓冲存储器140中后,经主机接口120发送到主机装置1500。
主机接口120将从主机装置1500接收到的请求或写入数据等输出到内部总线160,并存储在第1缓冲存储器140中。另外,主机接口120将从非易失性存储器200读出并存储在第1缓冲存储器140中的读出数据或来自CPU110的响应等发送到主机装置1500。
ECC部130例如是具备纠错功能的编码/解码电路,用BCH(Bose ChaudhuriHocquenghem)码等纠错码来编码向非易失性存储器200写入的数据。并且,纠正从非易失性存储器200读出的数据中的错误。
主机接口120从主机装置1500接收到的作为写入数据的数据被暂时存储在第1缓冲存储器140中。CPU110对于存储在第1缓冲存储器140中的数据,确定非易失性存储器200中的存储区域,指示存储器接口150在该确定的存储区域内写入数据。
第1缓冲存储器140例如可使用DRAM(Dynamic Random Access Memory)、SRAM(Static Random Access Memory)等易失性存储器。并且,第1缓冲存储器140可安装在存储控制器100的内部,也可安装在存储控制器100的外部。
存储器接口150根据来自CPU110的指示,控制向非易失性存储器200写入数据等的处理和从非易失性存储器200读出数据等的处理。
存储器接口150根据来自CPU110的指示,将从第1缓冲存储器140获取的写入数据等使用第1切换编码器400编码后,发送到非易失性存储器200。从非易失性存储器200获取的读出数据等在使用第2切换解码器460解码后,发送到第1缓冲存储器140。
内部总线160是连接CPU110、主机接口120、ECC部130、第1缓冲存储器140、存储器接口150、第1切换编码器400和第2切换解码器460的通信线。
后面说明第1切换编码器400和第2切换解码器460的细节。
下面,说明存储器芯片210的构成。存储器芯片210例如是NAND型闪存芯片。
如图2所示,存储器芯片210包含输入输出电路220、外围电路240、存储器单元阵列260。
输入输出电路220经存储器总线300与存储控制器100的存储器接口150连接。输入输出电路220经存储器总线300从存储控制器100获取多个控制信号,根据获取到的控制信号,将各种内部控制信号提供给外围电路240。
输入输出电路220从存储控制器100获取写入数据,将获取到的写入数据提供给外围电路240。并且,输入输出电路220从外围电路240获取存储在存储器单元阵列260的单元晶体管中的数据,经存储器总线300提供给存储控制器100。
外围电路240包含第1切换解码器420、第2切换编码器440、未图示的序列发生器、驱动器、读出放大器、行解码器等。外围电路240从输入输出电路220获取各种信号,根据获取到的信号,向存储器单元阵列260的单元晶体管写入数据。并且,外围电路240读出存储器单元阵列260的单元晶体管中存储的数据。
外围电路240在使用第1切换解码器420编码从输入输出电路220获取到的写入数据等后,写入存储器单元阵列260。并且,在使用第2切换编码器440解码从存储器单元阵列260获取到的读出数据等后,发送到输入输出电路220。
在本实施方式中,说明了外围电路240中包含第1切换解码器420、第2切换编码器440的情况,但第1切换解码器420与第2切换编码器440中也可一方存在于外围电路240的外部,另一方存在于外围电路240的内部。并且,第1切换解码器420与第2切换编码器440也可双方存在于外围电路240的外部。
后面说明第1切换解码器420和第2切换编码器440的细节。
存储器单元阵列260在写入时从外围电路240获取数据,将获取到的数据存储在单元晶体管中。存储器单元阵列260在读出时将存储在单元晶体管中的数据提供给外围电路240。
图3是表示涉及本实施方式的存储器系统1000的第1切换编码器400将第1数据700编码为第2数据720的一例的框图。在后面的说明中,将第1数据700编码为第2数据720也称为将第1数据700变换为第2数据720。
如图3所示,第1切换编码器400将第1数据700编码为第2数据720,第1数据700具有第1比特长与第1切换次数,第2数据720具有长于第1比特长的第2比特长和为第1切换次数以下的第2切换次数。另外,如参照图4后面叙述的那样,可以编码为第2数据720的切换次数在第1数据700的切换次数以下。另外,如参照图5A~图5H后面叙述的那样,也可编码为多个第2数据720的切换次数的平均在多个第1数据700的切换次数的平均以下。第1比特长例如是9比特,第2比特长例如是10比特。在下面的说明中,将二进制中从0到1或从1到0的变换称为切换(toggle)。因此,切换次数等于上述的变换次数。例如,二进制“0101”中的切换次数(即变换次数)为3,二进制“001100”中的切换次数为2。
另外,第1切换编码器400将个数对应于后述信号DQ的宽度的第1数据700编码为第2数据720。图3中,示例如下情况,信号DQ具有8比特的宽度,与此对应,第1切换编码器400_0~400_7将8个第1数据700编码为8个第2数据720。
在本实施方式中,由第1切换编码器400编码的第1数据700例如是写入数据。作为第1数据700的其他实例,包含指令或地址等。并且,第1数据700不仅是作为写入数据从主机装置1500接收到的数据,也可以是垃圾收集、均衡磨损、更新等内部处理中使用的数据。
第1切换编码器400具备暂时存储从第1缓冲存储器140获取到的第1数据700的未图示的第2缓冲存储器。第2缓冲存储器中存储的第1数据700在被第1切换编码器400编码为第2数据720之后,由存储器接口150发送到存储器芯片210。第2缓冲存储器例如可使用SRAM(Static Random Access Memory)或寄存器等易失性存储器。
图4是涉及第1实施方式的存储器系统1000的从第1数据700变换为第2数据720的变换表的一例。
图4中说明第1数据700为4比特的比特长、第2数据720为5比特的比特长的情况。例如图4的横列A所示,第1切换编码器400使用图4的变换表,将4比特的比特长、切换次数为1次的“0011”编码为5比特的比特长、切换次数为1次的数据“11000”。作为另一例,如图4的横列B所示,将4比特的比特长、切换次数为2次的数据“0100”编码为5比特的比特长、切换次数为1次的数据“11110”。作为再一例,如图4的横列C所示,将4比特的比特长、切换次数为3次的数据“0101”编码为5比特的比特长、切换次数为2次的数据“10001”。其他情况也一样,但任一情况下,均进行编码,使第2数据720的切换次数为第1数据700的切换次数以下。另外,第1数据700为4比特的比特长、第2数据720为5比特的比特长的情况以外,也进行同样的变换。
图5A~图5H是涉及第1实施方式的存储器系统1000中从第1数据700变换为第2数据720的变换表的另一例。图5A~图5H中,用10进制来表述由分别具有9比特的比特长的多个第1数据700构成的第1数据组,用2进制来表述由分别具有10比特的比特长的多个第2数据720构成的第2数据组。
图5A~图5H中,仅将从由10比特的比特长表示的1024个数据(也称为代码)中切换次数少的一方开始的512个数据记载为第2数据组。采用从由10比特的比特长表示的1024个数据中切换次数少的一方开始的512个数据,作为第2数据720。由此,第2数据组中包含的512个第2数据720各自的切换次数的平均例如是3.8次。第1数据组中包含的512个9比特的比特长的第1数据700各自的切换次数的平均例如是4.5次。这样,第2数据组中包含的第2数据720各自的切换次数的平均为第1数据组中包含的第1数据700各自的切换次数的平均以下。
另外,第1数据组中包含的某个特定的第1数据700也可因编码而切换次数变多,但第2数据组的切换次数的平均为第1数据组的切换次数的平均以下。并且,此时的编码不限于从9比特变换为10比特,例如也可以从9比特变换为11比特。
另外,第2切换编码器440也可使用图4或图5A~图5H的变换表来同样进行编码。并且,第1切换解码器420和第2切换解码器460可使用图4或图5A~图5H的变换表来进行解码。
图6是表示涉及本实施方式的存储器系统的第1切换解码器420将第2数据720解码为第1数据700的一例的框图。
如图6所示,第1切换解码器420将第2数据720解码为最初的第1数据700。即,从第2数据720解码出的数据的数据值与最初的第1数据700相同。这里所谓的数据值是“001100”等二进制的比特图案。如图2和图3所示,第1数据700在被第1切换编码器400编码为第2数据720之后,从存储控制器100发送到存储器芯片210。接着,第2数据720被第1切换解码器420解码成最初的第1数据700。之后,将第1数据700写入存储器单元阵列260。
另外,个数对应于后述信号DQ的宽度的第2数据720被第1切换解码器420解码为第1数据700。图6中示例如下情况,信号DQ具有8比特的宽度,与此对应,8个第2数据720被第1切换解码器420_0~420_7解码为8个第1数据700。
第1切换解码器420具备暂时存储从输入输出电路220获取到的第2数据720的未图示的第3缓冲存储器。第3缓冲存储器中存储的第2数据720在被第1切换解码器420解码为第1数据700之后,由外围电路240写入存储器单元阵列260中。第3缓冲存储器中例如可使用SRAM或寄存器等易失性存储器。
图7是表示涉及本实施方式的存储器系统1000的第2切换编码器440将第3数据740编码为第4数据760的一例的框图。
如图7所示,第2切换编码器440将第3数据740编码为第4数据760,第3数据740具有第3比特长与第3切换次数,第4数据760具有长于第3比特长的第4比特长和第3切换次数以下的第4切换次数。另外,如前面参照图4所述,可以编码成第4数据760的切换次数为第3数据740的切换次数以下。另外,也可如前面参照图5A~图5H所述,编码成多个第4数据760的切换次数的平均为多个第3数据740的切换次数的平均以下。第3比特长例如为9比特,第4比特长例如为10比特。
另外,个数对应于后述信号DQ的宽度的第3数据740被第2切换编码器440编码为第4数据760。图7中示例如下情况,信号DQ具有8比特的宽度,与此对应,8个第3数据740被第2切换编码器440_0~440_7编码为8个第4数据760。
在本实施方式中,由第2切换编码器440编码的第3数据740例如是从存储器单元阵列260读出的数据。作为第3数据740的其他例,也可以是垃圾收集、均衡磨损、更新等内部处理中使用的数据。第3数据740也可以是从存储器芯片210发送到存储控制器100的状态等。
另外,第3数据740的比特长与第1数据700既可相同,也可不同。并且,第3数据740的切换次数既可与第1数据700相同,也可不同。特别是,在将第1数据700写入存储器单元阵列260、将第1数据700作为第3数据740正确读出的情况下,第1数据700与第3数据740的比特长和切换次数相同。
并且,第4数据760的比特长既可与第2数据720相同,也可不同。并且,第4数据760的切换次数既可与第2数据720相同,也可不同。特别是,在将第1数据700写入存储器单元阵列260、将第1数据700作为第3数据740正确读出的情况下,第2数据720与第4数据760的比特长和切换次数相同。
第2切换编码器440具备暂时存储从存储器单元阵列260获取到的第3数据740的未图示的第4缓冲存储器。请求从存储器单元阵列260读出第3数据的指令被从存储控制器100输出到存储器芯片210。第4缓冲存储器中存储的第3数据740在被第2切换编码器440编码为第4数据760之后,被外围电路240发送到存储控制器100。第4缓冲存储器中例如可使用SRAM或寄存器等易失性存储器。
图8是表示涉及本实施方式的存储器系统1000的第2切换解码器460将第4数据760解码为第3数据740的一例的框图。
如图8所示,第2切换解码器460将第4数据760解码为最初的第3数据740。如图2和图7所示,第3数据740在被第2切换编码器440编码为第4数据760之后,从存储器芯片210发送到存储控制器100。接着,第4数据760被第2切换解码器460解码为最初的第3数据740。
另外,个数对应于后述信号DQ的宽度的第4数据760被第2切换解码器460解码为第3数据740。图8中示例如下情况,信号DQ具有8比特宽度,与此对应,8个第4数据760被第2切换解码器460_0~460_7解码为8个第3数据740。
第2切换解码器460具备暂时存储从存储器接口150获取到的第4数据760的未图示的第5缓冲存储器。第5缓冲存储器中存储的第4数据760在被第2切换解码器460解码为第3数据740之后,通过存储器接口150发送到第1缓冲存储器140。第5缓冲存储器例如可使用SRAM或寄存器等易失性存储器。
返回图2来说明存储器总线300。
存储器总线300将存储控制器100与非易失性存储器200连接。各存储器芯片210的存储器接口150与输入输出电路220彼此经存储器总线300而收发数据。存储器总线300例如基于Toggle DDR(Double Data Rate)、ONFI(Open NAND Flash Interface)。存储器总线300例如收发信号DQ、DQS、DQSn、RE和REn。在信号名附加“n”作为后缀的情况下,该信号为负逻辑。即,表示以“L(Low)”电平声明该信号。
信号DQ(DQ0~DQ7)例如具有8比特的宽度,是数据的实体,包含向存储器芯片210的写入数据或从存储器芯片210的读出数据、或指令、地址、状态等。
向存储器芯片210内的存储器单元阵列260写入数据时,由主机接口120收到的第1数据700被第1切换编码器400编码,作为第2数据720(=信号DQ0~DQ7),经存储器总线300,输入存储器芯片210的输入输出电路220。将输入到输入输出电路220的第2数据720发送到外围电路240,在被第1切换解码器420解码为第1数据700之后,写入存储器单元阵列260。读出数据时,写入存储器单元阵列260的第3数据740被第2切换编码器440编码为第4数据760。该第4数据760(=信号DQ0~DQ7)经存储器总线300发送到存储控制器100,被第2切换解码器460解码为第3数据740。另外,第3数据740也可以是写入存储器单元阵列260的第1数据700。此时,第1数据700与第3数据740的比特长和切换次数相同。
信号DQS和DQSn是存储控制器100与存储器芯片210的以双向进行交换的同步信号。从存储控制器100指向存储器芯片210的信号DQS和DQSn将获取信号DQ的定时向存储器芯片210指示。在由信号DQ发送第2数据720的情况下,由信号DQS和DQSn通知的定时的个数对应于第2数据720的第2比特长。
另一方面,从存储器芯片210指向存储控制器100的信号DQS和DQSn将获取信号DQ的定时向存储控制器100指示。在由信号DQ发送第4数据760的情况下,由信号DQS和DQSn通知的定时的个数对应于第4数据760的第4比特长。
在读出数据时,从存储控制器100指向存储器芯片210的信号RE和REn指示向存储器芯片210输出信号DQ。并且,获取到信号RE和REn的存储器芯片210以与对应于信号RE和REn输出的信号DQ同步的方式生成信号DQS和DQSn。存储控制器100在指示存储器芯片210向信号DQ输出第4数据760的情况下,存储器接口150将基于信号RE和REn的指示的个数设定为,与由信号DQS和DQSn通知的定时的个数对应的个数。
说明存储器系统1000的写入动作。图9是说明存储器系统1000在写入动作时的编码的时序图的一例。图10是说明存储器系统1000在写入动作时的解码的时序图的一例。另外,图9和图10中示例了第1数据700的比特长为9比特、第2数据720的比特长为10比特的情况。
图9和图10中,将9比特长的第1数据700表述为ori数据0,将10比特长的第2数据720表述为enc数据0。
如图9的800所示,ori数据0是Data0_0、Data1_0、…、Data8_0的9比特长的数据。
如图9与图10的820所示,enc数据0是Data0’_0、Data1’_0、…、Data9’_0的10比特长的数据。
如图9的810所示,第2缓冲存储器中存储的9比特长的ori数据0被第1切换编码器400_0编码为10比特长的enc数据0。由信号DQ[0]来发送enc数据0。
同样,作为9比特长的第1数据700的ori数据1被第1切换编码器400_1编码为作为10比特长的第2数据720的enc数据1。由信号DQ[1]来发送enc数据1。
作为9比特长的第1数据700的ori数据2被第1切换编码器400_2编码为作为10比特长的第2数据720的enc数据2。由信号DQ[2]来发送enc数据2。
作为9比特长的第1数据700的ori数据3被第1切换编码器400_3编码为作为10比特长的第2数据720的enc数据3。由信号DQ[3]来发送enc数据3。
作为9比特长的第1数据700的ori数据4被第1切换编码器400_4编码为作为10比特长的第2数据720的enc数据4。由信号DQ[4]来发送enc数据4。
作为9比特长的第1数据700的ori数据5被第1切换编码器400_5编码为作为10比特长的第2数据720的enc数据5。由信号DQ[5]来发送enc数据5。
作为9比特长的第1数据700的ori数据6被第1切换编码器400_6编码为作为10比特长的第2数据720的enc数据6。由信号DQ[6]来发送enc数据6。
作为9比特长的第1数据700的ori数据7被第1切换编码器400_7编码为作为10比特长的第2数据720的enc数据7。由信号DQ[7]来发送enc数据7。
存储控制器100在输出enc数据0~enc数据7作为信号DQ的同时,将信号DQS和DQSn输出到存储器芯片210。
存储器芯片210同步于信号DQS和DQSn所指示的定时的个数,获取enc数据0~enc数据7,存储在第1切换解码器420的第3缓冲存储器中。
如图10的830所示,第3缓冲存储器中存储的10比特长的enc数据0被第1切换解码器420_0解码为9比特长的ori数据0。
同样,作为10比特长的第2数据720的enc数据1被第1切换解码器420_1解码为9比特长的ori数据1。
作为10比特长的第2数据720的enc数据2被第1切换解码器420_2解码为9比特长的ori数据2。
作为10比特长的第2数据720的enc数据3被第1切换解码器420_3解码为9比特长的ori数据3。
作为10比特长的第2数据720的enc数据4被第1切换解码器420_4解码为9比特长的ori数据4。
作为10比特长的第2数据720的enc数据5被第1切换解码器420_5解码为9比特长的ori数据5。
作为10比特长的第2数据720的enc数据6被第1切换解码器420_6解码为9比特长的ori数据6。
作为10比特长的第2数据720的enc数据7被第1切换解码器420_7解码为9比特长的ori数据7。
ori数据0~ori数据7由外围电路240写入存储器单元阵列260。
这样,存储控制器100可向存储器芯片210中写入数据。
下面,说明存储器系统1000的读出动作。图11是说明存储器系统1000在读出动作时的编码的时序图的一例。图12是说明存储器系统1000在读出动作时的解码的时序图的一例。另外,图11与图12中,示出第3数据740的比特长为9比特、第4数据760的比特长为10比特的情况。
图11和图12中,将9比特长的第3数据740表述为ori数据0,将10比特长的第4数据760表述为enc数据0。
如图11的900所示,ori数据0是Data0_0、Data1_0、…、Data8_0的9比特长的数据。
如图11与图12的920所示,enc数据0是Data0’_0、Data1’_0、…、Data9’_0的10比特长的数据。
首先,存储控制器100向存储器芯片210输出未图示的指令,该指令指示从存储器单元阵列260读出ori数据0。存储器芯片210若从存储控制器100接收该指令,则从存储器单元阵列260内读出ori数据0。将从存储器单元阵列260读出的ori数据0存储在第2切换编码器440的第4缓冲存储器中。
利用未图示的就绪/忙碌信号而识别到ori数据0存储在第4缓冲存储器中的存储控制器100,使用信号RE和REn,指示从存储器芯片210输出enc数据0作为信号DQ[0]。此时,存储器接口150将由信号RE和REn指示的个数设为对应于第4比特长的个数、即10。
如图11的910所示,第4缓冲存储器中存储的作为9比特长的第3数据740的ori数据0被第2切换编码器440_0编码为作为10比特长的第4数据760的enc数据0。由信号DQ[0]来发送enc数据0。
同样,作为9比特长的第3数据740的ori数据1被从存储器单元阵列260读出,被第2切换编码器440_1编码为作为10比特长的第4数据760的enc数据1。由信号DQ[1]来发送enc数据1。
作为9比特长的第3数据740的ori数据2被从存储器单元阵列260读出,被第2切换编码器440_2编码为作为10比特长的第4数据760的enc数据2。由信号DQ[2]来发送enc数据2。
作为9比特长的第3数据740的ori数据3被从存储器单元阵列260读出,被第2切换编码器440_3编码为作为10比特长的第4数据760的enc数据3。由信号DQ[3]来发送enc数据3。
作为9比特长的第3数据740的ori数据4被从存储器单元阵列260读出,被第2切换编码器440_4编码为作为10比特长的第4数据760的enc数据4。由信号DQ[4]来发送enc数据4。
作为9比特长的第3数据740的ori数据5被从存储器单元阵列260读出,被第2切换编码器440_5编码为作为10比特长的第4数据760的enc数据5。由信号DQ[5]来发送enc数据5。
作为9比特长的第3数据740的ori数据6被从存储器单元阵列260读出,被第2切换编码器440_6编码为作为10比特长的第4数据760的enc数据6。由信号DQ[6]来发送enc数据6。
作为9比特长的第3数据740的ori数据7被从存储器单元阵列260读出,被第2切换编码器440_7编码为作为10比特长的第4数据760的enc数据7。由信号DQ[7]来发送enc数据7。
存储器芯片210对应于获取到的信号RE和REn,生成信号DQS和DQSn。与生成的信号DQS和DQSn所指示的定时同步地,将enc数据0~enc数据7取回到存储控制器100。更具体来说,将enc数据0~enc数据7存储在第2切换解码器460的第5缓冲存储器中。
如图12的930所示,第5缓冲存储器中存储的作为10比特长的第4数据760的enc数据0被第2切换解码器460_0解码为作为9比特长的第3数据740的ori数据0。
同样,作为10比特长的第4数据760的enc数据1被第2切换解码器460_1解码为作为9比特长的第3数据740的ori数据1。
作为10比特长的第4数据760的enc数据2被第2切换解码器460_2解码为作为9比特长的第3数据740的ori数据2。
作为10比特长的第4数据760的enc数据3被第2切换解码器460_3解码为作为9比特长的第3数据740的ori数据3。
作为10比特长的第4数据760的enc数据4被第2切换解码器460_4解码为作为9比特长的第3数据740的ori数据4。
作为10比特长的第4数据760的enc数据5被第2切换解码器460_5解码为作为9比特长的第3数据740的ori数据5。
作为10比特长的第4数据760的enc数据6被第2切换解码器460_6解码为作为9比特长的第3数据740的ori数据6。
作为10比特长的第4数据760的enc数据7被第2切换解码器460_7解码为作为9比特长的第3数据740的ori数据7。
ori数据0~ori数据7通过存储器接口150而被存储在第1缓冲存储器140。
这样,存储控制器100可从存储器芯片210读出数据。
涉及第1实施方式的存储器系统1000中,在以数据的切换次数变少的方式对数据进行编码之后,在存储控制器100与非易失性存储器200之间进行数据发送,因此能降低伴随数据发送的功耗。
并且,涉及第1实施方式的存储器系统1000中,按照编码后的数据的比特长来发送对于应获取编码后的数据的定时进行指示的同步信号,因此即使减少数据的切换次数,也能稳定进行数据的收发。
(第2实施方式)
涉及第2实施方式的存储器系统2000与涉及第1实施方式的存储器系统1000同样地构成,但不同点在于不具有第1切换解码器420与第2切换编码器440。
图13是表示涉及第2实施方式的存储器系统2000的存储控制器100和存储器芯片210的构成例的框图。
在写入数据时,第1切换编码器400的第2缓冲存储器中存储的第1数据700被第1切换编码器400编码为第2数据720。之后,第2数据720由存储器接口150经存储器总线300发送到存储器芯片210。发送到存储器芯片210的第2数据720被写入存储器单元阵列260。
在读出数据时,从存储器单元阵列260读出的第4数据760经存储器总线300发送到存储控制器100。另外,第4数据760的比特长既可与第2数据720相同,也可不同。并且,第4数据760的切换次数既可与第2数据720相同,也可不同。特别是,在将第2数据720写入存储器单元阵列260、将第2数据720作为第4数据760正确读出的情况下,第2数据720与第4数据760的比特长和切换次数相同。
发送到存储控制器100的第4数据760被第2切换解码器460解码为第3数据740。第3数据740的比特长既可与第1数据700相同,也可不同。并且,第3数据740的切换次数既可与第1数据700相同,也可不同。特别是,在将第2数据720写入存储器单元阵列260、将第2数据720作为第4数据760正确读出的情况下,第1数据700与第3数据740的比特长和切换次数相同。
涉及第2实施方式的存储器系统2000中,在以使数据的切换次数变少的方式对数据进行编码之后,在存储控制器100与非易失性存储器200之间进行数据发送,所以能降低伴随数据发送的功耗。
并且,涉及第2实施方式的存储器系统2000中,不具有第1切换解码器420与第2切换编码器440。因此,与现有例相比,不必变更存储器芯片210的大小,因此能抑制存储器芯片210的成本。
(第3实施方式)
涉及第3实施方式的存储器系统3000与涉及第1实施方式的存储器系统1000同样地构成,但不同点在于具备接口(I/F)芯片500。
图14是表示涉及第3实施方式的存储器系统3000的存储控制器100、接口芯片500和存储器芯片210的构成例的框图。
如图14所示,接口芯片500具有第1切换解码器420与第2切换编码器440。第3实施方式说明接口芯片500具有第1切换解码器420与第2切换编码器440的情况,但第1切换解码器420与第2切换编码器440中也可一方存在于接口芯片500的外部、另一方存在于接口芯片500的内部。
在写入数据时,接口芯片500从存储控制器100经存储器总线300A获取第2数据720。获取到的第2数据720被第1切换解码器420解码为第1数据700。之后,接口芯片500将第1数据700经存储器总线300B发送到存储器芯片210。
存储器总线300A在存储控制器100与接口芯片500之间收发例如信号DQ、DQS、DQSn、RE和REn。存储器总线300B在接口芯片500与存储器芯片210之间收发例如信号DQ、DQS、DQSn、RE和REn。
在读出数据时,接口芯片500从存储器芯片210经存储器总线300B获取存储器单元阵列260的单元晶体管中存储的第3数据740。获取到的第3数据740被第2切换编码器440编码为第4数据760。
另外,第3数据740的比特长既可与第1数据700相同,也可不同。并且,第3数据740的切换次数既可与第1数据700相同,也可不同。特别是,在将第1数据700写入存储器单元阵列260、将第1数据700作为第3数据740正确读出的情况下,第1数据700与第3数据740的比特长和切换次数相同。
并且,第4数据760的比特长既可与第2数据720相同,也可不同。并且,第4数据760的切换次数既可与第2数据720相同,也可不同。特别是,在将第1数据700写入存储器单元阵列260、将第1数据700作为第3数据740正确读出的情况下,第2数据720与第4数据760的比特长和切换次数相同。
接口芯片500经存储器总线300A将第4数据760发送到存储控制器100。
图15A是表示将涉及第3实施方式的存储器系统3000的存储控制器100、接口芯片500和存储器芯片210安装在同一封装1100中的构成例的框图。
图15B是表示将涉及第3实施方式的存储器系统3000的接口芯片500和存储器芯片210一起安装在与安装了存储控制器100的第1封装1100A独立的其他第2封装1100B中的构成例的框图。
图15C是表示将涉及第3实施方式的存储器系统3000的存储控制器100、接口芯片500和存储器芯片210均安装在不同的封装1100中的构成例的框图。
如图15A~图15C所示,接口芯片500既可与存储器芯片210在同一封装中,也可在不同封装中。并且,接口芯片500也可与存储器芯片210安装在同一芯片中。此时,接口芯片500与存储器芯片210既可使用同一工序制造,也可使用不同工序制造。并且,接口芯片500与存储器芯片210既可相对半导体基板沿水平方向排列,也可沿垂直方向排列。也可将多个存储器芯片210安装在一个封装中。
图16A是表示将涉及第3实施方式的存储器系统3000的存储控制器封装100A、接口封装500A和存储器封装210A安装在同一印刷基板1200中的构成例的框图。
图16B是表示将涉及第3实施方式的存储器系统3000的接口封装500A与存储器封装210A一起安装在与安装了存储控制器封装100A的第1印刷基板1200A独立的其他第2印刷基板1200B中的构成例的框图。
存储控制器封装100A是设置了存储控制器100的封装。存储器封装210A是设置了存储器芯片210的封装。接口封装500A是设置了接口芯片500的封装。
如图16A~图16B所示,接口封装500A既可与存储器封装210A安装在同一封装上,也可安装在不同封装上。
涉及第3实施方式的存储器系统3000中,在以使数据的切换次数变少的方式进行编码之后,在存储控制器100与接口芯片500之间进行数据发送,所以能降低伴随数据发送的功耗。
并且,涉及第3实施方式的存储器系统3000中,存储器芯片210不具有第1切换解码器420与第2切换编码器440。因此,与现有例相比,不必变更存储器芯片210的大小,因此能抑制存储器芯片210的成本。
(第4实施方式)
涉及第4实施方式的存储器系统4000与涉及第1实施方式的存储器系统1000同样地构成,但不同点在于存储控制器100具有随机数发生器(Randomizer)600。
图17是表示涉及第4实施方式的存储器系统4000中具有随机数发生器600的存储控制器100和存储器芯片210的构成例的框图。
从第1缓冲存储器140获取到的写入数据等作为具有第1比特长的第5数据,由存储器接口150发送到随机数发生器600。随机数发生器600使具有第1比特长的第5数据随机化,生成第1数据700。随机化后的第1数据700被第1切换编码器400编码为第2数据720。之后,将第2数据720发送到非易失性存储器200。
并且,从存储器单元阵列260获取到的第3数据740由外围电路240发送到第2切换编码器440。第3数据740被第2切换编码器440编码为第4数据760。将第4数据760发送到存储控制器100。第4数据760被第2切换解码器460解码为第3数据740。之后,将第3数据740发送到随机数发生器600。随机数发生器600解除第3数据740的随机化,生成具有第1比特长的第5数据。
另外,第3数据740的比特长既可与第1数据700相同,也可不同。并且,第3数据740的切换次数既可与第1数据700相同,也可不同。特别是,在将第1数据700写入存储器单元阵列260、将第1数据700作为第3数据740正确读出的情况下,第1数据700与第3数据740的比特长和切换次数相同。
并且,第4数据760的比特长既可与第2数据720相同,也可不同。并且,第4数据760的切换次数既可与第2数据720相同,也可不同。特别是,在将第1数据700写入存储器单元阵列260、将第1数据700作为第3数据740正确读出的情况下,第2数据720与第4数据760的比特长和切换次数相同。
涉及第4实施方式的存储器系统4000中,在以数据的切换次数变少的方式进行编码之后,在存储控制器100与非易失性存储器200之间进行数据发送,所以能降低伴随数据发送的功耗。
并且,在本实施方式中,期待第1数据组中包含的各第1数据700均等地出现。因此,在本实施方式中,也可如使用图5A~图5H说明的那样,进行变换,以使得第2数据组中包含的第2数据720各自的切换次数的平均为第1数据组中包含的第1数据700各自的切换次数的平均以下。此时,即使不一定减少第1数据组中包含的全部第1数据的切换次数,也能降低伴随数据发送的功耗。
另一方面,在第1数据组中包含的各第1数据700未均等出现的情况下,对各第1数据700各自的切换次数按出现频率进行加权,以它们的总和做比较,只要切换次数变少即可。例如,在数据“010010000”比其他数据出现得多的情况下,当对数据“010010000”进行编码时,以与出现频率少的其他数据相比、使数据“010010000”的切换次数变少的方式编码。
(第5实施方式)
涉及第5实施方式的存储器系统5000与涉及第1实施方式的存储器系统1000同样地构成,但不同点在于非易失性存储器200具有随机数发生器600。随机数发生器600为了使读出数据的可靠性提高而将写入对象的数据随机化。
图18是表示涉及第5实施方式的存储器系统5000的存储控制器100和具有随机数发生器600的存储器芯片210的构成例的框图。
当写入数据时,第1切换编码器400的第2缓冲存储器中存储的第1数据700被第1切换编码器400编码为第2数据720。之后,第2数据720通过存储器接口150经存储器总线300发送到存储器芯片210。
发送到存储器芯片210的第2数据720被随机数发生器600随机化为具有第2比特长的第5数据。随机化后的第5数据被写入存储器单元阵列260中。
当读出数据时,从存储器单元阵列260中读出的第6数据被随机数发生器600解除随机化,变为具有第4比特长且具有第4切换次数的第4数据。解除随机化后的第4数据经存储器总线300发送到存储控制器100。发送到存储控制器100的第4数据由第2切换解码器460解码为第3数据,第3数据具有短于第4比特长的第3比特长、和比第4切换次数多的第3切换次数。
另外,第4数据760的比特长既可与第2数据720相同,也可不同。并且,第4数据760的切换次数既可与第2数据720相同,也可不同。特别是,在将第5数据写入存储器单元阵列260、将第5数据700作为第6数据正确读出的情况下,第2数据720与第4数据760的比特长和切换次数相同。
并且,第3数据740的比特长既可与第1数据700相同,也可不同。并且,第3数据740的切换次数既可与第1数据700相同,也可不同。特别是,在将第5数据写入存储器单元阵列260、将第5数据作为第6数据正确读出的情况下,第1数据700与第3数据740的比特长和切换次数相同。
并且,第6数据的比特长既可与第5数据相同,也可不同。第6数据的切换次数既可与第5数据相同,也可不同。特别是,在将第5数据写入存储器单元阵列260、将第5数据作为第6数据正确读出的情况下,第5数据与第6数据的比特长和切换次数相同。
涉及第5实施方式的存储器系统5000中,在以使数据的切换次数变少的方式编码之后,在存储控制器100与非易失性存储器200之间进行数据发送,所以能抑制伴随数据发送的功耗。另外,因为非易失性存储器200具有随机数发生器600,所以能维持存储器系统5000的可靠性。
涉及以上说明的至少一个实施方式的存储器系统在以使数据的切换次数变少的方式编码之后,在存储控制器与非易失性存储器之间进行数据发送,所以能降低伴随数据发送的功耗。
说明了本发明的几个实施方式,但这些实施方式是作为例子提示的,不意图限定发明范围。这些新的实施方式能以其他各种方式实施,在不脱离发明精神的范围下,可进行各种省略、置换、变更。这些实施方式及其变形包含在发明范围或精神中,同时,包含在权利要求记载的发明和与其等价范围中。
Claims (20)
1.一种存储器系统,具备:
非易失性存储器;以及
控制器,具有将第1数据编码为第2数据的第1切换编码器,所述控制器将所述第2数据发送到所述非易失性存储器,所述第1数据具有第1比特长和第1切换次数,所述第2数据具有长于所述第1比特长的第2比特长和比所述第1切换次数少的第2切换次数。
2.如权利请求1所述的存储器系统,
所述控制器向所述非易失性存储器发送第1同步信号,所述第1同步信号对所述非易失性存储器指示获取所述第2数据的定时。
3.如权利请求2所述的存储器系统,
发送所述第1同步信号的次数与所述第2比特长对应。
4.如权利请求1所述的存储器系统,
所述非易失性存储器具有将所述第2数据解码为所述第1数据的第1切换解码器、和存储所述第1数据的存储器单元阵列。
5.如权利请求1所述的存储器系统,
所述非易失性存储器具有将第3数据编码为第4数据的第2切换编码器,所述第3数据被从所述存储器单元阵列读出,具有第3比特长和第3切换次数,所述第4数据具有长于所述第3比特长的第4比特长和比所述第3切换次数少的第4切换次数。
6.如权利请求5所述的存储器系统,
所述非易失性存储器向所述控制器发送第2同步信号,所述第2同步信号对所述控制器指示获取所述第4数据的定时。
7.如权利请求6所述的存储器系统,
发送所述第2同步信号的次数与所述第4比特长对应。
8.如权利请求5所述的存储器系统,
所述控制器向所述非易失性存储器发送指示信号,所述指示信号指示所述非易失性存储器输出所述第4数据。
9.如权利请求8所述的存储器系统,
发送所述指示信号的次数与所述第4比特长对应。
10.如权利请求8所述的存储器系统,
所述非易失性存储器按照所述指示信号生成第2同步信号,所述第2同步信号对所述控制器指示获取所述第4数据的定时。
11.如权利请求5所述的存储器系统,
所述控制器具有第2切换解码器,将从所述非易失性存储器发送到所述控制器的所述第4数据解码为所述第3数据。
12.如权利请求11所述的存储器系统,
所述第2数据与所述第4数据的比特长相同。
13.如权利请求3所述的存储器系统,
还具备在所述非易失性存储器与所述控制器之间连接的接口芯片,所述接口芯片具有解码由所述控制器发送的所述第2数据的第1切换解码器,并将解码后的所述第2数据发送到所述非易失性存储器。
14.如权利请求4所述的存储器系统,
解码后的所述第2数据与所述第1数据的数据值相同。
15.如权利请求14所述的存储器系统,
还具备将第4数据发送到所述控制器的接口芯片,所述接口芯片具有将从所述非易失性存储器接收到的第3数据编码为所述第4数据的第2切换编码器,所述第3数据具有第3比特长和第3切换次数,所述第4数据具有长于所述第3比特长的第4比特长和比所述第3切换次数少的第4切换次数。
16.如权利请求1所述的存储器系统,
所述非易失性存储器具有:将所述第2数据随机化的随机数发生器、和写入有所述随机化后的所述第2数据的存储器单元阵列。
17.如权利请求1所述的存储器系统,
所述第1切换编码器,在将具有所述第1比特长的任意的数据编码为具有所述第2比特长的数据时,以编码后的所述数据的切换次数比所述任意的数据的切换次数少或二者相等的方式进行编码。
18.如权利请求1所述的存储器系统,
所述第1切换编码器,在将具有所述第1比特长的任意的数据编码为具有所述第2比特长的数据时,以编码后的所述数据的组中的平均切换次数比所述任意的数据的组中的平均切换次数少或二者相等的方式进行编码。
19.一种存储器系统,具备:
非易失性存储器;以及
将第2数据发送到所述非易失性存储器的控制器,
所述控制器具有:
随机数发生器,为了生成具有第1比特长和第1切换次数的第1数据,将具有第1比特长的第5数据随机化;以及
将所述第1数据编码为所述第2数据的第1切换编码器,所述第2数据具有长于所述第1比特长的第2比特长和比所述第1切换次数少的第2切换次数。
20.一种存储器系统,具备:
非易失性存储器;以及
控制器,
所述控制器具有:
切换编码器,将第1数据编码为第2数据,并将所述第2数据发送到所述非易失性存储器,所述第1数据具有第1比特长和第1切换次数,所述第2数据具有长于所述第1比特长的第2比特长和比所述第1切换次数少的第2切换次数;以及
切换解码器,将从所述非易失性存储器接收到的第3数据解码为第4数据,所述第3数据具有所述第2比特长和所述第2切换次数,所述第4数据具有所述第1比特长和所述第1切换次数。
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2019104682A JP2020198577A (ja) | 2019-06-04 | 2019-06-04 | メモリシステム |
JP2019-104682 | 2019-06-04 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN112037836A true CN112037836A (zh) | 2020-12-04 |
CN112037836B CN112037836B (zh) | 2024-01-02 |
Family
ID=73578819
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202010156015.2A Active CN112037836B (zh) | 2019-06-04 | 2020-03-09 | 存储器系统 |
Country Status (3)
Country | Link |
---|---|
US (2) | US11194656B2 (zh) |
JP (1) | JP2020198577A (zh) |
CN (1) | CN112037836B (zh) |
Families Citing this family (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2020198577A (ja) * | 2019-06-04 | 2020-12-10 | キオクシア株式会社 | メモリシステム |
JP2023023980A (ja) * | 2021-08-06 | 2023-02-16 | キオクシア株式会社 | メモリシステム |
JP2023100085A (ja) | 2022-01-05 | 2023-07-18 | キオクシア株式会社 | メモリシステム |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102789424A (zh) * | 2012-07-16 | 2012-11-21 | 哈尔滨工业大学 | 基于fpga的外扩ddr2的读写方法及基于fpga的外扩ddr2颗粒存储器 |
US20140266398A1 (en) * | 2013-03-13 | 2014-09-18 | Qualcomm Incorporated | Method and semiconductor apparatus for reducing power when transmitting data between devices in the semiconductor apparatus |
US20160231953A1 (en) * | 2015-02-06 | 2016-08-11 | Taek Kyun Lee | Memory device for internally performing read-verify operation, method of operating the same, and memory system including the same |
US20160299813A1 (en) * | 2015-04-13 | 2016-10-13 | Chang-kyu Seol | Method for operating non-volatile memory controller |
US20190065090A1 (en) * | 2017-08-31 | 2019-02-28 | Ravi Kiran Kandikonda | Systems and methods for data path power savings in ddr5 memory devices |
Family Cites Families (11)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6029264A (en) * | 1997-04-28 | 2000-02-22 | The Trustees Of Princeton University | System and method for error correcting a received data stream in a concatenated system |
US6920576B2 (en) * | 2001-05-31 | 2005-07-19 | Koninklijke Philips Electronics N.V. | Parallel data communication having multiple sync codes |
US7299985B2 (en) * | 2004-08-31 | 2007-11-27 | Symbol Technologies, Inc. | Transmitting enhanced scanner signals on a single channel |
US7746710B2 (en) * | 2008-01-10 | 2010-06-29 | Micron Technology, Inc. | Data bus power-reduced semiconductor storage apparatus |
JP5609930B2 (ja) * | 2012-07-31 | 2014-10-22 | 株式会社デンソー | トランシーバ |
US9013921B2 (en) | 2012-12-06 | 2015-04-21 | Samsung Electronics Co., Ltd. | Semiconductor memory device |
JP2014137834A (ja) | 2013-01-17 | 2014-07-28 | Samsung R&D Institute Japan Co Ltd | 半導体記憶装置 |
US9780809B2 (en) | 2015-04-30 | 2017-10-03 | Sandisk Technologies Llc | Tracking and use of tracked bit values for encoding and decoding data in unreliable memory |
KR102563888B1 (ko) * | 2016-09-30 | 2023-08-09 | 한국전기연구원 | 네트워크 환경에서 데이터 프레임 중복 제거 방법, 그 방법을 수행하는 장치 및 컴퓨터 프로그램 |
KR102475279B1 (ko) * | 2017-12-18 | 2022-12-07 | 삼성전자주식회사 | 컨볼루션 타입의 저밀도 패리티 체크 코드를 이용하여 인코딩 및 디코딩을 수행하는 메모리 컨트롤러, 이를 포함하는 메모리 시스템 및 이의 동작 방법 |
JP2020198577A (ja) * | 2019-06-04 | 2020-12-10 | キオクシア株式会社 | メモリシステム |
-
2019
- 2019-06-04 JP JP2019104682A patent/JP2020198577A/ja active Pending
-
2020
- 2020-01-28 US US16/774,609 patent/US11194656B2/en active Active
- 2020-03-09 CN CN202010156015.2A patent/CN112037836B/zh active Active
-
2021
- 2021-11-04 US US17/519,356 patent/US11740965B2/en active Active
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102789424A (zh) * | 2012-07-16 | 2012-11-21 | 哈尔滨工业大学 | 基于fpga的外扩ddr2的读写方法及基于fpga的外扩ddr2颗粒存储器 |
US20140266398A1 (en) * | 2013-03-13 | 2014-09-18 | Qualcomm Incorporated | Method and semiconductor apparatus for reducing power when transmitting data between devices in the semiconductor apparatus |
US20160231953A1 (en) * | 2015-02-06 | 2016-08-11 | Taek Kyun Lee | Memory device for internally performing read-verify operation, method of operating the same, and memory system including the same |
US20160299813A1 (en) * | 2015-04-13 | 2016-10-13 | Chang-kyu Seol | Method for operating non-volatile memory controller |
US20190065090A1 (en) * | 2017-08-31 | 2019-02-28 | Ravi Kiran Kandikonda | Systems and methods for data path power savings in ddr5 memory devices |
Also Published As
Publication number | Publication date |
---|---|
US11740965B2 (en) | 2023-08-29 |
US20220058085A1 (en) | 2022-02-24 |
JP2020198577A (ja) | 2020-12-10 |
US11194656B2 (en) | 2021-12-07 |
CN112037836B (zh) | 2024-01-02 |
US20200387425A1 (en) | 2020-12-10 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US9164834B2 (en) | Semiconductor memory devices, memory systems including the same and method of writing data in the same | |
CN112037836B (zh) | 存储器系统 | |
US8489907B2 (en) | Method of selective power cycling of components in a memory device independently by reducing power to a memory array or memory controller | |
US20180052732A1 (en) | Semiconductor device and semiconductor system | |
CN104637534B (zh) | 半导体存储器件及操作其的方法 | |
US20120300555A1 (en) | Integrated circuit memory device | |
EP3195131B1 (en) | Apparatus and method for mapping binary to ternary and its reverse | |
CN108735255B (zh) | 存储器系统 | |
CN109559775B (zh) | 非易失性存储器装置及其操作方法以及数据存储设备 | |
US11309050B2 (en) | Memory controller and memory system having the same | |
US20190377634A1 (en) | Memory controller and memory system including the same | |
US10186302B2 (en) | Semiconductor systems performing double-write operations and methods of operating the same | |
US20180267895A1 (en) | Memory system | |
US20190278704A1 (en) | Memory system, operating method thereof and electronic apparatus | |
US20230163786A1 (en) | Error correction code circuit, memory device including error correction code circuit, and operation method of error correction code circuit | |
KR20180012009A (ko) | 데이터 맵핑을 수행하는 반도체 장치 및 시스템 | |
KR20210043709A (ko) | 컨트롤러와 분리된 인 패키지 시퀀서를 포함하는 메모리 서브 시스템 | |
US10379786B2 (en) | Semiconductor devices | |
US10067677B2 (en) | Memory management method for configuring super physical units of rewritable non-volatile memory modules, memory control circuit unit and memory storage device | |
US12008247B2 (en) | Memory system | |
KR20180060510A (ko) | 데이터 저장 장치 및 그 동작 방법 | |
CN114201106A (zh) | 电子装置、存储器系统及传送方法 | |
CN108346444B (zh) | 半导体器件 | |
US10102121B1 (en) | Memory management method, memory control circuit unit and memory storage device | |
US11403038B2 (en) | Controller, a memory system including the controller, and method of operating the controller |
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 |