操作存储装置的方法和用于存储装置的系统与流程

文档序号:18188888发布日期:2019-07-17 05:29阅读:162来源:国知局
操作存储装置的方法和用于存储装置的系统与流程

本申请要求于2018年1月8日在韩国知识产权局提交的第10-2018-0002312号韩国专利申请的优先权,其公开内容通过引用整体并入本文。

本发明构思总体上涉及存储装置系统和方法,更具体地,涉及其中存储装置经由中间转换器连接到主机的存储装置系统和方法。



背景技术:

存储系统可以包括主机和存储装置,存储装置可以包括用于例如存储数据或扩展内存的存储卡。可以使用各种类型的存储卡,包括例如记忆棒(ms)、多媒体卡(mmc)、xd图像卡(xd)、安全数字(sd)卡、紧凑型闪存(cf)卡、智能媒体卡(smc)和微驱动器(md)。

这种存储装置可以遵循特定的标准协议,因此可以根据所使用的特定存储装置来使用诸如专用读卡器或多型读卡器的中间转换器。中间转换器可以向存储装置输入数据或从存储装置输出数据。因此,当存储装置和主机经由中间转换器彼此连接时,主机可能无法识别存储装置的某些功能。



技术实现要素:

本发明构思提供了一种操作连接到主机的存储装置的方法和对该存储装置进行认证的系统。

根据本发明构思的一方面,提供了一种操作连接到主机的存储装置的方法,所述方法包括:进入认证模式;以及响应于进入所述认证模式而执行认证操作。执行所述认证操作包括:从所述主机接收读取命令和第一随机认证地址;基于所述第一随机认证地址的至少一部分来执行认证过程;以及响应于执行所述认证过程而生成结果数据。

根据本发明构思的另一方面,提供了一种操作连接到主机的存储装置的方法,所述方法包括:进入认证模式;以及响应于进入所述认证模式执行认证操作。执行所述认证操作包括:从所述主机接收写入命令和第一随机认证地址;基于所述第一随机认证地址的至少一部分来执行认证过程;以及响应于执行所述认证过程而生成结果数据。

根据本发明构思的另一方面,提供了一种系统,所述系统包括:存储装置,所述存储装置被配置为在认证模式下执行认证操作;以及主机,所述主机被配置为也执行所述认证操作。在所述认证模式下,所述存储装置被配置为,通过从所述主机接收读取命令和随机认证地址,基于所述随机认证地址的至少一部分执行认证过程,以及响应于执行所述认证过程而生成结果数据,来执行所述认证操作。

附图说明

通过以下结合附图的详细描述,将更清楚地理解本发明构思的实施例,在附图中:

图1是根据本发明构思的一些实施例的系统的框图;

图2是根据本发明构思的一些实施例的存储装置的框图;

图3是根据本发明构思的一些实施例的对存储装置进行认证的系统的操作的流程图;

图4是根据本发明构思的一些实施例的系统中所包括的存储装置的操作的流程图;

图5是根据本发明构思的一些实施例的系统中所包括的主机的操作的流程图;

图6是根据本发明构思的一些实施例的系统的操作的流程图;

图7是根据本发明构思的其他实施例的系统的操作的流程图;

图8是根据本发明构思的其他实施例的系统的操作的流程图;

图9是根据本发明构思的其他实施例的系统的操作的流程图;

图10是根据本发明构思的其他实施例的系统中所包括的主机的操作的流程图;

图11是根据本发明构思的其他实施例的系统的操作的流程图;

图12是根据本发明构思的其他实施例的系统的操作的流程图;

图13是根据本发明构思的其他实施例的系统的操作的流程图。

具体实施方式

在下文中,将参照附图详细描述本发明构思的实施例。在整个附图的描述中,相同的附图标记表示相同的元件。注意的是,虽然没有特别描述,但是关于一个实施例所描述的本发明的各方面可以并入在不同的实施例中。即,所有实施例和/或任何实施例的特征可以以任何方式组合和/或组成任何组合。

可以通过使用写入操作来对通过例如中间转换器连接到主机的存储装置进行认证。然而,当存储装置的存储器已满和/或被写入保护时,可能难以或不可能对该存储装置进行认证。根据本发明构思的一些实施例,存储装置可以配置有认证操作模式和正常操作模式。当处于认证操作模式时,存储装置可以接收读取命令或写入命令和随机地址。因为存储装置处于认证操作模式,所以不执行读取操作或写入操作,而是使用接收的随机地址的至少一部分来执行认证操作。因此,可以在不需要执行写入操作的情况下对存储装置进行认证,从而允许对其存储器已满的存储装置和/或被写入保护的存储装置进行认证。

图1是根据本发明构思的一些实施例的系统的框图。

