UFS 2 -UFS架构简介2

UFS 2 -UFS架构简介2

  • 1 UFS架构简介
    • 1.1 System Boot and Enumeration
    • 1.2 UFS Interconnect (UIC) Layer
      • 1.2.1 UFS Physical Layer Signals
      • 1.2.2 MIPI UniPro
      • 1.2.3 MIPI UniPro Related Attributes
    • 1.3 UFS Transport Protocol (UTP) Layer
      • 1.3.1 Architectural Model
        • 1.3.1.1 Client-Server Model
        • 1.3.1.2 CDB, Status, Task Management
        • 1.3.1.3 Nexus(关系)
        • 1.3.1.4 SCSI Command Model
        • 1.3.1.5 SCSI Task Management Functions
    • 1.4 UFS Application and Command Layer
      • 1.4.1 SBC compliant commands [SBC]:
      • 1.4.2 SPC compliant commands [SPC]:
      • 1.4.3 SCSI operational commands for UFS applications and compatible with existing SCSI driver
      • 1.4.4 Value-added optional commands for UFS:

1 UFS架构简介

1.1 System Boot and Enumeration

The system boot from a bootable UFS device will initiate after power up when the UFS InterConnect Layer (MIPI M-PHY and UniPro) has completed its boot sequence. The boot code can be read from the appropriate boot logical unit, or as desired, boot ROM code can re-configure MIPI M-PHY and UniPro to appropriate setting before reading the boot code.
当 UFS 互连层(MIPI M-PHY 和 UniPro)完成其启动序列时,从可启动 UFS 设备启动的系统将在加电后启动。引导代码可以从适当的引导逻辑单元读取,或者根据需要,引导 ROM 代码可以在读取引导代码之前将 MIPI M-PHY 和 UniPro 重新配置为适当的设置。
Multiple boot logical units may be available in a UFS device. However, only one boot logical unit will be active at power-up. Appropriate descriptors are available to configure the boot process.
UFS 设备中可能有多个引导逻辑单元。但是,只有一个引导逻辑单元在加电时处于活动状态。适当的描述符可用于配置引导过程。
During boot, accesses to boot logical unit are supported via SCSI commands.
在引导期间,支持通过 SCSI 命令访问引导逻辑单元。

1.2 UFS Interconnect (UIC) Layer

UFS interconnect layer is composed by MIPI UniPro, which provides basic transfer capabilities to the upper layer (UTP), and MIPI M-PHY, adopted as UFS physical layer.
UFS互连层由MIPI UniPro和MIPI M-PHY组成,MIPI UniPro为上层(UTP)提供基本的传输能力,MIPI M-PHY作为UFS物理层。

1.2.1 UFS Physical Layer Signals

The UFS physical layer defines the physical portion of the UFS interface that connects UFS device and UFS host. This is based on MIPI M-PHY specification. UFS interface can support multiple lanes in each direction. Each lane consists of a differential pair. Basic configuration is based on one transmit lane and one receive lane.
UFS 物理层定义了连接 U​​FS 设备和 UFS 主机的 UFS 接口的物理部分。这是基于 MIPI M-PHY 规范。 UFS 接口可以在每个方向上支持多个通道。每个通道由一个差分对组成。基本配置基于一个传输通道和一个接收通道。
Optionally, a UFS device may support two downstream lanes and two upstream lanes. An equal number of downstream and upstream lanes shall be provided in each link.
可选地,UFS 设备可以支持两个下行通道和两个上行通道。每条链路应提供相等数量的下行和​​上行lane。
Table 5.1 summarizes the signals required for a UFS device. Only the single lane, per direction, per link, configuration is shown.
表 5.1 总结了 UFS 设备所需的信号。仅显示单通道、每个方向、每个链路、配置。
在这里插入图片描述

1.2.2 MIPI UniPro

