CN102147753B - 非挥发性记忆装置及其数据处理方法 - Google Patents
非挥发性记忆装置及其数据处理方法 Download PDFInfo
- Publication number
- CN102147753B CN102147753B CN 201010125742 CN201010125742A CN102147753B CN 102147753 B CN102147753 B CN 102147753B CN 201010125742 CN201010125742 CN 201010125742 CN 201010125742 A CN201010125742 A CN 201010125742A CN 102147753 B CN102147753 B CN 102147753B
- Authority
- CN
- China
- Prior art keywords
- crc
- redundancy check
- cyclic redundancy
- order
- 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.)
- Active
Links
Images
Abstract
本发明涉及非挥发性记忆装置及其数据处理方法。非挥发性记忆装置包括控制器和与非门闪存。首先,由控制器将目标命令及对应的目标地址序列传送至与非门闪存。接着,与非门闪存根据目标地址计算出第一数值。其次,控制器将对应于目标地址的循环冗余校验码传送至与非门闪存。然后,与非门闪存根据第一数值及该循环冗余校验码进行循环冗余校验,用以判断是否发生传送错误。当传送错误发生时,设定状态缓存器,以通知控制器重新传送目标命令及对应的目标地址。
Description
技术领域
本发明涉及非挥发性内存(non-volatile memory),更具体地说,涉及与非门闪存(NAND flash memory)及其数据处理方法。
背景技术
由于非挥发性内存,比如闪存,可被电性抹除并重新编程(reprogram),且具有尺寸小、省电和低成本等优点,因此广泛地用于各种消费性电子装置中,例如移动电话、数字相机、个人数字助理(Personal Digital Assistant,PDA)等,作为一般数据储存及传输之用。
闪存可分成与非门闪存与或非门闪存(NOR flash memory)。相比于或非门闪存,与非门闪存的成本较低、记忆容量较大、且具有较快的写入速度及抹除速度。这使得与非门闪存普遍地作为便携式产品的储存媒介,用以储存各种多媒体数据。
一般而言,当存取与非门闪存时,以序列传送的方式来传送欲存取的数据。随着数据传输速率的不断提升,数据传输时更容易受噪声干扰等问题影响,进而大幅增加数据传输错误的发生率。在此情况下,由于常用的与非门闪存并无法实时测知数据传输错误的发生,故无法确知欲存取的地址或数据是否正确。进一步,错误的存取地址或存取数据,还可能导致与非门闪存进行数据无法回复的错误编程或抹除操作。
因此,需要一种适用于与非门闪存的数据处理方法,能够在操作与非门闪存时,实时地测知传输错误情况的发生,并采取适当的措施,用以提升与非门闪存的可靠性。
发明内容
本发明的实施例提供一种数据处理方法,适用于非挥发性记忆装置。所述非挥发性记忆装置包括控制器及与非门闪存。首先,由所述控制器将目标命令及对应的目标地址序列传送至所述与非门闪存。接着,所述与非门闪存根据所述目标地址计算出第一数值。其次,所述控制器将对应于所述目标地址的循环冗余校验码传送至所述与非门闪存。然后,所述与非门闪存根据所述第一数值及所述循环冗余校验码进行循环冗余校验,用以判断是否发生传送错误。在一实施例中,当所述传送错误发生时,设定状态缓存器,以通知所述控制器重新传送所述目标命令及对应的所述目标地址。
另一方面,本发明的实施例提供一种数据处理方法,适用于非挥发性记忆装置。所述非挥发性记忆装置包括控制器及与非门闪存。首先,所述控制器将读取命令及对应的读取地址序列传送至所述与非门闪存。接着,所述与非门闪存根据所述读取地址执行读取操作,并将所读取的既定数据序列传送至所述控制器。其次,所述控制器根据所述既定数据计算出第一数值。然后,所述与非门闪存将对应于所述既定数据的循环冗余校验码传送至所述控制器。接下来,所述控制器根据所述第一数值及所述循环冗余校验码进行循环冗余校验,用以判断是否发生传送错误。在一实施例中,当所述传送错误发生时,所述控制器重新传送所述读取命令及对应的所述读取地址。
另一方面,本发明的实施例提供一种非挥发性记忆装置。所述非挥发性记忆装置包括控制器、总线及与非门闪存。所述控制器用以提供目标命令及对应的目标地址。所述总线用以序列传送所述目标命令及对应的所述目标地址。所述与非门闪存经由所述总线耦接至所述控制器,包括与非门快闪数组、输入/输出电路及引擎。所述输入/输出电路用以接收所述目标命令及对应的所述目标地址。所述引擎耦接至所述输入/输出电路,用以根据所述目标地址计算出第一数值,并根据所述第一数值及由所述控制器所接收且对应于所述目标地址的循环冗余校验码进行循环冗余校验,用以判断是否发生传送错误。在一实施例中,当所述传送错误发生时,所述引擎设定状态缓存器,以通知所述控制器重新传送所述目标命令及对应的所述目标地址。
另一方面,本发明的实施例提供一种非挥发性记忆装置。所述非挥发性记忆装置包括控制器、总线及与非门闪存。所述控制器用以提供读取命令及对应的读取地址。所述总线用以序列传送所述读取命令及对应的所述读取地址。所述与非门闪存经由所述总线耦接至所述控制器,包括与非门快闪数组、输入/输出电路及引擎。所述与非门快闪数组用以根据所述读取地址执行读取操作。所述输入/输出电路用以将由所述与非门快闪数组所读取的既定数据经由所述总线序列传送至所述控制器。所述引擎耦接至所述输入/输出电路,用以将对应于所述既定数据的一循环冗余校验码传送至所述控制器。所述控制器根据所述既定数据计算出第一数值,并根据所述第一数值及所述循环冗余校验码进行循环冗余校验,用以判断是否发生传送错误。在一实施例中,当所述传送错误发生时,所述控制器重新传送所述读取命令及对应的所述读取地址。
为使本发明的上述目的、特征和优点能更明显易懂,下文特举实施例,并配合所附图示,详细说明如下。
附图说明
图1显示依据本发明实施例的非挥发性记忆装置模块图;
图2显示依据本发明实施例的数据处理方法流程图;
图3显示依据本发明实施例的编程操作时序图;
图4显示依据本发明另一实施例的数据处理方法流程图;
图5显示依据本发明实施例的抹除操作时序图;
图6显示依据本发明另一实施例的数据处理方法流程图;
图7显示依据本发明实施例的读取操作时序图。
【主要组件符号说明】
10~非挥发性记忆装置 102~控制器 104~与非门闪存
106~总线 110~与非门快闪数组 112~静态存取内存
114~控制逻辑电路 116~循环冗余校验引擎 118~输入/输出电路
具体实施方式
图1显示依据本发明实施例的非挥发性记忆装置10模块图。
参考图1的实施例,非挥发性记忆装置10包括控制器102和与非门闪存104。控制器102用以提供来自于外部主机(未图标)的目标命令及对应的目标地址。控制器102经由总线106,例如通用序列汇排流(Universal SerialBus,USB),耦接至与非门闪存104,用以将目标命令及对应的目标地址序列传送至与非门闪存104。
在一实施例中,非挥发性记忆装置10可为安全数字(SD)卡、多媒体卡(MMC)、Micro SD卡、记忆条(MS)卡或高容量记忆条(MS Pro)卡等储存媒介。除此之外,控制器102与与非门闪存104可各自以集成电路(Integrated Circuit,IC)加以实现。
进一步,与非门闪存104包括与非门快闪数组110、静态存取内存(SRAM)112、控制逻辑电路114及输入/输出电路118。在一实施例中,与非门快闪数组110可包括多个内存库(bank),每一内存库均由多个记忆单元(cell)以数组形式所组成。
参考图1,控制逻辑电路114从控制器102接收多个存取信号。在一实施例中,存取信号可包括芯片致能信号(CE#)、命令锁存(latch)致能信号(CLE)、地址锁存致能信号(ALE)、写入致能信号(WE#)、读取致能信号(RE#)及待命/忙碌信号(R/B#)。输入/输出电路118经由总线106接收控制器102所发送的目标命令、对应的目标地址或欲写入的数据,并根据该等存取信号锁存目标命令及对应的目标地址。与非门快闪数组110便根据已锁存的目标命令及对应的目标地址进行编程(program)操作、读取操作及抹除操作。举例来讲,当目标命令对应于读取操作时,与非门快闪数组110可根据已锁存的目标地址读取所储存的数据,并将其暂存于静态存取内存112中。之后,经由总线106,输入/输出电路118将所读取的数据传送至控制器102。
在图1的实施例中,与非门闪存104进一步包括循环冗余校验(CyclicRedundancy Check,CRC)引擎116,耦接至输入/输出电路118。当输入/输出电路118经由总线106接收控制器所发送的地址或数据后,利用循环冗余校验引擎116,便能够实时地测知地址或数据传送错误情况的发生,并采取适当的措施,详细操作方式及数据处理流程,将配合图2至图7的实施例详细说明如下。
图2显示依据本发明实施例的数据处理方法20流程图。图3显示依据本发明实施例的编程操作时序图。
参考图1至图3,假设外部主机(未图示)欲将数据写入至非挥发性记忆装置10中。外部主机先将第一写入命令80h及对应的目标地址ADDRESS发送至控制器102。
之后,控制器102便将第一写入命令80h及对应的目标地址ADDRESS经由总线106序列传送至与非门闪存104的输入/输出电路118(步骤S202)。在一实施例中,目标地址ADDRESS可包括行地址及列地址,用以表示与非门快闪数组110的写入地址。
具体地,控制器102进一步地传送写入地址循环冗余校验命令WRITEADDR_CRC至与非门闪存104。响应于控制器102的写入地址循环冗余校验命令WRITEADDR_CRC,循环冗余校验引擎116随即根据目标地址ADDRESS计算出第一数值(步骤S204)。
接着,控制器102将对应于目标地址ADDRESS的循环冗余校验码,如图3所示的CRC1,传送至与非门闪存104(步骤S206)。在一实施例中,第一数值及循环冗余校验码CRC1均可利用CRC-7多项式来产生,但不限于此。
之后,循环冗余校验引擎116根据第一数值及循环冗余校验码CRC1进行循环冗余校验,用以判断是否发生传送错误(步骤S208)。
在一实施例中,当第一数值与循环冗余校验码CRC 1相符时,则表示所接收到的目标地址ADDRESS正确。反之,当第一数值与循环冗余校验码CRC1不相符时,则表示由于总线106异常或噪声干扰等问题所导致的传送错误,可能使得目标地址ADDRESS在传送过程中发生遗失或损坏的情况。
具体地,当循环冗余校验失败时,亦即发生传送错误时,循环冗余校验引擎116随即设定一状态缓存器(未图示),用以通知控制器102重新传送第一写入命令80h及目标地址ADDRESS。
另一方面,当循环冗余校验成功时,经由总线106,控制器102将写入数据DATA_IN序列传送至与非门闪存104的输入/输出电路118(步骤S210)。在一实施例中,可将写入数据DATA_IN暂存于静态存取内存112中。
之后,控制器102进一步地传送一写入数据循环冗余校验命令WRITEDATA_CRC至与非门闪存104。同样地,响应于控制器102的写入数据循环冗余校验命令WRITEDATA_CRC,循环冗余校验引擎116随即根据写入数据DATA_IN计算出第二数值(步骤S212)。
接着,控制器102将对应于写入数据DATA_IN的循环冗余校验码,如图3所示的CRC2,传送至与非门闪存104(步骤S214)。在一实施例中,第二数值及循环冗余校验码CRC2均可利用CRC-7多项式来产生,但不限于此。
再者,循环冗余校验引擎116根据第二数值及循环冗余校验码CRC2进行第二次循环冗余校验,用以判断是否发生传送错误(步骤S216)。类似地,当第二数值与循环冗余校验码CRC2的循环冗余校验失败时,即发生传送错误时,循环冗余校验引擎116随即设定状态缓存器,用以通知控制器102重新传送第一写入命令80h及目标地址ADDRESS。
当第二次循环冗余校验成功时,表示控制器102传送目标地址ADDRESS及写入数据DATA_IN的过程中并没有发生任何数据传送错误。在此情况下,控制器102发送第二写入命令10h至与非门闪存104。响应于第二写入命令10h,与非门快闪数组110根据待命/忙碌信号R/B#的指示执行一编程操作(步骤S218)。换言之,与非门快闪数组110依序将写入数据DATA_IN写入至目标地址ADDRESS。待编程操作完成之后,控制器102接着传送读取状态命令70h至与非门闪存104,用以读取状态缓存器的状态值REG。通过状态缓存器的状态值REG,便可以通知控制器102是否发生传送错误及数据是否成功写入。
图4显示依据本发明另一实施例的数据处理方法40流程图。图5显示依据本发明实施例的抹除操作时序图。
参考图1、图4及图5,假设外部主机(未图示)欲抹除储存于非挥发性记忆装置10的特定数据。外部主机先将第一抹除命令60h及对应的目标地址ADDRESS发送至控制器102。
类似地,控制器102将第一抹除命令50h及对应的目标地址ADDRESS经由总线106序列传送至与非门闪存104的输入/输出电路118(步骤S402)。
然后,控制器102传送抹除地址循环冗余校验命令ERASEADDR_CRC至与非门闪存104。响应于抹除地址循环冗余校验命令ERASEADDR_CRC,循环冗余校验引擎116随即根据目标地址ADDRESS计算出第一数值(步骤S404)。
接着,控制器102将对应于目标地址ADDRESS的循环冗余校验码,如图5所示的CRC3,传送至与非门闪存104(步骤S406)。在一实施例中,第一数值及循环冗余校验码CRC3均可利用CRC-7多项式来产生,但不限于此。
之后,循环冗余校验引擎116根据第一数值及循环冗余校验码CRC3进行循环冗余校验,用以判断是否发生传送错误(步骤S408)。
当循环冗余校验失败时,循环冗余校验引擎116设定状态缓存器的状态值REG,用以通知控制器102重新传送第一抹除命令60h及目标地址ADDRESS。
另一方面,当循环冗余校验成功时,控制器102发送第二抹除命令D0h至与非门闪存104。响应于第二抹除命令D0h,与非门快闪数组110根据待命/忙碌信号R/B#的指示对目标地址ADDRESS进行一抹除操作(步骤S410)。如上所述,抹除操作完成后,控制器102传送读取状态命令70h至与非门闪存104,用以读取状态缓存器的状态值REG。通过状态缓存器的状态值REG,便可以通知控制器102是否发生传送错误及是否成功抹除目标地址ADDRESS。
图6显示依据本发明另一实施例的数据处理方法60流程图。图7显示依据本发明实施例的读取操作时序图。
参考图1、图6及图7,假设外部主机(未图示)欲读取储存于非挥发性记忆装置10的既定数据。外部主机先将读取命令00h及对应的读取地址ADDRESS发送至控制器102。
类似地,控制器102将读取命令00h及对应的读取地址ADDRESS经由总线106序列传送至与非门闪存104的输入/输出电路118(步骤S602)。
接下来,与非门快闪数组110根据待命/忙碌信号R/B#的指示对读取地址ADDRESS进行一读取操作,并将所读取的既定数据暂存于静态存取内存112中。之后,输入/输出电路112将既定数据DATA_OUT经由总线106序列传送至控制器102(步骤S604)。同时,控制器102还根据所接收的既定数据DATA_OUT计算出第一数值(步骤S606)。
进一步,控制器102传送读取数据循环冗余校验命令READDATA_CRC至与非门闪存104。响应于读取数据循环冗余校验命令READDATA_CRC,循环冗余校验引擎116随即将对应于既定数据DATA_OUT的循环冗余校验码,如图7所示的CRC4,传送至控制器102(步骤S608)。在一实施例中,第一数值及循环冗余校验码CRC4均可利用CRC-7多项式来产生,但不限于此。
之后,控制器102根据第一数值及循环冗余校验码CRC4进行循环冗余校验,用以判断是否发生传送错误(步骤S610)。
当循环冗余校验失败时,控制器102便重新传送读取命令00h及对应的读取地址ADDRESS。
综上所述,依据本发明实施例所提供的非挥发性记忆装置,如与非门闪存,及其数据处理方法,能够通过循环冗余校验的方式,实时地测知传输错误情况的发生,并采取适当的措施,例如通知控制器或主机重新传送数据。此方式不仅能与现存的储存媒体协议保持回溯兼容性(backwardcompatibility),同时还能提升与非门闪存的可靠性。
虽然本发明已以较佳实施例揭露如上,然而并非用以限定本发明,任何本领域的技术人员,在不脱离本发明的精神和范围内,可做些许修改与变化,因此本发明的保护范围当以权利要求所界定的为准。
Claims (5)
1. 一种非挥发性记忆装置,其特征在于,包括:
控制器(102),用以提供目标命令及对应的目标地址;
总线,用以序列传送所述目标命令及对应的所述目标地址;及
与非门闪存(104),经由所述总线耦接至所述控制器(102),所述与非门闪存(104)包括:
与非门快闪数组(110);所述与非门快闪数组110包括多个内存库,每一所述内存库由多个记忆单元以数组形式所组成;
静态存取内存(112);
控制逻辑电路(114),用以从所述控制器(102)接收多个存取信号;
输入∕输出电路(118),用以接收所述目标命令及对应的所述目标地址;及
循环冗余校验引擎(116),耦接至所述输入∕输出电路(118),用以根据所述目标地址计算出第一数值,并根据所述第一数值及由所述控制器(102)所接收且对应于所述目标地址的循环冗余校验码进行循环冗余校验,用以判断是否发生传送错误,
其中,当所述传送错误发生时,所述引擎设定状态缓存器,以通知所述控制器(102)重新传送所述目标命令及对应的所述目标地址;
所述循环冗余校验引擎(116)计算所述第一数值,以回应于由所述控制器(102)所接收的第一循环冗余校验命令。
2. 根据权利要求1所述的非挥发性记忆装置,其特征在于,其中,所述输入∕输出电路(118)进一步判断所述目标命令是否为写入命令,而当所述目标命令为所述写入命令时,所述输入∕输出电路(118)经由所述总线从所述控制器(102)接收所述写入命令所对应的写入数据,用以使所述循环冗余校验引擎(116)根据所述写入数据计算出第二数值,并根据所述第二数值及由所述控制器(102)所接收且对应于所述写入数据的另一循环冗余校验码进行循环冗余校验,以判断是否发生所述传送错误,且其中,当所述传送错误发生时,所述循环冗余校验引擎(116)设定所述状态缓存器,以通知所述控制器(102)重新传送所述目标命令及对应的所述目标地址。
3. 根据权利要求2所述的非挥发性记忆装置,其特征在于,其中,所述循环冗余校验引擎(116)计算所述第二数值,以回应于由所述控制器(116)所接收的第二循环冗余校验命令。
4. 根据权利要求2所述的非挥发性记忆装置,其特征在于,其中,当所述目标地址及所述写入数据传送无误时,所述与非门快闪数组(110)根据所述写入命令所对应的所述目标地址及所述写入数据执行编程操作。
5.根据权利要求1所述的非挥发性记忆装置,其特征在于,其中,所述输入∕输出电路(118)进一步判断所述目标命令是否为抹除命令,而当所述目标命令为所述抹除命令且所述目标地址传送无误时,所述与非门快闪数组(110)根据所述目标地址执行抹除操作。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN 201010125742 CN102147753B (zh) | 2010-02-10 | 2010-02-10 | 非挥发性记忆装置及其数据处理方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN 201010125742 CN102147753B (zh) | 2010-02-10 | 2010-02-10 | 非挥发性记忆装置及其数据处理方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN102147753A CN102147753A (zh) | 2011-08-10 |
CN102147753B true CN102147753B (zh) | 2013-04-17 |
Family
ID=44422026
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN 201010125742 Active CN102147753B (zh) | 2010-02-10 | 2010-02-10 | 非挥发性记忆装置及其数据处理方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN102147753B (zh) |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
TW202032368A (zh) * | 2019-02-27 | 2020-09-01 | 智原科技股份有限公司 | 電子裝置中起始載入程式的執行方法 |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1848296A (zh) * | 2005-04-11 | 2006-10-18 | 海力士半导体有限公司 | 具有降低存取时间的闪存装置 |
CN101576853A (zh) * | 2008-05-06 | 2009-11-11 | 群联电子股份有限公司 | 数据存取方法、使用此方法的控制器与存储系统 |
Family Cites Families (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2008090451A (ja) * | 2006-09-29 | 2008-04-17 | Toshiba Corp | 記憶装置 |
-
2010
- 2010-02-10 CN CN 201010125742 patent/CN102147753B/zh active Active
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1848296A (zh) * | 2005-04-11 | 2006-10-18 | 海力士半导体有限公司 | 具有降低存取时间的闪存装置 |
CN101576853A (zh) * | 2008-05-06 | 2009-11-11 | 群联电子股份有限公司 | 数据存取方法、使用此方法的控制器与存储系统 |
Also Published As
Publication number | Publication date |
---|---|
CN102147753A (zh) | 2011-08-10 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
TWI441184B (zh) | 非揮發性記憶裝置及其資料處理方法 | |
CN102096647B (zh) | 多芯片存储器系统和相关的数据传送方法 | |
USRE46154E1 (en) | Page buffer program command and methods to reprogram pages without re-inputting data to a memory device | |
CN103839584B (zh) | 半导体存储器件、包括其的存储系统及其制造方法 | |
CN107589905A (zh) | 存储器系统及其操作方法 | |
CN106067321A (zh) | 适于存储器编程暂停-恢复的控制器 | |
CN109410993A (zh) | 存储系统及其操作方法 | |
KR20180071675A (ko) | 메모리 시스템 및 그것의 동작 방법 | |
CN110058799A (zh) | 存储器装置及操作存储器装置的方法 | |
CN108694096A (zh) | 控制器、存储系统及其操作方法 | |
CN102597975A (zh) | 一次可编程存储器装置及其方法 | |
US9448926B2 (en) | Bidirectional counter in a flash memory | |
CN106205696A (zh) | 半导体存储器设备及其操作方法 | |
US9552287B2 (en) | Data management method, memory controller and embedded memory storage apparatus using the same | |
CN109390019A (zh) | 存储系统及其操作方法 | |
CN102063939B (zh) | 一种电可擦除可编程只读存储器的实现方法和装置 | |
CN108932958A (zh) | 具有输入缓冲电路的半导体装置和存储器系统 | |
CN106653083A (zh) | 半导体存储器件及其操作方法 | |
CN103632710A (zh) | 半导体存储器件 | |
CN115080471A (zh) | 基于FPGA的nand flash接口控制器及读写方法 | |
CN105097026A (zh) | 半导体存储器件 | |
CN106816168B (zh) | 半导体存储器件 | |
CN102147753B (zh) | 非挥发性记忆装置及其数据处理方法 | |
CN105280235B (zh) | 半导体存储器件、具有其的存储系统及其操作方法 | |
CN102800365A (zh) | 非易失存储器的测试校验方法和系统 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
C14 | Grant of patent or utility model | ||
GR01 | Patent grant |