参照图1,被配置为对存储装置300进行认证的系统10包括主机100和存储装置300。存储装置300经由中间转换器140连接到主机100。

主机100可以包括中央处理单元(cpu)110、主存储器120、用户接口130和中间转换器140。cpu110可以控制主机100的整体操作并基于存储在主存储器120中的程序121和/或数据执行逻辑操作。例如,cpu110可以包括通用处理器和专用处理器。

主存储器120可以是cpu110的运行存储器。主存储器120可以存储可由cpu110执行的程序代码和由cpu110处理的数据。主存储器120可以是随机存取存储器(ram)。主存储器120可以包括诸如动态ram(dram)、静态ram(sram)或同步dram(sdram)的易失性ram。主存储器120可以包括诸如铁电ram(fram)、相变ram(pram)、磁ram(mram)或电阻ram(rram)的非易失性ram。

由cpu110执行的程序121可以存储在主存储器120中。程序121可以提供与存储装置300相关联的附加功能。根据一些实施例,程序121可以提供对存储装置300的认证功能,使得存储装置300和主机100可以执行认证。在根据本发明构思的一些实施例的系统10中,程序121可以被配置为顺序地将预先约定的扇区地址输出到存储装置300以对存储装置300进行认证。扇区地址可以经由中间转换器140发送到存储装置300,存储装置300可以进入用于执行认证操作的认证模式。当存储装置300进入认证模式时,存储装置300可以将通过执行认证操作所获得的结果数据发送到主机100,程序121可以基于该结果数据确定对存储装置300的认证是否成功。

用户接口130可以在cpu110的控制下促进与用户的通信。例如,用户接口130可以包括诸如键盘、小键盘、按钮、触摸面板、触摸屏、触摸板、触摸球、相机、麦克风、陀螺仪传感器和振动传感器的用户输入接口。用户接口130可以包括诸如液晶显示器(lcd)、有机发光二极管(oled)显示器、有源矩阵oled(amoled)显示器、发光二极管(led)显示器、扬声器和电机的用户输出接口。

中间转换器140可以被配置为从存储装置300读取信息。连接到中间转换器140的存储装置300可以是记忆棒(ms)、多媒体卡(mmc)、xd-图像卡(xd)、安全数字(sd)卡、紧凑型闪存(cf)卡、智能媒体卡(smc)、微驱动器(md)、固态硬盘(ssd)、通用闪存(ufs)、通用串行总线(usb)驱动器等。

为了执行由存储装置300的制造公司独立支持的功能,可以首先由主机100对存储装置300进行认证,然后可以通过程序121执行该功能。存储装置300可以顺序地接收与程序121约定的扇区地址以进入认证模式。存储装置300可以包括执行由程序121请求的认证过程的固件和/或其他程序代码。

图2是根据本发明构思的一些实施例的存储装置300的框图。

参照图2,存储装置300可以包括主机接口310、处理器320、本地存储器330和非易失性存储器340。

非易失性存储器340可以包括闪存、fram、pram、mram、rram和电可擦除可编程只读存储器(eeprom)。处理器320可以响应于经由主机接口310接收的命令和地址来访问非易失性存储器340。

本地存储器330可以是处理器320的运行存储器。本地存储器330可以是缓冲存储器和/或高速缓冲存储器。本地存储器330可以包括易失性ram或非易失性ram,诸如sram、dram、sdram、fram、pram、mram或rram。

主机接口310可以促进与主机100的通信。处理器320可以经由主机接口310接收正常命令和正常地址,并根据接收的命令和地址访问非易失性存储器340。处理器320可以基于预定规则经由主机接口310接收命令和地址,并且响应于接收的命令和地址执行特定操作。当处理器320顺序地接收到预先约定的扇区地址时,处理器320可以进入认证模式。处理器320可以在认证模式下执行认证过程,并且可以经由主机接口310将执行认证过程的结果输出到主机。存储装置300可以包括执行认证过程的固件和/或其他程序代码,并且处理器320可以通过运行固件和/或其他程序代码来执行认证过程。然而,根据本发明构思的各种实施例,认证过程不限于使用固件和/或其他程序代码来实现,并且可以使用硬件或程序代码与硬件的组合来实现。

根据本发明构思的一些实施例的系统10中所包括的存储装置300可以被配置为包括通用模式和认证模式在内的不同操作状态或模式。在通用模式下,存储装置300可以执行从主机100接收的命令所请求的操作。例如,响应于来自主机100的读取命令和地址,存储装置300可以从对应于该地址的存储区域读取数据并将读出的数据输出到主机100。响应于来自主机100的写入命令和地址,存储装置300可以将与写入命令一起接收的数据写入对应于该地址的存储区域中。