In UFS, UniPro is responsible for management of the link, including the PHY.
在 UFS 中,UniPro 负责链路的管理,包括 PHY。
NOTE Device management is outside the scope of the interconnect layer and is the responsibility of the upper
layers.
注:设备管理不在互连层的范围内,它负责的是更上层。
The basic interface to the interconnect layer is UniPro definition of a CPort. CPort is used for all data transfer as well as all control and configuration messages. In general, multiple CPorts can be supported on a device and the number of CPorts is implementation dependent.
互连层的基本接口是 UniPro 定义的 CPort。 CPort 用于所有数据传输以及所有控制和配置消息。通常,一个设备可以支持多个 CPort,并且 CPort 的数量取决于具体实现。
Traffic sent over UniPro link can be classified as TC0 or TC1 traffic class with TC1 as higher priority traffic class. This version of UFS standard only uses a single CPort and TC0 traffic class.
通过 UniPro 链路发送的流量可以分类为 TC0 或 TC1 流量类,其中 TC1 为更高优先级的流量类。此版本的 UFS 标准仅使用单个 CPort 和 TC0 流量类别。
UFS takes advantage of the basic types of UniPro services. These include data transfer service, and config/control/status service.
UFS 利用了 UniPro 服务的基本类型。这些包括数据传输服务和配置/控制/状态服务。

1.2.3 MIPI UniPro Related Attributes

In general the UniPro related attributes, values and use of them are defined in the MIPI UniPro specification. The attributes may be generic for all UniPro applications and thus out of scope of this document. Following attributes are defined in this standard specifically for UFS application as indicated in Table 5.2.
一般来说,与 UniPro 相关的属性、值和它们的使用在 MIPI UniPro 规范中定义。这些属性可能对所有 UniPro 应用程序都是通用的,因此超出了本文档的范围。本标准专门为 UFS 应用程序定义了以下属性,如表 5.2 所示。
在这里插入图片描述

1.3 UFS Transport Protocol (UTP) Layer

As mentioned previously, the Transport Layer is responsible for encapsulating the protocol into the appropriate frame structure for the interconnect layer. UFS is protocol agnostic and thus any protocol will need the appropriate translation layer. For this version of UFS standard, this is UTP (UFS Transport Protocol) layer.
如前所述,传输层负责将协议封装到互连层的适当帧结构中。 UFS 与协议无关,因此任何协议都需要适当的转换层。对于此版本的 UFS 标准,这是 UTP(UFS 传输协议)层。

In this version of the standard, all accesses are supported only through SCSI, however additional API/service/extension may be added in future versions to introduce new features or address specific requirements.
在此版本的标准中,仅通过 SCSI 支持所有访问,但未来版本可能会添加额外的 API/服务/扩展以引入新功能或满足特定要求。
A design feature of UTP is to provide a flexible packet architecture that will assist the UFS controller in directing the encapsulated command, data and status packets into and out of system memory. The intention is to allow the rapid transmittal of data between the host system memory and the UFS device with minimal host processor intervention. Once the data structures are set up in host memory and the target device is notified, the entire commanded transaction can take place between the UFS device and the host memory. The means by which the UFS controller transfers data into and out of host memory is via a hardware and/or firmware mechanism that is beyond the scope of this document. See the UFS controller standard for further information.
UTP 的一个设计特点是提供一种灵活的数据包架构,该架构将协助 UFS 控制器将封装的命令、数据和状态数据包导入和导出系统内存。目的是允许在主机系统内存和 UFS 设备之间快速传输数据,而主机处理器的干预最少。一旦在主机内存中设置了数据结构并通知了目标设备,整个命令事务就可以在 UFS 设备和主机内存之间进行。 UFS 控制器将数据传入和传出主机内存的方式是通过超出本文档范围的硬件和/或固件机制。有关详细信息,请参阅 UFS 控制器标准。

