CN114153649A - 一种数据存储设备及其控制方法与电子设备 - Google Patents
一种数据存储设备及其控制方法与电子设备 Download PDFInfo
- Publication number
- CN114153649A CN114153649A CN202111503316.9A CN202111503316A CN114153649A CN 114153649 A CN114153649 A CN 114153649A CN 202111503316 A CN202111503316 A CN 202111503316A CN 114153649 A CN114153649 A CN 114153649A
- Authority
- CN
- China
- Prior art keywords
- data
- cache unit
- storage device
- unit
- instruction data
- 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
Images
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
- 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/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
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02D—CLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
- Y02D10/00—Energy efficient computing, e.g. low power processors, power management or thermal management
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)
- Computer Security & Cryptography (AREA)
- Quality & Reliability (AREA)
- Techniques For Improving Reliability Of Storages (AREA)
Abstract
本发明公开了一种数据存储设备及其控制方法与电子设备,其中,所述数据存储设备的控制方法至少包括以下步骤:接收主机传送的数据;在前端层将数据进行校验,并将通过校验的数据存储在缓存单元中;当缓存单元的缓存容量达到预设阈值时,执行缓存单元中的指令数据;以及在执行写入指令数据时,接收到停止指令数据,检测所述缓存单元内是否有数据;以及当所述缓存单元内有数据时,执行所述缓存单元内的数据后,再执行所述停止指令数据。通过本发明提供的一种数据存储设备及其控制方法与电子设备,可提高数据的处理速率。
Description
技术领域
本发明属于存储技术领域,特别涉及一种数据存储设备及其控制方法与电子设备。
背景技术
随着存储行业技术快速发展,电子设备的种类逐渐增加。嵌入式多媒体存储卡(Embedded Multi Media Card,eMMC)是设置在电子设备中的一种嵌入式数据存储设备,因容量更高、体积更小被广泛应用在智能手机和平板等电子产品上。但是这些电子产品中的eMMC固件在进行数据的错误处理的时,对错误数据和正确数据的处理分析不够详细,且会在闪存转换层(Flash Translation Layer,FTL)及后端处理错误数据,这会降低闪存转换层的工作效率,进而降低电子设备的工作效率。
发明内容
本发明的目的在于提供一种数据存储设备的数据处理方法及系统与电子设备,通过本发明提供的数据存储设备的数据处理方法及系统与电子设备,可提高电子设备对错误数据的处理效率,以及电子设备的工作效率。
为解决上述技术问题,本发明是通过以下技术方案实现的:
本发明提供一种数据存储设备的数据处理方法,其至少包括以下步骤:
接收主机传送的数据;
在前端层将数据进行校验,并将通过校验的数据存储在缓存单元中;
当缓存单元的缓存容量达到预设阈值时,执行缓存单元中的指令数据;以及
在执行写入指令数据时,接收到停止指令数据,检测所述缓存单元内是否有数据;以及
当所述缓存单元内有数据时,执行所述缓存单元内的数据后,再执行所述停止指令数据。
在本发明一实施例中,所述校验包括循环冗余校验、写保护校验以及地址超范围校验。
在本发明一实施例中,所述预设阈值为缓存单元总容量的85%-90%。
在本发明一实施例中,所述缓存单元总容量以下公式获取:
CS=FES+CP×SC+CP×SX+CP×SS;
CP=CEN×PSN/2×PLN;
其中,CS为缓存容量,FES为暂存单元的大小,CEN为开启的通道数量,PLN为每个通道中面的数量,PSN为每个闪存页中有多少个扇区,SC为一次性稳定写入的闪存页数量,SS为SLC存储模式的存储器单元的系数,SX为XLC存储模式的存储器单元的系数。
在本发明一实施例中,当数据未通过校验时,所述数据存储设备的控制方法包括:
所述前端层停止指令数据的传送,处于等待状态;以及
将所述缓存单元中的数据删除,并将错误信息反馈给主机。
在本发明一实施例中,当数据存储设备在执行读取命令时,接收到停止指令数据,所述数据存储设备立即响应所述停止指令数据。
在本发明一实施例中,在执行写入指令数据时,接收到停止指令数据,所述数据存储设备的控制方法包括以下步骤:
当检测所述缓存单元内是否有数据;
当所述缓存单元内有数据时,暂缓停止指令数据,并触发直接存储器访问控制器;以及
所述直接存储器访问控制器执行所述缓存单元中的数据。
在本发明一实施例中,在执行写入指令数据时,接收到停止指令数据,所述数据存储设备的控制方法包括以下步骤:
当检测所述缓存单元内是否有数据;以及
当所述缓存单元中没有数据时,立即响应所述停止指令数据。
本发明还提供一种数据存储设备,包括:
接收单元,设置在前端层中,用于接收主机传送的数据;
校验单元,设置在前端层中,用于将数据进行校验;
缓存单元,设置在前端层中,用于存储通过校验的数据;
控制单元,设置在前端层中,用于执行缓存单元中的指令数据,且在执行写入指令数据时,接收到停止指令数据,检测所述缓存单元内是否有数据;以及
直接存储器访问控制器,设置在前端层中,用于在所述缓存单元内有数据时,执行所述缓存单元内的数据后。
本发明还提供一种电子设备,包括:
主机;
数据存储设备,通过接口电性连接于所述主机,且所述数据存储设备包括:
接收单元,设置在前端层中,用于接收主机传送的数据;
校验单元,设置在前端层中,用于将数据进行校验;
缓存单元,设置在前端层中,用于存储通过校验的数据;
控制单元,设置在前端层中,用于执行缓存单元中的指令数据,且在执行写入指令数据时,接收到停止指令数据,检测所述缓存单元内是否有数据;以及
直接存储器访问控制器,设置在前端层中,用于在所述缓存单元内有数据时,执行所述缓存单元内的数据后。
如上所述本发明提供的一种数据存储设备及其控制方法与电子设备,在前端层进行验证,并在前端层中即将错误信息反馈至主机,避免将错误信息传递至中间层和后端层中,提高数据存储设备的工作效率。在接收到主机传动的数据时,将数据存储在缓存单元中,到达预设阈值后,再执行存储单元中的指令数据,可提高数据存储设备的执行效率。且在本申请中,在接收到主机发送停止指令数据时,依据缓存单元中的数据信息类型,灵活处理,在保证数据不会出现丢失的同时,最大限度提高数据存储设备的工作效率。通过本发明提供的一种数据存储设备及其控制方法与电子设备,可提高数据存储设备和电子设备的工作效率。
当然,实施本发明的任一产品并不一定需要同时达到以上所述的所有优点。
附图说明
为了更清楚地说明本发明实施例的技术方案,下面将对实施例描述所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1为一种电子设备结构示意图。
图2为一种主机与数据存储设备数据传送结构示意图。
图3为一种存储单元结构示意图。
图4为一种数据存储设备的控制流程图。
图5为一种数据存储设备的控制流程图。
图6为一种读取指令数据的控制流程图。
图7为一种写入指令数据的控制流程图。
图8为一种有错误时,数数据存储设备的控制流程图。
图9为一种数据存储设备的结构框图。
图10为一种计算机可读存储介质的框图。
具体实施方式
以下通过特定的具体实例说明本发明的实施方式,本领域技术人员可由本说明书所揭露的内容轻易地了解本发明的其他优点与功效。本发明还可以通过另外不同的具体实施方式加以实施或应用,本说明书中的各项细节也可以基于不同观点与应用,在没有背离本发明的精神下进行各种修饰或改变。
需要说明的是,本实施例中所提供的图示仅以示意方式说明本发明的基本构想,遂图式中仅显示与本发明中有关的组件而非按照实际实施时的组件数目、形状及尺寸绘制,其实际实施时各组件的型态、数量及比例可为一种随意的改变,且其组件布局型态也可能更为复杂。
请参阅图1所示,这里所描述的数据存储设备20包括用于控制包括闪存芯片的大容量存储模块的新颖结构。在图1中以高度概述的形式示出了整个数据存储设备20。与这里的其它框图一样,图1所示的元件本质上是概念性的,它们示出了这些功能块之间的互相关系的性质,而不意在表示实际的物理电路级实施。
请参阅图1所示,本申请提出一种电子设备,电子设备包括主机10和数据存储设备20。其中,主机10和数据存储设备20可以被实现为单独的芯片,模块,或者设备,或者可以被包括在单一设备中。例如,数据存储设备20可以为集成的单一存储设备,然后被连接至主机10。然而,本公开不限于该示例。也就是说,在另一示例中,主机10和数据存储设备20可以被集成到单一设备中。
请参阅图1所示,在本发明一实施例中,主机10例如由个人计算机、CPU 核或者与网络连接的服务器等构成。用户在主机10的操作系统的应用层面对电子设备20发出请求,文件系统101将读写请求经底层驱动102转化为相应的符合协议的读写和其他指令数据,数据存储设备20通过接口收到指令数据后,经过内部计算和处理逻辑,执行用的指令数据,并向主机10反馈相应的答复。
请参阅图1所示,在本发明一实施例中,数据存储设备20是一种以半导体闪存作为介质的存储设备,例如为嵌入式多媒体存储卡(Embedded Multi Media Card,eMMC)。且在本实施例中,数据存储设备20包括前端层201、中间层204 和后端层205。其中,前端层201包括控制单元202和缓存单元203,且其中的缓存单元203例如为随机存取数据存储设备(random access memory,RAM),中间层204例如为闪存转换层(Flash Translation Layer,FTL),后端层205包括多个闪存块206。当数据存储设备20接收到主机10发送的指令数据后,经过数据的验证,将相关的数据先存在缓存单元203中,中间层204会为每个逻辑数据块分配一个闪存地址,当数据凑到一定数量后,中间层204便会发送写闪存请求给后端层205,后端层205根据指令数据请求,把缓存单元203中的数据写到对应的闪存块206中,或读取对应闪存块206中的数据。
请参阅图1所示,在本发明一实施例中,中间层204中包括地址转换单元210,可以完成逻辑数据到闪存块206物理地址的转换或者映射。后端层205包括具有字符串单元(cell)结构的多个存储器单元。多个存储器单元被称为存储器单元阵列。数据存储设备20的存储器单元阵列包括多个存储器块。存储器块中的每一个包括多个页,每一个页包括一起共享单一字线的多个存储器单元。在本实施例中,每个存储器单元例如为一个浮栅晶体管。在数据实际存在的、存储器的地址被称为物理地址,控制单元202使用逻辑地址,其与物理地址对应。可利用闪存转换层(Flash Translation Layer,FTL)来管理物理地址和逻辑地址。且可以以映射表的形式存储物理地址和逻辑地址。
请参阅图1和图3所示,在本发明一实施例中,在后端层205中,数据存储设备20的底层设置有多个通道(channel,CH),且每个通道内部有多个并行的逻辑单元(LogicalUnit,LU)。每个逻辑单元中包括多个面(Plane)、页面寄存器(Page Register)和缓存寄存器(Cache Register),其中,页面寄存器和缓存寄存器中存放将要写入到物理存储单元中去的或者刚从存储单元中读取出来的数据。在每个面中,设置有多个闪存块(block)206,每个闪存块206内设置有多个闪存页(Page),每个闪存页中还包括多个存储器单元。其中,闪存块206内的存储器单元数据块可以按照实际需求配置为不同的存储模式,存储器单元例如包括SLC(Single-Level Cell,1bit/cell)存储模式和XLC存储模式。其中,SLC存储模式指的是闪存块206中的每个字符串单元(cell)只存放一个比特数据,且SCL存储模式的存储器单元具有较高的擦除次数,例如为 50000~100000次。XLC存储模式指的是闪存块206中的每个字符串单元(cell) 存放多个比特数据,且XLC存储模式包括MLC(Multi-LevelCell,2bit/cell)存储模式、TLC(Trinary-Level Cell,3bit/cell)存储模式和QLC(Quad-Level Cell,4bit/cell) 存储模式,且XLC存储模式的存储器单元具有较低的擦除次数,例如为500~10000次。相对于XLC存储模式的存储器单元,SCL存储模式的存储器单元的性能更加稳定。在存储数据时,将数据写入XLC存储模式的存储器单元中,将比较重要的数据存储在SLC存储模式的存储器单元中,例如可以将读取或闪存的计数页存储在SLC存储模式的存储器单元中。
请参阅图4所示,在本发明一实施例中,对于本发明提供的一种数据存储设备20,提供一种数据存储设备的控制方法,包括,
S101、接收主机传送的指令数据。
S102、对指令数据进行校验,当指令数据通过校验时,执行步骤S103,当指令数据未通过校验时,执行步骤S106。
S103、将指令数据存储在缓存单元中。
S104、判断缓存容量是否达到预设阈值,当缓存容量未达到预设阈值时,继续执行步骤S101,当缓存容量达到预设阈值时,执行步骤S105。
S105、执行指令数据。
S106、停止指令数据的传送,等待主机再次发送指令数据。
请参阅图4所示,在本发明一实施例中,在步骤S102中,在对数据进行校验时,校验未通过的错误例如包括但不仅限于循环冗余校验(Cyclic Redundancy Check,CRC)错误、写保护(Write Protect,WP)和地址超范围(Out OfRange, OOR)错误等。其中,循环冗余校验例如通过硬件(Hardware,HW)处理,以增加数据验证的效率,进而增加固件(FirmWare,FW)的处理效率。
请参阅图5所示,在本发明一实施例中,当检验未通过时,数据存储设备的控制方法具体包括,
S1061、前端层停止指令数据的传送,处于等待状态。
S1062、将缓存单元中的数据删除,并将错误信息反馈给主机。
S1063、主机接收到错误信息后,发送停止指令数据给数据存储设备。
S1064、当数据存储设备完成数据删除后,主机重新发送数据给数据存储设备。
在本实施例中,例如可以使用状态寄存器,记录当前错误信息的类型,以及获取当前指令数据执行结果的各种状态信息。在进行错误信息反馈时,以反馈错误的类型,可避免重新发送数据给数据存储设备时,不会有重复的数据信息也不会有缺失的数据信息。
请参阅图1和图4所示,在本发明一实施例中,在步骤S103中,缓存单元 203例如为随机存取数据存储设备(random access memory,RAM)。在执行主机10的指令数据时,当主机10连续读取或者写入较小的数据时,将指令数据直接传递至中间层204并逐条执行,浪费时间与精力。在本实施例中,将数据先存储在缓存单元203中,当缓存单元203中的缓存容量达到预设阈值时再执行,可提高指令数据的执行效率。在本实施例中,当缓存的功能未开启时,且数据传送至数据存储设备时,前端层201中集成有一个暂存单元209,将当前执行的指令数据保存在暂存单元209中,执行完成后,暂存单元209中的数据马上删除,继续执行下一条指令数据。其中,暂存单元209可依据程序设计,暂存单元209的大小例如为2KB、4KB或8KB,本实施例以2KB为例。
请参阅图1和图4所示,在本发明一实施例中,在步骤S104中,缓存单元的总容量的通过以下公式获取:
CS=FES+CP×SC+CP×SX+CP×SS。
CP=CEN×PSN/2×PLN。
其中,CS为缓存单元的总容量,FES为暂存单元的大小,在本实施例中例如为2KB。CEN为开启的通道数量,在本实施例中例如为1。PLN为每个通道中面的数量,在本实施例中例如为2。PSN为每个闪存页中有多少个扇区,前端层在存储数据时,依照扇区为单位传输数据,在本实施例中闪存页的大小例如为 16KB,扇区的大小例如为512B,则每个闪存页中有32个扇区。则 CP=1×32/2×2=32。SC为一次性稳定写入的闪存页数量,例如可以为4、6、8、12等,本实施例以4为例。SS为SLC存储模式的存储器单元的系数,即一个 SLC存储模式的闪存块中闪存页的数量,本实施例中SS例如为1。SX为XLC存储模式的存储器单元的系数,即一个XLC存储模式的闪存块中闪存页的数量,本实施例中SX例如为2。则缓存单元的总容量CS=2KB+(32×4+32×2+32×1) ×512B=114KB。
请参阅图1和图4所示,在本实施例中,步骤S104中的预设阈值为缓存单元203总容量的例如85%-90%,具体例如为90%。当缓存单元203中的缓存容量大于预设阈值时,则执行指令数据,即将数据通过中间层204传输至后端层 205。
请参阅图1所示,在本发明一实施例中,在步骤S105当执行指令数据时,控制单元202通过中间层204,获取指令数据中逻辑地址对应的物理地址,并对具有该物理地址中对应的闪存块206执行相关指令数据。且本发明中的指令数据可以是主机10发送给数据存储装置的任意指令数据,例如可以为读指令数据、写指令数据、编辑指令数据或停止指令数据等。
请参阅图1所示,在本发明一实施例中,在指令数据传送的过程中,当指令数据接收到主机10发送的停止指令数据时,前端层201停止指令数据的接收。
请参阅图1和图6所示,在本发明一具体实施例中,当主机10发送的指令数据为读取指令数据时,数据存储设备的控制方法包括,
S111、接收主机传送的读取指令数据。
S112、对读取指令数据继续进行校验。当读取指令数据通过校验时,执行步骤S113,当读取数据未通过校验时,执行步骤S116。
S113、将读取指令数据存储在缓存单元中。
S114、判断缓存容量是否达到预设阈值,当缓存容量未达到预设阈值时,继续执行步骤S111,当缓存容量达到预设阈值时,执行步骤S115。
S115、执行读取指令数据。
S116、停止读取指令数据的传送,等到主机再次发送读取指令数据。
请参阅图2和图6所示,在本发明一实施例中,在执行读取指令数据的过程中,当数据存储设备20接收到主机10发送的停止指令数据时,数据存储设备20立即响应停止指令数据,主机10端停止输送数据。在此过程中,且在前端层201中,控制单元202不会检查缓存单元203中是否存在数据,直接响应停止指令数据,立即停止数据的传输。可提高执行停止指令数据的效率。且主机10在传送完停止指令数据时,也不再接收数据存储设备20传输的数据,进而双向保证主机10和数据存储设备20之间在发送/接收到停止指令数据后,不再进行数据传输。
请参阅图2和图7所示,在本发明一实施例中,当主机10发送的指令数据为写入指令数据时,数据存储设备的控制方法包括,
S121、接收主机传送的写入指令数据。
S122、对写入指令数据继续进行校验。当写入指令数据通过校验时,执行步骤S123,当写入数据未通过校验时,执行步骤S126。
S123、将写入指令数据存储在缓存单元中。
S124、判断缓存容量是否达到预设阈值,当缓存容量未达到预设阈值时,继续执行步骤S121,当缓存容量达到预设阈值时,执行步骤S125。
S125、执行写入指令数据。
S126、停止写入指令数据的传送,等到主机再次发送写入指令数据。
请参阅图2和图8所示,在本发明一实施例中,在执行写入指令数据的过程中,当数据存储设备20接收到主机10发送的停止指令数据时,数据存储设备20的控制方法包括,
S131、检测缓存单元中是否有数据,当缓存单元中有数据时,执行步骤S132,当缓存单元中没有存储数据时,执行步骤S134。
S132、暂缓停止指令数据,并触发直接存储器访问(Direct Memory Access,DMA)控制器。
S133、直接存储器访问控制器执行缓存单元中的写入指令数据,当缓存单元中的写入指令数据执行完成时,执行步骤S134。
S134、响应停止指令数据。
请参阅图2和图8所示,在执行写入指令数据的过程中,当数据存储设备 20接收到主机10发送的停止指令数据时,需要检测缓存单元203中是否存在未执行的指令数据。当缓存单元203中有未执行的指令数据时,需要执行完成后,再响应停止指令数据。因为此时若直接响应停止指令数据,缓存单元203中的指令数据有丢失的风险。在本实施例中,使用直接存储器访问(Direct Memory Access,DMA)控制器207执行缓存单元203中的指令数据,由直接存储器访问控制器207掌管总线,执行缓存单元203中的指令数据。此时,控制单元202处于挂起状态或只执行内部操作,无法进行数据存储设备20和外部设备之间的数据传送。使用直接存储器访问控制器207执行缓存单元203中的指令数据,即可暂停响应停止指令数据,又可执行缓存单元203中的指令数据。且在完成缓存单元203中的指令数据后,触发控制单元202响应停止指令数据。
请参阅图1所示,在本发明一实施例中,本发明提供的电子设备具体可以包括主机10和通过接口与主机10传送指令数据和/或数据的数据存储设备20。其中,电子设备可以被实现为个人计算机(PC)、工作站、数据中心、互联网数据中心、存储区域网络、网络附属数据存储设备(NAS)或移动计算设备,但是本发明构思不限于这些示例。移动计算设备可以被实现为膝上型计算机、蜂窝电话、智能电话、平板PC、个人数字助理(PDA)、企业数字助理(EDA)、数字静止相机、数字视频相机、便携式多媒体播放器(PMP)、个人导航设备或便携式导航设备 (PND)、手持式游戏控制台、移动互联网设备(MID)、可穿戴计算机、物联网(IoT)设备、物联网(IoE)设备、无人机或电子书,但是本发明构思不限于这些示例。
请参阅图1所示,在主机10和数据存储设备20之间设置有接口,以连接主机10和存储设备20。接口可以是串行高级技术附件(SATA)接口,SATA快速 (SATAe)接口、SAS(串行附件小型计算机系统接口(SCSI))、外围组件互连高速 (PCIe)接口、非易失性数据存储设备快速(NVMe)接口、高级主机控制单元接口 (AHCI)或多媒体卡(MMC)接口,但不限于此。接口可以传输电信号或光信号。主机10可以经由接口控制数据存储设备20的数据处理操作(例如,写操作或读操作)。且接口可以为单独设置在主机10和数据存储设备20之间,也可以集成在数据存储设备29上。
请参阅图1所示,在本发明一实施例中,数据存储设备20可以是基于闪存的存储设备,但不限于此。数据存储设备20可以被实现为SSD、嵌入式 SSD(eSSD)、通用闪速数据存储设备(UFS)、MMC、嵌入式MMC(eMMC)或受管理的NAND,但是本发明构思不限于这些示例。基于闪存的数据存储设备设备可以包括数据存储设备单元阵列。数据存储设备单元阵列可以包括多个数据存储设备单元。数据存储设备单元阵列可以包括二维数据存储设备单元阵列或三维数据存储设备单元阵列。三维数据存储设备单元阵列可以单片地形成在具有设置在硅衬底上或上方的有源区的数据存储设备单元阵列中的一个或多个物理层级处,并且可以包括数据存储设备单元的操作所涉及的电路。所述电路可以形成在硅衬底中、硅衬底上或上方。术语“单片”意指阵列中的每一层级的层直接沉积在阵列中的下层级的层上。三维数据存储设备单元阵列可以包括竖直取向的竖直NAND串,使得至少一个数据存储设备单元置于另一数据存储设备单元上或上方。所述至少一个数据存储设备单元可以包括电荷俘获层。
请参阅图1和图9所示,在本发明一实施例中,在数据存储设备20的器前端层201,可以包括接收单元207、验证单元208、缓存单元203和控制单元202。其中,接收单元207用于接收接收主机10传送的指令数据,且当数据存储设备为嵌入式多媒体存储卡(eMMC)时,接收单元207例如为集成的多媒体卡 (MMC)接口。验证单元208电性连接于接收单元207,当接收到主机10传送的数据时,首先通过验证单元208进行检验。且在本实施例中,验证单元208包括用于循环冗余校验的硬件,以及用于写保护验证和地址超范围错误验证固件。缓存单元203电性连接于验证单元208,用于存储待处理的数据。控制单元 202电性连接于接收单元207、验证单元208和缓存单元203,用于判断缓存容量是否达到预设阈值,当缓存容量达到预设阈值时,将数据传递至中间层204。在验证出现问题时,暂停数据的传递,并将错误循序反馈至主机10,进而执行主机10再次发出的指令数据。且在前端层201还可以设置有暂存单元,暂存单元电性连接于控制单元202,当缓存单元203关闭时,可暂存正在执行的指令数据。在前端层201中还可以设置有暂存单元209,以存储缓存功能关闭时,当前执行的指令数据。
请参阅图9所示,在本实施例中,在数据存储设备20的中间层204,设置有地址转换单元210可以完成逻辑数据到闪存块物理地址的转换或者映射。在后端层205中,设置有存储单元211,在本实施例中,存储单元为多个闪存块。
请参阅图10所示,本实施例还提出一种计算机可读存储介质3,所述计算机可读存储介质3存储有计算机指令数据30,所述计算机指令数据30用于使用所述数据存储设备的控制方法。计算机可读存储介质3可以是,电子介质、磁介质、光介质、电磁介质、红外介质或半导体系统或传播介质。计算机可读存储介质3还可以包括半导体或固态数据存储设备20、磁带、可移动计算机磁盘、随机存取数据存储设备20(RAM)、只读数据存储设备20(ROM)、硬磁盘和光盘。光盘可以包括光盘-只读数据存储设备20(CD-ROM)、光盘-读/写(CD-RW)和DVD。
综上所述,本发明提供的一种数据存储设备及其控制方法与电子设备,在数据存储设备接收到主机发送的数据时,首先将数据存储在缓存单元中,当缓存容量到达预设的阈值时,才会将缓存单元中的数据下方到中间层和后端层,执行相应的指令数据,可提高数据存储设备的执行效率。在设置预设阈值时,根据闪存块的类型精确获取缓存容量的大小,可依据数据的重要程度,设定执行指令数据的速率。当数据存储设备接收到主机传送的停止指令数据时,可以依据此时存储的指令数据的类型,确认是否执行缓存单元中的指令数据,在保证指令数据效率最高的同时,不会丢失数据。本发明提供的一种数据存储设备及其控制方法,可提高数据存储设备的执行效率。
以上描述仅为本申请的较佳实施例以及对所运用技术原理的说明,本领域技术人员应当理解,本申请中所涉及的发明范围,并不限于上述技术特征的特定组合而成的技术方案,同时也应涵盖在不脱离所述发明构思的情况下,由上述技术特征或其等同特征进行任意组合而形成的其它技术方案,例如上述特征与本申请中公开的(但不限于)具有类似功能的技术特征进行互相替换而形成的技术方案。
除说明书所述的技术特征外,其余技术特征为本领域技术人员的已知技术,为突出本发明的创新特点,其余技术特征在此不再赘述。
Claims (10)
1.一种数据存储设备的控制方法,其特征在于,包括以下步骤:
接收主机传送的数据;
在前端层将数据进行校验,并将通过校验的数据存储在缓存单元中;
当缓存单元中的缓存容量达到预设阈值时,执行缓存单元中的指令数据;以及
在执行写入指令数据时,接收到停止指令数据,检测所述缓存单元内是否有数据;以及
当所述缓存单元内有数据时,执行所述缓存单元内的数据后,再执行所述停止指令数据。
2.根据权利要求1所述的控制方法,其特征在于,所述校验包括循环冗余校验、写保护校验以及地址超范围校验。
3.根据权利要求1所述的控制方法,其特征在于,所述预设阈值为缓存单元总容量的85%-90%。
4.根据权利要求3所述的控制方法,其特征在于,所述缓存单元总容量以下公式获取:
CS=FES+CP×SC+CP×SX+CP×SS;
CP=CEN×PSN/2×PLN;
其中,CS为缓存容量,FES为暂存单元的大小,CEN为开启的通道数量,PLN为每个通道中面的数量,PSN为每个闪存页中有多少个扇区,SC为一次性稳定写入的闪存页数量,SS为SLC存储模式的存储器单元的系数,SX为XLC存储模式的存储器单元的系数。
5.根据权利要求1所述的控制方法,其特征在于,当数据未通过校验时,所述数据存储设备的控制方法包括:
所述前端层停止指令数据的传送,处于等待状态;以及
将所述缓存单元中的数据删除,并将错误信息反馈给主机。
6.根据权利要求1所述的控制方法,其特征在于,当数据存储设备在执行读取命令时,接收到停止指令数据,所述数据存储设备立即响应所述停止指令数据。
7.根据权利要求1所述的控制方法,其特征在于,在执行写入指令数据时,接收到停止指令数据,所述数据存储设备的控制方法包括以下步骤:
当检测所述缓存单元内是否有数据;
当所述缓存单元内有数据时,暂缓停止指令数据,并触发直接存储器访问控制器;以及
所述直接存储器访问控制器执行所述缓存单元中的数据。
8.根据权利要求1所述的控制方法,其特征在于,在执行写入指令数据时,接收到停止指令数据,所述数据存储设备的控制方法包括以下步骤:
当检测所述缓存单元内是否有数据;以及
当所述缓存单元中没有数据时,立即响应所述停止指令数据。
9.一种数据存储设备,其至少包括:
接收单元,设置在前端层中,用于接收主机传送的数据;
校验单元,设置在前端层中,用于将数据进行校验;
缓存单元,设置在前端层中,用于存储通过校验的数据;
控制单元,设置在前端层中,用于执行缓存单元中的指令数据,且在执行写入指令数据时,接收到停止指令数据,检测所述缓存单元内是否有数据;以及
直接存储器访问控制器,设置在前端层中,用于在所述缓存单元内有数据时,执行所述缓存单元内的数据后。
10.一种电子设备,其特征在于,包括:
主机;
数据存储设备,通过接口电性连接于所述主机,且所述数据存储设备包括:
接收单元,设置在前端层中,用于接收主机传送的数据;
校验单元,设置在前端层中,用于将数据进行校验;
缓存单元,设置在前端层中,用于存储通过校验的数据;
控制单元,设置在前端层中,用于执行缓存单元中的指令数据,且在执行写入指令数据时,接收到停止指令数据,检测所述缓存单元内是否有数据;以及
直接存储器访问控制器,设置在前端层中,用于在所述缓存单元内有数据时,执行所述缓存单元内的数据后。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202111503316.9A CN114153649B (zh) | 2021-12-09 | 2021-12-09 | 一种数据存储设备及其控制方法与电子设备 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202111503316.9A CN114153649B (zh) | 2021-12-09 | 2021-12-09 | 一种数据存储设备及其控制方法与电子设备 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN114153649A true CN114153649A (zh) | 2022-03-08 |
CN114153649B CN114153649B (zh) | 2023-04-14 |
Family
ID=80453846
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202111503316.9A Active CN114153649B (zh) | 2021-12-09 | 2021-12-09 | 一种数据存储设备及其控制方法与电子设备 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN114153649B (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN116909492A (zh) * | 2023-09-12 | 2023-10-20 | 合肥康芯威存储技术有限公司 | 一种存储设备及其控制方法 |
Citations (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20070118693A1 (en) * | 2005-11-19 | 2007-05-24 | International Business Machines Cor | Method, apparatus and computer program product for cache restoration in a storage system |
CN101622595A (zh) * | 2006-12-06 | 2010-01-06 | 弗森多系统公司(dba弗森-艾奥) | 用于服务器内的存储区域网络的装置、系统和方法 |
US20100131704A1 (en) * | 2008-11-27 | 2010-05-27 | Hitachi, Ltd. | Storage control apparatus |
CN103942160A (zh) * | 2014-04-03 | 2014-07-23 | 华为技术有限公司 | 存储系统、存储设备及数据存储方法 |
CN103955430A (zh) * | 2014-03-31 | 2014-07-30 | 深圳市江波龙电子有限公司 | 一种闪存存储设备中数据管理的方法及装置 |
CN103984506A (zh) * | 2014-04-30 | 2014-08-13 | 深圳市江波龙电子有限公司 | 闪存存储设备数据写的方法和系统 |
CN105103140A (zh) * | 2013-04-05 | 2015-11-25 | 桑迪士克企业知识产权有限责任公司 | 存储系统中的数据硬化 |
CN108509156A (zh) * | 2018-04-04 | 2018-09-07 | 腾讯科技(深圳)有限公司 | 数据读取方法、装置、设备及系统 |
CN111625188A (zh) * | 2020-05-19 | 2020-09-04 | 合肥康芯威存储技术有限公司 | 一种存储器及其数据写入方法与存储系统 |
CN111930850A (zh) * | 2020-09-24 | 2020-11-13 | 腾讯科技(深圳)有限公司 | 数据校验方法、装置、计算机设备和存储介质 |
-
2021
- 2021-12-09 CN CN202111503316.9A patent/CN114153649B/zh active Active
Patent Citations (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20070118693A1 (en) * | 2005-11-19 | 2007-05-24 | International Business Machines Cor | Method, apparatus and computer program product for cache restoration in a storage system |
CN101622595A (zh) * | 2006-12-06 | 2010-01-06 | 弗森多系统公司(dba弗森-艾奥) | 用于服务器内的存储区域网络的装置、系统和方法 |
US20100131704A1 (en) * | 2008-11-27 | 2010-05-27 | Hitachi, Ltd. | Storage control apparatus |
CN105103140A (zh) * | 2013-04-05 | 2015-11-25 | 桑迪士克企业知识产权有限责任公司 | 存储系统中的数据硬化 |
CN103955430A (zh) * | 2014-03-31 | 2014-07-30 | 深圳市江波龙电子有限公司 | 一种闪存存储设备中数据管理的方法及装置 |
CN103942160A (zh) * | 2014-04-03 | 2014-07-23 | 华为技术有限公司 | 存储系统、存储设备及数据存储方法 |
CN103984506A (zh) * | 2014-04-30 | 2014-08-13 | 深圳市江波龙电子有限公司 | 闪存存储设备数据写的方法和系统 |
CN108509156A (zh) * | 2018-04-04 | 2018-09-07 | 腾讯科技(深圳)有限公司 | 数据读取方法、装置、设备及系统 |
CN111625188A (zh) * | 2020-05-19 | 2020-09-04 | 合肥康芯威存储技术有限公司 | 一种存储器及其数据写入方法与存储系统 |
CN111930850A (zh) * | 2020-09-24 | 2020-11-13 | 腾讯科技(深圳)有限公司 | 数据校验方法、装置、计算机设备和存储介质 |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN116909492A (zh) * | 2023-09-12 | 2023-10-20 | 合肥康芯威存储技术有限公司 | 一种存储设备及其控制方法 |
CN116909492B (zh) * | 2023-09-12 | 2023-12-08 | 合肥康芯威存储技术有限公司 | 一种存储设备及其控制方法 |
Also Published As
Publication number | Publication date |
---|---|
CN114153649B (zh) | 2023-04-14 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN107193486B (zh) | 数据存储设备和包括该数据存储设备的数据处理系统 | |
KR101573591B1 (ko) | 메모리 시스템 제어기를 구비하는 장치 및 관련 방법 | |
KR101532863B1 (ko) | 메모리 시스템 제어기를 구비하는 장치 및 관련 방법 | |
KR101560469B1 (ko) | 메모리 시스템 컨트롤러들을 포함하는 장치 및 관련 방법들 | |
US11249897B2 (en) | Data storage device and operating method thereof | |
US11567685B2 (en) | Storage controller and storage device including the same | |
US11526439B2 (en) | Storage device and operating method thereof | |
CN114153649B (zh) | 一种数据存储设备及其控制方法与电子设备 | |
CN113590503A (zh) | 一种非挥发性记忆体存储器的垃圾回收方法与垃圾回收系统 | |
KR102634776B1 (ko) | 데이터 저장 장치 및 그것의 동작 방법 | |
US20230036616A1 (en) | Storage devices and operating methods of storage controllers | |
KR20160118602A (ko) | 데이터 저장 장치와 이를 포함하는 장치들 | |
US11281590B2 (en) | Controller, operating method thereof and storage device including the same | |
US10515693B1 (en) | Data storage apparatus and operating method thereof | |
KR102583244B1 (ko) | 스토리지 장치 및 스토리지 장치의 동작 방법 | |
US11966594B2 (en) | Power management for a memory system | |
EP4220374A1 (en) | Storage device and operating method of storage device | |
US20220382467A1 (en) | Power management for a memory system | |
TWI818370B (zh) | 資料儲存分配方法、記憶體儲存裝置及記憶體控制電路單元 | |
US20240012564A1 (en) | Memory controller and storage device including the same | |
US11868658B2 (en) | Memory controller including first processor for generating commands and second processor for generating logging information and method of operating the memory controller | |
US20240069782A1 (en) | Storage device including nonvolatile memory device and operating method of storage device | |
US20240126450A1 (en) | Memory system and operation thereof |
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 |