在认证模式下,存储装置300可以执行认证操作或过程。例如,存储装置300可以将与命令(读取命令或写入命令)一起接收的随机认证地址用作执行认证过程的数据。根据一些实施例,相比于通用模式而言,在认证模式下,即使当存储装置300接收到读取命令或写入命令时,存储装置300也不会对非易失性存储器340执行读取操作或写入操作。

图3是根据本发明构思的一些实施例的对存储装置进行认证的系统的操作的流程图。

参照图1和图3,当存储装置300进入用于执行认证操作或过程的认证模式时,在框s10处,存储装置300可以执行认证操作或过程(s20)。存储装置300可以被设置为或配置为通用模式或认证模式。对从主机100接收的命令和地址进行处理的方法可以根据模式的类型而变化。存储装置300可以在工作于通用模式时在用户的控制下进入认证模式,或者可以在连接到中间转换器140之后在用户的控制下进入认证模式。

当在框s10处存储装置300进入认证模式时,主机100可以发送读取命令和随机认证地址(s210)。在认证模式(s20)下,在框s110处,存储装置300可以接收读取命令和随机认证地址。根据本发明构思的一些实施例,随机认证地址可以不具有确定的特定值,而是可以具有随机值。

在框s120处,存储装置300可以执行认证过程。例如,存储装置300可以通过使用接收的随机认证地址的至少一部分作为用于执行认证过程的数据来执行认证过程。存储装置300可以通过执行认证过程来生成结果数据。

根据一些实施例,即使当存储装置300在认证模式下接收到读取命令或写入命令时(s20),存储装置300也不会基于接收的读取命令或写入命令来执行操作。存储装置300可以通过使用与读取命令或写入命令一起接收的随机认证地址来执行认证操作或过程。尽管在图3中示出了接收读取命令的示例,但是根据本发明构思的实施例的系统不限于此,下面将参照图8描述接收写入命令的示例。

用于认证的内部认证过程可以是包括例如以下技术的各种公用或私用认证和/或加密技术中的任何一种:基于哈希的消息认证码(hmac)、rivestshamiradleman(rsa)技术、定制算法(customalgorithm)、数字签名算法(dsa)、椭圆曲线数字签名算法(ecdsa)、密码块链接消息认证码(cbc-mac)、md5、安全哈希算法-256(sha256)、哈希算法标准160(has160)、seed和/或crypton。根据本发明构思的实施例的系统不限于上述类型的认证技术和过程。

根据一些实施例,存储装置300可以多次接收读取命令和随机认证地址。存储装置300接收读取命令和随机认证地址的次数可以根据用于执行认证操作或过程的数据的位数而变化。下面将参照图7描述存储装置300多次接收读取命令和随机认证地址的示例。

在执行认证操作或过程之后,存储装置300可以输出与执行认证操作或过程的结果相对应的结果数据(s130)。该结果数据可以被发送到主机100。

主机100可以接收结果数据。在框s220处,主机100可以基于结果数据确定认证是否成功。主机100可以被配置为执行与在存储装置300中执行的认证操作或过程相同的内部认证操作或过程,并且可以将执行内部认证操作或过程的结果与接收的结果数据进行比较,从而确定对存储装置300的认证是否已成功。主机100的程序121可以根据基于结果数据的确定方法来确定是否已经执行了对存储装置300的认证。

因为根据本发明构思的一些实施例的对存储装置300进行认证的系统10将读取命令发送到存储装置300并执行认证操作或过程,所以与发送写入命令和写入数据并执行认证操作的传统认证技术相比,存储装置300的非易失性存储器(例如,图2的非易失性存储器340)不需要具有用于执行认证操作或过程的额外的存储容量。因此,即使当存储装置300的非易失性存储器已满时,系统10仍可以执行认证操作。

此外,因为存储装置300可以通过使用读取命令来执行认证操作或过程,所以即使在存储装置300中设置了写入保护,存储装置300也可以执行认证操作或过程。

图4是根据本发明构思的一些实施例的系统的操作的流程图。具体地,图4示出了根据本发明构思的一些实施例的图3的框s10的存储装置300进入认证模式的操作。根据一些实施例,当用户已经经由用户接口(例如,图1的用户接口130)请求要执行认证模式时,存储装置300可以进入认证模式(框s10)。根据另一实施例,在存储装置(例如,图1的存储装置300)连接到中间转换器(例如,图1的中间转换器140)之后,存储装置300可以在用户的控制下进入认证模式(框s10)。

参照图1和图4,当进入认证模式时(框s10),存储装置300可以经由中间转换器140接收命令和第n地址(框s12)。在一些实施例中,n可以是从1至k的自然数,其中k可以是等于或大于2的自然数。因此,当进入认证模式时(框s10),存储装置300可以接收命令和第1地址(方框s11)。

