CN107577619A - 一种数据写入、读取方法和装置 - Google Patents
一种数据写入、读取方法和装置 Download PDFInfo
- Publication number
- CN107577619A CN107577619A CN201710595541.7A CN201710595541A CN107577619A CN 107577619 A CN107577619 A CN 107577619A CN 201710595541 A CN201710595541 A CN 201710595541A CN 107577619 A CN107577619 A CN 107577619A
- Authority
- CN
- China
- Prior art keywords
- chained list
- data
- lpn
- page number
- logical page
- 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.)
- Pending
Links
Abstract
本发明实施例提供一种数据写入、读取方法和装置,涉及数据存储技术领域。其中,该方法包括:获取待写入3D闪存的数据和数据的逻辑页号,判断配置在二级存储器中的缓存链表中是否存在逻辑页号,若缓存链表中存在逻辑页号,则将数据更新在缓存链表中逻辑页号对应的位置,若缓存链表中不存在逻辑页号,则当缓存链表写满时,将缓存链表的表尾的数据移至3D闪存中,并将数据及数据的逻辑页号写入表头,当缓存链表未写满时,将数据及数据的逻辑页号写入缓存链表。通过将待写数据写入到缓存链表中,在缓存链表写满的情况下,再将数据写入到3D闪存的物理块中,可以减少对3D闪存的访问,避免由于3D闪存的温度升高造成的存储性能降低和存储可靠性降低的问题。
Description
技术领域
本发明属于数据存储技术领域,尤其涉及一种数据写入、读取方法和装置。
背景技术
目前,3D闪存主要采用电荷捕获闪存(Charge Trap Flash,简称CTF)技术和垂直堆叠制程技术。
CTF技术与传统的浮栅极技术的区别在于:CTF技术使用一层极薄的氮化硅薄膜来捕获电荷并储存电子。在CTF技术中,数据被临时存放在非传导层中一个由氮化硅组成的“单元格”中,并用绝缘的氮化硅薄膜来充当电子的隔离层。当需要读取数据时,对数据进行“解禁”,可以对储存流进行更好的控制。但是,CTF技术受温度的影响较大,高温条件下会造成电子的损耗。另外,芯片频繁的写入和擦除会使温度升高,进而加剧电子损耗,最终降低芯片的存储新能。
垂直堆叠制程技术制造的3D闪存使用垂直堆叠结构,其主要特点是在垂直方向是一个圆柱体结构,这样在进行频繁的擦除和读写后,3D闪存的温度升高,会使得圆柱体中顶部氧化层和底部氧化层电子分布不均匀导致电荷的损耗,进而降低3D闪存的存储性能。另外,由于3D闪存中的物理块呈垂直结构,水平方向上临近的是不同的物理块,在读数据进行读写操作时,对某一物理块中物理页的读写不仅存在相同物理块间的干扰,还存在不同物理块间的干扰,使得存储的数据差错率增加,重要数据的可靠性降低。
发明内容
本发明提供一种数据写入、读取方法和装置,旨在解决现有的3D闪存中,由于在频繁的擦除和读写后,使得3D闪存的温度升高,进而导致3D闪存存储性能降低的问题,以及在对数据进行读写时,由于临近的物理块之间相互干扰造成的数据存储的可靠性降低的问题。
本发明提供的一种数据写入方法,所述方法包括:
获取待写入3D闪存的数据和所述数据的逻辑页号;
判断配置在二级存储器中的缓存链表中是否存在所述逻辑页号;
若所述缓存链表中存在所述逻辑页号,则将所述数据更新在所述缓存链表中所述逻辑页号对应的位置;
若所述缓存链表中不存在所述逻辑页号,则当所述缓存链表写满时,将所述缓存链表的表尾的数据移至所述3D闪存中,并将所述数据及所述数据的逻辑页号写入所述表头,当所述缓存链表未写满时,将所述数据及所述数据的逻辑页号写入所述缓存链表。
本发明提供的一种数据读取方法,所述方法包括:
获取待读取数据的逻辑页号,并判断设置在二级存储器中的缓存链表中是否存在所述逻辑页号;
若是,则读取所述缓存链表中所述逻辑页号对应的数据;
若否,则根据所述逻辑页号在3D闪存的物理块中查找所述逻辑页号对应的数据并读取。
本发明提供的一种数据写入装置,所述装置包括:
获取模块,用于获取待写入3D闪存的数据和所述数据的逻辑页号;
判断模块,用于判断配置在二级存储器中的缓存链表中是否存在所述逻辑页号;
写入模块,用于若所述缓存链表中存在所述逻辑页号,则将所述数据更新在所述缓存链表中所述逻辑页号对应的位置;
所述写入模块,用于若所述缓存链表中不存在所述逻辑页号,则当所述缓存链表写满时,将所述缓存链表的表尾的数据移至所述3D闪存中,并将所述数据及所述数据的逻辑页号写入所述表头,当所述缓存链表未写满时,将所述数据及所述数据的逻辑页号写入所述缓存链表。
本发明提供的一种数据读取装置,所述装置包括:
获取模块,用于获取待读取数据的逻辑页号;
判断模块,用于判断设置在二级存储器中的缓存链表中是否存在所述逻辑页号;
读取模块,用于若所述二级存储器中的缓存链表中存在所述逻辑页号,则读取所述缓存链表中所述逻辑页号对应的数据;
所述读取模块,还用于若所述二级存储器中的缓存链表中存在所述逻辑页号,则根据所述逻辑页号在3D闪存的物理块中查找所述逻辑页号对应的数据并读取。
本发明提供的一种数据写入、读取方法和装置,通过将待写数据写入到缓存链表中,并在缓存链表写满的情况下,再将数据写入到3D闪存的物理块中,如此,可以极大的减少对3D闪存的访问,避免由于3D闪存的温度升高造成的存储性能降低的问题。此外,由于对3D闪存的访问量减少,还可以避免读取数据时临近的物理块间相互干扰造成的数据存储可靠性降低的问题。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例。
图1是本发明第一实施例提供的一种数据写入方法的实现流程示意图;
图2是本发明第二实施例提供的一种数据写入方法的实现流程示意图;
图3是本发明第三实施例提供的一种数据读取方法的实现流程示意图;
图4是本发明第四实施例提供的一种数据读取方法的实现流程示意图;
图5是本发明第五实施例提供的一种数据写入装置的结构示意图;
图6是本发明第六实施例提供的一种数据写入装置的结构示意图;
图7是本发明第七实施例和第八实施例提供的一种数据读取装置的结构示意图。
具体实施方式
为使得本发明的发明目的、特征、优点能够更加的明显和易懂,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而非全部实施例。基于本发明中的实施例,本领域技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
请参阅图1,图1为本发明第一实施例提供的数据写入方法的实现流程示意图,图1所示的数据写入方法主要包括以下步骤:
S101、获取待写入3D闪存的数据和该数据的逻辑页号;
逻辑页号为用于表示待写入3D闪存的数据的地址,通过逻辑页号可以在映射表中查找到数据待写入3D闪存的物理块号和物理页号。
S102、判断配置在二级存储器中的缓存链表中是否存在该逻辑页号;
二级存储器为非易失性存储器(Non Volatile Memory,NVM),可以为静态随机存取存储器(Static Random Access Memory,SRAM),动态随机存取存储器(Dynamic RandomAccess Memory,DRAM),数据方向寄存器(Data Direction Register,DDR)或同步动态随机存储器(Synchronous Dynamic Random Access Memory,SDRAM)等。逻辑页号表示待写入3D闪存的数据的地址,通过逻辑页号可以在映射表中查找到数据待写入3D闪存的物理块号和物理页号。
S103、若该缓存链表中存在该逻辑页号,则将该数据更新在该缓存链表中该逻辑页号对应的位置;
S104、若该缓存链表中不存在该逻辑页号,则当该缓存链表写满时,将该缓存链表的表尾的数据移至该3D闪存中,并将该数据及该数据的逻辑页号写入该表头,当该缓存链表未写满时,将该数据及该数据的逻辑页号写入该缓存链表。
缓存链表包括顺次排列的多个用于存储数据和数据的逻辑页号的单元,其中,每一个单元包括两个部分,一部分用于存储数据,另一部分用于存储该数据对应的逻辑页号。缓存链表可以为一个,也可以为多个。
本发明提供的一种数据写入方法,通过将待写数据写入到缓存链表中,并在缓存链表写满的情况下,再将数据写入到3D闪存的物理块中,如此,可以极大的减少对3D闪存的访问,避免由于3D闪存的温度升高造成的存储性能降低的问题。此外,由于对3D闪存的访问量减少,还可以避免读取数据时临近的物理块间相互干扰造成的数据存储可靠性降低的问题。
请参阅图2,图2为本发明第二实施例提供的数据写入方法的实现流程示意图,图2所示的数据写入方法主要包括以下步骤:
S201、获取待写入3D闪存的数据和该数据的逻辑页号;
逻辑页号表示待写入3D闪存的数据的地址,通过逻辑页号可以在映射表中查找到数据待写入3D闪存的物理块号和物理页号。
S202、判断一级缓存链表或二级缓存链表中是否存在该逻辑页号;
其中,一级缓存链表和二级缓存链表均为配置于3D闪存中的二级存储器中的缓存链表,即NVM中的链表,包括顺次排列的多个用于存储数据和数据的逻辑页号的单元,其中,每一个单元包括两个部分,一部分用于存储数据,另一部分用于存储该数据对应的逻辑页号。优选地,一级缓存链表存储数据的单元少于二级缓存链表存储数据的单元,在判断是否存在逻辑页号时先判断二级缓存链表中是否存在逻辑页号,若没有,则判断一级缓存链表中是否存在逻辑页号。需要说明的是,同一个逻辑页号不会同时存在一级缓存链表和二级缓存链表中。
S203、若该一级缓存链表存在该逻辑页号,则将该数据更新在该一级缓存链表中该逻辑页号对应的位置;
在实际应用中,数据更新后,记录逻辑页号对应的数据的更新次数。将该一级缓存链表中的该逻辑页号对应的数据更新为该待写数据之后,还包括:
判断该逻辑页号对应的数据是否为第二次写入;
若是第二次写入,将更新后的数据和该逻辑页号移至该二级缓存链表的表头。
一级缓存链表用于存放访问次数较多的数据,二级缓存链表用于存放访问次数较少的数据。在实际应用中,数据更新后,记录逻辑页号对应的数据的写入次数。若数据为第二次写入,即第二次获取逻辑页号对应的数据,则说明数据写入次数较少,将其移至二级缓存链表的表头,删除一级缓存链表中更新后的数据,可以使一级缓存链表存放更多写入次数较多的数据。若写入次数大于二次,则不作处理,即写入次数大于二次时,直接在一级缓存链表中更新即可。若写入次数为一次,则该数据在一级缓存链表中没有对应的逻辑号,则按照步骤S205-S207处理。需要说明的是,一级缓存链表存储的数据为更新后的数据和步骤S204中由二级链表的表头移入的数据。
S204、若该二级缓存链表存在该逻辑页号,则将该数据更新在该二级缓存链表中该逻辑页号对应的位置;
在实际应用中,数据更新后,记录逻辑页号对应的数据的写入次数。将该二级缓存链表中的该逻辑页号对应的数据更新为该待写数据之后,还包括:
判断更新后的数据是否位于该二级缓存链表的表头;
若更新后的数据位于该二级缓存链表的表头,则将该更新后的数据和该逻辑页号移至该一级缓存链表的表头;
若更新后的数据不是位于该二级缓存链表的表头,则将该更新后的数据和该逻辑页号移至该二级缓存链表的表头。
需要说明的是,一级缓存链表和二级缓存链表中顺次排列的多个单元中,由表头到表尾存储的数据的写入次数呈现降低的趋势。因此,若更新后的数据位于二级缓存链表的表头,说明该数据写入频繁,通过将二级缓存链表中的数据移至一级缓存链表中,可以将写入次数较多的数据向一级缓存链表转移,以便使一级缓存链表存储写入量最多的数据。由于一级缓存链表中存储数据的单元较少,可以快速的进行数据的读取和写入操作。同时,将数据插入到一级缓存链表的表头后,一级缓存链表中的数据顺序向表尾移动,直到写满整个一级缓存链表。若处于表尾的数据没有位置写入,则写入二级缓存链表的表头。二级缓存链表存储的数据为更新后的数据和步骤S203中由一级链表移入的数据。
同理,若更新后的数据没有位于二级缓存链表的表头,则将其插入到二级缓存链表的表头,使二级缓存链表形成由表头到表尾存储的数据的写入次数逐渐减少。同时,将数据插入到二级缓存链表的表头后,二级缓存链表中的数据由表头到表尾顺次移动,直到整个二级缓存链表被写满。
S205、若该一级缓存链表和该二级缓存链表中均不存在该逻辑页号,则判断该一级缓存链表是否写满;
S206、若该一级缓存链表已写满,则判断该二级缓存链表是否写满,并当该二级缓存链表已写满时,将该二级缓存链表的表尾的数据移至该3D闪存的物理块中,并将一级缓存链表的表尾的数据移至二级缓存链表的表头,并将数据和逻辑页号写入一级缓存链表的表头,以及当二级缓存链表未写满时,将一级缓存链表的表尾的数据移至二级缓存链表的表头,并将数据和逻辑页号写入一级缓存链表的表头;
若二级缓存链表未写满,则将数据及逻辑页号写入二级缓存链表的表头。在对数据进行写入操作时,优先将数据写入一级缓存链表和二级缓存链表,可以减少对3D闪存的写入,一方面可以避免对3D闪存频繁写入造成温度升高导致的存储性能降低的问题,另一方面,一级缓存链表和二级缓存链表为在3D闪存中配置的二级存储器中的缓存链表,可以对数据进行缓存,将数据写入其中,可以快速的对数据的写入和读取操作进行响应。需要说明的是,将数据及逻辑页号写入二级缓存链表的表头后,原来在表头的数据和逻辑页号顺延到表头的下一个单元,其它单元的数据和逻辑页号依次顺延。
进一步地,将该二级缓存链表的表尾的数据移至该3D闪存的物理块中,具体可通过以下步骤实现:
步骤一、根据该表尾的数据的逻辑页号,在预置的映射表中查找该逻辑页号该表尾的数据的逻辑块号,并判断预置的最近擦除链表中是否存在该逻辑块号。
步骤二、若最近擦除链表中不存在该逻辑块号,则将该表尾的数据写入到该3D闪存中逻辑块号对应的物理块中,并在该最近擦除链表中记录该逻辑块号对应的物理块的物理块号和擦除次数1。
最近的擦除链表用于记录3D闪存中进行过擦除操作的物理块的物理块号和擦除次数。若最近擦除链表中没有逻辑块号,则说明逻辑块号对应的物理块没有发生过擦除操作,将该数据写入到该逻辑块号对应的物理块中,并在最近擦除链表中记录该物理块的物理块号和擦除次数1。
步骤三、若最近擦除链表中存在该逻辑块号,则判断该逻辑块号对应的物理块的擦除次数是否大于预置的擦除次数。
步骤四、若大于预置的擦除次数,则将该表尾的数据写入该3D闪存中的预置的空闲链表中擦除次数最少物理块。
若该逻辑块号对应的物理块的擦除次数不大于预置的擦除次数,则将表尾的数据写入逻辑块号对应的物理块中。空闲链表用于记录没有写入数据的物理块的物理块号、物理块的擦除次数和物理块被选择写入数据的次数。进一步地,将该表尾的数据写入该3D闪存中的预置的空闲链表中擦除次数最少的物理块,具体包括:
若逻辑块号对应的物理块的擦除次数大于预置的擦除次数,则判断空闲链表中是否存在空闲的物理块;若存在空闲的物理块,则将该表尾的数据写入擦除次数最少的且被选择写入数据的次数最少的物理块;若不存在空闲的物理块,则在预置的等待链表中选择擦除次数最少的物理块的物理块号加入到空闲链表中,并将该表尾的数据写入空闲链表中擦除次数最少的物理块。
等待链表用于记录最近擦除次数大于预置的擦除次数的物理块号和物理块的擦除次数。通过等待链表可以均衡写入的物理块的擦除次数,不会出现擦除次数剧增的情况。在实际应用中,判断该逻辑块号对应的物理块的擦除次数是否大于预置的擦除次数之后,还包括:若小于预置的擦除次数,则将数据写入物理块中,并更新物理块的擦除次数。通过上述方法,将数据写入到3D闪存的物理块之前,选择没有进行过擦除操作或擦除次数较少的物理块进行写入,可以均衡3D闪存中物理块的擦除次数,避免由于某个物理块的擦除次数过多发生失效导致数据的可靠性下降的问题。
S207、若该一级缓存链表未写满,则将该数据和该逻辑页号写入该一级缓存链表中的表头。
通过上述方法,可以按照从表头到表尾的顺序,将写入次数最多的数据存储于一级缓存链表中,以及按照表头到表尾的顺序,将写入次数较多的数据存储于二级缓存链表中,以便减少对3D闪存中物理块的写入次数。
本发明实施例提供的一种数据写入方法,通过将待写数据写入到缓存链表中,并在缓存链表写满的情况下,再将待写数据写入到3D闪存的物理块中,如此,可以极大的减少对3D闪存的访问,避免由于3D闪存的温度升高造成的存储性能降低的问题。此外,由于对3D闪存的访问量减少,还可以避免读取数据时临近的物理块间相互干扰造成的数据存储可靠性降低的问题。
请参阅图3,图3为本发明第三实施例提供的数据读取方法的实现流程示意图,图3所示的数据读取方法主要包括以下步骤:
S301、获取待读取数据的逻辑页号,并判断设置在二级存储器中的缓存链表中是否存在该逻辑页号;
逻辑页号为用于表示待写入3D闪存的数据的地址,通过逻辑页号可以在映射表中查找到数据待写入3D闪存的物理块号和物理页号。
S302、若缓存链表中存在该逻辑页号,则读取该缓存链表中该逻辑页号对应的数据;
缓存链表包括顺次排列的多个用于存储数据和数据的逻辑页号的单元,其中,每一个单元包括两个部分,一部分用于存储数据,另一部分用于存储该数据对应的逻辑页号。缓存链表可以为一个,也可以为多个。
S303、若缓存链表中不存在该逻辑页号,则根据该逻辑页号在3D闪存的物理块中查找该逻辑页号对应的数据并读取。
本发明实施例提供的一种数据读取方法,读取数据时,先通过缓存链表读取,如此,可以极大的减少对3D闪存的访问,避免由于3D闪存的温度升高造成的存储性能降低的问题。此外,由于对3D闪存的访问量减少,还可以避免读取数据时临近的物理块间相互干扰造成的数据存储可靠性降低的问题。
请参阅图4,图4为本发明第四实施例提供的数据读取方法的实现流程示意图,图4所示的数据读取方法主要包括以下步骤:
S401、获取待读取数据的逻辑页号;
逻辑页号为用于表示待写入3D闪存的数据的地址,通过逻辑页号可以在映射表中查找到数据待写入3D闪存的物理块号和物理页号。
S402、判断一级缓存链表或二级缓存链表中是否存在所述逻辑页号;
本发明实施例中缓存链表包括:一级缓存链表和二级缓存链表,二者预置于二级存储器中。一级缓存链表存储的额数据为更新次数最多的数据,由于空间局部效应,更新次数越多的数据,被访问的概率也最大,因此,数据在一级缓存链表中出现的概率大,所以先判断一级缓存链表中是否存在该逻辑页号。
S403、若该一级缓存链表中存在该逻辑页号,读取该一级缓存链表中该逻辑页号对应的数据;
S404、若该二级缓存链表中存在该逻辑页号,读取该二级缓存链表中该逻辑页号对应的数据;
S405、若该一级缓存链表中和该二级缓存链表中均不存在该逻辑页号,根据该逻辑页号在该3D闪存的物理块中查找该逻辑页号对应的数据并读取。
由于二级缓存链表存储的数据的更新次数少于一级缓存链表,当一级缓存链表不存在逻辑页号时,对二级缓存链表进行判断,当二级缓存链表不存在逻辑页号时,在3D闪存的物理块查找。读取数据时,通过先判断一级缓存链表和二级缓存链表中逻辑页号是否存在,可以减少对3D闪存的物理块的读取次数,避免由于读取次数频繁使得3D闪存的温度升高造成存储性能降低的问题。
本发明实施例提供的一种数据读取方法,读取数据时,先通过缓存链表读取,如此,可以极大的减少对3D闪存的访问,避免由于3D闪存的温度升高造成的存储性能降低的问题。此外,由于对3D闪存的访问量减少,还可以避免读取数据时临近的物理块间相互干扰造成的数据存储可靠性降低的问题。
请参阅图5,图5是本发明第五实施例提供的一种数据写入装置的结构示意图,为了便于说明,仅示出了与本发明实施例相关的部分。图5示例的数据写入装置可以是前述图1和图2所示实施例提供的数据写入方法的执行主体,或者还可以是该执行主体中的一个功能模块。图5示例的数据写入装置,主要包括:获取模块501、判断模块502和写入模块503。以上各功能模块详细说明如下:
获取模块501,用于获取待写入3D闪存的数据和该数据的逻辑页号。
判断模块502,用于判断配置在二级存储器中的缓存链表中是否存在该逻辑页号。
写入模块503,用于若该缓存链表中存在该逻辑页号,则将该数据更新在该缓存链表中该逻辑页号对应的位置。
写入模块503,还用于若该缓存链表中不存在该逻辑页号,则当该缓存链表写满时,将该缓存链表的表尾的数据移至该3D闪存中,并将该数据及该数据的逻辑页号写入该表头,当该缓存链表未写满时,将该数据及该数据的逻辑页号写入该缓存链表。
上述各模块实现各自功能的方法,具体可参考前述图1所示第一实施例提供的数据写入方法,此处不再赘述。
本发明实施例提供的一种数据写入装置,通过将待写数据写入到缓存链表中,并在缓存链表写满的情况下,再将待写数据写入到3D闪存的物理块中,如此,可以极大的减少对3D闪存的访问,避免由于3D闪存的温度升高造成的存储性能降低的问题。此外,由于对3D闪存的访问量减少,还可以避免读取数据时临近的物理块间相互干扰造成的数据存储可靠性降低的问题。
请参阅图6,图6是本发明第六实施例提供的一种数据写入装置的结构示意图,为了便于说明,仅示出了与本发明实施例相关的部分。图6示例的数据写入装置可以是前述图1和图2所示实施例提供的数据写入方法的执行主体,或者还可以是该执行主体中的一个功能模块。图6示例的数据写入装置,主要包括:获取模块601、判断模块602和写入模块603,其中,写入模块603包括:写入判断模块613和数据写入模块623,其中,数据写入模块623包括:查找模块6231、逻辑判断模块6232、逻辑写入模块6233和记录模块6234。以上各功能模块详细说明如下:
获取模块601,用于获取待写入3D闪存的数据和该数据的逻辑页号。
判断模块602,用于判断配置在二级存储器中的缓存链表中是否存在该逻辑页号。
写入模块603,用于若该缓存链表中存在该逻辑页号,则将该数据更新在该缓存链表中该逻辑页号对应的位置。
写入模块603,还用于若该缓存链表中不存在该逻辑页号,则当该缓存链表写满时,将该缓存链表的表尾的数据移至该3D闪存中,并将该数据及该数据的逻辑页号写入该表头,当该缓存链表未写满时,将该数据及该数据的逻辑页号写入该缓存链表。
进一步地,
缓存链表包括:一级缓存链表和二级缓存链表。
判断模块602,还用于判断该一级缓存链表或该二级缓存链表中是否存在该逻辑页号。
写入模块603,还用于若该一级缓存链表存在该逻辑页号,则将该数据更新在该一级缓存链表中该逻辑页号对应的位置。
写入模块603,还用于若该二级缓存链表存在该逻辑页号,则将该数据更新在该二级缓存链表中该逻辑页号对应的位置。
进一步地,
判断模块602,还用于判断逻辑页号对应的数据是否为第二次写入。
写入模块603,还用于若是,则将更新后的数据和该逻辑页号移至该二级缓存链表的表头。
进一步地,
判断模块602,还用于判断更新后的数据是否位于该二级缓存链表的表头。
写入模块603,还用于若是,则将该更新后的数据和该逻辑页号移至该一级缓存链表的表头。
写入模块603,还用于若否,则将该更新后的数据和该逻辑页号移至该二级缓存链表的表头。
进一步地,
写入模块603包括:
写入判断模块613,用于若该一级缓存链表和该二级缓存链表中均不存在该逻辑页号,则判断该一级缓存链表是否写满。
写入判断模块613,还用于若该一级缓存链表已写满,则判断该二级缓存链表是否写满。
数据写入模块623,用于当该二级缓存链表已写满时,将该二级缓存链表的表尾的数据移至该3D闪存的物理块中,并将一级缓存链表的表尾的数据移至二级缓存链表的表头,并将数据和逻辑页号写入一级缓存链表的表头,以及当二级缓存链表未写满时,将一级缓存链表的表尾的数据移至二级缓存链表的表头,并将数据和逻辑页号写入一级缓存链表的表头。
数据写入模块623,还用于若该一级缓存链表未写满,则将该数据和该逻辑页号写入该一级缓存链表中的表头。
进一步地,
数据写入模块623包括:
查找模块6231,用于根据该表尾的数据的逻辑页号,在预置的映射表中查找该表尾的数据的逻辑块号。
逻辑判断模块6232,用于并判断预置的最近擦除链表中是否存在该逻辑块号。
该映射表及该最近擦除链表预置在该3D闪存中。
逻辑写入模块6233,用于若否,则将该表尾的数据写入到该3D闪存中该逻辑块号对应的物理块中。
记录模块6234,用于在该最近擦除链表中记录该逻辑块号对应的物理块的物理块号和擦除次数1。
逻辑判断模块6232,还用于若是,则判断该逻辑块号对应的物理块的擦除次数是否大于预置的擦除次数。
逻辑写入模块6233,还用于若大于,则将该表尾的数据写入该3D闪存中的预置的空闲链表中擦除次数最少的物理块。
上述各模块实现各自功能的方法,具体可参考前述图2所示第二实施例提供的数据写入方法,此处不再赘述。
本发明实施例提供的一种数据写入装置,通过将待写数据写入到缓存链表中,并在缓存链表写满的情况下,再将待写数据写入到3D闪存的物理块中,如此,可以极大的减少对3D闪存的访问,避免由于3D闪存的温度升高造成的存储性能降低的问题。此外,由于对3D闪存的访问量减少,还可以避免读取数据时临近的物理块间相互干扰造成的数据存储可靠性降低的问题。
请参阅图7,图7是本发明第七实施例提供的一种数据读取装置的结构示意图,为了便于说明,仅示出了与本发明实施例相关的部分。图7示例的数据读取装置可以是前述图3和图4所示实施例提供的数据读取方法的执行主体,或者还可以是该执行主体中的一个功能模块。图7示例的数据读取装置,主要包括:获取模块701、判断模块702和读取模块703。以上各功能模块详细说明如下:
获取模块701,用于获取待读取数据的逻辑页号。
判断模块702,用于判断设置在二级存储器中的缓存链表中是否存在该逻辑页号。
读取模块703,用于若该二级存储器中的缓存链表中存在该逻辑页号,则读取该缓存链表中该逻辑页号对应的数据。
读取模块703,还用于若该二级存储器中的缓存链表中存在该逻辑页号,则根据该逻辑页号在3D闪存的物理块中查找该逻辑页号对应的数据并读取。
上述各模块实现各自功能的方法,具体可参考前述图3所示第三实施例提供的数据读取方法,此处不再赘述。
本发明实施例提供的一种数据读取方法,读取数据时,先通过缓存链表读取,如此,可以极大的减少对3D闪存的访问,避免由于3D闪存的温度升高造成的存储性能降低的问题。此外,由于对3D闪存的访问量减少,还可以避免读取数据时临近的物理块间相互干扰造成的数据存储可靠性降低的问题。
请继续参阅图7,图7是本发明第八实施例提供的一种数据读取装置的结构示意图,为了便于说明,仅示出了与本发明实施例相关的部分。图7示例的数据读取装置可以是前述图3和图4所示实施例提供的数据读取方法的执行主体,或者还可以是该执行主体中的一个功能模块。图7示例的数据读取装置,主要包括:获取模块701、判断模块702和读取模块703。以上各功能模块详细说明如下:
获取模块701,用于获取待读取数据的逻辑页号。
判断模块702,用于判断设置于二级存储器中的缓存链表中是否存在该逻辑页号。
读取模块703,用于若是,则读取该缓存链表中该逻辑页号对应的数据。
读取模块703,还用于若否,则根据该逻辑页号在3D闪存的物理块中查找该逻辑页号对应的数据并读取。
进一步地,
缓存链表包括:一级缓存链表和二级缓存链表。
判断模块702,还用于判断该一级缓存链表或该二级缓存链表中是否存在该逻辑页号。
读取模块703,还用于若该一级缓存链表中存在该逻辑页号,则读取该一级缓存链表中该逻辑页号对应的数据。
读取模块703,还用于若该二级缓存链表中存在该逻辑页号,则读取该二级缓存链表中该逻辑页号对应的数据。
读取模块703,还用于若该一级缓存链表和该二级缓存链表中均不存在该逻辑页号,则根据该逻辑页号在该3D闪存的物理块中查找该逻辑页号对应的数据并读取。
上述各模块实现各自功能的方法,具体可参考前述图4所示第四实施例提供的数据读取方法,此处不再赘述。
本发明实施例提供的一种数据读取方法,读取数据时,先通过缓存链表读取,如此,可以极大的减少对3D闪存的访问,避免由于3D闪存的温度升高造成的存储性能降低的问题。此外,由于对3D闪存的访问量减少,还可以避免读取数据时临近的物理块间相互干扰造成的数据存储可靠性降低的问题。
在本申请所提供的多个实施例中,应该理解到,所揭露的系统、装置和方法,可以通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的,例如,所述模块的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个模块或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信链接可以是通过一些接口,装置或模块的间接耦合或通信链接,可以是电性,机械或其它的形式。
所述作为分离部件说明的模块可以是或者也可以不是物理上分开的,作为模块显示的部件可以是或者也可以不是物理模块,即可以位于一个地方,或者也可以分布到多个网络模块上。可以根据实际的需要选择其中的部分或者全部模块来实现本实施例方案的目的。
另外,在本发明各个实施例中的各功能模块可以集成在一个处理模块中,也可以是各个模块单独物理存在,也可以两个或两个以上模块集成在一个模块中。上述集成的模块既可以采用硬件的形式实现,也可以采用软件功能模块的形式实现。
所述集成的模块如果以软件功能模块的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的全部或部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本发明各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(ROM,Read-OnlyMemory)、随机存取存储器(RAM,Random Access Memory)、磁碟或者光盘等各种可以存储程序代码的介质。
需要说明的是,对于前述的各方法实施例,为了简便描述,故将其都表述为一系列的动作组合,但是本领域技术人员应该知悉,本发明并不受所描述的动作顺序的限制,因为依据本发明,某些步骤可以采用其它顺序或者同时进行。其次,本领域技术人员也应该知悉,说明书中所描述的实施例均属于优选实施例,所涉及的动作和模块并不一定都是本发明所必须的。
在上述实施例中,对各个实施例的描述都各有侧重,某个实施例中没有详述的部分,可以参见其它实施例的相关描述。
以上为对本发明所提供的数据写入、读取方法和装置的描述,对于本领域的技术人员,依据本发明实施例的思想,在具体实施方式及应用范围上均会有改变之处,综上,本说明书内容不应理解为对本发明的限制。
Claims (16)
1.一种数据写入方法,其特征在于,所述方法包括:
获取待写入3D闪存的数据和所述数据的逻辑页号;
判断配置在二级存储器中的缓存链表中是否存在所述逻辑页号;
若所述缓存链表中存在所述逻辑页号,则将所述数据更新在所述缓存链表中所述逻辑页号对应的位置;
若所述缓存链表中不存在所述逻辑页号,则当所述缓存链表写满时,将所述缓存链表的表尾的数据移至所述3D闪存中,并将所述数据及所述数据的逻辑页号写入所述表头,当所述缓存链表未写满时,将所述数据及所述数据的逻辑页号写入所述缓存链表。
2.根据权利要求1所述的方法,其特征在于,所述缓存链表包括一级缓存链表和二级缓存链表,则所述判断配置在二级存储器中的缓存链表中是否存在所述逻辑页号,具体包括:
判断所述一级缓存链表或所述二级缓存链表中是否存在所述逻辑页号;
所述若所述缓存链表中存在所述逻辑页号,则将所述数据更新在所述缓存链表中所述逻辑页号对应的位置,具体包括:
若所述一级缓存链表存在所述逻辑页号,则将所述数据更新在所述一级缓存链表中所述逻辑页号对应的位置;
若所述二级缓存链表存在所述逻辑页号,则将所述数据更新在所述二级缓存链表中所述逻辑页号对应的位置。
3.根据权利要求2所述的方法,其特征在于,所述将所述数据更新在所述一级缓存链表中所述逻辑页号对应的位置之后,还包括:
判断所述逻辑页号对应的数据是否为第二次写入;
若是,则将更新后的数据和所述逻辑页号移至所述二级缓存链表的表头。
4.根据权利要求3所述的方法,其特征在于,所述将所述数据更新在所述二级缓存链表中所述逻辑页号对应的位置之后,还包括:
判断更新后的数据是否位于所述二级缓存链表的表头;
若是,则将所述更新后的数据和所述逻辑页号移至所述一级缓存链表的表头;
若否,则将所述更新后的数据和所述逻辑页号移至所述二级缓存链表的表头。
5.根据权利要求2所述的方法,其特征在于,所述若所述缓存链表中不存在所述逻辑页号,则当所述缓存链表写满时,将所述缓存链表的表尾的数据移至所述3D闪存中,并将所述数据及所述数据的逻辑页号写入所述表尾,当所述缓存链表未写满时,将所述数据及所述数据的逻辑页号写入所述缓存链表,具体包括:
若所述一级缓存链表和所述二级缓存链表中均不存在所述逻辑页号,则判断所述一级缓存链表是否写满;
若所述一级缓存链表已写满,则判断所述二级缓存链表是否写满,并当所述二级缓存链表已写满时,将所述二级缓存链表的表尾的数据移至所述3D闪存的物理块中,将所述一级缓存链表的表尾的数据移至所述二级缓存链表的表头,并将所述数据和所述逻辑页号写入所述一级缓存链表的表头,以及当所述二级缓存链表未写满时,将所述一级缓存链表的表尾的数据移至所述二级缓存链表的表头,并将所述数据和所述逻辑页号写入所述一级缓存链表的表头;
若所述一级缓存链表未写满,则将所述数据和所述逻辑页号写入所述一级缓存链表中的表头。
6.根据权利要求5所述的方法,其特征在于,所述将所述二级缓存链表的表尾的数据移至所述3D闪存的物理块中,具体包括:
根据所述表尾的数据的逻辑页号,在预置的映射表中查找所述表尾的数据的逻辑块号,并判断预置的最近擦除链表中是否存在所述逻辑块号,所述映射表及所述最近擦除链表预置在所述3D闪存中;
若否,则将所述表尾的数据写入到所述3D闪存中所述逻辑块号对应的物理块中,并在所述最近擦除链表中记录所述逻辑块号对应的物理块的物理块号和擦除次数1;
若是,则判断所述逻辑块号对应的物理块的擦除次数是否大于预置的擦除次数;
若大于,则将所述表尾的数据写入所述3D闪存中的预置的空闲链表中擦除次数最少的物理块。
7.一种数据读取方法,其特征在于,所述方法包括:
获取待读取数据的逻辑页号,并判断设置在二级存储器中的缓存链表中是否存在所述逻辑页号;
若是,则读取所述缓存链表中所述逻辑页号对应的数据;
若否,则根据所述逻辑页号在3D闪存的物理块中查找所述逻辑页号对应的数据并读取。
8.根据权利要求7所述的方法,其特征在于,所述缓存链表包括一级缓存链表和二级缓存链表,则所述判断设置在二级存储器中的缓存链表中是否存在所述逻辑页号,具体包括:
判断所述一级缓存链表中或所述二级缓存链表中是否存在所述逻辑页号;
则所述若是,则读取所述缓存链表中所述逻辑页号对应的数据,具体包括:
若所述一级缓存链表中存在所述逻辑页号,则读取所述一级缓存链表中所述逻辑页号对应的数据;
若所述二级缓存链表中存在所述逻辑页号,则读取所述二级缓存链表中所述逻辑页号对应的数据;
所述若否,则根据所述逻辑页号在3D闪存的物理块中查找所述逻辑页号对应的数据并读取,具体包括:
若所述一级缓存链表中和所述二级缓存链表中均不存在所述逻辑页号,则根据所述逻辑页号在所述3D闪存的物理块中查找所述逻辑页号对应的数据并读取。
9.一种数据写入装置,其特征在于,所述装置包括:
获取模块,用于获取待写入3D闪存的数据和所述数据的逻辑页号;
判断模块,用于判断配置在二级存储器中的缓存链表中是否存在所述逻辑页号;
写入模块,用于若所述缓存链表中存在所述逻辑页号,则将所述数据更新在所述缓存链表中所述逻辑页号对应的位置;
所述写入模块,还用于若所述缓存链表中不存在所述逻辑页号,则当所述缓存链表写满时,将所述缓存链表的表尾的数据移至所述3D闪存中,并将所述数据及所述数据的逻辑页号写入所述表头,当所述缓存链表未写满时,将所述数据及所述数据的逻辑页号写入所述缓存链表。
10.根据权利要求9所述的装置,其特征在于,所述缓存链表包括一级缓存链表和二级缓存链表,
所述判断模块,还用于判断所述一级缓存链表或所述二级缓存链表中是否存在所述逻辑页号;
所述写入模块,还用于若所述一级缓存链表存在所述逻辑页号,则将所述数据更新在所述一级缓存链表中所述逻辑页号对应的位置;
所述写入模块,还用于若所述二级缓存链表存在所述逻辑页号,则将所述数据更新在所述二级缓存链表中所述逻辑页号对应的位置。
11.根据权利要求9所述的装置,其特征在于,
所述判断模块,还用于判断所述逻辑页号对应的数据是否为第二次写入;
所述写入模块,还用于若是,则将更新后的数据和所述逻辑页号移至所述二级缓存链表的表头。
12.根据权利要求11所述的装置,其特征在于,
所述判断模块,还用于判断更新后的数据是否位于所述二级缓存链表的表头;
所述写入模块,还用于若是,则将所述更新后的数据和所述逻辑页号移至所述一级缓存链表的表头;
所述写入模块,还用于若否,则将所述更新后的数据和所述逻辑页号移至所述二级缓存链表的表头。
13.根据权利要求10所述的装置,其特征在于,所述写入模块包括:
写入判断模块,用于若所述一级缓存链表和所述二级缓存链表中均不存在所述逻辑页号,则判断所述一级缓存链表是否写满;
所述写入判断模块,还用于若所述一级缓存链表已写满,则判断所述二级缓存链表是否写满;
数据写入模块,用于当所述二级缓存链表已写满时,将所述二级缓存链表的表尾的数据移至所述3D闪存的物理块中,将所述一级缓存链表的表尾的数据移至所述二级缓存链表的表头,并将所述数据和所述逻辑页号写入所述一级缓存链表的表头,以及当所述二级缓存链表未写满时,将所述一级缓存链表的表尾的数据移至所述二级缓存链表的表头,并将所述数据和所述逻辑页号写入所述一级缓存链表的表头;
所述数据写入模块,还用于若所述一级缓存链表未写满,则将所述数据和所述逻辑页号写入所述一级缓存链表中的表头。
14.根据权利要求13所述的装置,其特征在于,所述数据写入模块包括:
查找模块,用于根据所述表尾的数据的逻辑页号,在预置的映射表中查找所述表尾的数据的逻辑块号;
逻辑判断模块,用于并判断预置的最近擦除链表中是否存在所述逻辑块号,所述映射表及所述最近擦除链表预置在所述3D闪存中;
逻辑写入模块,用于若否,则将所述表尾的数据写入到所述3D闪存中所述逻辑块号对应的物理块中;
记录模块,用于在所述最近擦除链表中记录所述逻辑块号对应的物理块的物理块号和擦除次数1;
所述逻辑判断模块,还用于若是,则判断所述逻辑块号对应的物理块的擦除次数是否大于预置的擦除次数;
所述逻辑写入模块,还用于若大于,则将所述表尾的数据写入所述3D闪存中的预置的空闲链表中擦除次数最少的物理块。
15.一种数据读取装置,其特征在于,所述装置包括:
获取模块,用于获取待读取数据的逻辑页号;
判断模块,用于判断设置在二级存储器中的缓存链表中是否存在所述逻辑页号;
读取模块,用于若所述二级存储器中的缓存链表中存在所述逻辑页号,则读取所述缓存链表中所述逻辑页号对应的数据;
所述读取模块,还用于若所述二级存储器中的缓存链表中不存在所述逻辑页号,则根据所述逻辑页号在3D闪存的物理块中查找所述逻辑页号对应的数据并读取。
16.根据权利要求15所述的装置,其特征在于,所述缓存链表包括一级缓存链表和二级缓存链表,
则所述判断模块,还用于判断所述一级缓存链表中或所述二级缓存链表中是否存在所述逻辑页号;
则所述读取模块,还用于若所述一级缓存链表中存在所述逻辑页号,则读取所述一级缓存链表中所述逻辑页号对应的数据;
所述读取模块,还用于若所述二级缓存链表中存在所述逻辑页号,则读取所述二级缓存链表中所述逻辑页号对应的数据;
则所述读取模块,还用于若所述一级缓存链表中和所述二级缓存链表中均不存在所述逻辑页号,则根据所述逻辑页号在所述3D闪存的物理块中查找所述逻辑页号对应的数据并读取。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201710595541.7A CN107577619A (zh) | 2017-07-20 | 2017-07-20 | 一种数据写入、读取方法和装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201710595541.7A CN107577619A (zh) | 2017-07-20 | 2017-07-20 | 一种数据写入、读取方法和装置 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN107577619A true CN107577619A (zh) | 2018-01-12 |
Family
ID=61049109
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201710595541.7A Pending CN107577619A (zh) | 2017-07-20 | 2017-07-20 | 一种数据写入、读取方法和装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN107577619A (zh) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN108920096A (zh) * | 2018-06-06 | 2018-11-30 | 深圳忆联信息系统有限公司 | 一种ssd的数据储存方法、装置、计算机设备及存储介质 |
CN110750467A (zh) * | 2019-10-22 | 2020-02-04 | 深圳芯邦科技股份有限公司 | 一种Nand Flash中干扰页的检测方法、系统 |
Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103226530A (zh) * | 2012-01-31 | 2013-07-31 | 上海华虹集成电路有限责任公司 | 与非型闪存Nandflash控制器 |
CN103984736A (zh) * | 2014-05-21 | 2014-08-13 | 西安交通大学 | 一种高效的nand闪存数据库系统的缓存管理方法 |
CN106021124A (zh) * | 2016-05-09 | 2016-10-12 | 深圳大学 | 一种数据的存储方法及存储系统 |
CN106445740A (zh) * | 2016-09-22 | 2017-02-22 | 深圳市先天海量信息技术有限公司 | 固态硬盘中nand闪存数据的控制方法及控制系统 |
CN106528454A (zh) * | 2016-11-04 | 2017-03-22 | 中国人民解放军国防科学技术大学 | 一种基于闪存的内存系统缓存机制 |
CN106815152A (zh) * | 2016-12-27 | 2017-06-09 | 华中科技大学 | 一种优化页级闪存转换层的方法 |
-
2017
- 2017-07-20 CN CN201710595541.7A patent/CN107577619A/zh active Pending
Patent Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103226530A (zh) * | 2012-01-31 | 2013-07-31 | 上海华虹集成电路有限责任公司 | 与非型闪存Nandflash控制器 |
CN103984736A (zh) * | 2014-05-21 | 2014-08-13 | 西安交通大学 | 一种高效的nand闪存数据库系统的缓存管理方法 |
CN106021124A (zh) * | 2016-05-09 | 2016-10-12 | 深圳大学 | 一种数据的存储方法及存储系统 |
CN106445740A (zh) * | 2016-09-22 | 2017-02-22 | 深圳市先天海量信息技术有限公司 | 固态硬盘中nand闪存数据的控制方法及控制系统 |
CN106528454A (zh) * | 2016-11-04 | 2017-03-22 | 中国人民解放军国防科学技术大学 | 一种基于闪存的内存系统缓存机制 |
CN106815152A (zh) * | 2016-12-27 | 2017-06-09 | 华中科技大学 | 一种优化页级闪存转换层的方法 |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN108920096A (zh) * | 2018-06-06 | 2018-11-30 | 深圳忆联信息系统有限公司 | 一种ssd的数据储存方法、装置、计算机设备及存储介质 |
CN110750467A (zh) * | 2019-10-22 | 2020-02-04 | 深圳芯邦科技股份有限公司 | 一种Nand Flash中干扰页的检测方法、系统 |
CN110750467B (zh) * | 2019-10-22 | 2021-11-02 | 深圳芯邦科技股份有限公司 | 一种Nand Flash中干扰页的检测方法、系统 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN105653591B (zh) | 一种工业实时数据分级存储及迁移方法 | |
US20140089564A1 (en) | Method of data collection in a non-volatile memory | |
US20170336983A1 (en) | Server device including cache memory and method of operating the same | |
CN109800185B (zh) | 一种数据存储系统中的数据缓存方法 | |
US20100332922A1 (en) | Method for managing device and solid state disk drive utilizing the same | |
CN103838853B (zh) | 一种基于不同存储介质的混合文件系统 | |
US10120588B2 (en) | Sliding-window multi-class striping | |
CN110413199A (zh) | 管理存储系统的方法、设备和计算机程序产品 | |
CN105787012B (zh) | 一种提高存储系统处理小文件的方法以及存储系统 | |
CN107423229B (zh) | 一种面向页级ftl的缓冲区改进方法 | |
CN107368257B (zh) | 固态存储器中的数据巡检方法及装置 | |
CN105278875B (zh) | 一种混合异构nand固态硬盘 | |
CN108829346A (zh) | 一种适应闪存页差异的固态硬盘的用户写请求处理方法 | |
CN107577619A (zh) | 一种数据写入、读取方法和装置 | |
CN105975215A (zh) | 一种基于Ondemand算法的STL映射表管理方法 | |
CN106527987A (zh) | 一种不带dram的ssd主控可靠性提升系统及方法 | |
CN112394874A (zh) | 一种键值kv的存储方法、装置及存储设备 | |
CN109324979A (zh) | 3d闪存固态盘系统的数据缓存划分方法及数据分配方法 | |
CN110442533A (zh) | 一种提高访问性能的方法、设备及存储介质 | |
WO2017176860A1 (en) | 3d stackable hybrid phase change memory with improved endurance and non-volatility | |
CN109582222B (zh) | 一种主机感知瓦记录磁盘中持久缓存的清理方法 | |
CN114676072A (zh) | 数据处理方法以及装置 | |
KR20200145151A (ko) | 맵핑 정보를 축약하는 플래시 변환 계층 구조를 이용하여 메모리 리소스를 관리하는 데이터 저장 장치 | |
KR101070511B1 (ko) | Ssd 컨트롤러 및 ssd 컨트롤러의 동작 방법 | |
CN102867046A (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 | ||
RJ01 | Rejection of invention patent application after publication |
Application publication date: 20180112 |
|
RJ01 | Rejection of invention patent application after publication |