CN103761988B - 固态硬盘及数据移动方法 - Google Patents

固态硬盘及数据移动方法 Download PDF

Info

Publication number
CN103761988B
CN103761988B CN201310740030.1A CN201310740030A CN103761988B CN 103761988 B CN103761988 B CN 103761988B CN 201310740030 A CN201310740030 A CN 201310740030A CN 103761988 B CN103761988 B CN 103761988B
Authority
CN
China
Prior art keywords
data
ecu
block
control unit
movement
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
CN201310740030.1A
Other languages
English (en)
Other versions
CN103761988A (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.)
Huawei Technologies Co Ltd
Original Assignee
Huawei Technologies Co Ltd
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 Huawei Technologies Co Ltd filed Critical Huawei Technologies Co Ltd
Priority to CN201310740030.1A priority Critical patent/CN103761988B/zh
Publication of CN103761988A publication Critical patent/CN103761988A/zh
Priority to EP14873236.5A priority patent/EP3070715A4/en
Priority to PCT/CN2014/084583 priority patent/WO2015096494A1/zh
Priority to US15/192,614 priority patent/US10114578B2/en
Application granted granted Critical
Publication of CN103761988B publication Critical patent/CN103761988B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

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
    • 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/0647Migration mechanisms
    • 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/1048Adding 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
    • 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
    • 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/061Improving I/O performance
    • 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/0638Organizing or formatting or addressing of data
    • G06F3/064Management of blocks
    • 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/0655Vertical data movement, i.e. input-output transfer; data movement between one or more hosts and one or more storage devices
    • G06F3/0656Data buffering arrangements
    • 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/0655Vertical data movement, i.e. input-output transfer; data movement between one or more hosts and one or more storage devices
    • G06F3/0659Command handling arrangements, e.g. command buffers, queues, command scheduling
    • 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
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C16/00Erasable programmable read-only memories
    • G11C16/02Erasable programmable read-only memories electrically programmable
    • G11C16/06Auxiliary circuits, e.g. for writing into memory
    • G11C16/32Timing circuits
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C16/00Erasable programmable read-only memories
    • G11C16/02Erasable programmable read-only memories electrically programmable
    • G11C16/06Auxiliary circuits, e.g. for writing into memory
    • G11C16/34Determination of programming status, e.g. threshold voltage, overprogramming or underprogramming, retention
    • G11C16/349Arrangements for evaluating degradation, retention or wearout, e.g. by counting erase cycles
    • G11C16/3495Circuits or methods to detect or delay wearout of nonvolatile EPROM or EEPROM memory devices, e.g. by counting numbers of erase or reprogram cycles, by using multiple memory areas serially or cyclically
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C29/00Checking stores for correct operation ; Subsequent repair; Testing stores during standby or offline operation
    • G11C29/04Detection or location of defective memory elements, e.g. cell constructio details, timing of test signals
    • G11C2029/0411Online error correction
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C2207/00Indexing scheme relating to arrangements for writing information into, or reading information out from, a digital store
    • G11C2207/22Control and timing of internal memory operations
    • G11C2207/2236Copy
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C29/00Checking stores for correct operation ; Subsequent repair; Testing stores during standby or offline operation
    • G11C29/52Protection of memory contents; Detection of errors in memory contents

Abstract

本发明涉及固态硬盘及数据移动方法,其中,该固态硬盘包括:存储介质和控制芯片;存储介质的存储空间划分为至少两个用于存储数据的块,控制芯片包括:业务处理模块,用于向移动模块发送移动命令,移动命令用于指示移动模块将数据从源块移动到目的块;移动模块,用于接收业务处理模块发送的移动命令;根据移动命令,从源块读出有效数据,对有效数据进行错误检查纠正ECC校验;将校验后的数据写入所述目的块的空白页中。本发明实施例固态硬盘通过移动命令可以控制数据从源块移动到目的块的空白页,与读写分离数据移动过程相比,数据移动所经过的通路简单,可以提高SSD的数据移动效率,降低数据移动过程对SSD性能的影响。

Description

