信息识别对应此第一实体编程单元的虚拟数据的长度,并且依据对应此第一实体编程单元的虚拟数据的长度,将排列在第三数据最后的多个数据比特以虚拟数据来取代以获得第四数据,其中排列在此第三数据最后的数据比特的长度是等于虚拟数据的长度。
[0033]在本发明的一范例实施例中,上述虚拟数据具有多个数据比特,并且每一数据比特的值皆为第一值。
[0034]在本发明的一范例实施例中,上述将虚拟数据填补至第一数据以产生第二数据的操作中,存储器控制电路单元还接续此第一数据的最后一个比特填入虚拟数据以产生此第二数据。此外,在依据虚拟数据的态样来调整第三数据以产生第四数据的操作中,存储器控制电路单元还从此第三数据的最后一个数据比特开始扫描此第三数据的每个数据比特,识别此第三数据之中的一组连续数据比特,并且将此第三数据之中接续在此组连续数据比特之后的至少一个数据比特的值以第一值来取代,其中此组连续数据比特的每一数据比特的值皆为第一值。
[0035]在本发明的一范例实施例中,上述将虚拟数据填补至第一数据以产生第二数据的操作中,存储器控制电路单元还接续此第一数据的最后一个比特填入此虚拟数据以产生此第二数据。此外,在依据虚拟数据的态样来调整第三数据以产生第四数据的操作中,存储器控制电路单元还从此第三数据的最后一个数据比特开始扫描此第三数据的每个数据比特,识别此第三数据之中的一组连续数据比特与另一组连续数据比特,并且将此第三数据之中接续在此另一组连续数据比特之后的至少一个数据比特的值以此第一值来取代,其中此组连续数据比特的每一数据比特的值皆为第一值,而另一组连续数据比特的每一数据比特的值皆为第二值,此第一值不同于此第二值并且此组连续数据比特是接续在另一组连续数据比特之后。
[0036]基于上述,本发明范例实施例的数据存取方法、存储器控制电路单元与存储器储存装置能够当无法通过错误检查与校正码来校正所读取的数据以获得已校正数据时,根据虚拟数据的态样来调整所读取的数据,由此可校正更多的错误比特并且确保所存取的数据的正确性,基此,有效地提升错误检查与校正码的数据校正能力。
[0037]为让本发明的上述特征和优点能更明显易懂,下文特举实施例,并配合附图作详细说明如下。
【附图说明】
[0038]图1A是根据第一范例实施例所示出的主机系统与存储器储存装置的示意图;
[0039]图1B是根据第一范例实施例所示出的电脑、输入/输出装置与存储器储存装置的示意图;
[0040]图1C是根据第一范例实施例所示出的主机系统与存储器储存装置的示意图;
[0041]图2是根据第一范例实施例所示出的存储器储存装置的概要方块图;
[0042]图3是根据第一范例实施例所示出的存储器控制电路单元的概要方块图;
[0043]图4A与图4B是根据第一范例实施例所示出的管理实体抹除单元的范例示意图;
[0044]图5?图7是根据第一范例实施例所示出的写入数据至可复写式非易失性存储器组件的范例;
[0045]图8是根据第一范例实施例所示出的写入数据至实体编程单元的示意图;
[0046]图9是根据第一范例实施例所示出的从实体编程单元中读取数据的示意图;
[0047]图1OA是根据第一范例实施例所示出的将虚拟数据的态记录于虚拟数据登录表的范例;
[0048]图1OB是根据第一范例实施例所示出的通过虚拟数据的态样来调整所读取的数据以增强错误检查与校正码的校正能力的范例;
[0049]图1lA是根据第一范例实施例所示出的数据写入方法的流程图;
[0050]图1lB是根据第一范例实施例所示出的数据读取方法的流程图;
[0051]图12是根据第二范例实施例所示出的写入数据至实体编程单元的示意图;
[0052]图13是根据第二范例实施例所示出的通过虚拟数据的态样来调整所读取的数据以增强错误检查与校正码的校正能力的范例;
[0053]图14A与14B是根据第三范例实施例所示出的通过识别所读取的数据中的一组连续数据比特来调整所读取的数据的范例;
[0054]图15A与15B是根据第四范例实施例所示出的通过识别所读取的数据中的两组不同的连续数据比特来调整所读取的数据的范例。
[0055]附图标记说明:
[0056]1000:主机系统;
[0057]1100:电脑;
[0058]1102:微处理器;
[0059]1104:随机存取存储器(RAM);
[0060]1106:输入/输出装置(I/O装置);
[0061]1108:系统总线;
[0062]1110:数据传输接口;
[0063]1202:鼠标;
[0064]1204:键盘;
[0065]1206:显示器;
[0066]1208:打印机;
[0067]1212:随身碟;
[0068]1214:记忆卡;
[0069]1216:固态硬盘;
[0070]1310:数字相机;
[0071]1312:SD 卡;
[0072]1314:MMC 卡;
[0073]1316:记忆棒;
[0074]1318:CF 卡;
[0075]1320:嵌入式储存装置;
[0076]100:存储器储存装置;
[0077]102:连接接口单元;
[0078]104:存储器控制电路单元;
[0079]106:可复写式非易失性存储器组件;
[0080]410(0)?410 (N):实体抹除单元;
[0081]202:存储器管理电路;
[0082]204:主机接口;
[0083]206:存储器接口;
[0084]208:数据压缩/解压缩电路;
[0085]210:缓冲存储器;
[0086]212:电源管理电路;
[0087]214:错误检查与校正电路;
[0088]502:数据区;
[0089]504:闲置区;
[0090]506:系统区;
[0091]508:取代区;
[0092]LBA(O)?LBA01):逻辑地址;
[0093]LZ(O)?LZ(M):逻辑区域;
[0094]802:第二数据;
[0095]802’:第三数据;
[0096]902:第四数据;
[0097]804:第一实体编程单元;
[0098]WD:写入数据;
[0099]RD:读取数据;
[0100]FCD:第一数据;
[0101]SCD:第五数据;
[0102]CCD:已校正数据;
[0103]DD:虚拟数据;
[0104]DD’、FCD’:数据;
[0105]SP、SP’:管理信息;
[0106]ECC、ECC’:错误检查与校正码;
[0107]ECCF、ECCF’:错误检查与校正码框;
[0108]EB:错误比特;
[0109]900:虚拟数据登录表;
[0110]1006:虚拟数据信息;
[0111]1402:第一组连续数据比特;
[0112]1404:最后一组连续数据比特;
[0113]1502:另一组连续数据比特;
[0114]S1501、S1503、S1505:数据写入方法的步骤;
[0115]S1507、S1509、S1511、S1513:数据读取方法的步骤。
【具体实施方式】
[0116]第一范例实施例
[0117]—般而言,存储器储存装置(也称,存储器储存系统)包括可复写式非易失性存储器组件与控制器(也称,控制电路)。通常存储器储存装置是与主机系统一起使用,以使主机系统可将数据写入至存储器储存装置或从存储器储存装置中读取数据。
[0118]图1A是根据第一范例实施例所示出的主机系统与存储器储存装置的示意图。
[0119]请参照图1A,主机系统1000 —般包括电脑1100与输入/输出(input/output,简称:1/0)装置1106。电脑1100包括微处理器1102、随机存取存储器(random accessmemory,简称:RAM) 1104、系统总线1108与数据传输接口 1110。输入/输出装置1106包括如图1B的鼠标1202、键盘1204、显示器1206与打印机1208。必须了解的是,图1B所示的装置非限制输入/输出装置1106,输入/输出装置1106可还包括其他装置。
[0120]在本发明实施例中,存储器储存装置100是通过数据传输接口 1110与主机系统1000的其他元件电性连接。通过微处理器1102、随机存取存储器1104与输入/输出装置1106的运行可将数据写入至存储器储存装置100或从存储器储存装置100中读取数据。例如,存储器储存装置100可以是如图1B所示的随身碟1212、记忆卡1214或固态硬盘(SolidState Drive,简称:SSD) 1216等的可复写式非易失性存储器储存装置。
[0121]一般而言,主机系统1000为可实质地与存储器储存装置100配合以储存数据的任意系统。虽然在本范例实施例中,主机系统1000是以电脑系统来做说明,然而,在本发明另一范例实施例中主机系统1000可以是数字相机、摄影机、通信装置、音频播放器或视频播放器等系统。例如,在主机系统为图1C中的数字相机(摄影机)1310时,可复写式非易失性存储器储存装置则为其所使用的SD卡1312、MMC卡1314、记忆棒(memory stick) 1316、CF卡1318或嵌入式储存装置1320 (如图1C所示)。嵌入式储存装置1320包括嵌入式多媒体卡(Embedded MMC,简称:eMMC)。值得一提的是,嵌入式多媒体卡是直接电性连接于主机系统的基板上。
[0122]图2是根据第一范例实施例所示出的存储器储存装置的概要方块图。
[0123]请参照图2,存储器储存装置100包括连接接口单元102、存储器控制电路单元104与可复写式非易失性存储器组件106。
[0124]在本范例实施例中,连接接口单元102是相容于串行高级技术附件(SerialAdvanced Technology Attachment,简称:SATA)标准。然而,必须了解的是,本发明不限于此,连接接口单元102也可以是符合并行高级技术附件(Parallel Advanced TechnologyAttachment,简称:PATA)标准、电气和电子工程师协会(Institute of Electrical andElectronic Engineers,简称:IEEE) 1394 标准、高速周边零件连接接口(PeripheralComponent Interconnect Express,简称:PCI Express)标准、通用串行总线(UniversalSerial Bus,简称:USB)标准、超高速一代(Ultra High Speed-1,简称:UHS-1)接口标准、超高速二代(Ultra High Speed-1I,简称:UHS-1I)接口标准、安全数字(Secure Digital,简称:SD)接口标准、记忆棒(Memory Stick,简称:MS)接口标准、多媒体储存卡(MultiMedia Card,简称:MMC)接口标准、小型快闪(Compact Flash,简称:CF)接口标准、整合式驱动电子接口(Integrated Device Electronics,简称:IDE)标准或其他适合的标准。在本范例实施例中,连接器可与存储器控制电路单元封装在一个芯片中,或布设于一包含存储器控制电路单元的芯片外。
[0125]存储器控制电路单元104用以执行以硬件形式或固件形式实现的多个逻辑门或控制指令,并且根据主机系统1000的指令在可复写式非易失性存储器组件106中进行数据的写入、读取、抹除与合并等操作。
[0126]可复写式非易失性存储器组件106是耦接至存储器控制电路单元104,并且用以储存主机系统1000所写入的数据。可复写式非易失性存储器组件106具有实体抹除单元410(0) -410 (N) ο例如,实体抹除单元410(0) ~ 410 (N)可属于同一个存储器晶粒(die)或者属于不同的存储器晶粒。每一实体抹除单元分别具有多个实体编程单元,其中属于同一个实体抹除单元的实体编程单元可被独立地写入且被同时地抹除。此外,每一实体抹除单元可由64个实体编程单元、256个实体编程单元或其他任意个实体编程单元所组成。
[0127]更详细来说,实体抹除单元为抹除的最小单位。也即,每一实体抹除单元含有最小数目之一并被抹除的存储单元。实体编程单元为编程的最小单元。即,实体编程单元为写入数据的最小单元。每一实体编程单元通常包括数据比特区与冗余比特区。数据比特区包含多个实体存取地址用以储存使用者的数据,而冗余比特区用以储存系统的数据(例如,控制信息与错误更正码)。在此,一个实体编程单元的容量是定义为包含数据比特区的容量与冗余比特区的容量。例如,在本范例实施例中,每一实体编程单元的使用者数据比特区的容量为2千字节(Kilobyte,简称:KB)并且冗余比特区的容量为64字节(byte),也就是说,每一个实体编程单元的数据比特区中会包含4个实体存取地址,且一个实体存取地址的大小为512字节(byte)。然而,必须了解的是,本发明不限于此。例如,在其他范例实施例中,数据比特区中也可包含数目更多或更少的实体存取地址,本发明并不限制实体存取地址的大小以及个数。例如,在一范例实施例中,实体抹除单元为实体区块,并且实体编程单元为实体页面或实体扇区,但本发明不以此为限。
[0128]在本范例实施例中,可复写式非易失性存储器组件106为多层存储单元(MultiLevel Cell,简称:MLC)NAND型快闪存储器组件(即,一个存储单元中可储存2个比特数据的快闪存储器组件)。然而,本发明不限于此,可复写式非易失性存储器组件106也可是单层存储单元(Single Level Cell,简称:SLC)NAND型快闪存储器组件(S卩,一个存储单元中可储存I个比特数据的快闪存储器组件)、多层存储单元(Trinary Level Cell,简称:TLC)NAND型快闪存储器组