CN113377692A - 计算系统及其操作方法 - Google Patents

计算系统及其操作方法 Download PDF

Info

Publication number
CN113377692A
CN113377692A CN202010910005.3A CN202010910005A CN113377692A CN 113377692 A CN113377692 A CN 113377692A CN 202010910005 A CN202010910005 A CN 202010910005A CN 113377692 A CN113377692 A CN 113377692A
Authority
CN
China
Prior art keywords
host
authentication code
request
storage device
memory
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
Application number
CN202010910005.3A
Other languages
English (en)
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.)
SK Hynix Inc
Original Assignee
SK Hynix Inc
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 SK Hynix Inc filed Critical SK Hynix Inc
Publication of CN113377692A publication Critical patent/CN113377692A/zh
Pending legal-status Critical Current

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/06Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols the encryption apparatus using shift registers or memories for block-wise or stream coding, e.g. DES systems or RC4; Hash functions; Pseudorandom sequence generators
    • H04L9/0643Hash functions, e.g. MD5, SHA, HMAC or f9 MAC
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/14Protection against unauthorised use of memory or access to memory
    • G06F12/1458Protection against unauthorised use of memory or access to memory by checking the subject access rights
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/32Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials
    • H04L9/3226Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials using a predetermined code, e.g. password, passphrase or PIN
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/14Protection against unauthorised use of memory or access to memory
    • G06F12/1458Protection against unauthorised use of memory or access to memory by checking the subject access rights
    • G06F12/1466Key-lock mechanism
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/14Protection against unauthorised use of memory or access to memory
    • G06F12/1408Protection against unauthorised use of memory or access to memory by using cryptography
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/14Protection against unauthorised use of memory or access to memory
    • G06F12/1416Protection against unauthorised use of memory or access to memory by checking the object accessibility, e.g. type of access defined by the memory independently of subject rights
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/14Protection against unauthorised use of memory or access to memory
    • G06F12/1416Protection against unauthorised use of memory or access to memory by checking the object accessibility, e.g. type of access defined by the memory independently of subject rights
    • G06F12/1425Protection against unauthorised use of memory or access to memory by checking the object accessibility, e.g. type of access defined by the memory independently of subject rights the protection being physical, e.g. cell, word, block
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/30Authentication, i.e. establishing the identity or authorisation of security principals
    • G06F21/31User authentication
    • G06F21/33User authentication using certificates
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/60Protecting data
    • G06F21/602Providing cryptographic facilities or services
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/60Protecting data
    • G06F21/64Protecting data integrity, e.g. using checksums, certificates or signatures
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/70Protecting specific internal or peripheral components, in which the protection of a component leads to protection of the entire computer
    • G06F21/78Protecting specific internal or peripheral components, in which the protection of a component leads to protection of the entire computer to assure secure storage of data
    • 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/062Securing storage systems
    • 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/062Securing storage systems
    • G06F3/0622Securing storage systems in relation to access
    • 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
    • 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]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/08Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords
    • H04L9/0816Key establishment, i.e. cryptographic processes or cryptographic protocols whereby a shared secret becomes available to two or more parties, for subsequent use
    • H04L9/085Secret sharing or secret splitting, e.g. threshold schemes
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/32Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials
    • H04L9/3236Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials using cryptographic hash functions
    • H04L9/3242Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials using cryptographic hash functions involving keyed hash functions, e.g. message authentication codes [MACs], CBC-MAC or HMAC

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Computer Hardware Design (AREA)
  • Human Computer Interaction (AREA)
  • Signal Processing (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Software Systems (AREA)
  • General Health & Medical Sciences (AREA)
  • Power Engineering (AREA)
  • Bioethics (AREA)
  • Health & Medical Sciences (AREA)
  • Techniques For Improving Reliability Of Storages (AREA)

Abstract

本申请公开了一种电子装置、计算系统、主机以及操作主机的方法。一种计算系统包括主机和存储装置。主机生成主机认证码。存储装置从主机接收关于安全性写入的、一系列第一请求至第三请求之中的第一请求以及写入数据,基于该写入数据来生成装置认证码,从主机接收第二请求和主机认证码,并且基于主机认证码和装置认证码的比较结果来对写入数据执行编程操作。

Description

计算系统及其操作方法
相关申请的交叉引用
本申请要求于2020年3月9日提交的申请号为10-2020-0029238的韩国专利申请的优先权,该韩国专利申请通过引用整体并入本文。
技术领域
本公开的各个实施例总体涉及一种电子装置,并且更特别地,涉及一种计算系统及其操作方法。
背景技术
存储装置可以响应于诸如计算机或智能电话的主机装置的控制来存储数据。存储装置可以包括存储数据的存储器装置和控制该存储器装置的存储器控制器。通常,存在两种类型的存储器装置:易失性存储器装置和非易失性存储器装置。
易失性存储器装置可以仅当被供应电力时存储数据,而当不供应电力时可能会丢失所存储的数据。易失性存储器装置的示例包括静态随机存取存储器(SRAM)和动态随机存取存储器(DRAM)。
即使当电力供应中断或阻塞时,非易失性存储器装置也可以保留所存储的数据。非易失性存储器装置的示例包括只读存储器(ROM)、可编程ROM(PROM)、电可编程ROM(EPROM)、电可擦除可编程ROM(EEPROM)和闪速存储器。
发明内容
本公开的各个实施例涉及一种具有提高的写入性能的计算系统以及该计算系统的操作方法。
根据实施例,一种计算系统可以包括主机和存储装置。主机可以生成主机认证码。存储装置可以从主机接收关于安全性写入的、包括第一请求和第二请求的一系列请求之中的第一请求以及写入数据,基于该写入数据来生成装置认证码,从主机接收第二请求和主机认证码,并且基于主机认证码和装置认证码的比较结果来对写入数据执行编程操作。
根据实施例,一种主机可以包括主机存储器和主机处理器。主机存储器可以存储写入数据。主机处理器可以将关于安全性写入的、至少包括第一请求和第二请求的一系列请求之中的第一请求和写入数据提供到存储装置,提供写入数据并且并行生成主机认证码,并且将第二请求和主机认证码提供到存储装置。
根据实施例,一种操作主机以控制存储装置的安全性写入的方法可以包括:将关于安全性写入的、至少包括第一请求和第二请求的一系列请求之中的第一请求和写入数据提供到存储装置,并且并行地生成主机认证码;从存储装置接收指示是否已经接收到第一请求的第一响应;并且将第二请求和主机认证码提供到存储装置。
根据实施例,一种计算系统可以包括主机和存储装置。存储装置可以包括存储器装置,该存储器装置包括写入保护区域。主机可以并行地执行以下操作:将关于安全性写入的第一请求和写入数据提供到装置存储的操作,以及基于写入数据和与存储装置共享的密钥来生成主机认证码的操作。
附图说明
图1是示出根据本公开的实施例的计算系统的示图。
图2是示出根据实施例的安全性写入的示图。
图3是示出根据实施例的安全性写入的示图。
图4是示出根据实施例的诸如图1中所示的计算系统的配置和操作的示图。
图5是示出诸如图4中所示的数据验证组件的示图。
图6是示出存储器控制器的另一实施例的示图。
图7是示出应用根据本公开的实施例的存储装置的存储卡系统的框图。
图8是示出应用根据本公开的实施例的存储装置的固态驱动器(SSD)系统的框图。
图9是示出应用根据本公开的实施例的存储装置的用户系统的框图。
具体实施方式
本文提供了具体的结构和功能描述以仅描述本发明的实施例。然而,如本领域技术人员将从本公开中理解的,可以以各种其它方式配置和/或实施本发明。因此,本发明不限于所公开的实施例中的任意一个,也不限于本申请文件中描述的任何具体细节。而且,在整个说明书中,对“实施例”、“另一实施例”等的参考不一定仅针对一个实施例,并且对任何这种短语的不同参考不一定针对相同的实施例。当本文中使用术语“实施例”时不一定针对所有的实施例。
图1是示出根据本公开的实施例的计算系统400的示图。
参照图1,计算系统400可以包括存储装置50和主机300。
存储装置50可以包括存储器装置100和控制存储器装置100的操作的存储器控制器200。存储装置50可以响应于主机300的控制来存储数据。存储装置50的示例包括蜂窝电话、智能电话、MP3播放器、膝上型计算机、台式计算机、游戏机、电视、平板PC和车载式信息娱乐系统。
根据作为与主机300的通信方法的主机接口,存储装置50可以被配置为各种类型的存储装置中的任意一种。例如,存储装置50可以被配置为固态驱动器(SSD),多媒体卡(MMC)、eMMC、RS-MMC和微型MMC形式的多媒体卡,SD、迷你SD和微型SD形式的安全数字卡,通用串行总线(USB)存储装置,通用闪存(UFS)装置,个人计算机存储卡国际协会(PCMCIA)卡型存储装置,外围组件互连(PCI)卡型存储装置,高速PCI(PCI-e或PCIe)卡型存储装置,紧凑型闪存(CF)卡,智能媒体卡或记忆棒。
存储装置50可以被制造为各种类型的封装中的任意一种。例如,存储装置50可以被制造为堆叠封装(POP)、系统级封装(SIP)、片上系统(SOC)、多芯片封装(MCP)、板上芯片(COB)、晶圆级制造封装(WFP)或晶圆级堆叠封装(WSP)。
存储器装置100可以存储数据。存储器装置100可以响应于存储器控制器200的控制而操作。存储器装置100可以包括存储器单元阵列,该存储器单元阵列包括存储数据的多个存储器单元。
存储器单元中的每个可以是存储一位数据的单层单元(SLC)、存储两位数据的多层单元(MLC)、存储三位数据的三层单元(TLC)或存储四位数据的四层单元(QLC)。
存储器单元阵列可以包括多个存储块,每个存储块可以包括多个存储器单元。每个存储块可以包括多个页面。根据实施例,页面可以是将数据存储在存储器装置100中的单位,或读取存储在存储器装置100中的数据的单位。
存储块可以是擦除数据的单位。根据实施例,存储器装置110可以是:双倍数据速率同步动态随机存取存储器(DDR SDRAM)、低功率双倍数据速率4(LPDDR4)SDRAM、图形双倍数据速率(GDDR)SDRAM、低功率DDR(LPDDR)、Rambus动态随机存取存储器(RDRAM)、NAND闪速存储器、垂直NAND闪速存储器、NOR闪速存储器、电阻式随机存取存储器(RRAM)、相变存储器(PRAM)、磁阻随机存取存储器(MRAM)、铁电随机存取存储器(FRAM)、或自旋转移力矩随机存取存储器(STT-RAM)。通过示例的方式,假设在下面描述的上下文中,存储器装置110是NAND闪速存储器。
存储器装置100可以从存储器控制器200接收命令和地址,并且访问存储器单元阵列中的由地址选择的区域。也就是说,存储器装置100可以对由地址选择的区域执行命令指示的操作。例如,存储器装置100可以执行写入操作(或编程操作)、读取操作、和擦除操作。在编程操作期间,存储器装置100可以将数据编程到由地址选择的区域。在读取操作期间,存储器装置100可以从由地址选择的区域中读取数据。在擦除操作期间,存储器装置100可以擦除存储在由地址选择的区域中的数据。
根据实施例,存储器装置100可以包括写入保护区域。可以将具有经验证完整性的写入数据存储在写入保护区域中。完整性可以指从主机300接收的写入数据没有失真或调制的状态。
存储器控制器200可以控制存储装置50的一般操作。
当将电力供应到存储装置50时,存储器控制器200可以运行固件(FW)。当存储器装置100是闪速存储器装置时,存储器控制器200可以运行诸如闪存转换层(FTL)的固件,以控制主机300与存储器装置100之间的通信。
根据实施例,存储器控制器200可以从主机300接收数据和逻辑块地址(LBA),并且将LBA转换为指示存储器装置100中的待存储数据的存储器单元的地址的物理块地址(PBA)。
例如,存储器控制器200可以响应于来自主机300的请求而控制存储器装置100以执行编程操作、读取操作或擦除操作。在编程操作期间,存储器控制器200可以将写入命令、PBA和数据提供到存储器装置100。在读取操作期间,存储器控制器200可以将读取命令和PBA提供到存储器装置100。在擦除操作期间,存储器控制器200可以将擦除命令和PBA提供到存储器装置100。
根据实施例,存储器控制器200可以在不管来自主机300的请求的情况下,生成并传送命令、地址和数据到存储器装置100。例如,存储器控制器200可以将命令、地址和数据提供到存储器装置100以执行后台操作,诸如用于损耗均衡的编程操作和用于垃圾收集的编程操作。
根据实施例,存储器控制器200可以控制至少两个存储器装置100。存储器控制器200可以根据交错方案来控制存储器装置100,从而提高操作性能。在交错方案中,两个或更多个存储器装置100的操作时段可以至少部分地重叠。
根据实施例,存储器控制器200可以使用从主机300接收的写入数据和与主机300共享的密钥来生成装置认证码。存储器控制器200可以基于将装置认证码与从主机300接收的主机认证码进行比较的结果,来验证写入数据的完整性。存储器控制器200可以响应于来自主机300的请求而控制存储器装置100,以将具有经验证完整性的写入数据存储在写入保护区域中。存储器控制器200可以响应于来自主机300的请求,将对写入数据的编程操作的结果提供到主机300。编程操作的结果可以包括关于写入数据是否具有完整性的信息以及关于编程操作已经通过还是已经失败的信息。
主机300可以使用诸如以下的各种通信方法中的至少一种与存储装置50通信:通用串行总线(USB)、串行AT附件(SATA)、串列SCSI(SAS)、高速芯片间(HSIC)、小型计算机系统接口(SCSI)、外围组件互连(PCI)、高速PCI(PCIe)、高速非易失性存储器(NVMe)、通用闪存(UFS)、安全数字(SD)、多媒体卡(MMC)、嵌入式MMC(eMMC)、双列直插式存储器模块(DIMM)、寄存式DIMM(RDIMM)和/或低负载DIMM(LRDIMM)。
随后参照图2和图3描述关于主机300和存储装置50之间的安全性写入的通信。
图2是示出根据实施例的安全性写入的示图。
参照图2,在步骤S201,主机300可以基于与存储装置50共享的密钥和写入数据来生成主机认证码。主机300可以通过使用消息认证码(MAC)算法来生成主机认证码。主机认证码可以用于验证写入数据的完整性。换句话说,主机认证码可以用于验证在将写入数据从主机300传输到存储装置50期间,写入数据是否失真或调制。
主机300可以将例如第一请求至第三请求的一系列请求提供到存储装置50,以用于安全性写入。
在步骤S203,主机300可以将第一请求提供到存储装置50。第一请求可以用于将写入数据编程到存储装置50的写入保护区域中。主机300可以将第一请求、写入数据和主机认证码提供到存储装置50。
在步骤S205,存储装置50可以将指示是否已经接收到第一请求的第一响应提供到主机300。
在步骤S207,主机300可以响应于第一响应而将第二请求提供到存储装置50。第二请求可以用于检查对写入数据的编程操作的结果是否可用,即是否准备好被收集。
在步骤S209,存储装置50可以将指示是否已经接收到第二请求的第二响应提供到主机300。
在步骤S211,主机300可以响应于第二响应而将第三请求提供到存储装置50。第三请求可以是针对对写入数据的编程操作的结果。
在步骤S213,存储装置50可以响应于第三请求,将包括对写入数据的编程操作的结果的第三响应提供到主机300。编程操作的结果可以包括指示编程操作已经通过还是已经失败的信息,并且还可以包括指示写入数据是否具有完整性的信息。
在步骤S215,存储装置50可以从主机300一起接收写入数据、主机认证码以及第一请求。
在步骤S217,存储装置50可以基于与主机300共享的密钥和所接收的写入数据来生成装置认证码。存储装置50可以通过使用消息认证码(MAC)算法来生成装置认证码。
在步骤S219,存储装置50可以验证写入数据是否具有完整性。根据验证结果,当确定写入数据具有完整性时,处理流程可以进行到步骤S221。可选地,当确定写入数据不具有完整性时,处理流程可以进行到步骤S213。
在步骤S221,存储装置50可以执行将写入数据存储在写入保护区域中的编程操作。在执行编程操作之后,存储装置50可以生成指示编程操作已经通过还是已经失败的信息。在执行步骤S221之后,处理流程可以进行到步骤S213。
图3是示出根据实施例的安全性写入的示图。
参照图3,主机300可以将用于安全性写入的一系列第一请求至第三请求提供到存储装置50。
在步骤S301,主机300可以将第一请求提供到存储装置50。第一请求可以用于将写入数据编程到存储装置50的写入保护区域中。主机300可以将第一请求和写入数据提供到存储装置50。
在步骤S303,主机300可以在将第一请求提供到存储装置50之后,生成主机认证码。主机300可以基于与存储装置50共享的密钥和写入数据来生成主机认证码。主机300可以通过使用消息认证码(MAC)算法来生成主机认证码。主机300可以与主机认证码的生成并行地,将写入数据提供到存储装置50。换句话说,主机300可以当将写入数据传输到存储装置50时开始主机认证码的生成。
根据各个实施例,当主机300在步骤S303中生成主机认证码时,存储装置50可以在步骤S317中生成装置认证码。换句话说,主机认证码的生成可以与装置认证码的生成并行地执行。
在步骤S305,存储装置50可以将指示是否已经接收到第一请求的第一响应提供到主机300。
在步骤S307,当主机认证码的生成完成时,主机300可以响应于第一响应而将第二请求提供到存储装置50。第二请求可以用于检查对写入数据的编程操作的结果是否准备好被收集。主机300可以将第二请求和主机认证码提供到存储装置50。
在步骤S309,存储装置50可以将指示是否已经接收到第二请求的第二响应提供到主机300。
在步骤S311,主机300可以响应于第二响应而将第三请求提供到存储装置50。第三请求可以是针对对写入数据的编程操作的结果。
在步骤S313,存储装置50可以将包括对写入数据的编程操作的结果的第三响应提供到主机300。编程操作的结果可以包括指示编程操作已经通过还是已经失败的信息,并且还可以包括指示写入数据是否具有完整性的信息。
在步骤S315,存储装置50可以从主机300一起接收写入数据以及第一请求。
在步骤S317,存储装置50可以基于与主机300共享的密钥和所接收的写入数据来生成装置认证码。存储装置50可以通过使用消息认证码(MAC)算法来生成装置认证码。
在步骤S319,存储装置50可以确定是否已经从主机300接收到主机认证码。当确定已经接收到主机认证码时,处理流程可以进行到步骤S321。可选地,当确定还没有接收到主机认证码时,处理流程可以进行到步骤S325。
在步骤S321,存储装置50可以验证写入数据是否具有完整性。根据验证结果,当确定写入数据具有完整性时,处理流程可以进行到步骤S323。可选地,当确定写入数据不具有完整性时,处理流程可以进行到步骤S313。
在步骤S323,存储装置50可以执行将写入数据存储在写入保护区域中的编程操作。在执行编程操作之后,存储装置50可以生成指示编程操作已经通过还是已经失败的信息。在执行步骤S323之后,处理流程可以进行到步骤S313。
在步骤S325,存储装置50可以等待,直到从主机300一起接收到主机认证码和第二请求。在执行步骤S325之后,处理流程可以进行到步骤S319。
在图3中所示的实施例中,主机认证码的生成可以与将写入数据从主机300传输到存储装置50并行地执行。因此,执行安全性写入操作所需的时间可以减少以下时间:在主机认证码的生成与传输写入数据重叠期间的时间。
根据另一实施例,主机认证码的生成可以与存储装置50的装置认证码的生成并行地执行。因此,执行安全性写入操作所需的时间可以减少以下时间:在主机认证码的生成与装置认证码的生成重叠期间的时间。
图4是示出根据实施例的图1中所示的计算系统400的配置和操作的示图。
参照图4,计算系统400可以包括存储装置50和主机300。
根据实施例,存储器装置100可以包括写入保护区域110。
写入保护区域110可以是存储具有经验证完整性的写入数据W_DATA的区域。完整性可以指从主机300接收的写入数据W_DATA没有失真或调制的状态。
存储器装置100可以响应于从存储器控制器200接收的编程命令,来执行将具有经验证完整性的写入数据W_DATA存储在写入保护区域110中的编程操作。响应于从存储器控制器200接收的状态读取命令,存储器装置100可以将状态读取响应STA_RES提供到存储器控制器200,该状态读取响应STA_RES包括指示编程操作已经通过还是已经失败的信息。
根据实施例,存储器控制器200可以包括认证写入控制器210和数据验证组件220。
认证写入控制器210可以将对从主机300接收的关于安全性写入的一系列请求REQ的响应RES提供到主机300。关于安全性写入的一系列请求REQ可以包括参照图2和图3描述的第一请求至第三请求。
例如,认证写入控制器210可以从主机300接收第一请求和写入数据W_DATA。认证写入控制器210可以响应于从主机300接收的第一请求,来将指示是否已经接收到第一请求的第一响应提供到主机300。第一请求可以用于将写入数据W_DATA编程到存储器装置100的写入保护区域110中。
认证写入控制器210可以从主机300接收第二请求和主机认证码HA_CODE。认证写入控制器210可以响应于从主机300接收的第二请求,来将指示是否已经接收到第二请求的第二响应提供到主机300。第二请求可以用于检查对写入数据W_DATA的编程操作的结果是否准备好被收集。
认证写入控制器210可以从主机300接收第三请求以请求对写入数据W_DATA的编程操作的结果。认证写入控制器210可以响应于从主机300接收的第三请求,来将包括对写入数据的编程操作的结果的第三响应提供到主机300。
认证写入控制器210可以控制存储器装置100以将写入数据W_DATA存储在写入保护区域110中。例如,认证写入控制器210可以基于从数据验证组件220接收的认证信息AUT_INF来确定写入数据W_DATA是否具有完整性。认证写入控制器210可以将关于具有经验证完整性的写入数据W_DATA的编程命令提供到存储器装置100。
在将编程命令提供到存储器装置100之后,认证写入控制器210可以将状态读取命令提供到存储器装置100以接收编程操作的结果。认证写入控制器210可以从存储器装置100接收指示编程操作的结果的状态读取响应STA_RES。状态读取响应STA_RES可以包括指示编程操作已经通过还是已经失败的信息。
认证写入控制器210可以将包括将写入数据W_DATA存储在写入保护区域110中的编程操作的结果的响应提供到主机300。编程操作的结果可以包括关于写入数据W_DATA是否具有完整性的信息以及关于编程操作已经通过还是已经失败的信息。
数据验证组件220可以生成指示从主机300接收的写入数据W_DATA的完整性的认证信息AUT_INF。数据验证组件220可以将认证信息AUT_INF提供到认证写入控制器210。
更具体地,数据验证组件220可以通过使用从主机300接收的写入数据W_DATA和与主机300共享的密钥来生成装置认证码。数据验证组件220可以基于将从主机300接收的主机认证码HA_CODE与装置认证码进行比较的结果,来生成指示写入数据W_DATA的完整性的认证信息AUT_INF。当认证写入控制器210从主机300接收第二请求时,可以接收到主机认证码HA_CODE。
根据实施例,主机300可以包括主机处理器310和主机存储器320。
主机处理器310可以将关于安全性写入的一系列请求REQ提供到存储器控制器200。该一系列请求REQ可以包括参照图2和图3描述的第一请求至第三请求。
主机处理器310可以将主机存储器320中存储的写入数据W_DATA和第一请求提供到存储器控制器200。
在将第一请求提供到存储器控制器200之后,主机处理器310可以基于与存储装置50共享的密钥和写入数据W_DATA来生成主机认证码HA_CODE。
主机处理器310可以与主机认证码HA_CODE的生成并行地将写入数据W_DATA提供到存储器控制器200。换句话说,主机认证码HA_CODE的生成可以与传输写入数据W_DATA并行地执行。
当主机认证码HA_CODE的生成完成时,主机处理器310可以响应于从存储器控制器200接收到的第一响应,将第二请求和主机认证码HA_CODE提供到存储器控制器200。
响应于从存储器控制器200接收到的第二响应,主机处理器310可以将关于对写入数据W_DATA的编程操作的结果的第三请求提供到存储器控制器200。
主机存储器320可以存储待提供到存储器控制器200的写入数据W_DATA。
根据参照图4描述的实施例,通过主机处理器310的主机认证码HA_CODE的生成可以与将写入数据W_DATA传输到存储装置50并行地执行。因此,执行安全性写入操作所需的时间可以减少以下时间:当主机认证码HA_CODE的生成与传输写入数据W_DATA重叠时的时间。
根据参照图4描述的实施例,通过主机处理器310的主机认证码HA_CODE的生成可以与通过数据验证组件220的装置认证码的生成并行地执行。因此,执行安全性写入操作所需的时间可以减少以下时间:在主机认证码HA_CODE的生成与装置认证码的生成重叠期间的时间。
图5是示出图4中所示的数据验证组件220的示图。
参照图5,数据验证组件220可以包括认证码生成器221和认证码比较器222。数据验证组件220可以进一步包括加密密钥存储装置223。
认证码生成器221可以基于从主机接收的写入数据W_DATA和从加密密钥存储装置223接收的共享密钥KEY来生成装置认证码DA_CODE。认证码生成器221可以通过使用消息认证码(MAC)算法来生成装置认证码DA_CODE。认证码生成器221可以将装置认证码DA_CODE提供到认证码比较器222。
认证码比较器222可以基于从主机300接收的主机认证码HA_CODE与装置认证码DA_CODE之间的比较,来生成指示写入数据W_DATA的完整性的认证信息AUT_INF。认证码比较器222可以根据主机认证码HA_CODE是否与装置认证码DA_CODE相同,来确定写入数据W_DATA是否具有完整性。
加密密钥存储装置223可以存储主机和存储装置之间的共享密钥KEY。共享密钥KEY可以用于生成认证码。共享密钥KEY可以预先存储在加密密钥存储装置223中。可以响应于主机的请求来改变共享密钥KEY。
图6是示出图1中所示的存储器控制器的另一实施例的示图。
参照图6,存储器控制器1000可以联接到主机和存储器装置。存储器控制器1000可以响应于来自主机的请求来访问存储器装置。例如,存储器控制器1000可以控制存储器装置的写入操作、读取操作、擦除操作和后台操作。存储器控制器1000可以提供存储器装置和主机之间的接口。存储器控制器1000可以被配置成驱动固件,以用于控制存储器装置。
存储器控制器1000可以包括处理器1010、存储器缓冲器1020、错误校正码(ECC)块1030、主机接口1040、缓冲器控制器1050、存储器接口1060和总线1070。
总线1070可以提供存储器控制器1000的组件之间的通道。
处理器1010可以控制存储器控制器1000的全部操作并且可以执行逻辑操作。处理器1010可以通过主机接口1040与外部主机通信,并且通过存储器接口1060与存储器装置通信。进一步地,处理器1010可以通过缓冲器控制器1050与存储器缓冲器1020通信。处理器1010可以通过将存储器缓冲器1020使用为操作存储器、高速缓存存储器或缓冲存储器来控制存储装置的操作。
处理器1010可以执行闪存转换层(FTL)的功能。处理器1010可以通过FTL将由主机提供的逻辑块地址(LBA)转换成物理块地址(PBA)。FTL可以接收LBA并且通过使用映射表来将LBA转换为PBA。根据映射单元,可以存在用于FTL的各种地址映射方法。典型的地址映射方法可以包括页面映射方法、块映射方法和混合映射方法。
处理器1010可以被配置成使从主机接收的数据随机化。例如,处理器1010可以使用随机化种子来将从主机接收的数据随机化。经随机化的数据可以作为待存储的数据而被提供到存储器装置,并且可以被编程到存储器单元阵列中。
处理器1010可以被配置成在读取操作期间将从存储器装置接收的数据去随机化。例如,处理器1010可以使用去随机化种子来将从存储器装置接收的数据去随机化。经去随机化的数据可以被输出到主机。
根据实施例,处理器1010可以运行软件或固件以执行随机化和去随机化操作。
存储器缓冲器1020可以用作处理器1010的操作存储器、高速缓存存储器或缓冲存储器。存储器缓冲器1020可以存储由处理器1010运行的代码和命令。存储器缓冲器1020可以存储由处理器1010处理的数据。存储器缓冲器1020可以包括静态RAM(SRAM)或动态RAM(DRAM)。
ECC块1030可以执行错误校正。ECC块1030可以基于待通过存储器接口1060而写入存储器装置的数据来执行ECC编码。经ECC编码的数据可以通过存储器接口1060而传输到存储器装置。ECC块1030可以对通过存储器接口1060而从存储器装置接收的数据执行ECC解码。例如,ECC块1030可以被包括为存储器接口1060的组件,并且可以设置在存储器接口1060中。
主机接口1040可以被配置成在处理器1010的控制下与外部主机通信。主机接口1040可以使用诸如以下的各种通信方法中的至少一种来执行通信:通用串行总线(USB)、串行AT附件(SATA)、串列SCSI(SAS)、高速芯片间(HSIC)、小型计算机系统接口(SCSI)、外围组件互连(PCI)、高速PCI(PCIe)、高速非易失性存储器(NVMe)、通用闪存(UFS)、安全数字(SD)、多媒体卡(MMC)、嵌入式MMC(eMMC)、双列直插式存储器模块(DIMM)、寄存式DIMM(RDIMM)和低负载DIMM(LRDIMM)。
缓冲器控制器1050可以被配置成在处理器1010的控制下控制存储器缓冲器1020。
存储器接口1060可以被配置成在处理器1010的控制下与存储器装置通信。存储器接口1060可以通过通道与存储器装置交换命令、地址和数据。
在实施例中,存储器控制器1000不包括存储器缓冲器1020和缓冲器控制器1050。而是,可以单独提供这些组件中的一个或两者,和/或可以将这些组件中的一个或两者的功能分布在存储器控制器1000内。
例如,处理器1010可以使用代码来控制存储器控制器1000的操作。处理器1010可以从设置在存储器控制器1000中的非易失性存储器装置(例如,只读存储器(ROM))加载代码。在另一示例中,处理器1010可以通过存储器接口1060从存储器装置加载代码。
例如,存储器控制器1000的总线1070可以划分为控制总线和数据总线。数据总线可以被配置成在存储器控制器1000中传输数据,并且控制总线可以被配置成在存储器控制器1000中传输诸如命令和地址的控制信息。数据总线和控制总线可以彼此隔离,以免彼此干扰或影响。数据总线可以联接到主机接口1040、缓冲器控制器1050、ECC块1030和存储器接口1060。控制总线可以联接到主机接口1040、处理器1010、缓冲器控制器1050、存储器缓冲器1020和存储器接口1060。
根据实施例,认证写入控制器210和数据验证组件220可以包括在处理器1010中。
图7是示出应用根据本公开的实施例的存储装置的存储卡系统2000的框图。
参照图7,存储卡系统2000可以包括存储器控制器2100、存储器装置2200和连接器2300。
存储器控制器2100可以联接到存储器装置2200。存储器控制器2100可以访问存储器装置2200。例如,存储器控制器2100可以被配置成控制存储器装置2200的读取操作、写入操作、擦除操作和后台操作。存储器控制器2100可以被配置成提供存储器装置2200和主机之间的接口。存储器控制器2100可以被配置成驱动固件以用于控制存储器装置2200。存储器控制器2100可以以与上文参照图1描述的存储器控制器200相同的方式来配置。
例如,存储器控制器2100可以包括诸如随机存取存储器(RAM)、处理单元、主机接口、存储器接口和ECC块的组件。
存储器控制器2100可以通过连接器2300与外部装置通信。存储器控制器2100可以基于特定通信协议与外部装置(例如,主机)通信。例如,存储器控制器2100可以通过诸如以下的各种通信协议中的至少一种与外部装置通信:通用串行总线(USB)、多媒体卡(MMC)、嵌入式MMC(eMMC)、外围组件互连(PCI)、高速PCI(PCI-e或PCIe)、高级技术附件(ATA)、串行ATA(SATA)、并行ATA(PATA)、小型计算机系统接口(SCSI)、增强型小型磁盘接口(ESDI)、电子集成驱动器(IDE)、火线、通用闪存(UFS)、WiFi、蓝牙、和/或高速非易失性存储器(NVMe)。例如,连接器2300可以由上述各种通信协议中的至少一种来定义。
例如,存储器装置2200可以被实施为诸如以下的各种非易失性存储器装置中的任意一种:电可擦除可编程ROM(EEPROM)、NAND闪速存储器、NOR闪速存储器、相变RAM(PRAM)、电阻式RAM(ReRAM)、铁电RAM(FRAM)、和/或自旋转移力矩磁性RAM(STT-MRAM)。
存储器控制器2100和存储器装置2200可以集成到单个半导体装置中以形成存储卡。例如,存储器控制器2100和存储器装置2200可以集成到单个半导体装置中并且形成诸如以下的存储卡:个人计算机存储卡国际协会(PCMCIA)、紧凑型闪存卡(CF)、智能媒体卡(例如,SM或SMC)、记忆棒、多媒体卡(例如,MMC、RS-MMC、微型MMC或eMMC)、安全数字(SD)卡(例如,SD、迷你SD、微型SD或SDHC)、和通用闪存(UFS)。
图8是示出应用根据本公开的实施例的存储装置的固态驱动器(SSD)系统3000的框图。
参照图8,SSD系统3000可以包括主机3100和SSD 3200。SSD 3200可以通过信号连接器3001与主机3100交换信号,并且可以通过电源连接器3002接收电力。SSD 3200可以包括SSD控制器3210、多个闪速存储器3221至322n、辅助电源3230和缓冲存储器3240。
根据实施例,SSD控制器3210可以执行如上文参照图1所描述的存储器控制器200的功能。
SSD控制器3210可以响应于从主机3100接收的信号来控制多个闪速存储器3221至322n。例如,信号可以基于主机3100和SSD 3200的接口。例如,信号可以通过诸如以下的各种接口中的至少一种来定义:通用串行总线(USB)、多媒体卡(MMC)、嵌入式MMC(eMMC)、外围组件互连(PCI)、高速PCI(PCI-e或PCIe)、高级技术附件(ATA)、串行ATA(SATA)、并行ATA(PATA)、小型计算机系统接口(SCSI)、增强型小型磁盘接口(ESDI)、电子集成驱动器(IDE)、火线、通用闪存(UFS)、WiFi、蓝牙、和/或高速非易失性存储器(NVMe)。
辅助电源3230可以通过电源连接器3002而联接到主机3100。可以利用从主机3100供应的电力来对辅助电源3230充电。当从主机3100不平稳地供应电力时,辅助电源3230可以供应SSD 3200的电力。例如,辅助电源3230可以设置在SSD 3200的内部或外部。例如,辅助电源3230可以设置在主板中,并且可以将辅助电力供应给SSD 3200。
缓冲存储器3240可以用作SSD 3200的缓冲存储器。例如,缓冲存储器3240可以临时地存储从主机3100接收的数据或从多个闪速存储器3221至322n接收的数据,或者可以临时地存储闪速存储器3221至322n的元数据(例如,映射表)。缓冲存储器3240可以包括诸如DRAM、SDRAM、DDR SDRAM、LPDDR SDRAM或GRAM的易失性存储器,或者诸如FRAM、ReRAM、STT-MRAM或PRAM的非易失性存储器。
根据实施例,主机3100可以以与参照图4描述的主机300相同的方式来操作。
图9是示出应用根据本公开的实施例的存储装置的用户系统4000的框图。
参照图9,用户系统4000可以包括应用处理器4100、存储器模块4200、网络模块4300、存储模块4400和用户接口4500。
应用处理器4100可以操作用户系统4000中包括的组件、操作系统(OS)或用户程序。例如,应用处理器4100可以包括用于控制用户系统4000中包括的组件的控制器、接口、图形引擎等。应用处理器4100可以设置为片上系统(SoC)。
存储器模块4200可以用作用户系统4000的主存储器、操作存储器、缓冲存储器或高速缓存存储器。存储器模块4200可以包括诸如DRAM、SDRAM、DDR SDRAM、DDR2 SDRAM、DDR3SDRAM、LPDDR SDARM、LPDDR2 SDRAM和LPDDR3 SDRAM的易失性随机存取存储器或者诸如PRAM、ReRAM、MRAM和FRAM的非易失性随机存取存储器。例如,应用处理器4100和存储器模块4200可以基于堆叠封装(POP)进行封装,并且然后可以设置为单个半导体封装。
网络模块4300可以与外部装置通信。例如,网络模块4300可以支持诸如码分多址(CDMA)、全球移动通信系统(GSM)、宽带CDMA(WCDMA)、CDMA-2000、时分多址(TDMA)、长期演进(LTE)、Wimax、WLAN、UWB、蓝牙或WiFi的无线通信。例如,网络模块4300可以包括在应用处理器4100中。
存储模块4400可以存储数据。例如,存储模块4400可以存储从应用处理器4100接收的数据。可选地,存储模块4400可以将存储在存储模块4400中的数据传输到应用处理器4100。根据实施例,存储模块4400可以被实施为诸如相变RAM(PRAM)、磁性RAM(MRAM)、电阻式RAM(RRAM)、NAND闪速存储器、NOR闪速存储器或具有三维(3D)结构的NAND闪速存储器的非易失性半导体存储器装置。例如,存储模块4400可以设置为用户系统4000的可移动存储介质(即,可移动驱动器),诸如存储卡或外部驱动器。
根据实施例,存储模块4400可以包括多个非易失性存储器装置,多个非易失性存储器装置可以以与上文参照图1描述的存储器装置相同的方式来操作。存储模块4400可以以与上文参照图1描述的存储装置50相同的方式操作。
用户接口4500可以包括向应用处理器4100输入数据或命令或者向外部装置输出数据的接口。例如,用户接口4500可以包括诸如键盘、小键盘、按钮、触摸面板、触摸屏、触摸板、触摸球、摄像头、麦克风、陀螺仪传感器、振动传感器或压电装置的用户输入接口。用户接口4500可以进一步包括诸如液晶显示器(LCD)、有机发光二极管(OLED)显示装置、有源矩阵OLED(AMOLED)显示装置、LED、扬声器或监视器的用户输出接口。
根据本公开的实施例,提供了一种具有提高的写入性能的计算系统以及该计算系统的操作方法。
尽管已经结合各个实施例示出和描述了本发明,但是本领域技术人员根据本公开将理解的是,可以在不脱离本发明的范围和精神的情况下在形式和操作上进行各种改变。本发明涵盖落入权利要求的范围内的所有这种改变。

Claims (20)

1.一种计算系统:包括:
主机,生成主机认证码;以及
存储装置,从所述主机接收关于安全性写入的、包括第一请求和第二请求的一系列请求之中的所述第一请求以及写入数据;基于所述写入数据来生成装置认证码;从所述主机接收所述第二请求和所述主机认证码;并且基于所述主机认证码和所述装置认证码的比较结果来对所述写入数据执行编程操作。
2.根据权利要求1所述的计算系统,其中所述主机生成所述主机认证码,并且并行地将所述写入数据提供到所述存储装置。
3.根据权利要求1所述的计算系统,其中生成所述主机认证码,并且并行地由所述存储装置生成所述装置认证码。
4.根据权利要求1所述的计算系统,其中所述存储装置包括:
存储器装置,包括写入保护区域;以及
存储器控制器,控制所述安全性写入。
5.根据权利要求4所述的计算系统,其中所述一系列请求进一步包括第三请求,并且
其中所述存储器控制器包括:
数据验证组件,基于所述主机认证码和所述装置认证码的比较结果,来生成指示所述写入数据的完整性的认证信息;以及
认证写入控制器,响应于所述一系列请求,基于所述认证信息来控制所述编程操作。
6.根据权利要求5所述的计算系统,其中所述认证写入控制器响应于所述第一请求来将指示是否已经接收到所述第一请求的第一响应提供到所述主机,并且响应于所述第二请求来将指示是否已经接收到所述第二请求的第二响应提供到所述主机。
7.根据权利要求5所述的计算系统,其中所述认证写入控制器响应于从所述主机接收的所述第三请求,将包括所述编程操作的结果的第三响应提供到所述主机。
8.根据权利要求7所述的计算系统,其中所述编程操作的结果包括指示所述写入数据是否具有完整性的信息和指示所述编程操作已经通过还是已经失败的信息。
9.根据权利要求5所述的计算系统,其中所述认证写入控制器控制所述存储器装置以在所述编程操作期间将所述写入数据存储在所述写入保护区域中。
10.根据权利要求5所述的计算系统,其中所述数据验证组件包括:
认证码生成器,基于所述主机与所述存储装置之间共享的密钥和所接收的写入数据来生成所述装置认证码;以及
认证码比较器,基于所述主机认证码是否与所述装置认证码相同来生成所述认证信息。
11.根据权利要求1所述的计算系统,其中基于消息认证码算法即MAC算法,来生成所述装置认证码和所述主机认证码。
12.一种主机,包括:
主机存储器,存储写入数据;以及
主机处理器,将关于安全性写入的、至少包括第一请求和第二请求的一系列请求之中的所述第一请求和所述写入数据提供到存储装置;提供所述写入数据并且并行地生成主机认证码;并且将所述第二请求和所述主机认证码提供到所述存储装置。
13.根据权利要求12所述的主机,其中所述主机处理器将用于请求对所述写入数据的编程操作的结果的第三请求提供到所述存储装置。
14.根据权利要求13所述的主机,其中所述编程操作的结果包括指示所述编程操作已经通过还是已经失败的信息和指示所述写入数据的完整性的认证信息,以及
其中基于装置认证码与所述主机认证码的比较结果来生成所述认证信息,由所述存储装置基于所述写入数据来生成所述装置认证码。
15.根据权利要求12所述的主机,其中所述主机处理器基于所述存储装置与所述主机之间共享的密钥和所述写入数据来生成所述主机认证码。
16.根据权利要求12所述的主机,其中所述主机处理器从所述存储装置接收指示是否已经接收到所述第一请求的第一响应;响应于所述第一响应而将所述第二请求提供到所述存储装置;从所述存储装置接收指示是否已经接收到所述第二请求的第二响应;并且响应于所述第二响应而将第三请求提供到所述存储装置。
17.一种操作主机的方法,所述方法包括:
将关于安全性写入的、至少包括第一请求和第二请求的一系列请求之中的所述第一请求和写入数据提供到存储装置,并且并行地生成主机认证码;
从所述存储装置接收指示是否已经接收到所述第一请求的第一响应;并且
将所述第二请求和所述主机认证码提供到所述存储装置。
18.根据权利要求17所述的方法,进一步包括:
从所述存储装置接收指示是否已经接收到所述第二请求的第二响应;
将第三请求提供到所述存储装置;并且
从所述存储装置接收包括对所述写入数据的编程操作的结果的第三响应。
19.根据权利要求18所述的方法,其中基于所述存储装置与所述主机之间共享的密钥和所述写入数据来生成所述主机认证码。
20.根据权利要求18所述的方法,其中所述编程操作的结果包括指示所述编程操作已经通过还是已经失败的信息和指示所述写入数据的完整性的认证信息,以及
其中基于装置认证码与所述主机认证码的比较结果来生成所述认证信息,由所述存储装置基于所述写入数据来生成所述装置认证码。
CN202010910005.3A 2020-03-09 2020-09-02 计算系统及其操作方法 Pending CN113377692A (zh)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
KR1020200029238A KR20210113906A (ko) 2020-03-09 2020-03-09 컴퓨팅 시스템 및 그 동작 방법
KR10-2020-0029238 2020-03-09

Publications (1)

Publication Number Publication Date
CN113377692A true CN113377692A (zh) 2021-09-10

Family

ID=77556378

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202010910005.3A Pending CN113377692A (zh) 2020-03-09 2020-09-02 计算系统及其操作方法

Country Status (3)

Country Link
US (1) US20210281414A1 (zh)
KR (1) KR20210113906A (zh)
CN (1) CN113377692A (zh)

Families Citing this family (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN112074837A (zh) * 2018-03-23 2020-12-11 美光科技公司 存储装置认证的修改
US11664999B2 (en) * 2020-10-16 2023-05-30 Microsoft Technology Licensing, Llc Ensuring the integrity of data stored in a memory by using a watermark
US20220137835A1 (en) * 2020-10-30 2022-05-05 Kioxia Corporation Systems and methods for parity-based failure protection for storage devices
CN113139019B (zh) * 2021-06-18 2022-03-25 智己汽车科技有限公司 在区块链上记录车辆的里程数据的方法和装置
CN116010437B (zh) * 2023-03-20 2023-12-19 成都佰维存储科技有限公司 设备码写入方法、装置、可读存储介质及电子设备

Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20130159733A1 (en) * 2011-12-16 2013-06-20 Jae-Bum Lee Memory device which protects secure data, method of operating the memory device, and method of generating authentication information
US20150278118A1 (en) * 2014-03-28 2015-10-01 Jaegyu LEE Storage system and method for performing and authenticating write-protection thereof
US20150286585A1 (en) * 2014-04-08 2015-10-08 Micron Technology, Inc. Apparatuses and methods for securing an access protection scheme
US20150350206A1 (en) * 2014-05-29 2015-12-03 Samsung Electronics Co., Ltd. Storage system and method for performing secure write protect thereof
US20190102568A1 (en) * 2017-09-30 2019-04-04 Intel Corporation Techniques to provide client-side security for storage of data in a network environment
US20190236031A1 (en) * 2018-01-31 2019-08-01 SK Hynix Inc. Storage device and method of operating the same

Family Cites Families (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8341417B1 (en) * 2006-12-12 2012-12-25 Cisco Technology, Inc. Data storage using encoded hash message authentication code
US8312275B2 (en) * 2010-01-06 2012-11-13 Calix, Inc. Network device authentication
JP5419776B2 (ja) * 2010-03-30 2014-02-19 ルネサスエレクトロニクス株式会社 半導体装置及びデータ処理方法
US9063968B2 (en) * 2010-08-02 2015-06-23 Cleversafe, Inc. Identifying a compromised encoded data slice
KR102196971B1 (ko) * 2014-03-28 2020-12-31 삼성전자주식회사 스토리지 시스템, 그것의 쓰기 방지 수행 방법, 그리고 그것의 쓰기 방지 인증 방법
JP2020119298A (ja) * 2019-01-24 2020-08-06 キオクシア株式会社 メモリシステム
US11144214B2 (en) * 2019-07-25 2021-10-12 Micron Technology, Inc. Memory authentication
US20200328879A1 (en) * 2019-08-13 2020-10-15 Intel Corporation Secure communications over computer buses

Patent Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20130159733A1 (en) * 2011-12-16 2013-06-20 Jae-Bum Lee Memory device which protects secure data, method of operating the memory device, and method of generating authentication information
US20150278118A1 (en) * 2014-03-28 2015-10-01 Jaegyu LEE Storage system and method for performing and authenticating write-protection thereof
US20150286585A1 (en) * 2014-04-08 2015-10-08 Micron Technology, Inc. Apparatuses and methods for securing an access protection scheme
US20150350206A1 (en) * 2014-05-29 2015-12-03 Samsung Electronics Co., Ltd. Storage system and method for performing secure write protect thereof
US20190102568A1 (en) * 2017-09-30 2019-04-04 Intel Corporation Techniques to provide client-side security for storage of data in a network environment
US20190236031A1 (en) * 2018-01-31 2019-08-01 SK Hynix Inc. Storage device and method of operating the same
CN110096908A (zh) * 2018-01-31 2019-08-06 爱思开海力士有限公司 存储装置及存储装置的操作方法

Also Published As

Publication number Publication date
US20210281414A1 (en) 2021-09-09
KR20210113906A (ko) 2021-09-17

Similar Documents

Publication Publication Date Title
US11467768B2 (en) Data storage device for storing boot partition data read from memory device in buffer memory and method of operating the same
US20210281414A1 (en) Computing system and operating method thereof
US11307803B2 (en) Storage device for suspending program operation and performing read operation and operating method thereof
US11861359B2 (en) Storage device and method of operating the same
US11599268B2 (en) Storage device and method of operating the same
US11868624B2 (en) Computing system and operating method thereof
CN113268441A (zh) 存储装置及其操作方法
CN113377691B (zh) 计算系统及其操作方法
US11775211B2 (en) Memory controller and method of operating the same
CN115793959A (zh) 主机装置、存储器控制器及包括它们的计算系统
CN115708042A (zh) 储存装置、存储器装置及其操作方法
CN114968080A (zh) 存储器控制器及操作存储器控制器的方法
CN113867619A (zh) 存储器控制器及其操作方法
CN112711377A (zh) 分布式存储系统的存储节点及其操作方法
US11914891B2 (en) Storage device and operating method thereof
US11797444B2 (en) Storage device for storing address information and data in memory device in response to occurrence of power loss and operating method of the storage device
US11567703B2 (en) Memory device comprising queue layer and storage device including the same
US11599275B2 (en) Memory controller for controlling power loss recovery and method of operating the same
US20230297261A1 (en) Storage device and operating method thereof
US20240045590A1 (en) Storage device, electronic device including the same, and operating method thereof
US20230289071A1 (en) Electronic device and method of operating the same
US20240045806A1 (en) Storage device, electronic device including the same, and operating method thereof
CN110750208B (zh) 存储装置及操作该存储装置的方法
KR20220165106A (ko) 메모리 컨트롤러 및 그것을 포함하는 메모리 시스템
KR20230011214A (ko) 스토리지 장치 및 이의 동작 방법

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