固态硬盘及数据移动方法
技术领域
本发明涉及数据存储领域,尤其涉及一种固态硬盘及数据移动方法。
背景技术
固态硬盘(英文:Solid State Disk,缩写:SSD)可以使用与非门闪存(英文:NANDFlash)来实现。与非门闪存是一种非易失性随机访问存储介质,其特点是断电后数据不消失。与非门闪存执行重新写入操作之前需要先执行擦除操作,由于写入操作以页为单位,擦除操作以块为单位,需要擦除的块可能包含写入有效数据的页,因此,SSD可以预留部分冗余区用于数据搬移。
有效数据的搬移需要经过读控制过程和写控制过程。在读控制过程中,控制芯片将源块中的有效页中的有效数据读取到读缓存(英文:read buffer)中。由错误检查纠正编解码单元(英文:Error Correcting Code unit,缩写:ECU)中对有效数据进行错误检查纠正(英文:Error Correcting Code,缩写:ECC)校验,ECC校验过程中会对有效数据进行解码,将校验成功且已经解码的数据通过直接内存存取(英文:Direct Memory Access,缩写:DMA)数据通路写入双倍速率同步动态随机存储器(英文:Double Data Rate,缩写:DDR)。在写控制过程中,控制芯片从DDR中将已经解码的数据读出,通过DMA数据通路,发送到ECU中进行ECC编码,将编码之后的有效数据写入写缓存(英文:write buffer),然后再由写缓存写入SSD的空白块。
综上所述,现有SSD的数据移动的处理过程中,需要与主机抢占后端的ECU资源、DDR资源、DMA数据通路资源和CPU资源等,降低了SSD性能。
发明内容
有鉴于此,本发明要解决的技术问题是,如何在在数据移动过程中提升SSD数据的处理效率并降低对SSD性能的影响。
为了解决上述技术问题,第一方面,本发明提供了一种固态硬盘,包括:
存储介质和控制芯片;所述存储介质的存储空间划分为至少两个用于存储数据的块,所述控制芯片包括:
业务处理模块,用于向移动模块发送移动命令,所述移动命令用于指示所述移动模块将数据从源块移动到目的块,所述移动命令中包括所述源块的地址和所述目的块的地址,所述源块为所述存储介质中需要移出数据的块,所述目的块为所述存储介质中需要写入数据的块;
移动模块,用于接收所述业务处理模块发送的所述移动命令;根据所述移动命令,从所述源块读出有效数据,对所述有效数据进行错误检查纠正ECC校验;将校验后的数据写入所述目的块的空白页中。
结合第一方面,在第一种可能的实现方式中,所述移动模块包括:控制单元和错误检查纠正编解码单元ECU;
所述控制单元,用于在接收所述移动命令后,从所述源块读出有效数据,将所述有效数据发送至所述ECU;
所述ECU,用于对所述有效数据进行错误检查纠正ECC校验;
所述控制单元,还用于将所述ECU校验后的数据写入所述目的块的空白页中。
结合第一方面的第一种可能的实现方式,在第二种可能的实现方式中,所述移动模块还包括:
读缓存,用于缓存所述控制单元从所述源块中读取的有效数据;
所述控制单元,还用于从所述读缓存中读取所述有效数据并发送至所述ECU。
结合第一方面的第一或第二种可能的实现方式,在第三种可能的实现方式中,所述移动模块还包括:
写缓存,用于缓存所述ECU校验后的数据;
所述控制单元,还用于从所述写缓存中读取所述ECU校验后的数据,并将所述校验后的数据写入所述目的块的空白页中。
结合第一方面的第一、第二或第三种可能的实现方式,在第四种可能的实现方式中,所述ECU,具体用于若所述ECU对所述有效数据校验的结果为正确,则将所述有效数据确定为所述ECU校验后的数据;若所述ECU对所述有效数据校验的结果为错误,则对所述有效数据进行纠错处理,将纠错处理后的数据确定为所述ECU校验后的数据。
为了解决上述技术问题,第二方面,本发明提供了一种数据移动方法,包括:所述方法应用于固态硬盘中,所述固态硬盘包括存储介质和控制芯片;所述存储介质的存储空间划分为至少两个用于存储数据的块,所述控制芯片包括业务处理模块和移动模块,所述方法包括:
所述移动模块接收所述业务处理模块发送的移动命令,所述移动命令用于指示所述移动模块将数据从源块移动到目的块,所述移动命令中包括所述源块的地址和所述目的块的地址,所述源块为所述存储介质中需要移出数据的块,所述目的块为所述存储介质中需要写入数据的块;
所述移动模块根据所述移动命令从所述源块读出有效数据,对所述有效数据进行ECC校验后,将校验后的数据写入所述目的块的空白页中。
结合第二方面,在第一种可能的实现方式中,所述移动模块根据所述移动命令从所述源块读出有效数据,对所述有效数据进行ECC校验后,将校验后的数据写入所述目的块的空白页中,包括:
所述移动模块的控制单元在接收所述移动命令后,从所述源块读出有效数据,将所述有效数据发送至所述移动模块的ECU;
所述ECU对所述有效数据进行ECC校验;
所述控制单元将所述ECU校验后的数据写入所述目的块的空白页。
结合第二方面的第一种可能的实现方式,在第二种可能的实现方式中,所述移动模块还包括读缓存,所述控制单元将所述有效数据发送至所述ECU,包括:
所述控制单元将从所述源块中读取的所述有效数据缓存到所述读缓存中;
所述控制单元从所述读缓存中读取所述有效数据并发送至所述ECU。
结合第二方面的第一或第二种可能的实现方式,在第三种可能的实现方式中,所述移动模块还包括写缓存,所述控制单元将所述ECU校验后的数据写入所述目的块的空白页,包括:
所述控制单元将所述ECU校验后的数据缓存到所述写缓存中;
所述控制单元从所述写缓存中读取所述ECU校验后的数据,并将所述校验后的数据写入所述目的块的空白页中。
结合第二方面的第一、第二或第三种可能的实现方式,在第四种可能的实现方式中,所述ECU对所述有效数据进行ECC校验,包括:
若所述ECU对所述有效数据校验的结果为正确,则所述ECU将所述有效数据确定为所述ECU校验后的数据;
若所述ECU对所述有效数据校验的结果为错误,则所述ECU对所述有效数据进行纠错处理,将纠错处理后的数据确定为所述ECU校验后的数据。
本发明实施例在需要移动数据时,固态硬盘的业务处理模块可以将移动命令发送给移动模块,移动模块通过移动命令可以控制数据从源块移动到目的块的空白页,与读写分离数据移动过程相比,数据移动所经过的通路简单,可以提高固态硬盘的数据移动效率,并且可以减少数据移动所占用的后端资源,降低数据移动过程对固态硬盘性能的影响。
附图说明
包含在说明书中并且构成说明书的一部分的附图与说明书一起示出了本发明的示例性实施例、特征和方面,并且用于解释本发明的原理。
图1为本发明实施例一的固态硬盘的结构示意图;
图2为本发明实施例一的固态硬盘的控制芯片的工作原理示意图;
图3a为本发明实施例二的固态硬盘的结构示意图;
图3b和图3c为本发明实施例二的固态硬盘的数据移动的示意图;
图4为本发明实施例三的数据移动方法的流程图;
图5为本发明实施例四的数据移动方法的流程图;
图6为本发明实施例四的数据移动方法的另一流程图;
图7为本发明实施例五的固态硬盘的结构框图。
具体实施方式
实施例1
图1为本发明实施例一的固态硬盘的结构示意图,如图1所示,该固态硬盘(SSD)包括:存储介质11和控制芯片13;所述存储介质11的存储空间划分为至少两个用于存储数据的块,所述控制芯片13包括:
业务处理模块131,用于向移动模块发送移动(MOVE)命令,所述移动命令用于指示将数据从源块移动到目的块,所述移动命令中包括所述源块的地址和所述目的块的地址,所述源块为所述存储介质11中需要移出数据的块,所述目的块为所述存储介质11中需要写入数据的块。
移动模块133,用于接收所述业务处理模块131发送的所述移动命令;根据所述移动命令,从所述源块读出有效数据,对所述有效数据进行错误检查纠正ECC校验;将校验后的数据写入所述目的块的空白页中。
具体地,固态硬盘中的存储介质11可以采用与非门闪存(NAND Flash)等非易失性存储器实现。其中,与非门闪存可以由内部寄存器和存储矩阵组成,该存储矩阵可以包括若干个块(英文:Block),每个块包括若干个页(英文:Page),每个页包括若干个字节(英文:Byte)。每种NAND Flash的存储矩阵的大小可以不同。例如:NAND Flash的存储矩阵可以由4224个字节组成一个页,128个页组成一个块,由8192个块组成整个NAND Flash的存储矩阵。在每页中前4096字节可以用于存储数据;而后128字节可以用于存放ECC数据校验码,称为带外数据(英文:Out of Bank,缩写:OOB)区。每个页的状态可能为有效或者无效,其中,状态为有效的页中的数据为有效数据,状态为无效的页中的数据为无效数据。
SSD的控制芯片13中,可以包括多种业务处理模块131,例如:用于处理垃圾回收(英文:Garbage Collection,缩写:GC)业务的模块可以为GC模块,用于处理巡检业务的模块可以为巡检模块,用于处理均衡业务的模块可以为均衡模块。其中,在GC、巡检、均衡等业务处理的过程中,可能需要对有效数据进行移动,这时相关的业务处理模块131可以向移动模块133下发移动命令,指示移动模块133将数据从源块移动到目的块。图2为本发明实施例一的固态硬盘的控制芯片13的工作原理示意图,如图2所示,控制芯片13可以划分为业务处理层21和闪存(Flash)相关的命令操作层23,其中,各个业务处理模块131如GC模块211、巡检模块213、均衡模块215等属于业务处理层21,命令操作层23可以包括NAND flash的读模块231、NAND flash的写模块233和移动模块133等。其中,在业务处理模块131仅需要进行读数据操作时,可以由读模块231控制;在业务处理模块131仅需要进行写数据的操作时,可以由写模块233控制;而在业务处理模块131需要移动数据的操作时,可以将需要移出数据的源块的地址和需要写入数据的目的块的地址封装生成移动命令,由GC模块211、巡检模块213、均衡模块215等业务处理模块发送给移动模块133,以控制NAND flash中的数据移动。
以GC过程中的数据移动为例:在GC过程中,需要将GC链上的某源块中所有的有效数据搬移到空白块,再将该源块擦除,以达到释放空间的目的。其中,将某源块中所有的有效数据搬移到空白块的过程,就是数据移动的过程。这种情况下,GC模块211可以向移动模块133发送移动命令,将需要移出数据的源块的地址和需要写入数据的目的块的地址带给移动模块133,然后移动模块133可以将有效数据从NAND Flash中的源块读出,进行ECC校验后,将校验后的数据写入目的块的空白页。在源块中的所有的有效数据全部移动完成后,可以将源块擦除,从而达到对源块的存储空间进行回收的目的。
本实施例中,在需要移动数据时,固态硬盘的业务处理模块可以将移动命令发送给移动模块,移动模块通过移动命令可以控制数据从源块移动到目的块的空白页,与读写分离数据移动过程相比,数据移动所经过的通路简单,可以提高SSD的数据移动效率,并且可以减少数据移动所占用的后端资源如DMA数据通路、DDR、CPU等系统资源,降低数据移动过程对SSD性能的影响。
实施例2
图3a为本发明实施例二的固态硬盘的结构示意图,如图3a所示,在上一实施例的基础上,该固态硬盘的移动模块133可以包括:控制单元31和错误检查纠正编解码单元ECU33;
所述控制单元31,用于在接收所述移动命令后,从所述源块读出有效数据,将所述有效数据发送至所述ECU33;
所述ECU33,用于对所述有效数据进行错误检查纠正ECC校验;
所述控制单元31,还用于将所述ECU33校验后的数据写入所述目的块的空白页中。
具体地,图3b和图3c为本发明实施例二的固态硬盘的数据移动的示意图,如图3b所示,移动模块133通过控制单元31和ECU33可以形成独立的数据移动通道,不需要占用系统的其他资源。
在一种可能的实现方式中,如图3c所示,所述移动模块133还可以包括:
读缓存35,用于缓存所述控制单元31从所述源块中读取的有效数据;
所述控制单元31还用于从所述读缓存35中读取所述有效数据并发送至所述ECU33。
具体地,ECU33进行ECC校验的速度,通常比控制单元31读取有效数据的速度快。因此,通过读缓存35可以先缓存控制单元31从源块预先读取一部分有效数据。然后再有ECU33进行ECC校验,可以减少ECU33等待读取数据的时间,从而加快数据移动的速度。
在一种可能的实现方式中,如图3c所示,所述移动模块还133可以包括:
写缓存37,用于缓存所述ECU33校验后的数据;
所述控制单元31还用于从所述写缓存37中读取所述ECU33校验后的数据,并将所述校验后的数据写入所述目的块的空白页中。
具体地,由于ECU33进行ECC校验的速度快,ECU33校验后的数据也可以先缓存到写缓存37,可以减少ECU33等待写入数据的时间,从而加快数据移动的速度。
其中,读缓存、写缓存可以采用缓冲器、FIFO、RAM等形式来实现。
在一种可能的实现方式中,所述ECU33具体可以用于若所述ECU33对所述有效数据校验的结果为正确,则将所述有效数据确定为所述ECU33校验后的数据;若所述ECU33对所述有效数据校验的结果为错误,则所述有效数据进行纠错处理,将纠错处理后的数据确定为所述ECU33校验后的数据。
具体地,由于数据写入SSD之后,随着时间的偏移,可能发生比特(英文:bit)跳变,且通常情况下,时间越长,跳变的bit数越多。因此,需要进行ECC校验。虽然ECU33对有效数据进行ECC校验的过程中,需要对有效数据进行解码,但是,由于移动模块133的控制单元31能够直接获取有效数据,因此,不需要将解码后的数据重新编码,而可以将校验后的数据直接写入目的块的空白页。其中,如果ECU33对有效数据的ECC校验结果为正确,控制单元31可以将有效数据直接作为校验后的数据写入目的块的空白页;如果ECU33对有效数据的ECC校验结果为有错,控制单元31可以将有效数据纠错后的数据作为校验后的数据写入目的块的空白页。
举例而言:若SSD中Block N的Page2的有效数据为“01010111”,但控制单元31读取到ECU33中进入ECC校验的数据为“01010111”,则经过ECC校验,可以得知该有效数据未发生跳变,校验结果为正确。但是,如果控制单元31读取到ECU33中进入ECC校验的数据为“01010110”,可以得知有1位(bit)发生跳变,需要进行ECC纠错,将“01010110”纠正为“01010111”。
本实施例中,在需要移动数据时,SSD的业务处理模块可以将移动命令发送给移动模块,移动模块通过移动命令可以控制数据从源块移动到目的块的空白页,与读写分离数据移动过程相比,数据移动所经过的通路简单,可以提高SSD的数据移动效率,并且可以减少数据移动所占用的后端资源如DMA数据通路、DDR、CPU等系统资源,降低数据移动过程对SSD性能的影响。并且,由于移动模块可以直接将有效数据(或纠错后的有效数据)写入目的块的空白页,不需要进行重新编码,可以减少数据移动的流程,进一步提高SSD的数据移动效率以及降低数据移动过程对SSD性能的影响。
实施例3
图4为本发明实施例三的数据移动方法的流程图,该数据移动方法可以应用于上述实施例中的任意一种结构的固态硬盘。其中,参见图1,固态硬盘可以包括存储介质和控制芯片;所述存储介质的存储空间划分为至少两个用于存储数据的块,所述控制芯片包括业务处理模块和移动模块。其中,固态硬盘中的存储介质可以采用与非门闪存(NANDFlash)等非易失性存储器实现。NAND Flash的具体结构可以参见上述固态硬盘实施例中的相关描述。
如图4所示,该数据移动方法可以包括:
步骤410、移动模块接收业务处理模块发送的移动命令,所述移动命令用于指示所述移动模块将数据从源块移动到目的块,所述移动命令中包括所述源块的地址和所述目的块的地址,所述源块为所述存储介质中需要移出数据的块,所述目的块为所述存储介质中需要写入数据的块。
步骤420、移动模块根据所述移动命令从所述源块读出有效数据,对所述有效数据进行ECC校验后,将校验后的数据写入所述目的块的空白页中。
具体地,参见图2,SSD的控制芯片可以划分为业务处理层21和闪存(Flash)相关的命令操作层23,其中,各个业务处理模块如GC模块211、巡检模块213、均衡模块215等属于业务处理层21,命令操作层23可以包括NAND flash的读模块231、NAND flash的写模块233和移动模块133等。其中,在业务处理模块仅需要进行读数据操作时,可以由读模块231控制;在业务处理模块仅需要进行写数据的操作时,可以由写模块233控制;而在业务处理模块需要移动数据的操作时,可以将需要移出数据的源块的地址和需要写入数据的目的块的地址封装生成移动命令,由移动模块133控制数据移动。
本实施例的数据移动方法中,在需要移动数据时,业务处理模块可以将移动命令发送给移动模块,移动模块通过移动命令可以控制数据从源块移动到目的块的空白页,与读写分离数据移动过程相比,数据移动所经过的通路简单,可以提高SSD的数据移动效率,并且可以减少数据移动所占用的后端资源如DMA数据通路、DDR、CPU等系统资源,降低数据移动过程对SSD性能的影响。
实施例4
图5为本发明实施例四的数据移动方法的流程图。图5中与图4标号相同的步骤具有相同的功能,为简明起见,省略对这些步骤的详细说明。
如图5所示,与图4所示的方法的区别在于,步骤420具体可以包括:
步骤510、所述移动模块的控制单元在接收所述移动命令后,从所述源块读出有效数据,将所述有效数据发送至所述移动模块的ECU;
步骤520、所述ECU对所述有效数据进行ECC校验;
步骤530、所述控制单元将所述ECU校验后的数据写入所述目的块的空白页中。
参见图3,所述移动模块还可以包括读缓存。这种情况下,如图6所示,步骤510具体可以包括:
步骤600、所述移动模块的控制单元在接收所述移动命令后,从所述源块读出有效数据。
步骤610、所述控制单元将从所述源块中读取的所述有效数据缓存到所述读缓存中。
步骤620、所述控制单元从所述读缓存中读取所述有效数据并发送至所述ECU。
具体地,ECU进行ECC校验的速度,通常比控制单元读取有效数据的速度快。因此,通过读缓存可以先缓存控制单元从源块预先读取一部分有效数据。然后再有ECU进行ECC校验,可以减少ECU等待读取数据的时间。
进一步地,如图6所示,步骤520具体可以包括:
步骤700、ECU对有效数据进行ECC校验,若所述ECU对所述有效数据校验的结果为正确,则执行步骤710;若所述ECU对所述有效数据校验的结果为错误,则则执行步骤720。
步骤710、ECU将所述有效数据确定为所述ECU校验后的数据;
步骤720、ECU对所述有效数据进行纠错处理,将纠错处理后的数据确定为所述ECU校验后的数据。
具体地,由于数据写入SSD之后,随着时间的偏移,可能发生比特(英文:bit)跳变,且通常情况下,时间越长,跳变的bit数越多。因此,需要进行ECC校验。虽然ECU33对有效数据进行ECC校验的过程中,需要对有效数据进行解码,但是,由于移动模块的控制单元能够直接获取有效数据,因此,不需要将解码后的数据重新编码,而可以将校验后的数据直接写入目的块的空白页。其中,如果ECU对有效数据的ECC校验结果为正确,控制单元可以将有效数据直接作为校验后的数据写入目的块的空白页;如果ECU对有效数据的ECC校验结果为有错,控制单元可以将有效数据纠错后的数据作为校验后的数据写入目的块的空白页。ECU对有效数据进行ECC校验的示例可以参见上述SSD实施例中的相关描述。
进一步地,参见图3,所述移动模块还可以包括写缓存。这种情况下,如图6所示,步骤530具体可以包括:
步骤810、所述控制单元将所述ECU校验后的数据缓存到所述写缓存中;
步骤820、所述控制单元从所述写缓存中读取所述ECU校验后的数据,并将所述校验后的数据写入所述目的块的空白页中。
具体地,由于相比ECC校验的速度,写入到SSD中目的块的空白页的速度较慢。可以将ECC校验完的有效数据,先缓存到写缓存中,等待写入目的块,以减少ECU等待写入数据的时间,从而加快数据移动的速度
本实施例的数据移动方法中,在需要移动数据时,SSD的业务处理模块可以将移动命令发送给移动模块,移动模块通过移动命令可以控制数据从源块移动到目的块的空白页,与读写分离数据移动过程相比,数据移动所经过的通路简单,可以提高SSD的数据移动效率,并且可以减少数据移动所占用的后端资源如DMA数据通路、DDR、CPU等系统资源,降低数据移动过程对SSD性能的影响。并且,由于移动模块可以直接将有效数据(或纠错后的有效数据)写入目的块的空白页,不需要进行重新编码,可以减少数据移动的流程,进一步提高SSD的数据移动效率以及降低数据移动过程对SSD性能的影响。
实施例5
图7为本发明实施例五的固态硬盘的结构框图。所述固态硬盘可以是具备计算能力的主机服务器、个人计算机PC、或者可携带的便携式计算机或终端等。本发明具体实施例并不对计算节点的具体实现做限定。
所述固态硬盘包括处理器(processor)910、通信接口(CommunicationsInterface)920、存储器(memory array)930和总线940。其中,处理器910、通信接口920、以及存储器930通过总线940完成相互间的通信。
通信接口920用于与网元通信,其中网元包括例如虚拟机管理中心、共享存储等。
处理器910用于执行程序。处理器910可能是一个中央处理器CPU,或者是专用集成电路ASIC(Application Specific Integrated Circuit),或者是被配置成实施本发明实施例的一个或多个集成电路。
存储器930用于存放文件。存储器930可能包含高速RAM存储器,也可能还包括非易失性存储器(non-volatile memory),例如至少一个磁盘存储器。存储器930也可以是存储器阵列。存储器930还可能被分块,并且所述块可按一定的规则组合成虚拟卷。
在一种可能的实施方式中,上述程序可为包括计算机操作指令的程序代码。该程序具体可用于:
所述方法应用于固态硬盘中,所述固态硬盘包括存储介质和控制芯片;所述存储介质的存储空间划分为至少两个用于存储数据的块,所述控制芯片包括业务处理模块和移动模块,所述方法包括:
所述移动模块接收所述业务处理模块发送的移动命令,所述移动命令用于指示所述移动模块将数据从源块移动到目的块,所述移动命令中包括所述源块的地址和所述目的块的地址,所述源块为所述存储介质中需要移出数据的块,所述目的块为所述存储介质中需要写入数据的块;
所述移动模块根据所述移动命令从所述源块读出有效数据,对所述有效数据进行ECC校验后,将校验后的数据写入所述目的块的空白页中。
在一种可能的实施方式中,所述移动模块根据所述移动命令从所述源块读出有效数据,对所述有效数据进行ECC校验后,将校验后的数据写入所述目的块的空白页中,包括:
所述移动模块的控制单元在接收所述移动命令后,从所述源块读出有效数据,将所述有效数据发送至所述移动模块的ECU;
所述ECU对所述有效数据进行ECC校验;
所述控制单元将所述ECU校验后的数据写入所述目的块的空白页。
在一种可能的实施方式中,所述移动模块还包括读缓存,所述控制单元将所述有效数据发送至所述ECU,包括:
所述控制单元将从所述源块中读取的所述有效数据缓存到所述读缓存中;
所述控制单元从所述读缓存中读取所述有效数据并发送至所述ECU。
在一种可能的实施方式中,所述移动模块还包括写缓存,所述控制单元将所述ECU校验后的数据写入所述目的块的空白页,包括:
所述控制单元将所述ECU校验后的数据缓存到所述写缓存中;
所述控制单元从所述写缓存中读取所述ECU校验后的数据,并将所述校验后的数据写入所述目的块的空白页中。
在一种可能的实施方式中,所述ECU对所述有效数据进行ECC校验,包括:
若所述ECU对所述有效数据校验的结果为正确,则所述ECU将所述有效数据确定为所述ECU校验后的数据;
若所述ECU对所述有效数据校验的结果为错误,则所述ECU对所述有效数据进行纠错处理,将纠错处理后的数据确定为所述ECU校验后的数据。
本领域普通技术人员可以意识到,本文所描述的实施例中的各示例性单元及算法步骤,能够以电子硬件、或者计算机软件和电子硬件的结合来实现。这些功能究竟以硬件还是软件形式来实现,取决于技术方案的特定应用和设计约束条件。专业技术人员可以针对特定的应用选择不同的方法来实现所描述的功能,但是这种实现不应认为超出本发明的范围。
如果以计算机软件的形式来实现所述功能并作为独立的产品销售或使用时,则在一定程度上可认为本发明的技术方案的全部或部分(例如对现有技术做出贡献的部分)是以计算机软件产品的形式体现的。该计算机软件产品通常存储在计算机可读取的存储介质中,包括若干指令用以使得计算机设备(可以是个人计算机、服务器、或者网络设备等)执行本发明各实施例方法的全部或部分步骤。而前述的存储介质包括U盘、移动硬盘、只读存储器(ROM,Read-Only Memory)、随机存取存储器(RAM,Random Access Memory)、磁碟或者光盘等各种可以存储程序代码的介质。
以上所述,仅为本发明的具体实施方式,但本发明的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本发明揭露的技术范围内,可轻易想到变化或替换,都应涵盖在本发明的保护范围之内。因此,本发明的保护范围应所述以权利要求的保护范围为准。