在框s13处,存储装置300可以确定接收的命令是否是读取命令。当接收的命令是读取命令时,存储装置300可以确定第n地址是否与用于进入认证模式的第n扇区地址相同(框s14)。当第n地址与第n扇区地址相同时,存储装置300可以确定n是否与k相同(框s16)。当n与k不相同时,在框s17处,可以对n+1而不是n再次执行框s13、s14和s16的操作。

例如,当第1地址与约定好进入认证模式的第1扇区地址相同时,存储装置300可以接收命令和第2地址。存储装置300可以确定第2地址是否与用于进入认证模式的第2扇区地址相同。

根据一些实施例,为了进入认证模式,主机100和存储装置300可以被配置为约定存储装置300内的第1扇区地址至第k扇区地址。因此,存储装置300可以顺序地确定从主机100连续地接收的第1地址至第k地址是否分别与进入认证模式所需的第1扇区地址至第k扇区地址相同。当以第k次序输入的第k地址与第k扇区地址相同时,存储装置300可以在认证模式中执行认证操作或过程(框s20)。第k地址可以是存储装置300需要接收以进入认证模式的地址当中的最后的地址。

当接收的命令是写入命令而不是读取命令时或者当接收的第n地址与用于进入认证模式的第n扇区地址不相同时,可以重置用于进入认证模式的状态(框s15)。因此,存储装置300可以确定稍后接收的地址是否与第1扇区地址相同,并且可以重新开始用于进入认证模式的过程(框s10)。

在正在接收读取命令和第1地址至第k地址的同时,当存在存储在分别对应于第1地址至第k地址的第1存储区域至第k存储区域中的数据项时,存储装置300可以输出分别存储在第1存储区域至第k存储区域中的第1数据至第k数据。输出的第1数据至第k数据可以被发送到主机100。

图5是根据本发明构思的一些实施例的系统的操作的流程图。图5是当接收到作为最后的地址的第k地址并且第k地址与第k扇区地址相同时主机100执行的示例操作的流程图。

参照图1、图4和图5,响应于读取命令和按顺序在第k位置输入的第k地址,存储装置300可以输出预先指定的签名数据。

在框s211处,主机100可以接收签名数据。在框s212处,主机100可以基于接收的签名数据来确定存储装置300已进入认证模式。此后,当存储装置300进入认证模式时,主机100可以输出命令和随机地址,使得存储装置300可以响应于该命令和随机地址而执行认证操作或过程。存储装置300可以基于接收的随机地址来执行认证操作或过程。

根据本发明构思的一些实施例,关于签名数据的信息可以预先存储在主机100的主存储器120中。例如,程序121可以将存储在主存储器120中的关于签名数据的信息与经由中间转换器140接收的签名数据进行比较,并且基于比较的结果来确定存储装置300已经在认证模式下执行了认证操作或过程。换句话说,主机100可以顺序地输出第1地址至第k地址,使得存储装置300可以进入认证模式,并且可以基于从存储装置300接收的签名数据来确定存储装置300已经进入了认证模式。

图6是根据本发明构思的一些实施例的系统的操作的流程图。图6是根据本发明构思的一些实施例的其中存储装置300在认证模式下执行认证操作或过程的图3的框s20的操作的流程图。存储装置300可以在认证模式下执行第一认证模式操作(s20_1)和第二认证模式操作(s20_2)(s20)。可以通过接收被设置为特定值的特定认证地址来执行第一认证模式操作(s20_1),并且可以通过接收随机认证地址来执行第二认证模式操作(s20_2)。可以类似于图3的认证模式(s20)中的操作来执行第二认证模式操作(s20_2)。

参照图1和图6,当存储装置300进入认证模式时,在框s210_1处,主机100可以发送读取命令和特定认证地址。与随机认证地址相比,特定认证地址可以是主机100与存储装置300之间约定的地址,即预定地址。

在框s110_1处,存储装置300可以通过从中间转换器140接收读取命令和特定认证地址来执行第一认证模式操作(s20_1)。存储装置300可以输出与特定认证地址相对应的特定数据(s120_1)。特定数据的值可以是在主机100与存储装置300之间约定的用以执行第一认证模式操作的值(s20_1)。

主机100可以接收特定数据。在框s220_1处,主机100可以基于接收的特定数据来确定存储装置300的第一认证模式操作(s20_1)是否成功。换句话说,当特定数据的值是主机100与存储装置300之间约定的值时,主机100可以确定出第一认证模式操作(s20_1)已经成功,并且可以执行第二认证模式操作(s20_2)。另一方面,当特定数据的值与约定的值不同时,主机100可以确定认证失败。