A second feature of the UTP design is that once a device receives a command request notification from the host, the device will control the pacing and state transitions needed to satisfy the data transfers and status completion of the request. The idea here is that the device knows its internal condition and state and when and how to best transfer the data that makes up the request. It is not necessary for the host system or controller to continuously poll the device for “ready” status or for the host to estimate when to start a packet transfer. The device will start the bus transactions when it determines its conditions and status are optimal. This approach cuts down on the firmware and logic needed within the host to communicate with a device. It also affords the maximum possible throughput with the minimum number of bus transactions needed to complete the operation.
UTP 设计的第二个特点是,一旦设备从主机接收到命令请求通知,设备将控制满足请求的数据传输和状态完成所需的步调和状态转换。这里的想法是设备知道它的内部条件和状态以及何时以及如何最好地传输构成请求的数据。主机系统或控制器无需连续轮询设备的“就绪”状态,也无需主机估计何时开始数据包传输。当设备确定其条件和状态最佳时,它会启动总线事务。这种方法减少了主机与设备通信所需的固件和逻辑。它还以完成操作所需的最少总线事务数提供最大可能的吞吐量。

1.3.1 Architectural Model

The SCSI Architecture Model [SAM] is used as the general architectural model for UTP. The SAM architecture is a client‐server model or more commonly a request‐response architecture.
SCSI 体系结构模型 [SAM] 用作 UTP 的通用体系结构模型。 SAM 架构是一种客户端-服务器模型,或者更常见的是一种请求-响应架构。

1.3.1.1 Client-Server Model

A client-server transaction is represented as a procedure call with inputs supplied by the application client on the Initiator device. The procedure call is processed by the server and returns outputs and a procedure all status. Client-server relationships are not symmetrical. A client only originates requests for service. A server only responds to such requests.
客户端-服务器事务表示为过程调用,其输入由发起方设备上的应用程序客户端提供。过程调用由服务器处理并返回输出和过程所有状态。客户端-服务器关系不是对称的。客户端仅发起服务请求。服务器仅响应此类请求。

Initiator device and Target device are mapped into UFS physical network devices. An Initiator device may request.processing of a command or a task management function through a request directed to the Target device. Device service requests are used to request the processing of commands and task manager requests are used to request the processing of task management functions.
Initiator device 和Target device 映射成UFS 物理网络设备。发起方设备可以通过指向目标设备的请求来请求处理命令或任务管理功能。设备服务请求用于请求命令的处理,任务管理器请求用于请求任务管理功能的处理。

Target device is a UFS device. A UFS device will contain one or more Logical Units. A Logical Unit is an independent processing entity within the device.
目标设备是 UFS 设备。一个 UFS 设备将包含一个或多个逻辑单元。逻辑单元是设备内的独立处理实体。

An Initiator request is directed to a single Logical Unit within a device. A Logical Unit will receive and process the client command or request. Each Logical Unit has an address within the Target device called a Logical Unit Number (LUN).
Communication between the Initiator device and Target device is divided into a series of messages. These messages are formatted into UFS Protocol Information Units (UPIU) as defined within this standard. There are a number of different UPIU types defined. All UPIU structures contain a common header area at the beginning of the data structure (lowest address). The remaining fields of the structure vary according to the type of UPIU.
启动器请求被定向到设备中的单个逻辑单元。逻辑单元将接收并处理客户端命令或请求。每个逻辑单元在目标设备中都有一个地址,称为逻辑单元号 (LUN)。 Initiator 设备和 Target 设备之间的通信分为一系列消息。这些消息被格式化为本标准中定义的 UFS 协议信息单元 (UPIU)。定义了许多不同的 UPIU 类型。所有 UPIU 结构都在数据结构的开头(最低地址)包含一个公共标头区域。该结构的其余字段根据 UPIU 的类型而有所不同。