Claims (8)

1.一种固态硬盘,其特征在于,包括:存储介质和控制芯片;所述存储介质的存储空间划分为至少两个用于存储数据的块,所述控制芯片包括:
业务处理模块,用于处理固态硬盘的业务,并在所处理的业务需要进行数据移动时,生成移动命令并向移动模块发送所述移动命令,所述移动命令用于指示所述移动模块将数据从源块移动到目的块,所述移动命令中包括所述源块的地址和所述目的块的地址,所述源块为所述存储介质中需要移出数据的块,所述目的块为所述存储介质中需要写入数据的块;
移动模块,包括控制单元和错误检查纠正编解码单元ECU,所述控制单元用于接收所述移动命令,根据所述移动命令,从所述源块读出有效数据,将所述有效数据发送至所述ECU;所述移动模块通过所述控制单元和所述ECU形成独立的数据移动通道;
所述ECU,用于对所述有效数据进行错误检查纠正ECC校验;
所述控制单元,还用于将所述ECU校验后的数据写入所述目的块的空白页中。
2.根据权利要求1所述的固态硬盘,其特征在于,所述移动模块还包括:
读缓存,用于缓存所述控制单元从所述源块中读取的有效数据;
所述控制单元,还用于从所述读缓存中读取所述有效数据并发送至所述ECU。
3.根据权利要求1或2所述的固态硬盘,其特征在于,所述移动模块还包括:
写缓存,用于缓存所述ECU校验后的数据;
所述控制单元,还用于从所述写缓存中读取所述ECU校验后的数据,并将所述校验后的数据写入所述目的块的空白页中。
4.根据权利要求1或2所述的固态硬盘,其特征在于:
所述ECU,具体用于若所述ECU对所述有效数据校验的结果为正确,则将所述有效数据确定为所述ECU校验后的数据;若所述ECU对所述有效数据校验的结果为错误,则对所述有效数据进行纠错处理,将纠错处理后的数据确定为所述ECU校验后的数据。
5.一种数据移动方法,其特征在于,所述方法应用于固态硬盘中,所述固态硬盘包括存储介质和控制芯片;所述存储介质的存储空间划分为至少两个用于存储数据的块,所述控制芯片包括业务处理模块和移动模块,所述业务处理模块用于处理固态硬盘的业务,所述方法包括:
所述业务处理模块在所处理的业务需要进行数据移动时,生成移动命令并向所述移动模块发送所述移动命令;
所述移动模块接收所述业务处理模块发送的移动命令,所述移动命令用于指示所述移动模块将数据从源块移动到目的块,所述移动命令中包括所述源块的地址和所述目的块的地址,所述源块为所述存储介质中需要移出数据的块,所述目的块为所述存储介质中需要写入数据的块;
所述移动模块的控制单元接收所述移动命令,并根据所述移动命令从所述源块读出有效数据,将所述有效数据发送至所述移动模块的ECU;所述移动模块通过所述控制单元和所述ECU形成独立的数据移动通道;
所述ECU对所述有效数据进行ECC校验;
所述控制单元将所述ECU校验后的数据写入所述目的块的空白页。
6.根据权利要求5所述的数据移动方法,其特征在于,所述移动模块还包括读缓存,所述控制单元将所述有效数据发送至所述ECU,包括:
所述控制单元将从所述源块中读取的所述有效数据缓存到所述读缓存中;
所述控制单元从所述读缓存中读取所述有效数据并发送至所述ECU。
7.根据权利要求5或6所述的数据移动方法,其特征在于,所述移动模块还包括写缓存,所述控制单元将所述ECU校验后的数据写入所述目的块的空白页,包括:
所述控制单元将所述ECU校验后的数据缓存到所述写缓存中;
所述控制单元从所述写缓存中读取所述ECU校验后的数据,并将所述校验后的数据写入所述目的块的空白页中。
8.根据权利要求5或6中任一项所述的数据移动方法,其特征在于,所述ECU对所述有效数据进行ECC校验,包括:
若所述ECU对所述有效数据校验的结果为正确,则所述ECU将所述有效数据确定为所述ECU校验后的数据;
若所述ECU对所述有效数据校验的结果为错误,则所述ECU对所述有效数据进行纠错处理,将纠错处理后的数据确定为所述ECU校验后的数据。
CN201310740030.1A 2013-12-27 2013-12-27 固态硬盘及数据移动方法 Active CN103761988B (zh)