当确定出存储装置300的第一认证模式操作(s20_1)已成功时,主机100可以发送读取命令和与特定认证地址不同的随机认证地址,使得存储装置300可以执行第二认证模式操作(s20_2)(s210_2)。

在框s110_2处,存储装置300可以经由中间转换器140接收读取命令和随机认证地址。随机认证地址不具有确定的特定值而是可具有随机值。随机认证地址可以与在第一认证模式操作期间使用的特定认证地址不同(s20_1)。

在框s120_2处,存储装置300可以通过使用接收的随机认证地址的至少一部分作为用于执行认证操作或过程的数据来执行认证操作或过程。存储装置300可以通过执行认证操作或过程来生成结果数据,并输出结果数据(s130_2)。因此,仅当接收到特定认证地址时,存储装置300才会输出与特定认证地址相对应的特定数据。当接收到除特定认证地址之外的随机认证地址时,存储装置300可以使用随机认证地址的至少一部分作为认证操作或过程的数据。

主机100可以接收结果数据。在框s220_2处,主机100可以基于结果数据确定存储装置300的第二认证模式操作(s20_2)是否成功。

尽管在图6中第二认证模式操作(s20_2)在第一认证模式操作(s20_1)之后,但是根据本发明构思的实施例的验证存储装置的系统和方法不限于此。在其他实施例中,第二认证模式操作(s20_2)可以在第一认证模式操作(s20_1)之前。

主机100可以基于第一认证模式操作(s20_1)和第二认证模式操作(s20_2)是否成功来确定整个认证操作或过程是否成功。

因为根据本发明构思的实施例的对存储装置300进行认证的系统10将读取命令发送到存储装置300并执行第一认证模式操作(s20_1)和第二认证模式操作(s20_2),所以与使用写入命令和写入数据的传统认证技术相比,存储装置300不需要具有额外的存储容量。因此,即使当存储装置300已满时,系统10也能够执行认证操作或过程。

此外,因为存储装置300通过使用读取命令来执行第一认证模式操作(s20_1)和第二认证模式操作(s20_2),所以即使在存储装置300中设置了写入保护,存储装置300也能够执行认证操作或过程。

图7是根据本发明构思的其他实施例的系统的操作的流程图。图7是根据其他实施例的其中存储装置300在认证模式下执行认证操作的图3的示例认证操作(s20)的流程图。图7示出了存储装置300多次接收读取命令和随机认证地址的示例。

参照图1和图7,存储装置300可以多次接收读取命令和随机认证地址。当用于执行认证操作或过程的数据的位数大于随机认证地址的位数时,存储装置300可以多次接收随机认证地址并且可以从接收的多个随机认证地址中获得用于执行认证操作或过程的数据。现在将说明和描述接收第一随机认证地址和第二随机认证地址的示例。

当存储装置300进入认证模式时,主机100可以发送读取命令和第一随机认证地址(s211)。第一随机认证地址可以不具有确定的特定值,并且可以具有随机值。

在框s111处,存储装置300可以从中间转换器140接收读取命令和第一随机认证地址。要用于执行认证操作或过程的第一随机认证地址的至少一部分可以临时存储在存储装置300中的本地存储器(例如,图2的本地存储器330)中。

存储装置300可以响应于接收的读取命令输出随机数据(s112)。随机数据可以包括指示了已经成功接收到读取命令和第一随机认证地址的消息,或者指示了第一随机认证地址的至少一部分已经被存储在内部本地存储器中的消息,根据本发明构思的各种实施例,随机数据可以是与执行认证操作或过程无关的数据。

主机100可以接收随机数据。主机100可以发送读取命令和第二随机认证地址(s212)。在框s113处,存储装置300可以从中间转换器140接收读取命令和第二随机认证地址。要用于执行认证操作或过程的第二随机认证地址的至少一部分可以被临时存储在存储装置300中的本地存储器中。

在操作s121中,存储装置300可以通过使用第一随机认证地址的所存储的部分或全部第一随机认证地址以及第二随机认证地址的所存储的部分或全部第二随机认证地址,作为用于执行认证操作或过程的数据,来执行认证操作或过程。尽管参照图7描述了第一随机认证地址和第二随机认证地址,但是存储装置300接收读取命令和随机认证地址的次数可以根据用于执行认证操作或过程的数据的位数而变化,并且可以根据接收的随机认证地址的位数而变化。随着用于执行认证操作或过程的数据的位数增加,主机100输出随机认证地址的次数会增加,并且存储装置300接收随机认证地址的次数也会增加。在主机100与存储装置300之间发送或接收的随机认证地址的数目可以是预定的。