A Task is a command or sequence of actions that perform a requested service. A Logical Unit contains a task queue that will support the processing of one or more Tasks. The Task queue is managed by the Logical Unit. A unique Task Tag is generated by the Initiator device when building the Task. This Task Tag is used by the Target device and the Initiator device to distinguish between multiple Tasks. All transactions and sequences associated with a particular Task will contain that Task Tag in the transaction associated data structures.
任务是执行请求服务的命令或操作序列。一个逻辑单元包含一个任务队列,它将支持一个或多个任务的处理。任务队列由逻辑单元管理。在构建任务时,启动器设备会生成一个唯一的任务标签。 Target 设备和 Initiator 设备使用此 Task Tag 来区分多个 Task。与特定任务关联的所有事务和序列都将在事务关联数据结构中包含该任务标签。

Command structures consist of Command Descriptor Blocks (CDB) that contain a command opcode and related parameters, flags and attributes. The description of the CDB content and structure are defined in detail in the [SAM], [SBC] and [SPC] INCITS T10 draft standards.
命令结构由命令描述符块 (CDB) 组成,其中包含命令操作码和相关参数、标志和属性。 CDB内容和结构的描述在[SAM]、[SBC]和[SPC] INCITS T10标准草案中有详细定义。
在这里插入图片描述
在这里插入图片描述

1.3.1.2 CDB, Status, Task Management

UTP adopts Command Descriptor Block (CDB) format for commands, device status data hierarchy and reporting method, and task management functions of outstanding commands, described in [SAM]. Regardless of the command protocol to be delivered by UTP, SCSI CDB, Status and Task Management Functions should be adopted uniformly in UFS devices.
UTP采用命令描述符块(CDB)格式的命令,设备状态数据层次结构和报告方法,以及[SAM]中描述的未完成命令的任务管理功能。无论UTP、SCSI CDB、Status和Task Management Functions要下发什么命令协议,UFS设备都应该统一采用。

1.3.1.3 Nexus(关系)

The nexus represents the relationship among the Initiator, Target, Logical Unit and Command (Task)
nexus代表Initiator、Target、Logical Unit和Command(Task)之间的关系

  •  Nexus notation: I_T_L_Q nexus; where I =Initiator, T = Target, L = Logical Unit, Q = Command
  • Nexus 表示法:I_T_L_Q nexus;其中 I = 启动器,T = 目标,L = 逻辑单元,Q = 命令

There shall be at least one initiator device in the UFS definition. There shall only one target device, the UFS device. There shall be one or more logical units in a UFS device. The command identifier (i.e., the Q in an I_T_L_Q nexus) is assigned by the Initiator device to uniquely identify one command in the context of a particular I_T_L nexus, allowing more than one command to be outstanding for the I_T_L nexus at the same time.
UFS 定义中至少应有一个启动器设备。只有一个目标设备,即 UFS 设备。 UFS 设备中应有一个或多个逻辑单元。命令标识符(即 I_T_L_Q 关系中的 Q)由启动器设备分配,以在特定 I_T_L 关系的上下文中唯一地标识一个命令,允许多个命令同时针对 I_T_L 关系。
An overlapped command occurs when a task manager or a task router detects the use of a duplicate I_T_L_Q nexus in a command before that I_T_L_Q nexus completes its command lifetime (see [SAM]).
当任务管理器或任务路由器在 I_T_L_Q 关系完成其命令生命周期之前检测到在命令中使用了重复的 I_T_L_Q 关系时,就会出现重叠命令(请参阅 [SAM])。

Concurrent overlapped commands are not allowed in UFS. Each command shall have an unique Task Tag. The UFS device is not required to detect overlapped commands.
UFS 中不允许并发重叠命令。每个命令都应有一个唯一的任务标签。 UFS 设备不需要检测重叠命令。

1.3.1.4 SCSI Command Model

All command requests originate from application clients in an Initiator device. An application Client requests the processing of a command with the following procedure call:
所有命令请求都源自启动器设备中的应用程序客户端。应用程序客户端请求使用以下过程调用处理命令:

  •  Service Response = Execute Command (IN (I_T_L_Q Nexus, CDB, Task Attribute, [Data-In Buffer Size], [Data-Out Buffer], [Data-Out Buffer Size], [CRN], [Command Priority]), OUT ([Data-In Buffer], [Sense Data], [Sense Data Length], Status, [Status Qualifier]))
  • 服务响应 = 执行命令(IN(I_T_L_Q Nexus、CDB、任务属性、[数据输入缓冲区大小]、[数据输出缓冲区]、[数据输出缓冲区大小]、[CRN]、[命令优先级])、OUT ([缓冲区中的数据]、[检测数据]、[检测数据长度]、状态、[状态限定符]))

Parameter fields in the UTP Command, Response, Ready-to-Transfer, Data-Out, Data-In UPIU headers contain the requisite information for the input and output arguments of the Execute Command procedure call in compliance with [SAM].
UTP 命令、响应、准备传输、数据输出、数据输入 UPIU 标头中的参数字段包含执行命令过程调用的输入和输出参数的必要信息,符合 [SAM]。

1.3.1.5 SCSI Task Management Functions