Priority Applications (4)

Application Number Priority Date Filing Date Title
CN201310740030.1A CN103761988B (zh) 2013-12-27 2013-12-27 固态硬盘及数据移动方法
EP14873236.5A EP3070715A4 (en) 2013-12-27 2014-08-18 Fixed body and data transfer method
PCT/CN2014/084583 WO2015096494A1 (zh) 2013-12-27 2014-08-18 固态硬盘及数据移动方法
US15/192,614 US10114578B2 (en) 2013-12-27 2016-06-24 Solid state disk and data moving method

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201310740030.1A CN103761988B (zh) 2013-12-27 2013-12-27 固态硬盘及数据移动方法

Publications (2)

Publication Number Publication Date
CN103761988A CN103761988A (zh) 2014-04-30
CN103761988B true CN103761988B (zh) 2018-01-16

Family

ID=50529212

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201310740030.1A Active CN103761988B (zh) 2013-12-27 2013-12-27 固态硬盘及数据移动方法

Country Status (4)

Country Link
US (1) US10114578B2 (zh)
EP (1) EP3070715A4 (zh)
CN (1) CN103761988B (zh)
WO (1) WO2015096494A1 (zh)

Families Citing this family (17)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8307180B2 (en) 2008-02-28 2012-11-06 Nokia Corporation Extended utilization area for a memory device
US8874824B2 (en) 2009-06-04 2014-10-28 Memory Technologies, LLC Apparatus and method to share host system RAM with mass storage memory RAM
US9417998B2 (en) 2012-01-26 2016-08-16 Memory Technologies Llc Apparatus and method to provide cache move with non-volatile mass memory system
US9311226B2 (en) 2012-04-20 2016-04-12 Memory Technologies Llc Managing operational state data of a memory module using host memory in association with state change
CN103761988B (zh) 2013-12-27 2018-01-16 华为技术有限公司 固态硬盘及数据移动方法
US10387046B2 (en) 2016-06-22 2019-08-20 Micron Technology, Inc. Bank to bank data transfer
US10236038B2 (en) 2017-05-15 2019-03-19 Micron Technology, Inc. Bank to bank data transfer
TWI726475B (zh) * 2017-09-22 2021-05-01 慧榮科技股份有限公司 快閃記憶體的資料內部搬移方法以及使用該方法的裝置
CN109542335B (zh) 2017-09-22 2022-04-01 慧荣科技股份有限公司 快闪存储器的数据内部搬移方法以及使用该方法的装置
CN107967125A (zh) * 2017-12-20 2018-04-27 北京京存技术有限公司 闪存转换层的管理方法、装置及计算机可读存储介质
US11422726B1 (en) * 2018-05-01 2022-08-23 Amazon Technologies, Inc. Efficient storage device data move operation based on priority of garbage collection command
CN108829613B (zh) * 2018-05-24 2020-12-29 中山市江波龙电子有限公司 数据存储方法及存储设备
WO2020034080A1 (zh) * 2018-08-14 2020-02-20 深圳鲲云信息科技有限公司 一种基于dma的数据处理方法及相关产品
CN109614048B (zh) * 2018-12-10 2022-11-11 深圳市硅格半导体有限公司 基于闪存的数据读写方法、装置及计算机可读存储介质
TWI786288B (zh) * 2019-04-09 2022-12-11 韓商愛思開海力士有限公司 儲存裝置、儲存裝置的控制方法及記錄媒體
CN113742253B (zh) * 2020-05-29 2023-09-01 超聚变数字技术有限公司 存储介质管理方法、装置、设备以及计算机可读存储介质
CN111881211B (zh) * 2020-07-24 2022-06-10 北京浪潮数据技术有限公司 一种存储数据同步方法、系统、设备及计算机存储介质

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101354906A (zh) * 2008-08-11 2009-01-28 湖南源科创新科技股份有限公司 应用于固态硬盘的闪存控制器
CN101436152A (zh) * 2008-12-02 2009-05-20 成都市华为赛门铁克科技有限公司 一种数据备份的方法和装置