存储装置300可以输出与执行认证算法的结果相对应的结果数据(s131)。因为在主机100与存储装置300之间发送或接收的随机认证地址的数目是预定的,所以主机100可以确定出结果数据是执行认证操作或过程的结果,而不是在结果数据之前的随机数据。

主机100可以接收结果数据。在框s220处,主机100可以基于结果数据确定存储装置300的认证操作是否已成功。主机100的程序121可以基于结果数据来确定是否已经执行了认证操作。

图8是根据本发明构思的其他实施例的系统的操作的流程图。图8是根据其他实施例的其中存储装置300在认证模式下执行认证操作的图3的示例认证操作(s20)的流程图。图8示出了存储装置300多次接收随机认证地址的示例。与图7相比,在图8中,存储装置300可以接收写入命令。为了简明起见,将不再描述图8中的与图7中的附图标记相同的附图标记。

参照图1和图8,在主机100发送读取命令和第一随机认证地址之后(s211),主机100可以接收随机数据,然后可以发送写入命令和第二随机认证地址(s212_1)。主机100还可以输出请求被写入的写入数据。

在框s113_1处,存储装置300可以从中间转换器140接收写入命令和第二随机认证地址。要用于执行认证操作或过程的第二随机认证地址的至少一部分可以被临时存储在存储装置300中的本地存储器(例如,图2的本地存储器330)中。存储装置300还可以接收请求被写入的写入数据,但是,因为存储装置300正在执行认证操作而不是通用操作,所以接收的写入数据不被写入到存储装置300。尽管在图8中,框s113_1的操作在框s111的操作之后,但是根据本发明构思的实施例的系统不限于此。因此,存储装置300可以在接收写入命令和第二随机认证地址之后接收读取命令和第一随机认证地址。

在框s121处,存储装置300可以通过使用第一随机认证地址的所存储的部分或全部第一随机认证地址以及第二随机认证地址的所存储的部分或全部第二随机认证地址作为数据,来执行认证操作或过程。存储装置300可以通过使用与读取命令或写入命令一起接收的随机认证地址作为数据来执行认证操作或过程。

主机100可以将读取命令发送到存储装置300(s213)。读取命令是使存储装置300能够输出通过执行认证操作或过程而获得的结果数据并将结果数据发送到主机100的命令。

存储装置300可以响应于读取命令输出与执行认证操作或过程的结果相对应的结果数据(s131)。在框s220处,主机100可以基于结果数据确定存储装置300的认证操作是否已成功。

尽管参照图8描述了第一随机认证地址和第二随机认证地址,但是存储装置300接收读取/写入命令和随机认证地址的次数可以根据用于执行认证操作或过程的数据的位数而变化,并且可以根据接收的随机认证地址的位数而变化。

因为根据本发明构思的一些实施例的系统中所包括的存储装置300在认证模式下接收到读取命令或写入命令时不执行与读取命令或写入命令相对应的操作,所以存储装置300可以基于与读取命令或写入命令一起接收的随机认证地址来执行认证操作,而不管命令的类型如何。因此,存储装置300可以在认证模式下接收读取命令或写入命令,并且响应于读取命令或写入命令执行认证操作或过程。

图9是根据本发明构思的其他实施例的操作系统的方法的流程图。图9是根据其他实施例的存储装置300在认证模式下执行认证操作的图3的示例认证操作(s20)的流程图。图9示出了存储装置300在认证模式下多次接收读取命令或写入命令的示例。因此,与图7相比,在图9中,存储装置300可以接收写入命令。为了简明起见,将不再描述图9中的与图7中的附图标记相同的附图标记。

参照图1和图9,在主机100发送读取命令和第一随机认证地址(s211)之后,主机100可以接收随机数据,然后可以发送写入命令和随机写入数据(s212_2)。此时,主机100还可以输出写入地址。

在框s113_2处,存储装置300可以从中间转换器140接收写入命令和随机写入数据。当存储装置300接收随机写入数据时,与当存储装置300接收随机认证地址时相比,更多条执行认证操作或过程所需的信息可以被发送到存储装置300。因此,当接收到随机写入数据并且使用随机写入数据来执行认证操作或过程时,可以减少主机100和存储装置300发送或接收命令、随机认证地址和随机写入数据的次数。

存储装置300可以将要用于执行认证操作或过程的随机写入数据的至少一部分临时存储在存储装置300中的本地存储器(例如,图2中的本地存储器330)中。因为存储装置300正在执行认证操作,所以存储装置300不会将随机写入数据写入到非易失性存储器(例如,图2的非易失性存储器340)。随机写入数据可以仅用于执行认证操作。尽管在图9中,框s113_2的操作在框s111的操作之后,但是根据本发明构思的实施例的系统不限于此。因此,存储装置300可以在接收写入命令和随机写入数据之后接收读取命令和第一随机认证地址。

