CN107577554B - 检测使用中逻辑页面的数据储存装置与数据储存方法 - Google Patents

检测使用中逻辑页面的数据储存装置与数据储存方法 Download PDF

Info

Publication number
CN107577554B
CN107577554B CN201710043716.3A CN201710043716A CN107577554B CN 107577554 B CN107577554 B CN 107577554B CN 201710043716 A CN201710043716 A CN 201710043716A CN 107577554 B CN107577554 B CN 107577554B
Authority
CN
China
Prior art keywords
logical page
logical
page
data storage
pages
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
CN201710043716.3A
Other languages
English (en)
Other versions
CN107577554A (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.)
Silicon Motion Inc
Original Assignee
Silicon Motion Inc
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 Silicon Motion Inc filed Critical Silicon Motion Inc
Publication of CN107577554A publication Critical patent/CN107577554A/zh
Application granted granted Critical
Publication of CN107577554B publication Critical patent/CN107577554B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • 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/0614Improving the reliability of storage systems
    • G06F3/0619Improving the reliability of storage systems in relation to data integrity, e.g. data losses, bit errors
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/08Error detection or correction by redundancy in data representation, e.g. by using checking codes
    • G06F11/10Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's
    • G06F11/1008Adding 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/1068Adding 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
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/02Addressing or allocation; Relocation
    • G06F12/0223User address space allocation, e.g. contiguous or non contiguous base addressing
    • G06F12/023Free address space management
    • G06F12/0238Memory management in non-volatile memory, e.g. resistive RAM or ferroelectric memory
    • G06F12/0246Memory management in non-volatile memory, e.g. resistive RAM or ferroelectric memory in block erasable memory, e.g. flash memory
    • 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/0646Horizontal data movement in storage systems, i.e. moving data in between storage devices or systems
    • G06F3/065Replication mechanisms
    • 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/067Distributed or networked storage systems, e.g. storage area networks [SAN], network attached storage [NAS]
    • 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
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2212/00Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
    • G06F2212/10Providing a specific technical effect
    • G06F2212/1008Correctness of operation, e.g. memory ordering
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2212/00Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
    • G06F2212/10Providing a specific technical effect
    • G06F2212/1016Performance improvement
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2212/00Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
    • G06F2212/10Providing a specific technical effect
    • G06F2212/1032Reliability improvement, data loss prevention, degraded operation etc
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2212/00Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
    • G06F2212/72Details relating to flash memory management
    • G06F2212/7201Logical to physical mapping or translation of blocks or pages
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2212/00Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
    • G06F2212/72Details relating to flash memory management
    • G06F2212/7202Allocation control and policies
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2212/00Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
    • G06F2212/72Details relating to flash memory management
    • G06F2212/7204Capacity control, e.g. partitioning, end-of-life degradation

Abstract

本发明涉及一种数据检测使用中逻辑页面的储存装置以及数据储存方法,用以储存多个数据。数据储存装置包括一存储器以及一控制器。存储器包括多个区块,上述区块的每一个包括多个实体页面。控制器耦接该存储器,将多个逻辑页面对应为该存储器的这些实体页面。当该控制器检测这些逻辑页面中的第一逻辑页面为使用中逻辑页面时,检测第一逻辑页面的上一个逻辑地址的第二逻辑页面是否为使用中逻辑页面,以找出这些逻辑页面中的最后一个真正的使用中逻辑页面。

Description