Family Cites Families (18)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6915359B2 (en) * 2000-11-22 2005-07-05 Matsushita Electric Industrial Co., Ltd. Data transfer device, data transfer method, data transfer program and computer readable storage medium thereof
JP2002312232A (ja) * 2001-04-10 2002-10-25 Mitsubishi Electric Corp 半導体記憶装置
US6683817B2 (en) * 2002-02-21 2004-01-27 Qualcomm, Incorporated Direct memory swapping between NAND flash and SRAM with error correction coding
JP4504138B2 (ja) * 2004-09-03 2010-07-14 株式会社東芝 記憶システム及びそのデータコピー方法
US7409473B2 (en) * 2004-12-21 2008-08-05 Sandisk Corporation Off-chip data relocation
US7958430B1 (en) * 2005-06-20 2011-06-07 Cypress Semiconductor Corporation Flash memory device and method
WO2008068937A1 (ja) * 2006-12-01 2008-06-12 Mitsubishi Electric Corporation データ転送制御装置およびコンピュータシステム
US8595593B2 (en) 2008-12-24 2013-11-26 Hynix Semiconductor Inc. Nonvolatile memory device having a copy back operation and method of operating the same
US8447918B2 (en) * 2009-04-08 2013-05-21 Google Inc. Garbage collection for failure prediction and repartitioning
US8166233B2 (en) 2009-07-24 2012-04-24 Lsi Corporation Garbage collection for solid state disks
US20110252177A1 (en) * 2010-04-13 2011-10-13 Byungcheol Cho Semiconductor storage device memory disk unit with programmable host interface
KR101678407B1 (ko) * 2010-05-10 2016-11-23 삼성전자주식회사 데이터 저장 장치 및 그것의 프로그램 방법
TWI455144B (zh) * 2010-07-22 2014-10-01 Silicon Motion Inc 使用於快閃記憶體的控制方法與控制器
KR101732030B1 (ko) * 2010-12-22 2017-05-04 삼성전자주식회사 데이터 저장 장치 및 그것의 동작 방법
US8612719B2 (en) * 2011-07-21 2013-12-17 Stec, Inc. Methods for optimizing data movement in solid state devices
US20130086315A1 (en) * 2011-10-04 2013-04-04 Moon J. Kim Direct memory access without main memory in a semiconductor storage device-based system
CN102521138B (zh) * 2011-11-28 2015-11-25 华为技术有限公司 数据迁移触发方法和装置
CN103761988B (zh) 2013-12-27 2018-01-16 华为技术有限公司 固态硬盘及数据移动方法

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101354906A (zh) * 2008-08-11 2009-01-28 湖南源科创新科技股份有限公司 应用于固态硬盘的闪存控制器
CN101436152A (zh) * 2008-12-02 2009-05-20 成都市华为赛门铁克科技有限公司 一种数据备份的方法和装置

