CN110389712B - 数据写入方法及其装置、固态硬盘和计算机可读存储介质 - Google Patents
数据写入方法及其装置、固态硬盘和计算机可读存储介质 Download PDFInfo
- Publication number
- CN110389712B CN110389712B CN201810362066.3A CN201810362066A CN110389712B CN 110389712 B CN110389712 B CN 110389712B CN 201810362066 A CN201810362066 A CN 201810362066A CN 110389712 B CN110389712 B CN 110389712B
- Authority
- CN
- China
- Prior art keywords
- data
- storage
- data block
- physical storage
- storage area
- 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
Links
Images
Classifications
-
- 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/0223—User address space allocation, e.g. contiguous or non contiguous base addressing
- G06F12/023—Free address space management
- G06F12/0253—Garbage collection, i.e. reclamation of unreferenced memory
-
- 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/0628—Interfaces specially adapted for storage systems making use of a particular technique
- G06F3/0638—Organizing or formatting or addressing of data
- G06F3/064—Management of blocks
-
- 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]
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)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本发明公开了一种数据写入方法、数据写入装置固态硬盘和计算机可读存储介质,数据写入方法应用于固态硬盘,所述固态硬盘包括多个物理存储区域,每个物理存储区域包括多个数据块,多个数据块包括存储数据块和预留数据块,该方法包括:当所述物理存储区域中至少一个所述预留数据块全部写满数据时,确定该物理存储区域的各所述存储数据块中有效数据的数量大小;判断该物理存储区域中是否存在有效数据的数量为零的存储数据块;若是,擦除该物理存储区域中有效数据的数量为零的存储数据块中的全部数据。该方法数据的写入速度较快,尤其适用于视频监控领域。
Description
技术领域
本发明涉及数据处理技术领域,尤其涉及数据写入方法、数据写入装置、固态硬盘和计算机可读存储介质。
背景技术
固态硬盘SSD(Solid State Drive,简称SSD)是用固态电子存储芯片阵列而制成的硬盘。
固态硬盘SSD通常包括多个逻辑存储单元和物理存储单元,物理存储单元可采用非易失性存储介质,物理存储单元通常被划分为多个用于存储数据的数据块,客户端可包括多个逻辑存储单元,逻辑存储单元的逻辑地址与各数据块的物理地址具有映射关系,来自上层客户端的写命令中携带有逻辑地址和待写入数据,根据该逻辑地址可在映射关系中查找对应的物理地址,将待写入数据写入与物理地址对应的数据块中,实现数据写入。
为了提高数据写入速度,通常将物理存储单元划分为多个通道,每个通道包括多个数据块,对于多个通道可实现并行写入,例如,可将待写入数据分成多个部分并且写入每个通道的数据块中。
对于每个通道而言,当通道中各数据块写入数据的空间占整个通道存储空间(即该通道中所有数据块的总存储空间)的一定比例时,需要进行垃圾回收操作(GarbageCollection,简称GC),即读出部分数据块中有效数据,再将读出的有效数据整块的写入其他空白数据块中,然后擦除该有效数据所在数据块中的数据,该数据块可重新作为空白数据块重新写入数据。
每个通道进行数据写入时具有随机性,导致各通道的有效数据的数量不同,当需要将待写入数据分别写入各通道的数据块中时,可能有些通道可能需要进行垃圾回收操作,有些通道不需要进行垃圾回收操作,因此会造成各通道写入数据的数据不一致,影响数据的整体写入速度,数据的写入速度较慢。
发明内容
本发明提供一种数据写入方法、数据写入装置、固态硬盘和计算机可读存储介质,以解决相关技术中的不足。
根据本发明实施例的第一方面,提供一种数据写入方法,应用于固态硬盘,所述固态硬盘包括多个物理存储区域,每个物理存储区域包括多个数据块,多个数据块包括存储数据块和预留数据块;该方法包括:
当所述物理存储区域中至少一个所述预留数据块全部写满数据时,确定该物理存储区域的各所述存储数据块中有效数据的数量大小;
判断该物理存储区域中是否存在有效数据的数量为零的存储数据块;
若是,擦除该物理存储区域中有效数据的数量为零的存储数据块中的全部数据。
可选的,还包括:
若判断出该物理存储区域中不存在有效数据的数量为零的存储数据块时,读取各所述物理存储区域的部分存储数据块中有效数据;
将已读取的所述有效数据对应写入到读取该部分有效数据的存储数据块所在的物理存储区域的预留数据块中;
擦除已读取的各所述部分存储数据块中的全部数据。
可选的,所述读取各所述物理存储区域的部分存储数据块中有效数据,包括:
分别确定各所述物理存储区域的各所述存储数据块中有效数据的数量最小的存储数据块,将其作为源存储数据块;
分别读取各所述源存储数据块中的有效数据。
可选的,在所述将读取的所述有效数据对应写入到读取该部分有效数据的存储数据块所在的物理存储区域的预留数据块中,之前还包括:
判断已读取的有效数据的总数量是否大于或等于写入数量阈值;
若是,则执行所述将已读取的所述有效数据对应写入到读取该部分有效数据的存储数据块所在的物理存储区域的预留数据块中的步骤;
若否,则执行所述读取各所述物理存储区域的部分存储数据块中有效数据的步骤。
可选的,所述分别读取各所述源存储数据块中的有效数据,包括:
以页为单位顺序的分别读取各所述源存储数据块中的每页数据;
判断读取的各页所述数据是否为有效数据;
若是,则执行所述判断已读取的有效数据的总数量是否大于或等于写入数量阈值的步骤;
若否,则执行上述所述的以页为单位顺序的分别读取各所述源存储数据块中的每页数据的步骤。
可选的,所述将读取的所述有效数据对应写入到读取该部分有效数据的存储数据块所在的物理存储区域的预留数据块中,包括:
将已读取的所述有效数据对应写入读取该部分有效数据的存储数据块所在的存储芯片中的预留数据块的空白存储空间中,当该预留数据块的空白存储空间写满后,将剩余的部分有效数据写入到读取该部分有效数据的存储数据块所在的物理存储区域中的其他存储芯片的预留数据块中。
根据本发明实施例的第二方面,提供一种数据写入装置,应用于固态硬盘,所述固态硬盘包括多个物理存储区域,每个物理存储区域包括多个数据块,多个数据块包括存储数据块和预留数据块;该装置包括:
有效数据量确定单元,用于当所述物理存储区域中至少一个所述预留数据块全部写满数据时,确定该物理存储区域的各所述存储数据块中有效数据的数量大小;
有效数据量判断单元,用于判断该物理存储区域中是否存在有效数据的数量为零的存储数据块;
第一数据擦除单元,用于当判断出所述物理存储区域中存在有效数据量为零的存储数据块时,擦除该物理存储区域中有效数据的数量为零的存储数据块中的全部数据。
可选的,还包括:
有效数据读取单元,用于当判断出该物理存储区域中不存在有效数据的数量为零的存储数据块时,读取各所述物理存储区域的部分存储数据块中有效数据;
有效数据写入确定单元,用于将已读取的所述有效数据对应写入到读取该部分有效数据的存储数据块所在的物理存储区域的预留数据块中;
第二数据擦除单元,用于擦除已读取的各所述部分存储数据块中的全部数据。
可选的,所述有效数据读取单元具体用于:
分别确定各所述物理存储区域的各所述存储数据块中有效数据的数量最小的存储数据块,将其作为源存储数据块;
分别读取各所述源存储数据块中的有效数据。
可选的,还包括:
有效数据数量判断单元,用于判断已读取的有效数据的总数量是否大于或等于写入数量阈值;
若是,则执行所述将已读取的所述有效数据对应写入到读取该部分有效数据的存储数据块所在的物理存储区域的预留数据块中的步骤;
若否,则执行所述读取各所述物理存储区域的部分存储数据块中有效数据的步骤。
根据本发明实施例的第三方面,提供一种固态硬盘,包括处理器、机器可读存储介质和物理存储介质,所述物理存储介质包括多个物理存储区域,每个物理存储区域包括多个数据块,多个数据块包括存储数据块和预留数据块,所述机器可读存储介质存储有能够被所述处理器执行的机器可执行指令,所述处理器被所述机器可执行指令促使执行上述任一所述方法。
根据本发明实施例的第四方面,提供一种计算机可读存储介质,其上存储有计算机程序,所述程序被处理器执行时实现上述任一所述方法。
根据上述技术方案可知,该数据写入方法,当固态硬盘为满盘状态或者接近满盘状态时,当存在有效数据的数量为零的存储数据块时,清空该存储数据块,该存储数据块作为空白的数据块可重写写入数据,因此,不需要进行垃圾回收操作,各物理存储区域写入数据的速度一致,不影响数据的整体写入速度,数据的写入速度较快。
应当理解的是,以上的一般描述和后文的细节描述仅是示例性和解释性的,并不能限制本发明。
附图说明
此处的附图被并入说明书中并构成本说明书的一部分,示出了符合本发明的实施例,并与说明书一起用于解释本发明的原理。
图1是相关技术提供的固态硬盘中物理存储单元的结构示意图;
图2是根据本发明一实施例提供的数据写入方法的工作流程图;
图3是根据本发明一实施例提供的包括固态硬盘的存储系统的架构示意图;
图4是根据本发明又一实施例提供的数据写入方法的工作流程图;
图5是根据本发明另一实施例提供的数据写入方法的工作流程图;
图6是根据本发明又一实施例提供的数据写入方法的工作流程图;
图7是根据本发明又一实施例提供的数据写入方法的工作流程图;
图8是根据本发明一实施例提供的固态硬盘进行垃圾回收过程的结构示意图;
图9是根据本发明又一实施例提供的数据写入装置的方框图;
图10是根据本发明一实施例提供的固态硬盘的硬件结构图。
具体实施方式
这里将详细地对示例性实施例进行说明,其示例表示在附图中。下面的描述涉及附图时,除非另有表示,不同附图中的相同数字表示相同或相似的要素。以下示例性实施例中所描述的实施方式并不代表与本发明相一致的所有实施方式。相反,它们仅是与如所附权利要求书中所详述的、本发明的一些方面相一致的装置和方法的例子。
图1为相关技术提供的一种固态硬盘中物理存储单元的结构示意图,如图1所示,该固态硬盘中的物理存储单元包括四个通道,分别为第一通道Channel1、第二通道Channel2、第三通道Channel3和第四通道Channel4,每个通道例如包括两个数据块,第一通道包括数据块Blocka和数据块Blocke,第二通道包括数据块Blockb和数据块Block f,第三通道包括数据块Block c和数据块Block g,第四通道包括数据块Block d和数据块Blockh,每个通道中的数据块包括用户数据块和垃圾回收数据块,并且,每个数据块可划分为多个区域,用户数据块中的各区域用户存储用户数据,例如图中的Host Date,垃圾回收数据块用于在垃圾回收操作中存储从用户数据块读出的有效数据,例如图中的GC Date。
物理存储单元可将来自上层的用户数据的写命令或者垃圾回收操作的写命令,通过写命令中携带的Host Date或GC Date分别写入用户数据块中或者垃圾回收数据块中。
上述数据写入的方法,具有以下缺点:
第一,需要判断写命令的类型是用户数据的写命令还是垃圾回收操作的写命令,进而根据写命令的类型执行对应的操作,该判断会增加固态硬盘的资源开销;
第二,每个通道进行数据写入时具有随机性,导致各通道的有效数据的数量不同,会导致不同通道进行垃圾回收的次数不同,可能某些通道一直需要进行垃圾回收操作,而某些通道一直不需要进行垃圾回收操作,因此,会影响数据的整体写入速度;
第三,在进行垃圾回收操作时,各通道具有独立性,而每个通道的垃圾回收的次数不同,导致各通道中数据块的写入次数和擦除次数不同,而数据块的写入次数和擦除次数会影响固态硬盘的使用寿命,因此,写入次数和擦除次数高的通道会影响整个固态硬盘的使用寿命;
第四,对于视频监控领域而言,由于数据量大且具有连续性,需要固态硬盘具有稳定的写入速度和更高的复写次数,而上述写入方法中,由于各通道写入数据的速度不一致,影响数据的整体写入速度,因此不适用于视频监控数据的写入。
针对相关技术中的上述问题,本发明实施例提供了数据写入方法,下面为其中一种实施方式提供的数据写入方法,应用于固态硬盘,该固态硬盘包括多个物理存储区域,每个物理存储区域包括多个数据块,多个数据块包括存储数据块和预留数据块;如图2所示,该方法包括以下步骤:
步骤S10、当物理存储区域中至少一个预留数据块全部写满数据时,确定该物理存储区域的各存储数据块中有效数据的数量大小;
步骤S20、判断该物理存储区域中是否有效数据的数量为零的存储数据块;
步骤S30、若是,擦除该物理存储区域中有效数据的数量为零的存储数据块中的全部数据。
如图3所示,上述的固态硬盘包括n个物理存储区域,分别为物理存储区域1,物理存储区域2,……,物理存储区域n-1,物理存储区域n;每个物理存储区域包括n+1个数据块,分别为Block 0,Block 1,……,Block n;其中多个数据块中包括存储数据块和预留数据块,例如,包括n个存储数据块和1预留数据块,Block 1-Block n为存储数据块,Block 0为预留数据块,存储数据块和预留数据块在结构上并没有区别。
上述固态硬盘中在硬件结构上可以包括多个非易失性存储介质,例如,包括多个FLASH芯片或者多个DRAM芯片,每个非易失性存储介质可被划分为多个物理存储空间,上述的物理存储区域可以包括一个或两个以上的物理存储空间,每个数据块可包括一个或两个以上的物理存储空间。
对于非易失性存储介质为NAND Flash芯片的固态硬盘而言,一个NAND Flash可包括多个芯片Die,每个Die内部有独立的操作寄存器和状态寄存器,每个Die可为一个独立的单元,每个Die可被划分成多个物理存储块,上述的每个数据块可以为Die上的一个或两个以上的物理存储块。
上述的固态硬盘可包括转换层,该转换层作用在于建立位于上层的客户端Host与位于下层的物理存储区域之间的映射关系,使客户端可以访问各物理存储区域,实现对数据的写入或者读取操作。
若非易失性存储介质为NAND Flash芯片上述的转换层可以为FTL(Flashtranslation layer,简称FTL)。
如图3所示,客户端Host可以包括n个分区,分别为分区1,分区2,……,分区n-1,分区n,转换层可以包括n个逻辑存储单元,分别为LBA 1,LBA2,……,LBA n-1,LBA n,各分区与各逻辑存储单元具有映射关系,各逻辑存储单元与各物理存储区域具有映射关系,因此,通过转换层建立了各分区与各物理存储区域之间的对应关系,实现上层的客户端Host对各物理存储区域的读写操作,例如,可将客户端Host各分区中的数据写入对应的物理存储区域中。
上述客户端Host的各分区可分别对应各终端设备,可将各终端设备中的待存储数据写入固态硬盘中对应的物理存储区域中,终端设备例如为摄像机,将多个摄像机对应各分区,可实现将各摄像机采集的视频流数据分别写入各物理存储区域中。
在数据写入过程中,来自上层客户端Host的写命令中通常携带有待写入数据和逻辑地址,可根据该逻辑地址在逻辑存储单元的逻辑地址与物理存储区域中各数据块的物理地址之间的映射关系中查找到该逻辑地址对应的物理地址,将待写入数据写入与物理地址对应的数据块中,实现数据写入。
上述的各物理存储区域之间时相对独立的,可以并行运行,可将待写入数据拆分成多个部分并行写入各物理存储区域中。
随着数据不断写入物理存储区域中,如果数据是连续写入的,待写入数据会依次写入物理存储区域中的各存储数据块中,随着数据的不断写入,当各存储数据块均被写满数据,此时固态硬盘为满盘状态;如果数据是随机写入的,待写入数据会随机的写入物理存储区域中各数据块中,随着数据的不断写入,可能有部分存储数据块中已经写满数据,而部分存储数据块中有少量空间未写入数据,当物理存储区域中所有存储数据块中写入数据的空间占整个物理存储区域的总存储空间的一定比例时,该比例通常为较大的比例,例如70%-90%,此时可认为固态硬盘为接近满盘状态。
当固态硬盘为满盘状态或者接近满盘状态时,当再次接受到写命令时,可将待写入数据写入预留数据块中,此时,会将较早写入存储数据块中的、与写入预留数据块中的数据相同数量大小的数据作为无效数据(也可称为覆写数据),当预留数据块中写满数据时,如果预留数据块有多个,可以是其中一个预留数据块写满数据时或者其中两个以上的预留数据块写满数据时,将会有与预留数据块的数据相同数量大小的数据作为无效数据。
如果数据是连续写入的,该无效数据通常分布于一个存储数据块中,此时会存在一个存储数据块中的数据全部为无效数据的情况;如果数据是随机写入的,该无效数据可能是分布一个存储数据块中的数据,也可能分布于不同存储数据块,此时,可能不存在存储数据块中的数据全部为无效数据的情况。
由于上述物理存储区域可以是并行写入,因此,可能是其中一个物理存储区域中的预留数据块写满数据,或者是有多个物理存储区域中的预留数据块均写满数据,为了描述方便,本文在描述时不在区分是一个还是多个,预留数据块写入数据后变为存储数据块。
本实施例中,当物理存储区域中至少一个预留数据块全部写满数据时,确定该物理存储区域的各存储数据块中有效数据的数量大小,即确定各存储数据块中存储的数据中有效数据的存储量大小,当该物理存储区域中的存储数据块中存在其中有效数据的数据量为零的存储数据块,即该存储数据块中没有有效数据均为无效数据(即覆写数据),此时,擦除该存储数据块中的全部数据,即清空该存储数据块,该存储数据块被清空后可作为空白的数据块再次写入数据,该空白的数据块可作为预留数据块,预留数据块和存储数据块是动态变化的。
由上述描述可知,该数据写入方法,当固态硬盘为满盘状态或者接近满盘状态时,当存在有效数据的数量为零的存储数据块时,清空该存储数据块,该存储数据块作为空白的数据块可重写写入数据,因此,不需要进行垃圾回收操作,各物理存储区域写入数据的速度一致,不影响数据的整体写入速度,数据的写入速度较快。
对于视频监控领域而言,视频流数据是连续写入的,待写入数据依次写入各物理存储区域的存储数据块中,当预留数据块写满时,必定会存在有效数据的数量为零的存储数据块时,即必定存在无效数据(即覆写数据)全部集中在一个或多个存储数据块中的情况,清空该存储数据块后,可重新写入数据,当固态硬盘再次为满盘状态时,再次清空有效数据的数量为零的存储数据块,这样反复循环,各物理存储区域的不需要进行垃圾回收操作,因此,各物理存储区域中数据块的写入次数和擦除次数基本一致,各物理存储区域的写入速度较稳定,且不会出现由于一个物理存储区域擦写次数过高而影响整个固态硬盘的使用寿命的情况。
并且,由于不需要进行垃圾回收操作,也就不需要判断写命令的类型,可降低固态硬盘的资源开销,有助于提高固态硬盘的读写速度,由此可见该数据写入方法尤其适用于视频监控领域。
上述数据写入方法可适用于视频监控领域,可将视频流数据以数据块为单位连续写入对应的物理存储区域中,将与客户端的各分区对应的摄像机中的视频流数据分别存储到不同的物理存储区域中,实现逻辑分区和物理存储区域的对应,方便对数据进行管理。
进一步的,当任一物理存储区域处于满盘状态时,可以数据块为单位集中释放其中的数据,从而避免垃圾回收带来的数据写入延时问题,使每一次的数据都可以有效的写入到数据块中,最大限度的提升固态硬盘的使用寿命;并且各物理存储区域之间相互独立,不会相互干扰,从而使固态应用运行在高速且稳定的状态,有助于提高数据写入速度。
在一个可选的实施方式中,如图4所示,上述方法还可以包括以下步骤:
步骤S41、若判断出该物理存储区域中不存在有效数据的数量为零的存储数据块时,读取各物理存储区域的部分存储数据块中有效数据;
步骤S42、将读取的有效数据对应写入到读取该部分有效数据的存储数据块所在的物理存储区域的预留数据块中;
步骤S43、擦除已读取的各部分存储数据块中的全部数据。
对数据是随机写入的情况,无效数据可能是分布一个存储数据块中的数据,也可能分布于不同存储数据块,因此,可能不存在存储数据块中的数据全部为无效数据的情况,即判断出物理存储区域中不存在有效数据的数量为零的存储数据块,此时,由于至少一个预留数据块中已经写满数据,固态硬盘处于接近满盘状态,需要进行垃圾回收操作。
本实施例中,在进行垃圾回收操作时,首先读取各物理存储区域的部分存储数据块中有效数据,该部分存储数据块通常为其中存储有有效数据和无效数据的存储数据块,具体而言,在从各物理存储区域的存储数据块中读取有效数据时,可并行的从各存储数据块中分别读取有效数据,可以每次从各存储数据块中分别读取数量大小相同的有效数据,但是由于各存储数据块中的有效数据的数量可能并不相同,每次读取时,可能的情况是,对于某些物理存储区域,当读取多个存储数据块或者读取一个存储数据块的较大的存储空间后,才能读取出一定数量的有效数据,而对于某些物理存储空间,当读取数量较少的存储数据块或者读取一个存储数据块的较小的存储空间后,即可读取出相同数量的有效数据。
读取到有效数据后,将读取的有效数据需要写入预留数据块中,本实施例中,将读取的有效数据对应的写入到读取该部分有效数据的存储数据所在的物理存储区域的预留数据块中。
在将已读出的有效数据写入预留数据块中后,由于有效数据已经进行了保存,进而可擦除已读取的各部分存储数据块中的全部数据,即清空各部分存储数据块,被清空的存储数据块可作为空白的数据块再次写入数据,完成了垃圾回收操作。
上述数据写入过程举例说明,固态硬盘有四个物理存储区域,分别为物理存储区域1、物理存储区域2、物理存储区域3和物理存储区域4,分别从每个物理存储区域的部分存储数据块中读取16K有效数据,然后,将读出的所有有效数据分别对应写入到对应物理存储区域的预留数据块中。
对于已读取到4个16K有效数据,将从物理存储区域1中的部分存储数据块中读取的16K有效数据写入到物理存储区域1的预留数据块中,同样的,将从物理存储区域2中的部分存储数据块中读取的16K有效数据写入到物理存储区域2的预留数据块中,将从物理存储区域3中的部分存储数据块中读取的16K有效数据写入到物理存储区域3的预留数据块中,将从物理存储区,4中的部分存储数据块中读取的16K有效数据写入到物理存储区域4的预留数据块中。
本实施例中,在写入有效数据时,将已读取的有效数据写入到对应的物理存储区域中,每个物理存储区域的数据写入相对独立,不会出现跨物理存储区域写入的情况,这样,不仅可以提高数据的写入速度,并且便于对物理存储区域中存储的数据进行管理。
在一些例子中,如图5所示,上述步骤S41中所述的读取各物理存储区域的部分存储数据块中有效数据,包括:
步骤S411、分别确定各物理存储区域的各存储数据块中有效数据的数量最小的存储数据块,将其作为源存储数据块;
步骤S412、分别读取各源存储数据块中的有效数据。
本实施例中,在从各物理区域的部分存储数据块中读取有效数据时,首先确定出各存储数据块中有效数据的数量最小的,将其作为源存储数据块,然后从各物理存储区域的源存储数据块中读取有效数据,这样可以先擦除有效数据的数量最小的存储数据块中的数据,擦除速度快,可提高垃圾回收的速度,因此,有利于提高数据的写入速度。
在一个可选的实施方式中,如图6所示,在上述步骤S42之前还包括:
步骤S413、判断已读取的有效数据的总数量是否大于或等于写入数量阈值;
若是,则执行上述步骤42,若否则执行上述步骤S41所述的读取各物理存储区域的部分存储数据块中有效数据。
为了提高数据写入速度,通常当数据大于某一数量时再写入,而并非读取多少数据之后随后就写入,这样可以减少数据写入次数,提高写入效率,据此,本实施例中,在将已读取的有效数据写入预留数据块之前,进一步先判断已读取的有效数据的总数量是否大于或等于写入数量阈值,即判断是否满足数据写入条件,当有效数据的总数量大于或等于写入数量阈值时,即满足写入条件时,再将已读出的有效数据写入对应的预留数据块中;当有效数据的总数量小于写入数量阈值时,即不满足写入条件时,此时再次执行读取有效数据的步骤,即再次读出有效数据,当有效数据的总数量满足写入条件时再写入。
在一些例子中,如图7所示,上述步骤S412所述的分别读取各源存储数据块中的有效数据,包括:
步骤S4121、以页为单位顺序的分别读取各源存储数据块中的每页数据;
步骤S4122、判断读取的各页数据是否为有效数据;
若是,则执行上述步骤S413所述的判断已读取的有效数据的总数量是否大于或等于写入数量阈值步骤;
若否,则执行上述所述步骤S4121,也即读取各源存储数据块中的下一页数据。
对于非易失性存储介质为NAND Flash芯片的固态硬盘而言,每个物理存储区域中的各数据块可以为Die上的一个或两个以上的物理存储空间。
NAND Flash芯片为一种非易失性闪存芯片,其具有以下特性,写入数据时,每个bit位只能从1变0,擦除数据时每个bit位从0变1,并且以页为单位读写数据,而以物理存储块为单位擦除数据,且NAND flash芯片中的每个物理存储块存在最大擦写次数。
本实施例中,即以页为单位的方式分别读取各源存储数据块中的数据,对于读取的每页数据进一步的判断是否为有效数据,例如,通过数据校验算法判断读取的数据是否为有效数据,若是,则接着往下执行上述所述的步骤S42,若否,则继续读取各源存储数据块中的下一页数据。
图8所示为基于NAND Flash芯片的固态硬盘进行垃圾回收过程的结构示意图,如图8所示,该固态硬盘包括n个物理存储区域,分别为物理存储区域1,物理存储区域2,……,物理存储区域n;每个物理存储区域包括多个存储芯片Die,多个存储芯片Die可组成一个NAND Flash芯片。
物理存储区域1包括存储芯片Die 11至存储芯片Die 1n;物理存储区域2包括存储芯片Die 21至存储芯片Die 2n;……;物理存储区域n包括存储芯片Die n1至存储芯片Dienn,每个存储芯片可包括存储数据块和若干个预留数据块。
下面参照图8所示进一步说明上述实施例的工作流程,首先,分别确定各物理存储区域的各存储数据块中有效数据的数量最小的存储数据块,将其作为源存储数据块,如图8所示,物理存储区域1中位于存储芯片Die 11中的存储数据块Block 11为源存储数据块,物理存储区域2中位于存储芯片Die 21中的存储数据块Block 21为源存储数据块,……,物理存储区域n中位于存储芯片Die n1中的存储数据块Block n1为源存储数据块。
分别读取各物理存储区域中的各源存储数据块中的数据,以页为单位每次分别读取各源存储数据块中的一页数据,并行读取源存储数据块Block11中的第0页数据Page 0,源存储数据块Block21中的第0页数据Page 0,……,以及源存储数据块Blockn1中的第0页数据Page 0,判断读取的各页数据是否为有效数据,例如,各源存储数据块中的第0页数据Page 0均为无效数据,则继续读取各源存储数据块中的下一页数据,例如,读取到的源存储数据块Block11中的第3页数据Page 3为有效数据,读取到的源存储数据块Block21中的第21页数据Page 20为有效数据,……,读取到的源存储数据块Blockn1中的第n+1页数据Pagen为有效数据。
判断已读取的有效数据的总数量是否大于写入数量阈值,例如此时读取到10页有效数据,该10页有效数据的总数量大小为256K,大于写入数量阈值200K。
然后,将已读取的10页有效数据对应写入到物理存储区域中,将从源存储数据块Block11中读取的第3页有效数据写入该源存储数据块Block11所在的物理存储区域1的存储芯片Die 11中的预留数据块Block1n中,如果该预留数据块Blockn1在写入若干页有效数据后已经写满时,可将剩余的有效数据写入该物理存储区域1的其他预留数据块中。
类似的,将从物理存储区域2的源存储数据块Block21中读取的第21页有效数据对应写入物理存储区域2中位于存储芯片Die21中的预留数据块Block2n中;依次类推,分别将从各物理存储区域的源存储数据块中读取的有效数据写入对应的物理存储区域的预留数据块中,图8中箭头表示将有效数据写入对应预留数据块中,当然图中仅示意性的标出了部分将有效数据的写入对应预留数据块中。
在将已读出的全部有效数据写入对应预留数据块中后,擦除已读取的各源存储数据块中的全部数据,据此完成垃圾回收的操作。
在一些例子中,上述步骤S43中所述的将已读取的有效数据对应写入到读取该部分有效数据的存储数据块所在的物理存储区域的预留数据块中,包括:
将已读取的有效数据对应写入到读取该部分有效数据的存储数据块所在的存储芯片中的预留数据块的空白存储空间中,当该预留数据块的空白存储空间写满后,将剩余的部分有效数据写入到读取该部分有效数据的存储数据块所在的物理存储区域中的其他存储芯片的预留数据块中。
对于固态硬盘而言,物理存储区域可包括多个存储芯片,例如多个Die,为了提升数据的读写稳定性,将需要写入的部分有效数据优先写入读取该部分有效数据的存储数据块所在的存储芯片中的预留数据块中,即优先将部分有效数据写入读取该部分有效数据的当前存储芯片,当该当前存储芯片的预留数据块中的空白存储空间写满时,再写入其他存储芯片中,当然读取该部分有效数据的存储数据块所在的存储芯片也位于读取该部分有效数据的存储数据块所在的物理存储区域。
举例而言,固态硬盘包括四个物理存储区域,分别为物理存储区域1、物理存储区域2、物理存储区域3和物理存储区域4;物理存储区域1包括第一存储芯片和第二存储芯片,物理存储区域2包括第三存储芯片和第四存储芯片,物理存储区域3包括第五存储芯片和第六存储芯片,物理存储区域4包括第七存储芯片和第八存储芯片,每个存储芯片划分为10个存储数据块和1个预留数据块。
分别从每个物理存储区域的部分存储数据块中读取16K有效数据,读取到4个16K有效数据,其中从物理存储区域1中的第一个存储数据块中读取出16K有效数据,第一个存储数据块位于第一存储芯片上,该第一存储芯片也即位于物理存储区域1;从物理存储区域2中的第二个存储数据块中读取出16K有效数据,第二个存储数据块位于第四存储芯片上,第四存储芯片也即位于物理存储区域2;从物理存储区域3中的第八个存储数据块中读取出16K有效数据,第八个存储数据块位于第六存储芯片上,第八存储芯片也即位于物理存储区域3;从物理存储区域4中的第五个存储数据块中读取出16K有效数据,第五个存储数据块位于第七存储芯片上,第七存储芯片也即位于物理存储区4。
将这4个16K的有效数据写入到对应的存储芯片的预留数据块的空白存储空间中,具体而言,将从物理存储区域2中的读取出16K有效数据的第二个存储数据块所在的第四存储芯片中的预留数据块的空白存储空间写满,例如在该空白存储空间写入了2个16K的有效数据,然后再将剩余的1个16K的有效数据写入物理存储区域2中第三存储芯片的预留数据块中;同样的,将从物理存储区域4中的读取出16K有效数据的第五个存储数据块所在的第七存储芯片中的预留数据块的空白存储空间中,例如在该空白存储空间写入了1个16K的有效数据后仍未写满,由于有效数据已经写完,因此,不需要在物理存储区域4中第八存储芯片的预留数据块中再写入有效数据。
本发明实施例还提供了一种数据写入装置,应用于固态硬盘,所述固态硬盘包括多个物理存储区域,每个物理存储区域包括多个数据块,多个数据块包括存储数据块和预留数据块;如图9所示,该数据写入装置09包括:
有效数据量确定单元91,用于当所述物理存储区域中至少一个所述预留数据块全部写满数据时,确定该物理存储区域的各所述存储数据块中有效数据的数量大小;
有效数据量判断单元92,用于判断该物理存储区域中是否存在有效数据的数量为零的存储数据块;
第一数据擦除单元93,用于当判断出所述物理存储区域中存在有效数据量为零的存储数据块时,擦除该物理存储区域中有效数据的数量为零的存储数据块中的全部数据。
在一个可选的实施方式中,该数据写入装置还包括:
有效数据读取单元,用于当判断出该物理存储区域中不存在有效数据的数量为零的存储数据块时,读取各所述物理存储区域的部分存储数据块中有效数据;
有效数据写入确定单元,用于将已读取的所述有效数据对应写入到读取该部分有效数据的存储数据块所在的物理存储区域的预留数据块中;
第二数据擦除单元,用于擦除已读取的各所述部分存储数据块中的全部数据。
在一个可选的实施方式中,所述有效数据读取单元具体用于:
分别确定各所述物理存储区域的各所述存储数据块中有效数据的数量最小的存储数据块,将其作为源存储数据块;
分别读取各所述源存储数据块中的有效数据。
在一个可选的实施方式中,该数据写入装置还包括:
有效数据数量判断单元,用于判断已读取的有效数据的总数量是否大于或等于写入数量阈值;
若是,则执行所述将已读取的所述有效数据对应写入到读取该部分有效数据的存储数据块所在的物理存储区域的预留数据块中的步骤;
若否,则执行所述读取各所述物理存储区域的部分存储数据块中有效数据的步骤。
与前述数据写入方法的实施例相对应,本发明提供的数据写入装置,当固态硬盘为满盘状态或者接近满盘状态时,当存在有效数据的数量为零的存储数据块时,清空该存储数据块,该存储数据块作为空白的数据块可重写写入数据,因此,不需要进行垃圾回收操作,各物理存储区域写入数据的速度一致,不影响数据的整体写入速度,数据的写入速度较快。
对于装置实施例而言,其中各个单元或子单元的功能和作用的实现过程具体详见上述方法中对应步骤的实现过程,在此不再赘述。
以上所描述的装置实施例仅仅是示意性的,其中所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,即可以位于一个地方,或者也可以分布到多个网络单元上;上述各单元可以合并为一个单元,也可以进一步拆分成多个子单元。
通过以上的实施方式的描述,本实施例的装置可借助软件的方式实现,或者软件加必需的通用硬件的方式来实现,当然也可以通过硬件实现。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,以软件实现为例,作为一个逻辑意义上的装置,是通过应用该装置的设备所在的处理器将非易失性存储器中对应的计算机程序指令读取到内存中运行形成的。
参见图10,本发明还提供一种固态硬盘的硬件架构图,该固态硬盘包括:通信接口101、处理器102、机器可读存储介质103、总线104和物理存储介质105;其中,通信接口101、处理器102、机器可读存储介质103和物理存储介质105通过总线104完成相互间的通信。处理器102通过读取并执行机器可读存储介质102中与数据写入方法的控制逻辑对应的机器可执行指令,可执行上文描述的数据写入方法,所述物理存储介质包括多个物理存储区域,每个物理存储区域包括多个数据块,多个数据块包括存储数据块和预留数据块。
本文中提到的机器可读存储介质103可以是任何电子、磁性、光学或其它物理存储装置,可以包含或存储信息,如可执行指令、数据,等等。例如,机器可读存储介质可以是:RAM(RadomAccess Memory,随机存取存储器)、易失存储器、非易失性存储器、闪存、存储驱动器(如硬盘驱动器)、任何类型的存储盘(如光盘、dvd等),或者类似的存储介质,或者它们的组合。
物理存储介质104可以为一个或多个非易失性存储介质,该非易失性存储介质例如为FLASH芯片或者DRAM芯片等。
本发明实施例还提供一种计算机可读存储介质,其上存储有计算机程序,所述程序被处理器执行时实现上述任一实施例所述方法。
本领域技术人员在考虑说明书及实践这里公开的公开后,将容易想到本发明的其它实施方案。本发明旨在涵盖本发明的任何变型、用途或者适应性变化,这些变型、用途或者适应性变化遵循本发明的一般性原理并包括本发明未公开的本技术领域中的公知常识或惯用技术手段。说明书和实施例仅被视为示例性的,本发明的真正范围和精神由权利要求指出。
Claims (12)
1.一种数据写入方法,应用于固态硬盘,其特征在于,所述固态硬盘包括多个物理存储区域,每个物理存储区域包括多个数据块,多个数据块包括存储数据块和预留数据块;该方法包括:
当所述物理存储区域中至少一个所述预留数据块全部写满数据时,确定该物理存储区域的各所述存储数据块中有效数据的数量大小;
判断该物理存储区域中是否存在有效数据的数量为零的存储数据块;
若是,擦除该物理存储区域中有效数据的数量为零的存储数据块中的全部数据。
2.根据权利要求1所述的方法,其特征在于,还包括:
若判断出该物理存储区域中不存在有效数据的数量为零的存储数据块时,读取各所述物理存储区域的部分存储数据块中有效数据;
将已读取的所述有效数据对应写入到读取该部分有效数据的存储数据块所在的物理存储区域的预留数据块中;
擦除已读取的各所述部分存储数据块中的全部数据。
3.根据权利要求2所述的方法,其特征在于,所述读取各所述物理存储区域的部分存储数据块中有效数据,包括:
分别确定各所述物理存储区域的各所述存储数据块中有效数据的数量最小的存储数据块,将其作为源存储数据块;
分别读取各所述源存储数据块中的有效数据。
4.根据权利要求3所述的方法,其特征在于,在所述将读取的所述有效数据对应写入到读取该部分有效数据的存储数据块所在的物理存储区域的预留数据块中,之前还包括:
判断已读取的有效数据的总数量是否大于或等于写入数量阈值;
若是,则执行所述将已读取的所述有效数据对应写入到读取该部分有效数据的存储数据块所在的物理存储区域的预留数据块中的步骤;
若否,则执行所述读取各所述物理存储区域的部分存储数据块中有效数据的步骤。
5.根据权利要求4所述的方法,其特征在于,所述分别读取各所述源存储数据块中的有效数据,包括:
以页为单位顺序的分别读取各所述源存储数据块中的每页数据;
判断读取的各页所述数据是否为有效数据;
若是,则执行所述判断已读取的有效数据的总数量是否大于或等于写入数量阈值的步骤;
若否,则执行上述所述的以页为单位顺序的分别读取各所述源存储数据块中的每页数据的步骤。
6.根据权利要求4所述的方法,其特征在于,所述将读取的所述有效数据对应写入到读取该部分有效数据的存储数据块所在的物理存储区域的预留数据块中,包括:
将已读取的所述有效数据对应写入读取该部分有效数据的存储数据块所在的存储芯片中的预留数据块的空白存储空间中,当该预留数据块的空白存储空间写满后,将剩余的部分有效数据写入到读取该部分有效数据的存储数据块所在的物理存储区域中的其他存储芯片的预留数据块中。
7.一种数据写入装置,应用于固态硬盘,其特征在于,所述固态硬盘包括多个物理存储区域,每个物理存储区域包括多个数据块,多个数据块包括存储数据块和预留数据块;该装置包括:
有效数据量确定单元,用于当所述物理存储区域中至少一个所述预留数据块全部写满数据时,确定该物理存储区域的各所述存储数据块中有效数据的数量大小;
有效数据量判断单元,用于判断该物理存储区域中是否存在有效数据的数量为零的存储数据块;
第一数据擦除单元,用于当判断出所述物理存储区域中存在有效数据量为零的存储数据块时,擦除该物理存储区域中有效数据的数量为零的存储数据块中的全部数据。
8.根据权利要求7所述的装置,其特征在于,还包括:
有效数据读取单元,用于当判断出该物理存储区域中不存在有效数据的数量为零的存储数据块时,读取各所述物理存储区域的部分存储数据块中有效数据;
有效数据写入确定单元,用于将已读取的所述有效数据对应写入到读取该部分有效数据的存储数据块所在的物理存储区域的预留数据块中;
第二数据擦除单元,用于擦除已读取的各所述部分存储数据块中的全部数据。
9.根据权利要求8所述的装置,其特征在于,所述有效数据读取单元具体用于:
分别确定各所述物理存储区域的各所述存储数据块中有效数据的数量最小的存储数据块,将其作为源存储数据块;
分别读取各所述源存储数据块中的有效数据。
10.根据权利要求9所述的装置,其特征在于,还包括:
有效数据数量判断单元,用于判断已读取的有效数据的总数量是否大于或等于写入数量阈值;
若是,则执行所述将已读取的所述有效数据对应写入到读取该部分有效数据的存储数据块所在的物理存储区域的预留数据块中的步骤;
若否,则执行所述读取各所述物理存储区域的部分存储数据块中有效数据的步骤。
11.一种固态硬盘,其特征在于,所述固态硬盘包括处理器、机器可读存储介质和物理存储介质,所述物理存储介质包括多个物理存储区域,每个物理存储区域包括多个数据块,多个数据块包括存储数据块和预留数据块,所述机器可读存储介质存储有能够被所述处理器执行的机器可执行指令,所述处理器被所述机器可执行指令促使执行如权利要求1至6任一项所述方法。
12.一种计算机可读存储介质,其上存储有计算机程序,其特征在于,所述程序被处理器执行时实现权利要求1-6任一项所述方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201810362066.3A CN110389712B (zh) | 2018-04-20 | 2018-04-20 | 数据写入方法及其装置、固态硬盘和计算机可读存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201810362066.3A CN110389712B (zh) | 2018-04-20 | 2018-04-20 | 数据写入方法及其装置、固态硬盘和计算机可读存储介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN110389712A CN110389712A (zh) | 2019-10-29 |
CN110389712B true CN110389712B (zh) | 2022-12-23 |
Family
ID=68284163
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201810362066.3A Active CN110389712B (zh) | 2018-04-20 | 2018-04-20 | 数据写入方法及其装置、固态硬盘和计算机可读存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN110389712B (zh) |
Families Citing this family (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111078137B (zh) * | 2019-11-07 | 2021-07-06 | 深圳市金泰克半导体有限公司 | 清理存储空间的方法 |
CN112162935B (zh) * | 2020-09-30 | 2021-06-08 | 深圳市时创意电子有限公司 | 存储芯片的数据处理方法、装置、计算机设备及存储介质 |
CN113468617A (zh) * | 2021-07-16 | 2021-10-01 | 浙江大华技术股份有限公司 | 一种设备掉电保护的方法、设备及存储介质 |
CN113867642B (zh) * | 2021-09-29 | 2023-08-04 | 杭州海康存储科技有限公司 | 数据处理方法、装置及存储设备 |
CN113891072B (zh) * | 2021-12-08 | 2022-02-11 | 北京拙河科技有限公司 | 基于亿级像素数据的视频监测与异常分析系统与方法 |
Family Cites Families (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101819509A (zh) * | 2010-04-19 | 2010-09-01 | 清华大学深圳研究生院 | 一种固态硬盘读写方法 |
US9330727B1 (en) * | 2013-12-30 | 2016-05-03 | Emc Corporation | Binding a data object to a rotational hard drive |
CN105808156B (zh) * | 2014-12-31 | 2020-04-28 | 华为技术有限公司 | 将数据写入固态硬盘的方法及固态硬盘 |
-
2018
- 2018-04-20 CN CN201810362066.3A patent/CN110389712B/zh active Active
Also Published As
Publication number | Publication date |
---|---|
CN110389712A (zh) | 2019-10-29 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN110389712B (zh) | 数据写入方法及其装置、固态硬盘和计算机可读存储介质 | |
EP2565792B1 (en) | Block management schemes in hybrid SLC/MLC memory | |
CN106708424B (zh) | 对用户数据执行选择性底层暴露映射的设备和方法 | |
US8909986B2 (en) | Data storing method for solid state drive to preserve data integrity after power failure | |
TWI446345B (zh) | 用來進行區塊管理之方法以及記憶裝置及控制器 | |
US10073771B2 (en) | Data storage method and system thereof | |
CN104484283B (zh) | 一种降低固态硬盘写放大的方法 | |
JP2019020788A (ja) | メモリシステムおよび制御方法 | |
JP6139711B2 (ja) | 情報処理装置 | |
US20140328127A1 (en) | Method of Managing Non-Volatile Memory and Non-Volatile Storage Device Using the Same | |
EP3752905A1 (en) | Append only streams for storing data on a solid state device | |
US20100318726A1 (en) | Memory system and memory system managing method | |
CN113986773A (zh) | 基于固态硬盘的写放大优化方法、装置及计算机设备 | |
KR20160139864A (ko) | 비휘발성 메모리 시스템 | |
US12130735B2 (en) | Data writing method and apparatus for flash memory-based system | |
US20130138910A1 (en) | Information Processing Apparatus and Write Control Method | |
US9304906B2 (en) | Memory system, controller and control method of memory | |
CN116795735B (zh) | 固态硬盘空间分配方法、装置、介质及系统 | |
JP6100927B2 (ja) | 情報処理装置 | |
WO2014185038A1 (ja) | 半導体記憶装置およびその制御方法 | |
TWI724550B (zh) | 資料儲存裝置以及非揮發式記憶體控制方法 | |
US10990520B2 (en) | Method for gabage collecting for non-volatile memory | |
CN112433889B (zh) | 基于ftl表的日志生成方法与装置 | |
RU2636107C1 (ru) | Способ записи данных на накопитель цифровой информации на базе flash-памяти типа nand | |
CN110688056A (zh) | Nvm组的存储介质替换 |
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 | ||
TA01 | Transfer of patent application right | ||
TA01 | Transfer of patent application right |
Effective date of registration: 20200317 Address after: 310051 room 307, floor B, building 2, No. 399, Danfeng Road, Binjiang District, Hangzhou City, Zhejiang Province Applicant after: Hangzhou Haikang Storage Technology Co.,Ltd. Address before: 430074 East Lake Development Zone, Wuhan City, Hubei Province, No. 1 Software Park, Guanshan Road, Phase 5, Building F4, Room 21, Room 01 Applicant before: WUHAN HIKSTORAGE TECHNOLOGY Co.,Ltd. |
|
GR01 | Patent grant | ||
GR01 | Patent grant |