在框s121_2处,存储装置300可以通过使用第一随机认证地址的所存储的部分或全部第一随机认证地址以及随机写入数据的所存储的部分或全部随机写入数据作为用于执行认证算法的数据来执行认证操作或过程。

主机100可以向存储装置300发送读取命令,该读取命令使得存储装置300能够输出通过执行认证算法而获得的结果数据(s213)。存储装置300可以响应于读取命令而输出与执行认证操作或过程的结果相对应的结果数据(s131)。在框s220处,主机100可以基于结果数据确定存储装置300的认证操作是否已成功。

图10是根据本发明构思的其他实施例的系统的操作的流程图。图10是用于确定认证是否成功的主机100的示例操作的流程图(图3的框s220)。

参照图1和图10,在框s211处,主机100可以接收结果数据。在框s222处,主机100可以基于结果数据确定认证是否已成功。主机100的程序121可以包括与存储在存储装置300中的内部逻辑相同的内部逻辑。程序121可以通过将执行内部认证操作或过程的结果与接收的结果数据进行比较来确定存储装置300的认证操作是否已成功。例如,当执行内部认证操作或过程的结果与接收的结果数据无关时,程序121可以确定认证失败。

在框s223处,当对存储装置300的认证成功时,主机100可以为存储装置300设置认证标志。认证标志是指示了存储装置300已经完成认证的标志,并且可以被存储在存储装置300中。当对存储装置300存在差异化需求时,主机100可以检查存储在存储装置300中的认证标志。在确定出对存储装置300的认证已经完成之后,主机100可以请求存储装置300执行特定操作。

图11是根据本发明构思的其他实施例的由对存储装置进行认证的系统执行的认证方法的流程图。这里将不再描述图11中的与图3中的附图标记相同的附图标记。与图3相比,图11示出了存储装置接收写入命令的示例。