检测使用中逻辑页面的数据储存装置与数据储存方法
技术领域
本发明有关于一种数据储存装置与数据储存方法,特别有关于一种检测逻辑页面的方法,以找出最后一个使用中的逻辑页面。
背景技术
当使用者在使用数据储存装置(例如快闪存储器)时,可能会在写入数据的过程中,发生意外或不正常的断电情况。此时,除了正在写入的页面会受到影响之外,与此页面有关系的其他页面也可能会受到影响。当控制器对数据储存装置进行检测,找出最后一个使用者的页面时,可能会因为上述被影响的其他页面而发生误判。
举例而言,上述其他被影响的页面实际上是空白页,亦即未曾被写入数据。然而,该页面因为受到不正常断电的影响,被控制器误判为使用中的页面。如此一来,可能会造成后续数据写入的问题。因此,需要一种有效检测页面的数据储存装置与数据储存方法,正确找出最后一个使用中的页面。
发明内容
为了解决上述问题,本发明提出一种数据储存装置与数据储存方法,能够有效检测页面是否为真正的使用中页面,以找出最后一个使用中的页面。详细而言,当检测出一使用中的页面时,本发明的数据储存装置与数据储存方法会再检测该页面的上一个地址的页面是否为使用中页面。如果上一个地址的页面为空白页,则表示该页面并非真正的使用中页面。因此,本发明所提供的数据储存装置与数据储存方法能够避免发生误判,正确地找出最后一个真正的使用中页面。
本发明的一实施例提供了一种数据储存装置,用以储存多个数据。数据储存装置包括一存储器以及一控制器。存储器包括多个区块,上述区块的每一个包括多个实体页面。控制器耦接存储器,将多个逻辑页面对应为存储器的等实体页面,其中当控制器检测等逻辑页面中的第一逻辑页面为使用中逻辑页面时,检测第一逻辑页面的上一个逻辑地址的第二逻辑页面是否为使用中逻辑页面,以找出等逻辑页面中的最后一个真正的使用中逻辑页面。
当控制器检测第二逻辑页面不是使用中逻辑页面时,则判断第一逻辑页面为误判的使用中逻辑页面,并且继续检测第二逻辑页面的上一个逻辑地址的第三逻辑页面是否为使用中逻辑页面;当控制器检测第二逻辑页面为使用中逻辑页面时,则判断第一逻辑页面为最后一个真正的使用中逻辑页面。当控制器检测第三逻辑页面为使用中逻辑页面时,则判断第二逻辑页面为最后一个真正的使用中逻辑页面。当控制器检测第三逻辑页面不是使用中逻辑页面时,则判断第二逻辑页面为误判的使用中逻辑页面,并且继续检测第三逻辑页面的上一个逻辑地址的第四逻辑页面是否为使用中逻辑页面。
控制器依据跳跃式线性检索(linear search)或二元检索(binary search),依序检测等逻辑页面中的每一个是否为使用中逻辑页面。上述第一逻辑页面与第二逻辑页面属于不同的字元线(word line)。当逻辑页面之中的每一位元并非都为1时,则控制器判断逻辑页面为使用中逻辑页面。逻辑页面之中的每一位元是否都为1由硬件所判断。当逻辑页面发生ECC情况时,则控制器判断逻辑页面为使用中逻辑页面。
本发明提供了一种数据储存方法,应用于储存多个数据的一数据储存装置。数据储存装置包括一存储器以及一控制器。控制器系将多个逻辑页面对应为存储器的多个实体页面,数据储存方法包括:检测等逻辑页面中的第一逻辑页面是否为使用中逻辑页面;当检测等逻辑页面中的第一逻辑页面为使用中逻辑页面时,检测第一逻辑页面的上一个逻辑地址的第二逻辑页面是否为使用中逻辑页面,以找出等逻辑页面中的最后一个真正的使用中逻辑页面。
附图说明
图1显示了根据本发明一实施例所述的数据储存装置与主机的示意图;
图2显示了根据本发明一实施例所述的数据储存方法的流程图;
图3显示了根据本发明一实施例所述的逻辑页面的示意图。
图4显示了根据本发明另一实施例所述的逻辑页面的示意图。
符号说明
100~数据储存装置;
120~控制器;
140~存储器;
160-16N~区块;
160A、160Z…16NA、16NZ~实体页面;
260~逻辑区块;
260A…260R~逻辑页面。
具体实施方式
为让本发明的目的、特征和优点能更明显易懂,下文特举出本发明的具体实施例,并配合附图,作详细说明如下。目的在于说明本发明的精神而非用以限定本发明的保护范围,应理解下列实施例可经由软件、硬件、固件、或上述任意组合来实现。
图1显示了根据本发明一实施例所述的数据储存装置100与主机180的示意图。在一实施例中,数据储存装置100包括控制器120与存储器140,并且数据储存装置100耦接主机180以传送数据与指令、或是接收数据与指令。存储器140可以为非挥发性存储器,例如与非门快闪存储器(NAND Flash)。主机180可以为手机、平板电脑、笔记型电脑、导航机或车载系统等。
如图1所示,存储器140包括多个区块160~16N。详细而言,区块160~16N中的每一个更包括多个实体页面160A~16NZ。区块160包括实体页面160A~160Z,区块16N包括实体页面16NA~16NZ。控制器120在对存储器140执行写入或储存动作时,是藉由控制存储器140以实体页面为单位来执行写入或程式化的运作。控制器120藉由控制存储器140以丛集(cluster)为单位执行读取运作的方式来对存储器140执行读取运作。此外,控制器120耦接存储器140以相互传送数据与指令或接收数据与指令。进一步而言,控制器120可包括具有固件码的一微控制器以及只读存储器(ROM),并且微控制器执行固件码以操作或是存取存储器140。
对于存储器140而言,其实体页面160A~16NZ的每一个皆具有不同的实体地址。换言之,实体页面160A~16NZ的每一个都具有一个实体地址,而实体页面160A~16NZ的每一个的实体地址都是不同的。当数据储存装置100执行一写入运作时,控制器120决定存储器140的一实体地址以写入或储存数据。此外,控制器120则分别对应上述多个实体地址至多个逻辑地址。因此,对于主机180而言,主机180系藉由逻辑地址,来读取或写入数据储存装置100所储存于某个逻辑地址的数据。
控制器120系依据逻辑页面的顺序,将逻辑页面对应为存储器140的实体页面,并且检测存储器140所对应的上述实体页面所储存的数据的状态。在一实施例中,控制器120依据跳跃式线性检索(linear search)或二元检索(binary search),依序检测多个逻辑页面中的每一个是否为使用中逻辑页面。当某一个逻辑页面之中的每一位元都为1时,则控制器120判断该逻辑页面为空白页,表示该逻辑页面没有被写入任何数据;当某一个逻辑页面之中的每一位元并非都为1时,则控制器120判断该逻辑页面为使用中逻辑页面。详细而言,上述逻辑页面之中的每一位元是否都为1,系由硬体所判断。
在另一实施例中,当逻辑页面发生ECC情况时,则控制器120判断该逻辑页面为使用中逻辑页面。举例而言,详细而言,控制器120系检测上述逻辑页面的ECC位元数,以判断逻辑页面所储存的数据是否发生错误。当ECC位元数较低时,则控制器120判断该数据是正确的,ECC修复成功。当ECC位元数较高时,则控制器120判断该数据发生错误,表示ECC修复失败。值得注意的是,无论上述ECC位元数是高还是低,无论ECC是否修复成功,控制器120都会判断该逻辑页面为使用中逻辑页面。
控制器120可藉由上述方法,判断一逻辑页面是否为使用中逻辑页面。然而,控制器120所判定的使用中逻辑页面可能并非真正有写入数据的使用中逻辑页面,而是因为不正常断电而误判为使用中逻辑页面。因此,需要一种有效检测页面的数据储存装置与数据储存方法,确保控制器120所判断的使用中的页面是真正有写入数据的使用中页面。
图2显示了根据本发明一实施例所述的数据储存方法的流程图。在步骤S200中,控制器120依序检测多个逻辑页面。在步骤S202中,控制器120检测多个逻辑页面之中的一逻辑页面是否为使用中逻辑页面。关于使用中逻辑页面的检测与判断方式如前所述,此处不再赘述。然后在步骤S204中,控制器120检测该逻辑页面的上一个逻辑地址的逻辑页面。在步骤S206中,控制器120检测该上一个逻辑地址的逻辑页面是否为使用中逻辑页面。
如果控制器120检测该上一个逻辑地址的逻辑页面为使用中逻辑页面,则执行步骤S208,控制器120判断该逻辑页面为最后一个真正的使用中逻辑页面。然后在步骤S210中,结束此数据储存方法。如果控制器120检测该上一个逻辑地址的逻辑页面不是使用中逻辑页面,则执行步骤S212,控制器120判断该逻辑页面为误判的使用中逻辑页面。换言之,如果上一个逻辑地址的逻辑页面不是使用中逻辑页面,则表示该逻辑页面不是真正的使用中逻辑页面,而是因为不正常断电所造成的误判。然后,执行步骤S204,控制器120继续检测再上一个逻辑地址的逻辑页面,直到找出最后一个真正的使用中逻辑页面。
图3显示了根据本发明一实施例所述的逻辑页面260A-260P的示意图。在此实施例中,逻辑区块260包括多个逻辑页面260A-260P,并且逻辑页面260A-260P是依序逐一被写入的。如图3所示,浅色标示的逻辑页面260A-260I为写入数据的真正的使用中逻辑页面,无标示的逻辑页面260J-K、260M-P以及深色标示的逻辑页面260L为未写入数据的空白的逻辑页面。由于在写入逻辑页面260I时发生不正常的断电,造成同一条字元线(word line)上的另一个逻辑页面260L也受到损害。换言之,逻辑页面260I为一字元线的LSB(LeastSignificant Bit),而逻辑页面260L为同一字元线的MSB(Most Significant Bit)。逻辑页面260L原本是未写入数据的空白页面,亦即逻辑页面260L所储存的每一个位元都是1。因为逻辑页面260L受到不正常断电的影响,导致其部分位元变成0,而可能被控制器120误判为使用中页面而非空白页面。
在图3所示的实施例中,控制器120依据跳跃式线性检索,来回检测多个逻辑页面260A-260P。换言之,控制器120并非逐一检视多个逻辑页面260A-260P。由于逻辑区块260具有很多个逻辑页面,逐一检视会耗费许多时间。因此,采用跳跃式线性检索以提高检视的效率。控制器120检视逻辑页面260A、260E、260I以及260M,然后再返回检测逻辑页面260L。
值得注意的是,当控制器120检测逻辑页面260L(第一逻辑页面)为使用中逻辑页面时,控制器120会检测该逻辑页面260L的上一个逻辑地址的逻辑页面260K(第二逻辑页面)是否为使用中逻辑页面,以找出逻辑页面260A-260P中的最后一个真正的使用中逻辑页面。在此实施例中,控制器120检测逻辑页面260K并非使用中页面(亦即空白页面)。因此,控制器120判断该逻辑页面260L为误判的使用中逻辑页面,并且继续检测该逻辑页面260K的上一个逻辑地址的逻辑页面260J(第三逻辑页面)是否为使用中逻辑页面。
此外,当控制器120检测逻辑页面260K为使用中逻辑页面时,则判断逻辑页面260L为最后一个真正的使用中逻辑页面。由于逻辑页面260K与260L属于不同的字元线,逻辑页面260K不会受到逻辑页面260I所发生的不正常断电的影响。因此,藉由判断逻辑页面260K的数据状态,能够有助于判断逻辑页面260L是否为真正的使用中逻辑页面。
已知的数据储存方法无法判断逻辑页面260L是否为真正的逻辑页面。如果误判逻辑页面260L为最后一个真正的逻辑页面,则控制器120会从下一个逻辑地址的逻辑页面260M开始写入数据。如此一来,空白的逻辑页面260J与260K就会被控制器120所忽略,没有被写入任何数据。对于逻辑区块260而言,会有中间一部分的逻辑页面是空白而没有被程式化,容易造成数据的遗失或损坏。本发明能够准确判断出最后一个真正的逻辑页面,因此能够避免上述空白页被忽略的状况,提升数据储存装置100的可靠度。
在另一实施例中,控制器120检测逻辑页面260K不是使用中逻辑页面时,则判断逻辑页面260L为误判的使用中逻辑页面,并且继续检测再上一个逻辑地址的逻辑页面J。此时,如果控制器120检测逻辑页面J为使用中逻辑页面时,则判断逻辑页面K为最后一个真正的使用中逻辑页面。如果控制器120检测逻辑页面260J不是使用中逻辑页面时,则判断逻辑页面260K为误判的使用中逻辑页面,并且继续检测逻辑页面260J的上一个逻辑地址的逻辑页面260I(第四逻辑页面)是否为使用中逻辑页面。
图4显示了根据本发明另一实施例所述的逻辑页面260A-260R的示意图。浅色标示的逻辑页面260A-260I为写入数据的真正的使用中逻辑页面,无标示的逻辑页面260J-K、260M-R以及深色标示的逻辑页面260L为未写入数据的空白的逻辑页面。控制器120依据二元检索(binary search),来回检测多个逻辑页面260A-260R。如图4所示,控制器120先检测最初和最后的逻辑页面260A与260R,再检测中间的逻辑页面260I。因为逻辑页面260I被检测为使用中逻辑页面,控制器120再检测上一个逻辑地址的逻辑页面260H。由于逻辑页面260H也是使用中逻辑页面,因此控制器120判断逻辑页面260I为储存数据的真正的使用中逻辑页面。
值得注意的是,逻辑页面L虽然实际上为空白页,但是因为受到不正常断电的影响而被检测为使用中逻辑页面。此时,控制器120会再检测上一个逻辑地址的逻辑页面260K。由于逻辑页面260K不是使用中逻辑页面,控制器120判断逻辑页面260L为误判的使用中逻辑页面。换言之,控制器120判断逻辑页面并非真正的使用中逻辑页面,而是因为不正常断电而被误判的空白页。
藉由本发明的数据储存装置与数据储存方法,当检测到使用中页面时,会再检测该页面的上一个地址的页面是否为使用中页面。如果上一个地址的页面为空白页,则表示该页面并非真正的使用中页面。如果上一个地址之页面为使用中页面,则表示该页面为真正的使用中页面。因此,本发明所提供的数据储存装置与数据储存方法能够避免发生误判,正确地找出最后一个真正的使用中页面。
在本说明书以及申请专利范围中的序数,例如
"第一"、"第二"、"第三"等等,彼此之间并没有顺序上的先后关系,其仅用于标示区分两个具有相同名字之不同元件。本发明说明书中"耦接"一词系泛指各种直接或间接的电性连接方式。本发明虽以较佳实施例揭示如上,然其并非用以限定本发明的范围,任何熟悉本技术领域者,在不脱离本发明的精神和范围内,当可做些许的更动与润饰,因此本发明的保护范围当由权利要求书界定为准。

