Design of target
- 格式:pdf
- 大小:167.85 KB
- 文档页数:7
Introduction:Design, as a crucial aspect of any project, plays a vital role in determining its success. Over the past few months, I have been involved in a design project, which has allowed me to gain valuable insights and experiences. This design summary aims to provide an overview of the project, highlighting the key stages, challenges faced, and lessons learned.Body:1. Project OverviewThe project aimed to develop a user-friendly mobile application that caters to the needs of a specific target audience. The application was intended to provide a platform for users to connect, share information, and engage in various activities.2. Research and AnalysisThe initial phase of the project involved extensive research and analysis to understand the target audience and their requirements. This included conducting surveys, interviews, and analyzing existing applications in the market. The research helped us identify the key features and functionalities that the application should possess.3. Conceptualization and SketchingBased on the research findings, we began the conceptualization phase. This involved brainstorming ideas, sketching wireframes, and creating low-fidelity prototypes. The goal was to visualize the application's user interface and user experience (UI/UX) design.4. Design DevelopmentOnce the initial concept was finalized, we moved on to the design development phase. This involved creating high-fidelity prototypes, designing the application's visual elements, and defining the branding guidelines. We focused on ensuring consistency, readability, and a seamless user experience across different devices and platforms.5. Prototyping and TestingTo validate our design decisions, we developed interactive prototypes and conducted usability testing sessions. This allowed us to gather feedback from potential users and identify areas for improvement. The feedback was instrumental in refining the design and ensuring that it met the users' needs.6. Implementation and CollaborationOnce the design was approved, we collaborated with the development team to ensure the seamless integration of the design elements into the application. This involved working closely with developers, providing design specifications, and addressing any technical constraints.7. Challenges and SolutionsThroughout the project, we encountered several challenges. One of the main challenges was balancing the user's needs with technical limitations. To address this, we conducted thorough research and collaboration with the development team to find feasible solutions. Another challenge was ensuring consistency across different screens and platforms. To overcome this, we established a clear design system and followed best practices for responsive design.8. Lessons LearnedThis project taught us several valuable lessons. Firstly, it emphasized the importance of thorough research and understanding the target audience. Secondly, collaboration between different teams (design, development, and testing) is crucial for the success of any project. Lastly, staying flexible and open to feedback throughout the design process is essential for continuous improvement.Conclusion:In conclusion, the design project provided me with a comprehensive understanding of the design process, from research and analysis to implementation and collaboration. It allowed me to develop essential skills, such as user-centered design, prototyping, and problem-solving.The project's success can be attributed to the combination of research, collaboration, and continuous improvement. As I move forward in my career, I will carry these valuable lessons and experiences with me, ensuring that I approach future projects with confidence and a user-centric mindset.。
[转载]DC中target_library和link_library的区别原⽂地址:DC中target_library和link_library的区别作者:红贺Synthesis只⽤target library,不⽤link library;link library⼀般可以放算法库和设计库等,⽐如DW;target library放的是⼯艺库。
target library 是你的综合⽬的库,存放的是你索要映射的逻辑单元。
⼀般为standard cell library & io cell library 的typ⽽link library⼀般为宏单元等其他库。
“⽬标库(targe_library):是DC在mapping时将设计映射到特定⼯艺所使⽤的库,就是使⽤⽬标库中的元件综合成设计的门级⽹表。
连接库(link_library):是提供门级⽹表实例化的基本单元,也就是门级⽹表实例化的元件或单元都来⾃该库。
连接库定义为标准单元的db格式的库⽂件加上pad db格式的库⽂件,加上ROM,RAM等宏单元库⽂件”“简单地讲,所有⽤到的库都要放到link_library,因为DC⾃动到那⾥去找。
只有作综合⽤的库放在target_library,象ROM,PAD 等不⽤synthesis的就不要放进去了。
”DC⽤户⼿册中的说法:Target LibraryDesign Compiler uses the target library to build a circuit. During mapping, Design Compilerselects functionally correct gates from the target library. It also calculates the timing of thecircuit, using the vendor-supplied timing data for these gates.Use the target_library variable to specify the target library.The syntax isset target_library my_tech.dbLink LibraryDesign Compiler uses the link library to resolve references. For a design to be complete, itmust connect to all the library components and designs it references. This process is calledlinking the design or resolving references.During the linking process, Design Compiler uses the link_library system variable, thelocal_link_library attribute, and the search_path system variable to resolvereferences. These variables and attribute are described below:link_library variableThe link_library variable specifies a list of libraries and design files that DesignCompiler can use to resolve references. When you load a design into memory, DesignCompiler also loads all li braries specified in the link_library variable.Because the tool loads the libraries while loading the design, rather than during the linkprocess, the memory usage and runtime requir ed for loading the design might increase.However, the advantage is that you know immediately whether your design can beprocessed with the available memory.An asterisk in the value of the link_library variable specifies that Design Compilershould search memory for the reference.• local_link_library attributeThe local_link_library attribute is a list of design files and libraries added to thebeginning of the link_library variable during the linki ng process. Design Compilersearches files in the local_link_library attribute first when it resolves references.• search_path variableIf Design Compiler does not find the reference in the link libraries, it searches in thedirectories specified by the search_path variable, described in “Specifying a LibrarySearch Path” on page 4-7. For more information on resolving references, see “LinkingDesigns” on page 5-13.The syntax isset link_library {* my_tech.db}Note that you specify the same value for the target library and the link library (except whenyou are performing technology translation).When you specify the files in the link_library variable, consider that Design Compilersearches these files from left to right when it resolves references, and it stops searchingwhen it finds a reference. If you specify the link library as {"*" lsi_10k.db}, the designs inmemory are searched before the lsi_10k library.Design Compiler uses the first technology library found in the link_library variable asthe main library. It uses the main library to obtain default values and settings used in theabsence of explicit specifications for operating conditions, wire load selection group, wireload mode, and net delay calculation. Design Compiler obtains the following default valuesand settings from the main library:• Unit definitions• Operating conditions简单来说link library就是解决实例化引⽤的,如果实例化的就是⼀个与⾮门,DC就从target library中找到,如果例化的是⼀个fifo,DC就从fifo的库中找到,如果例化的是⼀个模块,DC就从内存中找到,因为这个模块的代码在编译过程中已经读进内存中去了。
设计相关的英文单词English:Design is the process of creating solutions to meet specific needs or requirements. It involves a combination of creativity and practicality, addressing both the aesthetics and functionality of a product or service. Design encompasses a wide range of disciplines, including graphic design, industrial design, interior design, fashion design, and more. It requires a deep understanding of the target audience, market trends, materials, and technologies. The design process typically involves research, ideation, prototyping, iteration, and testing to ensure that the final solution is effective and successful. Designers often collaborate with other professionals, such as engineers, marketers, and manufacturers, to bring their ideas to life.A successful design not only fulfills its intended purpose but also resonates with its users on an emotional level, creating a meaningful and memorable experience.Chinese:设计是为满足特定需求或要求而创造解决方案的过程。
什么是设计英文作文英文,What is design?Design is the process of creating something with a specific purpose or function in mind. It involves a combination of creativity, problem-solving, and technical skills to bring a concept to life. Design can be applied to a wide range of fields, including graphic design, product design, interior design, fashion design, and more.Good design is not just about making something look aesthetically pleasing, but also about making it functional and user-friendly. It should consider the needs and preferences of the target audience, as well as anylimitations or constraints that may affect the design process.For example, a product designer might create a new smartphone that not only looks sleek and stylish, but also has a user interface that is easy to navigate and intuitive.An interior designer might create a living space that is both beautiful and functional, with furniture and decorthat fits the client's lifestyle and personality.中文,什么是设计?设计是创造具有特定目的或功能的过程。
方案设计工程师英文Title: Design and Implementation of a Solar-Powered Water Purification System1. IntroductionAccess to clean and safe drinking water is a fundamental human right, yet millions of people around the world still lack access to this basic necessity. In many rural and remote areas, the lack of infrastructure and resources hinders the supply of clean water, leading to waterborne diseases and other health problems. To address this issue, we propose the design and implementation of a solar-powered water purification system that can provide clean and safe drinking water in off-grid areas.2. ObjectivesThe main objectives of this project are as follows:1. To design a solar-powered water purification system that can effectively remove contaminants such as bacteria, viruses, and pollutants from untreated water sources.2. To develop a cost-effective and sustainable solution that can be easily implemented in off-grid areas with limited access to electricity and clean water.3. To conduct field tests and evaluate the performance of the system in real-world conditions, and to assess its impact on the local community.3. System DesignThe proposed water purification system will consist of the following main components: 1. Solar panels: To harness sunlight and convert it into electrical energy to power the purification system.2. Water filtration unit: To remove suspended solids, bacteria, viruses, and other contaminants from the untreated water.3. UV disinfection unit: To further decontaminate the water by using ultraviolet light to kill any remaining microorganisms.4. Storage tank: To store the purified water for distribution to the community.The system will be designed to be modular and scalable, allowing it to be easily expanded to meet the needs of different-sized communities. It will also be designed with simplicity and durability in mind, using locally available materials and components to minimize maintenance requirements.4. Implementation PlanThe implementation of the solar-powered water purification system will be carried out in several stages:1. Site assessment: A team of engineers and environmental experts will visit the target community to assess the local water sources, energy availability, and community needs.2. System design and procurement: Based on the site assessment, the system design will be finalized, and the necessary components and materials will be procured.3. Installation and testing: The system will be installed in the target community, and thorough testing will be conducted to ensure its proper functioning.4. Training and education: Local community members will be trained on the operation and maintenance of the system, and education campaigns will be conducted to raise awareness about the importance of clean water and proper hygiene practices.5. Monitoring and evaluation: The performance of the system will be monitored over time, and regular evaluations will be conducted to assess its impact on the local community.5. Expected OutcomesThe implementation of the solar-powered water purification system is expected to have the following outcomes:1. Improved access to clean and safe drinking water for the target community, leading to a reduction in waterborne diseases and improved overall health and well-being.2. Enhanced resilience to climate change and natural disasters, as the system will provide a reliable source of clean water even in off-grid areas.3. Knowledge transfer and capacity building within the local community, empowering them to take ownership of the system and ensure its long-term sustainability.6. Budget and ResourcesThe following resources will be required for the implementation of the project:- Solar panels and associated equipment: $20,000- Water filtration and UV disinfection units: $15,000- Storage tank and distribution system: $10,000- Labor and installation costs: $5,000- Training and education materials: $2,000- Monitoring and evaluation: $3,000Total budget: $55,000Funding for the project will be sought from a combination of government grants, private donors, and international development agencies. In-kind contributions from local partners and community members will also be leveraged to maximize the impact of the project.7. ConclusionThe design and implementation of a solar-powered water purification system have the potential to significantly improve the quality of life for communities in off-grid areas, providing them with a sustainable source of clean and safe drinking water. By harnessing the power of the sun and using simple yet effective water purification technology, this project has the potential to make a lasting impact on the health and well-being of those who need it most.In conclusion, the proposed project offers a practical and sustainable solution to address the critical issue of water scarcity in off-grid areas, and we believe that its successful implementation will serve as a model for similar projects in other communities around the world.。
设计细节说明英文作文1. The color scheme of the design is vibrant and eye-catching. The use of bold and contrasting colors adds a dynamic and energetic feel to the overall look. It is meant to grab attention and create a memorable visual impact.2. The layout of the design is clean and organized. The use of grids and alignment helps to create a sense of order and balance. It allows for easy navigation and readability, ensuring that the information is easily accessible to the audience.3. The typography in the design is carefully chosen to reflect the tone and message of the content. The use of different font styles and sizes adds variety and visual interest. It helps to emphasize important points and create a hierarchy of information.4. The use of imagery and graphics in the design is strategic and purposeful. It helps to enhance thestorytelling and convey the message in a visually appealing way. Whether it is through illustrations, photographs, or icons, the visuals are meant to engage and captivate the audience.5. The design incorporates interactive elements to encourage user engagement. This could include buttons, links, or animations that invite the audience to interact with the content. It adds a level of interactivity and makes the design more engaging and memorable.6. The design is responsive and adaptable to different devices and screen sizes. It is important to ensure that the design looks and functions well on various platforms, such as desktop, mobile, and tablets. This allows for a seamless user experience and ensures that the design is accessible to a wider audience.7. The overall aesthetic of the design is modern and contemporary. It incorporates current design trends and styles to create a fresh and up-to-date look. It is important to stay relevant and appealing to the targetaudience, and the design achieves this by staying on top of current design trends.8. The design is user-centered and focuses ondelivering a positive user experience. It takes into consideration the needs and preferences of the target audience and aims to create a design that is intuitive, user-friendly, and enjoyable to interact with.9. The design is consistent and cohesive throughout all elements. This includes the colors, typography, imagery, and overall style. Consistency helps to create a sense of unity and professionalism, and it ensures that the designis visually appealing and easy to understand.10. The design is attention-grabbing from the first glance. It uses bold and impactful visuals, headlines, or slogans to immediately capture the audience's attention. This helps to create a strong first impression and entices the audience to further explore the design and its content.。
设计的定义英语作文Title: The Definition of Design。
Design, in its essence, embodies the convergence of creativity, functionality, and purpose. It is the process of conceiving, planning, and executing solutions to address a need or solve a problem. The significance of design spans across various fields, from architecture and engineering to graphic design and product development. In this essay, we will delve into the multifaceted nature of design and explore its fundamental principles.At its core, design is about problem-solving. Whether it's designing a skyscraper to withstand environmental forces or creating a user-friendly interface for a mobile application, the primary objective of design is to fulfill a specific purpose efficiently and effectively. This purpose-driven approach distinguishes design from mere decoration or artistry.Furthermore, design is deeply intertwined with human experience. A well-designed product or environment not only serves its intended function but also enhances the user's experience, evoking emotions and responses. Consider the sleek and intuitive design of a smartphone, which seamlessly integrates technology into everyday life, or the ergonomic layout of a workspace that promotes productivity and well-being. These examples underscore the symbiotic relationship between design and human interaction.Moreover, design is iterative and evolutionary. It involves a continuous process of ideation, prototyping, testing, and refinement. Designers often explore multiple iterations and alternatives before arriving at the optimal solution. This iterative nature allows for innovation and improvement over time, ensuring that designs remain relevant and adaptive to changing needs and preferences.Another critical aspect of design is its interdisciplinary nature. Design draws upon insights and methodologies from various disciplines, including psychology, engineering, anthropology, and sociology. Byintegrating diverse perspectives and expertise, designers can create holistic solutions that address complex challenges and cater to diverse audiences.Additionally, design is inherently contextual. It reflects the cultural, social, and environmental contextsin which it operates. What constitutes good design in one culture or era may differ from another. Therefore,designers must consider the cultural norms, values, and preferences of their target audience to create meaningful and relevant solutions.Furthermore, design ethics play a pivotal role in shaping responsible and sustainable practices. Designers bear a responsibility to consider the ethical implicationsof their work, including its environmental impact, social consequences, and implications for equity and inclusivity. By embracing ethical principles, designers can contributeto creating a more equitable, sustainable, and humane world.In conclusion, design encompasses a broad spectrum of disciplines, principles, and practices aimed at addressingneeds, solving problems, and enhancing human experiences. Its multidimensional nature reflects the complexity of the challenges we face and the opportunities for innovation and improvement. By embracing creativity, functionality, purpose, and ethics, designers can shape a better futurefor society and the planet.。
Good [morning/afternoon/evening]. It is a great pleasure to stand before you today as a designer, to share my insights, inspirations, and the journey that has brought me to this point in my career.---[Introduction]My name is [Your Name], and I am a [Your Design Specialization] designer.I have always been fascinated by the power of design to transform and inspire, and today, I am excited to discuss the role of design in our ever-evolving world.---[The Importance of Design]In a world that is constantly evolving, design plays a pivotal role in shaping our experiences and perceptions. It is not just about aesthetics; it is about functionality, sustainability, and user experience. As designers, we have the unique opportunity to bridge the gap between form and function, to create solutions that not only look good but also work seamlessly in the lives of the people who use them.---[Your Design Philosophy]My design philosophy is rooted in the belief that great design is born from a deep understanding of the user. It is about empathy, research,and innovation. I strive to create designs that are not only beautiful but also accessible and intuitive. My process involves:1. Research: Understanding the needs and desires of the target audience.2. Sketching: Exploring different ideas and concepts through freehand drawing.3. Prototyping: Developing tangible models to test and refine the design.4. Iterative Feedback: Incorporating user feedback to improve the design continuously.---[Case Studies]Allow me to share a few examples of my work that exemplify my design philosophy:1. Project X: In this project, we aimed to create a user-friendly interface for a complex software application. By conducting extensive user research and iterating on the design based on real-world feedback, we were able to simplify the user experience and increase user satisfaction.2. Project Y: For this sustainable product design, we focused on materials and manufacturing processes that minimized environmental impact. The result was a product that not only served its purpose effectively but also contributed to a greener future.---[The Future of Design]As we look to the future, I believe that design will continue to evolve in response to technological advancements, social changes, and environmental concerns. We will see more emphasis on:- Sustainability: Designing products and services that are environmentally friendly and socially responsible.- Inclusivity: Creating designs that are accessible to people of all abilities and backgrounds.- Technology Integration: Harnessing the power of AI and other emerging technologies to create innovative design solutions.---[Conclusion]In conclusion, design is a powerful tool that has the potential to shape our world in profound ways. It is a testament to the human capacity for creativity and innovation. As designers, we have a responsibility topush the boundaries of what is possible, to create solutions that not only look good but also make a positive impact on society.Thank you for allowing me to share my thoughts with you today. I am eager to see what the future holds for design and the role we, as designers, will play in it.---[Your Name][Your Position][Your Company/Organization][Contact Information]。
Design for X (DFX)Design for X (DFX) is an essential concept in the field of engineering and product design. It refers to the practice of considering various factors and requirements during the design process, with the aim of optimizing the product for a specific purpose or end-user. This approach ensures that the final product meets the highest standards of quality, functionality, and user experience. In this response, we will explore the importance of DFX, its various requirements, and the impact it has on the design and development process. One of the key requirements of DFX is to consider the specific needs and requirements of the end-user. This involves conducting thorough research and analysis to understand the preferences, behaviors, and challenges faced by the target audience. By gaining insights into the user's needs, designers can create products that are tailored to their requirements, ultimately leading to higher levels of satisfaction and usability. For example, when designing a new smartphone, it is essential to consider factors such as screen size, battery life, and ease of use, in order to create a product that meets the needs of the target market. Another important aspect of DFX is to consider the environmental impact of the product. With increasing awareness of environmental issues, there is a growing demand for products that are sustainable and eco-friendly. Designers need to consider factors such as the use of recyclable materials, energy efficiency, and the product's end-of-life disposal. By incorporating sustainable practices into the design process, companies can reduce their environmental footprint and appeal to environmentally conscious consumers. This not only benefits the environment but also enhances the brand's reputation and appeal in the market. In addition to user needs and environmental impact, DFX also requires designers to consider the manufacturing and production processes. This involves optimizing the design for manufacturability, assembly, and cost-effectiveness. By considering these factors early in the design process, designers can create products that are easier and more cost-effective to produce, ultimately reducing time-to-market and improving the overall profitability of the product. For example, by simplifying the design of a complex component, manufacturers can reduce the number of parts and assembly steps, leading to lower production costs and faster assembly times. Furthermore, DFX also encompasses the aspect ofreliability and quality. Designers must consider factors such as durability, performance, and safety to ensure that the product meets the highest standards of quality and reliability. By conducting rigorous testing and analysis, designers can identify potential weaknesses and failure points in the design, allowing them to make necessary improvements before the product reaches the market. This not only enhances the overall user experience but also reduces the risk of product recalls and warranty claims, ultimately saving the company time and money in the long run. Moreover, DFX also requires designers to consider the global market and cultural differences. In today's interconnected world, products are often sold and used in diverse markets with varying cultural norms and preferences. Designers need to consider factors such as language support, cultural sensitivities, and global regulatory requirements to ensure that the product is suitable for a global audience. By considering these factors early in the design process, companies can avoid costly redesigns and modifications to meet the requirements of different markets, ultimately improving the product's competitiveness and appeal on a global scale. In conclusion, Design for X (DFX) is a critical aspect of the design and development process, encompassing various requirements and considerations to create products that meet the highest standards of quality, functionality, and user experience. By considering factors such as user needs, environmental impact, manufacturability, reliability, and global market requirements, designers can create products that are tailored to the specific needs of the target audience, while also meeting the demands of a global market. Ultimately, DFX is essentialfor creating products that are not only innovative and competitive but also sustainable and user-friendly in today's ever-changing market.。
TSINGHUA SCIENCE AND TECHNOLOGYISSN 1007-0214 16/18 pp115-121Volume10,Number1,February2005Design and Implementation of a Fibre Channel TargetDriver Supporting SCSI*WU Hao (吴昊), SHU Jiwu (舒继武) **,WEN Dongchan (温冬婵), ZHENG Weimin (郑纬民)Department of Computer Science and Technology, Tsinghua University, Beijing 100084, ChinaAbstract: Fibre channel storage area networks (FC-SAN) are effective solutions to address storage man-agement problems caused by very large volumes of data. But the expense of fibre channel devices limits FC-SAN applications. The use of IP networks instead of fibre channel networks will reduce SAN cost, but will also reduce the performance. Therefore, small computer system interface (SCSI) devices were consid-ered to replace FC disks to reduce the SAN cost. A driver for the FC network adapter and the FC target, de-signed and implemented to support this structure, obeys the SCSI protocol and works in target mode with 200 MB/s bandwidth. The FC target architecture and implementation were compared with the FC initiator.The SCSI command transfer process in the FC layer was described. The performance test results show that the maximum I/O throughput reachs 167 MB/s for read requests and 196 MB/s for write requests (FC band-width is 200 MB/s), verifying that the FC target is very efficient. The modularization, efficiency, and low cost of the FC target will enable SAN and fibre channel to be more widely used in applications.Key words: storage area networks (SAN); fibre channel protocol (FCP); small computer system interface (SCSI); FC target; SCSI target middle level (STML)IntroductionWith more and more fields using computers, especially in astronomy and biology computing, data storage needs have grown massively and storage devices have become the center of today’s computing environments. Storage area networks (SAN) have been used to solve storage problems. The underlying principle for SAN is to replace the traditional data bus between a host com-puter and its storage devices with a high-speed data network[1]. The small computer system interface (SCSI) protocol has long been the protocol of choice for block storage management. Different transport mechanisms, such as the fibre channel (FC), iSCSI, and Infini-band[2], can be used to transfer SCSI protocol data. However, the advantages of the fibre channel protocol (FCP) make it best suited for network storage[3].Two kinds of devices in the SCSI protocol are initia-tors and targets. The initiators are devices that send commands and task management requirements. The targets are devices that execute the commands and task management requirements[4]. To work with SCSI pro-tocol, the FC layer must also be divided into initiators and targets.Most SAN products (such as the IBM FAStT900 Storage Server[5], EMC CX600[6], etc.) use FC-disks or FC-RAID as the FC layer targets in a fibre channel-arbitrated loop (FC-AL) to work in a structure as shown in Fig. 1 (the thick lines represent the FC). In this structure, the disk arrays are directly linked to the FC network.﹡Received: 2003-06-17; revised: 2003-10-14Supported by the National High-Tech Research and Development Program (863) of China (No.2001AA111110)﹡﹡To whom correspondence should be addressed.E-mail: shujw@;Tel: 86-10-62785592Tsinghua Science and Technology, February 2005, 10(1): 115–121 116Fig. 1 FC-disks as storage devices in a targetThis paper describes a SAN mode, shown in Fig. 2, called SCSI-SAN where the storage devices are sepa-rated from the FC and connected with the PCI bus by a SCSI adapter in an I/O controller. A fibre channel host bus adapter (FC-HBA) connects the I/O controller with the FC network as the FC target. The PCI bus (with a bandwidth of 133×8 MB/s) and the dual-SCSI bus (with a bandwidth of 320 MB/s) ensure that the FC connected with the I/O controller can make full use of its bandwidth of 200 MB/s. Therefore, the SCSI-SAN has the same bandwidth, but lower price, greater flexi-bility and easier expandability. The two SAN architec-tures are compared in Table 1.Fig. 2 SCSI-disks as storage devices in a targetTable 1 Comparison of two SAN architecturesDisk type Disk organization Capacity expense Flexibility Price (RMB Yuan)I FC-SAN FC disk FC-ALLimited by the loop and theequipment, hard to expandBind disks with FC devices, lowflexibility100 000 (73 GB)II SCSI-SAN SCSI diskConnected bySCSI busMultichannel SCSI adapterscan connect several SCSIsubsystems, easy to expandStorage devices are separatedfrom the FC devices, easy toreplace disks, high flexibility10 000 (73 GB)SCSI-SAN needs a driver in target mode for the FC HBA, but all the HBA producers only supply initiator mode drivers (such as Qlogic Co.[7] and Emulex Co.[8]). This paper describes the implementation of an FC network target driver named FC target in the Linux environment, which supports the SCSI protocol and is suitable for SCSI-SAN. The FC target obeys the FCP and FC device standards, implements the direct memory attached (DMA) technique to reduce the overhead in the adapter, communicates with the SCSI targets through standard interfaces, and works in the Linux kernel space.1 FC Target in Software Architectureof SCSI-SANFigure 3 illustrates the SCSI-SAN software architecture. In this architecture, the FC target is connected with the SCSI target middle level (STML). The STML receives SCSI commands from the FC, passes them to the SCSI devices, and monitors the whole execution process[9]. The STML and the FC target can be built into one module; however, separating them provides better expansibility. Therefore, the STML was organized as a single module, supplying a standard interface to the bottom layer, so different transfer mediums such as the FC and the Internet can be used. The single module alsosimplifies realization of the lower layer.Fig. 3 Software architectureThe FC initiator, the FC target, and the FC network make up the SCSI-SAN (FC layer) network transfer layer. The FC layer is transparent to the SCSI devices, since it transfers the SCSI commands, results, and data at high speed to ensure that the SCSI layer works correctly.Both initiator and target mode FC network driversWU Hao (吴 昊) et al :Design and Implementation of a Fibre Channel Target Driver ……117can be divided into three parts: the firmware, the HBA driver, and the upward interface from the bottom layer. These parts are not absolutely separated. The firmware is composed of hardware and resources under its con-trol, such as registers and buffers. The firmware is in-structed by a binary Byte-stream to send and receive frames automatically, as described in the FC_0 to FC_3 layers in FCP. The HBA driver tasks include ini-tializing the HBA, filling and parsing the frames and communicating with the operating system (OS), for example, dealing with interruptions. The upward inter-face is used to connect with the upper layer, to pass in-formation and to call functions. The upward interface is always realized in template form. In the FC initiator, the interface to the SCSI initiator was defined as SCSI_Host_Template, and in the FC target, the inter-face to the STML was SCSI_Target_Template.2 Implementation2.1 FC initiatorThe interface between the FC initiator and the SCSI initiator sends the SCSI commands downward and passes the received results upward. Because all the data transfer is automatically completed by the hardware, data transfer does not occupy CPU time. The data transfer is done through two interface functions [10]. The initiator mode process is illustratedin Fig. 4.Fig. 4 HBA in initiator modeThe FC initiator connects to the SCSI initiator through the SCSI_Host_Template, which is defined as:typedef struct SHT{ int (* detect)(struct SHT *); int (*release)(struct SCSI_Host *);int (* queue_command)( SCSI _Cmnd*, void (*done) ( SCSI _Cmnd *)); ……} SCSI _Host_Template.Queue_command queues the SCSI commands into the request queue to send them to the SCSI device. When commands have been completed, the results from the response queue are returned to the SCSI ini-tiator by SCSI_done.The request queue and response queue occupy two parts of sequential memory space allocated in the HBA initialization, which store 64-bit entries used in the communication between the firmware and the HBA driver. The firmware gets commands from the request queue and puts results into the response queue. An-other queue in the HBA driver stores commands wait-ing for completion so that commands can be brought from the response queue in time to avoid losses. The request queue exit pointer and the response queue en-trance pointer are kept in special firmware registers. The firmware then automatically sends and receives frames.2.2 FC targetThe interface between the FC target and the STML sends SCSI commands upward and passes the results downward. When a write command comes, the target allocates enough memory as buffers for the data. When the buffers are ready, the target notifies the initiator to begin sending data, which differs from a read com-mand. Although the initiators will also obtain data in a read process, the needed buffers are prepared before sending out the command. The initiator does not con-trol the data transfer, which is done by the hardware, but just sends the buffer address to the hardware. The target processes differ from the initiator proc-esses. The FC target connects with the STML through SCSI_Target_Template, which is defined as:typedef struct STT{ int (* detect) (struct STT*); int (* release) (struct STT*); int(*Xmit_response)(struct SC*);Tsinghua Science and Technology, February 2005, 10(1): 115–121 118int (* Rdy_to_xfer)(struct SC*);……} SCSI_Target_Template.The target mode processes are illustrated in Fig. 5. The broken lines show the steps used by only the write commands while the solid lines show the steps for both read commands and write commands. The main func-tions in the STML interface are denoted by downward arrows in Fig. 5. Function Xmit_response is called when the STML has completed the commands and wants to send back the results. When a write command comes, Rdy_to_xfer is used to notify the initiator that buffers are ready. The functions called by the FC target (denoted by the downward arrows) are:Target_SCSI_Cmnd *rx_cmnd (SCSI _Target_Device *,__u64, __u64, char *, int)int SCSI _rx_data (Target_ SCSI _Cmnd *)int SCSI _target_done (Target_ SCSI _Cmnd *)Rx_cmnd sends the commands to the STML when commands are received. After the FC target sends out the results, it will call SCSI _target_done to give notice to the STML. When executing a write command, the FC target calls SCSI _rx_data to notify the STML that data have arrived.The FC target uses the same queues as the FC initiator, such as the request queue, response queue, and a command queue to store commands waiting for execution. Since there are more steps to execute commands in the FC target, the different command states are signed by variables. A command handle thread is used to deal with the commands in the command queue based on the different values of the variables. Commands can be executed in parallel, which increases the execution efficiency.3 SCSI Commands Execution ProcessIn the FC network, the SCSI commands are classified into three classes: no-data commands, read commands, and write commands. These SCSI commands are transported by information units (IU). Different information types have different IUs: FCP_CMNDIU for SCSI commands, FCP_XFER_RDYIU for the information ready to transfer, FCP_DATAIU for data, and FCP_RSPIU for results and status. When the firmware receives an IU, it generates and transfers a 64-byte entry to the HBA driver. These 64-byte entries have different formats for the different content. For the initiators, they are 0x11, 0x03, 0x04; and for the targets, they are 0x16, 0x17, 0x0b, 0x0c, 0x0d, 0x0e[11,12]. The whole SCSI command execution process in the FC layer is illustrated in Fig. 6. Information above the arrows is transferred by the information units.Fig. 5 HBA in target mode Fig. 6 Process of SCSI commands in FC layerWU Hao (吴昊) et al:Design and Implementation of a Fibre Channel Target Driver (119)3.1 Read commandsThe SCSI initiator transports a SCSI read command to the FC initiator. When the command is received, the HBA driver puts the command into a command entry (0x11), and queues it into the request queue. Based on the information of data to be read, the HBA driver gets the buffer from memory, makes DMA channels, and gives them to the firmware. The firmware gets the command from the request queue, packs it into a frame using FCP_CMNDIU, and transfers it through the fibre channel to the target.After receiving the frame, the target firmware parses the frame, copies the information to an ATIO2 (0x16), puts the ATIO2 into the response queue, and sets an in-terrupt. The HBA driver answers the interrupt, gets the ATIO2 from the response queue, and sends the SCSI command to the STML which handles the command and then sends back the information of the data, and the completion status. The HBA driver of the FC target builds the DMA channels, packs the channels’ address and length into the new CTIOs (0x17) and puts them into the request queue. The data length determines the number of CTIOs. The firmware brings these CTIOs out of the request queue, gets data from the memory through the DMA channels, packs the data into frames using FCP_DATAIU, and sends these frames to the initiator. When all the data are sent, the firmware sends completion information by a CTIO using FCP_RSPIU to the initiator, and gives a CTIO with completion infor-mation to the driver. The target has completed all the steps of this command.When the initiator receives the data, the firmware uses the address information to save the data in memory and packs the completion information into a Status_entry (0x03), which is sent to the HBA driver. The driver closes the resources occupied by the command to complete the command process in the FC layer.3.2 Write commandsThe STML in the target handles write commands and sends back only information about the blank buffers to the HBA driver. When the target firmware receives CTIOs with the information, the firmware first sends a frame with FCP_XFER_RDY_IU to notify the initiator that the buffers are ready.The initiator receives the frame, packs the data writ-ten into frames using FCP_DATAIU, and sends the frames to the target.When the data are received, the target firmware uses the buffer addresses to store the data into memory. Af-ter all the data are received, the firmware packs the data completion information into a CTIO (0x17) and sends the data completion information to the STML through the interface. The STML sends back the com-pletion status which was packed into a frame using FCP_RSPIU by the firmware and sent to the initiator. The remaining steps are then the same as the read command process.4 Application and Evaluation4.1 MSNS applicationA mass storage network system (MSNS) was developed using the SCSI-SAN architecture. The maximum storage capacity was 158 TB. The I/O controller used a high-efficiency embedded operating system (EOS). The MSNS storage devices were high-density disk arrays, connected to the PCI bus of the I/O controller by a SCSI-RAID card.The MSNS architecture is shown in Fig. 7. The hardware consists of four parts: 1) The server node is the host that will connect to the storage and serve as an initiator. The FC HBA in the server node works in the FC initiator mode. 2) The fabric is the FC network to transfer commands and data. 3) The console manages the whole storage system and works with the FC HBA through the virtual file system, PROC, using the IP network. 4) The I/O process node is the I/O controller, which includes the storage devices, so it is the target. The FC HBA in the I/O controller works in the FC target mode.Tsinghua Science and Technology , February 2005, 10(1): 115–121120Fig. 7 Architecture of MSNS4.2 EvaluationThe system effectiveness was tested with IOMETER. The I/O processing node had a Seagate 14×143 GB disk array, 1 GB memory and two Intel Xeon 2 GHz CPUs. The EOS kernel code was Linux 2.4.18-5. The FC HBA in the initiators was an Emulex LP9802 and in the targets was a Qlogic QLA2310F. There were six server nodes that connected to the storage devices in parallel.The test results are compared in Fig. 8. The tests measured the performance for internal stripe unit sizes of 16 KB, 32 KB, 64 KB, 128 KB, and 256 KB. The system had approximately 145 MB/s throughput for the read requests and 165 MB/s throughput for the write requests, so 80% of the FC bandwidth was used in the write requests and 70% was used in the read re-quests. The throughput for the read requests was less than for the write requests. The IOMETER cannot generate read requests alone but always sends them with write requests, otherwise, there is nothing to read on the disk.Fig. 8 Performance of sequential read/writeThe Brocade SilkWorm 3200 switch can be used to record another performance parameter, which gives the average performance for each port every five seconds.When the IOMETER working, the maximum perform-ance recorded by the switch can be regarded as thepeak I/O rate, shown in Fig. 9.Fig. 9 Peak performance of sequential read/writeNamgoong [10] designed an FC network driver for SAN-attached RAID controllers with a 100-MB/s bandwidth. He summarized how to exchange messages between the target mode driver and the firmware and emphasized the exception handlings in the initiator mode. The current design separates operations in initiator and target modes, so the read and write commands are distinguished. Therefore, the current system could use more effective and succinct functions, and safer locking mechanisms and multi-threading to enable the fibre channel to work at 200 MB/s. The exception handling in the target mode included a time-out check for the target, command delay and data congestion control. The target driver working in MSNS was an efficient, mature production.5 ConclusionsA fibre channel network driver was designed and implemented for the target mode in a SAN on a Linux operating system. The paper describes the target and initiator mode operations and the SCSI commands execution in the FC layer. The performance test resultsWU Hao (吴昊) et al:Design and Implementation of a Fibre Channel Target Driver (121)show that the maximum I/O throughput reachs 167 MB/s for read requests and 196 MB/s for write requests (FC bandwidth is 200 MB/s), verifying that the FC target is very efficient. The modularization, efficiency, and low cost of the FC target will enable SAN and fibre channel to be more widely used in applications.References[1] Farley M. Building Storage Area Networks. New York,McGraw-Hill, 2000: 10-34.[2] Intel Corporation. /technology/ infini-band.[3] Voruganti K, Sarkar P. An analysis of three gigabit net-working protocols for storage area networks. In: 20th IEEE International Performance, Computing, and Communica-tions Conference. IEEE 0-7803-7001-5/01. 2001: 259-265.[4] Schmidt F. The SCSI Bus & IDE Interface Protocols, Ap-plications & Programming. Addison Wesley Longman, 1998: 113-116.[5] IBM Corporation. /disk/fastt/fast 900. [6] EMC Corporation. /products/systems/clariion_ cx600.jsp.[7] QLogic Corporation. /products/fc_ san_ hostadapers.asp.[8] Emulex Corporation. /products/fc/index.html.[9] Palekar A.Design and implementation of a Linux SCSItarget for Storage area networks. In: Proceedings of the 5th Annual Linux Showcase & Conference.Oakland, California, USA, 2001.[10] N amgoong J C. Design and implementation of a fibrechannel network driver for SAN-attached RAID control-lers. In: 8th International Conference on Parallel and Dis-tributed Systems. IEEE Computer Society, IEEE 0-7695-1153-8/01. 2001: 477-483.[11] I nformation Technology—Fibre Channel Protocol forSCSI, Second Version (FCP-2), T10 Project 144D Revi-sion 7a. November 1, 2001.[12] F ibre Channel Generic Services - 4(FC-GS-4), T11/Project1505. September 9, 2002.A Collaborative Project Between Tsinghua and Impregilo Company LaunchedA signing ceremony between Tsinghua University and Italian Impregilo Company over the project of an environ-mentally-friendly and energy saving building was held in the Main Building on December 7, 2004.Tsinghua University President Gu Binglin, Mr. Shi Dinghuan, the general secretary of the Ministry of Science and Technology, China, Mr. Matteoli, minister of Italian Ministry of Environment and Territory, Mr. Romiti, President of the Impregilo Company attended and gave the brief remarks at the ceremony. They all spoke highly of the launch of this project which is expected to ultimately bring far-reaching impacts on relations between these two nations.After the meeting, as the representatives of two sides, Tsinghua University Vice President Cen Zhangzhi and Mr. Romiti signed the contract. The project is the largest cooperative project between the Ministry of Science and Tech-nology, China, and the Ministry of Environment and Land of Italy.The Building is expected to be an intelligentized energy-saving and environment-protecting research building. It will inosculate traditional and modern architecture style and use the most advanced technology to show its superior-ity of energy saving.Reported by Li Yifu & Jiao Huiru(From )。