Also Published As

Publication number Publication date
EP3070715A4 (en) 2016-11-30
EP3070715A1 (en) 2016-09-21
WO2015096494A1 (zh) 2015-07-02
CN103761988A (zh) 2014-04-30
US10114578B2 (en) 2018-10-30
US20160306588A1 (en) 2016-10-20

Similar Documents

Publication Publication Date Title
CN103761988B (zh) 固态硬盘及数据移动方法
US9921914B2 (en) Redundant array of independent disks (RAID) write hole solutions
CN105786412B (zh) 非易失性存储器装置的操作方法
CN104166636B (zh) 存储器储存装置及其还原方法与存储器控制器
CN106663472A (zh) 非易失性存储器中的恢复算法
CN106681652B (zh) 存储器管理方法、存储器控制电路单元与存储器存储装置
CN108022611A (zh) 存储系统及其操作方法
EP2684134A2 (en) Programmable data storage management
TWI527040B (zh) 資料寫入方法、記憶體儲存裝置與記憶體控制器
CN109710451A (zh) 基于nand的存储装置的固件事件跟踪及其执行方法和指令集
CN103513937B (zh) 能够增加其生命周期的存储设备及其操作方法
EP3754563A1 (en) Technologies for performing in-memory training data augmentation for artificial intelligence
CN110309013A (zh) 存取闪存模块的方法及相关的闪存控制器与电子装置
CN104733051B (zh) 奇偶校验码的解码方法、存储器储存装置及控制电路单元
CN106874140A (zh) 数据存储方法及装置
CN104182293B (zh) 数据写入方法、存储器存储装置与存储器控制器
TWI536749B (zh) 解碼方法、記憶體儲存裝置與記憶體控制電路單元
TW201303881A (zh) 資料處理方法、記憶體控制器及記憶體儲存裝置
TWI732642B (zh) 資料寫入方法、記憶體控制電路單元以及記憶體儲存裝置
CN109840165A (zh) 存储器系统及其操作方法
CN107704338A (zh) 一种资料储存型闪存的数据恢复方法和装置
CN105354107A (zh) NOR Flash的数据传输方法及系统
TWI634561B (zh) 資料保護方法、記憶體儲存裝置及記憶體控制電路單元
CN108664350B (zh) 数据保护方法、存储器存储装置及存储器控制电路单元
US11636153B2 (en) Storage of tree data structures

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