参照图1和图11,当存储装置300进入用于执行认证操作的认证模式时,在框s10处,存储装置300可以在认证模式下执行认证操作(s20')。图4的描述可以应用于框s10的用于进入认证模式的操作。

当在框s10处存储装置300进入认证模式时,主机100可以发送写入命令和随机认证地址(s310)。在认证模式(s20')下,在框s110'处,存储装置300可以经由中间转换器140接收写入命令和随机认证地址。随机认证地址不具有确定的特定值,而是可以具有随机值。

在框s120处,存储装置300可以通过使用接收的随机认证地址的至少一部分,作为用于执行认证操作或过程的数据,来执行认证操作或过程。在认证模式(s20')下,即使当存储装置300接收到写入命令时,存储装置300也不会基于接收的写入命令来执行操作。因此,即使当写入数据与写入命令和随机认证地址一起被输出(s310)并且存储装置300接收写入数据时,存储装置300也不会对接收的写入数据执行写入操作。

根据一些实施例,存储装置300可以多次接收写入命令和随机认证地址。存储装置300接收写入命令和随机认证地址的次数可以根据执行认证操作或过程所需的数据的位数而变化。下面将参照图12描述存储装置300多次接收写入命令和随机认证地址的示例。

主机100可以将读取命令发送到存储装置300(s320)。读取命令是使存储装置300能够输出通过执行认证操作或过程而获得的结果数据并将结果数据发送到主机100的命令。存储装置300可以响应于读取命令而输出与执行认证操作或过程的结果相对应的结果数据(s130)。结果数据可以被发送到主机100。主机100可以经由中间转换器接收结果数据。在框s220处,主机100可以基于结果数据确定认证是否已成功。

根据本发明构思的实施例的对存储装置进行认证的系统10将写入命令发送到存储装置300并执行认证操作,但是不会在认证模式下执行写入操作。因此,存储装置300的非易失性存储器(例如,图2的非易失性存储器340)不需要用于执行认证操作的额外存储容量,即使当存储装置300的非易失性存储器已满时,系统10也能够执行认证操作。

图12是根据本发明构思的其他实施例的操作系统的方法的流程图。图12是根据一些实施例的存储装置300在认证模式下执行认证操作的图11的示例认证操作(s20')的流程图。图12示出了存储装置300多次接收写入命令和随机认证地址的示例。

参照图12,存储装置300可以多次接收写入命令和随机认证地址。当执行认证操作或过程所需的数据的位数大于随机认证地址的位数时,存储装置300可以多次接收随机认证地址并且可以从接收的多个随机认证地址中获得执行认证操作或过程所需的数据。

当存储装置300进入认证模式时,主机100可以发送写入命令和第一随机认证地址(s311)。第一随机认证地址不具有确定的特定值,而是可以具有随机值。

在框s111'处,存储装置300可以从中间转换器140接收写入命令和第一随机认证地址。要用于执行认证操作或过程的第一随机认证地址的至少一部分可以被临时存储在存储装置300中的本地存储器(例如,图2的本地存储器330)中。主机100可以将读取命令发送到存储装置300(s312)。读取命令可以是用于输出通过接收第一随机认证地址而获得的结果的命令。存储装置300可以响应于接收的读取命令而输出响应(s112')。该响应可以包括指示了已经成功地接收到写入命令和第一随机认证地址的消息,或者指示了第一随机认证地址的至少一部分已经被存储在内部本地存储器中的消息,并且该响应可以是与执行认证操作或过程无关的数据。

主机100可以接收随机数据,并且可以发送写入命令和第二随机认证地址(s313)。在框s113'处,存储装置300可以从中间转换器140接收写入命令和第二随机认证地址。要用于执行认证操作或过程的第二随机认证地址的至少一部分可以被临时存储在存储装置300的内部本地存储器中。

在框s121处,存储装置300可以通过使用第一随机认证地址的所存储的部分或全部第一随机认证地址以及第二随机认证地址的所存储的部分或全部第二随机认证地址,作为用于执行认证操作或过程的数据,来执行认证操作或过程。尽管在图12中描述了第一随机认证地址和第二随机认证地址,但是存储装置300接收随机认证地址的次数可以根据执行认证操作或过程所需的数据的位数而变化,并且可以根据接收的随机认证地址的位数而变化。在主机100和存储装置300之间发送或接收的随机认证地址的数目可以是预定的。

主机100可以接收读取命令(s320)。读取命令是使得存储装置300能够输出执行认证操作或过程的结果并将结果发送到主机100的命令。存储装置300可以响应于读取命令而输出与执行认证操作或过程的结果相对应的结果数据(s131)。主机100可以接收结果数据。在框s220处,主机100可以基于结果数据确定存储装置300的认证操作是否已成功。

图13是根据本发明构思的一些实施例的操作系统的方法的流程图。图13是根据一些实施例的存储装置300在认证模式下执行认证操作的图11的示例认证操作(s20')的流程图。图13示出了存储装置300在认证模式下多次接收写入命令的示例。

参照图13,在主机100发送写入命令和第一随机认证地址(s311)之后,主机100可以发送读取命令(s312),因此可以接收对读取命令的响应。主机100可以基于接收的响应来发送写入命令和随机写入数据(s313_2)。此时,主机100还可以输出写入地址。

在框s113_2'处,存储装置300可以从中间转换器140接收写入命令和随机写入数据。要用于执行认证操作或过程的随机写入数据的至少一部分可以被临时存储在存储装置300的内部本地存储器(例如,图2的本地存储器330)中。因为存储装置300正在执行认证操作,所以存储装置300不将随机写入数据写入到存储装置300的非易失性存储器(例如,图2的非易失性存储器340)。随机写入数据可以仅用于执行认证操作。

尽管在图13中,框s113_2'的操作在框s111'的操作之后,但是根据本发明构思的实施例的系统不限于此。因此,存储装置300可以在接收写入命令和随机写入数据(s113_2')之后接收读取命令和第一随机认证地址(s111')。

在框s121_2'处,存储装置300可以通过使用第一随机认证地址的所存储的部分或全部第一随机认证地址以及随机写入数据的所存储的部分或全部随机写入数据,作为用于执行认证操作或过程的数据,来执行认证操作或过程。

主机100可以发送读取命令,该读取命令使得存储装置300能够输出执行认证操作或过程的结果并将结果发送到主机100(s320)。存储装置300可以响应于读取命令而输出与执行认证操作或过程的结果相对应的结果数据(s131)。在框s220处,主机100可以基于结果数据确定存储装置300的认证操作是否已成功。

附图中的流程图和框图示出了根据本公开的各个方面的系统、方法和计算机程序产品的可能实施方案的架构、功能和操作。在这方面,流程图或框图中的每个框可以表示代码的模块、片段或一部分,其包括用于实现一个或多个指定逻辑功能的一个或更多个可执行指令。还应当注意的是,在一些可选实施方案中,在框中注释的功能可以不按图中指出的顺序发生。例如,连续示出的两个框实际上可以基本同时执行,或者这些框有时可以以相反的顺序执行,这取决于所涉及的功能。还应当注意的是,框图和/或流程图中的每个框以及框图和/或流程图中的框的组合可以由执行指定功能或动作的基于专用硬件的系统来实现,或者由专用硬件和计算机指令的组合来实现。

尽管已经参照本发明构思的实施例具体示出和描述了本发明构思,但是应当理解的是,在不脱离所附权利要求的精神和范围的情况下,可以在其中做出形式和细节上的各种改变。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1