Effective file data-block placement for different types of page cache on hybrid main memory
- 格式:pdf
- 大小:643.03 KB
- 文档页数:22
[检索词汇] altium designer 中英文技术词汇对照PCB AD常用术语翻译对译protel 单词Accept 接受Accuracy 精确度准确度Activate 激活活动启动Add 添加Address 地址Advance 高级Aide 助手辅助Align 排列对齐Alpha 开端Analog 模拟的Analyzer 分析器测定仪Angle 角度观点Annotate 注解Aperture 孔径光圈Applocation 应用程序Approximation 接近近似值Arc 圆弧弧度Architecture 结构体构造Array 阵列数组Ascend 登高上升Assembly 集合装配Associate 关联的辅助的Asynchronous 异步的Automatical 自动的Access 存取通道接近Action 行动作用Active 积极的活泼的Adder 加法器Administration 管理员管理器Aggressor 干扰源入侵者Alias 别名化名混淆Allow 允许Always 总是永远Analysis 分析研究Animation 动画Any 任意的Applicable 可应用的适用的Apply 应用Arbiter 仲裁器Architect 设计者制造者Area 面积范围Arrange 安排排列调整Arrow 箭形Assembler 装配器汇编Assign 分配分派指定Astable 非稳态的多谐振荡的Attempt 尝试Available 有效的有用的Backup 备用Bar 标签Base 基极基础基地Batch 批处理批量Begin 开始创建Behavior 行为举止态度Bell 铃钟Between 两者之间Bidir 允许双向Bidirectional 双向性Bill 清单Binary 二进制二元的Bistable 双稳Bit 位Bitmap 位图Black 黑色黑色的Blind 盲孔Blip 标志信号Block 框栏隔阻Board 板子牌子委员会Body 物体主干主体Boolean 布尔值Border 边线Bottom 底部Bounce 反弹抖动Breakpoint 中断点断点Broken 破裂的损坏的Browse 浏览Buffer 缓冲器Build 构建Bullet 锥形体Bury 埋藏Bus 总线Butterfly 蝶形Button 按钮Bypass 省略Byte 字节Cable 电缆Calculation 计算估计CAM(computer aided manufacturing)计算机辅助制造Cancel 作废删除Capacitor 电容Caption 标题Capture 捕获收集记录Case 实情案例Category 类目范畴部属Cathode 阴极Center 中心Centimeter 厘米Chain 链Change 改变Channel 通道Charge 充电指责指示Check 检测Chart 制成图表Child 子女Chip 集成芯片Circuit 电路Circular 圆环弧形Class 阶层等级Cleanup 清扫工作Clear 清除清零Clearance 清除余地间隙Click 单击点击Clipboard 剪切板Clock 时钟Close 关闭结束Closure 关闭闭幕Code 编码代码Collector 集电极Color 彩色着色Colour 颜色Column 圆柱纵列栏目Combination 组合Comma 逗号Command 命令Comparator 比较器Community 社区群落Compilation 编辑物Compatible 兼容的和谐的Component 元器件组成成分Compile 编辑收集汇编Computer 计算机Composite 合成的复合的综合的Condition 条件Concurrent 并发事件同行Configure 配置Confidence 置信度自信信赖Conflict 冲突Confirm 确认证实Connector 连接端Connectivity 连线Constraint 约束限制因素Console 主控台表盘托架Consumer 用户使用者Construction 构造Continue 继续延伸Contract 缩短Control 控制Convert 转化转变Coordinate 坐标Copper 铜Copy 拷贝复制Core 核Cord 绳线索Corner 角落拐角Corporation 公司企业法人Counter 计数器Courtyard 天井庭院Create 创建Cross 十字符号混合Crosspoint 插入测试点Crosstalk 串扰CRTCrystal 晶体Current 电流当前的流行的Cursor 光标游标指示器Custom 惯例Customer 用户客户Cutout 切出划出挖空Cycle 周期Comment 注释发表评论说明书Dashed 下划线Data 数字数据Databse 数据库资料库Date 日期Daughtrer 子系子插件派生Debug 排错调试Dead 死的Decimal 十进制小数Decade 十进制十年Default 默认值缺省值弃权Decoder 译码器Definition 定义式限定分辨率Define 定义下定义Delay 延时Degree 度等级Demo 演绎演示版Delete 删除Demote 降级降低Deny 否认Description 描述Designator 标识指示者Designer 设计师Destination 目标目的Detail 细节零件Device 装置设备图样器件Diagram 示意图Dialog 对话Diagonal 对角线Difference 差异查分差额Diamond 菱形钻石Digital 数字的Different 不同的Dimension 尺度Dim 朦胧暗淡Direct 指示指令Diode 二极管Disable 无能无效无用Director 指南指导咨询Disk 圆盘Discharge 放点排出释放Distribution 分配分布分发Display 显示Dock 停放连接接驳Divider 分配分割Dot 小点虚线点缀Donut 环形Download 下载Down 下降Draw 绘制描写冲压成型Drag 拖拽Drop 下拉滴落遗漏Drill 钻Duplicate 复制副本Dual 双数的两倍Duty 占空比Edge 边缘Edit 编辑Efficient 高效的有能力的Electrical 电气的电学的电力的Ellipse 椭圆Embed 潜入插入Emitter 射极Emulate 效法Enable 使能激活有效Encoder 编码器End 结束Engineer 设计建造工程师Enter 进入参加Entity 实体Entry 入口Enum 列举型别Error 错误Evaluation 评价评估鉴定Example 例子Excel 胜过优秀突出Execute 执行实施签署Exist 存在的现有的Expand 扩大推广展开Expansion 扩大扩展扩张Expiry 终止期满Explode 爆炸分解Exponent 指数Export 输出出品Explore 探究查询Extra 额外的附加的External 外部的外面的外形Extrude 压制突出Extract 提取摘录Fabrication 制造Frequency 频率Failure 无效毁坏的Function 函数功能False 虚假的伪造的Fail 失败不足Fanout 扇出Fall 下降降落落差Favorite 最爱的(sth sb)Famale 凹的阴的Figure 图形Fatal 致命的Fill 填充Field 现场域范围Filter 过滤器File 文件Find 建立发现Film 胶片First 第一首先Finally 最终的Flash 闪光闪烁曝光Finish 完成结束Flatten 弄平弄直Fit 适合相配Flip-flop 触发器Flat 平的平坦的Floorplan 层平面图Flip 倒转Focus 集中聚焦Float 发行Footprint 封装Flow 流动源自Format 格式Folder 文件夹折叠Formula 公式Force 强制FPGAForum 讨论论坛会Frame 框图塑造Framework 架构结构Form 从····起由于Gate 门Generate 产生导致造成Graphic 图形green 绿色Grid 栅格Ground 地面基础Group 组类集聚Guide 引导指南手册Hard 坚硬的困难的Hardware 硬件设备五金Harmonic 谐波谐振Harness 束Hatch 策划画影线舱口Hazard 冒险Hazy 模糊的混浊的Height 高度Help 帮助Hexadecimal 十六进制Hide 隐藏Hierarchy 体系分层系列High 高的高级的高尚的Hint 暗示History 历史记录Horizontal 水平横向Hug 拥抱紧靠Ideal 理想的Identical 相同的相等的恒等的Identifier 识别符Identify 识别标记IDF(integrated data file) 综合资料文件IEEE 电气电子工程师协会Impedance 阻抗Ignore 忽略Import 输入导入Imperial 英制的Incident 事变入射Index 索引Increment 增量Inductor 电感Indication 指示表示Information 信息Industry 工业企业产业行业Innovation 创新Initial 最初的开始的Insert 插入嵌入添Input 输入Insight 洞察顿悟Inside 内部的里面的Install 安装Inspector 检查视察Instrument 仪器Instance 实例Integrate 积分的集成使完成使结合Integer 整数Interactive 互动的交互的Integrity 完整的Interface 接口界面Interconnect 互联器Internet 因特网Internal 内部的IPC(industry process control)工业过程控制Interrupt 打断中断Isolate 隔离Island 孤岛岛屿Item 项目条款ISP(In-system programmable)在线编程JTAG(joint test action group) 联合测试行为组Job 工作职业Joint 联合的Jump 跳跃Junctions 结点接点Keep 保持Key 关键钥匙Kind 种类Knowledge 知识Label 标签商标Lattice 晶格点阵Landscape 横向Layer 层Latch 锁存器锁扣LCD(liquid crystal display) 液晶显示器Launch 发射投掷出版LED(light emitting diode) 发光二级管Layout 布置布局Legacy 老化遗留下Learn 学习学会认知Length 长度Left 左边向左Less 较少的Legend 图例图注Library 库图书馆Lens 镜Line 线条线路Level 水平Link 链接连接License 注册Linear 线性的直线的一次的Liquid 液体流体不稳的Live 激活Localize 本地局部本地化定位Locate 把···设置在位置场所Lock 锁定Log 记录Logarithmic 对数的Logic 逻辑逻辑学Logical 逻辑的合理的Login 登录Lookup 查找查阅Loop 循环环状物Low 低的矮的Lot 地段许多Laboratory 实验室LPM(library of parameter modules) 参数化模块库Language 语言用语术语Machine 机器机械Multivibrator 多谐振荡器Maker 制造者Magnitude 幅值强度量值Manage 管理操纵Male 阳的Manual 手册手动的Manager 管理者经理主任Map 图Manufacture 制造制作加工Match 匹配比赛Mask 表面掩膜屏蔽Matrix 矩阵混合物Material 材料物质Maximum 最大值最大量Maximize 增加扩大Measure 测量Meal 粉状物膳食Medium 中间的媒介Mechanical 机械的Membership 会员资格Mega 许多非常强大Memory 存储器内存Menu 菜单Merge 合并Message 信息Meter 米(长度单位)Metric 公制的Microsoft 微软Millimeter 毫米Minimum 最小值Miscellaneous 混合杂项多样Miser 钻探机Miss 损失差错遗漏Miter 斜接斜角Mix 混合结合杂交Mode 形状方式风格Model 模型模特型号Modify 更改修饰Module 模块组件单元Moire 网纹纹波龟纹Mold 模块模型Monitor 监控Monostable 单稳状态Moor 固定系住Mount 安装Move 移动Mult 多种多元多路Magnify 放大Name 名称Nano 十亿分之一纳Navigator 领航导航Neck 领口瓶颈Negative 负的Net 网络Netlable 网络标号Netlist 网络表New 新的Next 下一步再Nexus 关系Node 结点波峰Noise 噪音None 忽略一个也没Normal 正常的常规的Number 数字号码数量Object 物体目标Octagon 八边形Octal 八进制Octave 八行八度八位ODBC(ovject database connectivity) 开放数据库互联Ohm 欧姆(电阻单位)OLE DB(object lin king and embedding databse) 目标链接及嵌入式数据库Online 在线Opcode 运算码Openbus 开放总线公共总线Open 开放的公开的Operate 工作运转营业Operand 操作数运算域Optimizer 优化程序优化器Operator 运算符Orange 橙子桔子Option 选择选项Orientation 取向Order 顺序Original 原本的最初的Origin 起源原点Outline 外形略述概括Orthogonal 直角的正交的Outside 外部的外观Output 输出Overlay 覆盖层Overall 全部的Owner 物主所有者Overshoot 过冲Package 封装包装Pad 焊盘基座垫料Page 页码翻阅Pair 成对成双Palette 调色盘选盘控制板Panel 面板画板嵌镶板Parallel 并行并联Parameter 参数系数因数Parent 父系Parsing 部析Part 部件Passive 无源的被动的Paste 助焊贴敷铜Path 路径轨迹PCBPeak 峰值Peripheral 周边的外围的Permission 同意Persistent 坚持不懈固执的Physical 物理的Pickbox 点选框取景框Pickup 拾取收集Pin 引脚管脚Place 放置Placement 布局Plane 平板平面飞机Plugin 插件栓Point 点Plus 十字记号加号Polygon 多边形多角形Pole 极极地Popup 弹出Polyline 折线Portable 可移植的移动的Port 端口Position 位置Portrait 竖向纵向Postpone 延时搁置Positive 正的Power 电源功率Pour 倾泻倒灌Preference 偏好优先Predefined 预先定义Preliminary 预备的初步语言的Prefix 前缀字首Preserve 保护保藏维护Prepreg 预浸料半固化品Preview 预览预习排练Preset 置数Primary 主要的Previous 以前的早先的Print 打印Primitive 原始的纯朴的Priority 优先级优先权Printout 打印输出Process 进程步骤Probe 探测调查Profile 外形轮廓部面Processor 处理器加工者Program 程序设计Programmable 可编程的Project 工程项目Proper 适当的恰当的Promote 促进创办Provider 提供者供应商Property 性质特性Pull 拉牵拖PSD(programmable system device) 可编程的系统部件Pulse 脉冲跳动Pullback 障碍阻扰拉回Push 推挤推进拓展Quality 质量特性Query 疑问质问问号Quiet 静态的安静的Radix 根基数RAMRange 级别排行类别Raster 光栅屏面Ray 射线光线闪现Rebuild 重建重构Recent 最近的Record 记录经历Rectangle 矩形长方形Rectangular 矩形的成直角的Red 红色的Reference 参考基准Reflect 反射Region 区域地带Register 寄存器Remove 删除移除Repeat 重复Report 报告Require 需要需求Reserve 储备保存Reset 复位置零Reshape 改造矫形变形Resistance 电阻值Resistor 店主Resource 资源Restore 恢复还原返回Restrict 限制约束Result 结果导致Retrieve 取回恢复Revision 修订本校正版Right 右的右方Ring 铃声环形物Rise 上升起立增强ROMRoom 房间空间位置Root 根根源本质Rotation 旋转自转Round圆的Routing 走线布线Row 成形排列Rule 规则Run 运转流行的趋势Server 服务服务器Same 相同的同样的Sans 没有无Save 保存Scalar 标量数量Scale 刻度调节Schematic 图表示意图Scope 范围域Score 成绩计分Script 脚本Scroll 卷动Search 搜索Secondary 次要的从属的Section 部分片断Seed 原因种子Select 挑选选拔Separate 分离区别标识Sequential 有顺序的相继的Serial 串行的系列的序列的Serif 细体字Series 串联连贯成套Session 学期期间Service 服务检修劳务Shader 材质Set 设置置位Shadow 阴影着色Shape 造型形状Share 共享Sheet 图纸方块Shelve 搁置暂缓考虑Shift 移动变换Shortcut 快捷方式Show 显示展示Signal 信号Sign 签署有符号的征兆标志Silent 沉默的Silkscreen 丝印层Similar 相似的类似的Simple 简单的朴实的Simulation 仿真Sitemap 网站地图网站导航Situs 地点位置Silce 切片薄片Slider 滑块滑动Slot 槽Small 小的细的微的Smart 智慧灵气Snap 跳转突然折断Snippet 片断摘录Software 软件Solder 焊接Solid 实心的固体的坚固的Sort 分类Source 电源根源Space 间隔间隙Speaker 扬声器Special 特殊的Specification 说明书明细表Specify 具体指定详细指明列入清单Speed 速度Split 分离Spreadsheet 电子表格试算表Square 方形正直的Stack 堆积层叠Standalone 单板机Standard 标准规范Standoff 支架平淡Start 起始Starve 不足饥饿State 状态形势州Static 静止的Station 平台地位Status 地位资格身份Step 步进踏步步骤Stimulus 激励促进刺激Stop 停止Storage 储存器Strategy 策略方案战略String 字符串串条弦Structure 构成结构组织Style 风格文体作风Subversion 颠覆Summary 摘要概括总结Support 支持Suppress 压制抑制阻止Surface 表面Suspend 暂停挂起终止Swap 交换Sweep 扫描环视Switch 开关Symbol 符号Synchronous 同步的Syntax 语法Synthesis 综合合成System 系统Table 表格True 真实Target 目标对象指标Tail 末尾尾部Technology 技术工艺Teardrop 泪滴Template 样板Temperature 温度气温Terminal 极限的末端的端子Tenting 掩盖遮掩Terminator 终端负载Terminate 终结终止Text 文本正本Test 测试Themselves 他们自己TFT 触摸屏显示器Thruhole 通孔Thermal 热的热量的Time 时间Tile 铺排Timer 定时器Timebase 时基Toggle 切换开关双稳Timing 时序定时Tool 工具Tolerance 公差容限容差Top 顶部Toolbar 工具栏工具条Total 总体的合计为Topic 题目Track 轨迹Touchscreen 触摸屏Train 培训Trail 拖Transfer 传递Trance 恍惚Transistor 三极管晶体管Transient 暂态瞬态Transparency 透明度Translate 转变翻译Triangle 三角Transport 传输Trigonometry 三角法Trigger 触发器启动引起Tube 真空管电子管试管Tune 调谐曲调协调Tutorial 指导导师Type 类型Unassign 未定义Uncouple 解耦松开Undershoot 下冲负尖峰Undo 取消还原Uniform 相同的一致的单调的Unique 独特的唯一的Unit 单位Universal 普遍的全体的宇宙的Unspecified 不规定不确定Up 向上Update 更新Usage 用法习惯处理Utility 实用的通用的Use 实用Valid 有效的确实的合法的Validate 使生效Validation 确认验证Value 数值价值价格评价Variant 变化派生Vector 矢量向量Vendor 供应商卖主Version 版本翻译Vertical 垂直纵向Vertex 顶点制高点极点Very 很非常甚至VHDLVia 经由过孔Victim 被干扰受害者Video 视频录像View 查看Violation 违犯冲突Virtual 实质上的虚拟的Visible 可视的V oltage 电压Wait 等待延缓Walkaround 环绕步行栈桥Warn 警告提醒预告Wave 波动起伏挥动Waveform 波形图Where 地点在哪里Wide 宽的广泛的Window 窗口Width 宽度幅度带宽Wizard 向导精灵Wire 导线Workspace 工作区工作空间Worksheet 工作表单WOSA(windows open services architecture) 开放服务结构Worst 最差的最坏的Zero 零Zone 地段区域Zoom 缩放陡升。
故障树与可靠性框图故障树分析(FTA)的历史故障树分析(FTA)是可靠性和安全分析的另外一种技术。
1962年美国贝尔实验室为美国空军在民兵导弹发射控制系统而发展了该理论,以后被Boeing公司引进并扩展。
故障树分析是许多建立在运筹学和系统可靠性之中的符号"逻辑分析方法"的其中一种方法。
其他方法包括可靠性框图( RBDs)。
?什么是故障树图(FTD)?故障树图( 或者负分析树)是一种逻辑因果关系图,它根据元部件状态(基本事件)来显示系统的状态(顶事件)。
就像可靠性框图(RBDs),故障树图也是一种图形化设计方法,并且作为可靠性框图的一种可替代的方法。
一个故障树图是从上到下逐级建树并且根据事件而联系,它用图形化"模型"路径的方法,使一个系统能导致一个可预知的,不可预知的故障事件(失效),路径的交叉处的事件和状态,用标准的逻辑符号(与,或等等)表示。
在故障树图中最基础的构造单元为门和事件,这些事件与在可靠性框图中有相同的意义并且门是条件。
故障树和可靠性框图FTDs 和RBDs最基本的区别在于RBD 工作在"成功的空间",从而系统看上去是成功的集合,然而,故障树图工作在"故障空间"并且系统看起来是故障的集合。
传统上,故障树已经习惯使用固定概率(也就是,组成树的每一个事件都有一个发生的固定概率) 然而可靠性框图对于成功(可靠度公式)来说可以包括以时间而变化的分布,并且其他特点。
画故障树:门和事件故障树是由门和事件(块)建立,通常在故障树中运用最多的两个门与门和或门。
例如,由2个事件(或块or blocks)组成一个顶事件(或一个系统)。
如果任何一个事件的发生都引起顶事件发生,那么这些事件(块)用一个或门连接。
再者,如果两个事件同时发生才能引起顶事件的发生,那么它们用与门连接。
用一个可视化的例子,假设由组件A和B组成系统的一个简单案例,任何一个组件发生故障都会导致系统故障。
JTAG ApplicationsWhile it is obvious that JTAG based testing can be used in the production phase of a product, new developments and applications of the IEEE-1149.1 standard have enabled the use of JTAG in many other product life cycle phases. Specifically, JTAG technology is now applied to product design, prototype debugging and field service as depicted in Figure 1. This means the cost of the JTAG tools can be amortized over the entire product life cycle, not just the production phase.Product Life-Cycle SupportTo facilitate this product life cycle concept, JTAG tool vendors such as Corelis offer an integrated family of software and hardware solutions for all phases of a product's life-cycle. All of these products are compatible with each other, thus protecting the user's investment.Applying JTAG for Product DevelopmentThe ongoing marketing drive for reduced product size, such as portable phones and digital cameras, higher functional integration, faster clock rates, and shorter product life-cycle with dramatically faster time-to- market has created new technology trends. These trends include increased device complexity, fine pitch components, such as surface-mount technology (SMT), systems-in-package (SIPs), multi-chip modules (MCMs), ball-grid arrays (BGAs), increased IC pin-count, and smaller PCB traces. These technology advances, in turn, create problems in PCB development:∙Many boards include components that are assembled on both sides of the board. Most of the through-holes and traces are buried and inaccessible.∙Loss of physical access to fine pitch components, such as SMTs and BGAs, makes it difficult to probe the pins and distinguish between manufacturing and design problems.∙Often a prototype board is hurriedly built by a small assembly shop with lower quality control as compared to a production house. A prototype generally will include more assembly defects than a production unit.∙When the prototype arrives, a test fixture for the ICT is not available and, therefore, manufacturing defects cannot be easily detected and isolated.∙Small-size products do not have test points, making it difficult or impossible to probe suspected nodes.∙Many Complex Programmable Logic Devices (CPLDs) and flash memory devices (in BGA packages) are not socketed and are soldered directly to the board.∙Every time a new processor or a different flash device is selected, the engineer has to learn from scratch how to program the flash memory.∙When a design includes CPLDs from different vendors, the engineer must use different in-circuit programmers to program the CPLDs.JTAG technology is the only cost-effective solution that can deal with the above problems. In recent years, the number of devices that include JTAG has grown dramatically. Almost every new microprocessor that is being introduced includes JTAG circuitry for testing and in-circuit emulation. Most of the CPLD and field programmable array (FPGA) manufacturers, such as Altera, Lattice and Xilinx, to mention a few, have incorporated JTAG logic into their components, including additional circuitry that uses the JTAG four-wire interface to program their devices in-system.As the acceptance of JTAG as the main technology for interconnect testing and in-system programming (ISP) has increased, the various JTAG test and ISP tools have matured as well. The increased number of JTAG components and mature JTAG tools, as well as other factors that will be described later, provide engineers with the following benefits:∙ Easy to implement Design-For- Testability (DFT) rules. A list of basic DFT rules is provided later in this article. ∙ Design analysis prior to PCB layout to improve testability. ∙ Packaging problems are found prior to PCB layout. ∙ Little need for test points. ∙ No need for test fixtures.∙ More control over the test process.∙ Quick diagnosis (with high resolution) of interconnection problems without writing any functional test code. ∙ Program code in flash devices.∙ Design configuration data placement into CPLDs. ∙JTAG emulation and source-level debugging.What JTAG Tools are needed?In the previous section, we listed many of the benefits that a designer enjoys when incorporating boundary-scan in his product development. In this section we describe the tools and design data needed to develop JTAG test procedures and patterns for ISP, followed by a description of how to test and program a board. We use a typical board as an illustration for the various JTAG test functions needed. A block diagram of such a board is depicted in . A typical digital board with JTAG devices includes the following main components:∙ Various JTAG components such as CPLDs, FPGAs, Processors, etc., chained together via the boundary-scan path. ∙ Non-JTAG components (clusters). ∙ Various types of memory devices. ∙ Flash Memory components. ∙Transparent components such as series resistors or buffers.Most of the boundary-scan test systems are comprised of two basic elements: Test Program Generation and Test Execution. Generally, a Test Program Generator (TPG) requires the netlist of the Unit Under Test (UUT) and the BSDL files of the JTAG components. The TPG automatically generates test patterns that allow fault detection and isolation for all JTAG testable nets of the PCB. A good TPG can be used to create a thorough test pattern for a wide range of designs. For example, ScanExpress TPG typically achieves net coverage of more than 60%, even though the majority of the PCB designs are not optimized for boundary-scan testing. The TPG also creates test vectors to detect faults on the pins of non-scannable components, such as clusters and memories that are surrounded by scannable devices.Some TPGs also generate a test coverage report that allows the user to focus on the non-testable nets and determine whatadditional means are needed to increase the test coverage.I/O I/OFigure 2. Typical Board with JTAG ComponentsTest programs are generated in seconds. For example, when Corelis ScanExpress TPG™ was used, it took a 3.0 GHz Pentium 4 PC 23 seconds to generate aninterconnect test for a UUT with 5,638 nets (with 19,910 pins). This generation time includes netlist and all other input files processing as well as test pattern file generation.Test execution tools from various vendors provide means for executing JTAG tests and performing in-system programming in a pre-planned specific order, called a test plan. Test vectors files, which have been generated using the TPG, are automatically applied to the UUT and the results are compared to the expected values. In case of a detected fault, the systemdiagnoses the fault and lists the failures as depicted in Figure 3. Figure 3 shows the main window of the Corelis test execution tool, ScanExpress Runner™. ScanExpress Runner gives the user an overview of all test steps and the results of executed tests. Theseresults are displayed both for individual tests as well as for the total test runs executed. ScanExpress Runner provides the ability to add or delete various test steps from a test plan, or re-arrange the order of the test steps in a plan. Tests can also be enabled or disabledand the test execution can be stopped upon the failure of any particular test.Different test plans may be constructed for different UUTs. Tests within a test plan may be re-ordered, enabled or disabled, and unlimited different tests can be combined into a test plan. ScanExpress Runner can be used to develop a test sequence or test plan from various independent sub-tests. These sub-tests can then be executed sequentially as many times asspecified or continuously if desired. A sub-test can also program CPLDs and flash memories. For ISP, other formats, such as SVF, JAM, and STAPL, are also supported.To test the board depicted in Figure 2, the user must execute a test plan that consists of various test steps as shown in Figure 3.The first and most important test is the scan chain infrastructure integrity test. The scan chain must work correctly prior to proceeding to other tests and ISP. Following a successful test of the scan chain, the user can proceed to testing all the interconnectionsbetween the JTAG components. If the interconnect test fails, ScanExpress Runner displays a diagnostic screen that identifies the type of failure (such as stuck-at, Bridge, Open) and lists the failing nets and pins as shown in Figure 4. Once the interconnect test passes, including the testing of transparent components, it makes sense to continue testing the clusters and the memory devices. At this stage, the system is ready for in-system programming, which typically takes more time as compared to testing.Figure 3. ScanExpress Runner Main WindowFigure 4. ScanExpress Runner Diagnostics WindowDuring the design phase of a product, some JTAG vendors will provide design assistance in selecting JTAG-compliant components, work with the developers to ensure that the proper BSDL files are used, and provide advice in designing the product for testability.Applying JTAG for Production TestProduction testing, utilizing traditional In-Circuit Testers that do not have JTAG features installed, experience similar problems that the product developer had and more:∙Loss of physical access to fine pitch components, such as SMTs and BGAs, reduces bed-of-nails ICT fault isolation.∙Development of test fixtures for ICTs becomes longer and more expensive.∙Development of test procedures for ICTs becomes longer and more expensive due to more complex ICs.∙Designers are forced to bring out a large number of test points, which is in direct conflict with the goal to miniaturize the design.∙In-system programming is inherently slow, inefficient, and expensive if done with an ICT.∙Assembling boards with BGAs is difficult and subject to numerous defects, such as solder smearing. JTAG Embedded Functional TestRecently, a test methodology has been developed which combines the ease-of-use and low cost of boundary-scan with the coverage and security of traditional functional testing. This new technique, called JTAG Emulation Test (JET), lets engineers automatically develop PCB functional test that can be run at full speed., If the PCB has an on-board processor with a JTAG port (common, even if the processor doesn't support boundary-scan), JET and boundary-scan tests can be executed as part of the same test plan to provide extended fault coverage to further complement or replace ICT testing.Corelis ScanExpress JET™ provides JTAG embedded test for a wide range of processors. For more information about this technology and product, visit the ScanExpress JET product page.Production Test FlowFigure 5 shows different production flow configurations. The diagram shows two typical ways that JTAG is deployed:∙As a stand-alone application at a separate test station or testbench to test all theinterconnects and perform ISPof on-board flash and othermemories. JTAG embeddedfunctional test (JET) may beintegrated with boundary-scan.∙Integrated into the ICT system,where the JTAG controlhardware is embedded in theICT system and the boundary-scan (and possibly JET) softwareis a module called from the ICTsoftware system.In the first two cases, the test flow is sometimes augmented with a separate ICT stage after the JTAG-based testing is completed, although it is becoming more common for ICT to be skipped altogether or at least to be limited to analog or special purpose functional testing.Figure 5. Typical Production FlowsThe following are major benefits in using JTAG test and in-system programming in production:∙No need for test fixtures.∙Integrates product development, production test, and device programming in one tool/system.∙Engineering test and programming data is reused in Production.∙Fast test procedure development.∙Preproduction testing can start the next day when prototype is released to production.∙Dramatically reduces inventory management – no pre-programmed parts eliminates device handling and ESD damage.∙Eliminates or reduces ICT usage time – programming and screening.Production test is an obvious area in which the use of boundary-scan yields tremendous returns. Automatic test program generation and fault diagnostics using JTAG software products and the lack of expensive fixturing requirements can make the entire test process very economical. For products that contain edge connectors and digital interfaces that are not visible from the boundary-scan chain, JTAG vendors offer a family of boundary-scan controllable I/Os that provide a low cost alternative to expensive digital pin electronics.Field Service and InstallationThe role of JTAG does not end when a product ships. Periodic software and hardware updates can be performed remotely using the boundary-scan chain as a non-intrusive access mechanism. This allows flash updates and reprogramming of programmable logic, for example. Service centers that normally would not want to invest in special equipment to support a product now have an option of using a standard PC or laptop for JTAG testing. A simple PC-based JTAG controller can be used for all of the above tasks and also double as a fault diagnostic system, using the same test vectors that were developed during the design and production phase. This concept can be taken one step further by allowing an embedded processor access to the boundary-scan chain. This allows diagnostics and fault isolation to be performed by the embedded processor. The same diagnostic routines can be run as part of a power-on self-test procedure.JTAG Design-for-Test Basic ConsiderationsAs mentioned earlier in this article, the design for JTAG test guidelines are simple to understand and follow compared to other traditional test requirements. It is important to remember that JTAG testing is most successful when the design and test engineering teams work together to ensure that testability is "designed in" from the start. The boundary-scan chain is the most critical part of JTAG implementations. When that is properly implemented, improved testability inevitably follows. Below is a list of basic guidelines to observe when designing a JTAG-testable board:∙If there are programmable components in a chain, such as FPGAs, CPLDs, etc., group them together in the chain order and place the group at either end of the chain. It is recommended that you provide access to Test Data In(TDI) and Test Data Out (TDO) signals where the programmable group connects to the non-programmable devices.∙All parts in the boundary-scan chain should have 1149.1-compliant test access ports (TAPs).∙Use simple buffering for the Test Clock (TCK) and Test Mode Select (TMS) signals to simplify test considerations for the boundary-scan TAP. The TAP signals should be buffered to prevent clocking and drive problems.∙Group similar device families and have a single level converter interface between them, TCK, TMS, TDI, TDO, and system pins.∙TCK should be properly routed to prevent skew and noise problems.∙Use the standard JTAG connector on your board as depicted in Corelis documentation.∙Ensure that BSDL files are available for each JTAG component that is used on your board and that the files are validated.Design for interconnect testing requires board-level system understanding to ensure higher test coverage and elimination of signal level conflicts.∙Determine which JTAG components are on the board. Change as many non-JTAG components to IEEE 1149.1-compliant devices as possible in order to maximize test coverage.∙Check non-JTAG devices on the board and design disabling methods for the outputs of those devices in order to prevent signal level conflicts. Connect the enable pins of the conflicting devices to JTAG controllable outputs. Corelis tools will keep the enable/disable outputs at a fixed disabling value during the entire test.∙Ensure that your memory devices are surrounded by JTAG components. This will allow you to use a test program generator, such as ScanExpress TPG, to test the interconnects of the memory devices.∙Check the access to the non-boundary-scan clusters. Make sure that the clusters are surrounded by JTAG components. By surrounding the non-boundary-scan clusters with JTAG devices, the clusters can then be testedusing a JTAG test tool.∙If your design includes transparent components, such as series resistors or non-inverting buffers, your test coverage can be increased by testing through these components using ScanExpress TPG.∙Connect all I/Os to JTAG controllable devices. This will enable the use of JTAG, digital I/O module, such as the ScanIO-300LV, to test all your I/O pins, thus increasing test coverage.。
专业英语--电力电子方面AbsorberCircuit汲取电路AC/ACFrequencyConverter交交变频电路ACpowercontrol交流电力操纵ACPowerController交流调功电路ACPowerElectronicSwitch交流电力电子开关AcV oltageController交流调压电路AsynchronousModulation异步调制BakerClampingCircuit贝克箝位电路Bi-directionalTriodeThyristor双向晶闸管BipolarJunctionTransistor--BJT双极结型晶体管Boost-BuckChopper升落压斩波电路BoostChopper升压斩波电路BoostConverter升压变换器BridgeReversibleChopper桥式可逆斩波电路BuckChopper落压斩波电路BuckConverter落压变换器Commutation换流ConductionAngle导通角ConstantV oltageConstantFrequency--CVCF恒压恒频ContinuousConduction--CCM〔电流〕连续模式ControlCircuit操纵电路CukCircuitCUK斩波电路CurrentReversibleChopper电流可逆斩波电路CurrentSourceTypeInverter--CSTI电流〔源〕型逆变电路Cycloconvertor周波变流器DC-AC-DCConverter直交直电路DCChopping直流斩波DCChoppingCircuit直流斩波电路DC-DCConverter直流-直流变换器DeviceCommutation器件换流DirectCurrentControl直截了当电流操纵DiscontinuousConductionmode〔电流〕断续模式displacementfactor位移因数printedcircuit印制电路printedwiring印制线路printedboard印制板printedcircuitboard印制板电路printedwiringboard印制线路板printedcomponent印制元件printedcontact印制接点printedboardassembly印制板装配board板rigidprintedboard刚性印制板flexibleprintedcircuit挠性印制电路flexibleprintedwiring挠性印制线路flushprintedboard齐平印制板metalcoreprintedboard金属芯印制板metalbaseprintedboard金属基印制板mulit-wiringprintedboard多重布线印制板moldedcircuitboard模塑电路板discretewiringboard散线印制板microwireboard微线印制板buile-upprintedboard积层印制板surfacelaminarcircuit外表层合电路板B2itprintedboard埋进凸块连印制板chiponboard载芯片板buriedresistanceboard埋电阻板motherboard母板daughterboard子板backplane背板bareboard裸板copper-invar-copperboard键盘板夹心板dynamicflexboard动态挠性板staticflexboard静态挠性板break-awayplanel可断拼板cable电缆flexibleflatcable(FFC)挠性扁平电缆membraneswitch薄膜开关hybridcircuit混合电路thickfilm厚膜thickfilmcircuit厚膜电路thinfilm薄膜thinfilmhybridcircuit薄膜混合电路interconnection互连conductortraceline导线flushconductor齐平导线transmissionline传输线crossover跨交edge-boardcontact板边插头stiffener增强板substrate基底realestate基板面conductorside导线面componentside元件面solderside焊接面printing印制grid网格pattern图形conductivepattern导电图形non-conductivepattern非导电图形legend字符mark标志basematerial基材laminate层压板metal-cladbadematerial覆金属箔基材copper-cladlaminate(CCL)覆铜箔层压板compositelaminate复合层压板thinlaminate薄层压板basismaterial基体材料prepreg预浸材料bondingsheet粘结片preimpregnatedbondingsheer预浸粘结片epoxyglasssubstrate环氧玻璃基板masslaminationpanel预制内层覆箔板corematerial内层芯板bondinglayer粘结层filmadhesive粘结膜unsupportedadhesivefilm无支撑胶粘剂膜coverlayer(coverlay)覆盖层stiffenermaterial增强板材copper-cladsurface铜箔面foilremovalsurface往铜箔面uncladlaminatesurface层压板面basefilmsurface基膜面adhesivefaec胶粘剂面platefinish原始光洁面mattfinish粗面lengthwisedirection纵向crosswisedirection模向cuttosizepanel剪切板ultrathinlaminate超薄型层压板A-stageresinA阶树脂B-stageresinB阶树脂C-stageresinC阶树脂epoxyresin环氧树脂phenolicresin酚醛树脂polyesterresin聚酯树脂polyimideresin聚酰亚胺树脂bismaleimide-triazineresin双马来酰亚胺三嗪树脂acrylicresin丙烯酸树脂melamineformaldehyderesin三聚氰胺甲醛树脂polyfunctionalepoxyresin多官能环氧树脂brominatedepoxyresin溴化环氧树脂epoxynovolac环氧酚醛fluroresin氟树脂siliconeresin硅树脂silane硅烷polymer聚合物amorphouspolymer无定形聚合物crystallinepolamer结晶现象dimorphism双晶现象copolymer共聚物synthetic合成树脂thermosettingresin热固性树脂thermoplasticresin热塑性树脂photosensitiveresin感光性树脂epoxyvalue环氧值dicyandiamide双氰胺binder粘结剂adesive胶粘剂curingagent固化剂flameretardant阻燃剂opaquer遮光剂plasticizers增塑剂unsatuiatedpolyester不饱和聚酯polyester聚酯薄膜polyimidefilm(PI)聚酰亚胺薄膜polytetrafluoetylene(PTFE)聚四氟乙烯reinforcingmaterial增强材料glassfiber玻璃纤维E-glassfibreE玻璃纤维D-glassfibreD玻璃纤维S-glassfibreS玻璃纤维glassfabric玻璃布non-wovenfabric非织布glassmats玻璃纤维垫yarn纱线filament单丝strand绞股weftyarn纬纱warpyarn经纱denier但尼尔warp-wise经向threadcount织物经纬密度weavestructure织物组织plainstructure平纹组织greyfabric坏布wovenscrim稀松织物bowofweave弓纬endmissing断经mis-picks缺纬bias纬歪crease折痕waviness云织fisheye鱼眼featherlength毛圈长mark厚薄段split裂缝twistofyarn捻度sizecontent浸润剂含量sizeresidue浸润剂残留量finishlevel处理剂含量size浸润剂couplintagent偶联剂finishedfabric处理织物polyarmidefiber聚酰胺纤维aromaticpolyamidepaper聚芳酰胺纤维纸breakinglength断裂长heightofcapillaryrise吸水高度wetstrengthretention湿强度保持率whitenness白度ceramics陶瓷conductivefoil导电箔copperfoil铜箔rolledcopperfoil压延铜箔annealedcopperfoil退火铜箔thincopperfoil薄铜箔adhesivecoatedfoil涂胶铜箔resincoatedcopperfoil涂胶脂铜箔compositemetallicmaterial复合金属箔carrierfoil载体箔invar殷瓦foilprofile箔〔剖面〕轮廓shinyside光面matteside粗糙面treatedside处理面stainproofing防锈处理doubletreatedfoil双面处理铜箔shematicdiagram原理图logicdiagram逻辑图printedwirelayout印制线路布设masterdrawing布设总图computeraideddrawing计算机辅助制图computercontrolleddisplay计算机操纵显示placement布局routing布线layout布图设计rerouting重布simulation模拟logicsimulation逻辑模拟circitsimulation电路模拟timingsimulation时序模拟modularization模块化layouteffeciency布线完成率MDFdatabse机器描述格式数据库designdatabase设计数据库designorigin设计原点optimization(design)优化〔设计〕predominantaxis供设计优化坐标轴tableorigin表格原点mirroring镜像drivefile驱动文件intermediatefile中间文件manufacturingdocumentation制造文件queuesupportdatabase队列支撑数据库componentpositioning元件安置graphicsdispaly图形显示scalingfactor比例因子scanfilling扫描填充rectanglefilling矩形填充regionfilling填充域physicaldesign实体设计logicdesign逻辑设计logiccircuit逻辑电路hierarchicaldesign层次设计top-downdesign自顶向下设计bottom-updesign自底向上设计net线网digitzing数字化designrulechecking设计规那么检查router(CAD)走〔布〕线器netlist网络表subnet子线网objectivefunction目标函数postdesignprocessing(PDP)设计后处理interactivedrawingdesign交互式制图设计costmetrix费用矩阵engineeringdrawing工程图blockdiagram方块框图moze迷宫componentdensity元件密度travelingsalesmanproblem回售货员咨询题degreesfreedom自由度outgoingdegree进度incomingdegree出度manhattondistance曼哈顿距离euclideandistance欧几里德距离network网络array阵列segment段logic逻辑logicdesignautomation逻辑设计自动化separatedtime分线separatedlayer分层definitesequence定顺序conduction(track)导线〔通道〕conductorwidth导线〔体〕宽度conductorspacing导线距离conductorlayer导线层conductorline/space导线宽度/间距conductorlayerNo.1第一导线层roundpad圆形盘squarepad方形盘diamondpad菱形盘oblongpad长方形焊盘bulletpad子弹形盘teardroppad泪滴盘snowmanpad雪人盘V-shapedpadV形盘annularpad环形盘non-circularpad非圆形盘isolationpad隔离盘monfunctionalpad非功能连接盘offsetland偏置连接盘back-bardland腹〔背〕裸盘anchoringspaur盘址landpattern连接盘图形landgridarray连接盘网格阵列annularring孔环componenthole元件孔mountinghole安装孔supportedhole支撑孔unsupportedhole非支撑孔via导通孔platedthroughhole(PTH)镀通孔accesshole余隙孔blindvia(hole)盲孔buriedviahole埋孔buriedblindvia埋,盲孔anylayerinnerviahole任意层内部导通孔alldrilledhole全部钻孔toalinghole定位孔landlesshole无连接盘孔interstitialhole中间孔landlessviahole无连接盘导通孔pilothole引导孔terminalclearomeehole端接全隙孔dimensionedhole准尺寸孔via-in-pad在连接盘中导通孔holelocation孔位holedensity孔密度holepattern孔图drilldrawing钻孔图assemblydrawing装配图datumreferan参考基准1〕元件设备三绕组变压器:three-columntransformerThrClnTrans双绕组变压器:double-columntransformerDblClmnTrans 电容器:Capacitor并联电容器:shuntcapacitor电抗器:Reactor母线:Busbar输电线:TransmissionLine发电厂:powerplant断路器:Breaker刀闸(隔离开关):Isolator分接头:tap电动机:motor〔2〕状态参数有功:activepower无功:reactivepower电流:current容量:capacity电压:voltage档位:tapposition有功损耗:reactiveloss无功损耗:activeloss功率因数:power-factor功率:power功角:power-angle电压等级:voltagegrade空载损耗:no-loadloss铁损:ironloss铜损:copperloss空载电流:no-loadcurrent阻抗:impedance正序阻抗:positivesequenceimpedance负序阻抗:negativesequenceimpedance零序阻抗:zerosequenceimpedance电阻:resistor电抗:reactance电导:conductance电纳:susceptance无功负载:reactiveload或者QLoad有功负载:activeloadPLoad远测:YC(telemetering)远信:YX励磁电流(转子电流):magnetizingcurrent定子:stator功角:power-angle上限:upperlimit下限:lowerlimit并列的:apposable高压:highvoltage低压:lowvoltage中压:middlevoltage电力系统powersystem发电机generator励磁excitation励磁器excitor电压voltage电流current母线bus变压器transformer升压变压器step-uptransformer高压侧highside输电系统powertransmissionsystem输电线transmissionline固定串联电容补偿fixedseriescapacitorcompensation 稳定stability电压稳定voltagestability功角稳定anglestability暂态稳定transientstability电厂powerplant能量输送powertransfer交流AC装机容量installedcapacity电网powersystem落点droppoint开关站switchstation双回同杆并架double-circuitlinesonthesametower 变电站transformersubstation补偿度degreeofcompensation高抗highvoltageshuntreactor无功补偿reactivepowercompensation故障fault调节regulation裕度magin三相故障threephasefault故障切除时刻faultclearingtime极限切除时刻criticalclearingtime切机generatortriping高顶值highlimitedvalue强行励磁reinforcedexcitation线路补偿器LDC(linedropcompensation)机端generatorterminal静态static(state)动态dynamic(state)单机无穷大系统onemachine-infinitybussystem 机端电压操纵A VR电抗reactance电阻resistance功角powerangle有功〔功率〕activepower无功〔功率〕reactivepower功率因数powerfactor无功电流reactivecurrent下落特性droopcharacteristics歪率slope额定rating变比ratio参考值referencevalue电压互感器PT分接头tap下落率drooprate仿真分析simulationanalysis传递函数transferfunction框图blockdiagram受端receive-side裕度margin同步synchronization失往同步lossofsynchronization阻尼damping摇摆swing保卫断路器circuitbreaker电阻:resistance电抗:reactance阻抗:impedance电导:conductance电纳:susceptance导纳:admittance电感:inductance电容:capacitance金属化聚丙烯膜电容\metallizationpolypropylenefilmcapacitor\插件磁芯电感\magneticcoreinductance\涤纶电容\terylenecapacity\接地片\groundlug\碳膜电阻\carbonfilmresistor\瓷片电容\ceramicdisccapacitor\莲花插座\lotussocket\贴片磁珠\coatedmageticbead贴片三极管\coateddynatron话题:专业词汇1backplane背板2Bandgapvoltagereference带隙电压参考3benchtopsupply工作台电源4BlockDiagram方块图5BodePlot波特图6Bootstrap自举7BottomFETBottomFET8bucketcapcitor桶形电容9chassis机架10Combi-senseCombi-sense11constantcurrentsource恒流源12CoreSataration铁芯饱和13crossoverfrequency交叉频率14currentripple纹波电流15CyclebyCycle逐周期16cycleskipping周期跳步17DeadTime死区时刻18DIETemperature核心温度19Disable非使能,无效,禁用,关断20dominantpole主极点21Enable使能,有效,启用22ESDRatingESD额定值23EvaluationBoard评估板24Exceedingthespecificationsbelowmayresultinpermanentdamagetothedevice,ordevicemalfunctio n.OperationoutsideoftheparametersspecifiedintheElectricalCharacteristicssectionisnotimplied.超过下面的规格使用可能引起永久的设备损害或设备故障。
专利名称:PERFORMANCE-AWARE AND RELIABILITY-AWARE DATA PLACEMENT FOR N-LEVELHETEROGENEOUS MEMORY SYSTEMS发明人:Manish Gupta,David A. Roberts,Mitesh R.Meswani,Vilas Sridharan,StevenRaasch,Daniel I. Lowell申请号:US15331270申请日:20161021公开号:US20170277441A1公开日:20170928专利内容由知识产权出版社提供专利附图:摘要:Techniques for selecting one of a plurality of heterogeneous memory units for placement of blocks of data (e.g., memory pages), based on both reliability and performance, are disclosed. A “cost” for each data block/memory unit combination is determined, based on the frequency of access of the data block, the latency of the memory unit, and, optionally, an architectural vulnerability factor (which represents the level of exposure of a particular memory data value to memory faults such as bit flips). A memory unit is selected for the data block for which the determined cost is the lowest, out of all memory units considered, and the data block is placed into that memory unit.申请人:Advanced Micro Devices, Inc.地址:Sunnyvale CA US国籍:US更多信息请下载全文后查看。
Des Autom Embed Syst(2013)17:485–506DOI10.1007/s10617-014-9148-3Effectivefile data-block placement for different typesof page cache on hybrid main memory architecturesPenglin Dai·Qingfeng Zhuge·Xianzhang Chen·Weiwen Jiang·Edwin H.-M.ShaReceived:15January2014/Accepted:17September2014/Published online:27September2014©Springer Science+Business Media New York2014Abstract Hybrid main memory architectures employing both DRAM and non-volatile mem-ories(NVMs)are becoming increasingly attractive due to the opportunities for exploring benefits of various memory technologies,for example,high speed writes on DRAM and low stand-by power consumption on NVMs.File data-block placement(FDP)on different types of page cache is one of the important problems that directly impact the performance and cost offile operations on a hybrid main memory architecture.Page cache is widely used in modern operating systems to expeditefile I/O by mapping disk-backedfile data-blocks in main memory to process space in virtual memory.In a hybrid main memory,different types of memory with different read/write costs can be allocated as page cache by operating system.In this paper,we study the problem offile data-block placement on different types of page cache to minimize the total cost offile accesses in a program.We propose a dynamic programming algorithm,the FDP Algorithm,to solve the problem optimally for simple pro-grams.We develop an ILP model for thefile data-block placement problem for programs composed of multiple regions with data dependencies.An efficient heuristic,the globalfile data-block placement(GFDP)Algorithm,is proposed to obtain near-optimal solutions for the problem of globalfile data-block placement on hybrid main memory.Experiments on a set of benchmarks show the effectiveness of the GFDP algorithm compared with a greedy strategy and the ILP.Experimental results show that the GFDP algorithm reduces the total cost offile accesses by51.3%on average compared with the the greedy strategy. Keywords Hybrid main memory·Page cache·File data-block placementP.Dai·Q.Zhuge·X.Chen·W.Jiang·E.H.-M.ShaCollege of Computer Science,Chongqing University,Chongqing,ChinaQ.Zhuge(B)·E.H.-M.ShaKey Laboratory of Dependable Service Computing in Cyber Physical Society,Ministry of Education,Chongqing400044,Chinae-mail:qfzhuge@486P.Dai et al. 1IntroductionIn light of recent advances in non-volatile memory technologies,hybrid main memory archi-tectures containing both DRAM and various types of non-volatile memories(NVMs),such as phase-change memory(PCM)and ferroelectric RAM(FeRAM),are becoming a promis-ing alternative to replace conventional DRAM main memory[3,5,6,12,17,20,21,23,31,32]. Non-volatile memories show advantages over DRAM in several aspects including their non-volatile nature,low standby power consumption,and high density,etc.However,non-volatile memory technologies are usually constrained by high costs of write operations compared with read operations,as well as limited write endurance.With hybrid main memory architectures, new opportunities arise in exploring benefits of various memory technologies with low costs.A range of new problems need to be examined to fully understand hybrid main memory architectures.The problem offile data-block placement on different types of page cache is one of the important problems that directly impacts performance and cost offile I/O for systems using hybrid main memory architecture.Page cache is widely supported by operating systems,such as Linux and Windows,to expeditefile I/O[4,9].With page cache,data blocks loaded from secondary storage are organized in memory pages and cached in main memory for later accesses.Executable binaries such as libraries,for example,are typically accessed through page cache and mapped to process space in virtual memory.In Unix-like systems,a lot of programs use mmap() system call to conveniently create memory mapping on page cache.A mmap()system call allocates available memory pages for an openedfile and returns a pointer of accessed pages in page cache to process space.Then,a process is able to directly access and modifyfile data in page cache through the pointer.Data management in page cache is implemented with paging memory management and transparent to user processes.Programs usingfile read/write system calls to accessfile data may not aware of data accesses on page cache because operating system allocates available physical memory as page cache forfile operations if not specified otherwise.Because data access on memory is faster than those on secondary storage,e.g.hard disk andflash disk,in orders of magnitude,file access on page cache usually yields significant improvement in system performance[18,24].A carefully designed data-block placement strategy benefits all kinds of programmedfile I/O,either synchronous or asynchronous ones.The architecture we considered in this paper is a single core system with hybrid main memory as shown in Fig.1.Since all physical memory not assigned to kernel or user processes can be used as page cache,different types of memories can be allocated by operating system as page cache.Hence,page caches on different types of memories have limited capacities. Also,read/write costs vary on different types of page caches.In this paper,we study the problem offile data-block placement on different types of page caches to minimize the total cost offile operations on a hybrid main memory.Thefile access cost considered in thefile data-block placement problem can be latency or energy consumption,etc.depending on optimization goal.To the best of authors’knowledge,there is no existing work studying the problem of placing file data-blocks on hybrid main memory consisting of DRAM and non-volatile memories. Existing techniques for data placement problem mostly focus on allocatingfixed-size scalar or array data to scratch-pad memories.These techniques cannot be directly applied to thefile data-block placement problem because various sizes offile data-blocks.Also,enhancement on operating system and system calls need to be studied in order to take full advantage of file data-block placement on a hybrid memory architecture.Effective FDP on hybrid main memory architectures487Fig.1A hybrid main memory architectureIn this paper,we propose techniques to solve the problem offile data-block placement on hybrid main memory architectures.The system call mmap()is used to illustrate the proposed techniques for solving thefile data-block placement problem.Our techniques can also be applied to generate data-block placement for programs using read/write system calls in a similar way.Our contributions include:–We formally define the problem offile data-block placement for hybrid main memory architectures.–An efficient algorithm,thefile data-block placement(FDP)algorithm,is proposed to optimally solve thefile data-block placement problem for a simple program accessingfile data-blocks with varying sizes.–We develop the ILP model to solve thefile data-block placement problem for a program composed of multiple program regions with data dependencies.–A heuristic algorithm,the globalfile data-block placement(GFDP)algorithm,is designed to solve the globalfile data-block placement problem for a program consisting of multiple program regions with data dependencies.It mergesfile data-blocks of sequential I/O to the same type of memory to avoid scattered I/O on page cache.–We propose a integrated method to solve thefile data-block placement problem at system level using mmap()system call.It integrates compiler-based techniques,an extension of mmap()system call,and simple modifications in operating system to allocate page cache on specified memory types.This technique can be applied to programs usingfile read/write system calls forfile I/O in a similar way with very few modifications.The experiments are conducted with a set of benchmarks to show the effectiveness of the proposed techniques.The experimental results show the effectiveness of the proposed techniques by comparing costs of solutions generated by the GFDP algorithm,a greedy algorithm,and the ILP method.The GFDP algorithm reduces the total cost offile accesses by36.9%on average compared with a greedy method.The ILP model produces the optimal solutions for small-size problems.However,it cannotfind a solution for large-size problems within reasonable time.488P.Dai et al.The rest of this paper is organized as follows:The architecture model,application model, and a formal definition of thefile data-block placement problem are presented in Sect.2.A motivational example is provided in Sect.3.The FDP algorithm is proposed in Sect. 4to optimally solve the FDP problem in a program region.In Sect.5,we propose ILP model and the GFDP algorithm for solving the globalfile data-block placement problem. The experimental setup and results are described in Sect.6.Related works are discussed in Sect.7.Finally,Sect.8makes a conclusion.2System model and problem definitionIn this section,we present a hybrid main memory architecture with different types of page cache.An application model that utilizes page caches on a hybrid main memory to expedite file accesses is explained.A formal definition of the FDP problem is also presented.At the end of this section,we use user-spacefile operations as an example to illustrate a solution for allocatingfile data-blocks to designated page caches by integrating compiler-based technique, an extension of mmap()system call,and simple modifications to operating system.2.1System modelThe architecture model studied in this paper is a single-core system equipped with hybrid main memory as shown in Fig.1.The hybrid main memory consists of multiple types of memory,such as DRAM,FeRAM,and PCM,etc.with different access latencies and sizes. Therefore,page caches on various types of memories have various read/write costs and limited capacities.Applications can access data across multiple types of memories.The hybrid main memory architecture providesflexibility for operating system to placefile data-blocks on page caches in different types of memories to minimize access cost.Page cache is implemented in kernel with paging memory management.To improve the efficiency forfile operations using page cache,operating system checks the existence of requestedfile data-blocks in page cache.If there exist valid pages offile data-blocks in page cache,operating system directly fetches data from page cache.Iffile data-blocks are not cached,operating system allocates enough memory space as page cache,and loadsfile data-blocks into allocated memory space.Therefore,the capacities of different types of page caches are limited by the size of different types of memories.A lot of programs use mmap()system call to create memory mapping on page cache.Then, a process is able to directly access data in page cache using a pointer mapped in process space without copying data between buffers.Modifications tofile data in page cache arefinalized on disk after page cache space is un-mapped.A program sketch offile accesses using traditional mmap()system call is shown in Fig.2.File read/write operations using fread/fwrite system calls can also be benefited by using page cache implicitly through operating systems.In a hybrid main memory architecture,various types of memories can be used as page cache forfile data-blocks to reduce thefile access cost withflexibility.In order to generate file data-blocks adapting to a running environment,we study the technique offile data-block placement for a program region,such as a basic block,that accessesfiles.Programs composed of one or more program regions is shown in Fig.3a.A program composed of multiple regions with data dependencies can be modeled by a directed-acyclic graph(DAG) as shown in Fig.3b.Each node in DAG represents a program region withfile accesses.An edge between two nodes represents a data dependency between two program regions.For example,the programEffective FDP on hybrid main memory architectures489Fig.2A program sketch offile accesses on page cache using a pointer returned by mmap()Fig.3Graph model of a program divided into regions.a A program divided into regions.b A DAG for the program shown in(a)in Fig.3a is divided into four regions.Program region1is represented by node1in the DAG as shown in Fig.3b.A data dependency from region1to region2is represented by an edge from node1to node2as shown in Fig.3b.An execution sequence has to follow the precedence relationship defined by data dependencies in a program.Note that afile can be accessed by multiple program regions.In this paper,we propose an integrated solution to exploit advantage of FDP on hybrid memory.It involves slight modifications to operating system and compiler in order to explic-itly choose an appropriate type of main memory to cachefile data-blocks.Modern operating systems,such as Linux kernel2.6.11,use a buddy system algorithm to partition memory into various memory zones.In a hybrid memory system,each type of memory is considered as a memory zone.Free page frames of one memory zone is managed by a unique buddy system.When page allocation function is called,aflag is added to specify a memory zone.Then,the corresponding buddy system is able to allocate free pages from specified memory zone.The requestedfile data-blocks can be placed in specified page cache according to theflag.A typical mmap()system call is shown in Fig.2.The mmap function asks the kernel to allocate a new virtual memory area for placing contiguousfile data-blocks.The size of allocated page cache is able to cache4,096bytes data,i.e.afile data-block of four pages. The mmap function returns a pointer to the beginning address of the allocated space offile data-blocks.Then,user process is able to directly access and modifyfile data simply using the returned pointer.The problem is that the mmap()shown in Fig.2cannot specify any memory zone explicitly.490P.Dai et al.Fig.4An extension of mmap functionWe propose to overload mmap function by adding a specified memory zone as one of the parameters.In order to placefile data on a designated memory zone,we introduce a parameter mem_zone to specify types of memory zone.An example of the extended mmap function is shown in Fig.4.Once placement offile data-blocks are generated,compiler is able to insert the parameter of memory zone into the extended mmap function to specify a designated memory type for allocating page cache.Then,operating system is able to interpret values of parameters specified in the extended mmap function.It allocates available memory space in a designated memory zone using buddy system.Finally,a pointer is returned to user process space.When accessingfile data-blocks by read and write system call,the operating system implicitly placesfile data-blocks in page cache if not otherwise specified.We can also extend file read and write system call in a similar way to place thefile data-blocks in page cache on designated memory zone.2.2Problem definitionBefore we formally define the problem of FDP on hybrid main memory,wefirst need to define the placement function.A placement function P:F B→M is defined as a mapping function fromfile data-block f b i∈F B to a page cache m k∈M,indicating thatfile data-block f b i is loaded to the page cache m k.Definition1File data-block placement problem Given a set of requestedfile data-blocks F B={f b1,f b2,...,f b K}and their read/write frequencies,a set of page caches M= {m1,m2,...,m N}on different types of memories with various read/write costs and limited capacity,and also given the initial placement offile data-blocks P0(f b i),for f b i∈F B.The objective offile data-block placement problem is to determine the placement of requested file data-blocks in F B on multiple page caches in M on a hybrid main memory such that the file access cost is minimized.3Motivational exampleIn this section,we show the advantage of our technique in a motivational example.First,an example offile data-block placement for one program region is presented.Then,we show the impact of execution sequence and data-block sharing for multiple program regions on cost reduction during execution of the whole program.We assume that there exist three types of page caches and a secondary storage as shown in Table1a.The type M4represents secondary storage.Table1a lists read cost and write cost of multiple types of page caches with their capacities.Table1b lists information of each requestedfile data-block,such as number of reads and number of writes,as well asfile blockEffective FDP on hybrid main memory architectures491Table1Input data forPage caches Capacity Read cost Write cost motivational example(a)Properties of page caches on different types of memoriesM1323M2677M38515M4172550File data-blocks#of Reads#of Writes Size(b)Access frequencies and sizes offile data-blocksA233B882C921D174E742F353G862Fig.5The result offile data-block placement on multiple page caches.a Result offile data-block placement using the LCF method.b The optimal result offile data-block placementsize.For example,file data-block A of size3is read two times and written three times.For simplicity,the initial location of all thefile data-block is in the secondary storage M4.We consider the case that severalfile data-blocks are requested during execution of one program region.We would like to place the requestedfile data-blocks on a specified type of page cache in order to minimize thefile access cost.Figure5shows result of placement forfile data-blocks,as well as access costs,using various techniques.Let usfirst look at placement solution generated by a greedy method,the Low-Cost-First(LCF)algorithm,as shown in Fig.5a.The basic idea of the LCF algorithm is tofind a type of page cache with the lowest cost for accessedfile data-blocks.File data-block A is consideredfirst,and it is placed in M1because the cost is the lowest among all types of page caches.Then,file data-block B is placed in M2since there is no enough space for placing B in M1.After placing all the file data-blocks,the total access cost is1,036.The optimal placement in this case,however is to placefile data-block B and C together in M1and A in M3,shown in Fig.5b.The total memory access cost can be reduced from1,455to1,036,a39.9%reduction compared to the greedy LCF method.In the following,we show a motivational example for the globalfile data-block placement problem.The program regions andfile data-blocks accessed by each region are shown in Fig.6a.Figure6a shows access frequencies offile data-blocks in each region.For example,492P.Dai et al.Fig.6An example of globalfile data-block placement.a Access frequencies offile data-blocks in different regions.b The graph model of a program andfile data-blocks requested by multiple program regionsTable2Solutions of globalfile data-block placement for the example shown infigure Region A B C D E(a)Thefile data-block placement generated by the LCF algorithm1m4m1m4m2m3 2m1m4m2m4m4 3m4m1m4m2m4 4m1m4m2m4m3 5m4m1m4m2m4 6m1m4m2m4m4 (b)An optimalfile data-block placement for the whole program1m4m3m4m2m1 3m3m1m4m2m4 2m3m1m3m2m4 4m3m1m3m2m4 6m4m1m3m2m3 5m4m1m3m2m3thefile data-block B is read for eight times and written for four times in program region1. The sizes offile data-blocks A,B,C,D,E are2,2,4,5,and2,respectively.The information of page caches are the same as the previous example as shown in Table1a.The execution order generated by the LCF method is1→2→3→4→5→6.The execution order and file data-block placement is shown in Table2a.In this case,file block B isfirst placed in page cache m1for execution of region1.Then,it is moved to page cache m4in region2. The execution sequence causes unnecessary“thrashing”between two different page caches, which causes additionalfile access cost.The resulting total cost for the LCF method is20645.The total cost offile accesses can be reduced by taking advantage of commonfile data-blocks shared by regions executed consecutively.The execution sequence now becomes 1→3→2→4→6→5.As a result,file blocks C and D stay in the same page cache for region1and region3.Therefore,the cost of moving data-blocks is saved.It turns out that this is the optimal solution for the motivational example shown in Table2b.The totalEffective FDP on hybrid main memory architectures493Table3Notations used in FDPNotation DefinitionalgorithmM A set of types of page caches M={m1,m2,...m N}FB A set offile data-blocks accessed by programF B={f b1,f b2,...f b K}S i the size offile data-block f b iRN i Number of reads forfile data-block f b iWN i Number of writes forfile data-block f b iThe capacity of page cache type m iSIZE miRC mCost of read unit size offile data-block on memory m iiWC mCost of write unit size offile data-block on memory m iif p i Thefile which contains thefile block f b ia i the start position offile block fb i in thefile f p ib i the end position offile block f b i in thefile f p icost offile accesses with the optimal execution order is reduced from20,645to9,555,a cost reduction of53.8%compared with the greedy method.As we can see from this example,execution order has a great impact on the access cost offile data-blocks because of data sharing among different program regions.4Solving thefile data-block placement problem with dynamic programmingIn this section,we present the FDP algorithm for solving the problem offile data-block placement on multiple types of page caches using dynamic programming.The algorithm solves thefile data-block placement problem optimally for simple programs composed of one program region.4.1Notation and problem definitionBefore presenting the algorithm,wefirst define notations to be used in the algorithm and problem description as well.Table3shows a list of notations with detail explanations.The moving cost of afile data-block f b k refers to the cost of reading f b k data-block on page cache m i plus writing f b k on page cache m j,where i=j.Hence,the moving cost is defined as follows:MOVE(m i,m j,f b k)=RC m i×S k+W C m j×S k(1) where S k is the size offile data-block f b k.The memory access cost of afile data-block f b i on page cache m k refers to the total cost offile operations on page cache m k for f b i.The following equation calculates thefile access cost for reading/writingfile data-block f b i on page cache m k.The memeory access cost is calculate as:COST(m k,f b i)=RN i×RC m k+W N i×W C m k(2) Given a set offile data-blocks FB={f b1,f b2,...,f b K}and their read/write fre-quencies in one program region,also given a set of page caches M={m1,m2,...,m N} with their read/write costs and capacities,and given the initial placement offile data-block P0(f b i),i=1,2,...,M,The objective offile data-block placement is to placefile data-494P.Dai et al. blocks in F B on page caches in M to achieve the minimumfile access cost as described by the following objective function.minKk=1MOVE(P0(f b k),P(f b k),f b k)+Kk=1COST(P(f b k),f b k)(3)4.2Thefile data-block placement algorithmIn this section,we present a dynamic programming algorithm,thefile data-block placement (F D P)algorithm,to optimally solve the problem offile data-block placement for simple programs.The main idea is to transform this problem to a multi-dimensional0−1knapsack problem.Thefile data-blocks are treated as the items with assigned value and size.Each type of page cache is considered as a knapsack with limited capacity.Then,we are able to solve the problem by dynamic programming.The algorithm consists of three major steps:First,we preprocess thesefile blocks.Thefile blocks of sequential IO can be placed consecutively for avoiding multiple disk requests.Therefore,the information of accessedfile blocks should be pre-processed.We merge twofile blocks f b i and f b j into onefile block if they are adjacent or overlapped in the samefile.Hence,the condition of merging twofile blocks is as follows:1)f p i=f p j2)a j≤b i≤b j or a i≤b j≤b i.Then,the size,memory access cost and movement cost of mergingfile blocks can be defined as follows:S i j=S i+S j−S i j(4) COST(m,f b i j)=COST(m,f b i)+COST(m,f b j)(5)MOVE(m k,m l,f b i j)=RC m l×S i j+W C m k×S i j(6) where S i j refers to the size of mergedfile blocks and S i j refers to the overlapped size of two mergedfile blocks.After that,we can acquire the set of mergedfile blocksF B ={f b 1,f b 2,...,f bK }.Second,compute moving costs M OV E(m i,m j,f b k)by Eq.1and access costs C O ST(m i,f b k)by Eq.2for all pairs of page caches andfile data-blocks.In the third step,the optimal solution is generated by computing the cells in dynamic programming table and tracing back the dynamic programming table forfinal placement. The details of the FDP algorithm are shown in Algorithm4.1.Each cell of the dynamic programming table is defined as C[j,s1,s2,...,s N],where j represents the mergedfile data-block f b j to be allocated in page cache,s i indicates available space of page cache m i.The initial value of s i is equal to the capacity of page cache m i. Each element C[j,s1,s2,...,s N]in the dynamic programming table represents the min-imal cost when thefirst jfile data-blocks are already placed in page cache while the restfile data-blocks are placed in initial location.And,there are still s i pages available in page cache m i,where i=1,2,...,N.We can calculate this table in a bottom-up fashion.The recursion function for computing the dynamic programming problem C[j,s1,s2,...,s N]is shown in Eq.(7).In order to trace back the solution from the dynamic programming table,we define a multi-dimensional array R[j,s1,s2,...,s N]to record the location offile data-block f b j along the computation.The time complexity of the FDP algorithm shown in Algorithm4.1is O(M×C N),where M is the number offile data-blocks and C is the maximal capacity of all types of page caches, and N is number of types of page cache.Therefore,the FDP algorithmm is a polynomial timeEffective FDP on hybrid main memory architectures 495algorithm because the number of memory types N is usually a given constant for a hybrid main memory architecture.Algorithm 4.1The FDP algorithmInput:A set of file data-blocks F B ={f b 1,f b 2,...,f b K },their sizes S i ,their read times RN i and write times W N i ,where i =1,2,...,K .A set of types of page caches M with limited capacity SI Z E m i and read and write cost RC m i /W C m i ,i =1,2,...,N .We assume that m N is large enough to store all file data-blocks.The initial location of file data-block P 0(f b i ),i =1,2,...,K Output:An optimal placement of file data-blocks on page cache P (f b i ),i =1,2,...,K .1:Merge the file blocks and acquire the set of merged file blocks F B ={f b 1,f b 2,...,f b K}2:For each merged file data-block f b k and each page cache type m i ,calculate move cost M OV E (P 0(f b k ),m i ,f b k )by Eq.(1).3:For each file data-block f b k and each memory type m i ,calculate access memory cost C O ST (m i ,f b k )by Eq.(2).4:Initialize an array C [|F B |+1,SI Z E m 1+1,SI Z E m 2+1,...,SI Z E m N +1]for computing costs of file data-block placement.5:Initialize an array R [|F B |+1,SI Z E m 1+1,SI Z E m 2+1,...,SI Z E m N +1]to keep record of location for file data-blocks.6:for j ←0to |F B |do7:for s 1←SI Z E m 1to 0do8:for s 2←SI Z E m 2to 0do9:...10:Calculate C [j ,s 1,s 2,...,s M ]by Eq.(7).11:R [j ,s 1,s 2,...,s N ]←choose the type of page cache which j th file data-block is allocated on inC [j ,s 1,s 2,...,s M ].12:end for13:end for14:end for15:Find the value in C [|F B |,0,0,...,0].16:Find the placement of file data-block by tracing back the array R from R [|F B |,0,0,...,0].C [j ,s 1,s 2,...,s N ]=⎧⎪⎪⎪⎪⎪⎪⎪⎪⎪⎨⎪⎪⎪⎪⎪⎪⎪⎪⎪⎩ K i =1COST (P 0(f b i ),f b i )if j =0∞if N i =1s i + j i =1S i > N k =1SIZE m k min k ∈{1,2,...,N }{C [j −1,s 1,s 2,...,s N ];if N i =1s i + j i =1S i < N k =1SIZE m k C [j −1,s 1,...,s k +S j ,..,s N ]+COST (m k ,f b j )−COST (P 0(j ),f b j )+MOVE (P 0(j ),m k ,f b j)}(7)5The ILP model and a heuristic for solving the global fle data-block placement problemIn this section,an ILP model is presented to solve the global file data-block placement problem for programs composed of multiple program regions and data dependencies.Since the time complexity of ILP model is exponential,a heuristic algorithm is proposed to generate near-optimal solutions in polynomial time.。