CN106155916A - 数据储存装置以及数据读取方法 - Google Patents
数据储存装置以及数据读取方法 Download PDFInfo
- Publication number
- CN106155916A CN106155916A CN201510180676.8A CN201510180676A CN106155916A CN 106155916 A CN106155916 A CN 106155916A CN 201510180676 A CN201510180676 A CN 201510180676A CN 106155916 A CN106155916 A CN 106155916A
- Authority
- CN
- China
- Prior art keywords
- mentioned
- data
- page
- order
- read
- 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
- 238000000034 method Methods 0.000 title claims abstract description 40
- 238000013500 data storage Methods 0.000 title abstract 2
- 230000015654 memory Effects 0.000 claims abstract description 115
- 238000012937 correction Methods 0.000 claims description 55
- 230000005540 biological transmission Effects 0.000 claims description 2
- 238000010586 diagram Methods 0.000 description 8
- 238000004519 manufacturing process Methods 0.000 description 4
- 238000012356 Product development Methods 0.000 description 2
- 239000006227 byproduct Substances 0.000 description 2
- 238000006243 chemical reaction Methods 0.000 description 2
- 239000000428 dust Substances 0.000 description 2
- 230000005611 electricity Effects 0.000 description 2
- 238000012545 processing Methods 0.000 description 2
- 239000000047 product Substances 0.000 description 2
- 230000003139 buffering effect Effects 0.000 description 1
- 238000004590 computer program Methods 0.000 description 1
- 239000013307 optical fiber Substances 0.000 description 1
- 239000007787 solid Substances 0.000 description 1
- 238000012795 verification Methods 0.000 description 1
- 239000002699 waste material Substances 0.000 description 1
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
- 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
-
- 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/106—Correcting systematically all correctable errors, i.e. scrubbing
-
- 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/1076—Parity data used in redundant arrays of independent storages, e.g. in RAID systems
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11B—INFORMATION STORAGE BASED ON RELATIVE MOVEMENT BETWEEN RECORD CARRIER AND TRANSDUCER
- G11B20/00—Signal processing not specific to the method of recording or reproducing; Circuits therefor
- G11B20/10—Digital recording or reproducing
- G11B20/18—Error detection or correction; Testing, e.g. of drop-outs
- G11B20/1833—Error detection or correction; Testing, e.g. of drop-outs by adding special lists or symbols to the coded information
-
- 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
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C29/00—Checking stores for correct operation ; Subsequent repair; Testing stores during standby or offline operation
- G11C29/04—Detection or location of defective memory elements, e.g. cell constructio details, timing of test signals
- G11C2029/0411—Online error correction
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Quality & Reliability (AREA)
- Signal Processing (AREA)
- Techniques For Improving Reliability Of Storages (AREA)
- Human Computer Interaction (AREA)
- Computer Security & Cryptography (AREA)
Abstract
本发明提供一种数据储存装置以及数据读取方法,该数据储存装置包括一快闪存储器以及一控制器。快闪存储器包括多个芯片(die),并且每一芯片包括一第一存储器平面(plane)以及一第二存储器平面(plane),其中第一存储器平面以及第二存储器平面分别包括多个实体页面(physical page)。控制器被设置为用以根据用以对一目标页面进行读取的一读取命令,读取第一存储器平面中的一第一实体页面以及第二存储器平面中的一第二实体页面。
Description
技术领域
本发明系关于一种数据储存装置,特别是关于可将不同存储器平面的页面合并存取的数据储存装置。
背景技术
快闪存储器为一种可以被电抹除并且重新写入的非易失性存储器,并且主要是应用在存储卡、USB随身盘、eMMC以及固态硬盘(Solid-State Disk)中,借以作为一般的储存与电脑装置和数字产品间的数据的转运。
快闪存储器于生产过程中,会因为粉尘或是光罩问题,使得快闪存储单元中的一整列(column)的数据都无法正确存取。传统上,可以扫描的方式检测出坏列的数量。但是,一旦无法存取的数据列数目太多,则会影响到错误检查码进行修正的能力。
发明内容
本发明所提供的数据储存装置以及错误校正方法,可将不同存储器平面的页面合并存取。
本发明提供一种数据储存装置包括一快闪存储器以及一控制器。快闪存储器包括多个芯片(die),并且每一芯片包括一第一存储器平面(plane)以及一第二存储器平面(plane),其中第一存储器平面以及第二存储器平面分别包括多个实体页面(page)。控制器被设置为用以根据用以对一目标页面进行读取的一读取命令,读取第一存储器平面中的一第一实体页面以及第二存储器平面中的一第二实体页面。
在一实施例中,控制器更包括一错误校正引擎,并且控制器更被设置为用以将所读取的第一实体页面的数据以及第二实体页面的数据传送至错误校正引擎,使得错误校正引擎根据第一实体页面的数据以及第二实体页面的数据对目标页面进行错误校正。
详细而言,控制器被设置为用以根据读取命令,依序传送多个数据块读取命令至快闪存储器,以依序读取由第一实体页面以及第二实体页面所构成的目标页面中的多个数据块,其中控制器更被设置为用以借由数据块读取命令中的两者,分别对第一实体页面中的多个字节以及第二实体页面中的多个字节进行读取,以获得数据块中的一第一数据块。每一数据块包括一数据段以及用以校正数据段的一校验码。控制器更被设置为用以将根据数据块读取命令中的两者所读取的第一实体页面以及第二实体页面中的字节传送至错误校正引擎,使得错误校正引擎可根据所读取的第一实体页面以及第二实体页面中的字节对第一数据块进行错误校正。在一实施例中,数据块读取命令包括一地址闩锁致能信号(address latch enable,ALE)以及命令闩锁致能信号(command latch enable,CLE)。
本发明亦提供一种数据读取方法,适用于一快闪存储器,其中快闪存储器包括多个芯片(die),每一芯片包括一第一存储器平面(plane)以及一第二存储器平面(plane),第一存储器平面以及第二存储器平面分别包括多个实体页面(page)。数据读取方法包括:自主机接收一读取命令,其中读取命令是用以对一目标页面进行读取;以及根据读取命令,读取第一存储器平面中的一第一实体页面以及第二存储器平面中的一第二实体页面。
在另一实施例中,数据读取方法更包括:将所读取的第一实体页面的数据以及第二实体页面的数据传送至一错误校正引擎;以及借由错误校正引擎根据第一实体页面的数据以及第二实体页面的数据对目标页面进行错误校正。
详细而言,根据读取命令读取第一存储器平面中的第一实体页面以及第二存储器平面中的第二实体页面的步骤更包括:根据读取命令,依序传送多个数据块读取命令至快闪存储器,以依序读取由第一实体页面以及第二实体页面所构成的目标页面中的多个数据块,其中数据块读取命令中的两者,分别对第一实体页面中的多个字节以及第二实体页面中的多个字节进行读取,以获得数据块中的一第一数据块。每一数据块包括一数据段以及用以校正数据段的一校验码。
在一实施例中,数据读取方法更包括:根据数据块读取命令中的两者所读取的第一实体页面以及第二实体页面中的字节传送至一错误校正引擎;以及借由错误校正引擎,根据所读取的第一实体页面以及第二实体页面中的字节对第一数据块进行错误校正。
附图说明
图1为本发明所提供的一电子系统的一种实施例的方块图。
图2为本发明所提供的芯片的一种实施例的示意图。
图3为本发明所提供的实体页面的一种实施例的示意图。
图4为本发明所提供的实体页面的另一种实施例的示意图。
图5为本发明所提供的芯片的另一种实施例的示意图。
图6为本发明所提供的一数据读取方法的一种实施例的流程图。
图7为本发明所提供的一数据读取方法的另一种实施例的流程图。
附图标记说明:
100 电子系统;
120 主机;
140 数据储存装置;
160 控制器;
162 运算单元;
164 永久存储器;
166 随机存取存储器;
168 错误校正引擎;
180 快闪存储器;
D0~DN 芯片;
BU 缓冲器;
MD 元数据;
PL0、PL1 存储器平面;
P0_1~P0_N、P1_0~P1_N 实体页面;
P0’~PN’ 页面;
S600~S602、S700~S706 步骤。
具体实施方式
以下将详细讨论本发明各种实施例的装置及使用方法。然而值得注意的是,本发明所提供的许多可行的发明概念可实施在各种特定范围中。这些特定实施例仅用于举例说明本发明的装置及使用方法,但非用于限定本发明的范围。
图1为本发明所提供的一电子系统的一种实施例的方块图。电子系统100包括一主机120以及一数据储存装置140。数据储存装置140包括一快闪存储器180以及一控制器160,且可根据主机110所下达的命令操作。控制器160包括一运算单元162、一永久存储器(如,只读存储器ROM)164、随机存取存储器(RAM)166以及一错误校正引擎168。永久存储器164与所载的程序码、数据组成固件(firmware),由运算单元162执行,使控制器160基于该固件控制该快闪存储器180。随机存取存储器(RAM)166用以载入程序码与参数以提供控制器160根据所载入的程序码与参数动作。错误校正引擎168用以对所读取的数据进行错误校正(Error Correction),以及对写入的数据进行编码以获得校验码(parity)。快闪存储器180包括多个芯片(die)D0~DN,如图2所示。每一芯片D0~DN包括一缓冲器BU、一第一存储器平面(plane)PL0以及一第二存储器平面(plane)PL1。每一第一存储器平面PL0以及第二存储器平面PL1分别包括多个实体页面(page)P0~PN。值得注意的是,在本实施例中,每一芯片D0~DN包括一缓冲器BU,用以缓冲第一存储器平面PL0以及第二存储器平面PL1的数据,但本发明不限于此。在其他实施例中,每一芯片D0~DN可包括两个缓冲器,分别用以缓冲第一存储器平面PL0以及第二存储器平面PL1的数据。
快闪存储器于生产过程中,会因为粉尘或是光罩问题,使得快闪存储单元中的一整列(column)的数据都无法正确存取,损毁的列称为坏列(bad column)。然而,在同一芯片中的存储器平面所具有坏列的数量可能彼此不同。坏列的数量越多,存储器平面中的实体页面里可利用的存储器空间则越少,其中存储器空间的大小影响到错误比特校正能力。详细而言,具有越高的错误比特校正能力的错误校正(Error Correction)的编码,会产生长度越长的校验码(Parity)。
图3为本发明所提供的实体页面的一种实施例的示意图。在本实施例中,第一存储器平面PL0的每一实体页面P0_0~P0_N分别具有1000字节(Byte)无法使用的坏列,第二存储器平面PL1的每一实体页面P1_0~P1_N中,分别具有900字节(Byte)无法使用的坏列。另外,在本实施例中,实体页面为快闪存储器180的最小读取单位。换言之,每一实体页面为一页面。值得注意的是,图3示意性的将坏列显示于实体页面P0_0以及P1_0尾端,但实际上坏列是随机散落于实体页面P0_0以及P1_0中。在本实施例中,产品设计者将同一芯片中具有不同坏列数量的第一存储器平面PL0以及第二存储器平面PL1的错误比特校正能力,皆定义为同一错误比特校正能力值。举例而言,在本实施例中,第一存储器平面PL0以及第二存储器平面PL1的错误比特校正能力值皆为59比特(Bit),59比特的错误比特校正能力值需要长度为104字节的校验码。以第一存储器平面PL0的实体页面P0_0以及第二存储器平面PL1的实体页面P1_0为例,实体页面P0_0以及实体页面P1_0分别具有7个数据块(Chunk)C0~C6以及一元数据段(Meta data)MD。每一数据块C0~C6分别具有一数据段以及一校验码段(parity)。数据段的长度为1024字节。校验码的长度为104字节。元数据段MD的长度为32字节。如图3所示,具有较少坏列的第二存储器平面PL1由于配合具有较多坏列的第一存储器平面PL0,会损失可使用的100字节,造成资源的浪费。值得注意的是,坏列的数量、元数据段MD的长度、数据段的长度、以及错误比特校正能力值皆为本发明的一种实施例,但本发明不限于此。每一个不同的存储器平面皆可能由于不同的生产环境具有不同数量的坏列。实体页面中数据块的数量、错误比特校正能力值以及数据段的长度皆可由产品开发者自行决定,其中元数据段MD的长度则是由所决定的错误比特校正能力值以及错误校验的种类而决定的。
图4为本发明所提供的实体页面的另一种实施例的示意图。在本实施例中,第一存储器平面PL0的每一实体页面P0_0~P0_N分别具有1000字节(Byte)无法使用的坏列,第二存储器平面PL1的每一实体页面P1_0~P1_N分别具有900字节(Byte)无法使用的坏列。值得注意的是,图4示意性的将坏列显示于实体页面P0_0以及实体页面P1_0尾端,但实际上坏列是随机散落于实体页面中。另外,在本实施例中,快闪存储器180的最小读取单位为页面P0’~PN’,如图5所示。换言之,在本实施例中,快闪存储器180的最小读取单位(页面)是由第一存储器平面PL0中的一实体页面以及第二存储器平面PL1中的一实体页面所构成的。在本实施例中,由第一存储器平面PL0与第二存储器平面PL1所构成的页面P0’~PN’具有一错误比特校正能力值。值得注意的是,由于第一存储器平面PL0中的实体页面P0_0~P0_N以及第二存储器平面PL1中的实体页面P1_0~P1_N已分别依序被合并为页面P0’~PN’,因此在图3中所示未使用的字节(100Byte)可在本实施例中作为的校验码空间。由于有相较于图3中的实施例较多用以储存校验码的空间并且两个实体页面仅需要一个元数据MD,因此在本实施例中页面P0’~PN’可具有相较于图3的实施例更高的错误比特校正能力值。举例而言,在本实施例中,第一存储器平面PL0以及第二存储器平面PL1所构成的页面P0’~PN’的错误比特校正能力值为65比特,但本发明不限于此。65比特的错误比特校正能力值需要长度为114字节的校验码。以第一存储器平面PL0的实体页面P0_0以及第二存储器平面PL1的实体页面P1_0所构成的页面P0’为例,页面P0’具有14个数据块(Chunk)C0~C13以及一元数据段(Metadata)MD。每一数据块C0~C13分别具有一数据段以及一校验码段(parity)。数据段的长度为1024字节、校验码的长度为114字节以及元数据段MD的长度为32字节。值得注意的是,坏列的数量、元数据段MD的长度、数据段的长度、以及错误比特校正能力值皆为本发明的一种实施例,但本发明不限于此。每一个不同的存储器平面皆可能由于不同的生产环境具有不同数量的坏列。页面中数据块的数量、错误比特校正能力值以及数据段的长度皆可由产品开发者自行决定,其中元数据段MD的长度则是由所决定的错误比特校正能力值以及错误校验的种类决定。
详细而言,在图4以及图5的实施例中,控制器160被设置为根据用以对一目标页面P0’进行读取的一读取命令,读取第一存储器平面PL0中的第一实体页面P0_0以及第二存储器平面PL1中的第二实体页面P1_0。另外,控制器160更被设置为用以将所读取的第一实体页面P0_0的数据以及第二实体页面P1_0的数据传送至错误校正引擎168,使得错误校正引擎168可根据第一实体页面P0_0的数据以及第二实体页面P1_0的数据对目标页面P0’进行错误校正。详细而言,控制器160被设置为用以根据读取命令,依序传送多个数据块读取命令至快闪存储器180,以依序读取由第一实体页面P0_0以及第二实体页面P1_0所构成的目标页面中的多个数据块C0~C13。值得注意的是,每一数据块读取命令中皆包括一地址闩锁致能信号(address latch enable,ALE)以及命令闩锁致能信号(command latch enable,CLE)。
另外,在某些实施例中,控制器160更被设置为用以借由数据块读取命令中的两者,分别对第一实体页面P0_0中的多个字节以及第二实体页面P1_0中的多个字节进行读取,以获得数据块中的一数据块。控制器160更被设置为用以将根据数据块读取命令所读取数据块C0~C13,传送至错误校正引擎168,使得错误校正引擎168可根据所读取的数据块C0~C13进行错误校正。举例而言,如图4所示,由于第一存储器平面PL0的存储器空间不够,因此数据块C6中的数据有一部分被分配至第二存储器平面PL1。因此,在本实施例中,控制器160更被设置为用以借由数据块读取命令中的两者,分别对第一实体页面P0_0中的多个字节以及第二实体页面P1_0中的多个字节进行读取,以获得数据块中的数据块C6。接着,控制器160更被设置为用以将根据数据块读取命令中的两者所读取的第一实体页面P0_0以及第二实体页面P1_0中的字节传送至错误校正引擎168,使得错误校正引擎168可根据所读取的第一实体页面P0_0以及第二实体页面P1_0中的字节对数据块C6进行错误校正。
值得注意的是,在一实施例中,快闪存储器180可更包括一对应表,用以储存页面P0’~PN’所对应的实体页面。当数据储存装置140上电时,控制器160可将对应表载入随机存取存储器166中,以当接收到读取命令或者写入命令时,将目标页面的地址转换为所相应的实体页面的地址,并根据所转换的地址对快闪存储器180进行存取。在另一实施例中,控制器160更可包括一页面转换电路。页面转换电路以硬件的方式,将第一存储器平面PL0中的实体页面P0_0~P0_N的数据以及第二存储器平面PL1中的实体页面P1_0~P1_N的数据合并为页面P0’~PN’的数据,以将所合并的的页面P0’~PN’数据提供给控制器160进行读取以及写入,但本发明不限于此。
图6为本发明所提供的一数据读取方法的一种实施例的流程图。数据读取方法适用于图1~图5所示的电子系统100。流程开始于步骤S600。
在步骤S600中,控制器160自主机120接收一读取命令,其中读取命令是用以对一目标页面进行读取。
接着,在步骤S602中,控制器160根据读取命令,读取第一存储器平面PL0中的一第一实体页面以及第二存储器平面PL1中的一第二实体页面。详细而言,控制器160被设置为用以根据读取命令,依序传送多个数据块读取命令至快闪存储器180,以依序读取由第一实体页面P0_0以及第二实体页面P1_0所构成的目标页面中的多个数据块C0~C13。值得注意的是,每一数据块读取命令中皆包括一地址闩锁致能信号(address latch enable,ALE)以及命令闩锁致能信号(command latch enable,CLE)。另外,在某些实施例中,控制器160更被设置为用以借由数据块读取命令中的两者,分别对第一实体页面P0_0中的多个字节以及第二实体页面P1_0中的多个字节进行读取,以获得数据块中的一数据块。举例而言,如图4所示,由于第一存储器平面PL0的存储器空间不够,因此数据块C6中的数据有一部分被分配至第二存储器平面PL1。因此,在本实施例中,控制器160更被设置为用以借由数据块读取命令中的两者,分别对第一实体页面P0_0中的多个字节以及第二实体页面P1_0中的多个字节进行读取,以获得数据块中的数据块C6。流程结束于步骤S602。
图7为本发明所提供的一数据读取方法的另一种实施例的流程图。数据读取方法适用于图1~图5所示的电子系统100。流程开始于步骤S700。值得注意的是,步骤S700~S702相似于步骤S600~S602,因此步骤S700~S702的细节请参考图7的说明,在此不再赘述。
在步骤S704中,控制器160更被设置为用以将所读取的第一实体页面P0_0的数据以及第二实体页面P1_0的数据传送至错误校正引擎168。详细而言,控制器160是被设置为用以将根据数据块读取命令所读取数据块,传送至错误校正引擎168。在图4的实施例中,当控制器160借由数据块读取命令中的两者,分别对第一实体页面P0_0中的多个字节以及第二实体页面P1_0中的多个字节进行读取后,控制器160将根据数据块读取命令中的两者所读取的第一实体页面P0_0以及第二实体页面P1_0中的字节传送至错误校正引擎168。
在步骤S706中,错误校正引擎168根据第一实体页面P0_0的数据以及第二实体页面P1_0的数据对目标页面进行错误校正。详细而言,错误校正引擎168是根据所读取的数据块进行错误校正。在图4的实施例中,错误校正引擎168是根据所读取的第一实体页面P0_0中的字节以及第二实体页面P1_0中的字节对数据块C6进行错误校正。流程结束于步骤S706。
本发明所提供的数据储存装置140以及数据读取方法合并两个存储器平面的页面。换言之,数据储存装置140中的最小读取单位是由两个存储器平面的页面所构成的。
本发明的方法,或特定型态或其部分,可以以程序码的型态存在。程序码可储存于实体媒体,如软盘、光盘片、硬盘、或是任何其他机器可读取(如电脑可读取)储存媒体,亦或不限于外在形式的电脑程序产品,其中,当程序码被机器,如电脑载入且执行时,此机器变成用以参与本发明的装置。程序码也可通过一些传送媒体,如电线或电缆、光纤、或是任何传输型态进行传送,其中,当程序码被机器,如电脑接收、载入且执行时,此机器变成用以参与本发明的装置。当在一般用途处理单元实作时,程序码结合处理单元提供一操作类似于应用特定逻辑电路的独特装置。
惟以上所述者,仅为本发明的较佳实施例而已,当不能以此限定本发明实施的范围,即大凡依本发明权利要求及发明说明内容所作的简单的等效变化与修饰,皆仍属本发明专利涵盖的范围内。另外本发明的任一实施例或权利要求不须达成本发明所揭露的全部目的或优点或特点。此外,摘要部分和标题仅是用来辅助专利文件搜寻之用,并非用来限制本发明的权利范围。
Claims (12)
1.一种数据储存装置,包括:
一快闪存储器,包括多个芯片,并且每一上述芯片包括一第一存储器平面以及一第二存储器平面,其中上述第一存储器平面以及上述第二存储器平面分别包括多个实体页面;以及
一控制器,被设置为用以根据用以对一目标页面进行读取的一读取命令,读取上述第一存储器平面中的一第一实体页面以及上述第二存储器平面中的一第二实体页面。
2.如权利要求1所述的数据储存装置,其特征在于,上述控制器更包括一错误校正引擎,并且上述控制器更被设置为用以将所读取的上述第一实体页面的数据以及上述第二实体页面的数据传送至上述错误校正引擎,使得上述错误校正引擎根据上述第一实体页面的数据以及上述第二实体页面的数据对上述目标页面进行错误校正。
3.如权利要求1所述的数据储存装置,其特征在于,上述控制器被设置为用以根据上述读取命令,依序传送多个数据块读取命令至上述快闪存储器,以依序读取由上述第一实体页面以及上述第二实体页面所构成的上述目标页面中的多个数据块,其中上述控制器更被设置为用以借由上述数据块读取命令中的两者,分别对上述第一实体页面中的多个字节以及上述第二实体页面中的多个字节进行读取,以获得上述数据块中的一第一数据块。
4.如权利要求3所述的数据储存装置,其特征在于,每一上述数据块包括一数据段以及用以校正上述数据段的一校验码。
5.如权利要求3所述的数据储存装置,其特征在于,上述控制器更包括一错误校正引擎,并且上述控制器更被设置为用以将根据上述数据块读取命令中的两者所读取的上述第一实体页面以及上述第二实体页面中的字节传送至上述错误校正引擎,使得上述错误校正引擎可根据所读取的上述第一实体页面以及上述第二实体页面中的字节对上述第一数据块进行错误校正。
6.如权利要求3所述的数据储存装置,其特征在于,每一上述数据块读取命令包括一地址闩锁致能信号以及命令闩锁致能信号。
7.一种数据读取方法,适用于一快闪存储器,其中上述快闪存储器包括多个芯片,每一上述芯片包括一第一存储器平面以及一第二存储器平面,上述第一存储器平面以及上述第二存储器平面分别包括多个实体页面,并且上述数据读取方法包括:
自主机接收一读取命令,其中上述读取命令是用以对一目标页面进行读取;以及
根据上述读取命令,读取上述第一存储器平面中的一第一实体页面以及上述第二存储器平面中的一第二实体页面。
8.如权利要求7所述的数据读取方法,其特征在于,更包括:
将所读取的上述第一实体页面的数据以及上述第二实体页面的数据传送至一错误校正引擎;以及
借由上述错误校正引擎根据上述第一实体页面的数据以及上述第二实体页面的数据对上述目标页面进行错误校正。
9.如权利要求7所述的数据读取方法,其特征在于,上述根据上述读取命令读取上述第一存储器平面中的上述第一实体页面以及上述第二存储器平面中的上述第二实体页面的步骤更包括:
根据上述读取命令,依序传送多个数据块读取命令至上述快闪存储器,以依序读取由上述第一实体页面以及上述第二实体页面所构成的上述目标页面中的多个数据块,其中上述数据块读取命令中的两者,分别对上述第一实体页面中的多个字节以及上述第二实体页面中的多个字节进行读取,以获得上述数据块中的一第一数据块。
10.如权利要求9所述的数据读取方法,其特征在于,每一上述数据块包括一数据段以及用以校正上述数据段的一校验码。
11.如权利要求9所述的数据读取方法,其特征在于,更包括:
根据上述数据块读取命令中的两者所读取的上述第一实体页面以及上述第二实体页面中的字节传送至一错误校正引擎;以及
借由上述错误校正引擎,根据所读取的上述第一实体页面以及上述第二实体页面中的字节对上述第一数据块进行错误校正。
12.如权利要求9所述的数据读取方法,其特征在于,每一上述数据块读取命令包括一地址闩锁致能信号以及命令闩锁致能信号。
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
TW104104675 | 2015-02-12 | ||
TW104104675A TWI557560B (zh) | 2015-02-12 | 2015-02-12 | 資料儲存裝置以及資料讀取方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN106155916A true CN106155916A (zh) | 2016-11-23 |
CN106155916B CN106155916B (zh) | 2020-10-13 |
Family
ID=56621088
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201510180676.8A Active CN106155916B (zh) | 2015-02-12 | 2015-04-16 | 数据储存装置以及数据读取方法 |
Country Status (3)
Country | Link |
---|---|
US (1) | US11061764B2 (zh) |
CN (1) | CN106155916B (zh) |
TW (1) | TWI557560B (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111105828A (zh) * | 2018-10-29 | 2020-05-05 | 美光科技公司 | Nand读取命令的动态延迟 |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US11468963B2 (en) * | 2020-12-08 | 2022-10-11 | Macronix International Co., Ltd. | Memory device and read method thereof |
Citations (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101727976A (zh) * | 2008-10-15 | 2010-06-09 | 晶天电子(深圳)有限公司 | 一种多层闪存装置、固态硬盘和分割非易失性存储器系统 |
US20120317365A1 (en) * | 2011-06-07 | 2012-12-13 | Sandisk Technologies Inc. | System and method to buffer data |
US20130024746A1 (en) * | 2011-07-22 | 2013-01-24 | Sandisk Technologies Inc. | Systems and methods of storing data |
CN103119569A (zh) * | 2010-08-31 | 2013-05-22 | 美光科技公司 | 基于存储条的非易失性多级存储器操作 |
US20140157087A1 (en) * | 2012-12-04 | 2014-06-05 | SanDisk Technologies, Inc. | Bad Column Handling in Flash Memory |
CN103914396A (zh) * | 2013-01-06 | 2014-07-09 | 北京忆恒创源科技有限公司 | 用于存储设备的地址映射方法 |
TW201428757A (zh) * | 2012-11-14 | 2014-07-16 | Ibm | 揮發性及快閃記憶體間資料的備份與復原 |
US8788910B1 (en) * | 2012-05-22 | 2014-07-22 | Pmc-Sierra, Inc. | Systems and methods for low latency, high reliability error correction in a flash drive |
CN104126203A (zh) * | 2011-12-30 | 2014-10-29 | 桑迪士克科技股份有限公司 | 使用平面之间的片上页面交换的元块尺寸缩小 |
Family Cites Families (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103208309B (zh) * | 2006-05-12 | 2016-03-09 | 苹果公司 | 存储设备中的失真估计和消除 |
TW200828328A (en) * | 2006-12-28 | 2008-07-01 | Genesys Logic Inc | Method of improving accessing reliability of flash memory |
TWI390548B (zh) * | 2008-07-03 | 2013-03-21 | Silicon Motion Inc | 資料儲存方法及其儲存裝置 |
US8004887B2 (en) * | 2008-11-07 | 2011-08-23 | Micron Technology, Inc. | Configurable digital and analog input/output interface in a memory device |
TWI401691B (zh) * | 2009-03-20 | 2013-07-11 | Phison Electronics Corp | 具快閃記憶體測試功能的控制器及其儲存系統與測試方法 |
US9378090B2 (en) * | 2014-06-16 | 2016-06-28 | Seagate Technology Llc | Cell-to-cell program interference aware data recovery when ECC fails with an optimum read reference voltage |
-
2015
- 2015-02-12 TW TW104104675A patent/TWI557560B/zh active
- 2015-04-16 CN CN201510180676.8A patent/CN106155916B/zh active Active
- 2015-11-24 US US14/951,052 patent/US11061764B2/en active Active
Patent Citations (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101727976A (zh) * | 2008-10-15 | 2010-06-09 | 晶天电子(深圳)有限公司 | 一种多层闪存装置、固态硬盘和分割非易失性存储器系统 |
CN103119569A (zh) * | 2010-08-31 | 2013-05-22 | 美光科技公司 | 基于存储条的非易失性多级存储器操作 |
US20120317365A1 (en) * | 2011-06-07 | 2012-12-13 | Sandisk Technologies Inc. | System and method to buffer data |
US20130024746A1 (en) * | 2011-07-22 | 2013-01-24 | Sandisk Technologies Inc. | Systems and methods of storing data |
CN103827833A (zh) * | 2011-07-22 | 2014-05-28 | 桑迪士克科技股份有限公司 | 存储数据的系统和方法 |
CN104126203A (zh) * | 2011-12-30 | 2014-10-29 | 桑迪士克科技股份有限公司 | 使用平面之间的片上页面交换的元块尺寸缩小 |
US8788910B1 (en) * | 2012-05-22 | 2014-07-22 | Pmc-Sierra, Inc. | Systems and methods for low latency, high reliability error correction in a flash drive |
TW201428757A (zh) * | 2012-11-14 | 2014-07-16 | Ibm | 揮發性及快閃記憶體間資料的備份與復原 |
US20140157087A1 (en) * | 2012-12-04 | 2014-06-05 | SanDisk Technologies, Inc. | Bad Column Handling in Flash Memory |
CN103914396A (zh) * | 2013-01-06 | 2014-07-09 | 北京忆恒创源科技有限公司 | 用于存储设备的地址映射方法 |
Cited By (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111105828A (zh) * | 2018-10-29 | 2020-05-05 | 美光科技公司 | Nand读取命令的动态延迟 |
US10991436B2 (en) | 2018-10-29 | 2021-04-27 | Micron Technology, Inc. | Dynamic delay of NAND read commands |
CN111105828B (zh) * | 2018-10-29 | 2021-05-11 | 美光科技公司 | Nand读取命令的动态延迟 |
CN113035257A (zh) * | 2018-10-29 | 2021-06-25 | 美光科技公司 | Nand读取命令的动态延迟 |
CN113035257B (zh) * | 2018-10-29 | 2022-05-24 | 美光科技公司 | Nand读取命令的动态延迟 |
US11621042B2 (en) | 2018-10-29 | 2023-04-04 | Micron Technology, Inc. | Dynamic delay of NAND read commands |
Also Published As
Publication number | Publication date |
---|---|
CN106155916B (zh) | 2020-10-13 |
TW201629773A (zh) | 2016-08-16 |
TWI557560B (zh) | 2016-11-11 |
US11061764B2 (en) | 2021-07-13 |
US20160239227A1 (en) | 2016-08-18 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN106445723B (zh) | 存取闪存模块的方法、闪存控制器以及记忆装置 | |
CN106409344B (zh) | 数据储存设备及其操作方法 | |
US20140337681A1 (en) | Data writing method, memory storage device, and memory controller | |
CN104750570B (zh) | 数据储存装置及其错误校正方法 | |
US10157099B2 (en) | Data storage device and data maintenance method thereof | |
CN106155830B (zh) | 数据储存装置以及错误校正方法 | |
US20160283319A1 (en) | Data storage device and encoding method thereof | |
CN106569735A (zh) | 数据储存装置及数据维护方法 | |
CN104217761A (zh) | 数据储存装置及其错误校正方法 | |
CN104699622A (zh) | 数据储存装置以及其数据抹除方法 | |
CN102760099A (zh) | 数据写入方法、存储器控制器与存储器储存装置 | |
CN104182293A (zh) | 数据写入方法、存储器存储装置与存储器控制器 | |
CN106155916A (zh) | 数据储存装置以及数据读取方法 | |
TWI416331B (zh) | 用於快閃記憶體的資料寫入方法及其控制器與儲存裝置 | |
CN102591737A (zh) | 数据写入与读取方法、存储器控制器与存储器储存装置 | |
US9478289B1 (en) | Semiconductor memory device and operating method thereof | |
CN105354107A (zh) | NOR Flash的数据传输方法及系统 | |
TWI541809B (zh) | 資料存取方法、記憶體控制電路單元與記憶體儲存裝置 | |
US9436547B2 (en) | Data storing method, memory control circuit unit and memory storage device | |
TWI569201B (zh) | 控制方法、記憶體控制器與資料傳輸系統 | |
CN106155581A (zh) | 数据储存装置及其数据维护方法 | |
CN109669626B (zh) | 固态储存装置及其相关数据管理方法 | |
CN117389461A (zh) | 存储器装置 | |
CN115831202A (zh) | 被配置为控制存储装置的存储器控制器的操作方法 | |
CN102117230A (zh) | 数据写入方法、闪存控制器与闪存储存装置 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |