WWW.YOUINFO.SITE
标签聚合 AND

/tag/AND

cnBeta全文版 · 2026-06-11 23:35:12+08:00 · tech

据业内消息,SK hynix 已完成其 375 层 NAND 闪存产品的验证工作,预计将在 2026 年底前正式在现有工厂中投入量产,以满足不断增长的存储容量需求。 这些工厂目前主要生产的是 321 层 V9 NAND 闪存,未来将通过工艺转换来支持更高层数的堆叠解决方案。 在 NAND 闪存堆叠层数的竞赛中,SK hynix 与三星正展开激烈比拼。 三星此前已透露将通过双堆叠方案将 V-NAND 层数推升至 400 层以上,并已展示最高可达 900 层、并以 1000 层为目标的技术路线图,而 SK hynix 则选择以 375 层产品作为阶段性节点切入量产。 据了解,SK hynix 内部最初将这一代产品定位为“400 层级” NAND,但在实际工艺开发过程中,由于在同一芯片内堆叠过多层数时遇到严重的工艺与信号传输难题,最终将设计修正为 375 层。 行业人士透露,原本规划中的 400 层级产品被调整为 375 层,而后续路线图则延伸至 480 层和 604 层等更高堆叠的产品节点。 要继续向 480 层、604 层等更高堆叠迈进,单靠现有材料体系已经难以为继。 报道指出,SK hynix 需要在关键导电材料上进行重大调整,逐步放弃目前普遍采用的钨(Tungsten)薄膜,转而采用钼(Molybdenum)作为新的互连材料,以应对高层数堆叠带来的电阻与信号完整性挑战。 在高层数 3D NAND 结构中,随着垂直方向导线和通道尺寸不断缩小,钨的电阻难以控制,信号传输损耗和延迟问题愈发突出,成为继续增加堆叠层数的“材料天花板”。 与之相比,钼在高电阻环境下具有更优的性能表现,能够在更窄的布线条件下保持较好的导通特性,因此被视为突破高层堆叠限制的关键材料之一。 三星已经在其部分 NAND 工艺中率先导入钼材料,并计划在今年进一步优化其 V-NAND 生产流程,推出首批 400 层级产品,以巩固其在高端存储市场的领先地位。 SK hynix 则将在跟进更高层数产品时同步完成从钨到钼的材料切换,以缩小与竞争对手在技术路线上的差距。 随着 AI、云计算、高性能终端与企业级数据中心对存储容量和性能需求持续攀升,3D NAND 层数的不断提升被视为提升单颗芯片比特密度、降低单位存储成本的关键方向。 然而,这也意味着晶圆厂需要投入更多资金采购新材料、升级设备与转换产线,以支撑更高复杂度的堆叠与加工流程。 以钼为例,其需求量在近几年显著增长,已成为 NAND 供应链中的重要原材料之一。 报道称,三星去年采购了约 4 吨钼,今年迄今为止的采购量已增至约 10 吨,而随着 SK hynix 等厂商导入钼,预计今年其用量也将达到约 4 吨。 产业机构预测,随着 400 层级及更高层数 NAND 进入量产阶段,钼的市场需求将快速攀升:到 2027 年预计将达到 25 吨,2028 年增至 40 吨,2029 年约为 60 吨,并在 2030 年左右进一步攀升至 80 吨规模。 在这一过程中,材料供应、成本控制与技术迭代将共同决定 NAND 厂商在高层堆叠时代的竞争格局。 对于 SK hynix 而言,375 层 NAND 的量产不仅是对其工艺能力的阶段性验证,也是向 480 层、604 层乃至更高层数演进的技术跳板。 如何在保持良率与成本之间取得平衡,同时顺利完成从钨到钼等关键材料的迁移,将直接影响其在与三星等竞争对手的角逐中能否占据有利位置。 查看评论

LinuxDo 最新话题 · 2026-06-11 20:48:22+08:00 · tech

