CN109783005A - 控制记忆装置的方法、记忆装置、及其控制器和电子装置 - Google Patents
控制记忆装置的方法、记忆装置、及其控制器和电子装置 Download PDFInfo
- Publication number
- CN109783005A CN109783005A CN201810666231.4A CN201810666231A CN109783005A CN 109783005 A CN109783005 A CN 109783005A CN 201810666231 A CN201810666231 A CN 201810666231A CN 109783005 A CN109783005 A CN 109783005A
- Authority
- CN
- China
- Prior art keywords
- randomization
- controller
- page
- memory device
- circuit
- 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 36
- 230000005055 memory storage Effects 0.000 title description 59
- 238000001514 detection method Methods 0.000 claims abstract description 43
- 238000012937 correction Methods 0.000 claims abstract description 29
- 230000001133 acceleration Effects 0.000 claims abstract description 8
- 238000012545 processing Methods 0.000 claims description 40
- 238000003860 storage Methods 0.000 claims description 18
- 238000013507 mapping Methods 0.000 claims description 9
- 230000001960 triggered effect Effects 0.000 claims 1
- 230000008569 process Effects 0.000 abstract description 5
- 230000008901 benefit Effects 0.000 abstract description 2
- 230000003111 delayed effect Effects 0.000 abstract 1
- 230000009183 running Effects 0.000 description 37
- 230000000694 effects Effects 0.000 description 7
- 230000005540 biological transmission Effects 0.000 description 6
- 230000008859 change Effects 0.000 description 6
- 238000005516 engineering process Methods 0.000 description 3
- 238000007689 inspection Methods 0.000 description 3
- 239000007787 solid Substances 0.000 description 3
- 238000004891 communication Methods 0.000 description 2
- 238000010586 diagram Methods 0.000 description 2
- 230000005611 electricity Effects 0.000 description 2
- 230000007246 mechanism Effects 0.000 description 2
- 238000012856 packing Methods 0.000 description 2
- 230000002093 peripheral effect Effects 0.000 description 2
- 230000003068 static effect Effects 0.000 description 2
- 241000208340 Araliaceae Species 0.000 description 1
- 235000005035 Panax pseudoginseng ssp. pseudoginseng Nutrition 0.000 description 1
- 235000003140 Panax quinquefolius Nutrition 0.000 description 1
- 238000000429 assembly Methods 0.000 description 1
- 230000000712 assembly Effects 0.000 description 1
- 230000006835 compression Effects 0.000 description 1
- 238000007906 compression Methods 0.000 description 1
- 230000008878 coupling Effects 0.000 description 1
- 238000010168 coupling process Methods 0.000 description 1
- 238000005859 coupling reaction Methods 0.000 description 1
- 238000000151 deposition Methods 0.000 description 1
- 238000011161 development Methods 0.000 description 1
- 235000008434 ginseng Nutrition 0.000 description 1
- 230000006872 improvement Effects 0.000 description 1
- 230000014759 maintenance of location Effects 0.000 description 1
- 238000007726 management method Methods 0.000 description 1
- 230000008439 repair process Effects 0.000 description 1
- 238000013519 translation 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
- G06F11/1012—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 codes or arrangements adapted for a specific type of error
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F12/00—Accessing, addressing or allocating within memory systems or architectures
- G06F12/02—Addressing or allocation; Relocation
- G06F12/0223—User address space allocation, e.g. contiguous or non contiguous base addressing
- G06F12/023—Free address space management
- G06F12/0238—Memory management in non-volatile memory, e.g. resistive RAM or ferroelectric memory
- G06F12/0246—Memory management in non-volatile memory, e.g. resistive RAM or ferroelectric memory in block erasable memory, e.g. flash memory
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F12/00—Accessing, addressing or allocating within memory systems or architectures
- G06F12/02—Addressing or allocation; Relocation
- G06F12/08—Addressing or allocation; Relocation in hierarchically structured memory systems, e.g. virtual memory systems
- G06F12/10—Address translation
- G06F12/1009—Address translation using page tables, e.g. page table structures
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input 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/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0602—Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
- G06F3/061—Improving I/O performance
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input 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/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0602—Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
- G06F3/0614—Improving the reliability of storage systems
- G06F3/0619—Improving the reliability of storage systems in relation to data integrity, e.g. data losses, bit errors
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input 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/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0628—Interfaces specially adapted for storage systems making use of a particular technique
- G06F3/0629—Configuration or reconfiguration of storage systems
- G06F3/0632—Configuration or reconfiguration of storage systems by initialisation or re-initialisation of storage systems
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input 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/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0628—Interfaces specially adapted for storage systems making use of a particular technique
- G06F3/0655—Vertical data movement, i.e. input-output transfer; data movement between one or more hosts and one or more storage devices
- G06F3/0659—Command handling arrangements, e.g. command buffers, queues, command scheduling
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input 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/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0668—Interfaces specially adapted for storage systems adopting a particular infrastructure
- G06F3/0671—In-line storage system
- G06F3/0673—Single storage device
- G06F3/0679—Non-volatile semiconductor memory device, e.g. flash memory, one time programmable memory [OTP]
-
- 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
- G11C29/08—Functional testing, e.g. testing during refresh, power-on self testing [POST] or distributed testing
- G11C29/12—Built-in arrangements for testing, e.g. built-in self testing [BIST] or interconnection details
- G11C29/38—Response verification devices
- G11C29/42—Response verification devices using error correcting codes [ECC] or parity check
-
- 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/52—Protection of memory contents; Detection of errors in memory contents
-
- H—ELECTRICITY
- H03—ELECTRONIC CIRCUITRY
- H03M—CODING; DECODING; CODE CONVERSION IN GENERAL
- H03M13/00—Coding, decoding or code conversion, for error detection or error correction; Coding theory basic assumptions; Coding bounds; Error probability evaluation methods; Channel models; Simulation or testing of codes
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F1/00—Details not covered by groups G06F3/00 - G06F13/00 and G06F21/00
- G06F1/26—Power supply means, e.g. regulation thereof
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2212/00—Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
- G06F2212/72—Details relating to flash memory management
- G06F2212/7207—Details relating to flash memory management management of metadata or control data
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Human Computer Interaction (AREA)
- Quality & Reliability (AREA)
- Probability & Statistics with Applications (AREA)
- Computer Security & Cryptography (AREA)
- Techniques For Improving Reliability Of Storages (AREA)
- Read Only Memory (AREA)
Abstract
本发明公开了一种用来控制一记忆装置的运作的方法、相关的记忆装置及其控制器以及相关的电子装置。所述方法可包括:传送一读取指令至一非挥发性存储器,以使所述非挥发性存储器输出一数据流;以及分别利用所述控制器的一控制逻辑电路中的多个子电路,对所述数据流进行平行处理。例如,分别利用所述多个子电路对所述数据流进行平行处理可包括:利用一随机化/去随机化及错误更正码电路依据所述数据流进行去随机化及错误更正码解码,其中这个运作涉及所述记忆装置的初始化;以及利用一空页侦测电路依据所述数据流进行空页侦测,其中这个运作涉及所述记忆装置的初始化的加速。本发明的有益之处于能够避免电子装置的初始化被记忆装置的初始化延迟。
Description
技术领域
本发明涉及闪存(Flash memory)的存取(access)控制,尤指一种用来控制一记忆装置的运作的方法、相关的记忆装置及其控制器以及相关的电子装置。
背景技术
近年来由于存储器的技术不断地发展,各种可携式或非可携式记忆装置(例如:符合SD/MMC、CF、MS、XD或UFS标准的记忆卡;又例如:固态硬盘;又例如:符合UFS或EMMC规格的嵌入式(embedded)存储装置)被广泛地实施于诸多应用中。因此,这些记忆装置中的存储器的存取控制遂成为相当热门的议题。
以常用的NAND型闪存而言,其主要可区分为单阶细胞(single level cell,SLC)与多阶细胞(multiple level cell,MLC)两大类的闪存。单阶细胞闪存中的每个被当作记忆细胞(memory cell)的晶体管只有两种电荷值,分别用来表示逻辑值0与逻辑值1。另外,多阶细胞闪存中的每个被当作记忆单元的晶体管的存储能力则被充分利用,是采用较高的电压来驱动,以透过不同级别的电压在一个晶体管中记录至少两组位信息(诸如00、01、11、10);理论上,多阶细胞闪存的记录密度可以达到单阶细胞闪存的记录密度的至少两倍,这对于曾经在发展过程中遇到瓶颈的NAND型闪存的相关产业而言,是非常好的消息。
相较于单阶细胞闪存,由于多阶细胞闪存的价格较便宜,并且在有限的空间里可提供较大的容量,故多阶细胞闪存很快地成为市面上的记忆装置竞相采用的主流。然而,多阶细胞闪存的不稳定性所导致的问题也一一浮现。为了确保记忆装置对闪存的存取控制能符合相关规范,闪存的控制器通常备有某些管理机制以妥善地管理数据的存取。
依据现有技术,有了这些管理机制的记忆装置还是有不足的地方。举例来说,在记忆装置的初始化完成之前,电子装置无法使用记忆装置中的存储空间。在记忆装置被设置于电子装置中的状况下,电子装置的初始化可能被记忆装置的初始化延迟。尤其是,电子装置的系统信息可能被存储于记忆装置中,所以电子装置在开机的期间可能被迫等待记忆装置的初始化的完成,才能读取系统信息,这可造成电子装置开机时间过长。因此,需要一种新颖的方法及相关架构,以在没有副作用或较不可能带来副作用的状况下提升记忆装置的效能。
发明内容
本发明的一目的在于公开一种用来控制一记忆装置的运作的方法、相关的记忆装置及其控制器以及相关的电子装置,以解决上述问题。
本发明的另一目的在于公开一种用来控制一记忆装置的运作的方法、相关的记忆装置及其控制器以及相关的电子装置,以在没有副作用或较不可能带来副作用的状况下提升记忆装置的效能。
本发明的至少一实施例公开一种用来控制一记忆装置的运作的方法,其中所述记忆装置包括一非挥发性存储器(non-volatile memory,NV memory),且所述非挥发性存储器包括至少一非挥发性存储器组件(NV memory element)。所述方法可包括:传送一读取指令至所述非挥发性存储器,以使所述非挥发性存储器输出一数据流,其中所述数据流代表所述非挥发性存储器中的多个预定区块中的一区块的一页;以及分别利用所述记忆装置的一控制器的一控制逻辑电路中的多个子电路,对所述数据流进行平行处理,其中所述记忆装置包括所述控制器,且所述多个子电路包括一随机化(randomizing)/去随机化(de-randomizing)及错误更正码(Error Correction Code,ECC)电路与一空页侦测电路。例如,分别利用所述多个子电路对所述数据流进行平行处理可包括:利用所述随机化/去随机化及错误更正码电路依据所述数据流进行去随机化及错误更正码解码,其中依据所述数据流进行去随机化及错误更正码解码涉及所述记忆装置的初始化;以及利用所述空页侦测电路依据所述数据流进行空页侦测,其中依据所述数据流进行空页侦测涉及所述记忆装置的初始化的加速。
本发明的至少一实施例公开一种记忆装置,其可包括:一非挥发性存储器,用来存储信息,其中所述非挥发性存储器包括至少一非挥发性存储器组件;以及一控制器,耦接至所述非挥发性存储器,用来控制所述记忆装置的至少一运作。所述控制器可包括:一控制逻辑电路,耦接至所述非挥发性存储器,用来控制所述非挥发性存储器;以及一处理电路,耦接至所述控制逻辑电路。所述控制逻辑电路可包括:一随机化/去随机化及错误更正码电路,用来进行随机化、去随机化、错误更正码编码以及错误更正码解码中的至少一者;以及一空页侦测电路,用来进行空页侦测。例如:所述处理电路可依据来自一主装置的一指令控制所述控制器,以容许所述主装置透过所述控制器存取所述非挥发性存储器。另外,在所述处理电路的控制下,所述控制器可进行下列运作:传送一读取指令至所述非挥发性存储器,以使所述非挥发性存储器输出一数据流,其中所述数据流代表所述非挥发性存储器中的多个预定区块中的一区块的一页;以及分别利用所述控制逻辑电路中的多个子电路,对所述数据流进行平行处理,其中所述多个子电路包括所述随机化/去随机化及错误更正码电路与所述空页侦测电路。例如,分别利用所述多个子电路对所述数据流进行平行处理可包括:利用所述随机化/去随机化及错误更正码电路依据所述数据流进行去随机化及错误更正码解码,其中依据所述数据流进行去随机化及错误更正码解码涉及所述记忆装置的初始化;以及利用所述空页侦测电路依据所述数据流进行空页侦测,其中依据所述数据流进行空页侦测涉及所述记忆装置的初始化的加速。
依据某些实施例,本发明还公开一种电子装置,其可包括上述的记忆装置,且还包括:所述主装置,耦接至所述记忆装置。所述主装置可包括:至少一处理器,用来控制所述主装置的运作;以及一电源供应电路,耦接至所述至少一处理器,用来提供电源予所述至少一处理器与所述记忆装置。另外,所述记忆装置可用来提供存储空间给所述主装置。
本发明的至少一实施例公开一种记忆装置的控制器,其中所述记忆装置包括所述控制器与一非挥发性存储器,且所述非挥发性存储器包括至少一非挥发性存储器组件。所述控制器可包括:一控制逻辑电路,耦接至所述非挥发性存储器,用来控制所述非挥发性存储器;以及一处理电路,耦接至所述控制逻辑电路。所述控制逻辑电路可包括:一随机化/去随机化及错误更正码电路,用来进行随机化、去随机化、错误更正码编码以及错误更正码解码中的至少一者;以及一空页侦测电路,用来进行空页侦测。例如:所述处理电路可依据来自一主装置的一指令控制所述控制器,以容许所述主装置透过所述控制器存取所述非挥发性存储器。另外,在所述处理电路的控制下,所述控制器可进行下列运作:传送一读取指令至所述非挥发性存储器,以使所述非挥发性存储器输出一数据流,其中所述数据流代表所述非挥发性存储器中的多个预定区块中的一区块的一页;以及分别利用所述控制逻辑电路中的多个子电路,对所述数据流进行平行处理,其中所述多个子电路包括所述随机化/去随机化及错误更正码电路与所述空页侦测电路。例如,分别利用所述多个子电路对所述数据流进行平行处理可包括:利用所述随机化/去随机化及错误更正码电路依据所述数据流进行去随机化及错误更正码解码,其中依据所述数据流进行去随机化及错误更正码解码涉及所述记忆装置的初始化;以及利用所述空页侦测电路依据所述数据流进行空页侦测,其中依据所述数据流进行空页侦测涉及所述记忆装置的初始化的加速。
本发明的好处之一是,本发明能针对所述记忆装置的运作进行妥善的控制,以避免电子装置的初始化被记忆装置的初始化延迟。另外,依据本发明的相关实施例来实施并不会增加许多额外的成本。因此,现有技术的问题可被解决,且整体成本不会增加太多。相较于现有技术,本发明能在没有副作用或较不可能带来副作用的状况下提升记忆装置的效能。
附图说明
图1为依据本发明一实施例的一种电子装置的示意图。
图2绘示图1所示记忆装置于一实施例中的实施细节。
图3为依据本发明一实施例的一种用来控制一记忆装置的运作的方法的流程图。
图4绘示图3所示方法于一实施例中的工作流程。
图5绘示图3所示方法于一实施例中的编码/解码(encoding/decoding)控制方案。
其中,附图标记说明如下:
10 电子装置
50 主装置
52 处理器
54 电源供应电路
100 记忆装置
110 存储器控制器
112 微处理器
112C 程序代码
112M 只读存储器
114 控制逻辑电路
114A 空页侦测电路
114E 随机化/去随机化及错误更正码电路
114R 寄存器电路
116 挥发性存储器
118 传输接口电路
120 非挥发性存储器
122-1,122-2,…,122-N 非挥发性存储器组件
205,230 寄存器
210 位“0”累积器电路
220 比较器电路
300 方法
310,320,322-1,322-2,324-1,
324-2,
330,340,350,420,422,424 步骤
400 工作流程
500 页
511-1,511-2,…,511-M 数据
512-1,512-2,…,512-M 奇偶校验码
Byte(0),Byte(1),Byte(2),… 字节
BZC 位零数
BZCth 位零数阈值
EMPTY_PAGE 空页侦测信号
具体实施方式
I.存储器系统
图1为依据本发明一实施例的一种电子装置10的示意图,其中电子装置10包括一主装置(host device)50与一记忆装置100。主装置50可包括:至少一处理器52(例如一或多个处理器),用来控制主装置50的运作;以及一电源供应电路54,耦接至上述至少一处理器52,用来提供电源予上述至少一处理器52与记忆装置100、且输出一或多个驱动电压至记忆装置100,其中记忆装置100可用来提供存储空间给主装置50,且可从主装置50取得所述一或多个驱动电压,作为记忆装置100的电源。主装置50的例子可包括(但不限于):多功能移动电话(multifunctional mobile phone)、平板计算机(tablet)、可穿戴装置(wearabledevice)以及个人计算机(personal computer)诸如桌面计算机与膝上型计算机。记忆装置100的例子可包括(但不限于):可携式记忆装置(诸如符合SD/MMC、CF、MS、XD或UFS标准的记忆卡)、固态硬盘(solid state drive,SSD)以及各种嵌入式(embedded)存储装置(诸如符合UFS或EMMC规格的嵌入式存储装置)。依据本实施例,记忆装置100可包括一控制器诸如存储器控制器110,且可还包括一非挥发性存储器(non-volatile memory,NV memory)120,其中所述控制器是用来存取(access)非挥发性存储器120,且非挥发性存储器120是用来存储信息。非挥发性存储器120可包括至少一非挥发性存储器组件(NV memory element)(例如一或多个非挥发性存储器组件),诸如多个非挥发性存储器组件122-1、122-2、…与122-N,其中符号「N」可代表大于一的正整数。例如:非挥发性存储器120可为一闪存(Flashmemory),而非挥发性存储器组件122-1、122-2、…与122-N可分别为多个闪存芯片(Flashmemory chip)或多个闪存裸晶(Flash memory die),但本发明不限于此。
如图1所示,存储器控制器110可包括处理电路诸如微处理器112、存储组件诸如只读存储器(Read Only Memory,ROM)112M、控制逻辑电路114、挥发性存储器116与传输接口电路118,其中这些组件中的至少一部分(例如一部分或全部)可透过总线彼此耦接。挥发性存储器116是以随机存取存储器(Random Access Memory,RAM)来实施,例如可为静态随机存取存储器(Static RAM,SRAM),但本发明不限于此。挥发性存储器116可用来提供内部存储空间给存储器控制器110,例如可暂时地存储数据。另外,本实施例的只读存储器112M是用来存储一程序代码112C,而微处理器112则用来执行程序代码112C以控制对非挥发性存储器120的存取。请注意,程序代码112C也可存储在挥发性存储器116或任何形式的存储器内。此外,控制逻辑电路114可用来控制非挥发性存储器120。控制逻辑电路114可包括多个子电路,诸如一随机化(randomizing)/去随机化(de-randomizing)及错误更正码(ErrorCorrection Code,ECC)电路114E、一空页侦测电路114A以及一寄存器(register)电路114R,以同时或不同时地进行多个运作,其中随机化/去随机化及错误更正码电路114E可包括一随机化器(randomizer)、一去随机化器(de-randomizer)、一错误更正码编码器(ECCencoder)与一错误更正码解码器(ECC decoder),但本发明不限于此。传输接口电路118可符合一特定通信标准(诸如串行高级技术附件(Serial Advanced TechnologyAttachment,SATA)标准、通用串行总线(Universal Serial Bus,USB)标准、快捷外设互联(Peripheral Component Interconnect Express,PCIE)标准、嵌入式多媒体记忆卡(embedded Multi Media Card,eMMC)标准、或通用闪存存储(Universal Flash Storage,UFS)标准)且可依据所述特定通信标准进行通信。
于本实施例中,主装置50可藉由传送主装置指令(host command)与对应的逻辑地址予存储器控制器110来间接地存取记忆装置100。存储器控制器110接收主装置指令与逻辑地址,并将主装置指令转译成存储器操作指令(可简称为操作指令),再以操作指令控制非挥发性存储器120读取或写入(write)/编程(program)非挥发性存储器120当中特定实体地址的记忆单位(memory unit)或数据页(page),其中实体地址对应于逻辑地址。当存储器控制器110对非挥发性存储器组件122-1、122-2、…与122-N中的任一非挥发性存储器组件122-n进行一抹除(erase)运作时(符号「n」可代表区间[1,N]中的任一整数),非挥发性存储器组件122-n的多个区块中的至少一个区块会被抹除,其中所述多个区块中的每一区块可包括多个页(诸如数据页),且存取运作(例如读取或写入)可对一或多页来进行。另外,于一写入运作的期间,存储器控制器110可分别利用所述错误更正码编码器与所述随机化器进行错误更正码编码与随机化,以将待存储于非挥发性存储器120的原始数据转换为已编码且已随机化的一第一数据流,以供存储至非挥发性存储器120。于一读取运作的期间,存储器控制器110可分别利用所述去随机化器与所述错误更正码解码器进行去随机化与错误更正码解码,以将读取自非挥发性存储器120的一第二数据流转换为读出数据。当所述错误更正码解码器的解码成功时,所述读出数据等同于所述原始数据。例如:所述错误更正码编码器可对所述原始数据进行错误更正码编码以保护所述原始数据,尤其可产生对应于所述原始数据的一码字(codeword),其中所述码字包括所述原始数据及其奇偶校验码(parity-check code);所述随机化器可对所述码字进行随机化以产生所述第一数据流,且可在此运作中维持总位数量不改变;所述去随机化器可对所述第二数据流进行去随机化以产生所述码字的一读出版本,且可在此运作中维持总位数量不改变;以及所述错误更正码解码器可对所述码字的所述读出版本进行错误更正码解码,以产生所述读出数据,其中所述错误更正码解码器可侦测所述读出数据中的任何错误(若存在),并且可尝试进行错误更正以取得所述读出数据;其中错误更正码编码可于随机化之前进行,且错误更正码解码可于去随机化之后进行,但本发明不限于此。依据某些实施例,错误更正码编码可于随机化之后进行,且错误更正码解码可于去随机化之前进行。
依据某些实施例,图1所示架构可予以变化。例如:存储器控制器110可区分为三个部分:核心逻辑(core logic)电路,其可包括所述处理电路诸如微处理器112、所述存储组件诸如只读存储器112M、与挥发性存储器116;NAND型闪存控制器(NAND Flashcontroller),其可包括控制逻辑电路114;以及主控制器(host controller),其可包括传输接口电路118;但本发明不限于此。
II.空页侦测(empty-page detection)架构
存储器控制器110可从主装置50接收多个主装置指令且执行所述多个主装置指令,并且回传操作结果至主装置50。尤其是,微处理器112可依据来自主装置50的一指令(例如所述多个主装置指令中的任一者)控制存储器控制器110,以容许主装置50透过存储器控制器110存取非挥发性存储器120。为了有效率地进行存取管理,存储器控制器110可将逻辑地址与实体地址之间的关系存储于非挥发性存储器120中的多个逻辑对实体地址映像表(logical-to-physical address mapping table)。由于这些关系可能随时变化、且所述多个逻辑对实体地址映像表的总信息量可能很大,故记忆装置100的初始化期间,存储器控制器110可寻找非挥发性存储器120中的多个预定区块中的至少一区块的最后一个有效页,且依据存储器控制器110先前在所述最后一个有效页的备用区(spare region)中所记录的参考信息来直接或间接地找到所述多个逻辑对实体地址映像表,以确保记忆装置100正确地运作。存储器控制器110可透过控制逻辑电路114的所述多个子电路当中的至少一部分子电路的平行处理来加速记忆装置100的初始化,尤其可同时利用空页侦测电路114A进行空页侦测、以及利用随机化/去随机化及错误更正码电路114E进行去随机化及错误更正码解码。
图2绘示图1所示记忆装置100于一实施例中的实施细节,其中包括多个字节{Byte(0),Byte(1),Byte(2),…}的非挥发性存储器数据流可作为所述第二数据流的一例。空页侦测电路114A可包括位“0”累积器电路(bit“0”accumulator circuit)210与比较器电路220,而寄存器电路114R可包括寄存器205与230。藉助于寄存器205与230,控制逻辑电路114和微处理器112可交换信息以控制关于空页侦测的某些运作,但本发明不限于此。当需要时,例如于开始对上述多个预定区块中的一区块的一页进行空页侦测时,空页侦测电路114A可重设位“0”累积器电路210,以确保空页侦测的正确性。位“0”累积器电路210可累积所述第二数据流(诸如所述非挥发性存储器数据流)中的位“0”的数量(尤其可计数(count)这个数量),以产生或更新位零数(bit-zerocount)BZC。比较器电路220可从寄存器205取得位零数阈值BZCth,其中所述处理电路诸如微处理器112可预先设定位零数阈值BZCth,尤其可依据随机化/去随机化及错误更正码电路114E(例如其内的错误更正码编码器/错误更正码解码器)的编码/解码能力来决定位零数阈值BZCth。例如:当随机化/去随机化及错误更正码电路114E对每1024字节的数据所能更正的错误位的个数的最大值是40,微处理器112可将位零数阈值BZCth设定为同一数值40(BZCth=40);但本发明不限于此。透过比较位零数BZC与位零数阈值BZCth,比较器电路220可判断位零数BZC是否小于或等于位零数阈值BZCth,以产生空页侦测信号EMPTY_PAGE,其中空页侦测信号EMPTY_PAGE可指出位零数BZC是否小于或等于位零数阈值BZCth。例如:当位零数BZC小于或等于位零数阈值BZCth时,空页侦测信号EMPTY_PAGE可载有逻辑值1以指出所述页可能是空页;否则,空页侦测信号EMPTY_PAGE可载有逻辑值0以指出所述页不是空页;但本发明不限于此。比较器电路220可将空页侦测信号EMPTY_PAGE输出至寄存器230,以将空页侦测信号EMPTY_PAGE所载的逻辑值(例如1或0)存储作为寄存器230中的一相对应位。
为了便于理解,假设所述页可包括M个码字(M可代表正整数)。更精确地说,所述页的大小可等同于所述M个码字的大小,且所述页在非挥发性存储器120中可被存储为所述M个码字的已编码且已随机化的版本。空页侦测电路114A可进行分别对应于所述M个码字的M个局部(partial)空页侦测运作,且寄存器230可对应地存储M个位以分别指出所述M个局部空页侦测运作的各自的侦测结果。在所述M个局部空页侦测运作中的任一局部空页侦测运作被进行之前,空页侦测电路114A可重设位“0”累积器电路210。在所述局部空页侦测运作中,位“0”累积器电路210可累积所述第二数据流的局部数据流中的位“0”的数量,诸如对应于一个码字的多个位当中位“0”的数量,以产生位零数BZC于所述局部空页侦测运作中的最新值。透过比较(所述局部空页侦测运作中的)位零数BZC与位零数阈值BZCth,比较器电路220可判断位零数BZC是否小于或等于位零数阈值BZCth,以产生空页侦测信号EMPTY_PAGE,其中空页侦测信号EMPTY_PAGE所载的逻辑值(例如1或0)被存储作为所述M个位当中对应于所述局部空页侦测运作的某一位。于所述M个局部空页侦测运作已完成之后,微处理器112可从寄存器230取得所述M个位。微处理器112可依据所述M个位判断所述页是否为空页,尤其可检查是否所述M个位中的每一者指出所述页可能是空页(例如所述M个位中的每一者等于逻辑值1)、或检查是否所述M个位中的任一者指出所述页不是空页(例如所述M个位中的任一者等于逻辑值0)。当所述M个位中的每一者等于逻辑值1时,微处理器112可判断所述页是空页;否则,微处理器112可判断所述页不是空页;但本发明不限于此。
所述多个字节{Byte(0),Byte(1),Byte(2),…}可作为所述局部数据流的一例。前三个字节{Byte(0),Byte(1),Byte(2)}分别是01000110、00111011与11111111且其位“0”的数量分别为5、3与0,所以位“0”累积器电路210可累积这些数值且得到位零数BZC的最新值(例如:(5+3+0)=8)。假设所述多个字节{Byte(0),Byte(1),Byte(2),…}中的其它字节中的每一者是11111111,这表示所述局部数据流中的后续位均为1,所以BZC=8。在BZC=8且BZCth=40的状况下,比较器电路220可侦测到BZC<BZCth且使空页侦测信号EMPTY_PAGE载有逻辑值1,以将对应于所述局部空页侦测运作的所述位设定为逻辑值1。
III.系统管理
图3为依据本发明一实施例的一种用来控制一记忆装置的运作的方法300的流程图,其中方法300可应用于电子装置10及记忆装置100,且可应用于所述控制器诸如存储器控制器110,尤其可应用于所述处理电路诸如微处理器112。
于步骤310中,存储器控制器110(例如微处理器112)可传送读取指令至非挥发性存储器120,以使非挥发性存储器120输出一数据流(例如所述第二数据流,诸如其局部数据流),其中所述数据流可代表上述多个预定区块中的所述区块的所述页。
于步骤320中,存储器控制器110(例如微处理器112)可分别利用控制逻辑电路114中的所述多个子电路,对所述数据流进行平行处理,诸如分别对应于步骤{322-1,322-2}与步骤{324-1,324-2}的平行处理,尤其对所述数据流进行平行处理以加速记忆装置100的初始化,但本发明不限于此。
于步骤322-1中,存储器控制器110(例如微处理器112)可利用随机化/去随机化及错误更正码电路114E(例如分别利用其内的去随机化器与错误更正码解码器)进行去随机化及错误更正码解码,尤其依据所述数据流进行去随机化及错误更正码解码,其中依据所述数据流进行去随机化及错误更正码解码可以涉及记忆装置100的初始化。依据本实施例,存储器控制器110(例如微处理器112)可利用随机化/去随机化及错误更正码电路114E依据所述数据流进行去随机化及错误更正码解码,以尝试于所述页寻找记忆装置100的初始化的相关信息。
于步骤322-2中,存储器控制器110(例如微处理器112)可利用随机化/去随机化及错误更正码电路114E(例如所述错误更正码解码器)检查是否解码成功。当解碼成功,进入步骤330;否则,进入步骤324-2。
于步骤324-1中,存储器控制器110(例如微处理器112)可利用空页侦测电路114A(例如位“0”累积器电路210)累积位“0”的数量,以产生位零数BZC。
于步骤324-2中,存储器控制器110(例如微处理器112)可利用空页侦测电路114A(例如比较器电路220)检查是否BZC≤BZCth。透过步骤324-1与步骤324-2的运作,存储器控制器110(例如微处理器112)可利用空页侦测电路114A依据所述数据流进行空页侦测,其中依据所述数据流进行空页侦测可以涉及记忆装置100的初始化的加速。依据本实施例,存储器控制器110(例如微处理器112)可利用空页侦测电路114A依据所述数据流进行空页侦测,以判断所述页是否为空页。例如,藉由利用空页侦测电路114A进行空页侦测,存储器控制器110(例如微处理器112)可减少在任何空页寻找记忆装置100的初始化的所述相关信息的机率。当BZC≤BZCth,进入步骤340;否则,进入步骤350。
于步骤330中,存储器控制器110(例如微处理器112)可读取数据,诸如错误更正码解码成功时所取得的数据,以从所读取的数据取得记忆装置100的初始化的所述相关信息,其中所读取的数据可包括所述页的备用区中的参考信息,而所述参考信息可作为所述相关信息的一例。此状况下,所述页可作为所述最后一个有效页的一例。
于步骤340中,当侦测到空页,存储器控制器110(例如微处理器112或空页侦测电路114A)可触发进一步空页搜寻。依据本实施例,当侦测到所述页为空页时,存储器控制器110(例如微处理器112或空页侦测电路114A)可触发非挥发性存储器120中的另一页的空页侦测,以判断所述另一页是否为空页。例如:针对同一区块当中所述页的前一页(若前一页存在),存储器控制器110可依据方法300进行类似的运作。又例如:针对另一区块中的某一页(诸如最后一页),存储器控制器110可依据方法300进行类似的运作。
于步骤350中,存储器控制器110(例如微处理器112)可进行读取重试(read-retry)设定。例如:针对同一区块中的同一页,存储器控制器110可调整非挥发性存储器120的某些读取控制参数,诸如读取非挥发性存储器120时用来判断位信息的电压阈值,但本发明不限于此。
关于步骤322-2的检查结果,解码成功表示所述页包括有效数据,而解码失败表示所述页不包括有效数据。当这个检查结果是解碼失败时,万一所述页是空页,直接对所述页进行读取重试以尝试重新解码所述页会很浪费时间(例如:此状况下的读取重试的重新解码不可能成功,所以读取重试可能被进行多次),这可能造成整个系统的开机时间过长。依据本实施例,在这个检查结果是解碼失败的状况下,存储器控制器110可先透过空页侦测的侦测结果确定所述页是否为空页(例如进入步骤324-2),而非直接对所述页进行读取重试。因此,本发明的方法(诸如方法300)与相关架构(诸如电子装置10、记忆装置100与存储器控制器110)可透过一次的页读取(page-read)判断出某一页是否为空页,其中若为空页,则跳过读取重试,否则,需要进行读取重试,以有效地节省时间。
另外,空页的典型特性可以是:已随机化的一整页都是位“1”。由于非挥发性存储器120中会出现少量的错误位,故对空页而言,从非挥发性存储器120读出的数据流中的位通常会有少量的位“0”,而不会全部是位“1”。当某一页的在非挥发性存储器120中的已随机化的版本几乎都是位“1”时(例如:BZC≤BZCth;又例如:所述M个位全都是逻辑值1),存储器控制器110可正确地且迅速地判定这一页是空页。依据某些实施例,存储器控制器110(例如微处理器112)可依据所述M个位来分析非挥发性存储器120的状态,例如判断哪些页是未编程页(Un-programmed page)或空页,但本发明不限于此。
图4绘示图3所示方法300于一实施例中的工作流程400。步骤310、步骤330、步骤340与步骤350的运作可分别如同前面所述。
于步骤420中,存储器控制器110(例如微处理器112)可分别利用控制逻辑电路114中的所述多个子电路,对所述数据流进行平行处理,诸如分别对应于步骤{322-1,322-2,422}与步骤{324-1,324-2,424}的平行处理,尤其对所述数据流进行平行处理以加速记忆装置100的初始化,其中步骤{322-1,322-2}与步骤{324-1,324-2}的运作可如同前面所述、且上述平行处理可包括对应至一页的处理,但本发明不限于此。
于步骤422中,存储器控制器110(例如微处理器112)可利用随机化/去随机化及错误更正码电路114E(例如所述错误更正码解码器)检查是否已完成一页的处理。例如所述页可包括所述M个码字,且当所述M个码字都解碼成功时,对应于步骤{322-1,322-2,422}的处理可分别针对所述M个码字被进行M次。当完成所述页的处理,进入步骤330;否则,进入步骤322-1。
于步骤424中,存储器控制器110(例如微处理器112)可利用空页侦测电路114A检查是否已完成一页的处理。例如所述页可包括所述M个码字,且当所述M个位中的每一者都是逻辑值1(这表示:在所述M个局部空页侦测运作中,BZC≤BZCth每次都成立),对应于步骤{324-1,324-2,424}的处理可分别针对所述M个码字被进行M次。当完成所述页的处理,进入步骤340;否则,进入步骤324-1。
为了简明,本实施例与前述实施例相仿的内容在此不重复赘述。
图5绘示图3所示方法300于一实施例中的编码/解码控制方案。图5所示的页500可作为所述页的一例。页500可包括数据{511-1,511-2,…,511-M}及其各自的奇偶校验码{512-1,512-2,…,512-M},其中数据{511-1,511-2,…,511-M}中的每一者的数据量可为1024字节、且奇偶校验码{512-1,512-2,…,512-M}中的每一者的数据量可为70字节,但本发明不限于此。包括数据511-1与奇偶校验码512-1的码字、包括数据511-2与奇偶校验码512-2的码字、…与包括数据511-M与奇偶校验码512-M的码字可分别作为所述M个码字的例子。为了简明,本实施例与前述实施例相仿的内容在此不重复赘述。
依据某些实施例,存储器控制器110(例如微处理器112)可利用空页侦测电路114A暂时地关闭所述去随机化器,以取得步骤310中所述的所述数据流,但本发明不限于此。依据某些实施例,存储器控制器110(例如微处理器112)可利用空页侦测电路114A反向(invert)所述第二数据流,以取得所述第二数据流的一反向数据流,其中所述第二数据流中的位“0”变成所述反向数据流中的位“1”、且所述第二数据流中的位“1”变成所述反向数据流中的位“0”。例如空页侦测电路114A可包括一反向器(inverter)以进行所述反向运作,且位“0”累积器电路210可被取代为位“1”累积器电路(bit“1”accumulator circuit),其中位零数BZC可被取代为位壹数(bit-one count)BOC,且位零数阈值BZCth可被取代为位壹数阈值BOCth。所述位“1”累积器电路可累积所述反向数据流中的位“1”的数量,以产生位壹数BOC。例如位壹数阈值BOCth可等于位零数阈值BZCth。另外,存储器控制器110(例如微处理器112)可利用随机化/去随机化及错误更正码电路114E(例如所述错误更正码解码器)尝试对所述反向数据流的反向数据进行错误更正码解码。当解码成功时,存储器控制器110(例如微处理器112或所述错误更正码解码器)可判定对应于所述反向数据的所述页是空页。为了简明,这些实施例与前述实施例相仿的内容在此不重复赘述。
依据某些实施例,存储器控制器110(例如微处理器112)可从非挥发性存储器组件122-1、122-2、…与122-N的各自的多个区块选择一部分区块,作为上述多个预定区块,例如所述选择运作可基于一预定规则来进行。另外,存储器控制器110(例如微处理器112)可在上述多个预定区块中的任一区块的多个页中的任一页的备用区中记录对应的参考信息,诸如所述多个逻辑对实体地址映像表中的某一逻辑对实体地址映像表的位置信息,且可依据所述位置信息找到这个逻辑对实体地址映像表,并且可依据这个逻辑对实体地址映像表找到用来存储这一页的实体区块,以存取这一页,但本发明不限于此。
以上所述仅为本发明的优选实施例而已,并不用于限制本发明,对于本领域的技术人员来说,本发明可以有各种更改和变化。凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。
Claims (20)
1.一种用来控制一记忆装置的运作的方法,所述记忆装置包括一非挥发性存储器,所述非挥发性存储器包括至少一非挥发性存储器组件,所述方法的特征在于,包括有:
传送一读取指令至所述非挥发性存储器,以使所述非挥发性存储器输出一数据流,其中所述数据流代表所述非挥发性存储器中的多个预定区块中的一区块的一页;以及
分别利用所述记忆装置的一控制器的一控制逻辑电路中的多个子电路,对所述数据流进行平行处理,其中所述记忆装置包括所述控制器,所述多个子电路包括一随机化/去随机化及错误更正码电路与一空页侦测电路,且分别利用所述多个子电路对所述数据流进行平行处理包括:
利用所述随机化/去随机化及错误更正码电路依据所述数据流进行去随机化及错误更正码解码,其中依据所述数据流进行去随机化及错误更正码解码涉及所述记忆装置的初始化;以及
利用所述空页侦测电路依据所述数据流进行空页侦测,其中依据所述数据流进行空页侦测涉及所述记忆装置的初始化的加速。
2.如权利要求1所述的方法,其特征在于,利用所述随机化/去随机化及错误更正码电路依据所述数据流进行去随机化及错误更正码解码的步骤还包括:
利用所述随机化/去随机化及错误更正码电路依据所述数据流进行去随机化及错误更正码解码,以尝试于所述页寻找所述记忆装置的初始化的相关信息。
3.如权利要求2所述的方法,其特征在于,还包括:
读取错误更正码解码成功时所取得的数据,以从所读取的数据取得所述记忆装置的初始化的所述相关信息。
4.如权利要求1所述的方法,其特征在于,利用所述空页侦测电路依据所述数据流进行空页侦测的步骤还包括:
利用所述空页侦测电路依据所述数据流进行空页侦测,以判断所述页是否为空页,其中藉由利用所述空页侦测电路进行空页侦测,在任何空页寻找所述记忆装置的初始化的相关信息的机率被减少。
5.如权利要求4所述的方法,其特征在于,还包括:
当侦测到所述页为空页时,触发所述非挥发性存储器中的另一页的空页侦测,以判断所述另一页是否为空页。
6.如权利要求1所述的方法,其特征在于,分别利用所述记忆装置的所述控制器的所述控制逻辑电路中的所述多个子电路对所述数据流进行平行处理的步骤还包括:
分别利用所述多个子电路对所述数据流进行平行处理,以加速所述记忆装置的初始化。
7.如权利要求1所述的方法,其特征在于,还包括:
在所述记忆装置的初始化期间,寻找所述多个预定区块中的至少一区块的最后一个有效页,且依据所述控制器先前在所述最后一个有效页的备用区中所记录的参考信息来直接或间接地找到所述记忆装置的多个逻辑对实体地址映像表,以确保所述记忆装置正确地运作。
8.一种记忆装置,其特征在于,包括有:
一非挥发性存储器,用来存储信息,其中所述非挥发性存储器包括至少一非挥发性存储器组件;以及
一控制器,耦接至所述非挥发性存储器,用来控制所述记忆装置的至少一运作,其中所述控制器包括:
一控制逻辑电路,耦接至所述非挥发性存储器,用来控制所述非挥发性存储器,其中所述控制逻辑电路包括:
一随机化/去随机化及错误更正码电路,用来进行随机化、去随机化、错误更正码编码以及错误更正码解码中的至少一者;以及
一空页侦测电路,用来进行空页侦测;以及
一处理电路,耦接至所述控制逻辑电路,用来依据来自一主装置的一指令控制所述控制器,以容许所述主装置透过所述控制器存取所述非挥发性存储器,其中在所述处理电路的控制下,所述控制器进行下列运作:
传送一读取指令至所述非挥发性存储器,以使所述非挥发性存储器输出一数据流,其中所述数据流代表所述非挥发性存储器中的多个预定区块中的一区块的一页;以及
分别利用所述控制逻辑电路中的多个子电路,对所述数据流进行平行处理,其中所述多个子电路包括所述随机化/去随机化及错误更正码电路与所述空页侦测电路,且分别利用所述多个子电路对所述数据流进行平行处理包括:
利用所述随机化/去随机化及错误更正码电路依据所述数据流进行去随机化及错误更正码解码,其中依据所述数据流进行去随机化及错误更正码解码涉及所述记忆装置的初始化;以及
利用所述空页侦测电路依据所述数据流进行空页侦测,其中依据所述数据流进行空页侦测涉及所述记忆装置的初始化的加速。
9.如权利要求8所述的记忆装置,其特征在于,所述控制器利用所述随机化/去随机化及错误更正码电路依据所述数据流进行去随机化及错误更正码解码,以尝试于所述页寻找所述记忆装置的初始化的相关信息。
10.如权利要求9所述的记忆装置,其特征在于,所述控制器读取错误更正码解码成功时所取得的数据,以从所读取的数据取得所述记忆装置的初始化的所述相关信息。
11.如权利要求8所述的记忆装置,其特征在于,所述控制器利用所述空页侦测电路依据所述数据流进行空页侦测,以判断所述页是否为空页,其中藉由利用所述空页侦测电路进行空页侦测,所述控制器减少在任何空页寻找所述记忆装置的初始化的相关信息的机率。
12.如权利要求11所述的记忆装置,其特征在于,当侦测到所述页为空页时,所述控制器触发所述非挥发性存储器中的另一页的空页侦测,以判断所述另一页是否为空页。
13.如权利要求8所述的记忆装置,其特征在于,所述控制器分别利用所述多个子电路对所述数据流进行平行处理,以加速所述记忆装置的初始化。
14.一种电子装置,其包括如权利要求8所述的记忆装置,所述电子装置的特征在于,还包括:
所述主装置,耦接至所述记忆装置,其中所述主装置包括:
至少一处理器,用来控制所述主装置的运作;以及
一电源供应电路,耦接至所述至少一处理器,用来提供电源予所述至少一处理器与所述记忆装置;
其中所述记忆装置是用来提供存储空间给所述主装置。
15.一种记忆装置的控制器,所述记忆装置包括所述控制器与一非挥发性存储器,所述非挥发性存储器包括至少一非挥发性存储器组件,所述控制器的特征在于,包括有:
一控制逻辑电路,耦接至所述非挥发性存储器,用来控制所述非挥发性存储器,其中所述控制逻辑电路包括:
一随机化/去随机化及错误更正码电路,用来进行随机化、去随机化、错误更正码编码以及错误更正码解码中的至少一者;以及
一空页侦测电路,用来进行空页侦测;以及
一处理电路,耦接至所述控制逻辑电路,用来依据来自一主装置的一指令控制所述控制器,以容许所述主装置透过所述控制器存取所述非挥发性存储器,其中在所述处理电路的控制下,所述控制器进行下列运作:
传送一读取指令至所述非挥发性存储器,以使所述非挥发性存储器输出一数据流,其中所述数据流代表所述非挥发性存储器中的多个预定区块中的一区块的一页;以及
分别利用所述控制逻辑电路中的多个子电路,对所述数据流进行平行处理,其中所述多个子电路包括所述随机化/去随机化及错误更正码电路与所述空页侦测电路,且分别利用所述多个子电路对所述数据流进行平行处理包括:
利用所述随机化/去随机化及错误更正码电路依据所述数据流进行去随机化及错误更正码解码,其中依据所述数据流进行去随机化及错误更正码解码涉及所述记忆装置的初始化;以及
利用所述空页侦测电路依据所述数据流进行空页侦测,其中依据所述数据流进行空页侦测涉及所述记忆装置的初始化的加速。
16.如权利要求15所述的控制器,其特征在于,所述控制器利用所述随机化/去随机化及错误更正码电路依据所述数据流进行去随机化及错误更正码解码,以尝试于所述页寻找所述记忆装置的初始化的相关信息。
17.如权利要求16所述的控制器,其特征在于,所述控制器读取错误更正码解码成功时所取得的数据,以从所读取的数据取得所述记忆装置的初始化的所述相关信息。
18.如权利要求15所述的控制器,其特征在于,所述控制器利用所述空页侦测电路依据所述数据流进行空页侦测,以判断所述页是否为空页,其中藉由利用所述空页侦测电路进行空页侦测,所述控制器减少在任何空页寻找所述记忆装置的初始化的相关信息的机率。
19.如权利要求18所述的控制器,其特征在于,当侦测到所述页为空页时,所述控制器触发所述非挥发性存储器中的另一页的空页侦测,以判断所述另一页是否为空页。
20.如权利要求15所述的控制器,其特征在于,所述控制器分别利用所述多个子电路对所述数据流进行平行处理,以加速所述记忆装置的初始化。
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
TW106139328 | 2017-11-14 | ||
TW106139328A TWI692771B (zh) | 2017-11-14 | 2017-11-14 | 用來控制一記憶裝置的運作之方法、記憶裝置及其控制器以及電子裝置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN109783005A true CN109783005A (zh) | 2019-05-21 |
CN109783005B CN109783005B (zh) | 2022-04-12 |
Family
ID=66432170
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201810666231.4A Active CN109783005B (zh) | 2017-11-14 | 2018-06-26 | 控制记忆装置的方法、记忆装置、及其控制器和电子装置 |
Country Status (3)
Country | Link |
---|---|
US (1) | US10613932B2 (zh) |
CN (1) | CN109783005B (zh) |
TW (1) | TWI692771B (zh) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112015334A (zh) * | 2019-05-30 | 2020-12-01 | 慧荣科技股份有限公司 | 记忆装置存取管理方法、记忆装置及其控制器、电子装置 |
CN112394880A (zh) * | 2019-08-19 | 2021-02-23 | 慧荣科技股份有限公司 | 以机器学习针对服务质量优化进行存取控制的方法和设备 |
Families Citing this family (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR20210050304A (ko) * | 2019-10-28 | 2021-05-07 | 에스케이하이닉스 주식회사 | 메모리 장치 및 그 동작 방법 |
TWI720852B (zh) * | 2020-03-20 | 2021-03-01 | 慧榮科技股份有限公司 | 存取快閃記憶體模組的方法及相關的快閃記憶體控制器與電子裝置 |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20130219246A1 (en) * | 2008-09-12 | 2013-08-22 | Kwan-Ho Kim | Method and Apparatus for Detecting Free Page and a Method and Apparatus for Decoding Error Correction Code Using the Method and Apparatus for Detecting Free Page |
US8782490B2 (en) * | 2010-05-10 | 2014-07-15 | Samsung Electronics Co., Ltd. | Data storage device and program method that modifies arrangement of program data to eliminate interfering data patterns |
CN104681100A (zh) * | 2013-11-29 | 2015-06-03 | 慧荣科技股份有限公司 | 用于闪存装置的错误更正码单元、自我测试方法及控制器 |
CN106250050A (zh) * | 2015-06-10 | 2016-12-21 | 飞思卡尔半导体公司 | 用于数据传输中的实时空白页检测的方法和装置 |
CN106847342A (zh) * | 2016-03-28 | 2017-06-13 | 威盛电子股份有限公司 | 非易失性存储器装置及其空页检测方法 |
Family Cites Families (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US10372533B2 (en) * | 2016-03-28 | 2019-08-06 | Via Technologies, Inc. | Non-volatile memory apparatus and empty page detection method thereof |
KR20180123265A (ko) * | 2017-05-08 | 2018-11-16 | 에스케이하이닉스 주식회사 | 메모리 시스템 및 메모리 시스템의 동작 방법 |
-
2017
- 2017-11-14 TW TW106139328A patent/TWI692771B/zh active
-
2018
- 2018-06-26 CN CN201810666231.4A patent/CN109783005B/zh active Active
- 2018-10-16 US US16/162,377 patent/US10613932B2/en active Active
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20130219246A1 (en) * | 2008-09-12 | 2013-08-22 | Kwan-Ho Kim | Method and Apparatus for Detecting Free Page and a Method and Apparatus for Decoding Error Correction Code Using the Method and Apparatus for Detecting Free Page |
US8782490B2 (en) * | 2010-05-10 | 2014-07-15 | Samsung Electronics Co., Ltd. | Data storage device and program method that modifies arrangement of program data to eliminate interfering data patterns |
CN104681100A (zh) * | 2013-11-29 | 2015-06-03 | 慧荣科技股份有限公司 | 用于闪存装置的错误更正码单元、自我测试方法及控制器 |
CN106250050A (zh) * | 2015-06-10 | 2016-12-21 | 飞思卡尔半导体公司 | 用于数据传输中的实时空白页检测的方法和装置 |
CN106847342A (zh) * | 2016-03-28 | 2017-06-13 | 威盛电子股份有限公司 | 非易失性存储器装置及其空页检测方法 |
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112015334A (zh) * | 2019-05-30 | 2020-12-01 | 慧荣科技股份有限公司 | 记忆装置存取管理方法、记忆装置及其控制器、电子装置 |
CN112015334B (zh) * | 2019-05-30 | 2024-01-19 | 慧荣科技股份有限公司 | 记忆装置存取管理方法、记忆装置及其控制器、电子装置 |
CN112394880A (zh) * | 2019-08-19 | 2021-02-23 | 慧荣科技股份有限公司 | 以机器学习针对服务质量优化进行存取控制的方法和设备 |
CN112394880B (zh) * | 2019-08-19 | 2023-11-21 | 慧荣科技股份有限公司 | 以机器学习针对服务质量优化进行存取控制的方法和设备 |
Also Published As
Publication number | Publication date |
---|---|
CN109783005B (zh) | 2022-04-12 |
US20190146872A1 (en) | 2019-05-16 |
US10613932B2 (en) | 2020-04-07 |
TWI692771B (zh) | 2020-05-01 |
TW201919048A (zh) | 2019-05-16 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
TWI643066B (zh) | 用來於一記憶裝置中重新使用關於垃圾收集的一目的地區塊之方法、記憶裝置及其控制器以及電子裝置 | |
US10108472B2 (en) | Adaptive read disturb reclaim policy | |
US20160313946A1 (en) | Controller adaptation to memory program suspend-resume | |
US8516354B2 (en) | Method for reducing uncorrectable errors of a memory device regarding error correction code, and associated memory device and controller thereof | |
US9208021B2 (en) | Data writing method, memory storage device, and memory controller | |
TWI656442B (zh) | 用來於一記憶裝置中進行存取控制之方法以及記憶裝置及其控制器 | |
CN109783005A (zh) | 控制记忆装置的方法、记忆装置、及其控制器和电子装置 | |
CN107807886B (zh) | 闪存存储器中的索引管理 | |
US10089255B2 (en) | High performance host queue monitor for PCIE SSD controller | |
TWI698742B (zh) | 用來於一記憶裝置中進行存取控制之方法以及記憶裝置及其控制器 | |
US9117533B2 (en) | Tracking erase operations to regions of non-volatile memory | |
US11036579B2 (en) | Decoder for memory system and method thereof | |
US11163489B2 (en) | Workload clusterization for memory system and method of executing the same | |
US20190288713A1 (en) | Memory system with hybrid decoding scheme and method of operating such memory system | |
CN109426582A (zh) | 用于存储装置为错误处置进行数据处理的方法及控制器 | |
US11347433B2 (en) | Method for performing sudden power off recovery management, associated memory device and controller thereof, and associated electronic device | |
US11157210B2 (en) | Memory system performing dummy program operation during normal program operation | |
TW201908957A (zh) | 資料寫入方法、記憶體控制電路單元及記憶體儲存裝置 | |
US11646091B2 (en) | System for outputting test data from multiple cores and method thereof | |
US11023388B2 (en) | Data path protection parity determination for data patterns in storage devices | |
US11087846B1 (en) | Memory system with single decoder, multiple memory sets and method for decoding multiple codewords from memory sets using the single decoder | |
CN103853666B (zh) | 存储器、其存储控制器与数据写入方法 | |
US10141072B2 (en) | Efficient encoder based on modified RU algorithm | |
US12039171B2 (en) | Method for accessing flash memory module, flash memory controller, and memory device | |
CN116126210A (zh) | 数据存取方法、存储器存储装置及存储器控制器 |
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 |