CN106024058B - 半导体存储装置以及数据处理方法 - Google Patents

半导体存储装置以及数据处理方法 Download PDF

Info

Publication number
CN106024058B
CN106024058B CN201510434090.XA CN201510434090A CN106024058B CN 106024058 B CN106024058 B CN 106024058B CN 201510434090 A CN201510434090 A CN 201510434090A CN 106024058 B CN106024058 B CN 106024058B
Authority
CN
China
Prior art keywords
data
bit string
sized
specific bit
reading
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
Application number
CN201510434090.XA
Other languages
English (en)
Other versions
CN106024058A (zh
Inventor
须藤直昭
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Winbond Electronics Corp
Original Assignee
Winbond Electronics Corp
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Winbond Electronics Corp filed Critical Winbond Electronics Corp
Publication of CN106024058A publication Critical patent/CN106024058A/zh
Application granted granted Critical
Publication of CN106024058B publication Critical patent/CN106024058B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C16/00Erasable programmable read-only memories
    • G11C16/02Erasable programmable read-only memories electrically programmable
    • G11C16/06Auxiliary circuits, e.g. for writing into memory
    • G11C16/10Programming or data input circuits
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input 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/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0602Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
    • G06F3/061Improving I/O performance
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input 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/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0628Interfaces specially adapted for storage systems making use of a particular technique
    • G06F3/0638Organizing or formatting or addressing of data
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input 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/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0668Interfaces specially adapted for storage systems adopting a particular infrastructure
    • G06F3/0671In-line storage system
    • G06F3/0673Single storage device
    • G06F3/0679Non-volatile semiconductor memory device, e.g. flash memory, one time programmable memory [OTP]
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C16/00Erasable programmable read-only memories
    • G11C16/02Erasable programmable read-only memories electrically programmable
    • G11C16/04Erasable programmable read-only memories electrically programmable using variable threshold transistors, e.g. FAMOS
    • G11C16/0483Erasable programmable read-only memories electrically programmable using variable threshold transistors, e.g. FAMOS comprising cells having several storage transistors connected in series
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C16/00Erasable programmable read-only memories
    • G11C16/02Erasable programmable read-only memories electrically programmable
    • G11C16/06Auxiliary circuits, e.g. for writing into memory
    • G11C16/26Sensing or reading circuits; Data output circuits
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C16/00Erasable programmable read-only memories
    • G11C16/02Erasable programmable read-only memories electrically programmable
    • G11C16/06Auxiliary circuits, e.g. for writing into memory
    • G11C16/34Determination of programming status, e.g. threshold voltage, overprogramming or underprogramming, retention
    • G11C16/3418Disturbance prevention or evaluation; Refreshing of disturbed memory data
    • G11C16/3427Circuits or methods to prevent or reduce disturbance of the state of a memory cell when neighbouring cells are read or written
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C7/00Arrangements for writing information into, or reading information out from, a digital store
    • G11C7/10Input/output [I/O] data interface arrangements, e.g. I/O data control circuits, I/O data buffers
    • G11C7/1006Data managing, e.g. manipulating data before writing or reading out, data bus switches or control circuits therefor

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Microelectronics & Electronic Packaging (AREA)
  • Human Computer Interaction (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Read Only Memory (AREA)
  • Techniques For Improving Reliability Of Storages (AREA)

Abstract

本发明提供一种半导体存储装置以及数据处理方法,无须附加识别信息而进行数据混码,且使可靠性提高,所述识别信息用于识别是抹除后的数据还是经编程的数据。本发明的快闪存储器包括在输入/输出缓冲器(110)与页面缓冲器(160)之间进行数据混码的混码部(120)。混码部(120)包含写入编码器(200)与读出解码器(220),写入编码器(200)在输入数据相当于规定比特串的情况下,跳过该输入数据的混码,读出解码器(220)在页面缓冲器(160)的读出数据相当于规定比特串的情况下,跳过该读出数据的解混。能够将存储器阵列的存储容量有效地活用于其他资源,且能够缩短实施数据混码时的数据读出时间。

Description

半导体存储装置以及数据处理方法
技术领域
本发明涉及一种与非(Not AND,以下简称NAND)型快闪存储器(flash memory)等半导体存储装置,尤其涉及NAND型快闪存储器中的数据(data)的混码(scramble)方法。
背景技术
NAND型快闪存储器具有包含多个区块的存储器阵列,在1个区块中,形成将多个存储单元(memory cell)串联连接而成的NAND串(string)。典型的是,数据的读出或编程(program)是以页面(page)为单位来进行,数据的抹除是以区块为单位来进行。
专利文献1公开了使NAND型快闪存储器的动作可靠性提高的数据的写入方法。该写入方法是:基于字线(word line)的地址来选择混码方式,按照所选择的混码方式来对要写入的数据进行混码,并将经混码的数据写入至对应的页面。
[现有技术文献]
[专利文献]
[专利文献1]日本专利特开2008-198299号公报
NAND型快闪存储器的存储单元包含N型的金属氧化物半导体(MOS)结构,该N型的MOS结构具备浮动栅极(floating gate)(电荷蓄积层)与控制栅极。当在浮动栅极蓄积电子时,存储单元的阈值偏移至正方向,该状态为数据“0”。另一方面,当从浮动栅极放出电子时,阈值偏移至负方向,该状态为数据“1”。当统一抹除区块时,该区块内的所有存储单元为数据“1”。
在此种快闪存储器中,当反复进行编程(写入)或抹除时,依存于数据的可靠性有可能发生恶化。例如,在进行编程时,数据“0”的比例压倒性地多于数据“1”的情况,或者与此相反地,数据“1”的比例压倒性地多于数据“0”的情况。由于存储单元的微细化、高集成化,存储单元间的距离变短,邻接的存储单元可能处于电容耦合而相互干涉的状况。若围绕1个存储单元的周边存储单元全部为数据“0”,则在中心的存储单元,周边存储单元的电荷产生影响,从而与全部为数据“1”的情况相比,阈值变高。数据“0”或数据“1”的不均匀因读出数据时的源极线(source line)电压的浮动电压差异,也很有可能对读出放大器(senseamplifier)的特性造成不良影响。
因此,从可靠性的观点来看,数据“0”与数据“1”的比例理想的是约为0.5。作为实现此比例的1个方法,有数据混码方案(scheme)。即,对于要编程的数据,使用乱数来进行混码,并将混码后的数据编程至存储器阵列。对于混码,例如可将要编程的地址用于种子(seeds)而对每个地址改变乱数,由此可在存储器阵列的行方向及列方向上随机地配置数据“0”与数据“1”。而且,在读出动作中,通过利用对从存储器阵列读出的数据进行混码时的乱数来进行解混(descramble),从而将经混码的数据转换成原始数据。
在NAND型快闪存储器,抹除数据后的存储单元为数据“1”,在抹除后的读出动作时,例如必须输出数据“FFh”。因此,在NAND型快闪存储器中使用数据混码的情况下,必须禁止解混,以使抹除后的数据全部为“1”。另一方面,尽管在概率上非常小,但有时通过数据混码而编程的数据全部为“1”。在读出此种数据的情况下,必须进行解混。由于此种限制,在NAND型快闪存储器,在存储器阵列的冗余区域等中,设置有标志位(flag bit),该标志位用于判定该页面是被抹除的状态,抑或是被编程的状态。标志位在包含该页面的区块被抹除时,为数据“1”,在该页面被编程时,变更为数据“0”。
图1(A)是编程动作时的流程图,图1(B)是读出动作时的流程图。首先,在编程动作,从外部的控制器接收编程命令(program command)(S10),然后,接收地址及要编程的数据(S12)。对所接收的数据进行混码(S14),进而,将标志由数据“1”变更为“0”,以表示所选择的页面已被编程(S16)。接下来,将经混码的数据及标志编程至所选择的页面(S18)。
在读出动作,当从外部的控制器输入读出命令及地址时(S20),从存储器阵列的所选择的页面读出数据(S22),接下来,进行标志的判定(S24)。若标志为“0”,则暂且视为所有的数据为“1”,由于该数据是经编程的数据,因此对所读出的数据进行解混(S26),转换成原始数据并输出(S28)。另一方面,若标志为“1”,则读出的数据为抹除后的数据,因此不进行解混处理而直接输出数据(S28)。
如此,在现有的NAND型快闪存储器中存在下述问题,即,为了实现数据混码方案,需要用于保存标志位的存储容量,该标志位用于判别是被抹除的数据还是经编程的数据,进而,在数据读出时,为了判定标志位,需要额外地耗费时间。
发明内容
本发明的目的在于,解决此类现有问题,提供一种半导体存储装置以及数据处理办法,无须附加用于识别是抹除后的数据还是经编程的数据的识别信息而进行数据混码,且使可靠性提高。
本发明的半导体存储装置包括:存储器阵列;保持部件,保持从所述存储器阵列读出的数据,或者保持对所述存储器阵列进行编程的数据;输入部件,输入数据;以及编码部件,在来自所述输入部件的数据为第1特定比特串或第2特定比特串的情况下,将来自所述输入部件的数据提供给所述保持部件,在来自所述输入部件的数据皆非第1特定比特串及第2特定比特串中的任一种的情况下,对来自所述输入部件的数据进行混码,并将混码后的数据提供给所述保持部件,所述第1特定比特串等于抹除所述存储器阵列时的数据,第2特定比特串在经所述编码部件混码的情况下成为所述第1特定比特串。
较好的是,半导体存储装置还包括:输出部件,输出数据;以及解码部件,在来自所述保持部件的数据为所述第1特定比特串或所述第2特定比特串的情况下,将来自所述保持部件的数据提供给所述输出部件,在来自所述保持部件的数据皆非所述第1特定比特串及第2特定比特串中的任一种的情况下,对来自所述保持部件的数据进行解混,并将解混后的数据提供给所述输出部件。较好的是,所述编码部件包括:第1检测器,接收来自所述输入部件的数据,检测所述数据中是否包含所述第1特定比特串;混码电路,接收来自所述输入部件的数据,对所述数据进行混码;第2检测器,接收经所述混码电路混码的数据,检测所述数据中是否包含所述第2特定比特串;以及第1选择部,基于所述第1检测器及所述第2检测器的检测结果,选择来自所述输入部件的数据或经所述混码电路混码的数据。较好的是,所述解码部件包括:第3检测器,接收来自所述保持部件的数据,检测所述数据中是否包含所述第1特定比特串;解混电路,接收来自所述保持部件的数据,对所述数据进行解混;第4检测器,接收经所述解混电路解混的数据,检测所述数据中是否包含所述第2特定比特串;以及第2选择部,基于所述第3检测器及所述第4检测器的检测结果,选择来自所述保持部件的数据或经所述解混电路解混的数据。例如,所述第1特定比特串是包含逻辑1的比特串。
本发明的数据处理方法是具有NAND型存储器阵列的半导体存储装置的数据处理方法,其包括:数据登录步骤,从外部输入要编程的数据;以及编码步骤,在输入的所述数据为第1特定比特串或第2特定比特串的情况下,将输入的所述数据提供给所述存储器阵列,在输入的所述数据皆非第1特定比特串及第2特定比特串中的任一种的情况下,对输入的所述数据进行混码,并将混码后的数据提供给所述存储器阵列,所述第1特定比特串等于抹除所述存储器阵列时的数据,第2特定比特串在经所述混码的情况下成为所述第1特定比特串。
较好的是,数据处理方法还包括:数据读出步骤,从所述存储器阵列读出数据;以及解码步骤,在所读出的数据为所述第1特定比特串或所述第2特定比特串的情况下,将读出所述数据提供给输出部件,在读出所述数据皆非所述第1特定比特串及第2特定比特串中的任一种的情况下,对读出所述数据进行解混,并将解混后的数据提供给所述输出部件。较好的是,所述编码步骤包括:第1检测步骤,检测输入的所述数据中是否包含所述第1特定比特串;混码步骤,对输入的所述数据进行混码;第2检测步骤,检测经混码步骤混码的数据是否包含所述第2特定比特串;以及第1选择步骤,基于所述第1检测步骤及所述第2检测步骤的检测结果,选择输入的所述数据或经混码的所述数据。较好的是,所述解码步骤包括:第3检测步骤,检测从所述存储器阵列读出的数据中是否包含所述第1特定比特串;解混步骤,对读出的所述数据进行解混;第4检测步骤,检测经解混的所述数据中是否包含所述第2特定比特串;以及第2选择步骤,基于所述第3检测步骤及所述第4检测步骤的检测结果,选择读出所述数据或经解混的所述数据。例如所述第1特定比特串是包含逻辑1的比特串。
根据本发明,在相当于与抹除存储器阵列时相等的第1特定比特串、及在混码时成为第1特定比特串的第2特定比特串中的任一者的情况下,将输入的数据不进行混码而编程至存储器阵列,在从存储器阵列读出的数据相当于第1特定比特串或第2特定比特串的情况下,将读出的数据不进行解混而输出,因此无须附加标志等识别信息,所述标志用于识别是抹除时的数据还是经编程的数据。因此,能够将存储器阵列的存储容量有效地活用于其他资源,且能够缩短实施数据混码时的数据读出时间。
附图说明
图1(A)、图1(B)是进行数据混码的NAND型快闪存储器的动作流程图,图1(A)是编程动作时的流程图,图1(B)是读出动作时的流程图;
图2是表示本发明的实施例的NAND型快闪存储器的整体概略结构图;
图3是表示本发明的实施例的存储单元阵列的NAND串的结构的电路图;
图4是表示本发明的实施例的快闪存储器的编程时对各部分施加的电压的一例的图;
图5是表示本发明的实施例的混码部的内部结构图;
图6(A)表示写入编码器的混码的判定基准,图6(B)表示读出解码器的解混的判定基准;
图7(A)表示本实施例的写入编码器的内部结构例,图7(B)表示本实施例的读出解码器的内部结构例。
附图标记说明:
10:快闪存储器;
100:存储器阵列;
110:输入/输出缓冲器;
120:混码部;
130:地址寄存器;
140:控制部;
150:字线选择电路;
160:页面缓冲器;
170:列选择电路;
180:内部电压产生电路;
200:写入编码器;
202:第1检测器;
204:混码电路;
206:第2检测器;
208:或电路;
210:多工器;
220:读出解码器;
222:第3检测器;
224:解混电路;
226:第4检测器;
228:或电路;
230:多工器;
Ax:行地址信息;
Ay:列地址信息;
BLK(0)~BLK(m-1):存储器区块;
MC0~MC31:存储单元;
NU:NAND串单元;
S10~S28:步骤;
SGD、SGS:选择栅极线;
SL:源极线;
TD、TS:选择晶体管;
Vers:抹除电压;
Vpgm:写入电压;
Vpass:通过电压;
Vread:读出通过电压。
具体实施方式
以下,参照附图来详细说明本发明的实施方式。另外,应留意的是,附图中,为了便于理解而强调表示各部分,与实际元件的比例并不相同。
图2表示本发明的实施例的快闪存储器的典型结构图。但是,此处所示的快闪存储器的结构仅为例示,本发明未必限定于此种结构。本实施例的快闪存储器10包括:存储器阵列100,呈矩阵状地排列有多个存储单元;输入/输出缓冲器110,连接于外部输入/输出端子I/O,且保持输入/输出数据;混码部120,进行对存储器阵列100编程的数据的混码及从存储器阵列100读出的数据的解混;地址寄存器(address register)130,接收来自输入/输出缓冲器110的地址数据;控制部140,接收来自输入/输出缓冲器110的命令数据或来自外部的控制信号,以控制各部分;字线选择电路150,从地址寄存器130接收行地址信息Ax,对行地址信息Ax进行解码,并基于解码结果来进行区块的选择及字线的选择等;页面缓冲器160,保持从由字线选择电路150所选择的页面读出的数据,或者保持对所选择的页面的写入数据;列选择电路170,从地址寄存器130接收列地址信息Ay,对列地址信息Ay进行解码,并基于该解码结果来进行页面缓冲器160内的数据的选择等;以及内部电压产生电路180,生成数据的读出、编程及抹除等所需的各种电压(写入电压Vpgm、通过电压Vpass、读出通过电压Vread、抹除电压Vers等)。
存储器阵列100具有沿列方向配置的m个存储器区块BLK(0)、BLK(1)、…、BLK(m-1)。靠近区块BLK(0)而配置有页面缓冲器160。除了此种结构以外,页面缓冲器160也可配置在区块的另一个端部或者两侧的端部。
在1个存储器区块,如图3所示,形成有多个NAND串单元(unit)NU,该多个NAND串单元NU是将多个存储单元串联连接而成,在1个存储器区块内,沿行方向排列有n+1个NAND串单元NU。NAND串单元NU包含串联连接的多个存储单元MCi(i=0、1、…、31)、与其中一个端部即存储单元MC31的漏极(drain)侧连接的选择晶体管(transistor)TD、及与另一个端部即存储单元MC0的源极侧连接的选择晶体管TS,选择晶体管TD的漏极连接于对应的1条位线(bit line)GBL(GBL0至GBLn),选择晶体管TS的源极连接于共用的源极线SL。
存储单元MCi的控制栅极连接于字线WLi,选择晶体管TD、TS的栅极连接于与字线WL平行的选择栅极线SGD、SGS。字线选择电路150在基于行地址Ax或经转换的地址来选择区块时,经由区块的选择栅极线SGS、SGD来选择性驱动选择晶体管TS、TD。图3表示了典型的单元单元的结构,但单元单元也可在NAND串内包含1个或多个虚设单元(dummy cell)。
存储单元典型的是具有MOS结构,该MOS结构包括:作为N型扩散区域的源极/漏极,形成在P沟道(well)内;隧道(tunnel)氧化膜,形成在源极/漏极间的通道(channel)上;浮动栅极(电荷蓄积层),形成在隧道氧化膜上;以及控制栅极,经由介电质膜而形成在浮动栅极上。当浮动栅极中未蓄积有电荷时,即写入有数据“1”时,阈值处于负状态,存储单元为常通(normally on)。当在浮动栅极中蓄积有电子时,即写入有数据“0”时,阈值偏移为正,存储单元为常断(normally off)。其中,存储单元既可为存储单个位(二值数据)的单层单元(Single Level Cell,以下简称SLC)型,也可为存储多个位的多层单元(Multi LevelCell,MLC)型。
图4是表示在快闪存储器的各动作时施加的偏电压的一例的表(table)。在读出动作时,对位线施加某正电压,对所选择的字线施加某电压(例如0V),对非选择字线施加通过电压Vpass(例如4.5V),对选择栅极线SGD、SGS施加正电压(例如4.5V),使位线选择晶体管TD、源极线选择晶体管TS导通,对共用源极线施加0V。在编程(写入)动作时,对所选择的字线施加高电压的编程电压Vpgm(15V~20V),对非选择的字线施加中间电位(例如10V),使位线选择晶体管TD导通,使源极线选择晶体管TS断开,并将与“0”或“1”的数据相应的电位供给至位线GBL。在抹除动作时,对区块内的被选择的字线施加0V,对P沟道施加高电压(例如20V),将浮动栅极的电子抽出至基板,由此以区块为单位来抹除数据。
接下来,对本实施例的数据混码处理的详细情况进行说明。混码部120如图5所示,配置在输入/输出缓冲器110与页面缓冲器160之间,在编程动作时,写入编码器200对从输入/输出缓冲器110输入的数据进行混码,并将经混码的数据提供给页面缓冲器160,在读出动作时,读出解码器220对从页面缓冲器160读出的数据进行解混,并将经解混的数据提供给输入/输出缓冲器110。通常,混码处理对于所输入的数据,与根据地址等生成的乱数种子(seed)进行异或(Exclusive OR,以下简称XOR)运算。此时,对于经混码处理的数据,再次进行与同一乱数种子的XOR运算,由此可获得原始输入数据、即经解混的数据。因此,进行混码处理的写入编码器200与进行解混处理的读出解码器220可包含相同的电路,从而可分别进行混码处理及解混处理。
在NAND型快闪存储器中,当实施数据的混码时,在抹除后的读出时,必须输出数据“1”。因而,在读出抹除后的数据时,禁止数据的混码。另一方面,在对混码后的数据全部为“1”的数据进行编程时,该数据与抹除后的数据不同,是以经混码的状态而保持于存储单元阵列,在读出时必须进行解混,因此必须与抹除后的数据相区别。以前,为了区别两种数据而准备了标志位,但在本实施例中不使用标志位,而是基于编程的数据或读出的数据的结构来控制混码。
写入编码器200如上所述,对从输入/输出缓冲器110输入的要编程的数据进行混码,读出解码器220对由页面缓冲器160所保持的读出数据进行解混。图6(A)表示写入编码器200的混码的判定基准。首先,当来自输入/输出缓冲器110的输入数据全部为“1”时(此处为了方便而记作FFh),不进行输入数据“FFh”的混码,而将输入数据“FFh”直接编程至存储器阵列。在输入数据为“XXh”的情况下,也不进行输入数据“XXh”的混码,而将输入数据“XXh”直接编程至存储器阵列。此处,“XXh”是在经混码时成为“FFh”的数据。当输入数据皆非“FFh”及“XXh”中的任一者时(将其统一用“YYh”来表示),对输入数据“YYh”进行混码,并将经混码的数据“ZZh”编程至存储器阵列。
图6(B)表示读出解码器220的解混的判定基准。在读出至页面缓冲器160的数据为“FFh”时,不进行解混,而直接将“FFh”输出至输入/输出缓冲器110。在读出的数据为“XXh”的情况下,也不进行解混而将“XXh”直接输出至输入/输出缓冲器110。当读出的数据为“ZZh”时,对读出的数据“ZZh”进行解混,并将经解混的数据“YYh”输出至输入/输出缓冲器110。
图7(A)表示写入编码器200的结构例,图7(B)表示读出解码器220的结构例。写入编码器200具有:第1检测器202,接收输入数据,检测该输入数据是否相当于“FFh”;混码电路204,接收输入数据,对该输入数据进行混码;第2检测器206,接收从混码电路204输出的经混码的数据,检测该经混码的数据是否相当于“FFh”;或(Or)电路208,接收第1检测器202及第2检测器206的检测结果,并输出其逻辑或;以及多工器(multiplexer)210,接收来自输入/输出缓冲器110的输入数据及从混码电路204输出的数据,并基于或电路208的输出来选择任一个数据。多工器210在或电路208的输出为H电位时,即,在由第1检测器202或第2检测器206中的任一者检测出“FFh”时,选择来自输入/输出缓冲器110的输入数据,并将所选择的数据输出至页面缓冲器160,在或电路208的输出为L电位时,选择经混码电路204混码的数据,并将所选择的数据输出至页面缓冲器160。
读出解码器220进行与写入编码器200同样的处理。即,读出解码器220具有:第3检测器222,接收来自页面缓冲器160的读出数据,检测该读出数据是否相当于“FFh”;解混电路224,接收读出数据,并对该读出数据进行解混;第4检测器226,接收从解混电路224输出的经解混的数据,检测该经解混的数据是否相当于“FFh”;或电路228,接收第3检测器222及第4检测器226的检测结果,并输出其逻辑或;以及多工器230,接收页面缓冲器160的读出数据及从解混电路224输出的数据,并基于或电路228的输出来选择任一个数据。多工器230在或电路228的输出为H电位时,由第3检测器222或第4检测器226中的任一者检测出“FFh”时,选择读出数据,并将所选择的数据输出至输入/输出缓冲器110,在或电路228输出为L电位时,选择经解混电路224解混的数据,并将所选择数据输出至输入/输出缓冲器110。
本实施例中,当要编程的数据为“FFh”时,“FFh”不经混码而编程至存储器阵列。要编程的数据“FFh”在存储器阵列内与抹除后的数据相同,但读出数据为“FFh”的情况下,直接输出“FFh”,因此抹除后的数据及要编程的数据“FFh”的读出不会产生问题。
而且,当要编程的数据为“XXh”时,“XXh”不经混码而编程至存储器阵列。即,在存储器阵列,未编程与抹除后的数据为相同结构的数据,因此可与抹除后的数据区别开来。例如,当某区块被抹除时,该区块内的各页面的存储单元全部为数据“1”。当将编程数据“XXh”编程至被抹除的区块内的某个所选择的页面时,“XXh”将被直接编程至所选择的页面。若对“XXh”进行混码,则会编程“FFh”,这样将无法与对要编程的数据“FFh”进行编程时的数据区别开来。
如此,本实施例中,当数据为“FFh”、“XXh”时跳过(skip)混码,由此,无须如现有般对每个页面写入标志位,且在数据读出时无须判定标志,因此能够将存储器阵列的存储容量有效地利用于其他资源,能够提高数据的读出速度。而且,本实施例中,不对数据“FFh”、“XXh”实施混码,但这些数据的产生频率非常小,对整体的可靠性造成的影响有限。
接下来,对本发明的其他实施例进行说明。在NAND型快闪存储器,能够执行对同一页面连续编程n次(n为2以上的自然数)数据的功能(以下,为了方便而称作局部页面编程(partial page program))。若进一步推进存储单元的高集成化,则1个页面的大小也将增加,有时编程的数据量不满1页面的大小。若对同一页面只能编程1次数据,则各页面的利用效率将下降,相反地,若在1页面上存在可编程的多个数据时,必须将这些数据编程至多个页面,若如此,则编程所需的时间将大幅增加。另一方面,对同一页面连续编程n次,意味着将对该页面施加n次高的编程电压,因此编程的次数存在限制。例如,若n=4,则能够对同一页面连续编程4次数据。
局部页面编程例如是在从外部的控制器收到编程命令之后,接收行地址Ax及列地址Ay1,接下来,接收局部数据D1,以根据行地址Ax所选择的页面的列地址Ay1为先头来编程局部数据D1,接下来,接收列地址Ay2及局部数据D2,以同一页面的列地址Ay2为先头来编程局部数据D2,将此种处理反复进行n次,结果,在1个页面上编程n个局部数据D1、D2、…、Dn。
在可执行此种局部页面编程的NAND型快闪存储器中,当采用数据混码方案时,必须判定页面内的局部数据是经编程的,抑或是被抹除的。通过局部页面编程而编程的局部数据的大小并不固定而为可变的,因此若不判明局部数据的边界,便无法适当地执行数据混码。
当使用本实施例的混码部120时,即使在执行局部页面编程情况,也无须判别局部数据边界而能够适当地实施数据混码。
所述实施例中,表示了在输入/输出缓冲器110与页面缓冲器160之间配置混码部120的例子,但混码部120例如也可为设置在页面缓冲器160内的结构。
最后应说明的是:以上各实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述各实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分或者全部技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的范围。

Claims (10)

1.一种半导体存储装置,其特征在于,包括:
存储器阵列;
保持部件,保持从所述存储器阵列读出的读出数据,或者保持对所述存储器阵列进行编程的数据;
输入部件,输入数据;以及
编码部件,在来自所述输入部件的数据为第1特定比特串或第2特定比特串的情况下,将来自所述输入部件的数据提供给所述保持部件以作为对所述存储器阵列进行编程的数据,在来自所述输入部件的数据皆非第1特定比特串及第2特定比特串中的任一种的情况下,对来自所述输入部件的数据进行混码,并将混码后的数据提供给所述保持部件以作为对所述存储器阵列进行编程的数据,
所述第1特定比特串等于抹除所述存储器阵列时的数据,所述第2特定比特串在经所述编码部件混码的情况下成为所述第1特定比特串。
2.根据权利要求1所述的半导体存储装置,其特征在于,还包括:
输出部件,输出数据;以及
解码部件,在来自所述保持部件的所述读出数据为所述第1特定比特串或所述第2特定比特串的情况下,将来自所述保持部件的所述读出数据提供给所述输出部件,在来自所述保持部件的所述读出数据皆非所述第1特定比特串及第2特定比特串中的任一种的情况下,对来自所述保持部件的所述读出数据进行解混,并将解混后的数据提供给所述输出部件。
3.根据权利要求1所述的半导体存储装置,其特征在于,
所述编码部件包括:
第1检测器,接收来自所述输入部件的数据,检测所述数据中是否包含所述第1特定比特串;
混码电路,接收来自所述输入部件的数据,对所述数据进行混码;
第2检测器,接收经所述混码电路混码的数据,检测所述数据中是否包含所述第2特定比特串;以及
第1选择部,基于所述第1检测器及所述第2检测器的检测结果,选择来自所述输入部件的数据或经所述混码电路混码的数据。
4.根据权利要求2所述的半导体存储装置,其特征在于,
所述解码部件包括:
第3检测器,接收来自所述保持部件的所述读出数据,检测所述读出数据中是否包含所述第1特定比特串;
解混电路,接收来自所述保持部件的所述读出数据,对所述读出数据进行解混;
第4检测器,接收经所述解混电路解混的数据,检测所述读出数据中是否包含所述第2特定比特串;以及
第2选择部,基于所述第3检测器及所述第4检测器的检测结果,选择来自所述保持部件的所述读出数据或经所述解混电路解混的数据。
5.根据权利要求1至4中任一项所述的半导体存储装置,其特征在于,
所述第1特定比特串是包含逻辑1的比特串。
6.一种数据处理方法,是具有与非型存储器阵列的半导体存储装置的数据处理方法,其特征在于,包括:
数据登录步骤,从外部输入要编程的数据;以及
编码步骤,在输入的所述数据为第1特定比特串或第2特定比特串的情况下,将输入的所述数据提供给所述存储器阵列,在输入的所述数据皆非所述第1特定比特串及所述第2特定比特串中的任一种的情况下,对输入的所述数据进行混码,并将混码后的数据提供给所述存储器阵列,
所述第1特定比特串等于抹除所述存储器阵列时的数据,所述第2特定比特串在经所述混码的情况下成为所述第1特定比特串。
7.根据权利要求6所述的数据处理方法,其特征在于,还包括:
数据读出步骤,从所述存储器阵列读出数据;以及
解码步骤,在所读出的数据为所述第1特定比特串或所述第2特定比特串的情况下,将读出的所述数据提供给输出部件,在读出的所述数据皆非所述第1特定比特串及第2特定比特串中的任一种的情况下,对读出的所述数据进行解混,并将解混后的数据提供给所述输出部件。
8.根据权利要求6所述的数据处理方法,其特征在于,
所述编码步骤包括:
第1检测步骤,检测输入的所述数据中是否包含所述第1特定比特串;
混码步骤,对输入的所述数据进行混码;
第2检测步骤,检测经混码步骤混码的数据是否包含所述第2特定比特串;以及
第1选择步骤,基于所述第1检测步骤及所述第2检测步骤的检测结果,选择输入的所述数据或经混码的所述数据。
9.根据权利要求7所述的数据处理方法,其特征在于,
所述解码步骤包括:
第3检测步骤,检测从所述存储器阵列读出的数据中是否包含所述第1特定比特串;
解混步骤,对读出所述的数据进行解混;
第4检测步骤,检测经解混的所述数据中是否包含所述第2特定比特串;以及
第2选择步骤,基于所述第3检测步骤及所述第4检测步骤的检测结果,选择读出的所述数据或经解混的所述数据。
10.根据权利要求6至9中任一项所述的数据处理方法,其特征在于,
所述第1特定的比特串是包含逻辑1的比特串。
CN201510434090.XA 2015-03-26 2015-07-22 半导体存储装置以及数据处理方法 Active CN106024058B (zh)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
JP2015-064388 2015-03-26
JP2015064388A JP5940704B1 (ja) 2015-03-26 2015-03-26 半導体記憶装置

Publications (2)

Publication Number Publication Date
CN106024058A CN106024058A (zh) 2016-10-12
CN106024058B true CN106024058B (zh) 2018-06-29

Family

ID=56244667

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201510434090.XA Active CN106024058B (zh) 2015-03-26 2015-07-22 半导体存储装置以及数据处理方法

Country Status (5)

Country Link
US (1) US9612753B2 (zh)
JP (1) JP5940704B1 (zh)
KR (1) KR101689185B1 (zh)
CN (1) CN106024058B (zh)
TW (1) TWI564899B (zh)

Families Citing this family (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP6181218B2 (ja) * 2016-02-09 2017-08-16 ウィンボンド エレクトロニクス コーポレーション 半導体記憶装置
US11462278B2 (en) * 2020-05-26 2022-10-04 Samsung Electronics Co., Ltd. Method and apparatus for managing seed value for data scrambling in NAND memory
KR20220048377A (ko) 2020-10-12 2022-04-19 에스케이하이닉스 주식회사 저장 장치 및 그 동작 방법

Family Cites Families (22)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH09162859A (ja) * 1995-12-07 1997-06-20 Fujitsu Ltd スクランブル方法及び装置、デスクランブル方法及び装置、並びに、データ伝達方法及びシステム
US7603413B1 (en) * 2005-04-07 2009-10-13 Aol Llc Using automated agents to facilitate chat communications
US8127200B2 (en) 2006-12-24 2012-02-28 Sandisk Il Ltd. Flash memory device and system with randomizing for suppressing errors
US8370561B2 (en) * 2006-12-24 2013-02-05 Sandisk Il Ltd. Randomizing for suppressing errors in a flash memory
US7984360B2 (en) * 2006-12-31 2011-07-19 Ramot At Tel Aviv University Ltd. Avoiding errors in a flash memory by using substitution transformations
KR100813627B1 (ko) * 2007-01-04 2008-03-14 삼성전자주식회사 멀티-비트 데이터를 저장할 수 있는 플래시 메모리 장치를제어하는 메모리 제어기와 그것을 포함한 메모리 시스템
JP4498370B2 (ja) * 2007-02-14 2010-07-07 株式会社東芝 データ書き込み方法
US8301912B2 (en) * 2007-12-31 2012-10-30 Sandisk Technologies Inc. System, method and memory device providing data scrambling compatible with on-chip copy operation
US7826277B2 (en) * 2008-03-10 2010-11-02 Hynix Semiconductor Inc. Non-volatile memory device and method of operating the same
KR101517185B1 (ko) * 2008-04-15 2015-05-04 삼성전자주식회사 메모리 시스템 및 그것의 동작 방법
KR101082650B1 (ko) 2009-01-21 2011-11-14 주식회사 하이닉스반도체 불휘발성 메모리 장치 및 그 동작 방법
KR101504338B1 (ko) * 2009-03-04 2015-03-23 삼성전자주식회사 불휘발성 메모리 장치의 동작 방법
US8413016B2 (en) * 2009-04-28 2013-04-02 Panasonic Corporation Nonvolatile memory device and controller for judging a normal or anomalous condition of an error-corrected bit pattern
JP2011134125A (ja) * 2009-12-24 2011-07-07 Toshiba Corp コントローラ及びデータストレージシステム
CN102208210B (zh) * 2010-03-31 2016-04-27 深圳市朗科科技股份有限公司 闪存设备及其数据存储方法
KR20120002760A (ko) * 2010-07-01 2012-01-09 삼성전자주식회사 낸드 플래쉬 메모리의 동작 신뢰성을 향상시키는 데이터 기록 방법 및 데이터 기록 장치
JP2012133835A (ja) * 2010-12-20 2012-07-12 Samsung Yokohama Research Institute Co Ltd 不揮発性半導体記憶装置及び方法
CN102682848B (zh) * 2011-03-16 2016-12-07 三星电子株式会社 存储器装置、存储器卡、固态驱动器、系统及其操作方法
KR101893143B1 (ko) * 2011-03-16 2018-08-31 삼성전자주식회사 비휘발성 메모리 장치, 그것의 프로그램 방법 및 읽기 방법, 및 그것을 포함하는 메모리 시스템
US8843693B2 (en) * 2011-05-17 2014-09-23 SanDisk Technologies, Inc. Non-volatile memory and method with improved data scrambling
US8666068B2 (en) * 2011-10-20 2014-03-04 Sandisk Technologies Inc. Method for scrambling shaped data
KR20140023609A (ko) * 2012-08-16 2014-02-27 삼성전자주식회사 비휘발성 메모리 장치 및 그 동작 방법

Also Published As

Publication number Publication date
JP2016184448A (ja) 2016-10-20
US9612753B2 (en) 2017-04-04
JP5940704B1 (ja) 2016-06-29
US20160283113A1 (en) 2016-09-29
CN106024058A (zh) 2016-10-12
KR20160115649A (ko) 2016-10-06
KR101689185B1 (ko) 2016-12-23
TW201635297A (zh) 2016-10-01
TWI564899B (zh) 2017-01-01

Similar Documents

Publication Publication Date Title
US10304543B2 (en) Semiconductor memory device for improving high temperature data retention
JP4886434B2 (ja) 不揮発性半導体記憶装置
CN102150216B (zh) 具有降低的数据存储要求的存储器的多遍编程
US7315472B2 (en) Non-volatile memory device
US6958940B2 (en) Nonvolatile semiconductor memory device capable of realizing optimized erasing operation in a memory array
US7002848B2 (en) Nonvolatile semiconductor memory device
KR100953063B1 (ko) 불휘발성 메모리 장치의 소거 방법
KR101384316B1 (ko) 반도체 기억장치
CN106024059B (zh) 半导体存储装置以及数据处理方法
JP2009230818A (ja) 半導体記憶装置
JP2004014043A (ja) 不揮発性半導体メモリ
KR101699476B1 (ko) 반도체 기억장치
KR20110078752A (ko) 반도체 메모리 장치의 동작 방법
JP2009016021A (ja) Nand型フラッシュメモリ
KR101668340B1 (ko) Nand형 플래시 메모리 및 그의 프로그래밍 방법
JP4336342B2 (ja) 不揮発性半導体記憶装置
CN107103933B (zh) 反及型闪存及其编程方法
CN106024058B (zh) 半导体存储装置以及数据处理方法
US8498161B2 (en) Nonvolatile memory device and method of reading the same
US20090055579A1 (en) Semiconductor memory device for simultaneously programming plurality of banks
JP5657063B2 (ja) 半導体記憶装置
CN105023608B (zh) 闪速存储器及坏区块的管理方法
CN113345503B (zh) 半导体存储装置以及读出方法
US7978511B2 (en) Data line management in a memory device
US8773901B2 (en) Nonvolatile memory device preventing shift in threshold voltage of erase cell and program method thereof

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