脚本 #!/data/data/com.termux/files/usr/bin/bash set -euo pipefail readonly SCRIPT_NAME="$(basename "$0")" readonly MIMO_PACKAGE_NAME="@mimo-ai/cli" readonly MIMO_PACKAGE_VERSION="${MIMO_CODE_VERSION:-${MIMOCODE_VERSION:-latest}}" readonly PREFIX_DIR="${PREFIX:-/data/data/com.termux/files/usr}" readonly HOST_MIMO_PATH="$PREFIX_DIR/bin/mimo" readonly MIMO_CLI_PKG_DIR="$PREFIX_DIR/lib/node_modules/@mimo-ai/cli" readonly MIMO_ARCH_PKG_NAME="@mimo-ai/mimocode-linux-arm64" readonly MIMO_ARCH_PKG_DIR="$PREFIX_DIR/lib/node_modules/$MIMO_ARCH_PKG_NAME" readonly TMP_ROOT="$HOME/tmp" readonly BACKUP_DIR="$TMP_ROOT/mimocode-backups" readonly WRAPPER_MARKER="# mimocode-termux-glibc-wrapper" # Resolved by install_mimo_package() after locating the real glibc ELF. MIMO_BINARY_PATH="" MIMO_RESOLVED_VERSION="" readonly C_BOLD_BLUE="\033[1;34m" readonly C_BOLD_GREEN="\033[1;32m" readonly C_BOLD_YELLOW="\033[1;33m" readonly C_BOLD_RED="\033[1;31m" readonly C_RESET="\033[0m" info() { printf '%b[INFO]%b %s\n' "$C_BOLD_BLUE" "$C_RESET" "$*"; } success() { printf '%b[ OK ]%b %s\n' "$C_BOLD_GREEN" "$C_RESET" "$*"; } warn() { printf '%b[WARN]%b %s\n' "$C_BOLD_YELLOW" "$C_RESET" "$*" >&2; } die() { printf '%b[ERR ]%b %s\n' "$C_BOLD_RED" "$C_RESET" "$*" >&2; exit 1; } usage() { cat <<EOF Usage: bash $SCRIPT_NAME What it does (glibc-runner mode, no proot): 1. Installs glibc-repo, refreshes apt metadata, installs glibc-runner. 2. Installs nodejs-lts + npm in Termux (if missing). 3. npm installs ${MIMO_PACKAGE_NAME} globally, then force-installs the ${MIMO_ARCH_PKG_NAME} native linux-arm64 package. 4. Skips MiMoCode's postinstall script because Termux Node reports process.platform='android' and the upstream script looks for a non-existent @mimo-ai/mimocode-android-arm64 package. 5. Replaces \$PREFIX/bin/mimo with a grun wrapper that runs the glibc ELF directly on Termux. Environment overrides: MIMO_CODE_VERSION npm package version/tag, default: ${MIMO_PACKAGE_VERSION} examples: latest, preview, 0.1.0, v0.1.0 MIMOCODE_VERSION alias for MIMO_CODE_VERSION Notes: - Official MiMoCode install docs: https://github.com/XiaomiMiMo/MiMo-Code - glibc-runner injects glibc via LD_LIBRARY_PATH; kernel calls are native. EOF } command_exists() { command -v "$1" >/dev/null 2>&1; } # ELF magic = 7f 45 4c 46; e_machine at offset 18 = 0xb7 for EM_AARCH64. is_valid_aarch64_elf() { local f="$1" [ -f "$f" ] || return 1 local magic machine magic=$(od -An -tx1 -N4 "$f" 2>/dev/null | tr -d ' \n') [ "$magic" = "7f454c46" ] || return 1 machine=$(od -An -tx1 -j18 -N1 "$f" 2>/dev/null | tr -d ' \n') [ "$machine" = "b7" ] } find_arch_binary() { local candidate for candidate in \ "$MIMO_ARCH_PKG_DIR/bin/mimo" \ "$MIMO_CLI_PKG_DIR/bin/.mimocode"; do if is_valid_aarch64_elf "$candidate"; then MIMO_BINARY_PATH="$candidate" return 0 fi done while IFS= read -r candidate; do if is_valid_aarch64_elf "$candidate"; then MIMO_BINARY_PATH="$candidate" return 0 fi done < <(find "$MIMO_ARCH_PKG_DIR" "$MIMO_CLI_PKG_DIR" -type f -size +10M 2>/dev/null) return 1 } ensure_tmp_root() { mkdir -p "$TMP_ROOT" [ -w "$TMP_ROOT" ] || die "Temp directory is not writable: $TMP_ROOT" export TMPDIR="$TMP_ROOT" } require_termux() { [ -d "$PREFIX_DIR" ] || die "This script must run in Termux." command_exists pkg || die "pkg not found. This script must run in Termux." if [ -r /proc/1/status ] && grep -q 'TracerPid:.*[1-9]' /proc/1/status 2>/dev/null; then warn "Detected non-zero TracerPid on PID 1 -- looks like a proot session." warn "Run this script from a plain Termux shell, not from inside proot-distro." fi } ensure_termux_package() { local package_name="$1" if dpkg -s "$package_name" >/dev/null 2>&1; then success "Termux package already installed: $package_name" return 0 fi info "Installing Termux package: $package_name" pkg install -y "$package_name" success "Installed Termux package: $package_name" } ensure_glibc_runner() { ensure_termux_package "glibc-repo" if ! apt-cache show glibc-runner >/dev/null 2>&1; then info "Refreshing apt metadata so glibc-repo becomes visible" pkg update -y || apt-get update -y || true fi ensure_termux_package "glibc-runner" command_exists grun || die "grun not found after installing glibc-runner." } ensure_nodejs() { if command_exists node && command_exists npm; then success "Termux node present: $(node --version), npm $(npm --version)" return 0 fi if dpkg -s nodejs >/dev/null 2>&1; then success "nodejs already installed" else ensure_termux_package "nodejs-lts" fi command_exists node && command_exists npm || die "node/npm not found after installing nodejs." } resolve_mimo_version() { local requested="$MIMO_PACKAGE_VERSION" if [ "$requested" != "latest" ]; then requested="${requested#v}" fi local pkg_spec="$MIMO_PACKAGE_NAME" if [ "$requested" != "latest" ]; then pkg_spec="${MIMO_PACKAGE_NAME}@${requested}" fi info "Resolving version for ${pkg_spec}" local resolved resolved=$(npm view "$pkg_spec" version 2>/dev/null | tail -n1) \ || die "Failed to resolve version for ${pkg_spec} via npm view" [[ "$resolved" =~ ^[0-9]+\.[0-9]+ ]] \ || die "npm view returned a bogus version: '$resolved'" MIMO_RESOLVED_VERSION="$resolved" } backup_existing_launcher() { mkdir -p "$BACKUP_DIR" [ -e "$HOST_MIMO_PATH" ] || return 0 if grep -Fq "$WRAPPER_MARKER" "$HOST_MIMO_PATH" 2>/dev/null; then success "glibc-runner wrapper already in place" return 0 fi local backup_path="$BACKUP_DIR/mimo.host-backup.$(date +%Y%m%d_%H%M%S)" cp -P "$HOST_MIMO_PATH" "$backup_path" success "Backed up existing launcher to $backup_path" } install_mimo_package() { resolve_mimo_version local main_version="$MIMO_RESOLVED_VERSION" local pinned_main="${MIMO_PACKAGE_NAME}@${main_version}" local arch_spec="${MIMO_ARCH_PKG_NAME}@${main_version}" info "Installing ${pinned_main} without upstream optional platform packages" npm install -g --force --ignore-scripts --omit=optional "$pinned_main" info "Installing ${arch_spec} for Termux via glibc-runner" npm install -g --force --ignore-scripts --os=linux --cpu=arm64 "$arch_spec" find_arch_binary || die "No valid aarch64 ELF found under $MIMO_ARCH_PKG_DIR. \ The arch package may not have unpacked correctly; inspect with: \ ls -la $MIMO_ARCH_PKG_DIR" success "MiMoCode native binary: $MIMO_BINARY_PATH ($(stat -c %s "$MIMO_BINARY_PATH" 2>/dev/null || echo '?') bytes)" } install_host_wrapper() { local tmp_wrapper tmp_wrapper="$(mktemp "$TMP_ROOT/mimo-grun.XXXXXX")" cat >"$tmp_wrapper" <<EOF #!/data/data/com.termux/files/usr/bin/sh $WRAPPER_MARKER mkdir -p "\$HOME/tmp" 2>/dev/null || true export TMPDIR="\${TMPDIR:-\$HOME/tmp}" exec grun "$MIMO_BINARY_PATH" "\$@" EOF chmod 755 "$tmp_wrapper" rm -f "$HOST_MIMO_PATH" mv "$tmp_wrapper" "$HOST_MIMO_PATH" chmod 755 "$HOST_MIMO_PATH" success "Installed Termux launcher: $HOST_MIMO_PATH" } verify_install() { info "Verifying binary via grun" grun "$MIMO_BINARY_PATH" --version info "Verifying Termux launcher" "$HOST_MIMO_PATH" --version local path_mimo="" path_mimo="$(command -v mimo 2>/dev/null || true)" if [ -n "$path_mimo" ] && [ "$path_mimo" != "$HOST_MIMO_PATH" ]; then warn "Your PATH resolves 'mimo' to $path_mimo, not $HOST_MIMO_PATH." warn "Move $PREFIX_DIR/bin earlier in PATH or remove the older launcher." fi success "MiMoCode setup completed (glibc-runner mode)" } main() { if [ "${1:-}" = "-h" ] || [ "${1:-}" = "--help" ]; then usage exit 0 fi ensure_tmp_root require_termux ensure_glibc_runner ensure_nodejs backup_existing_launcher install_mimo_package install_host_wrapper verify_install cat <<EOF Run MiMoCode with: mimo Configuration: mode: glibc-runner (no proot) binary: $MIMO_BINARY_PATH launcher: $HOST_MIMO_PATH temp: $TMP_ROOT If the official installer previously added ~/.mimocode/bin before $PREFIX_DIR/bin, that older launcher may shadow this Termux wrapper. Troubleshooting: - If npm cannot resolve a preview version, install with: MIMO_CODE_VERSION=preview bash $SCRIPT_NAME - If subprocess errors mention libc/ld.so, the binary is loading Termux bionic libs via inherited LD_LIBRARY_PATH. Check glibc-runner docs. EOF } main "$@" 1 个帖子 - 1 位参与者 阅读完整话题