An application client requests the processing of a task management function with the following procedure call:
应用程序客户端请求使用以下过程调用处理任务管理功能:
 Service Response = Function name (IN (Nexus), OUT ([Additional Response Information])
服务响应 = 函数名称(IN(Nexus),OUT([附加响应信息])
Parameters fields in the UTP Task Management Request and UTP Task Management Response headers contain the requisite information for the input and output arguments of the Task Management Function procedure call in compliance with [SAM].
UTP 任务管理请求和 UTP 任务管理响应报头中的参数字段包含符合 [SAM] 的任务管理功能过程调用的输入和输出参数的必要信息。

1.4 UFS Application and Command Layer

UFS interface is designed to be protocol agnostic interface. However, as mentioned previously, SCSI has been selected as the baseline protocol layer for this standard. Descriptors are available to identify and select the appropriate protocol for UFS interface.
UFS 接口被设计为与协议无关的接口。但是,如前所述,SCSI 已被选为该标准的基线协议​​层。描述符可用于识别和选择 UFS 接口的适当协议。
The primary functions of the Command Set Layer are to establish a method of data exchange between the UFS host and UFS device and to provide fundamental device management capability. SCSI SBC and SPC commands are the baseline for UFS. UFS will not modify the SBC and SPC Compliant commands.
命令集层的主要功能是建立 UFS 主机和 UFS 设备之间的数据交换方法,并提供基本的设备管理功能。 SCSI SBC 和 SPC 命令是 UFS 的基准。 UFS 不会修改 SBC 和 SPC 兼容命令。
The goal is to maximize re-use and leverage of the software codebase available on platforms (PC, netbook, MID) that are already supporting SCSI.
目标是最大限度地重用和利用已经支持 SCSI 的平台(PC、上网本、MID)上可用的软件代码库。

Options are available to define UFS Native commands and extension as needed. UFS SCSI command set includes:
选项可用于根据需要定义 UFS Native 命令和扩展。 UFS SCSI 命令集包括:

1.4.1 SBC compliant commands [SBC]:

  •  FORMAT UNIT
  •  READ (6) and READ (10)
  •  READ CAPACITY (10)
  •  REQUEST SENSE
  •  SEND DIAGNOSTIC
  •  UNMAP
  •  WRITE (6) and WRITE (10)

1.4.2 SPC compliant commands [SPC]:

  • INQUIRY
  • REPORT LUNS
  • READ BUFFER
  • TEST UNIT READY
  • WRITE BUFFER
  • SECURITY PROTOCOL IN and SECURITY PROTOCOL OUT

1.4.3 SCSI operational commands for UFS applications and compatible with existing SCSI driver

  • MODE SELECT (10) and MODE SENSE (10)
  • PRE-FETCH (10)
  • START STOP UNIT
  • SYNCHRONIZE CACHE (10)
  • VERIFY (10)

1.4.4 Value-added optional commands for UFS:

  • READ (16), WRITE(16), PRE-FETCH (16), SYNCHRONIZE CACHE (16), and READ CAPACITY(16).
    NOTE These commands support logical units with larger capacities having an 8-byte LBA field.
    注意 这些命令支持具有 8 字节 LBA 字段的更大容量的逻辑单元。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:/a/26427.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

图解max{X,Y}和min{X,Y}并求相关概率

图解max{X,Y}和min{X,Y}并求相关概率 对max{X,Y}或min{X,Y}进行分解再求解 P ( m a x { X , Y } ≥ c ) P [ ( X ≥ c ) ∪ ( Y ≥ c ) ] P ( m a x { X , Y } ≤ c ) P [ ( X ≤ c ) ∩ ( Y ≤ c ) ] P ( m i n { X , Y } ≥ c ) P [ ( X ≥ c ) ∩ ( Y ≥ c ) ] P ( m i…

k8s功能优势应用场景介绍(一)

一,K8S功能: 1、数据卷 pod中容器之间共享数据,可以使用数据卷 2、应用程序健康检查 容器内服务可能进程阻塞无法处理请求,可以设置监控检查策略保证应用健壮性 3、复制应用程序实例 控制器维护着pod副本数量,保证一个pod或一组同…

C++11 auto类型推导

1.类型推导 C11引入了auto 和 decltype 关键字实现类型推导,通过这两个关键字不仅能方便地获取复杂的类型,而且还能简化书写,提高编码效率。 auto 类型推导的语法和规则 在之前的 C 版本中,auto 关键字用来指明变量的存储类型…

Allure测试报告定制全攻略,优化你的Web自动化测试框架!

目录 前言: 1. Allure测试报告简介 2. Web自动化测试框架简介 3. 封装Web自动化框架 3.1 安装Selenium 3.2 封装Selenium 3.3 定制Allure测试报告 3.3.1 适配翻译插件 3.3.2 定制测试报告样式 4. 示例代码 5. 总结 前言: 随着现在Web应用的普…

SciencePub学术 | 计算机科学类重点SCIEI征稿中

SciencePub学术刊源推荐: 计算机科学类SCI&EI征稿中!录用率高,自引率低,进展顺利。信息如下,录满为止: 一、期刊概况: 【期刊简介】IF:4.0-4.5↑, JCR 2区,中科院3区…

SpringAOP简介及实现(包含切面、切点、连接点和通知)

目录 1.什么是AOP、SpringAOP? 2.AOP的组成 3.SpringAOP的实现 4.切点的表达式 1.什么是AOP、SpringAOP? 在学习SpringAOP之前,我们得先了解一下什么是AOP。AOP是一种面向切面编程的思想。那什么是切面呢?它其实是对某一类事情…

【HR专用】Vue+SpringBoot,实现人才招聘库的开发(后端部分)

人才招聘库是企业用于储存和管理潜在候选人信息的数据库。通常情况下,这些候选人可能已经应聘过公司的职位,也可能是通过其他途径获取的,例如社交网络、招聘网站等。 对于一个中小公司来说,人力资源部绝对是一个重要部门&#xff…

测试类型(单元、集成、系统或手动测试)

测试类型(单元、集成、系统或手动测试) 单元测试 单元是系统的单个组件,例如类或单个方法。孤立地测试单元称为单元测试。 优点:速度快/易控/易写 缺点:缺乏现实性/无法捕获所有错误(例如与其他组件或服务的交互) 单元…

Arthas-JVM相关命令使用

tip:作为程序员一定学习编程之道,一定要对代码的编写有追求,不能实现就完事了。我们应该让自己写的代码更加优雅,即使这会费时费力。 开头: 我们先说下生产使用频率较高的有哪些:dashboard、heapdump、jvm…

【连续介质力学】二阶张量的图像表示

二阶张量在特定方向的投影 法向和切向分量 二阶张量T投影到 n ^ \hat n n^方向的结果是 t ⃗ ( n ^ ) T ⋅ n ^ \vec t^{(\hat n)}T \cdot \hat n t (n^)T⋅n^,其中 t ⃗ ( n ^ ) \vec t^{(\hat n)} t (n^)可以分解成: t ⃗ ( n ^ ) T ⃗ N T ⃗ S…

2023年上半年系统规划与管理师上午真题及答案解析

1.香农用概率来定量描述信息的公式如下,其中H(x)表示X的( ),Pi是( )出现第i种状态的( )。 A.信息熵 事件 概率 B.总熵 单位 概率 C.信息熵 单位 概率 D.总熵 单位 度量 2.信息传输模型中,( )负责信息的向外传播,( )负责…

VSLAM视觉里程计总结

相机模型是理解视觉里程计之前的基础。视觉里程计(VIO)主要分为特征法和直接法。如果说特征点法关注的是像素的位置差,那么,直接法关注的则是像素的颜色差。特征点法通常会把图像抽象成特征点的集合,然后去缩小特征点之…

Android 应用快捷ShortcutManager与ShortcutManagerCompat详解与实战(二)

一、介绍 之前我已通过一篇文章介绍了应用快捷的接入与Demo。如果还未看过上一篇的文章可以先了解入门。 传送门:Android 应用快捷(shortcut)功能的详解(一)_蜗牛、Z的博客-CSDN博客 有创建自然就会有管理,否则一个完美的方案不应该这么被推荐出来。如何…

Zemax Lumerical | 二维光栅出瞳扩展系统优化(下)

简介 本文提出并演示了一种以二维光栅耦出的光瞳扩展(EPE)系统优化和公差分析的仿真方法。 在这个工作流程中,我们将使用3个软件进行不同的工作 ,以实现优化系统的大目标。首先,我们使用 Lumerical 构建光栅模型并使用…

数据库实验报告--安全性实验

一、 实验目的 (1)理解SQL Server验证用户身份的过程,掌握设置身份验证模式的方法。 (2)理解登录账号的概念,掌握混合认证模式下登录账号的建立与取消方法。 (3)掌握混合认证模式…

Centos7中mysql安装配置

前提:先关闭防火墙或开启tcp的3306端口 1、查看服务器上是否有现成的安装包 yum list mysql* 2、去mysql官网的yum资源库找到对应的rpm文件的下载链接 确定系统版本 cat /etc/redhat-release 到mysql官网复制对应版本的资源下载链接 MySQL :: Download MySQL Yum…

git Husky

虽然我们已经要求项目使用eslint了,但是不能保证组员提交代码之前都将eslint中的问题解决掉了: 也就是我们希望保证代码仓库中的代码都是符合eslint规范的; 那么我们需要在组员执行 git commit 命令的时候对其进行校验,如果不符合…

说说验证码功能的实现

前言 大家好,我是 god23bin,今天说说验证码功能的实现,相信大家都经常接触到验证码的,毕竟平时上网也能遇到各种验证码,需要我们输入验证码进行验证我们是人类,而不是机器人。 验证码有多种类型&#xff…

项目中使用es(一):使用springboot操作elasticsearch

使用springboot操作es 写在前面搭建项目环境和选择合适版本具体的代码实现(1)继承ProductInfoRepository具体的代码实现(2)使用ElasticsearchRestTemplate操作问题总结最后放个demo 写在前面 对于elasticsearch的搭建&#xff0c…

5款提高工作效率的无广告软件

今天推荐一些可以大幅度提升办公效率的小软件,安全无毒,下载简单,最重要的是没有广告! 1.照片处理——Darktable Darktable是一款用于处理和管理数码照片的工具。它可以让你对RAW格式的照片进行非破坏性的编辑,并提供多种模块和…