Claims (16)

1.一种数据储存装置,用以储存多个数据,包括:
一存储器,包括多个区块,其中这些区块之每一个包括多个实体页面;
一控制器,耦接该存储器,将多个逻辑页面对应为该存储器的这些实体页面,其中该控制器依据跳跃式线性检索或二元检索,依序检测这些逻辑页面中的每一个是否为使用中逻辑页面,
其中当该控制器检测这些逻辑页面中的第一逻辑页面为使用中逻辑页面时,检测该第一逻辑页面的上一个逻辑地址的第二逻辑页面是否为使用中逻辑页面,以找出这些逻辑页面中的最后一个真正的使用中逻辑页面。
2.如权利要求1所述的数据储存装置,其特征在于,当该控制器检测该第二逻辑页面不是使用中逻辑页面时,则判断该第一逻辑页面为误判的使用中逻辑页面,并且继续检测该第二逻辑页面的上一个逻辑地址的第三逻辑页面是否为使用中逻辑页面。
3.如权利要求2所述的数据储存装置,其特征在于,当该控制器检测该第二逻辑页面为使用中逻辑页面时,则判断该第一逻辑页面为最后一个真正的使用中逻辑页面。
4.如权利要求2所述的数据储存装置,其特征在于,当该控制器检测该第三逻辑页面为使用中逻辑页面时,则判断该第二逻辑页面为最后一个真正的使用中逻辑页面。
5.如权利要求4所述的数据储存装置,其特征在于,当该控制器检测该第三逻辑页面不是使用中逻辑页面时,则判断该第二逻辑页面为误判的使用中逻辑页面,并且继续检测该第三逻辑页面的上一个逻辑地址的第四逻辑页面是否为使用中逻辑页面。
6.如权利要求1所述的数据储存装置,其特征在于,该第一逻辑页面与该第二逻辑页面属于不同的字元线。
7.如权利要求1所述的数据储存装置,其特征在于,当逻辑页面之中的每一位元并非都为1时,则该控制器判断该逻辑页面为使用中逻辑页面。
8.如权利要求7所述的数据储存装置,其特征在于,该逻辑页面之中的每一位元是否都为1由硬件所判断。
9.如权利要求1所述的数据储存装置,其特征在于,当逻辑页面发生ECC情况时,则该控制器判断该逻辑页面为使用中逻辑页面。
10.一种数据储存方法,应用于储存多个数据的一数据储存装置,该数据储存装置包括一存储器以及一控制器,该控制器是将多个逻辑页面对应为该存储器的多个实体页面,该数据储存方法包括:
依据跳跃式线性检索或二元检索,依序检测这些逻辑页面中的每一个是否为使用中逻辑页面;
检测这些逻辑页面中的第一逻辑页面是否为使用中逻辑页面;
当检测这些逻辑页面中的第一逻辑页面为使用中逻辑页面时,检测该第一逻辑页面的上一个逻辑地址的第二逻辑页面是否为使用中逻辑页面,以找出这些逻辑页面中的最后一个真正的使用中逻辑页面。
11.如权利要求10所述的数据储存方法,其特征在于,当检测该第二逻辑页面不是使用中逻辑页面时,判断该第一逻辑页面为误判的使用中逻辑页面,并且继续检测该第二逻辑页面的上一个逻辑地址的第三逻辑页面是否为使用中逻辑页面。
12.如权利要求11所述的数据储存方法,其特征在于,当检测该第二逻辑页面为使用中逻辑页面时,则判断该第一逻辑页面为最后一个真正的使用中逻辑页面。
13.如权利要求11所述的数据储存方法,其特征在于,当检测该第三逻辑页面为使用中逻辑页面时,则判断该第二逻辑页面为最后一个真正的使用中逻辑页面。
14.如权利要求13所述的数据储存方法,其特征在于,当检测该第三逻辑页面不是使用中逻辑页面时,则判断该第二逻辑页面为误判的使用中逻辑页面,并且继续检测该第三逻辑页面的上一个逻辑地址的第四逻辑页面是否为使用中逻辑页面。
15.如权利要求10所述的数据储存方法,其特征在于,当逻辑页面之中的每一位元并非都为1时,判断该逻辑页面为使用中逻辑页面。
16.如权利要求10所述的数据储存方法,其特征在于,当逻辑页面发生ECC情况时,判断该逻辑页面为使用中逻辑页面。
CN201710043716.3A 2016-07-05 2017-01-19 检测使用中逻辑页面的数据储存装置与数据储存方法 Active CN107577554B (zh)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
TW105121193 2016-07-05
TW105121193A TWI601011B (zh) 2016-07-05 2016-07-05 偵測使用中邏輯頁面之資料儲存裝置與資料儲存方法