v2ex · 2026-06-11 19:52:58+08:00 · tech

最近做了一个 Text to Handwriting 小工具: handtext.net 作用很简单: 输入文字 → 生成手写效果 → 导出图片/PDF 。 最初是帮朋友制作手写笔记时想到的需求,后来发现还有不少场景: 手写笔记 学习资料 练字模板 手写信件 课堂讲义 个性化贺卡 目前第一版主要功能: ✅ 在线生成手写内容 ✅ 多种手写风格 ✅ 导出图片/PDF ✅ 手机和电脑都能使用 ✅ 无需安装软件 技术栈: Next.js Vercel Cloudflare 整个项目是利用业余时间开发的,目前还在持续完善。 欢迎大家体验,也欢迎吐槽: 哪些功能最有用? 哪些功能应该优先做? 有没有类似场景你会用到? 地址: handtext.net 感谢大家的建议 🙏

LinuxDo 最新话题 · 2026-06-11 19:41:18+08:00 · tech

Medical Xpress – 10 Jun 26 CRISPR enzyme precisely detects and shreds DNA in cancer mutations once... In 2020, Jennifer Doudna won the Nobel Prize in chemistry for her work on the CRISPR-Cas9 gene-editing technology that allows scientists to precisely modify DNA by cutting it at specific locations. Six years later, a new study in Nature by a team led... [!quote]+ 2020 年,珍妮弗-杜德娜(Jennifer Doudna)因研究 CRISPR-Cas9 基因编辑技术而获得诺贝尔化学奖,该技术允许科学家通过在特定位置切割 DNA 来精确修改 DNA。六年后,杜德娜领导的团队在《自然》杂志上发表的一项新研究发现了一种强大的新方法,可以利用一种名为 Cas12a2 的 CRISPR 酶选择性地杀死癌细胞。 一旦这种酶检测到癌症特异性基因特征,它就会开始切碎目标细胞内的染色质–一种由 DNA 和蛋白质组成染色体的混合物。 许多癌症都是由肿瘤抑制蛋白(如 TP53)的突变引起的。然而,这些突变一直难以治疗,因为它们缺乏传统药物可以抓住的结合口袋。因此,许多致癌突变长期以来一直被认为是无法治疗的。 有了这种新方法,现在就能精确锁定并消除这些无法治愈的致病突变,因为它并不依赖于附着在突变蛋白质上。相反,一旦检测到与癌症有关的特征,它就会开始疯狂破坏 DNA。 癌细胞具有正常细胞所缺乏的独特蛋白质特征,因此很容易被识别和靶向治疗。TP53,即转录因子 p53,是癌症中最常见的突变基因之一,出现在高达 90% 的卵巢和胰腺肿瘤中。这种突变通常出现在早期,并持续存在于肿瘤的整个生长期,因此是一个极具吸引力的治疗靶点。然而,这种蛋白质很难被药物靶向。 在这项新研究中,研究小组将细菌防御系统变成了精确杀癌工具。他们选择了 Cas12a2 酶,并用引导 RNA 对其进行编程,以识别癌症特异性特征,包括 p53 和表皮生长因子受体的常见突变,以及 MYC 等致癌基因的异常高水平。 CRISPR Medicine News: CRISPR-Cas12a2 Targets Mutant Cancer Transcripts for Selective Cell... A new CRISPR-based strategy turns cancer cells' own mutant transcripts against them, opening a potential route to one of oncology's most stubborn unsolved problems: the targeting of mutant p53. Rather than attempting to fix or restore the defective... 2 个帖子 - 2 位参与者 阅读完整话题

LinuxDo 最新话题 · 2026-06-11 18:27:55+08:00 · tech

base64编码: dHAtY3diZTdsdTk3dWE2ZHZ1eHRjanVhdW1ybHJsNXhvbWYyZXo0bzdjaHJ0czFubW1w 兼容 OpenAI 接口协议: https://token-plan-cn.xiaomimimo.com/v1 兼容 Anthropic 接口协议: https://token-plan-cn.xiaomimimo.com/anthropic 模型 mimo-v2.5-pro、mimo-v2.5、mimo-v2.5-asr、mimo-v2.5-tts-voiceclone、mimo-v2.5-tts-voicedesign、mimo-v2.5-tts、mimo-v2-pro、mimo-v2-omni、mimo-v2-tts 8 个帖子 - 3 位参与者 阅读完整话题

v2ex · 2026-06-11 17:15:56+08:00 · tech

最近做了一个 Text to Handwriting 小工具: handtext.net 作用很简单: 输入文字 → 生成手写效果 → 导出图片/PDF 。 最初是帮朋友制作手写笔记时想到的需求,后来发现还有不少场景: 手写笔记 学习资料 练字模板 手写信件 课堂讲义 个性化贺卡 目前第一版主要功能: ✅ 在线生成手写内容 ✅ 多种手写风格 ✅ 导出图片/PDF ✅ 手机和电脑都能使用 ✅ 无需安装软件 技术栈: Next.js Vercel Cloudflare 整个项目是利用业余时间开发的,目前还在持续完善。 欢迎大家体验,也欢迎吐槽: 哪些功能最有用? 哪些功能应该优先做? 有没有类似场景你会用到? 地址: handtext.net 感谢大家的建议 🙏