Publications (2)

Publication Number Publication Date
CN107577554A CN107577554A (zh) 2018-01-12
CN107577554B true CN107577554B (zh) 2020-12-01

Family

ID=60910829

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201710043716.3A Active CN107577554B (zh) 2016-07-05 2017-01-19 检测使用中逻辑页面的数据储存装置与数据储存方法

Country Status (3)

Country Link
US (1) US10248339B2 (zh)
CN (1) CN107577554B (zh)
TW (1) TWI601011B (zh)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
TWI633437B (zh) * 2017-05-26 2018-08-21 慧榮科技股份有限公司 偵測使用中邏輯頁面之資料儲存裝置與資料儲存方法

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102779551A (zh) * 2011-05-10 2012-11-14 群联电子股份有限公司 数据写入方法、存储器控制器与存储器储存装置
CN102890655A (zh) * 2011-07-20 2013-01-23 群联电子股份有限公司 存储器储存装置、其存储器控制器与有效数据识别方法
US20130304972A1 (en) * 2012-05-11 2013-11-14 Sony Corporation Control device, storage device, and storage control method
CN104699417A (zh) * 2013-12-04 2015-06-10 慧荣科技股份有限公司 数据储存装置以及其数据存取方法

Family Cites Families (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP6072428B2 (ja) * 2012-05-01 2017-02-01 テセラ アドバンスト テクノロジーズ インコーポレーテッド 制御装置、記憶装置、記憶制御方法
TWI495998B (zh) * 2012-08-01 2015-08-11 Phison Electronics Corp 資料管理方法、記憶體控制器與記憶體儲存裝置
TWI479492B (zh) * 2012-11-20 2015-04-01 Phison Electronics Corp 記憶體儲存裝置、其記憶體控制器與資料寫入方法
TWI512467B (zh) * 2014-09-02 2015-12-11 Silicon Motion Inc 實體儲存對照表維護方法以及使用該方法的裝置
TWI512462B (zh) * 2015-02-11 2015-12-11 Phison Electronics Corp 記憶體管理方法、記憶體控制電路單元及記憶體儲存裝置

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102779551A (zh) * 2011-05-10 2012-11-14 群联电子股份有限公司 数据写入方法、存储器控制器与存储器储存装置
CN102890655A (zh) * 2011-07-20 2013-01-23 群联电子股份有限公司 存储器储存装置、其存储器控制器与有效数据识别方法
US20130304972A1 (en) * 2012-05-11 2013-11-14 Sony Corporation Control device, storage device, and storage control method
CN104699417A (zh) * 2013-12-04 2015-06-10 慧荣科技股份有限公司 数据储存装置以及其数据存取方法

Also Published As

Publication number Publication date
US10248339B2 (en) 2019-04-02
TWI601011B (zh) 2017-10-01
CN107577554A (zh) 2018-01-12
US20180011646A1 (en) 2018-01-11
TW201802685A (zh) 2018-01-16

Similar Documents

Publication Publication Date Title
TWI625735B (zh) 記憶體管理方法以及儲存控制器
US9037946B2 (en) Detecting effect of corrupting event on preloaded data in non-volatile memory
EP2530594A1 (en) System and method of tracking error data within a storage device
US20030093610A1 (en) Algorithm of flash memory capable of quickly building table and preventing improper operation and control system thereof
WO2015047688A1 (en) Updating read voltages
WO2013134042A1 (en) System and method to decode data subject to a disturb condition
CN105788648A (zh) 基于异构混合内存的nvm坏块识别处理及纠错方法和系统
US9552287B2 (en) Data management method, memory controller and embedded memory storage apparatus using the same
US20210081314A1 (en) Unretiring memory device blocks
US20070294588A1 (en) Performing a diagnostic on a block of memory associated with a correctable read error
WO2021041654A1 (en) Handling bad blocks generated during a block erase operation
CN112700815A (zh) 管理针对临时操作条件的块引退
CN107577554B (zh) 检测使用中逻辑页面的数据储存装置与数据储存方法
US11231990B2 (en) Device and method for generating error correction information
US11669392B2 (en) Non-volatile memory
US10606520B2 (en) Methods and apparatus to read from a nonvolatile memory device
CN112306382B (zh) 快闪存储器控制器、储存装置及其读取方法
US10754566B2 (en) Data storage device and data storage method
US10475522B2 (en) Memory system including a delegate page and method of identifying a status of a memory system
CN108932178B (zh) 检测使用中逻辑页面的数据储存装置与数据储存方法
CN107093458B (zh) 固态储存装置及其数据处理方法
CN111712803A (zh) 在存储器系统处存储关键数据
CN114327265B (zh) 读取干扰检查方法、存储器存储装置及控制电路单元
CN112151104B (zh) 存储器存放装置及其动态数据修复的方法
CN117009158A (zh) 基于flash阵列的存储管理方法

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